From ce3fdc0c03abff5ce03ad76b72ba0b70fefc7e61 Mon Sep 17 00:00:00 2001 From: pmariglia Date: Mon, 1 Apr 2024 12:19:23 -0400 Subject: [PATCH] Small Refactor --- .github/workflows/{pythonapp.yml => ci.yml} | 15 +- .gitignore | 2 + Dockerfile | 38 +- ENGINE.md | 226 - Makefile | 43 + README.md | 131 +- config.py | 46 +- constants.py | 358 +- data/__init__.py | 13 +- data/helpers.py | 197 - data/mods/apply_mods.py | 47 +- data/mods/gen1_pokedex_mods.json | 1518 + data/mods/gen6_pokedex_mods.json | 105 - data/mods/random_battle_sets_gen7.json | 41467 ------------- data/moves.json | 2 +- data/parse_smogon_stats.py | 113 - data/pkmn_sets.py | 728 + data/pkmn_sets/gen1randombattle.json | 759 + data/pkmn_sets/gen2randombattle.json | 861 + data/pkmn_sets/gen3randombattle.json | 1717 + data/pkmn_sets/gen4ou.json | 5265 ++ data/pkmn_sets/gen4randombattle.json | 298 + data/pkmn_sets/gen5ou.json | 4966 ++ data/pkmn_sets/gen5randombattle.json | 391 + data/pkmn_sets/gen6ou.json | 3 + data/pkmn_sets/gen6randombattle.json | 485 + data/pkmn_sets/gen7ou.json | 3 + data/pkmn_sets/gen7randombattle.json | 577 + data/pkmn_sets/gen8ou.json | 3 + data/pkmn_sets/gen8randombattle.json | 459 + data/pkmn_sets/gen9battlefactory.json | 4467 ++ data/pkmn_sets/gen9ou.json | 3 + data/pkmn_sets/gen9randombattle.json | 509 + data/pokedex.json | 51216 ++++++++-------- data/random_battle_sets.json | 26752 -------- data/scripts/parse_random_battle_raw_sets.py | 78 +- data/scripts/update_moves.py | 37 +- data/scripts/update_pokedex.py | 12 +- data/team_datasets.json | 6087 -- data/team_datasets.py | 162 - env | 6 +- {showdown => fp}/__init__.py | 0 fp/battle.py | 687 + {showdown => fp}/battle_bots/__init__.py | 0 fp/battle_bots/helpers.py | 193 + .../battle_bots/mcts}/__init__.py | 0 fp/battle_bots/mcts/main.py | 52 + .../battle_bots/minimax}/__init__.py | 0 fp/battle_bots/minimax/main.py | 51 + fp/battle_bots/poke_engine_helpers.py | 381 + fp/battle_modifier.py | 2439 + fp/helpers.py | 269 + fp/run_battle.py | 268 + {showdown => fp}/websocket_client.py | 79 +- requirements-dev.txt | 3 + requirements-docker.txt | 3 - requirements.txt | 5 +- run.py | 65 +- showdown/battle.py | 757 - showdown/battle_bots/helpers.py | 128 - showdown/battle_bots/most_damage/main.py | 39 - showdown/battle_bots/nash_equilibrium/main.py | 193 - showdown/battle_bots/safest/__init__.py | 0 showdown/battle_bots/safest/main.py | 14 - .../battle_bots/team_datasets/__init__.py | 0 showdown/battle_bots/team_datasets/main.py | 102 - showdown/battle_modifier.py | 1256 - showdown/engine/__init__.py | 20 - showdown/engine/damage_calculator.py | 473 - showdown/engine/evaluate.py | 144 - showdown/engine/find_state_instructions.py | 497 - showdown/engine/helpers.py | 212 - showdown/engine/instruction_generator.py | 1382 - showdown/engine/objects.py | 749 - showdown/engine/select_best_move.py | 136 - showdown/engine/special_effects/__init__.py | 0 .../special_effects/abilities/__init__.py | 0 .../special_effects/abilities/before_move.py | 75 - .../special_effects/abilities/end_of_turn.py | 81 - .../abilities/modify_attack_against.py | 600 - .../abilities/modify_attack_being_used.py | 453 - .../special_effects/abilities/on_switch_in.py | 206 - .../engine/special_effects/items/__init__.py | 0 .../special_effects/items/end_of_turn.py | 48 - .../items/modify_attack_against.py | 67 - .../items/modify_attack_being_used.py | 230 - .../special_effects/items/on_switch_in.py | 50 - .../engine/special_effects/moves/__init__.py | 0 .../special_effects/moves/after_move.py | 67 - .../special_effects/moves/modify_move.py | 733 - .../moves/move_special_effect.py | 101 - showdown/engine/switch_out_moves.py | 29 - showdown/run_battle.py | 197 - teams/__init__.py | 2 +- teams/load_team.py | 6 +- teams/team_converter.py | 101 +- tests/test_battle.py | 1439 +- tests/test_battle_mechanics.py | 14076 ----- tests/test_battle_modifiers.py | 4406 +- tests/test_damage_calculator.py | 411 - tests/test_decide.py | 167 - tests/test_helpers.py | 195 +- tests/test_initialize_battler.py | 1097 +- tests/test_instruction_generator.py | 3432 -- tests/test_items.py | 167 - tests/test_move_special_effects.py | 38 - tests/test_parse_smogon_stats.py | 34 - tests/test_pkmn_sets.py | 97 + tests/test_select_best_move.py | 531 - tests/test_state.py | 70 - tests/test_state_mutator.py | 864 - tests/test_team_converter.py | 172 +- tests/test_team_datasets.py | 400 - 113 files changed, 58161 insertions(+), 133243 deletions(-) rename .github/workflows/{pythonapp.yml => ci.yml} (54%) delete mode 100644 ENGINE.md create mode 100644 Makefile delete mode 100644 data/helpers.py create mode 100644 data/mods/gen1_pokedex_mods.json delete mode 100644 data/mods/random_battle_sets_gen7.json delete mode 100644 data/parse_smogon_stats.py create mode 100644 data/pkmn_sets.py create mode 100644 data/pkmn_sets/gen1randombattle.json create mode 100644 data/pkmn_sets/gen2randombattle.json create mode 100644 data/pkmn_sets/gen3randombattle.json create mode 100644 data/pkmn_sets/gen4ou.json create mode 100644 data/pkmn_sets/gen4randombattle.json create mode 100644 data/pkmn_sets/gen5ou.json create mode 100644 data/pkmn_sets/gen5randombattle.json create mode 100644 data/pkmn_sets/gen6ou.json create mode 100644 data/pkmn_sets/gen6randombattle.json create mode 100644 data/pkmn_sets/gen7ou.json create mode 100644 data/pkmn_sets/gen7randombattle.json create mode 100644 data/pkmn_sets/gen8ou.json create mode 100644 data/pkmn_sets/gen8randombattle.json create mode 100644 data/pkmn_sets/gen9battlefactory.json create mode 100644 data/pkmn_sets/gen9ou.json create mode 100644 data/pkmn_sets/gen9randombattle.json delete mode 100644 data/random_battle_sets.json delete mode 100644 data/team_datasets.json delete mode 100644 data/team_datasets.py rename {showdown => fp}/__init__.py (100%) create mode 100644 fp/battle.py rename {showdown => fp}/battle_bots/__init__.py (100%) create mode 100644 fp/battle_bots/helpers.py rename {showdown/battle_bots/most_damage => fp/battle_bots/mcts}/__init__.py (100%) create mode 100644 fp/battle_bots/mcts/main.py rename {showdown/battle_bots/nash_equilibrium => fp/battle_bots/minimax}/__init__.py (100%) create mode 100644 fp/battle_bots/minimax/main.py create mode 100644 fp/battle_bots/poke_engine_helpers.py create mode 100644 fp/battle_modifier.py create mode 100644 fp/helpers.py create mode 100644 fp/run_battle.py rename {showdown => fp}/websocket_client.py (67%) create mode 100644 requirements-dev.txt delete mode 100644 requirements-docker.txt delete mode 100644 showdown/battle.py delete mode 100644 showdown/battle_bots/helpers.py delete mode 100644 showdown/battle_bots/most_damage/main.py delete mode 100644 showdown/battle_bots/nash_equilibrium/main.py delete mode 100644 showdown/battle_bots/safest/__init__.py delete mode 100644 showdown/battle_bots/safest/main.py delete mode 100644 showdown/battle_bots/team_datasets/__init__.py delete mode 100644 showdown/battle_bots/team_datasets/main.py delete mode 100644 showdown/battle_modifier.py delete mode 100644 showdown/engine/__init__.py delete mode 100644 showdown/engine/damage_calculator.py delete mode 100644 showdown/engine/evaluate.py delete mode 100644 showdown/engine/find_state_instructions.py delete mode 100644 showdown/engine/helpers.py delete mode 100644 showdown/engine/instruction_generator.py delete mode 100644 showdown/engine/objects.py delete mode 100644 showdown/engine/select_best_move.py delete mode 100644 showdown/engine/special_effects/__init__.py delete mode 100644 showdown/engine/special_effects/abilities/__init__.py delete mode 100644 showdown/engine/special_effects/abilities/before_move.py delete mode 100644 showdown/engine/special_effects/abilities/end_of_turn.py delete mode 100644 showdown/engine/special_effects/abilities/modify_attack_against.py delete mode 100644 showdown/engine/special_effects/abilities/modify_attack_being_used.py delete mode 100644 showdown/engine/special_effects/abilities/on_switch_in.py delete mode 100644 showdown/engine/special_effects/items/__init__.py delete mode 100644 showdown/engine/special_effects/items/end_of_turn.py delete mode 100644 showdown/engine/special_effects/items/modify_attack_against.py delete mode 100644 showdown/engine/special_effects/items/modify_attack_being_used.py delete mode 100644 showdown/engine/special_effects/items/on_switch_in.py delete mode 100644 showdown/engine/special_effects/moves/__init__.py delete mode 100644 showdown/engine/special_effects/moves/after_move.py delete mode 100644 showdown/engine/special_effects/moves/modify_move.py delete mode 100644 showdown/engine/special_effects/moves/move_special_effect.py delete mode 100644 showdown/engine/switch_out_moves.py delete mode 100644 showdown/run_battle.py delete mode 100644 tests/test_battle_mechanics.py delete mode 100644 tests/test_damage_calculator.py delete mode 100644 tests/test_decide.py delete mode 100644 tests/test_instruction_generator.py delete mode 100644 tests/test_items.py delete mode 100644 tests/test_move_special_effects.py delete mode 100644 tests/test_parse_smogon_stats.py create mode 100644 tests/test_pkmn_sets.py delete mode 100644 tests/test_select_best_move.py delete mode 100644 tests/test_state.py delete mode 100644 tests/test_state_mutator.py delete mode 100644 tests/test_team_datasets.py diff --git a/.github/workflows/pythonapp.yml b/.github/workflows/ci.yml similarity index 54% rename from .github/workflows/pythonapp.yml rename to .github/workflows/ci.yml index 7335617ed..83e0a08f5 100644 --- a/.github/workflows/pythonapp.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Python application +name: CI on: push: @@ -14,14 +14,15 @@ jobs: steps: - uses: actions/checkout@v1 - name: Set up Python - uses: actions/setup-python@v1 + - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt - pip install -r requirements-docker.txt - - name: Test with unittests + pip install -r requirements-dev.txt + - name: fmt, lint, & test run: | - python -m unittest discover -s tests -t . + ruff check + ruff format --check --diff + pytests tests diff --git a/.gitignore b/.gitignore index 8ab9eab17..98be04741 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ logs/ venv/ +dist/ .idea/ **/actual_states/* **/__pycache__/* @@ -8,3 +9,4 @@ creds *.txt suspect_decisions.py teams/teams +data/smogon_stats_cache diff --git a/Dockerfile b/Dockerfile index 4a56d3a71..c8cfd4248 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,33 @@ -FROM pmariglia/gambit-docker as debian-with-gambit +FROM rust:1.81-slim as build -FROM python:3.8-slim +RUN apt update && apt install -y python3.11 make build-essential python3.11-venv -COPY --from=debian-with-gambit /usr/local/bin/gambit-enummixed /usr/local/bin +COPY requirements.txt requirements.txt -WORKDIR /showdown +# Replace the poke-engine version in requirements.txt +# Matches and replaces `poke-engine/` followed by any non-space characters +ARG GEN +RUN if [ -n "$GEN" ]; then sed -i "s/poke-engine\/[^ ]*/poke-engine\/${GEN}/" requirements.txt; fi -COPY requirements.txt /showdown/requirements.txt -COPY requirements-docker.txt /showdown/requirements-docker.txt +RUN mkdir ./packages && \ + python3 -m venv venv && \ + . venv/bin/activate && \ + # pip24 is required for --config-settings + pip install --upgrade pip==24.2 && \ + pip install -v --target ./packages -r requirements.txt -RUN pip3 install -r requirements.txt -RUN pip3 install -r requirements-docker.txt +FROM python:3.11-slim -COPY config.py /showdown/config.py -COPY constants.py /showdown/constants.py -COPY data /showdown/data -COPY run.py /showdown/run.py -COPY showdown /showdown/showdown -COPY teams /showdown/teams +WORKDIR /foul-play + +COPY config.py /foul-play/config.py +COPY constants.py /foul-play/constants.py +COPY data /foul-play/data +COPY run.py /foul-play/run.py +COPY fp /foul-play/fp +COPY teams /foul-play/teams + +COPY --from=build /packages/ /usr/local/lib/python3.11/site-packages/ ENV PYTHONIOENCODING=utf-8 diff --git a/ENGINE.md b/ENGINE.md deleted file mode 100644 index a686c2952..000000000 --- a/ENGINE.md +++ /dev/null @@ -1,226 +0,0 @@ -# Battle-Engine -This project contains a Pokemon battle engine for single battles. - -It can be used to determine the different types of transpositions a pair of moves will result in. - -### This is not a perfect Pokemon Battle Engine! -This battle engine is meant to capture important aspects of Pokemon for the purposes of competitive single battles. -It is nowhere near as complete or robust as the [PokemonShowdown](https://github.com/smogon/pokemon-showdown) battle engine. - -This code is always being improved and pull requests are very much welcome! - -## Using the Battle Engine -The battle engine operates using State, Side, and Pokemon objects. - -Note that any string values used within the engine (pokemon names, move names, ability names, item names, etc) must be stripped of spaces/special characters. - -To convert values you can use the `normalize_name` function -```python ->>> from showdown.engine.helpers import normalize_name ->>> normalize_name('Pikachu') -'pikachu' ->>> normalize_name('Choice Scarf') -'choicescarf' ->>> normalize_name('Giratina-Origin') -'giratinaorigin' ->>> normalize_name('Flabébé') -'flabebe' -``` - -### The Pokemon Object - -```python -from showdown.engine import Pokemon -pokemon = Pokemon( - # mandatory upon initialization - identifier='pikachu', - level=100, - types=['electric'], - hp=100, - maxhp=100, - ability='static', - item='lightball', - attack=100, - defense=100, - special_attack=100, - special_defense=100, - speed=100, - - # the remaining attributes are optional and have default values if not specified - - # nature is a string, evs are a tuple - nature="serious", - evs=(85,) * 6, - - # boosts: integer value between -6 and 6 - attack_boost=0, - defense_boost=0, - special_attack_boost=0, - special_defense_boost=0, - speed_boost=0, - accuracy_boost=0, - evasion_boost=0, - - # status: or None - status=None, - - # volatile_status: - volatile_status=set(), - - # moves: of - moves=[ - {'id': 'volttackle', 'disabled': False, 'current_pp': 8}, - ] -) -``` - -### The Side Object -This object represents one side of battle. -It contains an `active` Pokemon , a dictionary of `reserve` Pokemon, and a dictionary of `side_conditions` - -```python -from showdown.engine import Side -from showdown.engine import Pokemon -side = Side( - active=Pokemon(...), - reserve={ - 'caterpie': Pokemon(...), - 'pidgey': Pokemon(...), - ... - }, - wish=(0, 0), - side_conditions={ - 'stealth_rock': 1, - 'spikes': 3, - 'toxic_spikes': 2, - 'tailwind': 1 - }, - future_sight=(0, 0) -) -``` - -### The State Object -This object represents the entire battle. - -```python -from showdown.engine import State -from showdown.engine import Side -state = State( - user=Side(...), - opponent=Side(...), - weather='sunnyday', - field='electricterrain', - trick_room=False -) -``` - - -## The StateMutator and Generating Instructions -The primary feature of this battle engine is the ability to generate and apply instructions. - -### Applying and Reversing Instructions - -Instructions are a list of tuples. They can be applied and reversed to mutate the state. -```python -from showdown.engine import State -from showdown.engine import StateMutator - -state = State(...) # initialize your state - -state.user.active.hp = 100 -print(state.user.active.hp) # prints '100' - -mutator = StateMutator(state) - -instructions = [ - ('damage', 'user', 1) -] - -mutator.apply(instructions) -print(state.user.active.hp) # prints '99' - -mutator.reverse(instructions) -print(state.user.active.hp) # prints '100' -``` - -### Generating Instructions from a Pair of Moves - -Instructions can be generated from a state if a pair of moves are provided. - -The generated instructions will represent all possible paths the battle could take given the randomness of the moves. - -Calling `get_all_state_instructions` will generate a list of TransposeInstruction objects, -each of which contains a list of instructions, as well as a likelihood (percentage) of its occurrence - -#### Some Examples - -Keep in mind that these are arbitrary examples, and the State generation is skipped for brevity. -Obviously, changes to the state will affect the generated instructions - -Example: tackle being used by both combatants -```python ->> from showdown.engine import State ->> from showdown.engine import StateMutator ->> from showdown.engine import get_all_state_instructions - ->> state = State(...) # initialize your state - ->> mutator = StateMutator(state) ->> my_move = 'tackle' ->> your_move = 'tackle' - ->> transpose_instructions = get_all_state_instructions(mutator, my_move, your_move) - ->> len(transpose_instructions) ->> 1 # no randomness here - ->> first_instruction = transpose_instructions[0] - ->> print(first_instruction.percentage) ->> 1.0 # 100% chance of happening - ->> print(first_instruction.instructions) ->> [('damage', 'user', 15), ('damage', 'opponent', 15)] -``` - -Example: thunderbolt being used by both combatants -```python ->> from showdown.engine import State ->> from showdown.engine import StateMutator ->> from showdown.engine import get_all_state_instructions - ->> state = State(...) # initialize your state ->> mutator = StateMutator(state) - ->> my_move = 'thunderbolt' ->> your_move = 'thunderbolt' - ->> transpose_instructions = get_all_state_instructions(mutator, my_move, your_move) - -# randomness with secondary effects (paralysis in this case) means there are 5 different sets of instructions that could happen here ->> len(transpose_instructions) ->> 5 - ->> first_instruction = transpose_instructions[0] - -# The first instruction is when both thunderbolts paralyze -# it has a 0.75 % chance of happening ->> print(first_instruction.percentage) ->> 0.0075000000000000015 ->> print(first_instruction.instructions) ->> [('damage', 'opponent', 45), ('apply_status', 'opponent', 'par'), ('damage', 'user', 45), ('apply_status', 'user', 'par')] - -# Looking at another instruction -# this one is when the first thunderbolt paralyzes, and the other pokemon is fully-paralyzed and does not move -# it has a 2.5% chance of happening ->> another_instruction = transpose_instructions[2] ->> print(another_instruction.percentage) ->> 0.025 ->> print(another_instruction.instructions) ->> [('damage', 'opponent', 45), ('apply_status', 'opponent', 'par')] -``` - -Notice that damage calculations are constant per move. This is done for simplicity - the default behaviour is that only the average damage amount is used. -This behaviour can be changed by setting a global configuration value. - -Obviously, if this is done then the number of instructions generated will become very large even for simple pairs of moves diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..ab4e603a7 --- /dev/null +++ b/Makefile @@ -0,0 +1,43 @@ +docker: + docker build . -t foul-play:latest --build-arg GEN=$(GEN) + +clean_logs: + rm logs/* + +test: + pytest tests + +fmt: + ruff format + +lint: + ruff check --fix + +# Used to install poke-engine for specific generations +# This assumes that the poke-engine project is in the same directory as foul-play +gen1: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen1 --no-default-features" + +gen2: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen2 --no-default-features" + +gen3: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen3 --no-default-features" + +gen4: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen4 --no-default-features" + +gen5: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen5 --no-default-features" + +gen6: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen6 --no-default-features" + +gen7: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen7 --no-default-features" + +gen8: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/gen8 --no-default-features" + +gen9: + pip uninstall -y poke-engine && pip install -v --force-reinstall --no-cache-dir ../poke-engine/poke-engine-py --config-settings="build-args=--features poke-engine/terastallization --no-default-features" diff --git a/README.md b/README.md index d4c57b167..7e0c0823f 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,53 @@ -# Showdown ![umbreon](https://play.pokemonshowdown.com/sprites/xyani/umbreon.gif) +# Foul Play ![umbreon](https://play.pokemonshowdown.com/sprites/xyani/umbreon.gif) A Pokémon battle-bot that can play battles on [Pokemon Showdown](https://pokemonshowdown.com/). -The bot can play single battles in generations 3 through 8. +Foul Play can play single battles in all generations, +though currently mega-evolutions and z-moves are not supported. -![badge](https://github.com/pmariglia/showdown/actions/workflows/pythonapp.yml/badge.svg) +![badge](https://github.com/pmariglia/foul-play/actions/workflows/pythonapp.yml/badge.svg) ## Python version -Developed and tested using Python 3.8. +Requires Python 3.10+. ## Getting Started ### Configuration Environment variables are used for configuration. You may either set these in your environment before running, -or populate them in the [env](https://github.com/pmariglia/showdown/blob/master/env) file. +or populate them in the [env](https://github.com/pmariglia/foul-play/blob/master/env) file. The configurations available are: -| Config Name | Type | Required | Description | -|---|:---:|:---:|---| -| **`BATTLE_BOT`** | string | yes | The BattleBot module to use. More on this below in the Battle Bots section | -| **`WEBSOCKET_URI`** | string | yes | The address to use to connect to the Pokemon Showdown websocket | -| **`PS_USERNAME`** | string | yes | Pokemon Showdown username | -| **`PS_PASSWORD`** | string | yes | Pokemon Showdown password | -| **`BOT_MODE`** | string | yes | The mode the the bot will operate in. Options are `CHALLENGE_USER`, `SEARCH_LADDER`, or `ACCEPT_CHALLENGE` | -| **`POKEMON_MODE`** | string | yes | The type of game this bot will play: `gen8ou`, `gen7randombattle`, etc. | -| **`USER_TO_CHALLENGE`** | string | only if `BOT_MODE` is `CHALLENGE_USER` | If `BOT_MODE` is `CHALLENGE_USER`, this is the name of the user you want your bot to challenge | -| **`RUN_COUNT`** | int | no | The number of games the bot will play before quitting | -| **`TEAM_NAME`** | string | no | The name of the file that contains the team you want to use. More on this below in the Specifying Teams section. | -| **`ROOM_NAME`** | string | no | If `BOT_MODE` is `ACCEPT_CHALLENGE`, the bot will join this chatroom while waiting for a challenge. | -| **`SAVE_REPLAY`** | boolean | no | Specifies whether or not to save replays of the battles (`True` / `False`) | -| **`LOG_LEVEL`** | string | no | The Python logging level (`DEBUG`, `INFO`, etc.) | - -### Running without Docker +| Config Name | Type | Required | Description | +|-------------------------|:-------:|:--------------------------------------:|--------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **`BATTLE_BOT`** | string | yes | The BattleBot to use. More on this below in the Battle Bots section | +| **`WEBSOCKET_URI`** | string | yes | The address to use to connect to the Pokemon Showdown websocket | +| **`PS_USERNAME`** | string | yes | Pokemon Showdown username | +| **`PS_PASSWORD`** | string | yes | Pokemon Showdown password | +| **`BOT_MODE`** | string | yes | What to do after logging-in. Options are:
- `CHALLENGE_USER`
- `SEARCH_LADDER`
- `ACCEPT_CHALLENGE` | +| **`POKEMON_MODE`** | string | yes | The type of game this bot will play: `gen8ou`, `gen7randombattle`, etc. | +| **`USER_TO_CHALLENGE`** | string | only if `BOT_MODE` is `CHALLENGE_USER` | If `BOT_MODE` is `CHALLENGE_USER`, this is the name of the user to challenge | +| **`RUN_COUNT`** | int | no | The number of games to play before quitting | +| **`SEARCH_TIME_MS`** | int | no | The amount of time to spend looking for a move in milliseconds. This applies to monte-carlo search, as well as expectiminimax when using iterative-deepening | +| **`TEAM_NAME`** | string | no | The name of the file that contains the team you want to use. More on this below in the Specifying Teams section. | +| **`ROOM_NAME`** | string | no | If `BOT_MODE` is `ACCEPT_CHALLENGE`, join this chatroom while waiting for a challenge. | +| **`SAVE_REPLAY`** | boolean | no | Whether or not to save replays of the battles (`True` / `False`) | +| **`LOG_LEVEL`** | string | no | The Python logging level for stdout logs (`DEBUG`, `INFO`, etc.) | +| **`LOG_TO_FILE`** | string | no | If `True` then `DEBUG` logs are written to a file in `./logs` regardless of what `LOG_LEVEL` is set to. A new file is created per battle | + +### Running Locally **1. Clone** -Clone the repository with `git clone https://github.com/pmariglia/showdown.git` +Clone the repository with `git clone https://github.com/pmariglia/foul-play.git` **2. Install Requirements** Install the requirements with `pip install -r requirements.txt`. -**3. Configure your [env](https://github.com/pmariglia/showdown/blob/master/env) file** +Note: Requires Rust to be installed on your machine to build the engine. + +**3. Configure your [env](https://github.com/pmariglia/foul-play/blob/master/env) file** Here is a sample: ``` @@ -60,78 +65,52 @@ RUN_COUNT=1 Run with `python run.py` ### Running with Docker -This requires Docker 17.06 or higher. **1. Clone the repository** -`git clone https://github.com/pmariglia/showdown.git` +`git clone https://github.com/pmariglia/foul-play.git` **2. Build the Docker image** -`docker build . -t showdown` - -**3. Run with an environment variable file** - -`docker run --env-file env showdown` - -## Battle Bots - -This project has a few different battle bot implementations. -Each of these battle bots use a different method to determine which move to use. - -### Safest -use `BATTLE_BOT=safest` - -The bot searches through the game-tree for two turns and selects the move that minimizes the possible loss for a turn. - -For decisions with random outcomes a weighted average is taken for all possible end states. -For example: If using draco meteor versus some arbitrary other move results in a score of 1000 if it hits (90%) and a score of 900 if it misses (10%), the overall score for using -draco meteor is (0.9 * 1000) + (0.1 * 900) = 990. - -This is equivalent to the [Expectiminimax](https://en.wikipedia.org/wiki/Expectiminimax) strategy. - -This decision type is deterministic - the bot will always make the same move given the same situation again. - -### Nash-Equilibrium (experimental) -use `BATTLE_BOT=nash_equilibrium` - -Using the information it has, plus some assumptions about the opponent, the bot will attempt to calculate the [Nash-Equilibrium](https://en.wikipedia.org/wiki/Nash_equilibrium) with the highest payoff -and select a move from that distribution. - -The Nash Equilibrium is calculated using command-line tools provided by the [Gambit](http://www.gambit-project.org/) project. -This decision method should only be used when running with Docker and will fail otherwise. +Use the `Makefile` to build a Docker image +```shell +make docker +``` -This decision method is **not** deterministic. The bot **may** make a different move if presented with the same situation again. +or for a specific generation: +```shell +make docker GEN=gen5 +``` -### Team Datasets (experimental) +**3. Run with an environment variable file** +`docker run --env-file env foul-play:latest` -use `BATTLE_BOT=team_datasets` +## Engine -Using a file of sets & teams, this battle-bot is meant to have a better -understanding of Pokeon sets that may appear. -Populate this dataset by editing `data/team_datasets.json`. +This project uses [poke-engine](https://github.com/pmariglia/poke-engine) to search through battles. +See [the engine docs](https://poke-engine.readthedocs.io/en/latest/) for more information. -Still uses the `safest` decision making method for picking a move, but in theory the knowledge of sets should -result in better decision making. +## Battle Bots -### Most Damage -use `BATTLE_BOT=most_damage` +The Battle Bot decides which algorithm to use to pick a move -Selects the move that will do the most damage to the opponent +### Monte-Carlo Tree Search +use `BATTLE_BOT=mcts` -Does not switch +Uses poke-engine to perform a +[monte-carlo tree search](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search) to determine the best move to make. -## Write your own bot -Create a package in [showdown/battle_bots](https://github.com/pmariglia/showdown/tree/master/showdown/battle_bots) with -a module named `main.py`. In this module, create a class named `BattleBot`, override the Battle class, -and implement your own `find_best_move` function. +### Expectiminimax +use `BATTLE_BOT=minimax` -Set the `BATTLE_BOT` environment variable to the name of your package and your function will be called each time PokemonShowdown prompts the bot for a move +Uses poke-engine to perform an +[expectiminimax search](https://en.wikipedia.org/wiki/Expectiminimax) and picks the move that minimizes the loss +for the turn. ## The Battle Engine -The bots in the project all use a Pokemon battle engine to determine all possible transpositions that may occur from a pair of moves. +This project uses [poke-engine](https://github.com/pmariglia/poke-engine) to simulate battles. -For more information, see [ENGINE.md](https://github.com/pmariglia/showdown/blob/master/ENGINE.md) +The engine must be built from source if installing locally so you must have rust installed on your machine. ## Specifying Teams You can specify teams by setting the `TEAM_NAME` environment variable. diff --git a/config.py b/config.py index 7f5c11ad0..7bc98f42f 100644 --- a/config.py +++ b/config.py @@ -2,7 +2,7 @@ import os import sys from logging.handlers import RotatingFileHandler -from typing import Union +from typing import Optional from environs import Env @@ -14,9 +14,8 @@ class CustomFormatter(logging.Formatter): def format(self, record): - record.module = "[{}]".format(record.module) - record.levelname = "[{}]".format(record.levelname) - return "{} {}".format(record.levelname.ljust(10), record.msg) + lvl = "{}".format(record.levelname) + return "{} {}".format(lvl.ljust(8), record.msg) class CustomRotatingFileHandler(RotatingFileHandler): @@ -28,6 +27,7 @@ def __init__(self, file_name, **kwargs): super().__init__("{}/{}".format(self.base_dir, file_name), **kwargs) def do_rollover(self, new_file_name): + new_file_name = new_file_name.replace("/", "_") self.baseFilename = "{}/{}".format(self.base_dir, new_file_name) self.doRollover() @@ -40,24 +40,29 @@ def init_logging(level, log_to_file): # Gets the root logger to set handlers/formatters logger = logging.getLogger() - logger.setLevel(level) - if log_to_file: - log_handler = CustomRotatingFileHandler("init.log") - else: - log_handler = logging.StreamHandler(sys.stdout) + logger.setLevel(logging.DEBUG) + stdout_handler = logging.StreamHandler(sys.stdout) + stdout_handler.setLevel(level) + stdout_handler.setFormatter(CustomFormatter()) + logger.addHandler(stdout_handler) + FoulPlayConfig.stdout_log_handler = stdout_handler - ShowdownConfig.log_handler = log_handler - log_handler.setFormatter(CustomFormatter()) - logger.addHandler(log_handler) + if log_to_file: + file_handler = CustomRotatingFileHandler("init.log") + file_handler.setLevel(logging.DEBUG) # file logs are always debug + file_handler.setFormatter(CustomFormatter()) + logger.addHandler(file_handler) + FoulPlayConfig.file_log_handler = file_handler -class _ShowdownConfig: +class _FoulPlayConfig: battle_bot_module: str websocket_uri: str username: str password: str bot_mode: str - pokemon_mode: str + pokemon_mode: str = "" + search_time_ms: int run_count: int team: str user_to_challenge: str @@ -66,7 +71,8 @@ class _ShowdownConfig: damage_calc_type: str log_level: str log_to_file: bool - log_handler: Union[CustomRotatingFileHandler, logging.StreamHandler] + stdout_log_handler: logging.StreamHandler + file_log_handler: Optional[CustomRotatingFileHandler] def configure(self): self.battle_bot_module = env("BATTLE_BOT") @@ -76,6 +82,8 @@ def configure(self): self.bot_mode = env("BOT_MODE") self.pokemon_mode = env("POKEMON_MODE") + self.search_time_ms = env.int("SEARCH_TIME_MS", 100) + self.run_count = env.int("RUN_COUNT", 1) self.team = env("TEAM_NAME", None) self.user_to_challenge = env("USER_TO_CHALLENGE", None) @@ -93,9 +101,9 @@ def validate_config(self): assert self.bot_mode in constants.BOT_MODES if self.bot_mode == constants.CHALLENGE_USER: - assert self.user_to_challenge is not None, ( - "If bot_mode is `CHALLENGE_USER, you must declare USER_TO_CHALLENGE" - ) + assert ( + self.user_to_challenge is not None + ), "If bot_mode is `CHALLENGE_USER, you must declare USER_TO_CHALLENGE" -ShowdownConfig = _ShowdownConfig() +FoulPlayConfig = _FoulPlayConfig() diff --git a/constants.py b/constants.py index 19d3eece1..a45186165 100644 --- a/constants.py +++ b/constants.py @@ -4,20 +4,16 @@ BOT_MODES = [CHALLENGE_USER, ACCEPT_CHALLENGE, SEARCH_LADDER] STANDARD_BATTLE = "standard_battle" +BATTLE_FACTORY = "battle_factory" RANDOM_BATTLE = "random_battle" -NO_TEAM_PREVIEW_GENS = { - "gen1", - "gen2", - "gen3", - "gen4" -} +NO_TEAM_PREVIEW_GENS = {"gen1", "gen2", "gen3", "gen4"} PICK_SAFEST = "safest" PICK_NASH_EQUILIBRIUM = "nash" START_STRING = "|start" -RQID = 'rqid' +RQID = "rqid" TEAM_PREVIEW_POKE = "poke" START_TEAM_PREVIEW = "clearpoke" @@ -27,54 +23,15 @@ COUNT = "count" SETS = "sets" -UNKNOWN_ITEM = "unknown_item" - -UNKOWN_POKEMON_FORMES = ['silvally', 'arceus', 'genesect', 'urshifu'] - -SMOGON_HAS_STATS_PAGE_SUFFIXES = ["ubers", "ou", "uu", "ru", "nu", "pu", "lc", "oublitz", "nationaldexbeta", "nationaldex", "monotype"] +UNKNOWN_ITEM = "unknownitem" # a lookup for the opponent's name given the bot's name # this has to do with the Pokemon-Showdown PROTOCOL -ID_LOOKUP = { - "p1": "p2", - "p2": "p1" -} +ID_LOOKUP = {"p1": "p2", "p2": "p1"} -# mutator strings -MUTATOR_SWITCH = "switch" -MUTATOR_APPLY_VOLATILE_STATUS = "apply_volatile_status" -MUTATOR_REMOVE_VOLATILE_STATUS = "remove_volatile_status" -MUTATOR_DAMAGE = "damage" -MUTATOR_HEAL = "heal" -MUTATOR_BOOST = "boost" -MUTATOR_UNBOOST = "unboost" -MUTATOR_APPLY_STATUS = "apply_status" -MUTATOR_REMOVE_STATUS = "remove_status" -MUTATOR_SIDE_START = "side_start" -MUTATOR_SIDE_END = "side_end" -MUTATOR_WISH_START = "wish_start" -MUTATOR_WISH_DECREMENT = "wish_decrement" -MUTATOR_FUTURESIGHT_START = "futuresight_start" -MUTATOR_FUTURESIGHT_DECREMENT = "futuresight_decrement" -MUTATOR_DISABLE_MOVE = "disable_move" -MUTATOR_ENABLE_MOVE = "enable_move" -MUTATOR_WEATHER_START = "weather_start" -MUTATOR_WEATHER_END = "weather_end" -MUTATOR_FIELD_START = "field_start" -MUTATOR_FIELD_END = "field_end" -MUTATOR_TOGGLE_TRICKROOM = "toggle_trickroom" -MUTATOR_CHANGE_TYPE = "change_type" -MUTATOR_CHANGE_ITEM = "change_item" -MUTATOR_CHANGE_STATS = "change_stats" - - -DAMAGE = 'damage' -HEAL = "heal" -HEAL_TARGET = "heal_target" - -FORCE_SWITCH = 'forceSwitch' -REVIVING = 'reviving' -WAIT = 'wait' +FORCE_SWITCH = "forceSwitch" +REVIVING = "reviving" +WAIT = "wait" TRAPPED = "trapped" MAYBE_TRAPPED = "maybeTrapped" ITEM = "item" @@ -82,27 +39,10 @@ CONDITION = "condition" DISABLED = "disabled" PP = "pp" -CURRENT_PP = 'current_pp' SELF = "self" -USER = "user" -NORMAL = 'normal' -OPPONENT = "opponent" -ALLY_SIDE = "allySide" -ALL_ADJACENT_FOES = "allAdjacentFoes" -FOESIDE = "foeSide" -ALL_ADJACENT = "allAdjacent" -ALL = "all" -RANDOM_NORMAL = "randomNormal" - -REFLECTABLE = "reflectable" -FLAGS = 'flags' - -MOVE_TARGET_SELF = [SELF, ALLY_SIDE, ALL] -MOVE_TARGET_OPPONENT = [NORMAL, OPPONENT, ALL_ADJACENT, ALL_ADJACENT_FOES, ALL, RANDOM_NORMAL] - -DO_NOTHING_MOVE = 'splash' +DO_NOTHING_MOVE = "splash" ID = "id" BASESTATS = "baseStats" @@ -128,11 +68,9 @@ TIME_LEFT = "Time left:" DETAILS = "details" IDENT = "ident" +TERA_TYPE = "teraType" -MEGA_EVOLVE_GENERATIONS = [ - "gen6", - "gen7" -] +MEGA_EVOLVE_GENERATIONS = ["gen6", "gen7"] CAN_MEGA_EVO = "canMegaEvo" CAN_ULTRA_BURST = "canUltraBurst" CAN_DYNAMAX = "canDynamax" @@ -145,15 +83,11 @@ ACTIVE = "active" RESERVE = "reserve" SIDE_CONDITIONS = "side_conditions" -LAST_USED_MOVE = "last_used_move" -WEATHER = "weather" -FIELD = "field" PRIORITY = "priority" STATS = "stats" MAXHP = "maxhp" BOOSTS = "boosts" -TARGET = "target" HITPOINTS = "hp" ATTACK = "attack" @@ -164,15 +98,7 @@ ACCURACY = "accuracy" EVASION = "evasion" -ATTACK_BOOST = "attack_boost" -DEFENSE_BOOST = "defense_boost" -SPECIAL_ATTACK_BOOST = "special_attack_boost" -SPECIAL_DEFENSE_BOOST = "special_defense_boost" -SPEED_BOOST = "speed_boost" -ACCURACY_BOOST = "accuracy_boost" -EVASION_BOOST = "evasion_boost" - -ABILITY = 'ability' +ABILITY = "ability" REQUEST_DICT_ABILITY = ABILITY MAX_BOOSTS = 6 @@ -184,25 +110,12 @@ "spd": SPECIAL_DEFENSE, "spe": SPEED, "accuracy": ACCURACY, - "evasion": EVASION + "evasion": EVASION, } -STAT_ABBREVIATION_REVERSE_LOOKUPS = { - ATTACK: "atk", - DEFENSE: "def", - SPECIAL_ATTACK: "spa", - SPECIAL_DEFENSE: "spd", - SPEED: "spe", - ACCURACY: "accuracy", - EVASION: "evasion" -} - -STAT_STRINGS = [ATTACK, DEFENSE, SPECIAL_ATTACK, SPECIAL_DEFENSE, SPEED] - -HIDDEN_POWER = 'hiddenpower' +HIDDEN_POWER = "hiddenpower" HIDDEN_POWER_TYPE_STRING_INDEX = -1 HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING = "60" -HIDDEN_POWER_RESERVE_MOVE_BASE_DAMAGE_STRING = "" FAINTED = "dead" @@ -212,30 +125,19 @@ DAMAGING_CATEGORIES = [PHYSICAL, SPECIAL] -CRASH = "crash" -RECOIL = "recoil" -DRAIN = "drain" -CONTACT = "contact" -CHARGE = "charge" -POWDER = "powder" -DRAG = "drag" -SOUND = "sound" - VOLATILE_STATUS = "volatileStatus" -SECONDARY = "secondary" -CHANCE = "chance" LOCKED_MOVE = "lockedmove" # Side-Effects -REFLECT = 'reflect' -LIGHT_SCREEN = 'lightscreen' -AURORA_VEIL = 'auroraveil' -SAFEGUARD = 'safeguard' -TAILWIND = 'tailwind' -STICKY_WEB = 'stickyweb' +REFLECT = "reflect" +LIGHT_SCREEN = "lightscreen" +AURORA_VEIL = "auroraveil" +SAFEGUARD = "safeguard" +TAILWIND = "tailwind" +STICKY_WEB = "stickyweb" WISH = "wish" FUTURE_SIGHT = "futuresight" -HEALING_WISH = 'healingwish' +HEALING_WISH = "healingwish" # weather RAIN = "raindance" @@ -243,91 +145,42 @@ SAND = "sandstorm" HAIL = "hail" SNOW = "snow" -ICE_WEATHER = "snow" DESOLATE_LAND = "desolateland" HEAVY_RAIN = "primordialsea" -IRREVERSIBLE_WEATHER = {DESOLATE_LAND, HEAVY_RAIN} HAIL_OR_SNOW = {HAIL, SNOW} -POKEMON_CANNOT_HAVE_ITEMS_REMOVED = { - 'kyogreprimal', - 'groudonprimal', - 'giratinaorigin', - 'zaciancrowned', - 'zamazentacrowned' -} - # Hazards -STEALTH_ROCK = 'stealthrock' -SPIKES = 'spikes' -TOXIC_SPIKES = 'toxicspikes' -COURT_CHANGE = 'courtchange' - -TYPECHANGE = 'typechange' -TYPE_CHANGE_ABILITIES = { - 'protean', - 'libero' -} +STEALTH_ROCK = "stealthrock" +SPIKES = "spikes" +TOXIC_SPIKES = "toxicspikes" -FIRST_TURN_MOVES = { - 'fakeout', - 'firstimpression' -} +TYPECHANGE = "typechange" -BOOST_RESET_MOVES = { - 'haze', - 'clearsmog' -} - -ABILITY_AFTER_MOVE = { - "static", - "flamebody" -} +FIRST_TURN_MOVES = {"fakeout", "firstimpression"} WEIGHT_BASED_MOVES = { - 'heavyslam', - 'heatcrash', - 'lowkick', - 'grassknot', + "heavyslam", + "heatcrash", + "lowkick", + "grassknot", } -SPEED_BASED_MOVES = { - 'gyroball', - 'electroball' -} +SPEED_BASED_MOVES = {"gyroball", "electroball"} COURT_CHANGE_SWAPS = { - 'spikes', - 'toxicspikes', - 'stealthrock', - 'stickyweb', - 'lightscreen', - 'reflect', - 'auroraveil', - 'tailwind' + "spikes", + "toxicspikes", + "stealthrock", + "stickyweb", + "lightscreen", + "reflect", + "auroraveil", + "tailwind", } -HAZARD_CLEARING_MOVES = ['rapidspin', 'defog', 'courtchange', 'mortalspin', 'tidyup'] - -SPIN_TIDYUP_CLEARS = [ - STEALTH_ROCK, - SPIKES, - TOXIC_SPIKES, - STICKY_WEB, -] - -DEFOG_CLEARS = [ - STEALTH_ROCK, - SPIKES, - TOXIC_SPIKES, - STICKY_WEB, - REFLECT, - LIGHT_SCREEN, - AURORA_VEIL -] - TRICK_ROOM = "trickroom" +GRAVITY = "gravity" TERRAIN = "terrain" ELECTRIC_TERRAIN = "electricterrain" @@ -336,10 +189,16 @@ PSYCHIC_TERRAIN = "psychicterrain" # switch-out moves -SWITCH_OUT_MOVES = {"uturn", "voltswitch", "partingshot", "teleport", 'flipturn', 'chillyreception'} +SWITCH_OUT_MOVES = { + "uturn", + "voltswitch", + "partingshot", + "teleport", + "flipturn", + "chillyreception", +} # volatile statuses -FLINCH = "flinch" CONFUSION = "confusion" LEECH_SEED = "leechseed" SUBSTITUTE = "substitute" @@ -351,8 +210,9 @@ SPIKY_SHIELD = "spikyshield" DYNAMAX = "dynamax" TERASTALLIZE = "terastallize" -PARTIALLY_TRAPPED = "partiallytrapped" -TRANSFORM = 'transform' +TRANSFORM = "transform" +YAWN = "yawn" +YAWN_SLEEP_THIS_TURN = "yawnsleepthisturn" PROTECT_VOLATILE_STATUSES = [PROTECT, BANEFUL_BUNKER, SPIKY_SHIELD, SILK_TRAP] @@ -366,108 +226,14 @@ TOXIC_COUNT = "toxic_count" NON_VOLATILE_STATUSES = {SLEEP, BURN, FROZEN, PARALYZED, POISON, TOXIC} -# chances to break out of non-volatile statuses -WAKE_UP_PERCENT = 0.33 -THAW_PERCENT = 0.20 -FULLY_PARALYZED_PERCENT = 0.25 - -THAW_IF_USES = {'scald', 'flamewheel', 'sacredfire', 'flareblitz', 'fusionflare', 'steameruption', 'scorchingsands'} -THAW_IF_HIT_BY = {'scald', 'steameruption', 'scorchingsands'} - -IMMUNE_TO_STAT_LOWERING_ABILITIES = { - 'clearbody', - 'whitesmoke', - 'fullmetalbody' -} - -IMMUNE_TO_STAT_LOWERING_ITEMS = { - "clearamulet" -} - -IMMUNE_TO_SLEEP_ABILITIES = {'insomnia', 'sweetveil', 'vitalspirit'} -IMMUNE_TO_BURN_ABILITIES = {'waterveil', 'waterbubble'} -IMMUNE_TO_FROZEN_ABILITIES = {'magmaarmor'} -IMMUNE_TO_POISON_ABILITIES = {'immunity', 'pastelveil'} -IMMUNE_TO_PARALYSIS_ABILITIES = {'limber'} - -ABILITIES_THAT_IGNORE_OTHER_ABILITIES = { - 'moldbreaker', - 'turboblaze', - 'teravolt' -} - -BYPASSABLE_ABILITIES = { - # gen8 (probably) - 'pastelveil', - 'iceface', - 'punkrock', - - # https://pokemondb.net/ability/mold-breaker - # https://pokemondb.net/ability/turboblaze - # https://pokemondb.net/ability/teravolt/ - 'aromaveil', - 'battlearmor', - 'bigpecks', - 'bulletproof', - 'clearbody', - 'contrary', - 'damp', - 'dazzling', - 'disguise', - 'dryskin', - 'filter', - 'flashfire', - 'flowergift', - 'flowerveil', - 'fluffy', - 'friendguard', - 'furcoat', - 'heatproof', - 'heavymetal', - 'hypercutter', - 'immunity', - 'innerfocus', - 'insomnia', - 'keeneye', - 'leafguard', - 'levitate', - 'lightmetal', - 'lightningrod', - 'limber', - 'magicbounce', - 'magmaarmor', - 'marvelscale', - 'motordrive', - 'multiscale', - 'oblivious', - 'overcoat', - 'owntempo', - 'queenlymajesty', - 'sandveil', - 'sapsipper', - 'shellarmor', - 'shielddust', - 'simple', - 'snowcloak', - 'solidrock', - 'soundproof', - 'stickyhold', - 'stormdrain', - 'sturdy', - 'suctioncups', - 'sweetveil', - 'tangledfeet', - 'telepathy', - 'thickfat', - 'unaware', - 'vitalspirit', - 'voltabsorb', - 'waterabsorb', - 'waterbubble', - 'waterveil', - 'whitesmoke', - 'wonderguard', - 'wonderskin' -} - -CHOICE_ITEMS = {'choicescarf', 'choiceband', 'choicespecs'} +IMMUNE_TO_POISON_ABILITIES = {"immunity", "pastelveil"} + +ASSAULT_VEST = "assaultvest" +HEAVY_DUTY_BOOTS = "heavydutyboots" +LEFTOVERS = "leftovers" +BLACK_SLUDGE = "blacksludge" +LIFE_ORB = "lifeorb" +CHOICE_SCARF = "choicescarf" +CHOICE_BAND = "choiceband" +CHOICE_SPECS = "choicespecs" +CHOICE_ITEMS = {CHOICE_BAND, CHOICE_SPECS, CHOICE_SCARF} diff --git a/data/__init__.py b/data/__init__.py index da1588c64..07a27b927 100644 --- a/data/__init__.py +++ b/data/__init__.py @@ -6,19 +6,12 @@ PWD = os.path.dirname(os.path.abspath(__file__)) -move_json_location = os.path.join(PWD, 'moves.json') +move_json_location = os.path.join(PWD, "moves.json") with open(move_json_location) as f: all_move_json = json.load(f) -pkmn_json_location = os.path.join(PWD, 'pokedex.json') -with open(pkmn_json_location, 'r') as f: +pkmn_json_location = os.path.join(PWD, "pokedex.json") +with open(pkmn_json_location, "r") as f: pokedex = json.loads(f.read()) -random_battle_set_location = os.path.join(PWD, 'random_battle_sets.json') -with open(random_battle_set_location, 'r') as f: - random_battle_sets = json.load(f) - - -pokemon_sets = random_battle_sets effectiveness = {} -team_datasets = None diff --git a/data/helpers.py b/data/helpers.py deleted file mode 100644 index fcd4672c7..000000000 --- a/data/helpers.py +++ /dev/null @@ -1,197 +0,0 @@ -import constants - -import data -from data import pokedex -from data.parse_smogon_stats import get_smogon_stats_file_name -from data.parse_smogon_stats import get_pokemon_information - -from data.parse_smogon_stats import MOVES_STRING -from data.parse_smogon_stats import SPREADS_STRING -from data.parse_smogon_stats import ABILITY_STRING -from data.parse_smogon_stats import ITEM_STRING - -import logging -logger = logging.getLogger(__name__) - - -# these items will either reveal themselves automatically, or do not have a meaningful impact to the bot -# therefore, we do not want to assign them to a pokemon as a guess -PASS_ITEMS = { - 'leftovers', - 'focussash', - 'blacksludge', - 'airballoon' -} - -# these abilities either reveal themselves automatically, or do not have a meaningful impact to the bot -# therefore, we do not want to assign them to a pokemon as a guess -PASS_ABILITIES = { - 'moldbreaker', - 'pressure', - 'trace', - 'download' -} - -MAX_STANDARD_BATTLE_MOVES = 6 - - -def get_pokemon_sets(pkmn): - try: - return data.pokemon_sets[pkmn] - except KeyError: - possible_names = [p for p in data.pokemon_sets if pkmn.startswith(p)] - if not possible_names: - raise KeyError - else: - new_name = possible_names[0] - logger.debug("{} not in the sets lookup, using {} instead".format(pkmn, new_name)) - return data.pokemon_sets[new_name] - - -def get_all_possible_moves_for_random_battle(pkmn_name, known_moves): - try: - sets = data.random_battle_sets[pkmn_name] - except KeyError: - logger.warning("{} not in the random-battle sets lookup".format(pkmn_name)) - return [] - - new_moves = list() - for key in sets[constants.SETS]: - this_set_moves = key.split('|') - if all(m in this_set_moves for m in known_moves): - for m in filter(lambda x: x not in new_moves + known_moves, this_set_moves): - new_moves.append(m) - - if not new_moves: - for m, _ in sets[constants.MOVES]: - if m not in known_moves: - new_moves.append(m) - - return new_moves - - -def get_most_likely_ability_for_random_battle(pkmn_name): - try: - sets = data.random_battle_sets[pkmn_name] - except KeyError: - logger.warning("{} not in the random-battle sets lookup".format(pkmn_name)) - return None - - abilities = sets[constants.ABILITIES] - if not abilities: - logger.warning("{} has no abilities in the random-battle lookup!") - return None - - best_ability = None - best_value = float('-inf') - for ability, value in sorted(abilities, key=lambda x: x[1], reverse=True): - if value > best_value and ability not in PASS_ABILITIES: - best_value = value - best_ability = ability - - return best_ability - - -def get_most_likely_item_for_random_battle(pkmn_name): - try: - sets = data.random_battle_sets[pkmn_name] - except KeyError: - logger.warning("{} not in the random-battle sets lookup".format(pkmn_name)) - return None - - best_item = None - best_value = float('-inf') - for item, value in sets[constants.ITEMS]: - if value > best_value and item not in PASS_ITEMS: - best_item = item - best_value = value - - return best_item - - -def get_all_likely_moves(pkmn_name, known_moves): - try: - sets = get_pokemon_sets(pkmn_name) - except KeyError: - logger.warning("{} not in the sets lookup".format(pkmn_name)) - return get_all_possible_moves_for_random_battle(pkmn_name, known_moves) - - new_move_count = MAX_STANDARD_BATTLE_MOVES - len(known_moves) - moves_added = 0 - new_moves = list() - for m in [mv[0] for mv in sets[MOVES_STRING]]: - if m not in known_moves: - new_moves.append(m) - moves_added += 1 - if moves_added == new_move_count: - return new_moves - - return new_moves - - -def get_most_likely_ability(pkmn_name): - try: - sets = get_pokemon_sets(pkmn_name) - except KeyError: - logger.warning("{} not in the sets lookup, using random battle abilities".format(pkmn_name)) - return get_most_likely_ability_for_random_battle(pkmn_name) - - return sets[ABILITY_STRING][0][0] - - -def get_most_likely_item(pkmn_name): - try: - sets = get_pokemon_sets(pkmn_name) - except KeyError: - logger.warning("{} not in the sets lookup, using random battle items".format(pkmn_name)) - return get_most_likely_item_for_random_battle(pkmn_name) - - for item in [i[0] for i in sets[ITEM_STRING]]: - if item not in PASS_ITEMS: - return item - else: - return None - - -def get_most_likely_spread(pkmn_name): - try: - sets = get_pokemon_sets(pkmn_name) - except KeyError: - logger.warning("{} not in the sets lookup".format(pkmn_name)) - return 'serious', "85,85,85,85,85,85", 0 - - return sets[SPREADS_STRING][0] - - -def get_standard_battle_sets(battle_mode, pokemon_names=None): - if any(battle_mode.endswith(s) for s in constants.SMOGON_HAS_STATS_PAGE_SUFFIXES): - smogon_stats_file_name = get_smogon_stats_file_name(battle_mode) - logger.debug("Making HTTP request to {} for usage stats".format(smogon_stats_file_name)) - smogon_usage_data = get_pokemon_information(smogon_stats_file_name, pkmn_names=pokemon_names) - else: - # use ALL data for a mode like battle-factory - logger.debug("Making HTTP request for ALL usage stats\nplease wait...") - ubers_data = get_pokemon_information(get_smogon_stats_file_name("gen9ubers"), pkmn_names=pokemon_names) - ou_data = get_pokemon_information(get_smogon_stats_file_name("gen9ou"), pkmn_names=pokemon_names) - uu_data = get_pokemon_information(get_smogon_stats_file_name("gen9uu"), pkmn_names=pokemon_names) - ru_data = get_pokemon_information(get_smogon_stats_file_name("gen9ru"), pkmn_names=pokemon_names) - nu_data = get_pokemon_information(get_smogon_stats_file_name("gen9nu"), pkmn_names=pokemon_names) - pu_data = get_pokemon_information(get_smogon_stats_file_name("gen9pu"), pkmn_names=pokemon_names) - lc_data = get_pokemon_information(get_smogon_stats_file_name("gen9lc"), pkmn_names=pokemon_names) - - smogon_usage_data = lc_data - for pkmn_data in [pu_data, nu_data, ru_data, uu_data, ou_data, ubers_data]: - for pkmn_name in pkmn_data: - if pkmn_name not in smogon_usage_data: - smogon_usage_data[pkmn_name] = pkmn_data[pkmn_name] - - return smogon_usage_data - - -def get_mega_pkmn_name(pkmn_name): - mega_name = "{}mega".format(pkmn_name) - if mega_name in pokedex: - return mega_name - elif mega_name + "x" in pokedex: # for megas with two evolutions, return the x version - return mega_name + "x" - return None diff --git a/data/mods/apply_mods.py b/data/mods/apply_mods.py index 5b6643ab6..44eab79e0 100644 --- a/data/mods/apply_mods.py +++ b/data/mods/apply_mods.py @@ -2,10 +2,8 @@ import json import logging import constants -import data from data import all_move_json from data import pokedex -from showdown.engine import damage_calculator logger = logging.getLogger(__name__) @@ -37,7 +35,7 @@ def apply_move_mods(gen_number): logger.debug("Applying move mod for gen {}".format(gen_number)) for gen_number in reversed(range(gen_number, CURRENT_GEN)): - with open("{}/gen{}_move_mods.json".format(PWD, gen_number), 'r') as f: + with open("{}/gen{}_move_mods.json".format(PWD, gen_number), "r") as f: move_mods = json.load(f) for move, modifications in move_mods.items(): all_move_json[move].update(modifications) @@ -46,32 +44,37 @@ def apply_move_mods(gen_number): def apply_pokedex_mods(gen_number): logger.debug("Applying dex mod for gen {}".format(gen_number)) for gen_number in reversed(range(gen_number, CURRENT_GEN)): - with open("{}/gen{}_pokedex_mods.json".format(PWD, gen_number), 'r') as f: + with open("{}/gen{}_pokedex_mods.json".format(PWD, gen_number), "r") as f: pokedex_mods = json.load(f) for pokemon, modifications in pokedex_mods.items(): pokedex[pokemon].update(modifications) -def set_random_battle_sets(gen_number): - logger.debug("Setting random battle sets for gen {}".format(gen_number)) - with open("{}/random_battle_sets_gen{}.json".format(PWD, gen_number), 'r') as f: - data.random_battle_sets = json.load(f) - - def apply_gen_3_mods(): - # no pokedex mods in gen3 (apparently) constants.HIDDEN_POWER_TYPE_STRING_INDEX = -2 constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING = "70" - constants.HIDDEN_POWER_RESERVE_MOVE_BASE_DAMAGE_STRING = "70" constants.REQUEST_DICT_ABILITY = "baseAbility" apply_move_mods(3) + apply_pokedex_mods(4) # no pokedex mods in gen3 so use gen4 undo_physical_special_split() +# these are the same as gen3 +apply_gen_2_mods = apply_gen_3_mods + + +def apply_gen_1_mods(): + apply_gen_2_mods() + logger.info("Applying dex mod for gen 1") + with open("{}/gen1_pokedex_mods.json".format(PWD), "r") as f: + pokedex_mods = json.load(f) + for pokemon, modifications in pokedex_mods.items(): + pokedex[pokemon].update(modifications) + + def apply_gen_4_mods(): constants.HIDDEN_POWER_TYPE_STRING_INDEX = -2 constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING = "70" - constants.HIDDEN_POWER_RESERVE_MOVE_BASE_DAMAGE_STRING = "70" constants.REQUEST_DICT_ABILITY = "baseAbility" apply_move_mods(4) apply_pokedex_mods(4) @@ -80,7 +83,6 @@ def apply_gen_4_mods(): def apply_gen_5_mods(): constants.HIDDEN_POWER_TYPE_STRING_INDEX = -2 constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING = "70" - constants.HIDDEN_POWER_RESERVE_MOVE_BASE_DAMAGE_STRING = "70" constants.REQUEST_DICT_ABILITY = "baseAbility" apply_move_mods(5) apply_pokedex_mods(5) @@ -106,12 +108,20 @@ def undo_physical_special_split(): for move_name, move_data in all_move_json.items(): if move_data[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: try: - move_data[constants.CATEGORY] = PRE_PHYSICAL_SPECIAL_SPLIT_CATEGORY_LOOKUP[move_data[constants.TYPE]] + move_data[constants.CATEGORY] = ( + PRE_PHYSICAL_SPECIAL_SPLIT_CATEGORY_LOOKUP[ + move_data[constants.TYPE] + ] + ) except KeyError: pass def apply_mods(game_mode): + if "gen1" in game_mode: + apply_gen_1_mods() + if "gen2" in game_mode: + apply_gen_2_mods() if "gen3" in game_mode: apply_gen_3_mods() if "gen4" in game_mode: @@ -124,10 +134,3 @@ def apply_mods(game_mode): apply_gen_7_mods() elif "gen8" in game_mode: apply_gen_8_mods() - - if game_mode[:3] == "gen": - if int(game_mode[3]) < 8: - set_random_battle_sets(7) - damage_calculator.TERRAIN_DAMAGE_BOOST = 1.5 # terrain gave a 1.5x damage boost prior to gen8 - if int(game_mode[3]) < 9: - constants.ICE_WEATHER = constants.HAIL # ice-type weather was hail prior to gen9 diff --git a/data/mods/gen1_pokedex_mods.json b/data/mods/gen1_pokedex_mods.json new file mode 100644 index 000000000..a413047f4 --- /dev/null +++ b/data/mods/gen1_pokedex_mods.json @@ -0,0 +1,1518 @@ +{ + "bulbasaur": { + "baseStats": { + "hp": 45, + "attack": 49, + "defense": 49, + "special-attack": 65, + "special-defense": 65, + "speed": 45 + } + }, + "ivysaur": { + "baseStats": { + "hp": 60, + "attack": 62, + "defense": 63, + "special-attack": 80, + "special-defense": 80, + "speed": 60 + } + }, + "venusaur": { + "baseStats": { + "hp": 80, + "attack": 82, + "defense": 83, + "special-attack": 100, + "special-defense": 100, + "speed": 80 + } + }, + "charmander": { + "baseStats": { + "hp": 39, + "attack": 52, + "defense": 43, + "special-attack": 50, + "special-defense": 50, + "speed": 65 + } + }, + "charmeleon": { + "baseStats": { + "hp": 58, + "attack": 64, + "defense": 58, + "special-attack": 65, + "special-defense": 65, + "speed": 80 + } + }, + "charizard": { + "baseStats": { + "hp": 78, + "attack": 84, + "defense": 78, + "special-attack": 85, + "special-defense": 85, + "speed": 100 + } + }, + "squirtle": { + "baseStats": { + "hp": 44, + "attack": 48, + "defense": 65, + "special-attack": 50, + "special-defense": 50, + "speed": 43 + } + }, + "wartortle": { + "baseStats": { + "hp": 59, + "attack": 63, + "defense": 80, + "special-attack": 65, + "special-defense": 65, + "speed": 58 + } + }, + "blastoise": { + "baseStats": { + "hp": 79, + "attack": 83, + "defense": 100, + "special-attack": 85, + "special-defense": 85, + "speed": 78 + } + }, + "caterpie": { + "baseStats": { + "hp": 45, + "attack": 30, + "defense": 35, + "special-attack": 20, + "special-defense": 20, + "speed": 45 + } + }, + "metapod": { + "baseStats": { + "hp": 50, + "attack": 20, + "defense": 55, + "special-attack": 25, + "special-defense": 25, + "speed": 30 + } + }, + "butterfree": { + "baseStats": { + "hp": 60, + "attack": 45, + "defense": 50, + "special-attack": 80, + "special-defense": 80, + "speed": 70 + } + }, + "weedle": { + "baseStats": { + "hp": 40, + "attack": 35, + "defense": 30, + "special-attack": 20, + "special-defense": 20, + "speed": 50 + } + }, + "kakuna": { + "baseStats": { + "hp": 45, + "attack": 25, + "defense": 50, + "special-attack": 25, + "special-defense": 25, + "speed": 35 + } + }, + "beedrill": { + "baseStats": { + "hp": 65, + "attack": 80, + "defense": 40, + "special-attack": 45, + "special-defense": 45, + "speed": 75 + } + }, + "pidgey": { + "baseStats": { + "hp": 40, + "attack": 45, + "defense": 40, + "special-attack": 35, + "special-defense": 35, + "speed": 56 + } + }, + "pidgeotto": { + "baseStats": { + "hp": 63, + "attack": 60, + "defense": 55, + "special-attack": 50, + "special-defense": 50, + "speed": 71 + } + }, + "pidgeot": { + "baseStats": { + "hp": 83, + "attack": 80, + "defense": 75, + "special-attack": 70, + "special-defense": 70, + "speed": 91 + } + }, + "rattata": { + "baseStats": { + "hp": 30, + "attack": 56, + "defense": 35, + "special-attack": 25, + "special-defense": 25, + "speed": 72 + } + }, + "raticate": { + "baseStats": { + "hp": 55, + "attack": 81, + "defense": 60, + "special-attack": 50, + "special-defense": 50, + "speed": 97 + } + }, + "spearow": { + "baseStats": { + "hp": 40, + "attack": 60, + "defense": 30, + "special-attack": 31, + "special-defense": 31, + "speed": 70 + } + }, + "fearow": { + "baseStats": { + "hp": 65, + "attack": 90, + "defense": 65, + "special-attack": 61, + "special-defense": 61, + "speed": 100 + } + }, + "ekans": { + "baseStats": { + "hp": 35, + "attack": 60, + "defense": 44, + "special-attack": 40, + "special-defense": 40, + "speed": 55 + } + }, + "arbok": { + "baseStats": { + "hp": 60, + "attack": 85, + "defense": 69, + "special-attack": 65, + "special-defense": 65, + "speed": 80 + } + }, + "pikachu": { + "baseStats": { + "hp": 35, + "attack": 55, + "defense": 30, + "special-attack": 50, + "special-defense": 50, + "speed": 90 + } + }, + "raichu": { + "baseStats": { + "hp": 60, + "attack": 90, + "defense": 55, + "special-attack": 90, + "special-defense": 90, + "speed": 100 + } + }, + "sandshrew": { + "baseStats": { + "hp": 50, + "attack": 75, + "defense": 85, + "special-attack": 30, + "special-defense": 30, + "speed": 40 + } + }, + "sandslash": { + "baseStats": { + "hp": 75, + "attack": 100, + "defense": 110, + "special-attack": 55, + "special-defense": 55, + "speed": 65 + } + }, + "nidoranf": { + "baseStats": { + "hp": 55, + "attack": 47, + "defense": 52, + "special-attack": 40, + "special-defense": 40, + "speed": 41 + } + }, + "nidorina": { + "baseStats": { + "hp": 70, + "attack": 62, + "defense": 67, + "special-attack": 55, + "special-defense": 55, + "speed": 56 + } + }, + "nidoqueen": { + "baseStats": { + "hp": 90, + "attack": 82, + "defense": 87, + "special-attack": 75, + "special-defense": 75, + "speed": 76 + } + }, + "nidoranm": { + "baseStats": { + "hp": 46, + "attack": 57, + "defense": 40, + "special-attack": 40, + "special-defense": 40, + "speed": 50 + } + }, + "nidorino": { + "baseStats": { + "hp": 61, + "attack": 72, + "defense": 57, + "special-attack": 55, + "special-defense": 55, + "speed": 65 + } + }, + "nidoking": { + "baseStats": { + "hp": 81, + "attack": 92, + "defense": 77, + "special-attack": 75, + "special-defense": 75, + "speed": 85 + } + }, + "clefairy": { + "baseStats": { + "hp": 70, + "attack": 45, + "defense": 48, + "special-attack": 60, + "special-defense": 60, + "speed": 35 + } + }, + "clefable": { + "baseStats": { + "hp": 95, + "attack": 70, + "defense": 73, + "special-attack": 85, + "special-defense": 85, + "speed": 60 + } + }, + "vulpix": { + "baseStats": { + "hp": 38, + "attack": 41, + "defense": 40, + "special-attack": 65, + "special-defense": 65, + "speed": 65 + } + }, + "ninetales": { + "baseStats": { + "hp": 73, + "attack": 76, + "defense": 75, + "special-attack": 100, + "special-defense": 100, + "speed": 100 + } + }, + "jigglypuff": { + "baseStats": { + "hp": 115, + "attack": 45, + "defense": 20, + "special-attack": 25, + "special-defense": 25, + "speed": 20 + } + }, + "wigglytuff": { + "baseStats": { + "hp": 140, + "attack": 70, + "defense": 45, + "special-attack": 50, + "special-defense": 50, + "speed": 45 + } + }, + "zubat": { + "baseStats": { + "hp": 40, + "attack": 45, + "defense": 35, + "special-attack": 40, + "special-defense": 40, + "speed": 55 + } + }, + "golbat": { + "baseStats": { + "hp": 75, + "attack": 80, + "defense": 70, + "special-attack": 75, + "special-defense": 75, + "speed": 90 + } + }, + "oddish": { + "baseStats": { + "hp": 45, + "attack": 50, + "defense": 55, + "special-attack": 75, + "special-defense": 75, + "speed": 30 + } + }, + "gloom": { + "baseStats": { + "hp": 60, + "attack": 65, + "defense": 70, + "special-attack": 85, + "special-defense": 85, + "speed": 40 + } + }, + "vileplume": { + "baseStats": { + "hp": 75, + "attack": 80, + "defense": 85, + "special-attack": 100, + "special-defense": 100, + "speed": 50 + } + }, + "paras": { + "baseStats": { + "hp": 35, + "attack": 70, + "defense": 55, + "special-attack": 55, + "special-defense": 55, + "speed": 25 + } + }, + "parasect": { + "baseStats": { + "hp": 60, + "attack": 95, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 30 + } + }, + "venonat": { + "baseStats": { + "hp": 60, + "attack": 55, + "defense": 50, + "special-attack": 40, + "special-defense": 40, + "speed": 45 + } + }, + "venomoth": { + "baseStats": { + "hp": 70, + "attack": 65, + "defense": 60, + "special-attack": 90, + "special-defense": 90, + "speed": 90 + } + }, + "diglett": { + "baseStats": { + "hp": 10, + "attack": 55, + "defense": 25, + "special-attack": 45, + "special-defense": 45, + "speed": 95 + } + }, + "dugtrio": { + "baseStats": { + "hp": 35, + "attack": 80, + "defense": 50, + "special-attack": 70, + "special-defense": 70, + "speed": 120 + } + }, + "meowth": { + "baseStats": { + "hp": 40, + "attack": 45, + "defense": 35, + "special-attack": 40, + "special-defense": 40, + "speed": 90 + } + }, + "persian": { + "baseStats": { + "hp": 65, + "attack": 70, + "defense": 60, + "special-attack": 65, + "special-defense": 65, + "speed": 115 + } + }, + "psyduck": { + "baseStats": { + "hp": 50, + "attack": 52, + "defense": 48, + "special-attack": 50, + "special-defense": 50, + "speed": 55 + } + }, + "golduck": { + "baseStats": { + "hp": 80, + "attack": 82, + "defense": 78, + "special-attack": 80, + "special-defense": 80, + "speed": 85 + } + }, + "mankey": { + "baseStats": { + "hp": 40, + "attack": 80, + "defense": 35, + "special-attack": 35, + "special-defense": 35, + "speed": 70 + } + }, + "primeape": { + "baseStats": { + "hp": 65, + "attack": 105, + "defense": 60, + "special-attack": 60, + "special-defense": 60, + "speed": 95 + } + }, + "growlithe": { + "baseStats": { + "hp": 55, + "attack": 70, + "defense": 45, + "special-attack": 50, + "special-defense": 50, + "speed": 60 + } + }, + "arcanine": { + "baseStats": { + "hp": 90, + "attack": 110, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 95 + } + }, + "poliwag": { + "baseStats": { + "hp": 40, + "attack": 50, + "defense": 40, + "special-attack": 40, + "special-defense": 40, + "speed": 90 + } + }, + "poliwhirl": { + "baseStats": { + "hp": 65, + "attack": 65, + "defense": 65, + "special-attack": 50, + "special-defense": 50, + "speed": 90 + } + }, + "poliwrath": { + "baseStats": { + "hp": 90, + "attack": 85, + "defense": 95, + "special-attack": 70, + "special-defense": 70, + "speed": 70 + } + }, + "abra": { + "baseStats": { + "hp": 25, + "attack": 20, + "defense": 15, + "special-attack": 105, + "special-defense": 105, + "speed": 90 + } + }, + "kadabra": { + "baseStats": { + "hp": 40, + "attack": 35, + "defense": 30, + "special-attack": 120, + "special-defense": 120, + "speed": 105 + } + }, + "alakazam": { + "baseStats": { + "hp": 55, + "attack": 50, + "defense": 45, + "special-attack": 135, + "special-defense": 135, + "speed": 120 + } + }, + "machop": { + "baseStats": { + "hp": 70, + "attack": 80, + "defense": 50, + "special-attack": 35, + "special-defense": 35, + "speed": 35 + } + }, + "machoke": { + "baseStats": { + "hp": 80, + "attack": 100, + "defense": 70, + "special-attack": 50, + "special-defense": 50, + "speed": 45 + } + }, + "machamp": { + "baseStats": { + "hp": 90, + "attack": 130, + "defense": 80, + "special-attack": 65, + "special-defense": 65, + "speed": 55 + } + }, + "bellsprout": { + "baseStats": { + "hp": 50, + "attack": 75, + "defense": 35, + "special-attack": 70, + "special-defense": 70, + "speed": 40 + } + }, + "weepinbell": { + "baseStats": { + "hp": 65, + "attack": 90, + "defense": 50, + "special-attack": 85, + "special-defense": 85, + "speed": 55 + } + }, + "victreebel": { + "baseStats": { + "hp": 80, + "attack": 105, + "defense": 65, + "special-attack": 100, + "special-defense": 100, + "speed": 70 + } + }, + "tentacool": { + "baseStats": { + "hp": 40, + "attack": 40, + "defense": 35, + "special-attack": 100, + "special-defense": 100, + "speed": 70 + } + }, + "tentacruel": { + "baseStats": { + "hp": 80, + "attack": 70, + "defense": 65, + "special-attack": 120, + "special-defense": 120, + "speed": 100 + } + }, + "geodude": { + "baseStats": { + "hp": 40, + "attack": 80, + "defense": 100, + "special-attack": 30, + "special-defense": 30, + "speed": 20 + } + }, + "graveler": { + "baseStats": { + "hp": 55, + "attack": 95, + "defense": 115, + "special-attack": 45, + "special-defense": 45, + "speed": 35 + } + }, + "golem": { + "baseStats": { + "hp": 80, + "attack": 110, + "defense": 130, + "special-attack": 55, + "special-defense": 55, + "speed": 45 + } + }, + "ponyta": { + "baseStats": { + "hp": 50, + "attack": 85, + "defense": 55, + "special-attack": 65, + "special-defense": 65, + "speed": 90 + } + }, + "rapidash": { + "baseStats": { + "hp": 65, + "attack": 100, + "defense": 70, + "special-attack": 80, + "special-defense": 80, + "speed": 105 + } + }, + "slowpoke": { + "baseStats": { + "hp": 90, + "attack": 65, + "defense": 65, + "special-attack": 40, + "special-defense": 40, + "speed": 15 + } + }, + "slowbro": { + "baseStats": { + "hp": 95, + "attack": 75, + "defense": 110, + "special-attack": 80, + "special-defense": 80, + "speed": 30 + } + }, + "magnemite": { + "types": [ + "Electric" + ], + "baseStats": { + "hp": 25, + "attack": 35, + "defense": 70, + "special-attack": 95, + "special-defense": 95, + "speed": 45 + } + }, + "magneton": { + "types": [ + "Electric" + ], + "baseStats": { + "hp": 50, + "attack": 60, + "defense": 95, + "special-attack": 120, + "special-defense": 120, + "speed": 70 + } + }, + "farfetchd": { + "baseStats": { + "hp": 52, + "attack": 65, + "defense": 55, + "special-attack": 58, + "special-defense": 58, + "speed": 60 + } + }, + "doduo": { + "baseStats": { + "hp": 35, + "attack": 85, + "defense": 45, + "special-attack": 35, + "special-defense": 35, + "speed": 75 + } + }, + "dodrio": { + "baseStats": { + "hp": 60, + "attack": 110, + "defense": 70, + "special-attack": 60, + "special-defense": 60, + "speed": 100 + } + }, + "seel": { + "baseStats": { + "hp": 65, + "attack": 45, + "defense": 55, + "special-attack": 70, + "special-defense": 70, + "speed": 45 + } + }, + "dewgong": { + "baseStats": { + "hp": 90, + "attack": 70, + "defense": 80, + "special-attack": 95, + "special-defense": 95, + "speed": 70 + } + }, + "grimer": { + "baseStats": { + "hp": 80, + "attack": 80, + "defense": 50, + "special-attack": 40, + "special-defense": 40, + "speed": 25 + } + }, + "muk": { + "baseStats": { + "hp": 105, + "attack": 105, + "defense": 75, + "special-attack": 65, + "special-defense": 65, + "speed": 50 + } + }, + "shellder": { + "baseStats": { + "hp": 30, + "attack": 65, + "defense": 100, + "special-attack": 45, + "special-defense": 45, + "speed": 40 + } + }, + "cloyster": { + "baseStats": { + "hp": 50, + "attack": 95, + "defense": 180, + "special-attack": 85, + "special-defense": 85, + "speed": 70 + } + }, + "gastly": { + "baseStats": { + "hp": 30, + "attack": 35, + "defense": 30, + "special-attack": 100, + "special-defense": 100, + "speed": 80 + } + }, + "haunter": { + "baseStats": { + "hp": 45, + "attack": 50, + "defense": 45, + "special-attack": 115, + "special-defense": 115, + "speed": 95 + } + }, + "gengar": { + "baseStats": { + "hp": 60, + "attack": 65, + "defense": 60, + "special-attack": 130, + "special-defense": 130, + "speed": 110 + } + }, + "onix": { + "baseStats": { + "hp": 35, + "attack": 45, + "defense": 160, + "special-attack": 30, + "special-defense": 30, + "speed": 70 + } + }, + "drowzee": { + "baseStats": { + "hp": 60, + "attack": 48, + "defense": 45, + "special-attack": 90, + "special-defense": 90, + "speed": 42 + } + }, + "hypno": { + "baseStats": { + "hp": 85, + "attack": 73, + "defense": 70, + "special-attack": 115, + "special-defense": 115, + "speed": 67 + } + }, + "krabby": { + "baseStats": { + "hp": 30, + "attack": 105, + "defense": 90, + "special-attack": 25, + "special-defense": 25, + "speed": 50 + } + }, + "kingler": { + "baseStats": { + "hp": 55, + "attack": 130, + "defense": 115, + "special-attack": 50, + "special-defense": 50, + "speed": 75 + } + }, + "voltorb": { + "baseStats": { + "hp": 40, + "attack": 30, + "defense": 50, + "special-attack": 55, + "special-defense": 55, + "speed": 100 + } + }, + "electrode": { + "baseStats": { + "hp": 60, + "attack": 50, + "defense": 70, + "special-attack": 80, + "special-defense": 80, + "speed": 140 + } + }, + "exeggcute": { + "baseStats": { + "hp": 60, + "attack": 40, + "defense": 80, + "special-attack": 60, + "special-defense": 60, + "speed": 40 + } + }, + "exeggutor": { + "baseStats": { + "hp": 95, + "attack": 95, + "defense": 85, + "special-attack": 125, + "special-defense": 125, + "speed": 55 + } + }, + "cubone": { + "baseStats": { + "hp": 50, + "attack": 50, + "defense": 95, + "special-attack": 40, + "special-defense": 40, + "speed": 35 + } + }, + "marowak": { + "baseStats": { + "hp": 60, + "attack": 80, + "defense": 110, + "special-attack": 50, + "special-defense": 50, + "speed": 45 + } + }, + "hitmonlee": { + "baseStats": { + "hp": 50, + "attack": 120, + "defense": 53, + "special-attack": 35, + "special-defense": 35, + "speed": 87 + } + }, + "hitmonchan": { + "baseStats": { + "hp": 50, + "attack": 105, + "defense": 79, + "special-attack": 35, + "special-defense": 35, + "speed": 76 + } + }, + "lickitung": { + "baseStats": { + "hp": 90, + "attack": 55, + "defense": 75, + "special-attack": 60, + "special-defense": 60, + "speed": 30 + } + }, + "koffing": { + "baseStats": { + "hp": 40, + "attack": 65, + "defense": 95, + "special-attack": 60, + "special-defense": 60, + "speed": 35 + } + }, + "weezing": { + "baseStats": { + "hp": 65, + "attack": 90, + "defense": 120, + "special-attack": 85, + "special-defense": 85, + "speed": 60 + } + }, + "rhyhorn": { + "baseStats": { + "hp": 80, + "attack": 85, + "defense": 95, + "special-attack": 30, + "special-defense": 30, + "speed": 25 + } + }, + "rhydon": { + "baseStats": { + "hp": 105, + "attack": 130, + "defense": 120, + "special-attack": 45, + "special-defense": 45, + "speed": 40 + } + }, + "chansey": { + "baseStats": { + "hp": 250, + "attack": 5, + "defense": 5, + "special-attack": 105, + "special-defense": 105, + "speed": 50 + } + }, + "tangela": { + "baseStats": { + "hp": 65, + "attack": 55, + "defense": 115, + "special-attack": 100, + "special-defense": 100, + "speed": 60 + } + }, + "kangaskhan": { + "baseStats": { + "hp": 105, + "attack": 95, + "defense": 80, + "special-attack": 40, + "special-defense": 40, + "speed": 90 + } + }, + "horsea": { + "baseStats": { + "hp": 30, + "attack": 40, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 60 + } + }, + "seadra": { + "baseStats": { + "hp": 55, + "attack": 65, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 85 + } + }, + "goldeen": { + "baseStats": { + "hp": 45, + "attack": 67, + "defense": 60, + "special-attack": 50, + "special-defense": 50, + "speed": 63 + } + }, + "seaking": { + "baseStats": { + "hp": 80, + "attack": 92, + "defense": 65, + "special-attack": 80, + "special-defense": 80, + "speed": 68 + } + }, + "staryu": { + "baseStats": { + "hp": 30, + "attack": 45, + "defense": 55, + "special-attack": 70, + "special-defense": 70, + "speed": 85 + } + }, + "starmie": { + "baseStats": { + "hp": 60, + "attack": 75, + "defense": 85, + "special-attack": 100, + "special-defense": 100, + "speed": 115 + } + }, + "mrmime": { + "baseStats": { + "hp": 40, + "attack": 45, + "defense": 65, + "special-attack": 100, + "special-defense": 100, + "speed": 90 + } + }, + "scyther": { + "baseStats": { + "hp": 70, + "attack": 110, + "defense": 80, + "special-attack": 55, + "special-defense": 55, + "speed": 105 + } + }, + "jynx": { + "baseStats": { + "hp": 65, + "attack": 50, + "defense": 35, + "special-attack": 95, + "special-defense": 95, + "speed": 95 + } + }, + "electabuzz": { + "baseStats": { + "hp": 65, + "attack": 83, + "defense": 57, + "special-attack": 85, + "special-defense": 85, + "speed": 105 + } + }, + "magmar": { + "baseStats": { + "hp": 65, + "attack": 95, + "defense": 57, + "special-attack": 85, + "special-defense": 85, + "speed": 93 + } + }, + "pinsir": { + "baseStats": { + "hp": 65, + "attack": 125, + "defense": 100, + "special-attack": 55, + "special-defense": 55, + "speed": 85 + } + }, + "tauros": { + "baseStats": { + "hp": 75, + "attack": 100, + "defense": 95, + "special-attack": 70, + "special-defense": 70, + "speed": 110 + } + }, + "magikarp": { + "baseStats": { + "hp": 20, + "attack": 10, + "defense": 55, + "special-attack": 20, + "special-defense": 20, + "speed": 80 + } + }, + "gyarados": { + "baseStats": { + "hp": 95, + "attack": 125, + "defense": 79, + "special-attack": 100, + "special-defense": 100, + "speed": 81 + } + }, + "lapras": { + "baseStats": { + "hp": 130, + "attack": 85, + "defense": 80, + "special-attack": 95, + "special-defense": 95, + "speed": 60 + } + }, + "ditto": { + "baseStats": { + "hp": 48, + "attack": 48, + "defense": 48, + "special-attack": 48, + "special-defense": 48, + "speed": 48 + } + }, + "eevee": { + "baseStats": { + "hp": 55, + "attack": 55, + "defense": 50, + "special-attack": 65, + "special-defense": 65, + "speed": 55 + } + }, + "vaporeon": { + "baseStats": { + "hp": 130, + "attack": 65, + "defense": 60, + "special-attack": 110, + "special-defense": 110, + "speed": 65 + } + }, + "jolteon": { + "baseStats": { + "hp": 65, + "attack": 65, + "defense": 60, + "special-attack": 110, + "special-defense": 110, + "speed": 130 + } + }, + "flareon": { + "baseStats": { + "hp": 65, + "attack": 130, + "defense": 60, + "special-attack": 110, + "special-defense": 110, + "speed": 65 + } + }, + "porygon": { + "baseStats": { + "hp": 65, + "attack": 60, + "defense": 70, + "special-attack": 75, + "special-defense": 75, + "speed": 40 + } + }, + "omanyte": { + "baseStats": { + "hp": 35, + "attack": 40, + "defense": 100, + "special-attack": 90, + "special-defense": 90, + "speed": 35 + } + }, + "omastar": { + "baseStats": { + "hp": 70, + "attack": 60, + "defense": 125, + "special-attack": 115, + "special-defense": 115, + "speed": 55 + } + }, + "kabuto": { + "baseStats": { + "hp": 30, + "attack": 80, + "defense": 90, + "special-attack": 45, + "special-defense": 45, + "speed": 55 + } + }, + "kabutops": { + "baseStats": { + "hp": 60, + "attack": 115, + "defense": 105, + "special-attack": 70, + "special-defense": 70, + "speed": 80 + } + }, + "aerodactyl": { + "baseStats": { + "hp": 80, + "attack": 105, + "defense": 65, + "special-attack": 60, + "special-defense": 60, + "speed": 130 + } + }, + "snorlax": { + "baseStats": { + "hp": 160, + "attack": 110, + "defense": 65, + "special-attack": 65, + "special-defense": 65, + "speed": 30 + } + }, + "articuno": { + "baseStats": { + "hp": 90, + "attack": 85, + "defense": 100, + "special-attack": 125, + "special-defense": 125, + "speed": 85 + } + }, + "zapdos": { + "baseStats": { + "hp": 90, + "attack": 90, + "defense": 85, + "special-attack": 125, + "special-defense": 125, + "speed": 100 + } + }, + "moltres": { + "baseStats": { + "hp": 90, + "attack": 100, + "defense": 90, + "special-attack": 125, + "special-defense": 125, + "speed": 90 + } + }, + "dratini": { + "baseStats": { + "hp": 41, + "attack": 64, + "defense": 45, + "special-attack": 50, + "special-defense": 50, + "speed": 50 + } + }, + "dragonair": { + "baseStats": { + "hp": 61, + "attack": 84, + "defense": 65, + "special-attack": 70, + "special-defense": 70, + "speed": 70 + } + }, + "dragonite": { + "baseStats": { + "hp": 91, + "attack": 134, + "defense": 95, + "special-attack": 100, + "special-defense": 100, + "speed": 80 + } + }, + "mewtwo": { + "baseStats": { + "hp": 106, + "attack": 110, + "defense": 90, + "special-attack": 154, + "special-defense": 154, + "speed": 130 + } + }, + "mew": { + "baseStats": { + "hp": 100, + "attack": 100, + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 + } + } +} \ No newline at end of file diff --git a/data/mods/gen6_pokedex_mods.json b/data/mods/gen6_pokedex_mods.json index a24cb4477..2e183fef2 100644 --- a/data/mods/gen6_pokedex_mods.json +++ b/data/mods/gen6_pokedex_mods.json @@ -436,110 +436,5 @@ "abilities": { "0": "Aura Break" } - }, - "necturna": { - "baseStats": { - "hp": 64, - "attack": 120, - "defense": 100, - "special-attack": 85, - "special-defense": 120, - "speed": 81 - } - }, - "aurumoth": { - "abilities": { - "0": "Weak Armor", - "1": "No Guard", - "H": "Illusion" - } - }, - "malaconda": { - "abilities": { - "0": "Harvest", - "1": "Infiltrator" - } - }, - "naviathan": { - "abilities": { - "0": "Water Veil", - "1": "Heatproof", - "H": "Light Metal" - } - }, - "crucibellemega": { - "baseStats": { - "hp": 106, - "attack": 135, - "defense": 75, - "special-attack": 85, - "special-defense": 125, - "speed": 114 - } - }, - "syclant": { - "abilities": { - "0": "Compound Eyes", - "1": "Mountaineer" - } - }, - "revenankh": { - "abilities": { - "0": "Shed Skin", - "1": "Air Lock" - } - }, - "pyroak": { - "abilities": { - "0": "Rock Head", - "1": "Battle Armor" - } - }, - "fidgit": { - "abilities": { - "0": "Persistent", - "1": "Vital Spirit" - } - }, - "stratagem": { - "abilities": { - "0": "Levitate", - "1": "Technician" - } - }, - "arghonaut": { - "abilities": { - "0": "Unaware" - } - }, - "kitsunoh": { - "abilities": { - "0": "Frisk", - "1": "Limber" - } - }, - "cyclohm": { - "abilities": { - "0": "Shield Dust", - "1": "Static" - } - }, - "colossoil": { - "abilities": { - "0": "Rebound", - "1": "Guts" - } - }, - "krilowatt": { - "abilities": { - "0": "Trace", - "1": "Magic Guard" - } - }, - "voodoom": { - "abilities": { - "0": "Volt Absorb", - "1": "Lightning Rod" - } } } \ No newline at end of file diff --git a/data/mods/random_battle_sets_gen7.json b/data/mods/random_battle_sets_gen7.json deleted file mode 100644 index a71bc9080..000000000 --- a/data/mods/random_battle_sets_gen7.json +++ /dev/null @@ -1,41467 +0,0 @@ -{ - "abomasnow": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 132, - "items": [ - [ - "lifeorb", - 53.03 - ], - [ - "assaultvest", - 22.727 - ], - [ - "leftovers", - 24.242 - ] - ], - "moves": [ - [ - "blizzard", - 74.242 - ], - [ - "iceshard", - 71.97 - ], - [ - "gigadrain", - 71.212 - ], - [ - "leechseed", - 40.152 - ], - [ - "woodhammer", - 28.788 - ], - [ - "earthquake", - 53.788 - ], - [ - "substitute", - 50.0 - ], - [ - "focuspunch", - 9.848 - ] - ], - "sets": { - "blizzard|earthquake|gigadrain|iceshard": 17.424, - "blizzard|earthquake|gigadrain|leechseed": 5.303, - "blizzard|earthquake|gigadrain|substitute": 6.061, - "blizzard|earthquake|iceshard|woodhammer": 5.303, - "blizzard|earthquake|leechseed|woodhammer": 3.03, - "blizzard|earthquake|substitute|woodhammer": 3.03, - "blizzard|focuspunch|gigadrain|substitute": 2.273, - "blizzard|focuspunch|substitute|woodhammer": 2.273, - "blizzard|gigadrain|iceshard|leechseed": 9.091, - "blizzard|gigadrain|iceshard|substitute": 7.576, - "blizzard|gigadrain|leechseed|substitute": 3.788, - "blizzard|iceshard|leechseed|woodhammer": 3.788, - "blizzard|iceshard|substitute|woodhammer": 3.03, - "blizzard|leechseed|substitute|woodhammer": 2.273, - "earthquake|gigadrain|iceshard|leechseed": 3.788, - "earthquake|gigadrain|iceshard|substitute": 6.061, - "earthquake|iceshard|leechseed|woodhammer": 2.273, - "earthquake|iceshard|substitute|woodhammer": 1.515, - "focuspunch|gigadrain|iceshard|substitute": 3.788, - "focuspunch|iceshard|substitute|woodhammer": 1.515, - "gigadrain|iceshard|leechseed|substitute": 6.061, - "iceshard|leechseed|substitute|woodhammer": 0.758 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "abomasnowmega": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 389, - "items": [ - [ - "abomasite", - 100.0 - ] - ], - "moves": [ - [ - "iceshard", - 79.434 - ], - [ - "gigadrain", - 68.38 - ], - [ - "earthquake", - 72.751 - ], - [ - "hiddenpowerfire", - 70.951 - ], - [ - "blizzard", - 76.864 - ], - [ - "woodhammer", - 31.62 - ] - ], - "sets": { - "blizzard|earthquake|gigadrain|hiddenpowerfire": 14.653, - "blizzard|earthquake|gigadrain|iceshard": 20.308, - "blizzard|earthquake|hiddenpowerfire|woodhammer": 5.913, - "blizzard|earthquake|iceshard|woodhammer": 8.74, - "blizzard|gigadrain|hiddenpowerfire|iceshard": 16.71, - "blizzard|hiddenpowerfire|iceshard|woodhammer": 10.54, - "earthquake|gigadrain|hiddenpowerfire|iceshard": 16.71, - "earthquake|hiddenpowerfire|iceshard|woodhammer": 6.427 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "absol": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 149, - "items": [ - [ - "lifeorb", - 95.302 - ], - [ - "choicescarf", - 2.685 - ], - [ - "choiceband", - 2.013 - ] - ], - "moves": [ - [ - "swordsdance", - 81.208 - ], - [ - "suckerpunch", - 81.879 - ], - [ - "knockoff", - 100.0 - ], - [ - "superpower", - 65.101 - ], - [ - "playrough", - 67.114 - ], - [ - "pursuit", - 4.698 - ] - ], - "sets": { - "knockoff|playrough|pursuit|superpower": 4.698, - "knockoff|playrough|suckerpunch|superpower": 14.094, - "knockoff|playrough|suckerpunch|swordsdance": 34.899, - "knockoff|playrough|superpower|swordsdance": 13.423, - "knockoff|suckerpunch|superpower|swordsdance": 32.886 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "absolmega": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 387, - "items": [ - [ - "absolite", - 100.0 - ] - ], - "moves": [ - [ - "suckerpunch", - 74.419 - ], - [ - "knockoff", - 100.0 - ], - [ - "swordsdance", - 70.284 - ], - [ - "superpower", - 57.881 - ], - [ - "playrough", - 55.556 - ], - [ - "pursuit", - 9.302 - ], - [ - "icebeam", - 17.571 - ], - [ - "fireblast", - 14.987 - ] - ], - "sets": { - "fireblast|icebeam|knockoff|playrough": 1.034, - "fireblast|icebeam|knockoff|pursuit": 2.326, - "fireblast|icebeam|knockoff|suckerpunch": 3.359, - "fireblast|icebeam|knockoff|superpower": 1.55, - "fireblast|knockoff|playrough|pursuit": 1.55, - "fireblast|knockoff|playrough|suckerpunch": 1.55, - "fireblast|knockoff|playrough|superpower": 1.034, - "fireblast|knockoff|pursuit|superpower": 0.258, - "fireblast|knockoff|suckerpunch|superpower": 2.326, - "icebeam|knockoff|playrough|pursuit": 1.55, - "icebeam|knockoff|playrough|suckerpunch": 2.067, - "icebeam|knockoff|playrough|superpower": 1.034, - "icebeam|knockoff|pursuit|superpower": 1.809, - "icebeam|knockoff|suckerpunch|superpower": 2.842, - "knockoff|playrough|pursuit|superpower": 1.809, - "knockoff|playrough|suckerpunch|superpower": 3.618, - "knockoff|playrough|suckerpunch|swordsdance": 28.682, - "knockoff|playrough|superpower|swordsdance": 11.628, - "knockoff|suckerpunch|superpower|swordsdance": 29.974 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "accelgor": { - "abilities": [ - [ - "stickyhold", - 100.0 - ] - ], - "count": 496, - "items": [ - [ - "lifeorb", - 33.468 - ], - [ - "leftovers", - 51.008 - ], - [ - "focussash", - 13.306 - ], - [ - "choicespecs", - 2.218 - ] - ], - "moves": [ - [ - "focusblast", - 43.145 - ], - [ - "hiddenpowerrock", - 44.96 - ], - [ - "yawn", - 40.927 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "encore", - 43.952 - ], - [ - "toxicspikes", - 40.121 - ], - [ - "spikes", - 40.121 - ], - [ - "energyball", - 46.774 - ] - ], - "sets": { - "bugbuzz|encore|energyball|focusblast": 4.032, - "bugbuzz|encore|energyball|hiddenpowerrock": 3.024, - "bugbuzz|encore|energyball|spikes": 2.621, - "bugbuzz|encore|energyball|toxicspikes": 4.234, - "bugbuzz|encore|energyball|yawn": 2.823, - "bugbuzz|encore|focusblast|hiddenpowerrock": 3.629, - "bugbuzz|encore|focusblast|spikes": 3.226, - "bugbuzz|encore|focusblast|toxicspikes": 1.815, - "bugbuzz|encore|focusblast|yawn": 2.218, - "bugbuzz|encore|hiddenpowerrock|spikes": 3.024, - "bugbuzz|encore|hiddenpowerrock|toxicspikes": 2.621, - "bugbuzz|encore|hiddenpowerrock|yawn": 4.032, - "bugbuzz|encore|spikes|toxicspikes": 2.218, - "bugbuzz|encore|spikes|yawn": 2.621, - "bugbuzz|encore|toxicspikes|yawn": 1.815, - "bugbuzz|energyball|focusblast|hiddenpowerrock": 2.218, - "bugbuzz|energyball|focusblast|spikes": 2.419, - "bugbuzz|energyball|focusblast|toxicspikes": 3.226, - "bugbuzz|energyball|focusblast|yawn": 3.024, - "bugbuzz|energyball|hiddenpowerrock|spikes": 4.637, - "bugbuzz|energyball|hiddenpowerrock|toxicspikes": 2.823, - "bugbuzz|energyball|hiddenpowerrock|yawn": 3.629, - "bugbuzz|energyball|spikes|toxicspikes": 2.419, - "bugbuzz|energyball|spikes|yawn": 2.621, - "bugbuzz|energyball|toxicspikes|yawn": 3.024, - "bugbuzz|focusblast|hiddenpowerrock|spikes": 2.621, - "bugbuzz|focusblast|hiddenpowerrock|toxicspikes": 2.823, - "bugbuzz|focusblast|hiddenpowerrock|yawn": 3.024, - "bugbuzz|focusblast|spikes|toxicspikes": 4.032, - "bugbuzz|focusblast|spikes|yawn": 1.815, - "bugbuzz|focusblast|toxicspikes|yawn": 3.024, - "bugbuzz|hiddenpowerrock|spikes|toxicspikes": 1.411, - "bugbuzz|hiddenpowerrock|spikes|yawn": 2.621, - "bugbuzz|hiddenpowerrock|toxicspikes|yawn": 2.823, - "bugbuzz|spikes|toxicspikes|yawn": 1.815 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aegislash": { - "abilities": [ - [ - "stancechange", - 100.0 - ] - ], - "count": 677, - "items": [ - [ - "leftovers", - 40.177 - ], - [ - "lifeorb", - 59.823 - ] - ], - "moves": [ - [ - "ironhead", - 76.809 - ], - [ - "shadowsneak", - 57.016 - ], - [ - "swordsdance", - 61.891 - ], - [ - "kingsshield", - 76.809 - ], - [ - "sacredsword", - 44.018 - ], - [ - "shadowball", - 23.781 - ], - [ - "shadowclaw", - 33.53 - ], - [ - "flashcannon", - 11.374 - ], - [ - "hiddenpowerice", - 14.771 - ] - ], - "sets": { - "flashcannon|hiddenpowerice|kingsshield|shadowball": 0.886, - "flashcannon|hiddenpowerice|kingsshield|shadowclaw": 1.477, - "flashcannon|hiddenpowerice|kingsshield|shadowsneak": 0.886, - "flashcannon|hiddenpowerice|sacredsword|shadowball": 0.148, - "flashcannon|kingsshield|sacredsword|shadowball": 1.773, - "flashcannon|kingsshield|sacredsword|shadowclaw": 1.182, - "flashcannon|kingsshield|sacredsword|shadowsneak": 2.068, - "flashcannon|kingsshield|shadowball|shadowsneak": 2.954, - "hiddenpowerice|ironhead|kingsshield|shadowball": 3.102, - "hiddenpowerice|ironhead|kingsshield|shadowclaw": 2.068, - "hiddenpowerice|ironhead|kingsshield|shadowsneak": 1.92, - "hiddenpowerice|ironhead|sacredsword|shadowball": 0.295, - "hiddenpowerice|ironhead|sacredsword|shadowsneak": 0.591, - "hiddenpowerice|ironhead|shadowball|shadowsneak": 0.295, - "hiddenpowerice|kingsshield|sacredsword|shadowball": 1.182, - "hiddenpowerice|kingsshield|sacredsword|shadowclaw": 1.182, - "hiddenpowerice|kingsshield|shadowball|shadowsneak": 0.739, - "ironhead|kingsshield|sacredsword|shadowball": 2.068, - "ironhead|kingsshield|sacredsword|shadowclaw": 1.329, - "ironhead|kingsshield|sacredsword|shadowsneak": 1.625, - "ironhead|kingsshield|shadowball|shadowsneak": 8.715, - "ironhead|kingsshield|shadowclaw|swordsdance": 9.749, - "ironhead|kingsshield|shadowsneak|swordsdance": 23.191, - "ironhead|sacredsword|shadowball|shadowsneak": 0.148, - "ironhead|sacredsword|shadowclaw|swordsdance": 9.306, - "ironhead|sacredsword|shadowsneak|swordsdance": 12.408, - "kingsshield|sacredsword|shadowball|shadowsneak": 1.477, - "kingsshield|sacredsword|shadowclaw|swordsdance": 7.238 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aerodactyl": { - "abilities": [ - [ - "unnerve", - 12.0 - ], - [ - "pressure", - 33.6 - ], - [ - "rockhead", - 54.4 - ] - ], - "count": 125, - "items": [ - [ - "lifeorb", - 44.0 - ], - [ - "leftovers", - 56.0 - ] - ], - "moves": [ - [ - "earthquake", - 44.0 - ], - [ - "stealthrock", - 32.8 - ], - [ - "stoneedge", - 100.0 - ], - [ - "pursuit", - 32.0 - ], - [ - "roost", - 65.6 - ], - [ - "doubleedge", - 54.4 - ], - [ - "defog", - 27.2 - ], - [ - "taunt", - 44.0 - ] - ], - "sets": { - "defog|doubleedge|pursuit|stoneedge": 4.0, - "defog|doubleedge|roost|stoneedge": 5.6, - "defog|earthquake|pursuit|stoneedge": 4.0, - "defog|earthquake|roost|stoneedge": 6.4, - "defog|earthquake|stoneedge|taunt": 1.6, - "defog|roost|stoneedge|taunt": 5.6, - "doubleedge|earthquake|roost|stoneedge": 4.8, - "doubleedge|earthquake|stealthrock|stoneedge": 4.0, - "doubleedge|earthquake|stoneedge|taunt": 3.2, - "doubleedge|pursuit|roost|stoneedge": 6.4, - "doubleedge|pursuit|stealthrock|stoneedge": 2.4, - "doubleedge|pursuit|stoneedge|taunt": 7.2, - "doubleedge|roost|stealthrock|stoneedge": 6.4, - "doubleedge|roost|stoneedge|taunt": 5.6, - "doubleedge|stealthrock|stoneedge|taunt": 4.8, - "earthquake|pursuit|roost|stoneedge": 5.6, - "earthquake|pursuit|stealthrock|stoneedge": 0.8, - "earthquake|pursuit|stoneedge|taunt": 1.6, - "earthquake|roost|stealthrock|stoneedge": 5.6, - "earthquake|roost|stoneedge|taunt": 5.6, - "earthquake|stealthrock|stoneedge|taunt": 0.8, - "roost|stealthrock|stoneedge|taunt": 8.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aerodactylmega": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 374, - "items": [ - [ - "aerodactylite", - 100.0 - ] - ], - "moves": [ - [ - "aquatail", - 38.77 - ], - [ - "stoneedge", - 87.968 - ], - [ - "aerialace", - 67.647 - ], - [ - "firefang", - 46.257 - ], - [ - "roost", - 63.369 - ], - [ - "earthquake", - 38.77 - ], - [ - "honeclaws", - 57.219 - ] - ], - "sets": { - "aerialace|aquatail|earthquake|firefang": 4.011, - "aerialace|aquatail|earthquake|roost": 2.139, - "aerialace|aquatail|earthquake|stoneedge": 1.872, - "aerialace|aquatail|firefang|roost": 2.941, - "aerialace|aquatail|firefang|stoneedge": 2.941, - "aerialace|aquatail|honeclaws|stoneedge": 4.011, - "aerialace|aquatail|roost|stoneedge": 4.011, - "aerialace|earthquake|firefang|roost": 2.941, - "aerialace|earthquake|firefang|stoneedge": 4.011, - "aerialace|earthquake|honeclaws|stoneedge": 3.476, - "aerialace|earthquake|roost|stoneedge": 4.011, - "aerialace|firefang|honeclaws|stoneedge": 7.754, - "aerialace|firefang|roost|stoneedge": 2.941, - "aerialace|honeclaws|roost|stoneedge": 20.588, - "aquatail|earthquake|firefang|stoneedge": 1.872, - "aquatail|earthquake|honeclaws|stoneedge": 1.604, - "aquatail|earthquake|roost|stoneedge": 3.209, - "aquatail|firefang|honeclaws|stoneedge": 2.674, - "aquatail|firefang|roost|stoneedge": 2.406, - "aquatail|honeclaws|roost|stoneedge": 5.08, - "earthquake|firefang|honeclaws|stoneedge": 2.406, - "earthquake|firefang|roost|stoneedge": 3.476, - "earthquake|honeclaws|roost|stoneedge": 3.743, - "firefang|honeclaws|roost|stoneedge": 5.882 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aggron": { - "abilities": [ - [ - "rockhead", - 68.293 - ], - [ - "sturdy", - 31.707 - ] - ], - "count": 123, - "items": [ - [ - "airballoon", - 82.114 - ], - [ - "choiceband", - 17.886 - ] - ], - "moves": [ - [ - "lowkick", - 54.472 - ], - [ - "headsmash", - 68.293 - ], - [ - "rockpolish", - 44.715 - ], - [ - "heavyslam", - 74.797 - ], - [ - "earthquake", - 56.911 - ], - [ - "aquatail", - 63.415 - ], - [ - "stealthrock", - 20.325 - ], - [ - "autotomize", - 17.073 - ] - ], - "sets": { - "aquatail|autotomize|earthquake|headsmash": 8.13, - "aquatail|autotomize|headsmash|lowkick": 4.065, - "aquatail|earthquake|headsmash|heavyslam": 4.065, - "aquatail|earthquake|headsmash|lowkick": 2.439, - "aquatail|earthquake|headsmash|stealthrock": 1.626, - "aquatail|earthquake|heavyslam|lowkick": 5.691, - "aquatail|earthquake|heavyslam|rockpolish": 3.252, - "aquatail|earthquake|heavyslam|stealthrock": 2.439, - "aquatail|headsmash|heavyslam|lowkick": 4.065, - "aquatail|headsmash|heavyslam|rockpolish": 11.382, - "aquatail|headsmash|heavyslam|stealthrock": 1.626, - "aquatail|headsmash|lowkick|stealthrock": 3.252, - "aquatail|heavyslam|lowkick|rockpolish": 7.317, - "aquatail|heavyslam|lowkick|stealthrock": 4.065, - "autotomize|earthquake|headsmash|lowkick": 4.878, - "earthquake|headsmash|heavyslam|lowkick": 1.626, - "earthquake|headsmash|heavyslam|rockpolish": 8.943, - "earthquake|headsmash|heavyslam|stealthrock": 4.065, - "earthquake|headsmash|lowkick|stealthrock": 0.813, - "earthquake|heavyslam|lowkick|rockpolish": 8.13, - "earthquake|heavyslam|lowkick|stealthrock": 0.813, - "headsmash|heavyslam|lowkick|rockpolish": 5.691, - "headsmash|heavyslam|lowkick|stealthrock": 1.626 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aggronmega": { - "abilities": [ - [ - "filter", - 100.0 - ] - ], - "count": 404, - "items": [ - [ - "aggronite", - 100.0 - ] - ], - "moves": [ - [ - "heavyslam", - 100.0 - ], - [ - "roar", - 59.901 - ], - [ - "rockslide", - 59.901 - ], - [ - "earthquake", - 55.693 - ], - [ - "stealthrock", - 46.04 - ], - [ - "thunderwave", - 28.218 - ], - [ - "toxic", - 50.248 - ] - ], - "sets": { - "earthquake|heavyslam|roar|rockslide": 7.673, - "earthquake|heavyslam|roar|stealthrock": 5.446, - "earthquake|heavyslam|roar|thunderwave": 5.941, - "earthquake|heavyslam|roar|toxic": 9.158, - "earthquake|heavyslam|rockslide|stealthrock": 5.198, - "earthquake|heavyslam|rockslide|thunderwave": 3.96, - "earthquake|heavyslam|rockslide|toxic": 8.663, - "earthquake|heavyslam|stealthrock|thunderwave": 3.218, - "earthquake|heavyslam|stealthrock|toxic": 6.436, - "heavyslam|roar|rockslide|stealthrock": 3.218, - "heavyslam|roar|rockslide|thunderwave": 7.673, - "heavyslam|roar|rockslide|toxic": 10.891, - "heavyslam|roar|stealthrock|thunderwave": 4.208, - "heavyslam|roar|stealthrock|toxic": 5.693, - "heavyslam|rockslide|stealthrock|thunderwave": 3.218, - "heavyslam|rockslide|stealthrock|toxic": 9.406 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "alakazam": { - "abilities": [ - [ - "magicguard", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 57.923 - ], - [ - "shadowball", - 100.0 - ], - [ - "psyshock", - 79.781 - ], - [ - "focusblast", - 100.0 - ], - [ - "hiddenpowerice", - 42.077 - ], - [ - "psychic", - 20.219 - ] - ], - "sets": { - "focusblast|hiddenpowerfire|psychic|shadowball": 10.929, - "focusblast|hiddenpowerfire|psyshock|shadowball": 46.995, - "focusblast|hiddenpowerice|psychic|shadowball": 9.29, - "focusblast|hiddenpowerice|psyshock|shadowball": 32.787 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "alakazammega": { - "abilities": [ - [ - "trace", - 100.0 - ] - ], - "count": 472, - "items": [ - [ - "alakazite", - 100.0 - ] - ], - "moves": [ - [ - "focusblast", - 65.466 - ], - [ - "calmmind", - 67.161 - ], - [ - "encore", - 54.237 - ], - [ - "psyshock", - 100.0 - ], - [ - "substitute", - 53.178 - ], - [ - "shadowball", - 59.958 - ] - ], - "sets": { - "calmmind|encore|focusblast|psyshock": 17.161, - "calmmind|encore|psyshock|shadowball": 13.559, - "calmmind|focusblast|psyshock|shadowball": 9.746, - "calmmind|focusblast|psyshock|substitute": 13.771, - "calmmind|psyshock|shadowball|substitute": 12.924, - "encore|focusblast|psyshock|shadowball": 6.356, - "encore|focusblast|psyshock|substitute": 9.11, - "encore|psyshock|shadowball|substitute": 8.051, - "focusblast|psyshock|shadowball|substitute": 9.322 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "alomomola": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 449, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "wish", - 79.733 - ], - [ - "knockoff", - 76.837 - ], - [ - "toxic", - 71.269 - ], - [ - "protect", - 72.16 - ] - ], - "sets": { - "knockoff|protect|scald|toxic": 20.267, - "knockoff|protect|scald|wish": 28.731, - "knockoff|scald|toxic|wish": 27.84, - "protect|scald|toxic|wish": 23.163 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "altaria": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 25, - "items": [ - [ - "leftovers", - 44.0 - ], - [ - "lumberry", - 16.0 - ], - [ - "lifeorb", - 32.0 - ], - [ - "assaultvest", - 8.0 - ] - ], - "moves": [ - [ - "earthquake", - 88.0 - ], - [ - "healbell", - 28.0 - ], - [ - "dragondance", - 48.0 - ], - [ - "dragonclaw", - 52.0 - ], - [ - "roost", - 76.0 - ], - [ - "outrage", - 40.0 - ], - [ - "fireblast", - 28.0 - ], - [ - "dracometeor", - 40.0 - ] - ], - "sets": { - "dracometeor|dragonclaw|earthquake|roost": 8.0, - "dracometeor|dragonclaw|fireblast|roost": 4.0, - "dracometeor|dragonclaw|healbell|roost": 4.0, - "dracometeor|earthquake|fireblast|outrage": 8.0, - "dracometeor|earthquake|fireblast|roost": 8.0, - "dracometeor|earthquake|healbell|outrage": 4.0, - "dracometeor|earthquake|outrage|roost": 4.0, - "dragonclaw|dragondance|earthquake|healbell": 12.0, - "dragonclaw|dragondance|earthquake|roost": 20.0, - "dragonclaw|earthquake|fireblast|roost": 4.0, - "dragondance|earthquake|outrage|roost": 16.0, - "earthquake|healbell|outrage|roost": 4.0, - "fireblast|healbell|outrage|roost": 4.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "altariamega": { - "abilities": [ - [ - "pixilate", - 100.0 - ] - ], - "count": 149, - "items": [ - [ - "altarianite", - 100.0 - ] - ], - "moves": [ - [ - "healbell", - 53.02 - ], - [ - "fireblast", - 36.242 - ], - [ - "roost", - 75.168 - ], - [ - "hypervoice", - 12.081 - ], - [ - "return102", - 87.919 - ], - [ - "dragondance", - 53.691 - ], - [ - "earthquake", - 81.879 - ] - ], - "sets": { - "dragondance|earthquake|healbell|return102": 15.436, - "dragondance|earthquake|return102|roost": 38.255, - "earthquake|fireblast|healbell|hypervoice": 2.013, - "earthquake|fireblast|healbell|return102": 7.383, - "earthquake|fireblast|hypervoice|roost": 3.356, - "earthquake|fireblast|return102|roost": 5.369, - "earthquake|healbell|hypervoice|roost": 2.013, - "earthquake|healbell|return102|roost": 8.054, - "fireblast|healbell|hypervoice|roost": 4.698, - "fireblast|healbell|return102|roost": 13.423 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ambipom": { - "abilities": [ - [ - "technician", - 73.991 - ], - [ - "pickup", - 26.009 - ] - ], - "count": 446, - "items": [ - [ - "choiceband", - 62.108 - ], - [ - "lifeorb", - 37.892 - ] - ], - "moves": [ - [ - "uturn", - 50.224 - ], - [ - "seedbomb", - 56.054 - ], - [ - "lowkick", - 53.812 - ], - [ - "return102", - 100.0 - ], - [ - "fakeout", - 37.892 - ], - [ - "switcheroo", - 48.43 - ], - [ - "knockoff", - 53.587 - ] - ], - "sets": { - "fakeout|knockoff|lowkick|return102": 6.278, - "fakeout|knockoff|return102|seedbomb": 8.744, - "fakeout|knockoff|return102|uturn": 5.83, - "fakeout|lowkick|return102|seedbomb": 6.502, - "fakeout|lowkick|return102|uturn": 4.933, - "fakeout|return102|seedbomb|uturn": 5.605, - "knockoff|lowkick|return102|seedbomb": 2.466, - "knockoff|lowkick|return102|switcheroo": 7.623, - "knockoff|lowkick|return102|uturn": 4.484, - "knockoff|return102|seedbomb|switcheroo": 8.52, - "knockoff|return102|seedbomb|uturn": 2.018, - "knockoff|return102|switcheroo|uturn": 7.623, - "lowkick|return102|seedbomb|switcheroo": 9.641, - "lowkick|return102|seedbomb|uturn": 4.709, - "lowkick|return102|switcheroo|uturn": 7.175, - "return102|seedbomb|switcheroo|uturn": 7.848 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "amoonguss": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 538, - "items": [ - [ - "blacksludge", - 98.513 - ], - [ - "assaultvest", - 1.487 - ] - ], - "moves": [ - [ - "synthesis", - 54.833 - ], - [ - "clearsmog", - 55.576 - ], - [ - "stunspore", - 27.323 - ], - [ - "sludgebomb", - 65.428 - ], - [ - "spore", - 42.565 - ], - [ - "hiddenpowerfire", - 45.911 - ], - [ - "gigadrain", - 60.781 - ], - [ - "foulplay", - 47.584 - ] - ], - "sets": { - "clearsmog|foulplay|gigadrain|hiddenpowerfire": 1.115, - "clearsmog|foulplay|gigadrain|sludgebomb": 1.859, - "clearsmog|foulplay|gigadrain|spore": 4.089, - "clearsmog|foulplay|gigadrain|stunspore": 1.673, - "clearsmog|foulplay|gigadrain|synthesis": 2.045, - "clearsmog|foulplay|hiddenpowerfire|sludgebomb": 2.602, - "clearsmog|foulplay|sludgebomb|spore": 2.23, - "clearsmog|foulplay|sludgebomb|stunspore": 1.115, - "clearsmog|foulplay|sludgebomb|synthesis": 2.974, - "clearsmog|gigadrain|hiddenpowerfire|sludgebomb": 1.859, - "clearsmog|gigadrain|hiddenpowerfire|spore": 2.23, - "clearsmog|gigadrain|hiddenpowerfire|stunspore": 1.487, - "clearsmog|gigadrain|hiddenpowerfire|synthesis": 2.23, - "clearsmog|gigadrain|sludgebomb|spore": 2.045, - "clearsmog|gigadrain|sludgebomb|stunspore": 1.487, - "clearsmog|gigadrain|sludgebomb|synthesis": 1.673, - "clearsmog|gigadrain|spore|synthesis": 4.833, - "clearsmog|gigadrain|stunspore|synthesis": 1.673, - "clearsmog|hiddenpowerfire|sludgebomb|spore": 2.23, - "clearsmog|hiddenpowerfire|sludgebomb|stunspore": 2.602, - "clearsmog|hiddenpowerfire|sludgebomb|synthesis": 3.532, - "clearsmog|sludgebomb|spore|synthesis": 4.647, - "clearsmog|sludgebomb|stunspore|synthesis": 3.346, - "foulplay|gigadrain|hiddenpowerfire|sludgebomb": 1.487, - "foulplay|gigadrain|hiddenpowerfire|spore": 1.673, - "foulplay|gigadrain|hiddenpowerfire|stunspore": 1.115, - "foulplay|gigadrain|hiddenpowerfire|synthesis": 2.416, - "foulplay|gigadrain|sludgebomb|spore": 2.045, - "foulplay|gigadrain|sludgebomb|stunspore": 1.487, - "foulplay|gigadrain|sludgebomb|synthesis": 2.416, - "foulplay|gigadrain|spore|synthesis": 2.602, - "foulplay|gigadrain|stunspore|synthesis": 2.045, - "foulplay|hiddenpowerfire|sludgebomb|spore": 2.974, - "foulplay|hiddenpowerfire|sludgebomb|stunspore": 1.487, - "foulplay|hiddenpowerfire|sludgebomb|synthesis": 2.045, - "foulplay|sludgebomb|spore|synthesis": 2.974, - "foulplay|sludgebomb|stunspore|synthesis": 1.115, - "gigadrain|hiddenpowerfire|sludgebomb|spore": 2.416, - "gigadrain|hiddenpowerfire|sludgebomb|stunspore": 1.859, - "gigadrain|hiddenpowerfire|sludgebomb|synthesis": 1.859, - "gigadrain|hiddenpowerfire|spore|synthesis": 1.301, - "gigadrain|hiddenpowerfire|stunspore|synthesis": 2.045, - "gigadrain|sludgebomb|spore|synthesis": 2.602, - "gigadrain|sludgebomb|stunspore|synthesis": 1.115, - "hiddenpowerfire|sludgebomb|spore|synthesis": 1.673, - "hiddenpowerfire|sludgebomb|stunspore|synthesis": 1.673 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ampharos": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 35, - "items": [ - [ - "leftovers", - 34.286 - ], - [ - "lifeorb", - 34.286 - ], - [ - "lightclay", - 22.857 - ], - [ - "choicespecs", - 8.571 - ] - ], - "moves": [ - [ - "voltswitch", - 68.571 - ], - [ - "hiddenpowerice", - 51.429 - ], - [ - "healbell", - 51.429 - ], - [ - "toxic", - 57.143 - ], - [ - "focusblast", - 42.857 - ], - [ - "lightscreen", - 31.429 - ], - [ - "thunderbolt", - 74.286 - ], - [ - "reflect", - 22.857 - ] - ], - "sets": { - "focusblast|healbell|hiddenpowerice|thunderbolt": 5.714, - "focusblast|healbell|hiddenpowerice|voltswitch": 5.714, - "focusblast|healbell|thunderbolt|toxic": 2.857, - "focusblast|healbell|thunderbolt|voltswitch": 5.714, - "focusblast|hiddenpowerice|thunderbolt|voltswitch": 8.571, - "focusblast|hiddenpowerice|toxic|voltswitch": 2.857, - "focusblast|lightscreen|reflect|thunderbolt": 2.857, - "focusblast|lightscreen|reflect|voltswitch": 2.857, - "focusblast|lightscreen|toxic|voltswitch": 2.857, - "focusblast|thunderbolt|toxic|voltswitch": 2.857, - "healbell|hiddenpowerice|lightscreen|voltswitch": 2.857, - "healbell|hiddenpowerice|thunderbolt|toxic": 8.571, - "healbell|hiddenpowerice|toxic|voltswitch": 2.857, - "healbell|lightscreen|reflect|voltswitch": 2.857, - "healbell|lightscreen|thunderbolt|voltswitch": 2.857, - "healbell|thunderbolt|toxic|voltswitch": 11.429, - "hiddenpowerice|lightscreen|reflect|thunderbolt": 2.857, - "hiddenpowerice|thunderbolt|toxic|voltswitch": 11.429, - "lightscreen|reflect|thunderbolt|toxic": 8.571, - "lightscreen|reflect|toxic|voltswitch": 2.857 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ampharosmega": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 149, - "items": [ - [ - "ampharosite", - 100.0 - ] - ], - "moves": [ - [ - "thunderbolt", - 90.604 - ], - [ - "agility", - 73.154 - ], - [ - "dragonpulse", - 100.0 - ], - [ - "focusblast", - 93.289 - ], - [ - "voltswitch", - 22.148 - ], - [ - "healbell", - 20.805 - ] - ], - "sets": { - "agility|dragonpulse|focusblast|thunderbolt": 73.154, - "dragonpulse|focusblast|healbell|thunderbolt": 4.698, - "dragonpulse|focusblast|healbell|voltswitch": 9.396, - "dragonpulse|focusblast|thunderbolt|voltswitch": 6.04, - "dragonpulse|healbell|thunderbolt|voltswitch": 6.711 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "araquanid": { - "abilities": [ - [ - "waterbubble", - 100.0 - ] - ], - "count": 473, - "items": [ - [ - "leftovers", - 96.829 - ], - [ - "expertbelt", - 3.171 - ] - ], - "moves": [ - [ - "leechlife", - 69.979 - ], - [ - "mirrorcoat", - 64.482 - ], - [ - "toxic", - 54.334 - ], - [ - "liquidation", - 100.0 - ], - [ - "stickyweb", - 84.355 - ], - [ - "lunge", - 26.85 - ] - ], - "sets": { - "leechlife|liquidation|lunge|mirrorcoat": 3.171, - "leechlife|liquidation|mirrorcoat|stickyweb": 30.655, - "leechlife|liquidation|mirrorcoat|toxic": 11.205, - "leechlife|liquidation|stickyweb|toxic": 24.947, - "liquidation|lunge|mirrorcoat|stickyweb": 11.839, - "liquidation|lunge|mirrorcoat|toxic": 1.268, - "liquidation|lunge|stickyweb|toxic": 10.571, - "liquidation|mirrorcoat|stickyweb|toxic": 6.342 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arbok": { - "abilities": [ - [ - "shedskin", - 64.975 - ], - [ - "intimidate", - 35.025 - ] - ], - "count": 197, - "items": [ - [ - "lifeorb", - 34.01 - ], - [ - "focussash", - 35.025 - ], - [ - "blacksludge", - 30.964 - ] - ], - "moves": [ - [ - "gunkshot", - 100.0 - ], - [ - "rest", - 64.975 - ], - [ - "suckerpunch", - 53.299 - ], - [ - "aquatail", - 50.761 - ], - [ - "earthquake", - 54.822 - ], - [ - "coil", - 76.142 - ] - ], - "sets": { - "aquatail|coil|earthquake|gunkshot": 6.091, - "aquatail|coil|gunkshot|rest": 14.721, - "aquatail|coil|gunkshot|suckerpunch": 11.168, - "aquatail|earthquake|gunkshot|rest": 6.091, - "aquatail|earthquake|gunkshot|suckerpunch": 7.614, - "aquatail|gunkshot|rest|suckerpunch": 5.076, - "coil|earthquake|gunkshot|rest": 19.797, - "coil|earthquake|gunkshot|suckerpunch": 10.152, - "coil|gunkshot|rest|suckerpunch": 14.213, - "earthquake|gunkshot|rest|suckerpunch": 5.076 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arcanine": { - "abilities": [ - [ - "intimidate", - 36.727 - ], - [ - "flashfire", - 63.273 - ] - ], - "count": 501, - "items": [ - [ - "lifeorb", - 41.916 - ], - [ - "leftovers", - 53.693 - ], - [ - "choiceband", - 3.194 - ], - [ - "choicescarf", - 1.198 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "crunch", - 40.12 - ], - [ - "morningsun", - 59.88 - ], - [ - "wildcharge", - 35.13 - ], - [ - "willowisp", - 31.337 - ], - [ - "extremespeed", - 34.531 - ], - [ - "closecombat", - 36.527 - ], - [ - "roar", - 33.333 - ], - [ - "toxic", - 29.142 - ] - ], - "sets": { - "closecombat|crunch|extremespeed|flareblitz": 0.798, - "closecombat|crunch|flareblitz|morningsun": 2.794, - "closecombat|crunch|flareblitz|roar": 2.196, - "closecombat|crunch|flareblitz|toxic": 0.798, - "closecombat|crunch|flareblitz|wildcharge": 1.597, - "closecombat|crunch|flareblitz|willowisp": 2.395, - "closecombat|extremespeed|flareblitz|morningsun": 2.994, - "closecombat|extremespeed|flareblitz|roar": 0.798, - "closecombat|extremespeed|flareblitz|toxic": 1.198, - "closecombat|extremespeed|flareblitz|wildcharge": 1.198, - "closecombat|extremespeed|flareblitz|willowisp": 2.395, - "closecombat|flareblitz|morningsun|roar": 2.794, - "closecombat|flareblitz|morningsun|toxic": 2.196, - "closecombat|flareblitz|morningsun|wildcharge": 2.994, - "closecombat|flareblitz|morningsun|willowisp": 3.593, - "closecombat|flareblitz|roar|toxic": 1.597, - "closecombat|flareblitz|roar|wildcharge": 0.798, - "closecombat|flareblitz|roar|willowisp": 1.397, - "closecombat|flareblitz|toxic|wildcharge": 0.998, - "closecombat|flareblitz|wildcharge|willowisp": 0.998, - "crunch|extremespeed|flareblitz|morningsun": 2.395, - "crunch|extremespeed|flareblitz|roar": 1.397, - "crunch|extremespeed|flareblitz|toxic": 1.796, - "crunch|extremespeed|flareblitz|wildcharge": 0.798, - "crunch|extremespeed|flareblitz|willowisp": 1.796, - "crunch|flareblitz|morningsun|roar": 2.794, - "crunch|flareblitz|morningsun|toxic": 3.792, - "crunch|flareblitz|morningsun|wildcharge": 3.593, - "crunch|flareblitz|morningsun|willowisp": 3.792, - "crunch|flareblitz|roar|toxic": 2.395, - "crunch|flareblitz|roar|wildcharge": 0.798, - "crunch|flareblitz|roar|willowisp": 0.998, - "crunch|flareblitz|toxic|wildcharge": 1.597, - "crunch|flareblitz|wildcharge|willowisp": 1.597, - "extremespeed|flareblitz|morningsun|roar": 3.593, - "extremespeed|flareblitz|morningsun|toxic": 2.395, - "extremespeed|flareblitz|morningsun|wildcharge": 2.395, - "extremespeed|flareblitz|morningsun|willowisp": 2.994, - "extremespeed|flareblitz|roar|toxic": 1.198, - "extremespeed|flareblitz|roar|wildcharge": 0.599, - "extremespeed|flareblitz|roar|willowisp": 1.198, - "extremespeed|flareblitz|toxic|wildcharge": 1.198, - "extremespeed|flareblitz|wildcharge|willowisp": 1.397, - "flareblitz|morningsun|roar|toxic": 2.595, - "flareblitz|morningsun|roar|wildcharge": 2.196, - "flareblitz|morningsun|roar|willowisp": 1.796, - "flareblitz|morningsun|toxic|wildcharge": 4.391, - "flareblitz|morningsun|wildcharge|willowisp": 3.792, - "flareblitz|roar|toxic|wildcharge": 0.998, - "flareblitz|roar|wildcharge|willowisp": 1.198 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceus": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 20, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "extremespeed", - 100.0 - ], - [ - "recover", - 70.0 - ], - [ - "shadowclaw", - 90.0 - ], - [ - "earthquake", - 70.0 - ], - [ - "swordsdance", - 70.0 - ] - ], - "sets": { - "earthquake|extremespeed|recover|shadowclaw": 30.0, - "earthquake|extremespeed|recover|swordsdance": 10.0, - "earthquake|extremespeed|shadowclaw|swordsdance": 30.0, - "extremespeed|recover|shadowclaw|swordsdance": 30.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusbug": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 20, - "items": [ - [ - "buginiumz", - 55.0 - ], - [ - "insectplate", - 45.0 - ] - ], - "moves": [ - [ - "swordsdance", - 80.0 - ], - [ - "stoneedge", - 45.0 - ], - [ - "recover", - 65.0 - ], - [ - "xscissor", - 100.0 - ], - [ - "earthquake", - 35.0 - ], - [ - "ironhead", - 75.0 - ] - ], - "sets": { - "earthquake|ironhead|recover|xscissor": 5.0, - "earthquake|ironhead|stoneedge|xscissor": 10.0, - "earthquake|ironhead|swordsdance|xscissor": 15.0, - "earthquake|recover|stoneedge|xscissor": 5.0, - "ironhead|recover|swordsdance|xscissor": 35.0, - "ironhead|stoneedge|swordsdance|xscissor": 10.0, - "recover|stoneedge|swordsdance|xscissor": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusdark": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 30, - "items": [ - [ - "dreadplate", - 100.0 - ] - ], - "moves": [ - [ - "judgment", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "toxic", - 30.0 - ], - [ - "recover", - 100.0 - ], - [ - "calmmind", - 70.0 - ] - ], - "sets": { - "calmmind|fireblast|judgment|recover": 70.0, - "fireblast|judgment|recover|toxic": 30.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusdragon": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 36, - "items": [ - [ - "dragoniumz", - 30.556 - ], - [ - "dracoplate", - 69.444 - ] - ], - "moves": [ - [ - "recover", - 69.444 - ], - [ - "swordsdance", - 50.0 - ], - [ - "outrage", - 83.333 - ], - [ - "earthquake", - 44.444 - ], - [ - "willowisp", - 50.0 - ], - [ - "extremespeed", - 44.444 - ], - [ - "judgment", - 16.667 - ], - [ - "defog", - 19.444 - ], - [ - "fireblast", - 22.222 - ] - ], - "sets": { - "defog|earthquake|fireblast|judgment": 2.778, - "defog|earthquake|outrage|recover": 2.778, - "defog|extremespeed|outrage|recover": 2.778, - "defog|fireblast|judgment|willowisp": 5.556, - "defog|judgment|recover|willowisp": 2.778, - "defog|outrage|recover|willowisp": 2.778, - "earthquake|extremespeed|outrage|recover": 2.778, - "earthquake|extremespeed|outrage|swordsdance": 5.556, - "earthquake|fireblast|judgment|recover": 2.778, - "earthquake|fireblast|outrage|willowisp": 2.778, - "earthquake|outrage|recover|swordsdance": 11.111, - "earthquake|outrage|recover|willowisp": 5.556, - "earthquake|outrage|swordsdance|willowisp": 8.333, - "extremespeed|judgment|recover|willowisp": 2.778, - "extremespeed|outrage|recover|swordsdance": 19.444, - "extremespeed|outrage|recover|willowisp": 5.556, - "extremespeed|outrage|swordsdance|willowisp": 5.556, - "fireblast|outrage|recover|willowisp": 8.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceuselectric": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 35, - "items": [ - [ - "zapplate", - 100.0 - ] - ], - "moves": [ - [ - "earthpower", - 80.0 - ], - [ - "icebeam", - 51.429 - ], - [ - "calmmind", - 88.571 - ], - [ - "judgment", - 100.0 - ], - [ - "recover", - 80.0 - ] - ], - "sets": { - "calmmind|earthpower|icebeam|judgment": 20.0, - "calmmind|earthpower|judgment|recover": 48.571, - "calmmind|icebeam|judgment|recover": 20.0, - "earthpower|icebeam|judgment|recover": 11.429 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusfairy": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 26, - "items": [ - [ - "pixieplate", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 23.077 - ], - [ - "recover", - 92.308 - ], - [ - "defog", - 23.077 - ], - [ - "judgment", - 100.0 - ], - [ - "calmmind", - 46.154 - ], - [ - "earthpower", - 76.923 - ], - [ - "willowisp", - 38.462 - ] - ], - "sets": { - "calmmind|earthpower|judgment|recover": 38.462, - "calmmind|earthpower|judgment|willowisp": 7.692, - "defog|judgment|recover|toxic": 11.538, - "defog|judgment|recover|willowisp": 11.538, - "earthpower|judgment|recover|toxic": 11.538, - "earthpower|judgment|recover|willowisp": 19.231 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusfighting": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 41, - "items": [ - [ - "fistplate", - 100.0 - ] - ], - "moves": [ - [ - "judgment", - 100.0 - ], - [ - "icebeam", - 53.659 - ], - [ - "calmmind", - 60.976 - ], - [ - "shadowball", - 60.976 - ], - [ - "recover", - 73.171 - ], - [ - "roar", - 21.951 - ], - [ - "stoneedge", - 29.268 - ] - ], - "sets": { - "calmmind|icebeam|judgment|recover": 21.951, - "calmmind|icebeam|judgment|shadowball": 17.073, - "calmmind|judgment|recover|shadowball": 21.951, - "icebeam|judgment|recover|shadowball": 4.878, - "icebeam|judgment|recover|stoneedge": 4.878, - "icebeam|judgment|roar|stoneedge": 2.439, - "icebeam|judgment|shadowball|stoneedge": 2.439, - "judgment|recover|roar|shadowball": 4.878, - "judgment|recover|roar|stoneedge": 9.756, - "judgment|recover|shadowball|stoneedge": 4.878, - "judgment|roar|shadowball|stoneedge": 4.878 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusfire": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 32, - "items": [ - [ - "flameplate", - 50.0 - ], - [ - "firiumz", - 50.0 - ] - ], - "moves": [ - [ - "calmmind", - 65.625 - ], - [ - "fireblast", - 100.0 - ], - [ - "recover", - 81.25 - ], - [ - "icebeam", - 59.375 - ], - [ - "thunderbolt", - 68.75 - ], - [ - "roar", - 25.0 - ] - ], - "sets": { - "calmmind|fireblast|icebeam|recover": 21.875, - "calmmind|fireblast|icebeam|thunderbolt": 15.625, - "calmmind|fireblast|recover|thunderbolt": 28.125, - "fireblast|icebeam|recover|roar": 9.375, - "fireblast|icebeam|recover|thunderbolt": 9.375, - "fireblast|icebeam|roar|thunderbolt": 3.125, - "fireblast|recover|roar|thunderbolt": 12.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusflying": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 31, - "items": [ - [ - "skyplate", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 96.774 - ], - [ - "calmmind", - 74.194 - ], - [ - "judgment", - 100.0 - ], - [ - "earthpower", - 58.065 - ], - [ - "fireblast", - 61.29 - ], - [ - "toxic", - 9.677 - ] - ], - "sets": { - "calmmind|earthpower|fireblast|judgment": 3.226, - "calmmind|earthpower|judgment|recover": 35.484, - "calmmind|fireblast|judgment|recover": 35.484, - "earthpower|fireblast|judgment|recover": 16.129, - "earthpower|judgment|recover|toxic": 3.226, - "fireblast|judgment|recover|toxic": 6.452 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusghost": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 34, - "items": [ - [ - "ghostiumz", - 35.294 - ], - [ - "spookyplate", - 64.706 - ] - ], - "moves": [ - [ - "shadowforce", - 70.588 - ], - [ - "extremespeed", - 64.706 - ], - [ - "recover", - 70.588 - ], - [ - "swordsdance", - 55.882 - ], - [ - "toxic", - 32.353 - ], - [ - "shadowclaw", - 26.471 - ], - [ - "brickbreak", - 55.882 - ], - [ - "defog", - 20.588 - ], - [ - "judgment", - 2.941 - ] - ], - "sets": { - "brickbreak|defog|extremespeed|shadowforce": 2.941, - "brickbreak|defog|shadowclaw|toxic": 8.824, - "brickbreak|extremespeed|judgment|toxic": 2.941, - "brickbreak|extremespeed|recover|shadowclaw": 2.941, - "brickbreak|extremespeed|shadowforce|swordsdance": 11.765, - "brickbreak|recover|shadowclaw|swordsdance": 5.882, - "brickbreak|recover|shadowforce|swordsdance": 17.647, - "brickbreak|recover|shadowforce|toxic": 2.941, - "defog|extremespeed|recover|shadowforce": 5.882, - "defog|extremespeed|shadowforce|toxic": 2.941, - "extremespeed|recover|shadowclaw|swordsdance": 2.941, - "extremespeed|recover|shadowclaw|toxic": 5.882, - "extremespeed|recover|shadowforce|swordsdance": 17.647, - "extremespeed|recover|shadowforce|toxic": 8.824 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusgrass": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 23, - "items": [ - [ - "meadowplate", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 82.609 - ], - [ - "recover", - 82.609 - ], - [ - "calmmind", - 73.913 - ], - [ - "judgment", - 100.0 - ], - [ - "fireblast", - 60.87 - ] - ], - "sets": { - "calmmind|fireblast|icebeam|judgment": 17.391, - "calmmind|fireblast|judgment|recover": 17.391, - "calmmind|icebeam|judgment|recover": 39.13, - "fireblast|icebeam|judgment|recover": 26.087 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusground": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 39, - "items": [ - [ - "groundiumz", - 43.59 - ], - [ - "earthplate", - 56.41 - ] - ], - "moves": [ - [ - "earthquake", - 84.615 - ], - [ - "stealthrock", - 23.077 - ], - [ - "icebeam", - 25.641 - ], - [ - "toxic", - 35.897 - ], - [ - "stoneedge", - 79.487 - ], - [ - "swordsdance", - 56.41 - ], - [ - "recover", - 79.487 - ], - [ - "judgment", - 15.385 - ] - ], - "sets": { - "earthquake|icebeam|recover|stealthrock": 2.564, - "earthquake|icebeam|recover|toxic": 2.564, - "earthquake|icebeam|stealthrock|stoneedge": 2.564, - "earthquake|icebeam|stealthrock|toxic": 2.564, - "earthquake|icebeam|stoneedge|toxic": 7.692, - "earthquake|recover|stealthrock|toxic": 5.128, - "earthquake|recover|stoneedge|swordsdance": 56.41, - "earthquake|recover|stoneedge|toxic": 2.564, - "earthquake|stealthrock|stoneedge|toxic": 2.564, - "icebeam|judgment|recover|toxic": 2.564, - "icebeam|judgment|stealthrock|toxic": 2.564, - "icebeam|judgment|stoneedge|toxic": 2.564, - "judgment|recover|stealthrock|stoneedge": 2.564, - "judgment|recover|stealthrock|toxic": 2.564, - "judgment|recover|stoneedge|toxic": 2.564 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusice": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 30, - "items": [ - [ - "icicleplate", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 76.667 - ], - [ - "calmmind", - 76.667 - ], - [ - "thunderbolt", - 73.333 - ], - [ - "judgment", - 100.0 - ], - [ - "fireblast", - 73.333 - ] - ], - "sets": { - "calmmind|fireblast|judgment|recover": 26.667, - "calmmind|fireblast|judgment|thunderbolt": 23.333, - "calmmind|judgment|recover|thunderbolt": 26.667, - "fireblast|judgment|recover|thunderbolt": 23.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceuspoison": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 31, - "items": [ - [ - "poisoniumz", - 48.387 - ], - [ - "toxicplate", - 51.613 - ] - ], - "moves": [ - [ - "icebeam", - 61.29 - ], - [ - "recover", - 83.871 - ], - [ - "calmmind", - 67.742 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "fireblast", - 67.742 - ], - [ - "defog", - 19.355 - ] - ], - "sets": { - "calmmind|fireblast|icebeam|sludgebomb": 12.903, - "calmmind|fireblast|recover|sludgebomb": 29.032, - "calmmind|icebeam|recover|sludgebomb": 25.806, - "defog|fireblast|icebeam|sludgebomb": 3.226, - "defog|fireblast|recover|sludgebomb": 9.677, - "defog|icebeam|recover|sludgebomb": 6.452, - "fireblast|icebeam|recover|sludgebomb": 12.903 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceuspsychic": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 24, - "items": [ - [ - "mindplate", - 100.0 - ] - ], - "moves": [ - [ - "judgment", - 100.0 - ], - [ - "recover", - 83.333 - ], - [ - "fireblast", - 75.0 - ], - [ - "toxic", - 25.0 - ], - [ - "calmmind", - 54.167 - ], - [ - "icebeam", - 62.5 - ] - ], - "sets": { - "calmmind|fireblast|icebeam|judgment": 12.5, - "calmmind|fireblast|judgment|recover": 20.833, - "calmmind|icebeam|judgment|recover": 20.833, - "fireblast|icebeam|judgment|recover": 20.833, - "fireblast|icebeam|judgment|toxic": 4.167, - "fireblast|judgment|recover|toxic": 16.667, - "icebeam|judgment|recover|toxic": 4.167 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceusrock": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 38, - "items": [ - [ - "stoneplate", - 57.895 - ], - [ - "rockiumz", - 42.105 - ] - ], - "moves": [ - [ - "recover", - 76.316 - ], - [ - "swordsdance", - 65.789 - ], - [ - "stoneedge", - 92.105 - ], - [ - "earthquake", - 94.737 - ], - [ - "willowisp", - 44.737 - ], - [ - "stealthrock", - 18.421 - ], - [ - "judgment", - 7.895 - ] - ], - "sets": { - "earthquake|judgment|recover|willowisp": 2.632, - "earthquake|judgment|stealthrock|willowisp": 2.632, - "earthquake|recover|stealthrock|stoneedge": 5.263, - "earthquake|recover|stoneedge|swordsdance": 50.0, - "earthquake|recover|stoneedge|willowisp": 13.158, - "earthquake|stealthrock|stoneedge|willowisp": 5.263, - "earthquake|stoneedge|swordsdance|willowisp": 15.789, - "judgment|recover|stealthrock|willowisp": 2.632, - "recover|stealthrock|stoneedge|willowisp": 2.632 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceussteel": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 43, - "items": [ - [ - "ironplate", - 65.116 - ], - [ - "steeliumz", - 34.884 - ] - ], - "moves": [ - [ - "willowisp", - 37.209 - ], - [ - "recover", - 67.442 - ], - [ - "roar", - 30.233 - ], - [ - "ironhead", - 79.07 - ], - [ - "defog", - 27.907 - ], - [ - "stoneedge", - 48.837 - ], - [ - "earthquake", - 51.163 - ], - [ - "judgment", - 20.93 - ], - [ - "swordsdance", - 37.209 - ] - ], - "sets": { - "defog|earthquake|ironhead|recover": 4.651, - "defog|earthquake|ironhead|willowisp": 2.326, - "defog|earthquake|judgment|recover": 4.651, - "defog|earthquake|judgment|willowisp": 2.326, - "defog|ironhead|recover|roar": 2.326, - "defog|ironhead|recover|stoneedge": 2.326, - "defog|ironhead|roar|stoneedge": 2.326, - "defog|ironhead|roar|willowisp": 2.326, - "defog|judgment|recover|stoneedge": 2.326, - "defog|judgment|stoneedge|willowisp": 2.326, - "earthquake|ironhead|recover|stoneedge": 2.326, - "earthquake|ironhead|recover|swordsdance": 11.628, - "earthquake|ironhead|recover|willowisp": 4.651, - "earthquake|ironhead|stoneedge|swordsdance": 4.651, - "earthquake|ironhead|stoneedge|willowisp": 2.326, - "earthquake|ironhead|swordsdance|willowisp": 6.977, - "earthquake|judgment|recover|roar": 2.326, - "earthquake|judgment|roar|willowisp": 2.326, - "ironhead|recover|roar|stoneedge": 6.977, - "ironhead|recover|roar|willowisp": 4.651, - "ironhead|recover|stoneedge|swordsdance": 13.953, - "ironhead|recover|stoneedge|willowisp": 2.326, - "ironhead|roar|stoneedge|willowisp": 2.326, - "judgment|recover|roar|stoneedge": 2.326, - "judgment|roar|stoneedge|willowisp": 2.326 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arceuswater": { - "abilities": [ - [ - "multitype", - 100.0 - ] - ], - "count": 27, - "items": [ - [ - "splashplate", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 77.778 - ], - [ - "icebeam", - 92.593 - ], - [ - "calmmind", - 48.148 - ], - [ - "judgment", - 100.0 - ], - [ - "toxic", - 37.037 - ], - [ - "defog", - 44.444 - ] - ], - "sets": { - "calmmind|icebeam|judgment|recover": 48.148, - "defog|icebeam|judgment|recover": 14.815, - "defog|icebeam|judgment|toxic": 22.222, - "defog|judgment|recover|toxic": 7.407, - "icebeam|judgment|recover|toxic": 7.407 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "archeops": { - "abilities": [ - [ - "defeatist", - 100.0 - ] - ], - "count": 703, - "items": [ - [ - "None", - 66.145 - ], - [ - "lifeorb", - 6.686 - ], - [ - "choiceband", - 11.38 - ], - [ - "leftovers", - 14.225 - ], - [ - "focussash", - 1.565 - ] - ], - "moves": [ - [ - "tailwind", - 59.317 - ], - [ - "stoneedge", - 54.339 - ], - [ - "aquatail", - 64.438 - ], - [ - "acrobatics", - 66.145 - ], - [ - "earthquake", - 62.447 - ], - [ - "headsmash", - 31.01 - ], - [ - "uturn", - 62.304 - ] - ], - "sets": { - "acrobatics|aquatail|earthquake|headsmash": 2.56, - "acrobatics|aquatail|earthquake|stoneedge": 5.263, - "acrobatics|aquatail|earthquake|tailwind": 4.267, - "acrobatics|aquatail|earthquake|uturn": 4.552, - "acrobatics|aquatail|headsmash|tailwind": 3.983, - "acrobatics|aquatail|headsmash|uturn": 2.418, - "acrobatics|aquatail|stoneedge|tailwind": 5.832, - "acrobatics|aquatail|stoneedge|uturn": 5.832, - "acrobatics|aquatail|tailwind|uturn": 3.272, - "acrobatics|earthquake|headsmash|tailwind": 3.272, - "acrobatics|earthquake|headsmash|uturn": 3.556, - "acrobatics|earthquake|stoneedge|tailwind": 5.548, - "acrobatics|earthquake|stoneedge|uturn": 5.121, - "acrobatics|earthquake|tailwind|uturn": 2.56, - "acrobatics|headsmash|tailwind|uturn": 2.703, - "acrobatics|stoneedge|tailwind|uturn": 5.405, - "aquatail|earthquake|headsmash|tailwind": 2.703, - "aquatail|earthquake|headsmash|uturn": 3.983, - "aquatail|earthquake|stoneedge|tailwind": 4.267, - "aquatail|earthquake|stoneedge|uturn": 7.397, - "aquatail|headsmash|tailwind|uturn": 2.987, - "aquatail|stoneedge|tailwind|uturn": 5.121, - "earthquake|headsmash|tailwind|uturn": 2.845, - "earthquake|stoneedge|tailwind|uturn": 4.552 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ariados": { - "abilities": [ - [ - "insomnia", - 46.739 - ], - [ - "sniper", - 38.043 - ], - [ - "swarm", - 15.217 - ] - ], - "count": 184, - "items": [ - [ - "blacksludge", - 60.87 - ], - [ - "focussash", - 39.13 - ] - ], - "moves": [ - [ - "stickyweb", - 85.87 - ], - [ - "megahorn", - 100.0 - ], - [ - "poisonjab", - 100.0 - ], - [ - "suckerpunch", - 59.239 - ], - [ - "toxicspikes", - 54.891 - ] - ], - "sets": { - "megahorn|poisonjab|stickyweb|suckerpunch": 45.109, - "megahorn|poisonjab|stickyweb|toxicspikes": 40.761, - "megahorn|poisonjab|suckerpunch|toxicspikes": 14.13 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "armaldo": { - "abilities": [ - [ - "battlearmor", - 96.939 - ], - [ - "swiftswim", - 3.061 - ] - ], - "count": 196, - "items": [ - [ - "leftovers", - 33.673 - ], - [ - "assaultvest", - 12.755 - ], - [ - "focussash", - 32.143 - ], - [ - "lifeorb", - 16.837 - ], - [ - "choiceband", - 4.592 - ] - ], - "moves": [ - [ - "rapidspin", - 52.041 - ], - [ - "xscissor", - 59.694 - ], - [ - "stealthrock", - 46.939 - ], - [ - "stoneedge", - 69.388 - ], - [ - "toxic", - 54.592 - ], - [ - "earthquake", - 58.163 - ], - [ - "knockoff", - 59.184 - ] - ], - "sets": { - "earthquake|knockoff|rapidspin|stoneedge": 5.102, - "earthquake|knockoff|rapidspin|xscissor": 3.571, - "earthquake|knockoff|stealthrock|stoneedge": 4.082, - "earthquake|knockoff|stealthrock|xscissor": 1.531, - "earthquake|knockoff|stoneedge|toxic": 5.612, - "earthquake|knockoff|stoneedge|xscissor": 4.592, - "earthquake|knockoff|toxic|xscissor": 6.633, - "earthquake|rapidspin|stealthrock|stoneedge": 5.612, - "earthquake|rapidspin|stealthrock|xscissor": 2.551, - "earthquake|rapidspin|stoneedge|toxic": 3.061, - "earthquake|rapidspin|stoneedge|xscissor": 2.551, - "earthquake|rapidspin|toxic|xscissor": 1.02, - "earthquake|stealthrock|stoneedge|toxic": 2.551, - "earthquake|stealthrock|stoneedge|xscissor": 2.041, - "earthquake|stealthrock|toxic|xscissor": 4.082, - "earthquake|stoneedge|toxic|xscissor": 3.571, - "knockoff|rapidspin|stealthrock|stoneedge": 4.592, - "knockoff|rapidspin|stealthrock|xscissor": 2.551, - "knockoff|rapidspin|stoneedge|toxic": 5.102, - "knockoff|rapidspin|stoneedge|xscissor": 1.531, - "knockoff|rapidspin|toxic|xscissor": 3.061, - "knockoff|stealthrock|stoneedge|toxic": 2.551, - "knockoff|stealthrock|stoneedge|xscissor": 2.041, - "knockoff|stealthrock|toxic|xscissor": 3.571, - "knockoff|stoneedge|toxic|xscissor": 3.061, - "rapidspin|stealthrock|stoneedge|toxic": 2.041, - "rapidspin|stealthrock|stoneedge|xscissor": 3.061, - "rapidspin|stealthrock|toxic|xscissor": 2.041, - "rapidspin|stoneedge|toxic|xscissor": 4.592, - "stealthrock|stoneedge|toxic|xscissor": 2.041 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aromatisse": { - "abilities": [ - [ - "aromaveil", - 100.0 - ] - ], - "count": 731, - "items": [ - [ - "leftovers", - 73.598 - ], - [ - "lightclay", - 24.761 - ], - [ - "focussash", - 1.642 - ] - ], - "moves": [ - [ - "aromatherapy", - 71.272 - ], - [ - "wish", - 81.259 - ], - [ - "lightscreen", - 59.644 - ], - [ - "moonblast", - 100.0 - ], - [ - "reflect", - 29.959 - ], - [ - "protect", - 57.866 - ] - ], - "sets": { - "aromatherapy|lightscreen|moonblast|protect": 8.482, - "aromatherapy|lightscreen|moonblast|reflect": 10.26, - "aromatherapy|lightscreen|moonblast|wish": 14.364, - "aromatherapy|moonblast|protect|wish": 35.157, - "aromatherapy|moonblast|reflect|wish": 3.01, - "lightscreen|moonblast|protect|wish": 12.038, - "lightscreen|moonblast|reflect|wish": 14.501, - "moonblast|protect|reflect|wish": 2.189 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "articuno": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 503, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 72.962 - ], - [ - "toxic", - 74.553 - ], - [ - "freezedry", - 71.173 - ], - [ - "roost", - 76.938 - ], - [ - "hurricane", - 75.547 - ], - [ - "icebeam", - 28.827 - ] - ], - "sets": { - "freezedry|hurricane|roost|substitute": 17.296, - "freezedry|hurricane|roost|toxic": 19.881, - "freezedry|hurricane|substitute|toxic": 17.097, - "freezedry|roost|substitute|toxic": 16.899, - "hurricane|icebeam|roost|substitute": 8.151, - "hurricane|icebeam|roost|toxic": 7.157, - "hurricane|icebeam|substitute|toxic": 5.964, - "icebeam|roost|substitute|toxic": 7.555 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "audino": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 112, - "items": [ - [ - "leftovers", - 84.821 - ], - [ - "lightclay", - 15.179 - ] - ], - "moves": [ - [ - "protect", - 42.857 - ], - [ - "toxic", - 42.857 - ], - [ - "doubleedge", - 100.0 - ], - [ - "healbell", - 47.321 - ], - [ - "lightscreen", - 42.857 - ], - [ - "reflect", - 20.536 - ], - [ - "thunderwave", - 29.464 - ], - [ - "wish", - 74.107 - ] - ], - "sets": { - "doubleedge|healbell|lightscreen|protect": 2.679, - "doubleedge|healbell|lightscreen|reflect": 4.464, - "doubleedge|healbell|lightscreen|toxic": 1.786, - "doubleedge|healbell|lightscreen|wish": 5.357, - "doubleedge|healbell|protect|thunderwave": 1.786, - "doubleedge|healbell|protect|toxic": 6.25, - "doubleedge|healbell|protect|wish": 6.25, - "doubleedge|healbell|reflect|wish": 1.786, - "doubleedge|healbell|thunderwave|wish": 7.143, - "doubleedge|healbell|toxic|wish": 9.821, - "doubleedge|lightscreen|protect|thunderwave": 1.786, - "doubleedge|lightscreen|protect|toxic": 2.679, - "doubleedge|lightscreen|protect|wish": 3.571, - "doubleedge|lightscreen|reflect|thunderwave": 3.571, - "doubleedge|lightscreen|reflect|toxic": 0.893, - "doubleedge|lightscreen|reflect|wish": 6.25, - "doubleedge|lightscreen|thunderwave|wish": 3.571, - "doubleedge|lightscreen|toxic|wish": 6.25, - "doubleedge|protect|thunderwave|wish": 8.036, - "doubleedge|protect|toxic|wish": 9.821, - "doubleedge|reflect|thunderwave|wish": 0.893, - "doubleedge|reflect|toxic|wish": 2.679, - "doubleedge|thunderwave|toxic|wish": 2.679 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "audinomega": { - "abilities": [ - [ - "healer", - 100.0 - ] - ], - "count": 356, - "items": [ - [ - "audinite", - 100.0 - ] - ], - "moves": [ - [ - "wish", - 64.326 - ], - [ - "hypervoice", - 72.191 - ], - [ - "fireblast", - 64.607 - ], - [ - "dazzlinggleam", - 74.719 - ], - [ - "calmmind", - 51.966 - ], - [ - "healbell", - 40.169 - ], - [ - "protect", - 32.022 - ] - ], - "sets": { - "calmmind|dazzlinggleam|fireblast|healbell": 2.528, - "calmmind|dazzlinggleam|fireblast|hypervoice": 6.18, - "calmmind|dazzlinggleam|fireblast|wish": 9.831, - "calmmind|dazzlinggleam|healbell|hypervoice": 5.337, - "calmmind|dazzlinggleam|hypervoice|wish": 14.607, - "calmmind|fireblast|healbell|hypervoice": 3.371, - "calmmind|fireblast|hypervoice|wish": 10.112, - "dazzlinggleam|fireblast|healbell|hypervoice": 2.528, - "dazzlinggleam|fireblast|healbell|protect": 3.652, - "dazzlinggleam|fireblast|healbell|wish": 4.213, - "dazzlinggleam|fireblast|hypervoice|protect": 4.775, - "dazzlinggleam|fireblast|hypervoice|wish": 3.652, - "dazzlinggleam|fireblast|protect|wish": 3.652, - "dazzlinggleam|healbell|hypervoice|protect": 3.652, - "dazzlinggleam|healbell|hypervoice|wish": 2.809, - "dazzlinggleam|healbell|protect|wish": 3.933, - "dazzlinggleam|hypervoice|protect|wish": 3.371, - "fireblast|healbell|hypervoice|protect": 3.652, - "fireblast|healbell|hypervoice|wish": 2.809, - "fireblast|hypervoice|protect|wish": 3.652, - "healbell|hypervoice|protect|wish": 1.685 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aurorus": { - "abilities": [ - [ - "snowwarning", - 61.632 - ], - [ - "refrigerate", - 38.368 - ] - ], - "count": 576, - "items": [ - [ - "leftovers", - 84.549 - ], - [ - "choicespecs", - 15.451 - ] - ], - "moves": [ - [ - "blizzard", - 61.632 - ], - [ - "stealthrock", - 48.264 - ], - [ - "earthpower", - 61.111 - ], - [ - "ancientpower", - 63.194 - ], - [ - "thunderwave", - 58.16 - ], - [ - "freezedry", - 69.271 - ], - [ - "hypervoice", - 38.368 - ] - ], - "sets": { - "ancientpower|blizzard|earthpower|freezedry": 9.722, - "ancientpower|blizzard|earthpower|stealthrock": 4.688, - "ancientpower|blizzard|earthpower|thunderwave": 6.424, - "ancientpower|blizzard|freezedry|stealthrock": 5.556, - "ancientpower|blizzard|freezedry|thunderwave": 8.507, - "ancientpower|blizzard|stealthrock|thunderwave": 3.472, - "ancientpower|earthpower|freezedry|hypervoice": 5.729, - "ancientpower|earthpower|hypervoice|stealthrock": 2.257, - "ancientpower|earthpower|hypervoice|thunderwave": 4.861, - "ancientpower|freezedry|hypervoice|stealthrock": 4.861, - "ancientpower|freezedry|hypervoice|thunderwave": 5.208, - "ancientpower|hypervoice|stealthrock|thunderwave": 1.91, - "blizzard|earthpower|freezedry|stealthrock": 5.035, - "blizzard|earthpower|freezedry|thunderwave": 7.986, - "blizzard|earthpower|stealthrock|thunderwave": 5.035, - "blizzard|freezedry|stealthrock|thunderwave": 5.208, - "earthpower|freezedry|hypervoice|stealthrock": 3.993, - "earthpower|freezedry|hypervoice|thunderwave": 3.299, - "earthpower|hypervoice|stealthrock|thunderwave": 2.083, - "freezedry|hypervoice|stealthrock|thunderwave": 4.167 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "avalugg": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "avalanche", - 100.0 - ], - [ - "recover", - 70.225 - ], - [ - "toxic", - 59.551 - ], - [ - "roar", - 60.674 - ], - [ - "rapidspin", - 52.247 - ], - [ - "earthquake", - 57.303 - ] - ], - "sets": { - "avalanche|earthquake|rapidspin|recover": 8.989, - "avalanche|earthquake|rapidspin|roar": 7.303, - "avalanche|earthquake|rapidspin|toxic": 8.427, - "avalanche|earthquake|recover|roar": 15.169, - "avalanche|earthquake|recover|toxic": 11.236, - "avalanche|earthquake|roar|toxic": 6.18, - "avalanche|rapidspin|recover|roar": 8.989, - "avalanche|rapidspin|recover|toxic": 10.674, - "avalanche|rapidspin|roar|toxic": 7.865, - "avalanche|recover|roar|toxic": 15.169 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "azelf": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 453, - "items": [ - [ - "focussash", - 13.907 - ], - [ - "leftovers", - 35.762 - ], - [ - "lifeorb", - 50.331 - ] - ], - "moves": [ - [ - "fireblast", - 62.031 - ], - [ - "nastyplot", - 60.927 - ], - [ - "dazzlinggleam", - 62.914 - ], - [ - "psyshock", - 100.0 - ], - [ - "taunt", - 56.291 - ], - [ - "knockoff", - 19.205 - ], - [ - "explosion", - 20.53 - ], - [ - "stealthrock", - 18.102 - ] - ], - "sets": { - "dazzlinggleam|explosion|fireblast|psyshock": 1.325, - "dazzlinggleam|explosion|knockoff|psyshock": 1.987, - "dazzlinggleam|explosion|psyshock|stealthrock": 0.883, - "dazzlinggleam|explosion|psyshock|taunt": 2.428, - "dazzlinggleam|fireblast|knockoff|psyshock": 1.545, - "dazzlinggleam|fireblast|nastyplot|psyshock": 27.815, - "dazzlinggleam|fireblast|psyshock|stealthrock": 1.545, - "dazzlinggleam|fireblast|psyshock|taunt": 2.208, - "dazzlinggleam|knockoff|psyshock|stealthrock": 1.545, - "dazzlinggleam|knockoff|psyshock|taunt": 3.974, - "dazzlinggleam|nastyplot|psyshock|taunt": 15.232, - "dazzlinggleam|psyshock|stealthrock|taunt": 2.428, - "explosion|fireblast|knockoff|psyshock": 1.545, - "explosion|fireblast|psyshock|stealthrock": 2.649, - "explosion|fireblast|psyshock|taunt": 2.208, - "explosion|knockoff|psyshock|stealthrock": 1.766, - "explosion|knockoff|psyshock|taunt": 2.87, - "explosion|psyshock|stealthrock|taunt": 2.87, - "fireblast|knockoff|psyshock|stealthrock": 1.104, - "fireblast|knockoff|psyshock|taunt": 0.883, - "fireblast|nastyplot|psyshock|taunt": 17.881, - "fireblast|psyshock|stealthrock|taunt": 1.325, - "knockoff|psyshock|stealthrock|taunt": 1.987 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "azumarill": { - "abilities": [ - [ - "hugepower", - 100.0 - ] - ], - "count": 610, - "items": [ - [ - "choiceband", - 56.885 - ], - [ - "normaliumz", - 21.639 - ], - [ - "sitrusberry", - 21.475 - ] - ], - "moves": [ - [ - "knockoff", - 61.803 - ], - [ - "playrough", - 80.492 - ], - [ - "liquidation", - 73.77 - ], - [ - "aquajet", - 81.639 - ], - [ - "bellydrum", - 43.115 - ], - [ - "superpower", - 59.18 - ] - ], - "sets": { - "aquajet|bellydrum|knockoff|liquidation": 9.508, - "aquajet|bellydrum|knockoff|playrough": 10.492, - "aquajet|bellydrum|liquidation|playrough": 5.902, - "aquajet|bellydrum|liquidation|superpower": 10.0, - "aquajet|bellydrum|playrough|superpower": 7.213, - "aquajet|knockoff|liquidation|playrough": 14.918, - "aquajet|knockoff|playrough|superpower": 8.525, - "aquajet|liquidation|playrough|superpower": 15.082, - "knockoff|liquidation|playrough|superpower": 18.361 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "banette": { - "abilities": [ - [ - "insomnia", - 17.241 - ], - [ - "cursedbody", - 82.759 - ] - ], - "count": 29, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "taunt", - 65.517 - ], - [ - "shadowsneak", - 68.966 - ], - [ - "knockoff", - 58.621 - ], - [ - "destinybond", - 68.966 - ], - [ - "willowisp", - 72.414 - ], - [ - "suckerpunch", - 34.483 - ], - [ - "shadowclaw", - 31.034 - ] - ], - "sets": { - "destinybond|knockoff|shadowclaw|taunt": 3.448, - "destinybond|knockoff|shadowclaw|willowisp": 6.897, - "destinybond|knockoff|shadowsneak|taunt": 17.241, - "destinybond|knockoff|shadowsneak|willowisp": 10.345, - "destinybond|shadowclaw|suckerpunch|taunt": 3.448, - "destinybond|shadowclaw|suckerpunch|willowisp": 3.448, - "destinybond|shadowclaw|taunt|willowisp": 3.448, - "destinybond|shadowsneak|suckerpunch|taunt": 3.448, - "destinybond|shadowsneak|suckerpunch|willowisp": 13.793, - "destinybond|shadowsneak|taunt|willowisp": 3.448, - "knockoff|shadowclaw|taunt|willowisp": 10.345, - "knockoff|shadowsneak|taunt|willowisp": 10.345, - "shadowsneak|suckerpunch|taunt|willowisp": 10.345 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "banettemega": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 160, - "items": [ - [ - "banettite", - 100.0 - ] - ], - "moves": [ - [ - "shadowclaw", - 100.0 - ], - [ - "taunt", - 64.375 - ], - [ - "knockoff", - 58.75 - ], - [ - "destinybond", - 73.75 - ], - [ - "suckerpunch", - 38.75 - ], - [ - "willowisp", - 64.375 - ] - ], - "sets": { - "destinybond|knockoff|shadowclaw|suckerpunch": 2.5, - "destinybond|knockoff|shadowclaw|taunt": 20.0, - "destinybond|knockoff|shadowclaw|willowisp": 21.25, - "destinybond|shadowclaw|suckerpunch|taunt": 11.875, - "destinybond|shadowclaw|suckerpunch|willowisp": 10.0, - "destinybond|shadowclaw|taunt|willowisp": 8.125, - "knockoff|shadowclaw|suckerpunch|taunt": 1.25, - "knockoff|shadowclaw|suckerpunch|willowisp": 1.875, - "knockoff|shadowclaw|taunt|willowisp": 11.875, - "shadowclaw|suckerpunch|taunt|willowisp": 11.25 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "barbaracle": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 474, - "items": [ - [ - "whiteherb", - 70.464 - ], - [ - "lifeorb", - 18.143 - ], - [ - "choicescarf", - 4.852 - ], - [ - "focussash", - 4.852 - ], - [ - "choiceband", - 1.266 - ], - [ - "None", - 0.422 - ] - ], - "moves": [ - [ - "shellsmash", - 70.886 - ], - [ - "stoneedge", - 77.848 - ], - [ - "liquidation", - 100.0 - ], - [ - "crosschop", - 62.447 - ], - [ - "stealthrock", - 22.996 - ], - [ - "earthquake", - 65.823 - ] - ], - "sets": { - "crosschop|earthquake|liquidation|shellsmash": 15.19, - "crosschop|earthquake|liquidation|stealthrock": 6.962, - "crosschop|earthquake|liquidation|stoneedge": 6.118, - "crosschop|liquidation|shellsmash|stoneedge": 27.215, - "crosschop|liquidation|stealthrock|stoneedge": 6.962, - "earthquake|liquidation|shellsmash|stoneedge": 28.481, - "earthquake|liquidation|stealthrock|stoneedge": 9.072 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "basculin": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 94, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 76.596 - ], - [ - "liquidation", - 100.0 - ], - [ - "aquajet", - 86.17 - ], - [ - "crunch", - 64.894 - ], - [ - "headsmash", - 72.34 - ] - ], - "sets": { - "aquajet|crunch|headsmash|liquidation": 23.404, - "aquajet|crunch|liquidation|superpower": 27.66, - "aquajet|headsmash|liquidation|superpower": 35.106, - "crunch|headsmash|liquidation|superpower": 13.83 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "basculinbluestriped": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 112, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "headsmash", - 70.536 - ], - [ - "liquidation", - 100.0 - ], - [ - "superpower", - 80.357 - ], - [ - "crunch", - 74.107 - ], - [ - "aquajet", - 75.0 - ] - ], - "sets": { - "aquajet|crunch|headsmash|liquidation": 19.643, - "aquajet|crunch|liquidation|superpower": 29.464, - "aquajet|headsmash|liquidation|superpower": 25.893, - "crunch|headsmash|liquidation|superpower": 25.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bastiodon": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 213, - "items": [ - [ - "leftovers", - 55.399 - ], - [ - "airballoon", - 44.601 - ] - ], - "moves": [ - [ - "toxic", - 54.93 - ], - [ - "rockslide", - 100.0 - ], - [ - "stealthrock", - 55.399 - ], - [ - "protect", - 55.399 - ], - [ - "metalburst", - 74.648 - ], - [ - "roar", - 59.624 - ] - ], - "sets": { - "metalburst|protect|roar|rockslide": 13.146, - "metalburst|protect|rockslide|stealthrock": 11.737, - "metalburst|protect|rockslide|toxic": 12.207, - "metalburst|roar|rockslide|stealthrock": 12.676, - "metalburst|roar|rockslide|toxic": 14.554, - "metalburst|rockslide|stealthrock|toxic": 10.329, - "protect|roar|rockslide|stealthrock": 7.512, - "protect|roar|rockslide|toxic": 4.695, - "protect|rockslide|stealthrock|toxic": 6.103, - "roar|rockslide|stealthrock|toxic": 7.042 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beartic": { - "abilities": [ - [ - "swiftswim", - 99.485 - ], - [ - "slushrush", - 0.515 - ] - ], - "count": 194, - "items": [ - [ - "lifeorb", - 42.784 - ], - [ - "choiceband", - 26.804 - ], - [ - "focussash", - 30.412 - ] - ], - "moves": [ - [ - "nightslash", - 55.67 - ], - [ - "swordsdance", - 73.196 - ], - [ - "superpower", - 63.918 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "stoneedge", - 57.216 - ], - [ - "aquajet", - 50.0 - ] - ], - "sets": { - "aquajet|iciclecrash|nightslash|stoneedge": 3.093, - "aquajet|iciclecrash|nightslash|superpower": 6.186, - "aquajet|iciclecrash|nightslash|swordsdance": 9.794, - "aquajet|iciclecrash|stoneedge|superpower": 10.309, - "aquajet|iciclecrash|stoneedge|swordsdance": 7.732, - "aquajet|iciclecrash|superpower|swordsdance": 12.887, - "iciclecrash|nightslash|stoneedge|superpower": 7.216, - "iciclecrash|nightslash|stoneedge|swordsdance": 15.464, - "iciclecrash|nightslash|superpower|swordsdance": 13.918, - "iciclecrash|stoneedge|superpower|swordsdance": 13.402 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beautifly": { - "abilities": [ - [ - "swarm", - 100.0 - ] - ], - "count": 189, - "items": [ - [ - "focussash", - 30.688 - ], - [ - "lifeorb", - 50.265 - ], - [ - "choicescarf", - 14.286 - ], - [ - "choicespecs", - 4.762 - ] - ], - "moves": [ - [ - "hiddenpowerfighting", - 73.016 - ], - [ - "energyball", - 71.958 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "quiverdance", - 80.952 - ], - [ - "psychic", - 74.074 - ] - ], - "sets": { - "bugbuzz|energyball|hiddenpowerfighting|psychic": 19.048, - "bugbuzz|energyball|hiddenpowerfighting|quiverdance": 25.926, - "bugbuzz|energyball|psychic|quiverdance": 26.984, - "bugbuzz|hiddenpowerfighting|psychic|quiverdance": 28.042 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beedrill": { - "abilities": [ - [ - "swarm", - 6.061 - ], - [ - "sniper", - 93.939 - ] - ], - "count": 33, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 81.818 - ], - [ - "tailwind", - 81.818 - ], - [ - "poisonjab", - 87.879 - ], - [ - "uturn", - 72.727 - ], - [ - "toxicspikes", - 75.758 - ] - ], - "sets": { - "knockoff|poisonjab|tailwind|toxicspikes": 27.273, - "knockoff|poisonjab|tailwind|uturn": 24.242, - "knockoff|poisonjab|toxicspikes|uturn": 18.182, - "knockoff|tailwind|toxicspikes|uturn": 12.121, - "poisonjab|tailwind|toxicspikes|uturn": 18.182 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beedrillmega": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "beedrillite", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 70.984 - ], - [ - "swordsdance", - 72.021 - ], - [ - "xscissor", - 75.13 - ], - [ - "poisonjab", - 83.42 - ], - [ - "drillrun", - 74.093 - ], - [ - "uturn", - 24.352 - ] - ], - "sets": { - "drillrun|knockoff|poisonjab|swordsdance": 17.617, - "drillrun|knockoff|poisonjab|uturn": 7.254, - "drillrun|knockoff|poisonjab|xscissor": 3.627, - "drillrun|knockoff|swordsdance|xscissor": 16.58, - "drillrun|poisonjab|swordsdance|xscissor": 19.171, - "drillrun|poisonjab|uturn|xscissor": 9.845, - "knockoff|poisonjab|swordsdance|xscissor": 18.653, - "knockoff|poisonjab|uturn|xscissor": 7.254 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beheeyem": { - "abilities": [ - [ - "analytic", - 100.0 - ] - ], - "count": 184, - "items": [ - [ - "leftovers", - 30.978 - ], - [ - "choicespecs", - 20.652 - ], - [ - "lifeorb", - 15.217 - ], - [ - "focussash", - 33.152 - ] - ], - "moves": [ - [ - "thunderbolt", - 73.913 - ], - [ - "nastyplot", - 57.065 - ], - [ - "psychic", - 28.804 - ], - [ - "hiddenpowerfighting", - 67.935 - ], - [ - "psyshock", - 71.196 - ], - [ - "signalbeam", - 66.304 - ], - [ - "trick", - 12.5 - ], - [ - "trickroom", - 22.283 - ] - ], - "sets": { - "hiddenpowerfighting|nastyplot|psychic|signalbeam": 5.435, - "hiddenpowerfighting|nastyplot|psychic|thunderbolt": 4.891, - "hiddenpowerfighting|nastyplot|psyshock|signalbeam": 12.5, - "hiddenpowerfighting|nastyplot|psyshock|thunderbolt": 16.304, - "hiddenpowerfighting|psychic|signalbeam|thunderbolt": 3.261, - "hiddenpowerfighting|psychic|signalbeam|trickroom": 2.174, - "hiddenpowerfighting|psychic|thunderbolt|trick": 1.63, - "hiddenpowerfighting|psychic|thunderbolt|trickroom": 3.261, - "hiddenpowerfighting|psyshock|signalbeam|thunderbolt": 4.891, - "hiddenpowerfighting|psyshock|signalbeam|trick": 3.804, - "hiddenpowerfighting|psyshock|signalbeam|trickroom": 2.174, - "hiddenpowerfighting|psyshock|thunderbolt|trick": 2.717, - "hiddenpowerfighting|psyshock|thunderbolt|trickroom": 4.891, - "nastyplot|psychic|signalbeam|thunderbolt": 3.804, - "nastyplot|psyshock|signalbeam|thunderbolt": 14.13, - "psychic|signalbeam|thunderbolt|trick": 1.087, - "psychic|signalbeam|thunderbolt|trickroom": 3.261, - "psyshock|signalbeam|thunderbolt|trick": 3.261, - "psyshock|signalbeam|thunderbolt|trickroom": 6.522 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bellossom": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "focussash", - 24.59 - ], - [ - "grassiumz", - 35.519 - ], - [ - "leftovers", - 4.372 - ], - [ - "lifeorb", - 35.519 - ] - ], - "moves": [ - [ - "sleeppowder", - 68.306 - ], - [ - "moonblast", - 73.77 - ], - [ - "hiddenpowerfire", - 46.448 - ], - [ - "gigadrain", - 100.0 - ], - [ - "quiverdance", - 71.585 - ], - [ - "hiddenpowerrock", - 39.891 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|moonblast|quiverdance": 17.486, - "gigadrain|hiddenpowerfire|moonblast|sleeppowder": 16.393, - "gigadrain|hiddenpowerfire|quiverdance|sleeppowder": 12.568, - "gigadrain|hiddenpowerrock|moonblast|quiverdance": 14.208, - "gigadrain|hiddenpowerrock|moonblast|sleeppowder": 12.022, - "gigadrain|hiddenpowerrock|quiverdance|sleeppowder": 13.661, - "gigadrain|moonblast|quiverdance|sleeppowder": 13.661 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bewear": { - "abilities": [ - [ - "fluffy", - 100.0 - ] - ], - "count": 470, - "items": [ - [ - "lifeorb", - 77.021 - ], - [ - "choicescarf", - 14.894 - ], - [ - "choiceband", - 4.255 - ], - [ - "focussash", - 3.83 - ] - ], - "moves": [ - [ - "swordsdance", - 80.851 - ], - [ - "hammerarm", - 100.0 - ], - [ - "icepunch", - 65.745 - ], - [ - "shadowclaw", - 60.851 - ], - [ - "doubleedge", - 70.426 - ], - [ - "return102", - 22.128 - ] - ], - "sets": { - "doubleedge|hammerarm|icepunch|shadowclaw": 12.766, - "doubleedge|hammerarm|icepunch|swordsdance": 27.872, - "doubleedge|hammerarm|shadowclaw|swordsdance": 29.787, - "hammerarm|icepunch|return102|shadowclaw": 6.383, - "hammerarm|icepunch|return102|swordsdance": 11.277, - "hammerarm|icepunch|shadowclaw|swordsdance": 7.447, - "hammerarm|return102|shadowclaw|swordsdance": 4.468 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bibarel": { - "abilities": [ - [ - "unaware", - 20.098 - ], - [ - "simple", - 79.902 - ] - ], - "count": 204, - "items": [ - [ - "choiceband", - 20.098 - ], - [ - "focussash", - 29.412 - ], - [ - "lifeorb", - 50.49 - ] - ], - "moves": [ - [ - "liquidation", - 76.961 - ], - [ - "quickattack", - 80.392 - ], - [ - "return102", - 79.902 - ], - [ - "aquajet", - 82.843 - ], - [ - "swordsdance", - 79.902 - ] - ], - "sets": { - "aquajet|liquidation|quickattack|return102": 20.098, - "aquajet|liquidation|quickattack|swordsdance": 20.098, - "aquajet|liquidation|return102|swordsdance": 19.608, - "aquajet|quickattack|return102|swordsdance": 23.039, - "liquidation|quickattack|return102|swordsdance": 17.157 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bisharp": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 530, - "items": [ - [ - "lifeorb", - 71.321 - ], - [ - "assaultvest", - 19.057 - ], - [ - "focussash", - 9.623 - ] - ], - "moves": [ - [ - "suckerpunch", - 81.509 - ], - [ - "ironhead", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "swordsdance", - 80.943 - ], - [ - "lowkick", - 37.547 - ] - ], - "sets": { - "ironhead|knockoff|lowkick|suckerpunch": 19.057, - "ironhead|knockoff|lowkick|swordsdance": 18.491, - "ironhead|knockoff|suckerpunch|swordsdance": 62.453 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blacephalon": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 565, - "items": [ - [ - "firiumz", - 48.85 - ], - [ - "lifeorb", - 27.08 - ], - [ - "choicescarf", - 20.531 - ], - [ - "focussash", - 1.77 - ], - [ - "choicespecs", - 1.77 - ] - ], - "moves": [ - [ - "mindblown", - 75.221 - ], - [ - "calmmind", - 67.434 - ], - [ - "shadowball", - 100.0 - ], - [ - "hiddenpowerice", - 83.186 - ], - [ - "fireblast", - 40.0 - ], - [ - "trick", - 17.345 - ], - [ - "explosion", - 16.814 - ] - ], - "sets": { - "calmmind|fireblast|hiddenpowerice|shadowball": 17.522, - "calmmind|hiddenpowerice|mindblown|shadowball": 49.912, - "explosion|fireblast|hiddenpowerice|shadowball": 2.301, - "explosion|fireblast|mindblown|shadowball": 4.071, - "explosion|fireblast|shadowball|trick": 2.832, - "explosion|hiddenpowerice|mindblown|shadowball": 3.894, - "explosion|mindblown|shadowball|trick": 3.717, - "fireblast|hiddenpowerice|mindblown|shadowball": 4.956, - "fireblast|hiddenpowerice|shadowball|trick": 2.124, - "fireblast|mindblown|shadowball|trick": 6.195, - "hiddenpowerice|mindblown|shadowball|trick": 2.478 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blastoise": { - "abilities": [ - [ - "torrent", - 95.556 - ], - [ - "raindish", - 4.444 - ] - ], - "count": 135, - "items": [ - [ - "leftovers", - 83.704 - ], - [ - "assaultvest", - 16.296 - ] - ], - "moves": [ - [ - "toxic", - 68.148 - ], - [ - "dragontail", - 43.704 - ], - [ - "scald", - 100.0 - ], - [ - "icebeam", - 80.0 - ], - [ - "roar", - 43.704 - ], - [ - "rapidspin", - 64.444 - ] - ], - "sets": { - "dragontail|icebeam|rapidspin|scald": 16.296, - "dragontail|icebeam|roar|scald": 0.741, - "dragontail|icebeam|scald|toxic": 18.519, - "dragontail|rapidspin|scald|toxic": 8.148, - "icebeam|rapidspin|roar|scald": 14.815, - "icebeam|rapidspin|scald|toxic": 13.333, - "icebeam|roar|scald|toxic": 16.296, - "rapidspin|roar|scald|toxic": 11.852 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blastoisemega": { - "abilities": [ - [ - "megalauncher", - 100.0 - ] - ], - "count": 376, - "items": [ - [ - "blastoisinite", - 100.0 - ] - ], - "moves": [ - [ - "hydropump", - 43.883 - ], - [ - "darkpulse", - 63.032 - ], - [ - "scald", - 64.096 - ], - [ - "aurasphere", - 57.447 - ], - [ - "dragontail", - 60.638 - ], - [ - "rapidspin", - 55.053 - ], - [ - "icebeam", - 55.851 - ] - ], - "sets": { - "aurasphere|darkpulse|dragontail|hydropump": 5.053, - "aurasphere|darkpulse|dragontail|scald": 5.319, - "aurasphere|darkpulse|hydropump|icebeam": 3.723, - "aurasphere|darkpulse|hydropump|rapidspin": 3.723, - "aurasphere|darkpulse|hydropump|scald": 2.394, - "aurasphere|darkpulse|icebeam|scald": 3.989, - "aurasphere|darkpulse|rapidspin|scald": 4.255, - "aurasphere|dragontail|hydropump|icebeam": 3.989, - "aurasphere|dragontail|hydropump|rapidspin": 2.66, - "aurasphere|dragontail|icebeam|scald": 5.319, - "aurasphere|dragontail|rapidspin|scald": 6.915, - "aurasphere|hydropump|icebeam|rapidspin": 2.926, - "aurasphere|hydropump|icebeam|scald": 2.926, - "aurasphere|icebeam|rapidspin|scald": 4.255, - "darkpulse|dragontail|hydropump|icebeam": 3.723, - "darkpulse|dragontail|hydropump|rapidspin": 6.117, - "darkpulse|dragontail|icebeam|scald": 5.851, - "darkpulse|dragontail|rapidspin|scald": 7.713, - "darkpulse|hydropump|icebeam|rapidspin": 2.128, - "darkpulse|hydropump|icebeam|scald": 2.66, - "darkpulse|icebeam|rapidspin|scald": 6.383, - "dragontail|hydropump|icebeam|rapidspin": 1.862, - "dragontail|icebeam|rapidspin|scald": 6.117 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blaziken": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 180, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 72.778 - ], - [ - "highjumpkick", - 83.333 - ], - [ - "fireblast", - 100.0 - ], - [ - "hiddenpowerice", - 67.778 - ], - [ - "protect", - 76.111 - ] - ], - "sets": { - "fireblast|hiddenpowerice|highjumpkick|knockoff": 23.889, - "fireblast|hiddenpowerice|highjumpkick|protect": 27.222, - "fireblast|hiddenpowerice|knockoff|protect": 16.667, - "fireblast|highjumpkick|knockoff|protect": 32.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blazikenmega": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 468, - "items": [ - [ - "blazikenite", - 100.0 - ] - ], - "moves": [ - [ - "highjumpkick", - 93.162 - ], - [ - "swordsdance", - 69.231 - ], - [ - "flareblitz", - 100.0 - ], - [ - "knockoff", - 55.128 - ], - [ - "stoneedge", - 60.256 - ], - [ - "protect", - 22.222 - ] - ], - "sets": { - "flareblitz|highjumpkick|knockoff|protect": 7.479, - "flareblitz|highjumpkick|knockoff|stoneedge": 8.547, - "flareblitz|highjumpkick|knockoff|swordsdance": 32.265, - "flareblitz|highjumpkick|protect|stoneedge": 7.906, - "flareblitz|highjumpkick|stoneedge|swordsdance": 36.966, - "flareblitz|knockoff|protect|stoneedge": 6.838 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blissey": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 432, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "flamethrower", - 69.907 - ], - [ - "softboiled", - 100.0 - ], - [ - "toxic", - 35.648 - ], - [ - "stealthrock", - 35.417 - ], - [ - "seismictoss", - 48.611 - ], - [ - "healbell", - 40.972 - ], - [ - "thunderwave", - 30.093 - ], - [ - "protect", - 39.352 - ] - ], - "sets": { - "flamethrower|healbell|protect|softboiled": 5.787, - "flamethrower|healbell|seismictoss|softboiled": 5.556, - "flamethrower|healbell|softboiled|stealthrock": 4.63, - "flamethrower|healbell|softboiled|thunderwave": 4.398, - "flamethrower|healbell|softboiled|toxic": 6.944, - "flamethrower|protect|seismictoss|softboiled": 3.009, - "flamethrower|protect|softboiled|stealthrock": 4.398, - "flamethrower|protect|softboiled|thunderwave": 6.944, - "flamethrower|protect|softboiled|toxic": 4.398, - "flamethrower|seismictoss|softboiled|stealthrock": 3.472, - "flamethrower|seismictoss|softboiled|thunderwave": 3.704, - "flamethrower|seismictoss|softboiled|toxic": 5.093, - "flamethrower|softboiled|stealthrock|thunderwave": 5.556, - "flamethrower|softboiled|stealthrock|toxic": 6.019, - "healbell|protect|seismictoss|softboiled": 2.778, - "healbell|protect|softboiled|stealthrock": 0.231, - "healbell|protect|softboiled|thunderwave": 0.463, - "healbell|seismictoss|softboiled|stealthrock": 1.852, - "healbell|seismictoss|softboiled|thunderwave": 3.241, - "healbell|seismictoss|softboiled|toxic": 3.935, - "healbell|softboiled|stealthrock|thunderwave": 0.463, - "healbell|softboiled|stealthrock|toxic": 0.694, - "protect|seismictoss|softboiled|stealthrock": 2.546, - "protect|seismictoss|softboiled|thunderwave": 3.241, - "protect|seismictoss|softboiled|toxic": 5.093, - "protect|softboiled|stealthrock|thunderwave": 0.231, - "protect|softboiled|stealthrock|toxic": 0.231, - "seismictoss|softboiled|stealthrock|thunderwave": 1.852, - "seismictoss|softboiled|stealthrock|toxic": 3.241 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bouffalant": { - "abilities": [ - [ - "sapsipper", - 80.435 - ], - [ - "reckless", - 19.565 - ] - ], - "count": 184, - "items": [ - [ - "choiceband", - 34.783 - ], - [ - "leftovers", - 65.217 - ] - ], - "moves": [ - [ - "headcharge", - 100.0 - ], - [ - "stoneedge", - 67.391 - ], - [ - "megahorn", - 55.978 - ], - [ - "earthquake", - 60.326 - ], - [ - "swordsdance", - 65.217 - ], - [ - "superpower", - 51.087 - ] - ], - "sets": { - "earthquake|headcharge|megahorn|stoneedge": 8.152, - "earthquake|headcharge|megahorn|superpower": 7.065, - "earthquake|headcharge|megahorn|swordsdance": 10.87, - "earthquake|headcharge|stoneedge|superpower": 8.696, - "earthquake|headcharge|stoneedge|swordsdance": 17.391, - "earthquake|headcharge|superpower|swordsdance": 8.152, - "headcharge|megahorn|stoneedge|superpower": 10.87, - "headcharge|megahorn|stoneedge|swordsdance": 12.5, - "headcharge|megahorn|superpower|swordsdance": 6.522, - "headcharge|stoneedge|superpower|swordsdance": 9.783 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "braviary": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 479, - "items": [ - [ - "leftovers", - 46.138 - ], - [ - "flyiniumz", - 44.468 - ], - [ - "choiceband", - 1.461 - ], - [ - "lifeorb", - 4.384 - ], - [ - "choicescarf", - 3.549 - ] - ], - "moves": [ - [ - "return102", - 72.651 - ], - [ - "roost", - 68.476 - ], - [ - "substitute", - 25.887 - ], - [ - "bravebird", - 79.332 - ], - [ - "bulkup", - 63.883 - ], - [ - "uturn", - 21.294 - ], - [ - "superpower", - 68.476 - ] - ], - "sets": { - "bravebird|bulkup|return102|roost": 18.58, - "bravebird|bulkup|return102|substitute": 4.384, - "bravebird|bulkup|return102|superpower": 10.021, - "bravebird|bulkup|roost|superpower": 10.438, - "bravebird|bulkup|substitute|superpower": 5.846, - "bravebird|return102|roost|substitute": 2.714, - "bravebird|return102|roost|superpower": 2.923, - "bravebird|return102|roost|uturn": 5.846, - "bravebird|return102|substitute|superpower": 2.505, - "bravebird|return102|superpower|uturn": 5.01, - "bravebird|roost|substitute|superpower": 3.132, - "bravebird|roost|superpower|uturn": 7.933, - "bulkup|return102|roost|superpower": 10.856, - "bulkup|return102|substitute|superpower": 3.758, - "return102|roost|substitute|superpower": 3.549, - "return102|roost|superpower|uturn": 2.505 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "breloom": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 707, - "items": [ - [ - "leftovers", - 35.926 - ], - [ - "lifeorb", - 53.182 - ], - [ - "focussash", - 10.891 - ] - ], - "moves": [ - [ - "spore", - 61.528 - ], - [ - "swordsdance", - 79.349 - ], - [ - "bulletseed", - 100.0 - ], - [ - "machpunch", - 100.0 - ], - [ - "rocktomb", - 59.123 - ] - ], - "sets": { - "bulletseed|machpunch|rocktomb|spore": 20.651, - "bulletseed|machpunch|rocktomb|swordsdance": 38.472, - "bulletseed|machpunch|spore|swordsdance": 40.877 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bronzong": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 479, - "items": [ - [ - "leftovers", - 70.772 - ], - [ - "lightclay", - 17.537 - ], - [ - "lifeorb", - 11.691 - ] - ], - "moves": [ - [ - "explosion", - 65.971 - ], - [ - "stealthrock", - 27.766 - ], - [ - "toxic", - 58.455 - ], - [ - "gyroball", - 100.0 - ], - [ - "lightscreen", - 43.424 - ], - [ - "earthquake", - 58.455 - ], - [ - "trickroom", - 27.975 - ], - [ - "reflect", - 17.954 - ] - ], - "sets": { - "earthquake|explosion|gyroball|lightscreen": 7.724, - "earthquake|explosion|gyroball|reflect": 0.418, - "earthquake|explosion|gyroball|stealthrock": 3.967, - "earthquake|explosion|gyroball|toxic": 11.482, - "earthquake|explosion|gyroball|trickroom": 11.691, - "earthquake|gyroball|lightscreen|reflect": 4.175, - "earthquake|gyroball|lightscreen|stealthrock": 2.923, - "earthquake|gyroball|lightscreen|toxic": 5.01, - "earthquake|gyroball|stealthrock|toxic": 4.175, - "earthquake|gyroball|toxic|trickroom": 6.889, - "explosion|gyroball|lightscreen|reflect": 6.054, - "explosion|gyroball|lightscreen|stealthrock": 1.879, - "explosion|gyroball|lightscreen|toxic": 4.802, - "explosion|gyroball|stealthrock|toxic": 8.559, - "explosion|gyroball|toxic|trickroom": 9.395, - "gyroball|lightscreen|reflect|stealthrock": 2.714, - "gyroball|lightscreen|reflect|toxic": 4.593, - "gyroball|lightscreen|stealthrock|toxic": 3.549 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bruxish": { - "abilities": [ - [ - "strongjaw", - 100.0 - ] - ], - "count": 679, - "items": [ - [ - "lifeorb", - 59.352 - ], - [ - "choiceband", - 30.486 - ], - [ - "choicescarf", - 4.271 - ], - [ - "focussash", - 5.891 - ] - ], - "moves": [ - [ - "liquidation", - 100.0 - ], - [ - "psychicfangs", - 71.576 - ], - [ - "icefang", - 49.485 - ], - [ - "swordsdance", - 65.243 - ], - [ - "aquajet", - 69.661 - ], - [ - "crunch", - 44.035 - ] - ], - "sets": { - "aquajet|crunch|icefang|liquidation": 7.953, - "aquajet|crunch|liquidation|psychicfangs": 10.162, - "aquajet|crunch|liquidation|swordsdance": 6.333, - "aquajet|icefang|liquidation|psychicfangs": 9.131, - "aquajet|icefang|liquidation|swordsdance": 8.395, - "aquajet|liquidation|psychicfangs|swordsdance": 27.688, - "crunch|icefang|liquidation|psychicfangs": 7.511, - "crunch|icefang|liquidation|swordsdance": 5.744, - "crunch|liquidation|psychicfangs|swordsdance": 6.333, - "icefang|liquidation|psychicfangs|swordsdance": 10.751 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "butterfree": { - "abilities": [ - [ - "tintedlens", - 100.0 - ] - ], - "count": 212, - "items": [ - [ - "leftovers", - 40.566 - ], - [ - "focussash", - 34.434 - ], - [ - "lifeorb", - 25.0 - ] - ], - "moves": [ - [ - "bugbuzz", - 78.774 - ], - [ - "sleeppowder", - 85.849 - ], - [ - "airslash", - 78.302 - ], - [ - "quiverdance", - 76.415 - ], - [ - "energyball", - 80.66 - ] - ], - "sets": { - "airslash|bugbuzz|energyball|quiverdance": 14.151, - "airslash|bugbuzz|energyball|sleeppowder": 23.585, - "airslash|bugbuzz|quiverdance|sleeppowder": 19.34, - "airslash|energyball|quiverdance|sleeppowder": 21.226, - "bugbuzz|energyball|quiverdance|sleeppowder": 21.698 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "buzzwole": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 709, - "items": [ - [ - "choicescarf", - 68.265 - ], - [ - "choiceband", - 31.735 - ] - ], - "moves": [ - [ - "leechlife", - 75.599 - ], - [ - "earthquake", - 73.061 - ], - [ - "superpower", - 68.547 - ], - [ - "stoneedge", - 74.612 - ], - [ - "poisonjab", - 76.728 - ], - [ - "drainpunch", - 31.453 - ] - ], - "sets": { - "drainpunch|earthquake|leechlife|poisonjab": 7.616, - "drainpunch|earthquake|leechlife|stoneedge": 7.193, - "drainpunch|earthquake|poisonjab|stoneedge": 7.757, - "drainpunch|leechlife|poisonjab|stoneedge": 8.886, - "earthquake|leechlife|poisonjab|superpower": 17.772, - "earthquake|leechlife|stoneedge|superpower": 16.079, - "earthquake|poisonjab|stoneedge|superpower": 16.643, - "leechlife|poisonjab|stoneedge|superpower": 18.054 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cacturne": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 202, - "items": [ - [ - "lifeorb", - 64.851 - ], - [ - "leftovers", - 8.416 - ], - [ - "focussash", - 26.733 - ] - ], - "moves": [ - [ - "suckerpunch", - 85.149 - ], - [ - "swordsdance", - 65.347 - ], - [ - "seedbomb", - 86.634 - ], - [ - "darkpulse", - 49.01 - ], - [ - "substitute", - 12.871 - ], - [ - "gigadrain", - 28.218 - ], - [ - "focusblast", - 30.198 - ], - [ - "spikes", - 16.337 - ], - [ - "drainpunch", - 26.238 - ] - ], - "sets": { - "darkpulse|drainpunch|gigadrain|spikes": 0.99, - "darkpulse|drainpunch|gigadrain|substitute": 0.495, - "darkpulse|drainpunch|gigadrain|suckerpunch": 1.485, - "darkpulse|drainpunch|seedbomb|spikes": 1.98, - "darkpulse|drainpunch|seedbomb|substitute": 0.99, - "darkpulse|drainpunch|seedbomb|suckerpunch": 1.98, - "darkpulse|focusblast|gigadrain|spikes": 0.99, - "darkpulse|focusblast|gigadrain|substitute": 0.99, - "darkpulse|focusblast|gigadrain|suckerpunch": 1.98, - "darkpulse|focusblast|seedbomb|spikes": 2.475, - "darkpulse|focusblast|seedbomb|substitute": 2.475, - "darkpulse|focusblast|seedbomb|suckerpunch": 3.465, - "darkpulse|gigadrain|spikes|substitute": 1.485, - "darkpulse|gigadrain|spikes|suckerpunch": 2.97, - "darkpulse|gigadrain|substitute|suckerpunch": 1.98, - "darkpulse|seedbomb|spikes|substitute": 1.98, - "darkpulse|seedbomb|spikes|suckerpunch": 3.465, - "darkpulse|seedbomb|substitute|suckerpunch": 2.475, - "darkpulse|seedbomb|suckerpunch|swordsdance": 14.356, - "drainpunch|seedbomb|suckerpunch|swordsdance": 18.317, - "focusblast|seedbomb|suckerpunch|swordsdance": 17.822, - "gigadrain|seedbomb|suckerpunch|swordsdance": 14.851 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "camerupt": { - "abilities": [ - [ - "solidrock", - 100.0 - ] - ], - "count": 30, - "items": [ - [ - "lifeorb", - 73.333 - ], - [ - "leftovers", - 20.0 - ], - [ - "expertbelt", - 6.667 - ] - ], - "moves": [ - [ - "rockpolish", - 73.333 - ], - [ - "lavaplume", - 26.667 - ], - [ - "earthpower", - 100.0 - ], - [ - "hiddenpowergrass", - 43.333 - ], - [ - "fireblast", - 73.333 - ], - [ - "stealthrock", - 10.0 - ], - [ - "stoneedge", - 60.0 - ], - [ - "roar", - 13.333 - ] - ], - "sets": { - "earthpower|fireblast|hiddenpowergrass|roar": 3.333, - "earthpower|fireblast|hiddenpowergrass|rockpolish": 16.667, - "earthpower|fireblast|hiddenpowergrass|stealthrock": 3.333, - "earthpower|fireblast|hiddenpowergrass|stoneedge": 3.333, - "earthpower|fireblast|roar|stealthrock": 3.333, - "earthpower|fireblast|roar|stoneedge": 6.667, - "earthpower|fireblast|rockpolish|stoneedge": 33.333, - "earthpower|fireblast|stealthrock|stoneedge": 3.333, - "earthpower|hiddenpowergrass|lavaplume|rockpolish": 13.333, - "earthpower|hiddenpowergrass|lavaplume|stoneedge": 3.333, - "earthpower|lavaplume|rockpolish|stoneedge": 10.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cameruptmega": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 166, - "items": [ - [ - "cameruptite", - 100.0 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "toxic", - 32.53 - ], - [ - "ancientpower", - 68.072 - ], - [ - "earthpower", - 100.0 - ], - [ - "willowisp", - 47.59 - ], - [ - "stealthrock", - 51.807 - ] - ], - "sets": { - "ancientpower|earthpower|fireblast|stealthrock": 19.88, - "ancientpower|earthpower|fireblast|toxic": 16.265, - "ancientpower|earthpower|fireblast|willowisp": 31.928, - "earthpower|fireblast|stealthrock|toxic": 16.265, - "earthpower|fireblast|stealthrock|willowisp": 15.663 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "carbink": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "lightclay", - 46.0 - ], - [ - "leftovers", - 9.0 - ], - [ - "custapberry", - 45.0 - ] - ], - "moves": [ - [ - "reflect", - 46.0 - ], - [ - "powergem", - 81.0 - ], - [ - "stealthrock", - 58.5 - ], - [ - "lightscreen", - 75.5 - ], - [ - "moonblast", - 74.0 - ], - [ - "explosion", - 65.0 - ] - ], - "sets": { - "explosion|lightscreen|moonblast|powergem": 9.0, - "explosion|lightscreen|moonblast|reflect": 10.0, - "explosion|lightscreen|moonblast|stealthrock": 6.5, - "explosion|lightscreen|powergem|reflect": 10.0, - "explosion|lightscreen|powergem|stealthrock": 5.0, - "explosion|moonblast|powergem|stealthrock": 24.5, - "lightscreen|moonblast|powergem|reflect": 12.5, - "lightscreen|moonblast|powergem|stealthrock": 9.0, - "lightscreen|moonblast|reflect|stealthrock": 2.5, - "lightscreen|powergem|reflect|stealthrock": 11.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "carnivine": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "lifeorb", - 10.256 - ], - [ - "grassiumz", - 27.179 - ], - [ - "leftovers", - 52.821 - ], - [ - "focussash", - 9.744 - ] - ], - "moves": [ - [ - "swordsdance", - 71.282 - ], - [ - "powerwhip", - 100.0 - ], - [ - "return102", - 62.051 - ], - [ - "knockoff", - 63.59 - ], - [ - "sleeppowder", - 51.282 - ], - [ - "substitute", - 51.795 - ] - ], - "sets": { - "knockoff|powerwhip|return102|sleeppowder": 5.641, - "knockoff|powerwhip|return102|substitute": 5.641, - "knockoff|powerwhip|return102|swordsdance": 14.359, - "knockoff|powerwhip|sleeppowder|substitute": 10.769, - "knockoff|powerwhip|sleeppowder|swordsdance": 12.821, - "knockoff|powerwhip|substitute|swordsdance": 14.359, - "powerwhip|return102|sleeppowder|substitute": 6.667, - "powerwhip|return102|sleeppowder|swordsdance": 15.385, - "powerwhip|return102|substitute|swordsdance": 14.359 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "carracosta": { - "abilities": [ - [ - "solidrock", - 54.839 - ], - [ - "sturdy", - 43.548 - ], - [ - "swiftswim", - 1.613 - ] - ], - "count": 558, - "items": [ - [ - "whiteherb", - 38.71 - ], - [ - "weaknesspolicy", - 30.287 - ], - [ - "leftovers", - 22.222 - ], - [ - "choiceband", - 7.168 - ], - [ - "focussash", - 1.434 - ], - [ - "None", - 0.179 - ] - ], - "moves": [ - [ - "shellsmash", - 69.176 - ], - [ - "stoneedge", - 77.778 - ], - [ - "liquidation", - 79.211 - ], - [ - "earthquake", - 67.742 - ], - [ - "aquajet", - 82.437 - ], - [ - "stealthrock", - 23.656 - ] - ], - "sets": { - "aquajet|earthquake|liquidation|shellsmash": 15.233, - "aquajet|earthquake|liquidation|stealthrock": 6.989, - "aquajet|earthquake|liquidation|stoneedge": 7.168, - "aquajet|earthquake|shellsmash|stoneedge": 15.233, - "aquajet|earthquake|stealthrock|stoneedge": 5.556, - "aquajet|liquidation|shellsmash|stoneedge": 24.731, - "aquajet|liquidation|stealthrock|stoneedge": 7.527, - "earthquake|liquidation|shellsmash|stoneedge": 13.978, - "earthquake|liquidation|stealthrock|stoneedge": 3.584 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "castform": { - "abilities": [ - [ - "forecast", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "iciumz", - 36.571 - ], - [ - "firiumz", - 34.286 - ], - [ - "wateriumz", - 24.571 - ], - [ - "damprock", - 1.143 - ], - [ - "heatrock", - 1.714 - ], - [ - "lifeorb", - 1.714 - ] - ], - "moves": [ - [ - "fireblast", - 74.286 - ], - [ - "blizzard", - 38.286 - ], - [ - "hail", - 38.286 - ], - [ - "thunderbolt", - 38.286 - ], - [ - "solarbeam", - 36.0 - ], - [ - "icebeam", - 36.0 - ], - [ - "sunnyday", - 36.0 - ], - [ - "hurricane", - 25.714 - ], - [ - "thunder", - 25.714 - ], - [ - "hydropump", - 25.714 - ], - [ - "raindance", - 25.714 - ] - ], - "sets": { - "blizzard|fireblast|hail|thunderbolt": 38.286, - "fireblast|icebeam|solarbeam|sunnyday": 36.0, - "hurricane|hydropump|raindance|thunder": 25.714 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "celebi": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 525, - "items": [ - [ - "leftovers", - 91.429 - ], - [ - "choicescarf", - 5.143 - ], - [ - "choicespecs", - 3.429 - ] - ], - "moves": [ - [ - "nastyplot", - 52.762 - ], - [ - "recover", - 56.571 - ], - [ - "gigadrain", - 52.762 - ], - [ - "earthpower", - 50.095 - ], - [ - "leafstorm", - 48.952 - ], - [ - "hiddenpowerfire", - 34.095 - ], - [ - "psychic", - 58.857 - ], - [ - "uturn", - 22.667 - ], - [ - "thunderwave", - 23.238 - ] - ], - "sets": { - "earthpower|gigadrain|hiddenpowerfire|leafstorm": 0.762, - "earthpower|gigadrain|hiddenpowerfire|nastyplot": 4.381, - "earthpower|gigadrain|hiddenpowerfire|psychic": 0.571, - "earthpower|gigadrain|hiddenpowerfire|recover": 0.571, - "earthpower|gigadrain|hiddenpowerfire|thunderwave": 1.524, - "earthpower|gigadrain|hiddenpowerfire|uturn": 0.381, - "earthpower|gigadrain|leafstorm|psychic": 0.571, - "earthpower|gigadrain|nastyplot|psychic": 4.762, - "earthpower|gigadrain|nastyplot|recover": 7.048, - "earthpower|gigadrain|psychic|recover": 1.714, - "earthpower|gigadrain|psychic|thunderwave": 1.143, - "earthpower|gigadrain|psychic|uturn": 0.19, - "earthpower|gigadrain|recover|thunderwave": 0.571, - "earthpower|gigadrain|recover|uturn": 1.143, - "earthpower|gigadrain|thunderwave|uturn": 0.381, - "earthpower|hiddenpowerfire|leafstorm|nastyplot": 2.095, - "earthpower|hiddenpowerfire|leafstorm|psychic": 0.762, - "earthpower|hiddenpowerfire|leafstorm|recover": 1.143, - "earthpower|hiddenpowerfire|leafstorm|thunderwave": 1.333, - "earthpower|hiddenpowerfire|leafstorm|uturn": 0.952, - "earthpower|leafstorm|nastyplot|psychic": 4.19, - "earthpower|leafstorm|nastyplot|recover": 4.381, - "earthpower|leafstorm|psychic|recover": 1.905, - "earthpower|leafstorm|psychic|thunderwave": 0.952, - "earthpower|leafstorm|psychic|uturn": 1.524, - "earthpower|leafstorm|recover|thunderwave": 0.952, - "earthpower|leafstorm|recover|uturn": 1.905, - "earthpower|leafstorm|thunderwave|uturn": 2.286, - "gigadrain|hiddenpowerfire|leafstorm|psychic": 0.381, - "gigadrain|hiddenpowerfire|nastyplot|psychic": 3.81, - "gigadrain|hiddenpowerfire|psychic|recover": 1.524, - "gigadrain|hiddenpowerfire|psychic|thunderwave": 0.381, - "gigadrain|hiddenpowerfire|psychic|uturn": 1.333, - "gigadrain|hiddenpowerfire|recover|thunderwave": 0.571, - "gigadrain|hiddenpowerfire|recover|uturn": 1.333, - "gigadrain|hiddenpowerfire|thunderwave|uturn": 0.952, - "gigadrain|nastyplot|psychic|recover": 11.81, - "gigadrain|psychic|recover|thunderwave": 1.714, - "gigadrain|psychic|recover|uturn": 1.143, - "gigadrain|psychic|thunderwave|uturn": 1.143, - "gigadrain|recover|thunderwave|uturn": 0.952, - "hiddenpowerfire|leafstorm|nastyplot|psychic": 1.905, - "hiddenpowerfire|leafstorm|psychic|recover": 1.714, - "hiddenpowerfire|leafstorm|psychic|thunderwave": 0.571, - "hiddenpowerfire|leafstorm|psychic|uturn": 1.143, - "hiddenpowerfire|leafstorm|recover|thunderwave": 1.714, - "hiddenpowerfire|leafstorm|recover|uturn": 0.571, - "hiddenpowerfire|leafstorm|thunderwave|uturn": 1.714, - "leafstorm|nastyplot|psychic|recover": 8.381, - "leafstorm|psychic|recover|thunderwave": 1.524, - "leafstorm|psychic|recover|uturn": 0.762, - "leafstorm|psychic|thunderwave|uturn": 1.333, - "leafstorm|recover|thunderwave|uturn": 1.524 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "celesteela": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 583, - "items": [ - [ - "weaknesspolicy", - 53.859 - ], - [ - "leftovers", - 41.852 - ], - [ - "assaultvest", - 4.288 - ] - ], - "moves": [ - [ - "autotomize", - 53.859 - ], - [ - "flashcannon", - 44.425 - ], - [ - "earthquake", - 67.238 - ], - [ - "airslash", - 79.931 - ], - [ - "protect", - 30.189 - ], - [ - "heavyslam", - 31.046 - ], - [ - "fireblast", - 63.808 - ], - [ - "leechseed", - 29.503 - ] - ], - "sets": { - "airslash|autotomize|earthquake|fireblast": 9.434, - "airslash|autotomize|earthquake|flashcannon": 18.525, - "airslash|autotomize|fireblast|flashcannon": 16.81, - "airslash|earthquake|fireblast|heavyslam": 4.288, - "airslash|earthquake|fireblast|leechseed": 3.259, - "airslash|earthquake|fireblast|protect": 3.431, - "airslash|earthquake|heavyslam|leechseed": 2.916, - "airslash|earthquake|heavyslam|protect": 3.431, - "airslash|earthquake|leechseed|protect": 4.288, - "airslash|fireblast|heavyslam|leechseed": 3.259, - "airslash|fireblast|heavyslam|protect": 2.744, - "airslash|fireblast|leechseed|protect": 4.117, - "airslash|heavyslam|leechseed|protect": 3.431, - "autotomize|earthquake|fireblast|flashcannon": 9.091, - "earthquake|fireblast|heavyslam|leechseed": 2.23, - "earthquake|fireblast|heavyslam|protect": 2.744, - "earthquake|heavyslam|leechseed|protect": 3.602, - "fireblast|heavyslam|leechseed|protect": 2.401 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chandelure": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 546, - "items": [ - [ - "leftovers", - 41.575 - ], - [ - "lifeorb", - 39.194 - ], - [ - "focussash", - 9.524 - ], - [ - "choicespecs", - 1.099 - ], - [ - "choicescarf", - 8.608 - ] - ], - "moves": [ - [ - "substitute", - 25.092 - ], - [ - "shadowball", - 100.0 - ], - [ - "calmmind", - 67.766 - ], - [ - "fireblast", - 100.0 - ], - [ - "hiddenpowerground", - 33.516 - ], - [ - "painsplit", - 34.249 - ], - [ - "energyball", - 32.051 - ], - [ - "trick", - 7.326 - ] - ], - "sets": { - "calmmind|energyball|fireblast|shadowball": 16.85, - "calmmind|fireblast|hiddenpowerground|shadowball": 18.498, - "calmmind|fireblast|painsplit|shadowball": 19.231, - "calmmind|fireblast|shadowball|substitute": 13.187, - "energyball|fireblast|hiddenpowerground|shadowball": 2.381, - "energyball|fireblast|painsplit|shadowball": 5.495, - "energyball|fireblast|shadowball|substitute": 3.663, - "energyball|fireblast|shadowball|trick": 3.663, - "fireblast|hiddenpowerground|painsplit|shadowball": 5.128, - "fireblast|hiddenpowerground|shadowball|substitute": 3.846, - "fireblast|hiddenpowerground|shadowball|trick": 3.663, - "fireblast|painsplit|shadowball|substitute": 4.396 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chansey": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 486, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "seismictoss", - 100.0 - ], - [ - "wish", - 76.543 - ], - [ - "stealthrock", - 28.601 - ], - [ - "softboiled", - 100.0 - ], - [ - "healbell", - 35.185 - ], - [ - "thunderwave", - 24.691 - ], - [ - "toxic", - 34.979 - ] - ], - "sets": { - "healbell|seismictoss|softboiled|stealthrock": 3.292, - "healbell|seismictoss|softboiled|thunderwave": 3.909, - "healbell|seismictoss|softboiled|toxic": 6.79, - "healbell|seismictoss|softboiled|wish": 21.193, - "seismictoss|softboiled|stealthrock|thunderwave": 3.704, - "seismictoss|softboiled|stealthrock|toxic": 5.761, - "seismictoss|softboiled|stealthrock|wish": 15.844, - "seismictoss|softboiled|thunderwave|wish": 17.078, - "seismictoss|softboiled|toxic|wish": 22.428 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "charizard": { - "abilities": [ - [ - "blaze", - 97.872 - ], - [ - "solarpower", - 2.128 - ] - ], - "count": 188, - "items": [ - [ - "lifeorb", - 31.383 - ], - [ - "normaliumz", - 68.617 - ] - ], - "moves": [ - [ - "earthquake", - 74.468 - ], - [ - "fireblast", - 100.0 - ], - [ - "airslash", - 74.468 - ], - [ - "roost", - 82.447 - ], - [ - "holdhands", - 68.617 - ] - ], - "sets": { - "airslash|earthquake|fireblast|holdhands": 17.553, - "airslash|earthquake|fireblast|roost": 31.383, - "airslash|fireblast|holdhands|roost": 25.532, - "earthquake|fireblast|holdhands|roost": 25.532 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "charizardmegax": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 236, - "items": [ - [ - "charizarditex", - 100.0 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "roost", - 72.034 - ], - [ - "dragondance", - 71.186 - ], - [ - "dragonclaw", - 100.0 - ], - [ - "willowisp", - 28.814 - ], - [ - "earthquake", - 27.966 - ] - ], - "sets": { - "dragonclaw|dragondance|earthquake|flareblitz": 8.051, - "dragonclaw|dragondance|flareblitz|roost": 51.271, - "dragonclaw|dragondance|flareblitz|willowisp": 11.864, - "dragonclaw|earthquake|flareblitz|roost": 11.864, - "dragonclaw|earthquake|flareblitz|willowisp": 8.051, - "dragonclaw|flareblitz|roost|willowisp": 8.898 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "charizardmegay": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 268, - "items": [ - [ - "charizarditey", - 100.0 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "airslash", - 75.746 - ], - [ - "roost", - 72.388 - ], - [ - "dragonpulse", - 50.373 - ], - [ - "focusblast", - 52.239 - ], - [ - "solarbeam", - 49.254 - ] - ], - "sets": { - "airslash|dragonpulse|fireblast|focusblast": 7.09, - "airslash|dragonpulse|fireblast|roost": 17.537, - "airslash|dragonpulse|fireblast|solarbeam": 5.97, - "airslash|fireblast|focusblast|roost": 19.403, - "airslash|fireblast|focusblast|solarbeam": 9.701, - "airslash|fireblast|roost|solarbeam": 16.045, - "dragonpulse|fireblast|focusblast|roost": 6.716, - "dragonpulse|fireblast|focusblast|solarbeam": 4.851, - "dragonpulse|fireblast|roost|solarbeam": 8.209, - "fireblast|focusblast|roost|solarbeam": 4.478 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chatot": { - "abilities": [ - [ - "keeneye", - 33.854 - ], - [ - "tangledfeet", - 35.938 - ], - [ - "bigpecks", - 30.208 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 42.708 - ], - [ - "focussash", - 10.938 - ], - [ - "choicescarf", - 14.583 - ], - [ - "lifeorb", - 25.0 - ], - [ - "choicespecs", - 6.771 - ] - ], - "moves": [ - [ - "chatter", - 76.562 - ], - [ - "substitute", - 42.708 - ], - [ - "heatwave", - 69.271 - ], - [ - "boomburst", - 78.125 - ], - [ - "hiddenpowerground", - 48.438 - ], - [ - "nastyplot", - 66.667 - ], - [ - "uturn", - 18.229 - ] - ], - "sets": { - "boomburst|chatter|heatwave|hiddenpowerground": 3.125, - "boomburst|chatter|heatwave|nastyplot": 10.417, - "boomburst|chatter|heatwave|substitute": 2.604, - "boomburst|chatter|heatwave|uturn": 7.812, - "boomburst|chatter|hiddenpowerground|nastyplot": 8.854, - "boomburst|chatter|hiddenpowerground|substitute": 3.125, - "boomburst|chatter|hiddenpowerground|uturn": 4.688, - "boomburst|chatter|nastyplot|substitute": 14.062, - "boomburst|heatwave|hiddenpowerground|nastyplot": 7.292, - "boomburst|heatwave|hiddenpowerground|substitute": 3.646, - "boomburst|heatwave|hiddenpowerground|uturn": 3.125, - "boomburst|heatwave|nastyplot|substitute": 9.375, - "chatter|heatwave|hiddenpowerground|nastyplot": 9.375, - "chatter|heatwave|hiddenpowerground|substitute": 2.604, - "chatter|heatwave|hiddenpowerground|uturn": 2.604, - "chatter|heatwave|nastyplot|substitute": 7.292 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cherrim": { - "abilities": [ - [ - "flowergift", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "heatrock", - 50.98 - ], - [ - "lifeorb", - 45.098 - ], - [ - "focussash", - 3.922 - ] - ], - "moves": [ - [ - "gigadrain", - 38.725 - ], - [ - "hiddenpowerice", - 50.98 - ], - [ - "sunnyday", - 50.98 - ], - [ - "weatherball", - 50.98 - ], - [ - "energyball", - 49.02 - ], - [ - "healingwish", - 10.784 - ], - [ - "hiddenpowerfire", - 49.02 - ], - [ - "dazzlinggleam", - 49.02 - ], - [ - "synthesis", - 38.235 - ], - [ - "solarbeam", - 12.255 - ] - ], - "sets": { - "dazzlinggleam|energyball|healingwish|hiddenpowerfire": 10.784, - "dazzlinggleam|energyball|hiddenpowerfire|synthesis": 38.235, - "gigadrain|hiddenpowerice|sunnyday|weatherball": 38.725, - "hiddenpowerice|solarbeam|sunnyday|weatherball": 12.255 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chesnaught": { - "abilities": [ - [ - "bulletproof", - 100.0 - ] - ], - "count": 561, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "drainpunch", - 81.64 - ], - [ - "leechseed", - 57.754 - ], - [ - "spikes", - 62.745 - ], - [ - "woodhammer", - 100.0 - ], - [ - "synthesis", - 35.294 - ], - [ - "spikyshield", - 62.567 - ] - ], - "sets": { - "drainpunch|leechseed|spikes|woodhammer": 20.499, - "drainpunch|leechseed|spikyshield|woodhammer": 21.39, - "drainpunch|leechseed|synthesis|woodhammer": 2.496, - "drainpunch|spikes|spikyshield|woodhammer": 9.447, - "drainpunch|spikes|synthesis|woodhammer": 14.439, - "drainpunch|spikyshield|synthesis|woodhammer": 13.369, - "leechseed|spikes|spikyshield|woodhammer": 13.369, - "spikes|spikyshield|synthesis|woodhammer": 4.991 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chimecho": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 153, - "items": [ - [ - "leftovers", - 90.196 - ], - [ - "focussash", - 9.804 - ] - ], - "moves": [ - [ - "recover", - 64.052 - ], - [ - "psychic", - 100.0 - ], - [ - "healbell", - 37.255 - ], - [ - "shadowball", - 69.935 - ], - [ - "calmmind", - 39.216 - ], - [ - "taunt", - 39.869 - ], - [ - "yawn", - 33.333 - ], - [ - "healingwish", - 16.34 - ] - ], - "sets": { - "calmmind|healbell|psychic|shadowball": 3.922, - "calmmind|psychic|recover|shadowball": 23.529, - "calmmind|psychic|shadowball|taunt": 7.843, - "calmmind|psychic|shadowball|yawn": 3.922, - "healbell|healingwish|psychic|shadowball": 2.614, - "healbell|healingwish|psychic|taunt": 3.922, - "healbell|healingwish|psychic|yawn": 2.614, - "healbell|psychic|recover|shadowball": 7.19, - "healbell|psychic|recover|taunt": 7.19, - "healbell|psychic|recover|yawn": 6.536, - "healbell|psychic|shadowball|taunt": 1.307, - "healbell|psychic|shadowball|yawn": 0.654, - "healbell|psychic|taunt|yawn": 1.307, - "healingwish|psychic|recover|shadowball": 1.307, - "healingwish|psychic|shadowball|taunt": 0.654, - "healingwish|psychic|shadowball|yawn": 2.614, - "healingwish|psychic|taunt|yawn": 2.614, - "psychic|recover|shadowball|taunt": 7.19, - "psychic|recover|shadowball|yawn": 5.229, - "psychic|recover|taunt|yawn": 5.882, - "psychic|shadowball|taunt|yawn": 1.961 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cinccino": { - "abilities": [ - [ - "skilllink", - 100.0 - ] - ], - "count": 603, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "rockblast", - 77.114 - ], - [ - "bulletseed", - 74.129 - ], - [ - "uturn", - 75.29 - ], - [ - "tailslap", - 100.0 - ], - [ - "knockoff", - 73.466 - ] - ], - "sets": { - "bulletseed|knockoff|rockblast|tailslap": 24.71, - "bulletseed|knockoff|tailslap|uturn": 22.886, - "bulletseed|rockblast|tailslap|uturn": 26.534, - "knockoff|rockblast|tailslap|uturn": 25.871 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "clawitzer": { - "abilities": [ - [ - "megalauncher", - 100.0 - ] - ], - "count": 422, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "darkpulse", - 74.408 - ], - [ - "scald", - 28.436 - ], - [ - "icebeam", - 72.038 - ], - [ - "aurasphere", - 78.436 - ], - [ - "waterpulse", - 71.564 - ], - [ - "uturn", - 75.118 - ] - ], - "sets": { - "aurasphere|darkpulse|icebeam|scald": 7.346, - "aurasphere|darkpulse|icebeam|waterpulse": 17.536, - "aurasphere|darkpulse|scald|uturn": 7.109, - "aurasphere|darkpulse|uturn|waterpulse": 20.853, - "aurasphere|icebeam|scald|uturn": 6.872, - "aurasphere|icebeam|uturn|waterpulse": 18.72, - "darkpulse|icebeam|scald|uturn": 7.109, - "darkpulse|icebeam|uturn|waterpulse": 14.455 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "claydol": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 545, - "items": [ - [ - "leftovers", - 88.073 - ], - [ - "assaultvest", - 11.927 - ] - ], - "moves": [ - [ - "stealthrock", - 49.725 - ], - [ - "icebeam", - 66.055 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 63.119 - ], - [ - "psychic", - 68.991 - ], - [ - "rapidspin", - 52.11 - ] - ], - "sets": { - "earthquake|icebeam|psychic|rapidspin": 11.927, - "earthquake|icebeam|psychic|stealthrock": 11.927, - "earthquake|icebeam|psychic|toxic": 16.33, - "earthquake|icebeam|rapidspin|stealthrock": 6.789, - "earthquake|icebeam|rapidspin|toxic": 10.826, - "earthquake|icebeam|stealthrock|toxic": 8.257, - "earthquake|psychic|rapidspin|stealthrock": 6.239, - "earthquake|psychic|rapidspin|toxic": 11.193, - "earthquake|psychic|stealthrock|toxic": 11.376, - "earthquake|rapidspin|stealthrock|toxic": 5.138 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "clefable": { - "abilities": [ - [ - "unaware", - 64.007 - ], - [ - "magicguard", - 35.993 - ] - ], - "count": 564, - "items": [ - [ - "leftovers", - 71.809 - ], - [ - "lifeorb", - 28.191 - ] - ], - "moves": [ - [ - "softboiled", - 100.0 - ], - [ - "calmmind", - 50.355 - ], - [ - "moonblast", - 100.0 - ], - [ - "fireblast", - 81.738 - ], - [ - "thunderwave", - 35.106 - ], - [ - "stealthrock", - 32.801 - ] - ], - "sets": { - "calmmind|fireblast|moonblast|softboiled": 50.355, - "fireblast|moonblast|softboiled|stealthrock": 14.539, - "fireblast|moonblast|softboiled|thunderwave": 16.844, - "moonblast|softboiled|stealthrock|thunderwave": 18.262 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cloyster": { - "abilities": [ - [ - "skilllink", - 97.38 - ], - [ - "overcoat", - 2.62 - ] - ], - "count": 458, - "items": [ - [ - "whiteherb", - 68.559 - ], - [ - "lifeorb", - 8.952 - ], - [ - "leftovers", - 10.699 - ], - [ - "expertbelt", - 6.114 - ], - [ - "focussash", - 5.677 - ] - ], - "moves": [ - [ - "iceshard", - 83.188 - ], - [ - "iciclespear", - 81.441 - ], - [ - "shellsmash", - 68.559 - ], - [ - "hydropump", - 100.0 - ], - [ - "rockblast", - 37.555 - ], - [ - "spikes", - 14.847 - ], - [ - "rapidspin", - 14.41 - ] - ], - "sets": { - "hydropump|iceshard|iciclespear|rapidspin": 3.057, - "hydropump|iceshard|iciclespear|rockblast": 6.114, - "hydropump|iceshard|iciclespear|shellsmash": 49.345, - "hydropump|iceshard|iciclespear|spikes": 6.114, - "hydropump|iceshard|rapidspin|rockblast": 4.585, - "hydropump|iceshard|rapidspin|spikes": 2.62, - "hydropump|iceshard|rockblast|shellsmash": 9.389, - "hydropump|iceshard|rockblast|spikes": 1.965, - "hydropump|iciclespear|rapidspin|rockblast": 2.838, - "hydropump|iciclespear|rapidspin|spikes": 1.31, - "hydropump|iciclespear|rockblast|shellsmash": 9.825, - "hydropump|iciclespear|rockblast|spikes": 2.838 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cobalion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 543, - "items": [ - [ - "leftovers", - 93.554 - ], - [ - "assaultvest", - 6.446 - ] - ], - "moves": [ - [ - "ironhead", - 71.823 - ], - [ - "stoneedge", - 57.09 - ], - [ - "swordsdance", - 53.775 - ], - [ - "closecombat", - 84.162 - ], - [ - "taunt", - 45.12 - ], - [ - "substitute", - 19.89 - ], - [ - "hiddenpowerice", - 23.02 - ], - [ - "voltswitch", - 23.757 - ], - [ - "stealthrock", - 21.363 - ] - ], - "sets": { - "closecombat|hiddenpowerice|ironhead|stealthrock": 0.737, - "closecombat|hiddenpowerice|ironhead|stoneedge": 0.921, - "closecombat|hiddenpowerice|ironhead|substitute": 0.184, - "closecombat|hiddenpowerice|ironhead|taunt": 0.737, - "closecombat|hiddenpowerice|ironhead|voltswitch": 1.473, - "closecombat|hiddenpowerice|stealthrock|stoneedge": 1.289, - "closecombat|hiddenpowerice|stealthrock|substitute": 0.921, - "closecombat|hiddenpowerice|stealthrock|taunt": 0.737, - "closecombat|hiddenpowerice|stealthrock|voltswitch": 1.289, - "closecombat|hiddenpowerice|stoneedge|substitute": 0.737, - "closecombat|hiddenpowerice|stoneedge|taunt": 1.473, - "closecombat|hiddenpowerice|stoneedge|voltswitch": 0.921, - "closecombat|hiddenpowerice|taunt|voltswitch": 2.394, - "closecombat|ironhead|stealthrock|stoneedge": 0.184, - "closecombat|ironhead|stealthrock|substitute": 0.184, - "closecombat|ironhead|stealthrock|taunt": 1.289, - "closecombat|ironhead|stealthrock|voltswitch": 0.921, - "closecombat|ironhead|stoneedge|substitute": 0.921, - "closecombat|ironhead|stoneedge|swordsdance": 19.521, - "closecombat|ironhead|stoneedge|taunt": 1.473, - "closecombat|ironhead|stoneedge|voltswitch": 3.131, - "closecombat|ironhead|substitute|swordsdance": 9.392, - "closecombat|ironhead|swordsdance|taunt": 13.628, - "closecombat|ironhead|taunt|voltswitch": 1.289, - "closecombat|stealthrock|stoneedge|substitute": 0.737, - "closecombat|stealthrock|stoneedge|taunt": 1.289, - "closecombat|stealthrock|stoneedge|voltswitch": 1.473, - "closecombat|stealthrock|taunt|voltswitch": 1.657, - "closecombat|stoneedge|substitute|swordsdance": 3.683, - "closecombat|stoneedge|swordsdance|taunt": 7.551, - "closecombat|stoneedge|taunt|voltswitch": 2.026, - "hiddenpowerice|ironhead|stealthrock|stoneedge": 0.737, - "hiddenpowerice|ironhead|stealthrock|substitute": 0.737, - "hiddenpowerice|ironhead|stealthrock|taunt": 1.105, - "hiddenpowerice|ironhead|stealthrock|voltswitch": 1.473, - "hiddenpowerice|ironhead|stoneedge|substitute": 1.473, - "hiddenpowerice|ironhead|stoneedge|taunt": 2.578, - "hiddenpowerice|ironhead|taunt|voltswitch": 1.105, - "ironhead|stealthrock|stoneedge|substitute": 0.921, - "ironhead|stealthrock|stoneedge|taunt": 1.105, - "ironhead|stealthrock|stoneedge|voltswitch": 0.921, - "ironhead|stealthrock|taunt|voltswitch": 1.657, - "ironhead|stoneedge|taunt|voltswitch": 2.026 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cofagrigus": { - "abilities": [ - [ - "mummy", - 100.0 - ] - ], - "count": 818, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "nastyplot", - 49.756 - ], - [ - "hiddenpowerfighting", - 79.34 - ], - [ - "willowisp", - 47.677 - ], - [ - "toxicspikes", - 33.619 - ], - [ - "painsplit", - 48.044 - ], - [ - "haze", - 28.117 - ], - [ - "trickroom", - 13.447 - ] - ], - "sets": { - "haze|hiddenpowerfighting|nastyplot|shadowball": 4.645, - "haze|hiddenpowerfighting|painsplit|shadowball": 3.178, - "haze|hiddenpowerfighting|shadowball|toxicspikes": 2.2, - "haze|hiddenpowerfighting|shadowball|trickroom": 0.122, - "haze|hiddenpowerfighting|shadowball|willowisp": 3.178, - "haze|painsplit|shadowball|toxicspikes": 5.134, - "haze|painsplit|shadowball|willowisp": 4.645, - "haze|shadowball|toxicspikes|willowisp": 5.012, - "hiddenpowerfighting|nastyplot|painsplit|shadowball": 18.093, - "hiddenpowerfighting|nastyplot|shadowball|toxicspikes": 5.623, - "hiddenpowerfighting|nastyplot|shadowball|trickroom": 3.667, - "hiddenpowerfighting|nastyplot|shadowball|willowisp": 17.726, - "hiddenpowerfighting|painsplit|shadowball|toxicspikes": 2.934, - "hiddenpowerfighting|painsplit|shadowball|trickroom": 3.545, - "hiddenpowerfighting|painsplit|shadowball|willowisp": 4.645, - "hiddenpowerfighting|shadowball|toxicspikes|trickroom": 3.178, - "hiddenpowerfighting|shadowball|toxicspikes|willowisp": 3.667, - "hiddenpowerfighting|shadowball|trickroom|willowisp": 2.934, - "painsplit|shadowball|toxicspikes|willowisp": 5.868 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "comfey": { - "abilities": [ - [ - "triage", - 100.0 - ] - ], - "count": 509, - "items": [ - [ - "leftovers", - 96.857 - ], - [ - "focussash", - 3.143 - ] - ], - "moves": [ - [ - "toxic", - 73.281 - ], - [ - "synthesis", - 79.568 - ], - [ - "uturn", - 76.621 - ], - [ - "drainingkiss", - 100.0 - ], - [ - "aromatherapy", - 70.53 - ] - ], - "sets": { - "aromatherapy|drainingkiss|synthesis|toxic": 23.379, - "aromatherapy|drainingkiss|synthesis|uturn": 26.719, - "aromatherapy|drainingkiss|toxic|uturn": 20.432, - "drainingkiss|synthesis|toxic|uturn": 29.47 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "conkeldurr": { - "abilities": [ - [ - "ironfist", - 51.111 - ], - [ - "guts", - 48.889 - ] - ], - "count": 675, - "items": [ - [ - "focussash", - 3.407 - ], - [ - "lifeorb", - 37.037 - ], - [ - "flameorb", - 48.889 - ], - [ - "choiceband", - 10.667 - ] - ], - "moves": [ - [ - "icepunch", - 79.852 - ], - [ - "drainpunch", - 100.0 - ], - [ - "machpunch", - 60.444 - ], - [ - "bulkup", - 80.148 - ], - [ - "knockoff", - 79.556 - ] - ], - "sets": { - "bulkup|drainpunch|icepunch|knockoff": 39.556, - "bulkup|drainpunch|icepunch|machpunch": 20.444, - "bulkup|drainpunch|knockoff|machpunch": 20.148, - "drainpunch|icepunch|knockoff|machpunch": 19.852 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "corsola": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "recover", - 82.353 - ], - [ - "toxic", - 69.608 - ], - [ - "powergem", - 78.431 - ], - [ - "stealthrock", - 69.608 - ] - ], - "sets": { - "powergem|recover|scald|stealthrock": 30.392, - "powergem|recover|scald|toxic": 30.392, - "powergem|scald|stealthrock|toxic": 17.647, - "recover|scald|stealthrock|toxic": 21.569 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crabominable": { - "abilities": [ - [ - "ironfist", - 100.0 - ] - ], - "count": 222, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "stoneedge", - 100.0 - ], - [ - "icehammer", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "closecombat", - 100.0 - ] - ], - "sets": { - "closecombat|earthquake|icehammer|stoneedge": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cradily": { - "abilities": [ - [ - "stormdrain", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 21.809 - ], - [ - "recover", - 93.085 - ], - [ - "seedbomb", - 88.298 - ], - [ - "rockslide", - 93.617 - ], - [ - "stealthrock", - 21.277 - ], - [ - "curse", - 70.213 - ], - [ - "gigadrain", - 11.702 - ] - ], - "sets": { - "curse|recover|rockslide|seedbomb": 70.213, - "gigadrain|recover|rockslide|stealthrock": 2.66, - "gigadrain|recover|rockslide|toxic": 4.787, - "gigadrain|recover|stealthrock|toxic": 2.128, - "gigadrain|rockslide|stealthrock|toxic": 2.128, - "recover|rockslide|seedbomb|stealthrock": 5.319, - "recover|rockslide|seedbomb|toxic": 3.723, - "recover|seedbomb|stealthrock|toxic": 4.255, - "rockslide|seedbomb|stealthrock|toxic": 4.787 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crawdaunt": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 523, - "items": [ - [ - "focussash", - 13.002 - ], - [ - "lifeorb", - 80.306 - ], - [ - "choiceband", - 6.692 - ] - ], - "moves": [ - [ - "crabhammer", - 78.203 - ], - [ - "knockoff", - 100.0 - ], - [ - "swordsdance", - 47.992 - ], - [ - "superpower", - 49.904 - ], - [ - "aquajet", - 78.585 - ], - [ - "dragondance", - 45.315 - ] - ], - "sets": { - "aquajet|crabhammer|dragondance|knockoff": 25.43, - "aquajet|crabhammer|knockoff|superpower": 6.692, - "aquajet|crabhammer|knockoff|swordsdance": 24.665, - "aquajet|dragondance|knockoff|superpower": 8.795, - "aquajet|knockoff|superpower|swordsdance": 13.002, - "crabhammer|dragondance|knockoff|superpower": 11.09, - "crabhammer|knockoff|superpower|swordsdance": 10.325 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cresselia": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 451, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 37.029 - ], - [ - "psychic", - 32.373 - ], - [ - "moonblast", - 56.319 - ], - [ - "thunderwave", - 15.521 - ], - [ - "icebeam", - 52.772 - ], - [ - "calmmind", - 50.554 - ], - [ - "psyshock", - 67.627 - ], - [ - "moonlight", - 64.745 - ], - [ - "toxic", - 23.06 - ] - ], - "sets": { - "calmmind|icebeam|moonblast|psychic": 2.217, - "calmmind|icebeam|moonblast|psyshock": 4.656, - "calmmind|icebeam|moonlight|psychic": 4.656, - "calmmind|icebeam|moonlight|psyshock": 11.086, - "calmmind|icebeam|psychic|substitute": 1.996, - "calmmind|icebeam|psyshock|substitute": 2.661, - "calmmind|moonblast|moonlight|psychic": 3.548, - "calmmind|moonblast|moonlight|psyshock": 14.191, - "calmmind|moonblast|psychic|substitute": 1.774, - "calmmind|moonblast|psyshock|substitute": 3.769, - "icebeam|moonblast|moonlight|psychic": 1.109, - "icebeam|moonblast|moonlight|psyshock": 1.33, - "icebeam|moonblast|psychic|substitute": 1.33, - "icebeam|moonblast|psychic|thunderwave": 0.665, - "icebeam|moonblast|psychic|toxic": 0.665, - "icebeam|moonblast|psyshock|substitute": 0.665, - "icebeam|moonblast|psyshock|thunderwave": 1.33, - "icebeam|moonblast|psyshock|toxic": 1.33, - "icebeam|moonlight|psychic|substitute": 1.552, - "icebeam|moonlight|psychic|thunderwave": 1.33, - "icebeam|moonlight|psychic|toxic": 0.887, - "icebeam|moonlight|psyshock|substitute": 1.33, - "icebeam|moonlight|psyshock|thunderwave": 1.552, - "icebeam|moonlight|psyshock|toxic": 4.656, - "icebeam|psychic|substitute|thunderwave": 0.443, - "icebeam|psychic|substitute|toxic": 1.552, - "icebeam|psyshock|substitute|thunderwave": 1.774, - "icebeam|psyshock|substitute|toxic": 1.996, - "moonblast|moonlight|psychic|substitute": 1.552, - "moonblast|moonlight|psychic|thunderwave": 1.552, - "moonblast|moonlight|psychic|toxic": 1.33, - "moonblast|moonlight|psyshock|substitute": 1.996, - "moonblast|moonlight|psyshock|thunderwave": 1.774, - "moonblast|moonlight|psyshock|toxic": 3.104, - "moonblast|psychic|substitute|thunderwave": 1.109, - "moonblast|psychic|substitute|toxic": 1.552, - "moonblast|psyshock|substitute|thunderwave": 0.887, - "moonblast|psyshock|substitute|toxic": 2.882, - "moonlight|psychic|substitute|thunderwave": 1.33, - "moonlight|psychic|substitute|toxic": 0.222, - "moonlight|psyshock|substitute|thunderwave": 1.774, - "moonlight|psyshock|substitute|toxic": 2.882 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crobat": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 523, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 58.126 - ], - [ - "roost", - 69.79 - ], - [ - "bravebird", - 100.0 - ], - [ - "taunt", - 58.317 - ], - [ - "defog", - 47.801 - ], - [ - "uturn", - 64.054 - ], - [ - "superfang", - 1.912 - ] - ], - "sets": { - "bravebird|defog|roost|taunt": 9.178, - "bravebird|defog|roost|toxic": 8.795, - "bravebird|defog|roost|uturn": 9.943, - "bravebird|defog|taunt|toxic": 6.31, - "bravebird|defog|taunt|uturn": 7.075, - "bravebird|defog|toxic|uturn": 6.501, - "bravebird|roost|superfang|uturn": 1.912, - "bravebird|roost|taunt|toxic": 11.663, - "bravebird|roost|taunt|uturn": 13.767, - "bravebird|roost|toxic|uturn": 14.532, - "bravebird|taunt|toxic|uturn": 10.325 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crustle": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 205, - "items": [ - [ - "whiteherb", - 64.39 - ], - [ - "leftovers", - 34.634 - ], - [ - "None", - 0.976 - ] - ], - "moves": [ - [ - "shellsmash", - 65.366 - ], - [ - "stoneedge", - 70.732 - ], - [ - "earthquake", - 92.683 - ], - [ - "xscissor", - 90.244 - ], - [ - "rockblast", - 26.829 - ], - [ - "stealthrock", - 24.878 - ], - [ - "spikes", - 29.268 - ] - ], - "sets": { - "earthquake|rockblast|shellsmash|xscissor": 18.049, - "earthquake|rockblast|spikes|stealthrock": 3.902, - "earthquake|rockblast|spikes|xscissor": 0.976, - "earthquake|rockblast|stealthrock|xscissor": 1.463, - "earthquake|shellsmash|stoneedge|xscissor": 47.317, - "earthquake|spikes|stealthrock|stoneedge": 5.854, - "earthquake|spikes|stealthrock|xscissor": 2.439, - "earthquake|spikes|stoneedge|xscissor": 8.78, - "earthquake|stealthrock|stoneedge|xscissor": 3.902, - "rockblast|spikes|stealthrock|xscissor": 2.439, - "spikes|stealthrock|stoneedge|xscissor": 4.878 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cryogonal": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 596, - "items": [ - [ - "leftovers", - 94.799 - ], - [ - "focussash", - 5.201 - ] - ], - "moves": [ - [ - "hiddenpowerground", - 58.725 - ], - [ - "freezedry", - 66.611 - ], - [ - "haze", - 61.913 - ], - [ - "recover", - 65.268 - ], - [ - "rapidspin", - 52.349 - ], - [ - "icebeam", - 33.389 - ], - [ - "toxic", - 61.745 - ] - ], - "sets": { - "freezedry|haze|hiddenpowerground|rapidspin": 3.691, - "freezedry|haze|hiddenpowerground|recover": 7.886, - "freezedry|haze|hiddenpowerground|toxic": 7.215, - "freezedry|haze|rapidspin|recover": 8.221, - "freezedry|haze|rapidspin|toxic": 4.698, - "freezedry|haze|recover|toxic": 9.564, - "freezedry|hiddenpowerground|rapidspin|recover": 5.537, - "freezedry|hiddenpowerground|rapidspin|toxic": 6.04, - "freezedry|hiddenpowerground|recover|toxic": 8.893, - "freezedry|rapidspin|recover|toxic": 4.866, - "haze|hiddenpowerground|icebeam|rapidspin": 2.181, - "haze|hiddenpowerground|icebeam|recover": 3.523, - "haze|hiddenpowerground|icebeam|toxic": 3.188, - "haze|icebeam|rapidspin|recover": 3.859, - "haze|icebeam|rapidspin|toxic": 3.523, - "haze|icebeam|recover|toxic": 4.362, - "hiddenpowerground|icebeam|rapidspin|recover": 3.356, - "hiddenpowerground|icebeam|rapidspin|toxic": 4.195, - "hiddenpowerground|icebeam|recover|toxic": 3.02, - "icebeam|rapidspin|recover|toxic": 2.181 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "darkrai": { - "abilities": [ - [ - "baddreams", - 100.0 - ] - ], - "count": 653, - "items": [ - [ - "leftovers", - 78.714 - ], - [ - "lifeorb", - 16.539 - ], - [ - "focussash", - 4.747 - ] - ], - "moves": [ - [ - "hypnosis", - 52.527 - ], - [ - "focusblast", - 59.724 - ], - [ - "darkpulse", - 100.0 - ], - [ - "substitute", - 58.346 - ], - [ - "nastyplot", - 70.597 - ], - [ - "sludgebomb", - 58.806 - ] - ], - "sets": { - "darkpulse|focusblast|hypnosis|nastyplot": 10.107, - "darkpulse|focusblast|hypnosis|sludgebomb": 6.738, - "darkpulse|focusblast|hypnosis|substitute": 6.738, - "darkpulse|focusblast|nastyplot|sludgebomb": 12.098, - "darkpulse|focusblast|nastyplot|substitute": 14.242, - "darkpulse|focusblast|sludgebomb|substitute": 9.801, - "darkpulse|hypnosis|nastyplot|sludgebomb": 12.711, - "darkpulse|hypnosis|nastyplot|substitute": 10.107, - "darkpulse|hypnosis|sludgebomb|substitute": 6.126, - "darkpulse|nastyplot|sludgebomb|substitute": 11.332 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "darmanitan": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 797, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 74.153 - ], - [ - "uturn", - 73.902 - ], - [ - "earthquake", - 77.039 - ], - [ - "flareblitz", - 100.0 - ], - [ - "rockslide", - 74.906 - ] - ], - "sets": { - "earthquake|flareblitz|rockslide|superpower": 26.098, - "earthquake|flareblitz|rockslide|uturn": 25.847, - "earthquake|flareblitz|superpower|uturn": 25.094, - "flareblitz|rockslide|superpower|uturn": 22.961 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "decidueye": { - "abilities": [ - [ - "longreach", - 65.469 - ], - [ - "overgrow", - 34.531 - ] - ], - "count": 501, - "items": [ - [ - "lifeorb", - 10.18 - ], - [ - "decidiumz", - 68.663 - ], - [ - "leftovers", - 15.369 - ], - [ - "assaultvest", - 5.788 - ] - ], - "moves": [ - [ - "suckerpunch", - 27.545 - ], - [ - "leafblade", - 100.0 - ], - [ - "roost", - 81.836 - ], - [ - "spiritshackle", - 100.0 - ], - [ - "swordsdance", - 75.649 - ], - [ - "uturn", - 14.97 - ] - ], - "sets": { - "leafblade|roost|spiritshackle|suckerpunch": 9.381, - "leafblade|roost|spiritshackle|swordsdance": 63.273, - "leafblade|roost|spiritshackle|uturn": 9.182, - "leafblade|spiritshackle|suckerpunch|swordsdance": 12.375, - "leafblade|spiritshackle|suckerpunch|uturn": 5.788 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dedenne": { - "abilities": [ - [ - "cheekpouch", - 100.0 - ] - ], - "count": 198, - "items": [ - [ - "petayaberry", - 100.0 - ] - ], - "moves": [ - [ - "recycle", - 55.051 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerice", - 49.495 - ], - [ - "nuzzle", - 51.01 - ], - [ - "substitute", - 49.495 - ], - [ - "toxic", - 48.99 - ], - [ - "grassknot", - 45.96 - ] - ], - "sets": { - "grassknot|hiddenpowerice|nuzzle|thunderbolt": 1.515, - "grassknot|hiddenpowerice|recycle|thunderbolt": 4.545, - "grassknot|hiddenpowerice|substitute|thunderbolt": 5.051, - "grassknot|hiddenpowerice|thunderbolt|toxic": 2.525, - "grassknot|nuzzle|recycle|thunderbolt": 4.545, - "grassknot|nuzzle|substitute|thunderbolt": 5.051, - "grassknot|nuzzle|thunderbolt|toxic": 4.545, - "grassknot|recycle|substitute|thunderbolt": 5.051, - "grassknot|recycle|thunderbolt|toxic": 7.576, - "grassknot|substitute|thunderbolt|toxic": 5.556, - "hiddenpowerice|nuzzle|recycle|thunderbolt": 8.586, - "hiddenpowerice|nuzzle|substitute|thunderbolt": 5.556, - "hiddenpowerice|nuzzle|thunderbolt|toxic": 5.051, - "hiddenpowerice|recycle|substitute|thunderbolt": 5.556, - "hiddenpowerice|recycle|thunderbolt|toxic": 4.545, - "hiddenpowerice|substitute|thunderbolt|toxic": 6.566, - "nuzzle|recycle|substitute|thunderbolt": 5.556, - "nuzzle|recycle|thunderbolt|toxic": 7.071, - "nuzzle|substitute|thunderbolt|toxic": 3.535, - "recycle|substitute|thunderbolt|toxic": 2.02 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "delcatty": { - "abilities": [ - [ - "wonderskin", - 100.0 - ] - ], - "count": 174, - "items": [ - [ - "lifeorb", - 73.563 - ], - [ - "leftovers", - 26.437 - ] - ], - "moves": [ - [ - "doubleedge", - 100.0 - ], - [ - "suckerpunch", - 54.023 - ], - [ - "thunderwave", - 58.621 - ], - [ - "fakeout", - 70.69 - ], - [ - "wildcharge", - 57.471 - ], - [ - "healbell", - 59.195 - ] - ], - "sets": { - "doubleedge|fakeout|healbell|suckerpunch": 13.793, - "doubleedge|fakeout|healbell|thunderwave": 12.644, - "doubleedge|fakeout|healbell|wildcharge": 13.218, - "doubleedge|fakeout|suckerpunch|thunderwave": 10.345, - "doubleedge|fakeout|suckerpunch|wildcharge": 8.621, - "doubleedge|fakeout|thunderwave|wildcharge": 12.069, - "doubleedge|healbell|suckerpunch|thunderwave": 5.747, - "doubleedge|healbell|suckerpunch|wildcharge": 5.747, - "doubleedge|healbell|thunderwave|wildcharge": 8.046, - "doubleedge|suckerpunch|thunderwave|wildcharge": 9.77 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "delibird": { - "abilities": [ - [ - "vitalspirit", - 50.485 - ], - [ - "insomnia", - 49.515 - ] - ], - "count": 206, - "items": [ - [ - "leftovers", - 62.621 - ], - [ - "focussash", - 37.379 - ] - ], - "moves": [ - [ - "destinybond", - 100.0 - ], - [ - "freezedry", - 79.612 - ], - [ - "spikes", - 100.0 - ], - [ - "rapidspin", - 95.146 - ], - [ - "icywind", - 25.243 - ] - ], - "sets": { - "destinybond|freezedry|icywind|spikes": 4.854, - "destinybond|freezedry|rapidspin|spikes": 74.757, - "destinybond|icywind|rapidspin|spikes": 20.388 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "delphox": { - "abilities": [ - [ - "magician", - 64.076 - ], - [ - "blaze", - 35.924 - ] - ], - "count": 476, - "items": [ - [ - "choicescarf", - 28.151 - ], - [ - "lifeorb", - 59.874 - ], - [ - "focussash", - 9.874 - ], - [ - "choicespecs", - 2.101 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "shadowball", - 61.345 - ], - [ - "psyshock", - 78.782 - ], - [ - "switcheroo", - 22.059 - ], - [ - "grassknot", - 68.067 - ], - [ - "calmmind", - 69.748 - ] - ], - "sets": { - "calmmind|fireblast|grassknot|psyshock": 31.303, - "calmmind|fireblast|grassknot|shadowball": 14.706, - "calmmind|fireblast|psyshock|shadowball": 23.739, - "fireblast|grassknot|psyshock|shadowball": 8.193, - "fireblast|grassknot|psyshock|switcheroo": 7.353, - "fireblast|grassknot|shadowball|switcheroo": 6.513, - "fireblast|psyshock|shadowball|switcheroo": 8.193 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "deoxys": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 140, - "items": [ - [ - "focussash", - 8.571 - ], - [ - "leftovers", - 30.0 - ], - [ - "lifeorb", - 61.429 - ] - ], - "moves": [ - [ - "taunt", - 47.143 - ], - [ - "firepunch", - 41.429 - ], - [ - "spikes", - 52.857 - ], - [ - "psychoboost", - 100.0 - ], - [ - "stealthrock", - 28.571 - ], - [ - "superpower", - 40.714 - ], - [ - "extremespeed", - 42.857 - ], - [ - "knockoff", - 46.429 - ] - ], - "sets": { - "extremespeed|firepunch|knockoff|psychoboost": 1.429, - "extremespeed|firepunch|psychoboost|spikes": 5.714, - "extremespeed|firepunch|psychoboost|stealthrock": 2.143, - "extremespeed|firepunch|psychoboost|superpower": 2.143, - "extremespeed|firepunch|psychoboost|taunt": 3.571, - "extremespeed|knockoff|psychoboost|spikes": 5.0, - "extremespeed|knockoff|psychoboost|stealthrock": 0.714, - "extremespeed|knockoff|psychoboost|superpower": 3.571, - "extremespeed|psychoboost|spikes|stealthrock": 2.857, - "extremespeed|psychoboost|spikes|superpower": 5.0, - "extremespeed|psychoboost|spikes|taunt": 2.857, - "extremespeed|psychoboost|stealthrock|superpower": 2.143, - "extremespeed|psychoboost|stealthrock|taunt": 2.143, - "extremespeed|psychoboost|superpower|taunt": 3.571, - "firepunch|knockoff|psychoboost|spikes": 5.714, - "firepunch|knockoff|psychoboost|stealthrock": 1.429, - "firepunch|knockoff|psychoboost|superpower": 1.429, - "firepunch|knockoff|psychoboost|taunt": 6.429, - "firepunch|psychoboost|spikes|stealthrock": 0.714, - "firepunch|psychoboost|spikes|superpower": 2.143, - "firepunch|psychoboost|spikes|taunt": 2.857, - "firepunch|psychoboost|stealthrock|superpower": 0.714, - "firepunch|psychoboost|stealthrock|taunt": 2.857, - "firepunch|psychoboost|superpower|taunt": 2.143, - "knockoff|psychoboost|spikes|stealthrock": 2.857, - "knockoff|psychoboost|spikes|superpower": 4.286, - "knockoff|psychoboost|spikes|taunt": 5.714, - "knockoff|psychoboost|stealthrock|superpower": 1.429, - "knockoff|psychoboost|stealthrock|taunt": 2.857, - "knockoff|psychoboost|superpower|taunt": 3.571, - "psychoboost|spikes|stealthrock|superpower": 1.429, - "psychoboost|spikes|stealthrock|taunt": 1.429, - "psychoboost|spikes|superpower|taunt": 4.286, - "psychoboost|stealthrock|superpower|taunt": 2.857 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "deoxysattack": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 162, - "items": [ - [ - "lifeorb", - 93.827 - ], - [ - "focussash", - 6.173 - ] - ], - "moves": [ - [ - "superpower", - 45.062 - ], - [ - "psychoboost", - 100.0 - ], - [ - "extremespeed", - 56.79 - ], - [ - "firepunch", - 56.173 - ], - [ - "stealthrock", - 44.444 - ], - [ - "icebeam", - 53.704 - ], - [ - "knockoff", - 43.827 - ] - ], - "sets": { - "extremespeed|firepunch|icebeam|psychoboost": 8.025, - "extremespeed|firepunch|knockoff|psychoboost": 4.938, - "extremespeed|firepunch|psychoboost|stealthrock": 6.79, - "extremespeed|firepunch|psychoboost|superpower": 8.642, - "extremespeed|icebeam|knockoff|psychoboost": 8.642, - "extremespeed|icebeam|psychoboost|stealthrock": 6.173, - "extremespeed|icebeam|psychoboost|superpower": 6.173, - "extremespeed|knockoff|psychoboost|stealthrock": 1.852, - "extremespeed|knockoff|psychoboost|superpower": 2.469, - "extremespeed|psychoboost|stealthrock|superpower": 3.086, - "firepunch|icebeam|knockoff|psychoboost": 6.79, - "firepunch|icebeam|psychoboost|stealthrock": 4.938, - "firepunch|icebeam|psychoboost|superpower": 3.086, - "firepunch|knockoff|psychoboost|stealthrock": 3.086, - "firepunch|knockoff|psychoboost|superpower": 4.938, - "firepunch|psychoboost|stealthrock|superpower": 4.938, - "icebeam|knockoff|psychoboost|stealthrock": 3.704, - "icebeam|knockoff|psychoboost|superpower": 1.852, - "icebeam|psychoboost|stealthrock|superpower": 4.321, - "knockoff|psychoboost|stealthrock|superpower": 5.556 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "deoxysdefense": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 159, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 85.535 - ], - [ - "stealthrock", - 40.252 - ], - [ - "knockoff", - 84.906 - ], - [ - "taunt", - 48.428 - ], - [ - "spikes", - 48.428 - ], - [ - "toxic", - 47.799 - ], - [ - "seismictoss", - 44.654 - ] - ], - "sets": { - "knockoff|recover|seismictoss|spikes": 5.031, - "knockoff|recover|seismictoss|stealthrock": 6.289, - "knockoff|recover|seismictoss|taunt": 5.031, - "knockoff|recover|seismictoss|toxic": 13.208, - "knockoff|recover|spikes|stealthrock": 4.403, - "knockoff|recover|spikes|taunt": 9.434, - "knockoff|recover|spikes|toxic": 9.434, - "knockoff|recover|stealthrock|taunt": 7.547, - "knockoff|recover|stealthrock|toxic": 5.66, - "knockoff|recover|taunt|toxic": 5.66, - "knockoff|spikes|stealthrock|taunt": 5.66, - "knockoff|spikes|stealthrock|toxic": 1.887, - "knockoff|spikes|taunt|toxic": 3.774, - "knockoff|stealthrock|taunt|toxic": 1.887, - "recover|seismictoss|spikes|stealthrock": 1.258, - "recover|seismictoss|spikes|taunt": 3.774, - "recover|seismictoss|spikes|toxic": 2.516, - "recover|seismictoss|stealthrock|taunt": 3.774, - "recover|seismictoss|stealthrock|toxic": 1.258, - "recover|seismictoss|taunt|toxic": 1.258, - "seismictoss|spikes|stealthrock|toxic": 0.629, - "seismictoss|spikes|taunt|toxic": 0.629 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "deoxysspeed": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 146, - "items": [ - [ - "lifeorb", - 26.712 - ], - [ - "leftovers", - 59.589 - ], - [ - "focussash", - 13.699 - ] - ], - "moves": [ - [ - "knockoff", - 59.589 - ], - [ - "superpower", - 48.63 - ], - [ - "psychoboost", - 100.0 - ], - [ - "stealthrock", - 41.096 - ], - [ - "taunt", - 47.26 - ], - [ - "spikes", - 54.11 - ], - [ - "magiccoat", - 49.315 - ] - ], - "sets": { - "knockoff|magiccoat|psychoboost|spikes": 6.164, - "knockoff|magiccoat|psychoboost|stealthrock": 2.055, - "knockoff|magiccoat|psychoboost|superpower": 6.849, - "knockoff|magiccoat|psychoboost|taunt": 6.849, - "knockoff|psychoboost|spikes|stealthrock": 4.795, - "knockoff|psychoboost|spikes|superpower": 8.904, - "knockoff|psychoboost|spikes|taunt": 6.164, - "knockoff|psychoboost|stealthrock|superpower": 7.534, - "knockoff|psychoboost|stealthrock|taunt": 4.11, - "knockoff|psychoboost|superpower|taunt": 6.164, - "magiccoat|psychoboost|spikes|stealthrock": 6.849, - "magiccoat|psychoboost|spikes|superpower": 6.849, - "magiccoat|psychoboost|spikes|taunt": 4.11, - "magiccoat|psychoboost|stealthrock|superpower": 0.685, - "magiccoat|psychoboost|stealthrock|taunt": 6.164, - "magiccoat|psychoboost|superpower|taunt": 2.74, - "psychoboost|spikes|stealthrock|superpower": 2.055, - "psychoboost|spikes|stealthrock|taunt": 4.11, - "psychoboost|spikes|superpower|taunt": 4.11, - "psychoboost|stealthrock|superpower|taunt": 2.74 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dewgong": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 180, - "items": [ - [ - "leftovers", - 88.333 - ], - [ - "focussash", - 11.667 - ] - ], - "moves": [ - [ - "surf", - 100.0 - ], - [ - "encore", - 52.778 - ], - [ - "toxic", - 57.778 - ], - [ - "icebeam", - 100.0 - ], - [ - "protect", - 61.111 - ], - [ - "perishsong", - 28.333 - ] - ], - "sets": { - "encore|icebeam|perishsong|surf": 5.556, - "encore|icebeam|protect|surf": 21.111, - "encore|icebeam|surf|toxic": 26.111, - "icebeam|perishsong|protect|surf": 15.556, - "icebeam|perishsong|surf|toxic": 7.222, - "icebeam|protect|surf|toxic": 24.444 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dhelmise": { - "abilities": [ - [ - "steelworker", - 100.0 - ] - ], - "count": 519, - "items": [ - [ - "leftovers", - 75.53 - ], - [ - "assaultvest", - 15.992 - ], - [ - "choiceband", - 8.478 - ] - ], - "moves": [ - [ - "synthesis", - 75.53 - ], - [ - "rapidspin", - 35.067 - ], - [ - "anchorshot", - 100.0 - ], - [ - "powerwhip", - 100.0 - ], - [ - "earthquake", - 47.206 - ], - [ - "knockoff", - 42.197 - ] - ], - "sets": { - "anchorshot|earthquake|knockoff|powerwhip": 8.478, - "anchorshot|earthquake|powerwhip|rapidspin": 8.671, - "anchorshot|earthquake|powerwhip|synthesis": 30.058, - "anchorshot|knockoff|powerwhip|rapidspin": 7.322, - "anchorshot|knockoff|powerwhip|synthesis": 26.397, - "anchorshot|powerwhip|rapidspin|synthesis": 19.075 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dialga": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 678, - "items": [ - [ - "leftovers", - 92.33 - ], - [ - "choicespecs", - 2.507 - ], - [ - "choicescarf", - 5.162 - ] - ], - "moves": [ - [ - "stealthrock", - 36.578 - ], - [ - "roar", - 46.755 - ], - [ - "toxic", - 50.147 - ], - [ - "dracometeor", - 100.0 - ], - [ - "thunderbolt", - 50.59 - ], - [ - "fireblast", - 49.705 - ], - [ - "flashcannon", - 66.224 - ] - ], - "sets": { - "dracometeor|fireblast|flashcannon|roar": 8.26, - "dracometeor|fireblast|flashcannon|stealthrock": 5.457, - "dracometeor|fireblast|flashcannon|thunderbolt": 7.67, - "dracometeor|fireblast|flashcannon|toxic": 8.26, - "dracometeor|fireblast|roar|stealthrock": 1.77, - "dracometeor|fireblast|roar|thunderbolt": 4.72, - "dracometeor|fireblast|roar|toxic": 4.277, - "dracometeor|fireblast|stealthrock|thunderbolt": 3.982, - "dracometeor|fireblast|stealthrock|toxic": 2.212, - "dracometeor|fireblast|thunderbolt|toxic": 3.097, - "dracometeor|flashcannon|roar|stealthrock": 4.13, - "dracometeor|flashcannon|roar|thunderbolt": 6.047, - "dracometeor|flashcannon|roar|toxic": 7.08, - "dracometeor|flashcannon|stealthrock|thunderbolt": 5.605, - "dracometeor|flashcannon|stealthrock|toxic": 5.31, - "dracometeor|flashcannon|thunderbolt|toxic": 8.407, - "dracometeor|roar|stealthrock|thunderbolt": 2.212, - "dracometeor|roar|stealthrock|toxic": 2.655, - "dracometeor|roar|thunderbolt|toxic": 5.605, - "dracometeor|stealthrock|thunderbolt|toxic": 3.245 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "diancie": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 117, - "items": [ - [ - "lightclay", - 38.462 - ], - [ - "leftovers", - 61.538 - ] - ], - "moves": [ - [ - "stealthrock", - 59.829 - ], - [ - "diamondstorm", - 80.342 - ], - [ - "lightscreen", - 68.376 - ], - [ - "reflect", - 38.462 - ], - [ - "hiddenpowerfire", - 69.231 - ], - [ - "moonblast", - 83.761 - ] - ], - "sets": { - "diamondstorm|hiddenpowerfire|lightscreen|moonblast": 10.256, - "diamondstorm|hiddenpowerfire|lightscreen|reflect": 5.983, - "diamondstorm|hiddenpowerfire|lightscreen|stealthrock": 6.838, - "diamondstorm|hiddenpowerfire|moonblast|stealthrock": 31.624, - "diamondstorm|lightscreen|moonblast|reflect": 13.675, - "diamondstorm|lightscreen|moonblast|stealthrock": 8.547, - "diamondstorm|lightscreen|reflect|stealthrock": 3.419, - "hiddenpowerfire|lightscreen|moonblast|reflect": 10.256, - "hiddenpowerfire|lightscreen|moonblast|stealthrock": 4.274, - "lightscreen|moonblast|reflect|stealthrock": 5.128 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dianciemega": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 396, - "items": [ - [ - "diancite", - 100.0 - ] - ], - "moves": [ - [ - "moonblast", - 100.0 - ], - [ - "earthpower", - 69.949 - ], - [ - "psyshock", - 67.677 - ], - [ - "hiddenpowerfire", - 70.455 - ], - [ - "calmmind", - 69.697 - ], - [ - "diamondstorm", - 22.222 - ] - ], - "sets": { - "calmmind|earthpower|hiddenpowerfire|moonblast": 22.727, - "calmmind|earthpower|moonblast|psyshock": 24.242, - "calmmind|hiddenpowerfire|moonblast|psyshock": 22.727, - "diamondstorm|earthpower|hiddenpowerfire|moonblast": 9.596, - "diamondstorm|earthpower|moonblast|psyshock": 5.303, - "diamondstorm|hiddenpowerfire|moonblast|psyshock": 7.323, - "earthpower|hiddenpowerfire|moonblast|psyshock": 8.081 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "diggersby": { - "abilities": [ - [ - "hugepower", - 100.0 - ] - ], - "count": 738, - "items": [ - [ - "lifeorb", - 53.93 - ], - [ - "choiceband", - 14.228 - ], - [ - "leftovers", - 22.493 - ], - [ - "focussash", - 5.556 - ], - [ - "choicescarf", - 3.794 - ] - ], - "moves": [ - [ - "swordsdance", - 65.989 - ], - [ - "return102", - 71.138 - ], - [ - "knockoff", - 38.211 - ], - [ - "earthquake", - 100.0 - ], - [ - "agility", - 41.057 - ], - [ - "wildcharge", - 38.889 - ], - [ - "quickattack", - 35.095 - ], - [ - "uturn", - 9.621 - ] - ], - "sets": { - "agility|earthquake|knockoff|return102": 5.285, - "agility|earthquake|knockoff|swordsdance": 5.285, - "agility|earthquake|knockoff|wildcharge": 3.659, - "agility|earthquake|return102|swordsdance": 15.312, - "agility|earthquake|return102|wildcharge": 7.046, - "agility|earthquake|swordsdance|wildcharge": 4.472, - "earthquake|knockoff|quickattack|return102": 2.981, - "earthquake|knockoff|quickattack|swordsdance": 2.304, - "earthquake|knockoff|quickattack|uturn": 2.033, - "earthquake|knockoff|quickattack|wildcharge": 1.355, - "earthquake|knockoff|return102|swordsdance": 8.537, - "earthquake|knockoff|return102|uturn": 1.491, - "earthquake|knockoff|return102|wildcharge": 1.762, - "earthquake|knockoff|swordsdance|wildcharge": 2.846, - "earthquake|knockoff|uturn|wildcharge": 0.678, - "earthquake|quickattack|return102|swordsdance": 16.125, - "earthquake|quickattack|return102|uturn": 1.762, - "earthquake|quickattack|return102|wildcharge": 2.304, - "earthquake|quickattack|swordsdance|wildcharge": 4.336, - "earthquake|quickattack|uturn|wildcharge": 1.897, - "earthquake|return102|swordsdance|wildcharge": 6.775, - "earthquake|return102|uturn|wildcharge": 1.762 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dodrio": { - "abilities": [ - [ - "tangledfeet", - 64.173 - ], - [ - "earlybird", - 35.827 - ] - ], - "count": 508, - "items": [ - [ - "flyiniumz", - 30.315 - ], - [ - "lifeorb", - 37.992 - ], - [ - "leftovers", - 16.732 - ], - [ - "choiceband", - 14.567 - ], - [ - "focussash", - 0.394 - ] - ], - "moves": [ - [ - "quickattack", - 47.835 - ], - [ - "bravebird", - 66.929 - ], - [ - "roost", - 58.071 - ], - [ - "swordsdance", - 57.874 - ], - [ - "knockoff", - 56.693 - ], - [ - "return102", - 64.173 - ], - [ - "jumpkick", - 48.425 - ] - ], - "sets": { - "bravebird|jumpkick|knockoff|quickattack": 3.543, - "bravebird|jumpkick|knockoff|return102": 4.921, - "bravebird|jumpkick|knockoff|roost": 3.74, - "bravebird|jumpkick|knockoff|swordsdance": 3.74, - "bravebird|jumpkick|quickattack|return102": 2.362, - "bravebird|jumpkick|quickattack|roost": 3.15, - "bravebird|jumpkick|quickattack|swordsdance": 2.362, - "bravebird|jumpkick|return102|roost": 3.346, - "bravebird|jumpkick|return102|swordsdance": 2.362, - "bravebird|jumpkick|roost|swordsdance": 3.346, - "bravebird|knockoff|quickattack|return102": 2.362, - "bravebird|knockoff|quickattack|roost": 4.528, - "bravebird|knockoff|quickattack|swordsdance": 2.756, - "bravebird|knockoff|return102|roost": 2.756, - "bravebird|knockoff|return102|swordsdance": 4.724, - "bravebird|knockoff|roost|swordsdance": 4.921, - "bravebird|quickattack|return102|roost": 2.953, - "bravebird|quickattack|return102|swordsdance": 2.559, - "bravebird|quickattack|roost|swordsdance": 3.74, - "bravebird|return102|roost|swordsdance": 2.756, - "jumpkick|knockoff|quickattack|return102": 1.378, - "jumpkick|knockoff|return102|roost": 2.165, - "jumpkick|knockoff|return102|swordsdance": 2.953, - "jumpkick|quickattack|return102|roost": 1.969, - "jumpkick|quickattack|return102|swordsdance": 2.756, - "jumpkick|return102|roost|swordsdance": 4.331, - "knockoff|quickattack|return102|roost": 2.953, - "knockoff|quickattack|return102|swordsdance": 3.15, - "knockoff|return102|roost|swordsdance": 6.102, - "quickattack|return102|roost|swordsdance": 5.315 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "donphan": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 530, - "items": [ - [ - "leftovers", - 47.358 - ], - [ - "assaultvest", - 36.226 - ], - [ - "choiceband", - 16.415 - ] - ], - "moves": [ - [ - "knockoff", - 63.774 - ], - [ - "stealthrock", - 47.358 - ], - [ - "iceshard", - 64.717 - ], - [ - "earthquake", - 100.0 - ], - [ - "rapidspin", - 59.811 - ], - [ - "stoneedge", - 64.34 - ] - ], - "sets": { - "earthquake|iceshard|knockoff|rapidspin": 11.887, - "earthquake|iceshard|knockoff|stealthrock": 7.17, - "earthquake|iceshard|knockoff|stoneedge": 16.415, - "earthquake|iceshard|rapidspin|stealthrock": 8.302, - "earthquake|iceshard|rapidspin|stoneedge": 12.453, - "earthquake|iceshard|stealthrock|stoneedge": 8.491, - "earthquake|knockoff|rapidspin|stealthrock": 8.302, - "earthquake|knockoff|rapidspin|stoneedge": 11.887, - "earthquake|knockoff|stealthrock|stoneedge": 8.113, - "earthquake|rapidspin|stealthrock|stoneedge": 6.981 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "doublade": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 557, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "sacredsword", - 100.0 - ], - [ - "shadowsneak", - 80.969 - ], - [ - "swordsdance", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "shadowclaw", - 19.031 - ] - ], - "sets": { - "ironhead|sacredsword|shadowclaw|swordsdance": 19.031, - "ironhead|sacredsword|shadowsneak|swordsdance": 80.969 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dragalge": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 522, - "items": [ - [ - "blacksludge", - 47.318 - ], - [ - "choicespecs", - 52.682 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 53.065 - ], - [ - "dracometeor", - 69.923 - ], - [ - "toxicspikes", - 47.318 - ], - [ - "sludgewave", - 100.0 - ], - [ - "focusblast", - 46.743 - ], - [ - "scald", - 52.874 - ], - [ - "dragonpulse", - 30.077 - ] - ], - "sets": { - "dracometeor|focusblast|hiddenpowerfire|sludgewave": 10.153, - "dracometeor|focusblast|scald|sludgewave": 11.686, - "dracometeor|focusblast|sludgewave|toxicspikes": 11.303, - "dracometeor|hiddenpowerfire|scald|sludgewave": 16.667, - "dracometeor|hiddenpowerfire|sludgewave|toxicspikes": 12.069, - "dracometeor|scald|sludgewave|toxicspikes": 8.046, - "dragonpulse|focusblast|hiddenpowerfire|sludgewave": 4.215, - "dragonpulse|focusblast|scald|sludgewave": 4.598, - "dragonpulse|focusblast|sludgewave|toxicspikes": 4.789, - "dragonpulse|hiddenpowerfire|scald|sludgewave": 5.364, - "dragonpulse|hiddenpowerfire|sludgewave|toxicspikes": 4.598, - "dragonpulse|scald|sludgewave|toxicspikes": 6.513 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dragonite": { - "abilities": [ - [ - "multiscale", - 100.0 - ] - ], - "count": 661, - "items": [ - [ - "lumberry", - 93.797 - ], - [ - "choiceband", - 6.203 - ] - ], - "moves": [ - [ - "dragondance", - 72.769 - ], - [ - "firepunch", - 50.227 - ], - [ - "roost", - 69.743 - ], - [ - "outrage", - 100.0 - ], - [ - "extremespeed", - 52.496 - ], - [ - "earthquake", - 54.766 - ] - ], - "sets": { - "dragondance|earthquake|extremespeed|outrage": 7.867, - "dragondance|earthquake|firepunch|outrage": 8.169, - "dragondance|earthquake|outrage|roost": 17.852, - "dragondance|extremespeed|firepunch|outrage": 8.018, - "dragondance|extremespeed|outrage|roost": 16.339, - "dragondance|firepunch|outrage|roost": 14.523, - "earthquake|extremespeed|firepunch|outrage": 6.203, - "earthquake|extremespeed|outrage|roost": 7.716, - "earthquake|firepunch|outrage|roost": 6.959, - "extremespeed|firepunch|outrage|roost": 6.354 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drampa": { - "abilities": [ - [ - "berserk", - 66.234 - ], - [ - "sapsipper", - 33.766 - ] - ], - "count": 539, - "items": [ - [ - "leftovers", - 90.353 - ], - [ - "choicespecs", - 7.05 - ], - [ - "focussash", - 2.597 - ] - ], - "moves": [ - [ - "dracometeor", - 64.193 - ], - [ - "hypervoice", - 63.822 - ], - [ - "thunderbolt", - 52.69 - ], - [ - "roost", - 60.482 - ], - [ - "glare", - 51.948 - ], - [ - "fireblast", - 54.545 - ], - [ - "dragonpulse", - 35.807 - ], - [ - "substitute", - 16.512 - ] - ], - "sets": { - "dracometeor|fireblast|glare|hypervoice": 7.421, - "dracometeor|fireblast|glare|roost": 4.638, - "dracometeor|fireblast|glare|thunderbolt": 5.566, - "dracometeor|fireblast|hypervoice|roost": 7.421, - "dracometeor|fireblast|hypervoice|thunderbolt": 4.638, - "dracometeor|fireblast|roost|thunderbolt": 5.751, - "dracometeor|glare|hypervoice|roost": 7.607, - "dracometeor|glare|hypervoice|thunderbolt": 6.679, - "dracometeor|glare|roost|thunderbolt": 5.195, - "dracometeor|hypervoice|roost|thunderbolt": 9.276, - "dragonpulse|fireblast|glare|hypervoice": 1.855, - "dragonpulse|fireblast|glare|roost": 0.928, - "dragonpulse|fireblast|glare|substitute": 1.67, - "dragonpulse|fireblast|glare|thunderbolt": 2.226, - "dragonpulse|fireblast|hypervoice|roost": 2.968, - "dragonpulse|fireblast|hypervoice|substitute": 1.855, - "dragonpulse|fireblast|hypervoice|thunderbolt": 2.412, - "dragonpulse|fireblast|roost|substitute": 2.412, - "dragonpulse|fireblast|roost|thunderbolt": 2.226, - "dragonpulse|fireblast|substitute|thunderbolt": 0.557, - "dragonpulse|glare|hypervoice|roost": 2.412, - "dragonpulse|glare|hypervoice|substitute": 1.113, - "dragonpulse|glare|hypervoice|thunderbolt": 1.299, - "dragonpulse|glare|roost|substitute": 0.557, - "dragonpulse|glare|roost|thunderbolt": 1.113, - "dragonpulse|glare|substitute|thunderbolt": 1.67, - "dragonpulse|hypervoice|roost|substitute": 4.453, - "dragonpulse|hypervoice|roost|thunderbolt": 1.855, - "dragonpulse|hypervoice|substitute|thunderbolt": 0.557, - "dragonpulse|roost|substitute|thunderbolt": 1.67 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drapion": { - "abilities": [ - [ - "sniper", - 100.0 - ] - ], - "count": 468, - "items": [ - [ - "blacksludge", - 34.615 - ], - [ - "lifeorb", - 47.863 - ], - [ - "focussash", - 15.598 - ], - [ - "choiceband", - 1.923 - ] - ], - "moves": [ - [ - "swordsdance", - 62.179 - ], - [ - "poisonjab", - 66.026 - ], - [ - "taunt", - 44.658 - ], - [ - "knockoff", - 100.0 - ], - [ - "earthquake", - 45.94 - ], - [ - "aquatail", - 45.085 - ], - [ - "toxicspikes", - 16.239 - ], - [ - "whirlwind", - 19.872 - ] - ], - "sets": { - "aquatail|earthquake|knockoff|poisonjab": 1.923, - "aquatail|earthquake|knockoff|swordsdance": 5.128, - "aquatail|earthquake|knockoff|taunt": 1.496, - "aquatail|earthquake|knockoff|toxicspikes": 1.709, - "aquatail|earthquake|knockoff|whirlwind": 2.137, - "aquatail|knockoff|poisonjab|swordsdance": 15.171, - "aquatail|knockoff|poisonjab|taunt": 1.709, - "aquatail|knockoff|poisonjab|toxicspikes": 2.35, - "aquatail|knockoff|poisonjab|whirlwind": 2.35, - "aquatail|knockoff|swordsdance|taunt": 5.342, - "aquatail|knockoff|taunt|toxicspikes": 1.282, - "aquatail|knockoff|taunt|whirlwind": 1.923, - "aquatail|knockoff|toxicspikes|whirlwind": 2.564, - "earthquake|knockoff|poisonjab|swordsdance": 16.026, - "earthquake|knockoff|poisonjab|taunt": 3.632, - "earthquake|knockoff|poisonjab|toxicspikes": 1.282, - "earthquake|knockoff|poisonjab|whirlwind": 2.137, - "earthquake|knockoff|swordsdance|taunt": 6.624, - "earthquake|knockoff|taunt|toxicspikes": 0.641, - "earthquake|knockoff|taunt|whirlwind": 2.35, - "earthquake|knockoff|toxicspikes|whirlwind": 0.855, - "knockoff|poisonjab|swordsdance|taunt": 13.889, - "knockoff|poisonjab|taunt|toxicspikes": 1.923, - "knockoff|poisonjab|taunt|whirlwind": 1.923, - "knockoff|poisonjab|toxicspikes|whirlwind": 1.709, - "knockoff|taunt|toxicspikes|whirlwind": 1.923 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drifblim": { - "abilities": [ - [ - "unburden", - 73.585 - ], - [ - "aftermath", - 26.415 - ] - ], - "count": 212, - "items": [ - [ - "sitrusberry", - 73.585 - ], - [ - "leftovers", - 26.415 - ] - ], - "moves": [ - [ - "willowisp", - 79.717 - ], - [ - "shadowball", - 57.547 - ], - [ - "acrobatics", - 73.585 - ], - [ - "substitute", - 75.472 - ], - [ - "hex", - 42.453 - ], - [ - "destinybond", - 71.226 - ] - ], - "sets": { - "acrobatics|destinybond|hex|willowisp": 14.623, - "acrobatics|destinybond|shadowball|substitute": 20.283, - "acrobatics|destinybond|shadowball|willowisp": 9.906, - "acrobatics|hex|substitute|willowisp": 13.208, - "acrobatics|shadowball|substitute|willowisp": 15.566, - "destinybond|hex|substitute|willowisp": 14.623, - "destinybond|shadowball|substitute|willowisp": 11.792 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "druddigon": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 538, - "items": [ - [ - "leftovers", - 78.81 - ], - [ - "focussash", - 11.338 - ], - [ - "lifeorb", - 9.851 - ] - ], - "moves": [ - [ - "earthquake", - 64.498 - ], - [ - "dragontail", - 64.684 - ], - [ - "suckerpunch", - 62.082 - ], - [ - "glare", - 61.338 - ], - [ - "taunt", - 60.037 - ], - [ - "stealthrock", - 52.045 - ], - [ - "outrage", - 35.316 - ] - ], - "sets": { - "dragontail|earthquake|glare|stealthrock": 6.506, - "dragontail|earthquake|glare|suckerpunch": 9.48, - "dragontail|earthquake|glare|taunt": 7.249, - "dragontail|earthquake|stealthrock|suckerpunch": 5.948, - "dragontail|earthquake|stealthrock|taunt": 4.833, - "dragontail|earthquake|suckerpunch|taunt": 8.922, - "dragontail|glare|stealthrock|suckerpunch": 5.204, - "dragontail|glare|stealthrock|taunt": 5.762, - "dragontail|glare|suckerpunch|taunt": 6.506, - "dragontail|stealthrock|suckerpunch|taunt": 4.275, - "earthquake|glare|outrage|stealthrock": 2.788, - "earthquake|glare|outrage|suckerpunch": 3.532, - "earthquake|glare|outrage|taunt": 3.717, - "earthquake|outrage|stealthrock|suckerpunch": 2.23, - "earthquake|outrage|stealthrock|taunt": 3.717, - "earthquake|outrage|suckerpunch|taunt": 5.576, - "glare|outrage|stealthrock|suckerpunch": 4.275, - "glare|outrage|stealthrock|taunt": 3.346, - "glare|outrage|suckerpunch|taunt": 2.974, - "outrage|stealthrock|suckerpunch|taunt": 3.16 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dugtrio": { - "abilities": [ - [ - "arenatrap", - 100.0 - ] - ], - "count": 101, - "items": [ - [ - "focussash", - 42.574 - ], - [ - "fightiniumz", - 27.723 - ], - [ - "leftovers", - 25.743 - ], - [ - "lifeorb", - 3.96 - ] - ], - "moves": [ - [ - "stoneedge", - 57.426 - ], - [ - "suckerpunch", - 54.455 - ], - [ - "reversal", - 64.356 - ], - [ - "earthquake", - 100.0 - ], - [ - "substitute", - 48.515 - ], - [ - "memento", - 26.733 - ], - [ - "stealthrock", - 48.515 - ] - ], - "sets": { - "earthquake|memento|reversal|stealthrock": 5.941, - "earthquake|memento|reversal|stoneedge": 6.931, - "earthquake|memento|reversal|suckerpunch": 3.96, - "earthquake|memento|stealthrock|stoneedge": 2.97, - "earthquake|memento|stealthrock|suckerpunch": 3.96, - "earthquake|memento|stoneedge|suckerpunch": 2.97, - "earthquake|reversal|stealthrock|stoneedge": 2.97, - "earthquake|reversal|stealthrock|substitute": 5.941, - "earthquake|reversal|stealthrock|suckerpunch": 6.931, - "earthquake|reversal|stoneedge|substitute": 11.881, - "earthquake|reversal|stoneedge|suckerpunch": 9.901, - "earthquake|reversal|substitute|suckerpunch": 9.901, - "earthquake|stealthrock|stoneedge|substitute": 8.911, - "earthquake|stealthrock|stoneedge|suckerpunch": 4.95, - "earthquake|stealthrock|substitute|suckerpunch": 5.941, - "earthquake|stoneedge|substitute|suckerpunch": 5.941 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dugtrioalola": { - "abilities": [ - [ - "tanglinghair", - 98.268 - ], - [ - "sandforce", - 1.732 - ] - ], - "count": 231, - "items": [ - [ - "lifeorb", - 42.857 - ], - [ - "leftovers", - 53.247 - ], - [ - "focussash", - 3.896 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "suckerpunch", - 35.931 - ], - [ - "toxic", - 46.32 - ], - [ - "ironhead", - 83.117 - ], - [ - "stealthrock", - 41.126 - ], - [ - "substitute", - 42.424 - ], - [ - "stoneedge", - 51.082 - ] - ], - "sets": { - "earthquake|ironhead|stealthrock|stoneedge": 9.524, - "earthquake|ironhead|stealthrock|substitute": 5.628, - "earthquake|ironhead|stealthrock|suckerpunch": 5.195, - "earthquake|ironhead|stealthrock|toxic": 9.091, - "earthquake|ironhead|stoneedge|substitute": 6.494, - "earthquake|ironhead|stoneedge|suckerpunch": 13.42, - "earthquake|ironhead|stoneedge|toxic": 8.225, - "earthquake|ironhead|substitute|suckerpunch": 8.658, - "earthquake|ironhead|substitute|toxic": 8.225, - "earthquake|ironhead|suckerpunch|toxic": 8.658, - "earthquake|stealthrock|stoneedge|substitute": 4.762, - "earthquake|stealthrock|stoneedge|toxic": 3.463, - "earthquake|stealthrock|substitute|toxic": 3.463, - "earthquake|stoneedge|substitute|toxic": 5.195 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dunsparce": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "leftovers", - 64.894 - ], - [ - "focussash", - 8.511 - ], - [ - "lifeorb", - 26.596 - ] - ], - "moves": [ - [ - "glare", - 19.681 - ], - [ - "roost", - 76.064 - ], - [ - "headbutt", - 37.766 - ], - [ - "rockslide", - 69.149 - ], - [ - "coil", - 71.809 - ], - [ - "bodyslam", - 62.234 - ], - [ - "bite", - 63.298 - ] - ], - "sets": { - "bite|bodyslam|coil|rockslide": 13.83, - "bite|bodyslam|coil|roost": 19.681, - "bite|bodyslam|rockslide|roost": 10.106, - "bite|coil|glare|headbutt": 4.787, - "bite|coil|headbutt|rockslide": 1.596, - "bite|coil|headbutt|roost": 3.723, - "bite|glare|headbutt|rockslide": 1.596, - "bite|glare|headbutt|roost": 2.66, - "bite|headbutt|rockslide|roost": 5.319, - "bodyslam|coil|rockslide|roost": 18.617, - "coil|glare|headbutt|rockslide": 2.128, - "coil|headbutt|rockslide|roost": 7.447, - "glare|headbutt|rockslide|roost": 8.511 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "durant": { - "abilities": [ - [ - "hustle", - 100.0 - ] - ], - "count": 722, - "items": [ - [ - "lifeorb", - 71.745 - ], - [ - "choiceband", - 20.222 - ], - [ - "focussash", - 8.033 - ] - ], - "moves": [ - [ - "xscissor", - 81.302 - ], - [ - "stoneedge", - 79.224 - ], - [ - "ironhead", - 79.64 - ], - [ - "honeclaws", - 79.778 - ], - [ - "superpower", - 80.055 - ] - ], - "sets": { - "honeclaws|ironhead|stoneedge|superpower": 18.698, - "honeclaws|ironhead|stoneedge|xscissor": 19.945, - "honeclaws|ironhead|superpower|xscissor": 20.776, - "honeclaws|stoneedge|superpower|xscissor": 20.36, - "ironhead|stoneedge|superpower|xscissor": 20.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dusknoir": { - "abilities": [ - [ - "pressure", - 59.893 - ], - [ - "frisk", - 40.107 - ] - ], - "count": 187, - "items": [ - [ - "leftovers", - 97.861 - ], - [ - "choiceband", - 2.139 - ] - ], - "moves": [ - [ - "icepunch", - 56.15 - ], - [ - "substitute", - 57.754 - ], - [ - "willowisp", - 53.476 - ], - [ - "shadowsneak", - 100.0 - ], - [ - "painsplit", - 56.684 - ], - [ - "earthquake", - 56.15 - ], - [ - "focuspunch", - 19.786 - ] - ], - "sets": { - "earthquake|focuspunch|icepunch|shadowsneak": 2.139, - "earthquake|focuspunch|shadowsneak|substitute": 4.278, - "earthquake|icepunch|painsplit|shadowsneak": 11.23, - "earthquake|icepunch|shadowsneak|substitute": 5.348, - "earthquake|icepunch|shadowsneak|willowisp": 12.834, - "earthquake|painsplit|shadowsneak|substitute": 6.417, - "earthquake|painsplit|shadowsneak|willowisp": 6.952, - "earthquake|shadowsneak|substitute|willowisp": 6.952, - "focuspunch|icepunch|shadowsneak|substitute": 4.278, - "focuspunch|painsplit|shadowsneak|substitute": 5.882, - "focuspunch|shadowsneak|substitute|willowisp": 3.209, - "icepunch|painsplit|shadowsneak|substitute": 6.952, - "icepunch|painsplit|shadowsneak|willowisp": 9.091, - "icepunch|shadowsneak|substitute|willowisp": 4.278, - "painsplit|shadowsneak|substitute|willowisp": 10.16 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dustox": { - "abilities": [ - [ - "shielddust", - 100.0 - ] - ], - "count": 212, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 100.0 - ], - [ - "quiverdance", - 69.34 - ], - [ - "bugbuzz", - 79.245 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "defog", - 29.245 - ], - [ - "uturn", - 22.17 - ] - ], - "sets": { - "bugbuzz|defog|roost|sludgebomb": 8.491, - "bugbuzz|quiverdance|roost|sludgebomb": 69.34, - "bugbuzz|roost|sludgebomb|uturn": 1.415, - "defog|roost|sludgebomb|uturn": 20.755 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "eelektross": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 555, - "items": [ - [ - "assaultvest", - 98.018 - ], - [ - "choicespecs", - 1.982 - ] - ], - "moves": [ - [ - "flamethrower", - 44.685 - ], - [ - "gigadrain", - 39.82 - ], - [ - "knockoff", - 41.081 - ], - [ - "thunderbolt", - 78.919 - ], - [ - "aquatail", - 42.162 - ], - [ - "superpower", - 45.045 - ], - [ - "voltswitch", - 33.874 - ], - [ - "acidspray", - 44.865 - ], - [ - "uturn", - 29.55 - ] - ], - "sets": { - "acidspray|aquatail|flamethrower|thunderbolt": 2.162, - "acidspray|aquatail|flamethrower|voltswitch": 0.721, - "acidspray|aquatail|gigadrain|thunderbolt": 0.541, - "acidspray|aquatail|gigadrain|voltswitch": 1.441, - "acidspray|aquatail|knockoff|thunderbolt": 1.441, - "acidspray|aquatail|knockoff|voltswitch": 1.081, - "acidspray|aquatail|superpower|thunderbolt": 1.261, - "acidspray|aquatail|superpower|voltswitch": 1.081, - "acidspray|aquatail|thunderbolt|uturn": 2.883, - "acidspray|aquatail|thunderbolt|voltswitch": 0.901, - "acidspray|flamethrower|gigadrain|thunderbolt": 1.081, - "acidspray|flamethrower|gigadrain|voltswitch": 0.901, - "acidspray|flamethrower|knockoff|thunderbolt": 1.982, - "acidspray|flamethrower|knockoff|voltswitch": 1.622, - "acidspray|flamethrower|superpower|thunderbolt": 2.523, - "acidspray|flamethrower|superpower|voltswitch": 1.622, - "acidspray|flamethrower|thunderbolt|uturn": 1.802, - "acidspray|flamethrower|thunderbolt|voltswitch": 1.081, - "acidspray|gigadrain|knockoff|thunderbolt": 3.784, - "acidspray|gigadrain|knockoff|voltswitch": 0.36, - "acidspray|gigadrain|superpower|thunderbolt": 1.982, - "acidspray|gigadrain|superpower|voltswitch": 1.982, - "acidspray|gigadrain|thunderbolt|uturn": 1.441, - "acidspray|gigadrain|thunderbolt|voltswitch": 0.901, - "acidspray|knockoff|superpower|thunderbolt": 2.162, - "acidspray|knockoff|superpower|voltswitch": 1.261, - "acidspray|knockoff|thunderbolt|uturn": 1.261, - "acidspray|knockoff|thunderbolt|voltswitch": 0.721, - "acidspray|superpower|thunderbolt|uturn": 2.342, - "acidspray|superpower|thunderbolt|voltswitch": 0.541, - "aquatail|flamethrower|gigadrain|thunderbolt": 2.162, - "aquatail|flamethrower|gigadrain|voltswitch": 1.261, - "aquatail|flamethrower|knockoff|thunderbolt": 1.622, - "aquatail|flamethrower|knockoff|voltswitch": 1.261, - "aquatail|flamethrower|superpower|thunderbolt": 2.162, - "aquatail|flamethrower|superpower|voltswitch": 0.901, - "aquatail|flamethrower|thunderbolt|uturn": 1.622, - "aquatail|flamethrower|thunderbolt|voltswitch": 0.541, - "aquatail|gigadrain|knockoff|thunderbolt": 2.703, - "aquatail|gigadrain|knockoff|voltswitch": 0.721, - "aquatail|gigadrain|superpower|thunderbolt": 1.081, - "aquatail|gigadrain|superpower|voltswitch": 1.081, - "aquatail|gigadrain|thunderbolt|uturn": 2.162, - "aquatail|gigadrain|thunderbolt|voltswitch": 0.721, - "aquatail|knockoff|superpower|thunderbolt": 0.901, - "aquatail|knockoff|superpower|voltswitch": 0.721, - "aquatail|knockoff|thunderbolt|uturn": 2.523, - "aquatail|knockoff|thunderbolt|voltswitch": 0.36, - "aquatail|superpower|thunderbolt|uturn": 2.883, - "aquatail|superpower|thunderbolt|voltswitch": 1.261, - "flamethrower|gigadrain|knockoff|thunderbolt": 1.802, - "flamethrower|gigadrain|knockoff|voltswitch": 0.541, - "flamethrower|gigadrain|superpower|thunderbolt": 1.982, - "flamethrower|gigadrain|superpower|voltswitch": 1.261, - "flamethrower|gigadrain|thunderbolt|uturn": 1.441, - "flamethrower|gigadrain|thunderbolt|voltswitch": 0.541, - "flamethrower|knockoff|superpower|thunderbolt": 2.162, - "flamethrower|knockoff|superpower|voltswitch": 0.721, - "flamethrower|knockoff|thunderbolt|uturn": 1.441, - "flamethrower|knockoff|thunderbolt|voltswitch": 1.982, - "flamethrower|superpower|thunderbolt|uturn": 3.063, - "flamethrower|superpower|thunderbolt|voltswitch": 0.721, - "gigadrain|knockoff|superpower|thunderbolt": 1.081, - "gigadrain|knockoff|superpower|voltswitch": 0.541, - "gigadrain|knockoff|thunderbolt|uturn": 1.081, - "gigadrain|knockoff|thunderbolt|voltswitch": 0.36, - "gigadrain|superpower|thunderbolt|uturn": 2.523, - "gigadrain|superpower|thunderbolt|voltswitch": 0.36, - "knockoff|superpower|thunderbolt|uturn": 1.081, - "knockoff|superpower|thunderbolt|voltswitch": 1.802 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "electivire": { - "abilities": [ - [ - "motordrive", - 100.0 - ] - ], - "count": 177, - "items": [ - [ - "choiceband", - 2.26 - ], - [ - "choicescarf", - 5.085 - ], - [ - "expertbelt", - 92.655 - ] - ], - "moves": [ - [ - "icepunch", - 57.062 - ], - [ - "earthquake", - 64.972 - ], - [ - "wildcharge", - 75.706 - ], - [ - "crosschop", - 66.102 - ], - [ - "flamethrower", - 66.102 - ], - [ - "voltswitch", - 70.056 - ] - ], - "sets": { - "crosschop|earthquake|flamethrower|voltswitch": 6.215, - "crosschop|earthquake|flamethrower|wildcharge": 9.605, - "crosschop|earthquake|icepunch|voltswitch": 6.78, - "crosschop|earthquake|icepunch|wildcharge": 7.345, - "crosschop|earthquake|voltswitch|wildcharge": 9.605, - "crosschop|flamethrower|icepunch|voltswitch": 5.085, - "crosschop|flamethrower|icepunch|wildcharge": 7.345, - "crosschop|flamethrower|voltswitch|wildcharge": 9.04, - "crosschop|icepunch|voltswitch|wildcharge": 5.085, - "earthquake|flamethrower|icepunch|voltswitch": 6.215, - "earthquake|flamethrower|icepunch|wildcharge": 5.65, - "earthquake|flamethrower|voltswitch|wildcharge": 8.475, - "earthquake|icepunch|voltswitch|wildcharge": 5.085, - "flamethrower|icepunch|voltswitch|wildcharge": 8.475 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "electrode": { - "abilities": [ - [ - "aftermath", - 32.258 - ], - [ - "static", - 67.742 - ] - ], - "count": 186, - "items": [ - [ - "lifeorb", - 43.548 - ], - [ - "focussash", - 27.419 - ], - [ - "leftovers", - 20.968 - ], - [ - "choicespecs", - 8.065 - ] - ], - "moves": [ - [ - "hiddenpowergrass", - 66.667 - ], - [ - "signalbeam", - 67.742 - ], - [ - "taunt", - 69.355 - ], - [ - "thunderbolt", - 68.817 - ], - [ - "voltswitch", - 69.355 - ], - [ - "foulplay", - 58.065 - ] - ], - "sets": { - "foulplay|hiddenpowergrass|signalbeam|thunderbolt": 6.989, - "foulplay|hiddenpowergrass|signalbeam|voltswitch": 8.602, - "foulplay|hiddenpowergrass|taunt|thunderbolt": 10.215, - "foulplay|hiddenpowergrass|taunt|voltswitch": 8.065, - "foulplay|hiddenpowergrass|thunderbolt|voltswitch": 1.613, - "foulplay|signalbeam|taunt|thunderbolt": 2.151, - "foulplay|signalbeam|taunt|voltswitch": 7.527, - "foulplay|signalbeam|thunderbolt|voltswitch": 5.376, - "foulplay|taunt|thunderbolt|voltswitch": 7.527, - "hiddenpowergrass|signalbeam|taunt|thunderbolt": 11.29, - "hiddenpowergrass|signalbeam|taunt|voltswitch": 6.989, - "hiddenpowergrass|signalbeam|thunderbolt|voltswitch": 8.065, - "hiddenpowergrass|taunt|thunderbolt|voltswitch": 4.839, - "signalbeam|taunt|thunderbolt|voltswitch": 10.753 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "emboar": { - "abilities": [ - [ - "reckless", - 93.464 - ], - [ - "blaze", - 6.536 - ] - ], - "count": 765, - "items": [ - [ - "assaultvest", - 87.451 - ], - [ - "choicescarf", - 7.712 - ], - [ - "choiceband", - 4.837 - ] - ], - "moves": [ - [ - "grassknot", - 47.974 - ], - [ - "headsmash", - 51.242 - ], - [ - "flareblitz", - 68.889 - ], - [ - "superpower", - 100.0 - ], - [ - "suckerpunch", - 50.458 - ], - [ - "wildcharge", - 50.327 - ], - [ - "fireblast", - 31.111 - ] - ], - "sets": { - "fireblast|grassknot|headsmash|superpower": 4.837, - "fireblast|grassknot|suckerpunch|superpower": 6.536, - "fireblast|grassknot|superpower|wildcharge": 4.575, - "fireblast|headsmash|suckerpunch|superpower": 5.752, - "fireblast|headsmash|superpower|wildcharge": 4.837, - "fireblast|suckerpunch|superpower|wildcharge": 4.575, - "flareblitz|grassknot|headsmash|superpower": 11.242, - "flareblitz|grassknot|suckerpunch|superpower": 9.281, - "flareblitz|grassknot|superpower|wildcharge": 11.503, - "flareblitz|headsmash|suckerpunch|superpower": 12.026, - "flareblitz|headsmash|superpower|wildcharge": 12.549, - "flareblitz|suckerpunch|superpower|wildcharge": 12.288 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "emolga": { - "abilities": [ - [ - "motordrive", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "lifeorb", - 26.344 - ], - [ - "leftovers", - 66.667 - ], - [ - "focussash", - 6.989 - ] - ], - "moves": [ - [ - "airslash", - 66.667 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "knockoff", - 52.688 - ], - [ - "encore", - 54.301 - ], - [ - "uturn", - 56.452 - ], - [ - "roost", - 69.892 - ] - ], - "sets": { - "airslash|encore|knockoff|thunderbolt": 5.376, - "airslash|encore|roost|thunderbolt": 13.441, - "airslash|encore|thunderbolt|uturn": 8.065, - "airslash|knockoff|roost|thunderbolt": 15.054, - "airslash|knockoff|thunderbolt|uturn": 7.527, - "airslash|roost|thunderbolt|uturn": 17.204, - "encore|knockoff|roost|thunderbolt": 9.677, - "encore|knockoff|thunderbolt|uturn": 9.14, - "encore|roost|thunderbolt|uturn": 8.602, - "knockoff|roost|thunderbolt|uturn": 5.914 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "empoleon": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 513, - "items": [ - [ - "lifeorb", - 37.232 - ], - [ - "focussash", - 14.035 - ], - [ - "leftovers", - 43.47 - ], - [ - "choicespecs", - 1.754 - ], - [ - "choicescarf", - 3.509 - ] - ], - "moves": [ - [ - "flashcannon", - 52.437 - ], - [ - "toxic", - 45.809 - ], - [ - "scald", - 60.429 - ], - [ - "icebeam", - 47.758 - ], - [ - "roar", - 42.3 - ], - [ - "stealthrock", - 37.817 - ], - [ - "defog", - 27.29 - ], - [ - "hydropump", - 41.91 - ], - [ - "grassknot", - 44.25 - ] - ], - "sets": { - "defog|flashcannon|grassknot|hydropump": 1.365, - "defog|flashcannon|grassknot|scald": 1.365, - "defog|flashcannon|hydropump|icebeam": 1.754, - "defog|flashcannon|hydropump|roar": 0.78, - "defog|flashcannon|hydropump|toxic": 1.17, - "defog|flashcannon|icebeam|scald": 1.949, - "defog|flashcannon|roar|scald": 1.949, - "defog|flashcannon|scald|toxic": 1.754, - "defog|grassknot|hydropump|icebeam": 1.17, - "defog|grassknot|hydropump|roar": 1.365, - "defog|grassknot|hydropump|toxic": 1.754, - "defog|grassknot|icebeam|scald": 1.559, - "defog|grassknot|roar|scald": 0.975, - "defog|grassknot|scald|toxic": 1.365, - "defog|hydropump|icebeam|roar": 0.78, - "defog|hydropump|icebeam|toxic": 0.78, - "defog|hydropump|roar|toxic": 1.17, - "defog|icebeam|roar|scald": 2.144, - "defog|icebeam|scald|toxic": 1.17, - "defog|roar|scald|toxic": 0.975, - "flashcannon|grassknot|hydropump|icebeam": 0.78, - "flashcannon|grassknot|hydropump|roar": 1.17, - "flashcannon|grassknot|hydropump|scald": 0.78, - "flashcannon|grassknot|hydropump|stealthrock": 1.365, - "flashcannon|grassknot|hydropump|toxic": 1.559, - "flashcannon|grassknot|icebeam|scald": 2.144, - "flashcannon|grassknot|roar|scald": 1.754, - "flashcannon|grassknot|scald|stealthrock": 2.534, - "flashcannon|grassknot|scald|toxic": 1.949, - "flashcannon|hydropump|icebeam|roar": 1.365, - "flashcannon|hydropump|icebeam|scald": 1.559, - "flashcannon|hydropump|icebeam|stealthrock": 2.339, - "flashcannon|hydropump|icebeam|toxic": 1.949, - "flashcannon|hydropump|roar|stealthrock": 2.144, - "flashcannon|hydropump|roar|toxic": 1.365, - "flashcannon|hydropump|stealthrock|toxic": 1.949, - "flashcannon|icebeam|roar|scald": 1.17, - "flashcannon|icebeam|scald|stealthrock": 2.924, - "flashcannon|icebeam|scald|toxic": 2.339, - "flashcannon|roar|scald|stealthrock": 1.754, - "flashcannon|roar|scald|toxic": 1.754, - "flashcannon|scald|stealthrock|toxic": 3.704, - "grassknot|hydropump|icebeam|roar": 0.78, - "grassknot|hydropump|icebeam|stealthrock": 0.78, - "grassknot|hydropump|icebeam|toxic": 1.559, - "grassknot|hydropump|roar|stealthrock": 0.78, - "grassknot|hydropump|roar|toxic": 1.559, - "grassknot|hydropump|stealthrock|toxic": 0.975, - "grassknot|icebeam|roar|scald": 1.949, - "grassknot|icebeam|scald|stealthrock": 3.509, - "grassknot|icebeam|scald|toxic": 1.559, - "grassknot|roar|scald|stealthrock": 2.924, - "grassknot|roar|scald|toxic": 1.559, - "grassknot|scald|stealthrock|toxic": 1.365, - "hydropump|icebeam|roar|stealthrock": 1.17, - "hydropump|icebeam|roar|toxic": 1.949, - "hydropump|icebeam|stealthrock|toxic": 0.975, - "hydropump|roar|stealthrock|toxic": 0.975, - "icebeam|roar|scald|stealthrock": 1.365, - "icebeam|roar|scald|toxic": 2.339, - "icebeam|scald|stealthrock|toxic": 1.949, - "roar|scald|stealthrock|toxic": 2.339 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "entei": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 754, - "items": [ - [ - "choiceband", - 88.462 - ], - [ - "choicescarf", - 11.538 - ] - ], - "moves": [ - [ - "extremespeed", - 82.095 - ], - [ - "flareblitz", - 80.106 - ], - [ - "stoneedge", - 80.371 - ], - [ - "stompingtantrum", - 78.515 - ], - [ - "sacredfire", - 78.912 - ] - ], - "sets": { - "extremespeed|flareblitz|sacredfire|stompingtantrum": 19.629, - "extremespeed|flareblitz|sacredfire|stoneedge": 21.485, - "extremespeed|flareblitz|stompingtantrum|stoneedge": 21.088, - "extremespeed|sacredfire|stompingtantrum|stoneedge": 19.894, - "flareblitz|sacredfire|stompingtantrum|stoneedge": 17.905 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "escavalier": { - "abilities": [ - [ - "overcoat", - 80.282 - ], - [ - "swarm", - 19.718 - ] - ], - "count": 497, - "items": [ - [ - "leftovers", - 76.66 - ], - [ - "choiceband", - 23.34 - ] - ], - "moves": [ - [ - "megahorn", - 100.0 - ], - [ - "knockoff", - 63.38 - ], - [ - "drillrun", - 69.819 - ], - [ - "swordsdance", - 76.66 - ], - [ - "ironhead", - 81.489 - ], - [ - "pursuit", - 8.652 - ] - ], - "sets": { - "drillrun|ironhead|knockoff|megahorn": 14.688, - "drillrun|ironhead|megahorn|pursuit": 8.652, - "drillrun|ironhead|megahorn|swordsdance": 27.968, - "drillrun|knockoff|megahorn|swordsdance": 18.511, - "ironhead|knockoff|megahorn|swordsdance": 30.181 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "espeon": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 487, - "items": [ - [ - "leftovers", - 81.93 - ], - [ - "lifeorb", - 16.222 - ], - [ - "focussash", - 1.848 - ] - ], - "moves": [ - [ - "calmmind", - 67.967 - ], - [ - "psyshock", - 65.914 - ], - [ - "substitute", - 41.478 - ], - [ - "dazzlinggleam", - 60.78 - ], - [ - "shadowball", - 63.244 - ], - [ - "morningsun", - 66.53 - ], - [ - "psychic", - 34.086 - ] - ], - "sets": { - "calmmind|dazzlinggleam|morningsun|psychic": 6.982, - "calmmind|dazzlinggleam|morningsun|psyshock": 13.142, - "calmmind|dazzlinggleam|psychic|shadowball": 3.08, - "calmmind|dazzlinggleam|psychic|substitute": 2.464, - "calmmind|dazzlinggleam|psyshock|shadowball": 6.366, - "calmmind|dazzlinggleam|psyshock|substitute": 6.16, - "calmmind|morningsun|psychic|shadowball": 6.982, - "calmmind|morningsun|psyshock|shadowball": 13.347, - "calmmind|psychic|shadowball|substitute": 3.08, - "calmmind|psyshock|shadowball|substitute": 6.366, - "dazzlinggleam|morningsun|psychic|shadowball": 4.107, - "dazzlinggleam|morningsun|psychic|substitute": 1.848, - "dazzlinggleam|morningsun|psyshock|shadowball": 4.517, - "dazzlinggleam|morningsun|psyshock|substitute": 6.16, - "dazzlinggleam|psychic|shadowball|substitute": 2.875, - "dazzlinggleam|psyshock|shadowball|substitute": 3.08, - "morningsun|psychic|shadowball|substitute": 2.669, - "morningsun|psyshock|shadowball|substitute": 6.776 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "excadrill": { - "abilities": [ - [ - "moldbreaker", - 99.302 - ], - [ - "sandrush", - 0.698 - ] - ], - "count": 573, - "items": [ - [ - "lifeorb", - 73.822 - ], - [ - "assaultvest", - 15.881 - ], - [ - "focussash", - 10.297 - ] - ], - "moves": [ - [ - "swordsdance", - 84.119 - ], - [ - "ironhead", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockslide", - 100.0 - ], - [ - "rapidspin", - 15.881 - ] - ], - "sets": { - "earthquake|ironhead|rapidspin|rockslide": 15.881, - "earthquake|ironhead|rockslide|swordsdance": 84.119 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exeggutor": { - "abilities": [ - [ - "harvest", - 100.0 - ] - ], - "count": 105, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "sleeppowder", - 50.476 - ], - [ - "gigadrain", - 100.0 - ], - [ - "leechseed", - 64.762 - ], - [ - "psychic", - 73.333 - ], - [ - "hiddenpowerfire", - 64.762 - ], - [ - "substitute", - 46.667 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|leechseed|psychic": 20.952, - "gigadrain|hiddenpowerfire|leechseed|sleeppowder": 8.571, - "gigadrain|hiddenpowerfire|leechseed|substitute": 8.571, - "gigadrain|hiddenpowerfire|psychic|sleeppowder": 8.571, - "gigadrain|hiddenpowerfire|psychic|substitute": 10.476, - "gigadrain|hiddenpowerfire|sleeppowder|substitute": 7.619, - "gigadrain|leechseed|psychic|sleeppowder": 15.238, - "gigadrain|leechseed|psychic|substitute": 9.524, - "gigadrain|leechseed|sleeppowder|substitute": 1.905, - "gigadrain|psychic|sleeppowder|substitute": 8.571 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exeggutoralola": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 273, - "items": [ - [ - "choicespecs", - 26.374 - ], - [ - "lifeorb", - 62.271 - ], - [ - "focussash", - 11.355 - ] - ], - "moves": [ - [ - "gigadrain", - 100.0 - ], - [ - "dracometeor", - 100.0 - ], - [ - "leafstorm", - 26.374 - ], - [ - "flamethrower", - 100.0 - ], - [ - "trickroom", - 73.626 - ] - ], - "sets": { - "dracometeor|flamethrower|gigadrain|leafstorm": 26.374, - "dracometeor|flamethrower|gigadrain|trickroom": 73.626 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exploud": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 589, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "surf", - 75.891 - ], - [ - "focusblast", - 75.212 - ], - [ - "boomburst", - 100.0 - ], - [ - "fireblast", - 76.231 - ], - [ - "icebeam", - 72.666 - ] - ], - "sets": { - "boomburst|fireblast|focusblast|icebeam": 24.109, - "boomburst|fireblast|focusblast|surf": 27.334, - "boomburst|fireblast|icebeam|surf": 24.788, - "boomburst|focusblast|icebeam|surf": 23.769 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "farfetchd": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 187, - "items": [ - [ - "stick", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 65.241 - ], - [ - "bravebird", - 63.636 - ], - [ - "swordsdance", - 72.193 - ], - [ - "knockoff", - 58.289 - ], - [ - "return102", - 73.797 - ], - [ - "leafblade", - 66.845 - ] - ], - "sets": { - "bravebird|knockoff|leafblade|return102": 5.348, - "bravebird|knockoff|leafblade|roost": 5.348, - "bravebird|knockoff|leafblade|swordsdance": 5.882, - "bravebird|knockoff|return102|roost": 4.278, - "bravebird|knockoff|return102|swordsdance": 5.348, - "bravebird|knockoff|roost|swordsdance": 8.556, - "bravebird|leafblade|return102|roost": 6.417, - "bravebird|leafblade|return102|swordsdance": 8.021, - "bravebird|leafblade|roost|swordsdance": 6.417, - "bravebird|return102|roost|swordsdance": 8.021, - "knockoff|leafblade|return102|roost": 6.417, - "knockoff|leafblade|return102|swordsdance": 10.16, - "knockoff|return102|roost|swordsdance": 6.952, - "leafblade|return102|roost|swordsdance": 12.834 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "fearow": { - "abilities": [ - [ - "sniper", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "return102", - 29.897 - ], - [ - "drillpeck", - 77.835 - ], - [ - "uturn", - 73.711 - ], - [ - "pursuit", - 76.804 - ], - [ - "drillrun", - 76.804 - ], - [ - "doubleedge", - 64.948 - ] - ], - "sets": { - "doubleedge|drillpeck|drillrun|pursuit": 15.464, - "doubleedge|drillpeck|drillrun|uturn": 18.041, - "doubleedge|drillpeck|pursuit|uturn": 17.01, - "doubleedge|drillrun|pursuit|uturn": 14.433, - "drillpeck|drillrun|pursuit|return102": 10.825, - "drillpeck|drillrun|pursuit|uturn": 5.155, - "drillpeck|drillrun|return102|uturn": 5.155, - "drillpeck|pursuit|return102|uturn": 6.186, - "drillrun|pursuit|return102|uturn": 7.732 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "feraligatr": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 480, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 49.167 - ], - [ - "liquidation", - 100.0 - ], - [ - "swordsdance", - 40.208 - ], - [ - "crunch", - 49.583 - ], - [ - "icepunch", - 49.375 - ], - [ - "aquajet", - 64.167 - ], - [ - "dragondance", - 47.5 - ] - ], - "sets": { - "aquajet|crunch|dragondance|liquidation": 11.667, - "aquajet|crunch|earthquake|liquidation": 3.125, - "aquajet|crunch|icepunch|liquidation": 3.333, - "aquajet|crunch|liquidation|swordsdance": 6.25, - "aquajet|dragondance|earthquake|liquidation": 10.833, - "aquajet|dragondance|icepunch|liquidation": 7.708, - "aquajet|earthquake|icepunch|liquidation": 2.917, - "aquajet|earthquake|liquidation|swordsdance": 9.375, - "aquajet|icepunch|liquidation|swordsdance": 8.958, - "crunch|dragondance|earthquake|liquidation": 4.583, - "crunch|dragondance|icepunch|liquidation": 7.292, - "crunch|earthquake|icepunch|liquidation": 2.917, - "crunch|earthquake|liquidation|swordsdance": 4.792, - "crunch|icepunch|liquidation|swordsdance": 5.625, - "dragondance|earthquake|icepunch|liquidation": 5.417, - "earthquake|icepunch|liquidation|swordsdance": 5.208 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ferrothorn": { - "abilities": [ - [ - "ironbarbs", - 100.0 - ] - ], - "count": 588, - "items": [ - [ - "leftovers", - 77.891 - ], - [ - "rockyhelmet", - 22.109 - ] - ], - "moves": [ - [ - "gyroball", - 64.626 - ], - [ - "knockoff", - 54.592 - ], - [ - "leechseed", - 58.503 - ], - [ - "stealthrock", - 44.048 - ], - [ - "spikes", - 55.442 - ], - [ - "powerwhip", - 64.626 - ], - [ - "protect", - 58.163 - ] - ], - "sets": { - "gyroball|knockoff|leechseed|powerwhip": 3.401, - "gyroball|knockoff|leechseed|protect": 5.272, - "gyroball|knockoff|leechseed|spikes": 4.082, - "gyroball|knockoff|leechseed|stealthrock": 3.231, - "gyroball|knockoff|powerwhip|protect": 2.721, - "gyroball|knockoff|powerwhip|spikes": 3.231, - "gyroball|knockoff|powerwhip|stealthrock": 2.211, - "gyroball|knockoff|protect|spikes": 3.401, - "gyroball|knockoff|protect|stealthrock": 2.721, - "gyroball|knockoff|spikes|stealthrock": 3.912, - "gyroball|leechseed|powerwhip|protect": 3.741, - "gyroball|leechseed|powerwhip|spikes": 2.721, - "gyroball|leechseed|powerwhip|stealthrock": 1.361, - "gyroball|leechseed|protect|spikes": 3.912, - "gyroball|leechseed|protect|stealthrock": 3.401, - "gyroball|leechseed|spikes|stealthrock": 3.741, - "gyroball|powerwhip|protect|spikes": 4.762, - "gyroball|powerwhip|protect|stealthrock": 2.721, - "gyroball|powerwhip|spikes|stealthrock": 2.381, - "gyroball|protect|spikes|stealthrock": 1.701, - "knockoff|leechseed|powerwhip|protect": 4.932, - "knockoff|leechseed|powerwhip|spikes": 4.592, - "knockoff|leechseed|powerwhip|stealthrock": 3.061, - "knockoff|powerwhip|protect|spikes": 4.932, - "knockoff|powerwhip|protect|stealthrock": 1.871, - "knockoff|powerwhip|spikes|stealthrock": 1.02, - "leechseed|powerwhip|protect|spikes": 4.252, - "leechseed|powerwhip|protect|stealthrock": 3.912, - "leechseed|powerwhip|spikes|stealthrock": 2.891, - "powerwhip|protect|spikes|stealthrock": 3.912 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "flareon": { - "abilities": [ - [ - "guts", - 89.109 - ], - [ - "flashfire", - 10.891 - ] - ], - "count": 202, - "items": [ - [ - "toxicorb", - 89.109 - ], - [ - "assaultvest", - 10.891 - ] - ], - "moves": [ - [ - "facade", - 68.317 - ], - [ - "flamecharge", - 76.733 - ], - [ - "superpower", - 75.248 - ], - [ - "flareblitz", - 100.0 - ], - [ - "quickattack", - 79.703 - ] - ], - "sets": { - "facade|flamecharge|flareblitz|quickattack": 24.752, - "facade|flamecharge|flareblitz|superpower": 20.297, - "facade|flareblitz|quickattack|superpower": 23.267, - "flamecharge|flareblitz|quickattack|superpower": 31.683 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "floatzel": { - "abilities": [ - [ - "waterveil", - 100.0 - ] - ], - "count": 203, - "items": [ - [ - "leftovers", - 41.379 - ], - [ - "choiceband", - 1.97 - ], - [ - "lifeorb", - 32.512 - ], - [ - "focussash", - 24.138 - ] - ], - "moves": [ - [ - "bulkup", - 69.951 - ], - [ - "aquajet", - 66.995 - ], - [ - "substitute", - 29.557 - ], - [ - "liquidation", - 100.0 - ], - [ - "brickbreak", - 40.394 - ], - [ - "icepunch", - 52.217 - ], - [ - "taunt", - 40.887 - ] - ], - "sets": { - "aquajet|brickbreak|bulkup|liquidation": 9.36, - "aquajet|brickbreak|icepunch|liquidation": 1.97, - "aquajet|brickbreak|liquidation|substitute": 3.941, - "aquajet|brickbreak|liquidation|taunt": 3.941, - "aquajet|bulkup|icepunch|liquidation": 14.286, - "aquajet|bulkup|liquidation|substitute": 9.852, - "aquajet|bulkup|liquidation|taunt": 14.286, - "aquajet|icepunch|liquidation|substitute": 3.448, - "aquajet|icepunch|liquidation|taunt": 5.911, - "brickbreak|bulkup|icepunch|liquidation": 3.941, - "brickbreak|bulkup|liquidation|substitute": 2.463, - "brickbreak|bulkup|liquidation|taunt": 3.941, - "brickbreak|icepunch|liquidation|substitute": 2.956, - "brickbreak|icepunch|liquidation|taunt": 7.882, - "bulkup|icepunch|liquidation|substitute": 6.897, - "bulkup|icepunch|liquidation|taunt": 4.926 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "floetteeternal": { - "abilities": [ - [ - "flowerveil", - 100.0 - ] - ], - "count": 404, - "items": [ - [ - "choicescarf", - 60.891 - ], - [ - "choicespecs", - 39.109 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "hiddenpowerfire", - 50.743 - ], - [ - "moonblast", - 100.0 - ], - [ - "lightofruin", - 100.0 - ], - [ - "hiddenpowerground", - 49.257 - ] - ], - "sets": { - "hiddenpowerfire|lightofruin|moonblast|psychic": 50.743, - "hiddenpowerground|lightofruin|moonblast|psychic": 49.257 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "florges": { - "abilities": [ - [ - "symbiosis", - 82.803 - ], - [ - "flowerveil", - 17.197 - ] - ], - "count": 471, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "moonblast", - 100.0 - ], - [ - "protect", - 50.531 - ], - [ - "toxic", - 49.257 - ], - [ - "aromatherapy", - 48.62 - ], - [ - "synthesis", - 33.758 - ], - [ - "defog", - 41.826 - ], - [ - "wish", - 67.728 - ], - [ - "calmmind", - 8.28 - ] - ], - "sets": { - "aromatherapy|calmmind|moonblast|wish": 1.486, - "aromatherapy|defog|moonblast|protect": 1.911, - "aromatherapy|defog|moonblast|synthesis": 3.397, - "aromatherapy|defog|moonblast|toxic": 1.699, - "aromatherapy|defog|moonblast|wish": 8.068, - "aromatherapy|moonblast|protect|synthesis": 3.822, - "aromatherapy|moonblast|protect|toxic": 2.548, - "aromatherapy|moonblast|protect|wish": 9.766, - "aromatherapy|moonblast|synthesis|toxic": 4.034, - "aromatherapy|moonblast|synthesis|wish": 1.699, - "aromatherapy|moonblast|toxic|wish": 10.191, - "calmmind|defog|moonblast|wish": 2.123, - "calmmind|moonblast|protect|wish": 1.062, - "calmmind|moonblast|synthesis|wish": 1.486, - "calmmind|moonblast|toxic|wish": 2.123, - "defog|moonblast|protect|synthesis": 4.034, - "defog|moonblast|protect|toxic": 1.911, - "defog|moonblast|protect|wish": 8.28, - "defog|moonblast|synthesis|toxic": 3.185, - "defog|moonblast|synthesis|wish": 1.486, - "defog|moonblast|toxic|wish": 5.732, - "moonblast|protect|synthesis|toxic": 5.732, - "moonblast|protect|synthesis|wish": 2.123, - "moonblast|protect|toxic|wish": 9.342, - "moonblast|synthesis|toxic|wish": 2.76 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "flygon": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 480, - "items": [ - [ - "lumberry", - 71.667 - ], - [ - "choicescarf", - 8.333 - ], - [ - "lifeorb", - 4.792 - ], - [ - "leftovers", - 14.375 - ], - [ - "choiceband", - 0.833 - ] - ], - "moves": [ - [ - "dragondance", - 71.667 - ], - [ - "roost", - 79.583 - ], - [ - "outrage", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "firepunch", - 21.875 - ], - [ - "defog", - 12.292 - ], - [ - "uturn", - 14.583 - ] - ], - "sets": { - "defog|earthquake|firepunch|outrage": 2.083, - "defog|earthquake|outrage|roost": 6.875, - "defog|earthquake|outrage|uturn": 3.333, - "dragondance|earthquake|firepunch|outrage": 11.25, - "dragondance|earthquake|outrage|roost": 60.417, - "earthquake|firepunch|outrage|roost": 4.792, - "earthquake|firepunch|outrage|uturn": 3.75, - "earthquake|outrage|roost|uturn": 7.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "forretress": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 473, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "rapidspin", - 57.505 - ], - [ - "spikes", - 64.482 - ], - [ - "stealthrock", - 52.008 - ], - [ - "gyroball", - 100.0 - ], - [ - "voltswitch", - 65.116 - ], - [ - "toxic", - 60.888 - ] - ], - "sets": { - "gyroball|rapidspin|spikes|stealthrock": 8.668, - "gyroball|rapidspin|spikes|toxic": 10.148, - "gyroball|rapidspin|spikes|voltswitch": 12.262, - "gyroball|rapidspin|stealthrock|toxic": 4.228, - "gyroball|rapidspin|stealthrock|voltswitch": 9.937, - "gyroball|rapidspin|toxic|voltswitch": 12.262, - "gyroball|spikes|stealthrock|toxic": 11.839, - "gyroball|spikes|stealthrock|voltswitch": 8.245, - "gyroball|spikes|toxic|voltswitch": 13.319, - "gyroball|stealthrock|toxic|voltswitch": 9.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "froslass": { - "abilities": [ - [ - "cursedbody", - 98.429 - ], - [ - "snowcloak", - 1.571 - ] - ], - "count": 573, - "items": [ - [ - "leftovers", - 86.562 - ], - [ - "focussash", - 13.438 - ] - ], - "moves": [ - [ - "spikes", - 47.644 - ], - [ - "destinybond", - 53.229 - ], - [ - "shadowball", - 100.0 - ], - [ - "icebeam", - 100.0 - ], - [ - "thunderwave", - 49.913 - ], - [ - "taunt", - 49.215 - ] - ], - "sets": { - "destinybond|icebeam|shadowball|spikes": 17.103, - "destinybond|icebeam|shadowball|taunt": 18.325, - "destinybond|icebeam|shadowball|thunderwave": 17.801, - "icebeam|shadowball|spikes|taunt": 14.66, - "icebeam|shadowball|spikes|thunderwave": 15.881, - "icebeam|shadowball|taunt|thunderwave": 16.23 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "furfrou": { - "abilities": [ - [ - "furcoat", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "chestoberry", - 76.966 - ], - [ - "leftovers", - 18.539 - ], - [ - "focussash", - 4.494 - ] - ], - "moves": [ - [ - "uturn", - 62.36 - ], - [ - "toxic", - 47.753 - ], - [ - "return102", - 100.0 - ], - [ - "rest", - 76.966 - ], - [ - "suckerpunch", - 58.989 - ], - [ - "cottonguard", - 17.978 - ], - [ - "thunderwave", - 28.09 - ], - [ - "substitute", - 7.865 - ] - ], - "sets": { - "cottonguard|rest|return102|suckerpunch": 3.371, - "cottonguard|rest|return102|thunderwave": 2.247, - "cottonguard|rest|return102|toxic": 6.742, - "cottonguard|rest|return102|uturn": 5.618, - "rest|return102|suckerpunch|thunderwave": 5.618, - "rest|return102|suckerpunch|toxic": 11.798, - "rest|return102|suckerpunch|uturn": 15.169, - "rest|return102|thunderwave|uturn": 10.674, - "rest|return102|toxic|uturn": 15.73, - "return102|substitute|suckerpunch|thunderwave": 3.933, - "return102|substitute|suckerpunch|toxic": 3.933, - "return102|suckerpunch|thunderwave|uturn": 5.618, - "return102|suckerpunch|toxic|uturn": 9.551 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "furret": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 210, - "items": [ - [ - "choicescarf", - 63.81 - ], - [ - "choiceband", - 36.19 - ] - ], - "moves": [ - [ - "firepunch", - 65.238 - ], - [ - "uturn", - 59.524 - ], - [ - "trick", - 63.81 - ], - [ - "doubleedge", - 100.0 - ], - [ - "aquatail", - 52.857 - ], - [ - "knockoff", - 58.571 - ] - ], - "sets": { - "aquatail|doubleedge|firepunch|knockoff": 11.429, - "aquatail|doubleedge|firepunch|trick": 8.095, - "aquatail|doubleedge|firepunch|uturn": 9.048, - "aquatail|doubleedge|knockoff|trick": 7.619, - "aquatail|doubleedge|knockoff|uturn": 6.667, - "aquatail|doubleedge|trick|uturn": 10.0, - "doubleedge|firepunch|knockoff|trick": 13.333, - "doubleedge|firepunch|knockoff|uturn": 9.048, - "doubleedge|firepunch|trick|uturn": 14.286, - "doubleedge|knockoff|trick|uturn": 10.476 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gallade": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "choicescarf", - 30.928 - ], - [ - "lifeorb", - 58.247 - ], - [ - "choiceband", - 10.825 - ] - ], - "moves": [ - [ - "icepunch", - 55.67 - ], - [ - "zenheadbutt", - 58.763 - ], - [ - "knockoff", - 47.423 - ], - [ - "closecombat", - 47.423 - ], - [ - "bulkup", - 58.247 - ], - [ - "drainpunch", - 52.577 - ], - [ - "shadowsneak", - 53.093 - ], - [ - "trick", - 26.804 - ] - ], - "sets": { - "bulkup|closecombat|icepunch|knockoff": 2.577, - "bulkup|closecombat|icepunch|shadowsneak": 3.608, - "bulkup|closecombat|icepunch|zenheadbutt": 4.124, - "bulkup|closecombat|knockoff|shadowsneak": 4.124, - "bulkup|closecombat|knockoff|zenheadbutt": 1.546, - "bulkup|closecombat|shadowsneak|zenheadbutt": 3.608, - "bulkup|drainpunch|icepunch|knockoff": 4.639, - "bulkup|drainpunch|icepunch|shadowsneak": 3.093, - "bulkup|drainpunch|icepunch|zenheadbutt": 8.247, - "bulkup|drainpunch|knockoff|shadowsneak": 7.216, - "bulkup|drainpunch|knockoff|zenheadbutt": 5.155, - "bulkup|drainpunch|shadowsneak|zenheadbutt": 10.309, - "closecombat|icepunch|knockoff|shadowsneak": 1.546, - "closecombat|icepunch|knockoff|trick": 4.639, - "closecombat|icepunch|knockoff|zenheadbutt": 3.093, - "closecombat|icepunch|shadowsneak|trick": 2.577, - "closecombat|icepunch|shadowsneak|zenheadbutt": 3.093, - "closecombat|icepunch|trick|zenheadbutt": 4.124, - "closecombat|knockoff|shadowsneak|trick": 2.062, - "closecombat|knockoff|shadowsneak|zenheadbutt": 1.546, - "closecombat|knockoff|trick|zenheadbutt": 3.093, - "closecombat|shadowsneak|trick|zenheadbutt": 2.062, - "drainpunch|icepunch|knockoff|shadowsneak": 1.546, - "drainpunch|icepunch|knockoff|trick": 0.515, - "drainpunch|icepunch|knockoff|zenheadbutt": 2.062, - "drainpunch|icepunch|shadowsneak|trick": 2.577, - "drainpunch|icepunch|shadowsneak|zenheadbutt": 1.546, - "drainpunch|icepunch|trick|zenheadbutt": 2.062, - "drainpunch|knockoff|shadowsneak|trick": 0.515, - "drainpunch|knockoff|shadowsneak|zenheadbutt": 0.515, - "drainpunch|knockoff|trick|zenheadbutt": 1.031, - "drainpunch|shadowsneak|trick|zenheadbutt": 1.546 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gallademega": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 555, - "items": [ - [ - "galladite", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 72.613 - ], - [ - "substitute", - 75.495 - ], - [ - "closecombat", - 71.351 - ], - [ - "swordsdance", - 76.937 - ], - [ - "zenheadbutt", - 74.955 - ], - [ - "drainpunch", - 28.649 - ] - ], - "sets": { - "closecombat|knockoff|substitute|swordsdance": 18.559, - "closecombat|knockoff|substitute|zenheadbutt": 14.955, - "closecombat|knockoff|swordsdance|zenheadbutt": 17.838, - "closecombat|substitute|swordsdance|zenheadbutt": 20.0, - "drainpunch|knockoff|substitute|swordsdance": 6.486, - "drainpunch|knockoff|substitute|zenheadbutt": 8.108, - "drainpunch|knockoff|swordsdance|zenheadbutt": 6.667, - "drainpunch|substitute|swordsdance|zenheadbutt": 7.387 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "galvantula": { - "abilities": [ - [ - "swarm", - 16.963 - ], - [ - "compoundeyes", - 77.909 - ], - [ - "unnerve", - 5.128 - ] - ], - "count": 507, - "items": [ - [ - "lifeorb", - 82.051 - ], - [ - "focussash", - 14.004 - ], - [ - "choicespecs", - 3.945 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 50.296 - ], - [ - "voltswitch", - 56.213 - ], - [ - "bugbuzz", - 67.258 - ], - [ - "stickyweb", - 96.055 - ], - [ - "gigadrain", - 52.268 - ], - [ - "thunder", - 77.909 - ] - ], - "sets": { - "bugbuzz|gigadrain|hiddenpowerice|thunder": 1.972, - "bugbuzz|gigadrain|hiddenpowerice|voltswitch": 0.592, - "bugbuzz|gigadrain|stickyweb|thunder": 17.16, - "bugbuzz|gigadrain|stickyweb|voltswitch": 8.087, - "bugbuzz|gigadrain|thunder|voltswitch": 0.592, - "bugbuzz|hiddenpowerice|stickyweb|thunder": 15.976, - "bugbuzz|hiddenpowerice|stickyweb|voltswitch": 8.284, - "bugbuzz|hiddenpowerice|thunder|voltswitch": 0.394, - "bugbuzz|stickyweb|thunder|voltswitch": 14.201, - "gigadrain|hiddenpowerice|stickyweb|thunder": 8.679, - "gigadrain|hiddenpowerice|stickyweb|voltswitch": 5.128, - "gigadrain|hiddenpowerice|thunder|voltswitch": 0.394, - "gigadrain|stickyweb|thunder|voltswitch": 9.665, - "hiddenpowerice|stickyweb|thunder|voltswitch": 8.876 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "garbodor": { - "abilities": [ - [ - "aftermath", - 100.0 - ] - ], - "count": 511, - "items": [ - [ - "blacksludge", - 88.65 - ], - [ - "focussash", - 11.35 - ] - ], - "moves": [ - [ - "haze", - 51.859 - ], - [ - "spikes", - 50.294 - ], - [ - "toxic", - 52.25 - ], - [ - "gunkshot", - 100.0 - ], - [ - "painsplit", - 45.01 - ], - [ - "toxicspikes", - 46.575 - ], - [ - "drainpunch", - 54.012 - ] - ], - "sets": { - "drainpunch|gunkshot|haze|painsplit": 6.262, - "drainpunch|gunkshot|haze|spikes": 6.458, - "drainpunch|gunkshot|haze|toxic": 5.675, - "drainpunch|gunkshot|haze|toxicspikes": 4.11, - "drainpunch|gunkshot|painsplit|spikes": 4.501, - "drainpunch|gunkshot|painsplit|toxic": 5.479, - "drainpunch|gunkshot|painsplit|toxicspikes": 3.523, - "drainpunch|gunkshot|spikes|toxic": 5.479, - "drainpunch|gunkshot|spikes|toxicspikes": 6.654, - "drainpunch|gunkshot|toxic|toxicspikes": 5.871, - "gunkshot|haze|painsplit|spikes": 4.305, - "gunkshot|haze|painsplit|toxic": 6.262, - "gunkshot|haze|painsplit|toxicspikes": 3.523, - "gunkshot|haze|spikes|toxic": 4.892, - "gunkshot|haze|spikes|toxicspikes": 4.305, - "gunkshot|haze|toxic|toxicspikes": 6.067, - "gunkshot|painsplit|spikes|toxic": 4.11, - "gunkshot|painsplit|spikes|toxicspikes": 4.11, - "gunkshot|painsplit|toxic|toxicspikes": 2.935, - "gunkshot|spikes|toxic|toxicspikes": 5.479 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "garchomp": { - "abilities": [ - [ - "roughskin", - 100.0 - ] - ], - "count": 129, - "items": [ - [ - "lumberry", - 57.364 - ], - [ - "rockyhelmet", - 20.155 - ], - [ - "choiceband", - 3.876 - ], - [ - "leftovers", - 8.527 - ], - [ - "assaultvest", - 6.202 - ], - [ - "choicescarf", - 3.876 - ] - ], - "moves": [ - [ - "outrage", - 76.744 - ], - [ - "earthquake", - 100.0 - ], - [ - "swordsdance", - 66.667 - ], - [ - "stoneedge", - 55.039 - ], - [ - "stealthrock", - 14.729 - ], - [ - "dragonclaw", - 23.256 - ], - [ - "fireblast", - 15.504 - ], - [ - "firefang", - 48.062 - ] - ], - "sets": { - "dragonclaw|earthquake|fireblast|stealthrock": 3.101, - "dragonclaw|earthquake|fireblast|stoneedge": 5.426, - "dragonclaw|earthquake|firefang|stealthrock": 1.55, - "dragonclaw|earthquake|firefang|stoneedge": 1.55, - "dragonclaw|earthquake|firefang|swordsdance": 5.426, - "dragonclaw|earthquake|stealthrock|stoneedge": 2.326, - "dragonclaw|earthquake|stoneedge|swordsdance": 3.876, - "earthquake|fireblast|outrage|stealthrock": 1.55, - "earthquake|fireblast|outrage|stoneedge": 5.426, - "earthquake|firefang|outrage|stealthrock": 3.876, - "earthquake|firefang|outrage|stoneedge": 6.202, - "earthquake|firefang|outrage|swordsdance": 29.457, - "earthquake|outrage|stealthrock|stoneedge": 2.326, - "earthquake|outrage|stoneedge|swordsdance": 27.907 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "garchompmega": { - "abilities": [ - [ - "sandforce", - 100.0 - ] - ], - "count": 437, - "items": [ - [ - "garchompite", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "fireblast", - 21.968 - ], - [ - "outrage", - 94.508 - ], - [ - "dracometeor", - 23.799 - ], - [ - "stoneedge", - 90.618 - ], - [ - "swordsdance", - 69.108 - ] - ], - "sets": { - "dracometeor|earthquake|fireblast|outrage": 9.382, - "dracometeor|earthquake|fireblast|stoneedge": 5.492, - "dracometeor|earthquake|outrage|stoneedge": 8.924, - "earthquake|fireblast|outrage|stoneedge": 7.094, - "earthquake|outrage|stoneedge|swordsdance": 69.108 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gardevoir": { - "abilities": [ - [ - "trace", - 80.0 - ], - [ - "synchronize", - 20.0 - ] - ], - "count": 110, - "items": [ - [ - "lifeorb", - 50.0 - ], - [ - "leftovers", - 44.545 - ], - [ - "choicescarf", - 3.636 - ], - [ - "choicespecs", - 1.818 - ] - ], - "moves": [ - [ - "willowisp", - 33.636 - ], - [ - "focusblast", - 40.0 - ], - [ - "moonblast", - 100.0 - ], - [ - "thunderbolt", - 32.727 - ], - [ - "psychic", - 65.455 - ], - [ - "calmmind", - 62.727 - ], - [ - "shadowball", - 35.455 - ], - [ - "substitute", - 30.0 - ] - ], - "sets": { - "calmmind|focusblast|moonblast|psychic": 7.273, - "calmmind|focusblast|moonblast|shadowball": 4.545, - "calmmind|focusblast|moonblast|substitute": 2.727, - "calmmind|focusblast|moonblast|thunderbolt": 3.636, - "calmmind|focusblast|moonblast|willowisp": 2.727, - "calmmind|moonblast|psychic|shadowball": 8.182, - "calmmind|moonblast|psychic|substitute": 6.364, - "calmmind|moonblast|psychic|thunderbolt": 9.091, - "calmmind|moonblast|psychic|willowisp": 8.182, - "calmmind|moonblast|shadowball|substitute": 2.727, - "calmmind|moonblast|shadowball|thunderbolt": 2.727, - "calmmind|moonblast|shadowball|willowisp": 2.727, - "calmmind|moonblast|substitute|thunderbolt": 0.909, - "calmmind|moonblast|thunderbolt|willowisp": 0.909, - "focusblast|moonblast|psychic|shadowball": 2.727, - "focusblast|moonblast|psychic|substitute": 2.727, - "focusblast|moonblast|psychic|thunderbolt": 0.909, - "focusblast|moonblast|psychic|willowisp": 3.636, - "focusblast|moonblast|shadowball|substitute": 3.636, - "focusblast|moonblast|substitute|thunderbolt": 0.909, - "focusblast|moonblast|substitute|willowisp": 0.909, - "focusblast|moonblast|thunderbolt|willowisp": 3.636, - "moonblast|psychic|shadowball|substitute": 1.818, - "moonblast|psychic|shadowball|thunderbolt": 1.818, - "moonblast|psychic|shadowball|willowisp": 2.727, - "moonblast|psychic|substitute|thunderbolt": 3.636, - "moonblast|psychic|substitute|willowisp": 3.636, - "moonblast|psychic|thunderbolt|willowisp": 2.727, - "moonblast|shadowball|thunderbolt|willowisp": 1.818 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gardevoirmega": { - "abilities": [ - [ - "pixilate", - 100.0 - ] - ], - "count": 372, - "items": [ - [ - "gardevoirite", - 100.0 - ] - ], - "moves": [ - [ - "calmmind", - 70.43 - ], - [ - "willowisp", - 41.129 - ], - [ - "focusblast", - 47.849 - ], - [ - "hypervoice", - 100.0 - ], - [ - "psyshock", - 72.581 - ], - [ - "taunt", - 41.398 - ], - [ - "substitute", - 26.613 - ] - ], - "sets": { - "calmmind|focusblast|hypervoice|psyshock": 7.258, - "calmmind|focusblast|hypervoice|substitute": 4.57, - "calmmind|focusblast|hypervoice|taunt": 8.871, - "calmmind|focusblast|hypervoice|willowisp": 6.989, - "calmmind|hypervoice|psyshock|substitute": 13.172, - "calmmind|hypervoice|psyshock|taunt": 15.054, - "calmmind|hypervoice|psyshock|willowisp": 14.516, - "focusblast|hypervoice|psyshock|substitute": 3.763, - "focusblast|hypervoice|psyshock|taunt": 6.183, - "focusblast|hypervoice|psyshock|willowisp": 3.226, - "focusblast|hypervoice|substitute|willowisp": 1.882, - "focusblast|hypervoice|taunt|willowisp": 5.108, - "hypervoice|psyshock|substitute|willowisp": 3.226, - "hypervoice|psyshock|taunt|willowisp": 6.183 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gastrodon": { - "abilities": [ - [ - "stormdrain", - 100.0 - ] - ], - "count": 550, - "items": [ - [ - "leftovers", - 98.545 - ], - [ - "focussash", - 1.455 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "recover", - 71.818 - ], - [ - "toxic", - 44.182 - ], - [ - "clearsmog", - 43.091 - ], - [ - "icebeam", - 40.909 - ] - ], - "sets": { - "clearsmog|earthquake|icebeam|scald": 9.455, - "clearsmog|earthquake|recover|scald": 23.273, - "clearsmog|earthquake|scald|toxic": 10.364, - "earthquake|icebeam|recover|scald": 23.091, - "earthquake|icebeam|scald|toxic": 8.364, - "earthquake|recover|scald|toxic": 25.455 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "genesect": { - "abilities": [ - [ - "download", - 100.0 - ] - ], - "count": 498, - "items": [ - [ - "assaultvest", - 32.129 - ], - [ - "focussash", - 9.839 - ], - [ - "lifeorb", - 55.422 - ], - [ - "choicespecs", - 1.205 - ], - [ - "choiceband", - 0.803 - ], - [ - "choicescarf", - 0.602 - ] - ], - "moves": [ - [ - "thunderbolt", - 59.237 - ], - [ - "extremespeed", - 19.478 - ], - [ - "blazekick", - 51.807 - ], - [ - "ironhead", - 88.554 - ], - [ - "icebeam", - 61.446 - ], - [ - "uturn", - 23.695 - ], - [ - "shiftgear", - 65.261 - ], - [ - "flamethrower", - 30.522 - ] - ], - "sets": { - "blazekick|extremespeed|icebeam|ironhead": 1.807, - "blazekick|extremespeed|icebeam|uturn": 2.811, - "blazekick|extremespeed|ironhead|thunderbolt": 2.209, - "blazekick|extremespeed|ironhead|uturn": 0.803, - "blazekick|extremespeed|thunderbolt|uturn": 2.209, - "blazekick|icebeam|ironhead|shiftgear": 16.867, - "blazekick|icebeam|ironhead|thunderbolt": 1.606, - "blazekick|icebeam|ironhead|uturn": 2.811, - "blazekick|icebeam|thunderbolt|uturn": 2.209, - "blazekick|ironhead|shiftgear|thunderbolt": 17.068, - "blazekick|ironhead|thunderbolt|uturn": 1.406, - "extremespeed|flamethrower|icebeam|ironhead": 0.803, - "extremespeed|flamethrower|icebeam|uturn": 0.803, - "extremespeed|flamethrower|ironhead|thunderbolt": 1.004, - "extremespeed|flamethrower|ironhead|uturn": 2.008, - "extremespeed|flamethrower|thunderbolt|uturn": 0.201, - "extremespeed|icebeam|ironhead|thunderbolt": 1.606, - "extremespeed|icebeam|ironhead|uturn": 0.602, - "extremespeed|icebeam|thunderbolt|uturn": 1.406, - "extremespeed|ironhead|thunderbolt|uturn": 1.205, - "flamethrower|icebeam|ironhead|shiftgear": 10.442, - "flamethrower|icebeam|ironhead|thunderbolt": 2.008, - "flamethrower|icebeam|ironhead|uturn": 1.004, - "flamethrower|icebeam|thunderbolt|uturn": 1.807, - "flamethrower|ironhead|shiftgear|thunderbolt": 9.036, - "flamethrower|ironhead|thunderbolt|uturn": 1.406, - "icebeam|ironhead|shiftgear|thunderbolt": 11.847, - "icebeam|ironhead|thunderbolt|uturn": 1.004 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "genesectdouse": { - "abilities": [ - [ - "download", - 100.0 - ] - ], - "count": 166, - "items": [ - [ - "dousedrive", - 100.0 - ] - ], - "moves": [ - [ - "uturn", - 58.434 - ], - [ - "technoblast", - 100.0 - ], - [ - "extremespeed", - 33.735 - ], - [ - "icebeam", - 40.964 - ], - [ - "flamethrower", - 31.325 - ], - [ - "blazekick", - 33.133 - ], - [ - "ironhead", - 59.036 - ], - [ - "thunderbolt", - 43.373 - ] - ], - "sets": { - "blazekick|extremespeed|ironhead|technoblast": 3.614, - "blazekick|extremespeed|technoblast|uturn": 3.614, - "blazekick|icebeam|ironhead|technoblast": 5.422, - "blazekick|icebeam|technoblast|uturn": 4.819, - "blazekick|ironhead|technoblast|thunderbolt": 4.819, - "blazekick|ironhead|technoblast|uturn": 3.614, - "blazekick|technoblast|thunderbolt|uturn": 7.229, - "extremespeed|flamethrower|ironhead|technoblast": 3.614, - "extremespeed|flamethrower|technoblast|uturn": 4.819, - "extremespeed|icebeam|ironhead|technoblast": 4.217, - "extremespeed|icebeam|technoblast|uturn": 3.012, - "extremespeed|ironhead|technoblast|thunderbolt": 4.819, - "extremespeed|ironhead|technoblast|uturn": 4.217, - "extremespeed|technoblast|thunderbolt|uturn": 1.807, - "flamethrower|icebeam|ironhead|technoblast": 3.614, - "flamethrower|icebeam|technoblast|uturn": 5.422, - "flamethrower|ironhead|technoblast|thunderbolt": 5.422, - "flamethrower|ironhead|technoblast|uturn": 2.41, - "flamethrower|technoblast|thunderbolt|uturn": 6.024, - "icebeam|ironhead|technoblast|thunderbolt": 6.024, - "icebeam|ironhead|technoblast|uturn": 4.217, - "icebeam|technoblast|thunderbolt|uturn": 4.217, - "ironhead|technoblast|thunderbolt|uturn": 3.012 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gengar": { - "abilities": [ - [ - "cursedbody", - 100.0 - ] - ], - "count": 134, - "items": [ - [ - "lifeorb", - 15.672 - ], - [ - "blacksludge", - 84.328 - ] - ], - "moves": [ - [ - "painsplit", - 47.015 - ], - [ - "sludgewave", - 61.94 - ], - [ - "focusblast", - 45.522 - ], - [ - "shadowball", - 100.0 - ], - [ - "willowisp", - 50.0 - ], - [ - "disable", - 50.0 - ], - [ - "substitute", - 45.522 - ] - ], - "sets": { - "disable|focusblast|painsplit|shadowball": 4.478, - "disable|focusblast|shadowball|sludgewave": 3.731, - "disable|focusblast|shadowball|substitute": 5.224, - "disable|focusblast|shadowball|willowisp": 5.224, - "disable|painsplit|shadowball|sludgewave": 7.463, - "disable|painsplit|shadowball|substitute": 4.478, - "disable|painsplit|shadowball|willowisp": 2.985, - "disable|shadowball|sludgewave|substitute": 7.463, - "disable|shadowball|sludgewave|willowisp": 5.97, - "disable|shadowball|substitute|willowisp": 2.985, - "focusblast|painsplit|shadowball|sludgewave": 4.478, - "focusblast|painsplit|shadowball|substitute": 2.239, - "focusblast|painsplit|shadowball|willowisp": 4.478, - "focusblast|shadowball|sludgewave|substitute": 4.478, - "focusblast|shadowball|sludgewave|willowisp": 7.463, - "focusblast|shadowball|substitute|willowisp": 3.731, - "painsplit|shadowball|sludgewave|substitute": 5.97, - "painsplit|shadowball|sludgewave|willowisp": 8.209, - "painsplit|shadowball|substitute|willowisp": 2.239, - "shadowball|sludgewave|substitute|willowisp": 6.716 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gengarmega": { - "abilities": [ - [ - "shadowtag", - 100.0 - ] - ], - "count": 427, - "items": [ - [ - "gengarite", - 100.0 - ] - ], - "moves": [ - [ - "disable", - 43.794 - ], - [ - "taunt", - 44.496 - ], - [ - "shadowball", - 100.0 - ], - [ - "focusblast", - 44.731 - ], - [ - "destinybond", - 45.199 - ], - [ - "sludgewave", - 61.124 - ], - [ - "protect", - 46.136 - ], - [ - "perishsong", - 14.52 - ] - ], - "sets": { - "destinybond|disable|focusblast|shadowball": 2.576, - "destinybond|disable|protect|shadowball": 2.81, - "destinybond|disable|shadowball|sludgewave": 4.918, - "destinybond|disable|shadowball|taunt": 3.513, - "destinybond|focusblast|protect|shadowball": 2.342, - "destinybond|focusblast|shadowball|sludgewave": 8.899, - "destinybond|focusblast|shadowball|taunt": 2.342, - "destinybond|perishsong|protect|shadowball": 3.747, - "destinybond|protect|shadowball|sludgewave": 3.981, - "destinybond|protect|shadowball|taunt": 2.81, - "destinybond|shadowball|sludgewave|taunt": 7.26, - "disable|focusblast|protect|shadowball": 2.576, - "disable|focusblast|shadowball|sludgewave": 6.792, - "disable|focusblast|shadowball|taunt": 5.621, - "disable|perishsong|protect|shadowball": 1.874, - "disable|protect|shadowball|sludgewave": 4.45, - "disable|protect|shadowball|taunt": 2.108, - "disable|shadowball|sludgewave|taunt": 6.557, - "focusblast|perishsong|protect|shadowball": 2.108, - "focusblast|protect|shadowball|sludgewave": 4.215, - "focusblast|protect|shadowball|taunt": 1.874, - "focusblast|shadowball|sludgewave|taunt": 5.386, - "perishsong|protect|shadowball|sludgewave": 4.215, - "perishsong|protect|shadowball|taunt": 2.576, - "protect|shadowball|sludgewave|taunt": 4.45 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gigalith": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 788, - "items": [ - [ - "choiceband", - 42.386 - ], - [ - "leftovers", - 57.614 - ] - ], - "moves": [ - [ - "earthquake", - 79.061 - ], - [ - "rockblast", - 25.888 - ], - [ - "superpower", - 80.33 - ], - [ - "explosion", - 82.995 - ], - [ - "stealthrock", - 57.614 - ], - [ - "stoneedge", - 74.112 - ] - ], - "sets": { - "earthquake|explosion|rockblast|stealthrock": 5.457, - "earthquake|explosion|rockblast|superpower": 10.025, - "earthquake|explosion|stealthrock|stoneedge": 14.213, - "earthquake|explosion|stoneedge|superpower": 32.36, - "earthquake|rockblast|stealthrock|superpower": 4.315, - "earthquake|stealthrock|stoneedge|superpower": 12.69, - "explosion|rockblast|stealthrock|superpower": 6.091, - "explosion|stealthrock|stoneedge|superpower": 14.848 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "girafarig": { - "abilities": [ - [ - "sapsipper", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "leftovers", - 71.5 - ], - [ - "lifeorb", - 19.5 - ], - [ - "focussash", - 9.0 - ] - ], - "moves": [ - [ - "psyshock", - 68.5 - ], - [ - "nastyplot", - 77.0 - ], - [ - "hypervoice", - 100.0 - ], - [ - "substitute", - 71.5 - ], - [ - "thunderbolt", - 60.5 - ], - [ - "psychic", - 22.5 - ] - ], - "sets": { - "hypervoice|nastyplot|psychic|substitute": 8.0, - "hypervoice|nastyplot|psychic|thunderbolt": 8.0, - "hypervoice|nastyplot|psyshock|substitute": 31.5, - "hypervoice|nastyplot|psyshock|thunderbolt": 20.5, - "hypervoice|nastyplot|substitute|thunderbolt": 9.0, - "hypervoice|psychic|substitute|thunderbolt": 6.5, - "hypervoice|psyshock|substitute|thunderbolt": 16.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "giratina": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 310, - "items": [ - [ - "leftovers", - 91.935 - ], - [ - "chestoberry", - 8.065 - ] - ], - "moves": [ - [ - "roar", - 51.935 - ], - [ - "shadowball", - 100.0 - ], - [ - "willowisp", - 63.226 - ], - [ - "dragonpulse", - 64.839 - ], - [ - "dragontail", - 37.742 - ], - [ - "sleeptalk", - 37.097 - ], - [ - "rest", - 45.161 - ] - ], - "sets": { - "dragonpulse|dragontail|rest|shadowball": 0.323, - "dragonpulse|dragontail|roar|shadowball": 1.935, - "dragonpulse|dragontail|shadowball|willowisp": 15.806, - "dragonpulse|rest|roar|shadowball": 0.968, - "dragonpulse|rest|shadowball|sleeptalk": 8.387, - "dragonpulse|rest|shadowball|willowisp": 0.323, - "dragonpulse|roar|shadowball|willowisp": 37.097, - "dragontail|rest|shadowball|sleeptalk": 13.871, - "dragontail|rest|shadowball|willowisp": 5.806, - "rest|roar|shadowball|sleeptalk": 11.29, - "rest|roar|shadowball|willowisp": 0.645, - "rest|shadowball|sleeptalk|willowisp": 3.548 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "giratinaorigin": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 330, - "items": [ - [ - "griseousorb", - 100.0 - ] - ], - "moves": [ - [ - "shadowsneak", - 64.242 - ], - [ - "shadowball", - 70.0 - ], - [ - "dragontail", - 64.545 - ], - [ - "dracometeor", - 66.97 - ], - [ - "earthquake", - 40.303 - ], - [ - "toxic", - 29.091 - ], - [ - "defog", - 30.606 - ], - [ - "willowisp", - 34.242 - ] - ], - "sets": { - "defog|dracometeor|dragontail|shadowball": 3.333, - "defog|dracometeor|dragontail|shadowsneak": 2.727, - "defog|dracometeor|earthquake|shadowball": 1.818, - "defog|dracometeor|earthquake|shadowsneak": 0.303, - "defog|dracometeor|shadowball|shadowsneak": 3.939, - "defog|dracometeor|shadowball|toxic": 0.606, - "defog|dracometeor|shadowball|willowisp": 2.121, - "defog|dracometeor|shadowsneak|toxic": 1.818, - "defog|dracometeor|shadowsneak|willowisp": 1.818, - "defog|dragontail|earthquake|shadowball": 3.636, - "defog|dragontail|earthquake|shadowsneak": 2.424, - "defog|dragontail|shadowball|shadowsneak": 1.818, - "defog|dragontail|shadowball|toxic": 0.606, - "defog|dragontail|shadowball|willowisp": 1.212, - "defog|dragontail|shadowsneak|toxic": 0.606, - "defog|dragontail|shadowsneak|willowisp": 1.818, - "dracometeor|dragontail|earthquake|shadowball": 4.242, - "dracometeor|dragontail|earthquake|shadowsneak": 3.636, - "dracometeor|dragontail|shadowball|shadowsneak": 3.333, - "dracometeor|dragontail|shadowball|toxic": 3.03, - "dracometeor|dragontail|shadowball|willowisp": 4.848, - "dracometeor|dragontail|shadowsneak|toxic": 3.333, - "dracometeor|dragontail|shadowsneak|willowisp": 3.03, - "dracometeor|earthquake|shadowball|shadowsneak": 2.424, - "dracometeor|earthquake|shadowball|toxic": 3.939, - "dracometeor|earthquake|shadowball|willowisp": 2.121, - "dracometeor|earthquake|shadowsneak|toxic": 2.424, - "dracometeor|earthquake|shadowsneak|willowisp": 2.121, - "dracometeor|shadowball|shadowsneak|toxic": 3.939, - "dracometeor|shadowball|shadowsneak|willowisp": 6.061, - "dragontail|earthquake|shadowball|shadowsneak": 3.03, - "dragontail|earthquake|shadowball|toxic": 1.515, - "dragontail|earthquake|shadowball|willowisp": 2.727, - "dragontail|earthquake|shadowsneak|toxic": 3.03, - "dragontail|earthquake|shadowsneak|willowisp": 0.909, - "dragontail|shadowball|shadowsneak|toxic": 4.242, - "dragontail|shadowball|shadowsneak|willowisp": 5.455 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glaceon": { - "abilities": [ - [ - "snowcloak", - 99.038 - ], - [ - "icebody", - 0.962 - ] - ], - "count": 208, - "items": [ - [ - "leftovers", - 79.327 - ], - [ - "lifeorb", - 7.692 - ], - [ - "focussash", - 12.981 - ] - ], - "moves": [ - [ - "toxic", - 46.635 - ], - [ - "icebeam", - 100.0 - ], - [ - "healbell", - 52.404 - ], - [ - "protect", - 49.038 - ], - [ - "shadowball", - 44.231 - ], - [ - "wish", - 62.5 - ], - [ - "hiddenpowerground", - 45.192 - ] - ], - "sets": { - "healbell|hiddenpowerground|icebeam|protect": 2.885, - "healbell|hiddenpowerground|icebeam|shadowball": 2.404, - "healbell|hiddenpowerground|icebeam|toxic": 3.846, - "healbell|hiddenpowerground|icebeam|wish": 8.654, - "healbell|icebeam|protect|shadowball": 1.923, - "healbell|icebeam|protect|toxic": 6.25, - "healbell|icebeam|protect|wish": 6.731, - "healbell|icebeam|shadowball|toxic": 7.212, - "healbell|icebeam|shadowball|wish": 6.25, - "healbell|icebeam|toxic|wish": 6.25, - "hiddenpowerground|icebeam|protect|shadowball": 3.365, - "hiddenpowerground|icebeam|protect|toxic": 3.365, - "hiddenpowerground|icebeam|protect|wish": 8.173, - "hiddenpowerground|icebeam|shadowball|toxic": 2.885, - "hiddenpowerground|icebeam|shadowball|wish": 5.288, - "hiddenpowerground|icebeam|toxic|wish": 4.327, - "icebeam|protect|shadowball|toxic": 3.365, - "icebeam|protect|shadowball|wish": 7.692, - "icebeam|protect|toxic|wish": 5.288, - "icebeam|shadowball|toxic|wish": 3.846 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glalie": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 27, - "items": [ - [ - "lifeorb", - 55.556 - ], - [ - "leftovers", - 40.741 - ], - [ - "assaultvest", - 3.704 - ] - ], - "moves": [ - [ - "spikes", - 59.259 - ], - [ - "earthquake", - 51.852 - ], - [ - "icebeam", - 100.0 - ], - [ - "iceshard", - 66.667 - ], - [ - "taunt", - 77.778 - ], - [ - "explosion", - 44.444 - ] - ], - "sets": { - "earthquake|explosion|icebeam|iceshard": 3.704, - "earthquake|explosion|icebeam|taunt": 7.407, - "earthquake|icebeam|iceshard|spikes": 11.111, - "earthquake|icebeam|iceshard|taunt": 14.815, - "earthquake|icebeam|spikes|taunt": 14.815, - "explosion|icebeam|iceshard|spikes": 7.407, - "explosion|icebeam|iceshard|taunt": 14.815, - "explosion|icebeam|spikes|taunt": 11.111, - "icebeam|iceshard|spikes|taunt": 14.815 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glaliemega": { - "abilities": [ - [ - "refrigerate", - 100.0 - ] - ], - "count": 168, - "items": [ - [ - "glalitite", - 100.0 - ] - ], - "moves": [ - [ - "spikes", - 82.738 - ], - [ - "freezedry", - 69.048 - ], - [ - "return102", - 100.0 - ], - [ - "earthquake", - 91.667 - ], - [ - "iceshard", - 25.0 - ], - [ - "explosion", - 31.548 - ] - ], - "sets": { - "earthquake|explosion|freezedry|return102": 4.762, - "earthquake|explosion|iceshard|return102": 10.714, - "earthquake|explosion|return102|spikes": 7.738, - "earthquake|freezedry|iceshard|return102": 1.786, - "earthquake|freezedry|return102|spikes": 62.5, - "earthquake|iceshard|return102|spikes": 4.167, - "explosion|iceshard|return102|spikes": 8.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gligar": { - "abilities": [ - [ - "immunity", - 99.618 - ], - [ - "sandveil", - 0.382 - ] - ], - "count": 524, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "uturn", - 44.656 - ], - [ - "roost", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 42.939 - ], - [ - "stealthrock", - 36.26 - ], - [ - "knockoff", - 48.855 - ], - [ - "defog", - 27.29 - ] - ], - "sets": { - "defog|earthquake|knockoff|roost": 10.687, - "defog|earthquake|roost|toxic": 7.824, - "defog|earthquake|roost|uturn": 8.779, - "earthquake|knockoff|roost|stealthrock": 13.74, - "earthquake|knockoff|roost|toxic": 11.832, - "earthquake|knockoff|roost|uturn": 12.595, - "earthquake|roost|stealthrock|toxic": 11.26, - "earthquake|roost|stealthrock|uturn": 11.26, - "earthquake|roost|toxic|uturn": 12.023 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gliscor": { - "abilities": [ - [ - "poisonheal", - 100.0 - ] - ], - "count": 583, - "items": [ - [ - "toxicorb", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "protect", - 43.911 - ], - [ - "roost", - 61.75 - ], - [ - "stealthrock", - 32.075 - ], - [ - "knockoff", - 41.338 - ], - [ - "toxic", - 39.966 - ], - [ - "uturn", - 40.48 - ], - [ - "taunt", - 40.48 - ] - ], - "sets": { - "earthquake|knockoff|protect|roost": 4.803, - "earthquake|knockoff|protect|stealthrock": 2.058, - "earthquake|knockoff|protect|taunt": 2.058, - "earthquake|knockoff|protect|toxic": 2.23, - "earthquake|knockoff|protect|uturn": 3.087, - "earthquake|knockoff|roost|stealthrock": 2.916, - "earthquake|knockoff|roost|taunt": 4.803, - "earthquake|knockoff|roost|toxic": 4.46, - "earthquake|knockoff|roost|uturn": 4.46, - "earthquake|knockoff|stealthrock|taunt": 2.401, - "earthquake|knockoff|stealthrock|toxic": 1.544, - "earthquake|knockoff|stealthrock|uturn": 1.029, - "earthquake|knockoff|taunt|toxic": 2.23, - "earthquake|knockoff|taunt|uturn": 1.372, - "earthquake|knockoff|toxic|uturn": 1.887, - "earthquake|protect|roost|stealthrock": 4.117, - "earthquake|protect|roost|taunt": 3.774, - "earthquake|protect|roost|toxic": 3.774, - "earthquake|protect|roost|uturn": 6.003, - "earthquake|protect|stealthrock|taunt": 1.715, - "earthquake|protect|stealthrock|toxic": 1.715, - "earthquake|protect|stealthrock|uturn": 1.372, - "earthquake|protect|taunt|toxic": 3.259, - "earthquake|protect|taunt|uturn": 2.058, - "earthquake|protect|toxic|uturn": 1.887, - "earthquake|roost|stealthrock|taunt": 2.744, - "earthquake|roost|stealthrock|toxic": 3.259, - "earthquake|roost|stealthrock|uturn": 2.573, - "earthquake|roost|taunt|toxic": 4.803, - "earthquake|roost|taunt|uturn": 3.945, - "earthquake|roost|toxic|uturn": 5.317, - "earthquake|stealthrock|taunt|toxic": 0.858, - "earthquake|stealthrock|taunt|uturn": 2.744, - "earthquake|stealthrock|toxic|uturn": 1.029, - "earthquake|taunt|toxic|uturn": 1.715 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gogoat": { - "abilities": [ - [ - "sapsipper", - 100.0 - ] - ], - "count": 201, - "items": [ - [ - "leftovers", - 72.139 - ], - [ - "focussash", - 8.955 - ], - [ - "lifeorb", - 18.905 - ] - ], - "moves": [ - [ - "milkdrink", - 39.801 - ], - [ - "bulkup", - 60.697 - ], - [ - "earthquake", - 67.662 - ], - [ - "hornleech", - 100.0 - ], - [ - "rockslide", - 60.199 - ], - [ - "substitute", - 48.756 - ], - [ - "leechseed", - 22.886 - ] - ], - "sets": { - "bulkup|earthquake|hornleech|milkdrink": 16.915, - "bulkup|earthquake|hornleech|rockslide": 15.423, - "bulkup|earthquake|hornleech|substitute": 9.95, - "bulkup|hornleech|milkdrink|rockslide": 10.945, - "bulkup|hornleech|rockslide|substitute": 7.463, - "earthquake|hornleech|leechseed|rockslide": 5.473, - "earthquake|hornleech|leechseed|substitute": 7.96, - "earthquake|hornleech|milkdrink|rockslide": 2.488, - "earthquake|hornleech|milkdrink|substitute": 4.975, - "earthquake|hornleech|rockslide|substitute": 4.478, - "hornleech|leechseed|rockslide|substitute": 9.453, - "hornleech|milkdrink|rockslide|substitute": 4.478 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golduck": { - "abilities": [ - [ - "cloudnine", - 97.525 - ], - [ - "swiftswim", - 2.475 - ] - ], - "count": 202, - "items": [ - [ - "focussash", - 20.792 - ], - [ - "lifeorb", - 7.426 - ], - [ - "leftovers", - 68.812 - ], - [ - "choicespecs", - 2.97 - ] - ], - "moves": [ - [ - "scald", - 69.307 - ], - [ - "encore", - 54.95 - ], - [ - "calmmind", - 66.832 - ], - [ - "icebeam", - 64.851 - ], - [ - "psyshock", - 59.901 - ], - [ - "hydropump", - 33.663 - ], - [ - "substitute", - 50.495 - ] - ], - "sets": { - "calmmind|encore|hydropump|icebeam": 5.941, - "calmmind|encore|hydropump|psyshock": 2.475, - "calmmind|encore|icebeam|scald": 9.901, - "calmmind|encore|psyshock|scald": 11.386, - "calmmind|hydropump|icebeam|psyshock": 3.96, - "calmmind|hydropump|icebeam|substitute": 5.941, - "calmmind|hydropump|psyshock|substitute": 1.98, - "calmmind|icebeam|psyshock|scald": 5.446, - "calmmind|icebeam|scald|substitute": 9.406, - "calmmind|psyshock|scald|substitute": 10.396, - "encore|hydropump|icebeam|psyshock": 1.98, - "encore|hydropump|icebeam|substitute": 3.96, - "encore|hydropump|psyshock|substitute": 1.98, - "encore|icebeam|psyshock|scald": 5.446, - "encore|icebeam|scald|substitute": 4.95, - "encore|psyshock|scald|substitute": 6.931, - "hydropump|icebeam|psyshock|scald": 2.97, - "hydropump|icebeam|psyshock|substitute": 2.475, - "icebeam|psyshock|scald|substitute": 2.475 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golem": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 83, - "items": [ - [ - "leftovers", - 36.145 - ], - [ - "custapberry", - 48.193 - ], - [ - "assaultvest", - 15.663 - ] - ], - "moves": [ - [ - "rockblast", - 86.747 - ], - [ - "toxic", - 51.807 - ], - [ - "earthquake", - 100.0 - ], - [ - "stealthrock", - 55.422 - ], - [ - "explosion", - 63.855 - ], - [ - "suckerpunch", - 42.169 - ] - ], - "sets": { - "earthquake|explosion|rockblast|stealthrock": 21.687, - "earthquake|explosion|rockblast|suckerpunch": 15.663, - "earthquake|explosion|rockblast|toxic": 13.253, - "earthquake|explosion|stealthrock|toxic": 13.253, - "earthquake|rockblast|stealthrock|suckerpunch": 10.843, - "earthquake|rockblast|stealthrock|toxic": 9.639, - "earthquake|rockblast|suckerpunch|toxic": 15.663 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golemalola": { - "abilities": [ - [ - "magnetpull", - 27.0 - ], - [ - "galvanize", - 73.0 - ] - ], - "count": 100, - "items": [ - [ - "airballoon", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 82.0 - ], - [ - "thunderpunch", - 27.0 - ], - [ - "earthquake", - 73.0 - ], - [ - "stoneedge", - 77.0 - ], - [ - "return102", - 73.0 - ], - [ - "stealthrock", - 68.0 - ] - ], - "sets": { - "earthquake|return102|stealthrock|stoneedge": 13.0, - "earthquake|return102|stealthrock|toxic": 16.0, - "earthquake|return102|stoneedge|toxic": 24.0, - "earthquake|stealthrock|stoneedge|thunderpunch": 5.0, - "earthquake|stealthrock|thunderpunch|toxic": 7.0, - "earthquake|stoneedge|thunderpunch|toxic": 8.0, - "return102|stealthrock|stoneedge|toxic": 20.0, - "stealthrock|stoneedge|thunderpunch|toxic": 7.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golisopod": { - "abilities": [ - [ - "emergencyexit", - 100.0 - ] - ], - "count": 484, - "items": [ - [ - "leftovers", - 93.595 - ], - [ - "choiceband", - 6.405 - ] - ], - "moves": [ - [ - "leechlife", - 70.868 - ], - [ - "toxic", - 59.711 - ], - [ - "firstimpression", - 65.496 - ], - [ - "liquidation", - 73.14 - ], - [ - "aquajet", - 69.421 - ], - [ - "spikes", - 61.364 - ] - ], - "sets": { - "aquajet|firstimpression|leechlife|liquidation": 6.405, - "aquajet|firstimpression|leechlife|spikes": 8.264, - "aquajet|firstimpression|leechlife|toxic": 12.19, - "aquajet|firstimpression|liquidation|spikes": 7.645, - "aquajet|firstimpression|liquidation|toxic": 7.025, - "aquajet|leechlife|liquidation|spikes": 7.851, - "aquajet|leechlife|liquidation|toxic": 5.992, - "aquajet|leechlife|spikes|toxic": 6.405, - "aquajet|liquidation|spikes|toxic": 7.645, - "firstimpression|leechlife|liquidation|spikes": 10.124, - "firstimpression|leechlife|liquidation|toxic": 7.025, - "firstimpression|liquidation|spikes|toxic": 6.818, - "leechlife|liquidation|spikes|toxic": 6.612 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golurk": { - "abilities": [ - [ - "ironfist", - 46.111 - ], - [ - "noguard", - 53.889 - ] - ], - "count": 540, - "items": [ - [ - "lifeorb", - 79.815 - ], - [ - "focussash", - 10.556 - ], - [ - "choiceband", - 9.63 - ] - ], - "moves": [ - [ - "shadowpunch", - 100.0 - ], - [ - "icepunch", - 55.741 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockpolish", - 74.815 - ], - [ - "stealthrock", - 15.556 - ], - [ - "dynamicpunch", - 53.889 - ] - ], - "sets": { - "dynamicpunch|earthquake|icepunch|shadowpunch": 9.63, - "dynamicpunch|earthquake|rockpolish|shadowpunch": 37.222, - "dynamicpunch|earthquake|shadowpunch|stealthrock": 7.037, - "earthquake|icepunch|rockpolish|shadowpunch": 37.593, - "earthquake|icepunch|shadowpunch|stealthrock": 8.519 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "goodra": { - "abilities": [ - [ - "sapsipper", - 100.0 - ] - ], - "count": 508, - "items": [ - [ - "assaultvest", - 90.945 - ], - [ - "choicescarf", - 5.709 - ], - [ - "choicespecs", - 3.346 - ] - ], - "moves": [ - [ - "dragontail", - 63.583 - ], - [ - "dracometeor", - 66.339 - ], - [ - "earthquake", - 64.173 - ], - [ - "thunderbolt", - 66.339 - ], - [ - "fireblast", - 65.354 - ], - [ - "dragonpulse", - 11.417 - ], - [ - "sludgebomb", - 62.795 - ] - ], - "sets": { - "dracometeor|dragontail|earthquake|fireblast": 6.496, - "dracometeor|dragontail|earthquake|sludgebomb": 6.496, - "dracometeor|dragontail|earthquake|thunderbolt": 7.874, - "dracometeor|dragontail|fireblast|sludgebomb": 7.48, - "dracometeor|dragontail|fireblast|thunderbolt": 5.906, - "dracometeor|dragontail|sludgebomb|thunderbolt": 7.087, - "dracometeor|earthquake|fireblast|sludgebomb": 5.315, - "dracometeor|earthquake|fireblast|thunderbolt": 9.055, - "dracometeor|earthquake|sludgebomb|thunderbolt": 5.315, - "dracometeor|fireblast|sludgebomb|thunderbolt": 5.315, - "dragonpulse|earthquake|fireblast|sludgebomb": 1.969, - "dragonpulse|earthquake|fireblast|thunderbolt": 1.969, - "dragonpulse|earthquake|sludgebomb|thunderbolt": 3.74, - "dragonpulse|fireblast|sludgebomb|thunderbolt": 3.74, - "dragontail|earthquake|fireblast|sludgebomb": 5.906, - "dragontail|earthquake|fireblast|thunderbolt": 5.906, - "dragontail|earthquake|sludgebomb|thunderbolt": 4.134, - "dragontail|fireblast|sludgebomb|thunderbolt": 6.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gorebyss": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "whiteherb", - 86.316 - ], - [ - "leftovers", - 12.632 - ], - [ - "None", - 1.053 - ] - ], - "moves": [ - [ - "hiddenpowergrass", - 76.316 - ], - [ - "shellsmash", - 87.368 - ], - [ - "substitute", - 75.263 - ], - [ - "hydropump", - 100.0 - ], - [ - "icebeam", - 61.053 - ] - ], - "sets": { - "hiddenpowergrass|hydropump|icebeam|shellsmash": 24.737, - "hiddenpowergrass|hydropump|icebeam|substitute": 12.632, - "hiddenpowergrass|hydropump|shellsmash|substitute": 38.947, - "hydropump|icebeam|shellsmash|substitute": 23.684 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gothitelle": { - "abilities": [ - [ - "shadowtag", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "focussash", - 38.547 - ], - [ - "leftovers", - 61.453 - ] - ], - "moves": [ - [ - "rest", - 100.0 - ], - [ - "charm", - 100.0 - ], - [ - "taunt", - 100.0 - ], - [ - "confide", - 100.0 - ] - ], - "sets": { - "charm|confide|rest|taunt": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeist": { - "abilities": [ - [ - "frisk", - 73.913 - ], - [ - "insomnia", - 26.087 - ] - ], - "count": 46, - "items": [ - [ - "leftovers", - 84.783 - ], - [ - "focussash", - 15.217 - ] - ], - "moves": [ - [ - "leechseed", - 67.391 - ], - [ - "shadowsneak", - 100.0 - ], - [ - "substitute", - 52.174 - ], - [ - "seedbomb", - 100.0 - ], - [ - "willowisp", - 50.0 - ], - [ - "synthesis", - 30.435 - ] - ], - "sets": { - "leechseed|seedbomb|shadowsneak|substitute": 28.261, - "leechseed|seedbomb|shadowsneak|synthesis": 4.348, - "leechseed|seedbomb|shadowsneak|willowisp": 34.783, - "seedbomb|shadowsneak|substitute|synthesis": 17.391, - "seedbomb|shadowsneak|substitute|willowisp": 6.522, - "seedbomb|shadowsneak|synthesis|willowisp": 8.696 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistlarge": { - "abilities": [ - [ - "frisk", - 71.93 - ], - [ - "insomnia", - 28.07 - ] - ], - "count": 57, - "items": [ - [ - "leftovers", - 87.719 - ], - [ - "focussash", - 12.281 - ] - ], - "moves": [ - [ - "leechseed", - 57.895 - ], - [ - "seedbomb", - 100.0 - ], - [ - "substitute", - 42.105 - ], - [ - "shadowsneak", - 100.0 - ], - [ - "willowisp", - 56.14 - ], - [ - "synthesis", - 43.86 - ] - ], - "sets": { - "leechseed|seedbomb|shadowsneak|substitute": 19.298, - "leechseed|seedbomb|shadowsneak|synthesis": 10.526, - "leechseed|seedbomb|shadowsneak|willowisp": 28.07, - "seedbomb|shadowsneak|substitute|synthesis": 14.035, - "seedbomb|shadowsneak|substitute|willowisp": 8.772, - "seedbomb|shadowsneak|synthesis|willowisp": 19.298 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistsmall": { - "abilities": [ - [ - "frisk", - 68.182 - ], - [ - "insomnia", - 31.818 - ] - ], - "count": 44, - "items": [ - [ - "leftovers", - 95.455 - ], - [ - "focussash", - 4.545 - ] - ], - "moves": [ - [ - "substitute", - 52.273 - ], - [ - "shadowsneak", - 100.0 - ], - [ - "seedbomb", - 100.0 - ], - [ - "willowisp", - 47.727 - ], - [ - "leechseed", - 65.909 - ], - [ - "synthesis", - 34.091 - ] - ], - "sets": { - "leechseed|seedbomb|shadowsneak|substitute": 31.818, - "leechseed|seedbomb|shadowsneak|synthesis": 6.818, - "leechseed|seedbomb|shadowsneak|willowisp": 27.273, - "seedbomb|shadowsneak|substitute|synthesis": 13.636, - "seedbomb|shadowsneak|substitute|willowisp": 6.818, - "seedbomb|shadowsneak|synthesis|willowisp": 13.636 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistsuper": { - "abilities": [ - [ - "frisk", - 50.0 - ], - [ - "insomnia", - 50.0 - ] - ], - "count": 42, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "shadowsneak", - 100.0 - ], - [ - "synthesis", - 57.143 - ], - [ - "willowisp", - 57.143 - ], - [ - "seedbomb", - 100.0 - ], - [ - "substitute", - 47.619 - ], - [ - "leechseed", - 38.095 - ] - ], - "sets": { - "leechseed|seedbomb|shadowsneak|substitute": 16.667, - "leechseed|seedbomb|shadowsneak|synthesis": 4.762, - "leechseed|seedbomb|shadowsneak|willowisp": 16.667, - "seedbomb|shadowsneak|substitute|synthesis": 21.429, - "seedbomb|shadowsneak|substitute|willowisp": 9.524, - "seedbomb|shadowsneak|synthesis|willowisp": 30.952 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "granbull": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 157, - "items": [ - [ - "lifeorb", - 29.936 - ], - [ - "focussash", - 39.49 - ], - [ - "leftovers", - 30.573 - ] - ], - "moves": [ - [ - "earthquake", - 67.516 - ], - [ - "playrough", - 100.0 - ], - [ - "thunderwave", - 76.433 - ], - [ - "crunch", - 80.255 - ], - [ - "healbell", - 75.796 - ] - ], - "sets": { - "crunch|earthquake|healbell|playrough": 23.567, - "crunch|earthquake|playrough|thunderwave": 24.204, - "crunch|healbell|playrough|thunderwave": 32.484, - "earthquake|healbell|playrough|thunderwave": 19.745 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "greninja": { - "abilities": [ - [ - "protean", - 48.148 - ], - [ - "battlebond", - 51.852 - ] - ], - "count": 540, - "items": [ - [ - "focussash", - 6.296 - ], - [ - "leftovers", - 38.148 - ], - [ - "wateriumz", - 21.481 - ], - [ - "choicespecs", - 30.37 - ], - [ - "expertbelt", - 1.481 - ], - [ - "lifeorb", - 2.222 - ] - ], - "moves": [ - [ - "spikes", - 29.444 - ], - [ - "hydropump", - 66.852 - ], - [ - "icebeam", - 67.037 - ], - [ - "gunkshot", - 26.481 - ], - [ - "taunt", - 24.074 - ], - [ - "toxicspikes", - 27.407 - ], - [ - "uturn", - 65.926 - ], - [ - "darkpulse", - 51.852 - ], - [ - "watershuriken", - 40.926 - ] - ], - "sets": { - "darkpulse|hydropump|icebeam|uturn": 10.926, - "darkpulse|hydropump|icebeam|watershuriken": 15.926, - "darkpulse|hydropump|uturn|watershuriken": 13.148, - "darkpulse|icebeam|uturn|watershuriken": 11.852, - "gunkshot|hydropump|icebeam|spikes": 1.111, - "gunkshot|hydropump|icebeam|taunt": 0.926, - "gunkshot|hydropump|icebeam|toxicspikes": 0.741, - "gunkshot|hydropump|icebeam|uturn": 1.481, - "gunkshot|hydropump|spikes|taunt": 1.111, - "gunkshot|hydropump|spikes|toxicspikes": 1.296, - "gunkshot|hydropump|spikes|uturn": 1.111, - "gunkshot|hydropump|taunt|toxicspikes": 0.741, - "gunkshot|hydropump|taunt|uturn": 0.741, - "gunkshot|hydropump|toxicspikes|uturn": 2.037, - "gunkshot|icebeam|spikes|taunt": 0.926, - "gunkshot|icebeam|spikes|toxicspikes": 1.111, - "gunkshot|icebeam|spikes|uturn": 2.407, - "gunkshot|icebeam|taunt|toxicspikes": 0.741, - "gunkshot|icebeam|taunt|uturn": 1.481, - "gunkshot|icebeam|toxicspikes|uturn": 1.667, - "gunkshot|spikes|taunt|toxicspikes": 2.407, - "gunkshot|spikes|taunt|uturn": 1.481, - "gunkshot|spikes|toxicspikes|uturn": 2.222, - "gunkshot|taunt|toxicspikes|uturn": 0.741, - "hydropump|icebeam|spikes|taunt": 1.296, - "hydropump|icebeam|spikes|toxicspikes": 1.667, - "hydropump|icebeam|spikes|uturn": 2.037, - "hydropump|icebeam|taunt|toxicspikes": 1.667, - "hydropump|icebeam|taunt|uturn": 1.111, - "hydropump|icebeam|toxicspikes|uturn": 1.852, - "hydropump|spikes|taunt|toxicspikes": 1.296, - "hydropump|spikes|taunt|uturn": 1.667, - "hydropump|spikes|toxicspikes|uturn": 1.852, - "hydropump|taunt|toxicspikes|uturn": 1.111, - "icebeam|spikes|taunt|toxicspikes": 1.111, - "icebeam|spikes|taunt|uturn": 1.852, - "icebeam|spikes|toxicspikes|uturn": 1.481, - "icebeam|taunt|toxicspikes|uturn": 1.667 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "groudon": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 604, - "items": [ - [ - "redorb", - 43.874 - ], - [ - "choicescarf", - 1.159 - ], - [ - "leftovers", - 52.98 - ], - [ - "choiceband", - 0.662 - ], - [ - "assaultvest", - 1.325 - ] - ], - "moves": [ - [ - "precipiceblades", - 43.874 - ], - [ - "swordsdance", - 34.934 - ], - [ - "firepunch", - 60.43 - ], - [ - "rockpolish", - 18.377 - ], - [ - "stoneedge", - 51.656 - ], - [ - "earthquake", - 56.126 - ], - [ - "dragonclaw", - 27.318 - ], - [ - "roar", - 23.344 - ], - [ - "toxic", - 21.689 - ], - [ - "lavaplume", - 21.358 - ], - [ - "stealthrock", - 21.358 - ], - [ - "thunderwave", - 16.391 - ], - [ - "dragontail", - 3.146 - ] - ], - "sets": { - "dragonclaw|earthquake|firepunch|roar": 2.152, - "dragonclaw|earthquake|firepunch|stealthrock": 1.159, - "dragonclaw|earthquake|firepunch|stoneedge": 1.821, - "dragonclaw|earthquake|firepunch|thunderwave": 1.49, - "dragonclaw|earthquake|firepunch|toxic": 1.49, - "dragonclaw|earthquake|lavaplume|roar": 1.821, - "dragonclaw|earthquake|lavaplume|stealthrock": 0.497, - "dragonclaw|earthquake|lavaplume|stoneedge": 1.325, - "dragonclaw|earthquake|lavaplume|thunderwave": 0.828, - "dragonclaw|earthquake|lavaplume|toxic": 1.49, - "dragonclaw|earthquake|roar|stealthrock": 0.993, - "dragonclaw|earthquake|roar|stoneedge": 1.656, - "dragonclaw|earthquake|roar|thunderwave": 1.987, - "dragonclaw|earthquake|roar|toxic": 1.987, - "dragonclaw|earthquake|stealthrock|stoneedge": 0.828, - "dragonclaw|earthquake|stealthrock|thunderwave": 1.159, - "dragonclaw|earthquake|stealthrock|toxic": 1.987, - "dragonclaw|earthquake|stoneedge|thunderwave": 1.325, - "dragonclaw|earthquake|stoneedge|toxic": 1.325, - "dragontail|firepunch|precipiceblades|stealthrock": 0.497, - "dragontail|firepunch|precipiceblades|stoneedge": 0.497, - "dragontail|firepunch|precipiceblades|swordsdance": 0.166, - "dragontail|lavaplume|precipiceblades|stealthrock": 0.993, - "dragontail|lavaplume|precipiceblades|stoneedge": 0.993, - "earthquake|firepunch|roar|stealthrock": 0.662, - "earthquake|firepunch|roar|stoneedge": 1.656, - "earthquake|firepunch|roar|thunderwave": 1.159, - "earthquake|firepunch|roar|toxic": 1.325, - "earthquake|firepunch|stealthrock|stoneedge": 0.993, - "earthquake|firepunch|stealthrock|thunderwave": 0.662, - "earthquake|firepunch|stealthrock|toxic": 1.325, - "earthquake|firepunch|stoneedge|thunderwave": 2.483, - "earthquake|firepunch|stoneedge|toxic": 2.318, - "earthquake|lavaplume|roar|stealthrock": 0.828, - "earthquake|lavaplume|roar|stoneedge": 0.662, - "earthquake|lavaplume|roar|thunderwave": 1.159, - "earthquake|lavaplume|roar|toxic": 1.656, - "earthquake|lavaplume|stealthrock|stoneedge": 0.993, - "earthquake|lavaplume|stealthrock|thunderwave": 0.662, - "earthquake|lavaplume|stealthrock|toxic": 1.656, - "earthquake|lavaplume|stoneedge|thunderwave": 0.993, - "earthquake|lavaplume|stoneedge|toxic": 2.318, - "earthquake|roar|stealthrock|thunderwave": 0.497, - "earthquake|roar|stealthrock|toxic": 1.49, - "earthquake|roar|stoneedge|thunderwave": 0.993, - "earthquake|roar|stoneedge|toxic": 0.662, - "earthquake|stealthrock|stoneedge|thunderwave": 0.993, - "earthquake|stealthrock|stoneedge|toxic": 0.662, - "firepunch|lavaplume|precipiceblades|swordsdance": 0.331, - "firepunch|precipiceblades|rockpolish|stoneedge": 2.649, - "firepunch|precipiceblades|rockpolish|swordsdance": 14.238, - "firepunch|precipiceblades|stealthrock|stoneedge": 1.159, - "firepunch|precipiceblades|stoneedge|swordsdance": 20.199, - "lavaplume|precipiceblades|rockpolish|stoneedge": 1.49, - "lavaplume|precipiceblades|stealthrock|stoneedge": 0.662 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "groudonprimal": { - "abilities": [ - [ - "desolateland", - 100.0 - ] - ], - "count": 26, - "items": [ - [ - "redorb", - 100.0 - ] - ], - "moves": [ - [ - "precipiceblades", - 100.0 - ], - [ - "swordsdance", - 69.231 - ], - [ - "firepunch", - 92.308 - ], - [ - "stoneedge", - 80.769 - ], - [ - "lavaplume", - 11.538 - ], - [ - "rockpolish", - 26.923 - ], - [ - "dragontail", - 11.538 - ], - [ - "stealthrock", - 7.692 - ] - ], - "sets": { - "dragontail|firepunch|precipiceblades|stealthrock": 3.846, - "dragontail|firepunch|precipiceblades|stoneedge": 7.692, - "firepunch|lavaplume|precipiceblades|swordsdance": 3.846, - "firepunch|precipiceblades|rockpolish|stoneedge": 11.538, - "firepunch|precipiceblades|rockpolish|swordsdance": 11.538, - "firepunch|precipiceblades|stoneedge|swordsdance": 53.846, - "lavaplume|precipiceblades|rockpolish|stoneedge": 3.846, - "lavaplume|precipiceblades|stealthrock|stoneedge": 3.846 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "grumpig": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "leftovers", - 53.714 - ], - [ - "focussash", - 30.857 - ], - [ - "lightclay", - 15.429 - ] - ], - "moves": [ - [ - "healbell", - 53.143 - ], - [ - "lightscreen", - 48.571 - ], - [ - "thunderwave", - 34.857 - ], - [ - "psychic", - 100.0 - ], - [ - "whirlwind", - 47.429 - ], - [ - "toxic", - 39.429 - ], - [ - "focusblast", - 57.714 - ], - [ - "reflect", - 18.857 - ] - ], - "sets": { - "focusblast|healbell|lightscreen|psychic": 4.571, - "focusblast|healbell|psychic|thunderwave": 7.429, - "focusblast|healbell|psychic|toxic": 9.143, - "focusblast|healbell|psychic|whirlwind": 8.0, - "focusblast|lightscreen|psychic|reflect": 2.286, - "focusblast|lightscreen|psychic|thunderwave": 5.143, - "focusblast|lightscreen|psychic|toxic": 4.0, - "focusblast|lightscreen|psychic|whirlwind": 0.571, - "focusblast|psychic|reflect|thunderwave": 1.143, - "focusblast|psychic|reflect|toxic": 0.571, - "focusblast|psychic|reflect|whirlwind": 1.714, - "focusblast|psychic|thunderwave|toxic": 0.571, - "focusblast|psychic|thunderwave|whirlwind": 4.571, - "focusblast|psychic|toxic|whirlwind": 8.0, - "healbell|lightscreen|psychic|reflect": 4.0, - "healbell|lightscreen|psychic|thunderwave": 4.0, - "healbell|lightscreen|psychic|toxic": 4.0, - "healbell|lightscreen|psychic|whirlwind": 1.714, - "healbell|psychic|thunderwave|whirlwind": 5.714, - "healbell|psychic|toxic|whirlwind": 4.571, - "lightscreen|psychic|reflect|thunderwave": 1.714, - "lightscreen|psychic|reflect|toxic": 4.0, - "lightscreen|psychic|reflect|whirlwind": 3.429, - "lightscreen|psychic|thunderwave|whirlwind": 4.571, - "lightscreen|psychic|toxic|whirlwind": 4.571 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gumshoos": { - "abilities": [ - [ - "adaptability", - 64.375 - ], - [ - "stakeout", - 35.625 - ] - ], - "count": 160, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "return102", - 100.0 - ], - [ - "uturn", - 73.125 - ], - [ - "firepunch", - 79.375 - ], - [ - "crunch", - 73.125 - ], - [ - "earthquake", - 74.375 - ] - ], - "sets": { - "crunch|earthquake|firepunch|return102": 26.875, - "crunch|earthquake|return102|uturn": 20.625, - "crunch|firepunch|return102|uturn": 25.625, - "earthquake|firepunch|return102|uturn": 26.875 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "guzzlord": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 792, - "items": [ - [ - "assaultvest", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 100.0 - ], - [ - "fireblast", - 67.172 - ], - [ - "earthquake", - 68.813 - ], - [ - "dracometeor", - 100.0 - ], - [ - "hammerarm", - 64.015 - ] - ], - "sets": { - "dracometeor|earthquake|fireblast|knockoff": 35.985, - "dracometeor|earthquake|hammerarm|knockoff": 32.828, - "dracometeor|fireblast|hammerarm|knockoff": 31.187 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gyarados": { - "abilities": [ - [ - "moxie", - 47.682 - ], - [ - "intimidate", - 52.318 - ] - ], - "count": 151, - "items": [ - [ - "flyiniumz", - 30.464 - ], - [ - "lifeorb", - 12.583 - ], - [ - "leftovers", - 47.02 - ], - [ - "assaultvest", - 9.934 - ] - ], - "moves": [ - [ - "bounce", - 30.464 - ], - [ - "stoneedge", - 62.914 - ], - [ - "waterfall", - 100.0 - ], - [ - "dragondance", - 64.901 - ], - [ - "earthquake", - 63.576 - ], - [ - "substitute", - 53.642 - ], - [ - "dragontail", - 24.503 - ] - ], - "sets": { - "bounce|dragondance|earthquake|waterfall": 13.907, - "bounce|dragondance|stoneedge|waterfall": 9.934, - "bounce|dragondance|substitute|waterfall": 6.623, - "dragondance|earthquake|stoneedge|waterfall": 12.583, - "dragondance|earthquake|substitute|waterfall": 11.258, - "dragondance|stoneedge|substitute|waterfall": 10.596, - "dragontail|earthquake|stoneedge|waterfall": 9.934, - "dragontail|earthquake|substitute|waterfall": 5.298, - "dragontail|stoneedge|substitute|waterfall": 9.272, - "earthquake|stoneedge|substitute|waterfall": 10.596 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gyaradosmega": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 484, - "items": [ - [ - "gyaradosite", - 100.0 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "dragondance", - 73.967 - ], - [ - "substitute", - 43.802 - ], - [ - "waterfall", - 100.0 - ], - [ - "earthquake", - 40.702 - ], - [ - "icefang", - 41.529 - ] - ], - "sets": { - "crunch|dragondance|earthquake|waterfall": 23.76, - "crunch|dragondance|icefang|waterfall": 24.174, - "crunch|dragondance|substitute|waterfall": 26.033, - "crunch|earthquake|icefang|waterfall": 8.264, - "crunch|earthquake|substitute|waterfall": 8.678, - "crunch|icefang|substitute|waterfall": 9.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hariyama": { - "abilities": [ - [ - "sheerforce", - 50.207 - ], - [ - "thickfat", - 49.793 - ] - ], - "count": 482, - "items": [ - [ - "lifeorb", - 84.025 - ], - [ - "choiceband", - 10.166 - ], - [ - "focussash", - 5.809 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "bulletpunch", - 60.581 - ], - [ - "bulkup", - 70.747 - ], - [ - "icepunch", - 60.788 - ], - [ - "knockoff", - 53.734 - ], - [ - "stoneedge", - 54.149 - ] - ], - "sets": { - "bulkup|bulletpunch|closecombat|icepunch": 13.693, - "bulkup|bulletpunch|closecombat|knockoff": 11.203, - "bulkup|bulletpunch|closecombat|stoneedge": 12.656, - "bulkup|closecombat|icepunch|knockoff": 12.448, - "bulkup|closecombat|icepunch|stoneedge": 12.863, - "bulkup|closecombat|knockoff|stoneedge": 7.884, - "bulletpunch|closecombat|icepunch|knockoff": 8.506, - "bulletpunch|closecombat|icepunch|stoneedge": 7.054, - "bulletpunch|closecombat|knockoff|stoneedge": 7.469, - "closecombat|icepunch|knockoff|stoneedge": 6.224 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hawlucha": { - "abilities": [ - [ - "unburden", - 77.467 - ], - [ - "moldbreaker", - 22.533 - ] - ], - "count": 537, - "items": [ - [ - "sitrusberry", - 77.467 - ], - [ - "leftovers", - 22.533 - ] - ], - "moves": [ - [ - "acrobatics", - 75.419 - ], - [ - "highjumpkick", - 100.0 - ], - [ - "swordsdance", - 66.48 - ], - [ - "roost", - 69.088 - ], - [ - "substitute", - 40.596 - ], - [ - "stoneedge", - 48.417 - ] - ], - "sets": { - "acrobatics|highjumpkick|roost|stoneedge": 6.89, - "acrobatics|highjumpkick|roost|substitute": 10.987, - "acrobatics|highjumpkick|roost|swordsdance": 33.147, - "acrobatics|highjumpkick|stoneedge|substitute": 6.89, - "acrobatics|highjumpkick|stoneedge|swordsdance": 10.056, - "acrobatics|highjumpkick|substitute|swordsdance": 7.449, - "highjumpkick|roost|stoneedge|substitute": 8.752, - "highjumpkick|roost|stoneedge|swordsdance": 9.311, - "highjumpkick|stoneedge|substitute|swordsdance": 6.518 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "haxorus": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 565, - "items": [ - [ - "lumberry", - 92.212 - ], - [ - "focussash", - 1.416 - ], - [ - "lifeorb", - 6.372 - ] - ], - "moves": [ - [ - "taunt", - 69.027 - ], - [ - "earthquake", - 66.018 - ], - [ - "swordsdance", - 44.071 - ], - [ - "outrage", - 100.0 - ], - [ - "dragondance", - 48.142 - ], - [ - "poisonjab", - 72.743 - ] - ], - "sets": { - "dragondance|earthquake|outrage|poisonjab": 18.23, - "dragondance|earthquake|outrage|taunt": 12.743, - "dragondance|outrage|poisonjab|taunt": 17.168, - "earthquake|outrage|poisonjab|swordsdance": 12.743, - "earthquake|outrage|poisonjab|taunt": 7.788, - "earthquake|outrage|swordsdance|taunt": 14.513, - "outrage|poisonjab|swordsdance|taunt": 16.814 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heatmor": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 209, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 76.077 - ], - [ - "focusblast", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "gigadrain", - 100.0 - ], - [ - "suckerpunch", - 23.923 - ] - ], - "sets": { - "fireblast|focusblast|gigadrain|knockoff": 76.077, - "fireblast|focusblast|gigadrain|suckerpunch": 23.923 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heatran": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 603, - "items": [ - [ - "leftovers", - 35.158 - ], - [ - "airballoon", - 30.68 - ], - [ - "firiumz", - 34.163 - ] - ], - "moves": [ - [ - "roar", - 48.756 - ], - [ - "lavaplume", - 63.35 - ], - [ - "earthpower", - 49.088 - ], - [ - "protect", - 53.068 - ], - [ - "stealthrock", - 41.625 - ], - [ - "flashcannon", - 56.882 - ], - [ - "toxic", - 50.58 - ], - [ - "magmastorm", - 36.65 - ] - ], - "sets": { - "earthpower|flashcannon|lavaplume|protect": 3.648, - "earthpower|flashcannon|lavaplume|roar": 3.814, - "earthpower|flashcannon|lavaplume|stealthrock": 2.488, - "earthpower|flashcannon|lavaplume|toxic": 4.146, - "earthpower|flashcannon|magmastorm|protect": 2.653, - "earthpower|flashcannon|magmastorm|roar": 2.322, - "earthpower|flashcannon|magmastorm|stealthrock": 1.327, - "earthpower|flashcannon|magmastorm|toxic": 2.488, - "earthpower|lavaplume|protect|roar": 2.653, - "earthpower|lavaplume|protect|stealthrock": 2.819, - "earthpower|lavaplume|protect|toxic": 3.814, - "earthpower|lavaplume|roar|stealthrock": 2.156, - "earthpower|lavaplume|roar|toxic": 3.483, - "earthpower|lavaplume|stealthrock|toxic": 1.99, - "earthpower|magmastorm|protect|roar": 1.99, - "earthpower|magmastorm|protect|stealthrock": 2.156, - "earthpower|magmastorm|protect|toxic": 1.658, - "earthpower|magmastorm|roar|stealthrock": 1.327, - "earthpower|magmastorm|roar|toxic": 1.327, - "earthpower|magmastorm|stealthrock|toxic": 0.829, - "flashcannon|lavaplume|protect|roar": 4.146, - "flashcannon|lavaplume|protect|stealthrock": 4.146, - "flashcannon|lavaplume|protect|toxic": 4.478, - "flashcannon|lavaplume|roar|stealthrock": 2.819, - "flashcannon|lavaplume|roar|toxic": 3.814, - "flashcannon|lavaplume|stealthrock|toxic": 3.317, - "flashcannon|magmastorm|protect|roar": 2.488, - "flashcannon|magmastorm|protect|stealthrock": 1.327, - "flashcannon|magmastorm|protect|toxic": 1.658, - "flashcannon|magmastorm|roar|stealthrock": 1.824, - "flashcannon|magmastorm|roar|toxic": 2.156, - "flashcannon|magmastorm|stealthrock|toxic": 1.824, - "lavaplume|protect|roar|stealthrock": 1.824, - "lavaplume|protect|roar|toxic": 2.985, - "lavaplume|protect|stealthrock|toxic": 3.151, - "lavaplume|roar|stealthrock|toxic": 1.658, - "magmastorm|protect|roar|stealthrock": 1.493, - "magmastorm|protect|roar|toxic": 2.653, - "magmastorm|protect|stealthrock|toxic": 1.327, - "magmastorm|roar|stealthrock|toxic": 1.824 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heliolisk": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 535, - "items": [ - [ - "choicespecs", - 77.009 - ], - [ - "lifeorb", - 22.991 - ] - ], - "moves": [ - [ - "hypervoice", - 67.85 - ], - [ - "thunderbolt", - 60.374 - ], - [ - "darkpulse", - 61.308 - ], - [ - "hiddenpowerice", - 61.121 - ], - [ - "raindance", - 22.991 - ], - [ - "surf", - 57.383 - ], - [ - "thunder", - 22.991 - ], - [ - "voltswitch", - 45.981 - ] - ], - "sets": { - "darkpulse|hiddenpowerice|hypervoice|thunderbolt": 15.701, - "darkpulse|hiddenpowerice|hypervoice|voltswitch": 6.916, - "darkpulse|hiddenpowerice|surf|thunderbolt": 5.047, - "darkpulse|hiddenpowerice|surf|voltswitch": 3.551, - "darkpulse|hiddenpowerice|thunderbolt|voltswitch": 4.299, - "darkpulse|hypervoice|surf|thunderbolt": 4.673, - "darkpulse|hypervoice|surf|voltswitch": 3.178, - "darkpulse|hypervoice|thunderbolt|voltswitch": 8.598, - "darkpulse|raindance|surf|thunder": 6.729, - "darkpulse|surf|thunderbolt|voltswitch": 2.617, - "hiddenpowerice|hypervoice|surf|thunderbolt": 5.607, - "hiddenpowerice|hypervoice|surf|voltswitch": 2.991, - "hiddenpowerice|hypervoice|thunderbolt|voltswitch": 7.103, - "hiddenpowerice|raindance|surf|thunder": 7.103, - "hiddenpowerice|surf|thunderbolt|voltswitch": 2.804, - "hypervoice|raindance|surf|thunder": 9.159, - "hypervoice|surf|thunderbolt|voltswitch": 3.925 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heracross": { - "abilities": [ - [ - "guts", - 66.01 - ], - [ - "moxie", - 33.99 - ] - ], - "count": 203, - "items": [ - [ - "flameorb", - 66.01 - ], - [ - "lifeorb", - 24.138 - ], - [ - "choicescarf", - 6.404 - ], - [ - "choiceband", - 3.448 - ] - ], - "moves": [ - [ - "megahorn", - 100.0 - ], - [ - "earthquake", - 44.828 - ], - [ - "closecombat", - 100.0 - ], - [ - "knockoff", - 42.365 - ], - [ - "swordsdance", - 71.921 - ], - [ - "stoneedge", - 40.887 - ] - ], - "sets": { - "closecombat|earthquake|knockoff|megahorn": 13.3, - "closecombat|earthquake|megahorn|stoneedge": 8.374, - "closecombat|earthquake|megahorn|swordsdance": 23.153, - "closecombat|knockoff|megahorn|stoneedge": 6.404, - "closecombat|knockoff|megahorn|swordsdance": 22.66, - "closecombat|megahorn|stoneedge|swordsdance": 26.108 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heracrossmega": { - "abilities": [ - [ - "skilllink", - 100.0 - ] - ], - "count": 500, - "items": [ - [ - "heracronite", - 100.0 - ] - ], - "moves": [ - [ - "pinmissile", - 100.0 - ], - [ - "swordsdance", - 66.2 - ], - [ - "bulletseed", - 49.8 - ], - [ - "closecombat", - 90.0 - ], - [ - "substitute", - 45.0 - ], - [ - "rockblast", - 49.0 - ] - ], - "sets": { - "bulletseed|closecombat|pinmissile|rockblast": 8.4, - "bulletseed|closecombat|pinmissile|substitute": 9.0, - "bulletseed|closecombat|pinmissile|swordsdance": 22.4, - "bulletseed|pinmissile|rockblast|substitute": 10.0, - "closecombat|pinmissile|rockblast|substitute": 6.4, - "closecombat|pinmissile|rockblast|swordsdance": 24.2, - "closecombat|pinmissile|substitute|swordsdance": 19.6 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hippowdon": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 516, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "slackoff", - 72.481 - ], - [ - "whirlwind", - 56.395 - ], - [ - "stoneedge", - 62.403 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 58.333 - ], - [ - "stealthrock", - 50.388 - ] - ], - "sets": { - "earthquake|slackoff|stealthrock|stoneedge": 10.853, - "earthquake|slackoff|stealthrock|toxic": 10.853, - "earthquake|slackoff|stealthrock|whirlwind": 9.884, - "earthquake|slackoff|stoneedge|toxic": 13.953, - "earthquake|slackoff|stoneedge|whirlwind": 15.31, - "earthquake|slackoff|toxic|whirlwind": 11.628, - "earthquake|stealthrock|stoneedge|toxic": 7.946, - "earthquake|stealthrock|stoneedge|whirlwind": 5.62, - "earthquake|stealthrock|toxic|whirlwind": 5.233, - "earthquake|stoneedge|toxic|whirlwind": 8.721 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmonchan": { - "abilities": [ - [ - "ironfist", - 100.0 - ] - ], - "count": 510, - "items": [ - [ - "lifeorb", - 63.333 - ], - [ - "assaultvest", - 17.843 - ], - [ - "choiceband", - 9.216 - ], - [ - "focussash", - 9.608 - ] - ], - "moves": [ - [ - "machpunch", - 59.216 - ], - [ - "bulkup", - 72.941 - ], - [ - "icepunch", - 73.529 - ], - [ - "drainpunch", - 100.0 - ], - [ - "firepunch", - 76.471 - ], - [ - "rapidspin", - 17.843 - ] - ], - "sets": { - "bulkup|drainpunch|firepunch|icepunch": 33.529, - "bulkup|drainpunch|firepunch|machpunch": 21.176, - "bulkup|drainpunch|icepunch|machpunch": 18.235, - "drainpunch|firepunch|icepunch|machpunch": 9.216, - "drainpunch|firepunch|icepunch|rapidspin": 7.255, - "drainpunch|firepunch|machpunch|rapidspin": 5.294, - "drainpunch|icepunch|machpunch|rapidspin": 5.294 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmonlee": { - "abilities": [ - [ - "reckless", - 100.0 - ] - ], - "count": 512, - "items": [ - [ - "lifeorb", - 34.57 - ], - [ - "leftovers", - 49.219 - ], - [ - "choicescarf", - 5.664 - ], - [ - "choiceband", - 10.547 - ] - ], - "moves": [ - [ - "fakeout", - 57.422 - ], - [ - "knockoff", - 54.883 - ], - [ - "stoneedge", - 53.32 - ], - [ - "highjumpkick", - 100.0 - ], - [ - "rapidspin", - 49.219 - ], - [ - "poisonjab", - 56.641 - ], - [ - "machpunch", - 28.516 - ] - ], - "sets": { - "fakeout|highjumpkick|knockoff|machpunch": 2.93, - "fakeout|highjumpkick|knockoff|poisonjab": 8.789, - "fakeout|highjumpkick|knockoff|rapidspin": 8.008, - "fakeout|highjumpkick|knockoff|stoneedge": 7.227, - "fakeout|highjumpkick|machpunch|poisonjab": 3.516, - "fakeout|highjumpkick|machpunch|rapidspin": 1.562, - "fakeout|highjumpkick|machpunch|stoneedge": 3.906, - "fakeout|highjumpkick|poisonjab|rapidspin": 6.25, - "fakeout|highjumpkick|poisonjab|stoneedge": 8.203, - "fakeout|highjumpkick|rapidspin|stoneedge": 7.031, - "highjumpkick|knockoff|machpunch|poisonjab": 4.102, - "highjumpkick|knockoff|machpunch|rapidspin": 1.758, - "highjumpkick|knockoff|machpunch|stoneedge": 3.125, - "highjumpkick|knockoff|poisonjab|rapidspin": 7.031, - "highjumpkick|knockoff|poisonjab|stoneedge": 7.227, - "highjumpkick|knockoff|rapidspin|stoneedge": 4.688, - "highjumpkick|machpunch|poisonjab|rapidspin": 2.734, - "highjumpkick|machpunch|poisonjab|stoneedge": 1.758, - "highjumpkick|machpunch|rapidspin|stoneedge": 3.125, - "highjumpkick|poisonjab|rapidspin|stoneedge": 7.031 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmontop": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 515, - "items": [ - [ - "leftovers", - 37.476 - ], - [ - "lifeorb", - 26.019 - ], - [ - "assaultvest", - 25.825 - ], - [ - "focussash", - 10.68 - ] - ], - "moves": [ - [ - "toxic", - 74.175 - ], - [ - "suckerpunch", - 78.835 - ], - [ - "closecombat", - 100.0 - ], - [ - "rapidspin", - 69.515 - ], - [ - "stoneedge", - 77.476 - ] - ], - "sets": { - "closecombat|rapidspin|stoneedge|suckerpunch": 25.825, - "closecombat|rapidspin|stoneedge|toxic": 21.165, - "closecombat|rapidspin|suckerpunch|toxic": 22.524, - "closecombat|stoneedge|suckerpunch|toxic": 30.485 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "honchkrow": { - "abilities": [ - [ - "moxie", - 100.0 - ] - ], - "count": 450, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "pursuit", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "roost", - 94.889 - ], - [ - "superpower", - 12.889 - ], - [ - "heatwave", - 13.778 - ], - [ - "suckerpunch", - 78.444 - ] - ], - "sets": { - "bravebird|heatwave|pursuit|roost": 8.667, - "bravebird|heatwave|pursuit|superpower": 5.111, - "bravebird|pursuit|roost|suckerpunch": 78.444, - "bravebird|pursuit|roost|superpower": 7.778 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hooh": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 599, - "items": [ - [ - "leftovers", - 93.823 - ], - [ - "assaultvest", - 6.177 - ] - ], - "moves": [ - [ - "earthquake", - 57.763 - ], - [ - "toxic", - 32.554 - ], - [ - "sacredfire", - 88.481 - ], - [ - "substitute", - 48.247 - ], - [ - "flamecharge", - 38.063 - ], - [ - "bravebird", - 70.785 - ], - [ - "roost", - 64.107 - ] - ], - "sets": { - "bravebird|earthquake|flamecharge|roost": 6.177, - "bravebird|earthquake|flamecharge|sacredfire": 6.177, - "bravebird|earthquake|flamecharge|substitute": 5.342, - "bravebird|earthquake|roost|sacredfire": 9.683, - "bravebird|earthquake|sacredfire|substitute": 4.174, - "bravebird|earthquake|sacredfire|toxic": 3.84, - "bravebird|flamecharge|roost|sacredfire": 6.678, - "bravebird|flamecharge|sacredfire|substitute": 3.84, - "bravebird|roost|sacredfire|substitute": 11.686, - "bravebird|roost|sacredfire|toxic": 8.514, - "bravebird|sacredfire|substitute|toxic": 4.674, - "earthquake|flamecharge|roost|sacredfire": 5.342, - "earthquake|flamecharge|sacredfire|substitute": 4.508, - "earthquake|roost|sacredfire|substitute": 3.84, - "earthquake|roost|sacredfire|toxic": 5.342, - "earthquake|sacredfire|substitute|toxic": 3.339, - "roost|sacredfire|substitute|toxic": 6.845 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hoopa": { - "abilities": [ - [ - "magician", - 100.0 - ] - ], - "count": 383, - "items": [ - [ - "lifeorb", - 68.407 - ], - [ - "focussash", - 7.572 - ], - [ - "choicescarf", - 24.021 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "nastyplot", - 75.979 - ], - [ - "focusblast", - 100.0 - ], - [ - "psyshock", - 100.0 - ], - [ - "trick", - 24.021 - ] - ], - "sets": { - "focusblast|nastyplot|psyshock|shadowball": 75.979, - "focusblast|psyshock|shadowball|trick": 24.021 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hoopaunbound": { - "abilities": [ - [ - "magician", - 100.0 - ] - ], - "count": 334, - "items": [ - [ - "choicescarf", - 14.371 - ], - [ - "leftovers", - 42.216 - ], - [ - "lifeorb", - 25.449 - ], - [ - "assaultvest", - 14.371 - ], - [ - "focussash", - 3.593 - ] - ], - "moves": [ - [ - "psychic", - 62.874 - ], - [ - "focusblast", - 54.491 - ], - [ - "trick", - 12.874 - ], - [ - "hyperspacefury", - 30.24 - ], - [ - "substitute", - 47.605 - ], - [ - "nastyplot", - 50.299 - ], - [ - "darkpulse", - 69.76 - ], - [ - "zenheadbutt", - 14.97 - ], - [ - "gunkshot", - 22.455 - ], - [ - "drainpunch", - 14.072 - ], - [ - "icepunch", - 20.359 - ] - ], - "sets": { - "darkpulse|drainpunch|gunkshot|psychic": 0.299, - "darkpulse|drainpunch|gunkshot|substitute": 0.898, - "darkpulse|drainpunch|gunkshot|trick": 0.299, - "darkpulse|drainpunch|gunkshot|zenheadbutt": 0.599, - "darkpulse|drainpunch|icepunch|psychic": 0.599, - "darkpulse|drainpunch|icepunch|substitute": 0.299, - "darkpulse|drainpunch|psychic|substitute": 0.599, - "darkpulse|drainpunch|psychic|trick": 0.299, - "darkpulse|drainpunch|trick|zenheadbutt": 0.599, - "darkpulse|focusblast|gunkshot|icepunch": 0.898, - "darkpulse|focusblast|gunkshot|psychic": 0.599, - "darkpulse|focusblast|gunkshot|substitute": 0.299, - "darkpulse|focusblast|gunkshot|trick": 0.898, - "darkpulse|focusblast|gunkshot|zenheadbutt": 0.299, - "darkpulse|focusblast|icepunch|psychic": 1.497, - "darkpulse|focusblast|icepunch|substitute": 0.599, - "darkpulse|focusblast|icepunch|zenheadbutt": 0.599, - "darkpulse|focusblast|nastyplot|psychic": 23.653, - "darkpulse|focusblast|nastyplot|substitute": 10.479, - "darkpulse|focusblast|psychic|substitute": 0.898, - "darkpulse|focusblast|psychic|trick": 1.198, - "darkpulse|focusblast|substitute|zenheadbutt": 0.898, - "darkpulse|focusblast|trick|zenheadbutt": 0.599, - "darkpulse|gunkshot|icepunch|psychic": 1.198, - "darkpulse|gunkshot|icepunch|substitute": 0.299, - "darkpulse|gunkshot|psychic|substitute": 0.898, - "darkpulse|gunkshot|psychic|trick": 0.599, - "darkpulse|gunkshot|substitute|zenheadbutt": 0.599, - "darkpulse|gunkshot|trick|zenheadbutt": 1.198, - "darkpulse|icepunch|psychic|trick": 0.299, - "darkpulse|icepunch|substitute|zenheadbutt": 0.599, - "darkpulse|nastyplot|psychic|substitute": 16.168, - "drainpunch|gunkshot|hyperspacefury|icepunch": 0.299, - "drainpunch|gunkshot|hyperspacefury|psychic": 1.497, - "drainpunch|gunkshot|hyperspacefury|substitute": 0.299, - "drainpunch|gunkshot|hyperspacefury|trick": 0.599, - "drainpunch|gunkshot|hyperspacefury|zenheadbutt": 0.299, - "drainpunch|hyperspacefury|icepunch|psychic": 0.299, - "drainpunch|hyperspacefury|icepunch|substitute": 1.497, - "drainpunch|hyperspacefury|icepunch|trick": 0.299, - "drainpunch|hyperspacefury|icepunch|zenheadbutt": 0.299, - "drainpunch|hyperspacefury|psychic|substitute": 0.599, - "drainpunch|hyperspacefury|psychic|trick": 1.198, - "drainpunch|hyperspacefury|substitute|zenheadbutt": 1.198, - "drainpunch|hyperspacefury|trick|zenheadbutt": 1.198, - "focusblast|gunkshot|hyperspacefury|icepunch": 0.599, - "focusblast|gunkshot|hyperspacefury|psychic": 0.898, - "focusblast|gunkshot|hyperspacefury|substitute": 0.898, - "focusblast|gunkshot|hyperspacefury|trick": 0.599, - "focusblast|gunkshot|hyperspacefury|zenheadbutt": 1.796, - "focusblast|hyperspacefury|icepunch|psychic": 0.898, - "focusblast|hyperspacefury|icepunch|substitute": 0.898, - "focusblast|hyperspacefury|icepunch|trick": 0.299, - "focusblast|hyperspacefury|icepunch|zenheadbutt": 0.299, - "focusblast|hyperspacefury|psychic|substitute": 1.497, - "focusblast|hyperspacefury|psychic|trick": 1.198, - "focusblast|hyperspacefury|substitute|zenheadbutt": 0.898, - "focusblast|hyperspacefury|trick|zenheadbutt": 0.299, - "gunkshot|hyperspacefury|icepunch|psychic": 1.497, - "gunkshot|hyperspacefury|icepunch|substitute": 0.898, - "gunkshot|hyperspacefury|icepunch|zenheadbutt": 0.599, - "gunkshot|hyperspacefury|psychic|substitute": 0.599, - "gunkshot|hyperspacefury|substitute|zenheadbutt": 0.898, - "gunkshot|hyperspacefury|trick|zenheadbutt": 0.299, - "hyperspacefury|icepunch|psychic|substitute": 3.293, - "hyperspacefury|icepunch|psychic|trick": 0.599, - "hyperspacefury|icepunch|substitute|zenheadbutt": 0.599, - "hyperspacefury|icepunch|trick|zenheadbutt": 0.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "houndoom": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "darkpulse", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "nastyplot", - 82.843 - ], - [ - "hiddenpowergrass", - 100.0 - ], - [ - "suckerpunch", - 17.157 - ] - ], - "sets": { - "darkpulse|fireblast|hiddenpowergrass|nastyplot": 82.843, - "darkpulse|fireblast|hiddenpowergrass|suckerpunch": 17.157 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "houndoommega": { - "abilities": [ - [ - "solarpower", - 100.0 - ] - ], - "count": 547, - "items": [ - [ - "houndoominite", - 100.0 - ] - ], - "moves": [ - [ - "nastyplot", - 79.707 - ], - [ - "darkpulse", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "taunt", - 62.888 - ], - [ - "hiddenpowergrass", - 57.404 - ] - ], - "sets": { - "darkpulse|fireblast|hiddenpowergrass|nastyplot": 37.112, - "darkpulse|fireblast|hiddenpowergrass|taunt": 20.293, - "darkpulse|fireblast|nastyplot|taunt": 42.596 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "huntail": { - "abilities": [ - [ - "waterveil", - 97.191 - ], - [ - "swiftswim", - 2.809 - ] - ], - "count": 178, - "items": [ - [ - "whiteherb", - 79.775 - ], - [ - "leftovers", - 17.978 - ], - [ - "None", - 2.247 - ] - ], - "moves": [ - [ - "icebeam", - 76.404 - ], - [ - "suckerpunch", - 69.101 - ], - [ - "waterfall", - 100.0 - ], - [ - "shellsmash", - 82.022 - ], - [ - "substitute", - 72.472 - ] - ], - "sets": { - "icebeam|shellsmash|substitute|waterfall": 30.899, - "icebeam|shellsmash|suckerpunch|waterfall": 27.528, - "icebeam|substitute|suckerpunch|waterfall": 17.978, - "shellsmash|substitute|suckerpunch|waterfall": 23.596 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hydreigon": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 556, - "items": [ - [ - "choicespecs", - 6.835 - ], - [ - "lifeorb", - 53.237 - ], - [ - "leftovers", - 10.791 - ], - [ - "choicescarf", - 13.849 - ], - [ - "assaultvest", - 15.288 - ] - ], - "moves": [ - [ - "dragonpulse", - 34.532 - ], - [ - "flashcannon", - 27.698 - ], - [ - "earthpower", - 27.518 - ], - [ - "darkpulse", - 100.0 - ], - [ - "dracometeor", - 65.468 - ], - [ - "fireblast", - 27.878 - ], - [ - "roost", - 64.029 - ], - [ - "uturn", - 24.101 - ], - [ - "superpower", - 28.777 - ] - ], - "sets": { - "darkpulse|dracometeor|earthpower|fireblast": 1.439, - "darkpulse|dracometeor|earthpower|flashcannon": 1.978, - "darkpulse|dracometeor|earthpower|roost": 8.813, - "darkpulse|dracometeor|earthpower|superpower": 2.158, - "darkpulse|dracometeor|earthpower|uturn": 1.799, - "darkpulse|dracometeor|fireblast|flashcannon": 2.878, - "darkpulse|dracometeor|fireblast|roost": 9.892, - "darkpulse|dracometeor|fireblast|superpower": 3.237, - "darkpulse|dracometeor|fireblast|uturn": 2.518, - "darkpulse|dracometeor|flashcannon|roost": 9.353, - "darkpulse|dracometeor|flashcannon|superpower": 2.518, - "darkpulse|dracometeor|flashcannon|uturn": 1.439, - "darkpulse|dracometeor|roost|superpower": 8.813, - "darkpulse|dracometeor|roost|uturn": 7.374, - "darkpulse|dracometeor|superpower|uturn": 1.259, - "darkpulse|dragonpulse|earthpower|fireblast": 1.439, - "darkpulse|dragonpulse|earthpower|flashcannon": 1.619, - "darkpulse|dragonpulse|earthpower|roost": 4.856, - "darkpulse|dragonpulse|earthpower|superpower": 1.439, - "darkpulse|dragonpulse|earthpower|uturn": 1.978, - "darkpulse|dragonpulse|fireblast|flashcannon": 1.619, - "darkpulse|dragonpulse|fireblast|roost": 3.058, - "darkpulse|dragonpulse|fireblast|superpower": 0.719, - "darkpulse|dragonpulse|fireblast|uturn": 1.079, - "darkpulse|dragonpulse|flashcannon|roost": 3.777, - "darkpulse|dragonpulse|flashcannon|superpower": 1.619, - "darkpulse|dragonpulse|flashcannon|uturn": 0.899, - "darkpulse|dragonpulse|roost|superpower": 4.676, - "darkpulse|dragonpulse|roost|uturn": 3.417, - "darkpulse|dragonpulse|superpower|uturn": 2.338 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hypno": { - "abilities": [ - [ - "insomnia", - 100.0 - ] - ], - "count": 169, - "items": [ - [ - "leftovers", - 85.799 - ], - [ - "focussash", - 14.201 - ] - ], - "moves": [ - [ - "wish", - 84.024 - ], - [ - "toxic", - 53.846 - ], - [ - "psychic", - 100.0 - ], - [ - "foulplay", - 70.414 - ], - [ - "protect", - 63.905 - ], - [ - "thunderwave", - 27.219 - ], - [ - "seismictoss", - 0.592 - ] - ], - "sets": { - "foulplay|protect|psychic|thunderwave": 4.734, - "foulplay|protect|psychic|toxic": 11.243, - "foulplay|protect|psychic|wish": 18.343, - "foulplay|psychic|seismictoss|wish": 0.592, - "foulplay|psychic|thunderwave|wish": 14.201, - "foulplay|psychic|toxic|wish": 21.302, - "protect|psychic|thunderwave|wish": 8.284, - "protect|psychic|toxic|wish": 21.302 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "illumise": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "focussash", - 24.737 - ], - [ - "leftovers", - 75.263 - ] - ], - "moves": [ - [ - "encore", - 61.579 - ], - [ - "uturn", - 71.053 - ], - [ - "defog", - 54.211 - ], - [ - "bugbuzz", - 69.474 - ], - [ - "wish", - 63.158 - ], - [ - "thunderwave", - 51.579 - ], - [ - "roost", - 28.947 - ] - ], - "sets": { - "bugbuzz|defog|encore|roost": 4.211, - "bugbuzz|defog|encore|thunderwave": 1.053, - "bugbuzz|defog|encore|uturn": 3.158, - "bugbuzz|defog|encore|wish": 5.263, - "bugbuzz|defog|roost|thunderwave": 3.158, - "bugbuzz|defog|roost|uturn": 2.105, - "bugbuzz|defog|thunderwave|uturn": 0.526, - "bugbuzz|defog|thunderwave|wish": 6.842, - "bugbuzz|defog|uturn|wish": 7.368, - "bugbuzz|encore|roost|thunderwave": 2.105, - "bugbuzz|encore|roost|uturn": 4.737, - "bugbuzz|encore|thunderwave|uturn": 1.579, - "bugbuzz|encore|thunderwave|wish": 6.316, - "bugbuzz|encore|uturn|wish": 10.0, - "bugbuzz|roost|thunderwave|uturn": 3.684, - "bugbuzz|thunderwave|uturn|wish": 7.368, - "defog|encore|roost|uturn": 2.105, - "defog|encore|thunderwave|uturn": 1.579, - "defog|encore|uturn|wish": 9.474, - "defog|roost|thunderwave|uturn": 3.158, - "defog|thunderwave|uturn|wish": 4.211, - "encore|roost|thunderwave|uturn": 3.684, - "encore|thunderwave|uturn|wish": 6.316 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "incineroar": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 536, - "items": [ - [ - "assaultvest", - 65.858 - ], - [ - "choicescarf", - 23.134 - ], - [ - "choiceband", - 11.007 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "darkestlariat", - 25.373 - ], - [ - "fakeout", - 65.858 - ], - [ - "uturn", - 65.112 - ], - [ - "knockoff", - 74.627 - ], - [ - "earthquake", - 69.03 - ] - ], - "sets": { - "darkestlariat|earthquake|fakeout|flareblitz": 8.955, - "darkestlariat|earthquake|flareblitz|uturn": 8.582, - "darkestlariat|fakeout|flareblitz|uturn": 7.836, - "earthquake|fakeout|flareblitz|knockoff": 25.933, - "earthquake|flareblitz|knockoff|uturn": 25.56, - "fakeout|flareblitz|knockoff|uturn": 23.134 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "infernape": { - "abilities": [ - [ - "ironfist", - 27.947 - ], - [ - "blaze", - 72.053 - ] - ], - "count": 526, - "items": [ - [ - "lifeorb", - 25.285 - ], - [ - "fightiniumz", - 32.129 - ], - [ - "leftovers", - 5.513 - ], - [ - "expertbelt", - 26.996 - ], - [ - "choiceband", - 5.513 - ], - [ - "focussash", - 2.471 - ], - [ - "choicescarf", - 1.331 - ], - [ - "choicespecs", - 0.76 - ] - ], - "moves": [ - [ - "closecombat", - 24.905 - ], - [ - "fireblast", - 68.251 - ], - [ - "machpunch", - 27.947 - ], - [ - "stealthrock", - 18.821 - ], - [ - "vacuumwave", - 44.106 - ], - [ - "grassknot", - 42.395 - ], - [ - "nastyplot", - 46.578 - ], - [ - "focusblast", - 50.57 - ], - [ - "uturn", - 22.814 - ], - [ - "stoneedge", - 22.053 - ], - [ - "flareblitz", - 31.559 - ] - ], - "sets": { - "closecombat|fireblast|grassknot|machpunch": 2.852, - "closecombat|fireblast|grassknot|nastyplot": 0.38, - "closecombat|fireblast|grassknot|stealthrock": 0.38, - "closecombat|fireblast|grassknot|stoneedge": 0.38, - "closecombat|fireblast|grassknot|uturn": 1.331, - "closecombat|fireblast|machpunch|stealthrock": 1.141, - "closecombat|fireblast|machpunch|stoneedge": 1.141, - "closecombat|fireblast|machpunch|uturn": 1.331, - "closecombat|fireblast|nastyplot|vacuumwave": 0.19, - "closecombat|fireblast|stealthrock|stoneedge": 0.57, - "closecombat|fireblast|stealthrock|uturn": 0.38, - "closecombat|fireblast|stoneedge|uturn": 0.19, - "closecombat|flareblitz|grassknot|machpunch": 1.711, - "closecombat|flareblitz|grassknot|stealthrock": 1.141, - "closecombat|flareblitz|grassknot|stoneedge": 1.331, - "closecombat|flareblitz|grassknot|uturn": 1.141, - "closecombat|flareblitz|machpunch|stealthrock": 1.901, - "closecombat|flareblitz|machpunch|stoneedge": 2.281, - "closecombat|flareblitz|machpunch|uturn": 1.901, - "closecombat|flareblitz|stealthrock|stoneedge": 0.57, - "closecombat|flareblitz|stealthrock|uturn": 0.951, - "closecombat|flareblitz|stoneedge|uturn": 1.521, - "closecombat|grassknot|nastyplot|vacuumwave": 0.19, - "fireblast|focusblast|grassknot|machpunch": 0.951, - "fireblast|focusblast|grassknot|nastyplot": 10.456, - "fireblast|focusblast|grassknot|stealthrock": 0.57, - "fireblast|focusblast|grassknot|stoneedge": 0.57, - "fireblast|focusblast|grassknot|uturn": 0.19, - "fireblast|focusblast|grassknot|vacuumwave": 0.38, - "fireblast|focusblast|machpunch|stealthrock": 0.38, - "fireblast|focusblast|machpunch|stoneedge": 0.951, - "fireblast|focusblast|machpunch|uturn": 0.38, - "fireblast|focusblast|nastyplot|vacuumwave": 26.616, - "fireblast|focusblast|stealthrock|stoneedge": 0.19, - "fireblast|focusblast|stealthrock|uturn": 0.38, - "fireblast|focusblast|stealthrock|vacuumwave": 0.19, - "fireblast|focusblast|stoneedge|uturn": 0.57, - "fireblast|focusblast|stoneedge|vacuumwave": 0.57, - "fireblast|focusblast|uturn|vacuumwave": 0.19, - "fireblast|grassknot|machpunch|stealthrock": 0.57, - "fireblast|grassknot|machpunch|stoneedge": 0.57, - "fireblast|grassknot|machpunch|uturn": 0.19, - "fireblast|grassknot|nastyplot|vacuumwave": 8.745, - "fireblast|grassknot|stealthrock|uturn": 0.57, - "fireblast|grassknot|stealthrock|vacuumwave": 0.19, - "fireblast|grassknot|stoneedge|vacuumwave": 0.57, - "fireblast|machpunch|stealthrock|stoneedge": 0.57, - "fireblast|machpunch|stealthrock|uturn": 0.19, - "fireblast|machpunch|stoneedge|uturn": 0.76, - "fireblast|stealthrock|stoneedge|uturn": 0.57, - "fireblast|stealthrock|stoneedge|vacuumwave": 0.38, - "fireblast|stealthrock|uturn|vacuumwave": 0.38, - "fireblast|stoneedge|uturn|vacuumwave": 0.19, - "flareblitz|focusblast|grassknot|machpunch": 0.38, - "flareblitz|focusblast|grassknot|stoneedge": 0.38, - "flareblitz|focusblast|grassknot|uturn": 0.57, - "flareblitz|focusblast|grassknot|vacuumwave": 0.57, - "flareblitz|focusblast|machpunch|stealthrock": 0.19, - "flareblitz|focusblast|machpunch|stoneedge": 0.951, - "flareblitz|focusblast|machpunch|uturn": 1.331, - "flareblitz|focusblast|stealthrock|stoneedge": 0.19, - "flareblitz|focusblast|stealthrock|uturn": 0.19, - "flareblitz|focusblast|stealthrock|vacuumwave": 0.38, - "flareblitz|focusblast|stoneedge|uturn": 0.76, - "flareblitz|focusblast|stoneedge|vacuumwave": 0.38, - "flareblitz|focusblast|uturn|vacuumwave": 0.76, - "flareblitz|grassknot|machpunch|stealthrock": 0.76, - "flareblitz|grassknot|machpunch|stoneedge": 0.76, - "flareblitz|grassknot|machpunch|uturn": 1.141, - "flareblitz|grassknot|stealthrock|stoneedge": 0.19, - "flareblitz|grassknot|stealthrock|uturn": 0.57, - "flareblitz|grassknot|stealthrock|vacuumwave": 0.76, - "flareblitz|grassknot|stoneedge|vacuumwave": 0.19, - "flareblitz|grassknot|uturn|vacuumwave": 0.76, - "flareblitz|machpunch|stealthrock|stoneedge": 0.951, - "flareblitz|machpunch|stealthrock|uturn": 0.57, - "flareblitz|machpunch|stoneedge|uturn": 1.141, - "flareblitz|stealthrock|stoneedge|uturn": 0.76, - "flareblitz|stealthrock|stoneedge|vacuumwave": 0.57, - "flareblitz|stealthrock|uturn|vacuumwave": 0.57, - "flareblitz|stoneedge|uturn|vacuumwave": 0.38 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jellicent": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 498, - "items": [ - [ - "leftovers", - 52.41 - ], - [ - "lifeorb", - 45.582 - ], - [ - "focussash", - 2.008 - ] - ], - "moves": [ - [ - "recover", - 81.526 - ], - [ - "scald", - 100.0 - ], - [ - "taunt", - 39.96 - ], - [ - "shadowball", - 100.0 - ], - [ - "icebeam", - 47.189 - ], - [ - "toxic", - 31.325 - ] - ], - "sets": { - "icebeam|recover|scald|shadowball": 33.735, - "icebeam|scald|shadowball|taunt": 7.631, - "icebeam|scald|shadowball|toxic": 5.823, - "recover|scald|shadowball|taunt": 27.309, - "recover|scald|shadowball|toxic": 20.482, - "scald|shadowball|taunt|toxic": 5.02 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jirachi": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 583, - "items": [ - [ - "leftovers", - 91.424 - ], - [ - "choicescarf", - 6.003 - ], - [ - "assaultvest", - 2.23 - ], - [ - "choiceband", - 0.343 - ] - ], - "moves": [ - [ - "icepunch", - 32.075 - ], - [ - "substitute", - 24.871 - ], - [ - "ironhead", - 100.0 - ], - [ - "wish", - 65.009 - ], - [ - "firepunch", - 37.05 - ], - [ - "uturn", - 32.59 - ], - [ - "trick", - 5.66 - ], - [ - "stealthrock", - 29.331 - ], - [ - "toxic", - 36.878 - ], - [ - "bodyslam", - 36.535 - ] - ], - "sets": { - "bodyslam|firepunch|icepunch|ironhead": 0.343, - "bodyslam|firepunch|ironhead|stealthrock": 0.686, - "bodyslam|firepunch|ironhead|substitute": 0.515, - "bodyslam|firepunch|ironhead|toxic": 0.858, - "bodyslam|firepunch|ironhead|trick": 0.343, - "bodyslam|firepunch|ironhead|uturn": 1.201, - "bodyslam|firepunch|ironhead|wish": 3.774, - "bodyslam|icepunch|ironhead|stealthrock": 0.686, - "bodyslam|icepunch|ironhead|substitute": 0.858, - "bodyslam|icepunch|ironhead|toxic": 1.544, - "bodyslam|icepunch|ironhead|trick": 0.515, - "bodyslam|icepunch|ironhead|uturn": 0.686, - "bodyslam|icepunch|ironhead|wish": 3.431, - "bodyslam|ironhead|stealthrock|substitute": 1.029, - "bodyslam|ironhead|stealthrock|toxic": 1.201, - "bodyslam|ironhead|stealthrock|uturn": 0.515, - "bodyslam|ironhead|stealthrock|wish": 2.916, - "bodyslam|ironhead|substitute|toxic": 0.686, - "bodyslam|ironhead|substitute|wish": 4.288, - "bodyslam|ironhead|toxic|uturn": 1.029, - "bodyslam|ironhead|toxic|wish": 3.431, - "bodyslam|ironhead|trick|uturn": 1.544, - "bodyslam|ironhead|uturn|wish": 4.46, - "firepunch|icepunch|ironhead|stealthrock": 0.172, - "firepunch|icepunch|ironhead|substitute": 1.715, - "firepunch|icepunch|ironhead|toxic": 0.686, - "firepunch|icepunch|ironhead|trick": 0.858, - "firepunch|icepunch|ironhead|uturn": 0.686, - "firepunch|icepunch|ironhead|wish": 3.431, - "firepunch|ironhead|stealthrock|substitute": 1.201, - "firepunch|ironhead|stealthrock|toxic": 1.201, - "firepunch|ironhead|stealthrock|uturn": 1.544, - "firepunch|ironhead|stealthrock|wish": 1.715, - "firepunch|ironhead|substitute|toxic": 0.686, - "firepunch|ironhead|substitute|wish": 3.774, - "firepunch|ironhead|toxic|uturn": 1.201, - "firepunch|ironhead|toxic|wish": 3.774, - "firepunch|ironhead|trick|uturn": 2.058, - "firepunch|ironhead|uturn|wish": 4.631, - "icepunch|ironhead|stealthrock|substitute": 1.029, - "icepunch|ironhead|stealthrock|toxic": 1.887, - "icepunch|ironhead|stealthrock|uturn": 0.686, - "icepunch|ironhead|stealthrock|wish": 2.23, - "icepunch|ironhead|substitute|toxic": 0.858, - "icepunch|ironhead|substitute|wish": 2.401, - "icepunch|ironhead|toxic|uturn": 1.029, - "icepunch|ironhead|toxic|wish": 3.259, - "icepunch|ironhead|trick|uturn": 0.343, - "icepunch|ironhead|uturn|wish": 2.744, - "ironhead|stealthrock|substitute|toxic": 0.515, - "ironhead|stealthrock|substitute|wish": 2.23, - "ironhead|stealthrock|toxic|uturn": 2.401, - "ironhead|stealthrock|toxic|wish": 3.602, - "ironhead|stealthrock|uturn|wish": 1.887, - "ironhead|substitute|toxic|wish": 3.087, - "ironhead|toxic|uturn|wish": 3.945 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jolteon": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 475, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "signalbeam", - 81.053 - ], - [ - "voltswitch", - 80.632 - ], - [ - "thunderbolt", - 77.684 - ], - [ - "shadowball", - 81.684 - ], - [ - "hiddenpowerice", - 78.947 - ] - ], - "sets": { - "hiddenpowerice|shadowball|signalbeam|thunderbolt": 19.368, - "hiddenpowerice|shadowball|signalbeam|voltswitch": 22.316, - "hiddenpowerice|shadowball|thunderbolt|voltswitch": 18.947, - "hiddenpowerice|signalbeam|thunderbolt|voltswitch": 18.316, - "shadowball|signalbeam|thunderbolt|voltswitch": 21.053 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jumpluff": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "None", - 80.0 - ], - [ - "leftovers", - 14.872 - ], - [ - "focussash", - 5.128 - ] - ], - "moves": [ - [ - "acrobatics", - 80.0 - ], - [ - "seedbomb", - 100.0 - ], - [ - "sleeppowder", - 15.385 - ], - [ - "uturn", - 15.385 - ], - [ - "leechseed", - 15.897 - ], - [ - "substitute", - 13.333 - ], - [ - "strengthsap", - 68.718 - ], - [ - "swordsdance", - 58.462 - ], - [ - "toxic", - 12.308 - ], - [ - "encore", - 20.513 - ] - ], - "sets": { - "acrobatics|encore|leechseed|seedbomb": 0.513, - "acrobatics|encore|seedbomb|sleeppowder": 0.513, - "acrobatics|encore|seedbomb|strengthsap": 2.564, - "acrobatics|encore|seedbomb|swordsdance": 3.077, - "acrobatics|encore|seedbomb|toxic": 1.538, - "acrobatics|encore|seedbomb|uturn": 2.051, - "acrobatics|leechseed|seedbomb|sleeppowder": 1.026, - "acrobatics|leechseed|seedbomb|strengthsap": 2.051, - "acrobatics|leechseed|seedbomb|substitute": 0.513, - "acrobatics|leechseed|seedbomb|uturn": 1.538, - "acrobatics|seedbomb|sleeppowder|substitute": 1.026, - "acrobatics|seedbomb|sleeppowder|swordsdance": 3.59, - "acrobatics|seedbomb|sleeppowder|uturn": 2.051, - "acrobatics|seedbomb|strengthsap|substitute": 1.026, - "acrobatics|seedbomb|strengthsap|swordsdance": 47.179, - "acrobatics|seedbomb|strengthsap|toxic": 1.538, - "acrobatics|seedbomb|strengthsap|uturn": 2.051, - "acrobatics|seedbomb|substitute|swordsdance": 4.615, - "acrobatics|seedbomb|substitute|toxic": 1.026, - "acrobatics|seedbomb|toxic|uturn": 0.513, - "encore|leechseed|seedbomb|sleeppowder": 1.026, - "encore|leechseed|seedbomb|strengthsap": 0.513, - "encore|leechseed|seedbomb|substitute": 1.026, - "encore|leechseed|seedbomb|uturn": 0.513, - "encore|seedbomb|sleeppowder|strengthsap": 1.538, - "encore|seedbomb|sleeppowder|substitute": 0.513, - "encore|seedbomb|sleeppowder|uturn": 0.513, - "encore|seedbomb|strengthsap|substitute": 0.513, - "encore|seedbomb|strengthsap|toxic": 1.538, - "encore|seedbomb|strengthsap|uturn": 1.026, - "encore|seedbomb|substitute|toxic": 1.026, - "encore|seedbomb|toxic|uturn": 0.513, - "leechseed|seedbomb|sleeppowder|strengthsap": 0.513, - "leechseed|seedbomb|sleeppowder|substitute": 0.513, - "leechseed|seedbomb|sleeppowder|uturn": 1.026, - "leechseed|seedbomb|strengthsap|substitute": 0.513, - "leechseed|seedbomb|strengthsap|toxic": 2.564, - "leechseed|seedbomb|strengthsap|uturn": 1.026, - "leechseed|seedbomb|substitute|toxic": 0.513, - "leechseed|seedbomb|toxic|uturn": 0.513, - "seedbomb|sleeppowder|strengthsap|uturn": 1.538, - "seedbomb|strengthsap|substitute|toxic": 0.513, - "seedbomb|strengthsap|toxic|uturn": 0.513 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jynx": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "leftovers", - 61.275 - ], - [ - "focussash", - 16.176 - ], - [ - "lifeorb", - 19.608 - ], - [ - "choicescarf", - 2.941 - ] - ], - "moves": [ - [ - "icebeam", - 100.0 - ], - [ - "psyshock", - 68.137 - ], - [ - "substitute", - 49.02 - ], - [ - "lovelykiss", - 42.157 - ], - [ - "focusblast", - 51.471 - ], - [ - "nastyplot", - 64.706 - ], - [ - "psychic", - 21.569 - ], - [ - "trick", - 2.941 - ] - ], - "sets": { - "focusblast|icebeam|lovelykiss|nastyplot": 3.431, - "focusblast|icebeam|lovelykiss|psychic": 1.471, - "focusblast|icebeam|lovelykiss|psyshock": 6.373, - "focusblast|icebeam|lovelykiss|substitute": 2.451, - "focusblast|icebeam|nastyplot|psychic": 4.412, - "focusblast|icebeam|nastyplot|psyshock": 16.667, - "focusblast|icebeam|nastyplot|substitute": 4.412, - "focusblast|icebeam|psychic|substitute": 1.961, - "focusblast|icebeam|psychic|trick": 1.961, - "focusblast|icebeam|psyshock|substitute": 7.353, - "focusblast|icebeam|psyshock|trick": 0.98, - "icebeam|lovelykiss|nastyplot|psychic": 1.471, - "icebeam|lovelykiss|nastyplot|psyshock": 14.216, - "icebeam|lovelykiss|psychic|substitute": 4.902, - "icebeam|lovelykiss|psyshock|substitute": 7.843, - "icebeam|nastyplot|psychic|substitute": 5.392, - "icebeam|nastyplot|psyshock|substitute": 14.706 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kabutops": { - "abilities": [ - [ - "battlearmor", - 63.298 - ], - [ - "weakarmor", - 32.27 - ], - [ - "swiftswim", - 4.433 - ] - ], - "count": 564, - "items": [ - [ - "assaultvest", - 22.34 - ], - [ - "lifeorb", - 59.22 - ], - [ - "choiceband", - 8.511 - ], - [ - "focussash", - 9.929 - ] - ], - "moves": [ - [ - "aquajet", - 83.156 - ], - [ - "knockoff", - 49.823 - ], - [ - "liquidation", - 81.738 - ], - [ - "rapidspin", - 22.34 - ], - [ - "stoneedge", - 93.794 - ], - [ - "swordsdance", - 69.149 - ] - ], - "sets": { - "aquajet|knockoff|liquidation|rapidspin": 6.206, - "aquajet|knockoff|liquidation|stoneedge": 8.511, - "aquajet|knockoff|rapidspin|stoneedge": 5.674, - "aquajet|knockoff|stoneedge|swordsdance": 12.589, - "aquajet|liquidation|rapidspin|stoneedge": 6.028, - "aquajet|liquidation|stoneedge|swordsdance": 44.149, - "knockoff|liquidation|rapidspin|stoneedge": 4.433, - "knockoff|liquidation|stoneedge|swordsdance": 12.411 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kangaskhan": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 106, - "items": [ - [ - "choiceband", - 11.321 - ], - [ - "assaultvest", - 88.679 - ] - ], - "moves": [ - [ - "crunch", - 52.83 - ], - [ - "earthquake", - 66.038 - ], - [ - "return102", - 100.0 - ], - [ - "drainpunch", - 70.755 - ], - [ - "suckerpunch", - 30.189 - ], - [ - "fakeout", - 80.189 - ] - ], - "sets": { - "crunch|drainpunch|earthquake|return102": 11.321, - "crunch|drainpunch|fakeout|return102": 21.698, - "crunch|earthquake|fakeout|return102": 19.811, - "drainpunch|earthquake|fakeout|return102": 16.981, - "drainpunch|earthquake|return102|suckerpunch": 8.491, - "drainpunch|fakeout|return102|suckerpunch": 12.264, - "earthquake|fakeout|return102|suckerpunch": 9.434 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kangaskhanmega": { - "abilities": [ - [ - "parentalbond", - 100.0 - ] - ], - "count": 420, - "items": [ - [ - "kangaskhanite", - 100.0 - ] - ], - "moves": [ - [ - "return102", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "poweruppunch", - 64.762 - ], - [ - "suckerpunch", - 29.524 - ], - [ - "crunch", - 70.476 - ], - [ - "fakeout", - 35.238 - ] - ], - "sets": { - "crunch|earthquake|fakeout|return102": 22.857, - "crunch|earthquake|poweruppunch|return102": 47.619, - "earthquake|fakeout|return102|suckerpunch": 12.381, - "earthquake|poweruppunch|return102|suckerpunch": 17.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kartana": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 604, - "items": [ - [ - "lifeorb", - 70.53 - ], - [ - "choiceband", - 18.543 - ], - [ - "focussash", - 10.927 - ] - ], - "moves": [ - [ - "smartstrike", - 80.96 - ], - [ - "swordsdance", - 81.457 - ], - [ - "leafblade", - 78.974 - ], - [ - "sacredsword", - 78.477 - ], - [ - "knockoff", - 80.132 - ] - ], - "sets": { - "knockoff|leafblade|sacredsword|smartstrike": 18.543, - "knockoff|leafblade|sacredsword|swordsdance": 19.04, - "knockoff|leafblade|smartstrike|swordsdance": 21.523, - "knockoff|sacredsword|smartstrike|swordsdance": 21.026, - "leafblade|sacredsword|smartstrike|swordsdance": 19.868 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kecleon": { - "abilities": [ - [ - "protean", - 100.0 - ] - ], - "count": 187, - "items": [ - [ - "focussash", - 12.834 - ], - [ - "leftovers", - 80.214 - ], - [ - "assaultvest", - 6.952 - ] - ], - "moves": [ - [ - "suckerpunch", - 20.856 - ], - [ - "drainpunch", - 76.471 - ], - [ - "fakeout", - 64.706 - ], - [ - "stealthrock", - 54.011 - ], - [ - "knockoff", - 63.102 - ], - [ - "shadowsneak", - 56.684 - ], - [ - "recover", - 64.171 - ] - ], - "sets": { - "drainpunch|fakeout|knockoff|recover": 9.626, - "drainpunch|fakeout|knockoff|shadowsneak": 4.813, - "drainpunch|fakeout|knockoff|stealthrock": 8.556, - "drainpunch|fakeout|recover|shadowsneak": 4.278, - "drainpunch|fakeout|recover|stealthrock": 5.348, - "drainpunch|fakeout|recover|suckerpunch": 4.813, - "drainpunch|fakeout|shadowsneak|stealthrock": 3.209, - "drainpunch|fakeout|shadowsneak|suckerpunch": 2.139, - "drainpunch|fakeout|stealthrock|suckerpunch": 2.139, - "drainpunch|knockoff|recover|shadowsneak": 7.487, - "drainpunch|knockoff|recover|stealthrock": 2.674, - "drainpunch|knockoff|shadowsneak|stealthrock": 6.417, - "drainpunch|recover|shadowsneak|stealthrock": 3.209, - "drainpunch|recover|shadowsneak|suckerpunch": 5.882, - "drainpunch|recover|stealthrock|suckerpunch": 4.278, - "drainpunch|shadowsneak|stealthrock|suckerpunch": 1.604, - "fakeout|knockoff|recover|shadowsneak": 6.952, - "fakeout|knockoff|recover|stealthrock": 5.882, - "fakeout|knockoff|shadowsneak|stealthrock": 6.952, - "knockoff|recover|shadowsneak|stealthrock": 3.743 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "keldeo": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 545, - "items": [ - [ - "lifeorb", - 40.917 - ], - [ - "leftovers", - 38.165 - ], - [ - "focussash", - 5.505 - ], - [ - "choicescarf", - 11.376 - ], - [ - "choicespecs", - 4.037 - ] - ], - "moves": [ - [ - "calmmind", - 58.349 - ], - [ - "hydropump", - 39.266 - ], - [ - "hiddenpowerflying", - 30.275 - ], - [ - "secretsword", - 89.725 - ], - [ - "scald", - 68.073 - ], - [ - "substitute", - 38.165 - ], - [ - "hiddenpowerelectric", - 33.945 - ], - [ - "icywind", - 42.202 - ] - ], - "sets": { - "calmmind|hiddenpowerelectric|hydropump|secretsword": 5.505, - "calmmind|hiddenpowerelectric|scald|secretsword": 10.826, - "calmmind|hiddenpowerflying|hydropump|secretsword": 4.404, - "calmmind|hiddenpowerflying|scald|secretsword": 9.174, - "calmmind|hydropump|icywind|secretsword": 4.954, - "calmmind|hydropump|secretsword|substitute": 3.67, - "calmmind|icywind|scald|secretsword": 11.56, - "calmmind|scald|secretsword|substitute": 8.257, - "hiddenpowerelectric|hydropump|icywind|secretsword": 0.917, - "hiddenpowerelectric|hydropump|icywind|substitute": 3.67, - "hiddenpowerelectric|hydropump|scald|secretsword": 3.67, - "hiddenpowerelectric|hydropump|secretsword|substitute": 1.835, - "hiddenpowerelectric|icywind|scald|secretsword": 2.018, - "hiddenpowerelectric|icywind|scald|substitute": 2.385, - "hiddenpowerelectric|scald|secretsword|substitute": 3.119, - "hiddenpowerflying|hydropump|icywind|secretsword": 2.018, - "hiddenpowerflying|hydropump|icywind|substitute": 0.734, - "hiddenpowerflying|hydropump|scald|secretsword": 1.468, - "hiddenpowerflying|hydropump|secretsword|substitute": 1.651, - "hiddenpowerflying|icywind|scald|secretsword": 3.119, - "hiddenpowerflying|icywind|scald|substitute": 3.486, - "hiddenpowerflying|scald|secretsword|substitute": 4.22, - "hydropump|icywind|scald|secretsword": 2.202, - "hydropump|icywind|secretsword|substitute": 2.569, - "icywind|scald|secretsword|substitute": 2.569 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kingdra": { - "abilities": [ - [ - "swiftswim", - 92.278 - ], - [ - "sniper", - 7.722 - ] - ], - "count": 777, - "items": [ - [ - "lifeorb", - 92.278 - ], - [ - "assaultvest", - 7.722 - ] - ], - "moves": [ - [ - "outrage", - 85.071 - ], - [ - "raindance", - 92.278 - ], - [ - "waterfall", - 84.427 - ], - [ - "dragondance", - 55.598 - ], - [ - "dracometeor", - 36.036 - ], - [ - "hydropump", - 15.573 - ], - [ - "icebeam", - 31.017 - ] - ], - "sets": { - "dracometeor|hydropump|icebeam|outrage": 3.089, - "dracometeor|hydropump|icebeam|raindance": 4.118, - "dracometeor|hydropump|outrage|raindance": 3.99, - "dracometeor|icebeam|outrage|waterfall": 4.633, - "dracometeor|icebeam|raindance|waterfall": 10.811, - "dracometeor|outrage|raindance|waterfall": 9.395, - "dragondance|outrage|raindance|waterfall": 55.598, - "hydropump|icebeam|outrage|raindance": 4.376, - "icebeam|outrage|raindance|waterfall": 3.99 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kingler": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 678, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "rockslide", - 46.165 - ], - [ - "superpower", - 44.543 - ], - [ - "liquidation", - 100.0 - ], - [ - "swordsdance", - 65.487 - ], - [ - "knockoff", - 44.1 - ], - [ - "agility", - 50.442 - ], - [ - "xscissor", - 49.263 - ] - ], - "sets": { - "agility|knockoff|liquidation|rockslide": 3.245, - "agility|knockoff|liquidation|superpower": 2.95, - "agility|knockoff|liquidation|swordsdance": 6.342, - "agility|knockoff|liquidation|xscissor": 5.015, - "agility|liquidation|rockslide|superpower": 3.097, - "agility|liquidation|rockslide|swordsdance": 8.112, - "agility|liquidation|rockslide|xscissor": 4.572, - "agility|liquidation|superpower|swordsdance": 6.785, - "agility|liquidation|superpower|xscissor": 4.13, - "agility|liquidation|swordsdance|xscissor": 6.195, - "knockoff|liquidation|rockslide|superpower": 2.802, - "knockoff|liquidation|rockslide|swordsdance": 6.195, - "knockoff|liquidation|rockslide|xscissor": 2.95, - "knockoff|liquidation|superpower|swordsdance": 5.31, - "knockoff|liquidation|superpower|xscissor": 2.507, - "knockoff|liquidation|swordsdance|xscissor": 6.785, - "liquidation|rockslide|superpower|swordsdance": 5.9, - "liquidation|rockslide|superpower|xscissor": 3.245, - "liquidation|rockslide|swordsdance|xscissor": 6.047, - "liquidation|superpower|swordsdance|xscissor": 7.817 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "klefki": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 512, - "items": [ - [ - "leftovers", - 73.633 - ], - [ - "lightclay", - 16.406 - ], - [ - "focussash", - 9.961 - ] - ], - "moves": [ - [ - "thunderwave", - 28.32 - ], - [ - "toxic", - 49.414 - ], - [ - "playrough", - 100.0 - ], - [ - "foulplay", - 57.422 - ], - [ - "reflect", - 17.969 - ], - [ - "lightscreen", - 40.625 - ], - [ - "magnetrise", - 51.953 - ], - [ - "spikes", - 54.297 - ] - ], - "sets": { - "foulplay|lightscreen|magnetrise|playrough": 2.539, - "foulplay|lightscreen|playrough|reflect": 2.93, - "foulplay|lightscreen|playrough|spikes": 2.344, - "foulplay|lightscreen|playrough|thunderwave": 2.148, - "foulplay|lightscreen|playrough|toxic": 4.297, - "foulplay|magnetrise|playrough|reflect": 0.391, - "foulplay|magnetrise|playrough|spikes": 6.445, - "foulplay|magnetrise|playrough|thunderwave": 4.492, - "foulplay|magnetrise|playrough|toxic": 11.328, - "foulplay|playrough|reflect|thunderwave": 0.195, - "foulplay|playrough|reflect|toxic": 0.977, - "foulplay|playrough|spikes|thunderwave": 6.836, - "foulplay|playrough|spikes|toxic": 11.523, - "foulplay|playrough|thunderwave|toxic": 0.977, - "lightscreen|magnetrise|playrough|reflect": 2.734, - "lightscreen|magnetrise|playrough|spikes": 2.539, - "lightscreen|magnetrise|playrough|thunderwave": 1.172, - "lightscreen|magnetrise|playrough|toxic": 4.102, - "lightscreen|playrough|reflect|spikes": 3.32, - "lightscreen|playrough|reflect|thunderwave": 2.93, - "lightscreen|playrough|reflect|toxic": 4.492, - "lightscreen|playrough|spikes|thunderwave": 1.953, - "lightscreen|playrough|spikes|toxic": 3.125, - "magnetrise|playrough|spikes|thunderwave": 7.617, - "magnetrise|playrough|spikes|toxic": 8.594 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "klinklang": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 516, - "items": [ - [ - "lifeorb", - 31.589 - ], - [ - "leftovers", - 68.411 - ] - ], - "moves": [ - [ - "return102", - 73.837 - ], - [ - "wildcharge", - 74.419 - ], - [ - "shiftgear", - 83.333 - ], - [ - "geargrind", - 100.0 - ], - [ - "substitute", - 68.411 - ] - ], - "sets": { - "geargrind|return102|shiftgear|substitute": 25.581, - "geargrind|return102|shiftgear|wildcharge": 31.589, - "geargrind|return102|substitute|wildcharge": 16.667, - "geargrind|shiftgear|substitute|wildcharge": 26.163 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "komala": { - "abilities": [ - [ - "comatose", - 100.0 - ] - ], - "count": 150, - "items": [ - [ - "lifeorb", - 55.333 - ], - [ - "choicescarf", - 32.0 - ], - [ - "choiceband", - 12.667 - ] - ], - "moves": [ - [ - "uturn", - 57.333 - ], - [ - "earthquake", - 60.0 - ], - [ - "suckerpunch", - 55.333 - ], - [ - "return102", - 100.0 - ], - [ - "woodhammer", - 67.333 - ], - [ - "playrough", - 60.0 - ] - ], - "sets": { - "earthquake|playrough|return102|suckerpunch": 8.667, - "earthquake|playrough|return102|uturn": 10.0, - "earthquake|playrough|return102|woodhammer": 12.667, - "earthquake|return102|suckerpunch|uturn": 8.0, - "earthquake|return102|suckerpunch|woodhammer": 10.0, - "earthquake|return102|uturn|woodhammer": 10.667, - "playrough|return102|suckerpunch|uturn": 6.0, - "playrough|return102|suckerpunch|woodhammer": 11.333, - "playrough|return102|uturn|woodhammer": 11.333, - "return102|suckerpunch|uturn|woodhammer": 11.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kommoo": { - "abilities": [ - [ - "bulletproof", - 100.0 - ] - ], - "count": 531, - "items": [ - [ - "lumberry", - 8.851 - ], - [ - "kommoniumz", - 74.388 - ], - [ - "dragoniumz", - 16.761 - ] - ], - "moves": [ - [ - "outrage", - 25.612 - ], - [ - "closecombat", - 100.0 - ], - [ - "poisonjab", - 100.0 - ], - [ - "dragondance", - 100.0 - ], - [ - "clangingscales", - 74.388 - ] - ], - "sets": { - "clangingscales|closecombat|dragondance|poisonjab": 74.388, - "closecombat|dragondance|outrage|poisonjab": 25.612 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kricketune": { - "abilities": [ - [ - "swarm", - 100.0 - ] - ], - "count": 224, - "items": [ - [ - "leftovers", - 54.018 - ], - [ - "focussash", - 45.982 - ] - ], - "moves": [ - [ - "toxic", - 57.143 - ], - [ - "taunt", - 57.143 - ], - [ - "knockoff", - 70.536 - ], - [ - "leechlife", - 100.0 - ], - [ - "stickyweb", - 89.286 - ], - [ - "endeavor", - 25.893 - ] - ], - "sets": { - "endeavor|knockoff|leechlife|stickyweb": 10.268, - "endeavor|knockoff|leechlife|taunt": 1.339, - "endeavor|knockoff|leechlife|toxic": 2.232, - "endeavor|leechlife|stickyweb|taunt": 6.25, - "endeavor|leechlife|stickyweb|toxic": 4.911, - "endeavor|leechlife|taunt|toxic": 0.893, - "knockoff|leechlife|stickyweb|taunt": 25.0, - "knockoff|leechlife|stickyweb|toxic": 25.446, - "knockoff|leechlife|taunt|toxic": 6.25, - "leechlife|stickyweb|taunt|toxic": 17.411 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "krookodile": { - "abilities": [ - [ - "moxie", - 64.583 - ], - [ - "intimidate", - 35.417 - ] - ], - "count": 528, - "items": [ - [ - "lifeorb", - 36.553 - ], - [ - "choicescarf", - 38.068 - ], - [ - "focussash", - 6.439 - ], - [ - "choiceband", - 18.939 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "stealthrock", - 42.992 - ], - [ - "superpower", - 52.652 - ], - [ - "pursuit", - 74.053 - ], - [ - "knockoff", - 76.326 - ], - [ - "stoneedge", - 53.977 - ] - ], - "sets": { - "earthquake|knockoff|pursuit|stealthrock": 12.689, - "earthquake|knockoff|pursuit|stoneedge": 19.697, - "earthquake|knockoff|pursuit|superpower": 17.992, - "earthquake|knockoff|stealthrock|stoneedge": 8.712, - "earthquake|knockoff|stealthrock|superpower": 7.197, - "earthquake|knockoff|stoneedge|superpower": 10.038, - "earthquake|pursuit|stealthrock|stoneedge": 6.25, - "earthquake|pursuit|stealthrock|superpower": 8.144, - "earthquake|pursuit|stoneedge|superpower": 9.28 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyogre": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 550, - "items": [ - [ - "choicescarf", - 36.909 - ], - [ - "choicespecs", - 16.727 - ], - [ - "blueorb", - 46.364 - ] - ], - "moves": [ - [ - "scald", - 77.818 - ], - [ - "waterspout", - 53.636 - ], - [ - "icebeam", - 89.273 - ], - [ - "thunder", - 89.818 - ], - [ - "rest", - 12.182 - ], - [ - "sleeptalk", - 12.182 - ], - [ - "originpulse", - 22.182 - ], - [ - "calmmind", - 32.909 - ], - [ - "toxic", - 10.0 - ] - ], - "sets": { - "calmmind|icebeam|originpulse|thunder": 4.182, - "calmmind|icebeam|scald|thunder": 22.909, - "calmmind|originpulse|rest|sleeptalk": 3.455, - "calmmind|rest|scald|sleeptalk": 2.364, - "icebeam|originpulse|rest|sleeptalk": 0.727, - "icebeam|originpulse|thunder|toxic": 3.091, - "icebeam|originpulse|thunder|waterspout": 8.182, - "icebeam|rest|scald|sleeptalk": 0.727, - "icebeam|scald|thunder|toxic": 4.0, - "icebeam|scald|thunder|waterspout": 45.455, - "originpulse|rest|sleeptalk|thunder": 0.727, - "originpulse|rest|sleeptalk|toxic": 1.818, - "rest|scald|sleeptalk|thunder": 1.273, - "rest|scald|sleeptalk|toxic": 1.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyogreprimal": { - "abilities": [ - [ - "primordialsea", - 100.0 - ] - ], - "count": 27, - "items": [ - [ - "blueorb", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 88.889 - ], - [ - "calmmind", - 74.074 - ], - [ - "scald", - 85.185 - ], - [ - "thunder", - 85.185 - ], - [ - "toxic", - 22.222 - ], - [ - "rest", - 14.815 - ], - [ - "sleeptalk", - 14.815 - ], - [ - "originpulse", - 14.815 - ] - ], - "sets": { - "calmmind|icebeam|originpulse|thunder": 3.704, - "calmmind|icebeam|scald|thunder": 59.259, - "calmmind|originpulse|rest|sleeptalk": 3.704, - "calmmind|rest|scald|sleeptalk": 7.407, - "icebeam|originpulse|thunder|toxic": 7.407, - "icebeam|rest|scald|sleeptalk": 3.704, - "icebeam|scald|thunder|toxic": 14.815 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyurem": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 276, - "items": [ - [ - "leftovers", - 76.087 - ], - [ - "assaultvest", - 18.116 - ], - [ - "choicescarf", - 4.348 - ], - [ - "choicespecs", - 1.449 - ] - ], - "moves": [ - [ - "roost", - 69.203 - ], - [ - "icebeam", - 100.0 - ], - [ - "dracometeor", - 71.014 - ], - [ - "earthpower", - 39.493 - ], - [ - "focusblast", - 36.957 - ], - [ - "outrage", - 69.565 - ], - [ - "substitute", - 13.768 - ] - ], - "sets": { - "dracometeor|earthpower|focusblast|icebeam": 5.797, - "dracometeor|earthpower|icebeam|outrage": 7.971, - "dracometeor|earthpower|icebeam|roost": 14.493, - "dracometeor|focusblast|icebeam|outrage": 7.246, - "dracometeor|focusblast|icebeam|roost": 10.145, - "dracometeor|icebeam|outrage|roost": 25.362, - "earthpower|focusblast|icebeam|outrage": 2.899, - "earthpower|icebeam|outrage|roost": 5.435, - "earthpower|icebeam|outrage|substitute": 2.899, - "focusblast|icebeam|outrage|roost": 6.884, - "focusblast|icebeam|outrage|substitute": 3.986, - "icebeam|outrage|roost|substitute": 6.884 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyuremblack": { - "abilities": [ - [ - "teravolt", - 100.0 - ] - ], - "count": 189, - "items": [ - [ - "leftovers", - 93.651 - ], - [ - "assaultvest", - 6.349 - ] - ], - "moves": [ - [ - "roost", - 76.19 - ], - [ - "outrage", - 73.545 - ], - [ - "substitute", - 41.799 - ], - [ - "icebeam", - 100.0 - ], - [ - "earthpower", - 37.566 - ], - [ - "dragonclaw", - 26.455 - ], - [ - "fusionbolt", - 44.444 - ] - ], - "sets": { - "dragonclaw|earthpower|fusionbolt|icebeam": 1.587, - "dragonclaw|earthpower|icebeam|roost": 5.291, - "dragonclaw|earthpower|icebeam|substitute": 3.175, - "dragonclaw|fusionbolt|icebeam|roost": 7.937, - "dragonclaw|fusionbolt|icebeam|substitute": 2.116, - "dragonclaw|icebeam|roost|substitute": 6.349, - "earthpower|fusionbolt|icebeam|outrage": 4.762, - "earthpower|icebeam|outrage|roost": 17.989, - "earthpower|icebeam|outrage|substitute": 4.762, - "fusionbolt|icebeam|outrage|roost": 20.635, - "fusionbolt|icebeam|outrage|substitute": 7.407, - "icebeam|outrage|roost|substitute": 17.989 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyuremwhite": { - "abilities": [ - [ - "turboblaze", - 100.0 - ] - ], - "count": 211, - "items": [ - [ - "leftovers", - 89.1 - ], - [ - "choicespecs", - 3.318 - ], - [ - "choicescarf", - 7.583 - ] - ], - "moves": [ - [ - "roost", - 70.142 - ], - [ - "icebeam", - 100.0 - ], - [ - "dracometeor", - 65.403 - ], - [ - "focusblast", - 30.332 - ], - [ - "earthpower", - 31.28 - ], - [ - "toxic", - 27.488 - ], - [ - "fusionflare", - 30.332 - ], - [ - "dragonpulse", - 34.597 - ], - [ - "substitute", - 10.427 - ] - ], - "sets": { - "dracometeor|earthpower|focusblast|icebeam": 1.896, - "dracometeor|earthpower|fusionflare|icebeam": 2.37, - "dracometeor|earthpower|icebeam|roost": 13.27, - "dracometeor|earthpower|icebeam|toxic": 3.791, - "dracometeor|focusblast|fusionflare|icebeam": 2.844, - "dracometeor|focusblast|icebeam|roost": 13.744, - "dracometeor|focusblast|icebeam|toxic": 2.844, - "dracometeor|fusionflare|icebeam|roost": 14.692, - "dracometeor|fusionflare|icebeam|toxic": 1.896, - "dracometeor|icebeam|roost|toxic": 8.057, - "dragonpulse|earthpower|focusblast|icebeam": 2.37, - "dragonpulse|earthpower|fusionflare|icebeam": 0.948, - "dragonpulse|earthpower|icebeam|roost": 1.422, - "dragonpulse|earthpower|icebeam|substitute": 2.37, - "dragonpulse|earthpower|icebeam|toxic": 2.844, - "dragonpulse|focusblast|fusionflare|icebeam": 0.474, - "dragonpulse|focusblast|icebeam|roost": 3.791, - "dragonpulse|focusblast|icebeam|substitute": 0.474, - "dragonpulse|focusblast|icebeam|toxic": 1.896, - "dragonpulse|fusionflare|icebeam|roost": 4.739, - "dragonpulse|fusionflare|icebeam|substitute": 1.422, - "dragonpulse|fusionflare|icebeam|toxic": 0.948, - "dragonpulse|icebeam|roost|substitute": 5.687, - "dragonpulse|icebeam|roost|toxic": 4.739, - "dragonpulse|icebeam|substitute|toxic": 0.474 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "landorus": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 313, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "rockpolish", - 49.84 - ], - [ - "calmmind", - 58.466 - ], - [ - "focusblast", - 49.521 - ], - [ - "earthpower", - 100.0 - ], - [ - "rockslide", - 23.003 - ], - [ - "psychic", - 53.355 - ], - [ - "sludgewave", - 42.492 - ], - [ - "stealthrock", - 8.307 - ], - [ - "knockoff", - 15.016 - ] - ], - "sets": { - "calmmind|earthpower|focusblast|psychic": 11.502, - "calmmind|earthpower|focusblast|rockpolish": 8.946, - "calmmind|earthpower|focusblast|sludgewave": 8.626, - "calmmind|earthpower|psychic|rockpolish": 10.863, - "calmmind|earthpower|psychic|sludgewave": 10.224, - "calmmind|earthpower|rockpolish|sludgewave": 8.307, - "earthpower|focusblast|knockoff|psychic": 1.917, - "earthpower|focusblast|knockoff|rockpolish": 1.597, - "earthpower|focusblast|knockoff|rockslide": 1.597, - "earthpower|focusblast|knockoff|sludgewave": 0.639, - "earthpower|focusblast|knockoff|stealthrock": 0.639, - "earthpower|focusblast|psychic|rockpolish": 2.556, - "earthpower|focusblast|psychic|rockslide": 1.597, - "earthpower|focusblast|psychic|sludgewave": 0.639, - "earthpower|focusblast|psychic|stealthrock": 1.278, - "earthpower|focusblast|rockpolish|rockslide": 3.834, - "earthpower|focusblast|rockpolish|sludgewave": 2.236, - "earthpower|focusblast|rockslide|sludgewave": 0.958, - "earthpower|focusblast|rockslide|stealthrock": 0.639, - "earthpower|focusblast|sludgewave|stealthrock": 0.319, - "earthpower|knockoff|psychic|rockpolish": 0.639, - "earthpower|knockoff|psychic|rockslide": 1.278, - "earthpower|knockoff|psychic|sludgewave": 0.639, - "earthpower|knockoff|psychic|stealthrock": 0.319, - "earthpower|knockoff|rockpolish|rockslide": 3.514, - "earthpower|knockoff|rockpolish|sludgewave": 0.639, - "earthpower|knockoff|rockslide|sludgewave": 0.639, - "earthpower|knockoff|rockslide|stealthrock": 0.639, - "earthpower|knockoff|sludgewave|stealthrock": 0.319, - "earthpower|psychic|rockpolish|rockslide": 2.875, - "earthpower|psychic|rockpolish|sludgewave": 2.236, - "earthpower|psychic|rockslide|sludgewave": 1.597, - "earthpower|psychic|rockslide|stealthrock": 1.278, - "earthpower|psychic|sludgewave|stealthrock": 1.917, - "earthpower|rockpolish|rockslide|sludgewave": 1.597, - "earthpower|rockslide|sludgewave|stealthrock": 0.958 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "landorustherian": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 277, - "items": [ - [ - "focussash", - 6.859 - ], - [ - "flyiniumz", - 39.35 - ], - [ - "leftovers", - 27.076 - ], - [ - "lifeorb", - 23.105 - ], - [ - "choicescarf", - 2.166 - ], - [ - "choiceband", - 1.444 - ] - ], - "moves": [ - [ - "rockpolish", - 49.819 - ], - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 53.43 - ], - [ - "swordsdance", - 80.866 - ], - [ - "fly", - 39.35 - ], - [ - "superpower", - 62.816 - ], - [ - "stealthrock", - 6.137 - ], - [ - "uturn", - 7.581 - ] - ], - "sets": { - "earthquake|fly|rockpolish|swordsdance": 12.635, - "earthquake|fly|stoneedge|swordsdance": 11.191, - "earthquake|fly|superpower|swordsdance": 15.523, - "earthquake|rockpolish|stoneedge|superpower": 9.386, - "earthquake|rockpolish|stoneedge|swordsdance": 11.552, - "earthquake|rockpolish|superpower|swordsdance": 16.245, - "earthquake|stealthrock|stoneedge|superpower": 2.166, - "earthquake|stealthrock|stoneedge|uturn": 1.805, - "earthquake|stealthrock|superpower|uturn": 2.166, - "earthquake|stoneedge|superpower|swordsdance": 13.718, - "earthquake|stoneedge|superpower|uturn": 3.61 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lanturn": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 564, - "items": [ - [ - "leftovers", - 12.943 - ], - [ - "focussash", - 10.993 - ], - [ - "lifeorb", - 53.723 - ], - [ - "choicespecs", - 22.34 - ] - ], - "moves": [ - [ - "scald", - 63.298 - ], - [ - "thunderwave", - 27.305 - ], - [ - "thunderbolt", - 67.553 - ], - [ - "healbell", - 31.915 - ], - [ - "icebeam", - 38.475 - ], - [ - "voltswitch", - 55.319 - ], - [ - "hiddenpowergrass", - 37.943 - ], - [ - "hydropump", - 44.681 - ], - [ - "toxic", - 33.511 - ] - ], - "sets": { - "healbell|hiddenpowergrass|hydropump|thunderbolt": 2.128, - "healbell|hiddenpowergrass|hydropump|voltswitch": 1.064, - "healbell|hiddenpowergrass|scald|thunderbolt": 2.128, - "healbell|hiddenpowergrass|scald|voltswitch": 1.596, - "healbell|hydropump|icebeam|thunderbolt": 1.418, - "healbell|hydropump|icebeam|voltswitch": 2.482, - "healbell|hydropump|thunderbolt|thunderwave": 1.596, - "healbell|hydropump|thunderbolt|toxic": 1.064, - "healbell|hydropump|thunderbolt|voltswitch": 1.773, - "healbell|hydropump|thunderwave|voltswitch": 0.709, - "healbell|hydropump|toxic|voltswitch": 0.177, - "healbell|icebeam|scald|thunderbolt": 2.305, - "healbell|icebeam|scald|voltswitch": 0.887, - "healbell|scald|thunderbolt|thunderwave": 3.369, - "healbell|scald|thunderbolt|toxic": 2.482, - "healbell|scald|thunderbolt|voltswitch": 1.064, - "healbell|scald|thunderwave|voltswitch": 1.95, - "healbell|scald|toxic|voltswitch": 3.723, - "hiddenpowergrass|hydropump|icebeam|thunderbolt": 1.596, - "hiddenpowergrass|hydropump|icebeam|voltswitch": 1.241, - "hiddenpowergrass|hydropump|scald|thunderbolt": 1.596, - "hiddenpowergrass|hydropump|scald|voltswitch": 1.596, - "hiddenpowergrass|hydropump|thunderbolt|thunderwave": 1.773, - "hiddenpowergrass|hydropump|thunderbolt|toxic": 1.596, - "hiddenpowergrass|hydropump|thunderbolt|voltswitch": 2.128, - "hiddenpowergrass|hydropump|thunderwave|voltswitch": 1.418, - "hiddenpowergrass|hydropump|toxic|voltswitch": 0.709, - "hiddenpowergrass|icebeam|scald|thunderbolt": 3.014, - "hiddenpowergrass|icebeam|scald|voltswitch": 1.064, - "hiddenpowergrass|scald|thunderbolt|thunderwave": 3.369, - "hiddenpowergrass|scald|thunderbolt|toxic": 3.546, - "hiddenpowergrass|scald|thunderbolt|voltswitch": 1.95, - "hiddenpowergrass|scald|thunderwave|voltswitch": 1.95, - "hiddenpowergrass|scald|toxic|voltswitch": 2.482, - "hydropump|icebeam|scald|thunderbolt": 1.95, - "hydropump|icebeam|scald|voltswitch": 1.596, - "hydropump|icebeam|thunderbolt|thunderwave": 1.773, - "hydropump|icebeam|thunderbolt|toxic": 3.014, - "hydropump|icebeam|thunderbolt|voltswitch": 1.773, - "hydropump|icebeam|thunderwave|voltswitch": 0.887, - "hydropump|icebeam|toxic|voltswitch": 1.95, - "hydropump|scald|thunderbolt|voltswitch": 1.241, - "hydropump|thunderbolt|thunderwave|voltswitch": 1.418, - "hydropump|thunderbolt|toxic|voltswitch": 3.014, - "icebeam|scald|thunderbolt|thunderwave": 2.482, - "icebeam|scald|thunderbolt|toxic": 2.482, - "icebeam|scald|thunderbolt|voltswitch": 1.596, - "icebeam|scald|thunderwave|voltswitch": 2.128, - "icebeam|scald|toxic|voltswitch": 2.837, - "scald|thunderbolt|thunderwave|voltswitch": 2.482, - "scald|thunderbolt|toxic|voltswitch": 4.433 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lapras": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 100.0 - ], - [ - "thunderbolt", - 47.541 - ], - [ - "healbell", - 46.995 - ], - [ - "hydropump", - 100.0 - ], - [ - "substitute", - 51.913 - ], - [ - "toxic", - 53.552 - ] - ], - "sets": { - "healbell|hydropump|icebeam|substitute": 17.486, - "healbell|hydropump|icebeam|thunderbolt": 13.115, - "healbell|hydropump|icebeam|toxic": 16.393, - "hydropump|icebeam|substitute|thunderbolt": 15.847, - "hydropump|icebeam|substitute|toxic": 18.579, - "hydropump|icebeam|thunderbolt|toxic": 18.579 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latias": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 128, - "items": [ - [ - "choicespecs", - 6.25 - ], - [ - "souldew", - 66.406 - ], - [ - "leftovers", - 27.344 - ] - ], - "moves": [ - [ - "dracometeor", - 100.0 - ], - [ - "thunderbolt", - 42.969 - ], - [ - "hiddenpowerfire", - 56.25 - ], - [ - "psyshock", - 72.656 - ], - [ - "roost", - 67.188 - ], - [ - "defog", - 38.281 - ], - [ - "healingwish", - 22.656 - ] - ], - "sets": { - "defog|dracometeor|healingwish|hiddenpowerfire": 5.469, - "defog|dracometeor|healingwish|psyshock": 2.344, - "defog|dracometeor|healingwish|thunderbolt": 2.344, - "defog|dracometeor|hiddenpowerfire|psyshock": 1.562, - "defog|dracometeor|hiddenpowerfire|roost": 5.469, - "defog|dracometeor|hiddenpowerfire|thunderbolt": 1.562, - "defog|dracometeor|psyshock|roost": 17.188, - "defog|dracometeor|psyshock|thunderbolt": 0.781, - "defog|dracometeor|roost|thunderbolt": 1.562, - "dracometeor|healingwish|hiddenpowerfire|psyshock": 3.125, - "dracometeor|healingwish|hiddenpowerfire|thunderbolt": 5.469, - "dracometeor|healingwish|psyshock|thunderbolt": 3.906, - "dracometeor|hiddenpowerfire|psyshock|roost": 21.875, - "dracometeor|hiddenpowerfire|psyshock|thunderbolt": 6.25, - "dracometeor|hiddenpowerfire|roost|thunderbolt": 5.469, - "dracometeor|psyshock|roost|thunderbolt": 15.625 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latiasmega": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 392, - "items": [ - [ - "latiasite", - 100.0 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 39.796 - ], - [ - "surf", - 57.908 - ], - [ - "dracometeor", - 63.52 - ], - [ - "psyshock", - 69.388 - ], - [ - "calmmind", - 57.398 - ], - [ - "dragonpulse", - 36.48 - ], - [ - "substitute", - 13.776 - ], - [ - "roost", - 61.735 - ] - ], - "sets": { - "calmmind|dracometeor|hiddenpowerfire|psyshock": 5.357, - "calmmind|dracometeor|hiddenpowerfire|surf": 3.827, - "calmmind|dracometeor|psyshock|roost": 12.755, - "calmmind|dracometeor|psyshock|surf": 6.122, - "calmmind|dracometeor|roost|surf": 10.459, - "calmmind|dragonpulse|hiddenpowerfire|psyshock": 2.551, - "calmmind|dragonpulse|hiddenpowerfire|surf": 0.765, - "calmmind|dragonpulse|psyshock|roost": 5.357, - "calmmind|dragonpulse|psyshock|substitute": 3.061, - "calmmind|dragonpulse|psyshock|surf": 2.296, - "calmmind|dragonpulse|roost|surf": 2.296, - "calmmind|dragonpulse|substitute|surf": 2.551, - "dracometeor|hiddenpowerfire|psyshock|roost": 6.633, - "dracometeor|hiddenpowerfire|psyshock|surf": 6.378, - "dracometeor|hiddenpowerfire|roost|surf": 5.102, - "dracometeor|psyshock|roost|surf": 6.888, - "dragonpulse|hiddenpowerfire|psyshock|roost": 2.296, - "dragonpulse|hiddenpowerfire|psyshock|substitute": 0.51, - "dragonpulse|hiddenpowerfire|psyshock|surf": 2.551, - "dragonpulse|hiddenpowerfire|roost|substitute": 0.765, - "dragonpulse|hiddenpowerfire|roost|surf": 2.041, - "dragonpulse|hiddenpowerfire|substitute|surf": 1.02, - "dragonpulse|psyshock|roost|substitute": 2.806, - "dragonpulse|psyshock|roost|surf": 2.551, - "dragonpulse|psyshock|substitute|surf": 1.276, - "dragonpulse|roost|substitute|surf": 1.786 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latios": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 11.364 - ], - [ - "souldew", - 48.295 - ], - [ - "choicespecs", - 25.0 - ], - [ - "lifeorb", - 15.341 - ] - ], - "moves": [ - [ - "dracometeor", - 100.0 - ], - [ - "roost", - 62.5 - ], - [ - "hiddenpowerfire", - 43.75 - ], - [ - "defog", - 35.795 - ], - [ - "psyshock", - 65.341 - ], - [ - "thunderbolt", - 39.773 - ], - [ - "surf", - 35.795 - ], - [ - "trick", - 17.045 - ] - ], - "sets": { - "defog|dracometeor|hiddenpowerfire|psyshock": 1.705, - "defog|dracometeor|hiddenpowerfire|roost": 5.114, - "defog|dracometeor|hiddenpowerfire|surf": 2.273, - "defog|dracometeor|hiddenpowerfire|thunderbolt": 2.841, - "defog|dracometeor|psyshock|roost": 11.932, - "defog|dracometeor|psyshock|surf": 2.273, - "defog|dracometeor|psyshock|thunderbolt": 2.273, - "defog|dracometeor|roost|surf": 2.841, - "defog|dracometeor|roost|thunderbolt": 3.409, - "defog|dracometeor|surf|thunderbolt": 1.136, - "dracometeor|hiddenpowerfire|psyshock|roost": 10.795, - "dracometeor|hiddenpowerfire|psyshock|surf": 2.273, - "dracometeor|hiddenpowerfire|psyshock|thunderbolt": 2.841, - "dracometeor|hiddenpowerfire|psyshock|trick": 3.409, - "dracometeor|hiddenpowerfire|roost|surf": 3.977, - "dracometeor|hiddenpowerfire|roost|thunderbolt": 2.841, - "dracometeor|hiddenpowerfire|surf|thunderbolt": 1.136, - "dracometeor|hiddenpowerfire|surf|trick": 2.841, - "dracometeor|hiddenpowerfire|thunderbolt|trick": 1.705, - "dracometeor|psyshock|roost|surf": 8.523, - "dracometeor|psyshock|roost|thunderbolt": 10.795, - "dracometeor|psyshock|surf|thunderbolt": 1.705, - "dracometeor|psyshock|surf|trick": 2.273, - "dracometeor|psyshock|thunderbolt|trick": 4.545, - "dracometeor|roost|surf|thunderbolt": 2.273, - "dracometeor|surf|thunderbolt|trick": 2.273 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latiosmega": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 533, - "items": [ - [ - "latiosite", - 100.0 - ] - ], - "moves": [ - [ - "psyshock", - 93.621 - ], - [ - "roost", - 77.111 - ], - [ - "calmmind", - 70.544 - ], - [ - "dracometeor", - 100.0 - ], - [ - "hiddenpowerfire", - 39.4 - ], - [ - "defog", - 19.325 - ] - ], - "sets": { - "calmmind|dracometeor|hiddenpowerfire|psyshock": 16.698, - "calmmind|dracometeor|psyshock|roost": 53.846, - "defog|dracometeor|hiddenpowerfire|psyshock": 6.191, - "defog|dracometeor|hiddenpowerfire|roost": 6.379, - "defog|dracometeor|psyshock|roost": 6.754, - "dracometeor|hiddenpowerfire|psyshock|roost": 10.131 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "leafeon": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 206, - "items": [ - [ - "focussash", - 13.107 - ], - [ - "leftovers", - 67.476 - ], - [ - "lifeorb", - 19.417 - ] - ], - "moves": [ - [ - "healbell", - 44.175 - ], - [ - "xscissor", - 63.592 - ], - [ - "knockoff", - 63.107 - ], - [ - "leafblade", - 100.0 - ], - [ - "swordsdance", - 64.563 - ], - [ - "synthesis", - 64.563 - ] - ], - "sets": { - "healbell|knockoff|leafblade|swordsdance": 7.767, - "healbell|knockoff|leafblade|synthesis": 9.709, - "healbell|knockoff|leafblade|xscissor": 9.223, - "healbell|leafblade|swordsdance|xscissor": 8.252, - "healbell|leafblade|synthesis|xscissor": 9.223, - "knockoff|leafblade|swordsdance|synthesis": 18.932, - "knockoff|leafblade|swordsdance|xscissor": 10.194, - "knockoff|leafblade|synthesis|xscissor": 7.282, - "leafblade|swordsdance|synthesis|xscissor": 19.417 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "leavanny": { - "abilities": [ - [ - "overcoat", - 61.453 - ], - [ - "swarm", - 38.547 - ] - ], - "count": 179, - "items": [ - [ - "focussash", - 33.52 - ], - [ - "lifeorb", - 27.933 - ], - [ - "leftovers", - 38.547 - ] - ], - "moves": [ - [ - "leafblade", - 100.0 - ], - [ - "swordsdance", - 83.799 - ], - [ - "stickyweb", - 68.156 - ], - [ - "xscissor", - 79.33 - ], - [ - "knockoff", - 68.715 - ] - ], - "sets": { - "knockoff|leafblade|stickyweb|swordsdance": 20.67, - "knockoff|leafblade|stickyweb|xscissor": 16.201, - "knockoff|leafblade|swordsdance|xscissor": 31.844, - "leafblade|stickyweb|swordsdance|xscissor": 31.285 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ledian": { - "abilities": [ - [ - "swarm", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 77.665 - ], - [ - "lightclay", - 13.198 - ], - [ - "focussash", - 9.137 - ] - ], - "moves": [ - [ - "lightscreen", - 43.655 - ], - [ - "roost", - 72.081 - ], - [ - "knockoff", - 62.437 - ], - [ - "uturn", - 100.0 - ], - [ - "toxic", - 51.269 - ], - [ - "encore", - 56.853 - ], - [ - "reflect", - 13.706 - ] - ], - "sets": { - "encore|knockoff|lightscreen|uturn": 5.076, - "encore|knockoff|roost|uturn": 16.244, - "encore|knockoff|toxic|uturn": 10.66, - "encore|lightscreen|reflect|uturn": 1.523, - "encore|lightscreen|roost|uturn": 7.107, - "encore|lightscreen|toxic|uturn": 4.061, - "encore|roost|toxic|uturn": 12.183, - "knockoff|lightscreen|reflect|uturn": 4.061, - "knockoff|lightscreen|roost|uturn": 8.122, - "knockoff|lightscreen|toxic|uturn": 1.015, - "knockoff|reflect|roost|uturn": 0.508, - "knockoff|roost|toxic|uturn": 16.751, - "lightscreen|reflect|roost|uturn": 6.091, - "lightscreen|reflect|toxic|uturn": 1.523, - "lightscreen|roost|toxic|uturn": 5.076 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lickilicky": { - "abilities": [ - [ - "owntempo", - 35.407 - ], - [ - "oblivious", - 35.407 - ], - [ - "cloudnine", - 29.187 - ] - ], - "count": 209, - "items": [ - [ - "assaultvest", - 4.306 - ], - [ - "leftovers", - 95.694 - ] - ], - "moves": [ - [ - "explosion", - 6.699 - ], - [ - "knockoff", - 36.364 - ], - [ - "bodyslam", - 100.0 - ], - [ - "earthquake", - 36.842 - ], - [ - "wish", - 62.679 - ], - [ - "swordsdance", - 59.809 - ], - [ - "protect", - 18.182 - ], - [ - "dragontail", - 13.876 - ], - [ - "powerwhip", - 40.191 - ], - [ - "healbell", - 25.359 - ] - ], - "sets": { - "bodyslam|dragontail|earthquake|explosion": 0.478, - "bodyslam|dragontail|earthquake|healbell": 0.478, - "bodyslam|dragontail|earthquake|knockoff": 0.957, - "bodyslam|dragontail|earthquake|protect": 0.478, - "bodyslam|dragontail|earthquake|wish": 0.478, - "bodyslam|dragontail|explosion|healbell": 0.957, - "bodyslam|dragontail|healbell|knockoff": 0.957, - "bodyslam|dragontail|healbell|protect": 0.478, - "bodyslam|dragontail|healbell|wish": 0.957, - "bodyslam|dragontail|knockoff|protect": 0.478, - "bodyslam|dragontail|knockoff|wish": 2.392, - "bodyslam|dragontail|powerwhip|protect": 1.435, - "bodyslam|dragontail|powerwhip|wish": 0.957, - "bodyslam|dragontail|protect|wish": 2.392, - "bodyslam|earthquake|explosion|healbell": 0.957, - "bodyslam|earthquake|explosion|knockoff": 0.957, - "bodyslam|earthquake|explosion|powerwhip": 0.957, - "bodyslam|earthquake|healbell|knockoff": 0.478, - "bodyslam|earthquake|healbell|powerwhip": 0.478, - "bodyslam|earthquake|healbell|swordsdance": 3.349, - "bodyslam|earthquake|healbell|wish": 1.435, - "bodyslam|earthquake|knockoff|powerwhip": 0.478, - "bodyslam|earthquake|knockoff|protect": 0.957, - "bodyslam|earthquake|knockoff|swordsdance": 5.263, - "bodyslam|earthquake|powerwhip|protect": 0.957, - "bodyslam|earthquake|powerwhip|swordsdance": 1.914, - "bodyslam|earthquake|powerwhip|wish": 0.957, - "bodyslam|earthquake|protect|wish": 3.828, - "bodyslam|earthquake|swordsdance|wish": 11.005, - "bodyslam|explosion|healbell|powerwhip": 0.478, - "bodyslam|explosion|healbell|protect": 0.957, - "bodyslam|explosion|knockoff|powerwhip": 0.478, - "bodyslam|explosion|powerwhip|protect": 0.478, - "bodyslam|healbell|knockoff|powerwhip": 0.478, - "bodyslam|healbell|knockoff|swordsdance": 3.349, - "bodyslam|healbell|knockoff|wish": 1.435, - "bodyslam|healbell|powerwhip|swordsdance": 2.871, - "bodyslam|healbell|powerwhip|wish": 2.392, - "bodyslam|healbell|protect|wish": 2.871, - "bodyslam|knockoff|powerwhip|protect": 0.478, - "bodyslam|knockoff|powerwhip|swordsdance": 4.306, - "bodyslam|knockoff|powerwhip|wish": 1.435, - "bodyslam|knockoff|protect|wish": 0.478, - "bodyslam|knockoff|swordsdance|wish": 11.005, - "bodyslam|powerwhip|protect|wish": 1.914, - "bodyslam|powerwhip|swordsdance|wish": 16.746 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "liepard": { - "abilities": [ - [ - "prankster", - 99.441 - ], - [ - "unburden", - 0.372 - ], - [ - "limber", - 0.186 - ] - ], - "count": 537, - "items": [ - [ - "leftovers", - 85.289 - ], - [ - "choiceband", - 4.842 - ], - [ - "focussash", - 9.311 - ], - [ - "sitrusberry", - 0.372 - ], - [ - "lifeorb", - 0.186 - ] - ], - "moves": [ - [ - "substitute", - 17.691 - ], - [ - "copycat", - 69.46 - ], - [ - "thunderwave", - 42.458 - ], - [ - "knockoff", - 55.68 - ], - [ - "darkpulse", - 45.251 - ], - [ - "encore", - 59.404 - ], - [ - "nastyplot", - 26.629 - ], - [ - "playrough", - 41.527 - ], - [ - "uturn", - 41.899 - ] - ], - "sets": { - "copycat|darkpulse|encore|nastyplot": 16.387, - "copycat|darkpulse|encore|playrough": 1.117, - "copycat|darkpulse|encore|substitute": 0.372, - "copycat|darkpulse|encore|thunderwave": 1.676, - "copycat|darkpulse|encore|uturn": 0.931, - "copycat|darkpulse|nastyplot|playrough": 0.372, - "copycat|darkpulse|nastyplot|substitute": 7.263, - "copycat|darkpulse|nastyplot|uturn": 0.372, - "copycat|darkpulse|playrough|substitute": 0.186, - "copycat|darkpulse|playrough|thunderwave": 2.793, - "copycat|darkpulse|playrough|uturn": 1.49, - "copycat|darkpulse|substitute|thunderwave": 1.676, - "copycat|darkpulse|thunderwave|uturn": 1.49, - "copycat|encore|knockoff|playrough": 4.842, - "copycat|encore|knockoff|substitute": 1.117, - "copycat|encore|knockoff|thunderwave": 3.352, - "copycat|encore|knockoff|uturn": 5.773, - "copycat|knockoff|playrough|substitute": 1.862, - "copycat|knockoff|playrough|thunderwave": 3.724, - "copycat|knockoff|playrough|uturn": 4.842, - "copycat|knockoff|substitute|thunderwave": 2.421, - "copycat|knockoff|thunderwave|uturn": 5.4, - "darkpulse|encore|knockoff|nastyplot": 0.372, - "darkpulse|encore|nastyplot|substitute": 0.931, - "darkpulse|encore|playrough|substitute": 0.372, - "darkpulse|encore|playrough|thunderwave": 0.745, - "darkpulse|encore|playrough|uturn": 2.421, - "darkpulse|encore|substitute|thunderwave": 0.186, - "darkpulse|encore|thunderwave|uturn": 1.676, - "darkpulse|knockoff|nastyplot|playrough": 0.186, - "darkpulse|knockoff|nastyplot|uturn": 0.186, - "darkpulse|knockoff|playrough|uturn": 0.186, - "darkpulse|nastyplot|playrough|uturn": 0.559, - "darkpulse|playrough|thunderwave|uturn": 1.304, - "encore|knockoff|playrough|substitute": 0.559, - "encore|knockoff|playrough|thunderwave": 4.842, - "encore|knockoff|playrough|uturn": 4.842, - "encore|knockoff|substitute|thunderwave": 0.372, - "encore|knockoff|thunderwave|uturn": 6.518, - "knockoff|playrough|substitute|thunderwave": 0.372, - "knockoff|playrough|thunderwave|uturn": 3.911 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lilligant": { - "abilities": [ - [ - "owntempo", - 98.731 - ], - [ - "chlorophyll", - 1.269 - ] - ], - "count": 709, - "items": [ - [ - "leftovers", - 91.537 - ], - [ - "focussash", - 8.463 - ] - ], - "moves": [ - [ - "petaldance", - 77.856 - ], - [ - "sleeppowder", - 100.0 - ], - [ - "quiverdance", - 100.0 - ], - [ - "hiddenpowerrock", - 51.199 - ], - [ - "hiddenpowerfire", - 48.801 - ], - [ - "gigadrain", - 22.144 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|quiverdance|sleeppowder": 10.437, - "gigadrain|hiddenpowerrock|quiverdance|sleeppowder": 11.707, - "hiddenpowerfire|petaldance|quiverdance|sleeppowder": 38.364, - "hiddenpowerrock|petaldance|quiverdance|sleeppowder": 39.492 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "linoone": { - "abilities": [ - [ - "gluttony", - 100.0 - ] - ], - "count": 647, - "items": [ - [ - "iapapaberry", - 18.856 - ], - [ - "aguavberry", - 17.156 - ], - [ - "wikiberry", - 22.875 - ], - [ - "magoberry", - 18.547 - ], - [ - "figyberry", - 22.566 - ] - ], - "moves": [ - [ - "stompingtantrum", - 100.0 - ], - [ - "extremespeed", - 100.0 - ], - [ - "shadowclaw", - 100.0 - ], - [ - "bellydrum", - 100.0 - ] - ], - "sets": { - "bellydrum|extremespeed|shadowclaw|stompingtantrum": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lopunny": { - "abilities": [ - [ - "limber", - 92.308 - ], - [ - "klutz", - 7.692 - ] - ], - "count": 26, - "items": [ - [ - "lifeorb", - 92.308 - ], - [ - "assaultvest", - 7.692 - ] - ], - "moves": [ - [ - "healingwish", - 92.308 - ], - [ - "return102", - 100.0 - ], - [ - "highjumpkick", - 100.0 - ], - [ - "icepunch", - 100.0 - ], - [ - "switcheroo", - 7.692 - ] - ], - "sets": { - "healingwish|highjumpkick|icepunch|return102": 92.308, - "highjumpkick|icepunch|return102|switcheroo": 7.692 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lopunnymega": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 160, - "items": [ - [ - "lopunnite", - 100.0 - ] - ], - "moves": [ - [ - "icepunch", - 100.0 - ], - [ - "return102", - 100.0 - ], - [ - "substitute", - 83.75 - ], - [ - "highjumpkick", - 100.0 - ], - [ - "fakeout", - 16.25 - ] - ], - "sets": { - "fakeout|highjumpkick|icepunch|return102": 16.25, - "highjumpkick|icepunch|return102|substitute": 83.75 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lucario": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 143, - "items": [ - [ - "lifeorb", - 94.406 - ], - [ - "choiceband", - 4.196 - ], - [ - "expertbelt", - 0.699 - ], - [ - "choicespecs", - 0.699 - ] - ], - "moves": [ - [ - "vacuumwave", - 27.972 - ], - [ - "nastyplot", - 25.874 - ], - [ - "aurasphere", - 26.573 - ], - [ - "darkpulse", - 23.776 - ], - [ - "swordsdance", - 50.35 - ], - [ - "icepunch", - 33.566 - ], - [ - "meteormash", - 46.853 - ], - [ - "closecombat", - 65.035 - ], - [ - "crunch", - 36.364 - ], - [ - "extremespeed", - 35.664 - ], - [ - "flashcannon", - 27.972 - ] - ], - "sets": { - "aurasphere|crunch|extremespeed|meteormash": 0.699, - "aurasphere|crunch|flashcannon|vacuumwave": 1.399, - "aurasphere|crunch|icepunch|meteormash": 0.699, - "aurasphere|crunch|icepunch|vacuumwave": 1.399, - "aurasphere|darkpulse|extremespeed|icepunch": 0.699, - "aurasphere|darkpulse|extremespeed|nastyplot": 1.399, - "aurasphere|darkpulse|flashcannon|nastyplot": 3.497, - "aurasphere|darkpulse|flashcannon|vacuumwave": 0.699, - "aurasphere|darkpulse|nastyplot|vacuumwave": 4.196, - "aurasphere|extremespeed|flashcannon|nastyplot": 0.699, - "aurasphere|flashcannon|nastyplot|vacuumwave": 10.49, - "aurasphere|icepunch|meteormash|vacuumwave": 0.699, - "closecombat|crunch|extremespeed|flashcannon": 1.399, - "closecombat|crunch|extremespeed|meteormash": 2.797, - "closecombat|crunch|extremespeed|swordsdance": 7.692, - "closecombat|crunch|flashcannon|icepunch": 2.098, - "closecombat|crunch|icepunch|meteormash": 0.699, - "closecombat|crunch|icepunch|swordsdance": 4.895, - "closecombat|crunch|meteormash|swordsdance": 11.888, - "closecombat|darkpulse|extremespeed|flashcannon": 0.699, - "closecombat|darkpulse|extremespeed|icepunch": 1.399, - "closecombat|darkpulse|extremespeed|meteormash": 2.098, - "closecombat|darkpulse|icepunch|meteormash": 1.399, - "closecombat|extremespeed|flashcannon|icepunch": 0.699, - "closecombat|extremespeed|icepunch|meteormash": 0.699, - "closecombat|extremespeed|icepunch|swordsdance": 3.497, - "closecombat|extremespeed|meteormash|swordsdance": 11.189, - "closecombat|flashcannon|nastyplot|vacuumwave": 0.699, - "closecombat|icepunch|meteormash|swordsdance": 11.189, - "crunch|icepunch|meteormash|vacuumwave": 0.699, - "darkpulse|flashcannon|icepunch|vacuumwave": 0.699, - "darkpulse|flashcannon|nastyplot|vacuumwave": 4.895, - "darkpulse|icepunch|meteormash|vacuumwave": 2.098 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lucariomega": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 410, - "items": [ - [ - "lucarionite", - 100.0 - ] - ], - "moves": [ - [ - "darkpulse", - 29.268 - ], - [ - "nastyplot", - 20.732 - ], - [ - "flashcannon", - 30.732 - ], - [ - "aurasphere", - 30.488 - ], - [ - "meteormash", - 50.732 - ], - [ - "closecombat", - 69.512 - ], - [ - "crunch", - 32.683 - ], - [ - "swordsdance", - 54.39 - ], - [ - "bulletpunch", - 53.415 - ], - [ - "icepunch", - 28.049 - ] - ], - "sets": { - "aurasphere|bulletpunch|crunch|flashcannon": 0.488, - "aurasphere|bulletpunch|crunch|icepunch": 0.732, - "aurasphere|bulletpunch|crunch|meteormash": 1.22, - "aurasphere|bulletpunch|darkpulse|flashcannon": 0.976, - "aurasphere|bulletpunch|darkpulse|icepunch": 0.244, - "aurasphere|bulletpunch|darkpulse|meteormash": 1.707, - "aurasphere|bulletpunch|flashcannon|icepunch": 0.488, - "aurasphere|bulletpunch|icepunch|meteormash": 1.22, - "aurasphere|crunch|flashcannon|icepunch": 1.22, - "aurasphere|crunch|icepunch|meteormash": 0.488, - "aurasphere|darkpulse|flashcannon|icepunch": 0.732, - "aurasphere|darkpulse|flashcannon|nastyplot": 20.732, - "aurasphere|darkpulse|icepunch|meteormash": 0.244, - "bulletpunch|closecombat|crunch|flashcannon": 2.195, - "bulletpunch|closecombat|crunch|icepunch": 0.488, - "bulletpunch|closecombat|crunch|meteormash": 2.683, - "bulletpunch|closecombat|crunch|swordsdance": 7.317, - "bulletpunch|closecombat|darkpulse|flashcannon": 1.22, - "bulletpunch|closecombat|darkpulse|icepunch": 1.22, - "bulletpunch|closecombat|darkpulse|meteormash": 0.732, - "bulletpunch|closecombat|flashcannon|icepunch": 0.732, - "bulletpunch|closecombat|icepunch|meteormash": 0.488, - "bulletpunch|closecombat|icepunch|swordsdance": 5.61, - "bulletpunch|closecombat|meteormash|swordsdance": 23.659, - "closecombat|crunch|flashcannon|icepunch": 1.22, - "closecombat|crunch|icepunch|meteormash": 2.683, - "closecombat|crunch|icepunch|swordsdance": 2.927, - "closecombat|crunch|meteormash|swordsdance": 9.024, - "closecombat|darkpulse|flashcannon|icepunch": 0.732, - "closecombat|darkpulse|icepunch|meteormash": 0.732, - "closecombat|icepunch|meteormash|swordsdance": 5.854 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ludicolo": { - "abilities": [ - [ - "owntempo", - 32.083 - ], - [ - "swiftswim", - 67.917 - ] - ], - "count": 533, - "items": [ - [ - "choicespecs", - 34.146 - ], - [ - "lifeorb", - 65.854 - ] - ], - "moves": [ - [ - "icebeam", - 61.351 - ], - [ - "hydropump", - 45.216 - ], - [ - "scald", - 73.171 - ], - [ - "gigadrain", - 100.0 - ], - [ - "raindance", - 65.854 - ], - [ - "focusblast", - 54.409 - ] - ], - "sets": { - "focusblast|gigadrain|hydropump|icebeam": 8.255, - "focusblast|gigadrain|hydropump|raindance": 8.255, - "focusblast|gigadrain|hydropump|scald": 7.88, - "focusblast|gigadrain|icebeam|scald": 7.505, - "focusblast|gigadrain|raindance|scald": 22.514, - "gigadrain|hydropump|icebeam|raindance": 10.319, - "gigadrain|hydropump|icebeam|scald": 10.507, - "gigadrain|icebeam|raindance|scald": 24.765 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lugia": { - "abilities": [ - [ - "multiscale", - 100.0 - ] - ], - "count": 561, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "substitute", - 50.624 - ], - [ - "whirlwind", - 46.346 - ], - [ - "roost", - 100.0 - ], - [ - "toxic", - 59.002 - ], - [ - "dragontail", - 44.029 - ] - ], - "sets": { - "dragontail|psychic|roost|substitute": 18.895, - "dragontail|psychic|roost|toxic": 19.964, - "dragontail|psychic|roost|whirlwind": 5.169, - "psychic|roost|substitute|toxic": 14.795, - "psychic|roost|substitute|whirlwind": 16.934, - "psychic|roost|toxic|whirlwind": 24.242 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lumineon": { - "abilities": [ - [ - "stormdrain", - 98.889 - ], - [ - "swiftswim", - 1.111 - ] - ], - "count": 180, - "items": [ - [ - "focussash", - 38.333 - ], - [ - "leftovers", - 61.667 - ] - ], - "moves": [ - [ - "icebeam", - 79.444 - ], - [ - "uturn", - 71.111 - ], - [ - "scald", - 100.0 - ], - [ - "toxic", - 75.556 - ], - [ - "defog", - 73.889 - ] - ], - "sets": { - "defog|icebeam|scald|toxic": 28.889, - "defog|icebeam|scald|uturn": 24.444, - "defog|scald|toxic|uturn": 20.556, - "icebeam|scald|toxic|uturn": 26.111 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lunala": { - "abilities": [ - [ - "shadowshield", - 100.0 - ] - ], - "count": 692, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 83.092 - ], - [ - "psyshock", - 77.168 - ], - [ - "calmmind", - 79.335 - ], - [ - "moongeistbeam", - 100.0 - ], - [ - "focusblast", - 60.405 - ] - ], - "sets": { - "calmmind|focusblast|moongeistbeam|psyshock": 16.908, - "calmmind|focusblast|moongeistbeam|roost": 22.832, - "calmmind|moongeistbeam|psyshock|roost": 39.595, - "focusblast|moongeistbeam|psyshock|roost": 20.665 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lunatone": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "leftovers", - 68.617 - ], - [ - "lifeorb", - 18.617 - ], - [ - "focussash", - 12.766 - ] - ], - "moves": [ - [ - "calmmind", - 63.83 - ], - [ - "moonlight", - 63.298 - ], - [ - "earthpower", - 28.191 - ], - [ - "powergem", - 100.0 - ], - [ - "stealthrock", - 13.298 - ], - [ - "icebeam", - 31.383 - ], - [ - "psychic", - 64.894 - ], - [ - "rockpolish", - 20.745 - ], - [ - "toxic", - 14.362 - ] - ], - "sets": { - "calmmind|earthpower|icebeam|powergem": 1.596, - "calmmind|earthpower|moonlight|powergem": 3.191, - "calmmind|earthpower|powergem|psychic": 6.383, - "calmmind|earthpower|powergem|rockpolish": 2.66, - "calmmind|icebeam|moonlight|powergem": 5.851, - "calmmind|icebeam|powergem|psychic": 3.723, - "calmmind|icebeam|powergem|rockpolish": 3.723, - "calmmind|moonlight|powergem|psychic": 34.574, - "calmmind|powergem|psychic|rockpolish": 2.128, - "earthpower|icebeam|moonlight|powergem": 0.532, - "earthpower|icebeam|powergem|rockpolish": 1.064, - "earthpower|icebeam|powergem|stealthrock": 0.532, - "earthpower|icebeam|powergem|toxic": 0.532, - "earthpower|moonlight|powergem|psychic": 2.128, - "earthpower|moonlight|powergem|rockpolish": 1.064, - "earthpower|moonlight|powergem|stealthrock": 1.064, - "earthpower|moonlight|powergem|toxic": 1.596, - "earthpower|powergem|psychic|rockpolish": 0.532, - "earthpower|powergem|psychic|stealthrock": 1.064, - "earthpower|powergem|psychic|toxic": 1.064, - "earthpower|powergem|rockpolish|toxic": 2.66, - "earthpower|powergem|stealthrock|toxic": 0.532, - "icebeam|moonlight|powergem|psychic": 2.128, - "icebeam|moonlight|powergem|rockpolish": 1.596, - "icebeam|moonlight|powergem|stealthrock": 3.191, - "icebeam|moonlight|powergem|toxic": 1.064, - "icebeam|powergem|psychic|rockpolish": 2.66, - "icebeam|powergem|psychic|stealthrock": 1.064, - "icebeam|powergem|psychic|toxic": 0.532, - "icebeam|powergem|stealthrock|toxic": 1.596, - "moonlight|powergem|psychic|rockpolish": 1.064, - "moonlight|powergem|psychic|stealthrock": 2.128, - "moonlight|powergem|psychic|toxic": 1.064, - "moonlight|powergem|stealthrock|toxic": 1.064, - "powergem|psychic|rockpolish|toxic": 1.596, - "powergem|psychic|stealthrock|toxic": 1.064 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lurantis": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 505, - "items": [ - [ - "assaultvest", - 20.792 - ], - [ - "lifeorb", - 79.208 - ] - ], - "moves": [ - [ - "knockoff", - 68.119 - ], - [ - "superpower", - 79.604 - ], - [ - "hiddenpowerice", - 73.069 - ], - [ - "leafstorm", - 100.0 - ], - [ - "synthesis", - 79.208 - ] - ], - "sets": { - "hiddenpowerice|knockoff|leafstorm|superpower": 20.792, - "hiddenpowerice|knockoff|leafstorm|synthesis": 20.396, - "hiddenpowerice|leafstorm|superpower|synthesis": 31.881, - "knockoff|leafstorm|superpower|synthesis": 26.931 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "luvdisc": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "leftovers", - 88.5 - ], - [ - "focussash", - 11.5 - ] - ], - "moves": [ - [ - "toxic", - 75.5 - ], - [ - "protect", - 69.5 - ], - [ - "scald", - 100.0 - ], - [ - "sweetkiss", - 75.0 - ], - [ - "icebeam", - 80.0 - ] - ], - "sets": { - "icebeam|protect|scald|sweetkiss": 24.5, - "icebeam|protect|scald|toxic": 25.0, - "icebeam|scald|sweetkiss|toxic": 30.5, - "protect|scald|sweetkiss|toxic": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "luxray": { - "abilities": [ - [ - "intimidate", - 34.146 - ], - [ - "guts", - 65.854 - ] - ], - "count": 205, - "items": [ - [ - "assaultvest", - 26.829 - ], - [ - "flameorb", - 65.854 - ], - [ - "choicescarf", - 5.366 - ], - [ - "choiceband", - 1.951 - ] - ], - "moves": [ - [ - "superpower", - 66.829 - ], - [ - "crunch", - 65.854 - ], - [ - "voltswitch", - 67.317 - ], - [ - "wildcharge", - 69.756 - ], - [ - "facade", - 65.854 - ], - [ - "icefang", - 64.39 - ] - ], - "sets": { - "crunch|facade|icefang|voltswitch": 6.341, - "crunch|facade|icefang|wildcharge": 8.293, - "crunch|facade|superpower|voltswitch": 9.268, - "crunch|facade|superpower|wildcharge": 7.317, - "crunch|facade|voltswitch|wildcharge": 5.366, - "crunch|icefang|superpower|voltswitch": 10.244, - "crunch|icefang|superpower|wildcharge": 7.317, - "crunch|icefang|voltswitch|wildcharge": 6.829, - "crunch|superpower|voltswitch|wildcharge": 4.878, - "facade|icefang|superpower|voltswitch": 4.39, - "facade|icefang|superpower|wildcharge": 9.756, - "facade|icefang|voltswitch|wildcharge": 6.341, - "facade|superpower|voltswitch|wildcharge": 8.78, - "icefang|superpower|voltswitch|wildcharge": 4.878 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanroc": { - "abilities": [ - [ - "sandrush", - 5.233 - ], - [ - "steadfast", - 94.767 - ] - ], - "count": 172, - "items": [ - [ - "lifeorb", - 27.326 - ], - [ - "lycaniumz", - 47.674 - ], - [ - "choiceband", - 22.093 - ], - [ - "focussash", - 2.907 - ] - ], - "moves": [ - [ - "accelerock", - 79.651 - ], - [ - "firefang", - 81.395 - ], - [ - "swordsdance", - 77.907 - ], - [ - "drillrun", - 84.884 - ], - [ - "stoneedge", - 76.163 - ] - ], - "sets": { - "accelerock|drillrun|firefang|stoneedge": 22.093, - "accelerock|drillrun|firefang|swordsdance": 23.837, - "accelerock|drillrun|stoneedge|swordsdance": 18.605, - "accelerock|firefang|stoneedge|swordsdance": 15.116, - "drillrun|firefang|stoneedge|swordsdance": 20.349 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanrocdusk": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 157, - "items": [ - [ - "focussash", - 4.459 - ], - [ - "lifeorb", - 58.599 - ], - [ - "choiceband", - 36.943 - ] - ], - "moves": [ - [ - "stoneedge", - 68.153 - ], - [ - "firefang", - 64.968 - ], - [ - "return102", - 72.611 - ], - [ - "swordsdance", - 63.057 - ], - [ - "drillrun", - 59.236 - ], - [ - "accelerock", - 71.975 - ] - ], - "sets": { - "accelerock|drillrun|firefang|return102": 7.643, - "accelerock|drillrun|firefang|stoneedge": 5.732, - "accelerock|drillrun|firefang|swordsdance": 8.28, - "accelerock|drillrun|return102|stoneedge": 8.28, - "accelerock|drillrun|return102|swordsdance": 8.917, - "accelerock|drillrun|stoneedge|swordsdance": 2.548, - "accelerock|firefang|return102|stoneedge": 9.554, - "accelerock|firefang|return102|swordsdance": 7.006, - "accelerock|firefang|stoneedge|swordsdance": 7.643, - "accelerock|return102|stoneedge|swordsdance": 6.369, - "drillrun|firefang|return102|stoneedge": 5.732, - "drillrun|firefang|stoneedge|swordsdance": 3.185, - "drillrun|return102|stoneedge|swordsdance": 8.917, - "firefang|return102|stoneedge|swordsdance": 10.191 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanrocmidnight": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 71, - "items": [ - [ - "lifeorb", - 64.789 - ], - [ - "focussash", - 35.211 - ] - ], - "moves": [ - [ - "suckerpunch", - 100.0 - ], - [ - "firepunch", - 100.0 - ], - [ - "swordsdance", - 85.915 - ], - [ - "stoneedge", - 100.0 - ], - [ - "stealthrock", - 14.085 - ] - ], - "sets": { - "firepunch|stealthrock|stoneedge|suckerpunch": 14.085, - "firepunch|stoneedge|suckerpunch|swordsdance": 85.915 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "machamp": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 453, - "items": [ - [ - "leftovers", - 60.044 - ], - [ - "choiceband", - 39.956 - ] - ], - "moves": [ - [ - "bulletpunch", - 65.121 - ], - [ - "substitute", - 60.044 - ], - [ - "icepunch", - 60.927 - ], - [ - "dynamicpunch", - 100.0 - ], - [ - "knockoff", - 57.616 - ], - [ - "stoneedge", - 56.291 - ] - ], - "sets": { - "bulletpunch|dynamicpunch|icepunch|knockoff": 11.921, - "bulletpunch|dynamicpunch|icepunch|stoneedge": 8.609, - "bulletpunch|dynamicpunch|icepunch|substitute": 11.921, - "bulletpunch|dynamicpunch|knockoff|stoneedge": 11.038, - "bulletpunch|dynamicpunch|knockoff|substitute": 11.7, - "bulletpunch|dynamicpunch|stoneedge|substitute": 9.934, - "dynamicpunch|icepunch|knockoff|stoneedge": 8.389, - "dynamicpunch|icepunch|knockoff|substitute": 8.168, - "dynamicpunch|icepunch|stoneedge|substitute": 11.921, - "dynamicpunch|knockoff|stoneedge|substitute": 6.402 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magcargo": { - "abilities": [ - [ - "flamebody", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "whiteherb", - 49.239 - ], - [ - "airballoon", - 48.731 - ], - [ - "choicespecs", - 1.523 - ], - [ - "None", - 0.508 - ] - ], - "moves": [ - [ - "shellsmash", - 49.746 - ], - [ - "hiddenpowergrass", - 42.64 - ], - [ - "fireblast", - 43.147 - ], - [ - "recover", - 59.898 - ], - [ - "stealthrock", - 24.365 - ], - [ - "earthpower", - 34.518 - ], - [ - "lavaplume", - 56.853 - ], - [ - "ancientpower", - 61.929 - ], - [ - "toxic", - 26.904 - ] - ], - "sets": { - "ancientpower|earthpower|fireblast|hiddenpowergrass": 0.508, - "ancientpower|earthpower|fireblast|shellsmash": 3.553, - "ancientpower|earthpower|fireblast|toxic": 2.03, - "ancientpower|earthpower|hiddenpowergrass|lavaplume": 1.015, - "ancientpower|earthpower|lavaplume|recover": 2.538, - "ancientpower|earthpower|lavaplume|shellsmash": 1.523, - "ancientpower|earthpower|lavaplume|stealthrock": 1.523, - "ancientpower|earthpower|lavaplume|toxic": 1.015, - "ancientpower|fireblast|hiddenpowergrass|recover": 1.015, - "ancientpower|fireblast|hiddenpowergrass|shellsmash": 2.03, - "ancientpower|fireblast|hiddenpowergrass|stealthrock": 1.015, - "ancientpower|fireblast|hiddenpowergrass|toxic": 1.015, - "ancientpower|fireblast|recover|shellsmash": 12.183, - "ancientpower|fireblast|recover|stealthrock": 1.523, - "ancientpower|fireblast|recover|toxic": 1.523, - "ancientpower|fireblast|stealthrock|toxic": 0.508, - "ancientpower|hiddenpowergrass|lavaplume|recover": 2.538, - "ancientpower|hiddenpowergrass|lavaplume|shellsmash": 3.553, - "ancientpower|hiddenpowergrass|lavaplume|stealthrock": 2.03, - "ancientpower|hiddenpowergrass|lavaplume|toxic": 2.03, - "ancientpower|lavaplume|recover|shellsmash": 8.122, - "ancientpower|lavaplume|recover|stealthrock": 2.538, - "ancientpower|lavaplume|recover|toxic": 4.061, - "ancientpower|lavaplume|stealthrock|toxic": 2.538, - "earthpower|fireblast|hiddenpowergrass|recover": 0.508, - "earthpower|fireblast|hiddenpowergrass|shellsmash": 5.584, - "earthpower|fireblast|hiddenpowergrass|stealthrock": 0.508, - "earthpower|fireblast|hiddenpowergrass|toxic": 0.508, - "earthpower|fireblast|recover|shellsmash": 1.015, - "earthpower|fireblast|recover|stealthrock": 1.015, - "earthpower|fireblast|stealthrock|toxic": 0.508, - "earthpower|hiddenpowergrass|lavaplume|recover": 1.523, - "earthpower|hiddenpowergrass|lavaplume|shellsmash": 1.523, - "earthpower|hiddenpowergrass|lavaplume|stealthrock": 0.508, - "earthpower|hiddenpowergrass|lavaplume|toxic": 1.015, - "earthpower|lavaplume|recover|shellsmash": 3.046, - "earthpower|lavaplume|recover|stealthrock": 1.015, - "earthpower|lavaplume|recover|toxic": 0.508, - "earthpower|lavaplume|stealthrock|toxic": 2.03, - "fireblast|hiddenpowergrass|recover|shellsmash": 3.046, - "fireblast|hiddenpowergrass|recover|stealthrock": 0.508, - "fireblast|hiddenpowergrass|recover|toxic": 0.508, - "fireblast|hiddenpowergrass|stealthrock|toxic": 1.523, - "fireblast|recover|stealthrock|toxic": 1.015, - "hiddenpowergrass|lavaplume|recover|shellsmash": 4.569, - "hiddenpowergrass|lavaplume|recover|stealthrock": 1.523, - "hiddenpowergrass|lavaplume|recover|toxic": 2.03, - "hiddenpowergrass|lavaplume|stealthrock|toxic": 0.508, - "lavaplume|recover|stealthrock|toxic": 2.03 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magearna": { - "abilities": [ - [ - "soulheart", - 100.0 - ] - ], - "count": 570, - "items": [ - [ - "leftovers", - 38.596 - ], - [ - "fairiumz", - 50.351 - ], - [ - "choicespecs", - 1.579 - ], - [ - "choicescarf", - 1.93 - ], - [ - "weaknesspolicy", - 2.105 - ], - [ - "assaultvest", - 5.439 - ] - ], - "moves": [ - [ - "calmmind", - 66.316 - ], - [ - "thunderbolt", - 60.175 - ], - [ - "flashcannon", - 48.772 - ], - [ - "focusblast", - 57.368 - ], - [ - "shiftgear", - 55.439 - ], - [ - "fleurcannon", - 92.105 - ], - [ - "ironhead", - 19.825 - ] - ], - "sets": { - "calmmind|flashcannon|fleurcannon|focusblast": 8.947, - "calmmind|flashcannon|fleurcannon|shiftgear": 11.228, - "calmmind|flashcannon|fleurcannon|thunderbolt": 10.877, - "calmmind|flashcannon|focusblast|thunderbolt": 7.895, - "calmmind|fleurcannon|focusblast|shiftgear": 9.825, - "calmmind|fleurcannon|focusblast|thunderbolt": 7.895, - "calmmind|fleurcannon|shiftgear|thunderbolt": 9.649, - "flashcannon|fleurcannon|focusblast|shiftgear": 2.456, - "flashcannon|fleurcannon|focusblast|thunderbolt": 3.509, - "flashcannon|fleurcannon|shiftgear|thunderbolt": 3.86, - "fleurcannon|focusblast|ironhead|shiftgear": 7.368, - "fleurcannon|focusblast|ironhead|thunderbolt": 5.439, - "fleurcannon|focusblast|shiftgear|thunderbolt": 4.035, - "fleurcannon|ironhead|shiftgear|thunderbolt": 7.018 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magmortar": { - "abilities": [ - [ - "vitalspirit", - 81.391 - ], - [ - "flamebody", - 18.609 - ] - ], - "count": 489, - "items": [ - [ - "leftovers", - 53.579 - ], - [ - "assaultvest", - 35.583 - ], - [ - "choicespecs", - 3.476 - ], - [ - "choicescarf", - 7.362 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 36.81 - ], - [ - "substitute", - 53.579 - ], - [ - "fireblast", - 100.0 - ], - [ - "earthquake", - 61.145 - ], - [ - "hiddenpowergrass", - 35.992 - ], - [ - "focusblast", - 54.806 - ], - [ - "thunderbolt", - 57.669 - ] - ], - "sets": { - "earthquake|fireblast|focusblast|hiddenpowergrass": 6.953, - "earthquake|fireblast|focusblast|hiddenpowerice": 7.362, - "earthquake|fireblast|focusblast|substitute": 6.339, - "earthquake|fireblast|focusblast|thunderbolt": 6.748, - "earthquake|fireblast|hiddenpowergrass|substitute": 5.93, - "earthquake|fireblast|hiddenpowergrass|thunderbolt": 6.135, - "earthquake|fireblast|hiddenpowerice|substitute": 5.112, - "earthquake|fireblast|hiddenpowerice|thunderbolt": 8.384, - "earthquake|fireblast|substitute|thunderbolt": 8.18, - "fireblast|focusblast|hiddenpowergrass|substitute": 5.521, - "fireblast|focusblast|hiddenpowergrass|thunderbolt": 5.726, - "fireblast|focusblast|hiddenpowerice|substitute": 5.112, - "fireblast|focusblast|hiddenpowerice|thunderbolt": 5.112, - "fireblast|focusblast|substitute|thunderbolt": 5.93, - "fireblast|hiddenpowergrass|substitute|thunderbolt": 5.726, - "fireblast|hiddenpowerice|substitute|thunderbolt": 5.726 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magnezone": { - "abilities": [ - [ - "magnetpull", - 100.0 - ] - ], - "count": 598, - "items": [ - [ - "choicescarf", - 52.341 - ], - [ - "choicespecs", - 25.084 - ], - [ - "leftovers", - 22.575 - ] - ], - "moves": [ - [ - "voltswitch", - 77.425 - ], - [ - "flashcannon", - 100.0 - ], - [ - "hiddenpowerice", - 50.334 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerfire", - 49.666 - ], - [ - "substitute", - 22.575 - ] - ], - "sets": { - "flashcannon|hiddenpowerfire|substitute|thunderbolt": 10.702, - "flashcannon|hiddenpowerfire|thunderbolt|voltswitch": 38.963, - "flashcannon|hiddenpowerice|substitute|thunderbolt": 11.873, - "flashcannon|hiddenpowerice|thunderbolt|voltswitch": 38.462 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "malamar": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 473, - "items": [ - [ - "chestoberry", - 9.091 - ], - [ - "normaliumz", - 45.032 - ], - [ - "leftovers", - 45.877 - ] - ], - "moves": [ - [ - "superpower", - 100.0 - ], - [ - "psychocut", - 54.123 - ], - [ - "knockoff", - 100.0 - ], - [ - "rest", - 54.968 - ], - [ - "happyhour", - 45.032 - ], - [ - "sleeptalk", - 45.877 - ] - ], - "sets": { - "happyhour|knockoff|psychocut|superpower": 45.032, - "knockoff|psychocut|rest|superpower": 9.091, - "knockoff|rest|sleeptalk|superpower": 45.877 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mamoswine": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 569, - "items": [ - [ - "lifeorb", - 32.162 - ], - [ - "choiceband", - 55.536 - ], - [ - "focussash", - 8.084 - ], - [ - "choicescarf", - 4.218 - ] - ], - "moves": [ - [ - "stealthrock", - 36.028 - ], - [ - "iceshard", - 80.316 - ], - [ - "earthquake", - 100.0 - ], - [ - "superpower", - 50.264 - ], - [ - "iciclecrash", - 79.965 - ], - [ - "knockoff", - 48.858 - ], - [ - "endeavor", - 4.569 - ] - ], - "sets": { - "earthquake|endeavor|iceshard|iciclecrash": 1.406, - "earthquake|endeavor|iceshard|knockoff": 0.351, - "earthquake|endeavor|iceshard|superpower": 0.703, - "earthquake|endeavor|iciclecrash|knockoff": 0.703, - "earthquake|endeavor|iciclecrash|stealthrock": 0.351, - "earthquake|endeavor|iciclecrash|superpower": 1.054, - "earthquake|iceshard|iciclecrash|knockoff": 22.496, - "earthquake|iceshard|iciclecrash|stealthrock": 15.466, - "earthquake|iceshard|iciclecrash|superpower": 20.914, - "earthquake|iceshard|knockoff|stealthrock": 4.042, - "earthquake|iceshard|knockoff|superpower": 9.315, - "earthquake|iceshard|stealthrock|superpower": 5.624, - "earthquake|iciclecrash|knockoff|stealthrock": 4.921, - "earthquake|iciclecrash|knockoff|superpower": 7.03, - "earthquake|iciclecrash|stealthrock|superpower": 5.624 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "manaphy": { - "abilities": [ - [ - "hydration", - 100.0 - ] - ], - "count": 635, - "items": [ - [ - "leftovers", - 78.74 - ], - [ - "choicespecs", - 6.614 - ], - [ - "choicescarf", - 14.646 - ] - ], - "moves": [ - [ - "tailglow", - 78.74 - ], - [ - "icebeam", - 72.283 - ], - [ - "psychic", - 75.118 - ], - [ - "surf", - 100.0 - ], - [ - "energyball", - 73.858 - ] - ], - "sets": { - "energyball|icebeam|psychic|surf": 21.26, - "energyball|icebeam|surf|tailglow": 24.882, - "energyball|psychic|surf|tailglow": 27.717, - "icebeam|psychic|surf|tailglow": 26.142 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mandibuzz": { - "abilities": [ - [ - "overcoat", - 100.0 - ] - ], - "count": 486, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 68.519 - ], - [ - "bravebird", - 78.189 - ], - [ - "taunt", - 36.831 - ], - [ - "foulplay", - 100.0 - ], - [ - "uturn", - 53.086 - ], - [ - "defog", - 29.012 - ], - [ - "toxic", - 34.362 - ] - ], - "sets": { - "bravebird|defog|foulplay|roost": 11.934, - "bravebird|defog|foulplay|taunt": 2.881, - "bravebird|defog|foulplay|toxic": 1.646, - "bravebird|defog|foulplay|uturn": 2.881, - "bravebird|foulplay|roost|taunt": 12.757, - "bravebird|foulplay|roost|toxic": 12.346, - "bravebird|foulplay|roost|uturn": 19.753, - "bravebird|foulplay|taunt|toxic": 5.35, - "bravebird|foulplay|taunt|uturn": 4.938, - "bravebird|foulplay|toxic|uturn": 3.704, - "defog|foulplay|roost|uturn": 4.321, - "defog|foulplay|taunt|uturn": 3.292, - "defog|foulplay|toxic|uturn": 2.058, - "foulplay|roost|taunt|uturn": 2.881, - "foulplay|roost|toxic|uturn": 4.527, - "foulplay|taunt|toxic|uturn": 4.733 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "manectric": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 93, - "items": [ - [ - "choicespecs", - 36.559 - ], - [ - "choicescarf", - 63.441 - ] - ], - "moves": [ - [ - "hiddenpowergrass", - 46.237 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "overheat", - 77.419 - ], - [ - "voltswitch", - 100.0 - ], - [ - "hiddenpowerice", - 53.763 - ], - [ - "flamethrower", - 22.581 - ] - ], - "sets": { - "flamethrower|hiddenpowergrass|thunderbolt|voltswitch": 10.753, - "flamethrower|hiddenpowerice|thunderbolt|voltswitch": 11.828, - "hiddenpowergrass|overheat|thunderbolt|voltswitch": 35.484, - "hiddenpowerice|overheat|thunderbolt|voltswitch": 41.935 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "manectricmega": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 397, - "items": [ - [ - "manectite", - 100.0 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerice", - 48.363 - ], - [ - "overheat", - 100.0 - ], - [ - "voltswitch", - 100.0 - ], - [ - "hiddenpowergrass", - 51.637 - ] - ], - "sets": { - "hiddenpowergrass|overheat|thunderbolt|voltswitch": 51.637, - "hiddenpowerice|overheat|thunderbolt|voltswitch": 48.363 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mantine": { - "abilities": [ - [ - "waterabsorb", - 98.344 - ], - [ - "swiftswim", - 1.656 - ] - ], - "count": 483, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "defog", - 59.213 - ], - [ - "scald", - 100.0 - ], - [ - "toxic", - 77.019 - ], - [ - "airslash", - 81.159 - ], - [ - "roost", - 82.609 - ] - ], - "sets": { - "airslash|defog|roost|scald": 22.981, - "airslash|defog|scald|toxic": 17.391, - "airslash|roost|scald|toxic": 40.787, - "defog|roost|scald|toxic": 18.841 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "maractus": { - "abilities": [ - [ - "waterabsorb", - 67.914 - ], - [ - "stormdrain", - 32.086 - ] - ], - "count": 187, - "items": [ - [ - "focussash", - 37.968 - ], - [ - "leftovers", - 50.267 - ], - [ - "lifeorb", - 11.765 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 46.524 - ], - [ - "gigadrain", - 100.0 - ], - [ - "spikes", - 45.989 - ], - [ - "suckerpunch", - 54.011 - ], - [ - "spikyshield", - 47.594 - ], - [ - "leechseed", - 55.615 - ], - [ - "toxic", - 50.267 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|leechseed|spikes": 6.952, - "gigadrain|hiddenpowerfire|leechseed|spikyshield": 3.743, - "gigadrain|hiddenpowerfire|leechseed|suckerpunch": 7.487, - "gigadrain|hiddenpowerfire|leechseed|toxic": 5.882, - "gigadrain|hiddenpowerfire|spikes|spikyshield": 5.882, - "gigadrain|hiddenpowerfire|spikes|suckerpunch": 3.209, - "gigadrain|hiddenpowerfire|spikes|toxic": 2.674, - "gigadrain|hiddenpowerfire|spikyshield|suckerpunch": 2.674, - "gigadrain|hiddenpowerfire|spikyshield|toxic": 3.743, - "gigadrain|hiddenpowerfire|suckerpunch|toxic": 4.278, - "gigadrain|leechseed|spikes|spikyshield": 4.278, - "gigadrain|leechseed|spikes|suckerpunch": 5.348, - "gigadrain|leechseed|spikes|toxic": 2.674, - "gigadrain|leechseed|spikyshield|suckerpunch": 5.348, - "gigadrain|leechseed|spikyshield|toxic": 6.417, - "gigadrain|leechseed|suckerpunch|toxic": 7.487, - "gigadrain|spikes|spikyshield|suckerpunch": 4.813, - "gigadrain|spikes|spikyshield|toxic": 3.743, - "gigadrain|spikes|suckerpunch|toxic": 6.417, - "gigadrain|spikyshield|suckerpunch|toxic": 6.952 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marowak": { - "abilities": [ - [ - "rockhead", - 66.316 - ], - [ - "battlearmor", - 33.684 - ] - ], - "count": 95, - "items": [ - [ - "thickclub", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 54.737 - ], - [ - "stealthrock", - 53.684 - ], - [ - "bonemerang", - 38.947 - ], - [ - "doubleedge", - 66.316 - ], - [ - "substitute", - 63.158 - ], - [ - "stoneedge", - 62.105 - ], - [ - "earthquake", - 61.053 - ] - ], - "sets": { - "bonemerang|doubleedge|knockoff|stealthrock": 3.158, - "bonemerang|doubleedge|knockoff|stoneedge": 5.263, - "bonemerang|doubleedge|knockoff|substitute": 2.105, - "bonemerang|doubleedge|stealthrock|stoneedge": 3.158, - "bonemerang|doubleedge|stealthrock|substitute": 6.316, - "bonemerang|doubleedge|stoneedge|substitute": 3.158, - "bonemerang|knockoff|stealthrock|stoneedge": 3.158, - "bonemerang|knockoff|stealthrock|substitute": 6.316, - "bonemerang|knockoff|stoneedge|substitute": 1.053, - "bonemerang|stealthrock|stoneedge|substitute": 5.263, - "doubleedge|earthquake|knockoff|stealthrock": 2.105, - "doubleedge|earthquake|knockoff|stoneedge": 8.421, - "doubleedge|earthquake|knockoff|substitute": 9.474, - "doubleedge|earthquake|stealthrock|stoneedge": 6.316, - "doubleedge|earthquake|stealthrock|substitute": 6.316, - "doubleedge|earthquake|stoneedge|substitute": 10.526, - "earthquake|knockoff|stealthrock|stoneedge": 5.263, - "earthquake|knockoff|stealthrock|substitute": 2.105, - "earthquake|knockoff|stoneedge|substitute": 6.316, - "earthquake|stealthrock|stoneedge|substitute": 4.211 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marowakalola": { - "abilities": [ - [ - "rockhead", - 58.113 - ], - [ - "lightningrod", - 41.887 - ] - ], - "count": 265, - "items": [ - [ - "thickclub", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 38.113 - ], - [ - "willowisp", - 43.019 - ], - [ - "shadowbone", - 100.0 - ], - [ - "flareblitz", - 75.849 - ], - [ - "flamecharge", - 58.868 - ], - [ - "stoneedge", - 41.132 - ], - [ - "bonemerang", - 43.019 - ] - ], - "sets": { - "bonemerang|flamecharge|flareblitz|shadowbone": 8.679, - "bonemerang|flamecharge|shadowbone|stoneedge": 6.792, - "bonemerang|flamecharge|shadowbone|substitute": 3.774, - "bonemerang|flamecharge|shadowbone|willowisp": 4.151, - "bonemerang|flareblitz|shadowbone|stoneedge": 6.038, - "bonemerang|flareblitz|shadowbone|substitute": 6.792, - "bonemerang|flareblitz|shadowbone|willowisp": 6.792, - "flamecharge|flareblitz|shadowbone|stoneedge": 9.434, - "flamecharge|flareblitz|shadowbone|substitute": 6.415, - "flamecharge|flareblitz|shadowbone|willowisp": 10.189, - "flamecharge|shadowbone|stoneedge|substitute": 4.528, - "flamecharge|shadowbone|stoneedge|willowisp": 4.906, - "flareblitz|shadowbone|stoneedge|substitute": 4.528, - "flareblitz|shadowbone|stoneedge|willowisp": 4.906, - "flareblitz|shadowbone|substitute|willowisp": 12.075 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marshadow": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 653, - "items": [ - [ - "marshadiumz", - 45.789 - ], - [ - "lifeorb", - 21.133 - ], - [ - "focussash", - 1.531 - ], - [ - "choiceband", - 31.547 - ] - ], - "moves": [ - [ - "rocktomb", - 39.816 - ], - [ - "bulkup", - 68.453 - ], - [ - "spectralthief", - 76.263 - ], - [ - "closecombat", - 100.0 - ], - [ - "shadowsneak", - 72.282 - ], - [ - "icepunch", - 43.185 - ] - ], - "sets": { - "bulkup|closecombat|icepunch|shadowsneak": 9.648, - "bulkup|closecombat|icepunch|spectralthief": 13.17, - "bulkup|closecombat|rocktomb|shadowsneak": 8.27, - "bulkup|closecombat|rocktomb|spectralthief": 8.882, - "bulkup|closecombat|shadowsneak|spectralthief": 28.484, - "closecombat|icepunch|rocktomb|shadowsneak": 5.819, - "closecombat|icepunch|rocktomb|spectralthief": 5.666, - "closecombat|icepunch|shadowsneak|spectralthief": 8.882, - "closecombat|rocktomb|shadowsneak|spectralthief": 11.179 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "masquerain": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 208, - "items": [ - [ - "focussash", - 35.096 - ], - [ - "leftovers", - 37.019 - ], - [ - "lifeorb", - 27.885 - ] - ], - "moves": [ - [ - "stickyweb", - 83.173 - ], - [ - "quiverdance", - 78.846 - ], - [ - "airslash", - 80.288 - ], - [ - "bugbuzz", - 79.327 - ], - [ - "hydropump", - 78.365 - ] - ], - "sets": { - "airslash|bugbuzz|hydropump|quiverdance": 16.827, - "airslash|bugbuzz|hydropump|stickyweb": 21.154, - "airslash|bugbuzz|quiverdance|stickyweb": 21.635, - "airslash|hydropump|quiverdance|stickyweb": 20.673, - "bugbuzz|hydropump|quiverdance|stickyweb": 19.712 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mawile": { - "abilities": [ - [ - "sheerforce", - 76.0 - ], - [ - "intimidate", - 24.0 - ] - ], - "count": 25, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "playrough", - 100.0 - ], - [ - "knockoff", - 64.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "swordsdance", - 72.0 - ], - [ - "suckerpunch", - 36.0 - ], - [ - "stealthrock", - 28.0 - ] - ], - "sets": { - "ironhead|knockoff|playrough|stealthrock": 16.0, - "ironhead|knockoff|playrough|swordsdance": 48.0, - "ironhead|playrough|stealthrock|suckerpunch": 12.0, - "ironhead|playrough|suckerpunch|swordsdance": 24.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mawilemega": { - "abilities": [ - [ - "hugepower", - 100.0 - ] - ], - "count": 153, - "items": [ - [ - "mawilite", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 64.706 - ], - [ - "ironhead", - 77.124 - ], - [ - "firefang", - 48.366 - ], - [ - "playrough", - 83.007 - ], - [ - "substitute", - 54.248 - ], - [ - "focuspunch", - 11.111 - ], - [ - "suckerpunch", - 16.993 - ], - [ - "knockoff", - 44.444 - ] - ], - "sets": { - "firefang|focuspunch|ironhead|substitute": 0.654, - "firefang|focuspunch|playrough|substitute": 0.654, - "firefang|ironhead|knockoff|playrough": 5.882, - "firefang|ironhead|knockoff|substitute": 2.614, - "firefang|ironhead|knockoff|swordsdance": 3.268, - "firefang|ironhead|playrough|substitute": 3.268, - "firefang|ironhead|playrough|suckerpunch": 3.922, - "firefang|ironhead|playrough|swordsdance": 11.111, - "firefang|ironhead|substitute|swordsdance": 4.575, - "firefang|knockoff|playrough|substitute": 1.307, - "firefang|knockoff|playrough|swordsdance": 5.229, - "firefang|playrough|substitute|swordsdance": 5.882, - "focuspunch|ironhead|knockoff|substitute": 0.654, - "focuspunch|ironhead|playrough|substitute": 1.961, - "focuspunch|ironhead|substitute|swordsdance": 2.614, - "focuspunch|knockoff|playrough|substitute": 3.268, - "focuspunch|playrough|substitute|swordsdance": 1.307, - "ironhead|knockoff|playrough|substitute": 7.19, - "ironhead|knockoff|playrough|swordsdance": 7.19, - "ironhead|knockoff|substitute|swordsdance": 2.614, - "ironhead|playrough|substitute|suckerpunch": 3.922, - "ironhead|playrough|substitute|swordsdance": 6.536, - "ironhead|playrough|suckerpunch|swordsdance": 9.15, - "knockoff|playrough|substitute|swordsdance": 5.229 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "medicham": { - "abilities": [ - [ - "purepower", - 100.0 - ] - ], - "count": 91, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "zenheadbutt", - 100.0 - ], - [ - "icepunch", - 100.0 - ], - [ - "highjumpkick", - 76.923 - ], - [ - "bulletpunch", - 100.0 - ], - [ - "drainpunch", - 23.077 - ] - ], - "sets": { - "bulletpunch|drainpunch|icepunch|zenheadbutt": 23.077, - "bulletpunch|highjumpkick|icepunch|zenheadbutt": 76.923 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "medichammega": { - "abilities": [ - [ - "purepower", - 100.0 - ] - ], - "count": 359, - "items": [ - [ - "medichamite", - 100.0 - ] - ], - "moves": [ - [ - "highjumpkick", - 100.0 - ], - [ - "thunderpunch", - 72.145 - ], - [ - "fakeout", - 71.866 - ], - [ - "zenheadbutt", - 83.565 - ], - [ - "icepunch", - 72.423 - ] - ], - "sets": { - "fakeout|highjumpkick|icepunch|thunderpunch": 16.435, - "fakeout|highjumpkick|icepunch|zenheadbutt": 27.855, - "fakeout|highjumpkick|thunderpunch|zenheadbutt": 27.577, - "highjumpkick|icepunch|thunderpunch|zenheadbutt": 28.134 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meganium": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 203, - "items": [ - [ - "leftovers", - 89.163 - ], - [ - "lightclay", - 10.837 - ] - ], - "moves": [ - [ - "dragontail", - 57.143 - ], - [ - "gigadrain", - 100.0 - ], - [ - "synthesis", - 41.379 - ], - [ - "aromatherapy", - 61.084 - ], - [ - "toxic", - 58.128 - ], - [ - "leechseed", - 33.498 - ], - [ - "lightscreen", - 35.961 - ], - [ - "reflect", - 12.808 - ] - ], - "sets": { - "aromatherapy|dragontail|gigadrain|leechseed": 3.941, - "aromatherapy|dragontail|gigadrain|lightscreen": 5.419, - "aromatherapy|dragontail|gigadrain|reflect": 0.493, - "aromatherapy|dragontail|gigadrain|synthesis": 9.852, - "aromatherapy|dragontail|gigadrain|toxic": 10.837, - "aromatherapy|gigadrain|leechseed|lightscreen": 4.926, - "aromatherapy|gigadrain|leechseed|toxic": 13.3, - "aromatherapy|gigadrain|lightscreen|reflect": 1.97, - "aromatherapy|gigadrain|lightscreen|synthesis": 1.97, - "aromatherapy|gigadrain|lightscreen|toxic": 0.985, - "aromatherapy|gigadrain|synthesis|toxic": 7.389, - "dragontail|gigadrain|leechseed|reflect": 0.985, - "dragontail|gigadrain|leechseed|synthesis": 0.493, - "dragontail|gigadrain|leechseed|toxic": 2.956, - "dragontail|gigadrain|lightscreen|reflect": 2.956, - "dragontail|gigadrain|lightscreen|synthesis": 3.448, - "dragontail|gigadrain|lightscreen|toxic": 1.97, - "dragontail|gigadrain|reflect|toxic": 0.493, - "dragontail|gigadrain|synthesis|toxic": 13.3, - "gigadrain|leechseed|lightscreen|reflect": 4.433, - "gigadrain|leechseed|lightscreen|toxic": 2.463, - "gigadrain|lightscreen|reflect|synthesis": 0.985, - "gigadrain|lightscreen|reflect|toxic": 0.493, - "gigadrain|lightscreen|synthesis|toxic": 3.941 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meloetta": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 746, - "items": [ - [ - "assaultvest", - 49.866 - ], - [ - "leftovers", - 36.595 - ], - [ - "choicescarf", - 8.981 - ], - [ - "choicespecs", - 4.558 - ] - ], - "moves": [ - [ - "return102", - 49.866 - ], - [ - "relicsong", - 49.866 - ], - [ - "closecombat", - 49.866 - ], - [ - "knockoff", - 49.866 - ], - [ - "calmmind", - 36.595 - ], - [ - "psyshock", - 36.193 - ], - [ - "focusblast", - 34.45 - ], - [ - "hypervoice", - 50.134 - ], - [ - "shadowball", - 32.44 - ], - [ - "uturn", - 10.724 - ] - ], - "sets": { - "calmmind|focusblast|hypervoice|psyshock": 13.405, - "calmmind|focusblast|hypervoice|shadowball": 10.188, - "calmmind|hypervoice|psyshock|shadowball": 13.003, - "closecombat|knockoff|relicsong|return102": 49.866, - "focusblast|hypervoice|psyshock|shadowball": 2.815, - "focusblast|hypervoice|psyshock|uturn": 4.29, - "focusblast|hypervoice|shadowball|uturn": 3.753, - "hypervoice|psyshock|shadowball|uturn": 2.681 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meowstic": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 95, - "items": [ - [ - "focussash", - 26.316 - ], - [ - "lightclay", - 36.842 - ], - [ - "leftovers", - 36.842 - ] - ], - "moves": [ - [ - "toxic", - 47.368 - ], - [ - "lightscreen", - 69.474 - ], - [ - "psychic", - 100.0 - ], - [ - "yawn", - 56.842 - ], - [ - "thunderwave", - 21.053 - ], - [ - "reflect", - 42.105 - ], - [ - "healbell", - 63.158 - ] - ], - "sets": { - "healbell|lightscreen|psychic|reflect": 4.211, - "healbell|lightscreen|psychic|thunderwave": 2.105, - "healbell|lightscreen|psychic|toxic": 13.684, - "healbell|lightscreen|psychic|yawn": 12.632, - "healbell|psychic|reflect|toxic": 2.105, - "healbell|psychic|reflect|yawn": 3.158, - "healbell|psychic|thunderwave|toxic": 2.105, - "healbell|psychic|thunderwave|yawn": 8.421, - "healbell|psychic|toxic|yawn": 14.737, - "lightscreen|psychic|reflect|thunderwave": 5.263, - "lightscreen|psychic|reflect|toxic": 12.632, - "lightscreen|psychic|reflect|yawn": 14.737, - "lightscreen|psychic|thunderwave|toxic": 1.053, - "lightscreen|psychic|thunderwave|yawn": 2.105, - "lightscreen|psychic|toxic|yawn": 1.053 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meowsticf": { - "abilities": [ - [ - "competitive", - 86.813 - ], - [ - "infiltrator", - 13.187 - ] - ], - "count": 91, - "items": [ - [ - "lifeorb", - 47.253 - ], - [ - "choicespecs", - 21.978 - ], - [ - "focussash", - 30.769 - ] - ], - "moves": [ - [ - "calmmind", - 78.022 - ], - [ - "psyshock", - 65.934 - ], - [ - "shadowball", - 78.022 - ], - [ - "thunderbolt", - 73.626 - ], - [ - "energyball", - 70.33 - ], - [ - "psychic", - 34.066 - ] - ], - "sets": { - "calmmind|energyball|psychic|shadowball": 8.791, - "calmmind|energyball|psychic|thunderbolt": 9.89, - "calmmind|energyball|psyshock|shadowball": 17.582, - "calmmind|energyball|psyshock|thunderbolt": 12.088, - "calmmind|psychic|shadowball|thunderbolt": 9.89, - "calmmind|psyshock|shadowball|thunderbolt": 19.78, - "energyball|psychic|shadowball|thunderbolt": 5.495, - "energyball|psyshock|shadowball|thunderbolt": 16.484 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mesprit": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 496, - "items": [ - [ - "leftovers", - 84.879 - ], - [ - "choicescarf", - 10.484 - ], - [ - "choicespecs", - 4.637 - ] - ], - "moves": [ - [ - "calmmind", - 46.169 - ], - [ - "psychic", - 36.29 - ], - [ - "signalbeam", - 36.492 - ], - [ - "hiddenpowerfire", - 51.008 - ], - [ - "healingwish", - 25.0 - ], - [ - "psyshock", - 63.71 - ], - [ - "uturn", - 21.976 - ], - [ - "stealthrock", - 19.355 - ], - [ - "energyball", - 51.21 - ], - [ - "icebeam", - 48.79 - ] - ], - "sets": { - "calmmind|energyball|hiddenpowerfire|psychic": 2.419, - "calmmind|energyball|hiddenpowerfire|psyshock": 6.855, - "calmmind|energyball|icebeam|psychic": 2.621, - "calmmind|energyball|icebeam|psyshock": 5.04, - "calmmind|energyball|psychic|signalbeam": 2.419, - "calmmind|energyball|psyshock|signalbeam": 3.831, - "calmmind|hiddenpowerfire|icebeam|psychic": 3.024, - "calmmind|hiddenpowerfire|icebeam|psyshock": 6.048, - "calmmind|hiddenpowerfire|psychic|signalbeam": 1.411, - "calmmind|hiddenpowerfire|psyshock|signalbeam": 4.032, - "calmmind|icebeam|psychic|signalbeam": 2.218, - "calmmind|icebeam|psyshock|signalbeam": 6.25, - "energyball|healingwish|hiddenpowerfire|psychic": 0.403, - "energyball|healingwish|hiddenpowerfire|psyshock": 1.411, - "energyball|healingwish|icebeam|psychic": 0.806, - "energyball|healingwish|icebeam|psyshock": 0.806, - "energyball|healingwish|psychic|signalbeam": 1.21, - "energyball|healingwish|psychic|stealthrock": 0.806, - "energyball|healingwish|psychic|uturn": 0.806, - "energyball|healingwish|psyshock|signalbeam": 1.21, - "energyball|healingwish|psyshock|stealthrock": 1.008, - "energyball|healingwish|psyshock|uturn": 2.419, - "energyball|hiddenpowerfire|icebeam|psychic": 1.21, - "energyball|hiddenpowerfire|icebeam|psyshock": 0.605, - "energyball|hiddenpowerfire|psychic|signalbeam": 0.806, - "energyball|hiddenpowerfire|psychic|stealthrock": 0.605, - "energyball|hiddenpowerfire|psychic|uturn": 1.411, - "energyball|hiddenpowerfire|psyshock|signalbeam": 1.008, - "energyball|hiddenpowerfire|psyshock|stealthrock": 1.411, - "energyball|hiddenpowerfire|psyshock|uturn": 1.008, - "energyball|icebeam|psychic|signalbeam": 0.806, - "energyball|icebeam|psychic|stealthrock": 0.403, - "energyball|icebeam|psychic|uturn": 1.008, - "energyball|icebeam|psyshock|signalbeam": 0.605, - "energyball|icebeam|psyshock|stealthrock": 0.202, - "energyball|icebeam|psyshock|uturn": 2.016, - "energyball|psychic|signalbeam|stealthrock": 0.806, - "energyball|psychic|stealthrock|uturn": 1.613, - "energyball|psyshock|signalbeam|stealthrock": 0.403, - "energyball|psyshock|stealthrock|uturn": 1.21, - "healingwish|hiddenpowerfire|icebeam|psychic": 0.806, - "healingwish|hiddenpowerfire|icebeam|psyshock": 1.613, - "healingwish|hiddenpowerfire|psychic|signalbeam": 1.008, - "healingwish|hiddenpowerfire|psychic|stealthrock": 0.605, - "healingwish|hiddenpowerfire|psychic|uturn": 0.605, - "healingwish|hiddenpowerfire|psyshock|signalbeam": 1.613, - "healingwish|hiddenpowerfire|psyshock|stealthrock": 0.806, - "healingwish|hiddenpowerfire|psyshock|uturn": 1.411, - "healingwish|icebeam|psychic|signalbeam": 0.806, - "healingwish|icebeam|psychic|stealthrock": 0.202, - "healingwish|icebeam|psychic|uturn": 0.605, - "healingwish|icebeam|psyshock|signalbeam": 0.806, - "healingwish|icebeam|psyshock|stealthrock": 0.403, - "healingwish|icebeam|psyshock|uturn": 1.008, - "healingwish|psychic|stealthrock|uturn": 0.403, - "healingwish|psyshock|signalbeam|stealthrock": 0.403, - "healingwish|psyshock|stealthrock|uturn": 1.008, - "hiddenpowerfire|icebeam|psychic|signalbeam": 0.806, - "hiddenpowerfire|icebeam|psychic|stealthrock": 0.403, - "hiddenpowerfire|icebeam|psychic|uturn": 1.613, - "hiddenpowerfire|icebeam|psyshock|signalbeam": 0.806, - "hiddenpowerfire|icebeam|psyshock|stealthrock": 1.008, - "hiddenpowerfire|icebeam|psyshock|uturn": 1.411, - "hiddenpowerfire|psychic|stealthrock|uturn": 0.202, - "hiddenpowerfire|psyshock|signalbeam|stealthrock": 1.613, - "hiddenpowerfire|psyshock|stealthrock|uturn": 1.008, - "icebeam|psychic|signalbeam|stealthrock": 0.806, - "icebeam|psychic|stealthrock|uturn": 0.605, - "icebeam|psyshock|signalbeam|stealthrock": 0.806, - "icebeam|psyshock|stealthrock|uturn": 0.605 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "metagross": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 118, - "items": [ - [ - "choiceband", - 23.729 - ], - [ - "weaknesspolicy", - 51.695 - ], - [ - "choicescarf", - 6.78 - ], - [ - "leftovers", - 17.797 - ] - ], - "moves": [ - [ - "zenheadbutt", - 66.102 - ], - [ - "meteormash", - 87.288 - ], - [ - "bulletpunch", - 26.271 - ], - [ - "icepunch", - 41.525 - ], - [ - "agility", - 51.695 - ], - [ - "explosion", - 43.22 - ], - [ - "thunderpunch", - 27.966 - ], - [ - "earthquake", - 38.136 - ], - [ - "stealthrock", - 17.797 - ] - ], - "sets": { - "agility|earthquake|explosion|meteormash": 5.932, - "agility|earthquake|icepunch|meteormash": 1.695, - "agility|earthquake|meteormash|thunderpunch": 1.695, - "agility|earthquake|meteormash|zenheadbutt": 6.78, - "agility|explosion|icepunch|meteormash": 5.085, - "agility|explosion|meteormash|thunderpunch": 0.847, - "agility|explosion|meteormash|zenheadbutt": 10.169, - "agility|icepunch|meteormash|thunderpunch": 0.847, - "agility|icepunch|meteormash|zenheadbutt": 11.864, - "agility|meteormash|thunderpunch|zenheadbutt": 6.78, - "bulletpunch|earthquake|explosion|zenheadbutt": 2.542, - "bulletpunch|earthquake|icepunch|meteormash": 0.847, - "bulletpunch|earthquake|icepunch|zenheadbutt": 0.847, - "bulletpunch|earthquake|meteormash|stealthrock": 0.847, - "bulletpunch|earthquake|meteormash|zenheadbutt": 1.695, - "bulletpunch|earthquake|stealthrock|zenheadbutt": 1.695, - "bulletpunch|earthquake|thunderpunch|zenheadbutt": 1.695, - "bulletpunch|explosion|icepunch|meteormash": 1.695, - "bulletpunch|explosion|icepunch|zenheadbutt": 0.847, - "bulletpunch|explosion|meteormash|stealthrock": 0.847, - "bulletpunch|explosion|meteormash|thunderpunch": 1.695, - "bulletpunch|explosion|meteormash|zenheadbutt": 1.695, - "bulletpunch|explosion|stealthrock|zenheadbutt": 1.695, - "bulletpunch|explosion|thunderpunch|zenheadbutt": 0.847, - "bulletpunch|icepunch|meteormash|stealthrock": 0.847, - "bulletpunch|icepunch|meteormash|zenheadbutt": 3.39, - "bulletpunch|icepunch|stealthrock|zenheadbutt": 0.847, - "bulletpunch|icepunch|thunderpunch|zenheadbutt": 1.695, - "earthquake|explosion|meteormash|thunderpunch": 0.847, - "earthquake|explosion|meteormash|zenheadbutt": 0.847, - "earthquake|icepunch|meteormash|stealthrock": 1.695, - "earthquake|icepunch|meteormash|thunderpunch": 0.847, - "earthquake|icepunch|meteormash|zenheadbutt": 3.39, - "earthquake|meteormash|stealthrock|thunderpunch": 1.695, - "earthquake|meteormash|stealthrock|zenheadbutt": 0.847, - "earthquake|meteormash|thunderpunch|zenheadbutt": 1.695, - "explosion|icepunch|meteormash|stealthrock": 0.847, - "explosion|icepunch|meteormash|thunderpunch": 0.847, - "explosion|icepunch|meteormash|zenheadbutt": 2.542, - "explosion|meteormash|stealthrock|thunderpunch": 3.39, - "icepunch|meteormash|stealthrock|thunderpunch": 0.847, - "meteormash|stealthrock|thunderpunch|zenheadbutt": 1.695 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "metagrossmega": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 338, - "items": [ - [ - "metagrossite", - 100.0 - ] - ], - "moves": [ - [ - "zenheadbutt", - 72.189 - ], - [ - "earthquake", - 50.296 - ], - [ - "agility", - 68.639 - ], - [ - "meteormash", - 100.0 - ], - [ - "icepunch", - 54.438 - ], - [ - "hammerarm", - 54.438 - ] - ], - "sets": { - "agility|earthquake|hammerarm|meteormash": 6.805, - "agility|earthquake|icepunch|meteormash": 5.917, - "agility|earthquake|meteormash|zenheadbutt": 17.456, - "agility|hammerarm|icepunch|meteormash": 7.988, - "agility|hammerarm|meteormash|zenheadbutt": 15.089, - "agility|icepunch|meteormash|zenheadbutt": 15.385, - "earthquake|hammerarm|icepunch|meteormash": 7.101, - "earthquake|hammerarm|meteormash|zenheadbutt": 6.213, - "earthquake|icepunch|meteormash|zenheadbutt": 6.805, - "hammerarm|icepunch|meteormash|zenheadbutt": 11.243 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mew": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 548, - "items": [ - [ - "leftovers", - 97.628 - ], - [ - "assaultvest", - 1.46 - ], - [ - "choicescarf", - 0.73 - ], - [ - "choicespecs", - 0.182 - ] - ], - "moves": [ - [ - "roost", - 60.401 - ], - [ - "defog", - 11.314 - ], - [ - "icebeam", - 37.226 - ], - [ - "psyshock", - 100.0 - ], - [ - "nastyplot", - 47.263 - ], - [ - "stealthrock", - 12.226 - ], - [ - "earthpower", - 34.124 - ], - [ - "taunt", - 22.08 - ], - [ - "willowisp", - 24.635 - ], - [ - "aurasphere", - 32.664 - ], - [ - "knockoff", - 18.066 - ] - ], - "sets": { - "aurasphere|defog|earthpower|psyshock": 0.547, - "aurasphere|defog|icebeam|psyshock": 0.182, - "aurasphere|defog|psyshock|roost": 1.095, - "aurasphere|defog|psyshock|taunt": 0.182, - "aurasphere|defog|psyshock|willowisp": 0.547, - "aurasphere|earthpower|icebeam|psyshock": 0.912, - "aurasphere|earthpower|nastyplot|psyshock": 2.19, - "aurasphere|earthpower|psyshock|roost": 0.73, - "aurasphere|earthpower|psyshock|stealthrock": 0.547, - "aurasphere|earthpower|psyshock|taunt": 0.182, - "aurasphere|earthpower|psyshock|willowisp": 0.182, - "aurasphere|icebeam|knockoff|psyshock": 0.365, - "aurasphere|icebeam|nastyplot|psyshock": 3.102, - "aurasphere|icebeam|psyshock|roost": 0.73, - "aurasphere|icebeam|psyshock|stealthrock": 0.182, - "aurasphere|icebeam|psyshock|taunt": 0.365, - "aurasphere|icebeam|psyshock|willowisp": 1.46, - "aurasphere|knockoff|psyshock|roost": 1.095, - "aurasphere|knockoff|psyshock|stealthrock": 0.547, - "aurasphere|knockoff|psyshock|taunt": 0.547, - "aurasphere|knockoff|psyshock|willowisp": 0.547, - "aurasphere|nastyplot|psyshock|roost": 10.766, - "aurasphere|nastyplot|psyshock|taunt": 1.095, - "aurasphere|nastyplot|psyshock|willowisp": 0.365, - "aurasphere|psyshock|roost|stealthrock": 0.73, - "aurasphere|psyshock|roost|taunt": 0.73, - "aurasphere|psyshock|roost|willowisp": 1.095, - "aurasphere|psyshock|stealthrock|taunt": 0.547, - "aurasphere|psyshock|stealthrock|willowisp": 0.547, - "aurasphere|psyshock|taunt|willowisp": 0.547, - "defog|earthpower|icebeam|psyshock": 0.73, - "defog|earthpower|knockoff|psyshock": 0.73, - "defog|earthpower|psyshock|roost": 0.912, - "defog|earthpower|psyshock|taunt": 0.182, - "defog|icebeam|knockoff|psyshock": 0.182, - "defog|icebeam|psyshock|roost": 0.547, - "defog|icebeam|psyshock|willowisp": 0.73, - "defog|knockoff|psyshock|roost": 2.007, - "defog|knockoff|psyshock|taunt": 0.365, - "defog|knockoff|psyshock|willowisp": 0.365, - "defog|psyshock|roost|taunt": 0.912, - "defog|psyshock|roost|willowisp": 0.73, - "defog|psyshock|taunt|willowisp": 0.365, - "earthpower|icebeam|knockoff|psyshock": 1.095, - "earthpower|icebeam|nastyplot|psyshock": 1.095, - "earthpower|icebeam|psyshock|roost": 0.912, - "earthpower|icebeam|psyshock|stealthrock": 0.182, - "earthpower|icebeam|psyshock|taunt": 1.277, - "earthpower|icebeam|psyshock|willowisp": 0.73, - "earthpower|knockoff|psyshock|roost": 1.277, - "earthpower|knockoff|psyshock|stealthrock": 1.095, - "earthpower|knockoff|psyshock|taunt": 0.182, - "earthpower|knockoff|psyshock|willowisp": 0.182, - "earthpower|nastyplot|psyshock|roost": 10.401, - "earthpower|nastyplot|psyshock|taunt": 1.825, - "earthpower|nastyplot|psyshock|willowisp": 1.642, - "earthpower|psyshock|roost|stealthrock": 0.547, - "earthpower|psyshock|roost|taunt": 1.095, - "earthpower|psyshock|roost|willowisp": 1.46, - "earthpower|psyshock|stealthrock|willowisp": 0.182, - "earthpower|psyshock|taunt|willowisp": 1.095, - "icebeam|knockoff|psyshock|roost": 1.642, - "icebeam|knockoff|psyshock|stealthrock": 0.365, - "icebeam|knockoff|psyshock|taunt": 0.182, - "icebeam|knockoff|psyshock|willowisp": 0.547, - "icebeam|nastyplot|psyshock|roost": 9.489, - "icebeam|nastyplot|psyshock|taunt": 1.825, - "icebeam|nastyplot|psyshock|willowisp": 3.467, - "icebeam|psyshock|roost|stealthrock": 1.642, - "icebeam|psyshock|roost|taunt": 0.73, - "icebeam|psyshock|roost|willowisp": 0.912, - "icebeam|psyshock|stealthrock|taunt": 0.182, - "icebeam|psyshock|stealthrock|willowisp": 0.365, - "icebeam|psyshock|taunt|willowisp": 1.095, - "knockoff|psyshock|roost|stealthrock": 0.912, - "knockoff|psyshock|roost|taunt": 1.642, - "knockoff|psyshock|roost|willowisp": 0.912, - "knockoff|psyshock|stealthrock|taunt": 0.547, - "knockoff|psyshock|stealthrock|willowisp": 0.365, - "knockoff|psyshock|taunt|willowisp": 0.365, - "psyshock|roost|stealthrock|taunt": 1.277, - "psyshock|roost|stealthrock|willowisp": 1.095, - "psyshock|roost|taunt|willowisp": 2.372, - "psyshock|stealthrock|taunt|willowisp": 0.365 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mewtwo": { - "abilities": [ - [ - "pressure", - 47.712 - ], - [ - "unnerve", - 52.288 - ] - ], - "count": 153, - "items": [ - [ - "leftovers", - 91.503 - ], - [ - "choicespecs", - 8.497 - ] - ], - "moves": [ - [ - "calmmind", - 72.549 - ], - [ - "recover", - 66.667 - ], - [ - "aurasphere", - 57.516 - ], - [ - "psystrike", - 100.0 - ], - [ - "icebeam", - 48.366 - ], - [ - "fireblast", - 54.902 - ] - ], - "sets": { - "aurasphere|calmmind|fireblast|psystrike": 7.19, - "aurasphere|calmmind|icebeam|psystrike": 7.843, - "aurasphere|calmmind|psystrike|recover": 18.301, - "aurasphere|fireblast|icebeam|psystrike": 8.497, - "aurasphere|fireblast|psystrike|recover": 9.15, - "aurasphere|icebeam|psystrike|recover": 6.536, - "calmmind|fireblast|icebeam|psystrike": 9.804, - "calmmind|fireblast|psystrike|recover": 16.993, - "calmmind|icebeam|psystrike|recover": 12.418, - "fireblast|icebeam|psystrike|recover": 3.268 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mewtwomegax": { - "abilities": [ - [ - "steadfast", - 100.0 - ] - ], - "count": 215, - "items": [ - [ - "mewtwonitex", - 100.0 - ] - ], - "moves": [ - [ - "taunt", - 66.047 - ], - [ - "bulkup", - 73.488 - ], - [ - "stoneedge", - 66.977 - ], - [ - "drainpunch", - 100.0 - ], - [ - "zenheadbutt", - 75.814 - ], - [ - "icebeam", - 17.674 - ] - ], - "sets": { - "bulkup|drainpunch|stoneedge|taunt": 17.209, - "bulkup|drainpunch|stoneedge|zenheadbutt": 28.837, - "bulkup|drainpunch|taunt|zenheadbutt": 27.442, - "drainpunch|icebeam|stoneedge|taunt": 6.977, - "drainpunch|icebeam|stoneedge|zenheadbutt": 5.116, - "drainpunch|icebeam|taunt|zenheadbutt": 5.581, - "drainpunch|stoneedge|taunt|zenheadbutt": 8.837 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mewtwomegay": { - "abilities": [ - [ - "insomnia", - 100.0 - ] - ], - "count": 222, - "items": [ - [ - "mewtwonitey", - 100.0 - ] - ], - "moves": [ - [ - "shadowball", - 37.387 - ], - [ - "aurasphere", - 36.036 - ], - [ - "recover", - 59.459 - ], - [ - "psystrike", - 100.0 - ], - [ - "fireblast", - 39.189 - ], - [ - "icebeam", - 29.73 - ], - [ - "taunt", - 21.622 - ], - [ - "willowisp", - 23.874 - ], - [ - "calmmind", - 52.703 - ] - ], - "sets": { - "aurasphere|calmmind|fireblast|psystrike": 1.351, - "aurasphere|calmmind|icebeam|psystrike": 0.901, - "aurasphere|calmmind|psystrike|recover": 8.108, - "aurasphere|calmmind|psystrike|shadowball": 1.802, - "aurasphere|calmmind|psystrike|taunt": 1.802, - "aurasphere|calmmind|psystrike|willowisp": 2.252, - "aurasphere|fireblast|icebeam|psystrike": 3.153, - "aurasphere|fireblast|psystrike|recover": 2.252, - "aurasphere|fireblast|psystrike|shadowball": 1.802, - "aurasphere|fireblast|psystrike|taunt": 0.45, - "aurasphere|icebeam|psystrike|recover": 0.901, - "aurasphere|icebeam|psystrike|shadowball": 1.802, - "aurasphere|icebeam|psystrike|taunt": 0.901, - "aurasphere|icebeam|psystrike|willowisp": 0.901, - "aurasphere|psystrike|recover|shadowball": 2.252, - "aurasphere|psystrike|recover|willowisp": 3.153, - "aurasphere|psystrike|shadowball|taunt": 1.802, - "aurasphere|psystrike|taunt|willowisp": 0.45, - "calmmind|fireblast|icebeam|psystrike": 0.901, - "calmmind|fireblast|psystrike|recover": 10.36, - "calmmind|fireblast|psystrike|shadowball": 3.153, - "calmmind|fireblast|psystrike|taunt": 1.351, - "calmmind|fireblast|psystrike|willowisp": 0.901, - "calmmind|icebeam|psystrike|recover": 7.207, - "calmmind|icebeam|psystrike|shadowball": 0.901, - "calmmind|icebeam|psystrike|taunt": 0.45, - "calmmind|icebeam|psystrike|willowisp": 0.45, - "calmmind|psystrike|recover|shadowball": 7.207, - "calmmind|psystrike|shadowball|taunt": 1.351, - "calmmind|psystrike|shadowball|willowisp": 2.252, - "fireblast|icebeam|psystrike|recover": 2.703, - "fireblast|icebeam|psystrike|shadowball": 0.45, - "fireblast|icebeam|psystrike|taunt": 0.45, - "fireblast|psystrike|recover|shadowball": 2.252, - "fireblast|psystrike|recover|taunt": 2.252, - "fireblast|psystrike|recover|willowisp": 1.802, - "fireblast|psystrike|shadowball|taunt": 1.351, - "fireblast|psystrike|shadowball|willowisp": 0.901, - "fireblast|psystrike|taunt|willowisp": 1.351, - "icebeam|psystrike|recover|shadowball": 1.802, - "icebeam|psystrike|recover|taunt": 1.802, - "icebeam|psystrike|recover|willowisp": 1.351, - "icebeam|psystrike|shadowball|willowisp": 1.351, - "icebeam|psystrike|taunt|willowisp": 1.351, - "psystrike|recover|shadowball|taunt": 0.901, - "psystrike|recover|shadowball|willowisp": 1.802, - "psystrike|recover|taunt|willowisp": 1.351, - "psystrike|shadowball|taunt|willowisp": 2.252 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mienshao": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 724, - "items": [ - [ - "lifeorb", - 84.945 - ], - [ - "choicescarf", - 10.221 - ], - [ - "choiceband", - 4.834 - ] - ], - "moves": [ - [ - "poisonjab", - 68.508 - ], - [ - "knockoff", - 60.773 - ], - [ - "highjumpkick", - 100.0 - ], - [ - "fakeout", - 20.58 - ], - [ - "stoneedge", - 62.017 - ], - [ - "uturn", - 23.757 - ], - [ - "swordsdance", - 64.365 - ] - ], - "sets": { - "fakeout|highjumpkick|knockoff|poisonjab": 3.453, - "fakeout|highjumpkick|knockoff|stoneedge": 1.934, - "fakeout|highjumpkick|knockoff|uturn": 2.624, - "fakeout|highjumpkick|poisonjab|stoneedge": 3.177, - "fakeout|highjumpkick|poisonjab|uturn": 4.834, - "fakeout|highjumpkick|stoneedge|uturn": 4.558, - "highjumpkick|knockoff|poisonjab|stoneedge": 3.315, - "highjumpkick|knockoff|poisonjab|swordsdance": 22.928, - "highjumpkick|knockoff|poisonjab|uturn": 4.144, - "highjumpkick|knockoff|stoneedge|swordsdance": 18.646, - "highjumpkick|knockoff|stoneedge|uturn": 3.729, - "highjumpkick|poisonjab|stoneedge|swordsdance": 22.79, - "highjumpkick|poisonjab|stoneedge|uturn": 3.867 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mightyena": { - "abilities": [ - [ - "moxie", - 62.366 - ], - [ - "intimidate", - 37.634 - ] - ], - "count": 186, - "items": [ - [ - "lifeorb", - 81.183 - ], - [ - "choiceband", - 18.817 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "suckerpunch", - 81.183 - ], - [ - "playrough", - 68.28 - ], - [ - "firefang", - 73.118 - ], - [ - "irontail", - 77.419 - ] - ], - "sets": { - "crunch|firefang|irontail|playrough": 18.817, - "crunch|firefang|irontail|suckerpunch": 31.72, - "crunch|firefang|playrough|suckerpunch": 22.581, - "crunch|irontail|playrough|suckerpunch": 26.882 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "milotic": { - "abilities": [ - [ - "competitive", - 51.781 - ], - [ - "marvelscale", - 48.219 - ] - ], - "count": 421, - "items": [ - [ - "leftovers", - 96.675 - ], - [ - "chestoberry", - 3.325 - ] - ], - "moves": [ - [ - "icebeam", - 61.52 - ], - [ - "scald", - 100.0 - ], - [ - "dragontail", - 60.095 - ], - [ - "recover", - 42.755 - ], - [ - "toxic", - 53.919 - ], - [ - "rest", - 42.518 - ], - [ - "sleeptalk", - 39.192 - ] - ], - "sets": { - "dragontail|icebeam|recover|scald": 14.727, - "dragontail|icebeam|rest|scald": 2.138, - "dragontail|icebeam|scald|toxic": 14.727, - "dragontail|recover|scald|toxic": 14.727, - "dragontail|rest|scald|sleeptalk": 13.064, - "dragontail|rest|scald|toxic": 0.713, - "icebeam|recover|scald|toxic": 13.302, - "icebeam|rest|scald|sleeptalk": 16.152, - "icebeam|rest|scald|toxic": 0.475, - "rest|scald|sleeptalk|toxic": 9.976 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "miltank": { - "abilities": [ - [ - "scrappy", - 29.399 - ], - [ - "thickfat", - 33.63 - ], - [ - "sapsipper", - 36.971 - ] - ], - "count": 449, - "items": [ - [ - "leftovers", - 99.332 - ], - [ - "focussash", - 0.668 - ] - ], - "moves": [ - [ - "milkdrink", - 80.178 - ], - [ - "toxic", - 30.29 - ], - [ - "bodyslam", - 100.0 - ], - [ - "earthquake", - 76.392 - ], - [ - "curse", - 50.111 - ], - [ - "healbell", - 40.312 - ], - [ - "stealthrock", - 22.717 - ] - ], - "sets": { - "bodyslam|curse|earthquake|healbell": 9.354, - "bodyslam|curse|earthquake|milkdrink": 40.757, - "bodyslam|earthquake|healbell|milkdrink": 7.127, - "bodyslam|earthquake|healbell|stealthrock": 2.004, - "bodyslam|earthquake|healbell|toxic": 4.009, - "bodyslam|earthquake|milkdrink|stealthrock": 5.122, - "bodyslam|earthquake|milkdrink|toxic": 6.459, - "bodyslam|earthquake|stealthrock|toxic": 1.559, - "bodyslam|healbell|milkdrink|stealthrock": 5.345, - "bodyslam|healbell|milkdrink|toxic": 9.577, - "bodyslam|healbell|stealthrock|toxic": 2.895, - "bodyslam|milkdrink|stealthrock|toxic": 5.791 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mimikyu": { - "abilities": [ - [ - "disguise", - 100.0 - ] - ], - "count": 545, - "items": [ - [ - "mimikiumz", - 91.009 - ], - [ - "leftovers", - 8.991 - ] - ], - "moves": [ - [ - "shadowsneak", - 80.367 - ], - [ - "taunt", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "playrough", - 100.0 - ], - [ - "shadowclaw", - 19.633 - ] - ], - "sets": { - "playrough|shadowclaw|swordsdance|taunt": 19.633, - "playrough|shadowsneak|swordsdance|taunt": 80.367 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "minior": { - "abilities": [ - [ - "shieldsdown", - 100.0 - ] - ], - "count": 527, - "items": [ - [ - "whiteherb", - 99.62 - ], - [ - "None", - 0.38 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "acrobatics", - 100.0 - ], - [ - "powergem", - 100.0 - ], - [ - "shellsmash", - 100.0 - ] - ], - "sets": { - "acrobatics|earthquake|powergem|shellsmash": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "minun": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "leftovers", - 92.746 - ], - [ - "focussash", - 7.254 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerice", - 100.0 - ], - [ - "substitute", - 67.876 - ], - [ - "nastyplot", - 72.021 - ], - [ - "encore", - 60.104 - ] - ], - "sets": { - "encore|hiddenpowerice|nastyplot|thunderbolt": 32.124, - "encore|hiddenpowerice|substitute|thunderbolt": 27.979, - "hiddenpowerice|nastyplot|substitute|thunderbolt": 39.896 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mismagius": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 541, - "items": [ - [ - "leftovers", - 81.701 - ], - [ - "lifeorb", - 7.024 - ], - [ - "focussash", - 11.275 - ] - ], - "moves": [ - [ - "destinybond", - 32.348 - ], - [ - "painsplit", - 34.196 - ], - [ - "shadowball", - 100.0 - ], - [ - "thunderbolt", - 48.244 - ], - [ - "willowisp", - 30.869 - ], - [ - "substitute", - 24.214 - ], - [ - "dazzlinggleam", - 49.353 - ], - [ - "nastyplot", - 51.756 - ], - [ - "taunt", - 29.02 - ] - ], - "sets": { - "dazzlinggleam|destinybond|nastyplot|shadowball": 3.512, - "dazzlinggleam|destinybond|painsplit|shadowball": 2.033, - "dazzlinggleam|destinybond|shadowball|substitute": 1.664, - "dazzlinggleam|destinybond|shadowball|taunt": 1.664, - "dazzlinggleam|destinybond|shadowball|thunderbolt": 1.109, - "dazzlinggleam|destinybond|shadowball|willowisp": 1.294, - "dazzlinggleam|nastyplot|painsplit|shadowball": 5.36, - "dazzlinggleam|nastyplot|shadowball|substitute": 3.882, - "dazzlinggleam|nastyplot|shadowball|taunt": 5.176, - "dazzlinggleam|nastyplot|shadowball|thunderbolt": 3.142, - "dazzlinggleam|nastyplot|shadowball|willowisp": 6.47, - "dazzlinggleam|painsplit|shadowball|substitute": 1.479, - "dazzlinggleam|painsplit|shadowball|taunt": 1.479, - "dazzlinggleam|painsplit|shadowball|thunderbolt": 1.294, - "dazzlinggleam|painsplit|shadowball|willowisp": 1.294, - "dazzlinggleam|shadowball|substitute|thunderbolt": 1.848, - "dazzlinggleam|shadowball|substitute|willowisp": 2.033, - "dazzlinggleam|shadowball|taunt|thunderbolt": 1.848, - "dazzlinggleam|shadowball|taunt|willowisp": 1.664, - "dazzlinggleam|shadowball|thunderbolt|willowisp": 1.109, - "destinybond|nastyplot|shadowball|thunderbolt": 5.36, - "destinybond|painsplit|shadowball|substitute": 2.218, - "destinybond|painsplit|shadowball|taunt": 2.033, - "destinybond|painsplit|shadowball|thunderbolt": 0.924, - "destinybond|painsplit|shadowball|willowisp": 2.218, - "destinybond|shadowball|substitute|thunderbolt": 0.739, - "destinybond|shadowball|substitute|willowisp": 1.109, - "destinybond|shadowball|taunt|thunderbolt": 2.588, - "destinybond|shadowball|taunt|willowisp": 2.403, - "destinybond|shadowball|thunderbolt|willowisp": 1.479, - "nastyplot|painsplit|shadowball|thunderbolt": 5.915, - "nastyplot|shadowball|substitute|thunderbolt": 5.176, - "nastyplot|shadowball|taunt|thunderbolt": 4.067, - "nastyplot|shadowball|thunderbolt|willowisp": 3.697, - "painsplit|shadowball|substitute|thunderbolt": 1.294, - "painsplit|shadowball|substitute|willowisp": 1.479, - "painsplit|shadowball|taunt|thunderbolt": 3.327, - "painsplit|shadowball|taunt|willowisp": 1.294, - "painsplit|shadowball|thunderbolt|willowisp": 0.555, - "shadowball|substitute|thunderbolt|willowisp": 1.294, - "shadowball|taunt|thunderbolt|willowisp": 1.479 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "moltres": { - "abilities": [ - [ - "pressure", - 32.233 - ], - [ - "flamebody", - 67.767 - ] - ], - "count": 515, - "items": [ - [ - "flyiniumz", - 73.786 - ], - [ - "leftovers", - 26.214 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "willowisp", - 50.68 - ], - [ - "substitute", - 59.806 - ], - [ - "hurricane", - 80.971 - ], - [ - "roost", - 77.476 - ], - [ - "toxic", - 31.068 - ] - ], - "sets": { - "fireblast|hurricane|roost|substitute": 18.252, - "fireblast|hurricane|roost|toxic": 16.505, - "fireblast|hurricane|roost|willowisp": 23.689, - "fireblast|hurricane|substitute|toxic": 8.932, - "fireblast|hurricane|substitute|willowisp": 13.592, - "fireblast|roost|substitute|toxic": 5.631, - "fireblast|roost|substitute|willowisp": 13.398 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mothim": { - "abilities": [ - [ - "tintedlens", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "lifeorb", - 49.474 - ], - [ - "focussash", - 30.0 - ], - [ - "choicescarf", - 14.211 - ], - [ - "choicespecs", - 6.316 - ] - ], - "moves": [ - [ - "airslash", - 100.0 - ], - [ - "quiverdance", - 79.474 - ], - [ - "energyball", - 100.0 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "uturn", - 20.526 - ] - ], - "sets": { - "airslash|bugbuzz|energyball|quiverdance": 79.474, - "airslash|bugbuzz|energyball|uturn": 20.526 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mrmime": { - "abilities": [ - [ - "filter", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "leftovers", - 20.513 - ], - [ - "focussash", - 40.0 - ], - [ - "lifeorb", - 37.949 - ], - [ - "choicescarf", - 1.538 - ] - ], - "moves": [ - [ - "encore", - 45.128 - ], - [ - "nastyplot", - 71.282 - ], - [ - "psyshock", - 72.308 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "shadowball", - 42.051 - ], - [ - "focusblast", - 50.256 - ], - [ - "healingwish", - 18.974 - ] - ], - "sets": { - "dazzlinggleam|encore|focusblast|healingwish": 4.103, - "dazzlinggleam|encore|focusblast|nastyplot": 7.179, - "dazzlinggleam|encore|focusblast|psyshock": 1.538, - "dazzlinggleam|encore|focusblast|shadowball": 3.59, - "dazzlinggleam|encore|healingwish|psyshock": 4.103, - "dazzlinggleam|encore|healingwish|shadowball": 1.538, - "dazzlinggleam|encore|nastyplot|psyshock": 15.897, - "dazzlinggleam|encore|nastyplot|shadowball": 4.103, - "dazzlinggleam|encore|psyshock|shadowball": 3.077, - "dazzlinggleam|focusblast|healingwish|psyshock": 4.103, - "dazzlinggleam|focusblast|healingwish|shadowball": 2.564, - "dazzlinggleam|focusblast|nastyplot|psyshock": 21.026, - "dazzlinggleam|focusblast|nastyplot|shadowball": 4.615, - "dazzlinggleam|focusblast|psyshock|shadowball": 1.538, - "dazzlinggleam|healingwish|psyshock|shadowball": 2.564, - "dazzlinggleam|nastyplot|psyshock|shadowball": 18.462 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mudsdale": { - "abilities": [ - [ - "stamina", - 100.0 - ] - ], - "count": 559, - "items": [ - [ - "leftovers", - 62.075 - ], - [ - "choiceband", - 37.925 - ] - ], - "moves": [ - [ - "rockslide", - 79.785 - ], - [ - "earthquake", - 100.0 - ], - [ - "closecombat", - 77.639 - ], - [ - "stealthrock", - 62.075 - ], - [ - "heavyslam", - 80.501 - ] - ], - "sets": { - "closecombat|earthquake|heavyslam|rockslide": 37.925, - "closecombat|earthquake|heavyslam|stealthrock": 20.215, - "closecombat|earthquake|rockslide|stealthrock": 19.499, - "earthquake|heavyslam|rockslide|stealthrock": 22.361 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "muk": { - "abilities": [ - [ - "stickyhold", - 70.652 - ], - [ - "poisontouch", - 29.348 - ] - ], - "count": 92, - "items": [ - [ - "blacksludge", - 91.304 - ], - [ - "choiceband", - 8.696 - ] - ], - "moves": [ - [ - "gunkshot", - 65.217 - ], - [ - "firepunch", - 61.957 - ], - [ - "icepunch", - 84.783 - ], - [ - "memento", - 28.261 - ], - [ - "curse", - 63.043 - ], - [ - "shadowsneak", - 61.957 - ], - [ - "poisonjab", - 34.783 - ] - ], - "sets": { - "curse|firepunch|gunkshot|icepunch": 16.304, - "curse|firepunch|gunkshot|shadowsneak": 7.609, - "curse|firepunch|icepunch|poisonjab": 8.696, - "curse|firepunch|poisonjab|shadowsneak": 4.348, - "curse|gunkshot|icepunch|shadowsneak": 16.304, - "curse|icepunch|poisonjab|shadowsneak": 9.783, - "firepunch|gunkshot|icepunch|memento": 9.783, - "firepunch|gunkshot|icepunch|shadowsneak": 4.348, - "firepunch|gunkshot|memento|shadowsneak": 2.174, - "firepunch|icepunch|memento|poisonjab": 3.261, - "firepunch|icepunch|poisonjab|shadowsneak": 4.348, - "firepunch|memento|poisonjab|shadowsneak": 1.087, - "gunkshot|icepunch|memento|shadowsneak": 8.696, - "icepunch|memento|poisonjab|shadowsneak": 3.261 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mukalola": { - "abilities": [ - [ - "poisontouch", - 100.0 - ] - ], - "count": 235, - "items": [ - [ - "choiceband", - 48.085 - ], - [ - "blacksludge", - 51.915 - ] - ], - "moves": [ - [ - "gunkshot", - 55.745 - ], - [ - "knockoff", - 88.936 - ], - [ - "icepunch", - 45.532 - ], - [ - "pursuit", - 31.489 - ], - [ - "shadowsneak", - 49.362 - ], - [ - "curse", - 51.915 - ], - [ - "firepunch", - 51.489 - ], - [ - "poisonjab", - 25.532 - ] - ], - "sets": { - "curse|firepunch|gunkshot|knockoff": 9.362, - "curse|firepunch|icepunch|knockoff": 4.681, - "curse|firepunch|knockoff|poisonjab": 4.681, - "curse|firepunch|knockoff|shadowsneak": 2.553, - "curse|gunkshot|icepunch|knockoff": 8.936, - "curse|gunkshot|knockoff|shadowsneak": 14.043, - "curse|icepunch|knockoff|poisonjab": 1.277, - "curse|icepunch|knockoff|shadowsneak": 2.979, - "curse|knockoff|poisonjab|shadowsneak": 3.404, - "firepunch|gunkshot|icepunch|knockoff": 2.979, - "firepunch|gunkshot|icepunch|pursuit": 2.128, - "firepunch|gunkshot|knockoff|pursuit": 2.553, - "firepunch|gunkshot|knockoff|shadowsneak": 4.255, - "firepunch|gunkshot|pursuit|shadowsneak": 2.128, - "firepunch|icepunch|knockoff|poisonjab": 1.702, - "firepunch|icepunch|knockoff|pursuit": 4.255, - "firepunch|icepunch|knockoff|shadowsneak": 0.851, - "firepunch|icepunch|poisonjab|pursuit": 1.277, - "firepunch|knockoff|poisonjab|pursuit": 1.702, - "firepunch|knockoff|poisonjab|shadowsneak": 1.277, - "firepunch|knockoff|pursuit|shadowsneak": 2.553, - "firepunch|poisonjab|pursuit|shadowsneak": 2.553, - "gunkshot|icepunch|knockoff|pursuit": 3.404, - "gunkshot|icepunch|knockoff|shadowsneak": 2.979, - "gunkshot|icepunch|pursuit|shadowsneak": 0.426, - "gunkshot|knockoff|pursuit|shadowsneak": 2.553, - "icepunch|knockoff|poisonjab|pursuit": 1.702, - "icepunch|knockoff|poisonjab|shadowsneak": 2.553, - "icepunch|knockoff|pursuit|shadowsneak": 0.851, - "icepunch|poisonjab|pursuit|shadowsneak": 2.553, - "knockoff|poisonjab|pursuit|shadowsneak": 0.851 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "musharna": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 26.471 - ], - [ - "moonlight", - 77.451 - ], - [ - "calmmind", - 66.176 - ], - [ - "signalbeam", - 92.157 - ], - [ - "psyshock", - 73.529 - ], - [ - "thunderwave", - 24.51 - ], - [ - "healbell", - 39.706 - ] - ], - "sets": { - "calmmind|healbell|psychic|signalbeam": 3.431, - "calmmind|healbell|psyshock|signalbeam": 11.765, - "calmmind|moonlight|psychic|signalbeam": 11.765, - "calmmind|moonlight|psyshock|signalbeam": 39.216, - "healbell|moonlight|psychic|signalbeam": 2.941, - "healbell|moonlight|psychic|thunderwave": 0.98, - "healbell|moonlight|psyshock|signalbeam": 6.373, - "healbell|moonlight|psyshock|thunderwave": 6.863, - "healbell|psychic|signalbeam|thunderwave": 3.922, - "healbell|psyshock|signalbeam|thunderwave": 3.431, - "moonlight|psychic|signalbeam|thunderwave": 3.431, - "moonlight|psyshock|signalbeam|thunderwave": 5.882 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "naganadel": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 635, - "items": [ - [ - "lifeorb", - 70.079 - ], - [ - "choicespecs", - 22.52 - ], - [ - "focussash", - 7.402 - ] - ], - "moves": [ - [ - "nastyplot", - 77.48 - ], - [ - "fireblast", - 100.0 - ], - [ - "dracometeor", - 73.071 - ], - [ - "sludgewave", - 100.0 - ], - [ - "uturn", - 22.52 - ], - [ - "dragonpulse", - 26.929 - ] - ], - "sets": { - "dracometeor|fireblast|nastyplot|sludgewave": 56.85, - "dracometeor|fireblast|sludgewave|uturn": 16.22, - "dragonpulse|fireblast|nastyplot|sludgewave": 20.63, - "dragonpulse|fireblast|sludgewave|uturn": 6.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozma": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 131, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "heatwave", - 100.0 - ], - [ - "photongeyser", - 100.0 - ], - [ - "moonlight", - 100.0 - ], - [ - "calmmind", - 77.863 - ], - [ - "stealthrock", - 22.137 - ] - ], - "sets": { - "calmmind|heatwave|moonlight|photongeyser": 77.863, - "heatwave|moonlight|photongeyser|stealthrock": 22.137 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozmadawnwings": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 219, - "items": [ - [ - "ultranecroziumz", - 73.059 - ], - [ - "lunaliumz", - 17.808 - ], - [ - "leftovers", - 7.763 - ], - [ - "lifeorb", - 0.913 - ], - [ - "choicescarf", - 0.457 - ] - ], - "moves": [ - [ - "photongeyser", - 92.237 - ], - [ - "calmmind", - 73.059 - ], - [ - "powergem", - 64.84 - ], - [ - "moongeistbeam", - 100.0 - ], - [ - "trickroom", - 18.721 - ], - [ - "heatwave", - 51.142 - ] - ], - "sets": { - "calmmind|heatwave|moongeistbeam|photongeyser": 29.224, - "calmmind|heatwave|moongeistbeam|powergem": 1.826, - "calmmind|moongeistbeam|photongeyser|powergem": 42.009, - "heatwave|moongeistbeam|photongeyser|powergem": 8.219, - "heatwave|moongeistbeam|photongeyser|trickroom": 5.936, - "heatwave|moongeistbeam|powergem|trickroom": 5.936, - "moongeistbeam|photongeyser|powergem|trickroom": 6.849 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozmaduskmane": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 203, - "items": [ - [ - "ultranecroziumz", - 26.601 - ], - [ - "solganiumz", - 66.01 - ], - [ - "assaultvest", - 0.985 - ], - [ - "weaknesspolicy", - 0.985 - ], - [ - "leftovers", - 5.419 - ] - ], - "moves": [ - [ - "swordsdance", - 72.414 - ], - [ - "photongeyser", - 40.887 - ], - [ - "earthquake", - 53.202 - ], - [ - "sunsteelstrike", - 100.0 - ], - [ - "autotomize", - 72.414 - ], - [ - "knockoff", - 61.084 - ] - ], - "sets": { - "autotomize|earthquake|knockoff|sunsteelstrike": 8.374, - "autotomize|earthquake|photongeyser|sunsteelstrike": 7.389, - "autotomize|earthquake|sunsteelstrike|swordsdance": 21.675, - "autotomize|knockoff|photongeyser|sunsteelstrike": 5.911, - "autotomize|knockoff|sunsteelstrike|swordsdance": 29.064, - "earthquake|knockoff|photongeyser|sunsteelstrike": 5.911, - "earthquake|photongeyser|sunsteelstrike|swordsdance": 9.852, - "knockoff|photongeyser|sunsteelstrike|swordsdance": 11.823 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nidoking": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 508, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 56.299 - ], - [ - "fireblast", - 59.843 - ], - [ - "earthpower", - 100.0 - ], - [ - "substitute", - 55.315 - ], - [ - "icebeam", - 61.024 - ], - [ - "sludgewave", - 67.52 - ] - ], - "sets": { - "earthpower|fireblast|icebeam|sludgewave": 12.795, - "earthpower|fireblast|icebeam|substitute": 8.268, - "earthpower|fireblast|icebeam|superpower": 8.465, - "earthpower|fireblast|sludgewave|substitute": 10.827, - "earthpower|fireblast|sludgewave|superpower": 11.614, - "earthpower|fireblast|substitute|superpower": 7.874, - "earthpower|icebeam|sludgewave|substitute": 11.811, - "earthpower|icebeam|sludgewave|superpower": 11.811, - "earthpower|icebeam|substitute|superpower": 7.874, - "earthpower|sludgewave|substitute|superpower": 8.661 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nidoqueen": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 448, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "sludgewave", - 73.661 - ], - [ - "toxicspikes", - 58.036 - ], - [ - "fireblast", - 60.268 - ], - [ - "earthpower", - 100.0 - ], - [ - "stealthrock", - 49.554 - ], - [ - "icebeam", - 58.482 - ] - ], - "sets": { - "earthpower|fireblast|icebeam|sludgewave": 13.616, - "earthpower|fireblast|icebeam|stealthrock": 5.357, - "earthpower|fireblast|icebeam|toxicspikes": 8.036, - "earthpower|fireblast|sludgewave|stealthrock": 13.17, - "earthpower|fireblast|sludgewave|toxicspikes": 15.402, - "earthpower|fireblast|stealthrock|toxicspikes": 4.688, - "earthpower|icebeam|sludgewave|stealthrock": 9.821, - "earthpower|icebeam|sludgewave|toxicspikes": 13.393, - "earthpower|icebeam|stealthrock|toxicspikes": 8.259, - "earthpower|sludgewave|stealthrock|toxicspikes": 8.259 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nihilego": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 531, - "items": [ - [ - "airballoon", - 90.96 - ], - [ - "choicescarf", - 5.085 - ], - [ - "choicespecs", - 3.955 - ] - ], - "moves": [ - [ - "sludgewave", - 73.446 - ], - [ - "powergem", - 70.81 - ], - [ - "stealthrock", - 52.542 - ], - [ - "thunderbolt", - 72.316 - ], - [ - "toxicspikes", - 66.29 - ], - [ - "grassknot", - 64.595 - ] - ], - "sets": { - "grassknot|powergem|sludgewave|stealthrock": 5.273, - "grassknot|powergem|sludgewave|thunderbolt": 9.04, - "grassknot|powergem|sludgewave|toxicspikes": 7.533, - "grassknot|powergem|stealthrock|thunderbolt": 4.143, - "grassknot|powergem|stealthrock|toxicspikes": 4.708, - "grassknot|powergem|thunderbolt|toxicspikes": 10.734, - "grassknot|sludgewave|stealthrock|thunderbolt": 8.663, - "grassknot|sludgewave|stealthrock|toxicspikes": 4.52, - "grassknot|sludgewave|thunderbolt|toxicspikes": 9.981, - "powergem|sludgewave|stealthrock|thunderbolt": 6.591, - "powergem|sludgewave|stealthrock|toxicspikes": 5.65, - "powergem|sludgewave|thunderbolt|toxicspikes": 10.169, - "powergem|stealthrock|thunderbolt|toxicspikes": 6.968, - "sludgewave|stealthrock|thunderbolt|toxicspikes": 6.026 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninetales": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 246, - "items": [ - [ - "leftovers", - 79.268 - ], - [ - "lifeorb", - 16.26 - ], - [ - "focussash", - 4.472 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "nastyplot", - 68.293 - ], - [ - "substitute", - 55.691 - ], - [ - "psyshock", - 67.073 - ], - [ - "solarbeam", - 59.35 - ], - [ - "willowisp", - 49.593 - ] - ], - "sets": { - "fireblast|nastyplot|psyshock|solarbeam": 11.382, - "fireblast|nastyplot|psyshock|substitute": 17.48, - "fireblast|nastyplot|psyshock|willowisp": 15.447, - "fireblast|nastyplot|solarbeam|substitute": 11.789, - "fireblast|nastyplot|solarbeam|willowisp": 12.195, - "fireblast|psyshock|solarbeam|substitute": 9.756, - "fireblast|psyshock|solarbeam|willowisp": 5.285, - "fireblast|psyshock|substitute|willowisp": 7.724, - "fireblast|solarbeam|substitute|willowisp": 8.943 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninetalesalola": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 354, - "items": [ - [ - "lightclay", - 52.825 - ], - [ - "focussash", - 1.13 - ], - [ - "leftovers", - 33.898 - ], - [ - "lifeorb", - 11.017 - ], - [ - "choicespecs", - 1.13 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 36.158 - ], - [ - "blizzard", - 67.514 - ], - [ - "moonblast", - 63.559 - ], - [ - "auroraveil", - 52.825 - ], - [ - "freezedry", - 72.316 - ], - [ - "nastyplot", - 56.78 - ], - [ - "substitute", - 50.847 - ] - ], - "sets": { - "auroraveil|blizzard|freezedry|hiddenpowerfire": 3.955, - "auroraveil|blizzard|freezedry|moonblast": 3.107, - "auroraveil|blizzard|freezedry|nastyplot": 7.345, - "auroraveil|blizzard|freezedry|substitute": 4.52, - "auroraveil|blizzard|hiddenpowerfire|moonblast": 2.542, - "auroraveil|blizzard|hiddenpowerfire|substitute": 2.542, - "auroraveil|blizzard|moonblast|nastyplot": 6.78, - "auroraveil|blizzard|moonblast|substitute": 3.955, - "auroraveil|freezedry|hiddenpowerfire|moonblast": 3.39, - "auroraveil|freezedry|hiddenpowerfire|substitute": 2.26, - "auroraveil|freezedry|moonblast|nastyplot": 8.757, - "auroraveil|freezedry|moonblast|substitute": 3.672, - "blizzard|freezedry|hiddenpowerfire|moonblast": 1.13, - "blizzard|freezedry|hiddenpowerfire|nastyplot": 3.39, - "blizzard|freezedry|hiddenpowerfire|substitute": 3.955, - "blizzard|freezedry|moonblast|nastyplot": 2.542, - "blizzard|freezedry|moonblast|substitute": 1.412, - "blizzard|freezedry|nastyplot|substitute": 8.475, - "blizzard|hiddenpowerfire|moonblast|nastyplot": 2.542, - "blizzard|hiddenpowerfire|moonblast|substitute": 3.955, - "blizzard|moonblast|nastyplot|substitute": 5.367, - "freezedry|hiddenpowerfire|moonblast|nastyplot": 3.672, - "freezedry|hiddenpowerfire|moonblast|substitute": 2.825, - "freezedry|moonblast|nastyplot|substitute": 7.91 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninjask": { - "abilities": [ - [ - "infiltrator", - 20.305 - ], - [ - "speedboost", - 79.695 - ] - ], - "count": 197, - "items": [ - [ - "choiceband", - 20.305 - ], - [ - "lifeorb", - 30.457 - ], - [ - "groundiumz", - 49.239 - ] - ], - "moves": [ - [ - "aerialace", - 84.264 - ], - [ - "nightslash", - 78.68 - ], - [ - "leechlife", - 87.817 - ], - [ - "uturn", - 20.305 - ], - [ - "swordsdance", - 79.695 - ], - [ - "dig", - 49.239 - ] - ], - "sets": { - "aerialace|dig|leechlife|swordsdance": 21.32, - "aerialace|dig|nightslash|swordsdance": 12.183, - "aerialace|leechlife|nightslash|swordsdance": 30.457, - "aerialace|leechlife|nightslash|uturn": 20.305, - "dig|leechlife|nightslash|swordsdance": 15.736 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "noctowl": { - "abilities": [ - [ - "insomnia", - 35.0 - ], - [ - "tintedlens", - 65.0 - ] - ], - "count": 180, - "items": [ - [ - "leftovers", - 88.889 - ], - [ - "lifeorb", - 3.333 - ], - [ - "focussash", - 7.778 - ] - ], - "moves": [ - [ - "toxic", - 54.444 - ], - [ - "defog", - 52.222 - ], - [ - "hurricane", - 100.0 - ], - [ - "roost", - 73.333 - ], - [ - "whirlwind", - 51.667 - ], - [ - "heatwave", - 65.0 - ], - [ - "nightshade", - 3.333 - ] - ], - "sets": { - "defog|heatwave|hurricane|roost": 12.778, - "defog|heatwave|hurricane|toxic": 7.222, - "defog|heatwave|hurricane|whirlwind": 5.556, - "defog|hurricane|roost|toxic": 11.111, - "defog|hurricane|roost|whirlwind": 8.333, - "defog|hurricane|toxic|whirlwind": 7.222, - "heatwave|hurricane|nightshade|roost": 3.333, - "heatwave|hurricane|roost|toxic": 13.889, - "heatwave|hurricane|roost|whirlwind": 15.556, - "heatwave|hurricane|toxic|whirlwind": 6.667, - "hurricane|roost|toxic|whirlwind": 8.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "noivern": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 510, - "items": [ - [ - "lifeorb", - 36.471 - ], - [ - "choicespecs", - 20.784 - ], - [ - "leftovers", - 39.804 - ], - [ - "focussash", - 2.941 - ] - ], - "moves": [ - [ - "boomburst", - 41.765 - ], - [ - "roost", - 61.961 - ], - [ - "dracometeor", - 100.0 - ], - [ - "hurricane", - 66.275 - ], - [ - "taunt", - 38.039 - ], - [ - "uturn", - 34.51 - ], - [ - "switcheroo", - 14.118 - ], - [ - "flamethrower", - 43.333 - ] - ], - "sets": { - "boomburst|dracometeor|flamethrower|hurricane": 1.373, - "boomburst|dracometeor|flamethrower|roost": 2.745, - "boomburst|dracometeor|flamethrower|switcheroo": 2.353, - "boomburst|dracometeor|flamethrower|taunt": 3.137, - "boomburst|dracometeor|flamethrower|uturn": 1.373, - "boomburst|dracometeor|hurricane|roost": 12.745, - "boomburst|dracometeor|hurricane|switcheroo": 2.353, - "boomburst|dracometeor|hurricane|taunt": 2.941, - "boomburst|dracometeor|hurricane|uturn": 1.373, - "boomburst|dracometeor|roost|taunt": 5.294, - "boomburst|dracometeor|roost|uturn": 2.549, - "boomburst|dracometeor|switcheroo|uturn": 1.373, - "boomburst|dracometeor|taunt|uturn": 2.157, - "dracometeor|flamethrower|hurricane|roost": 10.392, - "dracometeor|flamethrower|hurricane|switcheroo": 2.745, - "dracometeor|flamethrower|hurricane|taunt": 5.686, - "dracometeor|flamethrower|hurricane|uturn": 2.549, - "dracometeor|flamethrower|roost|taunt": 3.333, - "dracometeor|flamethrower|roost|uturn": 3.725, - "dracometeor|flamethrower|switcheroo|uturn": 2.353, - "dracometeor|flamethrower|taunt|uturn": 1.569, - "dracometeor|hurricane|roost|taunt": 10.392, - "dracometeor|hurricane|roost|uturn": 9.02, - "dracometeor|hurricane|switcheroo|uturn": 2.941, - "dracometeor|hurricane|taunt|uturn": 1.765, - "dracometeor|roost|taunt|uturn": 1.765 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "octillery": { - "abilities": [ - [ - "sniper", - 100.0 - ] - ], - "count": 191, - "items": [ - [ - "choicespecs", - 16.23 - ], - [ - "expertbelt", - 83.77 - ] - ], - "moves": [ - [ - "scald", - 62.827 - ], - [ - "hydropump", - 48.691 - ], - [ - "fireblast", - 56.545 - ], - [ - "icebeam", - 62.827 - ], - [ - "energyball", - 52.88 - ], - [ - "gunkshot", - 54.974 - ], - [ - "rockblast", - 61.257 - ] - ], - "sets": { - "energyball|fireblast|gunkshot|hydropump": 4.188, - "energyball|fireblast|gunkshot|scald": 3.141, - "energyball|fireblast|hydropump|icebeam": 3.665, - "energyball|fireblast|hydropump|rockblast": 3.141, - "energyball|fireblast|hydropump|scald": 3.665, - "energyball|fireblast|icebeam|scald": 1.047, - "energyball|fireblast|rockblast|scald": 3.141, - "energyball|gunkshot|hydropump|icebeam": 4.712, - "energyball|gunkshot|hydropump|rockblast": 2.618, - "energyball|gunkshot|icebeam|scald": 4.712, - "energyball|gunkshot|rockblast|scald": 5.759, - "energyball|hydropump|icebeam|rockblast": 4.712, - "energyball|hydropump|icebeam|scald": 2.094, - "energyball|icebeam|rockblast|scald": 6.283, - "fireblast|gunkshot|hydropump|icebeam": 1.571, - "fireblast|gunkshot|hydropump|rockblast": 3.665, - "fireblast|gunkshot|icebeam|scald": 4.188, - "fireblast|gunkshot|rockblast|scald": 7.853, - "fireblast|hydropump|icebeam|rockblast": 5.236, - "fireblast|hydropump|icebeam|scald": 5.759, - "fireblast|icebeam|rockblast|scald": 6.283, - "gunkshot|hydropump|icebeam|rockblast": 3.665, - "gunkshot|icebeam|rockblast|scald": 8.901 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "omastar": { - "abilities": [ - [ - "shellarmor", - 96.356 - ], - [ - "swiftswim", - 3.644 - ] - ], - "count": 494, - "items": [ - [ - "whiteherb", - 68.826 - ], - [ - "lifeorb", - 13.968 - ], - [ - "focussash", - 5.87 - ], - [ - "leftovers", - 11.134 - ], - [ - "None", - 0.202 - ] - ], - "moves": [ - [ - "shellsmash", - 69.028 - ], - [ - "scald", - 74.696 - ], - [ - "icebeam", - 92.713 - ], - [ - "earthpower", - 93.522 - ], - [ - "spikes", - 24.494 - ], - [ - "hydropump", - 25.304 - ], - [ - "stealthrock", - 20.243 - ] - ], - "sets": { - "earthpower|hydropump|icebeam|shellsmash": 11.943, - "earthpower|hydropump|icebeam|spikes": 4.453, - "earthpower|hydropump|icebeam|stealthrock": 3.036, - "earthpower|hydropump|spikes|stealthrock": 2.632, - "earthpower|icebeam|scald|shellsmash": 57.085, - "earthpower|icebeam|scald|spikes": 6.275, - "earthpower|icebeam|scald|stealthrock": 3.441, - "earthpower|scald|spikes|stealthrock": 4.656, - "hydropump|icebeam|spikes|stealthrock": 3.239, - "icebeam|scald|spikes|stealthrock": 3.239 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oranguru": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 174, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psyshock", - 100.0 - ], - [ - "nastyplot", - 100.0 - ], - [ - "trickroom", - 30.46 - ], - [ - "thunderbolt", - 85.057 - ], - [ - "focusblast", - 84.483 - ] - ], - "sets": { - "focusblast|nastyplot|psyshock|thunderbolt": 69.54, - "focusblast|nastyplot|psyshock|trickroom": 14.943, - "nastyplot|psyshock|thunderbolt|trickroom": 15.517 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oricorio": { - "abilities": [ - [ - "dancer", - 100.0 - ] - ], - "count": 51, - "items": [ - [ - "leftovers", - 98.039 - ], - [ - "focussash", - 1.961 - ] - ], - "moves": [ - [ - "calmmind", - 68.627 - ], - [ - "roost", - 90.196 - ], - [ - "hurricane", - 98.039 - ], - [ - "revelationdance", - 100.0 - ], - [ - "toxic", - 25.49 - ], - [ - "uturn", - 17.647 - ] - ], - "sets": { - "calmmind|hurricane|revelationdance|roost": 68.627, - "hurricane|revelationdance|roost|toxic": 13.725, - "hurricane|revelationdance|roost|uturn": 5.882, - "hurricane|revelationdance|toxic|uturn": 9.804, - "revelationdance|roost|toxic|uturn": 1.961 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oricoriopau": { - "abilities": [ - [ - "dancer", - 100.0 - ] - ], - "count": 39, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 89.744 - ], - [ - "calmmind", - 51.282 - ], - [ - "hurricane", - 82.051 - ], - [ - "revelationdance", - 97.436 - ], - [ - "toxic", - 41.026 - ], - [ - "uturn", - 38.462 - ] - ], - "sets": { - "calmmind|hurricane|revelationdance|roost": 51.282, - "hurricane|revelationdance|roost|toxic": 10.256, - "hurricane|revelationdance|roost|uturn": 7.692, - "hurricane|revelationdance|toxic|uturn": 10.256, - "hurricane|roost|toxic|uturn": 2.564, - "revelationdance|roost|toxic|uturn": 17.949 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oricoriopompom": { - "abilities": [ - [ - "dancer", - 100.0 - ] - ], - "count": 113, - "items": [ - [ - "leftovers", - 99.115 - ], - [ - "focussash", - 0.885 - ] - ], - "moves": [ - [ - "calmmind", - 69.027 - ], - [ - "revelationdance", - 100.0 - ], - [ - "roost", - 92.92 - ], - [ - "hurricane", - 98.23 - ], - [ - "uturn", - 17.699 - ], - [ - "toxic", - 22.124 - ] - ], - "sets": { - "calmmind|hurricane|revelationdance|roost": 69.027, - "hurricane|revelationdance|roost|toxic": 13.274, - "hurricane|revelationdance|roost|uturn": 8.85, - "hurricane|revelationdance|toxic|uturn": 7.08, - "revelationdance|roost|toxic|uturn": 1.77 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oricoriosensu": { - "abilities": [ - [ - "dancer", - 100.0 - ] - ], - "count": 130, - "items": [ - [ - "leftovers", - 98.462 - ], - [ - "focussash", - 1.538 - ] - ], - "moves": [ - [ - "revelationdance", - 100.0 - ], - [ - "hurricane", - 95.385 - ], - [ - "calmmind", - 66.154 - ], - [ - "roost", - 91.538 - ], - [ - "toxic", - 23.077 - ], - [ - "uturn", - 23.846 - ] - ], - "sets": { - "calmmind|hurricane|revelationdance|roost": 66.154, - "hurricane|revelationdance|roost|toxic": 10.0, - "hurricane|revelationdance|roost|uturn": 10.769, - "hurricane|revelationdance|toxic|uturn": 8.462, - "revelationdance|roost|toxic|uturn": 4.615 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pachirisu": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 191, - "items": [ - [ - "leftovers", - 61.78 - ], - [ - "focussash", - 38.22 - ] - ], - "moves": [ - [ - "toxic", - 95.288 - ], - [ - "nuzzle", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "uturn", - 100.0 - ], - [ - "superfang", - 4.712 - ] - ], - "sets": { - "nuzzle|superfang|thunderbolt|uturn": 4.712, - "nuzzle|thunderbolt|toxic|uturn": 95.288 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "palkia": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 605, - "items": [ - [ - "lustrousorb", - 46.446 - ], - [ - "assaultvest", - 37.355 - ], - [ - "leftovers", - 16.198 - ] - ], - "moves": [ - [ - "spacialrend", - 6.446 - ], - [ - "hydropump", - 100.0 - ], - [ - "thunderwave", - 62.645 - ], - [ - "fireblast", - 72.562 - ], - [ - "dracometeor", - 77.355 - ], - [ - "dragontail", - 80.992 - ] - ], - "sets": { - "dracometeor|dragontail|fireblast|hydropump": 37.355, - "dracometeor|dragontail|hydropump|thunderwave": 27.438, - "dracometeor|fireblast|hydropump|thunderwave": 12.562, - "dragontail|fireblast|hydropump|thunderwave": 16.198, - "fireblast|hydropump|spacialrend|thunderwave": 6.446 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "palossand": { - "abilities": [ - [ - "watercompaction", - 97.065 - ], - [ - "sandveil", - 2.935 - ] - ], - "count": 477, - "items": [ - [ - "leftovers", - 91.195 - ], - [ - "focussash", - 8.805 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "protect", - 45.912 - ], - [ - "earthpower", - 100.0 - ], - [ - "toxic", - 43.606 - ], - [ - "shoreup", - 76.52 - ], - [ - "stealthrock", - 33.962 - ] - ], - "sets": { - "earthpower|protect|shadowball|shoreup": 28.931, - "earthpower|protect|shadowball|stealthrock": 7.338, - "earthpower|protect|shadowball|toxic": 9.644, - "earthpower|shadowball|shoreup|stealthrock": 20.126, - "earthpower|shadowball|shoreup|toxic": 27.463, - "earthpower|shadowball|stealthrock|toxic": 6.499 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pangoro": { - "abilities": [ - [ - "moldbreaker", - 75.787 - ], - [ - "ironfist", - 24.213 - ] - ], - "count": 508, - "items": [ - [ - "lifeorb", - 56.693 - ], - [ - "choiceband", - 30.906 - ], - [ - "focussash", - 12.402 - ] - ], - "moves": [ - [ - "gunkshot", - 67.913 - ], - [ - "partingshot", - 69.094 - ], - [ - "drainpunch", - 23.819 - ], - [ - "knockoff", - 100.0 - ], - [ - "superpower", - 69.882 - ], - [ - "icepunch", - 69.291 - ] - ], - "sets": { - "drainpunch|gunkshot|icepunch|knockoff": 7.48, - "drainpunch|gunkshot|knockoff|partingshot": 7.874, - "drainpunch|icepunch|knockoff|partingshot": 8.465, - "gunkshot|icepunch|knockoff|partingshot": 6.299, - "gunkshot|icepunch|knockoff|superpower": 23.425, - "gunkshot|knockoff|partingshot|superpower": 22.835, - "icepunch|knockoff|partingshot|superpower": 23.622 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "parasect": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "leftovers", - 72.539 - ], - [ - "focussash", - 15.026 - ], - [ - "lifeorb", - 12.435 - ] - ], - "moves": [ - [ - "seedbomb", - 100.0 - ], - [ - "substitute", - 60.104 - ], - [ - "leechseed", - 52.85 - ], - [ - "knockoff", - 60.104 - ], - [ - "leechlife", - 68.394 - ], - [ - "spore", - 58.549 - ] - ], - "sets": { - "knockoff|leechlife|leechseed|seedbomb": 12.953, - "knockoff|leechlife|seedbomb|spore": 12.435, - "knockoff|leechlife|seedbomb|substitute": 12.435, - "knockoff|leechseed|seedbomb|spore": 6.736, - "knockoff|leechseed|seedbomb|substitute": 7.254, - "knockoff|seedbomb|spore|substitute": 8.29, - "leechlife|leechseed|seedbomb|spore": 7.772, - "leechlife|leechseed|seedbomb|substitute": 8.808, - "leechlife|seedbomb|spore|substitute": 13.99, - "leechseed|seedbomb|spore|substitute": 9.326 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "passimian": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 508, - "items": [ - [ - "choicescarf", - 68.504 - ], - [ - "choiceband", - 31.496 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "rockslide", - 64.764 - ], - [ - "ironhead", - 58.661 - ], - [ - "uturn", - 56.299 - ], - [ - "knockoff", - 58.071 - ], - [ - "earthquake", - 62.205 - ] - ], - "sets": { - "closecombat|earthquake|ironhead|knockoff": 9.646, - "closecombat|earthquake|ironhead|rockslide": 12.598, - "closecombat|earthquake|ironhead|uturn": 7.48, - "closecombat|earthquake|knockoff|rockslide": 11.614, - "closecombat|earthquake|knockoff|uturn": 10.039, - "closecombat|earthquake|rockslide|uturn": 10.827, - "closecombat|ironhead|knockoff|rockslide": 9.843, - "closecombat|ironhead|knockoff|uturn": 8.071, - "closecombat|ironhead|rockslide|uturn": 11.024, - "closecombat|knockoff|rockslide|uturn": 8.858 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pelipper": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 567, - "items": [ - [ - "leftovers", - 97.354 - ], - [ - "choicescarf", - 1.411 - ], - [ - "choicespecs", - 1.235 - ] - ], - "moves": [ - [ - "hurricane", - 64.55 - ], - [ - "defog", - 51.852 - ], - [ - "roost", - 64.198 - ], - [ - "scald", - 65.432 - ], - [ - "uturn", - 56.085 - ], - [ - "knockoff", - 60.67 - ], - [ - "hydropump", - 37.213 - ] - ], - "sets": { - "defog|hurricane|hydropump|knockoff": 2.822, - "defog|hurricane|hydropump|roost": 4.233, - "defog|hurricane|hydropump|uturn": 3.175, - "defog|hurricane|knockoff|scald": 5.467, - "defog|hurricane|roost|scald": 6.349, - "defog|hurricane|scald|uturn": 3.527, - "defog|hydropump|knockoff|roost": 2.469, - "defog|hydropump|knockoff|uturn": 2.116, - "defog|hydropump|roost|uturn": 1.764, - "defog|knockoff|roost|scald": 7.76, - "defog|knockoff|scald|uturn": 6.878, - "defog|roost|scald|uturn": 5.291, - "hurricane|hydropump|knockoff|roost": 5.115, - "hurricane|hydropump|knockoff|uturn": 4.233, - "hurricane|hydropump|roost|uturn": 5.115, - "hurricane|hydropump|scald|uturn": 2.646, - "hurricane|knockoff|roost|scald": 9.7, - "hurricane|knockoff|scald|uturn": 4.938, - "hurricane|roost|scald|uturn": 7.231, - "hydropump|knockoff|roost|uturn": 3.527, - "knockoff|roost|scald|uturn": 5.644 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "persian": { - "abilities": [ - [ - "technician", - 80.808 - ], - [ - "limber", - 19.192 - ] - ], - "count": 99, - "items": [ - [ - "lifeorb", - 50.505 - ], - [ - "leftovers", - 25.253 - ], - [ - "focussash", - 24.242 - ] - ], - "moves": [ - [ - "fakeout", - 80.808 - ], - [ - "taunt", - 74.747 - ], - [ - "knockoff", - 77.778 - ], - [ - "return102", - 100.0 - ], - [ - "uturn", - 66.667 - ] - ], - "sets": { - "fakeout|knockoff|return102|taunt": 33.333, - "fakeout|knockoff|return102|uturn": 25.253, - "fakeout|return102|taunt|uturn": 22.222, - "knockoff|return102|taunt|uturn": 19.192 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "persianalola": { - "abilities": [ - [ - "technician", - 49.609 - ], - [ - "furcoat", - 50.391 - ] - ], - "count": 256, - "items": [ - [ - "leftovers", - 44.922 - ], - [ - "lifeorb", - 39.844 - ], - [ - "focussash", - 15.234 - ] - ], - "moves": [ - [ - "nastyplot", - 78.906 - ], - [ - "hiddenpowerfighting", - 73.438 - ], - [ - "darkpulse", - 100.0 - ], - [ - "hypnosis", - 73.047 - ], - [ - "powergem", - 74.609 - ] - ], - "sets": { - "darkpulse|hiddenpowerfighting|hypnosis|nastyplot": 25.391, - "darkpulse|hiddenpowerfighting|hypnosis|powergem": 21.094, - "darkpulse|hiddenpowerfighting|nastyplot|powergem": 26.953, - "darkpulse|hypnosis|nastyplot|powergem": 26.562 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pheromosa": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 640, - "items": [ - [ - "expertbelt", - 100.0 - ] - ], - "moves": [ - [ - "highjumpkick", - 100.0 - ], - [ - "uturn", - 74.375 - ], - [ - "icebeam", - 100.0 - ], - [ - "poisonjab", - 100.0 - ], - [ - "bugbuzz", - 25.625 - ] - ], - "sets": { - "bugbuzz|highjumpkick|icebeam|poisonjab": 25.625, - "highjumpkick|icebeam|poisonjab|uturn": 74.375 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "phione": { - "abilities": [ - [ - "hydration", - 100.0 - ] - ], - "count": 206, - "items": [ - [ - "leftovers", - 45.631 - ], - [ - "focussash", - 34.466 - ], - [ - "assaultvest", - 7.282 - ], - [ - "lifeorb", - 12.621 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "icebeam", - 60.194 - ], - [ - "toxic", - 67.961 - ], - [ - "uturn", - 57.767 - ], - [ - "knockoff", - 61.165 - ], - [ - "healbell", - 52.913 - ] - ], - "sets": { - "healbell|icebeam|knockoff|scald": 7.282, - "healbell|icebeam|scald|toxic": 8.738, - "healbell|icebeam|scald|uturn": 9.709, - "healbell|knockoff|scald|toxic": 11.65, - "healbell|knockoff|scald|uturn": 7.767, - "healbell|scald|toxic|uturn": 7.767, - "icebeam|knockoff|scald|toxic": 14.563, - "icebeam|knockoff|scald|uturn": 7.282, - "icebeam|scald|toxic|uturn": 12.621, - "knockoff|scald|toxic|uturn": 12.621 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pidgeot": { - "abilities": [ - [ - "keeneye", - 34.483 - ], - [ - "tangledfeet", - 34.483 - ], - [ - "bigpecks", - 31.034 - ] - ], - "count": 29, - "items": [ - [ - "leftovers", - 75.862 - ], - [ - "choicescarf", - 10.345 - ], - [ - "lifeorb", - 13.793 - ] - ], - "moves": [ - [ - "defog", - 72.414 - ], - [ - "roost", - 58.621 - ], - [ - "return102", - 79.31 - ], - [ - "heatwave", - 72.414 - ], - [ - "bravebird", - 51.724 - ], - [ - "uturn", - 65.517 - ] - ], - "sets": { - "bravebird|defog|heatwave|return102": 6.897, - "bravebird|defog|heatwave|roost": 6.897, - "bravebird|defog|return102|roost": 6.897, - "bravebird|defog|return102|uturn": 10.345, - "bravebird|heatwave|return102|roost": 3.448, - "bravebird|heatwave|return102|uturn": 3.448, - "bravebird|heatwave|roost|uturn": 13.793, - "defog|heatwave|return102|roost": 10.345, - "defog|heatwave|return102|uturn": 20.69, - "defog|return102|roost|uturn": 10.345, - "heatwave|return102|roost|uturn": 6.897 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pidgeotmega": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 159, - "items": [ - [ - "pidgeotite", - 100.0 - ] - ], - "moves": [ - [ - "heatwave", - 74.843 - ], - [ - "defog", - 66.667 - ], - [ - "roost", - 82.39 - ], - [ - "hurricane", - 100.0 - ], - [ - "uturn", - 76.101 - ] - ], - "sets": { - "defog|heatwave|hurricane|roost": 23.899, - "defog|heatwave|hurricane|uturn": 17.61, - "defog|hurricane|roost|uturn": 25.157, - "heatwave|hurricane|roost|uturn": 33.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachu": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 123, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 52.033 - ], - [ - "hiddenpowerice", - 65.854 - ], - [ - "volttackle", - 100.0 - ], - [ - "knockoff", - 51.22 - ], - [ - "irontail", - 60.163 - ], - [ - "grassknot", - 70.732 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 19.512, - "grassknot|hiddenpowerice|knockoff|volttackle": 10.569, - "grassknot|hiddenpowerice|voltswitch|volttackle": 12.195, - "grassknot|irontail|knockoff|volttackle": 8.13, - "grassknot|irontail|voltswitch|volttackle": 9.756, - "grassknot|knockoff|voltswitch|volttackle": 10.569, - "hiddenpowerice|irontail|knockoff|volttackle": 9.756, - "hiddenpowerice|irontail|voltswitch|volttackle": 7.317, - "hiddenpowerice|knockoff|voltswitch|volttackle": 6.504, - "irontail|knockoff|voltswitch|volttackle": 5.691 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachualola": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 99, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 41.414 - ], - [ - "grassknot", - 67.677 - ], - [ - "hiddenpowerice", - 63.636 - ], - [ - "volttackle", - 100.0 - ], - [ - "knockoff", - 64.646 - ], - [ - "irontail", - 62.626 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 15.152, - "grassknot|hiddenpowerice|knockoff|volttackle": 11.111, - "grassknot|hiddenpowerice|voltswitch|volttackle": 10.101, - "grassknot|irontail|knockoff|volttackle": 17.172, - "grassknot|irontail|voltswitch|volttackle": 6.061, - "grassknot|knockoff|voltswitch|volttackle": 8.081, - "hiddenpowerice|irontail|knockoff|volttackle": 15.152, - "hiddenpowerice|irontail|voltswitch|volttackle": 4.04, - "hiddenpowerice|knockoff|voltswitch|volttackle": 8.081, - "irontail|knockoff|voltswitch|volttackle": 5.051 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuhoenn": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 87, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 72.414 - ], - [ - "hiddenpowerice", - 66.667 - ], - [ - "irontail", - 67.816 - ], - [ - "volttackle", - 100.0 - ], - [ - "grassknot", - 60.92 - ], - [ - "voltswitch", - 32.184 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 13.793, - "grassknot|hiddenpowerice|knockoff|volttackle": 14.943, - "grassknot|hiddenpowerice|voltswitch|volttackle": 5.747, - "grassknot|irontail|knockoff|volttackle": 18.391, - "grassknot|irontail|voltswitch|volttackle": 2.299, - "grassknot|knockoff|voltswitch|volttackle": 5.747, - "hiddenpowerice|irontail|knockoff|volttackle": 20.69, - "hiddenpowerice|irontail|voltswitch|volttackle": 5.747, - "hiddenpowerice|knockoff|voltswitch|volttackle": 5.747, - "irontail|knockoff|voltswitch|volttackle": 6.897 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachukalos": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 85, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 68.235 - ], - [ - "hiddenpowerice", - 62.353 - ], - [ - "volttackle", - 100.0 - ], - [ - "voltswitch", - 37.647 - ], - [ - "irontail", - 63.529 - ], - [ - "grassknot", - 68.235 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 18.824, - "grassknot|hiddenpowerice|knockoff|volttackle": 15.294, - "grassknot|hiddenpowerice|voltswitch|volttackle": 4.706, - "grassknot|irontail|knockoff|volttackle": 15.294, - "grassknot|irontail|voltswitch|volttackle": 5.882, - "grassknot|knockoff|voltswitch|volttackle": 8.235, - "hiddenpowerice|irontail|knockoff|volttackle": 12.941, - "hiddenpowerice|irontail|voltswitch|volttackle": 2.353, - "hiddenpowerice|knockoff|voltswitch|volttackle": 8.235, - "irontail|knockoff|voltswitch|volttackle": 8.235 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuoriginal": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 114, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 67.544 - ], - [ - "voltswitch", - 35.965 - ], - [ - "knockoff", - 64.912 - ], - [ - "volttackle", - 100.0 - ], - [ - "grassknot", - 64.912 - ], - [ - "irontail", - 66.667 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 16.667, - "grassknot|hiddenpowerice|knockoff|volttackle": 13.158, - "grassknot|hiddenpowerice|voltswitch|volttackle": 8.772, - "grassknot|irontail|knockoff|volttackle": 18.421, - "grassknot|irontail|voltswitch|volttackle": 2.632, - "grassknot|knockoff|voltswitch|volttackle": 5.263, - "hiddenpowerice|irontail|knockoff|volttackle": 15.789, - "hiddenpowerice|irontail|voltswitch|volttackle": 7.018, - "hiddenpowerice|knockoff|voltswitch|volttackle": 6.14, - "irontail|knockoff|voltswitch|volttackle": 6.14 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachupartner": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 109, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 59.633 - ], - [ - "irontail", - 69.725 - ], - [ - "grassknot", - 59.633 - ], - [ - "volttackle", - 100.0 - ], - [ - "voltswitch", - 42.202 - ], - [ - "knockoff", - 68.807 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 11.009, - "grassknot|hiddenpowerice|knockoff|volttackle": 11.927, - "grassknot|hiddenpowerice|voltswitch|volttackle": 6.422, - "grassknot|irontail|knockoff|volttackle": 21.101, - "grassknot|irontail|voltswitch|volttackle": 3.67, - "grassknot|knockoff|voltswitch|volttackle": 5.505, - "hiddenpowerice|irontail|knockoff|volttackle": 13.761, - "hiddenpowerice|irontail|voltswitch|volttackle": 10.092, - "hiddenpowerice|knockoff|voltswitch|volttackle": 6.422, - "irontail|knockoff|voltswitch|volttackle": 10.092 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachusinnoh": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 99, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "irontail", - 65.657 - ], - [ - "grassknot", - 62.626 - ], - [ - "knockoff", - 66.667 - ], - [ - "volttackle", - 100.0 - ], - [ - "voltswitch", - 44.444 - ], - [ - "hiddenpowerice", - 60.606 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 9.091, - "grassknot|hiddenpowerice|knockoff|volttackle": 17.172, - "grassknot|hiddenpowerice|voltswitch|volttackle": 8.081, - "grassknot|irontail|knockoff|volttackle": 16.162, - "grassknot|irontail|voltswitch|volttackle": 7.071, - "grassknot|knockoff|voltswitch|volttackle": 5.051, - "hiddenpowerice|irontail|knockoff|volttackle": 13.131, - "hiddenpowerice|irontail|voltswitch|volttackle": 9.091, - "hiddenpowerice|knockoff|voltswitch|volttackle": 4.04, - "irontail|knockoff|voltswitch|volttackle": 11.111 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuunova": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 110, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 66.364 - ], - [ - "volttackle", - 100.0 - ], - [ - "knockoff", - 62.727 - ], - [ - "grassknot", - 65.455 - ], - [ - "voltswitch", - 44.545 - ], - [ - "irontail", - 60.909 - ] - ], - "sets": { - "grassknot|hiddenpowerice|irontail|volttackle": 11.818, - "grassknot|hiddenpowerice|knockoff|volttackle": 12.727, - "grassknot|hiddenpowerice|voltswitch|volttackle": 10.0, - "grassknot|irontail|knockoff|volttackle": 19.091, - "grassknot|irontail|voltswitch|volttackle": 5.455, - "grassknot|knockoff|voltswitch|volttackle": 6.364, - "hiddenpowerice|irontail|knockoff|volttackle": 11.818, - "hiddenpowerice|irontail|voltswitch|volttackle": 10.0, - "hiddenpowerice|knockoff|voltswitch|volttackle": 10.0, - "irontail|knockoff|voltswitch|volttackle": 2.727 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pinsir": { - "abilities": [ - [ - "moxie", - 93.75 - ], - [ - "moldbreaker", - 6.25 - ] - ], - "count": 32, - "items": [ - [ - "choicescarf", - 28.125 - ], - [ - "lifeorb", - 62.5 - ], - [ - "choiceband", - 9.375 - ] - ], - "moves": [ - [ - "xscissor", - 100.0 - ], - [ - "knockoff", - 56.25 - ], - [ - "closecombat", - 56.25 - ], - [ - "earthquake", - 62.5 - ], - [ - "stoneedge", - 62.5 - ], - [ - "stealthrock", - 62.5 - ] - ], - "sets": { - "closecombat|earthquake|knockoff|xscissor": 15.625, - "closecombat|earthquake|stealthrock|xscissor": 9.375, - "closecombat|earthquake|stoneedge|xscissor": 6.25, - "closecombat|knockoff|stealthrock|xscissor": 3.125, - "closecombat|knockoff|stoneedge|xscissor": 12.5, - "closecombat|stealthrock|stoneedge|xscissor": 9.375, - "earthquake|knockoff|stealthrock|xscissor": 9.375, - "earthquake|knockoff|stoneedge|xscissor": 3.125, - "earthquake|stealthrock|stoneedge|xscissor": 18.75, - "knockoff|stealthrock|stoneedge|xscissor": 12.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pinsirmega": { - "abilities": [ - [ - "aerilate", - 100.0 - ] - ], - "count": 165, - "items": [ - [ - "pinsirite", - 100.0 - ] - ], - "moves": [ - [ - "quickattack", - 75.152 - ], - [ - "return102", - 100.0 - ], - [ - "closecombat", - 70.303 - ], - [ - "earthquake", - 73.939 - ], - [ - "swordsdance", - 80.606 - ] - ], - "sets": { - "closecombat|earthquake|quickattack|return102": 19.394, - "closecombat|earthquake|return102|swordsdance": 24.848, - "closecombat|quickattack|return102|swordsdance": 26.061, - "earthquake|quickattack|return102|swordsdance": 29.697 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "plusle": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 87.31 - ], - [ - "focussash", - 12.69 - ] - ], - "moves": [ - [ - "nastyplot", - 73.604 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerice", - 100.0 - ], - [ - "substitute", - 65.99 - ], - [ - "encore", - 60.406 - ] - ], - "sets": { - "encore|hiddenpowerice|nastyplot|thunderbolt": 34.01, - "encore|hiddenpowerice|substitute|thunderbolt": 26.396, - "hiddenpowerice|nastyplot|substitute|thunderbolt": 39.594 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "politoed": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "chestoberry", - 76.536 - ], - [ - "leftovers", - 23.464 - ] - ], - "moves": [ - [ - "rest", - 76.536 - ], - [ - "hypnosis", - 58.659 - ], - [ - "scald", - 100.0 - ], - [ - "encore", - 77.095 - ], - [ - "toxic", - 37.43 - ], - [ - "perishsong", - 18.994 - ], - [ - "protect", - 31.285 - ] - ], - "sets": { - "encore|hypnosis|protect|scald": 8.38, - "encore|hypnosis|rest|scald": 36.313, - "encore|perishsong|protect|scald": 3.352, - "encore|perishsong|rest|scald": 2.793, - "encore|protect|rest|scald": 1.676, - "encore|protect|scald|toxic": 4.469, - "encore|rest|scald|toxic": 20.112, - "hypnosis|perishsong|protect|scald": 4.469, - "hypnosis|perishsong|rest|scald": 1.676, - "hypnosis|protect|rest|scald": 3.352, - "hypnosis|rest|scald|toxic": 4.469, - "perishsong|protect|rest|scald": 0.559, - "perishsong|protect|scald|toxic": 2.793, - "perishsong|rest|scald|toxic": 3.352, - "protect|rest|scald|toxic": 2.235 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "poliwrath": { - "abilities": [ - [ - "waterabsorb", - 44.186 - ], - [ - "swiftswim", - 55.814 - ] - ], - "count": 172, - "items": [ - [ - "assaultvest", - 15.116 - ], - [ - "leftovers", - 30.233 - ], - [ - "lifeorb", - 54.651 - ] - ], - "moves": [ - [ - "scald", - 87.791 - ], - [ - "circlethrow", - 34.302 - ], - [ - "focusblast", - 69.767 - ], - [ - "icepunch", - 80.814 - ], - [ - "sleeptalk", - 30.233 - ], - [ - "rest", - 30.233 - ], - [ - "raindance", - 54.651 - ], - [ - "hydropump", - 12.209 - ] - ], - "sets": { - "circlethrow|focusblast|hydropump|icepunch": 3.488, - "circlethrow|focusblast|icepunch|scald": 11.628, - "circlethrow|rest|scald|sleeptalk": 19.186, - "focusblast|hydropump|icepunch|raindance": 8.721, - "focusblast|icepunch|raindance|scald": 45.93, - "icepunch|rest|scald|sleeptalk": 11.047 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "porygon2": { - "abilities": [ - [ - "trace", - 44.66 - ], - [ - "analytic", - 47.573 - ], - [ - "chlorophyll", - 0.243 - ], - [ - "levitate", - 0.485 - ], - [ - "waterabsorb", - 0.971 - ], - [ - "torrent", - 0.243 - ], - [ - "regenerator", - 0.243 - ], - [ - "tintedlens", - 0.243 - ], - [ - "innerfocus", - 0.243 - ], - [ - "blaze", - 0.243 - ], - [ - "noguard", - 0.243 - ], - [ - "magician", - 0.243 - ], - [ - "cloudnine", - 0.485 - ], - [ - "voltabsorb", - 0.485 - ], - [ - "ironfist", - 0.243 - ], - [ - "sturdy", - 0.243 - ], - [ - "drizzle", - 0.243 - ], - [ - "clearbody", - 0.243 - ], - [ - "flashfire", - 0.243 - ], - [ - "overgrow", - 0.243 - ], - [ - "sniper", - 0.243 - ], - [ - "soulheart", - 0.243 - ], - [ - "overcoat", - 0.243 - ], - [ - "swiftswim", - 0.243 - ], - [ - "moldbreaker", - 0.243 - ], - [ - "drought", - 0.485 - ], - [ - "toughclaws", - 0.243 - ] - ], - "count": 412, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "discharge", - 66.505 - ], - [ - "toxic", - 65.534 - ], - [ - "triattack", - 100.0 - ], - [ - "icebeam", - 67.961 - ] - ], - "sets": { - "discharge|icebeam|recover|triattack": 34.466, - "discharge|recover|toxic|triattack": 32.039, - "icebeam|recover|toxic|triattack": 33.495 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "porygonz": { - "abilities": [ - [ - "adaptability", - 34.396 - ], - [ - "download", - 65.604 - ] - ], - "count": 596, - "items": [ - [ - "normaliumz", - 18.121 - ], - [ - "choicescarf", - 25.0 - ], - [ - "lifeorb", - 46.812 - ], - [ - "focussash", - 7.047 - ], - [ - "choicespecs", - 3.02 - ] - ], - "moves": [ - [ - "thunderbolt", - 68.456 - ], - [ - "icebeam", - 68.624 - ], - [ - "conversion", - 18.121 - ], - [ - "recover", - 18.121 - ], - [ - "triattack", - 81.879 - ], - [ - "trick", - 20.302 - ], - [ - "nastyplot", - 53.859 - ], - [ - "shadowball", - 70.638 - ] - ], - "sets": { - "conversion|icebeam|recover|shadowball": 6.208, - "conversion|icebeam|recover|thunderbolt": 3.188, - "conversion|recover|shadowball|thunderbolt": 8.725, - "icebeam|nastyplot|shadowball|triattack": 18.289, - "icebeam|nastyplot|thunderbolt|triattack": 18.624, - "icebeam|shadowball|thunderbolt|triattack": 7.718, - "icebeam|shadowball|triattack|trick": 7.047, - "icebeam|thunderbolt|triattack|trick": 7.55, - "nastyplot|shadowball|thunderbolt|triattack": 16.946, - "shadowball|thunderbolt|triattack|trick": 5.705 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "primarina": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 507, - "items": [ - [ - "choicescarf", - 68.047 - ], - [ - "choicespecs", - 31.953 - ] - ], - "moves": [ - [ - "hiddenpowerfire", - 75.148 - ], - [ - "moonblast", - 100.0 - ], - [ - "psychic", - 72.781 - ], - [ - "scald", - 78.107 - ], - [ - "hydropump", - 73.964 - ] - ], - "sets": { - "hiddenpowerfire|hydropump|moonblast|psychic": 21.893, - "hiddenpowerfire|hydropump|moonblast|scald": 27.219, - "hiddenpowerfire|moonblast|psychic|scald": 26.036, - "hydropump|moonblast|psychic|scald": 24.852 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "primeape": { - "abilities": [ - [ - "vitalspirit", - 69.582 - ], - [ - "defiant", - 30.418 - ] - ], - "count": 526, - "items": [ - [ - "leftovers", - 18.441 - ], - [ - "choiceband", - 16.16 - ], - [ - "lifeorb", - 27.947 - ], - [ - "choicescarf", - 30.798 - ], - [ - "focussash", - 6.654 - ] - ], - "moves": [ - [ - "encore", - 53.042 - ], - [ - "uturn", - 48.859 - ], - [ - "stoneedge", - 52.471 - ], - [ - "closecombat", - 100.0 - ], - [ - "earthquake", - 50.38 - ], - [ - "icepunch", - 47.909 - ], - [ - "gunkshot", - 47.338 - ] - ], - "sets": { - "closecombat|earthquake|encore|gunkshot": 4.183, - "closecombat|earthquake|encore|icepunch": 5.133, - "closecombat|earthquake|encore|stoneedge": 6.844, - "closecombat|earthquake|encore|uturn": 3.992, - "closecombat|earthquake|gunkshot|icepunch": 4.373, - "closecombat|earthquake|gunkshot|stoneedge": 5.133, - "closecombat|earthquake|gunkshot|uturn": 5.894, - "closecombat|earthquake|icepunch|stoneedge": 5.133, - "closecombat|earthquake|icepunch|uturn": 4.373, - "closecombat|earthquake|stoneedge|uturn": 5.323, - "closecombat|encore|gunkshot|icepunch": 3.802, - "closecombat|encore|gunkshot|stoneedge": 6.274, - "closecombat|encore|gunkshot|uturn": 5.133, - "closecombat|encore|icepunch|stoneedge": 6.274, - "closecombat|encore|icepunch|uturn": 6.274, - "closecombat|encore|stoneedge|uturn": 5.133, - "closecombat|gunkshot|icepunch|stoneedge": 3.992, - "closecombat|gunkshot|icepunch|uturn": 4.373, - "closecombat|gunkshot|stoneedge|uturn": 4.183, - "closecombat|icepunch|stoneedge|uturn": 4.183 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "probopass": { - "abilities": [ - [ - "magnetpull", - 73.514 - ], - [ - "sturdy", - 26.486 - ] - ], - "count": 185, - "items": [ - [ - "airballoon", - 100.0 - ] - ], - "moves": [ - [ - "flashcannon", - 100.0 - ], - [ - "thunderwave", - 28.649 - ], - [ - "voltswitch", - 67.568 - ], - [ - "earthpower", - 73.514 - ], - [ - "stealthrock", - 68.649 - ], - [ - "toxic", - 61.622 - ] - ], - "sets": { - "earthpower|flashcannon|stealthrock|thunderwave": 9.73, - "earthpower|flashcannon|stealthrock|toxic": 22.703, - "earthpower|flashcannon|stealthrock|voltswitch": 9.73, - "earthpower|flashcannon|thunderwave|voltswitch": 11.351, - "earthpower|flashcannon|toxic|voltswitch": 20.0, - "flashcannon|stealthrock|thunderwave|voltswitch": 7.568, - "flashcannon|stealthrock|toxic|voltswitch": 18.919 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "purugly": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 162, - "items": [ - [ - "lifeorb", - 92.593 - ], - [ - "choiceband", - 7.407 - ] - ], - "moves": [ - [ - "fakeout", - 86.42 - ], - [ - "knockoff", - 67.284 - ], - [ - "uturn", - 100.0 - ], - [ - "return102", - 100.0 - ], - [ - "quickattack", - 13.58 - ], - [ - "suckerpunch", - 32.716 - ] - ], - "sets": { - "fakeout|knockoff|return102|uturn": 59.877, - "fakeout|return102|suckerpunch|uturn": 26.543, - "knockoff|quickattack|return102|uturn": 7.407, - "quickattack|return102|suckerpunch|uturn": 6.173 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pyroar": { - "abilities": [ - [ - "unnerve", - 100.0 - ] - ], - "count": 724, - "items": [ - [ - "lifeorb", - 61.05 - ], - [ - "heatrock", - 26.243 - ], - [ - "focussash", - 7.459 - ], - [ - "grassiumz", - 4.834 - ], - [ - "powerherb", - 0.414 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "hypervoice", - 87.017 - ], - [ - "willowisp", - 76.105 - ], - [ - "darkpulse", - 79.144 - ], - [ - "solarbeam", - 31.492 - ], - [ - "sunnyday", - 26.243 - ] - ], - "sets": { - "darkpulse|fireblast|hypervoice|solarbeam": 5.249, - "darkpulse|fireblast|hypervoice|willowisp": 68.508, - "darkpulse|fireblast|solarbeam|sunnyday": 5.387, - "fireblast|hypervoice|solarbeam|sunnyday": 13.26, - "fireblast|solarbeam|sunnyday|willowisp": 7.597 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pyukumuku": { - "abilities": [ - [ - "innardsout", - 13.068 - ], - [ - "unaware", - 86.932 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 67.614 - ], - [ - "lightclay", - 32.386 - ] - ], - "moves": [ - [ - "toxic", - 67.614 - ], - [ - "recover", - 100.0 - ], - [ - "reflect", - 66.477 - ], - [ - "counter", - 100.0 - ], - [ - "lightscreen", - 65.909 - ] - ], - "sets": { - "counter|lightscreen|recover|reflect": 32.386, - "counter|lightscreen|recover|toxic": 33.523, - "counter|recover|reflect|toxic": 34.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "quagsire": { - "abilities": [ - [ - "unaware", - 81.52 - ], - [ - "waterabsorb", - 18.48 - ] - ], - "count": 579, - "items": [ - [ - "leftovers", - 98.1 - ], - [ - "focussash", - 1.9 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 43.005 - ], - [ - "encore", - 42.66 - ], - [ - "recover", - 74.439 - ], - [ - "icebeam", - 39.896 - ] - ], - "sets": { - "earthquake|encore|icebeam|scald": 7.081, - "earthquake|encore|recover|scald": 25.907, - "earthquake|encore|scald|toxic": 9.672, - "earthquake|icebeam|recover|scald": 24.007, - "earthquake|icebeam|scald|toxic": 8.808, - "earthquake|recover|scald|toxic": 24.525 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "qwilfish": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 570, - "items": [ - [ - "blacksludge", - 85.965 - ], - [ - "focussash", - 14.035 - ] - ], - "moves": [ - [ - "spikes", - 45.263 - ], - [ - "taunt", - 52.982 - ], - [ - "thunderwave", - 51.053 - ], - [ - "liquidation", - 100.0 - ], - [ - "painsplit", - 49.123 - ], - [ - "toxicspikes", - 50.702 - ], - [ - "destinybond", - 50.877 - ] - ], - "sets": { - "destinybond|liquidation|painsplit|spikes": 5.439, - "destinybond|liquidation|painsplit|taunt": 4.737, - "destinybond|liquidation|painsplit|thunderwave": 5.263, - "destinybond|liquidation|painsplit|toxicspikes": 5.088, - "destinybond|liquidation|spikes|taunt": 5.263, - "destinybond|liquidation|spikes|thunderwave": 5.263, - "destinybond|liquidation|spikes|toxicspikes": 3.684, - "destinybond|liquidation|taunt|thunderwave": 5.965, - "destinybond|liquidation|taunt|toxicspikes": 5.439, - "destinybond|liquidation|thunderwave|toxicspikes": 4.737, - "liquidation|painsplit|spikes|taunt": 3.158, - "liquidation|painsplit|spikes|thunderwave": 3.684, - "liquidation|painsplit|spikes|toxicspikes": 4.211, - "liquidation|painsplit|taunt|thunderwave": 5.088, - "liquidation|painsplit|taunt|toxicspikes": 7.368, - "liquidation|painsplit|thunderwave|toxicspikes": 5.088, - "liquidation|spikes|taunt|thunderwave": 5.439, - "liquidation|spikes|taunt|toxicspikes": 4.561, - "liquidation|spikes|thunderwave|toxicspikes": 4.561, - "liquidation|taunt|thunderwave|toxicspikes": 5.965 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raichu": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 94, - "items": [ - [ - "focussash", - 46.809 - ], - [ - "leftovers", - 17.021 - ], - [ - "lifeorb", - 25.532 - ], - [ - "choicespecs", - 10.638 - ] - ], - "moves": [ - [ - "encore", - 63.83 - ], - [ - "hiddenpowerice", - 55.319 - ], - [ - "focusblast", - 55.319 - ], - [ - "thunderbolt", - 87.234 - ], - [ - "voltswitch", - 28.723 - ], - [ - "grassknot", - 54.255 - ], - [ - "nastyplot", - 55.319 - ] - ], - "sets": { - "encore|focusblast|grassknot|thunderbolt": 1.064, - "encore|focusblast|grassknot|voltswitch": 4.255, - "encore|focusblast|hiddenpowerice|thunderbolt": 7.447, - "encore|focusblast|hiddenpowerice|voltswitch": 2.128, - "encore|focusblast|nastyplot|thunderbolt": 11.702, - "encore|focusblast|thunderbolt|voltswitch": 2.128, - "encore|grassknot|hiddenpowerice|thunderbolt": 6.383, - "encore|grassknot|hiddenpowerice|voltswitch": 3.191, - "encore|grassknot|nastyplot|thunderbolt": 8.511, - "encore|grassknot|thunderbolt|voltswitch": 6.383, - "encore|hiddenpowerice|nastyplot|thunderbolt": 9.574, - "encore|hiddenpowerice|thunderbolt|voltswitch": 1.064, - "focusblast|grassknot|hiddenpowerice|thunderbolt": 1.064, - "focusblast|grassknot|hiddenpowerice|voltswitch": 3.191, - "focusblast|grassknot|nastyplot|thunderbolt": 9.574, - "focusblast|grassknot|thunderbolt|voltswitch": 1.064, - "focusblast|hiddenpowerice|nastyplot|thunderbolt": 10.638, - "focusblast|hiddenpowerice|thunderbolt|voltswitch": 1.064, - "grassknot|hiddenpowerice|nastyplot|thunderbolt": 5.319, - "grassknot|hiddenpowerice|thunderbolt|voltswitch": 4.255 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raichualola": { - "abilities": [ - [ - "surgesurfer", - 100.0 - ] - ], - "count": 249, - "items": [ - [ - "choicespecs", - 28.916 - ], - [ - "lifeorb", - 48.193 - ], - [ - "aloraichiumz", - 17.671 - ], - [ - "focussash", - 5.221 - ] - ], - "moves": [ - [ - "voltswitch", - 28.112 - ], - [ - "thunderbolt", - 94.378 - ], - [ - "focusblast", - 72.691 - ], - [ - "psyshock", - 73.092 - ], - [ - "surf", - 67.068 - ], - [ - "nastyplot", - 64.659 - ] - ], - "sets": { - "focusblast|nastyplot|psyshock|thunderbolt": 24.096, - "focusblast|nastyplot|surf|thunderbolt": 20.482, - "focusblast|psyshock|surf|thunderbolt": 7.229, - "focusblast|psyshock|surf|voltswitch": 5.622, - "focusblast|psyshock|thunderbolt|voltswitch": 8.835, - "focusblast|surf|thunderbolt|voltswitch": 6.426, - "nastyplot|psyshock|surf|thunderbolt": 20.08, - "psyshock|surf|thunderbolt|voltswitch": 7.229 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raikou": { - "abilities": [ - [ - "innerfocus", - 76.793 - ], - [ - "pressure", - 23.207 - ] - ], - "count": 474, - "items": [ - [ - "lifeorb", - 36.076 - ], - [ - "leftovers", - 32.7 - ], - [ - "choicespecs", - 25.316 - ], - [ - "focussash", - 5.907 - ] - ], - "moves": [ - [ - "calmmind", - 65.19 - ], - [ - "aurasphere", - 62.025 - ], - [ - "hiddenpowerice", - 63.291 - ], - [ - "thunderbolt", - 93.671 - ], - [ - "extrasensory", - 61.392 - ], - [ - "substitute", - 32.7 - ], - [ - "voltswitch", - 21.73 - ] - ], - "sets": { - "aurasphere|calmmind|extrasensory|thunderbolt": 13.291, - "aurasphere|calmmind|hiddenpowerice|thunderbolt": 12.869, - "aurasphere|calmmind|substitute|thunderbolt": 9.072, - "aurasphere|extrasensory|hiddenpowerice|thunderbolt": 3.586, - "aurasphere|extrasensory|hiddenpowerice|voltswitch": 6.329, - "aurasphere|extrasensory|substitute|thunderbolt": 2.532, - "aurasphere|extrasensory|thunderbolt|voltswitch": 5.274, - "aurasphere|hiddenpowerice|substitute|thunderbolt": 3.376, - "aurasphere|hiddenpowerice|thunderbolt|voltswitch": 5.696, - "calmmind|extrasensory|hiddenpowerice|thunderbolt": 15.823, - "calmmind|extrasensory|substitute|thunderbolt": 6.54, - "calmmind|hiddenpowerice|substitute|thunderbolt": 7.595, - "extrasensory|hiddenpowerice|substitute|thunderbolt": 3.586, - "extrasensory|hiddenpowerice|thunderbolt|voltswitch": 4.43 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rampardos": { - "abilities": [ - [ - "sheerforce", - 85.128 - ], - [ - "moldbreaker", - 14.872 - ] - ], - "count": 195, - "items": [ - [ - "lifeorb", - 95.897 - ], - [ - "choiceband", - 4.103 - ] - ], - "moves": [ - [ - "rockslide", - 27.179 - ], - [ - "earthquake", - 73.333 - ], - [ - "rockpolish", - 76.923 - ], - [ - "firepunch", - 76.41 - ], - [ - "headsmash", - 72.821 - ], - [ - "crunch", - 73.333 - ] - ], - "sets": { - "crunch|earthquake|firepunch|headsmash": 16.923, - "crunch|earthquake|firepunch|rockslide": 6.154, - "crunch|earthquake|headsmash|rockpolish": 17.436, - "crunch|earthquake|rockpolish|rockslide": 6.154, - "crunch|firepunch|headsmash|rockpolish": 16.923, - "crunch|firepunch|rockpolish|rockslide": 9.744, - "earthquake|firepunch|headsmash|rockpolish": 21.538, - "earthquake|firepunch|rockpolish|rockslide": 5.128 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rapidash": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 203, - "items": [ - [ - "lifeorb", - 46.305 - ], - [ - "leftovers", - 53.695 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "wildcharge", - 68.966 - ], - [ - "highhorsepower", - 77.34 - ], - [ - "morningsun", - 78.818 - ], - [ - "willowisp", - 74.877 - ] - ], - "sets": { - "flareblitz|highhorsepower|morningsun|wildcharge": 25.123, - "flareblitz|highhorsepower|morningsun|willowisp": 31.034, - "flareblitz|highhorsepower|wildcharge|willowisp": 21.182, - "flareblitz|morningsun|wildcharge|willowisp": 22.66 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raticate": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "flameorb", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 68.421 - ], - [ - "suckerpunch", - 92.632 - ], - [ - "facade", - 100.0 - ], - [ - "stompingtantrum", - 93.158 - ], - [ - "protect", - 22.105 - ], - [ - "uturn", - 23.684 - ] - ], - "sets": { - "facade|protect|stompingtantrum|suckerpunch": 7.895, - "facade|protect|stompingtantrum|uturn": 7.368, - "facade|protect|suckerpunch|uturn": 6.842, - "facade|stompingtantrum|suckerpunch|swordsdance": 68.421, - "facade|stompingtantrum|suckerpunch|uturn": 9.474 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raticatealola": { - "abilities": [ - [ - "thickfat", - 84.925 - ], - [ - "hustle", - 15.075 - ] - ], - "count": 199, - "items": [ - [ - "lifeorb", - 94.472 - ], - [ - "focussash", - 5.528 - ] - ], - "moves": [ - [ - "suckerpunch", - 100.0 - ], - [ - "doubleedge", - 84.422 - ], - [ - "knockoff", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "return102", - 15.578 - ] - ], - "sets": { - "doubleedge|knockoff|suckerpunch|swordsdance": 84.422, - "knockoff|return102|suckerpunch|swordsdance": 15.578 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rayquaza": { - "abilities": [ - [ - "airlock", - 100.0 - ] - ], - "count": 581, - "items": [ - [ - "lumberry", - 40.964 - ], - [ - "leftovers", - 21.515 - ], - [ - "assaultvest", - 28.399 - ], - [ - "choiceband", - 9.122 - ] - ], - "moves": [ - [ - "outrage", - 64.372 - ], - [ - "dragondance", - 62.478 - ], - [ - "earthquake", - 69.707 - ], - [ - "extremespeed", - 70.74 - ], - [ - "vcreate", - 71.601 - ], - [ - "dracometeor", - 37.522 - ], - [ - "dragonclaw", - 23.58 - ] - ], - "sets": { - "dracometeor|dragonclaw|earthquake|extremespeed": 2.582, - "dracometeor|dragonclaw|earthquake|vcreate": 2.754, - "dracometeor|dragonclaw|extremespeed|vcreate": 2.582, - "dracometeor|dragondance|earthquake|extremespeed": 3.614, - "dracometeor|dragondance|earthquake|vcreate": 3.098, - "dracometeor|dragondance|extremespeed|vcreate": 2.41, - "dracometeor|earthquake|extremespeed|outrage": 5.852, - "dracometeor|earthquake|extremespeed|vcreate": 2.926, - "dracometeor|earthquake|outrage|vcreate": 4.991, - "dracometeor|extremespeed|outrage|vcreate": 6.713, - "dragonclaw|dragondance|earthquake|extremespeed": 3.787, - "dragonclaw|dragondance|earthquake|vcreate": 3.442, - "dragonclaw|dragondance|extremespeed|vcreate": 5.164, - "dragonclaw|earthquake|extremespeed|vcreate": 3.27, - "dragondance|earthquake|extremespeed|outrage": 12.565, - "dragondance|earthquake|outrage|vcreate": 14.974, - "dragondance|extremespeed|outrage|vcreate": 13.425, - "earthquake|extremespeed|outrage|vcreate": 5.852 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "re": { - "abilities": [ - [ - "unaware", - 100.0 - ] - ], - "count": 1, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "encore", - 100.0 - ], - [ - "scald", - 100.0 - ] - ], - "sets": { - "earthquake|encore|recover|scald": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regice": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 182, - "items": [ - [ - "weaknesspolicy", - 41.758 - ], - [ - "leftovers", - 56.044 - ], - [ - "chestoberry", - 2.198 - ] - ], - "moves": [ - [ - "rockpolish", - 42.857 - ], - [ - "icebeam", - 100.0 - ], - [ - "thunderbolt", - 97.802 - ], - [ - "focusblast", - 60.44 - ], - [ - "thunderwave", - 17.582 - ], - [ - "rest", - 41.758 - ], - [ - "sleeptalk", - 39.56 - ] - ], - "sets": { - "focusblast|icebeam|rest|rockpolish": 1.099, - "focusblast|icebeam|rest|thunderwave": 1.099, - "focusblast|icebeam|rockpolish|thunderbolt": 41.758, - "focusblast|icebeam|thunderbolt|thunderwave": 16.484, - "icebeam|rest|sleeptalk|thunderbolt": 39.56 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regigigas": { - "abilities": [ - [ - "slowstart", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 55.191 - ], - [ - "confuseray", - 53.552 - ], - [ - "thunderwave", - 49.18 - ], - [ - "return102", - 100.0 - ], - [ - "drainpunch", - 50.273 - ], - [ - "substitute", - 91.803 - ] - ], - "sets": { - "confuseray|drainpunch|knockoff|return102": 1.093, - "confuseray|drainpunch|return102|substitute": 16.393, - "confuseray|drainpunch|return102|thunderwave": 1.093, - "confuseray|knockoff|return102|substitute": 17.486, - "confuseray|knockoff|return102|thunderwave": 3.279, - "confuseray|return102|substitute|thunderwave": 14.208, - "drainpunch|knockoff|return102|substitute": 15.847, - "drainpunch|knockoff|return102|thunderwave": 2.732, - "drainpunch|return102|substitute|thunderwave": 13.115, - "knockoff|return102|substitute|thunderwave": 14.754 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regirock": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 567, - "items": [ - [ - "chestoberry", - 91.358 - ], - [ - "leftovers", - 8.642 - ] - ], - "moves": [ - [ - "stoneedge", - 75.838 - ], - [ - "thunderwave", - 13.58 - ], - [ - "drainpunch", - 100.0 - ], - [ - "rest", - 91.358 - ], - [ - "toxic", - 20.635 - ], - [ - "rockslide", - 24.868 - ], - [ - "curse", - 65.079 - ], - [ - "stealthrock", - 8.642 - ] - ], - "sets": { - "curse|drainpunch|rest|rockslide": 10.758, - "curse|drainpunch|rest|stoneedge": 54.321, - "drainpunch|rest|rockslide|stoneedge": 0.705, - "drainpunch|rest|rockslide|thunderwave": 5.115, - "drainpunch|rest|rockslide|toxic": 5.115, - "drainpunch|rest|stoneedge|thunderwave": 4.938, - "drainpunch|rest|stoneedge|toxic": 10.406, - "drainpunch|rockslide|stealthrock|thunderwave": 1.764, - "drainpunch|rockslide|stealthrock|toxic": 1.411, - "drainpunch|stealthrock|stoneedge|thunderwave": 1.764, - "drainpunch|stealthrock|stoneedge|toxic": 3.704 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "registeel": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 518, - "items": [ - [ - "chestoberry", - 5.212 - ], - [ - "leftovers", - 94.788 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "stealthrock", - 32.625 - ], - [ - "toxic", - 53.282 - ], - [ - "rest", - 76.255 - ], - [ - "curse", - 66.795 - ], - [ - "sleeptalk", - 71.042 - ] - ], - "sets": { - "curse|ironhead|rest|sleeptalk": 40.734, - "curse|ironhead|rest|stealthrock": 0.772, - "curse|ironhead|rest|toxic": 1.544, - "curse|ironhead|stealthrock|toxic": 23.745, - "ironhead|rest|sleeptalk|stealthrock": 5.212, - "ironhead|rest|sleeptalk|toxic": 25.097, - "ironhead|rest|stealthrock|toxic": 2.896 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "relicanth": { - "abilities": [ - [ - "rockhead", - 92.386 - ], - [ - "sturdy", - 7.614 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 88.325 - ], - [ - "choiceband", - 11.675 - ] - ], - "moves": [ - [ - "waterfall", - 100.0 - ], - [ - "headsmash", - 70.558 - ], - [ - "toxic", - 60.914 - ], - [ - "doubleedge", - 54.315 - ], - [ - "earthquake", - 60.406 - ], - [ - "stealthrock", - 53.807 - ] - ], - "sets": { - "doubleedge|earthquake|headsmash|waterfall": 11.675, - "doubleedge|earthquake|stealthrock|waterfall": 6.091, - "doubleedge|earthquake|toxic|waterfall": 8.629, - "doubleedge|headsmash|stealthrock|waterfall": 10.152, - "doubleedge|headsmash|toxic|waterfall": 10.66, - "doubleedge|stealthrock|toxic|waterfall": 7.107, - "earthquake|headsmash|stealthrock|waterfall": 11.168, - "earthquake|headsmash|toxic|waterfall": 15.228, - "earthquake|stealthrock|toxic|waterfall": 7.614, - "headsmash|stealthrock|toxic|waterfall": 11.675 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "reshiram": { - "abilities": [ - [ - "turboblaze", - 100.0 - ] - ], - "count": 668, - "items": [ - [ - "leftovers", - 97.305 - ], - [ - "assaultvest", - 2.695 - ] - ], - "moves": [ - [ - "roost", - 82.934 - ], - [ - "flamecharge", - 13.473 - ], - [ - "blueflare", - 96.257 - ], - [ - "dragonpulse", - 27.246 - ], - [ - "stoneedge", - 66.018 - ], - [ - "toxic", - 41.317 - ], - [ - "dracometeor", - 72.754 - ] - ], - "sets": { - "blueflare|dracometeor|roost|stoneedge": 40.868, - "blueflare|dracometeor|roost|toxic": 21.257, - "blueflare|dracometeor|stoneedge|toxic": 10.629, - "blueflare|dragonpulse|flamecharge|roost": 7.036, - "blueflare|dragonpulse|flamecharge|stoneedge": 2.695, - "blueflare|dragonpulse|roost|stoneedge": 4.341, - "blueflare|dragonpulse|roost|toxic": 5.689, - "blueflare|dragonpulse|stoneedge|toxic": 3.743, - "dragonpulse|flamecharge|roost|stoneedge": 3.743 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "reuniclus": { - "abilities": [ - [ - "magicguard", - 100.0 - ] - ], - "count": 687, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "shadowball", - 70.306 - ], - [ - "calmmind", - 65.648 - ], - [ - "psyshock", - 66.958 - ], - [ - "recover", - 71.179 - ], - [ - "focusblast", - 68.996 - ], - [ - "trickroom", - 23.872 - ], - [ - "psychic", - 33.042 - ] - ], - "sets": { - "calmmind|focusblast|psychic|recover": 6.987, - "calmmind|focusblast|psychic|shadowball": 5.677, - "calmmind|focusblast|psyshock|recover": 15.429, - "calmmind|focusblast|psyshock|shadowball": 14.702, - "calmmind|psychic|recover|shadowball": 6.987, - "calmmind|psyshock|recover|shadowball": 15.866, - "focusblast|psychic|recover|shadowball": 2.766, - "focusblast|psychic|recover|trickroom": 2.766, - "focusblast|psychic|shadowball|trickroom": 4.221, - "focusblast|psyshock|recover|shadowball": 7.715, - "focusblast|psyshock|recover|trickroom": 4.512, - "focusblast|psyshock|shadowball|trickroom": 4.221, - "psychic|recover|shadowball|trickroom": 3.639, - "psyshock|recover|shadowball|trickroom": 4.512 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rhyperior": { - "abilities": [ - [ - "solidrock", - 100.0 - ] - ], - "count": 500, - "items": [ - [ - "assaultvest", - 12.2 - ], - [ - "weaknesspolicy", - 61.6 - ], - [ - "leftovers", - 19.4 - ], - [ - "choiceband", - 6.8 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 71.2 - ], - [ - "dragontail", - 19.2 - ], - [ - "icepunch", - 57.0 - ], - [ - "megahorn", - 51.0 - ], - [ - "rockpolish", - 61.6 - ], - [ - "stealthrock", - 19.4 - ], - [ - "rockblast", - 20.6 - ] - ], - "sets": { - "dragontail|earthquake|icepunch|megahorn": 0.6, - "dragontail|earthquake|icepunch|rockblast": 1.2, - "dragontail|earthquake|icepunch|stealthrock": 1.2, - "dragontail|earthquake|icepunch|stoneedge": 5.6, - "dragontail|earthquake|megahorn|rockblast": 1.4, - "dragontail|earthquake|megahorn|stealthrock": 1.4, - "dragontail|earthquake|megahorn|stoneedge": 3.4, - "dragontail|earthquake|rockblast|stealthrock": 1.8, - "dragontail|earthquake|stealthrock|stoneedge": 2.6, - "earthquake|icepunch|megahorn|rockblast": 2.4, - "earthquake|icepunch|megahorn|rockpolish": 3.2, - "earthquake|icepunch|megahorn|stealthrock": 1.8, - "earthquake|icepunch|megahorn|stoneedge": 4.4, - "earthquake|icepunch|rockblast|rockpolish": 5.4, - "earthquake|icepunch|rockblast|stealthrock": 1.4, - "earthquake|icepunch|rockpolish|stoneedge": 26.6, - "earthquake|icepunch|stealthrock|stoneedge": 3.2, - "earthquake|megahorn|rockblast|rockpolish": 4.6, - "earthquake|megahorn|rockblast|stealthrock": 2.4, - "earthquake|megahorn|rockpolish|stoneedge": 21.8, - "earthquake|megahorn|stealthrock|stoneedge": 3.6 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ribombee": { - "abilities": [ - [ - "sweetveil", - 86.194 - ], - [ - "shielddust", - 13.806 - ] - ], - "count": 775, - "items": [ - [ - "lifeorb", - 38.065 - ], - [ - "leftovers", - 60.774 - ], - [ - "focussash", - 1.161 - ] - ], - "moves": [ - [ - "roost", - 80.516 - ], - [ - "moonblast", - 100.0 - ], - [ - "hiddenpowerfire", - 39.226 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "quiverdance", - 80.258 - ] - ], - "sets": { - "bugbuzz|hiddenpowerfire|moonblast|quiverdance": 19.484, - "bugbuzz|hiddenpowerfire|moonblast|roost": 19.742, - "bugbuzz|moonblast|quiverdance|roost": 60.774 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "roserade": { - "abilities": [ - [ - "naturalcure", - 86.164 - ], - [ - "technician", - 13.836 - ] - ], - "count": 477, - "items": [ - [ - "blacksludge", - 80.922 - ], - [ - "lifeorb", - 9.853 - ], - [ - "focussash", - 7.547 - ], - [ - "choicespecs", - 1.048 - ], - [ - "choicescarf", - 0.629 - ] - ], - "moves": [ - [ - "sludgebomb", - 54.717 - ], - [ - "synthesis", - 53.249 - ], - [ - "toxicspikes", - 48.428 - ], - [ - "spikes", - 54.088 - ], - [ - "sleeppowder", - 54.088 - ], - [ - "leafstorm", - 46.331 - ], - [ - "hiddenpowerfire", - 53.04 - ], - [ - "gigadrain", - 36.059 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|leafstorm|sludgebomb": 1.677, - "gigadrain|hiddenpowerfire|sleeppowder|sludgebomb": 1.887, - "gigadrain|hiddenpowerfire|sleeppowder|spikes": 2.096, - "gigadrain|hiddenpowerfire|sleeppowder|synthesis": 1.677, - "gigadrain|hiddenpowerfire|sleeppowder|toxicspikes": 1.468, - "gigadrain|hiddenpowerfire|sludgebomb|spikes": 0.839, - "gigadrain|hiddenpowerfire|sludgebomb|synthesis": 1.048, - "gigadrain|hiddenpowerfire|sludgebomb|toxicspikes": 1.258, - "gigadrain|hiddenpowerfire|spikes|synthesis": 2.096, - "gigadrain|hiddenpowerfire|spikes|toxicspikes": 1.677, - "gigadrain|hiddenpowerfire|synthesis|toxicspikes": 2.516, - "gigadrain|sleeppowder|sludgebomb|spikes": 2.725, - "gigadrain|sleeppowder|sludgebomb|synthesis": 1.677, - "gigadrain|sleeppowder|sludgebomb|toxicspikes": 1.887, - "gigadrain|sleeppowder|spikes|synthesis": 2.306, - "gigadrain|sleeppowder|spikes|toxicspikes": 2.516, - "gigadrain|sleeppowder|synthesis|toxicspikes": 0.839, - "gigadrain|sludgebomb|spikes|synthesis": 1.048, - "gigadrain|sludgebomb|spikes|toxicspikes": 1.677, - "gigadrain|sludgebomb|synthesis|toxicspikes": 1.048, - "gigadrain|spikes|synthesis|toxicspikes": 2.096, - "hiddenpowerfire|leafstorm|sleeppowder|sludgebomb": 1.887, - "hiddenpowerfire|leafstorm|sleeppowder|spikes": 3.354, - "hiddenpowerfire|leafstorm|sleeppowder|synthesis": 2.516, - "hiddenpowerfire|leafstorm|sleeppowder|toxicspikes": 1.677, - "hiddenpowerfire|leafstorm|sludgebomb|spikes": 1.258, - "hiddenpowerfire|leafstorm|sludgebomb|synthesis": 1.468, - "hiddenpowerfire|leafstorm|sludgebomb|toxicspikes": 1.468, - "hiddenpowerfire|leafstorm|spikes|synthesis": 2.935, - "hiddenpowerfire|leafstorm|spikes|toxicspikes": 3.145, - "hiddenpowerfire|leafstorm|synthesis|toxicspikes": 2.516, - "hiddenpowerfire|sleeppowder|sludgebomb|spikes": 1.677, - "hiddenpowerfire|sleeppowder|sludgebomb|synthesis": 2.306, - "hiddenpowerfire|sleeppowder|sludgebomb|toxicspikes": 1.468, - "hiddenpowerfire|sludgebomb|spikes|synthesis": 2.935, - "hiddenpowerfire|sludgebomb|spikes|toxicspikes": 2.306, - "hiddenpowerfire|sludgebomb|synthesis|toxicspikes": 1.887, - "leafstorm|sleeppowder|sludgebomb|spikes": 2.096, - "leafstorm|sleeppowder|sludgebomb|synthesis": 2.725, - "leafstorm|sleeppowder|sludgebomb|toxicspikes": 2.935, - "leafstorm|sleeppowder|spikes|synthesis": 2.096, - "leafstorm|sleeppowder|spikes|toxicspikes": 2.096, - "leafstorm|sleeppowder|synthesis|toxicspikes": 2.935, - "leafstorm|sludgebomb|spikes|synthesis": 2.306, - "leafstorm|sludgebomb|spikes|toxicspikes": 0.419, - "leafstorm|sludgebomb|synthesis|toxicspikes": 2.096, - "leafstorm|spikes|synthesis|toxicspikes": 2.725, - "sleeppowder|sludgebomb|spikes|synthesis": 2.935, - "sleeppowder|sludgebomb|spikes|toxicspikes": 1.258, - "sleeppowder|sludgebomb|synthesis|toxicspikes": 1.048, - "sludgebomb|spikes|synthesis|toxicspikes": 1.468 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotom": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 89, - "items": [ - [ - "lifeorb", - 38.202 - ], - [ - "choicescarf", - 13.483 - ], - [ - "leftovers", - 34.831 - ], - [ - "focussash", - 2.247 - ], - [ - "choicespecs", - 11.236 - ] - ], - "moves": [ - [ - "painsplit", - 38.202 - ], - [ - "hiddenpowerice", - 51.685 - ], - [ - "voltswitch", - 57.303 - ], - [ - "shadowball", - 100.0 - ], - [ - "thunderbolt", - 76.404 - ], - [ - "trick", - 13.483 - ], - [ - "substitute", - 24.719 - ], - [ - "willowisp", - 38.202 - ] - ], - "sets": { - "hiddenpowerice|painsplit|shadowball|thunderbolt": 5.618, - "hiddenpowerice|painsplit|shadowball|voltswitch": 6.742, - "hiddenpowerice|shadowball|substitute|thunderbolt": 10.112, - "hiddenpowerice|shadowball|thunderbolt|trick": 4.494, - "hiddenpowerice|shadowball|thunderbolt|voltswitch": 11.236, - "hiddenpowerice|shadowball|thunderbolt|willowisp": 3.371, - "hiddenpowerice|shadowball|trick|voltswitch": 4.494, - "hiddenpowerice|shadowball|voltswitch|willowisp": 5.618, - "painsplit|shadowball|substitute|thunderbolt": 8.989, - "painsplit|shadowball|thunderbolt|voltswitch": 5.618, - "painsplit|shadowball|thunderbolt|willowisp": 4.494, - "painsplit|shadowball|voltswitch|willowisp": 6.742, - "shadowball|substitute|thunderbolt|willowisp": 5.618, - "shadowball|thunderbolt|trick|voltswitch": 4.494, - "shadowball|thunderbolt|voltswitch|willowisp": 12.36 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomfan": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 18, - "items": [ - [ - "focussash", - 33.333 - ], - [ - "lifeorb", - 27.778 - ], - [ - "leftovers", - 38.889 - ] - ], - "moves": [ - [ - "thunderbolt", - 83.333 - ], - [ - "voltswitch", - 72.222 - ], - [ - "willowisp", - 66.667 - ], - [ - "painsplit", - 61.111 - ], - [ - "airslash", - 77.778 - ], - [ - "defog", - 38.889 - ] - ], - "sets": { - "airslash|defog|painsplit|thunderbolt": 11.111, - "airslash|defog|thunderbolt|voltswitch": 5.556, - "airslash|defog|thunderbolt|willowisp": 11.111, - "airslash|defog|voltswitch|willowisp": 5.556, - "airslash|painsplit|thunderbolt|voltswitch": 11.111, - "airslash|painsplit|thunderbolt|willowisp": 5.556, - "airslash|painsplit|voltswitch|willowisp": 11.111, - "airslash|thunderbolt|voltswitch|willowisp": 16.667, - "defog|painsplit|thunderbolt|voltswitch": 5.556, - "painsplit|thunderbolt|voltswitch|willowisp": 16.667 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomfrost": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 96, - "items": [ - [ - "focussash", - 7.292 - ], - [ - "leftovers", - 51.042 - ], - [ - "lifeorb", - 39.583 - ], - [ - "choicescarf", - 2.083 - ] - ], - "moves": [ - [ - "voltswitch", - 67.708 - ], - [ - "blizzard", - 100.0 - ], - [ - "painsplit", - 55.208 - ], - [ - "thunderbolt", - 85.417 - ], - [ - "substitute", - 27.083 - ], - [ - "willowisp", - 62.5 - ], - [ - "trick", - 2.083 - ] - ], - "sets": { - "blizzard|painsplit|substitute|thunderbolt": 8.333, - "blizzard|painsplit|thunderbolt|voltswitch": 20.833, - "blizzard|painsplit|thunderbolt|willowisp": 11.458, - "blizzard|painsplit|voltswitch|willowisp": 14.583, - "blizzard|substitute|thunderbolt|voltswitch": 6.25, - "blizzard|substitute|thunderbolt|willowisp": 12.5, - "blizzard|thunderbolt|trick|voltswitch": 2.083, - "blizzard|thunderbolt|voltswitch|willowisp": 23.958 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomheat": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 96, - "items": [ - [ - "choicescarf", - 7.292 - ], - [ - "lifeorb", - 55.208 - ], - [ - "leftovers", - 22.917 - ], - [ - "focussash", - 12.5 - ], - [ - "choicespecs", - 2.083 - ] - ], - "moves": [ - [ - "voltswitch", - 55.208 - ], - [ - "thunderbolt", - 80.208 - ], - [ - "overheat", - 100.0 - ], - [ - "hiddenpowerice", - 47.917 - ], - [ - "willowisp", - 55.208 - ], - [ - "painsplit", - 61.458 - ] - ], - "sets": { - "hiddenpowerice|overheat|painsplit|thunderbolt": 13.542, - "hiddenpowerice|overheat|painsplit|voltswitch": 5.208, - "hiddenpowerice|overheat|thunderbolt|voltswitch": 9.375, - "hiddenpowerice|overheat|thunderbolt|willowisp": 16.667, - "hiddenpowerice|overheat|voltswitch|willowisp": 3.125, - "overheat|painsplit|thunderbolt|voltswitch": 16.667, - "overheat|painsplit|thunderbolt|willowisp": 14.583, - "overheat|painsplit|voltswitch|willowisp": 11.458, - "overheat|thunderbolt|voltswitch|willowisp": 9.375 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotommow": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 74, - "items": [ - [ - "choicescarf", - 24.324 - ], - [ - "leftovers", - 17.568 - ], - [ - "lifeorb", - 43.243 - ], - [ - "focussash", - 13.514 - ], - [ - "choicespecs", - 1.351 - ] - ], - "moves": [ - [ - "leafstorm", - 100.0 - ], - [ - "trick", - 17.568 - ], - [ - "hiddenpowerfire", - 51.351 - ], - [ - "voltswitch", - 58.108 - ], - [ - "thunderbolt", - 79.73 - ], - [ - "willowisp", - 45.946 - ], - [ - "defog", - 47.297 - ] - ], - "sets": { - "defog|hiddenpowerfire|leafstorm|thunderbolt": 14.865, - "defog|hiddenpowerfire|leafstorm|voltswitch": 1.351, - "defog|leafstorm|thunderbolt|voltswitch": 12.162, - "defog|leafstorm|thunderbolt|willowisp": 12.162, - "defog|leafstorm|voltswitch|willowisp": 6.757, - "hiddenpowerfire|leafstorm|thunderbolt|trick": 4.054, - "hiddenpowerfire|leafstorm|thunderbolt|voltswitch": 8.108, - "hiddenpowerfire|leafstorm|thunderbolt|willowisp": 10.811, - "hiddenpowerfire|leafstorm|trick|voltswitch": 6.757, - "hiddenpowerfire|leafstorm|voltswitch|willowisp": 5.405, - "leafstorm|thunderbolt|trick|voltswitch": 6.757, - "leafstorm|thunderbolt|voltswitch|willowisp": 10.811 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomwash": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 104, - "items": [ - [ - "lifeorb", - 48.077 - ], - [ - "choicescarf", - 21.154 - ], - [ - "leftovers", - 19.231 - ], - [ - "focussash", - 8.654 - ], - [ - "choicespecs", - 2.885 - ] - ], - "moves": [ - [ - "thunderbolt", - 74.038 - ], - [ - "hiddenpowerice", - 49.038 - ], - [ - "painsplit", - 53.846 - ], - [ - "hydropump", - 100.0 - ], - [ - "trick", - 18.269 - ], - [ - "voltswitch", - 61.538 - ], - [ - "willowisp", - 43.269 - ] - ], - "sets": { - "hiddenpowerice|hydropump|painsplit|thunderbolt": 11.538, - "hiddenpowerice|hydropump|painsplit|voltswitch": 9.615, - "hiddenpowerice|hydropump|thunderbolt|trick": 6.731, - "hiddenpowerice|hydropump|thunderbolt|voltswitch": 5.769, - "hiddenpowerice|hydropump|thunderbolt|willowisp": 7.692, - "hiddenpowerice|hydropump|trick|voltswitch": 5.769, - "hiddenpowerice|hydropump|voltswitch|willowisp": 1.923, - "hydropump|painsplit|thunderbolt|voltswitch": 11.538, - "hydropump|painsplit|thunderbolt|willowisp": 12.5, - "hydropump|painsplit|voltswitch|willowisp": 8.654, - "hydropump|thunderbolt|trick|voltswitch": 5.769, - "hydropump|thunderbolt|voltswitch|willowisp": 12.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sableye": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 143, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "willowisp", - 62.238 - ], - [ - "recover", - 81.818 - ], - [ - "knockoff", - 100.0 - ], - [ - "taunt", - 75.524 - ], - [ - "foulplay", - 47.552 - ], - [ - "toxic", - 32.867 - ] - ], - "sets": { - "foulplay|knockoff|recover|taunt": 4.895, - "foulplay|knockoff|recover|toxic": 6.294, - "foulplay|knockoff|recover|willowisp": 18.182, - "foulplay|knockoff|taunt|toxic": 5.594, - "foulplay|knockoff|taunt|willowisp": 12.587, - "knockoff|recover|taunt|toxic": 20.979, - "knockoff|recover|taunt|willowisp": 31.469 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sableyemega": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 429, - "items": [ - [ - "sablenite", - 100.0 - ] - ], - "moves": [ - [ - "calmmind", - 100.0 - ], - [ - "willowisp", - 77.855 - ], - [ - "darkpulse", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "shadowball", - 22.145 - ] - ], - "sets": { - "calmmind|darkpulse|recover|shadowball": 22.145, - "calmmind|darkpulse|recover|willowisp": 77.855 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "salamence": { - "abilities": [ - [ - "intimidate", - 33.333 - ], - [ - "moxie", - 66.667 - ] - ], - "count": 174, - "items": [ - [ - "assaultvest", - 26.437 - ], - [ - "lumberry", - 5.747 - ], - [ - "flyiniumz", - 67.816 - ] - ], - "moves": [ - [ - "fireblast", - 27.011 - ], - [ - "dracometeor", - 35.057 - ], - [ - "dragonclaw", - 20.115 - ], - [ - "earthquake", - 100.0 - ], - [ - "dragondance", - 73.563 - ], - [ - "outrage", - 74.138 - ], - [ - "fly", - 70.115 - ] - ], - "sets": { - "dracometeor|dragonclaw|earthquake|fireblast": 9.195, - "dracometeor|dragondance|earthquake|fly": 7.471, - "dracometeor|dragondance|earthquake|outrage": 1.149, - "dracometeor|earthquake|fireblast|outrage": 17.241, - "dragonclaw|dragondance|earthquake|fly": 9.195, - "dragonclaw|dragondance|earthquake|outrage": 1.724, - "dragondance|earthquake|fireblast|outrage": 0.575, - "dragondance|earthquake|fly|outrage": 53.448 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "salamencemega": { - "abilities": [ - [ - "aerilate", - 100.0 - ] - ], - "count": 492, - "items": [ - [ - "salamencite", - 100.0 - ] - ], - "moves": [ - [ - "doubleedge", - 69.919 - ], - [ - "dracometeor", - 46.341 - ], - [ - "earthquake", - 90.447 - ], - [ - "dragondance", - 63.415 - ], - [ - "roost", - 73.171 - ], - [ - "return102", - 30.081 - ], - [ - "fireblast", - 26.626 - ] - ], - "sets": { - "doubleedge|dracometeor|dragondance|earthquake": 12.195, - "doubleedge|dracometeor|earthquake|fireblast": 5.285, - "doubleedge|dracometeor|earthquake|roost": 7.52, - "doubleedge|dracometeor|fireblast|roost": 5.488, - "doubleedge|dragondance|earthquake|roost": 34.35, - "doubleedge|earthquake|fireblast|roost": 5.081, - "dracometeor|dragondance|earthquake|return102": 5.081, - "dracometeor|earthquake|fireblast|return102": 4.268, - "dracometeor|earthquake|return102|roost": 2.439, - "dracometeor|fireblast|return102|roost": 4.065, - "dragondance|earthquake|return102|roost": 11.789, - "earthquake|fireblast|return102|roost": 2.439 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "salazzle": { - "abilities": [ - [ - "oblivious", - 66.402 - ], - [ - "corrosion", - 33.598 - ] - ], - "count": 503, - "items": [ - [ - "airballoon", - 100.0 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "sludgewave", - 100.0 - ], - [ - "hiddenpowergrass", - 100.0 - ], - [ - "nastyplot", - 100.0 - ] - ], - "sets": { - "fireblast|hiddenpowergrass|nastyplot|sludgewave": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "samurott": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 667, - "items": [ - [ - "lifeorb", - 48.426 - ], - [ - "focussash", - 6.897 - ], - [ - "assaultvest", - 41.679 - ], - [ - "choiceband", - 2.999 - ] - ], - "moves": [ - [ - "megahorn", - 63.268 - ], - [ - "swordsdance", - 55.322 - ], - [ - "liquidation", - 81.559 - ], - [ - "sacredsword", - 58.471 - ], - [ - "aquajet", - 70.315 - ], - [ - "icebeam", - 25.787 - ], - [ - "grassknot", - 26.837 - ], - [ - "hydropump", - 18.441 - ] - ], - "sets": { - "aquajet|grassknot|hydropump|icebeam": 1.349, - "aquajet|grassknot|hydropump|megahorn": 2.549, - "aquajet|grassknot|hydropump|sacredsword": 2.399, - "aquajet|grassknot|icebeam|liquidation": 2.399, - "aquajet|grassknot|liquidation|megahorn": 3.598, - "aquajet|grassknot|liquidation|sacredsword": 1.649, - "aquajet|hydropump|icebeam|megahorn": 2.249, - "aquajet|hydropump|icebeam|sacredsword": 1.349, - "aquajet|hydropump|megahorn|sacredsword": 2.099, - "aquajet|icebeam|liquidation|megahorn": 1.949, - "aquajet|icebeam|liquidation|sacredsword": 2.699, - "aquajet|liquidation|megahorn|sacredsword": 2.999, - "aquajet|liquidation|megahorn|swordsdance": 22.489, - "aquajet|liquidation|sacredsword|swordsdance": 20.54, - "grassknot|hydropump|icebeam|megahorn": 2.249, - "grassknot|hydropump|icebeam|sacredsword": 1.499, - "grassknot|hydropump|megahorn|sacredsword": 1.349, - "grassknot|icebeam|liquidation|megahorn": 2.699, - "grassknot|icebeam|liquidation|sacredsword": 2.849, - "grassknot|liquidation|megahorn|sacredsword": 2.249, - "hydropump|icebeam|megahorn|sacredsword": 1.349, - "icebeam|liquidation|megahorn|sacredsword": 3.148, - "liquidation|megahorn|sacredsword|swordsdance": 12.294 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sandslash": { - "abilities": [ - [ - "sandrush", - 100.0 - ] - ], - "count": 105, - "items": [ - [ - "leftovers", - 60.952 - ], - [ - "focussash", - 39.048 - ] - ], - "moves": [ - [ - "swordsdance", - 70.476 - ], - [ - "earthquake", - 100.0 - ], - [ - "knockoff", - 94.286 - ], - [ - "rapidspin", - 89.524 - ], - [ - "stealthrock", - 21.905 - ], - [ - "toxic", - 23.81 - ] - ], - "sets": { - "earthquake|knockoff|rapidspin|stealthrock": 6.667, - "earthquake|knockoff|rapidspin|swordsdance": 67.619, - "earthquake|knockoff|rapidspin|toxic": 9.524, - "earthquake|knockoff|stealthrock|swordsdance": 1.905, - "earthquake|knockoff|stealthrock|toxic": 7.619, - "earthquake|knockoff|swordsdance|toxic": 0.952, - "earthquake|rapidspin|stealthrock|toxic": 5.714 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sandslashalola": { - "abilities": [ - [ - "slushrush", - 100.0 - ] - ], - "count": 250, - "items": [ - [ - "lifeorb", - 64.8 - ], - [ - "focussash", - 12.8 - ], - [ - "assaultvest", - 11.6 - ], - [ - "leftovers", - 7.6 - ], - [ - "choicescarf", - 2.0 - ], - [ - "choiceband", - 1.2 - ] - ], - "moves": [ - [ - "swordsdance", - 64.0 - ], - [ - "ironhead", - 71.6 - ], - [ - "knockoff", - 60.0 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "earthquake", - 62.0 - ], - [ - "rapidspin", - 21.2 - ], - [ - "stealthrock", - 21.2 - ] - ], - "sets": { - "earthquake|iciclecrash|ironhead|knockoff": 3.2, - "earthquake|iciclecrash|ironhead|rapidspin": 4.4, - "earthquake|iciclecrash|ironhead|stealthrock": 2.8, - "earthquake|iciclecrash|ironhead|swordsdance": 27.2, - "earthquake|iciclecrash|knockoff|rapidspin": 3.2, - "earthquake|iciclecrash|knockoff|stealthrock": 5.2, - "earthquake|iciclecrash|knockoff|swordsdance": 15.2, - "earthquake|iciclecrash|rapidspin|stealthrock": 0.8, - "iciclecrash|ironhead|knockoff|rapidspin": 4.0, - "iciclecrash|ironhead|knockoff|stealthrock": 3.6, - "iciclecrash|ironhead|knockoff|swordsdance": 21.6, - "iciclecrash|ironhead|rapidspin|stealthrock": 4.8, - "iciclecrash|knockoff|rapidspin|stealthrock": 4.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sawk": { - "abilities": [ - [ - "sturdy", - 66.84 - ], - [ - "moldbreaker", - 33.16 - ] - ], - "count": 769, - "items": [ - [ - "choiceband", - 10.663 - ], - [ - "choicescarf", - 18.596 - ], - [ - "leftovers", - 46.684 - ], - [ - "lifeorb", - 21.586 - ], - [ - "focussash", - 2.471 - ] - ], - "moves": [ - [ - "knockoff", - 57.737 - ], - [ - "icepunch", - 55.787 - ], - [ - "closecombat", - 100.0 - ], - [ - "poisonjab", - 56.177 - ], - [ - "earthquake", - 59.558 - ], - [ - "bulkup", - 70.741 - ] - ], - "sets": { - "bulkup|closecombat|earthquake|icepunch": 11.573, - "bulkup|closecombat|earthquake|knockoff": 13.524, - "bulkup|closecombat|earthquake|poisonjab": 11.704, - "bulkup|closecombat|icepunch|knockoff": 11.704, - "bulkup|closecombat|icepunch|poisonjab": 11.313, - "bulkup|closecombat|knockoff|poisonjab": 10.923, - "closecombat|earthquake|icepunch|knockoff": 7.022, - "closecombat|earthquake|icepunch|poisonjab": 7.672, - "closecombat|earthquake|knockoff|poisonjab": 8.062, - "closecombat|icepunch|knockoff|poisonjab": 6.502 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sawsbuck": { - "abilities": [ - [ - "sapsipper", - 98.98 - ], - [ - "chlorophyll", - 1.02 - ] - ], - "count": 196, - "items": [ - [ - "lifeorb", - 52.041 - ], - [ - "leftovers", - 47.959 - ] - ], - "moves": [ - [ - "jumpkick", - 72.959 - ], - [ - "hornleech", - 100.0 - ], - [ - "return102", - 79.082 - ], - [ - "substitute", - 68.878 - ], - [ - "swordsdance", - 79.082 - ] - ], - "sets": { - "hornleech|jumpkick|return102|substitute": 20.918, - "hornleech|jumpkick|return102|swordsdance": 31.122, - "hornleech|jumpkick|substitute|swordsdance": 20.918, - "hornleech|return102|substitute|swordsdance": 27.041 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sceptile": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 118, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "gigadrain", - 100.0 - ], - [ - "hiddenpowerflying", - 50.847 - ], - [ - "leafstorm", - 100.0 - ], - [ - "focusblast", - 100.0 - ], - [ - "hiddenpowerice", - 49.153 - ] - ], - "sets": { - "focusblast|gigadrain|hiddenpowerflying|leafstorm": 50.847, - "focusblast|gigadrain|hiddenpowerice|leafstorm": 49.153 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sceptilemega": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 370, - "items": [ - [ - "sceptilite", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 47.297 - ], - [ - "swordsdance", - 57.027 - ], - [ - "leafblade", - 72.162 - ], - [ - "outrage", - 85.405 - ], - [ - "substitute", - 52.703 - ], - [ - "focusblast", - 20.0 - ], - [ - "dragonpulse", - 14.595 - ], - [ - "gigadrain", - 27.838 - ], - [ - "hiddenpowerfire", - 22.973 - ] - ], - "sets": { - "dragonpulse|earthquake|focusblast|gigadrain": 1.081, - "dragonpulse|earthquake|focusblast|leafblade": 0.27, - "dragonpulse|earthquake|gigadrain|hiddenpowerfire": 2.432, - "dragonpulse|earthquake|gigadrain|substitute": 1.081, - "dragonpulse|earthquake|hiddenpowerfire|leafblade": 1.081, - "dragonpulse|earthquake|leafblade|substitute": 0.541, - "dragonpulse|focusblast|gigadrain|hiddenpowerfire": 1.622, - "dragonpulse|focusblast|gigadrain|substitute": 2.973, - "dragonpulse|focusblast|hiddenpowerfire|leafblade": 0.27, - "dragonpulse|focusblast|leafblade|substitute": 0.27, - "dragonpulse|gigadrain|hiddenpowerfire|substitute": 2.162, - "dragonpulse|hiddenpowerfire|leafblade|substitute": 0.811, - "earthquake|focusblast|gigadrain|outrage": 2.703, - "earthquake|focusblast|leafblade|outrage": 1.081, - "earthquake|gigadrain|hiddenpowerfire|outrage": 2.162, - "earthquake|gigadrain|outrage|substitute": 2.703, - "earthquake|hiddenpowerfire|leafblade|outrage": 1.622, - "earthquake|leafblade|outrage|substitute": 2.432, - "earthquake|leafblade|outrage|swordsdance": 28.108, - "focusblast|gigadrain|hiddenpowerfire|outrage": 2.432, - "focusblast|gigadrain|outrage|substitute": 2.162, - "focusblast|hiddenpowerfire|leafblade|outrage": 2.432, - "focusblast|leafblade|outrage|substitute": 2.703, - "gigadrain|hiddenpowerfire|outrage|substitute": 4.324, - "hiddenpowerfire|leafblade|outrage|substitute": 1.622, - "leafblade|outrage|substitute|swordsdance": 28.919 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scizor": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 143, - "items": [ - [ - "choiceband", - 25.874 - ], - [ - "lifeorb", - 74.126 - ] - ], - "moves": [ - [ - "superpower", - 66.434 - ], - [ - "bulletpunch", - 100.0 - ], - [ - "uturn", - 16.084 - ], - [ - "knockoff", - 64.336 - ], - [ - "swordsdance", - 74.126 - ], - [ - "bugbite", - 71.329 - ], - [ - "pursuit", - 7.692 - ] - ], - "sets": { - "bugbite|bulletpunch|knockoff|superpower": 4.895, - "bugbite|bulletpunch|knockoff|swordsdance": 33.566, - "bugbite|bulletpunch|pursuit|superpower": 4.895, - "bugbite|bulletpunch|superpower|swordsdance": 27.972, - "bulletpunch|knockoff|superpower|swordsdance": 12.587, - "bulletpunch|knockoff|superpower|uturn": 13.287, - "bulletpunch|pursuit|superpower|uturn": 2.797 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scizormega": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 393, - "items": [ - [ - "scizorite", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 39.44 - ], - [ - "bulletpunch", - 100.0 - ], - [ - "swordsdance", - 61.832 - ], - [ - "knockoff", - 40.712 - ], - [ - "defog", - 15.522 - ], - [ - "bugbite", - 55.216 - ], - [ - "roost", - 67.939 - ], - [ - "uturn", - 19.338 - ] - ], - "sets": { - "bugbite|bulletpunch|defog|knockoff": 0.763, - "bugbite|bulletpunch|defog|roost": 2.036, - "bugbite|bulletpunch|defog|superpower": 0.763, - "bugbite|bulletpunch|knockoff|roost": 3.308, - "bugbite|bulletpunch|knockoff|superpower": 1.527, - "bugbite|bulletpunch|knockoff|swordsdance": 6.616, - "bugbite|bulletpunch|roost|superpower": 3.308, - "bugbite|bulletpunch|roost|swordsdance": 29.262, - "bugbite|bulletpunch|superpower|swordsdance": 7.634, - "bulletpunch|defog|knockoff|roost": 1.272, - "bulletpunch|defog|knockoff|superpower": 1.781, - "bulletpunch|defog|knockoff|uturn": 1.781, - "bulletpunch|defog|roost|superpower": 1.272, - "bulletpunch|defog|roost|uturn": 3.308, - "bulletpunch|defog|superpower|uturn": 2.545, - "bulletpunch|knockoff|roost|superpower": 2.799, - "bulletpunch|knockoff|roost|swordsdance": 7.888, - "bulletpunch|knockoff|roost|uturn": 4.326, - "bulletpunch|knockoff|superpower|swordsdance": 4.58, - "bulletpunch|knockoff|superpower|uturn": 4.071, - "bulletpunch|roost|superpower|swordsdance": 5.852, - "bulletpunch|roost|superpower|uturn": 3.308 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scolipede": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 715, - "items": [ - [ - "lifeorb", - 80.699 - ], - [ - "blacksludge", - 18.881 - ], - [ - "focussash", - 0.42 - ] - ], - "moves": [ - [ - "spikes", - 20.42 - ], - [ - "rockslide", - 56.643 - ], - [ - "earthquake", - 53.147 - ], - [ - "megahorn", - 100.0 - ], - [ - "swordsdance", - 59.161 - ], - [ - "poisonjab", - 72.587 - ], - [ - "protect", - 22.657 - ], - [ - "toxicspikes", - 15.385 - ] - ], - "sets": { - "earthquake|megahorn|poisonjab|protect": 3.217, - "earthquake|megahorn|poisonjab|rockslide": 3.636, - "earthquake|megahorn|poisonjab|spikes": 1.399, - "earthquake|megahorn|poisonjab|swordsdance": 23.636, - "earthquake|megahorn|poisonjab|toxicspikes": 2.098, - "earthquake|megahorn|protect|rockslide": 2.238, - "earthquake|megahorn|protect|spikes": 2.098, - "earthquake|megahorn|protect|toxicspikes": 1.538, - "earthquake|megahorn|rockslide|spikes": 2.797, - "earthquake|megahorn|rockslide|swordsdance": 8.671, - "earthquake|megahorn|rockslide|toxicspikes": 0.839, - "earthquake|megahorn|spikes|toxicspikes": 0.979, - "megahorn|poisonjab|protect|rockslide": 2.378, - "megahorn|poisonjab|protect|spikes": 2.937, - "megahorn|poisonjab|protect|toxicspikes": 2.098, - "megahorn|poisonjab|rockslide|spikes": 1.958, - "megahorn|poisonjab|rockslide|swordsdance": 26.853, - "megahorn|poisonjab|rockslide|toxicspikes": 0.979, - "megahorn|poisonjab|spikes|toxicspikes": 1.399, - "megahorn|protect|rockslide|spikes": 2.797, - "megahorn|protect|rockslide|toxicspikes": 1.399, - "megahorn|protect|spikes|toxicspikes": 1.958, - "megahorn|rockslide|spikes|toxicspikes": 2.098 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scrafty": { - "abilities": [ - [ - "moxie", - 91.699 - ], - [ - "intimidate", - 8.301 - ] - ], - "count": 518, - "items": [ - [ - "chestoberry", - 77.22 - ], - [ - "leftovers", - 22.78 - ] - ], - "moves": [ - [ - "drainpunch", - 46.332 - ], - [ - "rest", - 77.22 - ], - [ - "bulkup", - 45.174 - ], - [ - "knockoff", - 100.0 - ], - [ - "highjumpkick", - 53.668 - ], - [ - "dragondance", - 43.243 - ], - [ - "icepunch", - 34.363 - ] - ], - "sets": { - "bulkup|drainpunch|icepunch|knockoff": 7.336, - "bulkup|drainpunch|knockoff|rest": 16.988, - "bulkup|highjumpkick|icepunch|knockoff": 4.826, - "bulkup|highjumpkick|knockoff|rest": 16.023, - "dragondance|drainpunch|icepunch|knockoff": 3.282, - "dragondance|drainpunch|knockoff|rest": 13.32, - "dragondance|highjumpkick|icepunch|knockoff": 7.336, - "dragondance|highjumpkick|knockoff|rest": 19.305, - "drainpunch|icepunch|knockoff|rest": 5.405, - "highjumpkick|icepunch|knockoff|rest": 6.178 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scyther": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 483, - "items": [ - [ - "eviolite", - 81.781 - ], - [ - "choiceband", - 18.219 - ] - ], - "moves": [ - [ - "knockoff", - 38.716 - ], - [ - "swordsdance", - 57.557 - ], - [ - "roost", - 81.781 - ], - [ - "aerialace", - 73.706 - ], - [ - "brickbreak", - 39.545 - ], - [ - "uturn", - 16.77 - ], - [ - "quickattack", - 38.095 - ], - [ - "bugbite", - 53.83 - ] - ], - "sets": { - "aerialace|brickbreak|bugbite|knockoff": 2.277, - "aerialace|brickbreak|bugbite|quickattack": 1.242, - "aerialace|brickbreak|bugbite|roost": 1.242, - "aerialace|brickbreak|knockoff|quickattack": 1.449, - "aerialace|brickbreak|knockoff|roost": 2.07, - "aerialace|brickbreak|knockoff|uturn": 3.934, - "aerialace|brickbreak|quickattack|roost": 3.313, - "aerialace|brickbreak|quickattack|uturn": 2.899, - "aerialace|brickbreak|roost|swordsdance": 7.039, - "aerialace|brickbreak|roost|uturn": 2.07, - "aerialace|bugbite|knockoff|quickattack": 1.656, - "aerialace|bugbite|knockoff|roost": 0.621, - "aerialace|bugbite|quickattack|roost": 1.242, - "aerialace|bugbite|roost|swordsdance": 19.255, - "aerialace|knockoff|quickattack|roost": 1.449, - "aerialace|knockoff|quickattack|uturn": 2.277, - "aerialace|knockoff|roost|swordsdance": 7.039, - "aerialace|knockoff|roost|uturn": 2.484, - "aerialace|quickattack|roost|swordsdance": 7.039, - "aerialace|quickattack|roost|uturn": 3.106, - "brickbreak|bugbite|knockoff|quickattack": 2.484, - "brickbreak|bugbite|knockoff|roost": 1.863, - "brickbreak|bugbite|quickattack|roost": 1.656, - "brickbreak|bugbite|roost|swordsdance": 6.004, - "bugbite|knockoff|quickattack|roost": 3.106, - "bugbite|knockoff|roost|swordsdance": 6.004, - "bugbite|quickattack|roost|swordsdance": 5.176 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "seaking": { - "abilities": [ - [ - "lightningrod", - 99.476 - ], - [ - "swiftswim", - 0.524 - ] - ], - "count": 191, - "items": [ - [ - "lifeorb", - 59.686 - ], - [ - "expertbelt", - 24.607 - ], - [ - "choiceband", - 15.707 - ] - ], - "moves": [ - [ - "waterfall", - 67.539 - ], - [ - "knockoff", - 75.393 - ], - [ - "drillrun", - 76.44 - ], - [ - "icebeam", - 75.393 - ], - [ - "megahorn", - 72.775 - ], - [ - "scald", - 32.461 - ] - ], - "sets": { - "drillrun|icebeam|knockoff|scald": 10.995, - "drillrun|icebeam|knockoff|waterfall": 16.23, - "drillrun|icebeam|megahorn|scald": 5.236, - "drillrun|icebeam|megahorn|waterfall": 19.372, - "drillrun|knockoff|megahorn|scald": 8.901, - "drillrun|knockoff|megahorn|waterfall": 15.707, - "icebeam|knockoff|megahorn|scald": 7.33, - "icebeam|knockoff|megahorn|waterfall": 16.23 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "seismitoad": { - "abilities": [ - [ - "waterabsorb", - 36.811 - ], - [ - "swiftswim", - 63.189 - ] - ], - "count": 508, - "items": [ - [ - "assaultvest", - 6.496 - ], - [ - "lifeorb", - 83.268 - ], - [ - "focussash", - 4.528 - ], - [ - "leftovers", - 5.709 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "scald", - 74.409 - ], - [ - "sludgewave", - 40.354 - ], - [ - "knockoff", - 42.126 - ], - [ - "stealthrock", - 32.874 - ], - [ - "raindance", - 62.598 - ], - [ - "hydropump", - 25.591 - ], - [ - "toxic", - 22.047 - ] - ], - "sets": { - "earthquake|hydropump|knockoff|raindance": 5.709, - "earthquake|hydropump|knockoff|sludgewave": 1.181, - "earthquake|hydropump|knockoff|stealthrock": 1.181, - "earthquake|hydropump|knockoff|toxic": 2.756, - "earthquake|hydropump|raindance|sludgewave": 5.512, - "earthquake|hydropump|raindance|stealthrock": 3.543, - "earthquake|hydropump|sludgewave|stealthrock": 1.378, - "earthquake|hydropump|sludgewave|toxic": 2.756, - "earthquake|hydropump|stealthrock|toxic": 1.575, - "earthquake|knockoff|raindance|scald": 17.52, - "earthquake|knockoff|scald|sludgewave": 5.315, - "earthquake|knockoff|scald|stealthrock": 3.937, - "earthquake|knockoff|scald|toxic": 4.528, - "earthquake|raindance|scald|sludgewave": 16.535, - "earthquake|raindance|scald|stealthrock": 13.78, - "earthquake|scald|sludgewave|stealthrock": 2.362, - "earthquake|scald|sludgewave|toxic": 5.315, - "earthquake|scald|stealthrock|toxic": 5.118 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "serperior": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 587, - "items": [ - [ - "leftovers", - 78.705 - ], - [ - "focussash", - 4.94 - ], - [ - "lifeorb", - 16.354 - ] - ], - "moves": [ - [ - "substitute", - 59.966 - ], - [ - "leafstorm", - 100.0 - ], - [ - "glare", - 64.055 - ], - [ - "hiddenpowerfire", - 57.581 - ], - [ - "dragonpulse", - 60.477 - ], - [ - "leechseed", - 57.922 - ] - ], - "sets": { - "dragonpulse|glare|hiddenpowerfire|leafstorm": 8.518, - "dragonpulse|glare|leafstorm|leechseed": 10.733, - "dragonpulse|glare|leafstorm|substitute": 13.629, - "dragonpulse|hiddenpowerfire|leafstorm|leechseed": 10.051, - "dragonpulse|hiddenpowerfire|leafstorm|substitute": 8.859, - "dragonpulse|leafstorm|leechseed|substitute": 8.688, - "glare|hiddenpowerfire|leafstorm|leechseed": 10.733, - "glare|hiddenpowerfire|leafstorm|substitute": 11.073, - "glare|leafstorm|leechseed|substitute": 9.37, - "hiddenpowerfire|leafstorm|leechseed|substitute": 8.348 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "seviper": { - "abilities": [ - [ - "infiltrator", - 70.115 - ], - [ - "shedskin", - 29.885 - ] - ], - "count": 174, - "items": [ - [ - "focussash", - 17.241 - ], - [ - "lifeorb", - 58.046 - ], - [ - "choicescarf", - 22.989 - ], - [ - "choicespecs", - 0.575 - ], - [ - "expertbelt", - 1.149 - ] - ], - "moves": [ - [ - "suckerpunch", - 60.345 - ], - [ - "earthquake", - 82.184 - ], - [ - "poisonjab", - 84.483 - ], - [ - "swordsdance", - 49.425 - ], - [ - "darkpulse", - 29.31 - ], - [ - "sludgewave", - 16.092 - ], - [ - "flamethrower", - 29.885 - ], - [ - "switcheroo", - 21.264 - ], - [ - "gigadrain", - 27.011 - ] - ], - "sets": { - "darkpulse|earthquake|flamethrower|poisonjab": 4.023, - "darkpulse|earthquake|flamethrower|sludgewave": 0.575, - "darkpulse|earthquake|gigadrain|poisonjab": 2.874, - "darkpulse|earthquake|gigadrain|sludgewave": 4.023, - "darkpulse|earthquake|poisonjab|switcheroo": 4.023, - "darkpulse|earthquake|sludgewave|switcheroo": 1.724, - "darkpulse|flamethrower|gigadrain|poisonjab": 2.299, - "darkpulse|flamethrower|gigadrain|sludgewave": 2.299, - "darkpulse|flamethrower|poisonjab|switcheroo": 2.299, - "darkpulse|flamethrower|sludgewave|switcheroo": 2.299, - "darkpulse|gigadrain|poisonjab|switcheroo": 2.874, - "earthquake|flamethrower|gigadrain|poisonjab": 1.149, - "earthquake|flamethrower|poisonjab|suckerpunch": 3.448, - "earthquake|flamethrower|poisonjab|switcheroo": 3.448, - "earthquake|flamethrower|poisonjab|swordsdance": 0.575, - "earthquake|flamethrower|sludgewave|suckerpunch": 0.575, - "earthquake|flamethrower|sludgewave|switcheroo": 1.149, - "earthquake|gigadrain|poisonjab|suckerpunch": 2.874, - "earthquake|gigadrain|poisonjab|switcheroo": 1.149, - "earthquake|gigadrain|sludgewave|suckerpunch": 1.724, - "earthquake|poisonjab|sludgewave|swordsdance": 0.575, - "earthquake|poisonjab|suckerpunch|swordsdance": 48.276, - "flamethrower|gigadrain|poisonjab|suckerpunch": 2.874, - "flamethrower|gigadrain|poisonjab|switcheroo": 1.724, - "flamethrower|gigadrain|sludgewave|suckerpunch": 0.575, - "flamethrower|gigadrain|sludgewave|switcheroo": 0.575 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sharpedo": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "protect", - 65.979 - ], - [ - "icebeam", - 65.464 - ], - [ - "waterfall", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "earthquake", - 68.557 - ] - ], - "sets": { - "crunch|earthquake|icebeam|waterfall": 34.021, - "crunch|earthquake|protect|waterfall": 34.536, - "crunch|icebeam|protect|waterfall": 31.443 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sharpedomega": { - "abilities": [ - [ - "strongjaw", - 100.0 - ] - ], - "count": 490, - "items": [ - [ - "sharpedonite", - 100.0 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "destinybond", - 48.571 - ], - [ - "icefang", - 51.02 - ], - [ - "waterfall", - 100.0 - ], - [ - "psychicfangs", - 51.837 - ], - [ - "protect", - 48.571 - ] - ], - "sets": { - "crunch|destinybond|icefang|waterfall": 18.776, - "crunch|destinybond|protect|waterfall": 13.673, - "crunch|destinybond|psychicfangs|waterfall": 16.122, - "crunch|icefang|protect|waterfall": 15.714, - "crunch|icefang|psychicfangs|waterfall": 16.531, - "crunch|protect|psychicfangs|waterfall": 19.184 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shaymin": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 208, - "items": [ - [ - "leftovers", - 98.077 - ], - [ - "choicescarf", - 0.962 - ], - [ - "choicespecs", - 0.962 - ] - ], - "moves": [ - [ - "earthpower", - 56.731 - ], - [ - "leechseed", - 50.0 - ], - [ - "rest", - 64.423 - ], - [ - "seedflare", - 100.0 - ], - [ - "psychic", - 50.481 - ], - [ - "substitute", - 25.0 - ], - [ - "airslash", - 53.365 - ] - ], - "sets": { - "airslash|earthpower|leechseed|seedflare": 1.442, - "airslash|earthpower|psychic|seedflare": 1.923, - "airslash|earthpower|rest|seedflare": 15.865, - "airslash|earthpower|seedflare|substitute": 6.731, - "airslash|leechseed|psychic|seedflare": 3.365, - "airslash|leechseed|rest|seedflare": 9.615, - "airslash|leechseed|seedflare|substitute": 2.885, - "airslash|psychic|rest|seedflare": 9.615, - "airslash|psychic|seedflare|substitute": 1.923, - "earthpower|leechseed|psychic|seedflare": 3.846, - "earthpower|leechseed|rest|seedflare": 11.058, - "earthpower|leechseed|seedflare|substitute": 1.923, - "earthpower|psychic|rest|seedflare": 6.25, - "earthpower|psychic|seedflare|substitute": 7.692, - "leechseed|psychic|rest|seedflare": 12.019, - "leechseed|psychic|seedflare|substitute": 3.846 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shayminsky": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 315, - "items": [ - [ - "lifeorb", - 32.063 - ], - [ - "leftovers", - 56.508 - ], - [ - "choicespecs", - 4.127 - ], - [ - "focussash", - 7.302 - ] - ], - "moves": [ - [ - "seedflare", - 100.0 - ], - [ - "earthpower", - 50.794 - ], - [ - "leechseed", - 42.222 - ], - [ - "airslash", - 73.968 - ], - [ - "substitute", - 46.032 - ], - [ - "hiddenpowerice", - 49.206 - ], - [ - "healingwish", - 37.778 - ] - ], - "sets": { - "airslash|earthpower|healingwish|seedflare": 10.159, - "airslash|earthpower|hiddenpowerice|seedflare": 4.127, - "airslash|earthpower|leechseed|seedflare": 4.762, - "airslash|earthpower|seedflare|substitute": 11.111, - "airslash|healingwish|hiddenpowerice|seedflare": 11.429, - "airslash|healingwish|leechseed|seedflare": 6.667, - "airslash|hiddenpowerice|leechseed|seedflare": 4.762, - "airslash|hiddenpowerice|seedflare|substitute": 9.524, - "airslash|leechseed|seedflare|substitute": 11.429, - "earthpower|healingwish|hiddenpowerice|seedflare": 4.444, - "earthpower|healingwish|leechseed|seedflare": 2.857, - "earthpower|hiddenpowerice|leechseed|seedflare": 2.54, - "earthpower|hiddenpowerice|seedflare|substitute": 6.984, - "earthpower|leechseed|seedflare|substitute": 3.81, - "healingwish|hiddenpowerice|leechseed|seedflare": 2.222, - "hiddenpowerice|leechseed|seedflare|substitute": 3.175 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shedinja": { - "abilities": [ - [ - "wonderguard", - 100.0 - ] - ], - "count": 208, - "items": [ - [ - "focussash", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "shadowsneak", - 78.365 - ], - [ - "xscissor", - 100.0 - ], - [ - "willowisp", - 100.0 - ], - [ - "shadowclaw", - 21.635 - ] - ], - "sets": { - "shadowclaw|swordsdance|willowisp|xscissor": 21.635, - "shadowsneak|swordsdance|willowisp|xscissor": 78.365 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shiftry": { - "abilities": [ - [ - "earlybird", - 99.052 - ], - [ - "chlorophyll", - 0.948 - ] - ], - "count": 211, - "items": [ - [ - "lifeorb", - 70.616 - ], - [ - "focussash", - 27.488 - ], - [ - "choicescarf", - 1.896 - ] - ], - "moves": [ - [ - "leafstorm", - 45.972 - ], - [ - "leafblade", - 73.934 - ], - [ - "knockoff", - 88.626 - ], - [ - "suckerpunch", - 73.934 - ], - [ - "swordsdance", - 58.294 - ], - [ - "defog", - 18.483 - ], - [ - "lowkick", - 40.758 - ] - ], - "sets": { - "defog|knockoff|leafblade|leafstorm": 2.37, - "defog|knockoff|leafblade|lowkick": 1.896, - "defog|knockoff|leafblade|suckerpunch": 3.791, - "defog|knockoff|leafstorm|lowkick": 3.318, - "defog|knockoff|leafstorm|suckerpunch": 3.791, - "defog|leafblade|leafstorm|suckerpunch": 3.318, - "knockoff|leafblade|leafstorm|lowkick": 3.318, - "knockoff|leafblade|leafstorm|suckerpunch": 5.687, - "knockoff|leafblade|lowkick|suckerpunch": 5.687, - "knockoff|leafblade|lowkick|swordsdance": 12.322, - "knockoff|leafblade|suckerpunch|swordsdance": 30.332, - "knockoff|leafstorm|lowkick|suckerpunch": 3.318, - "knockoff|leafstorm|lowkick|swordsdance": 2.844, - "knockoff|leafstorm|suckerpunch|swordsdance": 9.953, - "leafblade|leafstorm|lowkick|suckerpunch": 5.213, - "leafstorm|lowkick|suckerpunch|swordsdance": 2.844 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shiinotic": { - "abilities": [ - [ - "effectspore", - 97.196 - ], - [ - "raindish", - 2.804 - ] - ], - "count": 214, - "items": [ - [ - "leftovers", - 89.252 - ], - [ - "focussash", - 10.748 - ] - ], - "moves": [ - [ - "strengthsap", - 80.841 - ], - [ - "spore", - 71.963 - ], - [ - "moonblast", - 100.0 - ], - [ - "substitute", - 76.636 - ], - [ - "leechseed", - 70.561 - ] - ], - "sets": { - "leechseed|moonblast|spore|strengthsap": 23.364, - "leechseed|moonblast|spore|substitute": 19.159, - "leechseed|moonblast|strengthsap|substitute": 28.037, - "moonblast|spore|strengthsap|substitute": 29.439 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shuckle": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 218, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "infestation", - 83.486 - ], - [ - "stickyweb", - 81.651 - ], - [ - "toxic", - 55.963 - ], - [ - "knockoff", - 81.193 - ], - [ - "stealthrock", - 49.083 - ], - [ - "encore", - 48.624 - ] - ], - "sets": { - "encore|infestation|knockoff|stealthrock": 3.67, - "encore|infestation|knockoff|stickyweb": 15.138, - "encore|infestation|knockoff|toxic": 5.963, - "encore|infestation|stealthrock|stickyweb": 6.422, - "encore|infestation|stealthrock|toxic": 1.835, - "encore|infestation|stickyweb|toxic": 3.211, - "encore|knockoff|stealthrock|stickyweb": 3.67, - "encore|knockoff|stealthrock|toxic": 1.376, - "encore|knockoff|stickyweb|toxic": 5.963, - "encore|stealthrock|stickyweb|toxic": 1.376, - "infestation|knockoff|stealthrock|stickyweb": 15.138, - "infestation|knockoff|stealthrock|toxic": 5.505, - "infestation|knockoff|stickyweb|toxic": 20.642, - "infestation|stealthrock|stickyweb|toxic": 5.963, - "knockoff|stealthrock|stickyweb|toxic": 4.128 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sigilyph": { - "abilities": [ - [ - "magicguard", - 100.0 - ] - ], - "count": 526, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "heatwave", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "defog", - 21.103 - ], - [ - "psychic", - 17.871 - ], - [ - "calmmind", - 78.897 - ], - [ - "psyshock", - 82.129 - ] - ], - "sets": { - "calmmind|heatwave|psychic|roost": 11.787, - "calmmind|heatwave|psyshock|roost": 67.11, - "defog|heatwave|psychic|roost": 6.084, - "defog|heatwave|psyshock|roost": 15.019 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvally": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "leftovers", - 50.0 - ], - [ - "assaultvest", - 40.0 - ], - [ - "choiceband", - 10.0 - ] - ], - "moves": [ - [ - "ironhead", - 60.0 - ], - [ - "swordsdance", - 50.0 - ], - [ - "return102", - 60.0 - ], - [ - "crunch", - 50.0 - ], - [ - "uturn", - 40.0 - ], - [ - "flamecharge", - 60.0 - ], - [ - "doubleedge", - 40.0 - ], - [ - "flamethrower", - 10.0 - ], - [ - "icebeam", - 30.0 - ] - ], - "sets": { - "crunch|doubleedge|flamecharge|icebeam": 10.0, - "crunch|doubleedge|flamecharge|swordsdance": 10.0, - "crunch|flamecharge|return102|swordsdance": 10.0, - "crunch|ironhead|return102|swordsdance": 10.0, - "crunch|ironhead|return102|uturn": 10.0, - "doubleedge|flamecharge|ironhead|swordsdance": 10.0, - "doubleedge|flamethrower|icebeam|uturn": 10.0, - "flamecharge|ironhead|return102|swordsdance": 10.0, - "flamecharge|ironhead|return102|uturn": 10.0, - "icebeam|ironhead|return102|uturn": 10.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallybug": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 9, - "items": [ - [ - "bugmemory", - 100.0 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "flamethrower", - 100.0 - ], - [ - "defog", - 100.0 - ], - [ - "icebeam", - 100.0 - ] - ], - "sets": { - "defog|flamethrower|icebeam|thunderbolt": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallydark": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "darkmemory", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "flamecharge", - 100.0 - ], - [ - "multiattack", - 100.0 - ] - ], - "sets": { - "flamecharge|ironhead|multiattack|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallydragon": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 11, - "items": [ - [ - "dragonmemory", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 45.455 - ], - [ - "ironhead", - 72.727 - ], - [ - "flamecharge", - 72.727 - ], - [ - "multiattack", - 90.909 - ], - [ - "uturn", - 36.364 - ], - [ - "icebeam", - 45.455 - ], - [ - "flamethrower", - 27.273 - ], - [ - "dracometeor", - 9.091 - ] - ], - "sets": { - "dracometeor|flamethrower|icebeam|ironhead": 9.091, - "flamecharge|flamethrower|multiattack|uturn": 9.091, - "flamecharge|icebeam|ironhead|multiattack": 9.091, - "flamecharge|icebeam|multiattack|uturn": 9.091, - "flamecharge|ironhead|multiattack|swordsdance": 45.455, - "flamethrower|icebeam|multiattack|uturn": 9.091, - "icebeam|ironhead|multiattack|uturn": 9.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyelectric": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "electricmemory", - 100.0 - ] - ], - "moves": [ - [ - "flamethrower", - 80.0 - ], - [ - "icebeam", - 70.0 - ], - [ - "partingshot", - 70.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "toxic", - 80.0 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 20.0, - "flamethrower|icebeam|multiattack|toxic": 30.0, - "flamethrower|multiattack|partingshot|toxic": 30.0, - "icebeam|multiattack|partingshot|toxic": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfairy": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 31, - "items": [ - [ - "fairymemory", - 100.0 - ] - ], - "moves": [ - [ - "partingshot", - 83.871 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 67.742 - ], - [ - "rockslide", - 80.645 - ], - [ - "thunderwave", - 67.742 - ] - ], - "sets": { - "flamethrower|multiattack|partingshot|rockslide": 32.258, - "flamethrower|multiattack|partingshot|thunderwave": 19.355, - "flamethrower|multiattack|rockslide|thunderwave": 16.129, - "multiattack|partingshot|rockslide|thunderwave": 32.258 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfighting": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "fightingmemory", - 100.0 - ] - ], - "moves": [ - [ - "flamecharge", - 50.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "shadowclaw", - 80.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "ironhead", - 70.0 - ] - ], - "sets": { - "flamecharge|ironhead|multiattack|swordsdance": 20.0, - "flamecharge|multiattack|shadowclaw|swordsdance": 30.0, - "ironhead|multiattack|shadowclaw|swordsdance": 50.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfire": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 11, - "items": [ - [ - "firememory", - 100.0 - ] - ], - "moves": [ - [ - "uturn", - 81.818 - ], - [ - "thunderbolt", - 90.909 - ], - [ - "multiattack", - 100.0 - ], - [ - "icebeam", - 63.636 - ], - [ - "defog", - 63.636 - ] - ], - "sets": { - "defog|icebeam|multiattack|thunderbolt": 18.182, - "defog|icebeam|multiattack|uturn": 9.091, - "defog|multiattack|thunderbolt|uturn": 36.364, - "icebeam|multiattack|thunderbolt|uturn": 36.364 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyflying": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 12, - "items": [ - [ - "flyingmemory", - 100.0 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "thunderwave", - 75.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "partingshot", - 58.333 - ], - [ - "flamethrower", - 66.667 - ] - ], - "sets": { - "flamethrower|ironhead|multiattack|partingshot": 25.0, - "flamethrower|ironhead|multiattack|thunderwave": 41.667, - "ironhead|multiattack|partingshot|thunderwave": 33.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyghost": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "ghostmemory", - 100.0 - ] - ], - "moves": [ - [ - "partingshot", - 100.0 - ], - [ - "icebeam", - 60.0 - ], - [ - "toxic", - 60.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 80.0 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 40.0, - "flamethrower|multiattack|partingshot|toxic": 40.0, - "icebeam|multiattack|partingshot|toxic": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallygrass": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 11, - "items": [ - [ - "grassmemory", - 100.0 - ] - ], - "moves": [ - [ - "partingshot", - 54.545 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 90.909 - ], - [ - "icebeam", - 72.727 - ], - [ - "toxic", - 81.818 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 18.182, - "flamethrower|icebeam|multiattack|toxic": 45.455, - "flamethrower|multiattack|partingshot|toxic": 27.273, - "icebeam|multiattack|partingshot|toxic": 9.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyground": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 10, - "items": [ - [ - "groundmemory", - 100.0 - ] - ], - "moves": [ - [ - "rockslide", - 100.0 - ], - [ - "flamecharge", - 100.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "swordsdance", - 100.0 - ] - ], - "sets": { - "flamecharge|multiattack|rockslide|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyice": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 11, - "items": [ - [ - "icememory", - 100.0 - ] - ], - "moves": [ - [ - "flamethrower", - 81.818 - ], - [ - "uturn", - 72.727 - ], - [ - "toxic", - 81.818 - ], - [ - "multiattack", - 100.0 - ], - [ - "thunderbolt", - 63.636 - ] - ], - "sets": { - "flamethrower|multiattack|thunderbolt|toxic": 27.273, - "flamethrower|multiattack|thunderbolt|uturn": 18.182, - "flamethrower|multiattack|toxic|uturn": 36.364, - "multiattack|thunderbolt|toxic|uturn": 18.182 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallypoison": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 13, - "items": [ - [ - "poisonmemory", - 100.0 - ] - ], - "moves": [ - [ - "partingshot", - 92.308 - ], - [ - "toxic", - 84.615 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 76.923 - ], - [ - "icebeam", - 46.154 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 15.385, - "flamethrower|icebeam|multiattack|toxic": 7.692, - "flamethrower|multiattack|partingshot|toxic": 53.846, - "icebeam|multiattack|partingshot|toxic": 23.077 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallypsychic": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 4, - "items": [ - [ - "psychicmemory", - 100.0 - ] - ], - "moves": [ - [ - "thunderwave", - 100.0 - ], - [ - "flamethrower", - 75.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "rockslide", - 50.0 - ], - [ - "partingshot", - 75.0 - ] - ], - "sets": { - "flamethrower|multiattack|partingshot|thunderwave": 50.0, - "flamethrower|multiattack|rockslide|thunderwave": 25.0, - "multiattack|partingshot|rockslide|thunderwave": 25.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyrock": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 12, - "items": [ - [ - "rockmemory", - 100.0 - ] - ], - "moves": [ - [ - "multiattack", - 100.0 - ], - [ - "icebeam", - 58.333 - ], - [ - "flamethrower", - 66.667 - ], - [ - "partingshot", - 91.667 - ], - [ - "toxic", - 83.333 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 16.667, - "flamethrower|icebeam|multiattack|toxic": 8.333, - "flamethrower|multiattack|partingshot|toxic": 41.667, - "icebeam|multiattack|partingshot|toxic": 33.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallysteel": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 20, - "items": [ - [ - "steelmemory", - 100.0 - ] - ], - "moves": [ - [ - "flamethrower", - 85.0 - ], - [ - "defog", - 70.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "crunch", - 70.0 - ], - [ - "thunderbolt", - 75.0 - ] - ], - "sets": { - "crunch|defog|flamethrower|multiattack": 25.0, - "crunch|defog|multiattack|thunderbolt": 15.0, - "crunch|flamethrower|multiattack|thunderbolt": 30.0, - "defog|flamethrower|multiattack|thunderbolt": 30.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallywater": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 12, - "items": [ - [ - "watermemory", - 100.0 - ] - ], - "moves": [ - [ - "defog", - 75.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "icebeam", - 66.667 - ], - [ - "thunderbolt", - 83.333 - ], - [ - "partingshot", - 75.0 - ] - ], - "sets": { - "defog|icebeam|multiattack|partingshot": 16.667, - "defog|icebeam|multiattack|thunderbolt": 25.0, - "defog|multiattack|partingshot|thunderbolt": 33.333, - "icebeam|multiattack|partingshot|thunderbolt": 25.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "simipour": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 74.432 - ], - [ - "lifeorb", - 18.182 - ], - [ - "focussash", - 7.386 - ] - ], - "moves": [ - [ - "nastyplot", - 80.682 - ], - [ - "icebeam", - 74.432 - ], - [ - "substitute", - 74.432 - ], - [ - "hydropump", - 100.0 - ], - [ - "focusblast", - 70.455 - ] - ], - "sets": { - "focusblast|hydropump|icebeam|nastyplot": 25.568, - "focusblast|hydropump|icebeam|substitute": 19.318, - "focusblast|hydropump|nastyplot|substitute": 25.568, - "hydropump|icebeam|nastyplot|substitute": 29.545 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "simisage": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "lifeorb", - 67.204 - ], - [ - "focussash", - 15.591 - ], - [ - "leftovers", - 15.054 - ], - [ - "choicespecs", - 2.151 - ] - ], - "moves": [ - [ - "hiddenpowerice", - 87.634 - ], - [ - "focusblast", - 52.151 - ], - [ - "nastyplot", - 68.817 - ], - [ - "leafstorm", - 43.011 - ], - [ - "superpower", - 38.71 - ], - [ - "gigadrain", - 59.14 - ], - [ - "knockoff", - 25.806 - ], - [ - "substitute", - 24.731 - ] - ], - "sets": { - "focusblast|gigadrain|hiddenpowerice|knockoff": 0.538, - "focusblast|gigadrain|hiddenpowerice|leafstorm": 2.151, - "focusblast|gigadrain|hiddenpowerice|nastyplot": 21.505, - "focusblast|gigadrain|hiddenpowerice|substitute": 2.151, - "focusblast|gigadrain|knockoff|substitute": 0.538, - "focusblast|gigadrain|nastyplot|substitute": 7.527, - "focusblast|hiddenpowerice|knockoff|leafstorm": 2.688, - "focusblast|hiddenpowerice|leafstorm|nastyplot": 15.054, - "gigadrain|hiddenpowerice|knockoff|substitute": 1.613, - "gigadrain|hiddenpowerice|knockoff|superpower": 2.688, - "gigadrain|hiddenpowerice|nastyplot|substitute": 7.527, - "gigadrain|hiddenpowerice|nastyplot|superpower": 7.527, - "gigadrain|hiddenpowerice|substitute|superpower": 1.075, - "gigadrain|knockoff|substitute|superpower": 4.301, - "hiddenpowerice|knockoff|leafstorm|superpower": 13.441, - "hiddenpowerice|leafstorm|nastyplot|superpower": 9.677 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "simisear": { - "abilities": [ - [ - "blaze", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "leftovers", - 65.5 - ], - [ - "focussash", - 12.0 - ], - [ - "lifeorb", - 17.0 - ], - [ - "choicespecs", - 5.5 - ] - ], - "moves": [ - [ - "substitute", - 65.5 - ], - [ - "fireblast", - 100.0 - ], - [ - "nastyplot", - 70.0 - ], - [ - "hiddenpowerrock", - 53.5 - ], - [ - "grassknot", - 54.0 - ], - [ - "focusblast", - 57.0 - ] - ], - "sets": { - "fireblast|focusblast|grassknot|hiddenpowerrock": 5.5, - "fireblast|focusblast|grassknot|nastyplot": 11.5, - "fireblast|focusblast|grassknot|substitute": 8.0, - "fireblast|focusblast|hiddenpowerrock|nastyplot": 10.0, - "fireblast|focusblast|hiddenpowerrock|substitute": 6.5, - "fireblast|focusblast|nastyplot|substitute": 15.5, - "fireblast|grassknot|hiddenpowerrock|nastyplot": 7.5, - "fireblast|grassknot|hiddenpowerrock|substitute": 10.0, - "fireblast|grassknot|nastyplot|substitute": 11.5, - "fireblast|hiddenpowerrock|nastyplot|substitute": 14.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "skarmory": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 620, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "stealthrock", - 53.71 - ], - [ - "roost", - 88.871 - ], - [ - "defog", - 18.548 - ], - [ - "bravebird", - 100.0 - ], - [ - "whirlwind", - 72.419 - ], - [ - "spikes", - 66.452 - ] - ], - "sets": { - "bravebird|defog|roost|spikes": 2.258, - "bravebird|defog|roost|stealthrock": 2.581, - "bravebird|defog|roost|whirlwind": 13.71, - "bravebird|roost|spikes|stealthrock": 22.742, - "bravebird|roost|spikes|whirlwind": 30.323, - "bravebird|roost|stealthrock|whirlwind": 17.258, - "bravebird|spikes|stealthrock|whirlwind": 11.129 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "skuntank": { - "abilities": [ - [ - "aftermath", - 100.0 - ] - ], - "count": 523, - "items": [ - [ - "lifeorb", - 81.836 - ], - [ - "focussash", - 8.413 - ], - [ - "blacksludge", - 8.222 - ], - [ - "choicescarf", - 1.53 - ] - ], - "moves": [ - [ - "suckerpunch", - 62.333 - ], - [ - "poisonjab", - 90.057 - ], - [ - "fireblast", - 59.082 - ], - [ - "crunch", - 93.117 - ], - [ - "pursuit", - 19.503 - ], - [ - "defog", - 35.564 - ], - [ - "taunt", - 40.344 - ] - ], - "sets": { - "crunch|defog|fireblast|poisonjab": 3.824, - "crunch|defog|fireblast|pursuit": 3.059, - "crunch|defog|fireblast|taunt": 4.78, - "crunch|defog|poisonjab|pursuit": 1.53, - "crunch|defog|poisonjab|suckerpunch": 13.767, - "crunch|defog|poisonjab|taunt": 4.971, - "crunch|fireblast|poisonjab|pursuit": 1.721, - "crunch|fireblast|poisonjab|suckerpunch": 32.122, - "crunch|fireblast|poisonjab|taunt": 4.589, - "crunch|fireblast|pursuit|taunt": 2.103, - "crunch|poisonjab|pursuit|taunt": 4.207, - "crunch|poisonjab|suckerpunch|taunt": 16.444, - "defog|fireblast|poisonjab|pursuit": 3.633, - "fireblast|poisonjab|pursuit|taunt": 3.25 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slaking": { - "abilities": [ - [ - "truant", - 100.0 - ] - ], - "count": 181, - "items": [ - [ - "choicescarf", - 61.878 - ], - [ - "choiceband", - 38.122 - ] - ], - "moves": [ - [ - "earthquake", - 81.215 - ], - [ - "firepunch", - 74.586 - ], - [ - "nightslash", - 27.624 - ], - [ - "gigaimpact", - 75.138 - ], - [ - "pursuit", - 66.298 - ], - [ - "retaliate", - 75.138 - ] - ], - "sets": { - "earthquake|firepunch|gigaimpact|nightslash": 10.497, - "earthquake|firepunch|gigaimpact|pursuit": 14.365, - "earthquake|firepunch|gigaimpact|retaliate": 6.077, - "earthquake|firepunch|nightslash|retaliate": 6.63, - "earthquake|firepunch|pursuit|retaliate": 18.232, - "earthquake|gigaimpact|nightslash|retaliate": 4.972, - "earthquake|gigaimpact|pursuit|retaliate": 20.442, - "firepunch|gigaimpact|nightslash|retaliate": 5.525, - "firepunch|gigaimpact|pursuit|retaliate": 13.26 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowbro": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 110, - "items": [ - [ - "leftovers", - 93.636 - ], - [ - "choicespecs", - 6.364 - ] - ], - "moves": [ - [ - "psyshock", - 65.455 - ], - [ - "slackoff", - 62.727 - ], - [ - "icebeam", - 54.545 - ], - [ - "scald", - 100.0 - ], - [ - "fireblast", - 51.818 - ], - [ - "toxic", - 38.182 - ], - [ - "thunderwave", - 27.273 - ] - ], - "sets": { - "fireblast|icebeam|psyshock|scald": 6.364, - "fireblast|icebeam|scald|slackoff": 8.182, - "fireblast|icebeam|scald|thunderwave": 2.727, - "fireblast|icebeam|scald|toxic": 10.909, - "fireblast|psyshock|scald|slackoff": 11.818, - "fireblast|psyshock|scald|thunderwave": 4.545, - "fireblast|psyshock|scald|toxic": 2.727, - "fireblast|scald|slackoff|thunderwave": 0.909, - "fireblast|scald|slackoff|toxic": 3.636, - "icebeam|psyshock|scald|slackoff": 8.182, - "icebeam|psyshock|scald|thunderwave": 7.273, - "icebeam|psyshock|scald|toxic": 2.727, - "icebeam|scald|slackoff|thunderwave": 1.818, - "icebeam|scald|slackoff|toxic": 6.364, - "psyshock|scald|slackoff|thunderwave": 10.0, - "psyshock|scald|slackoff|toxic": 11.818 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowbromega": { - "abilities": [ - [ - "shellarmor", - 100.0 - ] - ], - "count": 354, - "items": [ - [ - "slowbronite", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "fireblast", - 44.915 - ], - [ - "psyshock", - 66.949 - ], - [ - "calmmind", - 68.927 - ], - [ - "icebeam", - 46.045 - ], - [ - "slackoff", - 73.164 - ] - ], - "sets": { - "calmmind|fireblast|icebeam|scald": 7.345, - "calmmind|fireblast|psyshock|scald": 7.062, - "calmmind|fireblast|scald|slackoff": 6.78, - "calmmind|icebeam|psyshock|scald": 6.497, - "calmmind|icebeam|scald|slackoff": 9.04, - "calmmind|psyshock|scald|slackoff": 32.203, - "fireblast|icebeam|psyshock|scald": 5.932, - "fireblast|icebeam|scald|slackoff": 9.887, - "fireblast|psyshock|scald|slackoff": 7.91, - "icebeam|psyshock|scald|slackoff": 7.345 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowking": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 479, - "items": [ - [ - "leftovers", - 89.144 - ], - [ - "assaultvest", - 2.714 - ], - [ - "lifeorb", - 4.593 - ], - [ - "choicespecs", - 3.549 - ] - ], - "moves": [ - [ - "psyshock", - 58.246 - ], - [ - "slackoff", - 63.257 - ], - [ - "toxic", - 11.691 - ], - [ - "scald", - 100.0 - ], - [ - "nastyplot", - 55.532 - ], - [ - "icebeam", - 20.251 - ], - [ - "trickroom", - 10.856 - ], - [ - "grassknot", - 21.712 - ], - [ - "dragontail", - 10.438 - ], - [ - "fireblast", - 17.954 - ], - [ - "psychic", - 21.712 - ], - [ - "thunderwave", - 8.351 - ] - ], - "sets": { - "dragontail|fireblast|grassknot|scald": 0.626, - "dragontail|fireblast|icebeam|scald": 0.418, - "dragontail|fireblast|psyshock|scald": 0.418, - "dragontail|fireblast|scald|slackoff": 0.209, - "dragontail|fireblast|scald|thunderwave": 0.418, - "dragontail|fireblast|scald|toxic": 0.835, - "dragontail|grassknot|icebeam|scald": 0.209, - "dragontail|grassknot|psychic|scald": 0.209, - "dragontail|grassknot|psyshock|scald": 0.418, - "dragontail|grassknot|scald|slackoff": 0.418, - "dragontail|grassknot|scald|thunderwave": 1.044, - "dragontail|grassknot|scald|toxic": 0.209, - "dragontail|icebeam|psychic|scald": 0.209, - "dragontail|icebeam|psyshock|scald": 0.209, - "dragontail|icebeam|scald|slackoff": 0.418, - "dragontail|icebeam|scald|thunderwave": 0.418, - "dragontail|icebeam|scald|toxic": 0.209, - "dragontail|psychic|scald|slackoff": 0.209, - "dragontail|psychic|scald|toxic": 0.626, - "dragontail|psyshock|scald|slackoff": 1.044, - "dragontail|psyshock|scald|thunderwave": 0.626, - "dragontail|psyshock|scald|toxic": 0.626, - "dragontail|scald|slackoff|toxic": 0.418, - "fireblast|grassknot|icebeam|scald": 0.209, - "fireblast|grassknot|nastyplot|scald": 0.835, - "fireblast|grassknot|psychic|scald": 1.044, - "fireblast|grassknot|psyshock|scald": 1.044, - "fireblast|grassknot|scald|slackoff": 0.418, - "fireblast|grassknot|scald|thunderwave": 0.209, - "fireblast|grassknot|scald|toxic": 0.418, - "fireblast|grassknot|scald|trickroom": 0.626, - "fireblast|icebeam|nastyplot|scald": 0.418, - "fireblast|icebeam|psychic|scald": 0.209, - "fireblast|icebeam|psyshock|scald": 0.626, - "fireblast|icebeam|scald|slackoff": 0.209, - "fireblast|icebeam|scald|thunderwave": 0.209, - "fireblast|icebeam|scald|toxic": 0.209, - "fireblast|icebeam|scald|trickroom": 0.418, - "fireblast|nastyplot|psychic|scald": 0.626, - "fireblast|nastyplot|psyshock|scald": 1.461, - "fireblast|nastyplot|scald|slackoff": 1.044, - "fireblast|psychic|scald|slackoff": 0.418, - "fireblast|psychic|scald|thunderwave": 0.418, - "fireblast|psychic|scald|toxic": 0.209, - "fireblast|psychic|scald|trickroom": 0.626, - "fireblast|psyshock|scald|slackoff": 1.044, - "fireblast|psyshock|scald|thunderwave": 0.209, - "fireblast|psyshock|scald|toxic": 0.418, - "fireblast|psyshock|scald|trickroom": 0.418, - "fireblast|scald|slackoff|thunderwave": 0.418, - "fireblast|scald|slackoff|toxic": 0.418, - "fireblast|scald|slackoff|trickroom": 0.209, - "grassknot|icebeam|nastyplot|scald": 1.253, - "grassknot|icebeam|psychic|scald": 0.418, - "grassknot|icebeam|scald|slackoff": 0.209, - "grassknot|icebeam|scald|thunderwave": 0.209, - "grassknot|icebeam|scald|trickroom": 1.044, - "grassknot|nastyplot|psychic|scald": 1.044, - "grassknot|nastyplot|psyshock|scald": 2.923, - "grassknot|nastyplot|scald|slackoff": 1.044, - "grassknot|psychic|scald|slackoff": 0.626, - "grassknot|psychic|scald|thunderwave": 0.418, - "grassknot|psychic|scald|trickroom": 0.209, - "grassknot|psyshock|scald|slackoff": 1.879, - "grassknot|psyshock|scald|thunderwave": 0.626, - "grassknot|psyshock|scald|toxic": 0.209, - "grassknot|psyshock|scald|trickroom": 0.209, - "grassknot|scald|slackoff|thunderwave": 0.418, - "grassknot|scald|slackoff|toxic": 0.418, - "grassknot|scald|slackoff|trickroom": 0.418, - "grassknot|scald|toxic|trickroom": 0.209, - "icebeam|nastyplot|psychic|scald": 1.67, - "icebeam|nastyplot|psyshock|scald": 2.714, - "icebeam|nastyplot|scald|slackoff": 0.209, - "icebeam|psychic|scald|slackoff": 0.835, - "icebeam|psychic|scald|thunderwave": 0.626, - "icebeam|psychic|scald|trickroom": 0.418, - "icebeam|psyshock|scald|slackoff": 1.044, - "icebeam|psyshock|scald|thunderwave": 0.418, - "icebeam|psyshock|scald|toxic": 1.461, - "icebeam|psyshock|scald|trickroom": 0.626, - "icebeam|scald|slackoff|thunderwave": 0.209, - "icebeam|scald|slackoff|toxic": 0.626, - "icebeam|scald|slackoff|trickroom": 0.835, - "icebeam|scald|toxic|trickroom": 0.835, - "nastyplot|psychic|scald|slackoff": 7.724, - "nastyplot|psyshock|scald|slackoff": 32.568, - "psychic|scald|slackoff|thunderwave": 0.835, - "psychic|scald|slackoff|toxic": 1.253, - "psychic|scald|slackoff|trickroom": 0.418, - "psychic|scald|toxic|trickroom": 0.418, - "psyshock|scald|slackoff|thunderwave": 0.626, - "psyshock|scald|slackoff|toxic": 1.461, - "psyshock|scald|slackoff|trickroom": 2.714, - "psyshock|scald|toxic|trickroom": 0.209 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slurpuff": { - "abilities": [ - [ - "unburden", - 100.0 - ] - ], - "count": 770, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "playrough", - 100.0 - ], - [ - "drainpunch", - 100.0 - ], - [ - "return102", - 100.0 - ], - [ - "bellydrum", - 100.0 - ] - ], - "sets": { - "bellydrum|drainpunch|playrough|return102": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "smeargle": { - "abilities": [ - [ - "owntempo", - 100.0 - ] - ], - "count": 209, - "items": [ - [ - "focussash", - 100.0 - ] - ], - "moves": [ - [ - "stickyweb", - 99.522 - ], - [ - "spore", - 76.077 - ], - [ - "destinybond", - 76.555 - ], - [ - "whirlwind", - 77.033 - ], - [ - "stealthrock", - 70.813 - ] - ], - "sets": { - "destinybond|spore|stealthrock|stickyweb": 22.967, - "destinybond|spore|stealthrock|whirlwind": 0.478, - "destinybond|spore|stickyweb|whirlwind": 29.187, - "destinybond|stealthrock|stickyweb|whirlwind": 23.923, - "spore|stealthrock|stickyweb|whirlwind": 23.445 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "snorlax": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 451, - "items": [ - [ - "assaultvest", - 10.643 - ], - [ - "leftovers", - 82.483 - ], - [ - "choiceband", - 6.874 - ] - ], - "moves": [ - [ - "bodyslam", - 60.754 - ], - [ - "crunch", - 56.098 - ], - [ - "firepunch", - 53.88 - ], - [ - "earthquake", - 53.659 - ], - [ - "curse", - 55.211 - ], - [ - "return102", - 39.246 - ], - [ - "pursuit", - 22.173 - ], - [ - "whirlwind", - 21.729 - ], - [ - "sleeptalk", - 18.625 - ], - [ - "rest", - 18.625 - ] - ], - "sets": { - "bodyslam|crunch|curse|earthquake": 11.086, - "bodyslam|crunch|curse|firepunch": 11.086, - "bodyslam|crunch|earthquake|firepunch": 3.104, - "bodyslam|crunch|earthquake|pursuit": 1.774, - "bodyslam|crunch|earthquake|whirlwind": 1.996, - "bodyslam|crunch|firepunch|pursuit": 3.548, - "bodyslam|crunch|firepunch|whirlwind": 1.774, - "bodyslam|crunch|pursuit|whirlwind": 2.439, - "bodyslam|crunch|rest|sleeptalk": 0.222, - "bodyslam|curse|earthquake|firepunch": 9.756, - "bodyslam|curse|rest|sleeptalk": 3.769, - "bodyslam|earthquake|firepunch|pursuit": 2.217, - "bodyslam|earthquake|firepunch|whirlwind": 1.109, - "bodyslam|earthquake|pursuit|whirlwind": 1.774, - "bodyslam|earthquake|rest|sleeptalk": 1.33, - "bodyslam|firepunch|pursuit|whirlwind": 1.552, - "bodyslam|firepunch|rest|sleeptalk": 0.665, - "bodyslam|rest|sleeptalk|whirlwind": 1.552, - "crunch|curse|earthquake|return102": 4.213, - "crunch|curse|firepunch|return102": 3.769, - "crunch|earthquake|firepunch|return102": 1.552, - "crunch|earthquake|pursuit|return102": 1.33, - "crunch|earthquake|return102|whirlwind": 1.33, - "crunch|firepunch|pursuit|return102": 1.774, - "crunch|firepunch|return102|whirlwind": 1.552, - "crunch|pursuit|return102|whirlwind": 2.439, - "crunch|rest|return102|sleeptalk": 1.109, - "curse|earthquake|firepunch|return102": 5.543, - "curse|rest|return102|sleeptalk": 5.987, - "earthquake|firepunch|pursuit|return102": 2.217, - "earthquake|firepunch|return102|whirlwind": 1.33, - "earthquake|pursuit|return102|whirlwind": 0.443, - "earthquake|rest|return102|sleeptalk": 1.552, - "firepunch|pursuit|return102|whirlwind": 0.665, - "firepunch|rest|return102|sleeptalk": 0.665, - "rest|return102|sleeptalk|whirlwind": 1.774 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "solgaleo": { - "abilities": [ - [ - "fullmetalbody", - 100.0 - ] - ], - "count": 584, - "items": [ - [ - "leftovers", - 68.836 - ], - [ - "choicescarf", - 20.377 - ], - [ - "choiceband", - 10.788 - ] - ], - "moves": [ - [ - "zenheadbutt", - 71.918 - ], - [ - "morningsun", - 68.836 - ], - [ - "stoneedge", - 54.452 - ], - [ - "sunsteelstrike", - 100.0 - ], - [ - "earthquake", - 53.938 - ], - [ - "flareblitz", - 50.856 - ] - ], - "sets": { - "earthquake|flareblitz|morningsun|sunsteelstrike": 7.877, - "earthquake|flareblitz|stoneedge|sunsteelstrike": 5.308, - "earthquake|flareblitz|sunsteelstrike|zenheadbutt": 7.192, - "earthquake|morningsun|stoneedge|sunsteelstrike": 7.021, - "earthquake|morningsun|sunsteelstrike|zenheadbutt": 16.096, - "earthquake|stoneedge|sunsteelstrike|zenheadbutt": 10.445, - "flareblitz|morningsun|stoneedge|sunsteelstrike": 7.877, - "flareblitz|morningsun|sunsteelstrike|zenheadbutt": 14.384, - "flareblitz|stoneedge|sunsteelstrike|zenheadbutt": 8.219, - "morningsun|stoneedge|sunsteelstrike|zenheadbutt": 15.582 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "solrock": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 71.066 - ], - [ - "focussash", - 9.137 - ], - [ - "lightclay", - 19.797 - ] - ], - "moves": [ - [ - "morningsun", - 70.558 - ], - [ - "explosion", - 52.284 - ], - [ - "reflect", - 21.32 - ], - [ - "rockslide", - 100.0 - ], - [ - "willowisp", - 57.36 - ], - [ - "stealthrock", - 46.701 - ], - [ - "lightscreen", - 51.777 - ] - ], - "sets": { - "explosion|lightscreen|morningsun|rockslide": 7.614, - "explosion|lightscreen|reflect|rockslide": 2.03, - "explosion|lightscreen|rockslide|willowisp": 4.569, - "explosion|morningsun|reflect|rockslide": 1.523, - "explosion|morningsun|rockslide|stealthrock": 13.706, - "explosion|morningsun|rockslide|willowisp": 14.213, - "explosion|rockslide|stealthrock|willowisp": 8.629, - "lightscreen|morningsun|reflect|rockslide": 8.629, - "lightscreen|morningsun|rockslide|stealthrock": 6.091, - "lightscreen|morningsun|rockslide|willowisp": 8.629, - "lightscreen|reflect|rockslide|stealthrock": 3.046, - "lightscreen|reflect|rockslide|willowisp": 6.091, - "lightscreen|rockslide|stealthrock|willowisp": 5.076, - "morningsun|rockslide|stealthrock|willowisp": 10.152 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "spinda": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 168, - "items": [ - [ - "normaliumz", - 100.0 - ] - ], - "moves": [ - [ - "encore", - 100.0 - ], - [ - "return102", - 100.0 - ], - [ - "rockslide", - 100.0 - ], - [ - "superpower", - 100.0 - ] - ], - "sets": { - "encore|return102|rockslide|superpower": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "spiritomb": { - "abilities": [ - [ - "infiltrator", - 85.938 - ], - [ - "pressure", - 14.062 - ] - ], - "count": 576, - "items": [ - [ - "leftovers", - 86.285 - ], - [ - "chestoberry", - 0.868 - ], - [ - "focussash", - 7.986 - ], - [ - "assaultvest", - 4.861 - ] - ], - "moves": [ - [ - "calmmind", - 70.486 - ], - [ - "darkpulse", - 100.0 - ], - [ - "willowisp", - 61.111 - ], - [ - "psychic", - 67.535 - ], - [ - "sleeptalk", - 33.854 - ], - [ - "rest", - 34.722 - ], - [ - "shadowsneak", - 17.361 - ], - [ - "pursuit", - 14.931 - ] - ], - "sets": { - "calmmind|darkpulse|psychic|pursuit": 1.562, - "calmmind|darkpulse|psychic|rest": 0.174, - "calmmind|darkpulse|psychic|shadowsneak": 1.736, - "calmmind|darkpulse|psychic|willowisp": 42.361, - "calmmind|darkpulse|rest|sleeptalk": 24.132, - "calmmind|darkpulse|rest|willowisp": 0.521, - "darkpulse|psychic|pursuit|shadowsneak": 4.861, - "darkpulse|psychic|pursuit|willowisp": 4.167, - "darkpulse|psychic|rest|sleeptalk": 6.424, - "darkpulse|psychic|shadowsneak|willowisp": 6.25, - "darkpulse|pursuit|shadowsneak|willowisp": 4.34, - "darkpulse|rest|shadowsneak|willowisp": 0.174, - "darkpulse|rest|sleeptalk|willowisp": 3.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stakataka": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 711, - "items": [ - [ - "airballoon", - 86.217 - ], - [ - "choiceband", - 13.783 - ] - ], - "moves": [ - [ - "superpower", - 72.433 - ], - [ - "gyroball", - 92.124 - ], - [ - "trickroom", - 56.399 - ], - [ - "stoneedge", - 79.887 - ], - [ - "stealthrock", - 29.817 - ], - [ - "earthquake", - 69.339 - ] - ], - "sets": { - "earthquake|gyroball|stealthrock|stoneedge": 6.47, - "earthquake|gyroball|stealthrock|superpower": 6.329, - "earthquake|gyroball|stoneedge|superpower": 13.783, - "earthquake|gyroball|stoneedge|trickroom": 21.097, - "earthquake|gyroball|superpower|trickroom": 13.783, - "earthquake|stealthrock|stoneedge|superpower": 7.876, - "gyroball|stealthrock|stoneedge|superpower": 9.142, - "gyroball|stoneedge|superpower|trickroom": 21.519 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stantler": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "lifeorb", - 71.579 - ], - [ - "choiceband", - 28.421 - ] - ], - "moves": [ - [ - "doubleedge", - 100.0 - ], - [ - "jumpkick", - 76.842 - ], - [ - "megahorn", - 75.789 - ], - [ - "suckerpunch", - 71.579 - ], - [ - "earthquake", - 75.789 - ] - ], - "sets": { - "doubleedge|earthquake|jumpkick|megahorn": 28.421, - "doubleedge|earthquake|jumpkick|suckerpunch": 24.211, - "doubleedge|earthquake|megahorn|suckerpunch": 23.158, - "doubleedge|jumpkick|megahorn|suckerpunch": 24.211 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "staraptor": { - "abilities": [ - [ - "intimidate", - 19.591 - ], - [ - "reckless", - 80.409 - ] - ], - "count": 684, - "items": [ - [ - "choiceband", - 85.234 - ], - [ - "choicescarf", - 14.766 - ] - ], - "moves": [ - [ - "uturn", - 70.322 - ], - [ - "closecombat", - 70.614 - ], - [ - "quickattack", - 78.655 - ], - [ - "bravebird", - 100.0 - ], - [ - "doubleedge", - 80.409 - ] - ], - "sets": { - "bravebird|closecombat|doubleedge|quickattack": 29.678, - "bravebird|closecombat|doubleedge|uturn": 21.345, - "bravebird|closecombat|quickattack|uturn": 19.591, - "bravebird|doubleedge|quickattack|uturn": 29.386 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "starmie": { - "abilities": [ - [ - "naturalcure", - 34.055 - ], - [ - "analytic", - 65.945 - ] - ], - "count": 508, - "items": [ - [ - "lifeorb", - 37.598 - ], - [ - "leftovers", - 45.866 - ], - [ - "choicespecs", - 12.992 - ], - [ - "focussash", - 3.543 - ] - ], - "moves": [ - [ - "icebeam", - 57.874 - ], - [ - "psyshock", - 62.598 - ], - [ - "scald", - 64.173 - ], - [ - "recover", - 66.142 - ], - [ - "hydropump", - 42.913 - ], - [ - "rapidspin", - 49.409 - ], - [ - "thunderbolt", - 56.89 - ] - ], - "sets": { - "hydropump|icebeam|psyshock|rapidspin": 2.756, - "hydropump|icebeam|psyshock|recover": 5.118, - "hydropump|icebeam|psyshock|scald": 3.937, - "hydropump|icebeam|psyshock|thunderbolt": 2.953, - "hydropump|icebeam|rapidspin|recover": 3.74, - "hydropump|icebeam|rapidspin|thunderbolt": 3.74, - "hydropump|icebeam|recover|thunderbolt": 2.953, - "hydropump|psyshock|rapidspin|recover": 3.543, - "hydropump|psyshock|rapidspin|thunderbolt": 3.15, - "hydropump|psyshock|recover|thunderbolt": 5.315, - "hydropump|psyshock|scald|thunderbolt": 3.15, - "hydropump|rapidspin|recover|thunderbolt": 2.559, - "icebeam|psyshock|rapidspin|scald": 3.937, - "icebeam|psyshock|recover|scald": 7.283, - "icebeam|psyshock|scald|thunderbolt": 2.953, - "icebeam|rapidspin|recover|scald": 6.102, - "icebeam|rapidspin|scald|thunderbolt": 4.331, - "icebeam|recover|scald|thunderbolt": 8.071, - "psyshock|rapidspin|recover|scald": 6.693, - "psyshock|rapidspin|scald|thunderbolt": 2.953, - "psyshock|recover|scald|thunderbolt": 8.858, - "rapidspin|recover|scald|thunderbolt": 5.906 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "steelix": { - "abilities": [ - [ - "sheerforce", - 64.646 - ], - [ - "sturdy", - 35.354 - ] - ], - "count": 99, - "items": [ - [ - "lifeorb", - 64.646 - ], - [ - "leftovers", - 35.354 - ] - ], - "moves": [ - [ - "ironhead", - 71.717 - ], - [ - "stealthrock", - 43.434 - ], - [ - "roar", - 68.687 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockslide", - 60.606 - ], - [ - "toxic", - 55.556 - ] - ], - "sets": { - "earthquake|ironhead|roar|rockslide": 16.162, - "earthquake|ironhead|roar|stealthrock": 11.111, - "earthquake|ironhead|roar|toxic": 17.172, - "earthquake|ironhead|rockslide|stealthrock": 7.071, - "earthquake|ironhead|rockslide|toxic": 13.131, - "earthquake|ironhead|stealthrock|toxic": 7.071, - "earthquake|roar|rockslide|stealthrock": 10.101, - "earthquake|roar|rockslide|toxic": 10.101, - "earthquake|roar|stealthrock|toxic": 4.04, - "earthquake|rockslide|stealthrock|toxic": 4.04 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "steelixmega": { - "abilities": [ - [ - "sandforce", - 100.0 - ] - ], - "count": 361, - "items": [ - [ - "steelixite", - 100.0 - ] - ], - "moves": [ - [ - "heavyslam", - 81.163 - ], - [ - "earthquake", - 100.0 - ], - [ - "dragontail", - 45.429 - ], - [ - "toxic", - 68.144 - ], - [ - "roar", - 45.429 - ], - [ - "stealthrock", - 59.834 - ] - ], - "sets": { - "dragontail|earthquake|heavyslam|roar": 3.324, - "dragontail|earthquake|heavyslam|stealthrock": 13.85, - "dragontail|earthquake|heavyslam|toxic": 19.668, - "dragontail|earthquake|stealthrock|toxic": 8.587, - "earthquake|heavyslam|roar|stealthrock": 14.681, - "earthquake|heavyslam|roar|toxic": 17.175, - "earthquake|heavyslam|stealthrock|toxic": 12.465, - "earthquake|roar|stealthrock|toxic": 10.249 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stoutland": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 460, - "items": [ - [ - "choicescarf", - 65.0 - ], - [ - "choiceband", - 35.0 - ] - ], - "moves": [ - [ - "icefang", - 75.87 - ], - [ - "crunch", - 76.739 - ], - [ - "wildcharge", - 74.565 - ], - [ - "return102", - 100.0 - ], - [ - "superpower", - 72.826 - ] - ], - "sets": { - "crunch|icefang|return102|superpower": 25.435, - "crunch|icefang|return102|wildcharge": 27.174, - "crunch|return102|superpower|wildcharge": 24.13, - "icefang|return102|superpower|wildcharge": 23.261 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stunfisk": { - "abilities": [ - [ - "limber", - 100.0 - ] - ], - "count": 209, - "items": [ - [ - "cheriberry", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 52.153 - ], - [ - "discharge", - 100.0 - ], - [ - "rest", - 42.584 - ], - [ - "sleeptalk", - 39.713 - ], - [ - "earthpower", - 85.167 - ], - [ - "scald", - 44.498 - ], - [ - "stealthrock", - 35.885 - ] - ], - "sets": { - "discharge|earthpower|rest|scald": 1.435, - "discharge|earthpower|rest|sleeptalk": 24.88, - "discharge|earthpower|rest|toxic": 1.435, - "discharge|earthpower|scald|stealthrock": 14.354, - "discharge|earthpower|scald|toxic": 21.531, - "discharge|earthpower|stealthrock|toxic": 21.531, - "discharge|rest|scald|sleeptalk": 7.177, - "discharge|rest|sleeptalk|toxic": 7.656 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sudowoodo": { - "abilities": [ - [ - "rockhead", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "leftovers", - 92.35 - ], - [ - "assaultvest", - 7.65 - ] - ], - "moves": [ - [ - "suckerpunch", - 57.923 - ], - [ - "earthquake", - 58.47 - ], - [ - "stealthrock", - 57.923 - ], - [ - "headsmash", - 100.0 - ], - [ - "toxic", - 61.749 - ], - [ - "woodhammer", - 63.934 - ] - ], - "sets": { - "earthquake|headsmash|stealthrock|suckerpunch": 9.29, - "earthquake|headsmash|stealthrock|toxic": 6.011, - "earthquake|headsmash|stealthrock|woodhammer": 9.29, - "earthquake|headsmash|suckerpunch|toxic": 12.568, - "earthquake|headsmash|suckerpunch|woodhammer": 7.65, - "earthquake|headsmash|toxic|woodhammer": 13.661, - "headsmash|stealthrock|suckerpunch|toxic": 8.197, - "headsmash|stealthrock|suckerpunch|woodhammer": 12.022, - "headsmash|stealthrock|toxic|woodhammer": 13.115, - "headsmash|suckerpunch|toxic|woodhammer": 8.197 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "suicune": { - "abilities": [ - [ - "innerfocus", - 57.7 - ], - [ - "pressure", - 42.3 - ] - ], - "count": 513, - "items": [ - [ - "leftovers", - 88.889 - ], - [ - "chestoberry", - 1.559 - ], - [ - "choicespecs", - 9.552 - ] - ], - "moves": [ - [ - "scald", - 90.448 - ], - [ - "calmmind", - 79.727 - ], - [ - "hiddenpowergrass", - 57.7 - ], - [ - "icebeam", - 69.981 - ], - [ - "rest", - 42.3 - ], - [ - "sleeptalk", - 40.741 - ], - [ - "hydropump", - 19.103 - ] - ], - "sets": { - "calmmind|hiddenpowergrass|hydropump|icebeam": 9.552, - "calmmind|hiddenpowergrass|icebeam|scald": 38.596, - "calmmind|icebeam|rest|scald": 1.559, - "calmmind|rest|scald|sleeptalk": 30.019, - "hiddenpowergrass|hydropump|icebeam|scald": 9.552, - "icebeam|rest|scald|sleeptalk": 10.721 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sunflora": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "gigadrain", - 79.781 - ], - [ - "hiddenpowerfire", - 100.0 - ], - [ - "sunnyday", - 100.0 - ], - [ - "earthpower", - 100.0 - ], - [ - "solarbeam", - 20.219 - ] - ], - "sets": { - "earthpower|gigadrain|hiddenpowerfire|sunnyday": 79.781, - "earthpower|hiddenpowerfire|solarbeam|sunnyday": 20.219 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swalot": { - "abilities": [ - [ - "stickyhold", - 43.961 - ], - [ - "liquidooze", - 56.039 - ] - ], - "count": 207, - "items": [ - [ - "blacksludge", - 47.826 - ], - [ - "focussash", - 37.198 - ], - [ - "lifeorb", - 14.976 - ] - ], - "moves": [ - [ - "encore", - 55.556 - ], - [ - "icebeam", - 56.039 - ], - [ - "painsplit", - 57.005 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "toxic", - 30.435 - ], - [ - "earthquake", - 50.242 - ], - [ - "yawn", - 50.725 - ] - ], - "sets": { - "earthquake|encore|icebeam|sludgebomb": 3.382, - "earthquake|encore|painsplit|sludgebomb": 3.865, - "earthquake|encore|sludgebomb|toxic": 5.797, - "earthquake|encore|sludgebomb|yawn": 6.28, - "earthquake|icebeam|painsplit|sludgebomb": 5.314, - "earthquake|icebeam|sludgebomb|toxic": 3.865, - "earthquake|icebeam|sludgebomb|yawn": 9.662, - "earthquake|painsplit|sludgebomb|toxic": 3.865, - "earthquake|painsplit|sludgebomb|yawn": 8.213, - "encore|icebeam|painsplit|sludgebomb": 6.28, - "encore|icebeam|sludgebomb|toxic": 5.314, - "encore|icebeam|sludgebomb|yawn": 8.696, - "encore|painsplit|sludgebomb|toxic": 7.246, - "encore|painsplit|sludgebomb|yawn": 8.696, - "icebeam|painsplit|sludgebomb|toxic": 4.348, - "icebeam|painsplit|sludgebomb|yawn": 9.179 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swampert": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 130, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 49.231 - ], - [ - "scald", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "protect", - 40.0 - ], - [ - "roar", - 40.0 - ], - [ - "icebeam", - 36.923 - ], - [ - "stealthrock", - 33.846 - ] - ], - "sets": { - "earthquake|icebeam|protect|scald": 10.769, - "earthquake|icebeam|roar|scald": 8.462, - "earthquake|icebeam|scald|stealthrock": 8.462, - "earthquake|icebeam|scald|toxic": 9.231, - "earthquake|protect|roar|scald": 10.0, - "earthquake|protect|scald|stealthrock": 7.692, - "earthquake|protect|scald|toxic": 11.538, - "earthquake|roar|scald|stealthrock": 5.385, - "earthquake|roar|scald|toxic": 16.154, - "earthquake|scald|stealthrock|toxic": 12.308 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swampertmega": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 412, - "items": [ - [ - "swampertite", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 57.282 - ], - [ - "icepunch", - 62.864 - ], - [ - "waterfall", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "raindance", - 79.854 - ] - ], - "sets": { - "earthquake|icepunch|raindance|waterfall": 42.718, - "earthquake|icepunch|superpower|waterfall": 20.146, - "earthquake|raindance|superpower|waterfall": 37.136 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swanna": { - "abilities": [ - [ - "hydration", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 25.0 - ], - [ - "lifeorb", - 73.438 - ], - [ - "focussash", - 1.562 - ] - ], - "moves": [ - [ - "hurricane", - 23.958 - ], - [ - "roost", - 70.312 - ], - [ - "defog", - 43.75 - ], - [ - "scald", - 100.0 - ], - [ - "bravebird", - 63.542 - ], - [ - "raindance", - 55.208 - ], - [ - "icebeam", - 43.229 - ] - ], - "sets": { - "bravebird|defog|icebeam|scald": 4.167, - "bravebird|defog|raindance|scald": 5.208, - "bravebird|defog|roost|scald": 14.062, - "bravebird|icebeam|raindance|scald": 6.771, - "bravebird|icebeam|roost|scald": 9.896, - "bravebird|raindance|roost|scald": 23.438, - "defog|hurricane|icebeam|scald": 3.646, - "defog|hurricane|raindance|scald": 1.562, - "defog|hurricane|roost|scald": 6.25, - "defog|icebeam|raindance|scald": 4.167, - "defog|icebeam|roost|scald": 4.688, - "hurricane|icebeam|raindance|scald": 4.167, - "hurricane|icebeam|roost|scald": 2.083, - "hurricane|raindance|roost|scald": 6.25, - "icebeam|raindance|roost|scald": 3.646 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swellow": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 467, - "items": [ - [ - "flameorb", - 100.0 - ] - ], - "moves": [ - [ - "quickattack", - 82.013 - ], - [ - "facade", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "protect", - 61.242 - ], - [ - "uturn", - 56.745 - ] - ], - "sets": { - "bravebird|facade|protect|quickattack": 43.255, - "bravebird|facade|protect|uturn": 17.987, - "bravebird|facade|quickattack|uturn": 38.758 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swoobat": { - "abilities": [ - [ - "simple", - 68.718 - ], - [ - "unaware", - 31.282 - ] - ], - "count": 195, - "items": [ - [ - "leftovers", - 86.667 - ], - [ - "lifeorb", - 9.744 - ], - [ - "focussash", - 3.59 - ] - ], - "moves": [ - [ - "substitute", - 49.744 - ], - [ - "calmmind", - 68.718 - ], - [ - "psychic", - 48.205 - ], - [ - "heatwave", - 73.333 - ], - [ - "storedpower", - 30.256 - ], - [ - "roost", - 61.538 - ], - [ - "airslash", - 68.205 - ] - ], - "sets": { - "airslash|calmmind|heatwave|psychic": 4.615, - "airslash|calmmind|heatwave|roost": 7.692, - "airslash|calmmind|heatwave|storedpower": 4.615, - "airslash|calmmind|heatwave|substitute": 3.59, - "airslash|calmmind|psychic|roost": 6.154, - "airslash|calmmind|psychic|substitute": 3.077, - "airslash|calmmind|roost|storedpower": 8.205, - "airslash|calmmind|storedpower|substitute": 4.615, - "airslash|heatwave|psychic|roost": 4.103, - "airslash|heatwave|psychic|substitute": 6.667, - "airslash|heatwave|roost|substitute": 10.256, - "airslash|psychic|roost|substitute": 4.615, - "calmmind|heatwave|psychic|roost": 6.667, - "calmmind|heatwave|psychic|substitute": 6.667, - "calmmind|heatwave|roost|storedpower": 8.205, - "calmmind|heatwave|storedpower|substitute": 4.615, - "heatwave|psychic|roost|substitute": 5.641 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sylveon": { - "abilities": [ - [ - "pixilate", - 100.0 - ] - ], - "count": 531, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "hypervoice", - 100.0 - ], - [ - "calmmind", - 67.043 - ], - [ - "wish", - 79.284 - ], - [ - "psyshock", - 60.075 - ], - [ - "hiddenpowerfire", - 68.738 - ], - [ - "protect", - 24.859 - ] - ], - "sets": { - "calmmind|hiddenpowerfire|hypervoice|psyshock": 15.819, - "calmmind|hiddenpowerfire|hypervoice|wish": 28.814, - "calmmind|hypervoice|psyshock|wish": 22.411, - "hiddenpowerfire|hypervoice|protect|psyshock": 4.896, - "hiddenpowerfire|hypervoice|protect|wish": 11.111, - "hiddenpowerfire|hypervoice|psyshock|wish": 8.098, - "hypervoice|protect|psyshock|wish": 8.851 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "talonflame": { - "abilities": [ - [ - "galewings", - 100.0 - ] - ], - "count": 738, - "items": [ - [ - "flyiniumz", - 63.55 - ], - [ - "leftovers", - 36.45 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "swordsdance", - 72.087 - ], - [ - "flareblitz", - 100.0 - ], - [ - "roost", - 80.488 - ], - [ - "willowisp", - 29.404 - ], - [ - "uturn", - 18.022 - ] - ], - "sets": { - "bravebird|flareblitz|roost|swordsdance": 58.943, - "bravebird|flareblitz|roost|uturn": 11.653, - "bravebird|flareblitz|roost|willowisp": 9.892, - "bravebird|flareblitz|swordsdance|willowisp": 13.144, - "bravebird|flareblitz|uturn|willowisp": 6.369 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tangrowth": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 591, - "items": [ - [ - "assaultvest", - 20.812 - ], - [ - "leftovers", - 21.997 - ], - [ - "lifeorb", - 57.191 - ] - ], - "moves": [ - [ - "earthquake", - 47.377 - ], - [ - "knockoff", - 50.254 - ], - [ - "hiddenpowerfire", - 49.746 - ], - [ - "leafstorm", - 62.267 - ], - [ - "sleeppowder", - 44.501 - ], - [ - "synthesis", - 56.684 - ], - [ - "gigadrain", - 37.733 - ], - [ - "rockslide", - 51.438 - ] - ], - "sets": { - "earthquake|gigadrain|hiddenpowerfire|knockoff": 1.692, - "earthquake|gigadrain|hiddenpowerfire|rockslide": 1.692, - "earthquake|gigadrain|hiddenpowerfire|sleeppowder": 0.508, - "earthquake|gigadrain|hiddenpowerfire|synthesis": 1.692, - "earthquake|gigadrain|knockoff|rockslide": 1.015, - "earthquake|gigadrain|knockoff|sleeppowder": 1.354, - "earthquake|gigadrain|knockoff|synthesis": 3.384, - "earthquake|gigadrain|rockslide|sleeppowder": 0.846, - "earthquake|gigadrain|rockslide|synthesis": 2.876, - "earthquake|gigadrain|sleeppowder|synthesis": 1.692, - "earthquake|hiddenpowerfire|knockoff|leafstorm": 3.892, - "earthquake|hiddenpowerfire|leafstorm|rockslide": 3.215, - "earthquake|hiddenpowerfire|leafstorm|sleeppowder": 1.861, - "earthquake|hiddenpowerfire|leafstorm|synthesis": 3.892, - "earthquake|knockoff|leafstorm|rockslide": 2.707, - "earthquake|knockoff|leafstorm|sleeppowder": 2.707, - "earthquake|knockoff|leafstorm|synthesis": 4.061, - "earthquake|leafstorm|rockslide|sleeppowder": 2.538, - "earthquake|leafstorm|rockslide|synthesis": 3.046, - "earthquake|leafstorm|sleeppowder|synthesis": 2.707, - "gigadrain|hiddenpowerfire|knockoff|rockslide": 3.046, - "gigadrain|hiddenpowerfire|knockoff|sleeppowder": 1.523, - "gigadrain|hiddenpowerfire|knockoff|synthesis": 2.03, - "gigadrain|hiddenpowerfire|rockslide|sleeppowder": 1.354, - "gigadrain|hiddenpowerfire|rockslide|synthesis": 2.707, - "gigadrain|hiddenpowerfire|sleeppowder|synthesis": 3.215, - "gigadrain|knockoff|rockslide|sleeppowder": 1.015, - "gigadrain|knockoff|rockslide|synthesis": 1.861, - "gigadrain|knockoff|sleeppowder|synthesis": 1.692, - "gigadrain|rockslide|sleeppowder|synthesis": 2.538, - "hiddenpowerfire|knockoff|leafstorm|rockslide": 3.553, - "hiddenpowerfire|knockoff|leafstorm|sleeppowder": 2.03, - "hiddenpowerfire|knockoff|leafstorm|synthesis": 2.369, - "hiddenpowerfire|leafstorm|rockslide|sleeppowder": 3.215, - "hiddenpowerfire|leafstorm|rockslide|synthesis": 2.538, - "hiddenpowerfire|leafstorm|sleeppowder|synthesis": 3.723, - "knockoff|leafstorm|rockslide|sleeppowder": 3.553, - "knockoff|leafstorm|rockslide|synthesis": 4.23, - "knockoff|leafstorm|sleeppowder|synthesis": 2.538, - "leafstorm|rockslide|sleeppowder|synthesis": 3.892 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapubulu": { - "abilities": [ - [ - "grassysurge", - 100.0 - ] - ], - "count": 551, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "superpower", - 54.446 - ], - [ - "woodhammer", - 71.506 - ], - [ - "bulkup", - 100.0 - ], - [ - "stoneedge", - 50.091 - ], - [ - "hornleech", - 72.414 - ], - [ - "megahorn", - 51.543 - ] - ], - "sets": { - "bulkup|hornleech|megahorn|stoneedge": 9.256, - "bulkup|hornleech|megahorn|superpower": 10.708, - "bulkup|hornleech|megahorn|woodhammer": 14.882, - "bulkup|hornleech|stoneedge|superpower": 8.53, - "bulkup|hornleech|stoneedge|woodhammer": 13.067, - "bulkup|hornleech|superpower|woodhammer": 15.971, - "bulkup|megahorn|stoneedge|woodhammer": 8.348, - "bulkup|megahorn|superpower|woodhammer": 8.348, - "bulkup|stoneedge|superpower|woodhammer": 10.889 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapufini": { - "abilities": [ - [ - "mistysurge", - 100.0 - ] - ], - "count": 538, - "items": [ - [ - "leftovers", - 96.097 - ], - [ - "choicespecs", - 3.903 - ] - ], - "moves": [ - [ - "icebeam", - 74.349 - ], - [ - "scald", - 69.703 - ], - [ - "taunt", - 72.305 - ], - [ - "moonblast", - 74.535 - ], - [ - "calmmind", - 74.907 - ], - [ - "hydropump", - 34.201 - ] - ], - "sets": { - "calmmind|hydropump|icebeam|moonblast": 8.364, - "calmmind|hydropump|icebeam|taunt": 7.807, - "calmmind|hydropump|moonblast|taunt": 7.249, - "calmmind|icebeam|moonblast|scald": 15.428, - "calmmind|icebeam|scald|taunt": 17.658, - "calmmind|moonblast|scald|taunt": 18.401, - "hydropump|icebeam|moonblast|scald": 3.903, - "hydropump|icebeam|moonblast|taunt": 6.877, - "icebeam|moonblast|scald|taunt": 14.312 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapukoko": { - "abilities": [ - [ - "electricsurge", - 100.0 - ] - ], - "count": 572, - "items": [ - [ - "electriumz", - 100.0 - ] - ], - "moves": [ - [ - "dazzlinggleam", - 78.846 - ], - [ - "naturesmadness", - 76.399 - ], - [ - "bravebird", - 48.252 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "uturn", - 51.573 - ], - [ - "defog", - 44.93 - ] - ], - "sets": { - "bravebird|dazzlinggleam|defog|thunderbolt": 5.944, - "bravebird|dazzlinggleam|naturesmadness|thunderbolt": 22.378, - "bravebird|dazzlinggleam|thunderbolt|uturn": 8.042, - "bravebird|defog|naturesmadness|thunderbolt": 7.168, - "bravebird|defog|thunderbolt|uturn": 4.72, - "dazzlinggleam|defog|naturesmadness|thunderbolt": 12.937, - "dazzlinggleam|defog|thunderbolt|uturn": 4.895, - "dazzlinggleam|naturesmadness|thunderbolt|uturn": 24.65, - "defog|naturesmadness|thunderbolt|uturn": 9.266 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapulele": { - "abilities": [ - [ - "psychicsurge", - 100.0 - ] - ], - "count": 569, - "items": [ - [ - "leftovers", - 22.32 - ], - [ - "lifeorb", - 55.536 - ], - [ - "focussash", - 11.248 - ], - [ - "choicescarf", - 6.503 - ], - [ - "choicespecs", - 4.394 - ] - ], - "moves": [ - [ - "psyshock", - 67.135 - ], - [ - "taunt", - 43.937 - ], - [ - "calmmind", - 69.772 - ], - [ - "moonblast", - 100.0 - ], - [ - "focusblast", - 44.64 - ], - [ - "psychic", - 32.865 - ], - [ - "hiddenpowerfire", - 41.652 - ] - ], - "sets": { - "calmmind|focusblast|moonblast|psychic": 7.206, - "calmmind|focusblast|moonblast|psyshock": 15.993, - "calmmind|hiddenpowerfire|moonblast|psychic": 5.448, - "calmmind|hiddenpowerfire|moonblast|psyshock": 16.52, - "calmmind|moonblast|psychic|taunt": 8.26, - "calmmind|moonblast|psyshock|taunt": 16.344, - "focusblast|hiddenpowerfire|moonblast|psychic": 4.394, - "focusblast|hiddenpowerfire|moonblast|psyshock": 6.503, - "focusblast|moonblast|psychic|taunt": 4.218, - "focusblast|moonblast|psyshock|taunt": 6.327, - "hiddenpowerfire|moonblast|psychic|taunt": 3.339, - "hiddenpowerfire|moonblast|psyshock|taunt": 5.448 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tauros": { - "abilities": [ - [ - "sheerforce", - 18.239 - ], - [ - "intimidate", - 81.761 - ] - ], - "count": 636, - "items": [ - [ - "lifeorb", - 18.239 - ], - [ - "choiceband", - 81.761 - ] - ], - "moves": [ - [ - "zenheadbutt", - 100.0 - ], - [ - "rockslide", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "bodyslam", - 18.239 - ], - [ - "doubleedge", - 81.761 - ] - ], - "sets": { - "bodyslam|earthquake|rockslide|zenheadbutt": 18.239, - "doubleedge|earthquake|rockslide|zenheadbutt": 81.761 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tentacruel": { - "abilities": [ - [ - "liquidooze", - 29.923 - ], - [ - "clearbody", - 68.919 - ], - [ - "raindish", - 1.158 - ] - ], - "count": 518, - "items": [ - [ - "blacksludge", - 33.012 - ], - [ - "assaultvest", - 37.066 - ], - [ - "lifeorb", - 22.008 - ], - [ - "focussash", - 7.915 - ] - ], - "moves": [ - [ - "toxicspikes", - 62.934 - ], - [ - "knockoff", - 75.483 - ], - [ - "scald", - 100.0 - ], - [ - "rapidspin", - 65.444 - ], - [ - "sludgebomb", - 73.166 - ], - [ - "acidspray", - 22.973 - ] - ], - "sets": { - "acidspray|knockoff|rapidspin|scald": 7.529, - "acidspray|knockoff|scald|sludgebomb": 0.772, - "acidspray|knockoff|scald|toxicspikes": 8.88, - "acidspray|rapidspin|scald|toxicspikes": 5.792, - "knockoff|rapidspin|scald|sludgebomb": 28.764, - "knockoff|rapidspin|scald|toxicspikes": 4.633, - "knockoff|scald|sludgebomb|toxicspikes": 24.903, - "rapidspin|scald|sludgebomb|toxicspikes": 18.726 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "terrakion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 572, - "items": [ - [ - "lifeorb", - 89.161 - ], - [ - "focussash", - 10.839 - ] - ], - "moves": [ - [ - "stoneedge", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "stealthrock", - 16.434 - ], - [ - "closecombat", - 100.0 - ], - [ - "swordsdance", - 83.566 - ] - ], - "sets": { - "closecombat|earthquake|stealthrock|stoneedge": 16.434, - "closecombat|earthquake|stoneedge|swordsdance": 83.566 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "throh": { - "abilities": [ - [ - "guts", - 74.603 - ], - [ - "moldbreaker", - 25.397 - ] - ], - "count": 189, - "items": [ - [ - "flameorb", - 47.09 - ], - [ - "leftovers", - 46.032 - ], - [ - "choiceband", - 6.878 - ] - ], - "moves": [ - [ - "stormthrow", - 87.831 - ], - [ - "icepunch", - 78.307 - ], - [ - "bulkup", - 72.487 - ], - [ - "knockoff", - 77.778 - ], - [ - "circlethrow", - 28.571 - ], - [ - "sleeptalk", - 27.513 - ], - [ - "rest", - 27.513 - ] - ], - "sets": { - "bulkup|circlethrow|rest|sleeptalk": 5.82, - "bulkup|icepunch|knockoff|stormthrow": 56.085, - "bulkup|rest|sleeptalk|stormthrow": 10.582, - "circlethrow|icepunch|knockoff|stormthrow": 16.402, - "circlethrow|icepunch|rest|sleeptalk": 3.175, - "circlethrow|knockoff|rest|sleeptalk": 3.175, - "icepunch|rest|sleeptalk|stormthrow": 2.646, - "knockoff|rest|sleeptalk|stormthrow": 2.116 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "thundurus": { - "abilities": [ - [ - "prankster", - 97.416 - ], - [ - "defiant", - 2.584 - ] - ], - "count": 387, - "items": [ - [ - "leftovers", - 58.14 - ], - [ - "lifeorb", - 36.176 - ], - [ - "focussash", - 5.685 - ] - ], - "moves": [ - [ - "nastyplot", - 57.881 - ], - [ - "focusblast", - 52.972 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "substitute", - 28.682 - ], - [ - "knockoff", - 20.413 - ], - [ - "hiddenpowerice", - 22.997 - ], - [ - "hiddenpowerflying", - 52.972 - ], - [ - "thunderwave", - 22.481 - ], - [ - "taunt", - 41.602 - ] - ], - "sets": { - "focusblast|hiddenpowerflying|knockoff|thunderbolt": 1.034, - "focusblast|hiddenpowerflying|nastyplot|thunderbolt": 12.403, - "focusblast|hiddenpowerflying|substitute|thunderbolt": 1.55, - "focusblast|hiddenpowerflying|taunt|thunderbolt": 3.101, - "focusblast|hiddenpowerflying|thunderbolt|thunderwave": 1.809, - "focusblast|hiddenpowerice|knockoff|thunderbolt": 1.55, - "focusblast|hiddenpowerice|nastyplot|thunderbolt": 8.269, - "focusblast|hiddenpowerice|substitute|thunderbolt": 1.292, - "focusblast|hiddenpowerice|taunt|thunderbolt": 1.034, - "focusblast|hiddenpowerice|thunderbolt|thunderwave": 1.034, - "focusblast|knockoff|substitute|thunderbolt": 1.292, - "focusblast|knockoff|taunt|thunderbolt": 1.809, - "focusblast|knockoff|thunderbolt|thunderwave": 0.517, - "focusblast|nastyplot|substitute|thunderbolt": 6.46, - "focusblast|nastyplot|taunt|thunderbolt": 7.494, - "focusblast|substitute|thunderbolt|thunderwave": 0.775, - "focusblast|taunt|thunderbolt|thunderwave": 1.55, - "hiddenpowerflying|knockoff|substitute|thunderbolt": 2.067, - "hiddenpowerflying|knockoff|taunt|thunderbolt": 2.584, - "hiddenpowerflying|knockoff|thunderbolt|thunderwave": 1.809, - "hiddenpowerflying|nastyplot|substitute|thunderbolt": 9.044, - "hiddenpowerflying|nastyplot|taunt|thunderbolt": 12.403, - "hiddenpowerflying|substitute|thunderbolt|thunderwave": 1.292, - "hiddenpowerflying|taunt|thunderbolt|thunderwave": 3.876, - "hiddenpowerice|knockoff|substitute|thunderbolt": 1.034, - "hiddenpowerice|knockoff|taunt|thunderbolt": 1.292, - "hiddenpowerice|knockoff|thunderbolt|thunderwave": 1.292, - "hiddenpowerice|nastyplot|substitute|thunderbolt": 1.034, - "hiddenpowerice|nastyplot|taunt|thunderbolt": 0.775, - "hiddenpowerice|substitute|thunderbolt|thunderwave": 1.55, - "hiddenpowerice|taunt|thunderbolt|thunderwave": 2.842, - "knockoff|substitute|thunderbolt|thunderwave": 1.292, - "knockoff|taunt|thunderbolt|thunderwave": 2.842 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "thundurustherian": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 335, - "items": [ - [ - "lifeorb", - 71.642 - ], - [ - "focussash", - 8.955 - ], - [ - "choicescarf", - 11.94 - ], - [ - "choicespecs", - 7.463 - ] - ], - "moves": [ - [ - "focusblast", - 100.0 - ], - [ - "nastyplot", - 80.597 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "hiddenpowerflying", - 53.433 - ], - [ - "hiddenpowerice", - 46.567 - ], - [ - "voltswitch", - 19.403 - ] - ], - "sets": { - "focusblast|hiddenpowerflying|nastyplot|thunderbolt": 41.194, - "focusblast|hiddenpowerflying|thunderbolt|voltswitch": 12.239, - "focusblast|hiddenpowerice|nastyplot|thunderbolt": 39.403, - "focusblast|hiddenpowerice|thunderbolt|voltswitch": 7.164 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "togedemaru": { - "abilities": [ - [ - "sturdy", - 82.546 - ], - [ - "lightningrod", - 17.454 - ] - ], - "count": 487, - "items": [ - [ - "airballoon", - 92.813 - ], - [ - "choiceband", - 7.187 - ] - ], - "moves": [ - [ - "ironhead", - 66.324 - ], - [ - "zingzap", - 100.0 - ], - [ - "spikyshield", - 52.772 - ], - [ - "wish", - 72.69 - ], - [ - "uturn", - 55.236 - ], - [ - "nuzzle", - 52.977 - ] - ], - "sets": { - "ironhead|nuzzle|spikyshield|zingzap": 7.187, - "ironhead|nuzzle|uturn|zingzap": 7.187, - "ironhead|nuzzle|wish|zingzap": 16.427, - "ironhead|spikyshield|uturn|zingzap": 5.544, - "ironhead|spikyshield|wish|zingzap": 12.936, - "ironhead|uturn|wish|zingzap": 17.043, - "nuzzle|spikyshield|uturn|zingzap": 7.392, - "nuzzle|spikyshield|wish|zingzap": 8.214, - "nuzzle|uturn|wish|zingzap": 6.571, - "spikyshield|uturn|wish|zingzap": 11.499 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "togekiss": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 517, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 80.077 - ], - [ - "healbell", - 39.265 - ], - [ - "airslash", - 100.0 - ], - [ - "aurasphere", - 77.95 - ], - [ - "defog", - 27.466 - ], - [ - "thunderwave", - 26.886 - ], - [ - "nastyplot", - 48.356 - ] - ], - "sets": { - "airslash|aurasphere|defog|healbell": 3.288, - "airslash|aurasphere|defog|roost": 5.416, - "airslash|aurasphere|defog|thunderwave": 1.934, - "airslash|aurasphere|healbell|nastyplot": 8.897, - "airslash|aurasphere|healbell|roost": 7.737, - "airslash|aurasphere|healbell|thunderwave": 3.095, - "airslash|aurasphere|nastyplot|roost": 39.458, - "airslash|aurasphere|roost|thunderwave": 8.124, - "airslash|defog|healbell|roost": 8.317, - "airslash|defog|healbell|thunderwave": 2.708, - "airslash|defog|roost|thunderwave": 5.803, - "airslash|healbell|roost|thunderwave": 5.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "torkoal": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "whiteherb", - 60.0 - ], - [ - "leftovers", - 34.737 - ], - [ - "assaultvest", - 4.737 - ], - [ - "None", - 0.526 - ] - ], - "moves": [ - [ - "yawn", - 64.211 - ], - [ - "fireblast", - 56.842 - ], - [ - "shellsmash", - 60.526 - ], - [ - "earthpower", - 65.263 - ], - [ - "lavaplume", - 43.158 - ], - [ - "rapidspin", - 23.684 - ], - [ - "stealthrock", - 20.526 - ], - [ - "solarbeam", - 65.789 - ] - ], - "sets": { - "earthpower|fireblast|rapidspin|solarbeam": 1.579, - "earthpower|fireblast|rapidspin|stealthrock": 1.579, - "earthpower|fireblast|rapidspin|yawn": 1.053, - "earthpower|fireblast|shellsmash|solarbeam": 13.158, - "earthpower|fireblast|shellsmash|yawn": 12.632, - "earthpower|fireblast|solarbeam|stealthrock": 2.632, - "earthpower|fireblast|solarbeam|yawn": 0.526, - "earthpower|fireblast|stealthrock|yawn": 3.158, - "earthpower|lavaplume|rapidspin|solarbeam": 3.158, - "earthpower|lavaplume|rapidspin|stealthrock": 1.579, - "earthpower|lavaplume|rapidspin|yawn": 3.158, - "earthpower|lavaplume|shellsmash|solarbeam": 7.368, - "earthpower|lavaplume|shellsmash|yawn": 6.316, - "earthpower|lavaplume|solarbeam|stealthrock": 2.105, - "earthpower|lavaplume|solarbeam|yawn": 4.211, - "earthpower|lavaplume|stealthrock|yawn": 1.053, - "fireblast|rapidspin|solarbeam|stealthrock": 1.053, - "fireblast|rapidspin|solarbeam|yawn": 2.105, - "fireblast|rapidspin|stealthrock|yawn": 3.158, - "fireblast|shellsmash|solarbeam|yawn": 13.158, - "fireblast|solarbeam|stealthrock|yawn": 1.053, - "lavaplume|rapidspin|solarbeam|stealthrock": 1.579, - "lavaplume|rapidspin|solarbeam|yawn": 3.158, - "lavaplume|rapidspin|stealthrock|yawn": 0.526, - "lavaplume|shellsmash|solarbeam|yawn": 7.895, - "lavaplume|solarbeam|stealthrock|yawn": 1.053 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tornadus": { - "abilities": [ - [ - "prankster", - 94.652 - ], - [ - "defiant", - 5.348 - ] - ], - "count": 374, - "items": [ - [ - "None", - 81.283 - ], - [ - "flyiniumz", - 16.31 - ], - [ - "leftovers", - 2.139 - ], - [ - "lifeorb", - 0.267 - ] - ], - "moves": [ - [ - "defog", - 24.599 - ], - [ - "uturn", - 45.722 - ], - [ - "heatwave", - 48.93 - ], - [ - "acrobatics", - 81.283 - ], - [ - "bulkup", - 50.802 - ], - [ - "superpower", - 80.749 - ], - [ - "hurricane", - 36.898 - ], - [ - "tailwind", - 31.016 - ] - ], - "sets": { - "acrobatics|bulkup|heatwave|superpower": 16.31, - "acrobatics|bulkup|hurricane|superpower": 17.112, - "acrobatics|bulkup|superpower|uturn": 17.38, - "acrobatics|defog|heatwave|superpower": 3.743, - "acrobatics|defog|heatwave|tailwind": 1.872, - "acrobatics|defog|heatwave|uturn": 2.139, - "acrobatics|defog|superpower|tailwind": 3.209, - "acrobatics|defog|superpower|uturn": 2.139, - "acrobatics|defog|tailwind|uturn": 2.406, - "acrobatics|heatwave|hurricane|superpower": 1.07, - "acrobatics|heatwave|superpower|tailwind": 3.476, - "acrobatics|heatwave|superpower|uturn": 2.406, - "acrobatics|heatwave|tailwind|uturn": 3.476, - "acrobatics|superpower|tailwind|uturn": 4.545, - "defog|heatwave|hurricane|superpower": 1.872, - "defog|heatwave|hurricane|tailwind": 2.406, - "defog|heatwave|hurricane|uturn": 1.872, - "defog|hurricane|superpower|tailwind": 0.802, - "defog|hurricane|superpower|uturn": 1.07, - "defog|hurricane|tailwind|uturn": 1.07, - "heatwave|hurricane|superpower|tailwind": 2.406, - "heatwave|hurricane|superpower|uturn": 1.872, - "heatwave|hurricane|tailwind|uturn": 4.011, - "hurricane|superpower|tailwind|uturn": 1.337 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tornadustherian": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 278, - "items": [ - [ - "lifeorb", - 34.892 - ], - [ - "leftovers", - 27.338 - ], - [ - "assaultvest", - 37.77 - ] - ], - "moves": [ - [ - "taunt", - 62.23 - ], - [ - "superpower", - 58.993 - ], - [ - "knockoff", - 63.309 - ], - [ - "hurricane", - 100.0 - ], - [ - "uturn", - 56.475 - ], - [ - "heatwave", - 58.993 - ] - ], - "sets": { - "heatwave|hurricane|knockoff|superpower": 8.633, - "heatwave|hurricane|knockoff|taunt": 13.669, - "heatwave|hurricane|knockoff|uturn": 10.432, - "heatwave|hurricane|superpower|taunt": 8.993, - "heatwave|hurricane|superpower|uturn": 8.633, - "heatwave|hurricane|taunt|uturn": 8.633, - "hurricane|knockoff|superpower|taunt": 12.23, - "hurricane|knockoff|superpower|uturn": 10.072, - "hurricane|knockoff|taunt|uturn": 8.273, - "hurricane|superpower|taunt|uturn": 10.432 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "torterra": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 535, - "items": [ - [ - "leftovers", - 85.794 - ], - [ - "lifeorb", - 14.206 - ] - ], - "moves": [ - [ - "stealthrock", - 24.112 - ], - [ - "woodhammer", - 100.0 - ], - [ - "synthesis", - 78.692 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockpolish", - 57.009 - ], - [ - "stoneedge", - 40.187 - ] - ], - "sets": { - "earthquake|rockpolish|stoneedge|woodhammer": 14.206, - "earthquake|rockpolish|synthesis|woodhammer": 42.804, - "earthquake|stealthrock|stoneedge|woodhammer": 7.103, - "earthquake|stealthrock|synthesis|woodhammer": 17.009, - "earthquake|stoneedge|synthesis|woodhammer": 18.879 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toucannon": { - "abilities": [ - [ - "skilllink", - 59.574 - ], - [ - "sheerforce", - 40.426 - ] - ], - "count": 188, - "items": [ - [ - "choiceband", - 5.851 - ], - [ - "lifeorb", - 40.957 - ], - [ - "leftovers", - 39.894 - ], - [ - "focussash", - 13.298 - ] - ], - "moves": [ - [ - "brickbreak", - 65.957 - ], - [ - "beakblast", - 68.617 - ], - [ - "return102", - 71.809 - ], - [ - "bulletseed", - 59.574 - ], - [ - "swordsdance", - 71.809 - ], - [ - "roost", - 62.234 - ] - ], - "sets": { - "beakblast|brickbreak|bulletseed|return102": 5.851, - "beakblast|brickbreak|bulletseed|roost": 4.787, - "beakblast|brickbreak|bulletseed|swordsdance": 6.383, - "beakblast|brickbreak|return102|roost": 3.723, - "beakblast|brickbreak|return102|swordsdance": 11.17, - "beakblast|brickbreak|roost|swordsdance": 10.106, - "beakblast|bulletseed|return102|roost": 6.383, - "beakblast|bulletseed|return102|swordsdance": 6.915, - "beakblast|bulletseed|roost|swordsdance": 6.915, - "beakblast|return102|roost|swordsdance": 6.383, - "brickbreak|bulletseed|return102|roost": 7.447, - "brickbreak|bulletseed|return102|swordsdance": 7.447, - "brickbreak|return102|roost|swordsdance": 9.043, - "bulletseed|return102|roost|swordsdance": 7.447 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxapex": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 578, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "toxicspikes", - 71.28 - ], - [ - "recover", - 80.104 - ], - [ - "haze", - 74.74 - ], - [ - "banefulbunker", - 73.875 - ] - ], - "sets": { - "banefulbunker|haze|recover|scald": 28.72, - "banefulbunker|haze|scald|toxicspikes": 19.896, - "banefulbunker|recover|scald|toxicspikes": 25.26, - "haze|recover|scald|toxicspikes": 26.125 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxicroak": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 509, - "items": [ - [ - "blacksludge", - 27.898 - ], - [ - "lifeorb", - 66.208 - ], - [ - "focussash", - 5.894 - ] - ], - "moves": [ - [ - "swordsdance", - 73.674 - ], - [ - "gunkshot", - 91.749 - ], - [ - "substitute", - 47.348 - ], - [ - "drainpunch", - 100.0 - ], - [ - "icepunch", - 48.527 - ], - [ - "suckerpunch", - 38.703 - ] - ], - "sets": { - "drainpunch|gunkshot|icepunch|substitute": 9.234, - "drainpunch|gunkshot|icepunch|suckerpunch": 6.876, - "drainpunch|gunkshot|icepunch|swordsdance": 24.165, - "drainpunch|gunkshot|substitute|suckerpunch": 10.216, - "drainpunch|gunkshot|substitute|swordsdance": 19.646, - "drainpunch|gunkshot|suckerpunch|swordsdance": 21.611, - "drainpunch|icepunch|substitute|swordsdance": 8.251 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "trevenant": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "lifeorb", - 7.447 - ], - [ - "leftovers", - 64.894 - ], - [ - "focussash", - 27.66 - ] - ], - "moves": [ - [ - "rest", - 65.957 - ], - [ - "phantomforce", - 69.149 - ], - [ - "hornleech", - 100.0 - ], - [ - "shadowclaw", - 40.957 - ], - [ - "substitute", - 23.404 - ], - [ - "willowisp", - 50.532 - ], - [ - "leechseed", - 50.0 - ] - ], - "sets": { - "hornleech|leechseed|phantomforce|rest": 20.213, - "hornleech|leechseed|phantomforce|substitute": 8.511, - "hornleech|leechseed|phantomforce|willowisp": 5.851, - "hornleech|leechseed|rest|shadowclaw": 7.979, - "hornleech|leechseed|shadowclaw|substitute": 2.66, - "hornleech|leechseed|shadowclaw|willowisp": 4.787, - "hornleech|phantomforce|rest|shadowclaw": 10.106, - "hornleech|phantomforce|rest|willowisp": 17.021, - "hornleech|phantomforce|substitute|willowisp": 7.447, - "hornleech|rest|shadowclaw|willowisp": 10.638, - "hornleech|shadowclaw|substitute|willowisp": 4.787 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tropius": { - "abilities": [ - [ - "harvest", - 100.0 - ] - ], - "count": 217, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "airslash", - 71.889 - ], - [ - "toxic", - 61.29 - ], - [ - "gigadrain", - 100.0 - ], - [ - "leechseed", - 54.839 - ], - [ - "protect", - 54.378 - ], - [ - "substitute", - 57.604 - ] - ], - "sets": { - "airslash|gigadrain|leechseed|protect": 10.138, - "airslash|gigadrain|leechseed|substitute": 8.756, - "airslash|gigadrain|leechseed|toxic": 12.903, - "airslash|gigadrain|protect|substitute": 12.442, - "airslash|gigadrain|protect|toxic": 11.521, - "airslash|gigadrain|substitute|toxic": 16.129, - "gigadrain|leechseed|protect|substitute": 7.373, - "gigadrain|leechseed|protect|toxic": 7.834, - "gigadrain|leechseed|substitute|toxic": 7.834, - "gigadrain|protect|substitute|toxic": 5.069 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tsareena": { - "abilities": [ - [ - "queenlymajesty", - 100.0 - ] - ], - "count": 444, - "items": [ - [ - "assaultvest", - 22.748 - ], - [ - "lifeorb", - 13.739 - ], - [ - "leftovers", - 55.405 - ], - [ - "choicescarf", - 4.279 - ], - [ - "choiceband", - 3.829 - ] - ], - "moves": [ - [ - "powerwhip", - 100.0 - ], - [ - "rapidspin", - 50.45 - ], - [ - "uturn", - 60.135 - ], - [ - "highjumpkick", - 56.982 - ], - [ - "synthesis", - 69.144 - ], - [ - "knockoff", - 63.288 - ] - ], - "sets": { - "highjumpkick|knockoff|powerwhip|rapidspin": 7.658, - "highjumpkick|knockoff|powerwhip|synthesis": 13.739, - "highjumpkick|knockoff|powerwhip|uturn": 8.108, - "highjumpkick|powerwhip|rapidspin|synthesis": 8.333, - "highjumpkick|powerwhip|rapidspin|uturn": 6.532, - "highjumpkick|powerwhip|synthesis|uturn": 12.613, - "knockoff|powerwhip|rapidspin|synthesis": 10.135, - "knockoff|powerwhip|rapidspin|uturn": 8.559, - "knockoff|powerwhip|synthesis|uturn": 15.09, - "powerwhip|rapidspin|synthesis|uturn": 9.234 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "turtonator": { - "abilities": [ - [ - "shellarmor", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "whiteherb", - 73.333 - ], - [ - "assaultvest", - 26.154 - ], - [ - "None", - 0.513 - ] - ], - "moves": [ - [ - "shellsmash", - 73.846 - ], - [ - "dragonpulse", - 17.949 - ], - [ - "fireblast", - 100.0 - ], - [ - "earthquake", - 93.846 - ], - [ - "dracometeor", - 77.436 - ], - [ - "explosion", - 18.974 - ], - [ - "dragontail", - 17.949 - ] - ], - "sets": { - "dracometeor|dragontail|earthquake|fireblast": 7.179, - "dracometeor|dragontail|explosion|fireblast": 6.154, - "dracometeor|earthquake|explosion|fireblast": 5.641, - "dracometeor|earthquake|fireblast|shellsmash": 58.462, - "dragonpulse|earthquake|explosion|fireblast": 2.564, - "dragonpulse|earthquake|fireblast|shellsmash": 15.385, - "dragontail|earthquake|explosion|fireblast": 4.615 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "typenull": { - "abilities": [ - [ - "battlearmor", - 100.0 - ] - ], - "count": 171, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "sleeptalk", - 87.135 - ], - [ - "uturn", - 32.164 - ], - [ - "rest", - 100.0 - ], - [ - "return102", - 100.0 - ], - [ - "swordsdance", - 80.702 - ] - ], - "sets": { - "rest|return102|sleeptalk|swordsdance": 67.836, - "rest|return102|sleeptalk|uturn": 19.298, - "rest|return102|swordsdance|uturn": 12.865 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "typhlosion": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 500, - "items": [ - [ - "choicescarf", - 65.8 - ], - [ - "choicespecs", - 34.2 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "extrasensory", - 72.6 - ], - [ - "focusblast", - 75.4 - ], - [ - "eruption", - 78.4 - ], - [ - "hiddenpowergrass", - 73.6 - ] - ], - "sets": { - "eruption|extrasensory|fireblast|focusblast": 26.4, - "eruption|extrasensory|fireblast|hiddenpowergrass": 24.6, - "eruption|fireblast|focusblast|hiddenpowergrass": 27.4, - "extrasensory|fireblast|focusblast|hiddenpowergrass": 21.6 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tyranitar": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "assaultvest", - 57.377 - ], - [ - "leftovers", - 37.158 - ], - [ - "choiceband", - 2.186 - ], - [ - "choicescarf", - 3.279 - ] - ], - "moves": [ - [ - "stoneedge", - 66.12 - ], - [ - "crunch", - 77.596 - ], - [ - "fireblast", - 49.727 - ], - [ - "icebeam", - 56.831 - ], - [ - "pursuit", - 61.202 - ], - [ - "stealthrock", - 37.158 - ], - [ - "earthquake", - 51.366 - ] - ], - "sets": { - "crunch|earthquake|fireblast|icebeam": 3.825, - "crunch|earthquake|fireblast|pursuit": 4.372, - "crunch|earthquake|fireblast|stealthrock": 1.093, - "crunch|earthquake|fireblast|stoneedge": 4.372, - "crunch|earthquake|icebeam|pursuit": 4.918, - "crunch|earthquake|icebeam|stealthrock": 2.186, - "crunch|earthquake|icebeam|stoneedge": 7.65, - "crunch|earthquake|pursuit|stealthrock": 3.279, - "crunch|earthquake|pursuit|stoneedge": 5.464, - "crunch|earthquake|stealthrock|stoneedge": 4.372, - "crunch|fireblast|icebeam|pursuit": 4.918, - "crunch|fireblast|icebeam|stealthrock": 2.186, - "crunch|fireblast|icebeam|stoneedge": 6.557, - "crunch|fireblast|pursuit|stealthrock": 3.825, - "crunch|fireblast|pursuit|stoneedge": 2.732, - "crunch|fireblast|stealthrock|stoneedge": 2.186, - "crunch|icebeam|pursuit|stealthrock": 3.279, - "crunch|icebeam|pursuit|stoneedge": 4.918, - "crunch|icebeam|stealthrock|stoneedge": 4.372, - "crunch|pursuit|stealthrock|stoneedge": 1.093, - "earthquake|fireblast|pursuit|stoneedge": 2.732, - "earthquake|icebeam|pursuit|stoneedge": 4.918, - "earthquake|pursuit|stealthrock|stoneedge": 2.186, - "fireblast|icebeam|pursuit|stoneedge": 5.464, - "fireblast|pursuit|stealthrock|stoneedge": 5.464, - "icebeam|pursuit|stealthrock|stoneedge": 1.639 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tyranitarmega": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 456, - "items": [ - [ - "tyranitarite", - 100.0 - ] - ], - "moves": [ - [ - "icepunch", - 60.088 - ], - [ - "stoneedge", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "dragondance", - 81.14 - ], - [ - "earthquake", - 58.772 - ] - ], - "sets": { - "crunch|dragondance|earthquake|stoneedge": 39.912, - "crunch|dragondance|icepunch|stoneedge": 41.228, - "crunch|earthquake|icepunch|stoneedge": 18.86 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tyrantrum": { - "abilities": [ - [ - "rockhead", - 91.858 - ], - [ - "strongjaw", - 8.142 - ] - ], - "count": 479, - "items": [ - [ - "lumberry", - 49.687 - ], - [ - "lifeorb", - 35.908 - ], - [ - "choicescarf", - 8.142 - ], - [ - "focussash", - 1.879 - ], - [ - "choiceband", - 4.384 - ] - ], - "moves": [ - [ - "dragondance", - 62.63 - ], - [ - "outrage", - 74.739 - ], - [ - "headsmash", - 91.858 - ], - [ - "superpower", - 60.96 - ], - [ - "stealthrock", - 24.843 - ], - [ - "earthquake", - 59.708 - ], - [ - "dragonclaw", - 25.261 - ] - ], - "sets": { - "dragonclaw|dragondance|earthquake|headsmash": 7.307, - "dragonclaw|dragondance|headsmash|superpower": 5.637, - "dragonclaw|earthquake|headsmash|stealthrock": 2.505, - "dragonclaw|earthquake|headsmash|superpower": 3.34, - "dragonclaw|earthquake|stealthrock|superpower": 2.505, - "dragonclaw|headsmash|stealthrock|superpower": 3.967, - "dragondance|earthquake|headsmash|outrage": 23.591, - "dragondance|headsmash|outrage|superpower": 26.096, - "earthquake|headsmash|outrage|stealthrock": 5.637, - "earthquake|headsmash|outrage|superpower": 9.186, - "earthquake|outrage|stealthrock|superpower": 5.637, - "headsmash|outrage|stealthrock|superpower": 4.593 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "umbreon": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 456, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "wish", - 100.0 - ], - [ - "toxic", - 66.667 - ], - [ - "healbell", - 66.886 - ], - [ - "foulplay", - 100.0 - ], - [ - "protect", - 66.447 - ] - ], - "sets": { - "foulplay|healbell|protect|wish": 33.333, - "foulplay|healbell|toxic|wish": 33.553, - "foulplay|protect|toxic|wish": 33.114 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "unfezant": { - "abilities": [ - [ - "superluck", - 100.0 - ] - ], - "count": 196, - "items": [ - [ - "scopelens", - 100.0 - ] - ], - "moves": [ - [ - "return102", - 60.204 - ], - [ - "tailwind", - 55.612 - ], - [ - "uturn", - 56.633 - ], - [ - "roost", - 61.735 - ], - [ - "pluck", - 62.245 - ], - [ - "hypnosis", - 55.612 - ], - [ - "nightslash", - 47.959 - ] - ], - "sets": { - "hypnosis|nightslash|pluck|return102": 3.061, - "hypnosis|nightslash|pluck|roost": 3.061, - "hypnosis|nightslash|pluck|tailwind": 1.02, - "hypnosis|nightslash|pluck|uturn": 5.102, - "hypnosis|nightslash|return102|roost": 3.571, - "hypnosis|nightslash|return102|tailwind": 2.041, - "hypnosis|nightslash|return102|uturn": 2.551, - "hypnosis|pluck|return102|roost": 2.551, - "hypnosis|pluck|return102|tailwind": 3.571, - "hypnosis|pluck|return102|uturn": 3.571, - "hypnosis|pluck|roost|tailwind": 4.592, - "hypnosis|pluck|roost|uturn": 6.122, - "hypnosis|pluck|tailwind|uturn": 2.551, - "hypnosis|return102|roost|tailwind": 6.633, - "hypnosis|return102|roost|uturn": 2.551, - "hypnosis|return102|tailwind|uturn": 3.061, - "nightslash|pluck|return102|roost": 1.02, - "nightslash|pluck|return102|tailwind": 1.02, - "nightslash|pluck|return102|uturn": 1.02, - "nightslash|pluck|roost|tailwind": 3.061, - "nightslash|pluck|roost|uturn": 4.592, - "nightslash|pluck|tailwind|uturn": 4.082, - "nightslash|return102|roost|tailwind": 6.122, - "nightslash|return102|roost|uturn": 3.571, - "nightslash|return102|tailwind|uturn": 3.061, - "pluck|return102|roost|tailwind": 2.041, - "pluck|return102|roost|uturn": 2.041, - "pluck|return102|tailwind|uturn": 2.551, - "pluck|roost|tailwind|uturn": 5.612, - "return102|roost|tailwind|uturn": 4.592 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ursaring": { - "abilities": [ - [ - "quickfeet", - 62.755 - ], - [ - "guts", - 37.245 - ] - ], - "count": 196, - "items": [ - [ - "toxicorb", - 62.755 - ], - [ - "flameorb", - 37.245 - ] - ], - "moves": [ - [ - "swordsdance", - 79.082 - ], - [ - "closecombat", - 100.0 - ], - [ - "facade", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "protect", - 20.918 - ] - ], - "sets": { - "closecombat|crunch|facade|protect": 20.918, - "closecombat|crunch|facade|swordsdance": 79.082 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "uxie": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 423, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "healbell", - 53.428 - ], - [ - "psychic", - 100.0 - ], - [ - "knockoff", - 62.175 - ], - [ - "uturn", - 58.156 - ], - [ - "yawn", - 51.064 - ], - [ - "thunderwave", - 28.842 - ], - [ - "stealthrock", - 46.336 - ] - ], - "sets": { - "healbell|knockoff|psychic|stealthrock": 5.437, - "healbell|knockoff|psychic|thunderwave": 4.492, - "healbell|knockoff|psychic|uturn": 4.728, - "healbell|knockoff|psychic|yawn": 9.22, - "healbell|psychic|stealthrock|thunderwave": 4.255, - "healbell|psychic|stealthrock|uturn": 4.492, - "healbell|psychic|stealthrock|yawn": 5.91, - "healbell|psychic|thunderwave|uturn": 5.437, - "healbell|psychic|uturn|yawn": 9.456, - "knockoff|psychic|stealthrock|thunderwave": 4.728, - "knockoff|psychic|stealthrock|uturn": 5.437, - "knockoff|psychic|stealthrock|yawn": 7.801, - "knockoff|psychic|thunderwave|uturn": 6.383, - "knockoff|psychic|uturn|yawn": 13.948, - "psychic|stealthrock|thunderwave|uturn": 3.546, - "psychic|stealthrock|uturn|yawn": 4.728 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vanilluxe": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 787, - "items": [ - [ - "choicespecs", - 1.906 - ], - [ - "lifeorb", - 59.72 - ], - [ - "assaultvest", - 26.557 - ], - [ - "focussash", - 7.116 - ], - [ - "choicescarf", - 4.701 - ] - ], - "moves": [ - [ - "flashcannon", - 68.361 - ], - [ - "freezedry", - 66.836 - ], - [ - "blizzard", - 69.886 - ], - [ - "hiddenpowerground", - 62.516 - ], - [ - "autotomize", - 66.836 - ], - [ - "explosion", - 65.565 - ] - ], - "sets": { - "autotomize|blizzard|explosion|flashcannon": 9.276, - "autotomize|blizzard|explosion|freezedry": 7.624, - "autotomize|blizzard|explosion|hiddenpowerground": 7.116, - "autotomize|blizzard|flashcannon|freezedry": 6.734, - "autotomize|blizzard|flashcannon|hiddenpowerground": 9.022, - "autotomize|blizzard|freezedry|hiddenpowerground": 4.447, - "autotomize|explosion|flashcannon|freezedry": 8.132, - "autotomize|explosion|freezedry|hiddenpowerground": 6.861, - "autotomize|flashcannon|freezedry|hiddenpowerground": 7.624, - "blizzard|explosion|flashcannon|freezedry": 5.718, - "blizzard|explosion|flashcannon|hiddenpowerground": 7.751, - "blizzard|explosion|freezedry|hiddenpowerground": 5.591, - "blizzard|flashcannon|freezedry|hiddenpowerground": 6.607, - "explosion|flashcannon|freezedry|hiddenpowerground": 7.497 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vaporeon": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 459, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "healbell", - 58.17 - ], - [ - "protect", - 59.477 - ], - [ - "scald", - 100.0 - ], - [ - "wish", - 69.935 - ], - [ - "icebeam", - 56.427 - ], - [ - "roar", - 55.991 - ] - ], - "sets": { - "healbell|icebeam|protect|scald": 8.932, - "healbell|icebeam|roar|scald": 6.318, - "healbell|icebeam|scald|wish": 11.111, - "healbell|protect|roar|scald": 7.843, - "healbell|protect|scald|wish": 12.854, - "healbell|roar|scald|wish": 11.111, - "icebeam|protect|roar|scald": 6.972, - "icebeam|protect|scald|wish": 11.111, - "icebeam|roar|scald|wish": 11.983, - "protect|roar|scald|wish": 11.765 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "venomoth": { - "abilities": [ - [ - "tintedlens", - 100.0 - ] - ], - "count": 738, - "items": [ - [ - "blacksludge", - 96.206 - ], - [ - "focussash", - 3.794 - ] - ], - "moves": [ - [ - "sludgebomb", - 100.0 - ], - [ - "quiverdance", - 78.32 - ], - [ - "substitute", - 59.35 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "sleeppowder", - 62.331 - ] - ], - "sets": { - "bugbuzz|quiverdance|sleeppowder|sludgebomb": 40.65, - "bugbuzz|quiverdance|sludgebomb|substitute": 37.669, - "bugbuzz|sleeppowder|sludgebomb|substitute": 21.68 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "venusaur": { - "abilities": [ - [ - "overgrow", - 42.739 - ], - [ - "chlorophyll", - 57.261 - ] - ], - "count": 241, - "items": [ - [ - "blacksludge", - 52.282 - ], - [ - "heatrock", - 34.025 - ], - [ - "lifeorb", - 13.693 - ] - ], - "moves": [ - [ - "substitute", - 58.506 - ], - [ - "leechseed", - 48.548 - ], - [ - "gigadrain", - 65.145 - ], - [ - "sludgebomb", - 72.199 - ], - [ - "sunnyday", - 35.685 - ], - [ - "hiddenpowerfire", - 67.635 - ], - [ - "sleeppowder", - 52.282 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|leechseed|sleeppowder": 2.49, - "gigadrain|hiddenpowerfire|leechseed|sludgebomb": 3.32, - "gigadrain|hiddenpowerfire|leechseed|substitute": 5.394, - "gigadrain|hiddenpowerfire|leechseed|sunnyday": 3.32, - "gigadrain|hiddenpowerfire|sleeppowder|sludgebomb": 4.149, - "gigadrain|hiddenpowerfire|sleeppowder|substitute": 3.32, - "gigadrain|hiddenpowerfire|sleeppowder|sunnyday": 3.32, - "gigadrain|hiddenpowerfire|sludgebomb|substitute": 4.564, - "gigadrain|hiddenpowerfire|sludgebomb|sunnyday": 1.66, - "gigadrain|hiddenpowerfire|substitute|sunnyday": 4.979, - "gigadrain|leechseed|sleeppowder|sludgebomb": 4.979, - "gigadrain|leechseed|sleeppowder|substitute": 4.979, - "gigadrain|leechseed|sludgebomb|substitute": 4.979, - "gigadrain|leechseed|sludgebomb|sunnyday": 2.49, - "gigadrain|sleeppowder|sludgebomb|substitute": 5.809, - "gigadrain|sleeppowder|sludgebomb|sunnyday": 3.32, - "gigadrain|sludgebomb|substitute|sunnyday": 2.075, - "hiddenpowerfire|leechseed|sleeppowder|sludgebomb": 2.905, - "hiddenpowerfire|leechseed|sludgebomb|substitute": 5.809, - "hiddenpowerfire|leechseed|sludgebomb|sunnyday": 4.149, - "hiddenpowerfire|sleeppowder|sludgebomb|substitute": 7.884, - "hiddenpowerfire|sleeppowder|sludgebomb|sunnyday": 5.394, - "hiddenpowerfire|sludgebomb|substitute|sunnyday": 4.979, - "leechseed|sleeppowder|sludgebomb|substitute": 3.734 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "venusaurmega": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 540, - "items": [ - [ - "venusaurite", - 100.0 - ] - ], - "moves": [ - [ - "leechseed", - 46.852 - ], - [ - "knockoff", - 49.63 - ], - [ - "gigadrain", - 61.296 - ], - [ - "sludgebomb", - 66.481 - ], - [ - "earthquake", - 50.37 - ], - [ - "sleeppowder", - 51.852 - ], - [ - "synthesis", - 27.963 - ], - [ - "hiddenpowerfire", - 45.556 - ] - ], - "sets": { - "earthquake|gigadrain|hiddenpowerfire|knockoff": 1.296, - "earthquake|gigadrain|hiddenpowerfire|leechseed": 2.037, - "earthquake|gigadrain|hiddenpowerfire|sleeppowder": 2.222, - "earthquake|gigadrain|hiddenpowerfire|sludgebomb": 1.481, - "earthquake|gigadrain|hiddenpowerfire|synthesis": 2.037, - "earthquake|gigadrain|knockoff|leechseed": 2.222, - "earthquake|gigadrain|knockoff|sleeppowder": 2.407, - "earthquake|gigadrain|knockoff|sludgebomb": 1.852, - "earthquake|gigadrain|knockoff|synthesis": 3.148, - "earthquake|gigadrain|leechseed|sleeppowder": 2.222, - "earthquake|gigadrain|leechseed|sludgebomb": 3.519, - "earthquake|gigadrain|sleeppowder|sludgebomb": 2.222, - "earthquake|gigadrain|sleeppowder|synthesis": 1.852, - "earthquake|gigadrain|sludgebomb|synthesis": 1.111, - "earthquake|hiddenpowerfire|knockoff|sludgebomb": 2.593, - "earthquake|hiddenpowerfire|leechseed|sludgebomb": 2.778, - "earthquake|hiddenpowerfire|sleeppowder|sludgebomb": 2.222, - "earthquake|hiddenpowerfire|sludgebomb|synthesis": 2.407, - "earthquake|knockoff|leechseed|sludgebomb": 2.407, - "earthquake|knockoff|sleeppowder|sludgebomb": 1.667, - "earthquake|knockoff|sludgebomb|synthesis": 1.852, - "earthquake|leechseed|sleeppowder|sludgebomb": 2.963, - "earthquake|sleeppowder|sludgebomb|synthesis": 1.852, - "gigadrain|hiddenpowerfire|knockoff|leechseed": 2.778, - "gigadrain|hiddenpowerfire|knockoff|sleeppowder": 0.926, - "gigadrain|hiddenpowerfire|knockoff|sludgebomb": 0.741, - "gigadrain|hiddenpowerfire|knockoff|synthesis": 1.667, - "gigadrain|hiddenpowerfire|leechseed|sleeppowder": 2.037, - "gigadrain|hiddenpowerfire|leechseed|sludgebomb": 2.963, - "gigadrain|hiddenpowerfire|sleeppowder|sludgebomb": 1.296, - "gigadrain|hiddenpowerfire|sleeppowder|synthesis": 1.296, - "gigadrain|hiddenpowerfire|sludgebomb|synthesis": 0.556, - "gigadrain|knockoff|leechseed|sleeppowder": 4.074, - "gigadrain|knockoff|leechseed|sludgebomb": 3.333, - "gigadrain|knockoff|sleeppowder|sludgebomb": 2.407, - "gigadrain|knockoff|sleeppowder|synthesis": 1.296, - "gigadrain|knockoff|sludgebomb|synthesis": 1.111, - "gigadrain|leechseed|sleeppowder|sludgebomb": 3.333, - "gigadrain|sleeppowder|sludgebomb|synthesis": 1.852, - "hiddenpowerfire|knockoff|leechseed|sludgebomb": 2.593, - "hiddenpowerfire|knockoff|sleeppowder|sludgebomb": 1.852, - "hiddenpowerfire|knockoff|sludgebomb|synthesis": 1.667, - "hiddenpowerfire|leechseed|sleeppowder|sludgebomb": 4.259, - "hiddenpowerfire|sleeppowder|sludgebomb|synthesis": 1.852, - "knockoff|leechseed|sleeppowder|sludgebomb": 3.333, - "knockoff|sleeppowder|sludgebomb|synthesis": 2.407 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vespiquen": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 210, - "items": [ - [ - "leftovers", - 98.095 - ], - [ - "focussash", - 1.905 - ] - ], - "moves": [ - [ - "destinybond", - 64.286 - ], - [ - "attackorder", - 100.0 - ], - [ - "substitute", - 58.095 - ], - [ - "toxic", - 60.952 - ], - [ - "roost", - 83.333 - ], - [ - "tailwind", - 33.333 - ] - ], - "sets": { - "attackorder|destinybond|roost|substitute": 22.857, - "attackorder|destinybond|roost|tailwind": 13.333, - "attackorder|destinybond|roost|toxic": 11.429, - "attackorder|destinybond|substitute|toxic": 12.857, - "attackorder|destinybond|tailwind|toxic": 3.81, - "attackorder|roost|substitute|tailwind": 2.857, - "attackorder|roost|substitute|toxic": 19.524, - "attackorder|roost|tailwind|toxic": 13.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "victini": { - "abilities": [ - [ - "victorystar", - 100.0 - ] - ], - "count": 593, - "items": [ - [ - "assaultvest", - 92.074 - ], - [ - "choiceband", - 1.518 - ], - [ - "choicescarf", - 5.396 - ], - [ - "choicespecs", - 1.012 - ] - ], - "moves": [ - [ - "boltstrike", - 54.3 - ], - [ - "zenheadbutt", - 60.371 - ], - [ - "vcreate", - 62.563 - ], - [ - "grassknot", - 55.987 - ], - [ - "blueflare", - 65.093 - ], - [ - "uturn", - 50.422 - ], - [ - "focusblast", - 51.265 - ] - ], - "sets": { - "blueflare|boltstrike|focusblast|grassknot": 3.204, - "blueflare|boltstrike|focusblast|uturn": 3.204, - "blueflare|boltstrike|focusblast|vcreate": 2.867, - "blueflare|boltstrike|focusblast|zenheadbutt": 3.541, - "blueflare|boltstrike|grassknot|uturn": 1.518, - "blueflare|boltstrike|grassknot|vcreate": 4.047, - "blueflare|boltstrike|grassknot|zenheadbutt": 6.914, - "blueflare|boltstrike|uturn|vcreate": 1.686, - "blueflare|boltstrike|uturn|zenheadbutt": 3.71, - "blueflare|boltstrike|vcreate|zenheadbutt": 1.855, - "blueflare|focusblast|grassknot|uturn": 3.204, - "blueflare|focusblast|grassknot|vcreate": 2.698, - "blueflare|focusblast|grassknot|zenheadbutt": 4.553, - "blueflare|focusblast|uturn|vcreate": 2.024, - "blueflare|focusblast|uturn|zenheadbutt": 4.384, - "blueflare|focusblast|vcreate|zenheadbutt": 3.204, - "blueflare|grassknot|uturn|vcreate": 3.204, - "blueflare|grassknot|uturn|zenheadbutt": 3.204, - "blueflare|grassknot|vcreate|zenheadbutt": 2.53, - "blueflare|uturn|vcreate|zenheadbutt": 3.541, - "boltstrike|focusblast|grassknot|vcreate": 2.024, - "boltstrike|focusblast|uturn|vcreate": 2.867, - "boltstrike|focusblast|vcreate|zenheadbutt": 3.541, - "boltstrike|grassknot|uturn|vcreate": 4.047, - "boltstrike|grassknot|vcreate|zenheadbutt": 4.553, - "boltstrike|uturn|vcreate|zenheadbutt": 4.722, - "focusblast|grassknot|uturn|vcreate": 3.035, - "focusblast|grassknot|vcreate|zenheadbutt": 4.047, - "focusblast|uturn|vcreate|zenheadbutt": 2.867, - "grassknot|uturn|vcreate|zenheadbutt": 3.204 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "victreebel": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 537, - "items": [ - [ - "grassiumz", - 36.313 - ], - [ - "lifeorb", - 53.259 - ], - [ - "focussash", - 8.007 - ], - [ - "blacksludge", - 2.421 - ] - ], - "moves": [ - [ - "swordsdance", - 54.19 - ], - [ - "knockoff", - 74.488 - ], - [ - "sleeppowder", - 68.529 - ], - [ - "powerwhip", - 86.965 - ], - [ - "sludgebomb", - 44.32 - ], - [ - "hiddenpowerfire", - 35.94 - ], - [ - "gigadrain", - 15.084 - ], - [ - "suckerpunch", - 20.484 - ] - ], - "sets": { - "gigadrain|hiddenpowerfire|knockoff|sleeppowder": 1.117, - "gigadrain|hiddenpowerfire|knockoff|sludgebomb": 2.98, - "gigadrain|hiddenpowerfire|sleeppowder|sludgebomb": 1.304, - "gigadrain|hiddenpowerfire|sludgebomb|suckerpunch": 2.793, - "gigadrain|knockoff|powerwhip|sludgebomb": 0.186, - "gigadrain|knockoff|powerwhip|swordsdance": 2.421, - "gigadrain|knockoff|sleeppowder|sludgebomb": 2.048, - "gigadrain|powerwhip|suckerpunch|swordsdance": 0.931, - "gigadrain|sleeppowder|sludgebomb|suckerpunch": 1.304, - "hiddenpowerfire|knockoff|powerwhip|sleeppowder": 5.214, - "hiddenpowerfire|knockoff|powerwhip|sludgebomb": 5.214, - "hiddenpowerfire|knockoff|powerwhip|swordsdance": 2.048, - "hiddenpowerfire|knockoff|sleeppowder|sludgebomb": 1.49, - "hiddenpowerfire|powerwhip|sleeppowder|sludgebomb": 7.635, - "hiddenpowerfire|powerwhip|sludgebomb|suckerpunch": 4.842, - "hiddenpowerfire|powerwhip|suckerpunch|swordsdance": 1.304, - "knockoff|powerwhip|sleeppowder|sludgebomb": 6.331, - "knockoff|powerwhip|sleeppowder|swordsdance": 38.734, - "knockoff|powerwhip|sludgebomb|swordsdance": 2.793, - "knockoff|powerwhip|suckerpunch|swordsdance": 3.911, - "powerwhip|sleeppowder|sludgebomb|suckerpunch": 3.352, - "powerwhip|sludgebomb|suckerpunch|swordsdance": 2.048 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vikavolt": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 523, - "items": [ - [ - "focussash", - 10.516 - ], - [ - "lifeorb", - 55.641 - ], - [ - "choicespecs", - 33.843 - ] - ], - "moves": [ - [ - "bugbuzz", - 79.35 - ], - [ - "hiddenpowerice", - 64.818 - ], - [ - "agility", - 66.157 - ], - [ - "thunderbolt", - 92.161 - ], - [ - "energyball", - 69.79 - ], - [ - "voltswitch", - 27.725 - ] - ], - "sets": { - "agility|bugbuzz|energyball|thunderbolt": 28.489, - "agility|bugbuzz|hiddenpowerice|thunderbolt": 24.283, - "agility|energyball|hiddenpowerice|thunderbolt": 13.384, - "bugbuzz|energyball|hiddenpowerice|thunderbolt": 6.119, - "bugbuzz|energyball|hiddenpowerice|voltswitch": 7.839, - "bugbuzz|energyball|thunderbolt|voltswitch": 6.692, - "bugbuzz|hiddenpowerice|thunderbolt|voltswitch": 5.927, - "energyball|hiddenpowerice|thunderbolt|voltswitch": 7.266 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vileplume": { - "abilities": [ - [ - "effectspore", - 96.612 - ], - [ - "chlorophyll", - 3.388 - ] - ], - "count": 738, - "items": [ - [ - "lifeorb", - 19.783 - ], - [ - "blacksludge", - 69.648 - ], - [ - "focussash", - 10.569 - ] - ], - "moves": [ - [ - "sludgebomb", - 73.171 - ], - [ - "hiddenpowerfire", - 64.634 - ], - [ - "gigadrain", - 69.377 - ], - [ - "sleeppowder", - 62.602 - ], - [ - "strengthsap", - 63.821 - ], - [ - "aromatherapy", - 66.396 - ] - ], - "sets": { - "aromatherapy|gigadrain|hiddenpowerfire|sleeppowder": 6.504, - "aromatherapy|gigadrain|hiddenpowerfire|sludgebomb": 7.317, - "aromatherapy|gigadrain|hiddenpowerfire|strengthsap": 7.182, - "aromatherapy|gigadrain|sleeppowder|sludgebomb": 8.13, - "aromatherapy|gigadrain|sleeppowder|strengthsap": 7.182, - "aromatherapy|gigadrain|sludgebomb|strengthsap": 6.64, - "aromatherapy|hiddenpowerfire|sleeppowder|sludgebomb": 7.046, - "aromatherapy|hiddenpowerfire|sludgebomb|strengthsap": 8.808, - "aromatherapy|sleeppowder|sludgebomb|strengthsap": 7.588, - "gigadrain|hiddenpowerfire|sleeppowder|sludgebomb": 7.182, - "gigadrain|hiddenpowerfire|sleeppowder|strengthsap": 5.962, - "gigadrain|hiddenpowerfire|sludgebomb|strengthsap": 7.453, - "gigadrain|sleeppowder|sludgebomb|strengthsap": 5.827, - "hiddenpowerfire|sleeppowder|sludgebomb|strengthsap": 7.182 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "virizion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 499, - "items": [ - [ - "leftovers", - 84.369 - ], - [ - "lifeorb", - 9.218 - ], - [ - "assaultvest", - 6.413 - ] - ], - "moves": [ - [ - "closecombat", - 51.503 - ], - [ - "swordsdance", - 39.078 - ], - [ - "leafblade", - 46.092 - ], - [ - "stoneedge", - 32.465 - ], - [ - "substitute", - 57.916 - ], - [ - "gigadrain", - 54.108 - ], - [ - "focusblast", - 46.293 - ], - [ - "hiddenpowerice", - 31.663 - ], - [ - "calmmind", - 40.882 - ] - ], - "sets": { - "calmmind|closecombat|gigadrain|hiddenpowerice": 1.202, - "calmmind|focusblast|gigadrain|hiddenpowerice": 16.232, - "calmmind|focusblast|gigadrain|substitute": 23.447, - "closecombat|gigadrain|hiddenpowerice|stoneedge": 1.603, - "closecombat|gigadrain|hiddenpowerice|substitute": 2.605, - "closecombat|gigadrain|leafblade|stoneedge": 0.2, - "closecombat|gigadrain|stoneedge|substitute": 2.605, - "closecombat|hiddenpowerice|leafblade|stoneedge": 1.804, - "closecombat|hiddenpowerice|leafblade|substitute": 1.002, - "closecombat|leafblade|stoneedge|substitute": 1.403, - "closecombat|leafblade|stoneedge|swordsdance": 18.236, - "closecombat|leafblade|substitute|swordsdance": 20.842, - "focusblast|gigadrain|hiddenpowerice|stoneedge": 2.204, - "focusblast|gigadrain|hiddenpowerice|substitute": 1.603, - "focusblast|gigadrain|stoneedge|substitute": 1.202, - "focusblast|hiddenpowerice|leafblade|stoneedge": 0.601, - "focusblast|hiddenpowerice|leafblade|substitute": 0.601, - "focusblast|leafblade|stoneedge|substitute": 0.401, - "gigadrain|hiddenpowerice|stoneedge|substitute": 1.202, - "hiddenpowerice|leafblade|stoneedge|substitute": 1.002 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vivillon": { - "abilities": [ - [ - "compoundeyes", - 100.0 - ] - ], - "count": 486, - "items": [ - [ - "leftovers", - 91.77 - ], - [ - "focussash", - 8.23 - ] - ], - "moves": [ - [ - "energyball", - 100.0 - ], - [ - "substitute", - 58.848 - ], - [ - "quiverdance", - 76.749 - ], - [ - "hurricane", - 100.0 - ], - [ - "sleeppowder", - 64.403 - ] - ], - "sets": { - "energyball|hurricane|quiverdance|sleeppowder": 41.152, - "energyball|hurricane|quiverdance|substitute": 35.597, - "energyball|hurricane|sleeppowder|substitute": 23.251 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "volbeat": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 88.542 - ], - [ - "focussash", - 11.458 - ] - ], - "moves": [ - [ - "roost", - 70.833 - ], - [ - "tailwind", - 55.208 - ], - [ - "encore", - 63.021 - ], - [ - "uturn", - 100.0 - ], - [ - "thunderwave", - 57.812 - ], - [ - "defog", - 53.125 - ] - ], - "sets": { - "defog|encore|roost|uturn": 8.333, - "defog|encore|tailwind|uturn": 8.854, - "defog|encore|thunderwave|uturn": 8.854, - "defog|roost|tailwind|uturn": 9.375, - "defog|roost|thunderwave|uturn": 10.938, - "defog|tailwind|thunderwave|uturn": 6.771, - "encore|roost|tailwind|uturn": 15.625, - "encore|roost|thunderwave|uturn": 16.667, - "encore|tailwind|thunderwave|uturn": 4.688, - "roost|tailwind|thunderwave|uturn": 9.896 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "volcanion": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 532, - "items": [ - [ - "leftovers", - 52.632 - ], - [ - "choicespecs", - 4.887 - ], - [ - "assaultvest", - 30.639 - ], - [ - "choicescarf", - 11.842 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "substitute", - 52.632 - ], - [ - "sludgebomb", - 50.564 - ], - [ - "steameruption", - 100.0 - ], - [ - "earthpower", - 47.556 - ], - [ - "superpower", - 49.248 - ] - ], - "sets": { - "earthpower|fireblast|sludgebomb|steameruption": 16.729, - "earthpower|fireblast|steameruption|substitute": 16.165, - "earthpower|fireblast|steameruption|superpower": 14.662, - "fireblast|sludgebomb|steameruption|substitute": 17.857, - "fireblast|sludgebomb|steameruption|superpower": 15.977, - "fireblast|steameruption|substitute|superpower": 18.609 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "volcarona": { - "abilities": [ - [ - "swarm", - 55.203 - ], - [ - "flamebody", - 44.797 - ] - ], - "count": 567, - "items": [ - [ - "lifeorb", - 55.556 - ], - [ - "leftovers", - 29.101 - ], - [ - "choicescarf", - 4.762 - ], - [ - "assaultvest", - 3.88 - ], - [ - "focussash", - 3.704 - ], - [ - "choicespecs", - 2.998 - ] - ], - "moves": [ - [ - "hiddenpowerground", - 31.217 - ], - [ - "quiverdance", - 58.201 - ], - [ - "fireblast", - 61.552 - ], - [ - "bugbuzz", - 67.019 - ], - [ - "roost", - 59.259 - ], - [ - "fierydance", - 38.448 - ], - [ - "gigadrain", - 55.556 - ], - [ - "hiddenpowerice", - 28.748 - ] - ], - "sets": { - "bugbuzz|fierydance|gigadrain|hiddenpowerground": 2.293, - "bugbuzz|fierydance|gigadrain|hiddenpowerice": 1.587, - "bugbuzz|fierydance|gigadrain|quiverdance": 2.293, - "bugbuzz|fierydance|gigadrain|roost": 2.116, - "bugbuzz|fierydance|hiddenpowerground|quiverdance": 2.646, - "bugbuzz|fierydance|hiddenpowerground|roost": 2.646, - "bugbuzz|fierydance|hiddenpowerice|quiverdance": 2.116, - "bugbuzz|fierydance|hiddenpowerice|roost": 2.469, - "bugbuzz|fierydance|quiverdance|roost": 7.76, - "bugbuzz|fireblast|gigadrain|hiddenpowerground": 3.527, - "bugbuzz|fireblast|gigadrain|hiddenpowerice": 4.233, - "bugbuzz|fireblast|gigadrain|quiverdance": 2.469, - "bugbuzz|fireblast|gigadrain|roost": 4.056, - "bugbuzz|fireblast|hiddenpowerground|quiverdance": 2.469, - "bugbuzz|fireblast|hiddenpowerground|roost": 4.056, - "bugbuzz|fireblast|hiddenpowerice|quiverdance": 4.233, - "bugbuzz|fireblast|hiddenpowerice|roost": 3.88, - "bugbuzz|fireblast|quiverdance|roost": 12.169, - "fierydance|gigadrain|hiddenpowerground|quiverdance": 2.822, - "fierydance|gigadrain|hiddenpowerground|roost": 3.175, - "fierydance|gigadrain|hiddenpowerice|quiverdance": 2.822, - "fierydance|gigadrain|hiddenpowerice|roost": 0.882, - "fierydance|gigadrain|quiverdance|roost": 2.822, - "fireblast|gigadrain|hiddenpowerground|quiverdance": 3.704, - "fireblast|gigadrain|hiddenpowerground|roost": 3.88, - "fireblast|gigadrain|hiddenpowerice|quiverdance": 3.527, - "fireblast|gigadrain|hiddenpowerice|roost": 2.998, - "fireblast|gigadrain|quiverdance|roost": 6.349 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wailord": { - "abilities": [ - [ - "waterveil", - 100.0 - ] - ], - "count": 207, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 100.0 - ], - [ - "hydropump", - 100.0 - ], - [ - "hiddenpowerfire", - 50.242 - ], - [ - "waterspout", - 100.0 - ], - [ - "hiddenpowergrass", - 49.758 - ] - ], - "sets": { - "hiddenpowerfire|hydropump|icebeam|waterspout": 50.242, - "hiddenpowergrass|hydropump|icebeam|waterspout": 49.758 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "walrein": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "surf", - 100.0 - ], - [ - "toxic", - 65.591 - ], - [ - "icebeam", - 100.0 - ], - [ - "roar", - 59.677 - ], - [ - "protect", - 62.903 - ], - [ - "superfang", - 11.828 - ] - ], - "sets": { - "icebeam|protect|roar|surf": 25.806, - "icebeam|protect|superfang|surf": 3.763, - "icebeam|protect|surf|toxic": 33.333, - "icebeam|roar|superfang|surf": 4.839, - "icebeam|roar|surf|toxic": 29.032, - "icebeam|superfang|surf|toxic": 3.226 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "watchog": { - "abilities": [ - [ - "analytic", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "leftovers", - 84.571 - ], - [ - "focussash", - 15.429 - ] - ], - "moves": [ - [ - "hypnosis", - 60.571 - ], - [ - "swordsdance", - 70.286 - ], - [ - "return102", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "substitute", - 65.714 - ], - [ - "superfang", - 3.429 - ] - ], - "sets": { - "hypnosis|knockoff|return102|substitute": 26.286, - "hypnosis|knockoff|return102|superfang": 1.143, - "hypnosis|knockoff|return102|swordsdance": 33.143, - "knockoff|return102|substitute|superfang": 2.286, - "knockoff|return102|substitute|swordsdance": 37.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "weavile": { - "abilities": [ - [ - "pickpocket", - 100.0 - ] - ], - "count": 701, - "items": [ - [ - "choiceband", - 35.235 - ], - [ - "lifeorb", - 56.919 - ], - [ - "focussash", - 7.846 - ] - ], - "moves": [ - [ - "pursuit", - 29.529 - ], - [ - "knockoff", - 94.151 - ], - [ - "iciclecrash", - 78.031 - ], - [ - "iceshard", - 79.173 - ], - [ - "lowkick", - 54.351 - ], - [ - "swordsdance", - 64.765 - ] - ], - "sets": { - "iceshard|iciclecrash|knockoff|lowkick": 5.706, - "iceshard|iciclecrash|knockoff|pursuit": 7.846, - "iceshard|iciclecrash|knockoff|swordsdance": 37.803, - "iceshard|iciclecrash|lowkick|pursuit": 5.849, - "iceshard|knockoff|lowkick|pursuit": 8.274, - "iceshard|knockoff|lowkick|swordsdance": 13.695, - "iciclecrash|knockoff|lowkick|pursuit": 7.561, - "iciclecrash|knockoff|lowkick|swordsdance": 13.267 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "weezing": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 532, - "items": [ - [ - "blacksludge", - 95.301 - ], - [ - "focussash", - 4.699 - ] - ], - "moves": [ - [ - "fireblast", - 59.398 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "protect", - 63.158 - ], - [ - "painsplit", - 58.083 - ], - [ - "willowisp", - 64.098 - ], - [ - "toxicspikes", - 55.263 - ] - ], - "sets": { - "fireblast|painsplit|protect|sludgebomb": 10.15, - "fireblast|painsplit|sludgebomb|toxicspikes": 6.955, - "fireblast|painsplit|sludgebomb|willowisp": 9.774, - "fireblast|protect|sludgebomb|toxicspikes": 9.398, - "fireblast|protect|sludgebomb|willowisp": 12.594, - "fireblast|sludgebomb|toxicspikes|willowisp": 10.526, - "painsplit|protect|sludgebomb|toxicspikes": 9.398, - "painsplit|protect|sludgebomb|willowisp": 12.218, - "painsplit|sludgebomb|toxicspikes|willowisp": 9.586, - "protect|sludgebomb|toxicspikes|willowisp": 9.398 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "whimsicott": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 515, - "items": [ - [ - "leftovers", - 85.825 - ], - [ - "focussash", - 14.175 - ] - ], - "moves": [ - [ - "defog", - 32.427 - ], - [ - "encore", - 36.893 - ], - [ - "uturn", - 34.369 - ], - [ - "moonblast", - 100.0 - ], - [ - "memento", - 35.34 - ], - [ - "tailwind", - 33.204 - ], - [ - "stunspore", - 25.243 - ], - [ - "leechseed", - 35.728 - ], - [ - "taunt", - 34.175 - ], - [ - "toxic", - 32.621 - ] - ], - "sets": { - "defog|encore|leechseed|moonblast": 0.777, - "defog|encore|memento|moonblast": 1.553, - "defog|encore|moonblast|stunspore": 0.971, - "defog|encore|moonblast|tailwind": 0.777, - "defog|encore|moonblast|taunt": 0.777, - "defog|encore|moonblast|toxic": 1.748, - "defog|encore|moonblast|uturn": 0.971, - "defog|leechseed|memento|moonblast": 1.165, - "defog|leechseed|moonblast|stunspore": 0.777, - "defog|leechseed|moonblast|tailwind": 1.165, - "defog|leechseed|moonblast|taunt": 1.748, - "defog|leechseed|moonblast|toxic": 2.136, - "defog|leechseed|moonblast|uturn": 0.971, - "defog|memento|moonblast|stunspore": 1.748, - "defog|memento|moonblast|tailwind": 1.165, - "defog|memento|moonblast|taunt": 1.553, - "defog|memento|moonblast|toxic": 1.748, - "defog|memento|moonblast|uturn": 0.388, - "defog|moonblast|stunspore|tailwind": 0.583, - "defog|moonblast|stunspore|taunt": 1.359, - "defog|moonblast|stunspore|uturn": 1.165, - "defog|moonblast|tailwind|taunt": 1.553, - "defog|moonblast|tailwind|toxic": 0.583, - "defog|moonblast|tailwind|uturn": 1.165, - "defog|moonblast|taunt|toxic": 1.942, - "defog|moonblast|taunt|uturn": 0.583, - "defog|moonblast|toxic|uturn": 1.359, - "encore|leechseed|memento|moonblast": 1.359, - "encore|leechseed|moonblast|stunspore": 1.942, - "encore|leechseed|moonblast|tailwind": 1.553, - "encore|leechseed|moonblast|taunt": 1.748, - "encore|leechseed|moonblast|toxic": 1.553, - "encore|leechseed|moonblast|uturn": 1.165, - "encore|memento|moonblast|stunspore": 1.942, - "encore|memento|moonblast|tailwind": 1.553, - "encore|memento|moonblast|taunt": 0.971, - "encore|memento|moonblast|toxic": 1.942, - "encore|memento|moonblast|uturn": 0.777, - "encore|moonblast|stunspore|tailwind": 0.971, - "encore|moonblast|stunspore|taunt": 0.583, - "encore|moonblast|stunspore|uturn": 2.136, - "encore|moonblast|tailwind|taunt": 1.748, - "encore|moonblast|tailwind|toxic": 1.165, - "encore|moonblast|tailwind|uturn": 2.524, - "encore|moonblast|taunt|toxic": 0.971, - "encore|moonblast|taunt|uturn": 0.777, - "encore|moonblast|toxic|uturn": 1.942, - "leechseed|memento|moonblast|stunspore": 1.748, - "leechseed|memento|moonblast|tailwind": 0.777, - "leechseed|memento|moonblast|taunt": 1.165, - "leechseed|memento|moonblast|toxic": 0.971, - "leechseed|memento|moonblast|uturn": 2.136, - "leechseed|moonblast|stunspore|tailwind": 0.971, - "leechseed|moonblast|stunspore|taunt": 0.971, - "leechseed|moonblast|stunspore|uturn": 1.359, - "leechseed|moonblast|tailwind|taunt": 0.971, - "leechseed|moonblast|tailwind|toxic": 1.359, - "leechseed|moonblast|tailwind|uturn": 1.165, - "leechseed|moonblast|taunt|toxic": 1.359, - "leechseed|moonblast|taunt|uturn": 0.971, - "leechseed|moonblast|toxic|uturn": 1.748, - "memento|moonblast|stunspore|tailwind": 1.165, - "memento|moonblast|stunspore|taunt": 0.971, - "memento|moonblast|stunspore|uturn": 0.971, - "memento|moonblast|tailwind|taunt": 0.583, - "memento|moonblast|tailwind|toxic": 1.942, - "memento|moonblast|tailwind|uturn": 0.583, - "memento|moonblast|taunt|toxic": 1.748, - "memento|moonblast|taunt|uturn": 1.748, - "memento|moonblast|toxic|uturn": 0.971, - "moonblast|stunspore|tailwind|taunt": 0.777, - "moonblast|stunspore|tailwind|uturn": 0.971, - "moonblast|stunspore|taunt|uturn": 1.165, - "moonblast|tailwind|taunt|toxic": 2.33, - "moonblast|tailwind|taunt|uturn": 1.553, - "moonblast|tailwind|toxic|uturn": 1.553, - "moonblast|taunt|toxic|uturn": 1.553 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "whiscash": { - "abilities": [ - [ - "oblivious", - 98.953 - ], - [ - "hydration", - 1.047 - ] - ], - "count": 191, - "items": [ - [ - "choiceband", - 22.513 - ], - [ - "lifeorb", - 49.215 - ], - [ - "focussash", - 28.272 - ] - ], - "moves": [ - [ - "waterfall", - 100.0 - ], - [ - "stoneedge", - 64.921 - ], - [ - "earthquake", - 100.0 - ], - [ - "zenheadbutt", - 57.592 - ], - [ - "dragondance", - 77.487 - ] - ], - "sets": { - "dragondance|earthquake|stoneedge|waterfall": 42.408, - "dragondance|earthquake|waterfall|zenheadbutt": 35.079, - "earthquake|stoneedge|waterfall|zenheadbutt": 22.513 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wigglytuff": { - "abilities": [ - [ - "competitive", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 77.604 - ], - [ - "lifeorb", - 7.292 - ], - [ - "focussash", - 15.104 - ] - ], - "moves": [ - [ - "dazzlinggleam", - 70.312 - ], - [ - "wish", - 71.354 - ], - [ - "fireblast", - 65.104 - ], - [ - "protect", - 65.104 - ], - [ - "hypervoice", - 68.229 - ], - [ - "stealthrock", - 59.896 - ] - ], - "sets": { - "dazzlinggleam|fireblast|hypervoice|protect": 7.292, - "dazzlinggleam|fireblast|hypervoice|stealthrock": 5.208, - "dazzlinggleam|fireblast|hypervoice|wish": 8.333, - "dazzlinggleam|fireblast|protect|stealthrock": 5.729, - "dazzlinggleam|fireblast|protect|wish": 9.375, - "dazzlinggleam|fireblast|stealthrock|wish": 7.292, - "dazzlinggleam|hypervoice|protect|stealthrock": 4.688, - "dazzlinggleam|hypervoice|protect|wish": 6.25, - "dazzlinggleam|hypervoice|stealthrock|wish": 6.771, - "dazzlinggleam|protect|stealthrock|wish": 9.375, - "fireblast|hypervoice|protect|stealthrock": 5.729, - "fireblast|hypervoice|protect|wish": 8.854, - "fireblast|hypervoice|stealthrock|wish": 7.292, - "hypervoice|protect|stealthrock|wish": 7.812 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wishiwashi": { - "abilities": [ - [ - "schooling", - 100.0 - ] - ], - "count": 169, - "items": [ - [ - "expertbelt", - 73.964 - ], - [ - "choicespecs", - 26.036 - ] - ], - "moves": [ - [ - "icebeam", - 100.0 - ], - [ - "earthquake", - 73.964 - ], - [ - "hydropump", - 41.42 - ], - [ - "hiddenpowergrass", - 100.0 - ], - [ - "scald", - 84.615 - ] - ], - "sets": { - "earthquake|hiddenpowergrass|hydropump|icebeam": 15.385, - "earthquake|hiddenpowergrass|icebeam|scald": 58.58, - "hiddenpowergrass|hydropump|icebeam|scald": 26.036 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wobbuffet": { - "abilities": [ - [ - "shadowtag", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "custapberry", - 77.714 - ], - [ - "leftovers", - 12.571 - ], - [ - "sitrusberry", - 9.714 - ] - ], - "moves": [ - [ - "destinybond", - 77.714 - ], - [ - "encore", - 100.0 - ], - [ - "mirrorcoat", - 100.0 - ], - [ - "counter", - 100.0 - ], - [ - "safeguard", - 22.286 - ] - ], - "sets": { - "counter|destinybond|encore|mirrorcoat": 77.714, - "counter|encore|mirrorcoat|safeguard": 22.286 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wormadam": { - "abilities": [ - [ - "overcoat", - 100.0 - ] - ], - "count": 51, - "items": [ - [ - "leftovers", - 50.98 - ], - [ - "focussash", - 31.373 - ], - [ - "choicespecs", - 17.647 - ] - ], - "moves": [ - [ - "quiverdance", - 82.353 - ], - [ - "gigadrain", - 76.471 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "hiddenpowerrock", - 100.0 - ], - [ - "leafstorm", - 41.176 - ] - ], - "sets": { - "bugbuzz|gigadrain|hiddenpowerrock|leafstorm": 17.647, - "bugbuzz|gigadrain|hiddenpowerrock|quiverdance": 58.824, - "bugbuzz|hiddenpowerrock|leafstorm|quiverdance": 23.529 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wormadamsandy": { - "abilities": [ - [ - "overcoat", - 100.0 - ] - ], - "count": 75, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "stealthrock", - 100.0 - ] - ], - "sets": { - "earthquake|protect|stealthrock|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wormadamtrash": { - "abilities": [ - [ - "overcoat", - 100.0 - ] - ], - "count": 47, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "gyroball", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "stealthrock", - 100.0 - ] - ], - "sets": { - "gyroball|protect|stealthrock|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xatu": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 499, - "items": [ - [ - "leftovers", - 96.994 - ], - [ - "focussash", - 3.006 - ] - ], - "moves": [ - [ - "calmmind", - 51.102 - ], - [ - "roost", - 83.968 - ], - [ - "psychic", - 100.0 - ], - [ - "heatwave", - 79.96 - ], - [ - "uturn", - 35.671 - ], - [ - "toxic", - 27.255 - ], - [ - "thunderwave", - 13.427 - ], - [ - "reflect", - 8.617 - ] - ], - "sets": { - "calmmind|heatwave|psychic|reflect": 8.617, - "calmmind|heatwave|psychic|roost": 42.485, - "heatwave|psychic|roost|thunderwave": 5.01, - "heatwave|psychic|roost|toxic": 8.216, - "heatwave|psychic|roost|uturn": 8.216, - "heatwave|psychic|thunderwave|uturn": 2.405, - "heatwave|psychic|toxic|uturn": 5.01, - "psychic|roost|thunderwave|uturn": 6.012, - "psychic|roost|toxic|uturn": 14.028 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xerneas": { - "abilities": [ - [ - "fairyaura", - 100.0 - ] - ], - "count": 635, - "items": [ - [ - "powerherb", - 65.669 - ], - [ - "assaultvest", - 25.669 - ], - [ - "choicescarf", - 5.827 - ], - [ - "choicespecs", - 2.835 - ] - ], - "moves": [ - [ - "geomancy", - 65.669 - ], - [ - "focusblast", - 44.567 - ], - [ - "hiddenpowerfire", - 50.236 - ], - [ - "moonblast", - 100.0 - ], - [ - "closecombat", - 17.008 - ], - [ - "thunderbolt", - 51.811 - ], - [ - "rockslide", - 18.74 - ], - [ - "psyshock", - 51.969 - ] - ], - "sets": { - "closecombat|geomancy|hiddenpowerfire|moonblast": 0.945, - "closecombat|geomancy|moonblast|psyshock": 0.787, - "closecombat|geomancy|moonblast|thunderbolt": 0.787, - "closecombat|hiddenpowerfire|moonblast|psyshock": 1.89, - "closecombat|hiddenpowerfire|moonblast|rockslide": 2.047, - "closecombat|hiddenpowerfire|moonblast|thunderbolt": 2.047, - "closecombat|moonblast|psyshock|rockslide": 2.677, - "closecombat|moonblast|psyshock|thunderbolt": 2.992, - "closecombat|moonblast|rockslide|thunderbolt": 2.835, - "focusblast|geomancy|hiddenpowerfire|moonblast": 10.709, - "focusblast|geomancy|moonblast|psyshock": 10.709, - "focusblast|geomancy|moonblast|thunderbolt": 11.024, - "focusblast|hiddenpowerfire|moonblast|psyshock": 2.205, - "focusblast|hiddenpowerfire|moonblast|rockslide": 1.89, - "focusblast|hiddenpowerfire|moonblast|thunderbolt": 1.575, - "focusblast|moonblast|psyshock|rockslide": 2.52, - "focusblast|moonblast|psyshock|thunderbolt": 2.047, - "focusblast|moonblast|rockslide|thunderbolt": 1.89, - "geomancy|hiddenpowerfire|moonblast|psyshock": 10.394, - "geomancy|hiddenpowerfire|moonblast|thunderbolt": 10.709, - "geomancy|moonblast|psyshock|thunderbolt": 9.606, - "hiddenpowerfire|moonblast|psyshock|rockslide": 1.417, - "hiddenpowerfire|moonblast|psyshock|thunderbolt": 2.835, - "hiddenpowerfire|moonblast|rockslide|thunderbolt": 1.575, - "moonblast|psyshock|rockslide|thunderbolt": 1.89 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xurkitree": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 669, - "items": [ - [ - "electriumz", - 56.801 - ], - [ - "choicescarf", - 29.447 - ], - [ - "choicespecs", - 13.752 - ] - ], - "moves": [ - [ - "electricterrain", - 56.801 - ], - [ - "thunderbolt", - 93.572 - ], - [ - "energyball", - 72.197 - ], - [ - "hiddenpowerice", - 77.13 - ], - [ - "voltswitch", - 29.297 - ], - [ - "dazzlinggleam", - 71.001 - ] - ], - "sets": { - "dazzlinggleam|electricterrain|energyball|thunderbolt": 15.994, - "dazzlinggleam|electricterrain|hiddenpowerice|thunderbolt": 19.133, - "dazzlinggleam|energyball|hiddenpowerice|thunderbolt": 13.901, - "dazzlinggleam|energyball|hiddenpowerice|voltswitch": 6.428, - "dazzlinggleam|energyball|thunderbolt|voltswitch": 6.876, - "dazzlinggleam|hiddenpowerice|thunderbolt|voltswitch": 8.67, - "electricterrain|energyball|hiddenpowerice|thunderbolt": 21.674, - "energyball|hiddenpowerice|thunderbolt|voltswitch": 7.324 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "yanmega": { - "abilities": [ - [ - "speedboost", - 78.602 - ], - [ - "tintedlens", - 21.398 - ] - ], - "count": 472, - "items": [ - [ - "lifeorb", - 78.602 - ], - [ - "choicespecs", - 7.627 - ], - [ - "choicescarf", - 13.771 - ] - ], - "moves": [ - [ - "protect", - 78.602 - ], - [ - "gigadrain", - 100.0 - ], - [ - "airslash", - 100.0 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "uturn", - 21.398 - ] - ], - "sets": { - "airslash|bugbuzz|gigadrain|protect": 78.602, - "airslash|bugbuzz|gigadrain|uturn": 21.398 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "yveltal": { - "abilities": [ - [ - "darkaura", - 100.0 - ] - ], - "count": 605, - "items": [ - [ - "leftovers", - 87.769 - ], - [ - "assaultvest", - 11.24 - ], - [ - "choicespecs", - 0.496 - ], - [ - "choicescarf", - 0.496 - ] - ], - "moves": [ - [ - "suckerpunch", - 46.446 - ], - [ - "darkpulse", - 62.645 - ], - [ - "roost", - 57.355 - ], - [ - "oblivionwing", - 74.38 - ], - [ - "foulplay", - 48.43 - ], - [ - "uturn", - 27.273 - ], - [ - "focusblast", - 26.777 - ], - [ - "toxic", - 26.777 - ], - [ - "taunt", - 29.917 - ] - ], - "sets": { - "darkpulse|focusblast|foulplay|oblivionwing": 0.992, - "darkpulse|focusblast|foulplay|roost": 0.826, - "darkpulse|focusblast|foulplay|taunt": 0.331, - "darkpulse|focusblast|foulplay|toxic": 0.826, - "darkpulse|focusblast|foulplay|uturn": 0.496, - "darkpulse|focusblast|oblivionwing|roost": 0.992, - "darkpulse|focusblast|oblivionwing|suckerpunch": 1.983, - "darkpulse|focusblast|oblivionwing|taunt": 1.157, - "darkpulse|focusblast|oblivionwing|toxic": 0.826, - "darkpulse|focusblast|oblivionwing|uturn": 0.992, - "darkpulse|focusblast|roost|taunt": 0.826, - "darkpulse|focusblast|roost|toxic": 0.992, - "darkpulse|focusblast|roost|uturn": 0.826, - "darkpulse|focusblast|taunt|toxic": 1.488, - "darkpulse|focusblast|taunt|uturn": 0.992, - "darkpulse|focusblast|toxic|uturn": 0.165, - "darkpulse|foulplay|oblivionwing|roost": 0.826, - "darkpulse|foulplay|oblivionwing|taunt": 1.322, - "darkpulse|foulplay|oblivionwing|toxic": 0.496, - "darkpulse|foulplay|oblivionwing|uturn": 1.157, - "darkpulse|foulplay|roost|taunt": 0.992, - "darkpulse|foulplay|roost|toxic": 0.661, - "darkpulse|foulplay|roost|uturn": 0.826, - "darkpulse|foulplay|taunt|toxic": 0.331, - "darkpulse|foulplay|taunt|uturn": 0.661, - "darkpulse|foulplay|toxic|uturn": 0.331, - "darkpulse|oblivionwing|roost|suckerpunch": 19.174, - "darkpulse|oblivionwing|roost|taunt": 1.818, - "darkpulse|oblivionwing|roost|toxic": 1.157, - "darkpulse|oblivionwing|roost|uturn": 1.322, - "darkpulse|oblivionwing|suckerpunch|taunt": 2.81, - "darkpulse|oblivionwing|suckerpunch|toxic": 3.306, - "darkpulse|oblivionwing|suckerpunch|uturn": 2.81, - "darkpulse|oblivionwing|taunt|toxic": 1.157, - "darkpulse|oblivionwing|taunt|uturn": 1.322, - "darkpulse|oblivionwing|toxic|uturn": 0.661, - "darkpulse|roost|taunt|toxic": 1.653, - "darkpulse|roost|taunt|uturn": 1.818, - "darkpulse|roost|toxic|uturn": 0.331, - "darkpulse|taunt|toxic|uturn": 0.992, - "focusblast|foulplay|oblivionwing|roost": 1.488, - "focusblast|foulplay|oblivionwing|suckerpunch": 1.488, - "focusblast|foulplay|oblivionwing|taunt": 0.826, - "focusblast|foulplay|oblivionwing|toxic": 1.157, - "focusblast|foulplay|oblivionwing|uturn": 0.826, - "focusblast|foulplay|roost|taunt": 0.992, - "focusblast|foulplay|roost|toxic": 1.818, - "focusblast|foulplay|roost|uturn": 1.157, - "focusblast|foulplay|taunt|toxic": 0.992, - "focusblast|foulplay|taunt|uturn": 0.496, - "focusblast|foulplay|toxic|uturn": 0.826, - "foulplay|oblivionwing|roost|suckerpunch": 10.248, - "foulplay|oblivionwing|roost|taunt": 1.653, - "foulplay|oblivionwing|roost|toxic": 1.157, - "foulplay|oblivionwing|roost|uturn": 1.818, - "foulplay|oblivionwing|suckerpunch|taunt": 1.983, - "foulplay|oblivionwing|suckerpunch|toxic": 1.157, - "foulplay|oblivionwing|suckerpunch|uturn": 1.488, - "foulplay|oblivionwing|taunt|toxic": 0.826, - "foulplay|oblivionwing|taunt|uturn": 0.661, - "foulplay|oblivionwing|toxic|uturn": 1.322, - "foulplay|roost|taunt|uturn": 0.826, - "foulplay|roost|toxic|uturn": 1.157, - "foulplay|taunt|toxic|uturn": 0.992 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zangoose": { - "abilities": [ - [ - "toxicboost", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "toxicorb", - 100.0 - ] - ], - "moves": [ - [ - "closecombat", - 76.166 - ], - [ - "knockoff", - 76.166 - ], - [ - "facade", - 100.0 - ], - [ - "swordsdance", - 81.347 - ], - [ - "quickattack", - 66.321 - ] - ], - "sets": { - "closecombat|facade|knockoff|quickattack": 18.653, - "closecombat|facade|knockoff|swordsdance": 33.679, - "closecombat|facade|quickattack|swordsdance": 23.834, - "facade|knockoff|quickattack|swordsdance": 23.834 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zapdos": { - "abilities": [ - [ - "pressure", - 19.597 - ], - [ - "static", - 80.403 - ] - ], - "count": 546, - "items": [ - [ - "leftovers", - 75.824 - ], - [ - "focussash", - 4.396 - ], - [ - "lifeorb", - 15.751 - ], - [ - "choicescarf", - 2.93 - ], - [ - "choicespecs", - 1.099 - ] - ], - "moves": [ - [ - "defog", - 40.11 - ], - [ - "heatwave", - 47.253 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "toxic", - 45.055 - ], - [ - "uturn", - 49.817 - ], - [ - "hiddenpowerice", - 51.832 - ], - [ - "roost", - 65.934 - ] - ], - "sets": { - "defog|heatwave|hiddenpowerice|thunderbolt": 3.663, - "defog|heatwave|roost|thunderbolt": 6.593, - "defog|heatwave|thunderbolt|toxic": 2.747, - "defog|heatwave|thunderbolt|uturn": 2.564, - "defog|hiddenpowerice|roost|thunderbolt": 5.861, - "defog|hiddenpowerice|thunderbolt|toxic": 3.114, - "defog|hiddenpowerice|thunderbolt|uturn": 2.747, - "defog|roost|thunderbolt|toxic": 4.212, - "defog|roost|thunderbolt|uturn": 5.861, - "defog|thunderbolt|toxic|uturn": 2.747, - "heatwave|hiddenpowerice|roost|thunderbolt": 8.059, - "heatwave|hiddenpowerice|thunderbolt|toxic": 5.128, - "heatwave|hiddenpowerice|thunderbolt|uturn": 4.029, - "heatwave|roost|thunderbolt|toxic": 3.846, - "heatwave|roost|thunderbolt|uturn": 8.242, - "heatwave|thunderbolt|toxic|uturn": 2.381, - "hiddenpowerice|roost|thunderbolt|toxic": 6.96, - "hiddenpowerice|roost|thunderbolt|uturn": 7.326, - "hiddenpowerice|thunderbolt|toxic|uturn": 4.945, - "roost|thunderbolt|toxic|uturn": 8.974 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zebstrika": { - "abilities": [ - [ - "sapsipper", - 46.729 - ], - [ - "motordrive", - 36.449 - ], - [ - "lightningrod", - 16.822 - ] - ], - "count": 214, - "items": [ - [ - "expertbelt", - 78.505 - ], - [ - "choicespecs", - 21.495 - ] - ], - "moves": [ - [ - "voltswitch", - 82.71 - ], - [ - "wildcharge", - 78.505 - ], - [ - "hiddenpowergrass", - 100.0 - ], - [ - "overheat", - 100.0 - ], - [ - "thunderbolt", - 38.785 - ] - ], - "sets": { - "hiddenpowergrass|overheat|thunderbolt|voltswitch": 21.495, - "hiddenpowergrass|overheat|thunderbolt|wildcharge": 17.29, - "hiddenpowergrass|overheat|voltswitch|wildcharge": 61.215 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zekrom": { - "abilities": [ - [ - "teravolt", - 100.0 - ] - ], - "count": 671, - "items": [ - [ - "assaultvest", - 9.985 - ], - [ - "leftovers", - 54.993 - ], - [ - "lumberry", - 35.022 - ] - ], - "moves": [ - [ - "voltswitch", - 33.383 - ], - [ - "outrage", - 59.165 - ], - [ - "dracometeor", - 33.085 - ], - [ - "boltstrike", - 90.611 - ], - [ - "roost", - 79.881 - ], - [ - "dragonclaw", - 35.022 - ], - [ - "honeclaws", - 55.142 - ], - [ - "substitute", - 13.711 - ] - ], - "sets": { - "boltstrike|dracometeor|dragonclaw|roost": 3.726, - "boltstrike|dracometeor|dragonclaw|voltswitch": 4.173, - "boltstrike|dracometeor|outrage|roost": 4.173, - "boltstrike|dracometeor|outrage|voltswitch": 5.812, - "boltstrike|dracometeor|roost|voltswitch": 5.812, - "boltstrike|dragonclaw|honeclaws|roost": 15.797, - "boltstrike|dragonclaw|honeclaws|substitute": 4.322, - "boltstrike|dragonclaw|roost|substitute": 1.639, - "boltstrike|dragonclaw|roost|voltswitch": 2.385, - "boltstrike|honeclaws|outrage|roost": 29.21, - "boltstrike|honeclaws|outrage|substitute": 5.812, - "boltstrike|outrage|roost|substitute": 1.937, - "boltstrike|outrage|roost|voltswitch": 5.812, - "dracometeor|dragonclaw|roost|voltswitch": 2.981, - "dracometeor|outrage|roost|voltswitch": 6.408 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zeraora": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 502, - "items": [ - [ - "lifeorb", - 51.394 - ], - [ - "assaultvest", - 40.837 - ], - [ - "focussash", - 7.769 - ] - ], - "moves": [ - [ - "knockoff", - 55.179 - ], - [ - "grassknot", - 59.163 - ], - [ - "workup", - 49.203 - ], - [ - "plasmafists", - 100.0 - ], - [ - "hiddenpowerice", - 51.195 - ], - [ - "closecombat", - 55.976 - ], - [ - "voltswitch", - 19.323 - ], - [ - "bulkup", - 9.96 - ] - ], - "sets": { - "bulkup|closecombat|knockoff|plasmafists": 9.96, - "closecombat|grassknot|hiddenpowerice|plasmafists": 5.976, - "closecombat|grassknot|knockoff|plasmafists": 5.578, - "closecombat|grassknot|plasmafists|voltswitch": 2.191, - "closecombat|grassknot|plasmafists|workup": 12.948, - "closecombat|hiddenpowerice|knockoff|plasmafists": 3.187, - "closecombat|hiddenpowerice|plasmafists|voltswitch": 3.586, - "closecombat|hiddenpowerice|plasmafists|workup": 7.968, - "closecombat|knockoff|plasmafists|voltswitch": 4.582, - "grassknot|hiddenpowerice|knockoff|plasmafists": 6.773, - "grassknot|hiddenpowerice|plasmafists|voltswitch": 2.59, - "grassknot|hiddenpowerice|plasmafists|workup": 9.562, - "grassknot|knockoff|plasmafists|voltswitch": 3.386, - "grassknot|knockoff|plasmafists|workup": 10.159, - "hiddenpowerice|knockoff|plasmafists|voltswitch": 2.988, - "hiddenpowerice|knockoff|plasmafists|workup": 8.566 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zoroark": { - "abilities": [ - [ - "illusion", - 100.0 - ] - ], - "count": 733, - "items": [ - [ - "lifeorb", - 75.443 - ], - [ - "choicescarf", - 18.554 - ], - [ - "focussash", - 4.229 - ], - [ - "choicespecs", - 1.774 - ] - ], - "moves": [ - [ - "suckerpunch", - 34.243 - ], - [ - "focusblast", - 55.662 - ], - [ - "knockoff", - 40.791 - ], - [ - "uturn", - 27.558 - ], - [ - "darkpulse", - 59.209 - ], - [ - "sludgebomb", - 53.888 - ], - [ - "nastyplot", - 51.978 - ], - [ - "flamethrower", - 60.846 - ], - [ - "trick", - 15.825 - ] - ], - "sets": { - "darkpulse|flamethrower|focusblast|nastyplot": 14.052, - "darkpulse|flamethrower|focusblast|sludgebomb": 0.819, - "darkpulse|flamethrower|focusblast|suckerpunch": 1.637, - "darkpulse|flamethrower|focusblast|trick": 1.637, - "darkpulse|flamethrower|focusblast|uturn": 1.091, - "darkpulse|flamethrower|nastyplot|sludgebomb": 13.915, - "darkpulse|flamethrower|sludgebomb|suckerpunch": 0.955, - "darkpulse|flamethrower|sludgebomb|trick": 1.637, - "darkpulse|flamethrower|sludgebomb|uturn": 1.637, - "darkpulse|flamethrower|suckerpunch|uturn": 2.319, - "darkpulse|flamethrower|trick|uturn": 0.546, - "darkpulse|focusblast|nastyplot|sludgebomb": 12.278, - "darkpulse|focusblast|sludgebomb|suckerpunch": 1.228, - "darkpulse|focusblast|sludgebomb|trick": 0.819, - "darkpulse|focusblast|sludgebomb|uturn": 0.955, - "darkpulse|focusblast|suckerpunch|uturn": 1.501, - "darkpulse|focusblast|trick|uturn": 0.546, - "darkpulse|sludgebomb|suckerpunch|uturn": 1.091, - "darkpulse|sludgebomb|trick|uturn": 0.546, - "flamethrower|focusblast|knockoff|sludgebomb": 1.228, - "flamethrower|focusblast|knockoff|suckerpunch": 1.91, - "flamethrower|focusblast|knockoff|trick": 1.774, - "flamethrower|focusblast|knockoff|uturn": 1.364, - "flamethrower|knockoff|nastyplot|suckerpunch": 4.911, - "flamethrower|knockoff|sludgebomb|suckerpunch": 1.501, - "flamethrower|knockoff|sludgebomb|trick": 2.183, - "flamethrower|knockoff|sludgebomb|uturn": 1.228, - "flamethrower|knockoff|suckerpunch|uturn": 3.138, - "flamethrower|knockoff|trick|uturn": 1.364, - "focusblast|knockoff|nastyplot|suckerpunch": 3.274, - "focusblast|knockoff|sludgebomb|suckerpunch": 1.91, - "focusblast|knockoff|sludgebomb|trick": 1.228, - "focusblast|knockoff|sludgebomb|uturn": 1.364, - "focusblast|knockoff|suckerpunch|uturn": 2.729, - "focusblast|knockoff|trick|uturn": 2.319, - "knockoff|nastyplot|sludgebomb|suckerpunch": 3.547, - "knockoff|sludgebomb|suckerpunch|uturn": 2.592, - "knockoff|sludgebomb|trick|uturn": 1.228 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zygarde": { - "abilities": [ - [ - "powerconstruct", - 100.0 - ] - ], - "count": 309, - "items": [ - [ - "lumberry", - 80.583 - ], - [ - "choiceband", - 19.417 - ] - ], - "moves": [ - [ - "irontail", - 58.9 - ], - [ - "thousandarrows", - 100.0 - ], - [ - "outrage", - 100.0 - ], - [ - "dragondance", - 80.583 - ], - [ - "extremespeed", - 60.518 - ] - ], - "sets": { - "dragondance|extremespeed|outrage|thousandarrows": 41.1, - "dragondance|irontail|outrage|thousandarrows": 39.482, - "extremespeed|irontail|outrage|thousandarrows": 19.417 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zygarde10": { - "abilities": [ - [ - "aurabreak", - 58.0 - ], - [ - "powerconstruct", - 42.0 - ] - ], - "count": 250, - "items": [ - [ - "lumberry", - 49.6 - ], - [ - "dragoniumz", - 38.4 - ], - [ - "choiceband", - 9.6 - ], - [ - "leftovers", - 2.4 - ] - ], - "moves": [ - [ - "outrage", - 100.0 - ], - [ - "thousandarrows", - 100.0 - ], - [ - "dragondance", - 71.6 - ], - [ - "irontail", - 45.6 - ], - [ - "substitute", - 42.0 - ], - [ - "extremespeed", - 40.8 - ] - ], - "sets": { - "dragondance|extremespeed|outrage|thousandarrows": 22.0, - "dragondance|irontail|outrage|thousandarrows": 26.4, - "dragondance|outrage|substitute|thousandarrows": 23.2, - "extremespeed|irontail|outrage|thousandarrows": 9.6, - "extremespeed|outrage|substitute|thousandarrows": 9.2, - "irontail|outrage|substitute|thousandarrows": 9.6 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - } -} \ No newline at end of file diff --git a/data/moves.json b/data/moves.json index d1dfb21c4..9e714f0be 100644 --- a/data/moves.json +++ b/data/moves.json @@ -11903,7 +11903,7 @@ "basePower": 0, "category": "status", "flags": {}, - "id": "nothing", + "id": "recharge", "name": "Recharge", "pp": 40, "priority": 0, diff --git a/data/parse_smogon_stats.py b/data/parse_smogon_stats.py deleted file mode 100644 index 55ce8faf5..000000000 --- a/data/parse_smogon_stats.py +++ /dev/null @@ -1,113 +0,0 @@ -import logging -import ntpath -from datetime import datetime -from dateutil import relativedelta - -import requests - -from showdown.engine.helpers import spreads_are_alike -from showdown.engine.helpers import normalize_name - -logger = logging.getLogger(__name__) - -OTHER_STRING = "other" -MOVES_STRING = "moves" -ITEM_STRING = "items" -SPREADS_STRING = "spreads" -ABILITY_STRING = "abilities" -EFFECTIVENESS = "effectiveness" - - -def get_smogon_stats_file_name(game_mode, month_delta=1): - """ - Gets the smogon stats url based on the game mode - Uses the previous-month's statistics - """ - - # blitz comes and goes - use the non-blitz version - if game_mode.endswith('blitz'): - game_mode = game_mode[:-5] - - # always use the `-0` file - the higher ladder is for noobs - smogon_url = "https://www.smogon.com/stats/{}-{}/chaos/{}-0.json" - - previous_month = datetime.now() - relativedelta.relativedelta(months=month_delta) - year = previous_month.year - month = "{:02d}".format(previous_month.month) - - return smogon_url.format(year, month, game_mode) - - -def pokemon_is_similar(normalized_name, list_of_pkmn_names): - return ( - any(normalized_name.startswith(n) for n in list_of_pkmn_names) or - any(n.startswith(normalized_name) for n in list_of_pkmn_names) - ) - - -def get_pokemon_information(smogon_stats_url, pkmn_names=None): - r = requests.get(smogon_stats_url) - if r.status_code == 404: - r = requests.get(get_smogon_stats_file_name(ntpath.basename(smogon_stats_url.replace('-0.json', '')), month_delta=2)) - - infos = r.json()['data'] - final_infos = {} - for pkmn_name, pkmn_information in infos.items(): - normalized_name = normalize_name(pkmn_name) - - # if `pkmn_names` is provided, only find data on pkmn in that list - if ( - pkmn_names and - normalized_name not in pkmn_names and - not pokemon_is_similar(normalized_name, pkmn_names) - ): - continue - else: - logger.debug("Adding {} to sets lookup for this battle".format(normalized_name)) - - spreads = [] - items = [] - moves = [] - abilities = [] - matchup_effectiveness = {} - total_count = pkmn_information['Raw count'] - final_infos[normalized_name] = {} - - for counter_name, counter_information in pkmn_information["Checks and Counters"].items(): - counter_name = normalize_name(counter_name) - if counter_name in pkmn_names: - matchup_effectiveness[counter_name] = round(1 - counter_information[1], 2) - - for spread, count in sorted(pkmn_information['Spreads'].items(), key=lambda x: x[1], reverse=True): - percentage = round(100 * count / total_count, 2) - if percentage > 0: - nature, evs = [normalize_name(i) for i in spread.split(":")] - evs = evs.replace("/", ",") - for sp in spreads: - if spreads_are_alike(sp, (nature, evs)): - sp[2] += percentage - break - else: - spreads.append([nature, evs, percentage]) - - for item, count in pkmn_information['Items'].items(): - if count > 0: - items.append((item, round(100*count / total_count, 2))) - - for move, count in pkmn_information['Moves'].items(): - if count > 0 and move and move.lower() != "nothing": - moves.append((move, round(100*count / total_count, 2))) - - for ability, count in pkmn_information['Abilities'].items(): - if count > 0: - abilities.append( - (ability, round(100 * count / total_count, 2)) - ) - - final_infos[normalized_name][SPREADS_STRING] = sorted(spreads, key=lambda x: x[2], reverse=True) - final_infos[normalized_name][ITEM_STRING] = sorted(items, key=lambda x: x[1], reverse=True) - final_infos[normalized_name][MOVES_STRING] = sorted(moves, key=lambda x: x[1], reverse=True) - final_infos[normalized_name][ABILITY_STRING] = sorted(abilities, key=lambda x: x[1], reverse=True) - final_infos[normalized_name][EFFECTIVENESS] = matchup_effectiveness - - return final_infos diff --git a/data/pkmn_sets.py b/data/pkmn_sets.py new file mode 100644 index 000000000..35b96422c --- /dev/null +++ b/data/pkmn_sets.py @@ -0,0 +1,728 @@ +from __future__ import annotations + +import ntpath +from abc import ABC, abstractmethod +from dataclasses import dataclass + +import requests +from dateutil import relativedelta +from datetime import datetime +import os +import json +import logging +import typing +from typing import Tuple +from typing import Optional + + +import constants +from data import all_move_json +from fp.helpers import calculate_stats +from fp.helpers import normalize_name + +PWD = os.path.dirname(os.path.abspath(__file__)) +SMOGON_CACHE_DIR = os.path.join(PWD, "smogon_stats_cache") +os.makedirs(SMOGON_CACHE_DIR, exist_ok=True) + +OTHER_STRING = "other" +MOVES_STRING = "moves" +ITEM_STRING = "items" +SPREADS_STRING = "spreads" +ABILITY_STRING = "abilities" +TERA_TYPE_STRING = "tera_types" +EFFECTIVENESS = "effectiveness" + +if typing.TYPE_CHECKING: + from fp.battle import Pokemon + +logger = logging.getLogger(__name__) +PWD = os.path.dirname(os.path.abspath(__file__)) + + +def spreads_are_alike(s1, s2): + if s1[0] != s2[0]: + return False + + s1 = [int(v) for v in s1[1].split(",")] + s2 = [int(v) for v in s2[1].split(",")] + + diff = [abs(i - j) for i, j in zip(s1, s2)] + + # 24 is arbitrarily chosen as the threshold for EVs to be "alike" + return all(v < 24 for v in diff) + + +@dataclass +class PredictedPokemonSet: + pkmn_set: PokemonSet + pkmn_moveset: PokemonMoveset + + def speed_check(self, pkmn: Pokemon): + """ + The only non-observable speed modifier that should allow a + Pokemon's speed_range to be set is choicescarf + """ + stats = calculate_stats( + pkmn.base_stats, + pkmn.level, + evs=self.pkmn_set.evs, + nature=self.pkmn_set.nature, + ) + speed = stats[constants.SPEED] + if self.pkmn_set.item == "choicescarf": + speed = int(speed * 1.5) + + return pkmn.speed_range.min <= speed <= pkmn.speed_range.max + + def item_check(self, pkmn: Pokemon) -> bool: + if pkmn.item == self.pkmn_set.item: + return True + if self.pkmn_set.item in pkmn.impossible_items: + return False + elif ( + self.pkmn_set.item in constants.CHOICE_ITEMS + and not pkmn.can_have_choice_item + ): + return False + else: + return pkmn.item is None or pkmn.item == constants.UNKNOWN_ITEM + + def moveset_makes_sense(self): + has_hiddenpower = False + for mv in self.pkmn_moveset.moves: + # only 1 hiddenpower in a moveset + if mv.startswith(constants.HIDDEN_POWER) and has_hiddenpower: + return False + elif mv.startswith(constants.HIDDEN_POWER): + has_hiddenpower = True + + # dont pick certain moves with choice items + if self.pkmn_set.item in constants.CHOICE_ITEMS: + if all_move_json[mv][ + constants.CATEGORY + ] not in constants.DAMAGING_CATEGORIES and mv not in [ + "trick", + "switcheroo", + ]: + return False + return True + + def predicted_set_makes_sense( + self, pkmn: Pokemon, match_ability=True, match_item=True, speed_check=True + ) -> bool: + ability_check = not match_ability or ( + self.pkmn_set.ability == pkmn.ability or pkmn.ability is None + ) + item_check = not match_item or self.item_check(pkmn) + speed_check = not speed_check or self.speed_check(pkmn) + tera_check = True + if ( + self.pkmn_set.tera_type is not None + and pkmn.terastallized + and self.pkmn_set.tera_type != pkmn.tera_type + ): + tera_check = False + + return ability_check and item_check and speed_check and tera_check + + def full_set_pkmn_can_have_set( + self, pkmn: Pokemon, match_ability=True, match_item=True, speed_check=True + ) -> bool: + return self.predicted_set_makes_sense( + pkmn, + match_ability=match_ability, + match_item=match_item, + speed_check=speed_check, + ) and self.pkmn_moveset.full_set_pkmn_can_have_moves(pkmn) + + +@dataclass +class PokemonSet: + ability: str + item: str + nature: str + evs: Tuple[int, int, int, int, int, int] + count: int + tera_type: Optional[str] = None + + def set_makes_sense(self, pkmn: Pokemon, match_traits): + p = PredictedPokemonSet(pkmn_set=self, pkmn_moveset=PokemonMoveset(moves=())) + return p.predicted_set_makes_sense( + pkmn, + match_ability=match_traits, + match_item=match_traits, + speed_check=True, + ) + + +@dataclass +class PokemonMoveset: + moves: Tuple[str, ...] + + def full_set_pkmn_can_have_moves(self, pkmn: Pokemon) -> bool: + for mv in pkmn.moves: + if mv.name == constants.HIDDEN_POWER: + hidden_power_possibilities = [ + constants.HIDDEN_POWER + p for p in pkmn.hidden_power_possibilities + ] + hidden_power_in_this_pkmn_set = [ + m for m in self.moves if m.startswith(constants.HIDDEN_POWER) + ] + if ( + len(hidden_power_in_this_pkmn_set) == 1 + and hidden_power_in_this_pkmn_set[0] in hidden_power_possibilities + ): + pass + else: + return False + elif mv.name not in self.moves: + return False + return True + + def add_move(self, mv: str): + self.moves += (mv,) + + def remove_move(self, mv: str): + self.moves = tuple(m for m in self.moves if m != mv) + + def __iter__(self): + yield from self.moves + + def __len__(self): + return len(self.moves) + + +class PokemonSets(ABC): + raw_pkmn_sets: dict[str, list] + pkmn_sets: dict[str, list] + pkmn_mode: str + + @abstractmethod + def initialize(self, pkmn_mode: str, pkmn_names: set[str]): ... + + @abstractmethod + def predict_set(self, pkmn: Pokemon) -> Optional[PredictedPokemonSet]: ... + + @abstractmethod + def remove_item_possibility(self, pkmn_name: str, item: str): ... + + @abstractmethod + def remove_ability_possibility(self, pkmn_name: str, ability: str): ... + + def get_pkmn_sets_from_pkmn_name(self, pkmn_name: str, pkmn_base_name: str): + if pkmn_name in self.pkmn_sets: + return self.pkmn_sets[pkmn_name] + elif pkmn_base_name in self.pkmn_sets: + return self.pkmn_sets[pkmn_base_name] + + # Fallback: check for a partial match + for p in self.pkmn_sets: + if pkmn_name.startswith(p) or p.startswith(pkmn_name): + return self.pkmn_sets[p] + + # Return empty list if no match is found + return [] + + def get_raw_pkmn_sets_from_pkmn_name(self, pkmn_name: str): + try: + return self.raw_pkmn_sets[pkmn_name] + except KeyError: + for p in self.raw_pkmn_sets: + if pkmn_name.startswith(p) or p.startswith(pkmn_name): + return self.raw_pkmn_sets[p] + return [] + + +class _RandomBattleSets(PokemonSets): + def __init__(self): + self.raw_pkmn_sets = {} + self.pkmn_sets = {} + self.pkmn_mode = "uninitialized" + + def _load_raw_sets(self, generation): + if generation.endswith("blitz"): + generation = generation[:-5] + randombattle_sets_path = os.path.join( + PWD, f"pkmn_sets/{generation}randombattle.json" + ) + with open(randombattle_sets_path, "r") as f: + sets = json.load(f) + self.raw_pkmn_sets = sets + + def _initialize_pkmn_sets(self): + for pkmn, sets in self.raw_pkmn_sets.items(): + self.pkmn_sets[pkmn] = [] + for set_, count in sets.items(): + set_split = set_.split(",") + item = set_split[0] + ability = set_split[1] + moves = set_split[2:6] + tera_type = None + if len(set_split) > 6: + tera_type = set_split[6] + self.pkmn_sets[pkmn].append( + PredictedPokemonSet( + pkmn_set=PokemonSet( + ability=ability, + item=item, + nature="serious", + evs=(85, 85, 85, 85, 85, 85), + count=count, + tera_type=tera_type, + ), + pkmn_moveset=PokemonMoveset(moves=moves), + ) + ) + self.pkmn_sets[pkmn].sort(key=lambda x: x.pkmn_set.count, reverse=True) + + def initialize(self, pkmn_mode: str, _pkmn_names=None): + # pkmn_names unused here since randombattles don't have team preview + # always load entire JSON into memory + self.raw_pkmn_sets = {} + self.pkmn_sets = {} + self.pkmn_mode = pkmn_mode + self._load_raw_sets(pkmn_mode) + self._initialize_pkmn_sets() + + def remove_item_possibility(self, pkmn_name: str, item: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].pkmn_set.item == item: + pkmn_sets.pop(i) + + def remove_ability_possibility(self, pkmn_name: str, ability: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].pkmn_set.ability == ability: + pkmn_sets.pop(i) + + def predict_set( + self, pkmn: Pokemon, match_traits=True + ) -> Optional[PredictedPokemonSet]: + if not self.pkmn_sets: + logger.warning("Called `predict_set` when pkmn_sets was empty") + + for pkmn_set in self.get_pkmn_sets_from_pkmn_name(pkmn.name, pkmn.base_name): + if pkmn_set.full_set_pkmn_can_have_set( + pkmn, + match_ability=match_traits, + match_item=match_traits, + speed_check=False, # speed check never makes sense for randombattles because we know the nature/evs + ): + return pkmn_set + + return None + + def pokemon_can_have_move(self, pkmn: Pokemon, move: str) -> bool: + for pkmn_set in self.get_pkmn_sets_from_pkmn_name(pkmn.name, pkmn.base_name): + if move in pkmn_set.pkmn_moveset.moves: + return True + return False + + +class _TeamDatasets(PokemonSets): + def __init__(self): + self.raw_pkmn_sets = {} + self.pkmn_sets = {} + self.pkmn_mode = "uninitialized" + + def _get_sets_dict(self): + if not os.path.exists(os.path.join(PWD, f"pkmn_sets/{self.pkmn_mode}.json")): + return {} + sets = os.path.join(PWD, f"pkmn_sets/{self.pkmn_mode}.json") + with open(sets, "r") as f: + sets_dict = json.load(f)["pokemon"] + return sets_dict + + def _get_battle_factory_sets_dict(self, tier_name): + sets = os.path.join(PWD, f"pkmn_sets/{self.pkmn_mode}.json") + with open(sets, "r") as f: + sets_dict = json.load(f)[tier_name] + return sets_dict + + def _load_team_datasets(self, pkmn_names: set[str], battle_factory_tier_name=None): + if battle_factory_tier_name: + sets_dict = self._get_battle_factory_sets_dict(battle_factory_tier_name) + else: + sets_dict = self._get_sets_dict() + for pkmn in pkmn_names: + try: + self.raw_pkmn_sets[pkmn] = sets_dict[pkmn] + except KeyError: + logger.warning("No pokemon sets for {}".format(pkmn)) + + def _add_to_pkmn_sets(self, raw_sets: dict[str, list]): + for pkmn, sets in raw_sets.items(): + self.pkmn_sets[pkmn] = [] + for set_, count in sets.items(): + set_split = set_.split("|") + tera_type = set_split[0] or "normal" + ability = set_split[1] + item = set_split[2] + nature = set_split[3] + evs = tuple(int(i) for i in set_split[4].split(",")) + moves = set_split[5:] + + self.pkmn_sets[pkmn].append( + PredictedPokemonSet( + pkmn_set=PokemonSet( + ability=ability, + item=item, + nature=nature, + evs=evs, + count=count, + tera_type=tera_type, + ), + pkmn_moveset=PokemonMoveset(moves=moves), + ) + ) + self.pkmn_sets[pkmn].sort(key=lambda x: x.pkmn_set.count, reverse=True) + + def initialize( + self, pkmn_mode: str, pkmn_names: set[str], battle_factory_tier_name=None + ): + self.raw_pkmn_sets = {} + self.pkmn_sets = {} + self.pkmn_mode = pkmn_mode + self._load_team_datasets( + pkmn_names, battle_factory_tier_name=battle_factory_tier_name + ) + self._add_to_pkmn_sets(self.raw_pkmn_sets) + + def add_new_pokemon(self, pkmn_name: str): + sets_dict = self._get_sets_dict() + if pkmn_name not in sets_dict: + return + self._add_to_pkmn_sets({pkmn_name: sets_dict[pkmn_name]}) + + def remove_item_possibility(self, pkmn_name: str, item: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].pkmn_set.item == item: + pkmn_sets.pop(i) + + def remove_ability_possibility(self, pkmn_name: str, ability: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].pkmn_set.ability == ability: + pkmn_sets.pop(i) + + def predict_set( + self, pkmn: Pokemon, match_traits=True + ) -> Optional[PredictedPokemonSet]: + for pkmn_set in self.get_pkmn_sets_from_pkmn_name(pkmn.name, pkmn.base_name): + if pkmn_set.full_set_pkmn_can_have_set( + pkmn, + match_ability=match_traits, + match_item=match_traits, + speed_check=True, + ): + return pkmn_set + + return None + + +class _SmogonSets(PokemonSets): + def __init__(self): + self.current_pkmn_sets_url = "" + self.raw_pkmn_sets = {} + self.pkmn_sets = {} + self.pkmn_mode = "uninitialized" + + def _smogon_predicted_move_set_makes_sense( + self, predicted_set: PredictedPokemonSet + ): + has_hiddenpower = False + for mv in predicted_set.pkmn_moveset.moves: + # only 1 hiddenpower in a moveset + if mv.startswith(constants.HIDDEN_POWER) and has_hiddenpower: + return False + elif mv.startswith(constants.HIDDEN_POWER): + has_hiddenpower = True + + # dont pick certain moves with choice items + if predicted_set.pkmn_set.item in constants.CHOICE_ITEMS: + if all_move_json[mv][ + constants.CATEGORY + ] not in constants.DAMAGING_CATEGORIES and mv not in [ + "trick", + "switcheroo", + ]: + return False + return True + + def smogon_set_makes_sense(self, pkmn: Pokemon, predicted_set: PredictedPokemonSet): + return self._smogon_predicted_move_set_makes_sense(predicted_set) + + def _pokemon_is_similar(self, normalized_name, list_of_pkmn_names): + return any(normalized_name.startswith(n) for n in list_of_pkmn_names) or any( + n.startswith(normalized_name) for n in list_of_pkmn_names + ) + + def _get_smogon_stats_json(self, smogon_stats_url): + cache_file_name = ntpath.basename(smogon_stats_url) + cache_file = os.path.join(SMOGON_CACHE_DIR, cache_file_name) + if os.path.exists(cache_file): + with open(cache_file, "r") as f: + infos = json.load(f) + else: + r = requests.get(smogon_stats_url) + if r.status_code == 404: + r = requests.get( + self._get_smogon_stats_file_name( + ntpath.basename(smogon_stats_url.replace("-0.json", "")), + month_delta=2, + ) + ) + infos = r.json()["data"] + with open(cache_file, "w") as f: + json.dump(infos, f) + + return infos + + def _get_pokemon_information(self, smogon_stats_url, pkmn_names=None): + infos = self._get_smogon_stats_json(smogon_stats_url) + + final_infos = {} + for pkmn_name, pkmn_information in infos.items(): + normalized_name = normalize_name(pkmn_name) + + # if `pkmn_names` is provided, only find data on pkmn in that list + if ( + pkmn_names + and normalized_name not in pkmn_names + and not self._pokemon_is_similar(normalized_name, pkmn_names) + ): + continue + else: + logger.debug( + "Adding {} to sets lookup for this battle".format(normalized_name) + ) + + spreads = [] + items = [] + moves = [] + abilities = [] + tera_types = [] + matchup_effectiveness = {} + total_count = pkmn_information["Raw count"] + final_infos[normalized_name] = {} + + for counter_name, counter_information in pkmn_information[ + "Checks and Counters" + ].items(): + counter_name = normalize_name(counter_name) + if counter_name in pkmn_names: + matchup_effectiveness[counter_name] = round( + 1 - counter_information[1], 2 + ) + + for spread, count in sorted( + pkmn_information["Spreads"].items(), key=lambda x: x[1], reverse=True + ): + percentage = round(100 * count / total_count, 2) + if percentage > 0: + nature, evs = [normalize_name(i) for i in spread.split(":")] + evs = evs.replace("/", ",") + for sp in spreads: + if spreads_are_alike(sp, (nature, evs)): + sp[2] += percentage + break + else: + spreads.append([nature, evs, percentage]) + + for item, count in pkmn_information["Items"].items(): + if count > 0: + items.append((item, round(100 * count / total_count, 2))) + + for move, count in pkmn_information["Moves"].items(): + if count > 0 and move and move.lower() != "nothing": + if move.startswith(constants.HIDDEN_POWER): + move = f"{move}{constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING}" + moves.append((move, round(100 * count / total_count, 2))) + + for ability, count in pkmn_information["Abilities"].items(): + if count > 0: + abilities.append((ability, round(100 * count / total_count, 2))) + + for tera_type, count in pkmn_information["Tera Types"].items(): + if count > 0: + tera_types.append((tera_type, round(100 * count / total_count, 2))) + + final_infos[normalized_name][SPREADS_STRING] = sorted( + spreads, key=lambda x: x[2], reverse=True + )[:20] + final_infos[normalized_name][ITEM_STRING] = sorted( + items, key=lambda x: x[1], reverse=True + )[:10] + final_infos[normalized_name][MOVES_STRING] = sorted( + moves, key=lambda x: x[1], reverse=True + )[:20] + final_infos[normalized_name][ABILITY_STRING] = sorted( + abilities, key=lambda x: x[1], reverse=True + ) + final_infos[normalized_name][TERA_TYPE_STRING] = sorted( + tera_types, key=lambda x: x[1], reverse=True + )[:3] + final_infos[normalized_name][EFFECTIVENESS] = matchup_effectiveness + + cumsum = 0 + for i, item in enumerate(final_infos[normalized_name][SPREADS_STRING]): + cumsum += item[2] + if cumsum > 85 and i >= 14: + final_infos[normalized_name][SPREADS_STRING] = final_infos[ + normalized_name + ][SPREADS_STRING][: i + 1] + break + + return final_infos + + def _get_smogon_stats_file_name(self, game_mode, month_delta=1): + """ + Gets the smogon stats url based on the game mode + Uses the previous-month's statistics + """ + + if game_mode.endswith("blitz"): + game_mode = game_mode[:-5] + + # always use the `-0` file - the higher ladder is for noobs + smogon_url = "https://www.smogon.com/stats/{}-{}/chaos/{}-0.json" + + previous_month = datetime.now() - relativedelta.relativedelta( + months=month_delta + ) + year = previous_month.year + month = "{:02d}".format(previous_month.month) + + return smogon_url.format(year, month, game_mode) + + def _pokemon_set_makes_sense(self, pkmn_set: PokemonSet): + if pkmn_set.item == "choiceband" and pkmn_set.evs[1] < 230: + return False + if pkmn_set.item == "choicespecs" and pkmn_set.evs[3] < 230: + return False + if pkmn_set.item == "choicescarf" and pkmn_set.evs[5] < 200: + return False + if pkmn_set.item in ["lifeorb", "expertbelt"] and ( + pkmn_set.evs[1] < 200 and pkmn_set.evs[3] < 200 + ): + return False + + return True + + def _initialize(self, raw_pkmn_sets: dict): + for pkmn, sets in raw_pkmn_sets.items(): + self.pkmn_sets[pkmn] = [] + for spread in sets[SPREADS_STRING]: + for ability in sets[ABILITY_STRING]: + for item in sets[ITEM_STRING]: + for tera_type in sets[TERA_TYPE_STRING]: + pkmn_set = PokemonSet( + ability=ability[0], + item=item[0], + nature=spread[0], + evs=tuple(int(i) for i in spread[1].split(",")), + tera_type=tera_type[0], + count=(ability[1] + item[1] + spread[2]), + ) + if self._pokemon_set_makes_sense(pkmn_set): + self.pkmn_sets[pkmn].append(pkmn_set) + self.pkmn_sets[pkmn].sort(key=lambda x: x.count, reverse=True) + + def initialize(self, pkmn_mode: str, pkmn_names: set[str]): + self.pkmn_mode = pkmn_mode + smogon_stats_url = self._get_smogon_stats_file_name(pkmn_mode) + if self.current_pkmn_sets_url != smogon_stats_url: + self.raw_pkmn_sets = self._get_pokemon_information( + smogon_stats_url, pkmn_names + ) + self.current_pkmn_sets_url = smogon_stats_url + else: + new_pkmn_names = [p for p in pkmn_names if p not in self.raw_pkmn_sets] + if new_pkmn_names: + self.raw_pkmn_sets = self._get_pokemon_information( + smogon_stats_url, pkmn_names + ) + + self._initialize(self.raw_pkmn_sets) + + def add_new_pokemon(self, pkmn_name: str): + pkmn_information = self._get_pokemon_information( + self.current_pkmn_sets_url, {pkmn_name} + ) + self.raw_pkmn_sets.update(pkmn_information) + self._initialize(pkmn_information) + + def remove_item_possibility(self, pkmn_name: str, item: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].item == item: + pkmn_sets.pop(i) + + def remove_ability_possibility(self, pkmn_name: str, ability: str): + pkmn_sets = self.pkmn_sets.get(pkmn_name, []) + for i in reversed(range(len(pkmn_sets))): + if pkmn_sets[i].ability == ability: + pkmn_sets.pop(i) + + def predict_set( + self, pkmn: Pokemon, num_predicted_moves=4, match_traits=True + ) -> Optional[PredictedPokemonSet]: + if not self.pkmn_sets: + logger.warning("Called `predict_set` when pkmn_sets was empty") + + pokemon_set = None + for pkmn_set in self.get_pkmn_sets_from_pkmn_name(pkmn.name, pkmn.base_name): + if pkmn_set.set_makes_sense(pkmn, match_traits): + pokemon_set = pkmn_set + break + + if pokemon_set is None: + return None + + predicted_pokemon_set = PredictedPokemonSet( + pkmn_set=pokemon_set, + pkmn_moveset=PokemonMoveset(moves=tuple(m.name for m in pkmn.moves)), + ) + + if pkmn.get_move(constants.HIDDEN_POWER) is not None: + hidden_power_possibilities = [ + f"{constants.HIDDEN_POWER}{p}{constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING}" + for p in pkmn.hidden_power_possibilities + ] + for mv, _count in self.get_raw_pkmn_sets_from_pkmn_name(pkmn.name)[ + MOVES_STRING + ]: + if mv in hidden_power_possibilities: + predicted_pokemon_set.pkmn_moveset.remove_move("hiddenpower") + predicted_pokemon_set.pkmn_moveset.add_move(mv) + break + + for mv, _count in self.get_raw_pkmn_sets_from_pkmn_name(pkmn.name)[ + MOVES_STRING + ]: + if len(predicted_pokemon_set.pkmn_moveset.moves) >= num_predicted_moves: + break + + if mv in predicted_pokemon_set.pkmn_moveset.moves: + continue + + predicted_pokemon_set.pkmn_moveset.add_move(mv) + if not self.smogon_set_makes_sense(pkmn, predicted_pokemon_set): + predicted_pokemon_set.pkmn_moveset.remove_move(mv) + + return predicted_pokemon_set + + def pokemon_can_have_move(self, pkmn_name: str, move: str) -> bool: + for mv, _count in self.get_raw_pkmn_sets_from_pkmn_name(pkmn_name)[ + MOVES_STRING + ]: + if move == mv: + return True + return False + + +TeamDatasets = _TeamDatasets() +RandomBattleTeamDatasets = _RandomBattleSets() +SmogonSets = _SmogonSets() diff --git a/data/pkmn_sets/gen1randombattle.json b/data/pkmn_sets/gen1randombattle.json new file mode 100644 index 000000000..b61455701 --- /dev/null +++ b/data/pkmn_sets/gen1randombattle.json @@ -0,0 +1,759 @@ +{ + "abra": { + ",noability,psychic,reflect,seismictoss,thunderwave": 2150, + ",noability,counter,psychic,seismictoss,thunderwave": 2137, + ",noability,psychic,seismictoss,substitute,thunderwave": 2060 + }, + "aerodactyl": { + ",noability,doubleedge,fireblast,hyperbeam,skyattack": 1976, + ",noability,agility,doubleedge,fireblast,hyperbeam": 974 + }, + "alakazam": { + ",noability,psychic,recover,seismictoss,thunderwave": 2531, + ",noability,counter,psychic,recover,thunderwave": 1342, + ",noability,psychic,recover,reflect,thunderwave": 2566 + }, + "arbok": { + ",noability,earthquake,glare,hyperbeam,rockslide": 2409, + ",noability,bodyslam,earthquake,glare,hyperbeam": 1213 + }, + "arcanine": { + ",noability,bodyslam,fireblast,flamethrower,hyperbeam": 1385, + ",noability,bodyslam,fireblast,hyperbeam,rest": 715, + ",noability,agility,bodyslam,fireblast,hyperbeam": 1320, + ",noability,bodyslam,fireblast,hyperbeam,reflect": 677 + }, + "articuno": { + ",noability,agility,blizzard,hyperbeam,icebeam": 606, + ",noability,agility,blizzard,hyperbeam,mimic": 587, + ",noability,blizzard,icebeam,reflect,rest": 1929, + ",noability,agility,blizzard,hyperbeam,reflect": 639 + }, + "beedrill": { + ",noability,agility,hyperbeam,swordsdance,twineedle": 3053, + ",noability,hyperbeam,megadrain,swordsdance,twineedle": 1605 + }, + "bellsprout": { + ",noability,doubleedge,razorleaf,sleeppowder,stunspore": 2234, + ",noability,doubleedge,razorleaf,sleeppowder,swordsdance": 1118 + }, + "blastoise": { + ",noability,blizzard,bodyslam,earthquake,surf": 1411, + ",noability,blizzard,bodyslam,rest,surf": 1319, + ",noability,blizzard,bodyslam,earthquake,hydropump": 678, + ",noability,blizzard,bodyslam,hydropump,rest": 704 + }, + "bulbasaur": { + ",noability,bodyslam,razorleaf,sleeppowder,swordsdance": 3415 + }, + "butterfree": { + ",noability,hyperbeam,psychic,sleeppowder,stunspore": 778, + ",noability,doubleedge,psychic,sleeppowder,stunspore": 721, + ",noability,psychic,sleeppowder,stunspore,substitute": 699, + ",noability,megadrain,psychic,sleeppowder,stunspore": 796 + }, + "chansey": { + ",noability,icebeam,softboiled,thunderbolt,thunderwave": 2490, + ",noability,icebeam,sing,softboiled,thunderwave": 854, + ",noability,icebeam,reflect,softboiled,thunderwave": 863, + ",noability,counter,icebeam,softboiled,thunderwave": 862, + ",noability,icebeam,seismictoss,softboiled,thunderwave": 805 + }, + "charizard": { + ",noability,earthquake,fireblast,hyperbeam,swordsdance": 1425, + ",noability,bodyslam,earthquake,fireblast,slash": 1450 + }, + "charmander": { + ",noability,bodyslam,counter,fireblast,slash": 423, + ",noability,bodyslam,fireblast,seismictoss,slash": 1089, + ",noability,bodyslam,fireblast,submission,swordsdance": 2100, + ",noability,bodyslam,counter,fireblast,seismictoss": 515 + }, + "charmeleon": { + ",noability,bodyslam,fireblast,seismictoss,slash": 1112, + ",noability,bodyslam,fireblast,submission,swordsdance": 2025, + ",noability,bodyslam,counter,fireblast,seismictoss": 504, + ",noability,bodyslam,counter,fireblast,slash": 472 + }, + "clefable": { + ",noability,blizzard,bodyslam,sing,thunderwave": 898, + ",noability,blizzard,bodyslam,psychic,thunderwave": 461, + ",noability,blizzard,bodyslam,hyperbeam,thunderwave": 891, + ",noability,blizzard,bodyslam,thunderbolt,thunderwave": 801, + ",noability,blizzard,sing,thunderbolt,thunderwave": 402, + ",noability,blizzard,bodyslam,hyperbeam,thunderbolt": 392, + ",noability,blizzard,bodyslam,counter,thunderwave": 427, + ",noability,blizzard,bodyslam,counter,thunderbolt": 180, + ",noability,blizzard,psychic,thunderbolt,thunderwave": 195, + ",noability,blizzard,bodyslam,psychic,thunderbolt": 201, + ",noability,blizzard,bodyslam,sing,thunderbolt": 386, + ",noability,blizzard,hyperbeam,thunderbolt,thunderwave": 408, + ",noability,blizzard,counter,thunderbolt,thunderwave": 166 + }, + "clefairy": { + ",noability,blizzard,bodyslam,sing,thunderwave": 962, + ",noability,blizzard,bodyslam,seismictoss,thunderwave": 873, + ",noability,blizzard,bodyslam,thunderbolt,thunderwave": 783, + ",noability,blizzard,seismictoss,sing,thunderwave": 474, + ",noability,blizzard,sing,thunderbolt,thunderwave": 525, + ",noability,blizzard,counter,thunderbolt,thunderwave": 236, + ",noability,blizzard,bodyslam,counter,thunderwave": 503, + ",noability,blizzard,psychic,seismictoss,thunderwave": 273, + ",noability,blizzard,bodyslam,psychic,thunderwave": 477, + ",noability,blizzard,psychic,thunderbolt,thunderwave": 227, + ",noability,blizzard,seismictoss,thunderbolt,thunderwave": 325, + ",noability,blizzard,counter,seismictoss,thunderwave": 249 + }, + "cloyster": { + ",noability,blizzard,explosion,hyperbeam,surf": 2756, + ",noability,blizzard,doubleedge,explosion,surf": 1357 + }, + "cubone": { + ",noability,blizzard,bodyslam,earthquake,seismictoss": 3974 + }, + "dewgong": { + ",noability,blizzard,bodyslam,rest,surf": 3010, + ",noability,blizzard,bodyslam,hyperbeam,surf": 1022 + }, + "diglett": { + ",noability,bodyslam,earthquake,rockslide,slash": 2000, + ",noability,earthquake,rockslide,slash,substitute": 2039 + }, + "ditto": { + ",noability,transform": 1 + }, + "dodrio": { + ",noability,agility,bodyslam,drillpeck,hyperbeam": 2914 + }, + "doduo": { + ",noability,agility,bodyslam,doubleedge,drillpeck": 2955 + }, + "dragonair": { + ",noability,blizzard,bodyslam,thunderbolt,thunderwave": 1798, + ",noability,blizzard,hyperbeam,thunderbolt,thunderwave": 1798, + ",noability,blizzard,bodyslam,hyperbeam,thunderwave": 690 + }, + "dragonite": { + ",noability,blizzard,bodyslam,thunderbolt,thunderwave": 1211, + ",noability,blizzard,hyperbeam,thunderbolt,thunderwave": 1270, + ",noability,blizzard,bodyslam,hyperbeam,thunderwave": 1267, + ",noability,blizzard,bodyslam,hyperbeam,thunderbolt": 405 + }, + "dratini": { + ",noability,blizzard,hyperbeam,thunderbolt,thunderwave": 1830, + ",noability,blizzard,bodyslam,thunderbolt,thunderwave": 1790, + ",noability,blizzard,bodyslam,hyperbeam,thunderwave": 714 + }, + "drowzee": { + ",noability,hypnosis,psychic,seismictoss,thunderwave": 3251, + ",noability,counter,hypnosis,psychic,thunderwave": 1646, + ",noability,hypnosis,psychic,rest,thunderwave": 1580 + }, + "dugtrio": { + ",noability,bodyslam,earthquake,rockslide,slash": 2106, + ",noability,earthquake,rockslide,slash,substitute": 1982 + }, + "eevee": { + ",noability,bodyslam,quickattack,reflect,sandattack": 722, + ",noability,bodyslam,doubleedge,quickattack,sandattack": 1475, + ",noability,bodyslam,doubleedge,quickattack,tailwhip": 1550, + ",noability,bodyslam,doubleedge,reflect,tailwhip": 643, + ",noability,bodyslam,quickattack,reflect,tailwhip": 707, + ",noability,bodyslam,doubleedge,reflect,sandattack": 670 + }, + "ekans": { + ",noability,bodyslam,earthquake,glare,rockslide": 3606 + }, + "electabuzz": { + ",noability,hyperbeam,psychic,thunderbolt,thunderwave": 1118, + ",noability,psychic,seismictoss,thunderbolt,thunderwave": 3222 + }, + "electrode": { + ",noability,explosion,hyperbeam,thunderbolt,thunderwave": 1697, + ",noability,explosion,thunder,thunderbolt,thunderwave": 1757, + ",noability,explosion,takedown,thunderbolt,thunderwave": 884 + }, + "exeggcute": { + ",noability,explosion,psychic,sleeppowder,stunspore": 3961 + }, + "exeggutor": { + ",noability,explosion,psychic,sleeppowder,stunspore": 1978, + ",noability,explosion,hyperbeam,psychic,sleeppowder": 676, + ",noability,explosion,megadrain,psychic,sleeppowder": 671, + ",noability,doubleedge,explosion,psychic,sleeppowder": 654 + }, + "farfetchd": { + ",noability,agility,bodyslam,slash,swordsdance": 2857 + }, + "fearow": { + ",noability,agility,doubleedge,drillpeck,hyperbeam": 2921 + }, + "flareon": { + ",noability,bodyslam,fireblast,hyperbeam,quickattack": 4070 + }, + "gastly": { + ",noability,explosion,hypnosis,psychic,thunderbolt": 1130, + ",noability,explosion,hypnosis,megadrain,thunderbolt": 514, + ",noability,hypnosis,nightshade,psychic,thunderbolt": 517, + ",noability,hypnosis,megadrain,psychic,thunderbolt": 540, + ",noability,explosion,hypnosis,nightshade,thunderbolt": 528, + ",noability,hypnosis,megadrain,nightshade,thunderbolt": 246 + }, + "gengar": { + ",noability,explosion,hypnosis,psychic,thunderbolt": 1261, + ",noability,explosion,hypnosis,megadrain,thunderbolt": 494, + ",noability,hypnosis,megadrain,nightshade,thunderbolt": 208, + ",noability,hypnosis,nightshade,psychic,thunderbolt": 538, + ",noability,explosion,hypnosis,nightshade,thunderbolt": 582, + ",noability,hypnosis,megadrain,psychic,thunderbolt": 554 + }, + "geodude": { + ",noability,bodyslam,earthquake,explosion,rockslide": 2989 + }, + "gloom": { + ",noability,doubleedge,megadrain,sleeppowder,swordsdance": 1122, + ",noability,doubleedge,megadrain,sleeppowder,stunspore": 2262 + }, + "golbat": { + ",noability,confuseray,doubleedge,hyperbeam,megadrain": 2759 + }, + "goldeen": { + ",noability,agility,blizzard,doubleedge,surf": 4145 + }, + "golduck": { + ",noability,amnesia,blizzard,hydropump,surf": 822, + ",noability,amnesia,blizzard,seismictoss,surf": 843, + ",noability,amnesia,blizzard,bodyslam,surf": 858, + ",noability,amnesia,blizzard,rest,surf": 1574 + }, + "golem": { + ",noability,bodyslam,earthquake,explosion,rockslide": 2958 + }, + "graveler": { + ",noability,bodyslam,earthquake,explosion,rockslide": 2948 + }, + "grimer": { + ",noability,bodyslam,explosion,megadrain,sludge": 637, + ",noability,bodyslam,explosion,fireblast,sludge": 1301, + ",noability,bodyslam,explosion,sludge,thunderbolt": 636, + ",noability,bodyslam,explosion,fireblast,thunderbolt": 369, + ",noability,bodyslam,explosion,fireblast,megadrain": 385, + ",noability,bodyslam,explosion,megadrain,thunderbolt": 143 + }, + "growlithe": { + ",noability,agility,bodyslam,fireblast,flamethrower": 2032, + ",noability,agility,bodyslam,fireblast,reflect": 2026 + }, + "gyarados": { + ",noability,blizzard,bodyslam,hydropump,hyperbeam": 396, + ",noability,blizzard,bodyslam,surf,thunderbolt": 852, + ",noability,bodyslam,hyperbeam,surf,thunderbolt": 905, + ",noability,blizzard,bodyslam,hyperbeam,surf": 803, + ",noability,bodyslam,hydropump,hyperbeam,thunderbolt": 384, + ",noability,blizzard,hyperbeam,surf,thunderbolt": 265, + ",noability,blizzard,bodyslam,hydropump,thunderbolt": 425, + ",noability,blizzard,hydropump,hyperbeam,thunderbolt": 120 + }, + "haunter": { + ",noability,explosion,hypnosis,psychic,thunderbolt": 1121, + ",noability,explosion,hypnosis,nightshade,thunderbolt": 530, + ",noability,hypnosis,nightshade,psychic,thunderbolt": 553, + ",noability,hypnosis,megadrain,nightshade,thunderbolt": 229, + ",noability,hypnosis,megadrain,psychic,thunderbolt": 548, + ",noability,explosion,hypnosis,megadrain,thunderbolt": 530 + }, + "hitmonchan": { + ",noability,agility,bodyslam,seismictoss,submission": 1940, + ",noability,bodyslam,counter,seismictoss,submission": 1913, + ",noability,bodyslam,megakick,seismictoss,submission": 984 + }, + "hitmonlee": { + ",noability,bodyslam,counter,highjumpkick,seismictoss": 1844, + ",noability,bodyslam,highjumpkick,meditate,seismictoss": 976, + ",noability,bodyslam,highjumpkick,rollingkick,seismictoss": 992, + ",noability,bodyslam,highjumpkick,megakick,seismictoss": 992 + }, + "horsea": { + ",noability,agility,blizzard,doubleedge,surf": 1363, + ",noability,agility,blizzard,hydropump,surf": 1389, + ",noability,agility,blizzard,smokescreen,surf": 1314 + }, + "hypno": { + ",noability,hypnosis,psychic,rest,thunderwave": 2535, + ",noability,counter,hypnosis,psychic,thunderwave": 1275, + ",noability,hypnosis,psychic,seismictoss,thunderwave": 2586 + }, + "ivysaur": { + ",noability,bodyslam,razorleaf,sleeppowder,swordsdance": 3356 + }, + "jigglypuff": { + ",noability,blizzard,bodyslam,sing,thunderwave": 641, + ",noability,blizzard,bodyslam,seismictoss,thunderwave": 1964, + ",noability,bodyslam,counter,seismictoss,thunderwave": 664, + ",noability,bodyslam,seismictoss,sing,thunderwave": 671, + ",noability,blizzard,bodyslam,counter,thunderwave": 602, + ",noability,blizzard,counter,seismictoss,thunderwave": 665, + ",noability,blizzard,seismictoss,sing,thunderwave": 629 + }, + "jolteon": { + ",noability,bodyslam,pinmissile,thunderbolt,thunderwave": 1705, + ",noability,bodyslam,doublekick,thunderbolt,thunderwave": 856, + ",noability,agility,bodyslam,thunderbolt,thunderwave": 1709 + }, + "jynx": { + ",noability,blizzard,lovelykiss,psychic,substitute": 1154, + ",noability,blizzard,counter,lovelykiss,psychic": 2354, + ",noability,blizzard,bodyslam,lovelykiss,psychic": 1165, + ",noability,blizzard,lovelykiss,psychic,seismictoss": 1134 + }, + "kabuto": { + ",noability,blizzard,bodyslam,hydropump,slash": 1022, + ",noability,blizzard,bodyslam,slash,surf": 2003 + }, + "kabutops": { + ",noability,bodyslam,hyperbeam,surf,swordsdance": 1459, + ",noability,hyperbeam,slash,surf,swordsdance": 1533 + }, + "kadabra": { + ",noability,psychic,recover,reflect,thunderwave": 2510, + ",noability,psychic,recover,seismictoss,thunderwave": 2509, + ",noability,counter,psychic,recover,thunderwave": 1258 + }, + "kangaskhan": { + ",noability,bodyslam,earthquake,hyperbeam,rockslide": 2938, + ",noability,bodyslam,counter,earthquake,hyperbeam": 1421, + ",noability,bodyslam,earthquake,hyperbeam,surf": 1496 + }, + "kingler": { + ",noability,bodyslam,crabhammer,hyperbeam,swordsdance": 4057 + }, + "koffing": { + ",noability,explosion,fireblast,sludge,thunderbolt": 3542 + }, + "krabby": { + ",noability,blizzard,bodyslam,crabhammer,swordsdance": 3016, + ",noability,bodyslam,crabhammer,stomp,swordsdance": 995 + }, + "lapras": { + ",noability,blizzard,bodyslam,sing,thunderbolt": 710, + ",noability,blizzard,bodyslam,surf,thunderbolt": 703, + ",noability,blizzard,rest,surf,thunderbolt": 721, + ",noability,blizzard,sing,surf,thunderbolt": 662, + ",noability,blizzard,bodyslam,rest,thunderbolt": 728, + ",noability,blizzard,rest,sing,thunderbolt": 693 + }, + "lickitung": { + ",noability,blizzard,bodyslam,hyperbeam,swordsdance": 1444, + ",noability,bodyslam,earthquake,hyperbeam,swordsdance": 4363 + }, + "machamp": { + ",noability,bodyslam,earthquake,rockslide,submission": 1893, + ",noability,bodyslam,earthquake,hyperbeam,submission": 1865, + ",noability,bodyslam,counter,earthquake,submission": 993 + }, + "machoke": { + ",noability,bodyslam,counter,earthquake,submission": 1645, + ",noability,bodyslam,earthquake,rockslide,submission": 3138 + }, + "machop": { + ",noability,bodyslam,earthquake,rockslide,submission": 3141, + ",noability,bodyslam,counter,earthquake,submission": 1578 + }, + "magmar": { + ",noability,bodyslam,confuseray,fireblast,psychic": 1356, + ",noability,bodyslam,confuseray,fireblast,hyperbeam": 1359, + ",noability,bodyslam,confuseray,fireblast,seismictoss": 1383 + }, + "magnemite": { + ",noability,doubleedge,thunder,thunderbolt,thunderwave": 2243, + ",noability,mimic,thunder,thunderbolt,thunderwave": 1065, + ",noability,rest,thunder,thunderbolt,thunderwave": 1018 + }, + "magneton": { + ",noability,rest,thunder,thunderbolt,thunderwave": 821, + ",noability,doubleedge,thunder,thunderbolt,thunderwave": 900, + ",noability,mimic,thunder,thunderbolt,thunderwave": 851, + ",noability,hyperbeam,thunder,thunderbolt,thunderwave": 1694 + }, + "mankey": { + ",noability,bodyslam,counter,rockslide,submission": 1527, + ",noability,bodyslam,lowkick,rockslide,submission": 1579, + ",noability,bodyslam,megakick,rockslide,submission": 1670 + }, + "marowak": { + ",noability,blizzard,bodyslam,earthquake,seismictoss": 3951 + }, + "meowth": { + ",noability,bodyslam,bubblebeam,slash,thunderbolt": 5932 + }, + "mew": { + ",noability,earthquake,psychic,softboiled,thunderwave": 1064, + ",noability,blizzard,psychic,softboiled,thunderwave": 2179, + ",noability,psychic,softboiled,thunderbolt,thunderwave": 1069, + ",noability,explosion,psychic,softboiled,thunderwave": 2134 + }, + "mewtwo": { + ",noability,amnesia,psychic,recover,thunderwave": 3252, + ",noability,amnesia,psychic,recover,thunderbolt": 1657, + ",noability,amnesia,blizzard,psychic,recover": 1614 + }, + "moltres": { + ",noability,agility,doubleedge,fireblast,hyperbeam": 2189, + ",noability,agility,fireblast,hyperbeam,reflect": 772 + }, + "mrmime": { + ",noability,psychic,seismictoss,thunderbolt,thunderwave": 6418 + }, + "muk": { + ",noability,bodyslam,explosion,fireblast,sludge": 725, + ",noability,bodyslam,explosion,sludge,thunderbolt": 333, + ",noability,bodyslam,explosion,fireblast,thunderbolt": 187, + ",noability,bodyslam,explosion,megadrain,sludge": 701, + ",noability,bodyslam,explosion,hyperbeam,sludge": 360, + ",noability,bodyslam,explosion,fireblast,hyperbeam": 206, + ",noability,bodyslam,explosion,hyperbeam,thunderbolt": 104, + ",noability,bodyslam,explosion,fireblast,megadrain": 463, + ",noability,bodyslam,explosion,megadrain,thunderbolt": 192, + ",noability,bodyslam,explosion,hyperbeam,megadrain": 215 + }, + "nidoking": { + ",noability,blizzard,bodyslam,earthquake,rockslide": 534, + ",noability,blizzard,earthquake,substitute,thunderbolt": 609, + ",noability,blizzard,bodyslam,earthquake,thunderbolt": 1245, + ",noability,blizzard,earthquake,rockslide,substitute": 297 + }, + "nidoqueen": { + ",noability,blizzard,bodyslam,earthquake,thunderbolt": 1789, + ",noability,blizzard,earthquake,substitute,thunderbolt": 903 + }, + "nidoranf": { + ",noability,blizzard,bodyslam,doublekick,thunderbolt": 1700, + ",noability,blizzard,bodyslam,doubleedge,thunderbolt": 1730 + }, + "nidoranm": { + ",noability,blizzard,bodyslam,doublekick,thunderbolt": 1738, + ",noability,blizzard,bodyslam,doubleedge,thunderbolt": 1827 + }, + "nidorina": { + ",noability,blizzard,bodyslam,doubleedge,thunderbolt": 1212, + ",noability,blizzard,bodyslam,bubblebeam,thunderbolt": 1176, + ",noability,blizzard,bodyslam,doublekick,thunderbolt": 1180 + }, + "nidorino": { + ",noability,blizzard,bodyslam,bubblebeam,thunderbolt": 1136, + ",noability,blizzard,bodyslam,doubleedge,thunderbolt": 1206, + ",noability,blizzard,bodyslam,doublekick,thunderbolt": 1196 + }, + "ninetales": { + ",noability,bodyslam,confuseray,fireblast,substitute": 1650, + ",noability,bodyslam,confuseray,fireblast,hyperbeam": 834, + ",noability,bodyslam,confuseray,fireblast,flamethrower": 852, + ",noability,bodyslam,confuseray,fireblast,reflect": 810 + }, + "oddish": { + ",noability,doubleedge,megadrain,sleeppowder,stunspore": 2246, + ",noability,doubleedge,megadrain,sleeppowder,swordsdance": 1126 + }, + "omanyte": { + ",noability,blizzard,bodyslam,hydropump,rest": 1494, + ",noability,blizzard,bodyslam,rest,surf": 1590 + }, + "omastar": { + ",noability,blizzard,hydropump,rest,seismictoss": 499, + ",noability,blizzard,bodyslam,seismictoss,surf": 528, + ",noability,blizzard,bodyslam,hydropump,seismictoss": 530, + ",noability,blizzard,bodyslam,hydropump,rest": 517, + ",noability,blizzard,rest,seismictoss,surf": 446, + ",noability,blizzard,bodyslam,rest,surf": 492 + }, + "onix": { + ",noability,bodyslam,earthquake,explosion,rockslide": 2995 + }, + "paras": { + ",noability,bodyslam,megadrain,spore,swordsdance": 1361, + ",noability,bodyslam,megadrain,spore,stunspore": 2729 + }, + "parasect": { + ",noability,bodyslam,megadrain,spore,swordsdance": 1138, + ",noability,bodyslam,megadrain,slash,spore": 598, + ",noability,bodyslam,megadrain,spore,stunspore": 1743, + ",noability,bodyslam,hyperbeam,megadrain,spore": 566 + }, + "persian": { + ",noability,bodyslam,bubblebeam,hyperbeam,slash": 3023, + ",noability,bodyslam,bubblebeam,slash,thunderbolt": 2982 + }, + "pidgeot": { + ",noability,agility,doubleedge,hyperbeam,quickattack": 976, + ",noability,agility,doubleedge,hyperbeam,substitute": 294, + ",noability,agility,doubleedge,hyperbeam,mirrormove": 300, + ",noability,agility,doubleedge,hyperbeam,skyattack": 600, + ",noability,agility,doubleedge,hyperbeam,reflect": 319, + ",noability,agility,doubleedge,hyperbeam,sandattack": 301 + }, + "pidgeotto": { + ",noability,agility,doubleedge,quickattack,skyattack": 1379, + ",noability,agility,doubleedge,quickattack,substitute": 262, + ",noability,agility,doubleedge,quickattack,sandattack": 262, + ",noability,agility,doubleedge,mirrormove,quickattack": 269, + ",noability,agility,doubleedge,skyattack,substitute": 106, + ",noability,agility,doubleedge,mirrormove,skyattack": 111, + ",noability,doubleedge,quickattack,sandattack,skyattack": 121, + ",noability,agility,doubleedge,sandattack,skyattack": 113, + ",noability,doubleedge,mirrormove,quickattack,skyattack": 122, + ",noability,doubleedge,quickattack,skyattack,substitute": 107 + }, + "pidgey": { + ",noability,agility,doubleedge,quickattack,substitute": 253, + ",noability,agility,doubleedge,quickattack,skyattack": 1485, + ",noability,agility,doubleedge,quickattack,sandattack": 266, + ",noability,agility,doubleedge,mirrormove,skyattack": 111, + ",noability,doubleedge,quickattack,sandattack,skyattack": 104, + ",noability,agility,doubleedge,sandattack,skyattack": 145, + ",noability,doubleedge,quickattack,skyattack,substitute": 114, + ",noability,doubleedge,mirrormove,quickattack,skyattack": 117, + ",noability,agility,doubleedge,mirrormove,quickattack": 263, + ",noability,agility,doubleedge,skyattack,substitute": 131 + }, + "pikachu": { + ",noability,bodyslam,surf,thunderbolt,thunderwave": 876, + ",noability,surf,thunder,thunderbolt,thunderwave": 883, + ",noability,seismictoss,surf,thunderbolt,thunderwave": 1715, + ",noability,agility,surf,thunderbolt,thunderwave": 853 + }, + "pinsir": { + ",noability,hyperbeam,slash,submission,swordsdance": 1369, + ",noability,bodyslam,hyperbeam,submission,swordsdance": 2790, + ",noability,hyperbeam,seismictoss,slash,swordsdance": 685, + ",noability,bodyslam,hyperbeam,seismictoss,swordsdance": 1319 + }, + "poliwag": { + ",noability,amnesia,blizzard,hypnosis,surf": 3065, + ",noability,amnesia,blizzard,psychic,surf": 977 + }, + "poliwhirl": { + ",noability,amnesia,blizzard,psychic,surf": 1067, + ",noability,amnesia,blizzard,hypnosis,surf": 3130 + }, + "poliwrath": { + ",noability,amnesia,blizzard,hypnosis,surf": 1622, + ",noability,blizzard,bodyslam,earthquake,surf": 267, + ",noability,blizzard,earthquake,hypnosis,surf": 250, + ",noability,blizzard,bodyslam,hypnosis,surf": 289, + ",noability,blizzard,earthquake,submission,surf": 272, + ",noability,blizzard,hypnosis,submission,surf": 243, + ",noability,blizzard,bodyslam,submission,surf": 254 + }, + "ponyta": { + ",noability,agility,bodyslam,fireblast,stomp": 671, + ",noability,agility,bodyslam,fireblast,substitute": 1354, + ",noability,agility,bodyslam,fireblast,reflect": 2096 + }, + "porygon": { + ",noability,blizzard,recover,thunderwave,triattack": 1469, + ",noability,blizzard,psychic,recover,thunderwave": 1489, + ",noability,blizzard,recover,thunderbolt,thunderwave": 1436, + ",noability,blizzard,doubleedge,recover,thunderwave": 1378 + }, + "primeape": { + ",noability,bodyslam,hyperbeam,rockslide,submission": 1851, + ",noability,bodyslam,counter,rockslide,submission": 928, + ",noability,bodyslam,counter,submission,thunderbolt": 333, + ",noability,bodyslam,lowkick,rockslide,submission": 832, + ",noability,bodyslam,hyperbeam,submission,thunderbolt": 573, + ",noability,bodyslam,lowkick,submission,thunderbolt": 312 + }, + "psyduck": { + ",noability,amnesia,blizzard,bodyslam,surf": 847, + ",noability,amnesia,blizzard,seismictoss,surf": 1631, + ",noability,amnesia,blizzard,rest,surf": 822, + ",noability,amnesia,blizzard,hydropump,surf": 825 + }, + "raichu": { + ",noability,agility,surf,thunderbolt,thunderwave": 724, + ",noability,hyperbeam,surf,thunderbolt,thunderwave": 1436, + ",noability,seismictoss,surf,thunderbolt,thunderwave": 692, + ",noability,bodyslam,surf,thunderbolt,thunderwave": 719, + ",noability,surf,thunder,thunderbolt,thunderwave": 693 + }, + "rapidash": { + ",noability,agility,bodyslam,fireblast,hyperbeam": 4063 + }, + "raticate": { + ",noability,blizzard,bodyslam,hyperbeam,superfang": 5869 + }, + "rattata": { + ",noability,blizzard,bodyslam,superfang,thunderbolt": 2890, + ",noability,blizzard,bodyslam,doubleedge,superfang": 955, + ",noability,blizzard,bodyslam,quickattack,superfang": 1944 + }, + "rhydon": { + ",noability,bodyslam,earthquake,rockslide,substitute": 3102 + }, + "rhyhorn": { + ",noability,bodyslam,earthquake,rockslide,substitute": 2967 + }, + "sandshrew": { + ",noability,bodyslam,earthquake,rockslide,swordsdance": 3982 + }, + "sandslash": { + ",noability,bodyslam,earthquake,rockslide,swordsdance": 4016 + }, + "scyther": { + ",noability,agility,hyperbeam,slash,swordsdance": 3030 + }, + "seadra": { + ",noability,agility,blizzard,hydropump,surf": 977, + ",noability,agility,blizzard,doubleedge,surf": 1063, + ",noability,agility,blizzard,smokescreen,surf": 1046, + ",noability,agility,blizzard,hyperbeam,surf": 1050 + }, + "seaking": { + ",noability,blizzard,doubleedge,hyperbeam,surf": 1391, + ",noability,agility,blizzard,doubleedge,surf": 1398, + ",noability,agility,blizzard,hyperbeam,surf": 1339 + }, + "seel": { + ",noability,blizzard,bodyslam,rest,surf": 4068 + }, + "shellder": { + ",noability,blizzard,doubleedge,explosion,surf": 4077 + }, + "slowbro": { + ",noability,amnesia,blizzard,surf,thunderwave": 636, + ",noability,amnesia,rest,surf,thunderwave": 1954, + ",noability,amnesia,blizzard,psychic,thunderwave": 653, + ",noability,amnesia,psychic,surf,thunderwave": 660 + }, + "slowpoke": { + ",noability,amnesia,rest,surf,thunderwave": 2267, + ",noability,blizzard,earthquake,surf,thunderwave": 468, + ",noability,earthquake,psychic,surf,thunderwave": 467, + ",noability,amnesia,blizzard,surf,thunderwave": 209, + ",noability,amnesia,psychic,surf,thunderwave": 216, + ",noability,earthquake,rest,surf,thunderwave": 461 + }, + "snorlax": { + ",noability,bodyslam,earthquake,hyperbeam,selfdestruct": 2973, + ",noability,amnesia,blizzard,bodyslam,rest": 1454, + ",noability,amnesia,blizzard,bodyslam,selfdestruct": 1438 + }, + "spearow": { + ",noability,agility,doubleedge,drillpeck,mirrormove": 747, + ",noability,agility,doubleedge,drillpeck,substitute": 708, + ",noability,agility,doubleedge,drillpeck,mimic": 672, + ",noability,agility,doubleedge,drillpeck,leer": 670 + }, + "squirtle": { + ",noability,blizzard,counter,seismictoss,surf": 1358, + ",noability,blizzard,bodyslam,hydropump,seismictoss": 684, + ",noability,blizzard,bodyslam,seismictoss,surf": 1290, + ",noability,blizzard,counter,hydropump,seismictoss": 638 + }, + "starmie": { + ",noability,psychic,recover,thunderbolt,thunderwave": 411, + ",noability,blizzard,hydropump,recover,thunderbolt": 93, + ",noability,blizzard,recover,surf,thunderwave": 470, + ",noability,blizzard,psychic,recover,thunderwave": 417, + ",noability,recover,surf,thunderbolt,thunderwave": 477, + ",noability,blizzard,hydropump,recover,thunderwave": 246, + ",noability,blizzard,recover,surf,thunderbolt": 207, + ",noability,psychic,recover,surf,thunderwave": 421, + ",noability,hydropump,psychic,recover,thunderwave": 241, + ",noability,psychic,recover,surf,thunderbolt": 189, + ",noability,hydropump,psychic,recover,thunderbolt": 102, + ",noability,blizzard,psychic,recover,surf": 195, + ",noability,blizzard,psychic,recover,thunderbolt": 168, + ",noability,hydropump,recover,thunderbolt,thunderwave": 225, + ",noability,blizzard,hydropump,psychic,recover": 106 + }, + "staryu": { + ",noability,blizzard,recover,surf,thunderbolt": 917, + ",noability,recover,surf,thunderbolt,thunderwave": 896, + ",noability,blizzard,recover,surf,thunderwave": 936, + ",noability,blizzard,hydropump,recover,thunderwave": 454, + ",noability,hydropump,recover,thunderbolt,thunderwave": 428, + ",noability,blizzard,hydropump,recover,thunderbolt": 476 + }, + "tangela": { + ",noability,bodyslam,megadrain,sleeppowder,stunspore": 2076, + ",noability,bodyslam,growth,megadrain,sleeppowder": 699, + ",noability,bodyslam,megadrain,sleeppowder,swordsdance": 1256 + }, + "tauros": { + ",noability,bodyslam,earthquake,hyperbeam,thunderbolt": 1487, + ",noability,blizzard,bodyslam,earthquake,hyperbeam": 4313 + }, + "tentacool": { + ",noability,blizzard,hydropump,megadrain,surf": 1690, + ",noability,barrier,blizzard,megadrain,surf": 839 + }, + "tentacruel": { + ",noability,blizzard,hydropump,hyperbeam,swordsdance": 889, + ",noability,blizzard,hyperbeam,surf,swordsdance": 1721 + }, + "vaporeon": { + ",noability,blizzard,bodyslam,rest,surf": 2001, + ",noability,blizzard,mimic,rest,surf": 649, + ",noability,blizzard,hydropump,rest,surf": 657, + ",noability,acidarmor,blizzard,rest,surf": 662 + }, + "venomoth": { + ",noability,doubleedge,psychic,sleeppowder,stunspore": 2393, + ",noability,megadrain,psychic,sleeppowder,stunspore": 2385 + }, + "venonat": { + ",noability,megadrain,psychic,sleeppowder,stunspore": 2330, + ",noability,doubleedge,psychic,sleeppowder,stunspore": 2346 + }, + "venusaur": { + ",noability,bodyslam,hyperbeam,razorleaf,sleeppowder": 1117, + ",noability,bodyslam,razorleaf,sleeppowder,swordsdance": 2226 + }, + "victreebel": { + ",noability,bodyslam,razorleaf,sleeppowder,stunspore": 1673, + ",noability,bodyslam,razorleaf,sleeppowder,swordsdance": 1069, + ",noability,bodyslam,hyperbeam,razorleaf,sleeppowder": 552 + }, + "vileplume": { + ",noability,bodyslam,megadrain,sleeppowder,stunspore": 2231, + ",noability,bodyslam,megadrain,sleeppowder,swordsdance": 1107 + }, + "voltorb": { + ",noability,explosion,takedown,thunderbolt,thunderwave": 2165, + ",noability,explosion,thunder,thunderbolt,thunderwave": 2016 + }, + "vulpix": { + ",noability,bodyslam,confuseray,fireblast,flamethrower": 1427, + ",noability,bodyslam,confuseray,fireblast,substitute": 1427, + ",noability,bodyslam,confuseray,fireblast,quickattack": 658, + ",noability,bodyslam,confuseray,fireblast,reflect": 672 + }, + "wartortle": { + ",noability,blizzard,bodyslam,seismictoss,surf": 884, + ",noability,blizzard,bodyslam,counter,surf": 980, + ",noability,blizzard,bodyslam,rest,surf": 909, + ",noability,blizzard,bodyslam,counter,hydropump": 480, + ",noability,blizzard,bodyslam,hydropump,seismictoss": 449, + ",noability,blizzard,bodyslam,hydropump,rest": 468 + }, + "weepinbell": { + ",noability,doubleedge,razorleaf,sleeppowder,swordsdance": 1135, + ",noability,doubleedge,razorleaf,sleeppowder,stunspore": 2192 + }, + "weezing": { + ",noability,explosion,fireblast,sludge,thunderbolt": 3489 + }, + "wigglytuff": { + ",noability,blizzard,bodyslam,sing,thunderwave": 2010, + ",noability,blizzard,bodyslam,hyperbeam,thunderwave": 1911, + ",noability,blizzard,bodyslam,counter,thunderwave": 1915 + }, + "zapdos": { + ",noability,agility,drillpeck,thunderbolt,thunderwave": 4228 + }, + "zubat": { + ",noability,confuseray,doubleedge,megadrain,wingattack": 895, + ",noability,confuseray,doubleedge,megadrain,substitute": 1673 + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen2randombattle.json b/data/pkmn_sets/gen2randombattle.json new file mode 100644 index 000000000..dfefe449b --- /dev/null +++ b/data/pkmn_sets/gen2randombattle.json @@ -0,0 +1,861 @@ +{ + "aerodactyl": { + "leftovers,noability,curse,earthquake,hiddenpowerrock,rest": 1311, + "leftovers,noability,curse,earthquake,hiddenpowerrock,whirlwind": 1244, + "leftovers,noability,ancientpower,curse,earthquake,hiddenpowerflying": 1218 + }, + "aipom": { + "leftovers,noability,agility,batonpass,curse,return": 2272, + "leftovers,noability,curse,rest,return,sleeptalk": 2237 + }, + "alakazam": { + "leftovers,noability,encore,firepunch,psychic,recover": 1658, + "leftovers,noability,firepunch,hiddenpowerdark,psychic,recover": 1628, + "leftovers,noability,firepunch,psychic,recover,thunderwave": 1593 + }, + "ampharos": { + "leftovers,noability,firepunch,rest,sleeptalk,thunder": 2349, + "leftovers,noability,hiddenpowerice,rest,sleeptalk,thunder": 2402 + }, + "arbok": { + "leftovers,noability,earthquake,glare,haze,sludgebomb": 794, + "leftovers,noability,curse,rest,sleeptalk,sludgebomb": 725, + "leftovers,noability,curse,earthquake,glare,sludgebomb": 1264, + "leftovers,noability,earthquake,rest,sleeptalk,sludgebomb": 750, + "leftovers,noability,earthquake,glare,rockslide,sludgebomb": 537, + "leftovers,noability,curse,earthquake,rockslide,sludgebomb": 517 + }, + "arcanine": { + "leftovers,noability,flamethrower,hiddenpowergrass,rest,sleeptalk": 773, + "leftovers,noability,doubleedge,fireblast,rest,sleeptalk": 730, + "leftovers,noability,fireblast,hiddenpowergrass,rest,sleeptalk": 724, + "leftovers,noability,crunch,fireblast,rest,sleeptalk": 735, + "leftovers,noability,crunch,flamethrower,rest,sleeptalk": 779, + "leftovers,noability,doubleedge,flamethrower,rest,sleeptalk": 774 + }, + "ariados": { + "leftovers,noability,agility,batonpass,curse,sludgebomb": 2159, + "leftovers,noability,agility,batonpass,growth,sludgebomb": 2218 + }, + "articuno": { + "leftovers,noability,icebeam,rest,sleeptalk,toxic": 1820, + "leftovers,noability,hiddenpowerelectric,icebeam,rest,sleeptalk": 1800 + }, + "azumarill": { + "leftovers,noability,perishsong,rest,surf,whirlpool": 1420, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1403, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 513, + "leftovers,noability,lightscreen,rest,sleeptalk,surf": 472, + "leftovers,noability,rest,sleeptalk,surf,toxic": 469 + }, + "beedrill": { + "leftovers,noability,agility,hiddenpowerground,sludgebomb,swordsdance": 2160, + "leftovers,noability,hiddenpowerground,sludgebomb,substitute,swordsdance": 2195 + }, + "bellossom": { + "leftovers,noability,moonlight,return,stunspore,swordsdance": 1198, + "leftovers,noability,hiddenpowerice,leechseed,moonlight,razorleaf": 413, + "leftovers,noability,hiddenpowerice,moonlight,razorleaf,sleeppowder": 357, + "leftovers,noability,hiddenpowerfire,moonlight,razorleaf,stunspore": 396, + "leftovers,noability,hiddenpowerfire,leechseed,moonlight,razorleaf": 425, + "leftovers,noability,hiddenpowerice,moonlight,razorleaf,stunspore": 392, + "leftovers,noability,hiddenpowerground,moonlight,return,swordsdance": 1198, + "leftovers,noability,hiddenpowerfire,moonlight,razorleaf,sleeppowder": 374 + }, + "blastoise": { + "leftovers,noability,rest,sleeptalk,surf,zapcannon": 1026, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1028, + "leftovers,noability,rapidspin,rest,roar,surf": 331, + "leftovers,noability,rest,roar,surf,toxic": 369, + "leftovers,noability,icebeam,rest,surf,toxic": 352, + "leftovers,noability,rapidspin,rest,surf,toxic": 359, + "leftovers,noability,icebeam,rest,roar,surf": 349, + "leftovers,noability,icebeam,rapidspin,rest,surf": 369 + }, + "blissey": { + "leftovers,noability,flamethrower,healbell,present,softboiled": 97, + "leftovers,noability,healbell,present,softboiled,thunder": 2232, + "leftovers,noability,counter,healbell,present,softboiled": 106, + "leftovers,noability,lightscreen,present,softboiled,thunderwave": 131, + "leftovers,noability,lightscreen,present,softboiled,toxic": 125, + "leftovers,noability,flamethrower,lightscreen,present,softboiled": 108, + "leftovers,noability,counter,present,softboiled,thunderwave": 112, + "leftovers,noability,counter,lightscreen,present,softboiled": 97, + "leftovers,noability,counter,icebeam,present,softboiled": 102, + "leftovers,noability,counter,present,softboiled,toxic": 135, + "leftovers,noability,icebeam,present,softboiled,thunderwave": 136, + "leftovers,noability,counter,flamethrower,present,softboiled": 124, + "leftovers,noability,flamethrower,present,softboiled,thunderwave": 121, + "leftovers,noability,healbell,icebeam,present,softboiled": 90, + "leftovers,noability,healbell,present,softboiled,thunderwave": 120, + "leftovers,noability,flamethrower,present,softboiled,toxic": 107, + "leftovers,noability,healbell,lightscreen,present,softboiled": 99, + "leftovers,noability,icebeam,lightscreen,present,softboiled": 106, + "leftovers,noability,icebeam,present,softboiled,toxic": 115, + "leftovers,noability,flamethrower,icebeam,present,softboiled": 114, + "leftovers,noability,healbell,present,softboiled,toxic": 120 + }, + "butterfree": { + "leftovers,noability,hiddenpowerbug,psychic,sleeppowder,stunspore": 1180, + "leftovers,noability,psychic,reflect,sleeppowder,stunspore": 1204, + "leftovers,noability,nightmare,psychic,sleeppowder,substitute": 1218 + }, + "celebi": { + "leftovers,noability,healbell,hiddenpowergrass,psychic,recover": 1416, + "leftovers,noability,healbell,leechseed,psychic,recover": 447, + "leftovers,noability,batonpass,curse,recover,return": 1437, + "leftovers,noability,healbell,psychic,recover,toxic": 456, + "leftovers,noability,leechseed,psychic,recover,toxic": 526 + }, + "charizard": { + "leftovers,noability,bellydrum,earthquake,fireblast,rockslide": 943, + "miracleberry,noability,bellydrum,earthquake,fireblast,rockslide": 922, + "leftovers,noability,earthquake,fireblast,rockslide,swordsdance": 1770 + }, + "clefable": { + "leftovers,noability,bodyslam,encore,fireblast,moonlight": 704, + "leftovers,noability,curse,moonlight,return,thunderwave": 1418, + "leftovers,noability,bellydrum,bodyslam,hiddenpowerground,moonlight": 764, + "leftovers,noability,bellydrum,moonlight,return,thunderwave": 393, + "leftovers,noability,bellydrum,hiddenpowerground,moonlight,return": 346, + "leftovers,noability,bodyslam,encore,flamethrower,moonlight": 738 + }, + "cloyster": { + "leftovers,noability,explosion,icebeam,spikes,surf": 1168, + "leftovers,noability,explosion,icebeam,rapidspin,spikes": 647, + "leftovers,noability,explosion,rapidspin,surf,toxic": 79, + "leftovers,noability,explosion,spikes,surf,toxic": 639, + "leftovers,noability,explosion,icebeam,surf,toxic": 37, + "leftovers,noability,explosion,icebeam,spikes,toxic": 618, + "leftovers,noability,explosion,rapidspin,spikes,surf": 595, + "leftovers,noability,explosion,icebeam,rapidspin,surf": 28, + "leftovers,noability,explosion,icebeam,rapidspin,toxic": 78 + }, + "corsola": { + "leftovers,noability,icebeam,recover,rockslide,surf": 901, + "leftovers,noability,curse,recover,rockslide,surf": 961, + "leftovers,noability,recover,rockslide,surf,toxic": 929, + "leftovers,noability,recover,rockslide,sandstorm,surf": 948 + }, + "crobat": { + "leftovers,noability,haze,protect,toxic,wingattack": 1941, + "leftovers,noability,haze,hiddenpowerground,rest,wingattack": 969, + "leftovers,noability,hiddenpowerground,rest,toxic,wingattack": 938 + }, + "delibird": { + ",noability,hiddenpowerflying,icebeam,spikes,thief": 1156, + ",noability,icebeam,spikes,thief,toxic": 1114, + ",noability,icebeam,rapidspin,thief,toxic": 67, + ",noability,icebeam,rapidspin,spikes,thief": 1169, + ",noability,hiddenpowerflying,icebeam,thief,toxic": 151, + ",noability,hiddenpowerflying,icebeam,rapidspin,thief": 54 + }, + "dewgong": { + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1893, + "leftovers,noability,encore,icebeam,protect,toxic": 1985 + }, + "ditto": { + "metalpowder,noability,transform": 2 + }, + "dodrio": { + "leftovers,noability,doubleedge,hiddenpowerground,rest,sleeptalk": 1856, + "leftovers,noability,doubleedge,drillpeck,rest,sleeptalk": 1792 + }, + "donphan": { + "leftovers,noability,curse,earthquake,hiddenpowerrock,roar": 2316, + "leftovers,noability,earthquake,hiddenpowerrock,rest,sleeptalk": 1130, + "leftovers,noability,curse,earthquake,rest,sleeptalk": 1158 + }, + "dragonite": { + "leftovers,noability,icebeam,rest,sleeptalk,thunder": 1355, + "leftovers,noability,haze,hiddenpowerflying,surf,thunder": 347, + "leftovers,noability,dynamicpunch,hiddenpowerflying,icebeam,thunder": 1330, + "mintberry,noability,haze,hiddenpowerflying,rest,thunder": 307, + "mintberry,noability,haze,hiddenpowerflying,rest,surf": 335, + "mintberry,noability,hiddenpowerflying,rest,surf,thunder": 328 + }, + "dugtrio": { + "leftovers,noability,earthquake,rockslide,sludgebomb,substitute": 1523, + ",noability,earthquake,rockslide,sludgebomb,thief": 1560, + ",noability,earthquake,rockslide,substitute,thief": 1481 + }, + "dunsparce": { + "leftovers,noability,curse,glare,hiddenpowerground,return": 2379, + "leftovers,noability,rest,return,sleeptalk,thunder": 1129, + "leftovers,noability,curse,rest,return,sleeptalk": 1106 + }, + "electabuzz": { + ",noability,crosschop,icepunch,thief,thunder": 640, + "leftovers,noability,icepunch,rest,sleeptalk,thunder": 2461, + "leftovers,noability,crosschop,icepunch,pursuit,thunderbolt": 560, + "leftovers,noability,crosschop,icepunch,pursuit,thunder": 588, + ",noability,crosschop,icepunch,thief,thunderbolt": 563 + }, + "electrode": { + "leftovers,noability,explosion,hiddenpowerice,lightscreen,thunderbolt": 575, + "leftovers,noability,explosion,hiddenpowerice,thunderbolt,thunderwave": 2370, + "leftovers,noability,explosion,hiddenpowerice,reflect,thunder": 544, + "leftovers,noability,explosion,hiddenpowerice,reflect,thunderbolt": 613, + "leftovers,noability,explosion,hiddenpowerice,lightscreen,thunder": 594 + }, + "entei": { + "leftovers,noability,flamethrower,hiddenpowergrass,rest,sleeptalk": 530, + "leftovers,noability,flamethrower,rest,return,sleeptalk": 560, + "leftovers,noability,fireblast,rest,return,sleeptalk": 542, + "leftovers,noability,fireblast,hiddenpowerground,solarbeam,sunnyday": 1046, + "leftovers,noability,fireblast,hiddenpowerrock,solarbeam,sunnyday": 1071, + "leftovers,noability,fireblast,hiddenpowergrass,rest,sleeptalk": 535 + }, + "espeon": { + "leftovers,noability,growth,hiddenpowerfire,psychic,substitute": 1232, + "leftovers,noability,growth,hiddenpowerfire,morningsun,psychic": 1217, + "leftovers,noability,batonpass,growth,hiddenpowerfire,psychic": 1276, + "leftovers,noability,batonpass,growth,morningsun,psychic": 1229 + }, + "exeggutor": { + "leftovers,noability,explosion,gigadrain,hiddenpowerfire,psychic": 2303, + "leftovers,noability,explosion,hiddenpowerfire,psychic,stunspore": 334, + ",noability,explosion,hiddenpowerfire,psychic,thief": 344, + "leftovers,noability,explosion,hiddenpowerfire,psychic,sleeppowder": 375, + "leftovers,noability,explosion,hiddenpowergrass,psychic,sleeppowder": 361, + "leftovers,noability,explosion,hiddenpowergrass,psychic,stunspore": 372, + ",noability,explosion,hiddenpowergrass,psychic,thief": 357 + }, + "farfetchd": { + "leftovers,noability,agility,batonpass,return,swordsdance": 3699 + }, + "fearow": { + "leftovers,noability,doubleedge,hiddenpowerground,rest,sleeptalk": 1874, + "leftovers,noability,doubleedge,drillpeck,rest,sleeptalk": 1923 + }, + "feraligatr": { + "leftovers,noability,hiddenpowerelectric,rest,sleeptalk,surf": 1477, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1356, + "leftovers,noability,earthquake,rest,sleeptalk,surf": 1439 + }, + "flareon": { + "leftovers,noability,batonpass,fireblast,growth,hiddenpowergrass": 2137, + "leftovers,noability,doubleedge,fireblast,rest,sleeptalk": 1065, + "leftovers,noability,doubleedge,flamethrower,rest,sleeptalk": 1151 + }, + "forretress": { + "leftovers,noability,explosion,hiddenpowersteel,rapidspin,toxic": 140, + "leftovers,noability,explosion,hiddenpowersteel,rapidspin,spikes": 1067, + "leftovers,noability,explosion,hiddenpowerbug,rapidspin,spikes": 1072, + "leftovers,noability,explosion,hiddenpowersteel,spikes,toxic": 1075, + "leftovers,noability,explosion,hiddenpowerbug,spikes,toxic": 1095, + "leftovers,noability,explosion,hiddenpowerbug,rapidspin,toxic": 145, + "leftovers,noability,explosion,hiddenpowerbug,toxic": 40, + "leftovers,noability,explosion,hiddenpowersteel,toxic": 39 + }, + "furret": { + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1461, + "leftovers,noability,doubleedge,rest,sleeptalk,surf": 780, + "leftovers,noability,curse,irontail,quickattack,return": 1553, + "leftovers,noability,doubleedge,irontail,rest,sleeptalk": 719 + }, + "gengar": { + "leftovers,noability,destinybond,firepunch,icepunch,thunderbolt": 735, + "leftovers,noability,explosion,hypnosis,icepunch,thunderbolt": 734, + "leftovers,noability,explosion,firepunch,icepunch,thunderbolt": 761, + "leftovers,noability,destinybond,icepunch,psychic,thunderbolt": 696, + "leftovers,noability,destinybond,hypnosis,icepunch,thunderbolt": 742, + "leftovers,noability,explosion,icepunch,psychic,thunderbolt": 797 + }, + "girafarig": { + "leftovers,noability,agility,batonpass,psychic,thunder": 1421, + "leftovers,noability,agility,amnesia,batonpass,psychic": 1518, + "leftovers,noability,psychic,rest,return,sleeptalk": 715, + "leftovers,noability,earthquake,psychic,return,thunder": 707 + }, + "gligar": { + ",noability,earthquake,hiddenpowerflying,thief,toxic": 1004, + "leftovers,noability,earthquake,hiddenpowerflying,rest,sleeptalk": 2025, + ",noability,counter,earthquake,hiddenpowerflying,thief": 1002 + }, + "golduck": { + "leftovers,noability,hiddenpowerelectric,hydropump,hypnosis,icebeam": 535, + "leftovers,noability,crosschop,hiddenpowerelectric,hydropump,hypnosis": 566, + "leftovers,noability,crosschop,hydropump,hypnosis,icebeam": 520, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 661, + "leftovers,noability,crosschop,rest,sleeptalk,surf": 753, + "leftovers,noability,crosschop,hiddenpowerelectric,hydropump,icebeam": 538, + "leftovers,noability,hiddenpowerelectric,rest,sleeptalk,surf": 672 + }, + "golem": { + "leftovers,noability,curse,earthquake,explosion,rockslide": 1295, + "leftovers,noability,earthquake,explosion,roar,rockslide": 1329, + "leftovers,noability,earthquake,explosion,rapidspin,rockslide": 1246 + }, + "granbull": { + "leftovers,noability,hiddenpowerground,rest,return,sleeptalk": 780, + "leftovers,noability,healbell,rest,return,sleeptalk": 712, + "leftovers,noability,curse,rest,return,sleeptalk": 1469, + "leftovers,noability,curse,hiddenpowerground,lovelykiss,return": 1457 + }, + "gyarados": { + "leftovers,noability,curse,hiddenpowerflying,rest,sleeptalk": 1307, + "leftovers,noability,hiddenpowerflying,hydropump,roar,thunder": 425, + "leftovers,noability,doubleedge,hydropump,rest,sleeptalk": 336, + "leftovers,noability,doubleedge,hiddenpowerflying,hydropump,thunder": 365, + "leftovers,noability,doubleedge,hydropump,roar,thunder": 401, + "leftovers,noability,hiddenpowerflying,hydropump,rest,sleeptalk": 310, + "leftovers,noability,hiddenpowerflying,rest,sleeptalk,surf": 311, + "leftovers,noability,doubleedge,rest,sleeptalk,surf": 301 + }, + "heracross": { + "leftovers,noability,curse,earthquake,hiddenpowerrock,megahorn": 2455, + "leftovers,noability,curse,megahorn,rest,sleeptalk": 1177, + "leftovers,noability,earthquake,megahorn,rest,sleeptalk": 1243 + }, + "hitmonchan": { + "leftovers,noability,bodyslam,highjumpkick,rest,sleeptalk": 826, + "leftovers,noability,curse,hiddenpowerghost,highjumpkick,machpunch": 838, + "leftovers,noability,curse,highjumpkick,rest,sleeptalk": 1660, + "leftovers,noability,curse,hiddenpowerrock,highjumpkick,machpunch": 804, + "leftovers,noability,hiddenpowerrock,highjumpkick,rest,sleeptalk": 827 + }, + "hitmonlee": { + "leftovers,noability,hiddenpowerrock,highjumpkick,rest,sleeptalk": 848, + "mintberry,noability,hiddenpowerrock,highjumpkick,meditate,rest": 413, + "leftovers,noability,hiddenpowerrock,highjumpkick,meditate,substitute": 421, + "leftovers,noability,doubleedge,hiddenpowerrock,highjumpkick,meditate": 916, + "leftovers,noability,doubleedge,hiddenpowerghost,highjumpkick,meditate": 833, + "mintberry,noability,hiddenpowerghost,highjumpkick,meditate,rest": 403, + "leftovers,noability,bodyslam,highjumpkick,rest,sleeptalk": 896, + "leftovers,noability,hiddenpowerghost,highjumpkick,meditate,substitute": 404 + }, + "hitmontop": { + "leftovers,noability,curse,highjumpkick,rest,sleeptalk": 1710, + "leftovers,noability,curse,hiddenpowerghost,highjumpkick,machpunch": 871, + "leftovers,noability,hiddenpowerghost,highjumpkick,rest,sleeptalk": 838, + "leftovers,noability,curse,hiddenpowerrock,highjumpkick,machpunch": 783, + "leftovers,noability,hiddenpowerrock,highjumpkick,rest,sleeptalk": 845 + }, + "hooh": { + "leftovers,noability,curse,earthquake,hiddenpowerflying,recover": 1772, + "leftovers,noability,earthquake,recover,sacredfire,thunder": 1814 + }, + "houndoom": { + "leftovers,noability,counter,crunch,fireblast,pursuit": 1410, + "leftovers,noability,crunch,fireblast,rest,sleeptalk": 1417, + "leftovers,noability,fireblast,pursuit,solarbeam,sunnyday": 687, + "leftovers,noability,crunch,fireblast,solarbeam,sunnyday": 718 + }, + "hypno": { + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1595, + "leftovers,noability,curse,psychic,rest,return": 855, + "leftovers,noability,psychic,rest,seismictoss,sleeptalk": 812, + "leftovers,noability,bodyslam,curse,psychic,rest": 813, + "leftovers,noability,psychic,rest,sleeptalk,thunderwave": 780 + }, + "jolteon": { + "leftovers,noability,growth,hiddenpowerice,substitute,thunderbolt": 2365, + "leftovers,noability,batonpass,growth,hiddenpowerice,thunderbolt": 2377 + }, + "jumpluff": { + "leftovers,noability,encore,hiddenpowerflying,sleeppowder,stunspore": 1290, + "leftovers,noability,encore,hiddenpowerflying,leechseed,stunspore": 1350, + "leftovers,noability,encore,hiddenpowerflying,stunspore,synthesis": 1356 + }, + "jynx": { + "leftovers,noability,icebeam,lovelykiss,psychic,substitute": 1476, + "leftovers,noability,icebeam,lovelykiss,nightmare,psychic": 1457, + ",noability,icebeam,lovelykiss,psychic,thief": 1458 + }, + "kabutops": { + "leftovers,noability,hiddenpowerground,hydropump,return,swordsdance": 1809, + "mintberry,noability,ancientpower,hiddenpowerground,rest,swordsdance": 596, + "leftovers,noability,ancientpower,hiddenpowerground,substitute,swordsdance": 614, + "leftovers,noability,ancientpower,hiddenpowerground,protect,swordsdance": 602 + }, + "kangaskhan": { + "leftovers,noability,doubleedge,earthquake,rest,sleeptalk": 1523, + "leftovers,noability,bodyslam,curse,earthquake,roar": 750, + "leftovers,noability,curse,rest,return,sleeptalk": 508, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 494, + "leftovers,noability,bodyslam,curse,rest,sleeptalk": 504, + "leftovers,noability,curse,earthquake,return,roar": 730 + }, + "kingdra": { + "leftovers,noability,icebeam,rest,sleeptalk,surf": 2259, + "leftovers,noability,dragonbreath,rest,sleeptalk,surf": 2237 + }, + "kingler": { + "leftovers,noability,hiddenpowerground,protect,return,swordsdance": 733, + "leftovers,noability,hiddenpowerground,return,substitute,swordsdance": 657, + "mintberry,noability,hiddenpowerground,rest,return,swordsdance": 702, + "leftovers,noability,hiddenpowerground,return,surf,swordsdance": 700, + "leftovers,noability,protect,return,surf,swordsdance": 698, + "leftovers,noability,return,substitute,surf,swordsdance": 682 + }, + "lanturn": { + "leftovers,noability,rest,sleeptalk,surf,thunder": 4227 + }, + "lapras": { + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1243, + "leftovers,noability,icebeam,rest,sleeptalk,thunder": 1291, + "leftovers,noability,rest,sleeptalk,surf,thunder": 1286 + }, + "ledian": { + "leftovers,noability,agility,barrier,batonpass,lightscreen": 3514 + }, + "lickitung": { + "leftovers,noability,doubleedge,rest,sleeptalk,thunder": 532, + "leftovers,noability,earthquake,protect,return,swordsdance": 699, + "leftovers,noability,doubleedge,rest,sleeptalk,surf": 526, + "leftovers,noability,bodyslam,earthquake,protect,swordsdance": 725, + "leftovers,noability,doubleedge,rest,sleeptalk,swordsdance": 387, + "leftovers,noability,curse,rest,return,sleeptalk": 360, + "leftovers,noability,doubleedge,earthquake,rest,sleeptalk": 459, + "leftovers,noability,rest,return,sleeptalk,swordsdance": 361, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 390 + }, + "lugia": { + "leftovers,noability,curse,hiddenpowerflying,recover,whirlwind": 1313, + "leftovers,noability,psychic,recover,thunder,whirlwind": 1354, + "leftovers,noability,aeroblast,curse,earthquake,recover": 1274 + }, + "machamp": { + "leftovers,noability,crosschop,curse,hiddenpowerbug,rockslide": 1219, + "leftovers,noability,crosschop,curse,rest,sleeptalk": 1260, + "leftovers,noability,crosschop,curse,earthquake,rockslide": 1244, + "leftovers,noability,crosschop,rest,rockslide,sleeptalk": 1240 + }, + "magcargo": { + "leftovers,noability,curse,flamethrower,rest,rockslide": 996, + "leftovers,noability,flamethrower,rest,rockslide,sleeptalk": 351, + "leftovers,noability,earthquake,fireblast,rest,sleeptalk": 345, + "leftovers,noability,fireblast,rest,rockslide,sleeptalk": 346, + "leftovers,noability,curse,fireblast,rest,rockslide": 1013, + "leftovers,noability,flamethrower,hiddenpowergrass,rest,sleeptalk": 332, + "leftovers,noability,fireblast,hiddenpowergrass,rest,sleeptalk": 337, + "leftovers,noability,earthquake,flamethrower,rest,sleeptalk": 324 + }, + "magmar": { + "leftovers,noability,fireblast,hiddenpowerground,sunnyday,thunderpunch": 1090, + ",noability,fireblast,hiddenpowerground,thief,thunderpunch": 725, + "leftovers,noability,crosschop,fireblast,sunnyday,thunderpunch": 1052, + "leftovers,noability,crosschop,fireblast,hiddenpowerground,thunderpunch": 741, + ",noability,crosschop,fireblast,thief,thunderpunch": 709 + }, + "magneton": { + "leftovers,noability,hiddenpowerice,rest,sleeptalk,thunder": 4386 + }, + "mantine": { + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1836, + "leftovers,noability,hiddenpowerelectric,rest,sleeptalk,surf": 1900 + }, + "marowak": { + "thickclub,noability,earthquake,hiddenpowerbug,rockslide,swordsdance": 4683 + }, + "meganium": { + "leftovers,noability,bodyslam,earthquake,swordsdance,synthesis": 2384, + "leftovers,noability,earthquake,hiddenpowerrock,swordsdance,synthesis": 2311 + }, + "mew": { + "leftovers,noability,earthquake,explosion,rockslide,swordsdance": 2461, + "leftovers,noability,earthquake,rockslide,softboiled,swordsdance": 2448 + }, + "mewtwo": { + "leftovers,noability,barrier,psychic,recover,thunder": 852, + "leftovers,noability,flamethrower,icebeam,psychic,recover": 809, + "leftovers,noability,barrier,flamethrower,psychic,recover": 797, + "leftovers,noability,icebeam,psychic,recover,thunder": 748, + "leftovers,noability,flamethrower,psychic,recover,thunder": 1619 + }, + "miltank": { + "leftovers,noability,bodyslam,curse,healbell,milkdrink": 2229, + "leftovers,noability,bodyslam,curse,earthquake,milkdrink": 2267 + }, + "misdreavus": { + ",noability,hypnosis,psychic,thief,thunder": 1716, + "leftovers,noability,meanlook,painsplit,perishsong,thunder": 788, + "leftovers,noability,meanlook,perishsong,protect,thunder": 850, + "leftovers,noability,hypnosis,painsplit,shadowball,thunder": 555, + ",noability,painsplit,shadowball,thief,thunder": 578, + "leftovers,noability,painsplit,psychic,shadowball,thunder": 578 + }, + "moltres": { + "leftovers,noability,fireblast,rest,sleeptalk,sunnyday": 889, + "leftovers,noability,flamethrower,rest,sleeptalk,sunnyday": 820, + "leftovers,noability,flamethrower,hiddenpowergrass,rest,sleeptalk": 871, + "leftovers,noability,fireblast,hiddenpowergrass,rest,sleeptalk": 836 + }, + "mrmime": { + "leftovers,noability,barrier,batonpass,psychic,thunder": 1669, + "leftovers,noability,encore,firepunch,psychic,thunder": 258, + "leftovers,noability,firepunch,psychic,rest,sleeptalk": 762, + "leftovers,noability,encore,hypnosis,psychic,thunder": 156, + "leftovers,noability,psychic,rest,sleeptalk,thunder": 793, + ",noability,encore,firepunch,psychic,thief": 145, + ",noability,hypnosis,psychic,thief,thunder": 162, + ",noability,firepunch,psychic,thief,thunder": 264, + "leftovers,noability,encore,firepunch,hypnosis,psychic": 132, + ",noability,firepunch,hypnosis,psychic,thief": 139, + "leftovers,noability,firepunch,hypnosis,psychic,thunder": 263, + ",noability,encore,psychic,thief,thunder": 127 + }, + "muk": { + "leftovers,noability,curse,explosion,hiddenpowerground,sludgebomb": 4600 + }, + "murkrow": { + ",noability,drillpeck,haze,hiddenpowerdark,thief": 966, + ",noability,drillpeck,hiddenpowerdark,thief,toxic": 1001, + "leftovers,noability,drillpeck,hiddenpowerdark,pursuit,toxic": 2111 + }, + "nidoking": { + "leftovers,noability,earthquake,icebeam,lovelykiss,thunder": 2178, + "leftovers,noability,earthquake,icebeam,morningsun,thunder": 1050, + "leftovers,noability,earthquake,fireblast,icebeam,morningsun": 1087 + }, + "nidoqueen": { + "leftovers,noability,earthquake,fireblast,icebeam,moonlight": 1073, + "leftovers,noability,earthquake,icebeam,lovelykiss,thunder": 2179, + "leftovers,noability,earthquake,icebeam,moonlight,thunder": 1040 + }, + "ninetales": { + "leftovers,noability,flamethrower,hiddenpowergrass,rest,sleeptalk": 1100, + "leftovers,noability,fireblast,rest,sleeptalk,sunnyday": 1087, + "leftovers,noability,flamethrower,rest,sleeptalk,sunnyday": 1104, + "leftovers,noability,fireblast,hiddenpowergrass,rest,sleeptalk": 1081 + }, + "noctowl": { + "leftovers,noability,curse,rest,return,sleeptalk": 950, + ",noability,hypnosis,return,thief,toxic": 667, + ",noability,return,thief,toxic,whirlwind": 642, + "leftovers,noability,nightshade,rest,return,sleeptalk": 1006, + ",noability,hypnosis,return,thief,whirlwind": 634 + }, + "octillery": { + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1401, + "leftovers,noability,flamethrower,rest,sleeptalk,surf": 1438, + "leftovers,noability,hiddenpowerelectric,rest,sleeptalk,surf": 1410 + }, + "omastar": { + "leftovers,noability,hiddenpowerelectric,rest,sleeptalk,surf": 1176, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1233, + "leftovers,noability,rest,sandstorm,sleeptalk,surf": 1282 + }, + "parasect": { + "leftovers,noability,bodyslam,hiddenpowerground,spore,swordsdance": 1022, + "leftovers,noability,hiddenpowerground,return,spore,swordsdance": 1056, + "leftovers,noability,hiddenpowerbug,spore,swordsdance,synthesis": 2116 + }, + "persian": { + ",noability,doubleedge,hypnosis,thief,thunder": 716, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1412, + "leftovers,noability,doubleedge,irontail,rest,sleeptalk": 788, + "leftovers,noability,doubleedge,rest,sleeptalk,thunder": 732, + ",noability,doubleedge,hypnosis,irontail,thief": 733 + }, + "pidgeot": { + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1233, + ",noability,hiddenpowerground,return,thief,toxic": 609, + "leftovers,noability,doubleedge,hiddenpowerwater,rest,sleeptalk": 639, + ",noability,hiddenpowerwater,return,thief,toxic": 618, + "leftovers,noability,doubleedge,hiddenpowerground,rest,sleeptalk": 650 + }, + "pikachu": { + "lightball,noability,hiddenpowerice,substitute,surf,thunderbolt": 773, + "lightball,noability,encore,hiddenpowerice,surf,thunderbolt": 772, + "lightball,noability,encore,hiddenpowerfire,surf,thunderbolt": 782, + "lightball,noability,hiddenpowerfire,substitute,surf,thunderbolt": 795, + "lightball,noability,hiddenpowerice,surf,thunder,thunderbolt": 1560 + }, + "piloswine": { + "leftovers,noability,earthquake,icebeam,rest,sleeptalk": 4591 + }, + "pinsir": { + "leftovers,noability,hiddenpowerground,return,substitute,swordsdance": 1424, + "leftovers,noability,hiddenpowerground,protect,return,swordsdance": 1458, + "mintberry,noability,hiddenpowerground,rest,return,swordsdance": 1436 + }, + "politoed": { + "leftovers,noability,growth,rest,sleeptalk,surf": 4270 + }, + "poliwhirl": { + "leftovers,noability,bellydrum,earthquake,hiddenpowerrock,lovelykiss": 1099, + "leftovers,noability,bellydrum,earthquake,lovelykiss,return": 1073, + "miracleberry,noability,bellydrum,earthquake,hiddenpowerrock,lovelykiss": 1108, + "miracleberry,noability,bellydrum,earthquake,lovelykiss,return": 1115 + }, + "poliwrath": { + "leftovers,noability,growth,rest,sleeptalk,surf": 465, + "miracleberry,noability,bellydrum,earthquake,hiddenpowerrock,lovelykiss": 699, + "leftovers,noability,bellydrum,earthquake,lovelykiss,return": 663, + "miracleberry,noability,bellydrum,earthquake,lovelykiss,return": 709, + "leftovers,noability,rest,sleeptalk,submission,surf": 482, + "leftovers,noability,earthquake,rest,sleeptalk,surf": 456, + "leftovers,noability,bellydrum,earthquake,hiddenpowerrock,lovelykiss": 674 + }, + "porygon2": { + "leftovers,noability,curse,doubleedge,recover,thunderwave": 1473, + "leftovers,noability,curse,doubleedge,icebeam,recover": 1487, + "leftovers,noability,curse,doubleedge,recover,thunder": 1511 + }, + "primeape": { + "leftovers,noability,crosschop,hiddenpowerghost,meditate,rockslide": 1116, + "mintberry,noability,crosschop,hiddenpowerghost,meditate,rest": 292, + "blackbelt,noability,meditate,reversal,rockslide,substitute": 1664, + "mintberry,noability,crosschop,meditate,rest,rockslide": 281, + "leftovers,noability,crosschop,meditate,rockslide,substitute": 244, + "leftovers,noability,crosschop,hiddenpowerghost,meditate,substitute": 266, + "leftovers,noability,crosschop,doubleedge,hiddenpowerghost,meditate": 555, + "leftovers,noability,crosschop,doubleedge,meditate,rockslide": 545 + }, + "quagsire": { + "leftovers,noability,earthquake,icebeam,rest,sleeptalk": 965, + "leftovers,noability,earthquake,rest,sleeptalk,surf": 1885, + "leftovers,noability,earthquake,rest,sleeptalk,sludgebomb": 929 + }, + "qwilfish": { + "leftovers,noability,curse,hiddenpowerground,hydropump,sludgebomb": 146, + "leftovers,noability,curse,hydropump,sludgebomb,spikes": 1213, + "leftovers,noability,haze,hydropump,sludgebomb,spikes": 1192, + "leftovers,noability,hiddenpowerground,hydropump,sludgebomb,spikes": 1222, + "leftovers,noability,haze,hiddenpowerground,hydropump,sludgebomb": 104 + }, + "raichu": { + "leftovers,noability,hiddenpowerice,rest,sleeptalk,thunder": 2421, + "leftovers,noability,rest,sleeptalk,surf,thunder": 2425 + }, + "raikou": { + "leftovers,noability,crunch,rest,sleeptalk,thunder": 2294, + "leftovers,noability,hiddenpowerice,rest,sleeptalk,thunder": 2351 + }, + "rapidash": { + "leftovers,noability,doubleedge,fireblast,rest,sleeptalk": 560, + "leftovers,noability,doubleedge,fireblast,hiddenpowergrass,hypnosis": 570, + "leftovers,noability,doubleedge,fireblast,hypnosis,sunnyday": 545, + "leftovers,noability,doubleedge,fireblast,hiddenpowergrass,sunnyday": 567, + "leftovers,noability,flamethrower,rest,sleeptalk,sunnyday": 594, + "leftovers,noability,doubleedge,flamethrower,rest,sleeptalk": 573, + "leftovers,noability,fireblast,rest,sleeptalk,sunnyday": 510, + "leftovers,noability,fireblast,hiddenpowergrass,hypnosis,sunnyday": 561 + }, + "raticate": { + "leftovers,noability,doubleedge,rest,sleeptalk,superfang": 1164, + "leftovers,noability,doubleedge,irontail,rest,sleeptalk": 1122, + "leftovers,noability,irontail,rest,return,sleeptalk": 1114, + "leftovers,noability,rest,return,sleeptalk,superfang": 1060 + }, + "rhydon": { + "leftovers,noability,earthquake,rest,rockslide,sleeptalk": 1012, + "leftovers,noability,curse,rest,rockslide,sleeptalk": 1947, + "leftovers,noability,curse,earthquake,roar,rockslide": 954 + }, + "sandslash": { + "leftovers,noability,earthquake,rest,rockslide,sleeptalk": 2409, + "leftovers,noability,earthquake,rockslide,substitute,swordsdance": 1159, + "leftovers,noability,earthquake,hiddenpowerbug,rockslide,swordsdance": 1171 + }, + "scizor": { + "leftovers,noability,agility,batonpass,hiddenpowerbug,swordsdance": 817, + "leftovers,noability,agility,hiddenpowerground,return,swordsdance": 1576, + "leftovers,noability,curse,hiddenpowersteel,rest,sleeptalk": 424, + "leftovers,noability,curse,hiddenpowerbug,rest,sleeptalk": 374, + "leftovers,noability,agility,batonpass,hiddenpowersteel,swordsdance": 791, + "leftovers,noability,hiddenpowersteel,rest,sleeptalk,swordsdance": 359, + "leftovers,noability,hiddenpowerbug,rest,sleeptalk,swordsdance": 401 + }, + "scyther": { + "leftovers,noability,batonpass,doubleedge,hiddenpowerground,swordsdance": 3620 + }, + "seaking": { + "leftovers,noability,agility,hydropump,return,swordsdance": 1029, + "leftovers,noability,hydropump,return,substitute,swordsdance": 1029, + "leftovers,noability,agility,hiddenpowerground,return,swordsdance": 1068, + "leftovers,noability,hiddenpowerground,return,substitute,swordsdance": 1032 + }, + "shuckle": { + "leftovers,noability,defensecurl,rest,rollout,toxic": 4473 + }, + "skarmory": { + "leftovers,noability,curse,drillpeck,rest,sleeptalk": 1943, + "leftovers,noability,curse,drillpeck,rest,whirlwind": 1013, + "leftovers,noability,curse,drillpeck,rest,toxic": 1011 + }, + "slowbro": { + "leftovers,noability,psychic,rest,sleeptalk,surf": 4047 + }, + "slowking": { + "leftovers,noability,psychic,rest,sleeptalk,surf": 3979 + }, + "smeargle": { + "leftovers,noability,agility,batonpass,spikes,spore": 2069, + "leftovers,noability,batonpass,spikes,spore,swordsdance": 2110, + "leftovers,noability,agility,batonpass,spore,swordsdance": 339 + }, + "sneasel": { + ",noability,dynamicpunch,moonlight,return,thief": 1463, + "leftovers,noability,dynamicpunch,icebeam,moonlight,return": 1479, + "leftovers,noability,hiddenpowerground,moonlight,return,toxic": 1434 + }, + "snorlax": { + "leftovers,noability,bodyslam,curse,earthquake,selfdestruct": 227, + "leftovers,noability,doubleedge,earthquake,rest,sleeptalk": 706, + "leftovers,noability,bodyslam,curse,earthquake,rest": 483, + "leftovers,noability,bodyslam,earthquake,lovelykiss,selfdestruct": 230, + "leftovers,noability,curse,earthquake,lovelykiss,return": 238, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 775, + "leftovers,noability,bodyslam,curse,earthquake,lovelykiss": 253, + "leftovers,noability,curse,earthquake,return,selfdestruct": 237, + "leftovers,noability,curse,earthquake,rest,return": 474, + "leftovers,noability,curse,doubleedge,earthquake,rest": 471, + "leftovers,noability,earthquake,lovelykiss,return,selfdestruct": 217 + }, + "stantler": { + "leftovers,noability,curse,rest,return,sleeptalk": 2275, + "leftovers,noability,earthquake,rest,return,sleeptalk": 2282 + }, + "starmie": { + "leftovers,noability,psychic,rapidspin,recover,surf": 671, + "leftovers,noability,psychic,recover,surf,thunderwave": 763, + "leftovers,noability,psychic,recover,surf,thunderbolt": 711, + "leftovers,noability,icebeam,psychic,recover,surf": 623, + "leftovers,noability,psychic,recover,surf,thunder": 649, + "leftovers,noability,icebeam,recover,surf,thunder": 690 + }, + "steelix": { + "leftovers,noability,curse,earthquake,explosion,roar": 760, + "leftovers,noability,curse,earthquake,irontail,rest": 1474, + "leftovers,noability,curse,earthquake,irontail,roar": 558, + "leftovers,noability,earthquake,irontail,rest,sleeptalk": 420, + "leftovers,noability,curse,earthquake,explosion,irontail": 735, + "leftovers,noability,curse,earthquake,rest,sleeptalk": 473 + }, + "sudowoodo": { + "leftovers,noability,curse,earthquake,rockslide,selfdestruct": 1470, + ",noability,earthquake,rockslide,selfdestruct,thief": 1520, + "leftovers,noability,curse,rest,rockslide,sleeptalk": 1453 + }, + "suicune": { + "leftovers,noability,icebeam,rest,roar,surf": 777, + "leftovers,noability,icebeam,rest,surf,toxic": 693, + "leftovers,noability,rest,roar,surf,toxic": 707, + "leftovers,noability,rest,sleeptalk,surf,toxic": 1058, + "leftovers,noability,icebeam,rest,sleeptalk,surf": 1072 + }, + "sunflora": { + "leftovers,noability,growth,hiddenpowerice,razorleaf,synthesis": 2380, + "leftovers,noability,growth,hiddenpowerfire,razorleaf,synthesis": 2315 + }, + "tangela": { + "leftovers,noability,gigadrain,growth,hiddenpowerfire,sleeppowder": 1187, + "leftovers,noability,gigadrain,growth,hiddenpowerfire,synthesis": 1153, + "leftovers,noability,gigadrain,growth,hiddenpowerice,synthesis": 1170, + "leftovers,noability,gigadrain,growth,hiddenpowerice,sleeppowder": 1169 + }, + "tauros": { + "leftovers,noability,curse,rest,return,sleeptalk": 1139, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 1129, + "leftovers,noability,doubleedge,earthquake,rest,sleeptalk": 1154, + "leftovers,noability,earthquake,rest,return,sleeptalk": 1147 + }, + "tentacruel": { + "leftovers,noability,hydropump,sludgebomb,substitute,swordsdance": 3851 + }, + "togetic": { + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 915, + "leftovers,noability,encore,fireblast,solarbeam,sunnyday": 906, + "leftovers,noability,doubleedge,fireblast,rest,sleeptalk": 875, + "leftovers,noability,fireblast,solarbeam,sunnyday,zapcannon": 970 + }, + "typhlosion": { + "leftovers,noability,earthquake,fireblast,sunnyday,thunderpunch": 2117, + "leftovers,noability,flamethrower,rest,sleeptalk,thunderpunch": 599, + "leftovers,noability,earthquake,flamethrower,rest,sleeptalk": 600, + "leftovers,noability,earthquake,fireblast,rest,sleeptalk": 608, + "leftovers,noability,fireblast,rest,sleeptalk,thunderpunch": 563 + }, + "tyranitar": { + "leftovers,noability,crunch,earthquake,fireblast,rockslide": 69, + "leftovers,noability,earthquake,rest,rockslide,sleeptalk": 720, + "leftovers,noability,curse,rest,rockslide,sleeptalk": 758, + "leftovers,noability,earthquake,icebeam,pursuit,rockslide": 77, + "leftovers,noability,curse,rest,roar,rockslide": 1516, + "leftovers,noability,crunch,icebeam,pursuit,rockslide": 66, + "leftovers,noability,earthquake,fireblast,pursuit,rockslide": 83, + "leftovers,noability,earthquake,fireblast,rockslide,thunderbolt": 71, + "leftovers,noability,crunch,pursuit,rockslide,thunderbolt": 69, + "leftovers,noability,fireblast,icebeam,rockslide,thunderbolt": 79, + "leftovers,noability,crunch,earthquake,pursuit,rockslide": 66, + "leftovers,noability,earthquake,icebeam,rockslide,thunderbolt": 71, + "leftovers,noability,crunch,fireblast,rockslide,thunderbolt": 54, + "leftovers,noability,earthquake,pursuit,rockslide,thunderbolt": 81, + "leftovers,noability,icebeam,pursuit,rockslide,thunderbolt": 94, + "leftovers,noability,crunch,fireblast,icebeam,rockslide": 89, + "leftovers,noability,crunch,icebeam,rockslide,thunderbolt": 78, + "leftovers,noability,fireblast,icebeam,pursuit,rockslide": 71, + "leftovers,noability,crunch,earthquake,rockslide,thunderbolt": 79, + "leftovers,noability,earthquake,fireblast,icebeam,rockslide": 65, + "leftovers,noability,crunch,earthquake,icebeam,rockslide": 59, + "leftovers,noability,crunch,fireblast,pursuit,rockslide": 69, + "leftovers,noability,fireblast,pursuit,rockslide,thunderbolt": 50 + }, + "umbreon": { + "leftovers,noability,batonpass,growth,hiddenpowerdark,moonlight": 4805 + }, + "unown": { + "leftovers,noability,hiddenpowerpsychic": 4739 + }, + "ursaring": { + "leftovers,noability,earthquake,rest,return,sleeptalk": 2239, + "leftovers,noability,curse,rest,return,sleeptalk": 2274 + }, + "vaporeon": { + "leftovers,noability,growth,rest,sleeptalk,surf": 4265 + }, + "venomoth": { + "leftovers,noability,batonpass,curse,sludgebomb,stunspore": 1493, + "leftovers,noability,gigadrain,hiddenpowerfire,psychic,sludgebomb": 452, + "leftovers,noability,batonpass,curse,sleeppowder,sludgebomb": 1432, + "leftovers,noability,hiddenpowerfire,psychic,sludgebomb,stunspore": 463, + "leftovers,noability,hiddenpowerfire,psychic,sleeppowder,sludgebomb": 497 + }, + "venusaur": { + "leftovers,noability,growth,hiddenpowerice,razorleaf,synthesis": 1235, + "leftovers,noability,growth,hiddenpowerfire,razorleaf,sleeppowder": 1175, + "leftovers,noability,growth,hiddenpowerice,razorleaf,sleeppowder": 1105, + "leftovers,noability,growth,hiddenpowerfire,razorleaf,synthesis": 1161 + }, + "victreebel": { + "leftovers,noability,hiddenpowerground,sleeppowder,sludgebomb,swordsdance": 2320, + "leftovers,noability,hiddenpowerground,sludgebomb,swordsdance,synthesis": 2277 + }, + "vileplume": { + "leftovers,noability,curse,moonlight,sludgebomb,stunspore": 1520, + "leftovers,noability,hiddenpowerground,sleeppowder,sludgebomb,swordsdance": 735, + "leftovers,noability,moonlight,razorleaf,sleeppowder,sludgebomb": 768, + "leftovers,noability,moonlight,razorleaf,sludgebomb,stunspore": 721, + "leftovers,noability,hiddenpowerground,moonlight,sludgebomb,swordsdance": 765 + }, + "weezing": { + "leftovers,noability,fireblast,painsplit,sludgebomb,thunder": 532, + "leftovers,noability,explosion,fireblast,sludgebomb,thunder": 1555, + "leftovers,noability,explosion,hiddenpowerwater,sludgebomb,thunder": 1498, + "leftovers,noability,haze,painsplit,sludgebomb,thunder": 519, + "leftovers,noability,hiddenpowerwater,painsplit,sludgebomb,thunder": 503 + }, + "wigglytuff": { + "leftovers,noability,doubleedge,rest,sleeptalk,thunder": 2208, + "leftovers,noability,curse,doubleedge,rest,sleeptalk": 2306 + }, + "wobbuffet": { + "leftovers,noability,counter,mimic,mirrorcoat,safeguard": 1 + }, + "xatu": { + "leftovers,noability,drillpeck,psychic,rest,sleeptalk": 1960, + ",noability,drillpeck,hiddenpowerfire,psychic,thief": 1000, + ",noability,confuseray,drillpeck,psychic,thief": 1016 + }, + "yanma": { + ",noability,gigadrain,hiddenpowerflying,return,thief": 1183, + "blackbelt,noability,endure,hiddenpowerflying,return,reversal": 1203, + ",noability,gigadrain,hiddenpowerbug,thief,wingattack": 1196 + }, + "zapdos": { + "leftovers,noability,hiddenpowerice,rest,sleeptalk,thunder": 4017 + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen3randombattle.json b/data/pkmn_sets/gen3randombattle.json new file mode 100644 index 000000000..a6db7d292 --- /dev/null +++ b/data/pkmn_sets/gen3randombattle.json @@ -0,0 +1,1717 @@ +{ + "absol": { + "choiceband,pressure,doubleedge,hiddenpowerfighting,quickattack,shadowball": 1482, + "leftovers,pressure,hiddenpowerfighting,quickattack,shadowball,swordsdance": 480, + "leftovers,pressure,batonpass,hiddenpowerfighting,shadowball,swordsdance": 488, + "salacberry,pressure,doubleedge,hiddenpowerfighting,shadowball,swordsdance": 512 + }, + "aerodactyl": { + "liechiberry,pressure,earthquake,hiddenpowerflying,rockslide,substitute": 1229, + "choiceband,rockhead,doubleedge,earthquake,hiddenpowerflying,rockslide": 1293 + }, + "aggron": { + "leftovers,rockhead,earthquake,irontail,rockslide,toxic": 457, + "leftovers,rockhead,focuspunch,irontail,rockslide,substitute": 637, + "leftovers,rockhead,earthquake,irontail,rockslide,thunderwave": 433, + "choiceband,rockhead,doubleedge,earthquake,irontail,rockslide": 1156 + }, + "aipom": { + "choiceband,runaway,batonpass,brickbreak,return,shadowball": 245, + "leftovers,runaway,batonpass,return,substitute,thunderwave": 65, + "leftovers,pickup,focuspunch,return,shadowball,substitute": 197, + "leftovers,runaway,focuspunch,return,shadowball,substitute": 175, + "leftovers,runaway,brickbreak,return,shadowball,substitute": 49, + "leftovers,pickup,brickbreak,return,shadowball,thunderwave": 155, + "choiceband,runaway,batonpass,brickbreak,doubleedge,shadowball": 271, + "leftovers,runaway,brickbreak,return,substitute,thunderwave": 65, + "leftovers,runaway,return,shadowball,substitute,thunderwave": 62, + "choiceband,pickup,batonpass,brickbreak,doubleedge,shadowball": 237, + "leftovers,runaway,batonpass,return,shadowball,substitute": 67, + "leftovers,runaway,batonpass,brickbreak,return,substitute": 59, + "leftovers,pickup,brickbreak,return,shadowball,toxic": 132, + "leftovers,pickup,brickbreak,return,substitute,thunderwave": 67, + "leftovers,runaway,batonpass,return,substitute,toxic": 37, + "leftovers,pickup,batonpass,return,substitute,toxic": 59, + "leftovers,runaway,brickbreak,return,shadowball,thunderwave": 136, + "choiceband,pickup,batonpass,brickbreak,return,shadowball": 233, + "leftovers,runaway,brickbreak,return,substitute,toxic": 58, + "leftovers,runaway,brickbreak,return,shadowball,toxic": 142, + "leftovers,pickup,batonpass,brickbreak,return,substitute": 39, + "leftovers,pickup,batonpass,return,substitute,thunderwave": 58, + "leftovers,pickup,batonpass,return,shadowball,substitute": 46, + "leftovers,pickup,return,shadowball,substitute,toxic": 51, + "leftovers,pickup,brickbreak,return,substitute,toxic": 54, + "leftovers,runaway,return,shadowball,substitute,toxic": 39, + "leftovers,pickup,return,shadowball,substitute,thunderwave": 66, + "leftovers,pickup,brickbreak,return,shadowball,substitute": 46 + }, + "alakazam": { + "leftovers,synchronize,calmmind,firepunch,psychic,substitute": 608, + "leftovers,synchronize,calmmind,firepunch,icepunch,psychic": 578, + "leftovers,synchronize,calmmind,encore,firepunch,psychic": 569, + "leftovers,synchronize,calmmind,firepunch,psychic,thunderpunch": 624, + "leftovers,synchronize,calmmind,firepunch,psychic,recover": 604 + }, + "altaria": { + "leftovers,naturalcure,dragonclaw,earthquake,rest,toxic": 74, + "leftovers,naturalcure,dragondance,earthquake,healbell,hiddenpowerflying": 415, + "leftovers,naturalcure,dragondance,earthquake,fireblast,hiddenpowerflying": 442, + "leftovers,naturalcure,dragonclaw,flamethrower,haze,rest": 57, + "leftovers,naturalcure,dragonclaw,earthquake,flamethrower,rest": 69, + "chestoberry,naturalcure,dragondance,earthquake,hiddenpowerflying,rest": 421, + "leftovers,naturalcure,dragonclaw,flamethrower,healbell,rest": 78, + "leftovers,naturalcure,dragonclaw,earthquake,healbell,toxic": 56, + "leftovers,naturalcure,dragonclaw,earthquake,haze,toxic": 75, + "leftovers,naturalcure,dragonclaw,earthquake,flamethrower,haze": 64, + "leftovers,naturalcure,dragonclaw,earthquake,flamethrower,toxic": 85, + "leftovers,naturalcure,dragonclaw,healbell,rest,toxic": 60, + "leftovers,naturalcure,dragonclaw,haze,healbell,rest": 58, + "leftovers,naturalcure,dragonclaw,haze,healbell,toxic": 58, + "leftovers,naturalcure,dragonclaw,flamethrower,haze,toxic": 72, + "leftovers,naturalcure,dragonclaw,earthquake,haze,healbell": 51, + "leftovers,naturalcure,dragonclaw,earthquake,flamethrower,healbell": 58, + "leftovers,naturalcure,dragonclaw,flamethrower,healbell,toxic": 61, + "leftovers,naturalcure,dragonclaw,flamethrower,haze,healbell": 73, + "leftovers,naturalcure,dragonclaw,flamethrower,rest,toxic": 83, + "leftovers,naturalcure,dragonclaw,earthquake,healbell,rest": 57, + "leftovers,naturalcure,dragonclaw,earthquake,haze,rest": 68, + "leftovers,naturalcure,dragonclaw,haze,rest,toxic": 59 + }, + "ampharos": { + "leftovers,static,firepunch,healbell,hiddenpowerice,thunderbolt": 944, + "leftovers,static,firepunch,hiddenpowerice,thunderbolt,toxic": 1089, + "leftovers,static,healbell,hiddenpowerice,thunderbolt,toxic": 958 + }, + "arbok": { + "choiceband,intimidate,earthquake,hiddenpowerghost,rockslide,sludgebomb": 1520, + "leftovers,intimidate,earthquake,rest,sleeptalk,sludgebomb": 1556 + }, + "arcanine": { + "leftovers,intimidate,flamethrower,rest,sleeptalk,toxic": 428, + "choiceband,intimidate,extremespeed,fireblast,hiddenpowerrock,irontail": 317, + "leftovers,intimidate,flamethrower,hiddenpowerrock,protect,toxic": 437, + "choiceband,intimidate,doubleedge,fireblast,hiddenpowerrock,irontail": 288, + "leftovers,intimidate,flamethrower,hiddenpowergrass,rest,sleeptalk": 491, + "choiceband,intimidate,doubleedge,extremespeed,fireblast,irontail": 371, + "leftovers,intimidate,flamethrower,hiddenpowergrass,protect,toxic": 464 + }, + "ariados": { + "leftovers,swarm,agility,batonpass,signalbeam,sludgebomb": 452, + "leftovers,insomnia,agility,batonpass,sludgebomb,spiderweb": 978, + "leftovers,insomnia,agility,batonpass,signalbeam,sludgebomb": 491, + "leftovers,insomnia,batonpass,signalbeam,spiderweb,toxic": 256, + "leftovers,swarm,batonpass,signalbeam,sludgebomb,spiderweb": 247, + "leftovers,swarm,batonpass,signalbeam,spiderweb,toxic": 221, + "leftovers,insomnia,batonpass,signalbeam,sludgebomb,spiderweb": 216 + }, + "armaldo": { + "leftovers,battlearmor,earthquake,hiddenpowerbug,rockslide,swordsdance": 983, + "choiceband,battlearmor,doubleedge,earthquake,hiddenpowerbug,rockslide": 1016, + "choiceband,battlearmor,earthquake,hiddenpowerbug,rapidspin,rockslide": 897 + }, + "articuno": { + "leftovers,pressure,hiddenpowerfire,icebeam,rest,sleeptalk": 1256, + "leftovers,pressure,hiddenpowerfire,icebeam,protect,toxic": 659, + "leftovers,pressure,healbell,icebeam,protect,toxic": 597 + }, + "azumarill": { + "choiceband,hugepower,brickbreak,doubleedge,hiddenpowerghost,hydropump": 708, + "leftovers,hugepower,hydropump,rest,return,sleeptalk": 673, + "leftovers,hugepower,doubleedge,hydropump,rest,sleeptalk": 674, + "choiceband,hugepower,brickbreak,hiddenpowerghost,hydropump,return": 659 + }, + "banette": { + "salacberry,insomnia,destinybond,endure,hiddenpowerfighting,shadowball": 1641, + "leftovers,insomnia,hiddenpowerfighting,knockoff,shadowball,willowisp": 510, + "leftovers,insomnia,doubleedge,hiddenpowerfighting,shadowball,willowisp": 547, + "choiceband,insomnia,doubleedge,hiddenpowerfighting,knockoff,shadowball": 481 + }, + "beautifly": { + "leftovers,swarm,hiddenpowerfire,morningsun,psychic,toxic": 2185 + }, + "beedrill": { + "salacberry,swarm,brickbreak,endure,hiddenpowerbug,swordsdance": 731, + "salacberry,swarm,endure,hiddenpowerbug,sludgebomb,swordsdance": 698, + "choiceband,swarm,brickbreak,doubleedge,hiddenpowerbug,sludgebomb": 509, + "salacberry,swarm,doubleedge,hiddenpowerbug,sludgebomb,swordsdance": 328, + "salacberry,swarm,brickbreak,doubleedge,sludgebomb,swordsdance": 326, + "salacberry,swarm,brickbreak,hiddenpowerbug,sludgebomb,swordsdance": 301 + }, + "bellossom": { + "leftovers,chlorophyll,hiddenpowerfire,magicalleaf,moonlight,stunspore": 969, + "leftovers,chlorophyll,hiddenpowerfire,leechseed,magicalleaf,moonlight": 930, + "leftovers,chlorophyll,hiddenpowerfire,magicalleaf,moonlight,sleeppowder": 1004 + }, + "blastoise": { + "leftovers,torrent,icebeam,refresh,surf,toxic": 164, + "leftovers,torrent,rest,sleeptalk,surf,toxic": 432, + "leftovers,torrent,icebeam,rest,sleeptalk,surf": 486, + "leftovers,torrent,icebeam,roar,surf,toxic": 143, + "leftovers,torrent,icebeam,rapidspin,roar,surf": 141, + "leftovers,torrent,protect,refresh,surf,toxic": 460, + "leftovers,torrent,icebeam,refresh,roar,surf": 155, + "leftovers,torrent,icebeam,protect,surf,toxic": 441, + "leftovers,torrent,icebeam,rapidspin,refresh,surf": 138, + "leftovers,torrent,icebeam,rapidspin,surf,toxic": 160 + }, + "blaziken": { + "leftovers,blaze,fireblast,hiddenpowerice,rockslide,skyuppercut": 184, + "salacberry,blaze,earthquake,fireblast,skyuppercut,swordsdance": 324, + "salacberry,blaze,endure,fireblast,reversal,swordsdance": 1004, + "choiceband,blaze,earthquake,fireblast,rockslide,skyuppercut": 332, + "leftovers,blaze,earthquake,fireblast,rockslide,skyuppercut": 156, + "leftovers,blaze,fireblast,hiddenpowerice,skyuppercut,thunderpunch": 169, + "salacberry,blaze,fireblast,rockslide,skyuppercut,swordsdance": 345, + "leftovers,blaze,fireblast,rockslide,skyuppercut,thunderpunch": 174, + "leftovers,blaze,earthquake,fireblast,hiddenpowerice,skyuppercut": 169, + "leftovers,blaze,earthquake,fireblast,skyuppercut,thunderpunch": 154 + }, + "blissey": { + "leftovers,naturalcure,protect,seismictoss,toxic,wish": 1424, + "leftovers,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 659, + "leftovers,naturalcure,seismictoss,softboiled,thunderwave,toxic": 793 + }, + "breloom": { + "leftovers,effectspore,focuspunch,hiddenpowerghost,spore,substitute": 697, + "leftovers,effectspore,hiddenpowerghost,skyuppercut,spore,swordsdance": 230, + "leftovers,effectspore,hiddenpowerrock,skyuppercut,spore,swordsdance": 273, + "leftovers,effectspore,focuspunch,hiddenpowerrock,spore,substitute": 730, + "leftovers,effectspore,hiddenpowerrock,skyuppercut,spore,substitute": 244, + "leftovers,effectspore,hiddenpowerghost,machpunch,skyuppercut,spore": 230, + "leftovers,effectspore,hiddenpowerrock,machpunch,skyuppercut,spore": 200, + "leftovers,effectspore,hiddenpowerghost,skyuppercut,spore,substitute": 219 + }, + "butterfree": { + "leftovers,compoundeyes,hiddenpowerfire,psychic,sleeppowder,toxic": 351, + "leftovers,compoundeyes,morningsun,psychic,sleeppowder,toxic": 377, + "leftovers,compoundeyes,hiddenpowerfire,morningsun,psychic,sleeppowder": 232, + "leftovers,compoundeyes,hiddenpowerfire,morningsun,psychic,toxic": 370, + "leftovers,compoundeyes,morningsun,psychic,sleeppowder,stunspore": 379, + "leftovers,compoundeyes,hiddenpowerfire,psychic,sleeppowder,stunspore": 342, + "leftovers,compoundeyes,hiddenpowerfire,morningsun,psychic,stunspore": 367 + }, + "cacturne": { + "leftovers,sandveil,hiddenpowerdark,needlearm,spikes,thunderpunch": 1326, + "leftovers,sandveil,focuspunch,hiddenpowerdark,leechseed,substitute": 1362 + }, + "camerupt": { + "leftovers,magmaarmor,earthquake,explosion,fireblast,toxic": 556, + "leftovers,magmaarmor,earthquake,fireblast,rockslide,toxic": 552, + "choiceband,magmaarmor,earthquake,explosion,fireblast,rockslide": 577, + "leftovers,magmaarmor,earthquake,fireblast,rest,sleeptalk": 1146 + }, + "castform": { + "leftovers,forecast,fireblast,icebeam,return,thunderwave": 669, + "leftovers,forecast,fireblast,return,thunderbolt,thunderwave": 608, + "leftovers,forecast,fireblast,icebeam,return,thunderbolt": 966, + "leftovers,forecast,icebeam,return,thunderbolt,thunderwave": 645 + }, + "celebi": { + "leftovers,naturalcure,calmmind,hiddenpowerfire,psychic,recover": 450, + "leftovers,naturalcure,calmmind,hiddenpowergrass,psychic,recover": 463, + "leftovers,naturalcure,leechseed,psychic,recover,toxic": 144, + "leftovers,naturalcure,batonpass,calmmind,psychic,recover": 421, + "leftovers,naturalcure,hiddenpowerfire,leechseed,psychic,recover": 176, + "leftovers,naturalcure,hiddenpowergrass,leechseed,psychic,recover": 165, + "leftovers,naturalcure,hiddenpowerfire,psychic,recover,toxic": 162, + "leftovers,naturalcure,healbell,hiddenpowerfire,psychic,recover": 144, + "leftovers,naturalcure,hiddenpowergrass,psychic,recover,toxic": 166, + "leftovers,naturalcure,healbell,psychic,recover,toxic": 124, + "leftovers,naturalcure,healbell,hiddenpowergrass,psychic,recover": 137, + "leftovers,naturalcure,healbell,leechseed,psychic,recover": 134 + }, + "charizard": { + "petayaberry,blaze,dragonclaw,fireblast,hiddenpowergrass,substitute": 817, + "lumberry,blaze,bellydrum,earthquake,hiddenpowerflying,rockslide": 399, + "lumberry,blaze,dragondance,earthquake,fireblast,hiddenpowerflying": 409, + "choiceband,blaze,earthquake,fireblast,hiddenpowerflying,rockslide": 407, + "salacberry,blaze,bellydrum,earthquake,hiddenpowerflying,substitute": 417 + }, + "chimecho": { + "leftovers,levitate,healbell,hiddenpowerfire,psychic,toxic": 1351, + "leftovers,levitate,calmmind,healbell,hiddenpowerfire,psychic": 1502, + "leftovers,levitate,calmmind,hiddenpowerfire,psychic,toxic": 201 + }, + "claydol": { + "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 287, + "leftovers,levitate,earthquake,explosion,icebeam,psychic": 271, + "leftovers,levitate,earthquake,explosion,psychic,rapidspin": 294, + "leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 275, + "leftovers,levitate,earthquake,explosion,icebeam,rapidspin": 294, + "leftovers,levitate,earthquake,explosion,psychic,toxic": 305, + "leftovers,levitate,earthquake,icebeam,psychic,rapidspin": 264, + "leftovers,levitate,earthquake,explosion,rapidspin,toxic": 275, + "leftovers,levitate,earthquake,icebeam,psychic,toxic": 304, + "leftovers,levitate,earthquake,explosion,icebeam,toxic": 290 + }, + "clefable": { + "leftovers,cutecharm,fireblast,return,softboiled,thunderwave": 286, + "leftovers,cutecharm,calmmind,icebeam,softboiled,thunderbolt": 1415, + "leftovers,cutecharm,fireblast,return,softboiled,toxic": 306, + "leftovers,cutecharm,return,shadowball,softboiled,thunderwave": 292, + "leftovers,cutecharm,fireblast,return,shadowball,softboiled": 240, + "leftovers,cutecharm,return,shadowball,softboiled,toxic": 260 + }, + "cloyster": { + "leftovers,shellarmor,explosion,icebeam,spikes,surf": 410, + "leftovers,shellarmor,explosion,rapidspin,spikes,surf": 384, + "leftovers,shellarmor,icebeam,spikes,surf,toxic": 446, + "leftovers,shellarmor,icebeam,rapidspin,spikes,surf": 402, + "leftovers,shellarmor,explosion,spikes,surf,toxic": 436, + "leftovers,shellarmor,rapidspin,spikes,surf,toxic": 381 + }, + "corsola": { + "leftovers,naturalcure,icebeam,recover,surf,toxic": 1192, + "leftovers,naturalcure,calmmind,icebeam,recover,surf": 1228 + }, + "cradily": { + "leftovers,suctioncups,earthquake,hiddenpowergrass,recover,rockslide": 1426, + "leftovers,suctioncups,earthquake,recover,rockslide,toxic": 1356 + }, + "crawdaunt": { + "leftovers,hypercutter,crunch,doubleedge,hiddenpowergrass,surf": 315, + "choiceband,hypercutter,brickbreak,doubleedge,hiddenpowerflying,surf": 468, + "leftovers,hypercutter,brickbreak,doubleedge,surf,swordsdance": 443, + "leftovers,hypercutter,crunch,doubleedge,hiddenpowerelectric,surf": 315, + "leftovers,hypercutter,doubleedge,hiddenpowerflying,surf,swordsdance": 408, + "leftovers,hypercutter,crunch,doubleedge,icebeam,surf": 350, + "leftovers,hypercutter,brickbreak,crunch,doubleedge,surf": 316 + }, + "crobat": { + "leftovers,innerfocus,haze,hiddenpowerground,sludgebomb,toxic": 433, + "leftovers,innerfocus,aerialace,haze,hiddenpowerground,sludgebomb": 420, + "leftovers,innerfocus,aerialace,hiddenpowerground,sludgebomb,toxic": 432, + "leftovers,innerfocus,haze,hiddenpowerground,shadowball,sludgebomb": 382, + "choiceband,innerfocus,aerialace,hiddenpowerground,shadowball,sludgebomb": 442, + "leftovers,innerfocus,hiddenpowerground,shadowball,sludgebomb,toxic": 397 + }, + "delcatty": { + "leftovers,cutecharm,batonpass,calmmind,icebeam,thunderbolt": 914, + "leftovers,cutecharm,doubleedge,protect,thunderwave,wish": 487, + "leftovers,cutecharm,doubleedge,protect,toxic,wish": 466, + "leftovers,cutecharm,bodyslam,healbell,protect,wish": 971 + }, + "delibird": { + "choiceband,hustle,aerialace,hiddenpowerground,icebeam,quickattack": 831, + "choiceband,hustle,aerialace,doubleedge,hiddenpowerground,icebeam": 792, + "choiceband,hustle,aerialace,focuspunch,hiddenpowerground,icebeam": 833 + }, + "deoxys": { + "whiteherb,pressure,firepunch,psychoboost,shadowball,superpower": 527, + "whiteherb,pressure,icebeam,psychoboost,shadowball,superpower": 474, + "choiceband,pressure,extremespeed,psychoboost,shadowball,superpower": 477 + }, + "deoxysattack": { + "whiteherb,pressure,icebeam,psychoboost,shadowball,superpower": 512, + "whiteherb,pressure,firepunch,psychoboost,shadowball,superpower": 499, + "choiceband,pressure,extremespeed,psychoboost,shadowball,superpower": 502 + }, + "deoxysdefense": { + "leftovers,pressure,recover,seismictoss,spikes,toxic": 1432 + }, + "deoxysspeed": { + "leftovers,pressure,calmmind,firepunch,icebeam,psychic": 271, + "leftovers,pressure,psychoboost,recover,spikes,superpower": 366, + "leftovers,pressure,psychoboost,recover,spikes,toxic": 346, + "leftovers,pressure,calmmind,firepunch,psychic,recover": 224, + "leftovers,pressure,calmmind,firepunch,psychic,substitute": 257 + }, + "dewgong": { + "leftovers,thickfat,encore,icebeam,surf,toxic": 637, + "leftovers,thickfat,icebeam,protect,surf,toxic": 1257, + "leftovers,thickfat,icebeam,rest,sleeptalk,surf": 610 + }, + "ditto": { + "leftovers,limber,transform": 2517 + }, + "dodrio": { + "liechiberry,earlybird,drillpeck,flail,hiddenpowerground,substitute": 668, + "choiceband,earlybird,drillpeck,hiddenpowerground,quickattack,return": 633, + "choiceband,earlybird,doubleedge,drillpeck,hiddenpowerground,quickattack": 602, + "liechiberry,earlybird,drillpeck,flail,quickattack,substitute": 604 + }, + "donphan": { + "leftovers,sturdy,earthquake,rest,rockslide,sleeptalk": 1556, + "leftovers,sturdy,earthquake,rapidspin,rockslide,toxic": 1429 + }, + "dragonite": { + "leftovers,innerfocus,dragondance,earthquake,hiddenpowerflying,substitute": 358, + "choiceband,innerfocus,brickbreak,earthquake,fireblast,hiddenpowerflying": 461, + "choiceband,innerfocus,brickbreak,doubleedge,earthquake,hiddenpowerflying": 460, + "choiceband,innerfocus,doubleedge,earthquake,fireblast,hiddenpowerflying": 425, + "lumberry,innerfocus,doubleedge,dragondance,earthquake,hiddenpowerflying": 346, + "leftovers,innerfocus,dragondance,earthquake,healbell,hiddenpowerflying": 333, + "chestoberry,innerfocus,dragondance,earthquake,hiddenpowerflying,rest": 319 + }, + "dugtrio": { + "choiceband,arenatrap,earthquake,hiddenpowerbug,rockslide,sludgebomb": 2960 + }, + "dunsparce": { + "leftovers,serenegrace,earthquake,headbutt,shadowball,thunderwave": 1387, + "chestoberry,serenegrace,bodyslam,curse,earthquake,rest": 443, + "chestoberry,serenegrace,bodyslam,curse,rest,shadowball": 448, + "leftovers,serenegrace,bodyslam,curse,earthquake,shadowball": 483 + }, + "dusclops": { + "leftovers,pressure,focuspunch,shadowball,substitute,willowisp": 258, + "leftovers,pressure,rest,seismictoss,sleeptalk,willowisp": 1017, + "leftovers,pressure,focuspunch,painsplit,shadowball,substitute": 253, + "leftovers,pressure,rest,seismictoss,shadowball,sleeptalk": 1068, + "leftovers,pressure,icebeam,painsplit,shadowball,willowisp": 288, + "leftovers,pressure,focuspunch,icebeam,shadowball,substitute": 231 + }, + "dustox": { + "leftovers,shielddust,hiddenpowerground,moonlight,sludgebomb,toxic": 1474, + "leftovers,shielddust,moonlight,sludgebomb,toxic,whirlwind": 1473 + }, + "electabuzz": { + "petayaberry,static,firepunch,icepunch,substitute,thunderbolt": 754, + "leftovers,static,firepunch,hiddenpowergrass,icepunch,thunderbolt": 313, + "leftovers,static,focuspunch,icepunch,substitute,thunderbolt": 647, + "petayaberry,static,hiddenpowergrass,icepunch,substitute,thunderbolt": 783, + "leftovers,static,crosschop,hiddenpowergrass,icepunch,thunderbolt": 315, + "leftovers,static,crosschop,firepunch,icepunch,thunderbolt": 336 + }, + "electrode": { + "leftovers,static,hiddenpowerice,substitute,thunderbolt,toxic": 996, + "leftovers,static,explosion,hiddenpowerice,thunderbolt,toxic": 963, + "leftovers,static,explosion,hiddenpowerice,substitute,thunderbolt": 1048 + }, + "entei": { + "leftovers,pressure,flamethrower,protect,substitute,toxic": 988, + "leftovers,pressure,calmmind,flamethrower,hiddenpowergrass,substitute": 975, + "leftovers,pressure,flamethrower,rest,sleeptalk,toxic": 945 + }, + "espeon": { + "leftovers,synchronize,batonpass,calmmind,hiddenpowerfire,psychic": 975, + "leftovers,synchronize,calmmind,hiddenpowerfire,psychic,substitute": 960, + "leftovers,synchronize,calmmind,hiddenpowerfire,morningsun,psychic": 1037 + }, + "exeggutor": { + "leftovers,chlorophyll,hiddenpowerfire,psychic,solarbeam,sunnyday": 912, + "leftovers,chlorophyll,gigadrain,hiddenpowerfire,psychic,synthesis": 328, + "leftovers,chlorophyll,hiddenpowerfire,psychic,sleeppowder,synthesis": 167, + "leftovers,chlorophyll,explosion,gigadrain,psychic,sleeppowder": 65, + "leftovers,chlorophyll,hiddenpowerfire,psychic,stunspore,synthesis": 133, + "leftovers,chlorophyll,gigadrain,psychic,sleeppowder,synthesis": 153, + "leftovers,chlorophyll,explosion,gigadrain,hiddenpowerfire,psychic": 96, + "leftovers,chlorophyll,explosion,gigadrain,psychic,stunspore": 43, + "leftovers,chlorophyll,explosion,hiddenpowerfire,psychic,stunspore": 46, + "leftovers,chlorophyll,gigadrain,hiddenpowerfire,psychic,sleeppowder": 97, + "leftovers,chlorophyll,gigadrain,psychic,sleeppowder,stunspore": 50, + "leftovers,chlorophyll,gigadrain,hiddenpowerfire,psychic,stunspore": 99, + "leftovers,chlorophyll,hiddenpowerfire,leechseed,psychic,substitute": 139, + "leftovers,chlorophyll,gigadrain,leechseed,psychic,substitute": 141, + "leftovers,chlorophyll,explosion,hiddenpowerfire,psychic,sleeppowder": 53, + "leftovers,chlorophyll,hiddenpowerfire,psychic,sleeppowder,stunspore": 50, + "leftovers,chlorophyll,gigadrain,psychic,stunspore,synthesis": 155 + }, + "exploud": { + "choiceband,soundproof,earthquake,overheat,return,shadowball": 674, + "leftovers,soundproof,earthquake,flamethrower,icebeam,return": 225, + "leftovers,soundproof,earthquake,flamethrower,return,substitute": 238, + "choiceband,soundproof,doubleedge,earthquake,overheat,shadowball": 718, + "leftovers,soundproof,earthquake,flamethrower,return,shadowball": 254, + "leftovers,soundproof,earthquake,icebeam,return,substitute": 245, + "leftovers,soundproof,earthquake,return,shadowball,substitute": 227, + "leftovers,soundproof,earthquake,icebeam,return,shadowball": 256 + }, + "farfetchd": { + "stick,innerfocus,agility,batonpass,return,swordsdance": 2397 + }, + "fearow": { + "choiceband,keeneye,drillpeck,hiddenpowerground,quickattack,return": 1287, + "choiceband,keeneye,doubleedge,drillpeck,hiddenpowerground,quickattack": 1220 + }, + "feraligatr": { + "salacberry,torrent,earthquake,hiddenpowerflying,hydropump,swordsdance": 939, + "salacberry,torrent,earthquake,hydropump,rockslide,swordsdance": 944, + "choiceband,torrent,earthquake,hiddenpowerflying,hydropump,rockslide": 957 + }, + "flareon": { + "choiceband,flashfire,doubleedge,fireblast,hiddenpowerrock,irontail": 110, + "choiceband,flashfire,doubleedge,fireblast,irontail,shadowball": 95, + "leftovers,flashfire,doubleedge,fireblast,hiddenpowergrass,shadowball": 105, + "leftovers,flashfire,flamethrower,hiddenpowergrass,protect,wish": 724, + "choiceband,flashfire,fireblast,hiddenpowerrock,irontail,shadowball": 118, + "leftovers,flashfire,flamethrower,protect,toxic,wish": 721, + "leftovers,flashfire,fireblast,hiddenpowergrass,shadowball,toxic": 92, + "leftovers,flashfire,fireblast,hiddenpowerrock,shadowball,toxic": 77, + "leftovers,flashfire,doubleedge,fireblast,shadowball,toxic": 43, + "leftovers,flashfire,fireblast,hiddenpowergrass,irontail,toxic": 85, + "leftovers,flashfire,fireblast,irontail,shadowball,toxic": 61, + "leftovers,flashfire,doubleedge,fireblast,hiddenpowergrass,toxic": 90, + "leftovers,flashfire,fireblast,hiddenpowergrass,irontail,shadowball": 123, + "leftovers,flashfire,doubleedge,fireblast,hiddenpowergrass,irontail": 122, + "choiceband,flashfire,doubleedge,fireblast,hiddenpowerrock,shadowball": 101, + "leftovers,flashfire,doubleedge,fireblast,hiddenpowerrock,toxic": 103, + "leftovers,flashfire,fireblast,hiddenpowerrock,irontail,toxic": 92, + "leftovers,flashfire,doubleedge,fireblast,irontail,toxic": 46 + }, + "flygon": { + "leftovers,levitate,earthquake,fireblast,protect,toxic": 465, + "leftovers,levitate,dragonclaw,earthquake,protect,toxic": 447, + "leftovers,levitate,dragonclaw,earthquake,fireblast,toxic": 93, + "leftovers,levitate,earthquake,fireblast,rockslide,toxic": 113, + "choiceband,levitate,earthquake,hiddenpowerbug,quickattack,rockslide": 944, + "leftovers,levitate,dragonclaw,earthquake,fireblast,substitute": 120, + "leftovers,levitate,dragonclaw,earthquake,fireblast,rockslide": 152, + "leftovers,levitate,earthquake,fireblast,rockslide,substitute": 113, + "leftovers,levitate,dragonclaw,earthquake,rockslide,toxic": 107, + "leftovers,levitate,earthquake,fireblast,substitute,toxic": 48, + "leftovers,levitate,dragonclaw,earthquake,rockslide,substitute": 112, + "leftovers,levitate,earthquake,rockslide,substitute,toxic": 58, + "leftovers,levitate,dragonclaw,earthquake,substitute,toxic": 48 + }, + "forretress": { + "leftovers,sturdy,hiddenpowerbug,rapidspin,spikes,toxic": 242, + "leftovers,sturdy,earthquake,hiddenpowerbug,rapidspin,spikes": 222, + "leftovers,sturdy,explosion,hiddenpowersteel,spikes,toxic": 269, + "leftovers,sturdy,earthquake,hiddenpowersteel,spikes,toxic": 314, + "leftovers,sturdy,earthquake,explosion,hiddenpowersteel,spikes": 275, + "leftovers,sturdy,hiddenpowersteel,rapidspin,spikes,toxic": 238, + "leftovers,sturdy,explosion,hiddenpowerbug,rapidspin,spikes": 265, + "leftovers,sturdy,explosion,hiddenpowersteel,rapidspin,spikes": 244, + "leftovers,sturdy,earthquake,hiddenpowersteel,rapidspin,spikes": 255, + "leftovers,sturdy,explosion,hiddenpowerbug,spikes,toxic": 235, + "leftovers,sturdy,earthquake,hiddenpowerbug,spikes,toxic": 250, + "leftovers,sturdy,earthquake,explosion,hiddenpowerbug,spikes": 257 + }, + "furret": { + "liechiberry,keeneye,return,reversal,shadowball,substitute": 904, + "choiceband,keeneye,brickbreak,doubleedge,quickattack,shadowball": 450, + "choiceband,keeneye,brickbreak,return,shadowball,trick": 467, + "choiceband,keeneye,brickbreak,quickattack,return,shadowball": 451, + "choiceband,keeneye,brickbreak,doubleedge,shadowball,trick": 462 + }, + "gardevoir": { + "leftovers,trace,calmmind,firepunch,hypnosis,psychic": 740, + "leftovers,trace,calmmind,firepunch,psychic,thunderbolt": 712, + "leftovers,trace,calmmind,firepunch,icepunch,psychic": 767, + "leftovers,trace,calmmind,firepunch,psychic,substitute": 745 + }, + "gengar": { + "leftovers,levitate,destinybond,icepunch,substitute,thunderbolt": 356, + "leftovers,levitate,explosion,icepunch,thunderbolt,willowisp": 377, + "leftovers,levitate,destinybond,icepunch,thunderbolt,willowisp": 361, + "leftovers,levitate,icepunch,substitute,thunderbolt,willowisp": 307, + "leftovers,levitate,firepunch,icepunch,substitute,thunderbolt": 308, + "leftovers,levitate,firepunch,icepunch,thunderbolt,willowisp": 297, + "leftovers,levitate,explosion,icepunch,substitute,thunderbolt": 356, + "leftovers,levitate,explosion,firepunch,icepunch,thunderbolt": 333, + "leftovers,levitate,destinybond,firepunch,icepunch,thunderbolt": 330 + }, + "girafarig": { + "leftovers,earlybird,calmmind,hiddenpowerfire,psychic,thunderbolt": 332, + "leftovers,earlybird,doubleedge,earthquake,protect,wish": 54, + "choiceband,earlybird,earthquake,return,shadowball,thunderbolt": 34, + "leftovers,earlybird,earthquake,return,thunderbolt,toxic": 29, + "leftovers,earlybird,doubleedge,protect,thunderbolt,wish": 49, + "leftovers,earlybird,calmmind,hiddenpowerfire,psychic,rest": 165, + "leftovers,earlybird,calmmind,psychic,rest,thunderbolt": 174, + "leftovers,earlybird,batonpass,calmmind,psychic,thunderbolt": 188, + "leftovers,earlybird,batonpass,calmmind,hiddenpowerfire,psychic": 170, + "leftovers,earlybird,earthquake,return,shadowball,thunderwave": 38, + "leftovers,earlybird,earthquake,psychic,return,thunderbolt": 41, + "leftovers,earlybird,return,shadowball,thunderbolt,toxic": 30, + "leftovers,earlybird,psychic,return,shadowball,thunderwave": 31, + "choiceband,earlybird,doubleedge,earthquake,psychic,shadowball": 30, + "leftovers,earlybird,doubleedge,psychic,thunderbolt,thunderwave": 31, + "leftovers,earlybird,doubleedge,earthquake,psychic,thunderbolt": 34, + "leftovers,earlybird,protect,return,thunderbolt,wish": 62, + "leftovers,earlybird,doubleedge,earthquake,shadowball,thunderwave": 28, + "leftovers,earlybird,doubleedge,earthquake,psychic,thunderwave": 23, + "leftovers,earlybird,doubleedge,protect,shadowball,wish": 48, + "leftovers,earlybird,calmmind,hiddenpowerfire,psychic,substitute": 167, + "leftovers,earlybird,calmmind,psychic,substitute,thunderbolt": 147, + "leftovers,earlybird,earthquake,protect,return,wish": 60, + "leftovers,earlybird,psychic,return,thunderbolt,thunderwave": 21, + "leftovers,earlybird,doubleedge,protect,psychic,wish": 46, + "leftovers,earlybird,doubleedge,psychic,thunderbolt,toxic": 28, + "leftovers,earlybird,doubleedge,earthquake,shadowball,toxic": 23, + "leftovers,earlybird,psychic,return,thunderbolt,toxic": 36, + "leftovers,earlybird,earthquake,return,shadowball,toxic": 31, + "leftovers,earlybird,doubleedge,earthquake,thunderbolt,thunderwave": 33, + "leftovers,earlybird,doubleedge,shadowball,thunderbolt,toxic": 34, + "leftovers,earlybird,psychic,return,shadowball,thunderbolt": 25, + "leftovers,earlybird,doubleedge,earthquake,thunderbolt,toxic": 32, + "leftovers,earlybird,protect,psychic,return,wish": 48, + "leftovers,earlybird,doubleedge,earthquake,psychic,toxic": 19, + "leftovers,earlybird,psychic,return,shadowball,toxic": 33, + "leftovers,earlybird,doubleedge,psychic,shadowball,thunderbolt": 39, + "leftovers,earlybird,earthquake,return,thunderbolt,thunderwave": 26, + "leftovers,earlybird,return,shadowball,thunderbolt,thunderwave": 16, + "leftovers,earlybird,doubleedge,shadowball,thunderbolt,thunderwave": 24, + "leftovers,earlybird,doubleedge,psychic,shadowball,thunderwave": 32, + "leftovers,earlybird,doubleedge,psychic,shadowball,toxic": 25, + "leftovers,earlybird,earthquake,psychic,return,thunderwave": 35, + "choiceband,earlybird,earthquake,psychic,return,shadowball": 37, + "leftovers,earlybird,protect,return,shadowball,wish": 45, + "leftovers,earlybird,earthquake,psychic,return,toxic": 26, + "choiceband,earlybird,doubleedge,earthquake,shadowball,thunderbolt": 30 + }, + "glalie": { + "leftovers,innerfocus,explosion,icebeam,spikes,toxic": 941, + "leftovers,innerfocus,earthquake,explosion,icebeam,spikes": 923, + "leftovers,innerfocus,earthquake,icebeam,spikes,toxic": 928 + }, + "gligar": { + "salacberry,hypercutter,earthquake,hiddenpowerflying,substitute,swordsdance": 804, + "leftovers,hypercutter,earthquake,hiddenpowerflying,quickattack,swordsdance": 823, + "salacberry,hypercutter,earthquake,hiddenpowerflying,rockslide,swordsdance": 868 + }, + "golduck": { + "leftovers,cloudnine,calmmind,hiddenpowerelectric,icebeam,surf": 352, + "leftovers,cloudnine,calmmind,hydropump,icebeam,substitute": 327, + "leftovers,cloudnine,calmmind,hiddenpowerelectric,hydropump,icebeam": 324, + "leftovers,cloudnine,calmmind,hypnosis,icebeam,surf": 349, + "leftovers,cloudnine,calmmind,icebeam,substitute,surf": 346, + "leftovers,cloudnine,calmmind,hiddenpowergrass,hydropump,icebeam": 329, + "leftovers,cloudnine,calmmind,hydropump,hypnosis,icebeam": 357, + "leftovers,cloudnine,calmmind,hiddenpowergrass,icebeam,surf": 350 + }, + "golem": { + "choiceband,rockhead,earthquake,explosion,hiddenpowerbug,rockslide": 227, + "leftovers,rockhead,earthquake,protect,rockslide,toxic": 1170, + "choiceband,rockhead,doubleedge,earthquake,explosion,rockslide": 217, + "leftovers,rockhead,earthquake,hiddenpowerbug,rockslide,toxic": 191, + "choiceband,rockhead,doubleedge,earthquake,hiddenpowerbug,rockslide": 242, + "leftovers,rockhead,doubleedge,earthquake,rockslide,toxic": 241, + "leftovers,rockhead,earthquake,explosion,rockslide,toxic": 234 + }, + "gorebyss": { + "petayaberry,swiftswim,hiddenpowerelectric,hydropump,icebeam,raindance": 692, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 696, + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 685, + "petayaberry,swiftswim,hiddenpowerelectric,icebeam,raindance,surf": 669 + }, + "granbull": { + "leftovers,intimidate,doubleedge,earthquake,rest,sleeptalk": 468, + "leftovers,intimidate,earthquake,healbell,return,shadowball": 319, + "leftovers,intimidate,earthquake,rest,return,sleeptalk": 484, + "leftovers,intimidate,bulkup,doubleedge,earthquake,shadowball": 350, + "choiceband,intimidate,doubleedge,earthquake,overheat,shadowball": 626, + "leftovers,intimidate,earthquake,return,shadowball,thunderwave": 331, + "leftovers,intimidate,earthquake,healbell,return,thunderwave": 309 + }, + "groudon": { + "leftovers,drought,earthquake,hiddenpowerbug,rockslide,thunderwave": 281, + "choiceband,drought,earthquake,hiddenpowerbug,overheat,rockslide": 311, + "salacberry,drought,earthquake,overheat,rockslide,swordsdance": 290, + "leftovers,drought,earthquake,rockslide,swordsdance,thunderwave": 293, + "leftovers,drought,earthquake,rockslide,substitute,thunderwave": 294, + "leftovers,drought,earthquake,overheat,rockslide,thunderwave": 297, + "salacberry,drought,earthquake,hiddenpowerbug,rockslide,swordsdance": 291, + "leftovers,drought,earthquake,hiddenpowerbug,rockslide,substitute": 271, + "salacberry,drought,earthquake,rockslide,substitute,swordsdance": 309, + "leftovers,drought,earthquake,overheat,rockslide,substitute": 269 + }, + "grumpig": { + "leftovers,thickfat,calmmind,firepunch,psychic,substitute": 1496, + "leftovers,thickfat,calmmind,firepunch,psychic,thunderpunch": 1543 + }, + "gyarados": { + "leftovers,intimidate,dragondance,earthquake,hiddenpowerflying,substitute": 625, + "lumberry,intimidate,dragondance,earthquake,hiddenpowerflying,hydropump": 642, + "choiceband,intimidate,doubleedge,earthquake,hiddenpowerflying,hydropump": 620, + "lumberry,intimidate,doubleedge,dragondance,earthquake,hiddenpowerflying": 671 + }, + "hariyama": { + "leftovers,guts,bulkup,crosschop,earthquake,rockslide": 124, + "leftovers,guts,crosschop,hiddenpowerghost,knockoff,rockslide": 114, + "leftovers,guts,crosschop,hiddenpowerghost,rest,sleeptalk": 784, + "leftovers,guts,crosschop,rest,rockslide,sleeptalk": 801, + "leftovers,thickfat,crosschop,earthquake,knockoff,rockslide": 119, + "leftovers,thickfat,bulkup,crosschop,earthquake,rockslide": 117, + "choiceband,thickfat,crosschop,earthquake,hiddenpowerghost,rockslide": 118, + "leftovers,guts,crosschop,earthquake,knockoff,rockslide": 108, + "leftovers,thickfat,crosschop,hiddenpowerghost,knockoff,rockslide": 103, + "leftovers,guts,crosschop,earthquake,hiddenpowerghost,knockoff": 118, + "leftovers,thickfat,bulkup,crosschop,earthquake,hiddenpowerghost": 107, + "leftovers,thickfat,bulkup,crosschop,hiddenpowerghost,rockslide": 128, + "choiceband,guts,crosschop,earthquake,hiddenpowerghost,rockslide": 135, + "leftovers,guts,bulkup,crosschop,hiddenpowerghost,rockslide": 102, + "leftovers,guts,bulkup,crosschop,earthquake,hiddenpowerghost": 117, + "leftovers,thickfat,crosschop,earthquake,hiddenpowerghost,knockoff": 101 + }, + "heracross": { + "salacberry,guts,brickbreak,megahorn,rockslide,swordsdance": 941, + "salacberry,swarm,megahorn,reversal,rockslide,substitute": 462, + "salacberry,swarm,endure,megahorn,reversal,rockslide": 463, + "choiceband,guts,brickbreak,earthquake,megahorn,rockslide": 512, + "choiceband,guts,brickbreak,hiddenpowerghost,megahorn,rockslide": 475 + }, + "hitmonchan": { + "choiceband,keeneye,hiddenpowerghost,rapidspin,rockslide,skyuppercut": 219, + "choiceband,keeneye,hiddenpowerghost,machpunch,rapidspin,skyuppercut": 194, + "leftovers,keeneye,hiddenpowerghost,machpunch,skyuppercut,toxic": 237, + "leftovers,keeneye,hiddenpowerghost,rapidspin,skyuppercut,toxic": 236, + "leftovers,keeneye,bulkup,hiddenpowerghost,rockslide,skyuppercut": 265, + "choiceband,keeneye,earthquake,hiddenpowerghost,machpunch,skyuppercut": 191, + "leftovers,keeneye,bulkup,earthquake,hiddenpowerghost,skyuppercut": 283, + "leftovers,keeneye,hiddenpowerghost,rockslide,skyuppercut,toxic": 244, + "leftovers,keeneye,earthquake,hiddenpowerghost,skyuppercut,toxic": 230, + "leftovers,keeneye,bulkup,hiddenpowerghost,machpunch,skyuppercut": 270, + "choiceband,keeneye,earthquake,hiddenpowerghost,rapidspin,skyuppercut": 239, + "choiceband,keeneye,earthquake,hiddenpowerghost,rockslide,skyuppercut": 206, + "choiceband,keeneye,hiddenpowerghost,machpunch,rockslide,skyuppercut": 205 + }, + "hitmonlee": { + "salacberry,limber,hiddenpowerghost,reversal,rockslide,substitute": 761, + "salacberry,limber,earthquake,hiddenpowerghost,reversal,substitute": 736, + "leftovers,limber,brickbreak,bulkup,earthquake,hiddenpowerghost": 270, + "choiceband,limber,brickbreak,hiddenpowerghost,machpunch,rockslide": 256, + "choiceband,limber,brickbreak,earthquake,hiddenpowerghost,machpunch": 256, + "leftovers,limber,brickbreak,bulkup,hiddenpowerghost,rockslide": 244, + "choiceband,limber,brickbreak,earthquake,hiddenpowerghost,rockslide": 240, + "leftovers,limber,brickbreak,bulkup,hiddenpowerghost,machpunch": 242 + }, + "hitmontop": { + "leftovers,intimidate,brickbreak,bulkup,earthquake,hiddenpowerghost": 267, + "leftovers,intimidate,brickbreak,hiddenpowerghost,rockslide,toxic": 243, + "choiceband,intimidate,brickbreak,earthquake,hiddenpowerghost,rockslide": 237, + "leftovers,intimidate,brickbreak,bulkup,hiddenpowerghost,machpunch": 277, + "choiceband,intimidate,brickbreak,earthquake,hiddenpowerghost,machpunch": 209, + "choiceband,intimidate,brickbreak,hiddenpowerghost,machpunch,rapidspin": 231, + "leftovers,intimidate,brickbreak,earthquake,hiddenpowerghost,toxic": 258, + "choiceband,intimidate,brickbreak,earthquake,hiddenpowerghost,rapidspin": 221, + "leftovers,intimidate,brickbreak,hiddenpowerghost,machpunch,toxic": 235, + "choiceband,intimidate,brickbreak,hiddenpowerghost,machpunch,rockslide": 197, + "leftovers,intimidate,brickbreak,hiddenpowerghost,rapidspin,toxic": 277, + "leftovers,intimidate,brickbreak,bulkup,hiddenpowerghost,rockslide": 277, + "choiceband,intimidate,brickbreak,hiddenpowerghost,rapidspin,rockslide": 221 + }, + "hooh": { + "leftovers,pressure,calmmind,recover,sacredfire,thunderbolt": 1201, + "leftovers,pressure,earthquake,recover,sacredfire,thunderbolt": 381, + "leftovers,pressure,recover,sacredfire,thunderbolt,toxic": 230, + "leftovers,pressure,earthquake,recover,sacredfire,substitute": 222, + "leftovers,pressure,earthquake,recover,sacredfire,toxic": 205, + "leftovers,pressure,recover,sacredfire,substitute,thunderbolt": 191 + }, + "houndoom": { + "leftovers,flashfire,crunch,fireblast,pursuit,willowisp": 462, + "leftovers,flashfire,crunch,fireblast,hiddenpowergrass,pursuit": 418, + "petayaberry,flashfire,crunch,fireblast,hiddenpowergrass,substitute": 1314, + "leftovers,flashfire,crunch,fireblast,hiddenpowergrass,willowisp": 427 + }, + "huntail": { + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 504, + "leftovers,swiftswim,doubleedge,hydropump,icebeam,raindance": 448, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 487, + "petayaberry,swiftswim,hiddenpowerelectric,hydropump,icebeam,raindance": 445, + "leftovers,swiftswim,doubleedge,icebeam,raindance,surf": 445, + "petayaberry,swiftswim,hiddenpowerelectric,icebeam,raindance,surf": 467 + }, + "hypno": { + "leftovers,insomnia,protect,psychic,toxic,wish": 455, + "leftovers,insomnia,firepunch,protect,psychic,wish": 512, + "leftovers,insomnia,batonpass,calmmind,firepunch,psychic": 983, + "leftovers,insomnia,protect,seismictoss,toxic,wish": 1040 + }, + "illumise": { + "leftovers,oblivious,encore,seismictoss,substitute,toxic": 306, + "leftovers,oblivious,encore,moonlight,seismictoss,thunderwave": 811, + "leftovers,oblivious,encore,seismictoss,substitute,thunderwave": 275, + "leftovers,oblivious,encore,moonlight,seismictoss,toxic": 735, + "leftovers,oblivious,batonpass,seismictoss,substitute,thunderwave": 307, + "leftovers,oblivious,batonpass,encore,seismictoss,substitute": 252, + "leftovers,oblivious,batonpass,seismictoss,substitute,toxic": 296 + }, + "jirachi": { + "leftovers,serenegrace,calmmind,firepunch,icepunch,psychic": 487, + "leftovers,serenegrace,calmmind,firepunch,psychic,thunderbolt": 487, + "leftovers,serenegrace,bodyslam,firepunch,psychic,toxic": 406, + "leftovers,serenegrace,firepunch,protect,psychic,wish": 336, + "leftovers,serenegrace,protect,psychic,toxic,wish": 313, + "leftovers,serenegrace,bodyslam,protect,psychic,wish": 345, + "leftovers,serenegrace,calmmind,firepunch,psychic,substitute": 454 + }, + "jolteon": { + "leftovers,voltabsorb,hiddenpowerice,protect,thunderbolt,toxic": 1503, + "leftovers,voltabsorb,batonpass,hiddenpowerice,substitute,thunderbolt": 1491 + }, + "jumpluff": { + "leftovers,chlorophyll,hiddenpowerflying,leechseed,protect,substitute": 1277, + "leftovers,chlorophyll,encore,hiddenpowerflying,sleeppowder,synthesis": 301, + "leftovers,chlorophyll,hiddenpowerflying,sleeppowder,synthesis,toxic": 316, + "leftovers,chlorophyll,encore,hiddenpowerflying,sleeppowder,toxic": 310, + "leftovers,chlorophyll,encore,hiddenpowerflying,synthesis,toxic": 305 + }, + "jynx": { + "leftovers,oblivious,calmmind,icebeam,psychic,substitute": 939, + "leftovers,oblivious,calmmind,hiddenpowerfire,icebeam,psychic": 954, + "leftovers,oblivious,calmmind,icebeam,lovelykiss,psychic": 826 + }, + "kabutops": { + "salacberry,battlearmor,brickbreak,rockslide,surf,swordsdance": 725, + "choiceband,battlearmor,brickbreak,hiddenpowerflying,rockslide,surf": 807, + "salacberry,battlearmor,hiddenpowerflying,rockslide,surf,swordsdance": 776, + "salacberry,swiftswim,hiddenpowerflying,rockslide,surf,swordsdance": 22, + "choiceband,swiftswim,brickbreak,hiddenpowerflying,rockslide,surf": 20, + "salacberry,swiftswim,brickbreak,rockslide,surf,swordsdance": 25 + }, + "kangaskhan": { + "leftovers,earlybird,earthquake,rest,return,shadowball": 231, + "leftovers,earlybird,doubleedge,earthquake,shadowball,toxic": 237, + "leftovers,earlybird,earthquake,return,shadowball,toxic": 240, + "leftovers,earlybird,doubleedge,earthquake,rest,shadowball": 240, + "leftovers,earlybird,bodyslam,earthquake,protect,wish": 707, + "leftovers,earlybird,doubleedge,earthquake,rest,toxic": 232, + "leftovers,earlybird,earthquake,protect,return,wish": 724, + "leftovers,earlybird,earthquake,rest,return,toxic": 228 + }, + "kecleon": { + "choiceband,colorchange,brickbreak,return,shadowball,trick": 1447, + "leftovers,colorchange,brickbreak,return,shadowball,thunderwave": 1383 + }, + "kingdra": { + "petayaberry,swiftswim,hiddenpowerelectric,hydropump,icebeam,raindance": 454, + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 477, + "leftovers,swiftswim,hydropump,icebeam,raindance,substitute": 484, + "leftovers,swiftswim,icebeam,raindance,substitute,surf": 498, + "petayaberry,swiftswim,hiddenpowerelectric,icebeam,raindance,surf": 477, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 460 + }, + "kingler": { + "salacberry,hypercutter,doubleedge,hiddenpowerground,surf,swordsdance": 1317, + "salacberry,hypercutter,doubleedge,hiddenpowerghost,surf,swordsdance": 1402 + }, + "kyogre": { + "leftovers,drizzle,calmmind,rest,sleeptalk,surf": 666, + "leftovers,drizzle,icebeam,rest,sleeptalk,surf": 628, + "leftovers,drizzle,calmmind,icebeam,surf,thunder": 795, + "leftovers,drizzle,rest,sleeptalk,surf,thunder": 655 + }, + "lanturn": { + "leftovers,voltabsorb,icebeam,surf,thunderbolt,toxic": 1320, + "leftovers,voltabsorb,rest,sleeptalk,surf,thunderbolt": 1341 + }, + "lapras": { + "leftovers,waterabsorb,icebeam,rest,sleeptalk,surf": 553, + "leftovers,waterabsorb,icebeam,surf,thunderbolt,toxic": 287, + "leftovers,waterabsorb,icebeam,rest,sleeptalk,thunderbolt": 698, + "leftovers,waterabsorb,healbell,icebeam,surf,toxic": 212, + "leftovers,waterabsorb,healbell,icebeam,thunderbolt,toxic": 562, + "leftovers,waterabsorb,healbell,icebeam,surf,thunderbolt": 224 + }, + "latias": { + "souldew,levitate,calmmind,dragonclaw,recover,refresh": 1441, + "souldew,levitate,calmmind,dragonclaw,psychic,recover": 715, + "souldew,levitate,calmmind,hiddenpowerfire,psychic,recover": 740 + }, + "latios": { + "souldew,levitate,calmmind,dragonclaw,recover,refresh": 1402, + "souldew,levitate,calmmind,dragonclaw,psychic,recover": 706, + "souldew,levitate,calmmind,hiddenpowerfire,psychic,recover": 748 + }, + "ledian": { + "leftovers,swarm,agility,batonpass,silverwind,swordsdance": 1061, + "leftovers,swarm,batonpass,silverwind,substitute,swordsdance": 1081 + }, + "lickitung": { + "leftovers,owntempo,healbell,protect,seismictoss,wish": 410, + "leftovers,owntempo,protect,seismictoss,toxic,wish": 960, + "leftovers,owntempo,knockoff,protect,seismictoss,wish": 482, + "leftovers,owntempo,bodyslam,earthquake,protect,wish": 909 + }, + "linoone": { + "silkscarf,pickup,bellydrum,extremespeed,hiddenpowerfighting,shadowball": 1439, + "salacberry,pickup,bellydrum,hiddenpowerground,return,substitute": 719, + "lumberry,pickup,bellydrum,hiddenpowerground,return,shadowball": 690 + }, + "ludicolo": { + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 1316, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 1335 + }, + "lugia": { + "leftovers,pressure,calmmind,icebeam,recover,thunderbolt": 1329, + "leftovers,pressure,earthquake,psychic,recover,toxic": 646, + "leftovers,pressure,psychic,recover,substitute,toxic": 666 + }, + "lunatone": { + "leftovers,levitate,calmmind,hiddenpowerfire,hypnosis,psychic": 233, + "leftovers,levitate,batonpass,calmmind,hiddenpowerfire,psychic": 243, + "leftovers,levitate,hiddenpowerfire,hypnosis,icebeam,psychic": 226, + "leftovers,levitate,calmmind,hiddenpowerfire,icebeam,psychic": 445, + "leftovers,levitate,hiddenpowerfire,icebeam,psychic,toxic": 211, + "leftovers,levitate,calmmind,hypnosis,icebeam,psychic": 243, + "leftovers,levitate,batonpass,calmmind,icebeam,psychic": 214, + "leftovers,levitate,explosion,icebeam,psychic,toxic": 134, + "leftovers,levitate,explosion,hiddenpowerfire,icebeam,psychic": 238, + "leftovers,levitate,explosion,hiddenpowerfire,psychic,toxic": 111, + "leftovers,levitate,explosion,hypnosis,icebeam,psychic": 118, + "leftovers,levitate,hiddenpowerfire,hypnosis,psychic,toxic": 106, + "leftovers,levitate,hypnosis,icebeam,psychic,toxic": 137, + "leftovers,levitate,explosion,hiddenpowerfire,hypnosis,psychic": 108 + }, + "luvdisc": { + "leftovers,swiftswim,icebeam,protect,surf,toxic": 1203, + "leftovers,swiftswim,protect,substitute,surf,toxic": 1254 + }, + "machamp": { + "leftovers,guts,crosschop,hiddenpowerghost,rest,sleeptalk": 825, + "leftovers,guts,crosschop,rest,rockslide,sleeptalk": 800, + "leftovers,guts,bulkup,crosschop,earthquake,rockslide": 331, + "choiceband,guts,crosschop,earthquake,hiddenpowerghost,rockslide": 508, + "leftovers,guts,bulkup,crosschop,hiddenpowerghost,rockslide": 341, + "leftovers,guts,bulkup,crosschop,earthquake,hiddenpowerghost": 347 + }, + "magcargo": { + "leftovers,flamebody,flamethrower,rest,sleeptalk,toxic": 341, + "leftovers,flamebody,fireblast,hiddenpowergrass,rest,sleeptalk": 306, + "leftovers,flamebody,fireblast,hiddenpowergrass,protect,toxic": 636, + "leftovers,flamebody,flamethrower,hiddenpowergrass,protect,toxic": 617, + "leftovers,flamebody,flamethrower,hiddenpowergrass,rest,sleeptalk": 334, + "leftovers,flamebody,fireblast,rest,sleeptalk,toxic": 300 + }, + "magmar": { + "leftovers,flamebody,fireblast,hiddenpowerice,thunderpunch,toxic": 115, + "leftovers,flamebody,crosschop,fireblast,thunderpunch,toxic": 73, + "petayaberry,flamebody,flamethrower,hiddenpowerice,substitute,thunderpunch": 366, + "petayaberry,flamebody,fireblast,hiddenpowergrass,substitute,thunderpunch": 304, + "leftovers,flamebody,fireblast,focuspunch,substitute,thunderpunch": 235, + "leftovers,flamebody,crosschop,fireblast,hiddenpowerice,thunderpunch": 93, + "petayaberry,flamebody,fireblast,hiddenpowerice,substitute,thunderpunch": 364, + "leftovers,flamebody,flamethrower,focuspunch,substitute,thunderpunch": 239, + "leftovers,flamebody,flamethrower,hiddenpowergrass,thunderpunch,toxic": 91, + "petayaberry,flamebody,flamethrower,hiddenpowergrass,substitute,thunderpunch": 396, + "leftovers,flamebody,crosschop,flamethrower,thunderpunch,toxic": 79, + "leftovers,flamebody,crosschop,fireblast,hiddenpowergrass,thunderpunch": 125, + "leftovers,flamebody,fireblast,hiddenpowergrass,thunderpunch,toxic": 116, + "leftovers,flamebody,crosschop,flamethrower,hiddenpowergrass,thunderpunch": 76, + "leftovers,flamebody,crosschop,flamethrower,hiddenpowerice,thunderpunch": 104, + "leftovers,flamebody,flamethrower,hiddenpowerice,thunderpunch,toxic": 100 + }, + "magneton": { + "leftovers,magnetpull,hiddenpowerice,protect,thunderbolt,toxic": 1364, + "leftovers,magnetpull,hiddenpowerice,rest,sleeptalk,thunderbolt": 1312 + }, + "manectric": { + "petayaberry,static,crunch,hiddenpowerice,substitute,thunderbolt": 3024 + }, + "mantine": { + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 424, + "leftovers,waterabsorb,haze,protect,surf,toxic": 439, + "leftovers,waterabsorb,icebeam,protect,surf,toxic": 400, + "leftovers,waterabsorb,icebeam,rest,sleeptalk,surf": 202, + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 420, + "leftovers,waterabsorb,rest,sleeptalk,surf,toxic": 208, + "leftovers,waterabsorb,hiddenpowergrass,rest,sleeptalk,surf": 190, + "leftovers,waterabsorb,hiddenpowergrass,icebeam,surf,toxic": 263 + }, + "marowak": { + "thickclub,rockhead,doubleedge,earthquake,rockslide,swordsdance": 1424, + "thickclub,rockhead,bonemerang,doubleedge,rockslide,swordsdance": 1423 + }, + "masquerain": { + "leftovers,intimidate,hydropump,icebeam,stunspore,substitute": 1154, + "leftovers,intimidate,hydropump,icebeam,substitute,toxic": 1200 + }, + "mawile": { + "leftovers,intimidate,focuspunch,hiddenpowersteel,rockslide,substitute": 749, + "leftovers,intimidate,batonpass,brickbreak,hiddenpowersteel,swordsdance": 447, + "leftovers,intimidate,focuspunch,hiddenpowersteel,substitute,toxic": 677, + "leftovers,intimidate,brickbreak,hiddenpowersteel,substitute,swordsdance": 471, + "leftovers,intimidate,brickbreak,hiddenpowersteel,rockslide,swordsdance": 478 + }, + "medicham": { + "leftovers,purepower,brickbreak,bulkup,rockslide,shadowball": 513, + "salacberry,purepower,bulkup,reversal,shadowball,substitute": 1446, + "salacberry,purepower,brickbreak,bulkup,shadowball,substitute": 469, + "leftovers,purepower,brickbreak,bulkup,recover,shadowball": 523 + }, + "meganium": { + "leftovers,overgrow,hiddenpowergrass,leechseed,synthesis,toxic": 428, + "leftovers,overgrow,bodyslam,earthquake,swordsdance,synthesis": 724, + "leftovers,overgrow,earthquake,hiddenpowerrock,swordsdance,synthesis": 741, + "leftovers,overgrow,bodyslam,hiddenpowergrass,synthesis,toxic": 452, + "leftovers,overgrow,earthquake,hiddenpowergrass,synthesis,toxic": 459 + }, + "metagross": { + "leftovers,clearbody,agility,earthquake,meteormash,rockslide": 473, + "choiceband,clearbody,earthquake,explosion,meteormash,rockslide": 1391, + "leftovers,clearbody,agility,earthquake,meteormash,psychic": 505, + "leftovers,clearbody,agility,earthquake,explosion,meteormash": 459 + }, + "mew": { + "leftovers,synchronize,calmmind,flamethrower,psychic,softboiled": 481, + "salacberry,synchronize,brickbreak,earthquake,rockslide,swordsdance": 323, + "leftovers,synchronize,explosion,psychic,softboiled,thunderwave": 167, + "leftovers,synchronize,calmmind,psychic,softboiled,thunderbolt": 484, + "leftovers,synchronize,psychic,softboiled,thunderwave,transform": 158, + "leftovers,synchronize,flamethrower,psychic,softboiled,transform": 168, + "leftovers,synchronize,earthquake,rockslide,softboiled,swordsdance": 345, + "leftovers,synchronize,flamethrower,psychic,softboiled,thunderwave": 148, + "leftovers,synchronize,explosion,flamethrower,psychic,softboiled": 154, + "salacberry,synchronize,earthquake,explosion,rockslide,swordsdance": 343, + "leftovers,synchronize,explosion,psychic,softboiled,transform": 160 + }, + "mewtwo": { + "leftovers,pressure,calmmind,flamethrower,psychic,thunderbolt": 773, + "leftovers,pressure,calmmind,flamethrower,psychic,recover": 1447, + "leftovers,pressure,calmmind,icebeam,psychic,thunderbolt": 722 + }, + "mightyena": { + "leftovers,intimidate,crunch,healbell,hiddenpowerfighting,toxic": 444, + "leftovers,intimidate,crunch,doubleedge,hiddenpowerfighting,toxic": 532, + "leftovers,intimidate,crunch,healbell,hiddenpowerfighting,shadowball": 470, + "leftovers,intimidate,crunch,doubleedge,healbell,hiddenpowerfighting": 478, + "choiceband,intimidate,crunch,doubleedge,hiddenpowerfighting,shadowball": 505, + "leftovers,intimidate,crunch,hiddenpowerfighting,shadowball,toxic": 511 + }, + "milotic": { + "leftovers,marvelscale,recover,refresh,surf,toxic": 1355, + "leftovers,marvelscale,icebeam,recover,surf,toxic": 1441 + }, + "miltank": { + "leftovers,thickfat,bodyslam,curse,earthquake,milkdrink": 941, + "leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 911, + "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 973 + }, + "minun": { + "leftovers,minus,hiddenpowerice,protect,thunderbolt,wish": 486, + "leftovers,minus,hiddenpowerice,protect,thunderbolt,toxic": 1031, + "leftovers,minus,hiddenpowerice,substitute,thunderbolt,toxic": 371, + "leftovers,minus,protect,thunderbolt,toxic,wish": 494, + "leftovers,minus,encore,hiddenpowerice,substitute,thunderbolt": 371, + "leftovers,minus,batonpass,hiddenpowerice,substitute,thunderbolt": 328 + }, + "misdreavus": { + "leftovers,levitate,meanlook,perishsong,protect,shadowball": 1090, + "leftovers,levitate,calmmind,hiddenpowerice,substitute,thunderbolt": 1104, + "leftovers,levitate,hiddenpowerice,painsplit,shadowball,thunderwave": 162, + "leftovers,levitate,hiddenpowerice,painsplit,shadowball,thunderbolt": 96, + "leftovers,levitate,hiddenpowerice,shadowball,thunderbolt,toxic": 156, + "leftovers,levitate,painsplit,shadowball,thunderbolt,thunderwave": 179, + "leftovers,levitate,painsplit,shadowball,thunderbolt,toxic": 181, + "leftovers,levitate,hiddenpowerice,painsplit,shadowball,toxic": 180, + "leftovers,levitate,hiddenpowerice,shadowball,thunderbolt,thunderwave": 147 + }, + "moltres": { + "leftovers,pressure,fireblast,hiddenpowergrass,morningsun,willowisp": 397, + "leftovers,pressure,flamethrower,hiddenpowergrass,morningsun,willowisp": 395, + "leftovers,pressure,flamethrower,hiddenpowergrass,morningsun,substitute": 375, + "leftovers,pressure,flamethrower,hiddenpowergrass,morningsun,toxic": 391, + "leftovers,pressure,fireblast,hiddenpowergrass,morningsun,toxic": 399, + "leftovers,pressure,fireblast,hiddenpowergrass,morningsun,substitute": 381 + }, + "mrmime": { + "leftovers,soundproof,calmmind,psychic,substitute,thunderbolt": 313, + "leftovers,soundproof,calmmind,firepunch,psychic,thunderbolt": 608, + "leftovers,soundproof,calmmind,encore,psychic,thunderbolt": 287, + "leftovers,soundproof,batonpass,calmmind,psychic,thunderbolt": 286, + "leftovers,soundproof,calmmind,hypnosis,psychic,thunderbolt": 303, + "leftovers,soundproof,batonpass,calmmind,firepunch,psychic": 295, + "leftovers,soundproof,calmmind,firepunch,psychic,substitute": 284, + "leftovers,soundproof,calmmind,firepunch,hypnosis,psychic": 302, + "leftovers,soundproof,calmmind,encore,firepunch,psychic": 273 + }, + "muk": { + "chestoberry,stickyhold,curse,hiddenpowerground,rest,sludgebomb": 1430, + "chestoberry,stickyhold,fireblast,hiddenpowerground,rest,sludgebomb": 303, + "choiceband,stickyhold,explosion,fireblast,hiddenpowerground,sludgebomb": 319, + "chestoberry,stickyhold,hiddenpowerground,rest,sludgebomb,toxic": 322, + "leftovers,stickyhold,explosion,hiddenpowerground,sludgebomb,toxic": 318, + "leftovers,stickyhold,fireblast,hiddenpowerground,sludgebomb,toxic": 243 + }, + "murkrow": { + "leftovers,insomnia,drillpeck,hiddenpowerground,shadowball,toxic": 282, + "leftovers,insomnia,drillpeck,hiddenpowerground,shadowball,thunderwave": 272, + "choiceband,insomnia,doubleedge,drillpeck,hiddenpowerfighting,shadowball": 670, + "leftovers,insomnia,drillpeck,hiddenpowerground,pursuit,toxic": 273, + "choiceband,insomnia,doubleedge,drillpeck,hiddenpowerground,shadowball": 642, + "leftovers,insomnia,drillpeck,hiddenpowerground,pursuit,shadowball": 214, + "leftovers,insomnia,drillpeck,hiddenpowerground,pursuit,thunderwave": 303 + }, + "nidoking": { + "leftovers,poisonpoint,earthquake,sludgebomb,substitute,thunderbolt": 191, + "leftovers,poisonpoint,earthquake,icebeam,sludgebomb,thunderbolt": 180, + "choiceband,poisonpoint,earthquake,megahorn,sludgebomb,thunderbolt": 198, + "leftovers,poisonpoint,earthquake,fireblast,sludgebomb,thunderbolt": 183, + "choiceband,poisonpoint,earthquake,icebeam,shadowball,sludgebomb": 197, + "leftovers,poisonpoint,earthquake,megahorn,sludgebomb,substitute": 198, + "leftovers,poisonpoint,earthquake,shadowball,sludgebomb,substitute": 163, + "leftovers,poisonpoint,earthquake,fireblast,sludgebomb,substitute": 184, + "choiceband,poisonpoint,earthquake,fireblast,megahorn,sludgebomb": 197, + "choiceband,poisonpoint,earthquake,fireblast,shadowball,sludgebomb": 178, + "choiceband,poisonpoint,earthquake,shadowball,sludgebomb,thunderbolt": 191, + "choiceband,poisonpoint,earthquake,megahorn,shadowball,sludgebomb": 171, + "leftovers,poisonpoint,earthquake,icebeam,sludgebomb,substitute": 185, + "leftovers,poisonpoint,earthquake,fireblast,icebeam,sludgebomb": 188, + "choiceband,poisonpoint,earthquake,icebeam,megahorn,sludgebomb": 174 + }, + "nidoqueen": { + "choiceband,poisonpoint,earthquake,shadowball,sludgebomb,thunderbolt": 258, + "leftovers,poisonpoint,earthquake,icebeam,sludgebomb,substitute": 301, + "choiceband,poisonpoint,earthquake,fireblast,shadowball,sludgebomb": 273, + "leftovers,poisonpoint,earthquake,fireblast,icebeam,sludgebomb": 282, + "leftovers,poisonpoint,earthquake,shadowball,sludgebomb,substitute": 286, + "leftovers,poisonpoint,earthquake,sludgebomb,substitute,thunderbolt": 286, + "leftovers,poisonpoint,earthquake,fireblast,sludgebomb,substitute": 275, + "leftovers,poisonpoint,earthquake,fireblast,sludgebomb,thunderbolt": 265, + "choiceband,poisonpoint,earthquake,icebeam,shadowball,sludgebomb": 286, + "leftovers,poisonpoint,earthquake,icebeam,sludgebomb,thunderbolt": 280 + }, + "ninetales": { + "leftovers,flashfire,flamethrower,hiddenpowergrass,hypnosis,toxic": 287, + "leftovers,flashfire,fireblast,hiddenpowergrass,hypnosis,toxic": 281, + "leftovers,flashfire,fireblast,hiddenpowergrass,hypnosis,willowisp": 289, + "leftovers,flashfire,fireblast,hiddenpowergrass,substitute,willowisp": 261, + "leftovers,flashfire,fireblast,hiddenpowergrass,substitute,toxic": 312, + "leftovers,flashfire,flamethrower,hiddenpowergrass,hypnosis,willowisp": 319, + "leftovers,flashfire,fireblast,hiddenpowergrass,hypnosis,substitute": 243, + "leftovers,flashfire,flamethrower,hiddenpowergrass,substitute,willowisp": 254, + "leftovers,flashfire,flamethrower,hiddenpowergrass,hypnosis,substitute": 252, + "leftovers,flashfire,flamethrower,hiddenpowergrass,substitute,toxic": 287 + }, + "ninjask": { + "leftovers,speedboost,batonpass,hiddenpowerflying,protect,swordsdance": 1221, + "leftovers,speedboost,batonpass,hiddenpowerflying,substitute,swordsdance": 1226 + }, + "noctowl": { + "leftovers,insomnia,hiddenpowerfire,return,toxic,whirlwind": 874, + "leftovers,insomnia,hiddenpowerfire,hypnosis,return,toxic": 826, + "leftovers,insomnia,hypnosis,return,toxic,whirlwind": 869 + }, + "nosepass": { + "leftovers,magnetpull,earthquake,explosion,rockslide,toxic": 1431, + "leftovers,magnetpull,earthquake,explosion,rockslide,thunderwave": 1402 + }, + "octillery": { + "leftovers,suctioncups,fireblast,hiddenpowerelectric,icebeam,surf": 552, + "leftovers,suctioncups,fireblast,icebeam,surf,thunderwave": 500, + "leftovers,suctioncups,hiddenpowergrass,icebeam,surf,thunderwave": 591, + "leftovers,suctioncups,hiddenpowerelectric,icebeam,surf,thunderwave": 583, + "leftovers,suctioncups,fireblast,hiddenpowergrass,icebeam,surf": 529 + }, + "omastar": { + "leftovers,shellarmor,hiddenpowergrass,hydropump,icebeam,spikes": 552, + "leftovers,shellarmor,hiddenpowergrass,icebeam,spikes,surf": 582, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 574, + "petayaberry,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 589, + "leftovers,swiftswim,hiddenpowergrass,hydropump,icebeam,spikes": 24, + "leftovers,swiftswim,hiddenpowergrass,icebeam,spikes,surf": 9 + }, + "parasect": { + "leftovers,effectspore,gigadrain,hiddenpowerbug,return,spore": 889, + "leftovers,effectspore,aromatherapy,hiddenpowerbug,return,spore": 793, + "leftovers,effectspore,hiddenpowerbug,return,spore,stunspore": 932 + }, + "pelipper": { + "leftovers,keeneye,icebeam,rest,sleeptalk,surf": 627, + "leftovers,keeneye,icebeam,protect,surf,toxic": 1197, + "leftovers,keeneye,rest,sleeptalk,surf,toxic": 604 + }, + "persian": { + "leftovers,limber,hiddenpowerground,hypnosis,return,shadowball": 312, + "liechiberry,limber,irontail,return,shadowball,substitute": 453, + "liechiberry,limber,hiddenpowerground,irontail,return,substitute": 450, + "choiceband,limber,hiddenpowerground,irontail,return,shadowball": 459, + "leftovers,limber,hypnosis,irontail,return,shadowball": 319, + "liechiberry,limber,hiddenpowerground,return,shadowball,substitute": 485, + "leftovers,limber,hiddenpowerground,hypnosis,irontail,return": 273 + }, + "pidgeot": { + "choiceband,keeneye,aerialace,hiddenpowerground,quickattack,return": 328, + "liechiberry,keeneye,aerialace,hiddenpowerground,return,substitute": 1263, + "leftovers,keeneye,aerialace,hiddenpowerground,return,toxic": 316, + "leftovers,keeneye,aerialace,doubleedge,hiddenpowerground,toxic": 318, + "choiceband,keeneye,aerialace,doubleedge,hiddenpowerground,quickattack": 312 + }, + "pikachu": { + "lightball,static,hiddenpowerice,substitute,surf,thunderbolt": 770, + "lightball,static,hiddenpowerice,surf,thunderbolt,volttackle": 1448, + "lightball,static,encore,hiddenpowerice,surf,thunderbolt": 738 + }, + "piloswine": { + "leftovers,oblivious,earthquake,icebeam,rest,sleeptalk": 699, + "choiceband,oblivious,doubleedge,earthquake,icebeam,rockslide": 688, + "leftovers,oblivious,earthquake,icebeam,protect,toxic": 1344 + }, + "pinsir": { + "salacberry,hypercutter,earthquake,hiddenpowerbug,rockslide,swordsdance": 1490, + "choiceband,hypercutter,doubleedge,earthquake,hiddenpowerbug,rockslide": 1498 + }, + "plusle": { + "leftovers,plus,hiddenpowerice,protect,thunderbolt,toxic": 1027, + "leftovers,plus,hiddenpowerice,substitute,thunderbolt,toxic": 323, + "leftovers,plus,protect,thunderbolt,toxic,wish": 512, + "leftovers,plus,hiddenpowerice,protect,thunderbolt,wish": 536, + "leftovers,plus,encore,hiddenpowerice,substitute,thunderbolt": 346, + "leftovers,plus,batonpass,hiddenpowerice,substitute,thunderbolt": 311 + }, + "politoed": { + "leftovers,waterabsorb,icebeam,rest,sleeptalk,surf": 465, + "leftovers,waterabsorb,icebeam,protect,surf,toxic": 909, + "chestoberry,waterabsorb,hypnosis,icebeam,rest,surf": 176, + "leftovers,waterabsorb,hiddenpowergrass,icebeam,surf,toxic": 182, + "chestoberry,waterabsorb,icebeam,rest,surf,toxic": 147, + "leftovers,waterabsorb,rest,sleeptalk,surf,toxic": 468, + "leftovers,waterabsorb,hypnosis,icebeam,surf,toxic": 141, + "leftovers,waterabsorb,hiddenpowergrass,hypnosis,icebeam,surf": 162, + "chestoberry,waterabsorb,hiddenpowergrass,icebeam,rest,surf": 146 + }, + "poliwrath": { + "leftovers,waterabsorb,brickbreak,hydropump,rest,sleeptalk": 299, + "leftovers,waterabsorb,focuspunch,hydropump,substitute,toxic": 482, + "leftovers,waterabsorb,brickbreak,hiddenpowerghost,hydropump,hypnosis": 98, + "leftovers,waterabsorb,brickbreak,hiddenpowerghost,hydropump,toxic": 125, + "leftovers,waterabsorb,focuspunch,hydropump,icebeam,substitute": 457, + "leftovers,waterabsorb,brickbreak,bulkup,hiddenpowerghost,hydropump": 223, + "leftovers,waterabsorb,brickbreak,bulkup,earthquake,hydropump": 241, + "leftovers,waterabsorb,brickbreak,hydropump,hypnosis,toxic": 95, + "salacberry,waterabsorb,brickbreak,bulkup,hydropump,substitute": 215, + "leftovers,waterabsorb,brickbreak,hiddenpowerghost,hydropump,icebeam": 96, + "leftovers,waterabsorb,brickbreak,hydropump,icebeam,toxic": 87, + "leftovers,waterabsorb,brickbreak,bulkup,hydropump,hypnosis": 221, + "leftovers,waterabsorb,brickbreak,hydropump,hypnosis,icebeam": 89 + }, + "porygon2": { + "leftovers,trace,recover,return,thunderbolt,thunderwave": 560, + "leftovers,trace,icebeam,recover,return,toxic": 623, + "leftovers,trace,icebeam,recover,return,thunderwave": 565, + "leftovers,trace,recover,return,thunderbolt,toxic": 604, + "leftovers,trace,icebeam,recover,return,thunderbolt": 453 + }, + "primeape": { + "choiceband,vitalspirit,crosschop,earthquake,hiddenpowerghost,rockslide": 343, + "salacberry,vitalspirit,bulkup,crosschop,rockslide,substitute": 262, + "liechiberry,vitalspirit,bulkup,hiddenpowerghost,reversal,substitute": 1037, + "salacberry,vitalspirit,bulkup,crosschop,hiddenpowerghost,substitute": 272, + "leftovers,vitalspirit,bulkup,crosschop,hiddenpowerghost,rockslide": 749, + "leftovers,vitalspirit,bulkup,crosschop,earthquake,rockslide": 213, + "leftovers,vitalspirit,bulkup,crosschop,earthquake,hiddenpowerghost": 229 + }, + "quagsire": { + "leftovers,waterabsorb,earthquake,rest,sleeptalk,surf": 617, + "leftovers,waterabsorb,earthquake,icebeam,protect,toxic": 1256, + "leftovers,waterabsorb,earthquake,icebeam,surf,toxic": 689 + }, + "qwilfish": { + "leftovers,poisonpoint,hydropump,selfdestruct,sludgebomb,spikes": 644, + "salacberry,poisonpoint,hydropump,shadowball,sludgebomb,swordsdance": 432, + "salacberry,poisonpoint,hydropump,selfdestruct,sludgebomb,swordsdance": 418, + "choiceband,poisonpoint,hydropump,selfdestruct,shadowball,sludgebomb": 455, + "choiceband,swiftswim,hydropump,selfdestruct,shadowball,sludgebomb": 8, + "leftovers,poisonpoint,destinybond,hydropump,sludgebomb,spikes": 646, + "salacberry,swiftswim,hydropump,shadowball,sludgebomb,swordsdance": 14, + "leftovers,swiftswim,hydropump,selfdestruct,sludgebomb,spikes": 16, + "leftovers,swiftswim,destinybond,hydropump,sludgebomb,spikes": 13, + "salacberry,swiftswim,hydropump,selfdestruct,sludgebomb,swordsdance": 7 + }, + "raichu": { + "petayaberry,static,hiddenpowerice,substitute,surf,thunderbolt": 1431, + "leftovers,static,hiddenpowerice,surf,thunderbolt,thunderwave": 292, + "leftovers,static,encore,hiddenpowerice,thunderbolt,toxic": 315, + "leftovers,static,encore,hiddenpowerice,surf,thunderbolt": 271, + "leftovers,static,hiddenpowerice,surf,thunderbolt,toxic": 302, + "leftovers,static,encore,hiddenpowerice,thunderbolt,thunderwave": 333 + }, + "raikou": { + "leftovers,pressure,hiddenpowerice,rest,sleeptalk,thunderbolt": 1529, + "leftovers,pressure,calmmind,crunch,hiddenpowerice,thunderbolt": 767, + "leftovers,pressure,calmmind,hiddenpowerice,substitute,thunderbolt": 784 + }, + "rapidash": { + "leftovers,flashfire,fireblast,hiddenpowergrass,substitute,toxic": 1427, + "leftovers,flashfire,fireblast,hiddenpowerrock,substitute,toxic": 1422 + }, + "raticate": { + "choiceband,guts,hiddenpowerground,quickattack,return,shadowball": 457, + "choiceband,guts,facade,hiddenpowerground,return,shadowball": 434, + "choiceband,guts,doubleedge,hiddenpowerground,quickattack,shadowball": 468, + "liechiberry,guts,return,reversal,shadowball,substitute": 924, + "choiceband,guts,doubleedge,facade,hiddenpowerground,shadowball": 439 + }, + "rayquaza": { + "lumberry,airlock,dragondance,earthquake,hiddenpowerflying,overheat": 664, + "choiceband,airlock,earthquake,extremespeed,hiddenpowerflying,rockslide": 644, + "choiceband,airlock,earthquake,extremespeed,hiddenpowerflying,overheat": 660, + "lumberry,airlock,dragondance,earthquake,hiddenpowerflying,rockslide": 614 + }, + "regice": { + "leftovers,clearbody,explosion,icebeam,thunderbolt,thunderwave": 714, + "leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 676, + "leftovers,clearbody,icebeam,protect,thunderbolt,toxic": 1379 + }, + "regirock": { + "leftovers,clearbody,curse,earthquake,explosion,rockslide": 322, + "leftovers,clearbody,earthquake,explosion,rockslide,thunderwave": 425, + "leftovers,clearbody,earthquake,explosion,rockslide,toxic": 391, + "chestoberry,clearbody,earthquake,rest,rockslide,superpower": 294, + "leftovers,clearbody,curse,earthquake,rockslide,superpower": 231, + "leftovers,clearbody,earthquake,rest,rockslide,sleeptalk": 546, + "choiceband,clearbody,earthquake,explosion,rockslide,superpower": 287, + "chestoberry,clearbody,curse,earthquake,rest,rockslide": 285 + }, + "registeel": { + "leftovers,clearbody,rest,seismictoss,sleeptalk,toxic": 2851 + }, + "relicanth": { + "leftovers,swiftswim,earthquake,hiddenpowerflying,rockslide,toxic": 459, + "leftovers,swiftswim,earthquake,rest,rockslide,sleeptalk": 958, + "choiceband,rockhead,doubleedge,earthquake,hiddenpowerflying,rockslide": 454, + "leftovers,rockhead,doubleedge,earthquake,rockslide,toxic": 492, + "choiceband,swiftswim,doubleedge,earthquake,hiddenpowerflying,rockslide": 16, + "leftovers,swiftswim,doubleedge,earthquake,rockslide,toxic": 9 + }, + "rhydon": { + "leftovers,rockhead,earthquake,megahorn,rockslide,substitute": 416, + "leftovers,rockhead,earthquake,megahorn,rockslide,swordsdance": 415, + "choiceband,rockhead,doubleedge,earthquake,megahorn,rockslide": 1179, + "leftovers,rockhead,earthquake,rockslide,substitute,swordsdance": 401 + }, + "roselia": { + "leftovers,naturalcure,hiddenpowergrass,spikes,synthesis,toxic": 785, + "leftovers,naturalcure,aromatherapy,hiddenpowergrass,spikes,synthesis": 656, + "leftovers,naturalcure,hiddenpowerfire,magicalleaf,spikes,synthesis": 1459 + }, + "sableye": { + "leftovers,keeneye,knockoff,recover,seismictoss,toxic": 1529, + "leftovers,keeneye,recover,seismictoss,shadowball,toxic": 1460 + }, + "salamence": { + "choiceband,intimidate,brickbreak,doubleedge,earthquake,hiddenpowerflying": 251, + "choiceband,intimidate,brickbreak,earthquake,hiddenpowerflying,rockslide": 191, + "lumberry,intimidate,dragondance,earthquake,fireblast,hiddenpowerflying": 633, + "choiceband,intimidate,earthquake,fireblast,hiddenpowerflying,rockslide": 224, + "lumberry,intimidate,dragondance,earthquake,hiddenpowerflying,rockslide": 614, + "choiceband,intimidate,doubleedge,earthquake,hiddenpowerflying,rockslide": 230, + "choiceband,intimidate,brickbreak,earthquake,fireblast,hiddenpowerflying": 214, + "choiceband,intimidate,doubleedge,earthquake,fireblast,hiddenpowerflying": 222 + }, + "sandslash": { + "salacberry,sandveil,earthquake,hiddenpowerbug,rockslide,swordsdance": 1061, + "leftovers,sandveil,earthquake,hiddenpowerbug,rockslide,toxic": 640, + "choiceband,sandveil,earthquake,hiddenpowerbug,rapidspin,rockslide": 606, + "leftovers,sandveil,earthquake,rapidspin,rockslide,toxic": 710 + }, + "sceptile": { + "leftovers,overgrow,earthquake,leafblade,thunderpunch,toxic": 321, + "leftovers,overgrow,hiddenpowerice,leafblade,leechseed,substitute": 475, + "petayaberry,overgrow,hiddenpowerice,leafblade,substitute,thunderpunch": 1011, + "leftovers,overgrow,earthquake,hiddenpowerice,leafblade,thunderpunch": 295, + "leftovers,overgrow,hiddenpowerfire,leafblade,leechseed,substitute": 498, + "leftovers,overgrow,earthquake,hiddenpowerice,leafblade,toxic": 309 + }, + "scizor": { + "leftovers,swarm,agility,batonpass,silverwind,steelwing": 402, + "leftovers,swarm,batonpass,silverwind,steelwing,swordsdance": 268, + "leftovers,swarm,agility,batonpass,hiddenpowerground,steelwing": 340, + "salacberry,swarm,hiddenpowerground,silverwind,steelwing,swordsdance": 498, + "leftovers,swarm,morningsun,silverwind,steelwing,swordsdance": 263, + "choiceband,swarm,batonpass,hiddenpowerground,silverwind,steelwing": 356, + "leftovers,swarm,agility,hiddenpowerground,silverwind,steelwing": 373, + "leftovers,swarm,hiddenpowerground,morningsun,steelwing,swordsdance": 246, + "leftovers,swarm,batonpass,hiddenpowerground,steelwing,swordsdance": 224 + }, + "scyther": { + "leftovers,swarm,aerialace,batonpass,hiddenpowerground,swordsdance": 1206, + "liechiberry,swarm,aerialace,hiddenpowerground,silverwind,swordsdance": 639, + "lumberry,swarm,aerialace,hiddenpowerground,silverwind,swordsdance": 604 + }, + "seaking": { + "leftovers,swiftswim,hydropump,icebeam,megahorn,raindance": 476, + "leftovers,swiftswim,hiddenpowerelectric,hydropump,megahorn,raindance": 581, + "petayaberry,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 646, + "petayaberry,swiftswim,hiddenpowerelectric,hydropump,icebeam,raindance": 552, + "leftovers,swiftswim,hiddenpowergrass,hydropump,megahorn,raindance": 544 + }, + "seviper": { + "leftovers,shedskin,crunch,earthquake,flamethrower,sludgebomb": 971, + "leftovers,shedskin,crunch,earthquake,hiddenpowergrass,sludgebomb": 1011, + "leftovers,shedskin,earthquake,flamethrower,hiddenpowergrass,sludgebomb": 1024 + }, + "sharpedo": { + "petayaberry,roughskin,crunch,hydropump,icebeam,substitute": 412, + "petayaberry,roughskin,crunch,hiddenpowerelectric,hydropump,substitute": 406, + "choiceband,roughskin,doubleedge,earthquake,hiddenpowerflying,hydropump": 1336, + "petayaberry,roughskin,crunch,hiddenpowergrass,hydropump,substitute": 412 + }, + "shedinja": { + "lumberry,wonderguard,agility,hiddenpowerfighting,shadowball,silverwind": 533, + "lumberry,wonderguard,batonpass,hiddenpowerfighting,shadowball,toxic": 560, + "lumberry,wonderguard,agility,batonpass,hiddenpowerfighting,shadowball": 537, + "lumberry,wonderguard,hiddenpowerfighting,shadowball,silverwind,toxic": 556, + "lumberry,wonderguard,batonpass,hiddenpowerfighting,shadowball,silverwind": 453 + }, + "shiftry": { + "leftovers,earlybird,hiddenpowerdark,leechseed,substitute,toxic": 1369, + "salacberry,earlybird,brickbreak,explosion,shadowball,swordsdance": 1350, + "leftovers,chlorophyll,hiddenpowerdark,leechseed,substitute,toxic": 10, + "salacberry,chlorophyll,brickbreak,explosion,shadowball,swordsdance": 16 + }, + "shuckle": { + "leftovers,sturdy,encore,rest,toxic,wrap": 2874 + }, + "skarmory": { + "leftovers,keeneye,drillpeck,spikes,toxic,whirlwind": 928, + "leftovers,keeneye,drillpeck,protect,spikes,toxic": 913, + "leftovers,keeneye,protect,spikes,toxic,whirlwind": 895 + }, + "slaking": { + "choiceband,truant,earthquake,hyperbeam,return,shadowball": 1362, + "choiceband,truant,doubleedge,earthquake,hyperbeam,shadowball": 1358 + }, + "slowbro": { + "chestoberry,owntempo,calmmind,psychic,rest,surf": 874, + "leftovers,owntempo,fireblast,psychic,surf,thunderwave": 106, + "leftovers,owntempo,icebeam,psychic,surf,toxic": 128, + "leftovers,owntempo,calmmind,rest,sleeptalk,surf": 867, + "leftovers,owntempo,fireblast,psychic,surf,toxic": 109, + "leftovers,owntempo,psychic,rest,sleeptalk,surf": 247, + "leftovers,owntempo,icebeam,psychic,surf,thunderwave": 108, + "leftovers,owntempo,fireblast,icebeam,psychic,surf": 98 + }, + "slowking": { + "leftovers,owntempo,psychic,rest,sleeptalk,surf": 279, + "chestoberry,owntempo,calmmind,psychic,rest,surf": 859, + "leftovers,owntempo,fireblast,psychic,surf,toxic": 132, + "leftovers,owntempo,fireblast,icebeam,psychic,surf": 94, + "leftovers,owntempo,icebeam,psychic,surf,thunderwave": 129, + "leftovers,owntempo,icebeam,psychic,surf,toxic": 124, + "leftovers,owntempo,calmmind,rest,sleeptalk,surf": 830, + "leftovers,owntempo,fireblast,psychic,surf,thunderwave": 111 + }, + "smeargle": { + "leftovers,owntempo,encore,explosion,spikes,spore": 2827 + }, + "sneasel": { + "liechiberry,innerfocus,brickbreak,doubleedge,shadowball,swordsdance": 221, + "lumberry,innerfocus,brickbreak,doubleedge,shadowball,swordsdance": 225, + "liechiberry,innerfocus,brickbreak,hiddenpowerflying,shadowball,swordsdance": 569, + "lumberry,innerfocus,brickbreak,hiddenpowerflying,shadowball,swordsdance": 543, + "liechiberry,innerfocus,brickbreak,shadowball,substitute,swordsdance": 684, + "choiceband,innerfocus,brickbreak,doubleedge,hiddenpowerflying,shadowball": 414 + }, + "snorlax": { + "choiceband,immunity,earthquake,return,selfdestruct,shadowball": 435, + "leftovers,thickfat,bodyslam,curse,rest,sleeptalk": 958, + "chestoberry,thickfat,bodyslam,curse,earthquake,rest": 465, + "chestoberry,immunity,bodyslam,curse,earthquake,rest": 457, + "choiceband,immunity,bodyslam,earthquake,selfdestruct,shadowball": 460 + }, + "solrock": { + "choiceband,levitate,earthquake,explosion,overheat,rockslide": 463, + "leftovers,levitate,earthquake,protect,rockslide,toxic": 1350, + "choiceband,levitate,earthquake,explosion,rockslide,shadowball": 449, + "choiceband,levitate,earthquake,overheat,rockslide,shadowball": 438 + }, + "spinda": { + "leftovers,owntempo,protect,seismictoss,toxic,wish": 1250, + "leftovers,owntempo,protect,seismictoss,shadowball,toxic": 433, + "leftovers,owntempo,protect,seismictoss,substitute,toxic": 396, + "leftovers,owntempo,encore,protect,seismictoss,toxic": 439 + }, + "stantler": { + "leftovers,intimidate,earthquake,hypnosis,return,thunderwave": 500, + "leftovers,intimidate,earthquake,return,shadowball,thunderwave": 437, + "leftovers,intimidate,earthquake,hypnosis,return,shadowball": 485, + "leftovers,intimidate,earthquake,return,thunderbolt,thunderwave": 436, + "choiceband,intimidate,earthquake,return,shadowball,thunderbolt": 448, + "leftovers,intimidate,earthquake,hypnosis,return,thunderbolt": 446 + }, + "starmie": { + "leftovers,naturalcure,psychic,recover,surf,thunderbolt": 665, + "leftovers,naturalcure,icebeam,psychic,recover,surf": 661, + "leftovers,naturalcure,hydropump,icebeam,psychic,recover": 590, + "leftovers,naturalcure,hydropump,psychic,recover,thunderbolt": 595 + }, + "steelix": { + "leftovers,rockhead,earthquake,hiddenpowerrock,protect,toxic": 651, + "leftovers,rockhead,doubleedge,earthquake,protect,toxic": 655, + "chestoberry,rockhead,doubleedge,earthquake,irontail,rest": 96, + "leftovers,rockhead,earthquake,explosion,irontail,roar": 99, + "choiceband,rockhead,doubleedge,earthquake,explosion,irontail": 118, + "leftovers,rockhead,earthquake,explosion,irontail,toxic": 109, + "chestoberry,rockhead,earthquake,irontail,rest,roar": 96, + "choiceband,rockhead,earthquake,explosion,hiddenpowerrock,irontail": 97, + "leftovers,rockhead,doubleedge,earthquake,irontail,roar": 95, + "leftovers,rockhead,earthquake,hiddenpowerrock,irontail,toxic": 105, + "leftovers,rockhead,doubleedge,earthquake,irontail,toxic": 86, + "chestoberry,rockhead,earthquake,irontail,rest,toxic": 92, + "leftovers,rockhead,earthquake,irontail,roar,toxic": 97, + "leftovers,rockhead,earthquake,hiddenpowerrock,irontail,roar": 72, + "chestoberry,rockhead,earthquake,hiddenpowerrock,irontail,rest": 102, + "choiceband,rockhead,doubleedge,earthquake,hiddenpowerrock,irontail": 86 + }, + "sudowoodo": { + "leftovers,rockhead,brickbreak,earthquake,rockslide,toxic": 444, + "choiceband,rockhead,brickbreak,earthquake,explosion,rockslide": 450, + "choiceband,rockhead,doubleedge,earthquake,explosion,rockslide": 458, + "leftovers,rockhead,doubleedge,earthquake,rockslide,toxic": 444, + "choiceband,rockhead,brickbreak,doubleedge,earthquake,rockslide": 497, + "leftovers,rockhead,earthquake,explosion,rockslide,toxic": 486 + }, + "suicune": { + "leftovers,pressure,calmmind,icebeam,substitute,surf": 666, + "leftovers,pressure,calmmind,rest,sleeptalk,surf": 1458, + "chestoberry,pressure,calmmind,icebeam,rest,surf": 661 + }, + "sunflora": { + "leftovers,chlorophyll,hiddenpowerfire,razorleaf,synthesis,toxic": 652, + "leftovers,chlorophyll,hiddenpowerfire,solarbeam,sunnyday,synthesis": 1325, + "leftovers,chlorophyll,hiddenpowerfire,leechseed,razorleaf,synthesis": 663 + }, + "swalot": { + "leftovers,liquidooze,encore,shadowball,sludgebomb,toxic": 53, + "leftovers,liquidooze,encore,icebeam,sludgebomb,toxic": 45, + "leftovers,liquidooze,encore,hiddenpowerground,painsplit,sludgebomb": 57, + "leftovers,liquidooze,hiddenpowerground,icebeam,painsplit,sludgebomb": 94, + "leftovers,liquidooze,hiddenpowerground,shadowball,sludgebomb,yawn": 113, + "leftovers,liquidooze,icebeam,shadowball,sludgebomb,toxic": 113, + "leftovers,liquidooze,hiddenpowerground,icebeam,sludgebomb,yawn": 90, + "leftovers,liquidooze,encore,icebeam,sludgebomb,yawn": 53, + "leftovers,liquidooze,explosion,icebeam,shadowball,sludgebomb": 100, + "leftovers,liquidooze,icebeam,painsplit,sludgebomb,yawn": 66, + "leftovers,liquidooze,painsplit,shadowball,sludgebomb,toxic": 74, + "leftovers,liquidooze,encore,explosion,icebeam,sludgebomb": 58, + "leftovers,liquidooze,explosion,hiddenpowerground,sludgebomb,yawn": 59, + "leftovers,liquidooze,icebeam,shadowball,sludgebomb,yawn": 104, + "leftovers,liquidooze,explosion,hiddenpowerground,icebeam,sludgebomb": 93, + "leftovers,liquidooze,encore,icebeam,painsplit,sludgebomb": 57, + "leftovers,liquidooze,explosion,shadowball,sludgebomb,toxic": 60, + "choiceband,liquidooze,explosion,hiddenpowerground,shadowball,sludgebomb": 108, + "leftovers,liquidooze,icebeam,painsplit,sludgebomb,toxic": 43, + "leftovers,liquidooze,explosion,icebeam,sludgebomb,yawn": 62, + "leftovers,liquidooze,encore,hiddenpowerground,shadowball,sludgebomb": 89, + "leftovers,liquidooze,encore,hiddenpowerground,icebeam,sludgebomb": 109, + "leftovers,liquidooze,encore,shadowball,sludgebomb,yawn": 41, + "leftovers,liquidooze,encore,explosion,shadowball,sludgebomb": 42, + "leftovers,liquidooze,encore,painsplit,shadowball,sludgebomb": 58, + "leftovers,liquidooze,icebeam,painsplit,shadowball,sludgebomb": 88, + "leftovers,liquidooze,explosion,hiddenpowerground,sludgebomb,toxic": 53, + "leftovers,liquidooze,hiddenpowerground,painsplit,shadowball,sludgebomb": 121, + "leftovers,liquidooze,hiddenpowerground,painsplit,sludgebomb,yawn": 56, + "leftovers,liquidooze,hiddenpowerground,shadowball,sludgebomb,toxic": 113, + "leftovers,liquidooze,hiddenpowerground,icebeam,sludgebomb,toxic": 105, + "leftovers,liquidooze,explosion,shadowball,sludgebomb,yawn": 57, + "leftovers,liquidooze,explosion,icebeam,sludgebomb,toxic": 50, + "leftovers,liquidooze,encore,hiddenpowerground,sludgebomb,toxic": 53, + "leftovers,liquidooze,encore,explosion,hiddenpowerground,sludgebomb": 68, + "leftovers,liquidooze,hiddenpowerground,icebeam,shadowball,sludgebomb": 120, + "leftovers,liquidooze,hiddenpowerground,painsplit,sludgebomb,toxic": 60, + "leftovers,liquidooze,encore,icebeam,shadowball,sludgebomb": 83, + "leftovers,liquidooze,painsplit,shadowball,sludgebomb,yawn": 53, + "leftovers,liquidooze,encore,hiddenpowerground,sludgebomb,yawn": 58 + }, + "swampert": { + "leftovers,torrent,earthquake,icebeam,surf,toxic": 200, + "leftovers,torrent,earthquake,hydropump,refresh,toxic": 197, + "leftovers,torrent,earthquake,rest,sleeptalk,surf": 396, + "leftovers,torrent,earthquake,hydropump,protect,toxic": 414, + "leftovers,torrent,earthquake,refresh,surf,toxic": 179, + "leftovers,torrent,earthquake,protect,surf,toxic": 413, + "leftovers,torrent,earthquake,hydropump,rest,sleeptalk": 381, + "leftovers,torrent,earthquake,hydropump,icebeam,toxic": 218 + }, + "swellow": { + "choiceband,guts,aerialace,hiddenpowerground,quickattack,return": 678, + "choiceband,guts,aerialace,facade,hiddenpowerground,return": 637, + "choiceband,guts,aerialace,doubleedge,facade,hiddenpowerground": 591, + "choiceband,guts,aerialace,doubleedge,hiddenpowerground,quickattack": 616 + }, + "tangela": { + "leftovers,chlorophyll,hiddenpowergrass,leechseed,morningsun,toxic": 331, + "leftovers,chlorophyll,hiddenpowerfire,sleeppowder,solarbeam,sunnyday": 742, + "leftovers,chlorophyll,hiddenpowergrass,leechseed,morningsun,stunspore": 307, + "leftovers,chlorophyll,hiddenpowerfire,morningsun,solarbeam,sunnyday": 717, + "leftovers,chlorophyll,hiddenpowergrass,morningsun,sleeppowder,stunspore": 313, + "leftovers,chlorophyll,hiddenpowergrass,leechseed,morningsun,sleeppowder": 233, + "leftovers,chlorophyll,hiddenpowergrass,morningsun,sleeppowder,toxic": 274 + }, + "tauros": { + "choiceband,intimidate,doubleedge,earthquake,hiddenpowerghost,return": 2844 + }, + "tentacruel": { + "leftovers,liquidooze,icebeam,rapidspin,sludgebomb,surf": 203, + "leftovers,liquidooze,hydropump,icebeam,sludgebomb,toxic": 233, + "leftovers,liquidooze,rapidspin,sludgebomb,surf,toxic": 210, + "leftovers,clearbody,icebeam,sludgebomb,surf,toxic": 240, + "leftovers,clearbody,hydropump,icebeam,sludgebomb,toxic": 228, + "leftovers,clearbody,rapidspin,sludgebomb,surf,toxic": 227, + "leftovers,clearbody,hydropump,rapidspin,sludgebomb,toxic": 211, + "leftovers,liquidooze,hydropump,rapidspin,sludgebomb,toxic": 201, + "leftovers,clearbody,hydropump,icebeam,rapidspin,sludgebomb": 227, + "leftovers,liquidooze,icebeam,sludgebomb,surf,toxic": 245, + "leftovers,clearbody,icebeam,rapidspin,sludgebomb,surf": 203, + "leftovers,liquidooze,hydropump,icebeam,rapidspin,sludgebomb": 217 + }, + "togetic": { + "leftovers,serenegrace,protect,seismictoss,toxic,wish": 1236, + "leftovers,serenegrace,seismictoss,softboiled,thunderwave,toxic": 312, + "leftovers,serenegrace,encore,seismictoss,softboiled,toxic": 335, + "leftovers,serenegrace,charm,seismictoss,softboiled,toxic": 283, + "leftovers,serenegrace,flamethrower,seismictoss,softboiled,toxic": 314 + }, + "torkoal": { + "chestoberry,whitesmoke,flamethrower,hiddenpowergrass,rest,toxic": 685, + "leftovers,whitesmoke,explosion,flamethrower,hiddenpowergrass,toxic": 709, + "leftovers,whitesmoke,explosion,fireblast,hiddenpowergrass,toxic": 712, + "chestoberry,whitesmoke,fireblast,hiddenpowergrass,rest,toxic": 671 + }, + "tropius": { + "leftovers,chlorophyll,earthquake,hiddenpowerflying,swordsdance,synthesis": 1246, + "leftovers,chlorophyll,earthquake,hiddenpowerflying,synthesis,toxic": 621, + "leftovers,chlorophyll,hiddenpowerflying,leechseed,synthesis,toxic": 616 + }, + "typhlosion": { + "petayaberry,blaze,fireblast,hiddenpowerice,substitute,thunderpunch": 709, + "petayaberry,blaze,flamethrower,hiddenpowerice,substitute,thunderpunch": 724, + "leftovers,blaze,fireblast,focuspunch,substitute,thunderpunch": 261, + "leftovers,blaze,flamethrower,hiddenpowerice,thunderpunch,toxic": 140, + "leftovers,blaze,earthquake,flamethrower,thunderpunch,toxic": 148, + "leftovers,blaze,earthquake,fireblast,hiddenpowerice,thunderpunch": 144, + "leftovers,blaze,flamethrower,focuspunch,substitute,thunderpunch": 288, + "leftovers,blaze,earthquake,flamethrower,hiddenpowerice,thunderpunch": 149, + "leftovers,blaze,fireblast,hiddenpowerice,thunderpunch,toxic": 135, + "leftovers,blaze,earthquake,fireblast,thunderpunch,toxic": 152 + }, + "tyranitar": { + "leftovers,sandstream,crunch,earthquake,pursuit,rockslide": 93, + "leftovers,sandstream,crunch,fireblast,rockslide,thunderwave": 98, + "choiceband,sandstream,earthquake,fireblast,hiddenpowerflying,rockslide": 431, + "leftovers,sandstream,earthquake,rest,rockslide,sleeptalk": 484, + "lumberry,sandstream,dragondance,earthquake,hiddenpowerflying,rockslide": 487, + "leftovers,sandstream,crunch,icebeam,pursuit,rockslide": 94, + "leftovers,sandstream,crunch,fireblast,icebeam,rockslide": 86, + "lumberry,sandstream,dragondance,earthquake,fireblast,rockslide": 431, + "leftovers,sandstream,crunch,fireblast,pursuit,rockslide": 90, + "leftovers,sandstream,crunch,icebeam,rockslide,thunderwave": 98, + "leftovers,sandstream,crunch,earthquake,icebeam,rockslide": 92, + "leftovers,sandstream,crunch,earthquake,rockslide,thunderwave": 83, + "leftovers,sandstream,crunch,earthquake,fireblast,rockslide": 96, + "leftovers,sandstream,crunch,pursuit,rockslide,thunderwave": 104 + }, + "umbreon": { + "leftovers,synchronize,batonpass,protect,toxic,wish": 1487, + "leftovers,synchronize,hiddenpowerfire,protect,toxic,wish": 739, + "leftovers,synchronize,hiddenpowerground,protect,toxic,wish": 719 + }, + "unown": { + "choiceband,levitate,hiddenpowerfighting": 699, + "twistedspoon,levitate,hiddenpowerpsychic": 1344, + "choiceband,levitate,hiddenpowerbug": 686 + }, + "ursaring": { + "choiceband,guts,earthquake,focuspunch,hiddenpowerghost,return": 938, + "choiceband,guts,earthquake,facade,hiddenpowerghost,return": 890, + "leftovers,guts,earthquake,hiddenpowerghost,return,swordsdance": 953 + }, + "vaporeon": { + "leftovers,waterabsorb,protect,surf,toxic,wish": 1396, + "leftovers,waterabsorb,icebeam,protect,surf,wish": 1382 + }, + "venomoth": { + "leftovers,shielddust,psychic,signalbeam,sleeppowder,sludgebomb": 387, + "leftovers,shielddust,hiddenpowerfire,psychic,signalbeam,sludgebomb": 383, + "leftovers,shielddust,signalbeam,sleeppowder,sludgebomb,substitute": 136, + "leftovers,shielddust,hiddenpowerfire,signalbeam,sludgebomb,substitute": 129, + "leftovers,shielddust,hiddenpowerfire,psychic,sleeppowder,sludgebomb": 339, + "leftovers,shielddust,batonpass,sleeppowder,sludgebomb,substitute": 149, + "leftovers,shielddust,psychic,sleeppowder,sludgebomb,substitute": 138, + "leftovers,shielddust,batonpass,signalbeam,sludgebomb,substitute": 144, + "leftovers,shielddust,batonpass,hiddenpowerfire,sludgebomb,substitute": 159, + "leftovers,shielddust,hiddenpowerfire,signalbeam,sleeppowder,sludgebomb": 375, + "leftovers,shielddust,hiddenpowerfire,sleeppowder,sludgebomb,substitute": 152, + "leftovers,shielddust,hiddenpowerfire,psychic,sludgebomb,substitute": 131, + "leftovers,shielddust,batonpass,psychic,sludgebomb,substitute": 136, + "leftovers,shielddust,psychic,signalbeam,sludgebomb,substitute": 131 + }, + "venusaur": { + "leftovers,overgrow,earthquake,sleeppowder,sludgebomb,swordsdance": 501, + "leftovers,overgrow,leechseed,sleeppowder,sludgebomb,substitute": 714, + "salacberry,overgrow,earthquake,hiddenpowerghost,sludgebomb,swordsdance": 501, + "leftovers,overgrow,hiddenpowergrass,leechseed,sludgebomb,substitute": 712, + "leftovers,overgrow,earthquake,sludgebomb,swordsdance,synthesis": 513 + }, + "victreebel": { + "leftovers,chlorophyll,hiddenpowerground,magicalleaf,sludgebomb,synthesis": 469, + "leftovers,chlorophyll,hiddenpowerground,sleeppowder,sludgebomb,synthesis": 500, + "leftovers,chlorophyll,hiddenpowerfire,sludgebomb,solarbeam,sunnyday": 948, + "leftovers,chlorophyll,hiddenpowerground,sludgebomb,swordsdance,synthesis": 489, + "leftovers,chlorophyll,hiddenpowerground,sleeppowder,sludgebomb,swordsdance": 494 + }, + "vigoroth": { + "leftovers,vitalspirit,bulkup,earthquake,return,slackoff": 686, + "leftovers,vitalspirit,bulkup,return,shadowball,slackoff": 664, + "leftovers,vitalspirit,bodyslam,bulkup,shadowball,slackoff": 702, + "leftovers,vitalspirit,bodyslam,bulkup,earthquake,slackoff": 668 + }, + "vileplume": { + "leftovers,chlorophyll,aromatherapy,hiddenpowerfire,sludgebomb,synthesis": 529, + "leftovers,chlorophyll,hiddenpowerfire,sleeppowder,sludgebomb,synthesis": 656, + "leftovers,chlorophyll,hiddenpowergrass,sleeppowder,sludgebomb,synthesis": 611, + "leftovers,chlorophyll,aromatherapy,hiddenpowergrass,sludgebomb,synthesis": 553, + "leftovers,chlorophyll,aromatherapy,sleeppowder,sludgebomb,synthesis": 463 + }, + "volbeat": { + "leftovers,swarm,batonpass,icepunch,tailglow,thunderbolt": 3036 + }, + "wailord": { + "leftovers,waterveil,rest,sleeptalk,surf,toxic": 692, + "leftovers,waterveil,icebeam,selfdestruct,surf,toxic": 469, + "leftovers,waterveil,icebeam,rest,sleeptalk,surf": 694, + "leftovers,waterveil,hiddenpowergrass,icebeam,surf,toxic": 475, + "leftovers,waterveil,hiddenpowergrass,icebeam,selfdestruct,surf": 425 + }, + "walrein": { + "leftovers,thickfat,icebeam,protect,surf,toxic": 1324, + "leftovers,thickfat,icebeam,rest,sleeptalk,surf": 643, + "leftovers,thickfat,encore,icebeam,surf,toxic": 641 + }, + "weezing": { + "leftovers,levitate,explosion,fireblast,sludgebomb,toxic": 409, + "leftovers,levitate,fireblast,painsplit,sludgebomb,toxic": 406, + "leftovers,levitate,explosion,fireblast,sludgebomb,willowisp": 420, + "leftovers,levitate,fireblast,painsplit,sludgebomb,willowisp": 397, + "leftovers,levitate,explosion,fireblast,haze,sludgebomb": 353, + "leftovers,levitate,fireblast,haze,sludgebomb,willowisp": 340, + "leftovers,levitate,fireblast,haze,painsplit,sludgebomb": 370, + "leftovers,levitate,fireblast,haze,sludgebomb,toxic": 352 + }, + "whiscash": { + "leftovers,oblivious,earthquake,icebeam,surf,toxic": 640, + "leftovers,oblivious,earthquake,icebeam,protect,toxic": 1244, + "leftovers,oblivious,earthquake,rest,sleeptalk,surf": 653 + }, + "wigglytuff": { + "leftovers,cutecharm,protect,seismictoss,toxic,wish": 922, + "leftovers,cutecharm,doubleedge,protect,toxic,wish": 458, + "leftovers,cutecharm,doubleedge,protect,thunderwave,wish": 455, + "leftovers,cutecharm,bodyslam,fireblast,protect,wish": 907 + }, + "wobbuffet": { + "leftovers,shadowtag,counter,destinybond,encore,mirrorcoat": 1 + }, + "xatu": { + "leftovers,synchronize,batonpass,calmmind,hiddenpowerfire,psychic": 420, + "leftovers,synchronize,protect,psychic,toxic,wish": 395, + "leftovers,synchronize,hiddenpowerfire,protect,psychic,wish": 415, + "leftovers,earlybird,calmmind,hiddenpowerfire,psychic,rest": 874, + "leftovers,synchronize,protect,psychic,thunderwave,wish": 412 + }, + "yanma": { + "leftovers,compoundeyes,aerialace,hiddenpowerground,hypnosis,toxic": 191, + "leftovers,compoundeyes,aerialace,hiddenpowerground,signalbeam,toxic": 201, + "liechiberry,compoundeyes,hiddenpowerflying,hypnosis,reversal,substitute": 575, + "liechiberry,speedboost,hiddenpowerflying,reversal,shadowball,substitute": 610, + "leftovers,compoundeyes,aerialace,doubleedge,hiddenpowerground,toxic": 177, + "leftovers,compoundeyes,aerialace,doubleedge,hiddenpowerground,hypnosis": 223, + "leftovers,compoundeyes,aerialace,hiddenpowerground,hypnosis,signalbeam": 206, + "choiceband,speedboost,aerialace,doubleedge,hiddenpowerground,signalbeam": 197 + }, + "zangoose": { + "leftovers,immunity,quickattack,return,shadowball,swordsdance": 943, + "choiceband,immunity,brickbreak,quickattack,return,shadowball": 952, + "salacberry,immunity,brickbreak,return,shadowball,swordsdance": 951 + }, + "zapdos": { + "leftovers,pressure,batonpass,hiddenpowerice,substitute,thunderbolt": 296, + "leftovers,pressure,hiddenpowerice,rest,sleeptalk,thunderbolt": 873, + "leftovers,pressure,hiddenpowerice,protect,thunderbolt,toxic": 900, + "leftovers,pressure,hiddenpowerice,substitute,thunderbolt,thunderwave": 305, + "leftovers,pressure,hiddenpowerice,substitute,thunderbolt,toxic": 298 + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen4ou.json b/data/pkmn_sets/gen4ou.json new file mode 100644 index 000000000..f48d069a9 --- /dev/null +++ b/data/pkmn_sets/gen4ou.json @@ -0,0 +1,5265 @@ +{ + "pokemon": { + "heatran": { + "|flashfire|focussash|naive|0,0,0,252,4,252|stealthrock|fireblast|hiddenpowergrass|explosion": 2, + "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice": 2, + "|flashfire|focussash|hasty|0,4,0,252,0,252|magmastorm|stealthrock|explosion|earthpower": 1, + "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|stealthrock|protect|toxic": 1, + "|flashfire|leftovers|modest|248,0,0,96,0,164|fireblast|earthpower|stealthrock|explosion": 3, + "|flashfire|lifeorb|timid|0,0,0,252,4,252|fireblast|earthpower|hiddenpowergrass|explosion": 4, + "|flashfire|shucaberry|calm|244,0,0,36,12,216|stealthrock|earthpower|explosion|lavaplume": 1, + "|flashfire|choicespecs|quiet|252,0,0,252,4,0|eruption|fireblast|earthpower|flamethrower": 2, + "|flashfire|passhoberry|modest|128,0,164,216,0,0|stealthrock|magmastorm|explosion|hiddenpowergrass": 2, + "|flashfire|choicescarf|naive|0,4,0,252,0,252|fireblast|earthpower|hiddenpowerice|explosion": 3, + "|flashfire|passhoberry|modest|128,0,0,216,0,164|magmastorm|hiddenpowergrass|dragonpulse|explosion": 4, + "|flashfire|leftovers|sassy|240,24,0,0,244,0|stealthrock|lavaplume|protect|explosion": 2, + "|flashfire|passhoberry|timid|0,4,0,252,0,252|fireblast|earthpower|hiddenpowergrass|explosion": 2, + "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|protect|explosion": 2, + "|flashfire|lumberry|modest|252,0,80,96,0,80|explosion|magmastorm|earthpower|willowisp": 1, + "|flashfire|choicespecs|timid|0,0,0,252,4,252|overheat|heatwave|earthpower|hiddenpowergrass": 1, + "|flashfire|passhoberry|timid|44,0,0,212,0,252|fireblast|earthpower|hiddenpowerelectric|stealthrock": 4, + "|flashfire|leftovers|modest|248,0,0,96,0,164|lavaplume|earthpower|explosion|stealthrock": 2, + "|flashfire|leftovers|hasty|248,0,0,60,0,200|willowisp|flamethrower|explosion|stealthrock": 1, + "|flashfire|focussash|modest|252,24,88,16,0,128|stealthrock|magmastorm|willowisp|explosion": 1, + "|flashfire|passhoberry|modest|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|hiddenpowergrass": 1, + "|flashfire|passhoberry|hasty|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock": 1, + "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion": 6, + "|flashfire|custapberry|hasty|0,36,0,244,0,228|fireblast|ironhead|endure|explosion": 2, + "|flashfire|widelens|timid|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|explosion": 4, + "|flashfire|shucaberry|timid|52,0,4,252,0,200|stealthrock|fireblast|willowisp|explosion": 1, + "|flashfire|passhoberry|modest|132,0,0,252,0,124|fireblast|stealthrock|explosion|earthpower": 1, + "|flashfire|choicescarf|hasty|0,4,0,252,0,252|overheat|flamethrower|earthpower|explosion": 1, + "|flashfire|focussash|hasty|0,4,0,252,0,252|flamethrower|willowisp|explosion|stealthrock": 2, + "|flashfire|choicescarf|hasty|0,4,0,252,0,252|fireblast|earthpower|explosion|hiddenpowerelectric": 2, + "|flashfire|leftovers|modest|248,0,0,16,204,40|substitute|protect|lavaplume|earthpower": 1, + "|flashfire|leftovers|gentle|252,0,0,60,0,196|stealthrock|flamethrower|willowisp|explosion": 1, + "|flashfire|leftovers|modest|252,0,0,4,0,252|stealthrock|fireblast|earthpower|explosion": 2, + "|flashfire|leftovers|calm|252,0,8,28,208,12|lavaplume|earthpower|explosion|stealthrock": 2, + "|flashfire|focussash|hasty|28,32,0,252,0,196|stealthrock|magmastorm|hiddenpowergrass|explosion": 2, + "|flashfire|shucaberry|timid|0,0,4,252,0,252|fireblast|stealthrock|earthpower|explosion": 2, + "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|stealthrock|explosion": 2, + "|flashfire|leftovers|modest|32,0,0,100,156,220|magmastorm|earthpower|hiddenpowergrass|explosion": 1, + "|flashfire|custapberry|modest|252,0,0,116,0,140|stealthrock|lavaplume|earthpower|explosion": 1, + "|flashfire|leftovers|modest|40,0,0,252,0,216|dragonpulse|magmastorm|taunt|substitute": 1, + "|flashfire|widelens|modest|0,0,4,252,0,252|magmastorm|hiddenpowergrass|earthpower|explosion": 2, + "|flashfire|leftovers|calm|240,0,0,0,208,60|substitute|protect|torment|lavaplume": 2, + "|flashfire|choicescarf|timid|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice": 2, + "|flashfire|passhoberry|modest|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock": 4, + "|flashfire|leftovers|calm|248,0,0,0,248,12|protect|lavaplume|earthpower|roar": 1, + "|flashfire|lumberry|modest|96,0,0,252,0,160|magmastorm|dragonpulse|earthpower|taunt": 1, + "|flashfire|leftovers|modest|252,0,0,252,4,0|dragonpulse|flamethrower|willowisp|flashcannon": 1, + "|flashfire|passhoberry|modest|240,0,0,140,0,128|stealthrock|fireblast|hiddenpowergrass|explosion": 1, + "|flashfire|choicespecs|modest|40,0,0,252,0,216|overheat|earthpower|dragonpulse|flamethrower": 1, + "|flashfire|shucaberry|naive|0,4,0,252,0,252|stealthrock|fireblast|earthpower|explosion": 2, + "|flashfire|leftovers|hasty|252,0,0,56,0,200|stealthrock|fireblast|willowisp|explosion": 1, + "|flashfire|leftovers|timid|0,0,4,252,0,252|flamethrower|earthpower|explosion|willowisp": 2, + "|flashfire|shucaberry|timid|144,0,8,104,0,252|fireblast|earthpower|explosion|willowisp": 1, + "|flashfire|shucaberry|bold|248,0,176,0,48,36|stealthrock|lavaplume|earthpower|explosion": 1, + "|flashfire|focussash|mild|0,24,0,252,0,232|stealthrock|explosion|magmastorm|earthpower": 1, + "|flashfire|choicespecs|modest|40,0,0,252,0,216|overheat|flamethrower|earthpower|dragonpulse": 1, + "|flashfire|leftovers|calm|252,0,4,0,252,0|substitute|lavaplume|earthpower|roar": 1, + "|flashfire|leftovers|timid|0,0,0,252,4,252|substitute|protect|lavaplume|earthpower": 1, + "|flashfire|passhoberry|mild|140,0,0,244,0,124|explosion|hiddenpowergrass|dragonpulse|fireblast": 1, + "|flashfire|passhoberry|naive|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock": 1 + }, + "infernape": { + "|blaze|expertbelt|naive|0,156,0,160,0,192|fireblast|closecombat|grassknot|machpunch": 2, + "|blaze|lumberry|naive|0,252,0,64,0,192|fireblast|closecombat|hiddenpowerice|machpunch": 2, + "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|uturn|grassknot": 3, + "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|hiddenpowerice": 2, + "|blaze|lifeorb|naive|0,64,0,252,0,192|overheat|closecombat|slackoff|machpunch": 3, + "|blaze|expertbelt|timid|4,0,0,252,0,252|hiddenpowerice|grassknot|overheat|slackoff": 2, + "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|overheat|grassknot|uturn": 4, + "|blaze|lifeorb|hasty|0,60,0,252,0,196|overheat|closecombat|grassknot|machpunch": 2, + "|blaze|sitrusberry|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|grassknot": 2, + "|blaze|lifeorb|naive|0,4,0,252,0,252|nastyplot|closecombat|fireblast|grassknot": 2, + "|blaze|lifeorb|timid|0,0,0,252,4,252|nastyplot|fireblast|grassknot|vacuumwave": 2, + "|blaze|choiceband|jolly|0,252,0,0,4,252|closecombat|flareblitz|machpunch|uturn": 2, + "|blaze|focussash|naive|0,64,0,252,0,192|uturn|stealthrock|fireblast|closecombat": 1, + "|blaze|lifeorb|hasty|0,4,0,252,0,252|closecombat|overheat|uturn|grassknot": 1, + "|blaze|leftovers|naive|0,252,0,56,0,200|machpunch|overheat|closecombat|uturn": 2, + "|blaze|focussash|naive|0,0,0,252,0,252|stealthrock|endeavor|vacuumwave|overheat": 2, + "|blaze|passhoberry|hasty|0,144,0,168,0,196|nastyplot|flamethrower|closecombat|grassknot": 2, + "|blaze|focussash|hasty|0,4,0,252,0,252|stealthrock|closecombat|overheat|taunt": 1, + "|blaze|lifeorb|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|slackoff": 2, + "|blaze|shucaberry|naive|0,144,8,164,0,192|nastyplot|fireblast|closecombat|grassknot": 1, + "|blaze|choicescarf|naive|0,4,0,252,0,252|uturn|closecombat|fireblast|hiddenpowerice": 2, + "|blaze|choicescarf|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|thunderpunch": 2, + "|blaze|leftovers|jolly|64,252,0,0,0,192|swordsdance|flareblitz/blazekick?|closecombat|machpunch": 1, + "|blaze|lifeorb|naive|0,252,0,64,0,192|closecombat|uturn|stoneedge|overheat": 1, + "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|fireblast|grassknot|machpunch": 2, + "|blaze|choiceband|jolly|64,252,0,0,0,192|uturn|closecombat|flareblitz|machpunch": 1, + "|blaze|expertbelt|hasty|0,252,0,4,0,252|closecombat|fireblast|grassknot|hiddenpowerice": 2, + "|blaze|expertbelt|naive|0,56,0,252,0,200|fireblast|hiddenpowerice|closecombat|grassknot": 2, + "|blaze|lifeorb|naive|0,64,0,252,0,192|slackoff|closecombat|fireblast|vacuumwave": 2, + "|blaze|expertbelt|hasty|0,4,0,252,0,252|fireblast|closecombat|grassknot|machpunch": 1 + }, + "gyarados": { + "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|substitute|thunderwave": 2, + "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake": 5, + "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance": 3, + "|intimidate|leftovers|jolly|0,252,4,0,0,252|dragondance|waterfall|thunderwave|substitute": 1, + "|intimidate|lumberry|adamant|0,252,4,0,0,252|dragondance|waterfall|doubleedge|taunt": 1, + "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|earthquake": 4, + "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake": 3, + "|intimidate|leftovers|adamant|0,252,0,0,4,252|thunderwave|dragondance|waterfall|icefang": 2, + "|intimidate|wacanberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake": 2, + "|intimidate|leftovers|adamant|0,252,0,0,8,248|dragondance|waterfall|bounce|taunt": 2, + "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|thunderwave|substitute|dragondance": 1, + "|intimidate|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|bounce|stoneedge": 1, + "|intimidate|lumberry|adamant|0,252,4,0,0,252|waterfall|return|earthquake|dragondance": 2, + "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang": 10, + "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake": 3, + "|intimidate|leftovers|adamant|156,72,96,0,0,184|dragondance|taunt|waterfall|stoneedge": 2, + "|intimidate|lumberry|adamant|56,252,0,0,4,196|dragondance|waterfall|earthquake|icefang": 1, + "|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|waterfall|stoneedge|icefang": 2, + "|intimidate|lifeorb|adamant|0,252,0,0,4,252|dragondance|waterfall|stoneedge|earthquake": 1, + "|intimidate|leftovers|adamant|248,40,36,0,0,184|substitute|dragondance|waterfall|doubleedge": 3, + "|intimidate|leftovers|adamant|60,252,0,0,0,196|waterfall|thunderwave|dragondance|icefang": 2, + "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|outrage": 4, + "|intimidate|leftovers|adamant|152,176,36,0,0,144|dragondance|icefang|waterfall|earthquake": 2, + "|intimidate|leftovers|adamant|32,244,8,0,0,224|dragondance|waterfall|earthquake|icefang": 1, + "|intimidate|leftovers|adamant|0,252,0,0,4,252|dragondance|earthquake|waterfall|icefang": 1, + "|intimidate|choiceband|adamant|72,252,0,0,0,184|waterfall|payback|stoneedge|earthquake": 1, + "|intimidate|leftovers|adamant|156,72,84,0,0,196|dragondance|waterfall|bounce|taunt": 2, + "|intimidate|choiceband|adamant|44,252,0,0,0,212|waterfall|earthquake|icefang|payback": 3, + "|intimidate|wacanberry|adamant|0,252,0,0,4,252|stoneedge|dragondance|outrage|waterfall": 1, + "|intimidate|leftovers|adamant|152,60,100,0,0,196|dragondance|waterfall|substitute|taunt": 1, + "|intimidate|wacanberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance": 1, + "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|stoneedge": 2, + "|intimidate|leftovers|adamant|88,208,8,0,8,196|substitute|thunderwave|waterfall|dragondance": 1, + "|intimidate|leftovers|adamant|60,252,0,0,0,196|dragondance|waterfall|icefang|earthquake": 2, + "|intimidate|wacanberry|adamant|0,252,0,0,4,252|dragondance|waterfall|stoneedge|earthquake": 1, + "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|bounce": 1, + "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|bounce|thunderwave": 2, + "|intimidate|wacanberry|adamant|0,116,0,0,196,196|waterfall|earthquake|stoneedge|dragondance": 2, + "|intimidate|lumberry|adamant|4,252,0,0,0,252|dragondance|waterfall|icefang|earthquake": 1, + "|intimidate|lumberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake": 2, + "|intimidate|wacanberry|adamant|72,252,0,0,0,184|dragondance|waterfall|icefang|earthquake": 1, + "|intimidate|lumberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake": 1, + "|intimidate|choiceband|adamant|32,252,0,0,0,224|waterfall|payback|stoneedge|earthquake": 1, + "|intimidate|wacanberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|stoneedge": 1 + }, + "tyranitar": { + "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch": 9, + "|sandstream|passhoberry|jolly|0,252,0,0,4,252|dragondance|crunch|stoneedge|earthquake": 1, + "|sandstream|leftovers|lonely|252,172,0,72,0,12|substitute|focuspunch|icebeam|crunch": 4, + "|sandstream|chopleberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|taunt": 1, + "|sandstream|chopleberry|adamant|80,104,0,0,76,248|crunch|pursuit|stealthrock|stoneedge": 1, + "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|thunderwave": 2, + "|sandstream|choiceband|adamant|128,252,0,0,0,128|crunch|pursuit|stoneedge|superpower": 3, + "|sandstream|passhoberry|adamant|48,252,0,0,196,12|crunch|superpower|pursuit|thunderwave": 2, + "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower": 6, + "|sandstream|passhoberry|adamant|48,252,0,0,192,16|crunch|pursuit|superpower|thunderwave": 3, + "|sandstream|choiceband|brave|252,252,0,0,4,0|crunch|pursuit|stoneedge|aquatail": 2, + "|sandstream|custapberry|adamant|252,252,0,0,0,4|stoneedge|crunch|pursuit|superpower": 2, + "|sandstream|lumberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|aquatail": 2, + "|sandstream|passhoberry|lonely|48,144,0,68,112,136|crunch|pursuit|earthquake|fireblast": 2, + "|sandstream|expertbelt|lonely|48,36,0,168,4,252|fireblast|hiddenpowergrass|superpower|crunch": 4, + "|sandstream|choiceband|adamant|0,252,0,0,44,212|stoneedge|crunch|pursuit|superpower": 4, + "|sandstream|passhoberry|brave|48,144,72,60,184,0|crunch|icebeam|pursuit|stoneedge": 3, + "|sandstream|choicescarf|jolly|4,252,0,0,0,252|stoneedge|crunch|pursuit|superpower": 3, + "|sandstream|focussash|jolly|4,252,0,0,0,252|crunch|superpower|taunt|stealthrock": 2, + "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower": 7, + "|sandstream|chopleberry|impish|252,0,252,0,4,0|thunderwave|counter|stealthrock|payback": 2, + "|sandstream|babiriberry|jolly|0,252,0,0,4,252|dragondance|firepunch|earthquake|crunch": 2, + "|sandstream|shucaberry|jolly|8,248,0,0,0,252|earthquake|stoneedge|icepunch|dragondance": 1, + "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|icepunch|earthquake|crunch": 2, + "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|earthquake": 2, + "|sandstream|choiceband|adamant|8,252,0,0,128,120|crunch|pursuit|stoneedge|superpower": 1, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch": 2, + "|sandstream|expertbelt|naive|0,56,0,252,0,200|fireblast|icebeam|darkpulse|superpower": 1, + "|sandstream|lumberry|jolly|8,248,0,0,0,252|crunch|firepunch|earthquake|dragondance": 2, + "|sandstream|expertbelt|jolly|0,252,0,0,4,252|dragondance|crunch|aquatail|firepunch": 3, + "|sandstream|passhoberry/chopleberry|lonely|198,12,0,84,76,138|stealthrock|crunch|superpower|fireblast": 2, + "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake": 5, + "|sandstream|leftovers|sassy|248,4,4,0,252,0|stealthrock|thunderwave|fireblast|rockslide": 1, + "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch": 3, + "|sandstream|chopleberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stoneedge": 2, + "|sandstream|lumberry|jolly|32,224,0,0,0,252|dragondance|crunch|firepunch|earthquake": 1, + "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|firepunch|crunch|earthquake": 4, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|firepunch|aquatail": 2, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|crunch|firepunch|aquatail|dragondance": 1, + "|sandstream|chopleberry|jolly|50,144,58,0,4,252|dragondance|firepunch|earthquake|crunch": 4, + "|sandstream|passhoberry|lonely|48,64,0,216,40,140|pursuit|darkpulse|fireblast|superpower": 1, + "|sandstream|passhoberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|taunt": 1, + "|sandstream|shucaberry|lonely|248,144,0,12,0,104|crunch|pursuit|fireblast|earthquake": 1, + "|sandstream|passhoberry|adamant|124,252,0,0,0,132|superpower|crunch|pursuit|stoneedge": 3, + "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit": 6, + "|sandstream|lumberry|lonely|40,0,12,60,144,252|thunderwave|crunch|fireblast|superpower": 3, + "|sandstream|lumberry|jolly|0,128,0,0,128,252|crunch|earthquake|dragondance|stoneedge": 2, + "|sandstream|passhoberry|lonely|8,144,0,64,184,108|stealthrock|crunch|fireblast|earthquake": 1, + "|sandstream|passhoberry|adamant|40,48,184,0,148,88|crunch|superpower|toxic|stealthrock": 2, + "|sandstream|leftovers|careful|252,0,40,0,216,0|curse|payback|rest|sleeptalk": 2, + "|sandstream|chopleberry|jolly|8,248,0,0,0,252|dragondance|crunch|earthquake|icepunch": 2, + "|sandstream|shucaberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch": 3, + "|sandstream|lumberry|jolly|80,176,0,0,0,252|dragondance|earthquake|icepunch|crunch": 3, + "|sandstream|custapberry|adamant|48,144,0,0,236,80|crunch|pursuit|earthquake|stealthrock": 2, + "|sandstream|choiceband|adamant|224,240,0,0,32,12|crunch|pursuit|stoneedge|superpower": 1, + "|sandstream|chopleberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|superpower": 1, + "|sandstream|choiceband|adamant|16,232,0,0,128,132|superpower|crunch|stoneedge|pursuit": 2, + "|sandstream|custapberry|adamant|0,232,0,0,176,100|crunch|pursuit|earthquake|raindance": 1, + "|sandstream|choiceband|adamant|44,252,0,0,0,212|stoneedge|crunch|pursuit|superpower": 1, + "|sandstream|lumberry|hasty|0,0,0,152,104,252|crunch|fireblast|superpower|toxic": 3, + "|sandstream|custapberry|lonely|48,108,0,84,116,152|crunch|fireblast|pursuit|stealthrock": 2, + "|sandstream|shucaberry|jolly|0,252,4,0,0,252|dragondance|stoneedge|icepunch|earthquake": 2, + "|sandstream|choicescarf|jolly|0,252,0,0,4,252|pursuit|crunch|stoneedge|superpower": 2, + "|sandstream|shucaberry|brave|248,152,0,64,44,0|crunch|pursuit|fireblast|icebeam": 2, + "|sandstream|chopleberry|jolly|0,252,4,0,0,252|dragondance|crunch|earthquake|firepunch": 1, + "|sandstream|passhoberry|lonely|198,12,0,84,76,138|stealthrock|crunch|superpower|fireblast": 1, + "|sandstream|choiceband|adamant|232,252,0,0,24,0|stoneedge|crunch|pursuit|aquatail": 1, + "|sandstream|choicescarf|jolly|0,252,0,0,4,252|stoneedge|crunch|pursuit|thunderwave": 3, + "|sandstream|lumberry|jolly|8,248,0,0,0,252|firepunch|earthquake|crunch|dragondance": 1, + "|sandstream|choicescarf|jolly|0,252,0,0,4,252|crunch|pursuit|stoneedge|superpower": 1, + "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|icepunch|crunch|earthquake": 1, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|earthquake|crunch|icepunch": 2, + "|sandstream|choicescarf|jolly|0,252,4,0,0,252|crunch|pursuit|stoneedge|earthquake": 1, + "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stealthrock": 2, + "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stoneedge": 1, + "|sandstream|passhoberry|lonely|48,136,0,52,184,88|crunch|fireblast|superpower|stealthrock": 2, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch": 3, + "|sandstream|passhoberry|lonely|248,76,0,92,0,92|pursuit|crunch|stealthrock|fireblast": 4, + "|sandstream|choiceband|adamant|176,252,0,0,0,80|crunch|pursuit|stoneedge|superpower": 1, + "|sandstream|chopleberry|lonely|72,124,0,168,0,144|pursuit|superpower|fireblast|crunch": 1, + "|sandstream|choiceband|adamant|168,252,0,0,0,88|stoneedge|crunch|pursuit|earthquake": 1, + "|sandstream|passhoberry|lonely|104,104,0,76,76,148|pursuit|crunch|superpower|fireblast": 2, + "|sandstream|passhoberry|lonely|8,188,0,48,152,112|crunch|pursuit|stoneedge|fireblast": 1, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch": 2, + "|sandstream|lumberry|jolly|8,248,0,0,0,252|crunch|earthquake|taunt|dragondance": 1, + "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|icepunch|earthquake": 2, + "|sandstream|choiceband|adamant|248,252,0,0,0,10|stoneedge|crunch|pursuit|superpower": 1, + "|sandstream|choiceband|adamant|0,0,0,0,0,0|crunch|pursuit|superpower|stoneedge": 1, + "|sandstream|choiceband|adamant|244,252,0,0,0,12|stoneedge|crunch|pursuit|superpower": 1, + "|sandstream|lumberry|jolly|0,252,0,0,4,252|crunch|firepunch|earthquake|dragondance": 2, + "|sandstream|lumberry|lonely|224,64,0,64,0,156|stealthrock|crunch|superpower|fireblast": 1, + "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stealthrock|crunch|pursuit|superpower": 1, + "|sandstream|passhoberry|hasty|0,204,0,52,0,252|crunch|fireblast|hiddenpowergrass|superpower": 1, + "|sandstream|passhoberry|lonely|48,196,0,0,184,80|crunch|stealthrock|pursuit|stoneedge": 2, + "|sandstream|lumberry|lonely|100,144,0,56,0,208|crunch|stoneedge|pursuit|fireblast": 1, + "|sandstream|passhoberry|lonely|100,144,0,56,0,208|crunch|stoneedge|pursuit|fireblast": 2, + "|sandstream|lumberry|jolly|8,248,0,0,0,252|dragondance|crunch|earthquake|icepunch": 1, + "|sandstream|liechiberry|jolly|32,188,36,0,0,252|dragondance|crunch|firepunch|naturalgift": 1, + "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|aquatail": 2, + "|sandstream|choicescarf|hasty|0,212,0,44,0,252|crunch|pursuit|icebeam|superpower": 1, + "|sandstream|custapberry|adamant|252,108,0,0,148,0|crunch|pursuit|earthquake|stealthrock": 2, + "|sandstream|passhoberry|adamant|0,252,0,0,4,252|dragondance|crunch|firepunch|aquatail": 1, + "|sandstream|choiceband|adamant|0,252,0,0,4,252|crunch|pursuit|icepunch|superpower": 2, + "|sandstream|choicescarf|jolly|0,252,0,4,0,252|crunch|pursuit|stoneedge|icebeam": 1, + "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stealthrock|crunch|pursuit|earthquake": 1, + "|sandstream|choiceband|adamant|168,252,0,0,0,88|stoneedge|crunch|pursuit|superpower": 1, + "|sandstream|expertbelt|jolly|0,252,4,0,0,252|dragondance|crunch|firepunch|aquatail": 1 + }, + "jirachi": { + "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch": 6, + "|serenegrace|occaberry|hasty|0,4,0,252,0,252|psychic|hiddenpowerground|ironhead|thunderbolt": 1, + "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|dracometeor|hiddenpowerground": 2, + "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|hiddenpowerground|grassknot": 4, + "|serenegrace|leftovers|timid|56,0,0,232,0,220|calmmind|psychic|grassknot|hiddenpowerfire": 3, + "|serenegrace|leftovers|careful|252,0,0,0,224,32|bodyslam|ironhead|wish|protect": 2, + "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground": 5, + "|serenegrace|leftovers|careful|252,0,84,0,140,32|wish|protect|bodyslam|ironhead": 1, + "|serenegrace|leftovers|careful|248,0,84,0,144,32|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|leftovers|timid|76,0,0,248,0,184|calmmind|psychic|hiddenpowerground|grassknot": 2, + "|serenegrace|leftovers|jolly|248,0,8,0,0,252|ironhead|firepunch|thunder|stealthrock": 2, + "|serenegrace|leftovers|bold|240,0,160,0,76,32|uturn|gravity|wish|thunder": 1, + "|serenegrace|leftovers|jolly|252,20,84,0,4,148|ironhead|bodyslam|firepunch|protect": 2, + "|serenegrace|leftovers|impish|252,0,252,0,4,0|wish|ironhead|bodyslam|protect": 3, + "|serenegrace|leftovers|impish|248,0,168,0,60,32|wish|protect|bodyslam|ironhead": 3, + "|serenegrace|leftovers|jolly|252,32,44,0,4,176|protect|ironhead|bodyslam|firepunch": 2, + "|serenegrace|occaberry|hasty|0,40,0,252,0,216|ironhead|psychic|thunderbolt|hiddenpowerground": 2, + "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|bodyslam|uturn": 4, + "|serenegrace|leftovers|jolly|80,252,0,0,0,176|bodyslam|stealthrock|uturn|ironhead": 1, + "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerfire": 3, + "|serenegrace|choicescarf|jolly|16,212,0,0,28,252|uturn|ironhead|firepunch|trick": 2, + "|serenegrace|leftovers|impish|252,0,144,0,112,0|wish|bodyslam|ironhead|uturn": 1, + "|serenegrace|shucaberry|jolly|0,252,0,0,4,252|ironhead|firepunch|icepunch|thunder": 1, + "|serenegrace|leftovers|jolly|252,0,72,0,0,184|stealthrock|ironhead|bodyslam|firepunch": 1, + "|serenegrace|shucaberry|hasty|0,252,0,4,0,252|ironhead|icepunch|thunderbolt|hiddenpowerground": 2, + "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|grassknot": 2, + "|serenegrace|leftovers|jolly|180,180,0,0,0,148|ironhead|firepunch|bodyslam|protect": 4, + "|serenegrace|choicescarf|jolly|4,252,0,0,0,252|uturn|ironhead|firepunch|icepunch": 2, + "|serenegrace|leftovers|calm|248,0,80,0,180,0|stealthrock|psychic|thunderbolt|protect": 2, + "|serenegrace|leftovers|jolly|0,0,0,0,0,0|thunderwave/bodyslam|refresh|firepunch|ironhead": 1, + "|serenegrace|leftovers|jolly|252,0,0,0,160,96|ironhead|thunderwave|stealthrock|firepunch": 1, + "|serenegrace|leftovers|impish|248,0,252,0,8,0|ironhead|bodyslam|rest|sleeptalk": 1, + "|serenegrace|shucaberry|naive|144,68,0,112,0,176|icepunch|thunderbolt|ironhead|hiddenpowerground": 2, + "|serenegrace|leftovers|jolly|176,76,0,0,104,152|stealthrock|thunderwave|firepunch|ironhead": 1, + "|serenegrace|leftovers|jolly|252,32,44,0,4,176|thunder/grassknot|ironhead|bodyslam/icywind|firepunch/hpground": 1, + "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|thunderwave|ironhead|firepunch": 1, + "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|dracometeor|hiddenpowerground": 2, + "|serenegrace|lumberry|naive|0,252,0,0,4,252|ironhead|firepunch|icepunch|grassknot": 3, + "|serenegrace|leftovers|careful|252,0,40,0,184,32|firepunch|ironhead|uturn|gravity": 2, + "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|uturn|trick|ironhead|thunderpunch/icepunch": 2, + "|serenegrace|choicescarf|jolly|104,252,4,0,0,148|ironhead|firepunch|thunderpunch|icepunch": 1, + "|serenegrace|shucaberry|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerground|calmmind": 1, + "|serenegrace|choicescarf|jolly|0,100,152,0,4,252|ironhead|firepunch|healingwish|thunderpunch": 1, + "|serenegrace|leftovers|impish|252,32,224,0,0,0|ironhead|thunderwave|firepunch|icepunch": 1, + "|serenegrace|expertbelt|hasty|0,160,0,96,0,252|ironhead|firepunch|thunderbolt|grassknot": 1, + "|serenegrace|leftovers|timid|0,0,4,252,0,252|calmmind|psychic|hiddenpowerground|thunderbolt": 3, + "|serenegrace|leftovers|jolly|248,84,0,0,0,176|ironhead|bodyslam|firepunch|healingwish": 2, + "|serenegrace|leftovers|jolly|176,156,0,0,0,176|stealthrock|ironhead|bodyslam|firepunch": 3, + "|serenegrace|leftovers|modest|156,0,0,176,0,176|dracometeor|thunder|hiddenpowerground|calmmind": 4, + "|serenegrace|choicescarf|jolly|104,252,4,0,0,148|uturn|ironhead|icepunch|trick": 1, + "|serenegrace|shucaberry|timid|0,0,0,252,4,252|stealthrock|hiddenpowerfire|grassknot|psychic": 1, + "|serenegrace|leftovers|jolly|252,108,0,0,0,148|stealthrock|ironhead|bodyslam|firepunch": 2, + "|serenegrace|shucaberry|jolly|4,252,0,0,0,252|ironhead|firepunch|thunderpunch|icepunch": 1, + "|serenegrace|shucaberry|hasty|168,148,0,12,0,180|ironhead|thunderbolt|firepunch|hiddenpowerground": 2, + "|serenegrace|leftovers|bold|252,0,224,0,0,32|calmmind|wish|thunderbolt|psychic": 2, + "|serenegrace|shucaberry|modest|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerground": 3, + "|serenegrace|leftovers|impish|252,0,252,0,4,0|bodyslam|ironhead|wish|protect": 2, + "|serenegrace|leftovers|impish|252,0,208,0,32,16|bodyslam|uturn|wish|protect": 1, + "|serenegrace|choicescarf|jolly|36,156,56,0,8,252|uturn|ironhead|firepunch|healingwish": 1, + "|serenegrace|leftovers|timid|252,0,72,0,0,184|substitute|calmmind|thunder|psychic": 1, + "|serenegrace|leftovers|impish|240,0,160,0,88,20|wish|protect|bodyslam|ironhead": 2, + "|serenegrace|leftovers|impish|252,0,196,0,60,0|ironhead|bodyslam|wish|protect": 2, + "|serenegrace|leftovers|timid|40,0,0,252,0,216|thunderbolt|psychic|healingwish|calmmind": 1, + "|serenegrace|lumberry|hasty|0,40,0,252,0,216|thunder|ironhead|psychic|firepunch": 3, + "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|hiddenpowerground": 2, + "|serenegrace|leftovers|hasty|16,252,0,64,0,176|ironhead|firepunch|thunder|stealthrock": 2, + "|serenegrace|leftovers|careful|252,36,44,0,176,0|wish|protect|ironhead|bodyslam": 3, + "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|uturn|trick|ironhead|icepunch": 1, + "|serenegrace|leftovers|timid|252,0,72,0,8,176|substitute|calmmind|psychic|thunderbolt": 1, + "|serenegrace|choicescarf|jolly|120,240,0,0,0,148|ironhead|icepunch|uturn|healingwish": 1, + "|serenegrace|leftovers|careful|252,0,0,0,224,32|ironhead|stealthrock|bodyslam|firepunch": 2, + "|serenegrace|lumberry|jolly|112,144,0,0,0,252|thunderwave|ironhead|firepunch|icepunch": 1, + "|serenegrace|leftovers|jolly|80,252,0,0,0,176|uturn|bodyslam|ironhead|firepunch": 1, + "|serenegrace|leftovers|careful|252,0,80,0,176,0|bodyslam|ironhead|stealthrock|uturn": 1, + "|serenegrace|expertbelt|hasty|0,4,0,252,0,252|ironhead|hiddenpowerground|icywind|grassknot": 3, + "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|uturn|trick|firepunch": 2, + "|serenegrace|leftovers|relaxed|252,0,204,0,52,0|ironhead|thunder|raindance|healingwish": 1, + "|serenegrace|shucaberry|naive|0,4,0,252,0,252|ironhead|psychic|hiddenpowerground|thunder": 1, + "|serenegrace|leftovers|timid|252,0,0,72,0,184|calmmind|thunderbolt|psychic|substitute": 2, + "|serenegrace|leftovers|jolly|252,0,76,0,0,180|ironhead|firepunch|bodyslam|refresh": 1, + "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|thunderwave|firepunch": 1, + "|serenegrace|occaberry|timid|80,0,0,252,0,176|stealthrock|psychic|thunderbolt|hiddenpowerground": 1, + "|serenegrace|leftovers|impish|240,0,176,0,60,32|wish|protect|ironhead|uturn": 1, + "|serenegrace|leftovers|jolly|252,0,180,0,0,76|stealthrock|ironhead|firepunch|uturn": 1, + "|serenegrace|leftovers|jolly|252,156,0,0,4,96|ironhead|bodyslam|firepunch|healingwish": 1, + "|serenegrace|leftovers|impish|248,0,184,0,44,32|wish|bodyslam|ironhead|protect": 1, + "|serenegrace|shucaberry|naive|0,96,0,196,0,216|ironhead|thunder|hiddenpowerground|icepunch": 1, + "|serenegrace|leftovers|jolly|184,176,0,0,0,148|firepunch|ironhead|bodyslam|hiddenpowerground": 1, + "|serenegrace|salacberry|jolly|32,224,0,0,0,252|ironhead|icepunch|firepunch|substitute": 1, + "|serenegrace|leftovers|impish|252,0,224,0,0,32|wish|protect|ironhead|bodyslam": 1, + "|serenegrace|leftovers|jolly|204,128,0,0,0,176|ironhead|firepunch|thunderwave|protect": 1, + "|serenegrace|shucaberry|naive|88,224,0,16,0,180|ironhead|icepunch|firepunch|grassknot": 1, + "|serenegrace|choicescarf|adamant|60,252,0,0,0,196|ironhead|firepunch|trick|uturn": 1, + "|serenegrace|leftovers|jolly|252,0,40,0,40,176|stealthrock|ironhead|firepunch|thunder": 1, + "|serenegrace|shucaberry|jolly|0,252,0,4,0,252|ironhead|firepunch|icepunch|thunderbolt": 1, + "|serenegrace|leftovers|impish|252,0,196,0,60,0|wish|protect|bodyslam|ironhead": 2, + "|serenegrace|leftovers|jolly|4,252,0,0,0,252|ironhead|dynamicpunch|firepunch|gravity": 1, + "|serenegrace|leftovers|jolly|252,0,80,0,0,176|ironhead|bodyslam|firepunch|stealthrock": 1, + "|serenegrace|leftovers|impish|252,0,236,0,20,0|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|shucaberry|naive|0,96,0,196,0,216|ironhead|thunder|hiddenpowerground|grassknot": 1, + "|serenegrace|leftovers|timid|252,0,0,72,0,184|substitute|calmmind|thunderbolt|psychic": 1, + "|serenegrace|leftovers|relaxed|252,0,252,0,4,0|gravity|thunder|stealthrock|uturn": 1 + }, + "latias": { + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish": 11, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick": 11, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|raindance|healingwish": 1, + "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|surf|thunderbolt|trick": 3, + "|levitate|choicescarf|timid|60,0,56,140,0,252|dracometeor|thunderbolt|trick|healingwish": 3, + "|levitate|leftovers|bold|244,0,176,32,0,56|thunderwave|thunderbolt|icebeam|recover": 1, + "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover": 11, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderwave|trick|healingwish": 4, + "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|surf|healingwish": 2, + "|levitate|leftovers|timid|232,0,0,0,24,252|calmmind|dragonpulse|hiddenpowerfire|recover": 2, + "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|hiddenpowerfire|surf|recover": 1, + "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|thunderbolt|healingwish|trick": 2, + "|levitate|leftovers|bold|252,0,160,0,0,96|thunderwave|dragonpulse|reflect|recover": 2, + "|levitate|leftovers|bold|252,0,160,0,0,96|icebeam|earthquake|thunderwave|recover": 4, + "|levitate|choicespecs|modest|48,0,0,252,0,208|dracometeor|surf|trick|sleeptalk": 2, + "|levitate|choicescarf|timid|60,0,52,144,0,252|thunderbolt|healingwish|trick|dracometeor": 4, + "|levitate|leftovers|bold|252,0,156,0,0,100|icebeam|thunderwave|reflect|recover": 1, + "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|trick|surf|thunderbolt": 2, + "|levitate|choicespecs|modest|28,0,52,252,0,176|dracometeor|thunderbolt|surf|trick": 1, + "|levitate|leftovers|bold|248,0,160,0,0,100|calmmind|dragonpulse|hiddenpowerfighting|recover": 1, + "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderbolt|trick|surf": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|surf|dracometeor|trick|sleeptalk": 3, + "|levitate|expertbelt|naive|0,4,0,252,0,252|thunderbolt|icebeam|earthquake|recover": 2, + "|levitate|choicespecs|modest|96,0,0,252,0,160|dracometeor|trick|surf|dragonpulse": 1, + "|levitate|leftovers|timid|252,0,0,0,4,252|calmmind|dracometeor|hiddenpowerfire|surf": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|thunderbolt|trick|healingwish": 4, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|thunderbolt": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|healingwish|thunderbolt|trick": 3, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk": 5, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|sleeptalk": 2, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|trick|surf": 1, + "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderwave|trick|healingwish": 3, + "|levitate|choicespecs|modest|0,0,8,252,0,248|dracometeor|dragonpulse|surf|sleeptalk": 2, + "|levitate|lumberry|timid|0,0,0,252,4,252|calmmind|dracometeor|thunderbolt|hiddenpowerground": 2, + "|levitate|leftovers|timid|252,0,200,0,0,56|calmmind|dragonpulse|roar|recover": 1, + "|levitate|leftovers|bold|248,0,160,0,0,100|icebeam|thunderwave|recover|reflect": 2, + "|levitate|leftovers|bold|96,0,232,0,0,180|wish|protect|hiddenpowerfighting|thunderwave": 1, + "|levitate|lumberry|timid|60,0,52,220,0,176|dracometeor|hiddenpowerground|thunderbolt|calmmind": 1, + "|levitate|choicespecs|modest|4,0,196,252,0,56|dracometeor|sleeptalk|surf|dragonpulse": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|thunderwave|healingwish": 2, + "|levitate|leftovers|bold|244,0,236,0,0,28|thunderwave|reflect|icebeam|recover": 1, + "|levitate|leftovers|timid|168,0,0,96,0,244|dragonpulse|hiddenpowerfire|roar|roost": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|sleeptalk": 1, + "|levitate|leftovers|timid|136,0,0,120,0,252|calmmind|dracometeor|surf|hiddenpowerfire": 1, + "|levitate|expertbelt|timid|0,0,4,252,0,252|dracometeor|surf|grassknot|hiddenpowerfire": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|trick|sleeptalk": 2, + "|levitate|choicespecs|modest|8,0,76,252,0,172|dracometeor|surf|thunderbolt|sleeptalk": 1, + "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk": 2, + "|levitate|leftovers|bold|252,0,152,0,0,104|icebeam|earthquake|grassknot|recover": 1, + "|levitate|choicescarf|timid|96,0,0,160,0,252|dracometeor|thunderbolt|trick|healingwish": 2, + "|levitate|colburberry|timid|0,0,180,76,0,252|dracometeor|surf|roar|recover": 1, + "|levitate|choicespecs|modest|0,0,80,252,0,176|dracometeor|dragonpulse|surf|sleeptalk": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover": 2, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse": 1, + "|levitate|leftovers|bold|248,0,200,0,0,60|dragonpulse|reflect|recover|toxic": 1, + "|levitate|lifeorb|timid|0,0,0,252,4,252|calmmind|dracometeor|hiddenpowerground|thunderbolt": 1, + "|levitate|lifeorb|timid|0,0,4,252,0,252|dracometeor|surf|roost|healingwish": 1, + "|levitate|choicespecs|modest|4,0,80,248,0,176|dracometeor|thunderbolt|surf|sleeptalk": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|healingwish|thunderbolt|trick": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|thunderbolt|trick": 2, + "|levitate|leftovers|timid|252,0,4,0,0,252|safeguard|calmmind|dragonpulse|recover": 1, + "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|surf|trick|sleeptalk": 1, + "|levitate|leftovers|relaxed|248,16,180,0,0,64|earthquake|icebeam|recover|thunderwave": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|grassknot|surf": 2, + "|levitate|leftovers|timid|252,0,200,0,0,56|dragonpulse|thunderwave|recover|roar": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|thunderbolt|surf": 1 + }, + "empoleon": { + "|torrent|focussash|rash|0,32,0,252,0,224|hydropump|icebeam|stealthrock|aquajet": 1, + "|torrent|shucaberry|modest|44,0,8,140,172,144|stealthrock|hydropump|icebeam|grassknot": 2, + "|torrent|petayaberry|modest|12,0,0,244,0,252|surf|icebeam|substitute|agility": 1, + "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot": 5, + "|torrent|mysticwater|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot": 2, + "|torrent|leftovers|calm|248,0,0,0,252,8|surf|knockoff|stealthrock|roar": 1, + "|torrent|shucaberry|timid|60,0,0,252,0,196|agility|hydropump|icebeam|grassknot": 3, + "|torrent|shucaberry|timid|64,0,0,252,0,192|agility|hydropump|icebeam|grassknot": 2, + "|torrent|petayaberry|timid|0,0,4,252,0,252|hydropump|icebeam|agility|substitute": 2, + "|torrent|leftovers|calm|172,0,76,0,252,8|irondefense|protect|toxic|surf": 2, + "|torrent|leftovers|modest|236,0,0,208,56,8|stealthrock|hydropump|grassknot|icebeam": 1, + "|torrent|focussash|modest|136,0,0,252,0,120|hydropump|icebeam|grassknot|stealthrock": 2, + "|torrent|choicespecs|modest|44,0,0,252,0,212|hydropump|surf|icebeam|grassknot": 1, + "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot": 2, + "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|icebeam|hydropump|grassknot": 4, + "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|substitute": 2, + "|torrent|shucaberry|modest|0,0,0,252,4,252|hydropump|grassknot|icebeam|agility": 2, + "|torrent|leftovers|adamant|248,252,0,0,0,8|swordsdance|waterfall|drillpeck|aquajet": 2, + "|torrent|choicespecs|modest|0,0,44,248,0,216|hydropump|icebeam|grassknot|surf": 1, + "|torrent|choicespecs|modest|252,0,0,252,0,4|hydropump|icebeam|grassknot|sleeptalk": 1, + "|torrent|leftovers|calm|248,0,56,0,192,12|surf|icebeam|roar|protect": 2, + "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|substitute|hydropump|icebeam": 2, + "|torrent|shucaberry|modest|232,0,0,208,56,12|stealthrock|hydropump|icebeam|grassknot": 2, + "|torrent|mysticwater|adamant|0,252,4,0,0,252|swordsdance|waterfall|aquajet|drillpeck": 2, + "|torrent|shucaberry|modest|88,0,0,252,0,168|hydropump|icebeam|grassknot|agility": 1, + "|torrent|leftovers|calm|248,0,0,8,252,0|surf|knockoff|stealthrock|roar": 2, + "|torrent|focussash|modest|4,0,0,252,0,252|hydropump|icebeam|stealthrock|knockoff": 1, + "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|surf|icebeam|substitute": 1, + "|torrent|choicespecs|modest|0,0,0,252,4,252|hydropump|surf|icebeam|grassknot": 1 + }, + "scizor": { + "|technician|leftovers|adamant|248,56,0,0,204,0|swordsdance|bulletpunch|bugbite|roost": 1, + "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit": 3, + "|technician|choiceband|adamant|252,96,0,0,160,0|uturn|bulletpunch|superpower|pursuit": 1, + "|technician|choiceband|adamant|252,252,0,0,4,0|bulletpunch|pursuit|superpower|uturn": 4, + "|technician|damprock|adamant|248,16,0,0,244,0|bulletpunch|uturn|raindance|pursuit": 1, + "|technician|leftovers|adamant|248,252,0,0,0,8|bulletpunch|superpower|swordsdance|roost": 1, + "|technician|metalcoat|adamant|232,252,0,0,18,8|bulletpunch|superpower|swordsdance|roost": 1, + "|technician|occaberry|adamant|248,252,0,0,0,8|bulletpunch|swordsdance|superpower|pursuit": 2, + "|technician|choicescarf|jolly|12,252,0,0,0,244|uturn|pursuit|superpower|ironhead": 2, + "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|bugbite": 2, + "|technician|lumberry|adamant|64,252,0,0,0,192|swordsdance|bulletpunch|superpower|nightslash": 1, + "|technician|choiceband|adamant|224,252,0,0,0,32|uturn|superpower|quickattack|bulletpunch": 2, + "|technician|lifeorb|adamant|72,252,8,0,0,176|swordsdance|pursuit|superpower|bulletpunch": 1, + "|swarm|choiceband|adamant|248,252,0,0,4,4|uturn|bulletpunch|pursuit|superpower": 1, + "|technician|occaberry|adamant|248,252,0,0,0,8|superpower|bulletpunch|bugbite|swordsdance": 1, + "|technician|lifeorb|adamant|192,252,0,0,0,64|bulletpunch|superpower|pursuit|swordsdance": 2, + "|technician|lifeorb|adamant|32,252,0,0,0,224|swordsdance|bulletpunch|bugbite|superpower": 1, + "|technician|choiceband|adamant|248,252,0,0,0,8|uturn|bulletpunch|superpower|pursuit": 2, + "|technician|lifeorb|jolly|0,252,4,0,0,252|swordsdance|bulletpunch|quickattack|superpower": 1, + "|technician|choiceband|adamant|248,252,0,0,4,4|uturn|bulletpunch|superpower|pursuit": 1, + "|technician|occaberry|adamant|136,252,0,0,0,120|bugbite|bulletpunch|superpower|swordsdance": 2, + "|technician|lumberry|adamant|248,228,4,0,24,4|swordsdance|pursuit|bugbite|bulletpunch": 1, + "|technician|leftovers|adamant|248,56,12,0,192,0|bulletpunch|swordsdance|brickbreak|roost": 2, + "|technician|occaberry|adamant|32,252,0,0,0,224|swordsdance|bulletpunch|pursuit|superpower": 1, + "|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|quickattack|superpower": 1 + }, + "flygon": { + "|levitate|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost": 3, + "|levitate|lifeorb|naive|0,4,0,252,0,252|roost|fireblast|dracometeor|earthquake": 3, + "|levitate|choiceband|adamant|0,252,0,0,4,252|earthquake|outrage|uturn|firepunch": 1, + "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|thunderpunch": 2, + "|levitate|lifeorb|mild|0,80,0,176,0,252|dracometeor|earthquake|fireblast|roost": 1, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|uturn|toxic": 1, + "|levitate|lifeorb|hasty|0,72,0,252,0,184|earthquake|roost|fireblast|dracometeor": 2, + "|levitate|choicescarf|jolly|0,252,4,0,0,252|earthquake|outrage|dragonclaw|uturn": 2, + "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage": 5, + "|levitate|lifeorb|rash|0,4,0,252,0,252|dracometeor|fireblast|earthquake|roost": 2, + "|levitate|choicescarf|adamant|0,252,4,0,0,252|earthquake|outrage|uturn|roost": 1, + "|levitate|choicescarf|adamant|0,252,4,0,0,252|earthquake|outrage|uturn|thunderpunch": 2, + "|levitate|lifeorb|naive|0,164,0,128,0,216|dracometeor|earthquake|fireblast|outrage": 2, + "|levitate|expertbelt|naive|0,124,0,168,0,216|earthquake|fireblast|hiddenpowerice|dragonclaw": 1, + "|levitate|expertbelt|naive|0,64,0,192,0,252|toxic|fireblast|dracometeor|earthquake": 2, + "|levitate|lifeorb|naive|0,32,0,224,0,252|earthquake|dracometeor|fireblast|roost": 4, + "|levitate|choiceband|adamant|0,252,0,0,4,252|earthquake|uturn|firepunch|outrage": 2, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|thunderpunch|earthquake": 2, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch": 7, + "|levitate|lifeorb|naive|0,68,0,252,0,188|dracometeor|fireblast|earthquake|roost": 2, + "|levitate|choicescarf|adamant|0,216,40,0,0,252|outrage|earthquake|uturn|thunderpunch": 1, + "|levitate|choicescarf|adamant|0,252,6,0,0,252|outrage|earthquake|stoneedge|uturn": 1, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost": 1, + "|levitate|choiceband|adamant|0,252,0,0,4,252|outrage|dragonclaw|uturn|earthquake": 1, + "|levitate|choicescarf|jolly|0,244,12,0,0,252|uturn|earthquake|outrage|toxic": 2, + "|levitate|choicescarf|jolly|4,252,0,0,0,252|uturn|outrage|earthquake|thunderpunch": 3, + "|levitate|choicescarf|jolly|0,224,32,0,0,252|earthquake|outrage|uturn|thunderpunch": 2, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|uturn|firepunch": 1, + "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|stoneedge": 2, + "|levitate|choicescarf|adamant|0,216,40,0,0,252|uturn|outrage|earthquake|thunderpunch": 1, + "|levitate|choicescarf|adamant|0,252,4,0,0,252|uturn|earthquake|outrage|toxic": 2, + "|levitate|choiceband|jolly|0,252,0,0,4,252|uturn|outrage|earthquake|stoneedge": 2, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|earthquake|stoneedge": 1, + "|levitate|choicescarf|adamant|0,252,4,0,0,252|outrage|earthquake|stoneedge|uturn": 1, + "|levitate|lifeorb|mild|0,4,0,252,0,252|earthquake|fireblast|dracometeor|roost": 1, + "|levitate|choicescarf|adamant|0,252,4,0,0,252|uturn|outrage|earthquake|thunderpunch": 1, + "|levitate|choicescarf|jolly|0,252,0,0,4,252|uturn|earthquake|outrage|thunderpunch": 1, + "|levitate|expertbelt|naive|0,64,0,192,0,252|thunderpunch|dracometeor|earthquake|fireblast": 2, + "|levitate|choicescarf|jolly|4,252,0,0,0,252|earthquake|outrage|stoneedge|uturn": 1 + }, + "dragonite": { + "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|firepunch|sleeptalk": 1, + "|innerfocus|lifeorb|rash|0,52,0,252,0,204|dracometeor|fireblast|superpower|extremespeed": 1, + "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|superpower|sleeptalk": 4, + "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed": 3, + "|innerfocus|choiceband|adamant|56,252,0,0,0,200|outrage|extremespeed|superpower|sleeptalk": 2, + "|innerfocus|lifeorb|quiet|0,252,4,252,0,0|extremespeed|dracometeor|fireblast|superpower": 2, + "|innerfocus|choiceband|adamant|156,252,4,0,0,96|outrage|extremespeed|firepunch|sleeptalk": 2, + "|innerfocus|choiceband|jolly|0,252,4,0,0,252|outrage|extremespeed|earthquake|icepunch": 2, + "|innerfocus|lifeorb|naive|0,4,0,252,0,252|dracometeor|fireblast|superpower|extremespeed": 1, + "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|roost": 2, + "|innerfocus|choiceband|adamant|64,252,0,0,0,192|outrage|dragonclaw|extremespeed|firepunch": 2, + "|innerfocus|leftovers|careful|248,0,0,0,144,116|substitute|dragondance|roost|dragonclaw": 1, + "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed": 4, + "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|earthquake": 2, + "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|substitute|outrage|firepunch": 1, + "|innerfocus|expertbelt|adamant|0,252,52,0,0,204|icepunch|thunderpunch|earthquake|agility": 1, + "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|superpower|extremespeed|sleeptalk": 2, + "|innerfocus|lumberry|jolly|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch": 2, + "|innerfocus|habanberry|adamant|0,152,56,0,108,192|dragondance|outrage|earthquake|firepunch": 2, + "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch": 3, + "|innerfocus|choiceband|adamant|48,252,0,0,0,208|outrage|dragonclaw|extremespeed|earthquake": 2, + "|innerfocus|lifeorb|rash|24,136,0,252,0,96|dracometeor|fireblast|superpower|extremespeed": 2, + "|innerfocus|lifeorb|rash|0,4,0,252,0,252|extremespeed|dracometeor|fireblast|superpower": 4, + "|innerfocus|lifeorb|quiet|104,152,0,252,0,0|dracometeor|fireblast|superpower|extremespeed": 1, + "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|sleeptalk|earthquake|extremespeed": 2, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|firepunch|extremespeed|outrage|dragondance": 1, + "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|extremespeed": 2, + "|innerfocus|lumberry|adamant|0,252,0,0,4,252|extremespeed|outrage|earthquake|dragondance": 2, + "|innerfocus|yacheberry|adamant|0,252,4,0,0,252|dragondance|outrage|extremespeed|earthquake": 2, + "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|earthquake|extremespeed": 1, + "|innerfocus|choiceband|adamant|0,252,0,0,4,252|extremespeed|outrage|earthquake|sleeptalk": 1, + "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|firepunch|extremespeed|sleeptalk": 1, + "|innerfocus|choiceband|adamant|72,252,0,0,4,180|outrage|extremespeed|firepunch|earthquake": 1, + "|innerfocus|lifeorb|mild|0,48,0,252,0,208|dracometeor|fireblast|superpower|extremespeed": 1, + "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|extremespeed": 2, + "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch": 2, + "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed": 1, + "|innerfocus|expertbelt|adamant|0,252,52,0,0,204|agility|thunderpunch|icepunch|earthquake": 2, + "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|extremespeed|sleeptalk": 2, + "|innerfocus|lumberry|jolly|0,252,0,0,4,252|extremespeed|outrage|dragondance|earthquake": 2 + }, + "skarmory": { + "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck": 5, + "|keeneye|leftovers|careful|252,0,96,0,160,0|spikes|bravebird|roost|whirlwind": 4, + "|keeneye|leftovers|sassy|252,0,4,0,252,0|spikes|roost|whirlwind|toxic": 2, + "|keeneye|leftovers|impish|252,0,252,0,4,0|spikes|whirlwind|roost|bravebird": 2, + "|sturdy|leftovers|careful|252,0,4,0,252,0|spikes|counter|whirlwind|roost": 1, + "|keeneye|leftovers|careful|252,0,4,0,252,0|stealthrock|spikes|roost|whirlwind": 3, + "|keeneye|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|taunt|rocktomb": 3, + "|keeneye|focussash|jolly|252,0,0,0,36,220|stealthrock|spikes|bravebird|whirlwind": 2, + "|keeneye|shedshell|impish|248,0,244,0,0,16|bravebird|roost|spikes|whirlwind": 4, + "|keeneye|shedshell|careful|252,0,4,0,252,0|spikes|roost|whirlwind|bravebird": 1, + "|keeneye|shedshell|impish|252,0,180,0,76,0|spikes|roost|whirlwind|counter": 2, + "|keeneye|leftovers|calm|252,0,4,0,252,0|spikes|counter|roost|whirlwind": 4, + "|sturdy|leftovers|impish|252,0,180,0,0,76|bravebird|spikes|whirlwind|roost": 2, + "|keeneye|shedshell|impish|248,0,216,0,0,44|taunt|spikes|roost|whirlwind": 1, + "|keeneye|focussash|timid|252,0,4,0,0,252|spikes|stealthrock|taunt|icywind": 1, + "|keeneye|leftovers|impish|248,0,216,0,0,44|taunt|spikes|roost|whirlwind": 2, + "|sturdy|leftovers|sassy|252,0,4,0,252,0|spikes|bravebird|whirlwind|roost": 1, + "|keeneye|leftovers|impish|248,0,216,0,0,44|drillpeck|spikes|roost|whirlwind": 1, + "|keeneye|leftovers|impish|252,0,252,0,4,0|stealthrock|spikes|roost|whirlwind": 1, + "|keeneye|leftovers|calm|252,0,0,0,224,32|spikes|taunt|roost|whirlwind": 1, + "|keeneye|focussash|jolly|0,252,4,0,0,252|stealthrock|spikes|taunt|bravebird": 1, + "|keeneye|leftovers|impish|248,0,92,0,136,32|whirlwind|roost|bravebird|spikes": 1, + "|keeneye|leftovers|bold|248,0,96,0,132,32|spikes|stealthrock|roost|whirlwind": 1, + "|keeneye|leftovers|careful|252,0,4,0,252,0|bravebird|spikes|whirlwind|roost": 1, + "|keeneye|leftovers|careful|252,0,4,0,252,0|spikes|whirlwind|roost|bravebird": 2, + "|keeneye|leftovers|impish|252,0,220,0,0,36|roost|spikes|bravebird|whirlwind": 1, + "|keeneye|shedshell|careful|248,0,0,0,252,8|spikes|stealthrock|roost|whirlwind": 1, + "|sturdy|leftovers|careful|248,0,0,0,248,12|stealthrock|spikes|whirlwind|roost": 1, + "|keeneye|focussash|jolly|252,0,4,0,0,252|stealthrock|spikes|whirlwind|drillpeck": 1, + "|keeneye|focussash|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|taunt": 1 + }, + "lucario": { + "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch": 5, + "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|copycat": 4, + "|steadfast|choicescarf|jolly|0,252,0,0,4,252|closecombat|thunderpunch|icepunch|copycat": 2, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|swordsdance|bulletpunch|extremespeed": 4, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|bulletpunch": 4, + "|innerfocus|choicespecs|modest|0,0,4,252,0,252|aurasphere|shadowball|focusblast|hiddenpowerrock": 2, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|icepunch|closecombat|bulletpunch|swordsdance": 1, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|agility|closecombat|crunch|icepunch": 1, + "|steadfast|lifeorb|timid|0,0,0,252,4,252|calmmind|focusblast|darkpulse|vacuumwave": 1, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch": 4, + "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|copycat": 3, + "|innerfocus|salacberry|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch": 2, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|extremespeed|closecombat|stoneedge|swordsdance": 4, + "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|icepunch": 2, + "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|icepunch|thunderpunch|copycat": 3, + "|innerfocus|shucaberry|adamant|0,252,0,0,4,252|closecombat|extremespeed|icepunch|swordsdance": 1, + "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|copycat|icepunch|thunderpunch": 1, + "|steadfast|choicespecs|timid|0,0,0,252,4,252|aurasphere|shadowball|vacuumwave|hiddenpowerice": 1, + "|steadfast|lifeorb|adamant|0,252,0,0,4,252|agility|closecombat|crunch|icepunch": 1, + "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|crunch": 1, + "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|crunch": 1, + "|innerfocus|lifeorb|adamant|0,252,4,0,0,252|closecombat|bulletpunch|extremespeed|swordsdance": 1, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|icepunch|bulletpunch|swordsdance": 1 + }, + "rotomheat": { + "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick": 7, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|overheat": 3, + "|levitate|leftovers|timid|112,0,0,192,0,204|substitute|chargebeam|shadowball|thunderbolt": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|overheat|shadowball|trick": 2, + "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpowerice": 4, + "|levitate|leftovers|bold|248,0,252,0,8,0|rest|sleeptalk|thunderbolt|willowisp": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|hiddenpowerice": 4, + "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|overheat": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|thunderbolt|hiddenpowerice|shadowball": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|overheat|trick|shadowball|thunderbolt": 3, + "|levitate|leftovers|timid|248,0,0,8,0,252|substitute|willowisp|thunderbolt|painsplit": 1, + "|levitate|choicescarf|timid|20,0,0,252,0,236|thunderbolt|shadowball|hiddenpowerice|trick": 2, + "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpoweric": 1, + "|levitate|leftovers|timid|88,0,8,160,0,252|substitute|willowisp|thunderbolt|shadowball": 2, + "|levitate|choicescarf|timid|104,0,0,168,0,236|thunderbolt|shadowball|hiddenpowerice|trick": 1, + "|levitate|leftovers|bold|252,0,208,0,0,48|thunderbolt|shadowball|willowisp|overheat": 2, + "|levitate|choicescarf|timid|56,0,0,216,0,236|thunderbolt|shadowball|hiddenpowerice|trick": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|thunderbolt|shadowball|trick": 1 + }, + "breloom": { + "|effectspore|choicescarf|jolly|4,252,0,0,0,252|spore|superpower|machpunch|stoneedge": 1, + "|poisonheal|toxicorb|adamant|120,188,0,0,64,136|spore|superpower|machpunch|seedbomb": 1, + "|poisonheal|toxicorb|adamant|252,44,28,0,0,184|spore|superpower|seedbomb|machpunch": 4, + "|poisonheal|toxicorb|adamant|248,16,196,0,0,48|seedbomb|spore|focuspunch|substitute": 3, + "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|stunspore|seedbomb|superpower": 3, + "|poisonheal|toxicorb|adamant|252,48,208,0,0,0|spore|substitute|focuspunch|seedbomb": 3, + "|poisonheal|toxicorb|adamant|236,252,0,0,20,0|swordsdance|facade|superpower|machpunch": 2, + "|poisonheal|toxicorb|adamant|76,240,0,0,0,192|seedbomb|focuspunch|spore|substitute": 2, + "|poisonheal|toxicorb|impish|112,0,220,0,0,176|spore|swordsdance|superpower|seedbomb": 3, + "|poisonheal|toxicorb|impish|252,56,44,0,84,72|spore|superpower|seedbomb|machpunch": 1, + "|poisonheal|toxicorb|impish|252,20,236,0,0,0|spore|leechseed|protect|forcepalm": 4, + "|poisonheal|toxicorb|jolly|4,252,0,0,0,252|spore|machpunch|seedbomb|superpower": 3, + "|poisonheal|toxicorb|careful|236,16,4,0,252,0|bulkup|protect|seedbomb|facade": 1, + "|poisonheal|toxicorb|adamant|252,252,0,0,0,4|seedbomb|focuspunch|machpunch|spore": 2, + "|poisonheal|toxicorb|adamant|76,248,0,0,0,184|machpunch|seedbomb|focuspunch|spore": 1, + "|poisonheal|toxicorb|adamant|248,76,0,0,0,184|seedbomb|superpower|machpunch|spore": 2, + "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower": 8, + "|poisonheal|toxicorb|adamant|12,252,0,0,0,244|spore|superpower|seedbomb|machpunch": 3, + "|poisonheal|toxicorb|adamant|72,252,0,0,0,184|seedbomb|focuspunch|machpunch|spore": 2, + "|poisonheal|toxicorb|adamant|248,56,144,0,0,60|seedbomb|superpower|facade|swordsdance": 3, + "|poisonheal|toxicorb|adamant|252,72,0,0,0,184|spore|seedbomb|machpunch|focuspunch": 2, + "|poisonheal|toxicorb|adamant|232,176,0,0,24,76|spore|superpower|seedbomb|machpunch": 1, + "|poisonheal|toxicorb|adamant|236,192,0,0,56,24|spore|focuspunch|seedbomb|machpunch": 2, + "|poisonheal|toxicorb|adamant|252,252,0,0,4,0|facade|swordsdance|superpower|seedbomb": 2, + "|poisonheal|toxicorb|impish|236,0,216,0,24,32|skyuppercut|spore|protect|leechseed": 2, + "|poisonheal|toxicorb|adamant|236,148,48,0,76,0|spore|seedbomb|superpower|machpunch": 2, + "|poisonheal|toxicorb|adamant|12,244,0,0,0,252|seedbomb|focuspunch|spore|machpunch": 1, + "|poisonheal|toxicorb|impish|252,0,96,0,160,0|forcepalm|leechseed|bulkup|protect": 1, + "|poisonheal|toxicorb|adamant|204,252,0,0,20,32|spore|superpower|seedbomb|machpunch": 2, + "|poisonheal|toxicorb|adamant|0,252,6,0,0,252|spore|substitute|focuspunch|stoneedge": 1, + "|poisonheal|toxicorb|adamant|12,244,0,0,0,252|spore|superpower|seedbomb|machpunch": 2, + "|poisonheal|toxicorb|adamant|236,176,16,0,4,76|spore|machpunch|seedbomb|superpower": 1, + "|effectspore|choicescarf|jolly|0,228,0,0,28,252|spore|superpower|machpunch|stoneedge": 1, + "|poisonheal|toxicorb|impish|112,0,188,0,32,176|spore|swordsdance|superpower|seedbomb": 1, + "|poisonheal|toxicorb|adamant|108,132,80,0,0,188|spore|superpower|seedbomb|machpunch": 2, + "|poisonheal|toxicorb|adamant|248,220,0,0,0,40|spore|superpower|seedbomb|machpunch": 1, + "|poisonheal|toxicorb|jolly|0,252,0,0,4,252|superpower|seedbomb|facade|spore": 2, + "|poisonheal|toxicorb|impish|236,0,216,0,24,32|protect|leechseed|seedbomb|forcepalm": 1, + "|poisonheal|toxicorb|adamant|252,196,0,0,16,44|seedbomb|focuspunch|machpunch|spore": 1, + "|poisonheal|toxicorb|adamant|108,252,12,0,0,136|spore|superpower|seedbomb|machpunch": 2, + "|poisonheal|toxicorb|adamant|12,252,56,0,0,188|superpower|seedbomb|facade|swordsdance": 1, + "|poisonheal|toxicorb|adamant|76,252,0,0,0,180|substitute|focuspunch|spore|seedbomb": 1, + "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|focuspunch|seedbomb|machpunch": 1, + "|poisonheal|toxicorb|adamant|200,252,24,0,0,32|superpower|seedbomb|machpunch|spore": 1, + "|poisonheal|toxicorb|adamant|236,148,40,0,24,60|spore|machpunch|seedbomb|superpower": 1 + }, + "metagross": { + "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion": 6, + "|clearbody|leftovers|adamant|72,252,0,0,8,176|meteormash|earthquake|thunderpunch|explosion": 1, + "|clearbody|ironball|adamant|252,236,0,0,0,20|trick|earthquake|meteormash|explosion": 2, + "|clearbody|ironball|adamant|236,84,0,0,188,0|meteormash|earthquake|trick|explosion": 4, + "|clearbody|shucaberry|jolly|68,252,0,0,0,188|agility|earthquake|meteormash|explosion": 1, + "|clearbody|lifeorb|adamant|252,240,12,0,0,4|gravity|meteormash|earthquake|thunderpunch": 1, + "|clearbody|lifeorb|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|explosion": 1, + "|clearbody|leftovers|adamant|252,132,0,0,124,0|stealthrock|meteormash|earthquake|explosion": 1, + "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|explosion": 3, + "|clearbody|ironball|adamant|196,252,0,0,0,60|stealthrock|meteormash|earthquake|trick": 1, + "|clearbody|choicescarf|jolly|0,252,0,0,4,252|trick|meteormash|earthquake|explosion": 2, + "|clearbody|shucaberry|jolly|60,252,0,0,0,196|agility|zenheadbutt|earthquake|meteormash": 1, + "|clearbody|ironball|adamant|252,136,12,0,104,4|trick|meteormash|earthquake|explosion": 1, + "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|explosion": 4, + "|clearbody|ironball|adamant|248,52,24,0,100,84|trick|meteormash|earthquake|explosion": 1, + "|clearbody|lumberry|adamant|56,252,4,0,0,196|meteormash|earthquake|agility|explosion": 1, + "|clearbody|ironball|adamant|236,252,0,0,0,20|trick|meteormash|earthquake|explosion": 2, + "|clearbody|ironball|adamant|252,68,20,0,168,0|trick|meteormash|earthquake|explosion": 2, + "|clearbody|ironball|adamant|248,136,20,0,76,28|meteormash|earthquake|trick|explosion": 3, + "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|zenheadbutt": 1, + "|clearbody|occaberry|adamant|64,252,0,0,0,192|agility|meteormash|earthquake|explosion": 3, + "|clearbody|ironball|adamant|248,136,0,0,96,28|stealthrock|meteormash|earthquake|trick": 1, + "|clearbody|choicescarf|jolly|0,252,0,0,4,252|meteormash|earthquake|trick|explosion": 1, + "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|earthquake|icepunch": 2, + "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|trick|explosion": 1, + "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|trick": 1, + "|clearbody|ironball|adamant|236,84,8,0,152,28|meteormash|earthquake|trick|explosion": 3, + "|clearbody|occaberry|adamant|220,252,0,0,0,36|explosion|meteormash|earthquake|stealthrock": 3, + "|clearbody|leftovers|adamant|232,200,0,0,56,20|stealthrock|meteormash|thunderpunch|explosion": 3, + "|clearbody|lumberry|adamant|0,252,0,0,4,252|meteormash|earthquake|explosion|rockpolish": 1, + "|clearbody|leftovers|adamant|252,68,20,0,168,0|meteormash|earthquake|explosion|protect": 2, + "|clearbody|lumberry|adamant|0,252,0,0,4,252|agility|meteormash|earthquake|explosion": 1, + "|clearbody|ironball|adamant|248,68,20,0,168,4|trick|meteormash|earthquake|explosion": 2, + "|clearbody|lumberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|thunderpunch": 1, + "|clearbody|leftovers|adamant|196,176,0,0,0,136|meteormash|earthquake|explosion|gravity": 1, + "|clearbody|shucaberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|icepunch": 1, + "|clearbody|leftovers|adamant|248,204,0,0,20,36|meteormash|earthquake|toxic|protect": 1, + "|clearbody|ironball|careful|252,0,40,0,216,0|meteormash|earthquake|explosion|trick": 1, + "|clearbody|ironball|adamant|252,68,20,0,148,20|trick|earthquake|meteormash|explosion": 2, + "|clearbody|ironball|adamant|248,136,0,0,104,20|meteormash|earthquake|trick|stealthrock": 1, + "|clearbody|leftovers|adamant|248,72,40,0,84,64|stealthrock|meteormash|earthquake|explosion": 1, + "|clearbody|leftovers|adamant|252,64,76,0,116,0|meteormash|earthquake|explosion|stealthrock": 1, + "|clearbody|focussash|adamant|80,252,0,0,0,176|meteormash|earthquake|bulletpunch|explosion": 2, + "|clearbody|lumberry|adamant|40,252,0,0,0,216|stealthrock|meteormash|earthquake|explosion": 2, + "|clearbody|lumberry|adamant|232,252,0,0,0,24|meteormash|earthquake|gravity|stealthrock": 1, + "|clearbody|custapberry|adamant|252,252,0,0,0,4|stealthrock|meteormash|earthquake|explosion": 1, + "|clearbody|lumberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|zenheadbutt": 1, + "|clearbody|liechiberry|adamant|0,252,4,0,0,252|agility|meteormash|earthquake|naturalgift": 1 + }, + "gengar": { + "|levitate|lumberry|timid|104,0,16,196,0,192|shadowball|focusblast|taunt|willowisp": 2, + "|levitate|blacksludge|timid|0,0,4,252,0,252|shadowball|focusblast|willowisp|taunt": 4, + "|levitate|blacksludge|timid|4,0,0,252,0,252|substitute|shadowball|focusblast|willowisp": 1, + "|levitate|blacksludge|timid|48,0,0,208,0,252|shadowball|focusblast|willowisp|taunt": 4, + "|levitate|blacksludge|timid|136,0,0,196,0,176|taunt|willowisp|shadowball|focusblast": 4, + "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|painsplit|focusblast|substitute": 2, + "|levitate|lifeorb|timid|4,0,0,252,0,252|shadowball|focusblast|explosion|taunt": 2, + "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|sleeptalk|explosion": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|trick|shadowball|focusblast|explosion": 2, + "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|explosion|hiddenpowerfire": 4, + "|levitate|blacksludge|timid|4,0,0,252,0,252|shadowball|focusblast|willowisp|destinybond": 1, + "|levitate|blacksludge|timid|200,0,0,56,0,252|shadowball|focusblast|willowisp|taunt": 1, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|shadowball|focusblast|explosion": 1, + "|levitate|blacksludge|timid|104,0,16,196,0,192|shadowball|focusblast|taunt|willowisp": 1, + "|levitate|lifeorb|naive|0,8,0,248,0,252|shadowball|focusblast|explosion|suckerpunch": 2, + "|levitate|lifeorb|timid|0,0,0,252,4,252|hypnosis|taunt|shadowball|focusblast": 2, + "|levitate|lifeorb|timid|4,0,0,252,0,252|explosion|focusblast|shadowball|hiddenpowerfire": 2, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast": 7, + "|levitate|widelens|hasty|80,40,0,136,0,252|hypnosis|shadowball|focusblast|explosion": 4, + "|levitate|blacksludge|timid|104,0,16,188,0,200|shadowball|focusblast|taunt|willowisp": 2, + "|levitate|mail|naive|0,0,0,0,0,252|taunt|destinybond": 2, + "|levitate|blacksludge|hasty|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion": 1, + "|levitate|lumberry|timid|104,0,16,192,0,196|shadowball|focusblast|taunt|willowisp": 1, + "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|substitute|painsplit": 3, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|explosion|shadowball|focusblast|thunderbolt": 1, + "|levitate|blacksludge|naive|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion": 3, + "|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|focusblast|hypnosis|trick": 4, + "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|focusblast|substitute|painsplit": 2, + "|levitate|lifeorb|timid|0,0,0,252,4,252|substitute|painsplit|shadowball|focusblast": 1, + "|levitate|blacksludge|timid|80,0,0,176,0,252|shadowball|focusblast|willowisp|explosion": 2, + "|levitate|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|knockoff|willowisp": 1, + "|levitate|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|taunt|willowisp": 1, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|taunt|explosion|shadowball|focusblast": 2, + "|levitate|blacksludge|modest|0,0,0,252,4,252|trick|icywind|shadowball|focusblast": 1, + "|levitate|lumberry|timid|104,0,16,176,0,212|shadowball|focusblast|taunt|willowisp": 1 + }, + "swampert": { + "|torrent|leftovers|quiet|252,0,0,252,0,4|hydropump|earthquake|icebeam|hiddenpowerelectric": 1, + "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch": 6, + "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|stealthrock|roar": 4, + "|torrent|leftovers|bold|252,0,180,60,16,0|stealthrock|protect|roar|surf": 2, + "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|earthquake|icebeam|roar": 3, + "|torrent|leftovers|modest|160,0,0,252,0,96|hydropump|stealthrock|earthpower|icebeam": 2, + "|torrent|focussash|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icywind": 1, + "|torrent|leftovers|adamant|252,92,108,0,52,4|stealthrock|earthquake|waterfall|icepunch": 1, + "|torrent|choicespecs|modest|4,0,0,252,0,252|hydropump|hiddenpowergrass|earthpower|icebeam": 1, + "|torrent|leftovers|adamant|144,252,8,0,0,104|stealthrock|waterfall|earthquake|icepunch": 1, + "|torrent|leftovers|timid|64,0,0,252,0,192|hydropump|stealthrock|icebeam|earthpower": 3, + "|torrent|leftovers|adamant|236,252,0,4,0,16|earthquake|waterfall|icepunch|stealthrock": 2, + "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|protect|roar": 2, + "|torrent|rindoberry|adamant|252,136,0,0,0,120|stealthrock|waterfall|earthquake|icepunch": 1, + "|torrent|leftovers|adamant|252,252,0,0,0,4|substitute|earthquake|waterfall|icepunch": 2, + "|torrent|leftovers|adamant|200,252,0,0,0,56|icepunch|earthquake|waterfall|stealthrock": 1, + "|torrent|leftovers|modest|0,0,36,252,0,220|stealthrock|hydropump|earthpower|icebeam": 3, + "|torrent|leftovers|brave|252,56,12,100,0,88|stealthrock|hydropump|icebeam|earthquake": 1, + "|torrent|choiceband|adamant|0,252,4,0,0,252|waterfall|earthquake|stoneedge|icepunch": 1, + "|torrent|leftovers|adamant|240,176,52,0,24,16|stealthrock|earthquake|waterfall|icepunch": 1, + "|torrent|leftovers|adamant|252,48,112,0,88,8|stealthrock|earthquake|waterfall|icepunch": 1, + "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|protect|earthquake|icebeam": 1, + "|torrent|leftovers|modest|240,0,0,252,0,16|stealthrock|hydropump|icebeam|earthpower": 1, + "|torrent|leftovers|adamant|252,60,180,0,0,16|stealthrock|earthquake|waterfall|icepunch": 1, + "|torrent|leftovers|adamant|252,236,0,0,0,20|stealthrock|icepunch|earthquake|waterfall": 1, + "|torrent|choiceband|adamant|0,252,0,0,4,252|waterfall|earthquake|icepunch|stoneedge": 1, + "|torrent|leftovers|brave|80,216,0,100,112,0|earthquake|hydropump|icebeam|outrage": 2 + }, + "zapdos": { + "|pressure|leftovers|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|uturn|roost": 1, + "|pressure|leftovers|bold|248,0,228,0,0,32|thunderbolt|roost|hiddenpowergrass|thunderwave": 2, + "|pressure|leftovers|bold|248,0,236,0,24,0|thunderbolt|roost|hiddenpowerice|toxic": 1, + "|pressure|leftovers|bold|248,0,216,0,12,32|thunderbolt|hiddenpowerice|roost|substitute": 3, + "|pressure|magnet|modest|80,0,0,252,0,176|thunderbolt|hiddenpowerice|heatwave|thunderwave": 1, + "|pressure|leftovers|bold|248,0,228,0,0,32|discharge|roost|hiddenpowerice|heatwave": 2, + "|pressure|leftovers|bold|240,0,228,0,40,0|discharge|hiddenpowergrass|uturn|roost": 1, + "|pressure|magnet|timid|112,0,0,144,0,252|thunderbolt|hiddenpowerice|uturn|roost": 3, + "|pressure|leftovers|modest|16,0,0,252,0,240|thunderbolt|hiddenpowerice|uturn|roost": 2, + "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|heatwave|hiddenpowergrass|uturn": 3, + "|pressure|lifeorb|timid|0,0,0,252,4,252|heatwave|thunderbolt|hiddenpowergrass|uturn": 2, + "|pressure|choicespecs|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|sleeptalk|uturn": 2, + "|pressure|choicescarf|modest|0,0,0,252,4,252|thunderbolt|uturn|hiddenpowerice|heatwave": 2, + "|pressure|lifeorb|modest|0,0,0,252,4,252|thunderbolt|heatwave|hiddenpowergrass|ominouswind": 1, + "|pressure|leftovers|bold|248,0,228,0,32,0|discharge|hiddenpowergrass|heatwave|roost": 1, + "|pressure|leftovers|bold|248,0,248,0,12,0|discharge|heatwave|hiddenpowerice|roost": 2, + "|pressure|magnet|timid|112,0,0,144,0,252|uturn|thunderbolt|hiddenpowerice|roost": 1, + "|pressure|choicespecs|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerice|heatwave|uturn": 2, + "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|uturn|sleeptalk|thunder": 3, + "|pressure|lifeorb|modest|0,0,0,252,4,252|agility|thunderbolt|heatwave|hiddenpowergrass": 2, + "|pressure|leftovers|bold|248,0,204,0,24,32|discharge|hiddenpowergrass|uturn|roost": 1, + "|pressure|leftovers|calm|248,0,136,0,124,0|discharge|hiddenpowerice|toxic|roost": 1, + "|pressure|choicescarf|timid|0,0,0,252,4,252|thunderbolt|uturn|heatwave|hiddenpowerice": 1, + "|pressure|leftovers|timid|248,0,64,0,0,196|discharge|hiddenpowerice|roost|uturn": 1, + "|pressure|magnet|modest|80,0,0,252,0,176|agility|thunderbolt|hiddenpowergrass|heatwave": 1 + }, + "starmie": { + "|naturalcure|colburberry|timid|0,0,0,252,4,252|surf|thunderwave|rapidspin|icebeam": 1, + "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 5, + "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 3, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunder|blizzard|gravity": 1, + "|naturalcure|leftovers|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover": 3, + "|naturalcure|choicespecs|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|trick": 2, + "|naturalcure|leftovers|timid|40,0,0,252,0,216|rapidspin|hydropump|thunderbolt|icebeam": 1, + "|naturalcure|leftovers|timid|252,0,0,0,4,252|rapidspin|surf|thunderbolt|recover": 2, + "|naturalcure|leftovers|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin": 3, + "|naturalcure|colburberry|timid|0,0,4,252,0,252|hydropump|grassknot|icebeam|rapidspin": 1, + "|naturalcure|choicespecs|timid|0,0,0,252,4,252|rapidspin|hydropump|icebeam|thunderbolt": 2, + "|naturalcure|leftovers|timid|136,0,156,0,0,216|rapidspin|surf|thunderwave|recover": 1, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 3, + "|naturalcure|leftovers|timid|136,0,0,156,0,216|hydropump|thunderbolt|gravity|rapidspin": 2, + "|naturalcure|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|trick": 1, + "|naturalcure|leftovers|timid|100,0,0,192,0,216|hydropump|thunderbolt|rapidspin|gravity": 1, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 5, + "|naturalcure|expertbelt|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 2, + "|naturalcure|leftovers|timid|252,0,4,0,0,252|rapidspin|recover|surf|thunderwave": 2, + "|naturalcure|lifeorb|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|recover": 2, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|grassknot|recover": 1, + "|naturalcure|colburberry|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin": 2, + "|naturalcure|leftovers|timid|0,0,4,252,0,252|rapidspin|surf|icebeam|thunderbolt": 2, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 4, + "|naturalcure|leftovers|timid|252,0,0,40,0,216|hydropump|psychic|rapidspin|recover": 1, + "|naturalcure|leftovers|timid|4,0,0,252,0,252|surf|thunderbolt|icebeam|rapidspin": 2, + "|naturalcure|leftovers|bold|248,0,204,0,0,56|hydropump|psychic|recover|rapidspin": 3, + "|naturalcure|colburberry|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover": 1, + "|illuminate|lifeorb|timid|0,0,0,252,4,252|rapidspin|surf|icebeam|thunderbolt": 1, + "|naturalcure|leftovers|timid|248,0,44,0,0,216|surf|psychic|recover|rapidspin": 2, + "|naturalcure|choicespecs|timid|0,0,0,252,4,252|surf|icebeam|trick|rapidspin": 2, + "|naturalcure|colburberry|timid|0,0,84,208,0,216|hydropump|thunderbolt|grassknot|rapidspin": 1, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|gravity": 1, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 1, + "|naturalcure|leftovers|timid|252,0,0,4,0,252|recover|surf|thunderwave|rapidspin": 1, + "|naturalcure|leftovers|timid|252,0,40,0,0,216|rapidspin|hydropump|thunderbolt|recover": 1, + "|naturalcure|colburberry|timid|0,0,0,252,4,252|surf|icebeam|thunderwave|rapidspin": 1, + "|naturalcure|leftovers|timid|252,0,0,0,4,252|rapidspin|surf|thunderwave|recover": 1, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|rapidspin|thunderbolt|hydropump|grassknot": 2, + "|naturalcure|leftovers|timid|4,0,0,252,0,252|hydropump|thunder|gravity|recover": 1, + "|naturalcure|leftovers|timid|0,0,92,200,0,216|hydropump|icebeam|thunderwave|rapidspin": 1, + "|naturalcure|colburberry|timid|0,0,0,252,4,252|thunderwave|hydropump|icebeam|rapidspin": 1, + "|naturalcure|lifeorb|timid|4,0,0,252,0,252|hydropump|blizzard|grassknot|psychic": 1 + }, + "blastoise": { + "|torrent|lifeorb|modest|8,0,0,252,0,248|hydropump|icebeam|rapidspin|protect": 2, + "|torrent|choicescarf|timid|0,0,0,252,4,252|waterspout|surf|icebeam|rapidspin": 3 + }, + "raikou": { + "|pressure|lumberry|rash|0,0,4,252,0,252|calmmind|aurasphere|hiddenpowerice|thunderbolt": 2, + "|pressure|shucaberry|rash|0,0,0,252,4,252|calmmind|thunderbolt|hiddenpowergrass|aurasphere": 2, + "|pressure|leftovers|timid|0,0,0,252,4,252|protect|calmmind|hiddenpowerice|thunderbolt": 2, + "|pressure|leftovers|rash|0,0,4,252,0,252|calmmind|thunderbolt|weatherball|hiddenpowergrass": 1, + "|pressure|chestoberry|timid|4,0,0,252,0,252|calmmind|thunderbolt|hiddenpowerice|rest": 1, + "|pressure|lumberry|rash|0,0,0,252,4,252|calmmind|thunderbolt|aurasphere|hiddenpowerice": 1 + }, + "kingdra": { + "|swiftswim|choicespecs|modest|0,0,4,252,0,252|dracometeor|hydropump|surf|dragonpulse": 1, + "|swiftswim|choicescarf|timid|4,0,0,252,0,252|hydropump|dracometeor|icebeam|hiddenpowerelectric": 1, + "|swiftswim|chestoberry|adamant|144,160,0,0,40,164|dragondance|waterfall|outrage|rest": 4, + "|swiftswim|seaincense|adamant|28,252,0,0,0,228|raindance|dragondance|waterfall|outrage": 1, + "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dracometeor|surf": 1, + "|swiftswim|choicespecs|modest|88,0,4,252,0,164|hydropump|surf|dracometeor|icebeam": 1, + "|swiftswim|lifeorb|rash|0,208,0,136,0,164|raindance|hydropump|waterfall|dracometeor": 4, + "|swiftswim|choicespecs|modest|0,0,4,252,0,252|surf|hydropump|dracometeor|icebeam": 1, + "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|dracometeor|surf|dragonpulse": 3, + "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|surf|dracometeor|dragonpulse": 1, + "|swiftswim|mysticwater|modest|92,0,0,252,0,164|raindance|hydropump|dracometeor|hiddenpowerelectric": 1, + "|swiftswim|lifeorb|modest|0,0,0,252,4,252|raindance|dracometeor|surf|dragonpulse": 1, + "|swiftswim|lifeorb|modest|92,0,0,252,0,164|hydropump|raindance|signalbeam|dragonpulse": 1, + "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dragonpulse|icebeam": 1, + "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|surf|dragonpulse|signalbeam": 1 + }, + "qwilfish": { + "|swiftswim|lumberry|jolly|248,0,124,0,0,136|explosion|taunt|spikes|thunderwave": 1, + "|swiftswim|lumberry|adamant|0,252,0,0,4,252|swordsdance|toxicspikes|waterfall|explosion": 1, + "|swiftswim|lifeorb|adamant|0,252,4,0,0,252|swordsdance|waterfall|poisonjab|explosion": 2, + "|swiftswim|lifeorb|adamant|72,252,20,0,0,164|swordsdance|waterfall|poisonjab|explosion": 1, + "|swiftswim|lifeorb|adamant|8,252,16,0,0,232|swordsdance|waterfall|thunderwave|explosion": 1 + }, + "bronzong": { + "|levitate|damprock|careful|248,0,40,0,176,44|earthquake|explosion|raindance|hypnosis": 1, + "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion": 14, + "|levitate|leftovers|sassy|252,20,52,0,184,0|stealthrock|gyroball|earthquake|explosion": 3, + "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|earthquake|explosion|gyroball": 2, + "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|gyroball|earthquake|explosion": 2, + "|levitate|damprock|sassy|252,0,112,0,144,0|gyroball|hypnosis|explosion|raindance": 1, + "|levitate|damprock|sassy|252,0,4,0,252,0|raindance|gyroball|earthquake|explosion": 1, + "|levitate|custapberry|impish|252,252,4,0,0,0|stealthrock|earthquake|explosion|gravity": 2, + "|levitate|custapberry|careful|252,248,0,0,8,0|stealthrock|gravity|earthquake|explosion": 2, + "|levitate|damprock|relaxed|252,0,48,0,208,0|raindance|trickroom|gyroball|explosion": 1, + "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|explosion|earthquake|gyroball": 4, + "|levitate|leftovers|sassy|252,84,80,0,92,0|stealthrock|gyroball|earthquake|explosion": 2, + "|levitate|choiceband|brave|252,252,0,0,4,0|earthquake|gyroball|explosion|trick": 4, + "|levitate|leftovers|relaxed|252,28,152,0,76,0|stealthrock|gyroball|protect|toxic": 4, + "|levitate|leftovers|sassy|252,0,128,0,128,0|protect|toxic|gyroball|earthquake": 1, + "|levitate|custapberry|relaxed|248,156,8,0,96,0|stealthrock|earthquake|gyroball|explosion": 3, + "|heatproof|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|earthquake|explosion": 2, + "|levitate|damprock|relaxed|252,0,48,0,208,0|raindance|earthquake|gyroball|explosion": 1, + "|levitate|occaberry|brave|252,148,0,0,108,0|gyroball|earthquake|explosion|stealthrock": 1, + "|heatproof|lumberry|brave|248,252,4,0,4,0|stealthrock|gyroball|earthquake|explosion": 3, + "|levitate|ironball|adamant|240,144,0,0,124,0|earthquake|trick|explosion|stealthrock": 1, + "|levitate|damprock|sassy|248,0,92,0,168,0|raindance|hypnosis|gyroball|explosion": 1, + "|levitate|damprock|relaxed|252,0,200,0,56,0|raindance|hypnosis|explosion|gyroball": 3, + "|levitate|lumberry|sassy|252,96,0,0,160,0|stealthrock|gyroball|earthquake|explosion": 1, + "|levitate|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|payback|explosion": 2, + "|levitate|machobrace|brave|252,252,0,0,4,0|gyroball|earthquake|explosion|trickroom": 1, + "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|explosion|earthquake": 2, + "|levitate|sitrusberry|sassy|252,0,128,0,128,0|stealthrock|trickroom|gravity|explosion": 1, + "|levitate|damprock|sassy|252,0,128,0,128,0|raindance|stealthrock|hypnosis|explosion": 1 + }, + "roserade": { + "|poisonpoint|blacksludge|calm|252,0,60,0,136,60|grassknot|spikes|hiddenpowerfire|stunspore": 4, + "|naturalcure|focussash|timid|0,0,0,252,4,252|toxicspikes|hiddenpowerground|leafstorm|sleeppowder": 1, + "|poisonpoint|focussash|timid|0,0,0,252,4,252|sleeppowder|leafstorm|toxicspikes|hiddenpowerground": 2, + "|poisonpoint|leftovers|calm|252,0,4,0,136,116|grassknot|hiddenpowerice|toxicspikes|spikes": 2, + "|poisonpoint|focussash|timid|0,0,4,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire": 2, + "|naturalcure|blacksludge|timid|24,0,0,252,0,232|weatherball|spikes|hiddenpowerfire|grassknot": 2, + "|naturalcure|leftovers|calm|252,0,120,0,136,0|spikes|grassknot|hiddenpowerfire|stunspore": 2, + "|naturalcure|leftovers|calm|252,0,0,0,136,120|grassknot|hiddenpowerice|toxicspikes|spikes": 1, + "|naturalcure|blacksludge|timid|120,0,0,156,0,232|toxicspikes|leafstorm|sleeppowder|hiddenpowerfire": 2, + "|naturalcure|blacksludge|calm|248,0,124,0,136,0|toxicspikes|spikes|grassknot|hiddenpowerfire": 2, + "|naturalcure|focussash|timid|4,0,0,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire": 2, + "|poisonpoint|focussash|timid|0,0,0,252,4,252|energyball|sleeptalk|spikes|hiddenpowerfire": 2, + "|naturalcure|choicescarf|modest|0,0,0,252,4,252|sleeppowder|toxicspikes|leafstorm|sludgebomb": 1, + "|naturalcure|choicescarf|timid|8,0,0,252,4,244|leafstorm|sludgebomb|energyball|hiddenpowerfire": 1, + "|naturalcure|blacksludge|calm|252,0,80,0,176,0|stunspore|spikes|grassknot|hiddenpowerfire": 1, + "|naturalcure|leftovers|calm|248,0,0,0,144,116|spikes|grassknot|hiddenpowerfire|stunspore": 1, + "|naturalcure|blacksludge|timid|252,0,72,0,0,184|spikes|grassknot|hiddenpowerice|toxicspikes": 1, + "|naturalcure|blacksludge|calm|252,0,120,0,136,0|spikes|energyball|hiddenpowerfire|leechseed": 2, + "|naturalcure|blacksludge|timid|252,0,0,0,80,176|spikes|toxicspikes|grassknot|hiddenpowerice": 1, + "|naturalcure|blacksludge|calm|240,0,0,0,152,116|leafstorm|sleeppowder|hiddenpowerground|toxicspikes": 1 + }, + "gliscor": { + "|hypercutter|leftovers|adamant|172,96,0,0,0,240|swordsdance|earthquake|icefang|thunderfang": 4, + "|hypercutter|leftovers|sassy|252,0,4,0,252,0|payback|earthquake|icefang|roost": 1, + "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|icefang|thunderfang|earthquake": 2, + "|hypercutter|leftovers|impish|252,0,24,0,0,232|taunt|earthquake|icefang|roost": 1, + "|hypercutter|powerherb|adamant|4,252,0,0,0,252|earthquake|skyattack|thunderfang|swordsdance": 2, + "|hypercutter|leftovers|jolly|244,0,12,0,0,252|taunt|stealthrock|earthquake|roost": 2, + "|hypercutter|leftovers|impish|248,0,44,0,0,216|knockoff|earthquake|taunt|roost": 1, + "|hypercutter|lumberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang": 2, + "|hypercutter|yacheberry|adamant|0,252,4,0,0,252|earthquake|stoneedge|rockpolish|swordsdance": 2, + "|hypercutter|leftovers|impish|248,0,36,0,0,224|earthquake|icefang|taunt|roost": 3, + "|hypercutter|yacheberry|jolly|40,252,0,0,0,216|swordsdance|earthquake|icefang|thunderfang": 4, + "|hypercutter|leftovers|jolly|248,0,44,0,0,216|earthquake|stealthrock|uturn|taunt": 1, + "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|uturn|earthquake|stealthrock": 2, + "|hypercutter|liechiberry|adamant|184,252,0,0,0,72|icefang|earthquake|substitute|swordsdance": 2, + "|hypercutter|leftovers|impish|252,0,36,0,0,220|stealthrock|earthquake|icefang|roost": 2, + "|hypercutter|leftovers|impish|252,0,40,0,0,216|taunt|earthquake|wingattack|roost": 2, + "|hypercutter|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|aerialace|icefang": 1, + "|hypercutter|leftovers|jolly|252,0,36,0,0,220|stealthrock|roost|icefang|earthquake": 2, + "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|earthquake|icefang|roost": 3, + "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang": 3, + "|hypercutter|leftovers|jolly|252,0,36,0,0,220|taunt|earthquake|icefang|roost": 1, + "|hypercutter|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|thunderfang": 2, + "|hypercutter|leftovers|impish|252,0,16,0,0,240|earthquake|icefang|swordsdance|roost": 1, + "|hypercutter|leftovers|jolly|248,0,44,0,0,216|stealthrock|taunt|earthquake|uturn": 1, + "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang": 2, + "|hypercutter|leftovers|adamant|40,252,0,0,0,216|swordsdance|earthquake|icefang|roost": 2, + "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|earthquake|thunderfang|swordsdance|icefang": 1, + "|hypercutter|leftovers|jolly|252,0,40,0,0,216|taunt|roost|earthquake|uturn": 2, + "|hypercutter|leftovers|jolly|28,252,0,0,0,228|swordsdance|earthquake|icefang|nightslash": 1, + "|hypercutter|leftovers|jolly|252,4,0,0,0,252|taunt|earthquake|icefang|roost": 2, + "|hypercutter|leftovers|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|thunderfang": 1, + "|hypercutter|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|taunt": 1 + }, + "milotic": { + "|marvelscale|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|dragonpulse|hiddenpowerelectric": 1, + "|marvelscale|leftovers|bold|248,0,184,0,76,0|surf|icebeam|haze|recover": 1, + "|marvelscale|leftovers|calm|248,0,244,0,16,0|surf|hiddenpowerelectric|recover|haze": 1, + "|marvelscale|leftovers|timid|8,0,0,252,0,248|hydropump|icebeam|recover|hiddenpowerelectric": 3, + "|marvelscale|leftovers|timid|252,0,4,0,0,252|hydropump|icebeam|hiddenpowerelectric|recover": 2, + "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|haze|recover": 2, + "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|recover|haze": 2, + "|marvelscale|leftovers|bold|252,0,252,0,4,0|surf|icebeam|hiddenpowerelectric|recover": 2, + "|marvelscale|leftovers|timid|248,0,0,8,0,252|hydropump|icebeam|recover|haze": 1, + "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|hiddenpowerelectric|recover": 1, + "|marvelscale|leftovers|modest|144,0,0,252,4,108|surf|icebeam|hiddenpowerelectric|recover": 1 + }, + "camerupt": { + "|solidrock|leftovers|brave|248,128,0,0,132,0|stealthrock|lavaplume|earthquake|explosion": 4, + "|solidrock|leftovers|sassy|252,0,4,0,252,0|lavaplume|earthquake|explosion|stealthrock": 1, + "|solidrock|leftovers|sassy|252,0,4,0,252,0|stealthrock|lavaplume|earthquake|explosion": 4, + "|solidrock|leftovers|modest|252,0,0,76,0,180|stealthrock|lavaplume|earthpower|hiddenpowergrass": 1, + "|solidrock|passhoberry|quiet|252,40,68,52,96,0|explosion|earthquake|fireblast|toxic": 2, + "|solidrock|leftovers|relaxed|248,56,160,0,44,0|stealthrock|earthquake|lavaplume|explosion": 1 + }, + "suicune": { + "|pressure|leftovers|timid|248,0,44,0,0,216|calmmind|surf|icebeam|hiddenpowerelectric": 4, + "|pressure|leftovers|bold|252,0,244,0,0,12|surf|icebeam|rest|sleeptalk": 1, + "|pressure|leftovers|bold|252,0,192,0,0,64|surf|calmmind|rest|sleeptalk": 1, + "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam": 5, + "|pressure|leftovers|timid|252,0,0,120,0,136|calmmind|hydropump|icebeam|substitute": 2, + "|pressure|leftovers|modest|104,0,0,252,0,152|calmmind|hydropump|icebeam|hiddenpowerelectric": 1, + "|pressure|leftovers|modest|32,0,0,244,0,232|hydropump|icebeam|hiddenpowerelectric|calmmind": 2, + "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|protect|icebeam": 3, + "|pressure|chestoberry|timid|40,0,0,216,0,252|calmmind|hydropump|icebeam|rest": 2, + "|pressure|lumberry|modest|28,0,0,252,0,228|hydropump|calmmind|toxic|icebeam": 1, + "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|surf|hiddenpowerelectric|icebeam": 1, + "|pressure|leftovers|modest|32,0,0,248,0,228|calmmind|hydropump|icebeam|hiddenpowerelectric": 4, + "|pressure|leftovers|modest|252,0,0,104,0,152|calmmind|hydropump|substitute|icebeam": 4, + "|pressure|leftovers|timid|252,0,0,120,0,136|surf|icebeam|calmmind|substitute": 1, + "|pressure|leftovers|timid|216,0,0,156,0,136|surf|calmmind|raindance|icebeam": 1, + "|pressure|leftovers|modest|104,0,0,252,0,152|surf|icebeam|hiddenpowerelectric|calmmind": 1, + "|pressure|leftovers|timid|120,0,0,192,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric": 2, + "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|surf|icebeam|hiddenpowerelectric": 1, + "|pressure|leftovers|modest|24,0,4,252,0,228|calmmind|rest|icebeam|surf": 2, + "|pressure|leftovers|bold|248,0,204,0,0,56|surf|icebeam|rest|calmmind": 1, + "|pressure|leftovers|timid|60,0,0,252,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric": 2, + "|pressure|leftovers|timid|0,0,0,252,4,252|surf|icebeam|calmmind|hiddenpowerelectric": 1, + "|pressure|leftovers|bold|200,0,252,0,0,56|surf|calmmind|rest|sleeptalk": 1, + "|pressure|leftovers|modest|252,0,0,96,0,160|icebeam|hydropump/surf|substitute|calmmind": 1, + "|pressure|leftovers|timid|28,0,0,252,0,228|calmmind|hydropump|hiddenpowerelectric|icebeam": 2, + "|pressure|leftovers|modest|28,0,0,252,0,228|calmmind|surf|icebeam|hiddenpowergrass": 1, + "|pressure|leftovers|modest|24,0,0,252,0,232|calmmind|hydropump|icebeam|hiddenpowerelectric": 1, + "|pressure|leftovers|timid|40,0,0,252,0,216|calmmind|hydropump|icebeam|rest": 1, + "|pressure|leftovers|timid|252,0,0,60,0,196|calmmind|surf|icebeam|substitute": 1, + "|pressure|leftovers|timid|4,0,0,252,0,252|calmmind|hydropump|icebeam|hiddenpowerelectric": 2, + "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|roar|icebeam": 2, + "|pressure|leftovers|timid|8,0,52,216,0,232|calmmind|hydropump|icebeam|hiddenpowerelectric": 1, + "|pressure|leftovers|bold|252,0,252,0,4,0|surf|calmmind|rest|sleeptalk": 1, + "|pressure|leftovers|timid|252,0,0,32,0,224|substitute|calmmind|surf|icebeam": 1, + "|pressure|leftovers|timid|0,0,0,252,4,252|hiddenpowerelectric|hydropump|icebeam|calmmind": 1 + }, + "azelf": { + "|levitate|colburberry|jolly|164,80,0,0,120,144|stealthrock|thunderwave|taunt|explosion": 2, + "|levitate|choicespecs|timid|0,0,0,252,4,252|psychic|fireblast|uturn|shadowball": 1, + "|levitate|lifeorb|naive|0,4,0,252,0,252|psychic|explosion|hiddenpowerground|flamethrower": 2, + "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|thunderwave|taunt|explosion": 2, + "|levitate|focussash|jolly|252,0,4,0,0,252|stealthrock|explosion|taunt|thunderwave": 1, + "|levitate|damprock|jolly|8,140,0,0,144,216|stealthrock|raindance|uturn|explosion": 1, + "|levitate|lumberry|timid|252,0,196,0,0,60|taunt|stealthrock|thunderwave|explosion": 2, + "|levitate|lumberry|naive|0,4,0,252,0,252|psychic|flamethrower|explosion|grassknot": 2, + "|levitate|lumberry|hasty|0,252,0,4,0,252|stealthrock|uturn|fireblast|explosion": 2, + "|levitate|colburberry|jolly|8,140,0,0,144,216|stealthrock|taunt|thunderwave|explosion": 2, + "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion": 5, + "|levitate|lightclay|timid|40,0,248,0,4,216|stealthrock|taunt|reflect|lightscreen": 1, + "|levitate|focussash|jolly|0,252,0,0,0,252|taunt|stealthrock|uturn|explosion": 1, + "|levitate|colburberry|jolly|248,0,0,0,44,216|taunt|explosion|stealthrock|uturn": 2, + "|levitate|choiceband|adamant|0,252,4,0,0,252|uturn|icepunch|sleeptalk|explosion": 1, + "|levitate|expertbelt|naive|0,4,0,252,0,252|psychic|flamethrower|grassknot|explosion": 2, + "|levitate|sitrusberry|jolly|228,0,216,0,8,56|thunderwave|stealthrock|taunt|explosion": 1, + "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|taunt|thunderwave|explosion": 2, + "|levitate|focussash|naive|0,4,0,252,0,252|flamethrower|stealthrock|taunt|explosion": 2, + "|levitate|colburberry|jolly|8,104,0,0,144,252|stealthrock|taunt|lightscreen|explosion": 1, + "|levitate|damprock|jolly|252,0,188,0,0,68|raindance|explosion|stealthrock|taunt": 1, + "|levitate|colburberry|hasty|8,0,0,140,144,216|stealthrock|fireblast|uturn|explosion": 2, + "|levitate|colburberry|hasty|8,0,0,140,144,216|stealthrock|psychic|fireblast|explosion": 1, + "|levitate|sitrusberry|jolly|240,0,60,0,68,140|stealthrock|taunt|thunderwave|explosion": 2, + "|levitate|focussash|jolly|200,0,56,0,0,252|stealthrock|explosion|taunt|thunderwave": 1, + "|levitate|choiceband|jolly|0,252,0,0,4,252|zenheadbutt|icepunch|explosion|uturn": 1, + "|levitate|focussash|naive|0,4,0,252,0,252|stealthrock|taunt|fireblast|explosion": 1, + "|levitate|lumberry|jolly|184,0,188,0,0,136|stealthrock|explosion|taunt|thunderwave": 1, + "|levitate|lightclay|timid|40,0,248,0,4,216|stealthrock|reflect|lightscreen|explosion": 1 + }, + "clefable": { + "|magicguard|leftovers|sassy|252,0,4,0,252,0|seismictoss|thunderwave|icebeam|softboiled": 2, + "|magicguard|leftovers|impish|252,0,216,0,40,0|thunderwave|cosmicpower|seismictoss|softboiled": 1, + "|magicguard|leftovers|careful|252,0,16,0,240,0|encore|knockoff|seismictoss|softboiled": 1, + "|magicguard|leftovers|careful|252,0,92,0,160,4|seismictoss|softboiled|encore|stealthrock": 1, + "|magicguard|leftovers|careful|252,0,60,0,196,0|seismictoss|knockoff|protect|softboiled": 1, + "|magicguard|leftovers|calm|252,0,56,0,200,0|seismictoss|thunderwave|softboiled|knockoff": 4, + "|magicguard|leftovers|impish|252,0,216,0,40,0|thunderwave|protect|seismictoss|softboiled": 1, + "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|grassknot|flamethrower|softboiled": 1, + "|magicguard|leftovers|careful|252,0,32,0,224,0|seismictoss|knockoff|gravity|softboiled": 1, + "|magicguard|leftovers|calm|252,0,56,0,200,0|stealthrock|seismictoss|softboiled|thunderwave": 2, + "|magicguard|leftovers|careful|252,0,60,0,196,0|seismictoss|knockoff|healbell|softboiled": 1, + "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|thunderwave|softboiled": 3, + "|magicguard|leftovers|calm|252,0,4,0,252,0|wish|protect|seismictoss|knockoff": 1, + "|magicguard|leftovers|calm|252,0,4,0,252,0|stealthrock|thunderwave|softboiled|seismictoss": 2, + "|magicguard|leftovers|calm|252,0,16,0,240,0|stealthrock|seismictoss|knockoff|softboiled": 2, + "|magicguard|leftovers|careful|252,0,80,0,172,4|seismictoss|knockoff|encore|softboiled": 2, + "|magicguard|leftovers|careful|252,0,4,0,252,0|seismictoss|knockoff|stealthrock|softboiled": 3, + "|magicguard|leftovers|careful|252,0,40,0,216,0|seismictoss|knockoff|encore|softboiled": 1, + "|magicguard|leftovers|calm|252,0,188,0,68,0|calmmind|thunderbolt|icebeam|softboiled": 1, + "|magicguard|leftovers|careful|252,0,80,0,176,0|encore|knockoff|seismictoss|softboiled": 1, + "|magicguard|leftovers|calm|252,0,4,0,252,0|softboiled|stealthrock|seismictoss|knockoff": 2, + "|magicguard|leftovers|calm|252,0,80,0,172,4|seismictoss|softboiled|knockoff|encore": 1, + "|magicguard|stickybarb|calm|252,0,16,0,240,0|trick|softboiled|seismictoss|stealthrock": 1, + "|magicguard|leftovers|careful|252,0,4,0,252,0|stealthrock|knockoff|seismictoss|softboiled": 2, + "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|healbell|softboiled": 1, + "|magicguard|stickybarb|careful|252,0,72,0,184,0|seismictoss|trick|thunderwave|softboiled": 1, + "|magicguard|leftovers|calm|252,0,80,0,176,0|seismictoss|knockoff|icebeam|softboiled": 1, + "|magicguard|leftovers|calm|252,0,96,0,160,0|stealthrock|seismictoss|knockoff|softboiled": 1 + }, + "donphan": { + "|sturdy|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|rapidspin|assurance": 2, + "|sturdy|leftovers|impish|252,0,240,0,16,0|stealthrock|earthquake|rapidspin|headsmash": 1, + "|sturdy|leftovers|impish|248,0,216,0,44,0|rapidspin|earthquake|odorsleuth|knockoff": 1, + "|sturdy|leftovers|impish|252,44,212,0,0,0|rapidspin|earthquake|assurance|iceshard": 1, + "|sturdy|leftovers|impish|252,0,100,0,156,0|earthquake|headsmash|protect|rapidspin": 1, + "|sturdy|leftovers|adamant|252,72,184,0,0,0|rapidspin|earthquake|assurance|iceshard": 1, + "|sturdy|leftovers|impish|252,56,176,0,24,0|rapidspin|earthquake|headsmash|stealthrock": 2 + }, + "togekiss": { + "|serenegrace|leftovers|bold|252,0,252,0,4,0|nastyplot|airslash|substitute|roost": 2, + "|serenegrace|wacanberry|timid|248,0,0,0,8,252|airslash|thunderwave|nastyplot|roost": 1 + }, + "tentacruel": { + "|liquidooze|blacksludge|calm|244,0,100,0,164,0|rapidspin|surf|toxicspikes|sludgebomb": 2, + "|liquidooze|blacksludge|timid|96,0,26,252,0,136|hydropump|icebeam|toxicspikes|rapidspin": 1, + "|liquidooze|blacksludge|timid|208,0,64,60,80,96|hydropump|icebeam|knockoff|rapidspin": 1, + "|clearbody|blacksludge|bold|248,0,252,0,8,0|rapidspin|toxicspikes|blizzard|surf": 2 + }, + "weavile": { + "|pressure|lumberry|jolly|0,252,0,0,40,216|swordsdance|pursuit|lowkick|icepunch": 3, + "|pressure|expertbelt|jolly|40,252,0,0,0,216|icepunch|lowkick|iceshard|pursuit": 2, + "|pressure|choiceband|jolly|0,252,4,0,0,252|icepunch|lowkick|iceshard|pursuit": 1, + "|pressure|lifeorb|jolly|32,252,0,0,40,184|pursuit|iceshard|lowkick|nightslash": 1 + }, + "celebi": { + "|naturalcure|leftovers|bold|252,0,220,0,0,36|grassknot|recover|thunderwave|hiddenpowerfire": 4, + "|naturalcure|leftovers|modest|4,0,0,252,0,252|nastyplot|leafstorm|earthpower|hiddenpowerice": 1, + "|naturalcure|meadowplate|timid|0,0,4,252,0,252|leafstorm|earthpower|hiddenpowerice|nastyplot": 1, + "|naturalcure|colburberry|modest|0,0,4,252,0,252|nastyplot|leafstorm|earthpower|hiddenpowerice": 2, + "|naturalcure|leftovers|modest|12,0,0,252,0,244|stealthrock|leafstorm|hiddenpowerfire|recover": 1, + "|naturalcure|leftovers|calm|252,0,0,0,220,36|uturn|stealthrock|leafstorm|reflect": 1, + "|naturalcure|leftovers|bold|252,0,220,0,0,36|recover|stealthrock|grassknot|uturn": 1 + }, + "rotomwash": { + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|shadowball|trick": 3, + "|levitate|leftovers|timid|248,0,0,8,0,252|thunderbolt|willowisp|substitute|painsplit": 1, + "|levitate|leftovers|bold|252,0,204,0,52,0|shadowball|willowisp|rest|sleeptalk": 2, + "|levitate|leftovers|bold|252,0,252,0,4,0|shadowball|willowisp|raindance|painsplit": 3, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump": 7, + "|levitate|leftovers|timid|16,0,0,240,0,252|thunderbolt|shadowball|willowisp|substitute": 1, + "|levitate|leftovers|bold|248,0,208,0,52,0|rest|sleeptalk|thunderbolt|willowisp": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|hiddenpowerice|trick": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerice|shadowball|trick": 4, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice": 5, + "|levitate|choicescarf|timid|80,0,0,216,0,212|thunderbolt|shadowball|trick|willowisp": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|shadowball|trick": 1, + "|levitate|lifeorb|timid|108,0,0,148,0,252|thunderbolt|shadowball|substitute|painsplit": 2, + "|levitate|leftovers|bold|252,0,252,4,0,0|rest|sleeptalk|thunderbolt|willowisp": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|trick|hydropump": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|hiddenpowerice": 1, + "|levitate|colburberry|modest|8,0,0,252,0,248|thunderbolt|hydropump|raindance|thunderwave": 1, + "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|painsplit|shadowball|trick": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick": 5, + "|levitate|choicescarf|timid|112,0,0,188,0,208|thunderbolt|shadowball|hiddenpowerice|trick": 1, + "|levitate|choicescarf|timid|64,0,0,252,4,188|thunderbolt|shadowball|hiddenpowerice|trick": 1, + "|levitate|choicespecs|timid|8,0,0,252,0,248|thunderbolt|shadowball|hydropump|trick": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|willowisp|thunderbolt|shadowball": 2, + "|levitate|choicespecs|timid|0,0,4,252,0,252|thunderbolt|shadowball|hydropump|trick": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|painsplit|shadowball|trick": 1, + "|levitate|choicescarf|timid|56,0,0,216,0,236|thunderbolt|shadowball|hydropump|trick": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|shadowball|willowisp": 2, + "|levitate|choicescarf|timid|48,0,0,252,0,208|thunderbolt|hydropump|hiddenpowerice|trick": 1, + "|levitate|leftovers|bold|248,0,200,4,0,56|willowisp|thunderbolt|rest|sleeptalk": 1, + "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|hydropump|shadowball|trick": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|hiddenpowerice|trick": 2, + "|levitate|choicescarf|timid|184,0,0,68,4,252|thunderbolt|hiddenpowerice|shadowball|trick": 1 + }, + "hippowdon": { + "|sandstream|leftovers|impish|252,0,252,0,0,4|stealthrock|slackoff|earthquake|roar": 1, + "|sandstream|leftovers|impish|240,0,72,0,196,0|earthquake|stealthrock|roar|slackoff": 1, + "|sandstream|leftovers|careful|248,0,8,0,252,0|roar|earthquake|stealthrock|slackoff": 1, + "|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|roar|slackoff": 1, + "|sandstream|leftovers|careful|252,4,0,0,252,0|stealthrock|slackoff|earthquake|icefang": 1, + "|sandstream|leftovers|impish|240,0,92,0,176,0|earthquake|icefang|stealthrock|slackoff": 2, + "|sandstream|leftovers|adamant|244,252,4,0,4,4|earthquake|slackoff|stealthrock|icefang": 1, + "|sandstream|leftovers|careful|248,0,8,0,252,0|stealthrock|earthquake|slackoff|roar": 3, + "|sandstream|leftovers|careful|252,0,4,0,252,0|earthquake|stealthrock|roar|slackoff": 1, + "|sandstream|leftovers|careful|240,0,8,0,252,8|stealthrock|earthquake|icefang|slackoff": 1 + }, + "forretress": { + "|sturdy|leftovers|impish|252,112,144,0,0,0|spikes|rapidspin|payback|earthquake": 1, + "|sturdy|shedshell|impish|252,0,176,0,80,0|spikes|stealthrock|gravity|explosion": 1, + "|sturdy|leftovers|careful|248,0,8,0,252,0|spikes|rapidspin|rest|payback": 3, + "|sturdy|leftovers|relaxed|252,4,252,0,0,0|spikes|rapidspin|gyroball|toxic": 1, + "|sturdy|leftovers|adamant|252,88,0,0,168,0|spikes|payback|earthquake|rapidspin": 1, + "|sturdy|leftovers|careful|252,0,4,0,252,0|spikes|toxicspikes|payback|rapidspin": 1 + }, + "uxie": { + "|levitate|sitrusberry|relaxed|252,0,228,4,24,0|trickroom|memento|stealthrock|thunderbolt": 2, + "|levitate|damprock|relaxed|248,0,232,0,28,0|stealthrock|raindance|memento|uturn": 1, + "|levitate|damprock|bold|252,0,232,0,24,0|raindance|stealthrock|psychic|uturn": 1, + "|levitate|choicescarf|impish|252,0,104,0,0,152|trick|stealthrock|uturn|thunderwave": 2, + "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|uturn|thunderwave": 1, + "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|yawn|uturn": 3 + }, + "magnezone": { + "|magnetpull|custapberry|rash|56,0,0,232,0,220|endure|thunderbolt|hiddenpowerfire|explosion": 2, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|thunderwave|explosion": 4, + "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion": 5, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderwave|thunderbolt|hiddenpowerfire|toxic": 1, + "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|thunderwave": 2, + "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|explosion|thunderwave": 3, + "|magnetpull|custapberry|naive|0,40,0,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|explosion": 4, + "|magnetpull|chopleberry|modest|32,0,4,252,0,220|raindance|thunderbolt|explosion|hiddenpowerfire": 4, + "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|protect|magnetrise": 2, + "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|protect": 2, + "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|flashcannon|explosion": 2, + "|magnetpull|chopleberry|modest|100,0,0,252,0,156|thunderwave|thunderbolt|hiddenpowergrass|explosion": 3, + "|magnetpull|leftovers|modest|140,0,0,252,0,116|thunderbolt|thunderwave|substitute|hiddenpowerfire": 2, + "|magnetpull|leftovers|naive|0,36,0,252,0,220|thunderbolt|hiddenpowerfire|explosion|magnetrise": 1, + "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion": 1, + "|magnetpull|leftovers|modest|32,0,8,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|thunderwave": 2, + "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|magnetrise|protect": 2, + "|magnetpull|leftovers|modest|92,0,100,96,0,220|thunderbolt|thunderwave|metalsound|hiddenpowergrass": 1, + "|magnetpull|chopleberry|modest|32,0,4,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|thunderwave": 2, + "|magnetpull|leftovers|naive|32,0,0,252,0,224|magnetrise|explosion|thunderbolt|hiddenpowerfire": 1, + "|magnetpull|leftovers|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|magnetrise|substitute": 1, + "|magnetpull|leftovers|naive|0,36,0,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|explosion": 2, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|thunderwave|flashcannon": 1, + "|magnetpull|shucaberry|timid|0,0,0,252,4,252|thunderbolt|hiddenpowergrass|thunderwave|magnetrise": 2, + "|magnetpull|leftovers|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerground|thunderwave|magnetrise": 1 + }, + "gallade": { + "|steadfast|lumberry|jolly|0,252,4,0,0,252|closecombat|icepunch|willowisp|shadowsneak": 2, + "|steadfast|lumberry|jolly|0,252,16,0,0,240|swordsdance|closecombat|icepunch|shadowsneak": 1, + "|steadfast|choicescarf|jolly|76,252,0,0,4,176|trick|closecombat|icepunch|psychocut": 2, + "|steadfast|lifeorb|jolly|0,252,4,0,0,252|closecombat|zenheadbutt|swordsdance|shadowsneak": 1, + "|steadfast|lumberry|jolly|4,252,0,0,0,252|swordsdance|closecombat|icepunch|shadowsneak": 1 + }, + "mamoswine": { + "|oblivious|lifeorb|jolly|0,252,4,0,0,252|earthquake|iceshard|stoneedge|icefang": 1, + "|oblivious|lifeorb|naive|0,252,0,4,0,252|earthquake|iceshard|stoneedge|blizzard": 2, + "|snowcloak|focussash|jolly|0,252,0,0,4,252|earthquake|iceshard|stealthrock|endeavor": 1, + "|oblivious|lifeorb|jolly|0,252,4,0,0,252|iceshard|earthquake|stoneedge|superpower": 2, + "|oblivious|focussash|adamant|0,252,0,0,4,252|stealthrock|earthquake|iceshard|endeavor": 1, + "|oblivious|leftovers|adamant|176,96,4,0,0,232|icefang|earthquake|substitute|iceshard": 1, + "|oblivious|choiceband|adamant|0,252,0,0,4,252|earthquake|iceshard|stoneedge|superpower": 1, + "|oblivious|salacberry|adamant|0,252,0,0,4,252|earthquake|substitute|stoneedge|iceshard": 1, + "|oblivious|leftovers|adamant|172,140,0,0,0,196|substitute|knockoff|iceshard|earthquake": 2, + "|oblivious|leftovers|adamant|172,132,0,0,0,204|substitute|earthquake|iceshard|knockoff": 1, + "|oblivious|lifeorb|jolly|4,252,0,0,0,252|earthquake|icefang|superpower|iceshard": 1 + }, + "shaymin": { + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerfire|rest": 1, + "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hiddenpowerice|earthpower|rest|seedflare": 2, + "|naturalcure|occaberry|timid|40,0,0,248,0,220|seedflare|earthpower|hiddenpowerice|healingwish": 2, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|grasswhistle": 2, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|healingwish": 2, + "|naturalcure|leftovers|timid|72,0,0,252,0,184|seedflare|earthpower|hiddenpowerice|grasswhistle": 1, + "|naturalcure|choicespecs|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|airslash": 1 + }, + "umbreon": { + "|synchronize|leftovers|careful|252,0,4,0,252,0|curse|payback|rest|sleeptalk": 1, + "|synchronize|leftovers|careful|252,0,4,0,252,0|payback|wish|protect|healbell": 1, + "|synchronize|leftovers|careful|216,0,76,0,180,36|wish|protect|yawn|healbell": 1 + }, + "quagsire": { + "|waterabsorb|leftovers|careful|252,0,56,0,200,0|earthquake|icepunch|recover|haze": 1, + "|waterabsorb|leftovers|impish|252,0,100,0,156,0|earthquake|encore|recover|toxic": 4, + "|waterabsorb|leftovers|impish|252,0,216,0,40,0|earthquake|icepunch|haze|recover": 2, + "|waterabsorb|leftovers|careful|252,4,0,0,252,0|recover|earthquake|icepunch|curse": 1 + }, + "honchkrow": { + "|insomnia|leftovers|bold|252,0,252,0,0,4|substitute|calmmind|darkpulse|roost": 3, + "|insomnia|leftovers|lonely|252,252,0,0,0,4|substitute|drillpeck|heatwave|superpower": 1, + "|insomnia|lifeorb|naughty|0,252,0,4,0,252|bravebird|suckerpunch|superpower|heatwave": 1, + "|insomnia|lifeorb|hasty|0,252,0,68,0,188|superpower|heatwave|nightslash|suckerpunch": 1, + "|superluck|choicescarf|jolly|0,252,4,0,0,252|bravebird|superpower|nightslash|pursuit": 1 + }, + "blissey": { + "|naturalcure|leftovers|bold|252,0,252,4,0,0|seismictoss|icebeam|softboiled|healbell": 3, + "|naturalcure|leftovers|bold|252,0,252,0,0,4|seismictoss|icebeam|stealthrock|softboiled": 2, + "|naturalcure|leftovers|bold|252,0,252,0,4,0|stealthrock|seismictoss|softboiled|flamethrower": 2, + "|naturalcure|leftovers|bold|252,0,252,0,4,0|wish|protect|seismictoss|healbell": 1, + "|naturalcure|leftovers|bold|252,0,252,4,0,0|wish|softboiled|thunderbolt|icebeam": 1, + "|naturalcure|leftovers|bold|252,0,252,0,4,0|gravity|softboiled|thunder|fireblast": 1 + }, + "abomasnow": { + "|snowwarning|expertbelt|lonely|0,252,0,96,0,160|woodhammer|iceshard|earthquake|hiddenpowerfire": 1, + "|snowwarning|leftovers|lonely|0,220,0,64,0,224|woodhammer|focuspunch|iceshard|blizzard": 1, + "|snowwarning|lifeorb|brave|232,252,0,26,0,0|woodhammer|iceshard|blizzard|earthquake": 1, + "|snowwarning|leftovers|adamant|0,252,4,0,0,252|swordsdance|iceshard|earthquake|seedbomb": 2, + "|snowwarning|leftovers|adamant|32,252,0,0,0,224|swordsdance|seedbomb|iceshard|earthquake": 1, + "|snowwarning|choicescarf|modest|0,0,0,252,4,252|blizzard|energyball|waterpulse|focusblast": 1, + "|snowwarning|leftovers|careful|252,4,0,0,252,0|substitute|leechseed|protect|iceshard": 1, + "|snowwarning|leftovers|adamant|252,252,0,0,4,0|protect|woodhammer|focuspunch|iceshard": 1, + "|snowwarning|leftovers|sassy|248,0,8,0,252,0|leechseed|protect|blizzard|woodhammer": 2 + }, + "machamp": { + "|noguard|leftovers|adamant|128,252,0,0,0,128|substitute|dynamicpunch|payback|stoneedge": 2, + "|guts|toxicorb|adamant|248,252,0,0,8,0|closecombat|payback|icepunch|bulletpunch": 1, + "|noguard|leftovers|adamant|64,252,0,0,48,144|substitute|dynamicpunch|payback|icepunch": 2, + "|noguard|lumberry|adamant|196,252,0,0,0,60|dynamicpunch|payback|bulletpunch|stoneedge": 2, + "|noguard|lumberry|adamant|248,240,0,0,16,4|dynamicpunch|payback|icepunch|bulletpunch": 1, + "|noguard|lumberry|adamant|96,252,0,0,4,156|dynamicpunch|encore|bulkup|payback": 1 + }, + "hariyama": { + "|guts|toxicorb|adamant|0,252,0,0,164,92|fakeout|closecombat|payback|icepunch": 1 + }, + "claydol": { + "|levitate|toxicorb|adamant|252,252,0,0,4,0|trickroom|stealthrock|earthquake|explosion": 1 + }, + "heracross": { + "|guts|toxicorb|adamant|0,252,4,0,0,252|closecombat|megahorn|pursuit|stoneedge": 1, + "|guts|choicescarf|jolly|0,252,12,0,0,244|closecombat|megahorn|stoneedge|sleeptalk": 1, + "|guts|choiceband|jolly|4,252,0,0,0,252|closecombat|megahorn|stoneedge|sleeptalk": 2, + "|guts|choicescarf|adamant|0,252,0,0,4,252|closecombat|megahorn|stoneedge|nightslash": 1, + "|guts|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|stoneedge|nightslash": 1 + }, + "ursaring": { + "|guts|toxicorb|brave|248,252,0,0,8,0|facade|closecombat|firepunch|icepunch": 1 + }, + "swellow": { + "|guts|toxicorb|jolly|80,252,0,0,0,176|facade|bravebird|uturn|quickattack": 1, + "|guts|toxicorb|jolly|80,252,0,0,0,176|facade|bravebird|uturn|pursuit": 1 + }, + "mesprit": { + "|levitate|choicescarf|modest|72,0,0,252,0,184|trick|uturn|thunderbolt|icebeam": 2, + "|levitate|damprock|bold|252,0,184,0,72,0|stealthrock|raindance|thunderwave|healingwish": 1 + }, + "rotommow": { + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick": 2, + "|levitate|leftovers|timid|244,0,0,40,0,224|thunderbolt|willowisp|substitute|painsplit": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|leafstorm|shadowball|trick": 3, + "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderwave|leafstorm|shadowball": 2 + }, + "nidoqueen": { + "|poisonpoint|blacksludge|relaxed|252,0,252,4,0,0|toxicspikes|fireblast|earthquake|icebeam": 2, + "|poisonpoint|choicespecs|modest|200,0,0,252,8,50|sludgebomb|icebeam|earthpower|flamethrower": 1, + "|poisonpoint|blacksludge|relaxed|252,0,252,0,4,0|protect|toxicspikes|icebeam|earthquake": 2 + }, + "aerodactyl": { + "|pressure|focussash|jolly|0,252,4,0,0,252|stealthrock|taunt|stoneedge|earthquake": 1, + "|pressure|focussash|jolly|0,252,4,0,0,252|stealthrock|stoneedge|earthquake|taunt": 1, + "|rockhead|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|stoneedge|taunt": 2, + "|pressure|choiceband|jolly|0,252,4,0,0,252|earthquake|icefang|aerialace|stoneedge": 1, + "|pressure|powerherb|jolly|0,252,4,0,0,252|stealthrock|rockslide|earthquake|skyattack": 1, + "|pressure|lumberry|jolly|0,252,4,0,0,252|stealthrock|rocktomb|earthquake|taunt": 1 + }, + "magneton": { + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|flashcannon|hiddenpowerice|thunderwave": 1, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave": 4, + "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerice|thunderwave|explosion": 2, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|flashcannon|thunderwave": 1, + "|magnetpull|choicescarf|timid|0,0,0,244,12,252|thunderbolt|hiddenpowerground|sunnyday|thunderwave": 1, + "|magnetpull|choicescarf|timid|8,0,0,248,0,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave": 1, + "|magnetpull|choicescarf|timid|0,0,0,244,12,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave": 1, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|thunderwave|flashcannon": 2 + }, + "smeargle": { + "|owntempo|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|spore|uturn": 1, + "|owntempo|focussash|jolly|112,0,140,0,4,252|spore|stealthrock|uturn|spikes": 1, + "|owntempo|choicescarf|jolly|16,0,0,0,224,252|spore|stealthrock|trick|uturn": 1, + "|owntempo|focussash|jolly|0,252,0,0,4,252|spore|stealthrock|spikes|explosion": 1 + }, + "porygonz": { + "|adaptability|choicescarf|timid|0,0,0,252,4,252|triattack|discharge|icebeam|trick": 1, + "|adaptability|choicespecs|modest|0,0,0,252,4,252|triattack|darkpulse|trick|hiddenpowerfighting": 1 + }, + "cloyster": { + "|shellarmor|lumberry|naive|0,252,0,4,0,252|spikes|icywind|rapidspin|explosion": 4, + "|shellarmor|leftovers|relaxed|252,0,16,4,236,0|toxicspikes|rapidspin|surf|explosion": 1, + "|shellarmor|focussash|naive|0,4,0,252,0,252|spikes|surf|rapidspin|explosion": 1 + }, + "shiftry": { + "|earlybird|focussash|lonely|0,252,0,76,0,180|leafstorm|suckerpunch|explosion|lowkick": 1 + }, + "spiritomb": { + "|pressure|leftovers|bold|252,0,252,0,4,0|shadowball|calmmind|rest|willowisp": 1, + "|pressure|leftovers|careful|248,0,8,0,252,0|pursuit|rest|sleeptalk|willowisp": 2, + "|pressure|choiceband|adamant|248,252,0,0,4,4|shadowsneak|pursuit|suckerpunch|trick": 1, + "|pressure|leftovers|calm|248,0,148,0,112,0|rest|sleeptalk|shadowball|willowisp": 1 + }, + "drapion": { + "|sniper|scopelens|adamant|0,252,0,0,4,252|swordsdance|nightslash|earthquake|crosspoison": 1 + }, + "azumarill": { + "|hugepower|lifeorb|brave|240,252,8,0,8,0|aquatail|aquajet|icepunch|superpower": 1, + "|hugepower|lumberry|brave|252,252,0,0,4,0|waterfall|icepunch|superpower|aquajet": 1 + }, + "walrein": { + "|icebody|leftovers|modest|248,0,0,180,34,48|substitute|protect|blizzard|surf": 1, + "|icebody|leftovers|bold|220,0,252,0,36,0|protect|substitute|surf|roar": 2 + }, + "froslass": { + "|snowcloak|choicescarf|timid|0,0,0,252,4,252|blizzard|shadowball|trick|destinybond": 1 + }, + "articuno": { + "|pressure|leftovers|calm|252,0,54,0,180,24|roost|roar|icebeam|healbell": 1 + }, + "gastrodoneast": { + "|stickyhold|leftovers|sassy|252,0,64,0,192,0|recover|icebeam|earthquake|mirrorcoat": 2 + }, + "dugtrio": { + "|arenatrap|choiceband|jolly|0,252,4,0,0,252|earthquake|stoneedge|pursuit|aerialace": 2, + "|arenatrap|lifeorb|jolly|4,252,0,0,0,252|earthquake|stoneedge|aerialace|suckerpunch": 1 + }, + "venomoth": { + "|tintedlens|focussash|timid|0,0,6,252,0,252|toxicspikes|bugbuzz|sleeppowder|thief": 1 + }, + "armaldo": { + "|battlearmor|leftovers|adamant|252,16,0,0,236,4|stealthrock|rapidspin|stoneedge|earthquake": 1, + "|battlearmor|custapberry|adamant|0,252,0,0,4,252|rockblast|stealthrock/swordsdance|rapidspin|xscissor": 2, + "|battlearmor|sitrusberry|adamant|252,56,0,0,200,0|xscissor|stealthrock|rapidspin|knockoff": 1 + }, + "yanmega": { + "|speedboost|lifeorb|modest|0,0,0,252,4,252|bugbuzz|airslash|protect|hiddenpowerground": 1, + "|speedboost|lifeorb|modest|0,0,104,252,0,152|protect|bugbuzz|airslash|hiddenpowerground": 1 + }, + "rotomfrost": { + "|levitate|leftovers|bold|252,0,248,0,0,8|discharge|shadowball|rest|sleeptalk": 4 + }, + "moltres": { + "|pressure|charcoal|modest|0,0,4,252,0,252|fireblast|uturn|protect|hiddenpowerground": 3, + "|pressure|lifeorb|modest|0,0,0,252,4,252|overheat|hiddenpowerground|airslash|uturn": 2, + "|pressure|leftovers|bold|248,0,216,0,20,24|flamethrower|willowisp|hiddenpowerground|roost": 1 + }, + "tauros": { + "|intimidate|choiceband|jolly|0,252,0,0,4,252|return|earthquake|stoneedge|outrage": 1 + }, + "staraptor": { + "|intimidate|choicescarf|adamant|0,252,4,0,0,252|bravebird|uturn|closecombat|return": 1 + }, + "snorlax": { + "|thickfat|leftovers|adamant|84,252,150,0,20,4|earthquake|curse|firepunch|return": 1 + }, + "ambipom": { + "|technician|lifeorb|jolly|0,252,0,0,4,252|fakeout|lowkick|payback|return": 1 + }, + "nidoking": { + "|poisonpoint|focussash|timid|4,0,0,252,0,252|stealthrock|taunt|earthpower|icebeam": 2 + }, + "poliwrath": { + "|waterabsorb|salacberry|jolly|4,252,0,0,0,252|bellydrum|substitute|waterfall|return": 2, + "|waterabsorb|choicespecs|modest|232,0,0,252,8,16|focusblast|surf|icebeam|vacuumwave": 1 + }, + "feraligatr": { + "|torrent|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|icepunch|earthquake": 1, + "|torrent|lumberry|adamant|20,252,0,0,0,236|swordsdance|waterfall|aquajet|return": 3 + }, + "cresselia": { + "|levitate|lightclay|timid|252,0,60,0,0,196|reflect|lightscreen|lunardance|thunderwave": 1, + "|levitate|lightclay|bold|252,0,148,0,40,68|reflect|lightscreen|lunardance|thunderwave": 1, + "|levitate|leftovers|relaxed|252,0,252,0,4,0|icebeam|thunderwave|rest|lunardance": 1, + "|levitate|lightclay|timid|252,0,4,0,0,252|reflect|lightscreen|lunardance|thunderwave": 1 + }, + "muk": { + "|stickyhold|blacksludge|impish|252,0,252,0,4,0|curse|brickbreak|icepunch|rest": 1 + }, + "hitmontop": { + "|intimidate|lumberry|jolly|236,20,0,0,0,252|rapidspin|closecombat|thief|suckerpunch": 1, + "|intimidate|leftovers|impish|252,4,252,0,0,0|rapidspin|foresight|closecombat|stoneedge": 1 + }, + "ludicolo": { + "|swiftswim|lifeorb|modest|0,0,0,252,0,252,4|hydropump|surf|icebeam|grassknot": 1, + "|swiftswim|lifeorb|modest|124,0,0,252,0,132|raindance|hydropump|grassknot|icebeam": 1 + }, + "crobat": { + "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|uturn|pursuit|crosspoison": 1, + "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|sleeptalk|pursuit|uturn": 3, + "|innerfocus|blacksludge|jolly|252,0,24,0,0,232|bravebird|superfang|taunt|roost": 1 + }, + "skuntank": { + "|aftermath|blackglasses|adamant|48,252,0,0,178,32|suckerpunch|pursuit|crunch|explosion": 1 + }, + "torterra": { + "|overgrow|occaberry|jolly|0,252,0,0,4,252|woodhammer|rockpolish|earthquake|swordsdance": 1 + }, + "dusknoir": { + "|pressure|leftovers|brave|252,252,4,0,0,0|earthquake|icepunch|thunderpunch|trickroom": 1, + "|pressure|custapberry|adamant|252,252,4,0,0,0|shadowsneak|icepunch|thunderpunch|earthquake": 1, + "|pressure|leftovers|adamant|252,252,0,0,4,0|substitute|focuspunch|shadowsneak|icepunch": 1, + "|pressure|leftovers|impish|252,0,252,0,4,0|trickroom|gravity|memento|destinybond": 1 + }, + "tangrowth": { + "|leafguard|leftovers|quiet|252,0,152,104,0,0|sleeppowder|gigadrain|earthquake|hiddenpowerfire": 1 + }, + "gastrodon": { + "|stickyhold|leftovers|careful|252,0,16,0,240,0|curse|waterfall|earthquake|recover": 3, + "|stickyhold|leftovers|relaxed|252,0,192,0,64,0|earthquake|icebeam|counter|recover": 1 + }, + "kabutops": { + "|swiftswim|lifeorb|adamant|52,252,0,0,0,204|swordsdance|stoneedge|waterfall|superpower": 3, + "|swiftswim|focussash|adamant|0,252,0,0,4,252|stealthrock|rapidspin|aquajet|stoneedge": 1 + }, + "vaporeon": { + "|waterabsorb|choicespecs|modest|4,0,0,252,0,252|hydropump|hiddenpowerelectric|icebeam|batonpass": 2 + }, + "dragonair": { + "|shedskin|focussash|lonely|0,252,0,240,0,16|outrage|extremespeed|dracometeor|fireblast": 1 + }, + "altaria": { + "|naturalcure|habanberry|adamant|236,252,0,0,0,20|dragondance|outrage|earthquake|roost": 1 + }, + "cradily": { + "|suctioncups|leftovers|calm|244,0,0,226,40,0|energyball|toxic|recover|earthpower": 1, + "|suctioncups|leftovers|careful|252,4,0,0,252,0|curse|rockslide|recover|seedbomb": 1 + }, + "regirock": { + "|clearbody|leftovers|adamant|248,252,0,0,4,4|rockslide|thunderwave|earthquake|explosion": 1 + }, + "rhyperior": { + "|solidrock|leftovers|adamant|192,252,0,0,60,4|earthquake|megahorn|substitute|icepunch": 1, + "|solidrock|choiceband|brave|252,252,0,0,4,0|earthquake|stoneedge|aquatail|megahorn": 1 + }, + "electivire": { + "|motordrive|leftovers|adamant|0,252,4,0,0,252|meditate|thunderpunch|icepunch|earthquake": 1 + }, + "bastiodon": { + "|sturdy|focussash|impish|252,0,80,0,176,0|stealthrock|raindance|thunder|metalburst": 1 + }, + "": { + "|swiftswim||adamant|0,252,4,0,0,252|swordsdance|waterfall|stoneedge|aquajet": 1 + }, + "omastar": { + "|swiftswim|damprock|modest|4,0,0,252,0,252|surf|icebeam|hiddenpowergrass|raindance": 1 + }, + "drifblim": { + "|unburden|sitrusberry|modest|0,0,6,252,0,252|calmmind|substitute|shadowball|hiddenpowerfighting": 1 + }, + "slowbro": { + "|owntempo|leftovers|bold|252,0,216,0,40,0|slackoff|surf|icebeam|thunderwave": 2, + "|owntempo|leftovers|bold|248,0,216,0,44,0|surf|thunderwave|icebeam|slackoff": 1 + }, + "garchomp": { + "|sandveil|choicescarf||0,0,0,0,0,0|firefang|earthquake|outrage|stoneedge": 1 + } + }, + "teams": { + "heatran|infernape|gyarados|tyranitar|jirachi|latias": [ + { + "heatran": "|flashfire|focussash|naive|0,0,0,252,4,252|stealthrock|fireblast|hiddenpowergrass|explosion", + "infernape": "|blaze|expertbelt|naive|0,156,0,160,0,192|fireblast|closecombat|grassknot|machpunch", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|substitute|thunderwave", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch", + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish" + }, + { + "heatran": "|flashfire|focussash|naive|0,0,0,252,4,252|stealthrock|fireblast|hiddenpowergrass|explosion", + "infernape": "|blaze|expertbelt|naive|0,156,0,160,0,192|fireblast|closecombat|grassknot|machpunch", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|substitute|thunderwave", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch", + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish" + } + ], + "empoleon|scizor|jirachi|flygon|tyranitar|dragonite": [ + { + "empoleon": "|torrent|focussash|rash|0,32,0,252,0,224|hydropump|icebeam|stealthrock|aquajet", + "scizor": "|technician|leftovers|adamant|248,56,0,0,204,0|swordsdance|bulletpunch|bugbite|roost", + "jirachi": "|serenegrace|occaberry|hasty|0,4,0,252,0,252|psychic|hiddenpowerground|ironhead|thunderbolt", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost", + "tyranitar": "|sandstream|passhoberry|jolly|0,252,0,0,4,252|dragondance|crunch|stoneedge|earthquake", + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|firepunch|sleeptalk" + } + ], + "skarmory|flygon|tyranitar|gyarados|lucario|rotomheat": [ + { + "skarmory": "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|roost|fireblast|dracometeor|earthquake", + "tyranitar": "|sandstream|leftovers|lonely|252,172,0,72,0,12|substitute|focuspunch|icebeam|crunch", + "gyarados": "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake", + "lucario": "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick" + }, + { + "skarmory": "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|roost|fireblast|dracometeor|earthquake", + "tyranitar": "|sandstream|leftovers|lonely|252,172,0,72,0,12|substitute|focuspunch|icebeam|crunch", + "gyarados": "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake", + "lucario": "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick" + }, + { + "skarmory": "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck", + "flygon": "|levitate|expertbelt|naive|0,64,0,192,0,252|toxic|fireblast|dracometeor|earthquake", + "tyranitar": "|sandstream|leftovers|lonely|252,172,0,72,0,12|substitute|focuspunch|icebeam|crunch", + "gyarados": "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake", + "lucario": "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick" + }, + { + "skarmory": "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck", + "flygon": "|levitate|expertbelt|naive|0,64,0,192,0,252|toxic|fireblast|dracometeor|earthquake", + "tyranitar": "|sandstream|leftovers|lonely|252,172,0,72,0,12|substitute|focuspunch|icebeam|crunch", + "gyarados": "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake", + "lucario": "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick" + } + ], + "breloom|dragonite|metagross|gengar|tyranitar|swampert": [ + { + "breloom": "|effectspore|choicescarf|jolly|4,252,0,0,0,252|spore|superpower|machpunch|stoneedge", + "dragonite": "|innerfocus|lifeorb|rash|0,52,0,252,0,204|dracometeor|fireblast|superpower|extremespeed", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "gengar": "|levitate|lumberry|timid|104,0,16,196,0,192|shadowball|focusblast|taunt|willowisp", + "tyranitar": "|sandstream|chopleberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|taunt", + "swampert": "|torrent|leftovers|quiet|252,0,0,252,0,4|hydropump|earthquake|icebeam|hiddenpowerelectric" + } + ], + "zapdos|starmie|tyranitar|breloom|latias|metagross": [ + { + "zapdos": "|pressure|leftovers|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|uturn|roost", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|surf|thunderwave|rapidspin|icebeam", + "tyranitar": "|sandstream|chopleberry|adamant|80,104,0,0,76,248|crunch|pursuit|stealthrock|stoneedge", + "breloom": "|poisonheal|toxicorb|adamant|120,188,0,0,64,136|spore|superpower|machpunch|seedbomb", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "metagross": "|clearbody|leftovers|adamant|72,252,0,0,8,176|meteormash|earthquake|thunderpunch|explosion" + } + ], + "tyranitar|swampert|dragonite|latias|heatran|metagross": [ + { + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|thunderwave", + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|superpower|sleeptalk", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice", + "metagross": "|clearbody|ironball|adamant|252,236,0,0,0,20|trick|earthquake|meteormash|explosion" + }, + { + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|thunderwave", + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|superpower|sleeptalk", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice", + "metagross": "|clearbody|ironball|adamant|252,236,0,0,0,20|trick|earthquake|meteormash|explosion" + } + ], + "blastoise|jirachi|latias|empoleon|infernape|raikou": [ + { + "blastoise": "|torrent|lifeorb|modest|8,0,0,252,0,248|hydropump|icebeam|rapidspin|protect", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|dracometeor|hiddenpowerground", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "empoleon": "|torrent|shucaberry|modest|44,0,8,140,172,144|stealthrock|hydropump|icebeam|grassknot", + "infernape": "|blaze|lumberry|naive|0,252,0,64,0,192|fireblast|closecombat|hiddenpowerice|machpunch", + "raikou": "|pressure|lumberry|rash|0,0,4,252,0,252|calmmind|aurasphere|hiddenpowerice|thunderbolt" + }, + { + "blastoise": "|torrent|lifeorb|modest|8,0,0,252,0,248|hydropump|icebeam|rapidspin|protect", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|dracometeor|hiddenpowerground", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "empoleon": "|torrent|shucaberry|modest|44,0,8,140,172,144|stealthrock|hydropump|icebeam|grassknot", + "infernape": "|blaze|lumberry|naive|0,252,0,64,0,192|fireblast|closecombat|hiddenpowerice|machpunch", + "raikou": "|pressure|lumberry|rash|0,0,4,252,0,252|calmmind|aurasphere|hiddenpowerice|thunderbolt" + } + ], + "heatran|kingdra|qwilfish|bronzong|latias|empoleon": [ + { + "heatran": "|flashfire|focussash|hasty|0,4,0,252,0,252|magmastorm|stealthrock|explosion|earthpower", + "kingdra": "|swiftswim|choicespecs|modest|0,0,4,252,0,252|dracometeor|hydropump|surf|dragonpulse", + "qwilfish": "|swiftswim|lumberry|jolly|248,0,124,0,0,136|explosion|taunt|spikes|thunderwave", + "bronzong": "|levitate|damprock|careful|248,0,40,0,176,44|earthquake|explosion|raindance|hypnosis", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|raindance|healingwish", + "empoleon": "|torrent|petayaberry|modest|12,0,0,244,0,252|surf|icebeam|substitute|agility" + } + ], + "metagross|roserade|gengar|lucario|gliscor": [ + { + "metagross": "|clearbody|ironball|adamant|236,84,0,0,188,0|meteormash|earthquake|trick|explosion", + "roserade": "|poisonpoint|blacksludge|calm|252,0,60,0,136,60|grassknot|spikes|hiddenpowerfire|stunspore", + "gengar": "|levitate|blacksludge|timid|0,0,4,252,0,252|shadowball|focusblast|willowisp|taunt", + "lucario": "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|copycat", + "gliscor": "|hypercutter|leftovers|adamant|172,96,0,0,0,240|swordsdance|earthquake|icefang|thunderfang" + }, + { + "metagross": "|clearbody|ironball|adamant|236,84,0,0,188,0|meteormash|earthquake|trick|explosion", + "roserade": "|poisonpoint|blacksludge|calm|252,0,60,0,136,60|grassknot|spikes|hiddenpowerfire|stunspore", + "gengar": "|levitate|blacksludge|timid|0,0,4,252,0,252|shadowball|focusblast|willowisp|taunt", + "lucario": "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|copycat", + "gliscor": "|hypercutter|leftovers|adamant|172,96,0,0,0,240|swordsdance|earthquake|icefang|thunderfang" + }, + { + "metagross": "|clearbody|ironball|adamant|236,84,0,0,188,0|meteormash|earthquake|trick|explosion", + "roserade": "|poisonpoint|blacksludge|calm|252,0,60,0,136,60|grassknot|spikes|hiddenpowerfire|stunspore", + "gengar": "|levitate|blacksludge|timid|0,0,4,252,0,252|shadowball|focusblast|willowisp|taunt", + "lucario": "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|crunch", + "gliscor": "|hypercutter|leftovers|adamant|172,96,0,0,0,240|swordsdance|earthquake|icefang|thunderfang" + }, + { + "metagross": "|clearbody|ironball|adamant|236,84,0,0,188,0|meteormash|earthquake|trick|explosion", + "roserade": "|poisonpoint|blacksludge|calm|252,0,60,0,136,60|grassknot|spikes|hiddenpowerfire|stunspore", + "gengar": "|levitate|blacksludge|timid|0,0,4,252,0,252|shadowball|focusblast|willowisp|taunt", + "lucario": "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|copycat", + "gliscor": "|hypercutter|leftovers|adamant|172,96,0,0,0,240|swordsdance|earthquake|icefang|thunderfang" + } + ], + "roserade|milotic|gengar|heatran|flygon|metagross": [ + { + "roserade": "|naturalcure|focussash|timid|0,0,0,252,4,252|toxicspikes|hiddenpowerground|leafstorm|sleeppowder", + "milotic": "|marvelscale|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|dragonpulse|hiddenpowerelectric", + "gengar": "|levitate|blacksludge|timid|4,0,0,252,0,252|substitute|shadowball|focusblast|willowisp", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|stealthrock|protect|toxic", + "flygon": "|levitate|choiceband|adamant|0,252,0,0,4,252|earthquake|outrage|uturn|firepunch", + "metagross": "|clearbody|shucaberry|jolly|68,252,0,0,0,188|agility|earthquake|meteormash|explosion" + } + ], + "jirachi|camerupt|gengar|skarmory|suicune|breloom": [ + { + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|hiddenpowerground|grassknot", + "camerupt": "|solidrock|leftovers|brave|248,128,0,0,132,0|stealthrock|lavaplume|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|48,0,0,208,0,252|shadowball|focusblast|willowisp|taunt", + "skarmory": "|keeneye|leftovers|careful|252,0,96,0,160,0|spikes|bravebird|roost|whirlwind", + "suicune": "|pressure|leftovers|timid|248,0,44,0,0,216|calmmind|surf|icebeam|hiddenpowerelectric", + "breloom": "|poisonheal|toxicorb|adamant|252,44,28,0,0,184|spore|superpower|seedbomb|machpunch" + }, + { + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|hiddenpowerground|grassknot", + "camerupt": "|solidrock|leftovers|brave|248,128,0,0,132,0|stealthrock|lavaplume|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|48,0,0,208,0,252|shadowball|focusblast|willowisp|taunt", + "skarmory": "|keeneye|leftovers|careful|252,0,96,0,160,0|spikes|bravebird|roost|whirlwind", + "suicune": "|pressure|leftovers|timid|248,0,44,0,0,216|calmmind|surf|icebeam|hiddenpowerelectric", + "breloom": "|poisonheal|toxicorb|adamant|252,44,28,0,0,184|spore|superpower|seedbomb|machpunch" + }, + { + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|hiddenpowerground|grassknot", + "camerupt": "|solidrock|leftovers|brave|248,128,0,0,132,0|stealthrock|lavaplume|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|48,0,0,208,0,252|shadowball|focusblast|willowisp|taunt", + "skarmory": "|keeneye|leftovers|careful|252,0,96,0,160,0|spikes|bravebird|roost|whirlwind", + "suicune": "|pressure|leftovers|timid|248,0,44,0,0,216|calmmind|surf|icebeam|hiddenpowerelectric", + "breloom": "|poisonheal|toxicorb|adamant|252,44,28,0,0,184|spore|superpower|seedbomb|machpunch" + }, + { + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|hiddenpowerground|grassknot", + "camerupt": "|solidrock|leftovers|brave|248,128,0,0,132,0|stealthrock|lavaplume|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|48,0,0,208,0,252|shadowball|focusblast|willowisp|taunt", + "skarmory": "|keeneye|leftovers|careful|252,0,96,0,160,0|spikes|bravebird|roost|whirlwind", + "suicune": "|pressure|leftovers|timid|248,0,44,0,0,216|calmmind|surf|icebeam|hiddenpowerelectric", + "breloom": "|poisonheal|toxicorb|adamant|252,44,28,0,0,184|spore|superpower|seedbomb|machpunch" + } + ], + "empoleon|jirachi|starmie|bronzong|tyranitar|dragonite": [ + { + "empoleon": "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot", + "jirachi": "|serenegrace|leftovers|timid|56,0,0,232,0,220|calmmind|psychic|grassknot|hiddenpowerfire", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|128,252,0,0,0,128|crunch|pursuit|stoneedge|superpower", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed" + }, + { + "empoleon": "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot", + "jirachi": "|serenegrace|leftovers|timid|56,0,0,232,0,220|calmmind|psychic|grassknot|hiddenpowerfire", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|128,252,0,0,0,128|crunch|pursuit|stoneedge|superpower", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed" + }, + { + "empoleon": "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot", + "jirachi": "|serenegrace|leftovers|timid|56,0,0,232,0,220|calmmind|psychic|grassknot|hiddenpowerfire", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|128,252,0,0,0,128|crunch|pursuit|stoneedge|superpower", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "azelf|dragonite|starmie|flygon|empoleon|tyranitar": [ + { + "azelf": "|levitate|colburberry|jolly|164,80,0,0,120,144|stealthrock|thunderwave|taunt|explosion", + "dragonite": "|innerfocus|choiceband|adamant|56,252,0,0,0,200|outrage|extremespeed|superpower|sleeptalk", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "flygon": "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|thunderpunch", + "empoleon": "|torrent|mysticwater|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot", + "tyranitar": "|sandstream|passhoberry|adamant|48,252,0,0,196,12|crunch|superpower|pursuit|thunderwave" + }, + { + "azelf": "|levitate|colburberry|jolly|164,80,0,0,120,144|stealthrock|thunderwave|taunt|explosion", + "dragonite": "|innerfocus|choiceband|adamant|56,252,0,0,0,200|outrage|extremespeed|superpower|sleeptalk", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "flygon": "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|thunderpunch", + "empoleon": "|torrent|mysticwater|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot", + "tyranitar": "|sandstream|passhoberry|adamant|48,252,0,0,196,12|crunch|superpower|pursuit|thunderwave" + } + ], + "jirachi|clefable|donphan|togekiss|zapdos|tentacruel": [ + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|bodyslam|ironhead|wish|protect", + "clefable": "|magicguard|leftovers|sassy|252,0,4,0,252,0|seismictoss|thunderwave|icebeam|softboiled", + "donphan": "|sturdy|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|rapidspin|assurance", + "togekiss": "|serenegrace|leftovers|bold|252,0,252,0,4,0|nastyplot|airslash|substitute|roost", + "zapdos": "|pressure|leftovers|bold|248,0,228,0,0,32|thunderbolt|roost|hiddenpowergrass|thunderwave", + "tentacruel": "|liquidooze|blacksludge|calm|244,0,100,0,164,0|rapidspin|surf|toxicspikes|sludgebomb" + }, + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|bodyslam|ironhead|wish|protect", + "clefable": "|magicguard|leftovers|sassy|252,0,4,0,252,0|seismictoss|thunderwave|icebeam|softboiled", + "donphan": "|sturdy|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|rapidspin|assurance", + "togekiss": "|serenegrace|leftovers|bold|252,0,252,0,4,0|nastyplot|airslash|substitute|roost", + "zapdos": "|pressure|leftovers|bold|248,0,228,0,0,32|thunderbolt|roost|hiddenpowergrass|thunderwave", + "tentacruel": "|liquidooze|blacksludge|calm|244,0,100,0,164,0|rapidspin|surf|toxicspikes|sludgebomb" + } + ], + "empoleon|flygon|clefable|skarmory|gliscor": [ + { + "empoleon": "|torrent|leftovers|calm|248,0,0,0,252,8|surf|knockoff|stealthrock|roar", + "flygon": "|levitate|lifeorb|mild|0,80,0,176,0,252|dracometeor|earthquake|fireblast|roost", + "clefable": "|magicguard|leftovers|impish|252,0,216,0,40,0|thunderwave|cosmicpower|seismictoss|softboiled", + "skarmory": "|keeneye|leftovers|sassy|252,0,4,0,252,0|spikes|roost|whirlwind|toxic", + "gliscor": "|hypercutter|leftovers|sassy|252,0,4,0,252,0|payback|earthquake|icefang|roost" + } + ], + "latias|weavile|heatran|breloom|gyarados|rotomheat": [ + { + "latias": "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|surf|thunderbolt|trick", + "weavile": "|pressure|lumberry|jolly|0,252,0,0,40,216|swordsdance|pursuit|lowkick|icepunch", + "heatran": "|flashfire|leftovers|modest|248,0,0,96,0,164|fireblast|earthpower|stealthrock|explosion", + "breloom": "|poisonheal|toxicorb|adamant|248,16,196,0,0,48|seedbomb|spore|focuspunch|substitute", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|overheat" + }, + { + "latias": "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|surf|thunderbolt|trick", + "weavile": "|pressure|lumberry|jolly|0,252,0,0,40,216|swordsdance|pursuit|lowkick|icepunch", + "heatran": "|flashfire|leftovers|modest|248,0,0,96,0,164|fireblast|earthpower|stealthrock|explosion", + "breloom": "|poisonheal|toxicorb|adamant|248,16,196,0,0,48|seedbomb|spore|focuspunch|substitute", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|overheat" + }, + { + "latias": "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|surf|thunderbolt|trick", + "weavile": "|pressure|lumberry|jolly|0,252,0,0,40,216|swordsdance|pursuit|lowkick|icepunch", + "heatran": "|flashfire|leftovers|modest|248,0,0,96,0,164|fireblast|earthpower|stealthrock|explosion", + "breloom": "|poisonheal|toxicorb|adamant|248,16,196,0,0,48|seedbomb|spore|focuspunch|substitute", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|overheat" + } + ], + "heatran|celebi|swampert|gengar|jirachi|tyranitar": [ + { + "heatran": "|flashfire|lifeorb|timid|0,0,0,252,4,252|fireblast|earthpower|hiddenpowergrass|explosion", + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|grassknot|recover|thunderwave|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|stealthrock|roar", + "gengar": "|levitate|blacksludge|timid|136,0,0,196,0,176|taunt|willowisp|shadowball|focusblast", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + }, + { + "heatran": "|flashfire|lifeorb|timid|0,0,0,252,4,252|fireblast|earthpower|hiddenpowergrass|explosion", + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|grassknot|recover|thunderwave|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|stealthrock|roar", + "gengar": "|levitate|blacksludge|timid|136,0,0,196,0,176|taunt|willowisp|shadowball|focusblast", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + }, + { + "heatran": "|flashfire|lifeorb|timid|0,0,0,252,4,252|fireblast|earthpower|hiddenpowergrass|explosion", + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|grassknot|recover|thunderwave|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|stealthrock|roar", + "gengar": "|levitate|blacksludge|timid|136,0,0,196,0,176|taunt|willowisp|shadowball|focusblast", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + }, + { + "heatran": "|flashfire|lifeorb|timid|0,0,0,252,4,252|fireblast|earthpower|hiddenpowergrass|explosion", + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|grassknot|recover|thunderwave|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|stealthrock|roar", + "gengar": "|levitate|blacksludge|timid|136,0,0,196,0,176|taunt|willowisp|shadowball|focusblast", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + } + ], + "breloom|empoleon|bronzong|latias|infernape|tyranitar": [ + { + "breloom": "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|stunspore|seedbomb|superpower", + "empoleon": "|torrent|shucaberry|timid|60,0,0,252,0,196|agility|hydropump|icebeam|grassknot", + "bronzong": "|levitate|leftovers|sassy|252,20,52,0,184,0|stealthrock|gyroball|earthquake|explosion", + "latias": "|levitate|choicescarf|timid|60,0,56,140,0,252|dracometeor|thunderbolt|trick|healingwish", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|uturn|grassknot", + "tyranitar": "|sandstream|passhoberry|adamant|48,252,0,0,192,16|crunch|pursuit|superpower|thunderwave" + }, + { + "breloom": "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|stunspore|seedbomb|superpower", + "empoleon": "|torrent|shucaberry|timid|60,0,0,252,0,196|agility|hydropump|icebeam|grassknot", + "bronzong": "|levitate|leftovers|sassy|252,20,52,0,184,0|stealthrock|gyroball|earthquake|explosion", + "latias": "|levitate|choicescarf|timid|60,0,56,140,0,252|dracometeor|thunderbolt|trick|healingwish", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|uturn|grassknot", + "tyranitar": "|sandstream|passhoberry|adamant|48,252,0,0,192,16|crunch|pursuit|superpower|thunderwave" + }, + { + "breloom": "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|stunspore|seedbomb|superpower", + "empoleon": "|torrent|shucaberry|timid|60,0,0,252,0,196|agility|hydropump|icebeam|grassknot", + "bronzong": "|levitate|leftovers|sassy|252,20,52,0,184,0|stealthrock|gyroball|earthquake|explosion", + "latias": "|levitate|choicescarf|timid|60,0,56,140,0,252|dracometeor|thunderbolt|trick|healingwish", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|uturn|grassknot", + "tyranitar": "|sandstream|passhoberry|adamant|48,252,0,0,192,16|crunch|pursuit|superpower|thunderwave" + } + ], + "gyarados|azelf|breloom|heatran|rotomwash|tyranitar": [ + { + "gyarados": "|intimidate|leftovers|jolly|0,252,4,0,0,252|dragondance|waterfall|thunderwave|substitute", + "azelf": "|levitate|choicespecs|timid|0,0,0,252,4,252|psychic|fireblast|uturn|shadowball", + "breloom": "|poisonheal|toxicorb|adamant|252,48,208,0,0,0|spore|substitute|focuspunch|seedbomb", + "heatran": "|flashfire|shucaberry|calm|244,0,0,36,12,216|stealthrock|earthpower|explosion|lavaplume", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|shadowball|trick", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + } + ], + "hippowdon|clefable|forretress|zapdos|jirachi|suicune": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,252,0,0,4|stealthrock|slackoff|earthquake|roar", + "clefable": "|magicguard|leftovers|careful|252,0,16,0,240,0|encore|knockoff|seismictoss|softboiled", + "forretress": "|sturdy|leftovers|impish|252,112,144,0,0,0|spikes|rapidspin|payback|earthquake", + "zapdos": "|pressure|leftovers|bold|248,0,236,0,24,0|thunderbolt|roost|hiddenpowerice|toxic", + "jirachi": "|serenegrace|leftovers|careful|252,0,84,0,140,32|wish|protect|bodyslam|ironhead", + "suicune": "|pressure|leftovers|bold|252,0,244,0,0,12|surf|icebeam|rest|sleeptalk" + } + ], + "heatran|bronzong|uxie|breloom|tyranitar|dragonite": [ + { + "heatran": "|flashfire|choicespecs|quiet|252,0,0,252,4,0|eruption|fireblast|earthpower|flamethrower", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|earthquake|explosion|gyroball", + "uxie": "|levitate|sitrusberry|relaxed|252,0,228,4,24,0|trickroom|memento|stealthrock|thunderbolt", + "breloom": "|poisonheal|toxicorb|adamant|236,252,0,0,20,0|swordsdance|facade|superpower|machpunch", + "tyranitar": "|sandstream|choiceband|brave|252,252,0,0,4,0|crunch|pursuit|stoneedge|aquatail", + "dragonite": "|innerfocus|lifeorb|quiet|0,252,4,252,0,0|extremespeed|dracometeor|fireblast|superpower" + }, + { + "heatran": "|flashfire|choicespecs|quiet|252,0,0,252,4,0|eruption|fireblast|earthpower|flamethrower", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|earthquake|explosion|gyroball", + "uxie": "|levitate|sitrusberry|relaxed|252,0,228,4,24,0|trickroom|memento|stealthrock|thunderbolt", + "breloom": "|poisonheal|toxicorb|adamant|236,252,0,0,20,0|swordsdance|facade|superpower|machpunch", + "tyranitar": "|sandstream|choiceband|brave|252,252,0,0,4,0|crunch|pursuit|stoneedge|aquatail", + "dragonite": "|innerfocus|lifeorb|quiet|0,252,4,252,0,0|extremespeed|dracometeor|fireblast|superpower" + } + ], + "jirachi|clefable|rotomwash|skarmory|suicune|flygon": [ + { + "jirachi": "|serenegrace|leftovers|careful|248,0,84,0,144,32|ironhead|bodyslam|wish|protect", + "clefable": "|magicguard|leftovers|careful|252,0,92,0,160,4|seismictoss|softboiled|encore|stealthrock", + "rotomwash": "|levitate|leftovers|timid|248,0,0,8,0,252|thunderbolt|willowisp|substitute|painsplit", + "skarmory": "|keeneye|leftovers|impish|252,0,252,0,4,0|spikes|whirlwind|roost|bravebird", + "suicune": "|pressure|leftovers|bold|252,0,192,0,0,64|surf|calmmind|rest|sleeptalk", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|uturn|toxic" + } + ], + "swampert|tyranitar|magnezone|dragonite|gengar|bronzong": [ + { + "swampert": "|torrent|leftovers|bold|252,0,180,60,16,0|stealthrock|protect|roar|surf", + "tyranitar": "|sandstream|custapberry|adamant|252,252,0,0,0,4|stoneedge|crunch|pursuit|superpower", + "magnezone": "|magnetpull|custapberry|rash|56,0,0,232,0,220|endure|thunderbolt|hiddenpowerfire|explosion", + "dragonite": "|innerfocus|choiceband|adamant|156,252,4,0,0,96|outrage|extremespeed|firepunch|sleeptalk", + "gengar": "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|painsplit|focusblast|substitute", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion" + }, + { + "swampert": "|torrent|leftovers|bold|252,0,180,60,16,0|stealthrock|protect|roar|surf", + "tyranitar": "|sandstream|custapberry|adamant|252,252,0,0,0,4|stoneedge|crunch|pursuit|superpower", + "magnezone": "|magnetpull|custapberry|rash|56,0,0,232,0,220|endure|thunderbolt|hiddenpowerfire|explosion", + "dragonite": "|innerfocus|choiceband|adamant|156,252,4,0,0,96|outrage|extremespeed|firepunch|sleeptalk", + "gengar": "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|painsplit|focusblast|substitute", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion" + } + ], + "tyranitar|jirachi|flygon": [ + { + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|aquatail", + "jirachi": "|serenegrace|leftovers|timid|76,0,0,248,0,184|calmmind|psychic|hiddenpowerground|grassknot", + "flygon": "|levitate|lifeorb|hasty|0,72,0,252,0,184|earthquake|roost|fireblast|dracometeor" + }, + { + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|aquatail", + "jirachi": "|serenegrace|leftovers|timid|76,0,0,248,0,184|calmmind|psychic|hiddenpowerground|grassknot", + "flygon": "|levitate|lifeorb|hasty|0,72,0,252,0,184|earthquake|roost|fireblast|dracometeor" + } + ], + "jirachi|gallade|breloom|tyranitar|gengar|flygon": [ + { + "jirachi": "|serenegrace|leftovers|jolly|248,0,8,0,0,252|ironhead|firepunch|thunder|stealthrock", + "gallade": "|steadfast|lumberry|jolly|0,252,4,0,0,252|closecombat|icepunch|willowisp|shadowsneak", + "breloom": "|poisonheal|toxicorb|adamant|76,240,0,0,0,192|seedbomb|focuspunch|spore|substitute", + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,68,112,136|crunch|pursuit|earthquake|fireblast", + "gengar": "|levitate|lifeorb|timid|4,0,0,252,0,252|shadowball|focusblast|explosion|taunt", + "flygon": "|levitate|choicescarf|jolly|0,252,4,0,0,252|earthquake|outrage|dragonclaw|uturn" + }, + { + "jirachi": "|serenegrace|leftovers|jolly|248,0,8,0,0,252|ironhead|firepunch|thunder|stealthrock", + "gallade": "|steadfast|lumberry|jolly|0,252,4,0,0,252|closecombat|icepunch|willowisp|shadowsneak", + "breloom": "|poisonheal|toxicorb|adamant|76,240,0,0,0,192|seedbomb|focuspunch|spore|substitute", + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,68,112,136|crunch|pursuit|earthquake|fireblast", + "gengar": "|levitate|lifeorb|timid|4,0,0,252,0,252|shadowball|focusblast|explosion|taunt", + "flygon": "|levitate|choicescarf|jolly|0,252,4,0,0,252|earthquake|outrage|dragonclaw|uturn" + } + ], + "jirachi|forretress|starmie|metagross|mamoswine|shaymin": [ + { + "jirachi": "|serenegrace|leftovers|bold|240,0,160,0,76,32|uturn|gravity|wish|thunder", + "forretress": "|sturdy|shedshell|impish|252,0,176,0,80,0|spikes|stealthrock|gravity|explosion", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunder|blizzard|gravity", + "metagross": "|clearbody|lifeorb|adamant|252,240,12,0,0,4|gravity|meteormash|earthquake|thunderpunch", + "mamoswine": "|oblivious|lifeorb|jolly|0,252,4,0,0,252|earthquake|iceshard|stoneedge|icefang", + "shaymin": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerfire|rest" + } + ], + "gyarados|metagross|gengar|camerupt|umbreon|quagsire": [ + { + "gyarados": "|intimidate|lumberry|adamant|0,252,4,0,0,252|dragondance|waterfall|doubleedge|taunt", + "metagross": "|clearbody|lifeorb|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|explosion", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|sleeptalk|explosion", + "camerupt": "|solidrock|leftovers|sassy|252,0,4,0,252,0|lavaplume|earthquake|explosion|stealthrock", + "umbreon": "|synchronize|leftovers|careful|252,0,4,0,252,0|curse|payback|rest|sleeptalk", + "quagsire": "|waterabsorb|leftovers|careful|252,0,56,0,200,0|earthquake|icepunch|recover|haze" + } + ], + "hippowdon|skarmory|clefable|rotomwash|latias|jirachi": [ + { + "hippowdon": "|sandstream|leftovers|impish|240,0,72,0,196,0|earthquake|stealthrock|roar|slackoff", + "skarmory": "|sturdy|leftovers|careful|252,0,4,0,252,0|spikes|counter|whirlwind|roost", + "clefable": "|magicguard|leftovers|careful|252,0,60,0,196,0|seismictoss|knockoff|protect|softboiled", + "rotomwash": "|levitate|leftovers|bold|252,0,204,0,52,0|shadowball|willowisp|rest|sleeptalk", + "latias": "|levitate|leftovers|bold|244,0,176,32,0,56|thunderwave|thunderbolt|icebeam|recover", + "jirachi": "|serenegrace|leftovers|jolly|252,20,84,0,4,148|ironhead|bodyslam|firepunch|protect" + }, + { + "hippowdon": "|sandstream|leftovers|careful|252,0,4,0,252,0|earthquake|stealthrock|roar|slackoff", + "skarmory": "|sturdy|leftovers|sassy|252,0,4,0,252,0|spikes|bravebird|whirlwind|roost", + "clefable": "|magicguard|leftovers|careful|252,0,40,0,216,0|seismictoss|knockoff|encore|softboiled", + "rotomwash": "|levitate|leftovers|bold|252,0,204,0,52,0|shadowball|willowisp|rest|sleeptalk", + "latias": "|levitate|leftovers|bold|244,0,236,0,0,28|thunderwave|reflect|icebeam|recover", + "jirachi": "|serenegrace|leftovers|jolly|252,20,84,0,4,148|ironhead|bodyslam|firepunch|protect" + } + ], + "skarmory|jirachi|magnezone|starmie|honchkrow|rotomwash": [ + { + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|stealthrock|spikes|roost|whirlwind", + "jirachi": "|serenegrace|leftovers|impish|252,0,252,0,4,0|wish|ironhead|bodyslam|protect", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "starmie": "|naturalcure|leftovers|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover", + "honchkrow": "|insomnia|leftovers|bold|252,0,252,0,0,4|substitute|calmmind|darkpulse|roost", + "rotomwash": "|levitate|leftovers|bold|252,0,252,0,4,0|shadowball|willowisp|raindance|painsplit" + }, + { + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|stealthrock|spikes|roost|whirlwind", + "jirachi": "|serenegrace|leftovers|impish|252,0,252,0,4,0|wish|ironhead|bodyslam|protect", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "starmie": "|naturalcure|leftovers|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover", + "honchkrow": "|insomnia|leftovers|bold|252,0,252,0,0,4|substitute|calmmind|darkpulse|roost", + "rotomwash": "|levitate|leftovers|bold|252,0,252,0,4,0|shadowball|willowisp|raindance|painsplit" + }, + { + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|stealthrock|spikes|roost|whirlwind", + "jirachi": "|serenegrace|leftovers|impish|252,0,252,0,4,0|wish|ironhead|bodyslam|protect", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "starmie": "|naturalcure|leftovers|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover", + "honchkrow": "|insomnia|leftovers|bold|252,0,252,0,0,4|substitute|calmmind|darkpulse|roost", + "rotomwash": "|levitate|leftovers|bold|252,0,252,0,4,0|shadowball|willowisp|raindance|painsplit" + } + ], + "zapdos|forretress|latias|jirachi|swampert|blissey": [ + { + "zapdos": "|pressure|leftovers|bold|248,0,216,0,12,32|thunderbolt|hiddenpowerice|roost|substitute", + "forretress": "|sturdy|leftovers|careful|248,0,8,0,252,0|spikes|rapidspin|rest|payback", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "jirachi": "|serenegrace|leftovers|impish|248,0,168,0,60,32|wish|protect|bodyslam|ironhead", + "swampert": "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|earthquake|icebeam|roar", + "blissey": "|naturalcure|leftovers|bold|252,0,252,4,0,0|seismictoss|icebeam|softboiled|healbell" + }, + { + "zapdos": "|pressure|leftovers|bold|248,0,216,0,12,32|thunderbolt|hiddenpowerice|roost|substitute", + "forretress": "|sturdy|leftovers|careful|248,0,8,0,252,0|spikes|rapidspin|rest|payback", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "jirachi": "|serenegrace|leftovers|impish|248,0,168,0,60,32|wish|protect|bodyslam|ironhead", + "swampert": "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|earthquake|icebeam|roar", + "blissey": "|naturalcure|leftovers|bold|252,0,252,4,0,0|seismictoss|icebeam|softboiled|healbell" + }, + { + "zapdos": "|pressure|leftovers|bold|248,0,216,0,12,32|thunderbolt|hiddenpowerice|roost|substitute", + "forretress": "|sturdy|leftovers|careful|248,0,8,0,252,0|spikes|rapidspin|rest|payback", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "jirachi": "|serenegrace|leftovers|impish|248,0,168,0,60,32|wish|protect|bodyslam|ironhead", + "swampert": "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|earthquake|icebeam|roar", + "blissey": "|naturalcure|leftovers|bold|252,0,252,4,0,0|seismictoss|icebeam|softboiled|healbell" + } + ], + "starmie|scizor|heatran|azelf|gengar|shaymin": [ + { + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|trick", + "scizor": "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit", + "heatran": "|flashfire|passhoberry|modest|128,0,164,216,0,0|stealthrock|magmastorm|explosion|hiddenpowergrass", + "azelf": "|levitate|lifeorb|naive|0,4,0,252,0,252|psychic|explosion|hiddenpowerground|flamethrower", + "gengar": "|levitate|choicescarf|timid|0,0,4,252,0,252|trick|shadowball|focusblast|explosion", + "shaymin": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hiddenpowerice|earthpower|rest|seedflare" + }, + { + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|trick", + "scizor": "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit", + "heatran": "|flashfire|passhoberry|modest|128,0,164,216,0,0|stealthrock|magmastorm|explosion|hiddenpowergrass", + "azelf": "|levitate|lifeorb|naive|0,4,0,252,0,252|psychic|explosion|hiddenpowerground|flamethrower", + "gengar": "|levitate|choicescarf|timid|0,0,4,252,0,252|trick|shadowball|focusblast|explosion", + "shaymin": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hiddenpowerice|earthpower|rest|seedflare" + } + ], + "jirachi|gliscor|breloom|latias|swampert|tyranitar": [ + { + "jirachi": "|serenegrace|leftovers|jolly|252,32,44,0,4,176|protect|ironhead|bodyslam|firepunch", + "gliscor": "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|icefang|thunderfang|earthquake", + "breloom": "|poisonheal|toxicorb|impish|112,0,220,0,0,176|spore|swordsdance|superpower|seedbomb", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderwave|trick|healingwish", + "swampert": "|torrent|leftovers|modest|160,0,0,252,0,96|hydropump|stealthrock|earthpower|icebeam", + "tyranitar": "|sandstream|expertbelt|lonely|48,36,0,168,4,252|fireblast|hiddenpowergrass|superpower|crunch" + } + ], + "zapdos|starmie|metagross|heatran|breloom|tyranitar": [ + { + "zapdos": "|pressure|magnet|modest|80,0,0,252,0,176|thunderbolt|hiddenpowerice|heatwave|thunderwave", + "starmie": "|naturalcure|leftovers|timid|40,0,0,252,0,216|rapidspin|hydropump|thunderbolt|icebeam", + "metagross": "|clearbody|leftovers|adamant|252,132,0,0,124,0|stealthrock|meteormash|earthquake|explosion", + "heatran": "|flashfire|choicescarf|naive|0,4,0,252,0,252|fireblast|earthpower|hiddenpowerice|explosion", + "breloom": "|poisonheal|toxicorb|impish|252,56,44,0,84,72|spore|superpower|seedbomb|machpunch", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + } + ], + "skarmory|empoleon|lucario|metagross|jirachi|bronzong": [ + { + "skarmory": "|keeneye|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|taunt|rocktomb", + "empoleon": "|torrent|shucaberry|timid|64,0,0,252,0,192|agility|hydropump|icebeam|grassknot", + "lucario": "|steadfast|choicescarf|jolly|0,252,0,0,4,252|closecombat|thunderpunch|icepunch|copycat", + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|explosion", + "jirachi": "|serenegrace|occaberry|hasty|0,40,0,252,0,216|ironhead|psychic|thunderbolt|hiddenpowerground", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion" + }, + { + "skarmory": "|keeneye|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|taunt|rocktomb", + "empoleon": "|torrent|shucaberry|timid|64,0,0,252,0,192|agility|hydropump|icebeam|grassknot", + "lucario": "|steadfast|choicescarf|jolly|0,252,0,0,4,252|closecombat|thunderpunch|icepunch|copycat", + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|explosion", + "jirachi": "|serenegrace|occaberry|hasty|0,40,0,252,0,216|ironhead|psychic|thunderbolt|hiddenpowerground", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion" + } + ], + "jirachi|suicune|breloom|rotomwash|latias|heatran": [ + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|bodyslam|uturn", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam", + "breloom": "|poisonheal|toxicorb|impish|252,20,236,0,0,0|spore|leechseed|protect|forcepalm", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|passhoberry|modest|128,0,0,216,0,164|magmastorm|hiddenpowergrass|dragonpulse|explosion" + }, + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|bodyslam|uturn", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam", + "breloom": "|poisonheal|toxicorb|impish|252,20,236,0,0,0|spore|leechseed|protect|forcepalm", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|passhoberry|modest|128,0,0,216,0,164|magmastorm|hiddenpowergrass|dragonpulse|explosion" + }, + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|bodyslam|uturn", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam", + "breloom": "|poisonheal|toxicorb|impish|252,20,236,0,0,0|spore|leechseed|protect|forcepalm", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|passhoberry|modest|128,0,0,216,0,164|magmastorm|hiddenpowergrass|dragonpulse|explosion" + }, + { + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|bodyslam|uturn", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam", + "breloom": "|poisonheal|toxicorb|impish|252,20,236,0,0,0|spore|leechseed|protect|forcepalm", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "heatran": "|flashfire|passhoberry|modest|128,0,0,216,0,164|magmastorm|hiddenpowergrass|dragonpulse|explosion" + } + ], + "jirachi|gengar|tyranitar|kingdra|abomasnow|lucario": [ + { + "jirachi": "|serenegrace|leftovers|jolly|80,252,0,0,0,176|bodyslam|stealthrock|uturn|ironhead", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|explosion|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,44,212|stoneedge|crunch|pursuit|superpower", + "kingdra": "|swiftswim|choicescarf|timid|4,0,0,252,0,252|hydropump|dracometeor|icebeam|hiddenpowerelectric", + "abomasnow": "|snowwarning|expertbelt|lonely|0,252,0,96,0,160|woodhammer|iceshard|earthquake|hiddenpowerfire", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|swordsdance|bulletpunch|extremespeed" + } + ], + "swampert|jirachi|magnezone|tyranitar|gyarados|breloom": [ + { + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerfire", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "tyranitar": "|sandstream|passhoberry|brave|48,144,72,60,184,0|crunch|icebeam|pursuit|stoneedge", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|earthquake", + "breloom": "|poisonheal|toxicorb|jolly|4,252,0,0,0,252|spore|machpunch|seedbomb|superpower" + }, + { + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerfire", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "tyranitar": "|sandstream|passhoberry|brave|48,144,72,60,184,0|crunch|icebeam|pursuit|stoneedge", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|earthquake", + "breloom": "|poisonheal|toxicorb|jolly|4,252,0,0,0,252|spore|machpunch|seedbomb|superpower" + }, + { + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerfire", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "tyranitar": "|sandstream|passhoberry|brave|48,144,72,60,184,0|crunch|icebeam|pursuit|stoneedge", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|earthquake", + "breloom": "|poisonheal|toxicorb|jolly|4,252,0,0,0,252|spore|machpunch|seedbomb|superpower" + } + ], + "roserade|heatran|jirachi|suicune|latias|rotomheat": [ + { + "roserade": "|poisonpoint|focussash|timid|0,0,0,252,4,252|sleeppowder|leafstorm|toxicspikes|hiddenpowerground", + "heatran": "|flashfire|leftovers|sassy|240,24,0,0,244,0|stealthrock|lavaplume|protect|explosion", + "jirachi": "|serenegrace|choicescarf|jolly|16,212,0,0,28,252|uturn|ironhead|firepunch|trick", + "suicune": "|pressure|leftovers|timid|252,0,0,120,0,136|calmmind|hydropump|icebeam|substitute", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|surf|healingwish", + "rotomheat": "|levitate|leftovers|timid|112,0,0,192,0,204|substitute|chargebeam|shadowball|thunderbolt" + }, + { + "roserade": "|poisonpoint|focussash|timid|0,0,0,252,4,252|sleeppowder|leafstorm|toxicspikes|hiddenpowerground", + "heatran": "|flashfire|leftovers|sassy|240,24,0,0,244,0|stealthrock|lavaplume|protect|explosion", + "jirachi": "|serenegrace|choicescarf|jolly|16,212,0,0,28,252|uturn|ironhead|firepunch|trick", + "suicune": "|pressure|leftovers|timid|252,0,0,120,0,136|calmmind|hydropump|icebeam|substitute", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|surf|healingwish", + "rotomheat": "|levitate|leftovers|timid|112,0,0,192,0,204|substitute|chargebeam|shadowball|thunderbolt" + } + ], + "skarmory|tyranitar|gyarados|latias|lucario": [ + { + "skarmory": "|keeneye|focussash|jolly|252,0,0,0,36,220|stealthrock|spikes|bravebird|whirlwind", + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|stoneedge|crunch|pursuit|superpower", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "latias": "|levitate|leftovers|timid|232,0,0,0,24,252|calmmind|dragonpulse|hiddenpowerfire|recover", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|bulletpunch" + }, + { + "skarmory": "|keeneye|focussash|jolly|252,0,0,0,36,220|stealthrock|spikes|bravebird|whirlwind", + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|stoneedge|crunch|pursuit|superpower", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "latias": "|levitate|leftovers|timid|232,0,0,0,24,252|calmmind|dragonpulse|hiddenpowerfire|recover", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|bulletpunch" + } + ], + "hippowdon|jirachi|magnezone|milotic|breloom|gliscor": [ + { + "hippowdon": "|sandstream|leftovers|careful|248,0,8,0,252,0|roar|earthquake|stealthrock|slackoff", + "jirachi": "|serenegrace|leftovers|impish|252,0,144,0,112,0|wish|bodyslam|ironhead|uturn", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderwave|thunderbolt|hiddenpowerfire|toxic", + "milotic": "|marvelscale|leftovers|bold|248,0,184,0,76,0|surf|icebeam|haze|recover", + "breloom": "|poisonheal|toxicorb|careful|236,16,4,0,252,0|bulkup|protect|seedbomb|facade", + "gliscor": "|hypercutter|leftovers|impish|252,0,24,0,0,232|taunt|earthquake|icefang|roost" + } + ], + "swampert|celebi|latias|infernape|tyranitar|rotomheat": [ + { + "swampert": "|torrent|focussash|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icywind", + "celebi": "|naturalcure|leftovers|modest|4,0,0,252,0,252|nastyplot|leafstorm|earthpower|hiddenpowerice", + "latias": "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|hiddenpowerfire|surf|recover", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|hiddenpowerice", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|overheat|shadowball|trick" + } + ], + "tyranitar|heatran|gliscor|latias|breloom|empoleon": [ + { + "tyranitar": "|sandstream|focussash|jolly|4,252,0,0,0,252|crunch|superpower|taunt|stealthrock", + "heatran": "|flashfire|passhoberry|timid|0,4,0,252,0,252|fireblast|earthpower|hiddenpowergrass|explosion", + "gliscor": "|hypercutter|powerherb|adamant|4,252,0,0,0,252|earthquake|skyattack|thunderfang|swordsdance", + "latias": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|thunderbolt|healingwish|trick", + "breloom": "|poisonheal|toxicorb|adamant|252,252,0,0,0,4|seedbomb|focuspunch|machpunch|spore", + "empoleon": "|torrent|petayaberry|timid|0,0,4,252,0,252|hydropump|icebeam|agility|substitute" + }, + { + "tyranitar": "|sandstream|focussash|jolly|4,252,0,0,0,252|crunch|superpower|taunt|stealthrock", + "heatran": "|flashfire|passhoberry|timid|0,4,0,252,0,252|fireblast|earthpower|hiddenpowergrass|explosion", + "gliscor": "|hypercutter|powerherb|adamant|4,252,0,0,0,252|earthquake|skyattack|thunderfang|swordsdance", + "latias": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|thunderbolt|healingwish|trick", + "breloom": "|poisonheal|toxicorb|adamant|252,252,0,0,0,4|seedbomb|focuspunch|machpunch|spore", + "empoleon": "|torrent|petayaberry|timid|0,0,4,252,0,252|hydropump|icebeam|agility|substitute" + } + ], + "tyranitar|flygon|rotomheat|milotic": [ + { + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "flygon": "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpowerice", + "milotic": "|marvelscale|leftovers|calm|248,0,244,0,16,0|surf|hiddenpowerelectric|recover|haze" + } + ], + "jirachi|zapdos|blissey|latias|machamp|starmie": [ + { + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "zapdos": "|pressure|leftovers|bold|248,0,228,0,0,32|discharge|roost|hiddenpowerice|heatwave", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,0,4|seismictoss|icebeam|stealthrock|softboiled", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|thunderwave|dragonpulse|reflect|recover", + "machamp": "|noguard|leftovers|adamant|128,252,0,0,0,128|substitute|dynamicpunch|payback|stoneedge", + "starmie": "|naturalcure|leftovers|timid|252,0,0,0,4,252|rapidspin|surf|thunderbolt|recover" + }, + { + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "zapdos": "|pressure|leftovers|bold|248,0,228,0,0,32|discharge|roost|hiddenpowerice|heatwave", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,0,4|seismictoss|icebeam|stealthrock|softboiled", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|thunderwave|dragonpulse|reflect|recover", + "machamp": "|noguard|leftovers|adamant|128,252,0,0,0,128|substitute|dynamicpunch|payback|stoneedge", + "starmie": "|naturalcure|leftovers|timid|252,0,0,0,4,252|rapidspin|surf|thunderbolt|recover" + } + ], + "tyranitar|dragonite|heatran|breloom|starmie|gyarados": [ + { + "tyranitar": "|sandstream|chopleberry|impish|252,0,252,0,4,0|thunderwave|counter|stealthrock|payback", + "dragonite": "|innerfocus|choiceband|jolly|0,252,4,0,0,252|outrage|extremespeed|earthquake|icepunch", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|protect|explosion", + "breloom": "|poisonheal|toxicorb|adamant|252,48,208,0,0,0|spore|substitute|focuspunch|seedbomb", + "starmie": "|naturalcure|leftovers|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin", + "gyarados": "|intimidate|leftovers|adamant|0,252,0,0,4,252|thunderwave|dragondance|waterfall|icefang" + }, + { + "tyranitar": "|sandstream|chopleberry|impish|252,0,252,0,4,0|thunderwave|counter|stealthrock|payback", + "dragonite": "|innerfocus|choiceband|jolly|0,252,4,0,0,252|outrage|extremespeed|earthquake|icepunch", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|protect|explosion", + "breloom": "|poisonheal|toxicorb|adamant|252,48,208,0,0,0|spore|substitute|focuspunch|seedbomb", + "starmie": "|naturalcure|leftovers|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin", + "gyarados": "|intimidate|leftovers|adamant|0,252,0,0,4,252|thunderwave|dragondance|waterfall|icefang" + } + ], + "suicune|dragonite|scizor|gengar|jirachi": [ + { + "suicune": "|pressure|leftovers|modest|104,0,0,252,0,152|calmmind|hydropump|icebeam|hiddenpowerelectric", + "dragonite": "|innerfocus|lifeorb|naive|0,4,0,252,0,252|dracometeor|fireblast|superpower|extremespeed", + "scizor": "|technician|choiceband|adamant|252,96,0,0,160,0|uturn|bulletpunch|superpower|pursuit", + "gengar": "|levitate|blacksludge|timid|4,0,0,252,0,252|shadowball|focusblast|willowisp|destinybond", + "jirachi": "|serenegrace|shucaberry|jolly|0,252,0,0,4,252|ironhead|firepunch|icepunch|thunder" + } + ], + "heatran|zapdos|abomasnow|jirachi|starmie|tyranitar": [ + { + "heatran": "|flashfire|lumberry|modest|252,0,80,96,0,80|explosion|magmastorm|earthpower|willowisp", + "zapdos": "|pressure|leftovers|bold|240,0,228,0,40,0|discharge|hiddenpowergrass|uturn|roost", + "abomasnow": "|snowwarning|leftovers|lonely|0,220,0,64,0,224|woodhammer|focuspunch|iceshard|blizzard", + "jirachi": "|serenegrace|leftovers|jolly|252,0,72,0,0,184|stealthrock|ironhead|bodyslam|firepunch", + "starmie": "|naturalcure|colburberry|timid|0,0,4,252,0,252|hydropump|grassknot|icebeam|rapidspin", + "tyranitar": "|sandstream|expertbelt|lonely|48,36,0,168,4,252|fireblast|hiddenpowergrass|superpower|crunch" + } + ], + "heatran|suicune|roserade|gengar|swampert|tyranitar": [ + { + "heatran": "|flashfire|choicespecs|timid|0,0,0,252,4,252|overheat|heatwave|earthpower|hiddenpowergrass", + "suicune": "|pressure|leftovers|modest|32,0,0,244,0,232|hydropump|icebeam|hiddenpowerelectric|calmmind", + "roserade": "|poisonpoint|leftovers|calm|252,0,4,0,136,116|grassknot|hiddenpowerice|toxicspikes|spikes", + "gengar": "|levitate|blacksludge|timid|200,0,0,56,0,252|shadowball|focusblast|willowisp|taunt", + "swampert": "|torrent|leftovers|adamant|252,92,108,0,52,4|stealthrock|earthquake|waterfall|icepunch", + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|stoneedge|crunch|pursuit|superpower" + } + ], + "hariyama|claydol|heracross|ursaring|machamp|swellow": [ + { + "hariyama": "|guts|toxicorb|adamant|0,252,0,0,164,92|fakeout|closecombat|payback|icepunch", + "claydol": "|levitate|toxicorb|adamant|252,252,0,0,4,0|trickroom|stealthrock|earthquake|explosion", + "heracross": "|guts|toxicorb|adamant|0,252,4,0,0,252|closecombat|megahorn|pursuit|stoneedge", + "ursaring": "|guts|toxicorb|brave|248,252,0,0,8,0|facade|closecombat|firepunch|icepunch", + "machamp": "|guts|toxicorb|adamant|248,252,0,0,8,0|closecombat|payback|icepunch|bulletpunch", + "swellow": "|guts|toxicorb|jolly|80,252,0,0,0,176|facade|bravebird|uturn|quickattack" + } + ], + "mesprit|raikou|tyranitar|jirachi|gyarados|bronzong": [ + { + "mesprit": "|levitate|choicescarf|modest|72,0,0,252,0,184|trick|uturn|thunderbolt|icebeam", + "raikou": "|pressure|shucaberry|rash|0,0,0,252,4,252|calmmind|thunderbolt|hiddenpowergrass|aurasphere", + "tyranitar": "|sandstream|babiriberry|jolly|0,252,0,0,4,252|dragondance|firepunch|earthquake|crunch", + "jirachi": "|serenegrace|shucaberry|hasty|0,252,0,4,0,252|ironhead|icepunch|thunderbolt|hiddenpowerground", + "gyarados": "|intimidate|wacanberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake", + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|gyroball|earthquake|explosion" + }, + { + "mesprit": "|levitate|choicescarf|modest|72,0,0,252,0,184|trick|uturn|thunderbolt|icebeam", + "raikou": "|pressure|shucaberry|rash|0,0,0,252,4,252|calmmind|thunderbolt|hiddenpowergrass|aurasphere", + "tyranitar": "|sandstream|babiriberry|jolly|0,252,0,0,4,252|dragondance|firepunch|earthquake|crunch", + "jirachi": "|serenegrace|shucaberry|hasty|0,252,0,4,0,252|ironhead|icepunch|thunderbolt|hiddenpowerground", + "gyarados": "|intimidate|wacanberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake", + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|gyroball|earthquake|explosion" + } + ], + "metagross|rotomwash|latias|jirachi|dragonite|suicune": [ + { + "metagross": "|clearbody|ironball|adamant|196,252,0,0,0,60|stealthrock|meteormash|earthquake|trick", + "rotomwash": "|levitate|leftovers|timid|16,0,0,240,0,252|thunderbolt|shadowball|willowisp|substitute", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|grassknot", + "dragonite": "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|roost", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|protect|icebeam" + } + ], + "skarmory|quagsire|jirachi|latias|clefable": [ + { + "skarmory": "|keeneye|shedshell|impish|248,0,244,0,0,16|bravebird|roost|spikes|whirlwind", + "quagsire": "|waterabsorb|leftovers|impish|252,0,100,0,156,0|earthquake|encore|recover|toxic", + "jirachi": "|serenegrace|leftovers|jolly|180,180,0,0,0,148|ironhead|firepunch|bodyslam|protect", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|icebeam|earthquake|thunderwave|recover", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|seismictoss|thunderwave|softboiled|knockoff" + }, + { + "skarmory": "|keeneye|shedshell|impish|248,0,244,0,0,16|bravebird|roost|spikes|whirlwind", + "quagsire": "|waterabsorb|leftovers|impish|252,0,100,0,156,0|earthquake|encore|recover|toxic", + "jirachi": "|serenegrace|leftovers|jolly|180,180,0,0,0,148|ironhead|firepunch|bodyslam|protect", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|icebeam|earthquake|thunderwave|recover", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|seismictoss|thunderwave|softboiled|knockoff" + }, + { + "skarmory": "|keeneye|shedshell|impish|248,0,244,0,0,16|bravebird|roost|spikes|whirlwind", + "quagsire": "|waterabsorb|leftovers|impish|252,0,100,0,156,0|earthquake|encore|recover|toxic", + "jirachi": "|serenegrace|leftovers|jolly|180,180,0,0,0,148|ironhead|firepunch|bodyslam|protect", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|icebeam|earthquake|thunderwave|recover", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|seismictoss|thunderwave|softboiled|knockoff" + } + ], + "starmie|heatran|dragonite|shaymin|jirachi|kingdra": [ + { + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|rapidspin|hydropump|icebeam|thunderbolt", + "heatran": "|flashfire|passhoberry|timid|44,0,0,212,0,252|fireblast|earthpower|hiddenpowerelectric|stealthrock", + "dragonite": "|innerfocus|choiceband|adamant|64,252,0,0,0,192|outrage|dragonclaw|extremespeed|firepunch", + "shaymin": "|naturalcure|occaberry|timid|40,0,0,248,0,220|seedflare|earthpower|hiddenpowerice|healingwish", + "jirachi": "|serenegrace|choicescarf|jolly|4,252,0,0,0,252|uturn|ironhead|firepunch|icepunch", + "kingdra": "|swiftswim|chestoberry|adamant|144,160,0,0,40,164|dragondance|waterfall|outrage|rest" + }, + { + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|rapidspin|hydropump|icebeam|thunderbolt", + "heatran": "|flashfire|passhoberry|timid|44,0,0,212,0,252|fireblast|earthpower|hiddenpowerelectric|stealthrock", + "dragonite": "|innerfocus|choiceband|adamant|64,252,0,0,0,192|outrage|dragonclaw|extremespeed|firepunch", + "shaymin": "|naturalcure|occaberry|timid|40,0,0,248,0,220|seedflare|earthpower|hiddenpowerice|healingwish", + "jirachi": "|serenegrace|choicescarf|jolly|4,252,0,0,0,252|uturn|ironhead|firepunch|icepunch", + "kingdra": "|swiftswim|chestoberry|adamant|144,160,0,0,40,164|dragondance|waterfall|outrage|rest" + } + ], + "latias|flygon|jirachi|metagross|gyarados|rotommow": [ + { + "latias": "|levitate|choicespecs|modest|48,0,0,252,0,208|dracometeor|surf|trick|sleeptalk", + "flygon": "|levitate|lifeorb|rash|0,4,0,252,0,252|dracometeor|fireblast|earthquake|roost", + "jirachi": "|serenegrace|leftovers|calm|248,0,80,0,180,0|stealthrock|psychic|thunderbolt|protect", + "metagross": "|clearbody|choicescarf|jolly|0,252,0,0,4,252|trick|meteormash|earthquake|explosion", + "gyarados": "|intimidate|leftovers|adamant|0,252,0,0,8,248|dragondance|waterfall|bounce|taunt", + "rotommow": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick" + }, + { + "latias": "|levitate|choicespecs|modest|48,0,0,252,0,208|dracometeor|surf|trick|sleeptalk", + "flygon": "|levitate|lifeorb|rash|0,4,0,252,0,252|dracometeor|fireblast|earthquake|roost", + "jirachi": "|serenegrace|leftovers|calm|248,0,80,0,180,0|stealthrock|psychic|thunderbolt|protect", + "metagross": "|clearbody|choicescarf|jolly|0,252,0,0,4,252|trick|meteormash|earthquake|explosion", + "gyarados": "|intimidate|leftovers|adamant|0,252,0,0,8,248|dragondance|waterfall|bounce|taunt", + "rotommow": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick" + } + ], + "roserade|empoleon|rotomheat|magnezone|gliscor|suicune": [ + { + "roserade": "|poisonpoint|focussash|timid|0,0,4,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire", + "empoleon": "|torrent|leftovers|calm|172,0,76,0,252,8|irondefense|protect|toxic|surf", + "rotomheat": "|levitate|leftovers|bold|248,0,252,0,8,0|rest|sleeptalk|thunderbolt|willowisp", + "magnezone": "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "gliscor": "|hypercutter|leftovers|jolly|244,0,12,0,0,252|taunt|stealthrock|earthquake|roost", + "suicune": "|pressure|chestoberry|timid|40,0,0,216,0,252|calmmind|hydropump|icebeam|rest" + }, + { + "roserade": "|poisonpoint|focussash|timid|0,0,4,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire", + "empoleon": "|torrent|leftovers|calm|172,0,76,0,252,8|irondefense|protect|toxic|surf", + "rotomheat": "|levitate|leftovers|bold|248,0,252,0,8,0|rest|sleeptalk|thunderbolt|willowisp", + "magnezone": "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "gliscor": "|hypercutter|leftovers|jolly|244,0,12,0,0,252|taunt|stealthrock|earthquake|roost", + "suicune": "|pressure|chestoberry|timid|40,0,0,216,0,252|calmmind|hydropump|icebeam|rest" + } + ], + "gyarados|latias|breloom|jirachi|tyranitar|empoleon": [ + { + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|waterfall|thunderwave|substitute|dragondance", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|thunderbolt|healingwish|trick|dracometeor", + "breloom": "|poisonheal|toxicorb|adamant|76,248,0,0,0,184|machpunch|seedbomb|focuspunch|spore", + "jirachi": "|serenegrace|leftovers|jolly|0,0,0,0,0,0|thunderwave/bodyslam|refresh|firepunch|ironhead", + "tyranitar": "|sandstream|shucaberry|jolly|8,248,0,0,0,252|earthquake|stoneedge|icepunch|dragondance", + "empoleon": "|torrent|leftovers|modest|236,0,0,208,56,8|stealthrock|hydropump|grassknot|icebeam" + } + ], + "uxie|qwilfish|dragonite|bronzong|kingdra|magnezone": [ + { + "uxie": "|levitate|damprock|relaxed|248,0,232,0,28,0|stealthrock|raindance|memento|uturn", + "qwilfish": "|swiftswim|lumberry|adamant|0,252,0,0,4,252|swordsdance|toxicspikes|waterfall|explosion", + "dragonite": "|innerfocus|leftovers|careful|248,0,0,0,144,116|substitute|dragondance|roost|dragonclaw", + "bronzong": "|levitate|damprock|sassy|252,0,112,0,144,0|gyroball|hypnosis|explosion|raindance", + "kingdra": "|swiftswim|seaincense|adamant|28,252,0,0,0,228|raindance|dragondance|waterfall|outrage", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|explosion|thunderwave" + } + ], + "flygon|rotomwash|skarmory|jirachi|clefable|latias": [ + { + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|earthquake|outrage|uturn|roost", + "rotomwash": "|levitate|leftovers|bold|248,0,208,0,52,0|rest|sleeptalk|thunderbolt|willowisp", + "skarmory": "|keeneye|shedshell|careful|252,0,4,0,252,0|spikes|roost|whirlwind|bravebird", + "jirachi": "|serenegrace|leftovers|jolly|252,0,0,0,160,96|ironhead|thunderwave|stealthrock|firepunch", + "clefable": "|magicguard|leftovers|impish|252,0,216,0,40,0|thunderwave|protect|seismictoss|softboiled", + "latias": "|levitate|leftovers|bold|252,0,156,0,0,100|icebeam|thunderwave|reflect|recover" + } + ], + "latias|lucario|tyranitar|heatran|breloom|rotomheat": [ + { + "latias": "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|trick|surf|thunderbolt", + "lucario": "|innerfocus|choicespecs|modest|0,0,4,252,0,252|aurasphere|shadowball|focusblast|hiddenpowerrock", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|icepunch|earthquake|crunch", + "heatran": "|flashfire|leftovers|modest|248,0,0,96,0,164|lavaplume|earthpower|explosion|stealthrock", + "breloom": "|poisonheal|toxicorb|adamant|248,76,0,0,0,184|seedbomb|superpower|machpunch|spore", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick" + }, + { + "latias": "|levitate|choicespecs|modest|8,0,152,252,0,96|dracometeor|trick|surf|thunderbolt", + "lucario": "|innerfocus|choicespecs|modest|0,0,4,252,0,252|aurasphere|shadowball|focusblast|hiddenpowerrock", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|icepunch|earthquake|crunch", + "heatran": "|flashfire|leftovers|modest|248,0,0,96,0,164|lavaplume|earthpower|explosion|stealthrock", + "breloom": "|poisonheal|toxicorb|adamant|248,76,0,0,0,184|seedbomb|superpower|machpunch|spore", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|shadowball|hiddenpowerice|trick" + } + ], + "azelf|magnezone|nidoqueen|weavile|bronzong|tyranitar": [ + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|thunderwave|taunt|explosion", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|explosion|thunderwave", + "nidoqueen": "|poisonpoint|blacksludge|relaxed|252,0,252,4,0,0|toxicspikes|fireblast|earthquake|icebeam", + "weavile": "|pressure|expertbelt|jolly|40,252,0,0,0,216|icepunch|lowkick|iceshard|pursuit", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|earthquake" + }, + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|thunderwave|taunt|explosion", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|explosion|thunderwave", + "nidoqueen": "|poisonpoint|blacksludge|relaxed|252,0,252,4,0,0|toxicspikes|fireblast|earthquake|icebeam", + "weavile": "|pressure|expertbelt|jolly|40,252,0,0,0,216|icepunch|lowkick|iceshard|pursuit", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|earthquake" + } + ], + "aerodactyl|magnezone|gengar|dragonite|starmie|metagross": [ + { + "aerodactyl": "|pressure|focussash|jolly|0,252,4,0,0,252|stealthrock|taunt|stoneedge|earthquake", + "magnezone": "|magnetpull|custapberry|naive|0,40,0,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|shadowball|focusblast|explosion", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "metagross": "|clearbody|shucaberry|jolly|60,252,0,0,0,196|agility|zenheadbutt|earthquake|meteormash" + } + ], + "suicune|latias|heatran|rotomwash|metagross|lucario": [ + { + "suicune": "|pressure|lumberry|modest|28,0,0,252,0,228|hydropump|calmmind|toxic|icebeam", + "latias": "|levitate|choicespecs|modest|28,0,52,252,0,176|dracometeor|thunderbolt|surf|trick", + "heatran": "|flashfire|leftovers|hasty|248,0,0,60,0,200|willowisp|flamethrower|explosion|stealthrock", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|hiddenpowerice|trick", + "metagross": "|clearbody|ironball|adamant|252,136,12,0,104,4|trick|meteormash|earthquake|explosion", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|icepunch|closecombat|bulletpunch|swordsdance" + } + ], + "uxie|kingdra|qwilfish|suicune|bronzong|latias": [ + { + "uxie": "|levitate|damprock|bold|252,0,232,0,24,0|raindance|stealthrock|psychic|uturn", + "kingdra": "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dracometeor|surf", + "qwilfish": "|swiftswim|lifeorb|adamant|0,252,4,0,0,252|swordsdance|waterfall|poisonjab|explosion", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|surf|hiddenpowerelectric|icebeam", + "bronzong": "|levitate|damprock|sassy|252,0,4,0,252,0|raindance|gyroball|earthquake|explosion", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish" + } + ], + "hippowdon|clefable|latias|jirachi|magneton|gliscor": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|roar|slackoff", + "clefable": "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|grassknot|flamethrower|softboiled", + "latias": "|levitate|leftovers|bold|248,0,160,0,0,100|calmmind|dragonpulse|hiddenpowerfighting|recover", + "jirachi": "|serenegrace|leftovers|impish|248,0,252,0,8,0|ironhead|bodyslam|rest|sleeptalk", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|flashcannon|hiddenpowerice|thunderwave", + "gliscor": "|hypercutter|leftovers|impish|248,0,44,0,0,216|knockoff|earthquake|taunt|roost" + } + ], + "heatran|tyranitar|bronzong|gyarados|starmie|heracross": [ + { + "heatran": "|flashfire|focussash|modest|252,24,88,16,0,128|stealthrock|magmastorm|willowisp|explosion", + "tyranitar": "|sandstream|choiceband|adamant|8,252,0,0,128,120|crunch|pursuit|stoneedge|superpower", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "gyarados": "|intimidate|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|bounce|stoneedge", + "starmie": "|naturalcure|leftovers|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin", + "heracross": "|guts|choicescarf|jolly|0,252,12,0,0,244|closecombat|megahorn|stoneedge|sleeptalk" + } + ], + "empoleon|tyranitar|jirachi|rotomwash|gliscor|roserade": [ + { + "empoleon": "|torrent|focussash|modest|136,0,0,252,0,120|hydropump|icebeam|grassknot|stealthrock", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|naive|144,68,0,112,0,176|icepunch|thunderbolt|ironhead|hiddenpowerground", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerice|shadowball|trick", + "gliscor": "|hypercutter|lumberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "roserade": "|naturalcure|blacksludge|timid|24,0,0,252,0,232|weatherball|spikes|hiddenpowerfire|grassknot" + }, + { + "empoleon": "|torrent|focussash|modest|136,0,0,252,0,120|hydropump|icebeam|grassknot|stealthrock", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|naive|144,68,0,112,0,176|icepunch|thunderbolt|ironhead|hiddenpowerground", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerice|shadowball|trick", + "gliscor": "|hypercutter|lumberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "roserade": "|naturalcure|blacksludge|timid|24,0,0,252,0,232|weatherball|spikes|hiddenpowerfire|grassknot" + } + ], + "empoleon|scizor|latias|jirachi|gengar|infernape": [ + { + "empoleon": "|torrent|choicespecs|modest|44,0,0,252,0,212|hydropump|surf|icebeam|grassknot", + "scizor": "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderbolt|trick|surf", + "jirachi": "|serenegrace|leftovers|jolly|176,76,0,0,104,152|stealthrock|thunderwave|firepunch|ironhead", + "gengar": "|levitate|blacksludge|timid|104,0,16,196,0,192|shadowball|focusblast|taunt|willowisp", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|overheat|closecombat|slackoff|machpunch" + } + ], + "smeargle|flygon|honchkrow|gyarados|lucario|porygonz": [ + { + "smeargle": "|owntempo|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|spore|uturn", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|roost|fireblast|dracometeor|earthquake", + "honchkrow": "|insomnia|leftovers|lonely|252,252,0,0,0,4|substitute|drillpeck|heatwave|superpower", + "gyarados": "|intimidate|lumberry|adamant|40,252,0,0,0,216|dragondance|waterfall|icefang|earthquake", + "lucario": "|innerfocus|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|bulletpunch", + "porygonz": "|adaptability|choicescarf|timid|0,0,0,252,4,252|triattack|discharge|icebeam|trick" + } + ], + "swampert|jirachi|gliscor|breloom|heatran|tyranitar": [ + { + "swampert": "|torrent|choicespecs|modest|4,0,0,252,0,252|hydropump|hiddenpowergrass|earthpower|icebeam", + "jirachi": "|serenegrace|leftovers|jolly|252,32,44,0,4,176|thunder/grassknot|ironhead|bodyslam/icywind|firepunch/hpground", + "gliscor": "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|icefang|thunderfang|earthquake", + "breloom": "|poisonheal|toxicorb|impish|112,0,220,0,0,176|spore|swordsdance|superpower|seedbomb", + "heatran": "|flashfire|passhoberry|modest|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|hiddenpowergrass", + "tyranitar": "|sandstream|expertbelt|lonely|48,36,0,168,4,252|fireblast|hiddenpowergrass|superpower|crunch" + } + ], + "uxie|rotommow|jirachi|heracross|starmie|tyranitar": [ + { + "uxie": "|levitate|choicescarf|impish|252,0,104,0,0,152|trick|stealthrock|uturn|thunderwave", + "rotommow": "|levitate|leftovers|timid|244,0,0,40,0,224|thunderbolt|willowisp|substitute|painsplit", + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|thunderwave|ironhead|firepunch", + "heracross": "|guts|choiceband|jolly|4,252,0,0,0,252|closecombat|megahorn|stoneedge|sleeptalk", + "starmie": "|naturalcure|leftovers|timid|136,0,156,0,0,216|rapidspin|surf|thunderwave|recover", + "tyranitar": "|sandstream|expertbelt|naive|0,56,0,252,0,200|fireblast|icebeam|darkpulse|superpower" + } + ], + "roserade|infernape|gengar|jirachi|empoleon|dragonite": [ + { + "roserade": "|naturalcure|leftovers|calm|252,0,120,0,136,0|spikes|grassknot|hiddenpowerfire|stunspore", + "infernape": "|blaze|expertbelt|timid|4,0,0,252,0,252|hiddenpowerice|grassknot|overheat|slackoff", + "gengar": "|levitate|lifeorb|naive|0,8,0,248,0,252|shadowball|focusblast|explosion|suckerpunch", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|dracometeor|hiddenpowerground", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot", + "dragonite": "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|earthquake" + }, + { + "roserade": "|naturalcure|leftovers|calm|252,0,120,0,136,0|spikes|grassknot|hiddenpowerfire|stunspore", + "infernape": "|blaze|expertbelt|timid|4,0,0,252,0,252|hiddenpowerice|grassknot|overheat|slackoff", + "gengar": "|levitate|lifeorb|naive|0,8,0,248,0,252|shadowball|focusblast|explosion|suckerpunch", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|dracometeor|hiddenpowerground", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|grassknot", + "dragonite": "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|earthquake" + } + ], + "tyranitar|heatran|gyarados|metagross|gliscor": [ + { + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|crunch|firepunch|earthquake|dragondance", + "heatran": "|flashfire|passhoberry|hasty|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "gyarados": "|intimidate|lumberry|adamant|0,252,4,0,0,252|waterfall|return|earthquake|dragondance", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|explosion", + "gliscor": "|hypercutter|yacheberry|adamant|0,252,4,0,0,252|earthquake|stoneedge|rockpolish|swordsdance" + }, + { + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|crunch|firepunch|earthquake|dragondance", + "heatran": "|flashfire|passhoberry|naive|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "gyarados": "|intimidate|lumberry|adamant|0,252,4,0,0,252|waterfall|return|earthquake|dragondance", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|explosion", + "gliscor": "|hypercutter|yacheberry|adamant|0,252,4,0,0,252|earthquake|stoneedge|rockpolish|swordsdance" + } + ], + "cloyster|camerupt|infernape|gyarados|scizor|rotomheat": [ + { + "cloyster": "|shellarmor|lumberry|naive|0,252,0,4,0,252|spikes|icywind|rapidspin|explosion", + "camerupt": "|solidrock|leftovers|sassy|252,0,4,0,252,0|stealthrock|lavaplume|earthquake|explosion", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|overheat|grassknot|uturn", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "scizor": "|technician|choiceband|adamant|252,252,0,0,4,0|bulletpunch|pursuit|superpower|uturn", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|hiddenpowerice" + }, + { + "cloyster": "|shellarmor|lumberry|naive|0,252,0,4,0,252|spikes|icywind|rapidspin|explosion", + "camerupt": "|solidrock|leftovers|sassy|252,0,4,0,252,0|stealthrock|lavaplume|earthquake|explosion", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|overheat|grassknot|uturn", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "scizor": "|technician|choiceband|adamant|252,252,0,0,4,0|bulletpunch|pursuit|superpower|uturn", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|hiddenpowerice" + }, + { + "cloyster": "|shellarmor|lumberry|naive|0,252,0,4,0,252|spikes|icywind|rapidspin|explosion", + "camerupt": "|solidrock|leftovers|sassy|252,0,4,0,252,0|stealthrock|lavaplume|earthquake|explosion", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|overheat|grassknot|uturn", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "scizor": "|technician|choiceband|adamant|252,252,0,0,4,0|bulletpunch|pursuit|superpower|uturn", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|hiddenpowerice" + }, + { + "cloyster": "|shellarmor|lumberry|naive|0,252,0,4,0,252|spikes|icywind|rapidspin|explosion", + "camerupt": "|solidrock|leftovers|sassy|252,0,4,0,252,0|stealthrock|lavaplume|earthquake|explosion", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|overheat|grassknot|uturn", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "scizor": "|technician|choiceband|adamant|252,252,0,0,4,0|bulletpunch|pursuit|superpower|uturn", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|hiddenpowerice" + } + ], + "zapdos|starmie|metagross|jirachi|tyranitar|rotommow": [ + { + "zapdos": "|pressure|magnet|timid|112,0,0,144,0,252|thunderbolt|hiddenpowerice|uturn|roost", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "jirachi": "|serenegrace|lumberry|naive|0,252,0,0,4,252|ironhead|firepunch|icepunch|grassknot", + "tyranitar": "|sandstream|expertbelt|jolly|0,252,0,0,4,252|dragondance|crunch|aquatail|firepunch", + "rotommow": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|leafstorm|shadowball|trick" + }, + { + "zapdos": "|pressure|magnet|timid|112,0,0,144,0,252|thunderbolt|hiddenpowerice|uturn|roost", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "jirachi": "|serenegrace|lumberry|naive|0,252,0,0,4,252|ironhead|firepunch|icepunch|grassknot", + "tyranitar": "|sandstream|expertbelt|jolly|0,252,0,0,4,252|dragondance|crunch|aquatail|firepunch", + "rotommow": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|leafstorm|shadowball|trick" + }, + { + "zapdos": "|pressure|magnet|timid|112,0,0,144,0,252|thunderbolt|hiddenpowerice|uturn|roost", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "jirachi": "|serenegrace|lumberry|naive|0,252,0,0,4,252|ironhead|firepunch|icepunch|grassknot", + "tyranitar": "|sandstream|expertbelt|jolly|0,252,0,0,4,252|dragondance|crunch|aquatail|firepunch", + "rotommow": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|leafstorm|shadowball|trick" + } + ], + "flygon|bronzong|shaymin|starmie|mamoswine|jirachi": [ + { + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|earthquake|outrage|uturn|thunderpunch", + "bronzong": "|levitate|custapberry|impish|252,252,4,0,0,0|stealthrock|earthquake|explosion|gravity", + "shaymin": "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|grasswhistle", + "starmie": "|naturalcure|leftovers|timid|136,0,0,156,0,216|hydropump|thunderbolt|gravity|rapidspin", + "mamoswine": "|oblivious|lifeorb|naive|0,252,0,4,0,252|earthquake|iceshard|stoneedge|blizzard", + "jirachi": "|serenegrace|leftovers|careful|252,0,40,0,184,32|firepunch|ironhead|uturn|gravity" + }, + { + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|earthquake|outrage|uturn|thunderpunch", + "bronzong": "|levitate|custapberry|impish|252,252,4,0,0,0|stealthrock|earthquake|explosion|gravity", + "shaymin": "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|grasswhistle", + "starmie": "|naturalcure|leftovers|timid|136,0,0,156,0,216|hydropump|thunderbolt|gravity|rapidspin", + "mamoswine": "|oblivious|lifeorb|naive|0,252,0,4,0,252|earthquake|iceshard|stoneedge|blizzard", + "jirachi": "|serenegrace|leftovers|careful|252,0,40,0,184,32|firepunch|ironhead|uturn|gravity" + } + ], + "milotic|latias|jirachi|gliscor|tyranitar": [ + { + "milotic": "|marvelscale|leftovers|timid|8,0,0,252,0,248|hydropump|icebeam|recover|hiddenpowerelectric", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|surf|dracometeor|trick|sleeptalk", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|uturn|trick|ironhead|thunderpunch/icepunch", + "gliscor": "|hypercutter|leftovers|impish|248,0,36,0,0,224|earthquake|icefang|taunt|roost", + "tyranitar": "|sandstream|passhoberry/chopleberry|lonely|198,12,0,84,76,138|stealthrock|crunch|superpower|fireblast" + }, + { + "milotic": "|marvelscale|leftovers|timid|8,0,0,252,0,248|hydropump|icebeam|recover|hiddenpowerelectric", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|surf|dracometeor|trick|sleeptalk", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|uturn|trick|ironhead|icepunch", + "gliscor": "|hypercutter|leftovers|impish|248,0,36,0,0,224|earthquake|icefang|taunt|roost", + "tyranitar": "|sandstream|passhoberry|lonely|198,12,0,84,76,138|stealthrock|crunch|superpower|fireblast" + }, + { + "milotic": "|marvelscale|leftovers|timid|8,0,0,252,0,248|hydropump|icebeam|recover|hiddenpowerelectric", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|surf|dracometeor|trick|sleeptalk", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|uturn|trick|ironhead|thunderpunch/icepunch", + "gliscor": "|hypercutter|leftovers|impish|248,0,36,0,0,224|earthquake|icefang|taunt|roost", + "tyranitar": "|sandstream|passhoberry/chopleberry|lonely|198,12,0,84,76,138|stealthrock|crunch|superpower|fireblast" + } + ], + "starmie|gyarados|tyranitar|roserade|rotomwash|lucario": [ + { + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|trick", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "tyranitar": "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake", + "roserade": "|naturalcure|leftovers|calm|252,0,0,0,136,120|grassknot|hiddenpowerice|toxicspikes|spikes", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|agility|closecombat|crunch|icepunch" + } + ], + "bronzong|clefable|starmie|gengar|flygon": [ + { + "bronzong": "|levitate|custapberry|careful|252,248,0,0,8,0|stealthrock|gravity|earthquake|explosion", + "clefable": "|magicguard|leftovers|careful|252,0,32,0,224,0|seismictoss|knockoff|gravity|softboiled", + "starmie": "|naturalcure|leftovers|timid|100,0,0,192,0,216|hydropump|thunderbolt|rapidspin|gravity", + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|hypnosis|taunt|shadowball|focusblast", + "flygon": "|levitate|lifeorb|naive|0,164,0,128,0,216|dracometeor|earthquake|fireblast|outrage" + } + ], + "shiftry|tyranitar|weavile|honchkrow|spiritomb|drapion": [ + { + "shiftry": "|earlybird|focussash|lonely|0,252,0,76,0,180|leafstorm|suckerpunch|explosion|lowkick", + "tyranitar": "|sandstream|leftovers|sassy|248,4,4,0,252,0|stealthrock|thunderwave|fireblast|rockslide", + "weavile": "|pressure|choiceband|jolly|0,252,4,0,0,252|icepunch|lowkick|iceshard|pursuit", + "honchkrow": "|insomnia|lifeorb|naughty|0,252,0,4,0,252|bravebird|suckerpunch|superpower|heatwave", + "spiritomb": "|pressure|leftovers|bold|252,0,252,0,4,0|shadowball|calmmind|rest|willowisp", + "drapion": "|sniper|scopelens|adamant|0,252,0,0,4,252|swordsdance|nightslash|earthquake|crosspoison" + } + ], + "zapdos|tyranitar|gengar|breloom|suicune|heatran": [ + { + "zapdos": "|pressure|leftovers|modest|16,0,0,252,0,240|thunderbolt|hiddenpowerice|uturn|roost", + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "gengar": "|levitate|lifeorb|timid|4,0,0,252,0,252|explosion|focusblast|shadowball|hiddenpowerfire", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "suicune": "|pressure|leftovers|modest|32,0,0,248,0,228|calmmind|hydropump|icebeam|hiddenpowerelectric", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + }, + { + "zapdos": "|pressure|leftovers|modest|16,0,0,252,0,240|thunderbolt|hiddenpowerice|uturn|roost", + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "gengar": "|levitate|lifeorb|timid|4,0,0,252,0,252|explosion|focusblast|shadowball|hiddenpowerfire", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "suicune": "|pressure|leftovers|modest|32,0,0,248,0,228|calmmind|hydropump|icebeam|hiddenpowerelectric", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + } + ], + "azelf|lucario|jirachi|tyranitar|gyarados|rotomheat": [ + { + "azelf": "|levitate|focussash|jolly|252,0,4,0,0,252|stealthrock|explosion|taunt|thunderwave", + "lucario": "|steadfast|lifeorb|timid|0,0,0,252,4,252|calmmind|focusblast|darkpulse|vacuumwave", + "jirachi": "|serenegrace|leftovers|timid|4,0,0,252,0,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch", + "gyarados": "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|overheat|shadowball|trick" + } + ], + "azelf|kingdra|qwilfish|bronzong|scizor|azumarill": [ + { + "azelf": "|levitate|damprock|jolly|8,140,0,0,144,216|stealthrock|raindance|uturn|explosion", + "kingdra": "|swiftswim|choicespecs|modest|88,0,4,252,0,164|hydropump|surf|dracometeor|icebeam", + "qwilfish": "|swiftswim|lifeorb|adamant|72,252,20,0,0,164|swordsdance|waterfall|poisonjab|explosion", + "bronzong": "|levitate|damprock|relaxed|252,0,48,0,208,0|raindance|trickroom|gyroball|explosion", + "scizor": "|technician|damprock|adamant|248,16,0,0,244,0|bulletpunch|uturn|raindance|pursuit", + "azumarill": "|hugepower|lifeorb|brave|240,252,8,0,8,0|aquatail|aquajet|icepunch|superpower" + } + ], + "mamoswine|abomasnow|walrein|froslass|cloyster|articuno": [ + { + "mamoswine": "|snowcloak|focussash|jolly|0,252,0,0,4,252|earthquake|iceshard|stealthrock|endeavor", + "abomasnow": "|snowwarning|lifeorb|brave|232,252,0,26,0,0|woodhammer|iceshard|blizzard|earthquake", + "walrein": "|icebody|leftovers|modest|248,0,0,180,34,48|substitute|protect|blizzard|surf", + "froslass": "|snowcloak|choicescarf|timid|0,0,0,252,4,252|blizzard|shadowball|trick|destinybond", + "cloyster": "|shellarmor|leftovers|relaxed|252,0,16,4,236,0|toxicspikes|rapidspin|surf|explosion", + "articuno": "|pressure|leftovers|calm|252,0,54,0,180,24|roost|roar|icebeam|healbell" + } + ], + "azelf|tyranitar|rotomwash|gyarados|latias|lucario": [ + { + "azelf": "|levitate|lumberry|timid|252,0,196,0,0,60|taunt|stealthrock|thunderwave|explosion", + "tyranitar": "|sandstream|chopleberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stoneedge", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "gyarados": "|intimidate|leftovers|adamant|156,72,96,0,0,184|dragondance|taunt|waterfall|stoneedge", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch" + }, + { + "azelf": "|levitate|lumberry|timid|252,0,196,0,0,60|taunt|stealthrock|thunderwave|explosion", + "tyranitar": "|sandstream|chopleberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stoneedge", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump", + "gyarados": "|intimidate|leftovers|adamant|156,72,96,0,0,184|dragondance|taunt|waterfall|stoneedge", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch" + } + ], + "dragonite|gyarados|tyranitar|jirachi|swampert|metagross": [ + { + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|substitute|outrage|firepunch", + "gyarados": "|intimidate|lumberry|adamant|56,252,0,0,4,196|dragondance|waterfall|earthquake|icefang", + "tyranitar": "|sandstream|lumberry|jolly|32,224,0,0,0,252|dragondance|crunch|firepunch|earthquake", + "jirachi": "|serenegrace|choicescarf|jolly|104,252,4,0,0,148|ironhead|firepunch|thunderpunch|icepunch", + "swampert": "|torrent|leftovers|adamant|144,252,8,0,0,104|stealthrock|waterfall|earthquake|icepunch", + "metagross": "|clearbody|ironball|adamant|248,52,24,0,100,84|trick|meteormash|earthquake|explosion" + } + ], + "suicune|dragonite|rotomwash|lucario|tyranitar|jirachi": [ + { + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|protect|icebeam", + "dragonite": "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|roost", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|bulletpunch", + "tyranitar": "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|grassknot" + } + ], + "bronzong|magnezone|gliscor|tyranitar|gengar|suicune": [ + { + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|explosion|earthquake|gyroball", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|raindance|thunderbolt|explosion|hiddenpowerfire", + "gliscor": "|hypercutter|yacheberry|jolly|40,252,0,0,0,216|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|firepunch|crunch|earthquake", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "suicune": "|pressure|leftovers|modest|252,0,0,104,0,152|calmmind|hydropump|substitute|icebeam" + }, + { + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|explosion|earthquake|gyroball", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|raindance|thunderbolt|explosion|hiddenpowerfire", + "gliscor": "|hypercutter|yacheberry|jolly|40,252,0,0,0,216|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|firepunch|crunch|earthquake", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "suicune": "|pressure|leftovers|modest|252,0,0,104,0,152|calmmind|hydropump|substitute|icebeam" + }, + { + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|explosion|earthquake|gyroball", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|raindance|thunderbolt|explosion|hiddenpowerfire", + "gliscor": "|hypercutter|yacheberry|jolly|40,252,0,0,0,216|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|firepunch|crunch|earthquake", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "suicune": "|pressure|leftovers|modest|252,0,0,104,0,152|calmmind|hydropump|substitute|icebeam" + }, + { + "bronzong": "|levitate|occaberry|brave|252,252,0,0,4,0|stealthrock|explosion|earthquake|gyroball", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|raindance|thunderbolt|explosion|hiddenpowerfire", + "gliscor": "|hypercutter|yacheberry|jolly|40,252,0,0,0,216|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|firepunch|crunch|earthquake", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "suicune": "|pressure|leftovers|modest|252,0,0,104,0,152|calmmind|hydropump|substitute|icebeam" + } + ], + "heatran|gyarados|tyranitar|infernape": [ + { + "heatran": "|flashfire|custapberry|hasty|0,36,0,244,0,228|fireblast|ironhead|endure|explosion", + "gyarados": "|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|waterfall|stoneedge|icefang", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|firepunch|aquatail", + "infernape": "|blaze|lifeorb|hasty|0,60,0,252,0,196|overheat|closecombat|grassknot|machpunch" + }, + { + "heatran": "|flashfire|custapberry|hasty|0,36,0,244,0,228|fireblast|ironhead|endure|explosion", + "gyarados": "|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|waterfall|stoneedge|icefang", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|firepunch|aquatail", + "infernape": "|blaze|lifeorb|hasty|0,60,0,252,0,196|overheat|closecombat|grassknot|machpunch" + } + ], + "aerodactyl|suicune|jirachi|tyranitar|dragonite|metagross": [ + { + "aerodactyl": "|pressure|focussash|jolly|0,252,4,0,0,252|stealthrock|stoneedge|earthquake|taunt", + "suicune": "|pressure|leftovers|timid|252,0,0,120,0,136|surf|icebeam|calmmind|substitute", + "jirachi": "|serenegrace|shucaberry|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerground|calmmind", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|crunch|firepunch|aquatail|dragondance", + "dragonite": "|innerfocus|expertbelt|adamant|0,252,52,0,0,204|icepunch|thunderpunch|earthquake|agility", + "metagross": "|clearbody|lumberry|adamant|56,252,4,0,0,196|meteormash|earthquake|agility|explosion" + } + ], + "heatran|gengar|empoleon|kingdra|tyranitar": [ + { + "heatran": "|flashfire|widelens|timid|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|explosion", + "gengar": "|levitate|widelens|hasty|80,40,0,136,0,252|hypnosis|shadowball|focusblast|explosion", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|icebeam|hydropump|grassknot", + "kingdra": "|swiftswim|lifeorb|rash|0,208,0,136,0,164|raindance|hydropump|waterfall|dracometeor", + "tyranitar": "|sandstream|chopleberry|jolly|50,144,58,0,4,252|dragondance|firepunch|earthquake|crunch" + }, + { + "heatran": "|flashfire|widelens|timid|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|explosion", + "gengar": "|levitate|widelens|hasty|80,40,0,136,0,252|hypnosis|shadowball|focusblast|explosion", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|icebeam|hydropump|grassknot", + "kingdra": "|swiftswim|lifeorb|rash|0,208,0,136,0,164|raindance|hydropump|waterfall|dracometeor", + "tyranitar": "|sandstream|chopleberry|jolly|50,144,58,0,4,252|dragondance|firepunch|earthquake|crunch" + }, + { + "heatran": "|flashfire|widelens|timid|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|explosion", + "gengar": "|levitate|widelens|hasty|80,40,0,136,0,252|hypnosis|shadowball|focusblast|explosion", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|icebeam|hydropump|grassknot", + "kingdra": "|swiftswim|lifeorb|rash|0,208,0,136,0,164|raindance|hydropump|waterfall|dracometeor", + "tyranitar": "|sandstream|chopleberry|jolly|50,144,58,0,4,252|dragondance|firepunch|earthquake|crunch" + }, + { + "heatran": "|flashfire|widelens|timid|0,0,0,252,4,252|stealthrock|magmastorm|earthpower|explosion", + "gengar": "|levitate|widelens|hasty|80,40,0,136,0,252|hypnosis|shadowball|focusblast|explosion", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|agility|icebeam|hydropump|grassknot", + "kingdra": "|swiftswim|lifeorb|rash|0,208,0,136,0,164|raindance|hydropump|waterfall|dracometeor", + "tyranitar": "|sandstream|chopleberry|jolly|50,144,58,0,4,252|dragondance|firepunch|earthquake|crunch" + } + ], + "skarmory|gyarados|flygon|rotomheat|tyranitar|lucario": [ + { + "skarmory": "|keeneye|lumberry|jolly|248,48,20,0,8,184|taunt|stealthrock|spikes|drillpeck", + "gyarados": "|intimidate|lifeorb|adamant|0,252,0,0,4,252|dragondance|waterfall|stoneedge|earthquake", + "flygon": "|levitate|expertbelt|naive|0,124,0,168,0,216|earthquake|fireblast|hiddenpowerice|dragonclaw", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderbolt|shadowball|overheat", + "tyranitar": "|sandstream|passhoberry|lonely|48,64,0,216,40,140|pursuit|darkpulse|fireblast|superpower", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|bulletpunch" + } + ], + "suicune|heatran|gengar|jirachi|tyranitar": [ + { + "suicune": "|pressure|leftovers|timid|216,0,0,156,0,136|surf|calmmind|raindance|icebeam", + "heatran": "|flashfire|shucaberry|timid|52,0,4,252,0,200|stealthrock|fireblast|willowisp|explosion", + "gengar": "|levitate|blacksludge|timid|104,0,16,188,0,200|shadowball|focusblast|taunt|willowisp", + "jirachi": "|serenegrace|choicescarf|jolly|0,100,152,0,4,252|ironhead|firepunch|healingwish|thunderpunch", + "tyranitar": "|sandstream|passhoberry|jolly|8,248,0,0,0,252|dragondance|crunch|firepunch|taunt" + } + ], + "dragonite|magnezone|latias|skarmory|gastrodoneast|clefable": [ + { + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|superpower|extremespeed|sleeptalk", + "magnezone": "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|protect|magnetrise", + "latias": "|levitate|expertbelt|naive|0,4,0,252,0,252|thunderbolt|icebeam|earthquake|recover", + "skarmory": "|keeneye|shedshell|impish|252,0,180,0,76,0|spikes|roost|whirlwind|counter", + "gastrodoneast": "|stickyhold|leftovers|sassy|252,0,64,0,192,0|recover|icebeam|earthquake|mirrorcoat", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|stealthrock|seismictoss|softboiled|thunderwave" + }, + { + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|superpower|extremespeed|sleeptalk", + "magnezone": "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|protect|magnetrise", + "latias": "|levitate|expertbelt|naive|0,4,0,252,0,252|thunderbolt|icebeam|earthquake|recover", + "skarmory": "|keeneye|shedshell|impish|252,0,180,0,76,0|spikes|roost|whirlwind|counter", + "gastrodoneast": "|stickyhold|leftovers|sassy|252,0,64,0,192,0|recover|icebeam|earthquake|mirrorcoat", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|stealthrock|seismictoss|softboiled|thunderwave" + } + ], + "jirachi|clefable|latias": [ + { + "jirachi": "|serenegrace|leftovers|impish|252,32,224,0,0,0|ironhead|thunderwave|firepunch|icepunch", + "clefable": "|magicguard|leftovers|careful|252,0,60,0,196,0|seismictoss|knockoff|healbell|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover" + } + ], + "honchkrow|latias|scizor|suicune|rotomwash|heatran": [ + { + "honchkrow": "|insomnia|lifeorb|hasty|0,252,0,68,0,188|superpower|heatwave|nightslash|suckerpunch", + "latias": "|levitate|choicespecs|modest|96,0,0,252,0,160|dracometeor|trick|surf|dragonpulse", + "scizor": "|technician|leftovers|adamant|248,252,0,0,0,8|bulletpunch|superpower|swordsdance|roost", + "suicune": "|pressure|leftovers|modest|104,0,0,252,0,152|surf|icebeam|hiddenpowerelectric|calmmind", + "rotomwash": "|levitate|choicescarf|timid|80,0,0,216,0,212|thunderbolt|shadowball|trick|willowisp", + "heatran": "|flashfire|passhoberry|modest|132,0,0,252,0,124|fireblast|stealthrock|explosion|earthpower" + } + ], + "bronzong|rotomheat|dugtrio|suicune|roserade|raikou": [ + { + "bronzong": "|levitate|leftovers|sassy|252,84,80,0,92,0|stealthrock|gyroball|earthquake|explosion", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|thunderbolt|hiddenpowerice|shadowball", + "dugtrio": "|arenatrap|choiceband|jolly|0,252,4,0,0,252|earthquake|stoneedge|pursuit|aerialace", + "suicune": "|pressure|leftovers|timid|120,0,0,192,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric", + "roserade": "|naturalcure|blacksludge|timid|120,0,0,156,0,232|toxicspikes|leafstorm|sleeppowder|hiddenpowerfire", + "raikou": "|pressure|leftovers|timid|0,0,0,252,4,252|protect|calmmind|hiddenpowerice|thunderbolt" + }, + { + "bronzong": "|levitate|leftovers|sassy|252,84,80,0,92,0|stealthrock|gyroball|earthquake|explosion", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|thunderbolt|hiddenpowerice|shadowball", + "dugtrio": "|arenatrap|choiceband|jolly|0,252,4,0,0,252|earthquake|stoneedge|pursuit|aerialace", + "suicune": "|pressure|leftovers|timid|120,0,0,192,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric", + "roserade": "|naturalcure|blacksludge|timid|120,0,0,156,0,232|toxicspikes|leafstorm|sleeppowder|hiddenpowerfire", + "raikou": "|pressure|leftovers|timid|0,0,0,252,4,252|protect|calmmind|hiddenpowerice|thunderbolt" + } + ], + "gliscor|tyranitar|celebi|heatran|jirachi|suicune": [ + { + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|earthquake|stealthrock|uturn|taunt", + "tyranitar": "|sandstream|shucaberry|lonely|248,144,0,12,0,104|crunch|pursuit|fireblast|earthquake", + "celebi": "|naturalcure|meadowplate|timid|0,0,4,252,0,252|leafstorm|earthpower|hiddenpowerice|nastyplot", + "heatran": "|flashfire|choicescarf|hasty|0,4,0,252,0,252|overheat|flamethrower|earthpower|explosion", + "jirachi": "|serenegrace|expertbelt|hasty|0,160,0,96,0,252|ironhead|firepunch|thunderbolt|grassknot", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|surf|icebeam|hiddenpowerelectric" + } + ], + "starmie|rotomheat|breloom|tyranitar|bronzong|dragonite": [ + { + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "bronzong": "|levitate|choiceband|brave|252,252,0,0,4,0|earthquake|gyroball|explosion|trick", + "dragonite": "|innerfocus|lumberry|jolly|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch" + }, + { + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "bronzong": "|levitate|choiceband|brave|252,252,0,0,4,0|earthquake|gyroball|explosion|trick", + "dragonite": "|innerfocus|lumberry|jolly|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch" + } + ], + "venomoth|scizor|heracross|forretress|armaldo|yanmega": [ + { + "venomoth": "|tintedlens|focussash|timid|0,0,6,252,0,252|toxicspikes|bugbuzz|sleeppowder|thief", + "scizor": "|technician|metalcoat|adamant|232,252,0,0,18,8|bulletpunch|superpower|swordsdance|roost", + "heracross": "|guts|choicescarf|adamant|0,252,0,0,4,252|closecombat|megahorn|stoneedge|nightslash", + "forretress": "|sturdy|leftovers|relaxed|252,4,252,0,0,0|spikes|rapidspin|gyroball|toxic", + "armaldo": "|battlearmor|leftovers|adamant|252,16,0,0,236,4|stealthrock|rapidspin|stoneedge|earthquake", + "yanmega": "|speedboost|lifeorb|modest|0,0,0,252,4,252|bugbuzz|airslash|protect|hiddenpowerground" + } + ], + "bronzong|skarmory|clefable|latias|flygon|rotomfrost": [ + { + "bronzong": "|levitate|leftovers|relaxed|252,28,152,0,76,0|stealthrock|gyroball|protect|toxic", + "skarmory": "|keeneye|leftovers|calm|252,0,4,0,252,0|spikes|counter|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|thunderwave|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "flygon": "|levitate|lifeorb|naive|0,32,0,224,0,252|earthquake|dracometeor|fireblast|roost", + "rotomfrost": "|levitate|leftovers|bold|252,0,248,0,0,8|discharge|shadowball|rest|sleeptalk" + }, + { + "bronzong": "|levitate|leftovers|relaxed|252,28,152,0,76,0|stealthrock|gyroball|protect|toxic", + "skarmory": "|keeneye|leftovers|calm|252,0,4,0,252,0|spikes|counter|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|thunderwave|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "flygon": "|levitate|lifeorb|naive|0,32,0,224,0,252|earthquake|dracometeor|fireblast|roost", + "rotomfrost": "|levitate|leftovers|bold|252,0,248,0,0,8|discharge|shadowball|rest|sleeptalk" + }, + { + "bronzong": "|levitate|leftovers|relaxed|252,28,152,0,76,0|stealthrock|gyroball|protect|toxic", + "skarmory": "|keeneye|leftovers|calm|252,0,4,0,252,0|spikes|counter|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|thunderwave|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "flygon": "|levitate|lifeorb|naive|0,32,0,224,0,252|earthquake|dracometeor|fireblast|roost", + "rotomfrost": "|levitate|leftovers|bold|252,0,248,0,0,8|discharge|shadowball|rest|sleeptalk" + }, + { + "bronzong": "|levitate|leftovers|relaxed|252,28,152,0,76,0|stealthrock|gyroball|protect|toxic", + "skarmory": "|keeneye|leftovers|calm|252,0,4,0,252,0|spikes|counter|roost|whirlwind", + "clefable": "|magicguard|stickybarb|careful|252,0,72,0,184,0|seismictoss|trick|thunderwave|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "flygon": "|levitate|lifeorb|naive|0,32,0,224,0,252|earthquake|dracometeor|fireblast|roost", + "rotomfrost": "|levitate|leftovers|bold|252,0,248,0,0,8|discharge|shadowball|rest|sleeptalk" + } + ], + "zapdos|tyranitar|swampert|breloom|jirachi|rotomheat": [ + { + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|heatwave|hiddenpowergrass|uturn", + "tyranitar": "|sandstream|passhoberry|adamant|124,252,0,0,0,132|superpower|crunch|pursuit|stoneedge", + "swampert": "|torrent|leftovers|timid|64,0,0,252,0,192|hydropump|stealthrock|icebeam|earthpower", + "breloom": "|poisonheal|toxicorb|adamant|12,252,0,0,0,244|spore|superpower|seedbomb|machpunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,4,252,0,252|calmmind|psychic|hiddenpowerground|thunderbolt", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|overheat|trick|shadowball|thunderbolt" + }, + { + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|heatwave|hiddenpowergrass|uturn", + "tyranitar": "|sandstream|passhoberry|adamant|124,252,0,0,0,132|superpower|crunch|pursuit|stoneedge", + "swampert": "|torrent|leftovers|timid|64,0,0,252,0,192|hydropump|stealthrock|icebeam|earthpower", + "breloom": "|poisonheal|toxicorb|adamant|12,252,0,0,0,244|spore|superpower|seedbomb|machpunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,4,252,0,252|calmmind|psychic|hiddenpowerground|thunderbolt", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|overheat|trick|shadowball|thunderbolt" + }, + { + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|heatwave|hiddenpowergrass|uturn", + "tyranitar": "|sandstream|passhoberry|adamant|124,252,0,0,0,132|superpower|crunch|pursuit|stoneedge", + "swampert": "|torrent|leftovers|timid|64,0,0,252,0,192|hydropump|stealthrock|icebeam|earthpower", + "breloom": "|poisonheal|toxicorb|adamant|12,252,0,0,0,244|spore|superpower|seedbomb|machpunch", + "jirachi": "|serenegrace|leftovers|timid|0,0,4,252,0,252|calmmind|psychic|hiddenpowerground|thunderbolt", + "rotomheat": "|levitate|choicescarf|timid|0,0,4,252,0,252|overheat|trick|shadowball|thunderbolt" + } + ], + "zapdos|starmie|rotommow|latias|infernape|swampert": [ + { + "zapdos": "|pressure|lifeorb|timid|0,0,0,252,4,252|heatwave|thunderbolt|hiddenpowergrass|uturn", + "starmie": "|naturalcure|expertbelt|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "rotommow": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderwave|leafstorm|shadowball", + "latias": "|levitate|leftovers|timid|252,0,0,0,4,252|calmmind|dracometeor|hiddenpowerfire|surf", + "infernape": "|blaze|sitrusberry|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|grassknot", + "swampert": "|torrent|leftovers|adamant|236,252,0,4,0,16|earthquake|waterfall|icepunch|stealthrock" + }, + { + "zapdos": "|pressure|lifeorb|timid|0,0,0,252,4,252|heatwave|thunderbolt|hiddenpowergrass|uturn", + "starmie": "|naturalcure|expertbelt|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "rotommow": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|thunderwave|leafstorm|shadowball", + "latias": "|levitate|leftovers|timid|252,0,0,0,4,252|calmmind|dracometeor|hiddenpowerfire|surf", + "infernape": "|blaze|sitrusberry|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|grassknot", + "swampert": "|torrent|leftovers|adamant|236,252,0,4,0,16|earthquake|waterfall|icepunch|stealthrock" + } + ], + "heatran|jirachi|breloom|azelf|latias|suicune": [ + { + "heatran": "|flashfire|focussash|hasty|0,4,0,252,0,252|flamethrower|willowisp|explosion|stealthrock", + "jirachi": "|serenegrace|leftovers|jolly|248,84,0,0,0,176|ironhead|bodyslam|firepunch|healingwish", + "breloom": "|poisonheal|toxicorb|adamant|72,252,0,0,0,184|seedbomb|focuspunch|machpunch|spore", + "azelf": "|levitate|lumberry|naive|0,4,0,252,0,252|psychic|flamethrower|explosion|grassknot", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|thunderbolt|trick|healingwish", + "suicune": "|pressure|leftovers|modest|24,0,4,252,0,228|calmmind|rest|icebeam|surf" + }, + { + "heatran": "|flashfire|focussash|hasty|0,4,0,252,0,252|flamethrower|willowisp|explosion|stealthrock", + "jirachi": "|serenegrace|leftovers|jolly|248,84,0,0,0,176|ironhead|bodyslam|firepunch|healingwish", + "breloom": "|poisonheal|toxicorb|adamant|72,252,0,0,0,184|seedbomb|focuspunch|machpunch|spore", + "azelf": "|levitate|lumberry|naive|0,4,0,252,0,252|psychic|flamethrower|explosion|grassknot", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|thunderbolt|trick|healingwish", + "suicune": "|pressure|leftovers|modest|24,0,4,252,0,228|calmmind|rest|icebeam|surf" + } + ], + "flygon|metagross|heatran|latias|abomasnow|azelf": [ + { + "flygon": "|levitate|choiceband|adamant|0,252,0,0,4,252|earthquake|uturn|firepunch|outrage", + "metagross": "|clearbody|ironball|adamant|236,252,0,0,0,20|trick|meteormash|earthquake|explosion", + "heatran": "|flashfire|choicescarf|hasty|0,4,0,252,0,252|fireblast|earthpower|explosion|hiddenpowerelectric", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|thunderbolt", + "abomasnow": "|snowwarning|leftovers|adamant|0,252,4,0,0,252|swordsdance|iceshard|earthquake|seedbomb", + "azelf": "|levitate|lumberry|hasty|0,252,0,4,0,252|stealthrock|uturn|fireblast|explosion" + }, + { + "flygon": "|levitate|choiceband|adamant|0,252,0,0,4,252|earthquake|uturn|firepunch|outrage", + "metagross": "|clearbody|ironball|adamant|236,252,0,0,0,20|trick|meteormash|earthquake|explosion", + "heatran": "|flashfire|choicescarf|hasty|0,4,0,252,0,252|fireblast|earthpower|explosion|hiddenpowerelectric", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|thunderbolt", + "abomasnow": "|snowwarning|leftovers|adamant|0,252,4,0,0,252|swordsdance|iceshard|earthquake|seedbomb", + "azelf": "|levitate|lumberry|hasty|0,252,0,4,0,252|stealthrock|uturn|fireblast|explosion" + } + ], + "azelf|roserade|tyranitar|milotic|flygon|rotomheat": [ + { + "azelf": "|levitate|colburberry|jolly|8,140,0,0,144,216|stealthrock|taunt|thunderwave|explosion", + "roserade": "|naturalcure|blacksludge|calm|248,0,124,0,136,0|toxicspikes|spikes|grassknot|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "milotic": "|marvelscale|leftovers|timid|252,0,4,0,0,252|hydropump|icebeam|hiddenpowerelectric|recover", + "flygon": "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpowerice" + }, + { + "azelf": "|levitate|colburberry|jolly|8,140,0,0,144,216|stealthrock|taunt|thunderwave|explosion", + "roserade": "|naturalcure|blacksludge|calm|248,0,124,0,136,0|toxicspikes|spikes|grassknot|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "milotic": "|marvelscale|leftovers|timid|252,0,4,0,0,252|hydropump|icebeam|hiddenpowerelectric|recover", + "flygon": "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpowerice" + } + ], + "moltres|jirachi|tyranitar|latias|gyarados|breloom": [ + { + "moltres": "|pressure|charcoal|modest|0,0,4,252,0,252|fireblast|uturn|protect|hiddenpowerground", + "jirachi": "|serenegrace|leftovers|jolly|176,156,0,0,0,176|stealthrock|ironhead|bodyslam|firepunch", + "tyranitar": "|sandstream|lumberry|lonely|40,0,12,60,144,252|thunderwave|crunch|fireblast|superpower", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|healingwish|thunderbolt|trick", + "gyarados": "|intimidate|leftovers|adamant|248,40,36,0,0,184|substitute|dragondance|waterfall|doubleedge", + "breloom": "|poisonheal|toxicorb|adamant|248,56,144,0,0,60|seedbomb|superpower|facade|swordsdance" + }, + { + "moltres": "|pressure|charcoal|modest|0,0,4,252,0,252|fireblast|uturn|protect|hiddenpowerground", + "jirachi": "|serenegrace|leftovers|jolly|176,156,0,0,0,176|stealthrock|ironhead|bodyslam|firepunch", + "tyranitar": "|sandstream|lumberry|lonely|40,0,12,60,144,252|thunderwave|crunch|fireblast|superpower", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|healingwish|thunderbolt|trick", + "gyarados": "|intimidate|leftovers|adamant|248,40,36,0,0,184|substitute|dragondance|waterfall|doubleedge", + "breloom": "|poisonheal|toxicorb|adamant|248,56,144,0,0,60|seedbomb|superpower|facade|swordsdance" + }, + { + "moltres": "|pressure|charcoal|modest|0,0,4,252,0,252|fireblast|uturn|protect|hiddenpowerground", + "jirachi": "|serenegrace|leftovers|jolly|176,156,0,0,0,176|stealthrock|ironhead|bodyslam|firepunch", + "tyranitar": "|sandstream|lumberry|lonely|40,0,12,60,144,252|thunderwave|crunch|fireblast|superpower", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|healingwish|thunderbolt|trick", + "gyarados": "|intimidate|leftovers|adamant|248,40,36,0,0,184|substitute|dragondance|waterfall|doubleedge", + "breloom": "|poisonheal|toxicorb|adamant|248,56,144,0,0,60|seedbomb|superpower|facade|swordsdance" + } + ], + "aerodactyl|infernape|breloom|zapdos|tyranitar|empoleon": [ + { + "aerodactyl": "|rockhead|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|stoneedge|taunt", + "infernape": "|blaze|lifeorb|naive|0,4,0,252,0,252|nastyplot|closecombat|fireblast|grassknot", + "breloom": "|poisonheal|toxicorb|adamant|252,72,0,0,0,184|spore|seedbomb|machpunch|focuspunch", + "zapdos": "|pressure|choicespecs|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|sleeptalk|uturn", + "tyranitar": "|sandstream|lumberry|jolly|0,128,0,0,128,252|crunch|earthquake|dragondance|stoneedge", + "empoleon": "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|substitute" + }, + { + "aerodactyl": "|rockhead|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|stoneedge|taunt", + "infernape": "|blaze|lifeorb|naive|0,4,0,252,0,252|nastyplot|closecombat|fireblast|grassknot", + "breloom": "|poisonheal|toxicorb|adamant|252,72,0,0,0,184|spore|seedbomb|machpunch|focuspunch", + "zapdos": "|pressure|choicespecs|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|sleeptalk|uturn", + "tyranitar": "|sandstream|lumberry|jolly|0,128,0,0,128,252|crunch|earthquake|dragondance|stoneedge", + "empoleon": "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|hydropump|icebeam|substitute" + } + ], + "jirachi|latias|lucario": [ + { + "jirachi": "|serenegrace|leftovers|modest|156,0,0,176,0,176|dracometeor|thunder|hiddenpowerground|calmmind", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "lucario": "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|copycat" + }, + { + "jirachi": "|serenegrace|leftovers|modest|156,0,0,176,0,176|dracometeor|thunder|hiddenpowerground|calmmind", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "lucario": "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|copycat" + }, + { + "jirachi": "|serenegrace|leftovers|modest|156,0,0,176,0,176|dracometeor|thunder|hiddenpowerground|calmmind", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "lucario": "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|crunch" + } + ], + "smeargle|tauros|staraptor|snorlax|porygonz|ambipom": [ + { + "smeargle": "|owntempo|focussash|jolly|112,0,140,0,4,252|spore|stealthrock|uturn|spikes", + "tauros": "|intimidate|choiceband|jolly|0,252,0,0,4,252|return|earthquake|stoneedge|outrage", + "staraptor": "|intimidate|choicescarf|adamant|0,252,4,0,0,252|bravebird|uturn|closecombat|return", + "snorlax": "|thickfat|leftovers|adamant|84,252,150,0,20,4|earthquake|curse|firepunch|return", + "porygonz": "|adaptability|choicespecs|modest|0,0,0,252,4,252|triattack|darkpulse|trick|hiddenpowerfighting", + "ambipom": "|technician|lifeorb|jolly|0,252,0,0,4,252|fakeout|lowkick|payback|return" + } + ], + "jirachi|breloom|tyranitar|heatran|rotomheat|latias": [ + { + "jirachi": "|serenegrace|choicescarf|jolly|104,252,4,0,0,148|uturn|ironhead|icepunch|trick", + "breloom": "|poisonheal|toxicorb|adamant|232,176,0,0,24,76|spore|superpower|seedbomb|machpunch", + "tyranitar": "|sandstream|passhoberry|lonely|8,144,0,64,184,108|stealthrock|crunch|fireblast|earthquake", + "heatran": "|flashfire|leftovers|modest|248,0,0,16,204,40|substitute|protect|lavaplume|earthpower", + "rotomheat": "|levitate|leftovers|timid|248,0,0,8,0,252|substitute|willowisp|thunderbolt|painsplit", + "latias": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|sleeptalk" + } + ], + "jirachi|suicune|bronzong|heracross|rotomwash|latias": [ + { + "jirachi": "|serenegrace|shucaberry|timid|0,0,0,252,4,252|stealthrock|hiddenpowerfire|grassknot|psychic", + "suicune": "|pressure|leftovers|bold|248,0,204,0,0,56|surf|icebeam|rest|calmmind", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "heracross": "|guts|choiceband|jolly|4,252,0,0,0,252|closecombat|megahorn|stoneedge|sleeptalk", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|shadowball|trick", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|trick|surf" + } + ], + "heatran|gyarados|latias|jirachi|breloom": [ + { + "heatran": "|flashfire|leftovers|gentle|252,0,0,60,0,196|stealthrock|flamethrower|willowisp|explosion", + "gyarados": "|intimidate|leftovers|adamant|60,252,0,0,0,196|waterfall|thunderwave|dragondance|icefang", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|leftovers|jolly|252,108,0,0,0,148|stealthrock|ironhead|bodyslam|firepunch", + "breloom": "|poisonheal|toxicorb|adamant|236,192,0,0,56,24|spore|focuspunch|seedbomb|machpunch" + }, + { + "heatran": "|flashfire|leftovers|hasty|252,0,0,56,0,200|stealthrock|fireblast|willowisp|explosion", + "gyarados": "|intimidate|leftovers|adamant|60,252,0,0,0,196|waterfall|thunderwave|dragondance|icefang", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|leftovers|jolly|252,108,0,0,0,148|stealthrock|ironhead|bodyslam|firepunch", + "breloom": "|poisonheal|toxicorb|adamant|236,192,0,0,56,24|spore|focuspunch|seedbomb|machpunch" + } + ], + "jirachi": [ + { + "jirachi": "|serenegrace|shucaberry|jolly|4,252,0,0,0,252|ironhead|firepunch|thunderpunch|icepunch" + } + ], + "jirachi|latias|lucario|tyranitar|flygon": [ + { + "jirachi": "|serenegrace|shucaberry|hasty|168,148,0,12,0,180|ironhead|thunderbolt|firepunch|hiddenpowerground", + "latias": "|levitate|choicespecs|modest|0,0,8,252,0,248|dracometeor|dragonpulse|surf|sleeptalk", + "lucario": "|innerfocus|salacberry|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch", + "tyranitar": "|sandstream|passhoberry|adamant|40,48,184,0,148,88|crunch|superpower|toxic|stealthrock", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|thunderpunch|earthquake" + }, + { + "jirachi": "|serenegrace|shucaberry|hasty|168,148,0,12,0,180|ironhead|thunderbolt|firepunch|hiddenpowerground", + "latias": "|levitate|choicespecs|modest|0,0,8,252,0,248|dracometeor|dragonpulse|surf|sleeptalk", + "lucario": "|innerfocus|salacberry|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch", + "tyranitar": "|sandstream|passhoberry|adamant|40,48,184,0,148,88|crunch|superpower|toxic|stealthrock", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|thunderpunch|earthquake" + } + ], + "dragonite|magnezone|starmie|flygon|shaymin|heatran": [ + { + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|superpower|sleeptalk", + "magnezone": "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|protect", + "starmie": "|naturalcure|leftovers|timid|252,0,4,0,0,252|rapidspin|recover|surf|thunderwave", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "shaymin": "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|healingwish", + "heatran": "|flashfire|leftovers|modest|252,0,0,4,0,252|stealthrock|fireblast|earthpower|explosion" + }, + { + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|superpower|sleeptalk", + "magnezone": "|magnetpull|leftovers|timid|0,0,0,252,4,252|magnetrise|thunderbolt|hiddenpowerfire|protect", + "starmie": "|naturalcure|leftovers|timid|252,0,4,0,0,252|rapidspin|recover|surf|thunderwave", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "shaymin": "|naturalcure|leftovers|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|healingwish", + "heatran": "|flashfire|leftovers|modest|252,0,0,4,0,252|stealthrock|fireblast|earthpower|explosion" + } + ], + "nidoking|gengar|tyranitar|magnezone|infernape|poliwrath": [ + { + "nidoking": "|poisonpoint|focussash|timid|4,0,0,252,0,252|stealthrock|taunt|earthpower|icebeam", + "gengar": "|levitate|mail|naive|0,0,0,0,0,252|taunt|destinybond", + "tyranitar": "|sandstream|leftovers|careful|252,0,40,0,216,0|curse|payback|rest|sleeptalk", + "magnezone": "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|flashcannon|explosion", + "infernape": "|blaze|lifeorb|timid|0,0,0,252,4,252|nastyplot|fireblast|grassknot|vacuumwave", + "poliwrath": "|waterabsorb|salacberry|jolly|4,252,0,0,0,252|bellydrum|substitute|waterfall|return" + }, + { + "nidoking": "|poisonpoint|focussash|timid|4,0,0,252,0,252|stealthrock|taunt|earthpower|icebeam", + "gengar": "|levitate|mail|naive|0,0,0,0,0,252|taunt|destinybond", + "tyranitar": "|sandstream|leftovers|careful|252,0,40,0,216,0|curse|payback|rest|sleeptalk", + "magnezone": "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerfire|flashcannon|explosion", + "infernape": "|blaze|lifeorb|timid|0,0,0,252,4,252|nastyplot|fireblast|grassknot|vacuumwave", + "poliwrath": "|waterabsorb|salacberry|jolly|4,252,0,0,0,252|bellydrum|substitute|waterfall|return" + } + ], + "roserade|swampert|heatran|rotomwash|jirachi|tyranitar": [ + { + "roserade": "|naturalcure|focussash|timid|4,0,0,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|protect|roar", + "heatran": "|flashfire|leftovers|calm|252,0,8,28,208,12|lavaplume|earthpower|explosion|stealthrock", + "rotomwash": "|levitate|lifeorb|timid|108,0,0,148,0,252|thunderbolt|shadowball|substitute|painsplit", + "jirachi": "|serenegrace|leftovers|bold|252,0,224,0,0,32|calmmind|wish|thunderbolt|psychic", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + }, + { + "roserade": "|naturalcure|focussash|timid|4,0,0,252,0,252|toxicspikes|sleeppowder|leafstorm|hiddenpowerfire", + "swampert": "|torrent|leftovers|relaxed|240,0,216,0,52,0|earthquake|icebeam|protect|roar", + "heatran": "|flashfire|leftovers|calm|252,0,8,28,208,12|lavaplume|earthpower|explosion|stealthrock", + "rotomwash": "|levitate|lifeorb|timid|108,0,0,148,0,252|thunderbolt|shadowball|substitute|painsplit", + "jirachi": "|serenegrace|leftovers|bold|252,0,224,0,0,32|calmmind|wish|thunderbolt|psychic", + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stoneedge|crunch|pursuit|superpower" + } + ], + "heatran|metagross|suicune|tyranitar|rotomheat|flygon": [ + { + "heatran": "|flashfire|focussash|hasty|28,32,0,252,0,196|stealthrock|magmastorm|hiddenpowergrass|explosion", + "metagross": "|clearbody|ironball|adamant|252,68,20,0,168,0|trick|meteormash|earthquake|explosion", + "suicune": "|pressure|leftovers|timid|60,0,0,252,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric", + "tyranitar": "|sandstream|chopleberry|jolly|8,248,0,0,0,252|dragondance|crunch|earthquake|icepunch", + "rotomheat": "|levitate|choicescarf|timid|20,0,0,252,0,236|thunderbolt|shadowball|hiddenpowerice|trick", + "flygon": "|levitate|lifeorb|naive|0,68,0,252,0,188|dracometeor|fireblast|earthquake|roost" + }, + { + "heatran": "|flashfire|focussash|hasty|28,32,0,252,0,196|stealthrock|magmastorm|hiddenpowergrass|explosion", + "metagross": "|clearbody|ironball|adamant|252,68,20,0,168,0|trick|meteormash|earthquake|explosion", + "suicune": "|pressure|leftovers|timid|60,0,0,252,0,196|calmmind|hydropump|icebeam|hiddenpowerelectric", + "tyranitar": "|sandstream|chopleberry|jolly|8,248,0,0,0,252|dragondance|crunch|earthquake|icepunch", + "rotomheat": "|levitate|choicescarf|timid|20,0,0,252,0,236|thunderbolt|shadowball|hiddenpowerice|trick", + "flygon": "|levitate|lifeorb|naive|0,68,0,252,0,188|dracometeor|fireblast|earthquake|roost" + } + ], + "armaldo|scizor|heatran|gyarados|zapdos|latias": [ + { + "armaldo": "|battlearmor|custapberry|adamant|0,252,0,0,4,252|rockblast|stealthrock/swordsdance|rapidspin|xscissor", + "scizor": "|technician|occaberry|adamant|248,252,0,0,0,8|bulletpunch|swordsdance|superpower|pursuit", + "heatran": "|flashfire|shucaberry|timid|0,0,4,252,0,252|fireblast|stealthrock|earthpower|explosion", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|outrage", + "zapdos": "|pressure|choicescarf|modest|0,0,0,252,4,252|thunderbolt|uturn|hiddenpowerice|heatwave", + "latias": "|levitate|lumberry|timid|0,0,0,252,4,252|calmmind|dracometeor|thunderbolt|hiddenpowerground" + }, + { + "armaldo": "|battlearmor|custapberry|adamant|0,252,0,0,4,252|rockblast|stealthrock/swordsdance|rapidspin|xscissor", + "scizor": "|technician|occaberry|adamant|248,252,0,0,0,8|bulletpunch|swordsdance|superpower|pursuit", + "heatran": "|flashfire|shucaberry|timid|0,0,4,252,0,252|fireblast|stealthrock|earthpower|explosion", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|outrage", + "zapdos": "|pressure|choicescarf|modest|0,0,0,252,4,252|thunderbolt|uturn|hiddenpowerice|heatwave", + "latias": "|levitate|lumberry|timid|0,0,0,252,4,252|calmmind|dracometeor|thunderbolt|hiddenpowerground" + } + ], + "dragonite|celebi|heatran|gyarados|scizor|starmie": [ + { + "dragonite": "|innerfocus|habanberry|adamant|0,152,56,0,108,192|dragondance|outrage|earthquake|firepunch", + "celebi": "|naturalcure|colburberry|modest|0,0,4,252,0,252|nastyplot|leafstorm|earthpower|hiddenpowerice", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|stealthrock|explosion", + "gyarados": "|intimidate|leftovers|adamant|152,176,36,0,0,144|dragondance|icefang|waterfall|earthquake", + "scizor": "|technician|choicescarf|jolly|12,252,0,0,0,244|uturn|pursuit|superpower|ironhead", + "starmie": "|naturalcure|lifeorb|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|recover" + }, + { + "dragonite": "|innerfocus|habanberry|adamant|0,152,56,0,108,192|dragondance|outrage|earthquake|firepunch", + "celebi": "|naturalcure|colburberry|modest|0,0,4,252,0,252|nastyplot|leafstorm|earthpower|hiddenpowerice", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|earthpower|stealthrock|explosion", + "gyarados": "|intimidate|leftovers|adamant|152,176,36,0,0,144|dragondance|icefang|waterfall|earthquake", + "scizor": "|technician|choicescarf|jolly|12,252,0,0,0,244|uturn|pursuit|superpower|ironhead", + "starmie": "|naturalcure|lifeorb|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|recover" + } + ], + "hippowdon|skarmory|clefable|rotomwash|latias|bronzong": [ + { + "hippowdon": "|sandstream|leftovers|careful|252,4,0,0,252,0|stealthrock|slackoff|earthquake|icefang", + "skarmory": "|keeneye|leftovers|impish|252,0,252,0,4,0|spikes|whirlwind|roost|bravebird", + "clefable": "|magicguard|leftovers|calm|252,0,4,0,252,0|wish|protect|seismictoss|knockoff", + "rotomwash": "|levitate|leftovers|bold|252,0,252,4,0,0|rest|sleeptalk|thunderbolt|willowisp", + "latias": "|levitate|leftovers|timid|252,0,200,0,0,56|calmmind|dragonpulse|roar|recover", + "bronzong": "|levitate|leftovers|sassy|252,0,128,0,128,0|protect|toxic|gyroball|earthquake" + } + ], + "azelf|gyarados|zapdos|metagross|tyranitar|jirachi": [ + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "zapdos": "|pressure|lifeorb|modest|0,0,0,252,4,252|thunderbolt|heatwave|hiddenpowergrass|ominouswind", + "metagross": "|clearbody|ironball|adamant|248,136,20,0,76,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|shucaberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|modest|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerground" + }, + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "zapdos": "|pressure|lifeorb|modest|0,0,0,252,4,252|agility|thunderbolt|heatwave|hiddenpowergrass", + "metagross": "|clearbody|ironball|adamant|248,136,20,0,76,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|shucaberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|modest|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerground" + }, + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "zapdos": "|pressure|lifeorb|modest|0,0,0,252,4,252|agility|thunderbolt|heatwave|hiddenpowergrass", + "metagross": "|clearbody|ironball|adamant|248,136,20,0,76,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|shucaberry|jolly|0,252,0,0,4,252|dragondance|stoneedge|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|modest|0,0,0,252,4,252|calmmind|psychic|grassknot|hiddenpowerground" + } + ], + "azelf|gallade|feraligatr|gyarados|cresselia|metagross": [ + { + "azelf": "|levitate|lightclay|timid|40,0,248,0,4,216|stealthrock|taunt|reflect|lightscreen", + "gallade": "|steadfast|lumberry|jolly|0,252,16,0,0,240|swordsdance|closecombat|icepunch|shadowsneak", + "feraligatr": "|torrent|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|icepunch|earthquake", + "gyarados": "|intimidate|leftovers|adamant|32,244,8,0,0,224|dragondance|waterfall|earthquake|icefang", + "cresselia": "|levitate|lightclay|timid|252,0,60,0,0,196|reflect|lightscreen|lunardance|thunderwave", + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|zenheadbutt" + } + ], + "dragonite|gengar|bronzong|metagross|magnezone|tyranitar": [ + { + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "bronzong": "|levitate|custapberry|relaxed|248,156,8,0,96,0|stealthrock|earthquake|gyroball|explosion", + "metagross": "|clearbody|occaberry|adamant|64,252,0,0,0,192|agility|meteormash|earthquake|explosion", + "magnezone": "|magnetpull|chopleberry|modest|100,0,0,252,0,156|thunderwave|thunderbolt|hiddenpowergrass|explosion", + "tyranitar": "|sandstream|lumberry|jolly|80,176,0,0,0,252|dragondance|earthquake|icepunch|crunch" + }, + { + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "bronzong": "|levitate|custapberry|relaxed|248,156,8,0,96,0|stealthrock|earthquake|gyroball|explosion", + "metagross": "|clearbody|occaberry|adamant|64,252,0,0,0,192|agility|meteormash|earthquake|explosion", + "magnezone": "|magnetpull|chopleberry|modest|100,0,0,252,0,156|thunderwave|thunderbolt|hiddenpowergrass|explosion", + "tyranitar": "|sandstream|lumberry|jolly|80,176,0,0,0,252|dragondance|earthquake|icepunch|crunch" + }, + { + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|sleeptalk|explosion|shadowball|focusblast", + "bronzong": "|levitate|custapberry|relaxed|248,156,8,0,96,0|stealthrock|earthquake|gyroball|explosion", + "metagross": "|clearbody|occaberry|adamant|64,252,0,0,0,192|agility|meteormash|earthquake|explosion", + "magnezone": "|magnetpull|chopleberry|modest|100,0,0,252,0,156|thunderwave|thunderbolt|hiddenpowergrass|explosion", + "tyranitar": "|sandstream|lumberry|jolly|80,176,0,0,0,252|dragondance|earthquake|icepunch|crunch" + } + ], + "tyranitar|empoleon|roserade|infernape|scizor|rotomwash": [ + { + "tyranitar": "|sandstream|custapberry|adamant|48,144,0,0,236,80|crunch|pursuit|earthquake|stealthrock", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|hydropump|grassknot|icebeam|agility", + "roserade": "|poisonpoint|focussash|timid|0,0,0,252,4,252|energyball|sleeptalk|spikes|hiddenpowerfire", + "infernape": "|blaze|choiceband|jolly|0,252,0,0,4,252|closecombat|flareblitz|machpunch|uturn", + "scizor": "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|bugbite", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|trick|hydropump" + }, + { + "tyranitar": "|sandstream|custapberry|adamant|48,144,0,0,236,80|crunch|pursuit|earthquake|stealthrock", + "empoleon": "|torrent|shucaberry|modest|0,0,0,252,4,252|hydropump|grassknot|icebeam|agility", + "roserade": "|poisonpoint|focussash|timid|0,0,0,252,4,252|energyball|sleeptalk|spikes|hiddenpowerfire", + "infernape": "|blaze|choiceband|jolly|0,252,0,0,4,252|closecombat|flareblitz|machpunch|uturn", + "scizor": "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|bugbite", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|trick|hydropump" + } + ], + "metagross|heatran|gengar|flygon|starmie": [ + { + "metagross": "|clearbody|ironball|adamant|248,136,0,0,96,28|stealthrock|meteormash|earthquake|trick", + "heatran": "|flashfire|leftovers|modest|32,0,0,100,156,220|magmastorm|earthpower|hiddenpowergrass|explosion", + "gengar": "|levitate|blacksludge|hasty|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion", + "flygon": "|levitate|choicescarf|adamant|0,216,40,0,0,252|outrage|earthquake|uturn|thunderpunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|grassknot|recover" + } + ], + "bronzong|dragonite|mamoswine|magnezone|flygon|kingdra": [ + { + "bronzong": "|heatproof|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|earthquake|explosion", + "dragonite": "|innerfocus|choiceband|adamant|48,252,0,0,0,208|outrage|dragonclaw|extremespeed|earthquake", + "mamoswine": "|oblivious|lifeorb|jolly|0,252,4,0,0,252|iceshard|earthquake|stoneedge|superpower", + "magnezone": "|magnetpull|leftovers|modest|140,0,0,252,0,116|thunderbolt|thunderwave|substitute|hiddenpowerfire", + "flygon": "|levitate|choicescarf|adamant|0,252,6,0,0,252|outrage|earthquake|stoneedge|uturn", + "kingdra": "|swiftswim|chestoberry|adamant|144,160,0,0,40,164|dragondance|waterfall|outrage|rest" + }, + { + "bronzong": "|heatproof|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|earthquake|explosion", + "dragonite": "|innerfocus|choiceband|adamant|48,252,0,0,0,208|outrage|dragonclaw|extremespeed|earthquake", + "mamoswine": "|oblivious|lifeorb|jolly|0,252,4,0,0,252|iceshard|earthquake|stoneedge|superpower", + "magnezone": "|magnetpull|leftovers|modest|140,0,0,252,0,116|thunderbolt|thunderwave|substitute|hiddenpowerfire", + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|outrage|earthquake|stoneedge|uturn", + "kingdra": "|swiftswim|chestoberry|adamant|144,160,0,0,40,164|dragondance|waterfall|outrage|rest" + } + ], + "gyarados": [ + { + "gyarados": "|intimidate|leftovers|adamant|0,252,0,0,4,252|dragondance|earthquake|waterfall|icefang" + } + ], + "jirachi|skarmory|latias|clefable|quagsire": [ + { + "jirachi": "|serenegrace|leftovers|jolly|180,180,0,0,0,148|ironhead|firepunch|bodyslam|protect", + "skarmory": "|keeneye|shedshell|impish|248,0,244,0,0,16|bravebird|roost|spikes|whirlwind", + "latias": "|levitate|leftovers|bold|252,0,160,0,0,96|icebeam|earthquake|thunderwave|recover", + "clefable": "|magicguard|leftovers|calm|252,0,56,0,200,0|seismictoss|thunderwave|softboiled|knockoff", + "quagsire": "|waterabsorb|leftovers|impish|252,0,100,0,156,0|earthquake|encore|recover|toxic" + } + ], + "swampert|magnezone|tyranitar|bronzong|latias|starmie": [ + { + "swampert": "|torrent|rindoberry|adamant|252,136,0,0,0,120|stealthrock|waterfall|earthquake|icepunch", + "magnezone": "|magnetpull|leftovers|naive|0,36,0,252,0,220|thunderbolt|hiddenpowerfire|explosion|magnetrise", + "tyranitar": "|sandstream|choiceband|adamant|224,240,0,0,32,12|crunch|pursuit|stoneedge|superpower", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "latias": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|sleeptalk", + "starmie": "|naturalcure|colburberry|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin" + } + ], + "suicune|metagross|heatran|rotomwash|flygon": [ + { + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|surf|icebeam|calmmind|hiddenpowerelectric", + "metagross": "|clearbody|choicescarf|jolly|0,252,0,0,4,252|meteormash|earthquake|trick|explosion", + "heatran": "|flashfire|custapberry|modest|252,0,0,116,0,140|stealthrock|lavaplume|earthpower|explosion", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|hiddenpowerice", + "flygon": "|levitate|lifeorb|hasty|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost" + } + ], + "gliscor|bronzong|tyranitar|starmie|metagross|rotomheat": [ + { + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|uturn|earthquake|stealthrock", + "bronzong": "|levitate|choiceband|brave|252,252,0,0,4,0|earthquake|gyroball|explosion|trick", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "starmie": "|naturalcure|leftovers|timid|0,0,4,252,0,252|rapidspin|surf|icebeam|thunderbolt", + "metagross": "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|earthquake|icepunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpowerice" + }, + { + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|uturn|earthquake|stealthrock", + "bronzong": "|levitate|choiceband|brave|252,252,0,0,4,0|earthquake|gyroball|explosion|trick", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "starmie": "|naturalcure|leftovers|timid|0,0,4,252,0,252|rapidspin|surf|icebeam|thunderbolt", + "metagross": "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|earthquake|icepunch", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|hiddenpoweric" + } + ], + "mamoswine|scizor|abomasnow|magnezone|roserade|flygon": [ + { + "mamoswine": "|oblivious|focussash|adamant|0,252,0,0,4,252|stealthrock|earthquake|iceshard|endeavor", + "scizor": "|technician|lumberry|adamant|64,252,0,0,0,192|swordsdance|bulletpunch|superpower|nightslash", + "abomasnow": "|snowwarning|leftovers|adamant|32,252,0,0,0,224|swordsdance|seedbomb|iceshard|earthquake", + "magnezone": "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "roserade": "|naturalcure|choicescarf|modest|0,0,0,252,4,252|sleeppowder|toxicspikes|leafstorm|sludgebomb", + "flygon": "|levitate|choiceband|adamant|0,252,0,0,4,252|outrage|dragonclaw|uturn|earthquake" + } + ], + "gyarados|metagross|latias|tyranitar|starmie|suicune": [ + { + "gyarados": "|intimidate|choiceband|adamant|72,252,0,0,0,184|waterfall|payback|stoneedge|earthquake", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|trick|explosion", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "tyranitar": "|sandstream|chopleberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|superpower", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "suicune": "|pressure|leftovers|bold|200,0,252,0,0,56|surf|calmmind|rest|sleeptalk" + } + ], + "clefable|jirachi|empoleon|latias|breloom|gliscor": [ + { + "clefable": "|magicguard|leftovers|calm|252,0,4,0,252,0|stealthrock|thunderwave|softboiled|seismictoss", + "jirachi": "|serenegrace|leftovers|impish|252,0,252,0,4,0|bodyslam|ironhead|wish|protect", + "empoleon": "|torrent|leftovers|adamant|248,252,0,0,0,8|swordsdance|waterfall|drillpeck|aquajet", + "latias": "|levitate|leftovers|bold|248,0,160,0,0,100|icebeam|thunderwave|recover|reflect", + "breloom": "|poisonheal|toxicorb|adamant|252,252,0,0,4,0|facade|swordsdance|superpower|seedbomb", + "gliscor": "|hypercutter|liechiberry|adamant|184,252,0,0,0,72|icefang|earthquake|substitute|swordsdance" + }, + { + "clefable": "|magicguard|leftovers|calm|252,0,4,0,252,0|stealthrock|thunderwave|softboiled|seismictoss", + "jirachi": "|serenegrace|leftovers|impish|252,0,252,0,4,0|bodyslam|ironhead|wish|protect", + "empoleon": "|torrent|leftovers|adamant|248,252,0,0,0,8|swordsdance|waterfall|drillpeck|aquajet", + "latias": "|levitate|leftovers|bold|248,0,160,0,0,100|icebeam|thunderwave|recover|reflect", + "breloom": "|poisonheal|toxicorb|adamant|252,252,0,0,4,0|facade|swordsdance|superpower|seedbomb", + "gliscor": "|hypercutter|liechiberry|adamant|184,252,0,0,0,72|icefang|earthquake|substitute|swordsdance" + } + ], + "jirachi|camerupt|quagsire|umbreon|forretress|muk": [ + { + "jirachi": "|serenegrace|leftovers|impish|252,0,208,0,32,16|bodyslam|uturn|wish|protect", + "camerupt": "|solidrock|leftovers|modest|252,0,0,76,0,180|stealthrock|lavaplume|earthpower|hiddenpowergrass", + "quagsire": "|waterabsorb|leftovers|impish|252,0,216,0,40,0|earthquake|icepunch|haze|recover", + "umbreon": "|synchronize|leftovers|careful|252,0,4,0,252,0|payback|wish|protect|healbell", + "forretress": "|sturdy|leftovers|adamant|252,88,0,0,168,0|spikes|payback|earthquake|rapidspin", + "muk": "|stickyhold|blacksludge|impish|252,0,252,0,4,0|curse|brickbreak|icepunch|rest" + } + ], + "azelf|abomasnow|jirachi|umbreon|hitmontop|latias": [ + { + "azelf": "|levitate|focussash|jolly|0,252,0,0,0,252|taunt|stealthrock|uturn|explosion", + "abomasnow": "|snowwarning|choicescarf|modest|0,0,0,252,4,252|blizzard|energyball|waterpulse|focusblast", + "jirachi": "|serenegrace|choicescarf|jolly|36,156,56,0,8,252|uturn|ironhead|firepunch|healingwish", + "umbreon": "|synchronize|leftovers|careful|216,0,76,0,180,36|wish|protect|yawn|healbell", + "hitmontop": "|intimidate|lumberry|jolly|236,20,0,0,0,252|rapidspin|closecombat|thief|suckerpunch", + "latias": "|levitate|leftovers|bold|96,0,232,0,0,180|wish|protect|hiddenpowerfighting|thunderwave" + } + ], + "azelf|dragonite|breloom|gyarados|tyranitar|heatran": [ + { + "azelf": "|levitate|colburberry|jolly|248,0,0,0,44,216|taunt|explosion|stealthrock|uturn", + "dragonite": "|innerfocus|lifeorb|rash|24,136,0,252,0,96|dracometeor|fireblast|superpower|extremespeed", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "gyarados": "|intimidate|leftovers|adamant|156,72,84,0,0,196|dragondance|waterfall|bounce|taunt", + "tyranitar": "|sandstream|choiceband|adamant|16,232,0,0,128,132|superpower|crunch|stoneedge|pursuit", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + }, + { + "azelf": "|levitate|colburberry|jolly|248,0,0,0,44,216|taunt|explosion|stealthrock|uturn", + "dragonite": "|innerfocus|lifeorb|rash|24,136,0,252,0,96|dracometeor|fireblast|superpower|extremespeed", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "gyarados": "|intimidate|leftovers|adamant|156,72,84,0,0,196|dragondance|waterfall|bounce|taunt", + "tyranitar": "|sandstream|choiceband|adamant|16,232,0,0,128,132|superpower|crunch|stoneedge|pursuit", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + } + ], + "uxie|kingdra|tyranitar|bronzong|ludicolo|jirachi": [ + { + "uxie": "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|uturn|thunderwave", + "kingdra": "|swiftswim|choicespecs|modest|0,0,4,252,0,252|surf|hydropump|dracometeor|icebeam", + "tyranitar": "|sandstream|custapberry|adamant|0,232,0,0,176,100|crunch|pursuit|earthquake|raindance", + "bronzong": "|levitate|damprock|relaxed|252,0,48,0,208,0|raindance|earthquake|gyroball|explosion", + "ludicolo": "|swiftswim|lifeorb|modest|0,0,0,252,0,252,4|hydropump|surf|icebeam|grassknot", + "jirachi": "|serenegrace|leftovers|timid|252,0,72,0,0,184|substitute|calmmind|thunder|psychic" + } + ], + "empoleon|donphan|gengar|tyranitar|latias|metagross": [ + { + "empoleon": "|torrent|choicespecs|modest|0,0,44,248,0,216|hydropump|icebeam|grassknot|surf", + "donphan": "|sturdy|leftovers|impish|252,0,240,0,16,0|stealthrock|earthquake|rapidspin|headsmash", + "gengar": "|levitate|lumberry|timid|104,0,16,192,0,196|shadowball|focusblast|taunt|willowisp", + "tyranitar": "|sandstream|choiceband|adamant|44,252,0,0,0,212|stoneedge|crunch|pursuit|superpower", + "latias": "|levitate|lumberry|timid|60,0,52,220,0,176|dracometeor|hiddenpowerground|thunderbolt|calmmind", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|trick" + } + ], + "gengar|roserade|tentacruel|crobat|skuntank": [ + { + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|substitute|painsplit", + "roserade": "|naturalcure|choicescarf|timid|8,0,0,252,4,244|leafstorm|sludgebomb|energyball|hiddenpowerfire", + "tentacruel": "|liquidooze|blacksludge|timid|96,0,26,252,0,136|hydropump|icebeam|toxicspikes|rapidspin", + "crobat": "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|uturn|pursuit|crosspoison", + "skuntank": "|aftermath|blackglasses|adamant|48,252,0,0,178,32|suckerpunch|pursuit|crunch|explosion" + } + ], + "infernape|starmie|gengar|flygon|bronzong|empoleon": [ + { + "infernape": "|blaze|focussash|naive|0,64,0,252,0,192|uturn|stealthrock|fireblast|closecombat", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|explosion|shadowball|focusblast|thunderbolt", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "empoleon": "|torrent|choicespecs|modest|252,0,0,252,0,4|hydropump|icebeam|grassknot|sleeptalk" + } + ], + "gliscor|latias|magnezone|swampert|jirachi|milotic": [ + { + "gliscor": "|hypercutter|leftovers|impish|252,0,36,0,0,220|stealthrock|earthquake|icefang|roost", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "magnezone": "|magnetpull|leftovers|modest|32,0,8,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "swampert": "|torrent|leftovers|adamant|252,252,0,0,0,4|substitute|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|leftovers|impish|240,0,160,0,88,20|wish|protect|bodyslam|ironhead", + "milotic": "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|haze|recover" + }, + { + "gliscor": "|hypercutter|leftovers|impish|252,0,36,0,0,220|stealthrock|earthquake|icefang|roost", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "magnezone": "|magnetpull|leftovers|modest|32,0,8,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "swampert": "|torrent|leftovers|adamant|252,252,0,0,0,4|substitute|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|leftovers|impish|240,0,160,0,88,20|wish|protect|bodyslam|ironhead", + "milotic": "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|haze|recover" + } + ], + "jirachi|flygon|milotic|gliscor|clefable|magnezone": [ + { + "jirachi": "|serenegrace|leftovers|impish|252,0,196,0,60,0|ironhead|bodyslam|wish|protect", + "flygon": "|levitate|choicescarf|jolly|0,244,12,0,0,252|uturn|earthquake|outrage|toxic", + "milotic": "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|recover|haze", + "gliscor": "|hypercutter|leftovers|impish|252,0,40,0,0,216|taunt|earthquake|wingattack|roost", + "clefable": "|magicguard|leftovers|calm|252,0,16,0,240,0|stealthrock|seismictoss|knockoff|softboiled", + "magnezone": "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|magnetrise|protect" + }, + { + "jirachi": "|serenegrace|leftovers|impish|252,0,196,0,60,0|ironhead|bodyslam|wish|protect", + "flygon": "|levitate|choicescarf|jolly|0,244,12,0,0,252|uturn|earthquake|outrage|toxic", + "milotic": "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|recover|haze", + "gliscor": "|hypercutter|leftovers|impish|252,0,40,0,0,216|taunt|earthquake|wingattack|roost", + "clefable": "|magicguard|leftovers|calm|252,0,16,0,240,0|stealthrock|seismictoss|knockoff|softboiled", + "magnezone": "|magnetpull|leftovers|modest|32,0,4,252,0,220|thunderbolt|hiddenpowerfire|magnetrise|protect" + } + ], + "swampert|latias|jirachi|heatran|suicune|rotomwash": [ + { + "swampert": "|torrent|leftovers|adamant|200,252,0,0,0,56|icepunch|earthquake|waterfall|stealthrock", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|thunderbolt|healingwish|trick|dracometeor", + "jirachi": "|serenegrace|leftovers|timid|40,0,0,252,0,216|thunderbolt|psychic|healingwish|calmmind", + "heatran": "|flashfire|leftovers|modest|40,0,0,252,0,216|dragonpulse|magmastorm|taunt|substitute", + "suicune": "|pressure|leftovers|modest|252,0,0,96,0,160|icebeam|hydropump/surf|substitute|calmmind", + "rotomwash": "|levitate|colburberry|modest|8,0,0,252,0,248|thunderbolt|hydropump|raindance|thunderwave" + } + ], + "swampert|latias|jirachi|metagross|tyranitar|gengar": [ + { + "swampert": "|torrent|leftovers|modest|0,0,36,252,0,220|stealthrock|hydropump|earthpower|icebeam", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|lumberry|hasty|0,40,0,252,0,216|thunder|ironhead|psychic|firepunch", + "metagross": "|clearbody|ironball|adamant|236,84,8,0,152,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|lumberry|hasty|0,0,0,152,104,252|crunch|fireblast|superpower|toxic", + "gengar": "|levitate|blacksludge|naive|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion" + }, + { + "swampert": "|torrent|leftovers|modest|0,0,36,252,0,220|stealthrock|hydropump|earthpower|icebeam", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|lumberry|hasty|0,40,0,252,0,216|thunder|ironhead|psychic|firepunch", + "metagross": "|clearbody|ironball|adamant|236,84,8,0,152,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|lumberry|hasty|0,0,0,152,104,252|crunch|fireblast|superpower|toxic", + "gengar": "|levitate|blacksludge|naive|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion" + }, + { + "swampert": "|torrent|leftovers|modest|0,0,36,252,0,220|stealthrock|hydropump|earthpower|icebeam", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|lumberry|hasty|0,40,0,252,0,216|thunder|ironhead|psychic|firepunch", + "metagross": "|clearbody|ironball|adamant|236,84,8,0,152,28|meteormash|earthquake|trick|explosion", + "tyranitar": "|sandstream|lumberry|hasty|0,0,0,152,104,252|crunch|fireblast|superpower|toxic", + "gengar": "|levitate|blacksludge|naive|0,4,0,252,0,252|shadowball|focusblast|willowisp|explosion" + } + ], + "jirachi|zapdos|breloom|starmie|swampert|tyranitar": [ + { + "jirachi": "|serenegrace|leftovers|jolly|252,32,44,0,4,176|protect|ironhead|bodyslam|firepunch", + "zapdos": "|pressure|leftovers|bold|248,0,228,0,32,0|discharge|hiddenpowergrass|heatwave|roost", + "breloom": "|poisonheal|toxicorb|impish|112,0,220,0,0,176|spore|swordsdance|superpower|seedbomb", + "starmie": "|naturalcure|leftovers|timid|252,0,0,40,0,216|hydropump|psychic|rapidspin|recover", + "swampert": "|torrent|leftovers|modest|160,0,0,252,0,96|hydropump|stealthrock|earthpower|icebeam", + "tyranitar": "|sandstream|expertbelt|lonely|48,36,0,168,4,252|fireblast|hiddenpowergrass|superpower|crunch" + } + ], + "latias|bronzong|rotomwash|magnezone|mamoswine": [ + { + "latias": "|levitate|choicespecs|modest|4,0,196,252,0,56|dracometeor|sleeptalk|surf|dragonpulse", + "bronzong": "|levitate|occaberry|brave|252,148,0,0,108,0|gyroball|earthquake|explosion|stealthrock", + "rotomwash": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|painsplit|shadowball|trick", + "magnezone": "|magnetpull|leftovers|modest|92,0,100,96,0,220|thunderbolt|thunderwave|metalsound|hiddenpowergrass", + "mamoswine": "|oblivious|leftovers|adamant|176,96,4,0,0,232|icefang|earthquake|substitute|iceshard" + } + ], + "crobat|magnezone|dragonite|flygon|starmie|metagross": [ + { + "crobat": "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|sleeptalk|pursuit|uturn", + "magnezone": "|magnetpull|custapberry|naive|0,40,0,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "metagross": "|clearbody|occaberry|adamant|220,252,0,0,0,36|explosion|meteormash|earthquake|stealthrock" + }, + { + "crobat": "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|sleeptalk|pursuit|uturn", + "magnezone": "|magnetpull|custapberry|naive|0,40,0,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "metagross": "|clearbody|occaberry|adamant|220,252,0,0,0,36|explosion|meteormash|earthquake|stealthrock" + }, + { + "crobat": "|innerfocus|choiceband|jolly|0,252,0,0,4,252|bravebird|sleeptalk|pursuit|uturn", + "magnezone": "|magnetpull|custapberry|naive|0,40,0,252,0,216|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "metagross": "|clearbody|occaberry|adamant|220,252,0,0,0,36|explosion|meteormash|earthquake|stealthrock" + } + ], + "empoleon|hippowdon|breloom|clefable|latias|magneton": [ + { + "empoleon": "|torrent|leftovers|calm|248,0,56,0,192,12|surf|icebeam|roar|protect", + "hippowdon": "|sandstream|leftovers|impish|240,0,92,0,176,0|earthquake|icefang|stealthrock|slackoff", + "breloom": "|poisonheal|toxicorb|impish|236,0,216,0,24,32|skyuppercut|spore|protect|leechseed", + "clefable": "|magicguard|leftovers|careful|252,0,80,0,172,4|seismictoss|knockoff|encore|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave" + }, + { + "empoleon": "|torrent|leftovers|calm|248,0,56,0,192,12|surf|icebeam|roar|protect", + "hippowdon": "|sandstream|leftovers|impish|240,0,92,0,176,0|earthquake|icefang|stealthrock|slackoff", + "breloom": "|poisonheal|toxicorb|impish|236,0,216,0,24,32|skyuppercut|spore|protect|leechseed", + "clefable": "|magicguard|leftovers|careful|252,0,80,0,172,4|seismictoss|knockoff|encore|softboiled", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave" + } + ], + "bronzong|gengar|tyranitar|kingdra|flygon|lucario": [ + { + "bronzong": "|heatproof|lumberry|brave|248,252,4,0,4,0|stealthrock|gyroball|earthquake|explosion", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|explosion|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,44,212|stoneedge|crunch|pursuit|superpower", + "kingdra": "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|dracometeor|surf|dragonpulse", + "flygon": "|levitate|choicescarf|jolly|4,252,0,0,0,252|uturn|outrage|earthquake|thunderpunch", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|swordsdance|bulletpunch|extremespeed" + }, + { + "bronzong": "|heatproof|lumberry|brave|248,252,4,0,4,0|stealthrock|gyroball|earthquake|explosion", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|explosion|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,44,212|stoneedge|crunch|pursuit|superpower", + "kingdra": "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|dracometeor|surf|dragonpulse", + "flygon": "|levitate|choicescarf|jolly|4,252,0,0,0,252|uturn|outrage|earthquake|thunderpunch", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|swordsdance|bulletpunch|extremespeed" + }, + { + "bronzong": "|heatproof|lumberry|brave|248,252,4,0,4,0|stealthrock|gyroball|earthquake|explosion", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|explosion|hiddenpowerfire", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,44,212|stoneedge|crunch|pursuit|superpower", + "kingdra": "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|dracometeor|surf|dragonpulse", + "flygon": "|levitate|choicescarf|jolly|4,252,0,0,0,252|uturn|outrage|earthquake|thunderpunch", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|swordsdance|bulletpunch|extremespeed" + } + ], + "heatran|jirachi|tyranitar|suicune|flygon": [ + { + "heatran": "|flashfire|widelens|modest|0,0,4,252,0,252|magmastorm|hiddenpowergrass|earthpower|explosion", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|custapberry|lonely|48,108,0,84,116,152|crunch|fireblast|pursuit|stealthrock", + "suicune": "|pressure|leftovers|timid|28,0,0,252,0,228|calmmind|hydropump|hiddenpowerelectric|icebeam", + "flygon": "|levitate|choicescarf|jolly|0,224,32,0,0,252|earthquake|outrage|uturn|thunderpunch" + }, + { + "heatran": "|flashfire|widelens|modest|0,0,4,252,0,252|magmastorm|hiddenpowergrass|earthpower|explosion", + "jirachi": "|serenegrace|leftovers|timid|0,0,0,252,4,252|calmmind|psychic|thunderbolt|hiddenpowerground", + "tyranitar": "|sandstream|custapberry|lonely|48,108,0,84,116,152|crunch|fireblast|pursuit|stealthrock", + "suicune": "|pressure|leftovers|timid|28,0,0,252,0,228|calmmind|hydropump|hiddenpowerelectric|icebeam", + "flygon": "|levitate|choicescarf|jolly|0,224,32,0,0,252|earthquake|outrage|uturn|thunderpunch" + } + ], + "hippowdon|quagsire|flygon|mamoswine|nidoqueen|gliscor": [ + { + "hippowdon": "|sandstream|leftovers|adamant|244,252,4,0,4,4|earthquake|slackoff|stealthrock|icefang", + "quagsire": "|waterabsorb|leftovers|careful|252,4,0,0,252,0|recover|earthquake|icepunch|curse", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|uturn|firepunch", + "mamoswine": "|oblivious|choiceband|adamant|0,252,0,0,4,252|earthquake|iceshard|stoneedge|superpower", + "nidoqueen": "|poisonpoint|choicespecs|modest|200,0,0,252,8,50|sludgebomb|icebeam|earthpower|flamethrower", + "gliscor": "|hypercutter|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|aerialace|icefang" + } + ], + "flygon|scizor|breloom|heatran|starmie|tyranitar": [ + { + "flygon": "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|stoneedge", + "scizor": "|technician|choiceband|adamant|224,252,0,0,0,32|uturn|superpower|quickattack|bulletpunch", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "heatran": "|flashfire|passhoberry|timid|44,0,0,212,0,252|fireblast|earthpower|hiddenpowerelectric|stealthrock", + "starmie": "|naturalcure|leftovers|timid|4,0,0,252,0,252|surf|thunderbolt|icebeam|rapidspin", + "tyranitar": "|sandstream|shucaberry|jolly|0,252,4,0,0,252|dragondance|stoneedge|icepunch|earthquake" + }, + { + "flygon": "|levitate|choicescarf|adamant|0,252,0,0,4,252|outrage|earthquake|uturn|stoneedge", + "scizor": "|technician|choiceband|adamant|224,252,0,0,0,32|uturn|superpower|quickattack|bulletpunch", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,0,52|spore|machpunch|seedbomb|superpower", + "heatran": "|flashfire|passhoberry|timid|44,0,0,212,0,252|fireblast|earthpower|hiddenpowerelectric|stealthrock", + "starmie": "|naturalcure|leftovers|timid|4,0,0,252,0,252|surf|thunderbolt|icebeam|rapidspin", + "tyranitar": "|sandstream|shucaberry|jolly|0,252,4,0,0,252|dragondance|stoneedge|icepunch|earthquake" + } + ], + "tyranitar|nidoqueen|skarmory|heatran|milotic|gliscor": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|pursuit|crunch|stoneedge|superpower", + "nidoqueen": "|poisonpoint|blacksludge|relaxed|252,0,252,0,4,0|protect|toxicspikes|icebeam|earthquake", + "skarmory": "|sturdy|leftovers|impish|252,0,180,0,0,76|bravebird|spikes|whirlwind|roost", + "heatran": "|flashfire|leftovers|calm|240,0,0,0,208,60|substitute|protect|torment|lavaplume", + "milotic": "|marvelscale|leftovers|bold|252,0,252,0,4,0|surf|icebeam|hiddenpowerelectric|recover", + "gliscor": "|hypercutter|leftovers|jolly|252,0,36,0,0,220|stealthrock|roost|icefang|earthquake" + }, + { + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|pursuit|crunch|stoneedge|superpower", + "nidoqueen": "|poisonpoint|blacksludge|relaxed|252,0,252,0,4,0|protect|toxicspikes|icebeam|earthquake", + "skarmory": "|sturdy|leftovers|impish|252,0,180,0,0,76|bravebird|spikes|whirlwind|roost", + "heatran": "|flashfire|leftovers|calm|240,0,0,0,208,60|substitute|protect|torment|lavaplume", + "milotic": "|marvelscale|leftovers|bold|252,0,252,0,4,0|surf|icebeam|hiddenpowerelectric|recover", + "gliscor": "|hypercutter|leftovers|jolly|252,0,36,0,0,220|stealthrock|roost|icefang|earthquake" + } + ], + "jirachi|camerupt|heatran|breloom|latias|tyranitar": [ + { + "jirachi": "|serenegrace|leftovers|hasty|16,252,0,64,0,176|ironhead|firepunch|thunder|stealthrock", + "camerupt": "|solidrock|passhoberry|quiet|252,40,68,52,96,0|explosion|earthquake|fireblast|toxic", + "heatran": "|flashfire|choicescarf|timid|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice", + "breloom": "|poisonheal|toxicorb|adamant|236,148,48,0,76,0|spore|seedbomb|superpower|machpunch", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "tyranitar": "|sandstream|shucaberry|brave|248,152,0,64,44,0|crunch|pursuit|fireblast|icebeam" + }, + { + "jirachi": "|serenegrace|leftovers|hasty|16,252,0,64,0,176|ironhead|firepunch|thunder|stealthrock", + "camerupt": "|solidrock|passhoberry|quiet|252,40,68,52,96,0|explosion|earthquake|fireblast|toxic", + "heatran": "|flashfire|choicescarf|timid|0,0,0,252,4,252|fireblast|earthpower|explosion|hiddenpowerice", + "breloom": "|poisonheal|toxicorb|adamant|236,148,48,0,76,0|spore|seedbomb|superpower|machpunch", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish", + "tyranitar": "|sandstream|shucaberry|brave|248,152,0,64,44,0|crunch|pursuit|fireblast|icebeam" + } + ], + "suicune|tyranitar|scizor": [ + { + "suicune": "|pressure|leftovers|modest|28,0,0,252,0,228|calmmind|surf|icebeam|hiddenpowergrass", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,4,0,0,252|dragondance|crunch|earthquake|firepunch", + "scizor": "|technician|lifeorb|adamant|72,252,8,0,0,176|swordsdance|pursuit|superpower|bulletpunch" + } + ], + "hippowdon|skarmory|clefable|starmie|gliscor|jirachi": [ + { + "hippowdon": "|sandstream|leftovers|careful|248,0,8,0,252,0|stealthrock|earthquake|slackoff|roar", + "skarmory": "|keeneye|shedshell|impish|248,0,216,0,0,44|taunt|spikes|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,4,0,252,0|seismictoss|knockoff|stealthrock|softboiled", + "starmie": "|naturalcure|leftovers|bold|248,0,204,0,0,56|hydropump|psychic|recover|rapidspin", + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|earthquake|icefang|roost", + "jirachi": "|serenegrace|leftovers|careful|252,36,44,0,176,0|wish|protect|ironhead|bodyslam" + }, + { + "hippowdon": "|sandstream|leftovers|careful|248,0,8,0,252,0|stealthrock|earthquake|slackoff|roar", + "skarmory": "|keeneye|leftovers|impish|248,0,216,0,0,44|taunt|spikes|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,4,0,252,0|seismictoss|knockoff|stealthrock|softboiled", + "starmie": "|naturalcure|leftovers|bold|248,0,204,0,0,56|hydropump|psychic|recover|rapidspin", + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|earthquake|icefang|roost", + "jirachi": "|serenegrace|leftovers|careful|252,36,44,0,176,0|wish|protect|ironhead|bodyslam" + }, + { + "hippowdon": "|sandstream|leftovers|careful|248,0,8,0,252,0|stealthrock|earthquake|slackoff|roar", + "skarmory": "|keeneye|leftovers|impish|248,0,216,0,0,44|taunt|spikes|roost|whirlwind", + "clefable": "|magicguard|leftovers|careful|252,0,4,0,252,0|seismictoss|knockoff|stealthrock|softboiled", + "starmie": "|naturalcure|leftovers|bold|248,0,204,0,0,56|hydropump|psychic|recover|rapidspin", + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|taunt|earthquake|icefang|roost", + "jirachi": "|serenegrace|leftovers|careful|252,36,44,0,176,0|wish|protect|ironhead|bodyslam" + } + ], + "dragonite|lucario|heatran|rotomwash|gengar": [ + { + "dragonite": "|innerfocus|lifeorb|rash|0,4,0,252,0,252|extremespeed|dracometeor|fireblast|superpower", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|extremespeed|closecombat|stoneedge|swordsdance", + "heatran": "|flashfire|passhoberry|modest|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "rotomwash": "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick", + "gengar": "|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|focusblast|hypnosis|trick" + }, + { + "dragonite": "|innerfocus|lifeorb|rash|0,4,0,252,0,252|extremespeed|dracometeor|fireblast|superpower", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|extremespeed|closecombat|stoneedge|swordsdance", + "heatran": "|flashfire|passhoberry|modest|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "rotomwash": "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick", + "gengar": "|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|focusblast|hypnosis|trick" + }, + { + "dragonite": "|innerfocus|lifeorb|rash|0,4,0,252,0,252|extremespeed|dracometeor|fireblast|superpower", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|extremespeed|closecombat|stoneedge|swordsdance", + "heatran": "|flashfire|passhoberry|modest|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "rotomwash": "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick", + "gengar": "|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|focusblast|hypnosis|trick" + }, + { + "dragonite": "|innerfocus|lifeorb|rash|0,4,0,252,0,252|extremespeed|dracometeor|fireblast|superpower", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|extremespeed|closecombat|stoneedge|swordsdance", + "heatran": "|flashfire|passhoberry|modest|0,4,0,252,0,252|fireblast|hiddenpowergrass|explosion|stealthrock", + "rotomwash": "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick", + "gengar": "|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|focusblast|hypnosis|trick" + } + ], + "azelf|jirachi|swampert|roserade|heatran|rotomwash": [ + { + "azelf": "|levitate|choiceband|adamant|0,252,4,0,0,252|uturn|icepunch|sleeptalk|explosion", + "jirachi": "|serenegrace|leftovers|timid|252,0,72,0,8,176|substitute|calmmind|psychic|thunderbolt", + "swampert": "|torrent|leftovers|brave|252,56,12,100,0,88|stealthrock|hydropump|icebeam|earthquake", + "roserade": "|naturalcure|blacksludge|calm|252,0,80,0,176,0|stunspore|spikes|grassknot|hiddenpowerfire", + "heatran": "|flashfire|leftovers|calm|248,0,0,0,248,12|protect|lavaplume|earthpower|roar", + "rotomwash": "|levitate|choicescarf|timid|112,0,0,188,0,208|thunderbolt|shadowball|hiddenpowerice|trick" + } + ], + "breloom|torterra|bronzong|heatran|rotomwash": [ + { + "breloom": "|poisonheal|toxicorb|adamant|12,244,0,0,0,252|seedbomb|focuspunch|spore|machpunch", + "torterra": "|overgrow|occaberry|jolly|0,252,0,0,4,252|woodhammer|rockpolish|earthquake|swordsdance", + "bronzong": "|levitate|ironball|adamant|240,144,0,0,124,0|earthquake|trick|explosion|stealthrock", + "heatran": "|flashfire|lumberry|modest|96,0,0,252,0,160|magmastorm|dragonpulse|earthpower|taunt", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice" + } + ], + "starmie|camerupt|bronzong|tyranitar|dusknoir|dragonite": [ + { + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "camerupt": "|solidrock|leftovers|relaxed|248,56,160,0,44,0|stealthrock|earthquake|lavaplume|explosion", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|earthquake|explosion", + "tyranitar": "|sandstream|choiceband|adamant|232,252,0,0,24,0|stoneedge|crunch|pursuit|aquatail", + "dusknoir": "|pressure|leftovers|brave|252,252,4,0,0,0|earthquake|icepunch|thunderpunch|trickroom", + "dragonite": "|innerfocus|lifeorb|quiet|104,152,0,252,0,0|dracometeor|fireblast|superpower|extremespeed" + } + ], + "skarmory|azelf|rotomwash|suicune|jirachi|scizor": [ + { + "skarmory": "|keeneye|focussash|timid|252,0,4,0,0,252|spikes|stealthrock|taunt|icywind", + "azelf": "|levitate|expertbelt|naive|0,4,0,252,0,252|psychic|flamethrower|grassknot|explosion", + "rotomwash": "|levitate|choicespecs|timid|0,0,0,252,4,252|thunderbolt|shadowball|hydropump|trick", + "suicune": "|pressure|leftovers|modest|24,0,0,252,0,232|calmmind|hydropump|icebeam|hiddenpowerelectric", + "jirachi": "|serenegrace|choicescarf|jolly|120,240,0,0,0,148|ironhead|icepunch|uturn|healingwish", + "scizor": "|swarm|choiceband|adamant|248,252,0,0,4,4|uturn|bulletpunch|pursuit|superpower" + } + ], + "gallade|magnezone|latias|lucario|dragonite|jirachi": [ + { + "gallade": "|steadfast|choicescarf|jolly|76,252,0,0,4,176|trick|closecombat|icepunch|psychocut", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|thunderwave|healingwish", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|icepunch", + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|sleeptalk|earthquake|extremespeed", + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|ironhead|stealthrock|bodyslam|firepunch" + }, + { + "gallade": "|steadfast|choicescarf|jolly|76,252,0,0,4,176|trick|closecombat|icepunch|psychocut", + "magnezone": "|magnetpull|chopleberry|modest|32,0,4,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|thunderwave|healingwish", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|icepunch", + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|sleeptalk|earthquake|extremespeed", + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|ironhead|stealthrock|bodyslam|firepunch" + } + ], + "gyarados|metagross|feraligatr|gliscor|lucario|tyranitar": [ + { + "gyarados": "|intimidate|choiceband|adamant|44,252,0,0,0,212|waterfall|earthquake|icefang|payback", + "metagross": "|clearbody|leftovers|adamant|232,200,0,0,56,20|stealthrock|meteormash|thunderpunch|explosion", + "feraligatr": "|torrent|lumberry|adamant|20,252,0,0,0,236|swordsdance|waterfall|aquajet|return", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "lucario": "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|icepunch|thunderpunch|copycat", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|stoneedge|crunch|pursuit|thunderwave" + }, + { + "gyarados": "|intimidate|choiceband|adamant|44,252,0,0,0,212|waterfall|earthquake|icefang|payback", + "metagross": "|clearbody|leftovers|adamant|232,200,0,0,56,20|stealthrock|meteormash|thunderpunch|explosion", + "feraligatr": "|torrent|lumberry|adamant|20,252,0,0,0,236|swordsdance|waterfall|aquajet|return", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "lucario": "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|icepunch|thunderpunch|copycat", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|stoneedge|crunch|pursuit|thunderwave" + }, + { + "gyarados": "|intimidate|choiceband|adamant|44,252,0,0,0,212|waterfall|earthquake|icefang|payback", + "metagross": "|clearbody|leftovers|adamant|232,200,0,0,56,20|stealthrock|meteormash|thunderpunch|explosion", + "feraligatr": "|torrent|lumberry|adamant|20,252,0,0,0,236|swordsdance|waterfall|aquajet|return", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "lucario": "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|icepunch|thunderpunch|copycat", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|stoneedge|crunch|pursuit|thunderwave" + } + ], + "tyranitar|gengar|flygon|suicune|heatran": [ + { + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "gengar": "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|focusblast|substitute|painsplit", + "flygon": "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage", + "suicune": "|pressure|leftovers|modest|32,0,0,248,0,228|calmmind|hydropump|icebeam|hiddenpowerelectric", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + }, + { + "tyranitar": "|sandstream|passhoberry|lonely|48,104,0,40,68,248|stealthrock|crunch|fireblast|superpower", + "gengar": "|levitate|lifeorb|timid|0,0,4,252,0,252|shadowball|focusblast|substitute|painsplit", + "flygon": "|levitate|lifeorb|naive|0,52,0,204,0,252|dracometeor|fireblast|earthquake|outrage", + "suicune": "|pressure|leftovers|modest|32,0,0,248,0,228|calmmind|hydropump|icebeam|hiddenpowerelectric", + "heatran": "|flashfire|choicescarf|hasty|0,0,0,252,4,252|fireblast|hiddenpowerice|earthpower|explosion" + } + ], + "smeargle|gyarados|dragonite|lucario|tyranitar|scizor": [ + { + "smeargle": "|owntempo|choicescarf|jolly|16,0,0,0,224,252|spore|stealthrock|trick|uturn", + "gyarados": "|intimidate|wacanberry|adamant|0,252,0,0,4,252|stoneedge|dragondance|outrage|waterfall", + "dragonite": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|firepunch|extremespeed|outrage|dragondance", + "lucario": "|innerfocus|shucaberry|adamant|0,252,0,0,4,252|closecombat|extremespeed|icepunch|swordsdance", + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|firepunch|earthquake|crunch|dragondance", + "scizor": "|technician|occaberry|adamant|248,252,0,0,0,8|superpower|bulletpunch|bugbite|swordsdance" + } + ], + "gyarados|jirachi|rotomwash": [ + { + "gyarados": "|intimidate|leftovers|adamant|152,60,100,0,0,196|dragondance|waterfall|substitute|taunt", + "jirachi": "|serenegrace|lumberry|jolly|112,144,0,0,0,252|thunderwave|ironhead|firepunch|icepunch", + "rotomwash": "|levitate|choicescarf|timid|64,0,0,252,4,188|thunderbolt|shadowball|hiddenpowerice|trick" + } + ], + "jirachi|celebi|milotic|gliscor|tyranitar|gengar": [ + { + "jirachi": "|serenegrace|leftovers|jolly|80,252,0,0,0,176|uturn|bodyslam|ironhead|firepunch", + "celebi": "|naturalcure|leftovers|modest|12,0,0,252,0,244|stealthrock|leafstorm|hiddenpowerfire|recover", + "milotic": "|marvelscale|leftovers|timid|248,0,0,8,0,252|hydropump|icebeam|recover|haze", + "gliscor": "|hypercutter|leftovers|jolly|252,0,36,0,0,220|taunt|earthquake|icefang|roost", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|crunch|pursuit|stoneedge|superpower", + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|substitute|painsplit|shadowball|focusblast" + } + ], + "azelf|lucario|tyranitar|gyarados|metagross|magnezone": [ + { + "azelf": "|levitate|sitrusberry|jolly|228,0,216,0,8,56|thunderwave|stealthrock|taunt|explosion", + "lucario": "|innerfocus|choicescarf|adamant|0,252,0,0,4,252|closecombat|copycat|icepunch|thunderpunch", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|icepunch|crunch|earthquake", + "gyarados": "|intimidate|wacanberry|adamant|0,252,0,0,4,252|waterfall|earthquake|icefang|dragondance", + "metagross": "|clearbody|lumberry|adamant|0,252,0,0,4,252|meteormash|earthquake|explosion|rockpolish", + "magnezone": "|magnetpull|leftovers|naive|32,0,0,252,0,224|magnetrise|explosion|thunderbolt|hiddenpowerfire" + } + ], + "azelf|gliscor|tyranitar|gyarados|dragonite|empoleon": [ + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|taunt|thunderwave|explosion", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|earthquake|crunch|icepunch", + "gyarados": "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "dragonite": "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|extremespeed", + "empoleon": "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|substitute|hydropump|icebeam" + }, + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|stealthrock|taunt|thunderwave|explosion", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|earthquake|crunch|icepunch", + "gyarados": "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "dragonite": "|innerfocus|lifeorb|mild|0,56,0,252,0,200|dracometeor|fireblast|superpower|extremespeed", + "empoleon": "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|substitute|hydropump|icebeam" + } + ], + "honchkrow|magnezone|jirachi|starmie|breloom|gliscor": [ + { + "honchkrow": "|superluck|choicescarf|jolly|0,252,4,0,0,252|bravebird|superpower|nightslash|pursuit", + "magnezone": "|magnetpull|leftovers|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|magnetrise|substitute", + "jirachi": "|serenegrace|leftovers|careful|252,0,80,0,176,0|bodyslam|ironhead|stealthrock|uturn", + "starmie": "|naturalcure|colburberry|timid|252,0,4,0,0,252|surf|thunderwave|rapidspin|recover", + "breloom": "|poisonheal|toxicorb|impish|252,0,96,0,160,0|forcepalm|leechseed|bulkup|protect", + "gliscor": "|hypercutter|leftovers|impish|252,0,16,0,0,240|earthquake|icefang|swordsdance|roost" + } + ], + "gliscor|rotomwash|tyranitar|skarmory|clefable|latias": [ + { + "gliscor": "|hypercutter|leftovers|jolly|248,0,44,0,0,216|stealthrock|taunt|earthquake|uturn", + "rotomwash": "|levitate|choicespecs|timid|8,0,0,252,0,248|thunderbolt|shadowball|hydropump|trick", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,4,0,0,252|crunch|pursuit|stoneedge|earthquake", + "skarmory": "|keeneye|leftovers|impish|248,0,216,0,0,44|drillpeck|spikes|roost|whirlwind", + "clefable": "|magicguard|leftovers|calm|252,0,188,0,68,0|calmmind|thunderbolt|icebeam|softboiled", + "latias": "|levitate|leftovers|timid|168,0,0,96,0,244|dragonpulse|hiddenpowerfire|roar|roost" + } + ], + "swampert|tyranitar|jirachi|roserade|rotomwash|latias": [ + { + "swampert": "|torrent|choiceband|adamant|0,252,4,0,0,252|waterfall|earthquake|stoneedge|icepunch", + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stealthrock", + "jirachi": "|serenegrace|expertbelt|hasty|0,4,0,252,0,252|ironhead|hiddenpowerground|icywind|grassknot", + "roserade": "|naturalcure|leftovers|calm|248,0,0,0,144,116|spikes|grassknot|hiddenpowerfire|stunspore", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|sleeptalk" + } + ], + "celebi|infernape|starmie|latias|heatran|mamoswine": [ + { + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,220,36|uturn|stealthrock|leafstorm|reflect", + "infernape": "|blaze|lifeorb|hasty|0,4,0,252,0,252|closecombat|overheat|uturn|grassknot", + "starmie": "|illuminate|lifeorb|timid|0,0,0,252,4,252|rapidspin|surf|icebeam|thunderbolt", + "latias": "|levitate|leftovers|timid|136,0,0,120,0,252|calmmind|dracometeor|surf|hiddenpowerfire", + "heatran": "|flashfire|leftovers|modest|252,0,0,252,4,0|dragonpulse|flamethrower|willowisp|flashcannon", + "mamoswine": "|oblivious|salacberry|adamant|0,252,0,0,4,252|earthquake|substitute|stoneedge|iceshard" + } + ], + "zapdos|heatran|metagross|blissey|starmie|breloom": [ + { + "zapdos": "|pressure|leftovers|bold|248,0,248,0,12,0|discharge|heatwave|hiddenpowerice|roost", + "heatran": "|flashfire|choicescarf|naive|0,4,0,252,0,252|fireblast|earthpower|hiddenpowerice|explosion", + "metagross": "|clearbody|leftovers|adamant|252,68,20,0,168,0|meteormash|earthquake|explosion|protect", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,4,0|stealthrock|seismictoss|softboiled|flamethrower", + "starmie": "|naturalcure|leftovers|timid|248,0,44,0,0,216|surf|psychic|recover|rapidspin", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,20,32|spore|superpower|seedbomb|machpunch" + }, + { + "zapdos": "|pressure|leftovers|bold|248,0,248,0,12,0|discharge|heatwave|hiddenpowerice|roost", + "heatran": "|flashfire|choicescarf|naive|0,4,0,252,0,252|fireblast|earthpower|hiddenpowerice|explosion", + "metagross": "|clearbody|leftovers|adamant|252,68,20,0,168,0|meteormash|earthquake|explosion|protect", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,4,0|stealthrock|seismictoss|softboiled|flamethrower", + "starmie": "|naturalcure|leftovers|timid|248,0,44,0,0,216|surf|psychic|recover|rapidspin", + "breloom": "|poisonheal|toxicorb|adamant|204,252,0,0,20,32|spore|superpower|seedbomb|machpunch" + } + ], + "azelf|starmie|scizor|infernape|dragonite|magneton": [ + { + "azelf": "|levitate|focussash|naive|0,4,0,252,0,252|flamethrower|stealthrock|taunt|explosion", + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|surf|icebeam|trick|rapidspin", + "scizor": "|technician|lifeorb|adamant|192,252,0,0,0,64|bulletpunch|superpower|pursuit|swordsdance", + "infernape": "|blaze|leftovers|naive|0,252,0,56,0,200|machpunch|overheat|closecombat|uturn", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|extremespeed|outrage|earthquake|dragondance", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave" + }, + { + "azelf": "|levitate|focussash|naive|0,4,0,252,0,252|flamethrower|stealthrock|taunt|explosion", + "starmie": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|surf|icebeam|trick|rapidspin", + "scizor": "|technician|lifeorb|adamant|192,252,0,0,0,64|bulletpunch|superpower|pursuit|swordsdance", + "infernape": "|blaze|leftovers|naive|0,252,0,56,0,200|machpunch|overheat|closecombat|uturn", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|extremespeed|outrage|earthquake|dragondance", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave" + } + ], + "zapdos|heatran|latias|suicune|metagross|flygon": [ + { + "zapdos": "|pressure|magnet|timid|112,0,0,144,0,252|uturn|thunderbolt|hiddenpowerice|roost", + "heatran": "|flashfire|passhoberry|modest|240,0,0,140,0,128|stealthrock|fireblast|hiddenpowergrass|explosion", + "latias": "|levitate|expertbelt|timid|0,0,4,252,0,252|dracometeor|surf|grassknot|hiddenpowerfire", + "suicune": "|pressure|leftovers|timid|40,0,0,252,0,216|calmmind|hydropump|icebeam|rest", + "metagross": "|clearbody|lumberry|adamant|0,252,0,0,4,252|agility|meteormash|earthquake|explosion", + "flygon": "|levitate|choicescarf|adamant|0,216,40,0,0,252|uturn|outrage|earthquake|thunderpunch" + } + ], + "infernape|gyarados|tyranitar|jirachi|dragonite|rotomwash": [ + { + "infernape": "|blaze|focussash|naive|0,0,0,252,0,252|stealthrock|endeavor|vacuumwave|overheat", + "gyarados": "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|stoneedge", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|uturn|trick|firepunch", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,4,0,0,252|dragondance|outrage|extremespeed|earthquake", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|shadowball|trick" + }, + { + "infernape": "|blaze|focussash|naive|0,0,0,252,0,252|stealthrock|endeavor|vacuumwave|overheat", + "gyarados": "|intimidate|wacanberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|stoneedge", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|uturn|trick|firepunch", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,4,0,0,252|dragondance|outrage|extremespeed|earthquake", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hydropump|shadowball|trick" + } + ], + "azelf|suicune|dragonite|cresselia|scizor|latias": [ + { + "azelf": "|levitate|colburberry|jolly|8,104,0,0,144,252|stealthrock|taunt|lightscreen|explosion", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|hiddenpowerelectric|icebeam", + "dragonite": "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|earthquake|extremespeed", + "cresselia": "|levitate|lightclay|bold|252,0,148,0,40,68|reflect|lightscreen|lunardance|thunderwave", + "scizor": "|technician|lifeorb|adamant|32,252,0,0,0,224|swordsdance|bulletpunch|bugbite|superpower", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish" + } + ], + "azelf|kingdra|bronzong|qwilfish|jirachi|suicune": [ + { + "azelf": "|levitate|damprock|jolly|252,0,188,0,0,68|raindance|explosion|stealthrock|taunt", + "kingdra": "|swiftswim|choicespecs|modest|0,0,0,252,4,252|hydropump|surf|dracometeor|dragonpulse", + "bronzong": "|levitate|damprock|sassy|248,0,92,0,168,0|raindance|hypnosis|gyroball|explosion", + "qwilfish": "|swiftswim|lifeorb|adamant|8,252,16,0,0,232|swordsdance|waterfall|thunderwave|explosion", + "jirachi": "|serenegrace|leftovers|relaxed|252,0,204,0,52,0|ironhead|thunder|raindance|healingwish", + "suicune": "|pressure|leftovers|timid|252,0,0,60,0,196|calmmind|surf|icebeam|substitute" + } + ], + "gyarados|infernape|empoleon|scizor|latias|rotomwash": [ + { + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|outrage", + "infernape": "|blaze|passhoberry|hasty|0,144,0,168,0,196|nastyplot|flamethrower|closecombat|grassknot", + "empoleon": "|torrent|shucaberry|modest|232,0,0,208,56,12|stealthrock|hydropump|icebeam|grassknot", + "scizor": "|technician|choiceband|adamant|248,252,0,0,0,8|uturn|bulletpunch|superpower|pursuit", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|trick|sleeptalk", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerice|shadowball|trick" + }, + { + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|outrage", + "infernape": "|blaze|passhoberry|hasty|0,144,0,168,0,196|nastyplot|flamethrower|closecombat|grassknot", + "empoleon": "|torrent|shucaberry|modest|232,0,0,208,56,12|stealthrock|hydropump|icebeam|grassknot", + "scizor": "|technician|choiceband|adamant|248,252,0,0,0,8|uturn|bulletpunch|superpower|pursuit", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|trick|sleeptalk", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerice|shadowball|trick" + } + ], + "roserade|swampert|jirachi|tyranitar|latias|rotomwash": [ + { + "roserade": "|naturalcure|blacksludge|timid|252,0,72,0,0,184|spikes|grassknot|hiddenpowerice|toxicspikes", + "swampert": "|torrent|leftovers|adamant|240,176,52,0,24,16|stealthrock|earthquake|waterfall|icepunch", + "jirachi": "|serenegrace|shucaberry|naive|0,4,0,252,0,252|ironhead|psychic|hiddenpowerground|thunder", + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stoneedge", + "latias": "|levitate|choicespecs|modest|8,0,76,252,0,172|dracometeor|surf|thunderbolt|sleeptalk", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hydropump" + } + ], + "gliscor|tyranitar|metagross|latias|jirachi": [ + { + "gliscor": "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|passhoberry|lonely|48,136,0,52,184,88|crunch|fireblast|superpower|stealthrock", + "metagross": "|clearbody|ironball|adamant|248,68,20,0,168,4|trick|meteormash|earthquake|explosion", + "latias": "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "jirachi": "|serenegrace|leftovers|timid|252,0,0,72,0,184|calmmind|thunderbolt|psychic|substitute" + }, + { + "gliscor": "|hypercutter|leftovers|jolly|0,252,0,0,4,252|swordsdance|earthquake|icefang|thunderfang", + "tyranitar": "|sandstream|passhoberry|lonely|48,136,0,52,184,88|crunch|fireblast|superpower|stealthrock", + "metagross": "|clearbody|ironball|adamant|248,68,20,0,168,4|trick|meteormash|earthquake|explosion", + "latias": "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|dragonpulse|surf|sleeptalk", + "jirachi": "|serenegrace|leftovers|timid|252,0,0,72,0,184|calmmind|thunderbolt|psychic|substitute" + } + ], + "uxie|magneton|donphan|jirachi|machamp|gyarados": [ + { + "uxie": "|levitate|choicescarf|impish|252,0,104,0,0,152|trick|stealthrock|uturn|thunderwave", + "magneton": "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerice|thunderwave|explosion", + "donphan": "|sturdy|leftovers|impish|248,0,216,0,44,0|rapidspin|earthquake|odorsleuth|knockoff", + "jirachi": "|serenegrace|leftovers|jolly|252,0,76,0,0,180|ironhead|firepunch|bodyslam|refresh", + "machamp": "|noguard|leftovers|adamant|64,252,0,0,48,144|substitute|dynamicpunch|payback|icepunch", + "gyarados": "|intimidate|leftovers|adamant|88,208,8,0,8,196|substitute|thunderwave|waterfall|dragondance" + } + ], + "infernape|breloom|heracross|lucario|gallade|poliwrath": [ + { + "infernape": "|blaze|focussash|hasty|0,4,0,252,0,252|stealthrock|closecombat|overheat|taunt", + "breloom": "|poisonheal|toxicorb|adamant|0,252,6,0,0,252|spore|substitute|focuspunch|stoneedge", + "heracross": "|guts|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|stoneedge|nightslash", + "lucario": "|steadfast|choicespecs|timid|0,0,0,252,4,252|aurasphere|shadowball|vacuumwave|hiddenpowerice", + "gallade": "|steadfast|lifeorb|jolly|0,252,4,0,0,252|closecombat|zenheadbutt|swordsdance|shadowsneak", + "poliwrath": "|waterabsorb|choicespecs|modest|232,0,0,252,8,16|focusblast|surf|icebeam|vacuumwave" + } + ], + "heatran|tangrowth|donphan|clefable|jirachi|latias": [ + { + "heatran": "|flashfire|choicespecs|modest|40,0,0,252,0,216|overheat|earthpower|dragonpulse|flamethrower", + "tangrowth": "|leafguard|leftovers|quiet|252,0,152,104,0,0|sleeppowder|gigadrain|earthquake|hiddenpowerfire", + "donphan": "|sturdy|leftovers|impish|252,44,212,0,0,0|rapidspin|earthquake|assurance|iceshard", + "clefable": "|magicguard|leftovers|careful|252,0,80,0,176,0|encore|knockoff|seismictoss|softboiled", + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,224,32|stealthrock|ironhead|thunderwave|firepunch", + "latias": "|levitate|leftovers|bold|252,0,152,0,0,104|icebeam|earthquake|grassknot|recover" + } + ], + "machamp|infernape|metagross|gengar|latias|tyranitar": [ + { + "machamp": "|noguard|lumberry|adamant|196,252,0,0,0,60|dynamicpunch|payback|bulletpunch|stoneedge", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|overheat|closecombat|slackoff|machpunch", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|80,0,0,176,0,252|shadowball|focusblast|willowisp|explosion", + "latias": "|levitate|choicescarf|timid|96,0,0,160,0,252|dracometeor|thunderbolt|trick|healingwish", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + }, + { + "machamp": "|noguard|lumberry|adamant|196,252,0,0,0,60|dynamicpunch|payback|bulletpunch|stoneedge", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|overheat|closecombat|slackoff|machpunch", + "metagross": "|clearbody|leftovers|adamant|252,76,12,0,168,0|stealthrock|meteormash|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|80,0,0,176,0,252|shadowball|focusblast|willowisp|explosion", + "latias": "|levitate|choicescarf|timid|96,0,0,160,0,252|dracometeor|thunderbolt|trick|healingwish", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + } + ], + "zapdos|tyranitar|infernape|jirachi|starmie|heatran": [ + { + "zapdos": "|pressure|choicespecs|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerice|heatwave|uturn", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|slackoff", + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "heatran": "|flashfire|shucaberry|naive|0,4,0,252,0,252|stealthrock|fireblast|earthpower|explosion" + }, + { + "zapdos": "|pressure|choicespecs|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerice|heatwave|uturn", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|slackoff", + "jirachi": "|serenegrace|leftovers|jolly|164,168,0,0,0,176|substitute|bodyslam|ironhead|firepunch", + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "heatran": "|flashfire|shucaberry|naive|0,4,0,252,0,252|stealthrock|fireblast|earthpower|explosion" + } + ], + "flygon|tyranitar|breloom|rotomheat|gliscor|empoleon": [ + { + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|uturn|earthquake|outrage|toxic", + "tyranitar": "|sandstream|passhoberry|lonely|248,76,0,92,0,92|pursuit|crunch|stealthrock|fireblast", + "breloom": "|poisonheal|toxicorb|adamant|12,244,0,0,0,252|spore|superpower|seedbomb|machpunch", + "rotomheat": "|levitate|leftovers|timid|88,0,8,160,0,252|substitute|willowisp|thunderbolt|shadowball", + "gliscor": "|hypercutter|leftovers|adamant|40,252,0,0,0,216|swordsdance|earthquake|icefang|roost", + "empoleon": "|torrent|mysticwater|adamant|0,252,4,0,0,252|swordsdance|waterfall|aquajet|drillpeck" + }, + { + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|uturn|earthquake|outrage|toxic", + "tyranitar": "|sandstream|passhoberry|lonely|248,76,0,92,0,92|pursuit|crunch|stealthrock|fireblast", + "breloom": "|poisonheal|toxicorb|adamant|12,244,0,0,0,252|spore|superpower|seedbomb|machpunch", + "rotomheat": "|levitate|leftovers|timid|88,0,8,160,0,252|substitute|willowisp|thunderbolt|shadowball", + "gliscor": "|hypercutter|leftovers|adamant|40,252,0,0,0,216|swordsdance|earthquake|icefang|roost", + "empoleon": "|torrent|mysticwater|adamant|0,252,4,0,0,252|swordsdance|waterfall|aquajet|drillpeck" + } + ], + "uxie|zapdos|blastoise|gastrodon|bronzong|kabutops": [ + { + "uxie": "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|yawn|uturn", + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|uturn|sleeptalk|thunder", + "blastoise": "|torrent|choicescarf|timid|0,0,0,252,4,252|waterspout|surf|icebeam|rapidspin", + "gastrodon": "|stickyhold|leftovers|careful|252,0,16,0,240,0|curse|waterfall|earthquake|recover", + "bronzong": "|levitate|damprock|relaxed|252,0,200,0,56,0|raindance|hypnosis|explosion|gyroball", + "kabutops": "|swiftswim|lifeorb|adamant|52,252,0,0,0,204|swordsdance|stoneedge|waterfall|superpower" + }, + { + "uxie": "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|yawn|uturn", + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|uturn|sleeptalk|thunder", + "blastoise": "|torrent|choicescarf|timid|0,0,0,252,4,252|waterspout|surf|icebeam|rapidspin", + "gastrodon": "|stickyhold|leftovers|careful|252,0,16,0,240,0|curse|waterfall|earthquake|recover", + "bronzong": "|levitate|damprock|relaxed|252,0,200,0,56,0|raindance|hypnosis|explosion|gyroball", + "kabutops": "|swiftswim|lifeorb|adamant|52,252,0,0,0,204|swordsdance|stoneedge|waterfall|superpower" + }, + { + "uxie": "|levitate|damprock|relaxed|252,0,252,0,4,0|raindance|stealthrock|yawn|uturn", + "zapdos": "|pressure|choicespecs|timid|4,0,0,252,0,252|thunderbolt|uturn|sleeptalk|thunder", + "blastoise": "|torrent|choicescarf|timid|0,0,0,252,4,252|waterspout|surf|icebeam|rapidspin", + "gastrodon": "|stickyhold|leftovers|careful|252,0,16,0,240,0|curse|waterfall|earthquake|recover", + "bronzong": "|levitate|damprock|relaxed|252,0,200,0,56,0|raindance|hypnosis|explosion|gyroball", + "kabutops": "|swiftswim|lifeorb|adamant|52,252,0,0,0,204|swordsdance|stoneedge|waterfall|superpower" + } + ], + "starmie|tyranitar|dragonite|jirachi|metagross|rotomwash": [ + { + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "tyranitar": "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake", + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|extremespeed|outrage|earthquake|sleeptalk", + "jirachi": "|serenegrace|expertbelt|hasty|0,4,0,252,0,252|ironhead|hiddenpowerground|icywind|grassknot", + "metagross": "|clearbody|lumberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|thunderpunch", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|trick|hiddenpowerice" + } + ], + "hitmontop|skarmory|blissey|abomasnow": [ + { + "hitmontop": "|intimidate|leftovers|impish|252,4,252,0,0,0|rapidspin|foresight|closecombat|stoneedge", + "skarmory": "|keeneye|leftovers|impish|252,0,252,0,4,0|stealthrock|spikes|roost|whirlwind", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,4,0|wish|protect|seismictoss|healbell", + "abomasnow": "|snowwarning|leftovers|careful|252,4,0,0,252,0|substitute|leechseed|protect|iceshard" + } + ], + "jirachi|rotomheat|tyranitar|kingdra|breloom|empoleon": [ + { + "jirachi": "|serenegrace|occaberry|timid|80,0,0,252,0,176|stealthrock|psychic|thunderbolt|hiddenpowerground", + "rotomheat": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|shadowball|overheat|trick", + "tyranitar": "|sandstream|choiceband|adamant|176,252,0,0,0,80|crunch|pursuit|stoneedge|superpower", + "kingdra": "|swiftswim|mysticwater|modest|92,0,0,252,0,164|raindance|hydropump|dracometeor|hiddenpowerelectric", + "breloom": "|poisonheal|toxicorb|adamant|236,176,16,0,4,76|spore|machpunch|seedbomb|superpower", + "empoleon": "|torrent|shucaberry|modest|88,0,0,252,0,168|hydropump|icebeam|grassknot|agility" + } + ], + "breloom|infernape|starmie|bronzong|gengar|tyranitar": [ + { + "breloom": "|effectspore|choicescarf|jolly|0,228,0,0,28,252|spore|superpower|machpunch|stoneedge", + "infernape": "|blaze|shucaberry|naive|0,144,8,164,0,192|nastyplot|fireblast|closecombat|grassknot", + "starmie": "|naturalcure|colburberry|timid|0,0,84,208,0,216|hydropump|thunderbolt|grassknot|rapidspin", + "bronzong": "|levitate|lumberry|sassy|252,96,0,0,160,0|stealthrock|gyroball|earthquake|explosion", + "gengar": "|levitate|blacksludge|timid|104,0,16,188,0,200|shadowball|focusblast|taunt|willowisp", + "tyranitar": "|sandstream|chopleberry|lonely|72,124,0,168,0,144|pursuit|superpower|fireblast|crunch" + } + ], + "zapdos|hippowdon|breloom|tentacruel|blissey|jirachi": [ + { + "zapdos": "|pressure|leftovers|bold|248,0,204,0,24,32|discharge|hiddenpowergrass|uturn|roost", + "hippowdon": "|sandstream|leftovers|careful|240,0,8,0,252,8|stealthrock|earthquake|icefang|slackoff", + "breloom": "|poisonheal|toxicorb|impish|112,0,188,0,32,176|spore|swordsdance|superpower|seedbomb", + "tentacruel": "|liquidooze|blacksludge|timid|208,0,64,60,80,96|hydropump|icebeam|knockoff|rapidspin", + "blissey": "|naturalcure|leftovers|bold|252,0,252,4,0,0|wish|softboiled|thunderbolt|icebeam", + "jirachi": "|serenegrace|leftovers|impish|240,0,176,0,60,32|wish|protect|ironhead|uturn" + } + ], + "starmie|flygon|bronzong|gengar|tyranitar|metagross": [ + { + "starmie": "|naturalcure|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|gravity", + "flygon": "|levitate|lifeorb|naive|0,164,0,128,0,216|dracometeor|earthquake|fireblast|outrage", + "bronzong": "|levitate|custapberry|careful|252,248,0,0,8,0|stealthrock|gravity|earthquake|explosion", + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|hypnosis|taunt|shadowball|focusblast", + "tyranitar": "|sandstream|choiceband|adamant|168,252,0,0,0,88|stoneedge|crunch|pursuit|earthquake", + "metagross": "|clearbody|leftovers|adamant|196,176,0,0,0,136|meteormash|earthquake|explosion|gravity" + } + ], + "vaporeon|bronzong|tyranitar|gyarados|breloom|rotomwash": [ + { + "vaporeon": "|waterabsorb|choicespecs|modest|4,0,0,252,0,252|hydropump|hiddenpowerelectric|icebeam|batonpass", + "bronzong": "|levitate|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|payback|explosion", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "gyarados": "|intimidate|leftovers|adamant|60,252,0,0,0,196|dragondance|waterfall|icefang|earthquake", + "breloom": "|poisonheal|toxicorb|adamant|108,132,80,0,0,188|spore|superpower|seedbomb|machpunch", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|willowisp|thunderbolt|shadowball" + }, + { + "vaporeon": "|waterabsorb|choicespecs|modest|4,0,0,252,0,252|hydropump|hiddenpowerelectric|icebeam|batonpass", + "bronzong": "|levitate|lumberry|brave|248,252,0,0,8,0|gyroball|stealthrock|payback|explosion", + "tyranitar": "|sandstream|choiceband|adamant|24,252,0,0,100,132|superpower|crunch|stoneedge|pursuit", + "gyarados": "|intimidate|leftovers|adamant|60,252,0,0,0,196|dragondance|waterfall|icefang|earthquake", + "breloom": "|poisonheal|toxicorb|adamant|108,132,80,0,0,188|spore|superpower|seedbomb|machpunch", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|willowisp|thunderbolt|shadowball" + } + ], + "azelf|suicune|magnezone|tyranitar|infernape|flygon": [ + { + "azelf": "|levitate|colburberry|hasty|8,0,0,140,144,216|stealthrock|fireblast|uturn|explosion", + "suicune": "|pressure|leftovers|timid|4,0,0,252,0,252|calmmind|hydropump|icebeam|hiddenpowerelectric", + "magnezone": "|magnetpull|leftovers|naive|0,36,0,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "tyranitar": "|sandstream|passhoberry|lonely|104,104,0,76,76,148|pursuit|crunch|superpower|fireblast", + "infernape": "|blaze|choicescarf|naive|0,4,0,252,0,252|uturn|closecombat|fireblast|hiddenpowerice", + "flygon": "|levitate|choiceband|jolly|0,252,0,0,4,252|uturn|outrage|earthquake|stoneedge" + }, + { + "azelf": "|levitate|colburberry|hasty|8,0,0,140,144,216|stealthrock|fireblast|uturn|explosion", + "suicune": "|pressure|leftovers|timid|4,0,0,252,0,252|calmmind|hydropump|icebeam|hiddenpowerelectric", + "magnezone": "|magnetpull|leftovers|naive|0,36,0,252,0,220|magnetrise|thunderbolt|hiddenpowerfire|explosion", + "tyranitar": "|sandstream|passhoberry|lonely|104,104,0,76,76,148|pursuit|crunch|superpower|fireblast", + "infernape": "|blaze|choicescarf|naive|0,4,0,252,0,252|uturn|closecombat|fireblast|hiddenpowerice", + "flygon": "|levitate|choiceband|jolly|0,252,0,0,4,252|uturn|outrage|earthquake|stoneedge" + } + ], + "jirachi|abomasnow|raikou|metagross|starmie|latias": [ + { + "jirachi": "|serenegrace|leftovers|jolly|252,0,180,0,0,76|stealthrock|ironhead|firepunch|uturn", + "abomasnow": "|snowwarning|leftovers|adamant|252,252,0,0,4,0|protect|woodhammer|focuspunch|iceshard", + "raikou": "|pressure|leftovers|rash|0,0,4,252,0,252|calmmind|thunderbolt|weatherball|hiddenpowergrass", + "metagross": "|clearbody|shucaberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|icepunch", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "latias": "|levitate|colburberry|timid|0,0,180,76,0,252|dracometeor|surf|roar|recover" + } + ], + "zapdos|swampert|skarmory|latias|raikou|lucario": [ + { + "zapdos": "|pressure|leftovers|calm|248,0,136,0,124,0|discharge|hiddenpowerice|toxic|roost", + "swampert": "|torrent|leftovers|adamant|252,48,112,0,88,8|stealthrock|earthquake|waterfall|icepunch", + "skarmory": "|keeneye|leftovers|calm|252,0,0,0,224,32|spikes|taunt|roost|whirlwind", + "latias": "|levitate|choicespecs|modest|0,0,80,252,0,176|dracometeor|dragonpulse|surf|sleeptalk", + "raikou": "|pressure|chestoberry|timid|4,0,0,252,0,252|calmmind|thunderbolt|hiddenpowerice|rest", + "lucario": "|innerfocus|choicescarf|adamant|0,252,4,0,0,252|closecombat|icepunch|thunderpunch|copycat" + } + ], + "skarmory|zapdos|gliscor|gyarados|dragonite|togekiss": [ + { + "skarmory": "|keeneye|focussash|jolly|0,252,4,0,0,252|stealthrock|spikes|taunt|bravebird", + "zapdos": "|pressure|choicescarf|timid|0,0,0,252,4,252|thunderbolt|uturn|heatwave|hiddenpowerice", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,0,0,4,252|earthquake|thunderfang|swordsdance|icefang", + "gyarados": "|intimidate|wacanberry|adamant|0,252,0,0,4,252|dragondance|waterfall|stoneedge|earthquake", + "dragonite": "|innerfocus|choiceband|adamant|0,252,0,0,4,252|outrage|firepunch|extremespeed|sleeptalk", + "togekiss": "|serenegrace|wacanberry|timid|248,0,0,0,8,252|airslash|thunderwave|nastyplot|roost" + } + ], + "azelf|tyranitar|breloom|jirachi|gyarados|rotomheat": [ + { + "azelf": "|levitate|colburberry|hasty|8,0,0,140,144,216|stealthrock|psychic|fireblast|explosion", + "tyranitar": "|sandstream|passhoberry|lonely|8,188,0,48,152,112|crunch|pursuit|stoneedge|fireblast", + "breloom": "|poisonheal|toxicorb|adamant|248,220,0,0,0,40|spore|superpower|seedbomb|machpunch", + "jirachi": "|serenegrace|leftovers|jolly|252,156,0,0,4,96|ironhead|bodyslam|firepunch|healingwish", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|bounce", + "rotomheat": "|levitate|choicescarf|timid|104,0,0,168,0,236|thunderbolt|shadowball|hiddenpowerice|trick" + } + ], + "roserade|flygon|rotomheat|suicune|clefable|metagross": [ + { + "roserade": "|naturalcure|blacksludge|calm|252,0,120,0,136,0|spikes|energyball|hiddenpowerfire|leechseed", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost", + "rotomheat": "|levitate|leftovers|bold|252,0,208,0,0,48|thunderbolt|shadowball|willowisp|overheat", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|roar|icebeam", + "clefable": "|magicguard|leftovers|calm|252,0,4,0,252,0|softboiled|stealthrock|seismictoss|knockoff", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|explosion" + }, + { + "roserade": "|naturalcure|blacksludge|calm|252,0,120,0,136,0|spikes|energyball|hiddenpowerfire|leechseed", + "flygon": "|levitate|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|roost", + "rotomheat": "|levitate|leftovers|bold|252,0,208,0,0,48|thunderbolt|shadowball|willowisp|overheat", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|roar|icebeam", + "clefable": "|magicguard|leftovers|calm|252,0,4,0,252,0|softboiled|stealthrock|seismictoss|knockoff", + "metagross": "|clearbody|choicescarf|jolly|0,252,4,0,0,252|meteormash|earthquake|thunderpunch|explosion" + } + ], + "moltres|empoleon|latias|breloom|heatran|infernape": [ + { + "moltres": "|pressure|lifeorb|modest|0,0,0,252,4,252|overheat|hiddenpowerground|airslash|uturn", + "empoleon": "|torrent|leftovers|calm|248,0,0,8,252,0|surf|knockoff|stealthrock|roar", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover", + "breloom": "|poisonheal|toxicorb|jolly|0,252,0,0,4,252|superpower|seedbomb|facade|spore", + "heatran": "|flashfire|leftovers|timid|0,0,4,252,0,252|flamethrower|earthpower|explosion|willowisp", + "infernape": "|blaze|choicescarf|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|thunderpunch" + }, + { + "moltres": "|pressure|lifeorb|modest|0,0,0,252,4,252|overheat|hiddenpowerground|airslash|uturn", + "empoleon": "|torrent|leftovers|calm|248,0,0,8,252,0|surf|knockoff|stealthrock|roar", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover", + "breloom": "|poisonheal|toxicorb|jolly|0,252,0,0,4,252|superpower|seedbomb|facade|spore", + "heatran": "|flashfire|leftovers|timid|0,0,4,252,0,252|flamethrower|earthpower|explosion|willowisp", + "infernape": "|blaze|choicescarf|jolly|0,252,0,0,4,252|closecombat|flareblitz|uturn|thunderpunch" + } + ], + "jirachi|lucario": [ + { + "jirachi": "|serenegrace|leftovers|modest|156,0,0,176,0,176|dracometeor|thunder|hiddenpowerground|calmmind", + "lucario": "|innerfocus|choicescarf|adamant|4,252,0,0,0,252|closecombat|icepunch|thunderpunch|copycat" + } + ], + "dragonair|dragonite|latias|kingdra|flygon|altaria": [ + { + "dragonair": "|shedskin|focussash|lonely|0,252,0,240,0,16|outrage|extremespeed|dracometeor|fireblast", + "dragonite": "|innerfocus|choiceband|adamant|72,252,0,0,4,180|outrage|extremespeed|firepunch|earthquake", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "kingdra": "|swiftswim|lifeorb|modest|0,0,0,252,4,252|raindance|dracometeor|surf|dragonpulse", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|earthquake|stoneedge", + "altaria": "|naturalcure|habanberry|adamant|236,252,0,0,0,20|dragondance|outrage|earthquake|roost" + } + ], + "swampert|metagross|magnezone|latias|clefable|breloom": [ + { + "swampert": "|torrent|leftovers|relaxed|248,0,216,0,40,4|stealthrock|protect|earthquake|icebeam", + "metagross": "|clearbody|leftovers|adamant|248,204,0,0,20,36|meteormash|earthquake|toxic|protect", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|thunderwave|flashcannon", + "latias": "|levitate|leftovers|bold|248,0,200,0,0,60|dragonpulse|reflect|recover|toxic", + "clefable": "|magicguard|leftovers|calm|252,0,80,0,172,4|seismictoss|softboiled|knockoff|encore", + "breloom": "|poisonheal|toxicorb|impish|236,0,216,0,24,32|protect|leechseed|seedbomb|forcepalm" + } + ], + "skarmory|latias|suicune|lucario|metagross|rotomwash": [ + { + "skarmory": "|keeneye|focussash|jolly|252,0,0,0,4,252|stealthrock|spikes|taunt|rocktomb", + "latias": "|levitate|lifeorb|timid|0,0,0,252,4,252|calmmind|dracometeor|hiddenpowerground|thunderbolt", + "suicune": "|pressure|leftovers|timid|8,0,52,216,0,232|calmmind|hydropump|icebeam|hiddenpowerelectric", + "lucario": "|steadfast|lifeorb|adamant|0,252,0,0,4,252|agility|closecombat|crunch|icepunch", + "metagross": "|clearbody|ironball|careful|252,0,40,0,216,0|meteormash|earthquake|explosion|trick", + "rotomwash": "|levitate|choicespecs|timid|0,0,4,252,0,252|thunderbolt|shadowball|hydropump|trick" + } + ], + "moltres|skarmory|starmie|clefable|jirachi|donphan": [ + { + "moltres": "|pressure|leftovers|bold|248,0,216,0,20,24|flamethrower|willowisp|hiddenpowerground|roost", + "skarmory": "|keeneye|leftovers|impish|248,0,92,0,136,32|whirlwind|roost|bravebird|spikes", + "starmie": "|naturalcure|leftovers|timid|252,0,0,4,0,252|recover|surf|thunderwave|rapidspin", + "clefable": "|magicguard|stickybarb|calm|252,0,16,0,240,0|trick|softboiled|seismictoss|stealthrock", + "jirachi": "|serenegrace|leftovers|impish|248,0,184,0,44,32|wish|bodyslam|ironhead|protect", + "donphan": "|sturdy|leftovers|impish|252,0,100,0,156,0|earthquake|headsmash|protect|rapidspin" + } + ], + "smeargle|metagross|dragonite|dusknoir|starmie|yanmega": [ + { + "smeargle": "|owntempo|focussash|jolly|0,252,0,0,4,252|spore|stealthrock|spikes|explosion", + "metagross": "|clearbody|ironball|adamant|252,68,20,0,148,20|trick|earthquake|meteormash|explosion", + "dragonite": "|innerfocus|lifeorb|mild|0,48,0,252,0,208|dracometeor|fireblast|superpower|extremespeed", + "dusknoir": "|pressure|custapberry|adamant|252,252,4,0,0,0|shadowsneak|icepunch|thunderpunch|earthquake", + "starmie": "|naturalcure|leftovers|timid|252,0,40,0,0,216|rapidspin|hydropump|thunderbolt|recover", + "yanmega": "|speedboost|lifeorb|modest|0,0,104,252,0,152|protect|bugbuzz|airslash|hiddenpowerground" + } + ], + "tyranitar|jirachi|scizor|rotomheat|swampert": [ + { + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|naive|0,96,0,196,0,216|ironhead|thunder|hiddenpowerground|icepunch", + "scizor": "|technician|lifeorb|jolly|0,252,4,0,0,252|swordsdance|bulletpunch|quickattack|superpower", + "rotomheat": "|levitate|choicescarf|timid|56,0,0,216,0,236|thunderbolt|shadowball|hiddenpowerice|trick", + "swampert": "|torrent|leftovers|modest|240,0,0,252,0,16|stealthrock|hydropump|icebeam|earthpower" + } + ], + "empoleon|breloom|heatran|rotomwash|jirachi|dragonite": [ + { + "empoleon": "|torrent|focussash|modest|4,0,0,252,0,252|hydropump|icebeam|stealthrock|knockoff", + "breloom": "|poisonheal|toxicorb|adamant|252,196,0,0,16,44|seedbomb|focuspunch|machpunch|spore", + "heatran": "|flashfire|shucaberry|timid|144,0,8,104,0,252|fireblast|earthpower|explosion|willowisp", + "rotomwash": "|levitate|choicescarf|timid|0,0,4,252,0,252|thunderbolt|painsplit|shadowball|trick", + "jirachi": "|serenegrace|leftovers|jolly|184,176,0,0,0,148|firepunch|ironhead|bodyslam|hiddenpowerground", + "dragonite": "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "skarmory|latias|tyranitar|jirachi|flygon|gengar": [ + { + "skarmory": "|keeneye|leftovers|bold|248,0,96,0,132,32|spikes|stealthrock|roost|whirlwind", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|thunderbolt|healingwish|trick|dracometeor", + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|crunch|earthquake|taunt|dragondance", + "jirachi": "|serenegrace|salacberry|jolly|32,224,0,0,0,252|ironhead|icepunch|firepunch|substitute", + "flygon": "|levitate|lifeorb|mild|0,4,0,252,0,252|earthquake|fireblast|dracometeor|roost", + "gengar": "|levitate|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|knockoff|willowisp" + } + ], + "starmie|heatran|azelf|scizor|rotomwash|empoleon": [ + { + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|surf|icebeam|thunderwave|rapidspin", + "heatran": "|flashfire|shucaberry|bold|248,0,176,0,48,36|stealthrock|lavaplume|earthpower|explosion", + "azelf": "|levitate|expertbelt|naive|0,4,0,252,0,252|psychic|flamethrower|grassknot|explosion", + "scizor": "|technician|choiceband|adamant|248,252,0,0,4,4|uturn|bulletpunch|superpower|pursuit", + "rotomwash": "|levitate|choicescarf|timid|56,0,0,216,0,236|thunderbolt|shadowball|hydropump|trick", + "empoleon": "|torrent|petayaberry|modest|0,0,0,252,4,252|agility|surf|icebeam|substitute" + } + ], + "azelf|magnezone|mamoswine|gyarados|dragonite|tyranitar": [ + { + "azelf": "|levitate|sitrusberry|jolly|240,0,60,0,68,140|stealthrock|taunt|thunderwave|explosion", + "magnezone": "|magnetpull|shucaberry|timid|0,0,0,252,4,252|thunderbolt|hiddenpowergrass|thunderwave|magnetrise", + "mamoswine": "|oblivious|leftovers|adamant|172,140,0,0,0,196|substitute|knockoff|iceshard|earthquake", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|bounce|thunderwave", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|icepunch|earthquake" + }, + { + "azelf": "|levitate|sitrusberry|jolly|240,0,60,0,68,140|stealthrock|taunt|thunderwave|explosion", + "magnezone": "|magnetpull|shucaberry|timid|0,0,0,252,4,252|thunderbolt|hiddenpowergrass|thunderwave|magnetrise", + "mamoswine": "|oblivious|leftovers|adamant|172,140,0,0,0,196|substitute|knockoff|iceshard|earthquake", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|bounce|thunderwave", + "dragonite": "|innerfocus|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|firepunch", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|icepunch|earthquake" + } + ], + "breloom|rotomwash|tyranitar": [ + { + "breloom": "|poisonheal|toxicorb|adamant|108,252,12,0,0,136|spore|superpower|seedbomb|machpunch", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|shadowball|willowisp", + "tyranitar": "|sandstream|passhoberry|lonely|248,76,0,92,0,92|pursuit|crunch|stealthrock|fireblast" + }, + { + "breloom": "|poisonheal|toxicorb|adamant|108,252,12,0,0,136|spore|superpower|seedbomb|machpunch", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|shadowball|willowisp", + "tyranitar": "|sandstream|passhoberry|lonely|248,76,0,92,0,92|pursuit|crunch|stealthrock|fireblast" + } + ], + "zapdos|breloom|jirachi|swampert|magneton|starmie": [ + { + "zapdos": "|pressure|leftovers|timid|248,0,64,0,0,196|discharge|hiddenpowerice|roost|uturn", + "breloom": "|poisonheal|toxicorb|adamant|12,252,56,0,0,188|superpower|seedbomb|facade|swordsdance", + "jirachi": "|serenegrace|leftovers|impish|252,0,224,0,0,32|wish|protect|ironhead|bodyslam", + "swampert": "|torrent|leftovers|adamant|240,252,0,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "magneton": "|magnetpull|choicescarf|naive|0,4,0,252,0,252|thunderbolt|hiddenpowerice|thunderwave|explosion", + "starmie": "|naturalcure|leftovers|timid|252,0,0,0,4,252|rapidspin|surf|thunderwave|recover" + } + ], + "kabutops|tyranitar|aerodactyl|cradily|regirock|rhyperior": [ + { + "kabutops": "|swiftswim|focussash|adamant|0,252,0,0,4,252|stealthrock|rapidspin|aquajet|stoneedge", + "tyranitar": "|sandstream|choiceband|adamant|248,252,0,0,0,10|stoneedge|crunch|pursuit|superpower", + "aerodactyl": "|pressure|choiceband|jolly|0,252,4,0,0,252|earthquake|icefang|aerialace|stoneedge", + "cradily": "|suctioncups|leftovers|calm|244,0,0,226,40,0|energyball|toxic|recover|earthpower", + "regirock": "|clearbody|leftovers|adamant|248,252,0,0,4,4|rockslide|thunderwave|earthquake|explosion", + "rhyperior": "|solidrock|leftovers|adamant|192,252,0,0,60,4|earthquake|megahorn|substitute|icepunch" + } + ], + "azelf|gyarados|metagross|dragonite|electivire|tyranitar": [ + { + "azelf": "|levitate|focussash|jolly|200,0,56,0,0,252|stealthrock|explosion|taunt|thunderwave", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|agility|meteormash|earthquake|explosion", + "dragonite": "|innerfocus|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "electivire": "|motordrive|leftovers|adamant|0,252,4,0,0,252|meditate|thunderpunch|icepunch|earthquake", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + } + ], + "heatran|infernape|bronzong|tyranitar|gengar|latias": [ + { + "heatran": "|flashfire|focussash|mild|0,24,0,252,0,232|stealthrock|explosion|magmastorm|earthpower", + "infernape": "|blaze|leftovers|jolly|64,252,0,0,0,192|swordsdance|flareblitz/blazekick?|closecombat|machpunch", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|gyroball|earthquake|explosion|trickroom", + "tyranitar": "|sandstream|choiceband|adamant|0,0,0,0,0,0|crunch|pursuit|superpower|stoneedge", + "gengar": "|levitate|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|taunt|willowisp", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|thunderbolt|healingwish|trick|dracometeor" + } + ], + "azelf|infernape|tyranitar|jirachi|flygon|suicune": [ + { + "azelf": "|levitate|choiceband|jolly|0,252,0,0,4,252|zenheadbutt|icepunch|explosion|uturn", + "infernape": "|blaze|lifeorb|naive|0,252,0,64,0,192|closecombat|uturn|stoneedge|overheat", + "tyranitar": "|sandstream|passhoberry|lonely|48,144,0,52,184,80|crunch|fireblast|pursuit|stealthrock", + "jirachi": "|serenegrace|expertbelt|hasty|0,4,0,252,0,252|ironhead|hiddenpowerground|icywind|grassknot", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|uturn|thunderpunch", + "suicune": "|pressure|leftovers|modest|32,0,0,244,0,232|hydropump|icebeam|hiddenpowerelectric|calmmind" + } + ], + "bastiodon||omastar|aerodactyl|armaldo|cradily": [ + { + "bastiodon": "|sturdy|focussash|impish|252,0,80,0,176,0|stealthrock|raindance|thunder|metalburst", + "": "|swiftswim||adamant|0,252,4,0,0,252|swordsdance|waterfall|stoneedge|aquajet", + "omastar": "|swiftswim|damprock|modest|4,0,0,252,0,252|surf|icebeam|hiddenpowergrass|raindance", + "aerodactyl": "|pressure|powerherb|jolly|0,252,4,0,0,252|stealthrock|rockslide|earthquake|skyattack", + "armaldo": "|battlearmor|sitrusberry|adamant|252,56,0,0,200,0|xscissor|stealthrock|rapidspin|knockoff", + "cradily": "|suctioncups|leftovers|careful|252,4,0,0,252,0|curse|rockslide|recover|seedbomb" + } + ], + "celebi|tyranitar|heatran|donphan|milotic|jirachi": [ + { + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|recover|stealthrock|grassknot|uturn", + "tyranitar": "|sandstream|choiceband|adamant|244,252,0,0,0,12|stoneedge|crunch|pursuit|superpower", + "heatran": "|flashfire|choicespecs|modest|40,0,0,252,0,216|overheat|flamethrower|earthpower|dragonpulse", + "donphan": "|sturdy|leftovers|adamant|252,72,184,0,0,0|rapidspin|earthquake|assurance|iceshard", + "milotic": "|marvelscale|leftovers|bold|248,0,252,0,8,0|surf|icebeam|hiddenpowerelectric|recover", + "jirachi": "|serenegrace|leftovers|jolly|204,128,0,0,0,176|ironhead|firepunch|thunderwave|protect" + } + ], + "gliscor|walrein|abomasnow|clefable|tentacruel|spiritomb": [ + { + "gliscor": "|hypercutter|leftovers|jolly|252,0,40,0,0,216|taunt|roost|earthquake|uturn", + "walrein": "|icebody|leftovers|bold|220,0,252,0,36,0|protect|substitute|surf|roar", + "abomasnow": "|snowwarning|leftovers|sassy|248,0,8,0,252,0|leechseed|protect|blizzard|woodhammer", + "clefable": "|magicguard|leftovers|careful|252,0,4,0,252,0|stealthrock|knockoff|seismictoss|softboiled", + "tentacruel": "|clearbody|blacksludge|bold|248,0,252,0,8,0|rapidspin|toxicspikes|blizzard|surf", + "spiritomb": "|pressure|leftovers|careful|248,0,8,0,252,0|pursuit|rest|sleeptalk|willowisp" + }, + { + "gliscor": "|hypercutter|leftovers|jolly|252,0,40,0,0,216|taunt|roost|earthquake|uturn", + "walrein": "|icebody|leftovers|bold|220,0,252,0,36,0|protect|substitute|surf|roar", + "abomasnow": "|snowwarning|leftovers|sassy|248,0,8,0,252,0|leechseed|protect|blizzard|woodhammer", + "clefable": "|magicguard|leftovers|careful|252,0,4,0,252,0|stealthrock|knockoff|seismictoss|softboiled", + "tentacruel": "|clearbody|blacksludge|bold|248,0,252,0,8,0|rapidspin|toxicspikes|blizzard|surf", + "spiritomb": "|pressure|leftovers|careful|248,0,8,0,252,0|pursuit|rest|sleeptalk|willowisp" + } + ], + "tyranitar|gyarados|scizor|infernape|latias": [ + { + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|crunch|firepunch|earthquake|dragondance", + "gyarados": "|intimidate|wacanberry|adamant|0,116,0,0,196,196|waterfall|earthquake|stoneedge|dragondance", + "scizor": "|technician|occaberry|adamant|136,252,0,0,0,120|bugbite|bulletpunch|superpower|swordsdance", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|fireblast|grassknot|machpunch", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|thunderbolt|trick|healingwish" + }, + { + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|crunch|firepunch|earthquake|dragondance", + "gyarados": "|intimidate|wacanberry|adamant|0,116,0,0,196,196|waterfall|earthquake|stoneedge|dragondance", + "scizor": "|technician|occaberry|adamant|136,252,0,0,0,120|bugbite|bulletpunch|superpower|swordsdance", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|closecombat|fireblast|grassknot|machpunch", + "latias": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|thunderbolt|trick|healingwish" + } + ], + "starmie|latias|infernape|tyranitar|jirachi|flygon": [ + { + "starmie": "|naturalcure|colburberry|timid|0,0,4,252,0,252|hydropump|thunderbolt|icebeam|rapidspin", + "latias": "|levitate|lifeorb|timid|0,0,4,252,0,252|dracometeor|surf|roost|healingwish", + "infernape": "|blaze|choiceband|jolly|64,252,0,0,0,192|uturn|closecombat|flareblitz|machpunch", + "tyranitar": "|sandstream|lumberry|lonely|224,64,0,64,0,156|stealthrock|crunch|superpower|fireblast", + "jirachi": "|serenegrace|shucaberry|naive|88,224,0,16,0,180|ironhead|icepunch|firepunch|grassknot", + "flygon": "|levitate|choicescarf|adamant|0,252,4,0,0,252|uturn|outrage|earthquake|thunderpunch" + } + ], + "tyranitar|magneton|gastrodon|cresselia|clefable|skarmory": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stealthrock|crunch|pursuit|superpower", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|flashcannon|thunderwave", + "gastrodon": "|stickyhold|leftovers|relaxed|252,0,192,0,64,0|earthquake|icebeam|counter|recover", + "cresselia": "|levitate|leftovers|relaxed|252,0,252,0,4,0|icebeam|thunderwave|rest|lunardance", + "clefable": "|magicguard|leftovers|careful|252,0,72,0,184,0|seismictoss|knockoff|healbell|softboiled", + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|bravebird|spikes|whirlwind|roost" + } + ], + "swampert|latias|metagross|tyranitar|jirachi|gliscor": [ + { + "swampert": "|torrent|leftovers|adamant|252,60,180,0,0,16|stealthrock|earthquake|waterfall|icepunch", + "latias": "|levitate|choicespecs|modest|4,0,80,248,0,176|dracometeor|thunderbolt|surf|sleeptalk", + "metagross": "|clearbody|ironball|adamant|252,68,20,0,148,20|trick|earthquake|meteormash|explosion", + "tyranitar": "|sandstream|passhoberry|hasty|0,204,0,52,0,252|crunch|fireblast|hiddenpowergrass|superpower", + "jirachi": "|serenegrace|choicescarf|adamant|60,252,0,0,0,196|ironhead|firepunch|trick|uturn", + "gliscor": "|hypercutter|leftovers|jolly|28,252,0,0,0,228|swordsdance|earthquake|icefang|nightslash" + } + ], + "tyranitar|latias|magnezone|lucario|gliscor|skarmory": [ + { + "tyranitar": "|sandstream|passhoberry|lonely|48,196,0,0,184,80|crunch|stealthrock|pursuit|stoneedge", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch", + "gliscor": "|hypercutter|leftovers|jolly|252,4,0,0,0,252|taunt|earthquake|icefang|roost", + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|spikes|whirlwind|roost|bravebird" + }, + { + "tyranitar": "|sandstream|passhoberry|lonely|48,196,0,0,184,80|crunch|stealthrock|pursuit|stoneedge", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "magnezone": "|magnetpull|choicescarf|timid|0,4,0,252,0,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|closecombat|extremespeed|crunch", + "gliscor": "|hypercutter|leftovers|jolly|252,4,0,0,0,252|taunt|earthquake|icefang|roost", + "skarmory": "|keeneye|leftovers|careful|252,0,4,0,252,0|spikes|whirlwind|roost|bravebird" + } + ], + "jirachi|skarmory|breloom|suicune|tyranitar|latias": [ + { + "jirachi": "|serenegrace|leftovers|jolly|252,0,40,0,40,176|stealthrock|ironhead|firepunch|thunder", + "skarmory": "|keeneye|leftovers|impish|252,0,220,0,0,36|roost|spikes|bravebird|whirlwind", + "breloom": "|poisonheal|toxicorb|adamant|76,252,0,0,0,180|substitute|focuspunch|spore|seedbomb", + "suicune": "|pressure|leftovers|bold|252,0,252,0,4,0|surf|calmmind|rest|sleeptalk", + "tyranitar": "|sandstream|lumberry|lonely|100,144,0,56,0,208|crunch|stoneedge|pursuit|fireblast", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|healingwish|thunderbolt|trick" + } + ], + "azelf|infernape|gyarados|latias|gengar|tyranitar": [ + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion", + "infernape": "|blaze|expertbelt|hasty|0,252,0,4,0,252|closecombat|fireblast|grassknot|hiddenpowerice", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|thunderbolt|trick", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|taunt|explosion|shadowball|focusblast", + "tyranitar": "|sandstream|passhoberry|lonely|100,144,0,56,0,208|crunch|stoneedge|pursuit|fireblast" + }, + { + "azelf": "|levitate|lumberry|jolly|200,0,224,0,24,60|taunt|stealthrock|thunderwave|explosion", + "infernape": "|blaze|expertbelt|hasty|0,252,0,4,0,252|closecombat|fireblast|grassknot|hiddenpowerice", + "gyarados": "|intimidate|lumberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|icefang", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|thunderbolt|trick", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|taunt|explosion|shadowball|focusblast", + "tyranitar": "|sandstream|passhoberry|lonely|100,144,0,56,0,208|crunch|stoneedge|pursuit|fireblast" + } + ], + "metagross|roserade|suicune|gengar|heatran|flygon": [ + { + "metagross": "|clearbody|ironball|adamant|248,136,0,0,104,20|meteormash|earthquake|trick|stealthrock", + "roserade": "|naturalcure|blacksludge|timid|252,0,0,0,80,176|spikes|toxicspikes|grassknot|hiddenpowerice", + "suicune": "|pressure|leftovers|timid|252,0,0,32,0,224|substitute|calmmind|surf|icebeam", + "gengar": "|levitate|blacksludge|modest|0,0,0,252,4,252|trick|icywind|shadowball|focusblast", + "heatran": "|flashfire|leftovers|calm|252,0,4,0,252,0|substitute|lavaplume|earthpower|roar", + "flygon": "|levitate|choicescarf|jolly|0,252,0,0,4,252|uturn|earthquake|outrage|thunderpunch" + } + ], + "aerodactyl|cloyster|gyarados|dragonite|zapdos|swellow": [ + { + "aerodactyl": "|pressure|lumberry|jolly|0,252,4,0,0,252|stealthrock|rocktomb|earthquake|taunt", + "cloyster": "|shellarmor|focussash|naive|0,4,0,252,0,252|spikes|surf|rapidspin|explosion", + "gyarados": "|intimidate|leftovers|adamant|0,252,4,0,0,252|dragondance|waterfall|stoneedge|earthquake", + "dragonite": "|innerfocus|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|extremespeed", + "zapdos": "|pressure|magnet|modest|80,0,0,252,0,176|agility|thunderbolt|hiddenpowergrass|heatwave", + "swellow": "|guts|toxicorb|jolly|80,252,0,0,0,176|facade|bravebird|uturn|pursuit" + } + ], + "swampert|skarmory|latias|scizor|gengar|magneton": [ + { + "swampert": "|torrent|leftovers|adamant|252,236,0,0,0,20|stealthrock|icepunch|earthquake|waterfall", + "skarmory": "|keeneye|leftovers|sassy|252,0,4,0,252,0|spikes|roost|whirlwind|toxic", + "latias": "|levitate|leftovers|timid|252,0,4,0,0,252|safeguard|calmmind|dragonpulse|recover", + "scizor": "|technician|lumberry|adamant|248,228,4,0,24,4|swordsdance|pursuit|bugbite|bulletpunch", + "gengar": "|levitate|lumberry|timid|104,0,16,196,0,192|shadowball|focusblast|taunt|willowisp", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,244,12,252|thunderbolt|hiddenpowerground|sunnyday|thunderwave" + } + ], + "swampert|heatran|roserade|tyranitar|gliscor|rotomwash": [ + { + "swampert": "|torrent|choiceband|adamant|0,252,0,0,4,252|waterfall|earthquake|icepunch|stoneedge", + "heatran": "|flashfire|leftovers|timid|0,0,0,252,4,252|substitute|protect|lavaplume|earthpower", + "roserade": "|naturalcure|blacksludge|calm|240,0,0,0,152,116|leafstorm|sleeppowder|hiddenpowerground|toxicspikes", + "tyranitar": "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake", + "gliscor": "|hypercutter|leftovers|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|thunderfang", + "rotomwash": "|levitate|choicescarf|timid|48,0,0,252,0,208|thunderbolt|hydropump|hiddenpowerice|trick" + } + ], + "breloom|metagross|mamoswine|magneton|tyranitar|latias": [ + { + "breloom": "|effectspore|focussash|jolly|0,252,0,0,4,252|spore|focuspunch|seedbomb|machpunch", + "metagross": "|clearbody|leftovers|adamant|248,72,40,0,84,64|stealthrock|meteormash|earthquake|explosion", + "mamoswine": "|oblivious|leftovers|adamant|172,132,0,0,0,204|substitute|earthquake|iceshard|knockoff", + "magneton": "|magnetpull|choicescarf|timid|8,0,0,248,0,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave", + "tyranitar": "|sandstream|lumberry|jolly|8,248,0,0,0,252|dragondance|crunch|earthquake|icepunch", + "latias": "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|surf|trick|sleeptalk" + } + ], + "metagross|gyarados|tyranitar|gengar|magneton": [ + { + "metagross": "|clearbody|leftovers|adamant|252,64,76,0,116,0|meteormash|earthquake|explosion|stealthrock", + "gyarados": "|intimidate|lumberry|adamant|4,252,0,0,0,252|dragondance|waterfall|icefang|earthquake", + "tyranitar": "|sandstream|liechiberry|jolly|32,188,36,0,0,252|dragondance|crunch|firepunch|naturalgift", + "gengar": "|levitate|lumberry|timid|104,0,16,176,0,212|shadowball|focusblast|taunt|willowisp", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,244,12,252|thunderbolt|hiddenpowerice|flashcannon|thunderwave" + } + ], + "empoleon|bronzong|tyranitar|dragonite|gyarados|flygon": [ + { + "empoleon": "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|explosion|earthquake", + "tyranitar": "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|aquatail", + "dragonite": "|innerfocus|expertbelt|adamant|0,252,52,0,0,204|agility|thunderpunch|icepunch|earthquake", + "gyarados": "|intimidate|lumberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake", + "flygon": "|levitate|expertbelt|naive|0,64,0,192,0,252|thunderpunch|dracometeor|earthquake|fireblast" + }, + { + "empoleon": "|torrent|focussash|modest|0,4,0,252,0,252|stealthrock|hydropump|aquajet|grassknot", + "bronzong": "|levitate|machobrace|brave|252,252,0,0,4,0|trickroom|gyroball|explosion|earthquake", + "tyranitar": "|sandstream|choiceband|adamant|180,252,0,0,0,76|crunch|stoneedge|pursuit|aquatail", + "dragonite": "|innerfocus|expertbelt|adamant|0,252,52,0,0,204|agility|thunderpunch|icepunch|earthquake", + "gyarados": "|intimidate|lumberry|adamant|72,252,0,0,0,184|dragondance|icefang|waterfall|earthquake", + "flygon": "|levitate|expertbelt|naive|0,64,0,192,0,252|thunderpunch|dracometeor|earthquake|fireblast" + } + ], + "skarmory|lucario|tyranitar|rotomwash|latias|magnezone": [ + { + "skarmory": "|keeneye|shedshell|careful|248,0,0,0,252,8|spikes|stealthrock|roost|whirlwind", + "lucario": "|innerfocus|lifeorb|adamant|0,252,4,0,0,252|closecombat|bulletpunch|extremespeed|swordsdance", + "tyranitar": "|sandstream|choicescarf|hasty|0,212,0,44,0,252|crunch|pursuit|icebeam|superpower", + "rotomwash": "|levitate|leftovers|bold|248,0,200,4,0,56|willowisp|thunderbolt|rest|sleeptalk", + "latias": "|levitate|leftovers|relaxed|248,16,180,0,0,64|earthquake|icebeam|recover|thunderwave", + "magnezone": "|magnetpull|leftovers|timid|0,0,4,252,0,252|thunderbolt|hiddenpowerground|thunderwave|magnetrise" + } + ], + "azelf|gyarados|weavile|jirachi|infernape|rotomwash": [ + { + "azelf": "|levitate|focussash|naive|0,4,0,252,0,252|stealthrock|taunt|fireblast|explosion", + "gyarados": "|intimidate|wacanberry|adamant|72,252,0,0,0,184|dragondance|waterfall|icefang|earthquake", + "weavile": "|pressure|lifeorb|jolly|32,252,0,0,40,184|pursuit|iceshard|lowkick|nightslash", + "jirachi": "|serenegrace|shucaberry|jolly|0,252,0,4,0,252|ironhead|firepunch|icepunch|thunderbolt", + "infernape": "|blaze|expertbelt|naive|0,64,0,252,0,192|fireblast|closecombat|grassknot|hiddenpowerice", + "rotomwash": "|levitate|choicescarf|timid|4,0,0,252,0,252|thunderbolt|hydropump|shadowball|trick" + } + ], + "metagross|scizor|tyranitar|infernape|rotomwash|latias": [ + { + "metagross": "|clearbody|focussash|adamant|80,252,0,0,0,176|meteormash|earthquake|bulletpunch|explosion", + "scizor": "|technician|leftovers|adamant|248,56,12,0,192,0|bulletpunch|swordsdance|brickbreak|roost", + "tyranitar": "|sandstream|custapberry|adamant|252,108,0,0,148,0|crunch|pursuit|earthquake|stealthrock", + "infernape": "|blaze|expertbelt|naive|0,56,0,252,0,200|fireblast|hiddenpowerice|closecombat|grassknot", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|hiddenpowerice|trick", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|grassknot|surf" + }, + { + "metagross": "|clearbody|focussash|adamant|80,252,0,0,0,176|meteormash|earthquake|bulletpunch|explosion", + "scizor": "|technician|leftovers|adamant|248,56,12,0,192,0|bulletpunch|swordsdance|brickbreak|roost", + "tyranitar": "|sandstream|custapberry|adamant|252,108,0,0,148,0|crunch|pursuit|earthquake|stealthrock", + "infernape": "|blaze|expertbelt|naive|0,56,0,252,0,200|fireblast|hiddenpowerice|closecombat|grassknot", + "rotomwash": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderbolt|shadowball|hiddenpowerice|trick", + "latias": "|levitate|choicespecs|timid|0,0,0,252,4,252|trick|dracometeor|grassknot|surf" + } + ], + "gengar|rotomheat|spiritomb|dusknoir|drifblim": [ + { + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|substitute|painsplit", + "rotomheat": "|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|thunderbolt|shadowball|trick", + "spiritomb": "|pressure|choiceband|adamant|248,252,0,0,4,4|shadowsneak|pursuit|suckerpunch|trick", + "dusknoir": "|pressure|leftovers|adamant|252,252,0,0,4,0|substitute|focuspunch|shadowsneak|icepunch", + "drifblim": "|unburden|sitrusberry|modest|0,0,6,252,0,252|calmmind|substitute|shadowball|hiddenpowerfighting" + } + ], + "azelf|raikou|scizor|gliscor|gyarados|tyranitar": [ + { + "azelf": "|levitate|lumberry|jolly|184,0,188,0,0,136|stealthrock|explosion|taunt|thunderwave", + "raikou": "|pressure|lumberry|rash|0,0,0,252,4,252|calmmind|thunderbolt|aurasphere|hiddenpowerice", + "scizor": "|technician|occaberry|adamant|32,252,0,0,0,224|swordsdance|bulletpunch|pursuit|superpower", + "gliscor": "|hypercutter|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|icefang|taunt", + "gyarados": "|intimidate|lumberry|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "tyranitar": "|sandstream|passhoberry|adamant|0,252,0,0,4,252|dragondance|crunch|firepunch|aquatail" + } + ], + "jirachi|dragonite|slowbro|tyranitar|donphan|magneton": [ + { + "jirachi": "|serenegrace|leftovers|impish|252,0,196,0,60,0|wish|protect|bodyslam|ironhead", + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|extremespeed|sleeptalk", + "slowbro": "|owntempo|leftovers|bold|252,0,216,0,40,0|slackoff|surf|icebeam|thunderwave", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,4,252|crunch|pursuit|icepunch|superpower", + "donphan": "|sturdy|leftovers|impish|252,56,176,0,24,0|rapidspin|earthquake|headsmash|stealthrock", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|thunderwave|flashcannon" + }, + { + "jirachi": "|serenegrace|leftovers|impish|252,0,196,0,60,0|wish|protect|bodyslam|ironhead", + "dragonite": "|innerfocus|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|extremespeed|sleeptalk", + "slowbro": "|owntempo|leftovers|bold|252,0,216,0,40,0|slackoff|surf|icebeam|thunderwave", + "tyranitar": "|sandstream|choiceband|adamant|0,252,0,0,4,252|crunch|pursuit|icepunch|superpower", + "donphan": "|sturdy|leftovers|impish|252,56,176,0,24,0|rapidspin|earthquake|headsmash|stealthrock", + "magneton": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerice|thunderwave|flashcannon" + } + ], + "metagross|infernape|swampert|dragonite|starmie|tyranitar": [ + { + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|stealthrock|meteormash|earthquake|explosion", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|slackoff|closecombat|fireblast|vacuumwave", + "swampert": "|torrent|leftovers|brave|80,216,0,100,112,0|earthquake|hydropump|icebeam|outrage", + "dragonite": "|innerfocus|lumberry|jolly|0,252,0,0,4,252|extremespeed|outrage|dragondance|earthquake", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|rapidspin|thunderbolt|hydropump|grassknot", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + }, + { + "metagross": "|clearbody|lumberry|adamant|40,252,0,0,0,216|stealthrock|meteormash|earthquake|explosion", + "infernape": "|blaze|lifeorb|naive|0,64,0,252,0,192|slackoff|closecombat|fireblast|vacuumwave", + "swampert": "|torrent|leftovers|brave|80,216,0,100,112,0|earthquake|hydropump|icebeam|outrage", + "dragonite": "|innerfocus|lumberry|jolly|0,252,0,0,4,252|extremespeed|outrage|dragondance|earthquake", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|rapidspin|thunderbolt|hydropump|grassknot", + "tyranitar": "|sandstream|lumberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|firepunch" + } + ], + "skarmory|tyranitar|gengar|milotic|lucario": [ + { + "skarmory": "|sturdy|leftovers|careful|248,0,0,0,248,12|stealthrock|spikes|whirlwind|roost", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,4,0,252|crunch|pursuit|stoneedge|icebeam", + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|substitute|painsplit", + "milotic": "|marvelscale|leftovers|modest|144,0,0,252,4,108|surf|icebeam|hiddenpowerelectric|recover", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|closecombat|icepunch|bulletpunch|swordsdance" + } + ], + "tyranitar|quagsire|crobat|forretress|clefable|spiritomb": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|8,248,0,0,0,252|stealthrock|crunch|pursuit|earthquake", + "quagsire": "|waterabsorb|leftovers|impish|252,0,216,0,40,0|earthquake|icepunch|haze|recover", + "crobat": "|innerfocus|blacksludge|jolly|252,0,24,0,0,232|bravebird|superfang|taunt|roost", + "forretress": "|sturdy|leftovers|careful|252,0,4,0,252,0|spikes|toxicspikes|payback|rapidspin", + "clefable": "|magicguard|leftovers|calm|252,0,80,0,176,0|seismictoss|knockoff|icebeam|softboiled", + "spiritomb": "|pressure|leftovers|calm|248,0,148,0,112,0|rest|sleeptalk|shadowball|willowisp" + } + ], + "metagross|jirachi|starmie|shaymin|mamoswine|flygon": [ + { + "metagross": "|clearbody|lumberry|adamant|232,252,0,0,0,24|meteormash|earthquake|gravity|stealthrock", + "jirachi": "|serenegrace|leftovers|jolly|4,252,0,0,0,252|ironhead|dynamicpunch|firepunch|gravity", + "starmie": "|naturalcure|leftovers|timid|4,0,0,252,0,252|hydropump|thunder|gravity|recover", + "shaymin": "|naturalcure|leftovers|timid|72,0,0,252,0,184|seedflare|earthpower|hiddenpowerice|grasswhistle", + "mamoswine": "|oblivious|lifeorb|jolly|4,252,0,0,0,252|earthquake|icefang|superpower|iceshard", + "flygon": "|levitate|choicescarf|jolly|4,252,0,0,0,252|earthquake|outrage|stoneedge|uturn" + } + ], + "empoleon|tyranitar|starmie|machamp|latias|jirachi": [ + { + "empoleon": "|torrent|choicespecs|modest|0,0,0,252,4,252|hydropump|surf|icebeam|grassknot", + "tyranitar": "|sandstream|choiceband|adamant|168,252,0,0,0,88|stoneedge|crunch|pursuit|superpower", + "starmie": "|naturalcure|leftovers|timid|0,0,92,200,0,216|hydropump|icebeam|thunderwave|rapidspin", + "machamp": "|noguard|leftovers|adamant|64,252,0,0,48,144|substitute|dynamicpunch|payback|icepunch", + "latias": "|levitate|choicescarf|timid|60,0,52,144,0,252|dracometeor|thunderwave|trick|healingwish", + "jirachi": "|serenegrace|leftovers|jolly|252,0,80,0,0,176|ironhead|bodyslam|firepunch|stealthrock" + } + ], + "jirachi|latias|clefable|magnezone|breloom|slowbro": [ + { + "jirachi": "|serenegrace|leftovers|impish|252,0,236,0,20,0|ironhead|bodyslam|wish|protect", + "latias": "|levitate|leftovers|timid|252,0,200,0,0,56|dragonpulse|thunderwave|recover|roar", + "clefable": "|magicguard|leftovers|calm|252,0,96,0,160,0|stealthrock|seismictoss|knockoff|softboiled", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerground|thunderwave|explosion", + "breloom": "|poisonheal|toxicorb|adamant|200,252,24,0,0,32|superpower|seedbomb|machpunch|spore", + "slowbro": "|owntempo|leftovers|bold|248,0,216,0,44,0|surf|thunderwave|icebeam|slackoff" + } + ], + "metagross|suicune|gengar|breloom|latias|kingdra": [ + { + "metagross": "|clearbody|custapberry|adamant|252,252,0,0,0,4|stealthrock|meteormash|earthquake|explosion", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|hiddenpowerelectric|hydropump|icebeam|calmmind", + "gengar": "|levitate|lifeorb|naive|0,4,0,252,0,252|shadowball|focusblast|sleeptalk|explosion", + "breloom": "|poisonheal|toxicorb|adamant|236,148,40,0,24,60|spore|machpunch|seedbomb|superpower", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|thunderbolt|surf", + "kingdra": "|swiftswim|lifeorb|modest|92,0,0,252,0,164|hydropump|raindance|signalbeam|dragonpulse" + } + ], + "machamp|bronzong|rhyperior|dusknoir|heatran|azumarill": [ + { + "machamp": "|noguard|lumberry|adamant|248,240,0,0,16,4|dynamicpunch|payback|icepunch|bulletpunch", + "bronzong": "|levitate|sitrusberry|sassy|252,0,128,0,128,0|stealthrock|trickroom|gravity|explosion", + "rhyperior": "|solidrock|choiceband|brave|252,252,0,0,4,0|earthquake|stoneedge|aquatail|megahorn", + "dusknoir": "|pressure|leftovers|impish|252,0,252,0,4,0|trickroom|gravity|memento|destinybond", + "heatran": "|flashfire|passhoberry|mild|140,0,0,244,0,124|explosion|hiddenpowergrass|dragonpulse|fireblast", + "azumarill": "|hugepower|lumberry|brave|252,252,0,0,4,0|waterfall|icepunch|superpower|aquajet" + } + ], + "gyarados|kingdra|suicune|tyranitar|roserade|latias": [ + { + "gyarados": "|intimidate|choiceband|adamant|32,252,0,0,0,224|waterfall|payback|stoneedge|earthquake", + "kingdra": "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dragonpulse|icebeam", + "suicune": "|pressure|leftovers|timid|0,0,0,252,4,252|calmmind|hydropump|protect|icebeam", + "tyranitar": "|sandstream|custapberry|adamant|16,252,0,0,240,0|stealthrock|crunch|pursuit|earthquake", + "roserade": "|poisonpoint|leftovers|calm|252,0,4,0,136,116|grassknot|hiddenpowerice|toxicspikes|spikes", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|thunderbolt|trick|healingwish" + } + ], + "mesprit|ludicolo|qwilfish|bronzong|metagross|kingdra": [ + { + "mesprit": "|levitate|damprock|bold|252,0,184,0,72,0|stealthrock|raindance|thunderwave|healingwish", + "ludicolo": "|swiftswim|lifeorb|modest|124,0,0,252,0,132|raindance|hydropump|grassknot|icebeam", + "qwilfish": "|swiftswim|lifeorb|adamant|0,252,4,0,0,252|swordsdance|waterfall|poisonjab|explosion", + "bronzong": "|levitate|damprock|sassy|252,0,128,0,128,0|raindance|stealthrock|hypnosis|explosion", + "metagross": "|clearbody|lumberry|jolly|60,252,0,0,0,196|agility|meteormash|earthquake|zenheadbutt", + "kingdra": "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|surf|dragonpulse|signalbeam" + } + ], + "skarmory|tyranitar|starmie|infernape|machamp|rotomwash": [ + { + "skarmory": "|keeneye|focussash|jolly|252,0,4,0,0,252|stealthrock|spikes|whirlwind|drillpeck", + "tyranitar": "|sandstream|expertbelt|jolly|0,252,4,0,0,252|dragondance|crunch|firepunch|aquatail", + "starmie": "|naturalcure|colburberry|timid|0,0,0,252,4,252|thunderwave|hydropump|icebeam|rapidspin", + "infernape": "|blaze|expertbelt|hasty|0,4,0,252,0,252|fireblast|closecombat|grassknot|machpunch", + "machamp": "|noguard|lumberry|adamant|96,252,0,0,4,156|dynamicpunch|encore|bulkup|payback", + "rotomwash": "|levitate|choicescarf|timid|184,0,0,68,4,252|thunderbolt|hiddenpowerice|shadowball|trick" + } + ], + "skarmory|tyranitar|jirachi|scizor|rotomheat|gyarados": [ + { + "skarmory": "|keeneye|focussash|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|taunt", + "tyranitar": "|sandstream|chopleberry|jolly|0,252,0,0,4,252|dragondance|crunch|earthquake|icepunch", + "jirachi": "|serenegrace|shucaberry|naive|0,96,0,196,0,216|ironhead|thunder|hiddenpowerground|grassknot", + "scizor": "|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|quickattack|superpower", + "rotomheat": "|levitate|choicescarf|timid|56,0,0,216,0,236|thunderbolt|shadowball|hiddenpowerice|trick", + "gyarados": "|intimidate|wacanberry|adamant|0,252,0,0,4,252|dragondance|waterfall|earthquake|stoneedge" + } + ], + "azelf|jirachi|gallade|latias|metagross|cresselia": [ + { + "azelf": "|levitate|lightclay|timid|40,0,248,0,4,216|stealthrock|reflect|lightscreen|explosion", + "jirachi": "|serenegrace|leftovers|timid|252,0,0,72,0,184|substitute|calmmind|thunderbolt|psychic", + "gallade": "|steadfast|lumberry|jolly|4,252,0,0,0,252|swordsdance|closecombat|icepunch|shadowsneak", + "latias": "|levitate|leftovers|timid|204,0,0,120,0,184|calmmind|dragonpulse|hiddenpowerfire|recover", + "metagross": "|clearbody|liechiberry|adamant|0,252,4,0,0,252|agility|meteormash|earthquake|naturalgift", + "cresselia": "|levitate|lightclay|timid|252,0,4,0,0,252|reflect|lightscreen|lunardance|thunderwave" + } + ], + "jirachi|shaymin|blissey|garchomp|dugtrio|starmie": [ + { + "jirachi": "|serenegrace|leftovers|relaxed|252,0,252,0,4,0|gravity|thunder|stealthrock|uturn", + "shaymin": "|naturalcure|choicespecs|timid|0,0,0,252,4,252|seedflare|earthpower|hiddenpowerice|airslash", + "blissey": "|naturalcure|leftovers|bold|252,0,252,0,4,0|gravity|softboiled|thunder|fireblast", + "garchomp": "|sandveil|choicescarf||0,0,0,0,0,0|firefang|earthquake|outrage|stoneedge", + "dugtrio": "|arenatrap|lifeorb|jolly|4,252,0,0,0,252|earthquake|stoneedge|aerialace|suckerpunch", + "starmie": "|naturalcure|lifeorb|timid|4,0,0,252,0,252|hydropump|blizzard|grassknot|psychic" + } + ] + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen4randombattle.json b/data/pkmn_sets/gen4randombattle.json new file mode 100644 index 000000000..943f0bf2a --- /dev/null +++ b/data/pkmn_sets/gen4randombattle.json @@ -0,0 +1,298 @@ +{ + "abomasnow": {"leftovers,snowwarning,blizzard,earthquake,iceshard,woodhammer": 2067}, + "absol": {"blackglasses,superluck,nightslash,pursuit,suckerpunch,superpower": 569, "lifeorb,superluck,nightslash,suckerpunch,superpower,swordsdance": 1149, "choiceband,superluck,nightslash,psychocut,suckerpunch,superpower": 559}, + "aerodactyl": {"leftovers,pressure,earthquake,roost,stoneedge,taunt": 376, "leftovers,pressure,earthquake,roost,stoneedge,toxic": 375, "choiceband,pressure,aerialace,earthquake,pursuit,stoneedge": 108, "lifeorb,pressure,aquatail,earthquake,roost,stoneedge": 113, "lifeorb,pressure,earthquake,pursuit,roost,stoneedge": 123, "lifeorb,pressure,aquatail,earthquake,stealthrock,stoneedge": 55, "leftovers,pressure,earthquake,roost,stealthrock,stoneedge": 413, "lifeorb,pressure,earthquake,pursuit,stealthrock,stoneedge": 56, "lifeorb,pressure,aerialace,earthquake,roost,stoneedge": 117, "focussash,pressure,aquatail,earthquake,stealthrock,stoneedge": 20, "choiceband,pressure,aquatail,earthquake,pursuit,stoneedge": 134, "choiceband,pressure,aerialace,aquatail,earthquake,stoneedge": 105, "lifeorb,pressure,aerialace,earthquake,stealthrock,stoneedge": 61, "focussash,pressure,aerialace,earthquake,stealthrock,stoneedge": 19, "focussash,pressure,earthquake,pursuit,stealthrock,stoneedge": 18}, + "aggron": {"lifeorb,rockhead,earthquake,headsmash,icepunch,stealthrock": 349, "lifeorb,rockhead,aquatail,earthquake,headsmash,rockpolish": 463, "choiceband,rockhead,aquatail,earthquake,headsmash,icepunch": 392, "lifeorb,rockhead,earthquake,headsmash,icepunch,rockpolish": 475, "lifeorb,rockhead,aquatail,earthquake,headsmash,stealthrock": 323}, + "alakazam": {"choicespecs,synchronize,focusblast,psychic,shadowball,trick": 596, "lifeorb,synchronize,encore,focusblast,psychic,shadowball": 281, "leftovers,synchronize,encore,focusblast,psychic,substitute": 324, "lifeorb,synchronize,calmmind,encore,focusblast,psychic": 288, "leftovers,synchronize,calmmind,focusblast,psychic,substitute": 315, "leftovers,synchronize,focusblast,psychic,shadowball,substitute": 290, "lifeorb,synchronize,calmmind,focusblast,psychic,shadowball": 272}, + "altaria": {"lumberry,naturalcure,dragondance,earthquake,outrage,roost": 1090, "leftovers,naturalcure,dracometeor,earthquake,haze,roost": 129, "leftovers,naturalcure,dracometeor,earthquake,fireblast,roost": 269, "leftovers,naturalcure,dracometeor,earthquake,roost,toxic": 132, "leftovers,naturalcure,dracometeor,earthquake,healbell,roost": 125, "leftovers,naturalcure,dracometeor,fireblast,healbell,roost": 123, "leftovers,naturalcure,dracometeor,fireblast,haze,roost": 125, "leftovers,naturalcure,dracometeor,fireblast,roost,toxic": 155}, + "ambipom": {"silkscarf,technician,fakeout,lowkick,payback,return": 595, "silkscarf,technician,fakeout,lowkick,pursuit,return": 246, "choiceband,technician,lowkick,payback,return,uturn": 618, "silkscarf,technician,fakeout,payback,return,uturn": 343, "silkscarf,technician,fakeout,lowkick,return,uturn": 200, "choiceband,technician,lowkick,pursuit,return,uturn": 233}, + "ampharos": {"choicespecs,static,focusblast,hiddenpowerice,signalbeam,thunderbolt": 207, "leftovers,static,focusblast,healbell,thunderbolt,toxic": 72, "leftovers,static,hiddenpowerice,signalbeam,thunderbolt,toxic": 154, "leftovers,static,focusblast,hiddenpowerice,thunderbolt,toxic": 142, "leftovers,static,focusblast,healbell,signalbeam,thunderbolt": 117, "leftovers,static,discharge,healbell,signalbeam,toxic": 72, "leftovers,static,focusblast,signalbeam,thunderbolt,toxic": 157, "leftovers,static,focusblast,healbell,hiddenpowerice,thunderbolt": 117, "leftovers,static,healbell,signalbeam,thunderbolt,toxic": 54, "leftovers,static,healbell,hiddenpowerice,signalbeam,thunderbolt": 123, "leftovers,static,discharge,healbell,hiddenpowerice,signalbeam": 136, "choicespecs,static,discharge,focusblast,hiddenpowerice,signalbeam": 224, "leftovers,static,discharge,focusblast,healbell,signalbeam": 98, "leftovers,static,discharge,focusblast,signalbeam,toxic": 153, "leftovers,static,discharge,hiddenpowerice,signalbeam,toxic": 143, "leftovers,static,discharge,focusblast,healbell,toxic": 84, "leftovers,static,discharge,healbell,hiddenpowerice,toxic": 71, "leftovers,static,discharge,focusblast,hiddenpowerice,toxic": 123, "leftovers,static,discharge,focusblast,healbell,hiddenpowerice": 117, "leftovers,static,healbell,hiddenpowerice,thunderbolt,toxic": 44}, + "arbok": {"lifeorb,intimidate,crunch,earthquake,glare,poisonjab": 237, "choicescarf,intimidate,crunch,earthquake,gunkshot,switcheroo": 229, "choicescarf,intimidate,crunch,earthquake,poisonjab,switcheroo": 244, "choiceband,intimidate,crunch,earthquake,poisonjab,seedbomb": 211, "choiceband,intimidate,crunch,earthquake,gunkshot,seedbomb": 196, "choicescarf,intimidate,earthquake,poisonjab,seedbomb,switcheroo": 272, "lifeorb,intimidate,earthquake,glare,gunkshot,seedbomb": 240, "lifeorb,intimidate,earthquake,glare,poisonjab,seedbomb": 225, "lifeorb,intimidate,crunch,earthquake,glare,gunkshot": 261, "choicescarf,intimidate,earthquake,gunkshot,seedbomb,switcheroo": 237}, + "arcanine": {"leftovers,intimidate,extremespeed,flareblitz,morningsun,thunderfang": 237, "lifeorb,intimidate,crunch,extremespeed,flareblitz,morningsun": 191, "lifeorb,intimidate,extremespeed,flareblitz,morningsun,thunderfang": 187, "choiceband,intimidate,crunch,extremespeed,flareblitz,thunderfang": 186, "leftovers,intimidate,extremespeed,flareblitz,morningsun,roar": 236, "leftovers,intimidate,extremespeed,flareblitz,morningsun,toxic": 228, "choiceband,intimidate,extremespeed,flareblitz,ironhead,thunderfang": 190, "choiceband,intimidate,crunch,extremespeed,flareblitz,ironhead": 173, "leftovers,intimidate,extremespeed,flareblitz,hiddenpowergrass,morningsun": 224, "leftovers,intimidate,extremespeed,flareblitz,morningsun,willowisp": 211, "lifeorb,intimidate,extremespeed,flareblitz,ironhead,morningsun": 178}, + "arceus": {"lifeorb,multitype,earthquake,extremespeed,recover,swordsdance": 171, "lifeorb,multitype,earthquake,extremespeed,shadowclaw,swordsdance": 203}, + "arceusbug": {"insectplate,multitype,calmmind,fireblast,judgment,recover": 101, "insectplate,multitype,calmmind,earthpower,icebeam,judgment": 202, "insectplate,multitype,calmmind,earthpower,judgment,recover": 65}, + "arceusdark": {"dreadplate,multitype,calmmind,focusblast,judgment,recover": 208, "dreadplate,multitype,calmmind,judgment,recover,refresh": 203}, + "arceusdragon": {"dracoplate,multitype,earthquake,outrage,recover,swordsdance": 108, "dracoplate,multitype,calmmind,judgment,recover,refresh": 87, "dracoplate,multitype,calmmind,fireblast,judgment,recover": 79, "dracoplate,multitype,earthquake,extremespeed,outrage,swordsdance": 95, "dracoplate,multitype,calmmind,earthpower,judgment,recover": 67}, + "arceuselectric": {"zapplate,multitype,calmmind,icebeam,judgment,recover": 431}, + "arceusfighting": {"fistplate,multitype,calmmind,icebeam,judgment,recover": 235, "fistplate,multitype,calmmind,darkpulse,judgment,recover": 239}, + "arceusfire": {"flameplate,multitype,calmmind,icebeam,judgment,recover": 35, "flameplate,multitype,calmmind,earthpower,judgment,recover": 49, "flameplate,multitype,calmmind,icebeam,judgment,thunderbolt": 83, "flameplate,multitype,calmmind,earthpower,judgment,thunderbolt": 102, "flameplate,multitype,calmmind,earthpower,icebeam,judgment": 95, "flameplate,multitype,calmmind,judgment,recover,thunderbolt": 42}, + "arceusflying": {"skyplate,multitype,calmmind,earthpower,judgment,recover": 171, "skyplate,multitype,calmmind,judgment,recover,refresh": 162}, + "arceusghost": {"spookyplate,multitype,focusblast,judgment,recover,willowisp": 216, "spookyplate,multitype,calmmind,focusblast,judgment,recover": 222}, + "arceusgrass": {"meadowplate,multitype,calmmind,fireblast,judgment,recover": 191, "meadowplate,multitype,calmmind,earthpower,icebeam,judgment": 185}, + "arceusground": {"earthplate,multitype,calmmind,icebeam,judgment,recover": 208, "earthplate,multitype,earthquake,recover,stoneedge,swordsdance": 103, "earthplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 100}, + "arceusice": {"icicleplate,multitype,calmmind,judgment,recover,thunderbolt": 180, "icicleplate,multitype,calmmind,earthpower,judgment,recover": 209}, + "arceuspoison": {"toxicplate,multitype,earthquake,icebeam,recover,sludgebomb": 63, "toxicplate,multitype,calmmind,earthpower,fireblast,sludgebomb": 82, "toxicplate,multitype,earthquake,fireblast,recover,sludgebomb": 60, "toxicplate,multitype,calmmind,earthpower,recover,sludgebomb": 88, "toxicplate,multitype,earthquake,recover,sludgebomb,stealthrock": 29, "toxicplate,multitype,earthquake,recover,sludgebomb,willowisp": 57}, + "arceuspsychic": {"mindplate,multitype,calmmind,darkpulse,focusblast,judgment": 184, "mindplate,multitype,calmmind,focusblast,judgment,recover": 207}, + "arceusrock": {"stoneplate,multitype,earthquake,recover,stoneedge,swordsdance": 83, "stoneplate,multitype,calmmind,fireblast,judgment,recover": 99, "stoneplate,multitype,calmmind,earthpower,judgment,recover": 91, "stoneplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 102}, + "arceussteel": {"ironplate,multitype,earthquake,judgment,recover,toxic": 111, "ironplate,multitype,earthquake,judgment,recover,willowisp": 86, "ironplate,multitype,calmmind,earthpower,judgment,recover": 170}, + "arceuswater": {"splashplate,multitype,calmmind,icebeam,judgment,recover": 184, "splashplate,multitype,icebeam,judgment,recover,willowisp": 175}, + "ariados": {"blacksludge,swarm,bugbite,poisonjab,suckerpunch,toxicspikes": 1003, "blacksludge,insomnia,bugbite,poisonjab,suckerpunch,toxicspikes": 1016}, + "armaldo": {"leftovers,battlearmor,rapidspin,stealthrock,stoneedge,toxic": 271, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,xscissor": 282, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,toxic": 379, "leftovers,battlearmor,rapidspin,stoneedge,toxic,xscissor": 408, "leftovers,battlearmor,rockpolish,stoneedge,swordsdance,xscissor": 12, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,xscissor": 421, "leftovers,battlearmor,aquatail,rockpolish,stoneedge,xscissor": 24, "leftovers,battlearmor,earthquake,rapidspin,stealthrock,stoneedge": 271, "leftovers,battlearmor,aquatail,earthquake,stoneedge,swordsdance": 26, "choiceband,battlearmor,aquatail,earthquake,stoneedge,xscissor": 33, "leftovers,battlearmor,aquatail,stealthrock,stoneedge,xscissor": 14, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,xscissor": 11, "leftovers,battlearmor,aquatail,stoneedge,swordsdance,xscissor": 17, "leftovers,battlearmor,earthquake,rockpolish,stoneedge,xscissor": 29, "leftovers,battlearmor,earthquake,rockpolish,stoneedge,swordsdance": 13, "leftovers,battlearmor,aquatail,earthquake,rockpolish,stoneedge": 21, "leftovers,battlearmor,earthquake,stoneedge,swordsdance,xscissor": 22, "leftovers,battlearmor,aquatail,earthquake,stealthrock,stoneedge": 18, "leftovers,battlearmor,aquatail,rockpolish,stoneedge,swordsdance": 9}, + "articuno": {"leftovers,pressure,icebeam,roost,substitute,toxic": 1091, "leftovers,pressure,healbell,icebeam,roost,toxic": 949}, + "azelf": {"leftovers,levitate,explosion,psychic,stealthrock,uturn": 84, "lifeorb,levitate,fireblast,nastyplot,psychic,thunderbolt": 179, "focussash,levitate,fireblast,psychic,stealthrock,taunt": 29, "choicespecs,levitate,fireblast,psychic,thunderbolt,trick": 175, "focussash,levitate,explosion,psychic,stealthrock,uturn": 16, "choicespecs,levitate,fireblast,psychic,signalbeam,uturn": 171, "choicespecs,levitate,fireblast,psychic,thunderbolt,uturn": 186, "choicespecs,levitate,fireblast,psychic,signalbeam,trick": 169, "focussash,levitate,explosion,psychic,stealthrock,taunt": 22, "lifeorb,levitate,explosion,fireblast,psychic,stealthrock": 82, "leftovers,levitate,explosion,psychic,stealthrock,taunt": 74, "leftovers,levitate,fireblast,psychic,stealthrock,uturn": 78, "choicespecs,levitate,fireblast,psychic,signalbeam,thunderbolt": 112, "leftovers,levitate,fireblast,psychic,taunt,uturn": 156, "lifeorb,levitate,fireblast,nastyplot,psychic,signalbeam": 203, "leftovers,levitate,explosion,fireblast,psychic,uturn": 139, "leftovers,levitate,explosion,psychic,taunt,uturn": 162, "lifeorb,levitate,explosion,fireblast,psychic,taunt": 156, "leftovers,levitate,fireblast,psychic,stealthrock,taunt": 70, "focussash,levitate,fireblast,psychic,stealthrock,uturn": 24, "leftovers,levitate,psychic,stealthrock,taunt,uturn": 82, "focussash,levitate,psychic,stealthrock,taunt,uturn": 24, "focussash,levitate,explosion,fireblast,psychic,stealthrock": 23}, + "azumarill": {"sitrusberry,hugepower,aquajet,bellydrum,return,waterfall": 1137, "choiceband,hugepower,aquajet,icepunch,superpower,waterfall": 577, "choiceband,hugepower,aquajet,doubleedge,icepunch,waterfall": 549}, + "banette": {"lifeorb,frisk,hiddenpowerfighting,shadowclaw,shadowsneak,willowisp": 1253, "lifeorb,frisk,hiddenpowerfighting,shadowclaw,shadowsneak,thunderwave": 1303}, + "bastiodon": {"leftovers,sturdy,roar,rockslide,stealthrock,toxic": 230, "leftovers,sturdy,metalburst,roar,rockslide,stealthrock": 212, "leftovers,sturdy,metalburst,roar,rockslide,toxic": 402, "leftovers,sturdy,protect,rockslide,stealthrock,toxic": 293, "leftovers,sturdy,metalburst,rockslide,stealthrock,toxic": 184, "leftovers,sturdy,metalburst,protect,rockslide,toxic": 368, "leftovers,sturdy,protect,roar,rockslide,toxic": 390}, + "beautifly": {"choicespecs,swarm,bugbuzz,hiddenpowerground,psychic,uturn": 1981}, + "beedrill": {"lifeorb,swarm,brickbreak,poisonjab,swordsdance,xscissor": 589, "focussash,swarm,brickbreak,poisonjab,toxicspikes,uturn": 184, "blacksludge,swarm,brickbreak,poisonjab,toxicspikes,uturn": 989, "choiceband,swarm,brickbreak,poisonjab,uturn,xscissor": 581}, + "bellossom": {"leftovers,chlorophyll,hiddenpowerfire,leafstorm,sleeppowder,synthesis": 133, "leftovers,chlorophyll,energyball,hiddenpowerrock,sleeppowder,synthesis": 147, "leftovers,chlorophyll,energyball,leechseed,stunspore,synthesis": 107, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,stunspore,synthesis": 142, "leftovers,chlorophyll,energyball,sleeppowder,stunspore,synthesis": 119, "leftovers,chlorophyll,hiddenpowerrock,leafstorm,stunspore,synthesis": 156, "leftovers,chlorophyll,energyball,hiddenpowerfire,stunspore,synthesis": 120, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,leechseed,synthesis": 122, "leftovers,chlorophyll,energyball,hiddenpowerrock,leechseed,synthesis": 140, "leftovers,chlorophyll,energyball,hiddenpowerfire,sleeppowder,synthesis": 125, "leftovers,chlorophyll,hiddenpowerrock,leafstorm,sleeppowder,synthesis": 134, "leftovers,chlorophyll,hiddenpowerrock,leafstorm,leechseed,synthesis": 126, "leftovers,chlorophyll,energyball,hiddenpowerrock,stunspore,synthesis": 128, "leftovers,chlorophyll,leafstorm,leechseed,sleeppowder,synthesis": 114, "leftovers,chlorophyll,energyball,hiddenpowerfire,leechseed,synthesis": 114, "leftovers,chlorophyll,energyball,leechseed,sleeppowder,synthesis": 86, "leftovers,chlorophyll,leafstorm,leechseed,stunspore,synthesis": 103, "leftovers,chlorophyll,leafstorm,sleeppowder,stunspore,synthesis": 115}, + "bibarel": {"lifeorb,simple,curse,quickattack,return,waterfall": 988, "leftovers,simple,curse,quickattack,return,waterfall": 974}, + "blastoise": {"leftovers,torrent,icebeam,rapidspin,surf,toxic": 336, "leftovers,torrent,rapidspin,roar,surf,toxic": 344, "chestoberry,torrent,rapidspin,rest,surf,toxic": 323, "chestoberry,torrent,rapidspin,rest,roar,surf": 318, "leftovers,torrent,rest,sleeptalk,surf,toxic": 116, "leftovers,torrent,icebeam,rapidspin,roar,surf": 360, "chestoberry,torrent,icebeam,rapidspin,rest,surf": 352, "leftovers,torrent,icebeam,rest,sleeptalk,surf": 97}, + "blaziken": {"lifeorb,blaze,agility,fireblast,stoneedge,superpower": 269, "choiceband,blaze,flareblitz,stoneedge,superpower,thunderpunch": 383, "lifeorb,blaze,agility,fireblast,superpower,thunderpunch": 279, "lifeorb,blaze,flareblitz,superpower,swordsdance,thunderpunch": 393, "expertbelt,blaze,fireblast,stoneedge,superpower,thunderpunch": 193, "lifeorb,blaze,flareblitz,stoneedge,superpower,swordsdance": 424, "expertbelt,blaze,fireblast,superpower,thunderpunch,vacuumwave": 250, "expertbelt,blaze,fireblast,stoneedge,superpower,vacuumwave": 233}, + "blissey": {"leftovers,naturalcure,protect,seismictoss,toxic,wish": 1158, "leftovers,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 351, "leftovers,naturalcure,seismictoss,softboiled,thunderwave,toxic": 435, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,toxic": 336}, + "breloom": {"toxicorb,poisonheal,seedbomb,spore,superpower,swordsdance": 267, "toxicorb,poisonheal,focuspunch,spore,stoneedge,substitute": 1120, "toxicorb,poisonheal,facade,seedbomb,spore,superpower": 302, "toxicorb,poisonheal,seedbomb,spore,stoneedge,superpower": 284, "toxicorb,poisonheal,machpunch,seedbomb,spore,superpower": 276}, + "bronzong": {"choiceband,levitate,earthquake,explosion,ironhead,payback": 103, "leftovers,levitate,explosion,ironhead,payback,toxic": 138, "leftovers,levitate,earthquake,protect,psychic,toxic": 1116, "leftovers,levitate,earthquake,ironhead,payback,toxic": 138, "leftovers,levitate,earthquake,ironhead,payback,stealthrock": 84, "leftovers,levitate,earthquake,explosion,ironhead,toxic": 152, "leftovers,levitate,explosion,ironhead,stealthrock,toxic": 90, "leftovers,levitate,ironhead,payback,stealthrock,toxic": 95, "leftovers,levitate,explosion,ironhead,payback,stealthrock": 78, "leftovers,levitate,earthquake,explosion,ironhead,stealthrock": 85, "leftovers,levitate,earthquake,ironhead,stealthrock,toxic": 75}, + "butterfree": {"leftovers,compoundeyes,bugbuzz,sleeppowder,stunspore,uturn": 1923}, + "cacturne": {"lifeorb,sandveil,darkpulse,lowkick,seedbomb,suckerpunch": 108, "lifeorb,sandveil,lowkick,seedbomb,suckerpunch,swordsdance": 660, "leftovers,sandveil,focuspunch,seedbomb,substitute,suckerpunch": 703, "lifeorb,sandveil,encore,lowkick,seedbomb,suckerpunch": 124, "lifeorb,sandveil,darkpulse,encore,seedbomb,suckerpunch": 125, "lifeorb,sandveil,darkpulse,seedbomb,spikes,suckerpunch": 124, "lifeorb,sandveil,lowkick,seedbomb,spikes,suckerpunch": 111, "lifeorb,sandveil,encore,seedbomb,spikes,suckerpunch": 111}, + "camerupt": {"lifeorb,solidrock,earthquake,explosion,fireblast,rockpolish": 583, "leftovers,solidrock,earthquake,explosion,lavaplume,toxic": 515, "lifeorb,solidrock,earthquake,fireblast,rockpolish,stoneedge": 576, "leftovers,solidrock,earthquake,explosion,lavaplume,stealthrock": 306, "leftovers,solidrock,earthquake,lavaplume,stealthrock,toxic": 299}, + "carnivine": {"leftovers,levitate,powerwhip,return,swordsdance,synthesis": 543, "leftovers,levitate,powerwhip,sleeppowder,swordsdance,synthesis": 611, "leftovers,levitate,knockoff,powerwhip,sleeppowder,synthesis": 1124}, + "castform": {"leftovers,forecast,icebeam,return,thunderbolt,thunderwave": 507, "leftovers,forecast,fireblast,return,thunderbolt,thunderwave": 499, "leftovers,forecast,fireblast,icebeam,return,thunderwave": 475, "leftovers,forecast,fireblast,icebeam,return,thunderbolt": 743}, + "celebi": {"choicespecs,naturalcure,earthpower,leafstorm,psychic,uturn": 152, "leftovers,naturalcure,leafstorm,recover,stealthrock,uturn": 99, "lifeorb,naturalcure,energyball,nastyplot,psychic,recover": 377, "choicespecs,naturalcure,earthpower,energyball,psychic,uturn": 176, "leftovers,naturalcure,batonpass,energyball,nastyplot,psychic": 394, "leftovers,naturalcure,leafstorm,psychic,recover,stealthrock": 88, "leftovers,naturalcure,leafstorm,psychic,recover,thunderwave": 132, "lifeorb,naturalcure,earthpower,energyball,nastyplot,psychic": 195, "lifeorb,naturalcure,earthpower,leafstorm,nastyplot,psychic": 169, "leftovers,naturalcure,leafstorm,recover,stealthrock,thunderwave": 85, "leftovers,naturalcure,leafstorm,psychic,recover,uturn": 122, "leftovers,naturalcure,leafstorm,recover,thunderwave,uturn": 148}, + "charizard": {"choicespecs,blaze,airslash,dragonpulse,fireblast,hiddenpowergrass": 313, "leftovers,blaze,airslash,dragonpulse,fireblast,roost": 677, "leftovers,blaze,airslash,fireblast,hiddenpowergrass,roost": 680, "choicescarf,blaze,airslash,dragonpulse,fireblast,hiddenpowergrass": 310}, + "chatot": {"lifeorb,tangledfeet,encore,heatwave,hypervoice,nastyplot": 176, "choicespecs,tangledfeet,chatter,heatwave,hypervoice,uturn": 176, "lifeorb,tangledfeet,chatter,hiddenpowergrass,hypervoice,nastyplot": 181, "choicescarf,tangledfeet,chatter,heatwave,hiddenpowergrass,hypervoice": 177, "lifeorb,tangledfeet,heatwave,hiddenpowergrass,hypervoice,nastyplot": 338, "choicespecs,tangledfeet,chatter,hiddenpowergrass,hypervoice,uturn": 177, "lifeorb,tangledfeet,encore,hiddenpowergrass,hypervoice,nastyplot": 190, "choicespecs,tangledfeet,heatwave,hiddenpowergrass,hypervoice,uturn": 346, "choicespecs,tangledfeet,chatter,heatwave,hiddenpowergrass,hypervoice": 177, "lifeorb,tangledfeet,chatter,heatwave,hypervoice,nastyplot": 156}, + "cherrim": {"leftovers,flowergift,energyball,leechseed,synthesis,toxic": 786, "leftovers,flowergift,energyball,hiddenpowerground,synthesis,toxic": 817, "leftovers,flowergift,aromatherapy,energyball,synthesis,toxic": 681}, + "chimecho": {"leftovers,levitate,healbell,psychic,recover,thunderwave": 236, "leftovers,levitate,calmmind,psychic,recover,signalbeam": 582, "leftovers,levitate,calmmind,hiddenpowerfighting,psychic,recover": 575, "leftovers,levitate,healbell,hiddenpowerfighting,psychic,recover": 187, "leftovers,levitate,healbell,psychic,recover,toxic": 221, "leftovers,levitate,hiddenpowerfighting,psychic,recover,toxic": 277, "leftovers,levitate,hiddenpowerfighting,psychic,recover,thunderwave": 282}, + "claydol": {"leftovers,levitate,earthquake,explosion,icebeam,rapidspin": 225, "leftovers,levitate,earthquake,rapidspin,stealthrock,toxic": 173, "leftovers,levitate,earthquake,icebeam,psychic,rapidspin": 229, "leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 229, "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 213, "leftovers,levitate,earthquake,explosion,icebeam,toxic": 34, "leftovers,levitate,earthquake,psychic,rapidspin,stealthrock": 188, "leftovers,levitate,earthquake,explosion,psychic,stealthrock": 15, "leftovers,levitate,earthquake,explosion,rapidspin,toxic": 198, "leftovers,levitate,earthquake,icebeam,psychic,toxic": 28, "leftovers,levitate,earthquake,explosion,psychic,rapidspin": 209, "leftovers,levitate,earthquake,explosion,icebeam,psychic": 33, "leftovers,levitate,earthquake,icebeam,psychic,stealthrock": 17, "leftovers,levitate,earthquake,explosion,rapidspin,stealthrock": 177, "leftovers,levitate,earthquake,icebeam,rapidspin,stealthrock": 154, "leftovers,levitate,earthquake,icebeam,stealthrock,toxic": 12, "leftovers,levitate,earthquake,explosion,stealthrock,toxic": 20, "leftovers,levitate,earthquake,explosion,psychic,toxic": 36, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 24, "leftovers,levitate,earthquake,explosion,icebeam,stealthrock": 17}, + "clefable": {"lifeorb,magicguard,doubleedge,fireblast,softboiled,thunderwave": 102, "lifeorb,magicguard,aromatherapy,doubleedge,fireblast,softboiled": 113, "lifeorb,magicguard,calmmind,icebeam,softboiled,thunderbolt": 1069, "lifeorb,magicguard,doubleedge,icebeam,softboiled,thunderwave": 121, "lifeorb,magicguard,aromatherapy,doubleedge,softboiled,thunderwave": 122, "lifeorb,magicguard,aromatherapy,doubleedge,icebeam,softboiled": 115, "lifeorb,magicguard,doubleedge,icebeam,softboiled,stealthrock": 110, "lifeorb,magicguard,doubleedge,fireblast,softboiled,stealthrock": 106, "lifeorb,magicguard,aromatherapy,doubleedge,softboiled,stealthrock": 76, "lifeorb,magicguard,doubleedge,softboiled,stealthrock,thunderwave": 100, "lifeorb,magicguard,doubleedge,fireblast,icebeam,softboiled": 122}, + "cloyster": {"leftovers,skilllink,explosion,rapidspin,rockblast,surf": 171, "leftovers,shellarmor,explosion,iceshard,rapidspin,surf": 170, "leftovers,shellarmor,rapidspin,spikes,surf,toxicspikes": 175, "leftovers,shellarmor,iceshard,rapidspin,spikes,surf": 196, "leftovers,shellarmor,iceshard,rapidspin,surf,toxicspikes": 188, "leftovers,shellarmor,explosion,iceshard,surf,toxicspikes": 12, "leftovers,shellarmor,explosion,rapidspin,spikes,surf": 170, "leftovers,skilllink,rapidspin,rockblast,spikes,surf": 171, "leftovers,shellarmor,explosion,rapidspin,surf,toxicspikes": 197, "leftovers,skilllink,iceshard,rapidspin,rockblast,surf": 195, "leftovers,shellarmor,explosion,spikes,surf,toxicspikes": 16, "leftovers,skilllink,rapidspin,rockblast,surf,toxicspikes": 150, "leftovers,skilllink,iceshard,rockblast,spikes,surf": 20, "leftovers,shellarmor,iceshard,spikes,surf,toxicspikes": 20, "leftovers,skilllink,explosion,iceshard,rockblast,surf": 30, "leftovers,skilllink,iceshard,rockblast,surf,toxicspikes": 20, "leftovers,shellarmor,explosion,iceshard,spikes,surf": 16, "leftovers,skilllink,explosion,rockblast,surf,toxicspikes": 16, "leftovers,skilllink,explosion,rockblast,spikes,surf": 26, "leftovers,skilllink,rockblast,spikes,surf,toxicspikes": 27}, + "corsola": {"leftovers,naturalcure,powergem,recover,surf,toxic": 397, "leftovers,naturalcure,recover,stealthrock,surf,toxic": 270, "leftovers,naturalcure,explosion,recover,stealthrock,surf": 273, "leftovers,naturalcure,powergem,recover,stealthrock,surf": 241, "leftovers,naturalcure,explosion,recover,surf,toxic": 387, "leftovers,naturalcure,explosion,powergem,recover,surf": 387}, + "cradily": {"leftovers,suctioncups,earthquake,recover,stealthrock,stoneedge": 175, "leftovers,suctioncups,earthquake,recover,stoneedge,toxic": 263, "leftovers,suctioncups,curse,recover,seedbomb,stoneedge": 239, "leftovers,suctioncups,earthquake,recover,stoneedge,swordsdance": 217, "leftovers,suctioncups,earthquake,recover,seedbomb,stoneedge": 453, "leftovers,suctioncups,recover,seedbomb,stoneedge,swordsdance": 247, "leftovers,suctioncups,curse,earthquake,recover,stoneedge": 250, "leftovers,suctioncups,recover,seedbomb,stealthrock,stoneedge": 178, "leftovers,suctioncups,recover,seedbomb,stoneedge,toxic": 230}, + "crawdaunt": {"lifeorb,hypercutter,crunch,dragondance,waterfall,xscissor": 702, "choiceband,hypercutter,crunch,superpower,waterfall,xscissor": 679, "lifeorb,hypercutter,crunch,dragondance,superpower,waterfall": 717}, + "cresselia": {"leftovers,levitate,calmmind,hiddenpowerfighting,moonlight,psychic": 585, "leftovers,levitate,calmmind,moonlight,psychic,signalbeam": 540, "leftovers,levitate,hiddenpowerfighting,moonlight,psychic,thunderwave": 595, "leftovers,levitate,hiddenpowerfighting,moonlight,psychic,toxic": 600}, + "crobat": {"blacksludge,innerfocus,bravebird,heatwave,roost,toxic": 193, "blacksludge,innerfocus,bravebird,roost,superfang,toxic": 255, "blacksludge,innerfocus,bravebird,roost,superfang,uturn": 218, "blacksludge,innerfocus,bravebird,roost,toxic,uturn": 202, "blacksludge,innerfocus,bravebird,heatwave,roost,superfang": 209, "blacksludge,innerfocus,bravebird,heatwave,roost,uturn": 197, "blacksludge,innerfocus,bravebird,roost,taunt,toxic": 168, "blacksludge,innerfocus,bravebird,heatwave,roost,taunt": 194, "blacksludge,innerfocus,bravebird,roost,taunt,uturn": 200, "blacksludge,innerfocus,bravebird,roost,superfang,taunt": 207}, + "darkrai": {"leftovers,baddreams,darkpulse,darkvoid,nastyplot,substitute": 1286, "lifeorb,baddreams,darkpulse,darkvoid,focusblast,nastyplot": 1175}, + "delcatty": {"leftovers,cutecharm,batonpass,calmmind,icebeam,thunderbolt": 666, "leftovers,cutecharm,doubleedge,healbell,suckerpunch,thunderwave": 80, "silkscarf,cutecharm,doubleedge,fakeout,healbell,toxic": 94, "silkscarf,cutecharm,doubleedge,fakeout,suckerpunch,thunderwave": 104, "leftovers,cutecharm,doubleedge,protect,thunderwave,wish": 330, "silkscarf,cutecharm,doubleedge,fakeout,healbell,thunderwave": 89, "leftovers,cutecharm,doubleedge,protect,toxic,wish": 344, "leftovers,cutecharm,doubleedge,healbell,suckerpunch,toxic": 91, "silkscarf,cutecharm,doubleedge,fakeout,healbell,suckerpunch": 67, "silkscarf,cutecharm,doubleedge,fakeout,suckerpunch,toxic": 114}, + "delibird": {"leftovers,vitalspirit,icebeam,iceshard,rapidspin,seismictoss": 810, "leftovers,vitalspirit,icebeam,rapidspin,seismictoss,toxic": 749, "leftovers,vitalspirit,icebeam,iceshard,seismictoss,toxic": 208}, + "deoxys": {"lifeorb,pressure,extremespeed,psychoboost,shadowball,superpower": 587, "lifeorb,pressure,icebeam,psychoboost,shadowball,superpower": 595}, + "deoxysattack": {"lifeorb,pressure,icebeam,psychoboost,shadowball,superpower": 598, "lifeorb,pressure,extremespeed,psychoboost,shadowball,superpower": 596}, + "deoxysdefense": {"leftovers,pressure,recover,seismictoss,spikes,taunt": 238, "leftovers,pressure,recover,seismictoss,stealthrock,taunt": 164, "leftovers,pressure,recover,seismictoss,spikes,toxic": 255, "leftovers,pressure,recover,seismictoss,stealthrock,toxic": 130, "leftovers,pressure,recover,seismictoss,taunt,toxic": 225, "leftovers,pressure,recover,seismictoss,spikes,stealthrock": 136}, + "deoxysspeed": {"leftovers,pressure,psychoboost,spikes,superpower,taunt": 450, "focussash,pressure,psychoboost,spikes,superpower,taunt": 51, "focussash,pressure,psychoboost,spikes,stealthrock,taunt": 46, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt": 225, "leftovers,pressure,psychoboost,spikes,stealthrock,taunt": 167, "focussash,pressure,psychoboost,spikes,stealthrock,superpower": 36, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower": 183, "focussash,pressure,psychoboost,stealthrock,superpower,taunt": 40}, + "dewgong": {"damprock,hydration,raindance,rest,surf,toxic": 653, "leftovers,thickfat,icebeam,protect,surf,toxic": 642, "leftovers,thickfat,encore,icebeam,surf,toxic": 328, "damprock,hydration,icebeam,raindance,rest,surf": 330}, + "dialga": {"leftovers,pressure,bulkup,outrage,rest,sleeptalk": 732, "leftovers,pressure,aurasphere,dracometeor,fireblast,stealthrock": 64, "leftovers,pressure,aurasphere,dracometeor,fireblast,toxic": 85, "chestoberry,pressure,bulkup,dragonclaw,earthquake,rest": 375, "leftovers,pressure,bulkup,dragonclaw,earthquake,fireblast": 389, "leftovers,pressure,dracometeor,fireblast,roar,toxic": 74, "leftovers,pressure,dracometeor,fireblast,stealthrock,thunderbolt": 58, "leftovers,pressure,dracometeor,fireblast,roar,thunderbolt": 74, "leftovers,pressure,dracometeor,fireblast,stealthrock,toxic": 48, "leftovers,pressure,dracometeor,fireblast,roar,stealthrock": 58, "leftovers,pressure,aurasphere,dracometeor,fireblast,roar": 83, "choicescarf,pressure,aurasphere,dracometeor,fireblast,thunderbolt": 44, "choicespecs,pressure,aurasphere,dracometeor,fireblast,thunderbolt": 50, "leftovers,pressure,dracometeor,fireblast,thunderbolt,toxic": 86}, + "ditto": {"choicescarf,limber,transform": 2087}, + "dodrio": {"lifeorb,earlybird,bravebird,pursuit,return,roost": 688, "choiceband,earlybird,bravebird,pursuit,quickattack,return": 726, "lifeorb,earlybird,bravebird,quickattack,return,roost": 691}, + "donphan": {"leftovers,sturdy,earthquake,iceshard,rapidspin,stoneedge": 773, "leftovers,sturdy,earthquake,rapidspin,stealthrock,stoneedge": 571, "leftovers,sturdy,earthquake,rapidspin,stoneedge,toxic": 764, "choiceband,sturdy,earthquake,gunkshot,iceshard,stoneedge": 152, "leftovers,sturdy,earthquake,gunkshot,stealthrock,stoneedge": 55, "leftovers,sturdy,earthquake,iceshard,stealthrock,stoneedge": 64}, + "dragonite": {"choiceband,innerfocus,earthquake,extremespeed,outrage,superpower": 995, "lumberry,innerfocus,dragondance,earthquake,outrage,roost": 533, "lumberry,innerfocus,dragondance,earthquake,firepunch,outrage": 546}, + "drapion": {"lifeorb,battlearmor,aquatail,crunch,earthquake,swordsdance": 268, "choiceband,battlearmor,aquatail,crunch,earthquake,poisonjab": 188, "blacksludge,battlearmor,crunch,earthquake,taunt,whirlwind": 122, "lifeorb,battlearmor,crunch,earthquake,poisonjab,swordsdance": 244, "choiceband,battlearmor,aquatail,crunch,earthquake,pursuit": 250, "choiceband,battlearmor,crunch,earthquake,poisonjab,pursuit": 239, "blacksludge,battlearmor,crunch,earthquake,poisonjab,toxicspikes": 112, "blacksludge,battlearmor,crunch,earthquake,taunt,toxicspikes": 124, "blacksludge,battlearmor,crunch,poisonjab,toxicspikes,whirlwind": 97, "blacksludge,battlearmor,crunch,earthquake,poisonjab,taunt": 129, "blacksludge,battlearmor,crunch,earthquake,poisonjab,whirlwind": 121, "blacksludge,battlearmor,crunch,taunt,toxicspikes,whirlwind": 131, "blacksludge,battlearmor,crunch,poisonjab,taunt,toxicspikes": 123, "blacksludge,battlearmor,crunch,poisonjab,taunt,whirlwind": 109, "blacksludge,battlearmor,crunch,earthquake,toxicspikes,whirlwind": 103}, + "drifblim": {"sitrusberry,unburden,calmmind,hiddenpowerfighting,shadowball,thunderbolt": 542, "sitrusberry,unburden,calmmind,shadowball,substitute,thunderbolt": 307, "chestoberry,unburden,calmmind,rest,shadowball,thunderbolt": 278, "sitrusberry,unburden,calmmind,hiddenpowerfighting,shadowball,substitute": 272, "sitrusberry,unburden,batonpass,calmmind,shadowball,thunderbolt": 275, "chestoberry,unburden,calmmind,hiddenpowerfighting,rest,shadowball": 284, "sitrusberry,unburden,batonpass,calmmind,hiddenpowerfighting,shadowball": 286}, + "dugtrio": {"choiceband,arenatrap,earthquake,nightslash,stoneedge,suckerpunch": 1133, "lifeorb,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 516, "lifeorb,arenatrap,earthquake,nightslash,stealthrock,stoneedge": 501, "focussash,arenatrap,earthquake,nightslash,stealthrock,stoneedge": 112, "focussash,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 142}, + "dunsparce": {"leftovers,serenegrace,earthquake,headbutt,roost,thunderwave": 1089, "leftovers,serenegrace,bite,bodyslam,earthquake,roost": 726, "leftovers,serenegrace,bite,bodyslam,roost,stealthrock": 418}, + "dusknoir": {"leftovers,pressure,earthquake,painsplit,shadowsneak,toxic": 141, "choiceband,pressure,earthquake,icepunch,shadowsneak,trick": 218, "leftovers,pressure,earthquake,icepunch,shadowsneak,toxic": 123, "leftovers,pressure,earthquake,protect,shadowsneak,toxic": 817, "leftovers,pressure,focuspunch,painsplit,shadowsneak,substitute": 837, "leftovers,pressure,earthquake,painsplit,shadowsneak,willowisp": 146, "leftovers,pressure,earthquake,icepunch,painsplit,shadowsneak": 113, "leftovers,pressure,earthquake,icepunch,shadowsneak,willowisp": 141}, + "dustox": {"blacksludge,shielddust,bugbuzz,roost,toxic,whirlwind": 667, "blacksludge,shielddust,bugbuzz,roost,toxic,uturn": 711, "blacksludge,shielddust,bugbuzz,hiddenpowerground,roost,toxic": 661}, + "electivire": {"expertbelt,motordrive,crosschop,flamethrower,icepunch,thunderbolt": 409, "expertbelt,motordrive,earthquake,flamethrower,icepunch,thunderbolt": 399, "expertbelt,motordrive,crosschop,earthquake,icepunch,thunderbolt": 393, "expertbelt,motordrive,flamethrower,hiddenpowergrass,icepunch,thunderbolt": 406, "expertbelt,motordrive,earthquake,hiddenpowergrass,icepunch,thunderbolt": 394, "expertbelt,motordrive,crosschop,hiddenpowergrass,icepunch,thunderbolt": 422}, + "electrode": {"lifeorb,static,hiddenpowerice,signalbeam,taunt,thunderbolt": 802, "lifeorb,static,explosion,hiddenpowerice,signalbeam,thunderbolt": 822, "lifeorb,static,explosion,hiddenpowerice,taunt,thunderbolt": 778}, + "empoleon": {"leftovers,torrent,icebeam,roar,surf,toxic": 261, "leftovers,torrent,protect,stealthrock,surf,toxic": 279, "leftovers,torrent,icebeam,roar,stealthrock,surf": 158, "leftovers,torrent,icebeam,protect,surf,toxic": 376, "lifeorb,torrent,agility,grassknot,hydropump,icebeam": 664, "leftovers,torrent,icebeam,stealthrock,surf,toxic": 129, "leftovers,torrent,roar,stealthrock,surf,toxic": 138}, + "entei": {"choiceband,pressure,extremespeed,flareblitz,ironhead,stoneedge": 1074, "lifeorb,pressure,extremespeed,flareblitz,hiddenpowergrass,stoneedge": 1120}, + "espeon": {"leftovers,synchronize,batonpass,calmmind,hiddenpowerfighting,psychic": 432, "choicespecs,synchronize,hiddenpowerfighting,psychic,signalbeam,trick": 395, "lifeorb,synchronize,calmmind,hiddenpowerfighting,psychic,signalbeam": 234, "leftovers,synchronize,calmmind,hiddenpowerfighting,psychic,substitute": 401, "lifeorb,synchronize,calmmind,morningsun,psychic,signalbeam": 144, "lifeorb,synchronize,hiddenpowerfighting,morningsun,psychic,signalbeam": 243, "lifeorb,synchronize,calmmind,hiddenpowerfighting,morningsun,psychic": 527}, + "exeggutor": {"leftovers,chlorophyll,leafstorm,psychic,sleeppowder,synthesis": 730, "leftovers,chlorophyll,explosion,leafstorm,psychic,synthesis": 724, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,psychic,synthesis": 739}, + "exploud": {"lifeorb,soundproof,crunch,earthquake,icebeam,return": 233, "lifeorb,soundproof,earthquake,icebeam,return,surf": 230, "lifeorb,soundproof,fireblast,icebeam,return,surf": 233, "lifeorb,soundproof,crunch,earthquake,return,surf": 221, "lifeorb,soundproof,crunch,icebeam,return,surf": 236, "lifeorb,soundproof,earthquake,fireblast,icebeam,return": 225, "lifeorb,soundproof,earthquake,fireblast,return,surf": 212, "lifeorb,soundproof,crunch,earthquake,fireblast,return": 224, "lifeorb,soundproof,crunch,fireblast,icebeam,return": 212, "lifeorb,soundproof,crunch,fireblast,return,surf": 256}, + "farfetchd": {"stick,innerfocus,doubleedge,heatwave,leafblade,uturn": 159, "stick,innerfocus,leafblade,nightslash,return,swordsdance": 469, "stick,innerfocus,doubleedge,heatwave,leafblade,nightslash": 157, "stick,innerfocus,batonpass,leafblade,return,swordsdance": 450, "choiceband,innerfocus,doubleedge,leafblade,nightslash,quickattack": 148, "stick,innerfocus,doubleedge,heatwave,leafblade,quickattack": 144, "choiceband,innerfocus,doubleedge,leafblade,quickattack,uturn": 148, "choiceband,innerfocus,doubleedge,leafblade,nightslash,uturn": 148}, + "fearow": {"choiceband,keeneye,drillpeck,quickattack,return,uturn": 518, "choiceband,keeneye,doubleedge,drillpeck,pursuit,uturn": 529, "choiceband,keeneye,drillpeck,pursuit,return,uturn": 486, "choiceband,keeneye,doubleedge,drillpeck,quickattack,uturn": 526}, + "feraligatr": {"lifeorb,torrent,aquajet,return,swordsdance,waterfall": 707, "choiceband,torrent,aquajet,earthquake,icepunch,waterfall": 374, "lifeorb,torrent,dragondance,earthquake,icepunch,waterfall": 736, "choiceband,torrent,aquajet,icepunch,superpower,waterfall": 359}, + "flareon": {"leftovers,flashfire,lavaplume,protect,toxic,wish": 631, "leftovers,flashfire,hiddenpowergrass,lavaplume,protect,wish": 296, "leftovers,flashfire,fireblast,protect,superpower,wish": 250, "leftovers,flashfire,fireblast,protect,toxic,wish": 549, "leftovers,flashfire,lavaplume,protect,superpower,wish": 294, "leftovers,flashfire,fireblast,hiddenpowergrass,protect,wish": 270}, + "floatzel": {"choiceband,swiftswim,crunch,icepunch,return,waterfall": 348, "leftovers,swiftswim,bulkup,return,substitute,waterfall": 287, "choiceband,swiftswim,aquajet,icepunch,return,waterfall": 381, "leftovers,swiftswim,bulkup,icepunch,substitute,waterfall": 280, "lifeorb,swiftswim,bulkup,icepunch,return,waterfall": 544, "choiceband,swiftswim,aquajet,crunch,icepunch,waterfall": 397}, + "flygon": {"leftovers,levitate,dracometeor,earthquake,fireblast,roost": 512, "choiceband,levitate,earthquake,outrage,stoneedge,uturn": 193, "lifeorb,levitate,earthquake,outrage,roost,uturn": 361, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn": 188, "leftovers,levitate,dracometeor,earthquake,roost,uturn": 550, "lifeorb,levitate,earthquake,outrage,roost,stoneedge": 367}, + "forretress": {"leftovers,sturdy,explosion,payback,rapidspin,spikes": 429, "leftovers,sturdy,explosion,payback,rapidspin,toxicspikes": 436, "leftovers,sturdy,payback,rapidspin,spikes,stealthrock": 318, "leftovers,sturdy,explosion,payback,rapidspin,stealthrock": 312, "leftovers,sturdy,payback,rapidspin,stealthrock,toxicspikes": 279, "leftovers,sturdy,payback,rapidspin,spikes,toxicspikes": 384, "leftovers,sturdy,explosion,payback,spikes,toxicspikes": 124, "leftovers,sturdy,payback,spikes,stealthrock,toxicspikes": 46, "leftovers,sturdy,explosion,payback,spikes,stealthrock": 60, "leftovers,sturdy,explosion,payback,stealthrock,toxicspikes": 36}, + "froslass": {"leftovers,snowcloak,destinybond,icebeam,shadowball,thunderwave": 342, "leftovers,snowcloak,destinybond,icebeam,shadowball,taunt": 343, "leftovers,snowcloak,icebeam,shadowball,spikes,taunt": 321, "leftovers,snowcloak,icebeam,shadowball,taunt,thunderwave": 365, "focussash,snowcloak,icebeam,shadowball,spikes,thunderwave": 61, "leftovers,snowcloak,destinybond,icebeam,shadowball,spikes": 291, "leftovers,snowcloak,icebeam,shadowball,spikes,thunderwave": 329, "focussash,snowcloak,destinybond,icebeam,shadowball,spikes": 61, "focussash,snowcloak,icebeam,shadowball,spikes,taunt": 60}, + "furret": {"choiceband,keeneye,aquatail,doubleedge,firepunch,uturn": 331, "choiceband,keeneye,aquatail,doubleedge,shadowclaw,trick": 304, "choiceband,keeneye,aquatail,doubleedge,firepunch,shadowclaw": 373, "choiceband,keeneye,aquatail,doubleedge,firepunch,trick": 292, "choiceband,keeneye,doubleedge,firepunch,shadowclaw,uturn": 298, "choiceband,keeneye,doubleedge,firepunch,shadowclaw,trick": 324, "choiceband,keeneye,aquatail,doubleedge,shadowclaw,uturn": 314}, + "gallade": {"lifeorb,steadfast,closecombat,nightslash,swordsdance,zenheadbutt": 505, "choiceband,steadfast,closecombat,shadowsneak,trick,zenheadbutt": 482, "choicescarf,steadfast,closecombat,nightslash,trick,zenheadbutt": 477, "choiceband,steadfast,closecombat,nightslash,shadowsneak,zenheadbutt": 374, "lifeorb,steadfast,closecombat,shadowsneak,swordsdance,zenheadbutt": 505}, + "garchomp": {"leftovers,sandveil,dragonclaw,earthquake,substitute,swordsdance": 731, "lifeorb,sandveil,earthquake,fireblast,outrage,stoneedge": 330, "lumberry,sandveil,earthquake,outrage,stoneedge,swordsdance": 240, "lumberry,sandveil,earthquake,firefang,outrage,swordsdance": 215, "choicescarf,sandveil,earthquake,firefang,outrage,stoneedge": 129, "lifeorb,sandveil,earthquake,outrage,stealthrock,stoneedge": 204, "lifeorb,sandveil,earthquake,fireblast,outrage,stealthrock": 188, "choiceband,sandveil,earthquake,firefang,outrage,stoneedge": 139}, + "gardevoir": {"choicespecs,trace,focusblast,psychic,shadowball,thunderbolt": 90, "choicescarf,trace,focusblast,psychic,shadowball,trick": 240, "lifeorb,trace,calmmind,focusblast,psychic,willowisp": 377, "leftovers,trace,calmmind,focusblast,psychic,substitute": 390, "choicescarf,trace,focusblast,healingwish,psychic,thunderbolt": 264, "lifeorb,trace,calmmind,focusblast,psychic,shadowball": 399, "choicescarf,trace,focusblast,psychic,thunderbolt,trick": 226, "choicescarf,trace,focusblast,psychic,shadowball,thunderbolt": 109, "choicescarf,trace,focusblast,healingwish,psychic,shadowball": 267}, + "gastrodon": {"leftovers,stickyhold,earthquake,recover,surf,toxic": 1035, "leftovers,stickyhold,earthquake,icebeam,recover,surf": 1025}, + "gengar": {"lifeorb,levitate,explosion,focusblast,shadowball,sludgebomb": 451, "blacksludge,levitate,focusblast,shadowball,sludgebomb,substitute": 496, "lifeorb,levitate,focusblast,painsplit,shadowball,sludgebomb": 467, "lifeorb,levitate,focusblast,shadowball,sludgebomb,willowisp": 476, "choicespecs,levitate,focusblast,shadowball,sludgebomb,trick": 427}, + "girafarig": {"leftovers,innerfocus,batonpass,calmmind,hiddenpowerfighting,psychic": 370, "lifeorb,innerfocus,calmmind,hiddenpowerfighting,psychic,thunderbolt": 693, "leftovers,innerfocus,batonpass,calmmind,psychic,thunderbolt": 384, "leftovers,innerfocus,calmmind,hiddenpowerfighting,psychic,substitute": 375, "leftovers,innerfocus,calmmind,psychic,substitute,thunderbolt": 360}, + "giratina": {"leftovers,pressure,calmmind,dragonpulse,rest,sleeptalk": 1179}, + "giratinaorigin": {"griseousorb,levitate,dracometeor,earthquake,shadowball,shadowsneak": 93, "griseousorb,levitate,dracometeor,earthquake,outrage,shadowball": 213, "griseousorb,levitate,dracometeor,shadowball,shadowsneak,willowisp": 97, "griseousorb,levitate,dracometeor,outrage,shadowball,shadowsneak": 228, "griseousorb,levitate,earthquake,outrage,shadowball,shadowsneak": 100, "griseousorb,levitate,dracometeor,earthquake,shadowball,willowisp": 103, "griseousorb,levitate,outrage,shadowball,shadowsneak,willowisp": 100, "griseousorb,levitate,earthquake,outrage,shadowball,willowisp": 108, "griseousorb,levitate,dracometeor,outrage,shadowball,willowisp": 180}, + "glaceon": {"leftovers,snowcloak,icebeam,protect,toxic,wish": 1119, "leftovers,snowcloak,hiddenpowerground,icebeam,protect,wish": 623, "leftovers,snowcloak,healbell,icebeam,protect,wish": 467}, + "glalie": {"leftovers,innerfocus,earthquake,icebeam,spikes,taunt": 480, "lifeorb,innerfocus,earthquake,explosion,icebeam,taunt": 557, "lifeorb,innerfocus,earthquake,explosion,icebeam,spikes": 458, "focussash,innerfocus,explosion,icebeam,spikes,taunt": 100, "leftovers,innerfocus,explosion,icebeam,spikes,taunt": 456, "focussash,innerfocus,earthquake,explosion,icebeam,spikes": 93, "focussash,innerfocus,earthquake,icebeam,spikes,taunt": 91}, + "gliscor": {"leftovers,hypercutter,earthquake,roost,stoneedge,swordsdance": 1060, "leftovers,hypercutter,earthquake,roost,toxic,uturn": 292, "leftovers,hypercutter,earthquake,roost,taunt,toxic": 266, "leftovers,hypercutter,earthquake,roost,stoneedge,toxic": 281, "leftovers,hypercutter,earthquake,roost,stealthrock,toxic": 215}, + "golduck": {"lifeorb,cloudnine,encore,hiddenpowergrass,hydropump,icebeam": 88, "lifeorb,cloudnine,encore,hiddenpowergrass,icebeam,surf": 116, "lifeorb,cloudnine,calmmind,hiddenpowergrass,hydropump,icebeam": 104, "choicespecs,cloudnine,hiddenpowergrass,icebeam,psychic,surf": 53, "choicescarf,cloudnine,focusblast,hydropump,icebeam,psychic": 54, "lifeorb,cloudnine,encore,focusblast,hydropump,icebeam": 114, "lifeorb,cloudnine,calmmind,icebeam,psychic,surf": 95, "lifeorb,cloudnine,encore,icebeam,psychic,surf": 103, "lifeorb,cloudnine,calmmind,encore,icebeam,surf": 123, "lifeorb,cloudnine,calmmind,hiddenpowergrass,icebeam,surf": 109, "lifeorb,cloudnine,calmmind,encore,hydropump,icebeam": 132, "lifeorb,cloudnine,calmmind,hydropump,icebeam,psychic": 117, "choicespecs,cloudnine,focusblast,hydropump,icebeam,psychic": 56, "lifeorb,cloudnine,calmmind,focusblast,icebeam,surf": 102, "lifeorb,cloudnine,encore,hydropump,icebeam,psychic": 121, "lifeorb,cloudnine,calmmind,focusblast,hydropump,icebeam": 103, "choicescarf,cloudnine,hiddenpowergrass,icebeam,psychic,surf": 55, "choicescarf,cloudnine,focusblast,hiddenpowergrass,icebeam,surf": 60, "choicespecs,cloudnine,focusblast,hiddenpowergrass,hydropump,icebeam": 58, "choicescarf,cloudnine,focusblast,hiddenpowergrass,hydropump,icebeam": 53, "lifeorb,cloudnine,encore,focusblast,icebeam,surf": 133, "choicescarf,cloudnine,focusblast,icebeam,psychic,surf": 39, "choicespecs,cloudnine,hiddenpowergrass,hydropump,icebeam,psychic": 48, "choicespecs,cloudnine,focusblast,hiddenpowergrass,icebeam,surf": 51, "choicespecs,cloudnine,focusblast,icebeam,psychic,surf": 48, "choicescarf,cloudnine,hiddenpowergrass,hydropump,icebeam,psychic": 51}, + "golem": {"choiceband,rockhead,earthquake,explosion,stoneedge,suckerpunch": 382, "leftovers,rockhead,earthquake,stealthrock,stoneedge,toxic": 270, "leftovers,rockhead,earthquake,explosion,stealthrock,stoneedge": 270, "leftovers,rockhead,earthquake,stealthrock,stoneedge,suckerpunch": 254, "leftovers,rockhead,earthquake,stoneedge,suckerpunch,toxic": 378, "leftovers,rockhead,earthquake,explosion,stoneedge,toxic": 360}, + "gorebyss": {"lifeorb,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 1092, "lifeorb,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 1125}, + "granbull": {"leftovers,intimidate,closecombat,crunch,healbell,return": 695, "leftovers,intimidate,closecombat,healbell,return,thunderwave": 353, "leftovers,intimidate,crunch,healbell,return,thunderwave": 338, "leftovers,intimidate,closecombat,crunch,return,thunderwave": 825}, + "groudon": {"leftovers,drought,earthquake,lavaplume,roar,thunderwave": 147, "leftovers,drought,earthquake,lavaplume,stoneedge,thunderwave": 154, "leftovers,drought,earthquake,lavaplume,stealthrock,stoneedge": 94, "leftovers,drought,earthquake,lavaplume,roar,stoneedge": 134, "leftovers,drought,earthquake,firepunch,rockpolish,swordsdance": 368, "leftovers,drought,earthquake,roar,stoneedge,thunderwave": 155, "leftovers,drought,earthquake,rockpolish,stoneedge,swordsdance": 375, "leftovers,drought,earthquake,firepunch,stoneedge,swordsdance": 173, "leftovers,drought,earthquake,roar,stealthrock,thunderwave": 95, "leftovers,drought,earthquake,firepunch,rockpolish,stoneedge": 184, "leftovers,drought,earthquake,lavaplume,roar,stealthrock": 85, "leftovers,drought,earthquake,roar,stealthrock,stoneedge": 97, "leftovers,drought,earthquake,lavaplume,stealthrock,thunderwave": 95, "leftovers,drought,earthquake,stealthrock,stoneedge,thunderwave": 86}, + "grumpig": {"choicescarf,thickfat,focusblast,psychic,shadowball,trick": 584, "leftovers,thickfat,focusblast,healbell,psychic,toxic": 523, "leftovers,thickfat,focusblast,psychic,thunderwave,toxic": 110, "leftovers,thickfat,focusblast,healbell,psychic,thunderwave": 586, "leftovers,thickfat,calmmind,focusblast,psychic,shadowball": 600}, + "gyarados": {"leftovers,intimidate,dragondance,rest,sleeptalk,waterfall": 1089, "leftovers,intimidate,dragondance,earthquake,substitute,waterfall": 247, "lifeorb,intimidate,dragondance,earthquake,stoneedge,waterfall": 487, "leftovers,intimidate,dragondance,stoneedge,substitute,waterfall": 254}, + "hariyama": {"toxicorb,guts,closecombat,facade,fakeout,payback": 473, "choiceband,thickfat,bulletpunch,closecombat,payback,stoneedge": 416, "toxicorb,guts,bulletpunch,closecombat,facade,payback": 398, "leftovers,thickfat,bulkup,bulletpunch,closecombat,payback": 178, "toxicorb,guts,closecombat,facade,payback,stoneedge": 426, "leftovers,thickfat,bulkup,bulletpunch,closecombat,stoneedge": 203, "leftovers,thickfat,bulkup,closecombat,payback,stoneedge": 427}, + "heatran": {"leftovers,flashfire,earthpower,explosion,fireblast,stealthrock": 27, "leftovers,flashfire,dragonpulse,earthpower,fireblast,stealthrock": 31, "leftovers,flashfire,lavaplume,protect,substitute,toxic": 176, "choicescarf,flashfire,earthpower,eruption,explosion,fireblast": 758, "leftovers,flashfire,earthpower,lavaplume,roar,toxic": 27, "leftovers,flashfire,fireblast,protect,substitute,toxic": 163, "leftovers,flashfire,earthpower,hiddenpowergrass,lavaplume,roar": 29, "leftovers,flashfire,dragonpulse,earthpower,fireblast,toxic": 29, "leftovers,flashfire,earthpower,fireblast,protect,toxic": 174, "leftovers,flashfire,earthpower,lavaplume,protect,toxic": 169, "leftovers,flashfire,earthpower,fireblast,hiddenpowergrass,roar": 20, "choicespecs,flashfire,dragonpulse,earthpower,hiddenpowergrass,lavaplume": 12, "leftovers,flashfire,earthpower,explosion,lavaplume,toxic": 19, "leftovers,flashfire,earthpower,explosion,hiddenpowergrass,lavaplume": 25, "leftovers,flashfire,dragonpulse,earthpower,explosion,fireblast": 35, "leftovers,flashfire,earthpower,explosion,lavaplume,roar": 27, "leftovers,flashfire,earthpower,hiddenpowergrass,lavaplume,toxic": 24, "choicespecs,flashfire,dragonpulse,earthpower,fireblast,hiddenpowergrass": 11, "leftovers,flashfire,earthpower,explosion,fireblast,hiddenpowergrass": 29, "leftovers,flashfire,earthpower,fireblast,roar,toxic": 33, "leftovers,flashfire,dragonpulse,earthpower,lavaplume,roar": 26, "leftovers,flashfire,earthpower,explosion,fireblast,roar": 31, "leftovers,flashfire,dragonpulse,earthpower,lavaplume,toxic": 26, "leftovers,flashfire,earthpower,fireblast,hiddenpowergrass,stealthrock": 24, "choicescarf,flashfire,dragonpulse,earthpower,hiddenpowergrass,lavaplume": 15, "leftovers,flashfire,dragonpulse,earthpower,fireblast,roar": 25, "leftovers,flashfire,dragonpulse,earthpower,explosion,lavaplume": 24, "leftovers,flashfire,earthpower,explosion,lavaplume,stealthrock": 22, "leftovers,flashfire,earthpower,lavaplume,stealthrock,toxic": 18, "leftovers,flashfire,earthpower,hiddenpowergrass,lavaplume,stealthrock": 21, "leftovers,flashfire,earthpower,fireblast,stealthrock,toxic": 20, "leftovers,flashfire,earthpower,fireblast,roar,stealthrock": 13, "leftovers,flashfire,earthpower,explosion,fireblast,toxic": 24, "choicescarf,flashfire,dragonpulse,earthpower,fireblast,hiddenpowergrass": 12, "leftovers,flashfire,earthpower,fireblast,hiddenpowergrass,toxic": 22, "leftovers,flashfire,dragonpulse,earthpower,lavaplume,stealthrock": 13, "leftovers,flashfire,earthpower,lavaplume,roar,stealthrock": 15}, + "heracross": {"toxicorb,guts,closecombat,facade,megahorn,nightslash": 1169, "choiceband,guts,closecombat,megahorn,nightslash,stoneedge": 91, "choicescarf,guts,closecombat,megahorn,nightslash,stoneedge": 115, "choicescarf,guts,closecombat,earthquake,megahorn,stoneedge": 105, "choiceband,guts,closecombat,earthquake,megahorn,stoneedge": 102, "lifeorb,guts,closecombat,megahorn,nightslash,swordsdance": 205, "lifeorb,guts,closecombat,megahorn,stoneedge,swordsdance": 175, "choiceband,guts,closecombat,earthquake,megahorn,nightslash": 102, "lifeorb,guts,closecombat,earthquake,megahorn,swordsdance": 194, "choicescarf,guts,closecombat,earthquake,megahorn,nightslash": 113}, + "hippowdon": {"leftovers,sandstream,earthquake,roar,slackoff,toxic": 434, "leftovers,sandstream,earthquake,slackoff,stoneedge,toxic": 491, "leftovers,sandstream,earthquake,roar,slackoff,stoneedge": 499, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge": 311, "leftovers,sandstream,earthquake,slackoff,stealthrock,toxic": 317, "leftovers,sandstream,earthquake,roar,slackoff,stealthrock": 303}, + "hitmonchan": {"choiceband,ironfist,closecombat,icepunch,machpunch,stoneedge": 81, "leftovers,ironfist,closecombat,icepunch,rapidspin,stoneedge": 349, "leftovers,ironfist,drainpunch,machpunch,rapidspin,stoneedge": 361, "leftovers,ironfist,drainpunch,icepunch,machpunch,rapidspin": 353, "leftovers,ironfist,drainpunch,icepunch,rapidspin,stoneedge": 341, "choiceband,ironfist,drainpunch,icepunch,machpunch,stoneedge": 73, "leftovers,ironfist,closecombat,machpunch,rapidspin,stoneedge": 347, "leftovers,ironfist,bulkup,closecombat,icepunch,machpunch": 35, "leftovers,ironfist,closecombat,icepunch,machpunch,rapidspin": 346, "leftovers,ironfist,bulkup,closecombat,machpunch,stoneedge": 42, "leftovers,ironfist,bulkup,drainpunch,machpunch,stoneedge": 39, "leftovers,ironfist,bulkup,drainpunch,icepunch,machpunch": 32}, + "hitmonlee": {"lifeorb,limber,bulkup,closecombat,earthquake,stoneedge": 381, "leftovers,limber,closecombat,machpunch,rapidspin,stoneedge": 158, "lifeorb,limber,bulkup,closecombat,stoneedge,suckerpunch": 405, "leftovers,limber,closecombat,earthquake,rapidspin,stoneedge": 162, "choiceband,limber,closecombat,earthquake,stoneedge,suckerpunch": 215, "choiceband,limber,closecombat,machpunch,stoneedge,suckerpunch": 253, "choiceband,limber,closecombat,earthquake,machpunch,stoneedge": 227, "lifeorb,limber,bulkup,closecombat,machpunch,stoneedge": 429, "leftovers,limber,closecombat,rapidspin,stoneedge,suckerpunch": 172}, + "hitmontop": {"leftovers,intimidate,closecombat,earthquake,rapidspin,stoneedge": 335, "leftovers,intimidate,closecombat,rapidspin,suckerpunch,toxic": 345, "leftovers,intimidate,closecombat,earthquake,suckerpunch,toxic": 74, "leftovers,intimidate,closecombat,rapidspin,stoneedge,suckerpunch": 340, "leftovers,intimidate,closecombat,earthquake,rapidspin,toxic": 353, "leftovers,intimidate,closecombat,earthquake,stoneedge,toxic": 70, "leftovers,intimidate,closecombat,rapidspin,stoneedge,toxic": 357, "leftovers,intimidate,closecombat,earthquake,rapidspin,suckerpunch": 355, "choiceband,intimidate,closecombat,earthquake,stoneedge,suckerpunch": 74, "leftovers,intimidate,closecombat,stoneedge,suckerpunch,toxic": 81}, + "hooh": {"leftovers,pressure,bravebird,roost,sacredfire,toxic": 655, "leftovers,pressure,bravebird,earthquake,roost,sacredfire": 607, "leftovers,pressure,bravebird,roost,sacredfire,substitute": 684}, + "honchkrow": {"choiceband,insomnia,bravebird,pursuit,suckerpunch,superpower": 406, "lifeorb,insomnia,bravebird,heatwave,pursuit,suckerpunch": 383, "lifeorb,insomnia,bravebird,roost,suckerpunch,superpower": 351, "lifeorb,insomnia,bravebird,heatwave,suckerpunch,superpower": 365, "lifeorb,insomnia,bravebird,heatwave,roost,suckerpunch": 350, "lifeorb,insomnia,bravebird,pursuit,roost,suckerpunch": 380}, + "houndoom": {"lifeorb,flashfire,darkpulse,fireblast,hiddenpowergrass,suckerpunch": 705, "lifeorb,flashfire,darkpulse,fireblast,hiddenpowergrass,nastyplot": 703, "lifeorb,flashfire,darkpulse,fireblast,nastyplot,suckerpunch": 748}, + "huntail": {"lifeorb,swiftswim,doubleedge,hydropump,icebeam,suckerpunch": 152, "expertbelt,swiftswim,hiddenpowergrass,icebeam,suckerpunch,surf": 210, "lifeorb,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 263, "expertbelt,swiftswim,hiddenpowergrass,hydropump,icebeam,suckerpunch": 194, "lifeorb,swiftswim,doubleedge,hiddenpowergrass,icebeam,surf": 208, "lifeorb,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 283, "lifeorb,swiftswim,doubleedge,icebeam,suckerpunch,surf": 178, "lifeorb,swiftswim,doubleedge,icebeam,raindance,surf": 231, "lifeorb,swiftswim,doubleedge,hydropump,icebeam,raindance": 263, "lifeorb,swiftswim,doubleedge,hiddenpowergrass,hydropump,icebeam": 206}, + "hypno": {"leftovers,insomnia,protect,psychic,thunderwave,wish": 400, "leftovers,insomnia,protect,seismictoss,toxic,wish": 798, "leftovers,insomnia,protect,psychic,toxic,wish": 378, "leftovers,insomnia,batonpass,focusblast,nastyplot,psychic": 736}, + "illumise": {"leftovers,tintedlens,bugbuzz,roost,thunderwave,uturn": 502, "leftovers,tintedlens,bugbuzz,roost,toxic,uturn": 506, "leftovers,tintedlens,bugbuzz,encore,roost,uturn": 385, "leftovers,tintedlens,bugbuzz,encore,roost,thunderwave": 495, "leftovers,tintedlens,bugbuzz,encore,roost,toxic": 478}, + "infernape": {"lifeorb,blaze,closecombat,grassknot,machpunch,overheat": 544, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance": 218, "lifeorb,blaze,closecombat,machpunch,overheat,stealthrock": 333, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn": 115, "lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance": 241, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge": 209, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn": 225, "lifeorb,blaze,closecombat,grassknot,overheat,stealthrock": 307, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn": 122}, + "jirachi": {"leftovers,serenegrace,calmmind,hiddenpowerfire,psychic,thunderbolt": 387, "leftovers,serenegrace,calmmind,psychic,thunderbolt,wish": 340, "choicescarf,serenegrace,firepunch,healingwish,ironhead,uturn": 203, "leftovers,serenegrace,calmmind,psychic,substitute,thunderbolt": 390, "leftovers,serenegrace,bodyslam,firepunch,ironhead,toxic": 49, "leftovers,serenegrace,ironhead,protect,toxic,wish": 116, "leftovers,serenegrace,ironhead,protect,uturn,wish": 82, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn": 40, "leftovers,serenegrace,ironhead,protect,stealthrock,wish": 75, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,toxic": 46, "leftovers,serenegrace,firepunch,ironhead,toxic,uturn": 38, "leftovers,serenegrace,bodyslam,ironhead,toxic,uturn": 60, "leftovers,serenegrace,bodyslam,firepunch,ironhead,uturn": 39, "leftovers,serenegrace,bodyslam,ironhead,protect,wish": 111, "leftovers,serenegrace,ironhead,stealthrock,toxic,uturn": 37, "leftovers,serenegrace,firepunch,ironhead,stealthrock,toxic": 40, "leftovers,serenegrace,firepunch,ironhead,protect,wish": 99, "leftovers,serenegrace,bodyslam,firepunch,ironhead,stealthrock": 25, "leftovers,serenegrace,firepunch,ironhead,stealthrock,uturn": 26}, + "jolteon": {"choicespecs,voltabsorb,hiddenpowerice,shadowball,signalbeam,thunderbolt": 1165, "leftovers,voltabsorb,hiddenpowerice,substitute,thunderbolt,toxic": 588, "leftovers,voltabsorb,batonpass,hiddenpowerice,substitute,thunderbolt": 553}, + "jumpluff": {"leftovers,chlorophyll,encore,energyball,stunspore,uturn": 170, "leftovers,chlorophyll,hiddenpowerflying,leechseed,substitute,toxic": 512, "leftovers,chlorophyll,encore,energyball,sleeppowder,toxic": 168, "leftovers,chlorophyll,encore,energyball,toxic,uturn": 146, "leftovers,chlorophyll,hiddenpowerflying,leechseed,protect,substitute": 527, "leftovers,chlorophyll,energyball,sleeppowder,stunspore,uturn": 162, "leftovers,chlorophyll,encore,energyball,sleeppowder,stunspore": 156, "leftovers,chlorophyll,energyball,sleeppowder,toxic,uturn": 143, "leftovers,chlorophyll,encore,energyball,sleeppowder,uturn": 107}, + "jynx": {"lifeorb,forewarn,icebeam,lovelykiss,nastyplot,psychic": 187, "lifeorb,forewarn,focusblast,icebeam,lovelykiss,psychic": 511, "leftovers,forewarn,focusblast,icebeam,nastyplot,substitute": 173, "leftovers,forewarn,icebeam,nastyplot,psychic,substitute": 167, "choicescarf,forewarn,focusblast,icebeam,psychic,trick": 538, "lifeorb,forewarn,focusblast,icebeam,nastyplot,psychic": 350, "lifeorb,forewarn,focusblast,icebeam,lovelykiss,nastyplot": 172}, + "kabutops": {"leftovers,battlearmor,aquajet,rapidspin,stoneedge,waterfall": 600, "choiceband,battlearmor,aquajet,stoneedge,superpower,waterfall": 51, "leftovers,battlearmor,rapidspin,stoneedge,superpower,waterfall": 591, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,waterfall": 473, "lifeorb,battlearmor,stoneedge,superpower,swordsdance,waterfall": 44, "lifeorb,battlearmor,stealthrock,stoneedge,superpower,waterfall": 30, "lifeorb,battlearmor,aquajet,stealthrock,stoneedge,waterfall": 30, "lifeorb,battlearmor,aquajet,stoneedge,swordsdance,waterfall": 44, "leftovers,swiftswim,aquajet,rapidspin,stoneedge,waterfall": 12, "leftovers,swiftswim,rapidspin,stealthrock,stoneedge,waterfall": 5, "leftovers,swiftswim,rapidspin,stoneedge,superpower,waterfall": 9, "choiceband,swiftswim,aquajet,stoneedge,superpower,waterfall": 2, "lifeorb,swiftswim,stoneedge,superpower,swordsdance,waterfall": 1}, + "kangaskhan": {"leftovers,scrappy,bodyslam,earthquake,protect,wish": 574, "leftovers,scrappy,earthquake,protect,return,wish": 540, "silkscarf,scrappy,doubleedge,fakeout,hammerarm,suckerpunch": 151, "silkscarf,scrappy,earthquake,fakeout,return,suckerpunch": 158, "choiceband,scrappy,earthquake,hammerarm,return,suckerpunch": 141, "silkscarf,scrappy,doubleedge,earthquake,fakeout,suckerpunch": 141, "silkscarf,scrappy,earthquake,fakeout,hammerarm,return": 135, "choiceband,scrappy,doubleedge,earthquake,hammerarm,suckerpunch": 164, "silkscarf,scrappy,doubleedge,earthquake,fakeout,hammerarm": 129, "silkscarf,scrappy,fakeout,hammerarm,return,suckerpunch": 144}, + "kecleon": {"leftovers,colorchange,recover,return,thunderwave,toxic": 396, "leftovers,colorchange,recover,return,stealthrock,thunderwave": 857, "leftovers,colorchange,recover,return,stealthrock,toxic": 865}, + "kingdra": {"leftovers,sniper,dragondance,outrage,rest,sleeptalk": 740, "chestoberry,sniper,dragondance,outrage,rest,waterfall": 375, "lifeorb,swiftswim,dracometeor,hydropump,icebeam,raindance": 192, "lifeorb,swiftswim,dracometeor,hydropump,raindance,waterfall": 364, "lifeorb,swiftswim,dracometeor,icebeam,raindance,waterfall": 199, "lumberry,sniper,dragondance,outrage,substitute,waterfall": 384, "leftovers,swiftswim,dragondance,outrage,rest,sleeptalk": 17, "lumberry,swiftswim,dragondance,outrage,substitute,waterfall": 10, "chestoberry,swiftswim,dragondance,outrage,rest,waterfall": 11}, + "kingler": {"leftovers,hypercutter,agility,crabhammer,return,swordsdance": 1151, "lifeorb,hypercutter,crabhammer,superpower,swordsdance,xscissor": 250, "lifeorb,hypercutter,crabhammer,return,superpower,swordsdance": 263, "choiceband,hypercutter,crabhammer,return,superpower,xscissor": 163, "choicescarf,hypercutter,crabhammer,return,superpower,xscissor": 187, "lifeorb,hypercutter,crabhammer,return,swordsdance,xscissor": 237}, + "kricketune": {"lifeorb,swarm,brickbreak,nightslash,swordsdance,xscissor": 756, "lifeorb,swarm,brickbreak,return,swordsdance,xscissor": 692, "lifeorb,swarm,nightslash,return,swordsdance,xscissor": 707}, + "kyogre": {"leftovers,drizzle,rest,sleeptalk,surf,thunder": 272, "choicescarf,drizzle,icebeam,surf,thunder,waterspout": 1078, "leftovers,drizzle,icebeam,rest,sleeptalk,surf": 249, "leftovers,drizzle,calmmind,rest,sleeptalk,surf": 271, "leftovers,drizzle,calmmind,icebeam,surf,thunder": 327}, + "lanturn": {"leftovers,voltabsorb,hydropump,icebeam,thunderbolt,toxic": 112, "leftovers,voltabsorb,icebeam,surf,thunderbolt,toxic": 124, "leftovers,voltabsorb,discharge,hydropump,icebeam,thunderwave": 118, "leftovers,voltabsorb,healbell,surf,thunderbolt,thunderwave": 98, "leftovers,voltabsorb,discharge,icebeam,surf,thunderwave": 122, "leftovers,voltabsorb,healbell,icebeam,surf,thunderbolt": 76, "leftovers,voltabsorb,discharge,healbell,hydropump,toxic": 101, "leftovers,voltabsorb,icebeam,surf,thunderbolt,thunderwave": 123, "leftovers,voltabsorb,healbell,surf,thunderbolt,toxic": 84, "leftovers,voltabsorb,discharge,healbell,hydropump,thunderwave": 113, "leftovers,voltabsorb,discharge,icebeam,surf,toxic": 129, "leftovers,voltabsorb,discharge,healbell,surf,toxic": 91, "leftovers,voltabsorb,healbell,hydropump,thunderbolt,thunderwave": 115, "leftovers,voltabsorb,healbell,hydropump,thunderbolt,toxic": 91, "leftovers,voltabsorb,healbell,hydropump,icebeam,thunderbolt": 89, "leftovers,voltabsorb,discharge,healbell,hydropump,icebeam": 81, "leftovers,voltabsorb,hydropump,icebeam,thunderbolt,thunderwave": 133, "leftovers,voltabsorb,discharge,hydropump,icebeam,toxic": 114, "leftovers,voltabsorb,discharge,healbell,surf,thunderwave": 91, "leftovers,voltabsorb,discharge,healbell,icebeam,surf": 74}, + "lapras": {"leftovers,waterabsorb,hydropump,icebeam,protect,toxic": 1039, "leftovers,waterabsorb,hydropump,icebeam,thunderbolt,toxic": 394, "leftovers,waterabsorb,healbell,hydropump,icebeam,thunderbolt": 312, "leftovers,waterabsorb,healbell,hydropump,icebeam,toxic": 311}, + "latias": {"souldew,levitate,calmmind,dracometeor,psychic,roost": 2320}, + "latios": {"souldew,levitate,calmmind,dracometeor,psychic,roost": 2267}, + "leafeon": {"leftovers,leafguard,healbell,leafblade,synthesis,toxic": 1148, "lifeorb,leafguard,doubleedge,leafblade,swordsdance,synthesis": 285, "leftovers,leafguard,doubleedge,leafblade,substitute,swordsdance": 301, "leftovers,leafguard,batonpass,doubleedge,leafblade,swordsdance": 281, "lifeorb,leafguard,doubleedge,leafblade,swordsdance,xscissor": 273}, + "ledian": {"leftovers,earlybird,agility,batonpass,encore,swordsdance": 883, "leftovers,earlybird,hiddenpowerflying,knockoff,roost,toxic": 302, "leftovers,earlybird,focusblast,hiddenpowerflying,roost,toxic": 285, "leftovers,earlybird,encore,hiddenpowerflying,roost,toxic": 296}, + "lickilicky": {"leftovers,owntempo,bodyslam,protect,toxic,wish": 639, "leftovers,owntempo,bodyslam,earthquake,explosion,swordsdance": 288, "leftovers,owntempo,bodyslam,healbell,protect,wish": 504, "leftovers,owntempo,bodyslam,earthquake,powerwhip,swordsdance": 275, "leftovers,owntempo,earthquake,powerwhip,return,swordsdance": 288, "leftovers,owntempo,earthquake,explosion,return,swordsdance": 259}, + "linoone": {"sitrusberry,gluttony,bellydrum,extremespeed,seedbomb,shadowclaw": 2241}, + "lopunny": {"choiceband,cutecharm,icepunch,return,skyuppercut,switcheroo": 550, "choiceband,cutecharm,healingwish,icepunch,return,skyuppercut": 508, "leftovers,cutecharm,encore,return,substitute,toxic": 243, "leftovers,cutecharm,batonpass,encore,return,substitute": 171, "leftovers,cutecharm,batonpass,return,substitute,toxic": 224, "leftovers,cutecharm,batonpass,return,substitute,thunderwave": 242, "leftovers,cutecharm,encore,return,substitute,thunderwave": 216}, + "lucario": {"choiceband,innerfocus,closecombat,crunch,extremespeed,stoneedge": 759, "lifeorb,innerfocus,closecombat,extremespeed,stoneedge,swordsdance": 728, "lifeorb,innerfocus,closecombat,crunch,extremespeed,swordsdance": 725}, + "ludicolo": {"choicespecs,swiftswim,energyball,hydropump,icebeam,surf": 1063, "lifeorb,swiftswim,energyball,hydropump,icebeam,raindance": 1113}, + "lugia": {"leftovers,pressure,aeroblast,calmmind,earthpower,roost": 1086, "leftovers,pressure,aeroblast,roost,toxic,whirlwind": 346, "leftovers,pressure,aeroblast,roost,substitute,toxic": 354, "leftovers,pressure,aeroblast,earthquake,roost,toxic": 335}, + "lumineon": {"lifeorb,swiftswim,hiddenpowerelectric,icebeam,raindance,surf": 542, "choicespecs,swiftswim,hiddenpowerelectric,icebeam,surf,uturn": 567, "choicespecs,swiftswim,hiddenpowergrass,icebeam,surf,uturn": 543, "lifeorb,swiftswim,hiddenpowergrass,icebeam,raindance,surf": 559}, + "lunatone": {"leftovers,levitate,calmmind,psychic,signalbeam,substitute": 159, "leftovers,levitate,earthpower,explosion,psychic,toxic": 403, "leftovers,levitate,earthpower,psychic,stealthrock,toxic": 226, "leftovers,levitate,batonpass,calmmind,psychic,signalbeam": 176, "leftovers,levitate,calmmind,earthpower,psychic,substitute": 175, "leftovers,levitate,batonpass,calmmind,psychic,substitute": 176, "leftovers,levitate,calmmind,earthpower,psychic,signalbeam": 183, "leftovers,levitate,earthpower,explosion,psychic,stealthrock": 213, "leftovers,levitate,batonpass,calmmind,earthpower,psychic": 175, "leftovers,levitate,explosion,psychic,stealthrock,toxic": 221}, + "luvdisc": {"leftovers,swiftswim,protect,substitute,surf,toxic": 993, "leftovers,swiftswim,icebeam,protect,surf,toxic": 997}, + "luxray": {"leftovers,intimidate,protect,superpower,thunderbolt,toxic": 1219, "leftovers,intimidate,icefang,superpower,thunderbolt,toxic": 216, "leftovers,intimidate,icefang,roar,superpower,thunderbolt": 180, "leftovers,intimidate,crunch,superpower,thunderbolt,toxic": 176, "leftovers,intimidate,roar,superpower,thunderbolt,toxic": 198, "leftovers,intimidate,crunch,icefang,superpower,thunderbolt": 180, "leftovers,intimidate,crunch,roar,superpower,thunderbolt": 200}, + "machamp": {"leftovers,noguard,dynamicpunch,payback,stoneedge,toxic": 382, "choiceband,noguard,dynamicpunch,earthquake,payback,stoneedge": 447, "leftovers,noguard,bulletpunch,dynamicpunch,payback,toxic": 422, "choiceband,noguard,bulletpunch,dynamicpunch,earthquake,payback": 422, "choiceband,noguard,bulletpunch,dynamicpunch,payback,stoneedge": 435, "leftovers,noguard,dynamicpunch,earthquake,payback,toxic": 405}, + "magcargo": {"leftovers,flamebody,hiddenpowerrock,lavaplume,recover,toxic": 1223, "leftovers,flamebody,lavaplume,recover,stealthrock,toxic": 838}, + "magmortar": {"lifeorb,flamebody,fireblast,focusblast,taunt,thunderbolt": 392, "expertbelt,flamebody,earthquake,fireblast,hiddenpowerice,thunderbolt": 354, "lifeorb,flamebody,earthquake,fireblast,taunt,thunderbolt": 376, "lifeorb,flamebody,fireblast,hiddenpowerice,taunt,thunderbolt": 377, "choicescarf,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 195, "expertbelt,flamebody,earthquake,fireblast,focusblast,thunderbolt": 388, "choicespecs,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 203}, + "magnezone": {"choicescarf,magnetpull,explosion,flashcannon,hiddenpowerfire,thunderbolt": 361, "choicescarf,magnetpull,explosion,flashcannon,hiddenpowerground,thunderbolt": 334, "leftovers,magnetpull,hiddenpowerice,protect,thunderbolt,toxic": 1086, "choicescarf,magnetpull,explosion,flashcannon,hiddenpowerice,thunderbolt": 345}, + "mamoswine": {"choiceband,snowcloak,earthquake,iceshard,stoneedge,superpower": 1071, "lifeorb,snowcloak,earthquake,iceshard,stealthrock,superpower": 657, "lifeorb,snowcloak,earthquake,iceshard,stealthrock,stoneedge": 556}, + "manaphy": {"leftovers,hydration,energyball,icebeam,surf,tailglow": 2283}, + "manectric": {"choicespecs,static,flamethrower,hiddenpowerice,switcheroo,thunderbolt": 1177, "choicespecs,static,hiddenpowerice,overheat,switcheroo,thunderbolt": 1191}, + "mantine": {"leftovers,waterabsorb,hiddenpowerflying,protect,surf,toxic": 999, "leftovers,waterabsorb,rest,sleeptalk,surf,toxic": 1064}, + "marowak": {"thickclub,rockhead,doubleedge,earthquake,stoneedge,swordsdance": 533, "thickclub,rockhead,earthquake,firepunch,stoneedge,swordsdance": 549, "thickclub,rockhead,doubleedge,earthquake,stealthrock,stoneedge": 396, "thickclub,rockhead,doubleedge,earthquake,firepunch,stoneedge": 434, "thickclub,rockhead,earthquake,firepunch,stealthrock,stoneedge": 382}, + "masquerain": {"leftovers,intimidate,agility,airslash,bugbuzz,hydropump": 294, "leftovers,intimidate,airslash,bugbuzz,roost,toxic": 198, "leftovers,intimidate,airslash,hydropump,roost,toxic": 183, "leftovers,intimidate,agility,airslash,batonpass,hydropump": 166, "leftovers,intimidate,agility,airslash,hydropump,roost": 160, "leftovers,intimidate,airslash,bugbuzz,roost,stunspore": 191, "leftovers,intimidate,agility,airslash,batonpass,bugbuzz": 180, "leftovers,intimidate,agility,airslash,bugbuzz,roost": 164, "leftovers,intimidate,airslash,hydropump,roost,stunspore": 187, "leftovers,intimidate,airslash,bugbuzz,hydropump,roost": 155}, + "mawile": {"leftovers,intimidate,batonpass,ironhead,suckerpunch,swordsdance": 370, "leftovers,intimidate,focuspunch,ironhead,substitute,suckerpunch": 1128, "leftovers,intimidate,ironhead,substitute,suckerpunch,swordsdance": 384, "leftovers,intimidate,batonpass,ironhead,substitute,swordsdance": 372}, + "medicham": {"choicescarf,purepower,highjumpkick,icepunch,trick,zenheadbutt": 823, "choiceband,purepower,bulletpunch,highjumpkick,trick,zenheadbutt": 763, "choiceband,purepower,bulletpunch,highjumpkick,icepunch,zenheadbutt": 823}, + "meganium": {"leftovers,overgrow,earthquake,energyball,synthesis,toxic": 830, "leftovers,overgrow,energyball,leechseed,synthesis,toxic": 805, "leftovers,overgrow,aromatherapy,energyball,synthesis,toxic": 713}, + "mesprit": {"leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,thunderwave": 147, "leftovers,levitate,hiddenpowerfighting,psychic,thunderwave,uturn": 251, "leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,toxic": 161, "leftovers,levitate,hiddenpowerfighting,psychic,toxic,uturn": 257, "choicescarf,levitate,hiddenpowerfighting,icebeam,psychic,trick": 100, "lifeorb,levitate,calmmind,icebeam,psychic,thunderbolt": 91, "choicescarf,levitate,hiddenpowerfighting,psychic,thunderbolt,trick": 85, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 129, "lifeorb,levitate,calmmind,hiddenpowerfighting,psychic,thunderbolt": 82, "choicescarf,levitate,healingwish,hiddenpowerfighting,icebeam,psychic": 67, "choicescarf,levitate,icebeam,psychic,thunderbolt,trick": 82, "choicescarf,levitate,healingwish,icebeam,psychic,uturn": 49, "choicescarf,levitate,healingwish,icebeam,psychic,thunderbolt": 83, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 125, "lifeorb,levitate,calmmind,hiddenpowerfighting,icebeam,psychic": 105, "choicescarf,levitate,healingwish,hiddenpowerfighting,psychic,uturn": 46, "leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,uturn": 88, "choicescarf,levitate,healingwish,hiddenpowerfighting,psychic,thunderbolt": 75, "choicescarf,levitate,hiddenpowerfighting,icebeam,psychic,thunderbolt": 45, "choicespecs,levitate,hiddenpowerfighting,icebeam,psychic,thunderbolt": 38, "choicespecs,levitate,icebeam,psychic,thunderbolt,uturn": 67, "choicescarf,levitate,healingwish,psychic,thunderbolt,uturn": 58, "choicespecs,levitate,hiddenpowerfighting,psychic,thunderbolt,uturn": 78, "choicespecs,levitate,hiddenpowerfighting,icebeam,psychic,uturn": 64}, + "metagross": {"lifeorb,clearbody,agility,earthquake,icepunch,meteormash": 300, "lifeorb,clearbody,agility,earthquake,meteormash,thunderpunch": 284, "lifeorb,clearbody,agility,earthquake,meteormash,zenheadbutt": 287, "leftovers,clearbody,earthquake,meteormash,stealthrock,zenheadbutt": 69, "choicescarf,clearbody,earthquake,icepunch,meteormash,thunderpunch": 46, "lifeorb,clearbody,agility,earthquake,explosion,meteormash": 248, "choiceband,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 44, "choiceband,clearbody,bulletpunch,earthquake,explosion,meteormash": 85, "choicescarf,clearbody,earthquake,explosion,icepunch,meteormash": 46, "choicescarf,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 34, "leftovers,clearbody,earthquake,explosion,meteormash,stealthrock": 53, "leftovers,clearbody,earthquake,icepunch,meteormash,stealthrock": 56, "choiceband,clearbody,bulletpunch,earthquake,meteormash,zenheadbutt": 75, "choiceband,clearbody,bulletpunch,earthquake,meteormash,thunderpunch": 80, "leftovers,clearbody,earthquake,meteormash,stealthrock,thunderpunch": 66, "choiceband,clearbody,earthquake,explosion,meteormash,thunderpunch": 49, "leftovers,clearbody,bulletpunch,earthquake,meteormash,stealthrock": 62, "choiceband,clearbody,earthquake,explosion,icepunch,meteormash": 28, "choiceband,clearbody,bulletpunch,earthquake,icepunch,meteormash": 72, "choicescarf,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 29, "choicescarf,clearbody,earthquake,explosion,meteormash,zenheadbutt": 36, "choiceband,clearbody,earthquake,explosion,meteormash,zenheadbutt": 42, "choiceband,clearbody,earthquake,icepunch,meteormash,thunderpunch": 38, "choiceband,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 40, "choicescarf,clearbody,earthquake,explosion,meteormash,thunderpunch": 51}, + "mew": {"leftovers,synchronize,batonpass,earthquake,swordsdance,zenheadbutt": 209, "leftovers,synchronize,psychic,softboiled,stealthrock,willowisp": 106, "leftovers,synchronize,psychic,softboiled,stealthrock,taunt": 111, "lifeorb,synchronize,aurasphere,nastyplot,psychic,softboiled": 70, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic": 150, "leftovers,synchronize,psychic,softboiled,taunt,uturn": 157, "lifeorb,synchronize,fireblast,nastyplot,psychic,softboiled": 70, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic": 131, "leftovers,synchronize,earthquake,explosion,swordsdance,zenheadbutt": 180, "leftovers,synchronize,aurasphere,batonpass,nastyplot,psychic": 57, "leftovers,synchronize,earthquake,superpower,swordsdance,zenheadbutt": 206, "leftovers,synchronize,batonpass,fireblast,nastyplot,psychic": 84, "leftovers,synchronize,psychic,softboiled,taunt,willowisp": 162, "leftovers,synchronize,earthquake,suckerpunch,swordsdance,zenheadbutt": 204, "leftovers,synchronize,psychic,softboiled,uturn,willowisp": 146, "leftovers,synchronize,batonpass,earthpower,nastyplot,psychic": 73, "lifeorb,synchronize,earthpower,nastyplot,psychic,softboiled": 50, "leftovers,synchronize,psychic,softboiled,stealthrock,uturn": 114, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic": 131}, + "mewtwo": {"lifeorb,pressure,calmmind,psychic,recover,shadowball": 238, "lifeorb,pressure,aurasphere,calmmind,psychic,shadowball": 496, "lifeorb,pressure,calmmind,fireblast,psychic,shadowball": 511, "lifeorb,pressure,aurasphere,calmmind,fireblast,psychic": 549, "lifeorb,pressure,aurasphere,calmmind,psychic,recover": 286, "lifeorb,pressure,calmmind,fireblast,psychic,recover": 269}, + "mightyena": {"leftovers,intimidate,crunch,doubleedge,firefang,toxic": 119, "choiceband,intimidate,crunch,doubleedge,firefang,suckerpunch": 129, "leftovers,intimidate,crunch,doubleedge,superfang,taunt": 116, "leftovers,intimidate,crunch,firefang,suckerpunch,taunt": 114, "leftovers,intimidate,crunch,doubleedge,superfang,toxic": 112, "leftovers,intimidate,crunch,firefang,suckerpunch,superfang": 107, "leftovers,intimidate,crunch,firefang,superfang,taunt": 94, "leftovers,intimidate,crunch,doubleedge,firefang,taunt": 116, "leftovers,intimidate,crunch,firefang,superfang,toxic": 113, "leftovers,intimidate,crunch,doubleedge,taunt,toxic": 135, "leftovers,intimidate,crunch,suckerpunch,superfang,toxic": 102, "leftovers,intimidate,crunch,doubleedge,suckerpunch,toxic": 120, "leftovers,intimidate,crunch,doubleedge,suckerpunch,taunt": 142, "leftovers,intimidate,crunch,doubleedge,firefang,superfang": 119, "leftovers,intimidate,crunch,superfang,taunt,toxic": 117, "leftovers,intimidate,crunch,suckerpunch,superfang,taunt": 99, "leftovers,intimidate,crunch,doubleedge,suckerpunch,superfang": 111, "leftovers,intimidate,crunch,suckerpunch,taunt,toxic": 114, "leftovers,intimidate,crunch,firefang,taunt,toxic": 113, "leftovers,intimidate,crunch,firefang,suckerpunch,toxic": 116}, + "milotic": {"leftovers,marvelscale,icebeam,recover,surf,toxic": 562, "leftovers,marvelscale,rest,sleeptalk,surf,toxic": 547, "leftovers,marvelscale,haze,recover,surf,toxic": 515, "leftovers,marvelscale,icebeam,rest,sleeptalk,surf": 540}, + "miltank": {"leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 544, "leftovers,thickfat,bodyslam,earthquake,milkdrink,stealthrock": 472, "leftovers,thickfat,bodyslam,curse,earthquake,milkdrink": 582, "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 612}, + "minun": {"leftovers,minus,encore,hiddenpowerice,nastyplot,thunderbolt": 600, "leftovers,minus,batonpass,hiddenpowerice,nastyplot,thunderbolt": 623, "lifeorb,minus,grassknot,hiddenpowerice,nastyplot,thunderbolt": 1177}, + "mismagius": {"choicespecs,levitate,hiddenpowerfighting,shadowball,thunderbolt,trick": 661, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,taunt": 137, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,willowisp": 103, "leftovers,levitate,hiddenpowerfighting,shadowball,substitute,taunt": 126, "lifeorb,levitate,hiddenpowerfighting,nastyplot,shadowball,thunderbolt": 570, "leftovers,levitate,hiddenpowerfighting,shadowball,taunt,willowisp": 138, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,willowisp": 110, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,taunt": 119, "leftovers,levitate,destinybond,hiddenpowerfighting,painsplit,shadowball": 117, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,substitute": 140, "leftovers,levitate,hiddenpowerfighting,shadowball,substitute,willowisp": 126, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,substitute": 134}, + "moltres": {"leftovers,pressure,airslash,fireblast,hiddenpowergrass,roost": 495, "leftovers,pressure,airslash,fireblast,roost,substitute": 433, "leftovers,pressure,airslash,fireblast,roost,uturn": 476, "leftovers,pressure,airslash,fireblast,roost,toxic": 503}, + "mothim": {"choicespecs,swarm,airslash,bugbuzz,hiddenpowerground,shadowball": 211, "choicescarf,swarm,airslash,bugbuzz,hiddenpowerground,shadowball": 216, "choicespecs,swarm,airslash,bugbuzz,hiddenpowerfighting,uturn": 401, "choicespecs,swarm,airslash,bugbuzz,shadowball,uturn": 312, "choicespecs,swarm,airslash,bugbuzz,hiddenpowerfighting,shadowball": 187, "choicespecs,swarm,airslash,bugbuzz,hiddenpowerground,uturn": 380, "choicescarf,swarm,airslash,bugbuzz,hiddenpowerfighting,shadowball": 208}, + "mrmime": {"leftovers,filter,batonpass,focusblast,nastyplot,psychic": 609, "lifeorb,filter,encore,focusblast,nastyplot,psychic": 634, "leftovers,filter,focusblast,nastyplot,psychic,substitute": 577, "lifeorb,filter,focusblast,nastyplot,psychic,shadowball": 611}, + "muk": {"choiceband,stickyhold,brickbreak,payback,poisonjab,shadowsneak": 87, "chestoberry,stickyhold,brickbreak,gunkshot,rest,shadowsneak": 96, "choiceband,stickyhold,brickbreak,gunkshot,icepunch,payback": 84, "blacksludge,stickyhold,brickbreak,curse,gunkshot,icepunch": 72, "chestoberry,stickyhold,brickbreak,curse,gunkshot,rest": 91, "choiceband,stickyhold,brickbreak,explosion,gunkshot,icepunch": 101, "choiceband,stickyhold,brickbreak,gunkshot,icepunch,shadowsneak": 85, "choiceband,stickyhold,brickbreak,explosion,gunkshot,payback": 77, "chestoberry,stickyhold,brickbreak,gunkshot,payback,rest": 99, "chestoberry,stickyhold,brickbreak,curse,poisonjab,rest": 89, "choiceband,stickyhold,brickbreak,icepunch,poisonjab,shadowsneak": 77, "choiceband,stickyhold,brickbreak,icepunch,payback,poisonjab": 79, "chestoberry,stickyhold,brickbreak,poisonjab,rest,shadowsneak": 85, "choiceband,stickyhold,brickbreak,explosion,poisonjab,shadowsneak": 94, "choiceband,stickyhold,brickbreak,explosion,gunkshot,shadowsneak": 80, "chestoberry,stickyhold,brickbreak,payback,poisonjab,rest": 91, "blacksludge,stickyhold,brickbreak,curse,gunkshot,shadowsneak": 82, "blacksludge,stickyhold,brickbreak,curse,poisonjab,shadowsneak": 70, "blacksludge,stickyhold,brickbreak,curse,payback,poisonjab": 84, "chestoberry,stickyhold,brickbreak,icepunch,poisonjab,rest": 87, "choiceband,stickyhold,brickbreak,explosion,icepunch,poisonjab": 92, "blacksludge,stickyhold,brickbreak,curse,icepunch,poisonjab": 79, "chestoberry,stickyhold,brickbreak,gunkshot,icepunch,rest": 91, "choiceband,stickyhold,brickbreak,explosion,payback,poisonjab": 83, "blacksludge,stickyhold,brickbreak,curse,explosion,poisonjab": 94, "choiceband,stickyhold,brickbreak,gunkshot,payback,shadowsneak": 86, "blacksludge,stickyhold,brickbreak,curse,explosion,gunkshot": 70, "blacksludge,stickyhold,brickbreak,curse,gunkshot,payback": 82}, + "nidoking": {"lifeorb,poisonpoint,earthquake,icebeam,stealthrock,suckerpunch": 179, "expertbelt,poisonpoint,earthquake,fireblast,icebeam,suckerpunch": 248, "expertbelt,poisonpoint,earthquake,icebeam,suckerpunch,thunderbolt": 259, "expertbelt,poisonpoint,earthquake,icebeam,megahorn,thunderbolt": 220, "expertbelt,poisonpoint,earthquake,fireblast,icebeam,megahorn": 240, "lifeorb,poisonpoint,earthquake,icebeam,megahorn,stealthrock": 167, "expertbelt,poisonpoint,earthquake,fireblast,icebeam,thunderbolt": 261, "lifeorb,poisonpoint,earthquake,fireblast,icebeam,stealthrock": 194, "expertbelt,poisonpoint,earthquake,icebeam,megahorn,suckerpunch": 286, "lifeorb,poisonpoint,earthquake,icebeam,stealthrock,thunderbolt": 176}, + "nidoqueen": {"blacksludge,poisonpoint,earthquake,fireblast,icebeam,stealthrock": 320, "blacksludge,poisonpoint,earthquake,icebeam,stealthrock,toxicspikes": 295, "blacksludge,poisonpoint,earthquake,fireblast,icebeam,roar": 452, "blacksludge,poisonpoint,earthquake,icebeam,roar,toxicspikes": 422, "blacksludge,poisonpoint,earthquake,fireblast,icebeam,toxicspikes": 365, "blacksludge,poisonpoint,earthquake,icebeam,roar,stealthrock": 286}, + "ninetales": {"lifeorb,flashfire,energyball,fireblast,hiddenpowerrock,nastyplot": 1139, "lifeorb,flashfire,energyball,fireblast,hypnosis,nastyplot": 1156}, + "ninjask": {"leftovers,speedboost,batonpass,protect,swordsdance,xscissor": 1005, "leftovers,speedboost,batonpass,substitute,swordsdance,xscissor": 936}, + "noctowl": {"leftovers,insomnia,airslash,nightshade,roost,toxic": 1028, "leftovers,insomnia,airslash,roost,toxic,whirlwind": 1018}, + "octillery": {"leftovers,sniper,fireblast,icebeam,surf,thunderwave": 482, "leftovers,sniper,energyball,fireblast,surf,thunderwave": 483, "leftovers,sniper,energyball,icebeam,surf,thunderwave": 507, "choicespecs,sniper,energyball,fireblast,icebeam,surf": 745}, + "omastar": {"leftovers,shellarmor,icebeam,stealthrock,surf,toxicspikes": 126, "lifeorb,swiftswim,hiddenpowergrass,hydropump,icebeam,raindance": 962, "leftovers,shellarmor,earthpower,icebeam,surf,toxicspikes": 199, "leftovers,shellarmor,icebeam,spikes,surf,toxicspikes": 182, "leftovers,shellarmor,earthpower,icebeam,spikes,surf": 178, "leftovers,shellarmor,icebeam,spikes,stealthrock,surf": 146, "leftovers,shellarmor,earthpower,icebeam,stealthrock,surf": 135, "leftovers,swiftswim,earthpower,icebeam,surf,toxicspikes": 3, "leftovers,swiftswim,icebeam,spikes,surf,toxicspikes": 4, "leftovers,swiftswim,icebeam,stealthrock,surf,toxicspikes": 2, "leftovers,swiftswim,earthpower,icebeam,spikes,surf": 2}, + "pachirisu": {"leftovers,pickup,protect,thunderbolt,toxic,uturn": 593, "leftovers,pickup,superfang,thunderbolt,thunderwave,uturn": 156, "leftovers,runaway,protect,thunderbolt,toxic,uturn": 582, "leftovers,pickup,discharge,superfang,toxic,uturn": 137, "leftovers,pickup,superfang,thunderbolt,toxic,uturn": 167, "leftovers,runaway,superfang,thunderbolt,toxic,uturn": 148, "leftovers,runaway,superfang,thunderbolt,thunderwave,uturn": 129, "leftovers,runaway,discharge,superfang,toxic,uturn": 146, "leftovers,pickup,discharge,superfang,thunderwave,uturn": 131, "leftovers,runaway,discharge,superfang,thunderwave,uturn": 148}, + "palkia": {"lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave": 584, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend": 535, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave": 564, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend": 576}, + "parasect": {"leftovers,dryskin,seedbomb,spore,swordsdance,xscissor": 547, "leftovers,dryskin,seedbomb,spore,stunspore,synthesis": 192, "leftovers,dryskin,aromatherapy,spore,synthesis,xscissor": 159, "leftovers,dryskin,aromatherapy,seedbomb,spore,synthesis": 144, "leftovers,dryskin,seedbomb,spore,synthesis,xscissor": 371, "leftovers,dryskin,pursuit,seedbomb,spore,xscissor": 500, "leftovers,dryskin,spore,stunspore,synthesis,xscissor": 178}, + "pelipper": {"leftovers,keeneye,airslash,hydropump,roost,toxic": 272, "leftovers,keeneye,airslash,hydropump,roost,uturn": 242, "leftovers,keeneye,airslash,roost,surf,uturn": 274, "leftovers,keeneye,airslash,roost,surf,toxic": 240, "leftovers,keeneye,airslash,icebeam,roost,surf": 259, "leftovers,keeneye,airslash,hiddenpowergrass,roost,surf": 237, "leftovers,keeneye,airslash,hiddenpowergrass,hydropump,roost": 230, "leftovers,keeneye,airslash,hydropump,icebeam,roost": 251}, + "persian": {"silkscarf,technician,bite,fakeout,hypnosis,return": 110, "lifeorb,technician,bite,hypnosis,return,seedbomb": 135, "lifeorb,technician,bite,return,seedbomb,taunt": 119, "choiceband,technician,bite,return,seedbomb,uturn": 114, "lifeorb,technician,bite,doubleedge,hypnosis,taunt": 110, "choiceband,technician,bite,doubleedge,seedbomb,uturn": 101, "silkscarf,technician,bite,fakeout,return,uturn": 124, "lifeorb,technician,bite,doubleedge,hypnosis,seedbomb": 115, "silkscarf,technician,bite,fakeout,return,taunt": 103, "lifeorb,technician,bite,doubleedge,hypnosis,uturn": 134, "silkscarf,technician,bite,fakeout,return,seedbomb": 101, "lifeorb,technician,bite,doubleedge,taunt,uturn": 103, "lifeorb,technician,bite,hypnosis,return,uturn": 124, "lifeorb,technician,bite,return,taunt,uturn": 118, "silkscarf,technician,bite,doubleedge,fakeout,seedbomb": 120, "silkscarf,technician,bite,doubleedge,fakeout,hypnosis": 107, "silkscarf,technician,bite,doubleedge,fakeout,taunt": 108, "silkscarf,technician,bite,doubleedge,fakeout,uturn": 103, "lifeorb,technician,bite,hypnosis,return,taunt": 120, "lifeorb,technician,bite,doubleedge,seedbomb,taunt": 100}, + "phione": {"damprock,hydration,raindance,rest,surf,toxic": 1126, "leftovers,hydration,healbell,surf,toxic,uturn": 233, "leftovers,hydration,icebeam,surf,toxic,uturn": 330, "leftovers,hydration,healbell,icebeam,surf,uturn": 277, "leftovers,hydration,healbell,icebeam,surf,toxic": 273}, + "pidgeot": {"lifeorb,tangledfeet,bravebird,heatwave,return,roost": 1016, "lifeorb,tangledfeet,bravebird,doubleedge,pursuit,roost": 76, "lifeorb,tangledfeet,bravebird,doubleedge,quickattack,roost": 78, "choiceband,tangledfeet,bravebird,doubleedge,pursuit,quickattack": 92, "lifeorb,tangledfeet,bravebird,quickattack,return,roost": 98, "choiceband,tangledfeet,bravebird,quickattack,return,uturn": 86, "lifeorb,tangledfeet,bravebird,doubleedge,roost,uturn": 106, "choiceband,tangledfeet,bravebird,pursuit,quickattack,return": 87, "lifeorb,tangledfeet,bravebird,pursuit,return,roost": 104, "lifeorb,tangledfeet,bravebird,return,roost,uturn": 85, "choiceband,tangledfeet,bravebird,doubleedge,quickattack,uturn": 96, "choiceband,tangledfeet,bravebird,pursuit,return,uturn": 92, "choiceband,tangledfeet,bravebird,doubleedge,pursuit,uturn": 72}, + "pikachu": {"lightball,static,fakeout,hiddenpowerice,surf,volttackle": 435, "lightball,static,hiddenpowerice,surf,thunderbolt,volttackle": 401, "lightball,static,fakeout,hiddenpowerice,thunderbolt,volttackle": 380, "lightball,static,grassknot,hiddenpowerice,thunderbolt,volttackle": 408, "lightball,static,grassknot,hiddenpowerice,surf,volttackle": 403, "lightball,static,fakeout,grassknot,hiddenpowerice,volttackle": 394}, + "pinsir": {"lifeorb,moldbreaker,closecombat,stealthrock,stoneedge,xscissor": 388, "lifeorb,moldbreaker,earthquake,stoneedge,swordsdance,xscissor": 525, "lifeorb,moldbreaker,closecombat,stoneedge,swordsdance,xscissor": 546, "choicescarf,moldbreaker,closecombat,earthquake,stoneedge,xscissor": 219, "lifeorb,moldbreaker,earthquake,stealthrock,stoneedge,xscissor": 427, "choiceband,moldbreaker,closecombat,earthquake,stoneedge,xscissor": 240}, + "plusle": {"leftovers,plus,batonpass,hiddenpowerice,nastyplot,thunderbolt": 637, "lifeorb,plus,grassknot,hiddenpowerice,nastyplot,thunderbolt": 1207, "leftovers,plus,encore,hiddenpowerice,nastyplot,thunderbolt": 533}, + "politoed": {"choicescarf,waterabsorb,focusblast,hiddenpowergrass,icebeam,surf": 26, "leftovers,waterabsorb,icebeam,protect,surf,toxic": 545, "chestoberry,waterabsorb,encore,hydropump,icebeam,rest": 46, "leftovers,waterabsorb,encore,hydropump,icebeam,toxic": 64, "leftovers,waterabsorb,encore,hiddenpowergrass,icebeam,surf": 73, "leftovers,waterabsorb,encore,protect,surf,toxic": 517, "leftovers,waterabsorb,hiddenpowergrass,hydropump,icebeam,toxic": 55, "choicescarf,waterabsorb,focusblast,hiddenpowergrass,hydropump,icebeam": 20, "leftovers,waterabsorb,encore,icebeam,surf,toxic": 62, "leftovers,waterabsorb,encore,focusblast,icebeam,surf": 59, "chestoberry,waterabsorb,hydropump,icebeam,rest,toxic": 50, "chestoberry,waterabsorb,focusblast,icebeam,rest,surf": 43, "leftovers,waterabsorb,focusblast,icebeam,surf,toxic": 62, "chestoberry,waterabsorb,hiddenpowergrass,hydropump,icebeam,rest": 59, "leftovers,waterabsorb,focusblast,hydropump,icebeam,toxic": 52, "chestoberry,waterabsorb,hiddenpowergrass,icebeam,rest,surf": 64, "leftovers,waterabsorb,encore,focusblast,hydropump,icebeam": 66, "chestoberry,waterabsorb,encore,icebeam,rest,surf": 49, "leftovers,waterabsorb,encore,hiddenpowergrass,hydropump,icebeam": 56, "choicespecs,waterabsorb,focusblast,hiddenpowergrass,hydropump,icebeam": 27, "chestoberry,waterabsorb,focusblast,hydropump,icebeam,rest": 55, "leftovers,waterabsorb,hiddenpowergrass,icebeam,surf,toxic": 45, "chestoberry,waterabsorb,icebeam,rest,surf,toxic": 59, "choicespecs,waterabsorb,focusblast,hiddenpowergrass,icebeam,surf": 34}, + "poliwrath": {"leftovers,waterabsorb,brickbreak,bulkup,icepunch,waterfall": 679, "leftovers,waterabsorb,rest,sleeptalk,toxic,waterfall": 348, "leftovers,waterabsorb,encore,focuspunch,substitute,waterfall": 349, "leftovers,waterabsorb,focuspunch,icepunch,substitute,waterfall": 354, "leftovers,waterabsorb,bulkup,rest,sleeptalk,waterfall": 331}, + "porygonz": {"lifeorb,download,hiddenpowerfighting,icebeam,nastyplot,triattack": 74, "choicespecs,download,darkpulse,icebeam,thunderbolt,triattack": 36, "choicescarf,adaptability,darkpulse,thunderbolt,triattack,trick": 69, "choicescarf,adaptability,icebeam,thunderbolt,triattack,trick": 61, "lifeorb,download,hiddenpowerfighting,nastyplot,thunderbolt,triattack": 63, "choicespecs,download,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 42, "choicescarf,download,icebeam,thunderbolt,triattack,trick": 75, "choicespecs,download,hiddenpowerfighting,icebeam,thunderbolt,triattack": 43, "choicescarf,download,darkpulse,icebeam,triattack,trick": 75, "choicespecs,adaptability,darkpulse,icebeam,thunderbolt,triattack": 37, "choicescarf,download,hiddenpowerfighting,thunderbolt,triattack,trick": 66, "lifeorb,download,darkpulse,icebeam,nastyplot,triattack": 58, "choicescarf,download,darkpulse,hiddenpowerfighting,icebeam,triattack": 44, "choicescarf,download,darkpulse,hiddenpowerfighting,triattack,trick": 67, "choicespecs,download,darkpulse,hiddenpowerfighting,icebeam,triattack": 42, "lifeorb,adaptability,hiddenpowerfighting,icebeam,nastyplot,triattack": 77, "choicescarf,download,darkpulse,thunderbolt,triattack,trick": 67, "choicescarf,adaptability,hiddenpowerfighting,thunderbolt,triattack,trick": 66, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,triattack,trick": 69, "choicespecs,adaptability,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 44, "choicescarf,adaptability,hiddenpowerfighting,icebeam,thunderbolt,triattack": 46, "lifeorb,adaptability,darkpulse,icebeam,nastyplot,triattack": 77, "choicescarf,adaptability,darkpulse,icebeam,thunderbolt,triattack": 39, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack": 67, "lifeorb,download,darkpulse,nastyplot,thunderbolt,triattack": 63, "lifeorb,download,darkpulse,hiddenpowerfighting,nastyplot,triattack": 59, "choicespecs,adaptability,darkpulse,hiddenpowerfighting,icebeam,triattack": 48, "choicespecs,adaptability,hiddenpowerfighting,icebeam,thunderbolt,triattack": 47, "choicescarf,adaptability,hiddenpowerfighting,icebeam,triattack,trick": 71, "lifeorb,adaptability,hiddenpowerfighting,nastyplot,thunderbolt,triattack": 76, "choicescarf,adaptability,darkpulse,icebeam,triattack,trick": 55, "choicescarf,download,hiddenpowerfighting,icebeam,triattack,trick": 78, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack": 55, "choicescarf,download,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 44, "lifeorb,adaptability,darkpulse,hiddenpowerfighting,nastyplot,triattack": 68, "lifeorb,adaptability,darkpulse,nastyplot,thunderbolt,triattack": 71, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 54, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,icebeam,triattack": 45, "choicescarf,download,hiddenpowerfighting,icebeam,thunderbolt,triattack": 33, "choicescarf,download,darkpulse,icebeam,thunderbolt,triattack": 46}, + "porygon2": {"leftovers,download,icebeam,recover,toxic,triattack": 404, "leftovers,download,discharge,recover,toxic,triattack": 377, "leftovers,download,discharge,icebeam,recover,triattack": 405, "leftovers,trace,discharge,recover,toxic,triattack": 376, "leftovers,trace,discharge,icebeam,recover,triattack": 318, "leftovers,trace,icebeam,recover,toxic,triattack": 344}, + "primeape": {"choicescarf,vitalspirit,closecombat,earthquake,stoneedge,uturn": 410, "lifeorb,vitalspirit,closecombat,encore,stoneedge,uturn": 832, "lifeorb,vitalspirit,closecombat,earthquake,encore,stoneedge": 776, "choiceband,vitalspirit,closecombat,earthquake,stoneedge,uturn": 413}, + "probopass": {"leftovers,magnetpull,earthpower,powergem,stealthrock,toxic": 379, "leftovers,magnetpull,earthpower,explosion,powergem,thunderwave": 525, "leftovers,magnetpull,earthpower,powergem,stealthrock,thunderwave": 375, "leftovers,magnetpull,earthpower,explosion,powergem,stealthrock": 270, "leftovers,magnetpull,earthpower,explosion,powergem,toxic": 510}, + "purugly": {"silkscarf,thickfat,fakeout,irontail,return,uturn": 357, "silkscarf,thickfat,fakeout,irontail,return,shadowclaw": 745, "choiceband,thickfat,irontail,return,shadowclaw,uturn": 808, "silkscarf,thickfat,fakeout,return,shadowclaw,uturn": 370}, + "quagsire": {"leftovers,waterabsorb,earthquake,icebeam,recover,waterfall": 760, "leftovers,waterabsorb,earthquake,encore,recover,waterfall": 674, "leftovers,waterabsorb,earthquake,recover,toxic,waterfall": 691}, + "qwilfish": {"focussash,poisonpoint,destinybond,spikes,thunderwave,waterfall": 61, "blacksludge,poisonpoint,explosion,spikes,thunderwave,waterfall": 308, "blacksludge,swiftswim,destinybond,thunderwave,toxicspikes,waterfall": 7, "focussash,poisonpoint,explosion,thunderwave,toxicspikes,waterfall": 52, "focussash,poisonpoint,destinybond,thunderwave,toxicspikes,waterfall": 57, "blacksludge,poisonpoint,destinybond,thunderwave,toxicspikes,waterfall": 232, "blacksludge,poisonpoint,spikes,thunderwave,toxicspikes,waterfall": 122, "blacksludge,poisonpoint,destinybond,spikes,toxicspikes,waterfall": 240, "blacksludge,poisonpoint,explosion,thunderwave,toxicspikes,waterfall": 237, "blacksludge,poisonpoint,explosion,spikes,toxicspikes,waterfall": 247, "blacksludge,swiftswim,explosion,spikes,thunderwave,waterfall": 7, "blacksludge,poisonpoint,destinybond,spikes,thunderwave,waterfall": 293, "focussash,poisonpoint,destinybond,spikes,toxicspikes,waterfall": 52, "focussash,poisonpoint,explosion,spikes,thunderwave,waterfall": 45, "blacksludge,swiftswim,explosion,spikes,toxicspikes,waterfall": 4, "focussash,poisonpoint,spikes,thunderwave,toxicspikes,waterfall": 36, "focussash,poisonpoint,explosion,spikes,toxicspikes,waterfall": 45, "blacksludge,swiftswim,explosion,thunderwave,toxicspikes,waterfall": 5, "blacksludge,swiftswim,destinybond,spikes,thunderwave,waterfall": 6, "blacksludge,swiftswim,destinybond,spikes,toxicspikes,waterfall": 4, "blacksludge,swiftswim,spikes,thunderwave,toxicspikes,waterfall": 2}, + "raichu": {"lifeorb,static,grassknot,nastyplot,surf,thunderbolt": 117, "lifeorb,static,grassknot,hiddenpowerice,nastyplot,thunderbolt": 119, "lifeorb,static,encore,grassknot,hiddenpowerice,thunderbolt": 120, "lifeorb,static,encore,focusblast,grassknot,thunderbolt": 131, "lifeorb,static,encore,focusblast,hiddenpowerice,thunderbolt": 105, "choicespecs,static,grassknot,hiddenpowerice,surf,thunderbolt": 201, "lifeorb,static,encore,hiddenpowerice,nastyplot,thunderbolt": 52, "lifeorb,static,focusblast,grassknot,nastyplot,thunderbolt": 124, "choicespecs,static,focusblast,hiddenpowerice,surf,thunderbolt": 165, "lifeorb,static,hiddenpowerice,nastyplot,surf,thunderbolt": 126, "choicespecs,static,focusblast,grassknot,hiddenpowerice,thunderbolt": 174, "lifeorb,static,encore,focusblast,surf,thunderbolt": 108, "choicespecs,static,focusblast,grassknot,surf,thunderbolt": 169, "lifeorb,static,encore,nastyplot,surf,thunderbolt": 51, "lifeorb,static,encore,grassknot,surf,thunderbolt": 109, "lifeorb,static,focusblast,nastyplot,surf,thunderbolt": 93, "lifeorb,static,focusblast,hiddenpowerice,nastyplot,thunderbolt": 126, "lifeorb,static,encore,hiddenpowerice,surf,thunderbolt": 121, "lifeorb,static,encore,grassknot,nastyplot,thunderbolt": 62, "lifeorb,static,encore,focusblast,nastyplot,thunderbolt": 64}, + "raikou": {"leftovers,pressure,aurasphere,calmmind,hiddenpowerice,thunderbolt": 586, "leftovers,pressure,calmmind,hiddenpowerice,substitute,thunderbolt": 557, "choicespecs,pressure,aurasphere,hiddenpowerice,shadowball,thunderbolt": 1188}, + "rampardos": {"lifeorb,moldbreaker,earthquake,firepunch,rockpolish,stoneedge": 578, "choicescarf,moldbreaker,earthquake,headsmash,stoneedge,superpower": 1131, "lifeorb,moldbreaker,earthquake,rockpolish,stoneedge,zenheadbutt": 547}, + "rapidash": {"leftovers,flashfire,flareblitz,hypnosis,megahorn,morningsun": 1130, "leftovers,flashfire,flareblitz,megahorn,morningsun,willowisp": 1201}, + "raticate": {"toxicorb,guts,crunch,facade,protect,suckerpunch": 442, "toxicorb,guts,crunch,facade,suckerpunch,uturn": 477, "toxicorb,guts,crunch,facade,suckerpunch,swordsdance": 749, "toxicorb,guts,crunch,facade,protect,uturn": 556}, + "rayquaza": {"lumberry,airlock,dragondance,earthquake,extremespeed,outrage": 344, "lifeorb,airlock,dragonclaw,earthquake,extremespeed,swordsdance": 739, "lifeorb,airlock,dracometeor,extremespeed,fireblast,outrage": 137, "lifeorb,airlock,earthquake,extremespeed,fireblast,outrage": 113, "lumberry,airlock,dragondance,earthquake,outrage,overheat": 378, "lifeorb,airlock,dracometeor,earthquake,extremespeed,outrage": 148, "lifeorb,airlock,dracometeor,earthquake,fireblast,outrage": 158, "lifeorb,airlock,dracometeor,earthquake,extremespeed,fireblast": 134}, + "regice": {"leftovers,clearbody,icebeam,protect,thunderbolt,toxic": 750, "lifeorb,clearbody,focusblast,icebeam,rockpolish,thunderbolt": 386, "leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 402, "lifeorb,clearbody,explosion,icebeam,rockpolish,thunderbolt": 361, "leftovers,clearbody,focusblast,icebeam,thunderbolt,thunderwave": 372}, + "regigigas": {"leftovers,slowstart,earthquake,return,substitute,thunderwave": 2243}, + "regirock": {"leftovers,clearbody,earthquake,stealthrock,stoneedge,thunderwave": 80, "leftovers,clearbody,earthquake,protect,rockslide,toxic": 734, "leftovers,clearbody,earthquake,rest,sleeptalk,stoneedge": 370, "leftovers,clearbody,earthquake,explosion,stoneedge,thunderwave": 121, "leftovers,clearbody,curse,rest,sleeptalk,stoneedge": 350, "chestoberry,clearbody,earthquake,rest,stoneedge,thunderwave": 135, "chestoberry,clearbody,earthquake,rest,stoneedge,toxic": 104, "leftovers,clearbody,earthquake,explosion,stealthrock,stoneedge": 68, "leftovers,clearbody,earthquake,explosion,stoneedge,toxic": 108, "leftovers,clearbody,earthquake,stealthrock,stoneedge,toxic": 70, "chestoberry,clearbody,earthquake,rest,stealthrock,stoneedge": 77}, + "registeel": {"leftovers,clearbody,protect,seismictoss,stealthrock,toxic": 608, "leftovers,clearbody,rest,seismictoss,sleeptalk,toxic": 696, "leftovers,clearbody,curse,ironhead,rest,sleeptalk": 733, "leftovers,clearbody,protect,seismictoss,thunderwave,toxic": 136}, + "relicanth": {"lifeorb,rockhead,earthquake,headsmash,rockpolish,waterfall": 489, "leftovers,rockhead,earthquake,headsmash,toxic,waterfall": 412, "choiceband,rockhead,doubleedge,earthquake,headsmash,waterfall": 461, "leftovers,rockhead,headsmash,stealthrock,toxic,waterfall": 270, "leftovers,rockhead,earthquake,headsmash,stealthrock,waterfall": 245}, + "rhyperior": {"leftovers,solidrock,earthquake,icepunch,rockpolish,stoneedge": 451, "leftovers,solidrock,earthquake,megahorn,rockpolish,stoneedge": 476, "leftovers,solidrock,earthquake,icepunch,stealthrock,stoneedge": 346, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge": 352, "leftovers,solidrock,earthquake,megahorn,stealthrock,stoneedge": 346}, + "roserade": {"blacksludge,naturalcure,energyball,sleeppowder,sludgebomb,toxicspikes": 88, "blacksludge,naturalcure,leafstorm,sludgebomb,synthesis,toxicspikes": 115, "blacksludge,naturalcure,energyball,sludgebomb,spikes,toxicspikes": 89, "focussash,naturalcure,energyball,sleeppowder,sludgebomb,toxicspikes": 21, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,spikes": 127, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 96, "blacksludge,naturalcure,energyball,sleeppowder,sludgebomb,spikes": 111, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 101, "blacksludge,naturalcure,energyball,sleeppowder,sludgebomb,synthesis": 111, "lifeorb,naturalcure,energyball,hiddenpowerground,sludgebomb,synthesis": 111, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,synthesis": 122, "blacksludge,naturalcure,energyball,sludgebomb,spikes,synthesis": 118, "blacksludge,naturalcure,energyball,sludgebomb,synthesis,toxicspikes": 107, "focussash,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 11, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 101, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sleeppowder,sludgebomb": 98, "lifeorb,naturalcure,energyball,hiddenpowerground,sludgebomb,spikes": 101, "lifeorb,naturalcure,energyball,hiddenpowerground,sludgebomb,toxicspikes": 111, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,synthesis": 101, "lifeorb,naturalcure,energyball,hiddenpowerground,sleeppowder,sludgebomb": 133, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 24, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 15, "focussash,naturalcure,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 18, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,synthesis": 132, "focussash,naturalcure,energyball,hiddenpowerground,sludgebomb,toxicspikes": 13, "focussash,naturalcure,hiddenpowerground,leafstorm,sludgebomb,spikes": 17, "focussash,naturalcure,energyball,sludgebomb,spikes,toxicspikes": 12, "focussash,naturalcure,energyball,hiddenpowerground,sludgebomb,spikes": 17, "focussash,naturalcure,energyball,sleeppowder,sludgebomb,spikes": 12, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 97}, + "rotom": {"choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,trick": 403, "choicescarf,levitate,hiddenpowerfighting,shadowball,thunderbolt,trick": 376}, + "rotomfan": {"leftovers,levitate,painsplit,shadowball,thunderbolt,willowisp": 411, "leftovers,levitate,rest,shadowball,sleeptalk,thunderbolt": 354}, + "rotomfrost": {"leftovers,levitate,rest,shadowball,sleeptalk,thunderbolt": 407, "leftovers,levitate,blizzard,painsplit,shadowball,thunderbolt": 136, "choicescarf,levitate,blizzard,shadowball,thunderbolt,trick": 129, "leftovers,levitate,blizzard,shadowball,thunderbolt,willowisp": 129}, + "rotomheat": {"leftovers,levitate,rest,shadowball,sleeptalk,thunderbolt": 394, "choicescarf,levitate,overheat,shadowball,thunderbolt,trick": 129, "leftovers,levitate,overheat,painsplit,shadowball,thunderbolt": 150, "leftovers,levitate,overheat,shadowball,thunderbolt,willowisp": 142}, + "rotommow": {"leftovers,levitate,rest,shadowball,sleeptalk,thunderbolt": 350, "choicescarf,levitate,leafstorm,shadowball,thunderbolt,trick": 126, "leftovers,levitate,leafstorm,painsplit,shadowball,thunderbolt": 146, "leftovers,levitate,leafstorm,shadowball,thunderbolt,willowisp": 130}, + "rotomwash": {"leftovers,levitate,hydropump,shadowball,thunderbolt,willowisp": 134, "leftovers,levitate,hydropump,painsplit,shadowball,thunderbolt": 131, "choicescarf,levitate,hydropump,shadowball,thunderbolt,trick": 149, "leftovers,levitate,rest,shadowball,sleeptalk,thunderbolt": 416}, + "sableye": {"leftovers,keeneye,payback,recover,seismictoss,toxic": 1205, "leftovers,keeneye,payback,recover,seismictoss,willowisp": 1097}, + "salamence": {"lumberry,intimidate,dragondance,earthquake,outrage,roost": 1103, "lumberry,intimidate,dragondance,earthquake,fireblast,outrage": 1100}, + "sandslash": {"leftovers,sandveil,earthquake,nightslash,rapidspin,stealthrock": 273, "leftovers,sandveil,earthquake,rapidspin,stealthrock,toxic": 274, "leftovers,sandveil,earthquake,rapidspin,stoneedge,toxic": 388, "leftovers,sandveil,earthquake,rapidspin,stealthrock,stoneedge": 292, "leftovers,sandveil,earthquake,nightslash,rapidspin,stoneedge": 413, "leftovers,sandveil,earthquake,nightslash,rapidspin,toxic": 451, "leftovers,sandveil,earthquake,stoneedge,swordsdance,xscissor": 79, "leftovers,sandveil,earthquake,stoneedge,substitute,swordsdance": 73, "leftovers,sandveil,earthquake,nightslash,stoneedge,swordsdance": 81}, + "sceptile": {"expertbelt,overgrow,earthquake,focusblast,hiddenpowerice,leafstorm": 186, "expertbelt,overgrow,earthquake,hiddenpowerfire,leafstorm,rockslide": 170, "expertbelt,overgrow,focusblast,hiddenpowerfire,leafstorm,rockslide": 171, "expertbelt,overgrow,earthquake,hiddenpowerice,leafstorm,rockslide": 189, "leftovers,overgrow,energyball,hiddenpowerice,leechseed,substitute": 532, "expertbelt,overgrow,focusblast,hiddenpowerice,leafstorm,rockslide": 171, "leftovers,overgrow,energyball,hiddenpowerfire,leechseed,substitute": 567, "expertbelt,overgrow,earthquake,focusblast,hiddenpowerfire,leafstorm": 161, "expertbelt,overgrow,earthquake,focusblast,leafstorm,rockslide": 100}, + "scizor": {"lifeorb,technician,bugbite,bulletpunch,superpower,swordsdance": 565, "choiceband,technician,bulletpunch,pursuit,superpower,uturn": 1112, "lifeorb,technician,bugbite,bulletpunch,roost,swordsdance": 308, "lifeorb,technician,bulletpunch,roost,superpower,swordsdance": 305}, + "scyther": {"choiceband,technician,aerialace,brickbreak,pursuit,uturn": 1026, "leftovers,technician,aerialace,brickbreak,bugbite,swordsdance": 467, "leftovers,technician,aerialace,bugbite,roost,swordsdance": 245, "leftovers,technician,aerialace,brickbreak,roost,swordsdance": 259}, + "seaking": {"lifeorb,swiftswim,icebeam,raindance,return,waterfall": 761, "lifeorb,swiftswim,megahorn,raindance,return,waterfall": 762, "lifeorb,swiftswim,icebeam,megahorn,raindance,waterfall": 771}, + "seviper": {"lifeorb,shedskin,darkpulse,earthquake,sludgebomb,suckerpunch": 245, "lifeorb,shedskin,aquatail,earthquake,sludgebomb,suckerpunch": 283, "choicescarf,shedskin,earthquake,flamethrower,sludgebomb,switcheroo": 280, "lifeorb,shedskin,aquatail,darkpulse,earthquake,sludgebomb": 240, "lifeorb,shedskin,aquatail,earthquake,flamethrower,sludgebomb": 236, "choicescarf,shedskin,darkpulse,earthquake,sludgebomb,switcheroo": 274, "lifeorb,shedskin,darkpulse,earthquake,flamethrower,sludgebomb": 236, "lifeorb,shedskin,earthquake,flamethrower,sludgebomb,suckerpunch": 270, "choicescarf,shedskin,aquatail,earthquake,sludgebomb,switcheroo": 255}, + "sharpedo": {"choiceband,roughskin,aquajet,crunch,earthquake,waterfall": 343, "lifeorb,roughskin,aquajet,crunch,earthquake,hydropump": 310, "expertbelt,roughskin,crunch,earthquake,icebeam,waterfall": 362, "lifeorb,roughskin,crunch,earthquake,hydropump,icebeam": 344, "lifeorb,roughskin,aquajet,crunch,hydropump,icebeam": 322, "expertbelt,roughskin,aquajet,crunch,icebeam,waterfall": 372}, + "shaymin": {"leftovers,naturalcure,airslash,leechseed,seedflare,substitute": 574, "lifeorb,naturalcure,airslash,earthpower,seedflare,synthesis": 541}, + "shayminsky": {"choicespecs,serenegrace,airslash,earthpower,hiddenpowerice,seedflare": 500, "leftovers,serenegrace,airslash,leechseed,seedflare,substitute": 507}, + "shedinja": {"focussash,wonderguard,batonpass,shadowsneak,swordsdance,xscissor": 774, "focussash,wonderguard,shadowclaw,shadowsneak,swordsdance,xscissor": 755, "focussash,wonderguard,shadowsneak,swordsdance,willowisp,xscissor": 739}, + "shiftry": {"lifeorb,earlybird,darkpulse,leafstorm,lowkick,suckerpunch": 212, "lifeorb,earlybird,explosion,leafstorm,lowkick,suckerpunch": 162, "lifeorb,earlybird,explosion,hiddenpowerfire,leafstorm,suckerpunch": 206, "lifeorb,earlybird,lowkick,seedbomb,suckerpunch,swordsdance": 1093, "lifeorb,earlybird,darkpulse,hiddenpowerfire,leafstorm,suckerpunch": 168, "lifeorb,earlybird,darkpulse,explosion,leafstorm,suckerpunch": 176, "lifeorb,earlybird,hiddenpowerfire,leafstorm,lowkick,suckerpunch": 186, "lifeorb,chlorophyll,explosion,leafstorm,lowkick,suckerpunch": 2, "lifeorb,chlorophyll,darkpulse,explosion,leafstorm,suckerpunch": 3, "lifeorb,chlorophyll,lowkick,seedbomb,suckerpunch,swordsdance": 7, "lifeorb,chlorophyll,hiddenpowerfire,leafstorm,lowkick,suckerpunch": 2, "lifeorb,chlorophyll,darkpulse,leafstorm,lowkick,suckerpunch": 2, "lifeorb,chlorophyll,darkpulse,hiddenpowerfire,leafstorm,suckerpunch": 2}, + "shuckle": {"leftovers,gluttony,encore,knockoff,stealthrock,toxic": 913, "leftovers,gluttony,encore,knockoff,protect,toxic": 460, "leftovers,gluttony,encore,protect,stealthrock,toxic": 944}, + "skarmory": {"leftovers,keeneye,bravebird,roost,spikes,whirlwind": 470, "leftovers,keeneye,bravebird,roost,spikes,toxic": 630, "leftovers,keeneye,bravebird,roost,spikes,stealthrock": 293, "leftovers,keeneye,bravebird,roost,stealthrock,toxic": 415, "leftovers,keeneye,bravebird,roost,stealthrock,whirlwind": 293}, + "skuntank": {"blacksludge,aftermath,crunch,explosion,fireblast,suckerpunch": 304, "blacksludge,aftermath,crunch,fireblast,poisonjab,suckerpunch": 610, "blackglasses,aftermath,crunch,poisonjab,pursuit,suckerpunch": 303, "blacksludge,aftermath,crunch,poisonjab,suckerpunch,taunt": 283, "blacksludge,aftermath,crunch,fireblast,suckerpunch,taunt": 291, "blackglasses,aftermath,crunch,fireblast,pursuit,suckerpunch": 296, "choiceband,aftermath,crunch,explosion,poisonjab,suckerpunch": 263}, + "slaking": {"choiceband,truant,doubleedge,earthquake,gigaimpact,nightslash": 557, "choicescarf,truant,doubleedge,earthquake,gigaimpact,nightslash": 587, "choicescarf,truant,earthquake,gigaimpact,nightslash,return": 543, "choiceband,truant,earthquake,gigaimpact,nightslash,return": 552}, + "slowbro": {"leftovers,owntempo,fireblast,psychic,slackoff,surf": 262, "leftovers,owntempo,calmmind,psychic,slackoff,surf": 1049, "leftovers,owntempo,psychic,slackoff,surf,toxic": 268, "leftovers,owntempo,psychic,slackoff,surf,thunderwave": 251, "leftovers,owntempo,icebeam,psychic,slackoff,surf": 261}, + "slowking": {"leftovers,owntempo,fireblast,psychic,slackoff,surf": 260, "lifeorb,owntempo,psychic,slackoff,surf,trickroom": 132, "choicespecs,owntempo,fireblast,icebeam,psychic,surf": 132, "leftovers,owntempo,psychic,slackoff,surf,toxic": 257, "choicespecs,owntempo,fireblast,psychic,surf,trick": 158, "leftovers,owntempo,psychic,slackoff,surf,thunderwave": 249, "leftovers,owntempo,icebeam,psychic,slackoff,surf": 261, "lifeorb,owntempo,icebeam,psychic,slackoff,surf": 119, "lifeorb,owntempo,fireblast,psychic,surf,trickroom": 110, "lifeorb,owntempo,fireblast,psychic,slackoff,surf": 138, "choicespecs,owntempo,icebeam,psychic,surf,trick": 159, "lifeorb,owntempo,icebeam,psychic,surf,trickroom": 111}, + "smeargle": {"focussash,owntempo,explosion,spikes,spore,stealthrock": 867, "focussash,owntempo,explosion,spikes,spore,whirlwind": 407, "focussash,owntempo,spikes,spore,stealthrock,whirlwind": 880, "focussash,owntempo,explosion,spore,stealthrock,whirlwind": 3}, + "snorlax": {"leftovers,thickfat,bodyslam,curse,rest,sleeptalk": 725, "chestoberry,thickfat,bodyslam,curse,earthquake,rest": 751, "choiceband,thickfat,bodyslam,crunch,earthquake,selfdestruct": 120, "choiceband,thickfat,earthquake,pursuit,return,selfdestruct": 120, "choiceband,thickfat,bodyslam,earthquake,pursuit,selfdestruct": 117, "choiceband,thickfat,crunch,earthquake,pursuit,return": 133, "choiceband,thickfat,bodyslam,crunch,earthquake,pursuit": 131, "choiceband,thickfat,crunch,earthquake,return,selfdestruct": 120}, + "solrock": {"lifeorb,levitate,earthquake,explosion,rockpolish,stoneedge": 504, "lifeorb,levitate,earthquake,rockpolish,stoneedge,zenheadbutt": 495, "lifeorb,levitate,earthquake,explosion,stealthrock,stoneedge": 377, "lifeorb,levitate,earthquake,stealthrock,stoneedge,zenheadbutt": 391, "choiceband,levitate,earthquake,explosion,stoneedge,zenheadbutt": 409}, + "spinda": {"silkscarf,owntempo,doubleedge,fakeout,lowkick,suckerpunch": 369, "leftovers,owntempo,protect,seismictoss,toxic,wish": 674, "silkscarf,owntempo,doubleedge,fakeout,lowkick,shadowball": 329, "leftovers,owntempo,protect,seismictoss,shadowball,toxic": 204, "leftovers,owntempo,protect,seismictoss,substitute,toxic": 204, "leftovers,owntempo,encore,protect,seismictoss,toxic": 227}, + "spiritomb": {"leftovers,pressure,calmmind,darkpulse,rest,sleeptalk": 1166, "leftovers,pressure,darkpulse,pursuit,shadowsneak,willowisp": 103, "blackglasses,pressure,darkpulse,pursuit,suckerpunch,willowisp": 102, "leftovers,pressure,darkpulse,painsplit,suckerpunch,willowisp": 83, "leftovers,pressure,darkpulse,painsplit,shadowsneak,suckerpunch": 196, "blackglasses,pressure,darkpulse,pursuit,shadowsneak,suckerpunch": 187, "leftovers,pressure,darkpulse,shadowsneak,suckerpunch,willowisp": 197, "leftovers,pressure,darkpulse,painsplit,shadowsneak,willowisp": 98, "blackglasses,pressure,darkpulse,painsplit,pursuit,suckerpunch": 106, "leftovers,pressure,darkpulse,painsplit,pursuit,shadowsneak": 116}, + "stantler": {"lifeorb,intimidate,earthquake,hypnosis,return,thunderbolt": 373, "lifeorb,intimidate,earthquake,megahorn,return,thunderbolt": 385, "lifeorb,intimidate,earthquake,hypnosis,return,suckerpunch": 347, "lifeorb,intimidate,earthquake,return,suckerpunch,thunderbolt": 399, "choiceband,intimidate,earthquake,megahorn,return,suckerpunch": 375, "lifeorb,intimidate,earthquake,hypnosis,megahorn,return": 363}, + "staraptor": {"choiceband,intimidate,bravebird,closecombat,quickattack,return": 127, "leftovers,intimidate,bravebird,closecombat,roost,uturn": 502, "choicescarf,intimidate,bravebird,closecombat,doubleedge,uturn": 56, "choiceband,intimidate,bravebird,closecombat,quickattack,uturn": 107, "choiceband,intimidate,bravebird,closecombat,doubleedge,quickattack": 132, "leftovers,intimidate,bravebird,closecombat,return,roost": 534, "choicescarf,intimidate,bravebird,closecombat,return,uturn": 44, "choiceband,intimidate,bravebird,closecombat,pursuit,quickattack": 110, "choiceband,intimidate,bravebird,closecombat,pursuit,return": 135, "choiceband,intimidate,bravebird,closecombat,doubleedge,pursuit": 113, "choiceband,intimidate,bravebird,closecombat,doubleedge,uturn": 77, "choiceband,intimidate,bravebird,closecombat,pursuit,uturn": 121, "choiceband,intimidate,bravebird,closecombat,return,uturn": 55}, + "starmie": {"leftovers,naturalcure,icebeam,rapidspin,recover,surf": 293, "leftovers,naturalcure,rapidspin,recover,surf,thunderwave": 300, "choicespecs,naturalcure,hydropump,icebeam,psychic,thunderbolt": 326, "lifeorb,naturalcure,hydropump,icebeam,recover,thunderbolt": 232, "lifeorb,naturalcure,hydropump,psychic,recover,thunderbolt": 245, "lifeorb,naturalcure,hydropump,icebeam,psychic,recover": 221, "leftovers,naturalcure,psychic,rapidspin,recover,surf": 282, "leftovers,naturalcure,psychic,recover,surf,thunderwave": 31, "leftovers,naturalcure,icebeam,psychic,recover,surf": 25, "leftovers,naturalcure,icebeam,recover,surf,thunderwave": 41}, + "steelix": {"leftovers,rockhead,earthquake,roar,stoneedge,toxic": 64, "leftovers,rockhead,earthquake,ironhead,protect,toxic": 1044, "leftovers,rockhead,earthquake,ironhead,roar,stoneedge": 52, "leftovers,rockhead,earthquake,explosion,stealthrock,toxic": 44, "leftovers,rockhead,earthquake,stealthrock,stoneedge,toxic": 40, "leftovers,rockhead,earthquake,roar,stealthrock,toxic": 49, "leftovers,rockhead,earthquake,explosion,ironhead,roar": 57, "leftovers,rockhead,earthquake,explosion,stoneedge,toxic": 53, "leftovers,rockhead,earthquake,explosion,stealthrock,stoneedge": 41, "leftovers,rockhead,earthquake,ironhead,roar,stealthrock": 43, "leftovers,rockhead,earthquake,explosion,ironhead,stealthrock": 52, "leftovers,rockhead,earthquake,explosion,roar,toxic": 57, "leftovers,rockhead,earthquake,ironhead,roar,toxic": 70, "choiceband,rockhead,earthquake,explosion,ironhead,stoneedge": 71, "leftovers,rockhead,earthquake,explosion,roar,stoneedge": 59, "leftovers,rockhead,earthquake,ironhead,stealthrock,toxic": 46, "leftovers,rockhead,earthquake,ironhead,stoneedge,toxic": 53, "leftovers,rockhead,earthquake,roar,stealthrock,stoneedge": 36, "leftovers,rockhead,earthquake,explosion,ironhead,toxic": 75, "leftovers,rockhead,earthquake,ironhead,stealthrock,stoneedge": 44, "leftovers,rockhead,earthquake,explosion,roar,stealthrock": 45}, + "sudowoodo": {"leftovers,rockhead,earthquake,stealthrock,stoneedge,suckerpunch": 81, "leftovers,rockhead,earthquake,stoneedge,toxic,woodhammer": 234, "choiceband,rockhead,explosion,stoneedge,suckerpunch,woodhammer": 120, "leftovers,rockhead,stealthrock,stoneedge,toxic,woodhammer": 88, "choiceband,rockhead,earthquake,stoneedge,suckerpunch,woodhammer": 272, "leftovers,rockhead,earthquake,stealthrock,stoneedge,toxic": 88, "leftovers,rockhead,earthquake,stealthrock,stoneedge,woodhammer": 187, "leftovers,rockhead,earthquake,explosion,stealthrock,stoneedge": 83, "leftovers,rockhead,earthquake,stoneedge,suckerpunch,toxic": 132, "choiceband,rockhead,earthquake,explosion,stoneedge,suckerpunch": 135, "leftovers,rockhead,stealthrock,stoneedge,suckerpunch,woodhammer": 101, "leftovers,rockhead,earthquake,explosion,stoneedge,toxic": 126, "leftovers,rockhead,explosion,stoneedge,toxic,woodhammer": 143, "choiceband,rockhead,earthquake,explosion,stoneedge,woodhammer": 229, "leftovers,rockhead,stoneedge,suckerpunch,toxic,woodhammer": 129, "leftovers,rockhead,explosion,stealthrock,stoneedge,woodhammer": 89}, + "suicune": {"chestoberry,pressure,calmmind,hydropump,icebeam,rest": 276, "leftovers,pressure,calmmind,rest,sleeptalk,surf": 1076, "leftovers,pressure,calmmind,icebeam,substitute,surf": 279, "leftovers,pressure,calmmind,hydropump,icebeam,substitute": 266, "chestoberry,pressure,calmmind,icebeam,rest,surf": 294}, + "sunflora": {"choicespecs,chlorophyll,earthpower,hiddenpowerfire,leafstorm,sludgebomb": 763, "choicespecs,chlorophyll,earthpower,hiddenpowerice,leafstorm,sludgebomb": 719, "choicespecs,chlorophyll,earthpower,hiddenpowerrock,leafstorm,sludgebomb": 822}, + "swalot": {"blacksludge,liquidooze,earthquake,encore,painsplit,sludgebomb": 83, "blacksludge,liquidooze,earthquake,protect,sludgebomb,toxic": 1166, "blacksludge,liquidooze,earthquake,encore,icebeam,sludgebomb": 66, "blacksludge,liquidooze,earthquake,encore,explosion,sludgebomb": 86, "blacksludge,liquidooze,earthquake,explosion,sludgebomb,toxic": 115, "blacksludge,liquidooze,earthquake,encore,sludgebomb,yawn": 86, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,toxic": 95, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,toxic": 100, "blacksludge,liquidooze,earthquake,encore,sludgebomb,toxic": 83, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,yawn": 110, "blacksludge,liquidooze,earthquake,icebeam,painsplit,sludgebomb": 91, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,yawn": 85, "blacksludge,liquidooze,earthquake,explosion,sludgebomb,yawn": 100, "blacksludge,liquidooze,earthquake,explosion,icebeam,sludgebomb": 75}, + "swampert": {"choiceband,torrent,earthquake,icepunch,stoneedge,waterfall": 354, "leftovers,torrent,earthquake,roar,toxic,waterfall": 143, "leftovers,torrent,earthquake,protect,toxic,waterfall": 634, "choicescarf,torrent,earthquake,icepunch,stoneedge,waterfall": 331, "leftovers,torrent,earthquake,icebeam,roar,waterfall": 138, "leftovers,torrent,earthquake,icebeam,toxic,waterfall": 137, "leftovers,torrent,earthquake,icebeam,stealthrock,waterfall": 98, "leftovers,torrent,earthquake,stealthrock,toxic,waterfall": 120, "leftovers,torrent,earthquake,roar,stealthrock,waterfall": 88}, + "swellow": {"toxicorb,guts,bravebird,facade,quickattack,uturn": 1005, "toxicorb,guts,bravebird,facade,protect,uturn": 1025}, + "tangrowth": {"leftovers,chlorophyll,hiddenpowerfire,morningsun,powerwhip,rockslide": 114, "leftovers,chlorophyll,earthquake,powerwhip,rockslide,swordsdance": 1128, "leftovers,chlorophyll,leafstorm,morningsun,rockslide,sleeppowder": 88, "leftovers,chlorophyll,earthquake,hiddenpowerfire,leafstorm,morningsun": 111, "leftovers,chlorophyll,earthquake,leafstorm,morningsun,sleeppowder": 60, "leftovers,chlorophyll,earthquake,morningsun,powerwhip,sleeppowder": 62, "leftovers,chlorophyll,earthquake,hiddenpowerfire,morningsun,powerwhip": 116, "leftovers,chlorophyll,earthquake,leafstorm,morningsun,rockslide": 117, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,morningsun,sleeppowder": 66, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,morningsun,rockslide": 111, "leftovers,chlorophyll,morningsun,powerwhip,rockslide,sleeppowder": 78, "leftovers,chlorophyll,earthquake,morningsun,powerwhip,rockslide": 137, "leftovers,chlorophyll,hiddenpowerfire,morningsun,powerwhip,sleeppowder": 43}, + "tauros": {"choiceband,intimidate,earthquake,payback,return,stoneedge": 766, "choiceband,intimidate,doubleedge,earthquake,pursuit,stoneedge": 370, "choiceband,intimidate,doubleedge,earthquake,payback,stoneedge": 692, "choiceband,intimidate,earthquake,pursuit,return,stoneedge": 362}, + "tentacruel": {"blacksludge,liquidooze,haze,hydropump,rapidspin,sludgebomb": 70, "blacksludge,liquidooze,hydropump,icebeam,rapidspin,toxicspikes": 83, "blacksludge,clearbody,haze,icebeam,surf,toxicspikes": 10, "blacksludge,clearbody,haze,hydropump,icebeam,rapidspin": 79, "blacksludge,liquidooze,haze,rapidspin,sludgebomb,surf": 87, "blacksludge,liquidooze,hydropump,rapidspin,sludgebomb,toxicspikes": 84, "blacksludge,liquidooze,rapidspin,sludgebomb,surf,toxicspikes": 68, "blacksludge,liquidooze,haze,icebeam,rapidspin,surf": 94, "blacksludge,clearbody,rapidspin,sludgebomb,surf,toxicspikes": 90, "blacksludge,clearbody,hydropump,icebeam,rapidspin,toxicspikes": 62, "blacksludge,clearbody,haze,hydropump,rapidspin,toxicspikes": 76, "blacksludge,clearbody,haze,hydropump,rapidspin,sludgebomb": 88, "blacksludge,liquidooze,haze,hydropump,rapidspin,toxicspikes": 79, "blacksludge,clearbody,haze,rapidspin,sludgebomb,surf": 92, "blacksludge,clearbody,haze,rapidspin,surf,toxicspikes": 60, "blacksludge,liquidooze,haze,rapidspin,surf,toxicspikes": 93, "blacksludge,clearbody,haze,icebeam,rapidspin,surf": 77, "blacksludge,clearbody,haze,icebeam,sludgebomb,surf": 15, "blacksludge,liquidooze,icebeam,sludgebomb,surf,toxicspikes": 14, "blacksludge,clearbody,hydropump,icebeam,rapidspin,sludgebomb": 75, "blacksludge,liquidooze,hydropump,icebeam,rapidspin,sludgebomb": 65, "blacksludge,liquidooze,icebeam,rapidspin,surf,toxicspikes": 63, "blacksludge,liquidooze,haze,icebeam,surf,toxicspikes": 12, "blacksludge,liquidooze,haze,icebeam,sludgebomb,surf": 14, "blacksludge,clearbody,haze,hydropump,icebeam,sludgebomb": 24, "blacksludge,clearbody,icebeam,rapidspin,sludgebomb,surf": 89, "blacksludge,liquidooze,haze,hydropump,icebeam,toxicspikes": 14, "blacksludge,liquidooze,icebeam,rapidspin,sludgebomb,surf": 61, "blacksludge,clearbody,icebeam,rapidspin,surf,toxicspikes": 73, "blacksludge,liquidooze,haze,hydropump,icebeam,sludgebomb": 16, "blacksludge,liquidooze,haze,hydropump,icebeam,rapidspin": 72, "blacksludge,liquidooze,hydropump,icebeam,sludgebomb,toxicspikes": 13, "blacksludge,liquidooze,haze,hydropump,sludgebomb,toxicspikes": 21, "blacksludge,clearbody,hydropump,rapidspin,sludgebomb,toxicspikes": 76, "blacksludge,clearbody,hydropump,icebeam,sludgebomb,toxicspikes": 12, "blacksludge,clearbody,haze,hydropump,icebeam,toxicspikes": 7, "blacksludge,clearbody,haze,sludgebomb,surf,toxicspikes": 8, "blacksludge,clearbody,haze,hydropump,sludgebomb,toxicspikes": 12, "blacksludge,liquidooze,haze,sludgebomb,surf,toxicspikes": 9, "blacksludge,clearbody,icebeam,sludgebomb,surf,toxicspikes": 20}, + "togekiss": {"leftovers,serenegrace,airslash,aurasphere,nastyplot,roost": 250, "choicescarf,serenegrace,airslash,aurasphere,fireblast,trick": 664, "leftovers,serenegrace,airslash,healbell,roost,thunderwave": 684, "leftovers,serenegrace,airslash,nastyplot,roost,thunderwave": 233, "leftovers,serenegrace,airslash,batonpass,nastyplot,roost": 189}, + "torkoal": {"leftovers,whitesmoke,lavaplume,rapidspin,stealthrock,yawn": 282, "leftovers,whitesmoke,earthquake,lavaplume,rapidspin,yawn": 415, "leftovers,whitesmoke,explosion,lavaplume,rapidspin,yawn": 345, "leftovers,whitesmoke,earthquake,explosion,lavaplume,rapidspin": 377, "leftovers,whitesmoke,earthquake,lavaplume,rapidspin,stealthrock": 288, "leftovers,whitesmoke,explosion,lavaplume,rapidspin,stealthrock": 255, "leftovers,whitesmoke,earthquake,explosion,lavaplume,yawn": 130, "leftovers,whitesmoke,earthquake,lavaplume,stealthrock,yawn": 42, "leftovers,whitesmoke,earthquake,explosion,lavaplume,stealthrock": 40, "leftovers,whitesmoke,explosion,lavaplume,stealthrock,yawn": 42}, + "torterra": {"leftovers,overgrow,earthquake,rockpolish,stoneedge,woodhammer": 995, "leftovers,overgrow,earthquake,stoneedge,synthesis,woodhammer": 643, "leftovers,overgrow,earthquake,stealthrock,synthesis,woodhammer": 403}, + "toxicroak": {"lifeorb,dryskin,crosschop,poisonjab,suckerpunch,swordsdance": 200, "lifeorb,dryskin,crosschop,earthquake,poisonjab,swordsdance": 363, "lifeorb,dryskin,crosschop,earthquake,suckerpunch,swordsdance": 187, "lifeorb,dryskin,crosschop,icepunch,poisonjab,swordsdance": 377, "lifeorb,dryskin,crosschop,icepunch,suckerpunch,swordsdance": 199, "blacksludge,dryskin,crosschop,poisonjab,substitute,swordsdance": 190, "blacksludge,dryskin,crosschop,earthquake,substitute,swordsdance": 206, "blacksludge,dryskin,crosschop,icepunch,substitute,swordsdance": 208, "lifeorb,dryskin,crosschop,earthquake,icepunch,swordsdance": 381}, + "tropius": {"leftovers,chlorophyll,airslash,earthquake,roost,toxic": 473, "lifeorb,chlorophyll,aerialace,dragondance,earthquake,leafblade": 1080, "leftovers,chlorophyll,airslash,leechseed,roost,toxic": 493}, + "typhlosion": {"choicescarf,blaze,eruption,fireblast,focusblast,hiddenpowerrock": 590, "choicescarf,blaze,eruption,fireblast,focusblast,hiddenpowergrass": 551, "choicespecs,blaze,eruption,fireblast,focusblast,hiddenpowergrass": 583, "choicespecs,blaze,eruption,fireblast,focusblast,hiddenpowerrock": 599}, + "tyranitar": {"leftovers,sandstream,crunch,dragondance,icepunch,stoneedge": 374, "leftovers,sandstream,crunch,earthquake,fireblast,stoneedge": 72, "leftovers,sandstream,crunch,fireblast,pursuit,stoneedge": 94, "leftovers,sandstream,crunch,icebeam,pursuit,stoneedge": 77, "leftovers,sandstream,crunch,pursuit,stealthrock,stoneedge": 66, "choiceband,sandstream,crunch,earthquake,pursuit,stoneedge": 79, "leftovers,sandstream,crunch,dragondance,earthquake,stoneedge": 312, "leftovers,sandstream,crunch,icebeam,stoneedge,superpower": 71, "leftovers,sandstream,crunch,earthquake,icebeam,stoneedge": 83, "leftovers,sandstream,crunch,fireblast,icebeam,stoneedge": 73, "leftovers,sandstream,crunch,dragondance,firepunch,stoneedge": 308, "choiceband,sandstream,crunch,pursuit,stoneedge,superpower": 80, "choiceband,sandstream,crunch,earthquake,stoneedge,superpower": 36, "leftovers,sandstream,crunch,icebeam,stealthrock,stoneedge": 57, "choicescarf,sandstream,crunch,earthquake,stoneedge,superpower": 36, "leftovers,sandstream,crunch,fireblast,stealthrock,stoneedge": 65, "leftovers,sandstream,crunch,earthquake,stealthrock,stoneedge": 62, "leftovers,sandstream,crunch,fireblast,stoneedge,superpower": 78, "leftovers,sandstream,crunch,stealthrock,stoneedge,superpower": 64}, + "umbreon": {"leftovers,synchronize,payback,protect,toxic,wish": 1187, "leftovers,synchronize,healbell,moonlight,payback,toxic": 550, "leftovers,synchronize,curse,healbell,moonlight,payback": 586, "leftovers,synchronize,curse,moonlight,payback,toxic": 85}, + "unown": {"choicespecs,levitate,hiddenpowerfighting": 1093, "choicespecs,levitate,hiddenpowerpsychic": 1047}, + "ursaring": {"toxicorb,quickfeet,closecombat,crunch,facade,swordsdance": 1068, "toxicorb,guts,closecombat,crunch,facade,protect": 1108}, + "uxie": {"leftovers,levitate,healbell,psychic,stealthrock,yawn": 249, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 333, "leftovers,levitate,healbell,psychic,thunderwave,uturn": 519, "leftovers,levitate,healbell,psychic,uturn,yawn": 471, "leftovers,levitate,psychic,stealthrock,uturn,yawn": 334, "leftovers,levitate,healbell,psychic,stealthrock,thunderwave": 253, "leftovers,levitate,psychic,thunderwave,uturn,yawn": 42, "leftovers,levitate,healbell,psychic,stealthrock,uturn": 181}, + "vaporeon": {"leftovers,waterabsorb,icebeam,protect,surf,wish": 595, "leftovers,waterabsorb,protect,surf,toxic,wish": 1131, "leftovers,waterabsorb,healbell,protect,surf,wish": 544}, + "venomoth": {"blacksludge,tintedlens,bugbuzz,roost,sleeppowder,toxicspikes": 566, "blacksludge,tintedlens,bugbuzz,roost,toxicspikes,uturn": 525, "blacksludge,tintedlens,bugbuzz,sleeppowder,toxicspikes,uturn": 443, "blacksludge,tintedlens,bugbuzz,roost,sleeppowder,uturn": 620, "focussash,tintedlens,bugbuzz,sleeppowder,toxicspikes,uturn": 87}, + "venusaur": {"blacksludge,overgrow,earthquake,leafstorm,sludgebomb,synthesis": 573, "blacksludge,overgrow,leechseed,powerwhip,sludgebomb,substitute": 574, "blacksludge,overgrow,leechseed,sleeppowder,sludgebomb,substitute": 614, "blacksludge,overgrow,leafstorm,sleeppowder,sludgebomb,synthesis": 611}, + "vespiquen": {"leftovers,pressure,hiddenpowerflying,roost,toxic,uturn": 1749}, + "victreebel": {"lifeorb,chlorophyll,leafstorm,sleeppowder,sludgebomb,suckerpunch": 192, "lifeorb,chlorophyll,sludgebomb,solarbeam,sunnyday,weatherball": 1129, "lifeorb,chlorophyll,hiddenpowerground,leafstorm,sleeppowder,sludgebomb": 186, "lifeorb,chlorophyll,hiddenpowerground,leafblade,sleeppowder,sludgebomb": 168, "lifeorb,chlorophyll,leafblade,sleeppowder,sludgebomb,suckerpunch": 203, "lifeorb,chlorophyll,hiddenpowerground,leafblade,sludgebomb,suckerpunch": 199, "lifeorb,chlorophyll,hiddenpowerground,leafstorm,sludgebomb,suckerpunch": 195}, + "vigoroth": {"lifeorb,vitalspirit,bulkup,earthquake,nightslash,return": 193, "lifeorb,vitalspirit,bodyslam,bulkup,earthquake,nightslash": 176, "leftovers,vitalspirit,bodyslam,bulkup,nightslash,slackoff": 185, "lifeorb,vitalspirit,bodyslam,bulkup,nightslash,suckerpunch": 80, "leftovers,vitalspirit,bodyslam,encore,nightslash,slackoff": 54, "leftovers,vitalspirit,bulkup,nightslash,return,slackoff": 207, "leftovers,vitalspirit,earthquake,nightslash,return,slackoff": 105, "leftovers,vitalspirit,bodyslam,nightslash,slackoff,suckerpunch": 59, "leftovers,vitalspirit,bodyslam,bulkup,earthquake,slackoff": 190, "lifeorb,vitalspirit,bodyslam,bulkup,earthquake,suckerpunch": 99, "leftovers,vitalspirit,bodyslam,earthquake,slackoff,suckerpunch": 60, "leftovers,vitalspirit,bodyslam,earthquake,nightslash,slackoff": 121, "lifeorb,vitalspirit,bulkup,nightslash,return,suckerpunch": 98, "leftovers,vitalspirit,earthquake,return,slackoff,suckerpunch": 53, "leftovers,vitalspirit,bulkup,earthquake,return,slackoff": 172, "leftovers,vitalspirit,encore,nightslash,return,slackoff": 68, "lifeorb,vitalspirit,bulkup,earthquake,return,suckerpunch": 80, "leftovers,vitalspirit,earthquake,encore,return,slackoff": 60, "leftovers,vitalspirit,nightslash,return,slackoff,suckerpunch": 63, "leftovers,vitalspirit,bodyslam,earthquake,encore,slackoff": 58}, + "vileplume": {"blacksludge,chlorophyll,aromatherapy,sleeppowder,sludgebomb,synthesis": 188, "blacksludge,chlorophyll,energyball,sleeppowder,sludgebomb,synthesis": 202, "lifeorb,chlorophyll,hiddenpowerfire,sludgebomb,solarbeam,sunnyday": 1134, "blacksludge,chlorophyll,aromatherapy,energyball,sludgebomb,synthesis": 164, "blacksludge,chlorophyll,hiddenpowerground,sleeppowder,sludgebomb,synthesis": 202, "blacksludge,chlorophyll,aromatherapy,hiddenpowerground,sludgebomb,synthesis": 180, "blacksludge,chlorophyll,energyball,hiddenpowerground,sludgebomb,synthesis": 212}, + "volbeat": {"leftovers,swarm,batonpass,bugbuzz,substitute,tailglow": 791, "leftovers,swarm,batonpass,bugbuzz,encore,tailglow": 766, "leftovers,swarm,batonpass,bugbuzz,roost,tailglow": 801}, + "wailord": {"choicescarf,waterveil,hydropump,icebeam,selfdestruct,waterspout": 665, "choicescarf,waterveil,hiddenpowergrass,hydropump,icebeam,selfdestruct": 734, "choicescarf,waterveil,hiddenpowergrass,hydropump,icebeam,waterspout": 709}, + "walrein": {"leftovers,thickfat,icebeam,roar,surf,toxic": 193, "leftovers,thickfat,icebeam,protect,surf,toxic": 503, "leftovers,thickfat,encore,icebeam,superfang,surf": 233, "leftovers,thickfat,icebeam,rest,sleeptalk,surf": 491, "leftovers,thickfat,icebeam,superfang,surf,toxic": 159, "leftovers,thickfat,icebeam,roar,superfang,surf": 214, "leftovers,thickfat,encore,icebeam,surf,toxic": 231}, + "weavile": {"choiceband,pressure,icepunch,iceshard,nightslash,pursuit": 449, "choiceband,pressure,icepunch,lowkick,nightslash,pursuit": 405, "lifeorb,pressure,icepunch,lowkick,nightslash,swordsdance": 431, "choiceband,pressure,icepunch,iceshard,lowkick,nightslash": 336, "lifeorb,pressure,icepunch,iceshard,nightslash,swordsdance": 410}, + "weezing": {"blacksludge,levitate,fireblast,haze,sludgebomb,willowisp": 314, "blacksludge,levitate,haze,painsplit,sludgebomb,willowisp": 305, "blacksludge,levitate,fireblast,painsplit,sludgebomb,willowisp": 276, "blacksludge,levitate,fireblast,rest,sleeptalk,sludgebomb": 1197, "blacksludge,levitate,fireblast,haze,painsplit,sludgebomb": 276}, + "whiscash": {"lifeorb,anticipation,dragondance,earthquake,stoneedge,waterfall": 2107}, + "wigglytuff": {"leftovers,cutecharm,bodyslam,healbell,protect,wish": 187, "leftovers,cutecharm,doubleedge,protect,toxic,wish": 372, "leftovers,cutecharm,protect,seismictoss,toxic,wish": 762, "leftovers,cutecharm,bodyslam,fireblast,protect,wish": 205, "leftovers,cutecharm,doubleedge,protect,thunderwave,wish": 386, "leftovers,cutecharm,bodyslam,fireblast,healbell,stealthrock": 171, "leftovers,cutecharm,bodyslam,protect,stealthrock,wish": 135}, + "wobbuffet": {"custapberry,shadowtag,counter,destinybond,encore,mirrorcoat": 2359}, + "wormadam": {"choicespecs,anticipation,hiddenpowerrock,leafstorm,psychic,signalbeam": 314, "choicespecs,anticipation,hiddenpowerground,leafstorm,psychic,signalbeam": 299}, + "wormadamsandy": {"leftovers,anticipation,earthquake,rest,sleeptalk,toxic": 830}, + "wormadamtrash": {"leftovers,anticipation,flashcannon,protect,suckerpunch,toxic": 133, "leftovers,anticipation,flashcannon,protect,stealthrock,toxic": 627}, + "xatu": {"leftovers,synchronize,heatwave,psychic,roost,toxic": 216, "choicescarf,synchronize,heatwave,hiddenpowerfighting,psychic,trick": 121, "leftovers,synchronize,hiddenpowerfighting,psychic,roost,thunderwave": 187, "lifeorb,synchronize,calmmind,heatwave,hiddenpowerfighting,psychic": 96, "leftovers,synchronize,heatwave,hiddenpowerfighting,psychic,roost": 163, "lifeorb,synchronize,calmmind,heatwave,psychic,roost": 115, "choicespecs,synchronize,heatwave,hiddenpowerfighting,psychic,uturn": 83, "leftovers,synchronize,heatwave,psychic,roost,thunderwave": 205, "lifeorb,synchronize,grassknot,heatwave,psychic,roost": 82, "lifeorb,synchronize,heatwave,hiddenpowerfighting,psychic,roost": 76, "lifeorb,synchronize,calmmind,grassknot,heatwave,psychic": 86, "leftovers,synchronize,hiddenpowerfighting,psychic,roost,toxic": 237, "lifeorb,synchronize,heatwave,psychic,roost,uturn": 93, "choicespecs,synchronize,grassknot,heatwave,hiddenpowerfighting,psychic": 38, "choicespecs,synchronize,grassknot,heatwave,psychic,uturn": 97, "choicescarf,synchronize,grassknot,heatwave,psychic,trick": 132, "choicescarf,synchronize,grassknot,heatwave,hiddenpowerfighting,psychic": 35}, + "yanmega": {"lifeorb,speedboost,airslash,bugbuzz,hiddenpowerfire,protect": 484, "choicespecs,tintedlens,airslash,bugbuzz,hiddenpowerground,uturn": 476, "choicespecs,tintedlens,airslash,bugbuzz,hiddenpowerfire,uturn": 476, "lifeorb,speedboost,airslash,bugbuzz,hiddenpowerground,protect": 491}, + "zangoose": {"choiceband,immunity,closecombat,nightslash,quickattack,return": 749, "lifeorb,immunity,nightslash,quickattack,return,swordsdance": 772, "lifeorb,immunity,closecombat,nightslash,return,swordsdance": 773}, + "zapdos": {"lifeorb,pressure,hiddenpowerice,roost,thunderbolt,uturn": 154, "leftovers,pressure,hiddenpowerice,roost,substitute,thunderbolt": 119, "leftovers,pressure,hiddenpowerice,roost,thunderbolt,uturn": 113, "leftovers,pressure,hiddenpowerice,roost,thunderbolt,toxic": 102, "leftovers,pressure,heatwave,roost,substitute,thunderbolt": 128, "leftovers,pressure,heatwave,hiddenpowerice,roost,thunderbolt": 106, "lifeorb,pressure,heatwave,roost,thunderbolt,uturn": 161, "choicespecs,pressure,heatwave,hiddenpowerice,thunderbolt,uturn": 332, "leftovers,pressure,heatwave,roost,thunderbolt,uturn": 118, "leftovers,pressure,heatwave,roost,thunderbolt,toxic": 110, "lifeorb,pressure,heatwave,hiddenpowerice,roost,thunderbolt": 378, "leftovers,pressure,roost,substitute,thunderbolt,toxic": 128, "leftovers,pressure,roost,thunderbolt,toxic,uturn": 107} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen5ou.json b/data/pkmn_sets/gen5ou.json new file mode 100644 index 000000000..3f7186256 --- /dev/null +++ b/data/pkmn_sets/gen5ou.json @@ -0,0 +1,4966 @@ +{ + "pokemon": { + "politoed": { + "|drizzle|chestoberry|bold|252,0,156,0,56,44|scald|toxic|encore|rest": 1, + "|drizzle|chestoberry|bold|252,0,200,0,56,0|rest|encore|scald|protect": 2, + "|drizzle|leftovers|calm|248,0,112,0,140,8|scald|toxic|encore|protect": 2, + "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|protect|refresh|encore": 8, + "|drizzle|choicescarf|timid|4,0,252,0,0,252|hydropump|icebeam|hiddenpowergrass|surf": 2, + "|drizzle|leftovers|calm|252,0,180,0,76,0|scald|protect|refresh|encore": 2, + "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|refresh|encore": 2, + "|drizzle|choicespecs|modest|120,0,0,252,0,136|hydropump|scald|icebeam|hiddenpowergrass": 2, + "|drizzle|leftovers|bold|248,0,132,0,40,64|scald|protect|icebeam|encore": 2, + "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|toxic|protect|encore": 2, + "|drizzle|leftovers|calm|252,0,80,0,176,0|scald|protect|toxic|encore": 2, + "|drizzle|leftovers|bold|252,0,180,0,0,76|scald|toxic|protect|encore": 5, + "|drizzle|leftovers|calm|252,0,96,0,160,0|scald|protect|toxic|encore": 1, + "|drizzle|ejectbutton|calm|252,0,112,0,136,8|scald|toxic|thief|encore": 1, + "|drizzle|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|encore|toxic": 1, + "|drizzle|leftovers|calm|252,0,212,0,16,28|scald|protect|toxic|encore": 1, + "|drizzle|leftovers|bold|252,0,252,4,0,0|scald|toxic|encore|protect": 1, + "|drizzle|leftovers|bold|248,0,196,0,56,8|scald|perishsong|protect|encore": 2, + "|drizzle|leftovers|calm|248,0,0,0,232,28|scald|toxic|protect|encore": 2, + "|drizzle|leftovers|bold|248,0,140,0,56,64|scald|toxic|encore|protect": 3, + "|drizzle|choicescarf|timid|0,0,4,252,0,252|surf|icebeam|psychic|encore": 1, + "|drizzle|leftovers|bold|252,0,252,0,4,0|toxic|scald|protect|refresh": 14, + "|drizzle|leftovers|calm|252,0,0,0,228,28|scald|protect|encore|toxic": 3, + "|drizzle|leftovers|bold|248,0,128,0,56,76|scald|toxic|encore|protect": 2, + "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|protect|encore|refresh": 2, + "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|encore|refresh|protect": 1, + "|drizzle|leftovers|bold|248,0,144,0,56,60|scald|toxic|encore|protect": 4, + "|drizzle|leftovers|bold|252,0,216,0,0,40|scald|protect|encore|toxic": 1, + "|drizzle|leftovers|bold|252,0,132,0,24,80|scald|protect|icebeam|toxic": 1, + "|drizzle|watergem|modest|72,0,0,252,0,184|hydropump|icebeam|encore|toxic": 3, + "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|encore|refresh|protect": 2, + "|drizzle|leftovers|bold|248,0,216,0,28,16|scald|toxic|protect|refresh": 1, + "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|psychic|icebeam|scald": 1, + "|drizzle|leftovers|bold|252,0,184,0,0,72|scald|toxic|protect|encore": 1, + "|drizzle|leftovers|bold|248,0,208,0,0,52|scald|hiddenpowerflying|encore|protect": 1, + "|drizzle|leftovers|bold|248,0,216,0,44,0|scald|toxic|protect|encore": 1, + "|drizzle|leftovers|bold|248,0,216,0,0,44|scald|toxic|protect|encore": 1, + "|drizzle|choicescarf|timid|0,0,4,252,0,252|hydropump|icebeam|toxic|encore": 1, + "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|perishsong|toxic": 9, + "|drizzle|leftovers|calm|252,0,116,0,140,0|scald|protect|perishsong|toxic": 1, + "|drizzle|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|scald|encore": 1, + "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|encore|toxic": 1, + "|drizzle|leftovers|bold|252,0,252,4,0,0|scald|protect|perishsong|toxic": 1, + "|drizzle|leftovers|bold|252,0,228,0,0,28|scald|protect|refresh|toxic": 1, + "|drizzle|choicespecs|modest|252,0,4,252,0,0|hydropump|icebeam|focusblast|hiddenpowergrass": 1, + "|drizzle|leftovers|modest|252,0,0,252,4,0|encore|scald|hiddenpowergrass|icebeam": 1, + "|drizzle|custapberry|modest|112,0,12,248,0,136|hydropump|icebeam|hiddenpowergrass|hypnosis": 1, + "|drizzle|leftovers|modest|252,0,204,52,0,0|hypnosis|scald|icebeam|protect": 1, + "|drizzle|leftovers|bold|252,0,224,0,32,0|scald|icebeam|toxic|protect": 1, + "|drizzle|choicescarf|timid|12,0,0,252,0,244|hydropump|scald|icebeam|encore": 2, + "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|icebeam|focusblast|hypnosis": 3, + "|drizzle|choicespecs|timid|8,0,0,252,4,244|hydropump|icebeam|focusblast|hiddenpowergrass": 1, + "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|icebeam|focusblast|hiddenpowergrass": 1, + "|drizzle|leftovers|bold|252,0,224,0,32,0|scald|toxic|protect|encore": 1, + "|drizzle|leftovers|bold|252,0,220,0,36,0|scald|toxic|protect|encore": 1, + "|drizzle|leftovers|bold|252,0,152,64,0,40|scald|toxic|protect|perishsong": 1, + "|drizzle|choicescarf|timid|4,0,0,252,0,252|hydropump|icebeam|hiddenpowergrass|perishsong": 1, + "|drizzle|damprock|calm|252,0,4,0,252,0|rest|toxic|scald|haze": 1, + "|drizzle|leftovers|modest|136,0,56,252,0,64|scald|perishsong|hiddenpowergrass|icebeam": 1, + "|drizzle|leftovers|bold|252,0,196,0,52,8|scald|protect|refresh|encore": 1, + "|drizzle|choicespecs|modest|236,0,0,252,0,20|hydropump|icebeam|hiddenpowergrass|focusblast": 1 + }, + "thundurustherian": { + "|voltabsorb|leftovers|timid|32,0,0,176,48,252|thunder|hiddenpowerice|focusblast|protect": 1, + "|voltabsorb|choicespecs|modest|80,0,0,252,0,176|thunderbolt|hiddenpowerice|focusblast|voltswitch": 1, + "|voltabsorb|leftovers|timid|24,0,0,252,56,176|thunder|hiddenpowerice|focusblast|thunderwave": 2, + "|voltabsorb|icegem|modest|128,0,28,252,0,100|agility|thunder|hiddenpowerice|focusblast": 2, + "|voltabsorb|leftovers|timid|36,0,0,252,44,176|thunder|hiddenpowerice|grassknot|focusblast": 2, + "|voltabsorb|leftovers|modest|104,0,44,140,4,216|thunder|hiddenpowerice|focusblast|protect": 2, + "|voltabsorb|yacheberry|modest|88,0,0,236,72,112|agility|thunder|hiddenpowerice|grassknot": 1, + "|voltabsorb|leftovers|modest|104,0,144,48,4,208|substitute|thunder|hiddenpowerice|focusblast": 2, + "|voltabsorb|leftovers|modest|24,0,0,252,56,176|thunder|hiddenpowerice|focusblast|agility": 1, + "|voltabsorb|leftovers|timid|24,0,28,192,56,208|thunder|hiddenpowerice|focusblast|uturn": 1, + "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast": 11, + "|voltabsorb|leftovers|modest|104,0,156,36,0,212|thunder|substitute|hiddenpowerice|focusblast": 3, + "|voltabsorb|leftovers|modest|24,0,0,172,104,208|thunderbolt|hiddenpowerice|focusblast|agility": 2, + "|voltabsorb|leftovers|modest|24,0,0,228,104,152|agility|thunder|hiddenpowerice|focusblast": 10, + "|voltabsorb|leftovers|modest|152,0,0,136,0,220|thunder|focusblast|hiddenpowerice|grassknot": 3, + "|voltabsorb|leftovers|timid|24,0,0,252,56,176|thunder|grassknot|hiddenpowerice|focusblast": 1, + "|voltabsorb|leftovers|timid|104,0,156,60,4,184|thunder|hiddenpowerice|focusblast|substitute": 2, + "|voltabsorb|leftovers|modest|104,0,164,64,0,176|focusblast|thunder|hiddenpowerice|substitute": 1, + "|voltabsorb|leftovers|modest|24,0,196,80,0,208|thunder|focusblast|hiddenpowerice|substitute": 3, + "|voltabsorb|leftovers|modest|104,0,156,32,0,216|thunder|hiddenpowerice|focusblast|substitute": 2, + "|voltabsorb|leftovers|modest|24,0,196,80,0,208|nastyplot|thunder|hiddenpowerice|substitute": 1, + "|voltabsorb|leftovers|modest|128,0,0,252,0,128|agility|nastyplot|thunderbolt|hiddenpowerice": 1, + "|voltabsorb|leftovers|timid|0,0,0,252,4,252|nastyplot|thunder|hiddenpowerice|focusblast": 1, + "|voltabsorb|expertbelt|modest|136,0,0,252,0,120|thunder|hiddenpowerice|focusblast|agility": 2, + "|voltabsorb|leftovers|modest|156,0,0,252,0,100|thunder|hiddenpowerice|focusblast|agility": 1 + }, + "tentacruel": { + "|raindish|blacksludge|timid|252,0,0,0,68,188|scald|rapidspin|toxic|protect": 1, + "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxicspikes|protect": 8, + "|raindish|blacksludge|timid|252,0,56,0,0,200|toxic|protect|scald|rapidspin": 2, + "|raindish|blacksludge|timid|248,0,72,0,4,184|scald|rapidspin|toxicspikes|protect": 2, + "|raindish|blacksludge|timid|252,0,0,0,64,192|substitute|scald|protect|rapidspin": 2, + "|raindish|blacksludge|timid|248,0,0,0,72,188|protect|scald|toxicspikes|rapidspin": 2, + "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxic|rapidspin|protect": 1, + "|raindish|blacksludge|timid|248,0,68,0,0,192|scald|toxic|rapidspin|protect": 1, + "|raindish|blacksludge|timid|252,0,0,0,68,188|scald|toxic|protect|rapidspin": 1, + "|raindish|blacksludge|timid|252,0,248,0,0,8|scald|protect|rapidspin|toxic": 1, + "|raindish|blacksludge|timid|248,0,68,0,0,192|scald|rapidspin|substitute|protect": 1, + "|raindish|blacksludge|timid|248,0,0,0,72,188|scald|protect|toxic|rapidspin": 2, + "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxicspikes|rapidspin|protect": 4, + "|raindish|blacksludge|timid|208,0,112,0,0,188|scald|toxic|rapidspin|protect": 3, + "|raindish|blacksludge|timid|248,0,0,0,72,188|substitute|scald|toxic|rapidspin": 1, + "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect": 24, + "|raindish|blacksludge|timid|248,0,0,0,76,184|scald|rapidspin|protect|toxic": 2, + "|raindish|blacksludge|timid|248,0,76,0,0,184|protect|toxicspikes|scald|rapidspin": 2, + "|raindish|blacksludge|timid|248,0,0,0,76,184|scald|rapidspin|toxic|protect": 1, + "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|protect|safeguard": 2, + "|raindish|blacksludge|timid|252,0,168,0,56,32|scald|rapidspin|toxicspikes|protect": 1, + "|raindish|blacksludge|timid|252,0,0,0,72,184|toxic|scald|rapidspin|protect": 2, + "|raindish|blacksludge|timid|252,0,160,0,0,96|scald|rapidspin|toxicspikes|protect": 1, + "|raindish|leftovers|timid|248,0,164,0,0,96|scald|toxic|rapidspin|protect": 1, + "|raindish|leftovers|timid|248,0,180,0,0,80|scald|knockoff|rapidspin|protect": 1, + "|raindish|leftovers|timid|248,0,180,0,0,80|scald|toxic|rapidspin|protect": 1, + "|raindish|leftovers|timid|252,0,36,0,0,220|scald|toxic|rapidspin|protect": 1, + "|raindish|blacksludge|timid|248,0,96,0,52,112|rapidspin|toxic|scald|protect": 1, + "|raindish|blacksludge|timid|248,0,244,0,0,16|rapidspin|toxic|scald|protect": 1, + "|raindish|blacksludge|timid|248,0,244,0,0,16|rapidspin|toxicspikes|scald|protect": 1, + "|raindish|blacksludge|bold|248,0,244,0,0,16|protect|scald|knockoff|rapidspin": 1, + "|raindish|leftovers|bold|252,0,240,0,16,0|scald|toxicspikes|rapidspin|protect": 3, + "|raindish|blacksludge|bold|252,0,212,0,0,44|toxicspikes|scald|rapidspin|protect": 1, + "|raindish|blacksludge|bold|204,0,208,0,0,96|toxicspikes|scald|rapidspin|blizzard": 1, + "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxic|protect|rapidspin": 1, + "|raindish|blacksludge|timid|248,0,72,0,0,188|scald|rapidspin|toxic|protect": 1 + }, + "ferrothorn": { + "|ironbarbs|chopleberry|sassy|252,0,72,0,184,0|stealthrock|spikes|powerwhip|gyroball": 1, + "|ironbarbs|lumberry|sassy|248,0,88,0,172,0|spikes|powerwhip|gyroball|knockoff": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|powerwhip|stealthrock|spikes|knockoff": 2, + "|ironbarbs|leftovers|careful|252,0,0,0,252,0|spikes|knockoff|powerwhip|stealthrock": 4, + "|ironbarbs|rawstberry|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock": 2, + "|ironbarbs|rawstberry|sassy|252,120,0,0,136,0|stealthrock|knockoff|powerwhip|spikes": 2, + "|ironbarbs|lumberry|impish|248,0,188,0,72,0|spikes|powerwhip|knockoff|thunderwave": 4, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock": 3, + "|ironbarbs|leftovers|impish|252,0,88,0,168,0|spikes|stealthrock|thunderwave/explosion|powerwhip": 2, + "|ironbarbs|leftovers|sassy|248,0,68,0,192,0|spikes|knockoff|gyroball|stealthrock": 2, + "|ironbarbs|ejectbutton|careful|252,0,8,0,248,0|stealthrock|spikes|knockoff|powerwhip": 2, + "|ironbarbs|rawstberry|impish|252,0,148,0,108,0|powerwhip|knockoff|stealthrock|spikes": 2, + "|ironbarbs|leftovers|careful|252,0,4,0,252,0|powerwhip|stealthrock|spikes|knockoff": 2, + "|ironbarbs|leftovers|relaxed|248,0,8,0,252,0|spikes|knockoff|powerwhip|gyroball": 1, + "|ironbarbs|chopleberry|sassy|252,0,4,0,252,0|stealthrock|powerwhip|gyroball|knockoff": 1, + "|ironbarbs|lumberry|brave|252,208,48,0,0,0|powerwhip|gyroball|stealthrock|spikes": 1, + "|ironbarbs|leftovers|impish|252,0,96,0,160,0|spikes|leechseed|powerwhip|protect": 1, + "|ironbarbs|rawstberry|relaxed|248,0,8,0,252,0|spikes|knockoff|powerwhip|gyroball": 1, + "|ironbarbs|lumberry|impish|252,0,24,0,232,0|stealthrock|spikes|powerwhip|knockoff": 1, + "|ironbarbs|leftovers|sassy|248,0,112,0,148,0|gyroball|leechseed|protect|spikes": 2, + "|ironbarbs|lumberry|careful|252,0,4,0,252,0|stealthrock|spikes|knockoff|powerwhip": 2, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|knockoff|stealthrock|spikes|powerwhip": 2, + "|ironbarbs|leftovers|relaxed|252,0,88,0,168,0|powerwhip|stealthrock|spikes|knockoff": 3, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|powerwhip|knockoff|gyroball": 1, + "|ironbarbs|leftovers|careful|252,0,8,0,248,0|spikes|knockoff|bulldoze|powerwhip": 1, + "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|knockoff|gyroball|powerwhip": 1, + "|ironbarbs|leftovers|impish|252,0,88,0,168,0|knockoff|spikes|leechseed|powerwhip": 1, + "|ironbarbs|leftovers|relaxed|248,0,88,0,172,0|spikes|gyroball|powerwhip|knockoff": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|knockoff|protect": 1, + "|ironbarbs|leftovers|impish|252,0,188,0,68,0|spikes|thunderwave|knockoff|powerwhip": 1, + "|ironbarbs|lumberry|adamant|252,252,0,0,4,0|spikes|knockoff|powerwhip|stealthrock": 2, + "|ironbarbs|leftovers|careful|248,0,48,0,204,0|spikes|explosion|thunderwave|powerwhip": 2, + "|ironbarbs|leftovers|careful|252,0,8,0,248,0|stealthrock|spikes|knockoff|powerwhip": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|knockoff|powerwhip": 4, + "|ironbarbs|leftovers|sassy|252,0,4,0,252,0|gyroball|knockoff|spikes|stealthrock": 2, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|powerwhip|gyroball|leechseed": 2, + "|ironbarbs|ejectbutton|careful|252,0,0,0,252,4|spikes|powerwhip|knockoff|endeavor": 2, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|worryseed|stealthrock|spikes|powerwhip": 2, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|thunderwave|knockoff": 1, + "|ironbarbs|leftovers|impish|252,0,52,0,204,0|powerwhip|knockoff|stealthrock|spikes": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|powerwhip|knockoff|thunderwave|spikes": 1, + "|ironbarbs|chopleberry|careful|252,0,4,0,252,0|powerwhip|knockoff|thunderwave|spikes": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|seedbomb|stealthrock": 2, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|worryseed|powerwhip|stealthrock": 2, + "|ironbarbs|leftovers|careful|252,0,8,0,248,0|spikes|powerwhip|knockoff|thunderwave": 1, + "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|stealthrock|powerwhip|knockoff": 2, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|powerwhip|knockoff": 3, + "|ironbarbs|mail|careful|252,0,48,0,208,0|spikes|leechseed|gyroball|stealthrock": 2, + "|ironbarbs|shedshell|sassy|252,0,48,0,208,0|spikes|gyroball|leechseed|rest": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|rest": 1, + "|ironbarbs|leftovers|impish|252,0,48,0,208,0|powerwhip|gyroball|knockoff|spikes": 1, + "|ironbarbs|leftovers|impish|252,0,48,0,208,0|powerwhip|knockoff|thunderwave|spikes": 1, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|knockoff|worryseed|gyroball": 1, + "|ironbarbs|leftovers|impish|252,0,88,0,168,0|spikes|leechseed|powerwhip|knockoff": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|knockoff|thunderwave": 1, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|gyroball|knockoff|stealthrock": 1, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|gyroball|stealthrock|spikes": 1, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|stealthrock|leechseed": 6, + "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|leechseed": 4, + "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|leechseed|powerwhip|knockoff": 1, + "|ironbarbs|leftovers|careful|252,0,120,0,136,0|knockoff|leechseed|spikes|powerwhip": 1, + "|ironbarbs|leftovers|careful|252,0,56,0,200,0|spikes|powerwhip|knockoff|protect": 1, + "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|leechseed|powerwhip|gyroball": 1, + "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|stealthrock|spikes|gyroball|knockoff": 1, + "|ironbarbs|leftovers|relaxed|252,0,88,0,168,0|spikes|powerwhip|stealthrock|gyroball": 1, + "|ironbarbs|leftovers|sassy|252,0,84,0,172,0|powerwhip|leechseed|stealthrock|spikes": 1, + "|ironbarbs|leftovers|sassy|252,0,88,0,168,0|powerwhip|spikes|leechseed|protect": 1, + "|ironbarbs|leftovers|sassy|252,0,28,0,228,0|powerwhip|spikes|leechseed|protect": 1, + "|ironbarbs|leftovers|sassy|252,0,84,0,172,0|powerwhip|leechseed|spikes|protect": 2, + "|ironbarbs|leftovers|sassy|252,0,68,0,188,0|powerwhip|leechseed|stealthrock|spikes": 1, + "|ironbarbs|leftovers|sassy|252,0,76,0,180,0|powerwhip|leechseed|stealthrock|spikes": 1, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|leechseed|stealthrock|spikes": 1, + "|ironbarbs|leftovers|sassy|252,0,72,0,184,0|powerwhip|leechseed|stealthrock|protect": 1, + "|ironbarbs|leftovers|sassy|252,0,72,0,184,0|powerwhip|leechseed|spikes|protect": 1, + "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|spikes|leechseed|protect": 1, + "|ironbarbs|leftovers|sassy|252,0,88,0,168,0|spikes|leechseed|thunderwave|powerwhip": 1, + "|ironbarbs|rockyhelmet|relaxed|252,0,88,0,168,0|spikes|stealthrock|gyroball|powerwhip": 1, + "|ironbarbs|leftovers|sassy|224,0,32,0,252,0|stealthrock|spikes|gyroball|powerwhip": 1, + "|ironbarbs|lumberry|careful|252,0,4,0,252,0|spikes|stealthrock|powerwhip|knockoff": 1, + "|ironbarbs|leftovers|impish|252,0,68,0,188,0|stealthrock|spikes|thunderwave|powerwhip": 1 + }, + "latios": { + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|trick|surf|dragonpulse": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|trick|surf|dragonpulse": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse": 24, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|trick": 1, + "|levitate|habanberry|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|dragonpulse": 1, + "|levitate|lumberry|timid|0,0,0,252,4,252|dracometeor|surf|recover|thunder": 1, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|recover|psyshock": 1, + "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|memento|dragonpulse": 3, + "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover": 11, + "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|surf|psyshock|recover": 2, + "|levitate|choicescarf|timid|80,0,0,176,0,252|dracometeor|surf|trick|dragonpulse": 2, + "|levitate|colburberry|timid|0,0,80,184,0,244|dracometeor|surf|hiddenpowerfire|roost": 4, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|dragonpulse|surf": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|recover": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|memento": 5, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|roost": 4, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|recover|hiddenpowerfire": 3, + "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|roost|dracometeor|surf": 4, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|dracometeor|hiddenpowerfire|earthquake|memento": 4, + "|levitate|dragongem|timid|0,0,4,252,0,252|calmmind|dracometeor|recover|dragonpulse": 2, + "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|recover|tailwind": 2, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse": 5, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|hiddenpowerfire|recover": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|trick|dracometeor|dragonpulse|surf": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|psyshock|surf|trick": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|dragonpulse|trick": 1, + "|levitate|lumberry|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|roost": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|psyshock|surf|trick": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|psyshock": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|grassknot|trick": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick": 3, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover": 6, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|thunder": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|trick": 3, + "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|hiddenpowerfire|roost": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick": 1, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|recover|trick": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|roost": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|recover|trick": 16, + "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|recover|surf|dracometeor": 1, + "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|roost": 1, + "|levitate|fightinggem|timid|4,0,0,252,0,252|calmmind|dracometeor|hiddenpowerfighting|tailwind": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|trick": 4, + "|levitate|groundgem|naive|0,4,0,252,0,252|dracometeor|dragondance|outrage|earthquake": 2, + "|levitate|grassgem|hasty|0,4,0,252,0,252|sunnyday|dracometeor|solarbeam|psyshock": 2, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|roar|recover": 2, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|dragonpulse|hiddenpowerfire|recover": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|dracometeor|surf|icebeam": 2, + "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|surf|trick|roost": 2, + "|levitate|dragongem|timid|4,0,0,252,0,252|calmmind|dracometeor|surf|recover": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover": 6, + "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|roost|roar": 1, + "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|roar|surf|recover": 2, + "|levitate|dragongem|timid|4,0,0,252,0,252|dracometeor|surf|calmmind|recover": 3, + "|levitate|dragongem|timid|4,0,0,252,0,252|calmmind|recover|dracometeor|surf": 6, + "|levitate|choicescarf|timid|0,252,4,0,0,252|dracometeor|surf|trick|dragonpulse": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|surf|dragonpulse": 3, + "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|hiddenpowerfire|roost": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dragonpulse|dracometeor|surf|thunder": 2, + "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|roar|recover": 1, + "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|dracometeor|memento": 2, + "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|memento": 2, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|tailwind": 2, + "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|hiddenpowerfire|recover": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|roost": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|surf|dracometeor|trick|dragonpulse": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|recover|trick": 1, + "|levitate|flameorb|timid|136,0,0,120,0,252|roost|trick|psychoshift|icebeam": 2, + "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|surf|recover|trick": 2, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse": 7, + "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|recover|surf|trick": 1, + "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|surf|trick|recover": 1, + "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|surf|recover|psyshock": 1, + "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover": 3, + "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|sunnyday|trick|memento": 1, + "|levitate|lifeorb|jolly|0,252,0,4,0,252|outrage|earthquake|icebeam|dragondance": 2, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|trick": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover": 2, + "|levitate|lifeorb|hasty|0,44,0,220,0,244|dracometeor|earthquake|hiddenpowerfire|recover": 1, + "|levitate|flameorb|timid|0,0,0,252,4,252|dracometeor|trick|surf|recover": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|hiddenpowerfire|trick": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|sleeptalk|dragonpulse": 1, + "|levitate|expertbelt|timid|4,0,0,252,0,252|dracometeor|psychic|icebeam|hiddenpowerfire": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|surf|psyshock": 1, + "|levitate|choicespecs|timid|0,0,0,252,4,252|sleeptalk|dragonpulse|surf|dracometeor": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|sleeptalk": 1, + "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|hiddenpowerfire": 4, + "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psychic|surf|hiddenpowerfire": 1, + "|levitate|choicespecs|modest|56,0,8,252,0,192|dracometeor|psyshock|surf|trick": 1, + "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|surf|psyshock|trick": 2, + "|levitate|choicespecs|modest|56,0,0,252,4,196|dracometeor|psychic|surf|hiddenpowerfire": 1, + "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|sleeptalk": 1 + }, + "scizor": { + "|technician|sitrusberry|adamant|248,216,8,0,36,0|bulletpunch|bugbite|pursuit|uturn": 1, + "|technician|lifeorb|adamant|44,224,4,0,12,224|bulletpunch|quickattack|superpower|swordsdance": 1, + "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|pursuit|superpower": 3, + "|technician|choicescarf|jolly|0,252,0,0,12,244|uturn|pursuit|superpower|bulletpunch": 1, + "|technician|lifeorb|adamant|192,252,0,0,0,64|bulletpunch|quickattack|superpower|swordsdance": 1, + "|technician|flyinggem|jolly|0,252,4,0,0,252|swordsdance|bulletpunch|acrobatics|superpower": 2, + "|technician|lifeorb|adamant|0,252,0,0,4,252|bulletpunch|pursuit|superpower|swordsdance": 1, + "|technician|leftovers|adamant|252,0,0,0,212,44|swordsdance|roost|bulletpunch|uturn": 2, + "|technician|lifeorb|adamant|72,252,0,0,0,184|bulletpunch|swordsdance|superpower|pursuit": 4, + "|technician|fightinggem|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|pursuit|superpower": 2, + "|technician|lifeorb|jolly|40,252,0,0,0,216|swordsdance|bulletpunch|superpower|pursuit": 1, + "|technician|lifeorb|adamant|40,252,0,0,0,216|swordsdance|pursuit|bulletpunch|superpower": 1, + "|technician|leftovers|adamant|248,16,12,0,216,16|bulletpunch|uturn|roost|swordsdance": 1, + "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|pursuit": 4, + "|technician|steelgem|adamant|252,216,0,0,0,40|swordsdance|bulletpunch|superpower|pursuit": 2, + "|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|superpower|quickattack": 1, + "|technician|leftovers|jolly|4,252,0,0,0,252|roost|uturn|swordsdance|bulletpunch": 1, + "|technician|choicescarf|jolly|12,252,0,0,0,244|uturn|superpower|pursuit|doublehit": 2, + "|technician|fightinggem|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|superpower|pursuit": 3, + "|technician|lifeorb|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|swordsdance": 1, + "|technician|lifeorb|adamant|252,216,0,0,0,40|swordsdance|bulletpunch|pursuit|quickattack": 1, + "|technician|choiceband|adamant|0,252,0,0,44,212|uturn|pursuit|bulletpunch|superpower": 14, + "|technician|choicescarf|jolly|0,252,4,0,0,252|uturn|pursuit|superpower|bulletpunch": 3, + "|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletpunch|superpower|quickattack": 2, + "|technician|steelgem|adamant|0,248,12,0,12,236|bulletpunch|superpower|swordsdance|bugbite": 2, + "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit": 2, + "|technician|leftovers|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|roost": 1, + "|technician|choicescarf|jolly|0,252,0,0,4,252|uturn|bugbite|superpower|pursuit": 3, + "|technician|choiceband|adamant|152,252,0,0,0,104|bulletpunch|uturn|superpower|pursuit": 2, + "|technician|choicescarf|jolly|0,252,0,0,4,252|uturn|pursuit|bulletpunch|superpower": 2, + "|technician|lifeorb|adamant|32,252,12,0,0,212|bulletpunch|bugbite|superpower|swordsdance": 1, + "|technician|choiceband|adamant|0,252,0,0,4,252|bulletpunch|uturn|superpower|pursuit": 2, + "|technician|choiceband|careful|248,48,0,0,212,0|bulletpunch|uturn|pursuit|superpower": 1, + "|technician|leftovers|careful|248,48,0,0,212,0|swordsdance|bulletpunch|uturn|roost": 1, + "|technician|choiceband|adamant|168,20,0,0,252,68|uturn|bulletpunch|pursuit|superpower": 1, + "|technician|muscleband|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|roost": 2, + "|technician|ironplate|adamant|248,208,0,0,4,48|uturn|bulletpunch|roost|swordsdance": 1, + "|technician|flyinggem|adamant|44,252,0,0,0,212|acrobatics|bulletpunch|superpower|swordsdance": 1, + "|technician|lumberry|adamant|56,236,0,0,0,216|bugbite|bulletpunch|superpower|swordsdance": 1, + "|technician|choiceband|adamant|152,252,0,0,8,96|bulletpunch|uturn|superpower|pursuit": 1, + "|technician|flyinggem|adamant|60,240,0,0,0,208|acrobatics|bulletpunch|superpower|swordsdance": 1, + "|technician|choiceband|adamant|240,252,0,0,0,16|uturn|bulletpunch|superpower|quickattack": 1, + "|technician|lifeorb|adamant|32,252,8,0,0,216|bulletpunch|bugbite|superpower|swordsdance": 1, + "|technician|flyinggem|adamant|56,236,0,0,8,208|acrobatics|superpower|bulletpunch|swordsdance": 1, + "|technician|lifeorb|adamant|248,252,4,0,4,0|bugbite|bulletpunch|superpower|swordsdance": 1, + "|technician|choicescarf|jolly|8,252,0,0,0,248|uturn|bulletpunch|superpower|pursuit": 1, + "|technician|choiceband|adamant|148,252,0,0,96,12|bulletpunch|uturn|pursuit|superpower": 1 + }, + "excadrill": { + "|sandforce|choicescarf|jolly|4,244,0,0,8,252|earthquake|ironhead|rockslide|rapidspin": 2, + "|sandforce|leftovers|jolly|16,56,12,0,172,252|swordsdance|ironhead|earthquake|rapidspin": 1, + "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin": 11, + "|moldbreaker|leftovers|careful|208,0,0,0,252,48|earthquake|rapidspin|toxic|stealthrock": 1, + "|sandforce|airballoon|jolly|0,252,0,0,4,252|earthquake|rapidspin|swordsdance|rockslide": 2, + "|sandforce|choicescarf|adamant|0,252,0,0,4,252|earthquake|ironhead|rapidspin|rockslide": 2, + "|sandforce|leftovers|adamant|156,88,0,0,96,168|earthquake|rapidspin|rockslide|swordsdance": 2, + "|moldbreaker|leftovers|jolly|224,76,0,0,0,208|earthquake|ironhead|protect|rapidspin": 4, + "|sandforce|leftovers|adamant|156,88,0,0,136,128|ironhead|earthquake|protect|rapidspin": 2, + "|sandforce|leftovers|jolly|0,116,0,0,140,252|earthquake|ironhead|rapidspin|protect": 2, + "|sandforce|leftovers|jolly|0,116,0,0,140,252|earthquake|ironhead|rapidspin|stealthrock": 1, + "|moldbreaker|leftovers|careful|96,28,132,0,216,36|earthquake|rapidspin|rocktomb|swordsdance": 2, + "|moldbreaker|leftovers|careful|0,0,140,0,252,116|earthquake|rapidspin|stealthrock|protect": 3, + "|moldbreaker|leftovers|careful|216,0,22,0,248,22|earthquake|toxic|rapidspin|protect": 8, + "|sandforce|airballoon|jolly|0,252,4,0,0,252|earthquake|ironhead|stealthrock|rapidspin": 2, + "|sandforce|leftovers|jolly|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin": 2, + "|sandforce|leftovers|jolly|140,0,20,0,96,252|earthquake|ironhead|protect|rapidspin": 1, + "|sandforce|leftovers|adamant|32,56,0,0,228,192|earthquake|ironhead|rapidspin|swordsdance": 1, + "|sandforce|choicescarf|adamant|0,252,0,0,4,252|rapidspin|ironhead|earthquake|rockslide": 1, + "|sandforce|leftovers|jolly|0,252,0,0,4,252|ironhead|earthquake|rapidspin|protect": 1, + "|sandforce|leftovers|adamant|0,252,4,0,0,252|protect|earthquake|rapidspin|ironhead": 1, + "|sandforce|leftovers|adamant|40,252,0,0,0,216|earthquake|ironhead|protect|rapidspin": 1, + "|sandforce|leftovers|adamant|12,244,0,0,208,44|earthquake|protect|ironhead|rapidspin": 1, + "|sandforce|leftovers|jolly|4,252,0,0,0,252|ironhead|rapidspin|protect|earthquake": 1, + "|moldbreaker|leftovers|careful|240,8,0,0,252,8|earthquake|protect|toxic|rapidspin": 1, + "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock": 7, + "|moldbreaker|lifeorb|jolly|0,252,0,0,4,252|magnetrise|swordsdance|earthquake|ironhead": 2, + "|sandforce|leftovers|jolly|0,252,0,0,4,252|earthquake|rapidspin|ironhead|protect": 2, + "|sandforce|leftovers|jolly|4,36,0,0,216,252|earthquake|ironhead|rapidspin|protect": 1, + "|moldbreaker|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|ironhead|rocktomb": 2, + "|moldbreaker|leftovers|jolly|0,252,0,0,4,252|swordsdance|earthquake|ironhead|protect": 1, + "|moldbreaker|choicescarf|adamant|0,252,0,0,4,252|earthquake|ironhead|rapidspin|rockslide": 1, + "|sandforce|leftovers|adamant|0,252,40,0,0,216|earthquake|rapidspin|ironhead|protect": 1, + "|sandforce|leftovers|jolly|0,252,4,0,0,252|protect|rapidspin|ironhead|earthquake": 2, + "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|substitute": 1, + "|moldbreaker|leftovers|adamant|224,92,0,0,0,192|earthquake|ironhead|stealthrock|rapidspin": 1, + "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|rocktomb|stealthrock|rapidspin": 1, + "|moldbreaker|choicescarf|adamant|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock": 1, + "|sandforce|leftovers|adamant|0,252,0,0,4,252|substitute|protect|earthquake|ironhead": 1, + "|moldbreaker|leftovers|careful|208,0,20,0,252,28|earthquake|protect|rapidspin|toxic": 1, + "|moldbreaker|leftovers|careful|216,0,12,0,252,28|earthquake|rapidspin|stealthrock|protect": 1, + "|moldbreaker|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|stealthrock|rapidspin": 1, + "|sandforce|leftovers|adamant|0,252,0,0,4,252|rapidspin|earthquake|toxic|ironhead": 1, + "|moldbreaker|leftovers|careful|144,0,0,0,252,112|earthquake|toxic|rapidspin|protect": 1, + "|sandrush|airballoon|adamant|0,252,0,0,4,252|swordsdance|earthquake|ironhead|rapidspin": 1, + "|sandforce|leftovers|jolly|8,52,32,0,164,252|earthquake|ironhead|rapidspin|swordsdance": 1 + }, + "tyranitar": { + "|sandstream|chopleberry|brave|252,28,0,0,224,4|crunch|earthquake|flamethrower|pursuit": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,168,4|crunch|pursuit|superpower|rockslide": 1, + "|sandstream|choiceband|adamant|248,252,0,0,8,0|crunch|pursuit|stoneedge|superpower": 4, + "|sandstream|choicescarf|jolly|36,48,0,0,172,252|crunch|pursuit|rockslide|superpower": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,172,0|crunch|pursuit|thunderwave|superpower": 1, + "|sandstream|choicescarf|jolly|0,208,0,0,48,252|pursuit|crunch|icebeam|superpower": 1, + "|sandstream|choicescarf|jolly|0,252,0,0,4,252|pursuit|crunch|icepunch|superpower": 1, + "|sandstream|leftovers|adamant|248,88,0,0,172,0|crunch|pursuit|thunderwave|superpower": 6, + "|sandstream|brightpowder|adamant|152,104,0,0,252,0|stealthrock|crunch|pursuit|earthquake": 2, + "|sandstream|choicescarf|hasty|0,252,0,4,0,252|crunch|pursuit|superpower|icebeam": 4, + "|sandstream|electricgem|mild|252,0,0,152,0,104|thunder|icebeam|crunch|pursuit": 2, + "|sandstream|shucaberry|brave|252,0,8,48,200,0|icebeam|pursuit|crunch|earthquake": 2, + "|sandstream|chopleberry|careful|248,88,0,0,172,0|crunch|pursuit|superpower|thunderwave": 4, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|stealthrock|pursuit|crunch|superpower": 2, + "|sandstream|chopleberry|brave|252,88,0,0,170,0|stealthrock|pursuit|crunch|fireblast": 1, + "|sandstream|chopleberry|lonely|64,88,0,0,252,104|crunch|pursuit|icebeam|fireblast": 2, + "|sandstream|custapberry|lonely|64,88,0,0,252,104|crunch|pursuit|icebeam|fireblast": 2, + "|sandstream|choicescarf|hasty|0,244,0,12,0,252|pursuit|crunch|icebeam|superpower": 2, + "|sandstream|choicescarf|jolly|4,252,0,0,0,252|pursuit|crunch|stealthrock|superpower": 1, + "|sandstream|chopleberry|lonely|8,144,0,76,168,112|crunch|pursuit|fireblast|thunderwave": 2, + "|sandstream|tangaberry|careful|248,8,0,0,252,0|rockslide|pursuit|crunch|earthquake": 3, + "|sandstream|lumberry|careful|252,0,0,0,252,4|crunch|pursuit|earthquake|rest": 2, + "|sandstream|tangaberry|adamant|248,88,0,0,172,0|pursuit|crunch|rockslide|superpower": 8, + "|sandstream|tangaberry|careful|252,4,0,0,252,0|crunch|pursuit|earthquake|thunderwave": 2, + "|sandstream|choicescarf|jolly|4,252,0,0,0,252|pursuit|crunch|superpower|icebeam": 2, + "|sandstream|chopleberry|careful|252,4,0,0,252,0|stealthrock|pursuit|crunch|superpower": 3, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|pursuit|crunch|earthquake|thunderwave": 1, + "|sandstream|chopleberry|careful|252,4,0,0,252,0|pursuit|crunch|earthquake|thunderwave": 1, + "|sandstream|lumberry|jolly|0,248,0,0,8,252|dragondance|crunchicebeam|superpower|stoneedge": 2, + "|sandstream|lumberry|jolly|0,248,0,0,8,252|dragondance|crunch/icebeam|superpower|stoneedge": 9, + "|sandstream|chopleberry|brave|252,88,20,0,144,4|pursuit|crunch|icebeam|superpower": 1, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|pursuit|superpower|rockslide": 1, + "|sandstream|chopleberry|careful|252,4,0,0,248,4|crunch|superpower|thunderwave|pursuit": 1, + "|sandstream|chopleberry|brave|248,44,0,44,172,0|crunch|flamethrower|thunderwave|pursuit": 1, + "|sandstream|expertbelt|lonely|0,144,0,156,0,208|crunch|fireblast|superpower|stealthrock": 2, + "|sandstream|chopleberry|adamant|208,88,0,0,200,12|crunch|rockslide|earthquake|pursuit": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,168,0|thunderwave|crunch|pursuit|icebeam": 1, + "|sandstream|chopleberry|brave|252,88,0,48,120,0|crunch|superpower|pursuit|icebeam": 1, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|earthquake|thunderwave|pursuit": 1, + "|sandstream|chopleberry|sassy|156,100,0,0,252,0|stealthrock|crunch|pursuit|fireblast": 1, + "|sandstream|choicescarf|hasty|0,216,0,12,28,252|crunch|icebeam|superpower|pursuit": 1, + "|sandstream|chopleberry|brave|248,88,0,0,172,0|crunch|pursuit|superpower|fireblast": 1, + "|sandstream|chopleberry|brave|252,88,0,0,168,0|fireblast|crunch|pursuit|hiddenpowergrass": 1, + "|sandstream|chopleberry|adamant|252,44,0,0,212,0|crunch|rockslide|pursuit|stealthrock": 1, + "|sandstream|chopleberry|careful|252,0,0,0,252,4|crunch|rockslide|pursuit|stealthrock": 1, + "|sandstream|choicescarf|hasty|0,252,0,4,0,252|icebeam|crunch|pursuit|superpower": 1, + "|sandstream|chopleberry|adamant|248,60,0,0,164,36|crunch|stealthrock|superpower|pursuit": 1, + "|sandstream|chopleberry|adamant|168,88,0,0,252,0|crunch|stealthrock|pursuit|stoneedge": 2, + "|sandstream|chopleberry|brave|248,44,0,0,216,0|crunch|pursuit|superpower|icebeam": 1, + "|sandstream|tangaberry|careful|248,104,0,0,112,44|thunderwave|crunch|superpower|pursuit": 2, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|pursuit|earthquake|thunderwave": 2, + "|sandstream|darkgem|lonely|0,252,0,0,48,208|crunch|pursuit|fireblast|stoneedge": 2, + "|sandstream|chopleberry|brave|248,88,0,0,172,0|superpower|pursuit|stealthrock|fireblast": 2, + "|sandstream|chopleberry|sassy|248,0,16,0,244,0|crunch|superpower|icebeam|pursuit": 2, + "|sandstream|chopleberry|lonely|232,88,0,24,16,148|pursuit|crunch|fireblast|earthquake": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,172,0|crunch|pursuit|earthquake|thunderwave": 1, + "|sandstream|chopleberry|careful|252,20,0,0,216,20|thunderwave|crunch|pursuit|earthquake": 3, + "|sandstream|chopleberry|sassy|252,44,0,0,212,0|pursuit|crunch|thunderwave|superpower": 2, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|stealthrock|crunch|earthquake|pursuit": 1, + "|sandstream|choicescarf|hasty|0,208,0,48,0,252|superpower|crunch|pursuit|icebeam": 2, + "|sandstream|choicescarf|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam": 6, + "|sandstream|chopleberry|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam": 2, + "|sandstream|chopleberry|adamant|248,88,0,0,160,12|thunderwave|crunch|superpower|pursuit": 2, + "|sandstream|chopleberry|brave|248,88,16,28,128,0|crunch|superpower|fireblast|pursuit": 1, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|fireblast|crunch|pursuit|icebeam": 1, + "|sandstream|choicescarf|hasty|0,252,0,4,0,252|crunch|pursuit|icebeam|superpower": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,172,0|pursuit|crunch|earthquake|thunderwave": 1, + "|sandstream|chopleberry|adamant|252,88,0,0,168,0|pursuit|crunch|earthquake|icebeam": 1, + "|sandstream|chopleberry|gentle|252,4,0,0,252,0|stealthrock|pursuit|crunch|fireblast": 1, + "|sandstream|chopleberry|gentle|252,60,0,0,196,0|earthquake|pursuit|crunch|fireblast": 1, + "|sandstream|chopleberry|lonely|232,88,0,0,252,0|crunch|fireblast|stealthrock|pursuit": 1, + "|sandstream|chopleberry|careful|240,40,0,0,208,20|stealthrock|crunch|pursuit|earthquake": 1, + "|sandstream|chopleberry|sassy|248,0,16,68,176,0|crunch|fireblast|icebeam|pursuit": 2, + "|sandstream|choicescarf|jolly|0,252,0,0,4,252|crunch|pursuit|stoneedge|earthquake": 2, + "|sandstream|chopleberry|hasty|0,208,0,48,0,252|crunch|superpower|icebeam|fireblast": 1, + "|sandstream|chopleberry|sassy|248,0,0,48,208,4|fireblast|pursuit|crunch|earthquake": 1, + "|sandstream|chopleberry|gentle|144,0,0,36,188,140|crunch|earthquake|fireblast|pursuit": 1, + "|sandstream|chopleberry|lonely|248,88,0,4,144,24|pursuit|icebeam|superpower|crunch": 1, + "|sandstream|chopleberry|adamant|248,88,0,0,168,4|stealthrock|crunch|pursuit|superpower": 1, + "|sandstream|choicescarf|hasty|0,208,0,48,0,252|pursuit|superpower|icebeam|crunch": 1, + "|sandstream|chopleberry|careful|248,0,0,0,228,32|crunch|pursuit|superpower|stealthrock": 1, + "|sandstream|chopleberry|careful|252,4,0,0,252,0|crunch|pursuit|superpower|stealthrock": 1, + "|sandstream|chopleberry|adamant|168,88,0,0,252,0|pursuit|crunch|stealthrock|earthquake": 1, + "|sandstream|chopleberry|careful|212,44,0,0,252,0|stealthrock|pursuit|crunch|superpower": 1, + "|sandstream|chopleberry|sassy|252,44,0,0,212,0|stealthrock|crunch|pursuit|earthquake": 1, + "|sandstream|chopleberry|careful|252,68,0,0,188,0|stealthrock|crunch|pursuit|rockslide": 1, + "|sandstream|chopleberry|brave|176,104,0,0,228,0|stealthrock|crunch|pursuit|fireblast": 1, + "|sandstream|chopleberry|brave|240,104,0,56,108,0|stealthrock|crunch|pursuit|fireblast": 1, + "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam": 12, + "|sandstream|choicescarf|hasty|0,244,0,12,0,252|crunch|pursuit|superpower|icebeam": 1, + "|sandstream|chopleberry|careful|252,44,0,0,184,28|crunch|pursuit|superpower|stealthrock": 2, + "|sandstream|chopleberry|careful|252,64,0,0,192,0|crunch|pursuit|superpower|stealthrock": 1, + "|sandstream|choiceband|adamant|104,240,0,0,40,124|crunch|pursuit|stoneedge|superpower": 1, + "|sandstream|choiceband|adamant|160,252,0,0,0,96|stoneedge|crunch|pursuit|superpower": 1, + "|sandstream|chopleberry|adamant|252,76,0,0,180,0|pursuit|crunch|superpower|stealthrock": 1 + }, + "landorustherian": { + "|intimidate|leftovers|naive|100,0,156,0,0,252|stealthrock|earthquake|hiddenpowerice|uturn": 2, + "|intimidate|leftovers|naive|168,0,88,0,0,252|stealthrock|earthquake|hiddenpowerice|uturn": 1, + "|intimidate|leftovers|naive|240,0,16,0,0,252|stealthrock|earthquake|uturn|hiddenpowerice": 4, + "|intimidate|yacheberry|adamant|0,252,0,4,0,252|earthquake|gravity|uturn|hiddenpowerice": 2, + "|intimidate|leftovers|jolly|248,0,8,0,0,252|earthquake|hiddenpowerice|stealthrock|uturn": 2, + "|intimidate|leftovers|jolly|248,8,108,0,0,144|stealthrock|earthquake|uturn|smackdown": 2, + "|intimidate|mentalherb|jolly|0,252,0,4,0,252|stealthrock|earthquake|imprison|explosion": 2, + "|intimidate|choicescarf|naive|4,252,0,0,0,252|earthquake|uturn|stoneedge|hiddenpowerice": 4, + "|intimidate|leftovers|naive|248,8,108,0,0,144|stealthrock|earthquake|uturn|hiddenpowerice": 2, + "|intimidate|choicescarf|lax|184,72,20,0,0,232|punishment|earthquake|uturn|hiddenpowerice": 3, + "|intimidate|normalgem|naughty|0,252,0,4,0,252|swordsdance|earthquake|hiddenpowerice|return": 2, + "|intimidate|leftovers|lax|8,0,252,0,4,244|stealthrock|earthquake|uturn|hiddenpowerice": 8, + "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|superpower|hiddenpowerice": 4, + "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice": 16, + "|intimidate|focussash|jolly|0,252,0,0,4,252|imprison|stealthrock|earthquake|explosion": 1, + "|intimidate|leftovers|naive|0,252,4,0,0,252|smackdown|earthquake|hiddenpowerice|substitute": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|superpower|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|impish|216,0,200,0,0,92|stealthrock|earthquake|knockoff|uturn": 1, + "|intimidate|leftovers|naive|248,0,0,8,0,252|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|naive|248,0,24,0,0,236|stealthrock|earthquake|hiddenpowerice|uturn": 1, + "|intimidate|choicescarf|lax|72,0,248,0,4,184|earthquake|uturn|hiddenpowerice|superpower": 1, + "|intimidate|leftovers|lax|188,68,20,0,0,232|stealthrock|earthquake|uturn|hiddenpowerice": 2, + "|intimidate|leftovers|lax|240,0,176,0,0,92|stealthrock|earthquake|hiddenpowerice|uturn": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|stoneedge|hiddenpowerice|uturn": 1, + "|intimidate|leftovers|naive|252,0,168,0,0,88|stealthrock|earthquake|hiddenpowerice|uturn": 1, + "|intimidate|groundgem|adamant|48,252,0,0,0,208|hiddenpowerice|rockpolish|earthquake|stoneedge": 2, + "|intimidate|leftovers|naive|48,252,0,0,0,208|substitute|earthquake|smackdown|hiddenpowerice": 1, + "|intimidate|leftovers|naive|244,0,176,0,0,88|earthquake|hiddenpowerice|stealthrock|uturn": 2, + "|intimidate|rockgem|naughty|0,252,0,4,0,252|rockpolish|hiddenpowerice|earthquake|stoneedge": 2, + "|intimidate|leftovers|naive|200,0,72,0,0,236|earthquake|hiddenpowerice|stealthrock|uturn": 2, + "|intimidate|choicescarf|adamant|252,16,44,0,0,196|earthquake|uturn|hiddenpowerice|superpower": 2, + "|intimidate|leftovers|naughty|0,252,4,68,0,184|earthquake|substitute|smackdown|hiddenpowerice": 1, + "|intimidate|expertbelt|naive|0,124,0,132,0,252|earthquake|hiddenpowerice|stealthrock|uturn": 2, + "|intimidate|fightinggem|naive|0,252,0,4,0,252|earthquake|superpower|hiddenpowerice|uturn": 2, + "|intimidate|leftovers|naive|248,0,28,0,0,232|earthquake|hiddenpowerice|uturn|knockoff": 1, + "|intimidate|leftovers|lax|248,0,252,0,8,0|earthquake|uturn|hiddenpowerice|stealthrock": 1, + "|intimidate|focussash|naive|4,252,0,0,0,252|stealthrock|imprison|earthquake|explosion": 2, + "|intimidate|leftovers|lax|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|choicescarf|jolly|160,72,24,0,0,252|uturn|earthquake|stoneedge|knockoff": 2, + "|intimidate|leftovers|impish|244,0,252,0,0,12|stealthrock|earthquake|knockoff|uturn": 2, + "|intimidate|choicescarf|naughty|252,16,4,0,0,236|earthquake|stoneedge|hiddenpowerice|uturn": 2, + "|intimidate|choicescarf|naive|176,56,104,0,0,172|earthquake|uturn|stoneedge|hiddenpowerice": 1, + "|intimidate|leftovers|naive|160,0,112,0,0,236|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|impish|248,0,168,0,0,92|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|relaxed|252,0,232,0,24,0|stealthrock|earthquake|hiddenpowerice|uturn": 1, + "|intimidate|choicescarf|naughty|248,76,0,0,0,184|earthquake|hiddenpowerice|explosion|uturn": 1, + "|intimidate|choicescarf|naive|120,56,96,0,0,236|uturn|earthquake|hiddenpowerice|stoneedge": 1, + "|intimidate|choicescarf|jolly|248,88,0,0,0,172|earthquake|uturn|hiddenpowerice|stoneedge": 1, + "|intimidate|leftovers|jolly|160,0,112,0,0,236|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|stealthrock": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|knockoff": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|superpower": 1, + "|intimidate|leftovers|naive|248,0,164,0,0,96|knockoff|uturn|earthquake|hiddenpowerice": 1, + "|intimidate|leftovers|lax|244,0,32,0,0,232|stealthrock|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|naive|168,252,0,0,0,88|hiddenpowerice|earthquake|stoneedge|rockpolish": 1, + "|intimidate|choicescarf|jolly|56,100,116,0,0,236|punishment|earthquake|uturn|stoneedge": 1, + "|intimidate|choicescarf|lax|188,68,20,0,0,232|punishment|earthquake|uturn|hiddenpowerice": 1, + "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|hiddenpowerice|superpower": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|uturn|earthquake|hiddenpowerice|stoneedge": 1, + "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|stoneedge|uturn|hiddenpowerice": 1, + "|intimidate|leftovers|relaxed|252,8,228,12,8,0|earthquake|hiddenpowerice|uturn|stealthrock": 4, + "|intimidate|leftovers|relaxed|252,16,224,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock": 1, + "|intimidate|choicescarf|naughty|96,216,8,0,0,188|earthquake|stoneedge|hiddenpowerice|uturn": 1, + "|intimidate|leftovers|relaxed|252,8,232,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock": 1, + "|intimidate|leftovers|relaxed|252,16,228,4,8,0|earthquake|hiddenpowerice|uturn|stealthrock": 1, + "|intimidate|leftovers|relaxed|252,12,228,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock": 2, + "|intimidate|leftovers|relaxed|252,16,228,8,4,0|earthquake|hiddenpowerice|uturn|stealthrock": 1, + "|intimidate|choicescarf|lax|80,4,252,0,4,168|earthquake|stealthrock|uturn|hiddenpowerice": 1 + }, + "rotomwash": { + "|levitate|ejectbutton|calm|252,0,96,0,160,0|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|leftovers|bold|248,0,132,0,0,128|willowisp|hydropump|voltswitch|painsplit": 1, + "|levitate|leftovers|modest|252,0,0,124,0,132|voltswitch|hydropump|willowisp|hiddenpowergrass": 3, + "|levitate|leftovers|calm|252,0,0,0,204,52|voltswitch|hydropump|willowisp|painsplit": 2, + "|levitate|leftovers|calm|248,0,36,0,92,132|voltswitch|hiddenpowerice|willowisp|painsplit": 2, + "|levitate|leftovers|calm|248,0,0,0,252,8|willowisp|hydropump|voltswitch|painsplit": 2, + "|levitate|leftovers|calm|248,0,92,0,168,0|voltswitch|hydropump|painsplit|willowisp": 6, + "|levitate|leftovers|calm|248,0,100,0,160,0|hydropump|voltswitch|willowisp|painsplit": 3, + "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit": 10, + "|levitate|leftovers|bold|252,0,200,0,56,0|willowisp|voltswitch|hydropump|painsplit": 1, + "|levitate|chestoberry|bold|252,0,120,0,136,0|voltswitch|hydropump|willowisp|rest": 1, + "|levitate|leftovers|calm|248,0,8,0,252,0|painsplit|hydropump|voltswitch|willowisp": 1, + "|levitate|leftovers|calm|248,0,20,0,240,0|willowisp|voltswitch|hydropump|painsplit": 1, + "|levitate|choicescarf|timid|16,0,24,252,0,216|voltswitch|hydropump|hiddenpowerice|trick": 1, + "|levitate|leftovers|calm|252,0,4,0,252,0|willowisp|hydropump|voltswitch|painsplit": 1, + "|levitate|choicescarf|timid|88,0,0,232,0,188|hydropump|voltswitch|hiddenpowerice|trick": 1, + "|levitate|chestoberry|calm|248,0,28,0,232,0|voltswitch|hydropump|willowisp|rest": 1, + "|levitate|leftovers|calm|248,0,52,0,208,0|hydropump|voltswitch|willowisp|painsplit": 2, + "|levitate|leftovers|calm|248,0,20,0,240,0|hydropump|voltswitch|willowisp|painsplit": 1, + "|levitate|leftovers|calm|248,0,20,0,240,0|willowisp|painsplit|voltswitch|hydropump": 1, + "|levitate|leftovers|calm|248,0,100,0,160,0|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|leftovers|calm|248,0,0,28,232,0|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|choicescarf|timid|72,0,0,184,0,252|hydropump|voltswitch|willowisp|trick": 1, + "|levitate|choicescarf|timid|72,0,0,184,0,252|hydropump|voltswitch|hiddenpowerice|trick": 1, + "|levitate|leftovers|modest|248,0,0,128,0,132|hydropump|voltswitch|hiddenpowerflying|thunderwave": 1, + "|levitate|leftovers|calm|252,0,52,0,204,0|hiddenpowerice|voltswitch|willowisp|painsplit": 1, + "|levitate|leftovers|calm|252,0,4,0,252,0|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|leftovers|calm|252,0,4,0,252,0|willowisp|voltswitch|hydropump|painsplit": 1, + "|levitate|leftovers|calm|248,0,0,28,232,0|voltswitch|hydropump|thunderwave|painsplit": 1, + "|levitate|leftovers|timid|0,0,232,28,0,248|voltswitch|hydropump|thunderwave|painsplit": 1, + "|levitate|leftovers|modest|252,0,0,252,4,0|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|leftovers|modest|232,0,0,56,0,220|voltswitch|hydropump|willowisp|painsplit": 1, + "|levitate|leftovers|calm|252,0,120,0,136,0|voltswitch|hydropump|willowisp|painsplit": 2, + "|levitate|leftovers|calm|252,0,128,0,128,0|voltswitch|hydropump|willowisp|painsplit": 2, + "|levitate|leftovers|calm|252,0,92,0,164,0|voltswitch|hydropump|willowisp|painsplit": 1 + }, + "hydreigon": { + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|darkpulse|flamethrower|uturn": 1, + "|levitate|lifeorb|modest|0,0,0,252,4,252|dracometeor|roost|darkpulse|focusblast": 1, + "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|darkpulse|focusblast|flamethrower": 3, + "|levitate|choicespecs|modest|16,0,4,252,0,236|dracometeor|darkpulse|earthpower|flamethrower": 8, + "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|earthpower|flamethrower|darkpulse": 1, + "|levitate|leftovers|timid|56,0,0,244,0,208|darkpulse|flamethrower|substitute|roost": 1, + "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|darkpulse|surf|flamethrower": 2, + "|levitate|choicespecs|modest|16,0,0,252,4,236|dracometeor|flamethrower|earthpower|darkpulse": 1, + "|levitate|wiseglasses|modest|0,0,0,252,4,252|taunt|darkpulse|focusblast|roost": 1, + "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|fireblast|focusblast|roost": 1, + "|levitate|lifeorb|mild|8,16,0,252,0,232|dracometeor|fireblast|superpower|roost": 1, + "|levitate|leftovers|modest|56,0,0,252,0,200|fireblast|dragonpulse|focusblast|substitute": 1 + }, + "forretress": { + "|sturdy|leftovers|relaxed|248,8,252,0,0,0|spikes|rapidspin|toxic|gyroball": 4, + "|sturdy|leftovers|sassy|252,0,4,0,252,0|rapidspin|spikes|voltswitch|gyroball": 1, + "|sturdy|leftovers|calm|248,0,8,0,252,0|hiddenpowerice|voltswitch|toxicspikes|rapidspin": 1, + "|sturdy|leftovers|sassy|252,0,4,0,252,0|spikes|rapidspin|earthquake|hiddenpowerice": 1, + "|sturdy|leftovers|relaxed|252,0,16,0,236,0|gyroball|spikes|toxicspikes|rapidspin": 1, + "|sturdy|leftovers|relaxed|252,0,24,0,232,0|gyroball|spikes|toxicspikes|rapidspin": 1, + "|sturdy|leftovers|bold|252,0,140,20,96,0|voltswitch|hiddenpowerice|stealthrock|rapidspin": 1 + }, + "zapdos": { + "|pressure|leftovers|bold|248,0,148,0,0,112|heatwave|thunderbolt|hiddenpowerice|roost": 4, + "|pressure|leftovers|modest|0,0,40,252,0,216|thunder|hiddenpowerice|roost|agility": 1, + "|pressure|leftovers|bold|252,0,252,0,0,4|voltswitch|heatwave|hiddenpowerice|roost": 2, + "|pressure|leftovers|calm|248,0,0,0,224,36|thunderbolt|heatwave|hiddenpowerice|roost": 1 + }, + "amoonguss": { + "|regenerator|blacksludge|bold|248,0,220,0,40,0|gigadrain|sludgebomb|clearsmog|hiddenpowerfire": 4, + "|regenerator|blacksludge|bold|248,0,220,0,40,0|gigadrain|sludgebomb|hiddenpowerfire|clearsmog": 3, + "|regenerator|blacksludge|bold|252,0,252,0,4,0|stunspore|gigadrain|hiddenpowerice|sludgebomb": 6, + "|regenerator|blacksludge|calm|240,0,40,0,220,8|sludgebomb|hiddenpowerfire|gigadrain|stunspore": 1, + "|regenerator|blacksludge|calm|248,0,40,0,204,16|gigadrain|sludgebomb|hiddenpowerfire|stunspore": 1, + "|regenerator|blacksludge|calm|252,0,28,0,228,0|gigadrain|hiddenpowerice|stunspore|sludgebomb": 1, + "|regenerator|blacksludge|calm|252,0,0,28,228,0|gigadrain|hiddenpowerice|toxic|sludgebomb": 1, + "|regenerator|blacksludge|calm|252,0,0,28,228,0|gigadrain|hiddenpowerice|stunspore|sludgebomb": 1, + "|regenerator|leftovers|calm|252,0,40,0,216,0|gigadrain|hiddenpowerice|spore|sleeptalk": 1 + }, + "slowbro": { + "|regenerator|leftovers|bold|248,0,252,4,0,4|scald|psychic|icebeam|slackoff": 4, + "|regenerator|leftovers|bold|248,0,252,8,0,0|scald|psychic|icebeam|slackoff": 3 + }, + "blissey": { + "|naturalcure|leftovers|bold|176,0,252,0,80,0|seismictoss|softboiled|toxic|stealthrock": 4, + "|naturalcure|leftovers|bold|176,0,252,0,80,0|seismictoss|toxic|softboiled|stealthrock": 3, + "|naturalcure|mail|calm|8,0,252,0,248,0|softboiled|stealthrock|toxic|seismictoss": 2, + "|naturalcure|mail|bold|8,0,252,0,248,0|softboiled|stealthrock|toxic|seismictoss": 2, + "|naturalcure|choicescarf|jolly|0,0,252,0,4,252|thunderwave|copycat|healingwish|fling": 1 + }, + "skarmory": { + "|sturdy|rockyhelmet|careful|248,0,0,0,252,8|spikes|drillpeck|whirlwind|roost": 1, + "|sturdy|leftovers|careful|252,0,0,0,252,4|roost|spikes|whirlwind|bravebird": 1, + "|sturdy|leftovers|impish|252,0,232,0,0,24|bravebird|roost|spikes|whirlwind": 3, + "|sturdy|rockyhelmet|impish|252,0,252,0,0,4|roost|spikes|whirlwind|bravebird": 1, + "|sturdy|leftovers|careful|232,0,0,0,252,24|roost|spikes|whirlwind|bravebird": 1, + "|sturdy|leftovers|impish|252,0,252,0,4,0|roost|spikes|whirlwind|drillpeck": 6, + "|sturdy|rockyhelmet|careful|252,0,4,0,252,0|spikes|whirlwind|roost|pursuit": 2, + "|sturdy|custapberry|hasty|0,252,0,4,0,252|stealthrock|spikes|taunt|bravebird": 2, + "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|taunt|bravebird": 4, + "|keeneye|rockyhelmet|careful|232,0,24,0,252,0|spikes|bravebird|roost|whirlwind": 1, + "|sturdy|leftovers|impish|248,0,36,0,224,0|bravebird|spikes|whirlwind|roost": 2, + "|sturdy|rockyhelmet|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird": 5, + "|sturdy|leftovers|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird": 3, + "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|thief": 1, + "|sturdy|leftovers|careful|252,0,0,0,240,16|spikes|bravebird|roost|whirlwind": 1, + "|sturdy|leftovers|impish|248,0,0,0,236,24|bravebird|spikes|whirlwind|roost": 1, + "|sturdy|rockyhelmet|impish|252,0,232,0,0,24|spikes|whirlwind|roost|bravebird": 1, + "|sturdy|leftovers|careful|248,0,0,0,252,8|bravebird|spikes|roost|whirlwind": 1, + "|sturdy|rockyhelmet|calm|248,0,0,0,188,72|taunt|roost|spikes|whirlwind": 1, + "|sturdy|rockyhelmet|impish|248,0,180,0,60,20|spikes|bravebird|whirlwind|roost": 2, + "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|taunt": 1, + "|sturdy|leftovers|careful|224,4,28,0,236,16|spikes|roost|whirlwind|bravebird": 2, + "|sturdy|custapberry|jolly|0,252,0,0,4,252|taunt|stealthrock|spikes|bravebird": 2, + "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt": 10, + "|sturdy|leftovers|impish|248,0,0,0,236,24|roost|bravebird|whirlwind|spikes": 2, + "|sturdy|leftovers|careful|248,0,28,0,232,0|spikes|whirlwind|roost|drillpeck": 1, + "|sturdy|rockyhelmet|careful|248,0,36,0,224,0|spikes|secretpower|whirlwind|roost": 3, + "|sturdy|rockyhelmet|careful|252,0,8,0,248,0|roost|spikes|pursuit|drillpeck": 2, + "|sturdy|salacberry|jolly|4,252,0,0,0,252|spikes|stealthrock|taunt|bravebird": 4, + "|sturdy|salacberry|jolly|0,252,0,0,0,252|bravebird|spikes|stealthrock|taunt": 2, + "|sturdy|rockyhelmet|careful|252,0,112,0,120,24|bravebird|torment|whirlwind|roost": 1, + "|sturdy|salacberry|naive|0,252,0,4,0,252|spikes|stealthrock|taunt|bravebird": 2, + "|sturdy|rockyhelmet|impish|248,0,228,0,0,32|taunt|spikes|roost|whirlwind": 1, + "|sturdy|rockyhelmet|careful|248,0,16,0,224,20|spikes|roost|whirlwind|drillpeck": 1, + "|sturdy|rockyhelmet|careful|248,0,44,0,216,0|spikes|roost|whirlwind|drillpeck": 1, + "|sturdy|rockyhelmet|careful|248,0,24,0,216,20|taunt|spikes|roost|whirlwind": 1, + "|sturdy|custapberry|naive|0,252,0,0,0,252|stealthrock|spikes|bravebird|taunt": 1, + "|sturdy|leftovers|impish|224,0,252,0,32,0|spikes|roost|whirlwind|bravebird": 2, + "|sturdy|leftovers|careful|252,0,4,0,252,0|bravebird|roost|spikes|taunt": 1, + "|sturdy|leftovers|impish|252,0,240,0,16,0|bravebird|spikes|whirlwind|roost": 2, + "|sturdy|leftovers|impish|252,0,216,0,0,40|taunt|spikes|roost|whirlwind": 1, + "|sturdy|leftovers|impish|252,0,248,0,8,0|bravebird|spikes|roost|whirlwind": 1, + "|sturdy|custapberry|jolly|4,252,0,0,0,252|bravebird|stealthrock|spikes|taunt": 1, + "|sturdy|custapberry|jolly|4,252,0,0,0,252|stealthrock|spikes|bravebird|taunt": 1, + "|sturdy|leftovers|impish|252,0,232,0,0,24|spikes|roost|whirlwind|bravebird": 1 + }, + "clefable": { + "|magicguard|leftovers|calm|252,0,60,0,180,16|stealthrock|seismictoss|thunderwave|softboiled": 1, + "|magicguard|lifeorb|modest|80,0,0,252,0,176|thunder|icebeam|fireblast|softboiled": 1 + }, + "latias": { + "|levitate|colburberry|timid|148,0,0,108,12,240|dracometeor|surf|thunderwave|roost": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|psyshock": 1, + "|levitate|flameorb|timid|204,0,0,52,0,252|trick|psychoshift|icebeam|recover": 2, + "|levitate|leftovers|timid|252,0,4,0,0,252|calmmind|roost|dragonpulse|roar": 1, + "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderwave|healingwish|dracometeor|surf": 4, + "|levitate|leftovers|timid|248,0,0,8,0,252|dracometeor|roost|refresh|calmmind": 2, + "|levitate|choicescarf|timid|116,0,0,140,0,252|trick|surf|healingwish|dragonpulse": 2, + "|levitate|leftovers|timid|92,0,0,164,0,252|thunderwave|dracometeor|surf|recover": 2, + "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|healingwish|dracometeor": 3, + "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|thunderwave|healingwish": 3, + "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|thunderwave|recover": 3, + "|levitate|leftovers|timid|252,0,4,0,0,252|recover|calmmind|dragonpulse|psychoshift": 1, + "|levitate|flameorb|timid|64,0,0,192,0,252|dracometeor|surf|trick|recover": 1, + "|levitate|rockyhelmet|timid|248,0,64,0,0,196|icebeam|thunderwave|recover|hiddenpowerfire": 1, + "|levitate|firegem|modest|252,0,0,252,4,0|hiddenpowerfire|dracometeor|roost|surf": 1, + "|levitate|lifeorb|timid|192,0,0,64,0,252|dracometeor|psyshock|thunderwave|roost": 1, + "|levitate|leftovers|timid|252,0,0,60,0,196|dracometeor|hiddenpowerfire|thunderwave|roost": 1, + "|levitate|leftovers|timid|252,0,4,0,0,252|roost|dragonpulse|calmmind|hiddenpowerfire": 1 + }, + "reuniclus": { + "|magicguard|sitrusberry|bold|240,0,252,0,8,8|calmmind|psyshock|focusblast|recover": 1, + "|magicguard|leftovers|bold|252,0,252,4,0,0|psychic|focusblast|calmmind|recover": 1, + "|magicguard|leftovers|calm|232,0,240,0,16,20|calmmind|thunder|hiddenpowerice|recover": 2, + "|magicguard|stickybarb|calm|252,0,96,0,152,8|trick|recover|psychic|thunderwave": 2, + "|magicguard|lifeorb|quiet|124,0,0,232,152,0|psychic|focusblast|recover|trickroom": 5, + "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|thunder|hiddenpowerice|recover": 1, + "|magicguard|lifeorb|modest|172,0,100,176,56,4|psychic|focusblast|recover|hiddenpowerice": 1, + "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|psyshock|focusblast|recover": 1, + "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|recover|psyshock|hiddenpowerice": 1, + "|magicguard|leftovers|bold|252,0,252,4,0,0|psyshock|focusblast|recover|calmmind": 1, + "|magicguard|leftovers|bold|248,0,252,0,0,8|psyshock|focusblast|recover|calmmind": 2, + "|magicguard|leftovers|bold|252,0,232,0,0,24|recover|psychic|focusblast|calmmind": 2, + "|magicguard|lifeorb|modest|252,0,64,176,16,0|thunder|focusblast|hiddenpowerice|recover": 3, + "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|shadowball": 7, + "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|signalbeam": 8, + "|magicguard|lifeorb|quiet|192,0,64,252,0,0|psychic|focusblast|trickroom|hiddenpowerice": 2, + "|magicguard|leftovers|bold|252,0,248,0,4,4|calmmind|recover|psychic|focusblast": 1, + "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|recover|thunder|hiddenpowerice": 1, + "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|recover|psyshock|hiddenpowerice": 1, + "|magicguard|leftovers|bold|220,0,180,0,96,12|recover|focusblast|psyshock|calmmind": 1, + "|magicguard|leftovers|bold|252,0,252,0,4,0|thunder|hiddenpowerice|calmmind|recover": 1, + "|magicguard|lifeorb|quiet|252,0,4,252,0,0|psychic|focusblast|shadowball|trickroom": 1, + "|magicguard|leftovers|bold|252,0,228,0,24,4|psyshock|focusblast|calmmind|recover": 3, + "|magicguard|leftovers|bold|252,0,236,0,16,4|psyshock|focusblast|calmmind|recover": 1, + "|magicguard|lifeorb|quiet|252,0,4,252,0,0|psychic|shadowball|focusblast|trickroom": 2, + "|magicguard|lifeorb|bold|248,0,252,0,0,8|calmmind|focusblast|psyshock|recover": 1 + }, + "mamoswine": { + "|thickfat|nevermeltice|adamant|0,252,0,0,4,252|substitute|earthquake|iciclecrash|iceshard": 4, + "|thickfat|choiceband|adamant|0,252,0,0,4,252|earthquake|iciclecrash|superpower|iceshard": 2, + "|thickfat|focussash|jolly|0,252,0,0,4,252|earthquake|stealthrock|endeavor|iceshard": 3, + "|thickfat|chopleberry|adamant|0,252,0,0,4,252|substitute|earthquake|iciclecrash|iceshard": 2, + "|thickfat|leftovers|adamant|0,252,0,0,4,252|knockoff|earthquake|iciclecrash|iceshard": 3, + "|thickfat|nevermeltice|adamant|4,244,0,0,80,180|iceshard|earthquake|superpower|iciclecrash": 1, + "|thickfat|choiceband|adamant|0,252,0,0,4,252|iciclecrash|iceshard|earthquake|superpower": 1, + "|thickfat|salacberry|adamant|0,252,0,0,4,252|iceshard|earthquake|substitute|iciclecrash": 2, + "|thickfat|nevermeltice|jolly|0,252,4,0,0,252|iciclecrash|iceshard|earthquake|substitute": 1, + "|thickfat|metronome|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|substitute": 2, + "|thickfat|choiceband|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|superpower": 2, + "|thickfat|focussash|adamant|0,252,0,0,4,252|iceshard|earthquake|iciclecrash|stealthrock": 1, + "|thickfat|expertbelt|adamant|4,252,0,0,0,252|iceshard|iciclecrash|earthquake|superpower": 1, + "|thickfat|focussash|adamant|4,252,0,0,0,252|earthquake|iceshard|endeavor|stealthrock": 1 + }, + "starmie": { + "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunder|rapidspin": 5, + "|naturalcure|leftovers|timid|252,0,0,4,0,252|scald|rapidspin|thunderbolt|recover": 3, + "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 5, + "|analytic|lifeorb|timid|0,0,4,252,0,252|rapidspin|hydropump|icebeam|thunderbolt": 1, + "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 1, + "|analytic|airballoon|timid|12,0,8,236,0,252|hydropump|icebeam|thunder|rapidspin": 1, + "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|psyshock|rapidspin": 1, + "|analytic|watergem|timid|0,0,0,252,4,252|rapidspin|hydropump|thunderbolt|icebeam": 2, + "|analytic|lifeorb|timid|0,0,0,252,4,252|rapidspin|hydropump|icebeam|thunderbolt": 1, + "|naturalcure|leftovers|timid|252,0,32,0,0,224|rapidspin|scald|icebeam|recover": 1, + "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 1, + "|analytic|airballoon|timid|0,0,0,252,4,252|rapidspin|surf|thunderbolt|icebeam": 1, + "|naturalcure|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin": 2, + "|analytic|choicespecs|timid|0,0,0,252,4,252|hydropump|psychic|rapidspin|trick": 3, + "|analytic|lifeorb|timid|0,0,0,252,4,252|surf|grassknot|icebeam|rapidspin": 2, + "|analytic|leftovers|timid|0,0,0,252,4,252|surf|icebeam|thunderbolt|rapidspin": 2, + "|naturalcure|leftovers|timid|248,0,36,0,0,224|recover|scald|rapidspin|reflecttype": 2, + "|analytic|splashplate|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin": 2, + "|analytic|choicespecs|timid|0,0,0,252,4,252|hydropump|psychic|trick|rapidspin": 1, + "|analytic|lifeorb|timid|0,0,4,252,0,252|rapidspin|hydropump|icebeam|psychic": 1, + "|analytic|choicespecs|timid|0,0,4,252,0,252|hydropump|icebeam|trick|rapidspin": 1, + "|naturalcure|leftovers|timid|252,0,0,0,32,224|reflecttype|scald|recover|rapidspin": 1, + "|naturalcure|leftovers|timid|248,0,32,4,0,224|rapidspin|recover|scald|psyshock": 2, + "|naturalcure|leftovers|timid|0,0,0,252,4,252|surf|thunderbolt|icebeam|rapidspin": 3, + "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|rapidspin|icebeam|thunderbolt": 1, + "|naturalcure|leftovers|timid|252,0,32,0,0,224|scald|psychic|rapidspin|recover": 2, + "|naturalcure|leftovers|timid|252,0,32,0,0,224|scald|reflecttype|rapidspin|recover": 1, + "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|thunder|icebeam|psyshock": 2, + "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|icebeam|thunder|psyshock": 1, + "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|icebeam|thunder|rapidspin": 1, + "|analytic|expertbelt|timid|4,0,0,252,0,252|hydropump|thunder|icebeam|rapidspin": 1, + "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|blizzard|thunderbolt|rapidspin": 1, + "|naturalcure|leftovers|timid|252,0,40,0,0,216|scald|psyshock|rapidspin|recover": 1, + "|naturalcure|leftovers|timid|4,0,0,252,0,252|hydropump|icebeam|rapidspin|hiddenpowergrass": 1, + "|naturalcure|lifeorb|timid|0,0,4,252,0,252|hydropump|icebeam|thunder|rapidspin": 1 + }, + "volcarona": { + "|flamebody|insectplate|timid|72,0,0,252,0,184|hurricane|quiverdance|bugbuzz|flamethrower": 2, + "|flamebody|airballoon|timid|72,0,0,252,0,184|quiverdance|fireblast|bugbuzz|gigadrain": 1, + "|flamebody|lumberry|timid|0,0,4,252,0,252|quiverdance|fireblast|psychic|bugbuzz": 1, + "|flamebody|psychicgem|modest|80,0,36,192,0,200|quiverdance|bugbuzz|psychic|hiddenpowerwater": 2, + "|flamebody|lumberry|timid|68,0,0,252,0,188|quiverdance|bugbuzz|fireblast|hiddenpowerground": 1, + "|flamebody|insectplate|timid|72,0,0,252,0,184|quiverdance|bugbuzz|fireblast|psychic": 1, + "|flamebody|buggem|timid|0,0,0,252,4,252|quiverdance|bugbuzz|fireblast|psychic": 1, + "|flamebody|buggem|timid|64,0,8,252,0,184|quiverdance|fireblast|bugbuzz|psychic": 3, + "|flamebody|buggem|timid|64,0,0,252,0,192|quiverdance|fireblast|bugbuzz|hiddenpowerground": 1, + "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice": 10, + "|flamebody|buggem|modest|0,0,0,252,4,252|fireblast|gigadrain|bugbuzz|quiverdance": 1, + "|flamebody|buggem|timid|40,0,0,252,0,216|quiverdance|fireblast|bugbuzz|hiddenpowerground": 2, + "|flamebody|buggem|timid|72,0,0,252,0,184|quiverdance|bugbuzz|flamethrower|psychic": 2, + "|flamebody|buggem|timid|72,0,0,252,0,184|quiverdance|flamethrower|bugbuzz|psychic": 4, + "|flamebody|buggem|timid|56,0,0,252,0,200|flamethrower|bugbuzz|hiddenpowerground|quiverdance": 2, + "|flamebody|leftovers|timid|72,0,0,252,0,184|flamethrower|bugbuzz|hiddenpowerground|quiverdance": 2, + "|flamebody|passhoberry|timid|72,0,0,252,0,184|quiverdance|bugbuzz|hiddenpowerice|fireblast": 1, + "|flamebody|passhoberry|timid|72,0,0,252,0,184|quiverdance|fireblast|bugbuzz|gigadrain": 1, + "|flamebody|lumberry|timid|72,0,0,252,0,184|quiverdance|bugbuzz|fireblast|hiddenpowerice": 1, + "|flamebody|lumberry|timid|248,0,144,0,0,116|quiverdance|flamethrower|bugbuzz|morningsun": 1, + "|flamebody|passhoberry|modest|136,0,0,252,0,120|flamethrower|gigadrain|hiddenpowerice|quiverdance": 1, + "|flamebody|leftovers|modest|136,0,0,252,0,120|fireblast|bugbuzz|hiddenpowerground|quiverdance": 1, + "|flamebody|sitrusberry|modest|140,0,0,252,0,116|flamethrower|gigadrain|hiddenpowerice|quiverdance": 1 + }, + "jirachi": { + "|serenegrace|leftovers|sassy|252,0,40,0,216,0|healingwish|icywind|thunder|ironhead": 2, + "|serenegrace|leftovers|jolly|236,0,0,0,108,164|ironhead|firepunch|stealthrock|wish": 1, + "|serenegrace|leftovers|modest|4,0,0,252,0,252|calmmind|thunderbolt|psychic|hiddenpowerground": 3, + "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|uturn|ironhead|trick|healingwish": 2, + "|serenegrace|shucaberry|sassy|248,0,44,0,216,0|stealthrock|ironhead|uturn|trickroom": 5, + "|serenegrace|choicescarf|jolly|0,252,4,0,0,252|healingwish|uturn|ironhead|icepunch": 4, + "|serenegrace|choicescarf|jolly|0,80,0,0,176,252|ironhead|icepunch|healingwish|uturn": 2, + "|serenegrace|choicescarf|jolly|72,248,0,0,0,188|trick|ironhead|icepunch|uturn": 8, + "|serenegrace|leftovers|timid|252,0,0,56,0,200|substitute|calmmind|thunder|hiddenpowerice": 2, + "|serenegrace|leftovers|calm|252,0,80,0,176,0|stealthrock|energyball|icywind|uturn": 2, + "|serenegrace|leftovers|careful|252,0,0,0,252,4|ironhead|bodyslam|wish|uturn": 11, + "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|ironhead|uturn|trick|healingwish": 1, + "|serenegrace|leftovers|timid|252,0,72,0,0,184|calmmind|substitute|thunder|hiddenpowerice": 1, + "|serenegrace|choicescarf|adamant|60,176,0,0,76,196|uturn|ironhead|trick|healingwish": 1, + "|serenegrace|leftovers|careful|224,0,0,0,188,96|stealthrock|uturn|wish|ironhead": 1, + "|serenegrace|leftovers|careful|252,0,80,0,160,16|wish|ironhead|bodyslam|uturn": 1, + "|serenegrace|leftovers|careful|248,0,0,0,228,32|stealthrock|ironhead|bodyslam|uturn": 1, + "|serenegrace|leftovers|sassy|252,0,80,0,176,0|uturn|icywind|thunder|stealthrock": 1, + "|serenegrace|leftovers|sassy|252,8,0,32,216,0|stealthrock|healingwish|ironhead|uturn": 5, + "|serenegrace|leftovers|careful|252,0,4,0,252,0|wish|protect|ironhead|uturn": 1, + "|serenegrace|choicescarf|jolly|252,72,0,0,0,184|ironhead|trick|uturn|healingwish": 3, + "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|icepunch|uturn|healingwish": 6, + "|serenegrace|leftovers|sassy|252,0,80,0,176,0|stealthrock|thunder|icywind|uturn": 1, + "|serenegrace|leftovers|sassy|252,0,20,0,236,0|stealthrock|icywind|thunder|uturn": 2, + "|serenegrace|shucaberry|modest|40,0,0,240,0,228|energyball|hiddenpowerfire|icywind|stealthrock": 2, + "|serenegrace|leftovers|jolly|252,160,0,0,0,96|substitute|bodyslam|ironhead|stealthrock": 6, + "|serenegrace|leftovers|careful|248,0,0,0,164,96|stealthrock|icywind|ironhead|uturn": 2, + "|serenegrace|flameorb|calm|252,0,0,192,44,20|thunder|uturn|doomdesire|trick": 1, + "|serenegrace|leftovers|calm|248,0,0,40,220,0|thunder|icywind|uturn|stealthrock": 2, + "|serenegrace|leftovers|hasty|252,0,0,96,0,160|substitute|ironhead|thunder|waterpulse": 1, + "|serenegrace|leftovers|careful|252,0,4,0,252,0|ironhead|uturn|healingwish|stealthrock": 3, + "|serenegrace|shucaberry|sassy|248,0,0,60,200,0|thunder|icywind|uturn|stealthrock": 1, + "|serenegrace|leftovers|careful|252,0,40,0,216,0|ironhead|uturn|bodyslam|stealthrock": 1, + "|serenegrace|shucaberry|timid|32,0,0,252,4,220|hiddenpowerfire|thunder|calmmind|icywind": 1, + "|serenegrace|leftovers|timid|252,0,160,0,0,96|calmmind|substitute|thunder|waterpulse": 1, + "|serenegrace|leftovers|careful|240,0,0,0,252,16|ironhead|bodyslam|uturn|stealthrock": 1, + "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|ironhead|uturn|healingwish|icepunch": 1, + "|serenegrace|shucaberry|naive|104,0,0,216,0,188|ironhead|stealthrock|icywind|thunder": 1, + "|serenegrace|leftovers|careful|248,0,0,0,228,32|stealthrock|wish|thunder|ironhead": 1, + "|serenegrace|leftovers|modest|128,0,0,248,0,132|psychic|hiddenpowerfire|grassknot|calmmind": 1, + "|serenegrace|leftovers|modest|148,0,0,232,0,128|psychic|hiddenpowerfire|grassknot|calmmind": 2, + "|serenegrace|leftovers|careful|252,8,24,0,224,0|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|leftovers|modest|140,0,0,240,0,128|psychic|grassknot|hiddenpowerfire|calmmind": 1, + "|serenegrace|leftovers|modest|252,0,12,120,8,116|psychic|thunder|calmmind|substitute": 1, + "|serenegrace|leftovers|careful|252,4,12,0,224,16|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|leftovers|careful|252,20,16,0,204,16|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|leftovers|modest|252,0,16,112,8,120|psychic|thunder|calmmind|substitute": 1, + "|serenegrace|choicescarf|jolly|136,192,0,0,32,148|ironhead|uturn|icepunch|healingwish": 1, + "|serenegrace|lumberry|naughty|0,244,0,156,0,108|ironhead|thunderbolt|hiddenpowerice|drainpunch": 1, + "|serenegrace|leftovers|careful|252,8,12,0,220,16|ironhead|bodyslam|wish|protect": 1, + "|serenegrace|leftovers|modest|136,0,0,240,0,132|psychic|grassknot|hiddenpowerfire|calmmind": 1, + "|serenegrace|choicescarf|jolly|104,200,0,0,56,148|ironhead|uturn|icepunch|healingwish": 1, + "|serenegrace|leftovers|modest|144,0,0,232,0,132|psychic|grassknot|hiddenpowerfire|calmmind": 1, + "|serenegrace|choicescarf|jolly|104,176,0,0,76,152|ironhead|uturn|icepunch|healingwish": 1 + }, + "breloom": { + "|poisonheal|toxicorb|careful|236,0,0,0,212,60|swordsdance|protect|drainpunch|facade": 1, + "|technician|choicescarf|jolly|0,252,0,0,4,252|machpunch|bulletseed|lowsweep|stoneedge": 3, + "|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|lowsweep": 1, + "|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletseed|machpunch|superpower": 1, + "|technician|lifeorb|adamant|0,252,0,0,4,252|lowsweep|machpunch|bulletseed|swordsdance": 1, + "|technician|lifeorb|adamant|4,252,0,0,0,252|bulletseed|machpunch|lowsweep|swordsdance": 1, + "|poisonheal|toxicorb|adamant|176,136,112,0,84,0|substitute|protect|seedbomb|focuspunch": 1, + "|poisonheal|toxicorb|careful|236,0,0,0,252,20|seedbomb|drainpunch|swordsdance|protect": 1, + "|poisonheal|toxicorb|adamant|244,252,0,0,0,12|protect|seedbomb|focuspunch|substitute": 1, + "|poisonheal|toxicorb|careful|236,0,0,0,208,64|bulkup|seedbomb|drainpunch|protect": 1, + "|technician|fightinggem|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|lowsweep": 3, + "|technician|grassgem|adamant|0,252,0,0,4,252|swordsdance|bulletseed|machpunch|lowsweep": 1, + "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance": 17, + "|poisonheal|toxicorb|adamant|236,196,56,0,4,16|protect|substitute|focuspunch|seedbomb": 2, + "|technician|fistplate|adamant|0,252,0,0,4,252|swordsdance|lowsweep|machpunch|bulletseed": 1, + "|technician|fightinggem|adamant|4,228,0,0,24,252|swordsdance|machpunch|lowsweep|bulletseed": 1, + "|technician|choiceband|adamant|0,252,0,0,4,252|lowsweep|bulletseed|stoneedge|machpunch": 2, + "|technician|choiceband|adamant|0,252,0,0,4,252|lowsweep|bulletseed|machpunch|stoneedge": 2, + "|technician|grassgem|adamant|0,252,0,0,4,252|bulletseed|lowsweep|machpunch|swordsdance": 2, + "|technician|choiceband|adamant|16,252,0,0,0,240|seedbomb|lowsweep|machpunch|megakick": 1, + "|technician|grassgem|adamant|56,252,0,0,0,200|machpunch|bulletseed|lowsweep|swordsdance": 3, + "|technician|fightinggem|adamant|4,252,0,0,0,252|swordsdance|machpunch|bulletseed|focuspunch": 2, + "|poisonheal|toxicorb|careful|236,0,20,0,252,0|drainpunch|facade|bulkup|protect": 1, + "|technician|choiceband|adamant|0,252,0,0,4,252|bulletseed|machpunch|lowsweep|stoneedge": 1, + "|poisonheal|toxicorb|adamant|236,24,28,0,212,8|swordsdance|seedbomb|drainpunch|protect": 1, + "|technician|fightinggem|adamant|112,252,0,0,4,140|machpunch|bulletseed|spore|focuspunch": 1, + "|poisonheal|toxicorb|calm|252,0,40,0,216,0|drainpunch|leechseed|protect|spore": 1, + "|technician|fightinggem|adamant|4,252,0,0,0,252|machpunch|focuspunch|bulletseed|spore": 1, + "|technician|focussash|adamant|4,252,0,0,0,252|lowsweep|bulletseed|machpunch|spore": 2, + "|poisonheal|toxicorb|careful|236,0,48,0,224,0|drainpunch|bulkup|protect|spore": 1, + "|poisonheal|toxicorb|calm|252,0,40,0,216,0|drainpunch|bulkup|protect|spore": 1, + "|technician|fightinggem|adamant|4,252,0,0,0,252|focuspunch|bulletseed|machpunch|spore": 1, + "|poisonheal|toxicorb|careful|236,0,56,0,216,0|drainpunch|bulkup|protect|spore": 1, + "|poisonheal|toxicorb|adamant|236,252,0,0,20,0|protect|substitute|facade|focuspunch": 1 + }, + "slowking": { + "|regenerator|leftovers|calm|252,0,76,0,180,0|slackoff|scald|dragontail|fireblast": 1, + "|regenerator|leftovers|bold|252,0,200,0,56,0|scald|flamethrower|dragontail|slackoff": 1, + "|regenerator|leftovers|calm|252,0,200,0,56,0|scald|fireblast|thunderwave|slackoff": 1, + "|regenerator|leftovers|quiet|252,0,20,216,20,0|psyshock|surf|fireblast|thunderwave": 1, + "|regenerator|leftovers|calm|252,0,240,0,16,0|scald|psyshock|slackoff|dragontail": 1 + }, + "darkrai": { + "|baddreams|focussash|timid|0,0,4,252,0,252|darkpulse|darkvoid|thunderwave|taunt": 2 + }, + "groudon": { + "|drought|leftovers|careful|240,0,0,0,224,44|stealthrock|earthquake|stoneedge|thunderwave": 2 + }, + "hooh": { + "|regenerator|choiceband|jolly|4,252,0,0,0,252|sacredfire|bravebird|earthquake|sleeptalk": 2 + }, + "giratinaorigin": { + "|levitate|griseousorb|naive|0,72,144,252,0,40|dracometeor|shadowsneak|hiddenpowerfire|dragontail": 2 + }, + "espeon": { + "|magicbounce|focussash|timid|0,0,0,252,4,252|psyshock|shadowball|hiddenpowerfighting|grassknot": 2, + "|magicbounce|lightclay|timid|252,0,4,0,0,252|psyshock|lightscreen|reflect|batonpass": 2 + }, + "arceus": { + "|multitype|silkscarf|adamant|132,252,0,0,0,124|swordsdance|extremespeed|shadowclaw|earthquake": 2 + }, + "dragonite": { + "|multiscale|lumberry|adamant|8,248,0,0,0,252|dragondance|outrage|firepunch|extremespeed": 1, + "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|firepunch|superpower": 1, + "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed": 4, + "|multiscale|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|earthquake|extremespeed": 1, + "|multiscale|leftovers|mild|0,80,0,252,0,176|hurricane|earthquake|substitute|roost": 2, + "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|superpower|extremespeed": 1, + "|multiscale|choiceband|adamant|144,252,0,0,0,112|extremespeed|outrage|superpower|dragonclaw": 5, + "|multiscale|yacheberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|extremespeed": 4, + "|multiscale|leftovers|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed": 1, + "|multiscale|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|extremespeed|firepunch": 1, + "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed": 6, + "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragonclaw|substitute|dragondance|roost": 2, + "|multiscale|choiceband|adamant|40,252,0,0,0,216|outrage|earthquake|firepunch|extremespeed": 1, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed": 4, + "|multiscale|dragongem|adamant|0,252,4,0,0,252|outrage|extremespeed|dragondance|earthquake": 1, + "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch": 6, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch": 36, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|icepunch": 3, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|icepunch|firepunch": 1, + "|multiscale|dragongem|adamant|44,252,0,0,0,212|dragondance|outrage|firepunch|extremespeed": 1, + "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|dragonclaw|earthquake|extremespeed": 3, + "|multiscale|yacheberry|adamant|76,180,0,0,0,252|dragondance|outrage|firepunch|extremespeed": 2, + "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragonclaw|dragondance|substitute|roost": 2, + "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragondance|dragonclaw|roost|substitute": 2, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|outrage|firepunch|extremespeed|dragondance": 2, + "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|firepunch|outrage|extremespeed": 2, + "|multiscale|leftovers|jolly|252,0,0,0,80,176|substitute|dragondance|dragonclaw|roost": 2, + "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|earthquake|extremespeed|dragonclaw": 1, + "|multiscale|yacheberry|adamant|0,252,0,0,4,252|outrage|earthquake|earthquake|dragondance": 1, + "|multiscale|yacheberry|adamant|0,252,0,0,4,252|outrage|earthquake|extremespeed|dragondance": 1, + "|multiscale|leftovers|jolly|248,0,16,0,68,176|substitute|dragondance|dragonclaw|roost": 1, + "|multiscale|lifeorb|naive|0,4,0,252,0,252|agility|hurricane|thunder|aquatail": 1, + "|multiscale|choiceband|adamant|0,252,0,0,4,252|outrage|extremespeed|sleeptalk|superpower": 1, + "|multiscale|leftovers|calm|252,0,40,80,136,0|fireblast|icebeam|thunderwave|roost": 1, + "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|firepunch|earthquake|extremespeed": 1, + "|multiscale|leftovers|impish|252,0,36,0,28,192|dragonclaw|dragondance|substitute|roost": 1, + "|multiscale|lumberry|adamant|32,252,0,0,0,224|outrage|firepunch|extremespeed|dragondance": 3, + "|multiscale|choiceband|adamant|0,252,0,0,4,252|outrage|extremespeed|firepunch|earthquake": 1, + "|multiscale|leftovers|calm|252,0,0,108,148,0|hurricane|thunder|dragontail|roost": 1, + "|multiscale|leftovers|careful|252,0,80,0,16,160|dragonclaw|substitute|roost|dragondance": 1 + }, + "xatu": { + "|magicbounce|leftovers|impish|252,0,96,0,156,4|roost|uturn|nightshade|reflect": 1, + "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|roost|nightshade|reflect|uturn": 2, + "|magicbounce|rockyhelmet|impish|252,0,84,0,0,172|trick|nightshade|roost|uturn": 1, + "|magicbounce|rockyhelmet|impish|248,0,252,0,8,0|nightshade|uturn|reflect|roost": 2, + "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|nightshade|uturn|reflect|roost": 1, + "|magicbounce|rockyhelmet|impish|248,0,188,0,0,72|nightshade|roost|reflect|uturn": 2, + "|magicbounce|rockyhelmet|bold|248,0,188,0,0,72|roost|nightshade|uturn|reflect": 3, + "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|roost|magiccoat|thunderwave|uturn": 1, + "|magicbounce|rockyhelmet|bold|248,0,252,0,8,0|nightshade|uturn|toxic|roost": 1, + "|magicbounce|rockyhelmet|impish|252,0,252,0,4,0|nightshade|roost|uturn|thief": 1, + "|magicbounce|rockyhelmet|bold|252,0,252,0,4,0|uturn|heatwave|toxic|roost": 1, + "|magicbounce|rockyhelmet|bold|248,0,204,0,0,56|uturn|toxic|roost|heatwave": 1 + }, + "gyarados": { + "|moxie|metronome|adamant|116,248,0,0,0,144|dragondance|waterfall|bounce|substitute": 1, + "|moxie|leftovers|adamant|96,252,0,0,0,156|dragondance|waterfall|bounce|substitute": 4, + "|intimidate|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake": 1, + "|intimidate|leftovers|jolly|88,248,0,0,0,172|substitute|dragondance|waterfall|bounce": 2, + "|intimidate|liechiberry|jolly|0,252,0,0,4,252|dragondance|waterfall|bounce|naturalgift": 2, + "|intimidate|watmelberry|adamant|0,252,4,0,0,252|waterfall|return|naturalgift|dragondance": 1, + "|intimidate|leftovers|adamant|88,216,0,0,0,204|dragondance|substitute|waterfall|bounce": 1, + "|intimidate|leftovers|adamant|40,252,0,0,0,216|waterfall|bounce|substitute|dragondance": 1 + }, + "honchkrow": { + "|superluck|scopelens|adamant|0,248,0,0,132,128|suckerpunch|nightslash|bravebird|superpower": 1 + }, + "blastoise": { + "|raindish|leftovers|bold|252,0,252,4,0,0|rapidspin|protect|scald|icebeam": 1 + }, + "keldeoresolute": { + "|justified|choicescarf|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerice": 2, + "|justified|choicescarf|timid|0,0,4,252,0,252|secretsword|hydropump|hiddenpowerice|surf": 2, + "|justified|lumberry|timid|0,0,4,252,0,252|calmmind|secretsword|hydropump|icywind": 4, + "|justified|choicescarf|timid|0,0,0,252,4,252|hiddenpowerice|hydropump|secretsword|surf": 2, + "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerghost": 3, + "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|secretsword|icywind": 1, + "|justified|choicescarf|timid|0,0,4,252,0,252|surf|secretsword|hydropump|hiddenpowerice": 1, + "|justified|fightinggem|modest|0,0,0,252,4,252|calmmind|hydropump|focusblast|hiddenpowerghost": 3, + "|justified|fightinggem|timid|0,0,0,252,4,252|calmmind|hydropump|focusblast|hiddenpowerghost": 1, + "|justified|choicescarf|timid|0,0,0,252,4,252|hydropump|secretsword|hiddenpowergrass|icywind": 2 + }, + "nidoking": { + "|sheerforce|lifeorb|rash|0,28,0,252,0,228|earthpower|icebeam|thunder|suckerpunch": 1 + }, + "alakazam": { + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|psyshock": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|hiddenpowerice|focusblast|thunderwave": 3, + "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|hiddenpowerice|focusblast|shadowball": 6, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|signalbeam|hiddenpowerice": 6, + "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|signalbeam|focusblast|encore": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|thunderwave": 7, + "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerfire|signalbeam": 2, + "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|hiddenpowerfire|psychic|shadowball": 1, + "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|signalbeam|hiddenpowerice": 5, + "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|grassknot": 5, + "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|signalbeam": 9, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|grassknot|hiddenpowerice": 1, + "|magicguard|lifeorb|timid|0,0,88,192,0,228|psychic|grassknot|shadowball|hiddenpowerfire": 1, + "|magicguard|lifeorb|timid|0,0,88,188,0,232|psychic|grassknot|hiddenpowerfire|shadowball": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|encore|shadowball": 2, + "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|focusblast|hiddenpowerice|shadowball": 1, + "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|hiddenpowerice|encore": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|encore": 4, + "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psychic|shadowball|hiddenpowerice": 1, + "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|encore|psychic|signalbeam": 1, + "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|shadowball|hiddenpowerice": 1, + "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam": 44, + "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|shadowball": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|grassknot|hiddenpowerice": 4, + "|magicguard|focussash|timid|4,0,0,252,0,252|focusblast|psyshock|grassknot|hiddenpowerice": 2, + "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psyshock|hiddenpowerice|psychup": 2, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|signalbeam": 2, + "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|focusblast|grassknot|hiddenpowerice": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|grassknot|hiddenpowerice": 1, + "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerfire|substitute": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|encore|signalbeam": 1, + "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psychic|hiddenpowerice|encore": 1, + "|magicguard|focussash|timid|0,0,0,252,0,252|focusblast|psyshock|shadowball|hiddenpowerice": 1, + "|magicguard|focussash|timid|0,0,24,252,0,232|psychic|focusblast|shadowball|chargebeam": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psyshock|focusblast|shadowball|psychup": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|shadowball|hiddenpowerice": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|shadowball|focusblast|hiddenpowerice": 1, + "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|signalbeam|focusblast|hiddenpowerice": 1 + }, + "celebi": { + "|naturalcure|leftovers|timid|92,0,0,252,0,164|gigadrain|hiddenpowerfire|earthpower|nastyplot": 1, + "|naturalcure|leftovers|calm|252,0,0,0,220,36|stealthrock|uturn|recover|psychic": 2, + "|naturalcure|leftovers|calm|252,0,0,0,236,20|psychic|recover|batonpass|stealthrock": 4, + "|naturalcure|leftovers|calm|252,0,0,0,236,20|psychic|recover|batonpass|substitute/calmmind": 2, + "|naturalcure|leftovers|timid|248,0,0,160,0,100|gigadrain|hiddenpowerice|nastyplot|recover": 2, + "|naturalcure|leftovers|timid|248,0,0,0,68,192|nastyplot|leafstorm|hiddenpowerfire|recover": 3, + "|naturalcure|leftovers|calm|252,0,0,0,220,36|stealthrock|psychic|batonpass|recover": 2, + "|naturalcure|leftovers|calm|252,0,68,0,188,0|psychic|recover|batonpass|healingwishfuturesight": 2, + "|naturalcure|leftovers|calm|252,0,68,0,188,0|psychic|recover|batonpass|healingwish/futuresight": 9, + "|naturalcure|leftovers|calm|252,0,0,0,240,16|stealthrock|psychic|batonpass|recover": 1, + "|naturalcure|leftovers|calm|248,0,0,0,244,16|stealthrock|recover|psychic|uturn": 1, + "|naturalcure|leftovers|calm|252,0,0,0,148,108|nastyplot|psychic|recover|batonpass": 1, + "|naturalcure|leftovers|careful|252,0,0,0,236,20|seedbomb|recover|batonpass|swordsdance": 1, + "|naturalcure|leftovers|calm|248,0,0,0,220,40|psychic|stealthrock|recover|uturn": 1, + "|naturalcure|leftovers|careful|252,0,0,0,192,64|batonpass|swordsdance|zenheadbutt|recover": 1, + "|naturalcure|leftovers|timid|0,0,4,252,0,252|nastyplot|recover|leafstorm|hiddenpowerice": 1, + "|naturalcure|leftovers|modest|56,0,0,252,0,200|leafstorm|nastyplot|psychic|recover": 1, + "|naturalcure|leftovers|calm|252,0,0,40,216,0|recover|nastyplot|gigadrain|psychic": 2, + "|naturalcure|leftovers|calm|252,0,20,0,216,20|recover|gigadrain|psychic|batonpass": 2, + "|naturalcure|leftovers|bold|240,0,96,0,72,100|stealthrock|recover|gigadrain|earthpower": 1, + "|naturalcure|leftovers|calm|252,0,0,0,144,112|gigadrain|stealthrock|recover|psychic": 1, + "|naturalcure|leftovers|calm|252,0,0,0,220,36|psychic|nastyplot|recover|batonpass": 1, + "|naturalcure|leftovers|calm|252,0,0,0,192,64|batonpass|nastyplot|psychic|recover": 1, + "|naturalcure|leftovers|modest|136,0,0,240,0,132|gigadrain|earthpower|hiddenpowerice|nastyplot": 1, + "|naturalcure|leftovers|bold|252,0,136,0,88,32|psychic|calmmind|recover|batonpass": 1, + "|naturalcure|leftovers|modest|128,0,0,244,0,136|gigadrain|earthpower|hiddenpowerice|nastyplot": 1, + "|naturalcure|leftovers|bold|252,0,220,0,0,36|recover|calmmind|gigadrain|signalbeam": 1 + }, + "garchomp": { + "|roughskin|focussash|jolly|0,252,4,0,0,252|dragonclaw|earthquake|swordsdance|stealthrock": 1, + "|roughskin|yacheberry|jolly|0,252,4,0,0,252|stealthrock|outrage|earthquake|swordsdance": 1, + "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|swordsdance|outrage|earthquake": 1, + "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|dualchop|earthquake|rockslide": 4, + "|roughskin|lifeorb|naive|0,4,0,252,0,252|stealthrock|dracometeor|earthquake|fireblast": 6, + "|roughskin|dragongem|naive|0,4,0,252,0,252|dracometeor|surf/whirlpool|earthquake|flamethrower": 2, + "|roughskin|choiceband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|outrage": 2, + "|roughskin|lifeorb|hasty|0,4,0,252,0,252|stealthrock|earthquake|dracometeor|fireblast": 4, + "|roughskin|yacheberry|jolly|0,252,0,0,4,252|stealthrock|swordsdance|outrage|earthquake": 4, + "|roughskin|choicescarf|jolly|0,252,4,0,0,252|earthquake|dualchop|stealthrock|stoneedge": 2, + "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|fireblast": 2, + "|roughskin|leftovers|naive|0,252,0,4,0,252|swordsdance|dragonclaw|earthquake|aquatail": 2, + "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stealthrock": 14, + "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|firefang": 1, + "|roughskin|yacheberry|jolly|0,252,0,0,4,252|dualchop|outrage|earthquake|swordsdance": 2, + "|roughskin|dragongem|jolly|0,252,0,0,4,252|swordsdance|outrage|earthquake|dragonclaw": 2, + "|roughskin|dragongem|jolly|0,252,4,0,0,252|swordsdance|substitute|earthquake|outrage": 2, + "|roughskin|focussash|adamant|0,252,0,0,4,252|earthquake|outrage|swordsdance|firefang": 1, + "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|outrage|earthquake|swordsdance": 1, + "|roughskin|yacheberry|jolly|0,252,0,0,4,252|stealthrock|swordsdance|earthquake|outrage": 1, + "|roughskin|choicescarf|jolly|8,244,4,0,0,252|outrage|earthquake|rockslide|dualchop": 1, + "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|dualchop|stealthrock": 2, + "|roughskin|focussash|adamant|4,252,0,0,0,252|swordsdance|earthquake|outrage|stealthrock": 1, + "|roughskin|choiceband|adamant|0,252,0,0,4,252|outrage|earthquake|firefang|dualchop": 2, + "|roughskin|choiceband|adamant|0,252,0,0,4,252|outrage|earthquake|dualchop|firefang": 1, + "|roughskin|lumberry|jolly|0,252,0,0,4,252|outrage|earthquake|swordsdance|stealthrock": 1, + "|roughskin|yacheberry|jolly|0,252,4,0,0,252|stealthrock|swordsdance|outrage|earthquake": 3, + "|roughskin|yacheberry|jolly|64,192,0,0,0,252|stealthrock|swordsdance|outrage|earthquake": 1, + "|roughskin|salacberry|jolly|0,252,4,0,0,252|substitute|earthquake|swordsdance|outrage": 1, + "|roughskin|yacheberry|naive|0,252,0,4,0,252|swordsdance|outrage|earthquake|stealthrock": 2, + "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|dualchop|earthquake|stealthrock": 1, + "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stoneedge": 3, + "|roughskin|salacberry|jolly|4,252,0,0,0,252|substitute|swordsdance|outrage|earthquake": 10, + "|roughskin|focussash|naive|0,4,0,252,0,252|stealthrock|dracometeor|earthquake|fireblast": 1, + "|roughskin|lifeorb|naive|0,64,0,192,0,252|stealthrock|dracometeor|earthquake|fireblast": 1, + "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|stealthrock|earthquake|surf": 6, + "|roughskin|salacberry|jolly|4,252,0,0,0,252|stealthrock|swordsdance|outrage|earthquake": 6, + "|roughskin|salacberry|jolly|4,252,0,0,0,252|fireblast|swordsdance|outrage|earthquake": 6, + "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|outrage|swordsdance": 2, + "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|fireblast|earthquake|stealthrock": 3, + "|roughskin|salacberry|jolly|12,244,0,0,0,252|substitute|swordsdance|outrage|earthquake": 2, + "|roughskin|salacberry|jolly|0,252,0,0,4,252|dualchop|earthquake|swordsdance|endure": 1, + "|roughskin|choicescarf|naive|0,252,0,4,0,252|outrage|earthquake|dualchop|hiddenpowerice": 1, + "|roughskin|salacberry|jolly|0,252,0,0,4,252|swordsdance|substitute|dualchop|earthquake": 2, + "|roughskin|focussash|jolly|4,252,0,0,0,252|stealthrock|swordsdance|outrage|earthquake": 1, + "|roughskin|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|dualchop|aquatail": 2, + "|roughskin|choiceband|adamant|0,252,4,0,0,252|outrage|earthquake|firefang|dualchop": 1, + "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|hiddenpowerice": 1, + "|roughskin|salacberry|jolly|12,244,0,0,0,252|dragonclaw|earthquake|substitute|swordsdance": 2, + "|roughskin|choicescarf|jolly|0,252,4,0,0,252|outrage|earthquake|dualchop|stealthrock": 3, + "|roughskin|lumberry|jolly|0,252,0,0,4,252|swordsdance|outrage|earthquake|sandstorm": 1, + "|roughskin|salacberry|jolly|12,244,0,0,0,252|substitute|swordsdance|earthquake|outrage": 1, + "|sandveil|yacheberry|jolly|0,252,0,0,4,252|swordsdance|dragonclaw|earthquake|firefang": 1, + "|roughskin|choicescarf|adamant|4,252,0,0,0,252|earthquake|outrage|aquatail|firefang": 1, + "|roughskin|dragongem|adamant|0,252,4,0,0,252|earthquake|swordsdance|substitute|outrage": 1, + "|roughskin|choicescarf|jolly|0,252,0,0,4,252|dualchop|outrage|earthquake|rockslide": 1, + "|roughskin|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|dualchop|rockslide": 1, + "|roughskin|lumberry|naive|0,248,0,8,0,252|stealthrock|outrage|fireblast|earthquake": 1, + "|roughskin|rockyhelmet|naughty|168,140,0,0,0,200|dragontail|earthquake|fireblast|stealthrock": 1, + "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance": 6, + "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock": 5, + "|roughskin|yacheberry|naive|4,252,0,0,0,252|outrage|earthquake|fireblast|stealthrock": 1, + "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute": 4, + "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|stealthrock|swordsdance": 1, + "|roughskin|dragongem|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute": 1, + "|roughskin|dragongem|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance": 1, + "|roughskin|salacberry|jolly|0,252,0,0,4,252|swordsdance|dualchop|earthquake|endure": 1 + }, + "salamence": { + "|moxie|choicescarf|naive|0,252,0,4,0,252|outrage|dragonclaw|earthquake|fireblast": 1, + "|moxie|choicescarf|jolly|0,252,0,0,4,252|outrage|dragonclaw|earthquake|fireblast": 1, + "|intimidate|lifeorb|naive|0,64,0,192,0,252|dracometeor|outrage|fireblast|earthquake": 6, + "|moxie|choicescarf|adamant|4,252,0,0,0,252|outrage|earthquake|stoneedge|aquatail": 1, + "|moxie|choicescarf|jolly|0,252,4,0,0,252|outrage|dragonclaw|earthquake|fireblast": 4 + }, + "kyuremblack": { + "|teravolt|choiceband|adamant|0,252,108,0,0,148|outrage|dragonclaw|fusionbolt|icebeam": 1, + "|teravolt|powerherb|adamant|56,252,52,0,0,148|substitute|outrage|fusionbolt|freezeshock": 1, + "|teravolt|choiceband|adamant|0,252,56,0,56,144|outrage|fusionbolt|dragonclaw|icebeam": 1, + "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|fusionbolt|dragonclaw|icebeam": 6, + "|teravolt|choiceband|naughty|0,252,0,4,0,252|outrage|icebeam|fusionbolt|dragonclaw": 3, + "|teravolt|choiceband|adamant|0,252,56,0,56,144|outrage|icebeam|dragonclaw|fusionbolt": 2, + "|teravolt|choiceband|adamant|0,252,0,0,4,252|outrage|dragonclaw|fusionbolt|freezeshock": 2, + "|teravolt|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|fusionbolt|icebeam": 3, + "|teravolt|powerherb|adamant|52,252,0,0,0,204|substitute|dragonclaw|fusionbolt|freezeshock": 1, + "|teravolt|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|icebeam|fusionbolt": 1, + "|teravolt|lifeorb|hasty|0,28,0,252,0,228|roost|blizzard|fusionbolt|earthpower": 1, + "|teravolt|lifeorb|lonely|0,252,0,4,0,252|dragonclaw|fusionbolt|icebeam|hiddenpowerfire": 1, + "|teravolt|choicescarf|adamant|4,252,0,0,0,252|fusionbolt|outrage|stoneedge|zenheadbutt": 1, + "|teravolt|leftovers|mild|56,0,0,216,0,236|substitute|icebeam|fusionbolt|earthpower": 1, + "|teravolt|leftovers|mild|52,0,0,216,0,240|icebeam|earthpower|fusionbolt|substitute": 1, + "|teravolt|lifeorb|mild|0,0,0,252,4,252|icebeam|earthpower|fusionbolt|roost": 1, + "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|dragonclaw|fusionbolt|icebeam": 1 + }, + "haxorus": { + "|moldbreaker|choiceband|adamant|0,252,4,0,0,252|outrage|superpower|earthquake|dualchop": 1, + "|unnerve|lumberry|adamant|124,252,0,0,0,132|dragondance|outrage|lowkick|taunt": 2 + }, + "hippowdon": { + "|sandstream|leftovers|careful|252,0,12,0,244,0|slackoff|earthquake|stealthrock|whirlwind": 1, + "|sandstream|leftovers|impish|252,0,32,0,224,0|stealthrock|earthquake|slackoff|whirlwind": 1, + "|sandstream|leftovers|impish|252,0,252,0,4,0|slackoff|stealthrock|earthquake|whirlwind": 1, + "|sandstream|leftovers|careful|252,0,4,0,252,0|slackoff|earthquake|stealthrock|whirlwind": 2, + "|sandstream|leftovers|impish|252,4,252,0,0,0|stealthrock|slackoff|earthquake|whirlwind": 1, + "|sandstream|leftovers|impish|252,0,252,0,4,0|earthquake|whirlwind|stealthrock|slackoff": 1, + "|sandstream|leftovers|impish|252,0,216,0,40,0|earthquake|icefang|stealthrock|slackoff": 1, + "|sandstream|leftovers|impish|252,0,208,0,48,0|earthquake|whirlwind|stealthrock|slackoff": 1 + }, + "jellicent": { + "|waterabsorb|leftovers|timid|248,0,124,0,0,136|taunt|willowisp|recover|nightshade": 1, + "|waterabsorb|leftovers|timid|248,0,80,0,0,180|taunt|willowisp|recover|nightshade": 1, + "|waterabsorb|ejectbutton|bold|252,0,136,0,0,120|nightshade|taunt|recover|willowisp": 2, + "|waterabsorb|airballoon|timid|248,0,124,0,0,136|taunt|willowisp|recover|nightshade": 2, + "|waterabsorb|ejectbutton|timid|248,0,0,0,44,216|taunt|willowisp|nightshade|recover": 4, + "|waterabsorb|leftovers|timid|240,0,128,0,0,140|nightshade|taunt|recover|willowisp": 2, + "|waterabsorb|airballoon|bold|252,0,160,0,0,96|taunt|nightshade|willowisp|recover": 1, + "|waterabsorb|leftovers|bold|248,0,236,0,0,24|scald|willowisp|taunt|recover": 2, + "|waterabsorb|leftovers|bold|240,0,252,0,0,16|scald|willowisp|taunt|recover": 1, + "|waterabsorb|sitrusberry|timid|168,0,204,0,0,136|nightshade|willowisp|taunt|recover": 1, + "|waterabsorb|leftovers|timid|248,0,128,0,0,136|willowisp|taunt|scald|recover": 2, + "|waterabsorb|leftovers|bold|200,0,104,0,0,204|willowisp|taunt|nightshade|recover": 1, + "|waterabsorb|leftovers|timid|252,0,40,0,0,216|taunt|nightshade|willowisp|recover": 1, + "|waterabsorb|leftovers|bold|176,0,120,0,0,212|taunt|willowisp|recover|nightshade": 4, + "|waterabsorb|leftovers|jolly|252,0,116,0,0,140|nightshade|willowisp|taunt|recover": 2, + "|waterabsorb|leftovers|timid|248,0,120,0,0,140|nightshade|willowisp|taunt|recover": 1, + "|waterabsorb|ejectbutton|bold|176,0,120,0,0,212|taunt|willowisp|recover|nightshade": 2, + "|waterabsorb|leftovers|bold|248,0,136,0,0,124|taunt|willowisp|nightshade|recover": 1, + "|waterabsorb|leftovers|bold|108,0,252,0,0,148|recover|willowisp|nightshade|taunt": 1, + "|waterabsorb|leftovers|bold|252,0,252,0,4,0|recover|willowisp|rest|scald": 1, + "|waterabsorb|choicespecs|modest|172,0,0,252,0,84|waterspout|shadowball|surf|energyball": 1, + "|waterabsorb|leftovers|bold|248,0,252,0,8,0|willowisp|taunt|nightshade|recover": 1, + "|waterabsorb|leftovers|bold|252,0,136,0,0,120|scald|taunt|willowisp|recover": 1, + "|waterabsorb|leftovers|bold|252,0,136,0,0,120|scald|willowisp|taunt|recover": 2, + "|waterabsorb|leftovers|impish|252,0,136,0,0,120|scald|willowisp|taunt|recover": 1, + "|waterabsorb|leftovers|bold|252,0,220,0,24,12|scald|willowisp|taunt|recover": 1, + "|waterabsorb|leftovers|bold|252,0,136,0,4,116|surf|willowisp|taunt|recover": 1, + "|waterabsorb|leftovers|bold|248,0,156,0,0,104|recover|scald|shadowball|taunt": 1 + }, + "terrakion": { + "|justified|payapaberry|jolly|4,252,0,0,0,252|quickattack|swordsdance|closecombat|stoneedge": 1, + "|justified|focussash|jolly|0,252,0,0,4,252|stealthrock|taunt|closecombat|stoneedge": 3, + "|justified|focussash|adamant|0,252,4,0,0,252|stealthrock|swordsdance|stoneedge|closecombat": 2, + "|justified|payapaberry|jolly|0,252,0,0,4,252|swordsdance|closecombat|stoneedge|quickattack": 1, + "|justified|airballoon|jolly|0,252,0,0,4,252|closecombat|stoneedge|substitute|swordsdance": 2, + "|justified|rockgem|jolly|0,252,4,0,0,252|taunt|swordsdance|closecombat|stoneedge": 4, + "|justified|focussash|jolly|0,252,0,0,4,252|stealthrock|stoneedge|closecombat|taunt": 1, + "|justified|icegem|naive|0,84,0,168,4,252|taunt|closecombat|hiddenpowerice|stealthrock": 4, + "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock": 12, + "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock": 6, + "|justified|focussash|naive|0,252,0,4,0,252|taunt|closecombat|hiddenpowerice|stealthrock": 1, + "|justified|focussash|jolly|0,252,0,0,4,252|taunt|closecombat|stoneedge|stealthrock": 1, + "|justified|lifeorb|jolly|0,252,0,0,4,252|closecombat|stoneedge|substitute|swordsdance": 2, + "|justified|focussash|jolly|0,252,0,0,4,252|closecombat|stoneedge|taunt|stealthrock": 2, + "|justified|focussash|jolly|0,252,4,0,0,252|closecombat|earthquake|taunt|stealthrock": 3, + "|justified|lifeorb|lonely|0,252,0,16,0,240|closecombat|hiddenpowerice|stoneedge|quickattack": 1, + "|justified|lifeorb|adamant|0,252,4,0,0,252|closecombat|stoneedge|swordsdance|rockpolish": 1, + "|justified|rockgem|jolly|0,252,4,0,0,252|closecombat|stoneedge|swordsdance|protect": 1, + "|justified|rockgem|jolly|0,252,4,0,0,252|substitute|swordsdance|closecombat|stoneedge": 1, + "|justified|lifeorb|hasty|4,252,0,0,0,252|closecombat|stoneedge|hiddenpowerice|quickattack": 1, + "|justified|rockgem|jolly|0,252,0,0,4,252|closecombat|stoneedge|swordsdance|substitute": 1, + "|justified|choiceband|jolly|4,252,0,0,0,252|stoneedge|closecombat|xscissor|quickattack": 1 + }, + "cloyster": { + "|skilllink|nevermeltice|adamant|0,252,4,0,0,252|shellsmash|iciclespear|rapidspin|iceshard": 1, + "|skilllink|hardstone|adamant|32,252,0,0,0,224|iceshard|iciclespear|rockblast|shellsmash": 2, + "|skilllink|hardstone|adamant|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|rapidspin": 1, + "|skilllink|lumberry|adamant|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard": 1, + "|skilllink|king'srock|jolly|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|rapidspin": 2, + "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift": 10, + "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rapidspin|naturalgift": 1, + "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|naturalgift|rockblast": 1, + "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|naturalgift|rapidspin": 1, + "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|naturalgift": 1, + "|skilllink|rockgem|jolly|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard": 3, + "|skilllink|icegem|adamant|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard": 2, + "|skilllink|king'srock|jolly|0,252,4,0,0,252|iciclespear|rockblast|iceshard|shellsmash": 1, + "|skilllink|king'srock|jolly|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard": 1 + }, + "magnezone": { + "|magnetpull|choicespecs|timid|0,0,0,252,4,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon": 1, + "|magnetpull|leftovers|modest|0,0,4,252,0,252|substitute|chargebeam|hiddenpowerice|flashcannon": 3, + "|magnetpull|chopleberry|modest|104,0,0,180,0,224|magiccoat|sunnyday|hiddenpowerfire|thunderbolt": 2, + "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|metalsound|magnetrise": 1, + "|magnetpull|salacberry|timid|0,0,0,252,4,252|substitute|chargebeam|flashcannon|hiddenpowerfire": 3, + "|magnetpull|leftovers|timid|40,0,0,252,0,216|thunderbolt|sunnyday|hiddenpowerfire|magiccoat": 2, + "|magnetpull|chopleberry|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerfire|thunderwave|sunnyday": 2, + "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise": 21, + "|magnetpull|airballoon|timid|0,0,4,252,0,252|magnetrise|thunderbolt|hiddenpowerfire|thunderwave": 1, + "|magnetpull|airballoon|timid|36,0,0,252,0,220|thunderbolt|hiddenpowerfire|sunnyday|magnetrise": 1, + "|magnetpull|choicespecs|modest|36,0,0,252,0,220|thunderbolt|flashcannon|hiddenpowerfire|voltswitch": 1, + "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday": 1, + "|magnetpull|airballoon|timid|4,0,0,252,0,252|hiddenpowerfire|magnetrise|thunderbolt|sunnyday": 3, + "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|thunderwave": 2, + "|magnetpull|airballoon|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise": 3, + "|magnetpull|choicespecs|modest|0,0,0,252,4,252|thunderbolt|voltswitch|flashcannon|hiddenpowerfire": 2, + "|magnetpull|airballoon|modest|0,0,4,252,0,252|hiddenpowerfire|magnetrise|thunderbolt|sunnyday": 2, + "|magnetpull|leftovers|modest|252,0,0,16,88,152|substitute|barrier|chargebeam|hiddenpowerice": 2, + "|magnetpull|salacberry|timid|0,0,0,252,4,252|substitute|chargebeam|hiddenpowerfire|flashcannon": 2, + "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon": 1, + "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday": 7, + "|magnetpull|choicescarf|timid|0,0,4,252,0,252|thunderbolt|flashcannon|voltswitch|hiddenpowerfire": 1, + "|magnetpull|airballoon|modest|76,0,0,252,0,180|magnetrise|thunderbolt|sunnyday|hiddenpowerfire": 1, + "|magnetpull|choicescarf|modest|4,0,0,252,0,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon": 1, + "|magnetpull|choicespecs|modest|36,0,0,252,0,220|voltswitch|thunderbolt|flashcannon|hiddenpowerfire": 1, + "|magnetpull|brightpowder|modest|16,0,0,252,0,240|thunderbolt|flashcannon|hiddenpowerfire|substitute": 1, + "|magnetpull|choicespecs|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerfire|flashcannon|voltswitch": 1 + }, + "heatran": { + "|flashfire|airballoon|timid|0,0,0,252,4,252|stealthrock|taunt|magmastorm|earthpower": 1, + "|flashfire|airballoon|timid|44,0,0,252,0,212|hiddenpowerice|sunnyday|magmastorm|solarbeam": 2, + "|flashfire|leftovers|timid|8,0,0,156,100,244|substitute|protect|lavaplume|toxic": 2, + "|flashfire|airballoon|timid|48,0,4,196,44,216|magmastorm|sunnyday|solarbeam|earthpower": 2, + "|flashfire|airballoon|timid|0,0,0,252,4,252|flamecharge|magmastorm|earthpower|hiddenpowerice": 2, + "|flashfire|leftovers|calm|252,0,0,8,248,0|lavaplume|protect|stealthrock|toxic": 1, + "|flashfire|choicescarf|timid|136,0,0,176,0,196|fireblast|toxic|hiddenpowerice|earthpower": 2, + "|flashfire|airballoon|modest|0,0,4,252,0,252|flamecharge|fireblast|earthpower|hiddenpowerice": 1, + "|flashfire|shucaberry|timid|232,0,0,76,0,200|stealthrock|fireblast|hiddenpowerice|earthpower": 1, + "|flashfire|lifeorb|timid|0,0,4,252,0,252|overheat|flamethrower|hiddenpowergrass|dragonpulse": 1, + "|flashfire|airballoon|modest|144,0,0,152,4,208|magmastorm|sunnyday|solarbeam|hiddenpowerice": 1, + "|flashfire|chopleberry|timid|0,0,4,252,0,252|magmastorm|earthpower|hiddenpowergrass|taunt": 2, + "|flashfire|leftovers|modest|136,0,0,252,0,120|magmastorm|earthpower|hiddenpowergrass|taunt": 1, + "|flashfire|leftovers|timid|56,0,0,112,92,248|substitute|protect|lavaplume|hiddenpowerice": 1, + "|flashfire|leftovers|calm|248,0,0,0,140,120|lavaplume|earthpower|protect|stealthrock": 1, + "|flashfire|leftovers|modest|168,0,0,252,0,88|magmastorm|earthpower|hiddenpowerice|protect": 1, + "|flashfire|leftovers|calm|252,0,0,0,212,44|magmastorm|willowisp|stealthrock|protect": 1, + "|flashfire|leftovers|calm|240,0,0,0,252,16|stealthrock|lavaplume|earthpower|willowisp": 1, + "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|stealthrock|earthpower|willowisp": 1, + "|flashfire|airballoon|calm|252,0,0,4,252,0|lavaplume|stealthrock|willowisp|earthpower": 1, + "|flashfire|airballoon|timid|0,0,0,252,4,252|earthpower|stealthrock|lavaplume|protect": 1, + "|flashfire|choicescarf|timid|88,0,0,220,0,200|fireblast|earthpower|dragonpulse|toxic": 1, + "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|protect": 3, + "|flashfire|choicescarf|timid|52,0,0,252,0,204|fireblast|earthpower|hiddenpowerice|stoneedge": 1, + "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|stealthrock": 1, + "|flashfire|airballoon|modest|8,0,0,252,0,248|fireblast|earthpower|hiddenpowerice|flamecharge": 1, + "|flashfire|airballoon|modest|252,0,0,108,132,16|magmastorm|earthpower|hiddenpowerice|willowisp": 1, + "|flashfire|leftovers|calm|252,0,20,0,236,0|lavaplume|protect|stealthrock|toxic": 1, + "|flashfire|leftovers|calm|248,0,0,0,252,8|stealthrock|lavaplume|earthpower|roar": 1 + }, + "weavile": { + "|pressure|blackbelt|jolly|0,252,0,0,4,252|swordsdance|lowkick|nightslash|iceshard": 1, + "|pickpocket|expertbelt|jolly|0,252,0,0,4,252|icepunch|pursuit|lowkick|nightslash": 3, + "|pressure|lifeorb|jolly|0,252,0,0,4,252|beatup|pursuit|iceshard|lowkick": 1, + "|pressure|darkgem|jolly|0,208,0,0,84,216|pursuit|iceshard|beatup|lowkick": 4, + "|pressure|choiceband|jolly|0,240,0,0,52,216|iceshard|beatup|lowkick|pursuit": 2, + "|pickpocket|fightinggem|jolly|0,252,0,0,4,252|lowkick|swordsdance|iceshard|nightslash": 2, + "|pressure|expertbelt|jolly|0,252,0,0,0,252|swordsdance|iceshard|lowkick|beatup": 2, + "|pressure|choiceband|jolly|0,252,0,0,4,252|lowkick|iceshard|nightslash|icepunch": 2, + "|pressure|muscleband|jolly|0,252,0,0,4,252|fakeout|nightslash|iceshard|lowkick": 2, + "|pressure|expertbelt|jolly|0,252,0,0,4,252|fakeout|pursuit|iceshard|lowkick": 2, + "|pressure|expertbelt|jolly|0,252,40,0,0,216|beatup|pursuit|iceshard|lowkick": 2 + }, + "crustle": { + "|sturdy|lumberry|adamant|0,252,0,0,4,252|shellsmash|earthquake|rockwrecker|aerialace": 1 + }, + "empoleon": { + "|torrent|petayaberry|modest|4,0,0,252,0,252|agility|surf|grassknot|substitute": 1, + "|torrent|petayaberry|timid|0,0,0,252,0,252|substitute|agility|surf|icebeam": 2 + }, + "clamperl": { + "|shellarmor|deepseatooth|timid|12,0,0,252,0,244|shellsmash|surf|icebeam|hiddenpowergrass": 3 + }, + "metagross": { + "|clearbody|choiceband|adamant|252,252,0,0,4,0|pursuit|bulletpunch|hammerarm|meteormash": 3, + "|clearbody|custapberry|jolly|0,252,0,0,4,252|stealthrock|zenheadbutt|icepunch|earthquake": 2, + "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|icepunch|earthquake": 2, + "|clearbody|normalgem|adamant|132,252,0,0,0,124|explosion|stealthrock|meteormash|hammerarm": 3 + }, + "mew": { + "|synchronize|lifeorb|adamant|0,252,0,0,4,252|focuspunch|roost|icepunch|zenheadbutt": 3, + "|synchronize|lumberry|jolly|0,252,4,0,0,252|swordsdance|suckerpunch|zenheadbutt|drainpunch": 4, + "|synchronize|leftovers|timid|252,0,72,0,0,184|taunt|willowisp|softboiled|icebeam": 2, + "|synchronize|normalgem|jolly|0,148,0,0,176,184|stealthrock|tailwind|explosion|taunt": 2, + "|synchronize|lifeorb|adamant|0,252,0,0,4,252|swordsdance|zenheadbutt|drainpunch|suckerpunch": 2, + "|synchronize|leftovers|timid|252,0,0,0,4,252|rockpolish|substitute|taunt|batonpass": 3, + "|synchronize|mentalherb|timid|252,0,4,0,0,252|swordsdance|taunt|batonpass|barrier": 2, + "|synchronize|leftovers|bold|252,0,128,0,128,0|rockpolish|substitute|softboiled|batonpass": 2, + "|synchronize|leftovers|timid|0,0,0,252,4,252|nastyplot|icebeam|aurasphere|psyshock": 2, + "|synchronize|normalgem|jolly|0,252,0,0,4,252|stealthrock|taunt|explosion|tailwind": 2, + "|synchronize|normalgem|jolly|96,252,0,0,0,160|stealthrock|taunt|explosion|tailwind": 1, + "|synchronize|leftovers|bold|252,0,140,0,0,116|icebeam|willowisp|taunt|softboiled": 1 + }, + "bronzong": { + "|levitate|leftovers|sassy|252,0,168,0,88,0|stealthrock|gyroball|hiddenpowerice|earthquake": 6, + "|levitate|leftovers|relaxed|252,0,168,0,88,0|hiddenpowerice|earthquake|stealthrock|protect": 1 + }, + "tornadus": { + "|prankster|leftovers|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|knockoff": 4, + "|prankster|flyinggem|jolly|0,252,0,0,4,252|bulkup|acrobatics|superpower|tailwind": 5, + "|prankster|sharpbeak|timid|0,0,0,252,4,252|uturn|focusblast|hurricane|tailwind": 2, + "|prankster|leftovers|naive|0,4,0,252,0,252|hurricane|superpower|tailwind|uturn": 2, + "|prankster|leftovers|timid|0,0,4,252,0,252|substitute|hurricane|focusblast|protect": 4, + "|prankster|damprock|timid|0,0,0,252,4,252|hurricane|focusblast|uturn|raindance": 1, + "|prankster|flyinggem|jolly|0,252,4,0,0,252|acrobatics|superpower|bulkup|tailwind": 1, + "|defiant|sharpbeak|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|hiddenpowerice": 1, + "|prankster|choicespecs|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|sleeptalk": 2, + "|prankster|choicespecs|timid|4,0,0,252,0,252|hurricane|focusblast|uturn|raindance": 1, + "|prankster|choicespecs|timid|0,0,0,252,4,252|uturn|hurricane|focusblast|tailwind": 1 + }, + "mienshao": { + "|regenerator|choicescarf|hasty|0,252,0,24,0,232|uturn|highjumpkick|hiddenpowerice|rockslide": 2, + "|regenerator|choicescarf|naive|0,224,0,32,0,252|hiddenpowerice|highjumpkick|rockslide|uturn": 1 + }, + "ditto": { + "|imposter|choicescarf|relaxed|252,0,252,0,0,0|transform": 2, + "|imposter|choicescarf|relaxed|252,0,252,0,4,0|transform": 2, + "|imposter|choicescarf|impish|248,8,252,0,0,0|transform": 1, + "|imposter|choicescarf|sassy|252,0,4,0,252,0|transform": 1 + }, + "keldeo": { + "|justified|payapaberry|timid|0,0,0,252,4,252|calmmind|hydropump|secretsword|hiddenpowerghost": 1, + "|justified|leftovers|timid|8,0,0,248,0,252|substitute|protect|secretsword|scald": 3, + "|justified|choicescarf|timid|0,0,0,252,4,252|hydropump|secretsword|hiddenpowerice|surf": 3, + "|justified|leftovers|timid|0,0,4,252,0,252|scald|secretsword|protect|aquajet": 2, + "|justified|choicespecs|timid|0,0,0,244,12,252|surf|secretsword|hiddenpowerbug|hydropump": 1, + "|justified|leftovers|timid|0,0,0,252,4,252|scald|secretsword|hiddenpowerice|toxic": 1, + "|justified|leftovers|timid|0,0,0,252,4,252|scald|secretsword|hiddenpowerice|protect": 1, + "|justified|fightinggem|modest|0,0,0,252,4,252|calmmind|hydropump|focusblast|hiddenpowerghost": 1, + "|justified|choicescarf|timid|4,0,0,252,0,252|surf|hydropump|hiddenpowerice|secretsword": 7, + "|justified|ghostgem|timid|0,0,0,252,4,252|calmmind|hydropump|secretsword|hiddenpowerghost": 3, + "|justified|leftovers|timid|0,0,4,252,0,252|calmmind|substitute|secretsword|hiddenpowerghost": 2, + "|justified|choicespecs|timid|4,0,0,252,0,252|hydropump|icywind|secretsword|toxic": 2, + "|justified|leftovers|timid|0,0,0,252,4,252|roar|scald|secretsword|hydropump": 1, + "|justified|ghostgem|timid|0,0,0,252,4,252|calmmind|surf|secretsword|hiddenpowerghost": 2, + "|justified|leftovers|timid|0,0,0,252,4,252|protect|scald|secretsword|hiddenpowerice": 2, + "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|hiddenpowerghost|secretsword": 6, + "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|hiddenpowergrass|secretsword": 1, + "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|surf|secretsword|hiddenpowerice": 3, + "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|secretsword|icywind|hiddenpowerelectric": 1, + "|justified|fightinggem|timid|4,0,0,252,0,252|hydropump|secretsword|hiddenpowerice|calmmind": 1, + "|justified|fightinggem|timid|0,0,4,252,0,252|hydropump|secretsword|calmmind|hiddenpowerelectric": 1, + "|justified|fightinggem|timid|0,0,4,252,0,252|hydropump|secretsword|calmmind|hiddenpowerice": 1 + }, + "infernape": { + "|blaze|focussash|naive|0,252,0,4,0,252|stealthrock|closecombat|uturn|hiddenpowerice": 1 + }, + "lucario": { + "|justified|lifeorb|jolly|0,252,4,0,0,252|swordsdance|closecombat|extremespeed|icepunch": 1, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat": 12, + "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat": 10, + "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat": 4, + "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|icepunch|closecombat": 1, + "|justified|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|icepunch": 1 + }, + "scrafty": { + "|moxie|chopleberry|jolly|0,252,0,0,4,252|dragondance|highjumpkick|crunch|zenheadbutt": 1, + "|moxie|leftovers|jolly|4,252,0,0,0,252|dragondance|highjumpkick|crunch|icepunch": 1 + }, + "azelf": { + "|levitate|focussash|naive|0,252,0,4,0,252|stealthrock|taunt|flamethrower|explosion": 1, + "|levitate|lightclay|timid|168,0,88,0,0,252|reflect|lightscreen|taunt|stealthrock": 3, + "|levitate|lightclay|hasty|0,252,0,4,0,252|stealthrock|lightscreen|explosion|reflect": 2, + "|levitate|lightclay|timid|168,0,88,0,0,252|reflect|lightscreen|taunt|explosion": 1, + "|levitate|focussash|naive|0,64,0,192,0,252|fireblast|hiddenpowerice|stealthrock|explosion": 1, + "|levitate|focussash|naive|0,36,0,220,0,252|fireblast|hiddenpowerice|explosion|stealthrock": 1 + }, + "kingdra": { + "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dracometeor|surf": 1, + "|swiftswim|lifeorb|modest|40,0,0,240,0,228|raindance|dracometeor|hydropump|surf": 1, + "|swiftswim|choicespecs|modest|16,0,8,252,0,232|dracometeor|hydropump|dragonpulse|hiddenpowerfire": 1, + "|sniper|choicespecs|modest|0,0,0,252,4,252|dracometeor|hiddenpowergrass|icebeam|scald": 1 + }, + "froslass": { + "|cursedbody|focussash|timid|0,0,0,252,0,252|spikes|taunt|icywind|destinybond": 2, + "|cursedbody|colburberry|timid|248,0,0,8,0,252|taunt|spikes|icywind|destinybond": 4, + "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond": 44, + "|cursedbody|colburberry|timid|252,0,0,0,4,252|icywind|taunt|spikes|destinybond": 3, + "|cursedbody|focussash|timid|0,0,0,252,4,252|icywind|spikes|taunt|destinybond": 1, + "|cursedbody|mentalherb|timid|252,0,0,0,4,252|icebeam|destinybond|taunt|spikes": 2, + "|cursedbody|focussash|timid|4,0,0,252,0,252|icebeam|spikes|taunt|destinybond": 1 + }, + "abomasnow": { + "|snowwarning|focussash|mild|0,36,0,252,0,220|woodhammer|blizzard|earthquake|hiddenpowerfire": 2, + "|snowwarning|leftovers|adamant|172,252,0,0,0,84|iceshard|woodhammer|protect|leechseed": 1, + "|snowwarning|focussash|rash|0,36,0,252,0,220|blizzard|woodhammer|earthquake|hiddenpowerfire": 1, + "|snowwarning|focussash|mild|0,40,0,252,0,216|gigadrain|hiddenpowerfire|iceshard|blizzard": 1, + "|snowwarning|leftovers|adamant|40,252,4,0,0,212|protect|woodhammer|focuspunch|iceshard": 1, + "|snowwarning|expertbelt|lonely|0,252,0,172,0,84|woodhammer|iceshard|hiddenpowerfire|protect": 1, + "|snowwarning|expertbelt|lonely|0,244,0,156,0,108|woodhammer|iceshard|hiddenpowerfire|protect": 1, + "|snowwarning|expertbelt|lonely|0,204,0,164,0,140|blizzard|woodhammer|hiddenpowerfire|iceshard": 1, + "|snowwarning|leftovers|adamant|188,252,0,0,0,68|iceshard|leechseed|protect|woodhammer": 1 + }, + "ninetales": { + "|drought|leftovers|timid|248,0,76,0,0,184|flamethrower|sunnyday|willowisp|protect": 2, + "|drought|chestoberry|timid|248,0,0,0,72,188|sunnyday|flamethrower|willowisp|rest": 1, + "|drought|leftovers|timid|248,0,76,0,0,184|willowisp|flamethrower|hiddenpowerground|protect": 2, + "|drought|leftovers|timid|248,0,0,0,76,184|flamethrower|willowisp|sunnyday|protect": 2, + "|drought|leftovers|timid|248,0,0,0,144,116|flamethrower|sunnyday|willowisp|roar": 1, + "|flashfire|leftovers|timid|0,0,0,252,4,252|solarbeam|sunnyday|flamethrower|hiddenpowerice": 1, + "|drought|leftovers|timid|248,0,148,0,0,112|willowisp|flamethrower|roar|protect": 1, + "|drought|leftovers|calm|252,0,0,0,144,112|flamethrower|willowisp|sunnyday|roar": 1, + "|drought|leftovers|calm|252,0,0,0,136,120|flamethrower|willowisp|sunnyday|roar": 1, + "|drought|leftovers|calm|248,0,0,0,216,44|sunnyday|willowisp|hiddenpowerrock|flamethrower": 1, + "|drought|leftovers|modest|120,0,0,252,0,136|hiddenpowerfighting|willowisp|roar|flamethrower": 1 + }, + "dusclops": { + "|pressure|eviolite|bold|252,0,180,0,32,44|nightshade|willowisp|skillswap|rest": 2, + "|pressure|eviolite|calm|248,0,8,0,252,0|willowisp|nightshade|rest|painsplit": 1 + }, + "cresselia": { + "|levitate|leftovers|bold|248,0,252,0,8,0|moonlight|calmmind|icebeam|psyshock": 4, + "|levitate|leftovers|bold|248,0,252,0,8,0|icebeam|toxic|skillswap|moonlight": 1, + "|levitate|leftovers|bold|252,0,252,0,4,0|reflect|psychic|icebeam|moonlight": 1, + "|levitate|leftovers|bold|248,0,252,0,8,0|icebeam|toxic|moonlight|hiddenpowerfire": 1 + }, + "seismitoad": { + "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|refresh|protect|stealthrock": 3, + "|waterabsorb|leftovers|relaxed|252,128,48,0,80,0|scald|refresh|rockslide|stealthrock": 1, + "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|protect|knockoff|refresh": 1, + "|waterabsorb|leftovers|relaxed|248,0,228,0,32,0|stealthrock|earthquake|refresh|scald": 2, + "|waterabsorb|leftovers|bold|248,0,224,0,0,36|scald|refresh|protect|knockoff": 2, + "|waterabsorb|leftovers|calm|248,0,0,0,232,28|scald|refresh|protect|stealthrock": 1, + "|waterabsorb|leftovers|bold|252,0,252,0,0,4|stealthrock|protect|scald|refresh": 2, + "|waterabsorb|leftovers|bold|248,0,224,0,0,36|scald|refresh|knockoff|toxic": 1 + }, + "gliscor": { + "|poisonheal|toxicorb|careful|244,16,0,0,112,136|protect|swordsdance|earthquake|icefang": 4, + "|poisonheal|toxicorb|impish|244,16,116,0,132,0|stealthrock|earthquake|taunt|icefang": 2, + "|poisonheal|toxicorb|impish|244,0,116,0,0,148|earthquake|stealthrock|uturn|roost": 2, + "|poisonheal|toxicorb|impish|244,0,12,0,252,0|stealthrock|protect|uturn|earthquake": 1, + "|poisonheal|toxicorb|impish|244,16,116,0,132,0|stealthrock|earthquake|protect|uturn": 2, + "|poisonheal|toxicorb|impish|244,0,96,0,164,4|swordsdance|earthquake|icefang|protect": 1, + "|poisonheal|toxicorb|careful|244,0,0,0,252,12|stealthrock|knockoff|earthquake|protect": 1, + "|poisonheal|toxicorb|careful|244,0,0,0,252,12|facade|earthquake|swordsdance|roost": 1, + "|poisonheal|toxicorb|jolly|244,0,36,0,0,228|substitute|protect|earthquake|toxic": 1, + "|poisonheal|toxicorb|jolly|244,0,40,0,0,224|earthquake|protect|icefang|taunt": 1, + "|poisonheal|toxicorb|impish|244,20,104,0,140,0|stealthrock|earthquake|protect|uturn": 1, + "|poisonheal|toxicorb|impish|244,20,104,0,140,0|stealthrock|earthquake|uturn|protect": 3, + "|poisonheal|toxicorb|careful|244,0,72,0,192,0|stealthrock|protect|earthquake|icefang": 2, + "|poisonheal|toxicorb|careful|244,0,80,0,184,0|swordsdance|earthquake|facade|protect": 1, + "|poisonheal|toxicorb|impish|244,0,208,0,0,56|earthquake|stealthrock|icefang|protect": 2, + "|poisonheal|toxicorb|careful|244,0,0,0,184,80|earthquake|uturn|stealthrock|protect": 1, + "|poisonheal|toxicorb|careful|244,0,0,0,184,80|earthquake|knockoff|stealthrock|protect": 1, + "|poisonheal|toxicorb|impish|244,0,116,0,0,148|earthquake|uturn|taunt|protect": 2, + "|poisonheal|toxicorb|impish|244,0,192,0,0,72|earthquake|stealthrock|knockoff|protect": 1, + "|poisonheal|toxicorb|jolly|244,0,0,0,128,136|wingattack|protect|toxic|earthquake": 1, + "|poisonheal|toxicorb|impish|252,0,184,0,0,72|earthquake|toxic|protect|substitute": 1, + "|poisonheal|toxicorb|impish|252,0,180,0,0,76|earthquake|toxic|taunt|protect": 1, + "|poisonheal|toxicorb|impish|252,0,252,0,4,0|earthquake|toxic|substitute|protect": 1, + "|poisonheal|toxicorb|impish|252,0,200,0,0,56|earthquake|toxic|substitute|protect": 1, + "|poisonheal|toxicorb|impish|252,0,196,0,0,60|earthquake|toxic|taunt|protect": 1, + "|poisonheal|toxicorb|impish|252,0,36,0,0,220|earthquake|substitute|protect|toxic": 1, + "|poisonheal|toxicorb|impish|252,0,252,0,4,0|roost|counter|knockoff|uturn": 1 + }, + "gengar": { + "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|thunder|hiddenpowerice": 1, + "|levitate|blacksludge|timid|248,0,0,8,0,252|shadowball|focusblast|willowisp|hiddenpowerice": 2, + "|levitate|lifeorb|hasty|0,4,0,252,0,252|thunder|focusblast|suckerpunch|shadowball": 3, + "|levitate|darkgem|lonely|0,252,0,4,0,252|suckerpunch|shadowball|hiddenpowerice|destinybond": 2, + "|levitate|blacksludge|timid|168,0,0,88,0,252|willowisp|trick|substitute|shadowball": 1, + "|levitate|leftovers|timid|168,0,0,88,0,252|shadowball|substitute|willowisp|disable": 1, + "|levitate|blacksludge|timid|248,0,0,8,0,252|trick|shadowball|hiddenpowerice|destinybond": 1, + "|levitate|blacksludge|timid|248,0,0,8,0,252|willowisp|substitute|focusblast|shadowball": 1, + "|levitate|blacksludge|timid|188,0,0,68,0,252|shadowball|focusblast|substitute|willowisp": 1, + "|levitate|blacksludge|timid|4,0,0,252,0,252|shadowball|focusblast|substitute|willowisp": 1, + "|levitate|leftovers|timid|4,0,0,252,0,252|shadowball|focusblast|willowisp|substitute": 1 + }, + "conkeldurr": { + "|guts|flameorb|brave|248,252,0,0,8,0|drainpunch|icepunch|thunderpunch|machpunch": 5, + "|guts|flameorb|adamant|4,252,0,0,0,252|drainpunch|machpunch|icepunch|thunderpunch": 3, + "|sheerforce|lifeorb|adamant|120,252,0,0,116,20|drainpunch|icepunch|thunderpunch|machpunch": 3, + "|sheerforce|lifeorb|adamant|0,252,0,0,0,252|drainpunch|icepunch|thunderpunch|taunt": 3, + "|guts|leftovers|adamant|56,232,0,0,220,0|drainpunch|machpunch|icepunch|thunderpunch": 14, + "|guts|leftovers|adamant|196,120,0,0,188,4|bulkup|drainpunch|machpunch|payback": 1 + }, + "spiritomb": { + "|pressure|leftovers|careful|252,64,0,0,192,0|suckerpunch|pursuit|willowisp|rest": 3 + }, + "gastrodon": { + "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|scald|icebeam|toxic|recover": 2, + "|stormdrain|leftovers|bold|252,0,252,4,0,0|scald|icebeam|toxic|recover": 1, + "|stormdrain|leftovers|impish|252,0,212,0,44,0|earthquake|scald|recover|toxic": 1, + "|stormdrain|leftovers|relaxed|252,0,252,4,0,0|scald|earthquake|toxic|recover": 2, + "|stormdrain|leftovers|bold|252,0,252,4,0,0|recover|toxic|icebeam|scald": 2, + "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|earthquake|icebeam|toxic|recover": 1, + "|stormdrain|leftovers|relaxed|248,0,252,0,8,0|earthquake|icebeam|toxic|recover": 1, + "|stormdrain|leftovers|bold|252,0,200,0,56,0|scald|icebeam|toxic|recover": 2 + }, + "omastar": { + "|weakarmor|airballoon|modest|0,0,0,252,4,252|shellsmash|hydropump|icebeam|hiddenpowergrass": 2, + "|swiftswim|whiteherb|modest|0,0,0,252,4,252|shellsmash|surf|icebeam|hiddenpowergrass": 1 + }, + "milotic": { + "|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|recover|toxic|refresh": 1, + "|marvelscale|leftovers|bold|252,0,244,0,0,12|recover|magiccoat|scald|icebeam": 1 + }, + "gastrodoneast": { + "|stormdrain|leftovers|timid|248,0,32,0,8,220|recover|scald|toxic|substitute": 2, + "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|earthquake|scald|toxic|recover": 1 + }, + "golurk": { + "|ironfist|passhoberry|adamant|252,92,16,0,12,136|shadowpunch|firepunch|stealthrock|icepunch": 2 + }, + "cofagrigus": { + "|mummy|spookyplate|quiet|248,0,0,252,8,0|trickroom|nastyplot|shadowball|hiddenpowerfighting": 2, + "|mummy|leftovers|relaxed|248,0,252,0,8,0|willowisp|painsplit|hex|magiccoat": 2 + }, + "donphan": { + "|sturdy|leftovers|adamant|212,152,144,0,0,0|rapidspin|earthquake|protect|iceshard": 1, + "|sturdy|leftovers|impish|252,4,252,0,0,0|earthquake|iceshard|stealthrock|rapidspin": 1, + "|sturdy|leftovers|impish|252,8,248,0,0,0|earthquake|iceshard|rapidspin|stealthrock": 1 + }, + "chansey": { + "|naturalcure|eviolite|bold|248,0,252,0,4,4|softboiled|stealthrock|thunderwave|seismictoss": 1, + "|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|toxic|stealthrock|softboiled": 1, + "|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|wish|stealthrock|softboiled": 2, + "|naturalcure|eviolite|bold|248,0,252,0,8,0|stealthrock|seismictoss|toxic|softboiled": 1, + "|naturalcure|eviolite|bold|4,0,252,0,252,0|seismictoss|toxic|healbell|softboiled": 1, + "|naturalcure|eviolite|bold|56,0,224,0,228,0|seismictoss|toxic|softboiled|aromatherapy": 1, + "|naturalcure|eviolite|bold|240,0,252,0,16,0|toxic|seismictoss|softboiled|wish": 1 + }, + "darmanitan": { + "|sheerforce|choicescarf|jolly|24,252,4,0,0,228|flareblitz|rockslide|superpower|uturn": 1 + }, + "sableye": { + "|prankster|leftovers|careful|252,4,0,0,252,0|willowisp|taunt|recover|foulplay": 2 + }, + "kyurem": { + "|pressure|leftovers|timid|56,0,0,224,0,228|substitute|protect|icebeam|earthpower": 2, + "|pressure|choicescarf|timid|0,0,0,252,4,252|icebeam|dracometeor|earthpower|focusblast": 1, + "|pressure|leftovers|modest|52,0,0,220,0,236|substitute|roost|blizzard|earthpower": 1, + "|pressure|leftovers|modest|52,0,0,220,0,236|substitute|roost|icebeam|earthpower": 1, + "|pressure|leftovers|mild|76,0,0,252,4,176|icebeam|earthpower|substitute|roost": 1, + "|pressure|leftovers|modest|80,0,0,252,0,176|icebeam|earthpower|substitute|roost": 1, + "|pressure|leftovers|modest|56,0,0,236,0,216|substitute|dragonpulse|blizzard|focusblast": 1 + }, + "shedinja": { + "|wonderguard|lumberry|brave|0,252,0,0,0,0|batonpass|willowisp|protect|shadowsneak": 2 + }, + "azumarill": { + "|hugepower|choiceband|adamant|252,252,0,0,4,0|aquajet|waterfall|superpower|icepunch": 2, + "|hugepower|choiceband|adamant|252,252,0,0,4,0|superpower|aquajet|icepunch|waterfall": 1, + "|hugepower|choiceband|adamant|252,252,4,0,0,0|aquajet|waterfall|icepunch|superpower": 1 + }, + "chandelure": { + "|flamebody|choicescarf|modest|0,0,80,252,0,176|fireblast|shadowball|hiddenpowerfighting|trick": 2, + "|flashfire|airballoon|timid|0,0,4,252,0,252|shadowball|flamethrower|energyball|sunnyday": 2 + }, + "suicune": { + "|pressure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|hiddenpowergrass|tailwind": 2, + "|pressure|leftovers|timid|252,0,0,12,0,244|calmmind|scald|protect|substitute": 2 + }, + "sceptile": { + "|unburden|absorbbulb|modest|88,0,0,252,4,164|dragonpulse|gigadrain|focusblast|hiddenpowerice": 1 + }, + "sharpedo": { + "|speedboost|lifeorb|mild|0,56,0,252,0,200|hydropump|icebeam|earthquake|darkpulse": 2, + "|speedboost|lifeorb|adamant|0,252,0,4,0,252|waterfall|crunch|zenheadbutt|protect": 2 + }, + "togekiss": { + "|serenegrace|salacberry|timid|252,0,0,4,0,252|airslash|aurasphere|nastyplot|substitute": 2 + }, + "toxicroak": { + "|dryskin|lifeorb|adamant|228,252,0,0,0,28|substitute|focuspunch|icepunch|thunderpunch": 1, + "|dryskin|blacksludge|adamant|244,132,120,0,0,12|bulkup|drainpunch|icepunch|substitute": 3, + "|dryskin|blacksludge|adamant|248,248,0,0,0,12|substitute|toxic|focuspunch|suckerpunch": 1, + "|dryskin|lifeorb|adamant|4,252,0,0,0,252|swordsdance|crosschop|icepunch|suckerpunch": 1 + }, + "victini": { + "|victorystar|choicescarf|jolly|252,4,0,0,0,252|vcreate|uturn|boltstrike|finalgambit": 1, + "|victorystar|choicescarf|jolly|0,252,0,0,4,252|vcreate|uturn|boltstrike|glaciate": 1, + "|victorystar|choiceband|jolly|0,252,0,0,4,252|uturn|vcreate|boltstrike|zenheadbutt": 1, + "|victorystar|choicescarf|jolly|4,252,0,0,0,252|vcreate|zenheadbutt|uturn|brickbreak": 1, + "|victorystar|choiceband|adamant|0,252,4,0,0,252|vcreate|uturn|fusionbolt|brickbreak": 1 + }, + "moltres": { + "|pressure|leftovers|timid|88,0,52,176,0,192|hurricane|willowisp|substitute|roost": 2, + "|pressure|choicespecs|modest|0,0,4,252,0,252|hurricane|fireblast|uturn|sleeptalk": 2 + }, + "vaporeon": { + "|hydration|leftovers|calm|248,0,8,0,252,0|aquaring|scald|batonpass|rest": 1, + "|waterabsorb|leftovers|bold|248,0,252,0,0,8|wish|protect|scald|roar": 1 + }, + "shaymin": { + "|naturalcure|leftovers|timid|224,0,0,188,0,96|seedflare|earthpower|hiddenpowerice|rest": 1 + }, + "bisharp": { + "|defiant|lifeorb|adamant|196,252,0,0,0,60|swordsdance|suckerpunch|lowkick|nightslash": 1 + }, + "jynx": { + "|dryskin|leftovers|timid|8,0,0,248,0,252|nastyplot|icebeam|substitute|lovelykiss": 1 + }, + "whimsicott": { + "|prankster|leftovers|careful|252,0,68,0,188,0|encore|uturn|tailwind|memento": 1 + }, + "snorlax": { + "|thickfat|choiceband|adamant|72,252,0,0,184,0|return|pursuit|firepunch|superpower": 1 + }, + "venusaur": { + "|overgrow|leftovers|timid|0,0,0,252,4,252|solarbeam|growth|sunnyday|hiddenpowerfire": 1, + "|chlorophyll|lifeorb|timid|72,0,0,252,4,180|gigadrain|sludgebomb|hiddenpowerfire|growth": 1, + "|chlorophyll|blacksludge|timid|76,0,0,252,4,176|gigadrain|sludgebomb|hiddenpowerice|sleeppowder": 1, + "|chlorophyll|lifeorb|timid|72,0,4,252,0,180|growth|gigadrain|hiddenpowerfire|sludgebomb": 1 + }, + "rhyperior": { + "|lightningrod|leftovers|adamant|252,252,0,0,4,0|stealthrock|earthquake|stoneedge|icefang": 1 + }, + "porygon2": { + "|download|eviolite|quiet|252,0,0,252,4,0|trickroom|thunderbolt|icebeam|thunderwave": 1 + }, + "dugtrio": { + "|arenatrap|focussash|jolly|0,252,0,0,4,252|stealthrock|reversal|earthquake|toxic": 1, + "|arenatrap|focussash|hasty|0,252,0,4,0,252|earthquake|reversal|stealthrock|memento": 2, + "|arenatrap|focussash|hasty|0,252,0,4,0,252|earthquake|reversal|stoneedge|memento": 1, + "|arenatrap|focussash|jolly|0,252,4,0,0,252|stealthrock|earthquake|reversal|stoneedge": 1, + "|arenatrap|focussash|jolly|0,252,0,4,0,252|stealthrock|earthquake|substitute|reversal": 1 + }, + "stoutland": { + "|sandrush|choiceband|adamant|32,252,8,0,0,216|return|superpower|wildcharge|pursuit": 1, + "|sandrush|choiceband|adamant|0,252,4,0,0,252|return|crunch|wildcharge|superpower": 1, + "|sandrush|choiceband|adamant|0,252,4,0,0,252|return|superpower|pursuit|wildcharge": 1 + }, + "gorebyss": { + "|swiftswim|whiteherb|timid|252,0,16,32,88,120|hydropump|shellsmash|substitute|batonpass": 1 + }, + "wobbuffet": { + "|shadowtag|leftovers|bold|28,0,232,0,248,0|counter|mirrorcoat|encore|safeguard": 1 + }, + "landorust": { + "|intimidate|leftovers|impish|200,0,212,0,0,96|stealthrock|uturn|stoneedge|earthquake": 1 + }, + "genesect": { + "|download|choicescarf|hasty|0,92,0,252,0,164|uturn|flamethrower|icebeam|thunderbolt": 1 + }, + "quagsire": { + "|unaware|leftovers|relaxed|248,0,252,0,8,0|recover|scald|earthquake|toxic": 1 + }, + "lilligant": { + "|chlorophyll|leftovers|modest|0,0,72,252,0,184|gigadrain|quiverdance|sleeppowder|hiddenpowerfire": 1 + }, + "jolteon": { + "|voltabsorb|expertbelt|timid|4,0,0,252,0,252|batonpass|substitute|thunder|hiddenpowerice": 1 + }, + "floatzel": { + "|waterveil|choiceband|adamant|0,252,0,0,4,252|waterfall|icefang|lowkick|return": 1 + }, + "ludicolo": { + "|raindish|lifeorb|modest|0,0,0,252,4,252|gigadrain|icebeam|surf|hiddenpowerground": 1 + }, + "roserade": { + "|naturalcure|leftovers|careful|252,0,40,0,24,192|sleeppowder|toxicspikes|gigadrain|hiddenpowerfire": 1 + }, + "rotomheat": { + "|levitate|leftovers|timid|0,0,0,252,4,252|voltswitch|hiddenpowerice|painsplit|willowisp": 1 + }, + "thundurus": { + "|prankster|leftovers|timid|4,0,0,252,0,252|nastyplot|focusblast|substitute|thunder": 1 + }, + "rotomw": { + "|levitate|choicescarf|modest|140,0,0,228,0,140|hiddenpowerice|trick|hydropump|voltswitch": 1 + } + }, + "teams": { + "politoed|thundurustherian|tentacruel|ferrothorn|latios|scizor": [ + { + "politoed": "|drizzle|chestoberry|bold|252,0,156,0,56,44|scald|toxic|encore|rest", + "thundurustherian": "|voltabsorb|leftovers|timid|32,0,0,176,48,252|thunder|hiddenpowerice|focusblast|protect", + "tentacruel": "|raindish|blacksludge|timid|252,0,0,0,68,188|scald|rapidspin|toxic|protect", + "ferrothorn": "|ironbarbs|chopleberry|sassy|252,0,72,0,184,0|stealthrock|spikes|powerwhip|gyroball", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|trick|surf|dragonpulse", + "scizor": "|technician|sitrusberry|adamant|248,216,8,0,36,0|bulletpunch|bugbite|pursuit|uturn" + } + ], + "latios|excadrill|tyranitar|landorustherian|scizor|rotomwash": [ + { + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|trick|surf|dragonpulse", + "excadrill": "|sandforce|choicescarf|jolly|4,244,0,0,8,252|earthquake|ironhead|rockslide|rapidspin", + "tyranitar": "|sandstream|chopleberry|brave|252,28,0,0,224,4|crunch|earthquake|flamethrower|pursuit", + "landorustherian": "|intimidate|leftovers|naive|100,0,156,0,0,252|stealthrock|earthquake|hiddenpowerice|uturn", + "scizor": "|technician|lifeorb|adamant|44,224,4,0,12,224|bulletpunch|quickattack|superpower|swordsdance", + "rotomwash": "|levitate|ejectbutton|calm|252,0,96,0,160,0|voltswitch|hydropump|willowisp|painsplit" + } + ], + "hippowdon|skarmory|bronzong|clefable|latias|reuniclus": [], + "hippowdon|skarmory|jellicent|clefable|latios|alakazam": [], + "tyranitar|landorustherian|ferrothorn|rotomwash|latios|hydreigon": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,168,4|crunch|pursuit|superpower|rockslide", + "landorustherian": "|intimidate|leftovers|naive|168,0,88,0,0,252|stealthrock|earthquake|hiddenpowerice|uturn", + "ferrothorn": "|ironbarbs|lumberry|sassy|248,0,88,0,172,0|spikes|powerwhip|gyroball|knockoff", + "rotomwash": "|levitate|leftovers|bold|248,0,132,0,0,128|willowisp|hydropump|voltswitch|painsplit", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover", + "hydreigon": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|darkpulse|flamethrower|uturn" + } + ], + "tyranitar|forretress|zapdos|amoonguss|slowbro|blissey": [ + { + "tyranitar": "|sandstream|choiceband|adamant|248,252,0,0,8,0|crunch|pursuit|stoneedge|superpower", + "forretress": "|sturdy|leftovers|relaxed|248,8,252,0,0,0|spikes|rapidspin|toxic|gyroball", + "zapdos": "|pressure|leftovers|bold|248,0,148,0,0,112|heatwave|thunderbolt|hiddenpowerice|roost", + "amoonguss": "|regenerator|blacksludge|bold|248,0,220,0,40,0|gigadrain|sludgebomb|clearsmog|hiddenpowerfire", + "slowbro": "|regenerator|leftovers|bold|248,0,252,4,0,4|scald|psychic|icebeam|slackoff", + "blissey": "|naturalcure|leftovers|bold|176,0,252,0,80,0|seismictoss|softboiled|toxic|stealthrock" + } + ], + "tyranitar|skarmory|excadrill|clefable|latias|reuniclus": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|36,48,0,0,172,252|crunch|pursuit|rockslide|superpower", + "skarmory": "|sturdy|rockyhelmet|careful|248,0,0,0,252,8|spikes|drillpeck|whirlwind|roost", + "excadrill": "|sandforce|leftovers|jolly|16,56,12,0,172,252|swordsdance|ironhead|earthquake|rapidspin", + "clefable": "|magicguard|leftovers|calm|252,0,60,0,180,16|stealthrock|seismictoss|thunderwave|softboiled", + "latias": "|levitate|colburberry|timid|148,0,0,108,12,240|dracometeor|surf|thunderwave|roost", + "reuniclus": "|magicguard|sitrusberry|bold|240,0,252,0,8,8|calmmind|psyshock|focusblast|recover" + } + ], + "mamoswine|starmie|politoed|landorustherian|volcarona|jirachi": [ + { + "mamoswine": "|thickfat|nevermeltice|adamant|0,252,0,0,4,252|substitute|earthquake|iciclecrash|iceshard", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunder|rapidspin", + "politoed": "|drizzle|chestoberry|bold|252,0,200,0,56,0|rest|encore|scald|protect", + "landorustherian": "|intimidate|leftovers|naive|240,0,16,0,0,252|stealthrock|earthquake|uturn|hiddenpowerice", + "volcarona": "|flamebody|insectplate|timid|72,0,0,252,0,184|hurricane|quiverdance|bugbuzz|flamethrower", + "jirachi": "|serenegrace|leftovers|sassy|252,0,40,0,216,0|healingwish|icywind|thunder|ironhead" + } + ], + "tyranitar|landorustherian|excadrill|latios|breloom|slowking": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,172,0|crunch|pursuit|thunderwave|superpower", + "landorustherian": "|intimidate|leftovers|naive|240,0,16,0,0,252|stealthrock|earthquake|uturn|hiddenpowerice", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "breloom": "|poisonheal|toxicorb|careful|236,0,0,0,212,60|swordsdance|protect|drainpunch|facade", + "slowking": "|regenerator|leftovers|calm|252,0,76,0,180,0|slackoff|scald|dragontail|fireblast" + } + ], + "darkrai|groudon|hooh|giratinaorigin|espeon|arceus": [ + { + "darkrai": "|baddreams|focussash|timid|0,0,4,252,0,252|darkpulse|darkvoid|thunderwave|taunt", + "groudon": "|drought|leftovers|careful|240,0,0,0,224,44|stealthrock|earthquake|stoneedge|thunderwave", + "hooh": "|regenerator|choiceband|jolly|4,252,0,0,0,252|sacredfire|bravebird|earthquake|sleeptalk", + "giratinaorigin": "|levitate|griseousorb|naive|0,72,144,252,0,40|dracometeor|shadowsneak|hiddenpowerfire|dragontail", + "espeon": "|magicbounce|focussash|timid|0,0,0,252,4,252|psyshock|shadowball|hiddenpowerfighting|grassknot", + "arceus": "|multitype|silkscarf|adamant|132,252,0,0,0,124|swordsdance|extremespeed|shadowclaw|earthquake" + } + ], + "dragonite|xatu|skarmory|gyarados|thundurustherian|honchkrow": [ + { + "dragonite": "|multiscale|lumberry|adamant|8,248,0,0,0,252|dragondance|outrage|firepunch|extremespeed", + "xatu": "|magicbounce|leftovers|impish|252,0,96,0,156,4|roost|uturn|nightshade|reflect", + "skarmory": "|sturdy|leftovers|careful|252,0,0,0,252,4|roost|spikes|whirlwind|bravebird", + "gyarados": "|moxie|metronome|adamant|116,248,0,0,0,144|dragondance|waterfall|bounce|substitute", + "thundurustherian": "|voltabsorb|choicespecs|modest|80,0,0,252,0,176|thunderbolt|hiddenpowerice|focusblast|voltswitch", + "honchkrow": "|superluck|scopelens|adamant|0,248,0,0,132,128|suckerpunch|nightslash|bravebird|superpower" + } + ], + "politoed|blastoise|ferrothorn|keldeoresolute|zapdos|nidoking": [ + { + "politoed": "|drizzle|leftovers|calm|248,0,112,0,140,8|scald|toxic|encore|protect", + "blastoise": "|raindish|leftovers|bold|252,0,252,4,0,0|rapidspin|protect|scald|icebeam", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|powerwhip|stealthrock|spikes|knockoff", + "keldeoresolute": "|justified|choicescarf|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerice", + "zapdos": "|pressure|leftovers|modest|0,0,40,252,0,216|thunder|hiddenpowerice|roost|agility", + "nidoking": "|sheerforce|lifeorb|rash|0,28,0,252,0,228|earthpower|icebeam|thunder|suckerpunch" + } + ], + "latios|latias|alakazam|reuniclus|celebi|jirachi": [ + { + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|trick", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|psyshock", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|psyshock", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,4,0,0|psychic|focusblast|calmmind|recover", + "celebi": "|naturalcure|leftovers|timid|92,0,0,252,0,164|gigadrain|hiddenpowerfire|earthpower|nastyplot", + "jirachi": "|serenegrace|leftovers|jolly|236,0,0,0,108,164|ironhead|firepunch|stealthrock|wish" + } + ], + "amoonguss|slowbro|scizor|skarmory|starmie|blissey": [ + { + "amoonguss": "|regenerator|blacksludge|bold|248,0,220,0,40,0|gigadrain|sludgebomb|hiddenpowerfire|clearsmog", + "slowbro": "|regenerator|leftovers|bold|248,0,252,8,0,0|scald|psychic|icebeam|slackoff", + "scizor": "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|pursuit|superpower", + "skarmory": "|sturdy|leftovers|impish|252,0,232,0,0,24|bravebird|roost|spikes|whirlwind", + "starmie": "|naturalcure|leftovers|timid|252,0,0,4,0,252|scald|rapidspin|thunderbolt|recover", + "blissey": "|naturalcure|leftovers|bold|176,0,252,0,80,0|seismictoss|toxic|softboiled|stealthrock" + } + ], + "garchomp|salamence|kyuremblack|latios|dragonite|haxorus": [ + { + "garchomp": "|roughskin|focussash|jolly|0,252,4,0,0,252|dragonclaw|earthquake|swordsdance|stealthrock", + "salamence": "|moxie|choicescarf|naive|0,252,0,4,0,252|outrage|dragonclaw|earthquake|fireblast", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,108,0,0,148|outrage|dragonclaw|fusionbolt|icebeam", + "latios": "|levitate|habanberry|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|dragonpulse", + "dragonite": "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|extremespeed|firepunch|superpower", + "haxorus": "|moldbreaker|choiceband|adamant|0,252,4,0,0,252|outrage|superpower|earthquake|dualchop" + } + ], + "hippowdon|jellicent|skarmory|alakazam|hydreigon|tyranitar": [ + { + "hippowdon": "|sandstream|leftovers|careful|252,0,12,0,244,0|slackoff|earthquake|stealthrock|whirlwind", + "jellicent": "|waterabsorb|leftovers|timid|248,0,124,0,0,136|taunt|willowisp|recover|nightshade", + "skarmory": "|sturdy|rockyhelmet|impish|252,0,252,0,0,4|roost|spikes|whirlwind|bravebird", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|hiddenpowerice|focusblast|thunderwave", + "hydreigon": "|levitate|lifeorb|modest|0,0,0,252,4,252|dracometeor|roost|darkpulse|focusblast", + "tyranitar": "|sandstream|choicescarf|jolly|0,208,0,0,48,252|pursuit|crunch|icebeam|superpower" + } + ], + "scizor|terrakion|garchomp|latios|cloyster|magnezone": [ + { + "scizor": "|technician|choicescarf|jolly|0,252,0,0,12,244|uturn|pursuit|superpower|bulletpunch", + "terrakion": "|justified|payapaberry|jolly|4,252,0,0,0,252|quickattack|swordsdance|closecombat|stoneedge", + "garchomp": "|roughskin|yacheberry|jolly|0,252,4,0,0,252|stealthrock|outrage|earthquake|swordsdance", + "latios": "|levitate|lumberry|timid|0,0,0,252,4,252|dracometeor|surf|recover|thunder", + "cloyster": "|skilllink|nevermeltice|adamant|0,252,4,0,0,252|shellsmash|iciclespear|rapidspin|iceshard", + "magnezone": "|magnetpull|choicespecs|timid|0,0,0,252,4,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon" + } + ], + "mamoswine|skarmory|tyranitar|latios|jellicent|heatran": [ + { + "mamoswine": "|thickfat|choiceband|adamant|0,252,0,0,4,252|earthquake|iciclecrash|superpower|iceshard", + "skarmory": "|sturdy|leftovers|careful|232,0,0,0,252,24|roost|spikes|whirlwind|bravebird", + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|pursuit|crunch|icepunch|superpower", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|recover|psyshock", + "jellicent": "|waterabsorb|leftovers|timid|248,0,80,0,0,180|taunt|willowisp|recover|nightshade", + "heatran": "|flashfire|airballoon|timid|0,0,0,252,4,252|stealthrock|taunt|magmastorm|earthpower" + } + ], + "weavile|dragonite|volcarona|excadrill|crustle|empoleon": [ + { + "weavile": "|pressure|blackbelt|jolly|0,252,0,0,4,252|swordsdance|lowkick|nightslash|iceshard", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "volcarona": "|flamebody|airballoon|timid|72,0,0,252,0,184|quiverdance|fireblast|bugbuzz|gigadrain", + "excadrill": "|moldbreaker|leftovers|careful|208,0,0,0,252,48|earthquake|rapidspin|toxic|stealthrock", + "crustle": "|sturdy|lumberry|adamant|0,252,0,0,4,252|shellsmash|earthquake|rockwrecker|aerialace", + "empoleon": "|torrent|petayaberry|modest|4,0,0,252,0,252|agility|surf|grassknot|substitute" + } + ], + "clamperl|metagross|weavile|magnezone|latios|terrakion": [ + { + "clamperl": "|shellarmor|deepseatooth|timid|12,0,0,252,0,244|shellsmash|surf|icebeam|hiddenpowergrass", + "metagross": "|clearbody|choiceband|adamant|252,252,0,0,4,0|pursuit|bulletpunch|hammerarm|meteormash", + "weavile": "|pickpocket|expertbelt|jolly|0,252,0,0,4,252|icepunch|pursuit|lowkick|nightslash", + "magnezone": "|magnetpull|leftovers|modest|0,0,4,252,0,252|substitute|chargebeam|hiddenpowerice|flashcannon", + "latios": "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|memento|dragonpulse", + "terrakion": "|justified|focussash|jolly|0,252,0,0,4,252|stealthrock|taunt|closecombat|stoneedge" + } + ], + "mew|mamoswine|breloom|jirachi|hydreigon|rotomwash": [ + { + "mew": "|synchronize|lifeorb|adamant|0,252,0,0,4,252|focuspunch|roost|icepunch|zenheadbutt", + "mamoswine": "|thickfat|focussash|jolly|0,252,0,0,4,252|earthquake|stealthrock|endeavor|iceshard", + "breloom": "|technician|choicescarf|jolly|0,252,0,0,4,252|machpunch|bulletseed|lowsweep|stoneedge", + "jirachi": "|serenegrace|leftovers|modest|4,0,0,252,0,252|calmmind|thunderbolt|psychic|hiddenpowerground", + "hydreigon": "|levitate|choicespecs|modest|0,0,0,252,4,252|dracometeor|darkpulse|focusblast|flamethrower", + "rotomwash": "|levitate|leftovers|modest|252,0,0,124,0,132|voltswitch|hydropump|willowisp|hiddenpowergrass" + } + ], + "garchomp|scizor|starmie|breloom|dragonite|volcarona": [ + { + "garchomp": "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|swordsdance|outrage|earthquake", + "scizor": "|technician|lifeorb|adamant|192,252,0,0,0,64|bulletpunch|quickattack|superpower|swordsdance", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "breloom": "|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|lowsweep", + "dragonite": "|multiscale|lumberry|adamant|0,252,4,0,0,252|dragondance|outrage|earthquake|extremespeed", + "volcarona": "|flamebody|lumberry|timid|0,0,4,252,0,252|quiverdance|fireblast|psychic|bugbuzz" + } + ], + "tyranitar|skarmory|excadrill|amoonguss|bronzong|alakazam": [ + { + "tyranitar": "|sandstream|leftovers|adamant|248,88,0,0,172,0|crunch|pursuit|thunderwave|superpower", + "skarmory": "|sturdy|leftovers|impish|252,0,252,0,4,0|roost|spikes|whirlwind|drillpeck", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "amoonguss": "|regenerator|blacksludge|bold|252,0,252,0,4,0|stunspore|gigadrain|hiddenpowerice|sludgebomb", + "bronzong": "|levitate|leftovers|sassy|252,0,168,0,88,0|stealthrock|gyroball|hiddenpowerice|earthquake", + "alakazam": "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|hiddenpowerice|focusblast|shadowball" + } + ], + "gyarados|politoed|tentacruel|mamoswine|thundurustherian|ferrothorn": [ + { + "gyarados": "|moxie|leftovers|adamant|96,252,0,0,0,156|dragondance|waterfall|bounce|substitute", + "politoed": "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|protect|refresh|encore", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxicspikes|protect", + "mamoswine": "|thickfat|nevermeltice|adamant|0,252,0,0,4,252|substitute|earthquake|iciclecrash|iceshard", + "thundurustherian": "|voltabsorb|leftovers|timid|24,0,0,252,56,176|thunder|hiddenpowerice|focusblast|thunderwave", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,0,0,252,0|spikes|knockoff|powerwhip|stealthrock" + } + ], + "politoed|thundurustherian|ferrothorn|tornadus|alakazam|excadrill": [ + { + "politoed": "|drizzle|choicescarf|timid|4,0,252,0,0,252|hydropump|icebeam|hiddenpowergrass|surf", + "thundurustherian": "|voltabsorb|icegem|modest|128,0,28,252,0,100|agility|thunder|hiddenpowerice|focusblast", + "ferrothorn": "|ironbarbs|rawstberry|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock", + "tornadus": "|prankster|leftovers|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|knockoff", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|signalbeam|hiddenpowerice", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin" + } + ], + "politoed|thundurustherian|ferrothorn|tornadus|alakazam|tentacruel": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,180,0,76,0|scald|protect|refresh|encore", + "thundurustherian": "|voltabsorb|leftovers|timid|36,0,0,252,44,176|thunder|hiddenpowerice|grassknot|focusblast", + "ferrothorn": "|ironbarbs|rawstberry|sassy|252,120,0,0,136,0|stealthrock|knockoff|powerwhip|spikes", + "tornadus": "|prankster|leftovers|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|knockoff", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|signalbeam|hiddenpowerice", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxicspikes|protect" + } + ], + "gyarados|politoed|tentacruel|mamoswine|latios|ferrothorn": [ + { + "gyarados": "|moxie|leftovers|adamant|96,252,0,0,0,156|dragondance|waterfall|bounce|substitute", + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|refresh|encore", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxicspikes|protect", + "mamoswine": "|thickfat|chopleberry|adamant|0,252,0,0,4,252|substitute|earthquake|iciclecrash|iceshard", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,0,0,252,0|spikes|knockoff|powerwhip|stealthrock" + } + ], + "tyranitar|mienshao|rotomwash|excadrill|latios|reuniclus": [ + { + "tyranitar": "|sandstream|brightpowder|adamant|152,104,0,0,252,0|stealthrock|crunch|pursuit|earthquake", + "mienshao": "|regenerator|choicescarf|hasty|0,252,0,24,0,232|uturn|highjumpkick|hiddenpowerice|rockslide", + "rotomwash": "|levitate|leftovers|calm|252,0,0,0,204,52|voltswitch|hydropump|willowisp|painsplit", + "excadrill": "|sandforce|airballoon|jolly|0,252,0,0,4,252|earthquake|rapidspin|swordsdance|rockslide", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover", + "reuniclus": "|magicguard|leftovers|calm|232,0,240,0,16,20|calmmind|thunder|hiddenpowerice|recover" + } + ], + "politoed|ditto|dragonite|tentacruel|celebi|skarmory": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|protect|refresh|encore", + "ditto": "|imposter|choicescarf|relaxed|252,0,252,0,0,0|transform", + "dragonite": "|multiscale|leftovers|mild|0,80,0,252,0,176|hurricane|earthquake|substitute|roost", + "tentacruel": "|raindish|blacksludge|timid|252,0,56,0,0,200|toxic|protect|scald|rapidspin", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,220,36|stealthrock|uturn|recover|psychic", + "skarmory": "|sturdy|rockyhelmet|careful|252,0,4,0,252,0|spikes|whirlwind|roost|pursuit" + } + ], + "skarmory|jellicent|tyranitar|alakazam|landorustherian|excadrill": [ + { + "skarmory": "|sturdy|custapberry|hasty|0,252,0,4,0,252|stealthrock|spikes|taunt|bravebird", + "jellicent": "|waterabsorb|ejectbutton|bold|252,0,136,0,0,120|nightshade|taunt|recover|willowisp", + "tyranitar": "|sandstream|choicescarf|hasty|0,252,0,4,0,252|crunch|pursuit|superpower|icebeam", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|hiddenpowerice|focusblast|thunderwave", + "landorustherian": "|intimidate|yacheberry|adamant|0,252,0,4,0,252|earthquake|gravity|uturn|hiddenpowerice", + "excadrill": "|sandforce|choicescarf|adamant|0,252,0,0,4,252|earthquake|ironhead|rapidspin|rockslide" + } + ], + "politoed|scizor|terrakion|keldeoresolute|latios|empoleon": [ + { + "politoed": "|drizzle|choicespecs|modest|120,0,0,252,0,136|hydropump|scald|icebeam|hiddenpowergrass", + "scizor": "|technician|flyinggem|jolly|0,252,4,0,0,252|swordsdance|bulletpunch|acrobatics|superpower", + "terrakion": "|justified|focussash|adamant|0,252,4,0,0,252|stealthrock|swordsdance|stoneedge|closecombat", + "keldeoresolute": "|justified|choicescarf|timid|0,0,4,252,0,252|secretsword|hydropump|hiddenpowerice|surf", + "latios": "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|surf|psyshock|recover", + "empoleon": "|torrent|petayaberry|timid|0,0,0,252,0,252|substitute|agility|surf|icebeam" + } + ], + "keldeo|terrakion|breloom|infernape|lucario|scrafty": [ + { + "keldeo": "|justified|payapaberry|timid|0,0,0,252,4,252|calmmind|hydropump|secretsword|hiddenpowerghost", + "terrakion": "|justified|payapaberry|jolly|0,252,0,0,4,252|swordsdance|closecombat|stoneedge|quickattack", + "breloom": "|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletseed|machpunch|superpower", + "infernape": "|blaze|focussash|naive|0,252,0,4,0,252|stealthrock|closecombat|uturn|hiddenpowerice", + "lucario": "|justified|lifeorb|jolly|0,252,4,0,0,252|swordsdance|closecombat|extremespeed|icepunch", + "scrafty": "|moxie|chopleberry|jolly|0,252,0,0,4,252|dragondance|highjumpkick|crunch|zenheadbutt" + } + ], + "azelf|starmie|dragonite|weavile|kingdra|scizor": [ + { + "azelf": "|levitate|focussash|naive|0,252,0,4,0,252|stealthrock|taunt|flamethrower|explosion", + "starmie": "|analytic|lifeorb|timid|0,0,4,252,0,252|rapidspin|hydropump|icebeam|thunderbolt", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|superpower|extremespeed", + "weavile": "|pressure|lifeorb|jolly|0,252,0,0,4,252|beatup|pursuit|iceshard|lowkick", + "kingdra": "|swiftswim|lifeorb|modest|4,0,0,252,0,252|raindance|hydropump|dracometeor|surf", + "scizor": "|technician|lifeorb|adamant|0,252,0,0,4,252|bulletpunch|pursuit|superpower|swordsdance" + } + ], + "scizor|magnezone|terrakion|landorustherian|tyranitar|celebi": [ + { + "scizor": "|technician|leftovers|adamant|252,0,0,0,212,44|swordsdance|roost|bulletpunch|uturn", + "magnezone": "|magnetpull|chopleberry|modest|104,0,0,180,0,224|magiccoat|sunnyday|hiddenpowerfire|thunderbolt", + "terrakion": "|justified|airballoon|jolly|0,252,0,0,4,252|closecombat|stoneedge|substitute|swordsdance", + "landorustherian": "|intimidate|leftovers|jolly|248,0,8,0,0,252|earthquake|hiddenpowerice|stealthrock|uturn", + "tyranitar": "|sandstream|electricgem|mild|252,0,0,152,0,104|thunder|icebeam|crunch|pursuit", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,236,20|psychic|recover|batonpass|stealthrock" + } + ], + "landorustherian|reuniclus|tyranitar|excadrill|rotomwash|latios": [ + { + "landorustherian": "|intimidate|leftovers|jolly|248,8,108,0,0,144|stealthrock|earthquake|uturn|smackdown", + "reuniclus": "|magicguard|stickybarb|calm|252,0,96,0,152,8|trick|recover|psychic|thunderwave", + "tyranitar": "|sandstream|shucaberry|brave|252,0,8,48,200,0|icebeam|pursuit|crunch|earthquake", + "excadrill": "|sandforce|leftovers|adamant|156,88,0,0,96,168|earthquake|rapidspin|rockslide|swordsdance", + "rotomwash": "|levitate|leftovers|calm|248,0,36,0,92,132|voltswitch|hiddenpowerice|willowisp|painsplit", + "latios": "|levitate|choicescarf|timid|80,0,0,176,0,252|dracometeor|surf|trick|dragonpulse" + } + ], + "froslass|landorustherian|jellicent|abomasnow|cloyster|jirachi": [ + { + "froslass": "|cursedbody|focussash|timid|0,0,0,252,0,252|spikes|taunt|icywind|destinybond", + "landorustherian": "|intimidate|mentalherb|jolly|0,252,0,4,0,252|stealthrock|earthquake|imprison|explosion", + "jellicent": "|waterabsorb|airballoon|timid|248,0,124,0,0,136|taunt|willowisp|recover|nightshade", + "abomasnow": "|snowwarning|focussash|mild|0,36,0,252,0,220|woodhammer|blizzard|earthquake|hiddenpowerfire", + "cloyster": "|skilllink|hardstone|adamant|32,252,0,0,0,224|iceshard|iciclespear|rockblast|shellsmash", + "jirachi": "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|uturn|ironhead|trick|healingwish" + } + ], + "weavile|skarmory|jellicent|terrakion|latios|garchomp": [ + { + "weavile": "|pressure|darkgem|jolly|0,208,0,0,84,216|pursuit|iceshard|beatup|lowkick", + "skarmory": "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|taunt|bravebird", + "jellicent": "|waterabsorb|ejectbutton|timid|248,0,0,0,44,216|taunt|willowisp|nightshade|recover", + "terrakion": "|justified|rockgem|jolly|0,252,4,0,0,252|taunt|swordsdance|closecombat|stoneedge", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover", + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|dualchop|earthquake|rockslide" + } + ], + "ninetales|latias|blissey|dusclops|cresselia|excadrill": [ + { + "ninetales": "|drought|leftovers|timid|248,0,76,0,0,184|flamethrower|sunnyday|willowisp|protect", + "latias": "|levitate|flameorb|timid|204,0,0,52,0,252|trick|psychoshift|icebeam|recover", + "blissey": "|naturalcure|mail|calm|8,0,252,0,248,0|softboiled|stealthrock|toxic|seismictoss", + "dusclops": "|pressure|eviolite|bold|252,0,180,0,32,44|nightshade|willowisp|skillswap|rest", + "cresselia": "|levitate|leftovers|bold|248,0,252,0,8,0|moonlight|calmmind|icebeam|psyshock", + "excadrill": "|moldbreaker|leftovers|jolly|224,76,0,0,0,208|earthquake|ironhead|protect|rapidspin" + } + ], + "abomasnow|magnezone|forretress|alakazam|latias|seismitoad": [ + { + "abomasnow": "|snowwarning|leftovers|adamant|172,252,0,0,0,84|iceshard|woodhammer|protect|leechseed", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|metalsound|magnetrise", + "forretress": "|sturdy|leftovers|sassy|252,0,4,0,252,0|rapidspin|spikes|voltswitch|gyroball", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|signalbeam|focusblast|encore", + "latias": "|levitate|leftovers|timid|252,0,4,0,0,252|calmmind|roost|dragonpulse|roar", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|refresh|protect|stealthrock" + } + ], + "tyranitar|gliscor|ferrothorn|garchomp|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|careful|248,88,0,0,172,0|crunch|pursuit|superpower|thunderwave", + "gliscor": "|poisonheal|toxicorb|careful|244,16,0,0,112,136|protect|swordsdance|earthquake|icefang", + "ferrothorn": "|ironbarbs|lumberry|impish|248,0,188,0,72,0|spikes|powerwhip|knockoff|thunderwave", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|stealthrock|dracometeor|earthquake|fireblast", + "latios": "|levitate|colburberry|timid|0,0,80,184,0,244|dracometeor|surf|hiddenpowerfire|roost", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|thunderwave" + } + ], + "garchomp|tyranitar|celebi|heatran|landorustherian|alakazam": [ + { + "garchomp": "|roughskin|dragongem|naive|0,4,0,252,0,252|dracometeor|surf/whirlpool|earthquake|flamethrower", + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|stealthrock|pursuit|crunch|superpower", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,236,20|psychic|recover|batonpass|substitute/calmmind", + "heatran": "|flashfire|airballoon|timid|44,0,0,252,0,212|hiddenpowerice|sunnyday|magmastorm|solarbeam", + "landorustherian": "|intimidate|choicescarf|naive|4,252,0,0,0,252|earthquake|uturn|stoneedge|hiddenpowerice", + "alakazam": "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerfire|signalbeam" + } + ], + "gengar|tyranitar|latios|alakazam|landorustherian|ferrothorn": [ + { + "gengar": "|levitate|lifeorb|timid|0,0,0,252,4,252|shadowball|focusblast|thunder|hiddenpowerice", + "tyranitar": "|sandstream|chopleberry|brave|252,88,0,0,170,0|stealthrock|pursuit|crunch|fireblast", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|dragonpulse|surf", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|hiddenpowerfire|psychic|shadowball", + "landorustherian": "|intimidate|leftovers|naive|240,0,16,0,0,252|stealthrock|earthquake|uturn|hiddenpowerice", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock" + } + ], + "tyranitar|garchomp|excadrill|rotomwash|landorustherian|latios": [ + { + "tyranitar": "|sandstream|chopleberry|lonely|64,88,0,0,252,104|crunch|pursuit|icebeam|fireblast", + "garchomp": "|roughskin|choiceband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|outrage", + "excadrill": "|sandforce|leftovers|adamant|156,88,0,0,136,128|ironhead|earthquake|protect|rapidspin", + "rotomwash": "|levitate|leftovers|calm|248,0,0,0,252,8|willowisp|hydropump|voltswitch|painsplit", + "landorustherian": "|intimidate|leftovers|naive|248,8,108,0,0,144|stealthrock|earthquake|uturn|hiddenpowerice", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|recover" + } + ], + "conkeldurr|reuniclus|jirachi|rotomwash|latios|dragonite": [ + { + "conkeldurr": "|guts|flameorb|brave|248,252,0,0,8,0|drainpunch|icepunch|thunderpunch|machpunch", + "reuniclus": "|magicguard|lifeorb|quiet|124,0,0,232,152,0|psychic|focusblast|recover|trickroom", + "jirachi": "|serenegrace|shucaberry|sassy|248,0,44,0,216,0|stealthrock|ironhead|uturn|trickroom", + "rotomwash": "|levitate|leftovers|calm|248,0,92,0,168,0|voltswitch|hydropump|painsplit|willowisp", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|memento", + "dragonite": "|multiscale|choiceband|adamant|144,252,0,0,0,112|extremespeed|outrage|superpower|dragonclaw" + } + ], + "tyranitar|latios|heatran|celebi|jellicent|gliscor": [ + { + "tyranitar": "|sandstream|custapberry|lonely|64,88,0,0,252,104|crunch|pursuit|icebeam|fireblast", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|roost", + "heatran": "|flashfire|leftovers|timid|8,0,0,156,100,244|substitute|protect|lavaplume|toxic", + "celebi": "|naturalcure|leftovers|timid|248,0,0,160,0,100|gigadrain|hiddenpowerice|nastyplot|recover", + "jellicent": "|waterabsorb|leftovers|timid|240,0,128,0,0,140|nightshade|taunt|recover|willowisp", + "gliscor": "|poisonheal|toxicorb|impish|244,16,116,0,132,0|stealthrock|earthquake|taunt|icefang" + } + ], + "spiritomb|excadrill|ferrothorn|keldeo|latios|tyranitar": [ + { + "spiritomb": "|pressure|leftovers|careful|252,64,0,0,192,0|suckerpunch|pursuit|willowisp|rest", + "excadrill": "|sandforce|leftovers|jolly|0,116,0,0,140,252|earthquake|ironhead|rapidspin|protect", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,88,0,168,0|spikes|stealthrock|thunderwave/explosion|powerwhip", + "keldeo": "|justified|leftovers|timid|8,0,0,248,0,252|substitute|protect|secretsword|scald", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|recover|hiddenpowerfire", + "tyranitar": "|sandstream|choicescarf|hasty|0,244,0,12,0,252|pursuit|crunch|icebeam|superpower" + } + ], + "spiritomb|excadrill|skarmory|keldeo|latios|tyranitar": [ + { + "spiritomb": "|pressure|leftovers|careful|252,64,0,0,192,0|suckerpunch|pursuit|willowisp|rest", + "excadrill": "|sandforce|leftovers|jolly|0,116,0,0,140,252|earthquake|ironhead|rapidspin|stealthrock", + "skarmory": "|keeneye|rockyhelmet|careful|232,0,24,0,252,0|spikes|bravebird|roost|whirlwind", + "keldeo": "|justified|leftovers|timid|8,0,0,248,0,252|substitute|protect|secretsword|scald", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|recover|hiddenpowerfire", + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|pursuit|crunch|stealthrock|superpower" + } + ], + "mew|garchomp|keldeoresolute|jirachi|latios|latias": [ + { + "mew": "|synchronize|lumberry|jolly|0,252,4,0,0,252|swordsdance|suckerpunch|zenheadbutt|drainpunch", + "garchomp": "|roughskin|lifeorb|hasty|0,4,0,252,0,252|stealthrock|earthquake|dracometeor|fireblast", + "keldeoresolute": "|justified|lumberry|timid|0,0,4,252,0,252|calmmind|secretsword|hydropump|icywind", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,4,0,0,252|healingwish|uturn|ironhead|icepunch", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|roost|dracometeor|surf", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|thunderwave|healingwish|dracometeor|surf" + } + ], + "froslass|latios|scizor|garchomp|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|248,0,0,8,0,252|taunt|spikes|icywind|destinybond", + "latios": "|levitate|lifeorb|hasty|0,4,0,252,0,252|dracometeor|hiddenpowerfire|earthquake|memento", + "scizor": "|technician|lifeorb|adamant|72,252,0,0,0,184|bulletpunch|swordsdance|superpower|pursuit", + "garchomp": "|roughskin|yacheberry|jolly|0,252,0,0,4,252|stealthrock|swordsdance|outrage|earthquake", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|signalbeam|hiddenpowerice", + "dragonite": "|multiscale|yacheberry|adamant|0,252,4,0,0,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "tyranitar|gliscor|heatran|mew|excadrill|latios": [ + { + "tyranitar": "|sandstream|chopleberry|lonely|8,144,0,76,168,112|crunch|pursuit|fireblast|thunderwave", + "gliscor": "|poisonheal|toxicorb|impish|244,0,116,0,0,148|earthquake|stealthrock|uturn|roost", + "heatran": "|flashfire|airballoon|timid|48,0,4,196,44,216|magmastorm|sunnyday|solarbeam|earthpower", + "mew": "|synchronize|leftovers|timid|252,0,72,0,0,184|taunt|willowisp|softboiled|icebeam", + "excadrill": "|moldbreaker|leftovers|careful|96,28,132,0,216,36|earthquake|rapidspin|rocktomb|swordsdance", + "latios": "|levitate|dragongem|timid|0,0,4,252,0,252|calmmind|dracometeor|recover|dragonpulse" + } + ], + "tyranitar|landorustherian|celebi|excadrill|mamoswine|rotomwash": [ + { + "tyranitar": "|sandstream|tangaberry|careful|248,8,0,0,252,0|rockslide|pursuit|crunch|earthquake", + "landorustherian": "|intimidate|choicescarf|lax|184,72,20,0,0,232|punishment|earthquake|uturn|hiddenpowerice", + "celebi": "|naturalcure|leftovers|timid|248,0,0,0,68,192|nastyplot|leafstorm|hiddenpowerfire|recover", + "excadrill": "|moldbreaker|leftovers|careful|0,0,140,0,252,116|earthquake|rapidspin|stealthrock|protect", + "mamoswine": "|thickfat|leftovers|adamant|0,252,0,0,4,252|knockoff|earthquake|iciclecrash|iceshard", + "rotomwash": "|levitate|leftovers|calm|248,0,100,0,160,0|hydropump|voltswitch|willowisp|painsplit" + } + ], + "mew|landorustherian|magnezone|tornadus|latios|jirachi": [ + { + "mew": "|synchronize|normalgem|jolly|0,148,0,0,176,184|stealthrock|tailwind|explosion|taunt", + "landorustherian": "|intimidate|normalgem|naughty|0,252,0,4,0,252|swordsdance|earthquake|hiddenpowerice|return", + "magnezone": "|magnetpull|salacberry|timid|0,0,0,252,4,252|substitute|chargebeam|flashcannon|hiddenpowerfire", + "tornadus": "|prankster|flyinggem|jolly|0,252,0,0,4,252|bulkup|acrobatics|superpower|tailwind", + "latios": "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|recover|tailwind", + "jirachi": "|serenegrace|choicescarf|jolly|0,80,0,0,176,252|ironhead|icepunch|healingwish|uturn" + } + ], + "tyranitar|garchomp|skarmory|latias|alakazam|magnezone": [ + { + "tyranitar": "|sandstream|lumberry|careful|252,0,0,0,252,4|crunch|pursuit|earthquake|rest", + "garchomp": "|roughskin|choicescarf|jolly|0,252,4,0,0,252|earthquake|dualchop|stealthrock|stoneedge", + "skarmory": "|sturdy|leftovers|impish|248,0,36,0,224,0|bravebird|spikes|whirlwind|roost", + "latias": "|levitate|leftovers|timid|248,0,0,8,0,252|dracometeor|roost|refresh|calmmind", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|grassknot", + "magnezone": "|magnetpull|leftovers|timid|40,0,0,252,0,216|thunderbolt|sunnyday|hiddenpowerfire|magiccoat" + } + ], + "tyranitar|jirachi|alakazam|landorustherian|excadrill|hydreigon": [ + { + "tyranitar": "|sandstream|tangaberry|adamant|248,88,0,0,172,0|pursuit|crunch|rockslide|superpower", + "jirachi": "|serenegrace|choicescarf|jolly|72,248,0,0,0,188|trick|ironhead|icepunch|uturn", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|signalbeam", + "landorustherian": "|intimidate|leftovers|lax|8,0,252,0,4,244|stealthrock|earthquake|uturn|hiddenpowerice", + "excadrill": "|moldbreaker|leftovers|careful|216,0,22,0,248,22|earthquake|toxic|rapidspin|protect", + "hydreigon": "|levitate|choicespecs|modest|16,0,4,252,0,236|dracometeor|darkpulse|earthpower|flamethrower" + } + ], + "tyranitar|gastrodon|zapdos|excadrill|scizor|garchomp": [ + { + "tyranitar": "|sandstream|tangaberry|careful|252,4,0,0,252,0|crunch|pursuit|earthquake|thunderwave", + "gastrodon": "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|scald|icebeam|toxic|recover", + "zapdos": "|pressure|leftovers|bold|252,0,252,0,0,4|voltswitch|heatwave|hiddenpowerice|roost", + "excadrill": "|sandforce|airballoon|jolly|0,252,4,0,0,252|earthquake|ironhead|stealthrock|rapidspin", + "scizor": "|technician|fightinggem|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|pursuit|superpower", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|fireblast" + } + ], + "garchomp|ferrothorn|politoed|volcarona|latias|tentacruel": [ + { + "garchomp": "|roughskin|leftovers|naive|0,252,0,4,0,252|swordsdance|dragonclaw|earthquake|aquatail", + "ferrothorn": "|ironbarbs|leftovers|sassy|248,0,68,0,192,0|spikes|knockoff|gyroball|stealthrock", + "politoed": "|drizzle|leftovers|bold|248,0,132,0,40,64|scald|protect|icebeam|encore", + "volcarona": "|flamebody|psychicgem|modest|80,0,36,192,0,200|quiverdance|bugbuzz|psychic|hiddenpowerwater", + "latias": "|levitate|choicescarf|timid|116,0,0,140,0,252|trick|surf|healingwish|dragonpulse", + "tentacruel": "|raindish|blacksludge|timid|248,0,72,0,4,184|scald|rapidspin|toxicspikes|protect" + } + ], + "ferrothorn|politoed|tentacruel|keldeo|thundurustherian|weavile": [ + { + "ferrothorn": "|ironbarbs|ejectbutton|careful|252,0,8,0,248,0|stealthrock|spikes|knockoff|powerwhip", + "politoed": "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|toxic|protect|encore", + "tentacruel": "|raindish|blacksludge|timid|252,0,0,0,64,192|substitute|scald|protect|rapidspin", + "keldeo": "|justified|choicescarf|timid|0,0,0,252,4,252|hydropump|secretsword|hiddenpowerice|surf", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,44,140,4,216|thunder|hiddenpowerice|focusblast|protect", + "weavile": "|pressure|choiceband|jolly|0,240,0,0,52,216|iceshard|beatup|lowkick|pursuit" + } + ], + "tyranitar|skarmory|landorustherian|excadrill|celebi|heatran": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|pursuit|crunch|superpower|icebeam", + "skarmory": "|sturdy|rockyhelmet|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|superpower|hiddenpowerice", + "excadrill": "|sandforce|leftovers|jolly|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,220,36|stealthrock|psychic|batonpass|recover", + "heatran": "|flashfire|airballoon|timid|0,0,0,252,4,252|flamecharge|magmastorm|earthpower|hiddenpowerice" + }, + { + "tyranitar": "|sandstream|choicescarf|jolly|4,252,0,0,0,252|pursuit|crunch|superpower|icebeam", + "skarmory": "|sturdy|rockyhelmet|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "landorustherian": "|intimidate|leftovers|naive|48,252,0,0,0,208|substitute|earthquake|smackdown|hiddenpowerice", + "excadrill": "|sandforce|leftovers|jolly|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,220,36|stealthrock|psychic|batonpass|recover", + "heatran": "|flashfire|airballoon|timid|0,0,0,252,4,252|flamecharge|magmastorm|earthpower|hiddenpowerice" + } + ], + "tyranitar|ferrothorn|latios|landorustherian|rotomwash|garchomp": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,252,0|stealthrock|pursuit|crunch|superpower", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|superpower|hiddenpowerice", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stealthrock" + } + ], + "tyranitar|skarmory|landorustherian|seismitoad|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|pursuit|crunch|earthquake|thunderwave", + "skarmory": "|sturdy|leftovers|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|superpower|hiddenpowerice", + "seismitoad": "|waterabsorb|leftovers|relaxed|252,128,48,0,80,0|scald|refresh|rockslide|stealthrock", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|hiddenpowerfire|recover", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|grassknot|hiddenpowerice" + } + ], + "tyranitar|skarmory|landorustherian|seismitoad|xatu|garchomp": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,252,0|pursuit|crunch|earthquake|thunderwave", + "skarmory": "|sturdy|leftovers|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|superpower|hiddenpowerice", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|refresh|protect|stealthrock", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|roost|nightshade|reflect|uturn", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|firefang" + } + ], + "garchomp|tornadus|politoed|jirachi|tentacruel|ferrothorn": [ + { + "garchomp": "|roughskin|yacheberry|jolly|0,252,0,0,4,252|dualchop|outrage|earthquake|swordsdance", + "tornadus": "|prankster|sharpbeak|timid|0,0,0,252,4,252|uturn|focusblast|hurricane|tailwind", + "politoed": "|drizzle|leftovers|calm|252,0,80,0,176,0|scald|protect|toxic|encore", + "jirachi": "|serenegrace|leftovers|timid|252,0,0,56,0,200|substitute|calmmind|thunder|hiddenpowerice", + "tentacruel": "|raindish|blacksludge|timid|248,0,0,0,72,188|protect|scald|toxicspikes|rapidspin", + "ferrothorn": "|ironbarbs|rawstberry|impish|252,0,148,0,108,0|powerwhip|knockoff|stealthrock|spikes" + } + ], + "jirachi|garchomp|magnezone|omastar|latios|keldeo": [ + { + "jirachi": "|serenegrace|leftovers|calm|252,0,80,0,176,0|stealthrock|energyball|icywind|uturn", + "garchomp": "|roughskin|dragongem|jolly|0,252,0,0,4,252|swordsdance|outrage|earthquake|dragonclaw", + "magnezone": "|magnetpull|chopleberry|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerfire|thunderwave|sunnyday", + "omastar": "|weakarmor|airballoon|modest|0,0,0,252,4,252|shellsmash|hydropump|icebeam|hiddenpowergrass", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|roost", + "keldeo": "|justified|leftovers|timid|0,0,4,252,0,252|scald|secretsword|protect|aquajet" + } + ], + "tyranitar|jirachi|celebi|landorustherian|magnezone|garchomp": [ + { + "tyranitar": "|sandstream|lumberry|jolly|0,248,0,0,8,252|dragondance|crunchicebeam|superpower|stoneedge", + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,252,4|ironhead|bodyslam|wish|uturn", + "celebi": "|naturalcure|leftovers|calm|252,0,68,0,188,0|psychic|recover|batonpass|healingwishfuturesight", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stealthrock" + }, + { + "tyranitar": "|sandstream|lumberry|jolly|0,248,0,0,8,252|dragondance|crunch/icebeam|superpower|stoneedge", + "jirachi": "|serenegrace|leftovers|careful|252,0,0,0,252,4|ironhead|bodyslam|wish|uturn", + "celebi": "|naturalcure|leftovers|calm|252,0,68,0,188,0|psychic|recover|batonpass|healingwish/futuresight", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stealthrock" + } + ], + "politoed|ferrothorn|tentacruel|garchomp|latios|tornadus": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,180,0,0,76|scald|toxic|protect|encore", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,4,0,252,0|powerwhip|stealthrock|spikes|knockoff", + "tentacruel": "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxic|rapidspin|protect", + "garchomp": "|roughskin|dragongem|jolly|0,252,4,0,0,252|swordsdance|substitute|earthquake|outrage", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|trick|dracometeor|dragonpulse|surf", + "tornadus": "|prankster|leftovers|naive|0,4,0,252,0,252|hurricane|superpower|tailwind|uturn" + } + ], + "abomasnow|landorustherian|cloyster|volcarona|dragonite|jirachi": [ + { + "abomasnow": "|snowwarning|focussash|rash|0,36,0,252,0,220|blizzard|woodhammer|earthquake|hiddenpowerfire", + "landorustherian": "|intimidate|focussash|jolly|0,252,0,0,4,252|imprison|stealthrock|earthquake|explosion", + "cloyster": "|skilllink|hardstone|adamant|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|rapidspin", + "volcarona": "|flamebody|lumberry|timid|68,0,0,252,0,188|quiverdance|bugbuzz|fireblast|hiddenpowerground", + "dragonite": "|multiscale|leftovers|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "jirachi": "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|ironhead|uturn|trick|healingwish" + } + ], + "garchomp|terrakion|starmie|dragonite|scizor|breloom": [ + { + "garchomp": "|roughskin|focussash|adamant|0,252,0,0,4,252|earthquake|outrage|swordsdance|firefang", + "terrakion": "|justified|focussash|jolly|0,252,0,0,4,252|stealthrock|stoneedge|closecombat|taunt", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunder|rapidspin", + "dragonite": "|multiscale|yacheberry|adamant|0,252,0,0,4,252|dragondance|outrage|extremespeed|firepunch", + "scizor": "|technician|lifeorb|jolly|40,252,0,0,0,216|swordsdance|bulletpunch|superpower|pursuit", + "breloom": "|technician|lifeorb|adamant|0,252,0,0,4,252|lowsweep|machpunch|bulletseed|swordsdance" + } + ], + "garchomp|volcarona|dragonite|breloom|starmie|scizor": [ + { + "garchomp": "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|outrage|earthquake|swordsdance", + "volcarona": "|flamebody|insectplate|timid|72,0,0,252,0,184|quiverdance|bugbuzz|fireblast|psychic", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "breloom": "|technician|lifeorb|adamant|4,252,0,0,0,252|bulletseed|machpunch|lowsweep|swordsdance", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "scizor": "|technician|lifeorb|adamant|40,252,0,0,0,216|swordsdance|pursuit|bulletpunch|superpower" + } + ], + "politoed|kyuremblack|starmie|ferrothorn|garchomp|latios": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,96,0,160,0|scald|protect|toxic|encore", + "kyuremblack": "|teravolt|powerherb|adamant|56,252,52,0,0,148|substitute|outrage|fusionbolt|freezeshock", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunder|rapidspin", + "ferrothorn": "|ironbarbs|leftovers|relaxed|248,0,8,0,252,0|spikes|knockoff|powerwhip|gyroball", + "garchomp": "|roughskin|yacheberry|jolly|0,252,0,0,4,252|stealthrock|swordsdance|earthquake|outrage", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|psyshock|surf|trick" + } + ], + "politoed|starmie|thundurustherian|garchomp|ferrothorn|keldeo": [ + { + "politoed": "|drizzle|ejectbutton|calm|252,0,112,0,136,8|scald|toxic|thief|encore", + "starmie": "|analytic|airballoon|timid|12,0,8,236,0,252|hydropump|icebeam|thunder|rapidspin", + "thundurustherian": "|voltabsorb|yacheberry|modest|88,0,0,236,72,112|agility|thunder|hiddenpowerice|grassknot", + "garchomp": "|roughskin|choicescarf|jolly|8,244,4,0,0,252|outrage|earthquake|rockslide|dualchop", + "ferrothorn": "|ironbarbs|chopleberry|sassy|252,0,4,0,252,0|stealthrock|powerwhip|gyroball|knockoff", + "keldeo": "|justified|choicespecs|timid|0,0,0,244,12,252|surf|secretsword|hiddenpowerbug|hydropump" + } + ], + "politoed|tentacruel|ferrothorn|keldeoresolute|thundurustherian|latios": [ + { + "politoed": "|drizzle|leftovers|calm|248,0,112,0,140,8|scald|toxic|encore|protect", + "tentacruel": "|raindish|blacksludge|timid|248,0,68,0,0,192|scald|toxic|rapidspin|protect", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|powerwhip|stealthrock|spikes|knockoff", + "keldeoresolute": "|justified|choicescarf|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerice", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,144,48,4,208|substitute|thunder|hiddenpowerice|focusblast", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|dragonpulse|trick" + } + ], + "politoed|ferrothorn|tentacruel|jirachi|thundurustherian|latios": [ + { + "politoed": "|drizzle|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|encore|toxic", + "ferrothorn": "|ironbarbs|lumberry|brave|252,208,48,0,0,0|powerwhip|gyroball|stealthrock|spikes", + "tentacruel": "|raindish|blacksludge|timid|252,0,0,0,68,188|scald|toxic|protect|rapidspin", + "jirachi": "|serenegrace|leftovers|timid|252,0,72,0,0,184|calmmind|substitute|thunder|hiddenpowerice", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,0,252,56,176|thunder|hiddenpowerice|focusblast|agility", + "latios": "|levitate|lumberry|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|roost" + } + ], + "tyranitar|mamoswine|keldeo|amoonguss|gliscor|excadrill": [ + { + "tyranitar": "|sandstream|chopleberry|brave|252,88,20,0,144,4|pursuit|crunch|icebeam|superpower", + "mamoswine": "|thickfat|choiceband|adamant|0,252,0,0,4,252|earthquake|iciclecrash|superpower|iceshard", + "keldeo": "|justified|leftovers|timid|0,0,0,252,4,252|scald|secretsword|hiddenpowerice|toxic", + "amoonguss": "|regenerator|blacksludge|calm|240,0,40,0,220,8|sludgebomb|hiddenpowerfire|gigadrain|stunspore", + "gliscor": "|poisonheal|toxicorb|impish|244,0,12,0,252,0|stealthrock|protect|uturn|earthquake", + "excadrill": "|sandforce|leftovers|jolly|140,0,20,0,96,252|earthquake|ironhead|protect|rapidspin" + } + ], + "tyranitar|landorustherian|excadrill|garchomp|celebi|rotomwash": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|pursuit|superpower|rockslide", + "landorustherian": "|intimidate|leftovers|naive|0,252,4,0,0,252|smackdown|earthquake|hiddenpowerice|substitute", + "excadrill": "|sandforce|leftovers|adamant|32,56,0,0,228,192|earthquake|ironhead|rapidspin|swordsdance", + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|dualchop|stealthrock", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,240,16|stealthrock|psychic|batonpass|recover", + "rotomwash": "|levitate|leftovers|bold|252,0,200,0,56,0|willowisp|voltswitch|hydropump|painsplit" + } + ], + "alakazam|skarmory|tyranitar|mamoswine|jellicent|excadrill": [ + { + "alakazam": "|magicguard|lifeorb|timid|0,0,88,192,0,228|psychic|grassknot|shadowball|hiddenpowerfire", + "skarmory": "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|thief", + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,248,4|crunch|superpower|thunderwave|pursuit", + "mamoswine": "|thickfat|nevermeltice|adamant|4,244,0,0,80,180|iceshard|earthquake|superpower|iciclecrash", + "jellicent": "|waterabsorb|airballoon|bold|252,0,160,0,0,96|taunt|nightshade|willowisp|recover", + "excadrill": "|sandforce|choicescarf|jolly|4,244,0,0,8,252|earthquake|ironhead|rockslide|rapidspin" + } + ], + "hippowdon|ferrothorn|magnezone|latios|excadrill|reuniclus": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,32,0,224,0|stealthrock|earthquake|slackoff|whirlwind", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,96,0,160,0|spikes|leechseed|powerwhip|protect", + "magnezone": "|magnetpull|airballoon|timid|0,0,4,252,0,252|magnetrise|thunderbolt|hiddenpowerfire|thunderwave", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover", + "excadrill": "|sandforce|choicescarf|adamant|0,252,0,0,4,252|rapidspin|ironhead|earthquake|rockslide", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|thunder|hiddenpowerice|recover" + } + ], + "tyranitar|alakazam|latios|ferrothorn|keldeo|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|brave|248,44,0,44,172,0|crunch|flamethrower|thunderwave|pursuit", + "alakazam": "|magicguard|lifeorb|timid|0,0,88,188,0,232|psychic|grassknot|hiddenpowerfire|shadowball", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|psyshock|surf|trick", + "ferrothorn": "|ironbarbs|rawstberry|relaxed|248,0,8,0,252,0|spikes|knockoff|powerwhip|gyroball", + "keldeo": "|justified|leftovers|timid|0,0,0,252,4,252|scald|secretsword|hiddenpowerice|protect", + "landorustherian": "|intimidate|leftovers|naive|100,0,156,0,0,252|stealthrock|earthquake|hiddenpowerice|uturn" + } + ], + "politoed|ferrothorn|mamoswine|latios|thundurustherian|tentacruel": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,212,0,16,28|scald|protect|toxic|encore", + "ferrothorn": "|ironbarbs|lumberry|impish|252,0,24,0,232,0|stealthrock|spikes|powerwhip|knockoff", + "mamoswine": "|thickfat|choiceband|adamant|0,252,0,0,4,252|iciclecrash|iceshard|earthquake|superpower", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|psyshock", + "thundurustherian": "|voltabsorb|leftovers|timid|24,0,28,192,56,208|thunder|hiddenpowerice|focusblast|uturn", + "tentacruel": "|raindish|blacksludge|timid|252,0,248,0,0,8|scald|protect|rapidspin|toxic" + } + ], + "garchomp|magnezone|dragonite|cloyster|starmie|jirachi": [ + { + "garchomp": "|roughskin|focussash|adamant|4,252,0,0,0,252|swordsdance|earthquake|outrage|stealthrock", + "magnezone": "|magnetpull|airballoon|timid|36,0,0,252,0,220|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "cloyster": "|skilllink|lumberry|adamant|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "jirachi": "|serenegrace|choicescarf|adamant|60,176,0,0,76,196|uturn|ironhead|trick|healingwish" + } + ], + "alakazam|garchomp|ferrothorn|landorustherian|jellicent|tyranitar": [ + { + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|encore|shadowball", + "garchomp": "|roughskin|choiceband|adamant|0,252,0,0,4,252|outrage|earthquake|firefang|dualchop", + "ferrothorn": "|ironbarbs|leftovers|sassy|248,0,112,0,148,0|gyroball|leechseed|protect|spikes", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|superpower|uturn|hiddenpowerice", + "jellicent": "|waterabsorb|leftovers|bold|248,0,236,0,0,24|scald|willowisp|taunt|recover", + "tyranitar": "|sandstream|expertbelt|lonely|0,144,0,156,0,208|crunch|fireblast|superpower|stealthrock" + }, + { + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|encore|shadowball", + "garchomp": "|roughskin|choiceband|adamant|0,252,0,0,4,252|outrage|earthquake|firefang|dualchop", + "ferrothorn": "|ironbarbs|leftovers|sassy|248,0,112,0,148,0|gyroball|leechseed|protect|spikes", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|stoneedge|uturn|hiddenpowerice", + "jellicent": "|waterabsorb|leftovers|bold|248,0,236,0,0,24|scald|willowisp|taunt|recover", + "tyranitar": "|sandstream|expertbelt|lonely|0,144,0,156,0,208|crunch|fireblast|superpower|stealthrock" + } + ], + "tyranitar|skarmory|alakazam|landorustherian|latios|rotomwash": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|208,88,0,0,200,12|crunch|rockslide|earthquake|pursuit", + "skarmory": "|sturdy|leftovers|careful|252,0,0,0,240,16|spikes|bravebird|roost|whirlwind", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|focusblast|hiddenpowerice|shadowball", + "landorustherian": "|intimidate|leftovers|impish|216,0,200,0,0,92|stealthrock|earthquake|knockoff|uturn", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|grassknot|trick", + "rotomwash": "|levitate|chestoberry|bold|252,0,120,0,136,0|voltswitch|hydropump|willowisp|rest" + } + ], + "politoed|tentacruel|jirachi|thundurustherian|breloom|latios": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,4,0,0|scald|toxic|encore|protect", + "tentacruel": "|raindish|blacksludge|timid|248,0,68,0,0,192|scald|rapidspin|substitute|protect", + "jirachi": "|serenegrace|leftovers|careful|224,0,0,0,188,96|stealthrock|uturn|wish|ironhead", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast", + "breloom": "|poisonheal|toxicorb|adamant|176,136,112,0,84,0|substitute|protect|seedbomb|focuspunch", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick" + } + ], + "politoed|tornadus|ferrothorn|tentacruel|latios|mamoswine": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,196,0,56,8|scald|perishsong|protect|encore", + "tornadus": "|prankster|leftovers|timid|0,0,4,252,0,252|substitute|hurricane|focusblast|protect", + "ferrothorn": "|ironbarbs|lumberry|careful|252,0,4,0,252,0|stealthrock|spikes|knockoff|powerwhip", + "tentacruel": "|raindish|blacksludge|timid|248,0,0,0,72,188|scald|protect|toxic|rapidspin", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover", + "mamoswine": "|thickfat|salacberry|adamant|0,252,0,0,4,252|iceshard|earthquake|substitute|iciclecrash" + } + ], + "politoed|ferrothorn|tentacruel|dragonite|keldeoresolute|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|calm|248,0,0,0,232,28|scald|toxic|protect|encore", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|knockoff|stealthrock|spikes|powerwhip", + "tentacruel": "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxicspikes|rapidspin|protect", + "dragonite": "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragonclaw|substitute|dragondance|roost", + "keldeoresolute": "|justified|choicescarf|timid|0,0,0,252,4,252|hiddenpowerice|hydropump|secretsword|surf", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|thunder|substitute|hiddenpowerice|focusblast" + } + ], + "politoed|ferrothorn|tentacruel|latios|keldeoresolute|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,140,0,56,64|scald|toxic|encore|protect", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,88,0,168,0|powerwhip|stealthrock|spikes|knockoff", + "tentacruel": "|raindish|blacksludge|timid|208,0,112,0,0,188|scald|toxic|rapidspin|protect", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|thunder", + "keldeoresolute": "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerghost", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast" + } + ], + "tyranitar|breloom|latios|landorustherian|excadrill|rotomwash": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,168,0|thunderwave|crunch|pursuit|icebeam", + "breloom": "|poisonheal|toxicorb|careful|236,0,0,0,252,20|seedbomb|drainpunch|swordsdance|protect", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "landorustherian": "|intimidate|leftovers|naive|248,0,0,8,0,252|stealthrock|earthquake|uturn|hiddenpowerice", + "excadrill": "|sandforce|leftovers|jolly|0,252,0,0,4,252|ironhead|earthquake|rapidspin|protect", + "rotomwash": "|levitate|leftovers|calm|248,0,8,0,252,0|painsplit|hydropump|voltswitch|willowisp" + } + ], + "tyranitar|rotomwash|landorustherian|latios|ferrothorn|excadrill": [ + { + "tyranitar": "|sandstream|chopleberry|brave|252,88,0,48,120,0|crunch|superpower|pursuit|icebeam", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|willowisp|voltswitch|hydropump|painsplit", + "landorustherian": "|intimidate|leftovers|naive|248,0,24,0,0,236|stealthrock|earthquake|hiddenpowerice|uturn", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|trick", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|powerwhip|knockoff|gyroball", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|protect|earthquake|rapidspin|ironhead" + } + ], + "tyranitar|gliscor|ferrothorn|reuniclus|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|earthquake|thunderwave|pursuit", + "gliscor": "|poisonheal|toxicorb|impish|244,16,116,0,132,0|stealthrock|earthquake|protect|uturn", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,8,0,248,0|spikes|knockoff|bulldoze|powerwhip", + "reuniclus": "|magicguard|lifeorb|modest|172,0,100,176,56,4|psychic|focusblast|recover|hiddenpowerice", + "latios": "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|hiddenpowerfire|roost", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|hiddenpowerice|encore" + } + ], + "tyranitar|latios|landorustherian|ferrothorn|alakazam|excadrill": [ + { + "tyranitar": "|sandstream|chopleberry|sassy|156,100,0,0,252,0|stealthrock|crunch|pursuit|fireblast", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "landorustherian": "|intimidate|choicescarf|lax|72,0,248,0,4,184|earthquake|uturn|hiddenpowerice|superpower", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|knockoff|gyroball|powerwhip", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|encore", + "excadrill": "|sandforce|leftovers|adamant|40,252,0,0,0,216|earthquake|ironhead|protect|rapidspin" + } + ], + "tyranitar|gliscor|excadrill|milotic|celebi|magnezone": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,216,0,12,28,252|crunch|icebeam|superpower|pursuit", + "gliscor": "|poisonheal|toxicorb|impish|244,0,96,0,164,4|swordsdance|earthquake|icefang|protect", + "excadrill": "|sandforce|leftovers|adamant|12,244,0,0,208,44|earthquake|protect|ironhead|rapidspin", + "milotic": "|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|recover|toxic|refresh", + "celebi": "|naturalcure|leftovers|calm|248,0,0,0,244,16|stealthrock|recover|psychic|uturn", + "magnezone": "|magnetpull|salacberry|timid|0,0,0,252,4,252|substitute|chargebeam|flashcannon|hiddenpowerfire" + } + ], + "tyranitar|skarmory|gastrodon|reuniclus|alakazam|gliscor": [ + { + "tyranitar": "|sandstream|chopleberry|brave|248,88,0,0,172,0|crunch|pursuit|superpower|fireblast", + "skarmory": "|sturdy|leftovers|impish|248,0,0,0,236,24|bravebird|spikes|whirlwind|roost", + "gastrodon": "|stormdrain|leftovers|bold|252,0,252,4,0,0|scald|icebeam|toxic|recover", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|psyshock|focusblast|recover", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|signalbeam|hiddenpowerice", + "gliscor": "|poisonheal|toxicorb|careful|244,0,0,0,252,12|stealthrock|knockoff|earthquake|protect" + } + ], + "tyranitar|volcarona|latios|seismitoad|excadrill|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|brave|252,88,0,0,168,0|fireblast|crunch|pursuit|hiddenpowergrass", + "volcarona": "|flamebody|buggem|timid|0,0,0,252,4,252|quiverdance|bugbuzz|fireblast|psychic", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|recover|trick", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|protect|knockoff|refresh", + "excadrill": "|sandforce|leftovers|jolly|4,252,0,0,0,252|ironhead|rapidspin|protect|earthquake", + "landorustherian": "|intimidate|leftovers|lax|188,68,20,0,0,232|stealthrock|earthquake|uturn|hiddenpowerice" + } + ], + "excadrill|breloom|jirachi|rotomwash|latios|landorustherian": [ + { + "excadrill": "|moldbreaker|leftovers|careful|240,8,0,0,252,8|earthquake|protect|toxic|rapidspin", + "breloom": "|poisonheal|toxicorb|adamant|244,252,0,0,0,12|protect|seedbomb|focuspunch|substitute", + "jirachi": "|serenegrace|leftovers|careful|252,0,80,0,160,16|wish|ironhead|bodyslam|uturn", + "rotomwash": "|levitate|choicescarf|timid|16,0,24,252,0,216|voltswitch|hydropump|hiddenpowerice|trick", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|roost", + "landorustherian": "|intimidate|leftovers|lax|240,0,176,0,0,92|stealthrock|earthquake|hiddenpowerice|uturn" + } + ], + "tyranitar|gliscor|ferrothorn|rotomwash|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,44,0,0,212,0|crunch|rockslide|pursuit|stealthrock", + "gliscor": "|poisonheal|toxicorb|careful|244,0,0,0,252,12|facade|earthquake|swordsdance|roost", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,88,0,168,0|knockoff|spikes|leechseed|powerwhip", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|recover|trick", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psychic|shadowball|hiddenpowerice" + }, + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|stealthrock|crunch|earthquake|pursuit", + "gliscor": "|poisonheal|toxicorb|careful|244,0,80,0,184,0|swordsdance|earthquake|facade|protect", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,8,0,248,0|stealthrock|spikes|knockoff|powerwhip", + "rotomwash": "|levitate|leftovers|calm|248,0,92,0,168,0|voltswitch|hydropump|painsplit|willowisp", + "latios": "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|roost|roar", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|signalbeam|hiddenpowerice" + } + ], + "tyranitar|breloom|latios|skarmory|reuniclus|gastrodon": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,0,0,0,252,4|crunch|rockslide|pursuit|stealthrock", + "breloom": "|poisonheal|toxicorb|careful|236,0,0,0,208,64|bulkup|seedbomb|drainpunch|protect", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|recover|surf|dracometeor", + "skarmory": "|sturdy|rockyhelmet|impish|252,0,232,0,0,24|spikes|whirlwind|roost|bravebird", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,4,0,0|calmmind|recover|psyshock|hiddenpowerice", + "gastrodon": "|stormdrain|leftovers|impish|252,0,212,0,44,0|earthquake|scald|recover|toxic" + } + ], + "tyranitar|reuniclus|skarmory|garchomp|jellicent|heatran": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,252,0,4,0,252|icebeam|crunch|pursuit|superpower", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,4,0,0|psyshock|focusblast|recover|calmmind", + "skarmory": "|sturdy|leftovers|careful|248,0,0,0,252,8|bravebird|spikes|roost|whirlwind", + "garchomp": "|roughskin|choiceband|adamant|0,252,0,0,4,252|outrage|earthquake|dualchop|firefang", + "jellicent": "|waterabsorb|leftovers|bold|240,0,252,0,0,16|scald|willowisp|taunt|recover", + "heatran": "|flashfire|leftovers|calm|252,0,0,8,248,0|lavaplume|protect|stealthrock|toxic" + } + ], + "politoed|gliscor|ferrothorn|tentacruel|jirachi|keldeoresolute": [ + { + "politoed": "|drizzle|choicescarf|timid|0,0,4,252,0,252|surf|icebeam|psychic|encore", + "gliscor": "|poisonheal|toxicorb|jolly|244,0,36,0,0,228|substitute|protect|earthquake|toxic", + "ferrothorn": "|ironbarbs|leftovers|relaxed|248,0,88,0,172,0|spikes|gyroball|powerwhip|knockoff", + "tentacruel": "|raindish|blacksludge|timid|248,0,0,0,72,188|substitute|scald|toxic|rapidspin", + "jirachi": "|serenegrace|leftovers|careful|248,0,0,0,228,32|stealthrock|ironhead|bodyslam|uturn", + "keldeoresolute": "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|secretsword|icywind" + } + ], + "scizor|magnezone|landorustherian|starmie|dragonite|garchomp": [ + { + "scizor": "|technician|leftovers|adamant|248,16,12,0,216,16|bulletpunch|uturn|roost|swordsdance", + "magnezone": "|magnetpull|choicespecs|modest|36,0,0,252,0,220|thunderbolt|flashcannon|hiddenpowerfire|voltswitch", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|stoneedge|hiddenpowerice|uturn", + "starmie": "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|psyshock|rapidspin", + "dragonite": "|multiscale|choiceband|adamant|40,252,0,0,0,216|outrage|earthquake|firepunch|extremespeed", + "garchomp": "|roughskin|lumberry|jolly|0,252,0,0,4,252|outrage|earthquake|swordsdance|stealthrock" + } + ], + "tyranitar|mienshao|gliscor|skarmory|amoonguss|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,60,0,0,164,36|crunch|stealthrock|superpower|pursuit", + "mienshao": "|regenerator|choicescarf|naive|0,224,0,32,0,252|hiddenpowerice|highjumpkick|rockslide|uturn", + "gliscor": "|poisonheal|toxicorb|jolly|244,0,40,0,0,224|earthquake|protect|icefang|taunt", + "skarmory": "|sturdy|rockyhelmet|calm|248,0,0,0,188,72|taunt|roost|spikes|whirlwind", + "amoonguss": "|regenerator|blacksludge|calm|248,0,40,0,204,16|gigadrain|sludgebomb|hiddenpowerfire|stunspore", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|encore|psychic|signalbeam" + } + ], + "skarmory|gastrodon|reuniclus|tyranitar|latias|heatran": [ + { + "skarmory": "|sturdy|rockyhelmet|impish|248,0,180,0,60,20|spikes|bravebird|whirlwind|roost", + "gastrodon": "|stormdrain|leftovers|relaxed|252,0,252,4,0,0|scald|earthquake|toxic|recover", + "reuniclus": "|magicguard|leftovers|bold|248,0,252,0,0,8|psyshock|focusblast|recover|calmmind", + "tyranitar": "|sandstream|chopleberry|adamant|168,88,0,0,252,0|crunch|stealthrock|pursuit|stoneedge", + "latias": "|levitate|leftovers|timid|92,0,0,164,0,252|thunderwave|dracometeor|surf|recover", + "heatran": "|flashfire|choicescarf|timid|136,0,0,176,0,196|fireblast|toxic|hiddenpowerice|earthpower" + } + ], + "garchomp|breloom|starmie|scizor|volcarona|dragonite": [ + { + "garchomp": "|roughskin|yacheberry|jolly|0,252,4,0,0,252|stealthrock|swordsdance|outrage|earthquake", + "breloom": "|technician|fightinggem|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|lowsweep", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin", + "scizor": "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|pursuit", + "volcarona": "|flamebody|buggem|timid|64,0,8,252,0,184|quiverdance|fireblast|bugbuzz|psychic", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "breloom|garchomp|volcarona|starmie|dragonite|scizor": [ + { + "breloom": "|technician|grassgem|adamant|0,252,0,0,4,252|swordsdance|bulletseed|machpunch|lowsweep", + "garchomp": "|roughskin|yacheberry|jolly|64,192,0,0,0,252|stealthrock|swordsdance|outrage|earthquake", + "volcarona": "|flamebody|buggem|timid|64,0,0,252,0,192|quiverdance|fireblast|bugbuzz|hiddenpowerground", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|hydropump|icebeam|thunder|rapidspin", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "scizor": "|technician|lifeorb|adamant|32,252,0,0,0,224|bulletpunch|swordsdance|superpower|pursuit" + } + ], + "jirachi|kyuremblack|latios|magnezone|dragonite|garchomp": [ + { + "jirachi": "|serenegrace|leftovers|sassy|252,0,80,0,176,0|uturn|icywind|thunder|stealthrock", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,56,0,56,144|outrage|fusionbolt|dragonclaw|icebeam", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|dragonpulse|surf|trick", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday", + "dragonite": "|multiscale|dragongem|adamant|0,252,4,0,0,252|outrage|extremespeed|dragondance|earthquake", + "garchomp": "|roughskin|salacberry|jolly|0,252,4,0,0,252|substitute|earthquake|swordsdance|outrage" + } + ], + "politoed|keldeoresolute|tentacruel|ferrothorn|landorustherian|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,180,0,0,76|scald|toxic|protect|encore", + "keldeoresolute": "|justified|choicescarf|timid|0,0,4,252,0,252|surf|secretsword|hydropump|hiddenpowerice", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|knockoff|protect", + "landorustherian": "|intimidate|leftovers|lax|188,68,20,0,0,232|stealthrock|earthquake|uturn|hiddenpowerice", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast" + } + ], + "tyranitar|skarmory|heatran|jellicent|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|brave|248,44,0,0,216,0|crunch|pursuit|superpower|icebeam", + "skarmory": "|sturdy|custapberry|jolly|0,252,0,0,4,252|stealthrock|spikes|bravebird|taunt", + "heatran": "|flashfire|airballoon|modest|0,0,4,252,0,252|flamecharge|fireblast|earthpower|hiddenpowerice", + "jellicent": "|waterabsorb|sitrusberry|timid|168,0,204,0,0,136|nightshade|willowisp|taunt|recover", + "latios": "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|roost", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psychic|focusblast|shadowball|hiddenpowerice" + } + ], + "froslass|jirachi|lucario|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "jirachi": "|serenegrace|leftovers|sassy|252,8,0,32,216,0|stealthrock|healingwish|ironhead|uturn", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "cloyster": "|skilllink|king'srock|jolly|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|rapidspin", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|excadrill|cloyster|breloom|alakazam|dragonite": [], + "froslass|metagross|breloom|starmie|alakazam|dragonite": [], + "froslass|terrakion|lucario|keldeoresolute|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|icegem|naive|0,84,0,168,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "keldeoresolute": "|justified|fightinggem|modest|0,0,0,252,4,252|calmmind|hydropump|focusblast|hiddenpowerghost", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|lucario|kyuremblack|terrakion|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "kyuremblack": "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|fusionbolt|dragonclaw|icebeam", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|breloom|kyuremblack|terrakion|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "kyuremblack": "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|fusionbolt|dragonclaw|icebeam", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|breloom|cloyster|terrakion|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|lucario|cloyster|terrakion|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|lucario|kyuremblack|excadrill|alakazam|dragonite": [], + "froslass|lucario|breloom|excadrill|alakazam|dragonite": [], + "froslass|lucario|volcarona|excadrill|alakazam|dragonite": [], + "froslass|terrakion|lucario|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|icegem|naive|0,84,0,168,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "cloyster": "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|terrakion|lucario|breloom|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|icegem|naive|0,84,0,168,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,4,0,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|icepunch|firepunch" + } + ], + "froslass|lucario|volcarona|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|icepunch|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|terrakion|volcarona|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|fireblast|gigadrain|bugbuzz|quiverdance", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rapidspin|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|terrakion|breloom|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|jirachi|lucario|kyuremblack|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "jirachi": "|serenegrace|leftovers|sassy|252,8,0,32,216,0|stealthrock|healingwish|ironhead|uturn", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "kyuremblack": "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|fusionbolt|dragonclaw|icebeam", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|excadrill|breloom|cloyster|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "excadrill": "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "cloyster": "|skilllink|liechiberry|jolly|0,252,4,0,0,252|shellsmash|iciclespear|rockblast|naturalgift", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|jirachi|lucario|kyuremblack|alakazam|latios": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "jirachi": "|serenegrace|leftovers|sassy|252,8,0,32,216,0|stealthrock|healingwish|ironhead|uturn", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "kyuremblack": "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|fusionbolt|dragonclaw|icebeam", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "latios": "|levitate|fightinggem|timid|4,0,0,252,0,252|calmmind|dracometeor|hiddenpowerfighting|tailwind" + } + ], + "froslass|metagross|breloom|terrakion|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "metagross": "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|icepunch|earthquake", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "terrakion": "|justified|focussash|naive|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "metagross": "|clearbody|lifeorb|jolly|0,252,0,0,4,252|agility|zenheadbutt|icepunch|earthquake", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "terrakion": "|justified|focussash|jolly|0,252,0,0,4,252|taunt|closecombat|stoneedge|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|excadrill|breloom|volcarona|alakazam|dragonite": [], + "froslass|excadrill|lucario|volcarona|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "excadrill": "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|metagross|breloom|starmie|volcarona|dragonite": [], + "froslass|excadrill|lucario|breloom|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "excadrill": "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock", + "lucario": "|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|bulletpunch|extremespeed|closecombat", + "breloom": "|technician|aspearberry|jolly|0,252,4,0,0,252|bulletseed|machpunch|naturalgift|swordsdance", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|terrakion|alakazam|volcarona|cloyster|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,0,4,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|shadowball", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "cloyster": "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|naturalgift|rockblast", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|icepunch" + } + ], + "froslass|terrakion|lucario|volcarona|cloyster|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,0,4,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "cloyster": "|skilllink|liechiberry|jolly|0,252,0,0,4,252|shellsmash|iciclespear|naturalgift|rapidspin", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|icepunch" + } + ], + "froslass|terrakion|lucario|volcarona|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,0,4,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|icepunch" + }, + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "volcarona": "|flamebody|buggem|modest|0,0,0,252,4,252|quiverdance|fireblast|bugbuzz|hiddenpowerice", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|excadrill|cloyster|lucario|alakazam|dragonite": [], + "froslass|terrakion|lucario|keldeo|alakazam|dragonite": [ + { + "froslass": "|cursedbody|colburberry|timid|252,0,0,4,0,252|icywind|taunt|spikes|destinybond", + "terrakion": "|justified|focussash|hasty|0,252,0,0,4,252|taunt|closecombat|hiddenpowerice|stealthrock", + "lucario": "|innerfocus|lifeorb|adamant|0,252,0,0,4,252|swordsdance|extremespeed|bulletpunch|closecombat", + "keldeo": "|justified|fightinggem|modest|0,0,0,252,4,252|calmmind|hydropump|focusblast|hiddenpowerghost", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|focusblast|hiddenpowerice|psychic|signalbeam", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|extremespeed|outrage|firepunch" + } + ], + "froslass|terrakion|cloyster|lucario|alakazam|dragonite": [], + "froslass|terrakion|cloyster|keldeoresolute|alakazam|dragonite": [], + "froslass|excadrill|cloyster|keldeoresolute|alakazam|dragonite": [], + "hydreigon|latios|rotomwash|landorustherian|jirachi|ferrothorn": [ + { + "hydreigon": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|earthpower|flamethrower|darkpulse", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|trick", + "rotomwash": "|levitate|leftovers|calm|252,0,4,0,252,0|willowisp|hydropump|voltswitch|painsplit", + "landorustherian": "|intimidate|leftovers|naive|252,0,168,0,0,88|stealthrock|earthquake|hiddenpowerice|uturn", + "jirachi": "|serenegrace|leftovers|careful|252,0,4,0,252,0|wish|protect|ironhead|uturn", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,188,0,68,0|spikes|thunderwave|knockoff|powerwhip" + } + ], + "tyranitar|gastrodoneast|skarmory|golurk|latios|breloom": [ + { + "tyranitar": "|sandstream|tangaberry|careful|248,104,0,0,112,44|thunderwave|crunch|superpower|pursuit", + "gastrodoneast": "|stormdrain|leftovers|timid|248,0,32,0,8,220|recover|scald|toxic|substitute", + "skarmory": "|sturdy|leftovers|careful|224,4,28,0,236,16|spikes|roost|whirlwind|bravebird", + "golurk": "|ironfist|passhoberry|adamant|252,92,16,0,12,136|shadowpunch|firepunch|stealthrock|icepunch", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover", + "breloom": "|poisonheal|toxicorb|adamant|236,196,56,0,4,16|protect|substitute|focuspunch|seedbomb" + } + ], + "skarmory|thundurustherian|gengar|dragonite|starmie|scizor": [ + { + "skarmory": "|sturdy|custapberry|jolly|0,252,0,0,4,252|taunt|stealthrock|spikes|bravebird", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,0,172,104,208|thunderbolt|hiddenpowerice|focusblast|agility", + "gengar": "|levitate|blacksludge|timid|248,0,0,8,0,252|shadowball|focusblast|willowisp|hiddenpowerice", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "starmie": "|analytic|watergem|timid|0,0,0,252,4,252|rapidspin|hydropump|thunderbolt|icebeam", + "scizor": "|technician|steelgem|adamant|252,216,0,0,0,40|swordsdance|bulletpunch|superpower|pursuit" + } + ], + "conkeldurr|tornadus|jirachi|magnezone|kyuremblack|metagross": [ + { + "conkeldurr": "|guts|flameorb|adamant|4,252,0,0,0,252|drainpunch|machpunch|icepunch|thunderpunch", + "tornadus": "|prankster|flyinggem|jolly|0,252,0,0,4,252|bulkup|acrobatics|superpower|tailwind", + "jirachi": "|serenegrace|choicescarf|jolly|252,72,0,0,0,184|ironhead|trick|uturn|healingwish", + "magnezone": "|magnetpull|airballoon|timid|4,0,0,252,0,252|hiddenpowerfire|magnetrise|thunderbolt|sunnyday", + "kyuremblack": "|teravolt|choiceband|naughty|0,252,0,4,0,252|outrage|icebeam|fusionbolt|dragonclaw", + "metagross": "|clearbody|normalgem|adamant|132,252,0,0,0,124|explosion|stealthrock|meteormash|hammerarm" + } + ], + "froslass|heatran|dragonite|breloom|scizor|starmie": [ + { + "froslass": "|cursedbody|focussash|timid|0,0,0,252,4,252|icywind|spikes|taunt|destinybond", + "heatran": "|flashfire|shucaberry|timid|232,0,0,76,0,200|stealthrock|fireblast|hiddenpowerice|earthpower", + "dragonite": "|multiscale|dragongem|adamant|44,252,0,0,0,212|dragondance|outrage|firepunch|extremespeed", + "breloom": "|technician|fistplate|adamant|0,252,0,0,4,252|swordsdance|lowsweep|machpunch|bulletseed", + "scizor": "|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|superpower|quickattack", + "starmie": "|analytic|lifeorb|timid|0,0,0,252,4,252|rapidspin|hydropump|icebeam|thunderbolt" + } + ], + "jirachi|excadrill|magnezone|garchomp|latios|mew": [ + { + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|icepunch|uturn|healingwish", + "excadrill": "|moldbreaker|lifeorb|jolly|0,252,0,0,4,252|magnetrise|swordsdance|earthquake|ironhead", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|thunderwave", + "garchomp": "|roughskin|yacheberry|naive|0,252,0,4,0,252|swordsdance|outrage|earthquake|stealthrock", + "latios": "|levitate|groundgem|naive|0,4,0,252,0,252|dracometeor|dragondance|outrage|earthquake", + "mew": "|synchronize|lifeorb|adamant|0,252,0,0,4,252|swordsdance|zenheadbutt|drainpunch|suckerpunch" + } + ], + "garchomp|celebi|kingdra|magnezone|tornadus|jirachi": [ + { + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|dualchop|earthquake|stealthrock", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,148,108|nastyplot|psychic|recover|batonpass", + "kingdra": "|swiftswim|lifeorb|modest|40,0,0,240,0,228|raindance|dracometeor|hydropump|surf", + "magnezone": "|magnetpull|airballoon|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "tornadus": "|prankster|damprock|timid|0,0,0,252,4,252|hurricane|focusblast|uturn|raindance", + "jirachi": "|serenegrace|leftovers|sassy|252,0,80,0,176,0|stealthrock|thunder|icywind|uturn" + } + ], + "hippowdon|xatu|starmie|garchomp|scizor|celebi": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,252,0,4,0|slackoff|stealthrock|earthquake|whirlwind", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,84,0,0,172|trick|nightshade|roost|uturn", + "starmie": "|naturalcure|leftovers|timid|252,0,32,0,0,224|rapidspin|scald|icebeam|recover", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stoneedge", + "scizor": "|technician|leftovers|jolly|4,252,0,0,0,252|roost|uturn|swordsdance|bulletpunch", + "celebi": "|naturalcure|leftovers|careful|252,0,0,0,236,20|seedbomb|recover|batonpass|swordsdance" + } + ], + "cofagrigus|kyuremblack|jirachi|magnezone|garchomp|latios": [ + { + "cofagrigus": "|mummy|spookyplate|quiet|248,0,0,252,8,0|trickroom|nastyplot|shadowball|hiddenpowerfighting", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,56,0,56,144|outrage|icebeam|dragonclaw|fusionbolt", + "jirachi": "|serenegrace|leftovers|sassy|252,0,20,0,236,0|stealthrock|icywind|thunder|uturn", + "magnezone": "|magnetpull|airballoon|timid|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "garchomp": "|roughskin|salacberry|jolly|4,252,0,0,0,252|substitute|swordsdance|outrage|earthquake", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover" + } + ], + "weavile|keldeo|jirachi|latios|thundurustherian|landorustherian": [ + { + "weavile": "|pickpocket|fightinggem|jolly|0,252,0,0,4,252|lowkick|swordsdance|iceshard|nightslash", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|surf|hydropump|hiddenpowerice|secretsword", + "jirachi": "|serenegrace|shucaberry|modest|40,0,0,240,0,228|energyball|hiddenpowerfire|icywind|stealthrock", + "latios": "|levitate|grassgem|hasty|0,4,0,252,0,252|sunnyday|dracometeor|solarbeam|psyshock", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,0,228,104,152|agility|thunder|hiddenpowerice|focusblast", + "landorustherian": "|intimidate|groundgem|adamant|48,252,0,0,0,208|hiddenpowerice|rockpolish|earthquake|stoneedge" + } + ], + "tyranitar|garchomp|skarmory|jellicent|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|crunch|pursuit|earthquake|thunderwave", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|stealthrock|dracometeor|earthquake|fireblast", + "skarmory": "|sturdy|rockyhelmet|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "jellicent": "|waterabsorb|leftovers|timid|248,0,128,0,0,136|willowisp|taunt|scald|recover", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|surf|roar|recover", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|grassknot|hiddenpowerice" + } + ], + "conkeldurr|skarmory|latias|cloyster|dragonite|gengar": [ + { + "conkeldurr": "|sheerforce|lifeorb|adamant|120,252,0,0,116,20|drainpunch|icepunch|thunderpunch|machpunch", + "skarmory": "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt", + "latias": "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|healingwish|dracometeor", + "cloyster": "|skilllink|rockgem|jolly|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|dragonclaw|earthquake|extremespeed", + "gengar": "|levitate|lifeorb|hasty|0,4,0,252,0,252|thunder|focusblast|suckerpunch|shadowball" + } + ], + "politoed|ferrothorn|latios|tentacruel|gengar|tornadus": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|protect|refresh|encore", + "ferrothorn": "|ironbarbs|lumberry|adamant|252,252,0,0,4,0|spikes|knockoff|powerwhip|stealthrock", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "gengar": "|levitate|darkgem|lonely|0,252,0,4,0,252|suckerpunch|shadowball|hiddenpowerice|destinybond", + "tornadus": "|prankster|leftovers|timid|0,0,4,252,0,252|substitute|hurricane|focusblast|protect" + } + ], + "froslass|tyranitar|scizor|landorustherian|latios|alakazam": [ + { + "froslass": "|cursedbody|mentalherb|timid|252,0,0,0,4,252|icebeam|destinybond|taunt|spikes", + "tyranitar": "|sandstream|darkgem|lonely|0,252,0,0,48,208|crunch|pursuit|fireblast|stoneedge", + "scizor": "|technician|choicescarf|jolly|12,252,0,0,0,244|uturn|superpower|pursuit|doublehit", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|earthquake|hiddenpowerice|stealthrock|uturn", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|dragonpulse|hiddenpowerfire|recover", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|focusblast|psyshock|grassknot|hiddenpowerice" + } + ], + "cofagrigus|tyranitar|skarmory|reuniclus|alakazam|gastrodon": [ + { + "cofagrigus": "|mummy|leftovers|relaxed|248,0,252,0,8,0|willowisp|painsplit|hex|magiccoat", + "tyranitar": "|sandstream|chopleberry|brave|248,88,0,0,172,0|superpower|pursuit|stealthrock|fireblast", + "skarmory": "|sturdy|leftovers|impish|248,0,0,0,236,24|roost|bravebird|whirlwind|spikes", + "reuniclus": "|magicguard|leftovers|bold|252,0,232,0,0,24|recover|psychic|focusblast|calmmind", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psyshock|hiddenpowerice|psychup", + "gastrodon": "|stormdrain|leftovers|bold|252,0,252,4,0,0|recover|toxic|icebeam|scald" + } + ], + "ninetales|xatu|donphan|chansey|darmanitan|jellicent": [ + { + "ninetales": "|drought|chestoberry|timid|248,0,0,0,72,188|sunnyday|flamethrower|willowisp|rest", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|roost|nightshade|reflect|uturn", + "donphan": "|sturdy|leftovers|adamant|212,152,144,0,0,0|rapidspin|earthquake|protect|iceshard", + "chansey": "|naturalcure|eviolite|bold|248,0,252,0,4,4|softboiled|stealthrock|thunderwave|seismictoss", + "darmanitan": "|sheerforce|choicescarf|jolly|24,252,4,0,0,228|flareblitz|rockslide|superpower|uturn", + "jellicent": "|waterabsorb|leftovers|bold|200,0,104,0,0,204|willowisp|taunt|nightshade|recover" + } + ], + "azelf|mew|conkeldurr|scizor|latias|keldeo": [ + { + "azelf": "|levitate|lightclay|timid|168,0,88,0,0,252|reflect|lightscreen|taunt|stealthrock", + "mew": "|synchronize|leftovers|timid|252,0,0,0,4,252|rockpolish|substitute|taunt|batonpass", + "conkeldurr": "|sheerforce|lifeorb|adamant|0,252,0,0,0,252|drainpunch|icepunch|thunderpunch|taunt", + "scizor": "|technician|fightinggem|adamant|0,252,0,0,4,252|swordsdance|bulletpunch|superpower|pursuit", + "latias": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|thunderwave|healingwish", + "keldeo": "|justified|ghostgem|timid|0,0,0,252,4,252|calmmind|hydropump|secretsword|hiddenpowerghost" + } + ], + "garchomp|heatran|scizor|gyarados|starmie|dragonite": [ + { + "garchomp": "|roughskin|focussash|naive|0,4,0,252,0,252|stealthrock|dracometeor|earthquake|fireblast", + "heatran": "|flashfire|lifeorb|timid|0,0,4,252,0,252|overheat|flamethrower|hiddenpowergrass|dragonpulse", + "scizor": "|technician|lifeorb|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|swordsdance", + "gyarados": "|intimidate|lifeorb|adamant|0,252,4,0,0,252|dragondance|waterfall|icefang|earthquake", + "starmie": "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "latios|volcarona|seismitoad|xatu|excadrill|tyranitar": [ + { + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|trick|dracometeor|surf|icebeam", + "volcarona": "|flamebody|buggem|timid|40,0,0,252,0,216|quiverdance|fireblast|bugbuzz|hiddenpowerground", + "seismitoad": "|waterabsorb|leftovers|relaxed|248,0,228,0,32,0|stealthrock|earthquake|refresh|scald", + "xatu": "|magicbounce|rockyhelmet|impish|248,0,252,0,8,0|nightshade|uturn|reflect|roost", + "excadrill": "|sandforce|leftovers|jolly|0,252,0,0,4,252|earthquake|rapidspin|ironhead|protect", + "tyranitar": "|sandstream|chopleberry|sassy|248,0,16,0,244,0|crunch|superpower|icebeam|pursuit" + } + ], + "tyranitar|xatu|seismitoad|volcarona|excadrill|latios": [ + { + "tyranitar": "|sandstream|chopleberry|lonely|232,88,0,24,16,148|pursuit|crunch|fireblast|earthquake", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|nightshade|uturn|reflect|roost", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,232,0,0,28|scald|refresh|protect|stealthrock", + "volcarona": "|flamebody|buggem|timid|72,0,0,252,0,184|quiverdance|bugbuzz|flamethrower|psychic", + "excadrill": "|sandforce|leftovers|jolly|4,36,0,0,216,252|earthquake|ironhead|rapidspin|protect", + "latios": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|surf|trick|roost" + } + ], + "tyranitar|gliscor|skarmory|jellicent|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,172,0|crunch|pursuit|earthquake|thunderwave", + "gliscor": "|poisonheal|toxicorb|impish|244,20,104,0,140,0|stealthrock|earthquake|protect|uturn", + "skarmory": "|sturdy|leftovers|careful|248,0,28,0,232,0|spikes|whirlwind|roost|drillpeck", + "jellicent": "|waterabsorb|leftovers|timid|252,0,40,0,0,216|taunt|nightshade|willowisp|recover", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|recover|trick", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|grassknot" + } + ], + "garchomp|breloom|volcarona|salamence|starmie|scizor": [ + { + "garchomp": "|roughskin|lifeorb|naive|0,64,0,192,0,252|stealthrock|dracometeor|earthquake|fireblast", + "breloom": "|technician|fightinggem|adamant|4,228,0,0,24,252|swordsdance|machpunch|lowsweep|bulletseed", + "volcarona": "|flamebody|buggem|timid|72,0,0,252,0,184|quiverdance|bugbuzz|flamethrower|psychic", + "salamence": "|moxie|choicescarf|jolly|0,252,0,0,4,252|outrage|dragonclaw|earthquake|fireblast", + "starmie": "|analytic|airballoon|timid|0,0,0,252,4,252|rapidspin|surf|thunderbolt|icebeam", + "scizor": "|technician|lifeorb|adamant|252,216,0,0,0,40|swordsdance|bulletpunch|pursuit|quickattack" + } + ], + "tyranitar|gliscor|skarmory|reuniclus|latias|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,20,0,0,216,20|thunderwave|crunch|pursuit|earthquake", + "gliscor": "|poisonheal|toxicorb|impish|244,20,104,0,140,0|stealthrock|earthquake|uturn|protect", + "skarmory": "|sturdy|rockyhelmet|careful|248,0,36,0,224,0|spikes|secretpower|whirlwind|roost", + "reuniclus": "|magicguard|lifeorb|modest|252,0,64,176,16,0|thunder|focusblast|hiddenpowerice|recover", + "latias": "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|thunderwave|recover", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|encore" + } + ], + "weavile|landorustherian|keldeoresolute|latios|excadrill|dragonite": [ + { + "weavile": "|pressure|expertbelt|jolly|0,252,0,0,0,252|swordsdance|iceshard|lowkick|beatup", + "landorustherian": "|intimidate|rockgem|naughty|0,252,0,4,0,252|rockpolish|hiddenpowerice|earthquake|stoneedge", + "keldeoresolute": "|justified|choicescarf|timid|0,0,0,252,4,252|hydropump|secretsword|hiddenpowergrass|icywind", + "latios": "|levitate|dragongem|timid|4,0,0,252,0,252|calmmind|dracometeor|surf|recover", + "excadrill": "|moldbreaker|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|ironhead|rocktomb", + "dragonite": "|multiscale|yacheberry|adamant|76,180,0,0,0,252|dragondance|outrage|firepunch|extremespeed" + } + ], + "weavile|jirachi|celebi|garchomp|rotomwash|starmie": [ + { + "weavile": "|pressure|choiceband|jolly|0,252,0,0,4,252|lowkick|iceshard|nightslash|icepunch", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|icepunch|uturn|healingwish", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,236,20|psychic|recover|batonpass|stealthrock", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stoneedge", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "starmie": "|naturalcure|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|thunderbolt|rapidspin" + } + ], + "tyranitar|sableye|alakazam|ferrothorn|gliscor|latios": [ + { + "tyranitar": "|sandstream|chopleberry|sassy|252,44,0,0,212,0|pursuit|crunch|thunderwave|superpower", + "sableye": "|prankster|leftovers|careful|252,4,0,0,252,0|willowisp|taunt|recover|foulplay", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|grassknot", + "ferrothorn": "|ironbarbs|leftovers|careful|248,0,48,0,204,0|spikes|explosion|thunderwave|powerwhip", + "gliscor": "|poisonheal|toxicorb|careful|244,0,72,0,192,0|stealthrock|protect|earthquake|icefang", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover" + } + ], + "politoed|latios|tentacruel|conkeldurr|scizor|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|toxic|scald|protect|refresh", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|recover|trick", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "conkeldurr": "|guts|leftovers|adamant|56,232,0,0,220,0|drainpunch|machpunch|icepunch|thunderpunch", + "scizor": "|technician|choiceband|adamant|0,252,0,0,44,212|uturn|pursuit|bulletpunch|superpower", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,0,228,104,152|agility|thunder|hiddenpowerice|focusblast" + } + ], + "politoed|latios|tentacruel|conkeldurr|scizor|garchomp": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|toxic|scald|protect|refresh", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|recover|trick", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "conkeldurr": "|guts|leftovers|adamant|56,232,0,0,220,0|drainpunch|machpunch|icepunch|thunderpunch", + "scizor": "|technician|choiceband|adamant|0,252,0,0,44,212|uturn|pursuit|bulletpunch|superpower", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|stealthrock|earthquake|surf" + } + ], + "reuniclus|garchomp|jirachi|latios|magnezone|salamence": [ + { + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|shadowball", + "garchomp": "|roughskin|salacberry|jolly|4,252,0,0,0,252|substitutestealthrockfireblast|swordsdance|outrage|earthquake", + "jirachi": "|serenegrace|leftovers|jolly|252,160,0,0,0,96|substitute|bodyslam|ironhead|stealthrock", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "salamence": "|intimidate|lifeorb|naive|0,64,0,192,0,252|dracometeor|outrage|fireblast|earthquake" + } + ], + "tyranitar|rotomwash|breloom|landorustherian|latios|skarmory": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,208,0,48,0,252|superpower|crunch|pursuit|icebeam", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "breloom": "|technician|choiceband|adamant|0,252,0,0,4,252|lowsweep|bulletseed|stoneedge|machpunch", + "landorustherian": "|intimidate|leftovers|naive|200,0,72,0,0,236|earthquake|hiddenpowerice|stealthrock|uturn", + "latios": "|levitate|colburberry|timid|4,0,0,252,0,252|dracometeor|roar|surf|recover", + "skarmory": "|sturdy|rockyhelmet|careful|252,0,8,0,248,0|roost|spikes|pursuit|drillpeck" + } + ], + "politoed|starmie|scizor|ferrothorn|latios|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,0,0,228,28|scald|protect|encore|toxic", + "starmie": "|analytic|choicespecs|timid|0,0,0,252,4,252|hydropump|psychic|rapidspin|trick", + "scizor": "|technician|choicescarf|jolly|0,252,4,0,0,252|uturn|pursuit|superpower|bulletpunch", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|knockoff|powerwhip", + "latios": "|levitate|dragongem|timid|4,0,0,252,0,252|dracometeor|surf|calmmind|recover", + "thundurustherian": "|voltabsorb|leftovers|modest|152,0,0,136,0,220|thunder|focusblast|hiddenpowerice|grassknot" + } + ], + "xatu|blissey|dragonite|cresselia|excadrill|ninetales": [ + { + "xatu": "|magicbounce|rockyhelmet|impish|248,0,188,0,0,72|nightshade|roost|reflect|uturn", + "blissey": "|naturalcure|mail|bold|8,0,252,0,248,0|softboiled|stealthrock|toxic|seismictoss", + "dragonite": "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragonclaw|dragondance|substitute|roost", + "cresselia": "|levitate|leftovers|bold|248,0,252,0,8,0|moonlight|calmmind|icebeam|psyshock", + "excadrill": "|moldbreaker|leftovers|jolly|224,76,0,0,0,208|earthquake|ironhead|protect|rapidspin", + "ninetales": "|drought|leftovers|timid|248,0,76,0,0,184|willowisp|flamethrower|hiddenpowerground|protect" + } + ], + "skarmory|reuniclus|latios|jellicent|tyranitar|volcarona": [ + { + "skarmory": "|sturdy|salacberry|jolly|4,252,0,0,0,252|spikes|stealthrock|taunt|bravebird", + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|signalbeam", + "latios": "|levitate|dragongem|timid|4,0,0,252,0,252|calmmind|recover|dracometeor|surf", + "jellicent": "|waterabsorb|leftovers|bold|176,0,120,0,0,212|taunt|willowisp|recover|nightshade", + "tyranitar": "|sandstream|choicescarf|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam", + "volcarona": "|flamebody|buggem|timid|72,0,0,252,0,184|quiverdance|flamethrower|bugbuzz|psychic" + } + ], + "politoed|ferrothorn|tentacruel|kyurem|latios|landorustherian": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,128,0,56,76|scald|toxic|encore|protect", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,4,0,252,0|gyroball|knockoff|spikes|stealthrock", + "tentacruel": "|raindish|blacksludge|timid|248,0,0,0,76,184|scald|rapidspin|protect|toxic", + "kyurem": "|pressure|leftovers|timid|56,0,0,224,0,228|substitute|protect|icebeam|earthpower", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "landorustherian": "|intimidate|choicescarf|adamant|252,16,44,0,0,196|earthquake|uturn|hiddenpowerice|superpower" + } + ], + "garchomp|volcarona|breloom|dragonite|scizor|starmie": [ + { + "garchomp": "|roughskin|focussash|jolly|0,252,0,0,4,252|stealthrock|earthquake|outrage|swordsdance", + "volcarona": "|flamebody|buggem|timid|56,0,0,252,0,200|flamethrower|bugbuzz|hiddenpowerground|quiverdance", + "breloom": "|technician|choiceband|adamant|0,252,0,0,4,252|lowsweep|bulletseed|machpunch|stoneedge", + "dragonite": "|multiscale|leftovers|jolly|248,0,0,0,80,180|dragondance|dragonclaw|roost|substitute", + "scizor": "|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletpunch|superpower|quickattack", + "starmie": "|analytic|lifeorb|timid|0,0,0,252,4,252|surf|grassknot|icebeam|rapidspin" + } + ], + "tyranitar|xatu|seismitoad|latios|garchomp|ferrothorn": [ + { + "tyranitar": "|sandstream|chopleberry|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam", + "xatu": "|magicbounce|rockyhelmet|bold|248,0,188,0,0,72|roost|nightshade|uturn|reflect", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,224,0,0,36|scald|refresh|protect|knockoff", + "latios": "|levitate|choicescarf|timid|0,252,4,0,0,252|dracometeor|surf|trick|dragonpulse", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|fireblast|earthquake|stealthrock", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|powerwhip|gyroball|leechseed" + } + ], + "tyranitar|latios|rotomwash|ferrothorn|gliscor|magnezone": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,160,12|thunderwave|crunch|superpower|pursuit", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "ferrothorn": "|ironbarbs|ejectbutton|careful|252,0,0,0,252,4|spikes|powerwhip|knockoff|endeavor", + "gliscor": "|poisonheal|toxicorb|impish|244,0,208,0,0,56|earthquake|stealthrock|icefang|protect", + "magnezone": "|magnetpull|choicespecs|modest|0,0,0,252,4,252|thunderbolt|voltswitch|flashcannon|hiddenpowerfire" + } + ], + "latios|jirachi|magnezone|reuniclus|garchomp|kyuremblack": [ + { + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|surf|dragonpulse", + "jirachi": "|serenegrace|leftovers|careful|248,0,0,0,164,96|stealthrock|icywind|ironhead|uturn", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|hiddenpowerfire|magnetrise|thunderbolt|sunnyday", + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|psychic|focusblast|trickroom|hiddenpowerice", + "garchomp": "|roughskin|salacberry|jolly|12,244,0,0,0,252|substitute|swordsdance|outrage|earthquake", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,0,0,4,252|outrage|dragonclaw|fusionbolt|freezeshock" + } + ], + "tyranitar|garchomp|celebi|heatran|latios|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|brave|248,88,16,28,128,0|crunch|superpower|fireblast|pursuit", + "garchomp": "|roughskin|salacberry|jolly|0,252,0,0,4,252|dualchop|earthquake|swordsdance|endure", + "celebi": "|naturalcure|leftovers|calm|248,0,0,0,220,40|psychic|stealthrock|recover|uturn", + "heatran": "|flashfire|airballoon|modest|144,0,0,152,4,208|magmastorm|sunnyday|solarbeam|hiddenpowerice", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "landorustherian": "|intimidate|leftovers|naughty|0,252,4,68,0,184|earthquake|substitute|smackdown|hiddenpowerice" + } + ], + "landorustherian|espeon|keldeo|terrakion|weavile|haxorus": [ + { + "landorustherian": "|intimidate|expertbelt|naive|0,124,0,132,0,252|earthquake|hiddenpowerice|stealthrock|uturn", + "espeon": "|magicbounce|lightclay|timid|252,0,4,0,0,252|psyshock|lightscreen|reflect|batonpass", + "keldeo": "|justified|leftovers|timid|0,0,4,252,0,252|calmmind|substitute|secretsword|hiddenpowerghost", + "terrakion": "|justified|lifeorb|jolly|0,252,0,0,4,252|closecombat|stoneedge|substitute|swordsdance", + "weavile": "|pressure|muscleband|jolly|0,252,0,0,4,252|fakeout|nightslash|iceshard|lowkick", + "haxorus": "|unnerve|lumberry|adamant|124,252,0,0,0,132|dragondance|outrage|lowkick|taunt" + } + ], + "politoed|gyarados|ferrothorn|latios|tentacruel|magnezone": [], + "tyranitar|latios|gengar|ferrothorn|alakazam|gliscor": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|fireblast|crunch|pursuit|icebeam", + "latios": "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|hiddenpowerfire|roost", + "gengar": "|levitate|blacksludge|timid|168,0,0,88,0,252|willowisp|trick|substitute|shadowball", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|thunderwave|knockoff", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|hiddenpowerice|signalbeam", + "gliscor": "|poisonheal|toxicorb|careful|244,0,0,0,184,80|earthquake|uturn|stealthrock|protect" + }, + { + "tyranitar": "|sandstream|chopleberry|careful|252,68,0,0,188,0|stealthrock|crunch|pursuit|rockslide", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|hiddenpowerfire|trick", + "gengar": "|levitate|blacksludge|timid|248,0,0,8,0,252|willowisp|substitute|focusblast|shadowball", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,56,0,200,0|spikes|powerwhip|knockoff|protect", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,0,252|focusblast|psyshock|shadowball|hiddenpowerice", + "gliscor": "|poisonheal|toxicorb|impish|252,0,184,0,0,72|earthquake|toxic|protect|substitute" + } + ], + "tyranitar|heatran|alakazam|skarmory|jellicent|landorustherian": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,252,0,4,0,252|crunch|pursuit|superpower|icebeam", + "heatran": "|flashfire|chopleberry|timid|0,0,4,252,0,252|magmastorm|earthpower|hiddenpowergrass|taunt", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|thunderwave", + "skarmory": "|sturdy|salacberry|jolly|0,252,0,0,0,252|bravebird|spikes|stealthrock|taunt", + "jellicent": "|waterabsorb|leftovers|jolly|252,0,116,0,0,140|nightshade|willowisp|taunt|recover", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|earthquake|superpower|hiddenpowerice|uturn" + } + ], + "politoed|shedinja|tentacruel|latios|azumarill|keldeo": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|protect|encore|refresh", + "shedinja": "|wonderguard|lumberry|brave|0,252,0,0,0,0|batonpass|willowisp|protect|shadowsneak", + "tentacruel": "|raindish|blacksludge|timid|248,0,76,0,0,184|protect|toxicspikes|scald|rapidspin", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dragonpulse|dracometeor|surf|thunder", + "azumarill": "|hugepower|choiceband|adamant|252,252,0,0,4,0|aquajet|waterfall|superpower|icepunch", + "keldeo": "|justified|choicespecs|timid|4,0,0,252,0,252|hydropump|icywind|secretsword|toxic" + } + ], + "hydreigon|tyranitar|slowking|landorustherian|ferrothorn|alakazam": [ + { + "hydreigon": "|levitate|leftovers|timid|56,0,0,244,0,208|darkpulse|flamethrower|substitute|roost", + "tyranitar": "|sandstream|choicescarf|hasty|0,252,0,4,0,252|crunch|pursuit|icebeam|superpower", + "slowking": "|regenerator|leftovers|bold|252,0,200,0,56,0|scald|flamethrower|dragontail|slackoff", + "landorustherian": "|intimidate|leftovers|naive|248,0,28,0,0,232|earthquake|hiddenpowerice|uturn|knockoff", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,52,0,204,0|powerwhip|knockoff|stealthrock|spikes", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|thunderwave" + } + ], + "alakazam|landorustherian|ferrothorn|jellicent|heatran|latios": [ + { + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|signalbeam", + "landorustherian": "|intimidate|leftovers|lax|248,0,252,0,8,0|earthquake|uturn|hiddenpowerice|stealthrock", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|powerwhip|knockoff|thunderwave|spikes", + "jellicent": "|waterabsorb|leftovers|timid|248,0,120,0,0,140|nightshade|willowisp|taunt|recover", + "heatran": "|flashfire|leftovers|modest|136,0,0,252,0,120|magmastorm|earthpower|hiddenpowergrass|taunt", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover" + } + ], + "gengar|alakazam|rotomwash|ferrothorn|gliscor|latios": [ + { + "gengar": "|levitate|leftovers|timid|168,0,0,88,0,252|shadowball|substitute|willowisp|disable", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|hiddenpowerice|signalbeam", + "rotomwash": "|levitate|choicescarf|timid|88,0,0,232,0,188|hydropump|voltswitch|hiddenpowerice|trick", + "ferrothorn": "|ironbarbs|chopleberry|careful|252,0,4,0,252,0|powerwhip|knockoff|thunderwave|spikes", + "gliscor": "|poisonheal|toxicorb|careful|244,0,0,0,184,80|earthquake|knockoff|stealthrock|protect", + "latios": "|levitate|colburberry|timid|0,0,0,252,4,252|dracometeor|surf|roar|recover" + } + ], + "skarmory|jellicent|chandelure|weavile|latios|alakazam": [ + { + "skarmory": "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt", + "jellicent": "|waterabsorb|ejectbutton|bold|176,0,120,0,0,212|taunt|willowisp|recover|nightshade", + "chandelure": "|flamebody|choicescarf|modest|0,0,80,252,0,176|fireblast|shadowball|hiddenpowerfighting|trick", + "weavile": "|pressure|expertbelt|jolly|0,252,0,0,4,252|fakeout|pursuit|iceshard|lowkick", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psyshock|focusblast|grassknot|hiddenpowerice" + } + ], + "weavile|magnezone|garchomp|skarmory|dragonite|gyarados": [ + { + "weavile": "|pressure|expertbelt|jolly|0,252,40,0,0,216|beatup|pursuit|iceshard|lowkick", + "magnezone": "|magnetpull|salacberry|timid|0,0,0,252,4,252|substitute|chargebeam|hiddenpowerfire|flashcannon", + "garchomp": "|roughskin|choicescarf|jolly|4,252,0,0,0,252|outrage|earthquake|dualchop|stealthrock", + "skarmory": "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|earthquake|extremespeed", + "gyarados": "|intimidate|liechiberry|jolly|0,252,0,0,4,252|dragondance|waterfall|bounce|naturalgift" + } + ], + "terrakion|dragonite|breloom|jirachi|volcarona|starmie": [ + { + "terrakion": "|justified|focussash|jolly|0,252,0,0,4,252|closecombat|stoneedge|taunt|stealthrock", + "dragonite": "|multiscale|dragongem|adamant|0,252,0,0,4,252|outrage|firepunch|extremespeed|dragondance", + "breloom": "|technician|grassgem|adamant|0,252,0,0,4,252|bulletseed|lowsweep|machpunch|swordsdance", + "jirachi": "|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|icepunch|uturn|healingwish", + "volcarona": "|flamebody|leftovers|timid|72,0,0,252,0,184|flamethrower|bugbuzz|hiddenpowerground|quiverdance", + "starmie": "|analytic|leftovers|timid|0,0,0,252,4,252|surf|icebeam|thunderbolt|rapidspin" + } + ], + "politoed|seismitoad|gyarados|tentacruel|scizor|magnezone": [], + "keldeo|thundurustherian|latios|politoed|ferrothorn|tentacruel": [ + { + "keldeo": "|justified|leftovers|timid|0,0,0,252,4,252|roar|scald|secretsword|hydropump", + "thundurustherian": "|voltabsorb|leftovers|timid|24,0,0,252,56,176|thunder|grassknot|hiddenpowerice|focusblast", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "politoed": "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|encore|refresh|protect", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|stealthrock", + "tentacruel": "|raindish|blacksludge|timid|248,0,0,0,76,184|scald|rapidspin|toxic|protect" + } + ], + "skarmory|mew|latios|dragonite|garchomp|scizor": [ + { + "skarmory": "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt", + "mew": "|synchronize|mentalherb|timid|252,0,4,0,0,252|swordsdance|taunt|batonpass|barrier", + "latios": "|levitate|lightclay|timid|252,0,0,4,0,252|reflect|lightscreen|dracometeor|memento", + "dragonite": "|multiscale|lumberry|adamant|0,252,0,0,4,252|dragondance|outrage|firepunch|extremespeed", + "garchomp": "|roughskin|salacberry|jolly|4,252,0,0,0,252|substitute|swordsdance|outrage|earthquake", + "scizor": "|technician|steelgem|adamant|0,248,12,0,12,236|bulletpunch|superpower|swordsdance|bugbite" + } + ], + "tyranitar|skarmory|xatu|seismitoad|excadrill|garchomp": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,172,0|pursuit|crunch|earthquake|thunderwave", + "skarmory": "|sturdy|rockyhelmet|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,184,0,0,72|roost|magiccoat|thunderwave|uturn", + "seismitoad": "|waterabsorb|leftovers|calm|248,0,0,0,232,28|scald|refresh|protect|stealthrock", + "excadrill": "|moldbreaker|leftovers|jolly|0,252,0,0,4,252|swordsdance|earthquake|ironhead|protect", + "garchomp": "|roughskin|choicescarf|naive|0,252,0,4,0,252|outrage|earthquake|dualchop|hiddenpowerice" + } + ], + "politoed|ferrothorn|latios|tentacruel|mew|keldeo": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,4,0,252,0|scald|protect|refresh|encore", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|seedbomb|stealthrock", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|protect|safeguard", + "mew": "|synchronize|leftovers|bold|252,0,128,0,128,0|rockpolish|substitute|softboiled|batonpass", + "keldeo": "|justified|ghostgem|timid|0,0,0,252,4,252|calmmind|surf|secretsword|hiddenpowerghost" + } + ], + "mew|landorustherian|dragonite|latios|garchomp|scizor": [], + "mew|suicune|magnezone|kyuremblack|latios|scizor": [ + { + "mew": "|synchronize|normalgem|jolly|0,252,0,0,4,252|stealthrock|taunt|explosion|tailwind", + "suicune": "|pressure|lifeorb|timid|0,0,0,252,4,252|hydropump|icebeam|hiddenpowergrass|tailwind", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|fusionbolt|icebeam", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|tailwind", + "scizor": "|technician|choiceband|adamant|248,252,0,0,8,0|uturn|bulletpunch|superpower|pursuit" + } + ], + "politoed|tentacruel|suicune|ferrothorn|latios|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,144,0,56,60|scald|toxic|encore|protect", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxicspikes|protect", + "suicune": "|pressure|leftovers|timid|252,0,0,12,0,244|calmmind|scald|protect|substitute", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|worryseed|powerwhip|stealthrock", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "thundurustherian": "|voltabsorb|leftovers|timid|104,0,156,60,4,184|thunder|hiddenpowerice|focusblast|substitute" + } + ], + "tyranitar|gliscor|ferrothorn|latios|gengar|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,88,0,0,168,0|pursuit|crunch|earthquake|icebeam", + "gliscor": "|poisonheal|toxicorb|impish|244,16,116,0,132,0|stealthrock|earthquake|protect|uturn", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,8,0,248,0|spikes|powerwhip|knockoff|thunderwave", + "latios": "|levitate|colburberry|timid|0,0,4,252,0,252|dracometeor|surf|hiddenpowerfire|recover", + "gengar": "|levitate|blacksludge|timid|248,0,0,8,0,252|trick|shadowball|hiddenpowerice|destinybond", + "alakazam": "|magicguard|focussash|timid|0,0,4,252,0,252|psyshock|focusblast|grassknot|hiddenpowerice" + } + ], + "jirachi|tyranitar|latios|reuniclus|landorustherian|rotomwash": [ + { + "jirachi": "|serenegrace|flameorb|calm|252,0,0,192,44,20|thunder|uturn|doomdesire|trick", + "tyranitar": "|sandstream|chopleberry|gentle|252,4,0,0,252,0|stealthrock|pursuit|crunch|fireblast", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|roost", + "reuniclus": "|magicguard|leftovers|bold|252,0,248,0,4,4|calmmind|recover|psychic|focusblast", + "landorustherian": "|intimidate|choicescarf|naive|4,252,0,0,0,252|earthquake|uturn|stoneedge|hiddenpowerice", + "rotomwash": "|levitate|chestoberry|calm|248,0,28,0,232,0|voltswitch|hydropump|willowisp|rest" + } + ], + "reuniclus|kyurem|politoed|tentacruel|ferrothorn|thundurustherian": [ + { + "reuniclus": "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|recover|thunder|hiddenpowerice", + "kyurem": "|pressure|choicescarf|timid|0,0,0,252,4,252|icebeam|dracometeor|earthpower|focusblast", + "politoed": "|drizzle|leftovers|bold|252,0,216,0,0,40|scald|protect|encore|toxic", + "tentacruel": "|raindish|blacksludge|timid|252,0,168,0,56,32|scald|rapidspin|toxicspikes|protect", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|stealthrock|powerwhip|knockoff", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,164,64,0,176|focusblast|thunder|hiddenpowerice|substitute" + } + ], + "kyuremblack|ferrothorn|politoed|celebi|tornadus|excadrill": [ + { + "kyuremblack": "|teravolt|powerherb|adamant|52,252,0,0,0,204|substitute|dragonclaw|fusionbolt|freezeshock", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|stealthrock|powerwhip|knockoff", + "politoed": "|drizzle|leftovers|bold|252,0,132,0,24,80|scald|protect|icebeam|toxic", + "celebi": "|naturalcure|leftovers|careful|252,0,0,0,192,64|batonpass|swordsdance|zenheadbutt|recover", + "tornadus": "|prankster|flyinggem|jolly|0,252,4,0,0,252|acrobatics|superpower|bulkup|tailwind", + "excadrill": "|moldbreaker|choicescarf|adamant|0,252,0,0,4,252|earthquake|ironhead|rapidspin|rockslide" + } + ], + "tyranitar|breloom|latios|celebi|excadrill|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|gentle|252,60,0,0,196,0|earthquake|pursuit|crunch|fireblast", + "breloom": "|technician|choiceband|adamant|16,252,0,0,0,240|seedbomb|lowsweep|machpunch|megakick", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "celebi": "|naturalcure|leftovers|timid|0,0,4,252,0,252|nastyplot|recover|leafstorm|hiddenpowerice", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "landorustherian": "|intimidate|leftovers|lax|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice" + } + ], + "skarmory|tyranitar|amoonguss|magnezone|reuniclus|latios": [ + { + "skarmory": "|sturdy|leftovers|careful|224,0,32,0,252,0|spikes|roost|whirlwind|bravebird", + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,252,0|stealthrock|pursuit|crunch|superpower", + "amoonguss": "|regenerator|blacksludge|calm|252,0,28,0,228,0|gigadrain|hiddenpowerice|stunspore|sludgebomb", + "magnezone": "|magnetpull|choicescarf|timid|0,0,0,252,4,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|recover|psyshock|hiddenpowerice", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse" + } + ], + "sceptile|scizor|latios|magnezone|garchomp|mamoswine": [ + { + "sceptile": "|unburden|absorbbulb|modest|88,0,0,252,4,164|dragonpulse|gigadrain|focusblast|hiddenpowerice", + "scizor": "|technician|leftovers|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|roost", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "garchomp": "|roughskin|focussash|jolly|4,252,0,0,0,252|stealthrock|swordsdance|outrage|earthquake", + "mamoswine": "|thickfat|nevermeltice|jolly|0,252,4,0,0,252|iciclecrash|iceshard|earthquake|substitute" + } + ], + "celebi|latios|tyranitar|skarmory|excadrill|rotomwash": [ + { + "celebi": "|naturalcure|leftovers|modest|56,0,0,252,0,200|leafstorm|nastyplot|psychic|recover", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|surf|dracometeor|trick|dragonpulse", + "tyranitar": "|sandstream|chopleberry|lonely|232,88,0,0,252,0|crunch|fireblast|stealthrock|pursuit", + "skarmory": "|sturdy|rockyhelmet|careful|252,0,112,0,120,24|bravebird|torment|whirlwind|roost", + "excadrill": "|sandforce|leftovers|adamant|0,252,40,0,0,216|earthquake|rapidspin|ironhead|protect", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit" + } + ], + "skarmory|reuniclus|latios|chandelure|ditto|garchomp": [ + { + "skarmory": "|sturdy|salacberry|naive|0,252,0,4,0,252|spikes|stealthrock|taunt|bravebird", + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|signalbeam", + "latios": "|levitate|dragongem|timid|4,0,0,252,0,252|calmmind|recover|dracometeor|surf", + "chandelure": "|flashfire|airballoon|timid|0,0,4,252,0,252|shadowball|flamethrower|energyball|sunnyday", + "ditto": "|imposter|choicescarf|relaxed|252,0,252,0,4,0|transform", + "garchomp": "|roughskin|yacheberry|jolly|0,252,4,0,0,252|swordsdance|earthquake|dualchop|aquatail" + } + ], + "politoed|breloom|scizor|thundurustherian|latios|terrakion": [ + { + "politoed": "|drizzle|watergem|modest|72,0,0,252,0,184|hydropump|icebeam|encore|toxic", + "breloom": "|technician|grassgem|adamant|56,252,0,0,0,200|machpunch|bulletseed|lowsweep|swordsdance", + "scizor": "|technician|choicescarf|jolly|0,252,0,0,4,252|uturn|bugbite|superpower|pursuit", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,196,80,0,208|thunder|focusblast|hiddenpowerice|substitute", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|dragonpulse|trick", + "terrakion": "|justified|focussash|jolly|0,252,4,0,0,252|closecombat|earthquake|taunt|stealthrock" + } + ], + "hydreigon|gliscor|rotomwash|jirachi|mamoswine|latios": [ + { + "hydreigon": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|darkpulse|surf|flamethrower", + "gliscor": "|poisonheal|toxicorb|impish|244,0,116,0,0,148|earthquake|uturn|taunt|protect", + "rotomwash": "|levitate|leftovers|calm|248,0,52,0,208,0|hydropump|voltswitch|willowisp|painsplit", + "jirachi": "|serenegrace|leftovers|calm|248,0,0,40,220,0|thunder|icywind|uturn|stealthrock", + "mamoswine": "|thickfat|metronome|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|substitute", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover" + } + ], + "tyranitar|skarmory|jellicent|heatran|latios|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|careful|240,40,0,0,208,20|stealthrock|crunch|pursuit|earthquake", + "skarmory": "|sturdy|rockyhelmet|impish|248,0,228,0,0,32|taunt|spikes|roost|whirlwind", + "jellicent": "|waterabsorb|leftovers|bold|248,0,136,0,0,124|taunt|willowisp|nightshade|recover", + "heatran": "|flashfire|leftovers|timid|56,0,0,112,92,248|substitute|protect|lavaplume|hiddenpowerice", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|recover|trick", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|signalbeam|hiddenpowerice" + } + ], + "tyranitar|seismitoad|excadrill|celebi|latios|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|sassy|248,0,16,68,176,0|crunch|fireblast|icebeam|pursuit", + "seismitoad": "|waterabsorb|leftovers|bold|252,0,252,0,0,4|stealthrock|protect|scald|refresh", + "excadrill": "|sandforce|leftovers|jolly|0,252,4,0,0,252|protect|rapidspin|ironhead|earthquake", + "celebi": "|naturalcure|leftovers|calm|252,0,0,40,216,0|recover|nastyplot|gigadrain|psychic", + "latios": "|levitate|flameorb|timid|136,0,0,120,0,252|roost|trick|psychoshift|icebeam", + "landorustherian": "|intimidate|choicescarf|jolly|160,72,24,0,0,252|uturn|earthquake|stoneedge|knockoff" + } + ], + "tyranitar|starmie|scizor|celebi|keldeo|landorustherian": [ + { + "tyranitar": "|sandstream|choicescarf|jolly|0,252,0,0,4,252|crunch|pursuit|stoneedge|earthquake", + "starmie": "|naturalcure|leftovers|timid|248,0,36,0,0,224|recover|scald|rapidspin|reflecttype", + "scizor": "|technician|choiceband|adamant|152,252,0,0,0,104|bulletpunch|uturn|superpower|pursuit", + "celebi": "|naturalcure|leftovers|calm|252,0,20,0,216,20|recover|gigadrain|psychic|batonpass", + "keldeo": "|justified|leftovers|timid|0,0,0,252,4,252|protect|scald|secretsword|hiddenpowerice", + "landorustherian": "|intimidate|leftovers|impish|244,0,252,0,0,12|stealthrock|earthquake|knockoff|uturn" + } + ], + "politoed|landorustherian|ferrothorn|tentacruel|dragonite|sharpedo": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,200,0,56,0|scald|encore|refresh|protect", + "landorustherian": "|intimidate|choicescarf|naughty|252,16,4,0,0,236|earthquake|stoneedge|hiddenpowerice|uturn", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|powerwhip|knockoff", + "tentacruel": "|raindish|blacksludge|timid|252,0,0,0,72,184|toxic|scald|rapidspin|protect", + "dragonite": "|multiscale|leftovers|jolly|252,0,0,0,80,176|substitute|dragondance|dragonclaw|roost", + "sharpedo": "|speedboost|lifeorb|mild|0,56,0,252,0,200|hydropump|icebeam|earthquake|darkpulse" + } + ], + "politoed|ferrothorn|starmie|sharpedo|latios|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,144,0,56,60|scald|toxic|encore|protect", + "ferrothorn": "|ironbarbs|mail|careful|252,0,48,0,208,0|spikes|leechseed|gyroball|stealthrock", + "starmie": "|analytic|splashplate|timid|0,0,0,252,4,252|hydropump|thunderbolt|icebeam|rapidspin", + "sharpedo": "|speedboost|lifeorb|adamant|0,252,0,4,0,252|waterfall|crunch|zenheadbutt|protect", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|trick", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,32,0,216|thunder|hiddenpowerice|focusblast|substitute" + } + ], + "azelf|togekiss|breloom|scizor|cloyster|reuniclus": [ + { + "azelf": "|levitate|lightclay|hasty|0,252,0,4,0,252|stealthrock|lightscreen|explosion|reflect", + "togekiss": "|serenegrace|salacberry|timid|252,0,0,4,0,252|airslash|aurasphere|nastyplot|substitute", + "breloom": "|technician|fightinggem|adamant|4,252,0,0,0,252|swordsdance|machpunch|bulletseed|focuspunch", + "scizor": "|technician|choicescarf|jolly|0,252,0,0,4,252|uturn|pursuit|bulletpunch|superpower", + "cloyster": "|skilllink|icegem|adamant|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard", + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|signalbeam" + } + ], + "togekiss|jirachi|breloom|rotomwash|landorustherian|starmie": [], + "landorustherian|politoed|starmie|ferrothorn|jirachi|latios": [ + { + "landorustherian": "|intimidate|choicescarf|naive|176,56,104,0,0,172|earthquake|uturn|stoneedge|hiddenpowerice", + "politoed": "|drizzle|leftovers|bold|248,0,216,0,28,16|scald|toxic|protect|refresh", + "starmie": "|analytic|choicespecs|timid|0,0,0,252,4,252|hydropump|psychic|trick|rapidspin", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|powerwhip|knockoff", + "jirachi": "|serenegrace|leftovers|hasty|252,0,0,96,0,160|substitute|ironhead|thunder|waterpulse", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|surf|recover|trick" + } + ], + "tyranitar|seismitoad|landorustherian|xatu|ferrothorn|excadrill": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam", + "seismitoad": "|waterabsorb|leftovers|bold|248,0,224,0,0,36|scald|refresh|knockoff|toxic", + "landorustherian": "|intimidate|leftovers|naive|160,0,112,0,0,236|stealthrock|earthquake|uturn|hiddenpowerice", + "xatu": "|magicbounce|rockyhelmet|bold|248,0,188,0,0,72|roost|nightshade|uturn|reflect", + "ferrothorn": "|ironbarbs|shedshell|sassy|252,0,48,0,208,0|spikes|gyroball|leechseed|rest", + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|substitute" + } + ], + "dusclops|latios|heatran|tyranitar|skarmory|rotomwash": [ + { + "dusclops": "|pressure|eviolite|calm|248,0,8,0,252,0|willowisp|nightshade|rest|painsplit", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "heatran": "|flashfire|leftovers|calm|248,0,0,0,140,120|lavaplume|earthpower|protect|stealthrock", + "tyranitar": "|sandstream|chopleberry|hasty|0,208,0,48,0,252|crunch|superpower|icebeam|fireblast", + "skarmory": "|sturdy|rockyhelmet|careful|248,0,16,0,224,20|spikes|roost|whirlwind|drillpeck", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|hydropump|voltswitch|willowisp|painsplit" + } + ], + "politoed|tentacruel|volcarona|latias|celebi|skarmory": [ + { + "politoed": "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|psychic|icebeam|scald", + "tentacruel": "|raindish|blacksludge|timid|252,0,160,0,0,96|scald|rapidspin|toxicspikes|protect", + "volcarona": "|flamebody|passhoberry|timid|72,0,0,252,0,184|quiverdance|bugbuzz|hiddenpowerice|fireblast", + "latias": "|levitate|leftovers|timid|252,0,4,0,0,252|recover|calmmind|dragonpulse|psychoshift", + "celebi": "|naturalcure|leftovers|bold|240,0,96,0,72,100|stealthrock|recover|gigadrain|earthpower", + "skarmory": "|sturdy|rockyhelmet|careful|248,0,44,0,216,0|spikes|roost|whirlwind|drillpeck" + } + ], + "tyranitar|landorustherian|ferrothorn|latios|garchomp|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|sassy|248,0,0,48,208,4|fireblast|pursuit|crunch|earthquake", + "landorustherian": "|intimidate|leftovers|impish|248,0,168,0,0,92|stealthrock|earthquake|uturn|hiddenpowerice", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|rest", + "latios": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|recover|surf|trick", + "garchomp": "|roughskin|choiceband|adamant|0,252,4,0,0,252|outrage|earthquake|firefang|dualchop", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|grassknot|hiddenpowerice" + } + ], + "ferrothorn|landorustherian|tyranitar|hydreigon|rotomwash|latios": [ + { + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,48,0,208,0|powerwhip|gyroball|knockoff|spikes", + "landorustherian": "|intimidate|leftovers|relaxed|252,0,232,0,24,0|stealthrock|earthquake|hiddenpowerice|uturn", + "tyranitar": "|sandstream|chopleberry|gentle|144,0,0,36,188,140|crunch|earthquake|fireblast|pursuit", + "hydreigon": "|levitate|choicespecs|modest|16,0,0,252,4,236|dracometeor|flamethrower|earthpower|darkpulse", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|voltswitch|hydropump|willowisp|painsplit", + "latios": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|surf|trick|roost" + } + ], + "landorustherian|alakazam|garchomp|ferrothorn|rotomwash|tyranitar": [ + { + "landorustherian": "|intimidate|choicescarf|naughty|248,76,0,0,0,184|earthquake|hiddenpowerice|explosion|uturn", + "alakazam": "|magicguard|lifeorb|timid|0,0,0,252,4,252|psychic|grassknot|hiddenpowerfire|substitute", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|fireblast|earthquake|stealthrock", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,48,0,208,0|powerwhip|knockoff|thunderwave|spikes", + "rotomwash": "|levitate|leftovers|calm|248,0,20,0,240,0|willowisp|painsplit|voltswitch|hydropump", + "tyranitar": "|sandstream|chopleberry|lonely|248,88,0,4,144,24|pursuit|icebeam|superpower|crunch" + } + ], + "toxicroak|politoed|ferrothorn|excadrill|latios|thundurustherian": [ + { + "toxicroak": "|dryskin|lifeorb|adamant|228,252,0,0,0,28|substitute|focuspunch|icepunch|thunderpunch", + "politoed": "|drizzle|leftovers|bold|252,0,184,0,0,72|scald|toxic|protect|encore", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|spikes|knockoff|worryseed|gyroball", + "excadrill": "|moldbreaker|leftovers|adamant|224,92,0,0,0,192|earthquake|ironhead|stealthrock|rapidspin", + "latios": "|levitate|choicescarf|timid|4,0,0,252,0,252|dracometeor|surf|trick|recover", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|thunder|substitute|hiddenpowerice|focusblast" + } + ], + "landorustherian|tyranitar|ferrothorn|terrakion|alakazam|rotomwash": [ + { + "landorustherian": "|intimidate|choicescarf|naive|120,56,96,0,0,236|uturn|earthquake|hiddenpowerice|stoneedge", + "tyranitar": "|sandstream|chopleberry|adamant|248,88,0,0,168,4|stealthrock|crunch|pursuit|superpower", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,88,0,168,0|spikes|leechseed|powerwhip|knockoff", + "terrakion": "|justified|lifeorb|lonely|0,252,0,16,0,240|closecombat|hiddenpowerice|stoneedge|quickattack", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|psychic|focusblast|encore|signalbeam", + "rotomwash": "|levitate|leftovers|calm|248,0,100,0,160,0|voltswitch|hydropump|willowisp|painsplit" + } + ], + "ferrothorn|starmie|rotomwash|landorustherian|latios|volcarona": [ + { + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|stealthrock|spikes|knockoff|powerwhip", + "starmie": "|analytic|lifeorb|timid|0,0,4,252,0,252|rapidspin|hydropump|icebeam|psychic", + "rotomwash": "|levitate|leftovers|calm|248,0,0,28,232,0|voltswitch|hydropump|willowisp|painsplit", + "landorustherian": "|intimidate|choicescarf|jolly|248,88,0,0,0,172|earthquake|uturn|hiddenpowerice|stoneedge", + "latios": "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|surf|recover|psyshock", + "volcarona": "|flamebody|passhoberry|timid|72,0,0,252,0,184|quiverdance|fireblast|bugbuzz|gigadrain" + } + ], + "reuniclus|ferrothorn|clefable|latios|tyranitar|landorustherian": [ + { + "reuniclus": "|magicguard|leftovers|bold|220,0,180,0,96,12|recover|focusblast|psyshock|calmmind", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|powerwhip|knockoff|thunderwave", + "clefable": "|magicguard|lifeorb|modest|80,0,0,252,0,176|thunder|icebeam|fireblast|softboiled", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|surf|recover|trick", + "tyranitar": "|sandstream|choicescarf|hasty|0,208,0,48,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|jolly|160,0,112,0,0,236|stealthrock|earthquake|uturn|hiddenpowerice" + } + ], + "scizor|tyranitar|gliscor|jellicent|garchomp|skarmory": [ + { + "scizor": "|technician|lifeorb|adamant|32,252,12,0,0,212|bulletpunch|bugbite|superpower|swordsdance", + "tyranitar": "|sandstream|choicescarf|hasty|0,208,0,48,0,252|pursuit|superpower|icebeam|crunch", + "gliscor": "|poisonheal|toxicorb|impish|244,0,192,0,0,72|earthquake|stealthrock|knockoff|protect", + "jellicent": "|waterabsorb|leftovers|bold|108,0,252,0,0,148|recover|willowisp|nightshade|taunt", + "garchomp": "|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|hiddenpowerice", + "skarmory": "|sturdy|rockyhelmet|careful|248,0,24,0,216,20|taunt|spikes|roost|whirlwind" + } + ], + "mamoswine|politoed|latios|tentacruel|rotomwash|ferrothorn": [ + { + "mamoswine": "|thickfat|choiceband|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|superpower", + "politoed": "|drizzle|leftovers|bold|248,0,208,0,0,52|scald|hiddenpowerflying|encore|protect", + "latios": "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover", + "tentacruel": "|raindish|leftovers|timid|248,0,164,0,0,96|scald|toxic|rapidspin|protect", + "rotomwash": "|levitate|choicescarf|timid|72,0,0,184,0,252|hydropump|voltswitch|willowisp|trick", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|gyroball|knockoff|stealthrock" + } + ], + "politoed|moltres|excadrill|celebi|ferrothorn|tentacruel": [], + "victini|excadrill|gyarados|blissey|latios|cloyster": [ + { + "victini": "|victorystar|choicescarf|jolly|252,4,0,0,0,252|vcreate|uturn|boltstrike|finalgambit", + "excadrill": "|moldbreaker|focussash|jolly|0,252,4,0,0,252|earthquake|rocktomb|stealthrock|rapidspin", + "gyarados": "|intimidate|watmelberry|adamant|0,252,4,0,0,252|waterfall|return|naturalgift|dragondance", + "blissey": "|naturalcure|choicescarf|jolly|0,0,252,0,4,252|thunderwave|copycat|healingwish|fling", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|sunnyday|trick|memento", + "cloyster": "|skilllink|king'srock|jolly|0,252,4,0,0,252|iciclespear|rockblast|iceshard|shellsmash" + } + ], + "politoed|moltres|chansey|ferrothorn|tentacruel|landorustherian": [], + "politoed|moltres|chansey|scizor|landorustherian|tentacruel": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,216,0,44,0|scald|toxic|protect|encore", + "moltres": "|pressure|leftovers|timid|88,0,52,176,0,192|hurricane|willowisp|substitute|roost", + "chansey": "|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|toxic|stealthrock|softboiled", + "scizor": "|technician|choiceband|adamant|0,252,0,0,4,252|bulletpunch|uturn|superpower|pursuit", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|stealthrock", + "tentacruel": "|raindish|leftovers|timid|248,0,180,0,0,80|scald|knockoff|rapidspin|protect" + }, + { + "politoed": "|drizzle|leftovers|bold|248,0,216,0,0,44|scald|toxic|protect|encore", + "moltres": "|pressure|leftovers|timid|88,0,52,176,0,192|hurricane|willowisp|substitute|roost", + "chansey": "|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|wish|stealthrock|softboiled", + "scizor": "|technician|choiceband|adamant|0,252,0,0,4,252|bulletpunch|uturn|superpower|pursuit", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|knockoff", + "tentacruel": "|raindish|leftovers|timid|248,0,180,0,0,80|scald|toxic|rapidspin|protect" + } + ], + "tyranitar|heatran|mamoswine|landorustherian|starmie|amoonguss": [], + "politoed|tentacruel|moltres|ferrothorn|mamoswine|landorustherian": [], + "mamoswine|breloom|politoed|ferrothorn|tentacruel|thundurustherian": [ + { + "mamoswine": "|thickfat|choiceband|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|superpower", + "breloom": "|poisonheal|toxicorb|careful|236,0,20,0,252,0|drainpunch|facade|bulkup|protect", + "politoed": "|drizzle|choicescarf|timid|0,0,4,252,0,252|hydropump|icebeam|toxic|encore", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|gyroball|stealthrock|spikes", + "tentacruel": "|raindish|leftovers|timid|252,0,36,0,0,220|scald|toxic|rapidspin|protect", + "thundurustherian": "|voltabsorb|leftovers|modest|24,0,196,80,0,208|nastyplot|thunder|hiddenpowerice|substitute" + } + ], + "garchomp|dragonite|rotomwash|latios|magnezone|jirachi": [ + { + "garchomp": "|roughskin|salacberry|jolly|12,244,0,0,0,252|dragonclaw|earthquake|substitute|swordsdance", + "dragonite": "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|earthquake|extremespeed|dragonclaw", + "rotomwash": "|levitate|choicescarf|timid|72,0,0,184,0,252|hydropump|voltswitch|hiddenpowerice|trick", + "latios": "|levitate|lifeorb|jolly|0,252,0,4,0,252|outrage|earthquake|icebeam|dragondance", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday", + "jirachi": "|serenegrace|leftovers|careful|252,0,4,0,252,0|ironhead|uturn|healingwish|stealthrock" + } + ], + "garchomp|latios|jirachi|magnezone|kyuremblack|rotomwash": [ + { + "garchomp": "|roughskin|choicescarf|jolly|0,252,4,0,0,252|outrage|earthquake|dualchop|stealthrock", + "latios": "|levitate|lifeorb|jolly|0,252,0,4,0,252|outrage|earthquake|icebeam|dragondance", + "jirachi": "|serenegrace|leftovers|careful|252,0,4,0,252,0|ironhead|uturn|healingwish|stealthrock", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|icebeam|fusionbolt", + "rotomwash": "|levitate|leftovers|modest|248,0,0,128,0,132|hydropump|voltswitch|hiddenpowerflying|thunderwave" + } + ], + "garchomp|magnezone|latios|jirachi|excadrill|dragonite": [], + "tyranitar|terrakion|rotomwash|latios|landorustherian|heatran": [ + { + "tyranitar": "|sandstream|chopleberry|careful|248,0,0,0,228,32|crunch|pursuit|superpower|stealthrock", + "terrakion": "|justified|lifeorb|adamant|0,252,4,0,0,252|closecombat|stoneedge|swordsdance|rockpolish", + "rotomwash": "|levitate|leftovers|calm|252,0,52,0,204,0|hiddenpowerice|voltswitch|willowisp|painsplit", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|earthquake|uturn|hiddenpowerice|superpower", + "heatran": "|flashfire|leftovers|modest|168,0,0,252,0,88|magmastorm|earthpower|hiddenpowerice|protect" + } + ], + "seismitoad|slowbro|chansey|xatu|excadrill|ditto": [], + "tyranitar|terrakion|ferrothorn|jellicent|landorustherian|excadrill": [], + "garchomp|latios|dragonite|starmie|jirachi|magnezone": [ + { + "garchomp": "|roughskin|choicescarf|jolly|0,252,4,0,0,252|outrage|earthquake|dualchop|stealthrock", + "latios": "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover", + "dragonite": "|multiscale|yacheberry|adamant|0,252,0,0,4,252|outrage|earthquake|extremespeed|dragondance", + "starmie": "|analytic|choicespecs|timid|0,0,4,252,0,252|hydropump|icebeam|trick|rapidspin", + "jirachi": "|serenegrace|shucaberry|sassy|248,0,0,60,200,0|thunder|icywind|uturn|stealthrock", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday" + } + ], + "ninetales|victini|gastrodon|latios|xatu|heatran": [ + { + "ninetales": "|drought|leftovers|timid|248,0,0,0,76,184|flamethrower|willowisp|sunnyday|protect", + "victini": "|victorystar|choicescarf|jolly|0,252,0,0,4,252|vcreate|uturn|boltstrike|glaciate", + "gastrodon": "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|earthquake|icebeam|toxic|recover", + "latios": "|levitate|lifeorb|hasty|0,44,0,220,0,244|dracometeor|earthquake|hiddenpowerfire|recover", + "xatu": "|magicbounce|rockyhelmet|bold|248,0,252,0,8,0|nightshade|uturn|toxic|roost", + "heatran": "|flashfire|leftovers|calm|252,0,0,0,212,44|magmastorm|willowisp|stealthrock|protect" + } + ], + "garchomp|landorustherian|jirachi|magnezone|latios|kyuremblack": [], + "ninetales|forretress|gastrodon|cresselia|magnezone|chansey": [ + { + "ninetales": "|drought|leftovers|timid|248,0,0,0,76,184|flamethrower|willowisp|sunnyday|protect", + "forretress": "|sturdy|leftovers|calm|248,0,8,0,252,0|hiddenpowerice|voltswitch|toxicspikes|rapidspin", + "gastrodon": "|stormdrain|leftovers|relaxed|248,0,252,0,8,0|earthquake|icebeam|toxic|recover", + "cresselia": "|levitate|leftovers|bold|248,0,252,0,8,0|icebeam|toxic|skillswap|moonlight", + "magnezone": "|magnetpull|choicescarf|timid|0,0,4,252,0,252|thunderbolt|flashcannon|voltswitch|hiddenpowerfire", + "chansey": "|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|wish|stealthrock|softboiled" + } + ], + "jirachi|garchomp|magnezone|weavile|celebi|rotomwash": [], + "rotomwash|latios|kyuremblack|magnezone|garchomp|jirachi": [], + "latios|garchomp|reuniclus|magnezone|jirachi|latias": [ + { + "latios": "|levitate|dragongem|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover", + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|outrage|earthquake|dualchop|stealthrock", + "reuniclus": "|magicguard|leftovers|bold|252,0,252,0,4,0|thunder|hiddenpowerice|calmmind|recover", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday", + "jirachi": "|serenegrace|leftovers|careful|252,0,40,0,216,0|ironhead|uturn|bodyslam|stealthrock", + "latias": "|levitate|flameorb|timid|64,0,0,192,0,252|dracometeor|surf|trick|recover" + } + ], + "garchomp|jirachi|kyuremblack|magnezone|latios|reuniclus": [ + { + "garchomp": "|roughskin|choicescarf|jolly|0,252,4,0,0,252|outrage|earthquake|dualchop|stealthrock", + "jirachi": "|serenegrace|leftovers|careful|252,0,4,0,252,0|ironhead|uturn|healingwish|stealthrock", + "kyuremblack": "|teravolt|choiceband|adamant|0,252,4,0,0,252|outrage|dragonclaw|fusionbolt|icebeam", + "magnezone": "|magnetpull|airballoon|modest|0,0,4,252,0,252|thunderbolt|hiddenpowerfire|magnetrise|sunnyday", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|surf|trick|recover", + "reuniclus": "|magicguard|lifeorb|quiet|252,0,4,252,0,0|psychic|focusblast|shadowball|trickroom" + } + ], + "politoed|rotomwash|mamoswine|ferrothorn|tentacruel|tornadus": [], + "tyranitar|landorustherian|terrakion|amoonguss|slowbro|excadrill": [], + "gliscor|tyranitar|volcarona|forretress|rotomwash|latios": [ + { + "gliscor": "|poisonheal|toxicorb|jolly|244,0,0,0,128,136|wingattack|protect|toxic|earthquake", + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,252,0|crunch|pursuit|superpower|stealthrock", + "volcarona": "|flamebody|lumberry|timid|72,0,0,252,0,184|quiverdance|bugbuzz|fireblast|hiddenpowerice", + "forretress": "|sturdy|leftovers|sassy|252,0,4,0,252,0|spikes|rapidspin|earthquake|hiddenpowerice", + "rotomwash": "|levitate|leftovers|calm|252,0,4,0,252,0|voltswitch|hydropump|willowisp|painsplit", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|recover" + } + ], + "tyranitar|latias|excadrill|alakazam|rotomwash|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|168,88,0,0,252,0|pursuit|crunch|stealthrock|earthquake", + "latias": "|levitate|rockyhelmet|timid|248,0,64,0,0,196|icebeam|thunderwave|recover|hiddenpowerfire", + "excadrill": "|sandforce|leftovers|adamant|0,252,0,0,4,252|substitute|protect|earthquake|ironhead", + "alakazam": "|magicguard|focussash|timid|0,0,0,252,4,252|focusblast|psychic|hiddenpowerice|encore", + "rotomwash": "|levitate|leftovers|calm|252,0,4,0,252,0|willowisp|voltswitch|hydropump|painsplit", + "landorustherian": "|intimidate|leftovers|naive|248,0,164,0,0,96|knockoff|uturn|earthquake|hiddenpowerice" + } + ], + "skarmory|garchomp|jellicent|ditto|breloom|jirachi": [ + { + "skarmory": "|sturdy|custapberry|naive|0,252,0,0,0,252|stealthrock|spikes|bravebird|taunt", + "garchomp": "|roughskin|lumberry|jolly|0,252,0,0,4,252|swordsdance|outrage|earthquake|sandstorm", + "jellicent": "|waterabsorb|leftovers|bold|252,0,252,0,4,0|recover|willowisp|rest|scald", + "ditto": "|imposter|choicescarf|impish|248,8,252,0,0,0|transform", + "breloom": "|technician|choiceband|adamant|0,252,0,0,4,252|bulletseed|machpunch|lowsweep|stoneedge", + "jirachi": "|serenegrace|shucaberry|timid|32,0,0,252,4,220|hiddenpowerfire|thunder|calmmind|icywind" + } + ], + "politoed|ferrothorn|keldeo|tentacruel|latios|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|perishsong|toxic", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|stealthrock|leechseed", + "keldeo": "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|hiddenpowerghost|secretsword", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast" + } + ], + "politoed|ferrothorn|tentacruel|keldeo|landorustherian|latios": [ + { + "politoed": "|drizzle|leftovers|calm|252,0,116,0,140,0|scald|protect|perishsong|toxic", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|leechseed", + "tentacruel": "|raindish|blacksludge|timid|252,0,72,0,0,184|scald|rapidspin|toxic|protect", + "keldeo": "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|hiddenpowergrass|secretsword", + "landorustherian": "|intimidate|leftovers|lax|244,0,32,0,0,232|stealthrock|earthquake|uturn|hiddenpowerice", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse" + } + ], + "politoed|dragonite|vaporeon|xatu|celebi|jirachi": [ + { + "politoed": "|drizzle|choicescarf|timid|0,0,0,252,4,252|hydropump|icebeam|scald|encore", + "dragonite": "|multiscale|leftovers|jolly|248,0,16,0,68,176|substitute|dragondance|dragonclaw|roost", + "vaporeon": "|hydration|leftovers|calm|248,0,8,0,252,0|aquaring|scald|batonpass|rest", + "xatu": "|magicbounce|rockyhelmet|impish|252,0,252,0,4,0|nightshade|roost|uturn|thief", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,144,112|gigadrain|stealthrock|recover|psychic", + "jirachi": "|serenegrace|leftovers|timid|252,0,160,0,0,96|calmmind|substitute|thunder|waterpulse" + } + ], + "ninetales|chansey|cresselia|ditto|excadrill|volcarona": [ + { + "ninetales": "|drought|leftovers|timid|248,0,0,0,144,116|flamethrower|sunnyday|willowisp|roar", + "chansey": "|naturalcure|eviolite|bold|248,0,252,0,8,0|stealthrock|seismictoss|toxic|softboiled", + "cresselia": "|levitate|leftovers|bold|252,0,252,0,4,0|reflect|psychic|icebeam|moonlight", + "ditto": "|imposter|choicescarf|sassy|252,0,4,0,252,0|transform", + "excadrill": "|moldbreaker|leftovers|careful|208,0,20,0,252,28|earthquake|protect|rapidspin|toxic", + "volcarona": "|flamebody|lumberry|timid|248,0,144,0,0,116|quiverdance|flamethrower|bugbuzz|morningsun" + } + ], + "politoed|breloom|scizor|latios|keldeo|excadrill": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|encore|toxic", + "breloom": "|poisonheal|toxicorb|adamant|236,24,28,0,212,8|swordsdance|seedbomb|drainpunch|protect", + "scizor": "|technician|choiceband|careful|248,48,0,0,212,0|bulletpunch|uturn|pursuit|superpower", + "latios": "|levitate|flameorb|timid|0,0,0,252,4,252|dracometeor|trick|surf|recover", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|surf|hydropump|hiddenpowerice|secretsword", + "excadrill": "|moldbreaker|leftovers|careful|216,0,12,0,252,28|earthquake|rapidspin|stealthrock|protect" + } + ], + "latios|lucario|rotomwash|tyranitar|landorustherian|ferrothorn": [ + { + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|trick|dragonpulse", + "lucario": "|justified|lifeorb|adamant|4,252,0,0,0,252|swordsdance|closecombat|extremespeed|icepunch", + "rotomwash": "|levitate|leftovers|calm|248,0,0,28,232,0|voltswitch|hydropump|thunderwave|painsplit", + "tyranitar": "|sandstream|chopleberry|careful|212,44,0,0,252,0|stealthrock|pursuit|crunch|superpower", + "landorustherian": "|intimidate|choicescarf|naive|4,252,0,0,0,252|earthquake|uturn|stoneedge|hiddenpowerice", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|leechseed|powerwhip|knockoff" + } + ], + "politoed|jellicent|excadrill|tornadus|gastrodoneast|ferrothorn": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,4,0,0|scald|protect|perishsong|toxic", + "jellicent": "|waterabsorb|choicespecs|modest|172,0,0,252,0,84|waterspout|shadowball|surf|energyball", + "excadrill": "|moldbreaker|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|stealthrock|rapidspin", + "tornadus": "|defiant|sharpbeak|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|hiddenpowerice", + "gastrodoneast": "|stormdrain|leftovers|relaxed|252,0,252,0,4,0|earthquake|scald|toxic|recover", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,120,0,136,0|knockoff|leechseed|spikes|powerwhip" + } + ], + "hippowdon|shaymin|skarmory|rotomwash|bisharp|terrakion": [ + { + "hippowdon": "|sandstream|leftovers|careful|252,0,4,0,252,0|slackoff|earthquake|stealthrock|whirlwind", + "shaymin": "|naturalcure|leftovers|timid|224,0,0,188,0,96|seedflare|earthpower|hiddenpowerice|rest", + "skarmory": "|sturdy|leftovers|impish|224,0,252,0,32,0|spikes|roost|whirlwind|bravebird", + "rotomwash": "|levitate|leftovers|timid|0,0,232,28,0,248|voltswitch|hydropump|thunderwave|painsplit", + "bisharp": "|defiant|lifeorb|adamant|196,252,0,0,0,60|swordsdance|suckerpunch|lowkick|nightslash", + "terrakion": "|justified|rockgem|jolly|0,252,4,0,0,252|substitute|swordsdance|closecombat|stoneedge" + } + ], + "tyranitar|magnezone|scizor|latios|celebi|landorustherian": [ + { + "tyranitar": "|sandstream|chopleberry|sassy|252,44,0,0,212,0|stealthrock|crunch|pursuit|earthquake", + "magnezone": "|magnetpull|airballoon|modest|76,0,0,252,0,180|magnetrise|thunderbolt|sunnyday|hiddenpowerfire", + "scizor": "|technician|leftovers|careful|248,48,0,0,212,0|swordsdance|bulletpunch|uturn|roost", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|surf|dragonpulse", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,220,36|psychic|nastyplot|recover|batonpass", + "landorustherian": "|intimidate|leftovers|naive|168,252,0,0,0,88|hiddenpowerice|earthquake|stoneedge|rockpolish" + } + ], + "politoed|jynx|tentacruel|jirachi|landorustherian|latios": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,228,0,0,28|scald|protect|refresh|toxic", + "jynx": "|dryskin|leftovers|timid|8,0,0,248,0,252|nastyplot|icebeam|substitute|lovelykiss", + "tentacruel": "|raindish|blacksludge|timid|248,0,96,0,52,112|rapidspin|toxic|scald|protect", + "jirachi": "|serenegrace|leftovers|careful|240,0,0,0,252,16|ironhead|bodyslam|uturn|stealthrock", + "landorustherian": "|intimidate|choicescarf|jolly|56,100,116,0,0,236|punishment|earthquake|uturn|stoneedge", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|surf|sleeptalk|dragonpulse" + } + ], + "azelf|whimsicott|garchomp|mew|omastar|thundurustherian": [ + { + "azelf": "|levitate|lightclay|timid|168,0,88,0,0,252|reflect|lightscreen|taunt|explosion", + "whimsicott": "|prankster|leftovers|careful|252,0,68,0,188,0|encore|uturn|tailwind|memento", + "garchomp": "|roughskin|salacberry|jolly|12,244,0,0,0,252|substitute|swordsdance|earthquake|outrage", + "mew": "|synchronize|normalgem|jolly|96,252,0,0,0,160|stealthrock|taunt|explosion|tailwind", + "omastar": "|swiftswim|whiteherb|modest|0,0,0,252,4,252|shellsmash|surf|icebeam|hiddenpowergrass", + "thundurustherian": "|voltabsorb|leftovers|modest|128,0,0,252,0,128|agility|nastyplot|thunderbolt|hiddenpowerice" + } + ], + "abomasnow|kyuremblack|heatran|scizor|starmie|landorustherian": [ + { + "abomasnow": "|snowwarning|focussash|mild|0,40,0,252,0,216|gigadrain|hiddenpowerfire|iceshard|blizzard", + "kyuremblack": "|teravolt|lifeorb|hasty|0,28,0,252,0,228|roost|blizzard|fusionbolt|earthpower", + "heatran": "|flashfire|leftovers|calm|240,0,0,0,252,16|stealthrock|lavaplume|earthpower|willowisp", + "scizor": "|technician|choiceband|adamant|168,20,0,0,252,68|uturn|bulletpunch|pursuit|superpower", + "starmie": "|naturalcure|leftovers|timid|252,0,0,0,32,224|reflecttype|scald|recover|rapidspin", + "landorustherian": "|intimidate|choicescarf|lax|188,68,20,0,0,232|punishment|earthquake|uturn|hiddenpowerice" + } + ], + "tyranitar|latios|reuniclus|ferrothorn|landorustherian|alakazam": [], + "breloom|jirachi|politoed|keldeo|tentacruel|landorustherian": [], + "rotomwash|tyranitar|latios|reuniclus|ferrothorn|landorustherian": [], + "scizor|hippowdon|rotomwash|latios|excadrill|amoonguss": [ + { + "scizor": "|technician|muscleband|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|roost", + "hippowdon": "|sandstream|leftovers|impish|252,4,252,0,0,0|stealthrock|slackoff|earthquake|whirlwind", + "rotomwash": "|levitate|leftovers|modest|252,0,0,252,4,0|voltswitch|hydropump|willowisp|painsplit", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover", + "excadrill": "|sandforce|leftovers|adamant|0,252,0,0,4,252|rapidspin|earthquake|toxic|ironhead", + "amoonguss": "|regenerator|blacksludge|calm|252,0,0,28,228,0|gigadrain|hiddenpowerice|toxic|sludgebomb" + } + ], + "politoed|celebi|tentacruel|cloyster|moltres|dragonite": [ + { + "politoed": "|drizzle|choicespecs|modest|252,0,4,252,0,0|hydropump|icebeam|focusblast|hiddenpowergrass", + "celebi": "|naturalcure|leftovers|calm|252,0,0,0,192,64|batonpass|nastyplot|psychic|recover", + "tentacruel": "|raindish|blacksludge|timid|248,0,244,0,0,16|rapidspin|toxic|scald|protect", + "cloyster": "|skilllink|king'srock|jolly|4,252,0,0,0,252|shellsmash|iciclespear|rockblast|iceshard", + "moltres": "|pressure|choicespecs|modest|0,0,4,252,0,252|hurricane|fireblast|uturn|sleeptalk", + "dragonite": "|multiscale|lifeorb|naive|0,4,0,252,0,252|agility|hurricane|thunder|aquatail" + } + ], + "politoed|ferrothorn|azumarill|tentacruel|moltres|latios": [ + { + "politoed": "|drizzle|leftovers|modest|252,0,0,252,4,0|encore|scald|hiddenpowergrass|icebeam", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|spikes|leechseed|powerwhip|gyroball", + "azumarill": "|hugepower|choiceband|adamant|252,252,0,0,4,0|superpower|aquajet|icepunch|waterfall", + "tentacruel": "|raindish|blacksludge|timid|248,0,244,0,0,16|rapidspin|toxicspikes|scald|protect", + "moltres": "|pressure|choicespecs|modest|0,0,4,252,0,252|hurricane|fireblast|uturn|sleeptalk", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover" + } + ], + "ninetales|snorlax|latias|heatran|venusaur|rhyperior": [ + { + "ninetales": "|flashfire|leftovers|timid|0,0,0,252,4,252|solarbeam|sunnyday|flamethrower|hiddenpowerice", + "snorlax": "|thickfat|choiceband|adamant|72,252,0,0,184,0|return|pursuit|firepunch|superpower", + "latias": "|levitate|firegem|modest|252,0,0,252,4,0|hiddenpowerfire|dracometeor|roost|surf", + "heatran": "|flashfire|leftovers|calm|252,0,0,4,252,0|lavaplume|stealthrock|earthpower|willowisp", + "venusaur": "|overgrow|leftovers|timid|0,0,0,252,4,252|solarbeam|growth|sunnyday|hiddenpowerfire", + "rhyperior": "|lightningrod|leftovers|adamant|252,252,0,0,4,0|stealthrock|earthquake|stoneedge|icefang" + } + ], + "porygon2|scizor|vaporeon|scrafty|heatran|latios": [ + { + "porygon2": "|download|eviolite|quiet|252,0,0,252,4,0|trickroom|thunderbolt|icebeam|thunderwave", + "scizor": "|technician|muscleband|adamant|248,112,0,0,148,0|pursuit|bulletpunch|uturn|roost", + "vaporeon": "|waterabsorb|leftovers|bold|248,0,252,0,0,8|wish|protect|scald|roar", + "scrafty": "|moxie|leftovers|jolly|4,252,0,0,0,252|dragondance|highjumpkick|crunch|icepunch", + "heatran": "|flashfire|airballoon|calm|252,0,0,4,252,0|lavaplume|stealthrock|willowisp|earthpower", + "latios": "|levitate|dragongem|timid|0,0,0,252,4,252|calmmind|dracometeor|surf|recover" + } + ], + "kyuremblack|magnezone|hydreigon|garchomp|starmie|heatran": [ + { + "kyuremblack": "|teravolt|lifeorb|lonely|0,252,0,4,0,252|dragonclaw|fusionbolt|icebeam|hiddenpowerfire", + "magnezone": "|magnetpull|airballoon|modest|0,0,0,252,4,252|thunderbolt|hiddenpowerfire|sunnyday|magnetrise", + "hydreigon": "|levitate|wiseglasses|modest|0,0,0,252,4,252|taunt|darkpulse|focusblast|roost", + "garchomp": "|sandveil|yacheberry|jolly|0,252,0,0,4,252|swordsdance|dragonclaw|earthquake|firefang", + "starmie": "|naturalcure|leftovers|timid|248,0,32,4,0,224|rapidspin|recover|scald|psyshock", + "heatran": "|flashfire|airballoon|timid|0,0,0,252,4,252|earthpower|stealthrock|lavaplume|protect" + } + ], + "excadrill|tyranitar|skarmory|amoonguss|landorustherian|rotomwash": [ + { + "excadrill": "|sandforce|leftovers|adamant|0,252,4,0,0,252|earthquake|ironhead|protect|rapidspin", + "tyranitar": "|sandstream|chopleberry|careful|252,4,0,0,252,0|stealthrock|pursuit|crunch|superpower", + "skarmory": "|sturdy|custapberry|jolly|0,252,4,0,0,252|stealthrock|spikes|bravebird|taunt", + "amoonguss": "|regenerator|blacksludge|calm|252,0,0,28,228,0|gigadrain|hiddenpowerice|stunspore|sludgebomb", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice", + "rotomwash": "|levitate|leftovers|modest|232,0,0,56,0,220|voltswitch|hydropump|willowisp|painsplit" + } + ], + "abomasnow|mamoswine|kyurem|excadrill|jirachi|jellicent": [ + { + "abomasnow": "|snowwarning|leftovers|adamant|40,252,4,0,0,212|protect|woodhammer|focuspunch|iceshard", + "mamoswine": "|thickfat|focussash|adamant|0,252,0,0,4,252|iceshard|earthquake|iciclecrash|stealthrock", + "kyurem": "|pressure|leftovers|modest|52,0,0,220,0,236|substitute|roost|blizzard|earthpower", + "excadrill": "|moldbreaker|leftovers|careful|144,0,0,0,252,112|earthquake|toxic|rapidspin|protect", + "jirachi": "|serenegrace|choicescarf|jolly|72,252,0,0,0,184|ironhead|uturn|healingwish|icepunch", + "jellicent": "|waterabsorb|leftovers|bold|248,0,252,0,8,0|willowisp|taunt|nightshade|recover" + } + ], + "politoed|keldeoresolute|ferrothorn|tentacruel|latios|thundurustherian": [ + { + "politoed": "|drizzle|leftovers|bold|248,0,140,0,56,64|scald|toxic|encore|protect", + "keldeoresolute": "|justified|choicespecs|timid|0,0,4,252,0,252|surf|hydropump|secretsword|hiddenpowerghost", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,88,0,168,0|powerwhip|stealthrock|spikes|knockoff", + "tentacruel": "|raindish|blacksludge|timid|208,0,112,0,0,188|scald|toxic|rapidspin|protect", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,156,36,0,212|substitute|thunder|hiddenpowerice|focusblast" + } + ], + "politoed|ferrothorn|toxicroak|keldeo|landorustherian|starmie": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,252,0,4,0|scald|protect|perishsong|toxic", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,48,0,208,0|spikes|knockoff|powerwhip|leechseed", + "toxicroak": "|dryskin|blacksludge|adamant|244,132,120,0,0,12|bulkup|drainpunch|icepunch|substitute", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|surf|hydropump|hiddenpowerice|secretsword", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice", + "starmie": "|naturalcure|leftovers|timid|0,0,0,252,4,252|surf|thunderbolt|icebeam|rapidspin" + } + ], + "tyranitar|gliscor|excadrill|gastrodon|magnezone|celebi": [], + "breloom|skarmory|rotomwash|latios|tyranitar|excadrill": [], + "garchomp|jirachi|politoed|tentacruel|breloom|tornadus": [], + "magnezone|salamence|garchomp|kyuremblack|mamoswine|latios": [ + { + "magnezone": "|magnetpull|choicescarf|modest|4,0,0,252,0,252|thunderbolt|voltswitch|hiddenpowerfire|flashcannon", + "salamence": "|moxie|choicescarf|adamant|4,252,0,0,0,252|outrage|earthquake|stoneedge|aquatail", + "garchomp": "|roughskin|choicescarf|adamant|4,252,0,0,0,252|earthquake|outrage|aquatail|firefang", + "kyuremblack": "|teravolt|choicescarf|adamant|4,252,0,0,0,252|fusionbolt|outrage|stoneedge|zenheadbutt", + "mamoswine": "|thickfat|expertbelt|adamant|4,252,0,0,0,252|iceshard|iciclecrash|earthquake|superpower", + "latios": "|levitate|expertbelt|timid|4,0,0,252,0,252|dracometeor|psychic|icebeam|hiddenpowerfire" + } + ], + "abomasnow|starmie|kyurem|skarmory|reuniclus|landorustherian": [ + { + "abomasnow": "|snowwarning|expertbelt|lonely|0,252,0,172,0,84|woodhammer|iceshard|hiddenpowerfire|protect", + "starmie": "|naturalcure|leftovers|timid|248,0,32,4,0,224|rapidspin|recover|scald|psyshock", + "kyurem": "|pressure|leftovers|modest|52,0,0,220,0,236|substitute|roost|icebeam|earthpower", + "skarmory": "|sturdy|leftovers|impish|224,0,252,0,32,0|spikes|roost|whirlwind|bravebird", + "reuniclus": "|magicguard|lifeorb|quiet|192,0,64,252,0,0|trickroom|psychic|focusblast|shadowball", + "landorustherian": "|intimidate|leftovers|naive|244,0,176,0,0,88|stealthrock|earthquake|uturn|hiddenpowerice" + } + ], + "garchomp|magnezone|latios|starmie|dragonite|jirachi": [ + { + "garchomp": "|roughskin|dragongem|adamant|0,252,4,0,0,252|earthquake|swordsdance|substitute|outrage", + "magnezone": "|magnetpull|choicespecs|modest|36,0,0,252,0,220|voltswitch|thunderbolt|flashcannon|hiddenpowerfire", + "latios": "|levitate|choicescarf|timid|0,0,0,252,4,252|dracometeor|trick|surf|psyshock", + "starmie": "|analytic|lifeorb|timid|0,0,0,252,4,252|hydropump|rapidspin|icebeam|thunderbolt", + "dragonite": "|multiscale|choiceband|adamant|0,252,0,0,4,252|outrage|extremespeed|sleeptalk|superpower", + "jirachi": "|serenegrace|shucaberry|naive|104,0,0,216,0,188|ironhead|stealthrock|icywind|thunder" + } + ], + "politoed|toxicroak|thundurustherian|ferrothorn|excadrill|keldeo": [ + { + "politoed": "|drizzle|custapberry|modest|112,0,12,248,0,136|hydropump|icebeam|hiddenpowergrass|hypnosis", + "toxicroak": "|dryskin|blacksludge|adamant|248,248,0,0,0,12|substitute|toxic|focuspunch|suckerpunch", + "thundurustherian": "|voltabsorb|leftovers|timid|0,0,0,252,4,252|nastyplot|thunder|hiddenpowerice|focusblast", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,48,0,208,0|stealthrock|spikes|gyroball|knockoff", + "excadrill": "|sandrush|airballoon|adamant|0,252,0,0,4,252|swordsdance|earthquake|ironhead|rapidspin", + "keldeo": "|justified|choicescarf|timid|0,0,0,252,4,252|hydropump|secretsword|hiddenpowerice|surf" + } + ], + "victini|dugtrio|xatu|ninetales|cresselia|chansey": [ + { + "victini": "|victorystar|choiceband|jolly|0,252,0,0,4,252|uturn|vcreate|boltstrike|zenheadbutt", + "dugtrio": "|arenatrap|focussash|jolly|0,252,0,0,4,252|stealthrock|reversal|earthquake|toxic", + "xatu": "|magicbounce|rockyhelmet|bold|252,0,252,0,4,0|uturn|heatwave|toxic|roost", + "ninetales": "|drought|leftovers|timid|248,0,148,0,0,112|willowisp|flamethrower|roar|protect", + "cresselia": "|levitate|leftovers|bold|248,0,252,0,8,0|icebeam|toxic|moonlight|hiddenpowerfire", + "chansey": "|naturalcure|eviolite|bold|4,0,252,0,252,0|seismictoss|toxic|healbell|softboiled" + } + ], + "tyranitar|landorustherian|hydreigon|slowking|ferrothorn|garchomp": [ + { + "tyranitar": "|sandstream|chopleberry|brave|176,104,0,0,228,0|stealthrock|crunch|pursuit|fireblast", + "landorustherian": "|intimidate|fightinggem|naive|0,252,0,4,0,252|swordsdance|earthquake|hiddenpowerice|superpower", + "hydreigon": "|levitate|lifeorb|timid|0,0,0,252,4,252|dracometeor|fireblast|focusblast|roost", + "slowking": "|regenerator|leftovers|calm|252,0,200,0,56,0|scald|fireblast|thunderwave|slackoff", + "ferrothorn": "|ironbarbs|leftovers|relaxed|252,0,88,0,168,0|spikes|powerwhip|stealthrock|gyroball", + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|dualchop|outrage|earthquake|rockslide" + } + ], + "tyranitar|milotic|skarmory|latios|alakazam|garchomp": [ + { + "tyranitar": "|sandstream|chopleberry|brave|240,104,0,56,108,0|stealthrock|crunch|pursuit|fireblast", + "milotic": "|marvelscale|leftovers|bold|252,0,244,0,0,12|recover|magiccoat|scald|icebeam", + "skarmory": "|sturdy|leftovers|careful|252,0,4,0,252,0|bravebird|roost|spikes|taunt", + "latios": "|levitate|choicespecs|timid|0,0,0,252,4,252|sleeptalk|dragonpulse|surf|dracometeor", + "alakazam": "|magicguard|focussash|timid|0,0,24,252,0,232|psychic|focusblast|shadowball|chargebeam", + "garchomp": "|roughskin|choicescarf|jolly|0,252,0,0,4,252|earthquake|outrage|dualchop|rockslide" + } + ], + "politoed|kyuremblack|jirachi|tentacruel|landorustherian|latios": [ + { + "politoed": "|drizzle|leftovers|modest|252,0,204,52,0,0|hypnosis|scald|icebeam|protect", + "kyuremblack": "|teravolt|leftovers|mild|56,0,0,216,0,236|substitute|icebeam|fusionbolt|earthpower", + "jirachi": "|serenegrace|leftovers|careful|248,0,0,0,228,32|stealthrock|wish|thunder|ironhead", + "tentacruel": "|raindish|blacksludge|bold|248,0,244,0,0,16|protect|scald|knockoff|rapidspin", + "landorustherian": "|intimidate|choicescarf|naive|0,252,0,4,0,252|uturn|earthquake|hiddenpowerice|stoneedge", + "latios": "|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|dragonpulse|surf|sleeptalk" + } + ], + "garchomp|scizor|breloom|latias|gyarados|heatran": [ + { + "garchomp": "|roughskin|lumberry|naive|0,248,0,8,0,252|stealthrock|outrage|fireblast|earthquake", + "scizor": "|technician|ironplate|adamant|248,208,0,0,4,48|uturn|bulletpunch|roost|swordsdance", + "breloom": "|technician|fightinggem|adamant|112,252,0,0,4,140|machpunch|bulletseed|spore|focuspunch", + "latias": "|levitate|lifeorb|timid|192,0,0,64,0,252|dracometeor|psyshock|thunderwave|roost", + "gyarados": "|intimidate|leftovers|adamant|88,216,0,0,0,204|dragondance|substitute|waterfall|bounce", + "heatran": "|flashfire|choicescarf|timid|88,0,0,220,0,200|fireblast|earthpower|dragonpulse|toxic" + } + ], + "tyranitar|hippowdon|heatran|amoonguss|jellicent|forretress": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "hippowdon": "|sandstream|leftovers|impish|252,0,252,0,4,0|earthquake|whirlwind|stealthrock|slackoff", + "heatran": "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|protect", + "amoonguss": "|regenerator|leftovers|calm|252,0,40,0,216,0|gigadrain|hiddenpowerice|spore|sleeptalk", + "jellicent": "|waterabsorb|leftovers|bold|252,0,136,0,0,120|scald|taunt|willowisp|recover", + "forretress": "|sturdy|leftovers|relaxed|252,0,16,0,236,0|gyroball|spikes|toxicspikes|rapidspin" + } + ], + "tyranitar|garchomp|skarmory|gastrodon|gengar|reuniclus": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,244,0,12,0,252|crunch|pursuit|superpower|icebeam", + "garchomp": "|roughskin|rockyhelmet|naughty|168,140,0,0,0,200|dragontail|earthquake|fireblast|stealthrock", + "skarmory": "|sturdy|leftovers|impish|252,0,240,0,16,0|bravebird|spikes|whirlwind|roost", + "gastrodon": "|stormdrain|leftovers|bold|252,0,200,0,56,0|scald|icebeam|toxic|recover", + "gengar": "|levitate|blacksludge|timid|188,0,0,68,0,252|shadowball|focusblast|substitute|willowisp", + "reuniclus": "|magicguard|leftovers|bold|252,0,228,0,24,4|psyshock|focusblast|calmmind|recover" + } + ], + "tyranitar|gliscor|skarmory|jellicent|breloom|alakazam": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,44,0,0,184,28|crunch|pursuit|superpower|stealthrock", + "gliscor": "|poisonheal|toxicorb|impish|252,0,180,0,0,76|earthquake|toxic|taunt|protect", + "skarmory": "|sturdy|leftovers|impish|252,0,216,0,0,40|taunt|spikes|roost|whirlwind", + "jellicent": "|waterabsorb|leftovers|bold|252,0,136,0,0,120|scald|willowisp|taunt|recover", + "breloom": "|poisonheal|toxicorb|calm|252,0,40,0,216,0|drainpunch|leechseed|protect|spore", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psyshock|focusblast|shadowball|psychup" + } + ], + "tyranitar|skarmory|gastrodon|heatran|latias|reuniclus": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,44,0,0,184,28|crunch|pursuit|superpower|stealthrock", + "skarmory": "|sturdy|leftovers|impish|252,0,240,0,16,0|bravebird|spikes|whirlwind|roost", + "gastrodon": "|stormdrain|leftovers|bold|252,0,200,0,56,0|scald|icebeam|toxic|recover", + "heatran": "|flashfire|choicescarf|timid|52,0,0,252,0,204|fireblast|earthpower|hiddenpowerice|stoneedge", + "latias": "|levitate|leftovers|timid|252,0,0,60,0,196|dracometeor|hiddenpowerfire|thunderwave|roost", + "reuniclus": "|magicguard|leftovers|bold|252,0,228,0,24,4|psyshock|focusblast|calmmind|recover" + } + ], + "tyranitar|garchomp|dragonite|ferrothorn|starmie|reuniclus": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "dragonite": "|multiscale|leftovers|calm|252,0,40,80,136,0|fireblast|icebeam|thunderwave|roost", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,84,0,172,0|powerwhip|leechseed|stealthrock|spikes", + "starmie": "|naturalcure|leftovers|timid|252,0,32,0,0,224|scald|psychic|rapidspin|recover", + "reuniclus": "|magicguard|leftovers|bold|252,0,236,0,16,4|psyshock|focusblast|calmmind|recover" + } + ], + "tyranitar|landorustherian|politoed|breloom|jirachi|keldeo": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,8,228,12,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "politoed": "|drizzle|leftovers|bold|252,0,224,0,32,0|scald|icebeam|toxic|protect", + "breloom": "|technician|fightinggem|adamant|4,252,0,0,0,252|machpunch|focuspunch|bulletseed|spore", + "jirachi": "|serenegrace|leftovers|modest|128,0,0,248,0,132|psychic|hiddenpowerfire|grassknot|calmmind", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|surf|secretsword|hiddenpowerice" + } + ], + "tyranitar|garchomp|breloom|latios|scizor|keldeo": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock", + "breloom": "|technician|focussash|adamant|4,252,0,0,0,252|lowsweep|bulletseed|machpunch|spore", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|hiddenpowerfire", + "scizor": "|technician|flyinggem|adamant|44,252,0,0,0,212|acrobatics|bulletpunch|superpower|swordsdance", + "keldeo": "|justified|fightinggem|timid|0,0,4,252,0,252|hydropump|secretsword|calmmind" + } + ], + "tyranitar|garchomp|breloom|latios|jirachi|terrakion": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "garchomp": "|roughskin|yacheberry|naive|4,252,0,0,0,252|outrage|earthquake|fireblast|stealthrock", + "breloom": "|poisonheal|toxicorb|careful|236,0,48,0,224,0|drainpunch|bulkup|protect|spore", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|hiddenpowerfire", + "jirachi": "|serenegrace|leftovers|modest|148,0,0,232,0,128|psychic|hiddenpowerfire|grassknot|calmmind", + "terrakion": "|justified|lifeorb|hasty|4,252,0,0,0,252|closecombat|stoneedge|hiddenpowerice|quickattack" + } + ], + "tyranitar|garchomp|rotomwash|ferrothorn|reuniclus|gengar": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock", + "rotomwash": "|levitate|leftovers|calm|252,0,120,0,136,0|voltswitch|hydropump|willowisp|painsplit", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,88,0,168,0|powerwhip|spikes|leechseed|protect", + "reuniclus": "|magicguard|lifeorb|quiet|252,0,4,252,0,0|psychic|shadowball|focusblast|trickroom", + "gengar": "|levitate|blacksludge|timid|4,0,0,252,0,252|shadowball|focusblast|substitute|willowisp" + } + ], + "tyranitar|landorustherian|rotomwash|scizor|reuniclus|dragonite": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,16,224,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "rotomwash": "|levitate|leftovers|calm|252,0,128,0,128,0|voltswitch|hydropump|willowisp|painsplit", + "scizor": "|technician|lumberry|adamant|56,236,0,0,0,216|bugbite|bulletpunch|superpower|swordsdance", + "reuniclus": "|magicguard|lifeorb|quiet|252,0,4,252,0,0|psychic|shadowball|focusblast|trickroom", + "dragonite": "|multiscale|choiceband|adamant|0,252,4,0,0,252|outrage|firepunch|earthquake|extremespeed" + } + ], + "tyranitar|landorustherian|heatran|ferrothorn|jellicent|reuniclus": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,8,228,12,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "heatran": "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|protect", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,28,0,228,0|powerwhip|spikes|leechseed|protect", + "jellicent": "|waterabsorb|leftovers|bold|252,0,136,0,0,120|scald|willowisp|taunt|recover", + "reuniclus": "|magicguard|leftovers|bold|252,0,228,0,24,4|psyshock|focusblast|calmmind|recover" + } + ], + "hippowdon|celebi|dragonite|jirachi|starmie|garchomp": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,216,0,40,0|earthquake|icefang|stealthrock|slackoff", + "celebi": "|naturalcure|leftovers|modest|136,0,0,240,0,132|gigadrain|earthpower|hiddenpowerice|nastyplot", + "dragonite": "|multiscale|leftovers|impish|252,0,36,0,28,192|dragonclaw|dragondance|substitute|roost", + "jirachi": "|serenegrace|leftovers|careful|252,8,24,0,224,0|ironhead|bodyslam|wish|protect", + "starmie": "|naturalcure|leftovers|timid|252,0,32,0,0,224|scald|reflecttype|rapidspin|recover", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance" + } + ], + "hippowdon|rotomwash|stoutland|latios|jirachi|ferrothorn": [ + { + "hippowdon": "|sandstream|leftovers|impish|252,0,208,0,48,0|earthquake|whirlwind|stealthrock|slackoff", + "rotomwash": "|levitate|leftovers|calm|252,0,92,0,164,0|voltswitch|hydropump|willowisp|painsplit", + "stoutland": "|sandrush|choiceband|adamant|32,252,8,0,0,216|return|superpower|wildcharge|pursuit", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psychic|surf|hiddenpowerfire", + "jirachi": "|serenegrace|leftovers|modest|140,0,0,240,0,128|psychic|grassknot|hiddenpowerfire|calmmind", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,84,0,172,0|powerwhip|leechseed|spikes|protect" + } + ], + "politoed|garchomp|gyarados|latios|starmie|ferrothorn": [ + { + "politoed": "|drizzle|choicescarf|timid|12,0,0,252,0,244|hydropump|scald|icebeam|encore", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute", + "gyarados": "|intimidate|leftovers|adamant|40,252,0,0,0,216|waterfall|bounce|substitute|dragondance", + "latios": "|levitate|choicespecs|modest|56,0,8,252,0,192|dracometeor|psyshock|surf|trick", + "starmie": "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|thunder|icebeam|psyshock", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,68,0,188,0|powerwhip|leechseed|stealthrock|spikes" + } + ], + "politoed|garchomp|latios|starmie|jirachi|ferrothorn": [ + { + "politoed": "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|icebeam|focusblast|hypnosis", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|surf|psyshock|trick", + "starmie": "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|icebeam|thunder|psyshock", + "jirachi": "|serenegrace|leftovers|modest|252,0,12,120,8,116|psychic|thunder|calmmind|substitute", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,76,0,180,0|powerwhip|leechseed|stealthrock|spikes" + } + ], + "politoed|jirachi|kyuremblack|thundurustherian|donphan|keldeo": [ + { + "politoed": "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|icebeam|focusblast|hypnosis", + "jirachi": "|serenegrace|leftovers|careful|252,4,12,0,224,16|ironhead|bodyslam|wish|protect", + "kyuremblack": "|teravolt|leftovers|mild|52,0,0,216,0,240|icebeam|earthpower|fusionbolt|substitute", + "thundurustherian": "|voltabsorb|expertbelt|modest|136,0,0,252,0,120|thunder|hiddenpowerice|focusblast|agility", + "donphan": "|sturdy|leftovers|impish|252,4,252,0,0,0|earthquake|iceshard|stealthrock|rapidspin", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|surf|secretsword|hiddenpowerice" + } + ], + "politoed|garchomp|thundurustherian|starmie|ferrothorn|keldeo": [ + { + "politoed": "|drizzle|choicespecs|timid|8,0,0,252,4,244|hydropump|icebeam|focusblast|hiddenpowergrass", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute", + "thundurustherian": "|voltabsorb|expertbelt|modest|136,0,0,252,0,120|thunder|hiddenpowerice|focusblast|agility", + "starmie": "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|thunder|icebeam|psyshock", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|leechseed|stealthrock|spikes", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|secretsword|icywind|hiddenpowerelectric" + } + ], + "politoed|garchomp|jirachi|celebi|thundurustherian|keldeo": [ + { + "politoed": "|drizzle|choicespecs|modest|80,0,0,252,0,176|hydropump|icebeam|focusblast|hiddenpowergrass", + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock", + "jirachi": "|serenegrace|leftovers|careful|252,20,16,0,204,16|ironhead|bodyslam|wish|protect", + "celebi": "|naturalcure|leftovers|bold|252,0,136,0,88,32|psychic|calmmind|recover|batonpass", + "thundurustherian": "|voltabsorb|leftovers|modest|156,0,0,252,0,100|thunder|hiddenpowerice|focusblast|agility", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|hydropump|surf|secretsword|hiddenpowerice" + } + ], + "politoed|latios|starmie|dugtrio|jirachi|tornadus": [], + "politoed|skarmory|chansey|gliscor|ferrothorn|tentacruel": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,224,0,32,0|scald|toxic|protect|encore", + "skarmory": "|sturdy|leftovers|impish|252,0,248,0,8,0|bravebird|spikes|roost|whirlwind", + "chansey": "|naturalcure|eviolite|bold|56,0,224,0,228,0|seismictoss|toxic|softboiled|aromatherapy", + "gliscor": "|poisonheal|toxicorb|impish|252,0,252,0,4,0|earthquake|toxic|substitute|protect", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,72,0,184,0|powerwhip|leechseed|stealthrock|protect", + "tentacruel": "|raindish|leftovers|bold|252,0,240,0,16,0|scald|toxicspikes|rapidspin|protect" + } + ], + "politoed|gliscor|bronzong|ferrothorn|tentacruel|tornadus": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,220,0,36,0|scald|toxic|protect|encore", + "gliscor": "|poisonheal|toxicorb|impish|252,0,200,0,0,56|earthquake|toxic|substitute|protect", + "bronzong": "|levitate|leftovers|relaxed|252,0,168,0,88,0|hiddenpowerice|earthquake|stealthrock|protect", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,72,0,184,0|powerwhip|leechseed|spikes|protect", + "tentacruel": "|raindish|leftovers|bold|252,0,240,0,16,0|scald|toxicspikes|rapidspin|protect", + "tornadus": "|prankster|choicespecs|timid|0,0,4,252,0,252|hurricane|focusblast|uturn|sleeptalk" + } + ], + "garchomp|kyuremblack|dragonite|starmie|jirachi|magnezone": [ + { + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock", + "kyuremblack": "|teravolt|lifeorb|mild|0,0,0,252,4,252|icebeam|earthpower|fusionbolt|roost", + "dragonite": "|multiscale|lumberry|adamant|32,252,0,0,0,224|outrage|firepunch|extremespeed|dragondance", + "starmie": "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|icebeam|thunder|rapidspin", + "jirachi": "|serenegrace|choicescarf|jolly|136,192,0,0,32,148|ironhead|uturn|icepunch|healingwish", + "magnezone": "|magnetpull|brightpowder|modest|16,0,0,252,0,240|thunderbolt|flashcannon|hiddenpowerfire|substitute" + } + ], + "breloom|alakazam|garchomp|froslass|scizor|keldeo": [ + { + "breloom": "|poisonheal|toxicorb|calm|252,0,40,0,216,0|drainpunch|bulkup|protect|spore", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|focusblast|shadowball|hiddenpowerice", + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|stealthrock|swordsdance", + "froslass": "|cursedbody|focussash|timid|4,0,0,252,0,252|icebeam|spikes|taunt|destinybond", + "scizor": "|technician|choiceband|adamant|152,252,0,0,8,96|bulletpunch|uturn|superpower|pursuit", + "keldeo": "|justified|fightinggem|timid|4,0,0,252,0,252|hydropump|secretsword|hiddenpowerice|calmmind" + } + ], + "azelf|garchomp|breloom|scizor|dragonite|salamence": [ + { + "azelf": "|levitate|focussash|naive|0,64,0,192,0,252|fireblast|hiddenpowerice|stealthrock|explosion", + "garchomp": "|roughskin|dragongem|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute", + "breloom": "|technician|fightinggem|adamant|4,252,0,0,0,252|focuspunch|bulletseed|machpunch|spore", + "scizor": "|technician|flyinggem|adamant|60,240,0,0,0,208|acrobatics|bulletpunch|superpower|swordsdance", + "dragonite": "|multiscale|lumberry|adamant|32,252,0,0,0,224|outrage|firepunch|extremespeed|dragondance", + "salamence": "|moxie|choicescarf|jolly|0,252,4,0,0,252|outrage|dragonclaw|earthquake|fireblast" + } + ], + "azelf|terrakion|jirachi|gorebyss|wobbuffet|salamence": [ + { + "azelf": "|levitate|focussash|naive|0,36,0,220,0,252|fireblast|hiddenpowerice|explosion|stealthrock", + "terrakion": "|justified|rockgem|jolly|0,252,0,0,4,252|closecombat|stoneedge|swordsdance|substitute", + "jirachi": "|serenegrace|lumberry|naughty|0,244,0,156,0,108|ironhead|thunderbolt|hiddenpowerice|drainpunch", + "gorebyss": "|swiftswim|whiteherb|timid|252,0,16,32,88,120|hydropump|shellsmash|substitute|batonpass", + "wobbuffet": "|shadowtag|leftovers|bold|28,0,232,0,248,0|counter|mirrorcoat|encore|safeguard", + "salamence": "|moxie|choicescarf|jolly|0,252,4,0,0,252|outrage|dragonclaw|earthquake|fireblast" + } + ], + "tyranitar|landorustherian|heatran|mew|breloom|starmie": [ + { + "tyranitar": "|sandstream|chopleberry|careful|252,64,0,0,192,0|crunch|pursuit|superpower|stealthrock", + "landorustherian": "|intimidate|choicescarf|naughty|96,216,8,0,0,188|earthquake|stoneedge|hiddenpowerice|uturn", + "heatran": "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|protect", + "mew": "|synchronize|leftovers|bold|252,0,140,0,0,116|icebeam|willowisp|taunt|softboiled", + "breloom": "|poisonheal|toxicorb|careful|236,0,56,0,216,0|drainpunch|bulkup|protect|spore", + "starmie": "|naturalcure|leftovers|timid|252,0,32,0,0,224|scald|psychic|rapidspin|recover" + } + ], + "politoed|landorustherian|jirachi|celebi|kyurem|tentacruel": [ + { + "politoed": "|drizzle|choicescarf|timid|12,0,0,252,0,244|hydropump|scald|icebeam|encore", + "landorustherian": "|intimidate|leftovers|relaxed|252,8,232,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "jirachi": "|serenegrace|leftovers|careful|252,8,12,0,220,16|ironhead|bodyslam|wish|protect", + "celebi": "|naturalcure|leftovers|modest|128,0,0,244,0,136|gigadrain|earthpower|hiddenpowerice|nastyplot", + "kyurem": "|pressure|leftovers|mild|76,0,0,252,4,176|icebeam|earthpower|substitute|roost", + "tentacruel": "|raindish|leftovers|bold|252,0,240,0,16,0|scald|toxicspikes|rapidspin|protect" + } + ], + "mamoswine|latios|scizor|kyuremblack|salamence|magnezone": [ + { + "mamoswine": "|thickfat|focussash|adamant|4,252,0,0,0,252|earthquake|iceshard|endeavor|stealthrock", + "latios": "|levitate|choicespecs|modest|56,0,0,252,4,196|dracometeor|psychic|surf|hiddenpowerfire", + "scizor": "|technician|choiceband|adamant|240,252,0,0,0,16|uturn|bulletpunch|superpower|quickattack", + "kyuremblack": "|teravolt|choiceband|adamant|4,252,0,0,0,252|outrage|dragonclaw|fusionbolt|icebeam", + "salamence": "|moxie|choicescarf|jolly|0,252,4,0,0,252|outrage|dragonclaw|earthquake|fireblast", + "magnezone": "|magnetpull|choicespecs|modest|4,0,0,252,0,252|thunderbolt|hiddenpowerfire|flashcannon|voltswitch" + } + ], + "skarmory|garchomp|scizor|jellicent|alakazam|salamence": [ + { + "skarmory": "|sturdy|custapberry|jolly|4,252,0,0,0,252|bravebird|stealthrock|spikes|taunt", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "scizor": "|technician|lifeorb|adamant|32,252,8,0,0,216|bulletpunch|bugbite|superpower|swordsdance", + "jellicent": "|waterabsorb|leftovers|impish|252,0,136,0,0,120|scald|willowisp|taunt|recover", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|shadowball|focusblast|hiddenpowerice", + "salamence": "|moxie|choicescarf|jolly|0,252,4,0,0,252|outrage|dragonclaw|earthquake|fireblast" + } + ], + "tyranitar|landorustherian|garchomp|ferrothorn|hydreigon|jellicent": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,8,228,12,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,48,0,208,0|powerwhip|spikes|leechseed|protect", + "hydreigon": "|levitate|lifeorb|mild|8,16,0,252,0,232|dracometeor|fireblast|superpower|roost", + "jellicent": "|waterabsorb|leftovers|bold|252,0,220,0,24,12|scald|willowisp|taunt|recover" + } + ], + "tyranitar|landorustherian|garchomp|slowking|jirachi|ferrothorn": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,16,228,4,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|swordsdance|substitute", + "slowking": "|regenerator|leftovers|quiet|252,0,20,216,20,0|psyshock|surf|fireblast|thunderwave", + "jirachi": "|serenegrace|leftovers|modest|136,0,0,240,0,132|psychic|grassknot|hiddenpowerfire|calmmind", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,84,0,172,0|powerwhip|leechseed|spikes|protect" + } + ], + "tyranitar|landorustherian|garchomp|latios|jirachi|keldeo": [ + { + "tyranitar": "|sandstream|choiceband|adamant|104,240,0,0,40,124|crunch|pursuit|stoneedge|superpower", + "landorustherian": "|intimidate|leftovers|relaxed|252,12,228,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "garchomp": "|roughskin|dragongem|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|hiddenpowerfire", + "jirachi": "|serenegrace|choicescarf|jolly|104,200,0,0,56,148|ironhead|uturn|icepunch|healingwish", + "keldeo": "|justified|fightinggem|timid|0,0,4,252,0,252|hydropump|secretsword|calmmind|hiddenpowerelectric" + } + ], + "tyranitar|landorustherian|garchomp|rotomwash|jirachi|keldeo": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,12,228,8,8,0|earthquake|hiddenpowerice|uturn|stealthrock", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "rotomwash": "|levitate|leftovers|calm|252,0,128,0,128,0|voltswitch|hydropump|willowisp|painsplit", + "jirachi": "|serenegrace|leftovers|modest|144,0,0,232,0,132|psychic|grassknot|hiddenpowerfire|calmmind", + "keldeo": "|justified|fightinggem|timid|0,0,4,252,0,252|hydropump|secretsword|calmmind|hiddenpowerice" + } + ], + "skarmory|rotomwash|scizor|dragonite|gengar|alakazam": [ + { + "skarmory": "|sturdy|custapberry|jolly|4,252,0,0,0,252|stealthrock|spikes|bravebird|taunt", + "rotomwash": "|levitate|leftovers|calm|252,0,120,0,136,0|voltswitch|hydropump|willowisp|painsplit", + "scizor": "|technician|flyinggem|adamant|56,236,0,0,8,208|acrobatics|superpower|bulletpunch|swordsdance", + "dragonite": "|multiscale|choiceband|adamant|0,252,0,0,4,252|outrage|extremespeed|firepunch|earthquake", + "gengar": "|levitate|leftovers|timid|4,0,0,252,0,252|shadowball|focusblast|willowisp|substitute", + "alakazam": "|magicguard|focussash|timid|4,0,0,252,0,252|psychic|signalbeam|focusblast|hiddenpowerice" + } + ], + "tyranitar|landorustherian|garchomp|latios|jirachi|kingdra": [ + { + "tyranitar": "|sandstream|choicescarf|hasty|0,248,0,8,0,252|crunch|pursuit|superpower|icebeam", + "landorustherian": "|intimidate|leftovers|relaxed|252,8,228,12,8,0|earthquake|hiddenpowerutur|stealthrock", + "garchomp": "|roughskin|yacheberry|adamant|16,252,0,0,0,240|outrage|earthquake|substitute|swordsdance", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|hiddenpowerfire", + "jirachi": "|serenegrace|leftovers|modest|148,0,0,232,0,128|psychic|hiddenpowerfire|grassknot|calmmind", + "kingdra": "|swiftswim|choicespecs|modest|16,0,8,252,0,232|dracometeor|hydropump|dragonpulse|hiddenpowerfire" + } + ], + "garchomp|dragonite|starmie|scizor|breloom|volcarona": [ + { + "garchomp": "|roughskin|yacheberry|jolly|4,252,0,0,0,252|outrage|earthquake|swordsdance|stealthrock", + "dragonite": "|multiscale|lumberry|adamant|32,252,0,0,0,224|outrage|firepunch|extremespeed|dragondance", + "starmie": "|analytic|expertbelt|timid|4,0,0,252,0,252|hydropump|thunder|icebeam|rapidspin", + "scizor": "|technician|lifeorb|adamant|248,252,4,0,4,0|bugbite|bulletpunch|superpower|swordsdance", + "breloom": "|technician|focussash|adamant|4,252,0,0,0,252|lowsweep|bulletseed|machpunch|spore", + "volcarona": "|flamebody|passhoberry|modest|136,0,0,252,0,120|flamethrower|gigadrain|hiddenpowerice|quiverdance" + } + ], + "abomasnow|jellicent|heatran|forretress|gliscor|kyurem": [ + { + "abomasnow": "|snowwarning|expertbelt|lonely|0,244,0,156,0,108|woodhammer|iceshard|hiddenpowerfire|protect", + "jellicent": "|waterabsorb|leftovers|bold|252,0,136,0,4,116|surf|willowisp|taunt|recover", + "heatran": "|flashfire|leftovers|calm|252,0,4,0,252,0|flamethrower|earthpower|willowisp|stealthrock", + "forretress": "|sturdy|leftovers|relaxed|252,0,24,0,232,0|gyroball|spikes|toxicspikes|rapidspin", + "gliscor": "|poisonheal|toxicorb|impish|252,0,196,0,0,60|earthquake|toxic|taunt|protect", + "kyurem": "|pressure|leftovers|modest|80,0,0,252,0,176|icebeam|earthpower|substitute|roost" + } + ], + "abomasnow|landorustherian|latios|starmie|jirachi|volcarona": [ + { + "abomasnow": "|snowwarning|expertbelt|lonely|0,204,0,164,0,140|blizzard|woodhammer|hiddenpowerfire|iceshard", + "landorustherian": "|intimidate|leftovers|relaxed|252,16,228,8,4,0|earthquake|hiddenpowerice|uturn|stealthrock", + "latios": "|levitate|choicespecs|timid|4,0,0,252,0,252|dracometeor|psyshock|surf|sleeptalk", + "starmie": "|analytic|lifeorb|timid|4,0,0,252,0,252|hydropump|blizzard|thunderbolt|rapidspin", + "jirachi": "|serenegrace|choicescarf|jolly|104,176,0,0,76,152|ironhead|uturn|icepunch|healingwish", + "volcarona": "|flamebody|leftovers|modest|136,0,0,252,0,120|fireblast|bugbuzz|hiddenpowerground|quiverdance" + } + ], + "ninetales|heatran|dugtrio|victini|venusaur|forretress": [ + { + "ninetales": "|drought|leftovers|calm|252,0,0,0,144,112|flamethrower|willowisp|sunnyday|roar", + "heatran": "|flashfire|airballoon|modest|8,0,0,252,0,248|fireblast|earthpower|hiddenpowerice|flamecharge", + "dugtrio": "|arenatrap|focussash|hasty|0,252,0,4,0,252|earthquake|reversal|stoneedge|memento", + "victini": "|victorystar|choicescarf|jolly|4,252,0,0,0,252|vcreate|zenheadbutt|uturn|brickbreak", + "venusaur": "|chlorophyll|lifeorb|timid|72,0,0,252,4,180|gigadrain|sludgebomb|hiddenpowerfire|growth", + "forretress": "|sturdy|leftovers|bold|252,0,140,20,96,0|voltswitch|hiddenpowerice|stealthrock|rapidspin" + } + ], + "ninetales|heatran|dugtrio|volcarona|venusaur|donphan": [ + { + "ninetales": "|drought|leftovers|calm|252,0,0,0,136,120|flamethrower|willowisp|sunnyday|roar", + "heatran": "|flashfire|airballoon|modest|252,0,0,108,132,16|magmastorm|earthpower|hiddenpowerice|willowisp", + "dugtrio": "|arenatrap|focussash|hasty|0,252,0,4,0,252|earthquake|reversal|stealthrock|memento", + "volcarona": "|flamebody|sitrusberry|modest|140,0,0,252,0,116|flamethrower|gigadrain|hiddenpowerice|quiverdance", + "venusaur": "|chlorophyll|blacksludge|timid|76,0,0,252,4,176|gigadrain|sludgebomb|hiddenpowerice|sleeppowder", + "donphan": "|sturdy|leftovers|impish|252,8,248,0,0,0|earthquake|iceshard|rapidspin|stealthrock" + } + ], + "tyranitar|starmie|ferrothorn|landorust|zapdos|stoutland": [ + { + "tyranitar": "|sandstream|choiceband|adamant|160,252,0,0,0,96|stoneedge|crunch|pursuit|superpower", + "starmie": "|naturalcure|leftovers|timid|252,0,40,0,0,216|scald|psyshock|rapidspin|recover", + "ferrothorn": "|ironbarbs|leftovers|sassy|252,0,88,0,168,0|spikes|leechseed|thunderwave|powerwhip", + "landorust": "|intimidate|leftovers|impish|200,0,212,0,0,96|stealthrock|uturn|stoneedge|earthquake", + "zapdos": "|pressure|leftovers|calm|248,0,0,0,224,36|thunderbolt|heatwave|hiddenpowerice|roost", + "stoutland": "|sandrush|choiceband|adamant|0,252,4,0,0,252|return|crunch|wildcharge|superpower" + } + ], + "ninetales|dugtrio|genesect|victini|venusaur|xatu": [ + { + "ninetales": "|drought|leftovers|calm|248,0,0,0,216,44|sunnyday|willowisp|hiddenpowerrock|flamethrower", + "dugtrio": "|arenatrap|focussash|jolly|0,252,4,0,0,252|stealthrock|earthquake|reversal|stoneedge", + "genesect": "|download|choicescarf|hasty|0,92,0,252,0,164|uturn|flamethrower|icebeam|thunderbolt", + "victini": "|victorystar|choiceband|adamant|0,252,4,0,0,252|vcreate|uturn|fusionbolt|brickbreak", + "venusaur": "|chlorophyll|lifeorb|timid|72,0,4,252,0,180|growth|gigadrain|hiddenpowerfire|sludgebomb", + "xatu": "|magicbounce|rockyhelmet|bold|248,0,204,0,0,56|uturn|toxic|roost|heatwave" + } + ], + "politoed|quagsire|dragonite|chansey|tentacruel|ferrothorn": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,152,64,0,40|scald|toxic|protect|perishsong", + "quagsire": "|unaware|leftovers|relaxed|248,0,252,0,8,0|recover|scald|earthquake|toxic", + "dragonite": "|multiscale|leftovers|calm|252,0,0,108,148,0|hurricane|thunder|dragontail|roost", + "chansey": "|naturalcure|eviolite|bold|240,0,252,0,16,0|toxic|seismictoss|softboiled|wish", + "tentacruel": "|raindish|blacksludge|bold|252,0,212,0,0,44|toxicspikes|scald|rapidspin|protect", + "ferrothorn": "|ironbarbs|rockyhelmet|relaxed|252,0,88,0,168,0|spikes|stealthrock|gyroball|powerwhip" + } + ], + "ninetales|lilligant|terrakion|gliscor|hydreigon|heatran": [ + { + "ninetales": "|drought|leftovers|modest|120,0,0,252,0,136|hiddenpowerfighting|willowisp|roar|flamethrower", + "lilligant": "|chlorophyll|leftovers|modest|0,0,72,252,0,184|gigadrain|quiverdance|sleeppowder|hiddenpowerfire", + "terrakion": "|justified|choiceband|jolly|4,252,0,0,0,252|stoneedge|closecombat|xscissor|quickattack", + "gliscor": "|poisonheal|toxicorb|impish|252,0,36,0,0,220|earthquake|substitute|protect|toxic", + "hydreigon": "|levitate|leftovers|modest|56,0,0,252,0,200|fireblast|dragonpulse|focusblast|substitute", + "heatran": "|flashfire|leftovers|calm|252,0,20,0,236,0|lavaplume|protect|stealthrock|toxic" + } + ], + "dragonite|politoed|tornadus|starmie|jolteon|dugtrio": [ + { + "dragonite": "|multiscale|leftovers|careful|252,0,80,0,16,160|dragonclaw|substitute|roost|dragondance", + "politoed": "|drizzle|choicescarf|timid|4,0,0,252,0,252|hydropump|icebeam|hiddenpowergrass|perishsong", + "tornadus": "|prankster|choicespecs|timid|4,0,0,252,0,252|hurricane|focusblast|uturn|raindance", + "starmie": "|naturalcure|leftovers|timid|4,0,0,252,0,252|hydropump|icebeam|rapidspin|hiddenpowergrass", + "jolteon": "|voltabsorb|expertbelt|timid|4,0,0,252,0,252|batonpass|substitute|thunder|hiddenpowerice", + "dugtrio": "|arenatrap|focussash|jolly|0,252,0,4,0,252|stealthrock|earthquake|substitute|reversal" + } + ], + "politoed|floatzel|kingdra|celebi|gliscor|ludicolo": [ + { + "politoed": "|drizzle|damprock|calm|252,0,4,0,252,0|rest|toxic|scald|haze", + "floatzel": "|waterveil|choiceband|adamant|0,252,0,0,4,252|waterfall|icefang|lowkick|return", + "kingdra": "|sniper|choicespecs|modest|0,0,0,252,4,252|dracometeor|hiddenpowergrass|icebeam|scald", + "celebi": "|naturalcure|leftovers|bold|252,0,220,0,0,36|recover|calmmind|gigadrain|signalbeam", + "gliscor": "|poisonheal|toxicorb|impish|252,0,252,0,4,0|roost|counter|knockoff|uturn", + "ludicolo": "|raindish|lifeorb|modest|0,0,0,252,4,252|gigadrain|icebeam|surf|hiddenpowerground" + } + ], + "abomasnow|tentacruel|heatran|kyurem|reuniclus|conkeldurr": [ + { + "abomasnow": "|snowwarning|leftovers|adamant|188,252,0,0,0,68|iceshard|leechseed|protect|woodhammer", + "tentacruel": "|raindish|blacksludge|bold|204,0,208,0,0,96|toxicspikes|scald|rapidspin|blizzard", + "heatran": "|flashfire|leftovers|calm|248,0,0,0,252,8|stealthrock|lavaplume|earthpower|roar", + "kyurem": "|pressure|leftovers|modest|56,0,0,236,0,216|substitute|dragonpulse|blizzard|focusblast", + "reuniclus": "|magicguard|lifeorb|bold|248,0,252,0,0,8|calmmind|focusblast|psyshock|recover", + "conkeldurr": "|guts|leftovers|adamant|196,120,0,0,188,4|bulkup|drainpunch|machpunch|payback" + } + ], + "hippowdon|latias|skarmory|roserade|stoutland|jellicent": [ + { + "hippowdon": "|sandstream|leftovers|careful|252,0,4,0,252,0|slackoff|earthquake|stealthrock|whirlwind", + "latias": "|levitate|leftovers|timid|252,0,4,0,0,252|roost|dragonpulse|calmmind|hiddenpowerfire", + "skarmory": "|sturdy|leftovers|impish|252,0,232,0,0,24|spikes|roost|whirlwind|bravebird", + "roserade": "|naturalcure|leftovers|careful|252,0,40,0,24,192|sleeppowder|toxicspikes|gigadrain|hiddenpowerfire", + "stoutland": "|sandrush|choiceband|adamant|0,252,4,0,0,252|return|superpower|pursuit|wildcharge", + "jellicent": "|waterabsorb|leftovers|bold|248,0,156,0,0,104|recover|scald|shadowball|taunt" + } + ], + "politoed|ferrothorn|scizor|starmie|tornadus|azumarill": [ + { + "politoed": "|drizzle|leftovers|modest|136,0,56,252,0,64|scald|perishsong|hiddenpowergrass|icebeam", + "ferrothorn": "|ironbarbs|leftovers|sassy|224,0,32,0,252,0|stealthrock|spikes|gyroball|powerwhip", + "scizor": "|technician|choicescarf|jolly|8,252,0,0,0,248|uturn|bulletpunch|superpower|pursuit", + "starmie": "|naturalcure|lifeorb|timid|0,0,4,252,0,252|hydropump|icebeam|thunder|rapidspin", + "tornadus": "|prankster|choicespecs|timid|0,0,0,252,4,252|uturn|hurricane|focusblast|tailwind", + "azumarill": "|hugepower|choiceband|adamant|252,252,4,0,0,0|aquajet|waterfall|icepunch|superpower" + } + ], + "politoed|ferrothorn|tentacruel|latios|garchomp|tornadus": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,180,0,0,76|scald|toxic|protect|encore", + "ferrothorn": "|ironbarbs|leftovers|careful|252,0,4,0,252,0|powerwhip|stealthrock|spikes|knockoff", + "tentacruel": "|raindish|blacksludge|timid|248,0,76,0,0,184|scald|toxic|protect|rapidspin", + "latios": "|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|surf|trick|dragonpulse", + "garchomp": "|roughskin|dragongem|jolly|0,252,4,0,0,252|swordsdance|substitute|earthquake|outrage", + "tornadus": "|prankster|leftovers|naive|0,4,0,252,0,252|hurricane|superpower|tailwind|uturn" + } + ], + "politoed|ferrothorn|tentacruel|keldeo|thundurustherian|garchomp": [ + { + "politoed": "|drizzle|leftovers|bold|252,0,196,0,52,8|scald|protect|refresh|encore", + "ferrothorn": "|ironbarbs|lumberry|careful|252,0,4,0,252,0|spikes|stealthrock|powerwhip|knockoff", + "tentacruel": "|raindish|blacksludge|timid|248,0,72,0,0,188|scald|rapidspin|toxic|protect", + "keldeo": "|justified|choicescarf|timid|4,0,0,252,0,252|surf|hydropump|hiddenpowerice|secretsword", + "thundurustherian": "|voltabsorb|leftovers|modest|104,0,144,48,4,208|substitute|thunder|hiddenpowerice|focusblast", + "garchomp": "|roughskin|salacberry|jolly|0,252,0,0,4,252|swordsdance|dualchop|earthquake|endure" + } + ], + "tyranitar|rotomheat|landorustherian|excadrill|breloom|slowking": [ + { + "tyranitar": "|sandstream|chopleberry|adamant|252,76,0,0,180,0|pursuit|crunch|superpower|stealthrock", + "rotomheat": "|levitate|leftovers|timid|0,0,0,252,4,252|voltswitch|hiddenpowerice|painsplit|willowisp", + "landorustherian": "|intimidate|choicescarf|lax|80,4,252,0,4,168|earthquake|stealthrock|uturn|hiddenpowerice", + "excadrill": "|sandforce|leftovers|jolly|8,52,32,0,164,252|earthquake|ironhead|rapidspin|swordsdance", + "breloom": "|poisonheal|toxicorb|adamant|236,252,0,0,20,0|protect|substitute|facade|focuspunch", + "slowking": "|regenerator|leftovers|calm|252,0,240,0,16,0|scald|psyshock|slackoff|dragontail" + } + ], + "politoed|thundurus|toxicroak|rotomw|scizor|ferrothorn": [ + { + "politoed": "|drizzle|choicespecs|modest|236,0,0,252,0,20|hydropump|icebeam|hiddenpowergrass|focusblast", + "thundurus": "|prankster|leftovers|timid|4,0,0,252,0,252|nastyplot|focusblast|substitute|thunder", + "toxicroak": "|dryskin|lifeorb|adamant|4,252,0,0,0,252|swordsdance|crosschop|icepunch|suckerpunch", + "rotomw": "|levitate|choicescarf|modest|140,0,0,228,0,140|hiddenpowerice|trick|hydropump|voltswitch", + "scizor": "|technician|choiceband|adamant|148,252,0,0,96,12|bulletpunch|uturn|pursuit|superpower", + "ferrothorn": "|ironbarbs|leftovers|impish|252,0,68,0,188,0|stealthrock|spikes|thunderwave|powerwhip" + } + ] + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen5randombattle.json b/data/pkmn_sets/gen5randombattle.json new file mode 100644 index 000000000..48ed6deb6 --- /dev/null +++ b/data/pkmn_sets/gen5randombattle.json @@ -0,0 +1,391 @@ +{ + "abomasnow": {"leftovers,snowwarning,blizzard,earthquake,iceshard,woodhammer": 1457}, + "absol": {"lifeorb,justified,nightslash,suckerpunch,superpower,swordsdance": 849, "blackglasses,justified,nightslash,pursuit,suckerpunch,superpower": 440, "choiceband,justified,nightslash,suckerpunch,superpower,zenheadbutt": 458}, + "accelgor": {"leftovers,stickyhold,bugbuzz,encore,focusblast,uturn": 77, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,uturn": 103, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 88, "leftovers,stickyhold,bugbuzz,encore,spikes,uturn": 69, "focussash,stickyhold,bugbuzz,encore,focusblast,spikes": 17, "choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerground,uturn": 117, "choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerrock,uturn": 100, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 96, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 70, "leftovers,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 83, "leftovers,stickyhold,bugbuzz,encore,focusblast,spikes": 70, "choicespecs,hydration,bugbuzz,focusblast,hiddenpowerrock,uturn": 2, "leftovers,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 69, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 109, "focussash,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 17, "focussash,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 24, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerrock": 108, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,uturn": 111, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerground": 110, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 27, "leftovers,hydration,bugbuzz,encore,focusblast,spikes": 6, "focussash,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 21, "focussash,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 17, "leftovers,stickyhold,bugbuzz,focusblast,spikes,uturn": 69, "focussash,stickyhold,bugbuzz,focusblast,spikes,uturn": 16, "focussash,stickyhold,bugbuzz,encore,spikes,uturn": 13, "lifeorb,hydration,bugbuzz,encore,focusblast,hiddenpowerrock": 7, "leftovers,hydration,bugbuzz,encore,hiddenpowerrock,uturn": 3, "leftovers,hydration,bugbuzz,encore,focusblast,uturn": 3, "leftovers,hydration,bugbuzz,hiddenpowerground,spikes,uturn": 2, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 13, "leftovers,hydration,bugbuzz,encore,hiddenpowerground,uturn": 1, "lifeorb,hydration,bugbuzz,focusblast,hiddenpowerground,spikes": 3, "leftovers,hydration,bugbuzz,encore,hiddenpowerrock,spikes": 2, "lifeorb,hydration,bugbuzz,focusblast,hiddenpowerrock,spikes": 4, "lifeorb,hydration,bugbuzz,encore,focusblast,hiddenpowerground": 1, "leftovers,hydration,bugbuzz,hiddenpowerrock,spikes,uturn": 2, "choicespecs,hydration,bugbuzz,focusblast,hiddenpowerground,uturn": 7, "leftovers,hydration,bugbuzz,encore,hiddenpowerground,spikes": 1, "leftovers,hydration,bugbuzz,encore,spikes,uturn": 1}, + "aerodactyl": {"choiceband,unnerve,aquatail,earthquake,pursuit,stoneedge": 71, "leftovers,unnerve,earthquake,roost,stealthrock,stoneedge": 279, "leftovers,unnerve,earthquake,roost,stoneedge,taunt": 273, "leftovers,unnerve,earthquake,roost,stoneedge,toxic": 277, "lifeorb,unnerve,earthquake,pursuit,roost,stoneedge": 86, "lifeorb,unnerve,aquatail,earthquake,stealthrock,stoneedge": 52, "choiceband,unnerve,aerialace,earthquake,pursuit,stoneedge": 83, "focussash,unnerve,aquatail,earthquake,stealthrock,stoneedge": 19, "lifeorb,unnerve,aerialace,earthquake,stealthrock,stoneedge": 55, "lifeorb,unnerve,aquatail,earthquake,roost,stoneedge": 82, "lifeorb,unnerve,aerialace,earthquake,roost,stoneedge": 78, "choiceband,unnerve,aerialace,aquatail,earthquake,stoneedge": 95, "lifeorb,unnerve,earthquake,pursuit,stealthrock,stoneedge": 56, "focussash,unnerve,earthquake,pursuit,stealthrock,stoneedge": 17, "focussash,unnerve,aerialace,earthquake,stealthrock,stoneedge": 13}, + "aggron": {"airballoon,rockhead,earthquake,headsmash,heavyslam,thunderwave": 397, "choiceband,rockhead,aquatail,earthquake,headsmash,heavyslam": 430, "airballoon,rockhead,earthquake,headsmash,heavyslam,stealthrock": 332, "airballoon,rockhead,earthquake,headsmash,heavyslam,rockpolish": 436}, + "alakazam": {"lifeorb,magicguard,calmmind,encore,focusblast,psychic": 162, "lifeorb,magicguard,calmmind,focusblast,psychic,substitute": 155, "lifeorb,magicguard,calmmind,focusblast,psychic,shadowball": 167, "focussash,magicguard,counter,focusblast,psyshock,shadowball": 434, "lifeorb,magicguard,calmmind,focusblast,psyshock,shadowball": 156, "focussash,magicguard,counter,focusblast,psychic,shadowball": 453, "lifeorb,magicguard,calmmind,encore,focusblast,psyshock": 135, "lifeorb,magicguard,calmmind,focusblast,psyshock,substitute": 129}, + "alomomola": {"rockyhelmet,regenerator,protect,scald,toxic,wish": 899, "leftovers,regenerator,protect,scald,toxic,wish": 903}, + "altaria": {"lumberry,naturalcure,dragondance,earthquake,outrage,roost": 798, "leftovers,naturalcure,dracometeor,earthquake,fireblast,roost": 206, "leftovers,naturalcure,dracometeor,earthquake,roost,toxic": 77, "leftovers,naturalcure,dracometeor,fireblast,haze,roost": 106, "leftovers,naturalcure,dracometeor,earthquake,healbell,roost": 80, "leftovers,naturalcure,dracometeor,fireblast,roost,toxic": 89, "leftovers,naturalcure,dracometeor,earthquake,haze,roost": 101, "leftovers,naturalcure,dracometeor,fireblast,healbell,roost": 94}, + "ambipom": {"silkscarf,technician,fakeout,lowkick,payback,return": 449, "choiceband,technician,lowkick,pursuit,return,uturn": 195, "choiceband,technician,lowkick,payback,return,uturn": 442, "silkscarf,technician,fakeout,lowkick,pursuit,return": 171, "silkscarf,technician,fakeout,payback,return,uturn": 233, "silkscarf,technician,fakeout,lowkick,return,uturn": 128}, + "amoonguss": {"rockyhelmet,regenerator,foulplay,sludgebomb,spore,toxic": 29, "blacksludge,regenerator,foulplay,hiddenpowerground,sludgebomb,spore": 60, "blacksludge,regenerator,clearsmog,foulplay,sludgebomb,spore": 34, "blacksludge,regenerator,gigadrain,sludgebomb,spore,synthesis": 456, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,synthesis": 426, "rockyhelmet,regenerator,foulplay,hiddenpowerground,sludgebomb,spore": 64, "rockyhelmet,regenerator,clearsmog,foulplay,sludgebomb,spore": 30, "blacksludge,regenerator,foulplay,sludgebomb,spore,stunspore": 22, "blacksludge,regenerator,foulplay,gigadrain,sludgebomb,spore": 62, "rockyhelmet,regenerator,hiddenpowerground,sludgebomb,spore,stunspore": 28, "blacksludge,regenerator,foulplay,sludgebomb,spore,toxic": 36, "rockyhelmet,regenerator,foulplay,gigadrain,sludgebomb,spore": 52, "blacksludge,regenerator,hiddenpowerground,sludgebomb,spore,toxic": 26, "rockyhelmet,regenerator,gigadrain,hiddenpowerground,sludgebomb,spore": 44, "blacksludge,regenerator,gigadrain,hiddenpowerground,sludgebomb,spore": 53, "rockyhelmet,regenerator,foulplay,sludgebomb,spore,stunspore": 23, "rockyhelmet,regenerator,hiddenpowerground,sludgebomb,spore,toxic": 29, "rockyhelmet,regenerator,clearsmog,hiddenpowerground,sludgebomb,spore": 22, "blacksludge,regenerator,gigadrain,sludgebomb,spore,toxic": 27, "blacksludge,regenerator,clearsmog,gigadrain,sludgebomb,spore": 31, "rockyhelmet,regenerator,clearsmog,gigadrain,sludgebomb,spore": 23, "blacksludge,regenerator,hiddenpowerground,sludgebomb,spore,stunspore": 15, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,toxic": 22, "blacksludge,regenerator,gigadrain,sludgebomb,spore,stunspore": 26, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,stunspore": 26, "blacksludge,regenerator,clearsmog,hiddenpowerground,sludgebomb,spore": 30}, + "ampharos": {"leftovers,static,healbell,hiddenpowerice,thunderbolt,toxic": 58, "choicespecs,static,focusblast,hiddenpowerice,thunderbolt,voltswitch": 595, "leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 79, "leftovers,static,healbell,hiddenpowerice,thunderbolt,voltswitch": 58, "lifeorb,static,agility,focusblast,hiddenpowerice,thunderbolt": 451, "leftovers,static,focusblast,hiddenpowerice,thunderbolt,toxic": 167, "leftovers,static,focusblast,thunderbolt,toxic,voltswitch": 74, "leftovers,static,focusblast,healbell,hiddenpowerice,thunderbolt": 146, "leftovers,static,focusblast,healbell,thunderbolt,toxic": 52, "leftovers,static,focusblast,healbell,thunderbolt,voltswitch": 63}, + "arbok": {"blacksludge,intimidate,coil,earthquake,gunkshot,suckerpunch": 606, "lifeorb,intimidate,coil,earthquake,gunkshot,suckerpunch": 302, "blacksludge,shedskin,coil,earthquake,gunkshot,rest": 595, "lifeorb,intimidate,coil,earthquake,glare,gunkshot": 283}, + "arcanine": {"lifeorb,intimidate,closecombat,extremespeed,flareblitz,morningsun": 302, "leftovers,intimidate,extremespeed,flareblitz,morningsun,wildcharge": 124, "leftovers,intimidate,closecombat,flareblitz,morningsun,willowisp": 61, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge": 276, "leftovers,intimidate,flareblitz,morningsun,roar,wildcharge": 62, "leftovers,intimidate,closecombat,extremespeed,flareblitz,morningsun": 102, "leftovers,intimidate,closecombat,flareblitz,morningsun,roar": 53, "lifeorb,intimidate,closecombat,flareblitz,morningsun,wildcharge": 279, "leftovers,intimidate,closecombat,flareblitz,morningsun,wildcharge": 119, "leftovers,intimidate,flareblitz,morningsun,toxic,wildcharge": 63, "leftovers,intimidate,closecombat,flareblitz,morningsun,toxic": 48, "leftovers,intimidate,extremespeed,flareblitz,morningsun,toxic": 55, "leftovers,intimidate,extremespeed,flareblitz,morningsun,roar": 72, "leftovers,intimidate,flareblitz,morningsun,wildcharge,willowisp": 51, "leftovers,intimidate,extremespeed,flareblitz,morningsun,willowisp": 48}, + "arceus": {"lifeorb,multitype,earthquake,extremespeed,recover,swordsdance": 154, "lifeorb,multitype,earthquake,extremespeed,shadowclaw,swordsdance": 134}, + "arceusbug": {"insectplate,multitype,calmmind,earthpower,icebeam,judgment": 154, "insectplate,multitype,calmmind,earthpower,judgment,recover": 74, "insectplate,multitype,calmmind,fireblast,judgment,recover": 83}, + "arceusdark": {"dreadplate,multitype,calmmind,judgment,recover,refresh": 131, "dreadplate,multitype,calmmind,focusblast,judgment,recover": 176}, + "arceusdragon": {"dracoplate,multitype,earthquake,outrage,recover,swordsdance": 66, "dracoplate,multitype,earthquake,extremespeed,outrage,swordsdance": 87, "dracoplate,multitype,calmmind,fireblast,judgment,recover": 55, "dracoplate,multitype,calmmind,judgment,recover,refresh": 50, "dracoplate,multitype,calmmind,earthpower,judgment,recover": 67}, + "arceuselectric": {"zapplate,multitype,calmmind,icebeam,judgment,recover": 330}, + "arceusfighting": {"fistplate,multitype,calmmind,darkpulse,judgment,recover": 152, "fistplate,multitype,calmmind,icebeam,judgment,recover": 160}, + "arceusfire": {"flameplate,multitype,calmmind,earthpower,icebeam,judgment": 57, "flameplate,multitype,calmmind,icebeam,judgment,thunderbolt": 62, "flameplate,multitype,calmmind,judgment,recover,thunderbolt": 31, "flameplate,multitype,calmmind,earthpower,judgment,recover": 36, "flameplate,multitype,calmmind,icebeam,judgment,recover": 41, "flameplate,multitype,calmmind,earthpower,judgment,thunderbolt": 65}, + "arceusflying": {"skyplate,multitype,calmmind,earthpower,judgment,recover": 148, "skyplate,multitype,calmmind,judgment,recover,refresh": 150}, + "arceusghost": {"spookyplate,multitype,focusblast,judgment,recover,willowisp": 165, "spookyplate,multitype,calmmind,focusblast,judgment,recover": 174}, + "arceusgrass": {"meadowplate,multitype,calmmind,fireblast,judgment,recover": 159, "meadowplate,multitype,calmmind,earthpower,icebeam,judgment": 154}, + "arceusground": {"earthplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 86, "earthplate,multitype,calmmind,icebeam,judgment,recover": 156, "earthplate,multitype,earthquake,recover,stoneedge,swordsdance": 86}, + "arceusice": {"icicleplate,multitype,calmmind,judgment,recover,thunderbolt": 166, "icicleplate,multitype,calmmind,earthpower,judgment,recover": 152}, + "arceuspoison": {"toxicplate,multitype,earthquake,icebeam,recover,sludgebomb": 36, "toxicplate,multitype,calmmind,earthpower,recover,sludgebomb": 75, "toxicplate,multitype,calmmind,earthpower,fireblast,sludgebomb": 75, "toxicplate,multitype,earthquake,fireblast,recover,sludgebomb": 45, "toxicplate,multitype,earthquake,recover,sludgebomb,stealthrock": 26, "toxicplate,multitype,earthquake,recover,sludgebomb,willowisp": 43}, + "arceuspsychic": {"mindplate,multitype,calmmind,focusblast,judgment,recover": 147, "mindplate,multitype,calmmind,darkpulse,focusblast,judgment": 161}, + "arceusrock": {"stoneplate,multitype,calmmind,earthpower,judgment,recover": 68, "stoneplate,multitype,calmmind,fireblast,judgment,recover": 63, "stoneplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 81, "stoneplate,multitype,earthquake,recover,stoneedge,swordsdance": 77}, + "arceussteel": {"ironplate,multitype,calmmind,earthpower,judgment,recover": 144, "ironplate,multitype,earthquake,judgment,recover,willowisp": 78, "ironplate,multitype,earthquake,judgment,recover,toxic": 73}, + "arceuswater": {"splashplate,multitype,calmmind,icebeam,judgment,recover": 164, "splashplate,multitype,icebeam,judgment,recover,willowisp": 144}, + "archeops": {"flyinggem,defeatist,acrobatics,earthquake,stealthrock,stoneedge": 439, "flyinggem,defeatist,acrobatics,earthquake,stoneedge,uturn": 544, "flyinggem,defeatist,acrobatics,earthquake,roost,stoneedge": 540}, + "ariados": {"blacksludge,swarm,poisonjab,suckerpunch,toxicspikes,xscissor": 819, "blacksludge,insomnia,poisonjab,suckerpunch,toxicspikes,xscissor": 863}, + "armaldo": {"leftovers,battlearmor,rapidspin,stoneedge,toxic,xscissor": 312, "leftovers,battlearmor,earthquake,rapidspin,stealthrock,stoneedge": 221, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,toxic": 323, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,xscissor": 206, "leftovers,battlearmor,aquatail,stealthrock,stoneedge,xscissor": 20, "leftovers,battlearmor,earthquake,stoneedge,swordsdance,xscissor": 30, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,xscissor": 16, "leftovers,battlearmor,aquatail,earthquake,stoneedge,swordsdance": 30, "leftovers,battlearmor,aquatail,stoneedge,swordsdance,xscissor": 31, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,toxic": 196, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,xscissor": 271, "choiceband,battlearmor,aquatail,earthquake,stoneedge,xscissor": 32, "leftovers,swiftswim,aquatail,earthquake,stealthrock,stoneedge": 1, "leftovers,battlearmor,aquatail,earthquake,stealthrock,stoneedge": 15, "leftovers,swiftswim,earthquake,rapidspin,stoneedge,toxic": 9, "leftovers,swiftswim,earthquake,rapidspin,stealthrock,stoneedge": 6, "leftovers,swiftswim,rapidspin,stealthrock,stoneedge,xscissor": 4, "leftovers,swiftswim,aquatail,earthquake,stoneedge,swordsdance": 2, "leftovers,swiftswim,rapidspin,stoneedge,toxic,xscissor": 10, "leftovers,swiftswim,earthquake,stealthrock,stoneedge,xscissor": 2, "leftovers,swiftswim,rapidspin,stealthrock,stoneedge,toxic": 3, "leftovers,swiftswim,earthquake,rapidspin,stoneedge,xscissor": 3, "leftovers,swiftswim,aquatail,stoneedge,swordsdance,xscissor": 1}, + "articuno": {"leftovers,pressure,hurricane,icebeam,roost,substitute": 396, "leftovers,pressure,icebeam,roost,substitute,toxic": 697, "leftovers,pressure,hurricane,icebeam,roost,toxic": 379}, + "audino": {"leftovers,regenerator,doubleedge,healbell,protect,wish": 407, "rockyhelmet,regenerator,doubleedge,healbell,protect,wish": 407, "leftovers,regenerator,doubleedge,protect,toxic,wish": 465, "rockyhelmet,regenerator,doubleedge,protect,toxic,wish": 433}, + "azelf": {"lifeorb,levitate,fireblast,nastyplot,psychic,signalbeam": 68, "choicespecs,levitate,fireblast,psychic,signalbeam,trick": 70, "lifeorb,levitate,fireblast,nastyplot,psyshock,signalbeam": 67, "lifeorb,levitate,explosion,fireblast,psychic,stealthrock": 60, "choicespecs,levitate,fireblast,psyshock,thunderbolt,uturn": 69, "leftovers,levitate,explosion,fireblast,psychic,uturn": 121, "leftovers,levitate,psychic,stealthrock,taunt,uturn": 63, "lifeorb,levitate,fireblast,nastyplot,psychic,thunderbolt": 70, "choicespecs,levitate,fireblast,psychic,signalbeam,uturn": 61, "choicespecs,levitate,fireblast,psyshock,signalbeam,trick": 70, "leftovers,levitate,fireblast,psychic,stealthrock,uturn": 59, "choicespecs,levitate,fireblast,psyshock,signalbeam,uturn": 66, "choicespecs,levitate,fireblast,psyshock,thunderbolt,trick": 83, "leftovers,levitate,fireblast,psychic,stealthrock,taunt": 54, "leftovers,levitate,explosion,psychic,taunt,uturn": 111, "choicespecs,levitate,fireblast,psychic,thunderbolt,uturn": 68, "leftovers,levitate,explosion,psychic,stealthrock,uturn": 68, "lifeorb,levitate,explosion,fireblast,psychic,taunt": 115, "choicespecs,levitate,fireblast,psychic,signalbeam,thunderbolt": 48, "choicespecs,levitate,fireblast,psychic,thunderbolt,trick": 62, "focussash,levitate,fireblast,psychic,stealthrock,taunt": 9, "leftovers,levitate,fireblast,psychic,taunt,uturn": 118, "focussash,levitate,explosion,psychic,stealthrock,uturn": 11, "leftovers,levitate,explosion,psychic,stealthrock,taunt": 53, "lifeorb,levitate,fireblast,nastyplot,psyshock,thunderbolt": 61, "choicespecs,levitate,fireblast,psyshock,signalbeam,thunderbolt": 39, "focussash,levitate,explosion,fireblast,psychic,stealthrock": 15, "focussash,levitate,explosion,psychic,stealthrock,taunt": 11, "focussash,levitate,psychic,stealthrock,taunt,uturn": 9, "focussash,levitate,fireblast,psychic,stealthrock,uturn": 14}, + "azumarill": {"choiceband,hugepower,aquajet,icepunch,superpower,waterfall": 447, "sitrusberry,hugepower,aquajet,bellydrum,return,waterfall": 877, "choiceband,hugepower,aquajet,doubleedge,icepunch,waterfall": 440}, + "banette": {"lifeorb,cursedbody,hiddenpowerfighting,shadowclaw,shadowsneak,willowisp": 282, "lifeorb,cursedbody,hiddenpowerfighting,shadowclaw,shadowsneak,thunderwave": 305, "lifeorb,insomnia,hiddenpowerfighting,shadowclaw,shadowsneak,willowisp": 297, "lifeorb,frisk,hiddenpowerfighting,shadowclaw,shadowsneak,thunderwave": 330, "lifeorb,frisk,hiddenpowerfighting,shadowclaw,shadowsneak,willowisp": 294, "lifeorb,insomnia,hiddenpowerfighting,shadowclaw,shadowsneak,thunderwave": 316}, + "basculin": {"choiceband,adaptability,aquajet,crunch,superpower,waterfall": 577, "choiceband,adaptability,aquajet,superpower,waterfall,zenheadbutt": 591, "choiceband,adaptability,aquajet,crunch,waterfall,zenheadbutt": 610}, + "bastiodon": {"leftovers,sturdy,metalburst,protect,rockblast,toxic": 277, "leftovers,sturdy,protect,roar,rockblast,toxic": 313, "airballoon,sturdy,metalburst,roar,rockblast,toxic": 288, "leftovers,sturdy,protect,rockblast,stealthrock,toxic": 215, "airballoon,sturdy,roar,rockblast,stealthrock,toxic": 165, "airballoon,sturdy,metalburst,roar,rockblast,stealthrock": 176, "airballoon,sturdy,metalburst,rockblast,stealthrock,toxic": 162}, + "beartic": {"lifeorb,swiftswim,aquajet,iciclecrash,superpower,swordsdance": 527, "lifeorb,swiftswim,iciclecrash,stoneedge,superpower,swordsdance": 496, "choiceband,swiftswim,aquajet,iciclecrash,stoneedge,superpower": 550}, + "beautifly": {"leftovers,swarm,bugbuzz,hiddenpowerground,psychic,quiverdance": 1460}, + "beedrill": {"blacksludge,swarm,drillrun,poisonjab,toxicspikes,uturn": 1416, "focussash,swarm,drillrun,poisonjab,toxicspikes,uturn": 252}, + "beheeyem": {"choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,trick": 159, "choicespecs,analytic,hiddenpowerfighting,psychic,thunderbolt,trick": 170, "lifeorb,analytic,psychic,signalbeam,thunderbolt,trickroom": 129, "lifeorb,analytic,psychic,recover,signalbeam,trickroom": 92, "choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 170, "lifeorb,analytic,hiddenpowerfighting,psychic,recover,trickroom": 83, "lifeorb,analytic,hiddenpowerfighting,psychic,thunderbolt,trickroom": 136, "lifeorb,analytic,hiddenpowerfighting,psychic,recover,thunderbolt": 139, "choicespecs,analytic,psychic,signalbeam,thunderbolt,trick": 200, "lifeorb,analytic,hiddenpowerfighting,psychic,signalbeam,trickroom": 158, "lifeorb,analytic,hiddenpowerfighting,psychic,recover,signalbeam": 137, "lifeorb,analytic,psychic,recover,signalbeam,thunderbolt": 154, "lifeorb,analytic,psychic,recover,thunderbolt,trickroom": 73}, + "bellossom": {"leftovers,chlorophyll,hiddenpowerrock,leafstorm,sleeppowder,synthesis": 108, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,leechseed,synthesis": 108, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,leechseed,synthesis": 113, "leftovers,chlorophyll,gigadrain,leechseed,stunspore,synthesis": 73, "leftovers,chlorophyll,leafstorm,leechseed,sleeppowder,synthesis": 80, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,stunspore,synthesis": 99, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,sleeppowder,synthesis": 94, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,stunspore,synthesis": 115, "leftovers,chlorophyll,hiddenpowerrock,leafstorm,leechseed,synthesis": 106, "leftovers,chlorophyll,hiddenpowerrock,leafstorm,stunspore,synthesis": 90, "leftovers,chlorophyll,hiddenpowerfire,leafstorm,leechseed,synthesis": 99, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,sleeppowder,synthesis": 104, "leftovers,chlorophyll,leafstorm,leechseed,stunspore,synthesis": 74, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,stunspore,synthesis": 108, "leftovers,chlorophyll,leafstorm,sleeppowder,stunspore,synthesis": 76, "leftovers,chlorophyll,gigadrain,leechseed,sleeppowder,synthesis": 83, "leftovers,chlorophyll,gigadrain,sleeppowder,stunspore,synthesis": 87, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,sleeppowder,synthesis": 127}, + "bibarel": {"leftovers,simple,curse,quickattack,return,waterfall": 756, "lifeorb,simple,quickattack,return,waterfall,workup": 808}, + "bisharp": {"blackglasses,defiant,ironhead,nightslash,pursuit,suckerpunch": 791, "lifeorb,defiant,lowkick,nightslash,suckerpunch,swordsdance": 382, "lifeorb,defiant,ironhead,lowkick,suckerpunch,swordsdance": 389}, + "blastoise": {"leftovers,torrent,icebeam,rapidspin,scald,toxic": 517, "leftovers,torrent,rapidspin,roar,scald,toxic": 548, "leftovers,torrent,icebeam,rapidspin,roar,scald": 517, "leftovers,torrent,haze,protect,scald,toxic": 107, "leftovers,torrent,icebeam,protect,scald,toxic": 82}, + "blaziken": {"lifeorb,speedboost,flareblitz,highjumpkick,protect,swordsdance": 428, "lifeorb,speedboost,fireblast,highjumpkick,protect,stoneedge": 888, "lifeorb,speedboost,flareblitz,highjumpkick,stoneedge,swordsdance": 444}, + "blissey": {"leftovers,naturalcure,seismictoss,softboiled,thunderwave,toxic": 299, "leftovers,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 287, "leftovers,naturalcure,protect,seismictoss,toxic,wish": 852, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,toxic": 233}, + "bouffalant": {"choiceband,reckless,earthquake,headcharge,stoneedge,superpower": 281, "leftovers,sapsipper,earthquake,headcharge,stoneedge,swordsdance": 176, "leftovers,reckless,earthquake,headcharge,stoneedge,swordsdance": 169, "leftovers,reckless,headcharge,stoneedge,superpower,swordsdance": 192, "leftovers,sapsipper,headcharge,stoneedge,superpower,swordsdance": 203, "choiceband,sapsipper,earthquake,headcharge,stoneedge,superpower": 239, "leftovers,reckless,earthquake,headcharge,superpower,swordsdance": 197, "leftovers,sapsipper,earthquake,headcharge,superpower,swordsdance": 193}, + "braviary": {"choiceband,defiant,bravebird,return,superpower,uturn": 354, "leftovers,defiant,bravebird,bulkup,roost,superpower": 783, "choicescarf,defiant,bravebird,return,superpower,uturn": 384}, + "breloom": {"toxicorb,poisonheal,focuspunch,spore,stoneedge,substitute": 802, "lifeorb,technician,bulletseed,machpunch,spore,stoneedge": 409, "lifeorb,technician,bulletseed,machpunch,spore,swordsdance": 408}, + "bronzong": {"leftovers,levitate,earthquake,hypnosis,psychic,toxic": 365, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 160, "leftovers,levitate,earthquake,protect,psychic,toxic": 833, "leftovers,levitate,hypnosis,psychic,stealthrock,toxic": 160, "leftovers,levitate,earthquake,hypnosis,psychic,stealthrock": 186}, + "butterfree": {"leftovers,tintedlens,bugbuzz,quiverdance,sleeppowder,substitute": 748, "leftovers,tintedlens,bugbuzz,quiverdance,roost,sleeppowder": 693}, + "cacturne": {"lifeorb,waterabsorb,drainpunch,seedbomb,suckerpunch,swordsdance": 817, "lifeorb,waterabsorb,darkpulse,gigadrain,spikes,suckerpunch": 265, "lifeorb,waterabsorb,focusblast,gigadrain,spikes,suckerpunch": 235, "lifeorb,waterabsorb,darkpulse,focusblast,gigadrain,suckerpunch": 257}, + "camerupt": {"leftovers,solidrock,earthquake,lavaplume,stealthrock,toxic": 455, "leftovers,solidrock,earthquake,lavaplume,roar,toxic": 734, "leftovers,solidrock,earthquake,lavaplume,roar,stealthrock": 439}, + "carnivine": {"leftovers,levitate,knockoff,powerwhip,sleeppowder,synthesis": 1701}, + "carracosta": {"whiteherb,solidrock,aquajet,shellsmash,stoneedge,waterfall": 219, "whiteherb,sturdy,earthquake,shellsmash,stoneedge,waterfall": 254, "whiteherb,solidrock,earthquake,shellsmash,stoneedge,waterfall": 264, "whiteherb,sturdy,icebeam,shellsmash,stoneedge,waterfall": 226, "whiteherb,solidrock,icebeam,shellsmash,stoneedge,waterfall": 247, "whiteherb,sturdy,aquajet,shellsmash,stoneedge,waterfall": 265, "whiteherb,swiftswim,icebeam,shellsmash,stoneedge,waterfall": 7, "whiteherb,swiftswim,aquajet,shellsmash,stoneedge,waterfall": 8, "whiteherb,swiftswim,earthquake,shellsmash,stoneedge,waterfall": 5}, + "castform": {"leftovers,forecast,fireblast,icebeam,return,scald": 206, "leftovers,forecast,fireblast,icebeam,return,thunderbolt": 206, "leftovers,forecast,icebeam,return,scald,thunderbolt": 216, "leftovers,forecast,fireblast,return,scald,thunderwave": 153, "leftovers,forecast,fireblast,return,thunderbolt,thunderwave": 153, "leftovers,forecast,fireblast,icebeam,return,thunderwave": 143, "leftovers,forecast,icebeam,return,scald,thunderwave": 143, "leftovers,forecast,fireblast,return,scald,thunderbolt": 168, "leftovers,forecast,return,scald,thunderbolt,thunderwave": 158, "leftovers,forecast,icebeam,return,thunderbolt,thunderwave": 119}, + "celebi": {"leftovers,naturalcure,leafstorm,psychic,recover,thunderwave": 99, "leftovers,naturalcure,leafstorm,psychic,recover,uturn": 105, "choicespecs,naturalcure,earthpower,gigadrain,psychic,uturn": 125, "lifeorb,naturalcure,earthpower,gigadrain,nastyplot,psychic": 135, "lifeorb,naturalcure,earthpower,leafstorm,nastyplot,psychic": 132, "leftovers,naturalcure,leafstorm,recover,thunderwave,uturn": 106, "leftovers,naturalcure,leafstorm,nastyplot,psychic,recover": 518, "choicespecs,naturalcure,earthpower,leafstorm,psychic,uturn": 139, "leftovers,naturalcure,leafstorm,recover,stealthrock,uturn": 65, "leftovers,naturalcure,leafstorm,psychic,recover,stealthrock": 75, "leftovers,naturalcure,leafstorm,recover,stealthrock,thunderwave": 66}, + "chandelure": {"leftovers,flashfire,calmmind,fireblast,shadowball,substitute": 401, "leftovers,flamebody,calmmind,fireblast,shadowball,substitute": 400, "choicescarf,flashfire,energyball,fireblast,hiddenpowerfighting,shadowball": 224, "choicescarf,flashfire,energyball,fireblast,shadowball,trick": 442, "choicespecs,flashfire,energyball,fireblast,hiddenpowerfighting,shadowball": 177}, + "chansey": {"eviolite,naturalcure,seismictoss,softboiled,stealthrock,toxic": 359, "eviolite,naturalcure,seismictoss,softboiled,toxic,wish": 468, "eviolite,naturalcure,seismictoss,softboiled,thunderwave,toxic": 510, "eviolite,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 423}, + "charizard": {"choicespecs,blaze,airslash,dragonpulse,fireblast,focusblast": 29, "leftovers,blaze,airslash,fireblast,hiddenpowergrass,roost": 89, "flyinggem,blaze,acrobatics,dragondance,earthquake,flareblitz": 232, "flyinggem,blaze,acrobatics,earthquake,flareblitz,swordsdance": 241, "leftovers,blaze,airslash,earthquake,fireblast,roost": 238, "choicespecs,blaze,airslash,fireblast,focusblast,hiddenpowergrass": 49, "choicescarf,blaze,airslash,dragonpulse,fireblast,hiddenpowergrass": 43, "leftovers,blaze,airslash,fireblast,roost,willowisp": 264, "choicescarf,blaze,airslash,fireblast,focusblast,hiddenpowergrass": 51, "choicespecs,blaze,airslash,dragonpulse,fireblast,hiddenpowergrass": 33, "leftovers,blaze,airslash,dragonpulse,fireblast,roost": 78, "choicescarf,blaze,airslash,dragonpulse,fireblast,focusblast": 53, "leftovers,blaze,airslash,fireblast,focusblast,roost": 77, "leftovers,solarpower,airslash,dragonpulse,fireblast,roost": 1, "leftovers,solarpower,airslash,fireblast,hiddenpowergrass,roost": 2, "leftovers,solarpower,airslash,fireblast,focusblast,roost": 1, "leftovers,solarpower,airslash,earthquake,fireblast,roost": 3, "leftovers,solarpower,airslash,fireblast,roost,willowisp": 3, "choicespecs,solarpower,airslash,fireblast,focusblast,hiddenpowergrass": 1}, + "chatot": {"leftovers,tangledfeet,hiddenpowerground,hypervoice,nastyplot,substitute": 148, "choicespecs,tangledfeet,chatter,hiddenpowerground,hypervoice,uturn": 72, "choicespecs,tangledfeet,chatter,heatwave,hiddenpowerground,hypervoice": 147, "lifeorb,tangledfeet,chatter,hiddenpowerground,hypervoice,nastyplot": 207, "lifeorb,tangledfeet,chatter,heatwave,hypervoice,nastyplot": 190, "choicespecs,tangledfeet,heatwave,hiddenpowerground,hypervoice,uturn": 151, "choicespecs,tangledfeet,chatter,heatwave,hypervoice,uturn": 86, "lifeorb,tangledfeet,heatwave,hiddenpowerground,hypervoice,nastyplot": 415, "leftovers,tangledfeet,heatwave,hypervoice,nastyplot,substitute": 143}, + "cherrim": {"lifeorb,flowergift,gigadrain,hiddenpowerfire,morningsun,naturepower": 219, "lifeorb,flowergift,gigadrain,hiddenpowerrock,morningsun,naturepower": 223, "leftovers,flowergift,aromatherapy,gigadrain,morningsun,toxic": 272, "choicescarf,flowergift,gigadrain,healingwish,hiddenpowerrock,naturepower": 229, "leftovers,flowergift,gigadrain,leechseed,morningsun,toxic": 288, "leftovers,flowergift,gigadrain,morningsun,naturepower,toxic": 292, "choicescarf,flowergift,gigadrain,healingwish,hiddenpowerfire,naturepower": 211}, + "chimecho": {"leftovers,levitate,calmmind,psychic,recover,signalbeam": 235, "leftovers,levitate,healbell,psychic,recover,toxic": 174, "leftovers,levitate,calmmind,hiddenpowerfighting,psychic,recover": 191, "leftovers,levitate,healbell,psychic,recover,thunderwave": 160, "leftovers,levitate,calmmind,hiddenpowerfighting,psyshock,recover": 219, "leftovers,levitate,healbell,hiddenpowerfighting,psychic,recover": 139, "leftovers,levitate,calmmind,psyshock,recover,signalbeam": 234, "leftovers,levitate,hiddenpowerfighting,psychic,recover,thunderwave": 215, "leftovers,levitate,hiddenpowerfighting,psychic,recover,toxic": 178}, + "cinccino": {"choiceband,skilllink,bulletseed,rockblast,tailslap,uturn": 1671}, + "claydol": {"leftovers,levitate,earthquake,icebeam,psychic,rapidspin": 271, "leftovers,levitate,earthquake,psychic,rapidspin,stealthrock": 208, "leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 258, "leftovers,levitate,earthquake,icebeam,psychic,toxic": 77, "leftovers,levitate,earthquake,rapidspin,stealthrock,toxic": 200, "leftovers,levitate,earthquake,icebeam,rapidspin,stealthrock": 185, "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 277, "leftovers,levitate,earthquake,icebeam,stealthrock,toxic": 27, "leftovers,levitate,earthquake,icebeam,psychic,stealthrock": 24, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 32}, + "clefable": {"lifeorb,magicguard,doubleedge,softboiled,stealthrock,thunderwave": 123, "lifeorb,magicguard,calmmind,icebeam,softboiled,thunderbolt": 425, "lifeorb,magicguard,doubleedge,fireblast,softboiled,thunderwave": 178, "lifeorb,magicguard,doubleedge,fireblast,softboiled,stealthrock": 130, "leftovers,unaware,calmmind,icebeam,softboiled,thunderbolt": 419, "lifeorb,magicguard,aromatherapy,doubleedge,softboiled,stealthrock": 118, "lifeorb,magicguard,aromatherapy,doubleedge,softboiled,thunderwave": 179, "lifeorb,magicguard,aromatherapy,doubleedge,fireblast,softboiled": 161}, + "cloyster": {"whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash": 1581}, + "cobalion": {"leftovers,justified,closecombat,ironhead,stoneedge,swordsdance": 839, "leftovers,justified,closecombat,ironhead,stoneedge,toxic": 115, "leftovers,justified,closecombat,ironhead,stealthrock,toxic": 77, "leftovers,justified,closecombat,ironhead,taunt,thunderwave": 113, "leftovers,justified,closecombat,ironhead,stealthrock,taunt": 72, "leftovers,justified,closecombat,ironhead,stealthrock,stoneedge": 69, "leftovers,justified,closecombat,ironhead,stoneedge,thunderwave": 100, "leftovers,justified,closecombat,ironhead,stoneedge,taunt": 82, "leftovers,justified,closecombat,ironhead,taunt,toxic": 98, "leftovers,justified,closecombat,ironhead,stealthrock,thunderwave": 63}, + "cofagrigus": {"leftovers,mummy,hiddenpowerfighting,nastyplot,shadowball,trickroom": 945, "leftovers,mummy,hiddenpowerfighting,painsplit,shadowball,willowisp": 243, "leftovers,mummy,haze,painsplit,shadowball,willowisp": 217, "leftovers,mummy,haze,hiddenpowerfighting,painsplit,shadowball": 231, "leftovers,mummy,haze,hiddenpowerfighting,shadowball,willowisp": 245}, + "conkeldurr": {"leftovers,ironfist,bulkup,drainpunch,machpunch,thunderpunch": 419, "choiceband,ironfist,drainpunch,icepunch,machpunch,thunderpunch": 923, "leftovers,ironfist,bulkup,drainpunch,icepunch,machpunch": 457}, + "corsola": {"leftovers,regenerator,powergem,recover,scald,toxic": 626, "leftovers,regenerator,powergem,recover,scald,stealthrock": 403, "leftovers,regenerator,recover,scald,stealthrock,toxic": 428}, + "cradily": {"leftovers,stormdrain,recover,seedbomb,stoneedge,swordsdance": 196, "leftovers,stormdrain,earthpower,gigadrain,recover,stoneedge": 285, "leftovers,stormdrain,curse,earthquake,recover,stoneedge": 201, "leftovers,stormdrain,gigadrain,recover,stealthrock,stoneedge": 236, "leftovers,stormdrain,gigadrain,recover,stoneedge,toxic": 290, "leftovers,stormdrain,curse,recover,seedbomb,stoneedge": 222, "leftovers,stormdrain,earthquake,recover,stoneedge,swordsdance": 183}, + "crawdaunt": {"lifeorb,adaptability,crunch,dragondance,superpower,waterfall": 1526}, + "cresselia": {"leftovers,levitate,hiddenpowerfighting,moonlight,psychic,toxic": 429, "leftovers,levitate,calmmind,moonlight,psyshock,signalbeam": 455, "leftovers,levitate,calmmind,hiddenpowerfighting,moonlight,psyshock": 436, "leftovers,levitate,hiddenpowerfighting,moonlight,psychic,thunderwave": 419}, + "crobat": {"blacksludge,innerfocus,bravebird,roost,superfang,uturn": 112, "blacksludge,innerfocus,bravebird,heatwave,roost,superfang": 107, "blacksludge,innerfocus,bravebird,roost,taunt,toxic": 108, "blacksludge,innerfocus,bravebird,heatwave,roost,uturn": 100, "blacksludge,innerfocus,bravebird,heatwave,roost,toxic": 106, "blacksludge,innerfocus,bravebird,roost,superfang,toxic": 109, "blacksludge,innerfocus,bravebird,heatwave,roost,taunt": 107, "blacksludge,innerfocus,bravebird,roost,superfang,taunt": 86, "blacksludge,innerfocus,bravebird,hypnosis,roost,superfang": 99, "blacksludge,innerfocus,bravebird,heatwave,hypnosis,roost": 116, "blacksludge,innerfocus,bravebird,hypnosis,roost,toxic": 112, "blacksludge,innerfocus,bravebird,roost,taunt,uturn": 77, "blacksludge,innerfocus,bravebird,hypnosis,roost,taunt": 86, "blacksludge,innerfocus,bravebird,hypnosis,roost,uturn": 108, "blacksludge,innerfocus,bravebird,roost,toxic,uturn": 116}, + "crustle": {"whiteherb,sturdy,earthquake,shellsmash,stoneedge,xscissor": 1757}, + "cryogonal": {"leftovers,levitate,hiddenpowerground,icebeam,rapidspin,recover": 563, "leftovers,levitate,haze,icebeam,rapidspin,recover": 502, "leftovers,levitate,hiddenpowerground,icebeam,recover,toxic": 56, "leftovers,levitate,icebeam,rapidspin,recover,toxic": 510, "leftovers,levitate,haze,hiddenpowerground,icebeam,recover": 50, "leftovers,levitate,haze,icebeam,recover,toxic": 67}, + "darkrai": {"leftovers,baddreams,darkpulse,darkvoid,nastyplot,substitute": 921, "lifeorb,baddreams,darkpulse,darkvoid,focusblast,nastyplot": 878}, + "darmanitan": {"lifeorb,sheerforce,earthquake,flareblitz,rockslide,uturn": 381, "lifeorb,sheerforce,flareblitz,rockslide,superpower,uturn": 386, "lifeorb,sheerforce,earthquake,flareblitz,superpower,uturn": 361, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,superpower": 600}, + "delcatty": {"silkscarf,wonderskin,doubleedge,fakeout,suckerpunch,thunderwave": 311, "silkscarf,wonderskin,doubleedge,fakeout,suckerpunch,toxic": 285, "leftovers,wonderskin,doubleedge,healbell,suckerpunch,thunderwave": 240, "silkscarf,wonderskin,doubleedge,fakeout,healbell,suckerpunch": 154, "leftovers,wonderskin,doubleedge,healbell,suckerpunch,toxic": 243, "silkscarf,wonderskin,doubleedge,fakeout,healbell,toxic": 237, "silkscarf,wonderskin,doubleedge,fakeout,healbell,thunderwave": 257}, + "delibird": {"leftovers,insomnia,icebeam,rapidspin,seismictoss,toxic": 316, "leftovers,vitalspirit,icebeam,rapidspin,seismictoss,toxic": 360, "leftovers,insomnia,icebeam,iceshard,rapidspin,seismictoss": 322, "leftovers,insomnia,icebeam,iceshard,seismictoss,toxic": 74, "leftovers,vitalspirit,icebeam,iceshard,rapidspin,seismictoss": 334, "leftovers,vitalspirit,icebeam,iceshard,seismictoss,toxic": 66}, + "deoxys": {"lifeorb,pressure,darkpulse,extremespeed,psychoboost,superpower": 467, "lifeorb,pressure,darkpulse,icebeam,psychoboost,superpower": 405}, + "deoxysattack": {"lifeorb,pressure,darkpulse,extremespeed,psychoboost,superpower": 471, "lifeorb,pressure,darkpulse,icebeam,psychoboost,superpower": 423}, + "deoxysdefense": {"leftovers,pressure,recover,seismictoss,taunt,toxic": 192, "leftovers,pressure,recover,seismictoss,stealthrock,toxic": 119, "leftovers,pressure,recover,seismictoss,spikes,taunt": 166, "leftovers,pressure,recover,seismictoss,spikes,toxic": 190, "leftovers,pressure,recover,seismictoss,spikes,stealthrock": 150, "leftovers,pressure,recover,seismictoss,stealthrock,taunt": 125}, + "deoxysspeed": {"leftovers,pressure,psychoboost,spikes,stealthrock,taunt": 131, "leftovers,pressure,psychoboost,spikes,superpower,taunt": 297, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower": 134, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt": 137, "focussash,pressure,psychoboost,spikes,stealthrock,superpower": 33, "focussash,pressure,psychoboost,spikes,superpower,taunt": 40, "focussash,pressure,psychoboost,spikes,stealthrock,taunt": 39, "focussash,pressure,psychoboost,stealthrock,superpower,taunt": 39}, + "dewgong": {"leftovers,thickfat,icebeam,protect,surf,toxic": 734, "leftovers,thickfat,encore,icebeam,surf,toxic": 396, "leftovers,thickfat,icebeam,rest,sleeptalk,surf": 383}, + "dialga": {"choicespecs,pressure,aurasphere,dracometeor,fireblast,thunderbolt": 98, "leftovers,pressure,dracometeor,fireblast,stealthrock,thunderbolt": 132, "leftovers,pressure,dracometeor,fireblast,thunderbolt,toxic": 189, "choicescarf,pressure,aurasphere,dracometeor,fireblast,thunderbolt": 97, "leftovers,pressure,dracometeor,dragontail,fireblast,toxic": 191, "leftovers,pressure,aurasphere,dracometeor,dragontail,fireblast": 171, "leftovers,pressure,dracometeor,fireblast,stealthrock,toxic": 143, "leftovers,pressure,aurasphere,dracometeor,fireblast,stealthrock": 145, "leftovers,pressure,dracometeor,dragontail,fireblast,thunderbolt": 183, "leftovers,pressure,dracometeor,dragontail,fireblast,stealthrock": 116, "leftovers,pressure,aurasphere,dracometeor,fireblast,toxic": 186}, + "ditto": {"choicescarf,imposter,transform": 1675}, + "dodrio": {"lifeorb,earlybird,bravebird,quickattack,return,roost": 498, "lifeorb,earlybird,bravebird,pursuit,return,roost": 499, "choiceband,earlybird,bravebird,pursuit,quickattack,return": 529}, + "donphan": {"leftovers,sturdy,earthquake,rapidspin,stealthrock,stoneedge": 442, "leftovers,sturdy,earthquake,rapidspin,stoneedge,toxic": 554, "choiceband,sturdy,earthquake,gunkshot,iceshard,stoneedge": 86, "leftovers,sturdy,earthquake,iceshard,rapidspin,stoneedge": 540, "leftovers,sturdy,earthquake,gunkshot,stealthrock,stoneedge": 35, "leftovers,sturdy,earthquake,iceshard,stealthrock,stoneedge": 50}, + "dragonair": {"eviolite,shedskin,dragondance,outrage,rest,sleeptalk": 435, "eviolite,shedskin,dragondance,outrage,rest,waterfall": 867, "eviolite,marvelscale,dragondance,outrage,rest,sleeptalk": 435}, + "dragonite": {"lumberry,multiscale,dragondance,earthquake,firepunch,outrage": 384, "lumberry,multiscale,dragondance,earthquake,outrage,roost": 395, "choiceband,multiscale,earthquake,extremespeed,outrage,superpower": 813}, + "drapion": {"blacksludge,battlearmor,crunch,earthquake,poisonjab,toxicspikes": 81, "blacksludge,battlearmor,crunch,earthquake,poisonjab,taunt": 98, "blacksludge,battlearmor,crunch,poisonjab,taunt,whirlwind": 90, "blacksludge,battlearmor,crunch,poisonjab,taunt,toxicspikes": 90, "choiceband,battlearmor,aquatail,crunch,earthquake,pursuit": 190, "blacksludge,battlearmor,crunch,earthquake,taunt,whirlwind": 89, "blacksludge,battlearmor,crunch,earthquake,toxicspikes,whirlwind": 88, "blacksludge,battlearmor,crunch,earthquake,taunt,toxicspikes": 91, "lifeorb,battlearmor,aquatail,crunch,earthquake,swordsdance": 160, "choiceband,battlearmor,aquatail,crunch,earthquake,poisonjab": 149, "choiceband,battlearmor,crunch,earthquake,poisonjab,pursuit": 184, "blacksludge,battlearmor,crunch,earthquake,poisonjab,whirlwind": 98, "blacksludge,battlearmor,crunch,poisonjab,toxicspikes,whirlwind": 94, "lifeorb,battlearmor,crunch,earthquake,poisonjab,swordsdance": 153, "blacksludge,battlearmor,crunch,taunt,toxicspikes,whirlwind": 98}, + "drifblim": {"flyinggem,unburden,acrobatics,destinybond,shadowball,substitute": 273, "flyinggem,unburden,acrobatics,shadowball,substitute,willowisp": 256, "flyinggem,unburden,acrobatics,destinybond,disable,shadowball": 263, "flyinggem,unburden,acrobatics,disable,shadowball,willowisp": 269, "flyinggem,unburden,acrobatics,destinybond,shadowball,willowisp": 265, "flyinggem,unburden,acrobatics,disable,shadowball,substitute": 291}, + "druddigon": {"choiceband,roughskin,earthquake,outrage,suckerpunch,superpower": 109, "rockyhelmet,roughskin,earthquake,glare,outrage,stealthrock": 68, "rockyhelmet,roughskin,dragontail,earthquake,glare,outrage": 110, "rockyhelmet,roughskin,dragontail,outrage,stealthrock,suckerpunch": 80, "rockyhelmet,roughskin,dragontail,glare,outrage,stealthrock": 87, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,superpower": 73, "rockyhelmet,roughskin,earthquake,glare,outrage,superpower": 116, "rockyhelmet,roughskin,dragontail,earthquake,outrage,suckerpunch": 93, "rockyhelmet,roughskin,dragontail,earthquake,outrage,stealthrock": 53, "rockyhelmet,roughskin,dragontail,glare,outrage,superpower": 104, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,suckerpunch": 70, "rockyhelmet,roughskin,dragontail,glare,outrage,suckerpunch": 100, "rockyhelmet,roughskin,glare,outrage,stealthrock,suckerpunch": 63, "rockyhelmet,roughskin,glare,outrage,suckerpunch,superpower": 107, "rockyhelmet,roughskin,dragontail,outrage,suckerpunch,superpower": 109, "rockyhelmet,roughskin,outrage,stealthrock,suckerpunch,superpower": 81, "rockyhelmet,roughskin,dragontail,earthquake,outrage,superpower": 97, "rockyhelmet,roughskin,earthquake,glare,outrage,suckerpunch": 110, "rockyhelmet,roughskin,glare,outrage,stealthrock,superpower": 80, "rockyhelmet,roughskin,dragontail,outrage,stealthrock,superpower": 67}, + "dugtrio": {"lifeorb,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 567, "choiceband,arenatrap,earthquake,memento,stoneedge,suckerpunch": 1030, "focussash,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 146}, + "dunsparce": {"leftovers,serenegrace,earthquake,glare,headbutt,roost": 829, "leftovers,serenegrace,bodyslam,coil,earthquake,roost": 851}, + "durant": {"lifeorb,hustle,honeclaws,ironhead,superpower,xscissor": 849, "lifeorb,hustle,honeclaws,rockslide,superpower,xscissor": 421, "lifeorb,hustle,honeclaws,ironhead,rockslide,superpower": 424}, + "dusclops": {"eviolite,pressure,rest,seismictoss,sleeptalk,willowisp": 1933}, + "dusknoir": {"leftovers,pressure,earthquake,protect,shadowsneak,toxic": 935, "leftovers,pressure,earthquake,painsplit,shadowsneak,toxic": 140, "leftovers,pressure,earthquake,painsplit,shadowsneak,willowisp": 161, "choiceband,pressure,earthquake,icepunch,shadowsneak,trick": 258, "leftovers,pressure,earthquake,icepunch,shadowsneak,toxic": 141, "leftovers,pressure,earthquake,icepunch,shadowsneak,willowisp": 142, "leftovers,pressure,earthquake,icepunch,painsplit,shadowsneak": 130}, + "dustox": {"blacksludge,shielddust,bugbuzz,quiverdance,roost,sludgebomb": 826, "blacksludge,shielddust,hiddenpowerground,quiverdance,roost,sludgebomb": 430, "blacksludge,shielddust,bugbuzz,hiddenpowerground,quiverdance,roost": 416}, + "eelektross": {"choicespecs,levitate,flamethrower,gigadrain,hiddenpowerice,thunderbolt": 125, "leftovers,levitate,aquatail,coil,drainpunch,wildcharge": 435, "leftovers,levitate,coil,drainpunch,firepunch,wildcharge": 420, "expertbelt,levitate,gigadrain,superpower,thunderbolt,uturn": 55, "expertbelt,levitate,flamethrower,superpower,thunderbolt,uturn": 78, "expertbelt,levitate,hiddenpowerice,superpower,thunderbolt,uturn": 75, "choicespecs,levitate,gigadrain,hiddenpowerice,thunderbolt,uturn": 79, "leftovers,levitate,flamethrower,hiddenpowerice,superpower,thunderbolt": 107, "leftovers,levitate,flamethrower,gigadrain,superpower,thunderbolt": 98, "choicespecs,levitate,flamethrower,gigadrain,thunderbolt,uturn": 81, "leftovers,levitate,gigadrain,hiddenpowerice,superpower,thunderbolt": 105, "choicespecs,levitate,flamethrower,hiddenpowerice,thunderbolt,uturn": 90}, + "electivire": {"expertbelt,motordrive,earthquake,icepunch,voltswitch,wildcharge": 300, "expertbelt,motordrive,flamethrower,icepunch,voltswitch,wildcharge": 339, "expertbelt,motordrive,crosschop,icepunch,voltswitch,wildcharge": 288, "choiceband,motordrive,crosschop,earthquake,icepunch,wildcharge": 141, "expertbelt,motordrive,earthquake,flamethrower,icepunch,wildcharge": 297, "expertbelt,motordrive,crosschop,flamethrower,icepunch,wildcharge": 299, "choicescarf,motordrive,crosschop,earthquake,icepunch,wildcharge": 131}, + "electrode": {"expertbelt,static,foulplay,hiddenpowerice,thunderbolt,voltswitch": 77, "expertbelt,aftermath,foulplay,hiddenpowerice,thunderbolt,voltswitch": 69, "leftovers,static,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 205, "leftovers,aftermath,hiddenpowerice,thunderbolt,toxic,voltswitch": 222, "lifeorb,aftermath,foulplay,hiddenpowerice,signalbeam,thunderbolt": 83, "leftovers,aftermath,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 236, "lifeorb,static,foulplay,hiddenpowerice,taunt,thunderbolt": 79, "lifeorb,static,foulplay,hiddenpowerice,signalbeam,thunderbolt": 81, "lifeorb,static,hiddenpowerice,taunt,thunderbolt,voltswitch": 78, "leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 193, "lifeorb,aftermath,foulplay,hiddenpowerice,taunt,thunderbolt": 68, "choicespecs,static,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 77, "lifeorb,aftermath,hiddenpowerice,signalbeam,taunt,thunderbolt": 66, "choicespecs,aftermath,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 79, "lifeorb,aftermath,hiddenpowerice,taunt,thunderbolt,voltswitch": 76, "lifeorb,static,hiddenpowerice,signalbeam,taunt,thunderbolt": 74}, + "emboar": {"choicescarf,blaze,earthquake,flareblitz,superpower,wildcharge": 148, "lifeorb,blaze,fireblast,grassknot,superpower,wildcharge": 260, "choiceband,blaze,earthquake,flareblitz,headsmash,superpower": 145, "choicescarf,blaze,flareblitz,headsmash,superpower,wildcharge": 148, "choiceband,blaze,earthquake,flareblitz,superpower,wildcharge": 144, "lifeorb,blaze,earthquake,fireblast,superpower,wildcharge": 282, "choicescarf,blaze,earthquake,flareblitz,headsmash,superpower": 145, "lifeorb,blaze,earthquake,fireblast,grassknot,superpower": 271, "choiceband,blaze,flareblitz,headsmash,superpower,wildcharge": 147}, + "emolga": {"flyinggem,motordrive,acrobatics,encore,roost,thunderbolt": 506, "flyinggem,motordrive,acrobatics,roost,thunderbolt,toxic": 526, "flyinggem,motordrive,acrobatics,roost,thunderbolt,uturn": 504}, + "empoleon": {"leftovers,torrent,protect,scald,stealthrock,toxic": 222, "lifeorb,torrent,agility,grassknot,hydropump,icebeam": 567, "leftovers,torrent,icebeam,roar,scald,stealthrock": 95, "leftovers,torrent,icebeam,protect,scald,toxic": 315, "leftovers,torrent,roar,scald,stealthrock,toxic": 124, "leftovers,torrent,icebeam,roar,scald,toxic": 194, "leftovers,torrent,icebeam,scald,stealthrock,toxic": 100}, + "entei": {"lifeorb,pressure,extremespeed,flareblitz,hiddenpowergrass,stoneedge": 811, "choiceband,pressure,bulldoze,extremespeed,flareblitz,stoneedge": 844}, + "escavalier": {"leftovers,swarm,ironhead,megahorn,return,swordsdance": 882, "choiceband,swarm,ironhead,megahorn,pursuit,return": 882}, + "espeon": {"lifeorb,magicbounce,hiddenpowerfighting,morningsun,psychic,signalbeam": 176, "choicespecs,magicbounce,hiddenpowerfighting,psyshock,signalbeam,trick": 310, "lifeorb,magicbounce,calmmind,hiddenpowerfighting,psyshock,signalbeam": 150, "lifeorb,magicbounce,calmmind,morningsun,psychic,signalbeam": 111, "lifeorb,magicbounce,calmmind,hiddenpowerfighting,psychic,signalbeam": 183, "choicespecs,magicbounce,hiddenpowerfighting,psychic,signalbeam,trick": 291, "lifeorb,magicbounce,hiddenpowerfighting,morningsun,psyshock,signalbeam": 197, "lifeorb,magicbounce,calmmind,morningsun,psyshock,signalbeam": 110, "lifeorb,magicbounce,calmmind,hiddenpowerfighting,morningsun,psyshock": 122, "lifeorb,magicbounce,calmmind,hiddenpowerfighting,morningsun,psychic": 101}, + "excadrill": {"leftovers,moldbreaker,earthquake,ironhead,rapidspin,swordsdance": 1463, "lifeorb,moldbreaker,earthquake,ironhead,rockslide,swordsdance": 125, "leftovers,sandrush,earthquake,ironhead,rapidspin,swordsdance": 10}, + "exeggutor": {"sitrusberry,harvest,gigadrain,hiddenpowerfire,psychic,sleeppowder": 499, "sitrusberry,harvest,gigadrain,leechseed,psychic,substitute": 393, "sitrusberry,harvest,hiddenpowerfire,leechseed,psychic,substitute": 382, "sitrusberry,harvest,leechseed,psychic,sleeppowder,substitute": 348}, + "exploud": {"choiceband,scrappy,doubleedge,earthquake,facade,lowkick": 591, "lifeorb,scrappy,earthquake,fireblast,return,workup": 52, "choicespecs,scrappy,focusblast,hypervoice,icebeam,surf": 157, "lifeorb,scrappy,earthquake,fireblast,focusblast,return": 73, "choicespecs,scrappy,fireblast,focusblast,hypervoice,icebeam": 128, "lifeorb,scrappy,earthquake,fireblast,return,surf": 63, "lifeorb,scrappy,fireblast,return,surf,workup": 45, "choicespecs,scrappy,fireblast,focusblast,hypervoice,surf": 157, "choicespecs,scrappy,fireblast,hypervoice,icebeam,surf": 114, "lifeorb,scrappy,fireblast,focusblast,return,workup": 42, "lifeorb,scrappy,earthquake,focusblast,return,surf": 72, "lifeorb,scrappy,earthquake,return,surf,workup": 52, "lifeorb,scrappy,fireblast,focusblast,return,surf": 72, "lifeorb,scrappy,earthquake,focusblast,return,workup": 54, "lifeorb,scrappy,focusblast,return,surf,workup": 44}, + "farfetchd": {"stick,defiant,bravebird,leafblade,return,swordsdance": 735, "stick,defiant,bravebird,quickattack,return,swordsdance": 360, "stick,defiant,bravebird,leafblade,quickattack,swordsdance": 388}, + "fearow": {"choiceband,sniper,drillpeck,drillrun,return,uturn": 413, "lifeorb,sniper,doubleedge,drillpeck,drillrun,roost": 409, "lifeorb,sniper,drillpeck,drillrun,return,roost": 372, "choiceband,sniper,doubleedge,drillpeck,drillrun,uturn": 366}, + "feraligatr": {"choiceband,torrent,aquajet,earthquake,icepunch,waterfall": 297, "lifeorb,torrent,dragondance,earthquake,icepunch,waterfall": 570, "lifeorb,torrent,aquajet,return,swordsdance,waterfall": 572, "choiceband,torrent,aquajet,icepunch,superpower,waterfall": 249}, + "ferrothorn": {"leftovers,ironbarbs,gyroball,leechseed,powerwhip,stealthrock": 236, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,thunderwave": 305, "leftovers,ironbarbs,gyroball,powerwhip,spikes,stealthrock": 244, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,spikes": 323, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,toxic": 330, "leftovers,ironbarbs,powerwhip,spikes,thunderwave,toxic": 115}, + "flareon": {"toxicorb,guts,facade,firefang,flamecharge,superpower": 571, "toxicorb,guts,facade,flamecharge,rest,sleeptalk": 542, "toxicorb,guts,facade,flamecharge,protect,superpower": 586}, + "floatzel": {"choiceband,waterveil,aquajet,icepunch,lowkick,waterfall": 157, "choiceband,waterveil,crunch,icepunch,switcheroo,waterfall": 131, "lifeorb,waterveil,bulkup,crunch,icepunch,waterfall": 292, "lifeorb,waterveil,bulkup,icepunch,lowkick,waterfall": 297, "choiceband,waterveil,icepunch,lowkick,switcheroo,waterfall": 141, "leftovers,waterveil,bulkup,icepunch,substitute,waterfall": 297, "choiceband,waterveil,crunch,icepunch,lowkick,waterfall": 143, "choiceband,waterveil,aquajet,crunch,icepunch,waterfall": 147, "choiceband,waterveil,aquajet,icepunch,switcheroo,waterfall": 147}, + "flygon": {"choicescarf,levitate,earthquake,outrage,stoneedge,uturn": 386, "leftovers,levitate,dracometeor,earthquake,roost,uturn": 400, "choiceband,levitate,earthquake,outrage,stoneedge,uturn": 411, "leftovers,levitate,dracometeor,earthquake,fireblast,roost": 430}, + "forretress": {"leftovers,sturdy,earthquake,rapidspin,spikes,stealthrock": 214, "leftovers,sturdy,earthquake,rapidspin,spikes,toxic": 295, "leftovers,sturdy,earthquake,rapidspin,toxic,voltswitch": 313, "leftovers,sturdy,earthquake,spikes,toxic,voltswitch": 89, "leftovers,sturdy,earthquake,rapidspin,spikes,voltswitch": 322, "leftovers,sturdy,earthquake,spikes,stealthrock,toxic": 26, "leftovers,sturdy,earthquake,rapidspin,stealthrock,voltswitch": 197, "leftovers,sturdy,earthquake,rapidspin,stealthrock,toxic": 207, "leftovers,sturdy,earthquake,stealthrock,toxic,voltswitch": 28, "leftovers,sturdy,earthquake,spikes,stealthrock,voltswitch": 26}, + "froslass": {"leftovers,cursedbody,icebeam,shadowball,spikes,taunt": 233, "leftovers,cursedbody,icebeam,shadowball,taunt,thunderwave": 270, "leftovers,cursedbody,destinybond,icebeam,shadowball,thunderwave": 273, "leftovers,cursedbody,destinybond,icebeam,shadowball,taunt": 299, "leftovers,cursedbody,destinybond,icebeam,shadowball,spikes": 207, "leftovers,cursedbody,icebeam,shadowball,spikes,thunderwave": 224, "focussash,cursedbody,destinybond,icebeam,shadowball,spikes": 45, "focussash,cursedbody,icebeam,shadowball,spikes,taunt": 41, "focussash,cursedbody,icebeam,shadowball,spikes,thunderwave": 43}, + "furret": {"choiceband,frisk,aquatail,doubleedge,shadowclaw,trick": 242, "choiceband,frisk,aquatail,doubleedge,firepunch,uturn": 230, "choiceband,frisk,aquatail,doubleedge,firepunch,shadowclaw": 291, "choiceband,frisk,aquatail,doubleedge,firepunch,trick": 243, "choiceband,frisk,doubleedge,firepunch,shadowclaw,uturn": 217, "choiceband,frisk,aquatail,doubleedge,shadowclaw,uturn": 211, "choiceband,frisk,doubleedge,firepunch,shadowclaw,trick": 217}, + "gallade": {"choicescarf,justified,closecombat,nightslash,trick,zenheadbutt": 391, "lifeorb,justified,closecombat,nightslash,swordsdance,zenheadbutt": 365, "choiceband,justified,closecombat,nightslash,shadowsneak,zenheadbutt": 306, "choiceband,justified,closecombat,shadowsneak,trick,zenheadbutt": 366, "lifeorb,justified,closecombat,shadowsneak,swordsdance,zenheadbutt": 357}, + "galvantula": {"choicespecs,compoundeyes,bugbuzz,hiddenpowerice,thunder,voltswitch": 595, "choicespecs,compoundeyes,bugbuzz,gigadrain,thunder,voltswitch": 572, "choicespecs,compoundeyes,bugbuzz,gigadrain,hiddenpowerice,thunder": 561}, + "garbodor": {"blacksludge,aftermath,drainpunch,gunkshot,painsplit,toxicspikes": 287, "blacksludge,aftermath,drainpunch,gunkshot,haze,painsplit": 305, "blacksludge,aftermath,drainpunch,gunkshot,spikes,toxicspikes": 276, "blacksludge,aftermath,drainpunch,gunkshot,haze,spikes": 315, "blacksludge,aftermath,drainpunch,gunkshot,painsplit,spikes": 299, "blacksludge,aftermath,drainpunch,gunkshot,haze,toxicspikes": 281}, + "garchomp": {"lumberry,roughskin,earthquake,outrage,stoneedge,swordsdance": 279, "rockyhelmet,roughskin,earthquake,fireblast,outrage,stoneedge": 348, "choicescarf,roughskin,earthquake,firefang,outrage,stoneedge": 139, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,stoneedge": 217, "rockyhelmet,roughskin,earthquake,fireblast,outrage,stealthrock": 230, "lumberry,roughskin,earthquake,firefang,outrage,swordsdance": 293, "choiceband,roughskin,earthquake,firefang,outrage,stoneedge": 111}, + "gardevoir": {"choicescarf,trace,focusblast,healingwish,psychic,shadowball": 187, "lifeorb,trace,calmmind,focusblast,psychic,willowisp": 174, "choicespecs,trace,focusblast,psychic,shadowball,thunderbolt": 81, "choicescarf,trace,focusblast,psychic,thunderbolt,trick": 176, "lifeorb,trace,calmmind,focusblast,psyshock,shadowball": 149, "leftovers,trace,calmmind,focusblast,psyshock,substitute": 140, "choicescarf,trace,focusblast,psychic,shadowball,thunderbolt": 75, "leftovers,trace,calmmind,focusblast,psychic,substitute": 138, "lifeorb,trace,calmmind,focusblast,psychic,shadowball": 183, "lifeorb,trace,calmmind,focusblast,psyshock,willowisp": 132, "choicescarf,trace,focusblast,healingwish,psychic,thunderbolt": 207, "choicescarf,trace,focusblast,psychic,shadowball,trick": 197}, + "gastrodon": {"leftovers,stormdrain,earthquake,recover,scald,toxic": 494, "leftovers,stormdrain,earthquake,icebeam,recover,scald": 542, "leftovers,stormdrain,clearsmog,earthquake,recover,scald": 520}, + "genesect": {"choicespecs,download,bugbuzz,flashcannon,icebeam,uturn": 45, "lifeorb,download,blazekick,shiftgear,thunderbolt,xscissor": 88, "choicescarf,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 32, "choicespecs,download,bugbuzz,flamethrower,flashcannon,icebeam": 32, "choicespecs,download,bugbuzz,flamethrower,flashcannon,uturn": 44, "lifeorb,download,blazekick,ironhead,shiftgear,thunderbolt": 107, "choicespecs,download,bugbuzz,flashcannon,thunderbolt,uturn": 37, "lifeorb,download,ironhead,shiftgear,thunderbolt,xscissor": 194, "choicespecs,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 36, "choiceband,download,blazekick,extremespeed,ironhead,uturn": 598, "lifeorb,download,blazekick,ironhead,shiftgear,xscissor": 192, "choicespecs,download,bugbuzz,flashcannon,icebeam,thunderbolt": 35, "choicespecs,download,bugbuzz,icebeam,thunderbolt,uturn": 47, "choicescarf,download,bugbuzz,flamethrower,flashcannon,icebeam": 29, "choicespecs,download,bugbuzz,flamethrower,thunderbolt,uturn": 35, "choicespecs,download,bugbuzz,flamethrower,icebeam,uturn": 36, "choicespecs,download,bugbuzz,flamethrower,icebeam,thunderbolt": 43, "choicescarf,download,bugbuzz,flashcannon,icebeam,thunderbolt": 33, "choicescarf,download,bugbuzz,flamethrower,icebeam,thunderbolt": 31}, + "gengar": {"choicespecs,levitate,focusblast,shadowball,sludgewave,trick": 428, "blacksludge,levitate,focusblast,painsplit,shadowball,substitute": 239, "blacksludge,levitate,focusblast,shadowball,sludgewave,substitute": 231, "lifeorb,levitate,focusblast,painsplit,shadowball,sludgewave": 215, "lifeorb,levitate,focusblast,shadowball,sludgewave,willowisp": 225, "blacksludge,levitate,focusblast,shadowball,substitute,willowisp": 222, "lifeorb,levitate,focusblast,painsplit,shadowball,willowisp": 237}, + "gigalith": {"custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge": 242, "leftovers,sturdy,earthquake,stealthrock,stoneedge,superpower": 238, "custapberry,sturdy,earthquake,explosion,stoneedge,toxic": 311, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 221, "leftovers,sturdy,earthquake,stoneedge,superpower,toxic": 330, "choiceband,sturdy,earthquake,explosion,stoneedge,superpower": 330}, + "girafarig": {"lifeorb,sapsipper,calmmind,hiddenpowerfighting,hypervoice,psyshock": 185, "lifeorb,sapsipper,calmmind,hiddenpowerfighting,hypervoice,psychic": 199, "leftovers,sapsipper,calmmind,hypervoice,psychic,substitute": 100, "lifeorb,sapsipper,calmmind,hiddenpowerfighting,psychic,thunderbolt": 197, "leftovers,sapsipper,calmmind,hiddenpowerfighting,psyshock,substitute": 98, "lifeorb,sapsipper,calmmind,hiddenpowerfighting,psyshock,thunderbolt": 179, "leftovers,sapsipper,calmmind,psychic,substitute,thunderbolt": 69, "lifeorb,sapsipper,calmmind,hypervoice,psychic,thunderbolt": 174, "leftovers,sapsipper,calmmind,hypervoice,psyshock,substitute": 92, "lifeorb,sapsipper,calmmind,hypervoice,psyshock,thunderbolt": 172, "leftovers,sapsipper,calmmind,psyshock,substitute,thunderbolt": 95, "leftovers,sapsipper,calmmind,hiddenpowerfighting,psychic,substitute": 94}, + "giratina": {"leftovers,pressure,dragonpulse,rest,sleeptalk,willowisp": 242, "leftovers,pressure,dragonpulse,dragontail,rest,sleeptalk": 230, "leftovers,pressure,calmmind,dragonpulse,rest,sleeptalk": 452}, + "giratinaorigin": {"griseousorb,levitate,dracometeor,outrage,shadowball,willowisp": 156, "griseousorb,levitate,dracometeor,outrage,shadowball,shadowsneak": 153, "griseousorb,levitate,dracometeor,shadowball,shadowsneak,willowisp": 81, "griseousorb,levitate,dracometeor,earthquake,shadowball,willowisp": 72, "griseousorb,levitate,dracometeor,earthquake,outrage,shadowball": 151, "griseousorb,levitate,dracometeor,earthquake,shadowball,shadowsneak": 69, "griseousorb,levitate,earthquake,outrage,shadowball,shadowsneak": 72, "griseousorb,levitate,outrage,shadowball,shadowsneak,willowisp": 55, "griseousorb,levitate,earthquake,outrage,shadowball,willowisp": 73}, + "glaceon": {"leftovers,icebody,healbell,icebeam,protect,wish": 387, "leftovers,icebody,icebeam,protect,toxic,wish": 805, "leftovers,icebody,hiddenpowerground,icebeam,protect,wish": 422}, + "glalie": {"leftovers,innerfocus,earthquake,icebeam,superfang,taunt": 547, "focussash,innerfocus,earthquake,icebeam,spikes,taunt": 91, "leftovers,innerfocus,earthquake,icebeam,spikes,superfang": 471, "leftovers,innerfocus,earthquake,icebeam,spikes,taunt": 454, "focussash,innerfocus,earthquake,icebeam,spikes,superfang": 98}, + "gligar": {"eviolite,immunity,earthquake,roost,taunt,toxic": 528, "eviolite,immunity,earthquake,roost,toxic,uturn": 570, "eviolite,immunity,earthquake,roost,stealthrock,toxic": 427}, + "gliscor": {"toxicorb,poisonheal,earthquake,protect,substitute,toxic": 474, "toxicorb,poisonheal,earthquake,facade,roost,swordsdance": 477, "toxicorb,poisonheal,earthquake,roost,stealthrock,toxic": 94, "toxicorb,poisonheal,earthquake,roost,taunt,toxic": 96, "toxicorb,poisonheal,earthquake,roost,toxic,uturn": 98, "toxicorb,poisonheal,earthquake,facade,roost,toxic": 113, "toxicorb,poisonheal,earthquake,roost,stoneedge,toxic": 119}, + "golduck": {"lifeorb,cloudnine,calmmind,focusblast,hydropump,icebeam": 287, "lifeorb,cloudnine,encore,focusblast,hydropump,icebeam": 298, "lifeorb,cloudnine,calmmind,focusblast,icebeam,scald": 277, "lifeorb,cloudnine,encore,focusblast,icebeam,scald": 292, "lifeorb,cloudnine,calmmind,encore,hydropump,icebeam": 286, "lifeorb,cloudnine,calmmind,encore,icebeam,scald": 274, "lifeorb,swiftswim,calmmind,focusblast,icebeam,scald": 9, "lifeorb,swiftswim,calmmind,encore,icebeam,scald": 5, "lifeorb,swiftswim,calmmind,encore,hydropump,icebeam": 11, "lifeorb,swiftswim,encore,focusblast,hydropump,icebeam": 7, "lifeorb,swiftswim,encore,focusblast,icebeam,scald": 9, "lifeorb,swiftswim,calmmind,focusblast,hydropump,icebeam": 6}, + "golem": {"leftovers,sturdy,earthquake,stealthrock,stoneedge,suckerpunch": 220, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 200, "custapberry,sturdy,earthquake,explosion,stoneedge,toxic": 249, "choiceband,sturdy,earthquake,explosion,stoneedge,suckerpunch": 271, "leftovers,sturdy,earthquake,stoneedge,suckerpunch,toxic": 293, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge": 190}, + "golurk": {"lifeorb,noguard,dynamicpunch,earthquake,rockpolish,stoneedge": 424, "lifeorb,noguard,dynamicpunch,earthquake,icepunch,stealthrock": 284, "lifeorb,noguard,dynamicpunch,earthquake,stealthrock,stoneedge": 289, "lifeorb,noguard,dynamicpunch,earthquake,icepunch,rockpolish": 412, "choiceband,noguard,dynamicpunch,earthquake,icepunch,stoneedge": 327}, + "gorebyss": {"whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 1770}, + "gothitelle": {"choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 141, "choicescarf,shadowtag,hiddenpowerfighting,psychic,thunderbolt,trick": 223, "choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,trick": 236, "leftovers,shadowtag,calmmind,psychic,signalbeam,thunderbolt": 264, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,thunderbolt": 250, "choicescarf,shadowtag,psychic,signalbeam,thunderbolt,trick": 238, "choicespecs,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 155, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,signalbeam": 246}, + "granbull": {"leftovers,intimidate,closecombat,crunch,return,thunderwave": 577, "leftovers,intimidate,closecombat,crunch,healbell,return": 528, "leftovers,intimidate,crunch,healbell,return,thunderwave": 280, "leftovers,intimidate,closecombat,healbell,return,thunderwave": 280}, + "groudon": {"leftovers,drought,earthquake,firepunch,stoneedge,swordsdance": 287, "leftovers,drought,earthquake,lavaplume,stoneedge,thunderwave": 114, "leftovers,drought,earthquake,firepunch,rockpolish,swordsdance": 305, "leftovers,drought,earthquake,rockpolish,stoneedge,swordsdance": 290, "leftovers,drought,dragontail,earthquake,lavaplume,stoneedge": 109, "leftovers,drought,dragontail,earthquake,stoneedge,thunderwave": 89, "leftovers,drought,earthquake,lavaplume,stealthrock,thunderwave": 64, "leftovers,drought,dragontail,earthquake,stealthrock,thunderwave": 89, "leftovers,drought,earthquake,stealthrock,stoneedge,thunderwave": 76, "leftovers,drought,dragontail,earthquake,lavaplume,thunderwave": 100, "leftovers,drought,dragontail,earthquake,lavaplume,stealthrock": 78, "leftovers,drought,earthquake,lavaplume,stealthrock,stoneedge": 78, "leftovers,drought,dragontail,earthquake,stealthrock,stoneedge": 75}, + "grumpig": {"lifeorb,thickfat,calmmind,focusblast,psyshock,shadowball": 207, "leftovers,thickfat,healbell,psychic,thunderwave,whirlwind": 124, "leftovers,thickfat,focusblast,healbell,psychic,thunderwave": 133, "leftovers,thickfat,focusblast,psychic,toxic,whirlwind": 163, "leftovers,thickfat,healbell,psychic,toxic,whirlwind": 135, "leftovers,thickfat,focusblast,psychic,thunderwave,whirlwind": 139, "choicespecs,thickfat,focusblast,psychic,shadowball,trick": 207, "lifeorb,thickfat,calmmind,focusblast,psychic,shadowball": 219, "leftovers,thickfat,focusblast,healbell,psychic,whirlwind": 85, "choicespecs,thickfat,focusblast,psyshock,shadowball,trick": 215, "leftovers,thickfat,focusblast,healbell,psychic,toxic": 129}, + "gyarados": {"lifeorb,moxie,dragondance,earthquake,stoneedge,waterfall": 385, "leftovers,moxie,dragondance,earthquake,substitute,waterfall": 211, "lifeorb,intimidate,dragondance,earthquake,stoneedge,waterfall": 406, "leftovers,intimidate,dragondance,earthquake,substitute,waterfall": 192, "leftovers,intimidate,dragondance,stoneedge,substitute,waterfall": 175, "leftovers,moxie,dragondance,stoneedge,substitute,waterfall": 196}, + "hariyama": {"leftovers,thickfat,bulkup,closecombat,earthquake,stoneedge": 325, "toxicorb,guts,bulletpunch,closecombat,facade,stoneedge": 322, "leftovers,thickfat,bulkup,bulletpunch,closecombat,stoneedge": 300, "toxicorb,guts,bulletpunch,closecombat,facade,fakeout": 290, "choiceband,thickfat,bulletpunch,closecombat,earthquake,stoneedge": 299, "toxicorb,guts,closecombat,facade,fakeout,stoneedge": 305}, + "haxorus": {"lumberry,moldbreaker,dragondance,earthquake,outrage,superpower": 1741}, + "heatmor": {"lifeorb,flashfire,fireblast,gigadrain,suckerpunch,superpower": 1646}, + "heatran": {"choicespecs,flashfire,earthpower,eruption,fireblast,hiddenpowerice": 245, "choicescarf,flashfire,earthpower,eruption,fireblast,hiddenpowerice": 274, "airballoon,flashfire,earthpower,fireblast,roar,toxic": 58, "leftovers,flashfire,earthpower,magmastorm,protect,toxic": 535, "airballoon,flashfire,earthpower,hiddenpowerice,lavaplume,roar": 60, "airballoon,flashfire,earthpower,lavaplume,roar,stealthrock": 47, "airballoon,flashfire,earthpower,fireblast,hiddenpowerice,toxic": 55, "airballoon,flashfire,earthpower,lavaplume,roar,toxic": 49, "airballoon,flashfire,earthpower,hiddenpowerice,lavaplume,toxic": 51, "airballoon,flashfire,earthpower,fireblast,hiddenpowerice,roar": 59, "airballoon,flashfire,earthpower,fireblast,stealthrock,toxic": 30, "airballoon,flashfire,earthpower,fireblast,hiddenpowerice,stealthrock": 36, "airballoon,flashfire,earthpower,lavaplume,stealthrock,toxic": 46, "airballoon,flashfire,earthpower,fireblast,roar,stealthrock": 38, "airballoon,flashfire,earthpower,hiddenpowerice,lavaplume,stealthrock": 35}, + "heracross": {"toxicorb,guts,closecombat,facade,megahorn,nightslash": 893, "choiceband,moxie,closecombat,earthquake,megahorn,stoneedge": 213, "choiceband,moxie,closecombat,megahorn,nightslash,stoneedge": 239, "choicescarf,moxie,closecombat,earthquake,megahorn,stoneedge": 223, "choicescarf,moxie,closecombat,megahorn,nightslash,stoneedge": 196}, + "hippowdon": {"leftovers,sandstream,earthquake,slackoff,stealthrock,toxic": 213, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge": 224, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind": 344, "leftovers,sandstream,earthquake,slackoff,toxic,whirlwind": 336, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind": 253, "leftovers,sandstream,earthquake,slackoff,stoneedge,toxic": 352}, + "hitmonchan": {"leftovers,ironfist,drainpunch,icepunch,rapidspin,stoneedge": 565, "leftovers,ironfist,drainpunch,icepunch,machpunch,rapidspin": 497, "leftovers,ironfist,drainpunch,machpunch,rapidspin,stoneedge": 587, "choiceband,ironfist,drainpunch,icepunch,machpunch,stoneedge": 114, "leftovers,ironfist,bulkup,drainpunch,icepunch,machpunch": 54, "leftovers,ironfist,bulkup,drainpunch,machpunch,stoneedge": 38}, + "hitmonlee": {"choiceband,reckless,earthquake,highjumpkick,stoneedge,suckerpunch": 317, "choiceband,reckless,earthquake,highjumpkick,machpunch,stoneedge": 318, "choiceband,reckless,earthquake,highjumpkick,machpunch,suckerpunch": 167, "fightinggem,unburden,closecombat,earthquake,rapidspin,stoneedge": 131, "fightinggem,unburden,closecombat,rapidspin,stoneedge,suckerpunch": 86, "fightinggem,unburden,closecombat,earthquake,rapidspin,suckerpunch": 68, "normalgem,unburden,closecombat,fakeout,rapidspin,stoneedge": 66, "fightinggem,unburden,closecombat,earthquake,stoneedge,suckerpunch": 161, "choiceband,reckless,highjumpkick,machpunch,stoneedge,suckerpunch": 148, "normalgem,unburden,closecombat,earthquake,fakeout,rapidspin": 60, "normalgem,unburden,closecombat,fakeout,stoneedge,suckerpunch": 71, "normalgem,unburden,closecombat,earthquake,fakeout,suckerpunch": 80, "normalgem,unburden,closecombat,earthquake,fakeout,stoneedge": 147}, + "hitmontop": {"leftovers,intimidate,closecombat,earthquake,rapidspin,toxic": 267, "leftovers,intimidate,closecombat,earthquake,rapidspin,suckerpunch": 284, "leftovers,intimidate,closecombat,rapidspin,stoneedge,suckerpunch": 261, "leftovers,intimidate,closecombat,earthquake,suckerpunch,toxic": 47, "leftovers,intimidate,closecombat,earthquake,rapidspin,stoneedge": 259, "leftovers,intimidate,closecombat,rapidspin,suckerpunch,toxic": 257, "leftovers,intimidate,closecombat,rapidspin,stoneedge,toxic": 277, "choiceband,intimidate,closecombat,earthquake,stoneedge,suckerpunch": 45, "leftovers,intimidate,closecombat,earthquake,stoneedge,toxic": 61, "leftovers,intimidate,closecombat,stoneedge,suckerpunch,toxic": 57}, + "hooh": {"leftovers,regenerator,bravebird,roost,sacredfire,toxic": 496, "leftovers,regenerator,bravebird,roost,sacredfire,substitute": 486, "leftovers,regenerator,bravebird,earthquake,roost,sacredfire": 487}, + "honchkrow": {"lifeorb,moxie,bravebird,roost,suckerpunch,superpower": 229, "lifeorb,moxie,bravebird,heatwave,suckerpunch,superpower": 260, "choiceband,moxie,bravebird,pursuit,suckerpunch,superpower": 263, "lifeorb,moxie,bravebird,heatwave,pursuit,suckerpunch": 281, "lifeorb,moxie,bravebird,pursuit,roost,suckerpunch": 271, "lifeorb,moxie,bravebird,heatwave,roost,suckerpunch": 264}, + "houndoom": {"lifeorb,flashfire,darkpulse,fireblast,hiddenpowergrass,suckerpunch": 532, "lifeorb,flashfire,darkpulse,fireblast,hiddenpowergrass,nastyplot": 535, "lifeorb,flashfire,darkpulse,fireblast,nastyplot,suckerpunch": 523}, + "huntail": {"whiteherb,waterveil,icebeam,shellsmash,suckerpunch,waterfall": 871, "whiteherb,waterveil,icebeam,return,shellsmash,waterfall": 859, "whiteherb,swiftswim,icebeam,return,shellsmash,waterfall": 10, "whiteherb,swiftswim,icebeam,shellsmash,suckerpunch,waterfall": 12}, + "hydreigon": {"choicescarf,levitate,darkpulse,dracometeor,fireblast,focusblast": 141, "lifeorb,levitate,darkpulse,dracometeor,roost,uturn": 276, "lifeorb,levitate,darkpulse,dracometeor,focusblast,roost": 267, "choicespecs,levitate,darkpulse,dracometeor,fireblast,focusblast": 135, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn": 281, "lifeorb,levitate,darkpulse,dracometeor,fireblast,roost": 279, "choicespecs,levitate,darkpulse,dracometeor,focusblast,uturn": 271}, + "hypno": {"leftovers,insomnia,focusblast,foulplay,psychic,thunderwave": 171, "leftovers,insomnia,focusblast,foulplay,psychic,toxic": 150, "leftovers,insomnia,protect,seismictoss,toxic,wish": 858, "leftovers,insomnia,protect,psychic,thunderwave,wish": 158, "leftovers,insomnia,protect,psychic,toxic,wish": 133, "leftovers,insomnia,foulplay,protect,psychic,wish": 144, "leftovers,insomnia,focusblast,protect,psychic,wish": 117}, + "illumise": {"leftovers,prankster,bugbuzz,encore,roost,thunderwave": 1692}, + "infernape": {"lifeorb,ironfist,closecombat,flareblitz,machpunch,swordsdance": 105, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance": 92, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn": 88, "choiceband,ironfist,closecombat,flareblitz,machpunch,uturn": 98, "lifeorb,blaze,closecombat,grassknot,machpunch,overheat": 233, "lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance": 180, "lifeorb,ironfist,closecombat,machpunch,overheat,stealthrock": 125, "lifeorb,blaze,closecombat,machpunch,overheat,stealthrock": 106, "lifeorb,ironfist,closecombat,grassknot,machpunch,overheat": 185, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn": 81, "lifeorb,blaze,closecombat,grassknot,overheat,stealthrock": 249, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn": 91, "choiceband,ironfist,closecombat,flareblitz,machpunch,stoneedge": 79, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge": 69}, + "jellicent": {"leftovers,waterabsorb,recover,scald,shadowball,willowisp": 543, "leftovers,waterabsorb,recover,scald,shadowball,toxic": 572, "leftovers,waterabsorb,icebeam,recover,scald,shadowball": 568}, + "jirachi": {"leftovers,serenegrace,bodyslam,firepunch,ironhead,toxic": 90, "choicescarf,serenegrace,firepunch,healingwish,ironhead,uturn": 294, "leftovers,serenegrace,firepunch,ironhead,protect,wish": 140, "leftovers,serenegrace,firepunch,ironhead,toxic,uturn": 51, "leftovers,serenegrace,ironhead,protect,uturn,wish": 140, "leftovers,serenegrace,ironhead,stealthrock,toxic,uturn": 50, "leftovers,serenegrace,bodyslam,firepunch,ironhead,uturn": 80, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,toxic": 45, "leftovers,serenegrace,ironhead,protect,toxic,wish": 159, "leftovers,serenegrace,ironhead,protect,stealthrock,wish": 129, "leftovers,serenegrace,firepunch,ironhead,stealthrock,toxic": 57, "leftovers,serenegrace,bodyslam,ironhead,protect,wish": 163, "leftovers,serenegrace,bodyslam,ironhead,toxic,uturn": 91, "leftovers,serenegrace,bodyslam,firepunch,ironhead,stealthrock": 46, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn": 50, "leftovers,serenegrace,firepunch,ironhead,stealthrock,uturn": 51}, + "jolteon": {"choicespecs,voltabsorb,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 1791}, + "jumpluff": {"flyinggem,chlorophyll,acrobatics,leechseed,sleeppowder,substitute": 756, "flyinggem,chlorophyll,acrobatics,encore,sleeppowder,uturn": 740}, + "jynx": {"lifeorb,dryskin,focusblast,icebeam,lovelykiss,nastyplot": 204, "choicescarf,dryskin,focusblast,icebeam,psychic,trick": 204, "lifeorb,dryskin,focusblast,icebeam,nastyplot,psyshock": 391, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psyshock": 199, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psychic": 198, "choicescarf,dryskin,focusblast,icebeam,psyshock,trick": 210, "lifeorb,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 205}, + "kabutops": {"leftovers,battlearmor,rapidspin,stealthrock,stoneedge,waterfall": 410, "leftovers,battlearmor,aquajet,rapidspin,stoneedge,waterfall": 479, "leftovers,battlearmor,rapidspin,stoneedge,superpower,waterfall": 492, "lifeorb,battlearmor,aquajet,stoneedge,swordsdance,waterfall": 37, "choiceband,battlearmor,aquajet,stoneedge,superpower,waterfall": 30, "lifeorb,battlearmor,stealthrock,stoneedge,superpower,waterfall": 21, "lifeorb,battlearmor,aquajet,stealthrock,stoneedge,waterfall": 23, "lifeorb,battlearmor,stoneedge,superpower,swordsdance,waterfall": 24, "leftovers,swiftswim,rapidspin,stoneedge,superpower,waterfall": 6, "leftovers,swiftswim,aquajet,rapidspin,stoneedge,waterfall": 5, "leftovers,swiftswim,rapidspin,stealthrock,stoneedge,waterfall": 6}, + "kangaskhan": {"silkscarf,scrappy,earthquake,fakeout,return,suckerpunch": 109, "leftovers,scrappy,drainpunch,protect,return,wish": 373, "choiceband,scrappy,drainpunch,earthquake,return,suckerpunch": 106, "leftovers,scrappy,bodyslam,drainpunch,protect,wish": 408, "silkscarf,scrappy,doubleedge,earthquake,fakeout,suckerpunch": 109, "silkscarf,scrappy,doubleedge,drainpunch,fakeout,suckerpunch": 94, "silkscarf,scrappy,doubleedge,drainpunch,earthquake,fakeout": 98, "silkscarf,scrappy,drainpunch,fakeout,return,suckerpunch": 96, "silkscarf,scrappy,drainpunch,earthquake,fakeout,return": 96, "choiceband,scrappy,doubleedge,drainpunch,earthquake,suckerpunch": 119}, + "kecleon": {"leftovers,colorchange,foulplay,recover,stealthrock,toxic": 697, "leftovers,colorchange,foulplay,recover,stealthrock,thunderwave": 633, "leftovers,colorchange,foulplay,recover,thunderwave,toxic": 311}, + "keldeo": {"choicescarf,justified,focusblast,hydropump,scald,secretsword": 285, "choicespecs,justified,focusblast,hydropump,scald,secretsword": 302, "lifeorb,justified,calmmind,hiddenpowerflying,scald,secretsword": 97, "leftovers,justified,calmmind,scald,secretsword,substitute": 537, "lifeorb,justified,calmmind,hiddenpowerelectric,hydropump,secretsword": 78, "lifeorb,justified,calmmind,hiddenpowerice,scald,secretsword": 88, "lifeorb,justified,calmmind,hiddenpowerice,hydropump,secretsword": 95, "lifeorb,justified,calmmind,hiddenpowerelectric,scald,secretsword": 86, "lifeorb,justified,calmmind,hiddenpowerflying,hydropump,secretsword": 96}, + "kingdra": {"lifeorb,swiftswim,dracometeor,hydropump,icebeam,raindance": 198, "chestoberry,sniper,dragondance,outrage,rest,waterfall": 413, "lumberry,sniper,dragondance,outrage,substitute,waterfall": 410, "lifeorb,swiftswim,dracometeor,hydropump,raindance,waterfall": 426, "lifeorb,swiftswim,dracometeor,icebeam,raindance,waterfall": 193, "chestoberry,swiftswim,dragondance,outrage,rest,waterfall": 8, "lumberry,swiftswim,dragondance,outrage,substitute,waterfall": 7}, + "kingler": {"leftovers,hypercutter,agility,crabhammer,return,swordsdance": 884, "lifeorb,sheerforce,bodyslam,crabhammer,swordsdance,xscissor": 158, "lifeorb,hypercutter,crabhammer,superpower,swordsdance,xscissor": 145, "lifeorb,sheerforce,bodyslam,crabhammer,superpower,swordsdance": 136, "lifeorb,sheerforce,crabhammer,rockslide,superpower,swordsdance": 142, "lifeorb,sheerforce,crabhammer,rockslide,swordsdance,xscissor": 128, "lifeorb,sheerforce,bodyslam,crabhammer,rockslide,swordsdance": 134}, + "klinklang": {"lifeorb,clearbody,geargrind,return,shiftgear,wildcharge": 783, "leftovers,clearbody,geargrind,return,shiftgear,substitute": 394, "leftovers,clearbody,geargrind,shiftgear,substitute,wildcharge": 412}, + "kricketune": {"lifeorb,technician,aerialace,brickbreak,bugbite,swordsdance": 565, "lifeorb,technician,brickbreak,bugbite,nightslash,swordsdance": 547, "lifeorb,technician,aerialace,bugbite,nightslash,swordsdance": 521}, + "krookodile": {"choiceband,intimidate,crunch,earthquake,stoneedge,superpower": 165, "lifeorb,intimidate,crunch,earthquake,stealthrock,superpower": 201, "lifeorb,intimidate,crunch,earthquake,stealthrock,stoneedge": 231, "choiceband,intimidate,crunch,earthquake,pursuit,superpower": 305, "lifeorb,intimidate,crunch,earthquake,pursuit,stealthrock": 216, "choicescarf,intimidate,crunch,earthquake,stoneedge,superpower": 157, "choiceband,intimidate,crunch,earthquake,pursuit,stoneedge": 365}, + "kyogre": {"choicescarf,drizzle,icebeam,surf,thunder,waterspout": 827, "leftovers,drizzle,calmmind,rest,sleeptalk,surf": 425, "leftovers,drizzle,calmmind,icebeam,surf,thunder": 459}, + "kyurem": {"leftovers,pressure,dracometeor,earthpower,icebeam,roost": 43, "leftovers,pressure,earthpower,icebeam,roost,substitute": 256, "leftovers,pressure,dracometeor,focusblast,icebeam,roost": 30, "leftovers,pressure,earthpower,icebeam,outrage,roost": 32, "leftovers,pressure,dracometeor,icebeam,outrage,roost": 75, "leftovers,pressure,focusblast,icebeam,outrage,roost": 44, "leftovers,pressure,icebeam,outrage,roost,substitute": 22, "leftovers,pressure,dracometeor,icebeam,roost,substitute": 21}, + "kyuremblack": {"leftovers,teravolt,icebeam,outrage,roost,substitute": 205, "leftovers,teravolt,earthpower,icebeam,outrage,roost": 198, "leftovers,teravolt,fusionbolt,icebeam,outrage,roost": 192}, + "kyuremwhite": {"lifeorb,turboblaze,dracometeor,earthpower,icebeam,roost": 198, "choicescarf,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 104, "choicespecs,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 105, "lifeorb,turboblaze,dracometeor,fusionflare,icebeam,roost": 190}, + "landorus": {"lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock": 44, "lifeorb,sheerforce,calmmind,earthpower,psychic,sludgewave": 82, "lifeorb,sheerforce,earthpower,focusblast,rockslide,stealthrock": 36, "lifeorb,sheerforce,calmmind,earthpower,focusblast,sludgewave": 86, "lifeorb,sheerforce,calmmind,earthpower,focusblast,psychic": 89, "lifeorb,sheerforce,calmmind,earthpower,psychic,rockpolish": 45, "lifeorb,sheerforce,calmmind,earthpower,rockpolish,sludgewave": 45, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave": 36, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave": 34, "lifeorb,sheerforce,earthpower,psychic,rockslide,stealthrock": 32, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,rockslide": 46, "lifeorb,sheerforce,earthpower,psychic,rockpolish,rockslide": 41, "lifeorb,sheerforce,earthpower,rockpolish,rockslide,sludgewave": 60, "lifeorb,sheerforce,earthpower,focusblast,psychic,rockslide": 34, "lifeorb,sheerforce,calmmind,earthpower,focusblast,rockpolish": 39}, + "landorustherian": {"leftovers,intimidate,earthquake,stealthrock,toxic,uturn": 81, "lifeorb,intimidate,earthquake,rockpolish,stoneedge,swordsdance": 190, "lifeorb,intimidate,earthquake,stoneedge,superpower,swordsdance": 192, "leftovers,intimidate,earthquake,stoneedge,toxic,uturn": 174, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn": 83, "leftovers,intimidate,earthquake,stealthrock,stoneedge,toxic": 96}, + "lanturn": {"leftovers,voltabsorb,icebeam,scald,thunderbolt,toxic": 202, "leftovers,voltabsorb,healbell,scald,thunderbolt,toxic": 164, "leftovers,voltabsorb,healbell,scald,thunderbolt,thunderwave": 197, "leftovers,voltabsorb,scald,thunderbolt,thunderwave,voltswitch": 201, "leftovers,voltabsorb,healbell,scald,thunderbolt,voltswitch": 156, "leftovers,voltabsorb,scald,thunderbolt,toxic,voltswitch": 177, "choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch": 169, "leftovers,voltabsorb,healbell,icebeam,scald,thunderbolt": 154, "leftovers,voltabsorb,icebeam,scald,thunderbolt,thunderwave": 175}, + "lapras": {"leftovers,waterabsorb,hydropump,icebeam,thunderbolt,toxic": 315, "leftovers,waterabsorb,hydropump,icebeam,protect,toxic": 722, "leftovers,waterabsorb,healbell,hydropump,icebeam,toxic": 269, "leftovers,waterabsorb,healbell,hydropump,icebeam,thunderbolt": 247}, + "latias": {"souldew,levitate,calmmind,dracometeor,psyshock,roost": 1680}, + "latios": {"souldew,levitate,calmmind,dracometeor,psyshock,roost": 1735}, + "leafeon": {"lifeorb,chlorophyll,doubleedge,leafblade,swordsdance,xscissor": 835, "lifeorb,chlorophyll,doubleedge,leafblade,swordsdance,synthesis": 827}, + "leavanny": {"lifeorb,swarm,leafblade,return,swordsdance,xscissor": 1446, "lifeorb,chlorophyll,leafblade,return,swordsdance,xscissor": 15}, + "ledian": {"flyinggem,earlybird,acrobatics,encore,roost,toxic": 451, "flyinggem,earlybird,acrobatics,focusblast,roost,toxic": 467, "flyinggem,earlybird,acrobatics,knockoff,roost,toxic": 498}, + "lickilicky": {"leftovers,cloudnine,bodyslam,earthquake,powerwhip,swordsdance": 197, "leftovers,cloudnine,bodyslam,earthquake,explosion,swordsdance": 193, "leftovers,cloudnine,bodyslam,protect,toxic,wish": 458, "leftovers,cloudnine,bodyslam,healbell,protect,wish": 396, "leftovers,cloudnine,earthquake,powerwhip,return,swordsdance": 213, "leftovers,cloudnine,earthquake,explosion,return,swordsdance": 236}, + "liepard": {"leftovers,prankster,darkpulse,hiddenpowerfighting,nastyplot,thunderwave": 824, "leftovers,prankster,darkpulse,encore,nastyplot,thunderwave": 899}, + "lilligant": {"lifeorb,chlorophyll,gigadrain,hiddenpowerrock,quiverdance,sleeppowder": 406, "lifeorb,owntempo,hiddenpowerfire,petaldance,quiverdance,sleeppowder": 395, "lifeorb,chlorophyll,gigadrain,hiddenpowerfire,quiverdance,sleeppowder": 427, "lifeorb,owntempo,hiddenpowerrock,petaldance,quiverdance,sleeppowder": 451}, + "linoone": {"sitrusberry,quickfeet,bellydrum,extremespeed,seedbomb,shadowclaw": 1628}, + "lopunny": {"choiceband,limber,icepunch,jumpkick,return,switcheroo": 860, "choiceband,limber,healingwish,icepunch,jumpkick,return": 865}, + "lucario": {"lifeorb,innerfocus,aurasphere,flashcannon,nastyplot,vacuumwave": 845, "lifeorb,justified,closecombat,extremespeed,stoneedge,swordsdance": 274, "choiceband,justified,closecombat,crunch,extremespeed,stoneedge": 259, "lifeorb,justified,closecombat,crunch,extremespeed,swordsdance": 272}, + "ludicolo": {"choicespecs,swiftswim,gigadrain,hydropump,icebeam,scald": 818, "lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance": 845}, + "lugia": {"leftovers,multiscale,aeroblast,roost,substitute,toxic": 496, "leftovers,multiscale,aeroblast,earthquake,roost,toxic": 538, "leftovers,multiscale,aeroblast,roost,toxic,whirlwind": 518}, + "lumineon": {"leftovers,stormdrain,protect,scald,toxic,uturn": 285, "leftovers,stormdrain,icebeam,scald,toxic,uturn": 604, "leftovers,stormdrain,hiddenpowergrass,icebeam,scald,toxic": 589, "leftovers,stormdrain,icebeam,protect,scald,toxic": 278}, + "lunatone": {"lifeorb,levitate,earthpower,icebeam,moonlight,psychic": 270, "leftovers,levitate,calmmind,earthpower,moonlight,psychic": 528, "lifeorb,levitate,earthpower,icebeam,psychic,rockpolish": 279, "leftovers,levitate,earthpower,moonlight,psychic,toxic": 116, "leftovers,levitate,earthpower,hiddenpowerrock,moonlight,psychic": 113, "leftovers,levitate,moonlight,psychic,stealthrock,toxic": 70, "leftovers,levitate,hiddenpowerrock,moonlight,psychic,toxic": 105, "leftovers,levitate,earthpower,moonlight,psychic,stealthrock": 95, "leftovers,levitate,hiddenpowerrock,moonlight,psychic,stealthrock": 67}, + "luvdisc": {"leftovers,hydration,icebeam,protect,scald,toxic": 819, "leftovers,hydration,protect,scald,substitute,toxic": 830}, + "luxray": {"toxicorb,guts,crunch,facade,superpower,wildcharge": 899, "choicescarf,intimidate,crunch,icefang,superpower,wildcharge": 156, "expertbelt,intimidate,icefang,superpower,voltswitch,wildcharge": 309, "expertbelt,intimidate,crunch,superpower,voltswitch,wildcharge": 287, "choiceband,intimidate,crunch,icefang,superpower,wildcharge": 142}, + "machamp": {"leftovers,noguard,dynamicpunch,payback,stoneedge,toxic": 314, "leftovers,noguard,dynamicpunch,earthquake,stoneedge,toxic": 354, "leftovers,noguard,bulletpunch,dynamicpunch,stoneedge,toxic": 309, "choiceband,noguard,bulletpunch,dynamicpunch,earthquake,stoneedge": 316, "choiceband,noguard,bulletpunch,dynamicpunch,payback,stoneedge": 314, "choiceband,noguard,dynamicpunch,earthquake,payback,stoneedge": 304}, + "magcargo": {"leftovers,flamebody,hiddenpowerrock,lavaplume,recover,toxic": 936, "leftovers,flamebody,lavaplume,recover,stealthrock,toxic": 646}, + "magmortar": {"lifeorb,flamebody,fireblast,focusblast,taunt,thunderbolt": 141, "choicescarf,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 73, "choicespecs,vitalspirit,fireblast,focusblast,hiddenpowerice,thunderbolt": 58, "expertbelt,flamebody,earthquake,fireblast,hiddenpowerice,thunderbolt": 153, "lifeorb,vitalspirit,fireblast,hiddenpowerice,taunt,thunderbolt": 126, "lifeorb,flamebody,earthquake,fireblast,taunt,thunderbolt": 151, "lifeorb,flamebody,fireblast,hiddenpowerice,taunt,thunderbolt": 129, "lifeorb,vitalspirit,earthquake,fireblast,taunt,thunderbolt": 145, "lifeorb,vitalspirit,fireblast,focusblast,taunt,thunderbolt": 126, "expertbelt,vitalspirit,earthquake,fireblast,hiddenpowerice,thunderbolt": 148, "expertbelt,vitalspirit,earthquake,fireblast,focusblast,thunderbolt": 131, "choicescarf,vitalspirit,fireblast,focusblast,hiddenpowerice,thunderbolt": 74, "expertbelt,flamebody,earthquake,fireblast,focusblast,thunderbolt": 141, "choicespecs,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 64}, + "magnezone": {"leftovers,analytic,hiddenpowerice,protect,thunderbolt,toxic": 785, "choicescarf,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 132, "choicescarf,magnetpull,flashcannon,hiddenpowerfire,thunderbolt,voltswitch": 125, "choicespecs,magnetpull,flashcannon,hiddenpowerfire,thunderbolt,voltswitch": 146, "choicescarf,magnetpull,flashcannon,hiddenpowerice,thunderbolt,voltswitch": 142, "choicespecs,magnetpull,flashcannon,hiddenpowerice,thunderbolt,voltswitch": 145, "choicespecs,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 133}, + "mamoswine": {"lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock": 814, "choiceband,thickfat,earthquake,iceshard,iciclecrash,stoneedge": 291, "choiceband,thickfat,earthquake,iciclecrash,stoneedge,superpower": 130, "choicescarf,thickfat,earthquake,iciclecrash,stoneedge,superpower": 136, "choiceband,thickfat,earthquake,iceshard,iciclecrash,superpower": 301}, + "manaphy": {"leftovers,hydration,energyball,icebeam,surf,tailglow": 1741}, + "mandibuzz": {"leftovers,overcoat,foulplay,roost,toxic,whirlwind": 383, "leftovers,overcoat,bravebird,foulplay,roost,taunt": 271, "leftovers,overcoat,foulplay,roost,taunt,toxic": 377, "leftovers,overcoat,bravebird,foulplay,roost,toxic": 289, "leftovers,overcoat,bravebird,foulplay,roost,whirlwind": 253}, + "manectric": {"choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 909, "choicespecs,lightningrod,flamethrower,hiddenpowerice,thunderbolt,voltswitch": 878}, + "mantine": {"lifeorb,swiftswim,airslash,hydropump,icebeam,raindance": 797, "leftovers,waterabsorb,airslash,rest,scald,sleeptalk": 369, "leftovers,waterabsorb,rest,scald,sleeptalk,toxic": 419}, + "maractus": {"leftovers,waterabsorb,gigadrain,hiddenpowerfire,leechseed,protect": 190, "leftovers,stormdrain,gigadrain,spikes,synthesis,toxic": 118, "leftovers,waterabsorb,gigadrain,hiddenpowerice,leechseed,protect": 188, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,synthesis,toxic": 119, "leftovers,stormdrain,gigadrain,hiddenpowerice,leechseed,protect": 218, "leftovers,waterabsorb,gigadrain,spikes,synthesis,toxic": 116, "leftovers,stormdrain,gigadrain,hiddenpowerfire,synthesis,toxic": 116, "leftovers,stormdrain,gigadrain,hiddenpowerfire,leechseed,protect": 214, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,synthesis": 114, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 85, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,synthesis": 99, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 83, "focussash,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 20, "focussash,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 16}, + "marowak": {"thickclub,rockhead,doubleedge,earthquake,stealthrock,stoneedge": 291, "thickclub,battlearmor,earthquake,firepunch,stoneedge,swordsdance": 368, "thickclub,rockhead,doubleedge,earthquake,stoneedge,swordsdance": 399, "thickclub,rockhead,doubleedge,earthquake,firepunch,stoneedge": 372, "thickclub,battlearmor,earthquake,firepunch,stealthrock,stoneedge": 291}, + "masquerain": {"leftovers,intimidate,airslash,bugbuzz,quiverdance,roost": 382, "leftovers,intimidate,airslash,bugbuzz,hydropump,quiverdance": 747, "leftovers,intimidate,airslash,hydropump,quiverdance,roost": 376}, + "mawile": {"lifeorb,sheerforce,fireblast,ironhead,suckerpunch,thunderpunch": 178, "lifeorb,sheerforce,fireblast,ironhead,stealthrock,suckerpunch": 113, "leftovers,intimidate,fireblast,ironhead,stealthrock,thunderpunch": 125, "lifeorb,sheerforce,firefang,ironhead,swordsdance,thunderpunch": 176, "lifeorb,sheerforce,firefang,ironhead,suckerpunch,swordsdance": 210, "leftovers,intimidate,fireblast,ironhead,stealthrock,suckerpunch": 100, "leftovers,intimidate,firefang,ironhead,suckerpunch,swordsdance": 222, "leftovers,intimidate,fireblast,ironhead,suckerpunch,thunderpunch": 177, "leftovers,intimidate,firefang,ironhead,swordsdance,thunderpunch": 218, "lifeorb,sheerforce,fireblast,ironhead,stealthrock,thunderpunch": 117}, + "medicham": {"choicescarf,purepower,highjumpkick,icepunch,trick,zenheadbutt": 586, "choiceband,purepower,bulletpunch,highjumpkick,trick,zenheadbutt": 592, "choiceband,purepower,bulletpunch,highjumpkick,icepunch,zenheadbutt": 557}, + "meganium": {"leftovers,overgrow,aromatherapy,gigadrain,synthesis,toxic": 385, "leftovers,overgrow,gigadrain,leechseed,synthesis,toxic": 428, "leftovers,overgrow,dragontail,gigadrain,synthesis,toxic": 443, "leftovers,overgrow,earthquake,gigadrain,synthesis,toxic": 440}, + "meloetta": {"lifeorb,serenegrace,closecombat,relicsong,return,shadowclaw": 869, "lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock": 427, "choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn": 415}, + "mesprit": {"choicescarf,levitate,icebeam,psyshock,signalbeam,thunderbolt": 2, "choicespecs,levitate,icebeam,psyshock,signalbeam,thunderbolt": 6, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 105, "leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,toxic": 123, "choicescarf,levitate,icebeam,psyshock,signalbeam,trick": 27, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 115, "choicescarf,levitate,healingwish,hiddenpowerfighting,psychic,signalbeam": 17, "choicescarf,levitate,icebeam,psychic,thunderbolt,trick": 15, "leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,uturn": 68, "leftovers,levitate,hiddenpowerfighting,psychic,thunderwave,uturn": 185, "leftovers,levitate,hiddenpowerfighting,psychic,toxic,uturn": 182, "choicescarf,levitate,healingwish,icebeam,psyshock,signalbeam": 17, "choicespecs,levitate,psychic,signalbeam,thunderbolt,uturn": 14, "lifeorb,levitate,calmmind,icebeam,psyshock,thunderbolt": 24, "leftovers,levitate,hiddenpowerfighting,psychic,stealthrock,thunderwave": 92, "choicescarf,levitate,icebeam,psychic,signalbeam,trick": 16, "choicescarf,levitate,hiddenpowerfighting,psychic,thunderbolt,trick": 17, "choicespecs,levitate,hiddenpowerfighting,psyshock,signalbeam,thunderbolt": 13, "lifeorb,levitate,calmmind,icebeam,psyshock,signalbeam": 11, "choicescarf,levitate,hiddenpowerfighting,psyshock,thunderbolt,trick": 15, "choicescarf,levitate,hiddenpowerfighting,psyshock,signalbeam,thunderbolt": 8, "choicescarf,levitate,hiddenpowerfighting,icebeam,psychic,thunderbolt": 12, "lifeorb,levitate,calmmind,hiddenpowerfighting,icebeam,psyshock": 13, "choicespecs,levitate,hiddenpowerfighting,icebeam,psychic,uturn": 17, "choicespecs,levitate,hiddenpowerfighting,icebeam,psyshock,thunderbolt": 12, "choicescarf,levitate,hiddenpowerfighting,icebeam,psyshock,thunderbolt": 7, "choicespecs,levitate,icebeam,psyshock,signalbeam,uturn": 14, "choicescarf,levitate,healingwish,icebeam,psyshock,uturn": 6, "lifeorb,levitate,calmmind,psychic,signalbeam,thunderbolt": 20, "choicespecs,levitate,icebeam,psyshock,thunderbolt,uturn": 14, "lifeorb,levitate,calmmind,icebeam,psychic,thunderbolt": 25, "lifeorb,levitate,calmmind,hiddenpowerfighting,psyshock,thunderbolt": 19, "choicescarf,levitate,healingwish,icebeam,psychic,thunderbolt": 11, "choicespecs,levitate,hiddenpowerfighting,icebeam,psychic,thunderbolt": 6, "choicescarf,levitate,healingwish,hiddenpowerfighting,psychic,uturn": 14, "choicespecs,levitate,icebeam,psychic,signalbeam,uturn": 12, "lifeorb,levitate,calmmind,icebeam,psychic,signalbeam": 11, "choicescarf,levitate,hiddenpowerfighting,psyshock,signalbeam,trick": 19, "choicespecs,levitate,hiddenpowerfighting,psychic,thunderbolt,uturn": 10, "choicespecs,levitate,hiddenpowerfighting,psyshock,thunderbolt,uturn": 12, "choicescarf,levitate,healingwish,psyshock,signalbeam,thunderbolt": 19, "choicescarf,levitate,healingwish,hiddenpowerfighting,icebeam,psyshock": 15, "lifeorb,levitate,calmmind,psyshock,signalbeam,thunderbolt": 13, "choicespecs,levitate,hiddenpowerfighting,psychic,signalbeam,uturn": 15, "choicescarf,levitate,healingwish,hiddenpowerfighting,icebeam,psychic": 10, "lifeorb,levitate,calmmind,hiddenpowerfighting,psychic,thunderbolt": 16, "choicescarf,levitate,healingwish,icebeam,psychic,uturn": 5, "choicescarf,levitate,healingwish,psychic,signalbeam,uturn": 10, "choicescarf,levitate,healingwish,hiddenpowerfighting,psyshock,signalbeam": 14, "choicespecs,levitate,psyshock,signalbeam,thunderbolt,uturn": 17, "choicescarf,levitate,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 4, "choicespecs,levitate,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 7, "choicespecs,levitate,icebeam,psychic,thunderbolt,uturn": 9, "choicescarf,levitate,hiddenpowerfighting,icebeam,psyshock,trick": 10, "choicescarf,levitate,icebeam,psychic,signalbeam,thunderbolt": 6, "choicescarf,levitate,hiddenpowerfighting,icebeam,psychic,trick": 12, "choicescarf,levitate,healingwish,psychic,signalbeam,thunderbolt": 12, "choicescarf,levitate,hiddenpowerfighting,icebeam,psyshock,signalbeam": 5, "lifeorb,levitate,calmmind,hiddenpowerfighting,icebeam,psychic": 11, "choicespecs,levitate,hiddenpowerfighting,icebeam,psychic,signalbeam": 6, "choicespecs,levitate,hiddenpowerfighting,icebeam,psyshock,uturn": 13, "choicescarf,levitate,hiddenpowerfighting,icebeam,psychic,signalbeam": 9, "choicescarf,levitate,healingwish,hiddenpowerfighting,psyshock,thunderbolt": 14, "choicescarf,levitate,healingwish,icebeam,psyshock,thunderbolt": 18, "choicespecs,levitate,icebeam,psychic,signalbeam,thunderbolt": 6, "lifeorb,levitate,calmmind,hiddenpowerfighting,psyshock,signalbeam": 10, "choicescarf,levitate,healingwish,psyshock,thunderbolt,uturn": 14, "choicespecs,levitate,hiddenpowerfighting,icebeam,psyshock,signalbeam": 4, "choicescarf,levitate,healingwish,icebeam,psychic,signalbeam": 10, "choicespecs,levitate,hiddenpowerfighting,psyshock,signalbeam,uturn": 15, "choicescarf,levitate,healingwish,hiddenpowerfighting,psychic,thunderbolt": 19, "choicescarf,levitate,psyshock,signalbeam,thunderbolt,trick": 15, "lifeorb,levitate,calmmind,hiddenpowerfighting,psychic,signalbeam": 17, "choicescarf,levitate,icebeam,psyshock,thunderbolt,trick": 6, "choicescarf,levitate,psychic,signalbeam,thunderbolt,trick": 14, "choicescarf,levitate,hiddenpowerfighting,psychic,signalbeam,trick": 10, "choicescarf,levitate,healingwish,hiddenpowerfighting,psyshock,uturn": 12, "choicescarf,levitate,healingwish,psyshock,signalbeam,uturn": 4, "choicescarf,levitate,healingwish,psychic,thunderbolt,uturn": 4}, + "metagross": {"lifeorb,clearbody,agility,earthquake,meteormash,thunderpunch": 441, "choiceband,clearbody,earthquake,explosion,icepunch,meteormash": 28, "lifeorb,clearbody,agility,earthquake,meteormash,zenheadbutt": 412, "choiceband,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 31, "leftovers,clearbody,earthquake,explosion,meteormash,stealthrock": 40, "leftovers,clearbody,earthquake,meteormash,stealthrock,zenheadbutt": 39, "leftovers,clearbody,earthquake,icepunch,meteormash,stealthrock": 44, "choiceband,clearbody,earthquake,icepunch,meteormash,thunderpunch": 38, "leftovers,clearbody,earthquake,meteormash,stealthrock,thunderpunch": 37, "choiceband,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 36, "choicescarf,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 34, "choicescarf,clearbody,earthquake,icepunch,meteormash,thunderpunch": 34, "choiceband,clearbody,bulletpunch,earthquake,meteormash,zenheadbutt": 64, "choiceband,clearbody,bulletpunch,earthquake,meteormash,thunderpunch": 68, "choicescarf,clearbody,earthquake,explosion,meteormash,zenheadbutt": 32, "leftovers,clearbody,bulletpunch,earthquake,meteormash,stealthrock": 53, "choicescarf,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 33, "choiceband,clearbody,bulletpunch,earthquake,explosion,meteormash": 68, "choiceband,clearbody,bulletpunch,earthquake,icepunch,meteormash": 47, "choiceband,clearbody,earthquake,explosion,meteormash,thunderpunch": 25, "choicescarf,clearbody,earthquake,explosion,icepunch,meteormash": 26, "choicescarf,clearbody,earthquake,explosion,meteormash,thunderpunch": 31, "choiceband,clearbody,earthquake,explosion,meteormash,zenheadbutt": 19}, + "mew": {"lifeorb,synchronize,aurasphere,earthpower,nastyplot,psyshock": 101, "leftovers,synchronize,psychic,softboiled,uturn,willowisp": 173, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic": 119, "lifeorb,synchronize,fireblast,nastyplot,psychic,softboiled": 46, "leftovers,synchronize,psychic,softboiled,stealthrock,taunt": 131, "lifeorb,synchronize,aurasphere,nastyplot,psyshock,softboiled": 55, "leftovers,synchronize,psychic,softboiled,stealthrock,uturn": 124, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psyshock": 108, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psyshock": 97, "leftovers,synchronize,psychic,softboiled,taunt,uturn": 152, "leftovers,synchronize,psychic,softboiled,taunt,willowisp": 163, "leftovers,synchronize,psychic,softboiled,stealthrock,willowisp": 110, "lifeorb,synchronize,fireblast,nastyplot,psyshock,softboiled": 52, "lifeorb,synchronize,earthpower,nastyplot,psyshock,softboiled": 45, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic": 109, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic": 95, "lifeorb,synchronize,aurasphere,nastyplot,psychic,softboiled": 52, "lifeorb,synchronize,earthpower,nastyplot,psychic,softboiled": 54}, + "mewtwo": {"lifeorb,unnerve,aurasphere,calmmind,psystrike,recover": 104, "choicespecs,unnerve,aurasphere,fireblast,psystrike,shadowball": 301, "lifeorb,unnerve,aurasphere,calmmind,fireblast,psystrike": 180, "lifeorb,unnerve,aurasphere,psystrike,recover,shadowball": 188, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover": 199, "lifeorb,unnerve,aurasphere,calmmind,psystrike,shadowball": 188, "lifeorb,unnerve,fireblast,psystrike,recover,shadowball": 188, "lifeorb,unnerve,calmmind,psystrike,recover,shadowball": 103, "lifeorb,unnerve,calmmind,fireblast,psystrike,recover": 99, "lifeorb,unnerve,calmmind,fireblast,psystrike,shadowball": 221}, + "mienshao": {"flyinggem,reckless,acrobatics,highjumpkick,substitute,swordsdance": 320, "lifeorb,regenerator,fakeout,highjumpkick,stoneedge,uturn": 587, "flyinggem,reckless,acrobatics,highjumpkick,stoneedge,swordsdance": 335, "choiceband,reckless,drainpunch,highjumpkick,stoneedge,uturn": 585}, + "mightyena": {"lifeorb,intimidate,crunch,firefang,suckerpunch,taunt": 591, "choiceband,intimidate,crunch,doubleedge,firefang,suckerpunch": 592, "lifeorb,intimidate,crunch,doubleedge,firefang,taunt": 597}, + "milotic": {"leftovers,marvelscale,icebeam,recover,scald,toxic": 561, "leftovers,marvelscale,haze,recover,scald,toxic": 578, "leftovers,marvelscale,dragontail,recover,scald,toxic": 554}, + "miltank": {"leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 241, "leftovers,thickfat,bodyslam,curse,earthquake,milkdrink": 210, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,toxic": 224, "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 255, "leftovers,sapsipper,bodyslam,curse,earthquake,milkdrink": 233, "leftovers,thickfat,bodyslam,earthquake,milkdrink,stealthrock": 182, "leftovers,sapsipper,bodyslam,earthquake,healbell,milkdrink": 208, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,stealthrock": 152}, + "minun": {"leftovers,minus,hiddenpowerice,nastyplot,substitute,thunderbolt": 448, "lifeorb,minus,grassknot,hiddenpowerice,nastyplot,thunderbolt": 902, "leftovers,minus,encore,hiddenpowerice,nastyplot,thunderbolt": 392}, + "mismagius": {"lifeorb,levitate,hiddenpowerfighting,nastyplot,shadowball,thunderbolt": 483, "choicespecs,levitate,hiddenpowerfighting,shadowball,thunderbolt,trick": 471, "leftovers,levitate,destinybond,hiddenpowerfighting,painsplit,shadowball": 99, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,substitute": 86, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,taunt": 97, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,taunt": 94, "leftovers,levitate,hiddenpowerfighting,shadowball,taunt,willowisp": 88, "leftovers,levitate,hiddenpowerfighting,shadowball,substitute,taunt": 101, "leftovers,levitate,hiddenpowerfighting,shadowball,substitute,willowisp": 106, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,willowisp": 83, "leftovers,levitate,hiddenpowerfighting,painsplit,shadowball,substitute": 102, "leftovers,levitate,destinybond,hiddenpowerfighting,shadowball,willowisp": 79}, + "moltres": {"leftovers,pressure,fireblast,hurricane,roost,uturn": 300, "leftovers,pressure,fireblast,hurricane,roost,toxic": 300, "leftovers,pressure,fireblast,hurricane,roost,substitute": 310, "leftovers,pressure,fireblast,hiddenpowergrass,hurricane,roost": 302, "leftovers,pressure,fireblast,hurricane,roost,willowisp": 320}, + "mothim": {"leftovers,tintedlens,airslash,bugbuzz,quiverdance,substitute": 749, "leftovers,tintedlens,airslash,bugbuzz,hiddenpowerground,quiverdance": 737}, + "mrmime": {"lifeorb,filter,focusblast,nastyplot,psychic,shadowball": 573, "lifeorb,filter,encore,focusblast,nastyplot,psychic": 588, "leftovers,filter,focusblast,nastyplot,psychic,substitute": 582}, + "muk": {"chestoberry,poisontouch,brickbreak,icepunch,poisonjab,rest": 275, "blacksludge,poisontouch,brickbreak,curse,poisonjab,shadowsneak": 307, "chestoberry,poisontouch,brickbreak,poisonjab,rest,shadowsneak": 287, "choiceband,poisontouch,brickbreak,icepunch,poisonjab,shadowsneak": 278, "blacksludge,poisontouch,brickbreak,curse,icepunch,poisonjab": 287, "chestoberry,poisontouch,brickbreak,curse,poisonjab,rest": 265}, + "murkrow": {"eviolite,prankster,bravebird,foulplay,roost,thunderwave": 530, "eviolite,prankster,foulplay,roost,taunt,thunderwave": 529, "eviolite,prankster,foulplay,haze,roost,thunderwave": 560}, + "musharna": {"leftovers,synchronize,moonlight,psychic,signalbeam,toxic": 116, "leftovers,synchronize,calmmind,hiddenpowerfighting,moonlight,psyshock": 439, "leftovers,synchronize,calmmind,moonlight,psyshock,signalbeam": 434, "leftovers,synchronize,moonlight,psychic,signalbeam,thunderwave": 114, "leftovers,synchronize,hiddenpowerfighting,moonlight,psychic,signalbeam": 76, "leftovers,synchronize,healbell,moonlight,psychic,toxic": 86, "leftovers,synchronize,healbell,hiddenpowerfighting,moonlight,psychic": 83, "leftovers,synchronize,healbell,moonlight,psychic,signalbeam": 80, "leftovers,synchronize,hiddenpowerfighting,moonlight,psychic,thunderwave": 115, "leftovers,synchronize,hiddenpowerfighting,moonlight,psychic,toxic": 104, "leftovers,synchronize,healbell,moonlight,psychic,thunderwave": 77}, + "nidoking": {"lifeorb,sheerforce,earthpower,icebeam,sludgewave,substitute": 569, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,superpower": 541, "lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 527}, + "nidoqueen": {"lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 580, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,stealthrock": 517, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,toxicspikes": 564}, + "ninetales": {"lifeorb,drought,fireblast,hiddenpowerrock,nastyplot,solarbeam": 451, "leftovers,drought,fireblast,nastyplot,solarbeam,substitute": 410, "leftovers,drought,fireblast,hypnosis,nastyplot,solarbeam": 408, "leftovers,drought,fireblast,nastyplot,solarbeam,willowisp": 433}, + "ninjask": {"leftovers,speedboost,aerialace,substitute,swordsdance,xscissor": 749, "leftovers,speedboost,aerialace,nightslash,swordsdance,xscissor": 375, "choiceband,speedboost,aerialace,nightslash,uturn,xscissor": 382}, + "noctowl": {"leftovers,tintedlens,airslash,hypervoice,roost,whirlwind": 499, "leftovers,tintedlens,airslash,hypervoice,roost,toxic": 502, "leftovers,tintedlens,airslash,heatwave,hypervoice,roost": 511}, + "octillery": {"leftovers,sniper,energyball,hydropump,icebeam,thunderwave": 388, "choicespecs,sniper,energyball,fireblast,hydropump,icebeam": 560, "leftovers,sniper,fireblast,hydropump,icebeam,thunderwave": 391, "leftovers,sniper,energyball,fireblast,hydropump,thunderwave": 381}, + "omastar": {"whiteherb,shellarmor,hiddenpowergrass,hydropump,icebeam,shellsmash": 743, "whiteherb,shellarmor,hiddenpowergrass,icebeam,shellsmash,surf": 709, "whiteherb,swiftswim,hiddenpowergrass,icebeam,shellsmash,surf": 16, "whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 13}, + "pachirisu": {"leftovers,voltabsorb,protect,thunderbolt,toxic,uturn": 896, "leftovers,voltabsorb,superfang,thunderbolt,toxic,uturn": 430, "leftovers,voltabsorb,superfang,thunderbolt,thunderwave,uturn": 461}, + "palkia": {"lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave": 445, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend": 456, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend": 413, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave": 425}, + "parasect": {"leftovers,dryskin,leechseed,protect,spore,xscissor": 520, "leftovers,dryskin,spore,stunspore,synthesis,xscissor": 119, "leftovers,dryskin,leechseed,seedbomb,spore,xscissor": 173, "leftovers,dryskin,seedbomb,spore,synthesis,xscissor": 153, "leftovers,dryskin,aromatherapy,seedbomb,spore,xscissor": 150, "leftovers,dryskin,leechseed,spore,synthesis,xscissor": 126, "leftovers,dryskin,aromatherapy,spore,synthesis,xscissor": 122, "leftovers,dryskin,seedbomb,spore,stunspore,xscissor": 173}, + "pelipper": {"leftovers,raindish,hurricane,roost,scald,uturn": 745, "leftovers,raindish,hurricane,roost,scald,toxic": 797}, + "persian": {"lifeorb,technician,bite,hypnosis,return,taunt": 91, "lifeorb,technician,bite,return,seedbomb,taunt": 79, "silkscarf,technician,bite,doubleedge,fakeout,taunt": 70, "choiceband,technician,bite,return,seedbomb,uturn": 80, "silkscarf,technician,bite,doubleedge,fakeout,hypnosis": 98, "silkscarf,technician,bite,fakeout,return,seedbomb": 82, "silkscarf,technician,bite,doubleedge,fakeout,seedbomb": 87, "lifeorb,technician,bite,doubleedge,taunt,uturn": 90, "lifeorb,technician,bite,doubleedge,hypnosis,uturn": 84, "lifeorb,technician,bite,hypnosis,return,seedbomb": 76, "lifeorb,technician,bite,doubleedge,seedbomb,taunt": 71, "lifeorb,technician,bite,doubleedge,hypnosis,taunt": 78, "silkscarf,technician,bite,fakeout,return,taunt": 91, "silkscarf,technician,bite,fakeout,return,uturn": 89, "choiceband,technician,bite,doubleedge,seedbomb,uturn": 89, "lifeorb,technician,bite,return,taunt,uturn": 77, "lifeorb,technician,bite,doubleedge,hypnosis,seedbomb": 78, "silkscarf,technician,bite,fakeout,hypnosis,return": 88, "silkscarf,technician,bite,doubleedge,fakeout,uturn": 78, "lifeorb,technician,bite,hypnosis,return,uturn": 87}, + "phione": {"leftovers,hydration,healbell,icebeam,scald,uturn": 217, "damprock,hydration,raindance,rest,scald,toxic": 883, "leftovers,hydration,icebeam,scald,toxic,uturn": 252, "leftovers,hydration,healbell,scald,toxic,uturn": 211, "leftovers,hydration,healbell,icebeam,scald,toxic": 202}, + "pidgeot": {"choiceband,bigpecks,bravebird,quickattack,return,uturn": 750, "leftovers,bigpecks,bravebird,heatwave,roost,workup": 143, "leftovers,bigpecks,bravebird,return,roost,workup": 130, "leftovers,bigpecks,bravebird,heatwave,roost,uturn": 131, "leftovers,bigpecks,bravebird,heatwave,return,roost": 234, "leftovers,bigpecks,bravebird,return,roost,uturn": 126}, + "pikachu": {"lightball,lightningrod,extremespeed,grassknot,voltswitch,volttackle": 397, "lightball,lightningrod,grassknot,hiddenpowerice,voltswitch,volttackle": 371, "lightball,lightningrod,extremespeed,grassknot,hiddenpowerice,volttackle": 589, "lightball,lightningrod,extremespeed,hiddenpowerice,voltswitch,volttackle": 411}, + "pinsir": {"lifeorb,moxie,closecombat,stealthrock,stoneedge,xscissor": 289, "choiceband,moxie,closecombat,earthquake,stoneedge,xscissor": 175, "lifeorb,moxie,earthquake,stoneedge,swordsdance,xscissor": 381, "lifeorb,moxie,earthquake,stealthrock,stoneedge,xscissor": 302, "lifeorb,moxie,closecombat,stoneedge,swordsdance,xscissor": 425, "choicescarf,moxie,closecombat,earthquake,stoneedge,xscissor": 161}, + "plusle": {"lifeorb,plus,grassknot,hiddenpowerice,nastyplot,thunderbolt": 901, "leftovers,plus,hiddenpowerice,nastyplot,substitute,thunderbolt": 434, "leftovers,plus,encore,hiddenpowerice,nastyplot,thunderbolt": 419}, + "politoed": {"leftovers,drizzle,focusblast,hypnosis,icebeam,scald": 89, "leftovers,drizzle,icebeam,protect,scald,toxic": 404, "leftovers,drizzle,encore,hypnosis,icebeam,scald": 90, "choicescarf,drizzle,focusblast,hiddenpowergrass,icebeam,scald": 36, "leftovers,drizzle,encore,protect,scald,toxic": 420, "leftovers,drizzle,encore,focusblast,icebeam,scald": 97, "chestoberry,drizzle,hiddenpowergrass,icebeam,rest,scald": 94, "leftovers,drizzle,hiddenpowergrass,hypnosis,icebeam,scald": 81, "choicespecs,drizzle,focusblast,hiddenpowergrass,icebeam,scald": 45, "leftovers,drizzle,encore,hiddenpowergrass,icebeam,scald": 103, "chestoberry,drizzle,focusblast,icebeam,rest,scald": 70, "chestoberry,drizzle,hypnosis,icebeam,rest,scald": 98, "chestoberry,drizzle,encore,icebeam,rest,scald": 74}, + "poliwrath": {"leftovers,waterabsorb,circlethrow,rest,scald,sleeptalk": 785, "lifeorb,swiftswim,focusblast,hydropump,icepunch,raindance": 780}, + "porygonz": {"lifeorb,adaptability,hiddenpowerfighting,nastyplot,thunderbolt,triattack": 54, "choicescarf,download,hiddenpowerfighting,thunderbolt,triattack,trick": 52, "choicescarf,download,hiddenpowerfighting,icebeam,triattack,trick": 46, "choicespecs,download,darkpulse,hiddenpowerfighting,icebeam,triattack": 30, "choicescarf,adaptability,darkpulse,thunderbolt,triattack,trick": 49, "lifeorb,adaptability,hiddenpowerfighting,icebeam,nastyplot,triattack": 54, "choicescarf,adaptability,darkpulse,icebeam,triattack,trick": 44, "choicespecs,adaptability,darkpulse,icebeam,thunderbolt,triattack": 35, "choicescarf,download,hiddenpowerfighting,icebeam,thunderbolt,triattack": 34, "lifeorb,adaptability,darkpulse,icebeam,nastyplot,triattack": 52, "choicescarf,adaptability,hiddenpowerfighting,thunderbolt,triattack,trick": 69, "choicescarf,download,darkpulse,icebeam,triattack,trick": 54, "choicescarf,adaptability,darkpulse,icebeam,thunderbolt,triattack": 25, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack": 59, "choicescarf,download,darkpulse,thunderbolt,triattack,trick": 47, "choicescarf,adaptability,hiddenpowerfighting,icebeam,triattack,trick": 60, "lifeorb,adaptability,darkpulse,hiddenpowerfighting,nastyplot,triattack": 51, "lifeorb,download,darkpulse,icebeam,nastyplot,triattack": 49, "choicescarf,adaptability,icebeam,thunderbolt,triattack,trick": 52, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack": 46, "choicespecs,download,darkpulse,icebeam,thunderbolt,triattack": 35, "choicescarf,download,icebeam,thunderbolt,triattack,trick": 45, "choicescarf,download,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 17, "choicespecs,adaptability,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 24, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,icebeam,triattack": 28, "choicespecs,adaptability,darkpulse,hiddenpowerfighting,icebeam,triattack": 33, "lifeorb,download,hiddenpowerfighting,icebeam,nastyplot,triattack": 50, "choicespecs,adaptability,hiddenpowerfighting,icebeam,thunderbolt,triattack": 30, "choicespecs,download,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 33, "lifeorb,download,hiddenpowerfighting,nastyplot,thunderbolt,triattack": 36, "choicescarf,download,darkpulse,hiddenpowerfighting,triattack,trick": 56, "lifeorb,download,darkpulse,hiddenpowerfighting,nastyplot,triattack": 54, "lifeorb,adaptability,darkpulse,nastyplot,thunderbolt,triattack": 40, "choicescarf,download,darkpulse,icebeam,thunderbolt,triattack": 35, "choicescarf,download,darkpulse,hiddenpowerfighting,icebeam,triattack": 35, "choicespecs,download,hiddenpowerfighting,icebeam,thunderbolt,triattack": 31, "lifeorb,download,darkpulse,nastyplot,thunderbolt,triattack": 47, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,thunderbolt,triattack": 30, "choicescarf,adaptability,hiddenpowerfighting,icebeam,thunderbolt,triattack": 32, "choicescarf,adaptability,darkpulse,hiddenpowerfighting,triattack,trick": 46}, + "porygon2": {"eviolite,trace,discharge,recover,toxic,triattack": 318, "eviolite,trace,icebeam,recover,toxic,triattack": 295, "eviolite,download,discharge,recover,toxic,triattack": 280, "eviolite,trace,discharge,icebeam,recover,triattack": 293, "eviolite,download,discharge,icebeam,recover,triattack": 275, "eviolite,download,icebeam,recover,toxic,triattack": 295}, + "primeape": {"lifeorb,vitalspirit,closecombat,earthquake,honeclaws,stoneedge": 433, "choiceband,vitalspirit,closecombat,earthquake,stoneedge,uturn": 235, "choiceband,defiant,closecombat,earthquake,stoneedge,uturn": 208, "lifeorb,defiant,closecombat,earthquake,honeclaws,stoneedge": 432, "choicescarf,vitalspirit,closecombat,earthquake,stoneedge,uturn": 239, "choicescarf,defiant,closecombat,earthquake,stoneedge,uturn": 240}, + "probopass": {"airballoon,magnetpull,earthpower,powergem,toxic,voltswitch": 393, "airballoon,magnetpull,earthpower,powergem,stealthrock,thunderwave": 296, "airballoon,magnetpull,earthpower,powergem,thunderwave,voltswitch": 397, "airballoon,magnetpull,earthpower,powergem,stealthrock,voltswitch": 223, "airballoon,magnetpull,earthpower,powergem,stealthrock,toxic": 305}, + "purugly": {"silkscarf,defiant,fakeout,hypnosis,return,shadowclaw": 109, "lifeorb,defiant,honeclaws,hypnosis,irontail,return": 424, "silkscarf,defiant,fakeout,return,shadowclaw,uturn": 122, "lifeorb,thickfat,honeclaws,hypnosis,irontail,return": 418, "leftovers,defiant,hypnosis,return,shadowclaw,uturn": 128, "silkscarf,thickfat,fakeout,hypnosis,return,shadowclaw": 105, "silkscarf,thickfat,fakeout,return,shadowclaw,uturn": 108, "silkscarf,thickfat,fakeout,hypnosis,return,uturn": 100, "silkscarf,defiant,fakeout,hypnosis,return,uturn": 96, "leftovers,thickfat,hypnosis,return,shadowclaw,uturn": 100}, + "quagsire": {"leftovers,unaware,earthquake,recover,scald,toxic": 789, "leftovers,unaware,earthquake,icebeam,recover,scald": 793}, + "qwilfish": {"blacksludge,intimidate,destinybond,spikes,taunt,waterfall": 120, "blacksludge,intimidate,spikes,taunt,toxicspikes,waterfall": 120, "blacksludge,intimidate,destinybond,spikes,toxicspikes,waterfall": 142, "blacksludge,intimidate,spikes,taunt,thunderwave,waterfall": 128, "blacksludge,intimidate,spikes,thunderwave,toxicspikes,waterfall": 134, "blacksludge,intimidate,taunt,thunderwave,toxicspikes,waterfall": 132, "blacksludge,intimidate,destinybond,taunt,thunderwave,waterfall": 163, "blacksludge,intimidate,destinybond,spikes,thunderwave,waterfall": 137, "blacksludge,intimidate,destinybond,taunt,toxicspikes,waterfall": 125, "blacksludge,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 117, "focussash,intimidate,destinybond,taunt,toxicspikes,waterfall": 34, "focussash,intimidate,spikes,thunderwave,toxicspikes,waterfall": 34, "focussash,intimidate,spikes,taunt,thunderwave,waterfall": 29, "focussash,intimidate,spikes,taunt,toxicspikes,waterfall": 25, "focussash,intimidate,taunt,thunderwave,toxicspikes,waterfall": 23, "focussash,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 32, "focussash,intimidate,destinybond,spikes,thunderwave,waterfall": 29, "focussash,intimidate,destinybond,spikes,toxicspikes,waterfall": 33, "focussash,intimidate,destinybond,spikes,taunt,waterfall": 28}, + "raichu": {"lifeorb,lightningrod,encore,grassknot,hiddenpowerice,thunderbolt": 107, "lifeorb,lightningrod,encore,focusblast,grassknot,thunderbolt": 122, "lifeorb,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 74, "lifeorb,lightningrod,encore,hiddenpowerice,thunderbolt,voltswitch": 70, "lifeorb,lightningrod,encore,grassknot,nastyplot,thunderbolt": 70, "lifeorb,lightningrod,encore,focusblast,thunderbolt,voltswitch": 72, "lifeorb,lightningrod,encore,focusblast,hiddenpowerice,thunderbolt": 115, "lifeorb,lightningrod,focusblast,hiddenpowerice,nastyplot,thunderbolt": 131, "choicespecs,lightningrod,grassknot,hiddenpowerice,thunderbolt,voltswitch": 150, "lifeorb,lightningrod,encore,grassknot,thunderbolt,voltswitch": 72, "lifeorb,lightningrod,grassknot,hiddenpowerice,nastyplot,thunderbolt": 124, "choicespecs,lightningrod,focusblast,grassknot,thunderbolt,voltswitch": 126, "choicespecs,lightningrod,focusblast,grassknot,hiddenpowerice,thunderbolt": 183, "lifeorb,lightningrod,encore,focusblast,nastyplot,thunderbolt": 58, "choicespecs,lightningrod,focusblast,hiddenpowerice,thunderbolt,voltswitch": 139, "lifeorb,lightningrod,focusblast,grassknot,nastyplot,thunderbolt": 135}, + "raikou": {"choicespecs,pressure,aurasphere,hiddenpowerice,thunderbolt,voltswitch": 947, "leftovers,pressure,aurasphere,calmmind,hiddenpowerice,thunderbolt": 420, "leftovers,pressure,calmmind,hiddenpowerice,substitute,thunderbolt": 464}, + "rampardos": {"lifeorb,sheerforce,firepunch,rockpolish,rockslide,zenheadbutt": 279, "choicescarf,sheerforce,earthquake,firepunch,headsmash,rockslide": 853, "lifeorb,sheerforce,earthquake,rockpolish,rockslide,zenheadbutt": 308, "lifeorb,sheerforce,earthquake,firepunch,rockpolish,rockslide": 287}, + "rapidash": {"leftovers,flamebody,flareblitz,morningsun,wildcharge,willowisp": 95, "leftovers,flashfire,flareblitz,morningsun,wildcharge,willowisp": 111, "leftovers,flamebody,drillrun,flareblitz,morningsun,wildcharge": 220, "lifeorb,flashfire,drillrun,flareblitz,megahorn,morningsun": 190, "leftovers,flashfire,drillrun,flareblitz,morningsun,willowisp": 107, "choiceband,flashfire,drillrun,flareblitz,megahorn,wildcharge": 325, "leftovers,flashfire,drillrun,flareblitz,morningsun,wildcharge": 218, "leftovers,flamebody,drillrun,flareblitz,morningsun,willowisp": 108, "lifeorb,flashfire,drillrun,flareblitz,morningsun,wildcharge": 196, "lifeorb,flashfire,flareblitz,megahorn,morningsun,wildcharge": 195}, + "raticate": {"toxicorb,guts,crunch,facade,flamewheel,protect": 201, "toxicorb,guts,crunch,facade,flamewheel,uturn": 201, "toxicorb,guts,crunch,facade,protect,suckerpunch": 196, "toxicorb,guts,crunch,facade,protect,uturn": 230, "toxicorb,guts,crunch,facade,suckerpunch,uturn": 209, "toxicorb,guts,crunch,facade,suckerpunch,swordsdance": 243, "toxicorb,guts,crunch,facade,flamewheel,swordsdance": 241, "toxicorb,guts,crunch,facade,flamewheel,suckerpunch": 155}, + "rayquaza": {"choiceband,airlock,earthquake,extremespeed,outrage,vcreate": 255, "lifeorb,airlock,dracometeor,earthquake,outrage,vcreate": 118, "lifeorb,airlock,dracometeor,extremespeed,outrage,vcreate": 81, "lifeorb,airlock,dracometeor,earthquake,extremespeed,vcreate": 96, "lumberry,airlock,dragondance,extremespeed,outrage,vcreate": 193, "lumberry,airlock,dragondance,earthquake,outrage,vcreate": 185, "lumberry,airlock,extremespeed,outrage,swordsdance,vcreate": 167, "lumberry,airlock,earthquake,extremespeed,outrage,swordsdance": 191, "lumberry,airlock,dragondance,earthquake,extremespeed,outrage": 173, "lifeorb,airlock,dracometeor,earthquake,extremespeed,outrage": 116}, + "regice": {"lifeorb,clearbody,focusblast,icebeam,rockpolish,thunderbolt": 581, "leftovers,clearbody,icebeam,protect,thunderbolt,toxic": 513, "leftovers,clearbody,focusblast,icebeam,thunderbolt,thunderwave": 297, "leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 285}, + "regigigas": {"leftovers,slowstart,earthquake,return,substitute,thunderwave": 1675}, + "regirock": {"leftovers,clearbody,drainpunch,protect,rockslide,toxic": 304, "leftovers,clearbody,drainpunch,earthquake,stoneedge,toxic": 107, "leftovers,clearbody,earthquake,protect,rockslide,toxic": 270, "leftovers,clearbody,drainpunch,stealthrock,stoneedge,thunderwave": 65, "chestoberry,clearbody,curse,drainpunch,rest,stoneedge": 583, "leftovers,clearbody,earthquake,stealthrock,stoneedge,thunderwave": 68, "leftovers,clearbody,drainpunch,earthquake,stoneedge,thunderwave": 128, "leftovers,clearbody,drainpunch,earthquake,stealthrock,stoneedge": 39, "leftovers,clearbody,drainpunch,stealthrock,stoneedge,toxic": 94, "leftovers,clearbody,earthquake,stealthrock,stoneedge,toxic": 80}, + "registeel": {"leftovers,clearbody,rest,seismictoss,sleeptalk,toxic": 485, "leftovers,clearbody,curse,ironhead,rest,sleeptalk": 539, "leftovers,clearbody,protect,seismictoss,stealthrock,toxic": 443, "leftovers,clearbody,protect,seismictoss,thunderwave,toxic": 104}, + "relicanth": {"leftovers,rockhead,headsmash,stealthrock,waterfall,yawn": 123, "leftovers,rockhead,earthquake,headsmash,toxic,waterfall": 179, "choiceband,rockhead,doubleedge,earthquake,headsmash,waterfall": 389, "leftovers,rockhead,earthquake,headsmash,stealthrock,waterfall": 116, "lifeorb,rockhead,earthquake,headsmash,rockpolish,waterfall": 341, "leftovers,rockhead,earthquake,headsmash,waterfall,yawn": 182, "leftovers,rockhead,headsmash,stealthrock,toxic,waterfall": 135}, + "reshiram": {"leftovers,turboblaze,blueflare,dracometeor,roost,toxic": 872, "leftovers,turboblaze,blueflare,dracometeor,flamecharge,roost": 833}, + "reuniclus": {"lifeorb,magicguard,calmmind,focusblast,psychic,recover": 450, "lifeorb,magicguard,calmmind,focusblast,psyshock,recover": 469, "lifeorb,magicguard,calmmind,psychic,recover,signalbeam": 473, "lifeorb,magicguard,calmmind,psyshock,recover,signalbeam": 448}, + "rhydon": {"eviolite,lightningrod,earthquake,megahorn,stoneedge,toxic": 351, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge": 291, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance": 499, "eviolite,lightningrod,earthquake,stealthrock,stoneedge,toxic": 307}, + "rhyperior": {"leftovers,solidrock,earthquake,megahorn,stoneedge,swordsdance": 262, "leftovers,solidrock,earthquake,megahorn,rockpolish,stoneedge": 261, "leftovers,solidrock,earthquake,rockpolish,stoneedge,swordsdance": 236, "leftovers,solidrock,earthquake,icepunch,stoneedge,swordsdance": 216, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge": 238, "leftovers,solidrock,earthquake,icepunch,rockpolish,stoneedge": 260}, + "roserade": {"blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 88, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 68, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,synthesis": 74, "lifeorb,naturalcure,gigadrain,hiddenpowerground,sleeppowder,sludgebomb": 97, "focussash,naturalcure,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 16, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 76, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 63, "lifeorb,naturalcure,gigadrain,hiddenpowerground,sludgebomb,spikes": 72, "focussash,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 9, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 78, "blacksludge,naturalcure,leafstorm,sludgebomb,synthesis,toxicspikes": 69, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,synthesis": 86, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,synthesis": 88, "blacksludge,naturalcure,gigadrain,sludgebomb,synthesis,toxicspikes": 84, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 81, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,synthesis": 70, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sleeppowder,sludgebomb": 79, "lifeorb,naturalcure,gigadrain,hiddenpowerground,sludgebomb,synthesis": 80, "lifeorb,naturalcure,hiddenpowerground,leafstorm,sludgebomb,spikes": 79, "lifeorb,naturalcure,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 66, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 65, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 16, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,synthesis": 78, "focussash,naturalcure,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 6, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 12, "focussash,naturalcure,gigadrain,hiddenpowerground,sludgebomb,spikes": 21, "focussash,naturalcure,hiddenpowerground,leafstorm,sludgebomb,spikes": 12, "focussash,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 9, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 17, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 8}, + "rotom": {"lifeorb,levitate,shadowball,thunderbolt,voltswitch,willowisp": 59, "lifeorb,levitate,painsplit,shadowball,thunderbolt,voltswitch": 57, "lifeorb,levitate,hiddenpowerice,shadowball,thunderbolt,willowisp": 60, "lifeorb,levitate,hiddenpowerice,painsplit,shadowball,thunderbolt": 64, "lifeorb,levitate,painsplit,shadowball,thunderbolt,willowisp": 58, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 27, "choicescarf,levitate,shadowball,thunderbolt,trick,voltswitch": 116, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,trick": 92, "choicespecs,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 27}, + "rotomfan": {"leftovers,levitate,airslash,painsplit,thunderbolt,voltswitch": 78, "leftovers,levitate,airslash,substitute,thunderbolt,willowisp": 75, "choicescarf,levitate,airslash,thunderbolt,trick,voltswitch": 150, "leftovers,levitate,airslash,thunderbolt,voltswitch,willowisp": 72, "leftovers,levitate,airslash,painsplit,thunderbolt,willowisp": 71, "leftovers,levitate,airslash,painsplit,substitute,thunderbolt": 86}, + "rotomfrost": {"leftovers,levitate,blizzard,painsplit,thunderbolt,voltswitch": 66, "choicescarf,levitate,blizzard,thunderbolt,trick,voltswitch": 136, "leftovers,levitate,blizzard,painsplit,substitute,thunderbolt": 82, "leftovers,levitate,blizzard,substitute,thunderbolt,willowisp": 82, "leftovers,levitate,blizzard,thunderbolt,voltswitch,willowisp": 85, "leftovers,levitate,blizzard,painsplit,thunderbolt,willowisp": 53}, + "rotomheat": {"leftovers,levitate,overheat,painsplit,thunderbolt,willowisp": 55, "leftovers,levitate,hiddenpowerice,overheat,thunderbolt,thunderwave": 43, "choicescarf,levitate,hiddenpowerice,overheat,thunderbolt,trick": 64, "leftovers,levitate,overheat,painsplit,thunderbolt,thunderwave": 54, "leftovers,levitate,hiddenpowerice,overheat,thunderbolt,willowisp": 41, "leftovers,levitate,hiddenpowerice,overheat,painsplit,thunderbolt": 36, "choicescarf,levitate,overheat,thunderbolt,trick,voltswitch": 62, "leftovers,levitate,overheat,thunderbolt,thunderwave,voltswitch": 44, "leftovers,levitate,overheat,painsplit,thunderbolt,voltswitch": 42, "leftovers,levitate,overheat,thunderbolt,voltswitch,willowisp": 47, "choicescarf,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 18, "choicespecs,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 19}, + "rotommow": {"choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch": 56, "leftovers,levitate,hiddenpowerice,leafstorm,thunderbolt,thunderwave": 53, "choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,trick": 56, "choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 17, "leftovers,levitate,leafstorm,thunderbolt,voltswitch,willowisp": 56, "leftovers,levitate,leafstorm,painsplit,thunderbolt,thunderwave": 52, "leftovers,levitate,hiddenpowerice,leafstorm,thunderbolt,willowisp": 46, "leftovers,levitate,leafstorm,thunderbolt,thunderwave,voltswitch": 53, "choicespecs,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 23, "leftovers,levitate,hiddenpowerice,leafstorm,painsplit,thunderbolt": 41, "leftovers,levitate,leafstorm,painsplit,thunderbolt,voltswitch": 42, "leftovers,levitate,leafstorm,painsplit,thunderbolt,willowisp": 60}, + "rotomwash": {"leftovers,levitate,hydropump,painsplit,thunderbolt,thunderwave": 89, "leftovers,levitate,hydropump,painsplit,thunderbolt,willowisp": 105, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp": 75, "choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch": 122, "leftovers,levitate,hydropump,painsplit,thunderbolt,voltswitch": 73, "leftovers,levitate,hydropump,thunderbolt,thunderwave,voltswitch": 84}, + "sableye": {"leftovers,prankster,foulplay,recover,taunt,willowisp": 898, "leftovers,prankster,recover,seismictoss,taunt,willowisp": 315, "leftovers,prankster,recover,seismictoss,taunt,toxic": 303, "leftovers,prankster,recover,seismictoss,toxic,willowisp": 298}, + "salamence": {"lumberry,moxie,dragondance,earthquake,outrage,roost": 408, "lumberry,intimidate,dragondance,earthquake,outrage,roost": 390, "lumberry,intimidate,dragondance,earthquake,fireblast,outrage": 383, "lumberry,moxie,dragondance,earthquake,fireblast,outrage": 381}, + "samurott": {"expertbelt,torrent,aquajet,hydropump,megahorn,superpower": 84, "lifeorb,torrent,megahorn,superpower,swordsdance,waterfall": 305, "expertbelt,torrent,hydropump,icebeam,megahorn,superpower": 126, "lifeorb,torrent,aquajet,superpower,swordsdance,waterfall": 155, "lifeorb,torrent,aquajet,megahorn,swordsdance,waterfall": 138, "expertbelt,torrent,grassknot,hydropump,icebeam,superpower": 90, "choiceband,torrent,aquajet,megahorn,superpower,waterfall": 277, "expertbelt,torrent,aquajet,hydropump,icebeam,megahorn": 74, "expertbelt,torrent,grassknot,hydropump,icebeam,megahorn": 99, "expertbelt,torrent,grassknot,hydropump,megahorn,superpower": 98, "expertbelt,torrent,aquajet,grassknot,hydropump,superpower": 76, "expertbelt,torrent,aquajet,grassknot,hydropump,megahorn": 72, "expertbelt,torrent,aquajet,grassknot,hydropump,icebeam": 68, "expertbelt,torrent,aquajet,hydropump,icebeam,superpower": 76}, + "sandslash": {"leftovers,sandrush,earthquake,rapidspin,stealthrock,stoneedge": 439, "leftovers,sandrush,earthquake,rapidspin,stoneedge,toxic": 684, "leftovers,sandrush,earthquake,stoneedge,swordsdance,xscissor": 167, "leftovers,sandrush,earthquake,rapidspin,stealthrock,toxic": 413}, + "sawk": {"choiceband,sturdy,closecombat,earthquake,icepunch,stoneedge": 149, "leftovers,sturdy,bulkup,closecombat,icepunch,stoneedge": 226, "choicescarf,sturdy,closecombat,earthquake,icepunch,stoneedge": 146, "leftovers,sturdy,bulkup,closecombat,earthquake,stoneedge": 220, "choicescarf,moldbreaker,closecombat,earthquake,icepunch,stoneedge": 143, "leftovers,sturdy,bulkup,closecombat,earthquake,icepunch": 197, "lifeorb,moldbreaker,bulkup,closecombat,earthquake,icepunch": 202, "lifeorb,moldbreaker,bulkup,closecombat,earthquake,stoneedge": 203, "choiceband,moldbreaker,closecombat,earthquake,icepunch,stoneedge": 161, "lifeorb,moldbreaker,bulkup,closecombat,icepunch,stoneedge": 196}, + "sawsbuck": {"leftovers,sapsipper,doubleedge,hornleech,substitute,swordsdance": 380, "lifeorb,sapsipper,doubleedge,hornleech,naturepower,swordsdance": 369, "leftovers,sapsipper,hornleech,return,substitute,swordsdance": 393, "lifeorb,sapsipper,hornleech,naturepower,return,swordsdance": 361}, + "sceptile": {"expertbelt,overgrow,earthquake,focusblast,gigadrain,hiddenpowerice": 53, "expertbelt,overgrow,earthquake,focusblast,hiddenpowerice,leafstorm": 55, "expertbelt,overgrow,earthquake,hiddenpowerice,leafstorm,rockslide": 46, "expertbelt,overgrow,earthquake,focusblast,gigadrain,rockslide": 29, "leftovers,overgrow,gigadrain,hiddenpowerice,leechseed,substitute": 297, "leftovers,overgrow,gigadrain,hiddenpowerfire,leechseed,substitute": 293, "flyinggem,unburden,acrobatics,earthquake,leafblade,swordsdance": 604, "expertbelt,overgrow,focusblast,hiddenpowerfire,leafstorm,rockslide": 31, "expertbelt,overgrow,focusblast,hiddenpowerice,leafstorm,rockslide": 37, "expertbelt,overgrow,earthquake,gigadrain,hiddenpowerice,rockslide": 41, "expertbelt,overgrow,focusblast,gigadrain,hiddenpowerice,rockslide": 41, "expertbelt,overgrow,earthquake,focusblast,gigadrain,hiddenpowerfire": 35, "expertbelt,overgrow,earthquake,hiddenpowerfire,leafstorm,rockslide": 41, "expertbelt,overgrow,earthquake,focusblast,leafstorm,rockslide": 32, "expertbelt,overgrow,earthquake,focusblast,hiddenpowerfire,leafstorm": 33, "expertbelt,overgrow,earthquake,gigadrain,hiddenpowerfire,rockslide": 28, "expertbelt,overgrow,focusblast,gigadrain,hiddenpowerfire,rockslide": 41}, + "scizor": {"lifeorb,technician,bulletpunch,roost,superpower,swordsdance": 218, "choiceband,technician,bulletpunch,pursuit,superpower,uturn": 823, "lifeorb,technician,bugbite,bulletpunch,superpower,swordsdance": 405, "lifeorb,technician,bugbite,bulletpunch,roost,swordsdance": 209}, + "scolipede": {"lifeorb,swarm,earthquake,megahorn,rockslide,toxicspikes": 355, "lifeorb,swarm,earthquake,megahorn,rockslide,swordsdance": 585, "lifeorb,swarm,earthquake,megahorn,rockslide,spikes": 367, "lifeorb,swarm,earthquake,megahorn,spikes,toxicspikes": 405}, + "scrafty": {"leftovers,shedskin,bulkup,crunch,drainpunch,rest": 847, "lifeorb,intimidate,crunch,dragondance,highjumpkick,stoneedge": 213, "lifeorb,intimidate,crunch,dragondance,highjumpkick,zenheadbutt": 215, "lifeorb,moxie,crunch,dragondance,highjumpkick,zenheadbutt": 218, "lifeorb,moxie,crunch,dragondance,highjumpkick,stoneedge": 229}, + "scyther": {"eviolite,technician,aerialace,brickbreak,bugbite,swordsdance": 809, "eviolite,technician,aerialace,bugbite,roost,swordsdance": 384, "eviolite,technician,aerialace,brickbreak,roost,swordsdance": 388}, + "seaking": {"lifeorb,swiftswim,drillrun,raindance,return,waterfall": 164, "choiceband,lightningrod,drillrun,megahorn,return,waterfall": 207, "lifeorb,lightningrod,drillrun,icebeam,return,waterfall": 230, "lifeorb,swiftswim,drillrun,megahorn,raindance,waterfall": 150, "expertbelt,lightningrod,drillrun,icebeam,megahorn,waterfall": 197, "lifeorb,lightningrod,icebeam,megahorn,return,waterfall": 234, "lifeorb,swiftswim,drillrun,icebeam,raindance,waterfall": 138, "lifeorb,swiftswim,megahorn,raindance,return,waterfall": 154, "lifeorb,swiftswim,icebeam,megahorn,raindance,waterfall": 143, "lifeorb,swiftswim,icebeam,raindance,return,waterfall": 137}, + "seismitoad": {"leftovers,waterabsorb,earthquake,scald,sludgebomb,stealthrock": 138, "leftovers,waterabsorb,earthquake,protect,scald,toxic": 475, "lifeorb,swiftswim,earthquake,hydropump,raindance,sludgewave": 540, "leftovers,waterabsorb,earthquake,scald,stealthrock,toxic": 144, "leftovers,waterabsorb,earthquake,scald,sludgebomb,toxic": 222}, + "serperior": {"lifeorb,overgrow,dragonpulse,gigadrain,glare,hiddenpowerfire": 118, "lifeorb,overgrow,calmmind,dragonpulse,gigadrain,hiddenpowerfire": 301, "leftovers,overgrow,dragonpulse,gigadrain,leechseed,substitute": 119, "lifeorb,overgrow,aquatail,leafblade,return,swordsdance": 595, "leftovers,overgrow,calmmind,gigadrain,hiddenpowerfire,substitute": 150, "lifeorb,overgrow,aromatherapy,dragonpulse,gigadrain,hiddenpowerfire": 97, "leftovers,overgrow,calmmind,dragonpulse,gigadrain,substitute": 157, "lifeorb,overgrow,aromatherapy,dragonpulse,gigadrain,glare": 37, "leftovers,overgrow,gigadrain,hiddenpowerfire,leechseed,substitute": 118, "lifeorb,overgrow,aromatherapy,gigadrain,glare,hiddenpowerfire": 52}, + "seviper": {"lifeorb,shedskin,earthquake,gigadrain,sludgebomb,suckerpunch": 368, "choicescarf,shedskin,earthquake,flamethrower,sludgebomb,switcheroo": 379, "lifeorb,shedskin,earthquake,flamethrower,sludgebomb,suckerpunch": 332, "lifeorb,shedskin,earthquake,flamethrower,gigadrain,sludgebomb": 307, "choicescarf,shedskin,earthquake,gigadrain,sludgebomb,switcheroo": 398}, + "sharpedo": {"lifeorb,speedboost,crunch,hydropump,icebeam,protect": 742, "lifeorb,speedboost,crunch,earthquake,hydropump,protect": 833}, + "shaymin": {"lifeorb,naturalcure,airslash,earthpower,seedflare,synthesis": 448, "leftovers,naturalcure,airslash,leechseed,seedflare,substitute": 415}, + "shayminsky": {"choicespecs,serenegrace,airslash,earthpower,hiddenpowerice,seedflare": 375, "leftovers,serenegrace,airslash,leechseed,seedflare,substitute": 359}, + "shedinja": {"focussash,wonderguard,shadowsneak,swordsdance,willowisp,xscissor": 824, "focussash,wonderguard,shadowclaw,shadowsneak,swordsdance,xscissor": 888}, + "shiftry": {"expertbelt,earlybird,hiddenpowerfire,leafstorm,naturepower,suckerpunch": 260, "lifeorb,earlybird,naturepower,seedbomb,suckerpunch,swordsdance": 743, "expertbelt,earlybird,darkpulse,hiddenpowerfire,leafstorm,suckerpunch": 252, "expertbelt,earlybird,darkpulse,leafstorm,naturepower,suckerpunch": 239, "expertbelt,chlorophyll,darkpulse,hiddenpowerfire,leafstorm,suckerpunch": 2, "lifeorb,chlorophyll,naturepower,seedbomb,suckerpunch,swordsdance": 6, "expertbelt,chlorophyll,hiddenpowerfire,leafstorm,naturepower,suckerpunch": 1}, + "shuckle": {"leftovers,sturdy,encore,knockoff,protect,toxic": 324, "leftovers,sturdy,encore,knockoff,stealthrock,toxic": 698, "leftovers,sturdy,encore,protect,stealthrock,toxic": 719}, + "sigilyph": {"lifeorb,magicguard,airslash,heatwave,psyshock,roost": 259, "choicespecs,tintedlens,airslash,energyball,icebeam,psyshock": 87, "flameorb,magicguard,cosmicpower,psychoshift,roost,storedpower": 509, "choicespecs,tintedlens,airslash,energyball,heatwave,psychic": 104, "lifeorb,magicguard,airslash,calmmind,psyshock,roost": 263, "choicespecs,tintedlens,airslash,energyball,icebeam,psychic": 78, "choicespecs,tintedlens,airslash,energyball,heatwave,psyshock": 95, "choicespecs,tintedlens,airslash,heatwave,icebeam,psyshock": 83, "choicespecs,tintedlens,airslash,heatwave,icebeam,psychic": 87}, + "simipour": {"leftovers,torrent,hydropump,icebeam,nastyplot,substitute": 860, "lifeorb,torrent,grassknot,hydropump,icebeam,nastyplot": 856}, + "simisage": {"leftovers,overgrow,gigadrain,hiddenpowerrock,nastyplot,substitute": 216, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerrock,nastyplot": 409, "leftovers,overgrow,focusblast,gigadrain,nastyplot,substitute": 194, "expertbelt,overgrow,hiddenpowerice,leafstorm,rockslide,superpower": 864}, + "simisear": {"lifeorb,blaze,fireblast,focusblast,hiddenpowerrock,nastyplot": 418, "lifeorb,blaze,fireblast,grassknot,hiddenpowerrock,nastyplot": 341, "leftovers,blaze,fireblast,focusblast,nastyplot,substitute": 186, "leftovers,blaze,fireblast,hiddenpowerrock,nastyplot,substitute": 182, "leftovers,blaze,fireblast,grassknot,nastyplot,substitute": 179, "lifeorb,blaze,fireblast,focusblast,grassknot,nastyplot": 376}, + "skarmory": {"leftovers,sturdy,bravebird,roost,spikes,whirlwind": 369, "leftovers,sturdy,bravebird,roost,stealthrock,whirlwind": 210, "leftovers,sturdy,bravebird,roost,stealthrock,toxic": 320, "leftovers,sturdy,bravebird,roost,spikes,toxic": 451, "leftovers,sturdy,bravebird,roost,spikes,stealthrock": 220}, + "skuntank": {"blacksludge,aftermath,crunch,fireblast,poisonjab,suckerpunch": 592, "blackglasses,aftermath,crunch,poisonjab,pursuit,suckerpunch": 310, "blacksludge,aftermath,crunch,poisonjab,suckerpunch,taunt": 318, "blacksludge,aftermath,crunch,fireblast,suckerpunch,taunt": 293, "blackglasses,aftermath,crunch,fireblast,pursuit,suckerpunch": 314}, + "slaking": {"choiceband,truant,earthquake,gigaimpact,nightslash,retaliate": 826, "choicescarf,truant,earthquake,gigaimpact,nightslash,retaliate": 838}, + "slowbro": {"choicespecs,regenerator,icebeam,psyshock,surf,trick": 110, "leftovers,regenerator,calmmind,psyshock,scald,slackoff": 529, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 28, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 33, "rockyhelmet,regenerator,fireblast,psyshock,scald,slackoff": 28, "choicespecs,regenerator,fireblast,psyshock,surf,trick": 105, "choicespecs,regenerator,fireblast,icebeam,psyshock,surf": 86, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 28, "rockyhelmet,regenerator,icebeam,scald,slackoff,toxic": 27, "rockyhelmet,regenerator,psyshock,scald,slackoff,thunderwave": 32, "rockyhelmet,regenerator,fireblast,scald,slackoff,thunderwave": 32, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 36, "lifeorb,regenerator,fireblast,psyshock,surf,trickroom": 125, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 28, "lifeorb,regenerator,icebeam,psyshock,surf,trickroom": 123, "rockyhelmet,regenerator,psyshock,scald,slackoff,toxic": 34, "rockyhelmet,regenerator,fireblast,scald,slackoff,toxic": 26, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 24, "rockyhelmet,regenerator,icebeam,scald,slackoff,thunderwave": 27, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 30, "rockyhelmet,regenerator,fireblast,icebeam,scald,slackoff": 22, "rockyhelmet,regenerator,icebeam,psyshock,scald,slackoff": 21, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 29, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 32}, + "slowking": {"leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 111, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 91, "lifeorb,regenerator,fireblast,psyshock,surf,trickroom": 151, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 95, "choicespecs,regenerator,icebeam,psyshock,surf,trick": 203, "choicespecs,regenerator,fireblast,icebeam,psyshock,surf": 162, "lifeorb,regenerator,icebeam,psyshock,surf,trickroom": 161, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 93, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 78, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 96, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 86, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 100, "choicespecs,regenerator,fireblast,psyshock,surf,trick": 153, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 69}, + "smeargle": {"focussash,owntempo,spikes,spore,stealthrock,whirlwind": 666, "focussash,owntempo,memento,spikes,spore,stealthrock": 684, "focussash,owntempo,memento,spikes,spore,whirlwind": 318, "focussash,owntempo,memento,spore,stealthrock,whirlwind": 4}, + "snorlax": {"leftovers,thickfat,bodyslam,earthquake,rest,sleeptalk": 303, "chestoberry,thickfat,bodyslam,curse,earthquake,rest": 543, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk": 576, "leftovers,thickfat,bodyslam,crunch,rest,sleeptalk": 294}, + "solrock": {"leftovers,levitate,morningsun,stealthrock,stoneedge,willowisp": 478, "leftovers,levitate,earthquake,morningsun,stoneedge,willowisp": 768, "leftovers,levitate,earthquake,morningsun,stealthrock,stoneedge": 459}, + "spinda": {"leftovers,contrary,feintattack,rapidspin,return,superpower": 778, "leftovers,contrary,rapidspin,return,suckerpunch,superpower": 775, "leftovers,contrary,feintattack,return,suckerpunch,superpower": 189}, + "spiritomb": {"leftovers,pressure,calmmind,darkpulse,rest,sleeptalk": 862, "blackglasses,pressure,foulplay,pursuit,suckerpunch,willowisp": 311, "leftovers,pressure,foulplay,painsplit,suckerpunch,willowisp": 307, "blackglasses,pressure,foulplay,painsplit,pursuit,suckerpunch": 269}, + "stantler": {"lifeorb,intimidate,doubleedge,earthquake,hypnosis,megahorn": 197, "choiceband,intimidate,doubleedge,earthquake,jumpkick,suckerpunch": 169, "lifeorb,intimidate,doubleedge,earthquake,hypnosis,thunderwave": 157, "choiceband,intimidate,doubleedge,earthquake,megahorn,suckerpunch": 157, "lifeorb,intimidate,doubleedge,earthquake,hypnosis,suckerpunch": 174, "lifeorb,intimidate,doubleedge,earthquake,jumpkick,thunderwave": 198, "lifeorb,intimidate,doubleedge,earthquake,megahorn,thunderwave": 152, "lifeorb,intimidate,doubleedge,earthquake,hypnosis,jumpkick": 162, "choiceband,intimidate,doubleedge,earthquake,jumpkick,megahorn": 163, "lifeorb,intimidate,doubleedge,earthquake,suckerpunch,thunderwave": 164}, + "staraptor": {"choiceband,reckless,bravebird,closecombat,quickattack,uturn": 512, "choiceband,reckless,bravebird,closecombat,doubleedge,quickattack": 496, "choiceband,reckless,bravebird,closecombat,doubleedge,uturn": 232, "choicescarf,reckless,bravebird,closecombat,doubleedge,uturn": 255}, + "starmie": {"leftovers,naturalcure,psyshock,rapidspin,recover,scald": 239, "lifeorb,analytic,hydropump,psyshock,recover,thunderbolt": 183, "lifeorb,analytic,hydropump,icebeam,psyshock,recover": 178, "leftovers,naturalcure,icebeam,rapidspin,recover,scald": 227, "leftovers,naturalcure,rapidspin,recover,scald,thunderwave": 240, "lifeorb,analytic,hydropump,icebeam,recover,thunderbolt": 167, "choicespecs,analytic,hydropump,icebeam,psyshock,thunderbolt": 286, "leftovers,naturalcure,icebeam,recover,scald,thunderwave": 29, "leftovers,naturalcure,psyshock,recover,scald,thunderwave": 23, "leftovers,naturalcure,icebeam,psyshock,recover,scald": 21}, + "steelix": {"lifeorb,sheerforce,earthquake,ironhead,roar,toxic": 107, "lifeorb,sheerforce,earthquake,ironhead,roar,rockslide": 97, "lifeorb,sheerforce,earthquake,ironhead,roar,stealthrock": 72, "leftovers,sturdy,earthquake,heavyslam,protect,toxic": 518, "lifeorb,sheerforce,earthquake,ironhead,rockslide,toxic": 106, "leftovers,sturdy,earthquake,heavyslam,roar,stealthrock": 119, "leftovers,sturdy,earthquake,heavyslam,roar,toxic": 208, "leftovers,sturdy,earthquake,roar,stealthrock,toxic": 104, "leftovers,sturdy,earthquake,heavyslam,stealthrock,toxic": 124, "lifeorb,sheerforce,earthquake,ironhead,stealthrock,toxic": 82, "lifeorb,sheerforce,earthquake,ironhead,rockslide,stealthrock": 66}, + "stoutland": {"choiceband,scrappy,crunch,return,superpower,wildcharge": 302, "leftovers,scrappy,return,superpower,thunderwave,wildcharge": 562, "choicescarf,scrappy,crunch,return,superpower,wildcharge": 293, "leftovers,scrappy,crunch,return,superpower,thunderwave": 519}, + "stunfisk": {"leftovers,static,discharge,earthpower,scald,stealthrock": 263, "leftovers,static,discharge,earthpower,rest,sleeptalk": 677, "leftovers,static,discharge,earthpower,stealthrock,toxic": 265, "leftovers,static,discharge,earthpower,scald,toxic": 405}, + "sudowoodo": {"leftovers,rockhead,stealthrock,stoneedge,suckerpunch,woodhammer": 235, "leftovers,rockhead,earthquake,stealthrock,stoneedge,woodhammer": 246, "choiceband,rockhead,earthquake,stoneedge,suckerpunch,woodhammer": 345, "leftovers,rockhead,stoneedge,suckerpunch,toxic,woodhammer": 327, "leftovers,rockhead,stealthrock,stoneedge,toxic,woodhammer": 211, "leftovers,rockhead,earthquake,stoneedge,toxic,woodhammer": 311}, + "suicune": {"leftovers,pressure,calmmind,protect,scald,substitute": 567, "leftovers,pressure,calmmind,rest,scald,sleeptalk": 601, "leftovers,pressure,calmmind,icebeam,scald,substitute": 154, "leftovers,pressure,calmmind,hydropump,icebeam,substitute": 168, "chestoberry,pressure,calmmind,icebeam,rest,scald": 151, "chestoberry,pressure,calmmind,hydropump,icebeam,rest": 149}, + "sunflora": {"choicespecs,earlybird,earthpower,hiddenpowerice,leafstorm,sludgebomb": 292, "choicespecs,earlybird,earthpower,hiddenpowerfire,leafstorm,sludgebomb": 276, "lifeorb,chlorophyll,earthpower,hiddenpowerfire,solarbeam,sunnyday": 776, "choicespecs,earlybird,earthpower,hiddenpowerrock,leafstorm,sludgebomb": 307, "choicespecs,chlorophyll,earthpower,hiddenpowerrock,leafstorm,sludgebomb": 1, "choicespecs,chlorophyll,earthpower,hiddenpowerfire,leafstorm,sludgebomb": 1, "choicespecs,chlorophyll,earthpower,hiddenpowerice,leafstorm,sludgebomb": 1}, + "swalot": {"blacksludge,liquidooze,earthquake,protect,sludgebomb,toxic": 904, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,toxic": 98, "blacksludge,liquidooze,earthquake,icebeam,painsplit,sludgebomb": 109, "blacksludge,liquidooze,earthquake,encore,icebeam,sludgebomb": 74, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,yawn": 125, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,toxic": 91, "blacksludge,liquidooze,earthquake,encore,sludgebomb,toxic": 123, "blacksludge,liquidooze,earthquake,encore,painsplit,sludgebomb": 81, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,yawn": 116, "blacksludge,liquidooze,earthquake,encore,sludgebomb,yawn": 112}, + "swampert": {"leftovers,torrent,earthquake,protect,scald,toxic": 830, "leftovers,torrent,earthquake,icebeam,scald,stealthrock": 104, "leftovers,torrent,earthquake,roar,scald,stealthrock": 113, "leftovers,torrent,earthquake,icebeam,scald,toxic": 147, "leftovers,torrent,earthquake,roar,scald,toxic": 129, "leftovers,torrent,earthquake,icebeam,roar,scald": 154, "leftovers,torrent,earthquake,scald,stealthrock,toxic": 126}, + "swanna": {"leftovers,hydration,bravebird,roost,scald,toxic": 375, "damprock,hydration,hurricane,raindance,rest,surf": 795, "leftovers,hydration,bravebird,icebeam,roost,scald": 395}, + "swellow": {"toxicorb,guts,bravebird,facade,protect,uturn": 796, "toxicorb,guts,bravebird,facade,quickattack,uturn": 740}, + "swoobat": {"lifeorb,simple,airslash,calmmind,roost,storedpower": 345, "leftovers,simple,calmmind,heatwave,roost,storedpower": 794, "lifeorb,simple,airslash,calmmind,heatwave,storedpower": 407}, + "tangrowth": {"rockyhelmet,regenerator,earthquake,hiddenpowerfire,powerwhip,rockslide": 50, "leftovers,regenerator,earthquake,hiddenpowerfire,powerwhip,rockslide": 61, "rockyhelmet,regenerator,earthquake,hiddenpowerfire,leafstorm,morningsun": 35, "rockyhelmet,regenerator,earthquake,leafstorm,leechseed,morningsun": 18, "leftovers,regenerator,hiddenpowerfire,leafstorm,rockslide,sleeppowder": 49, "rockyhelmet,regenerator,leafstorm,leechseed,morningsun,rockslide": 17, "leftovers,regenerator,earthquake,hiddenpowerfire,powerwhip,sleeppowder": 60, "rockyhelmet,regenerator,earthquake,hiddenpowerfire,leafstorm,sleeppowder": 55, "leftovers,regenerator,hiddenpowerfire,powerwhip,rockslide,sleeppowder": 65, "leftovers,regenerator,earthquake,morningsun,powerwhip,rockslide": 38, "rockyhelmet,regenerator,earthquake,hiddenpowerfire,powerwhip,sleeppowder": 63, "leftovers,regenerator,hiddenpowerfire,leechseed,morningsun,powerwhip": 18, "leftovers,regenerator,earthquake,leechseed,morningsun,powerwhip": 27, "leftovers,regenerator,earthquake,leafstorm,rockslide,sleeppowder": 52, "leftovers,regenerator,earthquake,leafstorm,morningsun,rockslide": 26, "leftovers,regenerator,earthquake,hiddenpowerfire,leafstorm,morningsun": 27, "rockyhelmet,regenerator,earthquake,powerwhip,rockslide,sleeppowder": 48, "leftovers,regenerator,hiddenpowerfire,leafstorm,leechseed,morningsun": 26, "rockyhelmet,regenerator,hiddenpowerfire,leafstorm,rockslide,sleeppowder": 50, "rockyhelmet,regenerator,hiddenpowerfire,powerwhip,rockslide,sleeppowder": 63, "rockyhelmet,regenerator,earthquake,hiddenpowerfire,leafstorm,rockslide": 54, "leftovers,regenerator,hiddenpowerfire,leafstorm,morningsun,sleeppowder": 24, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 27, "rockyhelmet,regenerator,hiddenpowerfire,morningsun,powerwhip,rockslide": 33, "leftovers,regenerator,leechseed,morningsun,powerwhip,rockslide": 24, "leftovers,regenerator,earthquake,hiddenpowerfire,leafstorm,rockslide": 63, "leftovers,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 20, "leftovers,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 25, "leftovers,regenerator,earthquake,hiddenpowerfire,morningsun,powerwhip": 31, "leftovers,regenerator,earthquake,powerwhip,rockslide,sleeppowder": 46, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,rockslide": 43, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,rockslide": 39, "leftovers,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 15, "rockyhelmet,regenerator,earthquake,leechseed,morningsun,powerwhip": 13, "leftovers,regenerator,hiddenpowerfire,morningsun,powerwhip,sleeppowder": 18, "rockyhelmet,regenerator,earthquake,hiddenpowerfire,morningsun,powerwhip": 34, "rockyhelmet,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 15, "leftovers,regenerator,hiddenpowerfire,morningsun,powerwhip,rockslide": 33, "leftovers,regenerator,leafstorm,leechseed,morningsun,rockslide": 17, "leftovers,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 20, "rockyhelmet,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 14, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 18, "rockyhelmet,regenerator,hiddenpowerfire,leafstorm,leechseed,morningsun": 18, "rockyhelmet,regenerator,hiddenpowerfire,leafstorm,morningsun,sleeppowder": 14, "leftovers,regenerator,earthquake,hiddenpowerfire,leafstorm,sleeppowder": 64, "rockyhelmet,regenerator,hiddenpowerfire,leafstorm,morningsun,rockslide": 40, "rockyhelmet,regenerator,earthquake,leafstorm,rockslide,sleeppowder": 63, "leftovers,regenerator,earthquake,leafstorm,leechseed,morningsun": 16, "rockyhelmet,regenerator,hiddenpowerfire,leechseed,morningsun,powerwhip": 12, "leftovers,regenerator,hiddenpowerfire,leafstorm,morningsun,rockslide": 22, "rockyhelmet,regenerator,leechseed,morningsun,powerwhip,rockslide": 18, "rockyhelmet,regenerator,hiddenpowerfire,morningsun,powerwhip,sleeppowder": 10}, + "tauros": {"lifeorb,sheerforce,bodyslam,earthquake,fireblast,zenheadbutt": 285, "choiceband,intimidate,doubleedge,earthquake,stoneedge,zenheadbutt": 864, "lifeorb,sheerforce,bodyslam,earthquake,fireblast,rockslide": 306, "lifeorb,sheerforce,bodyslam,earthquake,rockslide,zenheadbutt": 263}, + "tentacruel": {"blacksludge,clearbody,haze,icebeam,scald,toxicspikes": 21, "blacksludge,liquidooze,rapidspin,scald,sludgebomb,toxicspikes": 135, "blacksludge,liquidooze,haze,rapidspin,scald,toxicspikes": 110, "blacksludge,clearbody,icebeam,rapidspin,scald,sludgebomb": 127, "blacksludge,clearbody,rapidspin,scald,sludgebomb,toxicspikes": 118, "blacksludge,clearbody,haze,rapidspin,scald,toxicspikes": 129, "blacksludge,liquidooze,haze,icebeam,rapidspin,scald": 126, "blacksludge,clearbody,haze,icebeam,rapidspin,scald": 107, "blacksludge,clearbody,haze,rapidspin,scald,sludgebomb": 122, "blacksludge,clearbody,icebeam,rapidspin,scald,toxicspikes": 128, "blacksludge,liquidooze,icebeam,rapidspin,scald,toxicspikes": 138, "blacksludge,liquidooze,icebeam,rapidspin,scald,sludgebomb": 125, "blacksludge,liquidooze,haze,rapidspin,scald,sludgebomb": 121, "blacksludge,clearbody,haze,icebeam,scald,sludgebomb": 20, "blacksludge,clearbody,haze,scald,sludgebomb,toxicspikes": 16, "blacksludge,liquidooze,haze,icebeam,scald,sludgebomb": 17, "blacksludge,liquidooze,icebeam,scald,sludgebomb,toxicspikes": 20, "blacksludge,clearbody,icebeam,scald,sludgebomb,toxicspikes": 15, "blacksludge,liquidooze,haze,scald,sludgebomb,toxicspikes": 19, "blacksludge,liquidooze,haze,icebeam,scald,toxicspikes": 15}, + "terrakion": {"choiceband,justified,closecombat,earthquake,quickattack,stoneedge": 558, "lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance": 614, "lifeorb,justified,closecombat,earthquake,stealthrock,stoneedge": 507}, + "throh": {"leftovers,guts,bulkup,circlethrow,rest,sleeptalk": 904, "leftovers,guts,circlethrow,payback,rest,sleeptalk": 931}, + "thundurus": {"leftovers,prankster,hiddenpowerice,nastyplot,substitute,thunderbolt": 74, "lifeorb,prankster,hiddenpowerflying,superpower,thunderbolt,thunderwave": 92, "leftovers,prankster,hiddenpowerflying,nastyplot,substitute,thunderbolt": 65, "lifeorb,prankster,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 99, "lifeorb,prankster,hiddenpowerice,superpower,thunderbolt,thunderwave": 73, "leftovers,prankster,hiddenpowerice,taunt,thunderbolt,thunderwave": 90, "lifeorb,prankster,focusblast,hiddenpowerice,nastyplot,thunderbolt": 102, "leftovers,prankster,hiddenpowerflying,taunt,thunderbolt,thunderwave": 79, "leftovers,prankster,focusblast,nastyplot,substitute,thunderbolt": 42, "leftovers,prankster,superpower,taunt,thunderbolt,thunderwave": 64}, + "thundurustherian": {"lifeorb,voltabsorb,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 171, "choicescarf,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 88, "lifeorb,voltabsorb,focusblast,hiddenpowerice,nastyplot,thunderbolt": 191, "choicescarf,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 103, "choicespecs,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 100, "choicespecs,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 105}, + "togekiss": {"leftovers,serenegrace,airslash,nastyplot,roost,thunderwave": 267, "leftovers,serenegrace,airslash,aurasphere,nastyplot,roost": 251, "leftovers,serenegrace,airslash,healbell,roost,thunderwave": 539, "choicescarf,serenegrace,airslash,aurasphere,fireblast,trick": 495}, + "torkoal": {"leftovers,whitesmoke,earthquake,lavaplume,rapidspin,yawn": 723, "leftovers,whitesmoke,lavaplume,rapidspin,stealthrock,yawn": 408, "leftovers,whitesmoke,earthquake,lavaplume,rapidspin,stealthrock": 426, "leftovers,whitesmoke,earthquake,lavaplume,stealthrock,yawn": 104}, + "tornadus": {"flyinggem,defiant,acrobatics,bulkup,superpower,taunt": 423, "choicespecs,defiant,focusblast,heatwave,hurricane,uturn": 394}, + "tornadustherian": {"choicespecs,regenerator,focusblast,heatwave,hurricane,uturn": 404, "expertbelt,regenerator,heatwave,hurricane,superpower,uturn": 395}, + "torterra": {"leftovers,overgrow,earthquake,rockpolish,stoneedge,woodhammer": 824, "leftovers,overgrow,earthquake,stealthrock,synthesis,woodhammer": 347, "leftovers,overgrow,earthquake,stoneedge,synthesis,woodhammer": 458}, + "toxicroak": {"lifeorb,dryskin,drainpunch,poisonjab,suckerpunch,swordsdance": 140, "lifeorb,dryskin,drainpunch,earthquake,icepunch,swordsdance": 290, "lifeorb,dryskin,drainpunch,icepunch,poisonjab,swordsdance": 266, "blacksludge,dryskin,drainpunch,poisonjab,substitute,swordsdance": 155, "blacksludge,dryskin,drainpunch,icepunch,substitute,swordsdance": 141, "lifeorb,dryskin,drainpunch,earthquake,poisonjab,swordsdance": 281, "lifeorb,dryskin,drainpunch,icepunch,suckerpunch,swordsdance": 142, "lifeorb,dryskin,drainpunch,earthquake,suckerpunch,swordsdance": 145, "blacksludge,dryskin,drainpunch,earthquake,substitute,swordsdance": 134}, + "tropius": {"sitrusberry,harvest,airslash,leechseed,protect,substitute": 1494}, + "typhlosion": {"choicespecs,blaze,eruption,fireblast,focusblast,hiddenpowerrock": 423, "choicescarf,blaze,eruption,fireblast,focusblast,hiddenpowerrock": 444, "choicescarf,blaze,eruption,fireblast,focusblast,hiddenpowergrass": 443, "choicespecs,blaze,eruption,fireblast,focusblast,hiddenpowergrass": 421}, + "tyranitar": {"leftovers,sandstream,crunch,dragondance,earthquake,stoneedge": 266, "leftovers,sandstream,crunch,pursuit,stealthrock,stoneedge": 52, "leftovers,sandstream,crunch,earthquake,stealthrock,stoneedge": 52, "leftovers,sandstream,crunch,icebeam,stoneedge,superpower": 50, "choiceband,sandstream,crunch,earthquake,pursuit,stoneedge": 49, "leftovers,sandstream,crunch,dragondance,firepunch,stoneedge": 232, "leftovers,sandstream,crunch,dragondance,icepunch,stoneedge": 267, "leftovers,sandstream,crunch,stealthrock,stoneedge,superpower": 40, "choiceband,sandstream,crunch,earthquake,stoneedge,superpower": 20, "leftovers,sandstream,crunch,fireblast,icebeam,stoneedge": 61, "leftovers,sandstream,crunch,icebeam,stealthrock,stoneedge": 49, "choicescarf,sandstream,crunch,earthquake,stoneedge,superpower": 27, "leftovers,sandstream,crunch,fireblast,stealthrock,stoneedge": 58, "leftovers,sandstream,crunch,fireblast,pursuit,stoneedge": 54, "leftovers,sandstream,crunch,icebeam,pursuit,stoneedge": 47, "leftovers,sandstream,crunch,earthquake,fireblast,stoneedge": 57, "leftovers,sandstream,crunch,earthquake,icebeam,stoneedge": 59, "leftovers,sandstream,crunch,fireblast,stoneedge,superpower": 39, "choiceband,sandstream,crunch,pursuit,stoneedge,superpower": 68}, + "umbreon": {"leftovers,synchronize,foulplay,healbell,moonlight,toxic": 883, "leftovers,synchronize,foulplay,protect,toxic,wish": 860}, + "unfezant": {"leftovers,superluck,pluck,return,roost,toxic": 246, "leftovers,superluck,hypnosis,return,roost,toxic": 251, "leftovers,superluck,hypnosis,pluck,return,roost": 272, "leftovers,superluck,pluck,return,roost,uturn": 248, "leftovers,superluck,hypnosis,return,roost,uturn": 247, "leftovers,superluck,return,roost,toxic,uturn": 219}, + "unown": {"choicespecs,levitate,hiddenpowerpsychic": 1682}, + "ursaring": {"toxicorb,quickfeet,closecombat,crunch,facade,swordsdance": 835, "toxicorb,guts,closecombat,crunch,facade,protect": 872}, + "uxie": {"leftovers,levitate,healbell,psychic,stealthrock,thunderwave": 212, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 236, "leftovers,levitate,healbell,psychic,stealthrock,uturn": 134, "leftovers,levitate,psychic,stealthrock,uturn,yawn": 245, "leftovers,levitate,healbell,psychic,stealthrock,yawn": 180, "leftovers,levitate,psychic,thunderwave,uturn,yawn": 15, "leftovers,levitate,healbell,psychic,thunderwave,uturn": 325, "leftovers,levitate,healbell,psychic,uturn,yawn": 381}, + "vanilluxe": {"lifeorb,weakarmor,autotomize,explosion,hiddenpowerground,icebeam": 564, "lifeorb,weakarmor,autotomize,flashcannon,hiddenpowerground,icebeam": 585, "lifeorb,weakarmor,explosion,flashcannon,hiddenpowerground,icebeam": 563}, + "vaporeon": {"leftovers,waterabsorb,icebeam,protect,scald,wish": 478, "leftovers,waterabsorb,protect,scald,toxic,wish": 853, "leftovers,waterabsorb,healbell,protect,scald,wish": 389}, + "venomoth": {"blacksludge,tintedlens,bugbuzz,quiverdance,sleeppowder,substitute": 871, "blacksludge,tintedlens,bugbuzz,quiverdance,roost,sleeppowder": 880}, + "venusaur": {"blacksludge,overgrow,earthquake,leafstorm,sludgebomb,synthesis": 398, "blacksludge,chlorophyll,leafstorm,sleeppowder,sludgebomb,synthesis": 3, "blacksludge,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute": 416, "blacksludge,overgrow,leafstorm,sleeppowder,sludgebomb,synthesis": 454, "blacksludge,overgrow,gigadrain,leechseed,sludgebomb,substitute": 440, "blacksludge,chlorophyll,gigadrain,leechseed,sludgebomb,substitute": 3, "blacksludge,chlorophyll,earthquake,leafstorm,sludgebomb,synthesis": 7}, + "vespiquen": {"flyinggem,pressure,acrobatics,roost,toxic,uturn": 1449}, + "victini": {"choiceband,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 438, "choicescarf,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 433, "expertbelt,victorystar,boltstrike,focusblast,psychic,vcreate": 81, "expertbelt,victorystar,boltstrike,focusblast,uturn,vcreate": 72, "expertbelt,victorystar,boltstrike,energyball,uturn,vcreate": 85, "expertbelt,victorystar,boltstrike,psychic,uturn,vcreate": 98, "choicescarf,victorystar,boltstrike,focusblast,trick,vcreate": 95, "choicescarf,victorystar,boltstrike,psychic,trick,vcreate": 79, "choicescarf,victorystar,boltstrike,energyball,trick,vcreate": 90, "expertbelt,victorystar,boltstrike,energyball,psychic,vcreate": 88, "expertbelt,victorystar,boltstrike,energyball,focusblast,vcreate": 76}, + "victreebel": {"lifeorb,chlorophyll,powerwhip,sleeppowder,sludgebomb,suckerpunch": 261, "lifeorb,chlorophyll,powerwhip,sludgebomb,sunnyday,weatherball": 832, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sludgebomb,suckerpunch": 269, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sleeppowder,sludgebomb": 280}, + "vigoroth": {"eviolite,vitalspirit,bodyslam,bulkup,earthquake,slackoff": 435, "eviolite,vitalspirit,bodyslam,bulkup,nightslash,slackoff": 464, "eviolite,vitalspirit,bulkup,nightslash,return,slackoff": 380, "eviolite,vitalspirit,bulkup,earthquake,return,slackoff": 432}, + "vileplume": {"blacksludge,effectspore,hiddenpowerground,sleeppowder,sludgebomb,synthesis": 155, "blacksludge,effectspore,gigadrain,leechseed,sludgebomb,synthesis": 167, "blacksludge,effectspore,gigadrain,sleeppowder,sludgebomb,synthesis": 185, "blacksludge,effectspore,aromatherapy,leechseed,sludgebomb,synthesis": 165, "blacksludge,effectspore,hiddenpowerground,leechseed,sludgebomb,synthesis": 160, "blacksludge,effectspore,aromatherapy,hiddenpowerground,sludgebomb,synthesis": 172, "blacksludge,effectspore,leechseed,sleeppowder,sludgebomb,synthesis": 169, "blacksludge,effectspore,aromatherapy,gigadrain,sludgebomb,synthesis": 145, "blacksludge,effectspore,gigadrain,hiddenpowerground,sludgebomb,synthesis": 158, "blacksludge,effectspore,aromatherapy,sleeppowder,sludgebomb,synthesis": 166}, + "virizion": {"lifeorb,justified,closecombat,leafblade,stoneedge,swordsdance": 1652}, + "volbeat": {"leftovers,prankster,encore,roost,thunderwave,uturn": 1694}, + "volcarona": {"leftovers,flamebody,fireblast,gigadrain,hiddenpowerrock,quiverdance": 169, "leftovers,flamebody,bugbuzz,fierydance,hiddenpowerrock,quiverdance": 164, "leftovers,flamebody,bugbuzz,fireblast,hiddenpowerrock,quiverdance": 153, "leftovers,flamebody,fireblast,hiddenpowerrock,quiverdance,roost": 98, "leftovers,flamebody,bugbuzz,fierydance,quiverdance,roost": 86, "leftovers,flamebody,fierydance,gigadrain,hiddenpowerrock,quiverdance": 200, "leftovers,flamebody,bugbuzz,fierydance,gigadrain,quiverdance": 184, "leftovers,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 178, "leftovers,flamebody,fierydance,gigadrain,quiverdance,roost": 73, "leftovers,flamebody,fireblast,gigadrain,quiverdance,roost": 95, "leftovers,flamebody,bugbuzz,fireblast,quiverdance,roost": 82, "leftovers,flamebody,fierydance,hiddenpowerrock,quiverdance,roost": 75}, + "wailord": {"choicescarf,waterveil,hiddenpowergrass,hydropump,icebeam,waterspout": 1685}, + "walrein": {"leftovers,thickfat,encore,icebeam,superfang,surf": 159, "leftovers,thickfat,encore,icebeam,surf,toxic": 183, "leftovers,thickfat,icebeam,protect,surf,toxic": 766, "leftovers,thickfat,icebeam,superfang,surf,toxic": 119, "leftovers,thickfat,icebeam,roar,surf,toxic": 160, "leftovers,thickfat,icebeam,roar,superfang,surf": 168}, + "watchog": {"leftovers,analytic,crunch,return,substitute,swordsdance": 276, "leftovers,analytic,crunch,hypnosis,return,superfang": 863, "lifeorb,analytic,crunch,hypnosis,return,swordsdance": 316, "lifeorb,analytic,crunch,lowkick,return,swordsdance": 277}, + "weavile": {"choiceband,pressure,icepunch,lowkick,nightslash,pursuit": 335, "choiceband,pressure,icepunch,iceshard,nightslash,pursuit": 309, "lifeorb,pressure,icepunch,iceshard,nightslash,swordsdance": 313, "lifeorb,pressure,icepunch,lowkick,nightslash,swordsdance": 298, "choiceband,pressure,icepunch,iceshard,lowkick,nightslash": 257}, + "weezing": {"blacksludge,levitate,fireblast,haze,sludgebomb,willowisp": 463, "blacksludge,levitate,haze,painsplit,sludgebomb,willowisp": 473, "blacksludge,levitate,fireblast,painsplit,sludgebomb,willowisp": 456, "blacksludge,levitate,fireblast,haze,painsplit,sludgebomb": 469}, + "whimsicott": {"leftovers,prankster,hurricane,leechseed,protect,substitute": 824, "leftovers,prankster,encore,gigadrain,toxic,uturn": 86, "leftovers,prankster,gigadrain,stunspore,taunt,toxic": 76, "leftovers,prankster,gigadrain,stunspore,toxic,uturn": 83, "leftovers,prankster,gigadrain,stunspore,taunt,uturn": 78, "leftovers,prankster,gigadrain,taunt,toxic,uturn": 98, "leftovers,prankster,encore,gigadrain,stunspore,taunt": 81, "leftovers,prankster,encore,gigadrain,stunspore,uturn": 94, "leftovers,prankster,encore,gigadrain,taunt,uturn": 80, "leftovers,prankster,encore,gigadrain,stunspore,toxic": 80, "leftovers,prankster,encore,gigadrain,taunt,toxic": 75}, + "whiscash": {"lifeorb,anticipation,dragondance,earthquake,stoneedge,waterfall": 771, "leftovers,anticipation,earthquake,protect,scald,toxic": 790, "lifeorb,hydration,dragondance,earthquake,stoneedge,waterfall": 8, "leftovers,hydration,earthquake,protect,scald,toxic": 7}, + "wigglytuff": {"leftovers,frisk,bodyslam,fireblast,healbell,stealthrock": 130, "leftovers,frisk,doubleedge,protect,toxic,wish": 267, "leftovers,frisk,bodyslam,fireblast,protect,wish": 170, "leftovers,frisk,doubleedge,protect,thunderwave,wish": 318, "leftovers,frisk,protect,seismictoss,toxic,wish": 551, "leftovers,frisk,bodyslam,healbell,protect,wish": 138, "leftovers,frisk,bodyslam,protect,stealthrock,wish": 120}, + "wobbuffet": {"custapberry,shadowtag,counter,destinybond,encore,mirrorcoat": 1734}, + "wormadam": {"leftovers,overcoat,hiddenpowerground,leafstorm,synthesis,toxic": 17, "leftovers,overcoat,gigadrain,hiddenpowerground,protect,toxic": 66, "leftovers,anticipation,gigadrain,hiddenpowerground,protect,toxic": 75, "choicespecs,anticipation,hiddenpowerrock,leafstorm,psychic,signalbeam": 41, "leftovers,anticipation,hiddenpowerrock,leafstorm,signalbeam,synthesis": 22, "leftovers,overcoat,hiddenpowerrock,leafstorm,signalbeam,synthesis": 29, "choicespecs,anticipation,hiddenpowerground,leafstorm,psychic,signalbeam": 38, "leftovers,anticipation,hiddenpowerrock,leafstorm,synthesis,toxic": 17, "choicespecs,overcoat,hiddenpowerground,leafstorm,psychic,signalbeam": 45, "leftovers,anticipation,hiddenpowerground,leafstorm,signalbeam,synthesis": 22, "leftovers,anticipation,leafstorm,signalbeam,synthesis,toxic": 14, "leftovers,overcoat,hiddenpowerrock,leafstorm,synthesis,toxic": 12, "choicespecs,overcoat,hiddenpowerrock,leafstorm,psychic,signalbeam": 38, "leftovers,overcoat,leafstorm,signalbeam,synthesis,toxic": 11, "leftovers,overcoat,hiddenpowerground,leafstorm,signalbeam,synthesis": 25, "leftovers,anticipation,hiddenpowerground,leafstorm,synthesis,toxic": 16}, + "wormadamsandy": {"leftovers,anticipation,earthquake,protect,stealthrock,toxic": 432, "leftovers,anticipation,earthquake,protect,suckerpunch,toxic": 85}, + "wormadamtrash": {"leftovers,anticipation,flashcannon,protect,stealthrock,toxic": 417, "leftovers,anticipation,flashcannon,protect,suckerpunch,toxic": 109}, + "xatu": {"leftovers,magicbounce,heatwave,psychic,roost,uturn": 132, "leftovers,magicbounce,psychic,roost,thunderwave,uturn": 164, "leftovers,magicbounce,calmmind,heatwave,psychic,roost": 803, "leftovers,magicbounce,heatwave,psychic,roost,thunderwave": 163, "leftovers,magicbounce,psychic,roost,toxic,uturn": 160, "leftovers,magicbounce,heatwave,psychic,roost,toxic": 149}, + "yanmega": {"choicespecs,tintedlens,airslash,bugbuzz,gigadrain,uturn": 734, "lifeorb,speedboost,airslash,bugbuzz,hiddenpowerground,protect": 741}, + "zangoose": {"toxicorb,toxicboost,closecombat,facade,nightslash,swordsdance": 561, "toxicorb,toxicboost,facade,nightslash,quickattack,swordsdance": 523, "toxicorb,toxicboost,closecombat,facade,nightslash,quickattack": 642}, + "zapdos": {"leftovers,pressure,roost,substitute,thunderbolt,toxic": 184, "leftovers,pressure,heatwave,roost,substitute,thunderbolt": 174, "leftovers,pressure,hiddenpowerice,roost,substitute,thunderbolt": 192, "leftovers,pressure,hiddenpowerice,roost,thunderbolt,uturn": 183, "leftovers,pressure,roost,thunderbolt,toxic,uturn": 194, "leftovers,pressure,heatwave,roost,thunderbolt,uturn": 184, "leftovers,pressure,hiddenpowerice,roost,thunderbolt,toxic": 176, "leftovers,pressure,heatwave,roost,thunderbolt,toxic": 146, "leftovers,pressure,heatwave,hiddenpowerice,roost,thunderbolt": 167}, + "zebstrika": {"expertbelt,sapsipper,hiddenpowerice,overheat,voltswitch,wildcharge": 933, "choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 937}, + "zekrom": {"lumberry,teravolt,boltstrike,honeclaws,outrage,roost": 423, "leftovers,teravolt,boltstrike,dracometeor,outrage,roost": 438, "lumberry,teravolt,boltstrike,honeclaws,outrage,substitute": 414, "leftovers,teravolt,boltstrike,dracometeor,roost,voltswitch": 216, "leftovers,teravolt,boltstrike,outrage,roost,voltswitch": 200}, + "zoroark": {"choicespecs,illusion,darkpulse,flamethrower,focusblast,trick": 472, "choicespecs,illusion,darkpulse,flamethrower,focusblast,uturn": 496, "lifeorb,illusion,darkpulse,flamethrower,focusblast,nastyplot": 474} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen6ou.json b/data/pkmn_sets/gen6ou.json new file mode 100644 index 000000000..973c06d67 --- /dev/null +++ b/data/pkmn_sets/gen6ou.json @@ -0,0 +1,3 @@ +{ + "pokemon": {} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen6randombattle.json b/data/pkmn_sets/gen6randombattle.json new file mode 100644 index 000000000..ff834ac48 --- /dev/null +++ b/data/pkmn_sets/gen6randombattle.json @@ -0,0 +1,485 @@ +{ + "abomasnow": {"assaultvest,snowwarning,blizzard,earthquake,iceshard,woodhammer": 135, "assaultvest,snowwarning,blizzard,earthquake,gigadrain,iceshard": 129}, + "abomasnowmega": {"abomasite,snowwarning,blizzard,earthquake,iceshard,woodhammer": 511, "abomasite,snowwarning,blizzard,earthquake,gigadrain,iceshard": 482}, + "absol": {"choiceband,justified,knockoff,playrough,suckerpunch,superpower": 145, "blackglasses,justified,knockoff,playrough,pursuit,suckerpunch": 148, "lifeorb,justified,knockoff,playrough,suckerpunch,swordsdance": 124}, + "absolmega": {"absolite,justified,knockoff,playrough,pursuit,superpower": 122, "absolite,justified,irontail,knockoff,playrough,pursuit": 123, "absolite,justified,irontail,knockoff,playrough,superpower": 133, "absolite,justified,knockoff,playrough,suckerpunch,superpower": 120, "absolite,justified,knockoff,playrough,superpower,swordsdance": 147, "absolite,justified,irontail,knockoff,playrough,swordsdance": 159, "absolite,justified,knockoff,playrough,suckerpunch,swordsdance": 150, "absolite,justified,irontail,knockoff,playrough,suckerpunch": 120, "absolite,justified,knockoff,playrough,pursuit,suckerpunch": 138}, + "accelgor": {"choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerground,uturn": 96, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,uturn": 95, "leftovers,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 70, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerrock": 98, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 19, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,uturn": 84, "leftovers,stickyhold,bugbuzz,encore,focusblast,spikes": 84, "focussash,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 12, "choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerrock,uturn": 69, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerground": 88, "leftovers,stickyhold,bugbuzz,encore,spikes,uturn": 56, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 97, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 96, "focussash,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 16, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 59, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 107, "leftovers,stickyhold,bugbuzz,focusblast,spikes,uturn": 83, "leftovers,stickyhold,bugbuzz,encore,focusblast,uturn": 62, "focussash,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 15, "leftovers,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 84, "leftovers,hydration,bugbuzz,encore,hiddenpowerrock,uturn": 2, "focussash,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 15, "focussash,stickyhold,bugbuzz,encore,focusblast,spikes": 14, "leftovers,hydration,bugbuzz,hiddenpowerrock,spikes,uturn": 1, "leftovers,hydration,bugbuzz,encore,hiddenpowerground,uturn": 4, "focussash,stickyhold,bugbuzz,encore,spikes,uturn": 10, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 10, "lifeorb,hydration,bugbuzz,encore,focusblast,hiddenpowerground": 1, "focussash,stickyhold,bugbuzz,focusblast,spikes,uturn": 8, "focussash,hydration,bugbuzz,hiddenpowerrock,spikes,uturn": 1, "leftovers,hydration,bugbuzz,encore,hiddenpowerground,spikes": 1, "lifeorb,hydration,bugbuzz,encore,focusblast,hiddenpowerrock": 3, "leftovers,hydration,bugbuzz,encore,focusblast,spikes": 1, "leftovers,hydration,bugbuzz,encore,hiddenpowerrock,spikes": 4, "lifeorb,hydration,bugbuzz,focusblast,hiddenpowerground,spikes": 2, "leftovers,hydration,bugbuzz,focusblast,spikes,uturn": 2, "focussash,hydration,bugbuzz,encore,focusblast,spikes": 1, "lifeorb,hydration,bugbuzz,focusblast,hiddenpowerrock,spikes": 1, "choicespecs,hydration,bugbuzz,focusblast,hiddenpowerrock,uturn": 1, "focussash,hydration,bugbuzz,focusblast,hiddenpowerground,spikes": 1}, + "aegislash": {"lifeorb,stancechange,ironhead,sacredsword,shadowsneak,swordsdance": 257, "leftovers,stancechange,ironhead,kingsshield,shadowball,toxic": 382, "leftovers,stancechange,kingsshield,shadowball,substitute,toxic": 356, "leftovers,stancechange,ironhead,kingsshield,shadowsneak,swordsdance": 241, "lifeorb,stancechange,ironhead,shadowclaw,shadowsneak,swordsdance": 275}, + "aerodactyl": {"lifeorb,unnerve,aerialace,defog,earthquake,stoneedge": 11, "leftovers,unnerve,defog,earthquake,roost,stoneedge": 29, "lifeorb,unnerve,aquatail,earthquake,roost,stoneedge": 8, "lifeorb,unnerve,aerialace,earthquake,stealthrock,stoneedge": 14, "lifeorb,unnerve,earthquake,pursuit,roost,stoneedge": 12, "lifeorb,unnerve,earthquake,pursuit,stealthrock,stoneedge": 4, "leftovers,unnerve,earthquake,roost,stoneedge,toxic": 26, "leftovers,unnerve,earthquake,roost,stealthrock,stoneedge": 42, "leftovers,unnerve,earthquake,roost,stoneedge,taunt": 27, "choiceband,unnerve,aerialace,earthquake,pursuit,stoneedge": 11, "lifeorb,unnerve,aquatail,defog,earthquake,stoneedge": 5, "lifeorb,unnerve,aerialace,earthquake,roost,stoneedge": 8, "choiceband,unnerve,aquatail,earthquake,pursuit,stoneedge": 11, "lifeorb,unnerve,aquatail,earthquake,stealthrock,stoneedge": 9, "choiceband,unnerve,aerialace,aquatail,earthquake,stoneedge": 5, "focussash,unnerve,aquatail,earthquake,stealthrock,stoneedge": 3, "focussash,unnerve,earthquake,pursuit,stealthrock,stoneedge": 1, "lifeorb,unnerve,defog,earthquake,pursuit,stoneedge": 9, "focussash,unnerve,aerialace,earthquake,stealthrock,stoneedge": 1}, + "aerodactylmega": {"aerodactylite,unnerve,earthquake,honeclaws,roost,stoneedge": 159, "aerodactylite,unnerve,aerialace,earthquake,roost,stoneedge": 158, "aerodactylite,unnerve,aquatail,earthquake,honeclaws,stoneedge": 144, "aerodactylite,unnerve,aquatail,earthquake,roost,stoneedge": 150, "aerodactylite,unnerve,aerialace,aquatail,earthquake,stoneedge": 152, "aerodactylite,unnerve,aerialace,earthquake,honeclaws,stoneedge": 133}, + "aggron": {"airballoon,rockhead,earthquake,headsmash,heavyslam,rockpolish": 147, "airballoon,rockhead,earthquake,headsmash,heavyslam,stealthrock": 101, "choiceband,rockhead,aquatail,earthquake,headsmash,heavyslam": 164}, + "aggronmega": {"aggronite,sturdy,earthquake,heavyslam,stoneedge,thunderwave": 134, "aggronite,sturdy,earthquake,heavyslam,roar,thunderwave": 137, "aggronite,sturdy,earthquake,heavyslam,roar,toxic": 139, "aggronite,sturdy,earthquake,heavyslam,stoneedge,toxic": 140, "aggronite,sturdy,earthquake,heavyslam,roar,stoneedge": 103, "aggronite,sturdy,earthquake,heavyslam,roar,stealthrock": 85, "aggronite,sturdy,earthquake,heavyslam,stealthrock,toxic": 107, "aggronite,sturdy,earthquake,heavyslam,stealthrock,thunderwave": 116, "aggronite,sturdy,earthquake,heavyslam,stealthrock,stoneedge": 92}, + "alakazam": {"focussash,magicguard,counter,focusblast,psyshock,shadowball": 132, "focussash,magicguard,counter,focusblast,psychic,shadowball": 132, "lifeorb,magicguard,calmmind,focusblast,psychic,substitute": 41, "lifeorb,magicguard,calmmind,encore,focusblast,psychic": 36, "lifeorb,magicguard,calmmind,focusblast,psyshock,substitute": 39, "lifeorb,magicguard,calmmind,focusblast,psychic,shadowball": 46, "lifeorb,magicguard,calmmind,focusblast,psyshock,shadowball": 44, "lifeorb,magicguard,calmmind,encore,focusblast,psyshock": 23}, + "alakazammega": {"alakazite,magicguard,calmmind,encore,focusblast,psychic": 207, "alakazite,magicguard,calmmind,focusblast,psyshock,shadowball": 224, "alakazite,magicguard,calmmind,focusblast,psyshock,substitute": 214, "alakazite,magicguard,calmmind,focusblast,psychic,shadowball": 210, "alakazite,magicguard,calmmind,encore,focusblast,psyshock": 237, "alakazite,magicguard,calmmind,focusblast,psychic,substitute": 202}, + "alomomola": {"rockyhelmet,regenerator,knockoff,protect,scald,wish": 418, "leftovers,regenerator,knockoff,protect,scald,wish": 413, "leftovers,regenerator,protect,scald,toxic,wish": 401, "rockyhelmet,regenerator,protect,scald,toxic,wish": 401}, + "altaria": {"leftovers,naturalcure,dracometeor,earthquake,healbell,roost": 24, "leftovers,naturalcure,dracometeor,earthquake,roost,toxic": 25, "leftovers,naturalcure,dracometeor,fireblast,roost,toxic": 25, "lumberry,naturalcure,dragondance,earthquake,outrage,roost": 120, "leftovers,naturalcure,dracometeor,healbell,roost,toxic": 22, "leftovers,naturalcure,dracometeor,earthquake,fireblast,roost": 21, "leftovers,naturalcure,dracometeor,fireblast,healbell,roost": 36}, + "altariamega": {"altarianite,naturalcure,dragondance,earthquake,return,roost": 581, "altarianite,naturalcure,fireblast,healbell,return,roost": 194, "altarianite,naturalcure,earthquake,healbell,return,roost": 166, "altarianite,naturalcure,earthquake,fireblast,return,roost": 217}, + "ambipom": {"silkscarf,technician,fakeout,knockoff,lowkick,return": 539, "silkscarf,technician,fakeout,knockoff,return,uturn": 569, "choiceband,technician,knockoff,lowkick,return,uturn": 524}, + "amoonguss": {"rockyhelmet,regenerator,foulplay,gigadrain,sludgebomb,spore": 68, "blacksludge,regenerator,gigadrain,hiddenpowerground,sludgebomb,spore": 78, "blacksludge,regenerator,gigadrain,sludgebomb,spore,synthesis": 389, "rockyhelmet,regenerator,clearsmog,gigadrain,sludgebomb,spore": 43, "blacksludge,regenerator,foulplay,hiddenpowerground,sludgebomb,spore": 75, "blacksludge,regenerator,clearsmog,foulplay,sludgebomb,spore": 40, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,synthesis": 342, "blacksludge,regenerator,clearsmog,gigadrain,sludgebomb,spore": 43, "rockyhelmet,regenerator,clearsmog,hiddenpowerground,sludgebomb,spore": 43, "rockyhelmet,regenerator,foulplay,hiddenpowerground,sludgebomb,spore": 74, "rockyhelmet,regenerator,gigadrain,hiddenpowerground,sludgebomb,spore": 70, "rockyhelmet,regenerator,clearsmog,foulplay,sludgebomb,spore": 41, "blacksludge,regenerator,foulplay,gigadrain,sludgebomb,spore": 74, "blacksludge,regenerator,clearsmog,hiddenpowerground,sludgebomb,spore": 45}, + "ampharos": {"leftovers,static,focusblast,healbell,hiddenpowerice,thunderbolt": 77, "leftovers,static,focusblast,hiddenpowerice,thunderbolt,toxic": 90, "choicespecs,static,focusblast,hiddenpowerice,thunderbolt,voltswitch": 89, "leftovers,static,focusblast,healbell,thunderbolt,voltswitch": 40, "leftovers,static,healbell,hiddenpowerice,thunderbolt,voltswitch": 32, "leftovers,static,focusblast,healbell,thunderbolt,toxic": 42, "leftovers,static,healbell,hiddenpowerice,thunderbolt,toxic": 28, "leftovers,static,focusblast,thunderbolt,toxic,voltswitch": 43, "leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 37}, + "ampharosmega": {"ampharosite,static,agility,dragonpulse,focusblast,thunderbolt": 269, "ampharosite,static,discharge,dragonpulse,healbell,voltswitch": 107, "ampharosite,static,dragonpulse,focusblast,thunderbolt,voltswitch": 292, "ampharosite,static,discharge,dragonpulse,rest,sleeptalk": 236, "ampharosite,static,discharge,dragonpulse,focusblast,healbell": 101, "ampharosite,static,discharge,dragonpulse,focusblast,voltswitch": 118}, + "arbok": {"blacksludge,shedskin,coil,earthquake,gunkshot,rest": 892, "lifeorb,intimidate,coil,earthquake,gunkshot,suckerpunch": 458, "lifeorb,intimidate,aquatail,coil,earthquake,gunkshot": 462}, + "arcanine": {"leftovers,intimidate,flareblitz,morningsun,toxic,wildcharge": 53, "lifeorb,intimidate,closecombat,flareblitz,morningsun,wildcharge": 234, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge": 238, "lifeorb,intimidate,closecombat,extremespeed,flareblitz,morningsun": 233, "leftovers,intimidate,closecombat,extremespeed,flareblitz,morningsun": 88, "leftovers,intimidate,extremespeed,flareblitz,morningsun,wildcharge": 79, "leftovers,intimidate,extremespeed,flareblitz,morningsun,roar": 39, "leftovers,intimidate,flareblitz,morningsun,roar,wildcharge": 32, "leftovers,intimidate,closecombat,flareblitz,morningsun,roar": 45, "leftovers,intimidate,closecombat,flareblitz,morningsun,wildcharge": 94, "leftovers,intimidate,closecombat,flareblitz,morningsun,toxic": 46, "leftovers,intimidate,closecombat,flareblitz,morningsun,willowisp": 57, "leftovers,intimidate,extremespeed,flareblitz,morningsun,toxic": 50, "leftovers,intimidate,flareblitz,morningsun,wildcharge,willowisp": 45, "leftovers,intimidate,extremespeed,flareblitz,morningsun,willowisp": 44}, + "arceus": {"lifeorb,multitype,earthquake,extremespeed,shadowclaw,swordsdance": 128, "lifeorb,multitype,extremespeed,recover,shadowclaw,swordsdance": 60, "lifeorb,multitype,earthquake,extremespeed,recover,swordsdance": 61}, + "arceusbug": {"insectplate,multitype,calmmind,earthpower,icebeam,judgment": 121, "insectplate,multitype,calmmind,earthpower,judgment,recover": 64, "insectplate,multitype,calmmind,fireblast,judgment,recover": 60}, + "arceusdark": {"dreadplate,multitype,judgment,recover,sludgebomb,toxic": 26, "dreadplate,multitype,fireblast,judgment,recover,toxic": 23, "dreadplate,multitype,defog,fireblast,judgment,recover": 14, "dreadplate,multitype,defog,judgment,recover,sludgebomb": 23, "dreadplate,multitype,calmmind,judgment,recover,sludgebomb": 30, "dreadplate,multitype,fireblast,judgment,recover,sludgebomb": 55, "dreadplate,multitype,fireblast,judgment,recover,willowisp": 24, "dreadplate,multitype,judgment,recover,sludgebomb,willowisp": 27, "dreadplate,multitype,calmmind,fireblast,judgment,recover": 29}, + "arceusdragon": {"dracoplate,multitype,earthquake,judgment,recover,willowisp": 8, "dracoplate,multitype,defog,judgment,recover,willowisp": 36, "dracoplate,multitype,earthquake,outrage,recover,swordsdance": 61, "dracoplate,multitype,defog,earthquake,judgment,recover": 38, "dracoplate,multitype,earthquake,extremespeed,outrage,swordsdance": 70, "dracoplate,multitype,defog,fireblast,judgment,recover": 40, "dracoplate,multitype,earthquake,fireblast,judgment,recover": 4, "dracoplate,multitype,fireblast,judgment,recover,willowisp": 4}, + "arceuselectric": {"zapplate,multitype,calmmind,icebeam,judgment,recover": 290}, + "arceusfairy": {"pixieplate,multitype,calmmind,earthpower,judgment,recover": 144, "pixieplate,multitype,defog,earthquake,judgment,recover": 52, "pixieplate,multitype,earthquake,judgment,recover,toxic": 61, "pixieplate,multitype,earthquake,judgment,recover,willowisp": 53}, + "arceusfighting": {"fistplate,multitype,calmmind,icebeam,judgment,recover": 141, "fistplate,multitype,calmmind,judgment,recover,shadowball": 147}, + "arceusfire": {"flameplate,multitype,calmmind,earthpower,judgment,recover": 127, "flameplate,multitype,calmmind,energyball,judgment,recover": 110}, + "arceusflying": {"skyplate,multitype,calmmind,earthpower,judgment,recover": 101, "skyplate,multitype,earthquake,judgment,recover,toxic": 45, "skyplate,multitype,earthquake,judgment,recover,willowisp": 32, "skyplate,multitype,defog,earthquake,judgment,recover": 26}, + "arceusghost": {"spookyplate,multitype,brickbreak,extremespeed,shadowforce,swordsdance": 153, "spookyplate,multitype,calmmind,focusblast,judgment,recover": 48, "spookyplate,multitype,focusblast,judgment,recover,willowisp": 52, "spookyplate,multitype,defog,focusblast,judgment,recover": 31, "spookyplate,multitype,focusblast,judgment,recover,toxic": 44}, + "arceusgrass": {"meadowplate,multitype,calmmind,earthpower,icebeam,judgment": 116, "meadowplate,multitype,calmmind,fireblast,judgment,recover": 92}, + "arceusground": {"earthplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 56, "earthplate,multitype,calmmind,icebeam,judgment,recover": 63, "earthplate,multitype,earthquake,recover,stoneedge,swordsdance": 56, "earthplate,multitype,icebeam,judgment,recover,toxic": 56}, + "arceusice": {"icicleplate,multitype,calmmind,earthpower,judgment,recover": 122, "icicleplate,multitype,calmmind,judgment,recover,thunderbolt": 112}, + "arceuspoison": {"toxicplate,multitype,calmmind,earthpower,icebeam,sludgebomb": 68, "toxicplate,multitype,defog,earthquake,recover,sludgebomb": 67, "toxicplate,multitype,earthquake,icebeam,recover,sludgebomb": 77, "toxicplate,multitype,calmmind,earthpower,recover,sludgebomb": 70}, + "arceuspsychic": {"mindplate,multitype,fireblast,judgment,recover,willowisp": 24, "mindplate,multitype,calmmind,fireblast,judgment,recover": 86, "mindplate,multitype,calmmind,earthpower,judgment,recover": 78, "mindplate,multitype,earthquake,fireblast,judgment,recover": 29, "mindplate,multitype,earthquake,judgment,recover,willowisp": 21, "mindplate,multitype,earthquake,judgment,recover,toxic": 17, "mindplate,multitype,defog,earthquake,judgment,recover": 19, "mindplate,multitype,fireblast,judgment,recover,toxic": 24, "mindplate,multitype,defog,fireblast,judgment,recover": 16}, + "arceusrock": {"stoneplate,multitype,defog,earthquake,judgment,recover": 35, "stoneplate,multitype,earthquake,recover,stoneedge,swordsdance": 62, "stoneplate,multitype,earthquake,extremespeed,stoneedge,swordsdance": 41, "stoneplate,multitype,earthquake,judgment,recover,willowisp": 49, "stoneplate,multitype,earthquake,judgment,recover,toxic": 33}, + "arceussteel": {"ironplate,multitype,earthquake,judgment,recover,toxic": 79, "ironplate,multitype,earthquake,judgment,recover,willowisp": 81, "ironplate,multitype,defog,earthquake,judgment,recover": 86}, + "arceuswater": {"splashplate,multitype,calmmind,icebeam,judgment,recover": 89, "splashplate,multitype,icebeam,judgment,recover,toxic": 97, "splashplate,multitype,icebeam,judgment,recover,willowisp": 84}, + "archeops": {",defeatist,acrobatics,earthquake,stealthrock,stoneedge": 203, ",defeatist,acrobatics,earthquake,roost,stoneedge": 236, ",defeatist,acrobatics,defog,earthquake,stoneedge": 189, ",defeatist,acrobatics,earthquake,knockoff,stoneedge": 244, ",defeatist,acrobatics,earthquake,stoneedge,uturn": 223}, + "ariados": {"blacksludge,insomnia,megahorn,poisonjab,stickyweb,suckerpunch": 298, "blacksludge,insomnia,megahorn,poisonjab,stickyweb,toxicspikes": 288, "focussash,insomnia,megahorn,poisonjab,stickyweb,toxicspikes": 61, "blacksludge,swarm,megahorn,poisonjab,stickyweb,toxicspikes": 295, "focussash,swarm,megahorn,poisonjab,stickyweb,toxicspikes": 48, "blacksludge,insomnia,megahorn,poisonjab,suckerpunch,toxicspikes": 16, "focussash,swarm,megahorn,poisonjab,stickyweb,suckerpunch": 49, "blacksludge,swarm,megahorn,poisonjab,stickyweb,suckerpunch": 261, "focussash,insomnia,megahorn,poisonjab,stickyweb,suckerpunch": 47, "blacksludge,swarm,megahorn,poisonjab,suckerpunch,toxicspikes": 11}, + "armaldo": {"leftovers,battlearmor,rapidspin,stealthrock,stoneedge,toxic": 49, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,xscissor": 63, "choiceband,battlearmor,earthquake,knockoff,stoneedge,xscissor": 125, "assaultvest,battlearmor,earthquake,knockoff,rapidspin,stoneedge": 65, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,toxic": 12, "leftovers,swiftswim,earthquake,rapidspin,stoneedge,toxic": 2, "choiceband,battlearmor,aquajet,earthquake,stoneedge,xscissor": 86, "assaultvest,battlearmor,knockoff,rapidspin,stoneedge,xscissor": 65, "leftovers,battlearmor,rapidspin,stoneedge,toxic,xscissor": 70, "leftovers,battlearmor,knockoff,rapidspin,stealthrock,stoneedge": 40, "leftovers,battlearmor,aquajet,stoneedge,swordsdance,xscissor": 30, "leftovers,battlearmor,knockoff,rapidspin,stoneedge,toxic": 69, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,toxic": 54, "choiceband,battlearmor,aquajet,earthquake,knockoff,stoneedge": 90, "leftovers,battlearmor,knockoff,stoneedge,swordsdance,xscissor": 84, "leftovers,battlearmor,earthquake,stoneedge,toxic,xscissor": 11, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,xscissor": 6, "assaultvest,battlearmor,earthquake,rapidspin,stoneedge,xscissor": 76, "leftovers,battlearmor,earthquake,stoneedge,swordsdance,xscissor": 94, "leftovers,battlearmor,aquajet,earthquake,stoneedge,swordsdance": 45, "leftovers,battlearmor,knockoff,stealthrock,stoneedge,xscissor": 8, "choiceband,battlearmor,aquajet,knockoff,stoneedge,xscissor": 78, "leftovers,battlearmor,earthquake,rapidspin,stealthrock,stoneedge": 50, "leftovers,battlearmor,earthquake,knockoff,stoneedge,swordsdance": 64, "leftovers,battlearmor,knockoff,stoneedge,toxic,xscissor": 13, "leftovers,battlearmor,stealthrock,stoneedge,toxic,xscissor": 8, "leftovers,battlearmor,earthquake,knockoff,stoneedge,toxic": 14, "leftovers,battlearmor,knockoff,stealthrock,stoneedge,toxic": 6, "leftovers,battlearmor,aquajet,knockoff,stoneedge,swordsdance": 36, "leftovers,swiftswim,earthquake,rapidspin,stealthrock,stoneedge": 3, "leftovers,swiftswim,aquajet,knockoff,stoneedge,swordsdance": 2, "leftovers,swiftswim,earthquake,knockoff,stoneedge,swordsdance": 5, "leftovers,swiftswim,knockoff,rapidspin,stealthrock,stoneedge": 1, "leftovers,swiftswim,rapidspin,stealthrock,stoneedge,toxic": 2, "leftovers,swiftswim,rapidspin,stoneedge,toxic,xscissor": 4, "leftovers,swiftswim,knockoff,stealthrock,stoneedge,xscissor": 1, "assaultvest,swiftswim,earthquake,knockoff,rapidspin,stoneedge": 2, "assaultvest,swiftswim,knockoff,rapidspin,stoneedge,xscissor": 1, "assaultvest,swiftswim,earthquake,rapidspin,stoneedge,xscissor": 3, "leftovers,battlearmor,earthquake,knockoff,stealthrock,stoneedge": 9, "choiceband,swiftswim,aquajet,earthquake,stoneedge,xscissor": 1, "choiceband,swiftswim,earthquake,knockoff,stoneedge,xscissor": 2, "choiceband,swiftswim,aquajet,earthquake,knockoff,stoneedge": 2, "leftovers,swiftswim,knockoff,rapidspin,stoneedge,toxic": 2, "leftovers,swiftswim,aquajet,earthquake,stoneedge,swordsdance": 1, "leftovers,swiftswim,earthquake,stoneedge,swordsdance,xscissor": 1, "choiceband,swiftswim,aquajet,knockoff,stoneedge,xscissor": 1}, + "aromatisse": {"leftovers,aromaveil,moonblast,protect,toxic,wish": 942, "leftovers,aromaveil,calmmind,moonblast,protect,wish": 958}, + "articuno": {"leftovers,pressure,freezedry,roost,substitute,toxic": 680, "leftovers,pressure,freezedry,hurricane,roost,substitute": 337, "leftovers,pressure,freezedry,hurricane,roost,toxic": 322}, + "audino": {"rockyhelmet,regenerator,knockoff,protect,toxic,wish": 203, "leftovers,regenerator,knockoff,protect,toxic,wish": 201}, + "audinomega": {"audinite,regenerator,dazzlinggleam,fireblast,protect,wish": 319, "audinite,regenerator,dazzlinggleam,protect,toxic,wish": 685, "audinite,regenerator,calmmind,dazzlinggleam,protect,wish": 309}, + "aurorus": {"leftovers,snowwarning,ancientpower,blizzard,earthpower,haze": 66, "leftovers,snowwarning,ancientpower,blizzard,earthpower,thunderwave": 62, "leftovers,refrigerate,earthpower,freezedry,haze,hypervoice": 124, "leftovers,refrigerate,earthpower,freezedry,hypervoice,stealthrock": 91, "choicespecs,refrigerate,ancientpower,earthpower,freezedry,hypervoice": 107, "leftovers,refrigerate,earthpower,haze,hypervoice,thunderwave": 27, "leftovers,snowwarning,blizzard,earthpower,freezedry,thunderwave": 72, "leftovers,snowwarning,ancientpower,blizzard,earthpower,stealthrock": 55, "choicespecs,snowwarning,ancientpower,blizzard,earthpower,freezedry": 63, "leftovers,refrigerate,earthpower,hypervoice,stealthrock,thunderwave": 30, "leftovers,snowwarning,blizzard,earthpower,freezedry,haze": 53, "leftovers,snowwarning,blizzard,earthpower,freezedry,stealthrock": 54, "leftovers,snowwarning,blizzard,earthpower,haze,stealthrock": 56, "leftovers,snowwarning,blizzard,earthpower,haze,thunderwave": 54, "leftovers,refrigerate,earthpower,freezedry,hypervoice,thunderwave": 98, "leftovers,refrigerate,ancientpower,earthpower,hypervoice,stealthrock": 39, "leftovers,refrigerate,ancientpower,earthpower,haze,hypervoice": 34, "leftovers,refrigerate,ancientpower,earthpower,hypervoice,thunderwave": 40, "leftovers,snowwarning,blizzard,earthpower,stealthrock,thunderwave": 53, "leftovers,refrigerate,earthpower,haze,hypervoice,stealthrock": 30}, + "avalugg": {"leftovers,sturdy,avalanche,earthquake,rapidspin,recover": 1144, "leftovers,sturdy,avalanche,curse,earthquake,recover": 191}, + "azelf": {"choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn": 227, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic": 210, "assaultvest,levitate,explosion,fireblast,psychic,uturn": 60, "leftovers,levitate,fireblast,psychic,stealthrock,taunt": 23, "leftovers,levitate,explosion,psychic,taunt,uturn": 45, "lifeorb,levitate,explosion,fireblast,psychic,taunt": 56, "lifeorb,levitate,fireblast,knockoff,psychic,taunt": 51, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn": 218, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock": 215, "focussash,levitate,psychic,stealthrock,taunt,uturn": 4, "leftovers,levitate,knockoff,psychic,taunt,uturn": 62, "assaultvest,levitate,fireblast,knockoff,psychic,uturn": 50, "lifeorb,levitate,explosion,knockoff,psychic,stealthrock": 32, "focussash,levitate,fireblast,psychic,stealthrock,taunt": 11, "leftovers,levitate,fireblast,psychic,taunt,uturn": 58, "lifeorb,levitate,explosion,fireblast,psychic,stealthrock": 33, "lifeorb,levitate,explosion,knockoff,psychic,taunt": 36, "leftovers,levitate,psychic,stealthrock,taunt,uturn": 25, "assaultvest,levitate,explosion,knockoff,psychic,uturn": 52, "leftovers,levitate,explosion,psychic,stealthrock,uturn": 29, "leftovers,levitate,fireblast,psychic,stealthrock,uturn": 29, "leftovers,levitate,knockoff,psychic,stealthrock,taunt": 37, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 32, "leftovers,levitate,explosion,psychic,stealthrock,taunt": 24, "focussash,levitate,explosion,psychic,stealthrock,taunt": 7, "lifeorb,levitate,fireblast,knockoff,psychic,stealthrock": 35, "focussash,levitate,explosion,fireblast,psychic,stealthrock": 5, "assaultvest,levitate,explosion,fireblast,knockoff,psychic": 54, "focussash,levitate,fireblast,psychic,stealthrock,uturn": 10, "focussash,levitate,knockoff,psychic,stealthrock,taunt": 6, "focussash,levitate,explosion,psychic,stealthrock,uturn": 7, "focussash,levitate,knockoff,psychic,stealthrock,uturn": 7, "focussash,levitate,explosion,knockoff,psychic,stealthrock": 3, "focussash,levitate,fireblast,knockoff,psychic,stealthrock": 8}, + "azumarill": {"choiceband,hugepower,aquajet,playrough,superpower,waterfall": 493, "sitrusberry,hugepower,aquajet,bellydrum,playrough,waterfall": 472, "choiceband,hugepower,aquajet,knockoff,playrough,waterfall": 519}, + "banette": {"choiceband,frisk,gunkshot,knockoff,shadowclaw,shadowsneak": 40, "lifeorb,cursedbody,gunkshot,knockoff,shadowsneak,willowisp": 48, "lifeorb,frisk,gunkshot,shadowclaw,shadowsneak,thunderwave": 37, "lifeorb,frisk,knockoff,shadowclaw,shadowsneak,willowisp": 38, "lifeorb,frisk,gunkshot,knockoff,shadowsneak,willowisp": 72, "choiceband,cursedbody,gunkshot,knockoff,shadowclaw,shadowsneak": 36, "lifeorb,cursedbody,gunkshot,knockoff,shadowsneak,thunderwave": 50, "lifeorb,frisk,gunkshot,knockoff,shadowsneak,thunderwave": 66, "lifeorb,cursedbody,gunkshot,shadowclaw,shadowsneak,willowisp": 32, "lifeorb,cursedbody,knockoff,shadowclaw,shadowsneak,willowisp": 26, "lifeorb,frisk,gunkshot,shadowclaw,shadowsneak,willowisp": 35, "lifeorb,frisk,knockoff,shadowclaw,shadowsneak,thunderwave": 33, "lifeorb,cursedbody,knockoff,shadowclaw,shadowsneak,thunderwave": 36, "lifeorb,cursedbody,gunkshot,shadowclaw,shadowsneak,thunderwave": 22}, + "banettemega": {"banettite,frisk,destinybond,knockoff,shadowclaw,willowisp": 371, "banettite,frisk,destinybond,knockoff,shadowclaw,taunt": 337, "banettite,frisk,knockoff,shadowclaw,taunt,willowisp": 351, "banettite,frisk,destinybond,shadowclaw,taunt,willowisp": 344}, + "barbaracle": {"whiteherb,toughclaws,lowkick,razorshell,shellsmash,stoneedge": 630, "whiteherb,toughclaws,earthquake,razorshell,shellsmash,stoneedge": 662}, + "basculin": {"choiceband,adaptability,aquajet,crunch,waterfall,zenheadbutt": 551, "choiceband,adaptability,aquajet,superpower,waterfall,zenheadbutt": 530, "choiceband,adaptability,aquajet,crunch,superpower,waterfall": 546}, + "bastiodon": {"airballoon,sturdy,metalburst,rockblast,stealthrock,toxic": 167, "leftovers,sturdy,metalburst,protect,rockblast,toxic": 256, "airballoon,sturdy,roar,rockblast,stealthrock,toxic": 175, "airballoon,sturdy,metalburst,roar,rockblast,toxic": 263, "airballoon,sturdy,metalburst,roar,rockblast,stealthrock": 171, "leftovers,sturdy,protect,rockblast,stealthrock,toxic": 240, "leftovers,sturdy,protect,roar,rockblast,toxic": 274}, + "beartic": {"choiceband,swiftswim,aquajet,iciclecrash,stoneedge,superpower": 446, "lifeorb,swiftswim,aquajet,iciclecrash,superpower,swordsdance": 446, "lifeorb,swiftswim,iciclecrash,stoneedge,superpower,swordsdance": 410}, + "beautifly": {"leftovers,swarm,aircutter,bugbuzz,hiddenpowerground,quiverdance": 1155}, + "beedrill": {"blacksludge,swarm,knockoff,poisonjab,toxicspikes,uturn": 135, "focussash,swarm,knockoff,poisonjab,toxicspikes,uturn": 48, "blacksludge,swarm,defog,knockoff,poisonjab,uturn": 127}, + "beedrillmega": {"beedrillite,swarm,drillrun,poisonjab,protect,uturn": 568, "beedrillite,swarm,knockoff,poisonjab,protect,uturn": 521}, + "beheeyem": {"choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,trick": 137, "lifeorb,analytic,psyshock,recover,signalbeam,trickroom": 125, "lifeorb,analytic,hiddenpowerfighting,psyshock,signalbeam,trickroom": 105, "choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 92, "choicespecs,analytic,psyshock,signalbeam,thunderbolt,trick": 133, "choicespecs,analytic,psychic,signalbeam,thunderbolt,trick": 133, "lifeorb,analytic,psyshock,recover,signalbeam,thunderbolt": 109, "lifeorb,analytic,psychic,recover,signalbeam,trickroom": 113, "lifeorb,analytic,psyshock,signalbeam,thunderbolt,trickroom": 113, "choicespecs,analytic,hiddenpowerfighting,psyshock,signalbeam,thunderbolt": 73, "lifeorb,analytic,psychic,signalbeam,thunderbolt,trickroom": 106, "lifeorb,analytic,hiddenpowerfighting,psychic,signalbeam,trickroom": 101, "lifeorb,analytic,hiddenpowerfighting,psychic,recover,signalbeam": 111, "lifeorb,analytic,psychic,recover,signalbeam,thunderbolt": 97, "choicespecs,analytic,hiddenpowerfighting,psyshock,signalbeam,trick": 125, "lifeorb,analytic,hiddenpowerfighting,psyshock,recover,signalbeam": 107}, + "bellossom": {"leftovers,chlorophyll,gigadrain,hiddenpowerrock,sleeppowder,synthesis": 150, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,moonblast,synthesis": 164, "leftovers,chlorophyll,gigadrain,moonblast,sleeppowder,synthesis": 134, "leftovers,chlorophyll,gigadrain,sleeppowder,synthesis,toxic": 144, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,sleeppowder,synthesis": 148, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,synthesis,toxic": 168, "leftovers,chlorophyll,gigadrain,moonblast,synthesis,toxic": 141, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,moonblast,synthesis": 157, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,synthesis,toxic": 143}, + "bibarel": {"leftovers,simple,curse,quickattack,return,waterfall": 636, "lifeorb,simple,quickattack,return,waterfall,workup": 663}, + "bisharp": {"lifeorb,defiant,ironhead,knockoff,suckerpunch,swordsdance": 722, "blackglasses,defiant,ironhead,knockoff,pursuit,suckerpunch": 715}, + "blastoise": {"leftovers,torrent,icebeam,protect,scald,toxic": 78, "leftovers,torrent,icebeam,rapidspin,roar,scald": 52, "leftovers,torrent,haze,protect,scald,toxic": 79, "leftovers,torrent,protect,rapidspin,scald,toxic": 59, "leftovers,torrent,icebeam,rapidspin,scald,toxic": 43, "leftovers,torrent,rapidspin,roar,scald,toxic": 52, "leftovers,torrent,icebeam,roar,scald,toxic": 26}, + "blastoisemega": {"blastoisinite,raindish,aurasphere,darkpulse,icebeam,scald": 133, "blastoisinite,raindish,aurasphere,icebeam,rapidspin,scald": 365, "blastoisinite,raindish,aurasphere,darkpulse,rapidspin,scald": 353, "blastoisinite,raindish,darkpulse,icebeam,rapidspin,scald": 328}, + "blaziken": {"lifeorb,speedboost,flareblitz,highjumpkick,stoneedge,swordsdance": 79, "lifeorb,speedboost,fireblast,highjumpkick,protect,stoneedge": 73, "lifeorb,speedboost,flareblitz,highjumpkick,knockoff,swordsdance": 97, "lifeorb,speedboost,fireblast,highjumpkick,knockoff,protect": 68, "lifeorb,speedboost,fireblast,highjumpkick,knockoff,stoneedge": 54}, + "blazikenmega": {"blazikenite,speedboost,flareblitz,highjumpkick,knockoff,swordsdance": 430, "blazikenite,speedboost,flareblitz,highjumpkick,protect,swordsdance": 396, "blazikenite,speedboost,flareblitz,highjumpkick,stoneedge,swordsdance": 392}, + "blissey": {"leftovers,naturalcure,protect,seismictoss,toxic,wish": 896, "leftovers,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 276, "leftovers,naturalcure,seismictoss,softboiled,thunderwave,toxic": 350, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,toxic": 244}, + "bouffalant": {"leftovers,sapsipper,earthquake,headcharge,superpower,swordsdance": 184, "choiceband,reckless,earthquake,headcharge,stoneedge,superpower": 272, "choiceband,sapsipper,earthquake,headcharge,stoneedge,superpower": 309, "leftovers,reckless,earthquake,headcharge,superpower,swordsdance": 186, "leftovers,reckless,headcharge,stoneedge,superpower,swordsdance": 177, "leftovers,sapsipper,earthquake,headcharge,stoneedge,swordsdance": 187, "leftovers,reckless,earthquake,headcharge,stoneedge,swordsdance": 181, "leftovers,sapsipper,headcharge,stoneedge,superpower,swordsdance": 191}, + "braviary": {"choicescarf,defiant,bravebird,return,superpower,uturn": 324, "leftovers,defiant,bravebird,bulkup,roost,superpower": 624, "choiceband,defiant,bravebird,return,superpower,uturn": 324}, + "breloom": {"lifeorb,technician,bulletseed,machpunch,rocktomb,swordsdance": 696, "lifeorb,technician,bulletseed,machpunch,spore,swordsdance": 331, "lifeorb,technician,bulletseed,machpunch,rocktomb,spore": 344}, + "bronzong": {"leftovers,levitate,earthquake,ironhead,psychic,stealthrock": 222, "leftovers,levitate,earthquake,ironhead,psychic,toxic": 316, "leftovers,levitate,earthquake,ironhead,protect,toxic": 365, "leftovers,levitate,earthquake,ironhead,stealthrock,toxic": 109, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 99, "leftovers,levitate,earthquake,protect,psychic,toxic": 353}, + "butterfree": {"leftovers,tintedlens,bugbuzz,psychic,quiverdance,sleeppowder": 1178}, + "cacturne": {"lifeorb,waterabsorb,focusblast,gigadrain,spikes,suckerpunch": 198, "lifeorb,waterabsorb,darkpulse,focusblast,gigadrain,suckerpunch": 213, "lifeorb,waterabsorb,drainpunch,seedbomb,suckerpunch,swordsdance": 540, "lifeorb,waterabsorb,darkpulse,gigadrain,spikes,suckerpunch": 173}, + "camerupt": {"leftovers,solidrock,earthquake,lavaplume,roar,toxic": 111, "leftovers,solidrock,earthquake,lavaplume,stealthrock,toxic": 49, "lifeorb,solidrock,earthquake,fireblast,rockpolish,stoneedge": 238, "leftovers,solidrock,earthquake,lavaplume,roar,stealthrock": 65}, + "cameruptmega": {"cameruptite,solidrock,earthpower,fireblast,stealthrock,toxic": 234, "cameruptite,solidrock,ancientpower,earthpower,fireblast,willowisp": 311, "cameruptite,solidrock,earthpower,fireblast,stealthrock,willowisp": 203, "cameruptite,solidrock,ancientpower,earthpower,fireblast,toxic": 308, "cameruptite,solidrock,ancientpower,earthpower,fireblast,stealthrock": 182}, + "carbink": {"lightclay,sturdy,lightscreen,moonblast,powergem,reflect": 376, "lightclay,sturdy,lightscreen,moonblast,reflect,toxic": 402, "leftovers,sturdy,moonblast,powergem,stealthrock,toxic": 428, "lightclay,sturdy,lightscreen,moonblast,reflect,stealthrock": 283}, + "carnivine": {"leftovers,levitate,knockoff,powerwhip,sleeppowder,synthesis": 423, "leftovers,levitate,knockoff,powerwhip,synthesis,toxic": 482, "leftovers,levitate,powerwhip,sleeppowder,synthesis,toxic": 444}, + "carracosta": {"whiteherb,solidrock,earthquake,shellsmash,stoneedge,waterfall": 204, "weaknesspolicy,solidrock,aquajet,shellsmash,stoneedge,waterfall": 217, "whiteherb,sturdy,earthquake,shellsmash,stoneedge,waterfall": 220, "whiteherb,sturdy,icebeam,shellsmash,stoneedge,waterfall": 225, "whiteherb,sturdy,aquajet,shellsmash,stoneedge,waterfall": 221, "whiteherb,solidrock,icebeam,shellsmash,stoneedge,waterfall": 224, "whiteherb,swiftswim,earthquake,shellsmash,stoneedge,waterfall": 3, "whiteherb,swiftswim,icebeam,shellsmash,stoneedge,waterfall": 4, "whiteherb,swiftswim,aquajet,shellsmash,stoneedge,waterfall": 3}, + "castform": {"leftovers,forecast,icebeam,return,scald,thunderwave": 286, "assaultvest,forecast,fireblast,icebeam,return,scald": 289, "leftovers,forecast,fireblast,return,scald,thunderwave": 287, "leftovers,forecast,return,scald,thunderbolt,thunderwave": 285, "assaultvest,forecast,fireblast,return,scald,thunderbolt": 271, "assaultvest,forecast,icebeam,return,scald,thunderbolt": 260}, + "celebi": {"leftovers,naturalcure,leafstorm,recover,thunderwave,uturn": 101, "lifeorb,naturalcure,earthpower,gigadrain,nastyplot,psychic": 117, "leftovers,naturalcure,leafstorm,nastyplot,psychic,recover": 375, "leftovers,naturalcure,leafstorm,psychic,recover,thunderwave": 92, "leftovers,naturalcure,leafstorm,psychic,recover,stealthrock": 55, "choicespecs,naturalcure,earthpower,gigadrain,psychic,uturn": 100, "leftovers,naturalcure,leafstorm,recover,stealthrock,uturn": 73, "leftovers,naturalcure,leafstorm,recover,stealthrock,thunderwave": 77, "choicespecs,naturalcure,earthpower,leafstorm,psychic,uturn": 109, "lifeorb,naturalcure,earthpower,leafstorm,nastyplot,psychic": 106, "leftovers,naturalcure,leafstorm,psychic,recover,uturn": 71}, + "chandelure": {"choicescarf,flashfire,energyball,fireblast,shadowball,trick": 723, "leftovers,flashfire,calmmind,fireblast,shadowball,substitute": 347, "leftovers,flamebody,calmmind,fireblast,shadowball,substitute": 305}, + "chansey": {"eviolite,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 421, "eviolite,naturalcure,seismictoss,softboiled,thunderwave,toxic": 420, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,toxic": 349, "eviolite,naturalcure,seismictoss,softboiled,toxic,wish": 504}, + "charizard": {"leftovers,blaze,airslash,earthquake,fireblast,roost": 164, "leftovers,blaze,airslash,fireblast,roost,willowisp": 155}, + "charizardmegax": {"charizarditex,blaze,dragonclaw,dragondance,earthquake,flareblitz": 285, "charizarditex,blaze,dragonclaw,dragondance,flareblitz,roost": 276}, + "charizardmegay": {"charizarditey,blaze,airslash,fireblast,roost,solarbeam": 262, "charizarditey,blaze,dragonpulse,fireblast,roost,solarbeam": 247}, + "chatot": {"lifeorb,tangledfeet,boomburst,chatter,heatwave,nastyplot": 314, "choicespecs,tangledfeet,boomburst,chatter,hiddenpowerground,uturn": 216, "leftovers,tangledfeet,boomburst,chatter,nastyplot,substitute": 328, "choicespecs,tangledfeet,boomburst,chatter,heatwave,uturn": 215, "choicespecs,tangledfeet,boomburst,chatter,heatwave,hiddenpowerground": 222}, + "cherrim": {"leftovers,flowergift,energyball,leechseed,morningsun,toxic": 232, "lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerground,morningsun": 114, "lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerrock,morningsun": 126, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerfire": 113, "leftovers,flowergift,aromatherapy,energyball,morningsun,toxic": 209, "lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerfire,morningsun": 134, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerground": 117, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerrock": 116, "leftovers,flowergift,energyball,hiddenpowerground,morningsun,toxic": 217}, + "chesnaught": {"leftovers,bulletproof,drainpunch,synthesis,toxic,woodhammer": 116, "leftovers,bulletproof,bulkup,drainpunch,synthesis,woodhammer": 219, "leftovers,bulletproof,drainpunch,leechseed,spikyshield,woodhammer": 759, "rockyhelmet,bulletproof,drainpunch,synthesis,toxic,woodhammer": 133, "leftovers,bulletproof,drainpunch,spikes,synthesis,woodhammer": 102, "rockyhelmet,bulletproof,drainpunch,spikes,synthesis,woodhammer": 103}, + "chimecho": {"leftovers,levitate,knockoff,psychic,recover,toxic": 499, "leftovers,levitate,calmmind,psyshock,recover,signalbeam": 439, "leftovers,levitate,calmmind,psychic,recover,signalbeam": 419, "leftovers,levitate,healbell,psychic,recover,toxic": 401}, + "cinccino": {"choiceband,skilllink,knockoff,rockblast,tailslap,uturn": 366, "choiceband,skilllink,bulletseed,knockoff,rockblast,tailslap": 561, "choiceband,skilllink,bulletseed,knockoff,tailslap,uturn": 355, "choiceband,skilllink,bulletseed,rockblast,tailslap,uturn": 380}, + "clawitzer": {"choicespecs,megalauncher,darkpulse,icebeam,scald,uturn": 161, "choicespecs,megalauncher,aurasphere,darkpulse,icebeam,scald": 289, "choicespecs,megalauncher,aurasphere,icebeam,uturn,waterpulse": 189, "choicespecs,megalauncher,aurasphere,darkpulse,icebeam,waterpulse": 299, "choicespecs,megalauncher,aurasphere,darkpulse,uturn,waterpulse": 160, "choicespecs,megalauncher,aurasphere,icebeam,scald,uturn": 164, "choicespecs,megalauncher,darkpulse,icebeam,uturn,waterpulse": 183, "choicespecs,megalauncher,aurasphere,darkpulse,scald,uturn": 157}, + "claydol": {"leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 218, "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 204, "leftovers,levitate,earthquake,psychic,rapidspin,stealthrock": 170, "leftovers,levitate,earthquake,rapidspin,stealthrock,toxic": 164, "leftovers,levitate,earthquake,icebeam,rapidspin,stealthrock": 152, "assaultvest,levitate,earthquake,icebeam,psychic,rapidspin": 207, "leftovers,levitate,earthquake,icebeam,psychic,toxic": 52, "leftovers,levitate,earthquake,icebeam,psychic,stealthrock": 33, "leftovers,levitate,earthquake,icebeam,stealthrock,toxic": 32, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 29}, + "clefable": {"lifeorb,magicguard,calmmind,fireblast,moonblast,softboiled": 464, "leftovers,unaware,calmmind,fireblast,moonblast,softboiled": 490, "lifeorb,magicguard,knockoff,moonblast,softboiled,stealthrock": 55, "leftovers,unaware,knockoff,moonblast,softboiled,thunderwave": 89, "leftovers,unaware,aromatherapy,moonblast,softboiled,thunderwave": 93, "leftovers,unaware,knockoff,moonblast,softboiled,stealthrock": 67, "leftovers,unaware,aromatherapy,knockoff,moonblast,softboiled": 98, "leftovers,unaware,aromatherapy,moonblast,softboiled,stealthrock": 69, "lifeorb,magicguard,aromatherapy,moonblast,softboiled,stealthrock": 61, "lifeorb,magicguard,aromatherapy,knockoff,moonblast,softboiled": 95, "leftovers,unaware,moonblast,softboiled,stealthrock,thunderwave": 63, "lifeorb,magicguard,aromatherapy,moonblast,softboiled,thunderwave": 80, "lifeorb,magicguard,knockoff,moonblast,softboiled,thunderwave": 96, "lifeorb,magicguard,moonblast,softboiled,stealthrock,thunderwave": 65}, + "cloyster": {"whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash": 1204}, + "cobalion": {"leftovers,justified,closecombat,ironhead,stoneedge,swordsdance": 775, "leftovers,justified,closecombat,ironhead,stealthrock,stoneedge": 581}, + "cofagrigus": {"leftovers,mummy,hiddenpowerfighting,nastyplot,shadowball,trickroom": 963, "leftovers,mummy,painsplit,shadowball,toxicspikes,willowisp": 232, "leftovers,mummy,haze,shadowball,toxicspikes,willowisp": 245, "leftovers,mummy,haze,painsplit,shadowball,toxicspikes": 214, "leftovers,mummy,haze,painsplit,shadowball,willowisp": 284}, + "conkeldurr": {"lifeorb,ironfist,bulkup,drainpunch,knockoff,machpunch": 917, "flameorb,guts,drainpunch,facade,knockoff,machpunch": 890}, + "corsola": {"leftovers,regenerator,powergem,recover,scald,stealthrock": 373, "leftovers,regenerator,recover,scald,stealthrock,toxic": 406, "leftovers,regenerator,powergem,recover,scald,toxic": 532}, + "cradily": {"leftovers,stormdrain,gigadrain,recover,stoneedge,toxic": 244, "leftovers,stormdrain,earthpower,gigadrain,recover,stoneedge": 239, "leftovers,stormdrain,curse,earthquake,recover,stoneedge": 187, "leftovers,stormdrain,earthquake,recover,stoneedge,swordsdance": 169, "leftovers,stormdrain,gigadrain,recover,stealthrock,stoneedge": 205, "leftovers,stormdrain,recover,seedbomb,stoneedge,swordsdance": 182, "leftovers,stormdrain,curse,recover,seedbomb,stoneedge": 163}, + "crawdaunt": {"lifeorb,adaptability,crabhammer,dragondance,knockoff,superpower": 423, "choiceband,adaptability,aquajet,crabhammer,knockoff,superpower": 386, "lifeorb,adaptability,aquajet,crabhammer,dragondance,knockoff": 390}, + "cresselia": {"leftovers,levitate,moonblast,moonlight,psychic,thunderwave": 206, "leftovers,levitate,calmmind,moonblast,moonlight,psyshock": 875, "rockyhelmet,levitate,moonblast,moonlight,psychic,thunderwave": 211, "leftovers,levitate,moonblast,moonlight,psychic,toxic": 248, "rockyhelmet,levitate,moonblast,moonlight,psychic,toxic": 212}, + "crobat": {"blacksludge,infiltrator,bravebird,roost,taunt,uturn": 122, "blacksludge,infiltrator,bravebird,defog,roost,toxic": 103, "blacksludge,infiltrator,bravebird,defog,roost,taunt": 98, "blacksludge,infiltrator,bravebird,roost,superfang,toxic": 132, "blacksludge,infiltrator,bravebird,roost,superfang,taunt": 119, "blacksludge,infiltrator,bravebird,roost,superfang,uturn": 128, "blacksludge,infiltrator,bravebird,defog,roost,superfang": 95, "blacksludge,infiltrator,bravebird,roost,toxic,uturn": 129, "blacksludge,infiltrator,bravebird,defog,roost,uturn": 128, "blacksludge,infiltrator,bravebird,roost,taunt,toxic": 131}, + "crustle": {"whiteherb,sturdy,earthquake,shellsmash,stoneedge,xscissor": 727, "whiteherb,sturdy,earthquake,knockoff,shellsmash,stoneedge": 786}, + "cryogonal": {"leftovers,levitate,freezedry,hiddenpowerground,rapidspin,recover": 369, "leftovers,levitate,freezedry,haze,rapidspin,recover": 408, "leftovers,levitate,freezedry,rapidspin,recover,toxic": 389, "leftovers,levitate,freezedry,haze,recover,toxic": 53, "leftovers,levitate,freezedry,hiddenpowerground,recover,toxic": 47, "leftovers,levitate,freezedry,haze,hiddenpowerground,recover": 43}, + "darkrai": {"lifeorb,baddreams,darkpulse,focusblast,nastyplot,sludgebomb": 542, "leftovers,baddreams,darkpulse,nastyplot,sludgebomb,substitute": 542, "lifeorb,baddreams,darkpulse,darkvoid,nastyplot,sludgebomb": 510}, + "darmanitan": {"lifeorb,sheerforce,earthquake,flareblitz,superpower,uturn": 311, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,superpower": 411, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,uturn": 308, "lifeorb,sheerforce,flareblitz,rockslide,superpower,uturn": 334}, + "dedenne": {"sitrusberry,cheekpouch,protect,recycle,thunderbolt,toxic": 841, "sitrusberry,cheekpouch,recycle,superfang,thunderbolt,toxic": 286, "sitrusberry,cheekpouch,recycle,substitute,thunderbolt,toxic": 293, "sitrusberry,cheekpouch,recycle,thunderbolt,toxic,uturn": 294}, + "delcatty": {"leftovers,wonderskin,doubleedge,healbell,suckerpunch,thunderwave": 236, "silkscarf,wonderskin,doubleedge,fakeout,healbell,thunderwave": 215, "silkscarf,wonderskin,doubleedge,fakeout,healbell,suckerpunch": 136, "leftovers,wonderskin,doubleedge,healbell,suckerpunch,toxic": 205, "silkscarf,wonderskin,doubleedge,fakeout,suckerpunch,toxic": 275, "silkscarf,wonderskin,doubleedge,fakeout,suckerpunch,thunderwave": 248, "silkscarf,wonderskin,doubleedge,fakeout,healbell,toxic": 196}, + "delibird": {"leftovers,vitalspirit,destinybond,freezedry,rapidspin,spikes": 568, "leftovers,insomnia,destinybond,freezedry,rapidspin,spikes": 604, "focussash,vitalspirit,destinybond,freezedry,rapidspin,spikes": 103, "focussash,insomnia,destinybond,freezedry,rapidspin,spikes": 112}, + "delphox": {"choicescarf,blaze,dazzlinggleam,fireblast,psyshock,switcheroo": 280, "choicescarf,blaze,fireblast,grassknot,psyshock,switcheroo": 278, "lifeorb,blaze,calmmind,fireblast,grassknot,psyshock": 265, "choicescarf,blaze,dazzlinggleam,fireblast,grassknot,psyshock": 111, "lifeorb,blaze,calmmind,dazzlinggleam,fireblast,psyshock": 274, "choicespecs,blaze,dazzlinggleam,fireblast,grassknot,psyshock": 106}, + "deoxys": {"lifeorb,pressure,icebeam,knockoff,psychoboost,superpower": 438, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower": 417}, + "deoxysattack": {"lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower": 470, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower": 409}, + "deoxysdefense": {"rockyhelmet,pressure,recover,seismictoss,taunt,toxic": 28, "leftovers,pressure,nastyplot,psychic,recover,signalbeam": 127, "leftovers,pressure,focusblast,nastyplot,psychic,recover": 111, "leftovers,pressure,recover,seismictoss,stealthrock,taunt": 21, "leftovers,pressure,recover,seismictoss,spikes,toxic": 18, "leftovers,pressure,nastyplot,psyshock,recover,signalbeam": 119, "leftovers,pressure,knockoff,recover,seismictoss,spikes": 33, "rockyhelmet,pressure,knockoff,recover,seismictoss,spikes": 39, "rockyhelmet,pressure,knockoff,recover,seismictoss,taunt": 27, "leftovers,pressure,knockoff,recover,seismictoss,toxic": 28, "rockyhelmet,pressure,recover,seismictoss,stealthrock,taunt": 25, "leftovers,pressure,focusblast,nastyplot,psyshock,recover": 109, "rockyhelmet,pressure,recover,seismictoss,spikes,toxic": 25, "rockyhelmet,pressure,recover,seismictoss,spikes,taunt": 22, "rockyhelmet,pressure,knockoff,recover,seismictoss,stealthrock": 24, "rockyhelmet,pressure,knockoff,recover,seismictoss,toxic": 18, "leftovers,pressure,recover,seismictoss,spikes,taunt": 21, "leftovers,pressure,recover,seismictoss,stealthrock,toxic": 14, "rockyhelmet,pressure,recover,seismictoss,stealthrock,toxic": 16, "leftovers,pressure,recover,seismictoss,taunt,toxic": 35, "rockyhelmet,pressure,recover,seismictoss,spikes,stealthrock": 11, "leftovers,pressure,recover,seismictoss,spikes,stealthrock": 17, "leftovers,pressure,knockoff,recover,seismictoss,stealthrock": 30, "leftovers,pressure,knockoff,recover,seismictoss,taunt": 29}, + "deoxysspeed": {"lifeorb,pressure,knockoff,psychoboost,spikes,superpower": 47, "lifeorb,pressure,darkpulse,focusblast,nastyplot,psychoboost": 437, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt": 27, "leftovers,pressure,psychoboost,spikes,superpower,taunt": 40, "focussash,pressure,psychoboost,stealthrock,superpower,taunt": 10, "focussash,pressure,psychoboost,spikes,stealthrock,taunt": 11, "leftovers,pressure,knockoff,psychoboost,stealthrock,taunt": 41, "leftovers,pressure,knockoff,psychoboost,spikes,taunt": 41, "focussash,pressure,knockoff,psychoboost,spikes,taunt": 21, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower": 38, "focussash,pressure,knockoff,psychoboost,stealthrock,taunt": 3, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt": 57, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower": 32, "focussash,pressure,knockoff,psychoboost,spikes,stealthrock": 10, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower": 9, "focussash,pressure,psychoboost,spikes,superpower,taunt": 13, "leftovers,pressure,knockoff,psychoboost,spikes,stealthrock": 21, "focussash,pressure,knockoff,psychoboost,spikes,superpower": 12, "leftovers,pressure,psychoboost,spikes,stealthrock,taunt": 36, "focussash,pressure,psychoboost,spikes,stealthrock,superpower": 7}, + "dewgong": {"leftovers,thickfat,encore,icebeam,surf,toxic": 616, "leftovers,thickfat,icebeam,protect,surf,toxic": 619}, + "dialga": {"assaultvest,pressure,dracometeor,dragontail,fireblast,flashcannon": 416, "leftovers,pressure,dracometeor,fireblast,flashcannon,stealthrock": 345, "leftovers,pressure,dracometeor,fireblast,flashcannon,toxic": 402, "choicescarf,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 245, "choicespecs,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 213}, + "diancie": {"leftovers,clearbody,diamondstorm,earthpower,healbell,moonblast": 70, "leftovers,clearbody,diamondstorm,healbell,moonblast,toxic": 79, "leftovers,clearbody,diamondstorm,moonblast,stealthrock,toxic": 61, "leftovers,clearbody,diamondstorm,earthpower,moonblast,stealthrock": 46, "leftovers,clearbody,diamondstorm,earthpower,moonblast,toxic": 79, "leftovers,clearbody,diamondstorm,healbell,moonblast,stealthrock": 44}, + "dianciemega": {"diancite,clearbody,diamondstorm,earthpower,moonblast,protect": 576, "diancite,clearbody,calmmind,diamondstorm,earthpower,moonblast": 540}, + "diggersby": {"choiceband,hugepower,earthquake,foulplay,quickattack,return": 203, "choiceband,hugepower,earthquake,quickattack,return,uturn": 219, "lifeorb,hugepower,earthquake,quickattack,return,swordsdance": 93, "choiceband,hugepower,earthquake,foulplay,return,uturn": 116, "choicescarf,hugepower,earthquake,foulplay,return,uturn": 117, "lifeorb,hugepower,agility,earthquake,return,swordsdance": 226, "lifeorb,hugepower,agility,earthquake,knockoff,return": 159, "lifeorb,hugepower,earthquake,knockoff,return,swordsdance": 109}, + "ditto": {"choicescarf,imposter,transform": 1683}, + "dodrio": {"lifeorb,earlybird,bravebird,knockoff,return,roost": 650, "choiceband,earlybird,bravebird,doubleedge,knockoff,quickattack": 312, "choiceband,earlybird,bravebird,knockoff,quickattack,return": 293}, + "donphan": {"leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 38, "leftovers,sturdy,earthquake,knockoff,rapidspin,toxic": 227, "leftovers,sturdy,earthquake,rapidspin,stealthrock,toxic": 152, "leftovers,sturdy,earthquake,rapidspin,stealthrock,stoneedge": 186, "assaultvest,sturdy,earthquake,knockoff,rapidspin,stoneedge": 210, "leftovers,sturdy,earthquake,knockoff,stealthrock,stoneedge": 32, "leftovers,sturdy,earthquake,knockoff,stoneedge,toxic": 73, "leftovers,sturdy,earthquake,rapidspin,stoneedge,toxic": 232, "leftovers,sturdy,earthquake,knockoff,rapidspin,stealthrock": 212, "leftovers,sturdy,earthquake,knockoff,stealthrock,toxic": 36}, + "doublade": {"eviolite,noguard,ironhead,shadowclaw,shadowsneak,swordsdance": 643, "eviolite,noguard,ironhead,sacredsword,shadowsneak,swordsdance": 715}, + "dragalge": {"blacksludge,adaptability,dracometeor,focusblast,sludgewave,toxicspikes": 755, "choicespecs,adaptability,dracometeor,dragonpulse,focusblast,sludgewave": 755}, + "dragonite": {"lumberry,multiscale,dragondance,earthquake,ironhead,outrage": 670, "lumberry,multiscale,dragondance,earthquake,outrage,roost": 690}, + "drapion": {"blacksludge,battlearmor,knockoff,poisonjab,taunt,toxicspikes": 131, "lifeorb,battlearmor,earthquake,knockoff,poisonjab,swordsdance": 289, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,whirlwind": 156, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,taunt": 127, "choiceband,battlearmor,earthquake,knockoff,poisonjab,pursuit": 291, "blacksludge,battlearmor,knockoff,poisonjab,taunt,whirlwind": 147, "blacksludge,battlearmor,knockoff,poisonjab,toxicspikes,whirlwind": 131, "choiceband,battlearmor,aquatail,earthquake,knockoff,poisonjab": 280, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,toxicspikes": 140}, + "drifblim": {"sitrusberry,unburden,acrobatics,hex,substitute,willowisp": 644, "sitrusberry,unburden,acrobatics,destinybond,shadowball,willowisp": 114, "sitrusberry,unburden,acrobatics,destinybond,shadowball,substitute": 136, "sitrusberry,unburden,acrobatics,defog,shadowball,willowisp": 128, "sitrusberry,unburden,acrobatics,defog,destinybond,shadowball": 115, "sitrusberry,unburden,acrobatics,shadowball,substitute,willowisp": 139}, + "druddigon": {"rockyhelmet,roughskin,dragontail,glare,outrage,suckerpunch": 51, "rockyhelmet,roughskin,dragontail,glare,gunkshot,outrage": 42, "choiceband,roughskin,earthquake,gunkshot,outrage,suckerpunch": 46, "rockyhelmet,roughskin,earthquake,glare,outrage,stealthrock": 33, "rockyhelmet,roughskin,earthquake,gunkshot,outrage,stealthrock": 25, "lifeorb,sheerforce,firepunch,glare,gunkshot,outrage": 283, "lifeorb,sheerforce,glare,gunkshot,outrage,suckerpunch": 265, "rockyhelmet,roughskin,gunkshot,outrage,stealthrock,suckerpunch": 38, "rockyhelmet,roughskin,glare,gunkshot,outrage,stealthrock": 33, "lifeorb,sheerforce,firepunch,gunkshot,outrage,suckerpunch": 275, "rockyhelmet,roughskin,dragontail,earthquake,glare,outrage": 48, "rockyhelmet,roughskin,earthquake,glare,outrage,suckerpunch": 34, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,suckerpunch": 33, "rockyhelmet,roughskin,glare,gunkshot,outrage,suckerpunch": 48, "rockyhelmet,roughskin,dragontail,outrage,stealthrock,suckerpunch": 34, "assaultvest,roughskin,dragontail,gunkshot,outrage,suckerpunch": 44, "rockyhelmet,roughskin,dragontail,glare,outrage,stealthrock": 40, "assaultvest,roughskin,dragontail,earthquake,gunkshot,outrage": 40, "rockyhelmet,roughskin,dragontail,gunkshot,outrage,stealthrock": 20, "rockyhelmet,roughskin,dragontail,earthquake,outrage,stealthrock": 35, "assaultvest,roughskin,dragontail,earthquake,outrage,suckerpunch": 48, "rockyhelmet,roughskin,glare,outrage,stealthrock,suckerpunch": 33, "rockyhelmet,roughskin,earthquake,glare,gunkshot,outrage": 44}, + "dugtrio": {"lifeorb,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 548, "choiceband,arenatrap,earthquake,memento,stoneedge,suckerpunch": 801, "focussash,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 84}, + "dunsparce": {"leftovers,serenegrace,bodyslam,coil,earthquake,roost": 841, "leftovers,serenegrace,earthquake,glare,headbutt,roost": 817}, + "durant": {"lifeorb,hustle,honeclaws,ironhead,superpower,xscissor": 855, "lifeorb,hustle,honeclaws,ironhead,rockslide,superpower": 890}, + "dusknoir": {"leftovers,frisk,earthquake,icepunch,shadowsneak,toxic": 47, "leftovers,pressure,earthquake,protect,shadowsneak,toxic": 516, "leftovers,frisk,earthquake,protect,shadowsneak,toxic": 491, "leftovers,pressure,earthquake,haze,painsplit,shadowsneak": 44, "leftovers,pressure,earthquake,icepunch,shadowsneak,willowisp": 73, "leftovers,pressure,earthquake,painsplit,shadowsneak,willowisp": 50, "leftovers,pressure,earthquake,painsplit,shadowsneak,toxic": 58, "leftovers,frisk,earthquake,haze,shadowsneak,toxic": 53, "leftovers,frisk,earthquake,haze,icepunch,shadowsneak": 52, "leftovers,pressure,earthquake,haze,shadowsneak,toxic": 56, "leftovers,frisk,earthquake,icepunch,shadowsneak,willowisp": 57, "leftovers,pressure,earthquake,icepunch,shadowsneak,toxic": 53, "leftovers,pressure,earthquake,icepunch,painsplit,shadowsneak": 51, "leftovers,frisk,earthquake,painsplit,shadowsneak,toxic": 63, "leftovers,frisk,earthquake,painsplit,shadowsneak,willowisp": 58, "leftovers,frisk,earthquake,haze,painsplit,shadowsneak": 46, "leftovers,frisk,earthquake,icepunch,painsplit,shadowsneak": 53, "leftovers,pressure,earthquake,haze,icepunch,shadowsneak": 43, "leftovers,frisk,earthquake,haze,shadowsneak,willowisp": 60, "leftovers,pressure,earthquake,haze,shadowsneak,willowisp": 37}, + "dustox": {"blacksludge,shielddust,bugbuzz,quiverdance,roost,sludgebomb": 387, "blacksludge,shielddust,bugbuzz,defog,roost,uturn": 293, "blacksludge,shielddust,hiddenpowerground,quiverdance,roost,sludgebomb": 365, "blacksludge,shielddust,bugbuzz,defog,roost,toxic": 305, "blacksludge,shielddust,bugbuzz,roost,toxic,uturn": 70}, + "eelektross": {"assaultvest,levitate,discharge,gigadrain,knockoff,superpower": 80, "assaultvest,levitate,discharge,flamethrower,superpower,uturn": 81, "assaultvest,levitate,discharge,hiddenpowerice,superpower,uturn": 78, "assaultvest,levitate,discharge,flamethrower,gigadrain,superpower": 94, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,superpower": 77, "assaultvest,levitate,discharge,flamethrower,knockoff,superpower": 104, "assaultvest,levitate,discharge,flamethrower,gigadrain,uturn": 92, "assaultvest,levitate,discharge,knockoff,superpower,uturn": 74, "assaultvest,levitate,discharge,hiddenpowerice,knockoff,superpower": 88, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,uturn": 66, "assaultvest,levitate,discharge,gigadrain,knockoff,uturn": 78, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,uturn": 77, "assaultvest,levitate,discharge,flamethrower,gigadrain,hiddenpowerice": 83, "assaultvest,levitate,discharge,hiddenpowerice,knockoff,uturn": 81, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,superpower": 105, "assaultvest,levitate,discharge,flamethrower,knockoff,uturn": 89, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,knockoff": 86, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,knockoff": 97, "assaultvest,levitate,discharge,gigadrain,superpower,uturn": 105, "assaultvest,levitate,discharge,flamethrower,gigadrain,knockoff": 90}, + "electivire": {"lifeorb,motordrive,earthquake,flamethrower,icepunch,wildcharge": 290, "choiceband,motordrive,crosschop,earthquake,icepunch,wildcharge": 131, "expertbelt,motordrive,flamethrower,icepunch,voltswitch,wildcharge": 277, "expertbelt,motordrive,crosschop,icepunch,voltswitch,wildcharge": 286, "lifeorb,motordrive,crosschop,flamethrower,icepunch,wildcharge": 286, "expertbelt,motordrive,earthquake,icepunch,voltswitch,wildcharge": 282, "choicescarf,motordrive,crosschop,earthquake,icepunch,wildcharge": 171}, + "electrode": {"leftovers,aftermath,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 216, "lifeorb,static,hiddenpowerice,taunt,thunderbolt,voltswitch": 70, "lifeorb,aftermath,hiddenpowerice,taunt,thunderbolt,voltswitch": 73, "leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 232, "lifeorb,static,hiddenpowerice,signalbeam,taunt,thunderbolt": 67, "lifeorb,static,foulplay,hiddenpowerice,signalbeam,thunderbolt": 86, "lifeorb,static,foulplay,hiddenpowerice,taunt,thunderbolt": 79, "leftovers,aftermath,hiddenpowerice,thunderbolt,toxic,voltswitch": 218, "expertbelt,aftermath,foulplay,hiddenpowerice,thunderbolt,voltswitch": 75, "leftovers,static,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 241, "expertbelt,static,foulplay,hiddenpowerice,thunderbolt,voltswitch": 76, "choicespecs,static,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 64, "lifeorb,aftermath,hiddenpowerice,signalbeam,taunt,thunderbolt": 77, "choicespecs,aftermath,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 69, "lifeorb,aftermath,foulplay,hiddenpowerice,signalbeam,thunderbolt": 62, "lifeorb,aftermath,foulplay,hiddenpowerice,taunt,thunderbolt": 61}, + "emboar": {"choiceband,reckless,flareblitz,suckerpunch,superpower,wildcharge": 267, "choicescarf,reckless,flareblitz,headsmash,superpower,wildcharge": 138, "assaultvest,reckless,flareblitz,suckerpunch,superpower,wildcharge": 248, "assaultvest,reckless,flareblitz,grassknot,suckerpunch,superpower": 242, "choiceband,reckless,flareblitz,headsmash,suckerpunch,superpower": 250, "assaultvest,reckless,flareblitz,grassknot,superpower,wildcharge": 245, "choiceband,reckless,flareblitz,headsmash,superpower,wildcharge": 137}, + "emolga": {",motordrive,acrobatics,roost,thunderbolt,toxic": 241, ",motordrive,acrobatics,knockoff,roost,thunderbolt": 255, ",motordrive,acrobatics,nuzzle,roost,thunderbolt": 242, ",motordrive,acrobatics,roost,thunderbolt,uturn": 223, ",motordrive,acrobatics,encore,roost,thunderbolt": 257}, + "empoleon": {"leftovers,torrent,defog,protect,scald,toxic": 171, "leftovers,torrent,knockoff,protect,scald,toxic": 179, "leftovers,torrent,defog,icebeam,knockoff,scald": 67, "leftovers,torrent,defog,roar,scald,toxic": 84, "assaultvest,torrent,grassknot,icebeam,knockoff,scald": 54, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff": 65, "leftovers,torrent,defog,icebeam,scald,toxic": 71, "assaultvest,torrent,flashcannon,hydropump,icebeam,knockoff": 51, "choicespecs,torrent,flashcannon,grassknot,icebeam,scald": 35, "leftovers,torrent,icebeam,knockoff,scald,toxic": 15, "assaultvest,torrent,flashcannon,icebeam,knockoff,scald": 61, "leftovers,torrent,protect,scald,stealthrock,toxic": 137, "leftovers,torrent,defog,icebeam,roar,scald": 86, "choicespecs,torrent,flashcannon,grassknot,hydropump,icebeam": 21, "leftovers,torrent,defog,knockoff,scald,toxic": 71, "leftovers,torrent,defog,knockoff,roar,scald": 70, "choicescarf,torrent,flashcannon,grassknot,icebeam,scald": 23, "leftovers,torrent,knockoff,roar,scald,toxic": 15, "assaultvest,torrent,flashcannon,grassknot,knockoff,scald": 64, "assaultvest,torrent,flashcannon,grassknot,hydropump,knockoff": 48, "choicescarf,torrent,flashcannon,grassknot,hydropump,icebeam": 26, "leftovers,torrent,icebeam,knockoff,roar,scald": 15, "leftovers,torrent,icebeam,roar,scald,toxic": 18}, + "entei": {"choiceband,pressure,bulldoze,extremespeed,flareblitz,sacredfire": 714, "choiceband,pressure,extremespeed,flareblitz,sacredfire,stoneedge": 705}, + "escavalier": {"leftovers,swarm,ironhead,knockoff,megahorn,swordsdance": 225, "leftovers,swarm,drillrun,ironhead,megahorn,swordsdance": 161, "leftovers,overcoat,drillrun,ironhead,megahorn,swordsdance": 189, "choiceband,overcoat,drillrun,ironhead,megahorn,pursuit": 272, "leftovers,overcoat,ironhead,knockoff,megahorn,swordsdance": 215, "choiceband,swarm,drillrun,ironhead,knockoff,megahorn": 176, "choiceband,overcoat,drillrun,ironhead,knockoff,megahorn": 169, "choiceband,swarm,drillrun,ironhead,megahorn,pursuit": 297}, + "espeon": {"choicespecs,magicbounce,dazzlinggleam,psychic,shadowball,trick": 282, "lifeorb,magicbounce,calmmind,dazzlinggleam,psyshock,shadowball": 201, "lifeorb,magicbounce,calmmind,dazzlinggleam,psychic,shadowball": 192, "choicespecs,magicbounce,dazzlinggleam,psyshock,shadowball,trick": 312, "lifeorb,magicbounce,calmmind,dazzlinggleam,morningsun,psychic": 227, "lifeorb,magicbounce,calmmind,dazzlinggleam,morningsun,psyshock": 237, "lifeorb,magicbounce,dazzlinggleam,morningsun,psychic,shadowball": 198, "lifeorb,magicbounce,dazzlinggleam,morningsun,psyshock,shadowball": 185}, + "excadrill": {"assaultvest,moldbreaker,earthquake,ironhead,rapidspin,rockslide": 595, "lifeorb,moldbreaker,earthquake,ironhead,rockslide,swordsdance": 811, "lifeorb,sandrush,earthquake,ironhead,rockslide,swordsdance": 4, "assaultvest,sandrush,earthquake,ironhead,rapidspin,rockslide": 1}, + "exeggutor": {"sitrusberry,harvest,leechseed,psychic,sleeppowder,substitute": 308, "sitrusberry,harvest,gigadrain,leechseed,psychic,substitute": 305, "sitrusberry,harvest,gigadrain,hiddenpowerfire,psychic,sleeppowder": 404, "sitrusberry,harvest,hiddenpowerfire,leechseed,psychic,substitute": 273}, + "exploud": {"choicespecs,scrappy,boomburst,fireblast,focusblast,surf": 892, "choicescarf,scrappy,boomburst,fireblast,focusblast,surf": 843}, + "farfetchd": {"stick,defiant,bravebird,knockoff,return,swordsdance": 378, "stick,defiant,bravebird,knockoff,leafblade,swordsdance": 413, "stick,defiant,bravebird,leafblade,return,swordsdance": 389}, + "fearow": {"choiceband,sniper,drillpeck,drillrun,return,uturn": 632, "choiceband,sniper,doubleedge,drillpeck,drillrun,uturn": 606}, + "feraligatr": {"lifeorb,sheerforce,dragondance,earthquake,icepunch,waterfall": 823, "lifeorb,sheerforce,crunch,dragondance,icepunch,waterfall": 805}, + "ferrothorn": {"leftovers,ironbarbs,gyroball,powerwhip,spikes,stealthrock": 245, "leftovers,ironbarbs,knockoff,powerwhip,spikes,stealthrock": 58, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,spikes": 331, "leftovers,ironbarbs,knockoff,powerwhip,stealthrock,toxic": 129, "leftovers,ironbarbs,knockoff,powerwhip,spikes,toxic": 161, "leftovers,ironbarbs,knockoff,powerwhip,spikes,thunderwave": 162, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,stealthrock": 202, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,toxic": 97, "leftovers,ironbarbs,knockoff,powerwhip,stealthrock,thunderwave": 96, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,thunderwave": 92}, + "flareon": {"toxicorb,guts,facade,flareblitz,quickattack,superpower": 752, "toxicorb,guts,facade,flamecharge,flareblitz,superpower": 757}, + "floatzel": {"lifeorb,waterveil,bulkup,icepunch,lowkick,waterfall": 385, "choiceband,waterveil,aquajet,crunch,icepunch,waterfall": 266, "choiceband,waterveil,crunch,icepunch,lowkick,waterfall": 275, "leftovers,waterveil,bulkup,icepunch,substitute,waterfall": 401, "choiceband,waterveil,aquajet,icepunch,lowkick,waterfall": 257}, + "floetteeternal": {"choicespecs,flowerveil,hiddenpowerground,lightofruin,moonblast,psychic": 473, "choicespecs,flowerveil,hiddenpowerfire,lightofruin,moonblast,psychic": 483, "choicescarf,flowerveil,hiddenpowerground,lightofruin,moonblast,psychic": 480, "choicescarf,flowerveil,hiddenpowerfire,lightofruin,moonblast,psychic": 477}, + "florges": {"leftovers,flowerveil,calmmind,hiddenpowerground,moonblast,synthesis": 652, "leftovers,flowerveil,aromatherapy,moonblast,synthesis,toxic": 613, "leftovers,flowerveil,moonblast,protect,toxic,wish": 675}, + "flygon": {"leftovers,levitate,defog,dracometeor,earthquake,roost": 694, "choiceband,levitate,earthquake,outrage,stoneedge,uturn": 356, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn": 409, "leftovers,levitate,dracometeor,earthquake,roost,uturn": 124}, + "forretress": {"leftovers,sturdy,gyroball,rapidspin,toxic,voltswitch": 294, "leftovers,sturdy,gyroball,stealthrock,toxic,voltswitch": 46, "leftovers,sturdy,gyroball,rapidspin,spikes,voltswitch": 307, "leftovers,sturdy,gyroball,rapidspin,stealthrock,voltswitch": 180, "leftovers,sturdy,gyroball,rapidspin,spikes,stealthrock": 189, "leftovers,sturdy,gyroball,spikes,toxic,voltswitch": 137, "leftovers,sturdy,gyroball,rapidspin,stealthrock,toxic": 204, "leftovers,sturdy,gyroball,spikes,stealthrock,toxic": 47, "leftovers,sturdy,gyroball,rapidspin,spikes,toxic": 281, "leftovers,sturdy,gyroball,spikes,stealthrock,voltswitch": 47}, + "froslass": {"leftovers,cursedbody,icebeam,shadowball,spikes,thunderwave": 210, "leftovers,cursedbody,icebeam,shadowball,taunt,thunderwave": 220, "focussash,cursedbody,icebeam,shadowball,spikes,thunderwave": 32, "leftovers,cursedbody,destinybond,icebeam,shadowball,spikes": 182, "leftovers,cursedbody,icebeam,shadowball,spikes,taunt": 152, "leftovers,cursedbody,destinybond,icebeam,shadowball,thunderwave": 199, "leftovers,cursedbody,destinybond,icebeam,shadowball,taunt": 228, "focussash,cursedbody,icebeam,shadowball,spikes,taunt": 24, "focussash,cursedbody,destinybond,icebeam,shadowball,spikes": 34}, + "furfrou": {"chestoberry,furcoat,rest,return,thunderwave,uturn": 123, "chestoberry,furcoat,darkpulse,rest,return,thunderwave": 124, "chestoberry,furcoat,cottonguard,rest,return,toxic": 428, "chestoberry,furcoat,darkpulse,rest,return,toxic": 135, "leftovers,furcoat,cottonguard,return,substitute,toxic": 383, "leftovers,furcoat,darkpulse,return,thunderwave,uturn": 143, "chestoberry,furcoat,rest,return,toxic,uturn": 123, "leftovers,furcoat,darkpulse,return,toxic,uturn": 116, "chestoberry,furcoat,darkpulse,rest,return,uturn": 84}, + "furret": {"choiceband,frisk,aquatail,doubleedge,knockoff,trick": 331, "choiceband,frisk,doubleedge,firepunch,knockoff,uturn": 369, "choiceband,frisk,aquatail,doubleedge,knockoff,uturn": 342, "choiceband,frisk,aquatail,doubleedge,firepunch,knockoff": 272, "choiceband,frisk,doubleedge,firepunch,knockoff,trick": 347}, + "gallade": {"choiceband,justified,closecombat,icepunch,knockoff,zenheadbutt": 66, "choiceband,justified,closecombat,knockoff,shadowsneak,zenheadbutt": 154, "lifeorb,justified,closecombat,knockoff,swordsdance,zenheadbutt": 162, "choicescarf,justified,closecombat,icepunch,knockoff,zenheadbutt": 72}, + "gallademega": {"galladite,justified,closecombat,knockoff,swordsdance,zenheadbutt": 1240}, + "galvantula": {"lifeorb,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 604, "focussash,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 135, "lifeorb,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 588, "focussash,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 116, "choicespecs,compoundeyes,bugbuzz,gigadrain,thunder,voltswitch": 42}, + "garbodor": {"blacksludge,aftermath,drainpunch,gunkshot,painsplit,toxicspikes": 193, "blacksludge,aftermath,drainpunch,gunkshot,painsplit,spikes": 174, "blacksludge,aftermath,drainpunch,gunkshot,spikes,toxic": 212, "blacksludge,aftermath,drainpunch,gunkshot,haze,spikes": 205, "blacksludge,aftermath,drainpunch,gunkshot,haze,painsplit": 188, "blacksludge,aftermath,drainpunch,gunkshot,haze,toxic": 199, "blacksludge,aftermath,drainpunch,gunkshot,spikes,toxicspikes": 192, "blacksludge,aftermath,drainpunch,gunkshot,painsplit,toxic": 212, "blacksludge,aftermath,drainpunch,gunkshot,haze,toxicspikes": 224}, + "garchomp": {"rockyhelmet,roughskin,dragonclaw,earthquake,fireblast,stealthrock": 18, "assaultvest,roughskin,dragonclaw,earthquake,fireblast,stoneedge": 23, "choiceband,roughskin,earthquake,firefang,outrage,stoneedge": 31, "choicescarf,roughskin,earthquake,firefang,outrage,stoneedge": 43, "rockyhelmet,roughskin,earthquake,fireblast,outrage,toxic": 22, "rockyhelmet,roughskin,dragonclaw,earthquake,fireblast,toxic": 24, "rockyhelmet,roughskin,dragonclaw,earthquake,stealthrock,stoneedge": 11, "lumberry,roughskin,earthquake,outrage,stoneedge,swordsdance": 63, "rockyhelmet,roughskin,dragonclaw,earthquake,stealthrock,toxic": 6, "rockyhelmet,roughskin,dragonclaw,earthquake,stoneedge,toxic": 21, "lumberry,roughskin,earthquake,firefang,outrage,swordsdance": 63, "rockyhelmet,roughskin,earthquake,outrage,stoneedge,toxic": 12, "rockyhelmet,roughskin,earthquake,fireblast,outrage,stealthrock": 10, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,stoneedge": 13, "assaultvest,roughskin,earthquake,fireblast,outrage,stoneedge": 16, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,toxic": 9}, + "garchompmega": {"garchompite,roughskin,dracometeor,earthquake,fireblast,stoneedge": 281, "garchompite,roughskin,earthquake,outrage,stoneedge,swordsdance": 302, "garchompite,roughskin,earthquake,firefang,outrage,swordsdance": 317, "garchompite,roughskin,dracometeor,earthquake,stealthrock,stoneedge": 168, "garchompite,roughskin,dracometeor,earthquake,fireblast,stealthrock": 176}, + "gardevoir": {"choicescarf,trace,healingwish,moonblast,psychic,shadowball": 27, "lifeorb,trace,calmmind,moonblast,psyshock,willowisp": 102, "choicescarf,trace,focusblast,moonblast,psychic,thunderbolt": 6, "choicescarf,trace,moonblast,psychic,thunderbolt,trick": 25, "choicespecs,trace,moonblast,psychic,shadowball,thunderbolt": 8, "choicescarf,trace,focusblast,moonblast,psychic,trick": 29, "leftovers,trace,calmmind,moonblast,psyshock,substitute": 70, "lifeorb,trace,calmmind,focusblast,moonblast,psychic": 20, "choicescarf,trace,focusblast,moonblast,psychic,shadowball": 8, "choicescarf,trace,healingwish,moonblast,psychic,thunderbolt": 15, "choicescarf,trace,focusblast,healingwish,moonblast,psychic": 24, "lifeorb,trace,calmmind,moonblast,psychic,shadowball": 17, "lifeorb,trace,calmmind,focusblast,moonblast,psyshock": 66, "lifeorb,trace,calmmind,moonblast,psychic,thunderbolt": 17, "choicescarf,trace,moonblast,psychic,shadowball,trick": 19, "choicescarf,trace,moonblast,psychic,shadowball,thunderbolt": 5, "choicespecs,trace,focusblast,moonblast,psychic,thunderbolt": 9, "choicespecs,trace,focusblast,moonblast,psychic,shadowball": 3}, + "gardevoirmega": {"gardevoirite,trace,calmmind,hypervoice,psyshock,willowisp": 343, "gardevoirite,trace,calmmind,hypervoice,psyshock,substitute": 354, "gardevoirite,trace,calmmind,hypervoice,psyshock,taunt": 331, "gardevoirite,trace,calmmind,focusblast,hypervoice,psyshock": 336}, + "gastrodon": {"leftovers,stormdrain,earthquake,recover,scald,toxic": 496, "leftovers,stormdrain,earthquake,icebeam,recover,scald": 495, "leftovers,stormdrain,clearsmog,earthquake,recover,scald": 559}, + "genesect": {"lifeorb,download,blazekick,ironhead,shiftgear,xscissor": 186, "choicespecs,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 45, "choicespecs,download,bugbuzz,flashcannon,icebeam,uturn": 109, "lifeorb,download,blazekick,ironhead,shiftgear,thunderbolt": 201, "choiceband,download,blazekick,extremespeed,ironhead,uturn": 595, "choicescarf,download,bugbuzz,flamethrower,flashcannon,icebeam": 49, "choicescarf,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 48, "choicescarf,download,bugbuzz,flashcannon,icebeam,thunderbolt": 40, "lifeorb,download,ironhead,shiftgear,thunderbolt,xscissor": 186, "choicespecs,download,bugbuzz,flashcannon,thunderbolt,uturn": 96, "choicespecs,download,bugbuzz,flashcannon,icebeam,thunderbolt": 52, "choicespecs,download,bugbuzz,flamethrower,flashcannon,uturn": 101, "choicespecs,download,bugbuzz,flamethrower,flashcannon,icebeam": 51}, + "gengar": {"lifeorb,levitate,painsplit,shadowball,sludgewave,willowisp": 68, "blacksludge,levitate,shadowball,sludgewave,substitute,willowisp": 58, "blacksludge,levitate,painsplit,shadowball,sludgewave,substitute": 46, "choicespecs,levitate,focusblast,shadowball,sludgewave,trick": 101, "lifeorb,levitate,focusblast,shadowball,sludgewave,willowisp": 63, "blacksludge,levitate,focusblast,shadowball,sludgewave,substitute": 45, "lifeorb,levitate,focusblast,painsplit,shadowball,sludgewave": 51}, + "gengarmega": {"gengarite,levitate,perishsong,protect,shadowball,substitute": 377, "gengarite,levitate,destinybond,disable,shadowball,sludgewave": 151, "gengarite,levitate,disable,focusblast,shadowball,sludgewave": 121, "gengarite,levitate,destinybond,shadowball,sludgewave,taunt": 120, "gengarite,levitate,disable,perishsong,protect,shadowball": 329, "gengarite,levitate,destinybond,focusblast,shadowball,sludgewave": 101, "gengarite,levitate,focusblast,shadowball,sludgewave,taunt": 118}, + "gigalith": {"custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge": 236, "leftovers,sturdy,earthquake,stealthrock,stoneedge,superpower": 221, "choiceband,sturdy,earthquake,explosion,stoneedge,superpower": 275, "leftovers,sturdy,earthquake,stoneedge,superpower,toxic": 236, "custapberry,sturdy,earthquake,explosion,stoneedge,toxic": 277, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 202}, + "girafarig": {"lifeorb,sapsipper,hypervoice,nastyplot,psyshock,thunderbolt": 222, "leftovers,sapsipper,nastyplot,psychic,substitute,thunderbolt": 94, "lifeorb,sapsipper,dazzlinggleam,hypervoice,nastyplot,psychic": 174, "lifeorb,sapsipper,dazzlinggleam,hypervoice,nastyplot,psyshock": 189, "leftovers,sapsipper,dazzlinggleam,nastyplot,psyshock,substitute": 90, "leftovers,sapsipper,dazzlinggleam,nastyplot,psychic,substitute": 91, "lifeorb,sapsipper,dazzlinggleam,nastyplot,psychic,thunderbolt": 190, "lifeorb,sapsipper,dazzlinggleam,nastyplot,psyshock,thunderbolt": 174, "leftovers,sapsipper,hypervoice,nastyplot,psychic,substitute": 99, "lifeorb,sapsipper,hypervoice,nastyplot,psychic,thunderbolt": 184, "leftovers,sapsipper,hypervoice,nastyplot,psyshock,substitute": 99, "leftovers,sapsipper,nastyplot,psyshock,substitute,thunderbolt": 88}, + "giratina": {"leftovers,pressure,defog,dragontail,shadowball,willowisp": 85, "leftovers,pressure,rest,shadowball,sleeptalk,willowisp": 121, "leftovers,pressure,calmmind,dragonpulse,rest,sleeptalk": 277, "chestoberry,pressure,defog,dragontail,rest,shadowball": 83, "chestoberry,pressure,defog,rest,shadowball,willowisp": 71, "leftovers,pressure,dragontail,rest,shadowball,sleeptalk": 143, "chestoberry,pressure,dragontail,rest,shadowball,willowisp": 27}, + "giratinaorigin": {"griseousorb,levitate,dracometeor,hex,shadowsneak,willowisp": 184, "griseousorb,levitate,defog,dracometeor,shadowball,willowisp": 14, "griseousorb,levitate,dracometeor,outrage,shadowball,willowisp": 52, "griseousorb,levitate,defog,dracometeor,earthquake,shadowball": 14, "griseousorb,levitate,dracometeor,hex,shadowsneak,thunderwave": 226, "griseousorb,levitate,dracometeor,earthquake,shadowball,shadowsneak": 25, "griseousorb,levitate,outrage,shadowball,shadowsneak,willowisp": 22, "griseousorb,levitate,dracometeor,earthquake,outrage,shadowball": 43, "griseousorb,levitate,earthquake,outrage,shadowball,willowisp": 25, "griseousorb,levitate,dracometeor,outrage,shadowball,shadowsneak": 50, "griseousorb,levitate,earthquake,outrage,shadowball,shadowsneak": 25, "griseousorb,levitate,dracometeor,earthquake,shadowball,willowisp": 20, "griseousorb,levitate,defog,outrage,shadowball,willowisp": 14, "griseousorb,levitate,defog,dracometeor,outrage,shadowball": 27, "griseousorb,levitate,defog,dracometeor,shadowball,shadowsneak": 21, "griseousorb,levitate,dracometeor,shadowball,shadowsneak,willowisp": 25, "griseousorb,levitate,defog,earthquake,outrage,shadowball": 19, "griseousorb,levitate,defog,outrage,shadowball,shadowsneak": 17}, + "glaceon": {"leftovers,icebody,icebeam,protect,toxic,wish": 643, "leftovers,icebody,healbell,icebeam,protect,wish": 316, "leftovers,icebody,hiddenpowerground,icebeam,protect,wish": 334}, + "glalie": {"leftovers,innerfocus,earthquake,freezedry,spikes,taunt": 52, "leftovers,innerfocus,freezedry,spikes,superfang,taunt": 59, "leftovers,innerfocus,earthquake,freezedry,superfang,taunt": 80, "focussash,innerfocus,earthquake,freezedry,spikes,superfang": 20, "focussash,innerfocus,earthquake,freezedry,spikes,taunt": 19, "leftovers,innerfocus,earthquake,freezedry,spikes,superfang": 62, "focussash,innerfocus,freezedry,spikes,superfang,taunt": 19}, + "glaliemega": {"glalitite,innerfocus,earthquake,explosion,return,spikes": 98, "glalitite,innerfocus,earthquake,explosion,freezedry,return": 258, "glalitite,innerfocus,earthquake,iceshard,return,spikes": 73, "glalitite,innerfocus,earthquake,freezedry,iceshard,return": 262, "glalitite,innerfocus,earthquake,freezedry,return,spikes": 237, "glalitite,innerfocus,earthquake,explosion,iceshard,return": 87}, + "gligar": {"eviolite,immunity,earthquake,roost,toxic,uturn": 386, "eviolite,immunity,earthquake,roost,stealthrock,toxic": 348, "eviolite,immunity,defog,earthquake,roost,toxic": 340, "eviolite,immunity,earthquake,knockoff,roost,toxic": 404}, + "gliscor": {"toxicorb,poisonheal,defog,earthquake,roost,toxic": 94, "toxicorb,poisonheal,earthquake,facade,roost,swordsdance": 470, "toxicorb,poisonheal,earthquake,roost,toxic,uturn": 106, "toxicorb,poisonheal,earthquake,protect,substitute,toxic": 485, "toxicorb,poisonheal,earthquake,roost,taunt,toxic": 105, "toxicorb,poisonheal,earthquake,knockoff,roost,toxic": 102, "toxicorb,poisonheal,earthquake,roost,stealthrock,toxic": 89}, + "gogoat": {"leftovers,sapsipper,bulkup,earthquake,hornleech,milkdrink": 715, "leftovers,sapsipper,earthquake,hornleech,milkdrink,toxic": 650}, + "golduck": {"lifeorb,cloudnine,encore,focusblast,icebeam,scald": 243, "lifeorb,cloudnine,calmmind,focusblast,hydropump,icebeam": 273, "lifeorb,cloudnine,encore,focusblast,hydropump,icebeam": 281, "lifeorb,cloudnine,calmmind,focusblast,icebeam,scald": 232, "lifeorb,cloudnine,calmmind,encore,icebeam,scald": 276, "lifeorb,cloudnine,calmmind,encore,hydropump,icebeam": 267, "lifeorb,swiftswim,calmmind,encore,hydropump,icebeam": 4, "lifeorb,swiftswim,encore,focusblast,icebeam,scald": 12, "lifeorb,swiftswim,calmmind,encore,icebeam,scald": 7, "lifeorb,swiftswim,calmmind,focusblast,icebeam,scald": 6, "lifeorb,swiftswim,calmmind,focusblast,hydropump,icebeam": 8, "lifeorb,swiftswim,encore,focusblast,hydropump,icebeam": 2}, + "golem": {"weaknesspolicy,sturdy,earthquake,rockpolish,stoneedge,suckerpunch": 318, "weaknesspolicy,sturdy,earthquake,explosion,rockpolish,stoneedge": 313, "custapberry,sturdy,earthquake,explosion,stoneedge,toxic": 107, "leftovers,sturdy,earthquake,stoneedge,suckerpunch,toxic": 120, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 73, "choiceband,sturdy,earthquake,explosion,stoneedge,suckerpunch": 123, "leftovers,sturdy,earthquake,stealthrock,stoneedge,suckerpunch": 104, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge": 97}, + "golurk": {"lifeorb,noguard,dynamicpunch,earthquake,icepunch,rockpolish": 334, "lifeorb,noguard,dynamicpunch,earthquake,stealthrock,stoneedge": 249, "lifeorb,noguard,dynamicpunch,earthquake,icepunch,stealthrock": 267, "choiceband,noguard,dynamicpunch,earthquake,icepunch,stoneedge": 244, "lifeorb,noguard,dynamicpunch,earthquake,rockpolish,stoneedge": 305}, + "goodra": {"assaultvest,sapsipper,dracometeor,dragontail,earthquake,fireblast": 186, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb": 172, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,sludgebomb": 157, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,powerwhip": 158, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,sludgebomb": 163, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip": 146, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,powerwhip": 158, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb": 160, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,sludgebomb": 150, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb": 154}, + "gorebyss": {"whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 1618}, + "gothitelle": {"choicespecs,shadowtag,hiddenpowerfighting,psychic,shadowball,thunderbolt": 69, "choicespecs,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 61, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,shadowball": 119, "leftovers,shadowtag,calmmind,psychic,shadowball,thunderbolt": 94, "leftovers,shadowtag,calmmind,psychic,signalbeam,thunderbolt": 115, "choicespecs,shadowtag,hiddenpowerfighting,psychic,shadowball,signalbeam": 64, "choicescarf,shadowtag,hiddenpowerfighting,psychic,thunderbolt,trick": 113, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,trick": 111, "choicescarf,shadowtag,psychic,shadowball,thunderbolt,trick": 108, "choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,trick": 96, "choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 71, "leftovers,shadowtag,calmmind,psychic,shadowball,signalbeam": 114, "choicescarf,shadowtag,psychic,signalbeam,thunderbolt,trick": 115, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,signalbeam": 62, "choicescarf,shadowtag,psychic,shadowball,signalbeam,trick": 113, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,signalbeam": 95, "choicescarf,shadowtag,psychic,shadowball,signalbeam,thunderbolt": 58, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,thunderbolt": 103, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,thunderbolt": 58, "choicespecs,shadowtag,psychic,shadowball,signalbeam,thunderbolt": 57}, + "gourgeist": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 704}, + "gourgeistlarge": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 695}, + "gourgeistsmall": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 680}, + "gourgeistsuper": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 326, "rockyhelmet,frisk,seedbomb,shadowsneak,synthesis,willowisp": 339}, + "granbull": {"leftovers,intimidate,earthquake,healbell,playrough,thunderwave": 931, "leftovers,intimidate,earthquake,healbell,playrough,toxic": 917, "leftovers,intimidate,earthquake,playrough,thunderwave,toxic": 131}, + "greninja": {"lifeorb,protean,grassknot,gunkshot,hydropump,taunt": 103, "lifeorb,protean,gunkshot,hydropump,icebeam,taunt": 108, "lifeorb,protean,gunkshot,hydropump,taunt,uturn": 93, "lifeorb,protean,gunkshot,hydropump,spikes,taunt": 75, "lifeorb,protean,gunkshot,hydropump,spikes,toxicspikes": 79, "lifeorb,protean,grassknot,gunkshot,hydropump,icebeam": 89, "lifeorb,protean,gunkshot,hydropump,toxicspikes,uturn": 89, "lifeorb,protean,gunkshot,hydropump,icebeam,toxicspikes": 83, "lifeorb,protean,gunkshot,hydropump,icebeam,spikes": 86, "expertbelt,protean,gunkshot,hydropump,icebeam,uturn": 82, "lifeorb,protean,gunkshot,hydropump,spikes,uturn": 97, "lifeorb,protean,gunkshot,hydropump,taunt,toxicspikes": 87, "expertbelt,protean,grassknot,gunkshot,hydropump,uturn": 91, "lifeorb,protean,grassknot,gunkshot,hydropump,spikes": 95, "lifeorb,protean,grassknot,gunkshot,hydropump,toxicspikes": 81}, + "groudon": {"leftovers,drought,precipiceblades,rockpolish,stoneedge,swordsdance": 123, "assaultvest,drought,dragontail,lavaplume,precipiceblades,stoneedge": 49, "leftovers,drought,dragontail,lavaplume,precipiceblades,stealthrock": 29, "leftovers,drought,lavaplume,precipiceblades,stealthrock,stoneedge": 30, "leftovers,drought,firepunch,precipiceblades,rockpolish,swordsdance": 122, "leftovers,drought,dragontail,precipiceblades,stoneedge,thunderwave": 60, "leftovers,drought,firepunch,precipiceblades,stoneedge,swordsdance": 55, "leftovers,drought,precipiceblades,stealthrock,stoneedge,thunderwave": 24, "leftovers,drought,lavaplume,precipiceblades,stoneedge,thunderwave": 40, "leftovers,drought,lavaplume,precipiceblades,stealthrock,thunderwave": 21, "leftovers,drought,dragontail,lavaplume,precipiceblades,thunderwave": 33, "weaknesspolicy,drought,firepunch,precipiceblades,rockpolish,stoneedge": 52, "leftovers,drought,dragontail,precipiceblades,stealthrock,stoneedge": 23, "leftovers,drought,dragontail,precipiceblades,stealthrock,thunderwave": 19}, + "groudonprimal": {"redorb,drought,dragontail,lavaplume,precipiceblades,stealthrock": 120, "redorb,drought,firepunch,precipiceblades,rockpolish,swordsdance": 426, "redorb,drought,lavaplume,precipiceblades,stealthrock,thunderwave": 106, "redorb,drought,dragontail,lavaplume,precipiceblades,thunderwave": 179}, + "grumpig": {"leftovers,thickfat,healbell,psychic,thunderwave,whirlwind": 253, "leftovers,thickfat,healbell,psychic,toxic,whirlwind": 262, "leftovers,thickfat,focusblast,psychic,toxic,whirlwind": 320, "leftovers,thickfat,focusblast,healbell,psychic,whirlwind": 156, "leftovers,thickfat,focusblast,healbell,psychic,thunderwave": 253, "leftovers,thickfat,focusblast,healbell,psychic,toxic": 283, "leftovers,thickfat,focusblast,psychic,thunderwave,whirlwind": 345}, + "gyarados": {"leftovers,moxie,dragondance,stoneedge,substitute,waterfall": 40, "leftovers,intimidate,dragondance,stoneedge,substitute,waterfall": 47, "lifeorb,intimidate,dragondance,earthquake,stoneedge,waterfall": 95, "lifeorb,moxie,dragondance,earthquake,stoneedge,waterfall": 70, "leftovers,moxie,dragondance,earthquake,substitute,waterfall": 41, "leftovers,intimidate,dragondance,earthquake,substitute,waterfall": 39}, + "gyaradosmega": {"gyaradosite,intimidate,crunch,dragondance,substitute,waterfall": 502, "gyaradosite,intimidate,crunch,dragondance,earthquake,waterfall": 503}, + "hariyama": {"toxicorb,guts,bulletpunch,closecombat,facade,knockoff": 470, "assaultvest,guts,closecombat,heavyslam,knockoff,stoneedge": 140, "assaultvest,thickfat,bulletpunch,closecombat,heavyslam,knockoff": 131, "assaultvest,guts,bulletpunch,closecombat,heavyslam,knockoff": 145, "assaultvest,thickfat,closecombat,heavyslam,knockoff,stoneedge": 136, "toxicorb,guts,closecombat,facade,fakeout,knockoff": 442, "assaultvest,guts,bulletpunch,closecombat,knockoff,stoneedge": 152, "assaultvest,thickfat,bulletpunch,closecombat,knockoff,stoneedge": 149}, + "hawlucha": {"sitrusberry,unburden,acrobatics,highjumpkick,substitute,swordsdance": 682, "powerherb,unburden,acrobatics,highjumpkick,skyattack,swordsdance": 710}, + "haxorus": {"lumberry,moldbreaker,dragondance,earthquake,outrage,poisonjab": 745, "lumberry,moldbreaker,dragondance,earthquake,outrage,taunt": 747}, + "heatmor": {"lifeorb,flashfire,fireblast,gigadrain,knockoff,superpower": 965, "lifeorb,flashfire,fireblast,gigadrain,suckerpunch,superpower": 478}, + "heatran": {"leftovers,flashfire,earthpower,magmastorm,protect,toxic": 771, "airballoon,flashfire,earthpower,flashcannon,lavaplume,toxic": 65, "airballoon,flashfire,earthpower,flashcannon,magmastorm,taunt": 71, "airballoon,flashfire,flashcannon,magmastorm,taunt,toxic": 31, "airballoon,flashfire,earthpower,flashcannon,magmastorm,toxic": 70, "airballoon,flashfire,earthpower,flashcannon,magmastorm,stealthrock": 55, "airballoon,flashfire,earthpower,lavaplume,taunt,toxic": 33, "airballoon,flashfire,earthpower,flashcannon,lavaplume,taunt": 67, "airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock": 60, "airballoon,flashfire,earthpower,magmastorm,taunt,toxic": 39, "airballoon,flashfire,flashcannon,magmastorm,stealthrock,toxic": 29, "airballoon,flashfire,flashcannon,magmastorm,stealthrock,taunt": 34, "airballoon,flashfire,earthpower,magmastorm,stealthrock,taunt": 25, "airballoon,flashfire,flashcannon,lavaplume,taunt,toxic": 48, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,toxic": 34, "airballoon,flashfire,earthpower,magmastorm,stealthrock,toxic": 36, "airballoon,flashfire,earthpower,lavaplume,stealthrock,taunt": 36, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,taunt": 28, "airballoon,flashfire,earthpower,lavaplume,stealthrock,toxic": 19}, + "heliolisk": {"lifeorb,dryskin,glare,hypervoice,surf,thunderbolt": 144, "choicespecs,dryskin,darkpulse,hypervoice,surf,thunderbolt": 131, "lifeorb,dryskin,hypervoice,raindance,surf,thunder": 741, "choicespecs,dryskin,hypervoice,surf,thunderbolt,voltswitch": 130, "lifeorb,dryskin,glare,hypervoice,thunderbolt,voltswitch": 120, "choicespecs,dryskin,darkpulse,hypervoice,thunderbolt,voltswitch": 122, "lifeorb,dryskin,darkpulse,glare,hypervoice,thunderbolt": 117}, + "heracross": {"choiceband,moxie,closecombat,knockoff,megahorn,stoneedge": 114, "toxicorb,guts,closecombat,facade,knockoff,megahorn": 214, "choicescarf,moxie,closecombat,knockoff,megahorn,stoneedge": 121}, + "heracrossmega": {"heracronite,moxie,closecombat,earthquake,pinmissile,rockblast": 287, "heracronite,moxie,closecombat,knockoff,pinmissile,rockblast": 314, "heracronite,moxie,closecombat,pinmissile,rockblast,substitute": 320, "heracronite,moxie,closecombat,pinmissile,rockblast,swordsdance": 293}, + "hippowdon": {"rockyhelmet,sandstream,earthquake,slackoff,toxic,whirlwind": 119, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,whirlwind": 110, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge": 103, "leftovers,sandstream,earthquake,slackoff,toxic,whirlwind": 158, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind": 111, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind": 137, "leftovers,sandstream,earthquake,slackoff,stoneedge,toxic": 129, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,toxic": 142, "leftovers,sandstream,earthquake,slackoff,stealthrock,toxic": 93, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,whirlwind": 129, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,stoneedge": 112, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,toxic": 119}, + "hitmonchan": {"choiceband,ironfist,drainpunch,icepunch,machpunch,stoneedge": 672, "leftovers,ironfist,bulkup,drainpunch,icepunch,machpunch": 329, "assaultvest,ironfist,drainpunch,machpunch,rapidspin,stoneedge": 252, "leftovers,ironfist,bulkup,drainpunch,machpunch,stoneedge": 334, "assaultvest,ironfist,drainpunch,icepunch,machpunch,rapidspin": 264}, + "hitmonlee": {"whiteherb,unburden,bulkup,closecombat,knockoff,stoneedge": 435, "assaultvest,reckless,highjumpkick,knockoff,rapidspin,stoneedge": 113, "whiteherb,unburden,bulkup,closecombat,knockoff,poisonjab": 477, "choicescarf,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 87, "choiceband,reckless,highjumpkick,knockoff,machpunch,poisonjab": 196, "choiceband,reckless,highjumpkick,knockoff,machpunch,stoneedge": 171, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 86, "assaultvest,reckless,highjumpkick,knockoff,poisonjab,rapidspin": 129, "assaultvest,reckless,highjumpkick,knockoff,machpunch,rapidspin": 124}, + "hitmontop": {"assaultvest,intimidate,closecombat,rapidspin,stoneedge,suckerpunch": 257, "choiceband,intimidate,closecombat,earthquake,stoneedge,suckerpunch": 77, "assaultvest,intimidate,closecombat,earthquake,rapidspin,suckerpunch": 237, "assaultvest,intimidate,closecombat,earthquake,rapidspin,stoneedge": 265, "leftovers,intimidate,closecombat,earthquake,suckerpunch,toxic": 57, "leftovers,intimidate,closecombat,earthquake,rapidspin,toxic": 255, "leftovers,intimidate,closecombat,rapidspin,stoneedge,toxic": 261, "leftovers,intimidate,closecombat,rapidspin,suckerpunch,toxic": 260, "leftovers,intimidate,closecombat,stoneedge,suckerpunch,toxic": 74, "leftovers,intimidate,closecombat,earthquake,stoneedge,toxic": 77}, + "hooh": {"leftovers,regenerator,bravebird,earthquake,roost,sacredfire": 342, "leftovers,regenerator,bravebird,roost,sacredfire,substitute": 354, "leftovers,regenerator,bravebird,defog,roost,sacredfire": 321, "leftovers,regenerator,bravebird,roost,sacredfire,toxic": 322}, + "honchkrow": {"lifeorb,moxie,bravebird,pursuit,roost,suckerpunch": 218, "lifeorb,moxie,bravebird,roost,suckerpunch,superpower": 217, "lifeorb,moxie,bravebird,heatwave,pursuit,suckerpunch": 217, "lifeorb,moxie,bravebird,heatwave,suckerpunch,superpower": 213, "lifeorb,moxie,bravebird,heatwave,roost,suckerpunch": 193, "choiceband,moxie,bravebird,pursuit,suckerpunch,superpower": 213}, + "hoopa": {"lifeorb,magician,focusblast,nastyplot,psychic,shadowball": 225, "choicescarf,magician,focusblast,psyshock,shadowball,trick": 230, "choicescarf,magician,focusblast,psychic,shadowball,trick": 223, "lifeorb,magician,focusblast,nastyplot,psyshock,shadowball": 232}, + "hoopaunbound": {"choiceband,magician,gunkshot,hyperspacefury,trick,zenheadbutt": 165, "assaultvest,magician,drainpunch,gunkshot,hyperspacefury,psychic": 169, "choicescarf,magician,drainpunch,hyperspacefury,psychic,trick": 136, "choicescarf,magician,gunkshot,hyperspacefury,psychic,trick": 165, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,zenheadbutt": 143, "choiceband,magician,drainpunch,hyperspacefury,trick,zenheadbutt": 125}, + "houndoom": {"lifeorb,flashfire,darkpulse,fireblast,sludgebomb,suckerpunch": 109, "lifeorb,flashfire,darkpulse,fireblast,nastyplot,sludgebomb": 92, "lifeorb,flashfire,darkpulse,fireblast,nastyplot,suckerpunch": 103}, + "houndoommega": {"houndoominite,flashfire,darkpulse,fireblast,nastyplot,taunt": 548, "houndoominite,flashfire,darkpulse,fireblast,nastyplot,sludgebomb": 509}, + "huntail": {"whiteherb,waterveil,icebeam,return,shellsmash,waterfall": 791, "whiteherb,waterveil,icebeam,shellsmash,suckerpunch,waterfall": 813, "whiteherb,swiftswim,icebeam,shellsmash,suckerpunch,waterfall": 8, "whiteherb,swiftswim,icebeam,return,shellsmash,waterfall": 8}, + "hydreigon": {"assaultvest,levitate,darkpulse,dracometeor,flashcannon,superpower": 232, "leftovers,levitate,darkpulse,dracometeor,roost,uturn": 212, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,roost": 38, "assaultvest,levitate,darkpulse,dracometeor,superpower,uturn": 250, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn": 49, "lifeorb,levitate,darkpulse,dracometeor,fireblast,roost": 47, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn": 40, "choicespecs,levitate,darkpulse,dracometeor,earthpower,uturn": 55, "leftovers,levitate,darkpulse,dracometeor,fireblast,roost": 225, "lifeorb,levitate,darkpulse,dracometeor,earthpower,roost": 52, "choicescarf,levitate,darkpulse,dracometeor,earthpower,fireblast": 28, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon": 26, "lifeorb,levitate,darkpulse,dracometeor,roost,uturn": 40, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon": 21, "choicespecs,levitate,darkpulse,dracometeor,earthpower,fireblast": 16, "choicescarf,levitate,darkpulse,dracometeor,earthpower,flashcannon": 28, "choicespecs,levitate,darkpulse,dracometeor,earthpower,flashcannon": 18}, + "hypno": {"leftovers,insomnia,protect,psychic,thunderwave,wish": 162, "leftovers,insomnia,focusblast,foulplay,psychic,thunderwave": 158, "leftovers,insomnia,foulplay,protect,psychic,wish": 117, "leftovers,insomnia,focusblast,foulplay,psychic,toxic": 177, "leftovers,insomnia,protect,seismictoss,toxic,wish": 926, "leftovers,insomnia,protect,psychic,toxic,wish": 157, "leftovers,insomnia,focusblast,protect,psychic,wish": 150}, + "illumise": {"leftovers,prankster,bugbuzz,encore,roost,thunderwave": 1414}, + "infernape": {"lifeorb,ironfist,closecombat,grassknot,machpunch,overheat": 187, "lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance": 157, "lifeorb,ironfist,closecombat,machpunch,overheat,stealthrock": 96, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance": 74, "lifeorb,blaze,closecombat,machpunch,overheat,stealthrock": 104, "lifeorb,blaze,closecombat,grassknot,machpunch,overheat": 159, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge": 66, "choiceband,ironfist,closecombat,flareblitz,machpunch,uturn": 77, "lifeorb,ironfist,closecombat,flareblitz,machpunch,swordsdance": 61, "choiceband,ironfist,closecombat,flareblitz,machpunch,stoneedge": 59, "lifeorb,blaze,closecombat,grassknot,overheat,stealthrock": 228, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn": 95, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn": 73, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn": 73}, + "jellicent": {"leftovers,waterabsorb,recover,scald,shadowball,taunt": 374, "leftovers,waterabsorb,hex,recover,scald,willowisp": 350, "leftovers,waterabsorb,hex,recover,scald,toxic": 358, "leftovers,waterabsorb,icebeam,recover,scald,shadowball": 374}, + "jirachi": {"leftovers,serenegrace,firepunch,ironhead,protect,wish": 142, "leftovers,serenegrace,ironhead,protect,toxic,wish": 132, "leftovers,serenegrace,bodyslam,ironhead,protect,wish": 150, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,toxic": 52, "assaultvest,serenegrace,bodyslam,firepunch,ironhead,uturn": 55, "leftovers,serenegrace,ironhead,protect,stealthrock,wish": 111, "leftovers,serenegrace,ironhead,protect,uturn,wish": 155, "leftovers,serenegrace,firepunch,ironhead,toxic,uturn": 61, "choicescarf,serenegrace,firepunch,healingwish,ironhead,uturn": 258, "leftovers,serenegrace,bodyslam,firepunch,ironhead,toxic": 56, "leftovers,serenegrace,ironhead,stealthrock,toxic,uturn": 44, "leftovers,serenegrace,firepunch,ironhead,stealthrock,toxic": 39, "leftovers,serenegrace,bodyslam,ironhead,toxic,uturn": 65, "leftovers,serenegrace,firepunch,ironhead,stealthrock,uturn": 34, "leftovers,serenegrace,bodyslam,firepunch,ironhead,stealthrock": 56, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn": 43}, + "jolteon": {"choicespecs,voltabsorb,hiddenpowerice,shadowball,thunderbolt,voltswitch": 868, "choicespecs,voltabsorb,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 877}, + "jumpluff": {",infiltrator,acrobatics,encore,sleeppowder,uturn": 159, ",infiltrator,acrobatics,leechseed,protect,substitute": 558, ",infiltrator,acrobatics,sleeppowder,toxic,uturn": 136, ",infiltrator,acrobatics,encore,sleeppowder,toxic": 156, ",infiltrator,acrobatics,encore,toxic,uturn": 143}, + "jynx": {"lifeorb,dryskin,focusblast,icebeam,nastyplot,psyshock": 356, "choicescarf,dryskin,focusblast,icebeam,psychic,trick": 165, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,nastyplot": 140, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psyshock": 166, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psychic": 166, "choicescarf,dryskin,focusblast,icebeam,psyshock,trick": 170, "lifeorb,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 160}, + "kabutops": {"lifeorb,battlearmor,aquajet,stoneedge,swordsdance,waterfall": 286, "assaultvest,battlearmor,knockoff,rapidspin,stoneedge,waterfall": 216, "lifeorb,battlearmor,knockoff,stoneedge,swordsdance,waterfall": 254, "choiceband,battlearmor,aquajet,knockoff,stoneedge,waterfall": 244, "focussash,battlearmor,knockoff,stoneedge,swordsdance,waterfall": 44, "assaultvest,battlearmor,aquajet,rapidspin,stoneedge,waterfall": 264, "focussash,swiftswim,knockoff,stoneedge,swordsdance,waterfall": 2, "focussash,swiftswim,aquajet,stoneedge,swordsdance,waterfall": 1, "focussash,battlearmor,aquajet,stoneedge,swordsdance,waterfall": 43, "assaultvest,swiftswim,aquajet,rapidspin,stoneedge,waterfall": 2, "choiceband,swiftswim,aquajet,knockoff,stoneedge,waterfall": 3, "lifeorb,swiftswim,knockoff,stoneedge,swordsdance,waterfall": 3, "lifeorb,swiftswim,aquajet,stoneedge,swordsdance,waterfall": 2, "assaultvest,swiftswim,knockoff,rapidspin,stoneedge,waterfall": 1}, + "kangaskhan": {"choiceband,scrappy,doubleedge,drainpunch,earthquake,suckerpunch": 25, "assaultvest,scrappy,drainpunch,fakeout,return,suckerpunch": 40, "silkscarf,scrappy,doubleedge,drainpunch,earthquake,fakeout": 30, "assaultvest,scrappy,earthquake,fakeout,return,suckerpunch": 40, "silkscarf,scrappy,doubleedge,drainpunch,fakeout,suckerpunch": 21, "silkscarf,scrappy,drainpunch,fakeout,return,suckerpunch": 32, "choiceband,scrappy,drainpunch,earthquake,return,suckerpunch": 31, "silkscarf,scrappy,doubleedge,earthquake,fakeout,suckerpunch": 32, "assaultvest,scrappy,drainpunch,earthquake,return,suckerpunch": 38, "silkscarf,scrappy,earthquake,fakeout,return,suckerpunch": 26, "assaultvest,scrappy,drainpunch,earthquake,fakeout,return": 57, "silkscarf,scrappy,drainpunch,earthquake,fakeout,return": 25}, + "kangaskhanmega": {"kangaskhanite,scrappy,crunch,earthquake,poweruppunch,return": 166, "kangaskhanite,scrappy,bodyslam,crunch,seismictoss,suckerpunch": 220, "kangaskhanite,scrappy,bodyslam,earthquake,poweruppunch,suckerpunch": 143, "kangaskhanite,scrappy,bodyslam,fakeout,seismictoss,suckerpunch": 208, "kangaskhanite,scrappy,bodyslam,crunch,earthquake,poweruppunch": 141, "kangaskhanite,scrappy,earthquake,poweruppunch,return,suckerpunch": 157, "kangaskhanite,scrappy,bodyslam,crunch,fakeout,seismictoss": 206}, + "kecleon": {"leftovers,protean,drainpunch,knockoff,recover,stealthrock": 246, "lifeorb,protean,drainpunch,recover,shadowsneak,suckerpunch": 96, "lifeorb,protean,drainpunch,knockoff,recover,shadowsneak": 119, "leftovers,protean,drainpunch,knockoff,recover,thunderwave": 294, "leftovers,protean,drainpunch,knockoff,recover,toxic": 285, "lifeorb,protean,drainpunch,knockoff,shadowsneak,stealthrock": 72, "leftovers,protean,drainpunch,recover,shadowsneak,stealthrock": 72, "focussash,protean,drainpunch,shadowsneak,stealthrock,suckerpunch": 16, "focussash,protean,drainpunch,knockoff,shadowsneak,stealthrock": 19, "assaultvest,protean,drainpunch,fakeout,knockoff,shadowsneak": 94, "assaultvest,protean,drainpunch,fakeout,shadowsneak,suckerpunch": 92, "focussash,protean,drainpunch,fakeout,shadowsneak,stealthrock": 9, "lifeorb,protean,drainpunch,shadowsneak,stealthrock,suckerpunch": 58, "lifeorb,protean,drainpunch,fakeout,recover,shadowsneak": 93, "lifeorb,protean,drainpunch,fakeout,shadowsneak,stealthrock": 49}, + "keldeo": {"lifeorb,justified,calmmind,icywind,scald,secretsword": 99, "choicescarf,justified,focusblast,hydropump,scald,secretsword": 252, "lifeorb,justified,calmmind,hiddenpowerelectric,hydropump,secretsword": 89, "lifeorb,justified,calmmind,hydropump,icywind,secretsword": 75, "leftovers,justified,calmmind,scald,secretsword,substitute": 451, "lifeorb,justified,calmmind,hiddenpowerflying,hydropump,secretsword": 88, "choicespecs,justified,focusblast,hydropump,scald,secretsword": 233, "lifeorb,justified,calmmind,hiddenpowerelectric,scald,secretsword": 84, "lifeorb,justified,calmmind,hiddenpowerflying,scald,secretsword": 67}, + "kingdra": {"lifeorb,swiftswim,dracometeor,hydropump,raindance,waterfall": 847, "lifeorb,swiftswim,dracometeor,hydropump,icebeam,raindance": 434, "lifeorb,swiftswim,dracometeor,icebeam,raindance,waterfall": 431}, + "kingler": {"lifeorb,hypercutter,agility,crabhammer,superpower,xscissor": 103, "lifeorb,sheerforce,agility,crabhammer,rockslide,xscissor": 82, "lifeorb,hypercutter,agility,crabhammer,superpower,swordsdance": 108, "lifeorb,hypercutter,crabhammer,superpower,swordsdance,xscissor": 108, "lifeorb,hypercutter,agility,crabhammer,knockoff,swordsdance": 93, "lifeorb,sheerforce,agility,crabhammer,rockslide,swordsdance": 89, "lifeorb,sheerforce,agility,crabhammer,rockslide,superpower": 90, "lifeorb,sheerforce,agility,crabhammer,knockoff,rockslide": 94, "lifeorb,sheerforce,crabhammer,rockslide,superpower,swordsdance": 100, "lifeorb,hypercutter,crabhammer,knockoff,superpower,swordsdance": 120, "lifeorb,sheerforce,crabhammer,knockoff,rockslide,swordsdance": 104, "lifeorb,hypercutter,agility,crabhammer,swordsdance,xscissor": 84, "lifeorb,sheerforce,crabhammer,rockslide,swordsdance,xscissor": 98, "lifeorb,hypercutter,crabhammer,knockoff,swordsdance,xscissor": 80, "lifeorb,hypercutter,agility,crabhammer,knockoff,xscissor": 88, "lifeorb,hypercutter,agility,crabhammer,knockoff,superpower": 101}, + "klefki": {"leftovers,prankster,dazzlinggleam,foulplay,spikes,thunderwave": 764, "leftovers,prankster,magnetrise,playrough,spikes,thunderwave": 819}, + "klinklang": {"leftovers,clearbody,geargrind,shiftgear,substitute,wildcharge": 357, "leftovers,clearbody,geargrind,return,shiftgear,substitute": 365, "lifeorb,clearbody,geargrind,return,shiftgear,wildcharge": 778}, + "kricketune": {"leftovers,technician,bugbite,stickyweb,taunt,toxic": 405, "focussash,technician,bugbite,knockoff,stickyweb,taunt": 75, "focussash,technician,bugbite,stickyweb,taunt,toxic": 83, "leftovers,technician,bugbite,knockoff,stickyweb,toxic": 368, "leftovers,technician,bugbite,knockoff,stickyweb,taunt": 369, "focussash,technician,bugbite,knockoff,stickyweb,toxic": 62, "leftovers,technician,bugbite,knockoff,taunt,toxic": 28}, + "krookodile": {"lifeorb,intimidate,earthquake,knockoff,stealthrock,stoneedge": 160, "choicescarf,intimidate,earthquake,knockoff,stoneedge,superpower": 126, "choiceband,intimidate,earthquake,knockoff,pursuit,stoneedge": 198, "choiceband,intimidate,earthquake,knockoff,stoneedge,superpower": 99, "lifeorb,intimidate,earthquake,knockoff,stealthrock,superpower": 169, "choiceband,intimidate,earthquake,knockoff,pursuit,superpower": 210, "lifeorb,intimidate,earthquake,knockoff,pursuit,stealthrock": 158}, + "kyogre": {"choicescarf,drizzle,icebeam,scald,thunder,waterspout": 402, "choicescarf,drizzle,icebeam,originpulse,thunder,waterspout": 377}, + "kyogreprimal": {"blueorb,drizzle,calmmind,icebeam,originpulse,thunder": 390, "blueorb,drizzle,calmmind,rest,scald,sleeptalk": 373}, + "kyurem": {"assaultvest,pressure,earthpower,focusblast,icebeam,outrage": 27, "leftovers,pressure,dracometeor,icebeam,outrage,roost": 35, "leftovers,pressure,dracometeor,icebeam,roost,substitute": 30, "leftovers,pressure,earthpower,icebeam,roost,substitute": 144, "assaultvest,pressure,dracometeor,earthpower,icebeam,outrage": 47, "leftovers,pressure,earthpower,icebeam,outrage,roost": 28, "leftovers,pressure,dracometeor,earthpower,icebeam,roost": 28, "assaultvest,pressure,dracometeor,focusblast,icebeam,outrage": 44, "choicescarf,pressure,dracometeor,earthpower,focusblast,icebeam": 11, "leftovers,pressure,icebeam,outrage,roost,substitute": 24, "choicespecs,pressure,dracometeor,earthpower,focusblast,icebeam": 12}, + "kyuremblack": {"leftovers,teravolt,earthpower,icebeam,outrage,roost": 144, "leftovers,teravolt,fusionbolt,icebeam,outrage,roost": 139, "leftovers,teravolt,icebeam,outrage,roost,substitute": 156}, + "kyuremwhite": {"choicespecs,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 70, "choicescarf,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 100, "lifeorb,turboblaze,dracometeor,fusionflare,icebeam,roost": 158, "lifeorb,turboblaze,dracometeor,earthpower,icebeam,roost": 170}, + "landorus": {"lifeorb,sheerforce,earthpower,knockoff,rockslide,stealthrock": 27, "lifeorb,sheerforce,earthpower,focusblast,psychic,rockslide": 33, "lifeorb,sheerforce,calmmind,earthpower,psychic,sludgewave": 73, "lifeorb,sheerforce,earthpower,knockoff,psychic,rockslide": 22, "lifeorb,sheerforce,earthpower,knockoff,rockslide,sludgewave": 27, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave": 33, "lifeorb,sheerforce,earthpower,focusblast,knockoff,rockslide": 26, "lifeorb,sheerforce,calmmind,earthpower,focusblast,sludgewave": 76, "lifeorb,sheerforce,calmmind,earthpower,rockpolish,sludgewave": 134, "lifeorb,sheerforce,earthpower,psychic,rockpolish,rockslide": 26, "lifeorb,sheerforce,earthpower,focusblast,rockslide,stealthrock": 33, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,sludgewave": 60, "lifeorb,sheerforce,earthpower,knockoff,rockpolish,rockslide": 32, "lifeorb,sheerforce,earthpower,rockpolish,rockslide,sludgewave": 29, "lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock": 23, "lifeorb,sheerforce,earthpower,psychic,rockpolish,sludgewave": 57, "lifeorb,sheerforce,earthpower,psychic,rockslide,stealthrock": 30, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,rockslide": 31, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave": 22}, + "landorustherian": {"lifeorb,intimidate,earthquake,knockoff,stoneedge,swordsdance": 62, "lifeorb,intimidate,earthquake,rockpolish,stoneedge,swordsdance": 136, "leftovers,intimidate,earthquake,stealthrock,stoneedge,toxic": 32, "leftovers,intimidate,earthquake,knockoff,stoneedge,toxic": 56, "lifeorb,intimidate,earthquake,knockoff,rockpolish,stoneedge": 63, "leftovers,intimidate,earthquake,knockoff,toxic,uturn": 53, "leftovers,intimidate,earthquake,knockoff,stealthrock,stoneedge": 27, "leftovers,intimidate,earthquake,stealthrock,toxic,uturn": 36, "lifeorb,intimidate,earthquake,rockpolish,stoneedge,superpower": 62, "leftovers,intimidate,earthquake,stoneedge,toxic,uturn": 41, "leftovers,intimidate,earthquake,knockoff,stealthrock,toxic": 25, "choicescarf,intimidate,earthquake,knockoff,stoneedge,uturn": 28, "lifeorb,intimidate,earthquake,stoneedge,superpower,swordsdance": 64, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn": 43, "choiceband,intimidate,earthquake,knockoff,stoneedge,uturn": 22, "leftovers,intimidate,earthquake,knockoff,stealthrock,uturn": 27}, + "lanturn": {"leftovers,voltabsorb,healbell,icebeam,scald,thunderbolt": 198, "leftovers,voltabsorb,healbell,scald,thunderbolt,voltswitch": 240, "leftovers,voltabsorb,scald,thunderbolt,toxic,voltswitch": 245, "choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch": 275, "leftovers,voltabsorb,healbell,scald,thunderbolt,toxic": 196, "leftovers,voltabsorb,icebeam,scald,thunderbolt,toxic": 253}, + "lapras": {"leftovers,waterabsorb,freezedry,hydropump,protect,toxic": 610, "leftovers,waterabsorb,freezedry,healbell,hydropump,icebeam": 236, "leftovers,waterabsorb,freezedry,healbell,hydropump,toxic": 105, "leftovers,waterabsorb,freezedry,hydropump,icebeam,toxic": 269}, + "latias": {"souldew,levitate,calmmind,dracometeor,psyshock,roost": 345}, + "latiasmega": {"latiasite,levitate,calmmind,dracometeor,psyshock,roost": 1189}, + "latios": {"souldew,levitate,calmmind,dracometeor,psyshock,roost": 325}, + "latiosmega": {"latiosite,levitate,calmmind,dracometeor,psyshock,roost": 1089}, + "leafeon": {"lifeorb,chlorophyll,knockoff,leafblade,swordsdance,xscissor": 459, "lifeorb,chlorophyll,doubleedge,knockoff,leafblade,swordsdance": 425, "lifeorb,chlorophyll,knockoff,leafblade,swordsdance,synthesis": 436}, + "leavanny": {"leftovers,chlorophyll,knockoff,leafblade,stickyweb,toxic": 314, "leftovers,swarm,leafblade,stickyweb,toxic,xscissor": 324, "lifeorb,swarm,knockoff,leafblade,stickyweb,xscissor": 310, "focussash,chlorophyll,knockoff,leafblade,stickyweb,toxic": 44, "lifeorb,swarm,knockoff,leafblade,toxic,xscissor": 34, "focussash,swarm,knockoff,leafblade,stickyweb,xscissor": 38, "lifeorb,chlorophyll,knockoff,leafblade,stickyweb,xscissor": 5, "focussash,swarm,leafblade,stickyweb,toxic,xscissor": 33, "focussash,chlorophyll,leafblade,stickyweb,toxic,xscissor": 1}, + "ledian": {"leftovers,earlybird,encore,knockoff,roost,toxic": 569, "leftovers,earlybird,focusblast,knockoff,roost,toxic": 556}, + "lickilicky": {"assaultvest,owntempo,bodyslam,dragontail,earthquake,knockoff": 49, "leftovers,oblivious,bodyslam,explosion,knockoff,swordsdance": 50, "leftovers,cloudnine,bodyslam,explosion,knockoff,swordsdance": 57, "leftovers,oblivious,explosion,knockoff,return,swordsdance": 45, "assaultvest,cloudnine,bodyslam,earthquake,explosion,powerwhip": 51, "leftovers,cloudnine,explosion,knockoff,return,swordsdance": 49, "assaultvest,owntempo,bodyslam,dragontail,earthquake,powerwhip": 46, "leftovers,cloudnine,bodyslam,knockoff,powerwhip,swordsdance": 48, "leftovers,oblivious,bodyslam,knockoff,protect,wish": 135, "assaultvest,owntempo,bodyslam,dragontail,earthquake,explosion": 52, "leftovers,oblivious,bodyslam,knockoff,powerwhip,swordsdance": 50, "assaultvest,cloudnine,bodyslam,earthquake,knockoff,powerwhip": 53, "leftovers,cloudnine,bodyslam,healbell,protect,wish": 130, "leftovers,cloudnine,bodyslam,knockoff,protect,wish": 154, "leftovers,cloudnine,bodyslam,earthquake,knockoff,swordsdance": 51, "assaultvest,cloudnine,bodyslam,earthquake,explosion,knockoff": 42, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,knockoff": 50, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,powerwhip": 47, "leftovers,oblivious,bodyslam,healbell,protect,wish": 125, "assaultvest,owntempo,bodyslam,earthquake,explosion,powerwhip": 51, "leftovers,oblivious,earthquake,knockoff,return,swordsdance": 46, "leftovers,oblivious,knockoff,powerwhip,return,swordsdance": 45, "leftovers,cloudnine,knockoff,powerwhip,return,swordsdance": 44, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,explosion": 57, "leftovers,cloudnine,earthquake,knockoff,return,swordsdance": 50, "assaultvest,owntempo,bodyslam,earthquake,knockoff,powerwhip": 38, "leftovers,oblivious,bodyslam,earthquake,knockoff,swordsdance": 35, "assaultvest,owntempo,bodyslam,earthquake,explosion,knockoff": 44}, + "liepard": {"lifeorb,prankster,gunkshot,knockoff,playrough,thunderwave": 796, "leftovers,prankster,copycat,knockoff,substitute,thunderwave": 191, "leftovers,prankster,encore,knockoff,substitute,thunderwave": 152, "leftovers,prankster,copycat,encore,knockoff,thunderwave": 179, "leftovers,prankster,encore,knockoff,thunderwave,uturn": 264}, + "lilligant": {"lifeorb,owntempo,hiddenpowerrock,petaldance,quiverdance,sleeppowder": 304, "lifeorb,owntempo,hiddenpowerfire,petaldance,quiverdance,sleeppowder": 324, "lifeorb,chlorophyll,gigadrain,hiddenpowerrock,quiverdance,sleeppowder": 326, "lifeorb,chlorophyll,gigadrain,hiddenpowerfire,quiverdance,sleeppowder": 322}, + "linoone": {"sitrusberry,quickfeet,bellydrum,extremespeed,seedbomb,shadowclaw": 1654}, + "lopunny": {"choiceband,limber,highjumpkick,icepunch,return,switcheroo": 218, "choiceband,limber,healingwish,highjumpkick,icepunch,return": 208}, + "lopunnymega": {"lopunnite,limber,fakeout,highjumpkick,poweruppunch,return": 157, "lopunnite,limber,highjumpkick,poweruppunch,return,substitute": 244, "lopunnite,limber,encore,highjumpkick,return,substitute": 200, "lopunnite,limber,encore,fakeout,highjumpkick,return": 180, "lopunnite,limber,encore,highjumpkick,poweruppunch,return": 150, "lopunnite,limber,fakeout,highjumpkick,return,substitute": 188}, + "lucario": {"lifeorb,innerfocus,aurasphere,flashcannon,nastyplot,vacuumwave": 156, "lifeorb,justified,closecombat,extremespeed,stoneedge,swordsdance": 24, "lifeorb,justified,bulletpunch,closecombat,extremespeed,swordsdance": 28, "choiceband,justified,closecombat,crunch,extremespeed,stoneedge": 31, "lifeorb,justified,closecombat,crunch,extremespeed,swordsdance": 31, "choiceband,justified,bulletpunch,closecombat,crunch,extremespeed": 27, "choiceband,justified,bulletpunch,closecombat,extremespeed,stoneedge": 19}, + "lucariomega": {"lucarionite,justified,aurasphere,flashcannon,nastyplot,vacuumwave": 616, "lucarionite,justified,bulletpunch,closecombat,irontail,swordsdance": 540}, + "ludicolo": {"lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance": 791, "choicespecs,swiftswim,energyball,hydropump,icebeam,scald": 791}, + "lugia": {"leftovers,multiscale,aeroblast,roost,toxic,whirlwind": 454, "leftovers,multiscale,aeroblast,roost,substitute,toxic": 408, "leftovers,multiscale,aeroblast,earthquake,roost,toxic": 417}, + "lumineon": {"leftovers,stormdrain,defog,scald,toxic,uturn": 472, "leftovers,stormdrain,defog,icebeam,scald,toxic": 456, "leftovers,stormdrain,icebeam,scald,toxic,uturn": 239, "leftovers,stormdrain,defog,icebeam,scald,uturn": 481}, + "lunatone": {"leftovers,levitate,earthpower,moonlight,psychic,toxic": 293, "leftovers,levitate,moonlight,psychic,stealthrock,toxic": 195, "leftovers,levitate,earthpower,moonlight,psychic,stealthrock": 202, "lifeorb,levitate,earthpower,moonblast,moonlight,psychic": 138, "lifeorb,levitate,earthpower,icebeam,psychic,rockpolish": 138, "lifeorb,levitate,earthpower,moonblast,psychic,rockpolish": 159, "lifeorb,levitate,earthpower,icebeam,moonlight,psychic": 143, "choicespecs,levitate,earthpower,icebeam,moonblast,psychic": 114}, + "luvdisc": {"leftovers,hydration,icebeam,protect,scald,toxic": 711, "leftovers,hydration,protect,scald,substitute,toxic": 701}, + "luxray": {"assaultvest,intimidate,crunch,icefang,superpower,wildcharge": 297, "toxicorb,guts,crunch,facade,superpower,wildcharge": 913, "assaultvest,intimidate,crunch,superpower,voltswitch,wildcharge": 283, "assaultvest,intimidate,icefang,superpower,voltswitch,wildcharge": 305}, + "machamp": {"assaultvest,noguard,bulletpunch,dynamicpunch,knockoff,stoneedge": 857, "leftovers,noguard,bulkup,bulletpunch,dynamicpunch,knockoff": 279, "leftovers,noguard,bulkup,dynamicpunch,knockoff,stoneedge": 310, "choiceband,noguard,bulletpunch,dynamicpunch,knockoff,stoneedge": 282}, + "magcargo": {"leftovers,flamebody,ancientpower,lavaplume,recover,toxic": 670, "leftovers,flamebody,lavaplume,recover,stealthrock,toxic": 617}, + "magmortar": {"assaultvest,flamebody,earthquake,fireblast,hiddenpowerice,thunderbolt": 237, "leftovers,flamebody,fireblast,focusblast,taunt,thunderbolt": 240, "leftovers,flamebody,earthquake,fireblast,taunt,thunderbolt": 208, "assaultvest,flamebody,earthquake,fireblast,focusblast,thunderbolt": 237, "choicescarf,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 109, "leftovers,flamebody,fireblast,hiddenpowerice,taunt,thunderbolt": 232, "choicespecs,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 122}, + "magnezone": {"choicescarf,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 369, "leftovers,analytic,flashcannon,protect,thunderbolt,toxic": 751, "choicespecs,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 352}, + "malamar": {"leftovers,contrary,knockoff,rest,sleeptalk,superpower": 916, "chestoberry,contrary,knockoff,psychocut,rest,superpower": 884}, + "mamoswine": {"choiceband,thickfat,earthquake,iceshard,iciclecrash,knockoff": 748, "lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock": 565}, + "manaphy": {"leftovers,hydration,energyball,icebeam,surf,tailglow": 1611}, + "mandibuzz": {"leftovers,overcoat,defog,foulplay,roost,uturn": 101, "leftovers,overcoat,defog,foulplay,roost,taunt": 87, "leftovers,overcoat,bravebird,foulplay,roost,toxic": 49, "rockyhelmet,overcoat,bravebird,defog,knockoff,roost": 37, "rockyhelmet,overcoat,bravebird,foulplay,roost,taunt": 38, "rockyhelmet,overcoat,bravebird,knockoff,roost,taunt": 31, "rockyhelmet,overcoat,defog,foulplay,roost,taunt": 95, "rockyhelmet,overcoat,bravebird,knockoff,roost,toxic": 48, "rockyhelmet,overcoat,foulplay,roost,toxic,uturn": 9, "leftovers,overcoat,defog,foulplay,roost,toxic": 78, "leftovers,overcoat,bravebird,knockoff,roost,toxic": 46, "leftovers,overcoat,bravebird,defog,knockoff,roost": 39, "rockyhelmet,overcoat,bravebird,foulplay,roost,toxic": 44, "rockyhelmet,overcoat,bravebird,foulplay,roost,uturn": 27, "rockyhelmet,overcoat,defog,foulplay,roost,toxic": 89, "rockyhelmet,overcoat,bravebird,defog,foulplay,roost": 38, "leftovers,overcoat,bravebird,defog,foulplay,roost": 28, "rockyhelmet,overcoat,defog,foulplay,roost,uturn": 98, "leftovers,overcoat,foulplay,roost,toxic,uturn": 17, "leftovers,overcoat,bravebird,foulplay,roost,uturn": 45, "leftovers,overcoat,bravebird,knockoff,roost,taunt": 35, "leftovers,overcoat,bravebird,knockoff,roost,uturn": 37, "leftovers,overcoat,bravebird,foulplay,roost,taunt": 39, "rockyhelmet,overcoat,foulplay,roost,taunt,uturn": 14, "rockyhelmet,overcoat,bravebird,knockoff,roost,uturn": 39, "rockyhelmet,overcoat,foulplay,roost,taunt,toxic": 18, "leftovers,overcoat,foulplay,roost,taunt,uturn": 12, "leftovers,overcoat,foulplay,roost,taunt,toxic": 10}, + "manectric": {"choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 244, "choicespecs,lightningrod,flamethrower,hiddenpowerice,thunderbolt,voltswitch": 260}, + "manectricmega": {"manectite,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 1240}, + "mantine": {"chestoberry,waterabsorb,airslash,defog,rest,scald": 108, "leftovers,waterabsorb,rest,scald,sleeptalk,toxic": 723, "chestoberry,waterabsorb,defog,rest,scald,toxic": 115, "chestoberry,waterabsorb,airslash,rest,scald,toxic": 20, "chestoberry,waterabsorb,airslash,haze,rest,scald": 23, "leftovers,waterabsorb,airslash,defog,scald,toxic": 98, "leftovers,waterabsorb,defog,haze,scald,toxic": 118, "chestoberry,waterabsorb,defog,haze,rest,scald": 105, "leftovers,waterabsorb,airslash,defog,haze,scald": 105, "chestoberry,waterabsorb,haze,rest,scald,toxic": 18, "leftovers,waterabsorb,airslash,haze,scald,toxic": 23}, + "maractus": {"leftovers,waterabsorb,gigadrain,hiddenpowerice,leechseed,spikyshield": 168, "leftovers,stormdrain,gigadrain,hiddenpowerfire,leechseed,spikyshield": 196, "leftovers,waterabsorb,gigadrain,knockoff,spikes,synthesis": 29, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,spikes": 25, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,spikes": 35, "leftovers,stormdrain,gigadrain,spikes,synthesis,toxic": 35, "leftovers,stormdrain,gigadrain,knockoff,synthesis,toxic": 37, "leftovers,waterabsorb,gigadrain,knockoff,synthesis,toxic": 28, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,synthesis": 38, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,synthesis": 39, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,synthesis": 34, "leftovers,waterabsorb,gigadrain,spikes,synthesis,toxic": 40, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 32, "leftovers,waterabsorb,gigadrain,knockoff,spikes,toxic": 30, "leftovers,stormdrain,gigadrain,hiddenpowerice,leechseed,spikyshield": 171, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,toxic": 32, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,leechseed,spikyshield": 172, "focussash,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 6, "leftovers,stormdrain,gigadrain,knockoff,spikes,synthesis": 29, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,synthesis,toxic": 29, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,toxic": 37, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 30, "leftovers,stormdrain,gigadrain,hiddenpowerfire,synthesis,toxic": 27, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,synthesis": 32, "focussash,stormdrain,gigadrain,hiddenpowerfire,knockoff,spikes": 5, "leftovers,stormdrain,gigadrain,knockoff,spikes,toxic": 20, "focussash,waterabsorb,gigadrain,hiddenpowerfire,knockoff,spikes": 5, "focussash,waterabsorb,gigadrain,knockoff,spikes,toxic": 6, "focussash,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 1, "focussash,stormdrain,gigadrain,knockoff,spikes,toxic": 3}, + "marowak": {"thickclub,battlearmor,earthquake,knockoff,stealthrock,stoneedge": 260, "thickclub,rockhead,doubleedge,earthquake,stealthrock,stoneedge": 225, "thickclub,rockhead,doubleedge,earthquake,knockoff,stoneedge": 269, "thickclub,rockhead,doubleedge,earthquake,stoneedge,swordsdance": 291, "thickclub,battlearmor,earthquake,knockoff,stoneedge,swordsdance": 347}, + "masquerain": {"leftovers,intimidate,airslash,bugbuzz,hydropump,quiverdance": 603, "leftovers,intimidate,airslash,bugbuzz,stickyweb,stunspore": 55, "leftovers,intimidate,airslash,stickyweb,stunspore,uturn": 66, "leftovers,intimidate,airslash,bugbuzz,scald,stickyweb": 48, "leftovers,intimidate,airslash,roost,scald,stickyweb": 66, "leftovers,intimidate,airslash,roost,stickyweb,stunspore": 59, "leftovers,intimidate,airslash,bugbuzz,roost,stickyweb": 50, "leftovers,intimidate,airslash,bugbuzz,stickyweb,uturn": 51, "leftovers,intimidate,airslash,roost,stunspore,uturn": 6, "leftovers,intimidate,airslash,scald,stickyweb,uturn": 47, "leftovers,intimidate,airslash,roost,stickyweb,uturn": 58, "leftovers,intimidate,airslash,scald,stickyweb,stunspore": 62, "focussash,intimidate,airslash,bugbuzz,stickyweb,uturn": 7, "leftovers,intimidate,airslash,bugbuzz,stunspore,uturn": 1, "focussash,intimidate,airslash,scald,stickyweb,uturn": 11, "focussash,intimidate,airslash,bugbuzz,stickyweb,stunspore": 9, "focussash,intimidate,airslash,bugbuzz,scald,stickyweb": 4, "focussash,intimidate,airslash,stickyweb,stunspore,uturn": 4, "leftovers,intimidate,airslash,bugbuzz,scald,stunspore": 3, "leftovers,intimidate,airslash,roost,scald,uturn": 2, "leftovers,intimidate,airslash,roost,scald,stunspore": 1, "focussash,intimidate,airslash,scald,stickyweb,stunspore": 3, "leftovers,intimidate,airslash,bugbuzz,roost,uturn": 1, "choicespecs,intimidate,airslash,bugbuzz,scald,uturn": 1}, + "mawile": {"leftovers,intimidate,ironhead,knockoff,playrough,swordsdance": 95, "lifeorb,sheerforce,ironhead,knockoff,playrough,swordsdance": 91, "leftovers,intimidate,ironhead,playrough,suckerpunch,swordsdance": 28, "lifeorb,sheerforce,ironhead,knockoff,playrough,stealthrock": 45, "lifeorb,sheerforce,ironhead,playrough,suckerpunch,swordsdance": 28, "leftovers,intimidate,ironhead,knockoff,playrough,stealthrock": 59, "lifeorb,sheerforce,ironhead,playrough,stealthrock,suckerpunch": 11, "leftovers,intimidate,ironhead,playrough,stealthrock,suckerpunch": 37}, + "mawilemega": {"mawilite,intimidate,ironhead,playrough,suckerpunch,swordsdance": 606, "mawilite,intimidate,ironhead,knockoff,playrough,swordsdance": 587}, + "medicham": {"choiceband,purepower,bulletpunch,highjumpkick,icepunch,zenheadbutt": 161, "choiceband,purepower,bulletpunch,highjumpkick,poisonjab,zenheadbutt": 133, "choicescarf,purepower,highjumpkick,icepunch,poisonjab,zenheadbutt": 63, "choiceband,purepower,highjumpkick,icepunch,poisonjab,zenheadbutt": 55}, + "medichammega": {"medichamite,purepower,fakeout,highjumpkick,icepunch,zenheadbutt": 412, "medichamite,purepower,highjumpkick,icepunch,thunderpunch,zenheadbutt": 433, "medichamite,purepower,fakeout,highjumpkick,thunderpunch,zenheadbutt": 426}, + "meganium": {"leftovers,overgrow,earthquake,energyball,synthesis,toxic": 340, "leftovers,overgrow,aromatherapy,energyball,synthesis,toxic": 352, "leftovers,overgrow,dragontail,energyball,synthesis,toxic": 326, "leftovers,overgrow,energyball,leechseed,synthesis,toxic": 335}, + "meloetta": {"lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock": 428, "choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn": 417, "lifeorb,serenegrace,closecombat,knockoff,relicsong,return": 839}, + "meowstic": {"leftovers,prankster,psychic,signalbeam,thunderwave,yawn": 103, "leftovers,prankster,psychic,thunderwave,toxic,yawn": 112, "leftovers,prankster,healbell,psychic,signalbeam,thunderwave": 101, "lightclay,prankster,lightscreen,psychic,reflect,thunderwave": 285, "leftovers,prankster,healbell,psychic,thunderwave,yawn": 95, "leftovers,prankster,psychic,signalbeam,thunderwave,toxic": 89, "leftovers,prankster,healbell,psychic,thunderwave,toxic": 89}, + "meowsticf": {"lifeorb,competitive,calmmind,psyshock,signalbeam,thunderbolt": 148, "choicespecs,competitive,darkpulse,psyshock,signalbeam,thunderbolt": 151, "choicespecs,competitive,darkpulse,psychic,signalbeam,thunderbolt": 182, "lifeorb,competitive,calmmind,darkpulse,psychic,signalbeam": 168, "lifeorb,competitive,calmmind,darkpulse,psyshock,signalbeam": 157, "lifeorb,competitive,calmmind,psychic,signalbeam,thunderbolt": 170}, + "mesprit": {"leftovers,levitate,knockoff,psychic,stealthrock,toxic": 105, "lifeorb,levitate,calmmind,hiddenpowerfire,psychic,signalbeam": 60, "choicescarf,levitate,healingwish,psychic,signalbeam,uturn": 55, "leftovers,levitate,knockoff,psychic,thunderwave,uturn": 182, "choicescarf,levitate,healingwish,psyshock,signalbeam,thunderbolt": 61, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 61, "choicescarf,levitate,healingwish,hiddenpowerfire,psychic,signalbeam": 46, "choicespecs,levitate,psychic,signalbeam,thunderbolt,uturn": 35, "choicespecs,levitate,psyshock,signalbeam,thunderbolt,uturn": 70, "lifeorb,levitate,calmmind,psychic,signalbeam,thunderbolt": 62, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 127, "leftovers,levitate,knockoff,psychic,toxic,uturn": 216, "lifeorb,levitate,calmmind,psyshock,signalbeam,thunderbolt": 72, "choicescarf,levitate,hiddenpowerfire,psychic,signalbeam,thunderbolt": 20, "choicescarf,levitate,hiddenpowerfire,psyshock,signalbeam,thunderbolt": 24, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 122, "choicescarf,levitate,healingwish,psyshock,signalbeam,uturn": 61, "choicescarf,levitate,healingwish,hiddenpowerfire,psyshock,signalbeam": 50, "lifeorb,levitate,calmmind,hiddenpowerfire,psyshock,signalbeam": 58, "leftovers,levitate,knockoff,psychic,stealthrock,thunderwave": 112, "choicespecs,levitate,hiddenpowerfire,psychic,signalbeam,uturn": 55, "choicespecs,levitate,hiddenpowerfire,psychic,signalbeam,thunderbolt": 20, "choicespecs,levitate,hiddenpowerfire,psyshock,signalbeam,uturn": 43, "choicescarf,levitate,healingwish,psychic,signalbeam,thunderbolt": 76, "choicespecs,levitate,hiddenpowerfire,psyshock,signalbeam,thunderbolt": 22}, + "metagross": {"weaknesspolicy,clearbody,agility,earthquake,icepunch,meteormash": 63, "choicescarf,clearbody,earthquake,explosion,meteormash,zenheadbutt": 11, "weaknesspolicy,clearbody,agility,earthquake,meteormash,thunderpunch": 54, "leftovers,clearbody,earthquake,explosion,meteormash,stealthrock": 12, "weaknesspolicy,clearbody,agility,earthquake,meteormash,zenheadbutt": 54, "choicescarf,clearbody,earthquake,explosion,icepunch,meteormash": 11, "choicescarf,clearbody,earthquake,explosion,meteormash,thunderpunch": 9, "leftovers,clearbody,earthquake,meteormash,stealthrock,zenheadbutt": 11, "choicescarf,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 5, "choiceband,clearbody,bulletpunch,earthquake,explosion,meteormash": 12, "leftovers,clearbody,earthquake,meteormash,stealthrock,thunderpunch": 14, "choiceband,clearbody,bulletpunch,earthquake,meteormash,zenheadbutt": 18, "choiceband,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 7, "leftovers,clearbody,earthquake,icepunch,meteormash,stealthrock": 10, "choiceband,clearbody,earthquake,icepunch,meteormash,thunderpunch": 9, "choiceband,clearbody,bulletpunch,earthquake,meteormash,thunderpunch": 14, "leftovers,clearbody,bulletpunch,earthquake,meteormash,stealthrock": 7, "choiceband,clearbody,earthquake,explosion,meteormash,zenheadbutt": 5, "choiceband,clearbody,earthquake,explosion,icepunch,meteormash": 7, "choiceband,clearbody,bulletpunch,earthquake,icepunch,meteormash": 23, "choiceband,clearbody,earthquake,explosion,meteormash,thunderpunch": 8, "choiceband,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 4, "choicescarf,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 5, "choicescarf,clearbody,earthquake,icepunch,meteormash,thunderpunch": 9}, + "metagrossmega": {"metagrossite,clearbody,earthquake,honeclaws,meteormash,zenheadbutt": 286, "metagrossite,clearbody,agility,hammerarm,meteormash,zenheadbutt": 172, "metagrossite,clearbody,agility,earthquake,meteormash,zenheadbutt": 201, "metagrossite,clearbody,hammerarm,honeclaws,meteormash,zenheadbutt": 254, "metagrossite,clearbody,earthquake,hammerarm,meteormash,zenheadbutt": 199}, + "mew": {"leftovers,synchronize,psychic,roost,stealthrock,taunt": 34, "leftovers,synchronize,psychic,roost,stealthrock,uturn": 38, "leftovers,synchronize,knockoff,psychic,roost,willowisp": 56, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic": 70, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic": 59, "lifeorb,synchronize,aurasphere,nastyplot,psychic,roost": 31, "lifeorb,synchronize,drainpunch,knockoff,swordsdance,zenheadbutt": 620, "leftovers,synchronize,knockoff,psychic,roost,uturn": 54, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psyshock": 78, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psyshock": 68, "leftovers,synchronize,defog,psychic,roost,uturn": 52, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic": 72, "leftovers,synchronize,psychic,roost,uturn,willowisp": 43, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psyshock": 91, "lifeorb,synchronize,earthpower,nastyplot,psyshock,roost": 36, "leftovers,synchronize,knockoff,psychic,roost,taunt": 57, "leftovers,synchronize,psychic,roost,taunt,willowisp": 48, "lifeorb,synchronize,fireblast,nastyplot,psychic,roost": 35, "leftovers,synchronize,defog,psychic,roost,willowisp": 51, "leftovers,synchronize,defog,knockoff,psychic,roost": 38, "lifeorb,synchronize,aurasphere,nastyplot,psyshock,roost": 29, "leftovers,synchronize,psychic,roost,stealthrock,willowisp": 38, "leftovers,synchronize,psychic,roost,taunt,uturn": 57, "leftovers,synchronize,knockoff,psychic,roost,stealthrock": 52, "lifeorb,synchronize,earthpower,nastyplot,psychic,roost": 28, "lifeorb,synchronize,fireblast,nastyplot,psyshock,roost": 33, "leftovers,synchronize,defog,psychic,roost,taunt": 42}, + "mewtwo": {"lifeorb,unnerve,fireblast,psystrike,recover,shadowball": 57, "lifeorb,unnerve,aurasphere,calmmind,fireblast,psystrike": 58, "choicespecs,unnerve,aurasphere,fireblast,psystrike,shadowball": 75, "lifeorb,unnerve,aurasphere,calmmind,psystrike,shadowball": 55, "lifeorb,unnerve,aurasphere,calmmind,psystrike,recover": 28, "lifeorb,unnerve,calmmind,fireblast,psystrike,shadowball": 47, "lifeorb,unnerve,aurasphere,psystrike,recover,shadowball": 61, "lifeorb,unnerve,calmmind,psystrike,recover,shadowball": 38, "lifeorb,unnerve,calmmind,fireblast,psystrike,recover": 31, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover": 50}, + "mewtwomegax": {"mewtwonitex,unnerve,bulkup,drainpunch,stoneedge,zenheadbutt": 296, "mewtwonitex,unnerve,bulkup,drainpunch,taunt,zenheadbutt": 302}, + "mewtwomegay": {"mewtwonitey,unnerve,calmmind,psystrike,recover,shadowball": 64, "mewtwonitey,unnerve,calmmind,fireblast,psystrike,shadowball": 160, "mewtwonitey,unnerve,aurasphere,calmmind,fireblast,psystrike": 147, "mewtwonitey,unnerve,aurasphere,calmmind,psystrike,shadowball": 161, "mewtwonitey,unnerve,calmmind,fireblast,psystrike,recover": 72, "mewtwonitey,unnerve,aurasphere,calmmind,psystrike,recover": 69}, + "mienshao": {"assaultvest,regenerator,fakeout,highjumpkick,knockoff,uturn": 831, "choiceband,reckless,highjumpkick,knockoff,stoneedge,uturn": 208, "lifeorb,reckless,highjumpkick,knockoff,stoneedge,swordsdance": 172, "lifeorb,reckless,highjumpkick,knockoff,poisonjab,swordsdance": 176, "choiceband,reckless,highjumpkick,knockoff,poisonjab,uturn": 186, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 139}, + "mightyena": {"lifeorb,intimidate,crunch,playrough,suckerpunch,toxic": 758, "choiceband,intimidate,crunch,irontail,playrough,suckerpunch": 813}, + "milotic": {"leftovers,marvelscale,dragontail,recover,scald,toxic": 276, "leftovers,marvelscale,icebeam,recover,scald,toxic": 266, "leftovers,competitive,haze,recover,scald,toxic": 256, "leftovers,competitive,dragontail,recover,scald,toxic": 267, "leftovers,competitive,icebeam,recover,scald,toxic": 256, "leftovers,marvelscale,haze,recover,scald,toxic": 248}, + "miltank": {"leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 205, "leftovers,thickfat,bodyslam,earthquake,milkdrink,stealthrock": 165, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,stealthrock": 209, "leftovers,thickfat,bodyslam,curse,earthquake,milkdrink": 244, "leftovers,sapsipper,bodyslam,earthquake,healbell,milkdrink": 175, "leftovers,sapsipper,bodyslam,curse,earthquake,milkdrink": 232, "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 198, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,toxic": 232}, + "minun": {"lifeorb,voltabsorb,grassknot,hiddenpowerice,nastyplot,thunderbolt": 886, "leftovers,voltabsorb,hiddenpowerice,nastyplot,substitute,thunderbolt": 432, "leftovers,voltabsorb,encore,hiddenpowerice,nastyplot,thunderbolt": 401}, + "mismagius": {"choicespecs,levitate,dazzlinggleam,shadowball,thunderbolt,trick": 517, "leftovers,levitate,dazzlinggleam,destinybond,shadowball,willowisp": 163, "lifeorb,levitate,dazzlinggleam,nastyplot,shadowball,thunderbolt": 465, "leftovers,levitate,dazzlinggleam,painsplit,shadowball,willowisp": 161, "leftovers,levitate,dazzlinggleam,destinybond,shadowball,taunt": 151, "leftovers,levitate,dazzlinggleam,destinybond,painsplit,shadowball": 167, "leftovers,levitate,dazzlinggleam,shadowball,taunt,willowisp": 183, "leftovers,levitate,dazzlinggleam,painsplit,shadowball,taunt": 165}, + "moltres": {"leftovers,flamebody,fireblast,hurricane,roost,willowisp": 371, "leftovers,flamebody,fireblast,hurricane,roost,toxic": 339, "leftovers,flamebody,defog,fireblast,hurricane,roost": 278, "leftovers,flamebody,fireblast,hurricane,roost,uturn": 327}, + "mothim": {"leftovers,tintedlens,airslash,bugbuzz,energyball,quiverdance": 1220}, + "mrmime": {"lifeorb,filter,dazzlinggleam,nastyplot,psyshock,shadowball": 105, "lifeorb,filter,dazzlinggleam,focusblast,nastyplot,psychic": 108, "choicescarf,filter,dazzlinggleam,healingwish,psychic,shadowball": 130, "choicescarf,filter,dazzlinggleam,focusblast,healingwish,psychic": 134, "lifeorb,filter,dazzlinggleam,encore,nastyplot,psychic": 107, "choicescarf,filter,dazzlinggleam,healingwish,psyshock,shadowball": 137, "choicescarf,filter,dazzlinggleam,focusblast,healingwish,psyshock": 117, "lifeorb,filter,dazzlinggleam,focusblast,nastyplot,psyshock": 90, "choicescarf,filter,dazzlinggleam,focusblast,psychic,shadowball": 39, "lifeorb,filter,dazzlinggleam,nastyplot,psychic,shadowball": 93, "choicescarf,filter,dazzlinggleam,focusblast,psyshock,shadowball": 51, "choicespecs,filter,dazzlinggleam,focusblast,psychic,shadowball": 55, "lifeorb,filter,dazzlinggleam,encore,psychic,shadowball": 101, "choicespecs,filter,dazzlinggleam,focusblast,psyshock,shadowball": 53, "lifeorb,filter,dazzlinggleam,encore,focusblast,psychic": 110, "lifeorb,filter,dazzlinggleam,encore,nastyplot,psyshock": 96, "lifeorb,filter,dazzlinggleam,encore,focusblast,psyshock": 99, "lifeorb,filter,dazzlinggleam,encore,psyshock,shadowball": 85}, + "muk": {"choiceband,poisontouch,brickbreak,icepunch,poisonjab,shadowsneak": 152, "blacksludge,poisontouch,brickbreak,curse,gunkshot,shadowsneak": 207, "blacksludge,poisontouch,brickbreak,curse,gunkshot,icepunch": 189, "blacksludge,poisontouch,brickbreak,gunkshot,haze,shadowsneak": 177, "blacksludge,poisontouch,brickbreak,gunkshot,haze,icepunch": 176, "blacksludge,poisontouch,brickbreak,curse,poisonjab,shadowsneak": 183, "choiceband,poisontouch,brickbreak,gunkshot,icepunch,shadowsneak": 152, "blacksludge,poisontouch,brickbreak,curse,icepunch,poisonjab": 179, "blacksludge,poisontouch,brickbreak,haze,icepunch,poisonjab": 168, "blacksludge,poisontouch,brickbreak,haze,poisonjab,shadowsneak": 185}, + "murkrow": {"eviolite,prankster,bravebird,foulplay,roost,thunderwave": 485, "eviolite,prankster,foulplay,haze,roost,thunderwave": 461, "eviolite,prankster,defog,foulplay,roost,thunderwave": 375}, + "musharna": {"leftovers,synchronize,calmmind,moonlight,psyshock,signalbeam": 462, "leftovers,synchronize,calmmind,moonlight,psyshock,shadowball": 466, "rockyhelmet,synchronize,moonlight,psychic,signalbeam,toxic": 120, "leftovers,synchronize,moonlight,psychic,signalbeam,toxic": 120, "rockyhelmet,synchronize,healbell,moonlight,psychic,signalbeam": 86, "leftovers,synchronize,healbell,moonlight,psychic,toxic": 85, "leftovers,synchronize,healbell,moonlight,psychic,thunderwave": 86, "rockyhelmet,synchronize,moonlight,psychic,signalbeam,thunderwave": 98, "rockyhelmet,synchronize,healbell,moonlight,psychic,toxic": 91, "leftovers,synchronize,moonlight,psychic,signalbeam,thunderwave": 88, "rockyhelmet,synchronize,healbell,moonlight,psychic,thunderwave": 95, "leftovers,synchronize,healbell,moonlight,psychic,signalbeam": 65}, + "nidoking": {"lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 439, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,superpower": 480, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,substitute": 451}, + "nidoqueen": {"lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 495, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,toxicspikes": 454, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,stealthrock": 414}, + "ninetales": {"lifeorb,drought,fireblast,hiddenpowerrock,nastyplot,solarbeam": 711, "leftovers,drought,fireblast,nastyplot,solarbeam,substitute": 343, "leftovers,drought,fireblast,nastyplot,solarbeam,willowisp": 348}, + "ninjask": {"choiceband,infiltrator,aerialace,nightslash,uturn,xscissor": 578, "leftovers,infiltrator,aerialace,nightslash,swordsdance,xscissor": 574}, + "noctowl": {"leftovers,tintedlens,airslash,defog,hypervoice,roost": 1062, "leftovers,tintedlens,airslash,hypervoice,roost,toxic": 125}, + "noivern": {"choicespecs,infiltrator,boomburst,dracometeor,hurricane,uturn": 163, "lifeorb,infiltrator,dracometeor,hurricane,roost,uturn": 188, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,uturn": 161, "lifeorb,infiltrator,dracometeor,flamethrower,hurricane,roost": 144, "lifeorb,infiltrator,boomburst,dracometeor,hurricane,roost": 170, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,switcheroo": 177, "choicespecs,infiltrator,boomburst,dracometeor,hurricane,switcheroo": 193, "choicespecs,infiltrator,boomburst,dracometeor,flamethrower,hurricane": 135}, + "octillery": {"lifeorb,sniper,energyball,gunkshot,hydropump,icebeam": 104, "leftovers,sniper,energyball,icebeam,scald,thunderwave": 59, "lifeorb,sniper,fireblast,gunkshot,hydropump,icebeam": 98, "leftovers,sniper,fireblast,icebeam,scald,thunderwave": 60, "leftovers,sniper,energyball,gunkshot,scald,thunderwave": 52, "choicespecs,sniper,energyball,fireblast,icebeam,scald": 192, "leftovers,sniper,energyball,fireblast,scald,thunderwave": 64, "assaultvest,sniper,energyball,gunkshot,icebeam,scald": 102, "leftovers,sniper,gunkshot,icebeam,scald,thunderwave": 93, "leftovers,sniper,fireblast,gunkshot,scald,thunderwave": 73, "assaultvest,sniper,fireblast,gunkshot,icebeam,scald": 93, "lifeorb,sniper,energyball,fireblast,gunkshot,scald": 97, "lifeorb,sniper,fireblast,gunkshot,icebeam,scald": 109, "assaultvest,sniper,energyball,fireblast,gunkshot,scald": 107, "lifeorb,sniper,energyball,gunkshot,icebeam,scald": 88, "choicespecs,sniper,energyball,fireblast,hydropump,icebeam": 104, "lifeorb,sniper,energyball,fireblast,gunkshot,hydropump": 106}, + "omastar": {"whiteherb,shellarmor,hiddenpowergrass,hydropump,icebeam,shellsmash": 1333, "whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 13}, + "pachirisu": {"assaultvest,voltabsorb,nuzzle,superfang,thunderbolt,uturn": 439, "leftovers,voltabsorb,nuzzle,thunderbolt,toxic,uturn": 439, "leftovers,voltabsorb,superfang,thunderbolt,toxic,uturn": 440, "leftovers,voltabsorb,nuzzle,superfang,thunderbolt,toxic": 457}, + "palkia": {"lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave": 445, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend": 435, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend": 438, "lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave": 486}, + "pangoro": {"lifeorb,scrappy,gunkshot,knockoff,partingshot,superpower": 273, "choiceband,ironfist,gunkshot,icepunch,knockoff,superpower": 247, "lifeorb,ironfist,drainpunch,gunkshot,knockoff,partingshot": 267, "lifeorb,ironfist,drainpunch,gunkshot,knockoff,swordsdance": 250, "lifeorb,scrappy,gunkshot,knockoff,superpower,swordsdance": 275, "choiceband,ironfist,drainpunch,gunkshot,icepunch,knockoff": 263}, + "parasect": {"leftovers,dryskin,knockoff,spore,stunspore,xscissor": 163, "leftovers,dryskin,aromatherapy,seedbomb,spore,xscissor": 208, "leftovers,dryskin,knockoff,seedbomb,spore,xscissor": 385, "leftovers,dryskin,seedbomb,spore,stunspore,xscissor": 200, "leftovers,dryskin,aromatherapy,knockoff,spore,xscissor": 190}, + "pelipper": {"leftovers,raindish,defog,roost,scald,uturn": 212, "leftovers,raindish,hurricane,knockoff,roost,scald": 180, "leftovers,raindish,defog,knockoff,roost,scald": 224, "leftovers,raindish,defog,roost,scald,toxic": 226, "leftovers,raindish,hurricane,roost,scald,toxic": 179, "leftovers,raindish,defog,hurricane,roost,scald": 153, "leftovers,raindish,hurricane,roost,scald,uturn": 203, "leftovers,raindish,knockoff,roost,scald,toxic": 25, "leftovers,raindish,roost,scald,toxic,uturn": 26, "leftovers,raindish,knockoff,roost,scald,uturn": 30}, + "persian": {"choiceband,limber,knockoff,return,seedbomb,uturn": 244, "silkscarf,technician,fakeout,knockoff,return,uturn": 291, "lifeorb,technician,hiddenpowerfighting,hypervoice,nastyplot,shadowball": 548, "choiceband,limber,doubleedge,knockoff,seedbomb,uturn": 294, "silkscarf,technician,doubleedge,fakeout,knockoff,uturn": 279}, + "phione": {"assaultvest,hydration,icebeam,knockoff,scald,uturn": 178, "leftovers,hydration,healbell,scald,toxic,uturn": 141, "leftovers,hydration,healbell,knockoff,scald,toxic": 156, "leftovers,hydration,knockoff,scald,toxic,uturn": 161, "leftovers,hydration,healbell,icebeam,knockoff,scald": 148, "leftovers,hydration,healbell,icebeam,scald,uturn": 138, "leftovers,hydration,healbell,icebeam,scald,toxic": 142, "leftovers,hydration,icebeam,scald,toxic,uturn": 183, "leftovers,hydration,icebeam,knockoff,scald,toxic": 161, "leftovers,hydration,healbell,knockoff,scald,uturn": 140}, + "pidgeot": {"leftovers,bigpecks,bravebird,heatwave,return,roost": 86, "leftovers,bigpecks,bravebird,return,roost,uturn": 50, "leftovers,bigpecks,bravebird,defog,return,roost": 54, "leftovers,bigpecks,bravebird,heatwave,roost,uturn": 57, "leftovers,bigpecks,bravebird,defog,heatwave,roost": 38}, + "pidgeotmega": {"pidgeotite,bigpecks,heatwave,hurricane,roost,uturn": 318, "pidgeotite,bigpecks,heatwave,hurricane,roost,workup": 377, "pidgeotite,bigpecks,defog,heatwave,hurricane,roost": 303}, + "pikachu": {"lightball,lightningrod,grassknot,knockoff,surf,volttackle": 86, "lightball,lightningrod,grassknot,surf,voltswitch,volttackle": 61, "lightball,lightningrod,extremespeed,grassknot,knockoff,volttackle": 103, "lightball,lightningrod,hiddenpowerice,surf,voltswitch,volttackle": 65, "lightball,lightningrod,grassknot,hiddenpowerice,knockoff,volttackle": 94, "lightball,lightningrod,hiddenpowerice,knockoff,surf,volttackle": 87, "lightball,lightningrod,extremespeed,hiddenpowerice,surf,volttackle": 91, "lightball,lightningrod,extremespeed,grassknot,hiddenpowerice,volttackle": 105, "lightball,lightningrod,extremespeed,knockoff,surf,volttackle": 102, "lightball,lightningrod,grassknot,hiddenpowerice,surf,volttackle": 102, "lightball,lightningrod,grassknot,knockoff,voltswitch,volttackle": 64, "lightball,lightningrod,extremespeed,hiddenpowerice,voltswitch,volttackle": 47, "lightball,lightningrod,extremespeed,knockoff,voltswitch,volttackle": 73, "lightball,lightningrod,extremespeed,hiddenpowerice,knockoff,volttackle": 109, "lightball,lightningrod,hiddenpowerice,knockoff,voltswitch,volttackle": 85, "lightball,lightningrod,grassknot,hiddenpowerice,voltswitch,volttackle": 72, "lightball,lightningrod,knockoff,surf,voltswitch,volttackle": 75, "lightball,lightningrod,extremespeed,grassknot,surf,volttackle": 114, "lightball,lightningrod,extremespeed,grassknot,voltswitch,volttackle": 81, "lightball,lightningrod,extremespeed,surf,voltswitch,volttackle": 69}, + "pinsir": {"lifeorb,moxie,earthquake,stoneedge,swordsdance,xscissor": 44, "lifeorb,moxie,earthquake,knockoff,swordsdance,xscissor": 50, "lifeorb,moxie,closecombat,earthquake,swordsdance,xscissor": 57, "lifeorb,moxie,earthquake,stealthrock,stoneedge,xscissor": 41, "choiceband,moxie,closecombat,earthquake,stoneedge,xscissor": 24, "choicescarf,moxie,earthquake,knockoff,stoneedge,xscissor": 20, "choicescarf,moxie,closecombat,earthquake,stoneedge,xscissor": 19, "lifeorb,moxie,closecombat,earthquake,stealthrock,xscissor": 34, "choicescarf,moxie,closecombat,earthquake,knockoff,xscissor": 24, "choiceband,moxie,closecombat,earthquake,knockoff,xscissor": 14, "choiceband,moxie,earthquake,knockoff,stoneedge,xscissor": 18, "lifeorb,moxie,earthquake,knockoff,stealthrock,xscissor": 27}, + "pinsirmega": {"pinsirite,hypercutter,closecombat,quickattack,return,swordsdance": 430, "pinsirite,hypercutter,earthquake,quickattack,return,swordsdance": 468}, + "plusle": {"lifeorb,lightningrod,grassknot,hiddenpowerice,nastyplot,thunderbolt": 887, "leftovers,lightningrod,hiddenpowerice,nastyplot,substitute,thunderbolt": 451, "leftovers,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 444}, + "politoed": {"leftovers,drizzle,icebeam,protect,scald,toxic": 401, "chestoberry,drizzle,encore,rest,scald,toxic": 198, "leftovers,drizzle,encore,protect,scald,toxic": 366, "chestoberry,drizzle,icebeam,rest,scald,toxic": 183, "chestoberry,drizzle,encore,icebeam,rest,scald": 197, "leftovers,drizzle,encore,icebeam,scald,toxic": 226}, + "poliwrath": {"lifeorb,swiftswim,focusblast,icepunch,raindance,waterfall": 681, "leftovers,waterabsorb,circlethrow,rest,scald,sleeptalk": 711}, + "porygonz": {"choicespecs,download,icebeam,shadowball,thunderbolt,triattack": 73, "choicescarf,download,shadowball,thunderbolt,triattack,trick": 150, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack": 127, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack": 106, "choicescarf,adaptability,icebeam,shadowball,thunderbolt,triattack": 62, "choicescarf,download,icebeam,shadowball,triattack,trick": 122, "choicescarf,download,icebeam,thunderbolt,triattack,trick": 126, "lifeorb,download,icebeam,nastyplot,shadowball,triattack": 121, "choicescarf,adaptability,icebeam,shadowball,triattack,trick": 120, "choicescarf,adaptability,icebeam,thunderbolt,triattack,trick": 114, "lifeorb,download,nastyplot,shadowball,thunderbolt,triattack": 118, "choicescarf,adaptability,shadowball,thunderbolt,triattack,trick": 106, "choicespecs,adaptability,icebeam,shadowball,thunderbolt,triattack": 61, "lifeorb,adaptability,nastyplot,shadowball,thunderbolt,triattack": 104, "choicescarf,download,icebeam,shadowball,thunderbolt,triattack": 80, "lifeorb,adaptability,icebeam,nastyplot,shadowball,triattack": 115}, + "porygon2": {"eviolite,download,discharge,icebeam,recover,triattack": 303, "eviolite,download,discharge,recover,toxic,triattack": 271, "eviolite,trace,icebeam,recover,toxic,triattack": 295, "eviolite,trace,discharge,icebeam,recover,triattack": 279, "eviolite,trace,discharge,recover,toxic,triattack": 290, "eviolite,download,icebeam,recover,toxic,triattack": 270}, + "primeape": {"lifeorb,defiant,closecombat,gunkshot,honeclaws,stoneedge": 259, "lifeorb,defiant,closecombat,earthquake,honeclaws,stoneedge": 268, "choiceband,defiant,closecombat,earthquake,gunkshot,stoneedge": 169, "choiceband,defiant,closecombat,earthquake,gunkshot,uturn": 121, "choicescarf,defiant,closecombat,earthquake,stoneedge,uturn": 131, "choiceband,defiant,closecombat,gunkshot,stoneedge,uturn": 132, "choicescarf,defiant,closecombat,earthquake,gunkshot,uturn": 124, "lifeorb,defiant,closecombat,earthquake,gunkshot,honeclaws": 230, "choicescarf,defiant,closecombat,gunkshot,stoneedge,uturn": 118, "choiceband,defiant,closecombat,earthquake,stoneedge,uturn": 115, "choicescarf,defiant,closecombat,earthquake,gunkshot,stoneedge": 141}, + "probopass": {"airballoon,magnetpull,earthpower,powergem,toxic,voltswitch": 191, "airballoon,magnetpull,earthpower,flashcannon,thunderwave,voltswitch": 160, "airballoon,magnetpull,earthpower,powergem,thunderwave,voltswitch": 204, "airballoon,magnetpull,earthpower,flashcannon,toxic,voltswitch": 196, "airballoon,magnetpull,earthpower,powergem,stealthrock,voltswitch": 113, "airballoon,magnetpull,earthpower,powergem,stealthrock,toxic": 133, "airballoon,magnetpull,earthpower,flashcannon,stealthrock,toxic": 134, "airballoon,magnetpull,earthpower,flashcannon,stealthrock,thunderwave": 170, "airballoon,magnetpull,earthpower,flashcannon,stealthrock,voltswitch": 121, "airballoon,magnetpull,earthpower,powergem,stealthrock,thunderwave": 151}, + "purugly": {"choiceband,thickfat,knockoff,return,uturn,wakeupslap": 296, "choiceband,defiant,knockoff,return,uturn,wakeupslap": 243, "silkscarf,defiant,fakeout,knockoff,return,uturn": 299, "silkscarf,thickfat,fakeout,knockoff,return,uturn": 277, "silkscarf,defiant,fakeout,knockoff,return,wakeupslap": 268, "silkscarf,thickfat,fakeout,knockoff,return,wakeupslap": 311}, + "pyroar": {"lifeorb,unnerve,darkpulse,fireblast,hypervoice,willowisp": 245, "lifeorb,unnerve,fireblast,hypervoice,solarbeam,sunnyday": 512, "lifeorb,unnerve,fireblast,hypervoice,willowisp,workup": 249, "lifeorb,unnerve,darkpulse,fireblast,hypervoice,workup": 247}, + "quagsire": {"leftovers,unaware,earthquake,icebeam,recover,scald": 792, "leftovers,unaware,earthquake,recover,scald,toxic": 810}, + "qwilfish": {"blacksludge,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 126, "focussash,intimidate,spikes,taunt,thunderwave,waterfall": 29, "focussash,intimidate,taunt,thunderwave,toxicspikes,waterfall": 25, "focussash,intimidate,destinybond,taunt,toxicspikes,waterfall": 22, "blacksludge,intimidate,spikes,thunderwave,toxicspikes,waterfall": 130, "blacksludge,intimidate,taunt,thunderwave,toxicspikes,waterfall": 114, "blacksludge,intimidate,destinybond,taunt,toxicspikes,waterfall": 123, "blacksludge,intimidate,spikes,taunt,toxicspikes,waterfall": 128, "blacksludge,intimidate,destinybond,spikes,toxicspikes,waterfall": 121, "focussash,intimidate,spikes,thunderwave,toxicspikes,waterfall": 24, "blacksludge,intimidate,spikes,taunt,thunderwave,waterfall": 150, "focussash,intimidate,destinybond,spikes,toxicspikes,waterfall": 22, "blacksludge,intimidate,destinybond,spikes,taunt,waterfall": 135, "blacksludge,intimidate,destinybond,spikes,thunderwave,waterfall": 127, "focussash,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 16, "blacksludge,intimidate,destinybond,taunt,thunderwave,waterfall": 156, "focussash,intimidate,destinybond,spikes,taunt,waterfall": 22, "focussash,intimidate,destinybond,spikes,thunderwave,waterfall": 22, "focussash,intimidate,spikes,taunt,toxicspikes,waterfall": 16}, + "raichu": {"choicespecs,lightningrod,focusblast,grassknot,surf,thunderbolt": 141, "assaultvest,lightningrod,hiddenpowerice,knockoff,thunderbolt,voltswitch": 124, "lifeorb,lightningrod,focusblast,grassknot,nastyplot,thunderbolt": 117, "leftovers,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 176, "choicespecs,lightningrod,focusblast,grassknot,thunderbolt,voltswitch": 123, "lifeorb,lightningrod,grassknot,nastyplot,surf,thunderbolt": 113, "lifeorb,lightningrod,focusblast,nastyplot,surf,thunderbolt": 118, "lifeorb,lightningrod,encore,hiddenpowerice,knockoff,thunderbolt": 114, "assaultvest,lightningrod,hiddenpowerice,nuzzle,thunderbolt,voltswitch": 117, "choicespecs,lightningrod,focusblast,surf,thunderbolt,voltswitch": 108, "focussash,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 43, "assaultvest,lightningrod,hiddenpowerice,knockoff,nuzzle,thunderbolt": 124, "choicespecs,lightningrod,grassknot,surf,thunderbolt,voltswitch": 116, "leftovers,lightningrod,encore,hiddenpowerice,nuzzle,thunderbolt": 107, "leftovers,lightningrod,encore,hiddenpowerice,thunderbolt,voltswitch": 117}, + "raikou": {"choicespecs,pressure,aurasphere,hiddenpowerice,thunderbolt,voltswitch": 864, "leftovers,pressure,aurasphere,calmmind,hiddenpowerice,thunderbolt": 403, "leftovers,pressure,calmmind,hiddenpowerice,substitute,thunderbolt": 467}, + "rampardos": {"lifeorb,sheerforce,earthquake,firepunch,rockpolish,rockslide": 238, "lifeorb,sheerforce,firepunch,rockpolish,rockslide,zenheadbutt": 216, "choicescarf,sheerforce,earthquake,firepunch,headsmash,rockslide": 686, "lifeorb,sheerforce,earthquake,rockpolish,rockslide,zenheadbutt": 213}, + "rapidash": {"leftovers,flashfire,drillrun,flareblitz,morningsun,wildcharge": 191, "choiceband,flashfire,drillrun,flareblitz,megahorn,wildcharge": 243, "leftovers,flamebody,flareblitz,morningsun,wildcharge,willowisp": 93, "leftovers,flashfire,drillrun,flareblitz,morningsun,willowisp": 86, "leftovers,flamebody,drillrun,flareblitz,morningsun,willowisp": 80, "lifeorb,flashfire,drillrun,flareblitz,megahorn,morningsun": 141, "lifeorb,flashfire,drillrun,flareblitz,morningsun,wildcharge": 167, "lifeorb,flashfire,flareblitz,megahorn,morningsun,wildcharge": 172, "leftovers,flamebody,drillrun,flareblitz,morningsun,wildcharge": 178, "leftovers,flashfire,flareblitz,morningsun,wildcharge,willowisp": 102}, + "raticate": {"toxicorb,guts,crunch,facade,protect,uturn": 234, "toxicorb,guts,crunch,facade,flamewheel,protect": 194, "toxicorb,guts,crunch,facade,protect,suckerpunch": 199, "toxicorb,guts,crunch,facade,flamewheel,suckerpunch": 181, "toxicorb,guts,crunch,facade,suckerpunch,swordsdance": 285, "toxicorb,guts,crunch,facade,flamewheel,swordsdance": 237, "toxicorb,guts,crunch,facade,flamewheel,uturn": 185, "toxicorb,guts,crunch,facade,suckerpunch,uturn": 223}, + "rayquaza": {"lumberry,airlock,dragondance,earthquake,outrage,vcreate": 36, "choiceband,airlock,earthquake,extremespeed,outrage,vcreate": 47, "lumberry,airlock,extremespeed,outrage,swordsdance,vcreate": 34, "lifeorb,airlock,dracometeor,earthquake,extremespeed,outrage": 28, "lifeorb,airlock,dracometeor,earthquake,outrage,vcreate": 21, "lumberry,airlock,dragondance,extremespeed,outrage,vcreate": 32, "lumberry,airlock,dragondance,earthquake,extremespeed,outrage": 34, "lumberry,airlock,earthquake,extremespeed,outrage,swordsdance": 44, "lifeorb,airlock,dracometeor,extremespeed,outrage,vcreate": 27, "lifeorb,airlock,dracometeor,earthquake,extremespeed,vcreate": 14}, + "rayquazamega": {"lifeorb,airlock,dragonascent,dragondance,extremespeed,vcreate": 251, "lifeorb,airlock,dragonascent,dragondance,earthquake,extremespeed": 232, "choiceband,airlock,dragonascent,earthquake,extremespeed,vcreate": 330, "lifeorb,airlock,dragonascent,dragondance,earthquake,vcreate": 225}, + "regice": {"leftovers,clearbody,icebeam,protect,thunderbolt,toxic": 400, "weaknesspolicy,clearbody,focusblast,icebeam,rockpolish,thunderbolt": 445, "leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 216, "leftovers,clearbody,focusblast,icebeam,thunderbolt,thunderwave": 198}, + "regigigas": {"leftovers,slowstart,drainpunch,knockoff,return,thunderwave": 490, "leftovers,slowstart,drainpunch,knockoff,return,substitute": 556, "leftovers,slowstart,knockoff,return,substitute,thunderwave": 556}, + "regirock": {"leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 96, "leftovers,sturdy,drainpunch,earthquake,stoneedge,toxic": 143, "leftovers,sturdy,drainpunch,stealthrock,stoneedge,toxic": 81, "chestoberry,sturdy,curse,drainpunch,rest,stoneedge": 655, "leftovers,sturdy,drainpunch,earthquake,stoneedge,thunderwave": 139, "leftovers,sturdy,drainpunch,stealthrock,stoneedge,thunderwave": 90, "leftovers,sturdy,drainpunch,earthquake,stealthrock,stoneedge": 73, "leftovers,sturdy,earthquake,stealthrock,stoneedge,thunderwave": 90}, + "registeel": {"leftovers,clearbody,protect,seismictoss,stealthrock,toxic": 420, "leftovers,clearbody,curse,ironhead,rest,sleeptalk": 509, "leftovers,clearbody,protect,seismictoss,thunderwave,toxic": 46, "leftovers,clearbody,rest,seismictoss,sleeptalk,toxic": 463}, + "relicanth": {"leftovers,rockhead,earthquake,headsmash,toxic,waterfall": 282, "leftovers,rockhead,headsmash,stealthrock,toxic,waterfall": 190, "leftovers,rockhead,earthquake,headsmash,stealthrock,waterfall": 200, "choiceband,rockhead,doubleedge,earthquake,headsmash,waterfall": 317, "lifeorb,rockhead,earthquake,headsmash,rockpolish,waterfall": 340}, + "reshiram": {"leftovers,turboblaze,blueflare,dracometeor,roost,toxic": 1474}, + "reuniclus": {"lifeorb,magicguard,calmmind,focusblast,psychic,recover": 429, "lifeorb,magicguard,calmmind,psychic,recover,signalbeam": 420, "lifeorb,magicguard,calmmind,psyshock,recover,signalbeam": 445, "lifeorb,magicguard,calmmind,focusblast,psyshock,recover": 461}, + "rhydon": {"eviolite,lightningrod,earthquake,megahorn,stoneedge,toxic": 307, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance": 403, "eviolite,lightningrod,earthquake,stealthrock,stoneedge,toxic": 265, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge": 265}, + "rhyperior": {"assaultvest,solidrock,dragontail,earthquake,icepunch,stoneedge": 169, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge": 311, "weaknesspolicy,solidrock,earthquake,icepunch,rockpolish,stoneedge": 312, "assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge": 199, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge": 199}, + "roserade": {"blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,synthesis": 84, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 60, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 61, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 70, "lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,synthesis": 88, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,synthesis": 72, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,spikes": 53, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 44, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,synthesis": 79, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 57, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 15, "focussash,technician,gigadrain,hiddenpowerground,sludgebomb,spikes": 13, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 61, "blacksludge,naturalcure,gigadrain,sludgebomb,synthesis,toxicspikes": 64, "focussash,technician,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 11, "lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,spikes": 51, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,synthesis": 85, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,synthesis": 58, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 12, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 48, "lifeorb,technician,gigadrain,hiddenpowerground,sleeppowder,sludgebomb": 74, "lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 39, "lifeorb,technician,hiddenpowerground,leafstorm,sleeppowder,sludgebomb": 79, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 12, "focussash,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 7, "blacksludge,naturalcure,leafstorm,sludgebomb,synthesis,toxicspikes": 82, "focussash,technician,hiddenpowerground,leafstorm,sludgebomb,spikes": 12, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 11, "focussash,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 9, "focussash,technician,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 7}, + "rotom": {"lifeorb,levitate,hiddenpowerice,shadowball,thunderbolt,willowisp": 76, "lifeorb,levitate,hiddenpowerice,painsplit,shadowball,thunderbolt": 75, "leftovers,levitate,painsplit,shadowball,thunderbolt,voltswitch": 77, "leftovers,levitate,shadowball,thunderbolt,voltswitch,willowisp": 52, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,trick": 102, "leftovers,levitate,painsplit,shadowball,thunderbolt,willowisp": 78, "choicescarf,levitate,shadowball,thunderbolt,trick,voltswitch": 90, "choicespecs,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 32, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 35}, + "rotomfan": {"leftovers,levitate,airslash,thunderbolt,voltswitch,willowisp": 126, "leftovers,levitate,airslash,painsplit,thunderbolt,willowisp": 130, "leftovers,levitate,airslash,painsplit,thunderbolt,voltswitch": 143}, + "rotomfrost": {"leftovers,levitate,blizzard,thunderbolt,voltswitch,willowisp": 85, "choicescarf,levitate,blizzard,thunderbolt,trick,voltswitch": 147, "leftovers,levitate,blizzard,painsplit,thunderbolt,willowisp": 104, "leftovers,levitate,blizzard,painsplit,thunderbolt,voltswitch": 93}, + "rotomheat": {"leftovers,levitate,hiddenpowerice,overheat,thunderbolt,willowisp": 73, "choicescarf,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 32, "leftovers,levitate,overheat,painsplit,thunderbolt,willowisp": 88, "leftovers,levitate,overheat,painsplit,thunderbolt,voltswitch": 64, "leftovers,levitate,hiddenpowerice,overheat,painsplit,thunderbolt": 83, "leftovers,levitate,overheat,thunderbolt,voltswitch,willowisp": 79, "choicespecs,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 44}, + "rotommow": {"leftovers,levitate,leafstorm,thunderbolt,voltswitch,willowisp": 90, "choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,trick": 92, "lifeorb,levitate,hiddenpowerice,leafstorm,thunderbolt,willowisp": 86, "choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch": 95, "choicespecs,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 44, "choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 32}, + "rotomwash": {"choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch": 159, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp": 109, "leftovers,levitate,hydropump,painsplit,thunderbolt,voltswitch": 94, "leftovers,levitate,hydropump,painsplit,thunderbolt,willowisp": 119}, + "sableye": {"leftovers,prankster,foulplay,recover,taunt,willowisp": 221, "leftovers,prankster,knockoff,recover,taunt,willowisp": 228}, + "sableyemega": {"sablenite,prankster,calmmind,darkpulse,recover,willowisp": 1309}, + "salamence": {"lumberry,moxie,dragondance,earthquake,outrage,roost": 160, "lumberry,intimidate,dragondance,earthquake,outrage,roost": 164}, + "salamencemega": {"salamencite,intimidate,dragondance,earthquake,return,roost": 511, "salamencite,intimidate,doubleedge,dragondance,earthquake,roost": 520}, + "samurott": {"choiceband,torrent,knockoff,megahorn,superpower,waterfall": 64, "assaultvest,torrent,grassknot,megahorn,scald,superpower": 19, "lifeorb,torrent,knockoff,superpower,swordsdance,waterfall": 74, "choiceband,torrent,aquajet,knockoff,superpower,waterfall": 76, "assaultvest,torrent,aquajet,icebeam,scald,superpower": 21, "assaultvest,torrent,aquajet,grassknot,scald,superpower": 15, "lifeorb,torrent,megahorn,superpower,swordsdance,waterfall": 103, "assaultvest,torrent,aquajet,grassknot,megahorn,scald": 36, "choiceband,torrent,aquajet,megahorn,superpower,waterfall": 97, "choicescarf,torrent,knockoff,megahorn,superpower,waterfall": 67, "choiceband,torrent,aquajet,knockoff,megahorn,waterfall": 93, "assaultvest,torrent,grassknot,hydropump,icebeam,superpower": 27, "assaultvest,torrent,aquajet,icebeam,knockoff,scald": 17, "lifeorb,torrent,aquajet,megahorn,swordsdance,waterfall": 37, "assaultvest,torrent,icebeam,knockoff,scald,superpower": 19, "assaultvest,torrent,hydropump,icebeam,knockoff,megahorn": 15, "lifeorb,torrent,knockoff,megahorn,swordsdance,waterfall": 99, "assaultvest,torrent,aquajet,grassknot,hydropump,knockoff": 20, "assaultvest,torrent,hydropump,icebeam,megahorn,superpower": 23, "assaultvest,torrent,aquajet,hydropump,icebeam,superpower": 17, "assaultvest,torrent,aquajet,grassknot,knockoff,scald": 13, "assaultvest,torrent,aquajet,knockoff,scald,superpower": 16, "assaultvest,torrent,aquajet,knockoff,megahorn,scald": 20, "lifeorb,torrent,aquajet,knockoff,swordsdance,waterfall": 47, "assaultvest,torrent,aquajet,grassknot,hydropump,superpower": 19, "assaultvest,torrent,hydropump,knockoff,megahorn,superpower": 19, "assaultvest,torrent,aquajet,grassknot,hydropump,icebeam": 18, "assaultvest,torrent,grassknot,icebeam,knockoff,scald": 22, "assaultvest,torrent,icebeam,megahorn,scald,superpower": 21, "assaultvest,torrent,icebeam,knockoff,megahorn,scald": 26, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff": 26, "lifeorb,torrent,aquajet,superpower,swordsdance,waterfall": 40, "assaultvest,torrent,grassknot,icebeam,scald,superpower": 21, "assaultvest,torrent,aquajet,hydropump,knockoff,megahorn": 18, "assaultvest,torrent,aquajet,hydropump,icebeam,megahorn": 22, "assaultvest,torrent,aquajet,grassknot,icebeam,scald": 20, "assaultvest,torrent,grassknot,hydropump,knockoff,megahorn": 19, "assaultvest,torrent,grassknot,hydropump,icebeam,megahorn": 22, "assaultvest,torrent,aquajet,icebeam,megahorn,scald": 16, "assaultvest,torrent,aquajet,hydropump,icebeam,knockoff": 15, "assaultvest,torrent,grassknot,icebeam,megahorn,scald": 19, "assaultvest,torrent,grassknot,hydropump,knockoff,superpower": 22, "assaultvest,torrent,grassknot,knockoff,scald,superpower": 19, "assaultvest,torrent,aquajet,grassknot,hydropump,megahorn": 23, "assaultvest,torrent,aquajet,hydropump,megahorn,superpower": 22, "assaultvest,torrent,aquajet,megahorn,scald,superpower": 16, "assaultvest,torrent,hydropump,icebeam,knockoff,superpower": 15, "assaultvest,torrent,grassknot,hydropump,megahorn,superpower": 18, "assaultvest,torrent,knockoff,megahorn,scald,superpower": 18, "assaultvest,torrent,aquajet,hydropump,knockoff,superpower": 15, "assaultvest,torrent,grassknot,knockoff,megahorn,scald": 22}, + "sandslash": {"leftovers,sandrush,earthquake,knockoff,stoneedge,swordsdance": 377, "assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge": 160, "leftovers,sandrush,earthquake,knockoff,stoneedge,toxic": 218, "leftovers,sandrush,earthquake,stealthrock,stoneedge,toxic": 80, "leftovers,sandrush,earthquake,knockoff,stealthrock,toxic": 99, "leftovers,sandrush,earthquake,knockoff,stealthrock,stoneedge": 162, "leftovers,sandrush,earthquake,rapidspin,stoneedge,toxic": 75, "leftovers,sandrush,earthquake,rapidspin,stealthrock,stoneedge": 61, "leftovers,sandrush,earthquake,knockoff,rapidspin,toxic": 85, "leftovers,sandrush,earthquake,knockoff,rapidspin,stealthrock": 73}, + "sawk": {"choicescarf,sturdy,closecombat,earthquake,knockoff,stoneedge": 76, "choiceband,sturdy,closecombat,knockoff,poisonjab,stoneedge": 62, "choiceband,sturdy,closecombat,earthquake,knockoff,poisonjab": 82, "lifeorb,moldbreaker,bulkup,closecombat,earthquake,knockoff": 147, "choiceband,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 79, "choiceband,sturdy,closecombat,earthquake,knockoff,stoneedge": 64, "choicescarf,moldbreaker,closecombat,earthquake,knockoff,poisonjab": 79, "leftovers,sturdy,bulkup,closecombat,earthquake,knockoff": 145, "choicescarf,sturdy,closecombat,knockoff,poisonjab,stoneedge": 72, "leftovers,sturdy,bulkup,closecombat,knockoff,stoneedge": 128, "leftovers,sturdy,bulkup,closecombat,knockoff,poisonjab": 149, "lifeorb,moldbreaker,bulkup,closecombat,knockoff,poisonjab": 157, "lifeorb,moldbreaker,bulkup,closecombat,knockoff,stoneedge": 140, "choicescarf,sturdy,closecombat,earthquake,knockoff,poisonjab": 69, "choicescarf,moldbreaker,closecombat,earthquake,knockoff,stoneedge": 74, "choiceband,moldbreaker,closecombat,earthquake,knockoff,poisonjab": 76, "choiceband,moldbreaker,closecombat,earthquake,knockoff,stoneedge": 74, "choicescarf,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 75}, + "sawsbuck": {"lifeorb,sapsipper,hornleech,jumpkick,return,swordsdance": 605, "leftovers,sapsipper,hornleech,return,substitute,swordsdance": 554}, + "sceptile": {"leftovers,overgrow,gigadrain,hiddenpowerice,leechseed,substitute": 66, "leftovers,overgrow,gigadrain,hiddenpowerfire,leechseed,substitute": 95, "lifeorb,overgrow,focusblast,hiddenpowerfire,leafstorm,rockslide": 12, "lifeorb,overgrow,earthquake,gigadrain,hiddenpowerfire,rockslide": 11, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide": 5, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerfire,rockslide": 14, "lifeorb,overgrow,earthquake,focusblast,hiddenpowerice,leafstorm": 11, "lifeorb,overgrow,earthquake,focusblast,gigadrain,hiddenpowerfire": 10, "lifeorb,overgrow,earthquake,focusblast,gigadrain,hiddenpowerice": 11, "lifeorb,overgrow,earthquake,focusblast,hiddenpowerfire,leafstorm": 8, "lifeorb,overgrow,earthquake,hiddenpowerice,leafstorm,rockslide": 8, "lifeorb,overgrow,earthquake,gigadrain,hiddenpowerice,rockslide": 7, "lifeorb,overgrow,focusblast,hiddenpowerice,leafstorm,rockslide": 5, "lifeorb,overgrow,earthquake,focusblast,gigadrain,rockslide": 6, "lifeorb,overgrow,earthquake,hiddenpowerfire,leafstorm,rockslide": 7, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerice,rockslide": 6}, + "sceptilemega": {"sceptilite,overgrow,earthquake,leafblade,outrage,swordsdance": 545, "sceptilite,overgrow,dragonpulse,earthquake,focusblast,gigadrain": 73, "sceptilite,overgrow,dragonpulse,earthquake,focusblast,leafstorm": 87, "sceptilite,overgrow,dragonpulse,earthquake,gigadrain,substitute": 67, "sceptilite,overgrow,dragonpulse,focusblast,gigadrain,substitute": 95, "sceptilite,overgrow,dragonpulse,earthquake,leafstorm,substitute": 62, "sceptilite,overgrow,dragonpulse,focusblast,leafstorm,substitute": 95}, + "scizor": {"leftovers,technician,bulletpunch,defog,roost,uturn": 39, "leftovers,technician,bulletpunch,roost,superpower,uturn": 8, "choiceband,technician,bulletpunch,knockoff,superpower,uturn": 107, "leftovers,technician,bulletpunch,defog,roost,superpower": 46, "lifeorb,technician,bulletpunch,knockoff,superpower,swordsdance": 35, "lifeorb,technician,bulletpunch,knockoff,roost,swordsdance": 21, "lifeorb,technician,bugbite,bulletpunch,superpower,swordsdance": 44, "leftovers,technician,bulletpunch,defog,knockoff,roost": 46, "lifeorb,technician,bulletpunch,roost,superpower,swordsdance": 12, "lifeorb,technician,bugbite,bulletpunch,knockoff,swordsdance": 30, "lifeorb,technician,bugbite,bulletpunch,roost,swordsdance": 14, "choiceband,technician,bulletpunch,pursuit,superpower,uturn": 42, "leftovers,technician,bulletpunch,knockoff,roost,uturn": 6, "leftovers,technician,bulletpunch,knockoff,roost,superpower": 10}, + "scizormega": {"scizorite,lightmetal,bulletpunch,knockoff,roost,swordsdance": 218, "scizorite,lightmetal,bulletpunch,roost,superpower,uturn": 34, "scizorite,lightmetal,bulletpunch,roost,superpower,swordsdance": 229, "scizorite,lightmetal,bulletpunch,defog,knockoff,roost": 200, "scizorite,lightmetal,bugbite,bulletpunch,roost,swordsdance": 224, "scizorite,lightmetal,bulletpunch,defog,roost,uturn": 146, "scizorite,lightmetal,bulletpunch,defog,roost,superpower": 177, "scizorite,lightmetal,bulletpunch,knockoff,roost,uturn": 21, "scizorite,lightmetal,bulletpunch,knockoff,roost,superpower": 26}, + "scolipede": {"lifeorb,speedboost,earthquake,megahorn,poisonjab,spikes": 228, "lifeorb,speedboost,earthquake,megahorn,poisonjab,swordsdance": 700, "lifeorb,speedboost,megahorn,poisonjab,spikes,toxicspikes": 227, "lifeorb,speedboost,earthquake,megahorn,poisonjab,toxicspikes": 235}, + "scrafty": {"lifeorb,intimidate,dragondance,highjumpkick,ironhead,knockoff": 417, "leftovers,shedskin,bulkup,drainpunch,knockoff,rest": 813, "lifeorb,moxie,dragondance,highjumpkick,ironhead,knockoff": 384}, + "scyther": {"choiceband,technician,aerialace,brickbreak,knockoff,uturn": 429, "eviolite,technician,aerialace,bugbite,knockoff,swordsdance": 130, "eviolite,technician,aerialace,bugbite,roost,swordsdance": 48, "eviolite,technician,aerialace,brickbreak,bugbite,swordsdance": 132, "eviolite,technician,aerialace,knockoff,roost,swordsdance": 61, "eviolite,technician,aerialace,brickbreak,roost,swordsdance": 70, "eviolite,technician,aerialace,brickbreak,knockoff,swordsdance": 145, "choiceband,technician,aerialace,brickbreak,pursuit,uturn": 143}, + "seaking": {"lifeorb,lightningrod,drillrun,icebeam,knockoff,waterfall": 299, "choiceband,lightningrod,drillrun,knockoff,megahorn,waterfall": 268, "lifeorb,swiftswim,drillrun,knockoff,raindance,waterfall": 263, "lifeorb,swiftswim,knockoff,megahorn,raindance,waterfall": 286, "lifeorb,swiftswim,icebeam,knockoff,raindance,waterfall": 279, "lifeorb,lightningrod,icebeam,knockoff,megahorn,waterfall": 273}, + "seismitoad": {"leftovers,waterabsorb,earthquake,protect,scald,toxic": 500, "leftovers,waterabsorb,earthquake,scald,stealthrock,toxic": 155, "leftovers,waterabsorb,earthquake,knockoff,scald,stealthrock": 138, "lifeorb,swiftswim,earthquake,hydropump,raindance,sludgewave": 252, "leftovers,waterabsorb,earthquake,knockoff,scald,toxic": 250, "lifeorb,swiftswim,earthquake,hydropump,knockoff,raindance": 248}, + "serperior": {"leftovers,contrary,dragonpulse,leafstorm,leechseed,substitute": 318, "leftovers,contrary,hiddenpowerfire,leafstorm,leechseed,substitute": 339, "lifeorb,contrary,dragonpulse,glare,hiddenpowerfire,leafstorm": 644}, + "seviper": {"lifeorb,infiltrator,earthquake,flamethrower,knockoff,sludgewave": 129, "choicescarf,infiltrator,earthquake,gigadrain,sludgewave,switcheroo": 163, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,sludgewave": 118, "choicescarf,infiltrator,earthquake,flamethrower,sludgewave,switcheroo": 160, "lifeorb,infiltrator,earthquake,glare,sludgewave,suckerpunch": 166, "lifeorb,infiltrator,earthquake,gigadrain,knockoff,sludgewave": 138, "lifeorb,infiltrator,earthquake,gigadrain,sludgewave,suckerpunch": 121, "choicescarf,infiltrator,earthquake,knockoff,sludgewave,switcheroo": 186, "lifeorb,infiltrator,earthquake,glare,knockoff,sludgewave": 142, "lifeorb,infiltrator,earthquake,flamethrower,glare,sludgewave": 134, "lifeorb,infiltrator,earthquake,flamethrower,sludgewave,suckerpunch": 175, "lifeorb,infiltrator,earthquake,gigadrain,glare,sludgewave": 133}, + "sharpedo": {"lifeorb,speedboost,crunch,destinybond,protect,waterfall": 56, "lifeorb,speedboost,crunch,earthquake,icebeam,waterfall": 51, "lifeorb,speedboost,crunch,destinybond,icebeam,waterfall": 48, "lifeorb,speedboost,crunch,icebeam,protect,waterfall": 53, "lifeorb,speedboost,crunch,earthquake,protect,waterfall": 58, "lifeorb,speedboost,crunch,destinybond,earthquake,waterfall": 52}, + "sharpedomega": {"sharpedonite,speedboost,crunch,icefang,protect,waterfall": 947}, + "shaymin": {"leftovers,naturalcure,airslash,leechseed,seedflare,substitute": 334, "lifeorb,naturalcure,airslash,earthpower,seedflare,synthesis": 330}, + "shayminsky": {"leftovers,serenegrace,airslash,leechseed,seedflare,substitute": 297, "choicespecs,serenegrace,airslash,earthpower,hiddenpowerice,seedflare": 305}, + "shedinja": {"focussash,wonderguard,shadowsneak,swordsdance,willowisp,xscissor": 741, "focussash,wonderguard,shadowclaw,shadowsneak,swordsdance,xscissor": 744}, + "shiftry": {"lifeorb,pickpocket,knockoff,leafblade,suckerpunch,swordsdance": 302, "lifeorb,pickpocket,knockoff,leafstorm,lowkick,suckerpunch": 254, "lifeorb,pickpocket,defog,knockoff,leafstorm,lowkick": 186, "lifeorb,pickpocket,defog,knockoff,leafstorm,suckerpunch": 149, "lifeorb,pickpocket,knockoff,leafblade,lowkick,swordsdance": 291, "lifeorb,chlorophyll,defog,knockoff,leafstorm,suckerpunch": 2, "lifeorb,chlorophyll,defog,knockoff,leafstorm,lowkick": 1}, + "shuckle": {"mentalherb,sturdy,knockoff,stealthrock,stickyweb,toxic": 425, "mentalherb,sturdy,encore,knockoff,stickyweb,toxic": 639, "mentalherb,sturdy,encore,knockoff,stealthrock,stickyweb": 441, "mentalherb,sturdy,encore,knockoff,stealthrock,toxic": 34}, + "sigilyph": {"flameorb,magicguard,cosmicpower,psychoshift,roost,storedpower": 478, "lifeorb,magicguard,airslash,calmmind,psyshock,roost": 203, "lifeorb,magicguard,airslash,heatwave,psyshock,roost": 191, "choicespecs,tintedlens,airslash,energyball,heatwave,psychic": 73, "choicespecs,tintedlens,airslash,heatwave,icebeam,psychic": 68, "choicespecs,tintedlens,airslash,energyball,icebeam,psychic": 78, "choicespecs,tintedlens,airslash,energyball,icebeam,psyshock": 85, "choicespecs,tintedlens,airslash,heatwave,icebeam,psyshock": 64, "choicespecs,tintedlens,airslash,energyball,heatwave,psyshock": 69}, + "simipour": {"leftovers,torrent,hydropump,icebeam,nastyplot,substitute": 770, "lifeorb,torrent,grassknot,hydropump,icebeam,nastyplot": 769}, + "simisage": {"lifeorb,overgrow,focusblast,gigadrain,hiddenpowerice,nastyplot": 339, "lifeorb,overgrow,hiddenpowerice,leafstorm,rockslide,superpower": 127, "leftovers,overgrow,focusblast,gigadrain,nastyplot,substitute": 159, "leftovers,overgrow,gigadrain,hiddenpowerice,nastyplot,substitute": 173, "lifeorb,overgrow,gunkshot,knockoff,leafstorm,superpower": 122, "lifeorb,overgrow,gunkshot,hiddenpowerice,leafstorm,superpower": 105, "lifeorb,overgrow,gunkshot,leafstorm,rockslide,superpower": 106, "lifeorb,overgrow,knockoff,leafstorm,rockslide,superpower": 89, "lifeorb,overgrow,hiddenpowerice,knockoff,leafstorm,superpower": 100}, + "simisear": {"lifeorb,blaze,fireblast,focusblast,grassknot,nastyplot": 343, "leftovers,blaze,fireblast,focusblast,nastyplot,substitute": 152, "leftovers,blaze,fireblast,grassknot,nastyplot,substitute": 163, "lifeorb,blaze,fireblast,focusblast,hiddenpowerrock,nastyplot": 281, "leftovers,blaze,fireblast,hiddenpowerrock,nastyplot,substitute": 135, "lifeorb,blaze,fireblast,grassknot,hiddenpowerrock,nastyplot": 308}, + "skarmory": {"leftovers,sturdy,bravebird,roost,stealthrock,toxic": 336, "leftovers,sturdy,bravebird,roost,spikes,whirlwind": 157, "leftovers,sturdy,bravebird,roost,stealthrock,whirlwind": 89, "rockyhelmet,sturdy,bravebird,roost,stealthrock,whirlwind": 105, "leftovers,sturdy,bravebird,roost,spikes,toxic": 448, "leftovers,sturdy,bravebird,roost,spikes,stealthrock": 108, "rockyhelmet,sturdy,bravebird,roost,spikes,stealthrock": 96, "rockyhelmet,sturdy,bravebird,roost,spikes,whirlwind": 130}, + "skuntank": {"blackglasses,aftermath,crunch,poisonjab,pursuit,suckerpunch": 448, "blacksludge,aftermath,crunch,defog,poisonjab,suckerpunch": 341, "blacksludge,aftermath,crunch,poisonjab,suckerpunch,taunt": 436, "assaultvest,aftermath,crunch,fireblast,poisonjab,suckerpunch": 451}, + "slaking": {"choiceband,truant,earthquake,gigaimpact,nightslash,retaliate": 882, "choicescarf,truant,earthquake,gigaimpact,nightslash,retaliate": 856}, + "slowbro": {"rockyhelmet,regenerator,icebeam,scald,slackoff,toxic": 9, "rockyhelmet,regenerator,psyshock,scald,slackoff,toxic": 11, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 4, "assaultvest,regenerator,fireblast,futuresight,psyshock,scald": 44, "assaultvest,regenerator,fireblast,icebeam,psyshock,scald": 47, "rockyhelmet,regenerator,fireblast,psyshock,scald,slackoff": 6, "assaultvest,regenerator,fireblast,futuresight,icebeam,scald": 44, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 12, "rockyhelmet,regenerator,icebeam,scald,slackoff,thunderwave": 15, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 13, "rockyhelmet,regenerator,psyshock,scald,slackoff,thunderwave": 12, "rockyhelmet,regenerator,fireblast,scald,slackoff,thunderwave": 14, "assaultvest,regenerator,futuresight,icebeam,psyshock,scald": 46, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 10, "rockyhelmet,regenerator,fireblast,icebeam,scald,slackoff": 7, "rockyhelmet,regenerator,fireblast,scald,slackoff,toxic": 11, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 16, "rockyhelmet,regenerator,icebeam,psyshock,scald,slackoff": 4, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 3, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 8, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 9, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 6}, + "slowbromega": {"slowbronite,regenerator,calmmind,psyshock,scald,slackoff": 490, "slowbronite,regenerator,fireblast,psyshock,scald,slackoff": 521}, + "slowking": {"assaultvest,regenerator,dragontail,futuresight,psyshock,scald": 72, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 45, "leftovers,regenerator,nastyplot,psyshock,scald,slackoff": 45, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 50, "assaultvest,regenerator,dragontail,fireblast,psyshock,scald": 74, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 62, "assaultvest,regenerator,fireblast,futuresight,psyshock,scald": 73, "assaultvest,regenerator,dragontail,fireblast,icebeam,scald": 65, "leftovers,regenerator,icebeam,nastyplot,scald,slackoff": 44, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 49, "assaultvest,regenerator,dragontail,icebeam,psyshock,scald": 71, "assaultvest,regenerator,fireblast,icebeam,psyshock,scald": 72, "assaultvest,regenerator,dragontail,fireblast,futuresight,scald": 78, "assaultvest,regenerator,futuresight,icebeam,psyshock,scald": 77, "leftovers,regenerator,fireblast,nastyplot,scald,slackoff": 50, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 60, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 62, "leftovers,regenerator,nastyplot,scald,slackoff,thunderwave": 67, "assaultvest,regenerator,dragontail,futuresight,icebeam,scald": 63, "assaultvest,regenerator,fireblast,futuresight,icebeam,scald": 64, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 60, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 44, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 53}, + "slurpuff": {"sitrusberry,unburden,bellydrum,drainpunch,playrough,return": 1950}, + "smeargle": {"focussash,owntempo,spikes,spore,stealthrock,stickyweb": 227, "focussash,owntempo,spore,stealthrock,stickyweb,whirlwind": 305, "focussash,owntempo,spikes,spore,stickyweb,whirlwind": 437, "focussash,owntempo,nuzzle,spikes,spore,stickyweb": 417, "focussash,owntempo,nuzzle,spore,stealthrock,stickyweb": 318, "focussash,owntempo,nuzzle,spikes,spore,stealthrock": 24, "focussash,owntempo,spikes,spore,stealthrock,whirlwind": 26, "focussash,owntempo,nuzzle,spikes,spore,whirlwind": 14, "focussash,owntempo,nuzzle,spore,stickyweb,whirlwind": 1}, + "snorlax": {"leftovers,thickfat,bodyslam,crunch,rest,sleeptalk": 378, "leftovers,thickfat,bodyslam,earthquake,rest,sleeptalk": 413, "leftovers,thickfat,bodyslam,crunch,curse,earthquake": 469, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk": 377}, + "solrock": {"leftovers,levitate,morningsun,stealthrock,stoneedge,willowisp": 389, "leftovers,levitate,earthquake,morningsun,stoneedge,willowisp": 521, "leftovers,levitate,earthquake,morningsun,stealthrock,stoneedge": 412}, + "spinda": {"leftovers,contrary,return,suckerpunch,superpower,thief": 825, "leftovers,contrary,rest,return,sleeptalk,superpower": 847}, + "spiritomb": {"leftovers,infiltrator,calmmind,darkpulse,rest,sleeptalk": 839, "leftovers,infiltrator,foulplay,painsplit,suckerpunch,toxic": 194, "blackglasses,infiltrator,foulplay,pursuit,suckerpunch,willowisp": 171, "blackglasses,infiltrator,foulplay,pursuit,suckerpunch,toxic": 192, "leftovers,infiltrator,foulplay,painsplit,suckerpunch,willowisp": 198, "blackglasses,infiltrator,foulplay,painsplit,pursuit,suckerpunch": 140}, + "stantler": {"choiceband,intimidate,doubleedge,earthquake,jumpkick,megahorn": 273, "lifeorb,intimidate,doubleedge,earthquake,suckerpunch,thunderwave": 270, "choiceband,intimidate,doubleedge,earthquake,megahorn,suckerpunch": 273, "choiceband,intimidate,doubleedge,earthquake,jumpkick,suckerpunch": 273, "lifeorb,intimidate,doubleedge,earthquake,jumpkick,thunderwave": 273, "lifeorb,intimidate,doubleedge,earthquake,megahorn,thunderwave": 271}, + "staraptor": {"choiceband,reckless,bravebird,closecombat,doubleedge,uturn": 200, "choicescarf,reckless,bravebird,closecombat,doubleedge,uturn": 237, "choiceband,reckless,bravebird,closecombat,quickattack,uturn": 415, "choiceband,reckless,bravebird,closecombat,doubleedge,quickattack": 426}, + "starmie": {"leftovers,naturalcure,rapidspin,recover,scald,thunderwave": 205, "leftovers,naturalcure,rapidspin,recover,scald,toxic": 197, "lifeorb,analytic,hydropump,icebeam,psyshock,recover": 149, "lifeorb,analytic,hydropump,icebeam,recover,thunderbolt": 161, "choicespecs,analytic,hydropump,icebeam,psyshock,thunderbolt": 236, "lifeorb,analytic,hydropump,psyshock,recover,thunderbolt": 143, "leftovers,naturalcure,psyshock,rapidspin,recover,scald": 199, "leftovers,naturalcure,psyshock,recover,scald,toxic": 56, "leftovers,naturalcure,psyshock,recover,scald,thunderwave": 52}, + "steelix": {"lifeorb,sheerforce,earthquake,ironhead,stealthrock,toxic": 18, "lifeorb,sheerforce,earthquake,ironhead,rockslide,toxic": 18, "leftovers,sturdy,earthquake,heavyslam,protect,toxic": 112, "leftovers,sturdy,earthquake,roar,stealthrock,toxic": 27, "leftovers,sturdy,earthquake,heavyslam,stealthrock,toxic": 22, "lifeorb,sheerforce,earthquake,ironhead,roar,stealthrock": 23, "leftovers,sturdy,earthquake,heavyslam,roar,toxic": 39, "leftovers,sturdy,earthquake,heavyslam,roar,stealthrock": 23, "lifeorb,sheerforce,earthquake,ironhead,roar,toxic": 26, "lifeorb,sheerforce,earthquake,ironhead,rockslide,stealthrock": 19, "lifeorb,sheerforce,earthquake,ironhead,roar,rockslide": 13}, + "steelixmega": {"steelixite,sturdy,earthquake,heavyslam,stealthrock,toxic": 303, "steelixite,sturdy,dragontail,earthquake,heavyslam,stealthrock": 331, "steelixite,sturdy,dragontail,earthquake,heavyslam,toxic": 403}, + "stoutland": {"choiceband,scrappy,crunch,facade,return,superpower": 869, "choicescarf,scrappy,crunch,facade,return,superpower": 829}, + "stunfisk": {"leftovers,static,discharge,earthpower,scald,toxic": 142, "leftovers,static,discharge,earthpower,rest,sleeptalk": 261, "leftovers,static,discharge,earthpower,scald,stealthrock": 133, "assaultvest,static,discharge,earthpower,foulplay,sludgebomb": 230, "assaultvest,static,discharge,earthpower,foulplay,scald": 197, "assaultvest,static,discharge,earthpower,scald,sludgebomb": 236, "leftovers,static,discharge,earthpower,stealthrock,toxic": 109}, + "sudowoodo": {"choiceband,rockhead,earthquake,stoneedge,suckerpunch,woodhammer": 277, "leftovers,rockhead,stealthrock,stoneedge,suckerpunch,woodhammer": 208, "leftovers,rockhead,earthquake,stealthrock,stoneedge,woodhammer": 214, "leftovers,rockhead,stealthrock,stoneedge,toxic,woodhammer": 206, "leftovers,rockhead,stoneedge,suckerpunch,toxic,woodhammer": 267, "leftovers,rockhead,earthquake,stoneedge,toxic,woodhammer": 290}, + "suicune": {"leftovers,pressure,calmmind,icebeam,scald,substitute": 267, "leftovers,pressure,calmmind,protect,scald,substitute": 516, "leftovers,pressure,calmmind,rest,scald,sleeptalk": 512, "chestoberry,pressure,calmmind,icebeam,rest,scald": 255}, + "sunflora": {"choicespecs,chlorophyll,earthpower,hiddenpowerice,leafstorm,sludgebomb": 236, "lifeorb,chlorophyll,earthpower,hiddenpowerfire,solarbeam,sunnyday": 638, "choicespecs,chlorophyll,earthpower,hiddenpowerrock,leafstorm,sludgebomb": 218, "choicespecs,chlorophyll,earthpower,hiddenpowerfire,leafstorm,sludgebomb": 229}, + "swalot": {"blacksludge,liquidooze,earthquake,encore,painsplit,sludgebomb": 78, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,yawn": 96, "blacksludge,liquidooze,earthquake,protect,sludgebomb,toxic": 926, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,toxic": 109, "blacksludge,liquidooze,earthquake,icebeam,painsplit,sludgebomb": 76, "blacksludge,liquidooze,earthquake,encore,sludgebomb,toxic": 100, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,yawn": 105, "blacksludge,liquidooze,earthquake,encore,sludgebomb,yawn": 104, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,toxic": 100, "blacksludge,liquidooze,earthquake,encore,icebeam,sludgebomb": 86}, + "swampert": {"leftovers,torrent,earthquake,icebeam,scald,toxic": 40, "leftovers,torrent,earthquake,protect,scald,toxic": 208, "leftovers,torrent,earthquake,icebeam,roar,scald": 39, "leftovers,torrent,earthquake,scald,stealthrock,toxic": 25, "leftovers,torrent,earthquake,icebeam,scald,stealthrock": 31, "leftovers,torrent,earthquake,roar,scald,toxic": 30, "leftovers,torrent,earthquake,roar,scald,stealthrock": 31}, + "swampertmega": {"swampertite,damp,earthquake,icepunch,raindance,waterfall": 578, "swampertite,damp,earthquake,raindance,superpower,waterfall": 574}, + "swanna": {"leftovers,hydration,bravebird,roost,scald,toxic": 785, "leftovers,hydration,bravebird,defog,roost,scald": 642}, + "swellow": {"toxicorb,guts,bravebird,facade,protect,uturn": 686, "toxicorb,guts,bravebird,facade,quickattack,uturn": 600}, + "swoobat": {"leftovers,simple,calmmind,heatwave,roost,storedpower": 575, "lifeorb,simple,airslash,calmmind,roost,storedpower": 300, "lifeorb,simple,airslash,calmmind,heatwave,storedpower": 312}, + "sylveon": {"leftovers,pixilate,calmmind,hypervoice,protect,wish": 956, "leftovers,pixilate,calmmind,hiddenpowerground,hypervoice,psyshock": 454, "leftovers,pixilate,hiddenpowerground,hypervoice,protect,wish": 248, "leftovers,pixilate,hypervoice,protect,psyshock,wish": 207}, + "talonflame": {"sharpbeak,galewings,bravebird,flareblitz,roost,swordsdance": 683, "sharpbeak,galewings,bravebird,overheat,roost,uturn": 365, "sharpbeak,galewings,bravebird,overheat,roost,willowisp": 357}, + "tangrowth": {"rockyhelmet,regenerator,knockoff,morningsun,powerwhip,rockslide": 25, "leftovers,regenerator,knockoff,morningsun,powerwhip,rockslide": 16, "leftovers,regenerator,morningsun,powerwhip,rockslide,sludgebomb": 16, "leftovers,regenerator,leechseed,morningsun,powerwhip,rockslide": 9, "assaultvest,regenerator,gigadrain,knockoff,rockslide,sludgebomb": 78, "rockyhelmet,regenerator,leafstorm,morningsun,rockslide,sludgebomb": 17, "rockyhelmet,regenerator,leechseed,morningsun,powerwhip,sludgebomb": 6, "assaultvest,regenerator,earthquake,gigadrain,knockoff,sludgebomb": 83, "leftovers,regenerator,leafstorm,morningsun,rockslide,sludgebomb": 18, "assaultvest,regenerator,earthquake,knockoff,powerwhip,rockslide": 92, "assaultvest,regenerator,earthquake,knockoff,powerwhip,sludgebomb": 90, "assaultvest,regenerator,earthquake,powerwhip,rockslide,sludgebomb": 85, "assaultvest,regenerator,earthquake,gigadrain,rockslide,sludgebomb": 80, "leftovers,regenerator,knockoff,leafstorm,morningsun,rockslide": 20, "leftovers,regenerator,earthquake,knockoff,morningsun,powerwhip": 14, "leftovers,regenerator,earthquake,leafstorm,morningsun,rockslide": 17, "assaultvest,regenerator,earthquake,gigadrain,knockoff,rockslide": 96, "rockyhelmet,regenerator,leafstorm,morningsun,sleeppowder,sludgebomb": 9, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,sludgebomb": 15, "leftovers,regenerator,knockoff,morningsun,powerwhip,sludgebomb": 19, "leftovers,regenerator,knockoff,leechseed,morningsun,powerwhip": 10, "rockyhelmet,regenerator,knockoff,morningsun,powerwhip,sludgebomb": 19, "rockyhelmet,regenerator,knockoff,leafstorm,leechseed,morningsun": 9, "rockyhelmet,regenerator,leafstorm,leechseed,morningsun,sludgebomb": 12, "leftovers,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 7, "leftovers,regenerator,leafstorm,morningsun,sleeppowder,sludgebomb": 6, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,sludgebomb": 14, "leftovers,regenerator,leafstorm,leechseed,morningsun,sludgebomb": 10, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,sludgebomb": 12, "leftovers,regenerator,knockoff,morningsun,powerwhip,sleeppowder": 13, "rockyhelmet,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 13, "leftovers,regenerator,knockoff,leafstorm,morningsun,sludgebomb": 14, "assaultvest,regenerator,knockoff,powerwhip,rockslide,sludgebomb": 94, "leftovers,regenerator,earthquake,leafstorm,leechseed,morningsun": 9, "leftovers,regenerator,knockoff,leafstorm,morningsun,sleeppowder": 5, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,rockslide": 27, "leftovers,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 11, "leftovers,regenerator,earthquake,morningsun,powerwhip,rockslide": 20, "rockyhelmet,regenerator,earthquake,knockoff,leafstorm,morningsun": 14, "rockyhelmet,regenerator,knockoff,leechseed,morningsun,powerwhip": 7, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 13, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,rockslide": 20, "leftovers,regenerator,earthquake,leafstorm,morningsun,sludgebomb": 19, "rockyhelmet,regenerator,leafstorm,leechseed,morningsun,rockslide": 8, "leftovers,regenerator,earthquake,morningsun,powerwhip,sludgebomb": 15, "leftovers,regenerator,earthquake,knockoff,leafstorm,morningsun": 17, "rockyhelmet,regenerator,morningsun,powerwhip,rockslide,sludgebomb": 16, "rockyhelmet,regenerator,earthquake,knockoff,morningsun,powerwhip": 15, "leftovers,regenerator,leafstorm,leechseed,morningsun,rockslide": 7, "leftovers,regenerator,knockoff,leafstorm,leechseed,morningsun": 10, "rockyhelmet,regenerator,earthquake,leafstorm,leechseed,morningsun": 12, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,rockslide": 19, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,sleeppowder": 8, "leftovers,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 13, "rockyhelmet,regenerator,leechseed,morningsun,powerwhip,rockslide": 14, "leftovers,regenerator,earthquake,leechseed,morningsun,powerwhip": 8, "leftovers,regenerator,morningsun,powerwhip,sleeppowder,sludgebomb": 12, "rockyhelmet,regenerator,knockoff,morningsun,powerwhip,sleeppowder": 9, "rockyhelmet,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 4, "leftovers,regenerator,leechseed,morningsun,powerwhip,sludgebomb": 6, "rockyhelmet,regenerator,earthquake,leechseed,morningsun,powerwhip": 11, "leftovers,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 2, "rockyhelmet,regenerator,morningsun,powerwhip,sleeppowder,sludgebomb": 9, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 9}, + "tauros": {"choiceband,intimidate,doubleedge,earthquake,stoneedge,zenheadbutt": 930, "lifeorb,sheerforce,bodyslam,earthquake,fireblast,rockslide": 264, "lifeorb,sheerforce,bodyslam,earthquake,rockslide,zenheadbutt": 289, "lifeorb,sheerforce,bodyslam,earthquake,fireblast,zenheadbutt": 235}, + "tentacruel": {"blacksludge,liquidooze,haze,rapidspin,scald,sludgebomb": 243, "assaultvest,liquidooze,knockoff,rapidspin,scald,sludgebomb": 249, "blacksludge,clearbody,haze,rapidspin,scald,sludgebomb": 220, "assaultvest,clearbody,knockoff,rapidspin,scald,sludgebomb": 221, "blacksludge,liquidooze,rapidspin,scald,sludgebomb,toxicspikes": 258, "blacksludge,clearbody,haze,knockoff,scald,sludgebomb": 35, "blacksludge,clearbody,rapidspin,scald,sludgebomb,toxicspikes": 198, "blacksludge,liquidooze,haze,scald,sludgebomb,toxicspikes": 32, "blacksludge,liquidooze,haze,knockoff,scald,sludgebomb": 23, "blacksludge,clearbody,knockoff,scald,sludgebomb,toxicspikes": 31, "blacksludge,clearbody,haze,scald,sludgebomb,toxicspikes": 35, "blacksludge,liquidooze,knockoff,scald,sludgebomb,toxicspikes": 23}, + "terrakion": {"choiceband,justified,closecombat,earthquake,quickattack,stoneedge": 472, "lifeorb,justified,closecombat,earthquake,stealthrock,stoneedge": 366, "lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance": 476}, + "throh": {"leftovers,guts,circlethrow,knockoff,rest,sleeptalk": 896, "leftovers,guts,bulkup,circlethrow,rest,sleeptalk": 892}, + "thundurus": {"lifeorb,prankster,hiddenpowerice,knockoff,thunderbolt,thunderwave": 42, "lifeorb,prankster,hiddenpowerflying,superpower,thunderbolt,thunderwave": 45, "lifeorb,prankster,focusblast,hiddenpowerice,nastyplot,thunderbolt": 86, "lifeorb,prankster,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 67, "lifeorb,prankster,hiddenpowerice,superpower,thunderbolt,thunderwave": 41, "lifeorb,prankster,hiddenpowerice,taunt,thunderbolt,thunderwave": 26, "leftovers,prankster,hiddenpowerflying,nastyplot,substitute,thunderbolt": 40, "leftovers,prankster,hiddenpowerice,nastyplot,substitute,thunderbolt": 47, "lifeorb,prankster,hiddenpowerflying,knockoff,thunderbolt,thunderwave": 45, "leftovers,prankster,focusblast,nastyplot,substitute,thunderbolt": 40, "lifeorb,prankster,knockoff,taunt,thunderbolt,thunderwave": 19, "lifeorb,prankster,superpower,taunt,thunderbolt,thunderwave": 15, "lifeorb,prankster,knockoff,superpower,thunderbolt,thunderwave": 40, "lifeorb,prankster,hiddenpowerflying,taunt,thunderbolt,thunderwave": 25}, + "thundurustherian": {"lifeorb,voltabsorb,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 171, "lifeorb,voltabsorb,focusblast,hiddenpowerice,nastyplot,thunderbolt": 151, "choicespecs,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 87, "choicespecs,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 81, "choicescarf,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 79, "choicescarf,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 73}, + "togekiss": {"choicescarf,serenegrace,airslash,aurasphere,dazzlinggleam,trick": 376, "leftovers,serenegrace,airslash,nastyplot,roost,thunderwave": 225, "leftovers,serenegrace,airslash,aurasphere,nastyplot,roost": 215, "leftovers,serenegrace,airslash,healbell,roost,thunderwave": 176, "leftovers,serenegrace,airslash,defog,healbell,roost": 124, "leftovers,serenegrace,airslash,defog,roost,thunderwave": 123}, + "torkoal": {"leftovers,whitesmoke,earthquake,lavaplume,rapidspin,yawn": 569, "leftovers,whitesmoke,earthquake,lavaplume,stealthrock,yawn": 150, "leftovers,whitesmoke,earthquake,lavaplume,rapidspin,stealthrock": 376, "leftovers,whitesmoke,lavaplume,rapidspin,stealthrock,yawn": 345}, + "tornadus": {",defiant,acrobatics,bulkup,knockoff,superpower": 167, ",defiant,acrobatics,bulkup,superpower,taunt": 193, "expertbelt,defiant,heatwave,hurricane,superpower,uturn": 45, "expertbelt,defiant,heatwave,hurricane,knockoff,uturn": 43, "lifeorb,prankster,hurricane,superpower,taunt,uturn": 20, "lifeorb,defiant,heatwave,hurricane,knockoff,superpower": 50, "lifeorb,prankster,heatwave,hurricane,superpower,taunt": 38, "lifeorb,prankster,heatwave,hurricane,knockoff,taunt": 33, "lifeorb,prankster,heatwave,hurricane,taunt,uturn": 18, "expertbelt,defiant,hurricane,knockoff,superpower,uturn": 37, "lifeorb,prankster,hurricane,knockoff,superpower,taunt": 33, "lifeorb,prankster,hurricane,knockoff,taunt,uturn": 17}, + "tornadustherian": {"assaultvest,regenerator,heatwave,hurricane,superpower,uturn": 64, "lifeorb,regenerator,hurricane,knockoff,superpower,taunt": 65, "leftovers,regenerator,hurricane,knockoff,taunt,uturn": 60, "assaultvest,regenerator,hurricane,knockoff,superpower,uturn": 61, "leftovers,regenerator,heatwave,hurricane,taunt,uturn": 64, "assaultvest,regenerator,heatwave,hurricane,knockoff,superpower": 72, "lifeorb,regenerator,heatwave,hurricane,knockoff,taunt": 67, "assaultvest,regenerator,heatwave,hurricane,knockoff,uturn": 51, "leftovers,regenerator,hurricane,superpower,taunt,uturn": 77, "lifeorb,regenerator,heatwave,hurricane,superpower,taunt": 60}, + "torterra": {"leftovers,overgrow,earthquake,stoneedge,synthesis,woodhammer": 390, "leftovers,overgrow,earthquake,rockpolish,stoneedge,woodhammer": 625, "leftovers,overgrow,earthquake,stealthrock,synthesis,woodhammer": 287}, + "toxicroak": {"lifeorb,dryskin,drainpunch,gunkshot,knockoff,swordsdance": 399, "lifeorb,dryskin,drainpunch,gunkshot,suckerpunch,swordsdance": 380, "blacksludge,dryskin,drainpunch,gunkshot,substitute,swordsdance": 411, "lifeorb,dryskin,drainpunch,earthquake,gunkshot,swordsdance": 390}, + "trevenant": {"sitrusberry,harvest,earthquake,hornleech,protect,toxic": 778, "choiceband,naturalcure,drainpunch,earthquake,shadowclaw,woodhammer": 60, "choiceband,naturalcure,drainpunch,earthquake,hornleech,shadowclaw": 46, "lifeorb,naturalcure,earthquake,hornleech,shadowclaw,trickroom": 61, "lifeorb,naturalcure,earthquake,shadowclaw,trickroom,woodhammer": 66, "choiceband,naturalcure,earthquake,rockslide,shadowclaw,woodhammer": 57, "choiceband,naturalcure,earthquake,hornleech,rockslide,shadowclaw": 64, "lifeorb,naturalcure,hornleech,rockslide,shadowclaw,trickroom": 57, "lifeorb,naturalcure,drainpunch,shadowclaw,trickroom,woodhammer": 54, "lifeorb,naturalcure,rockslide,shadowclaw,trickroom,woodhammer": 67, "choiceband,naturalcure,drainpunch,rockslide,shadowclaw,woodhammer": 70, "lifeorb,naturalcure,drainpunch,hornleech,shadowclaw,trickroom": 70, "choiceband,naturalcure,drainpunch,hornleech,rockslide,shadowclaw": 55}, + "tropius": {"sitrusberry,harvest,airslash,leechseed,protect,substitute": 1254}, + "typhlosion": {"choicespecs,flashfire,eruption,fireblast,focusblast,hiddenpowerrock": 359, "choicespecs,flashfire,eruption,fireblast,focusblast,hiddenpowergrass": 392, "choicescarf,flashfire,eruption,fireblast,focusblast,hiddenpowergrass": 343, "choicescarf,flashfire,eruption,fireblast,focusblast,hiddenpowerrock": 350}, + "tyranitar": {"leftovers,sandstream,crunch,dragondance,icepunch,stoneedge": 59, "leftovers,sandstream,crunch,dragondance,firepunch,stoneedge": 58, "choiceband,sandstream,crunch,earthquake,pursuit,stoneedge": 17, "assaultvest,sandstream,crunch,earthquake,icebeam,stoneedge": 20, "leftovers,sandstream,crunch,pursuit,stealthrock,stoneedge": 18, "assaultvest,sandstream,crunch,fireblast,icebeam,stoneedge": 12, "leftovers,sandstream,crunch,fireblast,stealthrock,stoneedge": 10, "leftovers,sandstream,crunch,dragondance,earthquake,stoneedge": 56, "assaultvest,sandstream,crunch,icebeam,pursuit,stoneedge": 14, "assaultvest,sandstream,crunch,fireblast,pursuit,stoneedge": 17, "leftovers,sandstream,crunch,earthquake,stealthrock,stoneedge": 22, "leftovers,sandstream,crunch,icebeam,stealthrock,stoneedge": 10, "assaultvest,sandstream,crunch,earthquake,fireblast,stoneedge": 13}, + "tyranitarmega": {"tyranitarite,sandstream,crunch,dragondance,earthquake,stoneedge": 317, "tyranitarite,sandstream,crunch,dragondance,icepunch,stoneedge": 333, "tyranitarite,sandstream,crunch,dragondance,firepunch,stoneedge": 311}, + "tyrantrum": {"choiceband,rockhead,earthquake,headsmash,outrage,superpower": 325, "lumberry,rockhead,dragondance,earthquake,headsmash,outrage": 650, "choicescarf,rockhead,earthquake,headsmash,outrage,superpower": 345}, + "umbreon": {"leftovers,synchronize,foulplay,protect,toxic,wish": 844, "leftovers,synchronize,foulplay,healbell,moonlight,toxic": 852}, + "unfezant": {"scopelens,superluck,nightslash,return,roost,toxic": 393, "scopelens,superluck,nightslash,return,roost,uturn": 426, "scopelens,superluck,nightslash,pluck,return,roost": 413}, + "unown": {"choicespecs,levitate,hiddenpowerpsychic": 1756}, + "ursaring": {"toxicorb,guts,closecombat,crunch,facade,protect": 819, "toxicorb,quickfeet,closecombat,crunch,facade,swordsdance": 812}, + "uxie": {"leftovers,levitate,healbell,psychic,thunderwave,uturn": 106, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 36, "leftovers,levitate,psychic,stealthrock,uturn,yawn": 78, "leftovers,levitate,knockoff,psychic,stealthrock,thunderwave": 85, "leftovers,levitate,healbell,psychic,toxic,uturn": 90, "leftovers,levitate,healbell,knockoff,psychic,yawn": 113, "leftovers,levitate,knockoff,psychic,thunderwave,uturn": 108, "leftovers,levitate,healbell,knockoff,psychic,stealthrock": 43, "leftovers,levitate,healbell,knockoff,psychic,thunderwave": 99, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 87, "leftovers,levitate,knockoff,psychic,stealthrock,toxic": 86, "leftovers,levitate,healbell,psychic,stealthrock,toxic": 66, "leftovers,levitate,healbell,knockoff,psychic,toxic": 98, "leftovers,levitate,healbell,psychic,uturn,yawn": 96, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 90, "leftovers,levitate,healbell,psychic,stealthrock,thunderwave": 71, "leftovers,levitate,knockoff,psychic,toxic,uturn": 119, "leftovers,levitate,healbell,psychic,stealthrock,yawn": 69, "leftovers,levitate,knockoff,psychic,stealthrock,yawn": 69, "leftovers,levitate,knockoff,psychic,uturn,yawn": 104, "leftovers,levitate,healbell,psychic,stealthrock,uturn": 41, "leftovers,levitate,healbell,knockoff,psychic,uturn": 61}, + "vanilluxe": {"assaultvest,weakarmor,explosion,freezedry,hiddenpowerground,icebeam": 277, "lifeorb,weakarmor,autotomize,freezedry,hiddenpowerground,icebeam": 122, "lifeorb,weakarmor,explosion,freezedry,hiddenpowerground,icebeam": 98, "choicespecs,weakarmor,flashcannon,freezedry,hiddenpowerground,icebeam": 59, "assaultvest,weakarmor,explosion,flashcannon,freezedry,hiddenpowerground": 115, "lifeorb,weakarmor,explosion,flashcannon,freezedry,hiddenpowerground": 39, "assaultvest,weakarmor,flashcannon,freezedry,hiddenpowerground,icebeam": 259, "lifeorb,weakarmor,freezedry,hiddenpowerground,icebeam,toxic": 114, "lifeorb,weakarmor,explosion,freezedry,hiddenpowerground,toxic": 32, "lifeorb,weakarmor,flashcannon,freezedry,hiddenpowerground,toxic": 34, "lifeorb,weakarmor,autotomize,explosion,freezedry,hiddenpowerground": 31, "lifeorb,weakarmor,autotomize,flashcannon,freezedry,hiddenpowerground": 42, "choicescarf,weakarmor,flashcannon,freezedry,hiddenpowerground,icebeam": 49}, + "vaporeon": {"leftovers,waterabsorb,protect,scald,toxic,wish": 818, "leftovers,waterabsorb,icebeam,protect,scald,wish": 396, "leftovers,waterabsorb,healbell,protect,scald,wish": 384}, + "venomoth": {"blacksludge,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgebomb": 1411}, + "venusaur": {"blacksludge,overgrow,energyball,knockoff,sludgebomb,synthesis": 39, "blacksludge,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute": 87, "blacksludge,overgrow,gigadrain,leechseed,sludgebomb,substitute": 61, "blacksludge,chlorophyll,earthquake,knockoff,sludgebomb,synthesis": 39, "blacksludge,chlorophyll,earthquake,sleeppowder,sludgebomb,synthesis": 19, "blacksludge,chlorophyll,knockoff,sleeppowder,sludgebomb,synthesis": 16, "blacksludge,overgrow,earthquake,energyball,sludgebomb,synthesis": 31, "blacksludge,overgrow,energyball,sleeppowder,sludgebomb,synthesis": 13}, + "venusaurmega": {"venusaurite,chlorophyll,gigadrain,knockoff,sludgebomb,synthesis": 389, "venusaurite,chlorophyll,gigadrain,sleeppowder,sludgebomb,synthesis": 375, "venusaurite,chlorophyll,earthquake,gigadrain,sludgebomb,synthesis": 366}, + "vespiquen": {"leftovers,pressure,airslash,roost,toxic,uturn": 616, "leftovers,pressure,airslash,defog,roost,toxic": 505}, + "victini": {"assaultvest,victorystar,boltstrike,psychic,uturn,vcreate": 79, "assaultvest,victorystar,boltstrike,glaciate,uturn,vcreate": 61, "assaultvest,victorystar,boltstrike,energyball,glaciate,vcreate": 69, "assaultvest,victorystar,boltstrike,energyball,psychic,vcreate": 73, "choiceband,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 313, "choicescarf,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 313, "assaultvest,victorystar,boltstrike,glaciate,psychic,vcreate": 60, "assaultvest,victorystar,boltstrike,focusblast,uturn,vcreate": 77, "assaultvest,victorystar,boltstrike,focusblast,psychic,vcreate": 68, "assaultvest,victorystar,boltstrike,focusblast,glaciate,vcreate": 63, "assaultvest,victorystar,boltstrike,energyball,uturn,vcreate": 66, "assaultvest,victorystar,boltstrike,energyball,focusblast,vcreate": 82}, + "victreebel": {"lifeorb,chlorophyll,hiddenpowerground,knockoff,powerwhip,sludgebomb": 146, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sleeppowder,sludgebomb": 104, "lifeorb,chlorophyll,powerwhip,sludgebomb,sunnyday,weatherball": 693, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgebomb,suckerpunch": 150, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sludgebomb,suckerpunch": 144, "lifeorb,chlorophyll,knockoff,powerwhip,sleeppowder,sludgebomb": 152}, + "vigoroth": {"eviolite,vitalspirit,bulkup,return,shadowclaw,slackoff": 409, "eviolite,vitalspirit,bodyslam,bulkup,shadowclaw,slackoff": 391, "eviolite,vitalspirit,bodyslam,bulkup,earthquake,slackoff": 456, "eviolite,vitalspirit,bulkup,earthquake,return,slackoff": 395}, + "vileplume": {"blacksludge,effectspore,gigadrain,hiddenpowerground,sludgebomb,synthesis": 251, "blacksludge,effectspore,hiddenpowerground,sleeppowder,sludgebomb,synthesis": 258, "blacksludge,effectspore,aromatherapy,sleeppowder,sludgebomb,synthesis": 211, "blacksludge,effectspore,gigadrain,sleeppowder,sludgebomb,synthesis": 211, "blacksludge,effectspore,aromatherapy,gigadrain,sludgebomb,synthesis": 211, "blacksludge,effectspore,aromatherapy,hiddenpowerground,sludgebomb,synthesis": 221}, + "virizion": {"lifeorb,justified,closecombat,leafblade,stoneedge,swordsdance": 1362}, + "vivillon": {"leftovers,compoundeyes,energyball,hurricane,quiverdance,sleeppowder": 600, "leftovers,compoundeyes,bugbuzz,hurricane,quiverdance,sleeppowder": 636}, + "volbeat": {"leftovers,prankster,encore,roost,thunderwave,uturn": 1425}, + "volcanion": {"assaultvest,waterabsorb,fireblast,sludgebomb,steameruption,superpower": 215, "leftovers,waterabsorb,earthpower,fireblast,steameruption,toxic": 200, "assaultvest,waterabsorb,earthpower,fireblast,steameruption,superpower": 223, "leftovers,waterabsorb,fireblast,steameruption,superpower,toxic": 247, "leftovers,waterabsorb,fireblast,sludgebomb,steameruption,toxic": 210, "choicespecs,waterabsorb,earthpower,fireblast,sludgebomb,steameruption": 95, "choicescarf,waterabsorb,earthpower,fireblast,sludgebomb,steameruption": 136}, + "volcarona": {"leftovers,flamebody,fireblast,hiddenpowerrock,quiverdance,roost": 88, "leftovers,flamebody,fireblast,gigadrain,quiverdance,roost": 78, "leftovers,swarm,bugbuzz,fireblast,gigadrain,quiverdance": 72, "leftovers,flamebody,fireblast,gigadrain,hiddenpowerrock,quiverdance": 139, "leftovers,flamebody,fierydance,gigadrain,quiverdance,roost": 77, "leftovers,flamebody,bugbuzz,fierydance,hiddenpowerrock,quiverdance": 73, "leftovers,swarm,bugbuzz,fierydance,hiddenpowerrock,quiverdance": 85, "leftovers,flamebody,fierydance,hiddenpowerrock,quiverdance,roost": 66, "leftovers,swarm,bugbuzz,fireblast,hiddenpowerrock,quiverdance": 60, "leftovers,flamebody,fierydance,gigadrain,hiddenpowerrock,quiverdance": 169, "leftovers,swarm,bugbuzz,fierydance,quiverdance,roost": 32, "leftovers,flamebody,bugbuzz,fireblast,quiverdance,roost": 46, "leftovers,swarm,bugbuzz,fireblast,quiverdance,roost": 38, "leftovers,swarm,bugbuzz,fierydance,gigadrain,quiverdance": 88, "leftovers,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 82, "leftovers,flamebody,bugbuzz,fireblast,hiddenpowerrock,quiverdance": 87, "leftovers,flamebody,bugbuzz,fierydance,gigadrain,quiverdance": 84, "leftovers,flamebody,bugbuzz,fierydance,quiverdance,roost": 38}, + "wailord": {"choicescarf,waterveil,hiddenpowergrass,hydropump,icebeam,waterspout": 1525}, + "walrein": {"leftovers,thickfat,icebeam,protect,surf,toxic": 616, "leftovers,thickfat,icebeam,superfang,surf,toxic": 190, "leftovers,thickfat,icebeam,roar,surf,toxic": 204, "leftovers,thickfat,icebeam,roar,superfang,surf": 202}, + "watchog": {"leftovers,analytic,knockoff,return,substitute,swordsdance": 447, "leftovers,analytic,hypnosis,knockoff,return,superfang": 840, "lifeorb,analytic,hypnosis,knockoff,return,swordsdance": 428}, + "weavile": {"choiceband,pickpocket,iceshard,iciclecrash,knockoff,pursuit": 273, "lifeorb,pickpocket,iceshard,iciclecrash,knockoff,swordsdance": 247, "lifeorb,pickpocket,iciclecrash,knockoff,lowkick,swordsdance": 279, "choiceband,pickpocket,iciclecrash,knockoff,lowkick,pursuit": 268, "choiceband,pickpocket,iceshard,iciclecrash,knockoff,lowkick": 185}, + "weezing": {"blacksludge,levitate,fireblast,sludgebomb,toxicspikes,willowisp": 437, "blacksludge,levitate,fireblast,painsplit,sludgebomb,toxicspikes": 425, "blacksludge,levitate,fireblast,painsplit,sludgebomb,willowisp": 464, "blacksludge,levitate,painsplit,sludgebomb,toxicspikes,willowisp": 419}, + "whimsicott": {"leftovers,prankster,leechseed,moonblast,protect,substitute": 726, "leftovers,prankster,energyball,moonblast,taunt,toxic": 38, "leftovers,prankster,moonblast,stunspore,taunt,uturn": 38, "leftovers,prankster,energyball,moonblast,taunt,uturn": 30, "leftovers,prankster,encore,moonblast,stunspore,taunt": 20, "leftovers,prankster,encore,moonblast,taunt,toxic": 33, "leftovers,prankster,encore,moonblast,toxic,uturn": 33, "leftovers,prankster,energyball,moonblast,stunspore,toxic": 26, "leftovers,prankster,energyball,moonblast,stunspore,uturn": 40, "leftovers,prankster,encore,moonblast,taunt,uturn": 43, "leftovers,prankster,encore,energyball,moonblast,uturn": 31, "leftovers,prankster,encore,energyball,moonblast,stunspore": 36, "leftovers,prankster,moonblast,stunspore,toxic,uturn": 29, "leftovers,prankster,encore,moonblast,stunspore,toxic": 32, "leftovers,prankster,encore,moonblast,stunspore,uturn": 36, "leftovers,prankster,moonblast,stunspore,taunt,toxic": 34, "leftovers,prankster,energyball,moonblast,stunspore,taunt": 35, "leftovers,prankster,energyball,moonblast,toxic,uturn": 25, "leftovers,prankster,encore,energyball,moonblast,taunt": 38, "leftovers,prankster,moonblast,taunt,toxic,uturn": 20, "leftovers,prankster,encore,energyball,moonblast,toxic": 28}, + "whiscash": {"leftovers,oblivious,earthquake,protect,scald,toxic": 744, "lifeorb,oblivious,dragondance,earthquake,stoneedge,waterfall": 790, "leftovers,hydration,earthquake,protect,scald,toxic": 8, "lifeorb,hydration,dragondance,earthquake,stoneedge,waterfall": 8}, + "wigglytuff": {"leftovers,competitive,dazzlinggleam,healbell,protect,wish": 172, "leftovers,competitive,dazzlinggleam,healbell,knockoff,thunderwave": 85, "leftovers,competitive,dazzlinggleam,protect,stealthrock,wish": 168, "leftovers,competitive,dazzlinggleam,protect,thunderwave,wish": 224, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,thunderwave": 109, "leftovers,competitive,dazzlinggleam,fireblast,protect,wish": 220, "leftovers,competitive,dazzlinggleam,fireblast,stealthrock,thunderwave": 84, "leftovers,competitive,dazzlinggleam,fireblast,healbell,thunderwave": 98, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,stealthrock": 83, "leftovers,competitive,dazzlinggleam,fireblast,healbell,knockoff": 90, "leftovers,competitive,dazzlinggleam,knockoff,stealthrock,thunderwave": 73, "leftovers,competitive,dazzlinggleam,knockoff,protect,wish": 207, "leftovers,competitive,dazzlinggleam,healbell,stealthrock,thunderwave": 73, "leftovers,competitive,dazzlinggleam,healbell,knockoff,stealthrock": 61, "leftovers,competitive,dazzlinggleam,fireblast,healbell,stealthrock": 74}, + "wobbuffet": {"custapberry,shadowtag,counter,destinybond,encore,mirrorcoat": 1795}, + "wormadam": {"choicespecs,overcoat,hiddenpowerrock,leafstorm,psychic,signalbeam": 34, "leftovers,overcoat,gigadrain,hiddenpowerground,protect,toxic": 69, "choicespecs,anticipation,hiddenpowerrock,leafstorm,psychic,signalbeam": 35, "choicespecs,anticipation,hiddenpowerground,leafstorm,psychic,signalbeam": 28, "choicespecs,overcoat,hiddenpowerground,leafstorm,psychic,signalbeam": 27, "leftovers,anticipation,hiddenpowerground,leafstorm,signalbeam,synthesis": 25, "leftovers,anticipation,gigadrain,hiddenpowerground,protect,toxic": 62, "leftovers,overcoat,hiddenpowerground,leafstorm,signalbeam,synthesis": 18, "leftovers,overcoat,hiddenpowerground,leafstorm,synthesis,toxic": 14, "leftovers,anticipation,hiddenpowerrock,leafstorm,signalbeam,synthesis": 20, "leftovers,overcoat,hiddenpowerrock,leafstorm,synthesis,toxic": 9, "leftovers,overcoat,leafstorm,signalbeam,synthesis,toxic": 2, "leftovers,overcoat,hiddenpowerrock,leafstorm,signalbeam,synthesis": 13, "leftovers,anticipation,hiddenpowerrock,leafstorm,synthesis,toxic": 11, "leftovers,anticipation,hiddenpowerground,leafstorm,synthesis,toxic": 9, "leftovers,anticipation,leafstorm,signalbeam,synthesis,toxic": 10}, + "wormadamsandy": {"leftovers,overcoat,earthquake,protect,stealthrock,toxic": 356, "leftovers,overcoat,earthquake,infestation,protect,toxic": 62}, + "wormadamtrash": {"leftovers,overcoat,flashcannon,protect,stealthrock,toxic": 456, "leftovers,overcoat,flashcannon,infestation,protect,toxic": 88}, + "xatu": {"leftovers,magicbounce,heatwave,psychic,roost,toxic": 149, "leftovers,magicbounce,heatwave,psychic,roost,thunderwave": 132, "leftovers,magicbounce,heatwave,psychic,roost,uturn": 121, "leftovers,magicbounce,calmmind,heatwave,psychic,roost": 640, "leftovers,magicbounce,psychic,roost,toxic,uturn": 119, "leftovers,magicbounce,psychic,roost,thunderwave,uturn": 129}, + "xerneas": {"powerherb,fairyaura,focusblast,geomancy,moonblast,psyshock": 1938}, + "yanmega": {"lifeorb,speedboost,airslash,bugbuzz,hiddenpowerground,protect": 546, "choicespecs,tintedlens,airslash,bugbuzz,gigadrain,uturn": 597}, + "yveltal": {"rockyhelmet,darkaura,knockoff,oblivionwing,roost,uturn": 151, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,toxic": 151, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,taunt": 133, "leftovers,darkaura,knockoff,oblivionwing,roost,toxic": 165, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,suckerpunch": 150, "leftovers,darkaura,knockoff,oblivionwing,roost,uturn": 149, "leftovers,darkaura,knockoff,oblivionwing,roost,suckerpunch": 154, "leftovers,darkaura,knockoff,oblivionwing,roost,taunt": 172}, + "zangoose": {"toxicorb,toxicboost,closecombat,facade,knockoff,quickattack": 548, "toxicorb,toxicboost,closecombat,facade,knockoff,swordsdance": 596, "toxicorb,toxicboost,facade,knockoff,quickattack,swordsdance": 563}, + "zapdos": {"leftovers,static,discharge,roost,toxic,uturn": 21, "leftovers,static,defog,discharge,hiddenpowerice,roost": 258, "leftovers,static,discharge,heatwave,hiddenpowerice,roost": 35, "leftovers,static,defog,discharge,roost,toxic": 300, "leftovers,static,defog,discharge,roost,uturn": 306, "leftovers,static,discharge,hiddenpowerice,roost,uturn": 19, "leftovers,static,defog,discharge,heatwave,roost": 282, "leftovers,static,discharge,heatwave,roost,uturn": 27, "leftovers,static,discharge,hiddenpowerice,roost,toxic": 23, "leftovers,static,discharge,heatwave,roost,toxic": 21}, + "zebstrika": {"expertbelt,sapsipper,hiddenpowerice,overheat,voltswitch,wildcharge": 890, "choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 895}, + "zekrom": {"lumberry,teravolt,boltstrike,honeclaws,outrage,roost": 347, "lumberry,teravolt,boltstrike,honeclaws,outrage,substitute": 334, "assaultvest,teravolt,boltstrike,dracometeor,outrage,voltswitch": 704}, + "zoroark": {"choicespecs,illusion,darkpulse,focusblast,sludgebomb,uturn": 185, "choicespecs,illusion,darkpulse,flamethrower,focusblast,sludgebomb": 158, "choicespecs,illusion,darkpulse,focusblast,sludgebomb,trick": 223, "lifeorb,illusion,darkpulse,focusblast,nastyplot,sludgebomb": 201, "lifeorb,illusion,darkpulse,flamethrower,nastyplot,sludgebomb": 198, "choicespecs,illusion,darkpulse,flamethrower,sludgebomb,uturn": 195, "choicespecs,illusion,darkpulse,flamethrower,sludgebomb,trick": 189}, + "zygarde": {"lumberry,aurabreak,dragondance,earthquake,glare,outrage": 544, "lumberry,aurabreak,dragondance,earthquake,extremespeed,outrage": 515, "lumberry,aurabreak,dragondance,earthquake,outrage,substitute": 491} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen7ou.json b/data/pkmn_sets/gen7ou.json new file mode 100644 index 000000000..973c06d67 --- /dev/null +++ b/data/pkmn_sets/gen7ou.json @@ -0,0 +1,3 @@ +{ + "pokemon": {} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen7randombattle.json b/data/pkmn_sets/gen7randombattle.json new file mode 100644 index 000000000..4e52b5d66 --- /dev/null +++ b/data/pkmn_sets/gen7randombattle.json @@ -0,0 +1,577 @@ +{ + "abomasnow": {"assaultvest,snowwarning,blizzard,earthquake,iceshard,woodhammer": 114, "assaultvest,snowwarning,blizzard,earthquake,gigadrain,iceshard": 94}, + "abomasnowmega": {"abomasite,snowwarning,blizzard,earthquake,gigadrain,iceshard": 414, "abomasite,snowwarning,blizzard,earthquake,iceshard,woodhammer": 416}, + "absol": {"lifeorb,justified,knockoff,playrough,suckerpunch,swordsdance": 89, "blackglasses,justified,knockoff,playrough,pursuit,suckerpunch": 108, "choiceband,justified,knockoff,playrough,suckerpunch,superpower": 122}, + "absolmega": {"absolite,justified,knockoff,playrough,suckerpunch,superpower": 106, "absolite,justified,irontail,knockoff,playrough,superpower": 104, "absolite,justified,irontail,knockoff,playrough,swordsdance": 136, "absolite,justified,irontail,knockoff,playrough,suckerpunch": 103, "absolite,justified,knockoff,playrough,pursuit,superpower": 138, "absolite,justified,knockoff,playrough,superpower,swordsdance": 121, "absolite,justified,irontail,knockoff,playrough,pursuit": 108, "absolite,justified,knockoff,playrough,pursuit,suckerpunch": 123, "absolite,justified,knockoff,playrough,suckerpunch,swordsdance": 122}, + "accelgor": {"focussash,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 8, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerground,spikes": 42, "choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerrock,uturn": 46, "leftovers,stickyhold,bugbuzz,encore,spikes,uturn": 40, "leftovers,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 42, "leftovers,stickyhold,bugbuzz,encore,spikes,toxicspikes": 28, "focussash,stickyhold,bugbuzz,hiddenpowerrock,toxicspikes,uturn": 5, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerrock,toxicspikes": 37, "focussash,stickyhold,bugbuzz,hiddenpowerrock,spikes,toxicspikes": 15, "leftovers,stickyhold,bugbuzz,hiddenpowerrock,spikes,toxicspikes": 27, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 10, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerrock,spikes": 34, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,uturn": 40, "leftovers,stickyhold,bugbuzz,hiddenpowerrock,toxicspikes,uturn": 42, "choicespecs,stickyhold,bugbuzz,focusblast,hiddenpowerground,uturn": 53, "leftovers,stickyhold,bugbuzz,encore,focusblast,uturn": 38, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 42, "focussash,stickyhold,bugbuzz,encore,focusblast,spikes": 5, "leftovers,stickyhold,bugbuzz,encore,focusblast,spikes": 34, "leftovers,stickyhold,bugbuzz,focusblast,toxicspikes,uturn": 24, "leftovers,stickyhold,bugbuzz,hiddenpowerground,toxicspikes,uturn": 41, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 45, "leftovers,stickyhold,bugbuzz,hiddenpowerground,spikes,toxicspikes": 29, "leftovers,stickyhold,bugbuzz,focusblast,spikes,uturn": 29, "focussash,stickyhold,bugbuzz,focusblast,spikes,toxicspikes": 5, "leftovers,stickyhold,bugbuzz,encore,toxicspikes,uturn": 27, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerground": 42, "focussash,stickyhold,bugbuzz,encore,spikes,toxicspikes": 11, "focussash,stickyhold,bugbuzz,hiddenpowerground,toxicspikes,uturn": 8, "leftovers,hydration,bugbuzz,hiddenpowerrock,spikes,uturn": 2, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,toxicspikes": 27, "leftovers,stickyhold,bugbuzz,spikes,toxicspikes,uturn": 29, "leftovers,stickyhold,bugbuzz,encore,focusblast,toxicspikes": 29, "focussash,stickyhold,bugbuzz,encore,toxicspikes,uturn": 7, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerground,uturn": 47, "focussash,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 2, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerground,toxicspikes": 10, "leftovers,stickyhold,bugbuzz,hiddenpowerrock,spikes,uturn": 40, "leftovers,stickyhold,bugbuzz,focusblast,spikes,toxicspikes": 20, "lifeorb,stickyhold,bugbuzz,focusblast,hiddenpowerground,toxicspikes": 28, "focussash,stickyhold,bugbuzz,encore,hiddenpowerground,spikes": 8, "lifeorb,stickyhold,bugbuzz,encore,focusblast,hiddenpowerrock": 46, "focussash,stickyhold,bugbuzz,encore,hiddenpowerground,toxicspikes": 6, "focussash,stickyhold,bugbuzz,hiddenpowerground,spikes,toxicspikes": 7, "leftovers,stickyhold,bugbuzz,encore,hiddenpowerrock,toxicspikes": 23, "focussash,stickyhold,bugbuzz,focusblast,toxicspikes,uturn": 6, "leftovers,hydration,bugbuzz,encore,hiddenpowerrock,toxicspikes": 1, "focussash,stickyhold,bugbuzz,encore,hiddenpowerrock,toxicspikes": 10, "focussash,hydration,bugbuzz,hiddenpowerrock,toxicspikes,uturn": 1, "focussash,stickyhold,bugbuzz,spikes,toxicspikes,uturn": 7, "focussash,stickyhold,bugbuzz,focusblast,spikes,uturn": 5, "focussash,stickyhold,bugbuzz,encore,focusblast,toxicspikes": 5, "focussash,stickyhold,bugbuzz,hiddenpowerground,spikes,uturn": 3, "leftovers,hydration,bugbuzz,encore,spikes,toxicspikes": 1, "focussash,stickyhold,bugbuzz,encore,hiddenpowerrock,spikes": 4, "leftovers,hydration,bugbuzz,focusblast,toxicspikes,uturn": 1, "focussash,stickyhold,bugbuzz,focusblast,hiddenpowerrock,toxicspikes": 4, "focussash,hydration,bugbuzz,focusblast,spikes,uturn": 1, "focussash,hydration,bugbuzz,hiddenpowerground,toxicspikes,uturn": 1, "focussash,stickyhold,bugbuzz,encore,spikes,uturn": 2, "leftovers,hydration,bugbuzz,encore,hiddenpowerground,uturn": 2, "leftovers,hydration,bugbuzz,hiddenpowerground,spikes,toxicspikes": 2, "leftovers,hydration,bugbuzz,hiddenpowerground,spikes,uturn": 1, "leftovers,hydration,bugbuzz,hiddenpowerrock,spikes,toxicspikes": 1, "focussash,hydration,bugbuzz,encore,hiddenpowerground,spikes": 1, "focussash,hydration,bugbuzz,encore,hiddenpowerground,toxicspikes": 1, "focussash,hydration,bugbuzz,focusblast,hiddenpowerrock,toxicspikes": 1, "lifeorb,hydration,bugbuzz,focusblast,hiddenpowerrock,spikes": 1, "choicespecs,hydration,bugbuzz,focusblast,hiddenpowerground,uturn": 1, "lifeorb,hydration,bugbuzz,encore,focusblast,hiddenpowerground": 1, "focussash,hydration,bugbuzz,encore,focusblast,spikes": 1}, + "aegislash": {"leftovers,stancechange,kingsshield,shadowball,substitute,toxic": 286, "lifeorb,stancechange,ironhead,shadowclaw,shadowsneak,swordsdance": 212, "lifeorb,stancechange,ironhead,sacredsword,shadowsneak,swordsdance": 200, "leftovers,stancechange,ironhead,kingsshield,shadowball,toxic": 302, "leftovers,stancechange,ironhead,kingsshield,shadowsneak,swordsdance": 218}, + "aerodactyl": {"leftovers,unnerve,earthquake,roost,stoneedge,taunt": 19, "flyiniumz,unnerve,earthquake,honeclaws,skyattack,stoneedge": 66, "lifeorb,unnerve,earthquake,pursuit,stealthrock,stoneedge": 8, "leftovers,unnerve,earthquake,roost,stealthrock,stoneedge": 16, "lifeorb,unnerve,aerialace,earthquake,roost,stoneedge": 7, "lifeorb,unnerve,earthquake,pursuit,roost,stoneedge": 3, "lifeorb,unnerve,aerialace,defog,earthquake,stoneedge": 4, "leftovers,unnerve,defog,earthquake,roost,stoneedge": 14, "lifeorb,unnerve,defog,earthquake,pursuit,stoneedge": 6, "lifeorb,unnerve,aquatail,earthquake,roost,stoneedge": 7, "choiceband,unnerve,aerialace,earthquake,pursuit,stoneedge": 7, "choiceband,unnerve,aquatail,earthquake,pursuit,stoneedge": 5, "leftovers,unnerve,earthquake,roost,stoneedge,toxic": 8, "lifeorb,unnerve,aquatail,defog,earthquake,stoneedge": 2, "choiceband,unnerve,aerialace,aquatail,earthquake,stoneedge": 3, "lifeorb,unnerve,aerialace,earthquake,stealthrock,stoneedge": 3, "focussash,unnerve,earthquake,pursuit,stealthrock,stoneedge": 1, "lifeorb,unnerve,aquatail,earthquake,stealthrock,stoneedge": 4}, + "aerodactylmega": {"aerodactylite,unnerve,earthquake,honeclaws,roost,stoneedge": 136, "aerodactylite,unnerve,aerialace,earthquake,roost,stoneedge": 136, "aerodactylite,unnerve,aquatail,earthquake,honeclaws,stoneedge": 129, "aerodactylite,unnerve,aquatail,earthquake,roost,stoneedge": 148, "aerodactylite,unnerve,aerialace,earthquake,honeclaws,stoneedge": 142, "aerodactylite,unnerve,aerialace,aquatail,earthquake,stoneedge": 148}, + "aggron": {"airballoon,rockhead,earthquake,headsmash,heavyslam,stealthrock": 72, "choiceband,rockhead,aquatail,earthquake,headsmash,heavyslam": 85, "airballoon,rockhead,earthquake,headsmash,heavyslam,rockpolish": 108}, + "aggronmega": {"aggronite,sturdy,earthquake,heavyslam,stealthrock,toxic": 96, "aggronite,sturdy,earthquake,heavyslam,stoneedge,thunderwave": 136, "aggronite,sturdy,earthquake,heavyslam,stealthrock,thunderwave": 109, "aggronite,sturdy,earthquake,heavyslam,stealthrock,stoneedge": 80, "aggronite,sturdy,earthquake,heavyslam,roar,toxic": 131, "aggronite,sturdy,earthquake,heavyslam,stoneedge,toxic": 124, "aggronite,sturdy,earthquake,heavyslam,roar,thunderwave": 123, "aggronite,sturdy,earthquake,heavyslam,roar,stoneedge": 110, "aggronite,sturdy,earthquake,heavyslam,roar,stealthrock": 91}, + "alakazam": {"lifeorb,magicguard,calmmind,encore,focusblast,psychic": 30, "focussash,magicguard,counter,focusblast,psyshock,shadowball": 94, "lifeorb,magicguard,calmmind,focusblast,psychic,shadowball": 28, "focussash,magicguard,counter,focusblast,psychic,shadowball": 88, "lifeorb,magicguard,calmmind,focusblast,psyshock,shadowball": 46, "lifeorb,magicguard,calmmind,focusblast,psyshock,substitute": 29, "lifeorb,magicguard,calmmind,encore,focusblast,psyshock": 17, "lifeorb,magicguard,calmmind,focusblast,psychic,substitute": 26}, + "alakazammega": {"alakazite,magicguard,calmmind,focusblast,psyshock,substitute": 206, "alakazite,magicguard,calmmind,focusblast,psychic,substitute": 203, "alakazite,magicguard,calmmind,encore,focusblast,psyshock": 207, "alakazite,magicguard,calmmind,focusblast,psychic,shadowball": 218, "alakazite,magicguard,calmmind,encore,focusblast,psychic": 200, "alakazite,magicguard,calmmind,focusblast,psyshock,shadowball": 236}, + "alomomola": {"rockyhelmet,regenerator,protect,scald,toxic,wish": 362, "leftovers,regenerator,knockoff,protect,scald,wish": 343, "rockyhelmet,regenerator,knockoff,protect,scald,wish": 335, "leftovers,regenerator,protect,scald,toxic,wish": 353}, + "altaria": {"leftovers,naturalcure,defog,dracometeor,healbell,roost": 48, "leftovers,naturalcure,defog,dracometeor,roost,toxic": 51, "leftovers,naturalcure,defog,dracometeor,fireblast,roost": 38, "leftovers,naturalcure,dracometeor,fireblast,healbell,roost": 10, "leftovers,naturalcure,dracometeor,fireblast,roost,toxic": 9, "leftovers,naturalcure,defog,dracometeor,earthquake,roost": 48, "leftovers,naturalcure,dracometeor,earthquake,fireblast,roost": 9, "leftovers,naturalcure,dracometeor,earthquake,roost,toxic": 11, "leftovers,naturalcure,dracometeor,healbell,roost,toxic": 5, "leftovers,naturalcure,dracometeor,earthquake,healbell,roost": 3}, + "altariamega": {"altarianite,naturalcure,dragondance,earthquake,return,roost": 518, "altarianite,naturalcure,defog,fireblast,return,roost": 177, "altarianite,naturalcure,defog,healbell,return,roost": 137, "altarianite,naturalcure,defog,earthquake,return,roost": 136, "altarianite,naturalcure,earthquake,fireblast,return,roost": 29, "altarianite,naturalcure,earthquake,healbell,return,roost": 22, "altarianite,naturalcure,fireblast,healbell,return,roost": 21}, + "ambipom": {"silkscarf,technician,fakeout,knockoff,lowkick,return": 491, "silkscarf,technician,fakeout,knockoff,return,uturn": 484, "choiceband,technician,knockoff,lowkick,return,uturn": 447}, + "amoonguss": {"rockyhelmet,regenerator,gigadrain,sludgebomb,spore,synthesis": 298, "blacksludge,regenerator,gigadrain,sludgebomb,spore,synthesis": 297, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,stompingtantrum": 65, "blacksludge,regenerator,foulplay,gigadrain,sludgebomb,spore": 64, "blacksludge,regenerator,foulplay,sludgebomb,spore,stompingtantrum": 56, "blacksludge,regenerator,gigadrain,sludgebomb,spore,stompingtantrum": 66, "blacksludge,regenerator,clearsmog,sludgebomb,spore,stompingtantrum": 39, "rockyhelmet,regenerator,clearsmog,sludgebomb,spore,stompingtantrum": 29, "rockyhelmet,regenerator,foulplay,sludgebomb,spore,stompingtantrum": 66, "rockyhelmet,regenerator,clearsmog,gigadrain,sludgebomb,spore": 28, "rockyhelmet,regenerator,foulplay,gigadrain,sludgebomb,spore": 60, "blacksludge,regenerator,clearsmog,gigadrain,sludgebomb,spore": 39, "rockyhelmet,regenerator,clearsmog,foulplay,sludgebomb,spore": 41, "blacksludge,regenerator,clearsmog,foulplay,sludgebomb,spore": 31}, + "ampharos": {"choicespecs,static,focusblast,hiddenpowerice,thunderbolt,voltswitch": 54, "leftovers,static,focusblast,healbell,hiddenpowerice,thunderbolt": 49, "leftovers,static,focusblast,hiddenpowerice,thunderbolt,toxic": 62, "leftovers,static,focusblast,healbell,thunderbolt,voltswitch": 33, "leftovers,static,focusblast,healbell,thunderbolt,toxic": 26, "leftovers,static,healbell,hiddenpowerice,thunderbolt,voltswitch": 37, "leftovers,static,healbell,hiddenpowerice,thunderbolt,toxic": 28, "leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 32, "leftovers,static,focusblast,thunderbolt,toxic,voltswitch": 30}, + "ampharosmega": {"ampharosite,static,dragonpulse,focusblast,thunderbolt,voltswitch": 229, "ampharosite,static,discharge,dragonpulse,focusblast,healbell": 82, "ampharosite,static,discharge,dragonpulse,rest,sleeptalk": 200, "ampharosite,static,agility,dragonpulse,focusblast,thunderbolt": 274, "ampharosite,static,discharge,dragonpulse,healbell,voltswitch": 93, "ampharosite,static,discharge,dragonpulse,focusblast,voltswitch": 88}, + "araquanid": {"leftovers,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb": 378, "leftovers,waterbubble,leechlife,liquidation,stickyweb,toxic": 405, "leftovers,waterbubble,leechlife,liquidation,mirrorcoat,toxic": 40, "leftovers,waterbubble,liquidation,mirrorcoat,stickyweb,toxic": 396}, + "arbok": {"lifeorb,intimidate,coil,earthquake,gunkshot,suckerpunch": 350, "blacksludge,shedskin,coil,earthquake,gunkshot,rest": 714, "lifeorb,intimidate,aquatail,coil,earthquake,gunkshot": 373}, + "arcanine": {"lifeorb,intimidate,closecombat,extremespeed,flareblitz,morningsun": 229, "leftovers,intimidate,extremespeed,flareblitz,morningsun,roar": 47, "leftovers,intimidate,extremespeed,flareblitz,morningsun,wildcharge": 85, "leftovers,intimidate,flareblitz,morningsun,toxic,wildcharge": 46, "lifeorb,intimidate,closecombat,flareblitz,morningsun,wildcharge": 184, "leftovers,intimidate,flareblitz,morningsun,wildcharge,willowisp": 49, "leftovers,intimidate,closecombat,flareblitz,morningsun,roar": 46, "leftovers,intimidate,closecombat,extremespeed,flareblitz,morningsun": 83, "leftovers,intimidate,extremespeed,flareblitz,morningsun,toxic": 47, "leftovers,intimidate,closecombat,flareblitz,morningsun,willowisp": 50, "leftovers,intimidate,flareblitz,morningsun,roar,wildcharge": 37, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge": 215, "leftovers,intimidate,extremespeed,flareblitz,morningsun,willowisp": 41, "leftovers,intimidate,closecombat,flareblitz,morningsun,toxic": 28, "leftovers,intimidate,closecombat,flareblitz,morningsun,wildcharge": 87}, + "arceus": {"lifeorb,multitype,earthquake,extremespeed,shadowclaw,swordsdance": 131, "lifeorb,multitype,extremespeed,recover,shadowclaw,swordsdance": 47, "lifeorb,multitype,earthquake,extremespeed,recover,swordsdance": 59}, + "arceusbug": {"insectplate,multitype,calmmind,earthpower,icebeam,judgment": 109, "insectplate,multitype,calmmind,earthpower,judgment,recover": 56, "insectplate,multitype,calmmind,fireblast,judgment,recover": 54}, + "arceusdark": {"dreadplate,multitype,calmmind,judgment,recover,sludgebomb": 34, "dreadplate,multitype,defog,judgment,recover,sludgebomb": 25, "dreadplate,multitype,judgment,recover,sludgebomb,toxic": 21, "dreadplate,multitype,fireblast,judgment,recover,sludgebomb": 51, "dreadplate,multitype,fireblast,judgment,recover,willowisp": 25, "dreadplate,multitype,fireblast,judgment,recover,toxic": 18, "dreadplate,multitype,judgment,recover,sludgebomb,willowisp": 18, "dreadplate,multitype,defog,fireblast,judgment,recover": 17, "dreadplate,multitype,calmmind,fireblast,judgment,recover": 21}, + "arceusdragon": {"dracoplate,multitype,defog,earthquake,judgment,recover": 40, "dracoplate,multitype,defog,judgment,recover,willowisp": 38, "dragoniumz,multitype,earthquake,outrage,recover,swordsdance": 59, "dracoplate,multitype,defog,fireblast,judgment,recover": 39, "dragoniumz,multitype,earthquake,extremespeed,outrage,swordsdance": 54, "dracoplate,multitype,earthquake,fireblast,judgment,recover": 11, "dracoplate,multitype,earthquake,judgment,recover,willowisp": 9, "dracoplate,multitype,fireblast,judgment,recover,willowisp": 9}, + "arceuselectric": {"zapplate,multitype,calmmind,icebeam,judgment,recover": 228}, + "arceusfairy": {"pixieplate,multitype,calmmind,earthpower,judgment,recover": 149, "pixieplate,multitype,earthquake,judgment,recover,toxic": 45, "pixieplate,multitype,earthquake,judgment,recover,willowisp": 44, "pixieplate,multitype,defog,earthquake,judgment,recover": 40}, + "arceusfighting": {"fistplate,multitype,calmmind,judgment,recover,shadowball": 124, "fistplate,multitype,calmmind,icebeam,judgment,recover": 131}, + "arceusfire": {"firiumz,multitype,calmmind,earthpower,energyball,fireblast": 90, "firiumz,multitype,calmmind,earthpower,fireblast,recover": 41, "flameplate,multitype,calmmind,earthpower,judgment,recover": 11, "firiumz,multitype,calmmind,energyball,fireblast,recover": 49, "flameplate,multitype,calmmind,energyball,judgment,recover": 16}, + "arceusflying": {"skyplate,multitype,earthquake,judgment,recover,willowisp": 37, "skyplate,multitype,calmmind,earthpower,judgment,recover": 77, "skyplate,multitype,earthquake,judgment,recover,toxic": 34, "skyplate,multitype,defog,earthquake,judgment,recover": 22}, + "arceusghost": {"spookyplate,multitype,defog,focusblast,judgment,recover": 40, "ghostiumz,multitype,brickbreak,extremespeed,shadowforce,swordsdance": 116, "spookyplate,multitype,calmmind,focusblast,judgment,recover": 54, "spookyplate,multitype,focusblast,judgment,recover,toxic": 42, "spookyplate,multitype,focusblast,judgment,recover,willowisp": 37}, + "arceusgrass": {"meadowplate,multitype,calmmind,earthpower,icebeam,judgment": 115, "meadowplate,multitype,calmmind,fireblast,judgment,recover": 92}, + "arceusground": {"groundiumz,multitype,earthquake,recover,stoneedge,swordsdance": 40, "earthplate,multitype,calmmind,icebeam,judgment,recover": 65, "earthplate,multitype,icebeam,judgment,recover,toxic": 53, "groundiumz,multitype,earthquake,extremespeed,stoneedge,swordsdance": 45}, + "arceusice": {"icicleplate,multitype,calmmind,earthpower,judgment,recover": 104, "icicleplate,multitype,calmmind,judgment,recover,thunderbolt": 114}, + "arceuspoison": {"toxicplate,multitype,defog,earthquake,recover,sludgebomb": 54, "toxicplate,multitype,earthquake,icebeam,recover,sludgebomb": 81, "toxicplate,multitype,calmmind,earthpower,icebeam,sludgebomb": 8, "poisoniumz,multitype,calmmind,earthpower,icebeam,sludgebomb": 49, "poisoniumz,multitype,calmmind,earthpower,recover,sludgebomb": 63, "toxicplate,multitype,calmmind,earthpower,recover,sludgebomb": 12}, + "arceuspsychic": {"mindplate,multitype,calmmind,earthpower,judgment,recover": 62, "mindplate,multitype,calmmind,fireblast,judgment,recover": 60, "mindplate,multitype,earthquake,judgment,recover,toxic": 16, "mindplate,multitype,defog,fireblast,judgment,recover": 14, "mindplate,multitype,earthquake,fireblast,judgment,recover": 42, "mindplate,multitype,fireblast,judgment,recover,toxic": 18, "mindplate,multitype,earthquake,judgment,recover,willowisp": 15, "mindplate,multitype,defog,earthquake,judgment,recover": 14, "mindplate,multitype,fireblast,judgment,recover,willowisp": 19}, + "arceusrock": {"stoneplate,multitype,earthquake,judgment,recover,willowisp": 35, "rockiumz,multitype,earthquake,extremespeed,stoneedge,swordsdance": 40, "stoneplate,multitype,defog,earthquake,judgment,recover": 35, "rockiumz,multitype,earthquake,recover,stoneedge,swordsdance": 47, "stoneplate,multitype,earthquake,judgment,recover,toxic": 41}, + "arceussteel": {"ironplate,multitype,earthquake,judgment,recover,willowisp": 46, "ironplate,multitype,earthquake,judgment,recover,toxic": 44, "steeliumz,multitype,earthquake,ironhead,stoneedge,swordsdance": 51, "ironplate,multitype,defog,earthquake,judgment,recover": 34, "steeliumz,multitype,earthquake,ironhead,recover,swordsdance": 47}, + "arceuswater": {"splashplate,multitype,icebeam,judgment,recover,toxic": 119, "splashplate,multitype,calmmind,icebeam,judgment,recover": 123}, + "archeops": {",defeatist,acrobatics,earthquake,roost,stoneedge": 224, ",defeatist,acrobatics,earthquake,stealthrock,stoneedge": 215, ",defeatist,acrobatics,earthquake,knockoff,stoneedge": 221, ",defeatist,acrobatics,defog,earthquake,stoneedge": 185, ",defeatist,acrobatics,earthquake,stoneedge,uturn": 200}, + "ariados": {"blacksludge,insomnia,megahorn,poisonjab,stickyweb,toxicspikes": 220, "blacksludge,swarm,megahorn,poisonjab,stickyweb,suckerpunch": 269, "blacksludge,swarm,megahorn,poisonjab,stickyweb,toxicspikes": 250, "focussash,insomnia,megahorn,poisonjab,stickyweb,suckerpunch": 58, "focussash,insomnia,megahorn,poisonjab,stickyweb,toxicspikes": 38, "blacksludge,insomnia,megahorn,poisonjab,stickyweb,suckerpunch": 257, "blacksludge,swarm,megahorn,poisonjab,suckerpunch,toxicspikes": 16, "focussash,swarm,megahorn,poisonjab,stickyweb,suckerpunch": 43, "focussash,swarm,megahorn,poisonjab,stickyweb,toxicspikes": 47, "blacksludge,insomnia,megahorn,poisonjab,suckerpunch,toxicspikes": 13}, + "armaldo": {"leftovers,battlearmor,rapidspin,stoneedge,toxic,xscissor": 71, "leftovers,battlearmor,knockoff,stoneedge,swordsdance,xscissor": 21, "leftovers,battlearmor,aquajet,knockoff,stoneedge,swordsdance": 27, "assaultvest,battlearmor,earthquake,knockoff,rapidspin,stoneedge": 79, "leftovers,battlearmor,earthquake,rapidspin,stoneedge,toxic": 62, "choiceband,battlearmor,aquajet,earthquake,liquidation,stoneedge": 40, "assaultvest,battlearmor,earthquake,rapidspin,stoneedge,xscissor": 71, "leftovers,battlearmor,knockoff,rapidspin,stealthrock,stoneedge": 54, "leftovers,battlearmor,earthquake,knockoff,stoneedge,swordsdance": 36, "leftovers,battlearmor,earthquake,rapidspin,stealthrock,stoneedge": 59, "choiceband,battlearmor,earthquake,liquidation,stoneedge,xscissor": 56, "leftovers,battlearmor,knockoff,rapidspin,stoneedge,toxic": 73, "choiceband,battlearmor,aquajet,knockoff,liquidation,stoneedge": 26, "choiceband,battlearmor,aquajet,liquidation,stoneedge,xscissor": 36, "choiceband,battlearmor,earthquake,knockoff,stoneedge,xscissor": 59, "leftovers,battlearmor,earthquake,stoneedge,toxic,xscissor": 20, "choiceband,battlearmor,aquajet,earthquake,knockoff,stoneedge": 31, "choiceband,battlearmor,aquajet,earthquake,stoneedge,xscissor": 23, "leftovers,swiftswim,knockoff,rapidspin,stealthrock,stoneedge": 4, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,xscissor": 41, "assaultvest,battlearmor,knockoff,rapidspin,stoneedge,xscissor": 60, "leftovers,battlearmor,earthquake,knockoff,stealthrock,stoneedge": 11, "leftovers,battlearmor,rapidspin,stealthrock,stoneedge,toxic": 53, "leftovers,battlearmor,aquajet,stoneedge,swordsdance,xscissor": 18, "leftovers,battlearmor,aquajet,earthquake,stoneedge,swordsdance": 15, "choiceband,battlearmor,aquajet,knockoff,stoneedge,xscissor": 37, "leftovers,battlearmor,earthquake,liquidation,stoneedge,swordsdance": 32, "leftovers,battlearmor,earthquake,stoneedge,swordsdance,xscissor": 41, "choiceband,battlearmor,knockoff,liquidation,stoneedge,xscissor": 46, "leftovers,battlearmor,earthquake,knockoff,stoneedge,toxic": 13, "leftovers,battlearmor,knockoff,liquidation,stoneedge,swordsdance": 28, "leftovers,battlearmor,knockoff,stoneedge,toxic,xscissor": 20, "choiceband,battlearmor,earthquake,knockoff,liquidation,stoneedge": 48, "choiceband,swiftswim,aquajet,earthquake,stoneedge,xscissor": 1, "leftovers,battlearmor,liquidation,stoneedge,swordsdance,xscissor": 29, "assaultvest,swiftswim,earthquake,rapidspin,stoneedge,xscissor": 1, "leftovers,battlearmor,aquajet,liquidation,stoneedge,swordsdance": 17, "leftovers,battlearmor,knockoff,stealthrock,stoneedge,toxic": 8, "leftovers,battlearmor,knockoff,stealthrock,stoneedge,xscissor": 10, "choiceband,swiftswim,earthquake,knockoff,liquidation,stoneedge": 1, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,xscissor": 11, "leftovers,battlearmor,stealthrock,stoneedge,toxic,xscissor": 13, "leftovers,battlearmor,earthquake,stealthrock,stoneedge,toxic": 9, "assaultvest,swiftswim,knockoff,rapidspin,stoneedge,xscissor": 3, "choiceband,swiftswim,earthquake,liquidation,stoneedge,xscissor": 1, "leftovers,swiftswim,knockoff,rapidspin,stoneedge,toxic": 2, "leftovers,swiftswim,aquajet,liquidation,stoneedge,swordsdance": 2, "choiceband,swiftswim,aquajet,earthquake,knockoff,stoneedge": 1, "choiceband,swiftswim,aquajet,knockoff,liquidation,stoneedge": 3, "leftovers,swiftswim,rapidspin,stoneedge,toxic,xscissor": 1, "leftovers,swiftswim,liquidation,stoneedge,swordsdance,xscissor": 1, "leftovers,swiftswim,aquajet,earthquake,stoneedge,swordsdance": 1, "leftovers,swiftswim,aquajet,knockoff,stoneedge,swordsdance": 1, "choiceband,swiftswim,aquajet,liquidation,stoneedge,xscissor": 1, "choiceband,swiftswim,aquajet,earthquake,liquidation,stoneedge": 1, "leftovers,swiftswim,earthquake,rapidspin,stoneedge,toxic": 1, "assaultvest,swiftswim,earthquake,knockoff,rapidspin,stoneedge": 1, "leftovers,swiftswim,earthquake,liquidation,stoneedge,swordsdance": 1, "leftovers,swiftswim,knockoff,liquidation,stoneedge,swordsdance": 1}, + "aromatisse": {"leftovers,aromaveil,calmmind,moonblast,protect,wish": 801, "leftovers,aromaveil,moonblast,protect,toxic,wish": 854}, + "articuno": {"leftovers,pressure,freezedry,hurricane,roost,substitute": 299, "leftovers,pressure,freezedry,roost,substitute,toxic": 595, "leftovers,pressure,freezedry,hurricane,roost,toxic": 269}, + "audino": {"leftovers,regenerator,knockoff,protect,toxic,wish": 162, "rockyhelmet,regenerator,knockoff,protect,toxic,wish": 168}, + "audinomega": {"audinite,regenerator,dazzlinggleam,protect,toxic,wish": 572, "audinite,regenerator,calmmind,dazzlinggleam,protect,wish": 289, "audinite,regenerator,dazzlinggleam,fireblast,protect,wish": 262}, + "aurorus": {"leftovers,snowwarning,blizzard,earthpower,freezedry,stealthrock": 154, "leftovers,snowwarning,ancientpower,blizzard,earthpower,thunderwave": 211, "choicespecs,snowwarning,ancientpower,blizzard,earthpower,freezedry": 171, "leftovers,snowwarning,blizzard,earthpower,freezedry,thunderwave": 203, "leftovers,snowwarning,blizzard,earthpower,stealthrock,thunderwave": 160, "leftovers,snowwarning,ancientpower,blizzard,earthpower,stealthrock": 164}, + "avalugg": {"leftovers,sturdy,avalanche,earthquake,rapidspin,recover": 980, "leftovers,sturdy,avalanche,curse,earthquake,recover": 171}, + "azelf": {"choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn": 208, "focussash,levitate,knockoff,psychic,stealthrock,uturn": 9, "lifeorb,levitate,fireblast,knockoff,psychic,taunt": 46, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn": 202, "leftovers,levitate,explosion,psychic,stealthrock,uturn": 23, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic": 222, "leftovers,levitate,knockoff,psychic,stealthrock,taunt": 30, "lifeorb,levitate,explosion,knockoff,psychic,stealthrock": 22, "leftovers,levitate,fireblast,psychic,taunt,uturn": 46, "assaultvest,levitate,explosion,fireblast,knockoff,psychic": 49, "assaultvest,levitate,explosion,knockoff,psychic,uturn": 47, "leftovers,levitate,knockoff,psychic,taunt,uturn": 53, "leftovers,levitate,fireblast,psychic,stealthrock,taunt": 24, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock": 205, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 25, "assaultvest,levitate,fireblast,knockoff,psychic,uturn": 38, "lifeorb,levitate,explosion,fireblast,psychic,taunt": 46, "leftovers,levitate,psychic,stealthrock,taunt,uturn": 24, "lifeorb,levitate,explosion,fireblast,psychic,stealthrock": 27, "lifeorb,levitate,fireblast,knockoff,psychic,stealthrock": 14, "leftovers,levitate,fireblast,psychic,stealthrock,uturn": 32, "lifeorb,levitate,explosion,knockoff,psychic,taunt": 38, "focussash,levitate,fireblast,knockoff,psychic,stealthrock": 6, "leftovers,levitate,explosion,psychic,stealthrock,taunt": 24, "leftovers,levitate,explosion,psychic,taunt,uturn": 38, "focussash,levitate,psychic,stealthrock,taunt,uturn": 5, "assaultvest,levitate,explosion,fireblast,psychic,uturn": 42, "focussash,levitate,explosion,psychic,stealthrock,uturn": 6, "focussash,levitate,fireblast,psychic,stealthrock,taunt": 5, "focussash,levitate,explosion,psychic,stealthrock,taunt": 5, "focussash,levitate,fireblast,psychic,stealthrock,uturn": 11, "focussash,levitate,explosion,fireblast,psychic,stealthrock": 3, "focussash,levitate,explosion,knockoff,psychic,stealthrock": 3, "focussash,levitate,knockoff,psychic,stealthrock,taunt": 2}, + "azumarill": {"choiceband,hugepower,aquajet,knockoff,liquidation,playrough": 469, "choiceband,hugepower,aquajet,liquidation,playrough,superpower": 438, "sitrusberry,hugepower,aquajet,bellydrum,liquidation,playrough": 481}, + "banette": {"lifeorb,frisk,gunkshot,knockoff,shadowsneak,willowisp": 37, "lifeorb,frisk,knockoff,shadowclaw,shadowsneak,thunderwave": 32, "lifeorb,cursedbody,knockoff,shadowclaw,shadowsneak,thunderwave": 22, "lifeorb,frisk,gunkshot,knockoff,shadowsneak,thunderwave": 54, "choiceband,frisk,gunkshot,knockoff,shadowclaw,shadowsneak": 42, "lifeorb,frisk,gunkshot,shadowclaw,shadowsneak,willowisp": 15, "lifeorb,cursedbody,gunkshot,knockoff,shadowsneak,thunderwave": 38, "lifeorb,cursedbody,gunkshot,knockoff,shadowsneak,willowisp": 48, "lifeorb,cursedbody,gunkshot,shadowclaw,shadowsneak,willowisp": 23, "lifeorb,frisk,gunkshot,shadowclaw,shadowsneak,thunderwave": 26, "lifeorb,cursedbody,gunkshot,shadowclaw,shadowsneak,thunderwave": 21, "lifeorb,cursedbody,knockoff,shadowclaw,shadowsneak,willowisp": 20, "choiceband,cursedbody,gunkshot,knockoff,shadowclaw,shadowsneak": 27, "lifeorb,frisk,knockoff,shadowclaw,shadowsneak,willowisp": 17}, + "banettemega": {"banettite,frisk,destinybond,knockoff,shadowclaw,willowisp": 67, "banettite,frisk,gunkshot,knockoff,shadowclaw,shadowsneak": 49, "banettite,frisk,destinybond,shadowclaw,shadowsneak,taunt": 53, "banettite,frisk,shadowclaw,shadowsneak,taunt,willowisp": 76, "banettite,frisk,gunkshot,knockoff,shadowclaw,willowisp": 60, "banettite,frisk,destinybond,gunkshot,shadowclaw,shadowsneak": 83, "banettite,frisk,destinybond,gunkshot,shadowclaw,taunt": 68, "banettite,frisk,knockoff,shadowclaw,shadowsneak,taunt": 57, "banettite,frisk,destinybond,knockoff,shadowclaw,shadowsneak": 71, "banettite,frisk,gunkshot,shadowclaw,shadowsneak,taunt": 68, "banettite,frisk,knockoff,shadowclaw,taunt,willowisp": 56, "banettite,frisk,destinybond,gunkshot,knockoff,shadowclaw": 63, "banettite,frisk,gunkshot,shadowclaw,taunt,willowisp": 72, "banettite,frisk,knockoff,shadowclaw,shadowsneak,willowisp": 73, "banettite,frisk,gunkshot,knockoff,shadowclaw,taunt": 63, "banettite,frisk,destinybond,gunkshot,shadowclaw,willowisp": 68, "banettite,frisk,destinybond,shadowclaw,shadowsneak,willowisp": 55, "banettite,frisk,destinybond,shadowclaw,taunt,willowisp": 69, "banettite,frisk,gunkshot,shadowclaw,shadowsneak,willowisp": 56, "banettite,frisk,destinybond,knockoff,shadowclaw,taunt": 63}, + "barbaracle": {"whiteherb,toughclaws,earthquake,liquidation,shellsmash,stoneedge": 524, "whiteherb,toughclaws,liquidation,lowkick,shellsmash,stoneedge": 571}, + "basculin": {"choiceband,adaptability,aquajet,crunch,liquidation,superpower": 494, "choiceband,adaptability,aquajet,headsmash,liquidation,superpower": 449, "choiceband,adaptability,aquajet,crunch,headsmash,liquidation": 478}, + "bastiodon": {"airballoon,sturdy,metalburst,rockblast,stealthrock,toxic": 154, "leftovers,sturdy,protect,roar,rockblast,toxic": 251, "leftovers,sturdy,metalburst,protect,rockblast,toxic": 208, "airballoon,sturdy,metalburst,roar,rockblast,toxic": 242, "leftovers,sturdy,protect,rockblast,stealthrock,toxic": 195, "airballoon,sturdy,metalburst,roar,rockblast,stealthrock": 141, "airballoon,sturdy,roar,rockblast,stealthrock,toxic": 144}, + "beartic": {"lifeorb,slushrush,aquajet,iciclecrash,superpower,swordsdance": 172, "choiceband,swiftswim,aquajet,iciclecrash,stoneedge,superpower": 197, "lifeorb,swiftswim,iciclecrash,stoneedge,superpower,swordsdance": 196, "choiceband,slushrush,aquajet,iciclecrash,stoneedge,superpower": 178, "lifeorb,slushrush,iciclecrash,stoneedge,superpower,swordsdance": 182, "lifeorb,swiftswim,aquajet,iciclecrash,superpower,swordsdance": 205}, + "beautifly": {"leftovers,swarm,aircutter,bugbuzz,hiddenpowerground,quiverdance": 1051}, + "beedrill": {"focussash,swarm,knockoff,poisonjab,toxicspikes,uturn": 52, "blacksludge,swarm,knockoff,poisonjab,toxicspikes,uturn": 99, "blacksludge,swarm,defog,knockoff,poisonjab,uturn": 100}, + "beedrillmega": {"beedrillite,swarm,drillrun,knockoff,poisonjab,uturn": 461, "beedrillite,swarm,drillrun,poisonjab,swordsdance,xscissor": 217, "beedrillite,swarm,knockoff,poisonjab,swordsdance,xscissor": 243}, + "beheeyem": {"lifeorb,analytic,psychic,recover,signalbeam,thunderbolt": 106, "lifeorb,analytic,hiddenpowerfighting,psyshock,recover,signalbeam": 115, "lifeorb,analytic,hiddenpowerfighting,psychic,signalbeam,trickroom": 98, "lifeorb,analytic,psychic,signalbeam,thunderbolt,trickroom": 86, "lifeorb,analytic,psychic,recover,signalbeam,trickroom": 109, "choicespecs,analytic,hiddenpowerfighting,psyshock,signalbeam,trick": 112, "choicespecs,analytic,hiddenpowerfighting,psyshock,signalbeam,thunderbolt": 81, "lifeorb,analytic,hiddenpowerfighting,psyshock,signalbeam,trickroom": 87, "lifeorb,analytic,psyshock,recover,signalbeam,trickroom": 125, "choicespecs,analytic,psychic,signalbeam,thunderbolt,trick": 123, "choicespecs,analytic,psyshock,signalbeam,thunderbolt,trick": 127, "choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 67, "lifeorb,analytic,psyshock,signalbeam,thunderbolt,trickroom": 69, "lifeorb,analytic,hiddenpowerfighting,psychic,recover,signalbeam": 110, "lifeorb,analytic,psyshock,recover,signalbeam,thunderbolt": 94, "choicespecs,analytic,hiddenpowerfighting,psychic,signalbeam,trick": 115}, + "bellossom": {"grassiumz,chlorophyll,gigadrain,quiverdance,sleeppowder,strengthsap": 321, "leftovers,chlorophyll,gigadrain,moonblast,quiverdance,strengthsap": 433, "leftovers,chlorophyll,gigadrain,hiddenpowerfire,quiverdance,strengthsap": 199, "leftovers,chlorophyll,gigadrain,hiddenpowerrock,quiverdance,strengthsap": 199}, + "bewear": {"leftovers,fluffy,bulkup,doubleedge,drainpunch,shadowclaw": 202, "choicescarf,fluffy,doubleedge,drainpunch,shadowclaw,superpower": 196, "leftovers,fluffy,return,shadowclaw,superpower,swordsdance": 214, "choiceband,fluffy,doubleedge,drainpunch,shadowclaw,superpower": 203, "leftovers,fluffy,doubleedge,shadowclaw,superpower,swordsdance": 213, "leftovers,fluffy,bulkup,drainpunch,return,shadowclaw": 214}, + "bibarel": {"lifeorb,simple,liquidation,quickattack,return,swordsdance": 619, "lifeorb,simple,aquajet,liquidation,return,swordsdance": 615}, + "bisharp": {"blackglasses,defiant,ironhead,knockoff,pursuit,suckerpunch": 599, "lifeorb,defiant,ironhead,knockoff,suckerpunch,swordsdance": 628}, + "blacephalon": {"lifeorb,beastboost,calmmind,fireblast,psyshock,shadowball": 134, "choicescarf,beastboost,fireblast,hiddenpowerice,shadowball,trick": 145, "lifeorb,beastboost,calmmind,fireblast,hiddenpowerice,shadowball": 137, "ghostiumz,beastboost,calmmind,fireblast,hiddenpowerice,shadowball": 143, "ghostiumz,beastboost,calmmind,fireblast,psyshock,shadowball": 121, "firiumz,beastboost,calmmind,fireblast,hiddenpowerice,shadowball": 118, "firiumz,beastboost,calmmind,fireblast,psyshock,shadowball": 123, "choicescarf,beastboost,fireblast,psyshock,shadowball,trick": 167, "choicespecs,beastboost,fireblast,hiddenpowerice,psyshock,shadowball": 57, "choicescarf,beastboost,fireblast,hiddenpowerice,psyshock,shadowball": 56}, + "blastoise": {"leftovers,torrent,icebeam,roar,scald,toxic": 31, "leftovers,torrent,icebeam,protect,scald,toxic": 56, "leftovers,torrent,protect,rapidspin,scald,toxic": 41, "leftovers,torrent,icebeam,rapidspin,roar,scald": 51, "leftovers,torrent,rapidspin,roar,scald,toxic": 48, "leftovers,torrent,icebeam,rapidspin,scald,toxic": 42, "leftovers,torrent,haze,protect,scald,toxic": 70}, + "blastoisemega": {"blastoisinite,raindish,aurasphere,darkpulse,icebeam,scald": 196, "blastoisinite,raindish,darkpulse,icebeam,rapidspin,scald": 321, "blastoisinite,raindish,aurasphere,darkpulse,rapidspin,scald": 328, "blastoisinite,raindish,aurasphere,icebeam,rapidspin,scald": 308}, + "blaziken": {"lifeorb,speedboost,flareblitz,highjumpkick,stoneedge,swordsdance": 77, "lifeorb,speedboost,fireblast,highjumpkick,protect,stoneedge": 38, "lifeorb,speedboost,fireblast,highjumpkick,knockoff,stoneedge": 41, "lifeorb,speedboost,fireblast,highjumpkick,knockoff,protect": 49, "lifeorb,speedboost,flareblitz,highjumpkick,knockoff,swordsdance": 69}, + "blazikenmega": {"blazikenite,speedboost,flareblitz,highjumpkick,knockoff,swordsdance": 301, "blazikenite,speedboost,flareblitz,highjumpkick,protect,swordsdance": 319, "blazikenite,speedboost,flareblitz,highjumpkick,stoneedge,swordsdance": 358}, + "blissey": {"leftovers,naturalcure,protect,seismictoss,toxic,wish": 737, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,toxic": 211, "leftovers,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 240, "leftovers,naturalcure,seismictoss,softboiled,thunderwave,toxic": 256}, + "bouffalant": {"leftovers,sapsipper,earthquake,headcharge,superpower,swordsdance": 168, "choiceband,reckless,earthquake,headcharge,stoneedge,superpower": 256, "leftovers,sapsipper,headcharge,stoneedge,superpower,swordsdance": 159, "leftovers,reckless,headcharge,stoneedge,superpower,swordsdance": 159, "leftovers,reckless,earthquake,headcharge,stoneedge,swordsdance": 172, "leftovers,reckless,earthquake,headcharge,superpower,swordsdance": 172, "leftovers,sapsipper,earthquake,headcharge,stoneedge,swordsdance": 149, "choiceband,sapsipper,earthquake,headcharge,stoneedge,superpower": 241}, + "braviary": {"choiceband,defiant,bravebird,return,superpower,uturn": 312, "choicescarf,defiant,bravebird,return,superpower,uturn": 275, "leftovers,defiant,bravebird,bulkup,roost,superpower": 611}, + "breloom": {"lifeorb,technician,bulletseed,machpunch,rocktomb,swordsdance": 599, "lifeorb,technician,bulletseed,machpunch,spore,swordsdance": 293, "lifeorb,technician,bulletseed,machpunch,rocktomb,spore": 298}, + "bronzong": {"leftovers,levitate,earthquake,ironhead,protect,toxic": 310, "leftovers,levitate,earthquake,protect,psychic,toxic": 326, "leftovers,levitate,earthquake,ironhead,psychic,stealthrock": 173, "leftovers,levitate,earthquake,ironhead,psychic,toxic": 246, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 86, "leftovers,levitate,earthquake,ironhead,stealthrock,toxic": 97}, + "bruxish": {"choiceband,strongjaw,aquajet,crunch,liquidation,psychicfangs": 433, "lifeorb,strongjaw,crunch,liquidation,psychicfangs,swordsdance": 412, "choiceband,strongjaw,crunch,icefang,liquidation,psychicfangs": 222, "choicescarf,strongjaw,crunch,icefang,liquidation,psychicfangs": 215}, + "butterfree": {"buginiumz,tintedlens,airslash,bugbuzz,quiverdance,sleeppowder": 924, "leftovers,tintedlens,airslash,bugbuzz,quiverdance,sleeppowder": 121}, + "buzzwole": {"choiceband,beastboost,ironhead,leechlife,stoneedge,superpower": 37, "choiceband,beastboost,earthquake,leechlife,stoneedge,superpower": 58, "choicescarf,beastboost,earthquake,ironhead,leechlife,superpower": 34, "rockyhelmet,beastboost,drainpunch,leechlife,roost,stoneedge": 103, "choiceband,beastboost,drainpunch,ironhead,leechlife,stoneedge": 45, "choicescarf,beastboost,drainpunch,ironhead,leechlife,stoneedge": 41, "leftovers,beastboost,bulkup,drainpunch,leechlife,roost": 124, "rockyhelmet,beastboost,drainpunch,roost,stoneedge,toxic": 60, "choicescarf,beastboost,drainpunch,earthquake,ironhead,stoneedge": 43, "choicescarf,beastboost,drainpunch,earthquake,leechlife,stoneedge": 38, "leftovers,beastboost,drainpunch,leechlife,roost,stoneedge": 102, "leftovers,beastboost,drainpunch,leechlife,roost,toxic": 48, "choiceband,beastboost,drainpunch,earthquake,leechlife,stoneedge": 42, "choicescarf,beastboost,drainpunch,earthquake,ironhead,leechlife": 52, "leftovers,beastboost,bulkup,drainpunch,roost,stoneedge": 97, "choiceband,beastboost,earthquake,ironhead,stoneedge,superpower": 45, "choicescarf,beastboost,ironhead,leechlife,stoneedge,superpower": 53, "rockyhelmet,beastboost,drainpunch,leechlife,roost,toxic": 52, "leftovers,beastboost,drainpunch,roost,stoneedge,toxic": 54, "choiceband,beastboost,drainpunch,earthquake,ironhead,stoneedge": 38, "choiceband,beastboost,drainpunch,earthquake,ironhead,leechlife": 31, "choiceband,beastboost,earthquake,ironhead,leechlife,superpower": 38, "choicescarf,beastboost,earthquake,ironhead,stoneedge,superpower": 41, "choicescarf,beastboost,earthquake,leechlife,stoneedge,superpower": 43}, + "cacturne": {"lifeorb,waterabsorb,drainpunch,seedbomb,suckerpunch,swordsdance": 496, "lifeorb,waterabsorb,focusblast,gigadrain,spikes,suckerpunch": 161, "lifeorb,waterabsorb,darkpulse,focusblast,gigadrain,suckerpunch": 169, "lifeorb,waterabsorb,darkpulse,gigadrain,spikes,suckerpunch": 164}, + "camerupt": {"lifeorb,solidrock,earthquake,fireblast,rockpolish,stoneedge": 186, "leftovers,solidrock,earthquake,lavaplume,stealthrock,toxic": 54, "leftovers,solidrock,earthquake,lavaplume,roar,toxic": 63, "leftovers,solidrock,earthquake,lavaplume,roar,stealthrock": 51}, + "cameruptmega": {"cameruptite,solidrock,earthpower,fireblast,stealthrock,toxic": 178, "cameruptite,solidrock,ancientpower,earthpower,fireblast,toxic": 296, "cameruptite,solidrock,ancientpower,earthpower,fireblast,stealthrock": 144, "cameruptite,solidrock,earthpower,fireblast,stealthrock,willowisp": 189, "cameruptite,solidrock,ancientpower,earthpower,fireblast,willowisp": 236}, + "carbink": {"leftovers,sturdy,moonblast,powergem,stealthrock,toxic": 356, "lightclay,sturdy,lightscreen,moonblast,powergem,reflect": 308, "lightclay,sturdy,lightscreen,moonblast,reflect,toxic": 350, "lightclay,sturdy,lightscreen,moonblast,reflect,stealthrock": 267}, + "carnivine": {"leftovers,levitate,defog,powerwhip,synthesis,toxic": 309, "leftovers,levitate,defog,knockoff,powerwhip,synthesis": 322, "leftovers,levitate,defog,powerwhip,sleeppowder,synthesis": 324, "leftovers,levitate,knockoff,powerwhip,sleeppowder,synthesis": 56, "leftovers,levitate,powerwhip,sleeppowder,synthesis,toxic": 57, "leftovers,levitate,knockoff,powerwhip,synthesis,toxic": 58}, + "carracosta": {"whiteherb,sturdy,aquajet,liquidation,shellsmash,stoneedge": 175, "weaknesspolicy,solidrock,aquajet,liquidation,shellsmash,stoneedge": 192, "whiteherb,swiftswim,aquajet,liquidation,shellsmash,stoneedge": 4, "whiteherb,solidrock,earthquake,liquidation,shellsmash,stoneedge": 168, "whiteherb,sturdy,earthquake,liquidation,shellsmash,stoneedge": 192, "whiteherb,sturdy,icebeam,liquidation,shellsmash,stoneedge": 164, "whiteherb,solidrock,icebeam,liquidation,shellsmash,stoneedge": 206, "whiteherb,swiftswim,icebeam,liquidation,shellsmash,stoneedge": 5, "whiteherb,swiftswim,earthquake,liquidation,shellsmash,stoneedge": 1}, + "castform": {"assaultvest,forecast,fireblast,return,scald,thunderbolt": 156, "leftovers,forecast,icebeam,return,scald,thunderwave": 167, "leftovers,forecast,defog,fireblast,return,scald": 116, "assaultvest,forecast,icebeam,return,scald,thunderbolt": 168, "assaultvest,forecast,fireblast,icebeam,return,scald": 182, "leftovers,forecast,defog,icebeam,return,scald": 115, "leftovers,forecast,return,scald,thunderbolt,thunderwave": 161, "leftovers,forecast,fireblast,return,scald,thunderwave": 171, "leftovers,forecast,defog,return,scald,thunderwave": 114, "leftovers,forecast,defog,return,scald,thunderbolt": 109}, + "celebi": {"grassiumz,naturalcure,leafstorm,nastyplot,psychic,recover": 310, "leftovers,naturalcure,leafstorm,recover,thunderwave,uturn": 78, "leftovers,naturalcure,leafstorm,psychic,recover,thunderwave": 89, "leftovers,naturalcure,leafstorm,recover,stealthrock,thunderwave": 60, "lifeorb,naturalcure,earthpower,gigadrain,nastyplot,psychic": 106, "lifeorb,naturalcure,earthpower,leafstorm,nastyplot,psychic": 96, "leftovers,naturalcure,leafstorm,recover,stealthrock,uturn": 55, "leftovers,naturalcure,leafstorm,psychic,recover,stealthrock": 62, "choicespecs,naturalcure,earthpower,gigadrain,psychic,uturn": 92, "leftovers,naturalcure,leafstorm,psychic,recover,uturn": 56, "choicespecs,naturalcure,earthpower,leafstorm,psychic,uturn": 97}, + "celesteela": {"assaultvest,beastboost,airslash,earthquake,fireblast,heavyslam": 410, "weaknesspolicy,beastboost,airslash,autotomize,fireblast,heavyslam": 180, "leftovers,beastboost,airslash,heavyslam,leechseed,protect": 419, "weaknesspolicy,beastboost,airslash,autotomize,earthquake,heavyslam": 215}, + "chandelure": {"leftovers,flamebody,calmmind,fireblast,shadowball,substitute": 335, "choicescarf,flashfire,energyball,fireblast,shadowball,trick": 596, "leftovers,flashfire,calmmind,fireblast,shadowball,substitute": 331}, + "chansey": {"eviolite,naturalcure,seismictoss,softboiled,thunderwave,toxic": 397, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,toxic": 310, "eviolite,naturalcure,seismictoss,softboiled,toxic,wish": 355, "eviolite,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 332}, + "charizard": {"normaliumz,blaze,airslash,fireblast,holdhands,roost": 58, "leftovers,blaze,airslash,earthquake,fireblast,roost": 78, "leftovers,blaze,airslash,fireblast,roost,willowisp": 61, "normaliumz,blaze,airslash,earthquake,fireblast,holdhands": 32}, + "charizardmegax": {"charizarditex,blaze,dragonclaw,dragondance,earthquake,flareblitz": 257, "charizarditex,blaze,dragonclaw,dragondance,flareblitz,roost": 229}, + "charizardmegay": {"charizarditey,blaze,dragonpulse,fireblast,roost,solarbeam": 237, "charizarditey,blaze,airslash,fireblast,roost,solarbeam": 237}, + "chatot": {"choicespecs,tangledfeet,boomburst,chatter,heatwave,hiddenpowerground": 188, "lifeorb,tangledfeet,boomburst,chatter,heatwave,nastyplot": 285, "choicespecs,tangledfeet,boomburst,chatter,hiddenpowerground,uturn": 183, "leftovers,tangledfeet,boomburst,chatter,nastyplot,substitute": 296, "choicespecs,tangledfeet,boomburst,chatter,heatwave,uturn": 165}, + "cherrim": {"lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerrock,morningsun": 114, "leftovers,flowergift,energyball,leechseed,morningsun,toxic": 212, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerground": 89, "lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerfire,morningsun": 85, "leftovers,flowergift,aromatherapy,energyball,morningsun,toxic": 184, "leftovers,flowergift,energyball,hiddenpowerground,morningsun,toxic": 201, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerrock": 89, "choicespecs,flowergift,dazzlinggleam,energyball,healingwish,hiddenpowerfire": 110, "lifeorb,flowergift,dazzlinggleam,energyball,hiddenpowerground,morningsun": 90}, + "chesnaught": {"leftovers,bulletproof,drainpunch,leechseed,spikyshield,woodhammer": 559, "rockyhelmet,bulletproof,drainpunch,synthesis,toxic,woodhammer": 106, "rockyhelmet,bulletproof,drainpunch,spikes,synthesis,woodhammer": 106, "leftovers,bulletproof,bulkup,drainpunch,synthesis,woodhammer": 205, "leftovers,bulletproof,drainpunch,synthesis,toxic,woodhammer": 95, "leftovers,bulletproof,drainpunch,spikes,synthesis,woodhammer": 101}, + "chimecho": {"leftovers,levitate,calmmind,psychic,recover,signalbeam": 399, "leftovers,levitate,calmmind,psyshock,recover,signalbeam": 377, "leftovers,levitate,defog,psychic,recover,toxic": 237, "leftovers,levitate,knockoff,psychic,recover,toxic": 298, "leftovers,levitate,healbell,psychic,recover,toxic": 262}, + "cinccino": {"choiceband,skilllink,bulletseed,knockoff,tailslap,uturn": 323, "choiceband,skilllink,bulletseed,knockoff,rockblast,tailslap": 474, "choiceband,skilllink,bulletseed,rockblast,tailslap,uturn": 328, "choiceband,skilllink,knockoff,rockblast,tailslap,uturn": 308}, + "clawitzer": {"choicespecs,megalauncher,aurasphere,darkpulse,scald,uturn": 167, "choicespecs,megalauncher,aurasphere,darkpulse,icebeam,scald": 241, "choicespecs,megalauncher,aurasphere,darkpulse,uturn,waterpulse": 164, "choicespecs,megalauncher,aurasphere,darkpulse,icebeam,waterpulse": 243, "choicespecs,megalauncher,darkpulse,icebeam,scald,uturn": 136, "choicespecs,megalauncher,darkpulse,icebeam,uturn,waterpulse": 183, "choicespecs,megalauncher,aurasphere,icebeam,uturn,waterpulse": 163, "choicespecs,megalauncher,aurasphere,icebeam,scald,uturn": 150}, + "claydol": {"assaultvest,levitate,earthquake,icebeam,psychic,rapidspin": 174, "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 168, "leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 191, "leftovers,levitate,earthquake,icebeam,psychic,toxic": 67, "leftovers,levitate,earthquake,psychic,rapidspin,stealthrock": 142, "leftovers,levitate,earthquake,icebeam,rapidspin,stealthrock": 116, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 46, "leftovers,levitate,earthquake,rapidspin,stealthrock,toxic": 133, "leftovers,levitate,earthquake,icebeam,psychic,stealthrock": 36, "leftovers,levitate,earthquake,icebeam,stealthrock,toxic": 37}, + "clefable": {"lifeorb,magicguard,aromatherapy,moonblast,softboiled,stealthrock": 63, "lifeorb,magicguard,calmmind,fireblast,moonblast,softboiled": 454, "leftovers,unaware,knockoff,moonblast,softboiled,thunderwave": 77, "leftovers,unaware,calmmind,fireblast,moonblast,softboiled": 397, "leftovers,unaware,aromatherapy,knockoff,moonblast,softboiled": 64, "lifeorb,magicguard,moonblast,softboiled,stealthrock,thunderwave": 56, "lifeorb,magicguard,aromatherapy,knockoff,moonblast,softboiled": 66, "leftovers,unaware,aromatherapy,moonblast,softboiled,stealthrock": 58, "lifeorb,magicguard,aromatherapy,moonblast,softboiled,thunderwave": 73, "leftovers,unaware,knockoff,moonblast,softboiled,stealthrock": 55, "lifeorb,magicguard,knockoff,moonblast,softboiled,thunderwave": 91, "lifeorb,magicguard,knockoff,moonblast,softboiled,stealthrock": 62, "leftovers,unaware,aromatherapy,moonblast,softboiled,thunderwave": 76, "leftovers,unaware,moonblast,softboiled,stealthrock,thunderwave": 61}, + "cloyster": {"whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash": 1158}, + "cobalion": {"leftovers,justified,closecombat,ironhead,stealthrock,stoneedge": 319, "fightiniumz,justified,closecombat,ironhead,stoneedge,swordsdance": 208, "leftovers,justified,closecombat,ironhead,stoneedge,swordsdance": 373, "steeliumz,justified,closecombat,ironhead,stoneedge,swordsdance": 286}, + "cofagrigus": {"leftovers,mummy,painsplit,shadowball,toxicspikes,willowisp": 232, "leftovers,mummy,hiddenpowerfighting,nastyplot,shadowball,trickroom": 872, "leftovers,mummy,haze,shadowball,toxicspikes,willowisp": 205, "leftovers,mummy,haze,painsplit,shadowball,willowisp": 255, "leftovers,mummy,haze,painsplit,shadowball,toxicspikes": 224}, + "comfey": {"leftovers,triage,aromatherapy,defog,drainingkiss,synthesis": 123, "leftovers,triage,calmmind,drainingkiss,gigadrain,hiddenpowerground": 557, "lifeorb,triage,calmmind,drainingkiss,hiddenpowerground,synthesis": 251, "lifeorb,triage,calmmind,drainingkiss,gigadrain,hiddenpowerground": 275, "leftovers,triage,defog,drainingkiss,synthesis,uturn": 151, "leftovers,triage,aromatherapy,drainingkiss,synthesis,toxic": 42, "leftovers,triage,drainingkiss,synthesis,toxic,uturn": 41, "leftovers,triage,defog,drainingkiss,synthesis,toxic": 139, "leftovers,triage,aromatherapy,drainingkiss,synthesis,uturn": 31}, + "conkeldurr": {"flameorb,guts,drainpunch,facade,knockoff,machpunch": 1560}, + "corsola": {"leftovers,regenerator,powergem,recover,scald,stealthrock": 340, "leftovers,regenerator,powergem,recover,scald,toxic": 476, "leftovers,regenerator,recover,scald,stealthrock,toxic": 347}, + "crabominable": {"choiceband,ironfist,drainpunch,earthquake,icehammer,stoneedge": 314, "assaultvest,ironfist,drainpunch,earthquake,icehammer,thunderpunch": 601, "choiceband,ironfist,closecombat,earthquake,icehammer,stoneedge": 290}, + "cradily": {"leftovers,stormdrain,gigadrain,recover,stealthrock,stoneedge": 167, "leftovers,stormdrain,recover,seedbomb,stoneedge,swordsdance": 155, "leftovers,stormdrain,earthquake,recover,stoneedge,swordsdance": 175, "leftovers,stormdrain,earthpower,gigadrain,recover,stoneedge": 222, "leftovers,stormdrain,gigadrain,recover,stoneedge,toxic": 199, "leftovers,stormdrain,curse,earthquake,recover,stoneedge": 149, "leftovers,stormdrain,curse,recover,seedbomb,stoneedge": 134}, + "crawdaunt": {"choiceband,adaptability,aquajet,crabhammer,knockoff,superpower": 379, "lifeorb,adaptability,crabhammer,dragondance,knockoff,superpower": 403, "lifeorb,adaptability,aquajet,crabhammer,dragondance,knockoff": 371}, + "cresselia": {"leftovers,levitate,calmmind,moonblast,moonlight,psyshock": 805, "leftovers,levitate,moonblast,moonlight,psychic,toxic": 217, "leftovers,levitate,moonblast,moonlight,psychic,thunderwave": 206, "rockyhelmet,levitate,moonblast,moonlight,psychic,thunderwave": 193, "rockyhelmet,levitate,moonblast,moonlight,psychic,toxic": 185}, + "crobat": {"blacksludge,infiltrator,bravebird,roost,toxic,uturn": 113, "blacksludge,infiltrator,bravebird,roost,superfang,uturn": 103, "blacksludge,infiltrator,bravebird,roost,taunt,toxic": 108, "blacksludge,infiltrator,bravebird,roost,superfang,taunt": 110, "blacksludge,infiltrator,bravebird,defog,roost,superfang": 88, "blacksludge,infiltrator,bravebird,defog,roost,taunt": 98, "blacksludge,infiltrator,bravebird,defog,roost,uturn": 93, "blacksludge,infiltrator,bravebird,roost,taunt,uturn": 114, "blacksludge,infiltrator,bravebird,defog,roost,toxic": 88, "blacksludge,infiltrator,bravebird,roost,superfang,toxic": 108}, + "crustle": {"whiteherb,sturdy,earthquake,knockoff,shellsmash,stoneedge": 664, "whiteherb,sturdy,earthquake,shellsmash,stoneedge,xscissor": 673}, + "cryogonal": {"leftovers,levitate,freezedry,rapidspin,recover,toxic": 322, "leftovers,levitate,freezedry,haze,rapidspin,recover": 304, "leftovers,levitate,freezedry,hiddenpowerground,rapidspin,recover": 355, "leftovers,levitate,freezedry,haze,recover,toxic": 62, "leftovers,levitate,freezedry,haze,hiddenpowerground,recover": 51, "leftovers,levitate,freezedry,hiddenpowerground,recover,toxic": 62}, + "darkrai": {"darkiniumz,baddreams,darkpulse,focusblast,nastyplot,sludgebomb": 592, "darkiniumz,baddreams,darkpulse,focusblast,hypnosis,nastyplot": 289, "darkiniumz,baddreams,darkpulse,hypnosis,nastyplot,sludgebomb": 328, "lifeorb,baddreams,darkpulse,hypnosis,nastyplot,sludgebomb": 82, "leftovers,baddreams,darkpulse,nastyplot,sludgebomb,substitute": 84, "lifeorb,baddreams,darkpulse,focusblast,nastyplot,sludgebomb": 70}, + "darmanitan": {"lifeorb,sheerforce,earthquake,flareblitz,superpower,uturn": 274, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,superpower": 420, "lifeorb,sheerforce,flareblitz,rockslide,superpower,uturn": 245, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,uturn": 267}, + "decidueye": {"leftovers,overgrow,defog,leafstorm,roost,spiritshackle": 279, "decidiumz,overgrow,leafblade,shadowsneak,spiritshackle,swordsdance": 476, "leftovers,overgrow,leafstorm,roost,spiritshackle,uturn": 397}, + "dedenne": {"sitrusberry,cheekpouch,recycle,substitute,thunderbolt,toxic": 234, "sitrusberry,cheekpouch,recycle,thunderbolt,toxic,uturn": 235, "sitrusberry,cheekpouch,protect,recycle,thunderbolt,toxic": 736, "sitrusberry,cheekpouch,recycle,superfang,thunderbolt,toxic": 214}, + "delcatty": {"silkscarf,wonderskin,doubleedge,fakeout,healbell,thunderwave": 77, "silkscarf,wonderskin,doubleedge,fakeout,shadowball,toxic": 106, "silkscarf,wonderskin,doubleedge,fakeout,stompingtantrum,thunderwave": 102, "silkscarf,wonderskin,doubleedge,fakeout,shadowball,thunderwave": 99, "silkscarf,wonderskin,doubleedge,fakeout,healbell,stompingtantrum": 74, "lifeorb,wonderskin,doubleedge,shadowball,stompingtantrum,thunderwave": 117, "leftovers,wonderskin,doubleedge,healbell,stompingtantrum,thunderwave": 92, "lifeorb,wonderskin,doubleedge,shadowball,stompingtantrum,toxic": 86, "silkscarf,wonderskin,doubleedge,fakeout,stompingtantrum,toxic": 113, "lifeorb,wonderskin,doubleedge,healbell,shadowball,stompingtantrum": 67, "silkscarf,wonderskin,doubleedge,fakeout,healbell,shadowball": 67, "leftovers,wonderskin,doubleedge,healbell,shadowball,thunderwave": 82, "silkscarf,wonderskin,doubleedge,fakeout,shadowball,stompingtantrum": 72, "leftovers,wonderskin,doubleedge,healbell,shadowball,toxic": 86, "silkscarf,wonderskin,doubleedge,fakeout,healbell,toxic": 78, "leftovers,wonderskin,doubleedge,healbell,stompingtantrum,toxic": 85}, + "delibird": {"leftovers,vitalspirit,destinybond,freezedry,rapidspin,spikes": 510, "focussash,insomnia,destinybond,freezedry,rapidspin,spikes": 84, "leftovers,insomnia,destinybond,freezedry,rapidspin,spikes": 499, "focussash,vitalspirit,destinybond,freezedry,rapidspin,spikes": 73}, + "delphox": {"lifeorb,blaze,calmmind,fireblast,grassknot,psyshock": 268, "choicescarf,blaze,dazzlinggleam,fireblast,grassknot,psyshock": 118, "choicescarf,blaze,dazzlinggleam,fireblast,psyshock,switcheroo": 235, "lifeorb,blaze,calmmind,dazzlinggleam,fireblast,psyshock": 266, "choicescarf,blaze,fireblast,grassknot,psyshock,switcheroo": 260, "choicespecs,blaze,dazzlinggleam,fireblast,grassknot,psyshock": 95}, + "deoxys": {"lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower": 429, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower": 353}, + "deoxysattack": {"lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower": 383, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower": 374}, + "deoxysdefense": {"leftovers,pressure,focusblast,nastyplot,psychic,recover": 102, "leftovers,pressure,recover,seismictoss,stealthrock,taunt": 14, "rockyhelmet,pressure,knockoff,recover,seismictoss,taunt": 15, "leftovers,pressure,recover,seismictoss,spikes,toxic": 20, "rockyhelmet,pressure,knockoff,recover,seismictoss,toxic": 25, "leftovers,pressure,knockoff,recover,seismictoss,toxic": 19, "leftovers,pressure,nastyplot,psychic,recover,signalbeam": 110, "leftovers,pressure,recover,seismictoss,spikes,taunt": 20, "leftovers,pressure,focusblast,nastyplot,psyshock,recover": 108, "rockyhelmet,pressure,recover,seismictoss,taunt,toxic": 18, "leftovers,pressure,nastyplot,psyshock,recover,signalbeam": 99, "rockyhelmet,pressure,recover,seismictoss,stealthrock,toxic": 15, "leftovers,pressure,knockoff,recover,seismictoss,taunt": 21, "rockyhelmet,pressure,knockoff,recover,seismictoss,spikes": 25, "leftovers,pressure,recover,seismictoss,stealthrock,toxic": 15, "rockyhelmet,pressure,recover,seismictoss,stealthrock,taunt": 18, "rockyhelmet,pressure,recover,seismictoss,spikes,toxic": 22, "leftovers,pressure,recover,seismictoss,spikes,stealthrock": 13, "rockyhelmet,pressure,recover,seismictoss,spikes,stealthrock": 13, "rockyhelmet,pressure,knockoff,recover,seismictoss,stealthrock": 11, "leftovers,pressure,knockoff,recover,seismictoss,spikes": 20, "leftovers,pressure,knockoff,recover,seismictoss,stealthrock": 14, "leftovers,pressure,recover,seismictoss,taunt,toxic": 18, "rockyhelmet,pressure,recover,seismictoss,spikes,taunt": 22}, + "deoxysspeed": {"psychiumz,pressure,darkpulse,focusblast,nastyplot,psychoboost": 303, "focussash,pressure,psychoboost,spikes,superpower,taunt": 20, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower": 32, "focussash,pressure,psychoboost,stealthrock,superpower,taunt": 12, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt": 53, "focussash,pressure,psychoboost,spikes,stealthrock,taunt": 12, "leftovers,pressure,knockoff,psychoboost,spikes,stealthrock": 37, "leftovers,pressure,psychoboost,spikes,stealthrock,taunt": 33, "lifeorb,pressure,knockoff,psychoboost,spikes,superpower": 42, "focussash,pressure,knockoff,psychoboost,spikes,superpower": 10, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower": 28, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt": 21, "leftovers,pressure,knockoff,psychoboost,stealthrock,taunt": 31, "leftovers,pressure,knockoff,psychoboost,spikes,taunt": 41, "leftovers,pressure,psychoboost,spikes,superpower,taunt": 39, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower": 13, "focussash,pressure,knockoff,psychoboost,spikes,taunt": 9, "focussash,pressure,knockoff,psychoboost,spikes,stealthrock": 8, "focussash,pressure,psychoboost,spikes,stealthrock,superpower": 8, "focussash,pressure,knockoff,psychoboost,stealthrock,taunt": 11}, + "dewgong": {"leftovers,thickfat,encore,icebeam,surf,toxic": 548, "leftovers,thickfat,icebeam,protect,surf,toxic": 561}, + "dhelmise": {"assaultvest,steelworker,anchorshot,earthquake,powerwhip,rapidspin": 163, "lifeorb,steelworker,anchorshot,knockoff,powerwhip,synthesis": 233, "lifeorb,steelworker,anchorshot,earthquake,powerwhip,synthesis": 230, "choiceband,steelworker,anchorshot,earthquake,knockoff,powerwhip": 243, "leftovers,steelworker,anchorshot,powerwhip,rapidspin,synthesis": 177, "assaultvest,steelworker,anchorshot,knockoff,powerwhip,rapidspin": 165}, + "dialga": {"leftovers,pressure,dracometeor,fireblast,flashcannon,toxic": 372, "assaultvest,pressure,dracometeor,dragontail,fireblast,flashcannon": 343, "leftovers,pressure,dracometeor,fireblast,flashcannon,stealthrock": 315, "choicescarf,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 182, "choicespecs,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 189}, + "diancie": {"leftovers,clearbody,diamondstorm,healbell,moonblast,toxic": 58, "leftovers,clearbody,diamondstorm,earthpower,moonblast,toxic": 72, "leftovers,clearbody,diamondstorm,earthpower,healbell,moonblast": 48, "leftovers,clearbody,diamondstorm,moonblast,stealthrock,toxic": 40, "leftovers,clearbody,diamondstorm,healbell,moonblast,stealthrock": 33, "leftovers,clearbody,diamondstorm,earthpower,moonblast,stealthrock": 40}, + "dianciemega": {"diancite,clearbody,calmmind,diamondstorm,earthpower,moonblast": 570, "diancite,clearbody,diamondstorm,earthpower,moonblast,stealthrock": 424}, + "diggersby": {"lifeorb,hugepower,agility,earthquake,return,swordsdance": 234, "lifeorb,hugepower,agility,earthquake,knockoff,return": 124, "choiceband,hugepower,earthquake,quickattack,return,uturn": 177, "choiceband,hugepower,earthquake,foulplay,quickattack,return": 162, "lifeorb,hugepower,earthquake,knockoff,return,swordsdance": 109, "lifeorb,hugepower,earthquake,quickattack,return,swordsdance": 83, "choicescarf,hugepower,earthquake,foulplay,return,uturn": 91, "choiceband,hugepower,earthquake,foulplay,return,uturn": 75}, + "ditto": {"choicescarf,imposter,transform": 1489}, + "dodrio": {"lifeorb,earlybird,bravebird,jumpkick,quickattack,swordsdance": 100, "lifeorb,earlybird,bravebird,jumpkick,return,swordsdance": 97, "choiceband,earlybird,bravebird,jumpkick,knockoff,return": 119, "flyiniumz,earlybird,bravebird,jumpkick,knockoff,swordsdance": 182, "lifeorb,earlybird,bravebird,jumpkick,knockoff,swordsdance": 116, "flyiniumz,earlybird,bravebird,jumpkick,return,swordsdance": 168, "flyiniumz,earlybird,bravebird,knockoff,return,swordsdance": 163, "choiceband,earlybird,bravebird,jumpkick,knockoff,quickattack": 100, "choiceband,earlybird,bravebird,jumpkick,quickattack,return": 86}, + "donphan": {"leftovers,sturdy,earthquake,knockoff,stoneedge,toxic": 88, "leftovers,sturdy,earthquake,knockoff,rapidspin,toxic": 220, "leftovers,sturdy,earthquake,knockoff,stealthrock,toxic": 45, "leftovers,sturdy,earthquake,rapidspin,stoneedge,toxic": 192, "leftovers,sturdy,earthquake,knockoff,rapidspin,stealthrock": 145, "assaultvest,sturdy,earthquake,knockoff,rapidspin,stoneedge": 231, "leftovers,sturdy,earthquake,rapidspin,stealthrock,toxic": 168, "leftovers,sturdy,earthquake,rapidspin,stealthrock,stoneedge": 163, "leftovers,sturdy,earthquake,knockoff,stealthrock,stoneedge": 43, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 50}, + "doublade": {"eviolite,noguard,ironhead,sacredsword,shadowsneak,swordsdance": 596, "eviolite,noguard,ironhead,shadowclaw,shadowsneak,swordsdance": 626}, + "dragalge": {"choicespecs,adaptability,dracometeor,dragonpulse,focusblast,sludgewave": 603, "blacksludge,adaptability,dracometeor,focusblast,sludgewave,toxicspikes": 639}, + "dragonite": {"flyiniumz,multiscale,dragondance,earthquake,fly,outrage": 1037, "lumberry,multiscale,dragondance,earthquake,ironhead,outrage": 86, "lumberry,multiscale,dragondance,earthquake,outrage,roost": 75}, + "drampa": {"choicespecs,sapsipper,dracometeor,fireblast,hypervoice,thunderbolt": 421, "lifeorb,berserk,dracometeor,fireblast,hypervoice,roost": 415, "leftovers,berserk,dracometeor,fireblast,hypervoice,roost": 202, "leftovers,berserk,dracometeor,glare,hypervoice,roost": 214}, + "drapion": {"lifeorb,battlearmor,earthquake,knockoff,poisonjab,swordsdance": 236, "blacksludge,battlearmor,knockoff,poisonjab,toxicspikes,whirlwind": 100, "choiceband,battlearmor,earthquake,knockoff,poisonjab,pursuit": 228, "blacksludge,battlearmor,knockoff,poisonjab,taunt,toxicspikes": 113, "choiceband,battlearmor,aquatail,earthquake,knockoff,poisonjab": 232, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,taunt": 120, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,whirlwind": 149, "blacksludge,battlearmor,earthquake,knockoff,poisonjab,toxicspikes": 125, "blacksludge,battlearmor,knockoff,poisonjab,taunt,whirlwind": 134}, + "drifblim": {"sitrusberry,unburden,acrobatics,hex,substitute,willowisp": 632, "sitrusberry,unburden,acrobatics,destinybond,shadowball,substitute": 160, "sitrusberry,unburden,acrobatics,destinybond,shadowball,willowisp": 106, "sitrusberry,unburden,acrobatics,defog,destinybond,shadowball": 91, "sitrusberry,unburden,acrobatics,shadowball,substitute,willowisp": 121, "sitrusberry,unburden,acrobatics,defog,shadowball,willowisp": 106}, + "druddigon": {"rockyhelmet,roughskin,earthquake,glare,gunkshot,outrage": 35, "lifeorb,sheerforce,glare,gunkshot,outrage,suckerpunch": 213, "rockyhelmet,roughskin,earthquake,glare,outrage,suckerpunch": 35, "rockyhelmet,roughskin,glare,gunkshot,outrage,suckerpunch": 33, "lifeorb,sheerforce,firepunch,glare,gunkshot,outrage": 216, "rockyhelmet,roughskin,dragontail,glare,outrage,stealthrock": 32, "rockyhelmet,roughskin,gunkshot,outrage,stealthrock,suckerpunch": 34, "rockyhelmet,roughskin,dragontail,earthquake,glare,outrage": 41, "choiceband,roughskin,earthquake,gunkshot,outrage,suckerpunch": 43, "lifeorb,sheerforce,firepunch,gunkshot,outrage,suckerpunch": 238, "rockyhelmet,roughskin,dragontail,glare,gunkshot,outrage": 43, "assaultvest,roughskin,dragontail,earthquake,outrage,suckerpunch": 45, "rockyhelmet,roughskin,dragontail,earthquake,outrage,stealthrock": 29, "rockyhelmet,roughskin,earthquake,glare,outrage,stealthrock": 29, "assaultvest,roughskin,dragontail,gunkshot,outrage,suckerpunch": 55, "assaultvest,roughskin,dragontail,earthquake,gunkshot,outrage": 43, "rockyhelmet,roughskin,dragontail,outrage,stealthrock,suckerpunch": 23, "rockyhelmet,roughskin,glare,gunkshot,outrage,stealthrock": 31, "rockyhelmet,roughskin,earthquake,gunkshot,outrage,stealthrock": 26, "rockyhelmet,roughskin,dragontail,gunkshot,outrage,stealthrock": 27, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,suckerpunch": 37, "rockyhelmet,roughskin,dragontail,glare,outrage,suckerpunch": 49, "rockyhelmet,roughskin,glare,outrage,stealthrock,suckerpunch": 28}, + "dugtrio": {"lifeorb,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 246, "choiceband,arenatrap,earthquake,memento,stoneedge,suckerpunch": 365, "focussash,arenatrap,earthquake,stealthrock,stoneedge,suckerpunch": 48}, + "dugtrioalola": {"lifeorb,tanglinghair,earthquake,ironhead,stealthrock,suckerpunch": 95, "lifeorb,tanglinghair,earthquake,ironhead,stoneedge,toxic": 116, "choiceband,tanglinghair,earthquake,ironhead,stoneedge,suckerpunch": 113, "lifeorb,tanglinghair,earthquake,ironhead,suckerpunch,toxic": 95, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,toxic": 88, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,stoneedge": 72}, + "dunsparce": {"leftovers,serenegrace,bodyslam,coil,earthquake,roost": 699, "leftovers,serenegrace,earthquake,glare,headbutt,roost": 739}, + "durant": {"lifeorb,hustle,honeclaws,ironhead,superpower,xscissor": 727, "lifeorb,hustle,honeclaws,ironhead,rockslide,superpower": 773}, + "dusknoir": {"leftovers,frisk,earthquake,haze,shadowsneak,willowisp": 49, "leftovers,frisk,earthquake,protect,shadowsneak,toxic": 419, "leftovers,pressure,earthquake,protect,shadowsneak,toxic": 413, "leftovers,frisk,earthquake,painsplit,shadowsneak,toxic": 39, "leftovers,pressure,earthquake,haze,shadowsneak,willowisp": 55, "leftovers,frisk,earthquake,icepunch,shadowsneak,toxic": 42, "leftovers,pressure,earthquake,icepunch,shadowsneak,toxic": 50, "leftovers,pressure,earthquake,icepunch,painsplit,shadowsneak": 44, "leftovers,pressure,earthquake,haze,shadowsneak,toxic": 47, "leftovers,pressure,earthquake,painsplit,shadowsneak,willowisp": 59, "leftovers,frisk,earthquake,icepunch,shadowsneak,willowisp": 46, "leftovers,frisk,earthquake,haze,icepunch,shadowsneak": 31, "leftovers,pressure,earthquake,haze,icepunch,shadowsneak": 40, "leftovers,frisk,earthquake,icepunch,painsplit,shadowsneak": 45, "leftovers,pressure,earthquake,haze,painsplit,shadowsneak": 38, "leftovers,pressure,earthquake,icepunch,shadowsneak,willowisp": 53, "leftovers,frisk,earthquake,haze,painsplit,shadowsneak": 48, "leftovers,frisk,earthquake,painsplit,shadowsneak,willowisp": 51, "leftovers,pressure,earthquake,painsplit,shadowsneak,toxic": 50, "leftovers,frisk,earthquake,haze,shadowsneak,toxic": 58}, + "dustox": {"blacksludge,shielddust,bugbuzz,quiverdance,roost,sludgebomb": 281, "blacksludge,shielddust,bugbuzz,roost,toxic,uturn": 108, "blacksludge,shielddust,bugbuzz,defog,roost,toxic": 257, "blacksludge,shielddust,bugbuzz,defog,roost,uturn": 266, "blacksludge,shielddust,hiddenpowerground,quiverdance,roost,sludgebomb": 323}, + "eelektross": {"assaultvest,levitate,discharge,flamethrower,knockoff,uturn": 82, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,knockoff": 69, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,superpower": 83, "assaultvest,levitate,discharge,gigadrain,knockoff,uturn": 53, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,superpower": 67, "assaultvest,levitate,discharge,flamethrower,gigadrain,superpower": 76, "assaultvest,levitate,discharge,hiddenpowerice,knockoff,uturn": 87, "assaultvest,levitate,discharge,flamethrower,gigadrain,hiddenpowerice": 73, "assaultvest,levitate,discharge,flamethrower,knockoff,superpower": 80, "assaultvest,levitate,discharge,flamethrower,gigadrain,uturn": 88, "assaultvest,levitate,discharge,flamethrower,hiddenpowerice,uturn": 67, "assaultvest,levitate,discharge,hiddenpowerice,superpower,uturn": 92, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,uturn": 60, "assaultvest,levitate,discharge,flamethrower,superpower,uturn": 88, "assaultvest,levitate,discharge,hiddenpowerice,knockoff,superpower": 59, "assaultvest,levitate,discharge,flamethrower,gigadrain,knockoff": 73, "assaultvest,levitate,discharge,gigadrain,hiddenpowerice,knockoff": 59, "assaultvest,levitate,discharge,knockoff,superpower,uturn": 53, "assaultvest,levitate,discharge,gigadrain,knockoff,superpower": 83, "assaultvest,levitate,discharge,gigadrain,superpower,uturn": 67}, + "electivire": {"lifeorb,motordrive,crosschop,flamethrower,icepunch,wildcharge": 263, "expertbelt,motordrive,flamethrower,icepunch,voltswitch,wildcharge": 266, "lifeorb,motordrive,earthquake,flamethrower,icepunch,wildcharge": 271, "expertbelt,motordrive,earthquake,icepunch,voltswitch,wildcharge": 256, "expertbelt,motordrive,crosschop,icepunch,voltswitch,wildcharge": 249, "choiceband,motordrive,crosschop,earthquake,icepunch,wildcharge": 116, "choicescarf,motordrive,crosschop,earthquake,icepunch,wildcharge": 127}, + "electrode": {"leftovers,static,hiddenpowerice,thunderbolt,toxic,voltswitch": 71, "lightclay,static,lightscreen,reflect,thunderbolt,toxic": 65, "expertbelt,static,foulplay,hiddenpowerice,thunderbolt,voltswitch": 54, "lightclay,static,lightscreen,reflect,thunderbolt,voltswitch": 54, "lifeorb,aftermath,foulplay,hiddenpowerice,taunt,thunderbolt": 54, "lifeorb,static,hiddenpowerice,taunt,thunderbolt,voltswitch": 73, "lightclay,aftermath,hiddenpowerice,lightscreen,reflect,thunderbolt": 49, "lightclay,static,hiddenpowerice,lightscreen,reflect,thunderbolt": 68, "lifeorb,aftermath,hiddenpowerice,taunt,thunderbolt,voltswitch": 80, "lightclay,aftermath,lightscreen,reflect,thunderbolt,voltswitch": 63, "lightclay,aftermath,lightscreen,reflect,thunderbolt,toxic": 60, "lightclay,aftermath,lightscreen,reflect,thunderbolt,thunderwave": 57, "expertbelt,aftermath,foulplay,hiddenpowerice,thunderbolt,voltswitch": 60, "choicespecs,aftermath,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 63, "leftovers,static,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 71, "leftovers,aftermath,hiddenpowerice,thunderbolt,toxic,voltswitch": 58, "lifeorb,static,foulplay,hiddenpowerice,signalbeam,thunderbolt": 56, "lifeorb,static,foulplay,hiddenpowerice,taunt,thunderbolt": 73, "lifeorb,aftermath,hiddenpowerice,signalbeam,taunt,thunderbolt": 59, "lifeorb,static,hiddenpowerice,signalbeam,taunt,thunderbolt": 44, "leftovers,aftermath,hiddenpowerice,thunderbolt,thunderwave,voltswitch": 58, "lifeorb,aftermath,foulplay,hiddenpowerice,signalbeam,thunderbolt": 73, "lightclay,static,lightscreen,reflect,thunderbolt,thunderwave": 57, "choicespecs,static,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 59}, + "emboar": {"assaultvest,reckless,flareblitz,grassknot,superpower,wildcharge": 202, "choiceband,reckless,flareblitz,suckerpunch,superpower,wildcharge": 237, "choicescarf,reckless,flareblitz,headsmash,superpower,wildcharge": 125, "assaultvest,reckless,flareblitz,suckerpunch,superpower,wildcharge": 229, "choiceband,reckless,flareblitz,headsmash,superpower,wildcharge": 93, "assaultvest,reckless,flareblitz,grassknot,suckerpunch,superpower": 223, "choiceband,reckless,flareblitz,headsmash,suckerpunch,superpower": 233}, + "emolga": {",motordrive,acrobatics,encore,roost,thunderbolt": 224, ",motordrive,acrobatics,knockoff,roost,thunderbolt": 221, ",motordrive,acrobatics,roost,thunderbolt,toxic": 231, ",motordrive,acrobatics,defog,roost,thunderbolt": 182, ",motordrive,acrobatics,roost,thunderbolt,uturn": 219}, + "empoleon": {"leftovers,torrent,defog,icebeam,knockoff,scald": 63, "leftovers,torrent,defog,protect,scald,toxic": 136, "leftovers,torrent,icebeam,knockoff,scald,toxic": 23, "leftovers,torrent,knockoff,protect,scald,toxic": 171, "assaultvest,torrent,flashcannon,icebeam,knockoff,scald": 52, "choicespecs,torrent,flashcannon,grassknot,hydropump,icebeam": 27, "assaultvest,torrent,grassknot,icebeam,knockoff,scald": 57, "assaultvest,torrent,flashcannon,grassknot,knockoff,scald": 51, "leftovers,torrent,protect,scald,stealthrock,toxic": 126, "leftovers,torrent,defog,knockoff,scald,toxic": 60, "leftovers,torrent,icebeam,roar,scald,toxic": 14, "assaultvest,torrent,flashcannon,grassknot,hydropump,knockoff": 41, "leftovers,torrent,defog,icebeam,scald,toxic": 67, "choicespecs,torrent,flashcannon,grassknot,icebeam,scald": 29, "leftovers,torrent,knockoff,roar,scald,toxic": 18, "choicescarf,torrent,flashcannon,grassknot,icebeam,scald": 29, "leftovers,torrent,defog,roar,scald,toxic": 59, "leftovers,torrent,defog,icebeam,roar,scald": 56, "leftovers,torrent,defog,knockoff,roar,scald": 53, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff": 53, "assaultvest,torrent,flashcannon,hydropump,icebeam,knockoff": 30, "leftovers,torrent,icebeam,knockoff,roar,scald": 13, "choicescarf,torrent,flashcannon,grassknot,hydropump,icebeam": 20}, + "entei": {"choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stompingtantrum": 616, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stoneedge": 630}, + "escavalier": {"choiceband,overcoat,drillrun,ironhead,knockoff,megahorn": 167, "choiceband,swarm,drillrun,ironhead,megahorn,pursuit": 258, "leftovers,overcoat,drillrun,ironhead,megahorn,swordsdance": 174, "choiceband,swarm,drillrun,ironhead,knockoff,megahorn": 177, "leftovers,swarm,drillrun,ironhead,megahorn,swordsdance": 147, "leftovers,swarm,ironhead,knockoff,megahorn,swordsdance": 227, "leftovers,overcoat,ironhead,knockoff,megahorn,swordsdance": 188, "choiceband,overcoat,drillrun,ironhead,megahorn,pursuit": 256}, + "espeon": {"lifeorb,magicbounce,calmmind,dazzlinggleam,psychic,shadowball": 143, "lifeorb,magicbounce,dazzlinggleam,morningsun,psyshock,shadowball": 165, "lifeorb,magicbounce,dazzlinggleam,morningsun,psychic,shadowball": 155, "lifeorb,magicbounce,calmmind,dazzlinggleam,psyshock,shadowball": 173, "choicespecs,magicbounce,dazzlinggleam,psychic,shadowball,trick": 243, "choicespecs,magicbounce,dazzlinggleam,psyshock,shadowball,trick": 262, "lifeorb,magicbounce,calmmind,dazzlinggleam,morningsun,psyshock": 209, "lifeorb,magicbounce,calmmind,dazzlinggleam,morningsun,psychic": 184}, + "excadrill": {"lifeorb,moldbreaker,earthquake,ironhead,rockslide,swordsdance": 628, "assaultvest,moldbreaker,earthquake,ironhead,rapidspin,rockslide": 496, "lifeorb,sandrush,earthquake,ironhead,rockslide,swordsdance": 2}, + "exeggutor": {"sitrusberry,harvest,hiddenpowerfire,leechseed,psychic,substitute": 122, "sitrusberry,harvest,gigadrain,leechseed,psychic,substitute": 128, "sitrusberry,harvest,leechseed,psychic,sleeppowder,substitute": 137, "sitrusberry,harvest,gigadrain,hiddenpowerfire,psychic,sleeppowder": 163}, + "exeggutoralola": {"choicespecs,frisk,dracometeor,flamethrower,gigadrain,leafstorm": 280, "sitrusberry,harvest,dracometeor,flamethrower,moonlight,woodhammer": 71, "sitrusberry,harvest,dracometeor,flamethrower,sleeppowder,woodhammer": 65, "sitrusberry,harvest,dracometeor,flamethrower,stunspore,woodhammer": 59, "sitrusberry,harvest,dracometeor,dragontail,flamethrower,woodhammer": 74, "sitrusberry,harvest,dracometeor,flamethrower,knockoff,woodhammer": 48}, + "exploud": {"choicespecs,scrappy,boomburst,fireblast,focusblast,surf": 724, "choicescarf,scrappy,boomburst,fireblast,focusblast,surf": 727}, + "farfetchd": {"stick,defiant,bravebird,knockoff,leafblade,swordsdance": 393, "stick,defiant,bravebird,knockoff,return,swordsdance": 374, "stick,defiant,bravebird,leafblade,return,swordsdance": 377}, + "fearow": {"scopelens,sniper,drillpeck,drillrun,focusenergy,return": 529, "choiceband,sniper,drillpeck,drillrun,return,uturn": 276, "choiceband,sniper,doubleedge,drillpeck,drillrun,uturn": 275}, + "feraligatr": {"lifeorb,sheerforce,dragondance,earthquake,icepunch,liquidation": 723, "lifeorb,sheerforce,crunch,dragondance,icepunch,liquidation": 659}, + "ferrothorn": {"leftovers,ironbarbs,gyroball,leechseed,powerwhip,spikes": 288, "leftovers,ironbarbs,knockoff,powerwhip,spikes,thunderwave": 124, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,toxic": 77, "leftovers,ironbarbs,powerwhip,spikes,stealthrock,thunderwave": 90, "leftovers,ironbarbs,gyroball,powerwhip,spikes,stealthrock": 175, "leftovers,ironbarbs,knockoff,powerwhip,stealthrock,toxic": 101, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,stealthrock": 188, "leftovers,ironbarbs,knockoff,powerwhip,stealthrock,thunderwave": 94, "leftovers,ironbarbs,knockoff,powerwhip,spikes,stealthrock": 66, "leftovers,ironbarbs,knockoff,powerwhip,spikes,toxic": 129}, + "flareon": {"toxicorb,guts,facade,flareblitz,quickattack,superpower": 632, "toxicorb,guts,facade,flamecharge,flareblitz,superpower": 623}, + "floatzel": {"fightiniumz,waterveil,bulkup,icepunch,liquidation,lowkick": 601, "choiceband,waterveil,crunch,icepunch,liquidation,lowkick": 256, "choiceband,waterveil,aquajet,crunch,icepunch,liquidation": 221, "choiceband,waterveil,aquajet,icepunch,liquidation,lowkick": 228, "lifeorb,waterveil,bulkup,icepunch,liquidation,lowkick": 67, "leftovers,waterveil,bulkup,icepunch,liquidation,substitute": 63}, + "floetteeternal": {"choicescarf,flowerveil,hiddenpowerfire,lightofruin,moonblast,psychic": 444, "choicespecs,flowerveil,hiddenpowerfire,lightofruin,moonblast,psychic": 408, "choicescarf,flowerveil,hiddenpowerground,lightofruin,moonblast,psychic": 407, "choicespecs,flowerveil,hiddenpowerground,lightofruin,moonblast,psychic": 451}, + "florges": {"leftovers,flowerveil,aromatherapy,moonblast,synthesis,toxic": 109, "leftovers,flowerveil,calmmind,hiddenpowerground,moonblast,synthesis": 539, "leftovers,flowerveil,moonblast,protect,toxic,wish": 551, "leftovers,flowerveil,defog,moonblast,synthesis,toxic": 214, "leftovers,flowerveil,aromatherapy,defog,moonblast,synthesis": 209}, + "flygon": {"dragoniumz,levitate,dragondance,earthquake,outrage,roost": 201, "lumberry,levitate,dragondance,earthquake,outrage,roost": 294, "dragoniumz,levitate,dragondance,earthquake,outrage,stoneedge": 165, "leftovers,levitate,defog,earthquake,outrage,roost": 217, "choiceband,levitate,earthquake,outrage,stoneedge,uturn": 121, "lumberry,levitate,dragondance,earthquake,outrage,stoneedge": 246, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn": 154}, + "forretress": {"leftovers,sturdy,gyroball,spikes,stealthrock,toxic": 54, "leftovers,sturdy,gyroball,rapidspin,spikes,stealthrock": 165, "leftovers,sturdy,gyroball,rapidspin,toxic,voltswitch": 228, "leftovers,sturdy,gyroball,rapidspin,stealthrock,toxic": 169, "leftovers,sturdy,gyroball,spikes,toxic,voltswitch": 118, "leftovers,sturdy,gyroball,spikes,stealthrock,voltswitch": 42, "leftovers,sturdy,gyroball,rapidspin,spikes,toxic": 261, "leftovers,sturdy,gyroball,rapidspin,stealthrock,voltswitch": 183, "leftovers,sturdy,gyroball,rapidspin,spikes,voltswitch": 242, "leftovers,sturdy,gyroball,stealthrock,toxic,voltswitch": 63}, + "froslass": {"leftovers,cursedbody,icebeam,shadowball,taunt,thunderwave": 141, "leftovers,cursedbody,icebeam,shadowball,spikes,thunderwave": 114, "leftovers,cursedbody,destinybond,icebeam,shadowball,taunt": 116, "leftovers,cursedbody,destinybond,icebeam,shadowball,willowisp": 154, "leftovers,cursedbody,icebeam,shadowball,taunt,willowisp": 108, "leftovers,cursedbody,icebeam,shadowball,spikes,taunt": 97, "leftovers,cursedbody,destinybond,icebeam,shadowball,spikes": 114, "leftovers,cursedbody,icebeam,shadowball,spikes,willowisp": 110, "leftovers,cursedbody,destinybond,icebeam,shadowball,thunderwave": 122, "focussash,cursedbody,icebeam,shadowball,spikes,taunt": 21, "focussash,cursedbody,icebeam,shadowball,spikes,willowisp": 21, "focussash,cursedbody,destinybond,icebeam,shadowball,spikes": 15, "focussash,cursedbody,icebeam,shadowball,spikes,thunderwave": 21}, + "furfrou": {"leftovers,furcoat,cottonguard,return,substitute,toxic": 333, "chestoberry,furcoat,cottonguard,rest,return,toxic": 361, "leftovers,furcoat,darkpulse,return,toxic,uturn": 115, "leftovers,furcoat,darkpulse,return,thunderwave,uturn": 117, "chestoberry,furcoat,darkpulse,rest,return,toxic": 98, "chestoberry,furcoat,darkpulse,rest,return,uturn": 77, "chestoberry,furcoat,darkpulse,rest,return,thunderwave": 105, "chestoberry,furcoat,rest,return,thunderwave,uturn": 124, "chestoberry,furcoat,rest,return,toxic,uturn": 96}, + "furret": {"leftovers,frisk,coil,irontail,knockoff,return": 755, "choiceband,frisk,doubleedge,firepunch,knockoff,trick": 157, "choiceband,frisk,aquatail,doubleedge,firepunch,knockoff": 119, "choiceband,frisk,aquatail,doubleedge,knockoff,uturn": 150, "choiceband,frisk,doubleedge,firepunch,knockoff,uturn": 140, "choiceband,frisk,aquatail,doubleedge,knockoff,trick": 136}, + "gallade": {"choiceband,justified,closecombat,knockoff,shadowsneak,zenheadbutt": 107, "lifeorb,justified,closecombat,knockoff,swordsdance,zenheadbutt": 118, "choiceband,justified,closecombat,icepunch,knockoff,zenheadbutt": 58, "choicescarf,justified,closecombat,icepunch,knockoff,zenheadbutt": 54}, + "gallademega": {"galladite,justified,closecombat,knockoff,swordsdance,zenheadbutt": 1122}, + "galvantula": {"lifeorb,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 501, "focussash,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 93, "lifeorb,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 538, "focussash,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 100, "choicespecs,compoundeyes,bugbuzz,gigadrain,thunder,voltswitch": 30}, + "garbodor": {"blacksludge,aftermath,gunkshot,haze,spikes,stompingtantrum": 147, "blacksludge,aftermath,gunkshot,painsplit,stompingtantrum,toxic": 182, "blacksludge,aftermath,gunkshot,haze,stompingtantrum,toxic": 188, "blacksludge,aftermath,gunkshot,haze,painsplit,stompingtantrum": 148, "blacksludge,aftermath,gunkshot,spikes,stompingtantrum,toxic": 198, "blacksludge,aftermath,gunkshot,spikes,stompingtantrum,toxicspikes": 160, "blacksludge,aftermath,gunkshot,painsplit,stompingtantrum,toxicspikes": 143, "blacksludge,aftermath,gunkshot,painsplit,spikes,stompingtantrum": 147, "blacksludge,aftermath,gunkshot,haze,stompingtantrum,toxicspikes": 160}, + "garchomp": {"dragoniumz,roughskin,earthquake,outrage,stoneedge,swordsdance": 76, "assaultvest,roughskin,dragonclaw,earthquake,fireblast,stoneedge": 21, "dragoniumz,roughskin,earthquake,firefang,outrage,swordsdance": 57, "lumberry,roughskin,earthquake,outrage,stoneedge,swordsdance": 17, "rockyhelmet,roughskin,earthquake,fireblast,outrage,toxic": 10, "lumberry,roughskin,earthquake,firefang,outrage,swordsdance": 15, "rockyhelmet,roughskin,earthquake,fireblast,outrage,stealthrock": 13, "rockyhelmet,roughskin,dragonclaw,earthquake,fireblast,toxic": 17, "rockyhelmet,roughskin,dragonclaw,earthquake,stealthrock,stoneedge": 9, "assaultvest,roughskin,earthquake,fireblast,outrage,stoneedge": 21, "rockyhelmet,roughskin,dragonclaw,earthquake,stoneedge,toxic": 18, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,toxic": 8, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,stoneedge": 11, "rockyhelmet,roughskin,earthquake,outrage,stoneedge,toxic": 11, "rockyhelmet,roughskin,dragonclaw,earthquake,fireblast,stealthrock": 9, "rockyhelmet,roughskin,dragonclaw,earthquake,stealthrock,toxic": 10}, + "garchompmega": {"garchompite,roughskin,dracometeor,earthquake,stealthrock,stoneedge": 153, "garchompite,roughskin,dracometeor,earthquake,fireblast,stealthrock": 151, "garchompite,roughskin,earthquake,outrage,stoneedge,swordsdance": 242, "garchompite,roughskin,earthquake,firefang,outrage,swordsdance": 267, "garchompite,roughskin,dracometeor,earthquake,fireblast,stoneedge": 227}, + "gardevoir": {"lifeorb,trace,calmmind,moonblast,psychic,shadowball": 18, "lifeorb,trace,calmmind,moonblast,psychic,thunderbolt": 13, "choicescarf,trace,focusblast,moonblast,psychic,trick": 16, "leftovers,trace,calmmind,moonblast,psyshock,substitute": 82, "lifeorb,trace,calmmind,focusblast,moonblast,psyshock": 51, "choicespecs,trace,focusblast,moonblast,psychic,thunderbolt": 8, "choicescarf,trace,focusblast,moonblast,psychic,thunderbolt": 6, "lifeorb,trace,calmmind,moonblast,psyshock,willowisp": 58, "choicescarf,trace,moonblast,psychic,shadowball,trick": 16, "choicescarf,trace,healingwish,moonblast,psychic,shadowball": 11, "choicescarf,trace,focusblast,healingwish,moonblast,psychic": 20, "lifeorb,trace,calmmind,focusblast,moonblast,psychic": 15, "choicescarf,trace,moonblast,psychic,shadowball,thunderbolt": 7, "choicescarf,trace,moonblast,psychic,thunderbolt,trick": 10, "choicescarf,trace,healingwish,moonblast,psychic,thunderbolt": 17, "choicespecs,trace,focusblast,moonblast,psychic,shadowball": 4, "choicespecs,trace,moonblast,psychic,shadowball,thunderbolt": 6, "choicescarf,trace,focusblast,moonblast,psychic,shadowball": 6}, + "gardevoirmega": {"gardevoirite,trace,calmmind,hypervoice,psyshock,substitute": 291, "gardevoirite,trace,calmmind,hypervoice,psyshock,taunt": 330, "gardevoirite,trace,calmmind,focusblast,hypervoice,psyshock": 311, "gardevoirite,trace,calmmind,hypervoice,psyshock,willowisp": 288}, + "gastrodon": {"leftovers,stormdrain,clearsmog,earthquake,recover,scald": 467, "leftovers,stormdrain,earthquake,icebeam,recover,scald": 484, "leftovers,stormdrain,earthquake,recover,scald,toxic": 466}, + "genesect": {"choiceband,download,blazekick,extremespeed,ironhead,uturn": 484, "choicescarf,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 43, "choicespecs,download,bugbuzz,flamethrower,flashcannon,uturn": 69, "lifeorb,download,ironhead,shiftgear,thunderbolt,xscissor": 179, "lifeorb,download,blazekick,ironhead,shiftgear,xscissor": 180, "choicespecs,download,bugbuzz,flamethrower,flashcannon,icebeam": 35, "lifeorb,download,blazekick,ironhead,shiftgear,thunderbolt": 189, "choicespecs,download,bugbuzz,flamethrower,flashcannon,thunderbolt": 40, "choicespecs,download,bugbuzz,flashcannon,thunderbolt,uturn": 72, "choicespecs,download,bugbuzz,flashcannon,icebeam,uturn": 96, "choicescarf,download,bugbuzz,flamethrower,flashcannon,icebeam": 38, "choicescarf,download,bugbuzz,flashcannon,icebeam,thunderbolt": 45, "choicespecs,download,bugbuzz,flashcannon,icebeam,thunderbolt": 37}, + "gengar": {"lifeorb,cursedbody,focusblast,painsplit,shadowball,sludgewave": 40, "blacksludge,cursedbody,focusblast,shadowball,sludgewave,substitute": 44, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,willowisp": 27, "choicespecs,cursedbody,focusblast,shadowball,sludgewave,trick": 90, "blacksludge,cursedbody,shadowball,sludgewave,substitute,willowisp": 39, "lifeorb,cursedbody,painsplit,shadowball,sludgewave,willowisp": 43, "blacksludge,cursedbody,painsplit,shadowball,sludgewave,substitute": 45}, + "gengarmega": {"gengarite,cursedbody,destinybond,focusblast,shadowball,sludgewave": 89, "gengarite,cursedbody,focusblast,shadowball,sludgewave,taunt": 119, "gengarite,cursedbody,perishsong,protect,shadowball,substitute": 273, "gengarite,cursedbody,disable,focusblast,shadowball,sludgewave": 117, "gengarite,cursedbody,destinybond,disable,shadowball,sludgewave": 91, "gengarite,cursedbody,disable,perishsong,protect,shadowball": 286, "gengarite,cursedbody,destinybond,shadowball,sludgewave,taunt": 109}, + "gigalith": {"leftovers,sandstream,earthquake,stealthrock,stoneedge,superpower": 190, "choiceband,sandstream,earthquake,explosion,stoneedge,superpower": 227, "leftovers,sandstream,earthquake,explosion,stoneedge,toxic": 222, "leftovers,sandstream,earthquake,stoneedge,superpower,toxic": 218, "leftovers,sandstream,earthquake,explosion,stealthrock,stoneedge": 173, "leftovers,sandstream,earthquake,stealthrock,stoneedge,toxic": 198}, + "girafarig": {"lifeorb,sapsipper,hypervoice,nastyplot,psyshock,thunderbolt": 767, "lifeorb,sapsipper,dazzlinggleam,nastyplot,psyshock,thunderbolt": 168, "leftovers,sapsipper,dazzlinggleam,nastyplot,psychic,substitute": 101, "leftovers,sapsipper,nastyplot,psychic,substitute,thunderbolt": 90, "lifeorb,sapsipper,dazzlinggleam,nastyplot,psychic,thunderbolt": 197, "leftovers,sapsipper,dazzlinggleam,nastyplot,psyshock,substitute": 82, "leftovers,sapsipper,nastyplot,psyshock,substitute,thunderbolt": 82}, + "giratina": {"leftovers,pressure,rest,shadowball,sleeptalk,willowisp": 128, "chestoberry,pressure,dragontail,rest,shadowball,willowisp": 33, "leftovers,pressure,calmmind,dragonpulse,rest,sleeptalk": 234, "leftovers,pressure,defog,dragontail,shadowball,willowisp": 56, "chestoberry,pressure,defog,dragontail,rest,shadowball": 63, "chestoberry,pressure,defog,rest,shadowball,willowisp": 67, "leftovers,pressure,dragontail,rest,shadowball,sleeptalk": 113}, + "giratinaorigin": {"griseousorb,levitate,dracometeor,outrage,shadowball,shadowsneak": 25, "griseousorb,levitate,dracometeor,hex,shadowsneak,thunderwave": 192, "griseousorb,levitate,dracometeor,earthquake,shadowball,shadowsneak": 20, "griseousorb,levitate,defog,earthquake,outrage,shadowball": 11, "griseousorb,levitate,dracometeor,hex,shadowsneak,willowisp": 163, "griseousorb,levitate,defog,dracometeor,shadowball,shadowsneak": 14, "griseousorb,levitate,dracometeor,earthquake,outrage,shadowball": 39, "griseousorb,levitate,defog,dracometeor,outrage,shadowball": 28, "griseousorb,levitate,defog,dracometeor,shadowball,willowisp": 8, "griseousorb,levitate,dracometeor,earthquake,shadowball,willowisp": 31, "griseousorb,levitate,earthquake,outrage,shadowball,shadowsneak": 25, "griseousorb,levitate,dracometeor,shadowball,shadowsneak,willowisp": 14, "griseousorb,levitate,defog,dracometeor,earthquake,shadowball": 23, "griseousorb,levitate,dracometeor,outrage,shadowball,willowisp": 49, "griseousorb,levitate,outrage,shadowball,shadowsneak,willowisp": 17, "griseousorb,levitate,earthquake,outrage,shadowball,willowisp": 21, "griseousorb,levitate,defog,outrage,shadowball,shadowsneak": 17, "griseousorb,levitate,defog,outrage,shadowball,willowisp": 11}, + "glaceon": {"leftovers,icebody,icebeam,protect,toxic,wish": 409, "normaliumz,icebody,celebrate,hiddenpowerground,icebeam,storedpower": 364, "leftovers,icebody,healbell,icebeam,protect,wish": 185, "leftovers,icebody,hiddenpowerground,icebeam,protect,wish": 192}, + "glalie": {"leftovers,innerfocus,earthquake,freezedry,spikes,superfang": 45, "leftovers,innerfocus,freezedry,spikes,superfang,taunt": 40, "leftovers,innerfocus,earthquake,freezedry,superfang,taunt": 66, "focussash,innerfocus,earthquake,freezedry,spikes,taunt": 12, "leftovers,innerfocus,earthquake,freezedry,spikes,taunt": 45, "focussash,innerfocus,freezedry,spikes,superfang,taunt": 11, "focussash,innerfocus,earthquake,freezedry,spikes,superfang": 16}, + "glaliemega": {"glalitite,innerfocus,earthquake,iceshard,return,spikes": 82, "glalitite,innerfocus,earthquake,freezedry,return,spikes": 219, "glalitite,innerfocus,earthquake,freezedry,iceshard,return": 235, "glalitite,innerfocus,earthquake,explosion,iceshard,return": 88, "glalitite,innerfocus,earthquake,explosion,freezedry,return": 235, "glalitite,innerfocus,earthquake,explosion,return,spikes": 79}, + "gligar": {"eviolite,immunity,earthquake,knockoff,roost,toxic": 398, "eviolite,immunity,earthquake,roost,toxic,uturn": 367, "eviolite,immunity,earthquake,roost,stealthrock,toxic": 307, "eviolite,immunity,defog,earthquake,roost,toxic": 276}, + "gliscor": {"toxicorb,poisonheal,earthquake,facade,roost,swordsdance": 451, "toxicorb,poisonheal,earthquake,protect,substitute,toxic": 443, "toxicorb,poisonheal,defog,earthquake,roost,toxic": 72, "toxicorb,poisonheal,earthquake,roost,stealthrock,toxic": 84, "toxicorb,poisonheal,earthquake,roost,toxic,uturn": 99, "toxicorb,poisonheal,earthquake,knockoff,roost,toxic": 92, "toxicorb,poisonheal,earthquake,roost,taunt,toxic": 89}, + "gogoat": {"leftovers,sapsipper,bulkup,earthquake,hornleech,milkdrink": 583, "leftovers,sapsipper,earthquake,hornleech,milkdrink,toxic": 552}, + "golduck": {"lifeorb,cloudnine,encore,focusblast,icebeam,scald": 233, "lifeorb,cloudnine,calmmind,focusblast,hydropump,icebeam": 250, "lifeorb,cloudnine,calmmind,focusblast,icebeam,scald": 239, "lifeorb,cloudnine,calmmind,encore,hydropump,icebeam": 218, "lifeorb,cloudnine,encore,focusblast,hydropump,icebeam": 218, "lifeorb,cloudnine,calmmind,encore,icebeam,scald": 215, "lifeorb,swiftswim,calmmind,encore,icebeam,scald": 8, "lifeorb,swiftswim,encore,focusblast,icebeam,scald": 6, "lifeorb,swiftswim,calmmind,focusblast,icebeam,scald": 5, "lifeorb,swiftswim,encore,focusblast,hydropump,icebeam": 5, "lifeorb,swiftswim,calmmind,focusblast,hydropump,icebeam": 7, "lifeorb,swiftswim,calmmind,encore,hydropump,icebeam": 2}, + "golem": {"leftovers,sturdy,earthquake,stealthrock,stoneedge,suckerpunch": 31, "custapberry,sturdy,earthquake,explosion,stoneedge,toxic": 48, "weaknesspolicy,sturdy,earthquake,explosion,rockpolish,stoneedge": 134, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 35, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge": 48, "leftovers,sturdy,earthquake,stoneedge,suckerpunch,toxic": 52, "weaknesspolicy,sturdy,earthquake,rockpolish,stoneedge,suckerpunch": 105, "choiceband,sturdy,earthquake,explosion,stoneedge,suckerpunch": 50}, + "golemalola": {"lifeorb,galvanize,autotomize,earthquake,return,stoneedge": 297, "choiceband,galvanize,earthquake,explosion,return,stoneedge": 319}, + "golisopod": {"sitrusberry,emergencyexit,firstimpression,leechlife,liquidation,spikes": 418, "sitrusberry,emergencyexit,firstimpression,knockoff,liquidation,spikes": 442, "choiceband,emergencyexit,firstimpression,knockoff,leechlife,liquidation": 384}, + "golurk": {"lifeorb,ironfist,earthquake,icepunch,rockpolish,shadowpunch": 625, "lifeorb,noguard,dynamicpunch,earthquake,icepunch,stealthrock": 126, "lifeorb,noguard,dynamicpunch,earthquake,stealthrock,stoneedge": 119, "choiceband,noguard,dynamicpunch,earthquake,icepunch,stoneedge": 103, "lifeorb,noguard,dynamicpunch,earthquake,icepunch,rockpolish": 159, "lifeorb,noguard,dynamicpunch,earthquake,rockpolish,stoneedge": 118}, + "goodra": {"assaultvest,sapsipper,dracometeor,dragontail,earthquake,sludgebomb": 135, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,powerwhip": 134, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,sludgebomb": 112, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb": 141, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip": 140, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,fireblast": 156, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,sludgebomb": 141, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb": 159, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,powerwhip": 145, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb": 109}, + "gorebyss": {"whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 1441}, + "gothitelle": {"leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,signalbeam": 86, "choicespecs,shadowtag,hiddenpowerfighting,psychic,shadowball,signalbeam": 65, "choicespecs,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 60, "leftovers,shadowtag,calmmind,psychic,shadowball,signalbeam": 101, "leftovers,shadowtag,calmmind,psychic,signalbeam,thunderbolt": 93, "choicescarf,shadowtag,psychic,shadowball,signalbeam,thunderbolt": 51, "choicespecs,shadowtag,psychic,shadowball,signalbeam,thunderbolt": 55, "leftovers,shadowtag,calmmind,psychic,shadowball,thunderbolt": 89, "choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,trick": 95, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,thunderbolt": 80, "leftovers,shadowtag,calmmind,hiddenpowerfighting,psychic,shadowball": 93, "choicescarf,shadowtag,psychic,shadowball,thunderbolt,trick": 78, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,signalbeam": 53, "choicescarf,shadowtag,hiddenpowerfighting,psychic,thunderbolt,trick": 94, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,trick": 99, "choicescarf,shadowtag,psychic,signalbeam,thunderbolt,trick": 91, "choicescarf,shadowtag,hiddenpowerfighting,psychic,shadowball,thunderbolt": 58, "choicescarf,shadowtag,hiddenpowerfighting,psychic,signalbeam,thunderbolt": 51, "choicescarf,shadowtag,psychic,shadowball,signalbeam,trick": 88, "choicespecs,shadowtag,hiddenpowerfighting,psychic,shadowball,thunderbolt": 47}, + "gourgeist": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 580}, + "gourgeistlarge": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 650}, + "gourgeistsmall": {"leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 590}, + "gourgeistsuper": {"rockyhelmet,frisk,seedbomb,shadowsneak,synthesis,willowisp": 272, "leftovers,frisk,seedbomb,shadowsneak,synthesis,willowisp": 298}, + "granbull": {"leftovers,intimidate,earthquake,healbell,playrough,toxic": 795, "leftovers,intimidate,earthquake,healbell,playrough,thunderwave": 738, "leftovers,intimidate,earthquake,playrough,thunderwave,toxic": 56}, + "greninja": {"lifeorb,protean,grassknot,gunkshot,hydropump,spikes": 29, "lifeorb,protean,gunkshot,hydropump,icebeam,spikes": 49, "lifeorb,protean,gunkshot,hydropump,spikes,taunt": 42, "lifeorb,protean,gunkshot,hydropump,spikes,uturn": 47, "lifeorb,protean,gunkshot,hydropump,taunt,toxicspikes": 27, "lifeorb,protean,gunkshot,hydropump,taunt,uturn": 37, "lifeorb,protean,gunkshot,hydropump,icebeam,taunt": 29, "lifeorb,protean,grassknot,gunkshot,hydropump,taunt": 47, "lifeorb,protean,grassknot,gunkshot,hydropump,toxicspikes": 44, "lifeorb,protean,gunkshot,hydropump,icebeam,toxicspikes": 45, "lifeorb,protean,gunkshot,hydropump,spikes,toxicspikes": 38, "expertbelt,protean,gunkshot,hydropump,icebeam,uturn": 40, "expertbelt,protean,grassknot,gunkshot,hydropump,uturn": 29, "lifeorb,protean,grassknot,gunkshot,hydropump,icebeam": 36, "lifeorb,protean,gunkshot,hydropump,toxicspikes,uturn": 37}, + "greninjabond": {"choicespecs,battlebond,darkpulse,hydropump,icebeam,uturn": 194, "choicespecs,battlebond,darkpulse,hydropump,icebeam,watershuriken": 214, "choicespecs,battlebond,darkpulse,hydropump,uturn,watershuriken": 165}, + "groudon": {"leftovers,drought,firepunch,precipiceblades,rockpolish,swordsdance": 114, "leftovers,drought,precipiceblades,rockpolish,stoneedge,swordsdance": 112, "leftovers,drought,lavaplume,precipiceblades,stealthrock,thunderwave": 36, "leftovers,drought,dragontail,precipiceblades,stealthrock,stoneedge": 22, "leftovers,drought,dragontail,lavaplume,precipiceblades,thunderwave": 39, "weaknesspolicy,drought,firepunch,precipiceblades,rockpolish,stoneedge": 51, "leftovers,drought,firepunch,precipiceblades,stoneedge,swordsdance": 48, "leftovers,drought,lavaplume,precipiceblades,stealthrock,stoneedge": 23, "leftovers,drought,dragontail,lavaplume,precipiceblades,stealthrock": 19, "leftovers,drought,precipiceblades,stealthrock,stoneedge,thunderwave": 28, "assaultvest,drought,dragontail,lavaplume,precipiceblades,stoneedge": 42, "leftovers,drought,dragontail,precipiceblades,stoneedge,thunderwave": 31, "leftovers,drought,dragontail,precipiceblades,stealthrock,thunderwave": 23, "leftovers,drought,lavaplume,precipiceblades,stoneedge,thunderwave": 42}, + "groudonprimal": {"redorb,drought,dragontail,lavaplume,precipiceblades,thunderwave": 157, "redorb,drought,firepunch,precipiceblades,rockpolish,swordsdance": 373, "redorb,drought,lavaplume,precipiceblades,stealthrock,thunderwave": 101, "redorb,drought,dragontail,lavaplume,precipiceblades,stealthrock": 109}, + "grumpig": {"magoberry,gluttony,calmmind,focusblast,psychic,recycle": 87, "figyberry,gluttony,calmmind,focusblast,psychic,recycle": 74, "magoberry,gluttony,calmmind,focusblast,psyshock,recycle": 88, "leftovers,thickfat,focusblast,psychic,thunderwave,whirlwind": 117, "leftovers,thickfat,focusblast,healbell,psychic,toxic": 102, "leftovers,thickfat,focusblast,healbell,psychic,thunderwave": 118, "wikiberry,gluttony,calmmind,focusblast,psychic,recycle": 74, "leftovers,thickfat,focusblast,psychic,toxic,whirlwind": 111, "aguavberry,gluttony,calmmind,focusblast,psychic,recycle": 71, "wikiberry,gluttony,calmmind,focusblast,psyshock,recycle": 69, "iapapaberry,gluttony,calmmind,focusblast,psychic,recycle": 83, "leftovers,thickfat,healbell,psychic,toxic,whirlwind": 100, "figyberry,gluttony,calmmind,focusblast,psyshock,recycle": 75, "iapapaberry,gluttony,calmmind,focusblast,psyshock,recycle": 79, "leftovers,thickfat,focusblast,healbell,psychic,whirlwind": 94, "aguavberry,gluttony,calmmind,focusblast,psyshock,recycle": 71, "leftovers,thickfat,healbell,psychic,thunderwave,whirlwind": 111}, + "gumshoos": {"choiceband,stakeout,crunch,earthquake,return,uturn": 723, "choiceband,adaptability,crunch,earthquake,return,uturn": 715}, + "gurdurr": {"eviolite,guts,bulkup,drainpunch,knockoff,machpunch": 1463}, + "guzzlord": {"assaultvest,beastboost,dracometeor,earthquake,fireblast,knockoff": 421, "assaultvest,beastboost,dracometeor,earthquake,heavyslam,knockoff": 400, "assaultvest,beastboost,dracometeor,fireblast,heavyslam,knockoff": 414}, + "gyarados": {"flyiniumz,moxie,bounce,dragondance,earthquake,waterfall": 227, "lifeorb,moxie,dragondance,earthquake,stoneedge,waterfall": 14, "lifeorb,intimidate,dragondance,earthquake,stoneedge,waterfall": 15, "leftovers,intimidate,dragondance,stoneedge,substitute,waterfall": 7, "leftovers,intimidate,dragondance,earthquake,substitute,waterfall": 6, "leftovers,moxie,dragondance,earthquake,substitute,waterfall": 8, "leftovers,moxie,dragondance,stoneedge,substitute,waterfall": 6}, + "gyaradosmega": {"gyaradosite,intimidate,crunch,dragondance,substitute,waterfall": 489, "gyaradosite,intimidate,crunch,dragondance,earthquake,waterfall": 455}, + "hariyama": {"assaultvest,thickfat,bulletpunch,closecombat,knockoff,stoneedge": 258, "assaultvest,thickfat,bulletpunch,closecombat,heavyslam,knockoff": 294, "flameorb,guts,closecombat,facade,fakeout,knockoff": 401, "flameorb,guts,bulletpunch,closecombat,facade,knockoff": 355, "assaultvest,thickfat,closecombat,heavyslam,knockoff,stoneedge": 290}, + "hawlucha": {"sitrusberry,unburden,acrobatics,highjumpkick,substitute,swordsdance": 591, "powerherb,unburden,acrobatics,highjumpkick,skyattack,swordsdance": 613}, + "haxorus": {"dragoniumz,moldbreaker,dragondance,earthquake,outrage,poisonjab": 1249, "lumberry,moldbreaker,dragondance,earthquake,outrage,taunt": 90, "lumberry,moldbreaker,dragondance,earthquake,outrage,poisonjab": 143}, + "heatmor": {"lifeorb,flashfire,firelash,gigadrain,suckerpunch,superpower": 207, "lifeorb,flashfire,firelash,gigadrain,knockoff,superpower": 405, "lifeorb,flashfire,fireblast,gigadrain,suckerpunch,superpower": 212, "lifeorb,flashfire,fireblast,gigadrain,knockoff,superpower": 417}, + "heatran": {"leftovers,flashfire,earthpower,magmastorm,protect,toxic": 637, "airballoon,flashfire,flashcannon,magmastorm,stealthrock,taunt": 24, "airballoon,flashfire,earthpower,flashcannon,lavaplume,toxic": 49, "airballoon,flashfire,earthpower,magmastorm,taunt,toxic": 35, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,toxic": 27, "airballoon,flashfire,earthpower,flashcannon,lavaplume,taunt": 61, "airballoon,flashfire,earthpower,flashcannon,magmastorm,toxic": 52, "airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock": 51, "airballoon,flashfire,earthpower,flashcannon,magmastorm,taunt": 61, "airballoon,flashfire,earthpower,magmastorm,stealthrock,toxic": 27, "airballoon,flashfire,earthpower,flashcannon,magmastorm,stealthrock": 41, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,taunt": 21, "airballoon,flashfire,flashcannon,magmastorm,taunt,toxic": 31, "airballoon,flashfire,earthpower,lavaplume,taunt,toxic": 28, "airballoon,flashfire,flashcannon,lavaplume,taunt,toxic": 28, "airballoon,flashfire,earthpower,magmastorm,stealthrock,taunt": 12, "airballoon,flashfire,flashcannon,magmastorm,stealthrock,toxic": 25, "airballoon,flashfire,earthpower,lavaplume,stealthrock,toxic": 27, "airballoon,flashfire,earthpower,lavaplume,stealthrock,taunt": 24}, + "heliolisk": {"lifeorb,dryskin,hypervoice,raindance,surf,thunder": 626, "choicespecs,dryskin,darkpulse,hypervoice,thunderbolt,voltswitch": 112, "lifeorb,dryskin,glare,hypervoice,thunderbolt,voltswitch": 96, "lifeorb,dryskin,glare,hypervoice,surf,thunderbolt": 111, "choicespecs,dryskin,hypervoice,surf,thunderbolt,voltswitch": 103, "choicespecs,dryskin,darkpulse,hypervoice,surf,thunderbolt": 95, "lifeorb,dryskin,darkpulse,glare,hypervoice,thunderbolt": 103}, + "heracross": {"choicescarf,moxie,closecombat,knockoff,megahorn,stoneedge": 71, "flameorb,guts,closecombat,facade,knockoff,swordsdance": 149, "choiceband,moxie,closecombat,knockoff,megahorn,stoneedge": 69}, + "heracrossmega": {"heracronite,moxie,closecombat,pinmissile,rockblast,swordsdance": 280, "heracronite,moxie,closecombat,earthquake,pinmissile,rockblast": 251, "heracronite,moxie,closecombat,pinmissile,rockblast,substitute": 265, "heracronite,moxie,closecombat,knockoff,pinmissile,rockblast": 216}, + "hippowdon": {"rockyhelmet,sandstream,earthquake,slackoff,stoneedge,toxic": 127, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind": 74, "leftovers,sandstream,earthquake,slackoff,stealthrock,toxic": 102, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,whirlwind": 123, "leftovers,sandstream,earthquake,slackoff,toxic,whirlwind": 102, "leftovers,sandstream,earthquake,slackoff,stoneedge,toxic": 128, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,whirlwind": 74, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind": 128, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge": 99, "rockyhelmet,sandstream,earthquake,slackoff,toxic,whirlwind": 121, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,stoneedge": 83, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,toxic": 75}, + "hitmonchan": {"choiceband,ironfist,drainpunch,machpunch,stoneedge,throatchop": 287, "leftovers,ironfist,bulkup,drainpunch,machpunch,stoneedge": 133, "leftovers,ironfist,bulkup,drainpunch,icepunch,machpunch": 147, "choiceband,ironfist,drainpunch,icepunch,machpunch,stoneedge": 296, "leftovers,ironfist,bulkup,drainpunch,machpunch,throatchop": 152, "assaultvest,ironfist,drainpunch,machpunch,rapidspin,throatchop": 105, "choiceband,ironfist,drainpunch,icepunch,machpunch,throatchop": 240, "assaultvest,ironfist,drainpunch,icepunch,machpunch,rapidspin": 110, "assaultvest,ironfist,drainpunch,machpunch,rapidspin,stoneedge": 111}, + "hitmonlee": {"assaultvest,reckless,highjumpkick,knockoff,poisonjab,rapidspin": 120, "whiteherb,unburden,closecombat,curse,knockoff,poisonjab": 367, "whiteherb,unburden,closecombat,curse,knockoff,stoneedge": 399, "assaultvest,reckless,highjumpkick,knockoff,rapidspin,stoneedge": 110, "choicescarf,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 74, "assaultvest,reckless,highjumpkick,knockoff,machpunch,rapidspin": 118, "choiceband,reckless,highjumpkick,knockoff,machpunch,stoneedge": 144, "choiceband,reckless,highjumpkick,knockoff,machpunch,poisonjab": 145, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 74}, + "hitmontop": {"leftovers,intimidate,closecombat,earthquake,rapidspin,toxic": 207, "assaultvest,intimidate,closecombat,earthquake,rapidspin,stoneedge": 219, "assaultvest,intimidate,closecombat,rapidspin,stoneedge,suckerpunch": 207, "leftovers,intimidate,closecombat,rapidspin,suckerpunch,toxic": 203, "leftovers,intimidate,closecombat,rapidspin,stoneedge,toxic": 222, "choiceband,intimidate,closecombat,earthquake,stoneedge,suckerpunch": 77, "assaultvest,intimidate,closecombat,earthquake,rapidspin,suckerpunch": 225, "leftovers,intimidate,closecombat,earthquake,stoneedge,toxic": 64, "leftovers,intimidate,closecombat,earthquake,suckerpunch,toxic": 70, "leftovers,intimidate,closecombat,stoneedge,suckerpunch,toxic": 77}, + "hooh": {"leftovers,regenerator,bravebird,roost,sacredfire,substitute": 319, "leftovers,regenerator,bravebird,roost,sacredfire,toxic": 281, "leftovers,regenerator,bravebird,defog,roost,sacredfire": 252, "leftovers,regenerator,bravebird,earthquake,roost,sacredfire": 315}, + "honchkrow": {"lifeorb,moxie,bravebird,heatwave,roost,suckerpunch": 178, "lifeorb,moxie,bravebird,heatwave,pursuit,suckerpunch": 201, "lifeorb,moxie,bravebird,heatwave,suckerpunch,superpower": 192, "lifeorb,moxie,bravebird,roost,suckerpunch,superpower": 179, "lifeorb,moxie,bravebird,pursuit,roost,suckerpunch": 186, "choiceband,moxie,bravebird,pursuit,suckerpunch,superpower": 177}, + "hoopa": {"lifeorb,magician,focusblast,nastyplot,psychic,shadowball": 226, "choicescarf,magician,focusblast,psychic,shadowball,trick": 192, "choicescarf,magician,focusblast,psyshock,shadowball,trick": 217, "lifeorb,magician,focusblast,nastyplot,psyshock,shadowball": 205}, + "hoopaunbound": {"choiceband,magician,drainpunch,hyperspacefury,trick,zenheadbutt": 128, "assaultvest,magician,drainpunch,gunkshot,hyperspacefury,psychic": 121, "choicescarf,magician,gunkshot,hyperspacefury,psychic,trick": 113, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,zenheadbutt": 130, "choicescarf,magician,drainpunch,hyperspacefury,psychic,trick": 151, "choiceband,magician,gunkshot,hyperspacefury,trick,zenheadbutt": 119}, + "houndoom": {"lifeorb,flashfire,darkpulse,fireblast,nastyplot,sludgebomb": 80, "lifeorb,flashfire,darkpulse,fireblast,nastyplot,suckerpunch": 82, "lifeorb,flashfire,darkpulse,fireblast,sludgebomb,suckerpunch": 75}, + "houndoommega": {"houndoominite,flashfire,darkpulse,fireblast,nastyplot,sludgebomb": 486, "houndoominite,flashfire,darkpulse,fireblast,nastyplot,taunt": 414}, + "huntail": {"whiteherb,waterveil,icebeam,return,shellsmash,waterfall": 673, "whiteherb,waterveil,icebeam,shellsmash,suckerpunch,waterfall": 681, "whiteherb,swiftswim,icebeam,shellsmash,suckerpunch,waterfall": 10, "whiteherb,swiftswim,icebeam,return,shellsmash,waterfall": 5}, + "hydreigon": {"lifeorb,levitate,darkpulse,dracometeor,fireblast,roost": 38, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn": 32, "choicespecs,levitate,darkpulse,dracometeor,earthpower,fireblast": 15, "assaultvest,levitate,darkpulse,dracometeor,superpower,uturn": 190, "assaultvest,levitate,darkpulse,dracometeor,flashcannon,superpower": 202, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon": 20, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,roost": 32, "leftovers,levitate,darkpulse,defog,dracometeor,roost": 131, "leftovers,levitate,darkpulse,dracometeor,roost,uturn": 155, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon": 16, "lifeorb,levitate,darkpulse,dracometeor,roost,uturn": 44, "choicescarf,levitate,darkpulse,dracometeor,earthpower,fireblast": 18, "leftovers,levitate,darkpulse,dracometeor,fireblast,roost": 172, "lifeorb,levitate,darkpulse,dracometeor,earthpower,roost": 36, "choicespecs,levitate,darkpulse,dracometeor,earthpower,uturn": 36, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn": 46, "choicespecs,levitate,darkpulse,dracometeor,earthpower,flashcannon": 15, "choicescarf,levitate,darkpulse,dracometeor,earthpower,flashcannon": 9}, + "hypno": {"leftovers,insomnia,protect,seismictoss,toxic,wish": 820, "leftovers,insomnia,focusblast,protect,psychic,wish": 118, "leftovers,insomnia,focusblast,foulplay,psychic,toxic": 127, "leftovers,insomnia,foulplay,protect,psychic,wish": 115, "leftovers,insomnia,focusblast,foulplay,psychic,thunderwave": 123, "leftovers,insomnia,protect,psychic,thunderwave,wish": 129, "leftovers,insomnia,protect,psychic,toxic,wish": 115}, + "illumise": {"leftovers,prankster,bugbuzz,encore,roost,thunderwave": 746, "leftovers,prankster,bugbuzz,defog,roost,thunderwave": 490}, + "incineroar": {"assaultvest,intimidate,fakeout,flareblitz,knockoff,uturn": 40, "assaultvest,intimidate,earthquake,fakeout,flareblitz,knockoff": 50, "assaultvest,intimidate,earthquake,fakeout,knockoff,overheat": 67, "inciniumz,intimidate,darkestlariat,flamecharge,flareblitz,swordsdance": 482, "assaultvest,intimidate,earthquake,knockoff,overheat,uturn": 71, "assaultvest,intimidate,darkestlariat,fakeout,flareblitz,uturn": 40, "assaultvest,intimidate,darkestlariat,fakeout,overheat,uturn": 47, "assaultvest,intimidate,darkestlariat,earthquake,flareblitz,uturn": 58, "assaultvest,intimidate,darkestlariat,earthquake,overheat,uturn": 60, "assaultvest,intimidate,darkestlariat,earthquake,fakeout,overheat": 49, "assaultvest,intimidate,earthquake,flareblitz,knockoff,uturn": 56, "assaultvest,intimidate,fakeout,knockoff,overheat,uturn": 57, "assaultvest,intimidate,darkestlariat,earthquake,fakeout,flareblitz": 57}, + "infernape": {"fightiniumz,blaze,fireblast,focusblast,nastyplot,vacuumwave": 177, "lifeorb,ironfist,closecombat,grassknot,machpunch,overheat": 88, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn": 46, "lifeorb,blaze,closecombat,grassknot,overheat,stealthrock": 113, "fightiniumz,blaze,fireblast,focusblast,grassknot,nastyplot": 166, "lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance": 90, "lifeorb,blaze,closecombat,grassknot,machpunch,overheat": 92, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn": 53, "lifeorb,ironfist,closecombat,flareblitz,machpunch,swordsdance": 54, "choiceband,ironfist,closecombat,flareblitz,machpunch,stoneedge": 37, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn": 56, "choiceband,ironfist,closecombat,flareblitz,machpunch,uturn": 45, "lifeorb,blaze,closecombat,machpunch,overheat,stealthrock": 79, "lifeorb,ironfist,closecombat,machpunch,overheat,stealthrock": 78, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance": 43, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge": 30}, + "jellicent": {"leftovers,waterabsorb,recover,scald,shadowball,taunt": 341, "leftovers,waterabsorb,icebeam,recover,scald,shadowball": 332, "leftovers,waterabsorb,hex,recover,scald,willowisp": 373, "leftovers,waterabsorb,hex,recover,scald,toxic": 378}, + "jirachi": {"leftovers,serenegrace,bodyslam,firepunch,ironhead,toxic": 29, "choicescarf,serenegrace,firepunch,healingwish,ironhead,uturn": 123, "normaliumz,serenegrace,drainpunch,happyhour,ironhead,psychic": 564, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,toxic": 18, "leftovers,serenegrace,firepunch,ironhead,stealthrock,uturn": 26, "leftovers,serenegrace,bodyslam,ironhead,toxic,uturn": 41, "leftovers,serenegrace,firepunch,ironhead,protect,wish": 66, "leftovers,serenegrace,firepunch,ironhead,toxic,uturn": 28, "assaultvest,serenegrace,bodyslam,firepunch,ironhead,uturn": 25, "leftovers,serenegrace,ironhead,protect,uturn,wish": 47, "leftovers,serenegrace,bodyslam,firepunch,ironhead,stealthrock": 26, "leftovers,serenegrace,bodyslam,ironhead,protect,wish": 65, "leftovers,serenegrace,ironhead,protect,toxic,wish": 83, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn": 29, "leftovers,serenegrace,ironhead,stealthrock,toxic,uturn": 18, "leftovers,serenegrace,ironhead,protect,stealthrock,wish": 63, "leftovers,serenegrace,firepunch,ironhead,stealthrock,toxic": 26}, + "jolteon": {"choicespecs,voltabsorb,hiddenpowerice,signalbeam,thunderbolt,voltswitch": 732, "choicespecs,voltabsorb,hiddenpowerice,shadowball,thunderbolt,voltswitch": 716}, + "jumpluff": {",infiltrator,acrobatics,strengthsap,toxic,uturn": 92, ",infiltrator,acrobatics,leechseed,strengthsap,substitute": 545, ",infiltrator,acrobatics,encore,strengthsap,uturn": 73, ",infiltrator,acrobatics,sleeppowder,strengthsap,toxic": 91, ",infiltrator,acrobatics,sleeppowder,strengthsap,uturn": 93, ",infiltrator,acrobatics,encore,sleeppowder,strengthsap": 88, ",infiltrator,acrobatics,encore,strengthsap,toxic": 83}, + "jynx": {"lifeorb,dryskin,focusblast,icebeam,nastyplot,psyshock": 326, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psyshock": 161, "lifeorb,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 152, "choicescarf,dryskin,focusblast,icebeam,psychic,trick": 134, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psychic": 168, "choicescarf,dryskin,focusblast,icebeam,psyshock,trick": 130, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,nastyplot": 146}, + "kabutops": {"assaultvest,swiftswim,aquajet,liquidation,rapidspin,stoneedge": 1, "choiceband,battlearmor,aquajet,knockoff,liquidation,stoneedge": 266, "rockiumz,weakarmor,aquajet,liquidation,stoneedge,swordsdance": 242, "assaultvest,battlearmor,aquajet,liquidation,rapidspin,stoneedge": 168, "rockiumz,weakarmor,knockoff,liquidation,stoneedge,swordsdance": 243, "assaultvest,battlearmor,knockoff,liquidation,rapidspin,stoneedge": 137, "choiceband,swiftswim,aquajet,knockoff,liquidation,stoneedge": 5, "lifeorb,weakarmor,knockoff,liquidation,stoneedge,swordsdance": 40, "lifeorb,weakarmor,aquajet,liquidation,stoneedge,swordsdance": 40, "assaultvest,swiftswim,knockoff,liquidation,rapidspin,stoneedge": 1}, + "kangaskhan": {"assaultvest,scrappy,earthquake,fakeout,return,suckerpunch": 46, "assaultvest,scrappy,drainpunch,earthquake,fakeout,return": 48, "silkscarf,scrappy,doubleedge,drainpunch,earthquake,fakeout": 22, "choiceband,scrappy,drainpunch,earthquake,return,suckerpunch": 19, "silkscarf,scrappy,doubleedge,drainpunch,fakeout,suckerpunch": 11, "silkscarf,scrappy,earthquake,fakeout,return,suckerpunch": 19, "silkscarf,scrappy,doubleedge,earthquake,fakeout,suckerpunch": 22, "assaultvest,scrappy,drainpunch,fakeout,return,suckerpunch": 54, "silkscarf,scrappy,drainpunch,fakeout,return,suckerpunch": 24, "assaultvest,scrappy,drainpunch,earthquake,return,suckerpunch": 53, "silkscarf,scrappy,drainpunch,earthquake,fakeout,return": 26, "choiceband,scrappy,doubleedge,drainpunch,earthquake,suckerpunch": 21}, + "kangaskhanmega": {"kangaskhanite,scrappy,bodyslam,crunch,earthquake,poweruppunch": 137, "kangaskhanite,scrappy,earthquake,poweruppunch,return,suckerpunch": 163, "kangaskhanite,scrappy,bodyslam,fakeout,seismictoss,suckerpunch": 175, "kangaskhanite,scrappy,bodyslam,crunch,fakeout,seismictoss": 179, "kangaskhanite,scrappy,crunch,earthquake,poweruppunch,return": 136, "kangaskhanite,scrappy,bodyslam,earthquake,poweruppunch,suckerpunch": 139, "kangaskhanite,scrappy,bodyslam,crunch,seismictoss,suckerpunch": 165}, + "kartana": {"grassiumz,beastboost,knockoff,leafblade,smartstrike,swordsdance": 91, "fightiniumz,beastboost,leafblade,sacredsword,smartstrike,swordsdance": 171, "steeliumz,beastboost,leafblade,sacredsword,smartstrike,swordsdance": 86, "grassiumz,beastboost,leafblade,sacredsword,smartstrike,swordsdance": 86, "choiceband,beastboost,knockoff,leafblade,sacredsword,smartstrike": 272, "lifeorb,beastboost,knockoff,leafblade,smartstrike,swordsdance": 251, "lifeorb,beastboost,leafblade,sacredsword,smartstrike,swordsdance": 269, "steeliumz,beastboost,knockoff,leafblade,smartstrike,swordsdance": 82}, + "kecleon": {"assaultvest,protean,drainpunch,fakeout,shadowsneak,suckerpunch": 101, "focussash,protean,drainpunch,shadowsneak,stealthrock,suckerpunch": 20, "lifeorb,protean,drainpunch,recover,shadowsneak,suckerpunch": 101, "leftovers,protean,drainpunch,knockoff,recover,toxic": 251, "lifeorb,protean,drainpunch,fakeout,shadowsneak,stealthrock": 50, "leftovers,protean,drainpunch,knockoff,recover,thunderwave": 269, "leftovers,protean,drainpunch,recover,shadowsneak,stealthrock": 77, "lifeorb,protean,drainpunch,knockoff,recover,shadowsneak": 108, "leftovers,protean,drainpunch,knockoff,recover,stealthrock": 212, "lifeorb,protean,drainpunch,knockoff,shadowsneak,stealthrock": 64, "lifeorb,protean,drainpunch,fakeout,recover,shadowsneak": 83, "focussash,protean,drainpunch,knockoff,shadowsneak,stealthrock": 12, "assaultvest,protean,drainpunch,fakeout,knockoff,shadowsneak": 82, "lifeorb,protean,drainpunch,shadowsneak,stealthrock,suckerpunch": 58, "focussash,protean,drainpunch,fakeout,shadowsneak,stealthrock": 21}, + "keldeo": {"leftovers,justified,calmmind,scald,secretsword,substitute": 420, "choicespecs,justified,focusblast,hydropump,scald,secretsword": 213, "lifeorb,justified,calmmind,hiddenpowerflying,hydropump,secretsword": 68, "lifeorb,justified,calmmind,hydropump,icywind,secretsword": 71, "choicescarf,justified,focusblast,hydropump,scald,secretsword": 188, "lifeorb,justified,calmmind,hiddenpowerflying,scald,secretsword": 73, "lifeorb,justified,calmmind,icywind,scald,secretsword": 72, "lifeorb,justified,calmmind,hiddenpowerelectric,hydropump,secretsword": 80, "lifeorb,justified,calmmind,hiddenpowerelectric,scald,secretsword": 73}, + "kingdra": {"lifeorb,swiftswim,dracometeor,hydropump,icebeam,raindance": 348, "lifeorb,swiftswim,dracometeor,hydropump,raindance,waterfall": 744, "lifeorb,swiftswim,dracometeor,icebeam,raindance,waterfall": 375}, + "kingler": {"lifeorb,sheerforce,agility,liquidation,superpower,swordsdance": 92, "lifeorb,sheerforce,liquidation,superpower,swordsdance,xscissor": 102, "lifeorb,sheerforce,knockoff,liquidation,superpower,swordsdance": 84, "lifeorb,sheerforce,agility,knockoff,liquidation,swordsdance": 85, "lifeorb,sheerforce,liquidation,rockslide,swordsdance,xscissor": 97, "lifeorb,sheerforce,agility,liquidation,rockslide,xscissor": 94, "lifeorb,sheerforce,agility,knockoff,liquidation,superpower": 96, "lifeorb,sheerforce,agility,knockoff,liquidation,xscissor": 86, "lifeorb,sheerforce,agility,liquidation,superpower,xscissor": 91, "lifeorb,sheerforce,knockoff,liquidation,rockslide,swordsdance": 97, "lifeorb,sheerforce,agility,liquidation,rockslide,swordsdance": 87, "lifeorb,sheerforce,agility,liquidation,swordsdance,xscissor": 83, "lifeorb,sheerforce,liquidation,rockslide,superpower,swordsdance": 94, "lifeorb,sheerforce,agility,liquidation,rockslide,superpower": 78, "lifeorb,sheerforce,knockoff,liquidation,swordsdance,xscissor": 78, "lifeorb,sheerforce,agility,knockoff,liquidation,rockslide": 73}, + "klefki": {"leftovers,prankster,magnetrise,playrough,spikes,thunderwave": 661, "leftovers,prankster,dazzlinggleam,foulplay,spikes,thunderwave": 676}, + "klinklang": {"electriumz,clearbody,geargrind,shiftgear,substitute,wildcharge": 163, "electriumz,clearbody,geargrind,return,shiftgear,wildcharge": 190, "steeliumz,clearbody,geargrind,shiftgear,substitute,wildcharge": 82, "normaliumz,clearbody,geargrind,return,shiftgear,substitute": 161, "normaliumz,clearbody,geargrind,return,shiftgear,wildcharge": 193, "lifeorb,clearbody,geargrind,return,shiftgear,wildcharge": 89, "steeliumz,clearbody,geargrind,return,shiftgear,wildcharge": 170, "steeliumz,clearbody,geargrind,return,shiftgear,substitute": 86, "leftovers,clearbody,geargrind,shiftgear,substitute,wildcharge": 47, "leftovers,clearbody,geargrind,return,shiftgear,substitute": 59}, + "komala": {"choicescarf,comatose,earthquake,knockoff,return,superpower": 50, "assaultvest,comatose,knockoff,rapidspin,return,woodhammer": 98, "assaultvest,comatose,knockoff,rapidspin,return,uturn": 96, "choiceband,comatose,knockoff,return,suckerpunch,uturn": 103, "choiceband,comatose,knockoff,return,suckerpunch,woodhammer": 99, "choicescarf,comatose,knockoff,return,uturn,woodhammer": 68, "choiceband,comatose,earthquake,knockoff,return,suckerpunch": 120, "choiceband,comatose,knockoff,return,superpower,uturn": 55, "choiceband,comatose,knockoff,return,superpower,woodhammer": 57, "choicescarf,comatose,knockoff,return,superpower,woodhammer": 55, "choiceband,comatose,earthquake,knockoff,return,woodhammer": 59, "choicescarf,comatose,earthquake,knockoff,return,uturn": 54, "choicescarf,comatose,knockoff,return,superpower,uturn": 45, "assaultvest,comatose,knockoff,rapidspin,return,suckerpunch": 72, "choiceband,comatose,knockoff,return,uturn,woodhammer": 63, "assaultvest,comatose,knockoff,rapidspin,return,superpower": 80, "choiceband,comatose,earthquake,knockoff,return,superpower": 52, "choicescarf,comatose,earthquake,knockoff,return,woodhammer": 42, "assaultvest,comatose,earthquake,knockoff,rapidspin,return": 81, "choiceband,comatose,knockoff,return,suckerpunch,superpower": 90, "choiceband,comatose,earthquake,knockoff,return,uturn": 40}, + "kommoo": {"kommoniumz,soundproof,clangingscales,closecombat,dragondance,ironhead": 567, "kommoniumz,bulletproof,clangingscales,closecombat,dragondance,ironhead": 515, "lumberry,soundproof,closecombat,dragondance,ironhead,outrage": 104, "lumberry,bulletproof,closecombat,dragondance,ironhead,outrage": 93}, + "kricketune": {"leftovers,swarm,leechlife,stickyweb,taunt,toxic": 327, "leftovers,swarm,knockoff,leechlife,stickyweb,taunt": 338, "focussash,swarm,knockoff,leechlife,stickyweb,taunt": 62, "leftovers,swarm,knockoff,leechlife,stickyweb,toxic": 353, "focussash,swarm,leechlife,stickyweb,taunt,toxic": 75, "focussash,swarm,knockoff,leechlife,stickyweb,toxic": 63, "leftovers,swarm,knockoff,leechlife,taunt,toxic": 35}, + "krookodile": {"lifeorb,intimidate,earthquake,knockoff,stealthrock,superpower": 165, "lifeorb,intimidate,earthquake,knockoff,stealthrock,stoneedge": 154, "choiceband,intimidate,earthquake,knockoff,pursuit,superpower": 203, "choiceband,intimidate,earthquake,knockoff,pursuit,stoneedge": 198, "lifeorb,intimidate,earthquake,knockoff,pursuit,stealthrock": 146, "choicescarf,intimidate,earthquake,knockoff,stoneedge,superpower": 96, "choiceband,intimidate,earthquake,knockoff,stoneedge,superpower": 95}, + "kyogre": {"choicescarf,drizzle,icebeam,scald,thunder,waterspout": 371, "choicescarf,drizzle,icebeam,originpulse,thunder,waterspout": 354}, + "kyogreprimal": {"blueorb,drizzle,calmmind,icebeam,originpulse,thunder": 347, "blueorb,drizzle,calmmind,rest,scald,sleeptalk": 352}, + "kyurem": {"leftovers,pressure,earthpower,icebeam,roost,substitute": 141, "leftovers,pressure,earthpower,icebeam,outrage,roost": 23, "leftovers,pressure,icebeam,outrage,roost,substitute": 23, "leftovers,pressure,dracometeor,icebeam,roost,substitute": 26, "leftovers,pressure,dracometeor,earthpower,icebeam,roost": 20, "assaultvest,pressure,dracometeor,earthpower,icebeam,outrage": 36, "leftovers,pressure,dracometeor,icebeam,outrage,roost": 50, "assaultvest,pressure,dracometeor,focusblast,icebeam,outrage": 53, "assaultvest,pressure,earthpower,focusblast,icebeam,outrage": 25, "choicespecs,pressure,dracometeor,earthpower,focusblast,icebeam": 10, "choicescarf,pressure,dracometeor,earthpower,focusblast,icebeam": 8}, + "kyuremblack": {"leftovers,teravolt,earthpower,icebeam,outrage,roost": 80, "leftovers,teravolt,icebeam,outrage,roost,substitute": 101, "iciumz,teravolt,freezeshock,honeclaws,outrage,roost": 89, "leftovers,teravolt,fusionbolt,icebeam,outrage,roost": 77, "iciumz,teravolt,freezeshock,fusionbolt,honeclaws,outrage": 101}, + "kyuremwhite": {"choicescarf,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 56, "choicespecs,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 74, "lifeorb,turboblaze,dracometeor,earthpower,icebeam,roost": 146, "lifeorb,turboblaze,dracometeor,fusionflare,icebeam,roost": 120}, + "landorus": {"lifeorb,sheerforce,earthpower,focusblast,rockpolish,rockslide": 23, "lifeorb,sheerforce,calmmind,earthpower,focusblast,sludgewave": 63, "lifeorb,sheerforce,earthpower,psychic,rockpolish,rockslide": 26, "lifeorb,sheerforce,earthpower,knockoff,psychic,rockslide": 30, "lifeorb,sheerforce,earthpower,psychic,rockpolish,sludgewave": 49, "lifeorb,sheerforce,earthpower,psychic,rockslide,stealthrock": 23, "lifeorb,sheerforce,earthpower,focusblast,knockoff,rockslide": 23, "lifeorb,sheerforce,calmmind,earthpower,rockpolish,sludgewave": 111, "lifeorb,sheerforce,earthpower,focusblast,psychic,rockslide": 21, "lifeorb,sheerforce,earthpower,knockoff,rockslide,sludgewave": 20, "lifeorb,sheerforce,earthpower,knockoff,rockpolish,rockslide": 28, "lifeorb,sheerforce,calmmind,earthpower,psychic,sludgewave": 53, "lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock": 19, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,sludgewave": 50, "lifeorb,sheerforce,earthpower,knockoff,rockslide,stealthrock": 18, "lifeorb,sheerforce,earthpower,rockpolish,rockslide,sludgewave": 31, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave": 21, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave": 27, "lifeorb,sheerforce,earthpower,focusblast,rockslide,stealthrock": 21}, + "landorustherian": {"flyiniumz,intimidate,earthquake,fly,rockpolish,swordsdance": 124, "flyiniumz,intimidate,earthquake,fly,rockpolish,stoneedge": 85, "flyiniumz,intimidate,earthquake,fly,stoneedge,swordsdance": 69, "leftovers,intimidate,defog,earthquake,knockoff,stoneedge": 44, "leftovers,intimidate,earthquake,knockoff,stoneedge,toxic": 44, "leftovers,intimidate,earthquake,knockoff,stealthrock,uturn": 18, "leftovers,intimidate,earthquake,knockoff,stealthrock,stoneedge": 39, "leftovers,intimidate,defog,earthquake,knockoff,toxic": 14, "choicescarf,intimidate,earthquake,knockoff,stoneedge,uturn": 24, "choiceband,intimidate,earthquake,knockoff,stoneedge,uturn": 19, "leftovers,intimidate,earthquake,knockoff,stealthrock,toxic": 32, "leftovers,intimidate,defog,earthquake,stoneedge,toxic": 14, "lifeorb,intimidate,earthquake,knockoff,stoneedge,swordsdance": 9, "leftovers,intimidate,defog,earthquake,knockoff,uturn": 19, "lifeorb,intimidate,earthquake,rockpolish,stoneedge,swordsdance": 22, "leftovers,intimidate,defog,earthquake,stoneedge,uturn": 15, "leftovers,intimidate,earthquake,stealthrock,stoneedge,toxic": 13, "lifeorb,intimidate,earthquake,stoneedge,superpower,swordsdance": 4, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn": 24, "lifeorb,intimidate,earthquake,rockpolish,stoneedge,superpower": 11, "leftovers,intimidate,earthquake,stoneedge,toxic,uturn": 15, "lifeorb,intimidate,earthquake,knockoff,rockpolish,stoneedge": 9, "leftovers,intimidate,earthquake,knockoff,toxic,uturn": 12}, + "lanturn": {"choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch": 229, "leftovers,voltabsorb,icebeam,scald,thunderbolt,toxic": 203, "leftovers,voltabsorb,scald,thunderbolt,toxic,voltswitch": 233, "leftovers,voltabsorb,healbell,scald,thunderbolt,voltswitch": 180, "leftovers,voltabsorb,healbell,scald,thunderbolt,toxic": 197, "leftovers,voltabsorb,healbell,icebeam,scald,thunderbolt": 176}, + "lapras": {"leftovers,waterabsorb,freezedry,hydropump,protect,toxic": 584, "leftovers,waterabsorb,freezedry,healbell,hydropump,icebeam": 217, "leftovers,waterabsorb,freezedry,hydropump,icebeam,toxic": 249, "leftovers,waterabsorb,freezedry,healbell,hydropump,toxic": 80}, + "latias": {"dragoniumz,levitate,calmmind,dracometeor,psyshock,roost": 117, "choicespecs,levitate,dracometeor,healingwish,hiddenpowerfire,psyshock": 27, "souldew,levitate,defog,dracometeor,hiddenpowerfire,psyshock": 9, "choicespecs,levitate,dracometeor,hiddenpowerfire,psyshock,trick": 35, "souldew,levitate,calmmind,dracometeor,psyshock,roost": 21, "souldew,levitate,dracometeor,hiddenpowerfire,psyshock,roost": 18, "souldew,levitate,defog,dracometeor,psyshock,roost": 15, "souldew,levitate,calmmind,dracometeor,hiddenpowerfire,psyshock": 23}, + "latiasmega": {"latiasite,levitate,calmmind,dracometeor,psyshock,roost": 966}, + "latios": {"dragoniumz,levitate,calmmind,dracometeor,psyshock,roost": 110, "choicespecs,levitate,dracometeor,hiddenpowerfire,psyshock,thunderbolt": 9, "choicespecs,levitate,dracometeor,psyshock,surf,trick": 15, "choicespecs,levitate,dracometeor,hiddenpowerfire,psyshock,trick": 11, "choicespecs,levitate,dracometeor,psyshock,surf,thunderbolt": 16, "souldew,levitate,dracometeor,hiddenpowerfire,psyshock,roost": 12, "souldew,levitate,calmmind,dracometeor,psyshock,surf": 9, "souldew,levitate,calmmind,dracometeor,hiddenpowerfire,psyshock": 11, "souldew,levitate,calmmind,dracometeor,psyshock,thunderbolt": 8, "choicespecs,levitate,dracometeor,psyshock,thunderbolt,trick": 17, "choicespecs,levitate,dracometeor,hiddenpowerfire,psyshock,surf": 14, "souldew,levitate,dracometeor,psyshock,roost,thunderbolt": 9, "souldew,levitate,dracometeor,psyshock,roost,surf": 10, "souldew,levitate,calmmind,dracometeor,psyshock,roost": 7}, + "latiosmega": {"latiosite,levitate,calmmind,dracometeor,psyshock,roost": 1012}, + "leafeon": {"lifeorb,chlorophyll,doubleedge,knockoff,leafblade,swordsdance": 353, "lifeorb,chlorophyll,knockoff,leafblade,swordsdance,xscissor": 373, "lifeorb,chlorophyll,knockoff,leafblade,swordsdance,synthesis": 350}, + "leavanny": {"leftovers,chlorophyll,knockoff,leafblade,stickyweb,toxic": 313, "focussash,chlorophyll,knockoff,leafblade,stickyweb,toxic": 33, "leftovers,swarm,leafblade,stickyweb,toxic,xscissor": 272, "lifeorb,swarm,knockoff,leafblade,stickyweb,xscissor": 300, "focussash,swarm,knockoff,leafblade,stickyweb,xscissor": 32, "lifeorb,swarm,knockoff,leafblade,toxic,xscissor": 26, "focussash,swarm,leafblade,stickyweb,toxic,xscissor": 34, "focussash,chlorophyll,knockoff,leafblade,stickyweb,xscissor": 1, "lifeorb,chlorophyll,knockoff,leafblade,stickyweb,xscissor": 5, "focussash,chlorophyll,leafblade,stickyweb,toxic,xscissor": 1, "lifeorb,chlorophyll,knockoff,leafblade,toxic,xscissor": 1}, + "ledian": {"leftovers,earlybird,airslash,focusblast,roost,toxic": 274, "leftovers,earlybird,airslash,encore,roost,toxic": 275, "leftovers,earlybird,airslash,knockoff,roost,toxic": 260, "leftovers,earlybird,airslash,defog,roost,toxic": 203}, + "lickilicky": {"assaultvest,cloudnine,bodyslam,earthquake,knockoff,powerwhip": 42, "leftovers,cloudnine,explosion,knockoff,return,swordsdance": 43, "leftovers,oblivious,bodyslam,healbell,protect,wish": 112, "leftovers,oblivious,bodyslam,knockoff,protect,wish": 135, "assaultvest,owntempo,bodyslam,dragontail,earthquake,powerwhip": 46, "assaultvest,owntempo,bodyslam,earthquake,explosion,powerwhip": 40, "leftovers,oblivious,bodyslam,knockoff,powerwhip,swordsdance": 42, "assaultvest,owntempo,bodyslam,earthquake,knockoff,powerwhip": 42, "leftovers,cloudnine,earthquake,knockoff,return,swordsdance": 44, "leftovers,cloudnine,bodyslam,healbell,protect,wish": 113, "leftovers,cloudnine,bodyslam,knockoff,powerwhip,swordsdance": 41, "leftovers,cloudnine,knockoff,powerwhip,return,swordsdance": 54, "leftovers,cloudnine,bodyslam,explosion,knockoff,swordsdance": 34, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,powerwhip": 33, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,knockoff": 42, "assaultvest,owntempo,bodyslam,dragontail,earthquake,knockoff": 46, "leftovers,cloudnine,bodyslam,knockoff,protect,wish": 118, "leftovers,oblivious,knockoff,powerwhip,return,swordsdance": 37, "leftovers,cloudnine,bodyslam,earthquake,knockoff,swordsdance": 33, "assaultvest,owntempo,bodyslam,earthquake,explosion,knockoff": 27, "leftovers,oblivious,bodyslam,earthquake,knockoff,swordsdance": 59, "leftovers,oblivious,explosion,knockoff,return,swordsdance": 49, "leftovers,oblivious,earthquake,knockoff,return,swordsdance": 42, "assaultvest,owntempo,bodyslam,dragontail,earthquake,explosion": 44, "assaultvest,cloudnine,bodyslam,dragontail,earthquake,explosion": 37, "assaultvest,cloudnine,bodyslam,earthquake,explosion,powerwhip": 39, "leftovers,oblivious,bodyslam,explosion,knockoff,swordsdance": 38, "assaultvest,cloudnine,bodyslam,earthquake,explosion,knockoff": 31}, + "liepard": {"leftovers,prankster,copycat,encore,knockoff,thunderwave": 172, "lifeorb,prankster,gunkshot,knockoff,playrough,thunderwave": 700, "leftovers,prankster,encore,knockoff,substitute,thunderwave": 159, "leftovers,prankster,encore,knockoff,thunderwave,uturn": 266, "leftovers,prankster,copycat,knockoff,substitute,thunderwave": 189}, + "lilligant": {"lifeorb,owntempo,hiddenpowerrock,petaldance,quiverdance,sleeppowder": 299, "lifeorb,chlorophyll,gigadrain,hiddenpowerfire,quiverdance,sleeppowder": 317, "lifeorb,owntempo,hiddenpowerfire,petaldance,quiverdance,sleeppowder": 300, "lifeorb,chlorophyll,gigadrain,hiddenpowerrock,quiverdance,sleeppowder": 302}, + "linoone": {"wikiberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 279, "figyberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 302, "magoberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 281, "aguavberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 285, "iapapaberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 276}, + "lopunny": {"normaliumz,limber,brutalswing,highjumpkick,return,splash": 148, "choiceband,limber,brutalswing,healingwish,highjumpkick,return": 125, "choiceband,limber,brutalswing,highjumpkick,return,switcheroo": 96}, + "lopunnymega": {"lopunnite,limber,encore,highjumpkick,return,substitute": 175, "lopunnite,limber,encore,highjumpkick,poweruppunch,return": 171, "lopunnite,limber,fakeout,highjumpkick,poweruppunch,return": 163, "lopunnite,limber,encore,fakeout,highjumpkick,return": 136, "lopunnite,limber,highjumpkick,poweruppunch,return,substitute": 187, "lopunnite,limber,fakeout,highjumpkick,return,substitute": 182}, + "lucario": {"choiceband,justified,closecombat,crunch,extremespeed,meteormash": 80, "lifeorb,innerfocus,aurasphere,flashcannon,nastyplot,vacuumwave": 127, "lifeorb,justified,closecombat,extremespeed,meteormash,swordsdance": 71}, + "lucariomega": {"lucarionite,justified,aurasphere,flashcannon,nastyplot,vacuumwave": 470, "lucarionite,justified,closecombat,extremespeed,meteormash,swordsdance": 485}, + "ludicolo": {"lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance": 694, "choicespecs,swiftswim,energyball,hydropump,icebeam,scald": 659}, + "lugia": {"leftovers,multiscale,aeroblast,roost,toxic,whirlwind": 378, "leftovers,multiscale,aeroblast,earthquake,roost,toxic": 357, "leftovers,multiscale,aeroblast,roost,substitute,toxic": 386}, + "lumineon": {"leftovers,stormdrain,defog,icebeam,scald,uturn": 403, "leftovers,stormdrain,defog,scald,toxic,uturn": 393, "leftovers,stormdrain,defog,icebeam,scald,toxic": 400, "leftovers,stormdrain,icebeam,scald,toxic,uturn": 235}, + "lunala": {"lunaliumz,shadowshield,calmmind,moongeistbeam,psyshock,roost": 359, "lunaliumz,shadowshield,calmmind,moonblast,moongeistbeam,psyshock": 325, "leftovers,shadowshield,calmmind,moonblast,moongeistbeam,roost": 975}, + "lunatone": {"lifeorb,levitate,earthpower,powergem,psychic,rockpolish": 58, "leftovers,levitate,earthpower,moonlight,powergem,psychic": 105, "leftovers,levitate,moonlight,powergem,psychic,toxic": 109, "leftovers,levitate,moonlight,powergem,stealthrock,toxic": 46, "leftovers,levitate,earthpower,moonlight,psychic,stealthrock": 57, "lifeorb,levitate,earthpower,moonblast,powergem,rockpolish": 32, "choicespecs,levitate,earthpower,moonblast,powergem,psychic": 59, "lifeorb,levitate,earthpower,icebeam,moonlight,psychic": 32, "lifeorb,levitate,earthpower,icebeam,psychic,rockpolish": 22, "lifeorb,levitate,earthpower,icebeam,moonlight,powergem": 36, "choicespecs,levitate,earthpower,icebeam,moonblast,psychic": 30, "lifeorb,levitate,earthpower,moonlight,powergem,psychic": 67, "leftovers,levitate,moonlight,psychic,stealthrock,toxic": 47, "lifeorb,levitate,earthpower,moonblast,moonlight,powergem": 28, "leftovers,levitate,moonlight,powergem,psychic,stealthrock": 78, "leftovers,levitate,earthpower,moonlight,psychic,toxic": 69, "choicespecs,levitate,earthpower,icebeam,powergem,psychic": 58, "leftovers,levitate,earthpower,moonlight,powergem,toxic": 56, "leftovers,levitate,earthpower,moonlight,powergem,stealthrock": 42, "lifeorb,levitate,earthpower,moonblast,psychic,rockpolish": 34, "choicespecs,levitate,earthpower,icebeam,moonblast,powergem": 36, "lifeorb,levitate,earthpower,icebeam,powergem,rockpolish": 42, "lifeorb,levitate,earthpower,moonblast,moonlight,psychic": 37}, + "lurantis": {"leftovers,contrary,defog,leafstorm,superpower,synthesis": 156, "leftovers,contrary,hiddenpowerice,leafstorm,superpower,synthesis": 206, "assaultvest,contrary,hiddenpowerice,knockoff,leafstorm,superpower": 314, "assaultvest,contrary,hiddenpowerrock,knockoff,leafstorm,superpower": 316, "leftovers,contrary,knockoff,leafstorm,superpower,synthesis": 207}, + "luvdisc": {"leftovers,hydration,icebeam,protect,scald,toxic": 629, "leftovers,hydration,protect,scald,substitute,toxic": 687}, + "luxray": {"flameorb,guts,crunch,facade,superpower,wildcharge": 729, "assaultvest,intimidate,icefang,superpower,voltswitch,wildcharge": 255, "assaultvest,intimidate,crunch,icefang,superpower,wildcharge": 268, "assaultvest,intimidate,crunch,superpower,voltswitch,wildcharge": 247}, + "lycanroc": {"choiceband,sandrush,accelerock,drillrun,stoneedge,zenheadbutt": 82, "lifeorb,sandrush,drillrun,stoneedge,swordsdance,zenheadbutt": 86, "lycaniumz,sandrush,accelerock,drillrun,stoneedge,swordsdance": 81, "lifeorb,sandrush,accelerock,drillrun,stoneedge,swordsdance": 80, "lycaniumz,sandrush,drillrun,stoneedge,swordsdance,zenheadbutt": 87}, + "lycanrocdusk": {"lifeorb,toughclaws,accelerock,drillrun,stoneedge,swordsdance": 42, "lifeorb,toughclaws,drillrun,return,stoneedge,swordsdance": 39, "lycaniumz,toughclaws,drillrun,return,stoneedge,swordsdance": 65, "choiceband,toughclaws,accelerock,drillrun,return,stoneedge": 33, "lycaniumz,toughclaws,drillrun,stoneedge,swordsdance,zenheadbutt": 56, "choiceband,toughclaws,accelerock,drillrun,stoneedge,zenheadbutt": 45, "choiceband,toughclaws,drillrun,return,stoneedge,zenheadbutt": 42, "lycaniumz,toughclaws,accelerock,drillrun,stoneedge,swordsdance": 58, "lifeorb,toughclaws,drillrun,stoneedge,swordsdance,zenheadbutt": 41}, + "lycanrocmidnight": {"lifeorb,noguard,stompingtantrum,stoneedge,suckerpunch,swordsdance": 136, "lifeorb,noguard,stealthrock,stompingtantrum,stoneedge,suckerpunch": 112, "lycaniumz,noguard,stompingtantrum,stoneedge,suckerpunch,swordsdance": 171}, + "machamp": {"flameorb,guts,bulletpunch,closecombat,facade,knockoff": 504, "leftovers,noguard,bulkup,bulletpunch,dynamicpunch,knockoff": 179, "choiceband,noguard,bulletpunch,dynamicpunch,knockoff,stoneedge": 174, "assaultvest,noguard,bulletpunch,dynamicpunch,knockoff,stoneedge": 500, "leftovers,noguard,bulkup,dynamicpunch,knockoff,stoneedge": 183}, + "magcargo": {"firiumz,weakarmor,ancientpower,earthpower,fireblast,shellsmash": 224, "leftovers,flamebody,ancientpower,lavaplume,recover,toxic": 394, "leftovers,flamebody,lavaplume,recover,stealthrock,toxic": 316, "rockiumz,weakarmor,ancientpower,earthpower,fireblast,shellsmash": 236}, + "magearna": {"steeliumz,soulheart,aurasphere,fleurcannon,ironhead,shiftgear": 175, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,thunderwave": 23, "fairiumz,soulheart,aurasphere,fleurcannon,ironhead,shiftgear": 184, "leftovers,soulheart,aurasphere,fleurcannon,healbell,voltswitch": 14, "leftovers,soulheart,calmmind,flashcannon,fleurcannon,shiftgear": 482, "leftovers,soulheart,fleurcannon,healbell,painsplit,voltswitch": 28, "leftovers,soulheart,flashcannon,fleurcannon,thunderwave,voltswitch": 22, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,thunderwave": 26, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,painsplit": 21, "choicescarf,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch": 17, "leftovers,soulheart,fleurcannon,painsplit,thunderwave,voltswitch": 30, "leftovers,soulheart,flashcannon,fleurcannon,healbell,voltswitch": 33, "leftovers,soulheart,fleurcannon,healbell,thunderwave,voltswitch": 20, "leftovers,soulheart,flashcannon,fleurcannon,healbell,painsplit": 24, "leftovers,soulheart,flashcannon,fleurcannon,healbell,thunderwave": 17, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,voltswitch": 24, "choicespecs,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch": 11, "leftovers,soulheart,aurasphere,fleurcannon,painsplit,thunderwave": 26, "leftovers,soulheart,aurasphere,fleurcannon,painsplit,voltswitch": 21, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,healbell": 23, "leftovers,soulheart,aurasphere,fleurcannon,thunderwave,voltswitch": 27, "leftovers,soulheart,aurasphere,fleurcannon,healbell,thunderwave": 23, "leftovers,soulheart,aurasphere,fleurcannon,healbell,painsplit": 18, "leftovers,soulheart,fleurcannon,healbell,painsplit,thunderwave": 24}, + "magmortar": {"leftovers,flamebody,fireblast,focusblast,taunt,thunderbolt": 202, "leftovers,flamebody,earthquake,fireblast,taunt,thunderbolt": 168, "assaultvest,flamebody,earthquake,fireblast,focusblast,thunderbolt": 188, "assaultvest,flamebody,earthquake,fireblast,hiddenpowerice,thunderbolt": 201, "choicespecs,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 104, "leftovers,flamebody,fireblast,hiddenpowerice,taunt,thunderbolt": 180, "choicescarf,flamebody,fireblast,focusblast,hiddenpowerice,thunderbolt": 96}, + "magnezone": {"choicespecs,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 328, "leftovers,analytic,flashcannon,protect,thunderbolt,toxic": 649, "choicescarf,magnetpull,flashcannon,hiddenpowerground,thunderbolt,voltswitch": 271}, + "malamar": {"normaliumz,contrary,happyhour,knockoff,psychocut,superpower": 1281, "leftovers,contrary,knockoff,rest,sleeptalk,superpower": 267}, + "mamoswine": {"choiceband,thickfat,earthquake,iceshard,iciclecrash,knockoff": 701, "lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock": 524}, + "manaphy": {"wateriumz,hydration,energyball,icebeam,surf,tailglow": 1141, "leftovers,hydration,energyball,icebeam,surf,tailglow": 239}, + "mandibuzz": {"leftovers,overcoat,bravebird,knockoff,roost,toxic": 30, "leftovers,overcoat,defog,foulplay,roost,toxic": 84, "rockyhelmet,overcoat,defog,foulplay,roost,taunt": 116, "leftovers,overcoat,bravebird,foulplay,roost,uturn": 31, "leftovers,overcoat,defog,foulplay,roost,taunt": 96, "rockyhelmet,overcoat,defog,foulplay,roost,toxic": 75, "rockyhelmet,overcoat,foulplay,roost,taunt,toxic": 15, "leftovers,overcoat,defog,foulplay,roost,uturn": 87, "leftovers,overcoat,bravebird,foulplay,roost,taunt": 35, "leftovers,overcoat,foulplay,roost,taunt,uturn": 6, "leftovers,overcoat,bravebird,foulplay,roost,toxic": 34, "rockyhelmet,overcoat,bravebird,knockoff,roost,toxic": 43, "rockyhelmet,overcoat,foulplay,roost,taunt,uturn": 12, "leftovers,overcoat,foulplay,roost,taunt,toxic": 17, "rockyhelmet,overcoat,bravebird,foulplay,roost,uturn": 40, "rockyhelmet,overcoat,defog,foulplay,roost,uturn": 83, "rockyhelmet,overcoat,foulplay,roost,toxic,uturn": 13, "rockyhelmet,overcoat,bravebird,defog,knockoff,roost": 24, "leftovers,overcoat,bravebird,defog,knockoff,roost": 31, "rockyhelmet,overcoat,bravebird,foulplay,roost,toxic": 32, "rockyhelmet,overcoat,bravebird,foulplay,roost,taunt": 32, "rockyhelmet,overcoat,bravebird,defog,foulplay,roost": 37, "leftovers,overcoat,bravebird,knockoff,roost,uturn": 45, "rockyhelmet,overcoat,bravebird,knockoff,roost,uturn": 31, "rockyhelmet,overcoat,bravebird,knockoff,roost,taunt": 37, "leftovers,overcoat,bravebird,knockoff,roost,taunt": 33, "leftovers,overcoat,foulplay,roost,toxic,uturn": 15, "leftovers,overcoat,bravebird,defog,foulplay,roost": 20}, + "manectric": {"choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 171, "choicespecs,lightningrod,flamethrower,hiddenpowerice,thunderbolt,voltswitch": 174}, + "manectricmega": {"manectite,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 1107}, + "mantine": {"leftovers,waterabsorb,defog,roost,scald,toxic": 355, "leftovers,waterabsorb,defog,haze,roost,scald": 343, "leftovers,waterabsorb,airslash,defog,roost,scald": 392, "leftovers,waterabsorb,airslash,haze,roost,scald": 65, "leftovers,waterabsorb,haze,roost,scald,toxic": 65, "leftovers,waterabsorb,airslash,roost,scald,toxic": 69}, + "maractus": {"focussash,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 7, "leftovers,stormdrain,gigadrain,knockoff,spikes,toxic": 39, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,leechseed,spikyshield": 155, "leftovers,waterabsorb,gigadrain,knockoff,synthesis,toxic": 32, "leftovers,stormdrain,gigadrain,hiddenpowerice,leechseed,spikyshield": 140, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,toxic": 32, "leftovers,waterabsorb,gigadrain,hiddenpowerice,leechseed,spikyshield": 135, "leftovers,stormdrain,gigadrain,knockoff,spikes,synthesis": 31, "leftovers,stormdrain,gigadrain,hiddenpowerfire,leechseed,spikyshield": 153, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,synthesis": 26, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,synthesis": 24, "leftovers,waterabsorb,gigadrain,spikes,synthesis,toxic": 34, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,toxic": 40, "leftovers,stormdrain,gigadrain,spikes,synthesis,toxic": 30, "focussash,waterabsorb,gigadrain,knockoff,spikes,toxic": 4, "leftovers,stormdrain,gigadrain,knockoff,synthesis,toxic": 29, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,spikes": 26, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,spikes": 24, "lifeorb,stormdrain,gigadrain,hiddenpowerfire,knockoff,synthesis": 33, "lifeorb,waterabsorb,gigadrain,hiddenpowerfire,knockoff,synthesis": 18, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,synthesis,toxic": 22, "leftovers,stormdrain,gigadrain,hiddenpowerfire,spikes,toxic": 19, "leftovers,waterabsorb,gigadrain,knockoff,spikes,synthesis": 32, "leftovers,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 26, "leftovers,stormdrain,gigadrain,hiddenpowerfire,synthesis,toxic": 32, "focussash,waterabsorb,gigadrain,hiddenpowerfire,knockoff,spikes": 5, "focussash,stormdrain,gigadrain,knockoff,spikes,toxic": 9, "leftovers,waterabsorb,gigadrain,knockoff,spikes,toxic": 21, "focussash,waterabsorb,gigadrain,hiddenpowerfire,spikes,toxic": 2, "focussash,stormdrain,gigadrain,hiddenpowerfire,knockoff,spikes": 1}, + "marowak": {"thickclub,rockhead,doubleedge,earthquake,stealthrock,stoneedge": 122, "thickclub,battlearmor,earthquake,knockoff,stoneedge,swordsdance": 158, "thickclub,rockhead,doubleedge,earthquake,stoneedge,swordsdance": 169, "thickclub,battlearmor,earthquake,knockoff,stealthrock,stoneedge": 119, "thickclub,rockhead,doubleedge,earthquake,knockoff,stoneedge": 117}, + "marowakalola": {"thickclub,rockhead,flamecharge,flareblitz,shadowbone,stoneedge": 48, "thickclub,rockhead,flareblitz,shadowbone,stealthrock,willowisp": 46, "thickclub,rockhead,flareblitz,shadowbone,stoneedge,willowisp": 42, "thickclub,rockhead,flareblitz,shadowbone,stoneedge,swordsdance": 34, "thickclub,rockhead,earthquake,flareblitz,shadowbone,stoneedge": 45, "thickclub,rockhead,flamecharge,flareblitz,shadowbone,swordsdance": 51, "thickclub,rockhead,earthquake,flamecharge,flareblitz,shadowbone": 44, "thickclub,rockhead,flareblitz,shadowbone,swordsdance,willowisp": 52, "thickclub,rockhead,flareblitz,shadowbone,stealthrock,stoneedge": 45, "thickclub,rockhead,earthquake,flareblitz,shadowbone,swordsdance": 43, "thickclub,rockhead,earthquake,flareblitz,shadowbone,willowisp": 46, "thickclub,rockhead,flamecharge,flareblitz,shadowbone,willowisp": 41, "thickclub,rockhead,earthquake,flareblitz,shadowbone,stealthrock": 31}, + "marshadow": {"choiceband,technician,closecombat,rocktomb,shadowsneak,spectralthief": 309, "marshadiumz,technician,bulkup,closecombat,rocktomb,spectralthief": 336, "lifeorb,technician,bulkup,closecombat,rocktomb,spectralthief": 284, "lifeorb,technician,bulkup,closecombat,shadowsneak,spectralthief": 292, "marshadiumz,technician,bulkup,closecombat,shadowsneak,spectralthief": 298}, + "masquerain": {"leftovers,intimidate,airslash,bugbuzz,hydropump,quiverdance": 491, "leftovers,intimidate,airslash,roost,scald,stickyweb": 53, "leftovers,intimidate,airslash,bugbuzz,stickyweb,stunspore": 45, "leftovers,intimidate,airslash,roost,stickyweb,uturn": 47, "leftovers,intimidate,airslash,roost,scald,uturn": 1, "leftovers,intimidate,airslash,scald,stickyweb,stunspore": 46, "leftovers,intimidate,airslash,stickyweb,stunspore,uturn": 39, "leftovers,intimidate,airslash,roost,stickyweb,stunspore": 45, "leftovers,intimidate,airslash,bugbuzz,scald,stickyweb": 46, "leftovers,intimidate,airslash,bugbuzz,roost,stickyweb": 57, "focussash,intimidate,airslash,bugbuzz,stickyweb,stunspore": 3, "leftovers,intimidate,airslash,scald,stickyweb,uturn": 42, "leftovers,intimidate,airslash,bugbuzz,roost,uturn": 6, "leftovers,intimidate,airslash,bugbuzz,stickyweb,uturn": 38, "focussash,intimidate,airslash,stickyweb,stunspore,uturn": 4, "focussash,intimidate,airslash,bugbuzz,scald,stickyweb": 7, "focussash,intimidate,airslash,scald,stickyweb,uturn": 6, "focussash,intimidate,airslash,bugbuzz,stickyweb,uturn": 11, "focussash,intimidate,airslash,scald,stickyweb,stunspore": 6, "leftovers,intimidate,airslash,bugbuzz,scald,stunspore": 4, "leftovers,intimidate,airslash,roost,scald,stunspore": 1, "leftovers,intimidate,airslash,scald,stunspore,uturn": 1, "choicespecs,intimidate,airslash,bugbuzz,scald,uturn": 2}, + "mawile": {"lifeorb,sheerforce,ironhead,knockoff,playrough,swordsdance": 47, "lifeorb,sheerforce,ironhead,playrough,suckerpunch,swordsdance": 17, "leftovers,intimidate,ironhead,knockoff,playrough,stealthrock": 42, "lifeorb,sheerforce,ironhead,knockoff,playrough,stealthrock": 44, "lifeorb,sheerforce,ironhead,playrough,stealthrock,suckerpunch": 14, "leftovers,intimidate,ironhead,knockoff,playrough,swordsdance": 58, "leftovers,intimidate,ironhead,playrough,stealthrock,suckerpunch": 14, "leftovers,intimidate,ironhead,playrough,suckerpunch,swordsdance": 19}, + "mawilemega": {"mawilite,intimidate,ironhead,knockoff,playrough,swordsdance": 509, "mawilite,intimidate,ironhead,playrough,suckerpunch,swordsdance": 442}, + "medicham": {"choiceband,purepower,bulletpunch,highjumpkick,poisonjab,zenheadbutt": 112, "choiceband,purepower,bulletpunch,highjumpkick,icepunch,zenheadbutt": 101, "choicescarf,purepower,highjumpkick,icepunch,poisonjab,zenheadbutt": 64, "choiceband,purepower,highjumpkick,icepunch,poisonjab,zenheadbutt": 51}, + "medichammega": {"medichamite,purepower,highjumpkick,icepunch,thunderpunch,zenheadbutt": 369, "medichamite,purepower,fakeout,highjumpkick,icepunch,zenheadbutt": 378, "medichamite,purepower,fakeout,highjumpkick,thunderpunch,zenheadbutt": 371}, + "meganium": {"leftovers,overgrow,earthquake,energyball,synthesis,toxic": 262, "leftovers,overgrow,energyball,leechseed,synthesis,toxic": 337, "leftovers,overgrow,aromatherapy,energyball,synthesis,toxic": 264, "leftovers,overgrow,dragontail,energyball,synthesis,toxic": 296}, + "meloetta": {"choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn": 261, "lifeorb,serenegrace,closecombat,knockoff,relicsong,return": 537, "lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock": 271, "normaliumz,serenegrace,celebrate,focusblast,hypervoice,psyshock": 401}, + "meowstic": {"lightclay,prankster,lightscreen,psychic,reflect,thunderwave": 292, "leftovers,prankster,psychic,thunderwave,toxic,yawn": 106, "leftovers,prankster,healbell,psychic,thunderwave,yawn": 84, "leftovers,prankster,healbell,psychic,signalbeam,thunderwave": 68, "leftovers,prankster,psychic,signalbeam,thunderwave,toxic": 83, "leftovers,prankster,healbell,psychic,thunderwave,toxic": 95, "leftovers,prankster,psychic,signalbeam,thunderwave,yawn": 86}, + "meowsticf": {"choicespecs,competitive,darkpulse,psychic,signalbeam,thunderbolt": 139, "lifeorb,competitive,calmmind,psychic,signalbeam,thunderbolt": 132, "lifeorb,competitive,calmmind,darkpulse,psyshock,signalbeam": 161, "lifeorb,competitive,calmmind,darkpulse,psychic,signalbeam": 121, "lifeorb,competitive,calmmind,psyshock,signalbeam,thunderbolt": 123, "choicespecs,competitive,darkpulse,psyshock,signalbeam,thunderbolt": 121}, + "mesprit": {"lifeorb,levitate,calmmind,hiddenpowerfire,psychic,signalbeam": 68, "choicescarf,levitate,healingwish,hiddenpowerfire,psychic,signalbeam": 43, "choicespecs,levitate,hiddenpowerfire,psychic,signalbeam,uturn": 51, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 110, "lifeorb,levitate,calmmind,hiddenpowerfire,psyshock,signalbeam": 57, "lifeorb,levitate,calmmind,psyshock,signalbeam,thunderbolt": 46, "choicespecs,levitate,hiddenpowerfire,psyshock,signalbeam,uturn": 56, "lifeorb,levitate,calmmind,psychic,signalbeam,thunderbolt": 59, "choicescarf,levitate,healingwish,psyshock,signalbeam,thunderbolt": 51, "choicescarf,levitate,healingwish,psyshock,signalbeam,uturn": 47, "leftovers,levitate,knockoff,psychic,stealthrock,thunderwave": 98, "choicespecs,levitate,psyshock,signalbeam,thunderbolt,uturn": 50, "choicescarf,levitate,hiddenpowerfire,psyshock,signalbeam,thunderbolt": 20, "leftovers,levitate,knockoff,psychic,stealthrock,toxic": 98, "leftovers,levitate,knockoff,psychic,thunderwave,uturn": 163, "choicescarf,levitate,healingwish,psychic,signalbeam,thunderbolt": 35, "choicescarf,levitate,healingwish,psychic,signalbeam,uturn": 54, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 91, "choicescarf,levitate,hiddenpowerfire,psychic,signalbeam,thunderbolt": 27, "choicespecs,levitate,psychic,signalbeam,thunderbolt,uturn": 53, "leftovers,levitate,knockoff,psychic,toxic,uturn": 180, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 64, "choicescarf,levitate,healingwish,hiddenpowerfire,psyshock,signalbeam": 35, "choicespecs,levitate,hiddenpowerfire,psychic,signalbeam,thunderbolt": 20, "choicespecs,levitate,hiddenpowerfire,psyshock,signalbeam,thunderbolt": 17}, + "metagross": {"choiceband,clearbody,bulletpunch,earthquake,explosion,meteormash": 12, "weaknesspolicy,clearbody,agility,earthquake,icepunch,meteormash": 45, "leftovers,clearbody,earthquake,meteormash,stealthrock,zenheadbutt": 12, "weaknesspolicy,clearbody,agility,earthquake,meteormash,zenheadbutt": 38, "weaknesspolicy,clearbody,agility,earthquake,meteormash,thunderpunch": 41, "choiceband,clearbody,bulletpunch,earthquake,icepunch,meteormash": 8, "choiceband,clearbody,bulletpunch,earthquake,meteormash,thunderpunch": 8, "choiceband,clearbody,bulletpunch,earthquake,meteormash,zenheadbutt": 7, "leftovers,clearbody,earthquake,meteormash,stealthrock,thunderpunch": 8, "choicescarf,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 3, "choiceband,clearbody,earthquake,icepunch,meteormash,zenheadbutt": 6, "choicescarf,clearbody,earthquake,explosion,meteormash,zenheadbutt": 6, "leftovers,clearbody,bulletpunch,earthquake,meteormash,stealthrock": 6, "leftovers,clearbody,earthquake,explosion,meteormash,stealthrock": 8, "leftovers,clearbody,earthquake,icepunch,meteormash,stealthrock": 3, "choiceband,clearbody,earthquake,icepunch,meteormash,thunderpunch": 4, "choicescarf,clearbody,earthquake,meteormash,thunderpunch,zenheadbutt": 3, "choiceband,clearbody,earthquake,explosion,meteormash,zenheadbutt": 4, "choicescarf,clearbody,earthquake,explosion,meteormash,thunderpunch": 1, "choicescarf,clearbody,earthquake,icepunch,meteormash,thunderpunch": 3, "choiceband,clearbody,earthquake,explosion,icepunch,meteormash": 3}, + "metagrossmega": {"metagrossite,clearbody,earthquake,honeclaws,meteormash,zenheadbutt": 236, "metagrossite,clearbody,agility,hammerarm,meteormash,zenheadbutt": 157, "metagrossite,clearbody,agility,earthquake,meteormash,zenheadbutt": 160, "metagrossite,clearbody,hammerarm,honeclaws,meteormash,zenheadbutt": 248, "metagrossite,clearbody,earthquake,hammerarm,meteormash,zenheadbutt": 159}, + "mew": {"leftovers,synchronize,psychic,roost,stealthrock,uturn": 37, "lifeorb,synchronize,earthquake,leechlife,swordsdance,zenheadbutt": 523, "mewniumz,synchronize,earthpower,fireblast,nastyplot,psychic": 97, "leftovers,synchronize,psychic,roost,taunt,willowisp": 51, "leftovers,synchronize,defog,psychic,roost,uturn": 34, "leftovers,synchronize,psychic,roost,uturn,willowisp": 58, "mewniumz,synchronize,aurasphere,fireblast,nastyplot,psychic": 100, "leftovers,synchronize,knockoff,psychic,roost,stealthrock": 35, "mewniumz,synchronize,fireblast,nastyplot,psychic,roost": 54, "mewniumz,synchronize,aurasphere,nastyplot,psychic,roost": 41, "leftovers,synchronize,knockoff,psychic,roost,uturn": 38, "mewniumz,synchronize,aurasphere,earthpower,nastyplot,psychic": 119, "leftovers,synchronize,defog,psychic,roost,willowisp": 45, "leftovers,synchronize,defog,psychic,roost,taunt": 34, "leftovers,synchronize,knockoff,psychic,roost,willowisp": 51, "mewniumz,synchronize,earthpower,nastyplot,psychic,roost": 42, "leftovers,synchronize,defog,knockoff,psychic,roost": 42, "leftovers,synchronize,knockoff,psychic,roost,taunt": 47, "leftovers,synchronize,psychic,roost,taunt,uturn": 42, "leftovers,synchronize,psychic,roost,stealthrock,taunt": 32, "leftovers,synchronize,psychic,roost,stealthrock,willowisp": 36}, + "mewtwo": {"choicespecs,unnerve,aurasphere,fireblast,psystrike,shadowball": 48, "lifeorb,unnerve,fireblast,psystrike,recover,shadowball": 43, "lifeorb,unnerve,aurasphere,calmmind,fireblast,psystrike": 46, "lifeorb,unnerve,aurasphere,calmmind,psystrike,shadowball": 44, "lifeorb,unnerve,calmmind,fireblast,psystrike,shadowball": 30, "lifeorb,unnerve,aurasphere,psystrike,recover,shadowball": 41, "lifeorb,unnerve,calmmind,psystrike,recover,shadowball": 23, "lifeorb,unnerve,calmmind,fireblast,psystrike,recover": 21, "lifeorb,unnerve,aurasphere,calmmind,psystrike,recover": 26, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover": 40}, + "mewtwomegax": {"mewtwonitex,unnerve,bulkup,drainpunch,taunt,zenheadbutt": 291, "mewtwonitex,unnerve,bulkup,drainpunch,stoneedge,zenheadbutt": 278}, + "mewtwomegay": {"mewtwonitey,unnerve,aurasphere,calmmind,psystrike,recover": 78, "mewtwonitey,unnerve,aurasphere,calmmind,fireblast,psystrike": 135, "mewtwonitey,unnerve,calmmind,fireblast,psystrike,shadowball": 104, "mewtwonitey,unnerve,aurasphere,calmmind,psystrike,shadowball": 126, "mewtwonitey,unnerve,calmmind,fireblast,psystrike,recover": 76, "mewtwonitey,unnerve,calmmind,psystrike,recover,shadowball": 75}, + "mienshao": {"choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 98, "choiceband,reckless,highjumpkick,knockoff,poisonjab,uturn": 174, "choiceband,reckless,highjumpkick,knockoff,stoneedge,uturn": 170, "assaultvest,regenerator,fakeout,highjumpkick,knockoff,uturn": 730, "lifeorb,reckless,highjumpkick,knockoff,stoneedge,swordsdance": 160, "lifeorb,reckless,highjumpkick,knockoff,poisonjab,swordsdance": 156}, + "mightyena": {"choiceband,intimidate,crunch,irontail,playrough,suckerpunch": 708, "lifeorb,intimidate,crunch,playrough,suckerpunch,toxic": 735}, + "milotic": {"leftovers,marvelscale,icebeam,recover,scald,toxic": 224, "leftovers,competitive,dragontail,recover,scald,toxic": 203, "leftovers,competitive,icebeam,recover,scald,toxic": 237, "leftovers,marvelscale,haze,recover,scald,toxic": 221, "leftovers,competitive,haze,recover,scald,toxic": 251, "leftovers,marvelscale,dragontail,recover,scald,toxic": 215}, + "miltank": {"leftovers,thickfat,bodyslam,curse,earthquake,milkdrink": 201, "leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 162, "leftovers,sapsipper,bodyslam,earthquake,healbell,milkdrink": 189, "leftovers,thickfat,bodyslam,earthquake,milkdrink,stealthrock": 167, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,toxic": 215, "leftovers,sapsipper,bodyslam,curse,earthquake,milkdrink": 195, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,stealthrock": 154, "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 197}, + "mimikyu": {"mimikiumz,disguise,playrough,shadowclaw,shadowsneak,swordsdance": 693, "mimikiumz,disguise,drainpunch,playrough,shadowsneak,swordsdance": 665, "lifeorb,disguise,drainpunch,playrough,shadowsneak,swordsdance": 151, "lifeorb,disguise,playrough,shadowclaw,shadowsneak,swordsdance": 133}, + "minior": {"whiteherb,shieldsdown,acrobatics,earthquake,powergem,shellsmash": 1008}, + "minun": {"lifeorb,voltabsorb,grassknot,hiddenpowerice,nastyplot,thunderbolt": 660, "leftovers,voltabsorb,encore,hiddenpowerice,nastyplot,thunderbolt": 385, "leftovers,voltabsorb,hiddenpowerice,nastyplot,substitute,thunderbolt": 399}, + "mismagius": {"choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,trick": 155, "leftovers,levitate,dazzlinggleam,shadowball,taunt,willowisp": 268, "lifeorb,levitate,dazzlinggleam,nastyplot,shadowball,thunderbolt": 179, "leftovers,levitate,dazzlinggleam,painsplit,shadowball,taunt": 277, "lifeorb,levitate,dazzlinggleam,mysticalfire,nastyplot,shadowball": 188, "leftovers,levitate,dazzlinggleam,painsplit,shadowball,willowisp": 236, "choicespecs,levitate,dazzlinggleam,shadowball,thunderbolt,trick": 185, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,thunderbolt": 168}, + "moltres": {"leftovers,flamebody,defog,fireblast,hurricane,roost": 272, "leftovers,flamebody,fireblast,hurricane,roost,toxic": 330, "leftovers,flamebody,fireblast,hurricane,roost,willowisp": 303, "leftovers,flamebody,fireblast,hurricane,roost,uturn": 304}, + "mothim": {"buginiumz,tintedlens,airslash,bugbuzz,energyball,quiverdance": 864, "leftovers,tintedlens,airslash,bugbuzz,energyball,quiverdance": 134}, + "mrmime": {"lifeorb,filter,dazzlinggleam,encore,nastyplot,psyshock": 95, "lifeorb,filter,dazzlinggleam,encore,psychic,shadowball": 109, "lifeorb,filter,dazzlinggleam,encore,nastyplot,psychic": 110, "lifeorb,filter,dazzlinggleam,focusblast,nastyplot,psyshock": 93, "choicescarf,filter,dazzlinggleam,focusblast,healingwish,psychic": 115, "lifeorb,filter,dazzlinggleam,nastyplot,psyshock,shadowball": 89, "choicescarf,filter,dazzlinggleam,healingwish,psyshock,shadowball": 124, "choicescarf,filter,dazzlinggleam,healingwish,psychic,shadowball": 99, "lifeorb,filter,dazzlinggleam,encore,focusblast,psychic": 116, "choicescarf,filter,dazzlinggleam,focusblast,psyshock,shadowball": 35, "lifeorb,filter,dazzlinggleam,encore,focusblast,psyshock": 103, "lifeorb,filter,dazzlinggleam,nastyplot,psychic,shadowball": 86, "choicespecs,filter,dazzlinggleam,focusblast,psychic,shadowball": 37, "lifeorb,filter,dazzlinggleam,focusblast,nastyplot,psychic": 82, "choicescarf,filter,dazzlinggleam,focusblast,healingwish,psyshock": 90, "lifeorb,filter,dazzlinggleam,encore,psyshock,shadowball": 102, "choicescarf,filter,dazzlinggleam,focusblast,psychic,shadowball": 35, "choicespecs,filter,dazzlinggleam,focusblast,psyshock,shadowball": 36}, + "mudsdale": {"leftovers,stamina,closecombat,earthquake,rockslide,stealthrock": 181, "leftovers,stamina,closecombat,earthquake,rockslide,toxic": 217, "leftovers,stamina,earthquake,rockslide,stealthrock,toxic": 178, "leftovers,stamina,earthquake,heavyslam,rockslide,toxic": 215, "choiceband,stamina,closecombat,earthquake,heavyslam,rockslide": 240, "leftovers,stamina,earthquake,heavyslam,rockslide,stealthrock": 174}, + "muk": {"blacksludge,poisontouch,brickbreak,curse,icepunch,poisonjab": 62, "choiceband,poisontouch,brickbreak,icepunch,poisonjab,shadowsneak": 71, "blacksludge,poisontouch,brickbreak,curse,gunkshot,icepunch": 62, "blacksludge,poisontouch,brickbreak,gunkshot,haze,shadowsneak": 87, "blacksludge,poisontouch,brickbreak,curse,poisonjab,shadowsneak": 80, "blacksludge,poisontouch,brickbreak,gunkshot,haze,icepunch": 81, "blacksludge,poisontouch,brickbreak,curse,gunkshot,shadowsneak": 85, "blacksludge,poisontouch,brickbreak,haze,poisonjab,shadowsneak": 68, "blacksludge,poisontouch,brickbreak,haze,icepunch,poisonjab": 85, "choiceband,poisontouch,brickbreak,gunkshot,icepunch,shadowsneak": 59}, + "mukalola": {"iapapaberry,gluttony,curse,gunkshot,knockoff,recycle": 65, "wikiberry,gluttony,curse,gunkshot,knockoff,recycle": 92, "assaultvest,poisontouch,gunkshot,icepunch,knockoff,pursuit": 33, "figyberry,gluttony,curse,gunkshot,knockoff,recycle": 76, "assaultvest,poisontouch,firepunch,gunkshot,icepunch,knockoff": 45, "assaultvest,poisontouch,firepunch,knockoff,poisonjab,shadowsneak": 38, "assaultvest,poisontouch,icepunch,knockoff,poisonjab,pursuit": 28, "aguavberry,gluttony,curse,gunkshot,knockoff,recycle": 64, "assaultvest,poisontouch,firepunch,knockoff,poisonjab,pursuit": 20, "magoberry,gluttony,curse,gunkshot,knockoff,recycle": 86, "assaultvest,poisontouch,firepunch,gunkshot,knockoff,pursuit": 22, "assaultvest,poisontouch,gunkshot,knockoff,pursuit,shadowsneak": 30, "assaultvest,poisontouch,icepunch,knockoff,poisonjab,shadowsneak": 27, "assaultvest,poisontouch,firepunch,gunkshot,knockoff,shadowsneak": 33, "assaultvest,poisontouch,gunkshot,icepunch,knockoff,shadowsneak": 22, "assaultvest,poisontouch,firepunch,icepunch,knockoff,poisonjab": 19, "assaultvest,poisontouch,knockoff,poisonjab,pursuit,shadowsneak": 35}, + "musharna": {"rockyhelmet,synchronize,healbell,moonlight,psychic,thunderwave": 63, "rockyhelmet,synchronize,moonlight,psychic,signalbeam,toxic": 95, "rockyhelmet,synchronize,moonlight,psychic,signalbeam,thunderwave": 72, "leftovers,synchronize,calmmind,moonlight,psyshock,shadowball": 417, "leftovers,synchronize,healbell,moonlight,psychic,thunderwave": 71, "leftovers,synchronize,moonlight,psychic,signalbeam,toxic": 90, "leftovers,synchronize,healbell,moonlight,psychic,toxic": 94, "rockyhelmet,synchronize,healbell,moonlight,psychic,signalbeam": 68, "leftovers,synchronize,healbell,moonlight,psychic,signalbeam": 61, "leftovers,synchronize,calmmind,moonlight,psyshock,signalbeam": 369, "leftovers,synchronize,moonlight,psychic,signalbeam,thunderwave": 103, "rockyhelmet,synchronize,healbell,moonlight,psychic,toxic": 63}, + "naganadel": {"dragoniumz,beastboost,dracometeor,fireblast,nastyplot,sludgewave": 560, "choicespecs,beastboost,dracometeor,fireblast,sludgewave,uturn": 627, "lifeorb,beastboost,dracometeor,fireblast,nastyplot,sludgewave": 112}, + "necrozma": {"psychiumz,prismarmor,calmmind,heatwave,moonlight,photongeyser": 135, "lifeorb,prismarmor,earthquake,knockoff,photongeyser,swordsdance": 185, "leftovers,prismarmor,calmmind,heatwave,moonlight,photongeyser": 105, "leftovers,prismarmor,heatwave,moonlight,photongeyser,stealthrock": 89}, + "necrozmadawnwings": {"lifeorb,prismarmor,autotomize,calmmind,moongeistbeam,photongeyser": 38, "ultranecroziumz,prismarmor,calmmind,heatwave,moongeistbeam,photongeyser": 75, "lifeorb,prismarmor,calmmind,heatwave,moongeistbeam,photongeyser": 24, "lunaliumz,prismarmor,autotomize,heatwave,moongeistbeam,photongeyser": 56, "ultranecroziumz,prismarmor,calmmind,moongeistbeam,photongeyser,signalbeam": 72, "lunaliumz,prismarmor,autotomize,calmmind,moongeistbeam,photongeyser": 157, "lunaliumz,prismarmor,autotomize,moongeistbeam,photongeyser,signalbeam": 66, "lifeorb,prismarmor,calmmind,moongeistbeam,photongeyser,signalbeam": 19, "lifeorb,prismarmor,autotomize,moongeistbeam,photongeyser,signalbeam": 12, "lifeorb,prismarmor,autotomize,heatwave,moongeistbeam,photongeyser": 12}, + "necrozmaduskmane": {"ultranecroziumz,prismarmor,earthquake,photongeyser,sunsteelstrike,swordsdance": 57, "ultranecroziumz,prismarmor,knockoff,photongeyser,sunsteelstrike,swordsdance": 58, "solganiumz,prismarmor,autotomize,knockoff,photongeyser,sunsteelstrike": 57, "weaknesspolicy,prismarmor,autotomize,earthquake,photongeyser,sunsteelstrike": 11, "solganiumz,prismarmor,autotomize,photongeyser,sunsteelstrike,swordsdance": 110, "solganiumz,prismarmor,autotomize,earthquake,photongeyser,sunsteelstrike": 57, "leftovers,prismarmor,autotomize,earthquake,sunsteelstrike,swordsdance": 21, "leftovers,prismarmor,earthquake,knockoff,sunsteelstrike,swordsdance": 11, "weaknesspolicy,prismarmor,autotomize,earthquake,knockoff,sunsteelstrike": 9, "leftovers,prismarmor,earthquake,photongeyser,sunsteelstrike,swordsdance": 11}, + "nidoking": {"lifeorb,sheerforce,earthpower,icebeam,sludgewave,superpower": 409, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,substitute": 394, "lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 395}, + "nidoqueen": {"lifeorb,sheerforce,earthpower,fireblast,icebeam,sludgewave": 441, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,toxicspikes": 435, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,stealthrock": 359}, + "nihilego": {"choicescarf,beastboost,hiddenpowerfire,powergem,sludgewave,thunderbolt": 49, "airballoon,beastboost,hiddenpowerfire,powergem,sludgewave,stealthrock": 91, "choicescarf,beastboost,grassknot,hiddenpowerfire,powergem,sludgewave": 58, "airballoon,beastboost,hiddenpowerfire,powergem,sludgewave,toxicspikes": 127, "airballoon,beastboost,powergem,sludgewave,stealthrock,thunderbolt": 85, "choicespecs,beastboost,grassknot,hiddenpowerfire,powergem,sludgewave": 54, "airballoon,beastboost,powergem,sludgewave,thunderbolt,toxicspikes": 83, "choicespecs,beastboost,grassknot,powergem,sludgewave,thunderbolt": 51, "choicescarf,beastboost,grassknot,powergem,sludgewave,thunderbolt": 54, "choicescarf,beastboost,hiddenpowerground,powergem,sludgewave,thunderbolt": 61, "airballoon,beastboost,hiddenpowerground,powergem,sludgewave,toxicspikes": 90, "airballoon,beastboost,grassknot,powergem,sludgewave,stealthrock": 104, "airballoon,beastboost,hiddenpowerground,powergem,sludgewave,stealthrock": 81, "choicescarf,beastboost,grassknot,hiddenpowerground,powergem,sludgewave": 64, "choicespecs,beastboost,hiddenpowerfire,powergem,sludgewave,thunderbolt": 49, "airballoon,beastboost,grassknot,powergem,sludgewave,toxicspikes": 94, "choicespecs,beastboost,hiddenpowerground,powergem,sludgewave,thunderbolt": 55, "airballoon,beastboost,powergem,sludgewave,stealthrock,toxicspikes": 75, "choicespecs,beastboost,grassknot,hiddenpowerground,powergem,sludgewave": 43}, + "ninetales": {"lifeorb,drought,fireblast,hiddenpowerrock,nastyplot,solarbeam": 315, "leftovers,drought,fireblast,nastyplot,solarbeam,willowisp": 145, "leftovers,drought,fireblast,nastyplot,solarbeam,substitute": 152}, + "ninetalesalola": {"lightclay,snowwarning,auroraveil,blizzard,encore,moonblast": 141, "lightclay,snowwarning,auroraveil,blizzard,freezedry,moonblast": 149, "lightclay,snowwarning,auroraveil,blizzard,hiddenpowerground,moonblast": 156, "lightclay,snowwarning,auroraveil,blizzard,moonblast,nastyplot": 147}, + "ninjask": {"lifeorb,infiltrator,aerialace,leechlife,nightslash,swordsdance": 247, "choiceband,infiltrator,aerialace,leechlife,nightslash,uturn": 279, "groundiumz,infiltrator,aerialace,dig,leechlife,swordsdance": 442}, + "noctowl": {"leftovers,tintedlens,defog,hurricane,hypervoice,roost": 980, "leftovers,tintedlens,hurricane,hypervoice,roost,toxic": 157}, + "noivern": {"lifeorb,infiltrator,dracometeor,flamethrower,hurricane,roost": 252, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,switcheroo": 130, "lifeorb,infiltrator,boomburst,dracometeor,hurricane,roost": 121, "choicespecs,infiltrator,boomburst,dracometeor,hurricane,switcheroo": 141, "leftovers,infiltrator,dracometeor,hurricane,roost,uturn": 121, "choicespecs,infiltrator,boomburst,dracometeor,flamethrower,hurricane": 100, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,uturn": 125, "leftovers,infiltrator,defog,dracometeor,hurricane,uturn": 86, "lifeorb,infiltrator,defog,dracometeor,flamethrower,hurricane": 92, "leftovers,infiltrator,defog,dracometeor,hurricane,roost": 78}, + "octillery": {"lifeorb,sniper,energyball,fireblast,gunkshot,scald": 186, "choicespecs,sniper,energyball,fireblast,icebeam,scald": 151, "lifeorb,sniper,energyball,gunkshot,icebeam,scald": 188, "lifeorb,sniper,fireblast,gunkshot,icebeam,scald": 200, "lifeorb,sniper,energyball,fireblast,gunkshot,hydropump": 173, "choicespecs,sniper,energyball,fireblast,hydropump,icebeam": 184, "lifeorb,sniper,fireblast,gunkshot,hydropump,icebeam": 195, "lifeorb,sniper,energyball,gunkshot,hydropump,icebeam": 187}, + "omastar": {"whiteherb,shellarmor,hiddenpowergrass,hydropump,icebeam,shellsmash": 1147, "whiteherb,swiftswim,hiddenpowergrass,hydropump,icebeam,shellsmash": 8}, + "oranguru": {"choicespecs,innerfocus,focusblast,psyshock,thunderbolt,trick": 151, "lifeorb,innerfocus,focusblast,nastyplot,psychic,thunderbolt": 157, "choicespecs,innerfocus,focusblast,naturepower,psychic,thunderbolt": 123, "lifeorb,innerfocus,focusblast,nastyplot,psyshock,thunderbolt": 150, "choicespecs,innerfocus,naturepower,psyshock,thunderbolt,trick": 75, "choicespecs,innerfocus,focusblast,naturepower,psyshock,thunderbolt": 132, "choicespecs,innerfocus,focusblast,naturepower,psyshock,trick": 75, "lifeorb,innerfocus,focusblast,nastyplot,naturepower,psychic": 71, "choicespecs,innerfocus,focusblast,naturepower,psychic,trick": 75, "choicespecs,innerfocus,naturepower,psychic,thunderbolt,trick": 76, "lifeorb,innerfocus,focusblast,nastyplot,naturepower,psyshock": 69, "lifeorb,innerfocus,nastyplot,naturepower,psyshock,thunderbolt": 72, "choicespecs,innerfocus,focusblast,psychic,thunderbolt,trick": 151, "lifeorb,innerfocus,nastyplot,naturepower,psychic,thunderbolt": 63}, + "oricorio": {"leftovers,dancer,hurricane,revelationdance,roost,toxic": 185, "leftovers,dancer,calmmind,hurricane,revelationdance,roost": 200, "leftovers,dancer,defog,hurricane,revelationdance,roost": 180}, + "oricoriopau": {"leftovers,dancer,calmmind,hurricane,revelationdance,roost": 197, "leftovers,dancer,hurricane,revelationdance,roost,toxic": 205, "leftovers,dancer,defog,hurricane,revelationdance,roost": 150}, + "oricoriopompom": {"leftovers,dancer,defog,hurricane,revelationdance,roost": 162, "leftovers,dancer,hurricane,revelationdance,roost,toxic": 182, "leftovers,dancer,calmmind,hurricane,revelationdance,roost": 195}, + "oricoriosensu": {"leftovers,dancer,defog,hurricane,revelationdance,roost": 183, "leftovers,dancer,hurricane,revelationdance,roost,toxic": 216, "leftovers,dancer,calmmind,hurricane,revelationdance,roost": 189}, + "pachirisu": {"leftovers,voltabsorb,nuzzle,superfang,thunderbolt,toxic": 399, "leftovers,voltabsorb,superfang,thunderbolt,toxic,uturn": 394, "assaultvest,voltabsorb,nuzzle,superfang,thunderbolt,uturn": 336, "leftovers,voltabsorb,nuzzle,thunderbolt,toxic,uturn": 367}, + "palkia": {"lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave": 386, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend": 390, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend": 360, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave": 406}, + "palossand": {"leftovers,watercompaction,earthpower,shadowball,shoreup,toxic": 687, "leftovers,watercompaction,earthpower,shadowball,shoreup,stealthrock": 539}, + "pangoro": {"choiceband,ironfist,bulletpunch,gunkshot,knockoff,superpower": 166, "choiceband,ironfist,gunkshot,icepunch,knockoff,superpower": 160, "lifeorb,ironfist,drainpunch,gunkshot,knockoff,partingshot": 163, "lifeorb,scrappy,gunkshot,knockoff,partingshot,superpower": 179, "choiceband,ironfist,bulletpunch,drainpunch,gunkshot,knockoff": 155, "lifeorb,scrappy,gunkshot,knockoff,superpower,swordsdance": 159, "lifeorb,ironfist,drainpunch,gunkshot,knockoff,swordsdance": 171, "choiceband,ironfist,drainpunch,gunkshot,icepunch,knockoff": 165}, + "parasect": {"leftovers,dryskin,leechlife,seedbomb,spore,stunspore": 120, "leftovers,dryskin,knockoff,leechlife,spore,stunspore": 124, "leftovers,dryskin,aromatherapy,knockoff,leechlife,spore": 116, "leftovers,dryskin,knockoff,leechlife,spore,swordsdance": 135, "leftovers,dryskin,knockoff,leechlife,seedbomb,spore": 248, "leftovers,dryskin,aromatherapy,leechlife,seedbomb,spore": 130, "leftovers,dryskin,leechlife,seedbomb,spore,swordsdance": 126}, + "passimian": {"leftovers,defiant,bulkup,drainpunch,gunkshot,knockoff": 817, "choiceband,defiant,closecombat,earthquake,knockoff,uturn": 66, "choicescarf,defiant,closecombat,knockoff,rockslide,uturn": 61, "choiceband,defiant,closecombat,earthquake,gunkshot,knockoff": 61, "choiceband,defiant,closecombat,knockoff,rockslide,uturn": 65, "choiceband,defiant,closecombat,gunkshot,knockoff,uturn": 60, "choiceband,defiant,closecombat,gunkshot,knockoff,rockslide": 66, "choicescarf,defiant,closecombat,earthquake,knockoff,uturn": 60, "choicescarf,defiant,closecombat,gunkshot,knockoff,uturn": 62, "choicescarf,defiant,closecombat,earthquake,gunkshot,knockoff": 69, "choiceband,defiant,closecombat,earthquake,knockoff,rockslide": 55, "choicescarf,defiant,closecombat,earthquake,knockoff,rockslide": 52, "choicescarf,defiant,closecombat,gunkshot,knockoff,rockslide": 69}, + "pelipper": {"leftovers,drizzle,hurricane,knockoff,roost,scald": 232, "leftovers,drizzle,hurricane,roost,scald,uturn": 235, "choicespecs,drizzle,hurricane,hydropump,scald,uturn": 691, "leftovers,drizzle,defog,hurricane,roost,scald": 167}, + "persian": {"choiceband,limber,doubleedge,knockoff,seedbomb,uturn": 122, "lifeorb,technician,hiddenpowerfighting,hypervoice,nastyplot,shadowball": 256, "silkscarf,technician,doubleedge,fakeout,knockoff,uturn": 116, "silkscarf,technician,fakeout,knockoff,return,uturn": 124, "choiceband,limber,knockoff,return,seedbomb,uturn": 100}, + "persianalola": {"leftovers,furcoat,darkpulse,hypnosis,nastyplot,powergem": 23, "darkiniumz,furcoat,darkpulse,hiddenpowerfighting,hypnosis,nastyplot": 65, "darkiniumz,furcoat,darkpulse,hiddenpowerfighting,nastyplot,powergem": 133, "darkiniumz,furcoat,darkpulse,hiddenpowerfighting,nastyplot,thunderbolt": 148, "darkiniumz,furcoat,darkpulse,nastyplot,powergem,thunderbolt": 141, "darkiniumz,furcoat,darkpulse,hypnosis,nastyplot,powergem": 95, "leftovers,furcoat,darkpulse,hiddenpowerfighting,hypnosis,nastyplot": 19, "darkiniumz,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt": 71, "leftovers,furcoat,darkpulse,hiddenpowerfighting,nastyplot,thunderbolt": 21, "leftovers,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt": 12, "leftovers,furcoat,darkpulse,nastyplot,powergem,thunderbolt": 21, "leftovers,furcoat,darkpulse,hiddenpowerfighting,nastyplot,powergem": 11}, + "pheromosa": {"choiceband,beastboost,highjumpkick,poisonjab,throatchop,uturn": 531, "lifeorb,beastboost,highjumpkick,icebeam,poisonjab,throatchop": 445, "expertbelt,beastboost,highjumpkick,icebeam,throatchop,uturn": 481}, + "phione": {"leftovers,hydration,healbell,knockoff,scald,toxic": 139, "assaultvest,hydration,icebeam,knockoff,scald,uturn": 144, "leftovers,hydration,healbell,scald,toxic,uturn": 130, "leftovers,hydration,icebeam,knockoff,scald,toxic": 150, "leftovers,hydration,healbell,icebeam,knockoff,scald": 138, "leftovers,hydration,healbell,icebeam,scald,uturn": 137, "leftovers,hydration,healbell,knockoff,scald,uturn": 136, "leftovers,hydration,healbell,icebeam,scald,toxic": 128, "leftovers,hydration,icebeam,scald,toxic,uturn": 151, "leftovers,hydration,knockoff,scald,toxic,uturn": 140}, + "pidgeot": {"leftovers,bigpecks,bravebird,defog,return,roost": 26, "leftovers,bigpecks,bravebird,defog,heatwave,roost": 33, "leftovers,bigpecks,bravebird,heatwave,roost,uturn": 48, "leftovers,bigpecks,bravebird,heatwave,return,roost": 84, "leftovers,bigpecks,bravebird,return,roost,uturn": 38}, + "pidgeotmega": {"pidgeotite,bigpecks,defog,heatwave,hurricane,roost": 238, "pidgeotite,bigpecks,heatwave,hurricane,roost,uturn": 316, "pidgeotite,bigpecks,heatwave,hurricane,roost,workup": 364}, + "pikachu": {"lightball,lightningrod,extremespeed,knockoff,surf,volttackle": 89, "lightball,lightningrod,extremespeed,hiddenpowerice,surf,volttackle": 68, "lightball,lightningrod,extremespeed,hiddenpowerice,voltswitch,volttackle": 71, "lightball,lightningrod,grassknot,hiddenpowerice,knockoff,volttackle": 71, "lightball,lightningrod,grassknot,knockoff,surf,volttackle": 81, "lightball,lightningrod,grassknot,hiddenpowerice,voltswitch,volttackle": 68, "lightball,lightningrod,grassknot,surf,voltswitch,volttackle": 53, "lightball,lightningrod,extremespeed,grassknot,hiddenpowerice,volttackle": 94, "lightball,lightningrod,hiddenpowerice,knockoff,surf,volttackle": 102, "lightball,lightningrod,extremespeed,grassknot,knockoff,volttackle": 95, "lightball,lightningrod,knockoff,surf,voltswitch,volttackle": 43, "lightball,lightningrod,grassknot,hiddenpowerice,surf,volttackle": 97, "lightball,lightningrod,extremespeed,surf,voltswitch,volttackle": 74, "lightball,lightningrod,grassknot,knockoff,voltswitch,volttackle": 47, "lightball,lightningrod,extremespeed,grassknot,surf,volttackle": 87, "lightball,lightningrod,hiddenpowerice,surf,voltswitch,volttackle": 59, "lightball,lightningrod,extremespeed,hiddenpowerice,knockoff,volttackle": 86, "lightball,lightningrod,extremespeed,grassknot,voltswitch,volttackle": 73, "lightball,lightningrod,hiddenpowerice,knockoff,voltswitch,volttackle": 44, "lightball,lightningrod,extremespeed,knockoff,voltswitch,volttackle": 58}, + "pinsir": {"lifeorb,moxie,earthquake,knockoff,swordsdance,xscissor": 48, "choiceband,moxie,closecombat,earthquake,knockoff,xscissor": 20, "choiceband,moxie,closecombat,earthquake,stoneedge,xscissor": 16, "choiceband,moxie,earthquake,knockoff,stoneedge,xscissor": 12, "choicescarf,moxie,earthquake,knockoff,stoneedge,xscissor": 11, "lifeorb,moxie,earthquake,knockoff,stealthrock,xscissor": 33, "lifeorb,moxie,earthquake,stealthrock,stoneedge,xscissor": 32, "lifeorb,moxie,closecombat,earthquake,swordsdance,xscissor": 36, "choicescarf,moxie,closecombat,earthquake,stoneedge,xscissor": 12, "lifeorb,moxie,earthquake,stoneedge,swordsdance,xscissor": 26, "lifeorb,moxie,closecombat,earthquake,stealthrock,xscissor": 23, "choicescarf,moxie,closecombat,earthquake,knockoff,xscissor": 10}, + "pinsirmega": {"pinsirite,moxie,earthquake,quickattack,return,swordsdance": 418, "pinsirite,moxie,closecombat,quickattack,return,swordsdance": 390}, + "plusle": {"leftovers,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 378, "leftovers,lightningrod,hiddenpowerice,nastyplot,substitute,thunderbolt": 355, "lifeorb,lightningrod,grassknot,hiddenpowerice,nastyplot,thunderbolt": 767}, + "politoed": {"leftovers,drizzle,icebeam,protect,scald,toxic": 358, "chestoberry,drizzle,icebeam,rest,scald,toxic": 191, "leftovers,drizzle,encore,icebeam,scald,toxic": 170, "chestoberry,drizzle,encore,icebeam,rest,scald": 165, "leftovers,drizzle,encore,protect,scald,toxic": 338, "chestoberry,drizzle,encore,rest,scald,toxic": 172}, + "poliwrath": {"lifeorb,swiftswim,focusblast,icepunch,raindance,waterfall": 576, "leftovers,waterabsorb,circlethrow,rest,scald,sleeptalk": 592}, + "porygonz": {"lifeorb,download,nastyplot,shadowball,thunderbolt,triattack": 50, "choicescarf,download,icebeam,thunderbolt,triattack,trick": 72, "normaliumz,adaptability,conversion,icebeam,shadowball,thunderbolt": 519, "choicespecs,download,icebeam,shadowball,thunderbolt,triattack": 27, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack": 55, "choicescarf,download,icebeam,shadowball,thunderbolt,triattack": 35, "choicescarf,adaptability,shadowball,thunderbolt,triattack,trick": 52, "choicescarf,adaptability,icebeam,thunderbolt,triattack,trick": 55, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack": 77, "choicescarf,download,icebeam,shadowball,triattack,trick": 61, "lifeorb,adaptability,nastyplot,shadowball,thunderbolt,triattack": 64, "choicescarf,adaptability,icebeam,shadowball,triattack,trick": 78, "lifeorb,download,icebeam,nastyplot,shadowball,triattack": 59, "choicescarf,download,shadowball,thunderbolt,triattack,trick": 56, "lifeorb,adaptability,icebeam,nastyplot,shadowball,triattack": 55, "normaliumz,adaptability,conversion,icebeam,recover,thunderbolt": 97, "choicescarf,adaptability,icebeam,shadowball,thunderbolt,triattack": 18, "choicespecs,adaptability,icebeam,shadowball,thunderbolt,triattack": 48}, + "porygon2": {"eviolite,trace,discharge,recover,toxic,triattack": 216, "eviolite,trace,icebeam,recover,toxic,triattack": 235, "eviolite,download,icebeam,recover,toxic,triattack": 240, "eviolite,trace,discharge,icebeam,recover,triattack": 249, "eviolite,download,discharge,recover,toxic,triattack": 232, "eviolite,download,discharge,icebeam,recover,triattack": 231}, + "primarina": {"choicescarf,torrent,hydropump,moonblast,psychic,scald": 642, "choicespecs,torrent,hydropump,moonblast,psychic,scald": 686}, + "primeape": {"lifeorb,defiant,closecombat,gunkshot,honeclaws,stoneedge": 260, "choicescarf,defiant,closecombat,earthquake,gunkshot,throatchop": 51, "choicescarf,defiant,closecombat,gunkshot,stoneedge,throatchop": 56, "lifeorb,defiant,closecombat,honeclaws,stoneedge,throatchop": 243, "choicescarf,defiant,closecombat,earthquake,stoneedge,throatchop": 58, "choiceband,defiant,closecombat,earthquake,stoneedge,throatchop": 51, "lifeorb,defiant,closecombat,earthquake,honeclaws,stoneedge": 241, "choiceband,defiant,closecombat,earthquake,gunkshot,throatchop": 33, "choicescarf,defiant,closecombat,earthquake,stoneedge,uturn": 26, "choiceband,defiant,closecombat,earthquake,throatchop,uturn": 32, "choicescarf,defiant,closecombat,earthquake,gunkshot,uturn": 41, "choiceband,defiant,closecombat,earthquake,gunkshot,stoneedge": 42, "choiceband,defiant,closecombat,stoneedge,throatchop,uturn": 27, "choicescarf,defiant,closecombat,earthquake,gunkshot,stoneedge": 40, "choiceband,defiant,closecombat,gunkshot,stoneedge,uturn": 31, "choiceband,defiant,closecombat,gunkshot,throatchop,uturn": 33, "choicescarf,defiant,closecombat,gunkshot,throatchop,uturn": 33, "choiceband,defiant,closecombat,gunkshot,stoneedge,throatchop": 49, "choiceband,defiant,closecombat,earthquake,gunkshot,uturn": 29, "choicescarf,defiant,closecombat,gunkshot,stoneedge,uturn": 28, "choicescarf,defiant,closecombat,earthquake,throatchop,uturn": 30, "choicescarf,defiant,closecombat,stoneedge,throatchop,uturn": 22, "choiceband,defiant,closecombat,earthquake,stoneedge,uturn": 22}, + "probopass": {"airballoon,magnetpull,earthpower,flashcannon,stealthrock,toxic": 128, "airballoon,magnetpull,earthpower,powergem,stealthrock,toxic": 122, "airballoon,magnetpull,earthpower,flashcannon,stealthrock,voltswitch": 92, "airballoon,magnetpull,earthpower,flashcannon,stealthrock,thunderwave": 137, "airballoon,magnetpull,earthpower,flashcannon,toxic,voltswitch": 164, "airballoon,magnetpull,earthpower,powergem,thunderwave,voltswitch": 166, "airballoon,magnetpull,earthpower,flashcannon,thunderwave,voltswitch": 147, "airballoon,magnetpull,earthpower,powergem,toxic,voltswitch": 145, "airballoon,magnetpull,earthpower,powergem,stealthrock,thunderwave": 119, "airballoon,magnetpull,earthpower,powergem,stealthrock,voltswitch": 106}, + "purugly": {"silkscarf,defiant,fakeout,knockoff,return,uturn": 226, "choiceband,defiant,knockoff,return,stompingtantrum,uturn": 246, "silkscarf,thickfat,fakeout,knockoff,return,uturn": 243, "silkscarf,thickfat,fakeout,knockoff,return,stompingtantrum": 228, "silkscarf,defiant,fakeout,knockoff,return,stompingtantrum": 249, "choiceband,thickfat,knockoff,return,stompingtantrum,uturn": 250}, + "pyroar": {"lifeorb,unnerve,fireblast,hypervoice,solarbeam,sunnyday": 264, "lifeorb,unnerve,fireblast,hypervoice,willowisp,workup": 141, "lifeorb,unnerve,darkpulse,fireblast,hypervoice,workup": 116, "grassiumz,unnerve,fireblast,hypervoice,solarbeam,willowisp": 241, "lifeorb,unnerve,darkpulse,fireblast,hypervoice,willowisp": 113, "grassiumz,unnerve,darkpulse,fireblast,hypervoice,solarbeam": 249}, + "pyukumuku": {"leftovers,unaware,block,recover,soak,toxic": 1436}, + "quagsire": {"leftovers,unaware,earthquake,icebeam,recover,scald": 700, "leftovers,unaware,earthquake,recover,scald,toxic": 676}, + "qwilfish": {"blacksludge,intimidate,destinybond,spikes,taunt,waterfall": 109, "focussash,intimidate,spikes,taunt,toxicspikes,waterfall": 21, "blacksludge,intimidate,spikes,taunt,toxicspikes,waterfall": 109, "blacksludge,intimidate,taunt,thunderwave,toxicspikes,waterfall": 115, "blacksludge,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 120, "blacksludge,intimidate,destinybond,taunt,toxicspikes,waterfall": 111, "blacksludge,intimidate,destinybond,taunt,thunderwave,waterfall": 161, "focussash,intimidate,spikes,taunt,thunderwave,waterfall": 27, "blacksludge,intimidate,destinybond,spikes,thunderwave,waterfall": 107, "blacksludge,intimidate,spikes,thunderwave,toxicspikes,waterfall": 122, "blacksludge,intimidate,destinybond,spikes,toxicspikes,waterfall": 119, "focussash,intimidate,destinybond,spikes,toxicspikes,waterfall": 19, "focussash,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 22, "blacksludge,intimidate,spikes,taunt,thunderwave,waterfall": 108, "focussash,intimidate,destinybond,spikes,thunderwave,waterfall": 25, "focussash,intimidate,taunt,thunderwave,toxicspikes,waterfall": 23, "focussash,intimidate,destinybond,taunt,toxicspikes,waterfall": 16, "focussash,intimidate,spikes,thunderwave,toxicspikes,waterfall": 12, "focussash,intimidate,destinybond,spikes,taunt,waterfall": 20}, + "raichu": {"assaultvest,lightningrod,hiddenpowerice,knockoff,thunderbolt,voltswitch": 47, "lifeorb,lightningrod,focusblast,nastyplot,surf,thunderbolt": 58, "lifeorb,lightningrod,focusblast,grassknot,nastyplot,thunderbolt": 50, "choicespecs,lightningrod,focusblast,grassknot,surf,thunderbolt": 56, "choicespecs,lightningrod,focusblast,surf,thunderbolt,voltswitch": 48, "leftovers,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 68, "assaultvest,lightningrod,hiddenpowerice,knockoff,nuzzle,thunderbolt": 68, "lifeorb,lightningrod,encore,hiddenpowerice,knockoff,thunderbolt": 48, "choicespecs,lightningrod,focusblast,grassknot,thunderbolt,voltswitch": 54, "leftovers,lightningrod,encore,hiddenpowerice,thunderbolt,voltswitch": 47, "choicespecs,lightningrod,grassknot,surf,thunderbolt,voltswitch": 45, "focussash,lightningrod,encore,hiddenpowerice,nastyplot,thunderbolt": 19, "assaultvest,lightningrod,hiddenpowerice,nuzzle,thunderbolt,voltswitch": 66, "lifeorb,lightningrod,grassknot,nastyplot,surf,thunderbolt": 53, "leftovers,lightningrod,encore,hiddenpowerice,nuzzle,thunderbolt": 48}, + "raichualola": {"choicespecs,surgesurfer,focusblast,psyshock,surf,thunderbolt": 99, "choicespecs,surgesurfer,psyshock,surf,thunderbolt,voltswitch": 99, "lifeorb,surgesurfer,focusblast,nastyplot,psyshock,thunderbolt": 24, "lifeorb,surgesurfer,nastyplot,psyshock,surf,thunderbolt": 26, "aloraichiumz,surgesurfer,nastyplot,psyshock,surf,thunderbolt": 118, "aloraichiumz,surgesurfer,focusblast,nastyplot,psyshock,thunderbolt": 144, "choicespecs,surgesurfer,focusblast,psyshock,thunderbolt,voltswitch": 116}, + "raikou": {"choicespecs,pressure,aurasphere,hiddenpowerice,thunderbolt,voltswitch": 735, "leftovers,pressure,calmmind,hiddenpowerice,substitute,thunderbolt": 385, "leftovers,pressure,aurasphere,calmmind,hiddenpowerice,thunderbolt": 364}, + "rampardos": {"choicescarf,sheerforce,earthquake,firepunch,headsmash,rockslide": 565, "lifeorb,sheerforce,firepunch,rockpolish,rockslide,zenheadbutt": 178, "lifeorb,sheerforce,earthquake,rockpolish,rockslide,zenheadbutt": 209, "lifeorb,sheerforce,earthquake,firepunch,rockpolish,rockslide": 193}, + "rapidash": {"lifeorb,flashfire,flareblitz,highhorsepower,megahorn,morningsun": 133, "choiceband,flashfire,flareblitz,highhorsepower,megahorn,wildcharge": 226, "lifeorb,flashfire,flareblitz,highhorsepower,morningsun,wildcharge": 129, "leftovers,flashfire,flareblitz,morningsun,wildcharge,willowisp": 109, "leftovers,flashfire,flareblitz,highhorsepower,morningsun,wildcharge": 137, "leftovers,flamebody,flareblitz,highhorsepower,morningsun,willowisp": 80, "lifeorb,flashfire,flareblitz,megahorn,morningsun,wildcharge": 130, "leftovers,flamebody,flareblitz,morningsun,wildcharge,willowisp": 65, "leftovers,flamebody,flareblitz,highhorsepower,morningsun,wildcharge": 167, "leftovers,flashfire,flareblitz,highhorsepower,morningsun,willowisp": 62}, + "raticate": {"flameorb,guts,crunch,facade,stompingtantrum,swordsdance": 128, "flameorb,guts,crunch,facade,suckerpunch,swordsdance": 95, "flameorb,guts,crunch,facade,protect,stompingtantrum": 78, "flameorb,guts,crunch,facade,suckerpunch,uturn": 92, "flameorb,guts,crunch,facade,protect,suckerpunch": 90, "flameorb,guts,crunch,facade,stompingtantrum,uturn": 104, "flameorb,guts,crunch,facade,stompingtantrum,suckerpunch": 74, "flameorb,guts,crunch,facade,protect,uturn": 99}, + "raticatealola": {"lifeorb,hustle,doubleedge,knockoff,suckerpunch,swordsdance": 102, "normaliumz,hustle,doubleedge,knockoff,suckerpunch,swordsdance": 303, "blackglasses,hustle,doubleedge,knockoff,pursuit,suckerpunch": 92, "blackglasses,hustle,knockoff,pursuit,return,suckerpunch": 97, "lifeorb,hustle,knockoff,return,suckerpunch,swordsdance": 87}, + "rayquaza": {"flyiniumz,airlock,dragonascent,dragondance,earthquake,extremespeed": 66, "flyiniumz,airlock,dragonascent,dragondance,extremespeed,vcreate": 61, "flyiniumz,airlock,dragonascent,dragondance,earthquake,vcreate": 67, "lumberry,airlock,dragondance,earthquake,extremespeed,outrage": 8, "lumberry,airlock,extremespeed,outrage,swordsdance,vcreate": 12, "lumberry,airlock,dragondance,extremespeed,outrage,vcreate": 6, "lumberry,airlock,earthquake,extremespeed,outrage,swordsdance": 8, "lumberry,airlock,dragondance,earthquake,outrage,vcreate": 4}, + "rayquazamega": {"choiceband,airlock,dragonascent,earthquake,extremespeed,vcreate": 306, "lifeorb,airlock,dragonascent,dragondance,earthquake,vcreate": 226, "lifeorb,airlock,dragonascent,dragondance,extremespeed,vcreate": 213, "lifeorb,airlock,dragonascent,dragondance,earthquake,extremespeed": 238}, + "regice": {"weaknesspolicy,clearbody,focusblast,icebeam,rockpolish,thunderbolt": 372, "leftovers,clearbody,icebeam,protect,thunderbolt,toxic": 386, "leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 182, "leftovers,clearbody,focusblast,icebeam,thunderbolt,thunderwave": 183}, + "regigigas": {"leftovers,slowstart,knockoff,return,substitute,thunderwave": 520, "leftovers,slowstart,drainpunch,knockoff,return,thunderwave": 514, "leftovers,slowstart,drainpunch,knockoff,return,substitute": 483}, + "regirock": {"chestoberry,sturdy,curse,drainpunch,rest,stoneedge": 614, "leftovers,sturdy,drainpunch,earthquake,stealthrock,stoneedge": 58, "leftovers,sturdy,drainpunch,stealthrock,stoneedge,thunderwave": 87, "leftovers,sturdy,earthquake,stealthrock,stoneedge,toxic": 87, "leftovers,sturdy,drainpunch,earthquake,stoneedge,thunderwave": 99, "leftovers,sturdy,drainpunch,stealthrock,stoneedge,toxic": 75, "leftovers,sturdy,drainpunch,earthquake,stoneedge,toxic": 109, "leftovers,sturdy,earthquake,stealthrock,stoneedge,thunderwave": 71}, + "registeel": {"leftovers,clearbody,rest,seismictoss,sleeptalk,toxic": 422, "leftovers,clearbody,curse,ironhead,rest,sleeptalk": 375, "leftovers,clearbody,protect,seismictoss,stealthrock,toxic": 358, "leftovers,clearbody,protect,seismictoss,thunderwave,toxic": 50}, + "relicanth": {"leftovers,rockhead,headsmash,stealthrock,toxic,waterfall": 163, "choiceband,rockhead,doubleedge,earthquake,headsmash,waterfall": 299, "leftovers,rockhead,earthquake,headsmash,stealthrock,waterfall": 187, "leftovers,rockhead,earthquake,headsmash,toxic,waterfall": 209, "lifeorb,rockhead,earthquake,headsmash,rockpolish,waterfall": 285}, + "reshiram": {"leftovers,turboblaze,blueflare,defog,dracometeor,roost": 570, "leftovers,turboblaze,blueflare,dracometeor,roost,toxic": 742}, + "reuniclus": {"lifeorb,magicguard,calmmind,psychic,recover,signalbeam": 391, "lifeorb,magicguard,calmmind,psyshock,recover,signalbeam": 386, "lifeorb,magicguard,calmmind,focusblast,psyshock,recover": 385, "lifeorb,magicguard,calmmind,focusblast,psychic,recover": 408}, + "rhydon": {"eviolite,lightningrod,earthquake,stealthrock,stoneedge,toxic": 215, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance": 360, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge": 195, "eviolite,lightningrod,earthquake,megahorn,stoneedge,toxic": 261}, + "rhyperior": {"assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge": 166, "weaknesspolicy,solidrock,earthquake,icepunch,rockpolish,stoneedge": 254, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge": 263, "assaultvest,solidrock,dragontail,earthquake,icepunch,stoneedge": 175, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge": 174}, + "ribombee": {"leftovers,shielddust,aromatherapy,moonblast,stickyweb,uturn": 77, "lifeorb,shielddust,bugbuzz,hiddenpowerground,moonblast,quiverdance": 321, "leftovers,shielddust,moonblast,stickyweb,stunspore,uturn": 90, "leftovers,shielddust,aromatherapy,moonblast,roost,stickyweb": 98, "leftovers,shielddust,aromatherapy,moonblast,stickyweb,stunspore": 68, "leftovers,shielddust,moonblast,roost,stickyweb,stunspore": 103, "lifeorb,shielddust,hiddenpowerground,moonblast,quiverdance,roost": 122, "lifeorb,shielddust,bugbuzz,moonblast,quiverdance,roost": 144, "leftovers,shielddust,moonblast,roost,stickyweb,uturn": 92, "leftovers,shielddust,aromatherapy,moonblast,roost,uturn": 6, "focussash,shielddust,moonblast,stickyweb,stunspore,uturn": 19, "focussash,shielddust,aromatherapy,moonblast,stickyweb,stunspore": 8, "leftovers,shielddust,aromatherapy,moonblast,roost,stunspore": 6, "leftovers,shielddust,aromatherapy,moonblast,stunspore,uturn": 4, "focussash,shielddust,aromatherapy,moonblast,stickyweb,uturn": 6, "leftovers,shielddust,moonblast,roost,stunspore,uturn": 4}, + "roserade": {"lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 43, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 43, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,synthesis": 66, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 5, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 48, "lifeorb,technician,gigadrain,hiddenpowerground,sleeppowder,sludgebomb": 72, "blacksludge,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 58, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,synthesis": 56, "lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,spikes": 39, "lifeorb,technician,gigadrain,hiddenpowerground,sludgebomb,synthesis": 66, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,synthesis": 72, "blacksludge,naturalcure,leafstorm,sludgebomb,synthesis,toxicspikes": 61, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 57, "lifeorb,technician,hiddenpowerground,leafstorm,sleeppowder,sludgebomb": 62, "blacksludge,naturalcure,gigadrain,sludgebomb,synthesis,toxicspikes": 70, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 53, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,spikes": 51, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,synthesis": 51, "focussash,technician,gigadrain,hiddenpowerground,sludgebomb,spikes": 8, "focussash,naturalcure,gigadrain,sludgebomb,spikes,toxicspikes": 10, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,synthesis": 57, "focussash,naturalcure,gigadrain,sleeppowder,sludgebomb,toxicspikes": 11, "focussash,technician,hiddenpowerground,leafstorm,sludgebomb,spikes": 8, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 15, "focussash,technician,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 7, "blacksludge,naturalcure,gigadrain,sleeppowder,sludgebomb,spikes": 57, "lifeorb,technician,hiddenpowerground,leafstorm,sludgebomb,toxicspikes": 60, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 6, "focussash,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 6, "focussash,technician,gigadrain,hiddenpowerground,sludgebomb,toxicspikes": 6}, + "rotom": {"leftovers,levitate,shadowball,thunderbolt,voltswitch,willowisp": 30, "leftovers,levitate,defog,painsplit,shadowball,thunderbolt": 33, "leftovers,levitate,painsplit,shadowball,thunderbolt,willowisp": 52, "choicescarf,levitate,shadowball,thunderbolt,trick,voltswitch": 58, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,trick": 54, "lifeorb,levitate,hiddenpowerice,painsplit,shadowball,thunderbolt": 40, "choicespecs,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 18, "lifeorb,levitate,defog,hiddenpowerice,shadowball,thunderbolt": 39, "leftovers,levitate,painsplit,shadowball,thunderbolt,voltswitch": 50, "lifeorb,levitate,hiddenpowerice,shadowball,thunderbolt,willowisp": 46, "leftovers,levitate,defog,shadowball,thunderbolt,voltswitch": 30, "leftovers,levitate,defog,shadowball,thunderbolt,willowisp": 42, "choicescarf,levitate,hiddenpowerice,shadowball,thunderbolt,voltswitch": 12}, + "rotomfan": {"leftovers,levitate,airslash,defog,thunderbolt,willowisp": 99, "leftovers,levitate,airslash,defog,painsplit,thunderbolt": 93, "leftovers,levitate,airslash,defog,thunderbolt,voltswitch": 104, "leftovers,levitate,airslash,painsplit,thunderbolt,voltswitch": 23, "leftovers,levitate,airslash,painsplit,thunderbolt,willowisp": 12, "leftovers,levitate,airslash,thunderbolt,voltswitch,willowisp": 17}, + "rotomfrost": {"leftovers,levitate,blizzard,painsplit,thunderbolt,willowisp": 51, "leftovers,levitate,blizzard,thunderbolt,voltswitch,willowisp": 43, "choicescarf,levitate,blizzard,thunderbolt,trick,voltswitch": 72, "iciumz,levitate,blizzard,painsplit,thunderbolt,willowisp": 59, "leftovers,levitate,blizzard,painsplit,thunderbolt,voltswitch": 43, "iciumz,levitate,blizzard,painsplit,thunderbolt,voltswitch": 62, "iciumz,levitate,blizzard,thunderbolt,voltswitch,willowisp": 57}, + "rotomheat": {"choicescarf,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 23, "leftovers,levitate,overheat,thunderbolt,voltswitch,willowisp": 69, "leftovers,levitate,overheat,painsplit,thunderbolt,voltswitch": 80, "leftovers,levitate,overheat,painsplit,thunderbolt,willowisp": 65, "leftovers,levitate,hiddenpowerice,overheat,thunderbolt,willowisp": 82, "leftovers,levitate,hiddenpowerice,overheat,painsplit,thunderbolt": 63, "choicespecs,levitate,hiddenpowerice,overheat,thunderbolt,voltswitch": 31}, + "rotommow": {"choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,trick": 73, "choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch": 66, "choicespecs,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 27, "lifeorb,levitate,defog,hiddenpowerice,leafstorm,thunderbolt": 32, "leftovers,levitate,leafstorm,thunderbolt,voltswitch,willowisp": 48, "leftovers,levitate,defog,leafstorm,thunderbolt,voltswitch": 35, "lifeorb,levitate,hiddenpowerice,leafstorm,thunderbolt,willowisp": 63, "leftovers,levitate,defog,leafstorm,thunderbolt,willowisp": 45, "choicescarf,levitate,hiddenpowerice,leafstorm,thunderbolt,voltswitch": 29}, + "rotomwash": {"leftovers,levitate,hydropump,painsplit,thunderbolt,voltswitch": 53, "leftovers,levitate,hydropump,painsplit,thunderbolt,willowisp": 61, "choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch": 92, "leftovers,levitate,defog,hydropump,thunderbolt,voltswitch": 36, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp": 57, "leftovers,levitate,defog,hydropump,painsplit,thunderbolt": 61, "leftovers,levitate,defog,hydropump,thunderbolt,willowisp": 40}, + "sableye": {"leftovers,prankster,foulplay,recover,taunt,toxic": 50, "leftovers,prankster,knockoff,recover,toxic,willowisp": 62, "leftovers,prankster,knockoff,recover,taunt,toxic": 53, "leftovers,prankster,knockoff,recover,taunt,willowisp": 53, "leftovers,prankster,foulplay,recover,toxic,willowisp": 47, "leftovers,prankster,foulplay,recover,taunt,willowisp": 50}, + "sableyemega": {"sablenite,prankster,calmmind,darkpulse,recover,willowisp": 1174}, + "salamence": {"flyiniumz,moxie,dragondance,earthquake,fly,outrage": 218, "lumberry,moxie,dragondance,earthquake,outrage,roost": 10, "lumberry,intimidate,dragondance,earthquake,outrage,roost": 19}, + "salamencemega": {"salamencite,intimidate,doubleedge,dragondance,earthquake,roost": 247, "salamencite,intimidate,doubleedge,earthquake,fireblast,roost": 86, "salamencite,intimidate,dragondance,earthquake,return,roost": 251, "salamencite,intimidate,earthquake,fireblast,return,roost": 72, "salamencite,intimidate,doubleedge,dracometeor,earthquake,roost": 81, "salamencite,intimidate,dracometeor,earthquake,return,roost": 86, "salamencite,intimidate,doubleedge,dracometeor,fireblast,roost": 83, "salamencite,intimidate,dracometeor,fireblast,return,roost": 73}, + "salazzle": {"blacksludge,corrosion,flamethrower,protect,substitute,toxic": 670, "dragoniumz,corrosion,dragonpulse,fireblast,nastyplot,sludgewave": 281, "firiumz,corrosion,fireblast,hiddenpowergrass,nastyplot,sludgewave": 139, "firiumz,corrosion,dragonpulse,fireblast,nastyplot,sludgewave": 142}, + "samurott": {"assaultvest,torrent,aquajet,grassknot,hydropump,icebeam": 20, "choiceband,torrent,knockoff,liquidation,megahorn,sacredsword": 56, "choiceband,torrent,aquajet,knockoff,liquidation,megahorn": 81, "lifeorb,torrent,aquajet,liquidation,sacredsword,swordsdance": 37, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff": 16, "choiceband,torrent,aquajet,liquidation,megahorn,sacredsword": 65, "assaultvest,torrent,aquajet,grassknot,sacredsword,scald": 14, "assaultvest,torrent,hydropump,knockoff,megahorn,sacredsword": 25, "assaultvest,torrent,hydropump,icebeam,knockoff,megahorn": 8, "lifeorb,torrent,knockoff,liquidation,megahorn,swordsdance": 74, "assaultvest,torrent,aquajet,grassknot,hydropump,sacredsword": 11, "assaultvest,torrent,aquajet,grassknot,hydropump,megahorn": 26, "choiceband,torrent,aquajet,knockoff,liquidation,sacredsword": 85, "assaultvest,torrent,aquajet,icebeam,megahorn,scald": 20, "assaultvest,torrent,hydropump,icebeam,megahorn,sacredsword": 29, "lifeorb,torrent,aquajet,liquidation,megahorn,swordsdance": 36, "assaultvest,torrent,aquajet,grassknot,hydropump,knockoff": 17, "assaultvest,torrent,aquajet,knockoff,sacredsword,scald": 19, "lifeorb,torrent,liquidation,megahorn,sacredsword,swordsdance": 65, "assaultvest,torrent,aquajet,knockoff,megahorn,scald": 19, "assaultvest,torrent,icebeam,knockoff,megahorn,scald": 13, "assaultvest,torrent,aquajet,hydropump,knockoff,megahorn": 21, "assaultvest,torrent,knockoff,megahorn,sacredsword,scald": 11, "assaultvest,torrent,aquajet,hydropump,knockoff,sacredsword": 19, "assaultvest,torrent,hydropump,icebeam,knockoff,sacredsword": 19, "assaultvest,torrent,aquajet,hydropump,icebeam,knockoff": 16, "lifeorb,torrent,knockoff,liquidation,sacredsword,swordsdance": 94, "assaultvest,torrent,grassknot,hydropump,icebeam,megahorn": 16, "assaultvest,torrent,grassknot,hydropump,knockoff,sacredsword": 22, "lifeorb,torrent,aquajet,knockoff,liquidation,swordsdance": 46, "assaultvest,torrent,aquajet,megahorn,sacredsword,scald": 16, "assaultvest,torrent,grassknot,icebeam,megahorn,scald": 15, "assaultvest,torrent,aquajet,grassknot,megahorn,scald": 21, "assaultvest,torrent,aquajet,icebeam,knockoff,scald": 13, "assaultvest,torrent,grassknot,hydropump,icebeam,sacredsword": 22, "assaultvest,torrent,aquajet,hydropump,icebeam,sacredsword": 8, "choicescarf,torrent,knockoff,liquidation,megahorn,sacredsword": 80, "assaultvest,torrent,aquajet,hydropump,megahorn,sacredsword": 20, "assaultvest,torrent,grassknot,hydropump,megahorn,sacredsword": 16, "assaultvest,torrent,grassknot,knockoff,sacredsword,scald": 19, "assaultvest,torrent,icebeam,knockoff,sacredsword,scald": 18, "assaultvest,torrent,aquajet,icebeam,sacredsword,scald": 14, "assaultvest,torrent,grassknot,icebeam,knockoff,scald": 15, "assaultvest,torrent,aquajet,grassknot,knockoff,scald": 19, "assaultvest,torrent,icebeam,megahorn,sacredsword,scald": 14, "assaultvest,torrent,aquajet,grassknot,icebeam,scald": 18, "assaultvest,torrent,aquajet,hydropump,icebeam,megahorn": 18, "assaultvest,torrent,grassknot,hydropump,knockoff,megahorn": 23, "assaultvest,torrent,grassknot,icebeam,sacredsword,scald": 14, "assaultvest,torrent,grassknot,knockoff,megahorn,scald": 19, "assaultvest,torrent,grassknot,megahorn,sacredsword,scald": 24}, + "sandslash": {"leftovers,sandrush,earthquake,knockoff,stealthrock,stoneedge": 82, "leftovers,sandrush,earthquake,knockoff,rapidspin,toxic": 37, "leftovers,sandrush,earthquake,knockoff,stoneedge,toxic": 93, "leftovers,sandrush,earthquake,knockoff,stoneedge,swordsdance": 158, "leftovers,sandrush,earthquake,knockoff,rapidspin,stealthrock": 28, "leftovers,sandrush,earthquake,stealthrock,stoneedge,toxic": 44, "leftovers,sandrush,earthquake,rapidspin,stoneedge,toxic": 32, "assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge": 61, "leftovers,sandrush,earthquake,rapidspin,stealthrock,stoneedge": 36, "leftovers,sandrush,earthquake,knockoff,stealthrock,toxic": 45}, + "sandslashalola": {"leftovers,slushrush,iciclecrash,ironhead,knockoff,swordsdance": 112, "leftovers,slushrush,earthquake,iciclecrash,ironhead,swordsdance": 109, "leftovers,slushrush,earthquake,iciclecrash,ironhead,stealthrock": 71, "leftovers,slushrush,iciclecrash,ironhead,knockoff,stealthrock": 74, "assaultvest,slushrush,earthquake,iciclecrash,ironhead,rapidspin": 65, "choiceband,slushrush,earthquake,iciclecrash,ironhead,knockoff": 46, "assaultvest,slushrush,iciclecrash,ironhead,knockoff,rapidspin": 56, "leftovers,slushrush,iciclecrash,ironhead,rapidspin,stealthrock": 63, "choicescarf,slushrush,earthquake,iciclecrash,ironhead,knockoff": 32}, + "sawk": {"choicescarf,sturdy,closecombat,knockoff,poisonjab,stoneedge": 60, "leftovers,sturdy,bulkup,closecombat,knockoff,stoneedge": 142, "choiceband,sturdy,closecombat,knockoff,poisonjab,stoneedge": 61, "choicescarf,sturdy,closecombat,earthquake,knockoff,poisonjab": 66, "choiceband,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 88, "leftovers,sturdy,bulkup,closecombat,knockoff,poisonjab": 134, "choicescarf,moldbreaker,closecombat,earthquake,knockoff,stoneedge": 72, "lifeorb,moldbreaker,bulkup,closecombat,knockoff,stoneedge": 132, "choiceband,sturdy,closecombat,earthquake,knockoff,poisonjab": 53, "choiceband,moldbreaker,closecombat,earthquake,knockoff,poisonjab": 53, "leftovers,sturdy,bulkup,closecombat,earthquake,knockoff": 125, "lifeorb,moldbreaker,bulkup,closecombat,earthquake,knockoff": 136, "lifeorb,moldbreaker,bulkup,closecombat,knockoff,poisonjab": 134, "choicescarf,moldbreaker,closecombat,earthquake,knockoff,poisonjab": 54, "choicescarf,sturdy,closecombat,earthquake,knockoff,stoneedge": 60, "choiceband,moldbreaker,closecombat,earthquake,knockoff,stoneedge": 61, "choiceband,sturdy,closecombat,earthquake,knockoff,stoneedge": 63, "choicescarf,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 62}, + "sawsbuck": {"leftovers,sapsipper,hornleech,return,substitute,swordsdance": 244, "lifeorb,serenegrace,headbutt,hornleech,jumpkick,swordsdance": 254, "leftovers,serenegrace,headbutt,hornleech,substitute,swordsdance": 258, "lifeorb,sapsipper,hornleech,jumpkick,return,swordsdance": 279}, + "sceptile": {"lifeorb,overgrow,earthquake,hiddenpowerfire,leafstorm,rockslide": 13, "leftovers,overgrow,gigadrain,hiddenpowerfire,leechseed,substitute": 52, "leftovers,overgrow,gigadrain,hiddenpowerice,leechseed,substitute": 55, "lifeorb,overgrow,focusblast,hiddenpowerfire,leafstorm,rockslide": 16, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerfire,rockslide": 8, "lifeorb,overgrow,earthquake,focusblast,gigadrain,hiddenpowerice": 6, "lifeorb,overgrow,earthquake,focusblast,gigadrain,rockslide": 3, "lifeorb,overgrow,earthquake,gigadrain,hiddenpowerfire,rockslide": 17, "lifeorb,overgrow,earthquake,focusblast,hiddenpowerfire,leafstorm": 8, "lifeorb,overgrow,earthquake,gigadrain,hiddenpowerice,rockslide": 7, "lifeorb,overgrow,earthquake,focusblast,gigadrain,hiddenpowerfire": 5, "lifeorb,overgrow,focusblast,hiddenpowerice,leafstorm,rockslide": 4, "lifeorb,overgrow,earthquake,focusblast,hiddenpowerice,leafstorm": 5, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerice,rockslide": 7, "lifeorb,overgrow,earthquake,hiddenpowerice,leafstorm,rockslide": 11, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide": 2}, + "sceptilemega": {"sceptilite,overgrow,earthquake,leafblade,outrage,swordsdance": 501, "sceptilite,overgrow,dragonpulse,earthquake,focusblast,leafstorm": 64, "sceptilite,overgrow,dragonpulse,focusblast,gigadrain,substitute": 86, "sceptilite,overgrow,dragonpulse,focusblast,leafstorm,substitute": 76, "sceptilite,overgrow,dragonpulse,earthquake,focusblast,gigadrain": 73, "sceptilite,overgrow,dragonpulse,earthquake,leafstorm,substitute": 83, "sceptilite,overgrow,dragonpulse,earthquake,gigadrain,substitute": 67}, + "scizor": {"leftovers,technician,bulletpunch,defog,knockoff,roost": 35, "choiceband,technician,bulletpunch,knockoff,superpower,uturn": 95, "leftovers,technician,bulletpunch,defog,roost,superpower": 31, "lifeorb,technician,bugbite,bulletpunch,knockoff,swordsdance": 18, "lifeorb,technician,bugbite,bulletpunch,superpower,swordsdance": 27, "choiceband,technician,bulletpunch,pursuit,superpower,uturn": 29, "leftovers,technician,bulletpunch,defog,roost,uturn": 34, "lifeorb,technician,bugbite,bulletpunch,roost,swordsdance": 17, "lifeorb,technician,bulletpunch,knockoff,superpower,swordsdance": 22, "lifeorb,technician,bulletpunch,roost,superpower,swordsdance": 9, "lifeorb,technician,bulletpunch,knockoff,roost,swordsdance": 10, "leftovers,technician,bulletpunch,knockoff,roost,superpower": 7, "leftovers,technician,bulletpunch,roost,superpower,uturn": 9, "leftovers,technician,bulletpunch,knockoff,roost,uturn": 8}, + "scizormega": {"scizorite,lightmetal,bulletpunch,knockoff,roost,superpower": 37, "scizorite,lightmetal,bulletpunch,defog,knockoff,roost": 135, "scizorite,lightmetal,bulletpunch,defog,roost,uturn": 142, "scizorite,lightmetal,bulletpunch,knockoff,roost,swordsdance": 170, "scizorite,lightmetal,bulletpunch,roost,superpower,swordsdance": 191, "scizorite,lightmetal,bugbite,bulletpunch,roost,swordsdance": 161, "scizorite,lightmetal,bulletpunch,defog,roost,superpower": 133, "scizorite,lightmetal,bulletpunch,roost,superpower,uturn": 40, "scizorite,lightmetal,bulletpunch,knockoff,roost,uturn": 22}, + "scolipede": {"lifeorb,speedboost,earthquake,megahorn,poisonjab,toxicspikes": 195, "lifeorb,speedboost,earthquake,megahorn,poisonjab,swordsdance": 617, "lifeorb,speedboost,megahorn,poisonjab,spikes,toxicspikes": 204, "lifeorb,speedboost,earthquake,megahorn,poisonjab,spikes": 215}, + "scrafty": {"leftovers,shedskin,bulkup,drainpunch,knockoff,rest": 616, "lifeorb,intimidate,dragondance,highjumpkick,ironhead,knockoff": 339, "lifeorb,moxie,dragondance,highjumpkick,ironhead,knockoff": 350}, + "scyther": {"choiceband,technician,aerialace,brickbreak,knockoff,uturn": 381, "eviolite,technician,aerialace,bugbite,knockoff,swordsdance": 115, "eviolite,technician,aerialace,brickbreak,bugbite,swordsdance": 89, "choiceband,technician,aerialace,brickbreak,pursuit,uturn": 129, "eviolite,technician,aerialace,brickbreak,knockoff,swordsdance": 109, "eviolite,technician,aerialace,brickbreak,roost,swordsdance": 63, "eviolite,technician,aerialace,knockoff,roost,swordsdance": 60, "eviolite,technician,aerialace,bugbite,roost,swordsdance": 68}, + "seaking": {"lifeorb,lightningrod,drillrun,icebeam,knockoff,waterfall": 237, "lifeorb,lightningrod,icebeam,knockoff,megahorn,waterfall": 246, "lifeorb,swiftswim,icebeam,knockoff,raindance,waterfall": 215, "lifeorb,swiftswim,drillrun,knockoff,raindance,waterfall": 251, "lifeorb,swiftswim,knockoff,megahorn,raindance,waterfall": 243, "choiceband,lightningrod,drillrun,knockoff,megahorn,waterfall": 262}, + "seismitoad": {"lifeorb,swiftswim,earthquake,hydropump,raindance,sludgewave": 240, "leftovers,waterabsorb,earthquake,protect,scald,toxic": 495, "lifeorb,swiftswim,earthquake,hydropump,knockoff,raindance": 240, "leftovers,waterabsorb,earthquake,knockoff,scald,stealthrock": 130, "leftovers,waterabsorb,earthquake,scald,stealthrock,toxic": 138, "leftovers,waterabsorb,earthquake,knockoff,scald,toxic": 183}, + "serperior": {"leftovers,contrary,defog,glare,hiddenpowerfire,leafstorm": 126, "leftovers,contrary,hiddenpowerfire,leafstorm,leechseed,substitute": 211, "leftovers,contrary,dragonpulse,leafstorm,leechseed,substitute": 219, "leftovers,contrary,glare,leafstorm,leechseed,substitute": 227, "lifeorb,contrary,dragonpulse,glare,hiddenpowerfire,leafstorm": 150, "lifeorb,contrary,defog,dragonpulse,hiddenpowerfire,leafstorm": 139, "leftovers,contrary,defog,dragonpulse,glare,leafstorm": 105}, + "seviper": {"lifeorb,infiltrator,earthquake,glare,knockoff,sludgewave": 67, "lifeorb,infiltrator,earthquake,poisonjab,suckerpunch,swordsdance": 701, "choicescarf,infiltrator,earthquake,knockoff,sludgewave,switcheroo": 75, "lifeorb,infiltrator,earthquake,gigadrain,glare,sludgewave": 48, "lifeorb,infiltrator,earthquake,flamethrower,glare,sludgewave": 52, "lifeorb,infiltrator,earthquake,flamethrower,sludgewave,suckerpunch": 52, "lifeorb,infiltrator,earthquake,gigadrain,knockoff,sludgewave": 41, "choicescarf,infiltrator,earthquake,flamethrower,sludgewave,switcheroo": 61, "lifeorb,infiltrator,earthquake,gigadrain,sludgewave,suckerpunch": 62, "choicescarf,infiltrator,earthquake,gigadrain,sludgewave,switcheroo": 61, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,sludgewave": 51, "lifeorb,infiltrator,earthquake,glare,sludgewave,suckerpunch": 66, "lifeorb,infiltrator,earthquake,flamethrower,knockoff,sludgewave": 49}, + "sharpedo": {"lifeorb,speedboost,crunch,earthquake,icebeam,waterfall": 53, "lifeorb,speedboost,crunch,destinybond,icebeam,waterfall": 44, "lifeorb,speedboost,crunch,earthquake,protect,waterfall": 45, "lifeorb,speedboost,crunch,icebeam,protect,waterfall": 47, "lifeorb,speedboost,crunch,destinybond,earthquake,waterfall": 46, "lifeorb,speedboost,crunch,destinybond,protect,waterfall": 38}, + "sharpedomega": {"sharpedonite,speedboost,crunch,protect,psychicfangs,waterfall": 308, "sharpedonite,speedboost,crunch,icefang,psychicfangs,waterfall": 318, "sharpedonite,speedboost,crunch,icefang,protect,waterfall": 295}, + "shaymin": {"lifeorb,naturalcure,airslash,earthpower,seedflare,synthesis": 268, "leftovers,naturalcure,airslash,leechseed,seedflare,substitute": 297}, + "shayminsky": {"leftovers,serenegrace,airslash,leechseed,seedflare,substitute": 240, "choicespecs,serenegrace,airslash,earthpower,hiddenpowerice,seedflare": 241}, + "shedinja": {"focussash,wonderguard,shadowclaw,shadowsneak,swordsdance,xscissor": 671, "focussash,wonderguard,shadowsneak,swordsdance,willowisp,xscissor": 605}, + "shiftry": {"lifeorb,pickpocket,knockoff,leafblade,suckerpunch,swordsdance": 267, "lifeorb,pickpocket,defog,knockoff,leafstorm,lowkick": 148, "lifeorb,pickpocket,defog,knockoff,leafstorm,suckerpunch": 139, "lifeorb,pickpocket,knockoff,leafblade,lowkick,swordsdance": 268, "lifeorb,chlorophyll,knockoff,leafstorm,lowkick,suckerpunch": 4, "lifeorb,pickpocket,knockoff,leafstorm,lowkick,suckerpunch": 237, "lifeorb,chlorophyll,knockoff,leafblade,suckerpunch,swordsdance": 5, "lifeorb,chlorophyll,knockoff,leafblade,lowkick,swordsdance": 3}, + "shiinotic": {"leftovers,effectspore,gigadrain,moonblast,spore,strengthsap": 381, "leftovers,effectspore,hiddenpowerground,moonblast,spore,strengthsap": 392, "leftovers,effectspore,leechseed,moonblast,spore,strengthsap": 398}, + "shuckle": {"mentalherb,sturdy,encore,knockoff,stickyweb,toxic": 591, "mentalherb,sturdy,knockoff,stealthrock,stickyweb,toxic": 378, "mentalherb,sturdy,encore,knockoff,stealthrock,stickyweb": 398, "mentalherb,sturdy,encore,knockoff,stealthrock,toxic": 54}, + "sigilyph": {"lifeorb,magicguard,airslash,calmmind,psyshock,roost": 129, "lifeorb,magicguard,airslash,cosmicpower,roost,storedpower": 388, "choicespecs,tintedlens,airslash,energyball,icebeam,psyshock": 58, "choicespecs,tintedlens,airslash,energyball,heatwave,psyshock": 68, "choicespecs,tintedlens,airslash,heatwave,icebeam,psyshock": 59, "choicespecs,tintedlens,airslash,energyball,icebeam,psychic": 54, "lifeorb,magicguard,airslash,heatwave,psyshock,roost": 119, "choicespecs,tintedlens,airslash,heatwave,icebeam,psychic": 68, "choicespecs,tintedlens,airslash,energyball,heatwave,psychic": 67, "lifeorb,magicguard,airslash,defog,psyshock,roost": 121}, + "silvally": {"lifeorb,rkssystem,crunch,doubleedge,ironhead,swordsdance": 42, "lifeorb,rkssystem,crunch,doubleedge,flamecharge,swordsdance": 44, "lifeorb,rkssystem,crunch,flamecharge,return,swordsdance": 31, "lifeorb,rkssystem,crunch,doubleedge,explosion,swordsdance": 30, "lifeorb,rkssystem,crunch,explosion,return,swordsdance": 32, "lifeorb,rkssystem,crunch,ironhead,return,swordsdance": 38}, + "silvallybug": {"bugmemory,rkssystem,flamethrower,icebeam,thunderbolt,uturn": 29, "bugmemory,rkssystem,icebeam,thunderbolt,toxic,uturn": 26, "bugmemory,rkssystem,flamethrower,icebeam,toxic,uturn": 26, "bugmemory,rkssystem,defog,icebeam,toxic,uturn": 12, "bugmemory,rkssystem,flamethrower,thunderbolt,toxic,uturn": 29, "bugmemory,rkssystem,defog,flamethrower,toxic,uturn": 15, "bugmemory,rkssystem,defog,icebeam,thunderbolt,uturn": 14, "bugmemory,rkssystem,defog,flamethrower,icebeam,uturn": 16, "bugmemory,rkssystem,defog,thunderbolt,toxic,uturn": 16, "bugmemory,rkssystem,defog,flamethrower,thunderbolt,uturn": 6}, + "silvallydark": {"darkmemory,rkssystem,flamecharge,ironhead,multiattack,swordsdance": 222}, + "silvallydragon": {"dragonmemory,rkssystem,flamecharge,ironhead,outrage,swordsdance": 119, "dragonmemory,rkssystem,dracometeor,ironhead,partingshot,toxic": 6, "dragonmemory,rkssystem,defog,dracometeor,flamethrower,uturn": 6, "dragonmemory,rkssystem,dracometeor,flamethrower,toxic,uturn": 9, "dragonmemory,rkssystem,dracometeor,flamethrower,partingshot,toxic": 13, "dragonmemory,rkssystem,defog,dracometeor,flamethrower,partingshot": 7, "dragonmemory,rkssystem,defog,dracometeor,partingshot,toxic": 4, "dragonmemory,rkssystem,defog,dracometeor,ironhead,toxic": 5, "dragonmemory,rkssystem,defog,dracometeor,toxic,uturn": 7, "dragonmemory,rkssystem,dracometeor,flamethrower,ironhead,partingshot": 5, "dragonmemory,rkssystem,dracometeor,flamethrower,ironhead,uturn": 11, "dragonmemory,rkssystem,dracometeor,ironhead,toxic,uturn": 2, "dragonmemory,rkssystem,defog,dracometeor,ironhead,partingshot": 6, "dragonmemory,rkssystem,defog,dracometeor,flamethrower,toxic": 7, "dragonmemory,rkssystem,defog,dracometeor,ironhead,uturn": 5, "dragonmemory,rkssystem,dracometeor,flamethrower,ironhead,toxic": 4, "dragonmemory,rkssystem,defog,dracometeor,flamethrower,ironhead": 5}, + "silvallyelectric": {"electricmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 26, "electricmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 19, "electricmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 37, "electricmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 35, "electricmemory,rkssystem,defog,icebeam,multiattack,partingshot": 30, "electricmemory,rkssystem,flamethrower,icebeam,multiattack,uturn": 28, "electricmemory,rkssystem,icebeam,multiattack,toxic,uturn": 25, "electricmemory,rkssystem,defog,icebeam,multiattack,toxic": 20, "electricmemory,rkssystem,defog,icebeam,multiattack,uturn": 19}, + "silvallyfairy": {"fairymemory,rkssystem,defog,multiattack,toxic,uturn": 9, "fairymemory,rkssystem,multiattack,surf,toxic,uturn": 26, "fairymemory,rkssystem,flamethrower,multiattack,surf,uturn": 19, "fairymemory,rkssystem,defog,flamethrower,multiattack,surf": 8, "fairymemory,rkssystem,defog,flamethrower,multiattack,toxic": 16, "fairymemory,rkssystem,flamethrower,multiattack,partingshot,surf": 21, "fairymemory,rkssystem,defog,flamethrower,multiattack,partingshot": 12, "fairymemory,rkssystem,defog,multiattack,surf,uturn": 12, "fairymemory,rkssystem,multiattack,partingshot,surf,toxic": 18, "fairymemory,rkssystem,flamethrower,multiattack,toxic,uturn": 27, "fairymemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 18, "fairymemory,rkssystem,defog,multiattack,partingshot,toxic": 12, "fairymemory,rkssystem,defog,multiattack,surf,toxic": 7, "fairymemory,rkssystem,flamethrower,multiattack,surf,toxic": 17, "fairymemory,rkssystem,defog,flamethrower,multiattack,uturn": 12, "fairymemory,rkssystem,defog,multiattack,partingshot,surf": 9}, + "silvallyfighting": {"fightingmemory,rkssystem,flamethrower,multiattack,partingshot,shadowball": 6, "fightingmemory,rkssystem,multiattack,partingshot,shadowball,toxic": 6, "fightingmemory,rkssystem,flamethrower,multiattack,shadowball,toxic": 3, "fightingmemory,rkssystem,crunch,multiattack,rockslide,swordsdance": 36, "fightingmemory,rkssystem,flamethrower,icebeam,multiattack,shadowball": 5, "fightingmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 4, "fightingmemory,rkssystem,flamethrower,multiattack,shadowball,uturn": 8, "fightingmemory,rkssystem,crunch,ironhead,multiattack,swordsdance": 30, "fightingmemory,rkssystem,crunch,flamecharge,multiattack,swordsdance": 33, "fightingmemory,rkssystem,icebeam,multiattack,shadowball,uturn": 6, "fightingmemory,rkssystem,defog,icebeam,multiattack,uturn": 6, "fightingmemory,rkssystem,multiattack,shadowball,toxic,uturn": 7, "fightingmemory,rkssystem,icebeam,multiattack,shadowball,toxic": 7, "fightingmemory,rkssystem,icebeam,multiattack,toxic,uturn": 10, "fightingmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 3, "fightingmemory,rkssystem,defog,multiattack,partingshot,toxic": 6, "fightingmemory,rkssystem,defog,multiattack,partingshot,shadowball": 4, "fightingmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 8, "fightingmemory,rkssystem,defog,icebeam,multiattack,shadowball": 3, "fightingmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 2, "fightingmemory,rkssystem,defog,flamethrower,multiattack,uturn": 2, "fightingmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 3, "fightingmemory,rkssystem,defog,flamethrower,multiattack,shadowball": 2, "fightingmemory,rkssystem,defog,icebeam,multiattack,partingshot": 2, "fightingmemory,rkssystem,defog,multiattack,shadowball,toxic": 3, "fightingmemory,rkssystem,defog,multiattack,shadowball,uturn": 6, "fightingmemory,rkssystem,icebeam,multiattack,partingshot,shadowball": 2, "fightingmemory,rkssystem,defog,icebeam,multiattack,toxic": 1, "fightingmemory,rkssystem,defog,flamethrower,multiattack,toxic": 1, "fightingmemory,rkssystem,flamethrower,icebeam,multiattack,uturn": 2, "fightingmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 3, "fightingmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 2}, + "silvallyfire": {"firememory,rkssystem,defog,icebeam,multiattack,surf": 4, "firememory,rkssystem,defog,multiattack,toxic,uturn": 7, "firememory,rkssystem,icebeam,multiattack,partingshot,thunderbolt": 8, "firememory,rkssystem,icebeam,multiattack,toxic,uturn": 8, "firememory,rkssystem,icebeam,multiattack,thunderbolt,toxic": 4, "firememory,rkssystem,multiattack,partingshot,surf,thunderbolt": 11, "firememory,rkssystem,multiattack,surf,toxic,uturn": 8, "firememory,rkssystem,multiattack,partingshot,surf,toxic": 7, "firememory,rkssystem,defog,multiattack,surf,thunderbolt": 7, "firememory,rkssystem,defog,multiattack,partingshot,thunderbolt": 7, "firememory,rkssystem,defog,multiattack,surf,uturn": 11, "firememory,rkssystem,defog,multiattack,thunderbolt,uturn": 7, "firememory,rkssystem,icebeam,multiattack,thunderbolt,uturn": 9, "firememory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 8, "firememory,rkssystem,defog,multiattack,partingshot,surf": 8, "firememory,rkssystem,multiattack,thunderbolt,toxic,uturn": 9, "firememory,rkssystem,icebeam,multiattack,partingshot,toxic": 5, "firememory,rkssystem,icebeam,multiattack,surf,thunderbolt": 6, "firememory,rkssystem,defog,icebeam,multiattack,thunderbolt": 4, "firememory,rkssystem,icebeam,multiattack,surf,uturn": 11, "firememory,rkssystem,icebeam,multiattack,partingshot,surf": 6, "firememory,rkssystem,defog,multiattack,partingshot,toxic": 4, "firememory,rkssystem,defog,multiattack,surf,toxic": 6, "firememory,rkssystem,defog,multiattack,thunderbolt,toxic": 6, "firememory,rkssystem,defog,icebeam,multiattack,partingshot": 8, "firememory,rkssystem,multiattack,surf,thunderbolt,uturn": 6, "firememory,rkssystem,defog,icebeam,multiattack,uturn": 5, "firememory,rkssystem,multiattack,surf,thunderbolt,toxic": 6, "firememory,rkssystem,icebeam,multiattack,surf,toxic": 6, "firememory,rkssystem,defog,icebeam,multiattack,toxic": 2}, + "silvallyflying": {"flyingmemory,rkssystem,defog,flamethrower,multiattack,toxic": 14, "flyingmemory,rkssystem,flamethrower,ironhead,multiattack,partingshot": 16, "flyingmemory,rkssystem,ironhead,multiattack,partingshot,toxic": 14, "flyingmemory,rkssystem,defog,ironhead,multiattack,toxic": 8, "flyingmemory,rkssystem,defog,flamethrower,ironhead,multiattack": 9, "flyingmemory,rkssystem,ironhead,multiattack,toxic,uturn": 16, "flyingmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 17, "flyingmemory,rkssystem,defog,ironhead,multiattack,partingshot": 8, "flyingmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 17, "flyingmemory,rkssystem,defog,ironhead,multiattack,uturn": 15, "flyingmemory,rkssystem,flamethrower,ironhead,multiattack,toxic": 18, "flyingmemory,rkssystem,defog,multiattack,partingshot,toxic": 13, "flyingmemory,rkssystem,flamethrower,ironhead,multiattack,uturn": 14, "flyingmemory,rkssystem,defog,multiattack,toxic,uturn": 10, "flyingmemory,rkssystem,defog,flamethrower,multiattack,uturn": 9, "flyingmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 7}, + "silvallyghost": {"ghostmemory,rkssystem,explosion,multiattack,swordsdance,xscissor": 139, "ghostmemory,rkssystem,defog,icebeam,multiattack,partingshot": 9, "ghostmemory,rkssystem,flamethrower,icebeam,multiattack,uturn": 10, "ghostmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 15, "ghostmemory,rkssystem,defog,icebeam,multiattack,toxic": 8, "ghostmemory,rkssystem,defog,multiattack,toxic,uturn": 6, "ghostmemory,rkssystem,defog,flamethrower,multiattack,toxic": 11, "ghostmemory,rkssystem,icebeam,multiattack,toxic,uturn": 15, "ghostmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 7, "ghostmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 11, "ghostmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 9, "ghostmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 3, "ghostmemory,rkssystem,defog,multiattack,partingshot,toxic": 6, "ghostmemory,rkssystem,defog,icebeam,multiattack,uturn": 5, "ghostmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 8, "ghostmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 8, "ghostmemory,rkssystem,defog,flamethrower,multiattack,uturn": 7}, + "silvallygrass": {"grassmemory,rkssystem,defog,icebeam,multiattack,partingshot": 8, "grassmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 17, "grassmemory,rkssystem,defog,multiattack,toxic,uturn": 7, "grassmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 10, "grassmemory,rkssystem,flamethrower,icebeam,multiattack,uturn": 11, "grassmemory,rkssystem,defog,icebeam,multiattack,uturn": 14, "grassmemory,rkssystem,defog,multiattack,partingshot,toxic": 11, "grassmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 16, "grassmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 11, "grassmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 12, "grassmemory,rkssystem,defog,flamethrower,multiattack,toxic": 15, "grassmemory,rkssystem,defog,flamethrower,multiattack,uturn": 8, "grassmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 11, "grassmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 15, "grassmemory,rkssystem,defog,icebeam,multiattack,toxic": 6, "grassmemory,rkssystem,icebeam,multiattack,toxic,uturn": 9}, + "silvallyground": {"groundmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 7, "groundmemory,rkssystem,flamecharge,multiattack,rockslide,swordsdance": 102, "groundmemory,rkssystem,defog,icebeam,multiattack,partingshot": 6, "groundmemory,rkssystem,defog,flamethrower,multiattack,uturn": 8, "groundmemory,rkssystem,defog,flamethrower,multiattack,toxic": 4, "groundmemory,rkssystem,defog,multiattack,toxic,uturn": 6, "groundmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 11, "groundmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 12, "groundmemory,rkssystem,flamethrower,icebeam,multiattack,uturn": 5, "groundmemory,rkssystem,defog,icebeam,multiattack,toxic": 4, "groundmemory,rkssystem,defog,multiattack,partingshot,toxic": 5, "groundmemory,rkssystem,defog,icebeam,multiattack,uturn": 6, "groundmemory,rkssystem,icebeam,multiattack,toxic,uturn": 8, "groundmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 4, "groundmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 5, "groundmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 3, "groundmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 10}, + "silvallyice": {"icememory,rkssystem,defog,flamethrower,multiattack,thunderbolt": 26, "icememory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 24, "icememory,rkssystem,defog,multiattack,thunderbolt,uturn": 18, "icememory,rkssystem,flamethrower,multiattack,thunderbolt,toxic": 12, "icememory,rkssystem,defog,multiattack,partingshot,thunderbolt": 22, "icememory,rkssystem,flamethrower,multiattack,thunderbolt,uturn": 21, "icememory,rkssystem,flamethrower,multiattack,partingshot,thunderbolt": 26, "icememory,rkssystem,multiattack,thunderbolt,toxic,uturn": 22, "icememory,rkssystem,defog,multiattack,thunderbolt,toxic": 11}, + "silvallypoison": {"poisonmemory,rkssystem,defog,multiattack,toxic,uturn": 13, "poisonmemory,rkssystem,flamethrower,multiattack,partingshot,surf": 19, "poisonmemory,rkssystem,defog,multiattack,surf,toxic": 8, "poisonmemory,rkssystem,defog,flamethrower,multiattack,toxic": 15, "poisonmemory,rkssystem,flamethrower,multiattack,surf,toxic": 14, "poisonmemory,rkssystem,defog,multiattack,surf,uturn": 8, "poisonmemory,rkssystem,multiattack,partingshot,surf,toxic": 24, "poisonmemory,rkssystem,flamethrower,multiattack,surf,uturn": 18, "poisonmemory,rkssystem,multiattack,surf,toxic,uturn": 19, "poisonmemory,rkssystem,defog,multiattack,partingshot,toxic": 11, "poisonmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 14, "poisonmemory,rkssystem,defog,multiattack,partingshot,surf": 13, "poisonmemory,rkssystem,defog,flamethrower,multiattack,surf": 13, "poisonmemory,rkssystem,defog,flamethrower,multiattack,uturn": 15, "poisonmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 22, "poisonmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 25}, + "silvallypsychic": {"psychicmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 61, "psychicmemory,rkssystem,defog,multiattack,partingshot,toxic": 29, "psychicmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 79, "psychicmemory,rkssystem,defog,flamethrower,multiattack,uturn": 25, "psychicmemory,rkssystem,defog,flamethrower,multiattack,toxic": 23, "psychicmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 27, "psychicmemory,rkssystem,defog,multiattack,toxic,uturn": 38}, + "silvallyrock": {"rockmemory,rkssystem,defog,flamethrower,multiattack,toxic": 9, "rockmemory,rkssystem,flamethrower,grasspledge,multiattack,toxic": 9, "rockmemory,rkssystem,grasspledge,multiattack,partingshot,toxic": 18, "rockmemory,rkssystem,defog,multiattack,partingshot,toxic": 6, "rockmemory,rkssystem,flamethrower,grasspledge,multiattack,partingshot": 18, "rockmemory,rkssystem,grasspledge,multiattack,toxic,uturn": 19, "rockmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 12, "rockmemory,rkssystem,defog,flamethrower,grasspledge,multiattack": 10, "rockmemory,rkssystem,flamethrower,grasspledge,multiattack,uturn": 11, "rockmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 13, "rockmemory,rkssystem,defog,grasspledge,multiattack,uturn": 9, "rockmemory,rkssystem,defog,flamethrower,multiattack,uturn": 17, "rockmemory,rkssystem,defog,multiattack,toxic,uturn": 6, "rockmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 11, "rockmemory,rkssystem,defog,grasspledge,multiattack,partingshot": 5, "rockmemory,rkssystem,defog,grasspledge,multiattack,toxic": 3}, + "silvallysteel": {"steelmemory,rkssystem,multiattack,thunderbolt,toxic,uturn": 19, "steelmemory,rkssystem,defog,multiattack,toxic,uturn": 5, "steelmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 15, "steelmemory,rkssystem,defog,flamethrower,multiattack,toxic": 7, "steelmemory,rkssystem,defog,flamethrower,multiattack,thunderbolt": 9, "steelmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 15, "steelmemory,rkssystem,defog,multiattack,partingshot,thunderbolt": 14, "steelmemory,rkssystem,defog,multiattack,thunderbolt,toxic": 10, "steelmemory,rkssystem,flamethrower,multiattack,thunderbolt,toxic": 10, "steelmemory,rkssystem,flamethrower,multiattack,thunderbolt,uturn": 12, "steelmemory,rkssystem,defog,multiattack,thunderbolt,uturn": 14, "steelmemory,rkssystem,flamethrower,multiattack,partingshot,thunderbolt": 16, "steelmemory,rkssystem,flamethrower,multiattack,toxic,uturn": 13, "steelmemory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 8, "steelmemory,rkssystem,defog,multiattack,partingshot,toxic": 12, "steelmemory,rkssystem,defog,flamethrower,multiattack,uturn": 16}, + "silvallywater": {"watermemory,rkssystem,icebeam,multiattack,toxic,uturn": 22, "watermemory,rkssystem,icebeam,multiattack,partingshot,toxic": 14, "watermemory,rkssystem,icebeam,multiattack,partingshot,thunderbolt": 22, "watermemory,rkssystem,icebeam,multiattack,thunderbolt,uturn": 25, "watermemory,rkssystem,icebeam,multiattack,thunderbolt,toxic": 15, "watermemory,rkssystem,defog,multiattack,thunderbolt,toxic": 8, "watermemory,rkssystem,defog,icebeam,multiattack,thunderbolt": 11, "watermemory,rkssystem,defog,multiattack,partingshot,thunderbolt": 12, "watermemory,rkssystem,defog,multiattack,partingshot,toxic": 17, "watermemory,rkssystem,multiattack,thunderbolt,toxic,uturn": 10, "watermemory,rkssystem,defog,multiattack,thunderbolt,uturn": 12, "watermemory,rkssystem,defog,icebeam,multiattack,partingshot": 11, "watermemory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 13, "watermemory,rkssystem,defog,multiattack,toxic,uturn": 11, "watermemory,rkssystem,defog,icebeam,multiattack,toxic": 7, "watermemory,rkssystem,defog,icebeam,multiattack,uturn": 8}, + "simipour": {"lifeorb,torrent,grassknot,hydropump,icebeam,nastyplot": 679, "leftovers,torrent,hydropump,icebeam,nastyplot,substitute": 727}, + "simisage": {"lifeorb,overgrow,hiddenpowerice,knockoff,leafstorm,superpower": 88, "lifeorb,overgrow,hiddenpowerice,leafstorm,rockslide,superpower": 84, "leftovers,overgrow,focusblast,gigadrain,nastyplot,substitute": 148, "lifeorb,overgrow,focusblast,gigadrain,hiddenpowerice,nastyplot": 286, "lifeorb,overgrow,knockoff,leafstorm,rockslide,superpower": 111, "lifeorb,overgrow,gunkshot,knockoff,leafstorm,superpower": 90, "lifeorb,overgrow,gunkshot,leafstorm,rockslide,superpower": 89, "leftovers,overgrow,gigadrain,hiddenpowerice,nastyplot,substitute": 130, "lifeorb,overgrow,gunkshot,hiddenpowerice,leafstorm,superpower": 88}, + "simisear": {"lifeorb,blaze,fireblast,grassknot,hiddenpowerrock,nastyplot": 282, "leftovers,blaze,fireblast,hiddenpowerrock,nastyplot,substitute": 150, "leftovers,blaze,fireblast,focusblast,nastyplot,substitute": 130, "lifeorb,blaze,fireblast,focusblast,hiddenpowerrock,nastyplot": 275, "leftovers,blaze,fireblast,grassknot,nastyplot,substitute": 132, "lifeorb,blaze,fireblast,focusblast,grassknot,nastyplot": 288}, + "skarmory": {"leftovers,sturdy,bravebird,roost,stealthrock,whirlwind": 92, "leftovers,sturdy,bravebird,roost,stealthrock,toxic": 281, "leftovers,sturdy,bravebird,roost,spikes,toxic": 334, "rockyhelmet,sturdy,bravebird,roost,spikes,stealthrock": 67, "leftovers,sturdy,bravebird,roost,spikes,whirlwind": 132, "rockyhelmet,sturdy,bravebird,roost,spikes,whirlwind": 128, "leftovers,sturdy,bravebird,roost,spikes,stealthrock": 88, "rockyhelmet,sturdy,bravebird,roost,stealthrock,whirlwind": 102}, + "skuntank": {"assaultvest,aftermath,crunch,fireblast,poisonjab,suckerpunch": 380, "blacksludge,aftermath,crunch,poisonjab,suckerpunch,taunt": 367, "blackglasses,aftermath,crunch,poisonjab,pursuit,suckerpunch": 378, "blacksludge,aftermath,crunch,defog,poisonjab,suckerpunch": 300}, + "slaking": {"choicescarf,truant,earthquake,gigaimpact,nightslash,retaliate": 708, "choiceband,truant,earthquake,gigaimpact,nightslash,retaliate": 731}, + "slowbro": {"assaultvest,regenerator,fireblast,futuresight,psyshock,scald": 49, "rockyhelmet,regenerator,fireblast,scald,slackoff,toxic": 7, "assaultvest,regenerator,fireblast,icebeam,psyshock,scald": 36, "assaultvest,regenerator,fireblast,futuresight,icebeam,scald": 31, "rockyhelmet,regenerator,icebeam,scald,slackoff,thunderwave": 10, "assaultvest,regenerator,futuresight,icebeam,psyshock,scald": 38, "rockyhelmet,regenerator,icebeam,psyshock,scald,slackoff": 6, "rockyhelmet,regenerator,psyshock,scald,slackoff,toxic": 14, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 15, "rockyhelmet,regenerator,fireblast,scald,slackoff,thunderwave": 8, "rockyhelmet,regenerator,icebeam,scald,slackoff,toxic": 12, "rockyhelmet,regenerator,psyshock,scald,slackoff,thunderwave": 9, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 9, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 8, "rockyhelmet,regenerator,fireblast,psyshock,scald,slackoff": 11, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 7, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 2, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 12, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 7, "rockyhelmet,regenerator,fireblast,icebeam,scald,slackoff": 2, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 5, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 4}, + "slowbromega": {"slowbronite,regenerator,fireblast,psyshock,scald,slackoff": 482, "slowbronite,regenerator,calmmind,psyshock,scald,slackoff": 513}, + "slowking": {"assaultvest,regenerator,fireblast,futuresight,icebeam,scald": 56, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 58, "assaultvest,regenerator,dragontail,futuresight,psyshock,scald": 59, "assaultvest,regenerator,dragontail,futuresight,icebeam,scald": 76, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave": 50, "assaultvest,regenerator,dragontail,fireblast,icebeam,scald": 55, "leftovers,regenerator,nastyplot,scald,slackoff,thunderwave": 52, "assaultvest,regenerator,dragontail,fireblast,futuresight,scald": 61, "assaultvest,regenerator,fireblast,icebeam,psyshock,scald": 75, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 43, "assaultvest,regenerator,futuresight,icebeam,psyshock,scald": 83, "leftovers,regenerator,fireblast,nastyplot,scald,slackoff": 45, "leftovers,regenerator,fireblast,scald,slackoff,thunderwave": 48, "leftovers,regenerator,fireblast,icebeam,scald,slackoff": 41, "leftovers,regenerator,icebeam,nastyplot,scald,slackoff": 54, "assaultvest,regenerator,dragontail,fireblast,psyshock,scald": 69, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 58, "assaultvest,regenerator,dragontail,icebeam,psyshock,scald": 70, "assaultvest,regenerator,fireblast,futuresight,psyshock,scald": 88, "leftovers,regenerator,icebeam,psyshock,scald,slackoff": 39, "leftovers,regenerator,icebeam,scald,slackoff,toxic": 57, "leftovers,regenerator,nastyplot,psyshock,scald,slackoff": 47, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 44}, + "slurpuff": {"sitrusberry,unburden,bellydrum,drainpunch,playrough,return": 1656}, + "smeargle": {"focussash,owntempo,nuzzle,spore,stealthrock,stickyweb": 251, "focussash,owntempo,nuzzle,spikes,spore,stickyweb": 338, "focussash,owntempo,spikes,spore,stickyweb,whirlwind": 378, "focussash,owntempo,spikes,spore,stealthrock,stickyweb": 207, "focussash,owntempo,spore,stealthrock,stickyweb,whirlwind": 254, "focussash,owntempo,spikes,spore,stealthrock,whirlwind": 20, "focussash,owntempo,nuzzle,spikes,spore,whirlwind": 12, "focussash,owntempo,nuzzle,spikes,spore,stealthrock": 22}, + "snorlax": {"wikiberry,gluttony,bodyslam,curse,earthquake,recycle": 26, "leftovers,thickfat,bodyslam,crunch,curse,earthquake": 93, "figyberry,gluttony,bodyslam,curse,earthquake,recycle": 26, "magoberry,gluttony,bodyslam,crunch,curse,recycle": 33, "iapapaberry,gluttony,crunch,curse,recycle,return": 48, "leftovers,thickfat,bodyslam,earthquake,rest,sleeptalk": 85, "leftovers,thickfat,curse,rest,return,sleeptalk": 92, "leftovers,thickfat,crunch,curse,earthquake,return": 99, "figyberry,gluttony,crunch,curse,recycle,return": 31, "leftovers,thickfat,crunch,rest,return,sleeptalk": 79, "iapapaberry,gluttony,bodyslam,crunch,curse,recycle": 41, "magoberry,gluttony,curse,earthquake,recycle,return": 42, "magoberry,gluttony,crunch,curse,recycle,return": 35, "wikiberry,gluttony,crunch,curse,recycle,return": 36, "iapapaberry,gluttony,curse,earthquake,recycle,return": 34, "leftovers,thickfat,bodyslam,crunch,rest,sleeptalk": 91, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk": 88, "aguavberry,gluttony,bodyslam,curse,earthquake,recycle": 39, "aguavberry,gluttony,bodyslam,crunch,curse,recycle": 39, "iapapaberry,gluttony,bodyslam,curse,earthquake,recycle": 33, "aguavberry,gluttony,curse,earthquake,recycle,return": 36, "magoberry,gluttony,bodyslam,curse,earthquake,recycle": 35, "leftovers,thickfat,earthquake,rest,return,sleeptalk": 80, "figyberry,gluttony,curse,earthquake,recycle,return": 34, "wikiberry,gluttony,curse,earthquake,recycle,return": 39, "figyberry,gluttony,bodyslam,crunch,curse,recycle": 34, "wikiberry,gluttony,bodyslam,crunch,curse,recycle": 34, "aguavberry,gluttony,crunch,curse,recycle,return": 30}, + "solgaleo": {"choicescarf,fullmetalbody,earthquake,flareblitz,stoneedge,sunsteelstrike": 42, "weaknesspolicy,fullmetalbody,earthquake,flamecharge,knockoff,sunsteelstrike": 209, "leftovers,fullmetalbody,earthquake,morningsun,stoneedge,sunsteelstrike": 48, "rockyhelmet,fullmetalbody,earthquake,flareblitz,morningsun,sunsteelstrike": 56, "choicescarf,fullmetalbody,earthquake,flareblitz,knockoff,sunsteelstrike": 49, "choiceband,fullmetalbody,earthquake,stoneedge,sunsteelstrike,zenheadbutt": 34, "weaknesspolicy,fullmetalbody,earthquake,flamecharge,psychic,sunsteelstrike": 200, "leftovers,fullmetalbody,earthquake,knockoff,morningsun,sunsteelstrike": 52, "rockyhelmet,fullmetalbody,earthquake,morningsun,stoneedge,sunsteelstrike": 51, "rockyhelmet,fullmetalbody,earthquake,morningsun,sunsteelstrike,zenheadbutt": 60, "choiceband,fullmetalbody,earthquake,knockoff,sunsteelstrike,zenheadbutt": 39, "choicescarf,fullmetalbody,earthquake,knockoff,stoneedge,sunsteelstrike": 37, "choiceband,fullmetalbody,earthquake,flareblitz,knockoff,sunsteelstrike": 29, "leftovers,fullmetalbody,earthquake,flareblitz,morningsun,sunsteelstrike": 51, "choicescarf,fullmetalbody,earthquake,stoneedge,sunsteelstrike,zenheadbutt": 28, "leftovers,fullmetalbody,earthquake,morningsun,sunsteelstrike,zenheadbutt": 52, "choiceband,fullmetalbody,earthquake,flareblitz,stoneedge,sunsteelstrike": 26, "rockyhelmet,fullmetalbody,earthquake,knockoff,morningsun,sunsteelstrike": 43, "choiceband,fullmetalbody,earthquake,flareblitz,sunsteelstrike,zenheadbutt": 51, "choicescarf,fullmetalbody,earthquake,knockoff,sunsteelstrike,zenheadbutt": 26, "choiceband,fullmetalbody,earthquake,knockoff,stoneedge,sunsteelstrike": 34, "choicescarf,fullmetalbody,earthquake,flareblitz,sunsteelstrike,zenheadbutt": 36}, + "solrock": {"leftovers,levitate,earthquake,morningsun,stoneedge,willowisp": 441, "leftovers,levitate,morningsun,stealthrock,stoneedge,willowisp": 332, "leftovers,levitate,earthquake,morningsun,stealthrock,stoneedge": 344}, + "spinda": {"leftovers,contrary,rest,return,sleeptalk,superpower": 740, "leftovers,contrary,return,suckerpunch,superpower,thief": 728}, + "spiritomb": {"leftovers,infiltrator,calmmind,darkpulse,rest,sleeptalk": 775, "blackglasses,infiltrator,foulplay,pursuit,suckerpunch,toxic": 154, "leftovers,infiltrator,foulplay,painsplit,suckerpunch,toxic": 141, "blackglasses,infiltrator,foulplay,painsplit,pursuit,suckerpunch": 120, "blackglasses,infiltrator,foulplay,pursuit,suckerpunch,willowisp": 156, "leftovers,infiltrator,foulplay,painsplit,suckerpunch,willowisp": 134}, + "stakataka": {"airballoon,beastboost,earthquake,gyroball,stoneedge,trickroom": 429, "choiceband,beastboost,earthquake,gyroball,stoneedge,superpower": 442, "airballoon,beastboost,gyroball,stoneedge,superpower,trickroom": 455}, + "stantler": {"choiceband,intimidate,doubleedge,earthquake,jumpkick,throatchop": 117, "choiceband,intimidate,doubleedge,earthquake,jumpkick,megahorn": 156, "choiceband,intimidate,doubleedge,earthquake,suckerpunch,throatchop": 143, "lifeorb,intimidate,doubleedge,earthquake,jumpkick,thunderwave": 140, "choiceband,intimidate,doubleedge,earthquake,jumpkick,suckerpunch": 134, "lifeorb,intimidate,doubleedge,earthquake,suckerpunch,thunderwave": 151, "choiceband,intimidate,doubleedge,earthquake,megahorn,throatchop": 142, "choiceband,intimidate,doubleedge,earthquake,megahorn,suckerpunch": 148, "lifeorb,intimidate,doubleedge,earthquake,throatchop,thunderwave": 140, "lifeorb,intimidate,doubleedge,earthquake,megahorn,thunderwave": 143}, + "staraptor": {"choiceband,reckless,bravebird,closecombat,doubleedge,quickattack": 412, "choicescarf,reckless,bravebird,closecombat,doubleedge,uturn": 167, "choiceband,reckless,bravebird,closecombat,quickattack,uturn": 382, "choiceband,reckless,bravebird,closecombat,doubleedge,uturn": 211}, + "starmie": {"lifeorb,analytic,hydropump,icebeam,recover,thunderbolt": 135, "choicespecs,analytic,hydropump,icebeam,psyshock,thunderbolt": 220, "leftovers,naturalcure,psyshock,rapidspin,recover,scald": 174, "lifeorb,analytic,hydropump,psyshock,recover,thunderbolt": 122, "lifeorb,analytic,hydropump,icebeam,psyshock,recover": 164, "leftovers,naturalcure,psyshock,recover,scald,thunderwave": 53, "leftovers,naturalcure,rapidspin,recover,scald,thunderwave": 181, "leftovers,naturalcure,psyshock,recover,scald,toxic": 55, "leftovers,naturalcure,rapidspin,recover,scald,toxic": 173}, + "steelix": {"lifeorb,sheerforce,earthquake,ironhead,roar,stealthrock": 10, "lifeorb,sheerforce,earthquake,ironhead,roar,toxic": 20, "leftovers,sturdy,earthquake,roar,stealthrock,toxic": 16, "leftovers,sturdy,earthquake,heavyslam,roar,toxic": 23, "lifeorb,sheerforce,earthquake,ironhead,rockslide,toxic": 12, "leftovers,sturdy,earthquake,heavyslam,protect,toxic": 74, "leftovers,sturdy,earthquake,heavyslam,stealthrock,toxic": 15, "lifeorb,sheerforce,earthquake,ironhead,roar,rockslide": 13, "lifeorb,sheerforce,earthquake,ironhead,stealthrock,toxic": 15, "leftovers,sturdy,earthquake,heavyslam,roar,stealthrock": 14, "lifeorb,sheerforce,earthquake,ironhead,rockslide,stealthrock": 5}, + "steelixmega": {"steelixite,sturdy,dragontail,earthquake,heavyslam,toxic": 390, "steelixite,sturdy,dragontail,earthquake,heavyslam,stealthrock": 286, "steelixite,sturdy,earthquake,heavyslam,stealthrock,toxic": 288}, + "stoutland": {"choiceband,scrappy,crunch,facade,return,superpower": 797, "choicescarf,scrappy,crunch,facade,return,superpower": 728}, + "stunfisk": {"assaultvest,static,discharge,earthpower,scald,sludgebomb": 180, "leftovers,static,discharge,earthpower,scald,toxic": 122, "assaultvest,static,discharge,earthpower,foulplay,sludgebomb": 218, "assaultvest,static,discharge,earthpower,foulplay,scald": 185, "leftovers,static,discharge,earthpower,scald,stealthrock": 114, "leftovers,static,discharge,earthpower,rest,sleeptalk": 247, "leftovers,static,discharge,earthpower,stealthrock,toxic": 104}, + "sudowoodo": {"choiceband,rockhead,earthquake,headsmash,suckerpunch,woodhammer": 249, "leftovers,rockhead,headsmash,suckerpunch,toxic,woodhammer": 220, "leftovers,rockhead,headsmash,stealthrock,suckerpunch,woodhammer": 199, "leftovers,rockhead,earthquake,headsmash,toxic,woodhammer": 215, "leftovers,rockhead,earthquake,headsmash,stealthrock,woodhammer": 181, "leftovers,rockhead,headsmash,stealthrock,toxic,woodhammer": 174}, + "suicune": {"leftovers,pressure,calmmind,icebeam,scald,substitute": 238, "chestoberry,pressure,calmmind,icebeam,rest,scald": 255, "leftovers,pressure,calmmind,protect,scald,substitute": 480, "leftovers,pressure,calmmind,rest,scald,sleeptalk": 463}, + "sunflora": {"choicespecs,chlorophyll,earthpower,hiddenpowerrock,leafstorm,sludgebomb": 199, "lifeorb,chlorophyll,earthpower,hiddenpowerfire,solarbeam,sunnyday": 577, "choicespecs,chlorophyll,earthpower,hiddenpowerfire,leafstorm,sludgebomb": 204, "choicespecs,chlorophyll,earthpower,hiddenpowerice,leafstorm,sludgebomb": 178}, + "swalot": {"blacksludge,liquidooze,earthquake,icebeam,sludgebomb,toxic": 79, "blacksludge,liquidooze,earthquake,encore,painsplit,sludgebomb": 76, "blacksludge,liquidooze,earthquake,protect,sludgebomb,toxic": 687, "blacksludge,liquidooze,earthquake,encore,sludgebomb,toxic": 100, "blacksludge,liquidooze,earthquake,icebeam,sludgebomb,yawn": 81, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,yawn": 92, "blacksludge,liquidooze,earthquake,encore,icebeam,sludgebomb": 80, "blacksludge,liquidooze,earthquake,painsplit,sludgebomb,toxic": 85, "blacksludge,liquidooze,earthquake,encore,sludgebomb,yawn": 86, "blacksludge,liquidooze,earthquake,icebeam,painsplit,sludgebomb": 75}, + "swampert": {"leftovers,torrent,earthquake,roar,scald,stealthrock": 26, "leftovers,torrent,earthquake,protect,scald,toxic": 170, "leftovers,torrent,earthquake,icebeam,scald,toxic": 28, "leftovers,torrent,earthquake,icebeam,roar,scald": 38, "leftovers,torrent,earthquake,roar,scald,toxic": 40, "leftovers,torrent,earthquake,scald,stealthrock,toxic": 21, "leftovers,torrent,earthquake,icebeam,scald,stealthrock": 16}, + "swampertmega": {"swampertite,damp,earthquake,icepunch,raindance,waterfall": 547, "swampertite,damp,earthquake,raindance,superpower,waterfall": 494}, + "swanna": {"leftovers,hydration,bravebird,roost,scald,toxic": 437, "wateriumz,hydration,hurricane,raindance,rest,scald": 541, "leftovers,hydration,bravebird,defog,roost,scald": 312}, + "swellow": {"flameorb,guts,bravebird,facade,protect,quickattack": 182, "flameorb,guts,bravebird,facade,protect,uturn": 192, "choicespecs,scrappy,boomburst,heatwave,hurricane,uturn": 592, "flameorb,guts,bravebird,facade,quickattack,uturn": 204}, + "swoobat": {"leftovers,simple,calmmind,heatwave,roost,storedpower": 529, "lifeorb,simple,airslash,calmmind,roost,storedpower": 274, "lifeorb,simple,airslash,calmmind,heatwave,storedpower": 295}, + "sylveon": {"leftovers,pixilate,calmmind,hypervoice,protect,wish": 811, "leftovers,pixilate,hiddenpowerground,hypervoice,protect,wish": 191, "leftovers,pixilate,calmmind,hiddenpowerground,hypervoice,psyshock": 443, "leftovers,pixilate,hypervoice,protect,psyshock,wish": 212}, + "talonflame": {"flyiniumz,galewings,bravebird,flareblitz,roost,swordsdance": 480, "leftovers,flamebody,bravebird,overheat,roost,willowisp": 241, "leftovers,flamebody,bravebird,defog,overheat,roost": 187, "leftovers,flamebody,bravebird,overheat,roost,uturn": 247}, + "tangrowth": {"leftovers,regenerator,earthquake,morningsun,powerwhip,sludgebomb": 17, "assaultvest,regenerator,earthquake,powerwhip,rockslide,sludgebomb": 54, "assaultvest,regenerator,earthquake,knockoff,powerwhip,sludgebomb": 73, "assaultvest,regenerator,gigadrain,knockoff,rockslide,sludgebomb": 76, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,rockslide": 16, "assaultvest,regenerator,earthquake,gigadrain,rockslide,sludgebomb": 82, "assaultvest,regenerator,earthquake,knockoff,powerwhip,rockslide": 66, "leftovers,regenerator,knockoff,morningsun,powerwhip,sludgebomb": 10, "assaultvest,regenerator,earthquake,gigadrain,knockoff,rockslide": 62, "assaultvest,regenerator,knockoff,powerwhip,rockslide,sludgebomb": 75, "leftovers,regenerator,knockoff,morningsun,powerwhip,sleeppowder": 7, "assaultvest,regenerator,earthquake,gigadrain,knockoff,sludgebomb": 83, "rockyhelmet,regenerator,earthquake,leechseed,morningsun,powerwhip": 8, "leftovers,regenerator,earthquake,leafstorm,morningsun,sludgebomb": 13, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,rockslide": 15, "leftovers,regenerator,earthquake,knockoff,morningsun,powerwhip": 13, "leftovers,regenerator,earthquake,knockoff,leafstorm,morningsun": 17, "leftovers,regenerator,leafstorm,leechseed,morningsun,rockslide": 6, "rockyhelmet,regenerator,morningsun,powerwhip,rockslide,sludgebomb": 10, "leftovers,regenerator,morningsun,powerwhip,sleeppowder,sludgebomb": 10, "leftovers,regenerator,earthquake,morningsun,powerwhip,rockslide": 6, "leftovers,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 6, "leftovers,regenerator,knockoff,leafstorm,morningsun,sludgebomb": 9, "leftovers,regenerator,knockoff,leafstorm,morningsun,rockslide": 8, "rockyhelmet,regenerator,knockoff,leechseed,morningsun,powerwhip": 11, "leftovers,regenerator,earthquake,leafstorm,morningsun,rockslide": 12, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,sleeppowder": 9, "leftovers,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 10, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,sludgebomb": 17, "rockyhelmet,regenerator,leafstorm,morningsun,sleeppowder,sludgebomb": 5, "rockyhelmet,regenerator,earthquake,knockoff,leafstorm,morningsun": 11, "rockyhelmet,regenerator,knockoff,leafstorm,morningsun,rockslide": 15, "leftovers,regenerator,knockoff,morningsun,powerwhip,rockslide": 15, "rockyhelmet,regenerator,knockoff,morningsun,powerwhip,sleeppowder": 5, "leftovers,regenerator,leechseed,morningsun,powerwhip,sludgebomb": 7, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 9, "rockyhelmet,regenerator,earthquake,knockoff,morningsun,powerwhip": 19, "rockyhelmet,regenerator,leafstorm,morningsun,rockslide,sludgebomb": 12, "leftovers,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 6, "rockyhelmet,regenerator,leafstorm,morningsun,rockslide,sleeppowder": 8, "rockyhelmet,regenerator,leechseed,morningsun,powerwhip,sludgebomb": 6, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,sludgebomb": 20, "leftovers,regenerator,earthquake,leechseed,morningsun,powerwhip": 8, "leftovers,regenerator,knockoff,leechseed,morningsun,powerwhip": 10, "leftovers,regenerator,knockoff,leafstorm,leechseed,morningsun": 12, "rockyhelmet,regenerator,knockoff,leafstorm,leechseed,morningsun": 3, "rockyhelmet,regenerator,earthquake,leafstorm,morningsun,sleeppowder": 10, "leftovers,regenerator,earthquake,morningsun,powerwhip,sleeppowder": 8, "rockyhelmet,regenerator,knockoff,morningsun,powerwhip,sludgebomb": 18, "leftovers,regenerator,leechseed,morningsun,powerwhip,rockslide": 9, "leftovers,regenerator,morningsun,powerwhip,rockslide,sludgebomb": 16, "leftovers,regenerator,knockoff,leafstorm,morningsun,sleeppowder": 16, "rockyhelmet,regenerator,leafstorm,leechseed,morningsun,sludgebomb": 10, "leftovers,regenerator,leafstorm,leechseed,morningsun,sludgebomb": 6, "rockyhelmet,regenerator,morningsun,powerwhip,sleeppowder,sludgebomb": 7, "rockyhelmet,regenerator,knockoff,morningsun,powerwhip,rockslide": 6, "rockyhelmet,regenerator,morningsun,powerwhip,rockslide,sleeppowder": 5, "rockyhelmet,regenerator,earthquake,leafstorm,leechseed,morningsun": 7, "leftovers,regenerator,earthquake,leafstorm,leechseed,morningsun": 2, "leftovers,regenerator,leafstorm,morningsun,sleeppowder,sludgebomb": 3, "rockyhelmet,regenerator,leechseed,morningsun,powerwhip,rockslide": 7, "rockyhelmet,regenerator,earthquake,morningsun,powerwhip,sludgebomb": 15, "leftovers,regenerator,leafstorm,morningsun,rockslide,sludgebomb": 8, "rockyhelmet,regenerator,leafstorm,leechseed,morningsun,rockslide": 1}, + "tapubulu": {"leftovers,grassysurge,bulkup,megahorn,stoneedge,woodhammer": 129, "leftovers,grassysurge,bulkup,hornleech,megahorn,superpower": 136, "leftovers,grassysurge,bulkup,hornleech,stoneedge,superpower": 115, "choiceband,grassysurge,hornleech,megahorn,stoneedge,superpower": 101, "choicescarf,grassysurge,megahorn,stoneedge,superpower,woodhammer": 84, "leftovers,grassysurge,bulkup,megahorn,superpower,woodhammer": 117, "leftovers,grassysurge,bulkup,stoneedge,superpower,woodhammer": 137, "choiceband,grassysurge,megahorn,stoneedge,superpower,woodhammer": 100, "leftovers,grassysurge,bulkup,hornleech,megahorn,stoneedge": 126, "choicescarf,grassysurge,hornleech,megahorn,stoneedge,superpower": 96}, + "tapufini": {"leftovers,mistysurge,calmmind,moonblast,surf,taunt": 348, "leftovers,mistysurge,calmmind,icebeam,moonblast,surf": 298, "leftovers,mistysurge,calmmind,hydropump,moonblast,taunt": 323, "leftovers,mistysurge,calmmind,hydropump,icebeam,moonblast": 321}, + "tapukoko": {"assaultvest,electricsurge,dazzlinggleam,naturesmadness,uturn,wildcharge": 184, "electriumz,electricsurge,calmmind,dazzlinggleam,grassknot,thunderbolt": 301, "leftovers,electricsurge,dazzlinggleam,defog,naturesmadness,wildcharge": 99, "electriumz,electricsurge,calmmind,dazzlinggleam,roost,thunderbolt": 314, "assaultvest,electricsurge,bravebird,dazzlinggleam,naturesmadness,wildcharge": 164, "assaultvest,electricsurge,bravebird,dazzlinggleam,uturn,wildcharge": 167, "lifeorb,electricsurge,bravebird,dazzlinggleam,defog,wildcharge": 120, "leftovers,electricsurge,dazzlinggleam,defog,uturn,wildcharge": 117}, + "tapulele": {"lifeorb,psychicsurge,calmmind,focusblast,moonblast,psyshock": 356, "choicescarf,psychicsurge,focusblast,moonblast,psychic,psyshock": 392, "lifeorb,psychicsurge,calmmind,focusblast,moonblast,psychic": 406, "choicespecs,psychicsurge,focusblast,moonblast,psychic,psyshock": 393}, + "tauros": {"choiceband,intimidate,doubleedge,earthquake,stoneedge,zenheadbutt": 736, "lifeorb,sheerforce,bodyslam,earthquake,rockslide,zenheadbutt": 225, "lifeorb,sheerforce,bodyslam,earthquake,fireblast,zenheadbutt": 234, "lifeorb,sheerforce,bodyslam,earthquake,fireblast,rockslide": 230}, + "tentacruel": {"blacksludge,liquidooze,rapidspin,scald,sludgebomb,toxicspikes": 202, "blacksludge,liquidooze,haze,knockoff,scald,sludgebomb": 38, "blacksludge,clearbody,rapidspin,scald,sludgebomb,toxicspikes": 176, "assaultvest,clearbody,knockoff,rapidspin,scald,sludgebomb": 180, "blacksludge,clearbody,haze,rapidspin,scald,sludgebomb": 179, "blacksludge,liquidooze,haze,rapidspin,scald,sludgebomb": 190, "assaultvest,liquidooze,knockoff,rapidspin,scald,sludgebomb": 147, "blacksludge,clearbody,knockoff,scald,sludgebomb,toxicspikes": 39, "blacksludge,clearbody,haze,knockoff,scald,sludgebomb": 46, "blacksludge,liquidooze,haze,scald,sludgebomb,toxicspikes": 28, "blacksludge,clearbody,haze,scald,sludgebomb,toxicspikes": 33, "blacksludge,liquidooze,knockoff,scald,sludgebomb,toxicspikes": 33}, + "terrakion": {"choiceband,justified,closecombat,earthquake,quickattack,stoneedge": 325, "lifeorb,justified,closecombat,earthquake,stealthrock,stoneedge": 249, "lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance": 101, "rockiumz,justified,closecombat,earthquake,stoneedge,swordsdance": 252, "fightiniumz,justified,closecombat,earthquake,stoneedge,swordsdance": 232}, + "throh": {"flameorb,guts,bulkup,facade,knockoff,stormthrow": 760, "leftovers,guts,bulkup,circlethrow,rest,sleeptalk": 369, "leftovers,guts,circlethrow,knockoff,rest,sleeptalk": 354}, + "thundurus": {"lifeorb,prankster,superpower,taunt,thunderbolt,thunderwave": 22, "lifeorb,prankster,hiddenpowerflying,superpower,thunderbolt,thunderwave": 45, "lifeorb,prankster,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 68, "lifeorb,prankster,hiddenpowerflying,knockoff,thunderbolt,thunderwave": 40, "leftovers,prankster,hiddenpowerice,nastyplot,substitute,thunderbolt": 33, "lifeorb,prankster,knockoff,superpower,thunderbolt,thunderwave": 35, "lifeorb,prankster,hiddenpowerice,knockoff,thunderbolt,thunderwave": 43, "leftovers,prankster,hiddenpowerflying,nastyplot,substitute,thunderbolt": 39, "lifeorb,prankster,focusblast,hiddenpowerice,nastyplot,thunderbolt": 86, "lifeorb,prankster,hiddenpowerflying,taunt,thunderbolt,thunderwave": 19, "lifeorb,prankster,knockoff,taunt,thunderbolt,thunderwave": 16, "lifeorb,prankster,hiddenpowerice,taunt,thunderbolt,thunderwave": 28, "lifeorb,prankster,hiddenpowerice,superpower,thunderbolt,thunderwave": 45, "leftovers,prankster,focusblast,nastyplot,substitute,thunderbolt": 41}, + "thundurustherian": {"choicespecs,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 74, "choicespecs,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 67, "choicescarf,voltabsorb,focusblast,hiddenpowerice,thunderbolt,voltswitch": 65, "lifeorb,voltabsorb,focusblast,hiddenpowerice,nastyplot,thunderbolt": 134, "lifeorb,voltabsorb,focusblast,hiddenpowerflying,nastyplot,thunderbolt": 139, "choicescarf,voltabsorb,focusblast,hiddenpowerflying,thunderbolt,voltswitch": 74}, + "togedemaru": {"leftovers,lightningrod,ironhead,spikyshield,wish,zingzap": 82, "leftovers,sturdy,ironhead,spikyshield,wish,zingzap": 63, "leftovers,sturdy,ironhead,spikyshield,uturn,wish": 75, "leftovers,ironbarbs,ironhead,spikyshield,uturn,wish": 65, "leftovers,sturdy,ironhead,nuzzle,spikyshield,wish": 78, "leftovers,lightningrod,ironhead,nuzzle,spikyshield,wish": 68, "leftovers,ironbarbs,ironhead,nuzzle,spikyshield,wish": 63, "assaultvest,ironbarbs,ironhead,nuzzle,superfang,zingzap": 51, "leftovers,ironbarbs,spikyshield,uturn,wish,zingzap": 64, "leftovers,lightningrod,spikyshield,uturn,wish,zingzap": 85, "assaultvest,lightningrod,ironhead,nuzzle,superfang,zingzap": 37, "assaultvest,sturdy,ironhead,nuzzle,uturn,zingzap": 45, "leftovers,sturdy,spikyshield,uturn,wish,zingzap": 64, "leftovers,lightningrod,ironhead,spikyshield,uturn,wish": 66, "assaultvest,lightningrod,ironhead,nuzzle,uturn,zingzap": 36, "assaultvest,sturdy,ironhead,nuzzle,superfang,zingzap": 34, "assaultvest,ironbarbs,ironhead,superfang,uturn,zingzap": 40, "assaultvest,sturdy,ironhead,superfang,uturn,zingzap": 52, "assaultvest,lightningrod,ironhead,superfang,uturn,zingzap": 47, "assaultvest,ironbarbs,ironhead,nuzzle,uturn,zingzap": 42, "leftovers,ironbarbs,ironhead,spikyshield,wish,zingzap": 65}, + "togekiss": {"leftovers,serenegrace,airslash,defog,roost,thunderwave": 116, "choicescarf,serenegrace,airslash,aurasphere,dazzlinggleam,trick": 368, "leftovers,serenegrace,airslash,nastyplot,roost,thunderwave": 181, "leftovers,serenegrace,airslash,aurasphere,nastyplot,roost": 173, "leftovers,serenegrace,airslash,healbell,roost,thunderwave": 163, "leftovers,serenegrace,airslash,defog,healbell,roost": 103}, + "torkoal": {"leftovers,drought,lavaplume,rapidspin,solarbeam,yawn": 172, "leftovers,drought,earthquake,lavaplume,stealthrock,yawn": 38, "leftovers,drought,lavaplume,rapidspin,stealthrock,yawn": 147, "leftovers,drought,earthquake,lavaplume,rapidspin,yawn": 177, "leftovers,drought,earthquake,lavaplume,solarbeam,yawn": 76, "assaultvest,drought,earthquake,lavaplume,rapidspin,solarbeam": 172, "leftovers,drought,earthquake,lavaplume,rapidspin,stealthrock": 161, "leftovers,drought,lavaplume,rapidspin,solarbeam,stealthrock": 152, "leftovers,drought,earthquake,lavaplume,solarbeam,stealthrock": 44, "leftovers,drought,lavaplume,solarbeam,stealthrock,yawn": 37}, + "tornadus": {"lifeorb,prankster,hurricane,knockoff,superpower,taunt": 16, ",defiant,acrobatics,bulkup,superpower,taunt": 157, "leftovers,prankster,defog,hurricane,taunt,uturn": 16, "assaultvest,defiant,heatwave,hurricane,knockoff,superpower": 27, "assaultvest,defiant,heatwave,hurricane,knockoff,uturn": 11, "lifeorb,prankster,defog,heatwave,hurricane,superpower": 21, "leftovers,prankster,defog,heatwave,hurricane,uturn": 8, ",defiant,acrobatics,bulkup,knockoff,superpower": 164, "leftovers,prankster,defog,hurricane,knockoff,uturn": 13, "leftovers,prankster,defog,hurricane,knockoff,taunt": 20, "lifeorb,prankster,heatwave,hurricane,superpower,taunt": 15, "leftovers,prankster,hurricane,knockoff,taunt,uturn": 10, "assaultvest,defiant,heatwave,hurricane,superpower,uturn": 15, "lifeorb,prankster,defog,hurricane,knockoff,superpower": 12, "lifeorb,prankster,defog,heatwave,hurricane,knockoff": 15, "leftovers,prankster,defog,hurricane,superpower,uturn": 12, "assaultvest,defiant,hurricane,knockoff,superpower,uturn": 13, "lifeorb,prankster,heatwave,hurricane,knockoff,taunt": 10, "leftovers,prankster,hurricane,superpower,taunt,uturn": 15, "leftovers,prankster,heatwave,hurricane,taunt,uturn": 17, "leftovers,prankster,defog,hurricane,superpower,taunt": 11, "leftovers,prankster,defog,heatwave,hurricane,taunt": 12}, + "tornadustherian": {"lifeorb,regenerator,heatwave,hurricane,superpower,taunt": 41, "leftovers,regenerator,defog,hurricane,taunt,uturn": 27, "leftovers,regenerator,defog,heatwave,hurricane,uturn": 35, "leftovers,regenerator,defog,hurricane,superpower,taunt": 21, "assaultvest,regenerator,heatwave,hurricane,knockoff,uturn": 30, "leftovers,regenerator,hurricane,knockoff,taunt,uturn": 33, "lifeorb,regenerator,defog,heatwave,hurricane,superpower": 28, "leftovers,regenerator,hurricane,superpower,taunt,uturn": 26, "leftovers,regenerator,heatwave,hurricane,taunt,uturn": 28, "lifeorb,regenerator,hurricane,knockoff,superpower,taunt": 43, "leftovers,regenerator,defog,hurricane,knockoff,uturn": 35, "lifeorb,regenerator,defog,hurricane,knockoff,superpower": 25, "leftovers,regenerator,defog,hurricane,superpower,uturn": 26, "assaultvest,regenerator,heatwave,hurricane,knockoff,superpower": 24, "assaultvest,regenerator,heatwave,hurricane,superpower,uturn": 30, "assaultvest,regenerator,hurricane,knockoff,superpower,uturn": 22, "leftovers,regenerator,defog,hurricane,knockoff,taunt": 26, "lifeorb,regenerator,heatwave,hurricane,knockoff,taunt": 28, "leftovers,regenerator,defog,heatwave,hurricane,taunt": 25, "lifeorb,regenerator,defog,heatwave,hurricane,knockoff": 20}, + "torterra": {"leftovers,overgrow,earthquake,stealthrock,synthesis,woodhammer": 242, "leftovers,overgrow,earthquake,rockpolish,stoneedge,woodhammer": 585, "leftovers,overgrow,earthquake,stoneedge,synthesis,woodhammer": 332}, + "toucannon": {"lifeorb,skilllink,beakblast,boomburst,bulletseed,roost": 183, "lifeorb,skilllink,beakblast,boomburst,brickbreak,bulletseed": 193, "choiceband,skilllink,bravebird,brickbreak,bulletseed,uturn": 19, "choicescarf,skilllink,bravebird,brickbreak,bulletseed,knockoff": 18, "choicescarf,skilllink,bravebird,brickbreak,bulletseed,rockblast": 24, "choicescarf,skilllink,bravebird,brickbreak,rockblast,uturn": 21, "choiceband,skilllink,bravebird,knockoff,rockblast,uturn": 15, "choiceband,skilllink,bravebird,bulletseed,rockblast,uturn": 13, "choicescarf,skilllink,bravebird,bulletseed,rockblast,uturn": 17, "leftovers,skilllink,bravebird,bulletseed,knockoff,swordsdance": 30, "leftovers,skilllink,bravebird,brickbreak,rockblast,swordsdance": 34, "lifeorb,keeneye,beakblast,boomburst,brickbreak,roost": 201, "choicescarf,skilllink,bravebird,brickbreak,bulletseed,uturn": 12, "leftovers,skilllink,bravebird,knockoff,rockblast,swordsdance": 38, "choicescarf,skilllink,bravebird,bulletseed,knockoff,rockblast": 16, "choicescarf,skilllink,bravebird,bulletseed,knockoff,uturn": 10, "choiceband,skilllink,bravebird,brickbreak,knockoff,rockblast": 25, "leftovers,skilllink,bravebird,bulletseed,rockblast,swordsdance": 21, "choicescarf,skilllink,bravebird,knockoff,rockblast,uturn": 21, "choiceband,skilllink,bravebird,bulletseed,knockoff,rockblast": 22, "choicescarf,skilllink,bravebird,brickbreak,knockoff,rockblast": 23, "choiceband,skilllink,bravebird,brickbreak,bulletseed,knockoff": 22, "choiceband,keeneye,bravebird,brickbreak,knockoff,uturn": 12, "choiceband,skilllink,bravebird,bulletseed,knockoff,uturn": 14, "leftovers,keeneye,bravebird,brickbreak,knockoff,swordsdance": 36, "choiceband,skilllink,bravebird,brickbreak,rockblast,uturn": 15, "leftovers,skilllink,bravebird,brickbreak,bulletseed,swordsdance": 35, "choicescarf,keeneye,bravebird,brickbreak,knockoff,uturn": 22, "choiceband,skilllink,bravebird,brickbreak,bulletseed,rockblast": 21}, + "toxapex": {"blacksludge,regenerator,banefulbunker,recover,scald,toxic": 666, "blacksludge,regenerator,haze,recover,scald,toxic": 165, "blacksludge,regenerator,haze,recover,scald,toxicspikes": 184, "rockyhelmet,regenerator,haze,recover,scald,toxicspikes": 165, "rockyhelmet,regenerator,haze,recover,scald,toxic": 163}, + "toxicroak": {"lifeorb,dryskin,drainpunch,gunkshot,knockoff,swordsdance": 314, "blacksludge,dryskin,drainpunch,gunkshot,substitute,swordsdance": 328, "lifeorb,dryskin,drainpunch,gunkshot,suckerpunch,swordsdance": 330, "lifeorb,dryskin,drainpunch,earthquake,gunkshot,swordsdance": 317}, + "trevenant": {"sitrusberry,harvest,earthquake,hornleech,protect,toxic": 621, "lifeorb,naturalcure,earthquake,hornleech,shadowclaw,trickroom": 41, "choiceband,naturalcure,drainpunch,hornleech,rockslide,shadowclaw": 51, "lifeorb,naturalcure,hornleech,rockslide,shadowclaw,trickroom": 42, "lifeorb,naturalcure,rockslide,shadowclaw,trickroom,woodhammer": 47, "choiceband,naturalcure,drainpunch,earthquake,shadowclaw,woodhammer": 49, "choiceband,naturalcure,drainpunch,earthquake,hornleech,shadowclaw": 61, "lifeorb,naturalcure,earthquake,shadowclaw,trickroom,woodhammer": 59, "choiceband,naturalcure,earthquake,rockslide,shadowclaw,woodhammer": 52, "choiceband,naturalcure,drainpunch,rockslide,shadowclaw,woodhammer": 43, "lifeorb,naturalcure,drainpunch,hornleech,shadowclaw,trickroom": 50, "lifeorb,naturalcure,drainpunch,shadowclaw,trickroom,woodhammer": 50, "choiceband,naturalcure,earthquake,hornleech,rockslide,shadowclaw": 53}, + "tropius": {"sitrusberry,harvest,airslash,leechseed,protect,substitute": 1062}, + "tsareena": {"leftovers,queenlymajesty,highjumpkick,powerwhip,synthesis,uturn": 237, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn": 104, "assaultvest,queenlymajesty,highjumpkick,knockoff,powerwhip,rapidspin": 157, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,uturn": 191, "lifeorb,queenlymajesty,highjumpkick,knockoff,powerwhip,synthesis": 216, "leftovers,queenlymajesty,highjumpkick,powerwhip,rapidspin,synthesis": 153, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn": 92}, + "turtonator": {"whiteherb,shellarmor,dracometeor,earthquake,fireblast,shellsmash": 297, "whiteherb,shellarmor,dragonpulse,earthquake,fireblast,shellsmash": 306, "assaultvest,shellarmor,dracometeor,dragontail,explosion,fireblast": 220, "assaultvest,shellarmor,dracometeor,earthquake,explosion,fireblast": 198, "assaultvest,shellarmor,dracometeor,dragontail,earthquake,fireblast": 204}, + "typenull": {"eviolite,battlearmor,rest,return,sleeptalk,swordsdance": 707, "eviolite,battlearmor,payback,rest,return,sleeptalk": 733}, + "typhlosion": {"choicespecs,flashfire,eruption,fireblast,focusblast,hiddenpowergrass": 314, "choicescarf,flashfire,eruption,fireblast,focusblast,hiddenpowerrock": 306, "choicescarf,flashfire,eruption,fireblast,focusblast,hiddenpowergrass": 304, "choicespecs,flashfire,eruption,fireblast,focusblast,hiddenpowerrock": 275}, + "tyranitar": {"assaultvest,sandstream,crunch,earthquake,fireblast,stoneedge": 8, "leftovers,sandstream,crunch,pursuit,stealthrock,stoneedge": 14, "assaultvest,sandstream,crunch,earthquake,icebeam,stoneedge": 15, "leftovers,sandstream,crunch,dragondance,earthquake,stoneedge": 42, "assaultvest,sandstream,crunch,fireblast,icebeam,stoneedge": 16, "leftovers,sandstream,crunch,dragondance,firepunch,stoneedge": 41, "assaultvest,sandstream,crunch,fireblast,pursuit,stoneedge": 10, "leftovers,sandstream,crunch,dragondance,icepunch,stoneedge": 41, "choiceband,sandstream,crunch,earthquake,pursuit,stoneedge": 8, "leftovers,sandstream,crunch,icebeam,stealthrock,stoneedge": 5, "leftovers,sandstream,crunch,fireblast,stealthrock,stoneedge": 6, "leftovers,sandstream,crunch,earthquake,stealthrock,stoneedge": 9, "assaultvest,sandstream,crunch,icebeam,pursuit,stoneedge": 9}, + "tyranitarmega": {"tyranitarite,sandstream,crunch,dragondance,icepunch,stoneedge": 306, "tyranitarite,sandstream,crunch,dragondance,firepunch,stoneedge": 278, "tyranitarite,sandstream,crunch,dragondance,earthquake,stoneedge": 334}, + "tyrantrum": {"lumberry,rockhead,dragondance,earthquake,headsmash,outrage": 341, "dragoniumz,rockhead,dragondance,earthquake,headsmash,outrage": 225, "choiceband,rockhead,earthquake,headsmash,outrage,superpower": 151, "choicescarf,rockhead,earthquake,headsmash,outrage,superpower": 160, "rockiumz,rockhead,dragondance,earthquake,headsmash,outrage": 198}, + "umbreon": {"leftovers,synchronize,foulplay,protect,toxic,wish": 715, "leftovers,synchronize,foulplay,healbell,moonlight,toxic": 752}, + "unfezant": {"scopelens,superluck,nightslash,return,roost,uturn": 302, "scopelens,superluck,defog,nightslash,return,roost": 235, "scopelens,superluck,nightslash,pluck,return,roost": 310, "scopelens,superluck,nightslash,return,roost,toxic": 266}, + "unown": {"choicespecs,levitate,hiddenpowerpsychic": 1467}, + "ursaring": {"flameorb,guts,closecombat,crunch,facade,protect": 746, "toxicorb,quickfeet,closecombat,crunch,facade,swordsdance": 761}, + "uxie": {"leftovers,levitate,healbell,knockoff,psychic,thunderwave": 89, "leftovers,levitate,knockoff,psychic,stealthrock,toxic": 63, "leftovers,levitate,psychic,stealthrock,toxic,uturn": 81, "leftovers,levitate,healbell,knockoff,psychic,yawn": 90, "leftovers,levitate,healbell,knockoff,psychic,uturn": 46, "leftovers,levitate,healbell,psychic,uturn,yawn": 83, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 31, "leftovers,levitate,healbell,psychic,stealthrock,toxic": 79, "leftovers,levitate,knockoff,psychic,stealthrock,yawn": 66, "leftovers,levitate,healbell,psychic,toxic,uturn": 88, "leftovers,levitate,knockoff,psychic,uturn,yawn": 112, "leftovers,levitate,healbell,psychic,thunderwave,uturn": 72, "leftovers,levitate,healbell,psychic,stealthrock,thunderwave": 47, "leftovers,levitate,knockoff,psychic,stealthrock,thunderwave": 74, "leftovers,levitate,healbell,psychic,stealthrock,yawn": 69, "leftovers,levitate,healbell,knockoff,psychic,toxic": 81, "leftovers,levitate,knockoff,psychic,toxic,uturn": 97, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 90, "leftovers,levitate,psychic,stealthrock,uturn,yawn": 77, "leftovers,levitate,knockoff,psychic,thunderwave,uturn": 95, "leftovers,levitate,healbell,psychic,stealthrock,uturn": 40, "leftovers,levitate,healbell,knockoff,psychic,stealthrock": 34}, + "vanilluxe": {"assaultvest,snowwarning,blizzard,explosion,freezedry,hiddenpowerground": 234, "assaultvest,snowwarning,blizzard,flashcannon,freezedry,hiddenpowerground": 190, "lifeorb,snowwarning,autotomize,blizzard,freezedry,hiddenpowerground": 187, "lifeorb,snowwarning,autotomize,blizzard,explosion,hiddenpowerground": 179, "lifeorb,snowwarning,autotomize,blizzard,flashcannon,hiddenpowerground": 195, "assaultvest,snowwarning,blizzard,explosion,flashcannon,hiddenpowerground": 193}, + "vaporeon": {"leftovers,waterabsorb,protect,scald,toxic,wish": 699, "leftovers,waterabsorb,healbell,protect,scald,wish": 331, "leftovers,waterabsorb,icebeam,protect,scald,wish": 377}, + "venomoth": {"buginiumz,tintedlens,bugbuzz,quiverdance,roost,sludgebomb": 508, "buginiumz,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgebomb": 515, "blacksludge,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgebomb": 167}, + "venusaur": {"blacksludge,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute": 56, "blacksludge,overgrow,gigadrain,leechseed,sludgebomb,substitute": 63, "blacksludge,overgrow,energyball,knockoff,sludgebomb,synthesis": 19, "blacksludge,chlorophyll,earthquake,knockoff,sludgebomb,synthesis": 28, "blacksludge,chlorophyll,knockoff,sleeppowder,sludgebomb,synthesis": 17, "blacksludge,overgrow,earthquake,energyball,sludgebomb,synthesis": 24, "blacksludge,chlorophyll,earthquake,sleeppowder,sludgebomb,synthesis": 16, "blacksludge,overgrow,energyball,sleeppowder,sludgebomb,synthesis": 13, "blacksludge,chlorophyll,gigadrain,leechseed,sludgebomb,substitute": 1}, + "venusaurmega": {"venusaurite,chlorophyll,gigadrain,knockoff,sludgebomb,synthesis": 322, "venusaurite,chlorophyll,earthquake,gigadrain,sludgebomb,synthesis": 370, "venusaurite,chlorophyll,gigadrain,sleeppowder,sludgebomb,synthesis": 320}, + "vespiquen": {"leftovers,pressure,airslash,defog,roost,toxic": 420, "leftovers,pressure,airslash,roost,toxic,uturn": 529}, + "victini": {"normaliumz,victorystar,blueflare,boltstrike,celebrate,storedpower": 338, "choicescarf,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 205, "choiceband,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 200, "assaultvest,victorystar,boltstrike,glaciate,uturn,vcreate": 39, "assaultvest,victorystar,boltstrike,energyball,focusblast,vcreate": 48, "assaultvest,victorystar,boltstrike,focusblast,psychic,vcreate": 40, "assaultvest,victorystar,boltstrike,psychic,uturn,vcreate": 49, "assaultvest,victorystar,boltstrike,glaciate,psychic,vcreate": 46, "assaultvest,victorystar,boltstrike,focusblast,glaciate,vcreate": 35, "assaultvest,victorystar,boltstrike,energyball,glaciate,vcreate": 40, "assaultvest,victorystar,boltstrike,energyball,psychic,vcreate": 51, "assaultvest,victorystar,boltstrike,focusblast,uturn,vcreate": 43, "assaultvest,victorystar,boltstrike,energyball,uturn,vcreate": 38}, + "victreebel": {"lifeorb,chlorophyll,poisonjab,powerwhip,suckerpunch,swordsdance": 446, "lifeorb,chlorophyll,hiddenpowerground,knockoff,powerwhip,sludgebomb": 70, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgebomb,strengthsap": 31, "lifeorb,chlorophyll,powerwhip,sludgebomb,sunnyday,weatherball": 413, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgebomb,suckerpunch": 32, "lifeorb,chlorophyll,powerwhip,sludgebomb,strengthsap,suckerpunch": 55, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sleeppowder,sludgebomb": 47, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sludgebomb,strengthsap": 40, "lifeorb,chlorophyll,knockoff,powerwhip,sludgebomb,strengthsap": 50, "lifeorb,chlorophyll,knockoff,powerwhip,sleeppowder,sludgebomb": 47, "lifeorb,chlorophyll,hiddenpowerground,powerwhip,sludgebomb,suckerpunch": 46}, + "vigoroth": {"eviolite,vitalspirit,bulkup,return,shadowclaw,slackoff": 354, "eviolite,vitalspirit,bulkup,earthquake,return,slackoff": 337, "eviolite,vitalspirit,bodyslam,bulkup,shadowclaw,slackoff": 359, "eviolite,vitalspirit,bodyslam,bulkup,earthquake,slackoff": 341}, + "vikavolt": {"choicespecs,levitate,bugbuzz,energyball,thunderbolt,voltswitch": 349, "lifeorb,levitate,agility,bugbuzz,energyball,thunderbolt": 336, "leftovers,levitate,bugbuzz,discharge,roost,voltswitch": 185, "leftovers,levitate,bugbuzz,discharge,energyball,roost": 203, "leftovers,levitate,bugbuzz,discharge,roost,toxic": 201}, + "vileplume": {"blacksludge,effectspore,gigadrain,sleeppowder,sludgebomb,strengthsap": 238, "blacksludge,effectspore,aromatherapy,gigadrain,sludgebomb,strengthsap": 186, "blacksludge,effectspore,aromatherapy,hiddenpowerground,sludgebomb,strengthsap": 234, "blacksludge,effectspore,gigadrain,hiddenpowerground,sludgebomb,strengthsap": 194, "blacksludge,effectspore,aromatherapy,sleeppowder,sludgebomb,strengthsap": 179, "blacksludge,effectspore,hiddenpowerground,sleeppowder,sludgebomb,strengthsap": 203}, + "virizion": {"fightiniumz,justified,closecombat,leafblade,stoneedge,swordsdance": 505, "lifeorb,justified,closecombat,leafblade,stoneedge,swordsdance": 691}, + "vivillon": {"leftovers,compoundeyes,energyball,hurricane,quiverdance,sleeppowder": 487, "leftovers,compoundeyes,bugbuzz,hurricane,quiverdance,sleeppowder": 521}, + "volbeat": {"leftovers,prankster,encore,roost,thunderwave,uturn": 374, "leftovers,prankster,defog,roost,thunderwave,uturn": 252, "leftovers,prankster,defog,lunge,roost,thunderwave": 308, "leftovers,prankster,encore,lunge,roost,thunderwave": 356}, + "volcanion": {"leftovers,waterabsorb,defog,fireblast,sludgebomb,steameruption": 108, "leftovers,waterabsorb,fireblast,sludgebomb,steameruption,toxic": 121, "choicescarf,waterabsorb,earthpower,fireblast,sludgebomb,steameruption": 49, "leftovers,waterabsorb,defog,earthpower,fireblast,steameruption": 94, "leftovers,waterabsorb,earthpower,fireblast,steameruption,toxic": 155, "leftovers,waterabsorb,defog,fireblast,steameruption,toxic": 115, "leftovers,waterabsorb,fireblast,steameruption,superpower,toxic": 139, "choicespecs,waterabsorb,earthpower,fireblast,sludgebomb,steameruption": 45, "assaultvest,waterabsorb,fireblast,sludgebomb,steameruption,superpower": 105, "leftovers,waterabsorb,defog,fireblast,steameruption,superpower": 93, "assaultvest,waterabsorb,earthpower,fireblast,steameruption,superpower": 124}, + "volcarona": {"leftovers,swarm,bugbuzz,fierydance,hiddenpowerrock,quiverdance": 12, "buginiumz,swarm,bugbuzz,fireblast,gigadrain,quiverdance": 132, "leftovers,flamebody,bugbuzz,fireblast,hiddenpowerrock,quiverdance": 14, "firiumz,swarm,bugbuzz,fireblast,gigadrain,quiverdance": 141, "buginiumz,flamebody,bugbuzz,fireblast,quiverdance,roost": 135, "buginiumz,swarm,bugbuzz,fireblast,quiverdance,roost": 168, "firiumz,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 121, "buginiumz,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 132, "firiumz,flamebody,bugbuzz,fireblast,quiverdance,roost": 58, "leftovers,flamebody,fierydance,gigadrain,hiddenpowerrock,quiverdance": 26, "leftovers,flamebody,fireblast,gigadrain,quiverdance,roost": 8, "leftovers,swarm,bugbuzz,fireblast,hiddenpowerrock,quiverdance": 13, "firiumz,flamebody,fireblast,gigadrain,quiverdance,roost": 135, "leftovers,flamebody,fierydance,gigadrain,quiverdance,roost": 11, "leftovers,flamebody,fierydance,hiddenpowerrock,quiverdance,roost": 12, "firiumz,swarm,bugbuzz,fireblast,quiverdance,roost": 77, "leftovers,flamebody,bugbuzz,fierydance,gigadrain,quiverdance": 11, "leftovers,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 7, "leftovers,swarm,bugbuzz,fierydance,gigadrain,quiverdance": 16, "leftovers,swarm,bugbuzz,fireblast,gigadrain,quiverdance": 9, "leftovers,flamebody,fireblast,gigadrain,hiddenpowerrock,quiverdance": 19, "leftovers,flamebody,bugbuzz,fierydance,quiverdance,roost": 4, "leftovers,flamebody,bugbuzz,fireblast,quiverdance,roost": 3, "leftovers,swarm,bugbuzz,fireblast,quiverdance,roost": 7, "leftovers,flamebody,fireblast,hiddenpowerrock,quiverdance,roost": 11, "leftovers,flamebody,bugbuzz,fierydance,hiddenpowerrock,quiverdance": 5, "leftovers,swarm,bugbuzz,fierydance,quiverdance,roost": 3}, + "wailord": {"choicescarf,waterveil,hiddenpowergrass,hydropump,icebeam,waterspout": 1413}, + "walrein": {"leftovers,thickfat,icebeam,protect,surf,toxic": 596, "leftovers,thickfat,icebeam,superfang,surf,toxic": 171, "leftovers,thickfat,icebeam,roar,surf,toxic": 191, "leftovers,thickfat,icebeam,roar,superfang,surf": 168}, + "watchog": {"leftovers,analytic,hypnosis,knockoff,return,superfang": 704, "lifeorb,analytic,knockoff,return,stompingtantrum,swordsdance": 386, "lifeorb,analytic,hypnosis,knockoff,return,swordsdance": 365}, + "weavile": {"choiceband,pickpocket,iceshard,iciclecrash,knockoff,lowkick": 173, "lifeorb,pickpocket,iceshard,iciclecrash,knockoff,swordsdance": 223, "choiceband,pickpocket,iciclecrash,knockoff,lowkick,pursuit": 215, "choiceband,pickpocket,iceshard,iciclecrash,knockoff,pursuit": 251, "lifeorb,pickpocket,iciclecrash,knockoff,lowkick,swordsdance": 223}, + "weezing": {"blacksludge,levitate,painsplit,sludgebomb,toxicspikes,willowisp": 359, "blacksludge,levitate,fireblast,painsplit,sludgebomb,toxicspikes": 352, "blacksludge,levitate,fireblast,sludgebomb,toxicspikes,willowisp": 370, "blacksludge,levitate,fireblast,painsplit,sludgebomb,willowisp": 392}, + "whimsicott": {"leftovers,prankster,defog,encore,energyball,moonblast": 13, "leftovers,prankster,moonblast,stunspore,taunt,uturn": 9, "leftovers,prankster,energyball,moonblast,taunt,uturn": 22, "leftovers,prankster,leechseed,moonblast,protect,substitute": 603, "leftovers,prankster,defog,encore,moonblast,stunspore": 13, "leftovers,prankster,defog,encore,moonblast,toxic": 14, "leftovers,prankster,moonblast,stunspore,toxic,uturn": 13, "leftovers,prankster,defog,energyball,moonblast,uturn": 23, "leftovers,prankster,encore,energyball,moonblast,stunspore": 24, "leftovers,prankster,energyball,moonblast,stunspore,taunt": 26, "leftovers,prankster,energyball,moonblast,stunspore,toxic": 33, "leftovers,prankster,defog,moonblast,stunspore,uturn": 12, "leftovers,prankster,encore,moonblast,stunspore,uturn": 16, "leftovers,prankster,defog,moonblast,taunt,toxic": 16, "leftovers,prankster,encore,moonblast,taunt,uturn": 20, "leftovers,prankster,energyball,moonblast,stunspore,uturn": 14, "leftovers,prankster,energyball,moonblast,taunt,toxic": 22, "leftovers,prankster,defog,energyball,moonblast,taunt": 11, "leftovers,prankster,defog,moonblast,stunspore,taunt": 14, "leftovers,prankster,encore,moonblast,taunt,toxic": 18, "leftovers,prankster,defog,moonblast,stunspore,toxic": 19, "leftovers,prankster,encore,energyball,moonblast,uturn": 12, "leftovers,prankster,encore,energyball,moonblast,toxic": 20, "leftovers,prankster,moonblast,taunt,toxic,uturn": 19, "leftovers,prankster,defog,energyball,moonblast,stunspore": 16, "leftovers,prankster,encore,moonblast,stunspore,taunt": 20, "leftovers,prankster,defog,encore,moonblast,uturn": 11, "leftovers,prankster,moonblast,stunspore,taunt,toxic": 15, "leftovers,prankster,defog,energyball,moonblast,toxic": 8, "leftovers,prankster,defog,encore,moonblast,taunt": 16, "leftovers,prankster,encore,moonblast,toxic,uturn": 17, "leftovers,prankster,defog,moonblast,toxic,uturn": 14, "leftovers,prankster,defog,moonblast,taunt,uturn": 8, "leftovers,prankster,encore,energyball,moonblast,taunt": 12, "leftovers,prankster,energyball,moonblast,toxic,uturn": 18, "leftovers,prankster,encore,moonblast,stunspore,toxic": 13}, + "whiscash": {"lifeorb,oblivious,dragondance,earthquake,stoneedge,waterfall": 674, "leftovers,oblivious,earthquake,protect,scald,toxic": 708, "lifeorb,hydration,dragondance,earthquake,stoneedge,waterfall": 8, "leftovers,hydration,earthquake,protect,scald,toxic": 4}, + "wigglytuff": {"leftovers,competitive,dazzlinggleam,knockoff,stealthrock,thunderwave": 74, "leftovers,competitive,dazzlinggleam,protect,thunderwave,wish": 174, "leftovers,competitive,dazzlinggleam,fireblast,protect,wish": 182, "leftovers,competitive,dazzlinggleam,healbell,stealthrock,thunderwave": 51, "leftovers,competitive,dazzlinggleam,fireblast,stealthrock,thunderwave": 69, "leftovers,competitive,dazzlinggleam,healbell,protect,wish": 157, "leftovers,competitive,dazzlinggleam,healbell,knockoff,thunderwave": 69, "leftovers,competitive,dazzlinggleam,fireblast,healbell,thunderwave": 87, "leftovers,competitive,dazzlinggleam,fireblast,healbell,knockoff": 84, "leftovers,competitive,dazzlinggleam,fireblast,healbell,stealthrock": 55, "leftovers,competitive,dazzlinggleam,healbell,knockoff,stealthrock": 61, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,stealthrock": 66, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,thunderwave": 83, "leftovers,competitive,dazzlinggleam,protect,stealthrock,wish": 132, "leftovers,competitive,dazzlinggleam,knockoff,protect,wish": 153}, + "wishiwashi": {"assaultvest,schooling,hiddenpowergrass,icebeam,scald,uturn": 105, "choicespecs,schooling,hiddenpowergrass,hydropump,icebeam,scald": 655, "assaultvest,schooling,earthquake,hiddenpowergrass,hydropump,icebeam": 108, "assaultvest,schooling,hiddenpowergrass,hydropump,icebeam,uturn": 126, "assaultvest,schooling,earthquake,hydropump,icebeam,uturn": 140, "assaultvest,schooling,earthquake,icebeam,scald,uturn": 129, "assaultvest,schooling,earthquake,hiddenpowergrass,icebeam,scald": 103}, + "wobbuffet": {"custapberry,shadowtag,counter,destinybond,encore,mirrorcoat": 1604}, + "wormadam": {"leftovers,overcoat,gigadrain,hiddenpowerground,protect,toxic": 54, "lifeorb,overcoat,bugbuzz,energyball,hiddenpowerrock,quiverdance": 14, "choicespecs,overcoat,bugbuzz,hiddenpowerground,leafstorm,psychic": 28, "lifeorb,overcoat,bugbuzz,gigadrain,hiddenpowerground,quiverdance": 14, "leftovers,anticipation,gigadrain,hiddenpowerground,protect,toxic": 50, "lifeorb,anticipation,bugbuzz,gigadrain,hiddenpowerrock,quiverdance": 14, "choicespecs,anticipation,bugbuzz,hiddenpowerrock,leafstorm,psychic": 32, "lifeorb,anticipation,bugbuzz,energyball,hiddenpowerground,quiverdance": 14, "lifeorb,anticipation,bugbuzz,gigadrain,hiddenpowerground,quiverdance": 17, "lifeorb,anticipation,bugbuzz,energyball,hiddenpowerrock,quiverdance": 10, "lifeorb,overcoat,bugbuzz,energyball,hiddenpowerground,quiverdance": 16, "choicespecs,overcoat,bugbuzz,hiddenpowerrock,leafstorm,psychic": 24, "lifeorb,overcoat,bugbuzz,gigadrain,hiddenpowerrock,quiverdance": 15, "choicespecs,anticipation,bugbuzz,hiddenpowerground,leafstorm,psychic": 15}, + "wormadamsandy": {"leftovers,overcoat,earthquake,protect,stealthrock,toxic": 362, "leftovers,overcoat,earthquake,infestation,protect,toxic": 62}, + "wormadamtrash": {"leftovers,overcoat,flashcannon,infestation,protect,toxic": 67, "leftovers,overcoat,flashcannon,protect,stealthrock,toxic": 417}, + "xatu": {"leftovers,magicbounce,heatwave,psychic,roost,thunderwave": 122, "leftovers,magicbounce,calmmind,heatwave,psychic,roost": 571, "leftovers,magicbounce,heatwave,psychic,roost,uturn": 99, "leftovers,magicbounce,psychic,roost,toxic,uturn": 126, "leftovers,magicbounce,psychic,roost,thunderwave,uturn": 105, "leftovers,magicbounce,heatwave,psychic,roost,toxic": 114}, + "xerneas": {"powerherb,fairyaura,focusblast,geomancy,moonblast,psyshock": 1618}, + "xurkitree": {"electriumz,beastboost,electricterrain,energyball,hiddenpowerice,thunderbolt": 208, "choicespecs,beastboost,dazzlinggleam,energyball,thunderbolt,voltswitch": 65, "lifeorb,beastboost,dazzlinggleam,hiddenpowerice,tailglow,thunderbolt": 113, "choicescarf,beastboost,dazzlinggleam,energyball,thunderbolt,voltswitch": 56, "electriumz,beastboost,dazzlinggleam,electricterrain,hiddenpowerice,thunderbolt": 199, "electriumz,beastboost,dazzlinggleam,electricterrain,energyball,thunderbolt": 184, "choicespecs,beastboost,dazzlinggleam,energyball,hiddenpowerice,thunderbolt": 67, "lifeorb,beastboost,dazzlinggleam,energyball,tailglow,thunderbolt": 113, "choicescarf,beastboost,energyball,hiddenpowerice,thunderbolt,voltswitch": 67, "choicespecs,beastboost,energyball,hiddenpowerice,thunderbolt,voltswitch": 66, "lifeorb,beastboost,energyball,hiddenpowerice,tailglow,thunderbolt": 126, "choicescarf,beastboost,dazzlinggleam,energyball,hiddenpowerice,thunderbolt": 78, "choicescarf,beastboost,dazzlinggleam,hiddenpowerice,thunderbolt,voltswitch": 54, "choicespecs,beastboost,dazzlinggleam,hiddenpowerice,thunderbolt,voltswitch": 56}, + "yanmega": {"lifeorb,speedboost,airslash,bugbuzz,hiddenpowerground,protect": 535, "choicespecs,tintedlens,airslash,bugbuzz,gigadrain,uturn": 558}, + "yveltal": {"rockyhelmet,darkaura,knockoff,oblivionwing,roost,uturn": 137, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,taunt": 141, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,suckerpunch": 140, "leftovers,darkaura,knockoff,oblivionwing,roost,uturn": 142, "leftovers,darkaura,knockoff,oblivionwing,roost,suckerpunch": 137, "leftovers,darkaura,knockoff,oblivionwing,roost,toxic": 132, "rockyhelmet,darkaura,knockoff,oblivionwing,roost,toxic": 129, "leftovers,darkaura,knockoff,oblivionwing,roost,taunt": 151}, + "zangoose": {"toxicorb,toxicboost,facade,knockoff,quickattack,swordsdance": 448, "toxicorb,toxicboost,closecombat,facade,knockoff,swordsdance": 494, "toxicorb,toxicboost,closecombat,facade,knockoff,quickattack": 521}, + "zapdos": {"leftovers,static,defog,discharge,roost,toxic": 234, "leftovers,static,discharge,heatwave,roost,uturn": 34, "leftovers,static,defog,discharge,heatwave,roost": 244, "leftovers,static,defog,discharge,roost,uturn": 217, "leftovers,static,defog,discharge,hiddenpowerice,roost": 229, "leftovers,static,discharge,hiddenpowerice,roost,uturn": 30, "leftovers,static,discharge,roost,toxic,uturn": 26, "leftovers,static,discharge,heatwave,roost,toxic": 21, "leftovers,static,discharge,heatwave,hiddenpowerice,roost": 29, "leftovers,static,discharge,hiddenpowerice,roost,toxic": 19}, + "zebstrika": {"expertbelt,sapsipper,hiddenpowerice,overheat,voltswitch,wildcharge": 752, "choicespecs,lightningrod,hiddenpowerice,overheat,thunderbolt,voltswitch": 723}, + "zekrom": {"dragoniumz,teravolt,boltstrike,honeclaws,outrage,roost": 528, "assaultvest,teravolt,boltstrike,dracometeor,outrage,voltswitch": 596, "lumberry,teravolt,boltstrike,honeclaws,outrage,roost": 54, "lumberry,teravolt,boltstrike,honeclaws,outrage,substitute": 35}, + "zeraora": {"lifeorb,voltabsorb,bulkup,closecombat,knockoff,plasmafists": 761, "assaultvest,voltabsorb,closecombat,hiddenpowerice,plasmafists,voltswitch": 122, "assaultvest,voltabsorb,closecombat,grassknot,plasmafists,voltswitch": 121, "assaultvest,voltabsorb,closecombat,grassknot,knockoff,plasmafists": 124, "assaultvest,voltabsorb,closecombat,grassknot,hiddenpowerice,plasmafists": 138, "assaultvest,voltabsorb,closecombat,hiddenpowerice,knockoff,plasmafists": 123, "assaultvest,voltabsorb,closecombat,knockoff,plasmafists,voltswitch": 118}, + "zoroark": {"choicespecs,illusion,darkpulse,flamethrower,sludgebomb,uturn": 165, "choicespecs,illusion,darkpulse,flamethrower,sludgebomb,trick": 170, "lifeorb,illusion,darkpulse,flamethrower,nastyplot,sludgebomb": 149, "lifeorb,illusion,darkpulse,focusblast,nastyplot,sludgebomb": 168, "choicespecs,illusion,darkpulse,focusblast,sludgebomb,uturn": 190, "choicespecs,illusion,darkpulse,focusblast,sludgebomb,trick": 187, "choicespecs,illusion,darkpulse,flamethrower,focusblast,sludgebomb": 114}, + "zygarde": {"lumberry,powerconstruct,dragondance,outrage,substitute,thousandarrows": 161, "lumberry,powerconstruct,dragondance,extremespeed,outrage,thousandarrows": 170, "leftovers,powerconstruct,coil,rest,sleeptalk,thousandarrows": 336}, + "zygarde10": {"dragoniumz,aurabreak,coil,irontail,outrage,thousandarrows": 148, "dragoniumz,aurabreak,coil,extremespeed,outrage,thousandarrows": 132, "choiceband,aurabreak,extremespeed,irontail,outrage,thousandarrows": 344, "lumberry,aurabreak,coil,irontail,outrage,thousandarrows": 27, "lumberry,aurabreak,coil,extremespeed,outrage,thousandarrows": 28} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen8ou.json b/data/pkmn_sets/gen8ou.json new file mode 100644 index 000000000..973c06d67 --- /dev/null +++ b/data/pkmn_sets/gen8ou.json @@ -0,0 +1,3 @@ +{ + "pokemon": {} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen8randombattle.json b/data/pkmn_sets/gen8randombattle.json new file mode 100644 index 000000000..1fcad2b70 --- /dev/null +++ b/data/pkmn_sets/gen8randombattle.json @@ -0,0 +1,459 @@ +{ + "abomasnow": {"assaultvest,snowwarning,blizzard,earthquake,iceshard,woodhammer": 370, "lightclay,snowwarning,auroraveil,blizzard,earthquake,woodhammer": 345, "lightclay,snowwarning,auroraveil,blizzard,earthquake,iceshard": 297, "lightclay,snowwarning,auroraveil,blizzard,iceshard,woodhammer": 404}, + "absol": {"lifeorb,justified,closecombat,knockoff,suckerpunch,swordsdance": 430, "lifeorb,justified,knockoff,playrough,suckerpunch,swordsdance": 420, "focussash,justified,knockoff,playrough,suckerpunch,swordsdance": 74, "focussash,justified,closecombat,knockoff,suckerpunch,swordsdance": 80, "choiceband,justified,closecombat,knockoff,playrough,suckerpunch": 343, "lifeorb,justified,closecombat,knockoff,playrough,swordsdance": 273, "focussash,justified,closecombat,knockoff,playrough,swordsdance": 50}, + "accelgor": {"heavydutyboots,stickyhold,bugbuzz,focusblast,spikes,toxicspikes": 73, "heavydutyboots,stickyhold,bugbuzz,energyball,toxicspikes,yawn": 63, "focussash,stickyhold,bugbuzz,focusblast,toxicspikes,yawn": 12, "heavydutyboots,stickyhold,bugbuzz,energyball,focusblast,toxicspikes": 65, "heavydutyboots,stickyhold,bugbuzz,energyball,sludgebomb,toxicspikes": 52, "choicespecs,stickyhold,bugbuzz,energyball,focusblast,sludgebomb": 104, "heavydutyboots,stickyhold,bugbuzz,spikes,toxicspikes,yawn": 58, "heavydutyboots,stickyhold,bugbuzz,focusblast,sludgebomb,spikes": 71, "heavydutyboots,stickyhold,bugbuzz,energyball,sludgebomb,spikes": 61, "heavydutyboots,stickyhold,bugbuzz,sludgebomb,toxicspikes,yawn": 66, "focussash,stickyhold,bugbuzz,focusblast,spikes,yawn": 16, "leftovers,stickyhold,bugbuzz,sludgebomb,spikes,yawn": 10, "heavydutyboots,stickyhold,bugbuzz,focusblast,sludgebomb,toxicspikes": 46, "heavydutyboots,stickyhold,bugbuzz,energyball,focusblast,spikes": 57, "focussash,stickyhold,bugbuzz,energyball,sludgebomb,toxicspikes": 14, "heavydutyboots,stickyhold,bugbuzz,focusblast,spikes,yawn": 56, "heavydutyboots,stickyhold,bugbuzz,energyball,spikes,yawn": 69, "focussash,stickyhold,bugbuzz,sludgebomb,toxicspikes,yawn": 5, "heavydutyboots,stickyhold,bugbuzz,focusblast,sludgebomb,yawn": 84, "lifeorb,stickyhold,bugbuzz,focusblast,sludgebomb,toxicspikes": 5, "heavydutyboots,stickyhold,bugbuzz,energyball,sludgebomb,yawn": 59, "focussash,stickyhold,bugbuzz,energyball,spikes,yawn": 14, "focussash,stickyhold,bugbuzz,energyball,spikes,toxicspikes": 18, "heavydutyboots,stickyhold,bugbuzz,energyball,spikes,toxicspikes": 64, "focussash,stickyhold,bugbuzz,focusblast,spikes,toxicspikes": 20, "heavydutyboots,stickyhold,bugbuzz,energyball,focusblast,yawn": 78, "focussash,stickyhold,bugbuzz,sludgebomb,spikes,yawn": 12, "heavydutyboots,stickyhold,bugbuzz,sludgebomb,spikes,yawn": 53, "focussash,stickyhold,bugbuzz,energyball,toxicspikes,yawn": 18, "lifeorb,stickyhold,bugbuzz,energyball,sludgebomb,yawn": 5, "lifeorb,stickyhold,bugbuzz,focusblast,sludgebomb,spikes": 6, "focussash,stickyhold,bugbuzz,energyball,sludgebomb,yawn": 7, "lifeorb,stickyhold,bugbuzz,energyball,focusblast,spikes": 5, "focussash,stickyhold,bugbuzz,sludgebomb,spikes,toxicspikes": 15, "leftovers,stickyhold,bugbuzz,focusblast,toxicspikes,yawn": 4, "focussash,stickyhold,bugbuzz,focusblast,sludgebomb,toxicspikes": 11, "leftovers,stickyhold,bugbuzz,spikes,toxicspikes,yawn": 3, "focussash,stickyhold,bugbuzz,energyball,focusblast,yawn": 14, "leftovers,stickyhold,bugbuzz,energyball,spikes,yawn": 6, "heavydutyboots,stickyhold,bugbuzz,sludgebomb,spikes,toxicspikes": 53, "focussash,stickyhold,bugbuzz,focusblast,sludgebomb,spikes": 12, "focussash,stickyhold,bugbuzz,energyball,sludgebomb,spikes": 18, "focussash,stickyhold,bugbuzz,spikes,toxicspikes,yawn": 16, "focussash,stickyhold,bugbuzz,focusblast,sludgebomb,yawn": 8, "heavydutyboots,stickyhold,bugbuzz,focusblast,toxicspikes,yawn": 49, "focussash,stickyhold,bugbuzz,energyball,focusblast,toxicspikes": 16, "lifeorb,stickyhold,bugbuzz,energyball,focusblast,toxicspikes": 4, "focussash,stickyhold,bugbuzz,energyball,focusblast,spikes": 8, "leftovers,stickyhold,bugbuzz,focusblast,spikes,toxicspikes": 6, "lifeorb,stickyhold,bugbuzz,energyball,sludgebomb,toxicspikes": 2, "lifeorb,stickyhold,bugbuzz,focusblast,sludgebomb,yawn": 6, "leftovers,stickyhold,bugbuzz,sludgebomb,spikes,toxicspikes": 8, "leftovers,stickyhold,bugbuzz,focusblast,spikes,yawn": 3, "lifeorb,stickyhold,bugbuzz,energyball,sludgebomb,spikes": 3, "leftovers,stickyhold,bugbuzz,energyball,toxicspikes,yawn": 3, "leftovers,stickyhold,bugbuzz,sludgebomb,toxicspikes,yawn": 5, "lifeorb,stickyhold,bugbuzz,energyball,focusblast,yawn": 6, "leftovers,stickyhold,bugbuzz,energyball,spikes,toxicspikes": 3}, + "aegislash": {"lifeorb,stancechange,closecombat,flashcannon,kingsshield,shadowball": 20, "leftovers,stancechange,kingsshield,shadowball,substitute,toxic": 631, "lifeorb,stancechange,closecombat,kingsshield,shadowball,shadowsneak": 21, "lifeorb,stancechange,closecombat,flashcannon,shadowball,shadowsneak": 18, "lifeorb,stancechange,flashcannon,kingsshield,shadowball,shadowsneak": 19, "lifeorb,stancechange,closecombat,flashcannon,kingsshield,shadowsneak": 22}, + "aegislashblade": {"lifeorb,stancechange,closecombat,ironhead,shadowsneak,swordsdance": 401, "lifeorb,stancechange,closecombat,ironhead,shadowclaw,swordsdance": 212, "choiceband,stancechange,closecombat,ironhead,shadowclaw,shadowsneak": 139}, + "aerodactyl": {"heavydutyboots,unnerve,dualwingbeat,earthquake,honeclaws,stoneedge": 1149, "lifeorb,unnerve,dualwingbeat,earthquake,honeclaws,stoneedge": 64, "choiceband,unnerve,aquatail,dualwingbeat,earthquake,stoneedge": 267}, + "aggron": {"airballoon,rockhead,earthquake,headsmash,heavyslam,rockpolish": 541, "airballoon,rockhead,bodypress,headsmash,heavyslam,rockpolish": 525, "choiceband,rockhead,bodypress,earthquake,headsmash,heavyslam": 141, "airballoon,rockhead,earthquake,headsmash,heavyslam,stealthrock": 104, "airballoon,rockhead,bodypress,headsmash,heavyslam,stealthrock": 99}, + "alakazam": {"lifeorb,magicguard,focusblast,nastyplot,psychic,shadowball": 1271, "focussash,magicguard,counter,focusblast,psychic,shadowball": 379}, + "alcremiegmax": {"leftovers,aromaveil,calmmind,dazzlinggleam,mysticalfire,recover": 611, "leftovers,sweetveil,calmmind,dazzlinggleam,mysticalfire,recover": 596, "leftovers,aromaveil,calmmind,dazzlinggleam,psychic,recover": 259, "leftovers,sweetveil,calmmind,dazzlinggleam,psychic,recover": 240}, + "altaria": {"heavydutyboots,naturalcure,defog,dracometeor,earthquake,roost": 117, "heavydutyboots,naturalcure,defog,dracometeor,fireblast,roost": 134, "heavydutyboots,naturalcure,dracometeor,earthquake,roost,toxic": 335, "heavydutyboots,naturalcure,defog,dracometeor,roost,toxic": 355, "heavydutyboots,naturalcure,dracometeor,fireblast,roost,toxic": 354, "leftovers,naturalcure,dracometeor,earthquake,roost,toxic": 29, "heavydutyboots,naturalcure,dracometeor,earthquake,fireblast,roost": 128, "leftovers,naturalcure,dracometeor,fireblast,roost,toxic": 38, "lifeorb,naturalcure,dracometeor,earthquake,fireblast,roost": 13}, + "amoonguss": {"blacksludge,regenerator,gigadrain,sludgebomb,spore,toxic": 1055, "blacksludge,regenerator,sludgebomb,spore,synthesis,toxic": 481}, + "appletun": {"leftovers,thickfat,appleacid,dragonpulse,leechseed,recover": 777}, + "appletungmax": {"leftovers,thickfat,appleacid,dracometeor,leechseed,recover": 732}, + "araquanid": {"heavydutyboots,waterbubble,leechlife,liquidation,stickyweb,toxic": 823, "leftovers,waterbubble,leechlife,liquidation,stickyweb,toxic": 49, "heavydutyboots,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb": 273, "heavydutyboots,waterbubble,liquidation,mirrorcoat,stickyweb,toxic": 299, "leftovers,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb": 20, "leftovers,waterbubble,liquidation,mirrorcoat,stickyweb,toxic": 22, "heavydutyboots,waterbubble,leechlife,liquidation,mirrorcoat,toxic": 32, "leftovers,waterbubble,leechlife,liquidation,mirrorcoat,toxic": 2}, + "arcanine": {"heavydutyboots,intimidate,flareblitz,morningsun,wildcharge,willowisp": 89, "heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,toxic": 111, "heavydutyboots,intimidate,closecombat,extremespeed,flareblitz,morningsun": 45, "heavydutyboots,flashfire,extremespeed,flareblitz,morningsun,wildcharge": 51, "heavydutyboots,flashfire,extremespeed,flareblitz,morningsun,toxic": 120, "heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,willowisp": 98, "leftovers,flashfire,extremespeed,flareblitz,morningsun,willowisp": 6, "heavydutyboots,flashfire,closecombat,flareblitz,morningsun,toxic": 110, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,toxic": 119, "heavydutyboots,flashfire,flareblitz,morningsun,toxic,wildcharge": 90, "heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,wildcharge": 54, "choiceband,flashfire,closecombat,extremespeed,flareblitz,wildcharge": 45, "leftovers,flashfire,flareblitz,morningsun,toxic,wildcharge": 4, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge": 38, "heavydutyboots,flashfire,flareblitz,morningsun,wildcharge,willowisp": 93, "heavydutyboots,intimidate,flareblitz,morningsun,toxic,wildcharge": 115, "heavydutyboots,flashfire,closecombat,flareblitz,morningsun,willowisp": 85, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,willowisp": 81, "heavydutyboots,flashfire,closecombat,extremespeed,flareblitz,morningsun": 33, "heavydutyboots,flashfire,extremespeed,flareblitz,morningsun,willowisp": 85, "heavydutyboots,flashfire,closecombat,flareblitz,morningsun,wildcharge": 41, "lifeorb,flashfire,extremespeed,flareblitz,morningsun,wildcharge": 6, "leftovers,flashfire,flareblitz,morningsun,wildcharge,willowisp": 3, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,wildcharge": 35, "lifeorb,flashfire,closecombat,flareblitz,morningsun,wildcharge": 6, "leftovers,flashfire,closecombat,flareblitz,morningsun,willowisp": 5, "leftovers,flashfire,closecombat,flareblitz,morningsun,toxic": 5, "lifeorb,flashfire,closecombat,extremespeed,flareblitz,morningsun": 2, "leftovers,flashfire,extremespeed,flareblitz,morningsun,toxic": 6}, + "archeops": {"heavydutyboots,defeatist,dualwingbeat,earthquake,roost,stoneedge": 593, "choiceband,defeatist,dualwingbeat,earthquake,stoneedge,uturn": 305, "heavydutyboots,defeatist,dualwingbeat,roost,stoneedge,uturn": 576}, + "arctovish": {"assaultvest,waterabsorb,fishiousrend,freezedry,iciclecrash,psychicfangs": 271, "choiceband,waterabsorb,bodyslam,fishiousrend,iciclecrash,psychicfangs": 603, "assaultvest,waterabsorb,bodyslam,fishiousrend,freezedry,iciclecrash": 555, "choiceband,slushrush,bodyslam,fishiousrend,iciclecrash,psychicfangs": 5}, + "arctozolt": {"heavydutyboots,voltabsorb,boltbeak,iciclecrash,stompingtantrum,thunderwave": 555, "lifeorb,voltabsorb,boltbeak,iciclecrash,stompingtantrum,thunderwave": 41, "assaultvest,voltabsorb,boltbeak,freezedry,iciclecrash,stompingtantrum": 251, "heavydutyboots,voltabsorb,boltbeak,freezedry,iciclecrash,thunderwave": 536, "lifeorb,voltabsorb,boltbeak,freezedry,iciclecrash,thunderwave": 42, "heavydutyboots,slushrush,boltbeak,iciclecrash,stompingtantrum,thunderwave": 1}, + "armaldo": {"heavydutyboots,swiftswim,liquidation,rapidspin,stoneedge,swordsdance": 159, "heavydutyboots,swiftswim,earthquake,rapidspin,stoneedge,swordsdance": 187, "heavydutyboots,swiftswim,knockoff,liquidation,stealthrock,stoneedge": 39, "heavydutyboots,swiftswim,knockoff,liquidation,stoneedge,swordsdance": 163, "heavydutyboots,swiftswim,knockoff,rapidspin,stoneedge,swordsdance": 168, "heavydutyboots,swiftswim,earthquake,knockoff,stoneedge,swordsdance": 171, "heavydutyboots,swiftswim,knockoff,rapidspin,stealthrock,stoneedge": 40, "heavydutyboots,swiftswim,earthquake,knockoff,stealthrock,stoneedge": 41, "heavydutyboots,swiftswim,earthquake,knockoff,rapidspin,stoneedge": 78, "heavydutyboots,swiftswim,earthquake,liquidation,rapidspin,stoneedge": 81, "choiceband,swiftswim,earthquake,knockoff,liquidation,stoneedge": 73, "heavydutyboots,swiftswim,liquidation,rapidspin,stealthrock,stoneedge": 40, "heavydutyboots,swiftswim,earthquake,liquidation,stoneedge,swordsdance": 180, "heavydutyboots,swiftswim,knockoff,liquidation,rapidspin,stoneedge": 55, "heavydutyboots,swiftswim,earthquake,liquidation,stealthrock,stoneedge": 55, "lifeorb,swiftswim,earthquake,liquidation,stealthrock,stoneedge": 4, "heavydutyboots,swiftswim,earthquake,rapidspin,stealthrock,stoneedge": 40, "lifeorb,swiftswim,earthquake,liquidation,stoneedge,swordsdance": 13, "lifeorb,swiftswim,earthquake,knockoff,stealthrock,stoneedge": 1, "lifeorb,swiftswim,knockoff,liquidation,stoneedge,swordsdance": 16, "lifeorb,swiftswim,earthquake,knockoff,stoneedge,swordsdance": 10, "lifeorb,swiftswim,knockoff,liquidation,stealthrock,stoneedge": 5}, + "aromatisse": {"leftovers,aromaveil,calmmind,moonblast,protect,wish": 673, "leftovers,aromaveil,moonblast,protect,toxic,wish": 1118}, + "articuno": {"heavydutyboots,pressure,freezedry,healbell,roost,toxic": 473, "heavydutyboots,pressure,defog,freezedry,roost,toxic": 293}, + "articunogalar": {"heavydutyboots,competitive,airslash,calmmind,freezingglare,recover": 734, "leftovers,competitive,airslash,calmmind,freezingglare,recover": 45}, + "audino": {"leftovers,regenerator,knockoff,protect,toxic,wish": 1294, "leftovers,regenerator,healbell,knockoff,protect,wish": 347}, + "aurorus": {"heavydutyboots,snowwarning,ancientpower,blizzard,freezedry,stealthrock": 209, "heavydutyboots,snowwarning,ancientpower,blizzard,earthpower,thunderwave": 108, "heavydutyboots,snowwarning,ancientpower,blizzard,freezedry,thunderwave": 231, "choicespecs,snowwarning,ancientpower,blizzard,earthpower,freezedry": 301, "heavydutyboots,snowwarning,ancientpower,blizzard,earthpower,stealthrock": 96, "heavydutyboots,snowwarning,ancientpower,blizzard,stealthrock,thunderwave": 104, "heavydutyboots,snowwarning,blizzard,earthpower,freezedry,thunderwave": 104, "leftovers,snowwarning,blizzard,freezedry,stealthrock,thunderwave": 10, "leftovers,snowwarning,blizzard,earthpower,freezedry,thunderwave": 7, "heavydutyboots,snowwarning,blizzard,freezedry,stealthrock,thunderwave": 88, "heavydutyboots,snowwarning,blizzard,earthpower,freezedry,stealthrock": 85, "heavydutyboots,snowwarning,blizzard,earthpower,stealthrock,thunderwave": 77, "leftovers,snowwarning,ancientpower,blizzard,freezedry,stealthrock": 7, "leftovers,snowwarning,ancientpower,blizzard,stealthrock,thunderwave": 8, "leftovers,snowwarning,ancientpower,blizzard,freezedry,thunderwave": 13, "leftovers,snowwarning,blizzard,earthpower,stealthrock,thunderwave": 5, "leftovers,snowwarning,ancientpower,blizzard,earthpower,stealthrock": 8, "leftovers,snowwarning,blizzard,earthpower,freezedry,stealthrock": 6, "leftovers,snowwarning,ancientpower,blizzard,earthpower,thunderwave": 7}, + "avalugg": {"leftovers,sturdy,avalanche,bodypress,curse,recover": 1220, "heavydutyboots,sturdy,avalanche,bodypress,rapidspin,recover": 286}, + "azelf": {"lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock": 440, "focussash,levitate,dazzlinggleam,psyshock,stealthrock,taunt": 12, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic": 487, "focussash,levitate,psychic,stealthrock,taunt,uturn": 7, "leftovers,levitate,psychic,stealthrock,taunt,uturn": 35, "leftovers,levitate,dazzlinggleam,psyshock,stealthrock,uturn": 20, "leftovers,levitate,fireblast,psychic,stealthrock,taunt": 29, "leftovers,levitate,fireblast,psychic,taunt,uturn": 48, "lifeorb,levitate,dazzlinggleam,fireblast,psychic,stealthrock": 29, "leftovers,levitate,dazzlinggleam,psychic,stealthrock,taunt": 35, "leftovers,levitate,dazzlinggleam,psyshock,taunt,uturn": 36, "lifeorb,levitate,dazzlinggleam,fireblast,psychic,taunt": 58, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn": 67, "leftovers,levitate,dazzlinggleam,psychic,taunt,uturn": 37, "focussash,levitate,fireblast,psyshock,stealthrock,uturn": 4, "lifeorb,levitate,dazzlinggleam,fireblast,psyshock,taunt": 22, "focussash,levitate,psyshock,stealthrock,taunt,uturn": 6, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn": 36, "leftovers,levitate,fireblast,psyshock,taunt,uturn": 22, "lifeorb,levitate,dazzlinggleam,fireblast,psyshock,stealthrock": 22, "leftovers,levitate,psyshock,stealthrock,taunt,uturn": 11, "leftovers,levitate,dazzlinggleam,psyshock,stealthrock,taunt": 11, "leftovers,levitate,fireblast,psyshock,stealthrock,taunt": 18, "focussash,levitate,dazzlinggleam,fireblast,psychic,stealthrock": 10, "leftovers,levitate,dazzlinggleam,psychic,stealthrock,uturn": 30, "focussash,levitate,dazzlinggleam,fireblast,psyshock,stealthrock": 8, "focussash,levitate,dazzlinggleam,psyshock,stealthrock,uturn": 7, "focussash,levitate,fireblast,psychic,stealthrock,uturn": 11, "leftovers,levitate,fireblast,psychic,stealthrock,uturn": 29, "focussash,levitate,dazzlinggleam,psychic,stealthrock,uturn": 9, "focussash,levitate,fireblast,psychic,stealthrock,taunt": 10, "leftovers,levitate,fireblast,psyshock,stealthrock,uturn": 20, "focussash,levitate,fireblast,psyshock,stealthrock,taunt": 5, "focussash,levitate,dazzlinggleam,psychic,stealthrock,taunt": 4}, + "azumarill": {"choiceband,hugepower,aquajet,knockoff,liquidation,playrough": 823, "choiceband,hugepower,aquajet,liquidation,playrough,superpower": 800}, + "barbaracle": {"whiteherb,toughclaws,crosschop,liquidation,shellsmash,stoneedge": 574, "whiteherb,toughclaws,earthquake,liquidation,shellsmash,stoneedge": 522, "choicescarf,toughclaws,crosschop,earthquake,liquidation,stoneedge": 152, "choiceband,toughclaws,crosschop,earthquake,liquidation,stoneedge": 95}, + "barraskewda": {"choiceband,swiftswim,closecombat,crunch,liquidation,psychicfangs": 442, "choiceband,swiftswim,closecombat,liquidation,poisonjab,psychicfangs": 401, "choiceband,swiftswim,crunch,liquidation,poisonjab,psychicfangs": 411, "choiceband,swiftswim,closecombat,crunch,liquidation,poisonjab": 399}, + "basculin": {"choiceband,adaptability,aquajet,crunch,liquidation,psychicfangs": 328, "choiceband,adaptability,crunch,flipturn,liquidation,psychicfangs": 193, "choiceband,adaptability,crunch,liquidation,psychicfangs,superpower": 145, "choiceband,adaptability,crunch,flipturn,liquidation,superpower": 145, "choiceband,adaptability,aquajet,liquidation,psychicfangs,superpower": 328, "choiceband,adaptability,flipturn,liquidation,psychicfangs,superpower": 176, "choiceband,adaptability,aquajet,crunch,liquidation,superpower": 376}, + "beartic": {"choiceband,slushrush,aquajet,iciclecrash,stoneedge,superpower": 291, "heavydutyboots,slushrush,aquajet,iciclecrash,stoneedge,swordsdance": 402, "heavydutyboots,slushrush,aquajet,iciclecrash,superpower,swordsdance": 363, "lifeorb,slushrush,aquajet,iciclecrash,stoneedge,swordsdance": 25, "heavydutyboots,slushrush,iciclecrash,stoneedge,superpower,swordsdance": 362, "lifeorb,slushrush,aquajet,iciclecrash,superpower,swordsdance": 30, "lifeorb,slushrush,iciclecrash,stoneedge,superpower,swordsdance": 26}, + "beheeyem": {"lifeorb,analytic,darkpulse,psychic,thunderbolt,trickroom": 1072, "choicespecs,analytic,darkpulse,psychic,thunderbolt,trick": 589}, + "bellossom": {"leftovers,chlorophyll,gigadrain,moonblast,quiverdance,strengthsap": 594, "leftovers,chlorophyll,gigadrain,moonblast,quiverdance,sleeppowder": 312, "leftovers,chlorophyll,gigadrain,quiverdance,sleeppowder,strengthsap": 615}, + "bewear": {"lifeorb,fluffy,closecombat,darkestlariat,icepunch,swordsdance": 286, "lifeorb,fluffy,closecombat,darkestlariat,doubleedge,swordsdance": 436, "lifeorb,fluffy,closecombat,doubleedge,icepunch,swordsdance": 441, "choicescarf,fluffy,closecombat,darkestlariat,doubleedge,icepunch": 184, "choiceband,fluffy,closecombat,darkestlariat,doubleedge,icepunch": 95}, + "bisharp": {"lifeorb,defiant,ironhead,knockoff,suckerpunch,swordsdance": 1125, "lifeorb,defiant,ironhead,knockoff,stealthrock,suckerpunch": 176, "focussash,defiant,ironhead,knockoff,stealthrock,suckerpunch": 48}, + "blacephalon": {"choicescarf,beastboost,fireblast,psyshock,shadowball,trick": 292, "lifeorb,beastboost,calmmind,fireblast,psyshock,shadowball": 75, "heavydutyboots,beastboost,calmmind,fireblast,psyshock,shadowball": 979, "focussash,beastboost,calmmind,fireblast,psyshock,shadowball": 204}, + "blastoise": {"whiteherb,torrent,earthquake,hydropump,icebeam,shellsmash": 786}, + "blastoisegmax": {"leftovers,torrent,protect,rapidspin,scald,toxic": 226, "leftovers,torrent,icebeam,rapidspin,scald,toxic": 311, "leftovers,torrent,icebeam,protect,scald,toxic": 272}, + "blaziken": {"lifeorb,speedboost,closecombat,flareblitz,stoneedge,swordsdance": 611, "lifeorb,speedboost,closecombat,flareblitz,knockoff,swordsdance": 668, "choiceband,speedboost,closecombat,flareblitz,knockoff,stoneedge": 306}, + "blissey": {"leftovers,naturalcure,seismictoss,softboiled,teleport,toxic": 1377, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,toxic": 269}, + "boltund": {"lifeorb,strongjaw,crunch,firefang,thunderfang,voltswitch": 47, "lifeorb,strongjaw,crunch,playrough,thunderfang,voltswitch": 53, "lifeorb,strongjaw,bulkup,crunch,firefang,thunderfang": 148, "lifeorb,strongjaw,bulkup,firefang,playrough,thunderfang": 159, "lifeorb,strongjaw,bulkup,crunch,playrough,thunderfang": 167, "focussash,strongjaw,bulkup,playrough,psychicfangs,thunderfang": 19, "lifeorb,strongjaw,playrough,psychicfangs,thunderfang,voltswitch": 52, "lifeorb,strongjaw,bulkup,firefang,psychicfangs,thunderfang": 151, "choiceband,strongjaw,crunch,playrough,psychicfangs,thunderfang": 55, "lifeorb,strongjaw,bulkup,crunch,psychicfangs,thunderfang": 145, "lifeorb,strongjaw,crunch,psychicfangs,thunderfang,voltswitch": 59, "focussash,strongjaw,bulkup,crunch,playrough,thunderfang": 26, "lifeorb,strongjaw,firefang,playrough,thunderfang,voltswitch": 57, "focussash,strongjaw,bulkup,crunch,psychicfangs,thunderfang": 33, "choiceband,strongjaw,crunch,firefang,psychicfangs,thunderfang": 63, "focussash,strongjaw,playrough,psychicfangs,thunderfang,voltswitch": 8, "lifeorb,strongjaw,bulkup,playrough,psychicfangs,thunderfang": 162, "choiceband,strongjaw,firefang,playrough,psychicfangs,thunderfang": 45, "focussash,strongjaw,bulkup,firefang,playrough,thunderfang": 28, "choiceband,strongjaw,crunch,firefang,playrough,thunderfang": 54, "focussash,strongjaw,crunch,firefang,thunderfang,voltswitch": 9, "focussash,strongjaw,bulkup,crunch,firefang,thunderfang": 23, "focussash,strongjaw,bulkup,firefang,psychicfangs,thunderfang": 18, "lifeorb,strongjaw,firefang,psychicfangs,thunderfang,voltswitch": 43, "focussash,strongjaw,firefang,playrough,thunderfang,voltswitch": 7, "focussash,strongjaw,firefang,psychicfangs,thunderfang,voltswitch": 10, "focussash,strongjaw,crunch,psychicfangs,thunderfang,voltswitch": 7, "focussash,strongjaw,crunch,playrough,thunderfang,voltswitch": 6}, + "bouffalant": {"leftovers,sapsipper,earthquake,headcharge,megahorn,swordsdance": 226, "leftovers,reckless,closecombat,earthquake,headcharge,swordsdance": 232, "leftovers,reckless,closecombat,headcharge,megahorn,swordsdance": 227, "leftovers,sapsipper,closecombat,earthquake,headcharge,swordsdance": 198, "leftovers,reckless,earthquake,headcharge,megahorn,swordsdance": 215, "leftovers,sapsipper,closecombat,headcharge,megahorn,swordsdance": 210, "choiceband,sapsipper,closecombat,earthquake,headcharge,megahorn": 178, "choiceband,reckless,closecombat,earthquake,headcharge,megahorn": 167}, + "braviary": {"heavydutyboots,defiant,bravebird,bulkup,closecombat,roost": 1400, "leftovers,defiant,bravebird,bulkup,closecombat,roost": 92}, + "bronzong": {"leftovers,levitate,earthquake,ironhead,stealthrock,toxic": 508, "leftovers,levitate,earthquake,ironhead,protect,toxic": 566, "leftovers,levitate,ironhead,protect,stealthrock,toxic": 430}, + "butterfree": {"heavydutyboots,compoundeyes,energyball,hurricane,quiverdance,sleeppowder": 741}, + "butterfreegmax": {"heavydutyboots,tintedlens,airslash,bugbuzz,quiverdance,sleeppowder": 688}, + "buzzwole": {"choiceband,beastboost,closecombat,darkestlariat,dualwingbeat,leechlife": 183, "choicescarf,beastboost,closecombat,earthquake,leechlife,stoneedge": 111, "choiceband,beastboost,closecombat,dualwingbeat,earthquake,leechlife": 184, "choiceband,beastboost,closecombat,darkestlariat,dualwingbeat,earthquake": 114, "choiceband,beastboost,closecombat,dualwingbeat,earthquake,stoneedge": 109, "choiceband,beastboost,closecombat,darkestlariat,leechlife,stoneedge": 61, "choiceband,beastboost,closecombat,dualwingbeat,leechlife,stoneedge": 169, "choiceband,beastboost,closecombat,earthquake,leechlife,stoneedge": 66, "choicescarf,beastboost,closecombat,darkestlariat,earthquake,leechlife": 124, "choicescarf,beastboost,closecombat,darkestlariat,leechlife,stoneedge": 113, "choiceband,beastboost,closecombat,darkestlariat,dualwingbeat,stoneedge": 99, "choiceband,beastboost,closecombat,darkestlariat,earthquake,leechlife": 59, "choiceband,beastboost,closecombat,darkestlariat,earthquake,stoneedge": 32, "choicescarf,beastboost,closecombat,darkestlariat,earthquake,stoneedge": 85}, + "calyrex": {"leftovers,unnerve,calmmind,gigadrain,psyshock,substitute": 385, "leftovers,unnerve,gigadrain,leechseed,psyshock,substitute": 102}, + "calyrexice": {"heavydutyboots,asone(glastrier),closecombat,glaciallance,highhorsepower,trickroom": 78, "weaknesspolicy,asone(glastrier),agility,closecombat,glaciallance,highhorsepower": 426, "lifeorb,asone(glastrier),closecombat,glaciallance,highhorsepower,trickroom": 3}, + "calyrexshadow": {"leftovers,asone(spectrier),astralbarrage,nastyplot,psyshock,substitute": 310, "leftovers,asone(spectrier),astralbarrage,nastyplot,pollenpuff,psyshock": 140, "choicespecs,asone(spectrier),astralbarrage,pollenpuff,psyshock,trick": 67, "leftovers,asone(spectrier),astralbarrage,pollenpuff,psyshock,substitute": 19}, + "carbink": {"lightclay,sturdy,lightscreen,moonblast,reflect,stealthrock": 709, "lightclay,sturdy,bodypress,lightscreen,moonblast,reflect": 841, "leftovers,sturdy,bodypress,lightscreen,moonblast,stealthrock": 9, "leftovers,sturdy,bodypress,moonblast,reflect,stealthrock": 13}, + "carracosta": {"whiteherb,swiftswim,aquajet,hydropump,shellsmash,stoneedge": 537, "weaknesspolicy,solidrock,aquajet,hydropump,shellsmash,stoneedge": 538, "weaknesspolicy,solidrock,aquajet,shellsmash,stoneedge,superpower": 138, "whiteherb,swiftswim,aquajet,shellsmash,stoneedge,superpower": 125}, + "celebi": {"lifeorb,naturalcure,earthpower,gigadrain,nastyplot,psychic": 59, "leftovers,naturalcure,gigadrain,nastyplot,psychic,recover": 589, "leftovers,naturalcure,leafstorm,nastyplot,psychic,recover": 215, "leftovers,naturalcure,earthpower,leafstorm,recover,uturn": 48, "leftovers,naturalcure,leafstorm,recover,stealthrock,uturn": 39, "leftovers,naturalcure,earthpower,leafstorm,psychic,recover": 46, "leftovers,naturalcure,leafstorm,psychic,recover,stealthrock": 46, "leftovers,naturalcure,gigadrain,psychic,recover,stealthrock": 35, "leftovers,naturalcure,earthpower,leafstorm,nastyplot,psychic": 110, "leftovers,naturalcure,leafstorm,psychic,recover,uturn": 54, "choicespecs,naturalcure,earthpower,leafstorm,psychic,uturn": 47, "leftovers,naturalcure,earthpower,leafstorm,recover,stealthrock": 26, "leftovers,naturalcure,earthpower,gigadrain,recover,stealthrock": 22, "leftovers,naturalcure,earthpower,psychic,recover,uturn": 4, "choicescarf,naturalcure,earthpower,gigadrain,leafstorm,psychic": 23, "lifeorb,naturalcure,earthpower,gigadrain,psychic,recover": 31, "choicespecs,naturalcure,earthpower,gigadrain,leafstorm,psychic": 12}, + "celesteela": {"leftovers,beastboost,airslash,flashcannon,leechseed,protect": 1036, "leftovers,beastboost,airslash,fireblast,flashcannon,leechseed": 108, "assaultvest,beastboost,airslash,earthquake,fireblast,flashcannon": 217, "leftovers,beastboost,airslash,earthquake,flashcannon,leechseed": 95}, + "centiskorch": {"heavydutyboots,flashfire,coil,firelash,knockoff,leechlife": 1207, "heavydutyboots,flashfire,coil,firelash,knockoff,powerwhip": 329}, + "chandelure": {"lifeorb,flashfire,calmmind,energyball,fireblast,shadowball": 28, "heavydutyboots,flashfire,calmmind,energyball,fireblast,shadowball": 401, "heavydutyboots,flashfire,calmmind,fireblast,shadowball,substitute": 860, "choicescarf,flashfire,energyball,fireblast,shadowball,trick": 189, "heavydutyboots,flashfire,energyball,fireblast,shadowball,substitute": 30, "leftovers,flashfire,calmmind,fireblast,shadowball,substitute": 54, "leftovers,flashfire,energyball,fireblast,shadowball,substitute": 1}, + "chansey": {"eviolite,naturalcure,aromatherapy,seismictoss,softboiled,stealthrock": 275, "eviolite,naturalcure,aromatherapy,seismictoss,softboiled,toxic": 767, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,toxic": 682}, + "charizard": {"heavydutyboots,solarpower,airslash,fireblast,focusblast,roost": 546, "heavydutyboots,solarpower,airslash,earthquake,fireblast,focusblast": 274, "heavydutyboots,solarpower,airslash,earthquake,fireblast,roost": 556}, + "cherrim": {"choicescarf,flowergift,energyball,healingwish,petaldance,pollenpuff": 1246, "choicescarf,flowergift,dazzlinggleam,energyball,healingwish,pollenpuff": 291}, + "cinccino": {"choiceband,skilllink,bulletseed,knockoff,tailslap,uturn": 399, "choiceband,skilllink,knockoff,rockblast,tailslap,uturn": 390, "lifeorb,skilllink,bulletseed,knockoff,rockblast,tailslap": 407, "choiceband,skilllink,bulletseed,rockblast,tailslap,uturn": 376}, + "cinderace": {"choiceband,libero,gunkshot,pyroball,uturn,zenheadbutt": 75, "choiceband,libero,gunkshot,highjumpkick,pyroball,zenheadbutt": 84, "choiceband,libero,highjumpkick,pyroball,uturn,zenheadbutt": 82, "choiceband,libero,gunkshot,highjumpkick,pyroball,uturn": 90, "heavydutyboots,libero,courtchange,highjumpkick,pyroball,zenheadbutt": 90, "heavydutyboots,libero,courtchange,gunkshot,highjumpkick,pyroball": 74, "heavydutyboots,libero,courtchange,gunkshot,pyroball,zenheadbutt": 90, "heavydutyboots,libero,courtchange,highjumpkick,pyroball,uturn": 98, "heavydutyboots,libero,courtchange,pyroball,uturn,zenheadbutt": 78, "heavydutyboots,libero,courtchange,gunkshot,pyroball,uturn": 73}, + "cinderacegmax": {"heavydutyboots,libero,bulkup,highjumpkick,pyroball,suckerpunch": 785, "lifeorb,libero,bulkup,highjumpkick,pyroball,suckerpunch": 56}, + "clawitzer": {"choicespecs,megalauncher,aurasphere,darkpulse,icebeam,scald": 133, "choicespecs,megalauncher,darkpulse,icebeam,uturn,waterpulse": 302, "choicespecs,megalauncher,aurasphere,darkpulse,uturn,waterpulse": 276, "choicespecs,megalauncher,aurasphere,darkpulse,scald,uturn": 111, "choicespecs,megalauncher,aurasphere,darkpulse,icebeam,waterpulse": 272, "choicespecs,megalauncher,darkpulse,icebeam,scald,uturn": 108, "choicespecs,megalauncher,aurasphere,icebeam,uturn,waterpulse": 313, "choicespecs,megalauncher,aurasphere,icebeam,scald,uturn": 99}, + "claydol": {"leftovers,levitate,earthquake,icebeam,psychic,toxic": 286, "assaultvest,levitate,earthquake,icebeam,psychic,rapidspin": 151, "leftovers,levitate,earthquake,icebeam,stealthrock,toxic": 114, "leftovers,levitate,earthquake,icebeam,rapidspin,toxic": 117, "leftovers,levitate,earthquake,psychic,rapidspin,stealthrock": 79, "leftovers,levitate,earthquake,psychic,rapidspin,toxic": 256, "leftovers,levitate,earthquake,psychic,stealthrock,toxic": 294, "leftovers,levitate,earthquake,icebeam,rapidspin,stealthrock": 91, "leftovers,levitate,earthquake,rapidspin,stealthrock,toxic": 117, "leftovers,levitate,earthquake,icebeam,psychic,stealthrock": 113}, + "clefable": {"lifeorb,magicguard,calmmind,fireblast,moonblast,softboiled": 916, "leftovers,unaware,moonblast,softboiled,stealthrock,thunderwave": 114, "lifeorb,magicguard,fireblast,moonblast,softboiled,thunderwave": 328, "lifeorb,magicguard,fireblast,moonblast,softboiled,stealthrock": 240, "leftovers,magicguard,moonblast,softboiled,stealthrock,thunderwave": 112}, + "cloyster": {"whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash": 1462}, + "coalossalgmax": {"heavydutyboots,flamebody,overheat,stealthrock,stoneedge,willowisp": 217, "heavydutyboots,flamebody,overheat,rapidspin,stealthrock,stoneedge": 236, "heavydutyboots,flamebody,overheat,spikes,stealthrock,stoneedge": 210, "heavydutyboots,flamebody,overheat,rapidspin,spikes,stoneedge": 277, "heavydutyboots,flamebody,overheat,rapidspin,stoneedge,willowisp": 220, "heavydutyboots,flamebody,overheat,spikes,stoneedge,willowisp": 222, "airballoon,flamebody,overheat,spikes,stoneedge,willowisp": 19, "airballoon,flamebody,overheat,spikes,stealthrock,stoneedge": 11, "airballoon,flamebody,overheat,stealthrock,stoneedge,willowisp": 9}, + "cobalion": {"assaultvest,justified,closecombat,ironhead,stoneedge,voltswitch": 160, "leftovers,justified,closecombat,ironhead,stealthrock,voltswitch": 103, "leftovers,justified,closecombat,stealthrock,stoneedge,voltswitch": 80, "lumberry,justified,closecombat,ironhead,stoneedge,swordsdance": 983, "leftovers,justified,closecombat,ironhead,stealthrock,stoneedge": 101}, + "cofagrigus": {"leftovers,mummy,bodypress,shadowball,toxicspikes,willowisp": 397, "leftovers,mummy,memento,shadowball,toxicspikes,willowisp": 411, "leftovers,mummy,bodypress,memento,shadowball,toxicspikes": 454, "leftovers,mummy,bodypress,memento,shadowball,willowisp": 477}, + "comfey": {"choicespecs,triage,drainingkiss,gigadrain,trick,uturn": 393, "lifeorb,triage,calmmind,drainingkiss,gigadrain,storedpower": 1365}, + "conkeldurr": {"flameorb,guts,drainpunch,facade,knockoff,machpunch": 345, "flameorb,guts,closecombat,facade,knockoff,machpunch": 1374}, + "copperajah": {"lifeorb,sheerforce,ironhead,playrough,rockslide,stealthrock": 156, "lifeorb,sheerforce,earthquake,ironhead,rockslide,stealthrock": 149, "lifeorb,sheerforce,earthquake,ironhead,playrough,rockslide": 279, "lifeorb,sheerforce,earthquake,ironhead,playrough,stealthrock": 156}, + "copperajahgmax": {"choiceband,heavymetal,earthquake,heatcrash,heavyslam,powerwhip": 186, "choiceband,heavymetal,earthquake,heavyslam,powerwhip,stoneedge": 187, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,stoneedge": 186, "choiceband,heavymetal,heatcrash,heavyslam,powerwhip,stoneedge": 181}, + "corsola": {"rockyhelmet,regenerator,powergem,recover,scald,toxic": 392, "rockyhelmet,regenerator,recover,scald,stealthrock,toxic": 121, "rockyhelmet,regenerator,powergem,recover,scald,stealthrock": 106}, + "corsolagalar": {"eviolite,cursedbody,haze,nightshade,strengthsap,willowisp": 174, "eviolite,cursedbody,haze,nightshade,stealthrock,strengthsap": 59, "eviolite,cursedbody,nightshade,stealthrock,strengthsap,willowisp": 592}, + "corviknight": {"leftovers,mirrorarmor,bodypress,bravebird,defog,roost": 246, "leftovers,mirrorarmor,bodypress,bravebird,bulkup,roost": 1007, "leftovers,pressure,bodypress,bravebird,defog,roost": 217}, + "cradily": {"leftovers,stormdrain,powerwhip,recover,stoneedge,swordsdance": 1090, "leftovers,stormdrain,recover,stealthrock,stoneedge,toxic": 98, "leftovers,stormdrain,powerwhip,recover,stoneedge,toxic": 282, "leftovers,stormdrain,powerwhip,recover,stealthrock,stoneedge": 88}, + "cramorant": {"heavydutyboots,gulpmissile,bravebird,roost,superpower,surf": 729, "heavydutyboots,gulpmissile,bravebird,defog,roost,surf": 744, "lifeorb,gulpmissile,bravebird,roost,superpower,surf": 68}, + "crawdaunt": {"lifeorb,adaptability,aquajet,crabhammer,dragondance,knockoff": 338, "choiceband,adaptability,aquajet,closecombat,crabhammer,knockoff": 310, "lifeorb,adaptability,aquajet,closecombat,dragondance,knockoff": 265, "lifeorb,adaptability,closecombat,crabhammer,dragondance,knockoff": 380, "focussash,adaptability,aquajet,crabhammer,dragondance,knockoff": 95, "focussash,adaptability,closecombat,crabhammer,dragondance,knockoff": 76, "focussash,adaptability,aquajet,closecombat,dragondance,knockoff": 45}, + "cresselia": {"leftovers,levitate,calmmind,moonblast,moonlight,psyshock": 842, "leftovers,levitate,moonblast,moonlight,psyshock,thunderwave": 530, "leftovers,levitate,moonblast,moonlight,psyshock,toxic": 270}, + "crobat": {"heavydutyboots,infiltrator,bravebird,roost,toxic,uturn": 262, "heavydutyboots,infiltrator,bravebird,roost,superfang,toxic": 262, "heavydutyboots,infiltrator,bravebird,roost,taunt,toxic": 218, "heavydutyboots,infiltrator,bravebird,roost,superfang,taunt": 74, "heavydutyboots,infiltrator,bravebird,defog,roost,toxic": 245, "heavydutyboots,infiltrator,bravebird,roost,superfang,uturn": 62, "heavydutyboots,infiltrator,bravebird,defog,roost,taunt": 65, "heavydutyboots,infiltrator,bravebird,roost,taunt,uturn": 72, "heavydutyboots,infiltrator,bravebird,defog,roost,uturn": 63, "heavydutyboots,infiltrator,bravebird,defog,roost,superfang": 57, "blacksludge,infiltrator,bravebird,roost,superfang,toxic": 16, "blacksludge,infiltrator,bravebird,roost,taunt,toxic": 19, "blacksludge,infiltrator,bravebird,roost,superfang,taunt": 6}, + "crustle": {"heavydutyboots,sturdy,earthquake,shellsmash,stoneedge,xscissor": 1336, "whiteherb,sturdy,earthquake,shellsmash,stoneedge,xscissor": 281}, + "cryogonal": {"heavydutyboots,levitate,freezedry,rapidspin,recover,toxic": 642, "heavydutyboots,levitate,freezedry,haze,rapidspin,recover": 295, "leftovers,levitate,freezedry,haze,recover,toxic": 672}, + "cursola": {"leftovers,weakarmor,earthpower,shadowball,stealthrock,strengthsap": 192, "leftovers,weakarmor,earthpower,hydropump,shadowball,strengthsap": 237, "leftovers,weakarmor,earthpower,icebeam,shadowball,stealthrock": 91, "leftovers,weakarmor,earthpower,hydropump,shadowball,stealthrock": 93, "focussash,weakarmor,earthpower,hydropump,shadowball,stealthrock": 18, "choicespecs,weakarmor,earthpower,hydropump,icebeam,shadowball": 170, "leftovers,weakarmor,hydropump,icebeam,shadowball,strengthsap": 234, "leftovers,weakarmor,icebeam,shadowball,stealthrock,strengthsap": 195, "leftovers,weakarmor,hydropump,icebeam,shadowball,stealthrock": 86, "leftovers,weakarmor,hydropump,shadowball,stealthrock,strengthsap": 170, "leftovers,weakarmor,earthpower,icebeam,shadowball,strengthsap": 249, "focussash,weakarmor,earthpower,icebeam,shadowball,stealthrock": 20, "focussash,weakarmor,hydropump,icebeam,shadowball,stealthrock": 17}, + "darmanitan": {"lifeorb,sheerforce,earthquake,flareblitz,rockslide,uturn": 214, "lifeorb,sheerforce,earthquake,flareblitz,superpower,uturn": 122, "lifeorb,sheerforce,flareblitz,rockslide,superpower,uturn": 130, "lifeorb,sheerforce,earthquake,flareblitz,rockslide,superpower": 21}, + "darmanitangalar": {"choicescarf,gorillatactics,earthquake,iciclecrash,superpower,uturn": 141, "choicescarf,gorillatactics,earthquake,flareblitz,iciclecrash,uturn": 224, "choicescarf,gorillatactics,flareblitz,iciclecrash,superpower,uturn": 126, "choicescarf,gorillatactics,earthquake,flareblitz,iciclecrash,superpower": 32}, + "darmanitangalarzen": {"salacberry,zenmode,bellydrum,earthquake,iciclecrash,substitute": 266, "salacberry,zenmode,bellydrum,firepunch,iciclecrash,substitute": 182}, + "decidueye": {"lumberry,overgrow,leafblade,poltergeist,roost,swordsdance": 766, "lifeorb,overgrow,bravebird,leafblade,poltergeist,swordsdance": 147, "lifeorb,overgrow,leafblade,poltergeist,shadowsneak,swordsdance": 136, "lifeorb,overgrow,leafblade,poltergeist,roost,shadowsneak": 174, "lifeorb,overgrow,bravebird,leafblade,poltergeist,roost": 155, "choiceband,overgrow,bravebird,leafblade,poltergeist,shadowsneak": 107}, + "dedenne": {"sitrusberry,cheekpouch,protect,recycle,thunderbolt,toxic": 1554}, + "delibird": {"heavydutyboots,vitalspirit,freezedry,memento,rapidspin,spikes": 1422}, + "dhelmise": {"lumberry,steelworker,anchorshot,poltergeist,powerwhip,swordsdance": 1206, "choiceband,steelworker,anchorshot,earthquake,poltergeist,powerwhip": 176, "assaultvest,steelworker,anchorshot,poltergeist,powerwhip,rapidspin": 136}, + "dialga": {"leftovers,pressure,dracometeor,flashcannon,thunderbolt,toxic": 369, "leftovers,pressure,dracometeor,fireblast,flashcannon,toxic": 366, "leftovers,pressure,dracometeor,flashcannon,stealthrock,toxic": 358, "leftovers,pressure,dracometeor,flashcannon,stealthrock,thunderbolt": 117, "choicescarf,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 113, "leftovers,pressure,dracometeor,fireblast,flashcannon,stealthrock": 102, "choicespecs,pressure,dracometeor,fireblast,flashcannon,thunderbolt": 47}, + "diancie": {"leftovers,clearbody,diamondstorm,earthpower,moonblast,toxic": 397, "leftovers,clearbody,bodypress,diamondstorm,moonblast,stealthrock": 107, "leftovers,clearbody,diamondstorm,earthpower,moonblast,stealthrock": 112, "assaultvest,clearbody,bodypress,diamondstorm,earthpower,moonblast": 176, "leftovers,clearbody,bodypress,diamondstorm,moonblast,toxic": 396, "leftovers,clearbody,diamondstorm,moonblast,stealthrock,toxic": 354}, + "diggersby": {"lifeorb,hugepower,bodyslam,earthquake,knockoff,swordsdance": 510, "lifeorb,hugepower,bodyslam,earthquake,quickattack,swordsdance": 429, "choiceband,hugepower,bodyslam,earthquake,knockoff,uturn": 59, "lifeorb,hugepower,earthquake,knockoff,quickattack,swordsdance": 221, "choiceband,hugepower,earthquake,knockoff,quickattack,uturn": 120, "choiceband,hugepower,bodyslam,earthquake,quickattack,uturn": 116, "choicescarf,hugepower,bodyslam,earthquake,knockoff,uturn": 110, "choiceband,hugepower,bodyslam,earthquake,knockoff,quickattack": 13}, + "ditto": {"choicescarf,imposter,transform": 1643}, + "doublade": {"eviolite,noguard,closecombat,ironhead,shadowsneak,swordsdance": 927, "eviolite,noguard,closecombat,ironhead,shadowclaw,swordsdance": 470, "eviolite,noguard,ironhead,shadowclaw,shadowsneak,swordsdance": 26}, + "dracovish": {"choiceband,strongjaw,crunch,fishiousrend,icefang,lowkick": 418, "choiceband,strongjaw,fishiousrend,icefang,lowkick,psychicfangs": 385, "choiceband,strongjaw,crunch,fishiousrend,lowkick,psychicfangs": 397, "choiceband,strongjaw,crunch,fishiousrend,icefang,psychicfangs": 387, "choiceband,sandrush,crunch,fishiousrend,icefang,psychicfangs": 6, "choiceband,sandrush,crunch,fishiousrend,lowkick,psychicfangs": 3, "choiceband,sandrush,fishiousrend,icefang,lowkick,psychicfangs": 4, "choiceband,sandrush,crunch,fishiousrend,icefang,lowkick": 4}, + "dracozolt": {"choicescarf,hustle,aerialace,boltbeak,lowkick,outrage": 305, "choiceband,hustle,boltbeak,earthquake,lowkick,outrage": 182, "choicescarf,hustle,boltbeak,earthquake,lowkick,outrage": 320, "choicescarf,hustle,aerialace,boltbeak,earthquake,outrage": 357, "choiceband,hustle,aerialace,boltbeak,lowkick,outrage": 150, "choiceband,hustle,aerialace,boltbeak,earthquake,outrage": 180, "choicescarf,sandrush,boltbeak,earthquake,lowkick,outrage": 2, "choiceband,sandrush,boltbeak,earthquake,lowkick,outrage": 1, "choicescarf,sandrush,aerialace,boltbeak,earthquake,outrage": 4, "choicescarf,sandrush,aerialace,boltbeak,lowkick,outrage": 3}, + "dragalge": {"blacksludge,adaptability,dracometeor,focusblast,sludgewave,toxicspikes": 823, "blacksludge,adaptability,dragonpulse,focusblast,sludgewave,toxicspikes": 220, "choicespecs,adaptability,dracometeor,flipturn,focusblast,sludgewave": 252, "choicespecs,adaptability,dracometeor,dragonpulse,focusblast,sludgewave": 123, "choicespecs,adaptability,dragonpulse,flipturn,focusblast,sludgewave": 128}, + "dragapult": {"choicespecs,infiltrator,dracometeor,fireblast,shadowball,uturn": 389, "choicespecs,infiltrator,dracometeor,shadowball,thunderbolt,uturn": 383, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,thunderbolt": 361, "choicespecs,clearbody,dracometeor,shadowball,thunderbolt,uturn": 179, "choicespecs,clearbody,dracometeor,fireblast,shadowball,thunderbolt": 185, "choicespecs,clearbody,dracometeor,fireblast,shadowball,uturn": 144}, + "dragonite": {"choiceband,multiscale,dualwingbeat,earthquake,extremespeed,outrage": 254, "heavydutyboots,multiscale,dragondance,dualwingbeat,earthquake,outrage": 1183}, + "drampa": {"leftovers,berserk,dracometeor,fireblast,glare,roost": 115, "leftovers,berserk,dracometeor,glare,hypervoice,roost": 317, "leftovers,berserk,dracometeor,fireblast,roost,thunderbolt": 137, "leftovers,berserk,dracometeor,fireblast,hypervoice,roost": 312, "leftovers,berserk,dracometeor,glare,roost,thunderbolt": 144, "choicespecs,sapsipper,dracometeor,fireblast,hypervoice,thunderbolt": 188, "leftovers,berserk,dracometeor,hypervoice,roost,thunderbolt": 298}, + "drapion": {"blacksludge,sniper,knockoff,poisonjab,taunt,toxicspikes": 116, "lifeorb,sniper,earthquake,knockoff,poisonjab,swordsdance": 1102, "lifeorb,sniper,earthquake,knockoff,poisonjab,taunt": 109, "blacksludge,sniper,earthquake,knockoff,taunt,toxicspikes": 109, "lifeorb,sniper,earthquake,knockoff,poisonjab,toxicspikes": 97, "choiceband,sniper,aquatail,earthquake,knockoff,poisonjab": 71}, + "drednaw": {"focussash,swiftswim,liquidation,stealthrock,stoneedge,superpower": 56, "lifeorb,swiftswim,liquidation,stoneedge,superpower,swordsdance": 1130, "lifeorb,swiftswim,liquidation,stealthrock,stoneedge,superpower": 184}, + "drifblim": {"sitrusberry,unburden,calmmind,shadowball,strengthsap,thunderbolt": 1516}, + "druddigon": {"choiceband,roughskin,gunkshot,outrage,suckerpunch,superpower": 97, "lifeorb,moldbreaker,earthquake,glare,outrage,suckerpunch": 78, "lifeorb,roughskin,glare,gunkshot,outrage,suckerpunch": 95, "leftovers,moldbreaker,earthquake,glare,outrage,stealthrock": 62, "choiceband,moldbreaker,earthquake,outrage,suckerpunch,superpower": 95, "choiceband,roughskin,earthquake,gunkshot,outrage,suckerpunch": 101, "lifeorb,roughskin,gunkshot,outrage,stealthrock,suckerpunch": 68, "choiceband,roughskin,earthquake,gunkshot,outrage,superpower": 109, "lifeorb,moldbreaker,earthquake,glare,outrage,superpower": 95, "lifeorb,moldbreaker,outrage,stealthrock,suckerpunch,superpower": 67, "lifeorb,moldbreaker,earthquake,outrage,stealthrock,superpower": 63, "leftovers,moldbreaker,glare,outrage,stealthrock,suckerpunch": 74, "lifeorb,roughskin,earthquake,glare,gunkshot,outrage": 93, "leftovers,moldbreaker,glare,outrage,stealthrock,superpower": 68, "lifeorb,roughskin,glare,gunkshot,outrage,superpower": 75, "lifeorb,moldbreaker,earthquake,outrage,stealthrock,suckerpunch": 62, "lifeorb,roughskin,gunkshot,outrage,stealthrock,superpower": 56, "leftovers,roughskin,glare,gunkshot,outrage,stealthrock": 73, "lifeorb,moldbreaker,glare,outrage,suckerpunch,superpower": 86, "lifeorb,roughskin,earthquake,gunkshot,outrage,stealthrock": 64}, + "dubwool": {"leftovers,fluffy,bodypress,cottonguard,rest,sleeptalk": 1079, "leftovers,bulletproof,bodypress,cottonguard,rest,sleeptalk": 524}, + "dugtrio": {"choiceband,arenatrap,earthquake,memento,stoneedge,suckerpunch": 788}, + "dugtrioalola": {"lifeorb,tanglinghair,earthquake,ironhead,stealthrock,stoneedge": 165, "choiceband,tanglinghair,earthquake,ironhead,stoneedge,suckerpunch": 316, "focussash,tanglinghair,earthquake,ironhead,stealthrock,suckerpunch": 48, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,suckerpunch": 171, "focussash,tanglinghair,earthquake,ironhead,stealthrock,stoneedge": 42, "choiceband,sandforce,earthquake,ironhead,stoneedge,suckerpunch": 4, "lifeorb,sandforce,earthquake,ironhead,stealthrock,stoneedge": 3}, + "dunsparce": {"leftovers,serenegrace,bodyslam,coil,earthquake,roost": 1632}, + "duraludon": {"assaultvest,lightmetal,bodypress,dracometeor,flashcannon,thunderbolt": 654, "lifeorb,lightmetal,bodypress,dracometeor,flashcannon,stealthrock": 369, "focussash,lightmetal,bodypress,dracometeor,flashcannon,stealthrock": 87, "lifeorb,lightmetal,dracometeor,flashcannon,stealthrock,thunderbolt": 337, "focussash,lightmetal,dracometeor,flashcannon,stealthrock,thunderbolt": 71}, + "durant": {"lifeorb,hustle,honeclaws,ironhead,rockslide,superpower": 1233, "choiceband,hustle,firstimpression,ironhead,rockslide,superpower": 290}, + "dusknoir": {"leftovers,frisk,earthquake,poltergeist,shadowsneak,willowisp": 166, "choiceband,frisk,earthquake,icepunch,poltergeist,shadowsneak": 85, "leftovers,pressure,earthquake,painsplit,poltergeist,willowisp": 170, "leftovers,frisk,earthquake,icepunch,poltergeist,willowisp": 166, "choiceband,frisk,icepunch,poltergeist,shadowsneak,trick": 96, "leftovers,frisk,icepunch,poltergeist,shadowsneak,willowisp": 136, "leftovers,frisk,earthquake,painsplit,poltergeist,shadowsneak": 161, "choiceband,frisk,earthquake,icepunch,poltergeist,trick": 97, "leftovers,pressure,icepunch,painsplit,poltergeist,willowisp": 169, "leftovers,pressure,painsplit,poltergeist,shadowsneak,willowisp": 166, "leftovers,frisk,earthquake,icepunch,painsplit,poltergeist": 140, "leftovers,frisk,icepunch,painsplit,poltergeist,shadowsneak": 139, "choiceband,frisk,earthquake,poltergeist,shadowsneak,trick": 101}, + "eiscue": {"salacberry,iceface,bellydrum,iciclecrash,liquidation,substitute": 807, "sitrusberry,iceface,bellydrum,iciclecrash,liquidation,zenheadbutt": 748}, + "eldegoss": {"heavydutyboots,regenerator,energyball,leechseed,pollenpuff,rapidspin": 378, "heavydutyboots,regenerator,energyball,pollenpuff,rapidspin,sleeppowder": 332, "leftovers,regenerator,energyball,leechseed,pollenpuff,sleeppowder": 497, "heavydutyboots,regenerator,energyball,leechseed,rapidspin,sleeppowder": 382}, + "electivire": {"lifeorb,motordrive,crosschop,flamethrower,icepunch,wildcharge": 107, "lifeorb,motordrive,flamethrower,icepunch,voltswitch,wildcharge": 177, "lifeorb,motordrive,earthquake,flamethrower,icepunch,wildcharge": 111, "lifeorb,motordrive,earthquake,icepunch,voltswitch,wildcharge": 175, "lifeorb,motordrive,crosschop,flamethrower,voltswitch,wildcharge": 206, "lifeorb,motordrive,earthquake,flamethrower,voltswitch,wildcharge": 207, "lifeorb,motordrive,crosschop,icepunch,voltswitch,wildcharge": 179, "lifeorb,motordrive,crosschop,earthquake,voltswitch,wildcharge": 196, "lifeorb,motordrive,crosschop,earthquake,flamethrower,wildcharge": 110, "choicescarf,motordrive,crosschop,earthquake,icepunch,wildcharge": 79, "choiceband,motordrive,crosschop,earthquake,icepunch,wildcharge": 52}, + "emolga": {"heavydutyboots,motordrive,airslash,roost,thunderbolt,toxic": 983, "heavydutyboots,motordrive,airslash,energyball,roost,thunderbolt": 107, "leftovers,motordrive,airslash,roost,thunderbolt,toxic": 66, "heavydutyboots,motordrive,airslash,roost,thunderbolt,uturn": 87, "heavydutyboots,motordrive,airslash,defog,roost,thunderbolt": 114, "lifeorb,motordrive,airslash,energyball,roost,thunderbolt": 7, "choicespecs,motordrive,airslash,energyball,thunderbolt,uturn": 60}, + "entei": {"choiceband,innerfocus,extremespeed,sacredfire,stompingtantrum,stoneedge": 395, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stoneedge": 386, "choiceband,innerfocus,extremespeed,flareblitz,stompingtantrum,stoneedge": 401, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stompingtantrum": 410}, + "escavalier": {"leftovers,swarm,drillrun,ironhead,megahorn,swordsdance": 181, "leftovers,swarm,ironhead,knockoff,megahorn,swordsdance": 188, "choiceband,overcoat,closecombat,ironhead,knockoff,megahorn": 77, "choiceband,overcoat,closecombat,drillrun,ironhead,megahorn": 61, "leftovers,overcoat,ironhead,knockoff,megahorn,swordsdance": 198, "leftovers,swarm,closecombat,ironhead,megahorn,swordsdance": 178, "leftovers,overcoat,drillrun,ironhead,megahorn,swordsdance": 197, "choiceband,swarm,closecombat,drillrun,ironhead,megahorn": 76, "choiceband,overcoat,drillrun,ironhead,knockoff,megahorn": 77, "leftovers,overcoat,closecombat,ironhead,megahorn,swordsdance": 198, "choiceband,swarm,drillrun,ironhead,knockoff,megahorn": 65, "choiceband,swarm,closecombat,ironhead,knockoff,megahorn": 60}, + "espeon": {"lifeorb,magicbounce,dazzlinggleam,morningsun,psychic,shadowball": 320, "leftovers,magicbounce,calmmind,dazzlinggleam,morningsun,psychic": 514, "leftovers,magicbounce,calmmind,morningsun,psychic,shadowball": 484, "lifeorb,magicbounce,calmmind,dazzlinggleam,psychic,shadowball": 344}, + "eternatus": {"blacksludge,pressure,dynamaxcannon,flamethrower,recover,toxic": 293, "metronome,pressure,dynamaxcannon,flamethrower,recover,sludgewave": 1243}, + "excadrill": {"assaultvest,moldbreaker,earthquake,ironhead,rapidspin,rockslide": 259, "lifeorb,moldbreaker,earthquake,ironhead,rockslide,swordsdance": 450, "leftovers,moldbreaker,earthquake,ironhead,rapidspin,swordsdance": 564, "lifeorb,sandrush,earthquake,ironhead,rockslide,swordsdance": 243, "assaultvest,sandrush,earthquake,ironhead,rapidspin,rockslide": 2}, + "exeggutor": {"sitrusberry,harvest,gigadrain,leechseed,sleeppowder,substitute": 142, "sitrusberry,harvest,gigadrain,psychic,sleeppowder,substitute": 153, "sitrusberry,harvest,leechseed,psychic,sleeppowder,substitute": 136, "sitrusberry,harvest,gigadrain,leechseed,psychic,substitute": 317, "leftovers,chlorophyll,gigadrain,leechseed,psychic,substitute": 4, "leftovers,chlorophyll,gigadrain,leechseed,sleeppowder,substitute": 3, "leftovers,chlorophyll,leechseed,psychic,sleeppowder,substitute": 1}, + "exeggutoralola": {"lifeorb,frisk,dracometeor,flamethrower,gigadrain,trickroom": 213, "choicespecs,frisk,dracometeor,flamethrower,gigadrain,leafstorm": 369, "lifeorb,frisk,dracometeor,flamethrower,leafstorm,trickroom": 116}, + "exploud": {"choicespecs,scrappy,boomburst,fireblast,focusblast,surf": 1594}, + "falinks": {"choiceband,defiant,closecombat,ironhead,rockslide,throatchop": 130, "lifeorb,defiant,closecombat,ironhead,noretreat,throatchop": 441, "choicescarf,defiant,closecombat,ironhead,rockslide,throatchop": 267, "lifeorb,defiant,closecombat,ironhead,noretreat,rockslide": 389, "lifeorb,defiant,closecombat,noretreat,rockslide,throatchop": 410}, + "farfetchd": {"leek,defiant,bravebird,knockoff,leafblade,swordsdance": 378, "leek,defiant,bravebird,closecombat,knockoff,swordsdance": 427, "leek,defiant,bravebird,closecombat,leafblade,swordsdance": 418, "leek,defiant,bravebird,closecombat,knockoff,leafblade": 279}, + "ferrothorn": {"leftovers,ironbarbs,gyroball,leechseed,powerwhip,protect": 377, "leftovers,ironbarbs,knockoff,powerwhip,spikes,stealthrock": 90, "leftovers,ironbarbs,gyroball,knockoff,leechseed,protect": 86, "leftovers,ironbarbs,gyroball,knockoff,powerwhip,spikes": 134, "leftovers,ironbarbs,gyroball,knockoff,powerwhip,stealthrock": 99, "leftovers,ironbarbs,leechseed,powerwhip,protect,spikes": 91, "leftovers,ironbarbs,leechseed,powerwhip,spikes,stealthrock": 9, "leftovers,ironbarbs,gyroball,powerwhip,spikes,stealthrock": 95, "leftovers,ironbarbs,leechseed,powerwhip,protect,stealthrock": 82, "leftovers,ironbarbs,gyroball,leechseed,protect,spikes": 76, "leftovers,ironbarbs,knockoff,leechseed,powerwhip,protect": 83, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,spikes": 18, "leftovers,ironbarbs,gyroball,knockoff,leechseed,powerwhip": 25, "leftovers,ironbarbs,gyroball,knockoff,leechseed,stealthrock": 16, "leftovers,ironbarbs,gyroball,knockoff,leechseed,spikes": 17, "leftovers,ironbarbs,gyroball,knockoff,spikes,stealthrock": 71, "leftovers,ironbarbs,gyroball,leechseed,spikes,stealthrock": 12, "leftovers,ironbarbs,knockoff,leechseed,powerwhip,spikes": 26, "leftovers,ironbarbs,knockoff,leechseed,powerwhip,stealthrock": 12, "leftovers,ironbarbs,gyroball,leechseed,protect,stealthrock": 79, "leftovers,ironbarbs,gyroball,leechseed,powerwhip,stealthrock": 23}, + "flapple": {"focussash,hustle,dragondance,gravapple,outrage,suckerpunch": 216, "lifeorb,hustle,dragondance,gravapple,outrage,suckerpunch": 974, "choiceband,hustle,gravapple,outrage,suckerpunch,uturn": 269}, + "flareon": {"toxicorb,guts,facade,flamecharge,flareblitz,superpower": 1290, "toxicorb,guts,facade,flareblitz,quickattack,superpower": 326}, + "flygon": {"lifeorb,levitate,dragondance,earthquake,firepunch,outrage": 1129, "choicescarf,levitate,earthquake,firepunch,outrage,uturn": 89, "choicescarf,levitate,defog,earthquake,firepunch,outrage": 130, "choiceband,levitate,earthquake,firepunch,outrage,uturn": 42, "leftovers,levitate,defog,earthquake,outrage,uturn": 133}, + "froslass": {"widelens,cursedbody,poltergeist,spikes,taunt,tripleaxel": 241, "widelens,cursedbody,destinybond,poltergeist,spikes,tripleaxel": 243, "widelens,cursedbody,destinybond,poltergeist,taunt,tripleaxel": 268, "widelens,cursedbody,poltergeist,spikes,tripleaxel,willowisp": 258, "widelens,cursedbody,poltergeist,taunt,tripleaxel,willowisp": 245, "widelens,cursedbody,destinybond,poltergeist,tripleaxel,willowisp": 242}, + "frosmoth": {"heavydutyboots,icescales,bugbuzz,hurricane,icebeam,quiverdance": 559, "heavydutyboots,icescales,bugbuzz,gigadrain,icebeam,quiverdance": 612, "heavydutyboots,icescales,gigadrain,hurricane,icebeam,quiverdance": 296}, + "gallade": {"choiceband,justified,closecombat,knockoff,shadowsneak,trick": 107, "lifeorb,justified,closecombat,knockoff,swordsdance,zenheadbutt": 534, "choicescarf,justified,closecombat,knockoff,trick,zenheadbutt": 129, "choiceband,justified,closecombat,knockoff,shadowsneak,zenheadbutt": 112, "choiceband,justified,closecombat,shadowsneak,trick,zenheadbutt": 147, "lifeorb,justified,closecombat,shadowsneak,swordsdance,zenheadbutt": 554}, + "galvantula": {"choicespecs,compoundeyes,bugbuzz,gigadrain,thunder,voltswitch": 32, "lifeorb,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 25, "heavydutyboots,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 780, "heavydutyboots,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder": 277, "heavydutyboots,compoundeyes,gigadrain,stickyweb,thunder,voltswitch": 321, "focussash,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch": 147}, + "garbodorgmax": {"blacksludge,aftermath,gunkshot,painsplit,stompingtantrum,toxicspikes": 289, "blacksludge,aftermath,explosion,gunkshot,spikes,toxicspikes": 150, "blacksludge,aftermath,gunkshot,spikes,stompingtantrum,toxicspikes": 247, "blacksludge,aftermath,gunkshot,painsplit,spikes,stompingtantrum": 380, "focussash,aftermath,gunkshot,spikes,stompingtantrum,toxicspikes": 47, "blacksludge,aftermath,gunkshot,painsplit,spikes,toxicspikes": 242, "lifeorb,aftermath,explosion,gunkshot,spikes,stompingtantrum": 37, "lifeorb,aftermath,explosion,gunkshot,painsplit,stompingtantrum": 38, "focussash,aftermath,explosion,gunkshot,spikes,toxicspikes": 28, "focussash,aftermath,explosion,gunkshot,spikes,stompingtantrum": 2, "focussash,aftermath,gunkshot,painsplit,stompingtantrum,toxicspikes": 62, "focussash,aftermath,gunkshot,painsplit,spikes,toxicspikes": 49, "focussash,aftermath,gunkshot,painsplit,spikes,stompingtantrum": 51, "lifeorb,aftermath,explosion,gunkshot,stompingtantrum,toxicspikes": 22, "focussash,aftermath,explosion,gunkshot,stompingtantrum,toxicspikes": 4}, + "garchomp": {"lumberry,roughskin,earthquake,firefang,outrage,swordsdance": 572, "assaultvest,roughskin,earthquake,fireblast,outrage,stoneedge": 117, "lumberry,roughskin,earthquake,outrage,stoneedge,swordsdance": 537, "rockyhelmet,roughskin,earthquake,fireblast,outrage,stealthrock": 75, "rockyhelmet,roughskin,earthquake,outrage,stealthrock,stoneedge": 76, "choicescarf,roughskin,earthquake,firefang,outrage,stoneedge": 53, "rockyhelmet,roughskin,earthquake,firefang,outrage,stealthrock": 65, "choiceband,roughskin,earthquake,firefang,outrage,stoneedge": 33}, + "gardevoir": {"leftovers,trace,calmmind,moonblast,psyshock,substitute": 707, "lifeorb,trace,calmmind,moonblast,mysticalfire,psyshock": 257, "leftovers,trace,moonblast,psyshock,substitute,willowisp": 26, "lifeorb,trace,moonblast,mysticalfire,psyshock,willowisp": 231, "leftovers,trace,moonblast,mysticalfire,psyshock,substitute": 32, "leftovers,trace,calmmind,moonblast,psyshock,willowisp": 260, "choicescarf,trace,moonblast,mysticalfire,psyshock,trick": 100, "leftovers,trace,moonblast,mysticalfire,substitute,willowisp": 17}, + "gastrodon": {"leftovers,stormdrain,earthquake,recover,scald,toxic": 1169, "leftovers,stormdrain,earthquake,icebeam,recover,scald": 214, "leftovers,stormdrain,clearsmog,earthquake,recover,scald": 162}, + "genesect": {"lifeorb,download,extremespeed,ironhead,leechlife,shiftgear": 79, "lifeorb,download,extremespeed,ironhead,shiftgear,thunderbolt": 156, "lifeorb,download,blazekick,ironhead,leechlife,shiftgear": 92, "assaultvest,download,extremespeed,ironhead,thunderbolt,uturn": 77, "assaultvest,download,extremespeed,ironhead,leechlife,thunderbolt": 33, "lifeorb,download,blazekick,extremespeed,ironhead,shiftgear": 102, "lifeorb,download,ironhead,leechlife,shiftgear,thunderbolt": 153, "choiceband,download,blazekick,extremespeed,ironhead,leechlife": 26, "choiceband,download,blazekick,extremespeed,ironhead,uturn": 55}, + "genesectdouse": {"dousedrive,download,extremespeed,ironhead,technoblast,thunderbolt": 37, "dousedrive,download,bugbuzz,extremespeed,ironhead,technoblast": 53, "dousedrive,download,extremespeed,ironhead,technoblast,uturn": 104, "dousedrive,download,ironhead,technoblast,thunderbolt,uturn": 102, "dousedrive,download,icebeam,ironhead,technoblast,uturn": 111, "dousedrive,download,icebeam,ironhead,technoblast,thunderbolt": 41, "dousedrive,download,flamethrower,ironhead,technoblast,uturn": 108, "dousedrive,download,bugbuzz,flamethrower,ironhead,technoblast": 42, "dousedrive,download,bugbuzz,ironhead,technoblast,uturn": 6, "dousedrive,download,bugbuzz,icebeam,ironhead,technoblast": 42, "dousedrive,download,bugbuzz,ironhead,technoblast,thunderbolt": 40, "dousedrive,download,extremespeed,flamethrower,ironhead,technoblast": 20, "dousedrive,download,flamethrower,icebeam,ironhead,technoblast": 27, "dousedrive,download,extremespeed,icebeam,ironhead,technoblast": 28, "dousedrive,download,flamethrower,ironhead,technoblast,thunderbolt": 26}, + "gengargmax": {"lifeorb,cursedbody,focusblast,nastyplot,shadowball,sludgewave": 1116, "focussash,cursedbody,focusblast,nastyplot,shadowball,sludgewave": 219, "choicespecs,cursedbody,focusblast,shadowball,sludgewave,trick": 317}, + "gigalith": {"leftovers,sandstream,explosion,stealthrock,stoneedge,superpower": 322, "choiceband,sandstream,earthquake,explosion,stoneedge,superpower": 546, "leftovers,sandstream,earthquake,stealthrock,stoneedge,superpower": 326, "leftovers,sandstream,earthquake,explosion,stealthrock,stoneedge": 328}, + "giratina": {"leftovers,pressure,hex,rest,sleeptalk,willowisp": 403, "leftovers,pressure,hex,rest,sleeptalk,toxic": 331, "chestoberry,pressure,hex,rest,toxic,willowisp": 51}, + "giratinaorigin": {"griseousorb,levitate,dualwingbeat,honeclaws,outrage,poltergeist": 462, "griseousorb,levitate,honeclaws,outrage,poltergeist,shadowsneak": 307}, + "glaceon": {"leftovers,snowcloak,freezedry,protect,toxic,wish": 1011, "leftovers,icebody,freezedry,protect,toxic,wish": 566}, + "glalie": {"heavydutyboots,innerfocus,freezedry,spikes,superfang,taunt": 317, "heavydutyboots,innerfocus,earthquake,freezedry,superfang,taunt": 363, "heavydutyboots,innerfocus,earthquake,freezedry,spikes,superfang": 329, "heavydutyboots,innerfocus,earthquake,freezedry,spikes,taunt": 291, "focussash,innerfocus,freezedry,spikes,superfang,taunt": 73, "focussash,innerfocus,earthquake,freezedry,spikes,superfang": 66, "leftovers,innerfocus,freezedry,spikes,superfang,taunt": 22, "focussash,innerfocus,earthquake,freezedry,spikes,taunt": 65, "leftovers,innerfocus,earthquake,freezedry,spikes,superfang": 21, "leftovers,innerfocus,earthquake,freezedry,superfang,taunt": 26, "leftovers,innerfocus,earthquake,freezedry,spikes,taunt": 24}, + "glastrier": {"heavydutyboots,chillingneigh,closecombat,highhorsepower,iciclecrash,swordsdance": 1496, "lumberry,chillingneigh,closecombat,highhorsepower,iciclecrash,swordsdance": 92}, + "golduck": {"lifeorb,swiftswim,calmmind,focusblast,icebeam,scald": 657, "leftovers,swiftswim,calmmind,icebeam,scald,substitute": 446, "leftovers,swiftswim,calmmind,focusblast,scald,substitute": 496}, + "golisopod": {"heavydutyboots,emergencyexit,knockoff,leechlife,liquidation,spikes": 273, "heavydutyboots,emergencyexit,firstimpression,leechlife,liquidation,spikes": 474, "heavydutyboots,emergencyexit,firstimpression,knockoff,liquidation,spikes": 573, "choiceband,emergencyexit,firstimpression,knockoff,leechlife,liquidation": 175}, + "golurk": {"choiceband,noguard,dynamicpunch,earthquake,poltergeist,stoneedge": 350, "lifeorb,noguard,earthquake,poltergeist,rockpolish,stoneedge": 647, "lifeorb,noguard,dynamicpunch,earthquake,poltergeist,rockpolish": 614}, + "goodra": {"assaultvest,sapsipper,dracometeor,earthquake,sludgebomb,thunderbolt": 155, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip": 300, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb": 184, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,thunderbolt": 165, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb": 296, "choicespecs,sapsipper,dracometeor,fireblast,sludgebomb,thunderbolt": 57, "choicescarf,sapsipper,dracometeor,fireblast,sludgebomb,thunderbolt": 119, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb": 315}, + "gothitelle": {"choicescarf,shadowtag,darkpulse,psychic,thunderbolt,trick": 317, "leftovers,shadowtag,darkpulse,nastyplot,psychic,thunderbolt": 1379}, + "gourgeist": {"lifeorb,frisk,poltergeist,powerwhip,shadowsneak,synthesis": 248, "lifeorb,frisk,poltergeist,powerwhip,shadowsneak,willowisp": 171, "leftovers,frisk,poltergeist,shadowsneak,synthesis,willowisp": 144, "leftovers,frisk,poltergeist,powerwhip,synthesis,willowisp": 196}, + "gourgeistlarge": {"leftovers,frisk,poltergeist,powerwhip,synthesis,willowisp": 206, "lifeorb,frisk,poltergeist,powerwhip,shadowsneak,willowisp": 153, "leftovers,frisk,poltergeist,shadowsneak,synthesis,willowisp": 158, "lifeorb,frisk,poltergeist,powerwhip,shadowsneak,synthesis": 227}, + "gourgeistsmall": {"leftovers,frisk,poltergeist,powerwhip,substitute,willowisp": 158, "leftovers,frisk,leechseed,poltergeist,powerwhip,substitute": 444, "leftovers,frisk,leechseed,poltergeist,substitute,willowisp": 142}, + "gourgeistsuper": {"choiceband,frisk,poltergeist,powerwhip,rockslide,shadowsneak": 374, "lifeorb,frisk,poltergeist,powerwhip,rockslide,trickroom": 416}, + "grapploct": {"lifeorb,technician,brutalswing,bulkup,drainpunch,icepunch": 1253, "lifeorb,limber,bulkup,drainpunch,icepunch,suckerpunch": 431}, + "greedent": {"sitrusberry,cheekpouch,bodyslam,earthquake,firefang,swordsdance": 806, "sitrusberry,cheekpouch,bodyslam,firefang,payback,swordsdance": 461, "sitrusberry,cheekpouch,bodyslam,earthquake,payback,swordsdance": 450}, + "grimmsnarl": {"lightclay,prankster,lightscreen,reflect,spiritbreak,taunt": 393, "lightclay,prankster,lightscreen,reflect,spiritbreak,thunderwave": 413, "leftovers,prankster,reflect,spiritbreak,taunt,thunderwave": 5, "leftovers,prankster,lightscreen,spiritbreak,taunt,thunderwave": 7}, + "grimmsnarlgmax": {"chestoberry,prankster,bulkup,darkestlariat,playrough,rest": 520, "choiceband,prankster,darkestlariat,playrough,suckerpunch,trick": 101, "lifeorb,prankster,bulkup,darkestlariat,playrough,suckerpunch": 266, "chestoberry,prankster,darkestlariat,playrough,rest,suckerpunch": 20}, + "groudon": {"leftovers,drought,precipiceblades,stealthrock,stoneedge,thunderwave": 64, "leftovers,drought,heavyslam,precipiceblades,stoneedge,swordsdance": 339, "leftovers,drought,heatcrash,precipiceblades,stoneedge,swordsdance": 320, "leftovers,drought,heavyslam,precipiceblades,stoneedge,thunderwave": 60, "leftovers,drought,heatcrash,heavyslam,precipiceblades,swordsdance": 361, "leftovers,drought,heavyslam,precipiceblades,stealthrock,stoneedge": 59, "leftovers,drought,heatcrash,heavyslam,precipiceblades,thunderwave": 72, "leftovers,drought,heatcrash,precipiceblades,stoneedge,thunderwave": 84, "choiceband,drought,heatcrash,heavyslam,precipiceblades,stoneedge": 25, "choicescarf,drought,heatcrash,heavyslam,precipiceblades,stoneedge": 44, "leftovers,drought,heatcrash,precipiceblades,stealthrock,thunderwave": 65, "leftovers,drought,heavyslam,precipiceblades,stealthrock,thunderwave": 62, "leftovers,drought,heatcrash,precipiceblades,stealthrock,stoneedge": 34, "leftovers,drought,heatcrash,heavyslam,precipiceblades,stealthrock": 50}, + "gurdurr": {"eviolite,guts,bulkup,drainpunch,knockoff,machpunch": 1395, "eviolite,guts,defog,drainpunch,knockoff,machpunch": 315}, + "guzzlord": {"assaultvest,beastboost,dracometeor,fireblast,knockoff,sludgebomb": 1222, "choicespecs,beastboost,darkpulse,dracometeor,fireblast,sludgebomb": 287}, + "gyarados": {"choiceband,moxie,bounce,earthquake,powerwhip,waterfall": 291, "heavydutyboots,moxie,bounce,dragondance,earthquake,waterfall": 455, "heavydutyboots,moxie,bounce,dragondance,powerwhip,waterfall": 449, "heavydutyboots,intimidate,dragondance,earthquake,powerwhip,waterfall": 226, "lifeorb,moxie,bounce,dragondance,powerwhip,waterfall": 23, "heavydutyboots,moxie,dragondance,earthquake,powerwhip,waterfall": 99, "lifeorb,moxie,bounce,dragondance,earthquake,waterfall": 24, "lifeorb,moxie,dragondance,earthquake,powerwhip,waterfall": 7}, + "hatterenegmax": {"leftovers,magicbounce,calmmind,dazzlinggleam,mysticalfire,psychic": 414, "lifeorb,magicbounce,dazzlinggleam,mysticalfire,psychic,trickroom": 591, "lifeorb,magicbounce,dazzlinggleam,mysticalfire,psyshock,trickroom": 230, "leftovers,magicbounce,calmmind,dazzlinggleam,mysticalfire,psyshock": 267, "choicespecs,magicbounce,dazzlinggleam,mysticalfire,psychic,psyshock": 104}, + "hawlucha": {"whiteherb,unburden,bravebird,closecombat,stoneedge,swordsdance": 457, "whiteherb,unburden,bravebird,closecombat,swordsdance,throatchop": 437, "whiteherb,unburden,bravebird,closecombat,roost,swordsdance": 396, "choiceband,moldbreaker,bravebird,closecombat,stoneedge,throatchop": 226}, + "haxorus": {"lifeorb,moldbreaker,closecombat,dragondance,outrage,poisonjab": 453, "lifeorb,moldbreaker,dragondance,earthquake,outrage,poisonjab": 437, "choicescarf,moldbreaker,closecombat,earthquake,outrage,poisonjab": 220, "lifeorb,moldbreaker,closecombat,dragondance,earthquake,outrage": 401, "choiceband,moldbreaker,closecombat,earthquake,outrage,poisonjab": 109}, + "heatmor": {"heavydutyboots,flashfire,firelash,gigadrain,substitute,suckerpunch": 341, "heavydutyboots,flashfire,firelash,gigadrain,knockoff,substitute": 805, "leftovers,flashfire,firelash,gigadrain,knockoff,substitute": 54, "heavydutyboots,flashfire,firelash,gigadrain,knockoff,superpower": 196, "heavydutyboots,flashfire,firelash,gigadrain,suckerpunch,superpower": 114, "lifeorb,flashfire,firelash,gigadrain,suckerpunch,superpower": 9, "lifeorb,flashfire,firelash,gigadrain,knockoff,superpower": 11, "leftovers,flashfire,firelash,gigadrain,substitute,suckerpunch": 19}, + "heatran": {"airballoon,flashfire,flashcannon,lavaplume,taunt,toxic": 125, "airballoon,flashfire,earthpower,lavaplume,stealthrock,taunt": 79, "airballoon,flashfire,earthpower,flashcannon,lavaplume,toxic": 91, "leftovers,flashfire,flashcannon,lavaplume,protect,toxic": 380, "airballoon,flashfire,earthpower,lavaplume,stealthrock,toxic": 56, "leftovers,flashfire,lavaplume,protect,stealthrock,toxic": 85, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,toxic": 86, "airballoon,flashfire,earthpower,lavaplume,taunt,toxic": 68, "airballoon,flashfire,earthpower,flashcannon,lavaplume,taunt": 105, "airballoon,flashfire,lavaplume,stealthrock,taunt,toxic": 48, "airballoon,flashfire,flashcannon,lavaplume,stealthrock,taunt": 92, "leftovers,flashfire,earthpower,lavaplume,protect,toxic": 53, "leftovers,flashfire,lavaplume,protect,taunt,toxic": 78, "airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock": 90}, + "heliolisk": {"lifeorb,dryskin,glare,grassknot,hypervoice,thunderbolt": 95, "choicespecs,dryskin,grassknot,hypervoice,thunderbolt,voltswitch": 98, "choicespecs,dryskin,hypervoice,surf,thunderbolt,voltswitch": 333, "lifeorb,dryskin,glare,hypervoice,thunderbolt,voltswitch": 75, "lifeorb,dryskin,glare,grassknot,thunderbolt,voltswitch": 208, "lifeorb,dryskin,glare,surf,thunderbolt,voltswitch": 283, "focussash,dryskin,glare,grassknot,thunderbolt,voltswitch": 53, "focussash,dryskin,glare,grassknot,hypervoice,thunderbolt": 15, "lifeorb,dryskin,glare,hypervoice,surf,thunderbolt": 179, "focussash,dryskin,glare,hypervoice,surf,thunderbolt": 36, "focussash,dryskin,glare,surf,thunderbolt,voltswitch": 63, "focussash,dryskin,glare,hypervoice,thunderbolt,voltswitch": 16}, + "heracross": {"flameorb,guts,closecombat,facade,knockoff,megahorn": 1562}, + "hippowdon": {"leftovers,sandstream,earthquake,slackoff,stoneedge,toxic": 412, "leftovers,sandstream,earthquake,slackoff,stealthrock,toxic": 391, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge": 126, "leftovers,sandstream,earthquake,slackoff,toxic,whirlwind": 428, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind": 159, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind": 134}, + "hitmonchan": {"assaultvest,ironfist,drainpunch,machpunch,rapidspin,throatchop": 115, "choiceband,ironfist,drainpunch,icepunch,machpunch,throatchop": 135, "lifeorb,ironfist,bulkup,drainpunch,icepunch,throatchop": 204, "lifeorb,ironfist,bulkup,drainpunch,machpunch,throatchop": 317, "leftovers,ironfist,bulkup,drainpunch,icepunch,rapidspin": 185, "lifeorb,ironfist,bulkup,drainpunch,icepunch,machpunch": 335, "assaultvest,ironfist,drainpunch,icepunch,machpunch,rapidspin": 122, "leftovers,ironfist,bulkup,drainpunch,rapidspin,throatchop": 175, "assaultvest,ironfist,drainpunch,icepunch,rapidspin,throatchop": 121}, + "hitmonlee": {"whiteherb,unburden,closecombat,curse,knockoff,poisonjab": 451, "choicescarf,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 244, "whiteherb,unburden,closecombat,curse,poisonjab,stoneedge": 474, "whiteherb,unburden,closecombat,curse,knockoff,stoneedge": 470, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge": 112}, + "hitmontop": {"lifeorb,technician,closecombat,earthquake,toxic,tripleaxel": 234, "leftovers,technician,closecombat,rapidspin,toxic,tripleaxel": 170, "choiceband,technician,closecombat,earthquake,suckerpunch,tripleaxel": 145, "assaultvest,technician,closecombat,rapidspin,suckerpunch,tripleaxel": 111, "leftovers,intimidate,closecombat,earthquake,rapidspin,toxic": 191, "lifeorb,intimidate,closecombat,earthquake,suckerpunch,toxic": 210, "leftovers,intimidate,closecombat,rapidspin,suckerpunch,toxic": 173, "assaultvest,technician,closecombat,earthquake,rapidspin,tripleaxel": 108, "lifeorb,technician,closecombat,suckerpunch,toxic,tripleaxel": 248, "assaultvest,intimidate,closecombat,earthquake,rapidspin,suckerpunch": 118}, + "hooh": {"heavydutyboots,regenerator,bravebird,earthquake,roost,sacredfire": 180, "heavydutyboots,regenerator,bravebird,roost,sacredfire,toxic": 1136, "heavydutyboots,regenerator,bravebird,defog,roost,sacredfire": 176}, + "hydreigon": {"leftovers,levitate,darkpulse,dracometeor,nastyplot,roost": 747, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,nastyplot": 133, "leftovers,levitate,darkpulse,dracometeor,roost,uturn": 105, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn": 56, "lifeorb,levitate,darkpulse,dracometeor,fireblast,roost": 102, "lifeorb,levitate,darkpulse,dracometeor,fireblast,nastyplot": 138, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,roost": 101, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn": 59, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon": 22, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon": 38}, + "incineroar": {"heavydutyboots,intimidate,flareblitz,knockoff,partingshot,willowisp": 268, "heavydutyboots,intimidate,flareblitz,knockoff,uturn,willowisp": 344, "heavydutyboots,intimidate,earthquake,flareblitz,knockoff,willowisp": 260, "choiceband,intimidate,earthquake,flareblitz,knockoff,partingshot": 244, "choicescarf,intimidate,earthquake,flareblitz,knockoff,uturn": 269, "choiceband,intimidate,earthquake,flareblitz,knockoff,uturn": 148}, + "indeedee": {"lifeorb,psychicsurge,calmmind,expandingforce,hypervoice,mysticalfire": 531, "choicescarf,psychicsurge,expandingforce,hypervoice,mysticalfire,trick": 151, "focussash,psychicsurge,calmmind,expandingforce,hypervoice,mysticalfire": 93}, + "indeedeef": {"lifeorb,psychicsurge,calmmind,expandingforce,hypervoice,mysticalfire": 675, "choicescarf,psychicsurge,expandingforce,healingwish,hypervoice,mysticalfire": 156}, + "inteleon": {"choicespecs,torrent,darkpulse,icebeam,scald,uturn": 48, "choicespecs,torrent,airslash,hydropump,scald,uturn": 57, "choicespecs,torrent,airslash,darkpulse,hydropump,icebeam": 65, "choicespecs,torrent,airslash,darkpulse,scald,uturn": 67, "choicespecs,torrent,darkpulse,hydropump,icebeam,uturn": 48, "choicespecs,torrent,hydropump,icebeam,scald,uturn": 48, "choicespecs,torrent,airslash,hydropump,icebeam,uturn": 65, "choicespecs,torrent,airslash,icebeam,scald,uturn": 56, "choicespecs,torrent,airslash,darkpulse,hydropump,uturn": 62, "choicespecs,torrent,airslash,hydropump,icebeam,scald": 63, "choicespecs,torrent,darkpulse,hydropump,scald,uturn": 42, "choicespecs,torrent,airslash,darkpulse,hydropump,scald": 44, "choicespecs,torrent,airslash,darkpulse,icebeam,scald": 62, "choicespecs,torrent,darkpulse,hydropump,icebeam,scald": 61}, + "inteleongmax": {"scopelens,sniper,airslash,focusenergy,icebeam,surf": 759}, + "jellicent": {"leftovers,waterabsorb,recover,scald,shadowball,toxic": 757, "leftovers,waterabsorb,icebeam,recover,scald,shadowball": 352, "leftovers,waterabsorb,recover,scald,shadowball,willowisp": 515}, + "jirachi": {"leftovers,serenegrace,firepunch,ironhead,toxic,uturn": 509, "leftovers,serenegrace,ironhead,stealthrock,toxic,uturn": 304, "leftovers,serenegrace,firepunch,ironhead,stealthrock,uturn": 99, "leftovers,serenegrace,firepunch,ironhead,stealthrock,toxic": 278, "leftovers,serenegrace,bodyslam,firepunch,ironhead,stealthrock": 60, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn": 53, "choicescarf,serenegrace,firepunch,ironhead,trick,uturn": 73, "assaultvest,serenegrace,bodyslam,firepunch,ironhead,uturn": 54}, + "jolteon": {"choicespecs,voltabsorb,hypervoice,shadowball,thunderbolt,voltswitch": 1660}, + "jynx": {"heavydutyboots,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 397, "heavydutyboots,dryskin,focusblast,icebeam,nastyplot,psyshock": 439, "choicescarf,dryskin,focusblast,icebeam,psyshock,trick": 122, "focussash,dryskin,focusblast,icebeam,lovelykiss,psyshock": 40, "heavydutyboots,dryskin,focusblast,icebeam,lovelykiss,psyshock": 199, "focussash,dryskin,focusblast,icebeam,nastyplot,psyshock": 105, "focussash,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 87, "leftovers,dryskin,icebeam,lovelykiss,nastyplot,psyshock": 43, "lifeorb,dryskin,focusblast,icebeam,nastyplot,psyshock": 39, "lifeorb,dryskin,focusblast,icebeam,lovelykiss,psyshock": 16}, + "kabutops": {"lumberry,swiftswim,liquidation,rapidspin,stoneedge,swordsdance": 310, "lifeorb,swiftswim,knockoff,liquidation,stoneedge,swordsdance": 337, "choiceband,swiftswim,aquajet,knockoff,liquidation,stoneedge": 142, "lifeorb,swiftswim,aquajet,liquidation,stoneedge,swordsdance": 306, "assaultvest,swiftswim,knockoff,liquidation,rapidspin,stoneedge": 116, "assaultvest,swiftswim,aquajet,liquidation,rapidspin,stoneedge": 122}, + "kangaskhan": {"assaultvest,scrappy,doubleedge,earthquake,fakeout,suckerpunch": 1195, "choiceband,scrappy,doubleedge,earthquake,hammerarm,suckerpunch": 403}, + "kartana": {"choiceband,beastboost,knockoff,leafblade,sacredsword,smartstrike": 285, "lifeorb,beastboost,leafblade,sacredsword,smartstrike,swordsdance": 572, "lifeorb,beastboost,knockoff,leafblade,smartstrike,swordsdance": 593}, + "keldeoresolute": {"lifeorb,justified,airslash,calmmind,scald,secretsword": 273, "choicescarf,justified,airslash,hydropump,scald,secretsword": 63, "choicespecs,justified,airslash,icywind,scald,secretsword": 33, "leftovers,justified,calmmind,scald,secretsword,substitute": 549, "choicespecs,justified,airslash,hydropump,scald,secretsword": 46, "leftovers,justified,calmmind,hydropump,secretsword,substitute": 197, "choicespecs,justified,hydropump,icywind,scald,secretsword": 26, "choicescarf,justified,hydropump,icywind,scald,secretsword": 91, "lifeorb,justified,airslash,calmmind,hydropump,secretsword": 105, "choicescarf,justified,airslash,icywind,scald,secretsword": 66, "choicescarf,justified,airslash,hydropump,icywind,secretsword": 68, "choicespecs,justified,airslash,hydropump,icywind,secretsword": 21}, + "kingdra": {"lifeorb,swiftswim,dracometeor,hurricane,hydropump,raindance": 1289, "choicespecs,swiftswim,dracometeor,flipturn,hurricane,hydropump": 280}, + "kingler": {"lifeorb,sheerforce,liquidation,superpower,swordsdance,xscissor": 166, "lifeorb,sheerforce,agility,liquidation,superpower,swordsdance": 160, "lifeorb,sheerforce,agility,liquidation,swordsdance,xscissor": 203, "lifeorb,sheerforce,agility,liquidation,rockslide,swordsdance": 175, "lifeorb,sheerforce,agility,liquidation,superpower,xscissor": 128, "lifeorb,sheerforce,liquidation,rockslide,swordsdance,xscissor": 182, "lifeorb,sheerforce,liquidation,rockslide,superpower,xscissor": 94, "lifeorb,sheerforce,agility,liquidation,rockslide,xscissor": 131, "lifeorb,sheerforce,liquidation,rockslide,superpower,swordsdance": 186, "lifeorb,sheerforce,agility,liquidation,rockslide,superpower": 118}, + "klefki": {"leftovers,prankster,magnetrise,playrough,spikes,thunderwave": 830, "leftovers,prankster,magnetrise,playrough,spikes,toxic": 300, "leftovers,prankster,magnetrise,playrough,thunderwave,toxic": 71, "focussash,prankster,magnetrise,playrough,spikes,thunderwave": 185, "leftovers,prankster,playrough,spikes,thunderwave,toxic": 66, "focussash,prankster,magnetrise,playrough,spikes,toxic": 69, "focussash,prankster,playrough,spikes,thunderwave,toxic": 19}, + "klinklang": {"leftovers,clearbody,geargrind,shiftgear,substitute,wildcharge": 1504}, + "kommoo": {"throatspray,bulletproof,clangingscales,clangoroussoul,closecombat,poisonjab": 1326, "leftovers,bulletproof,clangingscales,closecombat,poisonjab,stealthrock": 243}, + "krookodile": {"choicescarf,moxie,closecombat,earthquake,knockoff,stoneedge": 412, "lifeorb,intimidate,closecombat,earthquake,knockoff,stealthrock": 360, "choiceband,moxie,closecombat,earthquake,knockoff,stoneedge": 217, "lifeorb,intimidate,earthquake,knockoff,stealthrock,stoneedge": 325, "focussash,intimidate,closecombat,earthquake,knockoff,stealthrock": 74, "focussash,intimidate,earthquake,knockoff,stealthrock,stoneedge": 88}, + "kyogre": {"leftovers,drizzle,calmmind,icebeam,originpulse,thunder": 1293, "choicescarf,drizzle,icebeam,originpulse,thunder,waterspout": 216, "choicespecs,drizzle,icebeam,originpulse,thunder,waterspout": 117}, + "kyurem": {"heavydutyboots,pressure,earthpower,icebeam,roost,substitute": 64, "heavydutyboots,pressure,dracometeor,freezedry,roost,substitute": 56, "heavydutyboots,pressure,dracometeor,icebeam,roost,substitute": 138, "heavydutyboots,pressure,dracometeor,earthpower,freezedry,roost": 39, "choicescarf,pressure,dracometeor,earthpower,freezedry,icebeam": 40, "heavydutyboots,pressure,dracometeor,earthpower,icebeam,roost": 98, "leftovers,pressure,earthpower,freezedry,roost,substitute": 4, "leftovers,pressure,dracometeor,earthpower,icebeam,roost": 7, "heavydutyboots,pressure,earthpower,freezedry,roost,substitute": 32, "leftovers,pressure,dracometeor,icebeam,roost,substitute": 14, "leftovers,pressure,dracometeor,freezedry,roost,substitute": 1, "choicespecs,pressure,dracometeor,earthpower,freezedry,icebeam": 22, "leftovers,pressure,earthpower,icebeam,roost,substitute": 6}, + "kyuremblack": {"heavydutyboots,teravolt,dragondance,fusionbolt,iciclespear,outrage": 448, "lumberry,teravolt,dragondance,fusionbolt,iciclespear,outrage": 31}, + "kyuremwhite": {"choicescarf,turboblaze,dracometeor,earthpower,freezedry,fusionflare": 18, "heavydutyboots,turboblaze,dracometeor,earthpower,icebeam,roost": 129, "heavydutyboots,turboblaze,dracometeor,fusionflare,icebeam,roost": 123, "choicespecs,turboblaze,dracometeor,earthpower,freezedry,icebeam": 17, "choicescarf,turboblaze,dracometeor,earthpower,freezedry,icebeam": 30, "leftovers,turboblaze,dracometeor,freezedry,fusionflare,roost": 5, "heavydutyboots,turboblaze,dracometeor,freezedry,fusionflare,roost": 53, "choicescarf,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 27, "heavydutyboots,turboblaze,dracometeor,earthpower,freezedry,roost": 40, "choicescarf,turboblaze,dracometeor,freezedry,fusionflare,icebeam": 25, "leftovers,turboblaze,dracometeor,earthpower,icebeam,roost": 8, "leftovers,turboblaze,dracometeor,earthpower,freezedry,roost": 4, "choicespecs,turboblaze,dracometeor,earthpower,freezedry,fusionflare": 13, "choicespecs,turboblaze,dracometeor,earthpower,fusionflare,icebeam": 6, "choicespecs,turboblaze,dracometeor,freezedry,fusionflare,icebeam": 11, "leftovers,turboblaze,dracometeor,fusionflare,icebeam,roost": 11}, + "landorus": {"lifeorb,sheerforce,earthpower,rockpolish,rockslide,sludgewave": 85, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,sludgewave": 86, "lifeorb,sheerforce,earthpower,focusblast,rockpolish,rockslide": 88, "lifeorb,sheerforce,earthpower,knockoff,rockpolish,rockslide": 97, "lifeorb,sheerforce,earthpower,focusblast,knockoff,rockpolish": 79, "lifeorb,sheerforce,earthpower,knockoff,rockpolish,sludgewave": 78, "lifeorb,sheerforce,earthpower,knockoff,rockslide,sludgewave": 34, "lifeorb,sheerforce,earthpower,knockoff,sludgewave,stealthrock": 30, "lifeorb,sheerforce,earthpower,focusblast,sludgewave,stealthrock": 25, "lifeorb,sheerforce,earthpower,focusblast,knockoff,rockslide": 34, "lifeorb,sheerforce,earthpower,knockoff,rockslide,stealthrock": 23, "lifeorb,sheerforce,earthpower,focusblast,knockoff,sludgewave": 30, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave": 21, "lifeorb,sheerforce,earthpower,focusblast,rockslide,stealthrock": 22, "lifeorb,sheerforce,earthpower,focusblast,knockoff,stealthrock": 30, "lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock": 25}, + "landorustherian": {"lifeorb,intimidate,earthquake,fly,stoneedge,swordsdance": 561, "leftovers,intimidate,earthquake,fly,stealthrock,uturn": 61, "lifeorb,intimidate,earthquake,fly,stealthrock,stoneedge": 70, "choicescarf,intimidate,earthquake,fly,stoneedge,uturn": 50, "choiceband,intimidate,earthquake,fly,stoneedge,uturn": 21, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn": 39}, + "lanturn": {"leftovers,voltabsorb,icebeam,scald,toxic,voltswitch": 154, "leftovers,voltabsorb,scald,thunderbolt,toxic,voltswitch": 443, "leftovers,voltabsorb,healbell,icebeam,scald,thunderbolt": 100, "leftovers,voltabsorb,healbell,icebeam,scald,voltswitch": 100, "lifeorb,voltabsorb,icebeam,scald,thunderbolt,toxic": 169, "choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch": 120, "leftovers,voltabsorb,healbell,scald,thunderbolt,voltswitch": 128, "leftovers,voltabsorb,healbell,scald,thunderbolt,toxic": 126, "leftovers,voltabsorb,healbell,scald,toxic,voltswitch": 154}, + "laprasgmax": {"leftovers,waterabsorb,freezedry,protect,sparklingaria,toxic": 215, "leftovers,waterabsorb,icebeam,protect,sparklingaria,toxic": 619, "choicespecs,waterabsorb,freezedry,icebeam,sparklingaria,thunderbolt": 242, "heavydutyboots,waterabsorb,icebeam,sparklingaria,thunderbolt,toxic": 318, "heavydutyboots,waterabsorb,freezedry,sparklingaria,thunderbolt,toxic": 136, "leftovers,waterabsorb,icebeam,sparklingaria,thunderbolt,toxic": 18, "leftovers,waterabsorb,freezedry,sparklingaria,thunderbolt,toxic": 6}, + "latias": {"leftovers,levitate,calmmind,dracometeor,mysticalfire,psyshock": 208, "leftovers,levitate,calmmind,dracometeor,psyshock,roost": 1007, "leftovers,levitate,dracometeor,mysticalfire,psyshock,roost": 250, "choicescarf,levitate,dracometeor,healingwish,mysticalfire,psyshock": 95}, + "latios": {"souldew,levitate,calmmind,dracometeor,psyshock,roost": 959, "choicespecs,levitate,dracometeor,mysticalfire,psyshock,trick": 99, "lifeorb,levitate,calmmind,dracometeor,mysticalfire,psyshock": 182, "lifeorb,levitate,dracometeor,mysticalfire,psyshock,roost": 302}, + "leafeon": {"lifeorb,chlorophyll,doubleedge,knockoff,leafblade,synthesis": 321, "lifeorb,chlorophyll,doubleedge,knockoff,leafblade,swordsdance": 295, "lumberry,chlorophyll,doubleedge,leafblade,swordsdance,synthesis": 493, "lumberry,chlorophyll,knockoff,leafblade,swordsdance,synthesis": 455}, + "lickilicky": {"leftovers,oblivious,bodyslam,earthquake,explosion,swordsdance": 133, "leftovers,oblivious,bodyslam,explosion,knockoff,swordsdance": 126, "leftovers,oblivious,bodyslam,earthquake,knockoff,wish": 121, "leftovers,oblivious,bodyslam,protect,swordsdance,wish": 138, "leftovers,oblivious,bodyslam,knockoff,swordsdance,wish": 156, "leftovers,oblivious,bodyslam,knockoff,protect,wish": 248, "leftovers,oblivious,bodyslam,earthquake,protect,wish": 242, "choiceband,oblivious,bodyslam,earthquake,explosion,knockoff": 94, "leftovers,oblivious,bodyslam,healbell,protect,wish": 149, "leftovers,oblivious,bodyslam,earthquake,swordsdance,wish": 167, "leftovers,oblivious,bodyslam,earthquake,healbell,wish": 10, "leftovers,oblivious,bodyslam,earthquake,knockoff,swordsdance": 101, "leftovers,oblivious,bodyslam,healbell,knockoff,wish": 13, "leftovers,oblivious,bodyslam,healbell,swordsdance,wish": 8}, + "liepard": {"leftovers,prankster,knockoff,playrough,thunderwave,uturn": 129, "choiceband,prankster,copycat,knockoff,playrough,uturn": 147, "leftovers,prankster,copycat,encore,knockoff,uturn": 140, "leftovers,prankster,copycat,knockoff,thunderwave,uturn": 133, "leftovers,prankster,copycat,encore,knockoff,thunderwave": 141, "leftovers,prankster,encore,knockoff,playrough,thunderwave": 139, "focussash,prankster,knockoff,playrough,thunderwave,uturn": 27, "focussash,prankster,copycat,knockoff,playrough,thunderwave": 19, "focussash,prankster,copycat,encore,knockoff,uturn": 26, "leftovers,prankster,encore,knockoff,playrough,uturn": 153, "leftovers,prankster,copycat,knockoff,playrough,thunderwave": 135, "focussash,prankster,copycat,knockoff,thunderwave,uturn": 26, "leftovers,prankster,encore,knockoff,thunderwave,uturn": 144, "focussash,prankster,copycat,encore,knockoff,playrough": 31, "leftovers,prankster,copycat,encore,knockoff,playrough": 129, "focussash,prankster,encore,knockoff,playrough,uturn": 28, "focussash,prankster,encore,knockoff,thunderwave,uturn": 26, "focussash,prankster,copycat,encore,knockoff,thunderwave": 30, "focussash,prankster,encore,knockoff,playrough,thunderwave": 30}, + "lilligant": {"leftovers,chlorophyll,gigadrain,pollenpuff,quiverdance,sleeppowder": 287, "leftovers,owntempo,gigadrain,petaldance,quiverdance,sleeppowder": 474, "lifeorb,owntempo,gigadrain,petaldance,pollenpuff,quiverdance": 478, "leftovers,owntempo,petaldance,pollenpuff,quiverdance,sleeppowder": 308, "lifeorb,chlorophyll,gigadrain,petaldance,pollenpuff,quiverdance": 12, "leftovers,chlorophyll,gigadrain,petaldance,quiverdance,sleeppowder": 3, "leftovers,chlorophyll,petaldance,pollenpuff,quiverdance,sleeppowder": 6}, + "linoone": {"iapapaberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 333, "aguavberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 313, "magoberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 341, "wikiberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 328, "figyberry,gluttony,bellydrum,extremespeed,stompingtantrum,throatchop": 352}, + "lopunny": {"toxicorb,cutecharm,closecombat,facade,healingwish,switcheroo": 1680}, + "lucario": {"lifeorb,justified,closecombat,extremespeed,meteormash,swordsdance": 932, "choiceband,justified,closecombat,extremespeed,meteormash,stoneedge": 296, "focussash,justified,closecombat,extremespeed,meteormash,swordsdance": 216}, + "ludicolo": {"choicespecs,swiftswim,gigadrain,hydropump,icebeam,scald": 331, "lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance": 273, "lifeorb,swiftswim,gigadrain,icebeam,raindance,scald": 922}, + "lugia": {"heavydutyboots,multiscale,airslash,earthquake,roost,toxic": 400, "heavydutyboots,multiscale,airslash,roost,substitute,toxic": 1074}, + "lunala": {"leftovers,shadowshield,calmmind,moonblast,moongeistbeam,psyshock": 359, "leftovers,shadowshield,calmmind,moongeistbeam,psyshock,roost": 676, "leftovers,shadowshield,calmmind,moonblast,moongeistbeam,roost": 322, "leftovers,shadowshield,moonblast,moongeistbeam,psyshock,roost": 332}, + "lunatone": {"lifeorb,levitate,earthpower,nastyplot,powergem,psychic": 365, "lifeorb,levitate,earthpower,moonblast,nastyplot,psychic": 252, "lifeorb,levitate,moonblast,nastyplot,powergem,psychic": 370, "choicespecs,levitate,earthpower,moonblast,powergem,psychic": 137, "lifeorb,levitate,earthpower,moonblast,powergem,stealthrock": 70, "focussash,levitate,moonblast,powergem,psychic,stealthrock": 12, "lifeorb,levitate,earthpower,powergem,psychic,stealthrock": 67, "lifeorb,levitate,earthpower,moonblast,psychic,stealthrock": 84, "lifeorb,levitate,moonblast,powergem,psychic,stealthrock": 72, "focussash,levitate,earthpower,powergem,psychic,stealthrock": 17, "focussash,levitate,earthpower,moonblast,powergem,stealthrock": 16, "focussash,levitate,earthpower,moonblast,psychic,stealthrock": 12}, + "lurantis": {"lifeorb,contrary,knockoff,leafstorm,superpower,synthesis": 535, "lifeorb,contrary,defog,knockoff,leafstorm,superpower": 343, "leftovers,contrary,defog,knockoff,leafstorm,synthesis": 298, "leftovers,contrary,defog,leafstorm,superpower,synthesis": 423}, + "luxray": {"flameorb,guts,agility,crunch,facade,wildcharge": 401, "flameorb,guts,facade,superpower,voltswitch,wildcharge": 136, "lifeorb,intimidate,agility,crunch,superpower,wildcharge": 259, "flameorb,guts,crunch,facade,superpower,wildcharge": 98, "flameorb,guts,crunch,facade,voltswitch,wildcharge": 123, "assaultvest,intimidate,crunch,superpower,voltswitch,wildcharge": 95, "flameorb,guts,agility,facade,superpower,wildcharge": 427}, + "lycanroc": {"focussash,sandrush,accelerock,closecombat,stoneedge,swordsdance": 21, "lifeorb,sandrush,accelerock,psychicfangs,stoneedge,swordsdance": 112, "choiceband,sandrush,accelerock,closecombat,psychicfangs,stoneedge": 113, "lifeorb,sandrush,closecombat,psychicfangs,stoneedge,swordsdance": 95, "lifeorb,sandrush,accelerock,closecombat,stoneedge,swordsdance": 94, "focussash,sandrush,closecombat,psychicfangs,stoneedge,swordsdance": 27, "focussash,sandrush,accelerock,psychicfangs,stoneedge,swordsdance": 20}, + "lycanrocdusk": {"lifeorb,toughclaws,closecombat,psychicfangs,stoneedge,swordsdance": 120, "choiceband,toughclaws,accelerock,closecombat,psychicfangs,stoneedge": 113, "focussash,toughclaws,closecombat,psychicfangs,stoneedge,swordsdance": 23, "lifeorb,toughclaws,accelerock,psychicfangs,stoneedge,swordsdance": 121, "lifeorb,toughclaws,accelerock,closecombat,stoneedge,swordsdance": 113, "focussash,toughclaws,accelerock,psychicfangs,stoneedge,swordsdance": 30, "focussash,toughclaws,accelerock,closecombat,stoneedge,swordsdance": 23}, + "lycanrocmidnight": {"lifeorb,noguard,closecombat,irontail,stoneedge,swordsdance": 142, "lifeorb,noguard,irontail,stoneedge,suckerpunch,swordsdance": 126, "lifeorb,noguard,closecombat,stoneedge,suckerpunch,swordsdance": 109, "lifeorb,noguard,closecombat,stealthrock,stoneedge,suckerpunch": 20, "lifeorb,noguard,closecombat,irontail,stealthrock,stoneedge": 21, "lifeorb,noguard,irontail,stealthrock,stoneedge,suckerpunch": 14, "choiceband,noguard,closecombat,irontail,stoneedge,suckerpunch": 45, "focussash,noguard,irontail,stealthrock,stoneedge,suckerpunch": 5, "focussash,noguard,closecombat,irontail,stealthrock,stoneedge": 10, "focussash,noguard,closecombat,stealthrock,stoneedge,suckerpunch": 8}, + "machamp": {"flameorb,guts,bulletpunch,closecombat,facade,knockoff": 1648, "choiceband,noguard,bulletpunch,dynamicpunch,knockoff,stoneedge": 135}, + "magearna": {"leftovers,soulheart,agility,calmmind,flashcannon,fleurcannon": 1436}, + "magmortar": {"assaultvest,vitalspirit,earthquake,fireblast,focusblast,thunderbolt": 72, "lifeorb,flamebody,fireblast,focusblast,taunt,thunderbolt": 5, "heavydutyboots,flamebody,earthquake,fireblast,taunt,thunderbolt": 83, "heavydutyboots,vitalspirit,earthquake,fireblast,psychic,taunt": 81, "choicescarf,vitalspirit,fireblast,focusblast,psychic,thunderbolt": 66, "choicespecs,flamebody,fireblast,focusblast,psychic,thunderbolt": 27, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,taunt": 92, "assaultvest,flamebody,earthquake,fireblast,focusblast,psychic": 79, "assaultvest,flamebody,earthquake,fireblast,psychic,thunderbolt": 87, "assaultvest,vitalspirit,earthquake,fireblast,focusblast,psychic": 86, "heavydutyboots,flamebody,fireblast,focusblast,taunt,thunderbolt": 89, "assaultvest,flamebody,earthquake,fireblast,focusblast,thunderbolt": 74, "assaultvest,vitalspirit,earthquake,fireblast,psychic,thunderbolt": 96, "choicescarf,flamebody,fireblast,focusblast,psychic,thunderbolt": 54, "heavydutyboots,vitalspirit,earthquake,fireblast,taunt,thunderbolt": 63, "heavydutyboots,vitalspirit,fireblast,psychic,taunt,thunderbolt": 76, "heavydutyboots,flamebody,earthquake,fireblast,psychic,taunt": 62, "heavydutyboots,vitalspirit,fireblast,focusblast,psychic,taunt": 63, "heavydutyboots,vitalspirit,fireblast,focusblast,taunt,thunderbolt": 59, "heavydutyboots,flamebody,fireblast,psychic,taunt,thunderbolt": 67, "heavydutyboots,vitalspirit,earthquake,fireblast,focusblast,taunt": 67, "heavydutyboots,flamebody,fireblast,focusblast,psychic,taunt": 62, "lifeorb,flamebody,earthquake,fireblast,psychic,taunt": 7, "lifeorb,vitalspirit,fireblast,focusblast,psychic,taunt": 3, "choicespecs,vitalspirit,fireblast,focusblast,psychic,thunderbolt": 23, "lifeorb,flamebody,earthquake,fireblast,taunt,thunderbolt": 4, "lifeorb,vitalspirit,earthquake,fireblast,focusblast,taunt": 3, "lifeorb,flamebody,earthquake,fireblast,focusblast,taunt": 5, "lifeorb,vitalspirit,fireblast,psychic,taunt,thunderbolt": 6, "lifeorb,flamebody,fireblast,focusblast,psychic,taunt": 2, "lifeorb,vitalspirit,fireblast,focusblast,taunt,thunderbolt": 8, "lifeorb,flamebody,fireblast,psychic,taunt,thunderbolt": 7, "lifeorb,vitalspirit,earthquake,fireblast,taunt,thunderbolt": 4, "lifeorb,vitalspirit,earthquake,fireblast,psychic,taunt": 2}, + "magnezone": {"assaultvest,magnetpull,flashcannon,mirrorcoat,thunderbolt,voltswitch": 1226, "choicescarf,magnetpull,bodypress,flashcannon,thunderbolt,voltswitch": 284}, + "malamar": {"leftovers,contrary,knockoff,psychocut,substitute,superpower": 577, "leftovers,contrary,knockoff,rest,sleeptalk,superpower": 762, "chestoberry,contrary,knockoff,psychocut,rest,superpower": 306}, + "mamoswine": {"lifeorb,thickfat,earthquake,iciclecrash,stealthrock,superpower": 171, "choiceband,thickfat,earthquake,iceshard,iciclecrash,knockoff": 273, "choicescarf,thickfat,earthquake,iciclecrash,knockoff,superpower": 184, "lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock": 157, "choiceband,thickfat,earthquake,iceshard,iciclecrash,superpower": 297, "focussash,thickfat,earthquake,iciclecrash,knockoff,stealthrock": 61, "lifeorb,thickfat,earthquake,iciclecrash,knockoff,stealthrock": 190, "focussash,thickfat,earthquake,iciclecrash,stealthrock,superpower": 38, "choiceband,thickfat,earthquake,iciclecrash,knockoff,superpower": 87, "focussash,thickfat,earthquake,iceshard,iciclecrash,stealthrock": 42}, + "mandibuzz": {"heavydutyboots,overcoat,bravebird,foulplay,roost,toxic": 1090, "heavydutyboots,overcoat,bravebird,foulplay,roost,uturn": 177, "heavydutyboots,overcoat,bravebird,defog,foulplay,roost": 171, "leftovers,overcoat,bravebird,foulplay,roost,toxic": 74}, + "manectric": {"choicescarf,lightningrod,overheat,switcheroo,thunderbolt,voltswitch": 1158, "choicescarf,lightningrod,flamethrower,switcheroo,thunderbolt,voltswitch": 495}, + "mantine": {"heavydutyboots,waterabsorb,hurricane,roost,scald,toxic": 788, "heavydutyboots,waterabsorb,defog,roost,scald,toxic": 286, "heavydutyboots,waterabsorb,defog,hurricane,roost,scald": 271, "leftovers,waterabsorb,hurricane,roost,scald,toxic": 69}, + "maractus": {"leftovers,stormdrain,energyball,leechseed,spikyshield,toxic": 218, "leftovers,waterabsorb,energyball,knockoff,spikes,spikyshield": 63, "leftovers,waterabsorb,energyball,leechseed,spikyshield,toxic": 409, "leftovers,stormdrain,energyball,knockoff,spikes,spikyshield": 30, "leftovers,stormdrain,energyball,spikes,spikyshield,toxic": 41, "leftovers,stormdrain,energyball,knockoff,spikyshield,toxic": 37, "leftovers,stormdrain,energyball,knockoff,leechseed,spikyshield": 59, "leftovers,waterabsorb,energyball,knockoff,spikyshield,toxic": 85, "focussash,waterabsorb,energyball,knockoff,spikes,toxic": 9, "leftovers,waterabsorb,energyball,leechseed,spikes,spikyshield": 77, "leftovers,waterabsorb,energyball,spikes,spikyshield,toxic": 82, "focussash,stormdrain,energyball,leechseed,spikyshield,toxic": 45, "leftovers,waterabsorb,energyball,knockoff,spikes,toxic": 68, "leftovers,stormdrain,energyball,knockoff,spikes,toxic": 29, "leftovers,waterabsorb,energyball,knockoff,leechseed,spikyshield": 83, "focussash,stormdrain,energyball,knockoff,spikes,toxic": 10, "focussash,waterabsorb,energyball,knockoff,spikyshield,toxic": 14, "focussash,stormdrain,energyball,leechseed,spikes,spikyshield": 8, "focussash,stormdrain,energyball,knockoff,leechseed,spikyshield": 12, "leftovers,stormdrain,energyball,leechseed,spikes,spikyshield": 41, "focussash,stormdrain,energyball,knockoff,spikyshield,toxic": 6, "focussash,waterabsorb,energyball,leechseed,spikyshield,toxic": 83, "focussash,waterabsorb,energyball,spikes,spikyshield,toxic": 9, "focussash,waterabsorb,energyball,leechseed,spikes,spikyshield": 20, "leftovers,chlorophyll,energyball,knockoff,spikes,spikyshield": 2, "focussash,stormdrain,energyball,spikes,spikyshield,toxic": 9, "focussash,stormdrain,energyball,knockoff,spikes,spikyshield": 8, "focussash,waterabsorb,energyball,knockoff,spikes,spikyshield": 10, "focussash,waterabsorb,energyball,knockoff,leechseed,spikyshield": 20, "leftovers,chlorophyll,energyball,spikes,spikyshield,toxic": 1, "leftovers,chlorophyll,energyball,leechseed,spikes,spikyshield": 1, "leftovers,chlorophyll,energyball,leechseed,spikyshield,toxic": 4}, + "marowak": {"thickclub,battlearmor,earthquake,knockoff,stoneedge,swordsdance": 200, "thickclub,rockhead,doubleedge,earthquake,stoneedge,swordsdance": 204, "thickclub,rockhead,doubleedge,earthquake,stealthrock,stoneedge": 65, "thickclub,battlearmor,earthquake,knockoff,stealthrock,stoneedge": 47, "thickclub,rockhead,doubleedge,earthquake,knockoff,swordsdance": 179, "thickclub,rockhead,doubleedge,earthquake,knockoff,stoneedge": 76, "thickclub,rockhead,doubleedge,earthquake,knockoff,stealthrock": 50}, + "marowakalola": {"thickclub,rockhead,earthquake,flamecharge,flareblitz,poltergeist": 152, "thickclub,lightningrod,earthquake,flareblitz,poltergeist,stealthrock": 39, "thickclub,rockhead,flamecharge,flareblitz,poltergeist,stoneedge": 150, "thickclub,lightningrod,flamecharge,flareblitz,poltergeist,stoneedge": 160, "thickclub,lightningrod,flareblitz,poltergeist,stealthrock,stoneedge": 29, "thickclub,lightningrod,earthquake,flamecharge,flareblitz,poltergeist": 118, "thickclub,lightningrod,earthquake,flareblitz,poltergeist,stoneedge": 44, "thickclub,rockhead,earthquake,flareblitz,poltergeist,stealthrock": 26, "thickclub,rockhead,earthquake,flareblitz,poltergeist,stoneedge": 44, "thickclub,rockhead,flareblitz,poltergeist,stealthrock,stoneedge": 25}, + "marshadow": {"lifeorb,technician,bulkup,closecombat,shadowsneak,spectralthief": 908, "lifeorb,technician,bulkup,closecombat,rocktomb,spectralthief": 221, "choiceband,technician,closecombat,rocktomb,shadowsneak,spectralthief": 196, "choiceband,technician,closecombat,icepunch,shadowsneak,spectralthief": 190, "lifeorb,technician,bulkup,closecombat,icepunch,spectralthief": 167}, + "mawile": {"lifeorb,sheerforce,ironhead,playrough,suckerpunch,swordsdance": 597, "lifeorb,intimidate,ironhead,playrough,suckerpunch,swordsdance": 509, "lifeorb,sheerforce,ironhead,playrough,stealthrock,suckerpunch": 132, "focussash,intimidate,ironhead,playrough,suckerpunch,swordsdance": 122, "lifeorb,intimidate,ironhead,playrough,stealthrock,suckerpunch": 94, "focussash,intimidate,ironhead,playrough,stealthrock,suckerpunch": 31}, + "melmetal": {"leftovers,ironfist,doubleironbash,earthquake,superpower,thunderwave": 378, "leftovers,ironfist,doubleironbash,earthquake,thunderpunch,thunderwave": 374, "leftovers,ironfist,doubleironbash,superpower,thunderpunch,thunderwave": 375, "choiceband,ironfist,doubleironbash,earthquake,superpower,thunderpunch": 370}, + "meowstic": {"lightclay,prankster,lightscreen,psychic,reflect,yawn": 401, "lightclay,prankster,lightscreen,psychic,reflect,thunderwave": 381, "leftovers,prankster,psychic,reflect,thunderwave,yawn": 6, "leftovers,prankster,lightscreen,psychic,thunderwave,yawn": 7}, + "meowsticf": {"lifeorb,competitive,energyball,nastyplot,psychic,thunderbolt": 114, "lifeorb,infiltrator,darkpulse,energyball,nastyplot,psychic": 125, "lifeorb,infiltrator,energyball,nastyplot,psychic,thunderbolt": 107, "choicespecs,infiltrator,darkpulse,energyball,psychic,thunderbolt": 88, "lifeorb,competitive,darkpulse,nastyplot,psychic,thunderbolt": 102, "lifeorb,infiltrator,darkpulse,nastyplot,psychic,thunderbolt": 113, "lifeorb,competitive,darkpulse,energyball,nastyplot,psychic": 103, "choicespecs,competitive,darkpulse,energyball,psychic,thunderbolt": 85}, + "mesprit": {"leftovers,levitate,energyball,icebeam,nastyplot,psychic": 774, "leftovers,levitate,energyball,psychic,stealthrock,thunderwave": 23, "choicespecs,levitate,energyball,icebeam,psychic,uturn": 87, "leftovers,levitate,energyball,psychic,thunderwave,uturn": 82, "leftovers,levitate,healingwish,psychic,stealthrock,thunderwave": 45, "leftovers,levitate,icebeam,psychic,stealthrock,thunderwave": 39, "leftovers,levitate,psychic,stealthrock,thunderwave,uturn": 60, "leftovers,levitate,icebeam,psychic,thunderwave,uturn": 83, "choicescarf,levitate,energyball,healingwish,icebeam,psychic": 52, "leftovers,levitate,icebeam,psychic,stealthrock,uturn": 64, "leftovers,levitate,energyball,icebeam,psychic,thunderwave": 36, "leftovers,levitate,healingwish,icebeam,psychic,stealthrock": 46, "leftovers,levitate,energyball,healingwish,psychic,thunderwave": 56, "leftovers,levitate,healingwish,icebeam,psychic,thunderwave": 73, "leftovers,levitate,energyball,psychic,stealthrock,uturn": 61, "leftovers,levitate,energyball,icebeam,psychic,stealthrock": 19, "leftovers,levitate,energyball,healingwish,psychic,stealthrock": 57}, + "metagross": {"weaknesspolicy,clearbody,agility,earthquake,meteormash,thunderpunch": 992, "leftovers,clearbody,bulletpunch,earthquake,meteormash,stealthrock": 43, "leftovers,clearbody,explosion,meteormash,stealthrock,thunderpunch": 46, "leftovers,clearbody,bulletpunch,explosion,meteormash,stealthrock": 43, "choicescarf,clearbody,earthquake,explosion,meteormash,thunderpunch": 42, "choiceband,clearbody,bulletpunch,earthquake,explosion,meteormash": 55, "leftovers,clearbody,earthquake,meteormash,stealthrock,thunderpunch": 40, "choiceband,clearbody,earthquake,explosion,meteormash,thunderpunch": 18, "leftovers,clearbody,bulletpunch,meteormash,stealthrock,thunderpunch": 34, "choiceband,clearbody,bulletpunch,earthquake,meteormash,thunderpunch": 59, "choiceband,clearbody,bulletpunch,explosion,meteormash,thunderpunch": 67, "leftovers,clearbody,earthquake,explosion,meteormash,stealthrock": 41}, + "mew": {"lumberry,synchronize,bravebird,flareblitz,psychicfangs,swordsdance": 156, "choicescarf,synchronize,bravebird,closecombat,flareblitz,psychicfangs": 83, "lumberry,synchronize,closecombat,dragondance,flareblitz,psychicfangs": 1222, "lumberry,synchronize,bravebird,closecombat,psychicfangs,swordsdance": 168, "choiceband,synchronize,bravebird,closecombat,flareblitz,psychicfangs": 41, "lumberry,synchronize,closecombat,flareblitz,psychicfangs,swordsdance": 24}, + "mewtwo": {"lifeorb,unnerve,fireblast,nastyplot,psystrike,shadowball": 352, "leftovers,unnerve,fireblast,nastyplot,psystrike,recover": 493, "lifeorb,unnerve,fireblast,psystrike,recover,shadowball": 328, "leftovers,unnerve,nastyplot,psystrike,recover,shadowball": 487}, + "mienshao": {"lifeorb,regenerator,closecombat,knockoff,poisonjab,swordsdance": 358, "choicescarf,regenerator,closecombat,knockoff,stoneedge,uturn": 62, "lifeorb,regenerator,closecombat,fakeout,knockoff,stoneedge": 46, "choicescarf,regenerator,closecombat,poisonjab,stoneedge,uturn": 42, "focussash,regenerator,closecombat,poisonjab,stoneedge,swordsdance": 54, "choiceband,regenerator,closecombat,knockoff,poisonjab,uturn": 34, "lifeorb,regenerator,closecombat,poisonjab,stoneedge,swordsdance": 304, "focussash,regenerator,closecombat,knockoff,stoneedge,swordsdance": 58, "lifeorb,regenerator,closecombat,knockoff,stoneedge,swordsdance": 326, "lifeorb,regenerator,closecombat,fakeout,knockoff,poisonjab": 63, "choicescarf,regenerator,closecombat,knockoff,poisonjab,uturn": 68, "choiceband,regenerator,closecombat,knockoff,stoneedge,uturn": 19, "choiceband,regenerator,closecombat,poisonjab,stoneedge,uturn": 21, "focussash,regenerator,closecombat,fakeout,knockoff,stoneedge": 9, "choicescarf,regenerator,closecombat,knockoff,poisonjab,stoneedge": 49, "choiceband,regenerator,closecombat,knockoff,poisonjab,stoneedge": 25, "focussash,regenerator,closecombat,knockoff,poisonjab,swordsdance": 57, "focussash,regenerator,closecombat,fakeout,poisonjab,stoneedge": 12, "focussash,regenerator,closecombat,fakeout,knockoff,poisonjab": 9, "lifeorb,regenerator,closecombat,fakeout,poisonjab,stoneedge": 37}, + "milotic": {"leftovers,marvelscale,haze,recover,scald,toxic": 653, "leftovers,competitive,icebeam,recover,scald,toxic": 332, "leftovers,marvelscale,icebeam,recover,scald,toxic": 320, "leftovers,marvelscale,haze,icebeam,recover,scald": 154, "leftovers,competitive,haze,icebeam,recover,scald": 162}, + "miltank": {"leftovers,thickfat,bodyslam,milkdrink,stealthrock,toxic": 178, "leftovers,thickfat,bodyslam,healbell,milkdrink,toxic": 206, "leftovers,thickfat,bodyslam,earthquake,milkdrink,toxic": 306, "leftovers,sapsipper,bodyslam,milkdrink,stealthrock,toxic": 116, "leftovers,scrappy,bodyslam,milkdrink,stealthrock,toxic": 96, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,toxic": 150, "leftovers,scrappy,bodyslam,healbell,milkdrink,toxic": 93, "leftovers,thickfat,bodyslam,earthquake,healbell,milkdrink": 91, "leftovers,sapsipper,bodyslam,healbell,milkdrink,toxic": 94, "leftovers,scrappy,bodyslam,healbell,milkdrink,stealthrock": 26, "leftovers,sapsipper,bodyslam,earthquake,healbell,milkdrink": 53, "leftovers,thickfat,bodyslam,earthquake,milkdrink,stealthrock": 84, "leftovers,sapsipper,bodyslam,earthquake,milkdrink,stealthrock": 45, "leftovers,sapsipper,bodyslam,healbell,milkdrink,stealthrock": 34, "leftovers,thickfat,bodyslam,healbell,milkdrink,stealthrock": 54}, + "mimikyu": {"lifeorb,disguise,playrough,shadowclaw,shadowsneak,swordsdance": 851, "lifeorb,disguise,drainpunch,playrough,shadowclaw,swordsdance": 477, "lifeorb,disguise,drainpunch,playrough,shadowsneak,swordsdance": 287}, + "moltres": {"heavydutyboots,flamebody,airslash,fireblast,roost,uturn": 400, "heavydutyboots,flamebody,airslash,defog,fireblast,roost": 140, "heavydutyboots,pressure,airslash,defog,fireblast,roost": 229}, + "moltresgalar": {"chestoberry,berserk,fierywrath,hurricane,nastyplot,rest": 797}, + "morpeko": {"leftovers,hungerswitch,aurawheel,foulplay,partingshot,protect": 365, "leftovers,hungerswitch,aurawheel,foulplay,protect,rapidspin": 435, "leftovers,hungerswitch,aurawheel,foulplay,protect,psychicfangs": 357, "leftovers,hungerswitch,aurawheel,foulplay,partingshot,rapidspin": 119, "choiceband,hungerswitch,aurawheel,foulplay,partingshot,psychicfangs": 147, "focussash,hungerswitch,aurawheel,foulplay,partingshot,rapidspin": 26}, + "mrmime": {"lifeorb,filter,dazzlinggleam,focusblast,nastyplot,psychic": 695, "choicescarf,filter,dazzlinggleam,focusblast,healingwish,psychic": 147}, + "mrmimegalar": {"eviolite,vitalspirit,focusblast,freezedry,nastyplot,psychic": 307, "eviolite,screencleaner,focusblast,freezedry,nastyplot,psychic": 290, "eviolite,vitalspirit,focusblast,freezedry,psychic,rapidspin": 69, "eviolite,screencleaner,focusblast,freezedry,psychic,rapidspin": 68}, + "mrrime": {"heavydutyboots,screencleaner,focusblast,freezedry,psychic,slackoff": 455, "heavydutyboots,screencleaner,freezedry,psychic,rapidspin,slackoff": 486, "heavydutyboots,screencleaner,focusblast,freezedry,rapidspin,slackoff": 231, "choicescarf,screencleaner,focusblast,freezedry,psychic,trick": 133, "heavydutyboots,screencleaner,focusblast,freezedry,psychic,rapidspin": 222, "lifeorb,screencleaner,focusblast,freezedry,psychic,slackoff": 25, "heavydutyboots,tangledfeet,focusblast,freezedry,rapidspin,slackoff": 10, "choicescarf,tangledfeet,focusblast,freezedry,psychic,trick": 3, "heavydutyboots,tangledfeet,freezedry,psychic,rapidspin,slackoff": 9, "heavydutyboots,tangledfeet,focusblast,freezedry,psychic,slackoff": 16, "heavydutyboots,tangledfeet,focusblast,freezedry,psychic,rapidspin": 5}, + "mudsdale": {"leftovers,stamina,earthquake,heavyslam,rockslide,stealthrock": 324, "leftovers,stamina,bodypress,earthquake,rockslide,stealthrock": 304, "choiceband,stamina,bodypress,earthquake,heavyslam,rockslide": 644, "leftovers,stamina,bodypress,earthquake,heavyslam,stealthrock": 339}, + "musharna": {"leftovers,synchronize,moonblast,moonlight,psychic,thunderwave": 552, "leftovers,synchronize,calmmind,moonblast,moonlight,psychic": 1173}, + "naganadel": {"lifeorb,beastboost,dracometeor,fireblast,nastyplot,sludgewave": 1199, "choicespecs,beastboost,airslash,dracometeor,fireblast,sludgewave": 289}, + "necrozma": {"leftovers,prismarmor,calmmind,heatwave,moonlight,photongeyser": 386, "leftovers,prismarmor,heatwave,moonlight,photongeyser,stealthrock": 157}, + "necrozmadawnwings": {"leftovers,prismarmor,calmmind,heatwave,moongeistbeam,photongeyser": 415, "leftovers,prismarmor,heatwave,moongeistbeam,photongeyser,stealthrock": 87}, + "necrozmaduskmane": {"weaknesspolicy,prismarmor,dragondance,earthquake,photongeyser,sunsteelstrike": 84, "weaknesspolicy,prismarmor,dragondance,earthquake,morningsun,sunsteelstrike": 410}, + "nidoking": {"lifeorb,sheerforce,earthpower,icebeam,sludgewave,substitute": 1210, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,superpower": 289}, + "nidoqueen": {"lifeorb,sheerforce,earthpower,icebeam,sludgewave,toxicspikes": 564, "lifeorb,sheerforce,earthpower,icebeam,sludgewave,stealthrock": 455, "lifeorb,sheerforce,earthpower,sludgewave,stealthrock,toxicspikes": 444}, + "nihilego": {"blacksludge,beastboost,grassknot,sludgewave,stealthrock,thunderbolt": 97, "blacksludge,beastboost,grassknot,powergem,sludgewave,toxicspikes": 111, "blacksludge,beastboost,grassknot,powergem,sludgewave,stealthrock": 121, "blacksludge,beastboost,powergem,sludgewave,thunderbolt,toxicspikes": 108, "blacksludge,beastboost,grassknot,sludgewave,stealthrock,toxicspikes": 92, "blacksludge,beastboost,sludgewave,stealthrock,thunderbolt,toxicspikes": 98, "blacksludge,beastboost,powergem,stealthrock,thunderbolt,toxicspikes": 98, "blacksludge,beastboost,grassknot,powergem,stealthrock,toxicspikes": 85, "blacksludge,beastboost,powergem,sludgewave,stealthrock,thunderbolt": 119, "blacksludge,beastboost,powergem,sludgewave,stealthrock,toxicspikes": 108, "choicescarf,beastboost,grassknot,powergem,sludgewave,thunderbolt": 116, "blacksludge,beastboost,grassknot,powergem,thunderbolt,toxicspikes": 137, "blacksludge,beastboost,grassknot,sludgewave,thunderbolt,toxicspikes": 116, "choicespecs,beastboost,grassknot,powergem,sludgewave,thunderbolt": 65, "blacksludge,beastboost,grassknot,powergem,stealthrock,thunderbolt": 103}, + "ninetales": {"heavydutyboots,drought,fireblast,nastyplot,solarbeam,willowisp": 550, "heavydutyboots,drought,fireblast,nastyplot,scorchingsands,solarbeam": 196, "lifeorb,drought,fireblast,nastyplot,scorchingsands,solarbeam": 21, "leftovers,drought,fireblast,nastyplot,solarbeam,willowisp": 36}, + "ninetalesalola": {"heavydutyboots,snowwarning,blizzard,freezedry,moonblast,nastyplot": 223, "lightclay,snowwarning,auroraveil,blizzard,moonblast,nastyplot": 382, "lightclay,snowwarning,auroraveil,blizzard,freezedry,moonblast": 139, "lifeorb,snowwarning,blizzard,freezedry,moonblast,nastyplot": 16}, + "ninjask": {",speedboost,acrobatics,leechlife,swordsdance,uturn": 1415}, + "noctowl": {"heavydutyboots,tintedlens,defog,heatwave,hurricane,roost": 430, "leftovers,tintedlens,heatwave,hurricane,nastyplot,roost": 60, "heavydutyboots,tintedlens,heatwave,hurricane,nastyplot,roost": 916}, + "noivern": {"heavydutyboots,infiltrator,defog,dracometeor,hurricane,roost": 491, "heavydutyboots,infiltrator,dracometeor,flamethrower,hurricane,roost": 536, "heavydutyboots,infiltrator,defog,dracometeor,flamethrower,roost": 230, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,switcheroo": 128, "lifeorb,infiltrator,dracometeor,flamethrower,hurricane,roost": 72}, + "obstagoon": {"flameorb,guts,bulkup,closecombat,facade,knockoff": 1256, "flameorb,guts,closecombat,facade,knockoff,partingshot": 291}, + "octillery": {"choicespecs,sniper,energyball,fireblast,icebeam,scald": 60, "lifeorb,sniper,energyball,fireblast,scald,thunderwave": 95, "lifeorb,sniper,fireblast,gunkshot,scald,thunderwave": 103, "lifeorb,sniper,fireblast,gunkshot,icebeam,scald": 93, "lifeorb,sniper,fireblast,hydropump,icebeam,thunderwave": 42, "lifeorb,sniper,energyball,fireblast,gunkshot,scald": 87, "choicespecs,suctioncups,energyball,fireblast,hydropump,scald": 50, "lifeorb,sniper,fireblast,gunkshot,hydropump,icebeam": 55, "lifeorb,sniper,energyball,hydropump,icebeam,thunderwave": 57, "lifeorb,sniper,energyball,gunkshot,hydropump,icebeam": 53, "lifeorb,sniper,fireblast,icebeam,scald,thunderwave": 96, "lifeorb,sniper,energyball,gunkshot,hydropump,thunderwave": 60, "lifeorb,sniper,energyball,gunkshot,scald,thunderwave": 104, "lifeorb,sniper,energyball,fireblast,gunkshot,hydropump": 61, "lifeorb,sniper,energyball,icebeam,scald,thunderwave": 94, "choicespecs,sniper,energyball,fireblast,hydropump,icebeam": 46, "choicespecs,suctioncups,fireblast,hydropump,icebeam,scald": 44, "lifeorb,sniper,fireblast,gunkshot,hydropump,thunderwave": 55, "lifeorb,sniper,gunkshot,icebeam,scald,thunderwave": 99, "lifeorb,sniper,energyball,gunkshot,icebeam,scald": 90, "lifeorb,sniper,gunkshot,hydropump,icebeam,thunderwave": 54, "lifeorb,sniper,energyball,fireblast,hydropump,thunderwave": 50, "choicespecs,suctioncups,energyball,hydropump,icebeam,scald": 48}, + "omastar": {"whiteherb,swiftswim,earthpower,hydropump,icebeam,shellsmash": 1352}, + "oranguru": {"leftovers,innerfocus,focusblast,nastyplot,psychic,thunderbolt": 909, "leftovers,innerfocus,focusblast,nastyplot,psychic,trickroom": 355, "leftovers,innerfocus,nastyplot,psychic,thunderbolt,trickroom": 340}, + "orbeetle": {"heavydutyboots,frisk,psychic,recover,stickyweb,uturn": 527, "heavydutyboots,frisk,bugbuzz,calmmind,psychic,recover": 738, "heavydutyboots,frisk,bugbuzz,psychic,recover,stickyweb": 71, "leftovers,frisk,bodypress,bugbuzz,recover,stickyweb": 4, "heavydutyboots,frisk,bodypress,bugbuzz,recover,stickyweb": 62, "leftovers,frisk,bugbuzz,psychic,recover,stickyweb": 8, "leftovers,frisk,bugbuzz,calmmind,psychic,recover": 53, "heavydutyboots,frisk,bodypress,psychic,recover,stickyweb": 52, "heavydutyboots,frisk,bodypress,bugbuzz,psychic,recover": 1, "heavydutyboots,frisk,bodypress,psychic,recover,uturn": 15, "leftovers,frisk,bodypress,psychic,recover,stickyweb": 1, "leftovers,frisk,bodypress,bugbuzz,psychic,recover": 1}, + "palkia": {"lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave": 811, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend": 290, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave": 298, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend": 124}, + "palossand": {"leftovers,watercompaction,earthpower,shadowball,shoreup,toxic": 1313, "leftovers,watercompaction,earthpower,shadowball,shoreup,stealthrock": 207, "leftovers,watercompaction,scorchingsands,shadowball,shoreup,stealthrock": 80, "leftovers,sandveil,earthpower,shadowball,shoreup,toxic": 13, "leftovers,sandveil,earthpower,shadowball,shoreup,stealthrock": 4}, + "pangoro": {"choiceband,scrappy,closecombat,icepunch,knockoff,partingshot": 485, "choiceband,scrappy,closecombat,gunkshot,knockoff,partingshot": 522, "choiceband,scrappy,closecombat,gunkshot,icepunch,knockoff": 517}, + "passimian": {"choicescarf,defiant,closecombat,gunkshot,rockslide,uturn": 122, "choicescarf,defiant,closecombat,earthquake,gunkshot,knockoff": 106, "choiceband,defiant,closecombat,knockoff,rockslide,uturn": 53, "choicescarf,defiant,closecombat,earthquake,rockslide,uturn": 108, "choiceband,defiant,closecombat,gunkshot,knockoff,rockslide": 50, "choiceband,defiant,closecombat,earthquake,gunkshot,knockoff": 54, "choiceband,defiant,closecombat,gunkshot,rockslide,uturn": 66, "choicescarf,defiant,closecombat,earthquake,knockoff,uturn": 111, "choicescarf,defiant,closecombat,earthquake,gunkshot,rockslide": 121, "choiceband,defiant,closecombat,earthquake,rockslide,uturn": 73, "choiceband,defiant,closecombat,earthquake,gunkshot,rockslide": 52, "choicescarf,defiant,closecombat,earthquake,knockoff,rockslide": 117, "choicescarf,defiant,closecombat,gunkshot,knockoff,rockslide": 102, "choiceband,defiant,closecombat,earthquake,gunkshot,uturn": 64, "choiceband,defiant,closecombat,gunkshot,knockoff,uturn": 60, "choicescarf,defiant,closecombat,knockoff,rockslide,uturn": 109, "choicescarf,defiant,closecombat,earthquake,gunkshot,uturn": 123, "choiceband,defiant,closecombat,earthquake,knockoff,rockslide": 67, "choicescarf,defiant,closecombat,gunkshot,knockoff,uturn": 118, "choiceband,defiant,closecombat,earthquake,knockoff,uturn": 48}, + "pelipper": {"heavydutyboots,drizzle,hurricane,hydropump,roost,uturn": 154, "heavydutyboots,drizzle,defog,hurricane,roost,scald": 317, "heavydutyboots,drizzle,hurricane,roost,scald,uturn": 409, "choicespecs,drizzle,hurricane,hydropump,scald,uturn": 201, "heavydutyboots,drizzle,defog,hydropump,roost,uturn": 96, "heavydutyboots,drizzle,defog,roost,scald,uturn": 222, "heavydutyboots,drizzle,defog,hurricane,hydropump,roost": 136}, + "perrserker": {"lifeorb,toughclaws,closecombat,crunch,fakeout,ironhead": 384, "choiceband,steelyspirit,closecombat,crunch,ironhead,uturn": 1076}, + "persian": {"choiceband,unnerve,doubleedge,knockoff,playrough,uturn": 196, "choiceband,limber,doubleedge,knockoff,playrough,uturn": 390, "lifeorb,technician,doubleedge,fakeout,knockoff,playrough": 201}, + "persianalola": {"leftovers,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt": 679, "focussash,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt": 138}, + "pheromosa": {"choiceband,beastboost,closecombat,poisonjab,throatchop,uturn": 404, "expertbelt,beastboost,closecombat,icebeam,poisonjab,uturn": 330, "expertbelt,beastboost,closecombat,icebeam,throatchop,uturn": 370, "lifeorb,beastboost,closecombat,icebeam,poisonjab,throatchop": 284, "focussash,beastboost,closecombat,icebeam,poisonjab,uturn": 55, "focussash,beastboost,closecombat,icebeam,throatchop,uturn": 57, "focussash,beastboost,closecombat,icebeam,poisonjab,throatchop": 45}, + "pikachu": {"lightball,lightningrod,knockoff,surf,voltswitch,volttackle": 458, "lightball,lightningrod,playrough,surf,voltswitch,volttackle": 434, "lightball,lightningrod,knockoff,playrough,voltswitch,volttackle": 405, "lightball,lightningrod,knockoff,playrough,surf,volttackle": 327}, + "pincurchin": {"shucaberry,electricsurge,risingvoltage,scald,spikes,toxicspikes": 405, "shucaberry,electricsurge,risingvoltage,scald,spikes,suckerpunch": 437, "shucaberry,electricsurge,risingvoltage,spikes,suckerpunch,toxicspikes": 364, "shucaberry,electricsurge,risingvoltage,scald,suckerpunch,toxicspikes": 406}, + "pinsir": {"choicescarf,moxie,closecombat,earthquake,stoneedge,xscissor": 138, "heavydutyboots,moldbreaker,earthquake,stealthrock,stoneedge,xscissor": 94, "choicescarf,moxie,closecombat,earthquake,knockoff,xscissor": 143, "lifeorb,moldbreaker,closecombat,earthquake,stealthrock,xscissor": 6, "choicescarf,moxie,earthquake,knockoff,stoneedge,xscissor": 139, "heavydutyboots,moldbreaker,closecombat,knockoff,stealthrock,xscissor": 83, "choiceband,moxie,closecombat,earthquake,knockoff,xscissor": 63, "choicescarf,moxie,closecombat,knockoff,stoneedge,xscissor": 137, "heavydutyboots,moldbreaker,earthquake,knockoff,stealthrock,xscissor": 107, "heavydutyboots,moldbreaker,closecombat,stealthrock,stoneedge,xscissor": 120, "heavydutyboots,moldbreaker,knockoff,stealthrock,stoneedge,xscissor": 115, "heavydutyboots,moldbreaker,closecombat,earthquake,stealthrock,xscissor": 100, "choiceband,moxie,closecombat,earthquake,stoneedge,xscissor": 57, "choiceband,moxie,earthquake,knockoff,stoneedge,xscissor": 56, "focussash,moldbreaker,closecombat,earthquake,stealthrock,xscissor": 28, "focussash,moldbreaker,knockoff,stealthrock,stoneedge,xscissor": 21, "focussash,moldbreaker,earthquake,knockoff,stealthrock,xscissor": 35, "focussash,moldbreaker,closecombat,stealthrock,stoneedge,xscissor": 27, "lifeorb,moldbreaker,closecombat,stealthrock,stoneedge,xscissor": 7, "choiceband,moxie,closecombat,knockoff,stoneedge,xscissor": 65, "focussash,moldbreaker,closecombat,knockoff,stealthrock,xscissor": 28, "lifeorb,moldbreaker,closecombat,knockoff,stealthrock,xscissor": 20, "focussash,moldbreaker,earthquake,stealthrock,stoneedge,xscissor": 26, "lifeorb,moldbreaker,knockoff,stealthrock,stoneedge,xscissor": 14, "lifeorb,moldbreaker,earthquake,knockoff,stealthrock,xscissor": 11, "lifeorb,moldbreaker,earthquake,stealthrock,stoneedge,xscissor": 7}, + "politoed": {"leftovers,drizzle,icebeam,protect,scald,toxic": 122, "chestoberry,drizzle,encore,icebeam,rest,scald": 308, "chestoberry,drizzle,icebeam,rest,scald,toxic": 485, "chestoberry,drizzle,encore,rest,scald,toxic": 382, "leftovers,drizzle,encore,icebeam,scald,toxic": 178, "leftovers,drizzle,encore,protect,scald,toxic": 137}, + "poliwrath": {"lifeorb,swiftswim,closecombat,darkestlariat,liquidation,raindance": 1514}, + "polteageist": {"whiteherb,cursedbody,gigadrain,shadowball,shellsmash,strengthsap": 885, "whiteherb,cursedbody,shadowball,shellsmash,storedpower,strengthsap": 522, "whiteherb,cursedbody,gigadrain,shadowball,shellsmash,storedpower": 369}, + "porygonz": {"choicescarf,adaptability,icebeam,thunderbolt,triattack,trick": 118, "lifeorb,adaptability,darkpulse,nastyplot,thunderbolt,triattack": 257, "lifeorb,download,darkpulse,nastyplot,thunderbolt,triattack": 126, "lifeorb,adaptability,darkpulse,icebeam,nastyplot,triattack": 243, "lifeorb,download,darkpulse,icebeam,nastyplot,triattack": 135, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack": 253, "choicescarf,adaptability,darkpulse,icebeam,triattack,trick": 130, "choicescarf,download,darkpulse,icebeam,thunderbolt,triattack": 34, "choicescarf,adaptability,darkpulse,thunderbolt,triattack,trick": 144, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack": 132, "choicespecs,download,darkpulse,icebeam,thunderbolt,triattack": 9, "choicespecs,adaptability,darkpulse,icebeam,thunderbolt,triattack": 29, "choicescarf,adaptability,darkpulse,icebeam,thunderbolt,triattack": 54}, + "porygon2": {"eviolite,trace,discharge,recover,toxic,triattack": 689, "eviolite,trace,icebeam,recover,toxic,triattack": 680, "eviolite,trace,discharge,icebeam,recover,triattack": 104, "eviolite,download,discharge,icebeam,recover,triattack": 213}, + "primarina": {"choicescarf,torrent,hydropump,moonblast,psychic,scald": 258, "choicescarf,torrent,energyball,moonblast,psychic,scald": 286, "choicespecs,torrent,energyball,hydropump,moonblast,scald": 163, "choicespecs,torrent,hydropump,moonblast,psychic,scald": 156, "choicescarf,torrent,energyball,hydropump,moonblast,scald": 278, "choicespecs,torrent,energyball,moonblast,psychic,scald": 132, "choicescarf,torrent,energyball,hydropump,moonblast,psychic": 231, "choicespecs,torrent,energyball,hydropump,moonblast,psychic": 101}, + "pyukumuku": {"leftovers,unaware,counter,mirrorcoat,recover,toxic": 1620}, + "quagsire": {"leftovers,unaware,earthquake,recover,scald,toxic": 1218, "leftovers,unaware,earthquake,icebeam,recover,scald": 287}, + "qwilfish": {"focussash,intimidate,destinybond,taunt,toxicspikes,waterfall": 32, "blacksludge,intimidate,destinybond,taunt,toxicspikes,waterfall": 122, "focussash,intimidate,destinybond,spikes,taunt,waterfall": 28, "blacksludge,intimidate,destinybond,spikes,toxicspikes,waterfall": 126, "blacksludge,intimidate,destinybond,spikes,taunt,waterfall": 122, "blacksludge,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 118, "blacksludge,intimidate,spikes,thunderwave,toxicspikes,waterfall": 114, "blacksludge,intimidate,taunt,thunderwave,toxicspikes,waterfall": 114, "blacksludge,intimidate,destinybond,taunt,thunderwave,waterfall": 121, "blacksludge,intimidate,spikes,taunt,thunderwave,waterfall": 129, "blacksludge,intimidate,destinybond,spikes,thunderwave,waterfall": 149, "focussash,intimidate,spikes,taunt,toxicspikes,waterfall": 28, "focussash,intimidate,destinybond,thunderwave,toxicspikes,waterfall": 26, "focussash,intimidate,destinybond,spikes,thunderwave,waterfall": 25, "focussash,intimidate,destinybond,taunt,thunderwave,waterfall": 33, "blacksludge,intimidate,spikes,taunt,toxicspikes,waterfall": 106, "focussash,intimidate,spikes,taunt,thunderwave,waterfall": 27, "focussash,intimidate,taunt,thunderwave,toxicspikes,waterfall": 28, "focussash,intimidate,destinybond,spikes,toxicspikes,waterfall": 25, "focussash,intimidate,spikes,thunderwave,toxicspikes,waterfall": 27}, + "raichu": {"lifeorb,lightningrod,focusblast,grassknot,nastyplot,thunderbolt": 165, "focussash,lightningrod,focusblast,nastyplot,surf,thunderbolt": 60, "choicespecs,lightningrod,focusblast,surf,thunderbolt,voltswitch": 120, "lifeorb,lightningrod,focusblast,nastyplot,surf,thunderbolt": 359, "focussash,lightningrod,focusblast,grassknot,nastyplot,thunderbolt": 33, "choicespecs,lightningrod,focusblast,grassknot,thunderbolt,voltswitch": 69}, + "raichualola": {"focussash,surgesurfer,grassknot,nastyplot,psyshock,thunderbolt": 42, "choicespecs,surgesurfer,focusblast,psyshock,thunderbolt,voltswitch": 52, "choicespecs,surgesurfer,focusblast,grassknot,psyshock,thunderbolt": 54, "choicespecs,surgesurfer,focusblast,grassknot,psyshock,voltswitch": 67, "choicespecs,surgesurfer,grassknot,psyshock,thunderbolt,voltswitch": 55, "lifeorb,surgesurfer,focusblast,nastyplot,psyshock,thunderbolt": 193, "focussash,surgesurfer,focusblast,nastyplot,psyshock,thunderbolt": 50, "lifeorb,surgesurfer,grassknot,nastyplot,psyshock,thunderbolt": 223, "choicespecs,surgesurfer,focusblast,grassknot,thunderbolt,voltswitch": 50}, + "raikou": {"leftovers,pressure,aurasphere,calmmind,substitute,thunderbolt": 437, "leftovers,pressure,calmmind,scald,substitute,thunderbolt": 443, "lifeorb,pressure,aurasphere,calmmind,scald,thunderbolt": 490, "choicespecs,pressure,aurasphere,scald,thunderbolt,voltswitch": 262}, + "rapidash": {"heavydutyboots,flashfire,flareblitz,highhorsepower,morningsun,swordsdance": 156, "heavydutyboots,flashfire,flareblitz,highhorsepower,swordsdance,wildcharge": 102, "heavydutyboots,flashfire,flareblitz,morningsun,wildcharge,willowisp": 98, "heavydutyboots,flashfire,flareblitz,morningsun,swordsdance,wildcharge": 155, "leftovers,flashfire,flareblitz,highhorsepower,morningsun,willowisp": 8, "heavydutyboots,flashfire,flareblitz,highhorsepower,morningsun,willowisp": 106, "heavydutyboots,flashfire,flareblitz,highhorsepower,morningsun,wildcharge": 70, "lifeorb,flashfire,flareblitz,highhorsepower,morningsun,wildcharge": 7, "leftovers,flashfire,flareblitz,highhorsepower,morningsun,swordsdance": 11, "lifeorb,flashfire,flareblitz,highhorsepower,swordsdance,wildcharge": 8, "leftovers,flashfire,flareblitz,morningsun,wildcharge,willowisp": 7, "leftovers,flashfire,flareblitz,morningsun,swordsdance,wildcharge": 7}, + "rapidashgalar": {"lifeorb,pastelveil,highhorsepower,playrough,swordsdance,zenheadbutt": 177, "leftovers,pastelveil,morningsun,playrough,swordsdance,zenheadbutt": 493, "lifeorb,pastelveil,highhorsepower,morningsun,playrough,zenheadbutt": 185}, + "rayquaza": {"heavydutyboots,airlock,dragonascent,extremespeed,swordsdance,vcreate": 105, "heavydutyboots,airlock,dragonascent,earthquake,extremespeed,swordsdance": 108, "heavydutyboots,airlock,dragonascent,dragondance,earthquake,vcreate": 978, "heavydutyboots,airlock,dragonascent,earthquake,swordsdance,vcreate": 108, "lumberry,airlock,dragonascent,dragondance,earthquake,vcreate": 66, "choiceband,airlock,dragonascent,earthquake,extremespeed,vcreate": 104, "lumberry,airlock,dragonascent,earthquake,extremespeed,swordsdance": 4, "lumberry,airlock,dragonascent,earthquake,swordsdance,vcreate": 8, "lumberry,airlock,dragonascent,extremespeed,swordsdance,vcreate": 4}, + "regice": {"leftovers,clearbody,icebeam,rest,sleeptalk,thunderbolt": 759, "weaknesspolicy,clearbody,focusblast,icebeam,rockpolish,thunderbolt": 495, "chestoberry,clearbody,focusblast,icebeam,rest,thunderbolt": 247}, + "regidrago": {"assaultvest,dragonsmaw,dracometeor,firefang,hammerarm,outrage": 327, "lumberry,dragonsmaw,dragondance,firefang,hammerarm,outrage": 1279}, + "regieleki": {"magnet,transistor,explosion,substitute,thunderbolt,voltswitch": 1593}, + "regigigas": {"leftovers,slowstart,bodyslam,protect,substitute,toxic": 1690}, + "regirock": {"choiceband,sturdy,bodypress,earthquake,explosion,rockslide": 269, "chestoberry,sturdy,curse,earthquake,rest,rockslide": 384, "leftovers,sturdy,bodypress,curse,earthquake,rockslide": 443, "chestoberry,sturdy,bodypress,curse,rest,rockslide": 379, "choiceband,sturdy,bodypress,earthquake,explosion,stoneedge": 67}, + "registeel": {"leftovers,clearbody,bodypress,ironhead,rest,sleeptalk": 76, "leftovers,clearbody,curse,ironhead,rest,sleeptalk": 345, "leftovers,clearbody,ironhead,rest,sleeptalk,toxic": 274, "chestoberry,clearbody,bodypress,curse,ironhead,rest": 383, "chestoberry,clearbody,bodypress,ironhead,rest,toxic": 214, "leftovers,clearbody,bodypress,ironhead,protect,toxic": 57, "leftovers,clearbody,bodypress,ironhead,stealthrock,toxic": 54, "leftovers,clearbody,ironhead,protect,stealthrock,toxic": 69}, + "relicanth": {"leftovers,rockhead,earthquake,headsmash,liquidation,yawn": 220, "leftovers,rockhead,bodypress,headsmash,liquidation,yawn": 211, "leftovers,rockhead,bodypress,headsmash,liquidation,stealthrock": 211, "leftovers,rockhead,earthquake,headsmash,liquidation,stealthrock": 193, "leftovers,rockhead,headsmash,liquidation,stealthrock,yawn": 222, "choiceband,rockhead,bodypress,earthquake,headsmash,liquidation": 262}, + "reshiram": {"heavydutyboots,turboblaze,blueflare,dracometeor,roost,toxic": 1008, "heavydutyboots,turboblaze,blueflare,dracometeor,earthpower,roost": 109, "heavydutyboots,turboblaze,blueflare,defog,dracometeor,roost": 117, "assaultvest,turboblaze,blueflare,dracometeor,earthpower,stoneedge": 56, "heavydutyboots,turboblaze,blueflare,dracometeor,roost,stoneedge": 100, "leftovers,turboblaze,blueflare,dracometeor,roost,toxic": 88, "leftovers,turboblaze,blueflare,dracometeor,roost,stoneedge": 6, "leftovers,turboblaze,blueflare,dracometeor,earthpower,roost": 8}, + "reuniclus": {"lifeorb,magicguard,focusblast,psychic,recover,trickroom": 402, "lifeorb,magicguard,calmmind,psychic,recover,shadowball": 101, "lifeorb,magicguard,calmmind,focusblast,psychic,recover": 446, "lifeorb,magicguard,calmmind,focusblast,psychic,shadowball": 122, "lifeorb,magicguard,focusblast,psychic,shadowball,trickroom": 186, "lifeorb,magicguard,psychic,recover,shadowball,trickroom": 68, "lifeorb,magicguard,focusblast,psychic,recover,shadowball": 271}, + "rhydon": {"eviolite,rockhead,earthquake,megahorn,stoneedge,toxic": 222, "eviolite,reckless,earthquake,megahorn,stealthrock,stoneedge": 64, "eviolite,lightningrod,earthquake,stealthrock,stoneedge,toxic": 150, "eviolite,rockhead,earthquake,stealthrock,stoneedge,toxic": 149, "eviolite,reckless,earthquake,megahorn,stoneedge,toxic": 183, "eviolite,lightningrod,earthquake,megahorn,stoneedge,toxic": 189, "eviolite,rockhead,earthquake,megahorn,stealthrock,stoneedge": 73, "eviolite,reckless,earthquake,stealthrock,stoneedge,toxic": 171, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge": 77}, + "rhyperior": {"weaknesspolicy,solidrock,earthquake,firepunch,rockpolish,stoneedge": 533, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge": 533, "choiceband,solidrock,earthquake,firepunch,megahorn,stoneedge": 286}, + "ribombee": {"heavydutyboots,shielddust,moonblast,psychic,stickyweb,uturn": 258, "focussash,shielddust,moonblast,psychic,stickyweb,stunspore": 32, "heavydutyboots,sweetveil,moonblast,stickyweb,stunspore,uturn": 249, "focussash,shielddust,moonblast,psychic,stickyweb,uturn": 65, "heavydutyboots,sweetveil,moonblast,psychic,stickyweb,stunspore": 121, "heavydutyboots,shielddust,moonblast,psychic,stickyweb,stunspore": 114, "heavydutyboots,sweetveil,moonblast,psychic,stickyweb,uturn": 283, "heavydutyboots,shielddust,moonblast,stickyweb,stunspore,uturn": 227, "focussash,sweetveil,moonblast,psychic,stickyweb,uturn": 44, "focussash,shielddust,moonblast,stickyweb,stunspore,uturn": 57, "focussash,sweetveil,moonblast,stickyweb,stunspore,uturn": 51, "leftovers,shielddust,moonblast,psychic,stickyweb,stunspore": 8, "heavydutyboots,shielddust,moonblast,psychic,stunspore,uturn": 18, "focussash,sweetveil,moonblast,psychic,stickyweb,stunspore": 25, "leftovers,sweetveil,moonblast,psychic,stickyweb,stunspore": 8, "heavydutyboots,sweetveil,moonblast,psychic,stunspore,uturn": 9}, + "rillaboom": {"choiceband,grassysurge,grassyglide,knockoff,uturn,woodhammer": 200, "choiceband,grassysurge,grassyglide,highhorsepower,knockoff,uturn": 174, "choiceband,grassysurge,grassyglide,highhorsepower,uturn,woodhammer": 215, "choiceband,grassysurge,grassyglide,highhorsepower,knockoff,woodhammer": 198}, + "rillaboomgmax": {"grassyseed,grassysurge,acrobatics,grassyglide,knockoff,swordsdance": 196, "lifeorb,grassysurge,grassyglide,highhorsepower,knockoff,swordsdance": 460, "grassyseed,grassysurge,acrobatics,grassyglide,highhorsepower,swordsdance": 174}, + "roserade": {"blacksludge,naturalcure,leafstorm,sludgebomb,spikes,synthesis": 365, "blacksludge,naturalcure,leafstorm,sludgebomb,synthesis,toxicspikes": 405, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,synthesis": 395, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 123, "focussash,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 19, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,toxicspikes": 28, "blacksludge,naturalcure,leafstorm,sludgebomb,spikes,toxicspikes": 113, "blacksludge,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 98, "focussash,naturalcure,leafstorm,sleeppowder,sludgebomb,spikes": 19}, + "rotom": {"lifeorb,levitate,shadowball,thunderbolt,voltswitch,willowisp": 96, "leftovers,levitate,nastyplot,shadowball,thunderbolt,willowisp": 294, "focussash,levitate,nastyplot,shadowball,thunderbolt,willowisp": 53, "lifeorb,levitate,nastyplot,shadowball,thunderbolt,voltswitch": 42, "focussash,levitate,shadowball,thunderbolt,voltswitch,willowisp": 5, "focussash,levitate,nastyplot,shadowball,thunderbolt,voltswitch": 4}, + "rotomfan": {"heavydutyboots,levitate,airslash,thunderbolt,voltswitch,willowisp": 109, "heavydutyboots,levitate,airslash,nastyplot,thunderbolt,willowisp": 316, "heavydutyboots,levitate,airslash,nastyplot,thunderbolt,voltswitch": 50, "leftovers,levitate,airslash,nastyplot,thunderbolt,willowisp": 17}, + "rotomfrost": {"heavydutyboots,levitate,blizzard,nastyplot,thunderbolt,willowisp": 280, "heavydutyboots,levitate,blizzard,thunderbolt,voltswitch,willowisp": 94, "heavydutyboots,levitate,blizzard,nastyplot,thunderbolt,voltswitch": 58, "leftovers,levitate,blizzard,nastyplot,thunderbolt,willowisp": 16}, + "rotomheat": {"heavydutyboots,levitate,nastyplot,overheat,thunderbolt,willowisp": 195, "heavydutyboots,levitate,overheat,thunderbolt,voltswitch,willowisp": 48, "heavydutyboots,levitate,nastyplot,overheat,thunderbolt,voltswitch": 102, "heavydutyboots,levitate,defog,overheat,thunderbolt,willowisp": 33, "heavydutyboots,levitate,defog,overheat,voltswitch,willowisp": 35, "heavydutyboots,levitate,defog,overheat,thunderbolt,voltswitch": 34, "leftovers,levitate,nastyplot,overheat,thunderbolt,willowisp": 10}, + "rotommow": {"leftovers,levitate,leafstorm,thunderbolt,voltswitch,willowisp": 87, "leftovers,levitate,leafstorm,nastyplot,thunderbolt,voltswitch": 105, "choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch": 52, "leftovers,levitate,leafstorm,nastyplot,thunderbolt,willowisp": 291}, + "rotomwash": {"choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch": 124, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp": 348}, + "runerigus": {"leftovers,wanderingspirit,earthquake,haze,poltergeist,toxicspikes": 193, "leftovers,wanderingspirit,earthquake,poltergeist,stealthrock,willowisp": 392, "leftovers,wanderingspirit,earthquake,poltergeist,stealthrock,toxicspikes": 394, "leftovers,wanderingspirit,earthquake,poltergeist,toxicspikes,willowisp": 308, "leftovers,wanderingspirit,earthquake,haze,poltergeist,stealthrock": 115, "leftovers,wanderingspirit,earthquake,haze,poltergeist,willowisp": 197}, + "sableye": {"leftovers,prankster,knockoff,recover,taunt,willowisp": 722, "leftovers,prankster,knockoff,recover,toxic,willowisp": 201, "leftovers,prankster,knockoff,recover,taunt,toxic": 696}, + "salamence": {"heavydutyboots,moxie,dragondance,dualwingbeat,earthquake,outrage": 1350, "lifeorb,moxie,dragondance,dualwingbeat,earthquake,outrage": 72}, + "salazzle": {"blacksludge,corrosion,flamethrower,protect,substitute,toxic": 1478}, + "sandaconda": {"leftovers,shedskin,earthquake,rest,stealthrock,stoneedge": 141, "leftovers,shedskin,coil,earthquake,rest,stoneedge": 982, "leftovers,shedskin,coil,earthquake,glare,stoneedge": 104, "leftovers,shedskin,earthquake,glare,rest,stoneedge": 141, "leftovers,shedskin,earthquake,glare,stealthrock,stoneedge": 181, "leftovers,shedskin,coil,earthquake,stealthrock,stoneedge": 69}, + "sandslash": {"leftovers,sandrush,earthquake,knockoff,spikes,toxic": 36, "leftovers,sandrush,earthquake,knockoff,rapidspin,toxic": 25, "leftovers,sandrush,earthquake,spikes,stoneedge,toxic": 24, "leftovers,sandrush,earthquake,rapidspin,stoneedge,toxic": 22, "leftovers,sandrush,earthquake,rapidspin,stealthrock,toxic": 22, "leftovers,sandrush,earthquake,knockoff,rapidspin,swordsdance": 109, "leftovers,sandrush,earthquake,rapidspin,stoneedge,swordsdance": 117, "leftovers,sandrush,earthquake,stealthrock,stoneedge,toxic": 18, "lifeorb,sandrush,earthquake,knockoff,stoneedge,swordsdance": 144, "leftovers,sandrush,earthquake,rapidspin,spikes,toxic": 33, "leftovers,sandrush,earthquake,knockoff,spikes,stealthrock": 9, "assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge": 16, "leftovers,sandrush,earthquake,knockoff,stealthrock,toxic": 17, "leftovers,sandrush,earthquake,rapidspin,spikes,stoneedge": 10, "leftovers,sandrush,earthquake,rapidspin,spikes,stealthrock": 8, "focussash,sandrush,earthquake,rapidspin,stealthrock,toxic": 8, "focussash,sandrush,earthquake,knockoff,stealthrock,toxic": 7, "lifeorb,sandrush,earthquake,knockoff,spikes,stoneedge": 12, "focussash,sandrush,earthquake,knockoff,rapidspin,stealthrock": 3, "leftovers,sandrush,earthquake,spikes,stealthrock,stoneedge": 10, "lifeorb,sandrush,earthquake,knockoff,stoneedge,toxic": 22, "focussash,sandrush,earthquake,knockoff,spikes,toxic": 3, "lifeorb,sandrush,earthquake,knockoff,stealthrock,stoneedge": 11, "focussash,sandrush,earthquake,spikes,stealthrock,toxic": 9, "leftovers,sandrush,earthquake,spikes,stealthrock,toxic": 17, "leftovers,sandrush,earthquake,knockoff,rapidspin,spikes": 9, "focussash,sandrush,earthquake,rapidspin,spikes,toxic": 2, "focussash,sandrush,earthquake,spikes,stealthrock,stoneedge": 4, "leftovers,sandrush,earthquake,rapidspin,stealthrock,stoneedge": 9, "focussash,sandrush,earthquake,rapidspin,stealthrock,stoneedge": 3, "focussash,sandrush,earthquake,stealthrock,stoneedge,toxic": 4, "leftovers,sandrush,earthquake,knockoff,rapidspin,stealthrock": 11, "focussash,sandrush,earthquake,knockoff,stealthrock,stoneedge": 2, "focussash,sandrush,earthquake,knockoff,spikes,stealthrock": 1, "focussash,sandrush,earthquake,knockoff,rapidspin,spikes": 1, "focussash,sandrush,earthquake,spikes,stoneedge,toxic": 1, "focussash,sandrush,earthquake,rapidspin,spikes,stealthrock": 2}, + "sandslashalola": {"lumberry,slushrush,ironhead,rapidspin,swordsdance,tripleaxel": 175, "lifeorb,slushrush,earthquake,ironhead,swordsdance,tripleaxel": 170, "lifeorb,slushrush,ironhead,knockoff,swordsdance,tripleaxel": 163, "assaultvest,slushrush,ironhead,knockoff,rapidspin,tripleaxel": 60, "assaultvest,slushrush,earthquake,ironhead,rapidspin,tripleaxel": 64, "choiceband,slushrush,earthquake,ironhead,knockoff,tripleaxel": 24, "choicescarf,slushrush,earthquake,ironhead,knockoff,tripleaxel": 46}, + "sawk": {"lifeorb,moldbreaker,bulkup,closecombat,knockoff,stoneedge": 432, "lifeorb,moldbreaker,bulkup,closecombat,knockoff,poisonjab": 463, "lifeorb,moldbreaker,bulkup,closecombat,poisonjab,stoneedge": 427, "choicescarf,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 154, "choicescarf,sturdy,closecombat,knockoff,poisonjab,stoneedge": 77, "choiceband,sturdy,closecombat,knockoff,poisonjab,stoneedge": 33, "choiceband,moldbreaker,closecombat,knockoff,poisonjab,stoneedge": 81}, + "sceptile": {"lifeorb,overgrow,focusblast,gigadrain,leafstorm,rockslide": 51, "leftovers,overgrow,focusblast,leafstorm,leechseed,substitute": 109, "leftovers,overgrow,earthquake,leafstorm,leechseed,substitute": 93, "leftovers,overgrow,earthquake,gigadrain,leechseed,substitute": 267, "leftovers,overgrow,focusblast,gigadrain,leechseed,substitute": 286, "leftovers,overgrow,earthquake,focusblast,leafstorm,substitute": 61, "lifeorb,overgrow,earthquake,gigadrain,leafstorm,rockslide": 55, "leftovers,overgrow,gigadrain,leechseed,rockslide,substitute": 264, "leftovers,overgrow,earthquake,gigadrain,rockslide,substitute": 50, "leftovers,overgrow,earthquake,leafstorm,rockslide,substitute": 45, "leftovers,overgrow,leafstorm,leechseed,rockslide,substitute": 83, "leftovers,overgrow,focusblast,leafstorm,rockslide,substitute": 49, "leftovers,overgrow,earthquake,focusblast,gigadrain,substitute": 36, "lifeorb,overgrow,earthquake,focusblast,gigadrain,leafstorm": 40, "leftovers,overgrow,focusblast,gigadrain,rockslide,substitute": 24, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide": 48}, + "scizor": {"lifeorb,technician,bulletpunch,dualwingbeat,knockoff,swordsdance": 259, "leftovers,technician,bulletpunch,roost,swordsdance,uturn": 250, "lifeorb,technician,bulletpunch,knockoff,superpower,swordsdance": 154, "leftovers,technician,bulletpunch,knockoff,roost,swordsdance": 109, "leftovers,technician,bulletpunch,knockoff,roost,uturn": 89, "leftovers,technician,bulletpunch,roost,superpower,swordsdance": 111, "lifeorb,technician,bulletpunch,dualwingbeat,superpower,swordsdance": 235, "leftovers,technician,bulletpunch,roost,superpower,uturn": 88, "lifeorb,technician,bulletpunch,knockoff,roost,superpower": 65, "choiceband,technician,bulletpunch,knockoff,superpower,uturn": 46, "choiceband,technician,bulletpunch,dualwingbeat,superpower,uturn": 85, "choiceband,technician,bulletpunch,dualwingbeat,knockoff,uturn": 96}, + "scolipede": {"lifeorb,speedboost,earthquake,megahorn,poisonjab,swordsdance": 972, "heavydutyboots,speedboost,megahorn,poisonjab,spikes,toxicspikes": 38, "blacksludge,speedboost,earthquake,megahorn,protect,toxicspikes": 72, "blacksludge,speedboost,megahorn,protect,spikes,toxicspikes": 52, "heavydutyboots,speedboost,earthquake,megahorn,spikes,toxicspikes": 37, "heavydutyboots,speedboost,earthquake,megahorn,poisonjab,toxicspikes": 30, "focussash,speedboost,earthquake,megahorn,poisonjab,spikes": 7, "blacksludge,speedboost,megahorn,poisonjab,protect,spikes": 97, "heavydutyboots,speedboost,earthquake,megahorn,poisonjab,spikes": 49, "blacksludge,speedboost,earthquake,megahorn,protect,spikes": 50, "lifeorb,speedboost,earthquake,megahorn,poisonjab,protect": 89, "blacksludge,speedboost,megahorn,poisonjab,protect,toxicspikes": 71, "focussash,speedboost,earthquake,megahorn,poisonjab,toxicspikes": 9, "lifeorb,speedboost,earthquake,megahorn,poisonjab,toxicspikes": 2, "lifeorb,speedboost,earthquake,megahorn,poisonjab,spikes": 2, "focussash,speedboost,megahorn,poisonjab,spikes,toxicspikes": 10, "focussash,speedboost,earthquake,megahorn,spikes,toxicspikes": 4, "blacksludge,speedboost,earthquake,megahorn,spikes,toxicspikes": 5, "blacksludge,speedboost,megahorn,poisonjab,spikes,toxicspikes": 1}, + "scrafty": {"lumberry,moxie,closecombat,dragondance,icepunch,knockoff": 201, "choiceband,moxie,closecombat,icepunch,knockoff,poisonjab": 296, "lumberry,intimidate,closecombat,dragondance,knockoff,poisonjab": 382, "lumberry,intimidate,closecombat,dragondance,icepunch,knockoff": 392, "lumberry,moxie,closecombat,dragondance,knockoff,poisonjab": 214}, + "scyther": {"heavydutyboots,technician,brickbreak,dualwingbeat,knockoff,swordsdance": 170, "heavydutyboots,technician,dualwingbeat,roost,swordsdance,uturn": 423, "heavydutyboots,technician,dualwingbeat,knockoff,roost,uturn": 126, "heavydutyboots,technician,brickbreak,dualwingbeat,roost,swordsdance": 143, "choiceband,technician,brickbreak,dualwingbeat,knockoff,uturn": 107, "heavydutyboots,technician,brickbreak,dualwingbeat,knockoff,roost": 59, "heavydutyboots,technician,brickbreak,dualwingbeat,roost,uturn": 101, "eviolite,technician,brickbreak,dualwingbeat,knockoff,swordsdance": 39, "heavydutyboots,technician,dualwingbeat,knockoff,roost,swordsdance": 159, "eviolite,technician,dualwingbeat,knockoff,roost,swordsdance": 33, "eviolite,technician,brickbreak,dualwingbeat,roost,swordsdance": 32, "eviolite,technician,brickbreak,dualwingbeat,knockoff,roost": 10}, + "seaking": {"lifeorb,swiftswim,drillrun,knockoff,swordsdance,waterfall": 437, "choiceband,lightningrod,drillrun,knockoff,megahorn,waterfall": 307, "lifeorb,swiftswim,drillrun,megahorn,swordsdance,waterfall": 418, "lifeorb,swiftswim,knockoff,megahorn,swordsdance,waterfall": 406}, + "seismitoad": {"lifeorb,swiftswim,earthquake,liquidation,raindance,sludgebomb": 700, "lifeorb,waterabsorb,earthquake,liquidation,sludgebomb,stealthrock": 225, "lifeorb,swiftswim,earthquake,liquidation,raindance,stealthrock": 488}, + "sharpedo": {"lifeorb,speedboost,closecombat,crunch,hydropump,protect": 1420}, + "shedinja": {"heavydutyboots,wonderguard,poltergeist,shadowsneak,swordsdance,xscissor": 1163, "focussash,wonderguard,poltergeist,shadowsneak,willowisp,xscissor": 42, "focussash,wonderguard,poltergeist,shadowsneak,swordsdance,xscissor": 145, "heavydutyboots,wonderguard,poltergeist,shadowsneak,willowisp,xscissor": 257}, + "shiftry": {"lifeorb,chlorophyll,darkpulse,heatwave,leafstorm,nastyplot": 907, "focussash,chlorophyll,darkpulse,heatwave,leafstorm,nastyplot": 174, "lifeorb,chlorophyll,defog,heatwave,leafstorm,suckerpunch": 205, "lifeorb,chlorophyll,darkpulse,heatwave,leafstorm,suckerpunch": 96, "focussash,chlorophyll,defog,heatwave,leafstorm,suckerpunch": 48, "focussash,chlorophyll,darkpulse,heatwave,leafstorm,suckerpunch": 22}, + "shiinotic": {"leftovers,effectspore,leechseed,moonblast,spore,strengthsap": 623, "leftovers,effectspore,energyball,moonblast,spore,strengthsap": 309, "leftovers,effectspore,energyball,leechseed,moonblast,spore": 313, "leftovers,effectspore,energyball,leechseed,moonblast,strengthsap": 316}, + "shuckle": {"mentalherb,sturdy,knockoff,stealthrock,stickyweb,toxic": 889, "mentalherb,sturdy,encore,stealthrock,stickyweb,toxic": 262, "mentalherb,sturdy,encore,knockoff,stickyweb,toxic": 182, "mentalherb,sturdy,encore,knockoff,stealthrock,stickyweb": 278, "heavydutyboots,sturdy,encore,knockoff,stealthrock,toxic": 18, "leftovers,sturdy,encore,knockoff,stealthrock,toxic": 2}, + "sigilyph": {"lifeorb,magicguard,airslash,defog,energyball,psychic": 374, "choicespecs,tintedlens,airslash,energyball,heatwave,psychic": 422, "lifeorb,magicguard,airslash,defog,energyball,heatwave": 282, "lifeorb,magicguard,airslash,defog,heatwave,psychic": 360}, + "silvally": {"leftovers,rkssystem,crunch,explosion,multiattack,swordsdance": 68, "choiceband,rkssystem,crunch,explosion,multiattack,uturn": 11, "assaultvest,rkssystem,crunch,flamethrower,multiattack,uturn": 22, "lifeorb,rkssystem,crunch,flamecharge,multiattack,swordsdance": 149, "assaultvest,rkssystem,crunch,explosion,flamethrower,multiattack": 18, "assaultvest,rkssystem,explosion,flamethrower,multiattack,uturn": 10}, + "silvallybug": {"bugmemory,rkssystem,flamethrower,multiattack,partingshot,psychicfangs": 63, "bugmemory,rkssystem,multiattack,partingshot,psychicfangs,thunderbolt": 79, "bugmemory,rkssystem,flamethrower,multiattack,psychicfangs,thunderbolt": 63, "bugmemory,rkssystem,flamethrower,multiattack,partingshot,thunderbolt": 57}, + "silvallydark": {"darkmemory,rkssystem,ironhead,multiattack,partingshot,psychicfangs": 45, "darkmemory,rkssystem,ironhead,multiattack,partingshot,swordsdance": 76, "darkmemory,rkssystem,ironhead,multiattack,psychicfangs,swordsdance": 65, "darkmemory,rkssystem,multiattack,partingshot,psychicfangs,swordsdance": 58}, + "silvallydragon": {"dragonmemory,rkssystem,ironhead,multiattack,partingshot,swordsdance": 90, "dragonmemory,rkssystem,flamecharge,ironhead,multiattack,swordsdance": 171}, + "silvallyelectric": {"electricmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 68, "electricmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 80, "electricmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 60, "electricmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 55}, + "silvallyfairy": {"fairymemory,rkssystem,flamecharge,multiattack,psychicfangs,swordsdance": 291}, + "silvallyfighting": {"fightingmemory,rkssystem,crunch,ironhead,multiattack,swordsdance": 221, "fightingmemory,rkssystem,crunch,ironhead,multiattack,uturn": 62}, + "silvallyfire": {"firememory,rkssystem,crunch,ironhead,multiattack,swordsdance": 258}, + "silvallyflying": {"flyingmemory,rkssystem,flamecharge,multiattack,rockslide,swordsdance": 58, "flyingmemory,rkssystem,ironhead,multiattack,rockslide,swordsdance": 132, "flyingmemory,rkssystem,flamecharge,ironhead,multiattack,swordsdance": 81}, + "silvallyghost": {"ghostmemory,rkssystem,multiattack,partingshot,swordsdance,xscissor": 98, "ghostmemory,rkssystem,flamecharge,multiattack,swordsdance,xscissor": 204}, + "silvallygrass": {"grassmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 66, "grassmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 75, "grassmemory,rkssystem,defog,icebeam,multiattack,partingshot": 55, "grassmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 48}, + "silvallyground": {"groundmemory,rkssystem,flamethrower,icebeam,multiattack,partingshot": 26, "groundmemory,rkssystem,defog,flamethrower,icebeam,multiattack": 20, "groundmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 40, "groundmemory,rkssystem,flamethrower,icebeam,multiattack,toxic": 31, "groundmemory,rkssystem,defog,icebeam,multiattack,partingshot": 25, "groundmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 12, "groundmemory,rkssystem,defog,multiattack,partingshot,toxic": 19, "groundmemory,rkssystem,defog,icebeam,multiattack,toxic": 16, "groundmemory,rkssystem,defog,flamethrower,multiattack,toxic": 23, "groundmemory,rkssystem,icebeam,multiattack,partingshot,toxic": 31}, + "silvallyice": {"icememory,rkssystem,flamecharge,multiattack,psychicfangs,swordsdance": 265}, + "silvallypoison": {"poisonmemory,rkssystem,flamethrower,multiattack,surf,toxic": 39, "poisonmemory,rkssystem,defog,multiattack,surf,toxic": 32, "poisonmemory,rkssystem,defog,flamethrower,multiattack,toxic": 31, "poisonmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 28, "poisonmemory,rkssystem,multiattack,partingshot,surf,toxic": 36, "poisonmemory,rkssystem,flamethrower,multiattack,partingshot,surf": 25, "poisonmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 39, "poisonmemory,rkssystem,defog,multiattack,partingshot,toxic": 40, "poisonmemory,rkssystem,defog,multiattack,partingshot,surf": 22, "poisonmemory,rkssystem,defog,flamethrower,multiattack,surf": 13}, + "silvallypsychic": {"psychicmemory,rkssystem,crunch,multiattack,swordsdance,uturn": 282}, + "silvallyrock": {"rockmemory,rkssystem,multiattack,partingshot,psychicfangs,swordsdance": 95, "rockmemory,rkssystem,flamecharge,multiattack,psychicfangs,swordsdance": 155}, + "silvallysteel": {"steelmemory,rkssystem,flamethrower,multiattack,partingshot,toxic": 29, "steelmemory,rkssystem,flamethrower,multiattack,thunderbolt,toxic": 34, "steelmemory,rkssystem,defog,flamethrower,multiattack,thunderbolt": 15, "steelmemory,rkssystem,defog,multiattack,partingshot,thunderbolt": 12, "steelmemory,rkssystem,defog,multiattack,partingshot,toxic": 23, "steelmemory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 23, "steelmemory,rkssystem,flamethrower,multiattack,partingshot,thunderbolt": 19, "steelmemory,rkssystem,defog,flamethrower,multiattack,toxic": 19, "steelmemory,rkssystem,defog,multiattack,thunderbolt,toxic": 21, "steelmemory,rkssystem,defog,flamethrower,multiattack,partingshot": 12}, + "silvallywater": {"watermemory,rkssystem,defog,icebeam,multiattack,toxic": 27, "watermemory,rkssystem,multiattack,partingshot,thunderbolt,toxic": 30, "watermemory,rkssystem,defog,icebeam,multiattack,thunderbolt": 15, "watermemory,rkssystem,defog,multiattack,thunderbolt,toxic": 29, "watermemory,rkssystem,icebeam,multiattack,partingshot,toxic": 37, "watermemory,rkssystem,defog,icebeam,multiattack,partingshot": 23, "watermemory,rkssystem,icebeam,multiattack,thunderbolt,toxic": 26, "watermemory,rkssystem,icebeam,multiattack,partingshot,thunderbolt": 23, "watermemory,rkssystem,defog,multiattack,partingshot,toxic": 28, "watermemory,rkssystem,defog,multiattack,partingshot,thunderbolt": 17}, + "sirfetchd": {"lifeorb,scrappy,bravebird,closecombat,knockoff,swordsdance": 1382, "choiceband,scrappy,bravebird,closecombat,firstimpression,knockoff": 354}, + "skarmory": {"leftovers,sturdy,bravebird,roost,spikes,stealthrock": 233, "leftovers,sturdy,bravebird,roost,spikes,whirlwind": 338, "leftovers,sturdy,bodypress,bravebird,roost,stealthrock": 214, "leftovers,sturdy,bodypress,bravebird,roost,spikes": 271, "leftovers,sturdy,bravebird,roost,stealthrock,whirlwind": 262, "leftovers,sturdy,bodypress,bravebird,roost,whirlwind": 115}, + "skuntank": {"lifeorb,aftermath,crunch,defog,poisonjab,suckerpunch": 31, "blacksludge,aftermath,defog,poisonjab,suckerpunch,taunt": 43, "lifeorb,aftermath,crunch,fireblast,poisonjab,taunt": 44, "blacksludge,aftermath,poisonjab,suckerpunch,taunt,toxic": 93, "blacksludge,aftermath,crunch,defog,poisonjab,toxic": 63, "lifeorb,aftermath,crunch,fireblast,suckerpunch,toxic": 67, "blacksludge,aftermath,crunch,poisonjab,taunt,toxic": 77, "lifeorb,aftermath,crunch,defog,fireblast,poisonjab": 42, "blacksludge,aftermath,crunch,suckerpunch,taunt,toxic": 71, "lifeorb,aftermath,fireblast,poisonjab,suckerpunch,taunt": 59, "blacksludge,aftermath,crunch,defog,suckerpunch,toxic": 62, "blacksludge,aftermath,crunch,defog,poisonjab,taunt": 46, "lifeorb,aftermath,fireblast,poisonjab,suckerpunch,toxic": 102, "lifeorb,aftermath,crunch,fireblast,suckerpunch,taunt": 39, "lifeorb,aftermath,defog,fireblast,poisonjab,suckerpunch": 60, "blacksludge,aftermath,crunch,defog,suckerpunch,taunt": 43, "blacksludge,aftermath,crunch,defog,fireblast,taunt": 46, "lifeorb,aftermath,crunch,poisonjab,suckerpunch,taunt": 36, "blacksludge,aftermath,crunch,defog,taunt,toxic": 59, "blacksludge,aftermath,defog,poisonjab,suckerpunch,toxic": 108, "lifeorb,aftermath,crunch,defog,fireblast,suckerpunch": 42, "lifeorb,aftermath,crunch,fireblast,poisonjab,toxic": 80, "lifeorb,aftermath,crunch,poisonjab,suckerpunch,toxic": 87, "lifeorb,aftermath,crunch,fireblast,poisonjab,suckerpunch": 62, "blacksludge,aftermath,crunch,fireblast,taunt,toxic": 49, "blacksludge,aftermath,crunch,defog,fireblast,toxic": 39}, + "slowbro": {"leftovers,regenerator,futuresight,scald,slackoff,teleport": 389, "leftovers,regenerator,scald,slackoff,teleport,thunderwave": 120, "leftovers,regenerator,icebeam,scald,slackoff,thunderwave": 107, "leftovers,regenerator,icebeam,scald,slackoff,teleport": 116}, + "slowbrogalar": {"choicespecs,regenerator,flamethrower,psychic,shellsidearm,trick": 279, "lifeorb,regenerator,flamethrower,psychic,shellsidearm,trickroom": 463}, + "slowking": {"leftovers,regenerator,psyshock,scald,teleport,toxic": 313, "leftovers,regenerator,fireblast,psyshock,scald,teleport": 9, "leftovers,regenerator,psyshock,scald,slackoff,toxic": 77, "choicespecs,regenerator,fireblast,psyshock,scald,trick": 29, "leftovers,regenerator,fireblast,scald,slackoff,toxic": 43, "leftovers,regenerator,scald,slackoff,teleport,toxic": 41, "leftovers,regenerator,fireblast,psyshock,scald,slackoff": 36, "leftovers,regenerator,futuresight,scald,teleport,toxic": 48, "leftovers,regenerator,psyshock,scald,slackoff,teleport": 81, "leftovers,regenerator,fireblast,psyshock,scald,toxic": 15, "leftovers,regenerator,fireblast,scald,slackoff,teleport": 34, "leftovers,regenerator,fireblast,scald,teleport,toxic": 5, "leftovers,regenerator,futuresight,scald,slackoff,teleport": 26, "leftovers,regenerator,fireblast,futuresight,scald,teleport": 5}, + "slowkinggalar": {"blacksludge,regenerator,fireblast,psyshock,slackoff,sludgebomb": 531, "blacksludge,regenerator,fireblast,futuresight,slackoff,sludgebomb": 108, "choicespecs,regenerator,fireblast,psyshock,sludgebomb,trick": 138}, + "slurpuff": {"sitrusberry,unburden,bellydrum,drainpunch,facade,playrough": 1722}, + "snorlax": {"choiceband,thickfat,darkestlariat,doubleedge,earthquake,facade": 166, "choiceband,thickfat,doubleedge,earthquake,facade,heatcrash": 171, "choiceband,thickfat,darkestlariat,doubleedge,earthquake,heatcrash": 319, "choiceband,thickfat,darkestlariat,doubleedge,facade,heatcrash": 181}, + "snorlaxgmax": {"chestoberry,thickfat,bodyslam,curse,earthquake,rest": 247, "chestoberry,thickfat,bodyslam,curse,darkestlariat,rest": 267, "leftovers,thickfat,bodyslam,curse,darkestlariat,earthquake": 313}, + "solgaleo": {"choicescarf,fullmetalbody,closecombat,knockoff,psychicfangs,sunsteelstrike": 127, "weaknesspolicy,fullmetalbody,flamecharge,knockoff,psychicfangs,sunsteelstrike": 284, "weaknesspolicy,fullmetalbody,closecombat,flamecharge,psychicfangs,sunsteelstrike": 263, "choiceband,fullmetalbody,closecombat,flareblitz,knockoff,sunsteelstrike": 43, "choiceband,fullmetalbody,closecombat,knockoff,psychicfangs,sunsteelstrike": 52, "choicescarf,fullmetalbody,closecombat,flareblitz,knockoff,sunsteelstrike": 67, "choicescarf,fullmetalbody,flareblitz,knockoff,psychicfangs,sunsteelstrike": 137, "choiceband,fullmetalbody,flareblitz,knockoff,psychicfangs,sunsteelstrike": 43, "choiceband,fullmetalbody,closecombat,flareblitz,psychicfangs,sunsteelstrike": 56, "weaknesspolicy,fullmetalbody,closecombat,flamecharge,knockoff,sunsteelstrike": 187, "choicescarf,fullmetalbody,closecombat,flareblitz,psychicfangs,sunsteelstrike": 110}, + "solrock": {"leftovers,levitate,earthquake,morningsun,rockslide,stealthrock": 467, "leftovers,levitate,earthquake,morningsun,rockslide,willowisp": 524, "lifeorb,levitate,earthquake,explosion,morningsun,rockslide": 118, "leftovers,levitate,morningsun,rockslide,stealthrock,willowisp": 364}, + "spectrier": {"leftovers,grimneigh,darkpulse,nastyplot,shadowball,substitute": 1758}, + "spiritomb": {"choiceband,infiltrator,poltergeist,shadowsneak,suckerpunch,trick": 350, "choiceband,infiltrator,foulplay,poltergeist,suckerpunch,trick": 628, "choiceband,infiltrator,foulplay,poltergeist,shadowsneak,suckerpunch": 330, "choiceband,infiltrator,foulplay,poltergeist,shadowsneak,trick": 321}, + "stakataka": {"airballoon,beastboost,bodypress,gyroball,stealthrock,stoneedge": 237, "choiceband,beastboost,bodypress,earthquake,gyroball,stoneedge": 357, "airballoon,beastboost,bodypress,gyroball,stoneedge,trickroom": 274, "airballoon,beastboost,earthquake,gyroball,stealthrock,stoneedge": 244, "airballoon,beastboost,earthquake,gyroball,stoneedge,trickroom": 262}, + "starmie": {"choicespecs,analytic,hydropump,icebeam,psyshock,thunderbolt": 23, "choicespecs,analytic,hydropump,icebeam,psyshock,scald": 33, "heavydutyboots,naturalcure,rapidspin,recover,scald,thunderbolt": 87, "choicespecs,naturalcure,hydropump,psyshock,scald,thunderbolt": 29, "heavydutyboots,naturalcure,icebeam,rapidspin,recover,scald": 90, "heavydutyboots,naturalcure,hydropump,icebeam,rapidspin,recover": 49, "choicespecs,analytic,hydropump,psyshock,scald,thunderbolt": 25, "leftovers,naturalcure,hydropump,icebeam,psyshock,rapidspin": 51, "leftovers,naturalcure,icebeam,rapidspin,scald,thunderbolt": 65, "lifeorb,naturalcure,psyshock,recover,scald,thunderbolt": 54, "choicespecs,naturalcure,hydropump,icebeam,psyshock,scald": 20, "heavydutyboots,naturalcure,psyshock,rapidspin,recover,scald": 99, "leftovers,naturalcure,hydropump,psyshock,rapidspin,thunderbolt": 42, "heavydutyboots,naturalcure,hydropump,rapidspin,recover,thunderbolt": 47, "leftovers,naturalcure,icebeam,psyshock,rapidspin,scald": 78, "lifeorb,analytic,psyshock,recover,scald,thunderbolt": 48, "lifeorb,naturalcure,hydropump,psyshock,recover,thunderbolt": 40, "choicespecs,naturalcure,icebeam,psyshock,scald,thunderbolt": 32, "leftovers,naturalcure,psyshock,rapidspin,scald,thunderbolt": 76, "lifeorb,naturalcure,hydropump,icebeam,recover,thunderbolt": 32, "lifeorb,naturalcure,icebeam,recover,scald,thunderbolt": 43, "choicespecs,naturalcure,hydropump,icebeam,psyshock,thunderbolt": 28, "choicespecs,analytic,icebeam,psyshock,scald,thunderbolt": 36, "lifeorb,analytic,icebeam,psyshock,recover,scald": 54, "lifeorb,analytic,hydropump,psyshock,recover,thunderbolt": 33, "lifeorb,analytic,hydropump,icebeam,recover,thunderbolt": 24, "lifeorb,naturalcure,icebeam,psyshock,recover,scald": 47, "leftovers,naturalcure,hydropump,icebeam,rapidspin,thunderbolt": 37, "lifeorb,naturalcure,hydropump,icebeam,psyshock,recover": 34, "lifeorb,analytic,icebeam,recover,scald,thunderbolt": 33, "heavydutyboots,naturalcure,hydropump,psyshock,rapidspin,recover": 57, "lifeorb,analytic,hydropump,icebeam,psyshock,recover": 26}, + "steelix": {"leftovers,rockhead,dragondance,earthquake,headsmash,heavyslam": 1058, "leftovers,rockhead,earthquake,headsmash,heavyslam,stealthrock": 94, "leftovers,rockhead,earthquake,headsmash,stealthrock,toxic": 94, "leftovers,rockhead,earthquake,headsmash,heavyslam,toxic": 114, "leftovers,sturdy,earthquake,heavyslam,stealthrock,toxic": 109}, + "stonjourner": {"lifeorb,powerspot,earthquake,heatcrash,rockpolish,stoneedge": 1299, "lifeorb,powerspot,earthquake,heatcrash,stealthrock,stoneedge": 271}, + "stoutland": {"choicescarf,intimidate,crunch,facade,playrough,wildcharge": 158, "choicescarf,intimidate,crunch,facade,playrough,superpower": 189, "choiceband,intimidate,crunch,facade,superpower,wildcharge": 108, "choiceband,intimidate,facade,playrough,superpower,wildcharge": 84, "choicescarf,scrappy,crunch,facade,superpower,wildcharge": 96, "choicescarf,intimidate,facade,playrough,superpower,wildcharge": 192, "choiceband,intimidate,crunch,facade,playrough,wildcharge": 81, "choiceband,scrappy,crunch,facade,superpower,wildcharge": 45, "choiceband,scrappy,crunch,facade,playrough,wildcharge": 51, "choiceband,intimidate,crunch,facade,playrough,superpower": 117, "choicescarf,intimidate,crunch,facade,superpower,wildcharge": 182, "choicescarf,scrappy,facade,playrough,superpower,wildcharge": 91, "choicescarf,scrappy,crunch,facade,playrough,wildcharge": 87, "choicescarf,scrappy,crunch,facade,playrough,superpower": 106, "choiceband,scrappy,facade,playrough,superpower,wildcharge": 45, "choicescarf,sandrush,crunch,facade,playrough,superpower": 2, "choiceband,sandrush,crunch,facade,superpower,wildcharge": 1, "choiceband,scrappy,crunch,facade,playrough,superpower": 46, "choicescarf,sandrush,facade,playrough,superpower,wildcharge": 6, "choicescarf,sandrush,crunch,facade,superpower,wildcharge": 2, "choicescarf,sandrush,crunch,facade,playrough,wildcharge": 1}, + "stunfisk": {"leftovers,static,discharge,earthpower,foulplay,stealthrock": 213, "leftovers,static,discharge,earthpower,sludgebomb,stealthrock": 198, "assaultvest,static,discharge,earthpower,foulplay,sludgebomb": 325, "assaultvest,sandveil,discharge,earthpower,foulplay,sludgebomb": 5, "leftovers,sandveil,discharge,earthpower,sludgebomb,stealthrock": 1}, + "stunfiskgalar": {"leftovers,mimicry,earthquake,painsplit,stoneedge,thunderwave": 198, "leftovers,mimicry,earthquake,stealthrock,stoneedge,thunderwave": 171, "leftovers,mimicry,earthquake,painsplit,stealthrock,thunderwave": 164, "leftovers,mimicry,earthquake,painsplit,stealthrock,stoneedge": 163}, + "sudowoodo": {"choiceband,rockhead,earthquake,headsmash,suckerpunch,woodhammer": 535, "leftovers,rockhead,earthquake,headsmash,stealthrock,woodhammer": 319, "leftovers,rockhead,headsmash,stealthrock,suckerpunch,woodhammer": 327, "leftovers,rockhead,earthquake,headsmash,stealthrock,suckerpunch": 315}, + "suicune": {"leftovers,pressure,airslash,calmmind,icebeam,scald": 676, "leftovers,pressure,icebeam,rest,scald,sleeptalk": 185, "leftovers,pressure,calmmind,rest,scald,sleeptalk": 498, "chestoberry,pressure,calmmind,icebeam,rest,scald": 90, "chestoberry,pressure,airslash,calmmind,rest,scald": 102}, + "swampert": {"leftovers,torrent,earthquake,icebeam,scald,toxic": 203, "leftovers,torrent,earthquake,protect,scald,toxic": 757, "leftovers,torrent,earthquake,scald,stealthrock,toxic": 247, "leftovers,torrent,earthquake,icebeam,scald,stealthrock": 149, "assaultvest,torrent,earthquake,flipturn,icebeam,scald": 103}, + "swoobat": {"heavydutyboots,simple,calmmind,heatwave,roost,storedpower": 906, "leftovers,simple,calmmind,heatwave,roost,storedpower": 63, "heavydutyboots,simple,airslash,calmmind,roost,storedpower": 236, "heavydutyboots,simple,airslash,calmmind,heatwave,storedpower": 249, "focussash,simple,airslash,calmmind,heatwave,storedpower": 54, "leftovers,simple,airslash,calmmind,roost,storedpower": 18, "lifeorb,simple,airslash,calmmind,heatwave,storedpower": 16}, + "sylveon": {"choicescarf,pixilate,hypervoice,mysticalfire,psyshock,shadowball": 49, "leftovers,pixilate,calmmind,hypervoice,protect,wish": 634, "leftovers,pixilate,calmmind,hypervoice,mysticalfire,wish": 283, "leftovers,pixilate,calmmind,hypervoice,psyshock,wish": 203, "leftovers,pixilate,calmmind,hypervoice,mysticalfire,psyshock": 210, "leftovers,pixilate,hypervoice,mysticalfire,shadowball,wish": 113, "leftovers,pixilate,hypervoice,mysticalfire,protect,wish": 196, "choicespecs,pixilate,hypervoice,mysticalfire,psyshock,shadowball": 24}, + "talonflame": {"heavydutyboots,galewings,bravebird,flareblitz,roost,swordsdance": 707, "heavydutyboots,flamebody,bravebird,flareblitz,roost,swordsdance": 354, "heavydutyboots,galewings,bravebird,defog,flareblitz,roost": 106, "heavydutyboots,flamebody,bravebird,defog,flareblitz,roost": 63, "heavydutyboots,galewings,bravebird,flareblitz,roost,uturn": 118, "heavydutyboots,flamebody,bravebird,flareblitz,roost,uturn": 59}, + "tangrowth": {"rockyhelmet,regenerator,earthquake,gigadrain,leechseed,sludgebomb": 175, "rockyhelmet,regenerator,earthquake,gigadrain,knockoff,leechseed": 201, "rockyhelmet,regenerator,gigadrain,knockoff,leechseed,sludgebomb": 180, "rockyhelmet,regenerator,gigadrain,leechseed,sleeppowder,sludgebomb": 173, "rockyhelmet,regenerator,earthquake,gigadrain,knockoff,sleeppowder": 130, "rockyhelmet,regenerator,gigadrain,knockoff,leechseed,sleeppowder": 187, "rockyhelmet,regenerator,gigadrain,knockoff,sleeppowder,sludgebomb": 100, "rockyhelmet,regenerator,earthquake,gigadrain,leechseed,sleeppowder": 164, "rockyhelmet,regenerator,earthquake,gigadrain,sleeppowder,sludgebomb": 111, "assaultvest,regenerator,earthquake,gigadrain,knockoff,sludgebomb": 127}, + "tapubulu": {"choicescarf,grassysurge,closecombat,megahorn,stoneedge,woodhammer": 68, "lumberry,grassysurge,closecombat,stoneedge,swordsdance,woodhammer": 108, "lifeorb,grassysurge,hornleech,megahorn,stoneedge,swordsdance": 187, "choiceband,grassysurge,closecombat,hornleech,megahorn,woodhammer": 41, "choicescarf,grassysurge,closecombat,hornleech,megahorn,woodhammer": 70, "choiceband,grassysurge,hornleech,megahorn,stoneedge,woodhammer": 32, "lumberry,grassysurge,megahorn,stoneedge,swordsdance,woodhammer": 123, "choicescarf,grassysurge,closecombat,hornleech,stoneedge,woodhammer": 67, "lifeorb,grassysurge,closecombat,hornleech,megahorn,swordsdance": 251, "lifeorb,grassysurge,closecombat,hornleech,stoneedge,swordsdance": 247, "lumberry,grassysurge,closecombat,megahorn,swordsdance,woodhammer": 118, "choicescarf,grassysurge,closecombat,hornleech,megahorn,stoneedge": 87, "choiceband,grassysurge,closecombat,megahorn,stoneedge,woodhammer": 41, "choicescarf,grassysurge,hornleech,megahorn,stoneedge,woodhammer": 72, "choiceband,grassysurge,closecombat,hornleech,stoneedge,woodhammer": 30, "choiceband,grassysurge,closecombat,hornleech,megahorn,stoneedge": 28}, + "tapufini": {"leftovers,mistysurge,defog,moonblast,surf,taunt": 297, "leftovers,mistysurge,calmmind,defog,moonblast,surf": 311, "leftovers,mistysurge,calmmind,moonblast,surf,taunt": 974}, + "tapukoko": {"leftovers,electricsurge,calmmind,dazzlinggleam,substitute,thunderbolt": 881, "choicespecs,electricsurge,dazzlinggleam,grassknot,thunderbolt,voltswitch": 280, "lifeorb,electricsurge,calmmind,dazzlinggleam,grassknot,thunderbolt": 458}, + "tapulele": {"lifeorb,psychicsurge,calmmind,focusblast,moonblast,psychic": 570, "lifeorb,psychicsurge,calmmind,moonblast,psyshock,shadowball": 115, "choicespecs,psychicsurge,focusblast,moonblast,psychic,shadowball": 89, "lifeorb,psychicsurge,calmmind,focusblast,moonblast,psyshock": 415, "choicescarf,psychicsurge,focusblast,moonblast,psychic,shadowball": 134, "lifeorb,psychicsurge,calmmind,moonblast,psychic,shadowball": 157, "choicespecs,psychicsurge,focusblast,moonblast,psyshock,shadowball": 39, "choicescarf,psychicsurge,focusblast,moonblast,psyshock,shadowball": 68}, + "tauros": {"lifeorb,sheerforce,bodyslam,closecombat,throatchop,zenheadbutt": 1625}, + "tentacruel": {"lifeorb,liquidooze,knockoff,scald,sludgebomb,toxicspikes": 63, "blacksludge,clearbody,haze,knockoff,scald,sludgebomb": 136, "blacksludge,liquidooze,haze,knockoff,scald,toxicspikes": 47, "blacksludge,liquidooze,knockoff,rapidspin,scald,toxicspikes": 28, "blacksludge,clearbody,haze,scald,sludgebomb,toxicspikes": 121, "blacksludge,clearbody,rapidspin,scald,sludgebomb,toxicspikes": 107, "blacksludge,clearbody,haze,knockoff,rapidspin,scald": 85, "blacksludge,clearbody,haze,rapidspin,scald,toxicspikes": 63, "assaultvest,clearbody,knockoff,rapidspin,scald,sludgebomb": 121, "blacksludge,liquidooze,rapidspin,scald,sludgebomb,toxicspikes": 44, "lifeorb,clearbody,knockoff,scald,sludgebomb,toxicspikes": 110, "assaultvest,liquidooze,knockoff,rapidspin,scald,sludgebomb": 57, "blacksludge,liquidooze,haze,rapidspin,scald,sludgebomb": 63, "blacksludge,clearbody,haze,knockoff,scald,toxicspikes": 91, "blacksludge,clearbody,haze,rapidspin,scald,sludgebomb": 113, "blacksludge,liquidooze,haze,knockoff,rapidspin,scald": 40, "blacksludge,liquidooze,haze,scald,sludgebomb,toxicspikes": 62, "blacksludge,clearbody,knockoff,rapidspin,scald,toxicspikes": 50, "blacksludge,liquidooze,haze,rapidspin,scald,toxicspikes": 34, "blacksludge,liquidooze,haze,knockoff,scald,sludgebomb": 64}, + "terrakion": {"lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance": 1177, "choiceband,justified,closecombat,earthquake,quickattack,stoneedge": 295}, + "thievul": {"lifeorb,stakeout,darkpulse,grassknot,nastyplot,psychic": 386, "leftovers,stakeout,darkpulse,grassknot,nastyplot,partingshot": 370, "leftovers,stakeout,darkpulse,nastyplot,partingshot,psychic": 339, "choicespecs,stakeout,darkpulse,grassknot,partingshot,psychic": 102, "expertbelt,stakeout,darkpulse,foulplay,grassknot,psychic": 95, "leftovers,stakeout,darkpulse,foulplay,grassknot,partingshot": 121, "leftovers,stakeout,darkpulse,foulplay,partingshot,psychic": 114, "leftovers,stakeout,foulplay,grassknot,partingshot,psychic": 107}, + "throh": {"flameorb,guts,bulkup,icepunch,knockoff,stormthrow": 803, "leftovers,guts,bulkup,circlethrow,rest,sleeptalk": 310, "leftovers,guts,circlethrow,knockoff,rest,sleeptalk": 100, "chestoberry,guts,bulkup,icepunch,rest,stormthrow": 73, "flameorb,guts,bulkup,circlethrow,icepunch,knockoff": 201, "chestoberry,guts,bulkup,knockoff,rest,stormthrow": 58, "chestoberry,guts,bulkup,circlethrow,icepunch,rest": 17, "leftovers,guts,circlethrow,icepunch,rest,sleeptalk": 105, "chestoberry,guts,bulkup,circlethrow,knockoff,rest": 18, "chestoberry,guts,bulkup,circlethrow,rest,stormthrow": 12}, + "thundurus": {"heavydutyboots,prankster,grassknot,sludgewave,thunderbolt,thunderwave": 19, "heavydutyboots,prankster,grassknot,knockoff,thunderbolt,thunderwave": 33, "heavydutyboots,defiant,grassknot,knockoff,sludgewave,thunderbolt": 38, "heavydutyboots,prankster,sludgewave,superpower,thunderbolt,thunderwave": 46, "heavydutyboots,prankster,grassknot,nastyplot,sludgewave,thunderbolt": 361, "lifeorb,prankster,grassknot,nastyplot,sludgewave,thunderbolt": 26, "heavydutyboots,defiant,knockoff,sludgewave,superpower,thunderbolt": 42, "heavydutyboots,defiant,grassknot,knockoff,superpower,thunderbolt": 36, "heavydutyboots,prankster,knockoff,sludgewave,thunderbolt,thunderwave": 39, "heavydutyboots,defiant,grassknot,sludgewave,superpower,thunderbolt": 27, "heavydutyboots,prankster,grassknot,superpower,thunderbolt,thunderwave": 37, "heavydutyboots,prankster,knockoff,superpower,thunderbolt,thunderwave": 31, "lifeorb,prankster,knockoff,superpower,thunderbolt,thunderwave": 1, "lifeorb,prankster,grassknot,superpower,thunderbolt,thunderwave": 2, "lifeorb,prankster,knockoff,sludgewave,thunderbolt,thunderwave": 4, "lifeorb,prankster,grassknot,knockoff,thunderbolt,thunderwave": 2, "lifeorb,prankster,sludgewave,superpower,thunderbolt,thunderwave": 3, "lifeorb,defiant,knockoff,sludgewave,superpower,thunderbolt": 3, "lifeorb,defiant,grassknot,knockoff,superpower,thunderbolt": 1, "lifeorb,defiant,grassknot,sludgewave,superpower,thunderbolt": 1}, + "thundurustherian": {"heavydutyboots,voltabsorb,grassknot,nastyplot,psychic,thunderbolt": 149, "heavydutyboots,voltabsorb,focusblast,nastyplot,psychic,thunderbolt": 162, "choicespecs,voltabsorb,grassknot,psychic,thunderbolt,voltswitch": 28, "heavydutyboots,voltabsorb,focusblast,grassknot,nastyplot,thunderbolt": 158, "choicespecs,voltabsorb,focusblast,grassknot,thunderbolt,voltswitch": 16, "choicespecs,voltabsorb,focusblast,grassknot,psychic,thunderbolt": 15, "choicescarf,voltabsorb,focusblast,psychic,thunderbolt,voltswitch": 47, "choicescarf,voltabsorb,grassknot,psychic,thunderbolt,voltswitch": 35, "choicescarf,voltabsorb,focusblast,grassknot,psychic,thunderbolt": 36, "lifeorb,voltabsorb,grassknot,nastyplot,psychic,thunderbolt": 10, "choicespecs,voltabsorb,focusblast,psychic,thunderbolt,voltswitch": 19, "lifeorb,voltabsorb,focusblast,grassknot,nastyplot,thunderbolt": 5, "lifeorb,voltabsorb,focusblast,nastyplot,psychic,thunderbolt": 8, "choicescarf,voltabsorb,focusblast,grassknot,thunderbolt,voltswitch": 37}, + "togedemaru": {"leftovers,sturdy,ironhead,spikyshield,wish,zingzap": 347, "focussash,lightningrod,ironhead,spikyshield,uturn,zingzap": 13, "leftovers,ironbarbs,ironhead,spikyshield,wish,zingzap": 86, "leftovers,ironbarbs,ironhead,nuzzle,spikyshield,zingzap": 26, "leftovers,lightningrod,ironhead,spikyshield,wish,zingzap": 218, "leftovers,sturdy,ironhead,spikyshield,uturn,zingzap": 70, "leftovers,sturdy,ironhead,nuzzle,spikyshield,zingzap": 56, "leftovers,sturdy,ironhead,nuzzle,wish,zingzap": 53, "leftovers,lightningrod,ironhead,uturn,wish,zingzap": 41, "leftovers,lightningrod,ironhead,nuzzle,spikyshield,zingzap": 40, "leftovers,lightningrod,ironhead,spikyshield,uturn,zingzap": 46, "leftovers,lightningrod,ironhead,nuzzle,wish,zingzap": 46, "choiceband,ironbarbs,ironhead,nuzzle,uturn,zingzap": 17, "focussash,lightningrod,ironhead,spikyshield,wish,zingzap": 53, "leftovers,ironbarbs,ironhead,nuzzle,wish,zingzap": 17, "focussash,lightningrod,ironhead,nuzzle,spikyshield,zingzap": 11, "choiceband,lightningrod,ironhead,nuzzle,uturn,zingzap": 36, "leftovers,sturdy,ironhead,uturn,wish,zingzap": 66, "focussash,ironbarbs,ironhead,spikyshield,uturn,zingzap": 7, "focussash,ironbarbs,ironhead,spikyshield,wish,zingzap": 21, "leftovers,ironbarbs,ironhead,uturn,wish,zingzap": 16, "focussash,lightningrod,ironhead,uturn,wish,zingzap": 16, "choiceband,sturdy,ironhead,nuzzle,uturn,zingzap": 41, "leftovers,ironbarbs,ironhead,spikyshield,uturn,zingzap": 16, "focussash,lightningrod,ironhead,nuzzle,wish,zingzap": 7, "focussash,ironbarbs,ironhead,nuzzle,wish,zingzap": 8, "focussash,ironbarbs,ironhead,uturn,wish,zingzap": 4, "focussash,ironbarbs,ironhead,nuzzle,spikyshield,zingzap": 1}, + "togekiss": {"heavydutyboots,serenegrace,airslash,aurasphere,nastyplot,roost": 1031, "heavydutyboots,serenegrace,airslash,aurasphere,roost,thunderwave": 186, "heavydutyboots,serenegrace,airslash,nastyplot,roost,thunderwave": 173, "leftovers,serenegrace,airslash,aurasphere,nastyplot,roost": 69, "choicescarf,serenegrace,airslash,aurasphere,fireblast,trick": 58, "leftovers,serenegrace,airslash,nastyplot,roost,thunderwave": 8, "leftovers,serenegrace,airslash,aurasphere,roost,thunderwave": 10}, + "torkoal": {"heavydutyboots,drought,earthquake,lavaplume,rapidspin,solarbeam": 575, "heavydutyboots,drought,earthquake,lavaplume,solarbeam,stealthrock": 323, "heavydutyboots,drought,earthquake,lavaplume,rapidspin,stealthrock": 259, "heavydutyboots,drought,lavaplume,rapidspin,solarbeam,stealthrock": 319, "leftovers,drought,earthquake,lavaplume,solarbeam,stealthrock": 29}, + "tornadus": {"heavydutyboots,prankster,grassknot,heatwave,hurricane,nastyplot": 616, "heavydutyboots,prankster,defog,grassknot,heatwave,hurricane": 146, "lifeorb,prankster,grassknot,heatwave,hurricane,nastyplot": 44}, + "tornadustherian": {"heavydutyboots,regenerator,defog,hurricane,knockoff,superpower": 195, "heavydutyboots,regenerator,defog,hurricane,superpower,uturn": 190, "heavydutyboots,regenerator,defog,hurricane,knockoff,uturn": 180, "assaultvest,regenerator,hurricane,knockoff,superpower,uturn": 231}, + "toxapex": {"blacksludge,regenerator,banefulbunker,recover,scald,toxic": 773, "blacksludge,regenerator,banefulbunker,recover,scald,toxicspikes": 134, "blacksludge,regenerator,banefulbunker,haze,recover,scald": 153, "blacksludge,regenerator,recover,scald,toxic,toxicspikes": 126, "blacksludge,regenerator,haze,recover,scald,toxicspikes": 82, "blacksludge,regenerator,haze,recover,scald,toxic": 154}, + "toxicroak": {"blacksludge,dryskin,drainpunch,gunkshot,substitute,swordsdance": 690, "choiceband,dryskin,drainpunch,gunkshot,icepunch,suckerpunch": 115, "lifeorb,dryskin,drainpunch,gunkshot,icepunch,swordsdance": 171, "lifeorb,dryskin,drainpunch,gunkshot,suckerpunch,swordsdance": 155, "lifeorb,dryskin,drainpunch,gunkshot,knockoff,swordsdance": 244, "choicescarf,dryskin,drainpunch,gunkshot,icepunch,knockoff": 104, "choiceband,dryskin,drainpunch,gunkshot,icepunch,knockoff": 56}, + "toxtricity": {"throatspray,punkrock,boomburst,overdrive,shiftgear,sludgewave": 633, "choicespecs,punkrock,boomburst,overdrive,sludgewave,voltswitch": 62, "choicescarf,punkrock,boomburst,overdrive,sludgewave,voltswitch": 86}, + "toxtricitylowkey": {"choicespecs,punkrock,boomburst,overdrive,sludgewave,voltswitch": 256, "choicescarf,punkrock,boomburst,overdrive,sludgewave,voltswitch": 523}, + "trevenant": {"choiceband,naturalcure,earthquake,hornleech,poltergeist,woodhammer": 240, "lifeorb,naturalcure,hornleech,poltergeist,rockslide,trickroom": 247, "choiceband,naturalcure,earthquake,hornleech,poltergeist,rockslide": 210, "lifeorb,naturalcure,earthquake,poltergeist,trickroom,woodhammer": 105, "choiceband,naturalcure,hornleech,poltergeist,rockslide,woodhammer": 261, "lifeorb,naturalcure,poltergeist,rockslide,trickroom,woodhammer": 118, "choiceband,naturalcure,earthquake,poltergeist,rockslide,woodhammer": 143, "lifeorb,naturalcure,earthquake,hornleech,poltergeist,trickroom": 263}, + "tsareena": {"heavydutyboots,queenlymajesty,powerwhip,rapidspin,synthesis,tripleaxel": 85, "lifeorb,queenlymajesty,highjumpkick,knockoff,powerwhip,synthesis": 117, "choicescarf,queenlymajesty,knockoff,powerwhip,tripleaxel,uturn": 30, "lifeorb,queenlymajesty,highjumpkick,powerwhip,synthesis,tripleaxel": 112, "assaultvest,queenlymajesty,knockoff,powerwhip,rapidspin,uturn": 52, "leftovers,queenlymajesty,powerwhip,synthesis,tripleaxel,uturn": 99, "heavydutyboots,queenlymajesty,highjumpkick,powerwhip,rapidspin,synthesis": 101, "heavydutyboots,queenlymajesty,powerwhip,rapidspin,synthesis,uturn": 90, "assaultvest,queenlymajesty,knockoff,powerwhip,rapidspin,tripleaxel": 68, "leftovers,queenlymajesty,knockoff,powerwhip,synthesis,uturn": 101, "lifeorb,queenlymajesty,knockoff,powerwhip,synthesis,tripleaxel": 90, "assaultvest,queenlymajesty,powerwhip,rapidspin,tripleaxel,uturn": 47, "leftovers,queenlymajesty,highjumpkick,powerwhip,synthesis,uturn": 115, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,tripleaxel": 59, "assaultvest,queenlymajesty,highjumpkick,knockoff,powerwhip,rapidspin": 49, "heavydutyboots,queenlymajesty,knockoff,powerwhip,rapidspin,synthesis": 80, "choiceband,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn": 23, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn": 21, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel": 19, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,uturn": 57, "choicescarf,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn": 30, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn": 46, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel": 33, "choiceband,queenlymajesty,knockoff,powerwhip,tripleaxel,uturn": 25}, + "turtonator": {"whiteherb,shellarmor,dracometeor,fireblast,shellsmash,willowisp": 466, "whiteherb,shellarmor,dracometeor,earthquake,fireblast,shellsmash": 710, "heavydutyboots,shellarmor,dracometeor,earthquake,fireblast,willowisp": 43, "heavydutyboots,shellarmor,bodypress,dracometeor,fireblast,willowisp": 104, "heavydutyboots,shellarmor,dracometeor,fireblast,rapidspin,willowisp": 96, "heavydutyboots,shellarmor,dracometeor,earthquake,fireblast,rapidspin": 29, "heavydutyboots,shellarmor,bodypress,dracometeor,fireblast,rapidspin": 89, "leftovers,shellarmor,bodypress,dracometeor,fireblast,willowisp": 2, "leftovers,shellarmor,dracometeor,earthquake,fireblast,willowisp": 2}, + "typenull": {"eviolite,battlearmor,crushclaw,rest,sleeptalk,swordsdance": 970, "eviolite,battlearmor,crushclaw,payback,rest,swordsdance": 672}, + "tyranitar": {"leftovers,sandstream,crunch,firepunch,stealthrock,stoneedge": 124, "choicescarf,sandstream,crunch,earthquake,firepunch,stoneedge": 99, "lumberry,sandstream,crunch,dragondance,firepunch,stoneedge": 554, "lumberry,sandstream,crunch,dragondance,earthquake,stoneedge": 516, "choiceband,sandstream,crunch,earthquake,firepunch,stoneedge": 40, "leftovers,sandstream,crunch,earthquake,stealthrock,stoneedge": 109}, + "tyrantrum": {"lifeorb,rockhead,dragondance,earthquake,headsmash,outrage": 614, "choicescarf,rockhead,closecombat,earthquake,headsmash,outrage": 193, "lifeorb,rockhead,closecombat,dragondance,headsmash,outrage": 534, "choiceband,rockhead,closecombat,earthquake,headsmash,outrage": 101}, + "umbreon": {"leftovers,synchronize,foulplay,protect,toxic,wish": 1569}, + "unfezant": {"scopelens,superluck,bravebird,defog,nightslash,roost": 485, "scopelens,superluck,bravebird,defog,roost,uturn": 506, "scopelens,superluck,bravebird,nightslash,roost,uturn": 534}, + "urshifu": {"choiceband,unseenfist,closecombat,ironhead,suckerpunch,wickedblow": 340, "choiceband,unseenfist,closecombat,suckerpunch,uturn,wickedblow": 275, "choicescarf,unseenfist,closecombat,ironhead,uturn,wickedblow": 104, "choiceband,unseenfist,closecombat,ironhead,uturn,wickedblow": 61}, + "urshifugmax": {"leftovers,unseenfist,bulkup,drainpunch,substitute,wickedblow": 790}, + "urshifurapidstrike": {"leftovers,unseenfist,bulkup,drainpunch,substitute,surgingstrikes": 791}, + "urshifurapidstrikegmax": {"lifeorb,unseenfist,bulkup,closecombat,icepunch,surgingstrikes": 616, "choicescarf,unseenfist,closecombat,icepunch,surgingstrikes,uturn": 100, "choiceband,unseenfist,closecombat,icepunch,surgingstrikes,uturn": 50}, + "uxie": {"leftovers,levitate,psychic,stealthrock,uturn,yawn": 149, "leftovers,levitate,healbell,knockoff,psychic,yawn": 183, "leftovers,levitate,healbell,knockoff,psychic,uturn": 210, "leftovers,levitate,healbell,psychic,stealthrock,uturn": 146, "leftovers,levitate,healbell,knockoff,psychic,stealthrock": 156, "leftovers,levitate,knockoff,psychic,uturn,yawn": 188, "leftovers,levitate,knockoff,psychic,stealthrock,yawn": 129, "leftovers,levitate,healbell,psychic,stealthrock,yawn": 147, "leftovers,levitate,healbell,psychic,uturn,yawn": 195, "leftovers,levitate,knockoff,psychic,stealthrock,uturn": 172}, + "vanilluxe": {"assaultvest,snowwarning,blizzard,explosion,flashcannon,freezedry": 393, "lightclay,snowwarning,auroraveil,blizzard,explosion,flashcannon": 274, "lightclay,snowwarning,auroraveil,blizzard,explosion,freezedry": 424, "lightclay,snowwarning,auroraveil,blizzard,flashcannon,freezedry": 416}, + "vaporeon": {"leftovers,waterabsorb,icebeam,protect,scald,toxic": 283, "leftovers,waterabsorb,healbell,protect,scald,wish": 135, "leftovers,waterabsorb,protect,scald,toxic,wish": 621, "leftovers,waterabsorb,icebeam,scald,toxic,wish": 354, "leftovers,waterabsorb,icebeam,protect,scald,wish": 233, "leftovers,waterabsorb,healbell,icebeam,scald,wish": 32}, + "venusaur": {"blacksludge,overgrow,gigadrain,sleeppowder,sludgebomb,substitute": 308, "blacksludge,overgrow,gigadrain,leechseed,sludgebomb,substitute": 745, "blacksludge,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute": 437, "blacksludge,chlorophyll,gigadrain,leechseed,sludgebomb,substitute": 16, "blacksludge,chlorophyll,gigadrain,sleeppowder,sludgebomb,substitute": 9}, + "vespiquen": {"heavydutyboots,pressure,airslash,roost,toxic,uturn": 918, "heavydutyboots,pressure,airslash,defog,roost,toxic": 259, "heavydutyboots,pressure,airslash,defog,roost,uturn": 242}, + "victini": {"assaultvest,victorystar,boltstrike,glaciate,vcreate,zenheadbutt": 107, "assaultvest,victorystar,boltstrike,energyball,glaciate,vcreate": 152, "assaultvest,victorystar,energyball,glaciate,uturn,vcreate": 268, "assaultvest,victorystar,blueflare,boltstrike,uturn,zenheadbutt": 64, "choicescarf,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 57, "assaultvest,victorystar,boltstrike,energyball,vcreate,zenheadbutt": 113, "assaultvest,victorystar,blueflare,boltstrike,energyball,zenheadbutt": 52, "assaultvest,victorystar,blueflare,boltstrike,energyball,glaciate": 52, "assaultvest,victorystar,boltstrike,glaciate,uturn,vcreate": 146, "assaultvest,victorystar,glaciate,uturn,vcreate,zenheadbutt": 8, "assaultvest,victorystar,blueflare,energyball,glaciate,zenheadbutt": 13, "assaultvest,victorystar,blueflare,boltstrike,glaciate,zenheadbutt": 69, "choicespecs,victorystar,blueflare,energyball,glaciate,uturn": 99, "assaultvest,victorystar,boltstrike,energyball,uturn,vcreate": 147, "assaultvest,victorystar,blueflare,boltstrike,glaciate,uturn": 72, "assaultvest,victorystar,blueflare,boltstrike,energyball,uturn": 66, "choiceband,victorystar,boltstrike,uturn,vcreate,zenheadbutt": 26, "assaultvest,victorystar,energyball,glaciate,vcreate,zenheadbutt": 9, "assaultvest,victorystar,blueflare,energyball,uturn,zenheadbutt": 8, "assaultvest,victorystar,blueflare,glaciate,uturn,zenheadbutt": 9, "assaultvest,victorystar,energyball,uturn,vcreate,zenheadbutt": 15}, + "vikavolt": {"heavydutyboots,levitate,energyball,roost,stickyweb,thunderbolt": 103, "heavydutyboots,levitate,bugbuzz,stickyweb,thunderbolt,voltswitch": 314, "heavydutyboots,levitate,bugbuzz,roost,thunderbolt,voltswitch": 345, "heavydutyboots,levitate,bugbuzz,roost,stickyweb,voltswitch": 275, "heavydutyboots,levitate,roost,stickyweb,thunderbolt,voltswitch": 263, "heavydutyboots,levitate,bugbuzz,roost,stickyweb,thunderbolt": 227, "focussash,levitate,bugbuzz,stickyweb,thunderbolt,voltswitch": 43, "leftovers,levitate,bugbuzz,roost,stickyweb,thunderbolt": 14, "heavydutyboots,levitate,energyball,roost,thunderbolt,voltswitch": 5, "choicespecs,levitate,bugbuzz,energyball,thunderbolt,voltswitch": 5, "heavydutyboots,levitate,bugbuzz,energyball,roost,thunderbolt": 3, "heavydutyboots,levitate,bugbuzz,energyball,roost,voltswitch": 9, "leftovers,levitate,energyball,roost,stickyweb,thunderbolt": 7}, + "vileplume": {"blacksludge,effectspore,aromatherapy,sleeppowder,sludgebomb,strengthsap": 399, "blacksludge,effectspore,aromatherapy,gigadrain,sleeppowder,sludgebomb": 292, "blacksludge,effectspore,aromatherapy,gigadrain,sludgebomb,strengthsap": 415, "blacksludge,effectspore,gigadrain,sleeppowder,sludgebomb,strengthsap": 406, "blacksludge,chlorophyll,aromatherapy,sleeppowder,sludgebomb,strengthsap": 10, "blacksludge,chlorophyll,aromatherapy,gigadrain,sleeppowder,sludgebomb": 4, "blacksludge,chlorophyll,aromatherapy,gigadrain,sludgebomb,strengthsap": 6, "blacksludge,chlorophyll,gigadrain,sleeppowder,sludgebomb,strengthsap": 2}, + "virizion": {"lumberry,justified,closecombat,leafblade,stoneedge,swordsdance": 1465}, + "volcanion": {"heavydutyboots,waterabsorb,defog,earthpower,flamethrower,steameruption": 473, "choicescarf,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption": 423, "choicespecs,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption": 182, "heavydutyboots,waterabsorb,defog,flamethrower,sludgebomb,steameruption": 469}, + "volcarona": {"heavydutyboots,flamebody,bugbuzz,fireblast,quiverdance,roost": 926, "heavydutyboots,swarm,bugbuzz,fireblast,gigadrain,quiverdance": 152, "heavydutyboots,flamebody,fireblast,gigadrain,quiverdance,roost": 328, "heavydutyboots,flamebody,bugbuzz,fireblast,gigadrain,quiverdance": 158}, + "wailord": {"choicespecs,oblivious,hydropump,hypervoice,icebeam,waterspout": 497, "choicespecs,waterveil,hydropump,hypervoice,icebeam,waterspout": 1108}, + "walrein": {"leftovers,thickfat,icebeam,protect,surf,toxic": 1473}, + "weavile": {"heavydutyboots,pickpocket,iceshard,knockoff,swordsdance,tripleaxel": 421, "heavydutyboots,pickpocket,knockoff,lowkick,swordsdance,tripleaxel": 435, "heavydutyboots,pickpocket,iceshard,knockoff,lowkick,swordsdance": 292, "lifeorb,pickpocket,knockoff,lowkick,swordsdance,tripleaxel": 36, "choiceband,pickpocket,iceshard,knockoff,lowkick,tripleaxel": 297, "lifeorb,pickpocket,iceshard,knockoff,swordsdance,tripleaxel": 37, "lifeorb,pickpocket,iceshard,knockoff,lowkick,swordsdance": 21}, + "weezing": {"blacksludge,levitate,fireblast,painsplit,sludgebomb,willowisp": 82, "blacksludge,neutralizinggas,painsplit,sludgebomb,toxicspikes,willowisp": 125, "blacksludge,neutralizinggas,fireblast,painsplit,sludgebomb,willowisp": 128, "blacksludge,levitate,fireblast,sludgebomb,toxicspikes,willowisp": 75, "blacksludge,neutralizinggas,fireblast,painsplit,sludgebomb,toxicspikes": 127, "blacksludge,neutralizinggas,fireblast,sludgebomb,toxicspikes,willowisp": 146, "blacksludge,levitate,fireblast,painsplit,sludgebomb,toxicspikes": 71, "blacksludge,levitate,painsplit,sludgebomb,toxicspikes,willowisp": 73}, + "weezinggalar": {"blacksludge,neutralizinggas,fireblast,sludgebomb,strangesteam,toxicspikes": 51, "blacksludge,neutralizinggas,sludgebomb,strangesteam,toxicspikes,willowisp": 54, "blacksludge,neutralizinggas,painsplit,sludgebomb,strangesteam,toxicspikes": 54, "blacksludge,neutralizinggas,defog,sludgebomb,strangesteam,willowisp": 34, "blacksludge,levitate,defog,sludgebomb,strangesteam,willowisp": 18, "blacksludge,neutralizinggas,painsplit,strangesteam,toxicspikes,willowisp": 28, "blacksludge,levitate,fireblast,strangesteam,toxicspikes,willowisp": 17, "blacksludge,levitate,sludgebomb,strangesteam,toxicspikes,willowisp": 27, "blacksludge,neutralizinggas,defog,painsplit,strangesteam,willowisp": 15, "blacksludge,levitate,painsplit,sludgebomb,strangesteam,toxicspikes": 23, "blacksludge,levitate,defog,painsplit,sludgebomb,strangesteam": 13, "blacksludge,levitate,fireblast,sludgebomb,strangesteam,toxicspikes": 30, "blacksludge,neutralizinggas,fireblast,painsplit,strangesteam,toxicspikes": 24, "blacksludge,levitate,fireblast,painsplit,sludgebomb,strangesteam": 19, "blacksludge,neutralizinggas,painsplit,sludgebomb,strangesteam,willowisp": 45, "blacksludge,levitate,fireblast,sludgebomb,strangesteam,willowisp": 22, "blacksludge,neutralizinggas,fireblast,strangesteam,toxicspikes,willowisp": 40, "blacksludge,levitate,defog,fireblast,sludgebomb,strangesteam": 19, "blacksludge,neutralizinggas,defog,fireblast,painsplit,strangesteam": 19, "blacksludge,neutralizinggas,fireblast,sludgebomb,strangesteam,willowisp": 34, "blacksludge,neutralizinggas,defog,fireblast,strangesteam,willowisp": 19, "blacksludge,levitate,painsplit,strangesteam,toxicspikes,willowisp": 13, "blacksludge,neutralizinggas,defog,fireblast,sludgebomb,strangesteam": 24, "blacksludge,neutralizinggas,defog,painsplit,sludgebomb,strangesteam": 25, "blacksludge,neutralizinggas,fireblast,painsplit,strangesteam,willowisp": 22, "blacksludge,levitate,defog,fireblast,strangesteam,willowisp": 10, "blacksludge,levitate,painsplit,sludgebomb,strangesteam,willowisp": 14, "blacksludge,levitate,defog,painsplit,strangesteam,willowisp": 8, "blacksludge,neutralizinggas,fireblast,painsplit,sludgebomb,strangesteam": 31, "blacksludge,levitate,defog,fireblast,painsplit,strangesteam": 6, "blacksludge,levitate,fireblast,painsplit,strangesteam,toxicspikes": 15, "blacksludge,levitate,fireblast,painsplit,strangesteam,willowisp": 10}, + "whimsicott": {"leftovers,prankster,energyball,leechseed,moonblast,stunspore": 158, "leftovers,prankster,defog,energyball,moonblast,uturn": 51, "leftovers,prankster,energyball,leechseed,moonblast,uturn": 165, "leftovers,prankster,moonblast,stunspore,taunt,uturn": 40, "leftovers,prankster,energyball,leechseed,moonblast,taunt": 180, "leftovers,prankster,leechseed,moonblast,stunspore,taunt": 62, "leftovers,prankster,leechseed,moonblast,stunspore,uturn": 69, "leftovers,prankster,defog,leechseed,moonblast,stunspore": 57, "leftovers,prankster,defog,energyball,moonblast,taunt": 56, "leftovers,prankster,defog,energyball,leechseed,moonblast": 153, "leftovers,prankster,defog,leechseed,moonblast,taunt": 61, "leftovers,prankster,defog,moonblast,stunspore,uturn": 46, "leftovers,prankster,defog,leechseed,moonblast,uturn": 61, "leftovers,prankster,energyball,moonblast,stunspore,taunt": 70, "leftovers,prankster,defog,moonblast,taunt,uturn": 37, "leftovers,prankster,defog,energyball,moonblast,stunspore": 53, "leftovers,prankster,defog,moonblast,stunspore,taunt": 52, "leftovers,prankster,energyball,moonblast,stunspore,uturn": 49, "leftovers,prankster,leechseed,moonblast,taunt,uturn": 62, "leftovers,prankster,energyball,moonblast,taunt,uturn": 58}, + "whiscash": {"lifeorb,oblivious,dragondance,earthquake,liquidation,stoneedge": 648, "lifeorb,oblivious,dragondance,earthquake,liquidation,zenheadbutt": 559, "choiceband,oblivious,earthquake,liquidation,stoneedge,zenheadbutt": 312}, + "wigglytuff": {"lightclay,frisk,dazzlinggleam,lightscreen,reflect,stealthrock": 473, "lightclay,competitive,dazzlinggleam,fireblast,lightscreen,reflect": 562, "leftovers,competitive,dazzlinggleam,fireblast,healbell,reflect": 4, "lightclay,frisk,dazzlinggleam,healbell,lightscreen,reflect": 487, "leftovers,competitive,dazzlinggleam,fireblast,healbell,stealthrock": 107, "leftovers,competitive,dazzlinggleam,fireblast,healbell,lightscreen": 6, "leftovers,competitive,dazzlinggleam,fireblast,lightscreen,stealthrock": 3, "leftovers,competitive,dazzlinggleam,fireblast,reflect,stealthrock": 2}, + "wishiwashi": {"focussash,schooling,earthquake,icebeam,scald,uturn": 116, "expertbelt,schooling,earthquake,icebeam,scald,uturn": 511, "choicespecs,schooling,hydropump,icebeam,scald,uturn": 327, "expertbelt,schooling,earthquake,hydropump,icebeam,uturn": 260, "expertbelt,schooling,earthquake,hydropump,scald,uturn": 278, "focussash,schooling,earthquake,hydropump,icebeam,uturn": 53, "focussash,schooling,earthquake,hydropump,scald,uturn": 46}, + "wobbuffet": {"sitrusberry,shadowtag,charm,counter,encore,mirrorcoat": 1691}, + "xatu": {"heavydutyboots,magicbounce,heatwave,psychic,roost,teleport": 557, "heavydutyboots,magicbounce,psychic,roost,teleport,thunderwave": 544, "leftovers,magicbounce,heatwave,psychic,roost,thunderwave": 28, "heavydutyboots,magicbounce,heatwave,psychic,roost,thunderwave": 296, "leftovers,magicbounce,psychic,roost,teleport,thunderwave": 42, "leftovers,magicbounce,heatwave,psychic,roost,teleport": 21}, + "xerneas": {"powerherb,fairyaura,focusblast,geomancy,moonblast,psyshock": 1729}, + "xurkitree": {"choicescarf,beastboost,dazzlinggleam,energyball,thunderbolt,voltswitch": 880, "blunderpolicy,beastboost,dazzlinggleam,energyball,hypnosis,thunderbolt": 330, "choicespecs,beastboost,dazzlinggleam,energyball,thunderbolt,voltswitch": 420}, + "yveltal": {"heavydutyboots,darkaura,knockoff,oblivionwing,roost,suckerpunch": 887, "assaultvest,darkaura,heatwave,knockoff,oblivionwing,suckerpunch": 174, "leftovers,darkaura,knockoff,oblivionwing,roost,taunt": 9, "heavydutyboots,darkaura,defog,knockoff,oblivionwing,roost": 128, "heavydutyboots,darkaura,heatwave,knockoff,oblivionwing,roost": 135, "lifeorb,darkaura,knockoff,oblivionwing,roost,suckerpunch": 43, "heavydutyboots,darkaura,knockoff,oblivionwing,roost,taunt": 106, "lifeorb,darkaura,heatwave,knockoff,oblivionwing,roost": 11}, + "zacian": {"lumberry,intrepidsword,crunch,playrough,psychicfangs,swordsdance": 220, "lumberry,intrepidsword,closecombat,playrough,psychicfangs,swordsdance": 195, "choiceband,intrepidsword,closecombat,crunch,playrough,psychicfangs": 154, "lumberry,intrepidsword,closecombat,crunch,playrough,swordsdance": 237}, + "zaciancrowned": {"rustedsword,intrepidsword,behemothblade,closecombat,playrough,psychicfangs": 160, "rustedsword,intrepidsword,behemothblade,closecombat,playrough,swordsdance": 312, "rustedsword,intrepidsword,behemothblade,playrough,psychicfangs,swordsdance": 308}, + "zamazenta": {"choiceband,dauntlessshield,closecombat,crunch,psychicfangs,wildcharge": 843}, + "zamazentacrowned": {"rustedshield,dauntlessshield,behemothbash,closecombat,howl,psychicfangs": 230, "rustedshield,dauntlessshield,behemothbash,closecombat,crunch,howl": 234, "rustedshield,dauntlessshield,behemothbash,closecombat,crunch,psychicfangs": 273}, + "zapdos": {"heavydutyboots,static,discharge,heatwave,hurricane,roost": 140, "heavydutyboots,static,discharge,hurricane,roost,uturn": 134, "heavydutyboots,static,defog,discharge,heatwave,roost": 20, "heavydutyboots,static,defog,discharge,roost,uturn": 14, "heavydutyboots,static,discharge,heatwave,roost,uturn": 74, "heavydutyboots,pressure,defog,discharge,hurricane,roost": 91, "heavydutyboots,pressure,defog,discharge,heatwave,roost": 45, "heavydutyboots,pressure,defog,discharge,roost,uturn": 36, "lifeorb,static,discharge,heatwave,hurricane,roost": 14, "choicespecs,static,discharge,heatwave,hurricane,uturn": 73, "heavydutyboots,static,defog,discharge,hurricane,roost": 48}, + "zapdosgalar": {"lifeorb,defiant,bravebird,bulkup,closecombat,throatchop": 634, "choicescarf,defiant,bravebird,closecombat,throatchop,uturn": 100, "choiceband,defiant,bravebird,closecombat,throatchop,uturn": 57}, + "zarude": {"choiceband,leafguard,closecombat,darkestlariat,powerwhip,uturn": 67, "leftovers,leafguard,bulkup,darkestlariat,junglehealing,powerwhip": 831, "choicescarf,leafguard,closecombat,darkestlariat,powerwhip,uturn": 158, "leftovers,leafguard,bulkup,closecombat,darkestlariat,powerwhip": 357}, + "zekrom": {"lumberry,teravolt,boltstrike,dragondance,outrage,roost": 1433}, + "zeraora": {"lifeorb,voltabsorb,blazekick,bulkup,knockoff,plasmafists": 158, "lifeorb,voltabsorb,bulkup,closecombat,plasmafists,playrough": 170, "lifeorb,voltabsorb,bulkup,closecombat,knockoff,plasmafists": 156, "assaultvest,voltabsorb,closecombat,plasmafists,playrough,voltswitch": 36, "lifeorb,voltabsorb,bulkup,knockoff,plasmafists,playrough": 144, "assaultvest,voltabsorb,grassknot,knockoff,plasmafists,voltswitch": 35, "assaultvest,voltabsorb,closecombat,grassknot,knockoff,plasmafists": 36, "assaultvest,voltabsorb,knockoff,plasmafists,playrough,voltswitch": 42, "assaultvest,voltabsorb,grassknot,knockoff,plasmafists,playrough": 32, "assaultvest,voltabsorb,blazekick,plasmafists,playrough,voltswitch": 42, "lifeorb,voltabsorb,blazekick,bulkup,plasmafists,playrough": 143, "lifeorb,voltabsorb,blazekick,bulkup,closecombat,plasmafists": 169, "choiceband,voltabsorb,blazekick,closecombat,plasmafists,playrough": 21, "assaultvest,voltabsorb,blazekick,closecombat,grassknot,plasmafists": 30, "assaultvest,voltabsorb,blazekick,grassknot,knockoff,plasmafists": 28, "assaultvest,voltabsorb,closecombat,knockoff,plasmafists,voltswitch": 43, "choiceband,voltabsorb,blazekick,closecombat,knockoff,plasmafists": 27, "assaultvest,voltabsorb,grassknot,plasmafists,playrough,voltswitch": 54, "assaultvest,voltabsorb,blazekick,knockoff,plasmafists,voltswitch": 42, "choiceband,voltabsorb,blazekick,knockoff,plasmafists,playrough": 21, "assaultvest,voltabsorb,blazekick,grassknot,plasmafists,playrough": 26, "assaultvest,voltabsorb,closecombat,grassknot,plasmafists,voltswitch": 45, "choiceband,voltabsorb,closecombat,knockoff,plasmafists,playrough": 23, "assaultvest,voltabsorb,blazekick,grassknot,plasmafists,voltswitch": 49, "assaultvest,voltabsorb,blazekick,closecombat,plasmafists,voltswitch": 35, "assaultvest,voltabsorb,closecombat,grassknot,plasmafists,playrough": 22}, + "zoroark": {"lifeorb,illusion,darkpulse,flamethrower,nastyplot,sludgebomb": 834, "choicescarf,illusion,darkpulse,flamethrower,sludgebomb,trick": 279, "focussash,illusion,darkpulse,flamethrower,nastyplot,sludgebomb": 225}, + "zygarde": {"leftovers,powerconstruct,dragondance,outrage,substitute,thousandarrows": 770}, + "zygarde10": {"choiceband,aurabreak,extremespeed,irontail,outrage,thousandarrows": 152, "focussash,aurabreak,coil,irontail,outrage,thousandarrows": 55, "focussash,aurabreak,coil,extremespeed,outrage,thousandarrows": 65, "lifeorb,aurabreak,coil,irontail,outrage,thousandarrows": 262, "lifeorb,aurabreak,coil,extremespeed,outrage,thousandarrows": 247} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen9battlefactory.json b/data/pkmn_sets/gen9battlefactory.json new file mode 100644 index 000000000..3c71712e1 --- /dev/null +++ b/data/pkmn_sets/gen9battlefactory.json @@ -0,0 +1,4467 @@ +{ + "uber": { + "koraidon": { + "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|lowkick|flareblitz|outrage|uturn": 6.25, + "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|lowkick|flareblitz|dragonclaw|uturn": 6.25, + "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|closecombat|flareblitz|outrage|uturn": 6.25, + "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|closecombat|flareblitz|dragonclaw|uturn": 6.25, + "ghost|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|lowkick|flareblitz|outrage|uturn": 6.25, + "ghost|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|lowkick|flareblitz|dragonclaw|uturn": 6.25, + "ghost|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|closecombat|flareblitz|outrage|uturn": 6.25, + "ghost|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|closecombat|flareblitz|dragonclaw|uturn": 6.25, + "fire|orichalcumpulse|loadeddice|jolly|0,252,4,0,0,252|lowkick|flareblitz|scaleshot|swordsdance": 12.5, + "fire|orichalcumpulse|loadeddice|jolly|0,252,4,0,0,252|substitute|flareblitz|scaleshot|swordsdance": 12.5, + "ghost|orichalcumpulse|loadeddice|jolly|0,252,4,0,0,252|lowkick|flareblitz|scaleshot|swordsdance": 12.5, + "ghost|orichalcumpulse|loadeddice|jolly|0,252,4,0,0,252|substitute|flareblitz|scaleshot|swordsdance": 12.5 + }, + "necrozmaduskmane": { + "fire|prismarmor|heavydutyboots|impish|252,0,204,0,0,52|dragondance|morningsun|sunsteelstrike|knockoff": 25.0, + "fire|prismarmor|heavydutyboots|impish|252,0,204,0,0,52|dragondance|morningsun|photongeyser|earthquake": 25.0, + "fire|prismarmor|lumberry|adamant|0,252,0,0,4,252|dragondance|sunsteelstrike|earthquake|stoneedge": 5.0, + "fire|prismarmor|occaberry|adamant|0,252,0,0,4,252|dragondance|sunsteelstrike|earthquake|stoneedge": 5.0, + "fire|prismarmor|lifeorb|adamant|0,252,0,0,4,252|dragondance|sunsteelstrike|earthquake|stoneedge": 5.0, + "fire|prismarmor|lumberry|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "psychic|prismarmor|lumberry|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "fire|prismarmor|occaberry|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "psychic|prismarmor|occaberry|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "fire|prismarmor|lifeorb|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "psychic|prismarmor|lifeorb|adamant|0,252,0,0,4,252|dragondance|photongeyser|earthquake|sunsteelstrike": 2.5, + "fire|prismarmor|lifeorb|brave|252,252,4,0,0,0|swordsdance|photongeyser|earthquake|trickroom": 2.5, + "fire|prismarmor|lumberry|brave|252,252,4,0,0,0|swordsdance|photongeyser|earthquake|trickroom": 2.5, + "fire|prismarmor|mentalherb|brave|252,252,4,0,0,0|swordsdance|photongeyser|earthquake|trickroom": 2.5, + "fire|prismarmor|weaknesspolicy|brave|252,252,4,0,0,0|swordsdance|photongeyser|earthquake|trickroom": 2.5, + "fire|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|swordsdance": 0.8333333333333334, + "fire|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|stealthrock": 0.8333333333333334, + "fire|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|knockoff": 0.8333333333333334, + "ground|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|swordsdance": 0.8333333333333334, + "ground|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|stealthrock": 0.8333333333333334, + "ground|prismarmor|covertcloak|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|knockoff": 0.8333333333333334, + "fire|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|swordsdance": 0.8333333333333334, + "fire|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|stealthrock": 0.8333333333333334, + "fire|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|knockoff": 0.8333333333333334, + "ground|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|swordsdance": 0.8333333333333334, + "ground|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|stealthrock": 0.8333333333333334, + "ground|prismarmor|heavydutyboots|impish|252,4,252,0,0,0|sunsteelstrike|earthquake|morningsun|knockoff": 0.8333333333333334 + }, + "hooh": { + "ground|regenerator|heavydutyboots|impish|252,0,252,0,4,0|sacredfire|recover|earthquake|bravebird": 10.0, + "fairy|regenerator|heavydutyboots|impish|252,0,252,0,4,0|sacredfire|recover|whirlwind|bravebird": 20.0, + "grass|regenerator|heavydutyboots|impish|252,0,252,0,4,0|sacredfire|recover|whirlwind|bravebird": 20.0, + "ground|regenerator|heavydutyboots|adamant|104,252,0,0,0,152|sacredfire|recover|earthquake|bravebird": 10.0, + "flying|regenerator|heavydutyboots|adamant|104,252,0,0,0,152|sacredfire|recover|substitute|bravebird": 20.0, + "flying|regenerator|heavydutyboots|jolly|0,252,4,0,0,252|sacredfire|recover|substitute|bravebird": 20.0 + }, + "arceusground": { + "ground|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|recover|earthquake|stoneedge": 16.666666666666668, + "ground|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|taunt|earthquake|stoneedge": 16.666666666666668, + "ground|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|icebeam|earthquake|stoneedge": 16.666666666666668, + "ghost|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|recover|earthquake|stoneedge": 5.0, + "ghost|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|taunt|earthquake|stoneedge": 5.0, + "ghost|multitype|earthplate|adamant|132,252,0,0,0,124|dragondance|icebeam|earthquake|stoneedge": 5.0, + "steel|multitype|earthplate|calm|240,0,0,0,252,16|calmmind|judgment|recover|icebeam": 3.75, + "steel|multitype|earthplate|calm|240,0,0,0,252,16|calmmind|judgment|recover|powergem": 3.75, + "ghost|multitype|earthplate|calm|240,0,0,0,252,16|calmmind|judgment|recover|icebeam": 3.75, + "ghost|multitype|earthplate|calm|240,0,0,0,252,16|calmmind|judgment|recover|powergem": 3.75, + "steel|multitype|earthplate|modest|132,0,0,252,0,124|calmmind|judgment|recover|icebeam": 5.0, + "steel|multitype|earthplate|modest|132,0,0,252,0,124|calmmind|judgment|recover|powergem": 5.0, + "ghost|multitype|earthplate|modest|132,0,0,252,0,124|calmmind|judgment|recover|icebeam": 5.0, + "ghost|multitype|earthplate|modest|132,0,0,252,0,124|calmmind|judgment|recover|powergem": 5.0 + }, + "arceusfairy": { + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|thunderwave|stealthrock": 16.666666666666668, + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|thunderwave|taunt": 16.666666666666668, + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|thunderwave|dragontail": 16.666666666666668, + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|willowisp|stealthrock": 16.666666666666668, + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|willowisp|taunt": 16.666666666666668, + "water|multitype|pixieplate|bold|240,0,252,0,16,0|judgment|recover|willowisp|dragontail": 16.666666666666668 + }, + "zacian": { + "fighting|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fighting|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fire|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fire|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668, + "flying|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "flying|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668 + }, + "zaciancrowned": { + "fighting|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fighting|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fire|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "fire|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668, + "flying|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|behemothblade|swordsdance|wildcharge|closecombat": 16.666666666666668, + "flying|intrepidsword|rustedsword|jolly|0,252,4,0,0,252|playrough|swordsdance|wildcharge|closecombat": 16.666666666666668 + }, + "kyogre": { + "fairy|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|originpulse|icebeam|thunder": 3.125, + "fairy|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|originpulse|icebeam|thunderwave": 3.125, + "fairy|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|surf|icebeam|thunder": 3.125, + "fairy|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|surf|icebeam|thunderwave": 3.125, + "poison|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|originpulse|icebeam|thunder": 3.125, + "poison|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|originpulse|icebeam|thunderwave": 3.125, + "poison|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|surf|icebeam|thunder": 3.125, + "poison|drizzle|heavydutyboots|modest|240,0,76,176,0,16|calmmind|surf|icebeam|thunderwave": 3.125, + "fairy|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|originpulse|icebeam|thunder": 3.125, + "fairy|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|originpulse|icebeam|thunderwave": 3.125, + "fairy|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|surf|icebeam|thunder": 3.125, + "fairy|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|surf|icebeam|thunderwave": 3.125, + "poison|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|originpulse|icebeam|thunder": 3.125, + "poison|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|originpulse|icebeam|thunderwave": 3.125, + "poison|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|surf|icebeam|thunder": 3.125, + "poison|drizzle|heavydutyboots|bold|248,0,164,80,0,16|calmmind|surf|icebeam|thunderwave": 3.125, + "water|drizzle|choicescarf|timid|0,0,4,252,0,252|waterspout|thunder|icebeam|originpulse": 25.0, + "water|drizzle|choicespecs|timid|0,0,4,252,0,252|waterspout|thunder|icebeam|originpulse": 5.0, + "fairy|drizzle|choicespecs|modest|240,0,76,176,0,16|waterspout|thunder|icebeam|originpulse": 20.0 + }, + "arceus": { + "ghost|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 4.166666666666667, + "ghost|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 4.166666666666667, + "ghost|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 4.166666666666667, + "fire|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 4.166666666666667, + "fire|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 4.166666666666667, + "fire|multitype|heavydutyboots|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 4.166666666666667, + "ghost|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 4.166666666666667, + "ghost|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 4.166666666666667, + "ghost|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 4.166666666666667, + "fire|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 4.166666666666667, + "fire|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 4.166666666666667, + "fire|multitype|leftovers|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 4.166666666666667, + "fire|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 1.25, + "fire|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 1.25, + "fire|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 1.25, + "fire|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|doubleedge": 1.25, + "normal|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 1.25, + "normal|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 1.25, + "normal|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 1.25, + "normal|multitype|silkscarf|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|doubleedge": 1.25, + "fire|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 1.25, + "fire|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 1.25, + "fire|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 1.25, + "fire|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|doubleedge": 1.25, + "normal|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|taunt": 1.25, + "normal|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|recover": 1.25, + "normal|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|earthquake": 1.25, + "normal|multitype|lifeorb|adamant|200,252,0,0,0,56|swordsdance|extremespeed|shadowclaw|doubleedge": 1.25, + "fire|multitype|leftovers|adamant|248,204,0,0,0,56|bulkup|extremespeed|shadowclaw|recover": 15.0, + "fire|multitype|heavydutyboots|adamant|248,204,0,0,0,56|bulkup|extremespeed|shadowclaw|recover": 15.0 + }, + "arceuswater": { + "fairy|multitype|splashplate|bold|240,0,252,0,0,16|thunderwave|judgment|recover|icebeam": 20.0, + "fairy|multitype|splashplate|bold|240,0,252,0,0,16|thunderwave|judgment|recover|dragontail": 20.0, + "fairy|multitype|splashplate|bold|240,0,252,0,0,16|willowisp|judgment|recover|icebeam": 20.0, + "fairy|multitype|splashplate|bold|240,0,252,0,0,16|willowisp|judgment|recover|dragontail": 20.0, + "fairy|multitype|splashplate|bold|240,0,252,0,0,16|calmmind|judgment|recover|icebeam": 10.0, + "poison|multitype|splashplate|bold|240,0,252,0,0,16|calmmind|judgment|recover|icebeam": 10.0 + }, + "eternatus": { + "fairy|pressure|heavydutyboots|timid|200,0,0,0,252,56|dynamaxcannon|toxic|recover|toxicspikes": 10.0, + "fairy|pressure|heavydutyboots|timid|200,0,0,0,252,56|dynamaxcannon|toxic|recover|flamethrower": 10.0, + "grass|pressure|heavydutyboots|timid|200,0,0,0,252,56|dynamaxcannon|toxic|recover|toxicspikes": 10.0, + "grass|pressure|heavydutyboots|timid|200,0,0,0,252,56|dynamaxcannon|toxic|recover|flamethrower": 10.0, + "fire|pressure|powerherb|modest|168,0,0,252,0,88|meteorbeam|dynamaxcannon|fireblast|agility": 7.5, + "fire|pressure|powerherb|modest|168,0,0,252,0,88|meteorbeam|dynamaxcannon|fireblast|sludgebomb": 7.5, + "dragon|pressure|powerherb|modest|168,0,0,252,0,88|meteorbeam|dynamaxcannon|fireblast|agility": 7.5, + "dragon|pressure|powerherb|modest|168,0,0,252,0,88|meteorbeam|dynamaxcannon|fireblast|sludgebomb": 7.5, + "fire|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "fire|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5, + "flying|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "flying|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5, + "fairy|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "fairy|pressure|choicescarf|modest|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5, + "fire|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "fire|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5, + "flying|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "flying|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5, + "fairy|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|fireblast|toxicspikes": 2.5, + "fairy|pressure|choicescarf|timid|0,0,0,252,4,252|sludgebomb|dynamaxcannon|flamethrower|toxicspikes": 2.5 + }, + "gliscor": { + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|toxic|protect|spikes": 10.0, + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|toxic|protect|toxicspikes": 10.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|toxic|protect|spikes": 10.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|toxic|protect|toxicspikes": 10.0, + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|knockoff|protect|spikes": 5.0, + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|knockoff|protect|toxicspikes": 5.0, + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|toxic|knockoff|protect|spikes": 5.0, + "fairy|poisonheal|toxicorb|impish|244,0,252,0,12,0|toxic|knockoff|protect|toxicspikes": 5.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|knockoff|protect|spikes": 5.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|earthquake|knockoff|protect|toxicspikes": 5.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|toxic|knockoff|protect|spikes": 5.0, + "water|poisonheal|toxicorb|impish|244,0,252,0,12,0|toxic|knockoff|protect|toxicspikes": 5.0, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|toxic|protect|spikes": 2.5, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|toxic|protect|toxicspikes": 2.5, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|toxic|protect|spikes": 2.5, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|toxic|protect|toxicspikes": 2.5, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|knockoff|protect|spikes": 1.25, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|knockoff|protect|toxicspikes": 1.25, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|toxic|knockoff|protect|spikes": 1.25, + "fairy|poisonheal|toxicorb|careful|244,0,12,0,252,0|toxic|knockoff|protect|toxicspikes": 1.25, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|knockoff|protect|spikes": 1.25, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|earthquake|knockoff|protect|toxicspikes": 1.25, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|toxic|knockoff|protect|spikes": 1.25, + "water|poisonheal|toxicorb|careful|244,0,12,0,252,0|toxic|knockoff|protect|toxicspikes": 1.25 + }, + "calyrexice": { + "fire|asoneglastrier|heavydutyboots|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "ground|asoneglastrier|heavydutyboots|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "fire|asoneglastrier|occaberry|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "ground|asoneglastrier|occaberry|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "fire|asoneglastrier|weaknesspolicy|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "ground|asoneglastrier|weaknesspolicy|brave|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 13.333333333333334, + "fire|asoneglastrier|heavydutyboots|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335, + "ground|asoneglastrier|heavydutyboots|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335, + "fire|asoneglastrier|occaberry|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335, + "ground|asoneglastrier|occaberry|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335, + "fire|asoneglastrier|weaknesspolicy|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335, + "ground|asoneglastrier|weaknesspolicy|adamant|248,252,0,0,8,0|trickroom|swordsdance|glaciallance|highhorsepower": 3.3333333333333335 + }, + "landorustherian": { + "fairy|intimidate|rockyhelmet|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|stoneedge": 10.0, + "fairy|intimidate|rockyhelmet|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|rocktomb": 10.0, + "water|intimidate|rockyhelmet|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|stoneedge": 10.0, + "water|intimidate|rockyhelmet|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|rocktomb": 10.0, + "fairy|intimidate|leftovers|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|stoneedge": 10.0, + "fairy|intimidate|leftovers|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|rocktomb": 10.0, + "water|intimidate|leftovers|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|stoneedge": 10.0, + "water|intimidate|leftovers|impish|248,8,252,0,0,0|stealthrock|earthquake|uturn|rocktomb": 10.0, + "ground|intimidate|choicescarf|jolly|0,252,0,0,4,252|earthquake|stoneedge|uturn|stealthrock": 20.0 + }, + "tinglu": { + "fairy|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|whirlwind": 6.666666666666667, + "fairy|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|protect": 6.666666666666667, + "fairy|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|whirlwind": 6.666666666666667, + "fairy|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|protect": 6.666666666666667, + "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|whirlwind": 6.666666666666667, + "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|protect": 6.666666666666667, + "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|whirlwind": 6.666666666666667, + "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|protect": 6.666666666666667, + "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|whirlwind": 6.666666666666667, + "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|protect": 6.666666666666667, + "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|whirlwind": 6.666666666666667, + "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|stealthrock|protect": 6.666666666666667, + "fairy|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|stealthrock": 6.666666666666667, + "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|stealthrock": 6.666666666666667, + "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|ruination|spikes|stealthrock": 6.666666666666667 + }, + "chienpao": { + "dark|swordofruin|lifeorb|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|suckerpunch": 5.0, + "dark|swordofruin|lifeorb|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|iceshard": 5.0, + "dark|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|suckerpunch": 5.0, + "dark|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|iceshard": 5.0, + "dark|swordofruin|blackglasses|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|suckerpunch": 5.0, + "dark|swordofruin|blackglasses|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|crunch|iceshard": 5.0, + "dark|swordofruin|lifeorb|adamant|0,252,4,0,0,252|swordsdance|iciclecrash|suckerpunch|iceshard": 10.0, + "dark|swordofruin|heavydutyboots|adamant|0,252,4,0,0,252|swordsdance|iciclecrash|suckerpunch|iceshard": 10.0, + "dark|swordofruin|blackglasses|adamant|0,252,4,0,0,252|swordsdance|iciclecrash|suckerpunch|iceshard": 10.0, + "dark|swordofruin|choiceband|jolly|0,252,4,0,0,252|iciclecrash|crunch|suckerpunch|iceshard": 10.0, + "dark|swordofruin|choiceband|jolly|0,252,4,0,0,252|icespinner|crunch|suckerpunch|iceshard": 10.0, + "ice|swordofruin|choiceband|jolly|0,252,4,0,0,252|iciclecrash|crunch|suckerpunch|iceshard": 10.0, + "ice|swordofruin|choiceband|jolly|0,252,4,0,0,252|icespinner|crunch|suckerpunch|iceshard": 10.0 + }, + "deoxysattack": { + "ghost|pressure|lifeorb|naive|0,4,0,252,0,252|psychoboost|shadowball|lowkick|rockslide": 50.0, + "ghost|pressure|focussash|timid|0,0,4,252,0,252|psychoboost|shadowball|icywind|stealthrock": 12.5, + "ghost|pressure|focussash|timid|0,0,4,252,0,252|psychoboost|shadowball|icywind|spikes": 12.5, + "steel|pressure|focussash|timid|0,0,4,252,0,252|psychoboost|shadowball|icywind|stealthrock": 12.5, + "steel|pressure|focussash|timid|0,0,4,252,0,252|psychoboost|shadowball|icywind|spikes": 12.5 + }, + "giratinaorigin": { + "ghost|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|defog": 4.166666666666667, + "ghost|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|shadowsneak": 4.166666666666667, + "ghost|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|defog": 4.166666666666667, + "ghost|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|shadowsneak": 4.166666666666667, + "steel|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|defog": 4.166666666666667, + "steel|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|shadowsneak": 4.166666666666667, + "steel|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|defog": 4.166666666666667, + "steel|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|shadowsneak": 4.166666666666667, + "poison|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|defog": 4.166666666666667, + "poison|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|willowisp|shadowsneak": 4.166666666666667, + "poison|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|defog": 4.166666666666667, + "poison|levitate|griseouscore|adamant|248,104,112,0,0,44|poltergeist|dragontail|thunderwave|shadowsneak": 4.166666666666667, + "steel|levitate|griseouscore|modest|248,0,112,104,0,44|hex|dracometeor|willowisp|defog": 12.5, + "steel|levitate|griseouscore|modest|248,0,112,104,0,44|hex|dracometeor|thunderwave|defog": 12.5, + "poison|levitate|griseouscore|modest|248,0,112,104,0,44|hex|dracometeor|willowisp|defog": 12.5, + "poison|levitate|griseouscore|modest|248,0,112,104,0,44|hex|dracometeor|thunderwave|defog": 12.5 + }, + "glimmora": { + "fairy|toxicdebris|focussash|timid|0,0,172,84,0,252|stealthrock|mortalspin|mudshot|dazzlinggleam": 50.0, + "fairy|toxicdebris|focussash|timid|0,0,172,84,0,252|spikes|mortalspin|mudshot|dazzlinggleam": 50.0 + }, + "ironbundle": { + "ghost|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|freezedry|hydropump|icebeam|encore": 25.0, + "ghost|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|freezedry|hydropump|icebeam|taunt": 25.0, + "ice|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|freezedry|hydropump|icebeam|encore": 25.0, + "ice|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|freezedry|hydropump|icebeam|taunt": 25.0 + }, + "groudon": { + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|willowisp|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|roar|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|protect|willowisp|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|protect|roar|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|willowisp|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|roar|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|protect|willowisp|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|protect|roar|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|willowisp|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|roar|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|protect|willowisp|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|protect|roar|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|willowisp|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|roar|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|protect|willowisp|spikes": 3.75, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|protect|roar|spikes": 3.75, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|roar|thunderwave": 5.0, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|spikes|roar|thunderwave": 5.0, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|roar|thunderwave": 5.0, + "fairy|drought|leftovers|impish|240,0,252,0,0,16|earthquake|spikes|roar|thunderwave": 5.0, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|stealthrock|roar|thunderwave": 5.0, + "water|drought|leftovers|impish|240,0,252,0,0,16|precipiceblades|spikes|roar|thunderwave": 5.0, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|stealthrock|roar|thunderwave": 5.0, + "water|drought|leftovers|impish|240,0,252,0,0,16|earthquake|spikes|roar|thunderwave": 5.0 + }, + "kingambit": { + "dark|supremeoverlord|blackglasses|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 17.5, + "flying|supremeoverlord|blackglasses|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 17.5, + "dark|supremeoverlord|lumberry|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 17.5, + "flying|supremeoverlord|lumberry|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 17.5, + "fire|supremeoverlord|airballoon|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 30.0 + }, + "kyuremblack": { + "electric|teravolt|loadeddice|jolly|0,252,0,0,4,252|fusionbolt|iciclespear|dragondance|substitute": 50.0, + "electric|teravolt|loadeddice|jolly|0,252,0,0,4,252|fusionbolt|iciclespear|dragondance|scaleshot": 50.0 + }, + "fluttermane": { + "fairy|protosynthesis|choicespecs|timid|0,0,0,252,4,252|moonblast|shadowball|psyshock|powergem": 12.5, + "fairy|protosynthesis|choicespecs|timid|0,0,0,252,4,252|moonblast|shadowball|mysticalfire|powergem": 12.5, + "stellar|protosynthesis|choicespecs|timid|0,0,0,252,4,252|moonblast|shadowball|psyshock|powergem": 12.5, + "stellar|protosynthesis|choicespecs|timid|0,0,0,252,4,252|moonblast|shadowball|mysticalfire|powergem": 12.5, + "fairy|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|psyshock|powergem": 8.333333333333334, + "fairy|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|mysticalfire|powergem": 8.333333333333334, + "fairy|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|calmmind|powergem": 8.333333333333334, + "stellar|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|psyshock|powergem": 8.333333333333334, + "stellar|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|mysticalfire|powergem": 8.333333333333334, + "stellar|protosynthesis|lifeorb|timid|0,0,0,252,4,252|moonblast|shadowball|calmmind|powergem": 8.333333333333334 + }, + "rayquaza": { + "flying|airlock|lifeorb|jolly|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "normal|airlock|lifeorb|jolly|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "ground|airlock|lifeorb|jolly|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "steel|airlock|lifeorb|jolly|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "flying|airlock|lifeorb|adamant|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "normal|airlock|lifeorb|adamant|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "ground|airlock|lifeorb|adamant|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "steel|airlock|lifeorb|adamant|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|dragondance": 6.25, + "normal|airlock|lifeorb|jolly|0,252,4,0,0,252|dragonascent|earthquake|extremespeed|swordsdance": 50.0 + }, + "arceusghost": { + "stellar|multitype|spookyplate|modest|0,0,0,252,4,252|calmmind|judgment|focusblast|powergem": 50.0, + "water|multitype|spookyplate|timid|248,0,204,0,0,56|calmmind|judgment|recover|dragontail": 16.666666666666668, + "fairy|multitype|spookyplate|timid|248,0,204,0,0,56|calmmind|judgment|recover|dragontail": 16.666666666666668, + "poison|multitype|spookyplate|timid|248,0,204,0,0,56|calmmind|judgment|recover|dragontail": 16.666666666666668 + }, + "lunala": { + "fairy|shadowshield|powerherb|timid|56,0,0,252,0,200|agility|meteorbeam|moonblast|moongeistbeam": 25.0, + "ghost|shadowshield|powerherb|timid|56,0,0,252,0,200|agility|meteorbeam|moonblast|moongeistbeam": 25.0, + "fighting|shadowshield|powerherb|timid|56,0,0,252,0,200|agility|meteorbeam|focusblast|moongeistbeam": 25.0, + "ghost|shadowshield|powerherb|timid|56,0,0,252,0,200|agility|meteorbeam|focusblast|moongeistbeam": 25.0 + }, + "mewtwo": { + "steel|pressure|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|taunt": 5.555555555555555, + "steel|pressure|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|earthpower": 5.555555555555555, + "steel|pressure|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|grassknot": 5.555555555555555, + "steel|pressure|leftovers|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|taunt": 5.555555555555555, + "steel|pressure|leftovers|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|earthpower": 5.555555555555555, + "steel|pressure|leftovers|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|grassknot": 5.555555555555555, + "steel|pressure|lifeorb|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|taunt": 5.555555555555555, + "steel|pressure|lifeorb|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|earthpower": 5.555555555555555, + "steel|pressure|lifeorb|timid|0,0,4,252,0,252|nastyplot|psystrike|flamethrower|grassknot": 5.555555555555555, + "fire|pressure|choicespecs|timid|0,0,4,252,0,252|icebeam|psystrike|flamethrower|grassknot": 50.0 + }, + "skeledirge": { + "fairy|unaware|heavydutyboots|bold|252,0,252,4,0,0|torchsong|hex|willowisp|slackoff": 100.0 + }, + "toxapex": { + "fairy|regenerator|rockyhelmet|bold|252,0,252,0,4,0|toxic|recover|haze|toxicspikes": 33.5, + "fairy|regenerator|rockyhelmet|bold|252,0,252,0,4,0|toxic|recover|haze|icebeam": 33.5, + "fairy|regenerator|rockyhelmet|impish|252,0,252,0,4,0|toxic|recover|haze|poisonjab": 33.0 + }, + "ditto": { + "fairy|imposter|choicescarf|bold|252,0,252,0,4,0|transform": 100.0 + }, + "necrozmadawnwings": { + "fairy|prismarmor|heavydutyboots|modest|252,0,4,252,0,0|calmmind|irondefense|moonlight|storedpower": 50.0, + "steel|prismarmor|heavydutyboots|modest|252,0,4,252,0,0|calmmind|irondefense|moonlight|storedpower": 50.0 + }, + "arceuselectric": { + "water|multitype|zapplate|timid|0,0,0,252,4,252|calmmind|judgment|icebeam|recover": 50.0, + "fairy|multitype|zapplate|timid|0,0,0,252,4,252|calmmind|judgment|icebeam|recover": 50.0 + } + }, + "ou": { + "kingambit": { + "dark|supremeoverlord|blackglasses|adamant|0,252,4,0,0,252|kowtowcleave|swordsdance|ironhead|suckerpunch": 5.0, + "dark|supremeoverlord|blackglasses|adamant|0,252,4,0,0,252|kowtowcleave|swordsdance|lowkick|suckerpunch": 5.0, + "dark|supremeoverlord|blackglasses|jolly|0,252,4,0,0,252|kowtowcleave|swordsdance|ironhead|suckerpunch": 5.0, + "dark|supremeoverlord|blackglasses|jolly|0,252,4,0,0,252|kowtowcleave|swordsdance|lowkick|suckerpunch": 5.0, + "ghost|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "ghost|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "fairy|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "fairy|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "ghost|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "ghost|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "fairy|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "fairy|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "ghost|supremeoverlord|airballoon|jolly|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "ghost|supremeoverlord|airballoon|jolly|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "fairy|supremeoverlord|airballoon|jolly|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "fairy|supremeoverlord|airballoon|jolly|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "ghost|supremeoverlord|leftovers|jolly|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "ghost|supremeoverlord|leftovers|jolly|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "fairy|supremeoverlord|leftovers|jolly|0,252,4,0,0,252|lowkick|swordsdance|ironhead|suckerpunch": 1.25, + "fairy|supremeoverlord|leftovers|jolly|0,252,4,0,0,252|lowkick|swordsdance|kowtowcleave|suckerpunch": 1.25, + "ghost|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|ironhead|swordsdance|kowtowcleave|suckerpunch": 5.0, + "fairy|supremeoverlord|airballoon|adamant|0,252,4,0,0,252|ironhead|swordsdance|kowtowcleave|suckerpunch": 5.0, + "ghost|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|ironhead|swordsdance|kowtowcleave|suckerpunch": 5.0, + "fairy|supremeoverlord|leftovers|adamant|0,252,4,0,0,252|ironhead|swordsdance|kowtowcleave|suckerpunch": 5.0, + "ghost|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 20.0, + "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|kowtowcleave|swordsdance|ironhead|suckerpunch": 20.0 + }, + "zamazenta": { + "steel|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|roar": 6.666666666666667, + "steel|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|stoneedge": 6.666666666666667, + "fire|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|roar": 6.666666666666667, + "fire|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|stoneedge": 6.666666666666667, + "dark|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|roar": 6.666666666666667, + "dark|dauntlessshield|leftovers|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|stoneedge": 6.666666666666667, + "steel|dauntlessshield|chestoberry|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|rest": 5.0, + "fire|dauntlessshield|chestoberry|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|rest": 5.0, + "dark|dauntlessshield|chestoberry|jolly|252,0,88,0,0,168|irondefense|bodypress|crunch|rest": 5.0, + "steel|dauntlessshield|heavydutyboots|jolly|0,252,4,0,0,252|closecombat|stoneedge|crunch|heavyslam": 15.0, + "dark|dauntlessshield|heavydutyboots|jolly|0,252,4,0,0,252|closecombat|stoneedge|crunch|heavyslam": 15.0, + "dark|dauntlessshield|heavydutyboots|jolly|0,252,4,0,0,252|closecombat|stoneedge|crunch|icefang": 15.0 + }, + "dragapult": { + "fairy|infiltrator|heavydutyboots|naive|0,60,0,196,0,252|dragondarts|hex|willowisp|uturn": 5.0, + "fairy|infiltrator|heavydutyboots|naive|0,60,0,196,0,252|dragondarts|hex|thunderwave|uturn": 5.0, + "ghost|infiltrator|heavydutyboots|naive|0,60,0,196,0,252|dragondarts|hex|willowisp|uturn": 5.0, + "ghost|infiltrator|heavydutyboots|naive|0,60,0,196,0,252|dragondarts|hex|thunderwave|uturn": 5.0, + "fairy|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hex|willowisp|uturn": 5.0, + "fairy|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hex|thunderwave|uturn": 5.0, + "ghost|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hex|willowisp|uturn": 5.0, + "ghost|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hex|thunderwave|uturn": 5.0, + "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|flamethrower|uturn": 7.5, + "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|flamethrower|uturn": 7.5, + "dragon|infiltrator|choicespecs|modest|0,0,0,252,4,252|dracometeor|shadowball|flamethrower|uturn": 7.5, + "ghost|infiltrator|choicespecs|modest|0,0,0,252,4,252|dracometeor|shadowball|flamethrower|uturn": 7.5, + "ghost|clearbody|choiceband|jolly|0,252,0,0,4,252|dragondarts|terablast|uturn|phantomforce": 15.0, + "ghost|clearbody|choiceband|jolly|0,252,0,0,4,252|dragondarts|terablast|uturn|suckerpunch": 15.0 + }, + "gholdengo": { + "fairy|goodasgold|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|recover": 1.75, + "fairy|goodasgold|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|psyshock": 1.75, + "steel|goodasgold|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|recover": 1.75, + "steel|goodasgold|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|psyshock": 1.75, + "fairy|goodasgold|airballoon|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|recover": 1.75, + "fairy|goodasgold|airballoon|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|psyshock": 1.75, + "steel|goodasgold|airballoon|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|recover": 1.75, + "steel|goodasgold|airballoon|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|psyshock": 1.75, + "fighting|goodasgold|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|focusblast": 7.0, + "fighting|goodasgold|airballoon|timid|0,0,0,252,4,252|nastyplot|shadowball|makeitrain|focusblast": 7.0, + "fairy|goodasgold|heavydutyboots|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 2.0, + "fairy|goodasgold|heavydutyboots|bold|252,0,196,0,0,60|nastyplot|shadowball|dazzlinggleam|recover": 2.0, + "fairy|goodasgold|airballoon|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 2.0, + "fairy|goodasgold|airballoon|bold|252,0,196,0,0,60|nastyplot|shadowball|dazzlinggleam|recover": 2.0, + "fairy|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 2.0, + "fairy|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|nastyplot|shadowball|dazzlinggleam|recover": 2.0, + "water|goodasgold|heavydutyboots|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 4.0, + "water|goodasgold|airballoon|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 4.0, + "water|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|nastyplot|shadowball|makeitrain|recover": 4.0, + "fairy|goodasgold|leftovers|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "fairy|goodasgold|leftovers|bold|252,0,196,0,0,60|hex|thunderwave|dazzlinggleam|recover": 2.0, + "fairy|goodasgold|airballoon|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "fairy|goodasgold|airballoon|bold|252,0,196,0,0,60|hex|thunderwave|dazzlinggleam|recover": 2.0, + "fairy|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "fairy|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|hex|thunderwave|dazzlinggleam|recover": 2.0, + "water|goodasgold|leftovers|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "water|goodasgold|leftovers|bold|252,0,196,0,0,60|hex|thunderwave|focusblast|recover": 2.0, + "water|goodasgold|airballoon|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "water|goodasgold|airballoon|bold|252,0,196,0,0,60|hex|thunderwave|focusblast|recover": 2.0, + "water|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|hex|thunderwave|makeitrain|recover": 2.0, + "water|goodasgold|rockyhelmet|bold|252,0,196,0,0,60|hex|thunderwave|focusblast|recover": 2.0, + "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|makeitrain|focusblast": 12.0, + "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|makeitrain|nastyplot": 6.0, + "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|makeitrain|recover": 6.0 + }, + "greattusk": { + "ground|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "ground|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "steel|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "steel|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "fire|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "fire|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "ground|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "ground|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "steel|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "steel|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "fire|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "fire|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "steel|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "steel|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "fire|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|knockoff": 2.2222222222222223, + "fire|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|headlongrush|icespinner|rapidspin|closecombat": 2.2222222222222223, + "steel|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "steel|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "water|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "water|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "steel|protosynthesis|rockyhelmet|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "steel|protosynthesis|rockyhelmet|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "water|protosynthesis|rockyhelmet|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "water|protosynthesis|rockyhelmet|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "steel|protosynthesis|leftovers|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "steel|protosynthesis|leftovers|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "water|protosynthesis|leftovers|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|knockoff": 2.5, + "water|protosynthesis|leftovers|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|stealthrock": 2.5, + "steel|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|bulkup": 5.0, + "steel|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|closecombat|bulkup": 5.0, + "steel|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|knockoff|bulkup": 5.0, + "water|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|rapidspin|bulkup": 5.0, + "water|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|closecombat|bulkup": 5.0, + "water|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|headlongrush|icespinner|knockoff|bulkup": 5.0 + }, + "landorustherian": { + "water|intimidate|rockyhelmet|jolly|252,4,0,0,0,252|earthquake|uturn|stealthrock|taunt": 10.0, + "dragon|intimidate|rockyhelmet|jolly|252,4,0,0,0,252|earthquake|uturn|stealthrock|taunt": 10.0, + "water|intimidate|rockyhelmet|timid|252,0,0,4,0,252|earthpower|uturn|stealthrock|taunt": 10.0, + "dragon|intimidate|rockyhelmet|timid|252,0,0,4,0,252|earthpower|uturn|stealthrock|taunt": 10.0, + "water|intimidate|softsand|jolly|8,240,0,0,8,252|earthquake|uturn|stealthrock|stoneedge": 7.5, + "water|intimidate|softsand|jolly|8,240,0,0,8,252|earthquake|taunt|stealthrock|stoneedge": 7.5, + "ground|intimidate|softsand|jolly|8,240,0,0,8,252|earthquake|uturn|stealthrock|stoneedge": 7.5, + "ground|intimidate|softsand|jolly|8,240,0,0,8,252|earthquake|taunt|stealthrock|stoneedge": 7.5, + "flying|intimidate|choicescarf|jolly|8,240,0,0,8,252|earthquake|uturn|terablast|stoneedge": 15.0, + "ice|intimidate|choicescarf|jolly|8,240,0,0,8,252|earthquake|uturn|terablast|stoneedge": 15.0 + }, + "darkrai": { + "ghost|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|focusblast|icebeam|nastyplot": 1.6666666666666667, + "ghost|baddreams|leftovers|timid|0,0,0,252,4,252|darkpulse|focusblast|icebeam|nastyplot": 1.6666666666666667, + "ghost|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|focusblast|icebeam|nastyplot": 1.6666666666666667, + "poison|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "poison|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "ghost|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "ghost|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "poison|baddreams|leftovers|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "poison|baddreams|leftovers|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "ghost|baddreams|leftovers|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "ghost|baddreams|leftovers|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "poison|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "poison|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "ghost|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|nastyplot": 1.6666666666666667, + "ghost|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|nastyplot": 1.6666666666666667, + "poison|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|trick": 3.75, + "poison|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|trick": 3.75, + "dark|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|trick": 3.75, + "dark|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|focusblast|trick": 3.75, + "poison|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|willowisp": 12.5, + "dark|baddreams|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|willowisp": 12.5, + "poison|baddreams|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333, + "dark|baddreams|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333, + "poison|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333, + "dark|baddreams|expertbelt|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333, + "poison|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333, + "dark|baddreams|choicescarf|timid|0,0,0,252,4,252|darkpulse|sludgebomb|icebeam|focusblast": 5.833333333333333 + }, + "dragonite": { + "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|dragondance|extremespeed|icespinner": 20.0, + "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|dragondance|extremespeed|roost": 20.0, + "ground|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|dragondance|roost|icespinner": 20.0, + "ground|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|dragondance|extremespeed|icespinner": 20.0, + "normal|multiscale|choiceband|adamant|0,252,0,0,4,252|earthquake|extremespeed|outrage|icespinner": 10.0, + "normal|multiscale|choiceband|adamant|0,252,0,0,4,252|firepunch|extremespeed|outrage|icespinner": 10.0 + }, + "gliscor": { + "ghost|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|toxic|protect|spikes": 5.0, + "water|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|toxic|protect|spikes": 5.0, + "ghost|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|knockoff|protect|spikes": 2.5, + "ghost|poisonheal|toxicorb|impish|244,0,248,0,16,0|toxic|knockoff|protect|spikes": 2.5, + "water|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|knockoff|protect|spikes": 2.5, + "water|poisonheal|toxicorb|impish|244,0,248,0,16,0|toxic|knockoff|protect|spikes": 2.5, + "ghost|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|toxic|protect|spikes": 5.0, + "water|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|toxic|protect|spikes": 5.0, + "ghost|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|knockoff|protect|spikes": 2.5, + "ghost|poisonheal|toxicorb|careful|244,0,36,0,228,0|toxic|knockoff|protect|spikes": 2.5, + "water|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|knockoff|protect|spikes": 2.5, + "water|poisonheal|toxicorb|careful|244,0,36,0,228,0|toxic|knockoff|protect|spikes": 2.5, + "normal|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|swordsdance|facade|protect": 5.0, + "normal|poisonheal|toxicorb|impish|244,0,248,0,16,0|knockoff|swordsdance|facade|protect": 5.0, + "water|poisonheal|toxicorb|impish|244,0,248,0,16,0|earthquake|swordsdance|knockoff|protect": 10.0, + "normal|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|swordsdance|facade|protect": 5.0, + "normal|poisonheal|toxicorb|careful|244,0,36,0,228,0|knockoff|swordsdance|facade|protect": 5.0, + "water|poisonheal|toxicorb|careful|244,0,36,0,228,0|earthquake|swordsdance|knockoff|protect": 10.0, + "normal|poisonheal|toxicorb|jolly|244,12,0,0,0,252|earthquake|swordsdance|facade|protect": 5.0, + "normal|poisonheal|toxicorb|jolly|244,12,0,0,0,252|knockoff|swordsdance|facade|protect": 5.0, + "water|poisonheal|toxicorb|jolly|244,12,0,0,0,252|earthquake|swordsdance|knockoff|protect": 10.0 + }, + "ironmoth": { + "fairy|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|dazzlinggleam|substitute": 25.0, + "ghost|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|psychic|substitute": 12.5, + "ghost|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|psychic|dazzlinggleam": 12.5, + "ground|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|terablast|substitute": 12.5, + "ground|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|terablast|dazzlinggleam": 12.5, + "grass|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|energyball|substitute": 12.5, + "grass|quarkdrive|boosterenergy|timid|0,0,124,132,0,252|fierydance|sludgewave|energyball|dazzlinggleam": 12.5 + }, + "ironvaliant": { + "ghost|quarkdrive|boosterenergy|timid|0,0,4,252,0,252|moonblast|calmmind|shadowball|encore": 7.5, + "ghost|quarkdrive|boosterenergy|timid|0,0,4,252,0,252|moonblast|calmmind|shadowball|thunderbolt": 7.5, + "steel|quarkdrive|boosterenergy|timid|0,0,4,252,0,252|moonblast|calmmind|psyshock|encore": 15.0, + "electric|quarkdrive|boosterenergy|timid|0,0,4,252,0,252|moonblast|calmmind|shadowball|thunderbolt": 7.5, + "electric|quarkdrive|boosterenergy|timid|0,0,4,252,0,252|moonblast|calmmind|psyshock|thunderbolt": 7.5, + "steel|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|swordsdance|closecombat|spiritbreak|knockoff": 6.25, + "steel|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|swordsdance|closecombat|encore|knockoff": 6.25, + "dark|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|swordsdance|closecombat|spiritbreak|knockoff": 6.25, + "dark|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|swordsdance|closecombat|encore|knockoff": 6.25, + "steel|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|closecombat|encore": 3.75, + "steel|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|closecombat|destinybond": 3.75, + "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|closecombat|encore": 3.75, + "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|closecombat|destinybond": 3.75, + "steel|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|destinybond|encore": 3.75, + "steel|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|closecombat|destinybond|encore": 3.75, + "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|knockoff|destinybond|encore": 3.75, + "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|moonblast|closecombat|destinybond|encore": 3.75 + }, + "kyurem": { + "ground|pressure|loadeddice|jolly|0,252,0,0,4,252|iciclespear|scaleshot|dragondance|terablast": 12.5, + "fire|pressure|loadeddice|jolly|0,252,0,0,4,252|iciclespear|scaleshot|dragondance|terablast": 12.5, + "ground|pressure|nevermeltice|hasty|0,168,0,88,0,252|iciclespear|freezedry|earthpower|dragondance": 5.0, + "ice|pressure|nevermeltice|hasty|0,168,0,88,0,252|iciclespear|freezedry|earthpower|dragondance": 5.0, + "ground|pressure|heavydutyboots|hasty|0,168,0,88,0,252|iciclespear|freezedry|earthpower|dragondance": 5.0, + "ice|pressure|heavydutyboots|hasty|0,168,0,88,0,252|iciclespear|freezedry|earthpower|dragondance": 5.0, + "ground|pressure|leftovers|timid|52,0,0,204,0,252|substitute|freezedry|earthpower|protect": 20.0, + "ground|pressure|heavydutyboots|timid|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 10.0, + "ice|pressure|heavydutyboots|timid|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 10.0, + "ground|pressure|choicespecs|timid|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5, + "ice|pressure|choicespecs|timid|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5, + "fairy|pressure|choicespecs|timid|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5, + "ground|pressure|choicespecs|modest|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5, + "ice|pressure|choicespecs|modest|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5, + "fairy|pressure|choicespecs|modest|0,0,4,252,0,252|dracometeor|freezedry|earthpower|icebeam": 2.5 + }, + "ogerponwellspring": { + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|powerwhip|swordsdance|playrough": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|powerwhip|swordsdance|encore": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|powerwhip|swordsdance|knockoff": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|swordsdance|playrough": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|swordsdance|encore": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|swordsdance|knockoff": 6.666666666666667, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|uturn|knockoff": 10.0, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|uturn|encore": 10.0, + "water|waterabsorb|wellspringmask|jolly|0,252,0,0,4,252|ivycudgel|hornleech|uturn|spikes": 10.0, + "water|waterabsorb|wellspringmask|adamant|0,252,0,0,4,252|ivycudgel|powerwhip|knockoff|trailblaze": 10.0, + "water|waterabsorb|wellspringmask|adamant|0,252,0,0,4,252|ivycudgel|powerwhip|playrough|trailblaze": 10.0, + "water|waterabsorb|wellspringmask|adamant|0,252,0,0,4,252|ivycudgel|powerwhip|knockoff|playrough": 10.0 + }, + "ragingbolt": { + "fairy|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "fairy|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "flying|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "flying|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "bug|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "bug|protosynthesis|leftovers|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "fairy|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "fairy|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "flying|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "flying|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "bug|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dragonpulse|thunderbolt": 4.166666666666667, + "bug|protosynthesis|boosterenergy|modest|0,0,0,252,4,252|thunderclap|calmmind|dracometeor|thunderbolt": 4.166666666666667, + "fairy|protosynthesis|heavydutyboots|modest|0,0,0,252,4,252|thunderclap|voltswitch|dragonpulse|taunt": 50.0 + }, + "samurotthisui": { + "poison|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|flipturn": 5.0, + "poison|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|encore": 5.0, + "poison|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|flipturn": 5.0, + "poison|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|encore": 5.0, + "fire|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|flipturn": 5.0, + "fire|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|encore": 5.0, + "fire|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|flipturn": 5.0, + "fire|sharpness|heavydutyboots|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|encore": 5.0, + "water|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|flipturn": 3.75, + "water|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|sacredsword": 3.75, + "water|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|flipturn": 3.75, + "water|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|sacredsword": 3.75, + "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|flipturn": 3.75, + "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|razorshell|knockoff|sacredsword": 3.75, + "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|flipturn": 3.75, + "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|ceaselessedge|aquacutter|knockoff|sacredsword": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|razorshell|knockoff|aquajet": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|razorshell|knockoff|suckerpunch": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|razorshell|flipturn|aquajet": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|razorshell|flipturn|suckerpunch": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|aquacutter|knockoff|aquajet": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|aquacutter|knockoff|suckerpunch": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|aquacutter|flipturn|aquajet": 3.75, + "poison|sharpness|assaultvest|adamant|172,252,0,0,0,84|ceaselessedge|aquacutter|flipturn|suckerpunch": 3.75 + }, + "slowkinggalar": { + "water|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "water|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|toxic": 4.166666666666667, + "water|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "water|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|toxic": 4.166666666666667, + "grass|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "grass|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|toxic": 4.166666666666667, + "grass|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "grass|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|toxic": 4.166666666666667, + "fairy|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "fairy|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|futuresight|chillyreception|sludgebomb|toxic": 4.166666666666667, + "fairy|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|thunderwave": 4.166666666666667, + "fairy|regenerator|heavydutyboots|sassy|252,0,16,0,240,0|psychicnoise|chillyreception|sludgebomb|toxic": 4.166666666666667, + "water|regenerator|assaultvest|modest|252,0,16,144,96,0|psyshock|flamethrower|sludgebomb|icebeam": 12.5, + "water|regenerator|assaultvest|modest|252,0,16,144,96,0|psychicnoise|flamethrower|sludgebomb|icebeam": 12.5, + "grass|regenerator|assaultvest|modest|252,0,16,144,96,0|psyshock|flamethrower|sludgebomb|icebeam": 12.5, + "grass|regenerator|assaultvest|modest|252,0,16,144,96,0|psychicnoise|flamethrower|sludgebomb|icebeam": 12.5 + }, + "tinglu": { + "poison|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|spikes|earthquake|whirlwind|ruination": 12.5, + "poison|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|stealthrock|earthquake|whirlwind|ruination": 12.5, + "ghost|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|spikes|earthquake|whirlwind|ruination": 12.5, + "ghost|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|stealthrock|earthquake|whirlwind|ruination": 12.5, + "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|spikes|earthquake|whirlwind|ruination": 12.5, + "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|stealthrock|earthquake|whirlwind|ruination": 12.5, + "ghost|vesselofruin|leftovers|careful|252,0,4,0,252,0|spikes|earthquake|whirlwind|ruination": 12.5, + "ghost|vesselofruin|leftovers|careful|252,0,4,0,252,0|stealthrock|earthquake|whirlwind|ruination": 12.5 + }, + "alomomola": { + "ghost|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|flipturn|scald|wish|protect": 8.25, + "flying|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|flipturn|scald|wish|protect": 8.25, + "ghost|regenerator|rockyhelmet|relaxed|252,0,252,0,4,0|flipturn|scald|wish|protect": 8.25, + "flying|regenerator|rockyhelmet|relaxed|252,0,252,0,4,0|flipturn|scald|wish|protect": 8.25, + "ghost|regenerator|heavydutyboots|relaxed|4,0,252,0,252,0|flipturn|scald|wish|protect": 8.25, + "flying|regenerator|heavydutyboots|relaxed|4,0,252,0,252,0|flipturn|scald|wish|protect": 8.25, + "ghost|regenerator|rockyhelmet|relaxed|4,0,252,0,252,0|flipturn|scald|wish|protect": 8.25, + "flying|regenerator|rockyhelmet|relaxed|4,0,252,0,252,0|flipturn|scald|wish|protect": 8.25, + "ghost|regenerator|assaultvest|sassy|20,0,236,0,252,0|flipturn|scald|playrough|mirrorcoat": 17.0, + "flying|regenerator|assaultvest|sassy|20,0,236,0,252,0|flipturn|scald|playrough|mirrorcoat": 17.0 + }, + "cinderace": { + "flying|blaze|heavydutyboots|jolly|224,32,0,0,0,252|pyroball|uturn|courtchange|willowisp": 50.0, + "fire|libero|heavydutyboots|jolly|0,252,4,0,0,252|pyroball|uturn|courtchange|suckerpunch": 25.0, + "fire|libero|heavydutyboots|jolly|0,252,4,0,0,252|pyroball|uturn|courtchange|gunkshot": 25.0 + }, + "deoxysspeed": { + "fighting|pressure|lifeorb|naive|0,4,0,252,0,252|psychoboost|superpower|knockoff|icebeam": 5.0, + "fighting|pressure|lifeorb|naive|0,4,0,252,0,252|psychoboost|superpower|knockoff|taunt": 5.0, + "fighting|pressure|expertbelt|naive|0,4,0,252,0,252|psychoboost|superpower|knockoff|icebeam": 5.0, + "fighting|pressure|expertbelt|naive|0,4,0,252,0,252|psychoboost|superpower|knockoff|taunt": 5.0, + "fighting|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "fighting|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "fighting|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "psychic|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "psychic|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "psychic|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "ghost|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "ghost|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "ghost|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "fighting|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "fighting|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "fighting|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "psychic|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "psychic|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "psychic|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "ghost|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|icebeam": 1.1111111111111112, + "ghost|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|nastyplot": 1.1111111111111112, + "ghost|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|focusblast|shadowball|taunt": 1.1111111111111112, + "electric|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|thunderbolt|icebeam|nastyplot": 5.0, + "psychic|pressure|lifeorb|timid|0,0,4,252,0,252|psychoboost|thunderbolt|icebeam|nastyplot": 5.0, + "electric|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|thunderbolt|icebeam|nastyplot": 5.0, + "psychic|pressure|expertbelt|timid|0,0,4,252,0,252|psychoboost|thunderbolt|icebeam|nastyplot": 5.0, + "fighting|pressure|heavydutyboots|naive|0,200,0,252,0,56|psychoboost|knockoff|icebeam|superpower": 40.0 + }, + "garganacl": { + "water|purifyingsalt|leftovers|careful|252,0,52,0,204,0|saltcure|recover|curse|earthquake": 25.0, + "fairy|purifyingsalt|leftovers|careful|252,0,52,0,204,0|saltcure|recover|curse|earthquake": 25.0, + "water|purifyingsalt|leftovers|careful|252,0,52,0,204,0|saltcure|recover|stealthrock|protect": 25.0, + "fairy|purifyingsalt|leftovers|careful|252,0,52,0,204,0|saltcure|recover|stealthrock|protect": 25.0 + }, + "ironcrown": { + "fighting|quarkdrive|assaultvest|timid|0,0,0,252,4,252|tachyoncutter|futuresight|focusblast|voltswitch": 12.5, + "fighting|quarkdrive|assaultvest|timid|0,0,0,252,4,252|tachyoncutter|psychicnoise|focusblast|voltswitch": 12.5, + "fairy|quarkdrive|assaultvest|timid|0,0,0,252,4,252|tachyoncutter|futuresight|focusblast|voltswitch": 12.5, + "fairy|quarkdrive|assaultvest|timid|0,0,0,252,4,252|tachyoncutter|psychicnoise|focusblast|voltswitch": 12.5, + "fighting|quarkdrive|choicespecs|timid|0,0,0,252,4,252|tachyoncutter|psyshock|focusblast|voltswitch": 12.5, + "fighting|quarkdrive|choicespecs|timid|0,0,0,252,4,252|tachyoncutter|psychicnoise|focusblast|voltswitch": 12.5, + "steel|quarkdrive|choicespecs|timid|0,0,0,252,4,252|tachyoncutter|psyshock|focusblast|voltswitch": 12.5, + "steel|quarkdrive|choicespecs|timid|0,0,0,252,4,252|tachyoncutter|psychicnoise|focusblast|voltswitch": 12.5 + }, + "moltres": { + "grass|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|willowisp|roar|roost": 10.0, + "grass|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|hurricane|roar|roost": 10.0, + "fairy|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|willowisp|roar|roost": 10.0, + "fairy|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|hurricane|roar|roost": 10.0, + "grass|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|willowisp|uturn|roost": 10.0, + "grass|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|hurricane|uturn|roost": 10.0, + "grass|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|roar|uturn|roost": 10.0, + "fairy|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|willowisp|uturn|roost": 10.0, + "fairy|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|hurricane|uturn|roost": 10.0, + "fairy|flamebody|heavydutyboots|bold|248,0,248,0,0,12|flamethrower|roar|uturn|roost": 10.0 + }, + "roaringmoon": { + "flying|protosynthesis|boosterenergy|jolly|0,252,4,0,0,252|dragondance|knockoff|acrobatics|earthquake": 12.5, + "flying|protosynthesis|boosterenergy|jolly|0,252,4,0,0,252|dragondance|knockoff|acrobatics|taunt": 12.5, + "flying|protosynthesis|boosterenergy|adamant|0,252,4,0,0,252|dragondance|knockoff|acrobatics|earthquake": 12.5, + "flying|protosynthesis|boosterenergy|adamant|0,252,4,0,0,252|dragondance|knockoff|acrobatics|taunt": 12.5, + "ground|protosynthesis|boosterenergy|jolly|0,252,4,0,0,252|dragondance|knockoff|earthquake|acrobatics": 12.5, + "ground|protosynthesis|boosterenergy|jolly|0,252,4,0,0,252|dragondance|knockoff|earthquake|taunt": 12.5, + "ground|protosynthesis|boosterenergy|adamant|0,252,4,0,0,252|dragondance|knockoff|earthquake|acrobatics": 12.5, + "ground|protosynthesis|boosterenergy|adamant|0,252,4,0,0,252|dragondance|knockoff|earthquake|taunt": 12.5 + }, + "enamorus": { + "stellar|contrary|choicescarf|timid|0,0,0,252,4,252|moonblast|earthpower|terablast|healingwish": 25.0, + "fairy|contrary|choicescarf|timid|0,0,0,252,4,252|moonblast|earthpower|mysticalfire|healingwish": 12.5, + "ground|contrary|choicescarf|timid|0,0,0,252,4,252|moonblast|earthpower|mysticalfire|healingwish": 12.5, + "fairy|cutecharm|heavydutyboots|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|taunt": 8.333333333333334, + "ground|cutecharm|heavydutyboots|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|taunt": 8.333333333333334, + "steel|cutecharm|heavydutyboots|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|taunt": 8.333333333333334, + "fairy|cutecharm|leftovers|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|substitute": 8.333333333333334, + "ground|cutecharm|leftovers|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|substitute": 8.333333333333334, + "steel|cutecharm|leftovers|timid|0,0,0,252,4,252|moonblast|earthpower|calmmind|substitute": 8.333333333333334 + }, + "hatterene": { + "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|psyshock|mysticalfire": 15.0, + "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|storedpower|mysticalfire": 15.0, + "fire|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|psyshock|mysticalfire": 15.0, + "fire|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|storedpower|mysticalfire": 15.0, + "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|psyshock|nuzzle": 20.0, + "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|storedpower|nuzzle": 20.0 + }, + "ogerpon": { + "grass|defiant|heavydutyboots|jolly|0,252,4,0,0,252|ivycudgel|knockoff|uturn|encore": 100.0 + }, + "primarina": { + "grass|torrent|assaultvest|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|flipturn": 20.0, + "steel|torrent|assaultvest|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|flipturn": 20.0, + "ghost|torrent|leftovers|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|calmmind": 1.875, + "ghost|torrent|leftovers|modest|80,0,0,252,0,176|surf|moonblast|substitute|calmmind": 1.875, + "ghost|torrent|leftovers|modest|80,0,0,252,0,176|hydropump|moonblast|psychicnoise|calmmind": 1.875, + "ghost|torrent|leftovers|modest|80,0,0,252,0,176|hydropump|moonblast|substitute|calmmind": 1.875, + "steel|torrent|leftovers|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|calmmind": 1.875, + "steel|torrent|leftovers|modest|80,0,0,252,0,176|surf|moonblast|substitute|calmmind": 1.875, + "steel|torrent|leftovers|modest|80,0,0,252,0,176|hydropump|moonblast|psychicnoise|calmmind": 1.875, + "steel|torrent|leftovers|modest|80,0,0,252,0,176|hydropump|moonblast|substitute|calmmind": 1.875, + "ghost|torrent|heavydutyboots|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|calmmind": 1.875, + "ghost|torrent|heavydutyboots|modest|80,0,0,252,0,176|surf|moonblast|substitute|calmmind": 1.875, + "ghost|torrent|heavydutyboots|modest|80,0,0,252,0,176|hydropump|moonblast|psychicnoise|calmmind": 1.875, + "ghost|torrent|heavydutyboots|modest|80,0,0,252,0,176|hydropump|moonblast|substitute|calmmind": 1.875, + "steel|torrent|heavydutyboots|modest|80,0,0,252,0,176|surf|moonblast|psychicnoise|calmmind": 1.875, + "steel|torrent|heavydutyboots|modest|80,0,0,252,0,176|surf|moonblast|substitute|calmmind": 1.875, + "steel|torrent|heavydutyboots|modest|80,0,0,252,0,176|hydropump|moonblast|psychicnoise|calmmind": 1.875, + "steel|torrent|heavydutyboots|modest|80,0,0,252,0,176|hydropump|moonblast|substitute|calmmind": 1.875, + "steel|liquidvoice|leftovers|bold|252,0,252,0,4,0|psychicnoise|drainingkiss|substitute|calmmind": 20.0, + "steel|torrent|leftovers|bold|252,0,252,0,4,0|surf|drainingkiss|substitute|calmmind": 10.0 + }, + "sinistcha": { + "fairy|heatproof|heavydutyboots|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 50.0, + "poison|heatproof|heavydutyboots|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 50.0 + }, + "tinkaton": { + "ghost|pickpocket|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|thunderwave": 12.5, + "ghost|pickpocket|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|knockoff": 12.5, + "water|pickpocket|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|thunderwave": 12.5, + "water|pickpocket|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|knockoff": 12.5, + "ghost|moldbreaker|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|thunderwave": 12.5, + "ghost|moldbreaker|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|knockoff": 12.5, + "water|moldbreaker|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|thunderwave": 12.5, + "water|moldbreaker|airballoon|jolly|252,0,0,0,24,232|stealthrock|gigatonhammer|encore|knockoff": 12.5 + }, + "weavile": { + "ice|pickpocket|heavydutyboots|jolly|0,252,0,0,4,252|tripleaxel|knockoff|iceshard|swordsdance": 50.0, + "ice|pickpocket|heavydutyboots|jolly|0,252,0,0,4,252|tripleaxel|knockoff|iceshard|lowkick": 50.0 + }, + "zapdos": { + "steel|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|voltswitch|thunderwave|roost": 16.666666666666668, + "fairy|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|voltswitch|thunderwave|roost": 16.666666666666668, + "water|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|voltswitch|thunderwave|roost": 16.666666666666668, + "steel|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|uturn|discharge|roost": 16.666666666666668, + "fairy|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|uturn|discharge|roost": 16.666666666666668, + "water|static|heavydutyboots|bold|248,0,244,0,0,16|hurricane|uturn|discharge|roost": 16.666666666666668 + }, + "clefable": { + "steel|magicguard|leftovers|bold|252,0,252,0,4,0|stealthrock|moonlight|moonblast|knockoff": 12.5, + "water|magicguard|leftovers|bold|252,0,252,0,4,0|stealthrock|moonlight|moonblast|knockoff": 12.5, + "steel|magicguard|stickybarb|bold|252,0,252,0,4,0|stealthrock|moonlight|moonblast|knockoff": 12.5, + "water|magicguard|stickybarb|bold|252,0,252,0,4,0|stealthrock|moonlight|moonblast|knockoff": 12.5, + "fire|magicguard|leftovers|bold|252,0,252,0,4,0|calmmind|moonlight|moonblast|flamethrower": 25.0, + "steel|magicguard|stickybarb|bold|252,0,252,0,4,0|calmmind|moonlight|moonblast|knockoff": 12.5, + "water|magicguard|stickybarb|bold|252,0,252,0,4,0|calmmind|moonlight|moonblast|knockoff": 12.5 + }, + "clodsire": { + "dark|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|toxic|spikes": 25.0, + "dark|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|toxic|stealthrock": 25.0, + "steel|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|toxic|spikes": 25.0, + "steel|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|toxic|stealthrock": 25.0 + }, + "corviknight": { + "water|pressure|leftovers|impish|248,0,252,0,8,0|bravebird|roost|uturn|defog": 12.5, + "dragon|pressure|leftovers|impish|248,0,252,0,8,0|bravebird|roost|uturn|defog": 12.5, + "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|roost|uturn|defog": 12.5, + "dragon|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|roost|uturn|defog": 12.5, + "water|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|roost|uturn|defog": 3.75, + "dragon|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|roost|uturn|defog": 3.75, + "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|roost|uturn|defog": 3.75, + "dragon|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|roost|uturn|defog": 3.75, + "water|pressure|leftovers|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "dragon|pressure|leftovers|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "fighting|pressure|leftovers|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "water|pressure|rockyhelmet|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "dragon|pressure|rockyhelmet|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "fighting|pressure|rockyhelmet|bold|248,0,252,0,8,0|bodypress|roost|irondefense|defog": 3.3333333333333335, + "water|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5, + "dragon|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5, + "fighting|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5, + "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5, + "dragon|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5, + "fighting|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|roost|uturn|irondefense": 2.5 + }, + "dondozo": { + "dark|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|curse": 6.25, + "dark|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|avalanche": 6.25, + "grass|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|curse": 6.25, + "grass|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|avalanche": 6.25, + "dark|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|curse": 6.25, + "dark|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|avalanche": 6.25, + "grass|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|curse": 6.25, + "grass|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|waterfall|avalanche": 6.25, + "fighting|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "dark|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "grass|unaware|heavydutyboots|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "fighting|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "dark|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "grass|unaware|leftovers|impish|252,0,252,0,4,0|rest|sleeptalk|bodypress|avalanche": 4.166666666666667, + "fighting|unaware|heavydutyboots|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667, + "dark|unaware|heavydutyboots|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667, + "grass|unaware|heavydutyboots|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667, + "fighting|unaware|leftovers|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667, + "dark|unaware|leftovers|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667, + "grass|unaware|leftovers|bold|252,0,252,0,4,0|rest|sleeptalk|bodypress|curse": 4.166666666666667 + }, + "hydrapple": { + "steel|regenerator|heavydutyboots|modest|244,0,0,252,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 33.333333333333336, + "fairy|regenerator|heavydutyboots|modest|244,0,0,252,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 33.333333333333336, + "poison|regenerator|heavydutyboots|modest|244,0,0,252,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 33.333333333333336 + }, + "ogerponcornerstone": { + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|powerwhip|lowkick": 25.0, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|hornleech|lowkick": 25.0, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|knockoff|hornleech|spikes": 50.0 + }, + "rillaboom": { + "grass|grassysurge|choiceband|adamant|0,252,4,0,0,252|grassyglide|woodhammer|uturn|knockoff": 50.0, + "grass|grassysurge|assaultvest|adamant|204,252,0,0,0,52|grassyglide|lowkick|uturn|knockoff": 12.5, + "fighting|grassysurge|assaultvest|adamant|204,252,0,0,0,52|grassyglide|lowkick|uturn|knockoff": 12.5, + "grass|grassysurge|assaultvest|adamant|204,252,0,0,0,52|grassyglide|woodhammer|uturn|knockoff": 12.5, + "fighting|grassysurge|assaultvest|adamant|204,252,0,0,0,52|grassyglide|woodhammer|uturn|knockoff": 12.5 + }, + "scizor": { + "steel|technician|lifeorb|adamant|120,252,0,0,0,136|swordsdance|bulletpunch|closecombat|knockoff": 25.0, + "fire|technician|lifeorb|adamant|120,252,0,0,0,136|swordsdance|bulletpunch|closecombat|knockoff": 25.0, + "steel|technician|choiceband|adamant|120,252,0,0,0,136|uturn|bulletpunch|closecombat|knockoff": 50.0 + }, + "skarmory": { + "dragon|sturdy|rockyhelmet|bold|252,0,160,0,0,96|bodypress|roost|spikes|irondefense": 12.5, + "dragon|sturdy|rockyhelmet|bold|252,0,160,0,0,96|bodypress|roost|stealthrock|irondefense": 12.5, + "fighting|sturdy|rockyhelmet|bold|252,0,160,0,0,96|bodypress|roost|spikes|irondefense": 12.5, + "fighting|sturdy|rockyhelmet|bold|252,0,160,0,0,96|bodypress|roost|stealthrock|irondefense": 12.5, + "dragon|sturdy|rockyhelmet|impish|252,0,252,0,4,0|whirlwind|roost|spikes|bravebird": 25.0, + "dragon|sturdy|rockyhelmet|impish|252,0,252,0,4,0|whirlwind|roost|stealthrock|bravebird": 25.0 + }, + "ursaluna": { + "normal|guts|flameorb|adamant|0,252,4,0,0,252|swordsdance|facade|headlongrush|firepunch": 25.0, + "normal|guts|flameorb|adamant|0,252,4,0,0,252|swordsdance|facade|headlongrush|icepunch": 25.0, + "ghost|guts|flameorb|adamant|0,252,4,0,0,252|swordsdance|facade|headlongrush|firepunch": 25.0, + "ghost|guts|flameorb|adamant|0,252,4,0,0,252|swordsdance|facade|headlongrush|icepunch": 25.0 + }, + "weezinggalar": { + "flying|neutralizinggas|heavydutyboots|bold|252,0,240,16,0,0|strangesteam|painsplit|willowisp|defog": 25.0, + "flying|neutralizinggas|heavydutyboots|bold|252,0,240,16,0,0|strangesteam|painsplit|toxic|defog": 25.0, + "grass|neutralizinggas|heavydutyboots|bold|252,0,240,16,0,0|strangesteam|painsplit|willowisp|defog": 25.0, + "grass|neutralizinggas|heavydutyboots|bold|252,0,240,16,0,0|strangesteam|painsplit|toxic|defog": 25.0 + }, + "greninjabond": { + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|watershuriken": 25.0, + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|hydropump|darkpulse|icebeam|watershuriken": 25.0, + "ghost|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|watershuriken": 25.0, + "ghost|battlebond|lifeorb|timid|0,0,0,252,4,252|hydropump|darkpulse|icebeam|watershuriken": 25.0 + }, + "heatran": { + "grass|flashfire|airballoon|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "grass|flashfire|airballoon|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "ghost|flashfire|airballoon|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "ghost|flashfire|airballoon|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "grass|flashfire|leftovers|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "grass|flashfire|leftovers|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "ghost|flashfire|leftovers|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "ghost|flashfire|leftovers|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "grass|flashfire|airballoon|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "grass|flashfire|airballoon|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "ghost|flashfire|airballoon|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "ghost|flashfire|airballoon|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "grass|flashfire|leftovers|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "grass|flashfire|leftovers|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "ghost|flashfire|leftovers|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 3.125, + "ghost|flashfire|leftovers|timid|0,0,0,252,4,252|magmastorm|earthpower|taunt|willowisp": 3.125, + "grass|flashfire|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|willowisp": 3.75, + "grass|flashfire|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|stealthrock|willowisp": 3.75, + "grass|flashfire|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|willowisp": 3.75, + "grass|flashfire|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|stealthrock|willowisp": 3.75, + "ghost|flamebody|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|willowisp": 3.75, + "ghost|flamebody|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|stealthrock|willowisp": 3.75, + "ghost|flamebody|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|willowisp": 3.75, + "ghost|flamebody|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|stealthrock|willowisp": 3.75, + "grass|flashfire|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|stealthrock": 5.0, + "grass|flashfire|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|stealthrock": 5.0, + "ghost|flamebody|airballoon|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|stealthrock": 5.0, + "ghost|flamebody|leftovers|calm|252,0,4,0,212,40|magmastorm|earthpower|taunt|stealthrock": 5.0 + }, + "hoopaunbound": { + "poison|magician|assaultvest|quiet|252,0,156,100,0,0|knockoff|psychicnoise|drainpunch|thunderbolt": 50.0, + "fairy|magician|assaultvest|quiet|252,0,156,100,0,0|knockoff|psychicnoise|drainpunch|thunderbolt": 50.0 + }, + "latios": { + "fighting|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|psyshock": 4.375, + "fighting|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|trick": 4.375, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|psyshock": 4.375, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|trick": 4.375, + "fighting|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|psyshock": 4.375, + "fighting|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|trick": 4.375, + "dragon|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|psyshock": 4.375, + "dragon|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|trick": 4.375, + "fighting|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|flipturn": 3.75, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|flipturn": 3.75, + "fighting|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|flipturn": 3.75, + "dragon|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|flipturn": 3.75, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|aurasphere|lusterpurge|recover": 12.5, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|aurasphere|psychicnoise|recover": 12.5, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|calmmind|lusterpurge|recover": 12.5, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|calmmind|psychicnoise|recover": 12.5 + }, + "lokix": { + "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|knockoff|uturn|leechlife": 100.0 + }, + "manaphy": { + "grass|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|surf|energyball|alluringvoice": 12.5, + "grass|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|surf|energyball|icebeam": 12.5, + "grass|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|scald|energyball|alluringvoice": 12.5, + "grass|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|scald|energyball|icebeam": 12.5, + "fairy|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|surf|alluringvoice|energyball": 12.5, + "fairy|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|surf|alluringvoice|icebeam": 12.5, + "fairy|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|scald|alluringvoice|energyball": 12.5, + "fairy|hydration|leftovers|timid|0,0,0,252,4,252|tailglow|scald|alluringvoice|icebeam": 12.5 + }, + "meowscarada": { + "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668, + "dark|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668, + "grass|protean|choicescarf|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668, + "dark|protean|choicescarf|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668, + "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668, + "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|tripleaxel|uturn": 16.666666666666668 + }, + "pecharunt": { + "ghost|poisonpuppeteer|heavydutyboots|timid|252,0,4,0,0,252|malignantchain|recover|hex|partingshot": 12.5, + "dark|poisonpuppeteer|heavydutyboots|timid|252,0,4,0,0,252|malignantchain|recover|hex|partingshot": 12.5, + "ghost|poisonpuppeteer|airballoon|timid|252,0,4,0,0,252|malignantchain|recover|hex|partingshot": 12.5, + "dark|poisonpuppeteer|airballoon|timid|252,0,4,0,0,252|malignantchain|recover|hex|partingshot": 12.5, + "ghost|poisonpuppeteer|heavydutyboots|bold|252,0,228,0,0,28|malignantchain|recover|hex|partingshot": 12.5, + "dark|poisonpuppeteer|heavydutyboots|bold|252,0,228,0,0,28|malignantchain|recover|hex|partingshot": 12.5, + "ghost|poisonpuppeteer|airballoon|bold|252,0,228,0,0,28|malignantchain|recover|hex|partingshot": 12.5, + "dark|poisonpuppeteer|airballoon|bold|252,0,228,0,0,28|malignantchain|recover|hex|partingshot": 12.5 + }, + "rotomwash": { + "steel|levitate|leftovers|bold|252,0,212,0,0,44|hydropump|voltswitch|willowisp|painsplit": 25.0, + "steel|levitate|leftovers|bold|252,0,212,0,0,44|hydropump|voltswitch|thunderwave|painsplit": 25.0, + "steel|levitate|leftovers|calm|252,0,0,0,212,44|hydropump|voltswitch|willowisp|painsplit": 25.0, + "steel|levitate|leftovers|calm|252,0,0,0,212,44|hydropump|voltswitch|thunderwave|painsplit": 25.0 + }, + "serperior": { + "fire|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|substitute": 25.0, + "fire|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|dragonpulse": 25.0, + "ground|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|substitute": 25.0, + "ground|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|dragonpulse": 25.0 + }, + "slitherwing": { + "steel|protosynthesis|heavydutyboots|impish|252,28,220,0,0,8|firstimpression|uturn|willowisp|morningsun": 50.0, + "dragon|protosynthesis|heavydutyboots|impish|252,28,220,0,0,8|firstimpression|uturn|willowisp|morningsun": 50.0 + }, + "skeledirge": { + "fairy|unaware|heavydutyboots|calm|248,0,8,0,252,0|torchsong|willowisp|hex|slackoff": 25.0, + "water|unaware|heavydutyboots|calm|248,0,8,0,252,0|torchsong|willowisp|hex|slackoff": 25.0, + "fairy|unaware|heavydutyboots|bold|248,0,252,0,8,0|torchsong|willowisp|hex|slackoff": 25.0, + "water|unaware|heavydutyboots|bold|248,0,252,0,8,0|torchsong|willowisp|hex|slackoff": 25.0 + }, + "tornadustherian": { + "steel|regenerator|assaultvest|timid|252,0,0,16,72,168|bleakwindstorm|heatwave|knockoff|uturn": 12.5, + "steel|regenerator|assaultvest|timid|252,0,0,16,72,168|hurricane|heatwave|knockoff|uturn": 12.5, + "fairy|regenerator|assaultvest|timid|252,0,0,16,72,168|bleakwindstorm|heatwave|knockoff|uturn": 12.5, + "fairy|regenerator|assaultvest|timid|252,0,0,16,72,168|hurricane|heatwave|knockoff|uturn": 12.5, + "steel|regenerator|heavydutyboots|timid|252,0,0,16,72,168|bleakwindstorm|heatwave|knockoff|uturn": 12.5, + "steel|regenerator|heavydutyboots|timid|252,0,0,16,72,168|hurricane|heatwave|knockoff|uturn": 12.5, + "fairy|regenerator|heavydutyboots|timid|252,0,0,16,72,168|bleakwindstorm|heatwave|knockoff|uturn": 12.5, + "fairy|regenerator|heavydutyboots|timid|252,0,0,16,72,168|hurricane|heatwave|knockoff|uturn": 12.5 + }, + "volcanion": { + "fairy|waterabsorb|choicespecs|modest|0,0,4,252,0,252|steameruption|flamethrower|terablast|earthpower": 37.5, + "fairy|waterabsorb|heavydutyboots|modest|0,0,4,252,0,252|steameruption|flamethrower|terablast|earthpower": 37.5, + "ground|waterabsorb|heavydutyboots|modest|0,0,4,252,0,252|steameruption|flamethrower|sludgebomb|earthpower": 25.0 + }, + "ironboulder": { + "fighting|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|mightycleave|closecombat|zenheadbutt|swordsdance": 30.0, + "fighting|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|mightycleave|closecombat|earthquake|swordsdance": 30.0, + "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|mightycleave|earthquake|zenheadbutt|swordsdance": 20.0, + "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|mightycleave|earthquake|closecombat|swordsdance": 20.0 + }, + "okidogi": { + "water|guarddog|assaultvest|adamant|240,252,0,0,0,16|drainpunch|gunkshot|knockoff|icepunch": 12.5, + "dark|guarddog|assaultvest|adamant|240,252,0,0,0,16|drainpunch|gunkshot|knockoff|icepunch": 12.5, + "water|toxicchain|assaultvest|adamant|240,252,0,0,0,16|drainpunch|gunkshot|knockoff|icepunch": 12.5, + "dark|toxicchain|assaultvest|adamant|240,252,0,0,0,16|drainpunch|gunkshot|knockoff|icepunch": 12.5, + "water|guarddog|leftovers|careful|252,0,0,0,160,96|drainpunch|bulkup|knockoff|icepunch": 25.0, + "ghost|guarddog|leftovers|careful|252,0,0,0,160,96|drainpunch|bulkup|knockoff|icepunch": 25.0 + }, + "toxapex": { + "steel|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|haze|recover": 8.333333333333334, + "steel|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|toxicspikes|recover": 8.333333333333334, + "steel|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|banefulbunker|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|haze|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|toxicspikes|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|bold|248,0,252,0,8,0|surf|toxic|banefulbunker|recover": 8.333333333333334, + "steel|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|haze|recover": 8.333333333333334, + "steel|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|toxicspikes|recover": 8.333333333333334, + "steel|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|banefulbunker|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|haze|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|toxicspikes|recover": 8.333333333333334, + "grass|regenerator|heavydutyboots|calm|248,0,8,0,252,0|surf|toxic|banefulbunker|recover": 8.333333333333334 + }, + "amoonguss": { + "dark|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|clearsmog": 11.11111111111111, + "dark|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|sludgebomb": 11.11111111111111, + "dark|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|gigadrain": 11.11111111111111, + "water|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|clearsmog": 11.11111111111111, + "water|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|sludgebomb": 11.11111111111111, + "water|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|gigadrain": 11.11111111111111, + "steel|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|clearsmog": 11.11111111111111, + "steel|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|sludgebomb": 11.11111111111111, + "steel|regenerator|heavydutyboots|bold|248,0,244,0,16,0|foulplay|toxic|synthesis|gigadrain": 11.11111111111111 + }, + "enamorustherian": { + "ground|overcoat|heavydutyboots|modest|248,0,0,252,8,0|moonblast|earthpower|mysticalfire|calmmind": 12.5, + "ground|overcoat|heavydutyboots|modest|248,0,0,252,8,0|moonblast|earthpower|taunt|calmmind": 12.5, + "ground|overcoat|heavydutyboots|modest|248,0,0,252,8,0|drainingkiss|earthpower|mysticalfire|calmmind": 12.5, + "ground|overcoat|heavydutyboots|modest|248,0,0,252,8,0|drainingkiss|earthpower|taunt|calmmind": 12.5, + "poison|overcoat|heavydutyboots|modest|248,0,0,252,8,0|moonblast|earthpower|mysticalfire|calmmind": 12.5, + "poison|overcoat|heavydutyboots|modest|248,0,0,252,8,0|moonblast|earthpower|taunt|calmmind": 12.5, + "poison|overcoat|heavydutyboots|modest|248,0,0,252,8,0|drainingkiss|earthpower|mysticalfire|calmmind": 12.5, + "poison|overcoat|heavydutyboots|modest|248,0,0,252,8,0|drainingkiss|earthpower|taunt|calmmind": 12.5 + }, + "fezandipiti": { + "dark|toxicchain|heavydutyboots|careful|248,152,0,0,44,64|playrough|roost|uturn|beatup": 50.0, + "water|toxicchain|heavydutyboots|careful|248,152,0,0,44,64|playrough|roost|uturn|beatup": 50.0 + }, + "garchomp": { + "ghost|roughskin|rockyhelmet|impish|252,0,216,0,0,40|earthquake|dragontail|stealthrock|spikes": 25.0, + "steel|roughskin|rockyhelmet|impish|252,0,216,0,0,40|earthquake|dragontail|stealthrock|spikes": 25.0, + "fire|roughskin|loadeddice|jolly|0,252,0,0,4,252|earthquake|scaleshot|swordsdance|firefang": 25.0, + "fire|roughskin|loadeddice|jolly|0,252,0,0,4,252|earthquake|scaleshot|swordsdance|stealthrock": 25.0 + }, + "goodrahisui": { + "fairy|gooey|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|knockoff|flamethrower": 12.5, + "fairy|gooey|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|knockoff|icebeam": 12.5, + "fairy|sapsipper|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|knockoff|flamethrower": 12.5, + "fairy|sapsipper|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|knockoff|icebeam": 12.5, + "fairy|gooey|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|icebeam|flamethrower": 25.0, + "fairy|sapsipper|assaultvest|modest|248,0,0,252,8,0|dracometeor|flashcannon|icebeam|flamethrower": 25.0 + }, + "ironhands": { + "flying|quarkdrive|boosterenergy|adamant|0,252,0,0,172,84|swordsdance|drainpunch|supercellslam|icepunch": 25.0, + "flying|quarkdrive|boosterenergy|adamant|0,252,0,0,172,84|swordsdance|drainpunch|thunderpunch|icepunch": 25.0, + "fighting|quarkdrive|shucaberry|adamant|0,252,0,0,172,84|swordsdance|drainpunch|supercellslam|icepunch": 25.0, + "fighting|quarkdrive|shucaberry|adamant|0,252,0,0,172,84|swordsdance|drainpunch|thunderpunch|icepunch": 25.0 + }, + "keldeo": { + "water|justified|heavydutyboots|timid|0,0,4,252,0,252|aurasphere|surf|flipturn|vacuumwave": 100.0 + }, + "mandibuzz": { + "water|overcoat|heavydutyboots|bold|248,0,244,0,0,16|foulplay|roost|defog|toxic": 12.5, + "poison|overcoat|heavydutyboots|bold|248,0,244,0,0,16|foulplay|roost|defog|toxic": 12.5, + "water|bigpecks|heavydutyboots|bold|248,0,244,0,0,16|foulplay|roost|defog|toxic": 12.5, + "poison|bigpecks|heavydutyboots|bold|248,0,244,0,0,16|foulplay|roost|defog|toxic": 12.5, + "water|overcoat|heavydutyboots|impish|248,0,244,0,0,16|foulplay|roost|defog|uturn": 12.5, + "poison|overcoat|heavydutyboots|impish|248,0,244,0,0,16|foulplay|roost|defog|uturn": 12.5, + "water|bigpecks|heavydutyboots|impish|248,0,244,0,0,16|foulplay|roost|defog|uturn": 12.5, + "poison|bigpecks|heavydutyboots|impish|248,0,244,0,0,16|foulplay|roost|defog|uturn": 12.5 + }, + "reuniclus": { + "water|magicguard|lifeorb|modest|252,0,0,212,0,44|psychicnoise|recover|knockoff|focusblast": 100.0 + }, + "azumarill": { + "water|hugepower|assaultvest|adamant|252,252,0,0,4,0|liquidation|aquajet|playrough|knockoff": 25.0, + "water|hugepower|assaultvest|adamant|252,252,0,0,4,0|liquidation|aquajet|playrough|icespinner": 25.0, + "grass|hugepower|assaultvest|adamant|252,252,0,0,4,0|liquidation|aquajet|playrough|knockoff": 25.0, + "grass|hugepower|assaultvest|adamant|252,252,0,0,4,0|liquidation|aquajet|playrough|icespinner": 25.0 + }, + "chansey": { + "steel|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|softboiled|thunderwave|stealthrock": 100.0 + }, + "mamoswine": { + "ice|thickfat|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|thickfat|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|thickfat|lifeorb|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|thickfat|lifeorb|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|oblivious|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|oblivious|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|oblivious|lifeorb|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|oblivious|lifeorb|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|thickfat|nevermeltice|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|thickfat|nevermeltice|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|thickfat|lifeorb|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|thickfat|lifeorb|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|oblivious|nevermeltice|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|oblivious|nevermeltice|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25, + "ice|oblivious|lifeorb|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 6.25, + "ice|oblivious|lifeorb|jolly|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|stealthrock": 6.25 + }, + "sandyshocks": { + "ice|protosynthesis|heavydutyboots|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|spikes": 33.333333333333336, + "ice|protosynthesis|heavydutyboots|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|stealthrock": 33.333333333333336, + "ice|protosynthesis|heavydutyboots|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|thunderbolt": 33.333333333333336 + }, + "thundurustherian": { + "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|agility": 11.11111111111111, + "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|grassknot": 11.11111111111111, + "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|psychic": 11.11111111111111, + "fairy|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|agility": 11.11111111111111, + "fairy|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|grassknot": 11.11111111111111, + "fairy|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|psychic": 11.11111111111111, + "flying|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|agility": 11.11111111111111, + "flying|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|grassknot": 11.11111111111111, + "flying|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|nastyplot|terablast|psychic": 11.11111111111111 + } + }, + "uu": { + "tornadustherian": { + "steel|regenerator|assaultvest|timid|252,0,0,0,64,192|bleakwindstorm|focusblast|knockoff|uturn": 15.0, + "water|regenerator|assaultvest|timid|252,0,0,0,64,192|bleakwindstorm|focusblast|knockoff|uturn": 15.0, + "steel|regenerator|heavydutyboots|timid|252,0,0,0,64,192|bleakwindstorm|focusblast|knockoff|uturn": 15.0, + "water|regenerator|heavydutyboots|timid|252,0,0,0,64,192|bleakwindstorm|focusblast|knockoff|uturn": 15.0, + "steel|regenerator|heavydutyboots|timid|0,0,4,252,0,252|bleakwindstorm|focusblast|taunt|nastyplot": 10.0, + "steel|regenerator|heavydutyboots|timid|0,0,4,252,0,252|bleakwindstorm|heatwave|taunt|nastyplot": 10.0, + "steel|regenerator|heavydutyboots|timid|0,0,4,252,0,252|hurricane|focusblast|taunt|nastyplot": 10.0, + "steel|regenerator|heavydutyboots|timid|0,0,4,252,0,252|hurricane|heatwave|taunt|nastyplot": 10.0 + }, + "excadrill": { + "ghost|moldbreaker|leftovers|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "dragon|moldbreaker|leftovers|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "fairy|moldbreaker|leftovers|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "ghost|moldbreaker|airballoon|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "dragon|moldbreaker|airballoon|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "fairy|moldbreaker|airballoon|jolly|156,0,0,0,252,100|earthquake|rapidspin|ironhead|stealthrock": 8.333333333333334, + "ghost|moldbreaker|leftovers|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334, + "dragon|moldbreaker|leftovers|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334, + "fairy|moldbreaker|leftovers|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334, + "ghost|moldbreaker|airballoon|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334, + "dragon|moldbreaker|airballoon|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334, + "fairy|moldbreaker|airballoon|jolly|0,252,4,0,0,252|earthquake|rapidspin|ironhead|swordsdance": 8.333333333333334 + }, + "cobalion": { + "ghost|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|leftovers|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "ghost|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|rockyhelmet|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "ghost|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|shucaberry|timid|0,0,252,0,4,252|bodypress|voltswitch|taunt|stealthrock": 2.7777777777777777, + "ghost|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "ghost|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "ghost|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "ghost|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "dragon|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "dragon|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777, + "flying|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|thunderwave|stealthrock": 2.7777777777777777, + "flying|justified|shucaberry|jolly|0,252,0,0,4,252|closecombat|voltswitch|taunt|stealthrock": 2.7777777777777777 + }, + "hoopaunbound": { + "dark|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|knockoff": 5.833333333333333, + "dark|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|thunderbolt": 5.833333333333333, + "dark|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|gunkshot": 5.833333333333333, + "fairy|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|knockoff": 5.833333333333333, + "fairy|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|thunderbolt": 5.833333333333333, + "fairy|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|gunkshot": 5.833333333333333, + "dark|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|knockoff": 5.833333333333333, + "dark|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|thunderbolt": 5.833333333333333, + "dark|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|gunkshot": 5.833333333333333, + "fairy|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|knockoff": 5.833333333333333, + "fairy|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|thunderbolt": 5.833333333333333, + "fairy|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|drainpunch|gunkshot": 5.833333333333333, + "dark|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|knockoff": 3.75, + "dark|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|thunderbolt": 3.75, + "fairy|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|knockoff": 3.75, + "fairy|magician|choicescarf|adamant|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|thunderbolt": 3.75, + "dark|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|knockoff": 3.75, + "dark|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|thunderbolt": 3.75, + "fairy|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|knockoff": 3.75, + "fairy|magician|choicescarf|jolly|0,252,0,4,0,252|hyperspacefury|psychic|gunkshot|thunderbolt": 3.75 + }, + "lokix": { + "bug|tintedlens|heavydutyboots|adamant|0,252,0,0,4,252|firstimpression|knockoff|uturn|suckerpunch": 70.0, + "dark|tintedlens|blackglasses|adamant|0,252,0,0,4,252|firstimpression|knockoff|swordsdance|suckerpunch": 7.5, + "dark|tintedlens|blackglasses|adamant|0,252,0,0,4,252|protect|knockoff|swordsdance|suckerpunch": 7.5, + "dark|tintedlens|blackglasses|jolly|0,252,0,0,4,252|firstimpression|knockoff|swordsdance|suckerpunch": 7.5, + "dark|tintedlens|blackglasses|jolly|0,252,0,0,4,252|protect|knockoff|swordsdance|suckerpunch": 7.5 + }, + "weavile": { + "ghost|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 10.0, + "ghost|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|lowkick": 10.0, + "ghost|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|iceshard": 10.0, + "ghost|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|lowkick": 10.0, + "dark|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 10.0, + "dark|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|lowkick": 10.0, + "dark|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|iceshard": 10.0, + "dark|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|lowkick": 10.0, + "ice|pickpocket|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 20.0 + }, + "greninja": { + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|surf|icebeam|sludgewave": 16.75, + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|surf|icebeam|spikes": 16.75, + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|sludgewave": 16.75, + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|spikes": 16.75, + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|surf|icebeam|uturn": 16.5, + "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|uturn": 16.5 + }, + "greninjabond": { + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|protect": 12.5, + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|watershuriken": 12.5, + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|sludgewave|protect": 12.5, + "water|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|sludgewave|watershuriken": 12.5, + "stellar|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|protect": 12.5, + "stellar|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|icebeam|watershuriken": 12.5, + "stellar|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|sludgewave|protect": 12.5, + "stellar|battlebond|lifeorb|timid|0,0,0,252,4,252|surf|darkpulse|sludgewave|watershuriken": 12.5 + }, + "heatran": { + "fairy|flamebody|airballoon|modest|0,0,0,252,4,252|magmastorm|earthpower|taunt|stealthrock": 50.0, + "fairy|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|taunt|stealthrock": 4.166666666666667, + "fairy|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|protect|stealthrock": 4.166666666666667, + "fairy|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|taunt|stealthrock": 4.166666666666667, + "fairy|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|protect|stealthrock": 4.166666666666667, + "ghost|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|taunt|stealthrock": 4.166666666666667, + "ghost|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|protect|stealthrock": 4.166666666666667, + "ghost|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|taunt|stealthrock": 4.166666666666667, + "ghost|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|protect|stealthrock": 4.166666666666667, + "water|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|taunt|stealthrock": 4.166666666666667, + "water|flamebody|airballoon|bold|252,0,96,0,0,160|magmastorm|earthpower|protect|stealthrock": 4.166666666666667, + "water|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|taunt|stealthrock": 4.166666666666667, + "water|flamebody|airballoon|bold|252,0,96,0,0,160|lavaplume|earthpower|protect|stealthrock": 4.166666666666667 + }, + "hydrapple": { + "steel|regenerator|heavydutyboots|modest|252,0,108,136,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 8.333333333333334, + "steel|regenerator|heavydutyboots|modest|252,0,108,136,0,12|dracometeor|nastyplot|gigadrain|earthpower": 8.333333333333334, + "fairy|regenerator|heavydutyboots|modest|252,0,108,136,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 8.333333333333334, + "fairy|regenerator|heavydutyboots|modest|252,0,108,136,0,12|dracometeor|nastyplot|gigadrain|earthpower": 8.333333333333334, + "poison|regenerator|heavydutyboots|modest|252,0,108,136,0,12|ficklebeam|nastyplot|gigadrain|earthpower": 8.333333333333334, + "poison|regenerator|heavydutyboots|modest|252,0,108,136,0,12|dracometeor|nastyplot|gigadrain|earthpower": 8.333333333333334, + "steel|regenerator|choicespecs|modest|0,0,4,252,0,252|ficklebeam|leafstorm|dracometeor|earthpower": 12.5, + "steel|regenerator|choicespecs|modest|0,0,4,252,0,252|gigadrain|leafstorm|dracometeor|earthpower": 12.5, + "fairy|regenerator|choicespecs|modest|0,0,4,252,0,252|ficklebeam|leafstorm|dracometeor|earthpower": 12.5, + "fairy|regenerator|choicespecs|modest|0,0,4,252,0,252|gigadrain|leafstorm|dracometeor|earthpower": 12.5 + }, + "rotomwash": { + "steel|levitate|leftovers|bold|252,0,168,0,0,88|hydropump|voltswitch|willowisp|painsplit": 25.0, + "steel|levitate|leftovers|bold|252,0,168,0,0,88|hydropump|voltswitch|thunderwave|painsplit": 25.0, + "steel|levitate|leftovers|calm|252,0,0,0,168,88|hydropump|voltswitch|willowisp|painsplit": 25.0, + "steel|levitate|leftovers|calm|252,0,0,0,168,88|hydropump|voltswitch|thunderwave|painsplit": 25.0 + }, + "scizor": { + "steel|technician|heavydutyboots|adamant|120,252,0,0,0,136|swordsdance|bulletpunch|uturn|knockoff": 20.0, + "fire|technician|heavydutyboots|adamant|120,252,0,0,0,136|swordsdance|bulletpunch|uturn|knockoff": 20.0, + "steel|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletpunch|closecombat|knockoff": 15.0, + "fire|technician|lifeorb|adamant|0,252,4,0,0,252|swordsdance|bulletpunch|closecombat|knockoff": 15.0, + "steel|technician|choiceband|adamant|0,252,4,0,0,252|uturn|bulletpunch|closecombat|knockoff": 30.0 + }, + "latios": { + "steel|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|surf": 5.0, + "steel|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|trick": 5.0, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|surf": 5.0, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|trick": 5.0, + "steel|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|surf|trick": 5.0, + "dragon|levitate|choicespecs|timid|0,0,4,252,0,252|dracometeor|lusterpurge|surf|trick": 5.0, + "dragon|levitate|choicescarf|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|trick": 30.0, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|lusterpurge|flipturn|recover": 30.0, + "steel|levitate|souldew|timid|0,0,4,252,0,252|dracometeor|lusterpurge|calmmind|recover": 5.0, + "steel|levitate|leftovers|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover": 2.5, + "water|levitate|leftovers|timid|0,0,4,252,0,252|dracometeor|surf|calmmind|recover": 2.5 + }, + "ogerponcornerstone": { + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|powerwhip|stompingtantrum": 12.5, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|powerwhip|spikyshield": 12.5, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|hornleech|stompingtantrum": 12.5, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|swordsdance|hornleech|spikyshield": 12.5, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|stompingtantrum|powerwhip|uturn": 25.0, + "rock|sturdy|cornerstonemask|jolly|0,252,4,0,0,252|ivycudgel|stompingtantrum|powerwhip|spikyshield": 25.0 + }, + "quaquaval": { + "electric|moxie|lifeorb|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|knockoff": 12.5, + "electric|moxie|lifeorb|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|tripleaxel": 12.5, + "steel|moxie|lifeorb|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|knockoff": 12.5, + "steel|moxie|lifeorb|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|tripleaxel": 12.5, + "electric|moxie|lumberry|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|knockoff": 12.5, + "electric|moxie|lumberry|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|tripleaxel": 12.5, + "steel|moxie|lumberry|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|knockoff": 12.5, + "steel|moxie|lumberry|adamant|0,252,4,0,0,252|aquastep|closecombat|swordsdance|tripleaxel": 12.5 + }, + "skeledirge": { + "fairy|unaware|heavydutyboots|bold|252,0,96,0,160,0|torchsong|willowisp|hex|slackoff": 50.0, + "water|unaware|heavydutyboots|bold|252,0,96,0,160,0|torchsong|willowisp|hex|slackoff": 50.0 + }, + "slowking": { + "fairy|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|scald|chillyreception|thunderwave|slackoff": 17.5, + "fairy|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|scald|chillyreception|futuresight|slackoff": 17.5, + "water|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|scald|chillyreception|thunderwave|slackoff": 17.5, + "water|regenerator|heavydutyboots|relaxed|252,0,252,0,4,0|scald|chillyreception|futuresight|slackoff": 17.5, + "fairy|regenerator|heavydutyboots|sassy|252,0,172,0,84,0|scald|chillyreception|thunderwave|slackoff": 7.5, + "fairy|regenerator|heavydutyboots|sassy|252,0,172,0,84,0|scald|chillyreception|futuresight|slackoff": 7.5, + "water|regenerator|heavydutyboots|sassy|252,0,172,0,84,0|scald|chillyreception|thunderwave|slackoff": 7.5, + "water|regenerator|heavydutyboots|sassy|252,0,172,0,84,0|scald|chillyreception|futuresight|slackoff": 7.5 + }, + "thundurustherian": { + "steel|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|voltswitch|thunderbolt|sludgebomb|focusblast": 25.0, + "steel|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|thunderbolt|sludgebomb|focusblast": 25.0, + "water|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|voltswitch|thunderbolt|sludgebomb|focusblast": 25.0, + "water|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|thunderbolt|sludgebomb|focusblast": 25.0 + }, + "tyranitar": { + "fairy|sandstream|leftovers|careful|252,0,0,0,212,44|stoneedge|knockoff|thunderwave|stealthrock": 25.0, + "ghost|sandstream|leftovers|careful|252,0,0,0,212,44|stoneedge|knockoff|thunderwave|stealthrock": 25.0, + "dark|sandstream|choiceband|adamant|0,252,0,0,4,252|stoneedge|knockoff|earthquake|icepunch": 25.0, + "rock|sandstream|choiceband|adamant|0,252,0,0,4,252|stoneedge|knockoff|earthquake|icepunch": 25.0 + }, + "zarude": { + "poison|leafguard|leftovers|jolly|0,252,0,0,4,252|powerwhip|knockoff|swordsdance|junglehealing": 25.0, + "poison|leafguard|heavydutyboots|jolly|0,252,0,0,4,252|powerwhip|knockoff|swordsdance|junglehealing": 25.0, + "dark|leafguard|choicescarf|adamant|0,252,0,0,4,252|powerwhip|knockoff|uturn|closecombat": 6.25, + "dark|leafguard|choicescarf|adamant|0,252,0,0,4,252|powerwhip|knockoff|uturn|junglehealing": 6.25, + "dark|leafguard|choicescarf|jolly|0,252,0,0,4,252|powerwhip|knockoff|uturn|closecombat": 6.25, + "dark|leafguard|choicescarf|jolly|0,252,0,0,4,252|powerwhip|knockoff|uturn|junglehealing": 6.25, + "fighting|leafguard|choicescarf|adamant|0,252,0,0,4,252|powerwhip|knockoff|uturn|closecombat": 12.5, + "fighting|leafguard|choicescarf|jolly|0,252,0,0,4,252|powerwhip|knockoff|uturn|closecombat": 12.5 + }, + "clodsire": { + "dark|waterabsorb|heavydutyboots|careful|248,0,176,0,84,0|earthquake|recover|toxic|spikes": 25.0, + "dark|waterabsorb|heavydutyboots|careful|248,0,176,0,84,0|earthquake|recover|toxic|stealthrock": 25.0, + "ghost|waterabsorb|heavydutyboots|careful|248,0,176,0,84,0|earthquake|recover|toxic|spikes": 25.0, + "ghost|waterabsorb|heavydutyboots|careful|248,0,176,0,84,0|earthquake|recover|toxic|stealthrock": 25.0 + }, + "gastrodon": { + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 6.25, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 6.25, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|spikes": 6.25, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|stealthrock": 6.25, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 6.25, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 6.25, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|spikes": 6.25, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|stealthrock": 6.25, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 6.25, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 6.25, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|spikes": 6.25, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|stealthrock": 6.25, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 6.25, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 6.25, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|spikes": 6.25, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|sludgebomb|stealthrock": 6.25 + }, + "ogerpon": { + "grass|defiant|heavydutyboots|jolly|0,252,4,0,0,252|ivycudgel|knockoff|uturn|spikes": 33.333333333333336, + "grass|defiant|heavydutyboots|jolly|0,252,4,0,0,252|ivycudgel|knockoff|uturn|encore": 33.333333333333336, + "grass|defiant|heavydutyboots|jolly|0,252,4,0,0,252|ivycudgel|knockoff|uturn|stompingtantrum": 33.333333333333336 + }, + "pecharunt": { + "fairy|poisonpuppeteer|heavydutyboots|bold|252,0,200,4,12,40|malignantchain|recover|hex|partingshot": 12.5, + "fairy|poisonpuppeteer|heavydutyboots|bold|252,0,200,4,12,40|sludgebomb|recover|hex|partingshot": 12.5, + "fairy|poisonpuppeteer|heavydutyboots|calm|252,0,200,4,12,40|malignantchain|recover|hex|partingshot": 12.5, + "fairy|poisonpuppeteer|heavydutyboots|calm|252,0,200,4,12,40|sludgebomb|recover|hex|partingshot": 12.5, + "fairy|poisonpuppeteer|heavydutyboots|modest|252,0,0,88,96,72|malignantchain|recover|hex|nastyplot": 12.5, + "ghost|poisonpuppeteer|heavydutyboots|modest|252,0,0,88,96,72|malignantchain|recover|hex|nastyplot": 12.5, + "fairy|poisonpuppeteer|heavydutyboots|bold|252,0,0,88,96,72|sludgebomb|recover|shadowball|nastyplot": 12.5, + "ghost|poisonpuppeteer|heavydutyboots|bold|252,0,0,88,96,72|sludgebomb|recover|shadowball|nastyplot": 12.5 + }, + "skarmory": { + "dragon|sturdy|rockyhelmet|bold|252,0,208,0,0,48|bodypress|roost|spikes|whirlwind": 12.5, + "dragon|sturdy|rockyhelmet|bold|252,0,208,0,0,48|bodypress|roost|spikes|irondefense": 12.5, + "water|sturdy|rockyhelmet|bold|252,0,208,0,0,48|bodypress|roost|spikes|whirlwind": 12.5, + "water|sturdy|rockyhelmet|bold|252,0,208,0,0,48|bodypress|roost|spikes|irondefense": 12.5, + "dragon|sturdy|rockyhelmet|impish|252,0,200,0,0,56|bodypress|roost|spikes|bravebird": 25.0, + "water|sturdy|rockyhelmet|impish|252,0,200,0,0,56|bodypress|roost|spikes|bravebird": 25.0 + }, + "tinkaton": { + "flying|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 6.25, + "flying|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 6.25, + "ghost|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 6.25, + "ghost|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 6.25, + "dark|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 6.25, + "dark|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 6.25, + "dragon|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 6.25, + "dragon|moldbreaker|leftovers|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 6.25, + "ghost|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 8.333333333333334, + "ghost|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 8.333333333333334, + "dark|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 8.333333333333334, + "dark|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 8.333333333333334, + "dragon|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|stealthrock": 8.333333333333334, + "dragon|pickpocket|airballoon|impish|252,0,232,0,0,24|gigatonhammer|encore|knockoff|thunderwave": 8.333333333333334 + }, + "bellibolt": { + "dragon|static|heavydutyboots|bold|252,0,252,4,0,0|voltswitch|muddywater|slackoff|toxic": 100.0 + }, + "enamorustherian": { + "fairy|overcoat|heavydutyboots|modest|84,0,0,252,0,172|moonblast|earthpower|drainingkiss|mysticalfire": 25.0, + "fairy|overcoat|heavydutyboots|modest|84,0,0,252,0,172|moonblast|earthpower|drainingkiss|calmmind": 25.0, + "ground|overcoat|heavydutyboots|modest|84,0,0,252,0,172|moonblast|earthpower|mysticalfire|calmmind": 50.0 + }, + "gardevoir": { + "fairy|trace|choicescarf|timid|0,0,4,252,0,252|moonblast|psychic|focusblast|healingwish": 25.0, + "fairy|trace|choicescarf|timid|0,0,4,252,0,252|moonblast|psychic|trick|healingwish": 25.0, + "fairy|trace|choicescarf|modest|0,0,4,252,0,252|moonblast|psychic|focusblast|healingwish": 25.0, + "fairy|trace|choicescarf|modest|0,0,4,252,0,252|moonblast|psychic|trick|healingwish": 25.0 + }, + "arcaninehisui": { + "normal|rockhead|heavydutyboots|jolly|0,252,4,0,0,252|headsmash|flareblitz|extremespeed|stealthrock": 50.0, + "normal|rockhead|heavydutyboots|jolly|0,252,4,0,0,252|headsmash|flareblitz|extremespeed|morningsun": 50.0 + }, + "keldeo": { + "steel|justified|leftovers|timid|0,0,4,252,0,252|secretsword|surf|calmmind|substitute": 25.0, + "steel|justified|leftovers|timid|0,0,4,252,0,252|secretsword|surf|calmmind|taunt": 25.0, + "water|justified|choicespecs|timid|0,4,0,252,0,252|secretsword|surf|flipturn|vacuumwave": 12.5, + "water|justified|choicespecs|timid|0,4,0,252,0,252|secretsword|hydropump|flipturn|vacuumwave": 12.5, + "fighting|justified|choicespecs|timid|0,4,0,252,0,252|secretsword|surf|flipturn|vacuumwave": 12.5, + "fighting|justified|choicespecs|timid|0,4,0,252,0,252|secretsword|hydropump|flipturn|vacuumwave": 12.5 + }, + "manaphy": { + "fairy|hydration|leftovers|timid|0,0,4,252,0,252|tailglow|scald|icebeam|alluringvoice": 100.0 + }, + "polteageist": { + "steel|cursedbody|whiteherb|bold|248,0,184,0,0,76|shellsmash|shadowball|storedpower|strengthsap": 100.0 + }, + "revavroom": { + "ground|filter|airballoon|adamant|0,252,4,0,0,252|shiftgear|temperflare|gunkshot|highhorsepower": 50.0, + "fire|filter|airballoon|adamant|0,252,4,0,0,252|shiftgear|temperflare|gunkshot|highhorsepower": 50.0 + }, + "sandyshocks": { + "ice|protosynthesis|heavydutyboots|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|spikes": 25.0, + "ice|protosynthesis|heavydutyboots|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|stealthrock": 25.0, + "ice|protosynthesis|leftovers|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|spikes": 25.0, + "ice|protosynthesis|leftovers|timid|0,0,0,252,4,252|earthpower|voltswitch|terablast|stealthrock": 25.0 + }, + "serperior": { + "electric|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|synthesis": 50.0, + "electric|contrary|leftovers|timid|0,0,0,252,4,252|leafstorm|glare|terablast|dragonpulse": 50.0 + }, + "toxapex": { + "fairy|regenerator|leftovers|bold|248,0,152,0,108,0|surf|toxic|haze|recover": 16.666666666666668, + "fairy|regenerator|heavydutyboots|bold|248,0,152,0,108,0|surf|toxic|haze|recover": 16.666666666666668, + "fairy|regenerator|rockyhelmet|bold|248,0,152,0,108,0|surf|toxic|haze|recover": 16.666666666666668, + "fairy|regenerator|leftovers|impish|248,0,152,0,108,0|liquidation|toxic|haze|recover": 16.666666666666668, + "fairy|regenerator|heavydutyboots|impish|248,0,152,0,108,0|liquidation|toxic|haze|recover": 16.666666666666668, + "fairy|regenerator|rockyhelmet|impish|248,0,152,0,108,0|liquidation|toxic|haze|recover": 16.666666666666668 + }, + "azumarill": { + "water|hugepower|leftovers|adamant|124,252,0,0,0,132|aquajet|playrough|liquidation|knockoff": 12.5, + "steel|hugepower|leftovers|adamant|124,252,0,0,0,132|aquajet|playrough|liquidation|knockoff": 12.5, + "water|hugepower|choiceband|adamant|124,252,0,0,0,132|aquajet|playrough|liquidation|knockoff": 12.5, + "steel|hugepower|choiceband|adamant|124,252,0,0,0,132|aquajet|playrough|liquidation|knockoff": 12.5, + "water|hugepower|leftovers|adamant|0,252,0,0,4,252|aquajet|playrough|liquidation|knockoff": 12.5, + "steel|hugepower|leftovers|adamant|0,252,0,0,4,252|aquajet|playrough|liquidation|knockoff": 12.5, + "water|hugepower|choiceband|adamant|0,252,0,0,4,252|aquajet|playrough|liquidation|knockoff": 12.5, + "steel|hugepower|choiceband|adamant|0,252,0,0,4,252|aquajet|playrough|liquidation|knockoff": 12.5 + }, + "chesnaught": { + "poison|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|knockoff": 8.333333333333334, + "poison|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|woodhammer": 8.333333333333334, + "poison|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|stoneedge": 8.333333333333334, + "ghost|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|knockoff": 8.333333333333334, + "ghost|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|woodhammer": 8.333333333333334, + "ghost|bulletproof|leftovers|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|stoneedge": 8.333333333333334, + "poison|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|knockoff": 8.333333333333334, + "poison|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|woodhammer": 8.333333333333334, + "poison|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|stoneedge": 8.333333333333334, + "ghost|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|knockoff": 8.333333333333334, + "ghost|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|woodhammer": 8.333333333333334, + "ghost|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|bodypress|synthesis|stoneedge": 8.333333333333334 + }, + "comfey": { + "ground|triage|lifeorb|modest|240,0,0,252,0,16|calmmind|taunt|drainingkiss|terablast": 100.0 + }, + "fezandipiti": { + "water|toxicchain|heavydutyboots|calm|248,0,128,0,16,116|moonblast|uturn|beatup|roost": 100.0 + }, + "hippowdon": { + "dragon|sandstream|leftovers|impish|252,0,208,0,48,0|stealthrock|earthquake|slackoff|stoneedge": 50.0, + "dragon|sandstream|rockyhelmet|impish|252,0,208,0,48,0|stealthrock|earthquake|slackoff|stoneedge": 50.0 + }, + "hydreigon": { + "poison|levitate|leftovers|timid|0,0,0,252,4,252|nastyplot|darkpulse|dracometeor|substitute": 50.0, + "dark|levitate|choicescarf|modest|0,0,0,252,4,252|fireblast|darkpulse|dracometeor|uturn": 25.0, + "dark|levitate|choicescarf|timid|0,0,0,252,4,252|fireblast|darkpulse|dracometeor|uturn": 25.0 + }, + "mamoswine": { + "grass|thickfat|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|trailblaze": 50.0, + "ice|thickfat|nevermeltice|adamant|0,252,4,0,0,252|earthquake|iciclecrash|iceshard|knockoff": 50.0 + }, + "mandibuzz": { + "steel|overcoat|heavydutyboots|impish|248,0,136,0,108,16|foulplay|roost|uturn|defog": 12.5, + "steel|overcoat|heavydutyboots|impish|248,0,136,0,108,16|foulplay|roost|uturn|toxic": 12.5, + "fairy|overcoat|heavydutyboots|impish|248,0,136,0,108,16|foulplay|roost|uturn|defog": 12.5, + "fairy|overcoat|heavydutyboots|impish|248,0,136,0,108,16|foulplay|roost|uturn|toxic": 12.5, + "steel|overcoat|heavydutyboots|bold|248,0,136,0,108,16|foulplay|roost|toxic|defog": 25.0, + "fairy|overcoat|heavydutyboots|bold|248,0,136,0,108,16|foulplay|roost|toxic|defog": 25.0 + }, + "metagross": { + "dark|clearbody|leftovers|adamant|252,160,0,0,0,96|heavyslam|psychicfangs|knockoff|stealthrock": 25.0, + "dark|clearbody|leftovers|adamant|252,160,0,0,0,96|heavyslam|psychicfangs|knockoff|bulletpunch": 25.0, + "water|clearbody|leftovers|adamant|252,160,0,0,0,96|heavyslam|psychicfangs|earthquake|stealthrock": 25.0, + "water|clearbody|leftovers|adamant|252,160,0,0,0,96|heavyslam|psychicfangs|earthquake|bulletpunch": 25.0 + }, + "rhyperior": { + "dragon|solidrock|leftovers|adamant|252,16,0,0,240,0|earthquake|stoneedge|stealthrock|megahorn": 100.0 + }, + "salamence": { + "fire|moxie|heavydutyboots|jolly|96,252,0,0,0,160|roost|outrage|earthquake|dragondance": 25.0, + "fire|moxie|heavydutyboots|jolly|96,252,0,0,0,160|temperflare|outrage|earthquake|dragondance": 25.0, + "fairy|intimidate|heavydutyboots|modest|160,0,0,252,0,96|roost|dracometeor|hurricane|earthquake": 12.5, + "water|intimidate|heavydutyboots|modest|160,0,0,252,0,96|roost|dracometeor|hurricane|earthquake": 12.5, + "fairy|intimidate|heavydutyboots|modest|160,0,0,252,0,96|roost|dracometeor|hurricane|flamethrower": 12.5, + "water|intimidate|heavydutyboots|modest|160,0,0,252,0,96|roost|dracometeor|hurricane|flamethrower": 12.5 + }, + "sinistcha": { + "fairy|heatproof|heavydutyboots|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 25.0, + "poison|heatproof|heavydutyboots|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 25.0, + "fairy|heatproof|leftovers|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 25.0, + "poison|heatproof|leftovers|bold|252,0,160,0,0,96|calmmind|matchagotcha|shadowball|strengthsap": 25.0 + }, + "volcanion": { + "fairy|waterabsorb|heavydutyboots|modest|0,0,4,252,0,252|steameruption|flamethrower|sludgebomb|taunt": 50.0, + "ground|waterabsorb|heavydutyboots|modest|0,0,4,252,0,252|steameruption|flamethrower|sludgebomb|earthpower": 50.0 + }, + "araquanid": { + "ghost|waterbubble|heavydutyboots|impish|252,76,156,0,0,24|liquidation|leechlife|stickyweb|mirrorcoat": 100.0 + }, + "donphan": { + "dragon|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "dragon|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "grass|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "grass|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "fairy|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "fairy|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "dragon|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "dragon|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "grass|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "grass|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "fairy|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|icespinner|knockoff": 4.166666666666667, + "fairy|sturdy|assaultvest|adamant|252,104,132,0,0,20|earthquake|rapidspin|iceshard|knockoff": 4.166666666666667, + "dragon|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|stealthrock|knockoff": 12.5, + "grass|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|stealthrock|knockoff": 12.5, + "fairy|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|stealthrock|knockoff": 12.5, + "ghost|sturdy|heavydutyboots|adamant|252,104,132,0,0,20|earthquake|rapidspin|stealthrock|knockoff": 12.5 + }, + "conkeldurr": { + "normal|guts|flameorb|adamant|0,252,4,0,0,252|closecombat|machpunch|facade|knockoff": 100.0 + }, + "empoleon": { + "fairy|competitive|leftovers|sassy|252,0,40,0,216,0|surf|haze|flipturn|roost": 25.0, + "fairy|competitive|leftovers|sassy|252,0,40,0,216,0|surf|haze|knockoff|roost": 25.0, + "ghost|competitive|leftovers|sassy|252,0,40,0,216,0|surf|haze|flipturn|roost": 25.0, + "ghost|competitive|leftovers|sassy|252,0,40,0,216,0|surf|haze|knockoff|roost": 25.0 + }, + "zapdosgalar": { + "flying|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|bravebird|thunderouskick|uturn": 50.0, + "flying|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|bravebird|knockoff|uturn": 50.0 + }, + "haxorus": { + "dragon|moldbreaker|choiceband|jolly|0,252,4,0,0,252|closecombat|outrage|firstimpression|poisonjab": 25.0, + "dragon|moldbreaker|choiceband|jolly|0,252,4,0,0,252|earthquake|outrage|firstimpression|poisonjab": 25.0, + "dragon|moldbreaker|choiceband|adamant|0,252,4,0,0,252|closecombat|outrage|firstimpression|poisonjab": 25.0, + "dragon|moldbreaker|choiceband|adamant|0,252,4,0,0,252|earthquake|outrage|firstimpression|poisonjab": 25.0 + }, + "jirachi": { + "water|serenegrace|leftovers|jolly|252,4,0,0,0,252|ironhead|wish|protect|uturn": 100.0 + }, + "slowbro": { + "poison|regenerator|heavydutyboots|bold|252,0,252,0,4,0|scald|psychicnoise|slackoff|calmmind": 25.0, + "poison|regenerator|colburberry|bold|252,0,252,0,4,0|scald|psychicnoise|slackoff|calmmind": 25.0, + "fighting|regenerator|heavydutyboots|bold|252,0,252,0,4,0|thunderwave|scald|slackoff|bodypress": 25.0, + "fighting|regenerator|colburberry|bold|252,0,252,0,4,0|thunderwave|scald|slackoff|bodypress": 25.0 + }, + "krookodile": { + "poison|intimidate|leftovers|jolly|0,252,4,0,0,252|stealthrock|knockoff|earthquake|gunkshot": 100.0 + } + }, + "ru": { + "slowbro": { + "poison|regenerator|rockyhelmet|bold|252,0,252,4,0,0|scald|slackoff|psychicnoise|calmmind": 12.5, + "fairy|regenerator|rockyhelmet|bold|252,0,252,4,0,0|scald|slackoff|psychicnoise|calmmind": 12.5, + "poison|regenerator|heavydutyboots|bold|252,0,252,4,0,0|scald|slackoff|psychicnoise|calmmind": 12.5, + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|scald|slackoff|psychicnoise|calmmind": 12.5, + "poison|regenerator|heavydutyboots|bold|252,0,252,4,0,0|scald|slackoff|futuresight|thunderwave": 25.0, + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|scald|slackoff|futuresight|thunderwave": 25.0 + }, + "armarouge": { + "grass|weakarmor|heavydutyboots|timid|0,0,4,252,0,252|armorcannon|psyshock|energyball|calmmind": 42.5, + "fairy|weakarmor|heavydutyboots|timid|0,0,4,252,0,252|armorcannon|psyshock|energyball|calmmind": 42.5, + "normal|weakarmor|weaknesspolicy|timid|0,0,4,252,0,252|armorcannon|storedpower|energyball|endure": 3.75, + "normal|weakarmor|weaknesspolicy|timid|0,0,4,252,0,252|armorcannon|storedpower|calmmind|endure": 3.75, + "ground|weakarmor|weaknesspolicy|timid|0,0,4,252,0,252|armorcannon|storedpower|energyball|endure": 3.75, + "ground|weakarmor|weaknesspolicy|timid|0,0,4,252,0,252|armorcannon|storedpower|calmmind|endure": 3.75 + }, + "bisharp": { + "flying|defiant|eviolite|adamant|200,252,0,0,0,56|swordsdance|suckerpunch|ironhead|throatchop": 50.0, + "dark|defiant|eviolite|adamant|200,252,0,0,0,56|swordsdance|suckerpunch|ironhead|throatchop": 50.0 + }, + "cyclizar": { + "fairy|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|dragontail": 8.333333333333334, + "fairy|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|facade": 8.333333333333334, + "steel|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|dragontail": 8.333333333333334, + "steel|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|facade": 8.333333333333334, + "ghost|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|dragontail": 8.333333333333334, + "ghost|regenerator|assaultvest|jolly|104,0,0,0,152,252|rapidspin|knockoff|uturn|facade": 8.333333333333334, + "fairy|regenerator|assaultvest|timid|104,0,0,0,152,252|rapidspin|knockoff|uturn|dracometeor": 10.0, + "steel|regenerator|assaultvest|timid|104,0,0,0,152,252|rapidspin|knockoff|uturn|dracometeor": 10.0, + "ghost|regenerator|assaultvest|timid|104,0,0,0,152,252|rapidspin|knockoff|uturn|dracometeor": 10.0, + "ghost|regenerator|heavydutyboots|jolly|252,0,0,0,4,252|rapidspin|knockoff|uturn|taunt": 10.0, + "ghost|regenerator|heavydutyboots|jolly|252,0,0,0,4,252|rapidspin|knockoff|uturn|doubleedge": 10.0 + }, + "goodrahisui": { + "ghost|gooey|choicespecs|modest|120,0,0,252,0,136|flashcannon|dracometeor|thunderbolt|flamethrower": 50.0, + "dragon|gooey|choicespecs|modest|120,0,0,252,0,136|flashcannon|dracometeor|thunderbolt|flamethrower": 50.0 + }, + "jirachi": { + "water|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|uturn": 4.444444444444445, + "water|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|encore": 4.444444444444445, + "water|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|wish": 4.444444444444445, + "steel|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|uturn": 4.444444444444445, + "steel|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|encore": 4.444444444444445, + "steel|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|wish": 4.444444444444445, + "fairy|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|uturn": 4.444444444444445, + "fairy|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|encore": 4.444444444444445, + "fairy|serenegrace|leftovers|jolly|252,0,0,0,32,224|ironhead|stealthrock|bodyslam|wish": 4.444444444444445, + "water|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|aurasphere": 2.0833333333333335, + "water|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|thunder": 2.0833333333333335, + "water|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|shadowball": 2.0833333333333335, + "fairy|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|aurasphere": 2.0833333333333335, + "fairy|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|thunder": 2.0833333333333335, + "fairy|serenegrace|leftovers|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|shadowball": 2.0833333333333335, + "water|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|aurasphere": 2.0833333333333335, + "water|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|thunder": 2.0833333333333335, + "water|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|shadowball": 2.0833333333333335, + "fairy|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|aurasphere": 2.0833333333333335, + "fairy|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|thunder": 2.0833333333333335, + "fairy|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|shadowball": 2.0833333333333335, + "fighting|serenegrace|expertbelt|timid|32,0,0,252,0,224|calmmind|psychicnoise|grassknot|aurasphere": 5.0, + "steel|serenegrace|choicescarf|jolly|0,252,0,0,4,252|ironhead|uturn|trick|healingwish": 30.0 + }, + "krookodile": { + "dark|intimidate|choiceband|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 10.0, + "dark|intimidate|choiceband|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|crunch": 10.0, + "poison|intimidate|choiceband|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 10.0, + "poison|intimidate|choiceband|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|crunch": 10.0, + "poison|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 3.75, + "poison|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|crunch": 3.75, + "ghost|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 3.75, + "ghost|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|crunch": 3.75, + "ghost|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|taunt|closecombat": 7.5, + "ghost|intimidate|leftovers|jolly|0,252,4,0,0,252|earthquake|knockoff|taunt|crunch": 7.5, + "dark|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stoneedge": 2.0833333333333335, + "dark|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 2.0833333333333335, + "dark|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stealthrock": 2.0833333333333335, + "poison|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stoneedge": 2.0833333333333335, + "poison|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 2.0833333333333335, + "poison|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stealthrock": 2.0833333333333335, + "dark|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stoneedge": 2.0833333333333335, + "dark|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 2.0833333333333335, + "dark|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stealthrock": 2.0833333333333335, + "poison|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stoneedge": 2.0833333333333335, + "poison|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|closecombat": 2.0833333333333335, + "poison|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|gunkshot|stealthrock": 2.0833333333333335, + "dark|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|closecombat": 0.625, + "dark|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|stealthrock": 0.625, + "poison|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|closecombat": 0.625, + "poison|intimidate|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|stealthrock": 0.625, + "dark|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|closecombat": 0.625, + "dark|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|stealthrock": 0.625, + "poison|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|closecombat": 0.625, + "poison|moxie|choicescarf|jolly|0,252,4,0,0,252|earthquake|knockoff|stoneedge|stealthrock": 0.625 + }, + "slitherwing": { + "steel|protosynthesis|heavydutyboots|adamant|252,16,72,0,0,168|uturn|closecombat|firstimpression|morningsun": 25.0, + "steel|protosynthesis|heavydutyboots|adamant|252,16,72,0,0,168|uturn|closecombat|willowisp|morningsun": 25.0, + "steel|protosynthesis|choiceband|adamant|0,252,4,0,0,252|uturn|closecombat|firstimpression|earthquake": 12.5, + "steel|protosynthesis|choiceband|adamant|0,252,4,0,0,252|uturn|closecombat|firstimpression|heavyslam": 12.5, + "bug|protosynthesis|choiceband|adamant|0,252,4,0,0,252|uturn|closecombat|firstimpression|earthquake": 12.5, + "bug|protosynthesis|choiceband|adamant|0,252,4,0,0,252|uturn|closecombat|firstimpression|heavyslam": 12.5 + }, + "empoleon": { + "fairy|competitive|leftovers|modest|144,0,0,228,0,136|surf|roost|icebeam|grassknot": 30.0, + "fairy|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|flipturn|knockoff": 6.25, + "fairy|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|flipturn|icebeam": 6.25, + "ghost|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|flipturn|knockoff": 6.25, + "ghost|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|flipturn|icebeam": 6.25, + "fairy|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|roar": 6.25, + "fairy|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|icebeam": 6.25, + "ghost|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|roar": 6.25, + "ghost|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|icebeam": 6.25, + "fairy|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|knockoff": 10.0, + "ghost|competitive|leftovers|calm|252,0,4,0,252,0|surf|roost|stealthrock|knockoff": 10.0 + }, + "fezandipiti": { + "fairy|toxicchain|heavydutyboots|timid|252,0,56,0,0,200|moonblast|roost|calmmind|uturn": 12.5, + "water|toxicchain|heavydutyboots|timid|252,0,56,0,0,200|moonblast|roost|calmmind|uturn": 12.5, + "fairy|toxicchain|covertcloak|timid|252,0,56,0,0,200|moonblast|roost|calmmind|uturn": 12.5, + "water|toxicchain|covertcloak|timid|252,0,56,0,0,200|moonblast|roost|calmmind|uturn": 12.5, + "fairy|toxicchain|heavydutyboots|timid|252,0,56,0,0,200|moonblast|roost|calmmind|taunt": 12.5, + "water|toxicchain|heavydutyboots|timid|252,0,56,0,0,200|moonblast|roost|calmmind|taunt": 12.5, + "fairy|toxicchain|covertcloak|timid|252,0,56,0,0,200|moonblast|roost|calmmind|taunt": 12.5, + "water|toxicchain|covertcloak|timid|252,0,56,0,0,200|moonblast|roost|calmmind|taunt": 12.5 + }, + "hippowdon": { + "dragon|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "dragon|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "ghost|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "ghost|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "poison|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "poison|sandstream|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "dragon|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "dragon|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "ghost|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "ghost|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "poison|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|stoneedge": 6.666666666666667, + "poison|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|slackoff|whirlwind": 6.666666666666667, + "dragon|sandstream|leftovers|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335, + "ghost|sandstream|leftovers|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335, + "poison|sandstream|leftovers|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335, + "dragon|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335, + "ghost|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335, + "poison|sandstream|rockyhelmet|impish|252,0,252,0,4,0|stoneedge|earthquake|slackoff|whirlwind": 3.3333333333333335 + }, + "suicune": { + "dark|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|protect": 16.666666666666668, + "dark|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|icebeam": 16.666666666666668, + "dark|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|shadowball": 16.666666666666668, + "fairy|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|protect": 16.666666666666668, + "fairy|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|icebeam": 16.666666666666668, + "fairy|pressure|leftovers|timid|252,0,0,0,4,252|substitute|calmmind|scald|shadowball": 16.666666666666668 + }, + "volcanion": { + "fairy|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|bodypress|earthpower": 16.666666666666668, + "ghost|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|bodypress|earthpower": 16.666666666666668, + "dark|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|bodypress|earthpower": 16.666666666666668, + "fairy|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|bodypress": 8.333333333333334, + "fairy|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|earthpower": 8.333333333333334, + "ghost|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|bodypress": 8.333333333333334, + "ghost|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|earthpower": 8.333333333333334, + "dark|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|bodypress": 8.333333333333334, + "dark|waterabsorb|heavydutyboots|modest|120,0,0,252,0,136|steameruption|flamethrower|taunt|earthpower": 8.333333333333334 + }, + "zapdosgalar": { + "flying|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668, + "steel|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668, + "dark|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668, + "flying|defiant|choiceband|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668, + "steel|defiant|choiceband|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668, + "dark|defiant|choiceband|jolly|0,252,0,0,4,252|closecombat|bravebird|knockoff|uturn": 16.666666666666668 + }, + "basculegionf": { + "ghost|adaptability|choicescarf|timid|0,0,0,252,4,252|surf|shadowball|icebeam|flipturn": 22.5, + "water|adaptability|choicescarf|timid|0,0,0,252,4,252|surf|shadowball|icebeam|flipturn": 22.5, + "ghost|adaptability|choicespecs|timid|0,0,0,252,4,252|surf|shadowball|icebeam|flipturn": 15.0, + "water|adaptability|choicespecs|timid|0,0,0,252,4,252|surf|shadowball|icebeam|flipturn": 15.0, + "ghost|adaptability|weaknesspolicy|modest|108,0,52,252,24,72|surf|shadowball|icebeam|agility": 6.25, + "water|adaptability|weaknesspolicy|modest|108,0,52,252,24,72|surf|shadowball|icebeam|agility": 6.25, + "ghost|adaptability|lifeorb|modest|108,0,52,252,24,72|surf|shadowball|icebeam|agility": 6.25, + "water|adaptability|lifeorb|modest|108,0,52,252,24,72|surf|shadowball|icebeam|agility": 6.25 + }, + "flygon": { + "ghost|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|uturn": 9.166666666666666, + "ghost|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|stoneedge": 9.166666666666666, + "fairy|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|uturn": 9.166666666666666, + "fairy|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|stoneedge": 9.166666666666666, + "steel|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|uturn": 9.166666666666666, + "steel|levitate|loadeddice|jolly|0,252,0,0,4,252|stealthrock|scaleshot|earthquake|stoneedge": 9.166666666666666, + "steel|levitate|loadeddice|jolly|0,252,0,0,4,252|dragondance|scaleshot|earthquake|stoneedge": 20.0, + "fire|levitate|loadeddice|jolly|0,252,0,0,4,252|dragondance|scaleshot|earthquake|firepunch": 5.0, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|outrage|earthquake|firstimpression|uturn": 2.5, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firstimpression|uturn": 2.5, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|stoneedge|earthquake|firstimpression|uturn": 2.5, + "bug|levitate|choiceband|jolly|0,252,0,0,4,252|outrage|earthquake|firstimpression|uturn": 2.5, + "bug|levitate|choiceband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firstimpression|uturn": 2.5, + "bug|levitate|choiceband|jolly|0,252,0,0,4,252|stoneedge|earthquake|firstimpression|uturn": 2.5, + "steel|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|earthquake|stoneedge": 2.5, + "dragon|levitate|choicescarf|jolly|0,252,0,0,4,252|outrage|uturn|earthquake|stoneedge": 2.5 + }, + "gardevoir": { + "fairy|trace|choicescarf|timid|0,0,4,252,0,252|moonblast|psychic|trick|healingwish": 100.0 + }, + "gengar": { + "ghost|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|toxicspikes": 6.25, + "ghost|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|focusblast": 6.25, + "ghost|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|thunderwave": 6.25, + "ghost|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|destinybond": 6.25, + "dark|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|toxicspikes": 6.25, + "dark|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|focusblast": 6.25, + "dark|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|thunderwave": 6.25, + "dark|cursedbody|choicescarf|timid|0,0,4,252,0,252|shadowball|sludgewave|trick|destinybond": 6.25, + "ghost|cursedbody|leftovers|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|toxicspikes": 3.125, + "ghost|cursedbody|leftovers|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|focusblast": 3.125, + "dark|cursedbody|leftovers|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|toxicspikes": 3.125, + "dark|cursedbody|leftovers|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|focusblast": 3.125, + "ghost|cursedbody|heavydutyboots|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|toxicspikes": 3.125, + "ghost|cursedbody|heavydutyboots|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|focusblast": 3.125, + "dark|cursedbody|heavydutyboots|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|toxicspikes": 3.125, + "dark|cursedbody|heavydutyboots|timid|0,0,4,252,0,252|hex|sludgebomb|willowisp|focusblast": 3.125, + "fighting|cursedbody|airballoon|timid|0,0,4,252,0,252|shadowball|sludgewave|nastyplot|focusblast": 15.0, + "ghost|cursedbody|airballoon|timid|0,0,4,252,0,252|shadowball|sludgewave|nastyplot|encore": 10.0 + }, + "magnezone": { + "grass|analytic|choicespecs|modest|0,0,4,252,0,252|thunderbolt|flashcannon|voltswitch|terablast": 12.5, + "water|analytic|choicespecs|modest|0,0,4,252,0,252|thunderbolt|flashcannon|voltswitch|terablast": 12.5, + "ground|magnetpull|choicespecs|modest|0,0,4,252,0,252|thunderbolt|flashcannon|voltswitch|terablast": 25.0, + "fairy|analytic|assaultvest|modest|88,0,0,208,76,136|discharge|flashcannon|voltswitch|terablast": 25.0, + "flying|analytic|assaultvest|modest|88,0,0,208,76,136|discharge|flashcannon|voltswitch|bodypress": 6.25, + "flying|analytic|assaultvest|modest|88,0,0,208,76,136|discharge|flashcannon|voltswitch|mirrorcoat": 6.25, + "water|analytic|assaultvest|modest|88,0,0,208,76,136|discharge|flashcannon|voltswitch|bodypress": 6.25, + "water|analytic|assaultvest|modest|88,0,0,208,76,136|discharge|flashcannon|voltswitch|mirrorcoat": 6.25 + }, + "maushold": { + "ghost|technician|widelens|jolly|0,252,4,0,0,252|tidyup|populationbomb|bite|encore": 25.0, + "ghost|technician|widelens|jolly|0,252,4,0,0,252|tidyup|populationbomb|bulletseed|encore": 25.0, + "normal|technician|widelens|jolly|0,252,4,0,0,252|tidyup|populationbomb|bite|encore": 25.0, + "normal|technician|widelens|jolly|0,252,4,0,0,252|tidyup|populationbomb|bulletseed|encore": 25.0 + }, + "mew": { + "fairy|synchronize|lifeorb|timid|0,0,0,252,4,252|nastyplot|psyshock|earthpower|drainingkiss": 100.0 + }, + "mimikyu": { + "ghost|disguise|lifeorb|jolly|0,252,0,0,4,252|swordsdance|shadowsneak|playrough|shadowclaw": 50.0, + "ghost|disguise|redcard|jolly|0,252,0,0,4,252|swordsdance|shadowsneak|playrough|shadowclaw": 50.0 + }, + "noivern": { + "fire|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|roost|uturn|dracometeor|flamethrower": 25.0, + "fire|infiltrator|heavydutyboots|timid|0,0,0,252,4,252|roost|defog|dracometeor|flamethrower": 25.0, + "steel|infiltrator|heavydutyboots|timid|252,0,0,0,4,252|roost|defog|dracometeor|superfang": 25.0, + "steel|infiltrator|heavydutyboots|timid|252,0,0,0,4,252|roost|defog|psychicnoise|superfang": 25.0 + }, + "registeel": { + "ghost|clearbody|leftovers|impish|252,0,180,0,76,0|stealthrock|heavyslam|bodypress|irondefense": 100.0 + }, + "reuniclus": { + "water|magicguard|leftovers|bold|252,0,252,4,0,0|psychicnoise|calmmind|focusblast|recover": 6.25, + "water|magicguard|leftovers|bold|252,0,252,4,0,0|psychicnoise|calmmind|shadowball|recover": 6.25, + "fairy|magicguard|leftovers|bold|252,0,252,4,0,0|psychicnoise|calmmind|focusblast|recover": 6.25, + "fairy|magicguard|leftovers|bold|252,0,252,4,0,0|psychicnoise|calmmind|shadowball|recover": 6.25, + "water|magicguard|rockyhelmet|bold|252,0,252,4,0,0|psychicnoise|calmmind|focusblast|recover": 6.25, + "water|magicguard|rockyhelmet|bold|252,0,252,4,0,0|psychicnoise|calmmind|shadowball|recover": 6.25, + "fairy|magicguard|rockyhelmet|bold|252,0,252,4,0,0|psychicnoise|calmmind|focusblast|recover": 6.25, + "fairy|magicguard|rockyhelmet|bold|252,0,252,4,0,0|psychicnoise|calmmind|shadowball|recover": 6.25, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|psychicnoise|thunderwave|focusblast|recover": 12.5, + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|psychicnoise|thunderwave|focusblast|recover": 12.5, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|psychicnoise|thunderwave|knockoff|recover": 12.5, + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|psychicnoise|thunderwave|knockoff|recover": 12.5 + }, + "revavroom": { + "ground|filter|airballoon|adamant|0,252,4,0,0,252|shiftgear|ironhead|gunkshot|highhorsepower": 100.0 + }, + "salamence": { + "steel|intimidate|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hurricane|flamethrower|roost": 25.0, + "water|intimidate|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|hurricane|flamethrower|roost": 25.0, + "steel|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "ground|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "steel|intimidate|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|intimidate|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "ground|intimidate|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|intimidate|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "steel|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "ground|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "steel|moxie|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|moxie|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "ground|moxie|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|moxie|lifeorb|jolly|0,252,0,0,4,252|dragonclaw|roost|earthquake|dragondance": 1.5625, + "steel|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "ground|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "ground|intimidate|lumberry|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|intimidate|lumberry|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "steel|moxie|heavydutyboots|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|moxie|heavydutyboots|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "ground|moxie|heavydutyboots|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|moxie|heavydutyboots|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625, + "ground|moxie|lumberry|jolly|0,252,0,0,4,252|outrage|dualwingbeat|earthquake|dragondance": 1.5625, + "ground|moxie|lumberry|jolly|0,252,0,0,4,252|outrage|roost|earthquake|dragondance": 1.5625 + }, + "terrakion": { + "rock|justified|choiceband|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|quickattack": 25.0, + "ghost|justified|choiceband|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|terablast": 25.0, + "flying|justified|airballoon|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|swordsdance": 10.0, + "flying|justified|airballoon|jolly|0,252,0,0,4,252|closecombat|stoneedge|taunt|swordsdance": 10.0, + "flying|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|swordsdance": 10.0, + "flying|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|substitute|swordsdance": 10.0, + "rock|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|rockslide": 2.5, + "rock|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|stealthrock": 2.5, + "ground|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|rockslide": 2.5, + "ground|justified|leftovers|jolly|0,252,0,0,4,252|closecombat|stoneedge|earthquake|stealthrock": 2.5 + }, + "umbreon": { + "poison|synchronize|leftovers|calm|252,0,4,0,252,0|foulplay|toxic|wish|protect": 12.5, + "ghost|synchronize|leftovers|calm|252,0,4,0,252,0|foulplay|toxic|wish|protect": 12.5, + "poison|innerfocus|leftovers|calm|252,0,4,0,252,0|foulplay|toxic|wish|protect": 12.5, + "ghost|innerfocus|leftovers|calm|252,0,4,0,252,0|foulplay|toxic|wish|protect": 12.5, + "poison|synchronize|heavydutyboots|calm|252,0,4,0,252,0|foulplay|toxic|wish|moonlight": 12.5, + "ghost|synchronize|heavydutyboots|calm|252,0,4,0,252,0|foulplay|toxic|wish|moonlight": 12.5, + "poison|innerfocus|heavydutyboots|calm|252,0,4,0,252,0|foulplay|toxic|wish|moonlight": 12.5, + "ghost|innerfocus|heavydutyboots|calm|252,0,4,0,252,0|foulplay|toxic|wish|moonlight": 12.5 + }, + "weezinggalar": { + "steel|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "steel|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "steel|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "ghost|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "ghost|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "ghost|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "water|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "water|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "water|levitate|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "steel|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "steel|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "steel|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "ghost|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "ghost|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "ghost|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "water|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 5.0, + "water|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 5.0, + "water|levitate|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 5.0, + "ghost|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 0.8333333333333334, + "ghost|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 0.8333333333333334, + "ghost|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 0.8333333333333334, + "water|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 0.8333333333333334, + "water|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 0.8333333333333334, + "water|neutralizinggas|leftovers|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 0.8333333333333334, + "ghost|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 0.8333333333333334, + "ghost|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 0.8333333333333334, + "ghost|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 0.8333333333333334, + "water|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|defog": 0.8333333333333334, + "water|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|flamethrower": 0.8333333333333334, + "water|neutralizinggas|heavydutyboots|bold|252,0,120,0,0,136|strangesteam|painsplit|willowisp|taunt": 0.8333333333333334 + }, + "zoroarkhisui": { + "fairy|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|terablast|flamethrower|trick": 10.0, + "fairy|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|terablast|flamethrower|grassknot": 10.0, + "fairy|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|terablast|flamethrower|uturn": 10.0, + "ghost|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|hypervoice|flamethrower|trick": 10.0, + "ghost|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|hypervoice|flamethrower|grassknot": 10.0, + "ghost|illusion|choicespecs|timid|0,0,0,252,4,252|shadowball|hypervoice|flamethrower|uturn": 10.0, + "ghost|illusion|choicescarf|timid|0,0,0,252,4,252|shadowball|hypervoice|flamethrower|trick": 20.0, + "ghost|illusion|choicescarf|timid|0,0,0,252,4,252|shadowball|hypervoice|uturn|trick": 20.0 + }, + "amoonguss": { + "fairy|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "fairy|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "water|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "water|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "steel|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "steel|regenerator|rockyhelmet|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "fairy|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "fairy|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "steel|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "steel|regenerator|heavydutyboots|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "fairy|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "fairy|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "water|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "water|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555, + "steel|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|foulplay": 5.555555555555555, + "steel|regenerator|leftovers|bold|248,0,252,0,8,0|stunspore|gigadrain|sludgebomb|toxic": 5.555555555555555 + }, + "conkeldurr": { + "steel|guts|flameorb|adamant|92,252,0,0,0,164|facade|closecombat|knockoff|machpunch": 22.5, + "steel|guts|flameorb|adamant|92,252,0,0,0,164|facade|drainpunch|knockoff|machpunch": 22.5, + "normal|guts|flameorb|adamant|92,252,0,0,0,164|facade|closecombat|knockoff|machpunch": 22.5, + "normal|guts|flameorb|adamant|92,252,0,0,0,164|facade|drainpunch|knockoff|machpunch": 22.5, + "steel|guts|flameorb|adamant|0,252,0,0,4,252|facade|closecombat|knockoff|machpunch": 2.5, + "steel|guts|flameorb|adamant|0,252,0,0,4,252|facade|drainpunch|knockoff|machpunch": 2.5, + "normal|guts|flameorb|adamant|0,252,0,0,4,252|facade|closecombat|knockoff|machpunch": 2.5, + "normal|guts|flameorb|adamant|0,252,0,0,4,252|facade|drainpunch|knockoff|machpunch": 2.5 + }, + "feraligatr": { + "dark|sheerforce|lifeorb|jolly|0,252,0,0,4,252|dragondance|icepunch|liquidation|crunch": 70.0, + "dark|sheerforce|lifeorb|adamant|0,252,0,0,4,252|swordsdance|aquajet|liquidation|crunch": 7.5, + "dark|sheerforce|lifeorb|adamant|0,252,0,0,4,252|swordsdance|aquajet|icepunch|crunch": 7.5, + "dark|sheerforce|lifeorb|jolly|0,252,0,0,4,252|swordsdance|aquajet|liquidation|crunch": 7.5, + "dark|sheerforce|lifeorb|jolly|0,252,0,0,4,252|swordsdance|aquajet|icepunch|crunch": 7.5 + }, + "gligar": { + "water|immunity|eviolite|impish|252,0,204,0,36,16|spikes|earthquake|toxic|uturn": 25.0, + "water|immunity|eviolite|impish|252,0,204,0,36,16|spikes|earthquake|toxic|knockoff": 25.0, + "water|immunity|eviolite|impish|252,0,204,0,36,16|stealthrock|earthquake|toxic|uturn": 25.0, + "water|immunity|eviolite|impish|252,0,204,0,36,16|stealthrock|earthquake|toxic|knockoff": 25.0 + }, + "gyarados": { + "flying|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|terablast": 35.0, + "flying|moxie|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|terablast": 35.0, + "ground|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|icefang": 5.0, + "ground|moxie|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|icefang": 5.0, + "ground|intimidate|covertcloak|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|taunt": 10.0, + "ground|moxie|covertcloak|jolly|0,252,4,0,0,252|dragondance|waterfall|earthquake|taunt": 10.0 + }, + "mienshao": { + "dark|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|tripleaxel": 12.5, + "dark|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|icespinner": 12.5, + "steel|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|tripleaxel": 12.5, + "steel|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|icespinner": 12.5, + "dark|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|icespinner": 12.5, + "dark|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|stoneedge": 12.5, + "fighting|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|icespinner": 12.5, + "fighting|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|uturn|stoneedge": 12.5 + }, + "necrozma": { + "fairy|prismarmor|lumberry|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|knockoff": 6.25, + "fairy|prismarmor|lumberry|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|xscissor": 6.25, + "electric|prismarmor|lumberry|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|knockoff": 6.25, + "electric|prismarmor|lumberry|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|xscissor": 6.25, + "fire|prismarmor|weaknesspolicy|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|knockoff": 12.5, + "fire|prismarmor|weaknesspolicy|jolly|0,252,4,0,0,252|photongeyser|earthquake|dragondance|xscissor": 12.5, + "ghost|prismarmor|powerherb|modest|0,0,4,252,0,252|photongeyser|earthpower|meteorbeam|stealthrock": 50.0 + }, + "ninetalesalola": { + "ground|snowwarning|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|freezedry|moonblast|terablast": 50.0, + "ground|snowwarning|heavydutyboots|timid|0,0,4,252,0,252|nastyplot|blizzard|moonblast|terablast": 50.0 + }, + "slowbrogalar": { + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|psyshock|flamethrower|slackoff|toxic": 30.0, + "ghost|regenerator|colburberry|bold|252,0,252,4,0,0|psyshock|flamethrower|slackoff|toxic": 30.0, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|sludgebomb|flamethrower|slackoff|calmmind": 20.0, + "water|regenerator|covertcloak|bold|252,0,252,4,0,0|sludgebomb|flamethrower|slackoff|calmmind": 20.0 + }, + "talonflame": { + "dragon|flamebody|heavydutyboots|jolly|248,0,28,0,0,232|bravebird|defog|willowisp|roost": 25.0, + "dragon|flamebody|heavydutyboots|jolly|248,0,28,0,0,232|bravebird|uturn|willowisp|roost": 25.0, + "ghost|flamebody|heavydutyboots|jolly|248,0,28,0,0,232|bravebird|defog|willowisp|roost": 25.0, + "ghost|flamebody|heavydutyboots|jolly|248,0,28,0,0,232|bravebird|uturn|willowisp|roost": 25.0 + }, + "vaporeon": { + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|haze": 6.25, + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|calmmind": 6.25, + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|icebeam": 6.25, + "fairy|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|haze": 6.25, + "fairy|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|calmmind": 6.25, + "fairy|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|icebeam": 6.25, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|haze": 6.25, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|calmmind": 6.25, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|icebeam": 6.25, + "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|haze": 6.25, + "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|calmmind": 6.25, + "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|icebeam": 6.25, + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 6.25, + "fairy|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 6.25, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 6.25, + "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 6.25 + }, + "wochien": { + "poison|tabletsofruin|leftovers|impish|252,0,200,0,0,56|knockoff|protect|leechseed|foulplay": 12.5, + "poison|tabletsofruin|leftovers|impish|252,0,200,0,0,56|knockoff|protect|leechseed|ruination": 12.5, + "ghost|tabletsofruin|leftovers|impish|252,0,200,0,0,56|knockoff|protect|leechseed|foulplay": 12.5, + "ghost|tabletsofruin|leftovers|impish|252,0,200,0,0,56|knockoff|protect|leechseed|ruination": 12.5, + "poison|tabletsofruin|leftovers|careful|252,0,0,0,200,56|knockoff|protect|leechseed|foulplay": 12.5, + "poison|tabletsofruin|leftovers|careful|252,0,0,0,200,56|knockoff|protect|leechseed|ruination": 12.5, + "ghost|tabletsofruin|leftovers|careful|252,0,0,0,200,56|knockoff|protect|leechseed|foulplay": 12.5, + "ghost|tabletsofruin|leftovers|careful|252,0,0,0,200,56|knockoff|protect|leechseed|ruination": 12.5 + }, + "azelf": { + "steel|levitate|expertbelt|naive|0,4,0,252,0,252|psychic|flamethrower|uturn|energyball": 60.0, + "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|flamethrower|dazzlinggleam|trick": 5.0, + "fire|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|flamethrower|dazzlinggleam|trick": 5.0, + "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|flamethrower|dazzlinggleam|uturn": 5.0, + "fire|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|flamethrower|dazzlinggleam|uturn": 5.0, + "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|shadowball|dazzlinggleam|trick": 5.0, + "ghost|levitate|choicescarf|timid|0,0,0,252,4,252|psyshock|shadowball|dazzlinggleam|trick": 5.0, + "fairy|levitate|choicescarf|timid|0,0,4,252,0,252|psyshock|shadowball|dazzlinggleam|uturn": 5.0, + "ghost|levitate|choicescarf|timid|0,0,4,252,0,252|psyshock|shadowball|dazzlinggleam|uturn": 5.0 + }, + "crawdaunt": { + "water|adaptability|lifeorb|adamant|0,252,0,0,4,252|crabhammer|knockoff|aquajet|swordsdance": 50.0, + "fighting|adaptability|choiceband|adamant|0,252,0,0,4,252|crabhammer|knockoff|aquajet|closecombat": 50.0 + }, + "chesnaught": { + "steel|bulletproof|rockyhelmet|impish|252,0,252,0,4,0|spikes|knockoff|synthesis|bodypress": 100.0 + }, + "cresselia": { + "poison|levitate|leftovers|bold|252,0,236,0,0,20|calmmind|moonblast|storedpower|moonlight": 100.0 + }, + "entei": { + "normal|innerfocus|choiceband|jolly|0,252,4,0,0,252|extremespeed|sacredfire|crunch|stoneedge": 25.0, + "normal|innerfocus|choiceband|jolly|0,252,4,0,0,252|extremespeed|sacredfire|crunch|stompingtantrum": 25.0, + "dark|innerfocus|choiceband|jolly|0,252,4,0,0,252|extremespeed|sacredfire|crunch|stoneedge": 25.0, + "dark|innerfocus|choiceband|jolly|0,252,4,0,0,252|extremespeed|sacredfire|crunch|stompingtantrum": 25.0 + }, + "gastrodon": { + "ghost|stickyhold|rockyhelmet|relaxed|252,0,252,0,4,0|spikes|earthquake|icebeam|recover": 25.0, + "poison|stickyhold|rockyhelmet|relaxed|252,0,252,0,4,0|spikes|earthquake|icebeam|recover": 25.0, + "ghost|stickyhold|heavydutyboots|relaxed|252,0,252,0,4,0|spikes|earthquake|icebeam|recover": 25.0, + "poison|stickyhold|heavydutyboots|relaxed|252,0,252,0,4,0|spikes|earthquake|icebeam|recover": 25.0 + }, + "kleavor": { + "fighting|sharpness|choicescarf|jolly|0,252,4,0,0,252|stoneaxe|uturn|closecombat|xscissor": 100.0 + }, + "klefki": { + "ghost|prankster|leftovers|impish|252,0,4,0,252,0|thunderwave|foulplay|spikes|playrough": 12.5, + "ghost|prankster|leftovers|impish|252,0,4,0,252,0|thunderwave|magnetrise|spikes|playrough": 12.5, + "water|prankster|leftovers|impish|252,0,4,0,252,0|thunderwave|foulplay|spikes|playrough": 12.5, + "water|prankster|leftovers|impish|252,0,4,0,252,0|thunderwave|magnetrise|spikes|playrough": 12.5, + "ghost|prankster|leftovers|bold|252,0,4,0,252,0|thunderwave|foulplay|spikes|dazzlinggleam": 12.5, + "ghost|prankster|leftovers|bold|252,0,4,0,252,0|thunderwave|magnetrise|spikes|dazzlinggleam": 12.5, + "water|prankster|leftovers|bold|252,0,4,0,252,0|thunderwave|foulplay|spikes|dazzlinggleam": 12.5, + "water|prankster|leftovers|bold|252,0,4,0,252,0|thunderwave|magnetrise|spikes|dazzlinggleam": 12.5 + }, + "lilliganthisui": { + "psychic|hustle|widelens|jolly|0,252,0,0,4,252|closecombat|leafblade|victorydance|terablast": 50.0, + "ice|hustle|widelens|jolly|0,252,0,0,4,252|closecombat|leafblade|victorydance|icespinner": 25.0, + "fighting|hustle|widelens|jolly|0,252,0,0,4,252|closecombat|leafblade|victorydance|icespinner": 25.0 + }, + "lycanrocdusk": { + "fighting|toughclaws|choiceband|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|psychicfangs": 6.25, + "fighting|toughclaws|choiceband|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|stoneedge": 6.25, + "dark|toughclaws|choiceband|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|psychicfangs": 6.25, + "dark|toughclaws|choiceband|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|stoneedge": 6.25, + "fighting|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|psychicfangs": 6.25, + "fighting|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|stoneedge": 6.25, + "dark|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|psychicfangs": 6.25, + "dark|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|accelerock|crunch|stoneedge": 6.25, + "fighting|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|swordsdance|stoneedge|accelerock": 25.0, + "dark|toughclaws|lifeorb|jolly|0,252,0,0,4,252|closecombat|swordsdance|stoneedge|suckerpunch": 25.0 + }, + "mukalola": { + "water|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 25.0, + "fairy|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 25.0, + "steel|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 25.0, + "flying|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 25.0 + }, + "rotomheat": { + "water|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|voltswitch|nastyplot|willowisp": 8.333333333333334, + "water|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|thunderbolt|nastyplot|willowisp": 8.333333333333334, + "fairy|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|voltswitch|nastyplot|willowisp": 8.333333333333334, + "fairy|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|thunderbolt|nastyplot|willowisp": 8.333333333333334, + "steel|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|voltswitch|nastyplot|willowisp": 8.333333333333334, + "steel|levitate|heavydutyboots|timid|248,0,0,4,4,252|overheat|thunderbolt|nastyplot|willowisp": 8.333333333333334, + "water|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|willowisp": 8.333333333333334, + "water|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|thunderbolt": 8.333333333333334, + "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|willowisp": 8.333333333333334, + "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|thunderbolt": 8.333333333333334, + "steel|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|willowisp": 8.333333333333334, + "steel|levitate|choicescarf|timid|0,0,0,252,4,252|overheat|voltswitch|trick|thunderbolt": 8.333333333333334 + }, + "bellibolt": { + "water|static|heavydutyboots|bold|252,0,252,4,0,0|voltswitch|slackoff|muddywater|toxic": 100.0 + }, + "breloom": { + "fighting|technician|choiceband|adamant|0,252,0,0,4,252|machpunch|bulletseed|closecombat|rocktomb": 12.5, + "fighting|technician|choiceband|adamant|0,252,0,0,4,252|machpunch|bulletseed|closecombat|bulldoze": 12.5, + "fighting|technician|choiceband|jolly|0,252,0,0,4,252|machpunch|bulletseed|closecombat|rocktomb": 12.5, + "fighting|technician|choiceband|jolly|0,252,0,0,4,252|machpunch|bulletseed|closecombat|bulldoze": 12.5, + "fighting|technician|loadeddice|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fighting|technician|loadeddice|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fire|technician|loadeddice|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fire|technician|loadeddice|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fighting|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fighting|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fire|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fire|technician|lifeorb|adamant|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125, + "fire|technician|lifeorb|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|rocktomb": 3.125, + "fire|technician|lifeorb|jolly|0,252,0,0,4,252|machpunch|bulletseed|swordsdance|bulldoze": 3.125 + }, + "chansey": { + "ghost|naturalcure|eviolite|bold|4,0,252,0,252,0|seismictoss|softboiled|healbell|stealthrock": 100.0 + }, + "gallade": { + "dark|sharpness|lumberry|adamant|0,252,0,0,4,252|nightslash|agility|sacredsword|psychocut": 100.0 + }, + "infernape": { + "fighting|blaze|choicescarf|jolly|0,252,0,0,4,252|uturn|switcheroo|closecombat|flareblitz": 50.0, + "fighting|blaze|airballoon|timid|0,0,0,252,4,252|nastyplot|vacuumwave|fireblast|grassknot": 12.5, + "grass|blaze|airballoon|timid|0,0,0,252,4,252|nastyplot|vacuumwave|fireblast|grassknot": 12.5, + "fighting|blaze|expertbelt|timid|0,0,0,252,4,252|nastyplot|vacuumwave|fireblast|grassknot": 12.5, + "grass|blaze|expertbelt|timid|0,0,0,252,4,252|nastyplot|vacuumwave|fireblast|grassknot": 12.5 + }, + "kilowattrel": { + "electric|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|uturn|thunderbolt|hurricane|roost": 25.0, + "steel|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|uturn|thunderbolt|hurricane|roost": 25.0, + "electric|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|thunderbolt|hurricane|roost": 25.0, + "steel|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|thunderbolt|hurricane|roost": 25.0 + }, + "oricoriopompom": { + "ground|dancer|heavydutyboots|timid|252,0,0,0,4,252|quiverdance|revelationdance|hurricane|roost": 25.0, + "ground|dancer|heavydutyboots|timid|252,0,0,0,4,252|quiverdance|revelationdance|taunt|roost": 25.0, + "water|dancer|heavydutyboots|timid|252,0,0,0,4,252|quiverdance|revelationdance|hurricane|roost": 25.0, + "water|dancer|heavydutyboots|timid|252,0,0,0,4,252|quiverdance|revelationdance|taunt|roost": 25.0 + }, + "palossand": { + "fairy|watercompaction|heavydutyboots|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668, + "water|watercompaction|heavydutyboots|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668, + "poison|watercompaction|heavydutyboots|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668, + "fairy|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668, + "water|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668, + "poison|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shadowball|shoreup": 16.666666666666668 + }, + "porygonz": { + "ground|download|heavydutyboots|modest|0,0,0,252,4,252|agility|terablast|icebeam|thunderbolt": 100.0 + }, + "quagsire": { + "poison|unaware|heavydutyboots|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|unaware|heavydutyboots|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334, + "poison|unaware|leftovers|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|unaware|leftovers|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334, + "poison|unaware|rockyhelmet|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|unaware|rockyhelmet|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334, + "poison|waterabsorb|heavydutyboots|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|waterabsorb|heavydutyboots|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334, + "poison|waterabsorb|leftovers|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|waterabsorb|leftovers|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334, + "poison|waterabsorb|rockyhelmet|impish|252,4,252,0,0,0|toxic|earthquake|recover|spikes": 8.333333333333334, + "poison|waterabsorb|rockyhelmet|impish|252,4,252,0,0,0|toxic|earthquake|recover|stealthrock": 8.333333333333334 + }, + "raikou": { + "water|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|aurasphere": 3.75, + "water|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|voltswitch": 3.75, + "flying|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|aurasphere": 3.75, + "flying|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|voltswitch": 3.75, + "water|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|aurasphere": 3.75, + "water|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|voltswitch": 3.75, + "flying|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|aurasphere": 3.75, + "flying|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|voltswitch": 3.75, + "water|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|substitute": 10.0, + "flying|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|substitute": 10.0, + "water|pressure|heavydutyboots|timid|0,0,4,252,0,252|voltswitch|thunderbolt|scald|aurasphere": 16.666666666666668, + "fairy|pressure|heavydutyboots|timid|0,0,4,252,0,252|voltswitch|thunderbolt|scald|aurasphere": 16.666666666666668, + "fighting|pressure|heavydutyboots|timid|0,0,4,252,0,252|voltswitch|thunderbolt|scald|aurasphere": 16.666666666666668 + }, + "regidrago": { + "steel|dragonsmaw|choicespecs|timid|0,0,0,252,4,252|dragonenergy|dracometeor|earthpower|terablast": 20.0, + "steel|dragonsmaw|choicespecs|modest|0,0,0,252,4,252|dragonenergy|dracometeor|earthpower|terablast": 20.0, + "steel|dragonsmaw|loadeddice|jolly|0,252,0,0,4,252|scaleshot|dragondance|earthquake|terablast": 30.0, + "steel|dragonsmaw|choicescarf|timid|0,0,0,252,4,252|dragonenergy|dracometeor|earthpower|terablast": 30.0 + }, + "rotommow": { + "steel|levitate|leftovers|timid|0,0,0,252,4,252|nastyplot|leafstorm|discharge|painsplit": 100.0 + }, + "swampert": { + "poison|torrent|leftovers|impish|252,4,252,0,0,0|stealthrock|earthquake|knockoff|flipturn": 25.0, + "poison|torrent|leftovers|impish|252,4,252,0,0,0|stealthrock|earthquake|roar|flipturn": 25.0, + "poison|torrent|leftovers|relaxed|252,0,252,0,4,0|stealthrock|earthquake|knockoff|surf": 25.0, + "poison|torrent|leftovers|relaxed|252,0,252,0,4,0|stealthrock|earthquake|roar|surf": 25.0 + }, + "toxtricity": { + "normal|punkrock|choicespecs|modest|0,0,0,252,4,252|overdrive|boomburst|voltswitch|sludgebomb": 50.0, + "normal|punkrock|choicespecs|modest|0,0,0,252,4,252|overdrive|boomburst|voltswitch|snarl": 50.0 + }, + "araquanid": { + "ghost|waterbubble|heavydutyboots|adamant|68,252,0,0,0,188|liquidation|stickyweb|mirrorcoat|leechlife": 50.0, + "water|waterbubble|heavydutyboots|adamant|68,252,0,0,0,188|liquidation|stickyweb|mirrorcoat|leechlife": 50.0 + }, + "golurk": { + "steel|noguard|colburberry|adamant|172,252,0,0,0,84|earthquake|poltergeist|stoneedge|stealthrock": 100.0 + }, + "ditto": { + "steel|imposter|choicescarf|bold|252,0,252,0,4,0|transform": 100.0 + }, + "munkidori": { + "grass|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|grassknot": 10.0, + "grass|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|grassknot": 10.0, + "dark|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|fakeout": 2.5, + "dark|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|fakeout": 2.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 12.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 12.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 12.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 12.5, + "poison|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|trick": 12.5, + "poison|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|trick": 12.5 + }, + "torterra": { + "steel|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|rockblast|shellsmash": 33.333333333333336, + "fire|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|rockblast|shellsmash": 33.333333333333336, + "poison|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|rockblast|shellsmash": 33.333333333333336 + }, + "barraskewda": { + "dark|swiftswim|choiceband|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|crunch": 17.5, + "fighting|swiftswim|choiceband|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|crunch": 17.5, + "dark|swiftswim|heavydutyboots|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|crunch": 17.5, + "fighting|swiftswim|heavydutyboots|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|crunch": 17.5, + "water|swiftswim|choiceband|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|aquajet": 7.5, + "fighting|swiftswim|choiceband|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|aquajet": 7.5, + "water|swiftswim|heavydutyboots|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|aquajet": 7.5, + "fighting|swiftswim|heavydutyboots|jolly|0,252,0,0,4,252|liquidation|flipturn|closecombat|aquajet": 7.5 + }, + "ribombee": { + "ground|shielddust|heavydutyboots|timid|0,0,0,252,4,252|moonblast|bugbuzz|terablast|quiverdance": 100.0 + }, + "diancie": { + "water|clearbody|leftovers|careful|252,4,0,0,252,0|stealthrock|encore|diamondstorm|bodypress": 50.0, + "ghost|clearbody|leftovers|careful|252,4,0,0,252,0|stealthrock|encore|diamondstorm|bodypress": 50.0 + }, + "lucario": { + "normal|innerfocus|lifeorb|jolly|0,252,0,0,4,252|swordsdance|closecombat|meteormash|extremespeed": 40.0, + "normal|innerfocus|choiceband|jolly|0,252,0,0,4,252|crunch|closecombat|meteormash|extremespeed": 15.0, + "normal|justified|choiceband|jolly|0,252,0,0,4,252|crunch|closecombat|meteormash|extremespeed": 15.0, + "ghost|innerfocus|lifeorb|timid|0,0,0,252,4,252|nastyplot|flashcannon|aurasphere|shadowball": 15.0, + "ghost|innerfocus|lifeorb|timid|0,0,0,252,4,252|nastyplot|flashcannon|vacuumwave|shadowball": 15.0 + }, + "salazzle": { + "dark|corrosion|leftovers|timid|248,0,0,4,4,252|substitute|toxic|flamethrower|protect": 50.0, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|fireblast|sludgebomb|knockoff|toxic": 12.5, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|sludgebomb|knockoff|toxic": 12.5, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|fireblast|sludgebomb|encore|toxic": 12.5, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|sludgebomb|encore|toxic": 12.5 + }, + "indeedee": { + "fairy|psychicsurge|choicescarf|timid|0,0,0,252,4,252|expandingforce|dazzlinggleam|trick|healingwish": 100.0 + }, + "toxicroak": { + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|swordsdance|gunkshot|closecombat|knockoff": 12.5, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|swordsdance|gunkshot|closecombat|suckerpunch": 12.5, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|swordsdance|gunkshot|drainpunch|knockoff": 12.5, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|swordsdance|gunkshot|drainpunch|suckerpunch": 12.5, + "dark|dryskin|airballoon|jolly|0,252,0,0,4,252|swordsdance|gunkshot|closecombat|knockoff": 12.5, + "dark|dryskin|airballoon|jolly|0,252,0,0,4,252|swordsdance|gunkshot|closecombat|suckerpunch": 12.5, + "dark|dryskin|airballoon|jolly|0,252,0,0,4,252|swordsdance|gunkshot|drainpunch|knockoff": 12.5, + "dark|dryskin|airballoon|jolly|0,252,0,0,4,252|swordsdance|gunkshot|drainpunch|suckerpunch": 12.5 + } + }, + "nu": { + "flygon": { + "steel|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|uturn|outrage|stoneedge": 7.5, + "steel|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|uturn|outrage|superpower": 7.5, + "steel|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|uturn|dragonclaw|stoneedge": 7.5, + "steel|levitate|choicescarf|jolly|0,252,0,0,4,252|earthquake|uturn|dragonclaw|superpower": 7.5, + "steel|levitate|loadeddice|jolly|0,252,0,0,4,252|earthquake|scaleshot|dragondance|substitute": 10.0, + "steel|levitate|loadeddice|jolly|0,252,0,0,4,252|earthquake|scaleshot|dragondance|throatchop": 10.0, + "fire|levitate|loadeddice|jolly|0,252,0,0,4,252|earthquake|scaleshot|dragondance|firepunch": 20.0, + "steel|levitate|insectplate|jolly|0,252,0,0,4,252|earthquake|uturn|firstimpression|stealthrock": 10.0, + "bug|levitate|insectplate|jolly|0,252,0,0,4,252|earthquake|uturn|firstimpression|stealthrock": 10.0, + "bug|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|scaleshot|firstimpression": 2.5, + "bug|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|outrage|firstimpression": 2.5, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|scaleshot|throatchop": 1.25, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|scaleshot|stoneedge": 1.25, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|outrage|throatchop": 1.25, + "steel|levitate|choiceband|jolly|0,252,0,0,4,252|earthquake|uturn|outrage|stoneedge": 1.25 + }, + "mienshao": { + "fighting|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|icespinner": 6.666666666666667, + "fighting|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|poisonjab": 6.666666666666667, + "fighting|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|tripleaxel": 6.666666666666667, + "dark|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|icespinner": 6.666666666666667, + "dark|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|poisonjab": 6.666666666666667, + "dark|regenerator|choicescarf|jolly|0,252,0,0,4,252|closecombat|uturn|knockoff|tripleaxel": 6.666666666666667, + "electric|regenerator|assaultvest|jolly|132,0,0,0,160,216|closecombat|uturn|knockoff|tripleaxel": 7.5, + "electric|regenerator|assaultvest|jolly|132,0,0,0,160,216|closecombat|uturn|knockoff|icespinner": 7.5, + "poison|regenerator|assaultvest|jolly|0,132,0,0,160,216|closecombat|uturn|knockoff|poisonjab": 15.0, + "fighting|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|fakeout|knockoff|uturn": 15.0, + "dark|regenerator|lifeorb|jolly|0,252,0,0,4,252|closecombat|fakeout|knockoff|uturn": 15.0 + }, + "bronzong": { + "fairy|levitate|leftovers|calm|252,0,4,0,252,0|stealthrock|psychicnoise|irondefense|bodypress": 10.0, + "water|levitate|leftovers|calm|252,0,4,0,252,0|stealthrock|psychicnoise|irondefense|bodypress": 10.0, + "fairy|levitate|leftovers|calm|252,0,164,0,92,0|stealthrock|psychicnoise|irondefense|bodypress": 10.0, + "water|levitate|leftovers|calm|252,0,164,0,92,0|stealthrock|psychicnoise|irondefense|bodypress": 10.0, + "fairy|levitate|leftovers|sassy|252,0,4,0,252,0|stealthrock|psychicnoise|earthquake|heavyslam": 10.0, + "water|levitate|leftovers|sassy|252,0,4,0,252,0|stealthrock|psychicnoise|earthquake|heavyslam": 10.0, + "fairy|levitate|leftovers|calm|252,0,0,0,204,52|calmmind|irondefense|bodypress|storedpower": 13.333333333333334, + "water|levitate|leftovers|calm|252,0,0,0,204,52|calmmind|irondefense|bodypress|storedpower": 13.333333333333334, + "poison|levitate|leftovers|calm|252,0,0,0,204,52|calmmind|irondefense|bodypress|storedpower": 13.333333333333334 + }, + "incineroar": { + "ghost|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "flying|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "flying|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "flying|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "poison|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "poison|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "poison|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "water|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "water|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "water|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "flying|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "flying|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "flying|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "poison|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "poison|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "poison|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "water|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "water|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "water|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "dragon|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|earthquake": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|uturn": 1.1111111111111112, + "fairy|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|drainpunch": 1.1111111111111112, + "ghost|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "flying|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "poison|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "grass|intimidate|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "ghost|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "flying|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "poison|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "grass|intimidate|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|flareblitz|swordsdance|trailblaze": 1.25, + "ghost|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "ghost|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "flying|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "flying|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "poison|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "poison|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "water|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "water|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "dragon|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "dragon|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "fairy|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|uturn": 0.8333333333333334, + "fairy|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|swordsdance|earthquake": 0.8333333333333334, + "fairy|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "fairy|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335, + "water|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "water|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335, + "poison|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "poison|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335, + "ghost|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "ghost|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335, + "dragon|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "dragon|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335, + "flying|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|uturn": 3.3333333333333335, + "flying|intimidate|heavydutyboots|careful|252,0,0,0,212,44|knockoff|flareblitz|willowisp|partingshot": 3.3333333333333335 + }, + "kilowattrel": { + "steel|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|uturn|thunderbolt|hurricane|roost": 50.0, + "steel|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|thunderbolt|hurricane|roost": 50.0 + }, + "overqwil": { + "steel|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "steel|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "steel|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "fairy|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "fairy|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "fairy|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "flying|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "flying|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "flying|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "steel|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "steel|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "steel|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "fairy|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "fairy|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "fairy|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "flying|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|taunt": 2.5, + "flying|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|haze": 2.5, + "flying|intimidate|leftovers|jolly|252,4,0,0,0,252|barbbarrage|throatchop|spikes|painsplit": 2.5, + "steel|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "steel|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "steel|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "fairy|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "fairy|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "fairy|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "flying|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "flying|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "flying|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "fairy|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "fairy|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "fairy|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "flying|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|taunt": 2.5, + "flying|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|haze": 2.5, + "flying|intimidate|leftovers|jolly|0,252,4,0,0,252|gunkshot|throatchop|spikes|painsplit": 2.5, + "dragon|intimidate|loadeddice|jolly|0,252,4,0,0,252|gunkshot|throatchop|swordsdance|scaleshot": 10.0 + }, + "taurospaldeaaqua": { + "water|intimidate|choiceband|jolly|0,252,4,0,0,252|wavecrash|closecombat|aquajet|earthquake": 6.25, + "water|intimidate|choiceband|jolly|0,252,4,0,0,252|wavecrash|closecombat|aquajet|zenheadbutt": 6.25, + "flying|intimidate|choiceband|jolly|0,252,4,0,0,252|wavecrash|closecombat|aquajet|earthquake": 6.25, + "flying|intimidate|choiceband|jolly|0,252,4,0,0,252|wavecrash|closecombat|aquajet|zenheadbutt": 6.25, + "water|intimidate|choicescarf|jolly|0,252,4,0,0,252|wavecrash|closecombat|ragingbull|earthquake": 6.25, + "water|intimidate|choicescarf|jolly|0,252,4,0,0,252|wavecrash|closecombat|ragingbull|zenheadbutt": 6.25, + "flying|intimidate|choicescarf|jolly|0,252,4,0,0,252|wavecrash|closecombat|ragingbull|earthquake": 6.25, + "flying|intimidate|choicescarf|jolly|0,252,4,0,0,252|wavecrash|closecombat|ragingbull|zenheadbutt": 6.25, + "water|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|substitute": 4.166666666666667, + "water|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|aquajet": 4.166666666666667, + "water|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|earthquake": 4.166666666666667, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|substitute": 4.166666666666667, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|aquajet": 4.166666666666667, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|earthquake": 4.166666666666667, + "water|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|zenheadbutt": 4.166666666666667, + "water|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|aquajet": 4.166666666666667, + "water|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|earthquake": 4.166666666666667, + "steel|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|zenheadbutt": 4.166666666666667, + "steel|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|aquajet": 4.166666666666667, + "steel|intimidate|lumberry|jolly|0,252,4,0,0,252|wavecrash|closecombat|bulkup|earthquake": 4.166666666666667 + }, + "toxicroak": { + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|closecombat|gunkshot|swordsdance|knockoff": 15.0, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|closecombat|gunkshot|swordsdance|suckerpunch": 15.0, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|drainpunch|gunkshot|swordsdance|knockoff": 15.0, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|drainpunch|gunkshot|swordsdance|suckerpunch": 15.0, + "dark|dryskin|lifeorb|jolly|0,252,0,0,4,252|closecombat|knockoff|swordsdance|suckerpunch": 5.0, + "dark|dryskin|lifeorb|adamant|0,252,0,0,4,252|closecombat|knockoff|swordsdance|suckerpunch": 5.0, + "ground|dryskin|lifeorb|jolly|0,252,0,0,4,252|closecombat|gunkshot|swordsdance|earthquake": 15.0, + "ground|dryskin|lifeorb|jolly|0,252,0,0,4,252|drainpunch|gunkshot|swordsdance|earthquake": 15.0 + }, + "basculegion": { + "water|adaptability|assaultvest|jolly|0,252,0,0,4,252|wavecrash|flipturn|psychicfangs|aquajet": 25.0, + "water|adaptability|assaultvest|jolly|0,252,0,0,4,252|wavecrash|flipturn|phantomforce|aquajet": 25.0, + "water|adaptability|choicescarf|jolly|0,252,0,0,4,252|wavecrash|flipturn|psychicfangs|liquidation": 25.0, + "water|adaptability|choicescarf|jolly|0,252,0,0,4,252|wavecrash|flipturn|phantomforce|liquidation": 25.0 + }, + "breloom": { + "steel|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "steel|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "steel|technician|loadeddice|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "steel|technician|loadeddice|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "steel|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "steel|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "fighting|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "fighting|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "steel|technician|loadeddice|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "steel|technician|loadeddice|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "fighting|technician|loadeddice|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|aerialace": 1.5625, + "fighting|technician|loadeddice|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|bulldoze": 1.5625, + "rock|technician|lifeorb|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|rocktomb": 3.75, + "rock|technician|loadeddice|jolly|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|rocktomb": 3.75, + "rock|technician|lifeorb|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|rocktomb": 3.75, + "rock|technician|loadeddice|adamant|0,252,0,0,4,252|swordsdance|machpunch|bulletseed|rocktomb": 3.75, + "rock|technician|choiceband|jolly|0,252,0,0,4,252|closecombat|machpunch|bulletseed|rocktomb": 7.5, + "rock|technician|choiceband|adamant|0,252,0,0,4,252|closecombat|machpunch|bulletseed|rocktomb": 7.5, + "fighting|technician|choiceband|jolly|0,252,0,0,4,252|closecombat|machpunch|bulletseed|aerialace": 1.875, + "fighting|technician|choiceband|jolly|0,252,0,0,4,252|closecombat|machpunch|bulletseed|bulldoze": 1.875, + "fire|technician|choiceband|jolly|0,252,0,0,4,252|closecombat|machpunch|bulletseed|aerialace": 1.875, + "fire|technician|choiceband|jolly|0,252,0,0,4,252|closecombat|machpunch|bulletseed|bulldoze": 1.875, + "fighting|technician|choiceband|adamant|0,252,0,0,4,252|closecombat|machpunch|bulletseed|aerialace": 1.875, + "fighting|technician|choiceband|adamant|0,252,0,0,4,252|closecombat|machpunch|bulletseed|bulldoze": 1.875, + "fire|technician|choiceband|adamant|0,252,0,0,4,252|closecombat|machpunch|bulletseed|aerialace": 1.875, + "fire|technician|choiceband|adamant|0,252,0,0,4,252|closecombat|machpunch|bulletseed|bulldoze": 1.875, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|swordsdance|facade|seedbomb|protect": 5.0, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|swordsdance|facade|seedbomb|substitute": 5.0, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|swordsdance|facade|seedbomb|toxic": 5.0, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|bulkup|facade|seedbomb|protect": 5.0, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|bulkup|facade|seedbomb|substitute": 5.0, + "normal|poisonheal|toxicorb|adamant|240,80,0,0,0,188|bulkup|facade|seedbomb|toxic": 5.0 + }, + "mukalola": { + "water|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 12.5, + "water|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonfang|knockoff|rest|sleeptalk": 12.5, + "dragon|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|rest|sleeptalk": 12.5, + "dragon|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonfang|knockoff|rest|sleeptalk": 12.5, + "water|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|drainpunch|protect": 12.5, + "water|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonfang|knockoff|drainpunch|protect": 12.5, + "dragon|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonjab|knockoff|drainpunch|protect": 12.5, + "dragon|poisontouch|leftovers|careful|252,4,0,0,252,0|poisonfang|knockoff|drainpunch|protect": 12.5 + }, + "munkidori": { + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|terablast": 2.5, + "ground|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|terablast": 2.5, + "ground|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|terablast": 2.5, + "ground|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|terablast": 2.5, + "ground|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|terablast": 2.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 2.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 2.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|focusblast": 2.5, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|focusblast": 2.5, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 2.5, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 2.5, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|focusblast": 2.5, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|focusblast": 2.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 2.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 2.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|focusblast": 2.5, + "fighting|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|focusblast": 2.5, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|focusblast": 2.5, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|focusblast": 2.5, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|focusblast": 2.5, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|focusblast": 2.5, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psychic|uturn|trick": 5.0, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgewave|psyshock|uturn|trick": 5.0, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psychic|uturn|trick": 5.0, + "flying|toxicchain|choicescarf|timid|0,0,0,252,4,252|sludgebomb|psyshock|uturn|trick": 5.0, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|nastyplot|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|nastyplot|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|nastyplot|terablast": 2.5, + "ground|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|nastyplot|terablast": 2.5, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|nastyplot|focusblast": 1.25, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|nastyplot|focusblast": 1.25, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|nastyplot|focusblast": 1.25, + "flying|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|nastyplot|focusblast": 1.25, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psychic|nastyplot|focusblast": 1.25, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgewave|psyshock|nastyplot|focusblast": 1.25, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psychic|nastyplot|focusblast": 1.25, + "fighting|toxicchain|heavydutyboots|timid|0,0,0,252,4,252|sludgebomb|psyshock|nastyplot|focusblast": 1.25 + }, + "vaporeon": { + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|haze": 12.5, + "dark|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|haze": 12.5, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|haze": 12.5, + "dark|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|haze": 12.5, + "poison|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 12.5, + "dark|waterabsorb|heavydutyboots|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 12.5, + "poison|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 12.5, + "dark|waterabsorb|leftovers|bold|252,0,252,0,4,0|scald|protect|wish|flipturn": 12.5 + }, + "vileplume": { + "water|effectspore|rockyhelmet|bold|252,0,252,0,4,0|sludgebomb|gigadrain|leechseed|strengthsap": 12.5, + "water|effectspore|rockyhelmet|bold|252,0,252,0,4,0|sludgebomb|stunspore|leechseed|strengthsap": 12.5, + "fairy|effectspore|rockyhelmet|bold|252,0,252,0,4,0|sludgebomb|gigadrain|leechseed|strengthsap": 12.5, + "fairy|effectspore|rockyhelmet|bold|252,0,252,0,4,0|sludgebomb|stunspore|leechseed|strengthsap": 12.5, + "water|effectspore|leftovers|bold|252,0,252,0,4,0|sludgebomb|gigadrain|leechseed|strengthsap": 12.5, + "water|effectspore|leftovers|bold|252,0,252,0,4,0|sludgebomb|stunspore|leechseed|strengthsap": 12.5, + "fairy|effectspore|leftovers|bold|252,0,252,0,4,0|sludgebomb|gigadrain|leechseed|strengthsap": 12.5, + "fairy|effectspore|leftovers|bold|252,0,252,0,4,0|sludgebomb|stunspore|leechseed|strengthsap": 12.5 + }, + "brambleghast": { + "ghost|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|strengthsap": 5.833333333333333, + "ghost|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|spikes": 5.833333333333333, + "ghost|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|shadowsneak": 5.833333333333333, + "fairy|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|strengthsap": 5.833333333333333, + "fairy|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|spikes": 5.833333333333333, + "fairy|windrider|heavydutyboots|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|shadowsneak": 5.833333333333333, + "ghost|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|strengthsap": 5.833333333333333, + "ghost|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|spikes": 5.833333333333333, + "ghost|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|shadowsneak": 5.833333333333333, + "fairy|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|strengthsap": 5.833333333333333, + "fairy|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|spikes": 5.833333333333333, + "fairy|windrider|colburberry|jolly|0,252,0,0,4,252|poltergeist|powerwhip|rapidspin|shadowsneak": 5.833333333333333, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|poltergeist|infestation|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|poltergeist|spikes|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|poltergeist|leechseed|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|powerwhip|infestation|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|powerwhip|spikes|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|powerwhip|leechseed|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|nightshade|infestation|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|nightshade|spikes|rapidspin|strengthsap": 3.3333333333333335, + "fairy|windrider|rockyhelmet|impish|252,0,240,0,0,16|nightshade|leechseed|rapidspin|strengthsap": 3.3333333333333335 + }, + "chandelure": { + "grass|flashfire|choicespecs|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|trick": 5.0, + "grass|flashfire|choicespecs|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|overheat": 5.0, + "grass|flashfire|choicespecs|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|trick": 5.0, + "grass|flashfire|choicespecs|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|overheat": 5.0, + "fire|flashfire|choicespecs|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|trick": 5.0, + "fire|flashfire|choicespecs|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|overheat": 5.0, + "fire|flashfire|choicespecs|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|trick": 5.0, + "fire|flashfire|choicespecs|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|overheat": 5.0, + "grass|flashfire|choicescarf|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|trick": 10.0, + "grass|flashfire|choicescarf|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|trick": 10.0, + "fire|flashfire|choicescarf|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|trick": 10.0, + "fire|flashfire|choicescarf|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|trick": 10.0, + "grass|flashfire|heavydutyboots|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|calmmind": 2.5, + "grass|flashfire|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|calmmind": 2.5, + "grass|flashfire|airballoon|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|calmmind": 2.5, + "grass|flashfire|airballoon|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|calmmind": 2.5, + "fairy|flamebody|heavydutyboots|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|calmmind": 2.5, + "fairy|flamebody|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|calmmind": 2.5, + "fairy|flamebody|airballoon|timid|0,0,0,252,4,252|fireblast|shadowball|energyball|calmmind": 2.5, + "fairy|flamebody|airballoon|timid|0,0,0,252,4,252|flamethrower|shadowball|energyball|calmmind": 2.5 + }, + "cinccino": { + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|encore": 8.333333333333334, + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|rockblast": 8.333333333333334, + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|tripleaxel": 8.333333333333334, + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|encore": 8.333333333333334, + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|rockblast": 8.333333333333334, + "ghost|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|tripleaxel": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|encore": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|rockblast": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|bulletseed|tripleaxel": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|encore": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|rockblast": 8.333333333333334, + "fire|technician|loadeddice|jolly|0,252,0,0,4,252|tidyup|tailslap|knockoff|tripleaxel": 8.333333333333334 + }, + "diancie": { + "water|clearbody|leftovers|sassy|252,0,4,0,252,0|stealthrock|diamondstorm|moonblast|bodypress": 8.333333333333334, + "steel|clearbody|leftovers|sassy|252,0,4,0,252,0|stealthrock|diamondstorm|moonblast|bodypress": 8.333333333333334, + "dragon|clearbody|leftovers|sassy|252,0,4,0,252,0|stealthrock|diamondstorm|moonblast|bodypress": 8.333333333333334, + "water|clearbody|leftovers|careful|252,0,4,0,252,0|stealthrock|diamondstorm|encore|bodypress": 8.333333333333334, + "steel|clearbody|leftovers|careful|252,0,4,0,252,0|stealthrock|diamondstorm|encore|bodypress": 8.333333333333334, + "dragon|clearbody|leftovers|careful|252,0,4,0,252,0|stealthrock|diamondstorm|encore|bodypress": 8.333333333333334, + "grass|clearbody|powerherb|quiet|252,0,4,252,0,0|trickroom|moonblast|meteorbeam|earthpower": 25.0, + "ground|clearbody|powerherb|quiet|252,0,4,252,0,0|trickroom|moonblast|meteorbeam|earthpower": 25.0 + }, + "gligar": { + "water|immunity|eviolite|impish|252,0,200,0,0,56|spikes|earthquake|uturn|toxic": 25.0, + "water|immunity|eviolite|impish|252,0,200,0,0,56|spikes|earthquake|uturn|stealthrock": 25.0, + "water|immunity|eviolite|impish|252,0,200,0,0,56|spikes|earthquake|uturn|knockoff": 12.5, + "water|immunity|eviolite|impish|252,0,200,0,0,56|spikes|earthquake|toxic|knockoff": 12.5, + "water|immunity|eviolite|impish|252,0,200,0,0,56|stealthrock|earthquake|uturn|knockoff": 12.5, + "water|immunity|eviolite|impish|252,0,200,0,0,56|stealthrock|earthquake|toxic|knockoff": 12.5 + }, + "inteleon": { + "water|torrent|choicespecs|timid|0,0,0,252,4,252|hydropump|icebeam|uturn|darkpulse": 25.0, + "water|torrent|choicespecs|timid|0,0,0,252,4,252|surf|icebeam|uturn|darkpulse": 25.0, + "ghost|torrent|choicespecs|timid|0,0,0,252,4,252|hydropump|icebeam|uturn|darkpulse": 25.0, + "ghost|torrent|choicespecs|timid|0,0,0,252,4,252|surf|icebeam|uturn|darkpulse": 25.0 + }, + "milotic": { + "fairy|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|bold|252,0,252,0,4,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|marvelscale|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|leftovers|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|heavydutyboots|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "fairy|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "dragon|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|icebeam|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|haze|recover|flipturn": 0.9259259259259259, + "steel|competitive|rockyhelmet|calm|252,0,128,0,128,0|scald|dragontail|recover|flipturn": 0.9259259259259259 + }, + "porygonz": { + "ghost|adaptability|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|nastyplot": 3.125, + "ghost|adaptability|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|thunderbolt": 3.125, + "ghost|adaptability|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|icebeam": 3.125, + "ghost|adaptability|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|recover": 3.125, + "ghost|download|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|nastyplot": 3.125, + "ghost|download|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|thunderbolt": 3.125, + "ghost|download|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|icebeam": 3.125, + "ghost|download|choicespecs|timid|0,0,0,252,4,252|triattack|shadowball|trick|recover": 3.125, + "ground|adaptability|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|nastyplot": 4.166666666666667, + "ground|adaptability|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|icebeam": 4.166666666666667, + "ground|adaptability|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|recover": 4.166666666666667, + "ground|download|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|nastyplot": 4.166666666666667, + "ground|download|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|icebeam": 4.166666666666667, + "ground|download|choicespecs|timid|0,0,0,252,4,252|terablast|shadowball|trick|recover": 4.166666666666667, + "ghost|adaptability|lifeorb|timid|0,0,0,252,4,252|triattack|shadowball|recover|nastyplot": 1.25, + "ghost|adaptability|heavydutyboots|timid|0,0,0,252,4,252|triattack|shadowball|recover|nastyplot": 1.25, + "ghost|download|lifeorb|timid|0,0,0,252,4,252|triattack|shadowball|recover|nastyplot": 1.25, + "ghost|download|heavydutyboots|timid|0,0,0,252,4,252|triattack|shadowball|recover|nastyplot": 1.25, + "ground|adaptability|lifeorb|timid|0,0,0,252,4,252|terablast|shadowball|recover|nastyplot": 1.25, + "ground|adaptability|heavydutyboots|timid|0,0,0,252,4,252|terablast|shadowball|recover|nastyplot": 1.25, + "ground|download|lifeorb|timid|0,0,0,252,4,252|terablast|shadowball|recover|nastyplot": 1.25, + "ground|download|heavydutyboots|timid|0,0,0,252,4,252|terablast|shadowball|recover|nastyplot": 1.25, + "electric|download|lifeorb|timid|0,0,0,252,4,252|triattack|thunderbolt|recover|nastyplot": 2.5, + "electric|download|heavydutyboots|timid|0,0,0,252,4,252|triattack|thunderbolt|recover|nastyplot": 2.5, + "ghost|adaptability|lifeorb|timid|0,0,0,252,4,252|triattack|shadowball|agility|nastyplot": 1.25, + "ghost|download|lifeorb|timid|0,0,0,252,4,252|triattack|shadowball|agility|nastyplot": 1.25, + "ghost|adaptability|lifeorb|modest|0,0,0,252,4,252|triattack|shadowball|agility|nastyplot": 1.25, + "ghost|download|lifeorb|modest|0,0,0,252,4,252|triattack|shadowball|agility|nastyplot": 1.25, + "ground|adaptability|lifeorb|timid|0,0,0,252,4,252|terablast|shadowball|agility|nastyplot": 1.25, + "ground|download|lifeorb|timid|0,0,0,252,4,252|terablast|shadowball|agility|nastyplot": 1.25, + "ground|adaptability|lifeorb|modest|0,0,0,252,4,252|terablast|shadowball|agility|nastyplot": 1.25, + "ground|download|lifeorb|modest|0,0,0,252,4,252|terablast|shadowball|agility|nastyplot": 1.25, + "electric|download|lifeorb|modest|0,0,0,252,4,252|triattack|thunderbolt|recover|nastyplot": 2.5, + "electric|download|lifeorb|modest|0,0,0,252,4,252|triattack|thunderbolt|shadowball|agility": 1.25, + "electric|download|lifeorb|modest|0,0,0,252,4,252|icebeam|thunderbolt|shadowball|agility": 1.25, + "ghost|download|lifeorb|modest|0,0,0,252,4,252|triattack|thunderbolt|shadowball|agility": 1.25, + "ghost|download|lifeorb|modest|0,0,0,252,4,252|icebeam|thunderbolt|shadowball|agility": 1.25, + "ground|download|lifeorb|modest|0,0,0,252,4,252|terablast|thunderbolt|shadowball|agility": 10.0, + "fighting|download|lifeorb|modest|0,0,0,252,4,252|terablast|triattack|shadowball|agility": 5.0 + }, + "registeel": { + "ghost|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|earthquake|thunderwave": 12.5, + "fairy|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|earthquake|thunderwave": 12.5, + "dragon|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|earthquake|thunderwave": 12.5, + "water|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|earthquake|thunderwave": 12.5, + "ghost|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|irondefense": 6.25, + "ghost|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|thunderwave": 6.25, + "fairy|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|irondefense": 6.25, + "fairy|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|thunderwave": 6.25, + "dragon|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|irondefense": 6.25, + "dragon|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|thunderwave": 6.25, + "water|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|irondefense": 6.25, + "water|clearbody|leftovers|careful|252,0,4,0,252,0|heavyslam|stealthrock|bodypress|thunderwave": 6.25 + }, + "scyther": { + "electric|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|closecombat|trailblaze": 25.0, + "fighting|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|closecombat|trailblaze": 25.0, + "electric|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|uturn|closecombat": 8.75, + "electric|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|uturn|defog": 8.75, + "fighting|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|uturn|closecombat": 8.75, + "fighting|technician|heavydutyboots|jolly|0,252,0,0,4,252|swordsdance|dualwingbeat|uturn|defog": 8.75, + "fighting|technician|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|dualwingbeat|uturn|defog": 15.0 + }, + "slowbrogalar": { + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|slackoff|calmmind|flamethrower|sludgebomb": 8.333333333333334, + "fairy|regenerator|heavydutyboots|bold|252,0,252,4,0,0|slackoff|thunderwave|flamethrower|sludgebomb": 8.333333333333334, + "fairy|regenerator|rockyhelmet|bold|252,0,252,4,0,0|slackoff|calmmind|flamethrower|sludgebomb": 8.333333333333334, + "fairy|regenerator|rockyhelmet|bold|252,0,252,4,0,0|slackoff|thunderwave|flamethrower|sludgebomb": 8.333333333333334, + "fairy|regenerator|leftovers|bold|252,0,252,4,0,0|slackoff|calmmind|flamethrower|sludgebomb": 8.333333333333334, + "fairy|regenerator|leftovers|bold|252,0,252,4,0,0|slackoff|thunderwave|flamethrower|sludgebomb": 8.333333333333334, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|slackoff|calmmind|surf|psyshock": 5.555555555555555, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|slackoff|thunderwave|surf|psyshock": 5.555555555555555, + "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|slackoff|toxic|surf|psyshock": 5.555555555555555, + "water|regenerator|rockyhelmet|bold|252,0,252,4,0,0|slackoff|calmmind|surf|psyshock": 5.555555555555555, + "water|regenerator|rockyhelmet|bold|252,0,252,4,0,0|slackoff|thunderwave|surf|psyshock": 5.555555555555555, + "water|regenerator|rockyhelmet|bold|252,0,252,4,0,0|slackoff|toxic|surf|psyshock": 5.555555555555555, + "water|regenerator|leftovers|bold|252,0,252,4,0,0|slackoff|calmmind|surf|psyshock": 5.555555555555555, + "water|regenerator|leftovers|bold|252,0,252,4,0,0|slackoff|thunderwave|surf|psyshock": 5.555555555555555, + "water|regenerator|leftovers|bold|252,0,252,4,0,0|slackoff|toxic|surf|psyshock": 5.555555555555555 + }, + "swampert": { + "fairy|torrent|leftovers|impish|252,4,252,0,0,0|stealthrock|earthquake|knockoff|flipturn": 25.0, + "fairy|torrent|leftovers|impish|252,4,252,0,0,0|stealthrock|earthquake|roar|flipturn": 25.0, + "fairy|torrent|leftovers|careful|252,4,0,0,252,0|stealthrock|earthquake|knockoff|flipturn": 25.0, + "fairy|torrent|leftovers|careful|252,4,0,0,252,0|stealthrock|earthquake|roar|flipturn": 25.0 + }, + "sylveon": { + "fairy|pixilate|choicespecs|modest|0,0,4,252,0,252|hypervoice|psyshock|shadowball|drainingkiss": 12.5, + "fairy|pixilate|choicespecs|timid|0,0,4,252,0,252|hypervoice|psyshock|shadowball|drainingkiss": 12.5, + "ground|pixilate|choicespecs|modest|0,0,4,252,0,252|hypervoice|psyshock|shadowball|terablast": 12.5, + "ground|pixilate|choicespecs|timid|0,0,4,252,0,252|hypervoice|psyshock|shadowball|terablast": 12.5, + "steel|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|roar": 8.333333333333334, + "steel|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|calmmind": 8.333333333333334, + "poison|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|roar": 8.333333333333334, + "poison|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|calmmind": 8.333333333333334, + "water|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|roar": 8.333333333333334, + "water|pixilate|leftovers|bold|252,0,212,0,0,44|hypervoice|wish|protect|calmmind": 8.333333333333334 + }, + "toxtricity": { + "normal|punkrock|choicespecs|modest|0,0,0,252,4,252|overdrive|boomburst|voltswitch|sludgebomb": 12.5, + "normal|punkrock|choicespecs|modest|0,0,0,252,4,252|overdrive|boomburst|voltswitch|snarl": 12.5, + "normal|punkrock|choicespecs|timid|0,0,0,252,4,252|overdrive|boomburst|voltswitch|sludgebomb": 12.5, + "normal|punkrock|choicespecs|timid|0,0,0,252,4,252|overdrive|boomburst|voltswitch|snarl": 12.5, + "normal|punkrock|throatspray|timid|0,0,0,252,4,252|overdrive|boomburst|shiftgear|encore": 25.0, + "normal|punkrock|throatspray|timid|0,0,0,252,4,252|overdrive|boomburst|shiftgear|snarl": 25.0 + }, + "typhlosionhisui": { + "fighting|frisk|heavydutyboots|timid|0,0,0,252,4,252|eruption|flamethrower|shadowball|focusblast": 50.0, + "fighting|frisk|choicescarf|timid|0,0,0,252,4,252|eruption|flamethrower|shadowball|focusblast": 6.25, + "fighting|frisk|choicescarf|timid|0,0,0,252,4,252|eruption|fireblast|shadowball|focusblast": 6.25, + "fire|frisk|choicescarf|timid|0,0,0,252,4,252|eruption|flamethrower|shadowball|focusblast": 6.25, + "fire|frisk|choicescarf|timid|0,0,0,252,4,252|eruption|fireblast|shadowball|focusblast": 6.25, + "fighting|frisk|choicespecs|timid|0,0,0,252,4,252|eruption|flamethrower|shadowball|focusblast": 6.25, + "fighting|frisk|choicespecs|timid|0,0,0,252,4,252|eruption|fireblast|shadowball|focusblast": 6.25, + "fire|frisk|choicespecs|timid|0,0,0,252,4,252|eruption|flamethrower|shadowball|focusblast": 6.25, + "fire|frisk|choicespecs|timid|0,0,0,252,4,252|eruption|fireblast|shadowball|focusblast": 6.25 + }, + "articunogalar": { + "steel|competitive|heavydutyboots|timid|248,0,0,8,0,252|calmmind|recover|hurricane|psychicnoise": 35.0, + "fairy|competitive|heavydutyboots|timid|248,0,0,8,0,252|calmmind|recover|hurricane|psychicnoise": 35.0, + "steel|competitive|heavydutyboots|timid|0,0,0,252,4,252|futuresight|recover|hurricane|uturn": 10.0, + "fairy|competitive|heavydutyboots|timid|0,0,0,252,4,252|futuresight|recover|hurricane|uturn": 10.0, + "ground|competitive|heavydutyboots|timid|0,0,0,252,4,252|futuresight|recover|hurricane|uturn": 10.0 + }, + "copperajah": { + "dragon|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|whirlwind": 13.333333333333334, + "dragon|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|protect": 13.333333333333334, + "dragon|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|earthquake": 13.333333333333334, + "fairy|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|whirlwind": 13.333333333333334, + "fairy|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|protect": 13.333333333333334, + "fairy|heavymetal|leftovers|careful|252,0,0,0,228,28|heavyslam|stealthrock|knockoff|earthquake": 13.333333333333334, + "dragon|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|whirlwind": 3.3333333333333335, + "dragon|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|protect": 3.3333333333333335, + "dragon|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|earthquake": 3.3333333333333335, + "fairy|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|whirlwind": 3.3333333333333335, + "fairy|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|protect": 3.3333333333333335, + "fairy|sheerforce|leftovers|careful|252,0,0,0,228,28|ironhead|stealthrock|knockoff|earthquake": 3.3333333333333335 + }, + "decidueye": { + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|spiritshackle|shadowsneak|leafblade": 50.0, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|poltergeist|shadowsneak|leafblade": 50.0 + }, + "gastrodon": { + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|leftovers|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "poison|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|spikes|earthpower|surf|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|icebeam|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|sludgebomb|recover": 0.6944444444444444, + "dragon|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|stealthrock|earthpower|surf|recover": 0.6944444444444444 + }, + "klefki": { + "water|prankster|leftovers|calm|252,0,96,0,160,0|spikes|foulplay|thunderwave|dazzlinggleam": 25.0, + "water|magician|airballoon|calm|252,0,4,0,252,0|spikes|foulplay|thunderwave|dazzlinggleam": 25.0, + "water|prankster|leftovers|calm|252,0,4,0,252,0|spikes|magnetrise|thunderwave|dazzlinggleam": 25.0, + "fairy|prankster|leftovers|calm|252,0,96,0,160,0|calmmind|irondefense|drainingkiss|storedpower": 12.5, + "water|prankster|leftovers|calm|252,0,96,0,160,0|calmmind|irondefense|drainingkiss|storedpower": 12.5 + }, + "taurospaldeablaze": { + "grass|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "electric|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "steel|intimidate|heavydutyboots|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "grass|intimidate|lumberry|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "electric|intimidate|lumberry|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "steel|intimidate|lumberry|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 8.333333333333334, + "fighting|intimidate|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|stoneedge": 12.5, + "fighting|intimidate|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|ironhead": 12.5, + "fighting|intimidate|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|stoneedge": 12.5, + "fighting|intimidate|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|ironhead": 12.5 + }, + "tentacruel": { + "dark|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|sludgebomb": 6.25, + "dark|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|icebeam": 6.25, + "dark|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|haze": 6.25, + "dark|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|toxic": 6.25, + "flying|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|sludgebomb": 6.25, + "flying|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|icebeam": 6.25, + "flying|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|haze": 6.25, + "flying|liquidooze|heavydutyboots|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|toxic": 6.25, + "dark|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|sludgebomb": 6.25, + "dark|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|icebeam": 6.25, + "dark|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|haze": 6.25, + "dark|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|toxic": 6.25, + "flying|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|sludgebomb": 6.25, + "flying|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|icebeam": 6.25, + "flying|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|haze": 6.25, + "flying|liquidooze|leftovers|jolly|252,0,120,0,0,136|flipturn|knockoff|rapidspin|toxic": 6.25 + }, + "tornadus": { + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|heatwave": 3.3333333333333335, + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|grassknot": 3.3333333333333335, + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|taunt": 3.3333333333333335, + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|heatwave": 3.3333333333333335, + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|grassknot": 3.3333333333333335, + "steel|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|taunt": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|heatwave": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|grassknot": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|hurricane|taunt": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|heatwave": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|grassknot": 3.3333333333333335, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|knockoff|uturn|bleakwindstorm|taunt": 3.3333333333333335, + "steel|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|hurricane|darkpulse": 2.5, + "steel|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|bleakwindstorm|darkpulse": 2.5, + "steel|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|hurricane|darkpulse": 2.5, + "steel|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|bleakwindstorm|darkpulse": 2.5, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|hurricane|darkpulse": 2.5, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|bleakwindstorm|darkpulse": 2.5, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|hurricane|darkpulse": 2.5, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|bleakwindstorm|darkpulse": 2.5, + "dark|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|hurricane|darkpulse": 2.5, + "dark|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|heatwave|bleakwindstorm|darkpulse": 2.5, + "dark|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|hurricane|darkpulse": 2.5, + "dark|prankster|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|focusblast|bleakwindstorm|darkpulse": 2.5, + "ground|defiant|sitrusberry|jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|terablast": 10.0, + "ground|defiant||jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|terablast": 10.0, + "ground|defiant|sitrusberry|jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|brickbreak": 1.25, + "ground|defiant|sitrusberry|jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|hammerarm": 1.25, + "steel|defiant|sitrusberry|jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|brickbreak": 1.25, + "steel|defiant|sitrusberry|jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|hammerarm": 1.25, + "ground|defiant||jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|brickbreak": 1.25, + "ground|defiant||jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|hammerarm": 1.25, + "steel|defiant||jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|brickbreak": 1.25, + "steel|defiant||jolly|0,252,0,0,4,252|knockoff|bulkup|acrobatics|hammerarm": 1.25 + }, + "torterra": { + "electric|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|rockblast|shellsmash": 25.0, + "electric|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|earthquake|rockblast|shellsmash": 25.0, + "ghost|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|terablast|shellsmash": 12.5, + "ghost|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|earthquake|terablast|shellsmash": 12.5, + "fire|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|headlongrush|terablast|shellsmash": 12.5, + "fire|overgrow|loadeddice|jolly|0,252,0,0,4,252|bulletseed|earthquake|terablast|shellsmash": 12.5 + }, + "uxie": { + "dark|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|encore": 4.166666666666667, + "dark|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|knockoff": 4.166666666666667, + "dark|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|thunderwave": 4.166666666666667, + "steel|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|encore": 4.166666666666667, + "steel|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|knockoff": 4.166666666666667, + "steel|levitate|leftovers|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|thunderwave": 4.166666666666667, + "dark|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|encore": 4.166666666666667, + "dark|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|knockoff": 4.166666666666667, + "dark|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|thunderwave": 4.166666666666667, + "steel|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|encore": 4.166666666666667, + "steel|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|knockoff": 4.166666666666667, + "steel|levitate|heavydutyboots|timid|252,0,40,0,0,216|uturn|psychicnoise|stealthrock|thunderwave": 4.166666666666667, + "fairy|levitate|leftovers|timid|0,0,0,252,4,252|calmmind|psychicnoise|drainingkiss|encore": 12.5, + "fairy|levitate|keeberry|timid|0,0,0,252,4,252|calmmind|psychicnoise|drainingkiss|encore": 12.5, + "fairy|levitate|leftovers|timid|0,0,0,252,4,252|calmmind|psychicnoise|drainingkiss|substitute": 25.0 + }, + "araquanid": { + "ghost|waterbubble|heavydutyboots|adamant|68,252,0,0,0,188|liquidation|leechlife|stickyweb|mirrorcoat": 50.0, + "ghost|waterbubble|heavydutyboots|adamant|68,252,0,0,0,188|liquidation|leechlife|stickyweb|trailblaze": 50.0 + }, + "avalugg": { + "ghost|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|bodypress|recover|rapidspin": 8.333333333333334, + "ghost|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|earthquake|recover|rapidspin": 8.333333333333334, + "ghost|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|bodypress|recover|rapidspin": 8.333333333333334, + "ghost|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|earthquake|recover|rapidspin": 8.333333333333334, + "poison|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|bodypress|recover|rapidspin": 8.333333333333334, + "poison|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|earthquake|recover|rapidspin": 8.333333333333334, + "poison|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|bodypress|recover|rapidspin": 8.333333333333334, + "poison|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|earthquake|recover|rapidspin": 8.333333333333334, + "water|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|bodypress|recover|rapidspin": 8.333333333333334, + "water|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|earthquake|recover|rapidspin": 8.333333333333334, + "water|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|bodypress|recover|rapidspin": 8.333333333333334, + "water|sturdy|heavydutyboots|impish|252,4,252,0,0,0|icespinner|earthquake|recover|rapidspin": 8.333333333333334 + }, + "dragalge": { + "water|adaptability|heavydutyboots|bold|252,0,200,0,0,56|sludgebomb|dracometeor|toxicspikes|flipturn": 25.0, + "water|adaptability|heavydutyboots|bold|252,0,200,0,0,56|sludgebomb|dracometeor|dragontail|flipturn": 25.0, + "poison|adaptability|choicespecs|modest|80,0,0,252,0,176|sludgebomb|dracometeor|focusblast|flipturn": 25.0, + "poison|adaptability|choicespecs|modest|80,0,0,252,0,176|sludgewave|dracometeor|focusblast|flipturn": 25.0 + }, + "florges": { + "ground|flowerveil|choicespecs|modest|0,0,0,252,4,252|moonblast|psychic|terablast|trick": 15.0, + "ground|symbiosis|choicespecs|modest|0,0,0,252,4,252|moonblast|psychic|terablast|trick": 15.0, + "ground|flowerveil|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|terablast|synthesis": 10.0, + "ground|symbiosis|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|terablast|synthesis": 10.0, + "water|flowerveil|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "water|flowerveil|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|wish|synthesis": 2.5, + "steel|flowerveil|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "steel|flowerveil|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|wish|synthesis": 2.5, + "water|symbiosis|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "water|symbiosis|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|wish|synthesis": 2.5, + "steel|symbiosis|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "steel|symbiosis|leftovers|bold|252,0,120,0,0,136|moonblast|calmmind|wish|synthesis": 2.5, + "water|flowerveil|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|calmmind|synthesis": 3.75, + "water|flowerveil|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|psychic|synthesis": 3.75, + "steel|flowerveil|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|calmmind|synthesis": 3.75, + "steel|flowerveil|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|psychic|synthesis": 3.75, + "water|symbiosis|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|calmmind|synthesis": 3.75, + "water|symbiosis|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|psychic|synthesis": 3.75, + "steel|symbiosis|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|calmmind|synthesis": 3.75, + "steel|symbiosis|choicescarf|bold|252,0,120,0,0,136|moonblast|trick|psychic|synthesis": 3.75 + }, + "goodra": { + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|hydropump": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|dragonpulse": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgewave|hydropump": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgewave|dragonpulse": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|hydropump": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragonpulse": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgewave|hydropump": 5.0, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgewave|dragonpulse": 5.0, + "poison|sapsipper|leftovers|timid|0,0,0,252,4,252|dracometeor|fireblast|acidspray|substitute": 15.0, + "poison|sapsipper|leftovers|timid|0,0,0,252,4,252|dracometeor|flamethrower|acidspray|substitute": 15.0, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|toxic": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|scald": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|dragontail": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|toxic": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|scald": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|dragontail": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|toxic": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|scald": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|knockoff|dragontail": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|toxic": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|scald": 1.6666666666666667, + "steel|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|knockoff|dragontail": 1.6666666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgewave|toxic": 1.25, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgewave|scald": 1.25, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgewave|toxic": 1.25, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgewave|scald": 1.25, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgewave|dragontail": 2.5, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgewave|dragontail": 2.5 + }, + "heracross": { + "normal|guts|flameorb|jolly|0,252,0,0,4,252|facade|closecombat|trailblaze|knockoff": 70.0, + "dark|moxie|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|earthquake|knockoff": 7.5, + "dark|moxie|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|stoneedge|knockoff": 7.5, + "fighting|moxie|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|earthquake|knockoff": 7.5, + "fighting|moxie|choicescarf|jolly|0,252,0,0,4,252|megahorn|closecombat|stoneedge|knockoff": 7.5 + }, + "meloetta": { + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|trick": 5.625, + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|focusblast": 5.625, + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|trick": 5.625, + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|focusblast": 5.625, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|trick": 5.625, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|focusblast": 5.625, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|trick": 5.625, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|focusblast": 5.625, + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|uturn": 6.25, + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|uturn": 6.25, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|uturn": 6.25, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psyshock|shadowball|uturn": 6.25, + "ghost|serenegrace|leftovers|timid|0,0,0,252,4,252|hypervoice|shadowball|substitute|calmmind": 20.0, + "fighting|serenegrace|leftovers|timid|0,0,0,252,4,252|terablast|shadowball|substitute|calmmind": 10.0 + }, + "orthworm": { + "ghost|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|irondefense": 8.75, + "ghost|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|protect": 8.75, + "ghost|eartheater|leftovers|impish|252,0,4,0,252,0|spikes|heavyslam|bodypress|irondefense": 8.75, + "ghost|eartheater|leftovers|impish|252,0,4,0,252,0|spikes|heavyslam|bodypress|protect": 8.75, + "fairy|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|irondefense": 8.75, + "fairy|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|protect": 8.75, + "fairy|eartheater|leftovers|impish|252,0,4,0,252,0|spikes|heavyslam|bodypress|irondefense": 8.75, + "fairy|eartheater|leftovers|impish|252,0,4,0,252,0|spikes|heavyslam|bodypress|protect": 8.75, + "ghost|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|spikes": 15.0, + "fairy|eartheater|leftovers|impish|252,0,4,0,252,0|stealthrock|heavyslam|bodypress|spikes": 15.0 + }, + "raikou": { + "water|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|voltswitch": 15.0, + "fairy|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|terablast|voltswitch": 15.0, + "ghost|pressure|heavydutyboots|timid|0,0,4,252,0,252|calmmind|thunderbolt|shadowball|voltswitch": 20.0, + "water|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|scald|substitute": 15.0, + "fairy|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|terablast|substitute": 15.0, + "fairy|pressure|leftovers|timid|0,0,4,252,0,252|calmmind|thunderbolt|shadowball|substitute": 20.0 + }, + "rotomheat": { + "water|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|willowisp": 16.666666666666668, + "water|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|nastyplot": 16.666666666666668, + "steel|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|willowisp": 16.666666666666668, + "steel|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|nastyplot": 16.666666666666668, + "fairy|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|willowisp": 16.666666666666668, + "fairy|levitate|heavydutyboots|timid|248,0,0,4,4,252|voltswitch|painsplit|overheat|nastyplot": 16.666666666666668 + }, + "scrafty": { + "poison|shedskin|leftovers|careful|252,0,0,0,196,60|bulkup|drainpunch|knockoff|rest": 25.0, + "steel|shedskin|leftovers|careful|252,0,0,0,196,60|bulkup|drainpunch|knockoff|rest": 25.0, + "poison|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 1.25, + "poison|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 1.25, + "poison|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 1.25, + "poison|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|poisonjab": 1.25, + "poison|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "poison|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 0.625, + "poison|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "poison|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|poisonjab": 0.625, + "poison|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 1.25, + "poison|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 1.25, + "poison|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 1.25, + "poison|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|poisonjab": 1.25, + "poison|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "poison|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 0.625, + "poison|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "poison|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|poisonjab": 0.625, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 1.25, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 1.25, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 1.25, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|poisonjab": 1.25, + "steel|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 1.25, + "steel|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|ironhead": 1.25, + "steel|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 1.25, + "steel|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|ironhead": 1.25, + "steel|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "steel|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|ironhead": 0.625, + "steel|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "steel|intimidate|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|ironhead": 0.625, + "steel|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "steel|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|ironhead": 0.625, + "steel|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "steel|moxie|leftovers|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|ironhead": 0.625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|ironhead": 0.625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "steel|intimidate|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|ironhead": 0.625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|encore": 0.625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|ironhead": 0.625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|encore": 0.625, + "steel|moxie|lumberry|jolly|0,252,0,0,4,252|dragondance|closecombat|knockoff|ironhead": 0.625 + }, + "screamtail": { + "water|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|encore|psychicnoise": 8.333333333333334, + "water|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|thunderwave|psychicnoise": 8.333333333333334, + "steel|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|encore|psychicnoise": 8.333333333333334, + "steel|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|thunderwave|psychicnoise": 8.333333333333334, + "dragon|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|encore|psychicnoise": 8.333333333333334, + "dragon|protosynthesis|leftovers|timid|252,0,0,0,4,252|wish|protect|thunderwave|psychicnoise": 8.333333333333334, + "normal|protosynthesis|leftovers|timid|40,0,0,252,0,216|fireblast|calmmind|boomburst|psychicnoise": 12.5, + "normal|protosynthesis|leftovers|timid|40,0,0,252,0,216|fireblast|calmmind|boomburst|dazzlinggleam": 12.5, + "normal|protosynthesis|leftovers|timid|40,0,0,252,0,216|flamethrower|calmmind|boomburst|psychicnoise": 12.5, + "normal|protosynthesis|leftovers|timid|40,0,0,252,0,216|flamethrower|calmmind|boomburst|dazzlinggleam": 12.5 + }, + "bellibolt": { + "water|static|heavydutyboots|bold|252,0,252,4,0,0|voltswitch|slackoff|muddywater|toxic": 25.0, + "water|static|rockyhelmet|bold|252,0,252,4,0,0|voltswitch|slackoff|muddywater|toxic": 25.0, + "water|electromorphosis|heavydutyboots|bold|252,0,252,4,0,0|voltswitch|slackoff|muddywater|toxic": 25.0, + "water|electromorphosis|rockyhelmet|bold|252,0,252,4,0,0|voltswitch|slackoff|muddywater|toxic": 25.0 + }, + "ditto": { + "fairy|imposter|choicescarf|bold|252,0,252,0,4,0|transform": 33.333333333333336, + "steel|imposter|choicescarf|bold|252,0,252,0,4,0|transform": 33.333333333333336, + "ghost|imposter|choicescarf|bold|252,0,252,0,4,0|transform": 33.333333333333336 + }, + "drednaw": { + "dark|strongjaw|whiteherb|jolly|0,252,4,0,0,252|shellsmash|liquidation|stoneedge|crunch": 100.0 + }, + "dudunsparce": { + "poison|serenegrace|leftovers|careful|252,4,0,0,252,0|bodyslam|coil|roost|dragontail": 6.25, + "poison|serenegrace|leftovers|careful|252,4,0,0,252,0|bodyslam|stealthrock|roost|dragontail": 6.25, + "fairy|serenegrace|leftovers|careful|252,4,0,0,252,0|bodyslam|coil|roost|dragontail": 6.25, + "fairy|serenegrace|leftovers|careful|252,4,0,0,252,0|bodyslam|stealthrock|roost|dragontail": 6.25, + "poison|serenegrace|heavydutyboots|careful|252,4,0,0,252,0|bodyslam|coil|roost|dragontail": 6.25, + "poison|serenegrace|heavydutyboots|careful|252,4,0,0,252,0|bodyslam|stealthrock|roost|dragontail": 6.25, + "fairy|serenegrace|heavydutyboots|careful|252,4,0,0,252,0|bodyslam|coil|roost|dragontail": 6.25, + "fairy|serenegrace|heavydutyboots|careful|252,4,0,0,252,0|bodyslam|stealthrock|roost|dragontail": 6.25, + "ghost|rattled|leftovers|bold|252,0,252,4,0,0|boomburst|calmmind|roost|shadowball": 25.0, + "ghost|rattled|heavydutyboots|bold|252,0,252,4,0,0|boomburst|calmmind|roost|shadowball": 25.0 + }, + "palossand": { + "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|leftovers|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "dragon|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "dragon|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "dragon|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "dragon|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "dragon|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "fairy|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "fairy|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 2.7777777777777777, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 2.7777777777777777, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 2.7777777777777777 + }, + "tsareena": { + "dragon|queenlymajesty|lumberry|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "dragon|queenlymajesty|lumberry|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "steel|queenlymajesty|lumberry|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "steel|queenlymajesty|lumberry|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "dragon|queenlymajesty|heavydutyboots|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "dragon|queenlymajesty|heavydutyboots|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "steel|queenlymajesty|heavydutyboots|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "steel|queenlymajesty|heavydutyboots|adamant|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "dragon|queenlymajesty|lumberry|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "dragon|queenlymajesty|lumberry|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "steel|queenlymajesty|lumberry|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "steel|queenlymajesty|lumberry|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "dragon|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "dragon|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "steel|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|tripleaxel": 3.125, + "steel|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|powerwhip|rapidspin|knockoff|uturn": 3.125, + "dragon|queenlymajesty|heavydutyboots|impish|0,252,228,0,0,28|powerwhip|rapidspin|knockoff|synthesis": 16.666666666666668, + "steel|queenlymajesty|heavydutyboots|impish|0,252,228,0,0,28|powerwhip|rapidspin|knockoff|synthesis": 16.666666666666668, + "poison|queenlymajesty|heavydutyboots|impish|0,252,228,0,0,28|powerwhip|rapidspin|knockoff|synthesis": 16.666666666666668 + }, + "whimsicott": { + "water|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|stunspore": 4.166666666666667, + "water|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "water|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|leechseed": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|stunspore": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|252,0,12,76,0,168|moonblast|uturn|encore|leechseed": 4.166666666666667, + "water|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|stunspore": 4.166666666666667, + "water|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "water|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|leechseed": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|stunspore": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|252,0,12,76,0,168|moonblast|uturn|encore|leechseed": 4.166666666666667, + "water|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|stunspore": 4.166666666666667, + "water|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "water|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|leechseed": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|stunspore": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "steel|prankster|rockyhelmet|timid|180,0,0,76,0,252|moonblast|uturn|encore|leechseed": 4.166666666666667, + "water|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|stunspore": 4.166666666666667, + "water|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "water|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|leechseed": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|stunspore": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|gigadrain": 4.166666666666667, + "steel|prankster|heavydutyboots|timid|180,0,0,76,0,252|moonblast|uturn|encore|leechseed": 4.166666666666667 + }, + "wochien": { + "poison|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|stunspore": 12.5, + "poison|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|ruination": 12.5, + "fairy|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|stunspore": 12.5, + "fairy|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|ruination": 12.5, + "dragon|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|stunspore": 12.5, + "dragon|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|ruination": 12.5, + "water|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|stunspore": 12.5, + "water|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|protect|leechseed|ruination": 12.5 + }, + "duraludon": { + "ghost|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|darkpulse": 16.666666666666668, + "ghost|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|bodypress": 16.666666666666668, + "fairy|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|darkpulse": 16.666666666666668, + "fairy|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|bodypress": 16.666666666666668, + "water|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|darkpulse": 16.666666666666668, + "water|heavymetal|eviolite|timid|0,0,0,252,4,252|dracometeor|flashcannon|stealthrock|bodypress": 16.666666666666668 + }, + "minior": { + "flying|shieldsdown|whiteherb|adamant|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|stoneedge": 6.25, + "flying|shieldsdown|whiteherb|adamant|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|substitute": 6.25, + "ground|shieldsdown|whiteherb|adamant|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|stoneedge": 6.25, + "ground|shieldsdown|whiteherb|adamant|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|substitute": 6.25, + "flying|shieldsdown|whiteherb|jolly|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|stoneedge": 6.25, + "flying|shieldsdown|whiteherb|jolly|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|substitute": 6.25, + "ground|shieldsdown|whiteherb|jolly|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|stoneedge": 6.25, + "ground|shieldsdown|whiteherb|jolly|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|substitute": 6.25, + "ghost|shieldsdown|whiteherb|adamant|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|terablast": 25.0, + "ghost|shieldsdown|whiteherb|jolly|0,252,0,0,4,252|shellsmash|acrobatics|earthquake|terablast": 25.0 + }, + "pawmot": { + "electric|naturalcure|lifeorb|jolly|0,252,0,0,4,252|doubleshock|closecombat|knockoff|rest": 20.0, + "electric|naturalcure|lifeorb|jolly|0,252,0,0,4,252|doubleshock|closecombat|icepunch|rest": 20.0, + "electric|voltabsorb|lifeorb|jolly|0,252,0,0,4,252|doubleshock|closecombat|knockoff|voltswitch": 15.0, + "electric|voltabsorb|lifeorb|jolly|0,252,0,0,4,252|doubleshock|closecombat|icepunch|voltswitch": 15.0, + "electric|ironfist|lifeorb|jolly|0,252,0,0,4,252|doubleshock|closecombat|icepunch|machpunch": 30.0 + } + }, + "pu": { + "arcanine": { + "normal|intimidate|heavydutyboots|adamant|160,252,0,0,0,96|curse|extremespeed|flareblitz|morningsun": 70.0, + "normal|intimidate|choiceband|jolly|0,252,0,0,4,252|ragingfury|extremespeed|flareblitz|closecombat": 30.0 + }, + "meloetta": { + "ghost|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|focusblast": 25.0, + "normal|serenegrace|choicespecs|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|focusblast": 25.0, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|uturn": 7.5, + "fairy|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|uturn": 7.5, + "ghost|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|trick": 5.0, + "fairy|serenegrace|choicescarf|timid|0,0,0,252,4,252|hypervoice|psychic|shadowball|trick": 5.0, + "fire|serenegrace|heavydutyboots|timid|0,0,0,252,4,252|terablast|psyshock|substitute|calmmind": 25.0 + }, + "bombirdier": { + "dark|bigpecks|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|bravebird|suckerpunch|taunt": 23.333333333333332, + "dark|bigpecks|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|bravebird|suckerpunch|stealthrock": 23.333333333333332, + "dark|bigpecks|heavydutyboots|adamant|0,252,0,0,4,252|knockoff|bravebird|suckerpunch|roost": 23.333333333333332, + "dark|bigpecks|heavydutyboots|careful|252,4,0,0,252,0|knockoff|partingshot|stealthrock|roost": 30.0 + }, + "florges": { + "poison|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|psychicnoise|synthesis|trick": 1.6666666666666667, + "poison|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|calmmind|synthesis|trick": 1.6666666666666667, + "poison|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|wish|synthesis|trick": 1.6666666666666667, + "fairy|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|psychicnoise|synthesis|trick": 1.6666666666666667, + "fairy|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|calmmind|synthesis|trick": 1.6666666666666667, + "fairy|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|wish|synthesis|trick": 1.6666666666666667, + "poison|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|psychicnoise|synthesis|trick": 1.6666666666666667, + "poison|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|calmmind|synthesis|trick": 1.6666666666666667, + "poison|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|wish|synthesis|trick": 1.6666666666666667, + "fairy|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|psychicnoise|synthesis|trick": 1.6666666666666667, + "fairy|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|calmmind|synthesis|trick": 1.6666666666666667, + "fairy|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|wish|synthesis|trick": 1.6666666666666667, + "fairy|flowerveil|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|psychicnoise|synthesis": 10.0, + "fairy|symbiosis|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|psychicnoise|synthesis": 10.0, + "ground|flowerveil|choicescarf|timid|0,0,0,252,4,252|moonblast|terablast|synthesis|trick": 7.5, + "ground|symbiosis|choicescarf|timid|0,0,0,252,4,252|moonblast|terablast|synthesis|trick": 7.5, + "ground|flowerveil|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|terablast|synthesis": 3.75, + "ground|flowerveil|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|terablast|psychicnoise": 3.75, + "ground|symbiosis|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|terablast|synthesis": 3.75, + "ground|symbiosis|choicespecs|modest|0,0,0,252,4,252|moonblast|trick|terablast|psychicnoise": 3.75, + "ground|flowerveil|heavydutyboots|modest|0,0,0,252,4,252|moonblast|calmmind|terablast|synthesis": 2.5, + "ground|flowerveil|leftovers|modest|0,0,0,252,4,252|moonblast|calmmind|terablast|synthesis": 2.5, + "ground|symbiosis|heavydutyboots|modest|0,0,0,252,4,252|moonblast|calmmind|terablast|synthesis": 2.5, + "ground|symbiosis|leftovers|modest|0,0,0,252,4,252|moonblast|calmmind|terablast|synthesis": 2.5, + "poison|flowerveil|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|wish|synthesis": 2.5, + "poison|flowerveil|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "poison|symbiosis|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|wish|synthesis": 2.5, + "poison|symbiosis|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|psychicnoise|synthesis": 2.5, + "poison|flowerveil|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|wish|protect": 1.25, + "poison|flowerveil|leftovers|bold|252,0,160,0,0,96|moonblast|calmmind|wish|protect": 1.25, + "poison|symbiosis|heavydutyboots|bold|252,0,160,0,0,96|moonblast|calmmind|wish|protect": 1.25, + "poison|symbiosis|leftovers|bold|252,0,160,0,0,96|moonblast|calmmind|wish|protect": 1.25 + }, + "gastrodon": { + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "poison|stormdrain|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "fairy|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "poison|stormdrain|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "fairy|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "poison|stickyhold|heavydutyboots|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "fairy|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|spikes": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|icebeam|stealthrock": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|spikes": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|surf|stealthrock": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|spikes": 1.0416666666666667, + "poison|stickyhold|leftovers|calm|252,0,4,0,252,0|earthpower|recover|clearsmog|stealthrock": 1.0416666666666667, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stormdrain|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stormdrain|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stormdrain|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stickyhold|heavydutyboots|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stickyhold|leftovers|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "fairy|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|spikes": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|icebeam|stealthrock": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|spikes": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|surf|stealthrock": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|spikes": 0.6944444444444444, + "ghost|stickyhold|rockyhelmet|bold|252,0,252,0,4,0|earthpower|recover|clearsmog|stealthrock": 0.6944444444444444 + }, + "taurospaldeablaze": { + "grass|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 6.25, + "grass|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|flareblitz|trailblaze": 6.25, + "grass|intimidate|lumberry|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|trailblaze": 6.25, + "grass|intimidate|lumberry|jolly|0,252,4,0,0,252|bulkup|closecombat|flareblitz|trailblaze": 6.25, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|stoneedge": 6.25, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|ragingbull|substitute": 6.25, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|flareblitz|stoneedge": 6.25, + "steel|intimidate|leftovers|jolly|0,252,4,0,0,252|bulkup|closecombat|flareblitz|substitute": 6.25, + "fighting|intimidate|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|stoneedge": 12.5, + "fighting|intimidate|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|ragingbull": 12.5, + "fighting|intimidate|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|stoneedge": 12.5, + "fighting|intimidate|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|earthquake|ragingbull": 12.5 + }, + "zoroark": { + "dark|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|focusblast": 5.0, + "dark|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|flamethrower": 5.0, + "ghost|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|focusblast": 5.0, + "ghost|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|flamethrower": 5.0, + "poison|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|focusblast": 5.0, + "poison|illusion|lifeorb|timid|0,0,0,252,4,252|darkpulse|sludgebomb|nastyplot|flamethrower": 5.0, + "dark|illusion|choicespecs|timid|0,0,0,252,4,252|darkpulse|sludgebomb|trick|uturn": 10.0, + "poison|illusion|choicespecs|timid|0,0,0,252,4,252|darkpulse|sludgebomb|trick|uturn": 10.0, + "dark|illusion|choicespecs|timid|0,0,0,252,4,252|darkpulse|sludgebomb|trick|focusblast": 1.6666666666666667, + "poison|illusion|choicespecs|timid|0,0,0,252,4,252|darkpulse|sludgebomb|trick|focusblast": 1.6666666666666667, + "fighting|illusion|choicespecs|timid|0,0,0,252,4,252|darkpulse|sludgebomb|trick|focusblast": 1.6666666666666667, + "dark|illusion|choicescarf|jolly|0,252,0,0,4,252|knockoff|uturn|trick|lowkick": 12.5, + "fighting|illusion|choicescarf|jolly|0,252,0,0,4,252|knockoff|uturn|trick|lowkick": 12.5, + "dark|illusion|lifeorb|jolly|0,252,0,0,4,252|knockoff|suckerpunch|swordsdance|lowkick": 5.0, + "dark|illusion|lifeorb|jolly|0,252,0,0,4,252|knockoff|suckerpunch|swordsdance|aerialace": 5.0, + "dark|illusion|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|suckerpunch|swordsdance|lowkick": 5.0, + "dark|illusion|heavydutyboots|jolly|0,252,0,0,4,252|knockoff|suckerpunch|swordsdance|aerialace": 5.0 + }, + "bellibolt": { + "water|static|heavydutyboots|bold|252,0,252,4,0,0|voltswitch|muddywater|slackoff|toxic": 100.0 + }, + "decidueye": { + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|spiritshackle|shadowsneak|leafblade": 4.375, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|spiritshackle|shadowsneak|lowkick": 4.375, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|poltergeist|shadowsneak|leafblade": 4.375, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|poltergeist|shadowsneak|lowkick": 4.375, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|spiritshackle|shadowsneak|leafblade": 4.375, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|spiritshackle|shadowsneak|lowkick": 4.375, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|poltergeist|shadowsneak|leafblade": 4.375, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|swordsdance|poltergeist|shadowsneak|lowkick": 4.375, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|spelltag|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "ghost|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "ghost|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|choiceband|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "ghost|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "ghost|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "ghost|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|spiritshackle|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|leafblade": 1.4583333333333333, + "fairy|longreach|heavydutyboots|adamant|0,252,0,0,4,252|uturn|poltergeist|shadowsneak|lowkick": 1.4583333333333333, + "fairy|longreach|heavydutyboots|calm|252,0,0,0,120,136|uturn|roost|defog|leafstorm": 30.0 + }, + "golurk": { + "steel|noguard|colburberry|adamant|172,252,0,0,0,84|earthquake|poltergeist|stoneedge|stealthrock": 50.0, + "dark|noguard|choiceband|adamant|0,252,0,0,4,252|earthquake|poltergeist|stoneedge|dynamicpunch": 25.0, + "dark|noguard|choiceband|adamant|0,252,0,0,4,252|earthquake|poltergeist|stoneedge|closecombat": 25.0 + }, + "pawmot": { + "electric|ironfist|lifeorb|jolly|0,252,0,0,4,252|closecombat|doubleshock|knockoff|machpunch": 20.0, + "electric|ironfist|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|doubleshock|knockoff|machpunch": 20.0, + "electric|voltabsorb|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|doubleshock|knockoff|voltswitch": 20.0, + "electric|naturalcure|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|doubleshock|knockoff|voltswitch": 20.0, + "electric|naturalcure|lifeorb|jolly|0,252,0,0,4,252|closecombat|doubleshock|knockoff|rest": 20.0 + }, + "rhydon": { + "poison|lightningrod|eviolite|jolly|0,252,0,0,4,252|earthquake|stoneedge|rockpolish|swordsdance": 25.0, + "poison|lightningrod|eviolite|jolly|0,252,0,0,4,252|earthquake|stoneedge|heatcrash|swordsdance": 25.0, + "water|lightningrod|eviolite|jolly|0,252,0,0,4,252|earthquake|stoneedge|rockpolish|swordsdance": 25.0, + "water|lightningrod|eviolite|jolly|0,252,0,0,4,252|earthquake|stoneedge|heatcrash|swordsdance": 25.0 + }, + "rotomheat": { + "poison|levitate|heavydutyboots|timid|248,0,0,8,0,252|overheat|voltswitch|nastyplot|painsplit": 25.0, + "poison|levitate|heavydutyboots|timid|248,0,0,8,0,252|overheat|voltswitch|thunderwave|painsplit": 25.0, + "steel|levitate|heavydutyboots|timid|248,0,0,8,0,252|overheat|voltswitch|nastyplot|painsplit": 25.0, + "steel|levitate|heavydutyboots|timid|248,0,0,8,0,252|overheat|voltswitch|thunderwave|painsplit": 25.0 + }, + "salazzle": { + "ground|corrosion|heavydutyboots|timid|0,0,0,252,4,252|fireblast|sludgebomb|nastyplot|terablast": 25.0, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|nastyplot|fireblast": 6.25, + "dark|corrosion|heavydutyboots|timid|0,0,0,252,4,252|toxic|sludgebomb|nastyplot|fireblast": 6.25, + "ghost|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|nastyplot|fireblast": 6.25, + "ghost|corrosion|heavydutyboots|timid|0,0,0,252,4,252|toxic|sludgebomb|nastyplot|fireblast": 6.25, + "grass|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|toxic|fireblast": 6.25, + "grass|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|toxic|flamethrower": 6.25, + "steel|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|toxic|fireblast": 6.25, + "steel|corrosion|heavydutyboots|timid|0,0,0,252,4,252|encore|sludgebomb|toxic|flamethrower": 6.25, + "grass|corrosion|heavydutyboots|timid|0,0,0,252,4,252|knockoff|sludgebomb|toxic|fireblast": 6.25, + "grass|corrosion|heavydutyboots|timid|0,0,0,252,4,252|knockoff|sludgebomb|toxic|flamethrower": 6.25, + "steel|corrosion|heavydutyboots|timid|0,0,0,252,4,252|knockoff|sludgebomb|toxic|fireblast": 6.25, + "steel|corrosion|heavydutyboots|timid|0,0,0,252,4,252|knockoff|sludgebomb|toxic|flamethrower": 6.25 + }, + "skuntank": { + "dark|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "dark|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "dark|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|blackglasses|jolly|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "dark|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|heavydutyboots|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "dark|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|rockyhelmet|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "dark|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "dark|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "dark|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777, + "ghost|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|taunt": 2.7777777777777777, + "ghost|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxic": 2.7777777777777777, + "ghost|aftermath|blackglasses|adamant|0,252,0,0,4,252|gunkshot|knockoff|suckerpunch|toxicspikes": 2.7777777777777777 + }, + "tornadus": { + "flying|defiant|heavydutyboots|naive|0,4,0,252,0,252|bleakwindstorm|focusblast|uturn|knockoff": 10.0, + "ground|defiant|heavydutyboots|naive|0,4,0,252,0,252|bleakwindstorm|focusblast|uturn|knockoff": 10.0, + "flying|prankster|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|focusblast|uturn|taunt": 10.0, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|focusblast|uturn|taunt": 10.0, + "flying|prankster|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|focusblast|nastyplot|heatwave": 10.0, + "ground|prankster|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|focusblast|nastyplot|heatwave": 10.0, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|focusblast|nastyplot|terablast": 10.0, + "ground|defiant|heavydutyboots|timid|0,0,0,252,4,252|bleakwindstorm|heatwave|nastyplot|terablast": 10.0, + "ground|defiant|choicespecs|timid|0,0,0,252,4,252|bleakwindstorm|grassknot|heatwave|terablast": 10.0, + "flying|prankster|choicespecs|timid|0,0,0,252,4,252|bleakwindstorm|grassknot|heatwave|focusblast": 10.0 + }, + "toxtricity": { + "normal|punkrock|throatspray|modest|0,0,0,252,4,252|overdrive|boomburst|shiftgear|sludgebomb": 17.5, + "normal|punkrock|throatspray|modest|0,0,0,252,4,252|overdrive|boomburst|shiftgear|snarl": 17.5, + "normal|punkrock|choicespecs|modest|0,0,0,252,4,252|overdrive|boomburst|voltswitch|snarl": 35.0, + "normal|punkrock|choicescarf|timid|0,0,0,252,4,252|overdrive|boomburst|voltswitch|snarl": 15.0, + "normal|punkrock|choicescarf|timid|0,0,0,252,4,252|overdrive|boomburst|voltswitch|sludgebomb": 15.0 + }, + "bruxish": { + "psychic|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|crunch": 5.833333333333333, + "psychic|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|icefang": 5.833333333333333, + "psychic|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|aquajet": 5.833333333333333, + "water|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|crunch": 5.833333333333333, + "water|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|icefang": 5.833333333333333, + "water|strongjaw|choicescarf|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|aquajet": 5.833333333333333, + "psychic|strongjaw|choiceband|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|aquajet": 17.5, + "water|strongjaw|choiceband|jolly|0,252,0,0,4,252|psychicfangs|wavecrash|flipturn|aquajet": 17.5, + "water|dazzling|heavydutyboots|jolly|0,252,0,0,4,252|psychicfangs|swordsdance|wavecrash|aquajet": 15.0, + "water|dazzling|mysticwater|jolly|0,252,0,0,4,252|psychicfangs|swordsdance|wavecrash|aquajet": 15.0 + }, + "copperajah": { + "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|stealthrock": 6.25, + "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|protect": 6.25, + "water|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|stealthrock": 6.25, + "water|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|protect": 6.25, + "ground|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|earthquake": 2.7777777777777777, + "ground|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|stealthrock|knockoff|earthquake": 2.7777777777777777, + "ground|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|protect|knockoff|earthquake": 2.7777777777777777, + "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|earthquake": 2.7777777777777777, + "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|stealthrock|knockoff|earthquake": 2.7777777777777777, + "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|protect|knockoff|earthquake": 2.7777777777777777, + "water|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|whirlwind|knockoff|earthquake": 2.7777777777777777, + "water|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|stealthrock|knockoff|earthquake": 2.7777777777777777, + "water|heavymetal|leftovers|careful|252,4,0,0,252,0|heavyslam|protect|knockoff|earthquake": 2.7777777777777777, + "fairy|sheerforce|assaultvest|adamant|0,192,0,0,192,124|ironhead|knockoff|earthquake|playrough": 25.0, + "ground|sheerforce|assaultvest|adamant|0,192,0,0,192,124|ironhead|knockoff|earthquake|playrough": 25.0 + }, + "goodra": { + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|toxic": 12.5, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|acidspray": 12.5, + "dragon|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|knockoff": 4.166666666666667, + "dragon|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragontail": 4.166666666666667, + "fairy|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|knockoff": 4.166666666666667, + "fairy|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragontail": 4.166666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|knockoff": 4.166666666666667, + "poison|sapsipper|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragontail": 4.166666666666667, + "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|scald": 4.166666666666667, + "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragonpulse": 4.166666666666667, + "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|scald": 4.166666666666667, + "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|dragonpulse": 4.166666666666667, + "fairy|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|scald": 4.166666666666667, + "fairy|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragonpulse": 4.166666666666667, + "fairy|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|scald": 4.166666666666667, + "fairy|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|dragonpulse": 4.166666666666667, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|scald": 4.166666666666667, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|sludgebomb|dragonpulse": 4.166666666666667, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|scald": 4.166666666666667, + "poison|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|sludgebomb|dragonpulse": 4.166666666666667 + }, + "grimmsnarl": { + "poison|prankster|heavydutyboots|careful|252,4,0,0,252,0|partingshot|spiritbreak|suckerpunch|thunderwave": 12.5, + "steel|prankster|heavydutyboots|careful|252,4,0,0,252,0|partingshot|spiritbreak|suckerpunch|thunderwave": 12.5, + "poison|prankster|leftovers|careful|252,4,0,0,252,0|partingshot|spiritbreak|suckerpunch|thunderwave": 12.5, + "steel|prankster|leftovers|careful|252,4,0,0,252,0|partingshot|spiritbreak|suckerpunch|thunderwave": 12.5, + "poison|prankster|leftovers|careful|252,4,0,0,252,0|bulkup|spiritbreak|suckerpunch|substitute": 25.0, + "steel|prankster|leftovers|careful|252,4,0,0,252,0|bulkup|spiritbreak|suckerpunch|substitute": 25.0 + }, + "mudsdale": { + "steel|stamina|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|bodypress|roar": 16.666666666666668, + "steel|stamina|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|heavyslam|roar": 16.666666666666668, + "steel|stamina|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|roar": 16.666666666666668, + "steel|stamina|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|bodypress|roar": 16.666666666666668, + "steel|stamina|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|heavyslam|roar": 16.666666666666668, + "steel|stamina|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|roar": 16.666666666666668 + }, + "scrafty": { + "poison|shedskin|leftovers|careful|248,8,0,0,252,0|bulkup|drainpunch|knockoff|rest": 20.0, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|poisonjab": 20.0, + "poison|shedskin|leftovers|jolly|0,252,0,0,4,252|dragondance|drainpunch|knockoff|icepunch": 20.0, + "poison|shedskin|leftovers|adamant|176,100,0,0,0,232|dragondance|drainpunch|knockoff|poisonjab": 20.0, + "poison|shedskin|leftovers|adamant|176,100,0,0,0,232|dragondance|drainpunch|knockoff|icepunch": 20.0 + }, + "tatsugiri": { + "fairy|stormdrain|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|dracometeor|rapidspin|surf": 25.0, + "ghost|stormdrain|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|dracometeor|rapidspin|surf": 25.0, + "fairy|stormdrain|heavydutyboots|modest|0,0,0,252,4,252|nastyplot|dracometeor|rapidspin|surf": 25.0, + "ghost|stormdrain|heavydutyboots|modest|0,0,0,252,4,252|nastyplot|dracometeor|rapidspin|surf": 25.0 + }, + "venusaur": { + "ground|overgrow|heavydutyboots|timid|0,0,0,252,4,252|leafstorm|sludgebomb|earthpower|synthesis": 35.0, + "ground|overgrow|lifeorb|timid|0,0,0,252,4,252|leafstorm|sludgebomb|earthpower|synthesis": 35.0, + "water|overgrow|heavydutyboots|bold|252,0,200,0,0,56|leechseed|sludgebomb|gigadrain|synthesis": 7.5, + "water|overgrow|leftovers|bold|252,0,200,0,0,56|leechseed|sludgebomb|gigadrain|synthesis": 7.5, + "water|overgrow|heavydutyboots|bold|252,0,200,0,0,56|knockoff|sludgebomb|gigadrain|synthesis": 7.5, + "water|overgrow|leftovers|bold|252,0,200,0,0,56|knockoff|sludgebomb|gigadrain|synthesis": 7.5 + }, + "articunogalar": { + "steel|competitive|heavydutyboots|timid|0,0,0,252,4,252|futuresight|recover|hurricane|uturn": 100.0 + }, + "coalossal": { + "ghost|flamebody|heavydutyboots|calm|248,0,8,0,252,0|rapidspin|flamethrower|earthpower|stealthrock": 25.0, + "ghost|flamebody|heavydutyboots|calm|248,0,8,0,252,0|rapidspin|flamethrower|earthpower|spikes": 25.0, + "ghost|flamebody|heavydutyboots|bold|248,0,252,0,8,0|rapidspin|flamethrower|earthpower|stealthrock": 25.0, + "ghost|flamebody|heavydutyboots|bold|248,0,252,0,8,0|rapidspin|flamethrower|earthpower|spikes": 25.0 + }, + "cramorant": { + "steel|gulpmissile|heavydutyboots|bold|248,0,188,0,56,16|roost|defog|surf|bravebird": 100.0 + }, + "decidueyehisui": { + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|trailblaze|triplearrows|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|trailblaze|closecombat|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|leafblade|triplearrows|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|leafblade|closecombat|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|suckerpunch|triplearrows|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|suckerpunch|closecombat|knockoff": 4.166666666666667, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|knockoff|triplearrows|suckerpunch": 6.25, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|knockoff|closecombat|suckerpunch": 6.25, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|leafblade|triplearrows|suckerpunch": 6.25, + "dark|scrappy|lumberry|jolly|0,252,0,0,4,252|swordsdance|leafblade|closecombat|suckerpunch": 6.25, + "dark|scrappy|choicescarf|jolly|0,252,0,0,4,252|uturn|knockoff|triplearrows|leafblade": 25.0, + "dark|scrappy|choicescarf|jolly|0,252,0,0,4,252|uturn|knockoff|closecombat|leafblade": 25.0 + }, + "delphox": { + "fairy|blaze|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|fireblast|psyshock|encore": 25.0, + "fairy|blaze|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|flamethrower|psyshock|encore": 25.0, + "grass|blaze|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|fireblast|psyshock|grassknot": 25.0, + "grass|blaze|heavydutyboots|timid|0,0,0,252,4,252|nastyplot|flamethrower|psyshock|grassknot": 25.0 + }, + "dudunsparce": { + "ghost|rattled|heavydutyboots|bold|252,0,252,4,0,0|calmmind|boomburst|shadowball|roost": 10.0, + "poison|rattled|heavydutyboots|bold|252,0,252,4,0,0|calmmind|boomburst|shadowball|roost": 10.0, + "ghost|rattled|leftovers|bold|252,0,252,4,0,0|calmmind|boomburst|shadowball|roost": 10.0, + "poison|rattled|leftovers|bold|252,0,252,4,0,0|calmmind|boomburst|shadowball|roost": 10.0, + "poison|serenegrace|heavydutyboots|careful|252,0,4,0,252,0|dragontail|bodyslam|coil|roost": 15.0, + "poison|serenegrace|leftovers|careful|252,0,4,0,252,0|dragontail|bodyslam|coil|roost": 15.0, + "poison|serenegrace|heavydutyboots|careful|252,0,4,0,252,0|dragontail|bodyslam|stealthrock|roost": 7.5, + "poison|serenegrace|heavydutyboots|careful|252,0,4,0,252,0|toxic|bodyslam|stealthrock|roost": 7.5, + "poison|serenegrace|leftovers|careful|252,0,4,0,252,0|dragontail|bodyslam|stealthrock|roost": 7.5, + "poison|serenegrace|leftovers|careful|252,0,4,0,252,0|toxic|bodyslam|stealthrock|roost": 7.5 + }, + "electrodehisui": { + "fire|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|terablast": 10.0, + "fire|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|terablast": 10.0, + "fire|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|terablast": 10.0, + "fire|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|terablast": 10.0, + "ghost|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|taunt": 7.5, + "ghost|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|foulplay": 7.5, + "ghost|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|taunt": 7.5, + "ghost|soundproof|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|foulplay": 7.5, + "ghost|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|taunt": 7.5, + "ghost|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|gigadrain|thunderbolt|foulplay": 7.5, + "ghost|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|taunt": 7.5, + "ghost|aftermath|heavydutyboots|timid|0,0,0,252,4,252|voltswitch|leafstorm|thunderbolt|foulplay": 7.5 + }, + "frosmoth": { + "ground|icescales|heavydutyboots|timid|0,0,0,252,4,252|quiverdance|icebeam|terablast|gigadrain": 25.0, + "ground|icescales|heavydutyboots|timid|0,0,0,252,4,252|quiverdance|icebeam|terablast|bugbuzz": 25.0, + "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|defog|icebeam|uturn|gigadrain": 12.5, + "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|defog|icebeam|uturn|stunspore": 12.5, + "steel|icescales|heavydutyboots|timid|0,0,0,252,4,252|defog|icebeam|uturn|gigadrain": 12.5, + "steel|icescales|heavydutyboots|timid|0,0,0,252,4,252|defog|icebeam|uturn|stunspore": 12.5 + }, + "hariyama": { + "steel|guts|leftovers|adamant|12,200,0,0,252,44|bulkup|drainpunch|knockoff|bulletpunch": 50.0, + "steel|thickfat|leftovers|adamant|12,200,0,0,252,44|bulkup|drainpunch|knockoff|bulletpunch": 50.0 + }, + "hoopa": { + "fighting|magician|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|psyshock|focusblast": 12.5, + "fighting|magician|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|psychic|focusblast": 12.5, + "ghost|magician|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|psyshock|focusblast": 12.5, + "ghost|magician|choicescarf|timid|0,0,0,252,4,252|trick|shadowball|psychic|focusblast": 12.5, + "ghost|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|futuresight|focusblast": 6.25, + "ghost|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|psychic|focusblast": 6.25, + "psychic|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|futuresight|focusblast": 6.25, + "psychic|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|psychic|focusblast": 6.25, + "dark|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|futuresight|focusblast": 6.25, + "dark|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|psychic|focusblast": 6.25, + "fighting|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|futuresight|focusblast": 6.25, + "fighting|magician|choicespecs|timid|0,0,0,252,4,252|psyshock|shadowball|psychic|focusblast": 6.25 + }, + "sandslashalola": { + "water|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|spikes": 6.25, + "water|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|stealthrock": 6.25, + "water|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|spikes": 6.25, + "water|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|stealthrock": 6.25, + "ghost|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|spikes": 6.25, + "ghost|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|stealthrock": 6.25, + "ghost|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|spikes": 6.25, + "ghost|slushrush|heavydutyboots|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|stealthrock": 6.25, + "water|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|spikes": 6.25, + "water|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|stealthrock": 6.25, + "water|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|spikes": 6.25, + "water|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|stealthrock": 6.25, + "ghost|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|spikes": 6.25, + "ghost|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|icespinner|knockoff|stealthrock": 6.25, + "ghost|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|spikes": 6.25, + "ghost|slushrush|leftovers|careful|252,4,0,0,252,0|rapidspin|tripleaxel|knockoff|stealthrock": 6.25 + }, + "uxie": { + "fairy|levitate|leftovers|timid|0,0,0,252,4,252|drainingkiss|nastyplot|psyshock|encore": 10.0, + "fairy|levitate|leftovers|timid|0,0,0,252,4,252|drainingkiss|nastyplot|psychicnoise|encore": 10.0, + "steel|levitate|leftovers|timid|0,0,0,252,4,252|drainingkiss|nastyplot|psyshock|encore": 10.0, + "steel|levitate|leftovers|timid|0,0,0,252,4,252|drainingkiss|nastyplot|psychicnoise|encore": 10.0, + "electric|levitate|leftovers|timid|0,0,0,252,4,252|thunderbolt|nastyplot|psyshock|encore": 20.0, + "electric|levitate|leftovers|timid|0,0,0,252,4,252|thunderbolt|nastyplot|psychicnoise|encore": 20.0, + "steel|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|knockoff|psychicnoise|uturn": 2.5, + "steel|levitate|leftovers|bold|252,0,252,0,4,0|encore|knockoff|psychicnoise|uturn": 2.5, + "fairy|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|knockoff|psychicnoise|uturn": 2.5, + "fairy|levitate|leftovers|bold|252,0,252,0,4,0|encore|knockoff|psychicnoise|uturn": 2.5, + "steel|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|knockoff|psychicnoise|uturn": 2.5, + "steel|levitate|colburberry|bold|252,0,252,0,4,0|encore|knockoff|psychicnoise|uturn": 2.5, + "fairy|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|knockoff|psychicnoise|uturn": 2.5, + "fairy|levitate|colburberry|bold|252,0,252,0,4,0|encore|knockoff|psychicnoise|uturn": 2.5 + }, + "virizion": { + "rock|justified|lumberry|jolly|0,252,0,0,4,252|swordsdance|closecombat|stoneedge|leafblade": 50.0, + "rock|justified|lumberry|jolly|0,252,0,0,4,252|swordsdance|closecombat|stoneedge|synthesis": 50.0 + }, + "wochien": { + "poison|tabletsofruin|leftovers|impish|252,0,252,0,4,0|knockoff|protect|leechseed|foulplay": 50.0, + "poison|tabletsofruin|leftovers|impish|252,0,252,0,4,0|knockoff|protect|leechseed|ruination": 50.0 + }, + "altaria": { + "steel|naturalcure|heavydutyboots|impish|252,0,200,0,56,0|bravebird|roost|defog|willowisp": 33.333333333333336, + "steel|naturalcure|heavydutyboots|impish|252,0,200,0,56,0|bravebird|roost|defog|haze": 33.333333333333336, + "steel|naturalcure|heavydutyboots|impish|252,0,200,0,56,0|bravebird|roost|defog|roar": 33.333333333333336 + }, + "ambipom": { + "normal|technician|heavydutyboots|jolly|0,252,4,0,0,252|fakeout|uturn|knockoff|tripleaxel": 100.0 + }, + "articuno": { + "fairy|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|roar": 11.11111111111111, + "fairy|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|haze": 11.11111111111111, + "fairy|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|hurricane": 11.11111111111111, + "water|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|roar": 11.11111111111111, + "water|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|haze": 11.11111111111111, + "water|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|hurricane": 11.11111111111111, + "steel|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|roar": 11.11111111111111, + "steel|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|haze": 11.11111111111111, + "steel|pressure|heavydutyboots|bold|252,0,120,0,0,136|roost|uturn|freezedry|hurricane": 11.11111111111111 + }, + "floatzel": { + "water|waterveil|choiceband|jolly|0,252,4,0,0,252|wavecrash|flipturn|icespinner|aquajet": 100.0 + }, + "glastrier": { + "water|chillingneigh|heavydutyboots|adamant|132,252,0,0,0,124|iciclecrash|closecombat|highhorsepower|swordsdance": 50.0, + "poison|chillingneigh|heavydutyboots|adamant|132,252,0,0,0,124|iciclecrash|closecombat|highhorsepower|swordsdance": 50.0 + }, + "mesprit": { + "ghost|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "ghost|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "ghost|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555, + "fairy|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "fairy|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "fairy|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555, + "steel|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "steel|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "steel|levitate|colburberry|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555, + "ghost|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "ghost|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "ghost|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555, + "fairy|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "fairy|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "fairy|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555, + "steel|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|knockoff": 5.555555555555555, + "steel|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|thunderwave": 5.555555555555555, + "steel|levitate|leftovers|bold|252,0,252,0,4,0|stealthrock|psychicnoise|uturn|healingwish": 5.555555555555555 + }, + "oricorio": { + "ground|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|hurricane|roost": 25.0, + "ground|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|taunt|roost": 25.0, + "ground|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|hurricane|roost": 25.0, + "ground|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|taunt|roost": 25.0 + }, + "palossand": { + "dark|watercompaction||bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction||bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "dark|watercompaction||bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction||bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction||bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "water|watercompaction||bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction||bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "water|watercompaction||bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667, + "dark|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "dark|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "water|watercompaction|rockyhelmet|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667, + "dark|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "dark|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "dark|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|shadowball": 4.166666666666667, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|scorchingsands|shoreup|sludgebomb": 4.166666666666667, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|shadowball": 4.166666666666667, + "water|watercompaction|colburberry|bold|252,0,252,4,0,0|stealthrock|earthpower|shoreup|sludgebomb": 4.166666666666667 + }, + "qwilfish": { + "ground|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|painsplit": 6.25, + "ground|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|taunt": 6.25, + "ground|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|thunderwave": 6.25, + "ground|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|toxic": 6.25, + "ghost|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|painsplit": 6.25, + "ghost|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|taunt": 6.25, + "ghost|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|thunderwave": 6.25, + "ghost|intimidate|rockyhelmet|impish|252,0,240,0,0,16|spikes|barbbarrage|flipturn|toxic": 6.25, + "water|intimidate|leftovers|jolly|0,252,4,0,0,252|swordsdance|gunkshot|liquidation|aquajet": 25.0, + "water|intimidate|lifeorb|jolly|0,252,4,0,0,252|swordsdance|gunkshot|liquidation|aquajet": 25.0 + }, + "qwilfishhisui": { + "dragon|intimidate|eviolite|careful|252,0,0,0,240,16|spikes|barbbarrage|crunch|taunt": 16.666666666666668, + "dragon|intimidate|eviolite|careful|252,0,0,0,240,16|spikes|barbbarrage|crunch|haze": 16.666666666666668, + "dragon|intimidate|eviolite|careful|252,0,0,0,240,16|spikes|barbbarrage|crunch|toxic": 16.666666666666668, + "water|intimidate|eviolite|jolly|0,252,4,0,0,252|swordsdance|gunkshot|crunch|aquajet": 50.0 + }, + "rotommow": { + "electric|levitate|choicescarf|timid|0,0,0,252,4,252|voltswitch|thunderbolt|leafstorm|trick": 50.0, + "electric|levitate|choicescarf|timid|0,0,0,252,4,252|voltswitch|discharge|leafstorm|trick": 50.0 + }, + "sandaconda": { + "ghost|shedskin|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "ghost|shedskin|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334, + "dragon|shedskin|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "dragon|shedskin|rockyhelmet|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334, + "ghost|shedskin|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "ghost|shedskin|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334, + "dragon|shedskin|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "dragon|shedskin|leftovers|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334, + "ghost|shedskin|heavydutyboots|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "ghost|shedskin|heavydutyboots|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334, + "dragon|shedskin|heavydutyboots|impish|252,0,252,0,4,0|stealthrock|earthquake|glare|rest": 8.333333333333334, + "dragon|shedskin|heavydutyboots|impish|252,0,252,0,4,0|stealthrock|earthquake|stoneedge|rest": 8.333333333333334 + }, + "sneasel": { + "ice|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 16.666666666666668, + "ice|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|iceshard": 16.666666666666668, + "dark|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 16.666666666666668, + "dark|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|iceshard": 16.666666666666668, + "ghost|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|tripleaxel|knockoff|iceshard": 16.666666666666668, + "ghost|innerfocus|heavydutyboots|jolly|0,252,4,0,0,252|swordsdance|iciclecrash|knockoff|iceshard": 16.666666666666668 + }, + "sneaselhisui": { + "dark|innerfocus|eviolite|jolly|0,252,4,0,0,252|swordsdance|gunkshot|closecombat|throatchop": 100.0 + }, + "whimsicott": { + "fairy|prankster|choicespecs|timid|0,0,0,252,4,252|energyball|moonblast|psychic|switcheroo": 25.0, + "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|energyball|moonblast|psychic|switcheroo": 25.0, + "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|energyball|moonblast|psychic|uturn": 50.0 + }, + "braviaryhisui": { + "fairy|sheerforce|lifeorb|timid|0,0,4,252,0,252|psychic|hurricane|heatwave|agility": 25.0, + "fairy|sheerforce|lifeorb|timid|0,0,4,252,0,252|psychic|hurricane|heatwave|roost": 25.0, + "fire|sheerforce|lifeorb|timid|0,0,4,252,0,252|psychic|hurricane|heatwave|agility": 25.0, + "fire|sheerforce|lifeorb|timid|0,0,4,252,0,252|psychic|hurricane|heatwave|roost": 25.0 + }, + "farigiraf": { + "fairy|armortail|lifeorb|quiet|252,0,4,252,0,0|psyshock|terablast|trickroom|nastyplot": 50.0, + "fire|armortail|lifeorb|quiet|252,0,4,252,0,0|psyshock|terablast|trickroom|nastyplot": 50.0 + }, + "hattrem": { + "fairy|magicbounce|eviolite|timid|252,0,252,0,4,0|psychic|nuzzle|mysticalfire|gigadrain": 25.0, + "fairy|magicbounce|eviolite|timid|252,0,252,0,4,0|psychic|nuzzle|mysticalfire|healingwish": 25.0, + "fire|magicbounce|eviolite|timid|252,0,252,0,4,0|psychic|nuzzle|mysticalfire|gigadrain": 25.0, + "fire|magicbounce|eviolite|timid|252,0,252,0,4,0|psychic|nuzzle|mysticalfire|healingwish": 25.0 + }, + "naclstack": { + "water|purifyingsalt|eviolite|careful|248,0,8,0,252,0|saltcure|protect|recover|curse": 50.0, + "ghost|purifyingsalt|eviolite|careful|248,0,8,0,252,0|saltcure|protect|recover|stealthrock": 50.0 + }, + "orthworm": { + "ghost|eartheater|leftovers|careful|248,0,8,0,252,0|coil|irontail|bodypress|stealthrock": 25.0, + "electric|eartheater|leftovers|careful|248,0,8,0,252,0|coil|irontail|bodypress|stealthrock": 25.0, + "ghost|eartheater|leftovers|careful|248,0,8,0,252,0|irondefense|heavyslam|bodypress|stealthrock": 6.25, + "ghost|eartheater|leftovers|careful|248,0,8,0,252,0|irondefense|heavyslam|bodypress|spikes": 6.25, + "electric|eartheater|leftovers|careful|248,0,8,0,252,0|irondefense|heavyslam|bodypress|stealthrock": 6.25, + "electric|eartheater|leftovers|careful|248,0,8,0,252,0|irondefense|heavyslam|bodypress|spikes": 6.25, + "ghost|eartheater|leftovers|careful|248,0,8,0,252,0|spikes|heavyslam|bodypress|stealthrock": 12.5, + "electric|eartheater|leftovers|careful|248,0,8,0,252,0|spikes|heavyslam|bodypress|stealthrock": 12.5 + }, + "passimian": { + "fighting|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|uturn|knockoff|gunkshot": 25.0, + "fighting|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|uturn|knockoff|earthquake": 25.0, + "dark|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|uturn|knockoff|gunkshot": 25.0, + "dark|defiant|choicescarf|jolly|0,252,4,0,0,252|closecombat|uturn|knockoff|earthquake": 25.0 + }, + "brutebonnet": { + "fighting|protosynthesis|choiceband|adamant|0,252,4,0,0,252|closecombat|seedbomb|crunch|suckerpunch": 50.0, + "dark|protosynthesis|choiceband|adamant|0,252,4,0,0,252|closecombat|seedbomb|crunch|suckerpunch": 50.0 + }, + "jolteon": { + "fairy|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|calmmind|voltswitch|alluringvoice": 30.0, + "ghost|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|calmmind|voltswitch|shadowball": 30.0, + "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|thunderbolt|calmmind|voltswitch|terablast": 40.0 + }, + "sandslash": { + "ghost|sandrush|heavydutyboots|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "ghost|sandrush|heavydutyboots|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334, + "water|sandrush|heavydutyboots|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "water|sandrush|heavydutyboots|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334, + "ghost|sandrush|leftovers|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "ghost|sandrush|leftovers|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334, + "water|sandrush|leftovers|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "water|sandrush|leftovers|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334, + "ghost|sandrush|rockyhelmet|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "ghost|sandrush|rockyhelmet|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334, + "water|sandrush|rockyhelmet|impish|248,0,252,0,8,0|earthquake|rapidspin|spikes|knockoff": 8.333333333333334, + "water|sandrush|rockyhelmet|impish|248,0,252,0,8,0|earthquake|rapidspin|stealthrock|knockoff": 8.333333333333334 + }, + "emboar": { + "dark|reckless|heavydutyboots|adamant|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|knockoff": 6.25, + "dark|reckless|heavydutyboots|adamant|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|earthquake": 6.25, + "dark|reckless|choiceband|adamant|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|knockoff": 6.25, + "dark|reckless|choiceband|adamant|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|earthquake": 6.25, + "dark|reckless|heavydutyboots|jolly|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|knockoff": 6.25, + "dark|reckless|heavydutyboots|jolly|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|earthquake": 6.25, + "dark|reckless|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|knockoff": 6.25, + "dark|reckless|choiceband|jolly|0,252,4,0,0,252|flareblitz|closecombat|suckerpunch|earthquake": 6.25, + "dark|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|headsmash": 8.333333333333334, + "dark|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|earthquake": 8.333333333333334, + "fighting|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|headsmash": 8.333333333333334, + "fighting|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|earthquake": 8.333333333333334, + "fire|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|headsmash": 8.333333333333334, + "fire|reckless|choicescarf|jolly|0,252,4,0,0,252|flareblitz|closecombat|knockoff|earthquake": 8.333333333333334 + }, + "oricoriosensu": { + "ground|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|hurricane|roost": 12.5, + "ground|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|taunt|roost": 12.5, + "fairy|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|hurricane|roost": 12.5, + "fairy|dancer|heavydutyboots|modest|252,0,0,252,4,0|quiverdance|revelationdance|taunt|roost": 12.5, + "ground|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|hurricane|roost": 12.5, + "ground|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|taunt|roost": 12.5, + "fairy|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|hurricane|roost": 12.5, + "fairy|dancer|heavydutyboots|bold|252,0,252,4,0,0|quiverdance|revelationdance|taunt|roost": 12.5 + }, + "regirock": { + "ghost|clearbody|leftovers|impish|252,0,252,0,4,0|stealthrock|stoneedge|bodypress|thunderwave": 25.0, + "ghost|clearbody|leftovers|impish|252,0,252,0,4,0|stealthrock|stoneedge|bodypress|irondefense": 25.0, + "poison|clearbody|leftovers|impish|252,0,252,0,4,0|stealthrock|stoneedge|bodypress|thunderwave": 25.0, + "poison|clearbody|leftovers|impish|252,0,252,0,4,0|stealthrock|stoneedge|bodypress|irondefense": 25.0 + } + } +} \ No newline at end of file diff --git a/data/pkmn_sets/gen9ou.json b/data/pkmn_sets/gen9ou.json new file mode 100644 index 000000000..973c06d67 --- /dev/null +++ b/data/pkmn_sets/gen9ou.json @@ -0,0 +1,3 @@ +{ + "pokemon": {} +} \ No newline at end of file diff --git a/data/pkmn_sets/gen9randombattle.json b/data/pkmn_sets/gen9randombattle.json new file mode 100644 index 000000000..e96fe85f8 --- /dev/null +++ b/data/pkmn_sets/gen9randombattle.json @@ -0,0 +1,509 @@ +{ + "abomasnow": {"lightclay,snowwarning,auroraveil,blizzard,iceshard,woodhammer,Ice": 223, "lightclay,snowwarning,auroraveil,blizzard,earthquake,woodhammer,Water": 223, "lightclay,snowwarning,auroraveil,blizzard,earthquake,iceshard,Water": 224, "lightclay,snowwarning,auroraveil,blizzard,earthquake,woodhammer,Ice": 220, "lightclay,snowwarning,auroraveil,blizzard,iceshard,woodhammer,Water": 220, "lightclay,snowwarning,auroraveil,blizzard,earthquake,iceshard,Ice": 248, "assaultvest,snowwarning,blizzard,earthquake,iceshard,woodhammer,Ice": 1, "assaultvest,snowwarning,blizzard,earthquake,iceshard,woodhammer,Water": 7}, + "alcremie": {"leftovers,aromaveil,alluringvoice,calmmind,recover,terablast,Ground": 718, "leftovers,aromaveil,alluringvoice,calmmind,psyshock,recover,Poison": 206, "leftovers,aromaveil,alluringvoice,calmmind,psychic,recover,Poison": 222, "leftovers,aromaveil,alluringvoice,calmmind,psychic,recover,Steel": 201, "leftovers,aromaveil,alluringvoice,calmmind,psyshock,recover,Steel": 197}, + "alomomola": {"rockyhelmet,regenerator,flipturn,protect,scald,wish,Steel": 401, "leftovers,regenerator,flipturn,protect,scald,wish,Steel": 369, "heavydutyboots,regenerator,flipturn,protect,scald,wish,Steel": 727}, + "altaria": {"heavydutyboots,naturalcure,bravebird,defog,earthquake,roost,Steel": 176, "heavydutyboots,naturalcure,bravebird,dragondance,earthquake,roost,Steel": 324, "heavydutyboots,naturalcure,bravebird,dragondance,earthquake,roost,Ground": 318, "heavydutyboots,naturalcure,bravebird,haze,roost,willowisp,Steel": 25, "heavydutyboots,naturalcure,bravebird,defog,roost,willowisp,Steel": 161, "heavydutyboots,naturalcure,bravebird,defog,haze,roost,Steel": 192, "heavydutyboots,naturalcure,bravebird,earthquake,roost,willowisp,Steel": 31, "heavydutyboots,naturalcure,bravebird,earthquake,haze,roost,Steel": 22}, + "ambipom": {"choiceband,technician,doubleedge,knockoff,tripleaxel,uturn,Ice": 357, "choiceband,technician,doubleedge,knockoff,lowkick,tripleaxel,Ice": 404, "silkscarf,technician,doubleedge,fakeout,knockoff,lowkick,Normal": 372, "silkscarf,technician,doubleedge,fakeout,knockoff,uturn,Normal": 405}, + "amoonguss": {"leftovers,regenerator,clearsmog,gigadrain,sludgebomb,spore,Steel": 64, "leftovers,regenerator,gigadrain,sludgebomb,spore,toxic,Steel": 57, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,stompingtantrum,Water": 186, "leftovers,regenerator,gigadrain,sludgebomb,spore,toxic,Water": 87, "leftovers,regenerator,gigadrain,sludgebomb,spore,stompingtantrum,Steel": 179, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,toxic,Steel": 105, "leftovers,regenerator,gigadrain,sludgebomb,spore,stompingtantrum,Water": 168, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,toxic,Water": 78, "rockyhelmet,regenerator,gigadrain,sludgebomb,spore,stompingtantrum,Steel": 183, "leftovers,regenerator,clearsmog,gigadrain,sludgebomb,spore,Water": 66, "rockyhelmet,regenerator,clearsmog,gigadrain,sludgebomb,spore,Water": 81, "rockyhelmet,regenerator,clearsmog,gigadrain,sludgebomb,spore,Steel": 80}, + "ampharos": {"lifeorb,static,agility,dazzlinggleam,focusblast,thunderbolt,Electric": 170, "choicespecs,static,dazzlinggleam,focusblast,thunderbolt,voltswitch,Electric": 199, "assaultvest,static,dazzlinggleam,focusblast,thunderbolt,voltswitch,Fairy": 203, "assaultvest,static,dazzlinggleam,discharge,focusblast,voltswitch,Fairy": 157, "lifeorb,static,agility,dazzlinggleam,focusblast,thunderbolt,Fairy": 202, "choicespecs,static,dazzlinggleam,focusblast,thunderbolt,voltswitch,Fairy": 177, "assaultvest,static,dazzlinggleam,dragontail,thunderbolt,voltswitch,Fairy": 180, "assaultvest,static,dazzlinggleam,discharge,dragontail,voltswitch,Fairy": 184}, + "annihilape": {"chestoberry,defiant,bulkup,drainpunch,ragefist,rest,Ghost": 119, "leftovers,defiant,bulkup,drainpunch,ragefist,taunt,Fairy": 135, "chestoberry,defiant,bulkup,drainpunch,ragefist,rest,Fairy": 102, "leftovers,defiant,bulkup,drainpunch,gunkshot,ragefist,Steel": 120, "chestoberry,defiant,bulkup,drainpunch,ragefist,rest,Water": 122, "leftovers,defiant,bulkup,drainpunch,ragefist,taunt,Ghost": 119, "leftovers,defiant,bulkup,drainpunch,gunkshot,ragefist,Water": 130, "chestoberry,defiant,bulkup,drainpunch,ragefist,rest,Steel": 124, "leftovers,defiant,bulkup,drainpunch,gunkshot,ragefist,Fairy": 118, "leftovers,defiant,bulkup,drainpunch,gunkshot,ragefist,Ghost": 136, "leftovers,defiant,bulkup,drainpunch,ragefist,taunt,Steel": 122, "leftovers,defiant,bulkup,drainpunch,ragefist,taunt,Water": 123}, + "appletun": {"leftovers,thickfat,appleacid,dracometeor,leechseed,recover,Steel": 653, "leftovers,thickfat,appleacid,dragonpulse,leechseed,recover,Steel": 594}, + "araquanid": {"heavydutyboots,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb,Ground": 100, "heavydutyboots,waterbubble,hydropump,leechlife,liquidation,stickyweb,Water": 330, "heavydutyboots,waterbubble,hydropump,leechlife,liquidation,stickyweb,Ground": 351, "heavydutyboots,waterbubble,hydropump,leechlife,liquidation,stickyweb,Steel": 308, "heavydutyboots,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb,Water": 123, "heavydutyboots,waterbubble,leechlife,liquidation,mirrorcoat,stickyweb,Steel": 113, "assaultvest,waterbubble,hydropump,leechlife,liquidation,mirrorcoat,Water": 19, "assaultvest,waterbubble,hydropump,leechlife,liquidation,mirrorcoat,Ground": 22, "assaultvest,waterbubble,hydropump,leechlife,liquidation,mirrorcoat,Steel": 19}, + "arbok": {"choiceband,intimidate,earthquake,gunkshot,knockoff,suckerpunch,Dark": 36, "lifeorb,intimidate,coil,earthquake,gunkshot,suckerpunch,Ground": 243, "leftovers,intimidate,coil,earthquake,gunkshot,trailblaze,Ground": 240, "lifeorb,intimidate,coil,earthquake,gunkshot,suckerpunch,Dark": 242, "leftovers,intimidate,coil,earthquake,gunkshot,trailblaze,Grass": 247, "focussash,intimidate,glare,gunkshot,knockoff,toxicspikes,Dark": 7, "lifeorb,intimidate,earthquake,gunkshot,knockoff,toxicspikes,Dark": 40, "leftovers,intimidate,earthquake,glare,gunkshot,toxicspikes,Ground": 32, "lifeorb,intimidate,earthquake,gunkshot,knockoff,toxicspikes,Ground": 41, "lifeorb,intimidate,earthquake,glare,gunkshot,knockoff,Ground": 51, "focussash,intimidate,gunkshot,knockoff,suckerpunch,toxicspikes,Dark": 5, "lifeorb,intimidate,earthquake,glare,gunkshot,suckerpunch,Ground": 44, "lifeorb,intimidate,gunkshot,knockoff,suckerpunch,toxicspikes,Dark": 28, "lifeorb,intimidate,earthquake,glare,gunkshot,knockoff,Dark": 57, "lifeorb,intimidate,glare,gunkshot,knockoff,suckerpunch,Dark": 49, "lifeorb,intimidate,earthquake,gunkshot,suckerpunch,toxicspikes,Ground": 38, "leftovers,intimidate,glare,gunkshot,knockoff,toxicspikes,Dark": 27, "focussash,intimidate,earthquake,glare,gunkshot,toxicspikes,Ground": 7, "focussash,intimidate,earthquake,gunkshot,knockoff,toxicspikes,Dark": 7, "focussash,intimidate,earthquake,gunkshot,suckerpunch,toxicspikes,Ground": 9, "focussash,intimidate,earthquake,gunkshot,knockoff,toxicspikes,Ground": 5}, + "arboliva": {"sitrusberry,harvest,hypervoice,leechseed,protect,substitute,Water": 356, "leftovers,seedsower,earthpower,energyball,hypervoice,strengthsap,Grass": 221, "leftovers,seedsower,earthpower,energyball,hypervoice,strengthsap,Ground": 213, "leftovers,seedsower,earthpower,energyball,hypervoice,strengthsap,Poison": 223, "sitrusberry,harvest,hypervoice,leechseed,protect,substitute,Poison": 301}, + "arcanine": {"heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,roar,Normal": 59, "heavydutyboots,intimidate,closecombat,extremespeed,flareblitz,morningsun,Normal": 119, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,wildcharge,Fighting": 70, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,willowisp,Fighting": 61, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge,Normal": 62, "heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,willowisp,Normal": 59, "heavydutyboots,intimidate,extremespeed,flareblitz,morningsun,wildcharge,Normal": 48, "heavydutyboots,intimidate,closecombat,flareblitz,morningsun,roar,Fighting": 63, "choiceband,intimidate,closecombat,extremespeed,flareblitz,wildcharge,Fighting": 49, "heavydutyboots,intimidate,closecombat,extremespeed,flareblitz,morningsun,Fighting": 128}, + "arcaninehisui": {"heavydutyboots,rockhead,extremespeed,flareblitz,headsmash,morningsun,Rock": 93, "choiceband,rockhead,closecombat,flareblitz,headsmash,wildcharge,Rock": 20, "heavydutyboots,rockhead,extremespeed,flareblitz,headsmash,morningsun,Fire": 88, "heavydutyboots,rockhead,extremespeed,flareblitz,headsmash,morningsun,Normal": 87, "choicescarf,rockhead,closecombat,flareblitz,headsmash,wildcharge,Rock": 17, "heavydutyboots,rockhead,extremespeed,flareblitz,headsmash,morningsun,Grass": 71, "choiceband,rockhead,closecombat,extremespeed,flareblitz,headsmash,Rock": 38, "choiceband,rockhead,extremespeed,flareblitz,headsmash,wildcharge,Fire": 40, "choicescarf,rockhead,closecombat,flareblitz,headsmash,wildcharge,Fire": 19, "choiceband,rockhead,closecombat,flareblitz,headsmash,wildcharge,Fire": 19, "choiceband,rockhead,closecombat,extremespeed,flareblitz,headsmash,Normal": 48, "choiceband,rockhead,extremespeed,flareblitz,headsmash,wildcharge,Rock": 42, "choiceband,rockhead,extremespeed,flareblitz,headsmash,wildcharge,Normal": 52, "choiceband,rockhead,closecombat,extremespeed,flareblitz,headsmash,Fire": 35}, + "arceus": {"leftovers,multitype,extremespeed,recover,shadowclaw,swordsdance,Ghost": 62, "lifeorb,multitype,earthquake,extremespeed,shadowclaw,swordsdance,Ghost": 62, "lifeorb,multitype,earthquake,extremespeed,recover,swordsdance,Normal": 128}, + "arceusbug": {"insectplate,multitype,calmmind,earthpower,judgment,recover,Ground": 114, "insectplate,multitype,calmmind,fireblast,judgment,recover,Fire": 119}, + "arceusdark": {"dreadplate,multitype,calmmind,judgment,recover,sludgebomb,Poison": 113, "dreadplate,multitype,calmmind,dazzlinggleam,judgment,recover,Fairy": 122}, + "arceusdragon": {"dracoplate,multitype,calmmind,fireblast,judgment,sludgebomb,Fire": 30, "dracoplate,multitype,calmmind,fireblast,judgment,recover,Fire": 39, "dracoplate,multitype,extremespeed,flareblitz,outrage,swordsdance,Fire": 29, "dracoplate,multitype,dragondance,flareblitz,heavyslam,outrage,Fire": 29, "dracoplate,multitype,flareblitz,heavyslam,outrage,swordsdance,Fire": 43, "dracoplate,multitype,dragondance,flareblitz,heavyslam,outrage,Steel": 41}, + "arceuselectric": {"zapplate,multitype,calmmind,icebeam,judgment,recover,Electric": 108, "zapplate,multitype,calmmind,icebeam,judgment,recover,Ice": 138}, + "arceusfairy": {"pixieplate,multitype,calmmind,earthpower,judgment,recover,Ground": 127, "pixieplate,multitype,calmmind,earthpower,judgment,recover,Steel": 129}, + "arceusfighting": {"fistplate,multitype,bodypress,irondefense,recover,shadowball,Steel": 139, "fistplate,multitype,bodypress,cosmicpower,recover,storedpower,Steel": 115}, + "arceusfire": {"flameplate,multitype,dragondance,earthquake,flareblitz,recover,Fire": 40, "flameplate,multitype,earthquake,flareblitz,recover,swordsdance,Ground": 23, "flameplate,multitype,earthquake,extremespeed,flareblitz,swordsdance,Ground": 24, "flameplate,multitype,calmmind,energyball,judgment,recover,Grass": 36, "flameplate,multitype,earthquake,extremespeed,flareblitz,swordsdance,Fire": 17, "flameplate,multitype,dragondance,earthquake,flareblitz,recover,Ground": 36, "flameplate,multitype,calmmind,earthpower,judgment,recover,Ground": 43, "flameplate,multitype,extremespeed,flareblitz,recover,swordsdance,Fire": 9, "flameplate,multitype,earthquake,flareblitz,recover,swordsdance,Fire": 15}, + "arceusflying": {"skyplate,multitype,calmmind,earthpower,judgment,recover,Ground": 115, "skyplate,multitype,calmmind,earthpower,judgment,recover,Steel": 129}, + "arceusghost": {"spookyplate,multitype,calmmind,focusblast,judgment,recover,Normal": 50, "spookyplate,multitype,focusblast,judgment,recover,willowisp,Fighting": 63, "spookyplate,multitype,focusblast,judgment,recover,willowisp,Normal": 70, "spookyplate,multitype,calmmind,focusblast,judgment,recover,Fighting": 44, "spookyplate,multitype,calmmind,focusblast,judgment,recover,Ghost": 32}, + "arceusgrass": {"meadowplate,multitype,calmmind,fireblast,judgment,recover,Fire": 96, "meadowplate,multitype,calmmind,earthpower,icebeam,judgment,Ground": 113}, + "arceusground": {"earthplate,multitype,dragondance,earthquake,recover,stoneedge,Ground": 44, "earthplate,multitype,earthquake,extremespeed,stoneedge,swordsdance,Normal": 71, "earthplate,multitype,calmmind,fireblast,judgment,recover,Dragon": 32, "earthplate,multitype,calmmind,icebeam,judgment,recover,Dragon": 25, "earthplate,multitype,dragondance,earthquake,recover,stoneedge,Steel": 41, "earthplate,multitype,calmmind,icebeam,judgment,recover,Ground": 22, "earthplate,multitype,calmmind,fireblast,judgment,recover,Ground": 23}, + "arceusice": {"icicleplate,multitype,calmmind,judgment,recover,thunderbolt,Electric": 122, "icicleplate,multitype,calmmind,earthpower,judgment,recover,Ground": 111}, + "arceuspoison": {"toxicplate,multitype,earthquake,extremespeed,gunkshot,swordsdance,Normal": 50, "toxicplate,multitype,earthquake,gunkshot,liquidation,swordsdance,Ground": 18, "toxicplate,multitype,earthquake,extremespeed,gunkshot,swordsdance,Ground": 64, "toxicplate,multitype,earthquake,flareblitz,gunkshot,swordsdance,Ground": 21, "toxicplate,multitype,dragondance,earthquake,flareblitz,gunkshot,Ground": 15, "toxicplate,multitype,dragondance,earthquake,gunkshot,liquidation,Ground": 28, "toxicplate,multitype,earthquake,gunkshot,recover,swordsdance,Ground": 25, "toxicplate,multitype,dragondance,earthquake,gunkshot,recover,Ground": 19}, + "arceuspsychic": {"mindplate,multitype,bodypress,cosmicpower,recover,storedpower,Steel": 248}, + "arceusrock": {"stoneplate,multitype,dragondance,earthquake,recover,stoneedge,Ground": 56, "stoneplate,multitype,calmmind,fireblast,judgment,recover,Dragon": 38, "stoneplate,multitype,earthquake,recover,stoneedge,swordsdance,Ground": 55, "stoneplate,multitype,calmmind,earthpower,judgment,recover,Dragon": 34, "stoneplate,multitype,calmmind,earthpower,judgment,recover,Ground": 57}, + "arceussteel": {"ironplate,multitype,calmmind,earthpower,judgment,recover,Ghost": 127, "ironplate,multitype,earthquake,judgment,recover,willowisp,Ghost": 110}, + "arceuswater": {"splashplate,multitype,calmmind,icebeam,judgment,recover,Steel": 89, "splashplate,multitype,calmmind,judgment,recover,willowisp,Steel": 84, "splashplate,multitype,icebeam,judgment,recover,willowisp,Steel": 79}, + "archaludon": {"leftovers,stamina,bodypress,dracometeor,flashcannon,thunderwave,Fighting": 185, "lumberry,stamina,earthquake,ironhead,outrage,swordsdance,Ground": 678, "leftovers,stamina,bodypress,dracometeor,flashcannon,stealthrock,Fighting": 150, "assaultvest,stamina,bodypress,dracometeor,flashcannon,thunderbolt,Fighting": 203, "assaultvest,stamina,bodypress,dracometeor,dragontail,flashcannon,Fighting": 194}, + "ariados": {"heavydutyboots,swarm,megahorn,poisonjab,stickyweb,suckerpunch,Ghost": 185, "heavydutyboots,insomnia,knockoff,megahorn,poisonjab,stickyweb,Ghost": 204, "heavydutyboots,insomnia,megahorn,poisonjab,suckerpunch,toxicspikes,Ghost": 12, "heavydutyboots,swarm,knockoff,megahorn,poisonjab,stickyweb,Ghost": 183, "heavydutyboots,swarm,megahorn,poisonjab,stickyweb,toxicspikes,Ghost": 192, "focussash,insomnia,megahorn,poisonjab,stickyweb,toxicspikes,Ghost": 44, "focussash,swarm,knockoff,megahorn,poisonjab,stickyweb,Ghost": 39, "heavydutyboots,insomnia,megahorn,poisonjab,stickyweb,toxicspikes,Ghost": 170, "focussash,swarm,megahorn,poisonjab,stickyweb,suckerpunch,Ghost": 40, "heavydutyboots,insomnia,megahorn,poisonjab,stickyweb,suckerpunch,Ghost": 192, "focussash,insomnia,knockoff,megahorn,poisonjab,stickyweb,Ghost": 40, "focussash,insomnia,megahorn,poisonjab,stickyweb,suckerpunch,Ghost": 59, "focussash,swarm,megahorn,poisonjab,stickyweb,toxicspikes,Ghost": 37, "heavydutyboots,insomnia,knockoff,megahorn,poisonjab,toxicspikes,Ghost": 16, "heavydutyboots,swarm,knockoff,megahorn,poisonjab,toxicspikes,Ghost": 13, "heavydutyboots,swarm,megahorn,poisonjab,suckerpunch,toxicspikes,Ghost": 5, "choiceband,swarm,knockoff,megahorn,poisonjab,suckerpunch,Ghost": 2}, + "armarouge": {"powerherb,weakarmor,armorcannon,energyball,meteorbeam,psyshock,Grass": 302, "powerherb,weakarmor,armorcannon,energyball,meteorbeam,psyshock,Fire": 354, "choicespecs,weakarmor,armorcannon,aurasphere,energyball,psyshock,Fire": 76, "choicespecs,weakarmor,armorcannon,aurasphere,energyball,psyshock,Grass": 69, "choicespecs,weakarmor,armorcannon,energyball,focusblast,psyshock,Fire": 97, "choicespecs,weakarmor,armorcannon,energyball,focusblast,psyshock,Fighting": 90, "choicespecs,weakarmor,armorcannon,aurasphere,energyball,psyshock,Psychic": 90, "choicespecs,weakarmor,armorcannon,aurasphere,energyball,psyshock,Fighting": 70, "choicespecs,weakarmor,armorcannon,energyball,focusblast,psyshock,Grass": 77, "choicespecs,weakarmor,armorcannon,energyball,focusblast,psyshock,Psychic": 88}, + "articuno": {"heavydutyboots,pressure,bravebird,freezedry,roost,uturn,Steel": 114, "heavydutyboots,pressure,bravebird,freezedry,roost,uturn,Ground": 113, "heavydutyboots,pressure,bravebird,freezedry,haze,roost,Ground": 118, "heavydutyboots,pressure,bravebird,freezedry,roost,substitute,Ground": 108, "heavydutyboots,pressure,bravebird,freezedry,haze,roost,Steel": 125, "heavydutyboots,pressure,bravebird,freezedry,roost,substitute,Steel": 107}, + "articunogalar": {"heavydutyboots,competitive,calmmind,freezingglare,hurricane,recover,Steel": 677}, + "avalugg": {"heavydutyboots,sturdy,avalanche,bodypress,rapidspin,recover,Fighting": 586, "heavydutyboots,sturdy,avalanche,bodypress,curse,recover,Fighting": 99}, + "avalugghisui": {"heavydutyboots,sturdy,avalanche,bodypress,recover,stoneedge,Poison": 127, "heavydutyboots,sturdy,avalanche,bodypress,recover,stoneedge,Ghost": 125, "heavydutyboots,sturdy,avalanche,rapidspin,recover,stoneedge,Flying": 84, "heavydutyboots,sturdy,avalanche,rapidspin,recover,stoneedge,Poison": 88, "heavydutyboots,sturdy,avalanche,bodypress,recover,stoneedge,Flying": 129, "heavydutyboots,sturdy,avalanche,rapidspin,recover,stoneedge,Ghost": 87}, + "azelf": {"choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn,Psychic": 13, "assaultvest,levitate,explosion,fireblast,knockoff,psychic,Fire": 23, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,trick,Fairy": 16, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,uturn,Electric": 17, "leftovers,levitate,knockoff,psychic,stealthrock,taunt,Dark": 23, "lifeorb,levitate,encore,fireblast,psychic,uturn,Fire": 34, "lifeorb,levitate,explosion,knockoff,psychic,taunt,Dark": 29, "assaultvest,levitate,explosion,knockoff,psychic,uturn,Dark": 16, "leftovers,levitate,fireblast,psychic,stealthrock,taunt,Fire": 22, "lifeorb,levitate,encore,fireblast,knockoff,psychic,Fire": 29, "lifeorb,levitate,encore,explosion,fireblast,psychic,Fire": 21, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,trick,Psychic": 10, "lifeorb,levitate,fireblast,nastyplot,psychic,thunderbolt,Electric": 7, "choicespecs,levitate,fireblast,psyshock,thunderbolt,trick,Fire": 11, "assaultvest,levitate,fireblast,knockoff,psychic,uturn,Dark": 29, "assaultvest,levitate,explosion,fireblast,knockoff,psychic,Dark": 23, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,trick,Psychic": 10, "lifeorb,levitate,encore,knockoff,psychic,uturn,Dark": 34, "focussash,levitate,fireblast,knockoff,psychic,stealthrock,Dark": 4, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,uturn,Fairy": 8, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn,Fairy": 13, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,trick,Electric": 15, "lifeorb,levitate,fireblast,knockoff,psychic,taunt,Dark": 34, "choicespecs,levitate,fireblast,psyshock,thunderbolt,uturn,Psychic": 14, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,trick,Fairy": 17, "choicespecs,levitate,fireblast,psyshock,thunderbolt,trick,Electric": 14, "choicespecs,levitate,fireblast,psyshock,thunderbolt,trick,Psychic": 8, "lifeorb,levitate,fireblast,nastyplot,psychic,thunderbolt,Psychic": 6, "lifeorb,levitate,fireblast,psychic,stealthrock,uturn,Fire": 23, "lifeorb,levitate,fireblast,psychic,taunt,uturn,Fire": 27, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,uturn,Fairy": 12, "leftovers,levitate,encore,fireblast,psychic,stealthrock,Fire": 21, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic,Fairy": 13, "choicespecs,levitate,fireblast,psychic,thunderbolt,trick,Psychic": 12, "assaultvest,levitate,fireblast,knockoff,psychic,uturn,Fire": 25, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,thunderbolt,Psychic": 13, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic,Fire": 7, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock,Fire": 19, "assaultvest,levitate,explosion,fireblast,psychic,uturn,Fire": 27, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn,Fire": 17, "lifeorb,levitate,knockoff,psychic,taunt,uturn,Dark": 25, "lifeorb,levitate,knockoff,psychic,stealthrock,uturn,Dark": 19, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,thunderbolt,Fairy": 21, "focussash,levitate,fireblast,knockoff,psychic,stealthrock,Fire": 3, "lifeorb,levitate,fireblast,knockoff,psychic,taunt,Fire": 30, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock,Psychic": 8, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,thunderbolt,Electric": 12, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn,Fire": 13, "lifeorb,levitate,encore,fireblast,knockoff,psychic,Dark": 27, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,thunderbolt,Fairy": 13, "choicespecs,levitate,fireblast,psychic,thunderbolt,uturn,Psychic": 7, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,trick,Psychic": 14, "lifeorb,levitate,explosion,fireblast,psychic,stealthrock,Fire": 18, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,uturn,Psychic": 9, "lifeorb,levitate,dazzlinggleam,nastyplot,psyshock,thunderbolt,Electric": 8, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psychic,Psychic": 9, "lifeorb,levitate,dazzlinggleam,nastyplot,psyshock,thunderbolt,Fairy": 11, "lifeorb,levitate,explosion,knockoff,psychic,stealthrock,Dark": 14, "leftovers,levitate,encore,knockoff,psychic,stealthrock,Dark": 22, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,trick,Psychic": 10, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,uturn,Fairy": 12, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,trick,Fire": 10, "choicespecs,levitate,fireblast,psychic,thunderbolt,uturn,Fire": 13, "focussash,levitate,explosion,knockoff,psychic,stealthrock,Dark": 5, "lifeorb,levitate,explosion,fireblast,psychic,taunt,Fire": 24, "choicespecs,levitate,fireblast,psyshock,thunderbolt,uturn,Fire": 13, "choicespecs,levitate,fireblast,psychic,thunderbolt,uturn,Electric": 13, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,uturn,Psychic": 10, "choicespecs,levitate,fireblast,psychic,thunderbolt,trick,Fire": 14, "focussash,levitate,fireblast,psychic,stealthrock,taunt,Fire": 8, "lifeorb,levitate,fireblast,nastyplot,psyshock,thunderbolt,Fire": 13, "lifeorb,levitate,fireblast,knockoff,psychic,stealthrock,Fire": 22, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,trick,Fairy": 13, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,thunderbolt,Fire": 15, "lifeorb,levitate,encore,explosion,knockoff,psychic,Dark": 30, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,thunderbolt,Fairy": 13, "focussash,levitate,fireblast,psychic,stealthrock,uturn,Fire": 7, "choicespecs,levitate,dazzlinggleam,psyshock,thunderbolt,trick,Fairy": 8, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,trick,Electric": 16, "lifeorb,levitate,fireblast,nastyplot,psychic,thunderbolt,Fire": 16, "lifeorb,levitate,dazzlinggleam,fireblast,nastyplot,psyshock,Fairy": 15, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,uturn,Psychic": 5, "choicespecs,levitate,fireblast,psychic,thunderbolt,trick,Electric": 15, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,uturn,Electric": 13, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,thunderbolt,Electric": 4, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,trick,Fire": 15, "focussash,levitate,encore,fireblast,psychic,stealthrock,Fire": 3, "lifeorb,levitate,fireblast,knockoff,psychic,stealthrock,Dark": 13, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,thunderbolt,Psychic": 6, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,thunderbolt,Electric": 17, "lifeorb,levitate,fireblast,nastyplot,psyshock,thunderbolt,Electric": 14, "choicespecs,levitate,fireblast,psyshock,thunderbolt,uturn,Electric": 13, "focussash,levitate,knockoff,psychic,stealthrock,taunt,Dark": 3, "lifeorb,levitate,dazzlinggleam,nastyplot,psyshock,thunderbolt,Psychic": 11, "choicespecs,levitate,dazzlinggleam,fireblast,psyshock,thunderbolt,Fire": 6, "lifeorb,levitate,fireblast,nastyplot,psyshock,thunderbolt,Psychic": 9, "focussash,levitate,knockoff,psychic,stealthrock,uturn,Dark": 5, "choicespecs,levitate,dazzlinggleam,fireblast,psychic,thunderbolt,Psychic": 4, "focussash,levitate,encore,knockoff,psychic,stealthrock,Dark": 3}, + "azumarill": {"choiceband,hugepower,aquajet,icespinner,liquidation,playrough,Water": 395, "choiceband,hugepower,aquajet,knockoff,liquidation,playrough,Water": 379, "choiceband,hugepower,aquajet,liquidation,playrough,superpower,Water": 356, "sitrusberry,hugepower,aquajet,bellydrum,liquidation,playrough,Water": 351}, + "banette": {"lifeorb,cursedbody,gunkshot,poltergeist,shadowsneak,swordsdance,Ghost": 209, "lifeorb,frisk,gunkshot,poltergeist,shadowsneak,swordsdance,Ghost": 207, "lifeorb,frisk,gunkshot,poltergeist,shadowsneak,thunderwave,Ghost": 181, "lifeorb,frisk,gunkshot,poltergeist,shadowsneak,swordsdance,Poison": 178, "lifeorb,cursedbody,gunkshot,poltergeist,shadowsneak,swordsdance,Poison": 171, "lifeorb,cursedbody,gunkshot,poltergeist,shadowsneak,thunderwave,Ghost": 206, "lifeorb,frisk,gunkshot,poltergeist,shadowsneak,thunderwave,Poison": 207, "lifeorb,cursedbody,gunkshot,poltergeist,shadowsneak,thunderwave,Poison": 224}, + "barraskewda": {"choiceband,swiftswim,closecombat,flipturn,throatchop,waterfall,Fighting": 246, "choiceband,swiftswim,closecombat,flipturn,throatchop,waterfall,Water": 241, "choiceband,swiftswim,closecombat,flipturn,psychicfangs,waterfall,Water": 241, "choiceband,swiftswim,closecombat,flipturn,poisonjab,waterfall,Water": 257, "choiceband,swiftswim,closecombat,flipturn,poisonjab,waterfall,Fighting": 224, "choiceband,swiftswim,closecombat,flipturn,psychicfangs,waterfall,Fighting": 259}, + "basculegion": {"assaultvest,adaptability,aquajet,flipturn,shadowball,wavecrash,Water": 721}, + "basculegionf": {"choicespecs,adaptability,flipturn,hydropump,icebeam,shadowball,Water": 364, "assaultvest,adaptability,flipturn,hydropump,shadowball,wavecrash,Water": 332}, + "basculin": {"choiceband,adaptability,aquajet,doubleedge,flipturn,wavecrash,Water": 1552}, + "bastiodon": {"chestoberry,soundproof,bodypress,foulplay,irondefense,rest,Fighting": 1306}, + "baxcalibur": {"heavydutyboots,thermalexchange,dragondance,earthquake,glaiverush,iciclecrash,Ground": 255, "heavydutyboots,thermalexchange,dragondance,earthquake,glaiverush,iciclecrash,Dragon": 258, "choiceband,thermalexchange,earthquake,glaiverush,iceshard,iciclecrash,Dragon": 241, "choiceband,thermalexchange,earthquake,glaiverush,iceshard,iciclecrash,Ground": 222, "loadeddice,thermalexchange,earthquake,iciclespear,scaleshot,swordsdance,Ground": 242, "loadeddice,thermalexchange,earthquake,iciclespear,scaleshot,swordsdance,Dragon": 209}, + "beartic": {"heavydutyboots,slushrush,closecombat,iciclecrash,snowscape,swordsdance,Fighting": 126, "heavydutyboots,swiftswim,closecombat,earthquake,iciclecrash,swordsdance,Ground": 66, "heavydutyboots,slushrush,closecombat,earthquake,iciclecrash,snowscape,Ground": 135, "heavydutyboots,slushrush,closecombat,earthquake,iciclecrash,snowscape,Fighting": 94, "heavydutyboots,slushrush,aquajet,closecombat,iciclecrash,snowscape,Fighting": 103, "heavydutyboots,slushrush,earthquake,iciclecrash,snowscape,swordsdance,Ground": 117, "heavydutyboots,slushrush,aquajet,closecombat,iciclecrash,swordsdance,Fighting": 71, "choiceband,slushrush,aquajet,closecombat,earthquake,iciclecrash,Fighting": 63, "heavydutyboots,slushrush,aquajet,earthquake,iciclecrash,snowscape,Ground": 118, "choiceband,swiftswim,aquajet,closecombat,earthquake,iciclecrash,Ground": 73, "heavydutyboots,slushrush,closecombat,earthquake,iciclecrash,swordsdance,Fighting": 50, "choiceband,slushrush,aquajet,closecombat,earthquake,iciclecrash,Ground": 61, "heavydutyboots,slushrush,aquajet,earthquake,iciclecrash,swordsdance,Ground": 51, "heavydutyboots,swiftswim,closecombat,earthquake,iciclecrash,swordsdance,Fighting": 60, "heavydutyboots,slushrush,closecombat,earthquake,iciclecrash,swordsdance,Ground": 48, "heavydutyboots,swiftswim,aquajet,closecombat,iciclecrash,swordsdance,Fighting": 56, "heavydutyboots,swiftswim,aquajet,earthquake,iciclecrash,swordsdance,Ground": 58, "choiceband,swiftswim,aquajet,closecombat,earthquake,iciclecrash,Fighting": 47}, + "bellibolt": {"leftovers,electromorphosis,muddywater,slackoff,thunderbolt,toxic,Electric": 402, "leftovers,electromorphosis,muddywater,slackoff,thunderbolt,toxic,Water": 360, "leftovers,electromorphosis,muddywater,slackoff,thunderbolt,voltswitch,Water": 344, "leftovers,electromorphosis,muddywater,slackoff,thunderbolt,voltswitch,Electric": 389}, + "bellossom": {"leftovers,chlorophyll,gigadrain,quiverdance,strengthsap,terablast,Fire": 240, "leftovers,chlorophyll,gigadrain,quiverdance,sleeppowder,strengthsap,Poison": 179, "leftovers,chlorophyll,gigadrain,quiverdance,sleeppowder,strengthsap,Steel": 168, "leftovers,chlorophyll,gigadrain,moonblast,quiverdance,strengthsap,Fairy": 244, "leftovers,chlorophyll,gigadrain,quiverdance,sleeppowder,strengthsap,Water": 185, "leftovers,chlorophyll,gigadrain,quiverdance,sludgebomb,strengthsap,Poison": 248, "leftovers,chlorophyll,gigadrain,quiverdance,strengthsap,terablast,Rock": 216}, + "blastoise": {"whiteherb,torrent,hydropump,icebeam,shellsmash,terablast,Grass": 338, "whiteherb,torrent,earthquake,hydropump,icebeam,shellsmash,Steel": 279, "whiteherb,torrent,earthquake,hydropump,icebeam,shellsmash,Water": 274, "whiteherb,torrent,hydropump,icebeam,shellsmash,terablast,Electric": 312, "whiteherb,torrent,earthquake,hydropump,icebeam,shellsmash,Ground": 285}, + "blaziken": {"lifeorb,speedboost,closecombat,flareblitz,protect,swordsdance,Fighting": 226, "lifeorb,speedboost,closecombat,flareblitz,knockoff,swordsdance,Dark": 725, "lifeorb,speedboost,closecombat,flareblitz,stoneedge,swordsdance,Fighting": 234, "lifeorb,speedboost,closecombat,flareblitz,knockoff,swordsdance,Fighting": 217}, + "blissey": {"leftovers,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Ghost": 142, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Fairy": 168, "leftovers,naturalcure,healbell,seismictoss,softboiled,thunderwave,Poison": 202, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Steel": 178, "leftovers,naturalcure,healbell,seismictoss,softboiled,thunderwave,Steel": 214, "leftovers,naturalcure,healbell,seismictoss,softboiled,thunderwave,Ghost": 225, "leftovers,naturalcure,healbell,seismictoss,softboiled,thunderwave,Fairy": 218, "leftovers,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Poison": 152}, + "bombirdier": {"choiceband,rockypayload,bravebird,knockoff,stoneedge,suckerpunch,Rock": 236, "heavydutyboots,bigpecks,bravebird,knockoff,roost,suckerpunch,Steel": 118, "choicescarf,rockypayload,bravebird,knockoff,stoneedge,uturn,Rock": 130, "heavydutyboots,rockypayload,bravebird,knockoff,roost,stoneedge,Rock": 211, "heavydutyboots,bigpecks,bravebird,knockoff,roost,stealthrock,Dark": 93, "heavydutyboots,bigpecks,bravebird,knockoff,roost,suckerpunch,Dark": 121, "heavydutyboots,bigpecks,bravebird,knockoff,roost,uturn,Dark": 121, "choiceband,rockypayload,bravebird,knockoff,stoneedge,uturn,Rock": 108, "heavydutyboots,bigpecks,bravebird,knockoff,roost,stealthrock,Steel": 83, "heavydutyboots,bigpecks,bravebird,knockoff,roost,uturn,Steel": 114}, + "brambleghast": {"leftovers,windrider,leechseed,poltergeist,powerwhip,substitute,Fairy": 198, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,strengthsap,Steel": 77, "leftovers,windrider,leechseed,poltergeist,powerwhip,substitute,Steel": 227, "leftovers,windrider,poltergeist,powerwhip,spikes,strengthsap,Fairy": 98, "leftovers,windrider,leechseed,poltergeist,powerwhip,substitute,Water": 215, "leftovers,windrider,poltergeist,powerwhip,spikes,strengthsap,Steel": 103, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,spikes,Water": 96, "leftovers,windrider,poltergeist,powerwhip,spikes,strengthsap,Water": 134, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,spikes,Steel": 57, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,strengthsap,Water": 79, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,spikes,Fairy": 92, "heavydutyboots,windrider,poltergeist,powerwhip,rapidspin,strengthsap,Fairy": 82}, + "braviary": {"heavydutyboots,defiant,bravebird,bulkup,closecombat,roost,Fighting": 357, "heavydutyboots,defiant,bravebird,bulkup,closecombat,roost,Steel": 349}, + "braviaryhisui": {"lifeorb,sheerforce,agility,heatwave,hurricane,psychic,Psychic": 52, "choicespecs,tintedlens,esperwing,hurricane,uturn,vacuumwave,Fighting": 54, "choicespecs,tintedlens,esperwing,hurricane,uturn,vacuumwave,Fairy": 58, "lifeorb,sheerforce,agility,heatwave,hurricane,psychic,Steel": 60, "lifeorb,sheerforce,agility,heatwave,hurricane,psychic,Fairy": 63, "choicespecs,tintedlens,esperwing,hurricane,uturn,vacuumwave,Psychic": 40, "heavydutyboots,tintedlens,calmmind,esperwing,hurricane,roost,Steel": 39, "heavydutyboots,tintedlens,calmmind,esperwing,hurricane,roost,Psychic": 45, "choicespecs,tintedlens,esperwing,hurricane,uturn,vacuumwave,Steel": 53, "heavydutyboots,tintedlens,defog,esperwing,hurricane,roost,Psychic": 30, "heavydutyboots,tintedlens,defog,esperwing,hurricane,roost,Steel": 42, "lifeorb,sheerforce,agility,heatwave,hurricane,psychic,Fire": 44, "heavydutyboots,tintedlens,defog,esperwing,hurricane,roost,Fairy": 24, "heavydutyboots,tintedlens,calmmind,esperwing,hurricane,roost,Fairy": 55}, + "breloom": {"lifeorb,technician,bulletseed,machpunch,rocktomb,spore,Fighting": 231, "lifeorb,technician,bulletseed,machpunch,rocktomb,swordsdance,Rock": 346, "lifeorb,technician,bulletseed,machpunch,rocktomb,spore,Rock": 320, "lifeorb,technician,bulletseed,machpunch,spore,swordsdance,Fighting": 232, "lifeorb,technician,bulletseed,machpunch,rocktomb,swordsdance,Fighting": 225}, + "bronzong": {"leftovers,levitate,earthquake,ironhead,psychic,stealthrock,Electric": 40, "leftovers,levitate,bodypress,irondefense,ironhead,psychicnoise,Fighting": 352, "leftovers,levitate,earthquake,hypnosis,psychicnoise,stealthrock,Electric": 28, "leftovers,levitate,earthquake,hypnosis,psychic,stealthrock,Water": 26, "chestoberry,levitate,bodypress,irondefense,ironhead,rest,Fighting": 172, "leftovers,levitate,earthquake,hypnosis,ironhead,psychicnoise,Water": 56, "leftovers,levitate,earthquake,hypnosis,ironhead,psychic,Electric": 62, "chestoberry,levitate,bodypress,irondefense,psychicnoise,rest,Fighting": 177, "leftovers,levitate,hypnosis,ironhead,psychicnoise,stealthrock,Electric": 43, "leftovers,levitate,earthquake,ironhead,psychic,stealthrock,Water": 32, "leftovers,levitate,earthquake,hypnosis,ironhead,psychic,Water": 76, "leftovers,levitate,hypnosis,ironhead,psychicnoise,stealthrock,Water": 39, "leftovers,levitate,earthquake,hypnosis,psychic,stealthrock,Electric": 24, "leftovers,levitate,earthquake,hypnosis,ironhead,stealthrock,Water": 16, "leftovers,levitate,hypnosis,ironhead,psychic,stealthrock,Water": 36, "leftovers,levitate,earthquake,hypnosis,psychicnoise,stealthrock,Water": 20, "leftovers,levitate,earthquake,ironhead,psychicnoise,stealthrock,Water": 43, "leftovers,levitate,earthquake,hypnosis,ironhead,psychicnoise,Electric": 68, "leftovers,levitate,earthquake,hypnosis,ironhead,stealthrock,Electric": 5, "leftovers,levitate,hypnosis,ironhead,psychic,stealthrock,Electric": 33, "leftovers,levitate,earthquake,ironhead,psychicnoise,stealthrock,Electric": 36}, + "brutebonnet": {"choiceband,protosynthesis,closecombat,crunch,seedbomb,suckerpunch,Fighting": 163, "leftovers,protosynthesis,crunch,seedbomb,spore,suckerpunch,Dark": 196, "leftovers,protosynthesis,crunch,seedbomb,spore,suckerpunch,Poison": 245, "leftovers,protosynthesis,closecombat,seedbomb,spore,suckerpunch,Poison": 218, "choiceband,protosynthesis,closecombat,crunch,seedbomb,suckerpunch,Poison": 119, "choiceband,protosynthesis,closecombat,crunch,seedbomb,suckerpunch,Dark": 155, "leftovers,protosynthesis,closecombat,seedbomb,spore,suckerpunch,Fighting": 212}, + "bruxish": {"lifeorb,strongjaw,crunch,psychicfangs,swordsdance,wavecrash,Dark": 176, "choiceband,strongjaw,crunch,icefang,psychicfangs,wavecrash,Dark": 95, "choicescarf,strongjaw,crunch,flipturn,psychicfangs,wavecrash,Dark": 96, "choicescarf,strongjaw,crunch,icefang,psychicfangs,wavecrash,Dark": 79, "choiceband,strongjaw,aquajet,icefang,psychicfangs,wavecrash,Psychic": 92, "choiceband,strongjaw,crunch,icefang,psychicfangs,wavecrash,Psychic": 29, "choiceband,strongjaw,aquajet,crunch,psychicfangs,wavecrash,Psychic": 81, "lifeorb,strongjaw,aquajet,psychicfangs,swordsdance,wavecrash,Psychic": 82, "choiceband,strongjaw,aquajet,crunch,psychicfangs,wavecrash,Dark": 162, "choicescarf,strongjaw,crunch,flipturn,psychicfangs,wavecrash,Psychic": 48, "choiceband,strongjaw,crunch,flipturn,psychicfangs,wavecrash,Dark": 96, "lifeorb,strongjaw,crunch,psychicfangs,swordsdance,wavecrash,Psychic": 73, "lifeorb,strongjaw,icefang,psychicfangs,swordsdance,wavecrash,Psychic": 99, "choiceband,strongjaw,flipturn,icefang,psychicfangs,wavecrash,Psychic": 59, "choiceband,strongjaw,crunch,flipturn,psychicfangs,wavecrash,Psychic": 58, "choicescarf,strongjaw,flipturn,icefang,psychicfangs,wavecrash,Psychic": 47, "choicescarf,strongjaw,crunch,icefang,psychicfangs,wavecrash,Psychic": 36}, + "cacturne": {"lifeorb,waterabsorb,knockoff,leafstorm,suckerpunch,toxicspikes,Dark": 63, "lifeorb,waterabsorb,knockoff,seedbomb,suckerpunch,swordsdance,Dark": 165, "lifeorb,waterabsorb,knockoff,seedbomb,suckerpunch,swordsdance,Poison": 171, "lifeorb,waterabsorb,focusblast,knockoff,leafstorm,suckerpunch,Grass": 67, "lifeorb,waterabsorb,focusblast,knockoff,leafstorm,suckerpunch,Dark": 76, "lifeorb,waterabsorb,knockoff,leafstorm,spikes,suckerpunch,Dark": 64, "lifeorb,waterabsorb,drainpunch,seedbomb,suckerpunch,swordsdance,Dark": 172, "lifeorb,waterabsorb,knockoff,leafstorm,suckerpunch,toxicspikes,Poison": 71, "lifeorb,waterabsorb,drainpunch,seedbomb,suckerpunch,swordsdance,Poison": 162, "lifeorb,waterabsorb,knockoff,leafstorm,spikes,suckerpunch,Grass": 62, "lifeorb,waterabsorb,focusblast,knockoff,leafstorm,suckerpunch,Poison": 59, "lifeorb,waterabsorb,knockoff,leafstorm,suckerpunch,toxicspikes,Grass": 59, "lifeorb,waterabsorb,knockoff,leafstorm,spikes,suckerpunch,Poison": 80}, + "calyrex": {"leftovers,unnerve,bodypress,encore,gigadrain,psychic,Steel": 22, "leftovers,unnerve,calmmind,encore,gigadrain,psyshock,Steel": 61, "leftovers,unnerve,calmmind,encore,gigadrain,psychic,Steel": 52, "leftovers,unnerve,bodypress,gigadrain,leechseed,psyshock,Fighting": 13, "leftovers,unnerve,calmmind,gigadrain,leechseed,psyshock,Steel": 57, "leftovers,unnerve,calmmind,gigadrain,leechseed,psychic,Steel": 46, "leftovers,unnerve,bodypress,encore,leechseed,psychic,Fighting": 25, "leftovers,unnerve,bodypress,encore,gigadrain,psyshock,Steel": 17, "leftovers,unnerve,bodypress,encore,gigadrain,psyshock,Fighting": 21, "leftovers,unnerve,bodypress,gigadrain,leechseed,psychic,Steel": 11, "leftovers,unnerve,bodypress,encore,leechseed,psyshock,Fighting": 12, "leftovers,unnerve,bodypress,gigadrain,leechseed,psychic,Fighting": 26, "leftovers,unnerve,bodypress,gigadrain,leechseed,psyshock,Steel": 14, "leftovers,unnerve,bodypress,encore,gigadrain,psychic,Fighting": 13, "leftovers,unnerve,encore,gigadrain,leechseed,psychic,Steel": 7, "leftovers,unnerve,bodypress,encore,leechseed,psyshock,Steel": 8, "leftovers,unnerve,encore,gigadrain,leechseed,psyshock,Steel": 4, "leftovers,unnerve,bodypress,encore,leechseed,psychic,Steel": 4}, + "calyrexice": {"heavydutyboots,asone(glastrier),closecombat,glaciallance,highhorsepower,trickroom,Ground": 110, "weaknesspolicy,asone(glastrier),agility,closecombat,glaciallance,highhorsepower,Ground": 124, "heavydutyboots,asone(glastrier),closecombat,glaciallance,highhorsepower,trickroom,Fighting": 109, "weaknesspolicy,asone(glastrier),agility,closecombat,glaciallance,highhorsepower,Fighting": 132}, + "calyrexshadow": {"lifeorb,asone(spectrier),astralbarrage,nastyplot,pollenpuff,psyshock,Dark": 124, "choicespecs,asone(spectrier),astralbarrage,pollenpuff,psyshock,trick,Ghost": 141, "choicespecs,asone(spectrier),astralbarrage,pollenpuff,psyshock,trick,Dark": 130, "lifeorb,asone(spectrier),astralbarrage,nastyplot,pollenpuff,psyshock,Ghost": 122}, + "camerupt": {"leftovers,solidrock,earthquake,overheat,roar,stealthrock,Grass": 337, "leftovers,solidrock,earthquake,overheat,stealthrock,willowisp,Grass": 314, "leftovers,solidrock,earthquake,overheat,roar,stealthrock,Water": 301, "leftovers,solidrock,earthquake,overheat,roar,willowisp,Grass": 78, "leftovers,solidrock,earthquake,overheat,roar,willowisp,Water": 79, "leftovers,solidrock,earthquake,overheat,stealthrock,willowisp,Water": 295}, + "carbink": {"chestoberry,sturdy,bodypress,irondefense,moonblast,rest,Fighting": 338, "chestoberry,clearbody,bodypress,irondefense,moonblast,rest,Fighting": 343, "leftovers,clearbody,bodypress,irondefense,moonblast,rockpolish,Fighting": 317, "leftovers,sturdy,bodypress,irondefense,moonblast,rockpolish,Fighting": 356}, + "ceruledge": {"heavydutyboots,weakarmor,bitterblade,closecombat,poltergeist,swordsdance,Fighting": 435, "heavydutyboots,weakarmor,bitterblade,poltergeist,shadowsneak,swordsdance,Fire": 229, "heavydutyboots,weakarmor,bitterblade,poltergeist,shadowsneak,swordsdance,Ghost": 204, "heavydutyboots,weakarmor,bitterblade,closecombat,poltergeist,swordsdance,Fire": 228, "heavydutyboots,weakarmor,bitterblade,closecombat,poltergeist,swordsdance,Ghost": 229}, + "cetitan": {"lifeorb,sheerforce,iceshard,iciclecrash,liquidation,superpower,Water": 337, "sitrusberry,thickfat,bellydrum,earthquake,iceshard,icespinner,Ice": 744, "lifeorb,sheerforce,earthquake,iceshard,iciclecrash,liquidation,Water": 329, "sitrusberry,slushrush,bellydrum,earthquake,iceshard,icespinner,Ice": 6}, + "chandelure": {"choicescarf,flashfire,energyball,fireblast,shadowball,trick,Fire": 273, "leftovers,flashfire,calmmind,fireblast,shadowball,substitute,Ghost": 29, "choicescarf,flashfire,energyball,fireblast,shadowball,trick,Ghost": 235, "heavydutyboots,flashfire,calmmind,fireblast,painsplit,shadowball,Fire": 27, "heavydutyboots,flashfire,calmmind,fireblast,painsplit,shadowball,Ghost": 25, "heavydutyboots,flashfire,calmmind,energyball,fireblast,shadowball,Fire": 44, "heavydutyboots,flamebody,calmmind,fireblast,painsplit,shadowball,Ghost": 28, "leftovers,flamebody,calmmind,fireblast,shadowball,substitute,Ghost": 18, "heavydutyboots,flashfire,calmmind,energyball,fireblast,shadowball,Grass": 231, "heavydutyboots,flamebody,calmmind,fireblast,shadowball,willowisp,Ghost": 22, "choicescarf,flashfire,energyball,fireblast,shadowball,trick,Grass": 245, "leftovers,flashfire,calmmind,fireblast,shadowball,substitute,Fire": 32, "heavydutyboots,flamebody,calmmind,energyball,fireblast,shadowball,Fire": 30, "leftovers,flamebody,calmmind,fireblast,shadowball,substitute,Fire": 47, "heavydutyboots,flashfire,calmmind,energyball,fireblast,shadowball,Ghost": 25, "heavydutyboots,flamebody,calmmind,energyball,fireblast,shadowball,Ghost": 32, "heavydutyboots,flashfire,calmmind,fireblast,shadowball,willowisp,Fire": 30, "heavydutyboots,flamebody,calmmind,fireblast,painsplit,shadowball,Fire": 35, "heavydutyboots,flamebody,calmmind,fireblast,shadowball,willowisp,Fire": 24, "heavydutyboots,flashfire,calmmind,fireblast,shadowball,willowisp,Ghost": 28}, + "chansey": {"eviolite,naturalcure,healbell,seismictoss,softboiled,thunderwave,Steel": 205, "eviolite,naturalcure,healbell,seismictoss,softboiled,thunderwave,Poison": 208, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Ghost": 164, "eviolite,naturalcure,healbell,seismictoss,softboiled,thunderwave,Fairy": 209, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Steel": 163, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Fairy": 166, "eviolite,naturalcure,healbell,seismictoss,softboiled,thunderwave,Ghost": 212, "eviolite,naturalcure,seismictoss,softboiled,stealthrock,thunderwave,Poison": 181}, + "charizard": {"heavydutyboots,blaze,earthquake,flamethrower,hurricane,willowisp,Dragon": 71, "heavydutyboots,blaze,earthquake,flamethrower,focusblast,hurricane,Ground": 110, "heavydutyboots,blaze,earthquake,flamethrower,hurricane,willowisp,Fire": 80, "heavydutyboots,blaze,earthquake,flareblitz,outrage,swordsdance,Dragon": 153, "heavydutyboots,blaze,dragondance,earthquake,flareblitz,outrage,Ground": 155, "heavydutyboots,blaze,dragondance,earthquake,flareblitz,outrage,Dragon": 141, "heavydutyboots,blaze,flamethrower,focusblast,hurricane,willowisp,Fire": 71, "heavydutyboots,blaze,earthquake,flamethrower,focusblast,hurricane,Fire": 83, "heavydutyboots,blaze,earthquake,flareblitz,outrage,swordsdance,Ground": 160, "heavydutyboots,blaze,earthquake,flamethrower,hurricane,willowisp,Ground": 102, "heavydutyboots,blaze,earthquake,flamethrower,focusblast,hurricane,Dragon": 57, "heavydutyboots,blaze,flamethrower,focusblast,hurricane,willowisp,Dragon": 79}, + "chesnaught": {"leftovers,bulletproof,bodypress,irondefense,synthesis,trailblaze,Steel": 687, "leftovers,bulletproof,bodypress,knockoff,synthesis,woodhammer,Water": 84, "rockyhelmet,bulletproof,bodypress,spikes,synthesis,woodhammer,Steel": 105, "rockyhelmet,bulletproof,bodypress,knockoff,synthesis,woodhammer,Water": 73, "rockyhelmet,bulletproof,bodypress,knockoff,synthesis,woodhammer,Steel": 76, "leftovers,bulletproof,bodypress,knockoff,synthesis,woodhammer,Steel": 97, "rockyhelmet,bulletproof,bodypress,spikes,synthesis,woodhammer,Water": 98, "leftovers,bulletproof,bodypress,spikes,synthesis,woodhammer,Water": 79, "leftovers,bulletproof,bodypress,spikes,synthesis,woodhammer,Steel": 63}, + "chiyu": {"heavydutyboots,beadsofruin,darkpulse,fireblast,nastyplot,psychic,Fire": 166, "choicescarf,beadsofruin,darkpulse,flamethrower,overheat,psychic,Dark": 133, "choicespecs,beadsofruin,darkpulse,flamethrower,overheat,psychic,Dark": 165, "heavydutyboots,beadsofruin,darkpulse,fireblast,nastyplot,willowisp,Fire": 164, "choicescarf,beadsofruin,darkpulse,flamethrower,overheat,psychic,Fire": 182, "choicespecs,beadsofruin,darkpulse,flamethrower,overheat,psychic,Fire": 164, "heavydutyboots,beadsofruin,darkpulse,fireblast,nastyplot,psychic,Dark": 187, "heavydutyboots,beadsofruin,darkpulse,fireblast,nastyplot,willowisp,Dark": 159}, + "chienpao": {"choiceband,swordofruin,iceshard,iciclecrash,sacredsword,throatchop,Ice": 133, "choiceband,swordofruin,crunch,iceshard,iciclecrash,sacredsword,Dark": 115, "choiceband,swordofruin,crunch,iceshard,iciclecrash,sacredsword,Ice": 114, "heavydutyboots,swordofruin,iceshard,iciclecrash,swordsdance,throatchop,Dark": 57, "heavydutyboots,swordofruin,iceshard,iciclecrash,swordsdance,throatchop,Ice": 75, "heavydutyboots,swordofruin,iciclecrash,sacredsword,swordsdance,throatchop,Fighting": 214, "heavydutyboots,swordofruin,iciclecrash,suckerpunch,swordsdance,throatchop,Dark": 73, "heavydutyboots,swordofruin,iciclecrash,sacredsword,swordsdance,throatchop,Ice": 65, "choiceband,swordofruin,iceshard,iciclecrash,sacredsword,throatchop,Dark": 123, "heavydutyboots,swordofruin,iciclecrash,suckerpunch,swordsdance,throatchop,Ice": 63, "choiceband,swordofruin,crunch,iceshard,iciclecrash,sacredsword,Fighting": 110, "choiceband,swordofruin,iceshard,iciclecrash,sacredsword,throatchop,Fighting": 124, "heavydutyboots,swordofruin,iciclecrash,sacredsword,swordsdance,throatchop,Dark": 81}, + "chimecho": {"leftovers,levitate,encore,healbell,psychicnoise,recover,Dark": 16, "leftovers,levitate,knockoff,psychicnoise,recover,thunderwave,Dark": 17, "leftovers,levitate,cosmicpower,dazzlinggleam,recover,storedpower,Steel": 505, "leftovers,levitate,encore,psychicnoise,recover,thunderwave,Dark": 24, "leftovers,levitate,knockoff,psychicnoise,recover,thunderwave,Steel": 26, "leftovers,levitate,encore,knockoff,psychicnoise,recover,Electric": 23, "leftovers,levitate,calmmind,dazzlinggleam,psychicnoise,recover,Poison": 70, "leftovers,levitate,healbell,knockoff,psychicnoise,recover,Steel": 21, "leftovers,levitate,calmmind,dazzlinggleam,psychicnoise,recover,Steel": 62, "leftovers,levitate,healbell,psychicnoise,recover,thunderwave,Steel": 26, "leftovers,levitate,calmmind,dazzlinggleam,psychicnoise,recover,Electric": 72, "leftovers,levitate,calmmind,dazzlinggleam,psyshock,recover,Electric": 62, "leftovers,levitate,healbell,knockoff,psychicnoise,recover,Electric": 29, "leftovers,levitate,calmmind,dazzlinggleam,psychicnoise,recover,Fairy": 69, "leftovers,levitate,healbell,knockoff,psychicnoise,recover,Dark": 25, "leftovers,levitate,encore,psychicnoise,recover,thunderwave,Poison": 23, "leftovers,levitate,knockoff,psychicnoise,recover,thunderwave,Poison": 22, "leftovers,levitate,calmmind,dazzlinggleam,psyshock,recover,Fairy": 46, "leftovers,levitate,calmmind,dazzlinggleam,psyshock,recover,Poison": 59, "leftovers,levitate,encore,healbell,psychicnoise,recover,Electric": 23, "leftovers,levitate,healbell,psychicnoise,recover,thunderwave,Electric": 19, "leftovers,levitate,calmmind,dazzlinggleam,psyshock,recover,Steel": 56, "leftovers,levitate,encore,knockoff,psychicnoise,recover,Dark": 28, "leftovers,levitate,knockoff,psychicnoise,recover,thunderwave,Electric": 19, "leftovers,levitate,healbell,psychicnoise,recover,thunderwave,Dark": 28, "leftovers,levitate,encore,healbell,psychicnoise,recover,Poison": 20, "leftovers,levitate,encore,knockoff,psychicnoise,recover,Steel": 16, "leftovers,levitate,healbell,knockoff,psychicnoise,recover,Poison": 23, "leftovers,levitate,encore,knockoff,psychicnoise,recover,Poison": 26, "leftovers,levitate,healbell,psychicnoise,recover,thunderwave,Poison": 26, "leftovers,levitate,encore,psychicnoise,recover,thunderwave,Steel": 20, "leftovers,levitate,encore,psychicnoise,recover,thunderwave,Electric": 13, "leftovers,levitate,encore,healbell,psychicnoise,recover,Steel": 20}, + "cinccino": {"loadeddice,technician,bulletseed,tailslap,tripleaxel,uturn,Grass": 257, "loadeddice,technician,bulletseed,tailslap,tidyup,tripleaxel,Normal": 255, "loadeddice,technician,bulletseed,tailslap,tidyup,tripleaxel,Grass": 271, "loadeddice,technician,bulletseed,tailslap,tidyup,tripleaxel,Ice": 242, "loadeddice,technician,bulletseed,tailslap,tripleaxel,uturn,Normal": 275, "loadeddice,technician,bulletseed,tailslap,tripleaxel,uturn,Ice": 241}, + "cinderace": {"choiceband,libero,gunkshot,highjumpkick,pyroball,uturn,Fighting": 161, "choiceband,libero,gunkshot,highjumpkick,pyroball,uturn,Fire": 464, "heavydutyboots,libero,courtchange,highjumpkick,pyroball,uturn,Fighting": 150, "heavydutyboots,libero,courtchange,highjumpkick,pyroball,suckerpunch,Fighting": 260, "heavydutyboots,libero,courtchange,highjumpkick,pyroball,suckerpunch,Fire": 242, "heavydutyboots,libero,courtchange,gunkshot,highjumpkick,pyroball,Fighting": 145}, + "clawitzer": {"assaultvest,megalauncher,aurasphere,dragonpulse,uturn,waterpulse,Dragon": 388, "choicespecs,megalauncher,darkpulse,dragonpulse,uturn,waterpulse,Dragon": 86, "choicespecs,megalauncher,aurasphere,darkpulse,uturn,waterpulse,Fighting": 88, "choicespecs,megalauncher,aurasphere,darkpulse,dragonpulse,waterpulse,Dragon": 91, "choicespecs,megalauncher,darkpulse,dragonpulse,uturn,waterpulse,Dark": 94, "assaultvest,megalauncher,darkpulse,dragonpulse,uturn,waterpulse,Dragon": 398, "choicespecs,megalauncher,aurasphere,darkpulse,dragonpulse,waterpulse,Dark": 70, "choicespecs,megalauncher,aurasphere,darkpulse,dragonpulse,waterpulse,Fighting": 90, "choicespecs,megalauncher,aurasphere,dragonpulse,uturn,waterpulse,Dragon": 82, "choicespecs,megalauncher,aurasphere,dragonpulse,uturn,waterpulse,Fighting": 84, "choicespecs,megalauncher,aurasphere,darkpulse,uturn,waterpulse,Dark": 73}, + "clefable": {"leftovers,unaware,calmmind,fireblast,moonblast,moonlight,Fire": 202, "lifeorb,magicguard,knockoff,moonblast,moonlight,thunderwave,Steel": 47, "leftovers,unaware,moonblast,moonlight,stealthrock,thunderwave,Poison": 34, "lifeorb,magicguard,fireblast,knockoff,moonblast,moonlight,Poison": 39, "leftovers,unaware,calmmind,fireblast,moonblast,moonlight,Steel": 220, "lifeorb,magicguard,calmmind,fireblast,moonblast,moonlight,Fire": 210, "leftovers,unaware,knockoff,moonblast,moonlight,stealthrock,Steel": 30, "leftovers,unaware,fireblast,moonblast,moonlight,thunderwave,Steel": 45, "lifeorb,magicguard,fireblast,moonblast,moonlight,thunderwave,Poison": 38, "leftovers,unaware,fireblast,moonblast,moonlight,stealthrock,Poison": 26, "lifeorb,magicguard,fireblast,moonblast,moonlight,thunderwave,Steel": 51, "lifeorb,magicguard,calmmind,fireblast,moonblast,moonlight,Steel": 197, "leftovers,unaware,knockoff,moonblast,moonlight,thunderwave,Steel": 47, "lifeorb,magicguard,fireblast,moonblast,moonlight,stealthrock,Steel": 24, "lifeorb,magicguard,moonblast,moonlight,stealthrock,thunderwave,Poison": 27, "leftovers,unaware,fireblast,moonblast,moonlight,stealthrock,Steel": 18, "lifeorb,magicguard,knockoff,moonblast,moonlight,stealthrock,Steel": 28, "lifeorb,magicguard,knockoff,moonblast,moonlight,thunderwave,Poison": 49, "leftovers,unaware,fireblast,moonblast,moonlight,thunderwave,Poison": 38, "lifeorb,magicguard,knockoff,moonblast,moonlight,stealthrock,Poison": 29, "leftovers,unaware,knockoff,moonblast,moonlight,stealthrock,Poison": 34, "lifeorb,magicguard,fireblast,moonblast,moonlight,stealthrock,Poison": 24, "lifeorb,magicguard,fireblast,knockoff,moonblast,moonlight,Steel": 33, "leftovers,unaware,fireblast,knockoff,moonblast,moonlight,Poison": 44, "leftovers,unaware,fireblast,knockoff,moonblast,moonlight,Steel": 30, "leftovers,unaware,knockoff,moonblast,moonlight,thunderwave,Poison": 34, "lifeorb,magicguard,moonblast,moonlight,stealthrock,thunderwave,Steel": 26, "leftovers,unaware,moonblast,moonlight,stealthrock,thunderwave,Steel": 18}, + "clodsire": {"leftovers,unaware,earthquake,gunkshot,recover,stealthrock,Steel": 36, "leftovers,unaware,earthquake,gunkshot,recover,toxic,Steel": 34, "leftovers,waterabsorb,curse,earthquake,gunkshot,recover,Flying": 45, "leftovers,waterabsorb,earthquake,gunkshot,recover,toxicspikes,Flying": 42, "leftovers,waterabsorb,earthquake,recover,stealthrock,toxicspikes,Steel": 24, "leftovers,waterabsorb,curse,earthquake,poisonjab,recover,Flying": 34, "leftovers,waterabsorb,earthquake,gunkshot,recover,toxic,Flying": 32, "leftovers,waterabsorb,earthquake,poisonjab,recover,stealthrock,Flying": 24, "leftovers,unaware,earthquake,recover,stealthrock,toxicspikes,Flying": 30, "leftovers,waterabsorb,earthquake,gunkshot,recover,stealthrock,Flying": 18, "leftovers,waterabsorb,earthquake,poisonjab,recover,toxic,Flying": 38, "leftovers,unaware,curse,earthquake,poisonjab,recover,Steel": 46, "leftovers,waterabsorb,earthquake,recover,stealthrock,toxic,Steel": 28, "leftovers,waterabsorb,earthquake,poisonjab,recover,stealthrock,Steel": 26, "leftovers,unaware,curse,earthquake,poisonjab,recover,Flying": 34, "leftovers,unaware,earthquake,poisonjab,recover,toxic,Flying": 27, "leftovers,unaware,earthquake,gunkshot,recover,toxic,Flying": 35, "leftovers,unaware,curse,earthquake,gunkshot,recover,Flying": 41, "leftovers,unaware,curse,earthquake,gunkshot,recover,Steel": 39, "leftovers,unaware,earthquake,poisonjab,recover,stealthrock,Flying": 20, "leftovers,unaware,earthquake,recover,stealthrock,toxicspikes,Steel": 33, "leftovers,unaware,earthquake,poisonjab,recover,toxicspikes,Flying": 30, "leftovers,waterabsorb,earthquake,recover,stealthrock,toxic,Flying": 33, "leftovers,waterabsorb,curse,earthquake,gunkshot,recover,Steel": 31, "leftovers,waterabsorb,earthquake,poisonjab,recover,toxicspikes,Flying": 43, "leftovers,waterabsorb,earthquake,poisonjab,recover,toxicspikes,Steel": 35, "leftovers,unaware,earthquake,recover,stealthrock,toxic,Flying": 26, "leftovers,waterabsorb,earthquake,gunkshot,recover,toxicspikes,Steel": 37, "leftovers,waterabsorb,earthquake,gunkshot,recover,toxic,Steel": 42, "leftovers,unaware,earthquake,gunkshot,recover,toxicspikes,Steel": 31, "leftovers,waterabsorb,earthquake,recover,stealthrock,toxicspikes,Flying": 28, "leftovers,waterabsorb,earthquake,gunkshot,recover,stealthrock,Steel": 28, "leftovers,waterabsorb,earthquake,poisonjab,recover,toxic,Steel": 26, "leftovers,unaware,earthquake,gunkshot,recover,toxicspikes,Flying": 33, "leftovers,unaware,earthquake,poisonjab,recover,toxicspikes,Steel": 34, "leftovers,unaware,earthquake,poisonjab,recover,toxic,Steel": 39, "leftovers,unaware,earthquake,gunkshot,recover,stealthrock,Flying": 20, "leftovers,unaware,earthquake,recover,stealthrock,toxic,Steel": 28, "leftovers,waterabsorb,curse,earthquake,poisonjab,recover,Steel": 35, "leftovers,unaware,earthquake,poisonjab,recover,stealthrock,Steel": 22}, + "cloyster": {"whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash,Ice": 341, "whiteherb,skilllink,drillrun,iciclespear,rockblast,shellsmash,Ground": 650, "whiteherb,skilllink,hydropump,iciclespear,rockblast,shellsmash,Rock": 369}, + "coalossal": {"heavydutyboots,flamebody,flamethrower,rapidspin,stoneedge,willowisp,Water": 62, "heavydutyboots,flamebody,flamethrower,rapidspin,spikes,stoneedge,Water": 73, "heavydutyboots,flamebody,overheat,rapidspin,spikes,stoneedge,Water": 71, "heavydutyboots,flamebody,overheat,rapidspin,stoneedge,willowisp,Grass": 67, "heavydutyboots,flamebody,overheat,rapidspin,stealthrock,stoneedge,Grass": 53, "heavydutyboots,flamebody,overheat,rapidspin,stoneedge,willowisp,Water": 73, "heavydutyboots,flamebody,overheat,rapidspin,spikes,stoneedge,Grass": 67, "heavydutyboots,flamebody,overheat,rapidspin,spikes,stoneedge,Ghost": 71, "heavydutyboots,flamebody,flamethrower,rapidspin,stealthrock,stoneedge,Ghost": 56, "heavydutyboots,flamebody,overheat,rapidspin,stealthrock,stoneedge,Water": 54, "heavydutyboots,flamebody,flamethrower,rapidspin,stoneedge,willowisp,Grass": 56, "heavydutyboots,flamebody,flamethrower,rapidspin,stealthrock,stoneedge,Water": 52, "heavydutyboots,flamebody,flamethrower,stealthrock,stoneedge,willowisp,Ghost": 10, "heavydutyboots,flamebody,overheat,rapidspin,stealthrock,stoneedge,Ghost": 58, "heavydutyboots,flamebody,overheat,rapidspin,stoneedge,willowisp,Ghost": 72, "heavydutyboots,flamebody,overheat,stealthrock,stoneedge,willowisp,Grass": 7, "heavydutyboots,flamebody,overheat,spikes,stoneedge,willowisp,Grass": 11, "heavydutyboots,flamebody,overheat,stealthrock,stoneedge,willowisp,Ghost": 7, "heavydutyboots,flamebody,flamethrower,rapidspin,spikes,stoneedge,Ghost": 62, "heavydutyboots,flamebody,overheat,spikes,stoneedge,willowisp,Water": 12, "heavydutyboots,flamebody,overheat,stealthrock,stoneedge,willowisp,Water": 13, "heavydutyboots,flamebody,flamethrower,rapidspin,stoneedge,willowisp,Ghost": 50, "heavydutyboots,flamebody,flamethrower,spikes,stealthrock,stoneedge,Ghost": 6, "heavydutyboots,flamebody,flamethrower,rapidspin,spikes,stoneedge,Grass": 71, "heavydutyboots,flamebody,flamethrower,spikes,stoneedge,willowisp,Water": 21, "heavydutyboots,flamebody,flamethrower,spikes,stoneedge,willowisp,Ghost": 19, "heavydutyboots,flamebody,flamethrower,rapidspin,stealthrock,stoneedge,Grass": 60, "heavydutyboots,flamebody,flamethrower,spikes,stoneedge,willowisp,Grass": 15, "heavydutyboots,flamebody,overheat,spikes,stealthrock,stoneedge,Water": 9, "heavydutyboots,flamebody,overheat,spikes,stoneedge,willowisp,Ghost": 15, "heavydutyboots,flamebody,flamethrower,spikes,stealthrock,stoneedge,Grass": 9, "heavydutyboots,flamebody,flamethrower,spikes,stealthrock,stoneedge,Water": 10, "heavydutyboots,flamebody,flamethrower,stealthrock,stoneedge,willowisp,Water": 6, "heavydutyboots,flamebody,flamethrower,stealthrock,stoneedge,willowisp,Grass": 7, "heavydutyboots,flamebody,overheat,spikes,stealthrock,stoneedge,Grass": 14, "heavydutyboots,flamebody,overheat,spikes,stealthrock,stoneedge,Ghost": 10}, + "cobalion": {"leftovers,justified,aurasphere,calmmind,flashcannon,vacuumwave,Ghost": 138, "leftovers,justified,closecombat,ironhead,swordsdance,taunt,Fighting": 212, "leftovers,justified,aurasphere,calmmind,flashcannon,vacuumwave,Fighting": 182, "lifeorb,justified,closecombat,ironhead,stoneedge,swordsdance,Fighting": 240, "leftovers,justified,bodypress,ironhead,stoneedge,thunderwave,Ghost": 29, "leftovers,justified,aurasphere,calmmind,flashcannon,vacuumwave,Water": 146, "leftovers,justified,bodypress,irondefense,ironhead,thunderwave,Ghost": 35, "assaultvest,justified,bodypress,ironhead,stoneedge,voltswitch,Water": 32, "leftovers,justified,bodypress,ironhead,stoneedge,thunderwave,Water": 23, "leftovers,justified,bodypress,ironhead,thunderwave,voltswitch,Ghost": 33, "leftovers,justified,bodypress,ironhead,stealthrock,voltswitch,Water": 24, "leftovers,justified,bodypress,ironhead,stealthrock,thunderwave,Water": 26, "leftovers,justified,bodypress,ironhead,stealthrock,stoneedge,Water": 20, "leftovers,justified,bodypress,ironhead,stealthrock,thunderwave,Ghost": 19, "leftovers,justified,bodypress,ironhead,stealthrock,stoneedge,Ghost": 28, "leftovers,justified,bodypress,ironhead,stealthrock,voltswitch,Ghost": 24, "leftovers,justified,bodypress,irondefense,ironhead,thunderwave,Water": 35, "leftovers,justified,bodypress,ironhead,thunderwave,voltswitch,Water": 18, "leftovers,justified,bodypress,irondefense,ironhead,stoneedge,Ghost": 34, "leftovers,justified,bodypress,irondefense,ironhead,stoneedge,Water": 29, "assaultvest,justified,bodypress,ironhead,stoneedge,voltswitch,Ghost": 32}, + "comfey": {"leftovers,triage,calmmind,drainingkiss,encore,terablast,Ground": 212, "leftovers,triage,calmmind,drainingkiss,taunt,terablast,Ground": 178, "leftovers,triage,calmmind,drainingkiss,gigadrain,terablast,Ground": 162, "leftovers,triage,calmmind,drainingkiss,gigadrain,storedpower,Fairy": 296, "leftovers,triage,calmmind,drainingkiss,gigadrain,storedpower,Poison": 291, "leftovers,triage,calmmind,drainingkiss,synthesis,terablast,Ground": 176, "leftovers,triage,calmmind,drainingkiss,gigadrain,storedpower,Steel": 287}, + "conkeldurr": {"flameorb,guts,closecombat,facade,knockoff,machpunch,Normal": 1504}, + "copperajah": {"lifeorb,sheerforce,ironhead,playrough,rockslide,superpower,Fairy": 141, "lifeorb,sheerforce,earthquake,ironhead,playrough,rockslide,Fairy": 106, "lifeorb,sheerforce,earthquake,ironhead,playrough,superpower,Fairy": 136, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,stoneedge,Steel": 14, "choiceband,heavymetal,heavyslam,stoneedge,supercellslam,superpower,Steel": 18, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,supercellslam,Fire": 37, "choiceband,heavymetal,earthquake,heavyslam,knockoff,stoneedge,Steel": 14, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,superpower,Fire": 40, "lifeorb,sheerforce,earthquake,ironhead,playrough,stealthrock,Fairy": 96, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,stoneedge,Fire": 42, "lifeorb,sheerforce,ironhead,playrough,rockslide,stealthrock,Fairy": 92, "choiceband,heavymetal,heatcrash,heavyslam,stoneedge,superpower,Fire": 31, "choiceband,heavymetal,earthquake,heavyslam,knockoff,superpower,Steel": 12, "choiceband,heavymetal,heavyslam,knockoff,stoneedge,superpower,Steel": 19, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,stoneedge,Steel": 18, "lifeorb,sheerforce,ironhead,playrough,stealthrock,superpower,Fairy": 108, "choiceband,heavymetal,heatcrash,heavyslam,stoneedge,supercellslam,Fire": 37, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,supercellslam,Steel": 20, "choiceband,heavymetal,heatcrash,heavyslam,stoneedge,superpower,Steel": 18, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,superpower,Steel": 24, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,superpower,Steel": 15, "choiceband,heavymetal,heavyslam,knockoff,stoneedge,supercellslam,Steel": 12, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,supercellslam,Fire": 30, "choiceband,heavymetal,earthquake,heavyslam,stoneedge,superpower,Steel": 15, "choiceband,heavymetal,earthquake,heavyslam,stoneedge,supercellslam,Steel": 19, "choiceband,heavymetal,earthquake,heavyslam,knockoff,supercellslam,Steel": 13, "choiceband,heavymetal,heatcrash,heavyslam,supercellslam,superpower,Fire": 30, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,knockoff,Steel": 11, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,superpower,Fire": 32, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,knockoff,Fire": 33, "choiceband,heavymetal,earthquake,heatcrash,heavyslam,supercellslam,Steel": 10, "choiceband,heavymetal,earthquake,heavyslam,supercellslam,superpower,Steel": 16, "choiceband,heavymetal,heatcrash,heavyslam,knockoff,stoneedge,Fire": 38, "choiceband,heavymetal,heavyslam,knockoff,supercellslam,superpower,Steel": 9, "choiceband,heavymetal,heatcrash,heavyslam,supercellslam,superpower,Steel": 15, "choiceband,heavymetal,heatcrash,heavyslam,stoneedge,supercellslam,Steel": 13}, + "corviknight": {"leftovers,pressure,bravebird,defog,roost,uturn,Dragon": 156, "leftovers,mirrorarmor,bravebird,defog,roost,uturn,Dragon": 150, "leftovers,mirrorarmor,bodypress,bravebird,defog,roost,Dragon": 136, "rockyhelmet,mirrorarmor,bodypress,bravebird,defog,roost,Dragon": 142, "rockyhelmet,pressure,bodypress,bravebird,defog,roost,Dragon": 148, "leftovers,pressure,bodypress,bravebird,defog,roost,Dragon": 150, "rockyhelmet,mirrorarmor,bravebird,defog,roost,uturn,Dragon": 135, "rockyhelmet,pressure,bravebird,defog,roost,uturn,Dragon": 152, "leftovers,mirrorarmor,bodypress,bravebird,roost,uturn,Dragon": 46, "rockyhelmet,pressure,bodypress,bravebird,roost,uturn,Dragon": 44, "rockyhelmet,mirrorarmor,bodypress,bravebird,roost,uturn,Dragon": 35, "leftovers,pressure,bodypress,bravebird,roost,uturn,Dragon": 40}, + "crabominable": {"choiceband,ironfist,drainpunch,gunkshot,icehammer,knockoff,Fighting": 52, "assaultvest,ironfist,drainpunch,earthquake,icehammer,knockoff,Water": 223, "choiceband,ironfist,closecombat,earthquake,gunkshot,icehammer,Fighting": 73, "choiceband,ironfist,drainpunch,earthquake,gunkshot,icehammer,Fighting": 64, "choiceband,ironfist,drainpunch,earthquake,icehammer,knockoff,Ground": 84, "choiceband,ironfist,drainpunch,earthquake,icehammer,knockoff,Fighting": 53, "assaultvest,ironfist,drainpunch,earthquake,icehammer,knockoff,Fighting": 235, "choiceband,ironfist,closecombat,earthquake,icehammer,knockoff,Ground": 81, "choiceband,ironfist,closecombat,gunkshot,icehammer,knockoff,Fighting": 55, "assaultvest,ironfist,drainpunch,earthquake,icehammer,knockoff,Ground": 232, "choiceband,ironfist,drainpunch,earthquake,gunkshot,icehammer,Ground": 96, "choiceband,ironfist,closecombat,earthquake,icehammer,knockoff,Fighting": 54, "choiceband,ironfist,closecombat,earthquake,gunkshot,icehammer,Ground": 66}, + "cramorant": {"heavydutyboots,gulpmissile,bravebird,defog,roost,surf,Ground": 1381}, + "crawdaunt": {"lifeorb,adaptability,closecombat,crabhammer,dragondance,knockoff,Fighting": 336, "lifeorb,adaptability,aquajet,crabhammer,dragondance,knockoff,Water": 683, "choiceband,adaptability,aquajet,closecombat,crabhammer,knockoff,Fighting": 332}, + "cresselia": {"leftovers,levitate,calmmind,moonlight,psyshock,thunderbolt,Electric": 382, "leftovers,levitate,calmmind,moonlight,psyshock,thunderbolt,Steel": 204, "leftovers,levitate,calmmind,moonlight,psyshock,thunderbolt,Poison": 207, "leftovers,levitate,calmmind,moonblast,moonlight,psyshock,Poison": 207, "leftovers,levitate,calmmind,moonblast,moonlight,psyshock,Fairy": 371, "leftovers,levitate,calmmind,moonblast,moonlight,psyshock,Steel": 181}, + "cryogonal": {"heavydutyboots,levitate,flashcannon,freezedry,haze,recover,Poison": 57, "heavydutyboots,levitate,freezedry,haze,rapidspin,recover,Poison": 163, "heavydutyboots,levitate,icebeam,rapidspin,recover,terablast,Electric": 660, "heavydutyboots,levitate,flashcannon,freezedry,rapidspin,recover,Steel": 174, "heavydutyboots,levitate,flashcannon,freezedry,rapidspin,recover,Poison": 151, "heavydutyboots,levitate,freezedry,haze,rapidspin,recover,Steel": 172, "heavydutyboots,levitate,flashcannon,freezedry,haze,recover,Steel": 57}, + "cyclizar": {"heavydutyboots,regenerator,dracometeor,knockoff,rapidspin,shedtail,Ghost": 155, "heavydutyboots,regenerator,dracometeor,rapidspin,shedtail,taunt,Ghost": 173, "heavydutyboots,regenerator,dracometeor,knockoff,rapidspin,shedtail,Dragon": 153, "heavydutyboots,regenerator,dracometeor,rapidspin,shedtail,taunt,Fairy": 142, "heavydutyboots,regenerator,dracometeor,rapidspin,shedtail,taunt,Steel": 147, "heavydutyboots,regenerator,dracometeor,rapidspin,shedtail,taunt,Dragon": 147, "heavydutyboots,regenerator,dracometeor,knockoff,rapidspin,shedtail,Fairy": 159, "heavydutyboots,regenerator,dracometeor,knockoff,shedtail,taunt,Dragon": 56, "heavydutyboots,regenerator,dracometeor,knockoff,shedtail,taunt,Steel": 41, "heavydutyboots,regenerator,dracometeor,knockoff,shedtail,taunt,Fairy": 50, "heavydutyboots,regenerator,dracometeor,knockoff,rapidspin,shedtail,Steel": 171, "heavydutyboots,regenerator,dracometeor,knockoff,shedtail,taunt,Ghost": 40}, + "dachsbun": {"leftovers,wellbakedbody,playrough,protect,stompingtantrum,wish,Steel": 804, "leftovers,wellbakedbody,bodypress,playrough,protect,wish,Steel": 784}, + "darkrai": {"leftovers,baddreams,darkpulse,nastyplot,sludgebomb,substitute,Poison": 469, "lifeorb,baddreams,darkpulse,focusblast,nastyplot,sludgebomb,Poison": 509, "lifeorb,baddreams,darkpulse,hypnosis,nastyplot,sludgebomb,Poison": 523}, + "decidueye": {"lifeorb,overgrow,knockoff,leafstorm,roost,spiritshackle,Grass": 23, "lifeorb,overgrow,leafblade,poltergeist,shadowsneak,swordsdance,Ghost": 369, "heavydutyboots,overgrow,leafstorm,roost,spiritshackle,uturn,Grass": 25, "lifeorb,overgrow,knockoff,leafstorm,roost,spiritshackle,Dark": 55, "heavydutyboots,overgrow,defog,knockoff,leafstorm,spiritshackle,Ghost": 17, "heavydutyboots,overgrow,defog,knockoff,leafstorm,spiritshackle,Dark": 37, "assaultvest,overgrow,knockoff,leafstorm,spiritshackle,uturn,Dark": 44, "lifeorb,overgrow,knockoff,leafstorm,roost,spiritshackle,Ghost": 19, "heavydutyboots,overgrow,defog,leafstorm,spiritshackle,uturn,Ghost": 18, "heavydutyboots,overgrow,defog,leafstorm,spiritshackle,uturn,Grass": 30, "heavydutyboots,overgrow,leafstorm,roost,spiritshackle,uturn,Ghost": 23, "heavydutyboots,overgrow,defog,leafstorm,roost,spiritshackle,Grass": 13, "assaultvest,overgrow,knockoff,leafstorm,spiritshackle,uturn,Ghost": 11, "assaultvest,overgrow,knockoff,leafstorm,spiritshackle,uturn,Grass": 21, "heavydutyboots,overgrow,defog,leafstorm,roost,spiritshackle,Ghost": 14, "heavydutyboots,overgrow,defog,knockoff,leafstorm,spiritshackle,Grass": 15}, + "decidueyehisui": {"leftovers,scrappy,leafblade,roost,suckerpunch,triplearrows,Steel": 70, "leftovers,scrappy,leafblade,roost,suckerpunch,triplearrows,Water": 77, "leftovers,scrappy,knockoff,leafblade,roost,triplearrows,Steel": 64, "leftovers,scrappy,leafblade,roost,triplearrows,uturn,Steel": 73, "leftovers,scrappy,knockoff,leafblade,roost,triplearrows,Water": 67, "leftovers,scrappy,leafblade,roost,triplearrows,uturn,Water": 82, "leftovers,scrappy,defog,leafblade,roost,triplearrows,Steel": 55, "leftovers,scrappy,defog,leafblade,roost,triplearrows,Water": 59, "leftovers,scrappy,leafblade,roost,swordsdance,triplearrows,Steel": 69, "leftovers,scrappy,leafblade,roost,swordsdance,triplearrows,Water": 65}, + "dedenne": {"sitrusberry,cheekpouch,dazzlinggleam,superfang,thunderbolt,uturn,Electric": 225, "sitrusberry,cheekpouch,dazzlinggleam,nuzzle,superfang,thunderbolt,Flying": 250, "sitrusberry,cheekpouch,dazzlinggleam,superfang,thunderbolt,uturn,Flying": 244, "sitrusberry,cheekpouch,dazzlinggleam,nuzzle,thunderbolt,uturn,Electric": 234, "sitrusberry,cheekpouch,dazzlinggleam,nuzzle,thunderbolt,uturn,Flying": 234, "sitrusberry,cheekpouch,dazzlinggleam,nuzzle,superfang,thunderbolt,Electric": 249}, + "delibird": {"heavydutyboots,hustle,bravebird,drillrun,icespinner,spikes,Ground": 102, "heavydutyboots,vitalspirit,bravebird,freezedry,rapidspin,spikes,Ghost": 325, "heavydutyboots,hustle,bravebird,iceshard,icespinner,spikes,Flying": 90, "heavydutyboots,insomnia,bravebird,freezedry,rapidspin,spikes,Ghost": 324, "heavydutyboots,hustle,bravebird,drillrun,icespinner,spikes,Ice": 76, "heavydutyboots,hustle,bravebird,drillrun,iceshard,icespinner,Flying": 68, "heavydutyboots,hustle,bravebird,drillrun,icespinner,spikes,Flying": 81, "heavydutyboots,hustle,bravebird,drillrun,iceshard,icespinner,Ice": 71, "heavydutyboots,hustle,bravebird,drillrun,iceshard,icespinner,Ground": 123, "heavydutyboots,hustle,bravebird,iceshard,icespinner,spikes,Ice": 56}, + "delphox": {"heavydutyboots,blaze,fireblast,focusblast,nastyplot,psyshock,Fire": 131, "heavydutyboots,blaze,fireblast,grassknot,nastyplot,psyshock,Grass": 207, "choicespecs,blaze,fireblast,focusblast,grassknot,psyshock,Fighting": 117, "choicespecs,blaze,fireblast,focusblast,grassknot,psyshock,Grass": 120, "choicescarf,blaze,fireblast,focusblast,grassknot,psyshock,Grass": 106, "choicescarf,blaze,fireblast,focusblast,grassknot,psyshock,Fire": 61, "choicescarf,blaze,fireblast,focusblast,grassknot,psyshock,Fighting": 110, "heavydutyboots,blaze,fireblast,focusblast,nastyplot,psyshock,Fighting": 231, "heavydutyboots,blaze,fireblast,grassknot,nastyplot,psyshock,Fire": 139, "choicespecs,blaze,fireblast,focusblast,grassknot,psyshock,Fire": 72}, + "deoxys": {"lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Fighting": 121, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower,Fighting": 173, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower,Psychic": 177, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Psychic": 116, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Normal": 130}, + "deoxysattack": {"lifeorb,pressure,icebeam,knockoff,psychoboost,superpower,Psychic": 207, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Normal": 141, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Psychic": 120, "lifeorb,pressure,extremespeed,knockoff,psychoboost,superpower,Fighting": 126, "lifeorb,pressure,icebeam,knockoff,psychoboost,superpower,Fighting": 187}, + "deoxysdefense": {"leftovers,pressure,cosmicpower,nightshade,recover,storedpower,Steel": 354, "rockyhelmet,pressure,knockoff,psychicnoise,recover,stealthrock,Steel": 10, "leftovers,pressure,knockoff,psychicnoise,recover,teleport,Dark": 16, "rockyhelmet,pressure,knockoff,psychicnoise,recover,stealthrock,Fairy": 12, "rockyhelmet,pressure,psychicnoise,recover,spikes,stealthrock,Steel": 6, "rockyhelmet,pressure,psychicnoise,recover,spikes,teleport,Steel": 13, "leftovers,pressure,knockoff,psychicnoise,recover,stealthrock,Dark": 11, "leftovers,pressure,psychicnoise,recover,spikes,teleport,Fairy": 12, "rockyhelmet,pressure,psychicnoise,recover,spikes,stealthrock,Fairy": 10, "leftovers,pressure,psychicnoise,recover,stealthrock,teleport,Dark": 9, "leftovers,pressure,knockoff,psychicnoise,recover,spikes,Fairy": 16, "leftovers,pressure,knockoff,psychicnoise,recover,teleport,Steel": 16, "rockyhelmet,pressure,knockoff,psychicnoise,recover,spikes,Fairy": 11, "rockyhelmet,pressure,psychicnoise,recover,stealthrock,teleport,Steel": 8, "leftovers,pressure,psychicnoise,recover,spikes,teleport,Steel": 15, "rockyhelmet,pressure,psychicnoise,recover,spikes,teleport,Dark": 12, "rockyhelmet,pressure,psychicnoise,recover,stealthrock,teleport,Dark": 15, "rockyhelmet,pressure,knockoff,psychicnoise,recover,spikes,Steel": 13, "leftovers,pressure,knockoff,psychicnoise,recover,spikes,Dark": 13, "rockyhelmet,pressure,psychicnoise,recover,stealthrock,teleport,Fairy": 9, "leftovers,pressure,knockoff,psychicnoise,recover,stealthrock,Fairy": 8, "leftovers,pressure,psychicnoise,recover,spikes,stealthrock,Dark": 14, "leftovers,pressure,psychicnoise,recover,spikes,teleport,Dark": 11, "rockyhelmet,pressure,knockoff,psychicnoise,recover,stealthrock,Dark": 4, "rockyhelmet,pressure,psychicnoise,recover,spikes,stealthrock,Dark": 4, "leftovers,pressure,knockoff,psychicnoise,recover,stealthrock,Steel": 7, "leftovers,pressure,psychicnoise,recover,spikes,stealthrock,Steel": 10, "leftovers,pressure,knockoff,psychicnoise,recover,teleport,Fairy": 11, "rockyhelmet,pressure,knockoff,psychicnoise,recover,teleport,Fairy": 10, "leftovers,pressure,psychicnoise,recover,stealthrock,teleport,Steel": 12, "rockyhelmet,pressure,knockoff,psychicnoise,recover,teleport,Dark": 10, "rockyhelmet,pressure,psychicnoise,recover,spikes,teleport,Fairy": 19, "leftovers,pressure,knockoff,psychicnoise,recover,spikes,Steel": 12, "leftovers,pressure,psychicnoise,recover,stealthrock,teleport,Fairy": 10, "rockyhelmet,pressure,knockoff,psychicnoise,recover,spikes,Dark": 11, "leftovers,pressure,psychicnoise,recover,spikes,stealthrock,Fairy": 5, "rockyhelmet,pressure,knockoff,psychicnoise,recover,teleport,Steel": 10}, + "deoxysspeed": {"leftovers,pressure,psychoboost,spikes,superpower,taunt,Steel": 9, "leftovers,pressure,knockoff,psychoboost,spikes,stealthrock,Dark": 15, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt,Fighting": 16, "lifeorb,pressure,darkpulse,focusblast,nastyplot,psychoboost,Dark": 135, "lifeorb,pressure,darkpulse,focusblast,nastyplot,psychoboost,Psychic": 118, "leftovers,pressure,knockoff,psychoboost,spikes,stealthrock,Steel": 8, "leftovers,pressure,knockoff,psychoboost,stealthrock,taunt,Steel": 4, "lifeorb,pressure,knockoff,psychoboost,spikes,superpower,Fighting": 17, "leftovers,pressure,knockoff,psychoboost,spikes,taunt,Dark": 12, "lifeorb,pressure,darkpulse,focusblast,nastyplot,psychoboost,Fighting": 123, "leftovers,pressure,psychoboost,spikes,superpower,taunt,Ghost": 12, "leftovers,pressure,knockoff,psychoboost,spikes,taunt,Ghost": 3, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower,Fighting": 12, "focussash,pressure,psychoboost,spikes,stealthrock,superpower,Fighting": 4, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt,Ghost": 11, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower,Dark": 12, "lifeorb,pressure,knockoff,psychoboost,spikes,superpower,Dark": 16, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt,Fighting": 15, "leftovers,pressure,knockoff,psychoboost,spikes,taunt,Steel": 5, "leftovers,pressure,psychoboost,spikes,superpower,taunt,Fighting": 9, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt,Dark": 20, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt,Ghost": 17, "lifeorb,pressure,knockoff,psychoboost,superpower,taunt,Steel": 9, "focussash,pressure,knockoff,psychoboost,spikes,stealthrock,Ghost": 3, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower,Fighting": 9, "focussash,pressure,knockoff,psychoboost,spikes,superpower,Ghost": 4, "lifeorb,pressure,knockoff,psychoboost,spikes,superpower,Steel": 11, "lifeorb,pressure,knockoff,psychoboost,spikes,superpower,Ghost": 10, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower,Fighting": 2, "focussash,pressure,knockoff,psychoboost,spikes,superpower,Fighting": 2, "leftovers,pressure,knockoff,psychoboost,stealthrock,taunt,Dark": 11, "leftovers,pressure,psychoboost,spikes,stealthrock,taunt,Ghost": 7, "focussash,pressure,knockoff,psychoboost,spikes,taunt,Dark": 3, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower,Steel": 5, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower,Steel": 5, "leftovers,pressure,psychoboost,stealthrock,superpower,taunt,Steel": 6, "focussash,pressure,knockoff,psychoboost,spikes,superpower,Dark": 2, "leftovers,pressure,psychoboost,spikes,stealthrock,taunt,Steel": 6, "leftovers,pressure,psychoboost,spikes,stealthrock,superpower,Ghost": 6, "focussash,pressure,knockoff,psychoboost,stealthrock,taunt,Dark": 1, "focussash,pressure,knockoff,psychoboost,stealthrock,taunt,Ghost": 2, "leftovers,pressure,knockoff,psychoboost,spikes,stealthrock,Ghost": 5, "lifeorb,pressure,knockoff,psychoboost,stealthrock,superpower,Ghost": 1, "focussash,pressure,psychoboost,spikes,stealthrock,superpower,Ghost": 1, "leftovers,pressure,knockoff,psychoboost,stealthrock,taunt,Ghost": 8, "focussash,pressure,knockoff,psychoboost,stealthrock,taunt,Steel": 2, "focussash,pressure,psychoboost,spikes,superpower,taunt,Steel": 1, "focussash,pressure,knockoff,psychoboost,spikes,superpower,Steel": 1, "focussash,pressure,psychoboost,spikes,stealthrock,taunt,Ghost": 2, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower,Steel": 1, "focussash,pressure,knockoff,psychoboost,spikes,taunt,Ghost": 2, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower,Ghost": 1, "focussash,pressure,knockoff,psychoboost,spikes,taunt,Steel": 2, "focussash,pressure,knockoff,psychoboost,stealthrock,superpower,Dark": 1}, + "dewgong": {"heavydutyboots,thickfat,encore,flipturn,surf,tripleaxel,Steel": 42, "heavydutyboots,thickfat,encore,flipturn,surf,tripleaxel,Dragon": 31, "heavydutyboots,thickfat,encore,flipturn,surf,tripleaxel,Grass": 42, "heavydutyboots,thickfat,encore,icebeam,knockoff,surf,Poison": 18, "assaultvest,thickfat,flipturn,knockoff,surf,tripleaxel,Grass": 39, "heavydutyboots,thickfat,encore,flipturn,hydropump,icebeam,Dragon": 28, "heavydutyboots,thickfat,encore,flipturn,icebeam,surf,Ground": 24, "heavydutyboots,thickfat,encore,flipturn,icebeam,surf,Poison": 28, "assaultvest,thickfat,flipturn,knockoff,surf,tripleaxel,Ground": 47, "heavydutyboots,thickfat,encore,hydropump,icebeam,knockoff,Grass": 21, "assaultvest,thickfat,flipturn,hydropump,icebeam,knockoff,Ground": 25, "heavydutyboots,thickfat,encore,flipturn,hydropump,icebeam,Poison": 20, "assaultvest,thickfat,flipturn,hydropump,icebeam,knockoff,Steel": 22, "heavydutyboots,thickfat,encore,hydropump,icebeam,knockoff,Ground": 23, "heavydutyboots,thickfat,encore,knockoff,surf,tripleaxel,Steel": 47, "assaultvest,thickfat,flipturn,icebeam,knockoff,surf,Dragon": 27, "heavydutyboots,thickfat,encore,hydropump,icebeam,knockoff,Steel": 18, "assaultvest,thickfat,flipturn,knockoff,surf,tripleaxel,Steel": 39, "heavydutyboots,thickfat,encore,flipturn,hydropump,icebeam,Grass": 14, "assaultvest,thickfat,flipturn,hydropump,icebeam,knockoff,Dragon": 24, "heavydutyboots,thickfat,encore,flipturn,surf,tripleaxel,Poison": 42, "heavydutyboots,thickfat,encore,knockoff,surf,tripleaxel,Poison": 51, "assaultvest,thickfat,flipturn,icebeam,knockoff,surf,Steel": 25, "heavydutyboots,thickfat,encore,icebeam,knockoff,surf,Steel": 29, "heavydutyboots,thickfat,encore,flipturn,icebeam,surf,Steel": 31, "heavydutyboots,thickfat,encore,icebeam,knockoff,surf,Grass": 19, "heavydutyboots,thickfat,encore,knockoff,surf,tripleaxel,Grass": 42, "heavydutyboots,thickfat,encore,flipturn,icebeam,surf,Grass": 20, "assaultvest,thickfat,flipturn,knockoff,surf,tripleaxel,Poison": 49, "assaultvest,thickfat,flipturn,icebeam,knockoff,surf,Poison": 21, "assaultvest,thickfat,flipturn,knockoff,surf,tripleaxel,Dragon": 52, "assaultvest,thickfat,flipturn,icebeam,knockoff,surf,Grass": 23, "assaultvest,thickfat,flipturn,hydropump,icebeam,knockoff,Grass": 27, "heavydutyboots,thickfat,encore,hydropump,icebeam,knockoff,Dragon": 26, "heavydutyboots,thickfat,encore,flipturn,surf,tripleaxel,Ground": 62, "heavydutyboots,thickfat,encore,hydropump,icebeam,knockoff,Poison": 24, "assaultvest,thickfat,flipturn,icebeam,knockoff,surf,Ground": 22, "heavydutyboots,thickfat,encore,knockoff,surf,tripleaxel,Dragon": 48, "assaultvest,thickfat,flipturn,hydropump,icebeam,knockoff,Poison": 28, "heavydutyboots,thickfat,encore,flipturn,hydropump,icebeam,Steel": 23, "heavydutyboots,thickfat,encore,flipturn,hydropump,icebeam,Ground": 30, "heavydutyboots,thickfat,encore,icebeam,knockoff,surf,Ground": 22, "heavydutyboots,thickfat,encore,flipturn,icebeam,surf,Dragon": 23, "heavydutyboots,thickfat,encore,knockoff,surf,tripleaxel,Ground": 37, "heavydutyboots,thickfat,encore,icebeam,knockoff,surf,Dragon": 17}, + "dialga": {"leftovers,pressure,dracometeor,fireblast,heavyslam,stealthrock,Flying": 37, "leftovers,pressure,dracometeor,fireblast,heavyslam,thunderwave,Dragon": 58, "assaultvest,pressure,dracometeor,dragontail,fireblast,heavyslam,Flying": 132, "leftovers,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Steel": 33, "leftovers,pressure,dracometeor,fireblast,heavyslam,thunderwave,Flying": 52, "leftovers,pressure,dracometeor,fireblast,heavyslam,stealthrock,Dragon": 40, "leftovers,pressure,dracometeor,fireblast,heavyslam,thunderwave,Steel": 49, "leftovers,pressure,dracometeor,fireblast,heavyslam,stealthrock,Steel": 52, "assaultvest,pressure,dracometeor,dragontail,fireblast,heavyslam,Dragon": 98, "assaultvest,pressure,dracometeor,dragontail,fireblast,heavyslam,Steel": 109, "leftovers,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Dragon": 45, "leftovers,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Flying": 31}, + "dialgaorigin": {"adamantcrystal,pressure,dracometeor,fireblast,flashcannon,stealthrock,Steel": 39, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,thunderwave,Steel": 21, "adamantcrystal,pressure,dracometeor,fireblast,flashcannon,thunderwave,Dragon": 24, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,stealthrock,Steel": 35, "adamantcrystal,pressure,dracometeor,fireblast,flashcannon,stealthrock,Flying": 37, "adamantcrystal,pressure,dracometeor,dragontail,heavyslam,stealthrock,Dragon": 16, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,stealthrock,Flying": 36, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,stealthrock,Dragon": 28, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,heavyslam,Dragon": 24, "adamantcrystal,pressure,dracometeor,dragontail,heavyslam,stealthrock,Steel": 12, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,flashcannon,Steel": 23, "adamantcrystal,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Flying": 17, "adamantcrystal,pressure,dracometeor,dragontail,flashcannon,stealthrock,Steel": 14, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,heavyslam,Steel": 29, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,heavyslam,Flying": 16, "adamantcrystal,pressure,dracometeor,dragontail,flashcannon,stealthrock,Flying": 19, "adamantcrystal,pressure,dracometeor,flashcannon,stealthrock,thunderwave,Flying": 17, "adamantcrystal,pressure,dracometeor,fireblast,flashcannon,thunderwave,Steel": 32, "adamantcrystal,pressure,dracometeor,flashcannon,stealthrock,thunderwave,Dragon": 16, "adamantcrystal,pressure,dracometeor,dragontail,heavyslam,stealthrock,Flying": 10, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,thunderwave,Flying": 14, "adamantcrystal,pressure,dracometeor,fireblast,flashcannon,thunderwave,Flying": 20, "adamantcrystal,pressure,dracometeor,fireblast,flashcannon,stealthrock,Dragon": 24, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,flashcannon,Dragon": 23, "adamantcrystal,pressure,dracometeor,fireblast,heavyslam,thunderwave,Dragon": 29, "adamantcrystal,pressure,dracometeor,dragontail,flashcannon,stealthrock,Dragon": 17, "adamantcrystal,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Steel": 25, "adamantcrystal,pressure,dracometeor,dragontail,fireblast,flashcannon,Flying": 23, "adamantcrystal,pressure,dracometeor,heavyslam,stealthrock,thunderwave,Dragon": 19, "adamantcrystal,pressure,dracometeor,flashcannon,stealthrock,thunderwave,Steel": 11}, + "diancie": {"leftovers,clearbody,calmmind,diamondstorm,drainingkiss,earthpower,Fairy": 366, "leftovers,clearbody,bodypress,diamondstorm,moonblast,stealthrock,Fighting": 198, "leftovers,clearbody,calmmind,diamondstorm,drainingkiss,earthpower,Water": 359, "leftovers,clearbody,bodypress,diamondstorm,moonblast,rockpolish,Fighting": 245, "assaultvest,clearbody,bodypress,diamondstorm,earthpower,moonblast,Fighting": 253}, + "dipplin": {"eviolite,stickyhold,dragonpulse,gigadrain,recover,suckerpunch,Steel": 632, "eviolite,stickyhold,dragonpulse,dragontail,gigadrain,recover,Steel": 691}, + "ditto": {"choicescarf,imposter,transform,Fire": 83, "choicescarf,imposter,transform,Steel": 84, "choicescarf,imposter,transform,Psychic": 74, "choicescarf,imposter,transform,Water": 78, "choicescarf,imposter,transform,Dragon": 81, "choicescarf,imposter,transform,Ghost": 84, "choicescarf,imposter,transform,Electric": 81, "choicescarf,imposter,transform,Ice": 95, "choicescarf,imposter,transform,Dark": 85, "choicescarf,imposter,transform,Normal": 87, "choicescarf,imposter,transform,Grass": 82, "choicescarf,imposter,transform,Bug": 76, "choicescarf,imposter,transform,Poison": 74, "choicescarf,imposter,transform,Fairy": 86, "choicescarf,imposter,transform,Rock": 77, "choicescarf,imposter,transform,Flying": 71, "choicescarf,imposter,transform,Fighting": 96, "choicescarf,imposter,transform,Ground": 81}, + "dodrio": {"heavydutyboots,earlybird,bravebird,doubleedge,knockoff,swordsdance,Normal": 241, "heavydutyboots,earlybird,bravebird,drillrun,knockoff,swordsdance,Ground": 228, "heavydutyboots,earlybird,bravebird,doubleedge,drillrun,swordsdance,Normal": 241, "heavydutyboots,earlybird,bravebird,doubleedge,drillrun,swordsdance,Ground": 235, "heavydutyboots,earlybird,bravebird,doubleedge,knockoff,swordsdance,Flying": 152, "heavydutyboots,earlybird,bravebird,drillrun,knockoff,swordsdance,Flying": 170, "heavydutyboots,earlybird,bravebird,doubleedge,drillrun,swordsdance,Flying": 149}, + "dondozo": {"leftovers,unaware,curse,rest,sleeptalk,wavecrash,Dragon": 765, "leftovers,unaware,curse,rest,sleeptalk,wavecrash,Fairy": 722}, + "donphan": {"assaultvest,sturdy,earthquake,icespinner,knockoff,rapidspin,Water": 87, "assaultvest,sturdy,earthquake,iceshard,knockoff,rapidspin,Water": 87, "assaultvest,sturdy,earthquake,icespinner,knockoff,rapidspin,Dragon": 75, "leftovers,sturdy,earthquake,icespinner,rapidspin,stealthrock,Steel": 62, "assaultvest,sturdy,earthquake,icespinner,knockoff,rapidspin,Steel": 82, "assaultvest,sturdy,earthquake,iceshard,icespinner,rapidspin,Steel": 84, "assaultvest,sturdy,earthquake,iceshard,knockoff,rapidspin,Dragon": 80, "leftovers,sturdy,earthquake,knockoff,rapidspin,stealthrock,Dragon": 65, "leftovers,sturdy,earthquake,iceshard,rapidspin,stealthrock,Dragon": 56, "leftovers,sturdy,earthquake,iceshard,icespinner,stealthrock,Water": 20, "assaultvest,sturdy,earthquake,iceshard,knockoff,rapidspin,Steel": 69, "leftovers,sturdy,earthquake,knockoff,rapidspin,stealthrock,Water": 75, "leftovers,sturdy,earthquake,icespinner,rapidspin,stealthrock,Dragon": 66, "leftovers,sturdy,earthquake,iceshard,icespinner,stealthrock,Dragon": 10, "leftovers,sturdy,earthquake,iceshard,knockoff,stealthrock,Dragon": 12, "choiceband,sturdy,earthquake,iceshard,icespinner,knockoff,Dragon": 27, "leftovers,sturdy,earthquake,knockoff,rapidspin,stealthrock,Steel": 52, "leftovers,sturdy,earthquake,iceshard,rapidspin,stealthrock,Steel": 59, "assaultvest,sturdy,earthquake,iceshard,icespinner,rapidspin,Dragon": 69, "leftovers,sturdy,earthquake,iceshard,rapidspin,stealthrock,Water": 66, "leftovers,sturdy,earthquake,icespinner,knockoff,stealthrock,Steel": 19, "assaultvest,sturdy,earthquake,iceshard,icespinner,rapidspin,Water": 102, "leftovers,sturdy,earthquake,iceshard,icespinner,stealthrock,Steel": 15, "leftovers,sturdy,earthquake,icespinner,rapidspin,stealthrock,Water": 64, "choiceband,sturdy,earthquake,iceshard,icespinner,knockoff,Water": 23, "choiceband,sturdy,earthquake,iceshard,icespinner,knockoff,Steel": 25, "leftovers,sturdy,earthquake,iceshard,knockoff,stealthrock,Water": 12, "leftovers,sturdy,earthquake,iceshard,knockoff,stealthrock,Steel": 11, "leftovers,sturdy,earthquake,icespinner,knockoff,stealthrock,Water": 13, "leftovers,sturdy,earthquake,icespinner,knockoff,stealthrock,Dragon": 9}, + "dragalge": {"leftovers,adaptability,dracometeor,focusblast,sludgewave,toxicspikes,Fighting": 304, "choicespecs,adaptability,dracometeor,flipturn,focusblast,sludgewave,Fighting": 351, "assaultvest,adaptability,dracometeor,dragontail,focusblast,sludgewave,Fighting": 346, "leftovers,adaptability,dracometeor,focusblast,sludgewave,toxic,Fighting": 337}, + "dragapult": {"lifeorb,clearbody,dragondance,dragondarts,fireblast,terablast,Ghost": 430, "heavydutyboots,infiltrator,dragondarts,hex,uturn,willowisp,Fairy": 133, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,uturn,Ghost": 49, "heavydutyboots,cursedbody,dragondarts,hex,uturn,willowisp,Fairy": 141, "choicespecs,infiltrator,dracometeor,shadowball,thunderbolt,uturn,Ghost": 52, "heavydutyboots,infiltrator,dragondarts,hex,uturn,willowisp,Dragon": 116, "heavydutyboots,cursedbody,dragondarts,hex,uturn,willowisp,Dragon": 131, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,thunderbolt,Fire": 93, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,uturn,Dragon": 55, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,uturn,Fire": 84, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,thunderbolt,Dragon": 61, "choicespecs,infiltrator,dracometeor,shadowball,thunderbolt,uturn,Dragon": 50, "choicespecs,infiltrator,dracometeor,fireblast,shadowball,thunderbolt,Ghost": 52}, + "dragonite": {"heavydutyboots,multiscale,dragondance,earthquake,outrage,roost,Steel": 206, "heavydutyboots,multiscale,dragondance,earthquake,ironhead,outrage,Steel": 469, "heavydutyboots,multiscale,dragondance,earthquake,outrage,terablast,Flying": 370, "heavydutyboots,multiscale,dragondance,earthquake,outrage,roost,Ground": 217}, + "drednaw": {"whiteherb,strongjaw,crunch,liquidation,shellsmash,stoneedge,Dark": 603, "whiteherb,shellarmor,earthquake,liquidation,shellsmash,stoneedge,Ground": 338, "whiteherb,shellarmor,earthquake,liquidation,shellsmash,stoneedge,Water": 328, "whiteherb,swiftswim,earthquake,liquidation,shellsmash,stoneedge,Water": 3, "whiteherb,swiftswim,earthquake,liquidation,shellsmash,stoneedge,Ground": 2}, + "drifblim": {"heavydutyboots,aftermath,airslash,defog,shadowball,strengthsap,Ghost": 297, "sitrusberry,unburden,airslash,calmmind,shadowball,strengthsap,Fairy": 424, "heavydutyboots,aftermath,airslash,defog,shadowball,strengthsap,Fairy": 287, "sitrusberry,unburden,airslash,calmmind,shadowball,strengthsap,Ghost": 440}, + "dudunsparce": {"leftovers,rattled,boomburst,calmmind,roost,shadowball,Ghost": 502, "leftovers,serenegrace,earthquake,glare,headbutt,roost,Ground": 263, "leftovers,rattled,boomburst,calmmind,earthpower,roost,Fairy": 248, "leftovers,rattled,boomburst,calmmind,earthpower,roost,Ghost": 241, "leftovers,serenegrace,earthquake,glare,headbutt,roost,Ghost": 263}, + "dugtrio": {"choiceband,arenatrap,earthquake,stoneedge,suckerpunch,throatchop,Fairy": 79, "choiceband,arenatrap,earthquake,stoneedge,suckerpunch,throatchop,Dark": 67, "choiceband,arenatrap,earthquake,stoneedge,suckerpunch,throatchop,Ghost": 82, "lifeorb,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Flying": 60, "lifeorb,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Ground": 60, "lifeorb,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Ghost": 53, "lifeorb,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Fairy": 63, "choiceband,arenatrap,earthquake,stoneedge,suckerpunch,throatchop,Flying": 68, "choiceband,arenatrap,earthquake,stoneedge,suckerpunch,throatchop,Ground": 74, "focussash,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Fairy": 17, "lifeorb,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Dark": 65, "focussash,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Flying": 11, "focussash,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Ghost": 9, "focussash,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Dark": 13, "focussash,arenatrap,earthquake,stoneedge,suckerpunch,swordsdance,Ground": 12}, + "dugtrioalola": {"lifeorb,tanglinghair,earthquake,ironhead,stealthrock,suckerpunch,Ground": 64, "lifeorb,tanglinghair,earthquake,ironhead,stoneedge,swordsdance,Steel": 81, "choiceband,tanglinghair,earthquake,ironhead,stoneedge,suckerpunch,Ground": 60, "lifeorb,tanglinghair,earthquake,ironhead,stoneedge,swordsdance,Ground": 85, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,suckerpunch,Steel": 73, "lifeorb,tanglinghair,earthquake,ironhead,suckerpunch,swordsdance,Ground": 75, "lifeorb,tanglinghair,earthquake,ironhead,suckerpunch,swordsdance,Steel": 81, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,stoneedge,Steel": 68, "lifeorb,tanglinghair,earthquake,ironhead,stealthrock,stoneedge,Ground": 48, "choiceband,tanglinghair,earthquake,ironhead,stoneedge,suckerpunch,Steel": 65, "lifeorb,sandforce,earthquake,ironhead,stealthrock,stoneedge,Steel": 1, "choiceband,sandforce,earthquake,ironhead,stoneedge,suckerpunch,Ground": 1, "lifeorb,sandforce,earthquake,ironhead,stealthrock,suckerpunch,Steel": 1}, + "dunsparce": {"eviolite,serenegrace,bodyslam,coil,earthquake,roost,Ghost": 774, "eviolite,serenegrace,bodyslam,coil,earthquake,roost,Ground": 720}, + "duraludon": {"eviolite,lightmetal,bodypress,dracometeor,flashcannon,stealthrock,Fighting": 293, "eviolite,lightmetal,bodypress,dracometeor,flashcannon,thunderwave,Fighting": 398, "eviolite,lightmetal,bodypress,dracometeor,flashcannon,irondefense,Fighting": 336, "eviolite,lightmetal,bodypress,dracometeor,dragontail,flashcannon,Fighting": 338}, + "dusknoir": {"leftovers,frisk,focuspunch,painsplit,poltergeist,substitute,Fighting": 517, "choiceband,frisk,earthquake,leechlife,poltergeist,shadowsneak,Ghost": 111, "choiceband,frisk,leechlife,poltergeist,shadowsneak,trick,Ghost": 40, "lifeorb,frisk,earthquake,painsplit,poltergeist,shadowsneak,Ground": 85, "leftovers,frisk,earthquake,poltergeist,shadowsneak,willowisp,Dark": 68, "leftovers,frisk,painsplit,poltergeist,shadowsneak,willowisp,Dark": 67, "leftovers,frisk,earthquake,painsplit,poltergeist,shadowsneak,Dark": 67, "lifeorb,frisk,leechlife,painsplit,poltergeist,shadowsneak,Ghost": 54, "leftovers,frisk,earthquake,painsplit,poltergeist,willowisp,Fairy": 68, "leftovers,frisk,earthquake,painsplit,poltergeist,willowisp,Dark": 63, "choiceband,frisk,earthquake,poltergeist,shadowsneak,trick,Ghost": 40, "choiceband,frisk,earthquake,leechlife,poltergeist,shadowsneak,Ground": 82, "leftovers,frisk,painsplit,poltergeist,shadowsneak,willowisp,Fairy": 49, "leftovers,frisk,earthquake,painsplit,poltergeist,shadowsneak,Fairy": 64, "choiceband,frisk,earthquake,poltergeist,shadowsneak,trick,Ground": 68, "leftovers,frisk,earthquake,poltergeist,shadowsneak,willowisp,Fairy": 57, "lifeorb,frisk,earthquake,painsplit,poltergeist,shadowsneak,Ghost": 41}, + "eelektross": {"leftovers,levitate,coil,drainpunch,knockoff,supercellslam,Fighting": 374, "assaultvest,levitate,discharge,gigadrain,knockoff,uturn,Poison": 35, "assaultvest,levitate,closecombat,discharge,gigadrain,uturn,Poison": 39, "assaultvest,levitate,discharge,dragontail,knockoff,uturn,Steel": 35, "leftovers,levitate,coil,drainpunch,firepunch,supercellslam,Fighting": 386, "assaultvest,levitate,discharge,flamethrower,knockoff,uturn,Poison": 39, "assaultvest,levitate,closecombat,discharge,gigadrain,uturn,Steel": 33, "assaultvest,levitate,closecombat,discharge,knockoff,uturn,Poison": 40, "assaultvest,levitate,closecombat,discharge,flamethrower,uturn,Steel": 38, "assaultvest,levitate,discharge,dragontail,flamethrower,uturn,Poison": 45, "assaultvest,levitate,discharge,flamethrower,gigadrain,uturn,Poison": 45, "assaultvest,levitate,closecombat,discharge,flamethrower,uturn,Poison": 37, "assaultvest,levitate,discharge,gigadrain,knockoff,uturn,Steel": 32, "assaultvest,levitate,closecombat,discharge,knockoff,uturn,Steel": 29, "assaultvest,levitate,discharge,flamethrower,gigadrain,uturn,Steel": 28, "assaultvest,levitate,discharge,dragontail,knockoff,uturn,Poison": 30, "assaultvest,levitate,discharge,flamethrower,knockoff,uturn,Steel": 39, "assaultvest,levitate,closecombat,discharge,dragontail,uturn,Poison": 42, "assaultvest,levitate,closecombat,discharge,dragontail,uturn,Steel": 31, "assaultvest,levitate,discharge,dragontail,gigadrain,uturn,Poison": 35, "assaultvest,levitate,discharge,dragontail,flamethrower,uturn,Steel": 45, "assaultvest,levitate,discharge,dragontail,gigadrain,uturn,Steel": 40}, + "eiscue": {"salacberry,iceface,bellydrum,icespinner,substitute,terablast,Electric": 178, "salacberry,iceface,bellydrum,icespinner,liquidation,substitute,Water": 242, "salacberry,iceface,bellydrum,icespinner,substitute,terablast,Ground": 181, "sitrusberry,iceface,bellydrum,icespinner,liquidation,zenheadbutt,Water": 234, "sitrusberry,iceface,bellydrum,icespinner,ironhead,liquidation,Water": 238, "sitrusberry,iceface,bellydrum,icespinner,liquidation,terablast,Ground": 182, "sitrusberry,iceface,bellydrum,icespinner,liquidation,terablast,Electric": 162}, + "electivire": {"lifeorb,motordrive,bulkup,earthquake,icepunch,supercellslam,Ground": 378, "lifeorb,motordrive,earthquake,flamethrower,icepunch,supercellslam,Electric": 36, "lifeorb,motordrive,earthquake,icepunch,supercellslam,voltswitch,Electric": 33, "lifeorb,motordrive,earthquake,flamethrower,knockoff,supercellslam,Dark": 37, "lifeorb,motordrive,flamethrower,icepunch,knockoff,supercellslam,Dark": 32, "lifeorb,motordrive,bulkup,earthquake,icepunch,supercellslam,Flying": 363, "lifeorb,motordrive,earthquake,flamethrower,icepunch,supercellslam,Ground": 37, "lifeorb,motordrive,earthquake,knockoff,supercellslam,voltswitch,Ground": 41, "lifeorb,motordrive,earthquake,flamethrower,knockoff,supercellslam,Electric": 32, "lifeorb,motordrive,earthquake,icepunch,supercellslam,voltswitch,Ground": 41, "lifeorb,motordrive,earthquake,knockoff,supercellslam,voltswitch,Electric": 25, "lifeorb,motordrive,earthquake,knockoff,supercellslam,voltswitch,Dark": 34, "lifeorb,motordrive,flamethrower,knockoff,supercellslam,voltswitch,Dark": 42, "lifeorb,motordrive,flamethrower,icepunch,knockoff,supercellslam,Electric": 31, "lifeorb,motordrive,icepunch,knockoff,supercellslam,voltswitch,Dark": 33, "choicescarf,motordrive,earthquake,icepunch,knockoff,supercellslam,Ground": 27, "lifeorb,motordrive,earthquake,flamethrower,supercellslam,voltswitch,Ground": 51, "choicescarf,motordrive,earthquake,icepunch,knockoff,supercellslam,Dark": 20, "lifeorb,motordrive,earthquake,flamethrower,supercellslam,voltswitch,Electric": 19, "choiceband,motordrive,earthquake,icepunch,knockoff,supercellslam,Electric": 11, "lifeorb,motordrive,flamethrower,icepunch,supercellslam,voltswitch,Electric": 18, "lifeorb,motordrive,earthquake,flamethrower,knockoff,supercellslam,Ground": 46, "choicescarf,motordrive,earthquake,icepunch,knockoff,supercellslam,Electric": 14, "choiceband,motordrive,earthquake,icepunch,knockoff,supercellslam,Ground": 22, "lifeorb,motordrive,flamethrower,knockoff,supercellslam,voltswitch,Electric": 13, "lifeorb,motordrive,icepunch,knockoff,supercellslam,voltswitch,Electric": 21, "choiceband,motordrive,earthquake,icepunch,knockoff,supercellslam,Dark": 19}, + "electrode": {"lifeorb,aftermath,taunt,terablast,thunderbolt,voltswitch,Ice": 119, "lifeorb,soundproof,taunt,terablast,thunderbolt,voltswitch,Ice": 110, "heavydutyboots,aftermath,foulplay,taunt,thunderbolt,voltswitch,Dark": 14, "lifeorb,soundproof,explosion,foulplay,taunt,thunderbolt,Dark": 15, "lifeorb,static,taunt,terablast,thunderbolt,voltswitch,Ice": 84, "lifeorb,soundproof,explosion,foulplay,thunderbolt,thunderwave,Dark": 16, "leftovers,static,foulplay,taunt,thunderbolt,thunderwave,Electric": 8, "heavydutyboots,soundproof,taunt,thunderbolt,thunderwave,voltswitch,Electric": 7, "heavydutyboots,static,foulplay,taunt,thunderbolt,voltswitch,Electric": 9, "lifeorb,static,explosion,foulplay,thunderbolt,thunderwave,Dark": 16, "leftovers,aftermath,foulplay,taunt,thunderbolt,thunderwave,Dark": 6, "heavydutyboots,static,taunt,thunderbolt,thunderwave,voltswitch,Electric": 7, "assaultvest,aftermath,explosion,foulplay,thunderbolt,voltswitch,Electric": 3, "lifeorb,soundproof,explosion,foulplay,taunt,thunderbolt,Electric": 3, "leftovers,soundproof,foulplay,taunt,thunderbolt,thunderwave,Dark": 9, "lifeorb,aftermath,explosion,foulplay,thunderbolt,thunderwave,Dark": 9, "heavydutyboots,soundproof,foulplay,taunt,thunderbolt,voltswitch,Electric": 6, "assaultvest,soundproof,explosion,foulplay,thunderbolt,voltswitch,Dark": 11, "lifeorb,aftermath,explosion,foulplay,thunderbolt,thunderwave,Electric": 7, "heavydutyboots,aftermath,explosion,thunderbolt,thunderwave,voltswitch,Electric": 6, "lifeorb,static,explosion,foulplay,taunt,thunderbolt,Dark": 9, "lifeorb,aftermath,explosion,foulplay,taunt,thunderbolt,Electric": 2, "leftovers,soundproof,foulplay,taunt,thunderbolt,thunderwave,Electric": 6, "heavydutyboots,static,explosion,taunt,thunderbolt,voltswitch,Electric": 8, "heavydutyboots,static,foulplay,thunderbolt,thunderwave,voltswitch,Dark": 8, "lifeorb,static,explosion,foulplay,thunderbolt,thunderwave,Electric": 9, "heavydutyboots,static,foulplay,taunt,thunderbolt,voltswitch,Dark": 14, "heavydutyboots,soundproof,foulplay,thunderbolt,thunderwave,voltswitch,Electric": 12, "assaultvest,static,explosion,foulplay,thunderbolt,voltswitch,Electric": 4, "lifeorb,aftermath,explosion,foulplay,taunt,thunderbolt,Dark": 12, "heavydutyboots,aftermath,explosion,taunt,thunderbolt,voltswitch,Electric": 3, "heavydutyboots,aftermath,foulplay,thunderbolt,thunderwave,voltswitch,Dark": 10, "heavydutyboots,static,foulplay,thunderbolt,thunderwave,voltswitch,Electric": 4, "heavydutyboots,aftermath,foulplay,thunderbolt,thunderwave,voltswitch,Electric": 8, "assaultvest,soundproof,explosion,foulplay,thunderbolt,voltswitch,Electric": 6, "assaultvest,aftermath,explosion,foulplay,thunderbolt,voltswitch,Dark": 6, "heavydutyboots,soundproof,foulplay,taunt,thunderbolt,voltswitch,Dark": 9, "heavydutyboots,static,explosion,thunderbolt,thunderwave,voltswitch,Electric": 8, "lifeorb,soundproof,explosion,foulplay,thunderbolt,thunderwave,Electric": 7, "leftovers,soundproof,explosion,taunt,thunderbolt,thunderwave,Electric": 7, "heavydutyboots,soundproof,foulplay,thunderbolt,thunderwave,voltswitch,Dark": 8, "assaultvest,static,explosion,foulplay,thunderbolt,voltswitch,Dark": 4, "heavydutyboots,aftermath,taunt,thunderbolt,thunderwave,voltswitch,Electric": 5, "leftovers,static,foulplay,taunt,thunderbolt,thunderwave,Dark": 10, "lifeorb,static,explosion,foulplay,taunt,thunderbolt,Electric": 5, "leftovers,aftermath,foulplay,taunt,thunderbolt,thunderwave,Electric": 4, "heavydutyboots,aftermath,foulplay,taunt,thunderbolt,voltswitch,Electric": 2, "heavydutyboots,soundproof,explosion,thunderbolt,thunderwave,voltswitch,Electric": 9, "leftovers,static,explosion,taunt,thunderbolt,thunderwave,Electric": 5, "heavydutyboots,soundproof,explosion,taunt,thunderbolt,voltswitch,Electric": 1, "leftovers,aftermath,explosion,taunt,thunderbolt,thunderwave,Electric": 2}, + "electrodehisui": {"leftovers,soundproof,gigadrain,leechseed,substitute,thunderbolt,Poison": 342, "lifeorb,static,gigadrain,thunderbolt,thunderwave,voltswitch,Electric": 16, "lifeorb,soundproof,gigadrain,taunt,thunderbolt,thunderwave,Grass": 7, "lifeorb,soundproof,leafstorm,thunderbolt,thunderwave,voltswitch,Grass": 10, "lifeorb,soundproof,leafstorm,taunt,thunderbolt,thunderwave,Electric": 15, "lifeorb,soundproof,gigadrain,taunt,thunderbolt,voltswitch,Grass": 13, "lifeorb,aftermath,leafstorm,taunt,thunderbolt,voltswitch,Grass": 7, "lifeorb,soundproof,leafstorm,taunt,thunderbolt,thunderwave,Grass": 6, "lifeorb,static,gigadrain,taunt,thunderbolt,voltswitch,Electric": 10, "lifeorb,soundproof,gigadrain,taunt,thunderbolt,thunderwave,Electric": 12, "lifeorb,static,gigadrain,taunt,thunderbolt,thunderwave,Grass": 7, "lifeorb,aftermath,leafstorm,thunderbolt,thunderwave,voltswitch,Electric": 8, "lifeorb,soundproof,leafstorm,taunt,thunderbolt,voltswitch,Grass": 10, "lifeorb,static,leafstorm,taunt,thunderbolt,voltswitch,Grass": 12, "lifeorb,aftermath,leafstorm,taunt,thunderbolt,voltswitch,Electric": 8, "lifeorb,static,leafstorm,taunt,thunderbolt,thunderwave,Grass": 10, "lifeorb,aftermath,gigadrain,taunt,thunderbolt,thunderwave,Grass": 11, "lifeorb,soundproof,gigadrain,thunderbolt,thunderwave,voltswitch,Electric": 14, "lifeorb,soundproof,leafstorm,taunt,thunderbolt,voltswitch,Electric": 7, "lifeorb,soundproof,gigadrain,taunt,thunderbolt,voltswitch,Electric": 22, "lifeorb,aftermath,leafstorm,taunt,thunderbolt,thunderwave,Electric": 9, "lifeorb,aftermath,leafstorm,taunt,thunderbolt,thunderwave,Grass": 15, "lifeorb,aftermath,gigadrain,thunderbolt,thunderwave,voltswitch,Grass": 12, "lifeorb,soundproof,gigadrain,thunderbolt,thunderwave,voltswitch,Grass": 1, "lifeorb,static,leafstorm,taunt,thunderbolt,voltswitch,Electric": 14, "lifeorb,soundproof,leafstorm,thunderbolt,thunderwave,voltswitch,Electric": 10, "lifeorb,static,leafstorm,taunt,thunderbolt,thunderwave,Electric": 9, "lifeorb,static,gigadrain,thunderbolt,thunderwave,voltswitch,Grass": 14, "lifeorb,aftermath,gigadrain,thunderbolt,thunderwave,voltswitch,Electric": 11, "lifeorb,static,leafstorm,thunderbolt,thunderwave,voltswitch,Electric": 8, "lifeorb,aftermath,leafstorm,thunderbolt,thunderwave,voltswitch,Grass": 3, "lifeorb,static,gigadrain,taunt,thunderbolt,thunderwave,Electric": 10, "lifeorb,static,gigadrain,taunt,thunderbolt,voltswitch,Grass": 13, "lifeorb,aftermath,gigadrain,taunt,thunderbolt,voltswitch,Electric": 6, "lifeorb,aftermath,gigadrain,taunt,thunderbolt,thunderwave,Electric": 11, "lifeorb,aftermath,gigadrain,taunt,thunderbolt,voltswitch,Grass": 7, "lifeorb,static,leafstorm,thunderbolt,thunderwave,voltswitch,Grass": 8}, + "emboar": {"leftovers,reckless,bulkup,drainpunch,flareblitz,trailblaze,Grass": 219, "assaultvest,reckless,closecombat,flareblitz,knockoff,wildcharge,Electric": 43, "choicescarf,reckless,closecombat,flareblitz,headsmash,knockoff,Fire": 80, "assaultvest,reckless,closecombat,flareblitz,knockoff,scald,Dark": 41, "leftovers,reckless,bulkup,drainpunch,flareblitz,trailblaze,Fighting": 233, "assaultvest,reckless,closecombat,flareblitz,knockoff,suckerpunch,Dark": 35, "choiceband,reckless,closecombat,flareblitz,headsmash,wildcharge,Fire": 82, "assaultvest,reckless,closecombat,flareblitz,knockoff,wildcharge,Dark": 34, "assaultvest,reckless,closecombat,flareblitz,scald,wildcharge,Fire": 22, "assaultvest,reckless,closecombat,flareblitz,scald,wildcharge,Electric": 35, "choiceband,reckless,closecombat,flareblitz,headsmash,knockoff,Fire": 66, "choiceband,reckless,closecombat,flareblitz,knockoff,wildcharge,Fire": 73, "choicescarf,reckless,closecombat,flareblitz,headsmash,wildcharge,Fire": 91, "assaultvest,reckless,closecombat,flareblitz,suckerpunch,wildcharge,Electric": 38, "assaultvest,reckless,closecombat,flareblitz,knockoff,scald,Water": 46, "choicescarf,reckless,closecombat,flareblitz,knockoff,wildcharge,Fire": 71, "assaultvest,reckless,closecombat,flareblitz,scald,wildcharge,Water": 44, "assaultvest,reckless,closecombat,flareblitz,knockoff,scald,Fire": 21, "assaultvest,reckless,closecombat,flareblitz,suckerpunch,wildcharge,Fire": 26, "assaultvest,reckless,closecombat,flareblitz,scald,suckerpunch,Fire": 27, "assaultvest,reckless,closecombat,flareblitz,knockoff,wildcharge,Fire": 23, "assaultvest,reckless,closecombat,flareblitz,scald,suckerpunch,Water": 39}, + "empoleon": {"leftovers,competitive,knockoff,roar,roost,surf,Flying": 50, "leftovers,competitive,flipturn,icebeam,roost,surf,Flying": 51, "leftovers,competitive,roost,stealthrock,surf,yawn,Grass": 40, "leftovers,competitive,icebeam,roost,stealthrock,surf,Flying": 35, "leftovers,competitive,flipturn,knockoff,roost,surf,Flying": 54, "leftovers,competitive,flipturn,roar,roost,surf,Grass": 51, "leftovers,competitive,icebeam,roost,surf,yawn,Flying": 49, "leftovers,competitive,knockoff,roar,roost,surf,Grass": 48, "leftovers,competitive,icebeam,roost,surf,yawn,Grass": 48, "leftovers,competitive,flipturn,roost,surf,yawn,Flying": 50, "leftovers,competitive,icebeam,knockoff,roost,surf,Grass": 45, "leftovers,competitive,knockoff,roost,stealthrock,surf,Flying": 30, "leftovers,competitive,icebeam,roost,stealthrock,surf,Grass": 49, "leftovers,competitive,flipturn,roost,stealthrock,surf,Grass": 38, "leftovers,competitive,roar,roost,stealthrock,surf,Grass": 43, "leftovers,competitive,flipturn,knockoff,roost,surf,Grass": 45, "leftovers,competitive,knockoff,roost,surf,yawn,Flying": 53, "leftovers,competitive,icebeam,knockoff,roost,surf,Flying": 55, "leftovers,competitive,roost,stealthrock,surf,yawn,Flying": 47, "leftovers,competitive,icebeam,roar,roost,surf,Flying": 38, "leftovers,competitive,flipturn,roost,stealthrock,surf,Flying": 40, "leftovers,competitive,icebeam,roar,roost,surf,Grass": 57, "leftovers,competitive,knockoff,roost,stealthrock,surf,Grass": 29, "leftovers,competitive,roar,roost,stealthrock,surf,Flying": 41, "leftovers,competitive,flipturn,roar,roost,surf,Flying": 42, "leftovers,competitive,flipturn,icebeam,roost,surf,Grass": 46, "leftovers,competitive,flipturn,roost,surf,yawn,Grass": 54, "leftovers,competitive,knockoff,roost,surf,yawn,Grass": 44}, + "enamorus": {"leftovers,cutecharm,calmmind,earthpower,moonblast,substitute,Ground": 164, "heavydutyboots,contrary,playrough,superpower,taunt,zenheadbutt,Fighting": 93, "leftovers,contrary,playrough,substitute,superpower,taunt,Fighting": 127, "heavydutyboots,cutecharm,calmmind,earthpower,moonblast,mysticalfire,Ground": 159, "leftovers,contrary,playrough,substitute,superpower,zenheadbutt,Fighting": 116}, + "enamorustherian": {"assaultvest,overcoat,earthpower,moonblast,psychic,superpower,Ground": 57, "weaknesspolicy,overcoat,agility,earthpower,moonblast,mysticalfire,Ground": 183, "weaknesspolicy,overcoat,agility,earthpower,moonblast,superpower,Ground": 171, "assaultvest,overcoat,earthpower,moonblast,psychic,superpower,Fairy": 44, "assaultvest,overcoat,earthpower,moonblast,mysticalfire,superpower,Ground": 64, "choicespecs,overcoat,earthpower,moonblast,mysticalfire,psychic,Ground": 55, "choicespecs,overcoat,earthpower,moonblast,mysticalfire,psychic,Fairy": 47, "assaultvest,overcoat,earthpower,moonblast,mysticalfire,superpower,Fairy": 47, "assaultvest,overcoat,moonblast,mysticalfire,psychic,superpower,Fairy": 57}, + "entei": {"choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stompingtantrum,Fire": 393, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stoneedge,Normal": 357, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stoneedge,Fire": 359, "choiceband,innerfocus,extremespeed,flareblitz,sacredfire,stompingtantrum,Normal": 329}, + "espathra": {"leftovers,speedboost,calmmind,dazzlinggleam,storedpower,substitute,Fairy": 283, "choicespecs,speedboost,dazzlinggleam,luminacrash,shadowball,uturn,Psychic": 393, "choicespecs,speedboost,dazzlinggleam,luminacrash,shadowball,uturn,Fairy": 385, "leftovers,speedboost,calmmind,dazzlinggleam,protect,storedpower,Fairy": 233, "leftovers,speedboost,calmmind,dazzlinggleam,roost,storedpower,Fairy": 238}, + "espeon": {"choicespecs,magicbounce,alluringvoice,psychic,shadowball,trick,Psychic": 135, "choicespecs,magicbounce,alluringvoice,psychic,shadowball,trick,Fairy": 109, "lifeorb,magicbounce,alluringvoice,calmmind,psyshock,shadowball,Psychic": 80, "choicespecs,magicbounce,alluringvoice,psyshock,shadowball,trick,Fairy": 128, "lifeorb,magicbounce,alluringvoice,morningsun,psyshock,shadowball,Psychic": 77, "lifeorb,magicbounce,alluringvoice,calmmind,morningsun,psychic,Fairy": 103, "lifeorb,magicbounce,alluringvoice,calmmind,psychic,shadowball,Psychic": 93, "lifeorb,magicbounce,alluringvoice,calmmind,morningsun,psyshock,Psychic": 46, "lifeorb,magicbounce,alluringvoice,morningsun,psyshock,shadowball,Fairy": 70, "lifeorb,magicbounce,alluringvoice,calmmind,psychic,shadowball,Fairy": 75, "lifeorb,magicbounce,calmmind,morningsun,psychic,shadowball,Psychic": 56, "lifeorb,magicbounce,alluringvoice,calmmind,morningsun,psyshock,Fairy": 84, "choicespecs,magicbounce,alluringvoice,psyshock,shadowball,trick,Psychic": 94, "lifeorb,magicbounce,calmmind,morningsun,psyshock,shadowball,Psychic": 61, "lifeorb,magicbounce,alluringvoice,calmmind,morningsun,psychic,Psychic": 44, "lifeorb,magicbounce,alluringvoice,morningsun,psychic,shadowball,Fairy": 90, "lifeorb,magicbounce,alluringvoice,calmmind,psyshock,shadowball,Fairy": 87, "lifeorb,magicbounce,alluringvoice,morningsun,psychic,shadowball,Psychic": 71}, + "eternatus": {"leftovers,pressure,dynamaxcannon,fireblast,recover,sludgebomb,Dragon": 90, "powerherb,pressure,dynamaxcannon,fireblast,meteorbeam,sludgebomb,Dragon": 148, "leftovers,pressure,dynamaxcannon,flamethrower,recover,toxicspikes,Water": 70, "powerherb,pressure,dynamaxcannon,fireblast,meteorbeam,sludgebomb,Poison": 138, "rockyhelmet,pressure,dynamaxcannon,fireblast,recover,sludgebomb,Dragon": 100, "rockyhelmet,pressure,dynamaxcannon,fireblast,recover,sludgebomb,Fire": 98, "leftovers,pressure,dynamaxcannon,flamethrower,recover,toxicspikes,Dragon": 65, "rockyhelmet,pressure,dynamaxcannon,flamethrower,recover,toxicspikes,Water": 55, "leftovers,pressure,dynamaxcannon,fireblast,recover,sludgebomb,Fire": 120, "leftovers,pressure,dynamaxcannon,flamethrower,recover,toxic,Water": 64, "rockyhelmet,pressure,dynamaxcannon,flamethrower,recover,toxic,Dragon": 60, "powerherb,pressure,dynamaxcannon,fireblast,meteorbeam,sludgebomb,Fire": 148, "rockyhelmet,pressure,dynamaxcannon,flamethrower,recover,toxic,Water": 57, "leftovers,pressure,dynamaxcannon,flamethrower,recover,toxic,Dragon": 48, "rockyhelmet,pressure,dynamaxcannon,flamethrower,recover,toxicspikes,Dragon": 61}, + "excadrill": {"assaultvest,moldbreaker,earthquake,ironhead,rapidspin,rockslide,Grass": 315, "leftovers,moldbreaker,earthquake,ironhead,rapidspin,swordsdance,Grass": 211, "leftovers,moldbreaker,earthquake,ironhead,rapidspin,swordsdance,Water": 228, "leftovers,moldbreaker,earthquake,ironhead,rapidspin,swordsdance,Ground": 206, "assaultvest,moldbreaker,earthquake,ironhead,rapidspin,rockslide,Water": 319, "assaultvest,sandrush,earthquake,ironhead,rapidspin,rockslide,Grass": 2, "leftovers,sandrush,earthquake,ironhead,rapidspin,swordsdance,Water": 4, "leftovers,sandrush,earthquake,ironhead,rapidspin,swordsdance,Ground": 2, "leftovers,sandrush,earthquake,ironhead,rapidspin,swordsdance,Grass": 1, "assaultvest,sandrush,earthquake,ironhead,rapidspin,rockslide,Water": 1}, + "exeggutor": {"sitrusberry,harvest,calmmind,gigadrain,psyshock,substitute,Steel": 107, "sitrusberry,harvest,calmmind,gigadrain,psychic,substitute,Steel": 113, "sitrusberry,harvest,leechseed,psychicnoise,sleeppowder,substitute,Steel": 52, "sitrusberry,harvest,leechseed,protect,psychicnoise,substitute,Steel": 212, "sitrusberry,harvest,leechseed,psychic,sludgebomb,substitute,Steel": 60, "sitrusberry,harvest,leechseed,psychicnoise,sludgebomb,substitute,Steel": 47, "sitrusberry,harvest,leechseed,psychic,sleeppowder,substitute,Steel": 64}, + "exeggutoralola": {"sitrusberry,harvest,calmmind,dragonpulse,flamethrower,gigadrain,Fire": 101, "choicespecs,frisk,dracometeor,flamethrower,gigadrain,leafstorm,Fire": 240, "sitrusberry,harvest,dracometeor,flamethrower,sleeppowder,woodhammer,Fire": 42, "sitrusberry,harvest,dracometeor,flamethrower,stunspore,woodhammer,Fire": 34, "sitrusberry,harvest,dracometeor,dragontail,flamethrower,woodhammer,Fire": 46, "sitrusberry,harvest,dracometeor,flamethrower,knockoff,woodhammer,Fire": 35, "sitrusberry,harvest,dracometeor,flamethrower,moonlight,woodhammer,Fire": 37, "sitrusberry,harvest,calmmind,dragonpulse,flamethrower,gigadrain,Steel": 116}, + "falinks": {"lifeorb,defiant,closecombat,ironhead,knockoff,noretreat,Steel": 734, "lifeorb,defiant,closecombat,ironhead,knockoff,noretreat,Dark": 763}, + "farigiraf": {"leftovers,sapsipper,futuresight,hypervoice,protect,wish,Ground": 236, "leftovers,sapsipper,futuresight,hypervoice,protect,wish,Water": 220, "leftovers,sapsipper,bodyslam,protect,psychicnoise,wish,Ground": 231, "leftovers,sapsipper,bodyslam,protect,psychicnoise,wish,Fairy": 266, "leftovers,sapsipper,bodyslam,protect,psychicnoise,wish,Water": 275, "leftovers,sapsipper,futuresight,hypervoice,protect,wish,Fairy": 277}, + "feraligatr": {"lifeorb,sheerforce,dragondance,icepunch,liquidation,trailblaze,Grass": 371, "lifeorb,sheerforce,dragondance,icepunch,liquidation,trailblaze,Water": 396, "lifeorb,sheerforce,crunch,dragondance,icepunch,liquidation,Dark": 181, "lifeorb,sheerforce,crunch,dragondance,icepunch,liquidation,Water": 162, "lifeorb,sheerforce,crunch,dragondance,icepunch,liquidation,Dragon": 171, "lifeorb,sheerforce,crunch,dragondance,icepunch,liquidation,Steel": 170}, + "fezandipiti": {"leftovers,toxicchain,gunkshot,playrough,swordsdance,terablast,Ground": 430, "assaultvest,toxicchain,beatup,gunkshot,playrough,uturn,Steel": 81, "assaultvest,toxicchain,beatup,gunkshot,playrough,uturn,Water": 78, "leftovers,toxicchain,gunkshot,playrough,roost,uturn,Water": 91, "assaultvest,toxicchain,gunkshot,heatwave,playrough,uturn,Water": 73, "leftovers,toxicchain,gunkshot,playrough,roost,uturn,Steel": 79, "leftovers,toxicchain,beatup,gunkshot,playrough,roost,Dark": 158, "assaultvest,toxicchain,beatup,gunkshot,playrough,uturn,Dark": 150, "leftovers,toxicchain,beatup,gunkshot,playrough,roost,Water": 80, "leftovers,toxicchain,beatup,gunkshot,playrough,roost,Steel": 81, "assaultvest,toxicchain,gunkshot,heatwave,playrough,uturn,Steel": 95}, + "flamigo": {"choiceband,scrappy,bravebird,closecombat,throatchop,uturn,Fighting": 325, "lifeorb,scrappy,bravebird,closecombat,swordsdance,throatchop,Fighting": 179, "choicescarf,scrappy,bravebird,closecombat,throatchop,uturn,Fighting": 347, "lifeorb,scrappy,bravebird,closecombat,swordsdance,throatchop,Steel": 165, "lifeorb,scrappy,bravebird,closecombat,roost,swordsdance,Fighting": 155, "lifeorb,scrappy,bravebird,closecombat,roost,swordsdance,Steel": 160}, + "flapple": {"choiceband,hustle,gravapple,outrage,suckerpunch,uturn,Dragon": 170, "widelens,hustle,dragondance,gravapple,outrage,terablast,Fire": 276, "lumberry,hustle,dragondance,gravapple,outrage,terablast,Fire": 312, "widelens,hustle,dragondance,gravapple,outrage,suckerpunch,Dragon": 102, "widelens,hustle,dragondance,gravapple,outrage,suckerpunch,Grass": 90, "choiceband,hustle,gravapple,outrage,suckerpunch,uturn,Grass": 181, "lumberry,hustle,dragondance,gravapple,outrage,suckerpunch,Dragon": 81, "lumberry,hustle,dragondance,gravapple,outrage,suckerpunch,Grass": 81}, + "flareon": {"toxicorb,guts,facade,flareblitz,quickattack,trailblaze,Normal": 513, "toxicorb,guts,facade,flareblitz,trailblaze,willowisp,Normal": 430, "toxicorb,guts,facade,flareblitz,quickattack,willowisp,Normal": 515}, + "floatzel": {"leftovers,waterveil,bulkup,icespinner,taunt,wavecrash,Water": 359, "choiceband,waterveil,crunch,flipturn,icespinner,wavecrash,Water": 753, "leftovers,waterveil,bulkup,icespinner,taunt,wavecrash,Steel": 413}, + "florges": {"leftovers,flowerveil,calmmind,moonblast,synthesis,terablast,Ground": 733, "leftovers,flowerveil,calmmind,moonblast,protect,wish,Steel": 855}, + "fluttermane": {"lifeorb,protosynthesis,calmmind,moonblast,shadowball,thunderbolt,Electric": 206, "choicespecs,protosynthesis,moonblast,mysticalfire,shadowball,thunderbolt,Fairy": 255, "choicespecs,protosynthesis,moonblast,mysticalfire,psyshock,shadowball,Fairy": 281, "lifeorb,protosynthesis,calmmind,moonblast,mysticalfire,shadowball,Ghost": 63, "lifeorb,protosynthesis,calmmind,moonblast,mysticalfire,shadowball,Fire": 178, "lifeorb,protosynthesis,calmmind,moonblast,psyshock,shadowball,Ghost": 67, "choicespecs,protosynthesis,moonblast,psyshock,shadowball,thunderbolt,Fairy": 245, "lifeorb,protosynthesis,calmmind,moonblast,mysticalfire,shadowball,Fairy": 72, "lifeorb,protosynthesis,calmmind,moonblast,shadowball,thunderbolt,Ghost": 53, "lifeorb,protosynthesis,calmmind,moonblast,shadowball,thunderbolt,Fairy": 75, "lifeorb,protosynthesis,calmmind,moonblast,psyshock,shadowball,Fairy": 58}, + "flygon": {"lumberry,levitate,dragondance,earthquake,outrage,stoneedge,Ground": 209, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn,Steel": 102, "lumberry,levitate,dragondance,earthquake,outrage,stoneedge,Steel": 202, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn,Rock": 115, "lumberry,levitate,dragondance,earthquake,outrage,stoneedge,Rock": 244, "choicescarf,levitate,earthquake,outrage,stoneedge,uturn,Ground": 122, "choiceband,levitate,earthquake,outrage,stoneedge,uturn,Steel": 99, "choiceband,levitate,earthquake,outrage,stoneedge,uturn,Ground": 118, "choiceband,levitate,earthquake,outrage,stoneedge,uturn,Rock": 93}, + "forretress": {"leftovers,sturdy,bodypress,ironhead,spikes,stealthrock,Water": 117, "leftovers,sturdy,bodypress,ironhead,rapidspin,stealthrock,Fighting": 103, "leftovers,sturdy,ironhead,rapidspin,toxicspikes,voltswitch,Water": 294, "leftovers,sturdy,ironhead,rapidspin,stealthrock,voltswitch,Water": 196, "leftovers,sturdy,bodypress,ironhead,rapidspin,spikes,Fighting": 132, "leftovers,sturdy,bodypress,ironhead,spikes,stealthrock,Fighting": 131, "leftovers,sturdy,ironhead,rapidspin,stealthrock,toxicspikes,Water": 176, "leftovers,sturdy,bodypress,ironhead,rapidspin,stealthrock,Water": 87, "leftovers,sturdy,ironhead,stealthrock,toxicspikes,voltswitch,Water": 82, "leftovers,sturdy,bodypress,ironhead,rapidspin,spikes,Water": 147}, + "froslass": {"widelens,cursedbody,poltergeist,spikes,tripleaxel,willowisp,Ice": 125, "widelens,cursedbody,poltergeist,taunt,tripleaxel,willowisp,Ice": 116, "widelens,cursedbody,destinybond,poltergeist,taunt,tripleaxel,Ice": 101, "widelens,cursedbody,destinybond,poltergeist,spikes,tripleaxel,Ice": 101, "widelens,cursedbody,poltergeist,spikes,tripleaxel,willowisp,Ghost": 122, "widelens,cursedbody,destinybond,poltergeist,tripleaxel,willowisp,Ghost": 119, "widelens,cursedbody,poltergeist,spikes,taunt,tripleaxel,Ghost": 126, "widelens,cursedbody,poltergeist,taunt,tripleaxel,willowisp,Ghost": 108, "widelens,cursedbody,destinybond,poltergeist,tripleaxel,willowisp,Ice": 122, "widelens,cursedbody,destinybond,poltergeist,taunt,tripleaxel,Ghost": 106, "widelens,cursedbody,destinybond,poltergeist,spikes,tripleaxel,Ghost": 103, "widelens,cursedbody,poltergeist,spikes,taunt,tripleaxel,Ice": 108}, + "frosmoth": {"heavydutyboots,icescales,bugbuzz,hurricane,icebeam,quiverdance,Water": 224, "heavydutyboots,icescales,gigadrain,icebeam,quiverdance,terablast,Ground": 288, "heavydutyboots,icescales,bugbuzz,icebeam,quiverdance,terablast,Ground": 297, "heavydutyboots,icescales,gigadrain,hurricane,icebeam,quiverdance,Water": 246, "heavydutyboots,icescales,bugbuzz,gigadrain,icebeam,quiverdance,Water": 247}, + "furret": {"choiceband,frisk,doubleedge,knockoff,trick,uturn,Ghost": 375, "lifeorb,frisk,brickbreak,doubleedge,knockoff,tidyup,Ghost": 353, "lifeorb,frisk,brickbreak,doubleedge,knockoff,tidyup,Normal": 389, "choiceband,frisk,doubleedge,knockoff,trick,uturn,Normal": 391}, + "gallade": {"lifeorb,sharpness,agility,nightslash,psychocut,sacredsword,Fighting": 360, "lifeorb,sharpness,agility,nightslash,psychocut,sacredsword,Dark": 333, "choiceband,sharpness,leafblade,nightslash,psychocut,sacredsword,Dark": 60, "choicescarf,sharpness,leafblade,nightslash,psychocut,sacredsword,Fighting": 38, "lifeorb,sharpness,leafblade,psychocut,sacredsword,swordsdance,Grass": 96, "choicescarf,sharpness,leafblade,nightslash,psychocut,sacredsword,Grass": 51, "lifeorb,sharpness,nightslash,psychocut,sacredsword,swordsdance,Dark": 111, "choiceband,sharpness,leafblade,nightslash,psychocut,sacredsword,Grass": 50, "lifeorb,sharpness,leafblade,psychocut,sacredsword,swordsdance,Fighting": 75, "choicescarf,sharpness,leafblade,nightslash,psychocut,sacredsword,Dark": 73, "lifeorb,sharpness,nightslash,psychocut,sacredsword,swordsdance,Fighting": 84, "choiceband,sharpness,leafblade,nightslash,psychocut,sacredsword,Fighting": 39}, + "galvantula": {"heavydutyboots,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch,Electric": 618, "heavydutyboots,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder,Electric": 638, "focussash,compoundeyes,bugbuzz,stickyweb,thunder,voltswitch,Electric": 122, "focussash,compoundeyes,bugbuzz,gigadrain,stickyweb,thunder,Electric": 117, "choicespecs,compoundeyes,bugbuzz,gigadrain,thunder,voltswitch,Electric": 58}, + "garchomp": {"rockyhelmet,roughskin,dragontail,earthquake,outrage,spikes,Steel": 135, "loadeddice,roughskin,earthquake,ironhead,scaleshot,swordsdance,Steel": 258, "loadeddice,roughskin,earthquake,firefang,scaleshot,swordsdance,Fire": 213, "rockyhelmet,roughskin,dragontail,earthquake,outrage,spikes,Ground": 139, "rockyhelmet,roughskin,earthquake,outrage,spikes,stealthrock,Ground": 102, "rockyhelmet,roughskin,earthquake,outrage,spikes,stealthrock,Steel": 91, "rockyhelmet,roughskin,dragontail,earthquake,outrage,stealthrock,Ground": 109, "rockyhelmet,roughskin,dragontail,earthquake,outrage,stealthrock,Steel": 98, "loadeddice,roughskin,earthquake,firefang,scaleshot,swordsdance,Ground": 83, "loadeddice,roughskin,earthquake,ironhead,scaleshot,swordsdance,Ground": 72, "loadeddice,roughskin,earthquake,scaleshot,stoneedge,swordsdance,Ground": 69}, + "gardevoir": {"choicescarf,trace,focusblast,healingwish,moonblast,psyshock,Fighting": 56, "choicescarf,trace,focusblast,moonblast,psychic,trick,Fairy": 38, "choicescarf,trace,focusblast,moonblast,psychic,trick,Fighting": 63, "choicescarf,trace,focusblast,moonblast,mysticalfire,psychic,Fighting": 28, "choicespecs,trace,focusblast,moonblast,mysticalfire,psyshock,Fire": 30, "lifeorb,trace,calmmind,moonblast,mysticalfire,psyshock,Fairy": 40, "lifeorb,trace,calmmind,moonblast,mysticalfire,psychic,Fairy": 32, "choicescarf,trace,focusblast,moonblast,mysticalfire,psyshock,Fighting": 37, "choicescarf,trace,focusblast,moonblast,psyshock,trick,Fairy": 38, "choicespecs,trace,focusblast,moonblast,mysticalfire,psyshock,Fighting": 36, "choicescarf,trace,focusblast,healingwish,moonblast,psychic,Fighting": 68, "choicespecs,trace,focusblast,moonblast,mysticalfire,psychic,Fire": 30, "choicescarf,trace,focusblast,moonblast,mysticalfire,psychic,Fire": 37, "lifeorb,trace,calmmind,focusblast,moonblast,psychic,Fairy": 37, "choicescarf,trace,moonblast,mysticalfire,psyshock,trick,Fairy": 43, "choicescarf,trace,healingwish,moonblast,mysticalfire,psychic,Fire": 63, "choicescarf,trace,healingwish,moonblast,mysticalfire,psyshock,Fire": 63, "choicescarf,trace,focusblast,healingwish,moonblast,psychic,Fairy": 33, "lifeorb,trace,calmmind,focusblast,moonblast,psyshock,Fighting": 67, "lifeorb,trace,calmmind,moonblast,mysticalfire,psychic,Fire": 69, "choicescarf,trace,moonblast,mysticalfire,psychic,trick,Fire": 67, "lifeorb,trace,calmmind,moonblast,mysticalfire,psyshock,Fire": 64, "lifeorb,trace,calmmind,focusblast,moonblast,psychic,Fighting": 50, "choicescarf,trace,moonblast,mysticalfire,psychic,trick,Fairy": 31, "choicescarf,trace,focusblast,moonblast,mysticalfire,psyshock,Fire": 40, "choicespecs,trace,focusblast,moonblast,mysticalfire,psychic,Fighting": 24, "choicescarf,trace,healingwish,moonblast,mysticalfire,psyshock,Fairy": 39, "choicescarf,trace,focusblast,moonblast,mysticalfire,psychic,Fairy": 10, "choicescarf,trace,focusblast,moonblast,mysticalfire,psyshock,Fairy": 12, "choicescarf,trace,focusblast,moonblast,psyshock,trick,Fighting": 56, "choicescarf,trace,moonblast,mysticalfire,psyshock,trick,Fire": 55, "choicescarf,trace,focusblast,healingwish,moonblast,psyshock,Fairy": 39, "choicespecs,trace,focusblast,moonblast,mysticalfire,psychic,Fairy": 17, "choicescarf,trace,healingwish,moonblast,mysticalfire,psychic,Fairy": 38, "lifeorb,trace,calmmind,focusblast,moonblast,psyshock,Fairy": 27, "choicespecs,trace,focusblast,moonblast,mysticalfire,psyshock,Fairy": 5}, + "garganacl": {"leftovers,purifyingsalt,bodypress,irondefense,recover,saltcure,Dragon": 239, "leftovers,purifyingsalt,earthquake,protect,recover,saltcure,Ghost": 141, "leftovers,purifyingsalt,bodypress,protect,recover,saltcure,Dragon": 103, "leftovers,purifyingsalt,earthquake,recover,saltcure,stealthrock,Dragon": 104, "leftovers,purifyingsalt,protect,recover,saltcure,stealthrock,Ghost": 61, "leftovers,purifyingsalt,bodypress,irondefense,recover,saltcure,Ghost": 198, "leftovers,purifyingsalt,protect,recover,saltcure,stealthrock,Dragon": 71, "leftovers,purifyingsalt,bodypress,recover,saltcure,stealthrock,Dragon": 78, "leftovers,purifyingsalt,earthquake,recover,saltcure,stealthrock,Ghost": 104, "leftovers,purifyingsalt,bodypress,recover,saltcure,stealthrock,Ghost": 64, "leftovers,purifyingsalt,earthquake,protect,recover,saltcure,Dragon": 110, "leftovers,purifyingsalt,bodypress,protect,recover,saltcure,Ghost": 93}, + "gastrodon": {"leftovers,stormdrain,earthquake,icebeam,recover,surf,Poison": 80, "leftovers,stormdrain,earthquake,recover,sludgebomb,stealthrock,Poison": 221, "leftovers,stormdrain,earthquake,recover,stealthrock,surf,Poison": 251, "leftovers,stormdrain,earthquake,icebeam,recover,spikes,Steel": 49, "leftovers,stormdrain,clearsmog,earthquake,recover,surf,Poison": 50, "leftovers,stormdrain,clearsmog,earthquake,recover,surf,Steel": 53, "leftovers,stormdrain,earthquake,icebeam,recover,stealthrock,Poison": 38, "leftovers,stormdrain,earthquake,icebeam,recover,spikes,Poison": 48, "leftovers,stormdrain,earthquake,recover,sludgebomb,surf,Poison": 322, "leftovers,stormdrain,earthquake,recover,spikes,surf,Steel": 44, "leftovers,stormdrain,earthquake,recover,spikes,surf,Poison": 42, "leftovers,stormdrain,earthquake,icebeam,recover,surf,Steel": 93, "leftovers,stormdrain,clearsmog,earthquake,icebeam,recover,Poison": 56, "leftovers,stormdrain,earthquake,recover,stealthrock,surf,Steel": 39, "leftovers,stormdrain,clearsmog,earthquake,icebeam,recover,Steel": 36, "leftovers,stormdrain,earthquake,icebeam,recover,stealthrock,Steel": 34}, + "gengar": {"choicespecs,cursedbody,focusblast,shadowball,sludgewave,trick,Ghost": 111, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,willowisp,Dark": 39, "lifeorb,cursedbody,encore,shadowball,sludgewave,willowisp,Dark": 66, "lifeorb,cursedbody,encore,shadowball,sludgewave,willowisp,Ghost": 44, "lifeorb,cursedbody,focusblast,nastyplot,shadowball,sludgewave,Fighting": 133, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,willowisp,Fighting": 93, "lifeorb,cursedbody,encore,focusblast,shadowball,sludgewave,Fighting": 88, "lifeorb,cursedbody,focusblast,nastyplot,shadowball,sludgewave,Dark": 115, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,toxicspikes,Dark": 43, "lifeorb,cursedbody,focusblast,nastyplot,shadowball,sludgewave,Ghost": 129, "choicespecs,cursedbody,focusblast,shadowball,sludgewave,trick,Fighting": 122, "lifeorb,cursedbody,encore,shadowball,sludgewave,toxicspikes,Dark": 41, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,toxicspikes,Fighting": 82, "choicespecs,cursedbody,focusblast,shadowball,sludgewave,trick,Dark": 118, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,toxicspikes,Ghost": 42, "lifeorb,cursedbody,focusblast,shadowball,sludgewave,willowisp,Ghost": 39, "lifeorb,cursedbody,encore,focusblast,shadowball,sludgewave,Dark": 50, "lifeorb,cursedbody,encore,shadowball,sludgewave,toxicspikes,Ghost": 49, "lifeorb,cursedbody,encore,focusblast,shadowball,sludgewave,Ghost": 38}, + "gholdengo": {"leftovers,goodasgold,makeitrain,nastyplot,recover,shadowball,Dark": 113, "leftovers,goodasgold,focusblast,makeitrain,nastyplot,shadowball,Steel": 131, "leftovers,goodasgold,makeitrain,nastyplot,recover,shadowball,Steel": 107, "leftovers,goodasgold,focusblast,makeitrain,nastyplot,shadowball,Fighting": 112, "leftovers,goodasgold,makeitrain,nastyplot,recover,shadowball,Water": 111, "leftovers,goodasgold,makeitrain,recover,shadowball,thunderwave,Steel": 102, "leftovers,goodasgold,makeitrain,recover,shadowball,thunderwave,Dark": 115, "choicescarf,goodasgold,focusblast,makeitrain,shadowball,trick,Fighting": 105, "leftovers,goodasgold,focusblast,makeitrain,nastyplot,shadowball,Ghost": 116, "choicescarf,goodasgold,focusblast,makeitrain,shadowball,trick,Steel": 113, "choicescarf,goodasgold,focusblast,makeitrain,shadowball,trick,Ghost": 106, "leftovers,goodasgold,makeitrain,recover,shadowball,thunderwave,Water": 117}, + "girafarig": {"eviolite,sapsipper,nastyplot,psychic,shadowball,thunderbolt,Electric": 47, "eviolite,sapsipper,dazzlinggleam,nastyplot,psyshock,thunderbolt,Electric": 71, "eviolite,sapsipper,dazzlinggleam,nastyplot,psychic,shadowball,Psychic": 48, "eviolite,sapsipper,hypervoice,nastyplot,psyshock,thunderbolt,Normal": 361, "eviolite,sapsipper,dazzlinggleam,nastyplot,psyshock,thunderbolt,Fairy": 59, "eviolite,sapsipper,dazzlinggleam,nastyplot,psyshock,shadowball,Psychic": 41, "eviolite,sapsipper,hypervoice,nastyplot,psyshock,thunderbolt,Electric": 359, "eviolite,sapsipper,nastyplot,psychic,shadowball,thunderbolt,Psychic": 32, "eviolite,sapsipper,dazzlinggleam,nastyplot,psychic,shadowball,Fairy": 70, "eviolite,sapsipper,dazzlinggleam,nastyplot,psyshock,thunderbolt,Psychic": 42, "eviolite,sapsipper,nastyplot,psyshock,shadowball,thunderbolt,Electric": 57, "eviolite,sapsipper,dazzlinggleam,nastyplot,psychic,thunderbolt,Fairy": 63, "eviolite,sapsipper,dazzlinggleam,nastyplot,psychic,thunderbolt,Electric": 68, "eviolite,sapsipper,nastyplot,psyshock,shadowball,thunderbolt,Psychic": 42, "eviolite,sapsipper,dazzlinggleam,nastyplot,psychic,thunderbolt,Psychic": 31, "eviolite,sapsipper,dazzlinggleam,nastyplot,psyshock,shadowball,Fairy": 55}, + "giratina": {"chestoberry,pressure,dragontail,rest,shadowball,willowisp,Fairy": 38, "leftovers,pressure,defog,dragontail,shadowball,willowisp,Fairy": 72, "leftovers,pressure,dragontail,rest,shadowball,sleeptalk,Fairy": 122, "leftovers,pressure,calmmind,dragonpulse,rest,sleeptalk,Fairy": 240, "chestoberry,pressure,defog,dragontail,rest,shadowball,Fairy": 70, "chestoberry,pressure,defog,rest,shadowball,willowisp,Fairy": 73, "leftovers,pressure,rest,shadowball,sleeptalk,willowisp,Fairy": 132}, + "giratinaorigin": {"griseouscore,levitate,dracometeor,dragontail,poltergeist,willowisp,Ghost": 36, "griseouscore,levitate,defog,dracometeor,poltergeist,willowisp,Dragon": 36, "griseouscore,levitate,dracometeor,poltergeist,shadowsneak,willowisp,Steel": 31, "griseouscore,levitate,dracometeor,poltergeist,shadowsneak,willowisp,Fairy": 38, "griseouscore,levitate,dracometeor,dragontail,poltergeist,shadowsneak,Dragon": 24, "griseouscore,levitate,defog,dracometeor,poltergeist,willowisp,Ghost": 22, "griseouscore,levitate,dracometeor,dragontail,poltergeist,willowisp,Steel": 49, "griseouscore,levitate,defog,dracometeor,poltergeist,shadowsneak,Steel": 27, "griseouscore,levitate,dracometeor,poltergeist,shadowsneak,willowisp,Dragon": 38, "griseouscore,levitate,dracometeor,dragontail,poltergeist,shadowsneak,Fairy": 41, "griseouscore,levitate,defog,dracometeor,poltergeist,willowisp,Fairy": 24, "griseouscore,levitate,defog,dracometeor,poltergeist,willowisp,Steel": 29, "griseouscore,levitate,dracometeor,dragontail,poltergeist,willowisp,Dragon": 30, "griseouscore,levitate,dracometeor,dragontail,poltergeist,willowisp,Fairy": 35, "griseouscore,levitate,defog,dracometeor,dragontail,poltergeist,Dragon": 24, "griseouscore,levitate,defog,dracometeor,dragontail,poltergeist,Fairy": 17, "griseouscore,levitate,defog,dracometeor,poltergeist,shadowsneak,Dragon": 17, "griseouscore,levitate,dracometeor,poltergeist,shadowsneak,willowisp,Ghost": 31, "griseouscore,levitate,defog,dracometeor,poltergeist,shadowsneak,Ghost": 18, "griseouscore,levitate,defog,dracometeor,dragontail,poltergeist,Steel": 26, "griseouscore,levitate,defog,dracometeor,dragontail,poltergeist,Ghost": 27, "griseouscore,levitate,dracometeor,dragontail,poltergeist,shadowsneak,Ghost": 27, "griseouscore,levitate,dracometeor,dragontail,poltergeist,shadowsneak,Steel": 36, "griseouscore,levitate,defog,dracometeor,poltergeist,shadowsneak,Fairy": 30}, + "glaceon": {"heavydutyboots,icebody,calmmind,freezedry,protect,wish,Water": 715, "heavydutyboots,icebody,freezedry,mudshot,protect,wish,Ground": 706}, + "glalie": {"heavydutyboots,innerfocus,earthquake,freezedry,spikes,taunt,Ghost": 233, "heavydutyboots,innerfocus,disable,earthquake,freezedry,spikes,Ground": 238, "heavydutyboots,innerfocus,earthquake,freezedry,spikes,taunt,Ground": 245, "heavydutyboots,innerfocus,earthquake,freezedry,spikes,taunt,Water": 233, "heavydutyboots,innerfocus,disable,earthquake,freezedry,spikes,Ghost": 223, "heavydutyboots,innerfocus,disable,earthquake,freezedry,spikes,Water": 230, "heavydutyboots,innerfocus,disable,earthquake,freezedry,taunt,Ghost": 2, "heavydutyboots,innerfocus,disable,earthquake,freezedry,taunt,Water": 1}, + "glastrier": {"heavydutyboots,chillingneigh,closecombat,heavyslam,iciclecrash,swordsdance,Steel": 160, "choiceband,chillingneigh,closecombat,heavyslam,highhorsepower,iciclecrash,Steel": 153, "heavydutyboots,chillingneigh,heavyslam,highhorsepower,iciclecrash,swordsdance,Ground": 160, "heavydutyboots,chillingneigh,closecombat,heavyslam,iciclecrash,swordsdance,Fighting": 163, "heavydutyboots,chillingneigh,closecombat,highhorsepower,iciclecrash,swordsdance,Fighting": 168, "choiceband,chillingneigh,closecombat,heavyslam,highhorsepower,iciclecrash,Fighting": 172, "heavydutyboots,chillingneigh,closecombat,highhorsepower,iciclecrash,swordsdance,Ground": 177, "heavydutyboots,chillingneigh,heavyslam,highhorsepower,iciclecrash,swordsdance,Steel": 149, "choiceband,chillingneigh,closecombat,heavyslam,highhorsepower,iciclecrash,Ground": 153}, + "glimmora": {"powerherb,toxicdebris,earthpower,energyball,meteorbeam,sludgewave,Grass": 676, "airballoon,toxicdebris,earthpower,powergem,sludgewave,spikes,Ground": 113, "focussash,toxicdebris,earthpower,powergem,sludgewave,stealthrock,Ground": 23, "heavydutyboots,toxicdebris,earthpower,mortalspin,sludgewave,spikes,Ground": 134, "assaultvest,toxicdebris,earthpower,mortalspin,powergem,sludgewave,Ground": 126, "heavydutyboots,toxicdebris,earthpower,mortalspin,sludgewave,stealthrock,Ground": 103, "airballoon,toxicdebris,earthpower,powergem,sludgewave,stealthrock,Ground": 72, "airballoon,toxicdebris,earthpower,sludgewave,spikes,stealthrock,Ground": 71, "focussash,toxicdebris,earthpower,sludgewave,spikes,stealthrock,Ground": 18, "focussash,toxicdebris,earthpower,powergem,sludgewave,spikes,Ground": 23}, + "gliscor": {"toxicorb,poisonheal,earthquake,knockoff,toxic,uturn,Water": 105, "toxicorb,poisonheal,earthquake,protect,substitute,toxic,Water": 710, "toxicorb,poisonheal,earthquake,knockoff,protect,toxic,Water": 83, "toxicorb,poisonheal,earthquake,protect,toxicspikes,uturn,Water": 115, "toxicorb,poisonheal,earthquake,knockoff,protect,toxicspikes,Water": 88, "toxicorb,poisonheal,earthquake,protect,toxic,uturn,Water": 102, "toxicorb,poisonheal,earthquake,knockoff,protect,uturn,Water": 74, "toxicorb,poisonheal,earthquake,knockoff,toxicspikes,uturn,Water": 79}, + "gogoat": {"leftovers,sapsipper,bulkup,earthquake,hornleech,milkdrink,Water": 330, "leftovers,sapsipper,bulkup,hornleech,milkdrink,rockslide,Water": 354, "leftovers,sapsipper,bulkup,earthquake,hornleech,milkdrink,Ground": 627}, + "golduck": {"lifeorb,cloudnine,grassknot,hydropump,icebeam,nastyplot,Water": 542, "lifeorb,cloudnine,grassknot,hydropump,icebeam,nastyplot,Grass": 176, "leftovers,cloudnine,encore,hydropump,icebeam,nastyplot,Water": 189, "choicespecs,cloudnine,flipturn,grassknot,hydropump,icebeam,Grass": 188, "leftovers,cloudnine,encore,grassknot,hydropump,nastyplot,Water": 189, "choicespecs,cloudnine,flipturn,grassknot,hydropump,icebeam,Water": 188, "lifeorb,swiftswim,grassknot,hydropump,icebeam,nastyplot,Water": 9, "leftovers,swiftswim,encore,hydropump,icebeam,nastyplot,Water": 3, "choicespecs,swiftswim,flipturn,grassknot,hydropump,icebeam,Water": 7, "choicespecs,swiftswim,flipturn,grassknot,hydropump,icebeam,Grass": 5, "leftovers,swiftswim,encore,grassknot,hydropump,nastyplot,Water": 3, "lifeorb,swiftswim,grassknot,hydropump,icebeam,nastyplot,Grass": 5}, + "golem": {"weaknesspolicy,sturdy,earthquake,explosion,rockpolish,stoneedge,Ground": 103, "weaknesspolicy,sturdy,earthquake,explosion,rockpolish,stoneedge,Steel": 125, "weaknesspolicy,sturdy,earthquake,explosion,rockpolish,stoneedge,Grass": 124, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge,Steel": 79, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge,Grass": 103, "custapberry,sturdy,earthquake,explosion,stealthrock,stoneedge,Ground": 88}, + "golemalola": {"choiceband,galvanize,doubleedge,earthquake,explosion,stoneedge,Grass": 114, "choiceband,galvanize,doubleedge,earthquake,explosion,stoneedge,Ground": 117, "lifeorb,galvanize,doubleedge,earthquake,rockpolish,stoneedge,Grass": 178, "lifeorb,galvanize,doubleedge,earthquake,rockpolish,stoneedge,Flying": 151, "choiceband,galvanize,doubleedge,earthquake,explosion,stoneedge,Electric": 103}, + "golurk": {"lifeorb,noguard,earthquake,poltergeist,stealthrock,stoneedge,Ghost": 125, "choiceband,noguard,dynamicpunch,earthquake,poltergeist,stoneedge,Fighting": 254, "lifeorb,noguard,dynamicpunch,earthquake,poltergeist,stealthrock,Fighting": 226, "lifeorb,noguard,dynamicpunch,earthquake,poltergeist,stealthrock,Ground": 111, "lifeorb,noguard,dynamicpunch,earthquake,poltergeist,stealthrock,Ghost": 155, "choiceband,noguard,dynamicpunch,earthquake,poltergeist,stoneedge,Ground": 190, "choiceband,noguard,dynamicpunch,earthquake,poltergeist,stoneedge,Ghost": 187, "lifeorb,noguard,earthquake,poltergeist,stealthrock,stoneedge,Ground": 166}, + "goodra": {"assaultvest,sapsipper,dracometeor,earthquake,fireblast,knockoff,Ground": 17, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,scald,Fire": 9, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,scald,Ground": 11, "assaultvest,sapsipper,dracometeor,knockoff,powerwhip,scald,Grass": 12, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,scald,Water": 7, "assaultvest,sapsipper,dracometeor,knockoff,scald,sludgebomb,Poison": 12, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,scald,Water": 16, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,powerwhip,Grass": 8, "assaultvest,sapsipper,dracometeor,earthquake,scald,sludgebomb,Water": 12, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,scald,Fire": 9, "assaultvest,sapsipper,dracometeor,powerwhip,scald,sludgebomb,Poison": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,scald,Ground": 9, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,scald,Fire": 5, "assaultvest,sapsipper,dracometeor,knockoff,scald,sludgebomb,Water": 6, "assaultvest,sapsipper,dracometeor,earthquake,scald,sludgebomb,Ground": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,scald,Fire": 10, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip,Fire": 14, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,powerwhip,Fire": 8, "assaultvest,sapsipper,dracometeor,powerwhip,scald,sludgebomb,Grass": 7, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,scald,Water": 7, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,powerwhip,Grass": 8, "assaultvest,sapsipper,dracometeor,knockoff,powerwhip,scald,Water": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb,Fire": 16, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,sludgebomb,Poison": 8, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,scald,Water": 11, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,scald,Grass": 7, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,knockoff,Ground": 6, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,powerwhip,Grass": 11, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,powerwhip,Ground": 12, "assaultvest,sapsipper,dracometeor,fireblast,scald,sludgebomb,Fire": 15, "assaultvest,sapsipper,dracometeor,earthquake,scald,sludgebomb,Poison": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb,Poison": 9, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,scald,Grass": 11, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip,Ground": 4, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,powerwhip,Grass": 9, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,scald,Ground": 11, "assaultvest,sapsipper,dracometeor,dragontail,scald,sludgebomb,Poison": 8, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,powerwhip,Grass": 12, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,scald,Grass": 9, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb,Ground": 11, "assaultvest,sapsipper,dracometeor,knockoff,powerwhip,sludgebomb,Poison": 11, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,sludgebomb,Poison": 12, "assaultvest,sapsipper,dracometeor,knockoff,powerwhip,sludgebomb,Grass": 8, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,powerwhip,Fire": 10, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb,Poison": 12, "assaultvest,sapsipper,dracometeor,fireblast,scald,sludgebomb,Water": 15, "assaultvest,sapsipper,dracometeor,powerwhip,scald,sludgebomb,Water": 9, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,scald,Ground": 12, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,sludgebomb,Grass": 8, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,scald,Water": 6, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,sludgebomb,Poison": 7, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,knockoff,Fire": 10, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,fireblast,Ground": 8, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,fireblast,Fire": 6, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb,Fire": 9, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,sludgebomb,Fire": 9, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb,Poison": 11, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,sludgebomb,Poison": 7, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,sludgebomb,Grass": 7, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,knockoff,Fire": 5, "assaultvest,sapsipper,dracometeor,dragontail,knockoff,sludgebomb,Poison": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,sludgebomb,Ground": 13, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,sludgebomb,Poison": 8, "assaultvest,sapsipper,dracometeor,fireblast,scald,sludgebomb,Poison": 8, "assaultvest,sapsipper,dracometeor,dragontail,knockoff,scald,Water": 7, "assaultvest,sapsipper,dracometeor,fireblast,knockoff,scald,Water": 9, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,powerwhip,Ground": 11, "assaultvest,sapsipper,dracometeor,earthquake,powerwhip,scald,Water": 8, "assaultvest,sapsipper,dracometeor,dragontail,powerwhip,scald,Water": 9, "assaultvest,sapsipper,dracometeor,dragontail,knockoff,powerwhip,Grass": 11, "assaultvest,sapsipper,dracometeor,dragontail,scald,sludgebomb,Water": 9, "assaultvest,sapsipper,dracometeor,fireblast,powerwhip,sludgebomb,Grass": 11, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,sludgebomb,Fire": 6, "assaultvest,sapsipper,dracometeor,earthquake,knockoff,sludgebomb,Ground": 10, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,sludgebomb,Ground": 5}, + "goodrahisui": {"assaultvest,sapsipper,dracometeor,dragontail,heavyslam,thunderbolt,Flying": 9, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,hydropump,Water": 32, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,heavyslam,Ground": 41, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,knockoff,Flying": 17, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,knockoff,Ground": 27, "assaultvest,sapsipper,dracometeor,heavyslam,knockoff,thunderbolt,Dragon": 10, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,hydropump,Water": 39, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,thunderbolt,Water": 24, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,knockoff,Water": 32, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,thunderbolt,Flying": 11, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,thunderbolt,Dragon": 18, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,thunderbolt,Dragon": 12, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,heavyslam,Ground": 40, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,hydropump,Dragon": 18, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,knockoff,Flying": 9, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,heavyslam,Dragon": 7, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,thunderbolt,Ground": 35, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,hydropump,Water": 36, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,heavyslam,Dragon": 8, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,knockoff,Dragon": 13, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,knockoff,Flying": 9, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,knockoff,Dragon": 11, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,heavyslam,Flying": 16, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,hydropump,Ground": 39, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,hydropump,Dragon": 11, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,thunderbolt,Flying": 8, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,knockoff,Dragon": 11, "assaultvest,sapsipper,dracometeor,heavyslam,hydropump,thunderbolt,Dragon": 17, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,hydropump,Flying": 16, "assaultvest,sapsipper,dracometeor,dragontail,earthquake,heavyslam,Flying": 9, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,knockoff,Dragon": 14, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,thunderbolt,Flying": 10, "assaultvest,sapsipper,dracometeor,heavyslam,knockoff,thunderbolt,Flying": 13, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,thunderbolt,Dragon": 5, "assaultvest,sapsipper,dracometeor,dragontail,fireblast,heavyslam,Dragon": 4, "assaultvest,sapsipper,dracometeor,fireblast,heavyslam,hydropump,Flying": 12, "assaultvest,sapsipper,dracometeor,earthquake,heavyslam,hydropump,Dragon": 8, "assaultvest,sapsipper,dracometeor,earthquake,fireblast,heavyslam,Flying": 3, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,knockoff,Flying": 5, "assaultvest,sapsipper,dracometeor,dragontail,heavyslam,hydropump,Flying": 4}, + "gothitelle": {"choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Ghost": 63, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Ghost": 66, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Steel": 22, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Fighting": 71, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Steel": 23, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Dark": 75, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Ground": 21, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Flying": 80, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Flying": 18, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Ground": 81, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Steel": 68, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Flying": 22, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Steel": 23, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Fairy": 71, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Psychic": 66, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Steel": 73, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Ground": 72, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Electric": 24, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Ground": 28, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Fairy": 29, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Dark": 33, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Fighting": 26, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Fairy": 51, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Ground": 16, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Fighting": 70, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Electric": 43, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Fighting": 26, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Ghost": 21, "leftovers,shadowtag,darkpulse,focusblast,psychicnoise,thunderwave,Dark": 55, "choicescarf,shadowtag,darkpulse,focusblast,psychic,trick,Flying": 71, "leftovers,shadowtag,calmmind,focusblast,psychicnoise,thunderbolt,Flying": 28, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Fairy": 19, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Fairy": 20, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Ghost": 17, "leftovers,shadowtag,calmmind,darkpulse,psychicnoise,thunderbolt,Ghost": 13, "leftovers,shadowtag,calmmind,darkpulse,focusblast,psychicnoise,Dark": 33}, + "gougingfire": {"heavydutyboots,protosynthesis,dragondance,heatcrash,morningsun,outrage,Fairy": 720, "heavydutyboots,protosynthesis,dragondance,earthquake,heatcrash,outrage,Ground": 678}, + "grafaiai": {"heavydutyboots,prankster,encore,gunkshot,knockoff,partingshot,Dark": 441, "lifeorb,poisontouch,gunkshot,knockoff,lowkick,swordsdance,Dark": 448, "assaultvest,poisontouch,gunkshot,knockoff,superfang,uturn,Dark": 477}, + "granbull": {"leftovers,intimidate,earthquake,encore,playrough,thunderwave,Ground": 784, "leftovers,intimidate,earthquake,playrough,roar,thunderwave,Ground": 775}, + "greattusk": {"leftovers,protosynthesis,closecombat,headlongrush,stealthrock,stoneedge,Ground": 3, "leftovers,protosynthesis,bulkup,closecombat,earthquake,rapidspin,Ground": 111, "leftovers,protosynthesis,closecombat,headlongrush,rapidspin,stealthrock,Ground": 44, "assaultvest,protosynthesis,closecombat,headlongrush,rapidspin,stoneedge,Ground": 54, "leftovers,protosynthesis,bulkup,closecombat,earthquake,stoneedge,Ground": 122, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,rapidspin,Steel": 76, "assaultvest,protosynthesis,closecombat,headlongrush,knockoff,rapidspin,Ground": 51, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,rapidspin,Ground": 70, "leftovers,protosynthesis,bulkup,closecombat,earthquake,rapidspin,Steel": 103, "leftovers,protosynthesis,bulkup,closecombat,earthquake,stoneedge,Steel": 117, "assaultvest,protosynthesis,closecombat,headlongrush,rapidspin,stoneedge,Steel": 51, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,stoneedge,Steel": 99, "assaultvest,protosynthesis,closecombat,headlongrush,icespinner,rapidspin,Steel": 65, "leftovers,protosynthesis,closecombat,headlongrush,stealthrock,stoneedge,Steel": 7, "assaultvest,protosynthesis,closecombat,headlongrush,knockoff,rapidspin,Steel": 52, "leftovers,protosynthesis,closecombat,headlongrush,knockoff,stealthrock,Steel": 3, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,stoneedge,Ground": 115, "assaultvest,protosynthesis,closecombat,headlongrush,icespinner,rapidspin,Ground": 64, "leftovers,protosynthesis,closecombat,headlongrush,rapidspin,stealthrock,Steel": 58, "choicescarf,protosynthesis,closecombat,headlongrush,knockoff,stoneedge,Ground": 2, "choiceband,protosynthesis,closecombat,headlongrush,knockoff,stoneedge,Ground": 3, "choicescarf,protosynthesis,closecombat,headlongrush,icespinner,knockoff,Ground": 4, "choiceband,protosynthesis,closecombat,headlongrush,icespinner,knockoff,Ground": 4, "leftovers,protosynthesis,closecombat,headlongrush,icespinner,stealthrock,Ground": 2, "choiceband,protosynthesis,closecombat,headlongrush,icespinner,knockoff,Steel": 6, "leftovers,protosynthesis,closecombat,headlongrush,knockoff,stealthrock,Ground": 4, "choiceband,protosynthesis,closecombat,headlongrush,icespinner,stoneedge,Steel": 2, "choiceband,protosynthesis,closecombat,headlongrush,knockoff,stoneedge,Steel": 2, "choicescarf,protosynthesis,closecombat,headlongrush,icespinner,stoneedge,Ground": 3, "choicescarf,protosynthesis,closecombat,headlongrush,icespinner,knockoff,Steel": 4, "leftovers,protosynthesis,closecombat,headlongrush,icespinner,stealthrock,Steel": 3, "choicescarf,protosynthesis,closecombat,headlongrush,knockoff,stoneedge,Steel": 1}, + "greedent": {"sitrusberry,cheekpouch,doubleedge,earthquake,knockoff,swordsdance,Ground": 390, "sitrusberry,cheekpouch,bodyslam,earthquake,knockoff,swordsdance,Ground": 405, "sitrusberry,cheekpouch,bodyslam,earthquake,knockoff,swordsdance,Ghost": 384, "sitrusberry,cheekpouch,doubleedge,earthquake,knockoff,swordsdance,Ghost": 335}, + "greninja": {"lifeorb,protean,darkpulse,hydropump,icebeam,toxicspikes,Water": 24, "choicespecs,protean,darkpulse,hydropump,icebeam,uturn,Dark": 27, "choicespecs,protean,darkpulse,hydropump,icebeam,uturn,Water": 16, "choicespecs,protean,darkpulse,grassknot,hydropump,icebeam,Dark": 19, "lifeorb,protean,darkpulse,gunkshot,hydropump,icebeam,Dark": 28, "lifeorb,protean,darkpulse,grassknot,gunkshot,hydropump,Water": 19, "lifeorb,protean,darkpulse,grassknot,hydropump,toxicspikes,Water": 23, "lifeorb,protean,darkpulse,grassknot,hydropump,toxicspikes,Dark": 26, "choicespecs,protean,darkpulse,grassknot,hydropump,uturn,Dark": 25, "lifeorb,protean,darkpulse,grassknot,gunkshot,hydropump,Poison": 42, "lifeorb,protean,darkpulse,gunkshot,hydropump,uturn,Dark": 24, "lifeorb,protean,darkpulse,gunkshot,hydropump,toxicspikes,Dark": 23, "choicespecs,protean,darkpulse,grassknot,hydropump,icebeam,Water": 19, "lifeorb,protean,darkpulse,grassknot,gunkshot,hydropump,Dark": 21, "lifeorb,protean,darkpulse,gunkshot,hydropump,toxicspikes,Poison": 47, "lifeorb,protean,darkpulse,gunkshot,hydropump,uturn,Poison": 47, "lifeorb,protean,darkpulse,gunkshot,hydropump,uturn,Water": 25, "lifeorb,protean,darkpulse,gunkshot,hydropump,toxicspikes,Water": 21, "lifeorb,protean,darkpulse,hydropump,icebeam,toxicspikes,Dark": 23, "choicespecs,protean,darkpulse,grassknot,hydropump,uturn,Water": 13, "lifeorb,protean,darkpulse,hydropump,toxicspikes,uturn,Water": 18, "lifeorb,protean,darkpulse,gunkshot,hydropump,icebeam,Poison": 49, "lifeorb,protean,darkpulse,hydropump,toxicspikes,uturn,Dark": 27, "lifeorb,protean,darkpulse,gunkshot,hydropump,icebeam,Water": 28}, + "greninjabond": {"lifeorb,battlebond,darkpulse,gunkshot,hydropump,icebeam,Water": 350, "lifeorb,battlebond,darkpulse,gunkshot,hydropump,icebeam,Poison": 331}, + "grimmsnarl": {"lightclay,prankster,lightscreen,reflect,spiritbreak,thunderwave,Steel": 183, "lightclay,prankster,lightscreen,reflect,spiritbreak,thunderwave,Poison": 190, "leftovers,prankster,partingshot,spiritbreak,suckerpunch,thunderwave,Poison": 132, "lightclay,prankster,lightscreen,partingshot,reflect,spiritbreak,Poison": 176, "leftovers,prankster,partingshot,spiritbreak,suckerpunch,thunderwave,Steel": 124, "leftovers,prankster,spiritbreak,suckerpunch,taunt,thunderwave,Poison": 130, "leftovers,prankster,partingshot,spiritbreak,suckerpunch,taunt,Poison": 124, "lightclay,prankster,lightscreen,partingshot,reflect,spiritbreak,Steel": 180, "leftovers,prankster,spiritbreak,suckerpunch,taunt,thunderwave,Steel": 125, "leftovers,prankster,partingshot,spiritbreak,suckerpunch,taunt,Steel": 144}, + "groudon": {"leftovers,drought,heatcrash,precipiceblades,roar,stoneedge,Fire": 59, "leftovers,drought,heatcrash,precipiceblades,swordsdance,thunderwave,Fire": 372, "leftovers,drought,heatcrash,precipiceblades,stoneedge,swordsdance,Fire": 394, "leftovers,drought,heatcrash,precipiceblades,spikes,thunderwave,Fire": 59, "leftovers,drought,heatcrash,precipiceblades,stoneedge,willowisp,Fire": 74, "leftovers,drought,heatcrash,precipiceblades,stoneedge,thunderwave,Fire": 66, "leftovers,drought,heatcrash,precipiceblades,stealthrock,willowisp,Fire": 48, "leftovers,drought,heatcrash,precipiceblades,stealthrock,stoneedge,Fire": 41, "leftovers,drought,heatcrash,precipiceblades,roar,willowisp,Fire": 58, "leftovers,drought,heatcrash,precipiceblades,roar,spikes,Fire": 54, "leftovers,drought,heatcrash,precipiceblades,spikes,willowisp,Fire": 65, "leftovers,drought,heatcrash,precipiceblades,roar,thunderwave,Fire": 56, "leftovers,drought,heatcrash,precipiceblades,roar,stealthrock,Fire": 35, "leftovers,drought,heatcrash,precipiceblades,spikes,stealthrock,Fire": 31, "leftovers,drought,heatcrash,precipiceblades,spikes,stoneedge,Fire": 51, "leftovers,drought,heatcrash,precipiceblades,stealthrock,thunderwave,Fire": 53}, + "grumpig": {"choicescarf,thickfat,focusblast,psyshock,shadowball,trick,Ghost": 40, "choicespecs,thickfat,earthpower,focusblast,psychic,shadowball,Psychic": 32, "leftovers,thickfat,dazzlinggleam,nastyplot,psyshock,shadowball,Fairy": 46, "choicescarf,thickfat,earthpower,psychic,shadowball,trick,Psychic": 25, "choicescarf,thickfat,earthpower,psychic,shadowball,trick,Ground": 22, "choicescarf,thickfat,earthpower,focusblast,psychic,trick,Ground": 24, "leftovers,thickfat,earthpower,nastyplot,psychic,shadowball,Psychic": 38, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psychic,Ground": 43, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psychic,Fairy": 42, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psyshock,Fairy": 47, "leftovers,thickfat,earthpower,nastyplot,psychic,shadowball,Ground": 40, "choicescarf,thickfat,earthpower,psyshock,shadowball,trick,Ground": 32, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psychic,Psychic": 25, "choicescarf,thickfat,earthpower,focusblast,psyshock,trick,Ground": 41, "choicespecs,thickfat,earthpower,focusblast,psychic,shadowball,Fighting": 33, "choicescarf,thickfat,earthpower,focusblast,psyshock,trick,Fighting": 39, "choicespecs,thickfat,earthpower,focusblast,psyshock,shadowball,Ground": 29, "choicescarf,thickfat,focusblast,psychic,shadowball,trick,Fighting": 31, "choicescarf,thickfat,earthpower,focusblast,psychic,trick,Fighting": 34, "choicespecs,thickfat,earthpower,focusblast,psychic,shadowball,Ghost": 39, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psyshock,Ground": 49, "choicespecs,thickfat,earthpower,focusblast,psyshock,shadowball,Fighting": 37, "leftovers,thickfat,earthpower,nastyplot,psyshock,shadowball,Psychic": 34, "leftovers,thickfat,earthpower,nastyplot,psyshock,shadowball,Ground": 45, "leftovers,thickfat,dazzlinggleam,nastyplot,psyshock,shadowball,Ghost": 48, "leftovers,thickfat,dazzlinggleam,nastyplot,psychic,shadowball,Psychic": 27, "choicespecs,thickfat,earthpower,focusblast,psyshock,shadowball,Psychic": 47, "leftovers,thickfat,dazzlinggleam,nastyplot,psychic,shadowball,Ghost": 36, "choicescarf,thickfat,earthpower,psyshock,shadowball,trick,Psychic": 21, "choicescarf,thickfat,earthpower,focusblast,psyshock,trick,Psychic": 24, "choicespecs,thickfat,earthpower,focusblast,psyshock,shadowball,Ghost": 28, "choicescarf,thickfat,earthpower,psychic,shadowball,trick,Ghost": 28, "leftovers,thickfat,dazzlinggleam,nastyplot,psyshock,shadowball,Psychic": 36, "leftovers,thickfat,dazzlinggleam,earthpower,nastyplot,psyshock,Psychic": 29, "choicescarf,thickfat,focusblast,psychic,shadowball,trick,Ghost": 31, "choicescarf,thickfat,focusblast,psyshock,shadowball,trick,Fighting": 25, "choicescarf,thickfat,focusblast,psychic,shadowball,trick,Psychic": 16, "leftovers,thickfat,earthpower,nastyplot,psyshock,shadowball,Ghost": 48, "leftovers,thickfat,earthpower,nastyplot,psychic,shadowball,Ghost": 45, "leftovers,thickfat,dazzlinggleam,nastyplot,psychic,shadowball,Fairy": 47, "choicescarf,thickfat,earthpower,focusblast,psychic,trick,Psychic": 16, "choicescarf,thickfat,focusblast,psyshock,shadowball,trick,Psychic": 20, "choicespecs,thickfat,earthpower,focusblast,psychic,shadowball,Ground": 25, "choicescarf,thickfat,earthpower,psyshock,shadowball,trick,Ghost": 41}, + "gumshoos": {"choiceband,stakeout,doubleedge,earthquake,knockoff,uturn,Normal": 741, "choiceband,adaptability,doubleedge,earthquake,knockoff,uturn,Ground": 362, "choiceband,stakeout,doubleedge,earthquake,knockoff,uturn,Ground": 346}, + "gurdurr": {"eviolite,guts,bulkup,drainpunch,knockoff,machpunch,Steel": 838, "eviolite,guts,defog,drainpunch,knockoff,machpunch,Steel": 639}, + "gyarados": {"heavydutyboots,moxie,dragondance,earthquake,terablast,waterfall,Flying": 318, "heavydutyboots,intimidate,dragondance,earthquake,terablast,waterfall,Flying": 310, "heavydutyboots,moxie,dragondance,earthquake,stoneedge,waterfall,Ground": 185, "heavydutyboots,moxie,dragondance,earthquake,temperflare,waterfall,Ground": 206, "heavydutyboots,intimidate,dragondance,earthquake,stoneedge,waterfall,Ground": 176, "heavydutyboots,intimidate,dragondance,earthquake,temperflare,waterfall,Ground": 204}, + "hariyama": {"assaultvest,thickfat,closecombat,headlongrush,heavyslam,knockoff,Steel": 273, "flameorb,guts,closecombat,facade,headlongrush,knockoff,Normal": 260, "assaultvest,thickfat,closecombat,heavyslam,knockoff,stoneedge,Steel": 252, "assaultvest,thickfat,bulletpunch,closecombat,heavyslam,knockoff,Steel": 273, "flameorb,guts,closecombat,facade,fakeout,knockoff,Normal": 228, "flameorb,guts,bulletpunch,closecombat,facade,knockoff,Normal": 254}, + "hatterene": {"assaultvest,magicbounce,drainingkiss,mysticalfire,nuzzle,psychic,Steel": 175, "assaultvest,magicbounce,drainingkiss,mysticalfire,nuzzle,psychicnoise,Steel": 179, "assaultvest,magicbounce,drainingkiss,mysticalfire,nuzzle,psychicnoise,Fairy": 186, "leftovers,magicbounce,calmmind,drainingkiss,mysticalfire,psychic,Steel": 196, "leftovers,magicbounce,calmmind,drainingkiss,mysticalfire,psyshock,Steel": 191, "leftovers,magicbounce,calmmind,drainingkiss,mysticalfire,psyshock,Fairy": 172, "assaultvest,magicbounce,drainingkiss,mysticalfire,nuzzle,psychic,Fairy": 177, "leftovers,magicbounce,calmmind,drainingkiss,mysticalfire,psychic,Fairy": 190}, + "hawlucha": {"whiteherb,unburden,acrobatics,closecombat,swordsdance,throatchop,Fighting": 86, "whiteherb,unburden,bravebird,closecombat,swordsdance,throatchop,Flying": 91, "whiteherb,unburden,acrobatics,bravebird,closecombat,swordsdance,Flying": 167, "whiteherb,unburden,acrobatics,closecombat,swordsdance,throatchop,Flying": 86, "whiteherb,unburden,acrobatics,bravebird,closecombat,swordsdance,Fighting": 190, "whiteherb,unburden,acrobatics,closecombat,encore,swordsdance,Fighting": 94, "whiteherb,unburden,acrobatics,closecombat,stoneedge,swordsdance,Fighting": 80, "whiteherb,unburden,bravebird,closecombat,stoneedge,swordsdance,Flying": 82, "whiteherb,unburden,bravebird,closecombat,encore,swordsdance,Flying": 75, "whiteherb,unburden,acrobatics,closecombat,encore,swordsdance,Flying": 91, "whiteherb,unburden,bravebird,closecombat,encore,swordsdance,Fighting": 99, "whiteherb,unburden,bravebird,closecombat,stoneedge,swordsdance,Fighting": 67, "whiteherb,unburden,bravebird,closecombat,swordsdance,throatchop,Fighting": 60, "whiteherb,unburden,acrobatics,closecombat,stoneedge,swordsdance,Flying": 78}, + "haxorus": {"lumberry,moldbreaker,closecombat,dragondance,ironhead,outrage,Steel": 376, "loadeddice,moldbreaker,earthquake,ironhead,scaleshot,swordsdance,Steel": 342, "lumberry,moldbreaker,dragondance,earthquake,ironhead,outrage,Steel": 388, "loadeddice,moldbreaker,closecombat,ironhead,scaleshot,swordsdance,Steel": 383}, + "heatran": {"airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock,Flying": 101, "airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock,Grass": 91, "airballoon,flashfire,earthpower,heavyslam,magmastorm,stealthrock,Flying": 85, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,magmastorm,Steel": 32, "airballoon,flashfire,earthpower,heavyslam,magmastorm,stealthrock,Grass": 93, "airballoon,flashfire,earthpower,flashcannon,lavaplume,stealthrock,Steel": 94, "airballoon,flashfire,earthpower,heavyslam,magmastorm,stealthrock,Steel": 109, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,lavaplume,Steel": 25, "airballoon,flashfire,earthpower,heavyslam,lavaplume,stealthrock,Flying": 105, "airballoon,flashfire,earthpower,heavyslam,lavaplume,stealthrock,Steel": 86, "airballoon,flashfire,earthpower,flashcannon,magmastorm,stealthrock,Steel": 100, "airballoon,flashfire,earthpower,heavyslam,lavaplume,stealthrock,Grass": 72, "airballoon,flashfire,earthpower,flashcannon,magmastorm,stealthrock,Grass": 83, "airballoon,flashfire,earthpower,flashcannon,magmastorm,stealthrock,Flying": 93, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,lavaplume,Flying": 30, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,magmastorm,Grass": 25, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,lavaplume,Grass": 22, "assaultvest,flashfire,earthpower,flashcannon,heavyslam,magmastorm,Flying": 25}, + "heracross": {"flameorb,guts,closecombat,facade,knockoff,trailblaze,Normal": 668, "choiceband,moxie,closecombat,earthquake,knockoff,megahorn,Bug": 34, "choiceband,moxie,closecombat,earthquake,megahorn,stoneedge,Rock": 56, "choicescarf,moxie,closecombat,knockoff,megahorn,stoneedge,Bug": 39, "choiceband,moxie,closecombat,knockoff,megahorn,stoneedge,Rock": 55, "choiceband,moxie,closecombat,knockoff,megahorn,stoneedge,Bug": 36, "choicescarf,moxie,closecombat,earthquake,knockoff,megahorn,Fighting": 43, "choiceband,moxie,closecombat,earthquake,megahorn,stoneedge,Fighting": 36, "choicescarf,moxie,closecombat,earthquake,megahorn,stoneedge,Rock": 64, "choiceband,moxie,closecombat,knockoff,megahorn,stoneedge,Fighting": 38, "choicescarf,moxie,closecombat,earthquake,megahorn,stoneedge,Bug": 36, "choicescarf,moxie,closecombat,knockoff,megahorn,stoneedge,Rock": 57, "choiceband,moxie,closecombat,earthquake,knockoff,megahorn,Fighting": 42, "choicescarf,moxie,closecombat,knockoff,megahorn,stoneedge,Fighting": 34, "choicescarf,moxie,closecombat,earthquake,megahorn,stoneedge,Fighting": 37, "choiceband,moxie,closecombat,earthquake,megahorn,stoneedge,Bug": 44, "choicescarf,moxie,closecombat,earthquake,knockoff,megahorn,Bug": 42}, + "hippowdon": {"leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind,Dragon": 29, "leftovers,sandstream,curse,earthquake,slackoff,stoneedge,Rock": 378, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,stoneedge,Steel": 37, "leftovers,sandstream,curse,earthquake,slackoff,stoneedge,Steel": 357, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,stoneedge,Dragon": 33, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind,Steel": 42, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,whirlwind,Steel": 49, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind,Steel": 39, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,whirlwind,Dragon": 59, "leftovers,sandstream,earthquake,slackoff,stealthrock,whirlwind,Rock": 29, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,whirlwind,Dragon": 37, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind,Dragon": 47, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge,Rock": 43, "leftovers,sandstream,earthquake,slackoff,stoneedge,whirlwind,Rock": 67, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,whirlwind,Steel": 41, "rockyhelmet,sandstream,earthquake,slackoff,stoneedge,whirlwind,Rock": 33, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge,Dragon": 37, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,stoneedge,Rock": 28, "rockyhelmet,sandstream,earthquake,slackoff,stealthrock,whirlwind,Rock": 37, "leftovers,sandstream,earthquake,slackoff,stealthrock,stoneedge,Steel": 26}, + "hitmonchan": {"leftovers,ironfist,bulkup,drainpunch,knockoff,rapidspin,Steel": 87, "leftovers,ironfist,bulkup,drainpunch,knockoff,poisonjab,Steel": 150, "leftovers,ironfist,bulkup,drainpunch,knockoff,poisonjab,Poison": 245, "leftovers,innerfocus,closecombat,knockoff,rapidspin,swordsdance,Fighting": 36, "lifeorb,ironfist,closecombat,knockoff,machpunch,swordsdance,Fighting": 73, "leftovers,ironfist,bulkup,drainpunch,knockoff,poisonjab,Dark": 110, "lifeorb,ironfist,drainpunch,knockoff,machpunch,swordsdance,Dark": 66, "lifeorb,ironfist,closecombat,icepunch,knockoff,swordsdance,Dark": 62, "leftovers,ironfist,drainpunch,knockoff,rapidspin,swordsdance,Dark": 59, "leftovers,ironfist,bulkup,drainpunch,knockoff,rapidspin,Dark": 88, "lifeorb,ironfist,drainpunch,icepunch,knockoff,swordsdance,Dark": 61, "leftovers,innerfocus,closecombat,knockoff,rapidspin,swordsdance,Dark": 53, "lifeorb,ironfist,closecombat,icepunch,knockoff,swordsdance,Fighting": 66, "leftovers,ironfist,drainpunch,knockoff,rapidspin,swordsdance,Fighting": 50, "lifeorb,ironfist,closecombat,knockoff,machpunch,swordsdance,Dark": 70, "lifeorb,ironfist,drainpunch,knockoff,machpunch,swordsdance,Fighting": 60, "lifeorb,ironfist,drainpunch,icepunch,knockoff,swordsdance,Fighting": 72}, + "hitmonlee": {"whiteherb,unburden,closecombat,knockoff,stoneedge,swordsdance,Dark": 123, "whiteherb,unburden,closecombat,knockoff,stoneedge,swordsdance,Fighting": 129, "whiteherb,unburden,closecombat,knockoff,poisonjab,swordsdance,Fighting": 135, "choicescarf,reckless,highjumpkick,knockoff,poisonjab,stoneedge,Fighting": 140, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge,Fighting": 124, "choiceband,reckless,highjumpkick,knockoff,machpunch,poisonjab,Fighting": 241, "whiteherb,unburden,closecombat,knockoff,poisonjab,swordsdance,Poison": 281, "choiceband,reckless,highjumpkick,knockoff,machpunch,stoneedge,Fighting": 224, "whiteherb,unburden,closecombat,knockoff,poisonjab,swordsdance,Dark": 118}, + "hitmontop": {"leftovers,technician,bulkup,closecombat,rapidspin,tripleaxel,Ice": 714, "assaultvest,intimidate,closecombat,earthquake,rapidspin,suckerpunch,Steel": 195, "assaultvest,intimidate,closecombat,rapidspin,stoneedge,suckerpunch,Steel": 216, "assaultvest,intimidate,closecombat,earthquake,rapidspin,stoneedge,Steel": 195, "choiceband,intimidate,closecombat,earthquake,stoneedge,suckerpunch,Steel": 112}, + "hooh": {"heavydutyboots,regenerator,bravebird,earthquake,recover,sacredfire,Ground": 644, "heavydutyboots,regenerator,bravebird,earthquake,recover,sacredfire,Steel": 666}, + "honchkrow": {"heavydutyboots,moxie,bravebird,lashout,suckerpunch,thunderwave,Dark": 166, "heavydutyboots,moxie,bravebird,heatwave,suckerpunch,uturn,Dark": 348, "heavydutyboots,moxie,bravebird,heatwave,suckerpunch,uturn,Flying": 357, "heavydutyboots,moxie,bravebird,heatwave,lashout,suckerpunch,Dark": 155, "heavydutyboots,moxie,bravebird,lashout,suckerpunch,thunderwave,Flying": 169, "heavydutyboots,moxie,bravebird,heatwave,lashout,suckerpunch,Flying": 184}, + "hoopa": {"choicescarf,magician,focusblast,psychic,shadowball,trick,Psychic": 62, "lifeorb,magician,focusblast,nastyplot,psychic,shadowball,Psychic": 62, "lifeorb,magician,focusblast,nastyplot,psyshock,shadowball,Fighting": 58, "lifeorb,magician,focusblast,nastyplot,psychic,shadowball,Ghost": 64, "choicescarf,magician,focusblast,psyshock,shadowball,trick,Ghost": 63, "choicescarf,magician,focusblast,psyshock,shadowball,trick,Fighting": 60, "lifeorb,magician,focusblast,nastyplot,psychic,shadowball,Fighting": 53, "lifeorb,magician,focusblast,nastyplot,psyshock,shadowball,Psychic": 61, "choicescarf,magician,focusblast,psychic,shadowball,trick,Ghost": 75, "choicescarf,magician,focusblast,psychic,shadowball,trick,Fighting": 58, "lifeorb,magician,focusblast,nastyplot,psyshock,shadowball,Ghost": 59, "choicescarf,magician,focusblast,psyshock,shadowball,trick,Psychic": 63}, + "hoopaunbound": {"assaultvest,magician,focusblast,gunkshot,hyperspacefury,psychic,Fighting": 73, "assaultvest,magician,focusblast,gunkshot,hyperspacefury,psychic,Poison": 81, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,trick,Poison": 44, "choicescarf,magician,focusblast,hyperspacefury,psychic,trick,Fighting": 87, "choiceband,magician,gunkshot,hyperspacefury,trick,zenheadbutt,Dark": 26, "choicescarf,magician,gunkshot,hyperspacefury,psychic,trick,Poison": 88, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,zenheadbutt,Dark": 46, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,zenheadbutt,Poison": 31, "choiceband,magician,drainpunch,hyperspacefury,trick,zenheadbutt,Fighting": 33, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,zenheadbutt,Fighting": 52, "choiceband,magician,gunkshot,hyperspacefury,trick,zenheadbutt,Poison": 49, "choiceband,magician,drainpunch,hyperspacefury,trick,zenheadbutt,Dark": 29, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,trick,Dark": 31, "choiceband,magician,drainpunch,gunkshot,hyperspacefury,trick,Fighting": 30}, + "houndoom": {"heavydutyboots,flashfire,darkpulse,fireblast,sludgebomb,suckerpunch,Poison": 220, "heavydutyboots,flashfire,darkpulse,fireblast,nastyplot,sludgebomb,Dark": 165, "heavydutyboots,flashfire,darkpulse,fireblast,nastyplot,suckerpunch,Dark": 142, "heavydutyboots,flashfire,darkpulse,fireblast,nastyplot,sludgebomb,Poison": 223, "heavydutyboots,flashfire,darkpulse,fireblast,nastyplot,suckerpunch,Fire": 159, "heavydutyboots,flashfire,darkpulse,fireblast,nastyplot,sludgebomb,Fire": 157, "heavydutyboots,flashfire,darkpulse,fireblast,sludgebomb,suckerpunch,Dark": 138, "heavydutyboots,flashfire,darkpulse,fireblast,sludgebomb,suckerpunch,Fire": 160}, + "houndstone": {"assaultvest,fluffy,bodypress,playrough,poltergeist,shadowsneak,Fighting": 258, "leftovers,fluffy,bodypress,poltergeist,rest,sleeptalk,Fighting": 484, "choiceband,fluffy,bodypress,poltergeist,shadowsneak,trick,Fighting": 138, "choiceband,fluffy,bodypress,playrough,poltergeist,shadowsneak,Fighting": 117, "leftovers,fluffy,bodypress,poltergeist,shadowsneak,willowisp,Fighting": 123, "leftovers,fluffy,bodypress,poltergeist,roar,shadowsneak,Fighting": 116, "assaultvest,fluffy,bodypress,playrough,poltergeist,shadowsneak,Fairy": 250}, + "hydrapple": {"leftovers,regenerator,earthpower,ficklebeam,nastyplot,recover,Steel": 113, "assaultvest,regenerator,dragontail,earthpower,ficklebeam,gigadrain,Steel": 220, "assaultvest,regenerator,dragontail,earthpower,ficklebeam,leafstorm,Steel": 228, "lifeorb,regenerator,earthpower,ficklebeam,gigadrain,nastyplot,Steel": 198, "choicespecs,regenerator,dracometeor,earthpower,ficklebeam,leafstorm,Dragon": 190, "choicespecs,regenerator,dracometeor,earthpower,ficklebeam,leafstorm,Steel": 200, "leftovers,regenerator,ficklebeam,gigadrain,nastyplot,recover,Steel": 119}, + "hydreigon": {"lifeorb,levitate,darkpulse,dracometeor,flashcannon,nastyplot,Dragon": 99, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn,Dragon": 78, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon,Fire": 49, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn,Fire": 120, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon,Steel": 61, "lifeorb,levitate,darkpulse,dracometeor,fireblast,nastyplot,Dragon": 59, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn,Dragon": 64, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,nastyplot,Steel": 116, "choicespecs,levitate,darkpulse,dracometeor,fireblast,uturn,Dark": 71, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn,Dark": 67, "lifeorb,levitate,darkpulse,dracometeor,flashcannon,nastyplot,Dark": 70, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon,Fire": 54, "lifeorb,levitate,darkpulse,dracometeor,fireblast,nastyplot,Fire": 109, "lifeorb,levitate,darkpulse,dracometeor,fireblast,nastyplot,Dark": 75, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon,Dragon": 37, "choicespecs,levitate,darkpulse,dracometeor,flashcannon,uturn,Steel": 103, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon,Dark": 27, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon,Steel": 49, "choicespecs,levitate,darkpulse,dracometeor,fireblast,flashcannon,Dragon": 23, "choicescarf,levitate,darkpulse,dracometeor,fireblast,flashcannon,Dark": 35}, + "hypno": {"leftovers,insomnia,encore,knockoff,psychicnoise,thunderwave,Dark": 105, "leftovers,insomnia,encore,knockoff,psychicnoise,toxic,Fairy": 155, "leftovers,insomnia,focusblast,protect,psychicnoise,toxic,Dark": 235, "leftovers,insomnia,encore,knockoff,psychicnoise,toxic,Dark": 143, "leftovers,insomnia,encore,knockoff,psychicnoise,toxic,Steel": 125, "leftovers,insomnia,encore,knockoff,psychicnoise,thunderwave,Steel": 115, "leftovers,insomnia,focusblast,protect,psychicnoise,toxic,Fighting": 241, "leftovers,insomnia,focusblast,protect,psychicnoise,toxic,Steel": 242, "leftovers,insomnia,encore,knockoff,psychicnoise,thunderwave,Fairy": 125}, + "illumise": {"heavydutyboots,prankster,bugbuzz,encore,roost,thunderwave,Water": 740, "heavydutyboots,prankster,bugbuzz,encore,roost,thunderwave,Steel": 704}, + "incineroar": {"heavydutyboots,intimidate,flareblitz,knockoff,swordsdance,trailblaze,Grass": 476, "assaultvest,intimidate,closecombat,knockoff,overheat,uturn,Water": 114, "choicescarf,intimidate,closecombat,earthquake,flareblitz,knockoff,Water": 29, "assaultvest,intimidate,closecombat,knockoff,overheat,uturn,Fighting": 233, "heavydutyboots,intimidate,closecombat,flareblitz,knockoff,willowisp,Fighting": 76, "heavydutyboots,intimidate,closecombat,flareblitz,knockoff,partingshot,Water": 45, "choiceband,intimidate,closecombat,earthquake,flareblitz,knockoff,Fighting": 35, "heavydutyboots,intimidate,earthquake,flareblitz,knockoff,willowisp,Water": 29, "assaultvest,intimidate,fakeout,knockoff,overheat,uturn,Water": 98, "heavydutyboots,intimidate,closecombat,flareblitz,knockoff,willowisp,Water": 28, "heavydutyboots,intimidate,closecombat,flareblitz,knockoff,partingshot,Fighting": 69, "heavydutyboots,intimidate,earthquake,flareblitz,knockoff,partingshot,Water": 36, "choicescarf,intimidate,closecombat,earthquake,flareblitz,knockoff,Fighting": 30, "choiceband,intimidate,closecombat,earthquake,flareblitz,knockoff,Water": 14, "heavydutyboots,intimidate,flareblitz,knockoff,partingshot,willowisp,Water": 43}, + "indeedee": {"lifeorb,psychicsurge,calmmind,dazzlinggleam,expandingforce,hypervoice,Psychic": 135, "choicescarf,psychicsurge,dazzlinggleam,expandingforce,hypervoice,shadowball,Psychic": 56, "lifeorb,psychicsurge,calmmind,expandingforce,hypervoice,shadowball,Psychic": 148, "choicescarf,psychicsurge,expandingforce,healingwish,hypervoice,shadowball,Psychic": 161, "choicespecs,psychicsurge,dazzlinggleam,expandingforce,hypervoice,shadowball,Psychic": 47, "choicescarf,psychicsurge,dazzlinggleam,expandingforce,healingwish,hypervoice,Psychic": 153}, + "indeedeef": {"lifeorb,psychicsurge,calmmind,dazzlinggleam,hypervoice,psychic,Psychic": 38, "choicescarf,psychicsurge,dazzlinggleam,healingwish,hypervoice,psychic,Fairy": 60, "choicescarf,psychicsurge,healingwish,hypervoice,psychic,shadowball,Psychic": 45, "lifeorb,psychicsurge,calmmind,dazzlinggleam,hypervoice,psyshock,Fairy": 60, "lifeorb,psychicsurge,calmmind,dazzlinggleam,hypervoice,psychic,Fairy": 62, "lifeorb,psychicsurge,calmmind,hypervoice,psyshock,shadowball,Psychic": 40, "choicescarf,psychicsurge,dazzlinggleam,healingwish,hypervoice,psyshock,Fairy": 59, "choicespecs,psychicsurge,dazzlinggleam,hypervoice,psyshock,shadowball,Fairy": 62, "lifeorb,psychicsurge,calmmind,hypervoice,psychic,shadowball,Psychic": 50, "choicescarf,psychicsurge,dazzlinggleam,healingwish,hypervoice,psychic,Psychic": 44, "choicespecs,psychicsurge,dazzlinggleam,hypervoice,psychic,shadowball,Psychic": 31, "choicespecs,psychicsurge,dazzlinggleam,hypervoice,psychic,shadowball,Fairy": 53, "choicespecs,psychicsurge,dazzlinggleam,hypervoice,psyshock,shadowball,Psychic": 34, "lifeorb,psychicsurge,calmmind,dazzlinggleam,hypervoice,psyshock,Psychic": 44, "choicescarf,psychicsurge,dazzlinggleam,healingwish,hypervoice,psyshock,Psychic": 45, "choicescarf,psychicsurge,healingwish,hypervoice,psyshock,shadowball,Psychic": 33}, + "infernape": {"lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance,Fire": 23, "lifeorb,blaze,closecombat,gunkshot,overheat,stoneedge,Fire": 20, "lifeorb,ironfist,closecombat,machpunch,overheat,stoneedge,Fighting": 10, "choiceband,blaze,closecombat,flareblitz,knockoff,uturn,Dark": 21, "choiceband,blaze,closecombat,flareblitz,knockoff,stoneedge,Fighting": 8, "lifeorb,blaze,closecombat,grassknot,gunkshot,overheat,Fighting": 29, "lifeorb,blaze,closecombat,gunkshot,overheat,stoneedge,Fighting": 22, "choiceband,blaze,closecombat,flareblitz,knockoff,machpunch,Dark": 31, "lifeorb,ironfist,closecombat,gunkshot,machpunch,overheat,Fighting": 10, "choiceband,blaze,closecombat,flareblitz,knockoff,stoneedge,Fire": 13, "choicescarf,blaze,closecombat,flareblitz,knockoff,uturn,Dark": 22, "lifeorb,blaze,closecombat,flareblitz,gunkshot,swordsdance,Fire": 22, "choicescarf,blaze,closecombat,flareblitz,knockoff,stoneedge,Dark": 22, "lifeorb,blaze,closecombat,flareblitz,stoneedge,swordsdance,Fighting": 12, "choiceband,blaze,closecombat,flareblitz,gunkshot,knockoff,Fighting": 11, "lifeorb,blaze,closecombat,flareblitz,knockoff,swordsdance,Fighting": 14, "lifeorb,blaze,closecombat,gunkshot,knockoff,overheat,Dark": 49, "choiceband,ironfist,closecombat,flareblitz,knockoff,machpunch,Dark": 19, "lifeorb,blaze,closecombat,gunkshot,knockoff,overheat,Fighting": 16, "lifeorb,blaze,closecombat,grassknot,knockoff,overheat,Dark": 62, "choicescarf,blaze,closecombat,flareblitz,gunkshot,uturn,Fire": 11, "lifeorb,blaze,closecombat,knockoff,overheat,stoneedge,Dark": 51, "lifeorb,blaze,closecombat,grassknot,knockoff,overheat,Fire": 27, "lifeorb,blaze,closecombat,grassknot,knockoff,overheat,Fighting": 25, "lifeorb,blaze,closecombat,grassknot,machpunch,overheat,Fighting": 16, "lifeorb,blaze,closecombat,grassknot,overheat,stoneedge,Fire": 24, "lifeorb,blaze,closecombat,flareblitz,knockoff,swordsdance,Dark": 48, "lifeorb,blaze,closecombat,gunkshot,knockoff,overheat,Fire": 20, "choiceband,blaze,closecombat,flareblitz,gunkshot,uturn,Fire": 11, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn,Fire": 7, "choiceband,blaze,closecombat,flareblitz,gunkshot,machpunch,Fire": 12, "lifeorb,ironfist,closecombat,flareblitz,machpunch,swordsdance,Fire": 9, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge,Fighting": 5, "choicescarf,blaze,closecombat,flareblitz,knockoff,stoneedge,Fire": 14, "lifeorb,ironfist,closecombat,gunkshot,machpunch,overheat,Fire": 18, "choiceband,blaze,closecombat,flareblitz,knockoff,uturn,Fire": 8, "choiceband,blaze,closecombat,flareblitz,knockoff,uturn,Fighting": 10, "lifeorb,blaze,closecombat,knockoff,machpunch,overheat,Fire": 8, "lifeorb,blaze,closecombat,gunkshot,machpunch,overheat,Fighting": 8, "lifeorb,blaze,closecombat,knockoff,machpunch,overheat,Dark": 29, "choiceband,blaze,closecombat,flareblitz,gunkshot,machpunch,Fighting": 5, "lifeorb,blaze,closecombat,grassknot,overheat,stoneedge,Fighting": 25, "choiceband,ironfist,closecombat,flareblitz,gunkshot,machpunch,Fighting": 5, "lifeorb,ironfist,closecombat,grassknot,machpunch,overheat,Fire": 10, "lifeorb,ironfist,closecombat,knockoff,machpunch,overheat,Fighting": 5, "lifeorb,blaze,closecombat,knockoff,overheat,stoneedge,Fighting": 19, "choicescarf,blaze,closecombat,flareblitz,knockoff,stoneedge,Fighting": 5, "lifeorb,blaze,closecombat,grassknot,gunkshot,overheat,Fire": 28, "lifeorb,blaze,closecombat,grassknot,machpunch,overheat,Fire": 11, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance,Fire": 10, "choiceband,ironfist,closecombat,flareblitz,machpunch,uturn,Fighting": 11, "choicescarf,blaze,closecombat,flareblitz,gunkshot,knockoff,Dark": 23, "lifeorb,blaze,closecombat,flareblitz,knockoff,swordsdance,Fire": 25, "lifeorb,ironfist,closecombat,knockoff,machpunch,overheat,Dark": 32, "choiceband,blaze,closecombat,flareblitz,knockoff,stoneedge,Dark": 27, "lifeorb,blaze,closecombat,knockoff,machpunch,overheat,Fighting": 18, "choiceband,ironfist,closecombat,flareblitz,gunkshot,machpunch,Fire": 8, "lifeorb,blaze,closecombat,knockoff,overheat,stoneedge,Fire": 28, "choiceband,blaze,closecombat,flareblitz,machpunch,stoneedge,Fire": 8, "choiceband,blaze,closecombat,flareblitz,stoneedge,uturn,Fighting": 6, "choicescarf,blaze,closecombat,flareblitz,gunkshot,knockoff,Fighting": 15, "choiceband,ironfist,closecombat,flareblitz,machpunch,uturn,Fire": 5, "choicescarf,blaze,closecombat,flareblitz,gunkshot,knockoff,Fire": 6, "lifeorb,ironfist,closecombat,flareblitz,machpunch,swordsdance,Fighting": 9, "choicescarf,blaze,closecombat,flareblitz,knockoff,uturn,Fire": 7, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn,Fire": 7, "choiceband,blaze,closecombat,flareblitz,gunkshot,stoneedge,Fire": 10, "lifeorb,blaze,closecombat,flareblitz,gunkshot,swordsdance,Fighting": 12, "lifeorb,blaze,closecombat,gunkshot,machpunch,overheat,Fire": 11, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn,Fire": 12, "lifeorb,ironfist,closecombat,knockoff,machpunch,overheat,Fire": 13, "choicescarf,blaze,closecombat,flareblitz,gunkshot,stoneedge,Fire": 9, "lifeorb,ironfist,closecombat,machpunch,overheat,stoneedge,Fire": 12, "lifeorb,blaze,closecombat,machpunch,overheat,stoneedge,Fighting": 7, "choiceband,blaze,closecombat,flareblitz,gunkshot,knockoff,Dark": 24, "choicescarf,blaze,closecombat,flareblitz,stoneedge,uturn,Fighting": 9, "choiceband,ironfist,closecombat,flareblitz,machpunch,stoneedge,Fighting": 7, "lifeorb,blaze,closecombat,flareblitz,machpunch,swordsdance,Fighting": 5, "choicescarf,blaze,closecombat,flareblitz,gunkshot,uturn,Fighting": 7, "choiceband,ironfist,closecombat,flareblitz,machpunch,stoneedge,Fire": 8, "lifeorb,ironfist,closecombat,grassknot,machpunch,overheat,Fighting": 15, "choiceband,blaze,closecombat,flareblitz,knockoff,machpunch,Fighting": 14, "choiceband,blaze,closecombat,flareblitz,machpunch,uturn,Fighting": 10, "choicescarf,blaze,closecombat,flareblitz,knockoff,uturn,Fighting": 10, "lifeorb,blaze,closecombat,machpunch,overheat,stoneedge,Fire": 6, "choicescarf,blaze,closecombat,flareblitz,gunkshot,stoneedge,Fighting": 6, "choiceband,blaze,closecombat,flareblitz,gunkshot,knockoff,Fire": 4, "choiceband,blaze,closecombat,flareblitz,gunkshot,stoneedge,Fighting": 9, "choiceband,blaze,closecombat,flareblitz,gunkshot,uturn,Fighting": 4, "choiceband,ironfist,closecombat,flareblitz,knockoff,machpunch,Fire": 4, "choiceband,blaze,closecombat,flareblitz,knockoff,machpunch,Fire": 7, "choiceband,ironfist,closecombat,flareblitz,knockoff,machpunch,Fighting": 3}, + "inteleon": {"choicespecs,torrent,hydropump,icebeam,scald,uturn,Water": 731, "choicespecs,torrent,darkpulse,hydropump,icebeam,uturn,Water": 753}, + "ironboulder": {"boosterenergy,quarkdrive,closecombat,mightycleave,swordsdance,zenheadbutt,Fighting": 581, "lifeorb,quarkdrive,closecombat,mightycleave,swordsdance,zenheadbutt,Fighting": 728}, + "ironbundle": {"heavydutyboots,quarkdrive,encore,freezedry,hydropump,icebeam,Ice": 182, "heavydutyboots,quarkdrive,encore,flipturn,freezedry,hydropump,Water": 58, "leftovers,quarkdrive,encore,freezedry,hydropump,substitute,Water": 71, "choicespecs,quarkdrive,flipturn,freezedry,hydropump,icebeam,Ice": 191, "choicespecs,quarkdrive,flipturn,freezedry,hydropump,icebeam,Water": 188, "heavydutyboots,quarkdrive,encore,flipturn,freezedry,hydropump,Ice": 61, "leftovers,quarkdrive,freezedry,hydropump,icebeam,substitute,Ice": 190, "leftovers,quarkdrive,freezedry,hydropump,icebeam,substitute,Water": 172, "heavydutyboots,quarkdrive,encore,freezedry,hydropump,icebeam,Water": 180, "leftovers,quarkdrive,encore,freezedry,hydropump,substitute,Ice": 86}, + "ironcrown": {"choicespecs,quarkdrive,focusblast,psyshock,tachyoncutter,voltswitch,Fighting": 339, "leftovers,quarkdrive,calmmind,focusblast,psyshock,tachyoncutter,Steel": 325, "choicespecs,quarkdrive,focusblast,psyshock,tachyoncutter,voltswitch,Steel": 340, "leftovers,quarkdrive,calmmind,focusblast,psyshock,tachyoncutter,Fighting": 343}, + "ironhands": {"assaultvest,quarkdrive,closecombat,icepunch,thunderpunch,voltswitch,Electric": 26, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,wildcharge,Fighting": 138, "assaultvest,quarkdrive,closecombat,fakeout,voltswitch,wildcharge,Fighting": 35, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,wildcharge,Flying": 109, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,wildcharge,Steel": 110, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,thunderpunch,Steel": 106, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,thunderpunch,Flying": 95, "assaultvest,quarkdrive,drainpunch,heavyslam,thunderpunch,voltswitch,Electric": 31, "assaultvest,quarkdrive,drainpunch,heavyslam,voltswitch,wildcharge,Fighting": 31, "leftovers,quarkdrive,drainpunch,icepunch,swordsdance,thunderpunch,Fighting": 128, "assaultvest,quarkdrive,drainpunch,icepunch,thunderpunch,voltswitch,Fighting": 29, "assaultvest,quarkdrive,drainpunch,fakeout,voltswitch,wildcharge,Electric": 43, "assaultvest,quarkdrive,closecombat,heavyslam,thunderpunch,voltswitch,Fighting": 25, "assaultvest,quarkdrive,drainpunch,heavyslam,voltswitch,wildcharge,Electric": 24, "assaultvest,quarkdrive,drainpunch,heavyslam,thunderpunch,voltswitch,Fighting": 31, "assaultvest,quarkdrive,drainpunch,icepunch,voltswitch,wildcharge,Electric": 42, "assaultvest,quarkdrive,closecombat,heavyslam,voltswitch,wildcharge,Electric": 25, "assaultvest,quarkdrive,closecombat,fakeout,thunderpunch,voltswitch,Fighting": 31, "assaultvest,quarkdrive,closecombat,heavyslam,thunderpunch,voltswitch,Electric": 27, "assaultvest,quarkdrive,closecombat,fakeout,voltswitch,wildcharge,Electric": 34, "assaultvest,quarkdrive,closecombat,fakeout,thunderpunch,voltswitch,Electric": 21, "assaultvest,quarkdrive,closecombat,icepunch,thunderpunch,voltswitch,Fighting": 31, "assaultvest,quarkdrive,closecombat,icepunch,voltswitch,wildcharge,Fighting": 35, "assaultvest,quarkdrive,drainpunch,icepunch,voltswitch,wildcharge,Fighting": 29, "assaultvest,quarkdrive,drainpunch,fakeout,thunderpunch,voltswitch,Fighting": 32, "assaultvest,quarkdrive,drainpunch,fakeout,voltswitch,wildcharge,Fighting": 20, "assaultvest,quarkdrive,drainpunch,icepunch,thunderpunch,voltswitch,Electric": 29, "assaultvest,quarkdrive,drainpunch,fakeout,thunderpunch,voltswitch,Electric": 34, "assaultvest,quarkdrive,closecombat,icepunch,voltswitch,wildcharge,Electric": 23, "assaultvest,quarkdrive,closecombat,heavyslam,voltswitch,wildcharge,Fighting": 26}, + "ironjugulis": {"powerherb,quarkdrive,darkpulse,earthpower,hurricane,meteorbeam,Dark": 344, "choicespecs,quarkdrive,darkpulse,hurricane,hydropump,uturn,Flying": 43, "choicespecs,quarkdrive,darkpulse,hurricane,hydropump,uturn,Dark": 37, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,hydropump,Ground": 83, "powerherb,quarkdrive,darkpulse,earthpower,hurricane,meteorbeam,Ground": 339, "choicespecs,quarkdrive,darkpulse,fireblast,hurricane,hydropump,Flying": 30, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,hydropump,Dark": 52, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,uturn,Ground": 81, "choicespecs,quarkdrive,darkpulse,fireblast,hurricane,uturn,Dark": 37, "choicespecs,quarkdrive,darkpulse,earthpower,fireblast,hurricane,Dark": 42, "choicespecs,quarkdrive,darkpulse,fireblast,hurricane,uturn,Flying": 38, "choicespecs,quarkdrive,darkpulse,earthpower,fireblast,hurricane,Ground": 72, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,uturn,Flying": 50, "choicespecs,quarkdrive,darkpulse,earthpower,fireblast,hurricane,Flying": 29, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,hydropump,Flying": 43, "choicespecs,quarkdrive,darkpulse,fireblast,hurricane,hydropump,Dark": 48, "choicespecs,quarkdrive,darkpulse,earthpower,hurricane,uturn,Dark": 31}, + "ironleaves": {"choiceband,quarkdrive,closecombat,leafblade,megahorn,psyblade,Fighting": 701, "lifeorb,quarkdrive,closecombat,leafblade,psyblade,swordsdance,Fighting": 652}, + "ironmoth": {"heavydutyboots,quarkdrive,energyball,fierydance,sludgewave,toxicspikes,Grass": 108, "heavydutyboots,quarkdrive,energyball,fierydance,sludgewave,toxicspikes,Fire": 47, "heavydutyboots,quarkdrive,fierydance,morningsun,sludgewave,toxicspikes,Fire": 51, "heavydutyboots,quarkdrive,fireblast,sludgewave,toxicspikes,uturn,Fire": 52, "heavydutyboots,quarkdrive,energyball,fireblast,sludgewave,toxicspikes,Grass": 103, "heavydutyboots,quarkdrive,energyball,fierydance,morningsun,sludgewave,Grass": 109, "choicespecs,quarkdrive,energyball,fireblast,sludgewave,uturn,Fire": 54, "choicespecs,quarkdrive,energyball,fierydance,sludgewave,uturn,Grass": 103, "choicespecs,quarkdrive,energyball,fierydance,sludgewave,uturn,Fire": 48, "heavydutyboots,quarkdrive,fireblast,morningsun,sludgewave,toxicspikes,Fire": 62, "choicespecs,quarkdrive,energyball,fireblast,sludgewave,uturn,Grass": 111, "heavydutyboots,quarkdrive,fierydance,morningsun,sludgewave,uturn,Fire": 74, "heavydutyboots,quarkdrive,fierydance,sludgewave,toxicspikes,uturn,Fire": 65, "heavydutyboots,quarkdrive,energyball,fierydance,morningsun,sludgewave,Fire": 72, "heavydutyboots,quarkdrive,energyball,fireblast,morningsun,sludgewave,Grass": 98, "heavydutyboots,quarkdrive,fireblast,morningsun,sludgewave,uturn,Fire": 65, "heavydutyboots,quarkdrive,energyball,fireblast,morningsun,sludgewave,Fire": 44, "heavydutyboots,quarkdrive,energyball,fireblast,sludgewave,toxicspikes,Fire": 55}, + "ironthorns": {"boosterenergy,quarkdrive,dragondance,icepunch,stoneedge,wildcharge,Flying": 56, "boosterenergy,quarkdrive,dragondance,icepunch,stoneedge,wildcharge,Grass": 67, "heavydutyboots,quarkdrive,spikes,stoneedge,voltswitch,wildcharge,Grass": 33, "assaultvest,quarkdrive,earthquake,stoneedge,voltswitch,wildcharge,Flying": 32, "boosterenergy,quarkdrive,dragondance,earthquake,stoneedge,wildcharge,Ground": 130, "boosterenergy,quarkdrive,dragondance,earthquake,stoneedge,wildcharge,Grass": 64, "choiceband,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Grass": 20, "boosterenergy,quarkdrive,dragondance,earthquake,stoneedge,wildcharge,Rock": 74, "airballoon,quarkdrive,icepunch,spikes,stoneedge,wildcharge,Water": 36, "assaultvest,quarkdrive,icepunch,stoneedge,voltswitch,wildcharge,Flying": 29, "assaultvest,quarkdrive,earthquake,stoneedge,voltswitch,wildcharge,Water": 28, "airballoon,quarkdrive,icepunch,spikes,stoneedge,wildcharge,Flying": 22, "choiceband,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Water": 17, "airballoon,quarkdrive,earthquake,stealthrock,stoneedge,wildcharge,Water": 17, "airballoon,quarkdrive,earthquake,spikes,stoneedge,wildcharge,Water": 27, "heavydutyboots,quarkdrive,spikes,stoneedge,voltswitch,wildcharge,Water": 25, "airballoon,quarkdrive,earthquake,spikes,stoneedge,wildcharge,Grass": 36, "airballoon,quarkdrive,icepunch,spikes,stoneedge,wildcharge,Grass": 35, "airballoon,quarkdrive,earthquake,stealthrock,stoneedge,wildcharge,Flying": 18, "airballoon,quarkdrive,earthquake,spikes,stoneedge,wildcharge,Flying": 22, "assaultvest,quarkdrive,icepunch,stoneedge,voltswitch,wildcharge,Grass": 26, "heavydutyboots,quarkdrive,spikes,stoneedge,voltswitch,wildcharge,Flying": 24, "boosterenergy,quarkdrive,dragondance,earthquake,stoneedge,wildcharge,Flying": 69, "choicescarf,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Water": 18, "airballoon,quarkdrive,icepunch,stealthrock,stoneedge,wildcharge,Flying": 19, "assaultvest,quarkdrive,icepunch,stoneedge,voltswitch,wildcharge,Water": 23, "airballoon,quarkdrive,spikes,stealthrock,stoneedge,wildcharge,Flying": 24, "airballoon,quarkdrive,earthquake,stealthrock,stoneedge,wildcharge,Grass": 21, "airballoon,quarkdrive,spikes,stealthrock,stoneedge,wildcharge,Grass": 27, "heavydutyboots,quarkdrive,stealthrock,stoneedge,voltswitch,wildcharge,Water": 22, "choicescarf,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Flying": 15, "boosterenergy,quarkdrive,dragondance,icepunch,stoneedge,wildcharge,Rock": 68, "airballoon,quarkdrive,spikes,stealthrock,stoneedge,wildcharge,Water": 24, "heavydutyboots,quarkdrive,stealthrock,stoneedge,voltswitch,wildcharge,Flying": 22, "assaultvest,quarkdrive,earthquake,stoneedge,voltswitch,wildcharge,Grass": 21, "heavydutyboots,quarkdrive,stealthrock,stoneedge,voltswitch,wildcharge,Grass": 19, "airballoon,quarkdrive,icepunch,stealthrock,stoneedge,wildcharge,Grass": 21, "choicescarf,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Grass": 15, "airballoon,quarkdrive,icepunch,stealthrock,stoneedge,wildcharge,Water": 25, "choiceband,quarkdrive,earthquake,icepunch,stoneedge,wildcharge,Flying": 13}, + "irontreads": {"leftovers,quarkdrive,earthquake,ironhead,knockoff,stealthrock,Steel": 28, "leftovers,quarkdrive,earthquake,ironhead,rapidspin,stealthrock,Ground": 166, "assaultvest,quarkdrive,earthquake,ironhead,knockoff,rapidspin,Steel": 195, "leftovers,quarkdrive,earthquake,ironhead,rapidspin,stealthrock,Steel": 183, "assaultvest,quarkdrive,earthquake,ironhead,rapidspin,voltswitch,Steel": 197, "leftovers,quarkdrive,earthquake,ironhead,stealthrock,voltswitch,Steel": 30, "assaultvest,quarkdrive,earthquake,ironhead,rapidspin,voltswitch,Ground": 200, "assaultvest,quarkdrive,earthquake,ironhead,knockoff,rapidspin,Ground": 196, "assaultvest,quarkdrive,earthquake,ironhead,knockoff,voltswitch,Ground": 31, "leftovers,quarkdrive,earthquake,ironhead,knockoff,stealthrock,Ground": 25, "assaultvest,quarkdrive,earthquake,ironhead,knockoff,voltswitch,Steel": 39, "leftovers,quarkdrive,earthquake,ironhead,stealthrock,voltswitch,Ground": 26}, + "ironvaliant": {"lifeorb,quarkdrive,closecombat,encore,knockoff,moonblast,Fairy": 122, "lifeorb,quarkdrive,closecombat,encore,knockoff,moonblast,Dark": 113, "lifeorb,quarkdrive,closecombat,encore,knockoff,moonblast,Fighting": 125, "lifeorb,quarkdrive,closecombat,encore,knockoff,moonblast,Steel": 111, "lifeorb,quarkdrive,closecombat,knockoff,spiritbreak,swordsdance,Dark": 276, "lifeorb,quarkdrive,calmmind,closecombat,moonblast,psychic,Steel": 180, "lifeorb,quarkdrive,closecombat,knockoff,spiritbreak,swordsdance,Fighting": 221, "lifeorb,quarkdrive,calmmind,closecombat,moonblast,psychic,Fairy": 147, "lifeorb,quarkdrive,calmmind,closecombat,moonblast,psychic,Fighting": 151}, + "jirachi": {"leftovers,serenegrace,bodyslam,drainpunch,ironhead,stealthrock,Fighting": 84, "leftovers,serenegrace,bodyslam,ironhead,stealthrock,uturn,Water": 27, "leftovers,serenegrace,drainpunch,ironhead,stealthrock,uturn,Fighting": 65, "leftovers,serenegrace,ironhead,protect,uturn,wish,Water": 125, "leftovers,serenegrace,bodyslam,ironhead,protect,wish,Water": 439, "choicescarf,serenegrace,healingwish,ironhead,psychic,uturn,Water": 183, "leftovers,serenegrace,ironhead,protect,psychic,wish,Water": 132, "assaultvest,serenegrace,bodyslam,drainpunch,ironhead,uturn,Water": 103, "assaultvest,serenegrace,bodyslam,drainpunch,ironhead,uturn,Fighting": 84, "leftovers,serenegrace,bodyslam,drainpunch,ironhead,stealthrock,Water": 70, "leftovers,serenegrace,drainpunch,ironhead,stealthrock,uturn,Water": 27}, + "jolteon": {"leftovers,voltabsorb,calmmind,substitute,terablast,thunderbolt,Ice": 683, "lifeorb,voltabsorb,alluringvoice,calmmind,shadowball,thunderbolt,Electric": 210, "choicespecs,voltabsorb,alluringvoice,shadowball,thunderbolt,voltswitch,Electric": 179, "choicespecs,voltabsorb,alluringvoice,shadowball,thunderbolt,voltswitch,Fairy": 197, "lifeorb,voltabsorb,alluringvoice,calmmind,shadowball,thunderbolt,Fairy": 234}, + "jumpluff": {",infiltrator,acrobatics,leechseed,strengthsap,substitute,Steel": 645, ",infiltrator,acrobatics,sleeppowder,strengthsap,uturn,Steel": 286, ",infiltrator,acrobatics,encore,sleeppowder,uturn,Steel": 308}, + "keldeoresolute": {"lifeorb,justified,calmmind,hydropump,secretsword,vacuumwave,Fighting": 82, "leftovers,justified,calmmind,secretsword,substitute,surf,Steel": 327, "choicespecs,justified,flipturn,hydropump,secretsword,vacuumwave,Fighting": 54, "choicespecs,justified,airslash,hydropump,secretsword,vacuumwave,Fighting": 58, "leftovers,justified,calmmind,hydropump,secretsword,substitute,Steel": 344, "lifeorb,justified,calmmind,hydropump,secretsword,vacuumwave,Water": 65, "choicespecs,justified,airslash,flipturn,hydropump,secretsword,Fighting": 42, "choicespecs,justified,flipturn,hydropump,secretsword,vacuumwave,Water": 79, "lifeorb,justified,airslash,calmmind,hydropump,secretsword,Water": 85, "lifeorb,justified,airslash,calmmind,hydropump,secretsword,Fighting": 69, "choicespecs,justified,airslash,hydropump,secretsword,vacuumwave,Water": 63, "choicespecs,justified,airslash,flipturn,hydropump,secretsword,Water": 31, "choicescarf,justified,airslash,flipturn,hydropump,secretsword,Fighting": 34, "choicescarf,justified,airslash,flipturn,hydropump,secretsword,Water": 33}, + "kilowattrel": {"heavydutyboots,voltabsorb,hurricane,thunderbolt,thunderwave,uturn,Electric": 109, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,thunderwave,Electric": 106, "heavydutyboots,voltabsorb,hurricane,thunderbolt,thunderwave,uturn,Steel": 95, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,thunderwave,Water": 113, "heavydutyboots,voltabsorb,hurricane,thunderbolt,thunderwave,uturn,Water": 108, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,uturn,Water": 104, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,uturn,Flying": 103, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,thunderwave,Steel": 114, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,uturn,Steel": 97, "heavydutyboots,voltabsorb,hurricane,thunderbolt,thunderwave,uturn,Flying": 104, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,thunderwave,Flying": 105, "heavydutyboots,voltabsorb,hurricane,roost,thunderbolt,uturn,Electric": 113}, + "kingambit": {"leftovers,supremeoverlord,ironhead,kowtowcleave,suckerpunch,swordsdance,Flying": 622, "leftovers,supremeoverlord,ironhead,kowtowcleave,suckerpunch,swordsdance,Dark": 638}, + "kingdra": {"lumberry,sniper,dragondance,ironhead,outrage,wavecrash,Steel": 471, "lumberry,sniper,dragondance,outrage,waterfall,wavecrash,Water": 472, "lifeorb,swiftswim,dracometeor,hurricane,raindance,wavecrash,Water": 470, "lumberry,swiftswim,dragondance,ironhead,outrage,wavecrash,Steel": 6, "lumberry,swiftswim,dragondance,outrage,waterfall,wavecrash,Water": 5}, + "klawf": {"lifeorb,regenerator,crabhammer,knockoff,stealthrock,stoneedge,Water": 58, "rindoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Rock": 15, "rindoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Dark": 17, "lifeorb,regenerator,crabhammer,highhorsepower,stealthrock,stoneedge,Ground": 48, "sitrusberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Dark": 21, "scopelens,angershell,crabhammer,knockoff,stoneedge,swordsdance,Rock": 14, "lifeorb,regenerator,crabhammer,highhorsepower,stealthrock,stoneedge,Water": 44, "rindoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Ground": 25, "choiceband,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Dark": 46, "rindoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Water": 15, "passhoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Ground": 17, "lifeorb,regenerator,crabhammer,knockoff,stealthrock,stoneedge,Dark": 41, "choiceband,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Rock": 41, "sitrusberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Dark": 24, "choicescarf,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Dark": 31, "passhoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Rock": 20, "sitrusberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Ground": 22, "choiceband,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Ground": 45, "scopelens,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Ground": 16, "passhoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Ground": 33, "choicescarf,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Water": 35, "passhoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Water": 19, "passhoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Rock": 15, "scopelens,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Water": 17, "choiceband,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Water": 46, "lifeorb,regenerator,highhorsepower,knockoff,stealthrock,stoneedge,Rock": 25, "lifeorb,regenerator,highhorsepower,knockoff,stealthrock,stoneedge,Ground": 60, "sitrusberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Ground": 26, "sitrusberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Rock": 12, "passhoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Water": 18, "sitrusberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Rock": 10, "scopelens,angershell,crabhammer,knockoff,stoneedge,swordsdance,Water": 25, "choicescarf,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Rock": 33, "scopelens,angershell,crabhammer,knockoff,stoneedge,swordsdance,Dark": 25, "scopelens,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Ground": 25, "sitrusberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Water": 16, "lifeorb,regenerator,crabhammer,knockoff,stealthrock,stoneedge,Rock": 27, "scopelens,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Dark": 20, "lifeorb,regenerator,highhorsepower,knockoff,stealthrock,stoneedge,Dark": 49, "rindoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Rock": 17, "passhoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Dark": 31, "lifeorb,regenerator,crabhammer,highhorsepower,stealthrock,stoneedge,Rock": 38, "choicescarf,regenerator,crabhammer,highhorsepower,knockoff,stoneedge,Ground": 41, "rindoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Dark": 14, "sitrusberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Water": 20, "rindoberry,angershell,crabhammer,knockoff,stoneedge,swordsdance,Water": 21, "rindoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Rock": 16, "rindoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Ground": 19, "scopelens,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Rock": 14, "passhoberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Dark": 17, "passhoberry,angershell,crabhammer,highhorsepower,stoneedge,swordsdance,Rock": 16, "sitrusberry,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Rock": 13, "scopelens,angershell,highhorsepower,knockoff,stoneedge,swordsdance,Rock": 11}, + "kleavor": {"choicescarf,sharpness,closecombat,stoneaxe,uturn,xscissor,Fighting": 91, "heavydutyboots,sharpness,defog,stoneaxe,uturn,xscissor,Bug": 108, "heavydutyboots,sharpness,closecombat,stoneaxe,swordsdance,xscissor,Rock": 175, "heavydutyboots,sharpness,closecombat,stoneaxe,swordsdance,xscissor,Bug": 175, "heavydutyboots,sharpness,defog,stoneaxe,uturn,xscissor,Rock": 110, "heavydutyboots,sharpness,closecombat,stoneaxe,swordsdance,xscissor,Fighting": 180, "heavydutyboots,sharpness,closecombat,defog,stoneaxe,xscissor,Fighting": 139, "heavydutyboots,sharpness,closecombat,defog,stoneaxe,xscissor,Rock": 83, "choiceband,sharpness,closecombat,stoneaxe,uturn,xscissor,Bug": 80, "choicescarf,sharpness,closecombat,stoneaxe,uturn,xscissor,Bug": 61, "heavydutyboots,sharpness,closecombat,defog,stoneaxe,xscissor,Bug": 101, "choiceband,sharpness,closecombat,stoneaxe,uturn,xscissor,Fighting": 88, "choiceband,sharpness,closecombat,stoneaxe,uturn,xscissor,Rock": 54, "choicescarf,sharpness,closecombat,stoneaxe,uturn,xscissor,Rock": 67}, + "klefki": {"leftovers,prankster,dazzlinggleam,foulplay,spikes,thunderwave,Water": 362, "leftovers,prankster,magnetrise,playrough,spikes,thunderwave,Water": 732, "leftovers,prankster,dazzlinggleam,foulplay,spikes,thunderwave,Flying": 382}, + "komala": {"choiceband,comatose,doubleedge,knockoff,uturn,woodhammer,Grass": 45, "choiceband,comatose,doubleedge,earthquake,knockoff,woodhammer,Grass": 32, "choicescarf,comatose,bodyslam,earthquake,knockoff,uturn,Ghost": 60, "assaultvest,comatose,bodyslam,knockoff,rapidspin,uturn,Ghost": 321, "assaultvest,comatose,bodyslam,earthquake,knockoff,rapidspin,Ghost": 318, "choicescarf,comatose,doubleedge,earthquake,knockoff,woodhammer,Grass": 46, "choiceband,comatose,doubleedge,earthquake,knockoff,uturn,Ground": 38, "choicescarf,comatose,doubleedge,earthquake,knockoff,superpower,Fighting": 51, "choiceband,comatose,doubleedge,knockoff,superpower,woodhammer,Grass": 38, "choiceband,comatose,doubleedge,earthquake,knockoff,superpower,Ground": 45, "choicescarf,comatose,doubleedge,knockoff,uturn,woodhammer,Grass": 41, "choiceband,comatose,doubleedge,knockoff,superpower,woodhammer,Fighting": 45, "choiceband,comatose,bodyslam,earthquake,knockoff,uturn,Ghost": 67, "choicescarf,comatose,doubleedge,knockoff,superpower,woodhammer,Grass": 43, "choicescarf,comatose,doubleedge,earthquake,knockoff,superpower,Ground": 40, "choiceband,comatose,doubleedge,earthquake,knockoff,woodhammer,Ground": 49, "choicescarf,comatose,doubleedge,knockoff,superpower,woodhammer,Fighting": 35, "choicescarf,comatose,doubleedge,earthquake,knockoff,woodhammer,Ground": 34, "choicescarf,comatose,doubleedge,knockoff,superpower,uturn,Fighting": 40, "choiceband,comatose,doubleedge,knockoff,superpower,uturn,Fighting": 33, "choicescarf,comatose,doubleedge,earthquake,knockoff,uturn,Ground": 39, "choiceband,comatose,doubleedge,earthquake,knockoff,superpower,Fighting": 43}, + "kommoo": {"loadeddice,soundproof,closecombat,ironhead,scaleshot,swordsdance,Steel": 653, "throatspray,soundproof,clangingscales,clangoroussoul,closecombat,ironhead,Steel": 354, "throatspray,soundproof,boomburst,clangingscales,clangoroussoul,closecombat,Normal": 327}, + "koraidon": {"choiceband,orichalcumpulse,closecombat,flareblitz,outrage,uturn,Fire": 704, "loadeddice,orichalcumpulse,collisioncourse,flareblitz,scaleshot,swordsdance,Fire": 714}, + "kricketune": {"heavydutyboots,technician,knockoff,pounce,stickyweb,taunt,Ghost": 1163, "focussash,technician,knockoff,pounce,stickyweb,taunt,Ghost": 271, "heavydutyboots,technician,knockoff,pounce,swordsdance,taunt,Ghost": 44}, + "krookodile": {"choiceband,intimidate,earthquake,gunkshot,knockoff,stoneedge,Poison": 116, "lifeorb,intimidate,bulkup,earthquake,gunkshot,knockoff,Poison": 267, "choicescarf,intimidate,earthquake,gunkshot,knockoff,stoneedge,Ground": 74, "lifeorb,intimidate,earthquake,knockoff,stealthrock,stoneedge,Ground": 131, "lifeorb,intimidate,bulkup,earthquake,knockoff,stoneedge,Ground": 138, "lifeorb,intimidate,bulkup,earthquake,gunkshot,knockoff,Ground": 140, "choicescarf,intimidate,earthquake,gunkshot,knockoff,stoneedge,Poison": 115, "lifeorb,intimidate,earthquake,gunkshot,knockoff,stealthrock,Poison": 205, "choiceband,intimidate,earthquake,gunkshot,knockoff,stoneedge,Ground": 68, "lifeorb,intimidate,earthquake,gunkshot,knockoff,stealthrock,Ground": 125}, + "kyogre": {"leftovers,drizzle,calmmind,icebeam,originpulse,thunder,Electric": 275, "leftovers,drizzle,calmmind,icebeam,originpulse,thunder,Steel": 253, "choicescarf,drizzle,icebeam,originpulse,thunder,waterspout,Water": 717, "leftovers,drizzle,calmmind,icebeam,originpulse,thunder,Dragon": 221}, + "kyurem": {"heavydutyboots,pressure,dracometeor,earthpower,freezedry,outrage,Ground": 69, "loadeddice,pressure,dragondance,iciclespear,scaleshot,terablast,Ground": 206, "choicespecs,pressure,dracometeor,earthpower,freezedry,icebeam,Ground": 103, "heavydutyboots,pressure,earthpower,freezedry,icebeam,outrage,Ground": 101}, + "kyuremblack": {"loadeddice,teravolt,dragondance,fusionbolt,iciclespear,scaleshot,Electric": 258, "loadeddice,teravolt,dragondance,iciclespear,scaleshot,terablast,Ground": 216}, + "kyuremwhite": {"choicespecs,turboblaze,dracometeor,earthpower,freezedry,fusionflare,Dragon": 66, "choicescarf,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Fire": 44, "choicescarf,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Dragon": 43, "choicespecs,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Fire": 43, "choicescarf,turboblaze,dracometeor,earthpower,freezedry,fusionflare,Dragon": 54, "choicespecs,turboblaze,dracometeor,earthpower,freezedry,fusionflare,Fire": 66, "choicespecs,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Ice": 43, "choicescarf,turboblaze,dracometeor,earthpower,freezedry,fusionflare,Fire": 44, "choicescarf,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Ice": 41, "choicespecs,turboblaze,dracometeor,freezedry,fusionflare,icebeam,Dragon": 35}, + "landorus": {"lifeorb,sheerforce,earthpower,focusblast,psychic,rockslide,Ground": 23, "lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock,Ground": 14, "lifeorb,sheerforce,earthpower,psychic,rockslide,stealthrock,Psychic": 28, "lifeorb,sheerforce,earthpower,nastyplot,psychic,sludgewave,Psychic": 35, "lifeorb,sheerforce,earthpower,focusblast,psychic,sludgewave,Poison": 21, "lifeorb,sheerforce,earthpower,nastyplot,psychic,sludgewave,Poison": 47, "lifeorb,sheerforce,earthpower,rockslide,sludgewave,stealthrock,Poison": 28, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave,Poison": 34, "lifeorb,sheerforce,earthpower,focusblast,nastyplot,psychic,Ground": 17, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave,Psychic": 29, "lifeorb,sheerforce,earthpower,focusblast,sludgewave,stealthrock,Poison": 25, "lifeorb,sheerforce,earthpower,psychic,rockslide,stealthrock,Ground": 17, "lifeorb,sheerforce,earthpower,focusblast,psychic,rockslide,Psychic": 30, "lifeorb,sheerforce,earthpower,focusblast,nastyplot,psychic,Psychic": 48, "lifeorb,sheerforce,earthpower,focusblast,psychic,sludgewave,Psychic": 19, "lifeorb,sheerforce,earthpower,focusblast,rockslide,stealthrock,Ground": 17, "lifeorb,sheerforce,earthpower,focusblast,sludgewave,stealthrock,Ground": 15, "lifeorb,sheerforce,earthpower,focusblast,psychic,stealthrock,Psychic": 20, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave,Poison": 33, "lifeorb,sheerforce,earthpower,psychic,sludgewave,stealthrock,Psychic": 21, "lifeorb,sheerforce,earthpower,nastyplot,psychic,sludgewave,Ground": 13, "lifeorb,sheerforce,earthpower,focusblast,psychic,sludgewave,Ground": 15, "lifeorb,sheerforce,earthpower,psychic,rockslide,sludgewave,Ground": 15, "lifeorb,sheerforce,earthpower,psychic,sludgewave,stealthrock,Poison": 20, "lifeorb,sheerforce,earthpower,psychic,sludgewave,stealthrock,Ground": 10, "lifeorb,sheerforce,earthpower,focusblast,rockslide,sludgewave,Ground": 19, "lifeorb,sheerforce,earthpower,focusblast,nastyplot,sludgewave,Poison": 34, "lifeorb,sheerforce,earthpower,focusblast,nastyplot,sludgewave,Ground": 10, "lifeorb,sheerforce,earthpower,focusblast,psychic,stealthrock,Ground": 7}, + "landorustherian": {"leftovers,intimidate,earthquake,stealthrock,taunt,uturn,Ground": 82, "leftovers,intimidate,earthquake,stoneedge,taunt,uturn,Ground": 123, "leftovers,intimidate,earthquake,stealthrock,stoneedge,taunt,Ground": 78, "leftovers,intimidate,earthquake,stoneedge,taunt,uturn,Water": 122, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn,Ground": 81, "leftovers,intimidate,earthquake,stealthrock,stoneedge,uturn,Water": 70, "leftovers,intimidate,earthquake,stealthrock,taunt,uturn,Water": 81, "leftovers,intimidate,earthquake,stealthrock,stoneedge,taunt,Water": 75}, + "lanturn": {"leftovers,voltabsorb,scald,thunderbolt,thunderwave,voltswitch,Flying": 103, "choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch,Flying": 131, "heavydutyboots,voltabsorb,scald,thunderbolt,thunderwave,voltswitch,Flying": 714, "choicespecs,voltabsorb,icebeam,scald,thunderbolt,voltswitch,Water": 105, "leftovers,voltabsorb,scald,thunderbolt,thunderwave,voltswitch,Water": 104, "leftovers,voltabsorb,icebeam,scald,thunderbolt,thunderwave,Water": 115, "leftovers,voltabsorb,icebeam,scald,thunderbolt,thunderwave,Flying": 119}, + "lapras": {"heavydutyboots,waterabsorb,freezedry,rest,sleeptalk,sparklingaria,Ground": 86, "heavydutyboots,waterabsorb,freezedry,rest,sleeptalk,sparklingaria,Dragon": 86, "choicespecs,waterabsorb,freezedry,hydropump,icebeam,sparklingaria,Ice": 233, "heavydutyboots,waterabsorb,freezedry,rest,sleeptalk,sparklingaria,Poison": 106, "choicespecs,waterabsorb,freezedry,hydropump,icebeam,sparklingaria,Water": 237, "loadeddice,waterabsorb,dragondance,earthquake,iciclespear,waterfall,Ground": 424, "heavydutyboots,waterabsorb,freezedry,rest,sleeptalk,sparklingaria,Steel": 89, "heavydutyboots,waterabsorb,freezedry,rest,sleeptalk,sparklingaria,Ghost": 88}, + "latias": {"souldew,levitate,calmmind,dracometeor,psyshock,recover,Steel": 1394}, + "latios": {"souldew,levitate,aurasphere,calmmind,dracometeor,lusterpurge,Dragon": 126, "souldew,levitate,calmmind,dracometeor,psyshock,recover,Steel": 756, "choicespecs,levitate,aurasphere,dracometeor,flipturn,lusterpurge,Psychic": 116, "souldew,levitate,aurasphere,calmmind,dracometeor,lusterpurge,Steel": 116, "choicespecs,levitate,aurasphere,dracometeor,flipturn,lusterpurge,Steel": 115, "souldew,levitate,aurasphere,calmmind,dracometeor,lusterpurge,Psychic": 129, "choicespecs,levitate,aurasphere,dracometeor,flipturn,lusterpurge,Dragon": 108}, + "leafeon": {"leftovers,chlorophyll,doubleedge,leafblade,substitute,swordsdance,Normal": 206, "leftovers,chlorophyll,knockoff,leafblade,substitute,swordsdance,Dark": 230, "lifeorb,chlorophyll,doubleedge,knockoff,leafblade,swordsdance,Normal": 231, "lifeorb,chlorophyll,doubleedge,knockoff,leafblade,swordsdance,Dark": 217, "lifeorb,chlorophyll,knockoff,leafblade,swordsdance,synthesis,Dark": 245, "lifeorb,chlorophyll,doubleedge,leafblade,swordsdance,synthesis,Normal": 221}, + "leavanny": {"heavydutyboots,swarm,knockoff,leafblade,lunge,stickyweb,Ghost": 587, "heavydutyboots,swarm,knockoff,leafblade,lunge,stickyweb,Rock": 602, "heavydutyboots,swarm,knockoff,leafblade,lunge,swordsdance,Rock": 27, "heavydutyboots,swarm,knockoff,leafblade,lunge,swordsdance,Ghost": 22, "heavydutyboots,chlorophyll,knockoff,leafblade,lunge,swordsdance,Ghost": 2, "heavydutyboots,chlorophyll,knockoff,leafblade,lunge,stickyweb,Rock": 9, "heavydutyboots,chlorophyll,knockoff,leafblade,lunge,stickyweb,Ghost": 11}, + "lilligant": {"lifeorb,chlorophyll,gigadrain,quiverdance,sleeppowder,terablast,Rock": 163, "lifeorb,owntempo,alluringvoice,petaldance,quiverdance,sleeppowder,Grass": 199, "lifeorb,chlorophyll,gigadrain,quiverdance,sleeppowder,terablast,Fire": 147, "lifeorb,owntempo,alluringvoice,petaldance,quiverdance,sleeppowder,Fairy": 179}, + "lilliganthisui": {"lifeorb,hustle,closecombat,icespinner,leafblade,victorydance,Fighting": 75, "widelens,hustle,closecombat,icespinner,leafblade,victorydance,Fighting": 84, "lifeorb,hustle,closecombat,leafblade,sleeppowder,victorydance,Fighting": 75, "widelens,hustle,closecombat,icespinner,leafblade,victorydance,Steel": 83, "widelens,hustle,closecombat,leafblade,sleeppowder,victorydance,Steel": 86, "widelens,hustle,closecombat,leafblade,sleeppowder,victorydance,Fighting": 71, "lifeorb,hustle,closecombat,leafblade,sleeppowder,victorydance,Steel": 74, "lifeorb,hustle,closecombat,icespinner,leafblade,victorydance,Steel": 63}, + "lokix": {"lifeorb,tintedlens,firstimpression,knockoff,leechlife,suckerpunch,Bug": 457, "silverpowder,tintedlens,firstimpression,knockoff,suckerpunch,uturn,Bug": 455, "lifeorb,tintedlens,knockoff,leechlife,suckerpunch,swordsdance,Dark": 433}, + "lucario": {"choiceband,justified,closecombat,extremespeed,meteormash,stoneedge,Normal": 339, "lifeorb,justified,closecombat,extremespeed,meteormash,swordsdance,Normal": 335, "lifeorb,innerfocus,flashcannon,focusblast,nastyplot,vacuumwave,Fighting": 300, "lifeorb,innerfocus,aurasphere,flashcannon,nastyplot,vacuumwave,Fighting": 301}, + "ludicolo": {"choicespecs,swiftswim,gigadrain,hydropump,icebeam,leafstorm,Grass": 329, "choicespecs,swiftswim,gigadrain,hydropump,icebeam,leafstorm,Water": 367, "lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance,Grass": 234, "lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance,Steel": 240, "lifeorb,swiftswim,gigadrain,hydropump,icebeam,raindance,Water": 223}, + "lugia": {"heavydutyboots,multiscale,aeroblast,calmmind,earthpower,recover,Steel": 698, "heavydutyboots,multiscale,aeroblast,calmmind,earthpower,recover,Ground": 683}, + "lumineon": {"choicespecs,stormdrain,alluringvoice,hydropump,icebeam,uturn,Water": 204, "heavydutyboots,stormdrain,alluringvoice,encore,hydropump,uturn,Water": 206, "lifeorb,stormdrain,alluringvoice,encore,hydropump,icebeam,Water": 182, "choicespecs,stormdrain,alluringvoice,hydropump,icebeam,uturn,Fairy": 270, "heavydutyboots,stormdrain,alluringvoice,encore,hydropump,uturn,Fairy": 239, "lifeorb,stormdrain,alluringvoice,encore,hydropump,icebeam,Fairy": 267, "heavydutyboots,stormdrain,encore,hydropump,icebeam,uturn,Water": 192}, + "lunala": {"leftovers,shadowshield,calmmind,moongeistbeam,moonlight,psyshock,Fairy": 345, "leftovers,shadowshield,calmmind,moongeistbeam,moonlight,psyshock,Dark": 366, "leftovers,shadowshield,calmmind,moonblast,moongeistbeam,moonlight,Fairy": 736}, + "lurantis": {"assaultvest,contrary,knockoff,leafstorm,leechlife,superpower,Fighting": 232, "assaultvest,contrary,knockoff,leafstorm,leechlife,superpower,Water": 227, "leftovers,contrary,knockoff,leafstorm,superpower,synthesis,Fighting": 429, "assaultvest,contrary,knockoff,leafstorm,leechlife,superpower,Steel": 233, "leftovers,contrary,defog,leafstorm,superpower,synthesis,Fighting": 281}, + "luvdisc": {"heavydutyboots,swiftswim,endeavor,substitute,surf,whirlpool,Ground": 708, "heavydutyboots,swiftswim,endeavor,substitute,surf,whirlpool,Ghost": 701}, + "luxray": {"assaultvest,intimidate,icefang,playrough,voltswitch,wildcharge,Fairy": 166, "flameorb,guts,facade,supercellslam,throatchop,trailblaze,Normal": 365, "flameorb,guts,facade,playrough,supercellslam,trailblaze,Normal": 356, "assaultvest,intimidate,icefang,throatchop,voltswitch,wildcharge,Electric": 119, "assaultvest,intimidate,playrough,throatchop,voltswitch,wildcharge,Fairy": 180, "assaultvest,intimidate,icefang,playrough,voltswitch,wildcharge,Electric": 137, "assaultvest,intimidate,playrough,throatchop,voltswitch,wildcharge,Electric": 129}, + "lycanroc": {"choiceband,sandrush,closecombat,crunch,psychicfangs,stoneedge,Fighting": 33, "lifeorb,sandrush,closecombat,psychicfangs,stealthrock,stoneedge,Fighting": 29, "lifeorb,sandrush,closecombat,crunch,stoneedge,swordsdance,Fighting": 42, "lifeorb,sandrush,closecombat,crunch,stealthrock,stoneedge,Fighting": 40, "choiceband,sandrush,accelerock,closecombat,crunch,stoneedge,Fighting": 42, "lifeorb,sandrush,closecombat,psychicfangs,stoneedge,swordsdance,Fighting": 38, "lifeorb,sandrush,accelerock,closecombat,stoneedge,taunt,Fighting": 48, "lifeorb,sandrush,closecombat,psychicfangs,stoneedge,taunt,Fighting": 36, "choiceband,sandrush,accelerock,closecombat,psychicfangs,stoneedge,Fighting": 34, "lifeorb,sandrush,closecombat,stoneedge,swordsdance,taunt,Fighting": 39, "lifeorb,sandrush,accelerock,closecombat,stealthrock,stoneedge,Fighting": 34, "lifeorb,sandrush,accelerock,closecombat,stoneedge,swordsdance,Fighting": 26, "lifeorb,sandrush,closecombat,crunch,stoneedge,taunt,Fighting": 25, "lifeorb,sandrush,closecombat,stealthrock,stoneedge,taunt,Fighting": 26}, + "lycanrocdusk": {"choiceband,toughclaws,accelerock,closecombat,psychicfangs,stoneedge,Fighting": 88, "choiceband,toughclaws,accelerock,closecombat,stoneedge,throatchop,Fighting": 69, "choiceband,toughclaws,closecombat,psychicfangs,stoneedge,throatchop,Fighting": 66, "lifeorb,toughclaws,closecombat,stoneedge,swordsdance,throatchop,Fighting": 71, "lifeorb,toughclaws,accelerock,closecombat,stoneedge,swordsdance,Fighting": 85, "lifeorb,toughclaws,closecombat,psychicfangs,stoneedge,swordsdance,Fighting": 73}, + "lycanrocmidnight": {"lifeorb,noguard,closecombat,stoneedge,suckerpunch,swordsdance,Fighting": 149, "lifeorb,noguard,closecombat,stealthrock,stoneedge,suckerpunch,Fighting": 90, "lifeorb,noguard,closecombat,knockoff,stealthrock,stoneedge,Fighting": 106, "lifeorb,noguard,closecombat,knockoff,stoneedge,swordsdance,Fighting": 140}, + "mabosstiff": {"choiceband,stakeout,crunch,playrough,psychicfangs,wildcharge,Fairy": 364, "choiceband,stakeout,crunch,playrough,psychicfangs,wildcharge,Dark": 351, "choicescarf,stakeout,crunch,playrough,psychicfangs,wildcharge,Dark": 367, "choicescarf,stakeout,crunch,playrough,psychicfangs,wildcharge,Fairy": 324}, + "magcargo": {"heavydutyboots,weakarmor,earthpower,fireblast,powergem,shellsmash,Grass": 326, "heavydutyboots,flamebody,lavaplume,powergem,recover,yawn,Dragon": 117, "heavydutyboots,flamebody,lavaplume,recover,stealthrock,yawn,Grass": 94, "heavydutyboots,flamebody,lavaplume,powergem,recover,yawn,Grass": 137, "heavydutyboots,weakarmor,earthpower,fireblast,powergem,shellsmash,Dragon": 317, "heavydutyboots,flamebody,lavaplume,powergem,recover,stealthrock,Grass": 87, "heavydutyboots,flamebody,lavaplume,recover,stealthrock,yawn,Dragon": 84, "heavydutyboots,flamebody,lavaplume,powergem,recover,stealthrock,Dragon": 87}, + "magearna": {"leftovers,soulheart,flashcannon,fleurcannon,thunderwave,voltswitch,Fairy": 20, "weaknesspolicy,soulheart,fleurcannon,ironhead,shiftgear,terablast,Ground": 423, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,thunderwave,Fairy": 12, "leftovers,soulheart,flashcannon,fleurcannon,spikes,thunderwave,Fairy": 20, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,thunderwave,Fighting": 48, "leftovers,soulheart,calmmind,flashcannon,fleurcannon,shiftgear,Steel": 121, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,spikes,Fighting": 37, "choicescarf,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Fighting": 22, "leftovers,soulheart,calmmind,flashcannon,fleurcannon,shiftgear,Flying": 127, "leftovers,soulheart,calmmind,flashcannon,fleurcannon,shiftgear,Fairy": 133, "leftovers,soulheart,calmmind,flashcannon,fleurcannon,shiftgear,Water": 117, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,painsplit,Water": 14, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,spikes,Water": 14, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,voltswitch,Fairy": 18, "choicescarf,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Water": 9, "choicespecs,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Fighting": 21, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,thunderwave,Water": 7, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,spikes,Fairy": 15, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,painsplit,Fighting": 43, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,thunderwave,Water": 14, "leftovers,soulheart,flashcannon,fleurcannon,spikes,voltswitch,Water": 21, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,voltswitch,Water": 19, "choicespecs,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Water": 8, "leftovers,soulheart,flashcannon,fleurcannon,spikes,thunderwave,Water": 16, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,painsplit,Fairy": 13, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,thunderwave,Fairy": 13, "leftovers,soulheart,flashcannon,fleurcannon,spikes,voltswitch,Fairy": 12, "choicespecs,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Fairy": 13, "choicescarf,soulheart,aurasphere,flashcannon,fleurcannon,voltswitch,Fairy": 9, "leftovers,soulheart,aurasphere,flashcannon,fleurcannon,spikes,Fairy": 11, "leftovers,soulheart,flashcannon,fleurcannon,painsplit,spikes,Water": 17, "leftovers,soulheart,flashcannon,fleurcannon,thunderwave,voltswitch,Water": 11}, + "magmortar": {"heavydutyboots,flamebody,earthquake,fireblast,knockoff,thunderbolt,Water": 36, "heavydutyboots,flamebody,fireblast,knockoff,scorchingsands,thunderbolt,Electric": 44, "heavydutyboots,flamebody,fireblast,focusblast,thunderbolt,willowisp,Fighting": 49, "heavydutyboots,flamebody,fireblast,focusblast,scorchingsands,taunt,Fighting": 39, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,thunderbolt,Fighting": 69, "heavydutyboots,flamebody,fireblast,scorchingsands,taunt,thunderbolt,Electric": 37, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,thunderbolt,Electric": 84, "choicespecs,flamebody,fireblast,focusblast,scorchingsands,thunderbolt,Fighting": 33, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,willowisp,Fighting": 39, "heavydutyboots,flamebody,earthquake,fireblast,thunderbolt,willowisp,Electric": 43, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,thunderbolt,Water": 29, "heavydutyboots,flamebody,fireblast,knockoff,thunderbolt,willowisp,Water": 29, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,willowisp,Water": 22, "heavydutyboots,flamebody,fireblast,knockoff,taunt,thunderbolt,Water": 18, "heavydutyboots,flamebody,fireblast,focusblast,taunt,thunderbolt,Water": 20, "heavydutyboots,flamebody,fireblast,focusblast,taunt,thunderbolt,Fighting": 38, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,thunderbolt,Electric": 43, "heavydutyboots,flamebody,fireblast,knockoff,taunt,thunderbolt,Electric": 37, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,thunderbolt,Water": 53, "heavydutyboots,flamebody,fireblast,focusblast,scorchingsands,taunt,Water": 19, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,willowisp,Fighting": 22, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,willowisp,Water": 18, "heavydutyboots,flamebody,fireblast,focusblast,thunderbolt,willowisp,Electric": 38, "heavydutyboots,flamebody,fireblast,scorchingsands,taunt,thunderbolt,Water": 16, "heavydutyboots,flamebody,fireblast,focusblast,taunt,thunderbolt,Electric": 45, "heavydutyboots,flamebody,earthquake,fireblast,thunderbolt,willowisp,Water": 17, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,thunderbolt,Fighting": 52, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,taunt,Fighting": 34, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,scorchingsands,Fighting": 38, "heavydutyboots,flamebody,earthquake,fireblast,knockoff,willowisp,Water": 15, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,knockoff,Water": 30, "choicespecs,flamebody,fireblast,focusblast,scorchingsands,thunderbolt,Water": 32, "heavydutyboots,flamebody,fireblast,knockoff,thunderbolt,willowisp,Electric": 27, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,scorchingsands,Water": 32, "heavydutyboots,flamebody,fireblast,knockoff,scorchingsands,thunderbolt,Water": 27, "choicespecs,flamebody,fireblast,focusblast,scorchingsands,thunderbolt,Electric": 41, "heavydutyboots,flamebody,fireblast,knockoff,scorchingsands,taunt,Water": 20, "heavydutyboots,flamebody,fireblast,focusblast,thunderbolt,willowisp,Water": 19, "heavydutyboots,flamebody,earthquake,fireblast,knockoff,thunderbolt,Electric": 33, "heavydutyboots,flamebody,earthquake,fireblast,focusblast,knockoff,Fighting": 34, "heavydutyboots,flamebody,fireblast,focusblast,knockoff,taunt,Water": 20}, + "magnezone": {"choicescarf,magnetpull,bodypress,flashcannon,thunderbolt,voltswitch,Electric": 102, "leftovers,magnetpull,bodypress,flashcannon,irondefense,thunderbolt,Fighting": 220, "assaultvest,analytic,discharge,flashcannon,mirrorcoat,voltswitch,Flying": 60, "assaultvest,magnetpull,flashcannon,mirrorcoat,thunderbolt,voltswitch,Water": 72, "choicescarf,magnetpull,bodypress,flashcannon,thunderbolt,voltswitch,Water": 97, "choicescarf,magnetpull,bodypress,flashcannon,thunderbolt,voltswitch,Fighting": 108, "assaultvest,analytic,flashcannon,mirrorcoat,thunderbolt,voltswitch,Flying": 52, "leftovers,magnetpull,bodypress,discharge,flashcannon,irondefense,Fighting": 227, "assaultvest,magnetpull,discharge,flashcannon,mirrorcoat,voltswitch,Water": 47, "assaultvest,magnetpull,discharge,flashcannon,mirrorcoat,voltswitch,Flying": 51, "assaultvest,analytic,flashcannon,mirrorcoat,thunderbolt,voltswitch,Water": 53, "assaultvest,magnetpull,flashcannon,mirrorcoat,thunderbolt,voltswitch,Flying": 62, "assaultvest,analytic,discharge,flashcannon,mirrorcoat,voltswitch,Water": 55, "choicescarf,magnetpull,bodypress,flashcannon,thunderbolt,voltswitch,Flying": 107}, + "malamar": {"chestoberry,contrary,knockoff,psychocut,rest,superpower,Poison": 223, "chestoberry,contrary,knockoff,psychocut,rest,superpower,Fighting": 240, "chestoberry,contrary,knockoff,psychocut,rest,superpower,Steel": 262, "leftovers,contrary,knockoff,rest,sleeptalk,superpower,Steel": 215, "leftovers,contrary,knockoff,rest,sleeptalk,superpower,Fighting": 202, "leftovers,contrary,knockoff,rest,sleeptalk,superpower,Poison": 225}, + "mamoswine": {"lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock,Ice": 338, "choiceband,thickfat,earthquake,iceshard,iciclecrash,knockoff,Ground": 427, "choiceband,thickfat,earthquake,iceshard,iciclecrash,knockoff,Ice": 384, "lifeorb,thickfat,earthquake,iceshard,iciclecrash,stealthrock,Ground": 331}, + "manaphy": {"leftovers,hydration,energyball,icebeam,surf,tailglow,Grass": 336, "leftovers,hydration,energyball,hydropump,icebeam,tailglow,Water": 353, "leftovers,hydration,energyball,hydropump,icebeam,tailglow,Grass": 413, "leftovers,hydration,energyball,icebeam,surf,tailglow,Water": 385}, + "mandibuzz": {"heavydutyboots,overcoat,bravebird,foulplay,roost,toxic,Steel": 223, "heavydutyboots,overcoat,defog,foulplay,roost,uturn,Steel": 289, "heavydutyboots,overcoat,defog,foulplay,roost,toxic,Steel": 307, "heavydutyboots,overcoat,bravebird,knockoff,roost,toxic,Steel": 196, "heavydutyboots,overcoat,bravebird,defog,foulplay,roost,Steel": 139, "heavydutyboots,overcoat,bravebird,defog,knockoff,roost,Steel": 144, "heavydutyboots,overcoat,foulplay,roost,toxic,uturn,Steel": 77}, + "masquerain": {"heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stickyweb,Water": 73, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,quiverdance,Water": 665, "heavydutyboots,intimidate,hurricane,stickyweb,stunspore,uturn,Steel": 29, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,uturn,Water": 67, "heavydutyboots,intimidate,hurricane,stickyweb,stunspore,uturn,Ground": 33, "heavydutyboots,intimidate,bugbuzz,hurricane,stickyweb,stunspore,Ground": 40, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,stunspore,Water": 58, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stickyweb,Steel": 32, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,stunspore,Steel": 34, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stickyweb,Ground": 29, "heavydutyboots,intimidate,bugbuzz,hurricane,stickyweb,uturn,Steel": 42, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,uturn,Steel": 40, "heavydutyboots,intimidate,bugbuzz,hurricane,stickyweb,uturn,Ground": 39, "heavydutyboots,intimidate,bugbuzz,hurricane,stickyweb,stunspore,Steel": 32, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,stunspore,Ground": 31, "heavydutyboots,intimidate,hurricane,hydropump,stickyweb,uturn,Ground": 29, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stunspore,Steel": 5, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stunspore,Ground": 1, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,uturn,Ground": 3, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,stunspore,Water": 1, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,uturn,Steel": 1, "heavydutyboots,intimidate,bugbuzz,hurricane,stunspore,uturn,Steel": 3, "heavydutyboots,intimidate,bugbuzz,hurricane,stunspore,uturn,Ground": 1, "heavydutyboots,intimidate,bugbuzz,hurricane,hydropump,uturn,Water": 3, "heavydutyboots,intimidate,hurricane,hydropump,stunspore,uturn,Water": 1}, + "maushold": {"widelens,technician,bite,encore,populationbomb,tidyup,Normal": 740, "widelens,technician,bite,encore,populationbomb,tidyup,Ghost": 719}, + "medicham": {"choicescarf,purepower,closecombat,icepunch,poisonjab,zenheadbutt,Fighting": 232, "choiceband,purepower,bulletpunch,closecombat,poisonjab,zenheadbutt,Fighting": 509, "choiceband,purepower,bulletpunch,closecombat,icepunch,zenheadbutt,Fighting": 490, "choiceband,purepower,closecombat,icepunch,poisonjab,zenheadbutt,Fighting": 238}, + "meganium": {"leftovers,overgrow,energyball,knockoff,leechseed,synthesis,Poison": 75, "lifeorb,overgrow,earthquake,knockoff,petalblizzard,swordsdance,Water": 231, "leftovers,overgrow,energyball,knockoff,leechseed,synthesis,Steel": 71, "leftovers,overgrow,energyball,knockoff,leechseed,synthesis,Water": 73, "leftovers,overgrow,encore,energyball,knockoff,synthesis,Steel": 82, "lifeorb,overgrow,earthquake,knockoff,petalblizzard,swordsdance,Ground": 262, "leftovers,overgrow,dragontail,energyball,knockoff,synthesis,Steel": 78, "lifeorb,overgrow,earthquake,knockoff,petalblizzard,swordsdance,Steel": 255, "leftovers,overgrow,dragontail,energyball,knockoff,synthesis,Water": 91, "leftovers,overgrow,encore,energyball,knockoff,synthesis,Poison": 77, "leftovers,overgrow,dragontail,energyball,knockoff,synthesis,Poison": 88, "leftovers,overgrow,encore,energyball,knockoff,synthesis,Water": 66}, + "meloetta": {"lifeorb,serenegrace,closecombat,knockoff,relicsong,tripleaxel,Fighting": 354, "choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn,Fighting": 135, "choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn,Normal": 120, "lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock,Normal": 124, "lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock,Fighting": 126, "choicespecs,serenegrace,focusblast,hypervoice,psyshock,uturn,Psychic": 119, "lifeorb,serenegrace,closecombat,knockoff,relicsong,tripleaxel,Dark": 360, "lifeorb,serenegrace,calmmind,focusblast,hypervoice,psyshock,Psychic": 116}, + "meowscarada": {"focussash,protean,flowertrick,knockoff,toxicspikes,tripleaxel,Grass": 38, "choiceband,protean,flowertrick,knockoff,tripleaxel,uturn,Grass": 243, "lifeorb,protean,flowertrick,knockoff,toxicspikes,tripleaxel,Dark": 154, "choiceband,protean,flowertrick,knockoff,tripleaxel,uturn,Dark": 253, "heavydutyboots,protean,flowertrick,knockoff,toxicspikes,uturn,Dark": 223, "heavydutyboots,protean,flowertrick,knockoff,toxicspikes,uturn,Grass": 201, "lifeorb,protean,flowertrick,knockoff,toxicspikes,tripleaxel,Grass": 168, "focussash,protean,flowertrick,knockoff,toxicspikes,tripleaxel,Dark": 39}, + "meowstic": {"lightclay,prankster,lightscreen,psychicnoise,reflect,thunderwave,Fairy": 193, "lightclay,prankster,lightscreen,psychicnoise,reflect,yawn,Fairy": 176, "leftovers,prankster,alluringvoice,psychicnoise,thunderwave,yawn,Fairy": 236, "lightclay,prankster,alluringvoice,lightscreen,psychicnoise,reflect,Fairy": 176}, + "meowsticf": {"lifeorb,competitive,alluringvoice,darkpulse,nastyplot,psychic,Fairy": 66, "lifeorb,competitive,alluringvoice,darkpulse,nastyplot,psyshock,Fairy": 63, "lifeorb,competitive,darkpulse,nastyplot,psychic,thunderbolt,Dark": 67, "lifeorb,competitive,alluringvoice,darkpulse,nastyplot,psychic,Dark": 61, "lifeorb,competitive,alluringvoice,nastyplot,psyshock,thunderbolt,Fairy": 40, "lifeorb,competitive,darkpulse,nastyplot,psyshock,thunderbolt,Electric": 80, "lifeorb,competitive,darkpulse,nastyplot,psychic,thunderbolt,Electric": 55, "lifeorb,competitive,alluringvoice,darkpulse,nastyplot,psyshock,Dark": 65, "lifeorb,competitive,alluringvoice,nastyplot,psyshock,thunderbolt,Electric": 75, "lifeorb,competitive,alluringvoice,nastyplot,psychic,thunderbolt,Electric": 70, "lifeorb,competitive,darkpulse,nastyplot,psyshock,thunderbolt,Dark": 59, "lifeorb,competitive,alluringvoice,nastyplot,psychic,thunderbolt,Fairy": 58}, + "mesprit": {"choicescarf,levitate,dazzlinggleam,healingwish,psychic,thunderbolt,Electric": 24, "lifeorb,levitate,dazzlinggleam,icebeam,nastyplot,psychic,Fairy": 17, "lifeorb,levitate,nastyplot,psychic,shadowball,thunderbolt,Electric": 16, "assaultvest,levitate,drainpunch,icebeam,knockoff,psychicnoise,Fighting": 32, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,uturn,Fairy": 22, "assaultvest,levitate,icebeam,knockoff,psychicnoise,uturn,Dark": 31, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,thunderbolt,Fairy": 24, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Steel": 13, "lifeorb,levitate,icebeam,nastyplot,psychic,thunderbolt,Electric": 27, "choicescarf,levitate,dazzlinggleam,healingwish,psychic,shadowball,Fairy": 16, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Steel": 11, "choicespecs,levitate,dazzlinggleam,icebeam,psychic,shadowball,Fairy": 8, "assaultvest,levitate,drainpunch,icebeam,psychicnoise,uturn,Fighting": 31, "assaultvest,levitate,knockoff,psychicnoise,thunderbolt,uturn,Dark": 25, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Dark": 57, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Dark": 16, "leftovers,levitate,drainpunch,icebeam,psychicnoise,thunderwave,Fighting": 32, "choicespecs,levitate,dazzlinggleam,psychic,shadowball,uturn,Fairy": 25, "choicespecs,levitate,dazzlinggleam,psychic,thunderbolt,uturn,Electric": 17, "choicespecs,levitate,icebeam,psychic,shadowball,thunderbolt,Electric": 4, "assaultvest,levitate,drainpunch,psychicnoise,thunderbolt,uturn,Fighting": 21, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Steel": 16, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Electric": 16, "choicescarf,levitate,dazzlinggleam,psychic,shadowball,thunderbolt,Fairy": 10, "choicescarf,levitate,dazzlinggleam,icebeam,psychic,thunderbolt,Fairy": 9, "choicescarf,levitate,dazzlinggleam,healingwish,icebeam,psychic,Fairy": 29, "assaultvest,levitate,drainpunch,knockoff,psychicnoise,thunderbolt,Fighting": 23, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,thunderbolt,Electric": 20, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Steel": 18, "assaultvest,levitate,drainpunch,knockoff,psychicnoise,thunderbolt,Dark": 27, "assaultvest,levitate,drainpunch,knockoff,psychicnoise,uturn,Fighting": 27, "choicespecs,levitate,dazzlinggleam,icebeam,psychic,thunderbolt,Fairy": 12, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Dark": 13, "choicespecs,levitate,dazzlinggleam,icebeam,psychic,uturn,Fairy": 23, "choicespecs,levitate,psychic,shadowball,thunderbolt,uturn,Electric": 28, "leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Electric": 18, "leftovers,levitate,knockoff,psychicnoise,thunderbolt,thunderwave,Dark": 23, "choicescarf,levitate,icebeam,psychic,shadowball,thunderbolt,Electric": 10, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Steel": 19, "leftovers,levitate,drainpunch,psychicnoise,thunderbolt,thunderwave,Fighting": 28, "assaultvest,levitate,drainpunch,icebeam,psychicnoise,thunderbolt,Fighting": 24, "leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Steel": 20, "choicescarf,levitate,dazzlinggleam,healingwish,psychic,thunderbolt,Fairy": 22, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Dark": 24, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Electric": 18, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Steel": 14, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Electric": 18, "leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Dark": 12, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Electric": 18, "leftovers,levitate,icebeam,knockoff,psychicnoise,thunderwave,Dark": 23, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Electric": 19, "choicescarf,levitate,healingwish,psychic,shadowball,thunderbolt,Electric": 19, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Dark": 15, "assaultvest,levitate,icebeam,knockoff,psychicnoise,thunderbolt,Dark": 38, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Steel": 14, "assaultvest,levitate,drainpunch,knockoff,psychicnoise,uturn,Dark": 20, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Steel": 24, "leftovers,levitate,drainpunch,knockoff,psychicnoise,thunderwave,Dark": 20, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Steel": 17, "assaultvest,levitate,drainpunch,icebeam,knockoff,psychicnoise,Dark": 25, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Dark": 13, "choicescarf,levitate,dazzlinggleam,icebeam,psychic,thunderbolt,Electric": 11, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Electric": 11, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Electric": 11, "choicescarf,levitate,dazzlinggleam,psychic,shadowball,thunderbolt,Electric": 9, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Dark": 19, "choicescarf,levitate,healingwish,icebeam,psychic,thunderbolt,Electric": 20, "choicespecs,levitate,dazzlinggleam,icebeam,psychic,thunderbolt,Electric": 7, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Dark": 23, "leftovers,levitate,drainpunch,psychicnoise,thunderwave,uturn,Fighting": 22, "lifeorb,levitate,dazzlinggleam,nastyplot,psychic,shadowball,Fairy": 19, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Electric": 11, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Dark": 17, "choicescarf,levitate,dazzlinggleam,icebeam,psychic,shadowball,Fairy": 9, "choicespecs,levitate,icebeam,psychic,thunderbolt,uturn,Electric": 26, "choicespecs,levitate,dazzlinggleam,psychic,shadowball,thunderbolt,Fairy": 8, "leftovers,levitate,drainpunch,knockoff,psychicnoise,thunderwave,Fighting": 20, "choicespecs,levitate,dazzlinggleam,psychic,shadowball,thunderbolt,Electric": 6, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Electric": 11}, + "metagross": {"choiceband,clearbody,bulletpunch,earthquake,heavyslam,knockoff,Water": 103, "leftovers,clearbody,earthquake,heavyslam,psychicfangs,stealthrock,Water": 60, "leftovers,clearbody,bulletpunch,earthquake,heavyslam,stealthrock,Water": 62, "leftovers,clearbody,earthquake,heavyslam,knockoff,stealthrock,Water": 73, "weaknesspolicy,clearbody,agility,earthquake,heavyslam,psychicfangs,Ground": 299, "leftovers,clearbody,bulletpunch,heavyslam,knockoff,stealthrock,Water": 62, "weaknesspolicy,clearbody,agility,earthquake,heavyslam,knockoff,Ground": 332, "leftovers,clearbody,heavyslam,knockoff,psychicfangs,stealthrock,Water": 58, "leftovers,clearbody,bulletpunch,heavyslam,psychicfangs,stealthrock,Water": 56, "choiceband,clearbody,earthquake,heavyslam,knockoff,psychicfangs,Water": 35, "choiceband,clearbody,bulletpunch,heavyslam,knockoff,psychicfangs,Water": 74, "choiceband,clearbody,bulletpunch,earthquake,heavyslam,psychicfangs,Water": 75, "choicescarf,clearbody,earthquake,heavyslam,knockoff,psychicfangs,Water": 36}, + "mew": {"lifeorb,synchronize,closecombat,knockoff,psychicfangs,swordsdance,Fighting": 268, "lifeorb,synchronize,closecombat,leechlife,psychicfangs,swordsdance,Fighting": 271, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psyshock,Dark": 10, "leftovers,synchronize,encore,psychic,stealthrock,willowisp,Steel": 4, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psychic,Ground": 16, "leftovers,synchronize,knockoff,psychicnoise,uturn,willowisp,Dark": 8, "leftovers,synchronize,encore,knockoff,psychic,toxicspikes,Dark": 6, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psychic,Psychic": 7, "leftovers,synchronize,encore,psychic,uturn,willowisp,Fairy": 6, "lifeorb,synchronize,bugbuzz,darkpulse,nastyplot,psychic,Psychic": 4, "leftovers,synchronize,knockoff,psychic,uturn,willowisp,Steel": 6, "leftovers,synchronize,encore,knockoff,psychicnoise,uturn,Fairy": 8, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psyshock,Water": 11, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psyshock,Ground": 11, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psyshock,Ground": 7, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psychic,Dark": 8, "leftovers,synchronize,psychicnoise,stealthrock,uturn,willowisp,Dark": 3, "leftovers,synchronize,encore,psychicnoise,stealthrock,uturn,Fairy": 4, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psychic,Psychic": 5, "leftovers,synchronize,encore,knockoff,psychic,uturn,Fairy": 11, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psyshock,Dark": 7, "leftovers,synchronize,knockoff,psychic,uturn,willowisp,Fairy": 8, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic,Fire": 10, "leftovers,synchronize,knockoff,psychic,toxicspikes,uturn,Steel": 7, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psychic,Water": 12, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psyshock,Water": 11, "leftovers,synchronize,encore,knockoff,psychic,willowisp,Dark": 6, "leftovers,synchronize,knockoff,psychicnoise,toxicspikes,uturn,Dark": 4, "lifeorb,synchronize,bugbuzz,earthpower,nastyplot,psyshock,Ground": 9, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic,Psychic": 10, "leftovers,synchronize,knockoff,psychic,stealthrock,toxicspikes,Dark": 6, "leftovers,synchronize,knockoff,psychic,toxicspikes,uturn,Fairy": 11, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psychic,Fighting": 11, "leftovers,synchronize,psychic,stealthrock,toxicspikes,uturn,Dark": 8, "leftovers,synchronize,encore,knockoff,psychicnoise,willowisp,Steel": 12, "leftovers,synchronize,encore,knockoff,psychicnoise,toxicspikes,Steel": 5, "leftovers,synchronize,knockoff,psychic,uturn,willowisp,Dark": 5, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psyshock,Psychic": 2, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psyshock,Psychic": 3, "lifeorb,synchronize,bugbuzz,hydropump,nastyplot,psyshock,Water": 8, "lifeorb,synchronize,bugbuzz,fireblast,nastyplot,psyshock,Fire": 10, "leftovers,synchronize,encore,knockoff,psychic,willowisp,Steel": 7, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psyshock,Fighting": 9, "leftovers,synchronize,encore,psychicnoise,stealthrock,uturn,Dark": 7, "leftovers,synchronize,encore,knockoff,psychicnoise,willowisp,Dark": 12, "leftovers,synchronize,encore,knockoff,psychic,toxicspikes,Steel": 4, "lifeorb,synchronize,bugbuzz,hydropump,nastyplot,psyshock,Psychic": 2, "leftovers,synchronize,psychic,stealthrock,uturn,willowisp,Steel": 7, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic,Fighting": 12, "leftovers,synchronize,knockoff,psychic,stealthrock,toxicspikes,Fairy": 8, "lifeorb,synchronize,bugbuzz,darkpulse,nastyplot,psyshock,Dark": 13, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psychic,Fighting": 8, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psychic,Dark": 9, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psyshock,Fire": 12, "leftovers,synchronize,encore,knockoff,psychicnoise,toxicspikes,Fairy": 6, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psyshock,Dark": 5, "lifeorb,synchronize,bugbuzz,fireblast,nastyplot,psychic,Psychic": 5, "lifeorb,synchronize,aurasphere,bugbuzz,nastyplot,psyshock,Fighting": 7, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psyshock,Psychic": 2, "lifeorb,synchronize,bugbuzz,hydropump,nastyplot,psychic,Water": 10, "leftovers,synchronize,knockoff,psychic,stealthrock,willowisp,Dark": 4, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psyshock,Psychic": 2, "leftovers,synchronize,encore,psychicnoise,stealthrock,willowisp,Steel": 5, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psyshock,Fighting": 8, "leftovers,synchronize,encore,psychicnoise,toxicspikes,uturn,Steel": 5, "leftovers,synchronize,psychicnoise,stealthrock,uturn,willowisp,Steel": 5, "leftovers,synchronize,knockoff,psychicnoise,toxicspikes,uturn,Steel": 8, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psychic,Psychic": 2, "leftovers,synchronize,encore,knockoff,psychicnoise,stealthrock,Fairy": 3, "leftovers,synchronize,knockoff,psychicnoise,uturn,willowisp,Fairy": 9, "leftovers,synchronize,encore,psychicnoise,uturn,willowisp,Steel": 7, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psyshock,Fighting": 7, "leftovers,synchronize,knockoff,psychicnoise,uturn,willowisp,Steel": 5, "leftovers,synchronize,encore,psychicnoise,stealthrock,willowisp,Fairy": 4, "leftovers,synchronize,encore,psychic,uturn,willowisp,Dark": 8, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic,Psychic": 2, "leftovers,synchronize,encore,psychic,stealthrock,uturn,Dark": 3, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psyshock,Dark": 8, "lifeorb,synchronize,bugbuzz,hydropump,nastyplot,psychic,Psychic": 3, "leftovers,synchronize,encore,knockoff,psychic,stealthrock,Fairy": 4, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psyshock,Water": 8, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,willowisp,Steel": 8, "leftovers,synchronize,encore,psychicnoise,toxicspikes,uturn,Fairy": 7, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psyshock,Ground": 10, "leftovers,synchronize,encore,psychic,uturn,willowisp,Steel": 14, "leftovers,synchronize,encore,psychicnoise,stealthrock,uturn,Steel": 1, "leftovers,synchronize,psychic,stealthrock,toxicspikes,uturn,Fairy": 5, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psychic,Ground": 12, "leftovers,synchronize,encore,psychicnoise,uturn,willowisp,Dark": 5, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psyshock,Psychic": 1, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psyshock,Fire": 11, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,willowisp,Dark": 3, "leftovers,synchronize,encore,knockoff,psychic,stealthrock,Dark": 2, "leftovers,synchronize,encore,psychic,stealthrock,uturn,Fairy": 3, "leftovers,synchronize,psychicnoise,stealthrock,toxicspikes,uturn,Steel": 3, "leftovers,synchronize,encore,knockoff,psychicnoise,toxicspikes,Dark": 8, "leftovers,synchronize,knockoff,psychic,toxicspikes,uturn,Dark": 4, "leftovers,synchronize,knockoff,psychic,stealthrock,uturn,Fairy": 1, "leftovers,synchronize,encore,psychicnoise,uturn,willowisp,Fairy": 3, "leftovers,synchronize,encore,psychic,toxicspikes,uturn,Fairy": 9, "leftovers,synchronize,encore,psychic,stealthrock,toxicspikes,Steel": 5, "lifeorb,synchronize,bugbuzz,darkpulse,nastyplot,psyshock,Psychic": 3, "leftovers,synchronize,encore,psychic,stealthrock,toxicspikes,Dark": 2, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psyshock,Fire": 9, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psyshock,Water": 9, "leftovers,synchronize,encore,psychic,stealthrock,uturn,Steel": 6, "lifeorb,synchronize,aurasphere,bugbuzz,nastyplot,psychic,Psychic": 2, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psychic,Water": 9, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic,Ground": 9, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psychic,Water": 5, "leftovers,synchronize,encore,psychic,stealthrock,willowisp,Fairy": 6, "leftovers,synchronize,knockoff,psychicnoise,toxicspikes,uturn,Fairy": 7, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psyshock,Fire": 12, "leftovers,synchronize,knockoff,psychic,stealthrock,toxicspikes,Steel": 5, "leftovers,synchronize,encore,psychicnoise,toxicspikes,uturn,Dark": 9, "leftovers,synchronize,encore,psychicnoise,stealthrock,toxicspikes,Fairy": 2, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psyshock,Ground": 10, "leftovers,synchronize,encore,psychicnoise,stealthrock,toxicspikes,Steel": 4, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,uturn,Dark": 4, "leftovers,synchronize,knockoff,psychic,stealthrock,willowisp,Steel": 5, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,willowisp,Fairy": 4, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psychic,Water": 8, "lifeorb,synchronize,aurasphere,bugbuzz,nastyplot,psychic,Fighting": 8, "leftovers,synchronize,encore,knockoff,psychicnoise,willowisp,Fairy": 5, "leftovers,synchronize,encore,knockoff,psychicnoise,stealthrock,Dark": 3, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic,Ground": 12, "leftovers,synchronize,psychic,stealthrock,uturn,willowisp,Fairy": 2, "lifeorb,synchronize,bugbuzz,darkpulse,nastyplot,psychic,Dark": 6, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psychic,Dark": 11, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psychic,Psychic": 3, "leftovers,synchronize,encore,psychic,stealthrock,toxicspikes,Fairy": 5, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psyshock,Fighting": 6, "leftovers,synchronize,encore,knockoff,psychicnoise,stealthrock,Steel": 5, "lifeorb,synchronize,earthpower,fireblast,nastyplot,psychic,Fire": 4, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,toxicspikes,Fairy": 3, "leftovers,synchronize,psychic,stealthrock,toxicspikes,uturn,Steel": 7, "leftovers,synchronize,psychicnoise,stealthrock,uturn,willowisp,Fairy": 3, "lifeorb,synchronize,fireblast,hydropump,nastyplot,psychic,Fire": 6, "lifeorb,synchronize,aurasphere,fireblast,nastyplot,psychic,Fighting": 4, "leftovers,synchronize,encore,knockoff,psychic,willowisp,Fairy": 6, "lifeorb,synchronize,aurasphere,bugbuzz,nastyplot,psyshock,Psychic": 1, "leftovers,synchronize,encore,knockoff,psychic,stealthrock,Steel": 2, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psychic,Fire": 8, "lifeorb,synchronize,bugbuzz,fireblast,nastyplot,psychic,Fire": 12, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psychic,Psychic": 1, "leftovers,synchronize,encore,knockoff,psychicnoise,uturn,Steel": 3, "leftovers,synchronize,encore,knockoff,psychicnoise,uturn,Dark": 4, "leftovers,synchronize,encore,knockoff,psychic,toxicspikes,Fairy": 4, "leftovers,synchronize,knockoff,psychic,stealthrock,uturn,Steel": 2, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psyshock,Psychic": 5, "leftovers,synchronize,knockoff,psychic,stealthrock,willowisp,Fairy": 2, "leftovers,synchronize,encore,psychicnoise,stealthrock,toxicspikes,Dark": 4, "lifeorb,synchronize,bugbuzz,earthpower,nastyplot,psyshock,Psychic": 2, "lifeorb,synchronize,darkpulse,earthpower,nastyplot,psychic,Dark": 4, "leftovers,synchronize,encore,psychicnoise,stealthrock,willowisp,Dark": 5, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,uturn,Fairy": 3, "leftovers,synchronize,psychicnoise,stealthrock,toxicspikes,uturn,Dark": 5, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,toxicspikes,Dark": 2, "lifeorb,synchronize,aurasphere,hydropump,nastyplot,psychic,Psychic": 1, "leftovers,synchronize,encore,knockoff,psychic,uturn,Steel": 8, "lifeorb,synchronize,aurasphere,darkpulse,nastyplot,psyshock,Psychic": 5, "lifeorb,synchronize,aurasphere,earthpower,nastyplot,psyshock,Psychic": 3, "leftovers,synchronize,psychicnoise,stealthrock,toxicspikes,uturn,Fairy": 5, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,toxicspikes,Steel": 3, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psyshock,Psychic": 2, "lifeorb,synchronize,darkpulse,hydropump,nastyplot,psyshock,Psychic": 2, "lifeorb,synchronize,darkpulse,fireblast,nastyplot,psychic,Psychic": 2, "leftovers,synchronize,encore,psychic,stealthrock,willowisp,Dark": 3, "lifeorb,synchronize,earthpower,hydropump,nastyplot,psychic,Psychic": 2, "leftovers,synchronize,encore,knockoff,psychic,uturn,Dark": 4, "lifeorb,synchronize,bugbuzz,earthpower,nastyplot,psychic,Ground": 2, "leftovers,synchronize,knockoff,psychicnoise,stealthrock,uturn,Steel": 1, "leftovers,synchronize,knockoff,psychic,stealthrock,uturn,Dark": 1, "leftovers,synchronize,encore,psychic,toxicspikes,uturn,Steel": 3, "leftovers,synchronize,psychic,stealthrock,uturn,willowisp,Dark": 1, "leftovers,synchronize,encore,psychic,toxicspikes,uturn,Dark": 2}, + "mewtwo": {"lifeorb,unnerve,fireblast,nastyplot,psystrike,recover,Fire": 61, "lifeorb,unnerve,darkpulse,nastyplot,psystrike,recover,Dark": 69, "lifeorb,unnerve,aurasphere,nastyplot,psystrike,recover,Fighting": 70, "lifeorb,unnerve,aurasphere,fireblast,nastyplot,psystrike,Psychic": 46, "lifeorb,unnerve,darkpulse,fireblast,nastyplot,psystrike,Fire": 59, "lifeorb,unnerve,aurasphere,darkpulse,nastyplot,psystrike,Dark": 64, "lifeorb,unnerve,aurasphere,nastyplot,psystrike,recover,Psychic": 20, "choicespecs,unnerve,aurasphere,darkpulse,fireblast,psystrike,Fighting": 65, "lifeorb,unnerve,aurasphere,fireblast,nastyplot,psystrike,Fire": 60, "choicespecs,unnerve,aurasphere,darkpulse,fireblast,psystrike,Psychic": 52, "lifeorb,unnerve,darkpulse,nastyplot,psystrike,recover,Psychic": 20, "choicespecs,unnerve,aurasphere,darkpulse,fireblast,psystrike,Dark": 63, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover,Psychic": 55, "choicespecs,unnerve,aurasphere,darkpulse,fireblast,psystrike,Fire": 66, "lifeorb,unnerve,darkpulse,fireblast,psystrike,recover,Dark": 60, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover,Fighting": 54, "lifeorb,unnerve,aurasphere,fireblast,nastyplot,psystrike,Fighting": 68, "lifeorb,unnerve,aurasphere,darkpulse,psystrike,recover,Dark": 57, "lifeorb,unnerve,aurasphere,darkpulse,nastyplot,psystrike,Fighting": 77, "lifeorb,unnerve,fireblast,nastyplot,psystrike,recover,Psychic": 22, "lifeorb,unnerve,aurasphere,fireblast,psystrike,recover,Fire": 53, "lifeorb,unnerve,darkpulse,fireblast,psystrike,recover,Psychic": 39, "lifeorb,unnerve,darkpulse,fireblast,psystrike,recover,Fire": 55, "lifeorb,unnerve,aurasphere,darkpulse,psystrike,recover,Fighting": 51, "lifeorb,unnerve,aurasphere,darkpulse,psystrike,recover,Psychic": 32, "lifeorb,unnerve,darkpulse,fireblast,nastyplot,psystrike,Dark": 68, "lifeorb,unnerve,aurasphere,darkpulse,nastyplot,psystrike,Psychic": 38, "lifeorb,unnerve,darkpulse,fireblast,nastyplot,psystrike,Psychic": 45}, + "mienshao": {"assaultvest,regenerator,closecombat,fakeout,knockoff,uturn,Steel": 223, "choiceband,reckless,highjumpkick,knockoff,stoneedge,uturn,Fighting": 157, "assaultvest,regenerator,closecombat,fakeout,knockoff,uturn,Dark": 259, "lifeorb,regenerator,closecombat,knockoff,swordsdance,tripleaxel,Fighting": 87, "choiceband,reckless,highjumpkick,knockoff,poisonjab,stoneedge,Fighting": 156, "lifeorb,regenerator,closecombat,knockoff,poisonjab,swordsdance,Poison": 151, "lifeorb,regenerator,closecombat,knockoff,poisonjab,swordsdance,Dark": 86, "lifeorb,regenerator,closecombat,knockoff,swordsdance,tripleaxel,Dark": 75, "lifeorb,regenerator,closecombat,knockoff,poisonjab,swordsdance,Fighting": 90, "choiceband,reckless,highjumpkick,knockoff,poisonjab,uturn,Fighting": 186}, + "mightyena": {"assaultvest,intimidate,playrough,suckerpunch,superfang,throatchop,Fairy": 67, "leftovers,intimidate,crunch,poisonfang,suckerpunch,taunt,Poison": 76, "assaultvest,intimidate,crunch,playrough,poisonfang,superfang,Fairy": 58, "assaultvest,intimidate,poisonfang,suckerpunch,superfang,throatchop,Poison": 60, "assaultvest,intimidate,crunch,playrough,poisonfang,superfang,Poison": 60, "assaultvest,intimidate,playrough,poisonfang,suckerpunch,throatchop,Poison": 73, "leftovers,intimidate,poisonfang,suckerpunch,taunt,throatchop,Poison": 94, "assaultvest,intimidate,crunch,playrough,poisonfang,suckerpunch,Poison": 78, "choiceband,intimidate,crunch,playrough,poisonfang,suckerpunch,Poison": 88, "leftovers,intimidate,playrough,suckerpunch,taunt,throatchop,Fairy": 75, "assaultvest,intimidate,crunch,playrough,poisonfang,suckerpunch,Fairy": 73, "choiceband,intimidate,playrough,poisonfang,suckerpunch,throatchop,Fairy": 107, "assaultvest,intimidate,crunch,poisonfang,suckerpunch,superfang,Poison": 68, "leftovers,intimidate,crunch,playrough,suckerpunch,taunt,Fairy": 109, "choiceband,intimidate,crunch,playrough,poisonfang,suckerpunch,Fairy": 90, "assaultvest,intimidate,playrough,poisonfang,superfang,throatchop,Fairy": 65, "assaultvest,intimidate,crunch,playrough,suckerpunch,superfang,Fairy": 68, "assaultvest,intimidate,playrough,poisonfang,suckerpunch,throatchop,Fairy": 56, "assaultvest,intimidate,playrough,poisonfang,superfang,throatchop,Poison": 69, "choiceband,intimidate,playrough,poisonfang,suckerpunch,throatchop,Poison": 96}, + "milotic": {"leftovers,competitive,haze,icebeam,recover,scald,Dragon": 264, "leftovers,competitive,flipturn,icebeam,recover,scald,Steel": 244, "leftovers,competitive,haze,icebeam,recover,scald,Steel": 305, "leftovers,competitive,dragontail,icebeam,recover,scald,Steel": 262, "leftovers,competitive,dragontail,icebeam,recover,scald,Dragon": 229, "leftovers,competitive,flipturn,icebeam,recover,scald,Dragon": 231}, + "mimikyu": {"lifeorb,disguise,playrough,shadowclaw,shadowsneak,swordsdance,Fairy": 382, "lifeorb,disguise,playrough,shadowsneak,swordsdance,woodhammer,Fairy": 114, "lifeorb,disguise,playrough,shadowsneak,swordsdance,woodhammer,Grass": 233, "lifeorb,disguise,playrough,shadowclaw,shadowsneak,swordsdance,Ghost": 367, "lifeorb,disguise,drainpunch,playrough,shadowsneak,swordsdance,Fairy": 117, "lifeorb,disguise,drainpunch,playrough,shadowsneak,swordsdance,Fighting": 288}, + "minior": {"whiteherb,shieldsdown,acrobatics,earthquake,powergem,shellsmash,Steel": 333, "whiteherb,shieldsdown,acrobatics,earthquake,powergem,shellsmash,Flying": 316, "whiteherb,shieldsdown,acrobatics,earthquake,powergem,shellsmash,Ground": 341, "whiteherb,shieldsdown,acrobatics,earthquake,powergem,shellsmash,Water": 327}, + "minun": {"lifeorb,voltabsorb,encore,grassknot,nastyplot,thunderbolt,Grass": 258, "lifeorb,voltabsorb,alluringvoice,encore,nastyplot,thunderbolt,Electric": 125, "lifeorb,voltabsorb,alluringvoice,grassknot,nastyplot,thunderbolt,Fairy": 262, "lifeorb,voltabsorb,alluringvoice,grassknot,nastyplot,thunderbolt,Electric": 247, "lifeorb,voltabsorb,alluringvoice,encore,nastyplot,thunderbolt,Fairy": 267, "lifeorb,voltabsorb,encore,grassknot,nastyplot,thunderbolt,Electric": 110, "lifeorb,voltabsorb,alluringvoice,grassknot,nastyplot,thunderbolt,Grass": 235}, + "miraidon": {"leftovers,hadronengine,calmmind,dracometeor,electrodrift,substitute,Electric": 685, "choicespecs,hadronengine,dracometeor,electrodrift,overheat,voltswitch,Electric": 694}, + "misdreavus": {"eviolite,levitate,calmmind,drainingkiss,shadowball,willowisp,Fairy": 1582}, + "mismagius": {"lifeorb,levitate,dazzlinggleam,mysticalfire,nastyplot,shadowball,Fairy": 79, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,trick,Ghost": 11, "lifeorb,levitate,dazzlinggleam,nastyplot,shadowball,thunderbolt,Fairy": 82, "choicespecs,levitate,dazzlinggleam,energyball,shadowball,trick,Fairy": 31, "leftovers,levitate,nastyplot,shadowball,substitute,terablast,Fighting": 500, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,thunderbolt,Fairy": 24, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,thunderbolt,Ghost": 20, "choicespecs,levitate,energyball,mysticalfire,shadowball,thunderbolt,Electric": 33, "leftovers,levitate,nastyplot,shadowball,substitute,thunderbolt,Electric": 99, "choicespecs,levitate,dazzlinggleam,energyball,shadowball,thunderbolt,Fairy": 22, "lifeorb,levitate,dazzlinggleam,nastyplot,shadowball,thunderbolt,Electric": 100, "choicespecs,levitate,energyball,mysticalfire,shadowball,trick,Fire": 30, "lifeorb,levitate,mysticalfire,nastyplot,shadowball,thunderbolt,Electric": 100, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,thunderbolt,Fire": 23, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,thunderbolt,Electric": 27, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,trick,Fairy": 26, "choicespecs,levitate,dazzlinggleam,energyball,mysticalfire,shadowball,Fairy": 29, "choicespecs,levitate,mysticalfire,shadowball,thunderbolt,trick,Fire": 24, "choicespecs,levitate,energyball,mysticalfire,shadowball,thunderbolt,Fire": 26, "choicespecs,levitate,dazzlinggleam,shadowball,thunderbolt,trick,Electric": 22, "choicespecs,levitate,mysticalfire,shadowball,thunderbolt,trick,Ghost": 15, "choicespecs,levitate,dazzlinggleam,energyball,mysticalfire,shadowball,Ghost": 19, "choicespecs,levitate,energyball,mysticalfire,shadowball,thunderbolt,Ghost": 19, "leftovers,levitate,dazzlinggleam,nastyplot,shadowball,substitute,Fairy": 81, "choicespecs,levitate,dazzlinggleam,energyball,mysticalfire,shadowball,Fire": 24, "choicespecs,levitate,dazzlinggleam,mysticalfire,shadowball,trick,Fire": 25, "choicespecs,levitate,energyball,shadowball,thunderbolt,trick,Electric": 19, "choicespecs,levitate,mysticalfire,shadowball,thunderbolt,trick,Electric": 19, "choicespecs,levitate,dazzlinggleam,shadowball,thunderbolt,trick,Ghost": 13, "choicespecs,levitate,energyball,mysticalfire,shadowball,trick,Ghost": 11, "choicespecs,levitate,dazzlinggleam,energyball,shadowball,thunderbolt,Electric": 13, "choicespecs,levitate,dazzlinggleam,energyball,shadowball,thunderbolt,Ghost": 12, "choicespecs,levitate,dazzlinggleam,energyball,shadowball,trick,Ghost": 11, "choicespecs,levitate,dazzlinggleam,shadowball,thunderbolt,trick,Fairy": 14, "choicespecs,levitate,energyball,shadowball,thunderbolt,trick,Ghost": 9}, + "moltres": {"heavydutyboots,flamebody,bravebird,fireblast,roost,willowisp,Steel": 73, "heavydutyboots,flamebody,bravebird,fireblast,roost,uturn,Dragon": 75, "heavydutyboots,flamebody,bravebird,fireblast,roost,willowisp,Dragon": 75, "heavydutyboots,flamebody,bravebird,fireblast,roost,scorchingsands,Ground": 242, "heavydutyboots,flamebody,bravebird,fireblast,roost,uturn,Steel": 74, "heavydutyboots,flamebody,bravebird,fireblast,roost,scorchingsands,Dragon": 67, "heavydutyboots,flamebody,bravebird,fireblast,roost,scorchingsands,Steel": 65}, + "moltresgalar": {"chestoberry,berserk,fierywrath,hurricane,nastyplot,rest,Steel": 161, "weaknesspolicy,berserk,agility,fierywrath,hurricane,nastyplot,Steel": 171, "chestoberry,berserk,fierywrath,hurricane,nastyplot,rest,Dark": 165, "weaknesspolicy,berserk,agility,fierywrath,hurricane,nastyplot,Dark": 179}, + "morpeko": {"heavydutyboots,hungerswitch,aurawheel,partingshot,protect,rapidspin,Electric": 635, "leftovers,hungerswitch,aurawheel,knockoff,protect,rapidspin,Electric": 662}, + "mudsdale": {"leftovers,stamina,earthquake,heavyslam,stealthrock,stoneedge,Steel": 410, "leftovers,stamina,earthquake,heavyslam,roar,stoneedge,Steel": 612, "leftovers,stamina,earthquake,heavyslam,roar,stealthrock,Steel": 386}, + "muk": {"assaultvest,poisontouch,drainpunch,gunkshot,knockoff,shadowsneak,Dark": 63, "choiceband,poisontouch,drainpunch,knockoff,poisonjab,shadowsneak,Dark": 18, "leftovers,poisontouch,gunkshot,haze,knockoff,shadowsneak,Dark": 26, "leftovers,poisontouch,knockoff,poisonjab,shadowsneak,toxicspikes,Dark": 20, "leftovers,poisontouch,drainpunch,haze,knockoff,poisonjab,Dark": 23, "leftovers,poisontouch,drainpunch,gunkshot,haze,knockoff,Dark": 13, "assaultvest,poisontouch,drainpunch,icepunch,knockoff,poisonjab,Dark": 72, "assaultvest,poisontouch,gunkshot,icepunch,knockoff,shadowsneak,Dark": 54, "assaultvest,poisontouch,drainpunch,knockoff,poisonjab,shadowsneak,Dark": 61, "leftovers,poisontouch,haze,knockoff,poisonjab,shadowsneak,Dark": 22, "assaultvest,poisontouch,icepunch,knockoff,poisonjab,shadowsneak,Dark": 57, "leftovers,poisontouch,icepunch,knockoff,poisonjab,toxicspikes,Dark": 12, "choiceband,poisontouch,icepunch,knockoff,poisonjab,shadowsneak,Dark": 20, "choiceband,poisontouch,gunkshot,icepunch,knockoff,shadowsneak,Dark": 19, "assaultvest,poisontouch,drainpunch,gunkshot,icepunch,knockoff,Dark": 62, "choiceband,poisontouch,drainpunch,icepunch,knockoff,poisonjab,Dark": 21, "leftovers,poisontouch,gunkshot,haze,icepunch,knockoff,Dark": 19, "leftovers,poisontouch,drainpunch,gunkshot,knockoff,toxicspikes,Dark": 16, "leftovers,poisontouch,gunkshot,haze,knockoff,toxicspikes,Dark": 10, "choiceband,poisontouch,drainpunch,gunkshot,knockoff,shadowsneak,Dark": 18, "choiceband,poisontouch,drainpunch,gunkshot,icepunch,knockoff,Dark": 21, "leftovers,poisontouch,gunkshot,knockoff,shadowsneak,toxicspikes,Dark": 20, "leftovers,poisontouch,haze,icepunch,knockoff,poisonjab,Dark": 22, "leftovers,poisontouch,drainpunch,knockoff,poisonjab,toxicspikes,Dark": 13, "leftovers,poisontouch,gunkshot,icepunch,knockoff,toxicspikes,Dark": 14, "leftovers,poisontouch,haze,knockoff,poisonjab,toxicspikes,Dark": 12}, + "mukalola": {"assaultvest,poisontouch,drainpunch,gunkshot,knockoff,shadowsneak,Dark": 116, "assaultvest,poisontouch,drainpunch,knockoff,poisonjab,shadowsneak,Dark": 131, "assaultvest,poisontouch,gunkshot,icepunch,knockoff,shadowsneak,Dark": 110, "assaultvest,poisontouch,icepunch,knockoff,poisonjab,shadowsneak,Dark": 115, "assaultvest,poisontouch,drainpunch,icepunch,knockoff,poisonjab,Dark": 128, "assaultvest,poisontouch,drainpunch,gunkshot,icepunch,knockoff,Dark": 123}, + "munkidori": {"assaultvest,toxicchain,fakeout,psychicnoise,sludgewave,uturn,Dark": 721, "choicespecs,toxicchain,focusblast,psyshock,sludgewave,uturn,Fighting": 186, "choicespecs,toxicchain,focusblast,psyshock,sludgewave,uturn,Poison": 164, "lifeorb,toxicchain,focusblast,nastyplot,psyshock,sludgewave,Poison": 155, "lifeorb,toxicchain,focusblast,nastyplot,psyshock,sludgewave,Fighting": 187}, + "necrozma": {"leftovers,prismarmor,calmmind,earthpower,moonlight,photongeyser,Steel": 38, "lifeorb,prismarmor,dragondance,earthquake,knockoff,photongeyser,Ground": 40, "leftovers,prismarmor,calmmind,earthpower,moonlight,photongeyser,Fairy": 42, "lifeorb,prismarmor,earthquake,knockoff,photongeyser,swordsdance,Steel": 48, "lifeorb,prismarmor,earthquake,knockoff,photongeyser,swordsdance,Dark": 45, "leftovers,prismarmor,calmmind,heatwave,moonlight,photongeyser,Steel": 41, "leftovers,prismarmor,calmmind,heatwave,moonlight,photongeyser,Fairy": 40, "lifeorb,prismarmor,dragondance,earthquake,knockoff,photongeyser,Steel": 35, "leftovers,prismarmor,calmmind,earthpower,moonlight,photongeyser,Ground": 78, "lifeorb,prismarmor,dragondance,earthquake,knockoff,photongeyser,Dark": 35, "lifeorb,prismarmor,earthquake,knockoff,photongeyser,swordsdance,Ground": 50}, + "necrozmadawnwings": {"lifeorb,prismarmor,brickbreak,dragondance,moongeistbeam,photongeyser,Fighting": 249, "leftovers,prismarmor,calmmind,moongeistbeam,moonlight,photongeyser,Dark": 113, "leftovers,prismarmor,calmmind,moongeistbeam,moonlight,photongeyser,Fairy": 121}, + "necrozmaduskmane": {"weaknesspolicy,prismarmor,dragondance,earthquake,morningsun,sunsteelstrike,Steel": 79, "weaknesspolicy,prismarmor,dragondance,earthquake,photongeyser,sunsteelstrike,Water": 69, "weaknesspolicy,prismarmor,dragondance,earthquake,photongeyser,sunsteelstrike,Steel": 79, "weaknesspolicy,prismarmor,dragondance,earthquake,morningsun,sunsteelstrike,Ground": 64, "weaknesspolicy,prismarmor,dragondance,earthquake,photongeyser,sunsteelstrike,Ground": 82, "weaknesspolicy,prismarmor,dragondance,earthquake,morningsun,sunsteelstrike,Water": 78}, + "ninetales": {"heavydutyboots,drought,fireblast,nastyplot,scorchingsands,solarbeam,Grass": 353, "heavydutyboots,drought,fireblast,nastyplot,scorchingsands,solarbeam,Fire": 358}, + "ninetalesalola": {"lightclay,snowwarning,auroraveil,blizzard,freezedry,moonblast,Water": 170, "lightclay,snowwarning,auroraveil,blizzard,encore,moonblast,Steel": 89, "lightclay,snowwarning,auroraveil,blizzard,moonblast,nastyplot,Steel": 87, "lightclay,snowwarning,auroraveil,blizzard,freezedry,moonblast,Steel": 178, "lightclay,snowwarning,auroraveil,blizzard,moonblast,nastyplot,Water": 75, "lightclay,snowwarning,auroraveil,blizzard,encore,moonblast,Water": 109, "heavydutyboots,snowwarning,blizzard,encore,moonblast,nastyplot,Steel": 5, "heavydutyboots,snowwarning,blizzard,encore,moonblast,nastyplot,Water": 1, "heavydutyboots,snowwarning,blizzard,freezedry,moonblast,nastyplot,Water": 2}, + "noctowl": {"heavydutyboots,tintedlens,hurricane,hypervoice,nastyplot,roost,Normal": 182, "heavydutyboots,tintedlens,defog,hurricane,hypervoice,roost,Steel": 125, "heavydutyboots,tintedlens,hurricane,hypervoice,nastyplot,roost,Ground": 154, "heavydutyboots,tintedlens,hurricane,hypervoice,nastyplot,roost,Steel": 182, "heavydutyboots,tintedlens,calmmind,hurricane,hypervoice,roost,Ground": 185, "heavydutyboots,tintedlens,calmmind,hurricane,hypervoice,roost,Steel": 139, "heavydutyboots,tintedlens,calmmind,hurricane,hypervoice,roost,Normal": 171, "heavydutyboots,tintedlens,defog,hurricane,hypervoice,roost,Normal": 137, "heavydutyboots,tintedlens,defog,hurricane,hypervoice,roost,Ground": 146}, + "noivern": {"choicespecs,infiltrator,boomburst,dracometeor,hurricane,uturn,Normal": 212, "choicespecs,infiltrator,dracometeor,flamethrower,hurricane,uturn,Fire": 248, "choicespecs,infiltrator,boomburst,dracometeor,flamethrower,hurricane,Normal": 203, "heavydutyboots,infiltrator,dracometeor,flamethrower,hurricane,roost,Fire": 256, "heavydutyboots,infiltrator,boomburst,dracometeor,hurricane,roost,Normal": 206, "heavydutyboots,infiltrator,defog,dracometeor,flamethrower,hurricane,Fire": 189}, + "ogerpon": {"lifeorb,defiant,encore,ivycudgel,knockoff,superpower,Grass": 20, "leftovers,defiant,encore,ivycudgel,spikes,superpower,Grass": 13, "choiceband,defiant,ivycudgel,knockoff,superpower,uturn,Grass": 6, "lifeorb,defiant,ivycudgel,knockoff,superpower,swordsdance,Grass": 326, "leftovers,defiant,ivycudgel,spikes,superpower,synthesis,Grass": 14, "heavydutyboots,defiant,ivycudgel,superpower,synthesis,uturn,Grass": 16, "lifeorb,defiant,ivycudgel,knockoff,spikes,superpower,Grass": 17, "heavydutyboots,defiant,encore,ivycudgel,synthesis,uturn,Grass": 22, "heavydutyboots,defiant,encore,ivycudgel,knockoff,uturn,Grass": 16, "heavydutyboots,defiant,ivycudgel,spikes,superpower,uturn,Grass": 14, "heavydutyboots,defiant,encore,ivycudgel,spikes,uturn,Grass": 11, "leftovers,defiant,encore,ivycudgel,knockoff,synthesis,Grass": 13, "leftovers,defiant,encore,ivycudgel,knockoff,spikes,Grass": 24, "leftovers,defiant,encore,ivycudgel,superpower,synthesis,Grass": 20, "leftovers,defiant,encore,ivycudgel,spikes,synthesis,Grass": 8, "heavydutyboots,defiant,encore,ivycudgel,superpower,uturn,Grass": 15, "leftovers,defiant,ivycudgel,knockoff,spikes,synthesis,Grass": 15, "lifeorb,defiant,ivycudgel,knockoff,superpower,synthesis,Grass": 20, "heavydutyboots,defiant,ivycudgel,knockoff,synthesis,uturn,Grass": 12, "heavydutyboots,defiant,ivycudgel,knockoff,spikes,uturn,Grass": 12, "heavydutyboots,defiant,ivycudgel,spikes,synthesis,uturn,Grass": 13}, + "ogerponcornerstone": {"cornerstonemask,sturdy,ivycudgel,powerwhip,superpower,swordsdance,Rock": 183, "cornerstonemask,sturdy,encore,ivycudgel,powerwhip,synthesis,Rock": 119, "cornerstonemask,sturdy,hornleech,ivycudgel,superpower,swordsdance,Rock": 160, "cornerstonemask,sturdy,ivycudgel,powerwhip,superpower,synthesis,Rock": 115, "cornerstonemask,sturdy,ivycudgel,powerwhip,spikes,synthesis,Rock": 111}, + "ogerponhearthflame": {"hearthflamemask,moldbreaker,hornleech,ivycudgel,knockoff,swordsdance,Fire": 166, "hearthflamemask,moldbreaker,ivycudgel,knockoff,powerwhip,swordsdance,Fire": 166, "hearthflamemask,moldbreaker,ivycudgel,powerwhip,stompingtantrum,swordsdance,Fire": 171, "hearthflamemask,moldbreaker,hornleech,ivycudgel,stompingtantrum,swordsdance,Fire": 153}, + "ogerponwellspring": {"wellspringmask,waterabsorb,ivycudgel,knockoff,powerwhip,swordsdance,Water": 84, "wellspringmask,waterabsorb,hornleech,ivycudgel,playrough,swordsdance,Water": 81, "wellspringmask,waterabsorb,hornleech,ivycudgel,knockoff,swordsdance,Water": 107, "wellspringmask,waterabsorb,ivycudgel,synthesis,uturn,woodhammer,Water": 106, "wellspringmask,waterabsorb,encore,ivycudgel,synthesis,woodhammer,Water": 128, "wellspringmask,waterabsorb,ivycudgel,playrough,powerwhip,swordsdance,Water": 81, "wellspringmask,waterabsorb,ivycudgel,spikes,synthesis,woodhammer,Water": 113}, + "oinkologne": {"leftovers,thickfat,curse,doubleedge,highhorsepower,lashout,Ground": 369, "leftovers,thickfat,bodyslam,curse,highhorsepower,lashout,Ground": 358}, + "oinkolognef": {"leftovers,thickfat,bodyslam,curse,highhorsepower,lashout,Ground": 190, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk,Fairy": 199, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk,Poison": 187, "leftovers,thickfat,curse,doubleedge,highhorsepower,lashout,Ground": 179}, + "okidogi": {"leftovers,toxicchain,bulkup,drainpunch,gunkshot,knockoff,Dark": 682, "assaultvest,toxicchain,drainpunch,gunkshot,highhorsepower,knockoff,Dark": 336, "assaultvest,toxicchain,drainpunch,gunkshot,knockoff,psychicfangs,Dark": 342}, + "oranguru": {"choicespecs,innerfocus,hypervoice,psyshock,thunderbolt,trick,Psychic": 48, "choicespecs,innerfocus,hypervoice,psyshock,thunderbolt,trick,Electric": 65, "leftovers,innerfocus,focusblast,nastyplot,psyshock,thunderbolt,Psychic": 106, "lifeorb,innerfocus,hypervoice,nastyplot,psyshock,thunderbolt,Normal": 40, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,trick,Psychic": 31, "leftovers,innerfocus,focusblast,nastyplot,psyshock,thunderbolt,Fighting": 116, "leftovers,innerfocus,focusblast,nastyplot,psychic,thunderbolt,Psychic": 142, "leftovers,innerfocus,focusblast,nastyplot,psychic,thunderbolt,Electric": 104, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,trick,Normal": 46, "leftovers,innerfocus,focusblast,nastyplot,psychic,thunderbolt,Fighting": 114, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,thunderbolt,Electric": 46, "choicespecs,innerfocus,hypervoice,psyshock,thunderbolt,trick,Normal": 44, "lifeorb,innerfocus,focusblast,hypervoice,nastyplot,psyshock,Normal": 35, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,thunderbolt,Fighting": 67, "leftovers,innerfocus,focusblast,nastyplot,psyshock,thunderbolt,Electric": 106, "lifeorb,innerfocus,focusblast,hypervoice,nastyplot,psyshock,Fighting": 67, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,trick,Fighting": 70, "lifeorb,innerfocus,hypervoice,nastyplot,psyshock,thunderbolt,Electric": 62, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,thunderbolt,Psychic": 28, "lifeorb,innerfocus,hypervoice,nastyplot,psyshock,thunderbolt,Psychic": 38, "choicespecs,innerfocus,focusblast,hypervoice,psyshock,thunderbolt,Normal": 27, "lifeorb,innerfocus,focusblast,hypervoice,nastyplot,psyshock,Psychic": 24}, + "oricorio": {"heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Ground": 667}, + "oricoriopau": {"heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Ground": 336, "heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Fighting": 347}, + "oricoriopompom": {"heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Ground": 634}, + "oricoriosensu": {"heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Ghost": 374, "heavydutyboots,dancer,hurricane,quiverdance,revelationdance,roost,Fighting": 372}, + "orthworm": {"chestoberry,eartheater,bodypress,coil,irontail,rest,Fighting": 343, "leftovers,eartheater,bodypress,heavyslam,shedtail,stealthrock,Ghost": 21, "chestoberry,eartheater,bodypress,coil,irontail,rest,Electric": 356, "leftovers,eartheater,bodypress,heavyslam,shedtail,stealthrock,Fighting": 26, "leftovers,eartheater,bodypress,heavyslam,spikes,stealthrock,Ghost": 25, "leftovers,eartheater,bodypress,heavyslam,shedtail,spikes,Ghost": 39, "chestoberry,eartheater,bodypress,heavyslam,rest,spikes,Ghost": 37, "chestoberry,eartheater,bodypress,heavyslam,rest,shedtail,Poison": 40, "chestoberry,eartheater,bodypress,heavyslam,rest,shedtail,Fighting": 30, "leftovers,eartheater,bodypress,heavyslam,shedtail,spikes,Poison": 20, "chestoberry,eartheater,bodypress,heavyslam,rest,spikes,Poison": 32, "leftovers,eartheater,bodypress,heavyslam,shedtail,spikes,Fighting": 27, "chestoberry,eartheater,bodypress,heavyslam,rest,stealthrock,Poison": 25, "chestoberry,eartheater,bodypress,heavyslam,rest,spikes,Electric": 30, "chestoberry,eartheater,bodypress,heavyslam,rest,stealthrock,Ghost": 19, "chestoberry,eartheater,bodypress,heavyslam,rest,spikes,Fighting": 23, "chestoberry,eartheater,bodypress,heavyslam,rest,shedtail,Ghost": 42, "chestoberry,eartheater,bodypress,heavyslam,rest,stealthrock,Electric": 20, "chestoberry,eartheater,bodypress,heavyslam,rest,shedtail,Electric": 41, "leftovers,eartheater,bodypress,heavyslam,shedtail,spikes,Electric": 35, "chestoberry,eartheater,bodypress,heavyslam,rest,stealthrock,Fighting": 29, "leftovers,eartheater,bodypress,heavyslam,spikes,stealthrock,Fighting": 22, "leftovers,eartheater,bodypress,heavyslam,spikes,stealthrock,Electric": 21, "leftovers,eartheater,bodypress,heavyslam,shedtail,stealthrock,Electric": 23, "leftovers,eartheater,bodypress,heavyslam,spikes,stealthrock,Poison": 22, "leftovers,eartheater,bodypress,heavyslam,shedtail,stealthrock,Poison": 19}, + "overqwil": {"loadeddice,intimidate,crunch,gunkshot,scaleshot,swordsdance,Dragon": 689, "choiceband,intimidate,aquajet,crunch,gunkshot,liquidation,Water": 325, "lifeorb,intimidate,crunch,gunkshot,liquidation,swordsdance,Water": 346}, + "pachirisu": {"heavydutyboots,voltabsorb,discharge,encore,superfang,uturn,Flying": 706, "assaultvest,voltabsorb,nuzzle,superfang,thunderbolt,uturn,Flying": 715}, + "palafin": {"choiceband,zerotohero,closecombat,flipturn,jetpunch,wavecrash,Water": 359, "leftovers,zerotohero,bulkup,icepunch,jetpunch,wavecrash,Dragon": 89, "choiceband,zerotohero,closecombat,flipturn,jetpunch,wavecrash,Fighting": 362, "leftovers,zerotohero,bulkup,drainpunch,icepunch,jetpunch,Dragon": 170, "leftovers,zerotohero,bulkup,drainpunch,icepunch,jetpunch,Steel": 198, "leftovers,zerotohero,bulkup,icepunch,jetpunch,wavecrash,Steel": 73, "leftovers,zerotohero,bulkup,drainpunch,jetpunch,wavecrash,Dragon": 103, "leftovers,zerotohero,bulkup,drainpunch,jetpunch,wavecrash,Steel": 88}, + "palkia": {"lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave,Fire": 57, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend,Fire": 78, "lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave,Dragon": 66, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave,Dragon": 76, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend,Fire": 72, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend,Water": 63, "lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave,Water": 55, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend,Water": 64, "choicespecs,pressure,dracometeor,fireblast,hydropump,spacialrend,Dragon": 46, "lustrousorb,pressure,fireblast,hydropump,spacialrend,thunderwave,Water": 62, "lustrousorb,pressure,dracometeor,fireblast,hydropump,thunderwave,Fire": 65, "choicescarf,pressure,dracometeor,fireblast,hydropump,spacialrend,Dragon": 58}, + "palkiaorigin": {"lustrousglobe,pressure,fireblast,hydropump,spacialrend,thunderwave,Water": 122, "lustrousglobe,pressure,dracometeor,fireblast,hydropump,thunderwave,Fire": 115, "lustrousglobe,pressure,fireblast,hydropump,spacialrend,thunderwave,Dragon": 110, "lustrousglobe,pressure,fireblast,hydropump,spacialrend,thunderwave,Fire": 119, "lustrousglobe,pressure,dracometeor,fireblast,hydropump,thunderwave,Dragon": 130, "lustrousglobe,pressure,dracometeor,fireblast,hydropump,thunderwave,Water": 126}, + "palossand": {"leftovers,watercompaction,earthpower,shadowball,shoreup,stealthrock,Water": 332, "leftovers,watercompaction,earthpower,shadowball,shoreup,stealthrock,Poison": 284, "leftovers,watercompaction,earthpower,shadowball,shoreup,sludgebomb,Water": 392, "leftovers,watercompaction,earthpower,shadowball,shoreup,sludgebomb,Poison": 397}, + "passimian": {"choiceband,defiant,closecombat,gunkshot,knockoff,uturn,Poison": 32, "leftovers,defiant,bulkup,drainpunch,gunkshot,knockoff,Poison": 263, "leftovers,defiant,bulkup,drainpunch,gunkshot,knockoff,Dark": 240, "leftovers,defiant,bulkup,drainpunch,gunkshot,knockoff,Steel": 242, "choicescarf,defiant,closecombat,earthquake,knockoff,uturn,Fighting": 25, "choicescarf,defiant,closecombat,gunkshot,knockoff,uturn,Poison": 46, "choiceband,defiant,closecombat,gunkshot,knockoff,uturn,Dark": 19, "choicescarf,defiant,closecombat,gunkshot,knockoff,rockslide,Fighting": 18, "choicescarf,defiant,closecombat,earthquake,gunkshot,knockoff,Poison": 42, "choiceband,defiant,closecombat,gunkshot,knockoff,rockslide,Poison": 46, "choicescarf,defiant,closecombat,earthquake,knockoff,rockslide,Dark": 21, "choiceband,defiant,closecombat,earthquake,knockoff,rockslide,Fighting": 17, "choicescarf,defiant,closecombat,earthquake,knockoff,rockslide,Fighting": 17, "choicescarf,defiant,closecombat,gunkshot,knockoff,rockslide,Poison": 42, "choiceband,defiant,closecombat,gunkshot,knockoff,uturn,Fighting": 23, "choicescarf,defiant,closecombat,earthquake,gunkshot,knockoff,Dark": 20, "choiceband,defiant,closecombat,earthquake,gunkshot,knockoff,Poison": 38, "choiceband,defiant,closecombat,gunkshot,knockoff,rockslide,Fighting": 26, "choicescarf,defiant,closecombat,knockoff,rockslide,uturn,Fighting": 23, "choiceband,defiant,closecombat,earthquake,gunkshot,knockoff,Fighting": 23, "choiceband,defiant,closecombat,earthquake,gunkshot,knockoff,Dark": 22, "choiceband,defiant,closecombat,earthquake,knockoff,rockslide,Dark": 18, "choicescarf,defiant,closecombat,knockoff,rockslide,uturn,Dark": 17, "choiceband,defiant,closecombat,knockoff,rockslide,uturn,Fighting": 17, "choicescarf,defiant,closecombat,gunkshot,knockoff,rockslide,Dark": 22, "choiceband,defiant,closecombat,earthquake,knockoff,uturn,Dark": 26, "choiceband,defiant,closecombat,gunkshot,knockoff,rockslide,Dark": 28, "choicescarf,defiant,closecombat,earthquake,knockoff,uturn,Dark": 11, "choicescarf,defiant,closecombat,earthquake,gunkshot,knockoff,Fighting": 21, "choicescarf,defiant,closecombat,gunkshot,knockoff,uturn,Fighting": 13, "choicescarf,defiant,closecombat,gunkshot,knockoff,uturn,Dark": 16, "choiceband,defiant,closecombat,earthquake,knockoff,uturn,Fighting": 13, "choiceband,defiant,closecombat,knockoff,rockslide,uturn,Dark": 20}, + "pawmot": {"lifeorb,voltabsorb,closecombat,doubleshock,knockoff,revivalblessing,Electric": 353, "leppaberry,voltabsorb,closecombat,doubleshock,nuzzle,revivalblessing,Electric": 350, "lifeorb,ironfist,closecombat,doubleshock,icepunch,revivalblessing,Electric": 655}, + "pecharunt": {"leftovers,poisonpuppeteer,malignantchain,partingshot,recover,shadowball,Dark": 301, "leftovers,poisonpuppeteer,malignantchain,nastyplot,recover,shadowball,Dark": 724, "rockyhelmet,poisonpuppeteer,malignantchain,partingshot,recover,shadowball,Dark": 382}, + "pelipper": {"heavydutyboots,drizzle,hurricane,hydropump,knockoff,roost,Water": 87, "heavydutyboots,drizzle,hurricane,knockoff,roost,surf,Ground": 105, "choicespecs,drizzle,hurricane,hydropump,uturn,weatherball,Water": 348, "choicespecs,drizzle,hurricane,hydropump,uturn,weatherball,Flying": 377, "heavydutyboots,drizzle,hurricane,roost,surf,uturn,Ground": 77, "heavydutyboots,drizzle,hurricane,hydropump,knockoff,roost,Ground": 83, "heavydutyboots,drizzle,hurricane,knockoff,roost,surf,Water": 69, "heavydutyboots,drizzle,hurricane,hydropump,roost,uturn,Water": 92, "heavydutyboots,drizzle,hurricane,hydropump,roost,uturn,Ground": 93, "heavydutyboots,drizzle,hurricane,roost,surf,uturn,Water": 97}, + "perrserker": {"lifeorb,toughclaws,closecombat,ironhead,stealthrock,uturn,Fighting": 215, "choiceband,steelyspirit,closecombat,ironhead,knockoff,uturn,Steel": 266, "lifeorb,steelyspirit,closecombat,ironhead,knockoff,stealthrock,Steel": 216, "lifeorb,toughclaws,closecombat,ironhead,knockoff,stealthrock,Fighting": 200, "lifeorb,steelyspirit,closecombat,ironhead,stealthrock,uturn,Steel": 90, "choiceband,toughclaws,closecombat,ironhead,knockoff,uturn,Fighting": 283, "lifeorb,steelyspirit,ironhead,knockoff,stealthrock,uturn,Steel": 111}, + "persian": {"choiceband,limber,doubleedge,gunkshot,knockoff,uturn,Normal": 70, "silkscarf,technician,doubleedge,fakeout,knockoff,uturn,Normal": 359, "choiceband,limber,doubleedge,gunkshot,knockoff,switcheroo,Normal": 60, "choiceband,limber,doubleedge,knockoff,switcheroo,uturn,Normal": 59, "choiceband,limber,doubleedge,gunkshot,knockoff,uturn,Poison": 117, "choiceband,limber,doubleedge,gunkshot,knockoff,switcheroo,Poison": 82}, + "persianalola": {"heavydutyboots,furcoat,knockoff,partingshot,taunt,thunderwave,Fairy": 81, "lifeorb,furcoat,darkpulse,nastyplot,terablast,thunderbolt,Poison": 96, "lifeorb,furcoat,darkpulse,nastyplot,powergem,thunderbolt,Dark": 76, "leftovers,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt,Electric": 74, "heavydutyboots,furcoat,knockoff,partingshot,taunt,thunderwave,Ghost": 78, "leftovers,furcoat,darkpulse,hypnosis,nastyplot,thunderbolt,Dark": 33, "heavydutyboots,furcoat,knockoff,partingshot,taunt,thunderwave,Poison": 84, "lifeorb,furcoat,darkpulse,nastyplot,powergem,thunderbolt,Electric": 57, "lifeorb,furcoat,darkpulse,nastyplot,terablast,thunderbolt,Fairy": 108, "leftovers,furcoat,darkpulse,hypnosis,nastyplot,powergem,Dark": 33}, + "phione": {"leftovers,hydration,grassknot,icebeam,scald,takeheart,Steel": 370, "leftovers,hydration,rest,scald,sleeptalk,takeheart,Steel": 377, "leftovers,hydration,rest,scald,sleeptalk,takeheart,Dragon": 360, "leftovers,hydration,grassknot,icebeam,scald,takeheart,Grass": 383}, + "pikachu": {"lightball,lightningrod,fakeout,playrough,surf,volttackle,Water": 247, "lightball,lightningrod,knockoff,surf,voltswitch,volttackle,Water": 239, "lightball,lightningrod,fakeout,surf,voltswitch,volttackle,Water": 270, "lightball,lightningrod,playrough,surf,voltswitch,volttackle,Water": 234, "lightball,lightningrod,fakeout,knockoff,surf,volttackle,Water": 246, "lightball,lightningrod,knockoff,playrough,surf,volttackle,Water": 222}, + "piloswine": {"eviolite,thickfat,earthquake,iceshard,iciclecrash,stealthrock,Dragon": 188, "eviolite,thickfat,earthquake,iceshard,iciclecrash,roar,Dragon": 323, "eviolite,thickfat,earthquake,iciclecrash,roar,stealthrock,Dragon": 217, "eviolite,thickfat,earthquake,iceshard,iciclecrash,roar,Poison": 303, "eviolite,thickfat,earthquake,iciclecrash,roar,stealthrock,Poison": 211, "eviolite,thickfat,earthquake,iceshard,iciclecrash,stealthrock,Poison": 219}, + "pincurchin": {"leftovers,electricsurge,curse,liquidation,recover,zingzap,Water": 353, "leftovers,electricsurge,recover,scald,spikes,thunderbolt,Water": 196, "leftovers,electricsurge,discharge,recover,scald,toxicspikes,Water": 167, "leftovers,electricsurge,discharge,recover,scald,spikes,Water": 180, "leftovers,electricsurge,curse,liquidation,recover,zingzap,Grass": 400, "leftovers,electricsurge,recover,scald,thunderbolt,toxicspikes,Water": 180}, + "plusle": {"lifeorb,lightningrod,encore,grassknot,nastyplot,thunderbolt,Grass": 256, "lifeorb,lightningrod,alluringvoice,encore,nastyplot,thunderbolt,Fairy": 254, "lifeorb,lightningrod,alluringvoice,grassknot,nastyplot,thunderbolt,Grass": 272, "lifeorb,lightningrod,encore,grassknot,nastyplot,thunderbolt,Electric": 132, "lifeorb,lightningrod,alluringvoice,grassknot,nastyplot,thunderbolt,Fairy": 229, "lifeorb,lightningrod,alluringvoice,encore,nastyplot,thunderbolt,Electric": 133, "lifeorb,lightningrod,alluringvoice,grassknot,nastyplot,thunderbolt,Electric": 247}, + "politoed": {"chestoberry,drizzle,haze,icebeam,rest,surf,Water": 32, "choicespecs,drizzle,focusblast,hydropump,icebeam,weatherball,Water": 677, "chestoberry,drizzle,hydropump,hypnosis,icebeam,rest,Water": 36, "leftovers,drizzle,encore,haze,icebeam,surf,Water": 24, "chestoberry,drizzle,encore,icebeam,rest,surf,Steel": 26, "leftovers,drizzle,encore,hydropump,hypnosis,icebeam,Water": 32, "chestoberry,drizzle,haze,hydropump,icebeam,rest,Steel": 31, "leftovers,drizzle,encore,haze,icebeam,surf,Steel": 30, "chestoberry,drizzle,hydropump,hypnosis,icebeam,rest,Steel": 34, "leftovers,drizzle,haze,hypnosis,icebeam,surf,Water": 33, "leftovers,drizzle,encore,haze,hydropump,icebeam,Water": 41, "chestoberry,drizzle,encore,hydropump,icebeam,rest,Steel": 43, "leftovers,drizzle,encore,hypnosis,icebeam,surf,Steel": 42, "chestoberry,drizzle,haze,hydropump,icebeam,rest,Water": 33, "leftovers,drizzle,haze,hydropump,hypnosis,icebeam,Steel": 29, "leftovers,drizzle,encore,hydropump,hypnosis,icebeam,Steel": 34, "chestoberry,drizzle,haze,icebeam,rest,surf,Steel": 26, "leftovers,drizzle,haze,hydropump,hypnosis,icebeam,Water": 31, "chestoberry,drizzle,hypnosis,icebeam,rest,surf,Water": 33, "leftovers,drizzle,haze,hypnosis,icebeam,surf,Steel": 26, "chestoberry,drizzle,hypnosis,icebeam,rest,surf,Steel": 35, "leftovers,drizzle,encore,hypnosis,icebeam,surf,Water": 25, "chestoberry,drizzle,encore,icebeam,rest,surf,Water": 36, "chestoberry,drizzle,encore,hydropump,icebeam,rest,Water": 29, "leftovers,drizzle,encore,haze,hydropump,icebeam,Steel": 28}, + "poliwrath": {"assaultvest,waterabsorb,circlethrow,closecombat,knockoff,liquidation,Fighting": 162, "leftovers,waterabsorb,bulkup,drainpunch,liquidation,poisonjab,Water": 63, "lifeorb,swiftswim,closecombat,knockoff,liquidation,raindance,Dark": 137, "leftovers,waterabsorb,bulkup,drainpunch,icepunch,liquidation,Water": 43, "lifeorb,swiftswim,closecombat,knockoff,liquidation,raindance,Water": 137, "leftovers,waterabsorb,bulkup,drainpunch,icepunch,liquidation,Steel": 59, "leftovers,waterabsorb,bulkup,drainpunch,knockoff,liquidation,Steel": 40, "assaultvest,waterabsorb,circlethrow,closecombat,knockoff,liquidation,Steel": 145, "lifeorb,swiftswim,closecombat,knockoff,liquidation,raindance,Fighting": 142, "leftovers,waterabsorb,bulkup,drainpunch,knockoff,liquidation,Fighting": 42, "assaultvest,waterabsorb,circlethrow,closecombat,knockoff,liquidation,Dark": 128, "leftovers,waterabsorb,bulkup,drainpunch,liquidation,poisonjab,Steel": 58, "leftovers,waterabsorb,bulkup,drainpunch,liquidation,poisonjab,Fighting": 49, "leftovers,waterabsorb,bulkup,drainpunch,icepunch,liquidation,Fighting": 51, "leftovers,waterabsorb,bulkup,drainpunch,knockoff,liquidation,Water": 45}, + "polteageist": {"whiteherb,cursedbody,gigadrain,shadowball,shellsmash,storedpower,Psychic": 436, "whiteherb,cursedbody,shadowball,shellsmash,storedpower,strengthsap,Psychic": 427, "whiteherb,cursedbody,shadowball,shellsmash,strengthsap,terablast,Fighting": 351, "whiteherb,cursedbody,shadowball,shellsmash,storedpower,terablast,Fighting": 357}, + "porygonz": {"lifeorb,adaptability,agility,nastyplot,shadowball,terablast,Fighting": 707, "choicescarf,download,shadowball,thunderbolt,triattack,trick,Electric": 44, "lifeorb,download,nastyplot,shadowball,thunderbolt,triattack,Ghost": 49, "choicescarf,adaptability,icebeam,thunderbolt,triattack,trick,Electric": 42, "lifeorb,download,icebeam,nastyplot,thunderbolt,triattack,Electric": 41, "choicescarf,download,shadowball,thunderbolt,triattack,trick,Ghost": 37, "lifeorb,adaptability,icebeam,nastyplot,shadowball,triattack,Ghost": 52, "choicescarf,adaptability,icebeam,shadowball,triattack,trick,Ghost": 47, "choicespecs,adaptability,icebeam,shadowball,thunderbolt,triattack,Electric": 15, "choicescarf,download,icebeam,thunderbolt,triattack,trick,Electric": 37, "choicescarf,adaptability,icebeam,shadowball,thunderbolt,triattack,Ghost": 16, "choicescarf,adaptability,icebeam,shadowball,thunderbolt,triattack,Electric": 18, "choicespecs,download,icebeam,shadowball,thunderbolt,triattack,Electric": 13, "lifeorb,adaptability,nastyplot,shadowball,thunderbolt,triattack,Electric": 38, "lifeorb,adaptability,icebeam,nastyplot,thunderbolt,triattack,Electric": 37, "choicescarf,download,icebeam,shadowball,thunderbolt,triattack,Electric": 20, "choicescarf,download,icebeam,shadowball,thunderbolt,triattack,Ghost": 20, "choicescarf,download,icebeam,shadowball,triattack,trick,Ghost": 51, "lifeorb,download,nastyplot,shadowball,thunderbolt,triattack,Electric": 42, "lifeorb,adaptability,nastyplot,shadowball,thunderbolt,triattack,Ghost": 41, "lifeorb,download,icebeam,nastyplot,shadowball,triattack,Ghost": 47, "choicescarf,adaptability,shadowball,thunderbolt,triattack,trick,Ghost": 39, "choicespecs,adaptability,icebeam,shadowball,thunderbolt,triattack,Ghost": 12, "choicescarf,adaptability,shadowball,thunderbolt,triattack,trick,Electric": 53, "choicespecs,download,icebeam,shadowball,thunderbolt,triattack,Ghost": 19}, + "porygon2": {"eviolite,download,recover,shadowball,terablast,thunderwave,Fairy": 340, "eviolite,download,recover,shadowball,terablast,thunderwave,Fighting": 342, "eviolite,download,discharge,icebeam,recover,triattack,Electric": 288, "eviolite,download,discharge,icebeam,recover,triattack,Poison": 298, "eviolite,download,discharge,icebeam,recover,triattack,Ghost": 279}, + "primarina": {"choicespecs,torrent,flipturn,hydropump,moonblast,psychic,Water": 529, "leftovers,torrent,calmmind,drainingkiss,psychic,sparklingaria,Poison": 162, "leftovers,torrent,calmmind,drainingkiss,psychic,sparklingaria,Steel": 166, "leftovers,liquidvoice,calmmind,drainingkiss,moonblast,psychicnoise,Steel": 187, "leftovers,torrent,calmmind,drainingkiss,psychic,sparklingaria,Fairy": 175, "leftovers,liquidvoice,calmmind,drainingkiss,moonblast,psychicnoise,Poison": 167, "leftovers,liquidvoice,calmmind,drainingkiss,moonblast,psychicnoise,Fairy": 170}, + "probopass": {"leftovers,magnetpull,bodypress,irondefense,powergem,thunderwave,Fighting": 204, "chestoberry,magnetpull,bodypress,irondefense,powergem,rest,Fighting": 200, "leftovers,magnetpull,bodypress,flashcannon,irondefense,powergem,Fighting": 423, "leftovers,magnetpull,bodypress,flashcannon,irondefense,thunderwave,Fighting": 220, "chestoberry,magnetpull,bodypress,flashcannon,irondefense,rest,Fighting": 196}, + "pyroar": {"heavydutyboots,unnerve,darkpulse,fireblast,hypervoice,willowisp,Fire": 222, "heavydutyboots,unnerve,darkpulse,fireblast,hypervoice,workup,Fire": 260, "heavydutyboots,unnerve,fireblast,hypervoice,willowisp,workup,Fire": 208, "heavydutyboots,unnerve,fireblast,hypervoice,taunt,willowisp,Fire": 197, "heavydutyboots,unnerve,darkpulse,fireblast,hypervoice,taunt,Fire": 210, "heavydutyboots,unnerve,fireblast,hypervoice,taunt,workup,Fire": 218}, + "quagsire": {"leftovers,unaware,earthquake,icebeam,recover,toxic,Poison": 155, "leftovers,unaware,earthquake,icebeam,recover,spikes,Steel": 154, "leftovers,unaware,earthquake,icebeam,recover,toxic,Fairy": 169, "leftovers,unaware,earthquake,icebeam,recover,spikes,Fairy": 165, "leftovers,unaware,earthquake,recover,spikes,toxic,Fairy": 161, "leftovers,unaware,earthquake,icebeam,recover,spikes,Poison": 150, "leftovers,unaware,earthquake,recover,spikes,toxic,Poison": 166, "leftovers,unaware,earthquake,icebeam,recover,toxic,Steel": 155, "leftovers,unaware,earthquake,recover,spikes,toxic,Steel": 139}, + "quaquaval": {"choiceband,moxie,aquastep,closecombat,tripleaxel,uturn,Water": 42, "lifeorb,moxie,aquastep,closecombat,encore,swordsdance,Water": 94, "lifeorb,moxie,aquastep,closecombat,swordsdance,tripleaxel,Water": 89, "lifeorb,moxie,aquastep,closecombat,roost,swordsdance,Water": 87, "choiceband,moxie,aquastep,closecombat,knockoff,tripleaxel,Fighting": 43, "lifeorb,moxie,aquastep,closecombat,encore,swordsdance,Fighting": 86, "choiceband,moxie,aquastep,closecombat,tripleaxel,uturn,Fighting": 32, "lifeorb,moxie,aquastep,closecombat,roost,tripleaxel,Fighting": 38, "lifeorb,moxie,aquastep,closecombat,knockoff,swordsdance,Water": 104, "assaultvest,moxie,aquastep,closecombat,rapidspin,tripleaxel,Water": 30, "choiceband,moxie,aquastep,closecombat,knockoff,tripleaxel,Water": 35, "heavydutyboots,moxie,aquastep,closecombat,rapidspin,roost,Fighting": 30, "choiceband,moxie,aquastep,closecombat,knockoff,uturn,Fighting": 40, "lifeorb,moxie,aquastep,closecombat,knockoff,swordsdance,Fighting": 84, "lifeorb,moxie,aquastep,closecombat,knockoff,roost,Fighting": 33, "lifeorb,moxie,aquastep,closecombat,roost,swordsdance,Fighting": 81, "lifeorb,moxie,aquastep,closecombat,roost,tripleaxel,Water": 36, "heavydutyboots,moxie,aquastep,closecombat,roost,uturn,Water": 46, "choiceband,moxie,aquastep,closecombat,knockoff,uturn,Water": 40, "assaultvest,moxie,aquastep,closecombat,knockoff,rapidspin,Water": 26, "assaultvest,moxie,aquastep,closecombat,rapidspin,tripleaxel,Fighting": 30, "assaultvest,moxie,aquastep,closecombat,rapidspin,uturn,Fighting": 21, "assaultvest,moxie,aquastep,closecombat,knockoff,rapidspin,Fighting": 31, "lifeorb,moxie,aquastep,closecombat,knockoff,roost,Water": 33, "assaultvest,moxie,aquastep,closecombat,rapidspin,uturn,Water": 31, "lifeorb,moxie,aquastep,closecombat,swordsdance,tripleaxel,Fighting": 74, "heavydutyboots,moxie,aquastep,closecombat,rapidspin,roost,Water": 45, "heavydutyboots,moxie,aquastep,closecombat,roost,uturn,Fighting": 30}, + "qwilfish": {"heavydutyboots,intimidate,flipturn,gunkshot,painsplit,thunderwave,Grass": 58, "leftovers,intimidate,destinybond,gunkshot,toxicspikes,waterfall,Grass": 23, "leftovers,intimidate,destinybond,gunkshot,toxicspikes,waterfall,Dark": 24, "heavydutyboots,intimidate,flipturn,gunkshot,painsplit,thunderwave,Dark": 55, "heavydutyboots,intimidate,flipturn,gunkshot,painsplit,toxic,Grass": 58, "heavydutyboots,intimidate,flipturn,gunkshot,painsplit,toxicspikes,Dark": 61, "leftovers,intimidate,gunkshot,taunt,thunderwave,waterfall,Dark": 28, "leftovers,intimidate,gunkshot,spikes,taunt,waterfall,Dark": 21, "leftovers,intimidate,gunkshot,spikes,thunderwave,waterfall,Dark": 14, "heavydutyboots,intimidate,flipturn,gunkshot,painsplit,toxic,Dark": 49, "leftovers,intimidate,destinybond,gunkshot,spikes,waterfall,Dark": 20, "leftovers,intimidate,gunkshot,taunt,thunderwave,waterfall,Grass": 21, "leftovers,intimidate,gunkshot,spikes,toxicspikes,waterfall,Grass": 20, "leftovers,intimidate,destinybond,gunkshot,spikes,waterfall,Grass": 11, "leftovers,intimidate,gunkshot,spikes,thunderwave,waterfall,Grass": 25, "leftovers,intimidate,destinybond,gunkshot,thunderwave,waterfall,Grass": 26, "heavydutyboots,intimidate,flipturn,gunkshot,painsplit,toxicspikes,Grass": 69, "leftovers,intimidate,gunkshot,taunt,toxicspikes,waterfall,Grass": 13, "leftovers,intimidate,destinybond,gunkshot,taunt,waterfall,Dark": 19, "leftovers,intimidate,gunkshot,taunt,toxicspikes,waterfall,Dark": 15, "leftovers,intimidate,destinybond,gunkshot,taunt,waterfall,Grass": 13, "leftovers,intimidate,destinybond,gunkshot,thunderwave,waterfall,Dark": 26, "leftovers,intimidate,gunkshot,spikes,toxicspikes,waterfall,Dark": 20, "leftovers,intimidate,gunkshot,spikes,taunt,waterfall,Grass": 15}, + "qwilfishhisui": {"eviolite,intimidate,crunch,gunkshot,spikes,toxicspikes,Poison": 107, "eviolite,intimidate,crunch,gunkshot,taunt,toxicspikes,Poison": 125, "eviolite,intimidate,crunch,gunkshot,spikes,taunt,Poison": 129, "eviolite,intimidate,crunch,gunkshot,taunt,toxicspikes,Flying": 108, "eviolite,intimidate,crunch,gunkshot,spikes,toxicspikes,Flying": 120, "eviolite,intimidate,crunch,gunkshot,spikes,taunt,Flying": 122}, + "rabsca": {"heavydutyboots,synchronize,bugbuzz,psychic,recover,revivalblessing,Steel": 474, "heavydutyboots,synchronize,bugbuzz,earthpower,psychic,revivalblessing,Steel": 428, "heavydutyboots,synchronize,bugbuzz,psychic,revivalblessing,trickroom,Steel": 463}, + "ragingbolt": {"assaultvest,protosynthesis,discharge,dracometeor,thunderclap,voltswitch,Electric": 311, "leftovers,protosynthesis,calmmind,dragonpulse,thunderbolt,thunderclap,Electric": 343, "leftovers,protosynthesis,calmmind,dragonpulse,thunderbolt,thunderclap,Fairy": 352, "assaultvest,protosynthesis,dracometeor,thunderbolt,thunderclap,voltswitch,Electric": 309}, + "raichu": {"lifeorb,lightningrod,encore,nastyplot,terablast,thunderbolt,Ice": 109, "lifeorb,lightningrod,nastyplot,surf,terablast,thunderbolt,Ice": 111, "heavydutyboots,lightningrod,encore,surf,thunderbolt,voltswitch,Water": 6, "assaultvest,lightningrod,grassknot,nuzzle,surf,thunderbolt,Water": 11, "lifeorb,lightningrod,encore,focusblast,grassknot,thunderbolt,Grass": 15, "leftovers,lightningrod,encore,nuzzle,surf,thunderbolt,Water": 8, "focussash,lightningrod,focusblast,grassknot,nastyplot,thunderbolt,Grass": 1, "assaultvest,lightningrod,knockoff,surf,thunderbolt,voltswitch,Water": 7, "choicespecs,lightningrod,focusblast,grassknot,surf,thunderbolt,Water": 8, "focussash,lightningrod,encore,nastyplot,surf,thunderbolt,Water": 1, "assaultvest,lightningrod,grassknot,knockoff,thunderbolt,voltswitch,Grass": 11, "lifeorb,lightningrod,alluringvoice,encore,grassknot,thunderbolt,Grass": 11, "lifeorb,lightningrod,focusblast,nastyplot,terablast,thunderbolt,Ice": 121, "assaultvest,lightningrod,alluringvoice,nuzzle,surf,thunderbolt,Water": 10, "leftovers,lightningrod,encore,nastyplot,surf,thunderbolt,Water": 10, "lifeorb,lightningrod,focusblast,nastyplot,surf,thunderbolt,Water": 8, "assaultvest,lightningrod,grassknot,knockoff,surf,thunderbolt,Water": 5, "assaultvest,lightningrod,focusblast,nuzzle,surf,thunderbolt,Water": 16, "lifeorb,lightningrod,encore,focusblast,surf,thunderbolt,Water": 9, "choicespecs,lightningrod,alluringvoice,grassknot,surf,thunderbolt,Grass": 6, "assaultvest,lightningrod,grassknot,knockoff,nuzzle,thunderbolt,Grass": 6, "lifeorb,lightningrod,focusblast,grassknot,nastyplot,thunderbolt,Grass": 6, "choicespecs,lightningrod,alluringvoice,grassknot,thunderbolt,voltswitch,Grass": 4, "heavydutyboots,lightningrod,encore,grassknot,thunderbolt,voltswitch,Grass": 12, "choicespecs,lightningrod,alluringvoice,grassknot,surf,thunderbolt,Water": 12, "assaultvest,lightningrod,alluringvoice,grassknot,knockoff,thunderbolt,Grass": 12, "choicespecs,lightningrod,grassknot,surf,thunderbolt,voltswitch,Grass": 11, "assaultvest,lightningrod,focusblast,knockoff,surf,thunderbolt,Water": 6, "choicespecs,lightningrod,alluringvoice,focusblast,grassknot,thunderbolt,Grass": 6, "assaultvest,lightningrod,alluringvoice,grassknot,nuzzle,thunderbolt,Grass": 10, "lifeorb,lightningrod,alluringvoice,encore,surf,thunderbolt,Water": 8, "choicespecs,lightningrod,focusblast,grassknot,thunderbolt,voltswitch,Grass": 8, "lifeorb,lightningrod,alluringvoice,nastyplot,surf,thunderbolt,Water": 14, "choicespecs,lightningrod,grassknot,surf,thunderbolt,voltswitch,Water": 11, "lifeorb,lightningrod,grassknot,nastyplot,surf,thunderbolt,Water": 8, "assaultvest,lightningrod,knockoff,nuzzle,surf,thunderbolt,Water": 9, "lifeorb,lightningrod,encore,grassknot,knockoff,thunderbolt,Grass": 12, "choicespecs,lightningrod,focusblast,grassknot,surf,thunderbolt,Grass": 5, "assaultvest,lightningrod,grassknot,nuzzle,thunderbolt,voltswitch,Grass": 12, "lifeorb,lightningrod,encore,grassknot,surf,thunderbolt,Grass": 12, "choicespecs,lightningrod,focusblast,surf,thunderbolt,voltswitch,Water": 3, "assaultvest,lightningrod,grassknot,knockoff,surf,thunderbolt,Grass": 8, "lifeorb,lightningrod,alluringvoice,grassknot,nastyplot,thunderbolt,Grass": 4, "leftovers,lightningrod,encore,grassknot,nuzzle,thunderbolt,Grass": 8, "lifeorb,lightningrod,encore,grassknot,surf,thunderbolt,Water": 6, "assaultvest,lightningrod,focusblast,grassknot,nuzzle,thunderbolt,Grass": 9, "lifeorb,lightningrod,encore,knockoff,surf,thunderbolt,Water": 3, "assaultvest,lightningrod,focusblast,grassknot,knockoff,thunderbolt,Grass": 5, "assaultvest,lightningrod,alluringvoice,knockoff,surf,thunderbolt,Water": 10, "lifeorb,lightningrod,grassknot,nastyplot,surf,thunderbolt,Grass": 5, "assaultvest,lightningrod,nuzzle,surf,thunderbolt,voltswitch,Water": 7, "choicespecs,lightningrod,alluringvoice,surf,thunderbolt,voltswitch,Water": 4, "assaultvest,lightningrod,grassknot,nuzzle,surf,thunderbolt,Grass": 3, "focussash,lightningrod,alluringvoice,nastyplot,surf,thunderbolt,Water": 1, "leftovers,lightningrod,encore,grassknot,nastyplot,thunderbolt,Grass": 8, "choicespecs,lightningrod,alluringvoice,focusblast,surf,thunderbolt,Water": 7, "focussash,lightningrod,alluringvoice,grassknot,nastyplot,thunderbolt,Grass": 1, "focussash,lightningrod,focusblast,nastyplot,surf,thunderbolt,Water": 1}, + "raichualola": {"lifeorb,surgesurfer,focusblast,nastyplot,psyshock,thunderbolt,Fighting": 82, "choicespecs,surgesurfer,focusblast,grassknot,psychic,thunderbolt,Fighting": 17, "choicespecs,surgesurfer,focusblast,grassknot,psyshock,thunderbolt,Grass": 16, "choicespecs,surgesurfer,grassknot,psyshock,thunderbolt,voltswitch,Grass": 17, "choicespecs,surgesurfer,alluringvoice,psyshock,surf,thunderbolt,Fairy": 8, "lifeorb,surgesurfer,grassknot,nastyplot,psyshock,thunderbolt,Grass": 80, "lifeorb,surgesurfer,alluringvoice,nastyplot,psyshock,thunderbolt,Fairy": 92, "choicespecs,surgesurfer,focusblast,grassknot,psychic,thunderbolt,Grass": 12, "choicespecs,surgesurfer,alluringvoice,grassknot,psychic,thunderbolt,Fairy": 9, "choicespecs,surgesurfer,alluringvoice,focusblast,psyshock,thunderbolt,Fighting": 10, "choicespecs,surgesurfer,grassknot,psyshock,surf,thunderbolt,Water": 14, "choicespecs,surgesurfer,focusblast,grassknot,psyshock,thunderbolt,Fighting": 15, "choicespecs,surgesurfer,focusblast,psyshock,surf,thunderbolt,Fighting": 13, "choicespecs,surgesurfer,grassknot,psychic,thunderbolt,voltswitch,Grass": 12, "choicespecs,surgesurfer,focusblast,psyshock,surf,thunderbolt,Water": 6, "choicespecs,surgesurfer,grassknot,psychic,surf,thunderbolt,Water": 11, "choicespecs,surgesurfer,alluringvoice,psyshock,surf,thunderbolt,Water": 9, "choicespecs,surgesurfer,alluringvoice,grassknot,psyshock,thunderbolt,Grass": 10, "choicespecs,surgesurfer,psyshock,surf,thunderbolt,voltswitch,Water": 10, "lifeorb,surgesurfer,nastyplot,psyshock,surf,thunderbolt,Water": 81, "choicespecs,surgesurfer,focusblast,psychic,thunderbolt,voltswitch,Fighting": 12, "choicespecs,surgesurfer,alluringvoice,focusblast,psychic,thunderbolt,Fighting": 14, "choicespecs,surgesurfer,alluringvoice,focusblast,psyshock,thunderbolt,Fairy": 11, "choicespecs,surgesurfer,alluringvoice,psychic,thunderbolt,voltswitch,Fairy": 8, "choicespecs,surgesurfer,alluringvoice,grassknot,psychic,thunderbolt,Grass": 12, "choicespecs,surgesurfer,alluringvoice,focusblast,psychic,thunderbolt,Fairy": 9, "choicespecs,surgesurfer,alluringvoice,grassknot,psyshock,thunderbolt,Fairy": 9, "choicespecs,surgesurfer,alluringvoice,psyshock,thunderbolt,voltswitch,Fairy": 5, "choicespecs,surgesurfer,grassknot,psyshock,surf,thunderbolt,Grass": 5, "choicespecs,surgesurfer,focusblast,psyshock,thunderbolt,voltswitch,Fighting": 10, "choicespecs,surgesurfer,grassknot,psychic,surf,thunderbolt,Grass": 9, "choicespecs,surgesurfer,alluringvoice,psychic,surf,thunderbolt,Fairy": 10, "choicespecs,surgesurfer,alluringvoice,psychic,surf,thunderbolt,Water": 10, "choicespecs,surgesurfer,psychic,surf,thunderbolt,voltswitch,Water": 12, "choicespecs,surgesurfer,focusblast,psychic,surf,thunderbolt,Water": 6, "choicespecs,surgesurfer,focusblast,psychic,surf,thunderbolt,Fighting": 8}, + "raikou": {"leftovers,pressure,calmmind,scald,shadowball,thunderbolt,Water": 157, "leftovers,pressure,calmmind,scald,substitute,thunderbolt,Water": 717, "choicespecs,pressure,scald,shadowball,thunderbolt,voltswitch,Water": 177, "choicespecs,pressure,scald,shadowball,thunderbolt,voltswitch,Electric": 187, "leftovers,pressure,calmmind,scald,shadowball,thunderbolt,Electric": 185}, + "rampardos": {"choicescarf,sheerforce,earthquake,firepunch,headsmash,rockslide,Ground": 318, "choicescarf,sheerforce,earthquake,firepunch,headsmash,rockslide,Rock": 342, "lifeorb,sheerforce,earthquake,firepunch,rockslide,zenheadbutt,Psychic": 363, "lifeorb,sheerforce,earthquake,firepunch,rockslide,zenheadbutt,Rock": 346}, + "rayquaza": {"choiceband,airlock,dragonascent,earthquake,extremespeed,uturn,Normal": 221, "heavydutyboots,airlock,dragonascent,dragondance,earthquake,outrage,Flying": 221, "heavydutyboots,airlock,dragonascent,dragondance,earthquake,outrage,Steel": 205, "loadeddice,airlock,dragonascent,earthquake,scaleshot,swordsdance,Steel": 139, "loadeddice,airlock,dragonascent,earthquake,scaleshot,swordsdance,Dragon": 142, "loadeddice,airlock,dragonascent,earthquake,scaleshot,swordsdance,Flying": 124, "heavydutyboots,airlock,dragonascent,earthquake,extremespeed,swordsdance,Normal": 205}, + "regice": {"heavydutyboots,clearbody,bodypress,icebeam,thunderbolt,thunderwave,Electric": 708, "heavydutyboots,clearbody,icebeam,rest,sleeptalk,thunderbolt,Electric": 695}, + "regidrago": {"lumberry,dragonsmaw,dracometeor,dragondance,earthquake,outrage,Dragon": 515, "choicescarf,dragonsmaw,dracometeor,dragonenergy,earthquake,outrage,Dragon": 533, "lifeorb,dragonsmaw,dragonclaw,dragondance,earthquake,terablast,Steel": 433}, + "regieleki": {"magnet,transistor,explosion,rapidspin,thunderbolt,voltswitch,Electric": 817, "magnet,transistor,rapidspin,terablast,thunderbolt,voltswitch,Ice": 634}, + "regigigas": {"leftovers,slowstart,bodyslam,knockoff,protect,substitute,Ghost": 384, "leftovers,slowstart,bodyslam,knockoff,protect,substitute,Poison": 370, "leftovers,slowstart,bodyslam,knockoff,rest,sleeptalk,Ghost": 707}, + "regirock": {"leftovers,clearbody,bodypress,irondefense,stoneedge,thunderwave,Fighting": 412, "chestoberry,clearbody,bodypress,curse,rest,stoneedge,Fighting": 367, "chestoberry,clearbody,bodypress,irondefense,rest,stoneedge,Fighting": 335, "leftovers,clearbody,bodypress,stealthrock,stoneedge,thunderwave,Fighting": 299}, + "registeel": {"leftovers,clearbody,bodypress,irondefense,ironhead,thunderwave,Fighting": 361, "chestoberry,clearbody,bodypress,irondefense,ironhead,rest,Fighting": 683, "leftovers,clearbody,bodypress,ironhead,stealthrock,thunderwave,Fighting": 299}, + "reshiram": {"heavydutyboots,turboblaze,blueflare,dracometeor,earthpower,willowisp,Ground": 179, "heavydutyboots,turboblaze,blueflare,dracometeor,earthpower,willowisp,Fire": 120, "heavydutyboots,turboblaze,dragondance,flareblitz,outrage,stoneedge,Fire": 360, "heavydutyboots,turboblaze,dragondance,flareblitz,outrage,stoneedge,Dragon": 334, "heavydutyboots,turboblaze,blueflare,dracometeor,dragontail,earthpower,Fire": 112, "heavydutyboots,turboblaze,blueflare,dracometeor,dragontail,earthpower,Ground": 177, "heavydutyboots,turboblaze,blueflare,dracometeor,dragontail,willowisp,Fire": 123}, + "reuniclus": {"lifeorb,magicguard,calmmind,focusblast,psyshock,recover,Fighting": 366, "lifeorb,magicguard,calmmind,focusblast,psyshock,recover,Steel": 183, "lifeorb,magicguard,calmmind,psychic,recover,shadowball,Steel": 164, "lifeorb,magicguard,calmmind,focusblast,psychic,recover,Fighting": 375, "lifeorb,magicguard,calmmind,focusblast,psychic,recover,Steel": 186, "lifeorb,magicguard,calmmind,psyshock,recover,shadowball,Steel": 171}, + "revavroom": {"lifeorb,filter,gunkshot,highhorsepower,ironhead,shiftgear,Ground": 1321}, + "rhydon": {"eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance,Fairy": 125, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance,Dragon": 135, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge,Grass": 105, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance,Water": 122, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge,Fairy": 121, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance,Grass": 140, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge,Flying": 110, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge,Water": 106, "eviolite,lightningrod,earthquake,megahorn,stealthrock,stoneedge,Dragon": 117, "eviolite,lightningrod,earthquake,megahorn,stoneedge,swordsdance,Flying": 132}, + "rhyperior": {"weaknesspolicy,solidrock,earthquake,icepunch,rockpolish,stoneedge,Rock": 111, "weaknesspolicy,solidrock,earthquake,icepunch,rockpolish,stoneedge,Ground": 107, "assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge,Bug": 87, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge,Bug": 204, "assaultvest,solidrock,dragontail,earthquake,icepunch,stoneedge,Steel": 44, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge,Rock": 125, "weaknesspolicy,solidrock,earthquake,megahorn,rockpolish,stoneedge,Ground": 107, "assaultvest,solidrock,dragontail,earthquake,icepunch,stoneedge,Dragon": 52, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge,Dragon": 54, "assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge,Dragon": 47, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge,Steel": 60, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge,Bug": 90, "assaultvest,solidrock,dragontail,earthquake,icepunch,stoneedge,Grass": 47, "assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge,Grass": 52, "choiceband,solidrock,earthquake,icepunch,megahorn,stoneedge,Grass": 44, "assaultvest,solidrock,dragontail,earthquake,megahorn,stoneedge,Steel": 54}, + "ribombee": {"heavydutyboots,shielddust,bugbuzz,moonblast,quiverdance,terablast,Ground": 689, "focussash,shielddust,bugbuzz,moonblast,stickyweb,uturn,Ghost": 45, "heavydutyboots,shielddust,bugbuzz,moonblast,stickyweb,uturn,Ghost": 198, "heavydutyboots,shielddust,bugbuzz,moonblast,stickyweb,stunspore,Ghost": 205, "heavydutyboots,shielddust,moonblast,stickyweb,stunspore,uturn,Ghost": 187, "focussash,shielddust,bugbuzz,moonblast,stickyweb,stunspore,Ghost": 48, "focussash,shielddust,moonblast,stickyweb,stunspore,uturn,Ghost": 38, "heavydutyboots,shielddust,bugbuzz,moonblast,stunspore,uturn,Ghost": 28}, + "rillaboom": {"lifeorb,grassysurge,grassyglide,knockoff,swordsdance,woodhammer,Grass": 324, "lifeorb,grassysurge,grassyglide,highhorsepower,swordsdance,woodhammer,Grass": 375, "choiceband,grassysurge,grassyglide,highhorsepower,uturn,woodhammer,Grass": 347, "choiceband,grassysurge,grassyglide,knockoff,uturn,woodhammer,Grass": 325}, + "roaringmoon": {"choiceband,protosynthesis,ironhead,knockoff,outrage,uturn,Steel": 162, "boosterenergy,protosynthesis,acrobatics,dragondance,knockoff,outrage,Flying": 197, "lumberry,protosynthesis,dragondance,knockoff,outrage,roost,Dark": 41, "lumberry,protosynthesis,dragondance,earthquake,knockoff,outrage,Dark": 35, "choiceband,protosynthesis,ironhead,knockoff,outrage,uturn,Dark": 158, "lumberry,protosynthesis,dragondance,knockoff,outrage,roost,Dragon": 31, "boosterenergy,protosynthesis,dragondance,ironhead,knockoff,outrage,Steel": 213, "lumberry,protosynthesis,dragondance,ironhead,knockoff,outrage,Dark": 31, "lumberry,protosynthesis,dragondance,knockoff,outrage,roost,Poison": 29, "lumberry,protosynthesis,dragondance,ironhead,knockoff,outrage,Poison": 38, "lumberry,protosynthesis,dragondance,earthquake,knockoff,outrage,Ground": 93, "lumberry,protosynthesis,dragondance,ironhead,knockoff,outrage,Steel": 104, "choiceband,protosynthesis,ironhead,knockoff,outrage,uturn,Dragon": 157, "lumberry,protosynthesis,dragondance,earthquake,knockoff,outrage,Poison": 23, "lumberry,protosynthesis,dragondance,ironhead,knockoff,outrage,Dragon": 29, "lumberry,protosynthesis,dragondance,earthquake,knockoff,outrage,Dragon": 26}, + "rotom": {"lifeorb,levitate,shadowball,thunderbolt,voltswitch,willowisp,Electric": 62, "lifeorb,levitate,nastyplot,shadowball,thunderbolt,willowisp,Electric": 83, "lifeorb,levitate,nastyplot,shadowball,thunderbolt,willowisp,Ghost": 99, "choicescarf,levitate,shadowball,thunderbolt,trick,voltswitch,Ghost": 83, "lifeorb,levitate,shadowball,thunderbolt,voltswitch,willowisp,Ghost": 76, "choicescarf,levitate,shadowball,thunderbolt,trick,voltswitch,Electric": 81}, + "rotomfan": {"heavydutyboots,levitate,airslash,thunderbolt,voltswitch,willowisp,Steel": 95, "heavydutyboots,levitate,airslash,nastyplot,thunderbolt,willowisp,Steel": 120, "heavydutyboots,levitate,airslash,nastyplot,thunderbolt,willowisp,Electric": 101, "heavydutyboots,levitate,airslash,thunderbolt,voltswitch,willowisp,Electric": 108}, + "rotomfrost": {"heavydutyboots,levitate,blizzard,thunderbolt,voltswitch,willowisp,Electric": 212, "heavydutyboots,levitate,blizzard,nastyplot,thunderbolt,willowisp,Electric": 204}, + "rotomheat": {"heavydutyboots,levitate,nastyplot,overheat,thunderbolt,willowisp,Electric": 33, "heavydutyboots,levitate,nastyplot,overheat,painsplit,thunderbolt,Fire": 32, "heavydutyboots,levitate,nastyplot,overheat,painsplit,thunderbolt,Electric": 32, "heavydutyboots,levitate,overheat,painsplit,thunderbolt,willowisp,Electric": 31, "choicescarf,levitate,overheat,thunderbolt,trick,voltswitch,Fire": 50, "heavydutyboots,levitate,nastyplot,overheat,thunderbolt,willowisp,Fire": 32, "heavydutyboots,levitate,overheat,thunderbolt,voltswitch,willowisp,Fire": 23, "heavydutyboots,levitate,overheat,painsplit,thunderbolt,voltswitch,Fire": 19, "choicescarf,levitate,overheat,thunderbolt,trick,voltswitch,Electric": 53, "heavydutyboots,levitate,overheat,painsplit,thunderbolt,willowisp,Fire": 47, "heavydutyboots,levitate,overheat,painsplit,thunderbolt,voltswitch,Electric": 37, "heavydutyboots,levitate,overheat,thunderbolt,voltswitch,willowisp,Electric": 20}, + "rotommow": {"lifeorb,levitate,leafstorm,nastyplot,thunderbolt,willowisp,Electric": 90, "choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch,Electric": 87, "lifeorb,levitate,leafstorm,thunderbolt,voltswitch,willowisp,Electric": 59, "choicescarf,levitate,leafstorm,thunderbolt,trick,voltswitch,Grass": 86, "lifeorb,levitate,leafstorm,thunderbolt,voltswitch,willowisp,Grass": 62, "lifeorb,levitate,leafstorm,nastyplot,thunderbolt,willowisp,Grass": 73}, + "rotomwash": {"leftovers,levitate,hydropump,nastyplot,thunderbolt,willowisp,Electric": 35, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp,Water": 40, "leftovers,levitate,hydropump,painsplit,thunderbolt,willowisp,Water": 47, "leftovers,levitate,hydropump,thunderbolt,voltswitch,willowisp,Electric": 14, "choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch,Electric": 57, "leftovers,levitate,hydropump,painsplit,thunderbolt,voltswitch,Electric": 35, "leftovers,levitate,hydropump,nastyplot,thunderbolt,willowisp,Water": 43, "leftovers,levitate,hydropump,nastyplot,painsplit,thunderbolt,Electric": 44, "leftovers,levitate,hydropump,painsplit,thunderbolt,voltswitch,Water": 35, "choicescarf,levitate,hydropump,thunderbolt,trick,voltswitch,Water": 60, "leftovers,levitate,hydropump,nastyplot,painsplit,thunderbolt,Water": 28, "leftovers,levitate,hydropump,painsplit,thunderbolt,willowisp,Electric": 31}, + "sableye": {"leftovers,prankster,encore,knockoff,recover,willowisp,Steel": 701, "leftovers,prankster,encore,knockoff,recover,thunderwave,Steel": 726}, + "salamence": {"heavydutyboots,intimidate,dragondance,dualwingbeat,outrage,roost,Dragon": 113, "heavydutyboots,intimidate,dragondance,dualwingbeat,earthquake,outrage,Ground": 191, "heavydutyboots,moxie,dragondance,dualwingbeat,earthquake,outrage,Ground": 226, "heavydutyboots,intimidate,dragondance,dualwingbeat,earthquake,outrage,Dragon": 115, "heavydutyboots,moxie,dragondance,dualwingbeat,outrage,roost,Dragon": 110, "heavydutyboots,moxie,dragondance,dualwingbeat,earthquake,outrage,Steel": 101, "heavydutyboots,moxie,dragondance,dualwingbeat,outrage,roost,Steel": 117, "heavydutyboots,intimidate,dragondance,dualwingbeat,outrage,roost,Steel": 122, "heavydutyboots,intimidate,dragondance,dualwingbeat,earthquake,outrage,Steel": 101, "heavydutyboots,moxie,dragondance,dualwingbeat,earthquake,outrage,Dragon": 84}, + "salazzle": {"leftovers,corrosion,flamethrower,protect,substitute,toxic,Grass": 385, "leftovers,corrosion,flamethrower,protect,substitute,toxic,Flying": 382, "heavydutyboots,corrosion,fireblast,nastyplot,sludgewave,terablast,Grass": 597}, + "samurott": {"lifeorb,torrent,knockoff,liquidation,sacredsword,swordsdance,Water": 42, "assaultvest,torrent,flipturn,grassknot,hydropump,sacredsword,Water": 5, "assaultvest,torrent,hydropump,icebeam,knockoff,megahorn,Dark": 10, "assaultvest,torrent,hydropump,icebeam,knockoff,sacredsword,Dark": 5, "assaultvest,torrent,hydropump,knockoff,megahorn,sacredsword,Dark": 8, "assaultvest,torrent,aquajet,hydropump,megahorn,sacredsword,Water": 9, "assaultvest,torrent,flipturn,grassknot,hydropump,megahorn,Grass": 11, "assaultvest,torrent,aquajet,hydropump,knockoff,sacredsword,Dark": 10, "lifeorb,torrent,knockoff,liquidation,megahorn,swordsdance,Water": 36, "assaultvest,torrent,aquajet,hydropump,icebeam,megahorn,Water": 8, "assaultvest,torrent,grassknot,hydropump,megahorn,sacredsword,Grass": 14, "assaultvest,torrent,aquajet,grassknot,hydropump,icebeam,Water": 3, "lifeorb,torrent,aquajet,knockoff,liquidation,swordsdance,Dark": 57, "lifeorb,torrent,aquajet,liquidation,sacredsword,swordsdance,Water": 34, "lifeorb,torrent,knockoff,liquidation,sacredsword,swordsdance,Dark": 65, "assaultvest,torrent,flipturn,grassknot,hydropump,knockoff,Water": 7, "assaultvest,torrent,aquajet,grassknot,hydropump,megahorn,Water": 4, "assaultvest,torrent,hydropump,icebeam,knockoff,megahorn,Water": 5, "lifeorb,torrent,knockoff,liquidation,megahorn,swordsdance,Dark": 48, "lifeorb,torrent,aquajet,liquidation,megahorn,swordsdance,Water": 19, "assaultvest,torrent,aquajet,hydropump,knockoff,sacredsword,Water": 5, "assaultvest,torrent,grassknot,hydropump,knockoff,megahorn,Grass": 5, "assaultvest,torrent,aquajet,grassknot,hydropump,knockoff,Water": 4, "assaultvest,torrent,grassknot,hydropump,knockoff,megahorn,Dark": 9, "assaultvest,torrent,aquajet,grassknot,hydropump,knockoff,Dark": 6, "assaultvest,torrent,flipturn,grassknot,hydropump,knockoff,Grass": 12, "assaultvest,torrent,grassknot,hydropump,knockoff,sacredsword,Dark": 10, "assaultvest,torrent,flipturn,grassknot,hydropump,megahorn,Water": 7, "assaultvest,torrent,flipturn,hydropump,knockoff,sacredsword,Dark": 12, "assaultvest,torrent,flipturn,grassknot,hydropump,sacredsword,Grass": 13, "assaultvest,torrent,flipturn,grassknot,hydropump,knockoff,Dark": 11, "assaultvest,torrent,grassknot,hydropump,icebeam,megahorn,Water": 3, "assaultvest,torrent,aquajet,hydropump,knockoff,megahorn,Dark": 10, "assaultvest,torrent,hydropump,knockoff,megahorn,sacredsword,Water": 2, "lifeorb,torrent,liquidation,megahorn,sacredsword,swordsdance,Water": 35, "assaultvest,torrent,aquajet,grassknot,hydropump,knockoff,Grass": 15, "lifeorb,torrent,aquajet,knockoff,liquidation,swordsdance,Water": 14, "assaultvest,torrent,aquajet,grassknot,hydropump,sacredsword,Grass": 9, "assaultvest,torrent,hydropump,icebeam,knockoff,sacredsword,Water": 1, "assaultvest,torrent,flipturn,hydropump,icebeam,knockoff,Dark": 9, "assaultvest,torrent,grassknot,hydropump,icebeam,megahorn,Grass": 9, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff,Water": 5, "assaultvest,torrent,flipturn,hydropump,knockoff,megahorn,Dark": 9, "assaultvest,torrent,flipturn,grassknot,hydropump,icebeam,Water": 6, "assaultvest,torrent,aquajet,grassknot,hydropump,megahorn,Grass": 5, "assaultvest,torrent,grassknot,hydropump,knockoff,sacredsword,Water": 4, "assaultvest,torrent,aquajet,hydropump,icebeam,knockoff,Dark": 9, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff,Grass": 8, "assaultvest,torrent,hydropump,icebeam,megahorn,sacredsword,Water": 4, "assaultvest,torrent,flipturn,hydropump,megahorn,sacredsword,Water": 4, "assaultvest,torrent,aquajet,grassknot,hydropump,icebeam,Grass": 9, "assaultvest,torrent,flipturn,hydropump,knockoff,megahorn,Water": 3, "assaultvest,torrent,flipturn,hydropump,icebeam,megahorn,Water": 6, "assaultvest,torrent,grassknot,hydropump,megahorn,sacredsword,Water": 2, "assaultvest,torrent,grassknot,hydropump,knockoff,sacredsword,Grass": 8, "assaultvest,torrent,flipturn,grassknot,hydropump,icebeam,Grass": 9, "assaultvest,torrent,aquajet,hydropump,icebeam,sacredsword,Water": 5, "assaultvest,torrent,grassknot,hydropump,icebeam,knockoff,Dark": 4, "assaultvest,torrent,flipturn,hydropump,icebeam,knockoff,Water": 4, "assaultvest,torrent,grassknot,hydropump,knockoff,megahorn,Water": 2, "assaultvest,torrent,grassknot,hydropump,icebeam,sacredsword,Grass": 8, "assaultvest,torrent,aquajet,hydropump,icebeam,knockoff,Water": 5, "assaultvest,torrent,aquajet,grassknot,hydropump,sacredsword,Water": 2, "assaultvest,torrent,aquajet,hydropump,knockoff,megahorn,Water": 4, "assaultvest,torrent,grassknot,hydropump,icebeam,sacredsword,Water": 4, "assaultvest,torrent,flipturn,hydropump,knockoff,sacredsword,Water": 4, "assaultvest,torrent,flipturn,hydropump,icebeam,sacredsword,Water": 3}, + "samurotthisui": {"choiceband,sharpness,ceaselessedge,razorshell,sacredsword,suckerpunch,Dark": 31, "lifeorb,sharpness,ceaselessedge,razorshell,suckerpunch,swordsdance,Dark": 58, "choiceband,sharpness,ceaselessedge,razorshell,sacredsword,suckerpunch,Water": 34, "lifeorb,sharpness,ceaselessedge,razorshell,sacredsword,swordsdance,Water": 49, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,suckerpunch,Dark": 49, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,suckerpunch,Water": 44, "choicescarf,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Dark": 23, "choicescarf,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Poison": 15, "lifeorb,sharpness,ceaselessedge,razorshell,sacredsword,swordsdance,Poison": 54, "lifeorb,sharpness,ceaselessedge,razorshell,sacredsword,swordsdance,Dark": 53, "choiceband,sharpness,ceaselessedge,razorshell,sacredsword,suckerpunch,Poison": 57, "lifeorb,sharpness,ceaselessedge,razorshell,suckerpunch,swordsdance,Water": 47, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Poison": 16, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Water": 23, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,suckerpunch,Poison": 46, "choicescarf,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Water": 23, "choiceband,sharpness,ceaselessedge,flipturn,razorshell,sacredsword,Dark": 33, "lifeorb,sharpness,ceaselessedge,razorshell,suckerpunch,swordsdance,Poison": 52}, + "sandaconda": {"loadeddice,shedskin,coil,earthquake,rockblast,scaleshot,Dragon": 507, "leftovers,shedskin,earthquake,glare,stealthrock,stoneedge,Dragon": 62, "leftovers,shedskin,earthquake,glare,rest,stoneedge,Dragon": 111, "leftovers,shedskin,earthquake,glare,rest,stoneedge,Water": 123, "leftovers,shedskin,earthquake,rest,stealthrock,stoneedge,Dragon": 80, "leftovers,shedskin,earthquake,glare,stealthrock,stoneedge,Water": 82, "leftovers,shedskin,coil,earthquake,rest,stoneedge,Steel": 142, "leftovers,shedskin,coil,earthquake,rest,stoneedge,Dragon": 110, "leftovers,shedskin,coil,earthquake,glare,stoneedge,Dragon": 127, "leftovers,shedskin,coil,earthquake,glare,stoneedge,Steel": 123, "leftovers,shedskin,earthquake,rest,stealthrock,stoneedge,Water": 62}, + "sandslash": {"assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge,Dragon": 37, "assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge,Water": 37, "leftovers,sandrush,earthquake,knockoff,rapidspin,swordsdance,Water": 54, "leftovers,sandrush,earthquake,rapidspin,spikes,stoneedge,Water": 64, "leftovers,sandrush,earthquake,rapidspin,spikes,stoneedge,Steel": 47, "leftovers,sandrush,earthquake,rapidspin,stoneedge,swordsdance,Steel": 48, "leftovers,sandrush,earthquake,knockoff,rapidspin,swordsdance,Dragon": 40, "leftovers,sandrush,earthquake,rapidspin,stoneedge,swordsdance,Dragon": 43, "leftovers,sandrush,earthquake,knockoff,rapidspin,spikes,Water": 54, "leftovers,sandrush,earthquake,knockoff,rapidspin,spikes,Steel": 37, "leftovers,sandrush,earthquake,rapidspin,spikes,stoneedge,Dragon": 44, "leftovers,sandrush,earthquake,knockoff,spikes,stoneedge,Water": 22, "leftovers,sandrush,earthquake,knockoff,rapidspin,spikes,Dragon": 49, "leftovers,sandrush,earthquake,knockoff,rapidspin,swordsdance,Steel": 39, "leftovers,sandrush,earthquake,rapidspin,stoneedge,swordsdance,Water": 38, "leftovers,sandrush,earthquake,knockoff,stoneedge,swordsdance,Water": 12, "assaultvest,sandrush,earthquake,knockoff,rapidspin,stoneedge,Steel": 33, "leftovers,sandrush,earthquake,knockoff,spikes,stoneedge,Steel": 22, "leftovers,sandrush,earthquake,knockoff,spikes,stoneedge,Dragon": 27, "leftovers,sandrush,earthquake,knockoff,stoneedge,swordsdance,Steel": 16, "leftovers,sandrush,earthquake,knockoff,stoneedge,swordsdance,Dragon": 21}, + "sandslashalola": {"assaultvest,slushrush,earthquake,ironhead,rapidspin,tripleaxel,Water": 49, "leftovers,slushrush,earthquake,rapidspin,swordsdance,tripleaxel,Ground": 89, "lifeorb,slushrush,earthquake,knockoff,swordsdance,tripleaxel,Ground": 115, "leftovers,slushrush,ironhead,rapidspin,spikes,tripleaxel,Flying": 53, "assaultvest,slushrush,ironhead,knockoff,rapidspin,tripleaxel,Flying": 45, "assaultvest,slushrush,earthquake,ironhead,rapidspin,tripleaxel,Flying": 52, "lifeorb,slushrush,earthquake,iceshard,swordsdance,tripleaxel,Ground": 106, "leftovers,slushrush,ironhead,rapidspin,spikes,tripleaxel,Water": 43, "choiceband,slushrush,earthquake,ironhead,knockoff,tripleaxel,Water": 2, "leftovers,slushrush,earthquake,ironhead,spikes,tripleaxel,Flying": 6, "leftovers,slushrush,earthquake,ironhead,spikes,tripleaxel,Water": 5, "choiceband,slushrush,earthquake,ironhead,knockoff,tripleaxel,Flying": 3, "assaultvest,slushrush,ironhead,knockoff,rapidspin,tripleaxel,Water": 41, "leftovers,slushrush,ironhead,knockoff,spikes,tripleaxel,Flying": 9, "leftovers,slushrush,ironhead,knockoff,spikes,tripleaxel,Water": 8, "choicescarf,slushrush,earthquake,ironhead,knockoff,tripleaxel,Water": 2, "choicescarf,slushrush,earthquake,ironhead,knockoff,tripleaxel,Flying": 2}, + "sandyshocks": {"leftovers,protosynthesis,earthpower,spikes,stealthrock,thunderbolt,Ground": 75, "heavydutyboots,protosynthesis,earthpower,spikes,thunderbolt,voltswitch,Electric": 85, "leftovers,protosynthesis,earthpower,stealthrock,thunderbolt,thunderwave,Electric": 67, "heavydutyboots,protosynthesis,earthpower,stealthrock,thunderbolt,voltswitch,Electric": 75, "leftovers,protosynthesis,earthpower,spikes,thunderbolt,thunderwave,Electric": 79, "leftovers,protosynthesis,earthpower,spikes,stealthrock,thunderbolt,Grass": 67, "leftovers,protosynthesis,earthpower,stealthrock,thunderbolt,thunderwave,Ground": 58, "leftovers,protosynthesis,earthpower,stealthrock,thunderbolt,thunderwave,Grass": 83, "heavydutyboots,protosynthesis,earthpower,thunderbolt,thunderwave,voltswitch,Ground": 87, "leftovers,protosynthesis,earthpower,spikes,thunderbolt,thunderwave,Ground": 79, "heavydutyboots,protosynthesis,earthpower,spikes,thunderbolt,voltswitch,Ground": 82, "heavydutyboots,protosynthesis,earthpower,thunderbolt,thunderwave,voltswitch,Grass": 80, "leftovers,protosynthesis,earthpower,spikes,thunderbolt,thunderwave,Grass": 80, "heavydutyboots,protosynthesis,earthpower,thunderbolt,thunderwave,voltswitch,Electric": 82, "heavydutyboots,protosynthesis,earthpower,stealthrock,thunderbolt,voltswitch,Grass": 77, "heavydutyboots,protosynthesis,earthpower,spikes,thunderbolt,voltswitch,Grass": 81, "heavydutyboots,protosynthesis,earthpower,stealthrock,thunderbolt,voltswitch,Ground": 55, "leftovers,protosynthesis,earthpower,spikes,stealthrock,thunderbolt,Electric": 58}, + "sawsbuck": {"lifeorb,serenegrace,headbutt,highhorsepower,hornleech,swordsdance,Normal": 667, "lifeorb,sapsipper,doubleedge,highhorsepower,hornleech,swordsdance,Ground": 327, "lifeorb,sapsipper,doubleedge,highhorsepower,hornleech,swordsdance,Normal": 333}, + "sceptile": {"leftovers,overgrow,focusblast,gigadrain,leechseed,substitute,Steel": 438, "lifeorb,overgrow,earthquake,focusblast,leafstorm,shedtail,Grass": 15, "lifeorb,overgrow,earthquake,leafblade,rockslide,swordsdance,Rock": 475, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide,Steel": 31, "lifeorb,overgrow,earthquake,focusblast,leafstorm,shedtail,Ground": 28, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide,Grass": 28, "lifeorb,overgrow,earthquake,gigadrain,rockslide,shedtail,Ground": 32, "lifeorb,overgrow,earthquake,gigadrain,rockslide,shedtail,Grass": 17, "lifeorb,overgrow,earthquake,focusblast,gigadrain,shedtail,Ground": 24, "lifeorb,overgrow,earthquake,gigadrain,rockslide,shedtail,Steel": 21, "lifeorb,overgrow,earthquake,leafstorm,rockslide,shedtail,Steel": 14, "lifeorb,overgrow,earthquake,focusblast,gigadrain,rockslide,Steel": 34, "lifeorb,overgrow,earthquake,focusblast,gigadrain,rockslide,Grass": 26, "lifeorb,overgrow,earthquake,focusblast,gigadrain,rockslide,Ground": 29, "lifeorb,overgrow,focusblast,leafstorm,rockslide,shedtail,Steel": 16, "lifeorb,overgrow,focusblast,gigadrain,rockslide,shedtail,Steel": 16, "lifeorb,overgrow,earthquake,leafstorm,rockslide,shedtail,Grass": 16, "lifeorb,overgrow,earthquake,focusblast,leafstorm,rockslide,Ground": 21, "lifeorb,overgrow,earthquake,leafstorm,rockslide,shedtail,Ground": 22, "lifeorb,overgrow,focusblast,gigadrain,rockslide,shedtail,Grass": 12, "lifeorb,overgrow,earthquake,focusblast,gigadrain,shedtail,Steel": 16, "lifeorb,overgrow,focusblast,leafstorm,rockslide,shedtail,Grass": 23, "lifeorb,overgrow,earthquake,focusblast,gigadrain,shedtail,Grass": 15, "lifeorb,overgrow,earthquake,focusblast,leafstorm,shedtail,Steel": 11}, + "scizor": {"lifeorb,technician,bugbite,bulletpunch,closecombat,swordsdance,Steel": 178, "leftovers,technician,bulletpunch,defog,knockoff,uturn,Dragon": 79, "leftovers,technician,bulletpunch,closecombat,defog,knockoff,Dragon": 78, "leftovers,technician,bulletpunch,closecombat,defog,uturn,Steel": 82, "choiceband,technician,bulletpunch,closecombat,knockoff,uturn,Steel": 561, "leftovers,technician,bulletpunch,defog,knockoff,uturn,Steel": 74, "lifeorb,technician,bulletpunch,closecombat,knockoff,swordsdance,Steel": 164, "choiceband,technician,bulletpunch,closecombat,knockoff,uturn,Dragon": 35, "lifeorb,technician,bugbite,bulletpunch,knockoff,swordsdance,Steel": 179, "leftovers,technician,bulletpunch,closecombat,defog,knockoff,Steel": 73, "leftovers,technician,bulletpunch,closecombat,defog,uturn,Dragon": 59}, + "scovillain": {"heavydutyboots,chlorophyll,energyball,fireblast,stompingtantrum,sunnyday,Fire": 141, "leftovers,chlorophyll,flamethrower,leechseed,protect,substitute,Steel": 455, "choicescarf,chlorophyll,energyball,flamethrower,leafstorm,overheat,Fire": 109, "heavydutyboots,chlorophyll,energyball,fireblast,stompingtantrum,sunnyday,Grass": 147, "choicespecs,chlorophyll,energyball,flamethrower,leafstorm,overheat,Fire": 118, "choicescarf,chlorophyll,energyball,flamethrower,leafstorm,overheat,Grass": 111, "choicespecs,chlorophyll,energyball,flamethrower,leafstorm,overheat,Grass": 123, "heavydutyboots,chlorophyll,energyball,fireblast,stompingtantrum,sunnyday,Ground": 164}, + "scrafty": {"leftovers,shedskin,bulkup,drainpunch,knockoff,rest,Poison": 662, "lifeorb,intimidate,closecombat,dragondance,knockoff,poisonjab,Poison": 690}, + "screamtail": {"leftovers,protosynthesis,encore,playrough,protect,wish,Poison": 200, "leftovers,protosynthesis,encore,playrough,protect,wish,Steel": 197, "leftovers,protosynthesis,dazzlinggleam,protect,thunderwave,wish,Steel": 197, "leftovers,protosynthesis,playrough,protect,thunderwave,wish,Steel": 179, "leftovers,protosynthesis,playrough,protect,thunderwave,wish,Poison": 170, "leftovers,protosynthesis,dazzlinggleam,encore,protect,wish,Steel": 180, "leftovers,protosynthesis,dazzlinggleam,protect,thunderwave,wish,Poison": 203, "leftovers,protosynthesis,dazzlinggleam,encore,protect,wish,Poison": 192}, + "scyther": {"heavydutyboots,technician,bugbite,closecombat,dualwingbeat,swordsdance,Fighting": 527, "eviolite,technician,bugbite,closecombat,dualwingbeat,swordsdance,Fighting": 108, "heavydutyboots,technician,closecombat,defog,dualwingbeat,uturn,Fighting": 655}, + "serperior": {"leftovers,contrary,dragonpulse,leafstorm,leechseed,substitute,Grass": 143, "lifeorb,contrary,dragonpulse,glare,leafstorm,synthesis,Dragon": 149, "leftovers,contrary,leafstorm,leechseed,substitute,terablast,Fire": 164, "leftovers,contrary,dragonpulse,leafstorm,leechseed,substitute,Dragon": 116, "leftovers,contrary,dragonpulse,leafstorm,leechseed,substitute,Water": 139, "lifeorb,contrary,glare,leafstorm,synthesis,terablast,Rock": 139, "lifeorb,contrary,glare,leafstorm,synthesis,terablast,Fire": 159, "lifeorb,contrary,dragonpulse,glare,leafstorm,synthesis,Water": 128, "leftovers,contrary,leafstorm,leechseed,substitute,terablast,Rock": 184, "lifeorb,contrary,dragonpulse,glare,leafstorm,synthesis,Grass": 117}, + "seviper": {"leftovers,infiltrator,earthquake,gunkshot,swordsdance,trailblaze,Grass": 362, "leftovers,infiltrator,earthquake,gunkshot,swordsdance,trailblaze,Ground": 379, "lifeorb,infiltrator,earthquake,gigadrain,gunkshot,knockoff,Ground": 15, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,gunkshot,Poison": 13, "choicescarf,infiltrator,earthquake,gigadrain,gunkshot,switcheroo,Ground": 28, "lifeorb,infiltrator,earthquake,flamethrower,gunkshot,knockoff,Ground": 12, "lifeorb,infiltrator,flamethrower,gigadrain,glare,gunkshot,Grass": 12, "lifeorb,infiltrator,earthquake,gigadrain,glare,gunkshot,Ground": 12, "choicescarf,infiltrator,gigadrain,gunkshot,knockoff,switcheroo,Dark": 26, "lifeorb,infiltrator,earthquake,gigadrain,gunkshot,knockoff,Dark": 22, "lifeorb,infiltrator,gigadrain,glare,gunkshot,knockoff,Dark": 15, "lifeorb,infiltrator,flamethrower,gigadrain,glare,gunkshot,Fire": 17, "choicescarf,infiltrator,earthquake,gunkshot,knockoff,switcheroo,Dark": 17, "lifeorb,infiltrator,flamethrower,gigadrain,gunkshot,knockoff,Grass": 13, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,gunkshot,Grass": 12, "choicescarf,infiltrator,gigadrain,gunkshot,knockoff,switcheroo,Grass": 15, "choicescarf,infiltrator,earthquake,flamethrower,gunkshot,switcheroo,Fire": 16, "lifeorb,infiltrator,earthquake,flamethrower,glare,gunkshot,Ground": 13, "lifeorb,infiltrator,earthquake,flamethrower,glare,gunkshot,Fire": 13, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,gunkshot,Fire": 11, "lifeorb,infiltrator,earthquake,flamethrower,gunkshot,knockoff,Poison": 11, "choicescarf,infiltrator,earthquake,gigadrain,gunkshot,switcheroo,Grass": 27, "lifeorb,infiltrator,earthquake,glare,gunkshot,knockoff,Ground": 23, "lifeorb,infiltrator,earthquake,glare,gunkshot,knockoff,Poison": 9, "lifeorb,infiltrator,flamethrower,gigadrain,gunkshot,knockoff,Fire": 14, "lifeorb,infiltrator,flamethrower,gigadrain,glare,gunkshot,Poison": 3, "lifeorb,infiltrator,earthquake,glare,gunkshot,knockoff,Dark": 23, "choicescarf,infiltrator,earthquake,gigadrain,gunkshot,switcheroo,Poison": 8, "lifeorb,infiltrator,earthquake,flamethrower,gigadrain,gunkshot,Ground": 15, "choicescarf,infiltrator,flamethrower,gigadrain,gunkshot,switcheroo,Grass": 18, "lifeorb,infiltrator,flamethrower,gigadrain,gunkshot,knockoff,Poison": 17, "choicescarf,infiltrator,flamethrower,gigadrain,gunkshot,switcheroo,Fire": 14, "choicescarf,infiltrator,earthquake,flamethrower,gunkshot,switcheroo,Ground": 19, "lifeorb,infiltrator,flamethrower,glare,gunkshot,knockoff,Poison": 9, "lifeorb,infiltrator,gigadrain,glare,gunkshot,knockoff,Grass": 16, "choicescarf,infiltrator,flamethrower,gigadrain,gunkshot,switcheroo,Poison": 11, "choicescarf,infiltrator,flamethrower,gunkshot,knockoff,switcheroo,Dark": 16, "choicescarf,infiltrator,flamethrower,gunkshot,knockoff,switcheroo,Fire": 17, "choicescarf,infiltrator,earthquake,gunkshot,knockoff,switcheroo,Ground": 16, "lifeorb,infiltrator,earthquake,gigadrain,glare,gunkshot,Grass": 18, "lifeorb,infiltrator,flamethrower,glare,gunkshot,knockoff,Fire": 19, "choicescarf,infiltrator,gigadrain,gunkshot,knockoff,switcheroo,Poison": 4, "lifeorb,infiltrator,earthquake,flamethrower,glare,gunkshot,Poison": 9, "lifeorb,infiltrator,flamethrower,gigadrain,gunkshot,knockoff,Dark": 14, "choicescarf,infiltrator,earthquake,flamethrower,gunkshot,switcheroo,Poison": 5, "choicescarf,infiltrator,earthquake,gunkshot,knockoff,switcheroo,Poison": 6, "lifeorb,infiltrator,earthquake,gigadrain,glare,gunkshot,Poison": 7, "lifeorb,infiltrator,earthquake,flamethrower,gunkshot,knockoff,Dark": 12, "lifeorb,infiltrator,gigadrain,glare,gunkshot,knockoff,Poison": 8, "lifeorb,infiltrator,earthquake,gigadrain,gunkshot,knockoff,Grass": 16, "lifeorb,infiltrator,flamethrower,glare,gunkshot,knockoff,Dark": 15, "lifeorb,infiltrator,earthquake,gigadrain,gunkshot,knockoff,Poison": 8, "lifeorb,infiltrator,earthquake,flamethrower,gunkshot,knockoff,Fire": 11, "choicescarf,infiltrator,flamethrower,gunkshot,knockoff,switcheroo,Poison": 6}, + "shaymin": {"leftovers,naturalcure,airslash,earthpower,seedflare,synthesis,Steel": 176, "leftovers,naturalcure,airslash,earthpower,seedflare,synthesis,Ground": 151, "leftovers,naturalcure,airslash,leechseed,seedflare,substitute,Steel": 342}, + "shayminsky": {"heavydutyboots,serenegrace,airslash,earthpower,seedflare,synthesis,Steel": 106, "choicespecs,serenegrace,airslash,dazzlinggleam,earthpower,seedflare,Flying": 96, "leftovers,serenegrace,airslash,leechseed,seedflare,substitute,Steel": 217, "choicespecs,serenegrace,airslash,dazzlinggleam,earthpower,seedflare,Grass": 88, "heavydutyboots,serenegrace,airslash,earthpower,seedflare,synthesis,Water": 104}, + "shiftry": {"lifeorb,windrider,knockoff,leafblade,suckerpunch,swordsdance,Dark": 232, "lifeorb,windrider,knockoff,leafstorm,suckerpunch,willowisp,Dark": 86, "lifeorb,windrider,knockoff,leafblade,suckerpunch,swordsdance,Poison": 198, "heavydutyboots,windrider,defog,knockoff,leafstorm,suckerpunch,Poison": 49, "lifeorb,windrider,knockoff,leafblade,lowkick,tailwind,Dark": 227, "lifeorb,windrider,knockoff,leafblade,lowkick,tailwind,Fighting": 196, "heavydutyboots,windrider,defog,knockoff,leafstorm,suckerpunch,Dark": 53, "lifeorb,windrider,knockoff,leafstorm,suckerpunch,willowisp,Poison": 98, "heavydutyboots,windrider,defog,knockoff,leafstorm,willowisp,Poison": 60, "heavydutyboots,windrider,defog,knockoff,leafstorm,willowisp,Dark": 53}, + "sinistcha": {"leftovers,heatproof,calmmind,matchagotcha,shadowball,strengthsap,Steel": 1350}, + "skarmory": {"rockyhelmet,sturdy,bodypress,bravebird,roost,spikes,Dragon": 68, "leftovers,sturdy,bodypress,bravebird,roost,spikes,Dragon": 61, "leftovers,sturdy,bodypress,bravebird,irondefense,roost,Fighting": 443, "leftovers,sturdy,bravebird,roost,spikes,stealthrock,Dragon": 66, "leftovers,sturdy,bravebird,roost,spikes,whirlwind,Dragon": 107, "rockyhelmet,sturdy,bravebird,roost,stealthrock,whirlwind,Dragon": 76, "leftovers,sturdy,bravebird,roost,stealthrock,whirlwind,Dragon": 79, "rockyhelmet,sturdy,bodypress,bravebird,roost,stealthrock,Fighting": 46, "leftovers,sturdy,bodypress,bravebird,roost,stealthrock,Dragon": 46, "rockyhelmet,sturdy,bravebird,roost,spikes,whirlwind,Dragon": 91, "rockyhelmet,sturdy,bravebird,roost,spikes,stealthrock,Dragon": 72, "rockyhelmet,sturdy,bodypress,bravebird,roost,spikes,Fighting": 67, "leftovers,sturdy,bodypress,bravebird,roost,spikes,Fighting": 83, "leftovers,sturdy,bodypress,bravebird,roost,stealthrock,Fighting": 44, "rockyhelmet,sturdy,bodypress,bravebird,roost,stealthrock,Dragon": 51}, + "skeledirge": {"heavydutyboots,unaware,hex,slackoff,torchsong,willowisp,Water": 360, "heavydutyboots,unaware,flamecharge,shadowball,slackoff,torchsong,Water": 359, "heavydutyboots,unaware,hex,slackoff,torchsong,willowisp,Fairy": 345, "heavydutyboots,unaware,flamecharge,shadowball,slackoff,torchsong,Fairy": 358}, + "skuntank": {"lifeorb,aftermath,gunkshot,knockoff,suckerpunch,taunt,Poison": 135, "lifeorb,aftermath,gunkshot,knockoff,suckerpunch,toxicspikes,Dark": 100, "leftovers,aftermath,gunkshot,knockoff,taunt,toxicspikes,Poison": 109, "assaultvest,aftermath,fireblast,gunkshot,knockoff,suckerpunch,Dark": 98, "lifeorb,aftermath,fireblast,gunkshot,knockoff,toxicspikes,Dark": 92, "focussash,aftermath,gunkshot,knockoff,taunt,toxicspikes,Dark": 18, "assaultvest,aftermath,fireblast,gunkshot,knockoff,suckerpunch,Poison": 148, "lifeorb,aftermath,fireblast,gunkshot,knockoff,taunt,Poison": 129, "lifeorb,aftermath,fireblast,gunkshot,knockoff,toxicspikes,Poison": 93, "focussash,aftermath,gunkshot,knockoff,taunt,toxicspikes,Poison": 15, "lifeorb,aftermath,fireblast,gunkshot,knockoff,taunt,Dark": 104, "lifeorb,aftermath,gunkshot,knockoff,suckerpunch,toxicspikes,Poison": 98, "lifeorb,aftermath,gunkshot,knockoff,suckerpunch,taunt,Dark": 135, "focussash,aftermath,gunkshot,knockoff,suckerpunch,toxicspikes,Poison": 25, "focussash,aftermath,fireblast,gunkshot,knockoff,toxicspikes,Dark": 18, "leftovers,aftermath,gunkshot,knockoff,taunt,toxicspikes,Dark": 76, "focussash,aftermath,fireblast,gunkshot,knockoff,toxicspikes,Poison": 20, "focussash,aftermath,gunkshot,knockoff,suckerpunch,toxicspikes,Dark": 18}, + "slaking": {"choiceband,truant,doubleedge,earthquake,gigaimpact,knockoff,Ghost": 242, "choicescarf,truant,doubleedge,earthquake,gigaimpact,knockoff,Normal": 264, "choiceband,truant,doubleedge,earthquake,gigaimpact,knockoff,Normal": 248, "choicescarf,truant,doubleedge,earthquake,gigaimpact,knockoff,Ghost": 242, "choicescarf,truant,doubleedge,earthquake,gigaimpact,knockoff,Ground": 256, "choiceband,truant,doubleedge,earthquake,gigaimpact,knockoff,Ground": 251}, + "slitherwing": {"heavydutyboots,protosynthesis,closecombat,morningsun,uturn,willowisp,Fire": 246, "boosterenergy,protosynthesis,bulkup,closecombat,leechlife,wildcharge,Electric": 57, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,uturn,Fire": 25, "heavydutyboots,protosynthesis,closecombat,morningsun,uturn,willowisp,Steel": 238, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,wildcharge,Electric": 69, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,uturn,Bug": 20, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,wildcharge,Fighting": 21, "choiceband,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Electric": 16, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,flamecharge,Fighting": 29, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,uturn,Fighting": 14, "lifeorb,protosynthesis,closecombat,firstimpression,uturn,wildcharge,Electric": 20, "choicescarf,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Electric": 11, "choicescarf,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Fire": 9, "choiceband,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Fire": 13, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,wildcharge,Bug": 20, "boosterenergy,protosynthesis,bulkup,closecombat,flamecharge,wildcharge,Electric": 63, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,wildcharge,Fighting": 47, "choiceband,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Fire": 13, "boosterenergy,protosynthesis,bulkup,closecombat,flamecharge,wildcharge,Fighting": 25, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,wildcharge,Electric": 22, "boosterenergy,protosynthesis,bulkup,closecombat,leechlife,wildcharge,Fighting": 44, "choiceband,protosynthesis,closecombat,earthquake,flareblitz,uturn,Fire": 8, "boosterenergy,protosynthesis,bulkup,closecombat,flamecharge,leechlife,Fighting": 22, "choiceband,protosynthesis,closecombat,earthquake,uturn,wildcharge,Electric": 15, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,wildcharge,Electric": 31, "lifeorb,protosynthesis,closecombat,firstimpression,uturn,wildcharge,Fighting": 12, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,flareblitz,Bug": 20, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,wildcharge,Bug": 18, "choicescarf,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Electric": 11, "boosterenergy,protosynthesis,bulkup,closecombat,earthquake,leechlife,Fighting": 32, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,uturn,Fighting": 15, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,wildcharge,Fire": 15, "choicescarf,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Fire": 13, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,flareblitz,Fighting": 17, "choicescarf,protosynthesis,closecombat,earthquake,flareblitz,uturn,Fire": 9, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,wildcharge,Fighting": 13, "choicescarf,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Fighting": 6, "choiceband,protosynthesis,closecombat,earthquake,uturn,wildcharge,Fighting": 8, "choicescarf,protosynthesis,closecombat,earthquake,uturn,wildcharge,Fighting": 5, "lifeorb,protosynthesis,closecombat,firstimpression,uturn,wildcharge,Bug": 18, "lifeorb,protosynthesis,closecombat,firstimpression,flareblitz,uturn,Bug": 23, "choiceband,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Fighting": 10, "lifeorb,protosynthesis,closecombat,earthquake,firstimpression,flareblitz,Fire": 19, "choicescarf,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Fighting": 10, "choicescarf,protosynthesis,closecombat,earthquake,uturn,wildcharge,Electric": 13, "choiceband,protosynthesis,closecombat,earthquake,flareblitz,wildcharge,Electric": 8, "choicescarf,protosynthesis,closecombat,earthquake,flareblitz,uturn,Fighting": 1, "choiceband,protosynthesis,closecombat,flareblitz,uturn,wildcharge,Fighting": 7, "choiceband,protosynthesis,closecombat,earthquake,flareblitz,uturn,Fighting": 4}, + "slowbro": {"assaultvest,regenerator,bodypress,futuresight,psychicnoise,scald,Fighting": 24, "rockyhelmet,regenerator,calmmind,psyshock,scald,slackoff,Fairy": 15, "rockyhelmet,regenerator,calmmind,psychicnoise,scald,slackoff,Fairy": 15, "leftovers,regenerator,bodypress,irondefense,scald,slackoff,Fighting": 214, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave,Fairy": 14, "leftovers,regenerator,calmmind,psychicnoise,scald,slackoff,Fairy": 17, "assaultvest,regenerator,bodypress,fireblast,icebeam,scald,Fighting": 21, "rockyhelmet,regenerator,psyshock,scald,slackoff,thunderwave,Fairy": 13, "assaultvest,regenerator,bodypress,futuresight,icebeam,scald,Fighting": 14, "assaultvest,regenerator,bodypress,futuresight,icebeam,scald,Fairy": 9, "assaultvest,regenerator,futuresight,icebeam,psychicnoise,scald,Fairy": 13, "rockyhelmet,regenerator,psychicnoise,scald,slackoff,thunderwave,Water": 21, "assaultvest,regenerator,bodypress,fireblast,psychicnoise,scald,Fighting": 18, "assaultvest,regenerator,bodypress,fireblast,futuresight,scald,Fairy": 20, "leftovers,regenerator,calmmind,psychicnoise,scald,slackoff,Water": 12, "assaultvest,regenerator,bodypress,icebeam,psychicnoise,scald,Fairy": 8, "assaultvest,regenerator,bodypress,fireblast,icebeam,scald,Fairy": 9, "rockyhelmet,regenerator,calmmind,psychicnoise,scald,slackoff,Water": 12, "assaultvest,regenerator,fireblast,icebeam,psychicnoise,scald,Fairy": 12, "assaultvest,regenerator,bodypress,fireblast,futuresight,scald,Fighting": 14, "leftovers,regenerator,psychicnoise,scald,slackoff,thunderwave,Fairy": 17, "leftovers,regenerator,calmmind,psyshock,scald,slackoff,Water": 14, "leftovers,regenerator,psychicnoise,scald,slackoff,thunderwave,Water": 16, "assaultvest,regenerator,bodypress,futuresight,psychicnoise,scald,Fairy": 9, "rockyhelmet,regenerator,psychicnoise,scald,slackoff,thunderwave,Fairy": 16, "rockyhelmet,regenerator,calmmind,psyshock,scald,slackoff,Water": 8, "rockyhelmet,regenerator,psyshock,scald,slackoff,thunderwave,Water": 13, "assaultvest,regenerator,bodypress,icebeam,psychicnoise,scald,Fighting": 13, "assaultvest,regenerator,bodypress,fireblast,psychicnoise,scald,Fairy": 12, "leftovers,regenerator,calmmind,psyshock,scald,slackoff,Fairy": 18, "assaultvest,regenerator,fireblast,futuresight,psychicnoise,scald,Fairy": 5, "assaultvest,regenerator,fireblast,futuresight,icebeam,scald,Fairy": 9, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave,Water": 7}, + "slowbrogalar": {"assaultvest,regenerator,earthquake,psychic,shellsidearm,surf,Water": 17, "lifeorb,regenerator,fireblast,psychic,shellsidearm,trickroom,Psychic": 97, "assaultvest,regenerator,fireblast,psychic,shellsidearm,surf,Water": 25, "rockyhelmet,regenerator,earthquake,psychic,shellsidearm,slackoff,Poison": 12, "assaultvest,regenerator,earthquake,psychic,shellsidearm,surf,Ground": 14, "assaultvest,regenerator,earthquake,fireblast,psychic,shellsidearm,Ground": 20, "leftovers,regenerator,fireblast,psychic,shellsidearm,slackoff,Dark": 12, "leftovers,regenerator,earthquake,psychic,shellsidearm,slackoff,Ground": 55, "assaultvest,regenerator,earthquake,foulplay,psychic,shellsidearm,Poison": 9, "leftovers,regenerator,psychic,shellsidearm,slackoff,thunderwave,Poison": 13, "leftovers,regenerator,psychic,shellsidearm,slackoff,thunderwave,Dark": 12, "assaultvest,regenerator,earthquake,foulplay,psychic,shellsidearm,Ground": 14, "assaultvest,regenerator,fireblast,foulplay,psychic,shellsidearm,Dark": 16, "leftovers,regenerator,earthquake,psychic,shellsidearm,slackoff,Dark": 10, "assaultvest,regenerator,foulplay,psychic,shellsidearm,surf,Poison": 12, "lifeorb,regenerator,fireblast,psychic,shellsidearm,trickroom,Poison": 121, "assaultvest,regenerator,fireblast,psychic,shellsidearm,surf,Poison": 6, "rockyhelmet,regenerator,psychic,shellsidearm,slackoff,thunderwave,Dark": 15, "assaultvest,regenerator,foulplay,psychic,shellsidearm,surf,Dark": 24, "rockyhelmet,regenerator,earthquake,psychic,shellsidearm,slackoff,Dark": 10, "assaultvest,regenerator,fireblast,foulplay,psychic,shellsidearm,Poison": 11, "rockyhelmet,regenerator,earthquake,psychic,shellsidearm,slackoff,Ground": 35, "rockyhelmet,regenerator,fireblast,psychic,shellsidearm,slackoff,Dark": 15, "assaultvest,regenerator,earthquake,foulplay,psychic,shellsidearm,Dark": 24, "rockyhelmet,regenerator,fireblast,psychic,shellsidearm,slackoff,Poison": 15, "leftovers,regenerator,fireblast,psychic,shellsidearm,slackoff,Poison": 9, "assaultvest,regenerator,earthquake,psychic,shellsidearm,surf,Poison": 6, "assaultvest,regenerator,foulplay,psychic,shellsidearm,surf,Water": 20, "leftovers,regenerator,earthquake,psychic,shellsidearm,slackoff,Poison": 11, "assaultvest,regenerator,earthquake,fireblast,psychic,shellsidearm,Poison": 7, "rockyhelmet,regenerator,psychic,shellsidearm,slackoff,thunderwave,Poison": 9}, + "slowking": {"leftovers,regenerator,psyshock,scald,slackoff,thunderwave,Fairy": 58, "leftovers,regenerator,psyshock,scald,slackoff,thunderwave,Dragon": 47, "heavydutyboots,regenerator,chillyreception,futuresight,scald,slackoff,Dragon": 197, "leftovers,regenerator,psychicnoise,scald,slackoff,thunderwave,Dragon": 49, "heavydutyboots,regenerator,chillyreception,psyshock,scald,slackoff,Dragon": 54, "heavydutyboots,regenerator,chillyreception,psyshock,scald,slackoff,Fairy": 38, "heavydutyboots,regenerator,chillyreception,futuresight,scald,slackoff,Fairy": 176, "heavydutyboots,regenerator,chillyreception,psychicnoise,scald,slackoff,Dragon": 42, "leftovers,regenerator,psychicnoise,scald,slackoff,thunderwave,Fairy": 42, "heavydutyboots,regenerator,chillyreception,psychicnoise,scald,slackoff,Fairy": 42}, + "slowkinggalar": {"assaultvest,regenerator,fireblast,psychicnoise,sludgebomb,surf,Psychic": 33, "leftovers,regenerator,psychicnoise,slackoff,sludgebomb,thunderwave,Dark": 29, "leftovers,regenerator,psychicnoise,slackoff,sludgebomb,thunderwave,Poison": 24, "leftovers,regenerator,psyshock,slackoff,sludgebomb,thunderwave,Poison": 20, "assaultvest,regenerator,futuresight,psychicnoise,sludgebomb,surf,Water": 59, "assaultvest,regenerator,fireblast,futuresight,psychicnoise,sludgebomb,Psychic": 43, "assaultvest,regenerator,futuresight,psychicnoise,sludgebomb,surf,Psychic": 33, "leftovers,regenerator,fireblast,psychicnoise,slackoff,sludgebomb,Poison": 23, "leftovers,regenerator,psyshock,slackoff,sludgebomb,toxicspikes,Dark": 17, "assaultvest,regenerator,futuresight,psychicnoise,sludgebomb,surf,Poison": 35, "leftovers,regenerator,psyshock,slackoff,sludgebomb,toxicspikes,Poison": 16, "assaultvest,regenerator,fireblast,psychicnoise,sludgebomb,surf,Water": 51, "leftovers,regenerator,psychicnoise,slackoff,sludgebomb,toxicspikes,Dark": 20, "heavydutyboots,regenerator,chillyreception,psyshock,slackoff,sludgebomb,Poison": 22, "assaultvest,regenerator,fireblast,futuresight,psychicnoise,sludgebomb,Poison": 34, "leftovers,regenerator,fireblast,psyshock,slackoff,sludgebomb,Poison": 14, "leftovers,regenerator,fireblast,psyshock,slackoff,sludgebomb,Dark": 16, "heavydutyboots,regenerator,chillyreception,psychicnoise,slackoff,sludgebomb,Poison": 19, "leftovers,regenerator,fireblast,psychicnoise,slackoff,sludgebomb,Dark": 23, "heavydutyboots,regenerator,chillyreception,psyshock,slackoff,sludgebomb,Dark": 20, "leftovers,regenerator,psychicnoise,slackoff,sludgebomb,toxicspikes,Poison": 14, "assaultvest,regenerator,fireblast,psychicnoise,sludgebomb,surf,Poison": 46, "leftovers,regenerator,psyshock,slackoff,sludgebomb,thunderwave,Dark": 22, "heavydutyboots,regenerator,chillyreception,psychicnoise,slackoff,sludgebomb,Dark": 23}, + "smeargle": {"widelens,technician,populationbomb,powertrip,shellsmash,spore,Normal": 738, "focussash,owntempo,ceaselessedge,spore,stickyweb,whirlwind,Ghost": 415, "focussash,owntempo,ceaselessedge,spore,stealthrock,stickyweb,Ghost": 292, "focussash,owntempo,ceaselessedge,spore,stealthrock,whirlwind,Ghost": 44}, + "sneasler": {"whiteherb,unburden,acrobatics,closecombat,gunkshot,swordsdance,Flying": 692, "choiceband,poisontouch,closecombat,gunkshot,throatchop,uturn,Fighting": 170, "choiceband,poisontouch,closecombat,direclaw,throatchop,uturn,Fighting": 162, "choiceband,poisontouch,closecombat,direclaw,throatchop,uturn,Dark": 185, "choiceband,poisontouch,closecombat,gunkshot,throatchop,uturn,Dark": 185}, + "snorlax": {"leftovers,thickfat,bodyslam,curse,rest,sleeptalk,Fairy": 393, "leftovers,thickfat,bodyslam,crunch,curse,earthquake,Ground": 176, "leftovers,thickfat,bodyslam,crunch,curse,earthquake,Poison": 196, "chestoberry,thickfat,bodyslam,crunch,curse,rest,Poison": 90, "leftovers,thickfat,bodyslam,curse,rest,sleeptalk,Poison": 398, "chestoberry,thickfat,bodyslam,curse,earthquake,rest,Ground": 190, "chestoberry,thickfat,bodyslam,curse,earthquake,rest,Poison": 87}, + "solgaleo": {"leftovers,fullmetalbody,closecombat,flareblitz,morningsun,sunsteelstrike,Water": 55, "leftovers,fullmetalbody,closecombat,morningsun,psychicfangs,sunsteelstrike,Water": 85, "weaknesspolicy,fullmetalbody,flamecharge,knockoff,psychic,sunsteelstrike,Dark": 159, "leftovers,fullmetalbody,knockoff,morningsun,psychicfangs,sunsteelstrike,Water": 60, "weaknesspolicy,fullmetalbody,closecombat,flamecharge,knockoff,sunsteelstrike,Dark": 159, "rockyhelmet,fullmetalbody,flareblitz,knockoff,morningsun,sunsteelstrike,Water": 72, "leftovers,fullmetalbody,closecombat,knockoff,morningsun,sunsteelstrike,Water": 60, "rockyhelmet,fullmetalbody,flareblitz,morningsun,psychicfangs,sunsteelstrike,Water": 56, "weaknesspolicy,fullmetalbody,closecombat,flamecharge,psychic,sunsteelstrike,Fighting": 170, "weaknesspolicy,fullmetalbody,closecombat,flamecharge,knockoff,sunsteelstrike,Fighting": 172, "rockyhelmet,fullmetalbody,closecombat,knockoff,morningsun,sunsteelstrike,Water": 51, "rockyhelmet,fullmetalbody,closecombat,morningsun,psychicfangs,sunsteelstrike,Water": 68, "rockyhelmet,fullmetalbody,closecombat,flareblitz,morningsun,sunsteelstrike,Water": 58, "rockyhelmet,fullmetalbody,knockoff,morningsun,psychicfangs,sunsteelstrike,Water": 61, "leftovers,fullmetalbody,flareblitz,knockoff,morningsun,sunsteelstrike,Water": 74, "leftovers,fullmetalbody,flareblitz,morningsun,psychicfangs,sunsteelstrike,Water": 52}, + "spectrier": {"lifeorb,grimneigh,darkpulse,nastyplot,shadowball,willowisp,Dark": 139, "leftovers,grimneigh,darkpulse,nastyplot,shadowball,substitute,Dark": 139, "lifeorb,grimneigh,nastyplot,shadowball,terablast,willowisp,Fighting": 317, "lifeorb,grimneigh,drainingkiss,nastyplot,shadowball,willowisp,Fairy": 152, "leftovers,grimneigh,nastyplot,shadowball,substitute,terablast,Fighting": 320, "lifeorb,grimneigh,darkpulse,drainingkiss,nastyplot,shadowball,Dark": 140, "lifeorb,grimneigh,darkpulse,drainingkiss,nastyplot,shadowball,Fairy": 150, "leftovers,grimneigh,drainingkiss,nastyplot,shadowball,substitute,Fairy": 142}, + "spidops": {"heavydutyboots,stakeout,knockoff,stickyweb,toxicspikes,uturn,Ghost": 243, "heavydutyboots,stakeout,circlethrow,knockoff,stickyweb,uturn,Ghost": 254, "heavydutyboots,stakeout,knockoff,spikes,stickyweb,toxicspikes,Ghost": 224, "heavydutyboots,stakeout,circlethrow,knockoff,spikes,stickyweb,Ghost": 228, "heavydutyboots,stakeout,circlethrow,knockoff,stickyweb,toxicspikes,Ghost": 200, "heavydutyboots,stakeout,knockoff,spikes,stickyweb,uturn,Ghost": 275, "heavydutyboots,stakeout,circlethrow,knockoff,spikes,uturn,Ghost": 16, "heavydutyboots,stakeout,circlethrow,knockoff,spikes,toxicspikes,Ghost": 15, "heavydutyboots,stakeout,knockoff,spikes,toxicspikes,uturn,Ghost": 11, "heavydutyboots,stakeout,circlethrow,knockoff,toxicspikes,uturn,Ghost": 8}, + "spiritomb": {"choiceband,infiltrator,foulplay,poltergeist,shadowsneak,suckerpunch,Dark": 72, "leftovers,infiltrator,foulplay,painsplit,poltergeist,shadowsneak,Ghost": 65, "leftovers,infiltrator,foulplay,painsplit,poltergeist,willowisp,Dark": 86, "leftovers,infiltrator,foulplay,poltergeist,suckerpunch,toxic,Dark": 84, "leftovers,infiltrator,foulplay,poltergeist,shadowsneak,willowisp,Dark": 92, "leftovers,infiltrator,foulplay,poltergeist,suckerpunch,toxic,Ghost": 95, "leftovers,infiltrator,foulplay,poltergeist,shadowsneak,toxic,Ghost": 85, "leftovers,infiltrator,foulplay,poltergeist,suckerpunch,willowisp,Ghost": 86, "leftovers,infiltrator,foulplay,painsplit,poltergeist,shadowsneak,Dark": 70, "leftovers,infiltrator,foulplay,painsplit,poltergeist,willowisp,Ghost": 88, "leftovers,infiltrator,foulplay,painsplit,poltergeist,toxic,Dark": 102, "leftovers,infiltrator,foulplay,poltergeist,suckerpunch,willowisp,Dark": 108, "leftovers,infiltrator,foulplay,painsplit,poltergeist,suckerpunch,Ghost": 79, "leftovers,infiltrator,foulplay,painsplit,poltergeist,toxic,Ghost": 76, "leftovers,infiltrator,foulplay,poltergeist,shadowsneak,willowisp,Ghost": 76, "leftovers,infiltrator,foulplay,painsplit,poltergeist,suckerpunch,Dark": 70, "leftovers,infiltrator,foulplay,poltergeist,shadowsneak,toxic,Dark": 72, "choiceband,infiltrator,foulplay,poltergeist,shadowsneak,suckerpunch,Ghost": 74}, + "squawkabilly": {"flameorb,guts,bravebird,facade,quickattack,uturn,Normal": 173, "flameorb,guts,bravebird,facade,protect,quickattack,Normal": 177}, + "squawkabillyblue": {"flameorb,guts,bravebird,facade,protect,quickattack,Normal": 179, "flameorb,guts,bravebird,facade,quickattack,uturn,Normal": 171}, + "squawkabillywhite": {"heavydutyboots,hustle,bravebird,doubleedge,partingshot,quickattack,Normal": 85, "choiceband,hustle,bravebird,doubleedge,foulplay,quickattack,Normal": 89, "heavydutyboots,hustle,bravebird,doubleedge,partingshot,quickattack,Flying": 39, "heavydutyboots,hustle,bravebird,foulplay,partingshot,quickattack,Flying": 38, "choiceband,hustle,bravebird,doubleedge,foulplay,quickattack,Flying": 69}, + "squawkabillyyellow": {"heavydutyboots,hustle,bravebird,doubleedge,partingshot,quickattack,Normal": 80, "heavydutyboots,hustle,bravebird,doubleedge,partingshot,quickattack,Flying": 39, "choiceband,hustle,bravebird,doubleedge,foulplay,quickattack,Normal": 90, "choiceband,hustle,bravebird,doubleedge,foulplay,quickattack,Flying": 68, "heavydutyboots,hustle,bravebird,foulplay,partingshot,quickattack,Flying": 34}, + "staraptor": {"choiceband,reckless,bravebird,closecombat,doubleedge,uturn,Flying": 122, "choiceband,reckless,bravebird,closecombat,doubleedge,quickattack,Flying": 237, "choicescarf,reckless,bravebird,closecombat,doubleedge,uturn,Fighting": 117, "choicescarf,reckless,bravebird,closecombat,doubleedge,uturn,Flying": 139, "choiceband,reckless,bravebird,closecombat,quickattack,uturn,Fighting": 236, "choiceband,reckless,bravebird,closecombat,quickattack,uturn,Flying": 122, "choiceband,reckless,bravebird,doubleedge,quickattack,uturn,Flying": 132, "choiceband,reckless,bravebird,closecombat,doubleedge,uturn,Fighting": 110, "choiceband,reckless,bravebird,closecombat,doubleedge,quickattack,Fighting": 221}, + "stonjourner": {"lifeorb,powerspot,earthquake,heatcrash,rockpolish,stoneedge,Fire": 394, "lifeorb,powerspot,earthquake,heatcrash,stealthrock,stoneedge,Fire": 283, "lifeorb,powerspot,earthquake,heatcrash,stealthrock,stoneedge,Ground": 306, "lifeorb,powerspot,earthquake,heatcrash,rockpolish,stoneedge,Ground": 337}, + "sudowoodo": {"leftovers,rockhead,earthquake,headsmash,stealthrock,woodhammer,Rock": 201, "choiceband,rockhead,earthquake,headsmash,suckerpunch,woodhammer,Rock": 268, "leftovers,rockhead,headsmash,stealthrock,suckerpunch,woodhammer,Rock": 104, "leftovers,rockhead,headsmash,stealthrock,suckerpunch,woodhammer,Grass": 236, "choiceband,rockhead,earthquake,headsmash,suckerpunch,woodhammer,Grass": 304, "leftovers,rockhead,earthquake,headsmash,stealthrock,woodhammer,Grass": 211, "leftovers,rockhead,earthquake,headsmash,stealthrock,suckerpunch,Rock": 105}, + "suicune": {"leftovers,pressure,calmmind,protect,scald,substitute,Steel": 470, "leftovers,pressure,calmmind,rest,scald,sleeptalk,Dragon": 242, "leftovers,pressure,calmmind,rest,scald,sleeptalk,Steel": 238, "leftovers,pressure,calmmind,icebeam,scald,substitute,Dragon": 219, "leftovers,pressure,calmmind,icebeam,scald,substitute,Steel": 222}, + "sunflora": {"choicespecs,chlorophyll,dazzlinggleam,earthpower,leafstorm,sludgebomb,Poison": 155, "lifeorb,chlorophyll,earthpower,solarbeam,sunnyday,weatherball,Fire": 732, "choicespecs,chlorophyll,dazzlinggleam,earthpower,leafstorm,sludgebomb,Grass": 195, "choicespecs,chlorophyll,dazzlinggleam,earthpower,leafstorm,sludgebomb,Ground": 166, "choicespecs,chlorophyll,dazzlinggleam,earthpower,leafstorm,sludgebomb,Fairy": 155}, + "swalot": {"leftovers,liquidooze,earthquake,encore,knockoff,sludgebomb,Dark": 33, "leftovers,liquidooze,clearsmog,knockoff,sludgebomb,toxicspikes,Dark": 33, "leftovers,liquidooze,earthquake,gunkshot,knockoff,swordsdance,Dark": 254, "leftovers,liquidooze,earthquake,gunkshot,knockoff,swordsdance,Ground": 234, "leftovers,liquidooze,earthquake,protect,sludgebomb,toxic,Ground": 466, "leftovers,liquidooze,encore,icebeam,knockoff,sludgebomb,Dark": 31, "assaultvest,liquidooze,clearsmog,earthquake,knockoff,sludgebomb,Dark": 40, "leftovers,liquidooze,earthquake,knockoff,sludgebomb,toxicspikes,Dark": 34, "leftovers,liquidooze,clearsmog,knockoff,painsplit,sludgebomb,Dark": 31, "leftovers,liquidooze,earthquake,knockoff,painsplit,sludgebomb,Dark": 22, "leftovers,liquidooze,knockoff,painsplit,sludgebomb,toxicspikes,Dark": 27, "leftovers,liquidooze,icebeam,knockoff,painsplit,sludgebomb,Dark": 44, "leftovers,liquidooze,encore,knockoff,painsplit,sludgebomb,Dark": 32, "leftovers,liquidooze,clearsmog,encore,knockoff,sludgebomb,Dark": 35, "leftovers,liquidooze,encore,knockoff,sludgebomb,toxicspikes,Dark": 32, "assaultvest,liquidooze,earthquake,icebeam,knockoff,sludgebomb,Dark": 34, "assaultvest,liquidooze,clearsmog,icebeam,knockoff,sludgebomb,Dark": 28, "leftovers,liquidooze,icebeam,knockoff,sludgebomb,toxicspikes,Dark": 32}, + "swampert": {"leftovers,damp,earthquake,icebeam,knockoff,roar,Poison": 59, "leftovers,damp,earthquake,icebeam,knockoff,yawn,Poison": 50, "leftovers,torrent,earthquake,flipturn,icebeam,stealthrock,Steel": 40, "leftovers,damp,earthquake,icebeam,stealthrock,yawn,Steel": 44, "leftovers,torrent,earthquake,flipturn,icebeam,roar,Poison": 36, "leftovers,torrent,earthquake,flipturn,knockoff,yawn,Steel": 60, "leftovers,damp,earthquake,icebeam,knockoff,roar,Steel": 71, "leftovers,torrent,earthquake,flipturn,icebeam,roar,Steel": 48, "leftovers,torrent,earthquake,flipturn,stealthrock,yawn,Poison": 33, "leftovers,damp,earthquake,knockoff,roar,stealthrock,Steel": 34, "leftovers,torrent,earthquake,flipturn,knockoff,yawn,Poison": 49, "leftovers,torrent,earthquake,flipturn,icebeam,stealthrock,Poison": 34, "leftovers,torrent,earthquake,flipturn,knockoff,stealthrock,Steel": 30, "leftovers,damp,earthquake,icebeam,roar,stealthrock,Steel": 38, "leftovers,torrent,earthquake,flipturn,icebeam,yawn,Steel": 65, "assaultvest,torrent,earthquake,flipturn,icebeam,knockoff,Poison": 34, "leftovers,torrent,earthquake,flipturn,knockoff,roar,Steel": 45, "leftovers,damp,earthquake,knockoff,stealthrock,yawn,Poison": 44, "leftovers,damp,earthquake,icebeam,roar,stealthrock,Poison": 40, "leftovers,torrent,earthquake,flipturn,stealthrock,yawn,Steel": 34, "leftovers,damp,earthquake,icebeam,stealthrock,yawn,Poison": 45, "leftovers,torrent,earthquake,flipturn,icebeam,yawn,Poison": 45, "leftovers,damp,earthquake,icebeam,knockoff,yawn,Steel": 63, "leftovers,torrent,earthquake,flipturn,roar,stealthrock,Poison": 45, "leftovers,damp,earthquake,knockoff,stealthrock,yawn,Steel": 41, "leftovers,damp,earthquake,icebeam,knockoff,stealthrock,Poison": 35, "leftovers,torrent,earthquake,flipturn,roar,stealthrock,Steel": 28, "leftovers,damp,earthquake,icebeam,knockoff,stealthrock,Steel": 29, "leftovers,torrent,earthquake,flipturn,knockoff,stealthrock,Poison": 37, "assaultvest,torrent,earthquake,flipturn,icebeam,knockoff,Steel": 30, "leftovers,torrent,earthquake,flipturn,knockoff,roar,Poison": 42, "leftovers,damp,earthquake,knockoff,roar,stealthrock,Poison": 37}, + "swanna": {"heavydutyboots,hydration,bravebird,defog,hydropump,roost,Ground": 1172, "heavydutyboots,hydration,bravebird,hydropump,knockoff,roost,Ground": 171}, + "sylveon": {"leftovers,pixilate,calmmind,hypervoice,protect,wish,Steel": 1560}, + "talonflame": {"heavydutyboots,flamebody,bravebird,overheat,roost,willowisp,Ground": 102, "heavydutyboots,flamebody,bravebird,flareblitz,swordsdance,terablast,Ground": 558, "heavydutyboots,flamebody,bravebird,overheat,roost,taunt,Dragon": 91, "heavydutyboots,flamebody,bravebird,overheat,roost,willowisp,Dragon": 87, "heavydutyboots,flamebody,bravebird,defog,overheat,roost,Ground": 79, "heavydutyboots,flamebody,bravebird,defog,overheat,roost,Dragon": 88, "heavydutyboots,flamebody,bravebird,overheat,roost,taunt,Ground": 103, "heavydutyboots,flamebody,bravebird,overheat,roost,uturn,Ground": 91, "heavydutyboots,flamebody,bravebird,overheat,roost,uturn,Dragon": 85}, + "tatsugiri": {"heavydutyboots,stormdrain,dracometeor,nastyplot,rapidspin,surf,Water": 582, "heavydutyboots,stormdrain,dracometeor,hydropump,nastyplot,rapidspin,Water": 594, "lifeorb,stormdrain,dracometeor,hydropump,nastyplot,surf,Water": 237}, + "tauros": {"lifeorb,sheerforce,bodyslam,closecombat,throatchop,zenheadbutt,Psychic": 151, "lifeorb,sheerforce,bodyslam,closecombat,throatchop,zenheadbutt,Normal": 113, "lifeorb,sheerforce,bodyslam,closecombat,throatchop,zenheadbutt,Fighting": 132, "lifeorb,sheerforce,bodyslam,closecombat,earthquake,throatchop,Normal": 96, "lifeorb,sheerforce,bodyslam,closecombat,earthquake,throatchop,Ground": 119, "lifeorb,sheerforce,bodyslam,closecombat,earthquake,throatchop,Fighting": 134}, + "taurospaldeaaqua": {"lifeorb,intimidate,aquajet,bulkup,closecombat,liquidation,Water": 228, "choiceband,intimidate,aquajet,closecombat,stoneedge,wavecrash,Water": 226, "sitrusberry,cudchew,bulkup,closecombat,liquidation,substitute,Water": 126, "sitrusberry,cudchew,bulkup,closecombat,liquidation,substitute,Steel": 119}, + "taurospaldeablaze": {"choiceband,intimidate,closecombat,flareblitz,stoneedge,wildcharge,Fighting": 342, "sitrusberry,cudchew,bulkup,closecombat,ragingbull,substitute,Water": 338}, + "taurospaldeacombat": {"lifeorb,intimidate,bulkup,closecombat,ironhead,throatchop,Steel": 38, "lifeorb,intimidate,bulkup,closecombat,stoneedge,throatchop,Dark": 52, "lifeorb,intimidate,bulkup,closecombat,ironhead,throatchop,Dark": 39, "choiceband,intimidate,closecombat,earthquake,ironhead,throatchop,Dark": 47, "choiceband,intimidate,closecombat,ironhead,stoneedge,throatchop,Dark": 42, "choiceband,intimidate,closecombat,earthquake,ironhead,throatchop,Steel": 44, "lifeorb,intimidate,bulkup,closecombat,stoneedge,throatchop,Fighting": 24, "lifeorb,intimidate,bulkup,closecombat,earthquake,throatchop,Dark": 44, "choiceband,intimidate,closecombat,earthquake,stoneedge,throatchop,Dark": 45, "lifeorb,intimidate,bulkup,closecombat,ironhead,stoneedge,Fighting": 27, "choiceband,intimidate,closecombat,earthquake,ironhead,stoneedge,Steel": 37, "lifeorb,intimidate,bulkup,closecombat,earthquake,ironhead,Fighting": 21, "lifeorb,intimidate,bulkup,closecombat,ironhead,throatchop,Fighting": 20, "choiceband,intimidate,closecombat,earthquake,ironhead,stoneedge,Fighting": 32, "choiceband,intimidate,closecombat,earthquake,ironhead,throatchop,Fighting": 31, "choiceband,intimidate,closecombat,ironhead,stoneedge,throatchop,Steel": 36, "lifeorb,intimidate,bulkup,closecombat,ironhead,stoneedge,Steel": 38, "lifeorb,intimidate,bulkup,closecombat,earthquake,ironhead,Steel": 34, "lifeorb,intimidate,bulkup,closecombat,earthquake,throatchop,Fighting": 29, "choiceband,intimidate,closecombat,earthquake,stoneedge,throatchop,Fighting": 28, "lifeorb,intimidate,bulkup,closecombat,earthquake,stoneedge,Fighting": 17, "choiceband,intimidate,closecombat,ironhead,stoneedge,throatchop,Fighting": 32}, + "tentacruel": {"leftovers,liquidooze,haze,rapidspin,sludgebomb,surf,Flying": 104, "leftovers,liquidooze,rapidspin,sludgebomb,surf,toxic,Flying": 118, "assaultvest,liquidooze,flipturn,rapidspin,sludgebomb,surf,Grass": 109, "assaultvest,liquidooze,knockoff,rapidspin,sludgebomb,surf,Grass": 107, "leftovers,liquidooze,rapidspin,sludgebomb,surf,toxicspikes,Flying": 114, "leftovers,liquidooze,haze,sludgebomb,surf,toxicspikes,Grass": 12, "leftovers,liquidooze,rapidspin,sludgebomb,surf,toxic,Grass": 129, "leftovers,liquidooze,haze,rapidspin,sludgebomb,surf,Grass": 120, "assaultvest,liquidooze,knockoff,rapidspin,sludgebomb,surf,Flying": 114, "assaultvest,liquidooze,flipturn,rapidspin,sludgebomb,surf,Flying": 105, "leftovers,liquidooze,haze,sludgebomb,surf,toxicspikes,Flying": 9, "leftovers,liquidooze,rapidspin,sludgebomb,surf,toxicspikes,Grass": 104, "leftovers,liquidooze,knockoff,sludgebomb,surf,toxic,Grass": 10, "leftovers,liquidooze,flipturn,haze,sludgebomb,surf,Grass": 7, "leftovers,liquidooze,haze,knockoff,sludgebomb,surf,Flying": 14, "leftovers,liquidooze,knockoff,sludgebomb,surf,toxic,Flying": 6, "leftovers,liquidooze,flipturn,sludgebomb,surf,toxicspikes,Grass": 5, "leftovers,liquidooze,haze,knockoff,sludgebomb,surf,Grass": 8, "leftovers,liquidooze,haze,sludgebomb,surf,toxic,Flying": 11, "leftovers,liquidooze,knockoff,sludgebomb,surf,toxicspikes,Flying": 16, "leftovers,liquidooze,flipturn,sludgebomb,surf,toxic,Flying": 5, "leftovers,liquidooze,flipturn,sludgebomb,surf,toxicspikes,Flying": 11, "leftovers,liquidooze,flipturn,sludgebomb,surf,toxic,Grass": 9, "leftovers,liquidooze,flipturn,haze,sludgebomb,surf,Flying": 9, "leftovers,liquidooze,haze,sludgebomb,surf,toxic,Grass": 9, "assaultvest,liquidooze,flipturn,knockoff,sludgebomb,surf,Grass": 12, "leftovers,liquidooze,knockoff,sludgebomb,surf,toxicspikes,Grass": 6, "assaultvest,liquidooze,flipturn,knockoff,sludgebomb,surf,Flying": 10}, + "terapagos": {"chestoberry,terashift,calmmind,darkpulse,rest,terastarstorm,Stellar": 406, "chestoberry,terashift,calmmind,earthpower,rest,terastarstorm,Stellar": 406, "heavydutyboots,terashift,calmmind,darkpulse,rapidspin,terastarstorm,Stellar": 297, "heavydutyboots,terashift,calmmind,earthpower,rapidspin,terastarstorm,Stellar": 298}, + "terrakion": {"choiceband,justified,closecombat,earthquake,quickattack,stoneedge,Ground": 338, "lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance,Fighting": 326, "lifeorb,justified,closecombat,earthquake,stoneedge,swordsdance,Ground": 360, "choiceband,justified,closecombat,earthquake,quickattack,stoneedge,Fighting": 333}, + "thundurus": {"heavydutyboots,prankster,grassknot,taunt,thunderbolt,thunderwave,Grass": 5, ",defiant,acrobatics,focusblast,thunderbolt,uturn,Flying": 5, ",prankster,acrobatics,taunt,thunderbolt,uturn,Steel": 2, "heavydutyboots,defiant,focusblast,nastyplot,terablast,thunderbolt,Flying": 198, ",prankster,acrobatics,grassknot,thunderbolt,thunderwave,Grass": 11, "choicespecs,defiant,focusblast,sludgewave,thunderbolt,uturn,Steel": 3, "heavydutyboots,prankster,sludgewave,taunt,thunderbolt,thunderwave,Electric": 1, ",prankster,acrobatics,knockoff,thunderbolt,thunderwave,Electric": 4, "heavydutyboots,defiant,focusblast,grassknot,knockoff,thunderbolt,Grass": 4, ",defiant,acrobatics,grassknot,knockoff,thunderbolt,Grass": 25, "heavydutyboots,defiant,knockoff,sludgewave,thunderbolt,uturn,Electric": 3, "choicespecs,defiant,focusblast,grassknot,thunderbolt,uturn,Grass": 7, ",prankster,acrobatics,grassknot,taunt,thunderbolt,Grass": 12, "heavydutyboots,prankster,focusblast,grassknot,nastyplot,thunderbolt,Grass": 8, "heavydutyboots,defiant,grassknot,knockoff,sludgewave,thunderbolt,Electric": 5, "choicespecs,defiant,grassknot,sludgewave,thunderbolt,uturn,Electric": 3, "heavydutyboots,prankster,grassknot,taunt,thunderbolt,thunderwave,Electric": 1, ",defiant,acrobatics,focusblast,knockoff,thunderbolt,Flying": 5, "heavydutyboots,defiant,knockoff,sludgewave,thunderbolt,uturn,Steel": 6, ",prankster,acrobatics,thunderbolt,thunderwave,uturn,Steel": 4, ",defiant,acrobatics,focusblast,knockoff,thunderbolt,Electric": 8, ",prankster,acrobatics,grassknot,taunt,thunderbolt,Steel": 3, ",defiant,acrobatics,focusblast,grassknot,thunderbolt,Flying": 4, ",defiant,acrobatics,knockoff,thunderbolt,uturn,Electric": 4, "heavydutyboots,prankster,grassknot,knockoff,thunderbolt,thunderwave,Steel": 2, "choicespecs,defiant,focusblast,grassknot,thunderbolt,uturn,Steel": 5, "choicespecs,defiant,grassknot,sludgewave,thunderbolt,uturn,Grass": 5, ",defiant,acrobatics,focusblast,grassknot,thunderbolt,Grass": 16, ",prankster,acrobatics,taunt,thunderbolt,thunderwave,Steel": 6, "heavydutyboots,prankster,knockoff,sludgewave,thunderbolt,thunderwave,Steel": 5, "heavydutyboots,prankster,grassknot,nastyplot,taunt,thunderbolt,Electric": 2, ",prankster,acrobatics,knockoff,taunt,thunderbolt,Flying": 2, "heavydutyboots,prankster,focusblast,knockoff,thunderbolt,thunderwave,Steel": 4, ",prankster,acrobatics,taunt,thunderbolt,thunderwave,Electric": 5, ",defiant,acrobatics,focusblast,grassknot,thunderbolt,Electric": 7, "heavydutyboots,prankster,grassknot,knockoff,thunderbolt,thunderwave,Electric": 4, ",defiant,acrobatics,knockoff,thunderbolt,uturn,Flying": 8, ",defiant,acrobatics,grassknot,thunderbolt,uturn,Flying": 4, ",defiant,acrobatics,grassknot,thunderbolt,uturn,Grass": 9, "heavydutyboots,prankster,focusblast,taunt,thunderbolt,thunderwave,Steel": 1, ",defiant,acrobatics,grassknot,thunderbolt,uturn,Steel": 3, "heavydutyboots,prankster,grassknot,sludgewave,thunderbolt,thunderwave,Grass": 4, "heavydutyboots,prankster,focusblast,sludgewave,taunt,thunderbolt,Electric": 5, "heavydutyboots,prankster,knockoff,taunt,thunderbolt,thunderwave,Steel": 2, "heavydutyboots,defiant,grassknot,knockoff,thunderbolt,uturn,Electric": 1, ",prankster,acrobatics,focusblast,taunt,thunderbolt,Steel": 1, "heavydutyboots,prankster,grassknot,sludgewave,thunderbolt,thunderwave,Electric": 3, ",prankster,acrobatics,thunderbolt,thunderwave,uturn,Flying": 2, "heavydutyboots,prankster,grassknot,knockoff,taunt,thunderbolt,Electric": 3, "heavydutyboots,prankster,focusblast,nastyplot,sludgewave,thunderbolt,Electric": 3, "heavydutyboots,prankster,knockoff,sludgewave,taunt,thunderbolt,Steel": 4, ",prankster,acrobatics,taunt,thunderbolt,thunderwave,Flying": 5, ",defiant,acrobatics,focusblast,knockoff,thunderbolt,Steel": 3, "heavydutyboots,prankster,grassknot,nastyplot,taunt,thunderbolt,Grass": 10, "heavydutyboots,prankster,focusblast,sludgewave,thunderbolt,thunderwave,Steel": 4, ",prankster,acrobatics,grassknot,taunt,thunderbolt,Flying": 8, "heavydutyboots,prankster,knockoff,sludgewave,taunt,thunderbolt,Electric": 3, "heavydutyboots,prankster,focusblast,grassknot,taunt,thunderbolt,Electric": 1, "heavydutyboots,prankster,knockoff,taunt,thunderbolt,uturn,Steel": 2, ",defiant,acrobatics,focusblast,thunderbolt,uturn,Steel": 5, "heavydutyboots,defiant,grassknot,knockoff,sludgewave,thunderbolt,Steel": 2, "heavydutyboots,prankster,focusblast,knockoff,thunderbolt,thunderwave,Electric": 1, ",prankster,acrobatics,taunt,thunderbolt,uturn,Electric": 6, "heavydutyboots,prankster,focusblast,thunderbolt,thunderwave,uturn,Steel": 2, "heavydutyboots,prankster,focusblast,taunt,thunderbolt,uturn,Steel": 2, "heavydutyboots,prankster,grassknot,nastyplot,sludgewave,thunderbolt,Grass": 6, ",prankster,acrobatics,knockoff,taunt,thunderbolt,Electric": 1, ",prankster,acrobatics,grassknot,thunderbolt,thunderwave,Flying": 2, ",prankster,acrobatics,focusblast,taunt,thunderbolt,Flying": 3, "heavydutyboots,prankster,grassknot,sludgewave,taunt,thunderbolt,Grass": 3, ",defiant,acrobatics,focusblast,grassknot,thunderbolt,Steel": 4, "heavydutyboots,prankster,focusblast,sludgewave,thunderbolt,thunderwave,Electric": 3, ",prankster,acrobatics,focusblast,thunderbolt,thunderwave,Electric": 7, "heavydutyboots,defiant,focusblast,knockoff,sludgewave,thunderbolt,Steel": 1, ",defiant,acrobatics,grassknot,knockoff,thunderbolt,Steel": 7, "heavydutyboots,defiant,grassknot,knockoff,sludgewave,thunderbolt,Grass": 4, "heavydutyboots,prankster,sludgewave,taunt,thunderbolt,uturn,Steel": 3, "heavydutyboots,prankster,grassknot,knockoff,taunt,thunderbolt,Grass": 5, ",prankster,acrobatics,thunderbolt,thunderwave,uturn,Electric": 1, "heavydutyboots,prankster,focusblast,grassknot,thunderbolt,thunderwave,Steel": 2, "heavydutyboots,prankster,focusblast,grassknot,nastyplot,thunderbolt,Steel": 4, ",prankster,acrobatics,knockoff,thunderbolt,thunderwave,Flying": 2, "heavydutyboots,prankster,grassknot,nastyplot,sludgewave,thunderbolt,Steel": 2, "heavydutyboots,prankster,grassknot,sludgewave,thunderbolt,thunderwave,Steel": 3, ",defiant,acrobatics,focusblast,thunderbolt,uturn,Electric": 3, "heavydutyboots,prankster,focusblast,knockoff,taunt,thunderbolt,Steel": 4, "heavydutyboots,prankster,knockoff,sludgewave,thunderbolt,thunderwave,Electric": 4, "choicespecs,prankster,focusblast,grassknot,sludgewave,thunderbolt,Electric": 1, "choicespecs,defiant,focusblast,sludgewave,thunderbolt,uturn,Electric": 3, "heavydutyboots,prankster,focusblast,nastyplot,sludgewave,thunderbolt,Steel": 4, "heavydutyboots,prankster,grassknot,thunderbolt,thunderwave,uturn,Grass": 3, "heavydutyboots,defiant,focusblast,grassknot,knockoff,thunderbolt,Electric": 3, "heavydutyboots,prankster,knockoff,taunt,thunderbolt,uturn,Electric": 1, "heavydutyboots,prankster,grassknot,sludgewave,taunt,thunderbolt,Steel": 1, ",defiant,acrobatics,grassknot,knockoff,thunderbolt,Electric": 6, "heavydutyboots,prankster,grassknot,knockoff,thunderbolt,thunderwave,Grass": 4, ",prankster,acrobatics,focusblast,thunderbolt,thunderwave,Steel": 2, "heavydutyboots,prankster,nastyplot,sludgewave,taunt,thunderbolt,Electric": 1, "choicespecs,prankster,focusblast,grassknot,sludgewave,thunderbolt,Grass": 3, "choicespecs,prankster,focusblast,grassknot,sludgewave,thunderbolt,Steel": 4, ",prankster,acrobatics,focusblast,taunt,thunderbolt,Electric": 2, "heavydutyboots,prankster,knockoff,thunderbolt,thunderwave,uturn,Electric": 1, "heavydutyboots,prankster,knockoff,thunderbolt,thunderwave,uturn,Steel": 2, "heavydutyboots,prankster,knockoff,taunt,thunderbolt,thunderwave,Electric": 3, "choicespecs,defiant,grassknot,sludgewave,thunderbolt,uturn,Steel": 1, ",prankster,acrobatics,taunt,thunderbolt,uturn,Flying": 1, "heavydutyboots,defiant,grassknot,knockoff,thunderbolt,uturn,Steel": 1, ",prankster,acrobatics,knockoff,taunt,thunderbolt,Steel": 6, "heavydutyboots,prankster,nastyplot,sludgewave,taunt,thunderbolt,Steel": 2, "heavydutyboots,prankster,focusblast,grassknot,thunderbolt,thunderwave,Electric": 2, "heavydutyboots,defiant,focusblast,knockoff,sludgewave,thunderbolt,Electric": 1, "heavydutyboots,prankster,focusblast,grassknot,taunt,thunderbolt,Steel": 2, "heavydutyboots,prankster,grassknot,taunt,thunderbolt,uturn,Grass": 2, ",defiant,acrobatics,knockoff,thunderbolt,uturn,Steel": 1, ",defiant,acrobatics,grassknot,knockoff,thunderbolt,Flying": 2, "heavydutyboots,prankster,grassknot,taunt,thunderbolt,thunderwave,Steel": 1, "choicespecs,defiant,focusblast,grassknot,thunderbolt,uturn,Electric": 1, "heavydutyboots,prankster,focusblast,sludgewave,taunt,thunderbolt,Steel": 1, ",prankster,acrobatics,grassknot,thunderbolt,thunderwave,Steel": 2, "heavydutyboots,prankster,focusblast,grassknot,taunt,thunderbolt,Grass": 2, ",prankster,acrobatics,knockoff,thunderbolt,thunderwave,Steel": 2, "heavydutyboots,defiant,grassknot,knockoff,thunderbolt,uturn,Grass": 3, ",defiant,acrobatics,grassknot,thunderbolt,uturn,Electric": 2, "heavydutyboots,defiant,focusblast,knockoff,thunderbolt,uturn,Steel": 1, ",prankster,acrobatics,grassknot,thunderbolt,thunderwave,Electric": 2, "heavydutyboots,prankster,grassknot,nastyplot,sludgewave,thunderbolt,Electric": 1, "heavydutyboots,prankster,focusblast,knockoff,taunt,thunderbolt,Electric": 1, "heavydutyboots,prankster,focusblast,grassknot,nastyplot,thunderbolt,Electric": 1, "heavydutyboots,prankster,grassknot,thunderbolt,thunderwave,uturn,Electric": 1, "heavydutyboots,prankster,grassknot,sludgewave,taunt,thunderbolt,Electric": 1, "heavydutyboots,defiant,focusblast,grassknot,knockoff,thunderbolt,Steel": 1, "heavydutyboots,prankster,focusblast,nastyplot,taunt,thunderbolt,Steel": 1, "heavydutyboots,prankster,focusblast,grassknot,thunderbolt,thunderwave,Grass": 1, "heavydutyboots,prankster,grassknot,thunderbolt,thunderwave,uturn,Steel": 1}, + "thundurustherian": {"choicescarf,voltabsorb,focusblast,psychic,thunderbolt,voltswitch,Psychic": 8, "heavydutyboots,voltabsorb,focusblast,nastyplot,terablast,thunderbolt,Flying": 308, "choicespecs,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Poison": 10, "heavydutyboots,voltabsorb,focusblast,nastyplot,psychic,thunderbolt,Psychic": 22, "choicespecs,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Electric": 5, "choicespecs,voltabsorb,focusblast,sludgewave,thunderbolt,voltswitch,Poison": 11, "heavydutyboots,voltabsorb,nastyplot,psychic,sludgewave,thunderbolt,Psychic": 23, "choicespecs,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Poison": 5, "choicescarf,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Electric": 1, "heavydutyboots,voltabsorb,focusblast,nastyplot,sludgewave,thunderbolt,Electric": 6, "choicespecs,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Psychic": 12, "choicespecs,voltabsorb,focusblast,grassknot,sludgewave,thunderbolt,Poison": 5, "choicescarf,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Psychic": 8, "heavydutyboots,voltabsorb,focusblast,nastyplot,sludgewave,thunderbolt,Poison": 11, "heavydutyboots,voltabsorb,nastyplot,psychic,sludgewave,thunderbolt,Electric": 7, "choicespecs,voltabsorb,grassknot,sludgewave,thunderbolt,voltswitch,Poison": 7, "choicescarf,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Psychic": 5, "choicescarf,voltabsorb,grassknot,psychic,thunderbolt,voltswitch,Electric": 7, "heavydutyboots,voltabsorb,grassknot,nastyplot,psychic,thunderbolt,Electric": 8, "choicescarf,voltabsorb,grassknot,sludgewave,thunderbolt,voltswitch,Poison": 9, "choicescarf,voltabsorb,focusblast,sludgewave,thunderbolt,voltswitch,Electric": 4, "heavydutyboots,voltabsorb,grassknot,nastyplot,psychic,thunderbolt,Psychic": 9, "heavydutyboots,voltabsorb,focusblast,grassknot,nastyplot,thunderbolt,Electric": 5, "choicescarf,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Psychic": 10, "choicescarf,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Electric": 5, "choicescarf,voltabsorb,focusblast,psychic,thunderbolt,voltswitch,Electric": 5, "choicespecs,voltabsorb,grassknot,psychic,thunderbolt,voltswitch,Psychic": 5, "choicespecs,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Poison": 7, "choicespecs,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Psychic": 4, "heavydutyboots,voltabsorb,grassknot,nastyplot,sludgewave,thunderbolt,Poison": 13, "choicespecs,voltabsorb,grassknot,sludgewave,thunderbolt,voltswitch,Electric": 3, "heavydutyboots,voltabsorb,grassknot,nastyplot,sludgewave,thunderbolt,Electric": 6, "choicescarf,voltabsorb,focusblast,sludgewave,thunderbolt,voltswitch,Poison": 5, "choicescarf,voltabsorb,grassknot,sludgewave,thunderbolt,voltswitch,Electric": 2, "choicescarf,voltabsorb,psychic,sludgewave,thunderbolt,voltswitch,Poison": 12, "choicescarf,voltabsorb,focusblast,grassknot,sludgewave,thunderbolt,Poison": 4, "choicescarf,voltabsorb,focusblast,grassknot,psychic,thunderbolt,Electric": 3, "choicescarf,voltabsorb,grassknot,psychic,thunderbolt,voltswitch,Psychic": 7, "heavydutyboots,voltabsorb,nastyplot,psychic,sludgewave,thunderbolt,Poison": 7, "choicescarf,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Poison": 3, "choicespecs,voltabsorb,focusblast,grassknot,psychic,thunderbolt,Psychic": 7, "choicescarf,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Poison": 3, "choicespecs,voltabsorb,focusblast,psychic,thunderbolt,voltswitch,Psychic": 14, "choicescarf,voltabsorb,focusblast,grassknot,psychic,thunderbolt,Psychic": 5, "choicespecs,voltabsorb,focusblast,sludgewave,thunderbolt,voltswitch,Electric": 4, "choicespecs,voltabsorb,focusblast,grassknot,thunderbolt,voltswitch,Electric": 1, "choicescarf,voltabsorb,focusblast,grassknot,sludgewave,thunderbolt,Electric": 2, "choicespecs,voltabsorb,focusblast,psychic,thunderbolt,voltswitch,Electric": 5, "choicespecs,voltabsorb,focusblast,grassknot,psychic,thunderbolt,Electric": 3, "choicespecs,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Psychic": 7, "heavydutyboots,voltabsorb,focusblast,nastyplot,psychic,thunderbolt,Electric": 5, "choicescarf,voltabsorb,focusblast,grassknot,thunderbolt,voltswitch,Electric": 3, "choicespecs,voltabsorb,focusblast,grassknot,sludgewave,thunderbolt,Electric": 6, "choicescarf,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Electric": 2, "choicespecs,voltabsorb,grassknot,psychic,sludgewave,thunderbolt,Electric": 2, "choicespecs,voltabsorb,focusblast,psychic,sludgewave,thunderbolt,Electric": 3}, + "tinglu": {"leftovers,vesselofruin,earthquake,spikes,throatchop,whirlwind,Ghost": 140, "leftovers,vesselofruin,earthquake,spikes,stealthrock,throatchop,Ghost": 92, "assaultvest,vesselofruin,earthquake,heavyslam,payback,ruination,Steel": 79, "assaultvest,vesselofruin,earthquake,heavyslam,payback,ruination,Ghost": 39, "leftovers,vesselofruin,earthquake,heavyslam,payback,spikes,Steel": 86, "leftovers,vesselofruin,earthquake,payback,ruination,stealthrock,Ghost": 37, "assaultvest,vesselofruin,earthquake,heavyslam,payback,ruination,Poison": 44, "leftovers,vesselofruin,earthquake,heavyslam,payback,stealthrock,Poison": 28, "leftovers,vesselofruin,earthquake,payback,spikes,stealthrock,Ghost": 30, "leftovers,vesselofruin,earthquake,spikes,throatchop,whirlwind,Poison": 139, "leftovers,vesselofruin,earthquake,heavyslam,payback,stealthrock,Steel": 57, "leftovers,vesselofruin,earthquake,payback,ruination,spikes,Poison": 34, "leftovers,vesselofruin,earthquake,payback,ruination,stealthrock,Poison": 33, "leftovers,vesselofruin,earthquake,heavyslam,payback,spikes,Ghost": 39, "leftovers,vesselofruin,earthquake,stealthrock,throatchop,whirlwind,Ghost": 106, "leftovers,vesselofruin,earthquake,stealthrock,throatchop,whirlwind,Poison": 104, "leftovers,vesselofruin,earthquake,payback,spikes,stealthrock,Poison": 36, "leftovers,vesselofruin,earthquake,payback,ruination,spikes,Ghost": 39, "leftovers,vesselofruin,earthquake,spikes,stealthrock,throatchop,Poison": 98, "leftovers,vesselofruin,earthquake,heavyslam,payback,spikes,Poison": 41, "leftovers,vesselofruin,earthquake,heavyslam,payback,stealthrock,Ghost": 35}, + "tinkaton": {"leftovers,moldbreaker,encore,gigatonhammer,playrough,thunderwave,Water": 115, "lifeorb,moldbreaker,gigatonhammer,knockoff,playrough,swordsdance,Steel": 733, "leftovers,moldbreaker,encore,gigatonhammer,knockoff,playrough,Water": 140, "leftovers,moldbreaker,gigatonhammer,playrough,stealthrock,thunderwave,Water": 99, "leftovers,moldbreaker,gigatonhammer,knockoff,playrough,stealthrock,Water": 112, "leftovers,moldbreaker,gigatonhammer,knockoff,playrough,thunderwave,Water": 119, "leftovers,moldbreaker,encore,gigatonhammer,playrough,stealthrock,Water": 114}, + "toedscruel": {"leftovers,myceliummight,earthpower,gigadrain,rapidspin,toxic,Water": 163, "assaultvest,myceliummight,earthpower,gigadrain,knockoff,rapidspin,Water": 185, "leftovers,myceliummight,earthpower,knockoff,leafstorm,spore,Water": 20, "leftovers,myceliummight,earthpower,leafstorm,rapidspin,spore,Water": 195, "assaultvest,myceliummight,earthpower,knockoff,leafstorm,rapidspin,Water": 188, "leftovers,myceliummight,earthpower,gigadrain,knockoff,spore,Water": 31, "leftovers,myceliummight,earthpower,gigadrain,rapidspin,spore,Water": 151, "leftovers,myceliummight,earthpower,leafstorm,rapidspin,toxic,Water": 164, "leftovers,myceliummight,earthpower,leafstorm,spore,toxic,Water": 28, "leftovers,myceliummight,earthpower,gigadrain,knockoff,toxic,Water": 25, "leftovers,myceliummight,earthpower,knockoff,leafstorm,toxic,Water": 35, "leftovers,myceliummight,earthpower,gigadrain,spore,toxic,Water": 32}, + "torkoal": {"heavydutyboots,drought,lavaplume,rapidspin,solarbeam,yawn,Dragon": 135, "heavydutyboots,drought,lavaplume,rapidspin,solarbeam,yawn,Grass": 256, "heavydutyboots,drought,lavaplume,rapidspin,solarbeam,stealthrock,Dragon": 90, "heavydutyboots,drought,lavaplume,solarbeam,stealthrock,yawn,Grass": 164, "heavydutyboots,drought,lavaplume,rapidspin,stealthrock,yawn,Dragon": 79, "heavydutyboots,drought,lavaplume,rapidspin,solarbeam,stealthrock,Grass": 202, "heavydutyboots,drought,earthquake,lavaplume,solarbeam,yawn,Grass": 139, "heavydutyboots,drought,earthquake,lavaplume,solarbeam,stealthrock,Grass": 115, "heavydutyboots,drought,lavaplume,rapidspin,stealthrock,yawn,Grass": 83, "heavydutyboots,drought,earthquake,lavaplume,rapidspin,solarbeam,Grass": 107, "heavydutyboots,drought,lavaplume,solarbeam,stealthrock,yawn,Dragon": 46}, + "tornadus": {"choicespecs,defiant,bleakwindstorm,focusblast,heatwave,uturn,Fighting": 29, "heavydutyboots,prankster,bleakwindstorm,focusblast,grassknot,nastyplot,Fighting": 23, "heavydutyboots,prankster,bleakwindstorm,knockoff,taunt,uturn,Dark": 133, "heavydutyboots,prankster,bleakwindstorm,knockoff,taunt,uturn,Ground": 141, "choicespecs,prankster,bleakwindstorm,focusblast,grassknot,heatwave,Fighting": 19, "heavydutyboots,prankster,bleakwindstorm,focusblast,grassknot,nastyplot,Flying": 18, "choicespecs,defiant,bleakwindstorm,focusblast,heatwave,uturn,Fire": 27, "choicespecs,defiant,bleakwindstorm,grassknot,heatwave,uturn,Fire": 25, "choicespecs,prankster,bleakwindstorm,focusblast,grassknot,heatwave,Flying": 16, "heavydutyboots,prankster,bleakwindstorm,knockoff,taunt,uturn,Steel": 122, "choicespecs,prankster,bleakwindstorm,focusblast,grassknot,heatwave,Fire": 21, "heavydutyboots,prankster,bleakwindstorm,grassknot,heatwave,nastyplot,Fire": 31, "choicespecs,defiant,bleakwindstorm,focusblast,grassknot,uturn,Fighting": 20, "heavydutyboots,prankster,bleakwindstorm,focusblast,heatwave,nastyplot,Fighting": 35, "heavydutyboots,prankster,bleakwindstorm,focusblast,heatwave,nastyplot,Fire": 24, "choicespecs,defiant,bleakwindstorm,focusblast,heatwave,uturn,Flying": 14, "choicespecs,defiant,bleakwindstorm,focusblast,grassknot,uturn,Flying": 22, "heavydutyboots,prankster,bleakwindstorm,grassknot,heatwave,nastyplot,Flying": 10, "choicespecs,defiant,bleakwindstorm,grassknot,heatwave,uturn,Flying": 12, "heavydutyboots,prankster,bleakwindstorm,focusblast,heatwave,nastyplot,Flying": 18}, + "tornadustherian": {"assaultvest,regenerator,bleakwindstorm,heatwave,knockoff,uturn,Steel": 190, "heavydutyboots,regenerator,bleakwindstorm,grassknot,heatwave,nastyplot,Fire": 23, "choicespecs,regenerator,bleakwindstorm,focusblast,heatwave,uturn,Fighting": 27, "choicespecs,regenerator,bleakwindstorm,focusblast,grassknot,heatwave,Flying": 27, "heavydutyboots,regenerator,bleakwindstorm,grassknot,heatwave,nastyplot,Flying": 18, "assaultvest,regenerator,bleakwindstorm,heatwave,knockoff,uturn,Dark": 179, "choicespecs,regenerator,bleakwindstorm,focusblast,heatwave,uturn,Fire": 29, "choicespecs,regenerator,bleakwindstorm,focusblast,grassknot,uturn,Flying": 14, "choicespecs,regenerator,bleakwindstorm,grassknot,heatwave,uturn,Fire": 18, "choicespecs,regenerator,bleakwindstorm,focusblast,grassknot,uturn,Fighting": 32, "choicespecs,regenerator,bleakwindstorm,focusblast,grassknot,heatwave,Fighting": 23, "heavydutyboots,regenerator,bleakwindstorm,focusblast,grassknot,nastyplot,Flying": 20, "choicespecs,regenerator,bleakwindstorm,focusblast,grassknot,heatwave,Fire": 23, "heavydutyboots,regenerator,bleakwindstorm,focusblast,grassknot,nastyplot,Fighting": 26, "choicespecs,regenerator,bleakwindstorm,focusblast,heatwave,uturn,Flying": 19, "heavydutyboots,regenerator,bleakwindstorm,focusblast,heatwave,nastyplot,Fire": 26, "choicespecs,regenerator,bleakwindstorm,grassknot,heatwave,uturn,Flying": 15, "heavydutyboots,regenerator,bleakwindstorm,focusblast,heatwave,nastyplot,Fighting": 23, "heavydutyboots,regenerator,bleakwindstorm,focusblast,heatwave,nastyplot,Flying": 19}, + "torterra": {"loadeddice,overgrow,bulletseed,headlongrush,rockblast,shellsmash,Rock": 299, "loadeddice,overgrow,bulletseed,headlongrush,rockblast,shellsmash,Water": 330, "loadeddice,overgrow,bulletseed,headlongrush,rockblast,shellsmash,Ground": 307, "loadeddice,overgrow,bulletseed,headlongrush,rockblast,shellsmash,Grass": 346}, + "toucannon": {"heavydutyboots,keeneye,beakblast,boomburst,knockoff,roost,Steel": 465, "heavydutyboots,skilllink,beakblast,boomburst,bulletseed,roost,Steel": 471, "heavydutyboots,keeneye,beakblast,boomburst,roost,uturn,Steel": 463}, + "toxapex": {"leftovers,regenerator,haze,liquidation,recover,toxicspikes,Grass": 99, "leftovers,regenerator,haze,liquidation,recover,toxicspikes,Steel": 77, "leftovers,regenerator,haze,liquidation,recover,toxic,Fairy": 97, "rockyhelmet,regenerator,haze,liquidation,recover,toxic,Flying": 72, "leftovers,regenerator,haze,liquidation,recover,toxic,Flying": 86, "rockyhelmet,regenerator,haze,liquidation,recover,toxicspikes,Steel": 76, "rockyhelmet,regenerator,haze,liquidation,recover,toxic,Grass": 75, "rockyhelmet,regenerator,haze,liquidation,recover,toxic,Steel": 79, "leftovers,regenerator,haze,liquidation,recover,toxicspikes,Flying": 57, "leftovers,regenerator,haze,liquidation,recover,toxic,Grass": 97, "leftovers,regenerator,haze,liquidation,recover,toxic,Steel": 103, "leftovers,regenerator,haze,liquidation,recover,toxicspikes,Fairy": 74, "rockyhelmet,regenerator,haze,liquidation,recover,toxicspikes,Flying": 87, "rockyhelmet,regenerator,haze,liquidation,recover,toxicspikes,Fairy": 76, "rockyhelmet,regenerator,haze,liquidation,recover,toxic,Fairy": 89, "rockyhelmet,regenerator,haze,liquidation,recover,toxicspikes,Grass": 80}, + "toxicroak": {"lifeorb,dryskin,closecombat,earthquake,gunkshot,swordsdance,Ground": 220, "lifeorb,dryskin,closecombat,gunkshot,knockoff,swordsdance,Dark": 234, "choiceband,dryskin,closecombat,gunkshot,knockoff,suckerpunch,Dark": 192, "lifeorb,dryskin,closecombat,earthquake,gunkshot,swordsdance,Dark": 111, "choiceband,dryskin,closecombat,earthquake,gunkshot,knockoff,Dark": 113, "lifeorb,dryskin,closecombat,gunkshot,suckerpunch,swordsdance,Fighting": 109, "lifeorb,dryskin,closecombat,earthquake,gunkshot,swordsdance,Fighting": 122, "choicescarf,dryskin,closecombat,earthquake,gunkshot,knockoff,Dark": 80, "lifeorb,dryskin,closecombat,gunkshot,suckerpunch,swordsdance,Dark": 105}, + "toxtricity": {"throatspray,punkrock,boomburst,gunkshot,overdrive,shiftgear,Normal": 682, "choicescarf,punkrock,boomburst,overdrive,sludgewave,voltswitch,Normal": 354, "choicespecs,punkrock,boomburst,overdrive,sludgewave,voltswitch,Normal": 344}, + "trevenant": {"lifeorb,naturalcure,drainpunch,poltergeist,willowisp,woodhammer,Fighting": 88, "lifeorb,naturalcure,drainpunch,hornleech,poltergeist,trickroom,Fighting": 90, "sitrusberry,harvest,drainpunch,poltergeist,protect,toxic,Fairy": 186, "sitrusberry,harvest,drainpunch,poltergeist,protect,toxic,Dark": 173, "choiceband,naturalcure,drainpunch,hornleech,poltergeist,woodhammer,Fighting": 155, "sitrusberry,harvest,drainpunch,poltergeist,protect,toxic,Fighting": 174, "lifeorb,naturalcure,drainpunch,hornleech,poltergeist,willowisp,Fighting": 74, "sitrusberry,harvest,drainpunch,poltergeist,protect,toxic,Steel": 158, "lifeorb,naturalcure,drainpunch,poltergeist,trickroom,woodhammer,Fighting": 72, "lifeorb,naturalcure,drainpunch,hornleech,poltergeist,rest,Fighting": 84, "lifeorb,naturalcure,drainpunch,poltergeist,rest,woodhammer,Fighting": 81}, + "tropius": {"sitrusberry,harvest,dragondance,dualwingbeat,earthquake,leafblade,Ground": 322, "sitrusberry,harvest,airslash,leechseed,protect,substitute,Steel": 611, "sitrusberry,harvest,dragondance,dualwingbeat,earthquake,synthesis,Ground": 353}, + "tsareena": {"heavydutyboots,queenlymajesty,knockoff,powerwhip,synthesis,uturn,Steel": 39, "assaultvest,queenlymajesty,knockoff,powerwhip,rapidspin,tripleaxel,Steel": 26, "lifeorb,queenlymajesty,knockoff,powerwhip,synthesis,tripleaxel,Steel": 39, "lifeorb,queenlymajesty,highjumpkick,knockoff,powerwhip,synthesis,Fighting": 88, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,tripleaxel,Steel": 32, "choicescarf,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn,Fighting": 29, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn,Fighting": 44, "heavydutyboots,queenlymajesty,highjumpkick,powerwhip,synthesis,uturn,Fighting": 72, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,tripleaxel,Fighting": 48, "lifeorb,queenlymajesty,highjumpkick,knockoff,powerwhip,synthesis,Steel": 39, "heavydutyboots,queenlymajesty,powerwhip,rapidspin,synthesis,uturn,Steel": 32, "heavydutyboots,queenlymajesty,powerwhip,synthesis,tripleaxel,uturn,Steel": 46, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel,Fighting": 41, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn,Steel": 22, "heavydutyboots,queenlymajesty,highjumpkick,powerwhip,rapidspin,synthesis,Fighting": 62, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,uturn,Fighting": 46, "heavydutyboots,queenlymajesty,highjumpkick,powerwhip,rapidspin,synthesis,Steel": 34, "lifeorb,queenlymajesty,highjumpkick,powerwhip,synthesis,tripleaxel,Steel": 36, "assaultvest,queenlymajesty,highjumpkick,knockoff,powerwhip,rapidspin,Fighting": 61, "choiceband,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn,Fighting": 37, "assaultvest,queenlymajesty,knockoff,powerwhip,rapidspin,uturn,Steel": 35, "choiceband,queenlymajesty,knockoff,powerwhip,tripleaxel,uturn,Steel": 20, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel,Fighting": 37, "heavydutyboots,queenlymajesty,highjumpkick,powerwhip,synthesis,uturn,Steel": 37, "lifeorb,queenlymajesty,highjumpkick,powerwhip,synthesis,tripleaxel,Fighting": 85, "heavydutyboots,queenlymajesty,knockoff,powerwhip,rapidspin,synthesis,Steel": 42, "assaultvest,queenlymajesty,highjumpkick,knockoff,powerwhip,rapidspin,Steel": 34, "assaultvest,queenlymajesty,powerwhip,rapidspin,tripleaxel,uturn,Steel": 38, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn,Fighting": 34, "choicescarf,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn,Steel": 23, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,uturn,Steel": 20, "assaultvest,queenlymajesty,highjumpkick,powerwhip,rapidspin,uturn,Steel": 32, "choiceband,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel,Steel": 28, "heavydutyboots,queenlymajesty,powerwhip,rapidspin,synthesis,tripleaxel,Steel": 27, "choicescarf,queenlymajesty,highjumpkick,knockoff,powerwhip,tripleaxel,Steel": 27, "choicescarf,queenlymajesty,knockoff,powerwhip,tripleaxel,uturn,Steel": 19, "choiceband,queenlymajesty,highjumpkick,powerwhip,tripleaxel,uturn,Steel": 21}, + "typhlosion": {"choicescarf,blaze,eruption,fireblast,focusblast,scorchingsands,Fire": 188, "choicespecs,blaze,eruption,fireblast,focusblast,scorchingsands,Fire": 183, "choicescarf,flashfire,eruption,fireblast,focusblast,scorchingsands,Fire": 173, "choicespecs,flashfire,eruption,fireblast,focusblast,scorchingsands,Fire": 176}, + "typhlosionhisui": {"leftovers,blaze,calmmind,fireblast,shadowball,substitute,Fire": 43, "choicescarf,blaze,eruption,fireblast,focusblast,shadowball,Fire": 177, "heavydutyboots,blaze,calmmind,fireblast,focusblast,shadowball,Fire": 36, "heavydutyboots,blaze,calmmind,fireblast,focusblast,shadowball,Fighting": 113, "leftovers,blaze,calmmind,fireblast,shadowball,substitute,Ghost": 37, "heavydutyboots,blaze,calmmind,fireblast,focusblast,shadowball,Ghost": 50, "heavydutyboots,blaze,calmmind,fireblast,shadowball,willowisp,Ghost": 39, "choicespecs,blaze,eruption,fireblast,focusblast,shadowball,Fire": 173, "heavydutyboots,blaze,calmmind,fireblast,shadowball,willowisp,Fire": 48}, + "tyranitar": {"leftovers,sandstream,dragondance,earthquake,knockoff,stoneedge,Rock": 164, "assaultvest,sandstream,earthquake,icebeam,knockoff,stoneedge,Rock": 35, "leftovers,sandstream,dragondance,icepunch,knockoff,stoneedge,Ghost": 184, "leftovers,sandstream,dragondance,earthquake,knockoff,stoneedge,Ghost": 163, "leftovers,sandstream,icebeam,knockoff,stealthrock,stoneedge,Rock": 25, "assaultvest,sandstream,dragontail,icebeam,knockoff,stoneedge,Ghost": 51, "leftovers,sandstream,dragondance,icepunch,knockoff,stoneedge,Rock": 143, "leftovers,sandstream,icebeam,knockoff,stoneedge,thunderwave,Rock": 29, "assaultvest,sandstream,dragontail,earthquake,knockoff,stoneedge,Rock": 39, "leftovers,sandstream,dragontail,knockoff,stealthrock,stoneedge,Ghost": 25, "assaultvest,sandstream,earthquake,icebeam,knockoff,stoneedge,Ghost": 35, "leftovers,sandstream,earthquake,knockoff,stealthrock,stoneedge,Rock": 27, "leftovers,sandstream,icebeam,knockoff,stoneedge,thunderwave,Ghost": 28, "leftovers,sandstream,dragontail,knockoff,stoneedge,thunderwave,Rock": 35, "leftovers,sandstream,knockoff,stealthrock,stoneedge,thunderwave,Ghost": 38, "leftovers,sandstream,icebeam,knockoff,stealthrock,stoneedge,Ghost": 26, "leftovers,sandstream,dragontail,knockoff,stoneedge,thunderwave,Ghost": 36, "assaultvest,sandstream,dragontail,icebeam,knockoff,stoneedge,Rock": 49, "assaultvest,sandstream,dragontail,earthquake,knockoff,stoneedge,Ghost": 34, "leftovers,sandstream,earthquake,knockoff,stoneedge,thunderwave,Ghost": 41, "leftovers,sandstream,earthquake,knockoff,stealthrock,stoneedge,Ghost": 24, "leftovers,sandstream,earthquake,knockoff,stoneedge,thunderwave,Rock": 26, "leftovers,sandstream,dragontail,knockoff,stealthrock,stoneedge,Rock": 25, "leftovers,sandstream,knockoff,stealthrock,stoneedge,thunderwave,Rock": 28}, + "umbreon": {"leftovers,synchronize,foulplay,protect,toxic,wish,Poison": 1462}, + "ursaluna": {"flameorb,guts,facade,headlongrush,swordsdance,throatchop,Normal": 155, "flameorb,guts,crunch,facade,headlongrush,swordsdance,Normal": 164, "flameorb,guts,crunch,facade,headlongrush,trailblaze,Normal": 159, "flameorb,guts,facade,headlongrush,throatchop,trailblaze,Normal": 142, "flameorb,guts,facade,headlongrush,swordsdance,trailblaze,Normal": 110}, + "ursalunabloodmoon": {"leftovers,mindseye,bloodmoon,calmmind,moonlight,vacuumwave,Poison": 94, "leftovers,mindseye,bloodmoon,calmmind,earthpower,moonlight,Poison": 127, "leftovers,mindseye,bloodmoon,calmmind,moonlight,vacuumwave,Ghost": 74, "leftovers,mindseye,bloodmoon,calmmind,earthpower,moonlight,Normal": 123, "leftovers,mindseye,bloodmoon,calmmind,moonlight,vacuumwave,Fighting": 96, "leftovers,mindseye,bloodmoon,calmmind,earthpower,moonlight,Ghost": 118, "leftovers,mindseye,bloodmoon,calmmind,moonlight,vacuumwave,Normal": 84}, + "ursaring": {"toxicorb,quickfeet,closecombat,facade,swordsdance,throatchop,Normal": 374, "eviolite,guts,bodyslam,earthquake,rest,sleeptalk,Ground": 378, "eviolite,guts,bodyslam,earthquake,rest,sleeptalk,Ghost": 201, "toxicorb,quickfeet,closecombat,crunch,facade,swordsdance,Normal": 371, "eviolite,guts,bodyslam,rest,sleeptalk,throatchop,Ghost": 201}, + "urshifu": {"choiceband,unseenfist,closecombat,poisonjab,suckerpunch,wickedblow,Fighting": 50, "choiceband,unseenfist,closecombat,poisonjab,suckerpunch,wickedblow,Poison": 93, "choiceband,unseenfist,closecombat,poisonjab,suckerpunch,wickedblow,Dark": 35, "lifeorb,unseenfist,closecombat,poisonjab,swordsdance,wickedblow,Dark": 55, "choiceband,unseenfist,closecombat,poisonjab,uturn,wickedblow,Poison": 47, "lifeorb,unseenfist,closecombat,suckerpunch,swordsdance,wickedblow,Dark": 43, "choiceband,unseenfist,closecombat,suckerpunch,uturn,wickedblow,Fighting": 45, "lifeorb,unseenfist,closecombat,poisonjab,swordsdance,wickedblow,Poison": 78, "lifeorb,unseenfist,closecombat,suckerpunch,swordsdance,wickedblow,Fighting": 47, "choicescarf,unseenfist,closecombat,poisonjab,uturn,wickedblow,Fighting": 27, "choiceband,unseenfist,closecombat,poisonjab,uturn,wickedblow,Dark": 32, "choicescarf,unseenfist,closecombat,poisonjab,uturn,wickedblow,Dark": 25, "choiceband,unseenfist,closecombat,suckerpunch,uturn,wickedblow,Dark": 42, "choicescarf,unseenfist,closecombat,poisonjab,uturn,wickedblow,Poison": 32, "lifeorb,unseenfist,closecombat,poisonjab,swordsdance,wickedblow,Fighting": 52, "choiceband,unseenfist,closecombat,poisonjab,uturn,wickedblow,Fighting": 17}, + "urshifurapidstrike": {"lifeorb,unseenfist,closecombat,icespinner,surgingstrikes,swordsdance,Water": 131, "choiceband,unseenfist,closecombat,icespinner,surgingstrikes,uturn,Water": 66, "choiceband,unseenfist,aquajet,closecombat,surgingstrikes,uturn,Water": 139, "choiceband,unseenfist,aquajet,closecombat,icespinner,surgingstrikes,Water": 96, "choicescarf,unseenfist,closecombat,icespinner,surgingstrikes,uturn,Water": 81, "lifeorb,unseenfist,aquajet,closecombat,surgingstrikes,swordsdance,Water": 162}, + "uxie": {"leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Steel": 15, "leftovers,levitate,encore,psychicnoise,stealthrock,yawn,Electric": 27, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Electric": 39, "leftovers,levitate,knockoff,psychicnoise,stealthrock,yawn,Dark": 32, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Dark": 44, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Steel": 16, "leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Electric": 19, "leftovers,levitate,encore,psychicnoise,uturn,yawn,Dark": 35, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Dark": 32, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Electric": 20, "leftovers,levitate,encore,psychicnoise,stealthrock,uturn,Steel": 26, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Dark": 25, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Dark": 36, "leftovers,levitate,knockoff,psychicnoise,stealthrock,yawn,Steel": 29, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Steel": 33, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Dark": 43, "leftovers,levitate,encore,psychicnoise,uturn,yawn,Electric": 44, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Steel": 26, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Steel": 27, "leftovers,levitate,psychicnoise,stealthrock,uturn,yawn,Electric": 31, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Steel": 46, "leftovers,levitate,encore,knockoff,psychicnoise,yawn,Dark": 33, "leftovers,levitate,encore,knockoff,psychicnoise,yawn,Steel": 35, "leftovers,levitate,psychicnoise,stealthrock,uturn,yawn,Dark": 28, "leftovers,levitate,psychicnoise,stealthrock,thunderwave,uturn,Electric": 36, "leftovers,levitate,knockoff,psychicnoise,stealthrock,yawn,Electric": 28, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Electric": 35, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Steel": 33, "leftovers,levitate,encore,psychicnoise,stealthrock,yawn,Steel": 25, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Steel": 26, "leftovers,levitate,encore,psychicnoise,uturn,yawn,Steel": 39, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Electric": 27, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Steel": 33, "leftovers,levitate,encore,knockoff,psychicnoise,yawn,Electric": 27, "leftovers,levitate,encore,knockoff,psychicnoise,thunderwave,Dark": 53, "leftovers,levitate,encore,psychicnoise,stealthrock,yawn,Dark": 37, "leftovers,levitate,knockoff,psychicnoise,thunderwave,uturn,Electric": 36, "leftovers,levitate,knockoff,psychicnoise,stealthrock,uturn,Dark": 24, "leftovers,levitate,knockoff,psychicnoise,uturn,yawn,Dark": 37, "leftovers,levitate,knockoff,psychicnoise,uturn,yawn,Electric": 41, "leftovers,levitate,knockoff,psychicnoise,uturn,yawn,Steel": 39, "leftovers,levitate,encore,knockoff,psychicnoise,uturn,Dark": 24, "leftovers,levitate,encore,psychicnoise,thunderwave,uturn,Electric": 42, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Electric": 22, "leftovers,levitate,encore,psychicnoise,stealthrock,thunderwave,Dark": 23, "leftovers,levitate,knockoff,psychicnoise,stealthrock,thunderwave,Electric": 26, "leftovers,levitate,encore,knockoff,psychicnoise,stealthrock,Dark": 21, "leftovers,levitate,psychicnoise,stealthrock,uturn,yawn,Steel": 32}, + "vaporeon": {"leftovers,waterabsorb,calmmind,protect,scald,wish,Poison": 166, "leftovers,waterabsorb,protect,roar,scald,wish,Ghost": 80, "leftovers,waterabsorb,haze,protect,scald,wish,Poison": 95, "leftovers,waterabsorb,haze,protect,scald,wish,Ghost": 70, "leftovers,waterabsorb,flipturn,protect,scald,wish,Poison": 80, "leftovers,waterabsorb,protect,roar,scald,wish,Ground": 86, "leftovers,waterabsorb,calmmind,protect,scald,wish,Ground": 153, "leftovers,waterabsorb,icebeam,protect,scald,wish,Ground": 84, "leftovers,waterabsorb,flipturn,protect,scald,wish,Ground": 89, "leftovers,waterabsorb,calmmind,protect,scald,wish,Ghost": 171, "leftovers,waterabsorb,protect,roar,scald,wish,Poison": 80, "leftovers,waterabsorb,flipturn,protect,scald,wish,Ghost": 69, "leftovers,waterabsorb,icebeam,protect,scald,wish,Ghost": 94, "leftovers,waterabsorb,haze,protect,scald,wish,Ground": 89, "leftovers,waterabsorb,icebeam,protect,scald,wish,Poison": 75}, + "veluza": {"choiceband,sharpness,aquacutter,aquajet,nightslash,psychocut,Dark": 178, "choiceband,sharpness,aquacutter,flipturn,nightslash,psychocut,Dark": 99, "choiceband,sharpness,aquacutter,flipturn,nightslash,psychocut,Water": 86, "sitrusberry,sharpness,aquacutter,filletaway,nightslash,psychocut,Dark": 226, "sitrusberry,sharpness,aquacutter,filletaway,nightslash,psychocut,Psychic": 237, "choiceband,sharpness,aquacutter,aquajet,nightslash,psychocut,Water": 181, "choicescarf,sharpness,aquacutter,flipturn,nightslash,psychocut,Water": 96, "sitrusberry,sharpness,aquacutter,filletaway,nightslash,psychocut,Water": 238, "choicescarf,sharpness,aquacutter,flipturn,nightslash,psychocut,Dark": 83}, + "venomoth": {"heavydutyboots,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgewave,Poison": 353, "heavydutyboots,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgewave,Water": 370, "heavydutyboots,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgewave,Steel": 359, "heavydutyboots,tintedlens,bugbuzz,quiverdance,sleeppowder,sludgewave,Bug": 337}, + "venusaur": {"leftovers,chlorophyll,knockoff,sludgebomb,synthesis,toxic,Water": 20, "leftovers,overgrow,gigadrain,leechseed,sludgebomb,substitute,Water": 177, "leftovers,chlorophyll,knockoff,sleeppowder,sludgebomb,synthesis,Steel": 13, "leftovers,overgrow,gigadrain,leechseed,sludgebomb,substitute,Steel": 165, "leftovers,overgrow,energyball,knockoff,sludgebomb,synthesis,Steel": 29, "leftovers,chlorophyll,earthpower,sludgebomb,synthesis,toxic,Water": 21, "leftovers,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute,Steel": 161, "leftovers,chlorophyll,leechseed,sleeppowder,sludgebomb,substitute,Water": 164, "leftovers,overgrow,energyball,sludgebomb,synthesis,toxic,Steel": 20, "leftovers,overgrow,earthpower,energyball,sludgebomb,synthesis,Water": 34, "leftovers,overgrow,earthpower,energyball,sludgebomb,synthesis,Steel": 38, "leftovers,chlorophyll,earthpower,sleeppowder,sludgebomb,synthesis,Steel": 24, "leftovers,overgrow,energyball,knockoff,sludgebomb,synthesis,Dark": 74, "leftovers,overgrow,energyball,sleeppowder,sludgebomb,synthesis,Water": 32, "leftovers,overgrow,energyball,knockoff,sludgebomb,synthesis,Water": 25, "leftovers,chlorophyll,knockoff,sleeppowder,sludgebomb,synthesis,Water": 23, "leftovers,chlorophyll,knockoff,sludgebomb,synthesis,toxic,Dark": 54, "leftovers,chlorophyll,knockoff,sleeppowder,sludgebomb,synthesis,Dark": 61, "leftovers,overgrow,energyball,sleeppowder,sludgebomb,synthesis,Steel": 13, "leftovers,chlorophyll,earthpower,sludgebomb,synthesis,toxic,Steel": 23, "leftovers,chlorophyll,earthpower,knockoff,sludgebomb,synthesis,Steel": 37, "leftovers,chlorophyll,earthpower,sleeppowder,sludgebomb,synthesis,Water": 22, "leftovers,chlorophyll,earthpower,knockoff,sludgebomb,synthesis,Dark": 55, "leftovers,chlorophyll,earthpower,knockoff,sludgebomb,synthesis,Water": 37, "leftovers,chlorophyll,knockoff,sludgebomb,synthesis,toxic,Steel": 24, "leftovers,chlorophyll,gigadrain,leechseed,sludgebomb,substitute,Water": 1, "leftovers,overgrow,energyball,sludgebomb,synthesis,toxic,Water": 20, "leftovers,chlorophyll,energyball,sludgebomb,synthesis,toxic,Water": 1, "leftovers,chlorophyll,energyball,sleeppowder,sludgebomb,synthesis,Water": 2, "leftovers,chlorophyll,energyball,knockoff,sludgebomb,synthesis,Steel": 1, "leftovers,chlorophyll,gigadrain,leechseed,sludgebomb,substitute,Steel": 4}, + "vespiquen": {"heavydutyboots,pressure,airslash,roost,spikes,uturn,Steel": 117, "heavydutyboots,pressure,airslash,roost,spikes,toxic,Steel": 144, "heavydutyboots,pressure,airslash,roost,toxicspikes,uturn,Steel": 117, "heavydutyboots,pressure,hurricane,roost,spikes,toxic,Steel": 123, "heavydutyboots,pressure,airslash,roost,toxic,uturn,Steel": 156, "heavydutyboots,pressure,hurricane,roost,toxic,uturn,Steel": 137, "heavydutyboots,pressure,hurricane,roost,toxicspikes,uturn,Steel": 91, "heavydutyboots,pressure,airslash,roost,spikes,toxicspikes,Steel": 128, "heavydutyboots,pressure,hurricane,roost,spikes,toxicspikes,Steel": 117, "heavydutyboots,pressure,hurricane,roost,spikes,uturn,Steel": 116}, + "victreebel": {"lifeorb,chlorophyll,powerwhip,sleeppowder,sludgewave,suckerpunch,Grass": 60, "lifeorb,chlorophyll,powerwhip,sludgewave,sunnyday,weatherball,Fire": 445, "lifeorb,chlorophyll,poisonjab,powerwhip,suckerpunch,swordsdance,Dark": 223, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgewave,suckerpunch,Steel": 64, "lifeorb,chlorophyll,poisonjab,powerwhip,suckerpunch,swordsdance,Grass": 234, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgewave,strengthsap,Steel": 39, "lifeorb,chlorophyll,knockoff,powerwhip,sludgewave,strengthsap,Steel": 50, "lifeorb,chlorophyll,powerwhip,sludgewave,strengthsap,suckerpunch,Grass": 40, "lifeorb,chlorophyll,knockoff,powerwhip,sludgewave,strengthsap,Grass": 60, "lifeorb,chlorophyll,knockoff,powerwhip,sleeppowder,sludgewave,Grass": 50, "lifeorb,chlorophyll,powerwhip,sleeppowder,sludgewave,strengthsap,Grass": 39, "lifeorb,chlorophyll,knockoff,powerwhip,sleeppowder,sludgewave,Steel": 48, "lifeorb,chlorophyll,powerwhip,sludgewave,strengthsap,suckerpunch,Steel": 49}, + "vigoroth": {"eviolite,vitalspirit,bodyslam,bulkup,knockoff,slackoff,Ghost": 724, "eviolite,vitalspirit,bodyslam,bulkup,earthquake,slackoff,Ground": 779}, + "vikavolt": {"heavydutyboots,levitate,bugbuzz,discharge,energyball,stickyweb,Electric": 353, "heavydutyboots,levitate,bugbuzz,stickyweb,thunderbolt,voltswitch,Electric": 388, "heavydutyboots,levitate,bugbuzz,energyball,stickyweb,thunderbolt,Electric": 328, "heavydutyboots,levitate,bugbuzz,discharge,stickyweb,voltswitch,Electric": 366, "choicespecs,levitate,bugbuzz,discharge,energyball,voltswitch,Electric": 19, "choicespecs,levitate,bugbuzz,energyball,thunderbolt,voltswitch,Electric": 18}, + "vileplume": {"leftovers,effectspore,gigadrain,sleeppowder,sludgebomb,strengthsap,Steel": 371, "leftovers,effectspore,gigadrain,leechseed,sludgebomb,strengthsap,Water": 353, "leftovers,effectspore,gigadrain,leechseed,sludgebomb,strengthsap,Steel": 353, "leftovers,effectspore,gigadrain,sleeppowder,sludgebomb,strengthsap,Water": 363}, + "virizion": {"lifeorb,justified,closecombat,leafblade,stoneedge,swordsdance,Rock": 1394}, + "vivillon": {"heavydutyboots,compoundeyes,hurricane,quiverdance,sleeppowder,terablast,Ground": 605, "heavydutyboots,compoundeyes,bugbuzz,hurricane,quiverdance,sleeppowder,Flying": 662}, + "volbeat": {"heavydutyboots,prankster,encore,lunge,roost,thunderwave,Water": 389, "heavydutyboots,prankster,encore,lunge,roost,thunderwave,Steel": 341, "heavydutyboots,prankster,encore,roost,thunderwave,uturn,Steel": 343, "heavydutyboots,prankster,encore,roost,thunderwave,uturn,Water": 367}, + "volcanion": {"assaultvest,waterabsorb,earthpower,flamecharge,flamethrower,steameruption,Ground": 156, "heavydutyboots,waterabsorb,earthpower,flamethrower,haze,steameruption,Ground": 135, "choicespecs,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Ground": 67, "heavydutyboots,waterabsorb,flamethrower,haze,sludgebomb,steameruption,Fire": 116, "assaultvest,waterabsorb,earthpower,flamecharge,flamethrower,steameruption,Water": 102, "heavydutyboots,waterabsorb,flamethrower,haze,sludgebomb,steameruption,Water": 99, "choicespecs,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Fire": 37, "assaultvest,waterabsorb,flamecharge,flamethrower,sludgebomb,steameruption,Water": 89, "heavydutyboots,waterabsorb,earthpower,flamethrower,haze,steameruption,Water": 94, "heavydutyboots,waterabsorb,earthpower,flamethrower,haze,steameruption,Fire": 90, "choicespecs,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Water": 36, "assaultvest,waterabsorb,flamecharge,flamethrower,sludgebomb,steameruption,Fire": 89, "choicescarf,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Water": 30, "choicescarf,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Fire": 40, "assaultvest,waterabsorb,earthpower,flamecharge,flamethrower,steameruption,Fire": 77, "choicescarf,waterabsorb,earthpower,flamethrower,sludgebomb,steameruption,Ground": 67}, + "volcarona": {"heavydutyboots,swarm,bugbuzz,fierydance,gigadrain,quiverdance,Steel": 36, "heavydutyboots,flamebody,bugbuzz,fireblast,gigadrain,quiverdance,Steel": 34, "heavydutyboots,swarm,bugbuzz,fierydance,quiverdance,terablast,Water": 32, "heavydutyboots,flamebody,fierydance,gigadrain,quiverdance,terablast,Water": 81, "heavydutyboots,flamebody,fireblast,gigadrain,morningsun,quiverdance,Steel": 31, "heavydutyboots,flamebody,fireblast,gigadrain,morningsun,quiverdance,Grass": 73, "heavydutyboots,flamebody,fireblast,gigadrain,quiverdance,terablast,Ground": 87, "heavydutyboots,flamebody,bugbuzz,fierydance,gigadrain,quiverdance,Steel": 29, "heavydutyboots,flamebody,fierydance,gigadrain,morningsun,quiverdance,Grass": 54, "heavydutyboots,swarm,bugbuzz,fireblast,quiverdance,terablast,Water": 35, "heavydutyboots,flamebody,bugbuzz,fierydance,quiverdance,terablast,Water": 39, "heavydutyboots,swarm,bugbuzz,fireblast,gigadrain,quiverdance,Grass": 42, "heavydutyboots,flamebody,fireblast,gigadrain,quiverdance,terablast,Water": 72, "heavydutyboots,swarm,bugbuzz,fireblast,gigadrain,quiverdance,Fire": 29, "heavydutyboots,swarm,bugbuzz,fierydance,quiverdance,terablast,Ground": 40, "heavydutyboots,flamebody,fierydance,gigadrain,morningsun,quiverdance,Fire": 31, "heavydutyboots,flamebody,bugbuzz,fireblast,morningsun,quiverdance,Fire": 18, "heavydutyboots,flamebody,fierydance,gigadrain,quiverdance,terablast,Ground": 94, "heavydutyboots,swarm,bugbuzz,fireblast,gigadrain,quiverdance,Steel": 24, "heavydutyboots,flamebody,bugbuzz,fierydance,quiverdance,terablast,Ground": 36, "heavydutyboots,flamebody,bugbuzz,fierydance,morningsun,quiverdance,Steel": 23, "heavydutyboots,flamebody,bugbuzz,fierydance,gigadrain,quiverdance,Fire": 30, "heavydutyboots,flamebody,bugbuzz,fireblast,gigadrain,quiverdance,Fire": 20, "heavydutyboots,flamebody,fierydance,gigadrain,morningsun,quiverdance,Steel": 32, "heavydutyboots,swarm,bugbuzz,fierydance,gigadrain,quiverdance,Grass": 24, "heavydutyboots,flamebody,bugbuzz,fireblast,gigadrain,quiverdance,Grass": 30, "heavydutyboots,swarm,bugbuzz,fireblast,quiverdance,terablast,Ground": 46, "heavydutyboots,flamebody,bugbuzz,fireblast,quiverdance,terablast,Water": 44, "heavydutyboots,flamebody,bugbuzz,fireblast,quiverdance,terablast,Ground": 38, "heavydutyboots,swarm,bugbuzz,fireblast,morningsun,quiverdance,Fire": 28, "heavydutyboots,swarm,bugbuzz,fierydance,morningsun,quiverdance,Fire": 18, "heavydutyboots,flamebody,fireblast,gigadrain,morningsun,quiverdance,Fire": 27, "heavydutyboots,swarm,bugbuzz,fierydance,morningsun,quiverdance,Steel": 17, "heavydutyboots,flamebody,bugbuzz,fierydance,gigadrain,quiverdance,Grass": 29, "heavydutyboots,swarm,bugbuzz,fierydance,gigadrain,quiverdance,Fire": 37, "heavydutyboots,flamebody,bugbuzz,fierydance,morningsun,quiverdance,Fire": 13, "heavydutyboots,swarm,bugbuzz,fireblast,morningsun,quiverdance,Steel": 12, "heavydutyboots,flamebody,bugbuzz,fireblast,morningsun,quiverdance,Steel": 10}, + "walkingwake": {"lifeorb,protosynthesis,dracometeor,flamethrower,hydrosteam,sunnyday,Fire": 724, "choicespecs,protosynthesis,dracometeor,flamethrower,flipturn,hydropump,Water": 382, "choicespecs,protosynthesis,dracometeor,flamethrower,flipturn,hydropump,Fire": 353}, + "weavile": {"heavydutyboots,pickpocket,iceshard,knockoff,swordsdance,tripleaxel,Ice": 138, "heavydutyboots,pickpocket,knockoff,lowkick,swordsdance,tripleaxel,Fighting": 228, "choiceband,pickpocket,iceshard,knockoff,lowkick,tripleaxel,Ice": 149, "heavydutyboots,pickpocket,knockoff,lowkick,swordsdance,tripleaxel,Ice": 157, "heavydutyboots,pickpocket,iceshard,knockoff,swordsdance,tripleaxel,Dark": 142, "heavydutyboots,pickpocket,knockoff,lowkick,swordsdance,tripleaxel,Dark": 141, "choiceband,pickpocket,iceshard,knockoff,lowkick,tripleaxel,Dark": 161, "choiceband,pickpocket,iceshard,knockoff,lowkick,tripleaxel,Fighting": 213}, + "weezing": {"leftovers,levitate,fireblast,gunkshot,painsplit,toxicspikes,Steel": 196, "leftovers,levitate,fireblast,painsplit,sludgebomb,willowisp,Steel": 196, "leftovers,levitate,fireblast,gunkshot,painsplit,willowisp,Steel": 228, "leftovers,levitate,fireblast,painsplit,sludgebomb,toxicspikes,Steel": 163}, + "weezinggalar": {"leftovers,levitate,defog,fireblast,gunkshot,strangesteam,Steel": 206, "leftovers,levitate,gunkshot,painsplit,strangesteam,willowisp,Steel": 42, "leftovers,levitate,defog,gunkshot,painsplit,strangesteam,Steel": 224, "leftovers,levitate,fireblast,gunkshot,painsplit,strangesteam,Steel": 33, "leftovers,levitate,fireblast,gunkshot,strangesteam,willowisp,Steel": 31, "leftovers,levitate,defog,gunkshot,strangesteam,willowisp,Steel": 192}, + "whimsicott": {"leftovers,prankster,hurricane,leechseed,moonblast,substitute,Steel": 364, "leftovers,prankster,encore,leechseed,moonblast,substitute,Steel": 346, "heavydutyboots,prankster,gigadrain,moonblast,stunspore,uturn,Poison": 80, "leftovers,prankster,encore,gigadrain,moonblast,stunspore,Steel": 75, "heavydutyboots,prankster,encore,moonblast,stunspore,uturn,Poison": 95, "heavydutyboots,prankster,encore,gigadrain,moonblast,uturn,Steel": 84, "heavydutyboots,prankster,gigadrain,moonblast,stunspore,uturn,Steel": 82, "leftovers,prankster,encore,gigadrain,moonblast,stunspore,Poison": 82, "heavydutyboots,prankster,encore,moonblast,stunspore,uturn,Steel": 100, "heavydutyboots,prankster,encore,gigadrain,moonblast,uturn,Poison": 96}, + "whiscash": {"lifeorb,oblivious,dragondance,earthquake,liquidation,stoneedge,Ground": 327, "leftovers,oblivious,earthquake,hydropump,icebeam,stealthrock,Steel": 78, "lifeorb,oblivious,dragondance,earthquake,liquidation,stoneedge,Steel": 315, "leftovers,oblivious,earthquake,hydropump,icebeam,stealthrock,Poison": 61, "leftovers,oblivious,earthquake,icebeam,spikes,stealthrock,Poison": 75, "leftovers,oblivious,earthquake,hydropump,icebeam,spikes,Poison": 115, "leftovers,oblivious,earthquake,hydropump,spikes,stealthrock,Steel": 83, "leftovers,oblivious,earthquake,hydropump,icebeam,spikes,Steel": 129, "leftovers,oblivious,earthquake,hydropump,spikes,stealthrock,Poison": 86, "leftovers,oblivious,earthquake,icebeam,spikes,stealthrock,Steel": 71}, + "wigglytuff": {"leftovers,competitive,alluringvoice,fireblast,protect,wish,Steel": 93, "leftovers,competitive,alluringvoice,fireblast,protect,wish,Poison": 76, "leftovers,competitive,alluringvoice,knockoff,protect,wish,Steel": 89, "leftovers,competitive,alluringvoice,knockoff,protect,wish,Poison": 94, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,thunderwave,Poison": 124, "leftovers,competitive,dazzlinggleam,fireblast,knockoff,thunderwave,Steel": 120, "leftovers,competitive,dazzlinggleam,knockoff,protect,wish,Poison": 86, "leftovers,competitive,dazzlinggleam,protect,thunderwave,wish,Steel": 83, "leftovers,competitive,alluringvoice,protect,thunderwave,wish,Poison": 82, "leftovers,competitive,alluringvoice,fireblast,knockoff,thunderwave,Steel": 116, "leftovers,competitive,dazzlinggleam,fireblast,protect,wish,Poison": 89, "leftovers,competitive,alluringvoice,protect,thunderwave,wish,Steel": 89, "leftovers,competitive,dazzlinggleam,knockoff,protect,wish,Steel": 92, "leftovers,competitive,dazzlinggleam,protect,thunderwave,wish,Poison": 85, "leftovers,competitive,dazzlinggleam,fireblast,protect,wish,Steel": 103, "leftovers,competitive,alluringvoice,fireblast,knockoff,thunderwave,Poison": 121}, + "wochien": {"leftovers,tabletsofruin,knockoff,leechseed,protect,stunspore,Poison": 270, "leftovers,tabletsofruin,gigadrain,knockoff,leechseed,protect,Poison": 301, "leftovers,tabletsofruin,gigadrain,knockoff,ruination,stunspore,Poison": 374, "leftovers,tabletsofruin,knockoff,leechseed,protect,ruination,Poison": 277}, + "wugtrio": {"choiceband,gooey,aquajet,liquidation,stompingtantrum,throatchop,Water": 460, "choiceband,gooey,aquajet,liquidation,stompingtantrum,throatchop,Ground": 488, "choiceband,gooey,aquajet,liquidation,stompingtantrum,throatchop,Dark": 477}, + "wyrdeer": {"assaultvest,intimidate,bodyslam,earthquake,megahorn,psychicnoise,Ground": 211, "assaultvest,intimidate,earthquake,megahorn,psychicnoise,thunderbolt,Ground": 254, "leftovers,intimidate,earthquake,megahorn,psychicnoise,thunderwave,Ground": 251, "leftovers,intimidate,bodyslam,earthquake,psychicnoise,thunderwave,Ground": 227, "assaultvest,intimidate,bodyslam,earthquake,psychicnoise,thunderbolt,Ground": 261, "leftovers,intimidate,earthquake,psychicnoise,thunderbolt,thunderwave,Ground": 247}, + "yanmega": {"heavydutyboots,speedboost,airslash,bugbuzz,protect,terablast,Ground": 599, "choicespecs,tintedlens,airslash,bugbuzz,gigadrain,uturn,Bug": 703}, + "zacian": {"choiceband,intrepidsword,closecombat,playrough,psychicfangs,wildcharge,Fighting": 120, "choiceband,intrepidsword,closecombat,crunch,playrough,wildcharge,Fighting": 134, "lifeorb,intrepidsword,closecombat,playrough,psychicfangs,swordsdance,Fighting": 132, "lifeorb,intrepidsword,closecombat,crunch,playrough,swordsdance,Fighting": 120, "lifeorb,intrepidsword,closecombat,playrough,swordsdance,wildcharge,Fighting": 111, "choiceband,intrepidsword,closecombat,crunch,playrough,psychicfangs,Fighting": 131}, + "zaciancrowned": {"rustedsword,intrepidsword,behemothblade,closecombat,playrough,swordsdance,Fighting": 711}, + "zamazenta": {"chestoberry,dauntlessshield,bodypress,irondefense,rest,stoneedge,Fighting": 21, "choiceband,dauntlessshield,closecombat,crunch,psychicfangs,stoneedge,Fighting": 42, "choiceband,dauntlessshield,closecombat,crunch,ironhead,stoneedge,Dark": 49, "choiceband,dauntlessshield,closecombat,crunch,psychicfangs,stoneedge,Dark": 34, "leftovers,dauntlessshield,bodypress,irondefense,ironhead,substitute,Fighting": 13, "choiceband,dauntlessshield,closecombat,crunch,ironhead,psychicfangs,Dark": 43, "leftovers,dauntlessshield,bodypress,crunch,irondefense,ironhead,Steel": 47, "chestoberry,dauntlessshield,bodypress,crunch,irondefense,rest,Fighting": 14, "choiceband,dauntlessshield,closecombat,ironhead,psychicfangs,stoneedge,Fighting": 25, "choiceband,dauntlessshield,closecombat,crunch,ironhead,stoneedge,Steel": 44, "choiceband,dauntlessshield,closecombat,crunch,ironhead,stoneedge,Fighting": 33, "choiceband,dauntlessshield,closecombat,ironhead,psychicfangs,stoneedge,Steel": 26, "choiceband,dauntlessshield,closecombat,crunch,ironhead,psychicfangs,Steel": 41, "chestoberry,dauntlessshield,bodypress,irondefense,ironhead,rest,Fighting": 22, "leftovers,dauntlessshield,bodypress,irondefense,ironhead,substitute,Steel": 38, "leftovers,dauntlessshield,bodypress,irondefense,stoneedge,substitute,Fighting": 18, "leftovers,dauntlessshield,bodypress,crunch,irondefense,ironhead,Fighting": 24, "leftovers,dauntlessshield,bodypress,irondefense,ironhead,stoneedge,Steel": 56, "leftovers,dauntlessshield,bodypress,crunch,irondefense,substitute,Fighting": 15, "leftovers,dauntlessshield,bodypress,irondefense,ironhead,stoneedge,Fighting": 32, "chestoberry,dauntlessshield,bodypress,irondefense,ironhead,rest,Steel": 45, "leftovers,dauntlessshield,bodypress,crunch,irondefense,stoneedge,Fighting": 34, "choiceband,dauntlessshield,closecombat,crunch,ironhead,psychicfangs,Fighting": 30}, + "zamazentacrowned": {"rustedshield,dauntlessshield,bodypress,crunch,heavyslam,irondefense,Ghost": 183, "rustedshield,dauntlessshield,bodypress,heavyslam,irondefense,stoneedge,Ghost": 172, "rustedshield,dauntlessshield,bodypress,crunch,heavyslam,irondefense,Fighting": 152, "rustedshield,dauntlessshield,bodypress,heavyslam,irondefense,stoneedge,Fighting": 161}, + "zangoose": {"toxicorb,toxicboost,closecombat,facade,knockoff,quickattack,Normal": 542, "toxicorb,toxicboost,closecombat,facade,knockoff,swordsdance,Normal": 503, "toxicorb,toxicboost,facade,knockoff,quickattack,swordsdance,Normal": 471}, + "zapdos": {"heavydutyboots,static,discharge,heatwave,hurricane,roost,Electric": 84, "heavydutyboots,static,hurricane,roost,thunderbolt,uturn,Electric": 91, "heavydutyboots,static,discharge,hurricane,roost,uturn,Electric": 83, "heavydutyboots,static,hurricane,roost,thunderbolt,uturn,Steel": 63, "heavydutyboots,static,discharge,hurricane,roost,uturn,Steel": 82, "heavydutyboots,static,discharge,heatwave,hurricane,roost,Steel": 73, "heavydutyboots,static,heatwave,hurricane,roost,thunderbolt,Electric": 77, "heavydutyboots,static,heatwave,hurricane,roost,thunderbolt,Steel": 90}, + "zapdosgalar": {"choicescarf,defiant,bravebird,closecombat,knockoff,uturn,Steel": 57, "choicescarf,defiant,bravebird,closecombat,knockoff,uturn,Dark": 60, "lifeorb,defiant,bravebird,bulkup,closecombat,knockoff,Steel": 106, "choiceband,defiant,bravebird,closecombat,knockoff,uturn,Fighting": 62, "choiceband,defiant,bravebird,closecombat,knockoff,uturn,Dark": 50, "lifeorb,defiant,bravebird,bulkup,closecombat,knockoff,Dark": 103, "choicescarf,defiant,bravebird,closecombat,knockoff,uturn,Fighting": 69, "choiceband,defiant,bravebird,closecombat,knockoff,uturn,Steel": 60, "lifeorb,defiant,bravebird,bulkup,closecombat,knockoff,Fighting": 119}, + "zarude": {"lifeorb,leafguard,closecombat,knockoff,powerwhip,swordsdance,Fighting": 230, "leftovers,leafguard,knockoff,powerwhip,swordsdance,synthesis,Dark": 106, "choiceband,leafguard,closecombat,knockoff,powerwhip,uturn,Grass": 89, "lifeorb,leafguard,closecombat,knockoff,powerwhip,swordsdance,Dark": 79, "choicescarf,leafguard,closecombat,knockoff,powerwhip,uturn,Fighting": 129, "choiceband,leafguard,closecombat,knockoff,powerwhip,uturn,Fighting": 102, "choicescarf,leafguard,closecombat,knockoff,powerwhip,uturn,Dark": 102, "lifeorb,leafguard,closecombat,knockoff,powerwhip,swordsdance,Grass": 102, "leftovers,leafguard,knockoff,powerwhip,swordsdance,synthesis,Grass": 92, "choiceband,leafguard,closecombat,knockoff,powerwhip,uturn,Dark": 112, "choicescarf,leafguard,closecombat,knockoff,powerwhip,uturn,Grass": 91}, + "zebstrika": {"lifeorb,sapsipper,highhorsepower,overheat,supercellslam,voltswitch,Ground": 1440}, + "zekrom": {"leftovers,teravolt,boltstrike,dragondance,outrage,substitute,Electric": 721, "leftovers,teravolt,boltstrike,dragondance,outrage,substitute,Steel": 662}, + "zoroark": {"lifeorb,illusion,darkpulse,encore,nastyplot,sludgebomb,Poison": 112, "choicespecs,illusion,darkpulse,focusblast,sludgebomb,trick,Poison": 26, "lifeorb,illusion,darkpulse,nastyplot,psychic,sludgebomb,Poison": 115, "choicespecs,illusion,darkpulse,flamethrower,focusblast,sludgebomb,Poison": 17, "choicespecs,illusion,darkpulse,flamethrower,psychic,sludgebomb,Poison": 22, "lifeorb,illusion,darkpulse,focusblast,nastyplot,sludgebomb,Poison": 129, "choicespecs,illusion,darkpulse,psychic,sludgebomb,trick,Poison": 31, "choicespecs,illusion,darkpulse,focusblast,sludgebomb,uturn,Poison": 26, "choicespecs,illusion,darkpulse,focusblast,psychic,sludgebomb,Poison": 14, "lifeorb,illusion,darkpulse,flamethrower,nastyplot,sludgebomb,Poison": 25, "choicespecs,illusion,darkpulse,flamethrower,sludgebomb,trick,Poison": 30, "choicespecs,illusion,darkpulse,psychic,sludgebomb,uturn,Poison": 17, "choicespecs,illusion,darkpulse,flamethrower,sludgebomb,uturn,Poison": 24}, + "zoroarkhisui": {"lifeorb,illusion,focusblast,hypervoice,poltergeist,willowisp,Fighting": 153, "choicespecs,illusion,bittermalice,flamethrower,hypervoice,uturn,Normal": 23, "choicespecs,illusion,bittermalice,focusblast,hypervoice,uturn,Fighting": 46, "choicespecs,illusion,bittermalice,flamethrower,focusblast,hypervoice,Fighting": 36, "choicespecs,illusion,bittermalice,focusblast,hypervoice,trick,Normal": 23, "lifeorb,illusion,bittermalice,focusblast,hypervoice,nastyplot,Fighting": 32, "lifeorb,illusion,focusblast,hypervoice,poltergeist,willowisp,Normal": 152, "lifeorb,illusion,bittermalice,flamethrower,hypervoice,nastyplot,Normal": 33, "choicespecs,illusion,bittermalice,flamethrower,hypervoice,trick,Normal": 20, "choicespecs,illusion,bittermalice,flamethrower,focusblast,hypervoice,Normal": 13, "lifeorb,illusion,bittermalice,focusblast,hypervoice,nastyplot,Normal": 30, "choicespecs,illusion,bittermalice,focusblast,hypervoice,trick,Fighting": 27, "choicespecs,illusion,bittermalice,focusblast,hypervoice,uturn,Normal": 20} +} \ No newline at end of file diff --git a/data/pokedex.json b/data/pokedex.json index d28556744..5f1df9425 100644 --- a/data/pokedex.json +++ b/data/pokedex.json @@ -9268,35185 +9268,38041 @@ "Unown-Question" ] }, - "wobbuffet": { - "num": 202, - "name": "wobbuffet", + "unownb": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ "psychic" ], + "gender": "N", "baseStats": { - "hp": 190, - "attack": 33, - "defense": 58, - "special-attack": 33, - "special-defense": 58, - "speed": 33 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Shadow Tag", - "H": "Telepathy" + "0": "Levitate" }, - "heightm": 1.3, - "weightkg": 28.5, - "color": "Blue", - "prevo": "Wynaut", - "evoLevel": 15, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Amorphous" + "Undiscovered" ], - "canHatch": true + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ] }, - "girafarig": { - "num": 203, - "name": "girafarig", + "unownc": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "normal", "psychic" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 80, - "defense": 65, - "special-attack": 90, - "special-defense": 65, - "speed": 85 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Inner Focus", - "1": "Early Bird", - "H": "Sap Sipper" + "0": "Levitate" }, - "heightm": 1.5, - "weightkg": 41.5, - "color": "Yellow", - "evos": [ - "Farigiraf" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "pineco": { - "num": 204, - "name": "pineco", + "unownd": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "bug" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 90, - "special-attack": 35, - "special-defense": 35, - "speed": 15 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Sturdy", - "H": "Overcoat" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 7.2, - "color": "Gray", - "evos": [ - "Forretress" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "forretress": { - "num": 205, - "name": "forretress", + "unowne": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "bug", - "steel" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 90, - "defense": 140, - "special-attack": 60, - "special-defense": 60, - "speed": 40 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Sturdy", - "H": "Overcoat" + "0": "Levitate" }, - "heightm": 1.2, - "weightkg": 125.8, - "color": "Purple", - "prevo": "Pineco", - "evoLevel": 31, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "dunsparce": { - "num": 206, - "name": "dunsparce", + "unownf": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "normal" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 70, - "defense": 70, - "special-attack": 65, - "special-defense": 65, - "speed": 45 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Serene Grace", - "1": "Run Away", - "H": "Rattled" + "0": "Levitate" }, - "heightm": 1.5, - "weightkg": 14, - "color": "Yellow", - "evos": [ - "Dudunsparce", - "Dudunsparce-Three-Segment" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "gligar": { - "num": 207, - "name": "gligar", + "unowng": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "ground", - "flying" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 65, - "attack": 75, - "defense": 105, - "special-attack": 35, - "special-defense": 65, - "speed": 85 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Hyper Cutter", - "1": "Sand Veil", - "H": "Immunity" + "0": "Levitate" }, - "heightm": 1.1, - "weightkg": 64.8, - "color": "Purple", - "evos": [ - "Gliscor" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" - ] - }, - "steelix": { - "num": 208, - "name": "steelix", - "types": [ - "steel", - "ground" - ], - "baseStats": { - "hp": 75, - "attack": 85, - "defense": 200, - "special-attack": 55, - "special-defense": 65, - "speed": 30 - }, - "abilities": { - "0": "Rock Head", - "1": "Sturdy", - "H": "Sheer Force" - }, - "heightm": 9.2, - "weightkg": 400, - "color": "Gray", - "prevo": "Onix", - "evoType": "trade", - "evoItem": "Metal Coat", - "eggGroups": [ - "Mineral" + "Undiscovered" ], - "otherFormes": [ - "Steelix-Mega" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Steelix", - "Steelix-Mega" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "steelixmega": { - "num": 208, - "name": "steelix-mega", - "baseSpecies": "Steelix", - "forme": "Mega", + "unownh": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "steel", - "ground" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 125, - "defense": 230, - "special-attack": 55, - "special-defense": 95, - "speed": 30 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Sand Force" + "0": "Levitate" }, - "heightm": 10.5, - "weightkg": 740, - "color": "Gray", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Mineral" + "Undiscovered" ], - "requiredItem": "Steelixite" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ] }, - "snubbull": { - "num": 209, - "name": "snubbull", + "unowni": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "fairy" + "psychic" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 60, - "attack": 80, - "defense": 50, - "special-attack": 40, - "special-defense": 40, - "speed": 30 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Intimidate", - "1": "Run Away", - "H": "Rattled" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 7.8, - "color": "Pink", - "evos": [ - "Granbull" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field", - "Fairy" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "granbull": { - "num": 210, - "name": "granbull", + "unownj": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "fairy" + "psychic" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 90, - "attack": 120, - "defense": 75, - "special-attack": 60, - "special-defense": 60, - "speed": 45 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Intimidate", - "1": "Quick Feet", - "H": "Rattled" + "0": "Levitate" }, - "heightm": 1.4, - "weightkg": 48.7, - "color": "Purple", - "prevo": "Snubbull", - "evoLevel": 23, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field", - "Fairy" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "qwilfish": { - "num": 211, - "name": "qwilfish", + "unownk": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "water", - "poison" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 65, - "attack": 95, - "defense": 85, - "special-attack": 55, - "special-defense": 55, - "speed": 85 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Poison Point", - "1": "Swift Swim", - "H": "Intimidate" + "0": "Levitate" }, "heightm": 0.5, - "weightkg": 3.9, - "color": "Gray", + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 2" + "Undiscovered" ], - "otherFormes": [ - "Qwilfish-Hisui" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Qwilfish", - "Qwilfish-Hisui" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "qwilfishhisui": { - "num": 211, - "name": "qwilfish-hisui", - "baseSpecies": "Qwilfish", - "forme": "Hisui", + "unownl": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "dark", - "poison" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 65, - "attack": 95, - "defense": 85, - "special-attack": 55, - "special-defense": 55, - "speed": 85 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Poison Point", - "1": "Swift Swim", - "H": "Intimidate" + "0": "Levitate" }, "heightm": 0.5, - "weightkg": 3.9, + "weightkg": 5, "color": "Black", - "evos": [ - "Overqwil" - ], "eggGroups": [ - "Water 2" - ] - }, - "scizor": { - "num": 212, - "name": "scizor", - "types": [ - "bug", - "steel" - ], - "baseStats": { - "hp": 70, - "attack": 130, - "defense": 100, - "special-attack": 55, - "special-defense": 80, - "speed": 65 - }, - "abilities": { - "0": "Swarm", - "1": "Technician", - "H": "Light Metal" - }, - "heightm": 1.8, - "weightkg": 118, - "color": "Red", - "prevo": "Scyther", - "evoType": "trade", - "evoItem": "Metal Coat", - "eggGroups": [ - "Bug" + "Undiscovered" ], - "otherFormes": [ - "Scizor-Mega" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Scizor", - "Scizor-Mega" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "scizormega": { - "num": 212, - "name": "scizor-mega", - "baseSpecies": "Scizor", - "forme": "Mega", + "unownm": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "bug", - "steel" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 150, - "defense": 140, - "special-attack": 65, - "special-defense": 100, - "speed": 75 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Technician" + "0": "Levitate" }, - "heightm": 2, - "weightkg": 125, - "color": "Red", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" + "Undiscovered" ], - "requiredItem": "Scizorite" - }, - "shuckle": { - "num": 213, - "name": "shuckle", - "types": [ - "bug", - "rock" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], - "baseStats": { - "hp": 20, - "attack": 10, - "defense": 230, - "special-attack": 10, - "special-defense": 230, - "speed": 5 - }, - "abilities": { - "0": "Sturdy", - "1": "Gluttony", - "H": "Contrary" - }, - "heightm": 0.6, - "weightkg": 20.5, - "color": "Yellow", - "eggGroups": [ - "Bug" + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "heracross": { - "num": 214, - "name": "heracross", + "unownn": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "bug", - "fighting" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 125, - "defense": 75, - "special-attack": 40, - "special-defense": 95, - "speed": 85 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Swarm", - "1": "Guts", - "H": "Moxie" + "0": "Levitate" }, - "heightm": 1.5, - "weightkg": 54, - "color": "Blue", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" + "Undiscovered" ], - "otherFormes": [ - "Heracross-Mega" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Heracross", - "Heracross-Mega" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "heracrossmega": { - "num": 214, - "name": "heracross-mega", - "baseSpecies": "Heracross", - "forme": "Mega", + "unowno": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "bug", - "fighting" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 185, - "defense": 115, - "special-attack": 40, - "special-defense": 105, - "speed": 75 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Skill Link" + "0": "Levitate" }, - "heightm": 1.7, - "weightkg": 62.5, - "color": "Blue", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Bug" + "Undiscovered" ], - "requiredItem": "Heracronite" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ] }, - "sneasel": { - "num": 215, - "name": "sneasel", + "unownp": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "dark", - "ice" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 55, - "attack": 95, - "defense": 55, - "special-attack": 35, - "special-defense": 75, - "speed": 115 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Inner Focus", - "1": "Keen Eye", - "H": "Pickpocket" + "0": "Levitate" }, - "heightm": 0.9, - "weightkg": 28, + "heightm": 0.5, + "weightkg": 5, "color": "Black", - "evos": [ - "Weavile" - ], "eggGroups": [ - "Field" + "Undiscovered" ], - "otherFormes": [ - "Sneasel-Hisui" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Sneasel", - "Sneasel-Hisui" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "sneaselhisui": { - "num": 215, - "name": "sneasel-hisui", - "baseSpecies": "Sneasel", - "forme": "Hisui", + "unownq": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "fighting", - "poison" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 55, - "attack": 95, - "defense": 55, - "special-attack": 35, - "special-defense": 75, - "speed": 115 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Inner Focus", - "1": "Keen Eye", - "H": "Pickpocket" + "0": "Levitate" }, - "heightm": 0.9, - "weightkg": 27, - "color": "Gray", - "evos": [ - "Sneasler" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" - ] - }, - "teddiursa": { - "num": 216, - "name": "teddiursa", - "types": [ - "normal" + "Undiscovered" ], - "baseStats": { - "hp": 60, - "attack": 80, - "defense": 50, - "special-attack": 50, - "special-defense": 50, - "speed": 40 - }, - "abilities": { - "0": "Pickup", - "1": "Quick Feet", - "H": "Honey Gather" - }, - "heightm": 0.6, - "weightkg": 8.8, - "color": "Brown", - "evos": [ - "Ursaring" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], - "eggGroups": [ - "Field" + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "ursaring": { - "num": 217, - "name": "ursaring", + "unownr": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "normal" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 90, - "attack": 130, - "defense": 75, - "special-attack": 75, - "special-defense": 75, - "speed": 55 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Guts", - "1": "Quick Feet", - "H": "Unnerve" + "0": "Levitate" }, - "heightm": 1.8, - "weightkg": 125.8, - "color": "Brown", - "prevo": "Teddiursa", - "evoLevel": 30, - "evos": [ - "Ursaluna" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "slugma": { - "num": 218, - "name": "slugma", + "unowns": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "fire" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 40, - "defense": 40, - "special-attack": 70, - "special-defense": 40, - "speed": 20 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Magma Armor", - "1": "Flame Body", - "H": "Weak Armor" + "0": "Levitate" }, - "heightm": 0.7, - "weightkg": 35, - "color": "Red", - "evos": [ - "Magcargo" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Amorphous" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "magcargo": { - "num": 219, - "name": "magcargo", + "unownt": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "fire", - "rock" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 50, - "defense": 120, - "special-attack": 90, - "special-defense": 80, - "speed": 30 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Magma Armor", - "1": "Flame Body", - "H": "Weak Armor" + "0": "Levitate" }, - "heightm": 0.8, - "weightkg": 55, - "color": "Red", - "prevo": "Slugma", - "evoLevel": 38, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Amorphous" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "swinub": { - "num": 220, - "name": "swinub", + "unownu": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "ice", - "ground" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 50, - "defense": 40, - "special-attack": 30, - "special-defense": 30, - "speed": 50 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Oblivious", - "1": "Snow Cloak", - "H": "Thick Fat" + "0": "Levitate" }, - "heightm": 0.4, - "weightkg": 6.5, - "color": "Brown", - "evos": [ - "Piloswine" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "piloswine": { - "num": 221, - "name": "piloswine", + "unownv": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "ice", - "ground" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 80, - "special-attack": 60, - "special-defense": 60, - "speed": 50 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Oblivious", - "1": "Snow Cloak", - "H": "Thick Fat" + "0": "Levitate" }, - "heightm": 1.1, - "weightkg": 55.8, - "color": "Brown", - "prevo": "Swinub", - "evoLevel": 33, - "evos": [ - "Mamoswine" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "corsola": { - "num": 222, - "name": "corsola", + "unownw": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "water", - "rock" + "psychic" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 65, - "attack": 55, - "defense": 95, - "special-attack": 65, - "special-defense": 95, - "speed": 35 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Hustle", - "1": "Natural Cure", - "H": "Regenerator" + "0": "Levitate" }, - "heightm": 0.6, + "heightm": 0.5, "weightkg": 5, - "color": "Pink", + "color": "Black", "eggGroups": [ - "Water 1", - "Water 3" + "Undiscovered" ], - "otherFormes": [ - "Corsola-Galar" + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ], "formeOrder": [ - "Corsola", - "Corsola-Galar" + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "corsolagalar": { - "num": 222, - "name": "corsola-galar", - "baseSpecies": "Corsola", - "forme": "Galar", + "unownx": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "ghost" + "psychic" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 60, - "attack": 55, - "defense": 100, - "special-attack": 65, - "special-defense": 100, - "speed": 30 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Weak Armor", - "H": "Cursed Body" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 0.5, - "color": "White", - "evos": [ - "Cursola" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 1", - "Water 3" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "remoraid": { - "num": 223, - "name": "remoraid", + "unowny": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "water" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 35, - "attack": 65, - "defense": 35, - "special-attack": 65, - "special-defense": 35, - "speed": 65 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Hustle", - "1": "Sniper", - "H": "Moody" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 12, - "color": "Gray", - "evos": [ - "Octillery" - ], + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 1", - "Water 2" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "octillery": { - "num": 224, - "name": "octillery", + "unownz": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "water" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 105, - "defense": 75, - "special-attack": 105, - "special-defense": 75, - "speed": 45 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Suction Cups", - "1": "Sniper", - "H": "Moody" + "0": "Levitate" }, - "heightm": 0.9, - "weightkg": 28.5, - "color": "Red", - "prevo": "Remoraid", - "evoLevel": 25, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 1", - "Water 2" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "delibird": { - "num": 225, - "name": "delibird", + "unownexclamation": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "ice", - "flying" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 55, - "defense": 45, - "special-attack": 65, - "special-defense": 45, - "speed": 75 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Vital Spirit", - "1": "Hustle", - "H": "Insomnia" + "0": "Levitate" }, - "heightm": 0.9, - "weightkg": 16, - "color": "Red", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" + ], + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" ] }, - "mantine": { - "num": 226, - "name": "mantine", + "unownquestion": { + "num": 201, + "name": "unown", + "baseForme": "A", "types": [ - "water", - "flying" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 85, - "attack": 40, - "defense": 70, - "special-attack": 80, - "special-defense": 140, - "speed": 70 + "hp": 48, + "attack": 72, + "defense": 48, + "special-attack": 72, + "special-defense": 48, + "speed": 48 }, "abilities": { - "0": "Swift Swim", - "1": "Water Absorb", - "H": "Water Veil" + "0": "Levitate" }, - "heightm": 2.1, - "weightkg": 220, - "color": "Purple", - "prevo": "Mantyke", - "evoType": "levelExtra", - "evoCondition": "with a Remoraid in party", + "heightm": 0.5, + "weightkg": 5, + "color": "Black", "eggGroups": [ - "Water 1" + "Undiscovered" ], - "canHatch": true + "cosmeticFormes": [ + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ], + "formeOrder": [ + "Unown", + "Unown-B", + "Unown-C", + "Unown-D", + "Unown-E", + "Unown-F", + "Unown-G", + "Unown-H", + "Unown-I", + "Unown-J", + "Unown-K", + "Unown-L", + "Unown-M", + "Unown-N", + "Unown-O", + "Unown-P", + "Unown-Q", + "Unown-R", + "Unown-S", + "Unown-T", + "Unown-U", + "Unown-V", + "Unown-W", + "Unown-X", + "Unown-Y", + "Unown-Z", + "Unown-Exclamation", + "Unown-Question" + ] }, - "skarmory": { - "num": 227, - "name": "skarmory", + "wobbuffet": { + "num": 202, + "name": "wobbuffet", "types": [ - "steel", - "flying" + "psychic" ], "baseStats": { - "hp": 65, - "attack": 80, - "defense": 140, - "special-attack": 40, - "special-defense": 70, - "speed": 70 + "hp": 190, + "attack": 33, + "defense": 58, + "special-attack": 33, + "special-defense": 58, + "speed": 33 }, "abilities": { - "0": "Keen Eye", - "1": "Sturdy", - "H": "Weak Armor" + "0": "Shadow Tag", + "H": "Telepathy" }, - "heightm": 1.7, - "weightkg": 50.5, - "color": "Gray", + "heightm": 1.3, + "weightkg": 28.5, + "color": "Blue", + "prevo": "Wynaut", + "evoLevel": 15, "eggGroups": [ - "Flying" - ] + "Amorphous" + ], + "canHatch": true }, - "houndour": { - "num": 228, - "name": "houndour", + "girafarig": { + "num": 203, + "name": "girafarig", "types": [ - "dark", - "fire" + "normal", + "psychic" ], "baseStats": { - "hp": 45, - "attack": 60, - "defense": 30, - "special-attack": 80, - "special-defense": 50, - "speed": 65 + "hp": 70, + "attack": 80, + "defense": 65, + "special-attack": 90, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Early Bird", - "1": "Flash Fire", - "H": "Unnerve" + "0": "Inner Focus", + "1": "Early Bird", + "H": "Sap Sipper" }, - "heightm": 0.6, - "weightkg": 10.8, - "color": "Black", + "heightm": 1.5, + "weightkg": 41.5, + "color": "Yellow", "evos": [ - "Houndoom" + "Farigiraf" ], "eggGroups": [ "Field" ] }, - "houndoom": { - "num": 229, - "name": "houndoom", + "pineco": { + "num": 204, + "name": "pineco", "types": [ - "dark", - "fire" + "bug" ], "baseStats": { - "hp": 75, - "attack": 90, - "defense": 50, - "special-attack": 110, - "special-defense": 80, - "speed": 95 + "hp": 50, + "attack": 65, + "defense": 90, + "special-attack": 35, + "special-defense": 35, + "speed": 15 }, "abilities": { - "0": "Early Bird", - "1": "Flash Fire", - "H": "Unnerve" + "0": "Sturdy", + "H": "Overcoat" }, - "heightm": 1.4, - "weightkg": 35, - "color": "Black", - "prevo": "Houndour", - "evoLevel": 24, - "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Houndoom-Mega" + "heightm": 0.6, + "weightkg": 7.2, + "color": "Gray", + "evos": [ + "Forretress" ], - "formeOrder": [ - "Houndoom", - "Houndoom-Mega" + "eggGroups": [ + "Bug" ] }, - "houndoommega": { - "num": 229, - "name": "houndoom-mega", - "baseSpecies": "Houndoom", - "forme": "Mega", + "forretress": { + "num": 205, + "name": "forretress", "types": [ - "dark", - "fire" + "bug", + "steel" ], "baseStats": { "hp": 75, "attack": 90, - "defense": 90, - "special-attack": 140, - "special-defense": 90, - "speed": 115 + "defense": 140, + "special-attack": 60, + "special-defense": 60, + "speed": 40 }, "abilities": { - "0": "Solar Power" + "0": "Sturdy", + "H": "Overcoat" }, - "heightm": 1.9, - "weightkg": 49.5, - "color": "Black", + "heightm": 1.2, + "weightkg": 125.8, + "color": "Purple", + "prevo": "Pineco", + "evoLevel": 31, "eggGroups": [ - "Field" - ], - "requiredItem": "Houndoominite" + "Bug" + ] }, - "kingdra": { - "num": 230, - "name": "kingdra", + "dunsparce": { + "num": 206, + "name": "dunsparce", "types": [ - "water", - "dragon" + "normal" ], "baseStats": { - "hp": 75, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 85 + "hp": 100, + "attack": 70, + "defense": 70, + "special-attack": 65, + "special-defense": 65, + "speed": 45 }, "abilities": { - "0": "Swift Swim", - "1": "Sniper", - "H": "Damp" + "0": "Serene Grace", + "1": "Run Away", + "H": "Rattled" }, - "heightm": 1.8, - "weightkg": 152, - "color": "Blue", - "prevo": "Seadra", - "evoType": "trade", - "evoItem": "Dragon Scale", + "heightm": 1.5, + "weightkg": 14, + "color": "Yellow", + "evos": [ + "Dudunsparce", + "Dudunsparce-Three-Segment" + ], "eggGroups": [ - "Water 1", - "Dragon" + "Field" ] }, - "phanpy": { - "num": 231, - "name": "phanpy", + "gligar": { + "num": 207, + "name": "gligar", "types": [ - "ground" + "ground", + "flying" ], "baseStats": { - "hp": 90, - "attack": 60, - "defense": 60, - "special-attack": 40, - "special-defense": 40, - "speed": 40 + "hp": 65, + "attack": 75, + "defense": 105, + "special-attack": 35, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Pickup", - "H": "Sand Veil" + "0": "Hyper Cutter", + "1": "Sand Veil", + "H": "Immunity" }, - "heightm": 0.5, - "weightkg": 33.5, - "color": "Blue", + "heightm": 1.1, + "weightkg": 64.8, + "color": "Purple", "evos": [ - "Donphan" + "Gliscor" ], "eggGroups": [ - "Field" + "Bug" ] }, - "donphan": { - "num": 232, - "name": "donphan", + "steelix": { + "num": 208, + "name": "steelix", "types": [ + "steel", "ground" ], "baseStats": { - "hp": 90, - "attack": 120, - "defense": 120, - "special-attack": 60, - "special-defense": 60, - "speed": 50 + "hp": 75, + "attack": 85, + "defense": 200, + "special-attack": 55, + "special-defense": 65, + "speed": 30 }, "abilities": { - "0": "Sturdy", - "H": "Sand Veil" + "0": "Rock Head", + "1": "Sturdy", + "H": "Sheer Force" }, - "heightm": 1.1, - "weightkg": 120, + "heightm": 9.2, + "weightkg": 400, "color": "Gray", - "prevo": "Phanpy", - "evoLevel": 25, + "prevo": "Onix", + "evoType": "trade", + "evoItem": "Metal Coat", "eggGroups": [ - "Field" + "Mineral" + ], + "otherFormes": [ + "Steelix-Mega" + ], + "formeOrder": [ + "Steelix", + "Steelix-Mega" ] }, - "porygon2": { - "num": 233, - "name": "porygon2", + "steelixmega": { + "num": 208, + "name": "steelix-mega", + "baseSpecies": "Steelix", + "forme": "Mega", "types": [ - "normal" + "steel", + "ground" ], - "gender": "N", "baseStats": { - "hp": 85, - "attack": 80, - "defense": 90, - "special-attack": 105, + "hp": 75, + "attack": 125, + "defense": 230, + "special-attack": 55, "special-defense": 95, - "speed": 60 + "speed": 30 }, "abilities": { - "0": "Trace", - "1": "Download", - "H": "Analytic" + "0": "Sand Force" }, - "heightm": 0.6, - "weightkg": 32.5, - "color": "Red", - "prevo": "Porygon", - "evoType": "trade", - "evoItem": "Up-Grade", - "evos": [ - "Porygon-Z" - ], + "heightm": 10.5, + "weightkg": 740, + "color": "Gray", "eggGroups": [ "Mineral" - ] + ], + "requiredItem": "Steelixite" }, - "stantler": { - "num": 234, - "name": "stantler", + "snubbull": { + "num": 209, + "name": "snubbull", "types": [ - "normal" + "fairy" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 73, - "attack": 95, - "defense": 62, - "special-attack": 85, - "special-defense": 65, - "speed": 85 + "hp": 60, + "attack": 80, + "defense": 50, + "special-attack": 40, + "special-defense": 40, + "speed": 30 }, "abilities": { "0": "Intimidate", - "1": "Frisk", - "H": "Sap Sipper" + "1": "Run Away", + "H": "Rattled" }, - "heightm": 1.4, - "weightkg": 71.2, - "color": "Brown", + "heightm": 0.6, + "weightkg": 7.8, + "color": "Pink", "evos": [ - "Wyrdeer" + "Granbull" ], "eggGroups": [ - "Field" + "Field", + "Fairy" ] }, - "smeargle": { - "num": 235, - "name": "smeargle", + "granbull": { + "num": 210, + "name": "granbull", "types": [ - "normal" + "fairy" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 55, - "attack": 20, - "defense": 35, - "special-attack": 20, - "special-defense": 45, - "speed": 75 + "hp": 90, + "attack": 120, + "defense": 75, + "special-attack": 60, + "special-defense": 60, + "speed": 45 }, "abilities": { - "0": "Own Tempo", - "1": "Technician", - "H": "Moody" + "0": "Intimidate", + "1": "Quick Feet", + "H": "Rattled" }, - "heightm": 1.2, - "weightkg": 58, - "color": "White", + "heightm": 1.4, + "weightkg": 48.7, + "color": "Purple", + "prevo": "Snubbull", + "evoLevel": 23, "eggGroups": [ - "Field" + "Field", + "Fairy" ] }, - "tyrogue": { - "num": 236, - "name": "tyrogue", + "qwilfish": { + "num": 211, + "name": "qwilfish", "types": [ - "fighting" + "water", + "poison" ], - "gender": "M", "baseStats": { - "hp": 35, - "attack": 35, - "defense": 35, - "special-attack": 35, - "special-defense": 35, - "speed": 35 + "hp": 65, + "attack": 95, + "defense": 85, + "special-attack": 55, + "special-defense": 55, + "speed": 85 }, "abilities": { - "0": "Guts", - "1": "Steadfast", - "H": "Vital Spirit" + "0": "Poison Point", + "1": "Swift Swim", + "H": "Intimidate" }, - "heightm": 0.7, - "weightkg": 21, - "color": "Purple", - "evos": [ - "Hitmonlee", - "Hitmonchan", - "Hitmontop" - ], + "heightm": 0.5, + "weightkg": 3.9, + "color": "Gray", "eggGroups": [ - "Undiscovered" + "Water 2" ], - "canHatch": true + "otherFormes": [ + "Qwilfish-Hisui" + ], + "formeOrder": [ + "Qwilfish", + "Qwilfish-Hisui" + ] }, - "hitmontop": { - "num": 237, - "name": "hitmontop", + "qwilfishhisui": { + "num": 211, + "name": "qwilfish-hisui", + "baseSpecies": "Qwilfish", + "forme": "Hisui", "types": [ - "fighting" + "dark", + "poison" ], - "gender": "M", "baseStats": { - "hp": 50, + "hp": 65, "attack": 95, - "defense": 95, - "special-attack": 35, - "special-defense": 110, - "speed": 70 + "defense": 85, + "special-attack": 55, + "special-defense": 55, + "speed": 85 }, "abilities": { - "0": "Intimidate", - "1": "Technician", - "H": "Steadfast" + "0": "Poison Point", + "1": "Swift Swim", + "H": "Intimidate" }, - "heightm": 1.4, - "weightkg": 48, - "color": "Brown", - "prevo": "Tyrogue", - "evoLevel": 20, - "evoCondition": "with an Atk stat equal to its Def stat", + "heightm": 0.5, + "weightkg": 3.9, + "color": "Black", + "evos": [ + "Overqwil" + ], "eggGroups": [ - "Human-Like" + "Water 2" ] }, - "smoochum": { - "num": 238, - "name": "smoochum", + "scizor": { + "num": 212, + "name": "scizor", "types": [ - "ice", - "psychic" + "bug", + "steel" ], - "gender": "F", "baseStats": { - "hp": 45, - "attack": 30, - "defense": 15, - "special-attack": 85, - "special-defense": 65, + "hp": 70, + "attack": 130, + "defense": 100, + "special-attack": 55, + "special-defense": 80, "speed": 65 }, "abilities": { - "0": "Oblivious", - "1": "Forewarn", - "H": "Hydration" + "0": "Swarm", + "1": "Technician", + "H": "Light Metal" }, - "heightm": 0.4, - "weightkg": 6, - "color": "Pink", - "evos": [ - "Jynx" - ], + "heightm": 1.8, + "weightkg": 118, + "color": "Red", + "prevo": "Scyther", + "evoType": "trade", + "evoItem": "Metal Coat", "eggGroups": [ - "Undiscovered" + "Bug" ], - "canHatch": true + "otherFormes": [ + "Scizor-Mega" + ], + "formeOrder": [ + "Scizor", + "Scizor-Mega" + ] }, - "elekid": { - "num": 239, - "name": "elekid", + "scizormega": { + "num": 212, + "name": "scizor-mega", + "baseSpecies": "Scizor", + "forme": "Mega", "types": [ - "electric" + "bug", + "steel" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 45, - "attack": 63, - "defense": 37, + "hp": 70, + "attack": 150, + "defense": 140, "special-attack": 65, - "special-defense": 55, - "speed": 95 + "special-defense": 100, + "speed": 75 }, "abilities": { - "0": "Static", - "H": "Vital Spirit" + "0": "Technician" }, - "heightm": 0.6, - "weightkg": 23.5, - "color": "Yellow", - "evos": [ - "Electabuzz" - ], + "heightm": 2, + "weightkg": 125, + "color": "Red", "eggGroups": [ - "Undiscovered" + "Bug" ], - "canHatch": true + "requiredItem": "Scizorite" }, - "magby": { - "num": 240, - "name": "magby", + "shuckle": { + "num": 213, + "name": "shuckle", "types": [ - "fire" + "bug", + "rock" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 45, - "attack": 75, - "defense": 37, - "special-attack": 70, - "special-defense": 55, - "speed": 83 + "hp": 20, + "attack": 10, + "defense": 230, + "special-attack": 10, + "special-defense": 230, + "speed": 5 }, "abilities": { - "0": "Flame Body", - "H": "Vital Spirit" + "0": "Sturdy", + "1": "Gluttony", + "H": "Contrary" }, - "heightm": 0.7, - "weightkg": 21.4, - "color": "Red", - "evos": [ - "Magmar" - ], + "heightm": 0.6, + "weightkg": 20.5, + "color": "Yellow", "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Bug" + ] }, - "miltank": { - "num": 241, - "name": "miltank", + "heracross": { + "num": 214, + "name": "heracross", "types": [ - "normal" + "bug", + "fighting" ], - "gender": "F", "baseStats": { - "hp": 95, - "attack": 80, - "defense": 105, + "hp": 80, + "attack": 125, + "defense": 75, "special-attack": 40, - "special-defense": 70, - "speed": 100 + "special-defense": 95, + "speed": 85 }, "abilities": { - "0": "Thick Fat", - "1": "Scrappy", - "H": "Sap Sipper" + "0": "Swarm", + "1": "Guts", + "H": "Moxie" }, - "heightm": 1.2, - "weightkg": 75.5, - "color": "Pink", + "heightm": 1.5, + "weightkg": 54, + "color": "Blue", "eggGroups": [ - "Field" + "Bug" + ], + "otherFormes": [ + "Heracross-Mega" + ], + "formeOrder": [ + "Heracross", + "Heracross-Mega" ] }, - "blissey": { - "num": 242, - "name": "blissey", + "heracrossmega": { + "num": 214, + "name": "heracross-mega", + "baseSpecies": "Heracross", + "forme": "Mega", "types": [ - "normal" + "bug", + "fighting" ], - "gender": "F", "baseStats": { - "hp": 255, - "attack": 10, - "defense": 10, - "special-attack": 75, - "special-defense": 135, - "speed": 55 + "hp": 80, + "attack": 185, + "defense": 115, + "special-attack": 40, + "special-defense": 105, + "speed": 75 }, "abilities": { - "0": "Natural Cure", - "1": "Serene Grace", - "H": "Healer" + "0": "Skill Link" }, - "heightm": 1.5, - "weightkg": 46.8, - "color": "Pink", - "prevo": "Chansey", - "evoType": "levelFriendship", + "heightm": 1.7, + "weightkg": 62.5, + "color": "Blue", "eggGroups": [ - "Fairy" - ] + "Bug" + ], + "requiredItem": "Heracronite" }, - "raikou": { - "num": 243, - "name": "raikou", + "sneasel": { + "num": 215, + "name": "sneasel", "types": [ - "electric" + "dark", + "ice" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 85, - "defense": 75, - "special-attack": 115, - "special-defense": 100, + "hp": 55, + "attack": 95, + "defense": 55, + "special-attack": 35, + "special-defense": 75, "speed": 115 }, "abilities": { - "0": "Pressure", - "H": "Inner Focus" + "0": "Inner Focus", + "1": "Keen Eye", + "H": "Pickpocket" }, - "heightm": 1.9, - "weightkg": 178, - "color": "Yellow", - "tags": [ - "Sub-Legendary" + "heightm": 0.9, + "weightkg": 28, + "color": "Black", + "evos": [ + "Weavile" ], "eggGroups": [ - "Undiscovered" + "Field" + ], + "otherFormes": [ + "Sneasel-Hisui" + ], + "formeOrder": [ + "Sneasel", + "Sneasel-Hisui" ] }, - "entei": { - "num": 244, - "name": "entei", + "sneaselhisui": { + "num": 215, + "name": "sneasel-hisui", + "baseSpecies": "Sneasel", + "forme": "Hisui", "types": [ - "fire" + "fighting", + "poison" ], - "gender": "N", "baseStats": { - "hp": 115, - "attack": 115, - "defense": 85, - "special-attack": 90, + "hp": 55, + "attack": 95, + "defense": 55, + "special-attack": 35, "special-defense": 75, - "speed": 100 + "speed": 115 }, "abilities": { - "0": "Pressure", - "H": "Inner Focus" + "0": "Inner Focus", + "1": "Keen Eye", + "H": "Pickpocket" }, - "heightm": 2.1, - "weightkg": 198, - "color": "Brown", - "tags": [ - "Sub-Legendary" + "heightm": 0.9, + "weightkg": 27, + "color": "Gray", + "evos": [ + "Sneasler" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "suicune": { - "num": 245, - "name": "suicune", + "teddiursa": { + "num": 216, + "name": "teddiursa", "types": [ - "water" + "normal" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 75, - "defense": 115, - "special-attack": 90, - "special-defense": 115, - "speed": 85 + "hp": 60, + "attack": 80, + "defense": 50, + "special-attack": 50, + "special-defense": 50, + "speed": 40 }, "abilities": { - "0": "Pressure", - "H": "Inner Focus" + "0": "Pickup", + "1": "Quick Feet", + "H": "Honey Gather" }, - "heightm": 2, - "weightkg": 187, - "color": "Blue", - "tags": [ - "Sub-Legendary" + "heightm": 0.6, + "weightkg": 8.8, + "color": "Brown", + "evos": [ + "Ursaring" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "larvitar": { - "num": 246, - "name": "larvitar", + "ursaring": { + "num": 217, + "name": "ursaring", "types": [ - "rock", - "ground" + "normal" ], "baseStats": { - "hp": 50, - "attack": 64, - "defense": 50, - "special-attack": 45, - "special-defense": 50, - "speed": 41 + "hp": 90, + "attack": 130, + "defense": 75, + "special-attack": 75, + "special-defense": 75, + "speed": 55 }, "abilities": { "0": "Guts", - "H": "Sand Veil" + "1": "Quick Feet", + "H": "Unnerve" }, - "heightm": 0.6, - "weightkg": 72, - "color": "Green", + "heightm": 1.8, + "weightkg": 125.8, + "color": "Brown", + "prevo": "Teddiursa", + "evoLevel": 30, "evos": [ - "Pupitar" + "Ursaluna" ], "eggGroups": [ - "Monster" + "Field" ] }, - "pupitar": { - "num": 247, - "name": "pupitar", + "slugma": { + "num": 218, + "name": "slugma", "types": [ - "rock", - "ground" + "fire" ], "baseStats": { - "hp": 70, - "attack": 84, - "defense": 70, - "special-attack": 65, - "special-defense": 70, - "speed": 51 + "hp": 40, + "attack": 40, + "defense": 40, + "special-attack": 70, + "special-defense": 40, + "speed": 20 }, "abilities": { - "0": "Shed Skin" + "0": "Magma Armor", + "1": "Flame Body", + "H": "Weak Armor" }, - "heightm": 1.2, - "weightkg": 152, - "color": "Gray", - "prevo": "Larvitar", - "evoLevel": 30, + "heightm": 0.7, + "weightkg": 35, + "color": "Red", "evos": [ - "Tyranitar" + "Magcargo" ], "eggGroups": [ - "Monster" + "Amorphous" ] }, - "tyranitar": { - "num": 248, - "name": "tyranitar", + "magcargo": { + "num": 219, + "name": "magcargo", "types": [ - "rock", - "dark" + "fire", + "rock" ], "baseStats": { - "hp": 100, - "attack": 134, - "defense": 110, - "special-attack": 95, - "special-defense": 100, - "speed": 61 + "hp": 60, + "attack": 50, + "defense": 120, + "special-attack": 90, + "special-defense": 80, + "speed": 30 }, "abilities": { - "0": "Sand Stream", - "H": "Unnerve" + "0": "Magma Armor", + "1": "Flame Body", + "H": "Weak Armor" }, - "heightm": 2, - "weightkg": 202, - "color": "Green", - "prevo": "Pupitar", - "evoLevel": 55, + "heightm": 0.8, + "weightkg": 55, + "color": "Red", + "prevo": "Slugma", + "evoLevel": 38, "eggGroups": [ - "Monster" - ], - "otherFormes": [ - "Tyranitar-Mega" - ], - "formeOrder": [ - "Tyranitar", - "Tyranitar-Mega" + "Amorphous" ] }, - "tyranitarmega": { - "num": 248, - "name": "tyranitar-mega", - "baseSpecies": "Tyranitar", - "forme": "Mega", + "swinub": { + "num": 220, + "name": "swinub", "types": [ - "rock", - "dark" + "ice", + "ground" ], "baseStats": { - "hp": 100, - "attack": 164, - "defense": 150, - "special-attack": 95, - "special-defense": 120, - "speed": 71 + "hp": 50, + "attack": 50, + "defense": 40, + "special-attack": 30, + "special-defense": 30, + "speed": 50 }, "abilities": { - "0": "Sand Stream" + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" }, - "heightm": 2.5, - "weightkg": 255, - "color": "Green", - "eggGroups": [ - "Monster" + "heightm": 0.4, + "weightkg": 6.5, + "color": "Brown", + "evos": [ + "Piloswine" ], - "requiredItem": "Tyranitarite" + "eggGroups": [ + "Field" + ] }, - "lugia": { - "num": 249, - "name": "lugia", + "piloswine": { + "num": 221, + "name": "piloswine", "types": [ - "psychic", - "flying" + "ice", + "ground" ], - "gender": "N", "baseStats": { - "hp": 106, - "attack": 90, - "defense": 130, - "special-attack": 90, - "special-defense": 154, - "speed": 110 + "hp": 100, + "attack": 100, + "defense": 80, + "special-attack": 60, + "special-defense": 60, + "speed": 50 }, "abilities": { - "0": "Pressure", - "H": "Multiscale" + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" }, - "heightm": 5.2, - "weightkg": 216, - "color": "White", - "tags": [ - "Restricted Legendary" + "heightm": 1.1, + "weightkg": 55.8, + "color": "Brown", + "prevo": "Swinub", + "evoLevel": 33, + "evos": [ + "Mamoswine" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "hooh": { - "num": 250, - "name": "ho-oh", + "corsola": { + "num": 222, + "name": "corsola", "types": [ - "fire", - "flying" + "water", + "rock" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 106, - "attack": 130, - "defense": 90, - "special-attack": 110, - "special-defense": 154, - "speed": 90 + "hp": 65, + "attack": 55, + "defense": 95, + "special-attack": 65, + "special-defense": 95, + "speed": 35 }, "abilities": { - "0": "Pressure", + "0": "Hustle", + "1": "Natural Cure", "H": "Regenerator" }, - "heightm": 3.8, - "weightkg": 199, - "color": "Red", - "tags": [ - "Restricted Legendary" - ], + "heightm": 0.6, + "weightkg": 5, + "color": "Pink", "eggGroups": [ - "Undiscovered" + "Water 1", + "Water 3" + ], + "otherFormes": [ + "Corsola-Galar" + ], + "formeOrder": [ + "Corsola", + "Corsola-Galar" ] }, - "celebi": { - "num": 251, - "name": "celebi", + "corsolagalar": { + "num": 222, + "name": "corsola-galar", + "baseSpecies": "Corsola", + "forme": "Galar", "types": [ - "psychic", - "grass" + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 100, - "attack": 100, + "hp": 60, + "attack": 55, "defense": 100, - "special-attack": 100, + "special-attack": 65, "special-defense": 100, - "speed": 100 + "speed": 30 }, "abilities": { - "0": "Natural Cure" + "0": "Weak Armor", + "H": "Cursed Body" }, "heightm": 0.6, - "weightkg": 5, - "color": "Green", - "tags": [ - "Mythical" + "weightkg": 0.5, + "color": "White", + "evos": [ + "Cursola" ], "eggGroups": [ - "Undiscovered" + "Water 1", + "Water 3" ] }, - "treecko": { - "num": 252, - "name": "treecko", + "remoraid": { + "num": 223, + "name": "remoraid", "types": [ - "grass" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 40, - "attack": 45, + "hp": 35, + "attack": 65, "defense": 35, "special-attack": 65, - "special-defense": 55, - "speed": 70 + "special-defense": 35, + "speed": 65 }, "abilities": { - "0": "Overgrow", - "H": "Unburden" + "0": "Hustle", + "1": "Sniper", + "H": "Moody" }, - "heightm": 0.5, - "weightkg": 5, - "color": "Green", + "heightm": 0.6, + "weightkg": 12, + "color": "Gray", "evos": [ - "Grovyle" + "Octillery" ], "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Water 2" ] }, - "grovyle": { - "num": 253, - "name": "grovyle", + "octillery": { + "num": 224, + "name": "octillery", "types": [ - "grass" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 50, - "attack": 65, - "defense": 45, - "special-attack": 85, - "special-defense": 65, - "speed": 95 + "hp": 75, + "attack": 105, + "defense": 75, + "special-attack": 105, + "special-defense": 75, + "speed": 45 }, "abilities": { - "0": "Overgrow", - "H": "Unburden" + "0": "Suction Cups", + "1": "Sniper", + "H": "Moody" }, "heightm": 0.9, - "weightkg": 21.6, - "color": "Green", - "prevo": "Treecko", - "evoLevel": 16, - "evos": [ - "Sceptile" - ], + "weightkg": 28.5, + "color": "Red", + "prevo": "Remoraid", + "evoLevel": 25, "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Water 2" ] }, - "sceptile": { - "num": 254, - "name": "sceptile", + "delibird": { + "num": 225, + "name": "delibird", "types": [ - "grass" + "ice", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 70, - "attack": 85, - "defense": 65, - "special-attack": 105, - "special-defense": 85, - "speed": 120 + "hp": 45, + "attack": 55, + "defense": 45, + "special-attack": 65, + "special-defense": 45, + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Unburden" + "0": "Vital Spirit", + "1": "Hustle", + "H": "Insomnia" }, - "heightm": 1.7, - "weightkg": 52.2, - "color": "Green", - "prevo": "Grovyle", - "evoLevel": 36, + "heightm": 0.9, + "weightkg": 16, + "color": "Red", "eggGroups": [ - "Monster", - "Dragon" - ], - "otherFormes": [ - "Sceptile-Mega" - ], - "formeOrder": [ - "Sceptile", - "Sceptile-Mega" + "Water 1", + "Field" ] }, - "sceptilemega": { - "num": 254, - "name": "sceptile-mega", - "baseSpecies": "Sceptile", - "forme": "Mega", + "mantine": { + "num": 226, + "name": "mantine", "types": [ - "grass", - "dragon" + "water", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 70, - "attack": 110, - "defense": 75, - "special-attack": 145, - "special-defense": 85, - "speed": 145 + "hp": 85, + "attack": 40, + "defense": 70, + "special-attack": 80, + "special-defense": 140, + "speed": 70 }, "abilities": { - "0": "Lightning Rod" + "0": "Swift Swim", + "1": "Water Absorb", + "H": "Water Veil" }, - "heightm": 1.9, - "weightkg": 55.2, - "color": "Green", + "heightm": 2.1, + "weightkg": 220, + "color": "Purple", + "prevo": "Mantyke", + "evoType": "levelExtra", + "evoCondition": "with a Remoraid in party", "eggGroups": [ - "Monster", - "Dragon" + "Water 1" ], - "requiredItem": "Sceptilite" + "canHatch": true }, - "torchic": { - "num": 255, - "name": "torchic", + "skarmory": { + "num": 227, + "name": "skarmory", "types": [ - "fire" + "steel", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 45, - "attack": 60, - "defense": 40, - "special-attack": 70, - "special-defense": 50, - "speed": 45 + "hp": 65, + "attack": 80, + "defense": 140, + "special-attack": 40, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Blaze", - "H": "Speed Boost" + "0": "Keen Eye", + "1": "Sturdy", + "H": "Weak Armor" }, - "heightm": 0.4, - "weightkg": 2.5, - "color": "Red", - "evos": [ - "Combusken" - ], + "heightm": 1.7, + "weightkg": 50.5, + "color": "Gray", "eggGroups": [ - "Field" + "Flying" ] }, - "combusken": { - "num": 256, - "name": "combusken", + "houndour": { + "num": 228, + "name": "houndour", "types": [ - "fire", - "fighting" + "dark", + "fire" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 60, - "attack": 85, - "defense": 60, - "special-attack": 85, - "special-defense": 60, - "speed": 55 + "hp": 45, + "attack": 60, + "defense": 30, + "special-attack": 80, + "special-defense": 50, + "speed": 65 }, "abilities": { - "0": "Blaze", - "H": "Speed Boost" + "0": "Early Bird", + "1": "Flash Fire", + "H": "Unnerve" }, - "heightm": 0.9, - "weightkg": 19.5, - "color": "Red", - "prevo": "Torchic", - "evoLevel": 16, + "heightm": 0.6, + "weightkg": 10.8, + "color": "Black", "evos": [ - "Blaziken" + "Houndoom" ], "eggGroups": [ "Field" ] }, - "blaziken": { - "num": 257, - "name": "blaziken", + "houndoom": { + "num": 229, + "name": "houndoom", "types": [ - "fire", - "fighting" + "dark", + "fire" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 80, - "attack": 120, - "defense": 70, + "hp": 75, + "attack": 90, + "defense": 50, "special-attack": 110, - "special-defense": 70, - "speed": 80 + "special-defense": 80, + "speed": 95 }, "abilities": { - "0": "Blaze", - "H": "Speed Boost" + "0": "Early Bird", + "1": "Flash Fire", + "H": "Unnerve" }, - "heightm": 1.9, - "weightkg": 52, - "color": "Red", - "prevo": "Combusken", - "evoLevel": 36, + "heightm": 1.4, + "weightkg": 35, + "color": "Black", + "prevo": "Houndour", + "evoLevel": 24, "eggGroups": [ "Field" ], "otherFormes": [ - "Blaziken-Mega" + "Houndoom-Mega" ], "formeOrder": [ - "Blaziken", - "Blaziken-Mega" + "Houndoom", + "Houndoom-Mega" ] }, - "blazikenmega": { - "num": 257, - "name": "blaziken-mega", - "baseSpecies": "Blaziken", + "houndoommega": { + "num": 229, + "name": "houndoom-mega", + "baseSpecies": "Houndoom", "forme": "Mega", "types": [ - "fire", - "fighting" + "dark", + "fire" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 80, - "attack": 160, - "defense": 80, - "special-attack": 130, - "special-defense": 80, - "speed": 100 + "hp": 75, + "attack": 90, + "defense": 90, + "special-attack": 140, + "special-defense": 90, + "speed": 115 }, "abilities": { - "0": "Speed Boost" + "0": "Solar Power" }, "heightm": 1.9, - "weightkg": 52, - "color": "Red", + "weightkg": 49.5, + "color": "Black", "eggGroups": [ "Field" ], - "requiredItem": "Blazikenite" + "requiredItem": "Houndoominite" }, - "mudkip": { - "num": 258, - "name": "mudkip", + "kingdra": { + "num": 230, + "name": "kingdra", "types": [ - "water" + "water", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 50, - "attack": 70, - "defense": 50, - "special-attack": 50, - "special-defense": 50, - "speed": 40 + "hp": 75, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 85 }, "abilities": { - "0": "Torrent", + "0": "Swift Swim", + "1": "Sniper", "H": "Damp" }, - "heightm": 0.4, - "weightkg": 7.6, + "heightm": 1.8, + "weightkg": 152, "color": "Blue", - "evos": [ - "Marshtomp" - ], + "prevo": "Seadra", + "evoType": "trade", + "evoItem": "Dragon Scale", "eggGroups": [ - "Monster", - "Water 1" + "Water 1", + "Dragon" ] }, - "marshtomp": { - "num": 259, - "name": "marshtomp", + "phanpy": { + "num": 231, + "name": "phanpy", "types": [ - "water", "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 70, - "attack": 85, - "defense": 70, - "special-attack": 60, - "special-defense": 70, - "speed": 50 + "hp": 90, + "attack": 60, + "defense": 60, + "special-attack": 40, + "special-defense": 40, + "speed": 40 }, "abilities": { - "0": "Torrent", - "H": "Damp" + "0": "Pickup", + "H": "Sand Veil" }, - "heightm": 0.7, - "weightkg": 28, + "heightm": 0.5, + "weightkg": 33.5, "color": "Blue", - "prevo": "Mudkip", - "evoLevel": 16, "evos": [ - "Swampert" + "Donphan" ], "eggGroups": [ - "Monster", - "Water 1" + "Field" ] }, - "swampert": { - "num": 260, - "name": "swampert", + "donphan": { + "num": 232, + "name": "donphan", "types": [ - "water", "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 + "baseStats": { + "hp": 90, + "attack": 120, + "defense": 120, + "special-attack": 60, + "special-defense": 60, + "speed": 50 + }, + "abilities": { + "0": "Sturdy", + "H": "Sand Veil" }, + "heightm": 1.1, + "weightkg": 120, + "color": "Gray", + "prevo": "Phanpy", + "evoLevel": 25, + "eggGroups": [ + "Field" + ] + }, + "porygon2": { + "num": 233, + "name": "porygon2", + "types": [ + "normal" + ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 110, + "hp": 85, + "attack": 80, "defense": 90, - "special-attack": 85, - "special-defense": 90, + "special-attack": 105, + "special-defense": 95, "speed": 60 }, "abilities": { - "0": "Torrent", - "H": "Damp" + "0": "Trace", + "1": "Download", + "H": "Analytic" }, - "heightm": 1.5, - "weightkg": 81.9, - "color": "Blue", - "prevo": "Marshtomp", - "evoLevel": 36, + "heightm": 0.6, + "weightkg": 32.5, + "color": "Red", + "prevo": "Porygon", + "evoType": "trade", + "evoItem": "Up-Grade", + "evos": [ + "Porygon-Z" + ], "eggGroups": [ - "Monster", - "Water 1" + "Mineral" + ] + }, + "stantler": { + "num": 234, + "name": "stantler", + "types": [ + "normal" ], - "otherFormes": [ - "Swampert-Mega" + "baseStats": { + "hp": 73, + "attack": 95, + "defense": 62, + "special-attack": 85, + "special-defense": 65, + "speed": 85 + }, + "abilities": { + "0": "Intimidate", + "1": "Frisk", + "H": "Sap Sipper" + }, + "heightm": 1.4, + "weightkg": 71.2, + "color": "Brown", + "evos": [ + "Wyrdeer" ], - "formeOrder": [ - "Swampert", - "Swampert-Mega" + "eggGroups": [ + "Field" ] }, - "swampertmega": { - "num": 260, - "name": "swampert-mega", - "baseSpecies": "Swampert", - "forme": "Mega", + "smeargle": { + "num": 235, + "name": "smeargle", "types": [ - "water", - "ground" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 150, - "defense": 110, - "special-attack": 95, - "special-defense": 110, - "speed": 70 + "hp": 55, + "attack": 20, + "defense": 35, + "special-attack": 20, + "special-defense": 45, + "speed": 75 }, "abilities": { - "0": "Swift Swim" + "0": "Own Tempo", + "1": "Technician", + "H": "Moody" }, - "heightm": 1.9, - "weightkg": 102, - "color": "Blue", + "heightm": 1.2, + "weightkg": 58, + "color": "White", "eggGroups": [ - "Monster", - "Water 1" - ], - "requiredItem": "Swampertite" + "Field" + ] }, - "poochyena": { - "num": 261, - "name": "poochyena", + "tyrogue": { + "num": 236, + "name": "tyrogue", "types": [ - "dark" + "fighting" ], + "gender": "M", "baseStats": { "hp": 35, - "attack": 55, + "attack": 35, "defense": 35, - "special-attack": 30, - "special-defense": 30, + "special-attack": 35, + "special-defense": 35, "speed": 35 }, "abilities": { - "0": "Run Away", - "1": "Quick Feet", - "H": "Rattled" + "0": "Guts", + "1": "Steadfast", + "H": "Vital Spirit" }, - "heightm": 0.5, - "weightkg": 13.6, - "color": "Gray", + "heightm": 0.7, + "weightkg": 21, + "color": "Purple", "evos": [ - "Mightyena" + "Hitmonlee", + "Hitmonchan", + "Hitmontop" ], "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "canHatch": true }, - "mightyena": { - "num": 262, - "name": "mightyena", + "hitmontop": { + "num": 237, + "name": "hitmontop", "types": [ - "dark" + "fighting" ], + "gender": "M", "baseStats": { - "hp": 70, - "attack": 90, - "defense": 70, - "special-attack": 60, - "special-defense": 60, + "hp": 50, + "attack": 95, + "defense": 95, + "special-attack": 35, + "special-defense": 110, "speed": 70 }, "abilities": { "0": "Intimidate", - "1": "Quick Feet", - "H": "Moxie" + "1": "Technician", + "H": "Steadfast" }, - "heightm": 1, - "weightkg": 37, - "color": "Gray", - "prevo": "Poochyena", - "evoLevel": 18, + "heightm": 1.4, + "weightkg": 48, + "color": "Brown", + "prevo": "Tyrogue", + "evoLevel": 20, + "evoCondition": "with an Atk stat equal to its Def stat", "eggGroups": [ - "Field" + "Human-Like" ] }, - "zigzagoon": { - "num": 263, - "name": "zigzagoon", + "smoochum": { + "num": 238, + "name": "smoochum", "types": [ - "normal" + "ice", + "psychic" ], + "gender": "F", "baseStats": { - "hp": 38, + "hp": 45, "attack": 30, - "defense": 41, - "special-attack": 30, - "special-defense": 41, - "speed": 60 + "defense": 15, + "special-attack": 85, + "special-defense": 65, + "speed": 65 }, "abilities": { - "0": "Pickup", - "1": "Gluttony", - "H": "Quick Feet" + "0": "Oblivious", + "1": "Forewarn", + "H": "Hydration" }, "heightm": 0.4, - "weightkg": 17.5, - "color": "Brown", + "weightkg": 6, + "color": "Pink", "evos": [ - "Linoone" + "Jynx" ], "eggGroups": [ - "Field" + "Undiscovered" ], - "otherFormes": [ - "Zigzagoon-Galar" + "canHatch": true + }, + "elekid": { + "num": 239, + "name": "elekid", + "types": [ + "electric" ], - "formeOrder": [ - "Zigzagoon", - "Zigzagoon-Galar" - ] + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 45, + "attack": 63, + "defense": 37, + "special-attack": 65, + "special-defense": 55, + "speed": 95 + }, + "abilities": { + "0": "Static", + "H": "Vital Spirit" + }, + "heightm": 0.6, + "weightkg": 23.5, + "color": "Yellow", + "evos": [ + "Electabuzz" + ], + "eggGroups": [ + "Undiscovered" + ], + "canHatch": true }, - "zigzagoongalar": { - "num": 263, - "name": "zigzagoon-galar", - "baseSpecies": "Zigzagoon", - "forme": "Galar", + "magby": { + "num": 240, + "name": "magby", "types": [ - "dark", - "normal" + "fire" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 38, - "attack": 30, - "defense": 41, - "special-attack": 30, - "special-defense": 41, - "speed": 60 + "hp": 45, + "attack": 75, + "defense": 37, + "special-attack": 70, + "special-defense": 55, + "speed": 83 }, "abilities": { - "0": "Pickup", - "1": "Gluttony", - "H": "Quick Feet" + "0": "Flame Body", + "H": "Vital Spirit" }, - "heightm": 0.4, - "weightkg": 17.5, - "color": "White", + "heightm": 0.7, + "weightkg": 21.4, + "color": "Red", "evos": [ - "Linoone-Galar" + "Magmar" ], "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "canHatch": true }, - "linoone": { - "num": 264, - "name": "linoone", + "miltank": { + "num": 241, + "name": "miltank", "types": [ "normal" ], + "gender": "F", "baseStats": { - "hp": 78, - "attack": 70, - "defense": 61, - "special-attack": 50, - "special-defense": 61, + "hp": 95, + "attack": 80, + "defense": 105, + "special-attack": 40, + "special-defense": 70, "speed": 100 }, "abilities": { - "0": "Pickup", - "1": "Gluttony", - "H": "Quick Feet" + "0": "Thick Fat", + "1": "Scrappy", + "H": "Sap Sipper" }, - "heightm": 0.5, - "weightkg": 32.5, - "color": "White", - "prevo": "Zigzagoon", - "evoLevel": 20, + "heightm": 1.2, + "weightkg": 75.5, + "color": "Pink", "eggGroups": [ "Field" - ], - "otherFormes": [ - "Linoone-Galar" - ], - "formeOrder": [ - "Linoone", - "Linoone-Galar" ] }, - "linoonegalar": { - "num": 264, - "name": "linoone-galar", - "baseSpecies": "Linoone", - "forme": "Galar", + "blissey": { + "num": 242, + "name": "blissey", "types": [ - "dark", "normal" ], + "gender": "F", "baseStats": { - "hp": 78, - "attack": 70, - "defense": 61, - "special-attack": 50, - "special-defense": 61, - "speed": 100 + "hp": 255, + "attack": 10, + "defense": 10, + "special-attack": 75, + "special-defense": 135, + "speed": 55 }, "abilities": { - "0": "Pickup", - "1": "Gluttony", - "H": "Quick Feet" + "0": "Natural Cure", + "1": "Serene Grace", + "H": "Healer" }, - "heightm": 0.5, - "weightkg": 32.5, - "color": "White", - "prevo": "Zigzagoon-Galar", - "evoLevel": 20, - "evos": [ - "Obstagoon" - ], + "heightm": 1.5, + "weightkg": 46.8, + "color": "Pink", + "prevo": "Chansey", + "evoType": "levelFriendship", "eggGroups": [ - "Field" + "Fairy" ] }, - "wurmple": { - "num": 265, - "name": "wurmple", + "raikou": { + "num": 243, + "name": "raikou", "types": [ - "bug" + "electric" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 45, - "defense": 35, - "special-attack": 20, - "special-defense": 30, - "speed": 20 + "hp": 90, + "attack": 85, + "defense": 75, + "special-attack": 115, + "special-defense": 100, + "speed": 115 }, "abilities": { - "0": "Shield Dust", - "H": "Run Away" + "0": "Pressure", + "H": "Inner Focus" }, - "heightm": 0.3, - "weightkg": 3.6, - "color": "Red", - "evos": [ - "Silcoon", - "Cascoon" + "heightm": 1.9, + "weightkg": 178, + "color": "Yellow", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "silcoon": { - "num": 266, - "name": "silcoon", + "entei": { + "num": 244, + "name": "entei", "types": [ - "bug" + "fire" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 35, - "defense": 55, - "special-attack": 25, - "special-defense": 25, - "speed": 15 + "hp": 115, + "attack": 115, + "defense": 85, + "special-attack": 90, + "special-defense": 75, + "speed": 100 }, "abilities": { - "0": "Shed Skin" + "0": "Pressure", + "H": "Inner Focus" }, - "heightm": 0.6, - "weightkg": 10, - "color": "White", - "prevo": "Wurmple", - "evoLevel": 7, - "evos": [ - "Beautifly" + "heightm": 2.1, + "weightkg": 198, + "color": "Brown", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "beautifly": { - "num": 267, - "name": "beautifly", + "suicune": { + "num": 245, + "name": "suicune", "types": [ - "bug", - "flying" + "water" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 70, - "defense": 50, - "special-attack": 100, - "special-defense": 50, - "speed": 65 + "hp": 100, + "attack": 75, + "defense": 115, + "special-attack": 90, + "special-defense": 115, + "speed": 85 }, "abilities": { - "0": "Swarm", - "H": "Rivalry" + "0": "Pressure", + "H": "Inner Focus" }, - "heightm": 1, - "weightkg": 28.4, - "color": "Yellow", - "prevo": "Silcoon", - "evoLevel": 10, + "heightm": 2, + "weightkg": 187, + "color": "Blue", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "cascoon": { - "num": 268, - "name": "cascoon", + "larvitar": { + "num": 246, + "name": "larvitar", "types": [ - "bug" + "rock", + "ground" ], "baseStats": { "hp": 50, - "attack": 35, - "defense": 55, - "special-attack": 25, - "special-defense": 25, - "speed": 15 + "attack": 64, + "defense": 50, + "special-attack": 45, + "special-defense": 50, + "speed": 41 }, "abilities": { - "0": "Shed Skin" + "0": "Guts", + "H": "Sand Veil" }, - "heightm": 0.7, - "weightkg": 11.5, - "color": "Purple", - "prevo": "Wurmple", - "evoLevel": 7, + "heightm": 0.6, + "weightkg": 72, + "color": "Green", "evos": [ - "Dustox" + "Pupitar" ], "eggGroups": [ - "Bug" + "Monster" ] }, - "dustox": { - "num": 269, - "name": "dustox", + "pupitar": { + "num": 247, + "name": "pupitar", "types": [ - "bug", - "poison" + "rock", + "ground" ], "baseStats": { - "hp": 60, - "attack": 50, + "hp": 70, + "attack": 84, "defense": 70, - "special-attack": 50, - "special-defense": 90, - "speed": 65 + "special-attack": 65, + "special-defense": 70, + "speed": 51 }, "abilities": { - "0": "Shield Dust", - "H": "Compound Eyes" + "0": "Shed Skin" }, "heightm": 1.2, - "weightkg": 31.6, - "color": "Green", - "prevo": "Cascoon", - "evoLevel": 10, - "eggGroups": [ - "Bug" - ] - }, - "lotad": { - "num": 270, - "name": "lotad", - "types": [ - "water", - "grass" - ], - "baseStats": { - "hp": 40, - "attack": 30, - "defense": 30, - "special-attack": 40, - "special-defense": 50, - "speed": 30 - }, - "abilities": { - "0": "Swift Swim", - "1": "Rain Dish", - "H": "Own Tempo" - }, - "heightm": 0.5, - "weightkg": 2.6, - "color": "Green", + "weightkg": 152, + "color": "Gray", + "prevo": "Larvitar", + "evoLevel": 30, "evos": [ - "Lombre" + "Tyranitar" ], "eggGroups": [ - "Water 1", - "Grass" + "Monster" ] }, - "lombre": { - "num": 271, - "name": "lombre", + "tyranitar": { + "num": 248, + "name": "tyranitar", "types": [ - "water", - "grass" + "rock", + "dark" ], "baseStats": { - "hp": 60, - "attack": 50, - "defense": 50, - "special-attack": 60, - "special-defense": 70, - "speed": 50 + "hp": 100, + "attack": 134, + "defense": 110, + "special-attack": 95, + "special-defense": 100, + "speed": 61 }, "abilities": { - "0": "Swift Swim", - "1": "Rain Dish", - "H": "Own Tempo" + "0": "Sand Stream", + "H": "Unnerve" }, - "heightm": 1.2, - "weightkg": 32.5, + "heightm": 2, + "weightkg": 202, "color": "Green", - "prevo": "Lotad", - "evoLevel": 14, - "evos": [ - "Ludicolo" - ], + "prevo": "Pupitar", + "evoLevel": 55, "eggGroups": [ - "Water 1", - "Grass" + "Monster" + ], + "otherFormes": [ + "Tyranitar-Mega" + ], + "formeOrder": [ + "Tyranitar", + "Tyranitar-Mega" ] }, - "ludicolo": { - "num": 272, - "name": "ludicolo", + "tyranitarmega": { + "num": 248, + "name": "tyranitar-mega", + "baseSpecies": "Tyranitar", + "forme": "Mega", "types": [ - "water", - "grass" + "rock", + "dark" ], "baseStats": { - "hp": 80, - "attack": 70, - "defense": 70, - "special-attack": 90, - "special-defense": 100, - "speed": 70 + "hp": 100, + "attack": 164, + "defense": 150, + "special-attack": 95, + "special-defense": 120, + "speed": 71 }, "abilities": { - "0": "Swift Swim", - "1": "Rain Dish", - "H": "Own Tempo" + "0": "Sand Stream" }, - "heightm": 1.5, - "weightkg": 55, + "heightm": 2.5, + "weightkg": 255, "color": "Green", - "prevo": "Lombre", - "evoType": "useItem", - "evoItem": "Water Stone", "eggGroups": [ - "Water 1", - "Grass" - ] + "Monster" + ], + "requiredItem": "Tyranitarite" }, - "seedot": { - "num": 273, - "name": "seedot", + "lugia": { + "num": 249, + "name": "lugia", "types": [ - "grass" + "psychic", + "flying" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 40, - "defense": 50, - "special-attack": 30, - "special-defense": 30, - "speed": 30 + "hp": 106, + "attack": 90, + "defense": 130, + "special-attack": 90, + "special-defense": 154, + "speed": 110 }, "abilities": { - "0": "Chlorophyll", - "1": "Early Bird", - "H": "Pickpocket" + "0": "Pressure", + "H": "Multiscale" }, - "heightm": 0.5, - "weightkg": 4, - "color": "Brown", - "evos": [ - "Nuzleaf" + "heightm": 5.2, + "weightkg": 216, + "color": "White", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Field", - "Grass" + "Undiscovered" ] }, - "nuzleaf": { - "num": 274, - "name": "nuzleaf", + "hooh": { + "num": 250, + "name": "ho-oh", "types": [ - "grass", - "dark" + "fire", + "flying" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 70, - "defense": 40, - "special-attack": 60, - "special-defense": 40, - "speed": 60 + "hp": 106, + "attack": 130, + "defense": 90, + "special-attack": 110, + "special-defense": 154, + "speed": 90 }, "abilities": { - "0": "Chlorophyll", - "1": "Early Bird", - "H": "Pickpocket" + "0": "Pressure", + "H": "Regenerator" }, - "heightm": 1, - "weightkg": 28, - "color": "Brown", - "prevo": "Seedot", - "evoLevel": 14, - "evos": [ - "Shiftry" + "heightm": 3.8, + "weightkg": 199, + "color": "Red", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Field", - "Grass" + "Undiscovered" ] }, - "shiftry": { - "num": 275, - "name": "shiftry", + "celebi": { + "num": 251, + "name": "celebi", "types": [ - "grass", - "dark" + "psychic", + "grass" ], + "gender": "N", "baseStats": { - "hp": 90, + "hp": 100, "attack": 100, - "defense": 60, - "special-attack": 90, - "special-defense": 60, - "speed": 80 + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 }, "abilities": { - "0": "Chlorophyll", - "1": "Wind Rider", - "H": "Pickpocket" + "0": "Natural Cure" }, - "heightm": 1.3, - "weightkg": 59.6, - "color": "Brown", - "prevo": "Nuzleaf", - "evoType": "useItem", - "evoItem": "Leaf Stone", + "heightm": 0.6, + "weightkg": 5, + "color": "Green", + "tags": [ + "Mythical" + ], "eggGroups": [ - "Field", - "Grass" + "Undiscovered" ] }, - "taillow": { - "num": 276, - "name": "taillow", + "treecko": { + "num": 252, + "name": "treecko", "types": [ - "normal", - "flying" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 40, - "attack": 55, - "defense": 30, - "special-attack": 30, - "special-defense": 30, - "speed": 85 + "attack": 45, + "defense": 35, + "special-attack": 65, + "special-defense": 55, + "speed": 70 }, "abilities": { - "0": "Guts", - "H": "Scrappy" + "0": "Overgrow", + "H": "Unburden" }, - "heightm": 0.3, - "weightkg": 2.3, - "color": "Blue", + "heightm": 0.5, + "weightkg": 5, + "color": "Green", "evos": [ - "Swellow" + "Grovyle" ], "eggGroups": [ - "Flying" + "Monster", + "Dragon" ] }, - "swellow": { - "num": 277, - "name": "swellow", + "grovyle": { + "num": 253, + "name": "grovyle", "types": [ - "normal", - "flying" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 85, - "defense": 60, - "special-attack": 75, - "special-defense": 50, - "speed": 125 + "hp": 50, + "attack": 65, + "defense": 45, + "special-attack": 85, + "special-defense": 65, + "speed": 95 }, "abilities": { - "0": "Guts", - "H": "Scrappy" + "0": "Overgrow", + "H": "Unburden" }, - "heightm": 0.7, - "weightkg": 19.8, - "color": "Blue", - "prevo": "Taillow", - "evoLevel": 22, + "heightm": 0.9, + "weightkg": 21.6, + "color": "Green", + "prevo": "Treecko", + "evoLevel": 16, + "evos": [ + "Sceptile" + ], "eggGroups": [ - "Flying" + "Monster", + "Dragon" ] }, - "wingull": { - "num": 278, - "name": "wingull", + "sceptile": { + "num": 254, + "name": "sceptile", "types": [ - "water", - "flying" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 40, - "attack": 30, - "defense": 30, - "special-attack": 55, - "special-defense": 30, - "speed": 85 + "hp": 70, + "attack": 85, + "defense": 65, + "special-attack": 105, + "special-defense": 85, + "speed": 120 }, "abilities": { - "0": "Keen Eye", - "1": "Hydration", - "H": "Rain Dish" + "0": "Overgrow", + "H": "Unburden" }, - "heightm": 0.6, - "weightkg": 9.5, - "color": "White", - "evos": [ - "Pelipper" - ], + "heightm": 1.7, + "weightkg": 52.2, + "color": "Green", + "prevo": "Grovyle", + "evoLevel": 36, "eggGroups": [ - "Water 1", - "Flying" + "Monster", + "Dragon" + ], + "otherFormes": [ + "Sceptile-Mega" + ], + "formeOrder": [ + "Sceptile", + "Sceptile-Mega" ] }, - "pelipper": { - "num": 279, - "name": "pelipper", + "sceptilemega": { + "num": 254, + "name": "sceptile-mega", + "baseSpecies": "Sceptile", + "forme": "Mega", "types": [ - "water", - "flying" + "grass", + "dragon" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 50, - "defense": 100, - "special-attack": 95, - "special-defense": 70, - "speed": 65 + "hp": 70, + "attack": 110, + "defense": 75, + "special-attack": 145, + "special-defense": 85, + "speed": 145 }, "abilities": { - "0": "Keen Eye", - "1": "Drizzle", - "H": "Rain Dish" + "0": "Lightning Rod" }, - "heightm": 1.2, - "weightkg": 28, - "color": "Yellow", - "prevo": "Wingull", - "evoLevel": 25, + "heightm": 1.9, + "weightkg": 55.2, + "color": "Green", "eggGroups": [ - "Water 1", - "Flying" - ] + "Monster", + "Dragon" + ], + "requiredItem": "Sceptilite" }, - "ralts": { - "num": 280, - "name": "ralts", + "torchic": { + "num": 255, + "name": "torchic", "types": [ - "psychic", - "fairy" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 28, - "attack": 25, - "defense": 25, - "special-attack": 45, - "special-defense": 35, - "speed": 40 + "hp": 45, + "attack": 60, + "defense": 40, + "special-attack": 70, + "special-defense": 50, + "speed": 45 }, "abilities": { - "0": "Synchronize", - "1": "Trace", - "H": "Telepathy" + "0": "Blaze", + "H": "Speed Boost" }, "heightm": 0.4, - "weightkg": 6.6, - "color": "White", + "weightkg": 2.5, + "color": "Red", "evos": [ - "Kirlia" + "Combusken" ], "eggGroups": [ - "Human-Like", - "Amorphous" + "Field" ] }, - "kirlia": { - "num": 281, - "name": "kirlia", + "combusken": { + "num": 256, + "name": "combusken", "types": [ - "psychic", - "fairy" + "fire", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 38, - "attack": 35, - "defense": 35, - "special-attack": 65, - "special-defense": 55, - "speed": 50 + "hp": 60, + "attack": 85, + "defense": 60, + "special-attack": 85, + "special-defense": 60, + "speed": 55 }, "abilities": { - "0": "Synchronize", - "1": "Trace", - "H": "Telepathy" + "0": "Blaze", + "H": "Speed Boost" }, - "heightm": 0.8, - "weightkg": 20.2, - "color": "White", - "prevo": "Ralts", - "evoLevel": 20, + "heightm": 0.9, + "weightkg": 19.5, + "color": "Red", + "prevo": "Torchic", + "evoLevel": 16, "evos": [ - "Gardevoir", - "Gallade" + "Blaziken" ], "eggGroups": [ - "Human-Like", - "Amorphous" + "Field" ] }, - "gardevoir": { - "num": 282, - "name": "gardevoir", + "blaziken": { + "num": 257, + "name": "blaziken", "types": [ - "psychic", - "fairy" + "fire", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 65, - "defense": 65, - "special-attack": 125, - "special-defense": 115, + "hp": 80, + "attack": 120, + "defense": 70, + "special-attack": 110, + "special-defense": 70, "speed": 80 }, "abilities": { - "0": "Synchronize", - "1": "Trace", - "H": "Telepathy" + "0": "Blaze", + "H": "Speed Boost" }, - "heightm": 1.6, - "weightkg": 48.4, - "color": "White", - "prevo": "Kirlia", - "evoLevel": 30, + "heightm": 1.9, + "weightkg": 52, + "color": "Red", + "prevo": "Combusken", + "evoLevel": 36, "eggGroups": [ - "Human-Like", - "Amorphous" + "Field" ], "otherFormes": [ - "Gardevoir-Mega" + "Blaziken-Mega" ], "formeOrder": [ - "Gardevoir", - "Gardevoir-Mega" + "Blaziken", + "Blaziken-Mega" ] }, - "gardevoirmega": { - "num": 282, - "name": "gardevoir-mega", - "baseSpecies": "Gardevoir", + "blazikenmega": { + "num": 257, + "name": "blaziken-mega", + "baseSpecies": "Blaziken", "forme": "Mega", "types": [ - "psychic", - "fairy" + "fire", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 85, - "defense": 65, - "special-attack": 165, - "special-defense": 135, + "hp": 80, + "attack": 160, + "defense": 80, + "special-attack": 130, + "special-defense": 80, "speed": 100 }, "abilities": { - "0": "Pixilate" + "0": "Speed Boost" }, - "heightm": 1.6, - "weightkg": 48.4, - "color": "White", + "heightm": 1.9, + "weightkg": 52, + "color": "Red", "eggGroups": [ - "Amorphous" + "Field" ], - "requiredItem": "Gardevoirite" + "requiredItem": "Blazikenite" }, - "surskit": { - "num": 283, - "name": "surskit", + "mudkip": { + "num": 258, + "name": "mudkip", "types": [ - "bug", "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 40, - "attack": 30, - "defense": 32, + "hp": 50, + "attack": 70, + "defense": 50, "special-attack": 50, - "special-defense": 52, - "speed": 65 + "special-defense": 50, + "speed": 40 }, "abilities": { - "0": "Swift Swim", - "H": "Rain Dish" + "0": "Torrent", + "H": "Damp" }, - "heightm": 0.5, - "weightkg": 1.7, + "heightm": 0.4, + "weightkg": 7.6, "color": "Blue", "evos": [ - "Masquerain" + "Marshtomp" ], "eggGroups": [ - "Water 1", - "Bug" + "Monster", + "Water 1" ] }, - "masquerain": { - "num": 284, - "name": "masquerain", + "marshtomp": { + "num": 259, + "name": "marshtomp", "types": [ - "bug", - "flying" + "water", + "ground" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 70, - "attack": 60, - "defense": 62, - "special-attack": 100, - "special-defense": 82, - "speed": 80 + "attack": 85, + "defense": 70, + "special-attack": 60, + "special-defense": 70, + "speed": 50 }, "abilities": { - "0": "Intimidate", - "H": "Unnerve" + "0": "Torrent", + "H": "Damp" }, - "heightm": 0.8, - "weightkg": 3.6, + "heightm": 0.7, + "weightkg": 28, "color": "Blue", - "prevo": "Surskit", - "evoLevel": 22, + "prevo": "Mudkip", + "evoLevel": 16, + "evos": [ + "Swampert" + ], "eggGroups": [ - "Water 1", - "Bug" + "Monster", + "Water 1" ] }, - "shroomish": { - "num": 285, - "name": "shroomish", + "swampert": { + "num": 260, + "name": "swampert", "types": [ - "grass" + "water", + "ground" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 40, - "defense": 60, - "special-attack": 40, - "special-defense": 60, - "speed": 35 + "hp": 100, + "attack": 110, + "defense": 90, + "special-attack": 85, + "special-defense": 90, + "speed": 60 }, "abilities": { - "0": "Effect Spore", - "1": "Poison Heal", - "H": "Quick Feet" + "0": "Torrent", + "H": "Damp" }, - "heightm": 0.4, - "weightkg": 4.5, - "color": "Brown", - "evos": [ - "Breloom" - ], + "heightm": 1.5, + "weightkg": 81.9, + "color": "Blue", + "prevo": "Marshtomp", + "evoLevel": 36, "eggGroups": [ - "Fairy", - "Grass" + "Monster", + "Water 1" + ], + "otherFormes": [ + "Swampert-Mega" + ], + "formeOrder": [ + "Swampert", + "Swampert-Mega" ] }, - "breloom": { - "num": 286, - "name": "breloom", + "swampertmega": { + "num": 260, + "name": "swampert-mega", + "baseSpecies": "Swampert", + "forme": "Mega", "types": [ - "grass", - "fighting" + "water", + "ground" ], - "baseStats": { - "hp": 60, - "attack": 130, - "defense": 80, - "special-attack": 60, - "special-defense": 60, + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 100, + "attack": 150, + "defense": 110, + "special-attack": 95, + "special-defense": 110, "speed": 70 }, "abilities": { - "0": "Effect Spore", - "1": "Poison Heal", - "H": "Technician" + "0": "Swift Swim" }, - "heightm": 1.2, - "weightkg": 39.2, - "color": "Green", - "prevo": "Shroomish", - "evoLevel": 23, + "heightm": 1.9, + "weightkg": 102, + "color": "Blue", "eggGroups": [ - "Fairy", - "Grass" - ] + "Monster", + "Water 1" + ], + "requiredItem": "Swampertite" }, - "slakoth": { - "num": 287, - "name": "slakoth", + "poochyena": { + "num": 261, + "name": "poochyena", "types": [ - "normal" + "dark" ], "baseStats": { - "hp": 60, - "attack": 60, - "defense": 60, - "special-attack": 35, - "special-defense": 35, - "speed": 30 + "hp": 35, + "attack": 55, + "defense": 35, + "special-attack": 30, + "special-defense": 30, + "speed": 35 }, "abilities": { - "0": "Truant" + "0": "Run Away", + "1": "Quick Feet", + "H": "Rattled" }, - "heightm": 0.8, - "weightkg": 24, - "color": "Brown", + "heightm": 0.5, + "weightkg": 13.6, + "color": "Gray", "evos": [ - "Vigoroth" + "Mightyena" ], "eggGroups": [ "Field" ] }, - "vigoroth": { - "num": 288, - "name": "vigoroth", + "mightyena": { + "num": 262, + "name": "mightyena", "types": [ - "normal" + "dark" ], "baseStats": { - "hp": 80, - "attack": 80, - "defense": 80, - "special-attack": 55, - "special-defense": 55, - "speed": 90 + "hp": 70, + "attack": 90, + "defense": 70, + "special-attack": 60, + "special-defense": 60, + "speed": 70 }, "abilities": { - "0": "Vital Spirit" + "0": "Intimidate", + "1": "Quick Feet", + "H": "Moxie" }, - "heightm": 1.4, - "weightkg": 46.5, - "color": "White", - "prevo": "Slakoth", + "heightm": 1, + "weightkg": 37, + "color": "Gray", + "prevo": "Poochyena", "evoLevel": 18, - "evos": [ - "Slaking" - ], "eggGroups": [ "Field" ] }, - "slaking": { - "num": 289, - "name": "slaking", + "zigzagoon": { + "num": 263, + "name": "zigzagoon", "types": [ "normal" ], "baseStats": { - "hp": 150, - "attack": 160, - "defense": 100, - "special-attack": 95, - "special-defense": 65, - "speed": 100 + "hp": 38, + "attack": 30, + "defense": 41, + "special-attack": 30, + "special-defense": 41, + "speed": 60 }, "abilities": { - "0": "Truant" + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" }, - "heightm": 2, - "weightkg": 130.5, + "heightm": 0.4, + "weightkg": 17.5, "color": "Brown", - "prevo": "Vigoroth", - "evoLevel": 36, + "evos": [ + "Linoone" + ], "eggGroups": [ "Field" + ], + "otherFormes": [ + "Zigzagoon-Galar" + ], + "formeOrder": [ + "Zigzagoon", + "Zigzagoon-Galar" ] }, - "nincada": { - "num": 290, - "name": "nincada", + "zigzagoongalar": { + "num": 263, + "name": "zigzagoon-galar", + "baseSpecies": "Zigzagoon", + "forme": "Galar", "types": [ - "bug", - "ground" + "dark", + "normal" ], "baseStats": { - "hp": 31, - "attack": 45, - "defense": 90, + "hp": 38, + "attack": 30, + "defense": 41, "special-attack": 30, - "special-defense": 30, - "speed": 40 + "special-defense": 41, + "speed": 60 }, "abilities": { - "0": "Compound Eyes", - "H": "Run Away" + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" }, - "heightm": 0.5, - "weightkg": 5.5, - "color": "Gray", + "heightm": 0.4, + "weightkg": 17.5, + "color": "White", "evos": [ - "Ninjask", - "Shedinja" + "Linoone-Galar" ], "eggGroups": [ - "Bug" + "Field" ] }, - "ninjask": { - "num": 291, - "name": "ninjask", + "linoone": { + "num": 264, + "name": "linoone", "types": [ - "bug", - "flying" + "normal" ], "baseStats": { - "hp": 61, - "attack": 90, - "defense": 45, + "hp": 78, + "attack": 70, + "defense": 61, "special-attack": 50, - "special-defense": 50, - "speed": 160 + "special-defense": 61, + "speed": 100 }, "abilities": { - "0": "Speed Boost", - "H": "Infiltrator" + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" }, - "heightm": 0.8, - "weightkg": 12, - "color": "Yellow", - "prevo": "Nincada", + "heightm": 0.5, + "weightkg": 32.5, + "color": "White", + "prevo": "Zigzagoon", "evoLevel": 20, "eggGroups": [ - "Bug" - ] - }, - "shedinja": { - "num": 292, - "name": "shedinja", - "types": [ - "bug", - "ghost" + "Field" ], - "gender": "N", - "baseStats": { - "hp": 1, - "attack": 90, - "defense": 45, - "special-attack": 30, - "special-defense": 30, - "speed": 40 - }, - "maxHP": 1, - "abilities": { - "0": "Wonder Guard" - }, - "heightm": 0.8, - "weightkg": 1.2, - "color": "Brown", - "prevo": "Nincada", - "evoLevel": 20, - "eggGroups": [ - "Mineral" + "otherFormes": [ + "Linoone-Galar" + ], + "formeOrder": [ + "Linoone", + "Linoone-Galar" ] }, - "whismur": { - "num": 293, - "name": "whismur", + "linoonegalar": { + "num": 264, + "name": "linoone-galar", + "baseSpecies": "Linoone", + "forme": "Galar", "types": [ + "dark", "normal" ], "baseStats": { - "hp": 64, - "attack": 51, - "defense": 23, - "special-attack": 51, - "special-defense": 23, - "speed": 28 + "hp": 78, + "attack": 70, + "defense": 61, + "special-attack": 50, + "special-defense": 61, + "speed": 100 }, "abilities": { - "0": "Soundproof", - "H": "Rattled" + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" }, - "heightm": 0.6, - "weightkg": 16.3, - "color": "Pink", + "heightm": 0.5, + "weightkg": 32.5, + "color": "White", + "prevo": "Zigzagoon-Galar", + "evoLevel": 20, "evos": [ - "Loudred" + "Obstagoon" ], "eggGroups": [ - "Monster", "Field" ] }, - "loudred": { - "num": 294, - "name": "loudred", + "wurmple": { + "num": 265, + "name": "wurmple", "types": [ - "normal" + "bug" ], "baseStats": { - "hp": 84, - "attack": 71, - "defense": 43, - "special-attack": 71, - "special-defense": 43, - "speed": 48 + "hp": 45, + "attack": 45, + "defense": 35, + "special-attack": 20, + "special-defense": 30, + "speed": 20 }, "abilities": { - "0": "Soundproof", - "H": "Scrappy" + "0": "Shield Dust", + "H": "Run Away" }, - "heightm": 1, - "weightkg": 40.5, - "color": "Blue", - "prevo": "Whismur", - "evoLevel": 20, + "heightm": 0.3, + "weightkg": 3.6, + "color": "Red", "evos": [ - "Exploud" + "Silcoon", + "Cascoon" ], "eggGroups": [ - "Monster", - "Field" + "Bug" ] }, - "exploud": { - "num": 295, - "name": "exploud", + "silcoon": { + "num": 266, + "name": "silcoon", "types": [ - "normal" + "bug" ], "baseStats": { - "hp": 104, - "attack": 91, - "defense": 63, - "special-attack": 91, - "special-defense": 73, - "speed": 68 + "hp": 50, + "attack": 35, + "defense": 55, + "special-attack": 25, + "special-defense": 25, + "speed": 15 }, "abilities": { - "0": "Soundproof", - "H": "Scrappy" + "0": "Shed Skin" }, - "heightm": 1.5, - "weightkg": 84, - "color": "Blue", - "prevo": "Loudred", - "evoLevel": 40, + "heightm": 0.6, + "weightkg": 10, + "color": "White", + "prevo": "Wurmple", + "evoLevel": 7, + "evos": [ + "Beautifly" + ], "eggGroups": [ - "Monster", - "Field" + "Bug" ] }, - "makuhita": { - "num": 296, - "name": "makuhita", + "beautifly": { + "num": 267, + "name": "beautifly", "types": [ - "fighting" + "bug", + "flying" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 72, - "attack": 60, - "defense": 30, - "special-attack": 20, - "special-defense": 30, - "speed": 25 + "hp": 60, + "attack": 70, + "defense": 50, + "special-attack": 100, + "special-defense": 50, + "speed": 65 }, "abilities": { - "0": "Thick Fat", - "1": "Guts", - "H": "Sheer Force" + "0": "Swarm", + "H": "Rivalry" }, "heightm": 1, - "weightkg": 86.4, + "weightkg": 28.4, "color": "Yellow", - "evos": [ - "Hariyama" - ], + "prevo": "Silcoon", + "evoLevel": 10, "eggGroups": [ - "Human-Like" + "Bug" ] }, - "hariyama": { - "num": 297, - "name": "hariyama", + "cascoon": { + "num": 268, + "name": "cascoon", "types": [ - "fighting" + "bug" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 144, - "attack": 120, - "defense": 60, - "special-attack": 40, - "special-defense": 60, - "speed": 50 + "hp": 50, + "attack": 35, + "defense": 55, + "special-attack": 25, + "special-defense": 25, + "speed": 15 }, "abilities": { - "0": "Thick Fat", - "1": "Guts", - "H": "Sheer Force" + "0": "Shed Skin" }, - "heightm": 2.3, - "weightkg": 253.8, - "color": "Brown", - "prevo": "Makuhita", - "evoLevel": 24, + "heightm": 0.7, + "weightkg": 11.5, + "color": "Purple", + "prevo": "Wurmple", + "evoLevel": 7, + "evos": [ + "Dustox" + ], "eggGroups": [ - "Human-Like" + "Bug" ] }, - "azurill": { - "num": 298, - "name": "azurill", + "dustox": { + "num": 269, + "name": "dustox", "types": [ - "normal", - "fairy" + "bug", + "poison" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 50, - "attack": 20, - "defense": 40, - "special-attack": 20, - "special-defense": 40, - "speed": 20 + "hp": 60, + "attack": 50, + "defense": 70, + "special-attack": 50, + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Thick Fat", - "1": "Huge Power", - "H": "Sap Sipper" + "0": "Shield Dust", + "H": "Compound Eyes" }, - "heightm": 0.2, - "weightkg": 2, - "color": "Blue", - "evos": [ - "Marill" - ], + "heightm": 1.2, + "weightkg": 31.6, + "color": "Green", + "prevo": "Cascoon", + "evoLevel": 10, "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Bug" + ] }, - "nosepass": { - "num": 299, - "name": "nosepass", + "lotad": { + "num": 270, + "name": "lotad", "types": [ - "rock" + "water", + "grass" ], "baseStats": { - "hp": 30, - "attack": 45, - "defense": 135, - "special-attack": 45, - "special-defense": 90, + "hp": 40, + "attack": 30, + "defense": 30, + "special-attack": 40, + "special-defense": 50, "speed": 30 }, "abilities": { - "0": "Sturdy", - "1": "Magnet Pull", - "H": "Sand Force" + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" }, - "heightm": 1, - "weightkg": 97, - "color": "Gray", + "heightm": 0.5, + "weightkg": 2.6, + "color": "Green", "evos": [ - "Probopass" + "Lombre" ], "eggGroups": [ - "Mineral" + "Water 1", + "Grass" ] }, - "skitty": { - "num": 300, - "name": "skitty", + "lombre": { + "num": 271, + "name": "lombre", "types": [ - "normal" + "water", + "grass" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 50, - "attack": 45, - "defense": 45, - "special-attack": 35, - "special-defense": 35, + "hp": 60, + "attack": 50, + "defense": 50, + "special-attack": 60, + "special-defense": 70, "speed": 50 }, "abilities": { - "0": "Cute Charm", - "1": "Normalize", - "H": "Wonder Skin" + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" }, - "heightm": 0.6, - "weightkg": 11, - "color": "Pink", + "heightm": 1.2, + "weightkg": 32.5, + "color": "Green", + "prevo": "Lotad", + "evoLevel": 14, "evos": [ - "Delcatty" + "Ludicolo" ], "eggGroups": [ - "Field", - "Fairy" + "Water 1", + "Grass" ] }, - "delcatty": { - "num": 301, - "name": "delcatty", + "ludicolo": { + "num": 272, + "name": "ludicolo", "types": [ - "normal" + "water", + "grass" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 70, - "attack": 65, - "defense": 65, - "special-attack": 55, - "special-defense": 55, - "speed": 90 + "hp": 80, + "attack": 70, + "defense": 70, + "special-attack": 90, + "special-defense": 100, + "speed": 70 }, "abilities": { - "0": "Cute Charm", - "1": "Normalize", - "H": "Wonder Skin" + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" }, - "heightm": 1.1, - "weightkg": 32.6, - "color": "Purple", - "prevo": "Skitty", + "heightm": 1.5, + "weightkg": 55, + "color": "Green", + "prevo": "Lombre", "evoType": "useItem", - "evoItem": "Moon Stone", + "evoItem": "Water Stone", "eggGroups": [ - "Field", - "Fairy" + "Water 1", + "Grass" ] }, - "sableye": { - "num": 302, - "name": "sableye", + "seedot": { + "num": 273, + "name": "seedot", "types": [ - "dark", - "ghost" + "grass" ], "baseStats": { - "hp": 50, - "attack": 75, - "defense": 75, - "special-attack": 65, - "special-defense": 65, - "speed": 50 + "hp": 40, + "attack": 40, + "defense": 50, + "special-attack": 30, + "special-defense": 30, + "speed": 30 }, "abilities": { - "0": "Keen Eye", - "1": "Stall", - "H": "Prankster" + "0": "Chlorophyll", + "1": "Early Bird", + "H": "Pickpocket" }, "heightm": 0.5, - "weightkg": 11, - "color": "Purple", - "eggGroups": [ - "Human-Like" - ], - "otherFormes": [ - "Sableye-Mega" + "weightkg": 4, + "color": "Brown", + "evos": [ + "Nuzleaf" ], - "formeOrder": [ - "Sableye", - "Sableye-Mega" + "eggGroups": [ + "Field", + "Grass" ] }, - "sableyemega": { - "num": 302, - "name": "sableye-mega", - "baseSpecies": "Sableye", - "forme": "Mega", + "nuzleaf": { + "num": 274, + "name": "nuzleaf", "types": [ - "dark", - "ghost" + "grass", + "dark" ], "baseStats": { - "hp": 50, - "attack": 85, - "defense": 125, - "special-attack": 85, - "special-defense": 115, - "speed": 20 + "hp": 70, + "attack": 70, + "defense": 40, + "special-attack": 60, + "special-defense": 40, + "speed": 60 }, "abilities": { - "0": "Magic Bounce" + "0": "Chlorophyll", + "1": "Early Bird", + "H": "Pickpocket" }, - "heightm": 0.5, - "weightkg": 161, - "color": "Purple", - "eggGroups": [ - "Human-Like" + "heightm": 1, + "weightkg": 28, + "color": "Brown", + "prevo": "Seedot", + "evoLevel": 14, + "evos": [ + "Shiftry" ], - "requiredItem": "Sablenite" + "eggGroups": [ + "Field", + "Grass" + ] }, - "mawile": { - "num": 303, - "name": "mawile", + "shiftry": { + "num": 275, + "name": "shiftry", "types": [ - "steel", - "fairy" + "grass", + "dark" ], "baseStats": { - "hp": 50, - "attack": 85, - "defense": 85, - "special-attack": 55, - "special-defense": 55, - "speed": 50 + "hp": 90, + "attack": 100, + "defense": 60, + "special-attack": 90, + "special-defense": 60, + "speed": 80 }, "abilities": { - "0": "Hyper Cutter", - "1": "Intimidate", - "H": "Sheer Force" + "0": "Chlorophyll", + "1": "Wind Rider", + "H": "Pickpocket" }, - "heightm": 0.6, - "weightkg": 11.5, - "color": "Black", + "heightm": 1.3, + "weightkg": 59.6, + "color": "Brown", + "prevo": "Nuzleaf", + "evoType": "useItem", + "evoItem": "Leaf Stone", "eggGroups": [ "Field", - "Fairy" - ], - "otherFormes": [ - "Mawile-Mega" - ], - "formeOrder": [ - "Mawile", - "Mawile-Mega" + "Grass" ] }, - "mawilemega": { - "num": 303, - "name": "mawile-mega", - "baseSpecies": "Mawile", - "forme": "Mega", + "taillow": { + "num": 276, + "name": "taillow", "types": [ - "steel", - "fairy" + "normal", + "flying" ], "baseStats": { - "hp": 50, - "attack": 105, - "defense": 125, - "special-attack": 55, - "special-defense": 95, - "speed": 50 + "hp": 40, + "attack": 55, + "defense": 30, + "special-attack": 30, + "special-defense": 30, + "speed": 85 }, "abilities": { - "0": "Huge Power" + "0": "Guts", + "H": "Scrappy" }, - "heightm": 1, - "weightkg": 23.5, - "color": "Black", - "eggGroups": [ - "Field", - "Fairy" + "heightm": 0.3, + "weightkg": 2.3, + "color": "Blue", + "evos": [ + "Swellow" ], - "requiredItem": "Mawilite" + "eggGroups": [ + "Flying" + ] }, - "aron": { - "num": 304, - "name": "aron", + "swellow": { + "num": 277, + "name": "swellow", "types": [ - "steel", - "rock" + "normal", + "flying" ], "baseStats": { - "hp": 50, - "attack": 70, - "defense": 100, - "special-attack": 40, - "special-defense": 40, - "speed": 30 + "hp": 60, + "attack": 85, + "defense": 60, + "special-attack": 75, + "special-defense": 50, + "speed": 125 }, "abilities": { - "0": "Sturdy", - "1": "Rock Head", - "H": "Heavy Metal" + "0": "Guts", + "H": "Scrappy" }, - "heightm": 0.4, - "weightkg": 60, - "color": "Gray", - "evos": [ - "Lairon" - ], + "heightm": 0.7, + "weightkg": 19.8, + "color": "Blue", + "prevo": "Taillow", + "evoLevel": 22, "eggGroups": [ - "Monster" + "Flying" ] }, - "lairon": { - "num": 305, - "name": "lairon", + "wingull": { + "num": 278, + "name": "wingull", "types": [ - "steel", - "rock" + "water", + "flying" ], "baseStats": { - "hp": 60, - "attack": 90, - "defense": 140, - "special-attack": 50, - "special-defense": 50, - "speed": 40 + "hp": 40, + "attack": 30, + "defense": 30, + "special-attack": 55, + "special-defense": 30, + "speed": 85 }, "abilities": { - "0": "Sturdy", - "1": "Rock Head", - "H": "Heavy Metal" + "0": "Keen Eye", + "1": "Hydration", + "H": "Rain Dish" }, - "heightm": 0.9, - "weightkg": 120, - "color": "Gray", - "prevo": "Aron", - "evoLevel": 32, + "heightm": 0.6, + "weightkg": 9.5, + "color": "White", "evos": [ - "Aggron" + "Pelipper" ], "eggGroups": [ - "Monster" + "Water 1", + "Flying" ] }, - "aggron": { - "num": 306, - "name": "aggron", + "pelipper": { + "num": 279, + "name": "pelipper", "types": [ - "steel", - "rock" + "water", + "flying" ], "baseStats": { - "hp": 70, - "attack": 110, - "defense": 180, - "special-attack": 60, - "special-defense": 60, - "speed": 50 + "hp": 60, + "attack": 50, + "defense": 100, + "special-attack": 95, + "special-defense": 70, + "speed": 65 }, "abilities": { - "0": "Sturdy", - "1": "Rock Head", - "H": "Heavy Metal" + "0": "Keen Eye", + "1": "Drizzle", + "H": "Rain Dish" }, - "heightm": 2.1, - "weightkg": 360, - "color": "Gray", - "prevo": "Lairon", - "evoLevel": 42, + "heightm": 1.2, + "weightkg": 28, + "color": "Yellow", + "prevo": "Wingull", + "evoLevel": 25, "eggGroups": [ - "Monster" - ], - "otherFormes": [ - "Aggron-Mega" - ], - "formeOrder": [ - "Aggron", - "Aggron-Mega" + "Water 1", + "Flying" ] }, - "aggronmega": { - "num": 306, - "name": "aggron-mega", - "baseSpecies": "Aggron", - "forme": "Mega", + "ralts": { + "num": 280, + "name": "ralts", "types": [ - "steel" + "psychic", + "fairy" ], "baseStats": { - "hp": 70, - "attack": 140, - "defense": 230, - "special-attack": 60, - "special-defense": 80, - "speed": 50 + "hp": 28, + "attack": 25, + "defense": 25, + "special-attack": 45, + "special-defense": 35, + "speed": 40 }, "abilities": { - "0": "Filter" + "0": "Synchronize", + "1": "Trace", + "H": "Telepathy" }, - "heightm": 2.2, - "weightkg": 395, - "color": "Gray", - "eggGroups": [ - "Monster" + "heightm": 0.4, + "weightkg": 6.6, + "color": "White", + "evos": [ + "Kirlia" ], - "requiredItem": "Aggronite" + "eggGroups": [ + "Human-Like", + "Amorphous" + ] }, - "meditite": { - "num": 307, - "name": "meditite", + "kirlia": { + "num": 281, + "name": "kirlia", "types": [ - "fighting", - "psychic" + "psychic", + "fairy" ], "baseStats": { - "hp": 30, - "attack": 40, - "defense": 55, - "special-attack": 40, + "hp": 38, + "attack": 35, + "defense": 35, + "special-attack": 65, "special-defense": 55, - "speed": 60 + "speed": 50 }, "abilities": { - "0": "Pure Power", + "0": "Synchronize", + "1": "Trace", "H": "Telepathy" }, - "heightm": 0.6, - "weightkg": 11.2, - "color": "Blue", + "heightm": 0.8, + "weightkg": 20.2, + "color": "White", + "prevo": "Ralts", + "evoLevel": 20, "evos": [ - "Medicham" + "Gardevoir", + "Gallade" ], "eggGroups": [ - "Human-Like" + "Human-Like", + "Amorphous" ] }, - "medicham": { - "num": 308, - "name": "medicham", + "gardevoir": { + "num": 282, + "name": "gardevoir", "types": [ - "fighting", - "psychic" + "psychic", + "fairy" ], "baseStats": { - "hp": 60, - "attack": 60, - "defense": 75, - "special-attack": 60, - "special-defense": 75, + "hp": 68, + "attack": 65, + "defense": 65, + "special-attack": 125, + "special-defense": 115, "speed": 80 }, "abilities": { - "0": "Pure Power", + "0": "Synchronize", + "1": "Trace", "H": "Telepathy" }, - "heightm": 1.3, - "weightkg": 31.5, - "color": "Red", - "prevo": "Meditite", - "evoLevel": 37, + "heightm": 1.6, + "weightkg": 48.4, + "color": "White", + "prevo": "Kirlia", + "evoLevel": 30, "eggGroups": [ - "Human-Like" + "Human-Like", + "Amorphous" ], "otherFormes": [ - "Medicham-Mega" + "Gardevoir-Mega" ], "formeOrder": [ - "Medicham", - "Medicham-Mega" + "Gardevoir", + "Gardevoir-Mega" ] }, - "medichammega": { - "num": 308, - "name": "medicham-mega", - "baseSpecies": "Medicham", + "gardevoirmega": { + "num": 282, + "name": "gardevoir-mega", + "baseSpecies": "Gardevoir", "forme": "Mega", "types": [ - "fighting", - "psychic" + "psychic", + "fairy" ], "baseStats": { - "hp": 60, - "attack": 100, - "defense": 85, - "special-attack": 80, - "special-defense": 85, + "hp": 68, + "attack": 85, + "defense": 65, + "special-attack": 165, + "special-defense": 135, "speed": 100 }, "abilities": { - "0": "Pure Power" + "0": "Pixilate" }, - "heightm": 1.3, - "weightkg": 31.5, - "color": "Red", + "heightm": 1.6, + "weightkg": 48.4, + "color": "White", "eggGroups": [ - "Human-Like" + "Amorphous" ], - "requiredItem": "Medichamite" + "requiredItem": "Gardevoirite" }, - "electrike": { - "num": 309, - "name": "electrike", + "surskit": { + "num": 283, + "name": "surskit", "types": [ - "electric" + "bug", + "water" ], "baseStats": { "hp": 40, - "attack": 45, - "defense": 40, - "special-attack": 65, - "special-defense": 40, + "attack": 30, + "defense": 32, + "special-attack": 50, + "special-defense": 52, "speed": 65 }, "abilities": { - "0": "Static", - "1": "Lightning Rod", - "H": "Minus" + "0": "Swift Swim", + "H": "Rain Dish" }, - "heightm": 0.6, - "weightkg": 15.2, - "color": "Green", + "heightm": 0.5, + "weightkg": 1.7, + "color": "Blue", "evos": [ - "Manectric" + "Masquerain" ], "eggGroups": [ - "Field" + "Water 1", + "Bug" ] }, - "manectric": { - "num": 310, - "name": "manectric", + "masquerain": { + "num": 284, + "name": "masquerain", "types": [ - "electric" + "bug", + "flying" ], "baseStats": { "hp": 70, - "attack": 75, - "defense": 60, - "special-attack": 105, - "special-defense": 60, - "speed": 105 + "attack": 60, + "defense": 62, + "special-attack": 100, + "special-defense": 82, + "speed": 80 }, "abilities": { - "0": "Static", - "1": "Lightning Rod", - "H": "Minus" + "0": "Intimidate", + "H": "Unnerve" }, - "heightm": 1.5, - "weightkg": 40.2, - "color": "Yellow", - "prevo": "Electrike", - "evoLevel": 26, + "heightm": 0.8, + "weightkg": 3.6, + "color": "Blue", + "prevo": "Surskit", + "evoLevel": 22, "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Manectric-Mega" - ], - "formeOrder": [ - "Manectric", - "Manectric-Mega" + "Water 1", + "Bug" ] }, - "manectricmega": { - "num": 310, - "name": "manectric-mega", - "baseSpecies": "Manectric", - "forme": "Mega", - "types": [ - "electric" - ], - "baseStats": { - "hp": 70, - "attack": 75, - "defense": 80, - "special-attack": 135, - "special-defense": 80, - "speed": 135 - }, - "abilities": { - "0": "Intimidate" - }, - "heightm": 1.8, - "weightkg": 44, - "color": "Yellow", - "eggGroups": [ - "Field" - ], - "requiredItem": "Manectite" - }, - "plusle": { - "num": 311, - "name": "plusle", + "shroomish": { + "num": 285, + "name": "shroomish", "types": [ - "electric" + "grass" ], "baseStats": { "hp": 60, - "attack": 50, - "defense": 40, - "special-attack": 85, - "special-defense": 75, - "speed": 95 + "attack": 40, + "defense": 60, + "special-attack": 40, + "special-defense": 60, + "speed": 35 }, "abilities": { - "0": "Plus", - "H": "Lightning Rod" + "0": "Effect Spore", + "1": "Poison Heal", + "H": "Quick Feet" }, "heightm": 0.4, - "weightkg": 4.2, - "color": "Yellow", + "weightkg": 4.5, + "color": "Brown", + "evos": [ + "Breloom" + ], "eggGroups": [ - "Fairy" + "Fairy", + "Grass" ] }, - "minun": { - "num": 312, - "name": "minun", + "breloom": { + "num": 286, + "name": "breloom", "types": [ - "electric" + "grass", + "fighting" ], "baseStats": { "hp": 60, - "attack": 40, - "defense": 50, - "special-attack": 75, - "special-defense": 85, - "speed": 95 + "attack": 130, + "defense": 80, + "special-attack": 60, + "special-defense": 60, + "speed": 70 }, "abilities": { - "0": "Minus", - "H": "Volt Absorb" + "0": "Effect Spore", + "1": "Poison Heal", + "H": "Technician" }, - "heightm": 0.4, - "weightkg": 4.2, - "color": "Yellow", + "heightm": 1.2, + "weightkg": 39.2, + "color": "Green", + "prevo": "Shroomish", + "evoLevel": 23, "eggGroups": [ - "Fairy" + "Fairy", + "Grass" ] }, - "volbeat": { - "num": 313, - "name": "volbeat", + "slakoth": { + "num": 287, + "name": "slakoth", "types": [ - "bug" + "normal" ], - "gender": "M", "baseStats": { - "hp": 65, - "attack": 73, - "defense": 75, - "special-attack": 47, - "special-defense": 85, - "speed": 85 + "hp": 60, + "attack": 60, + "defense": 60, + "special-attack": 35, + "special-defense": 35, + "speed": 30 }, "abilities": { - "0": "Illuminate", - "1": "Swarm", - "H": "Prankster" + "0": "Truant" }, - "heightm": 0.7, - "weightkg": 17.7, - "color": "Gray", - "eggGroups": [ - "Bug", - "Human-Like" - ], - "mother": "illumise" - }, - "illumise": { - "num": 314, - "name": "illumise", - "types": [ - "bug" + "heightm": 0.8, + "weightkg": 24, + "color": "Brown", + "evos": [ + "Vigoroth" ], - "gender": "F", - "baseStats": { - "hp": 65, - "attack": 47, - "defense": 75, - "special-attack": 73, - "special-defense": 85, - "speed": 85 - }, - "abilities": { - "0": "Oblivious", - "1": "Tinted Lens", - "H": "Prankster" - }, - "heightm": 0.6, - "weightkg": 17.7, - "color": "Purple", "eggGroups": [ - "Bug", - "Human-Like" + "Field" ] }, - "roselia": { - "num": 315, - "name": "roselia", + "vigoroth": { + "num": 288, + "name": "vigoroth", "types": [ - "grass", - "poison" + "normal" ], "baseStats": { - "hp": 50, - "attack": 60, - "defense": 45, - "special-attack": 100, - "special-defense": 80, - "speed": 65 + "hp": 80, + "attack": 80, + "defense": 80, + "special-attack": 55, + "special-defense": 55, + "speed": 90 }, "abilities": { - "0": "Natural Cure", - "1": "Poison Point", - "H": "Leaf Guard" + "0": "Vital Spirit" }, - "heightm": 0.3, - "weightkg": 2, - "color": "Green", - "prevo": "Budew", - "evoType": "levelFriendship", - "evoCondition": "during the day", + "heightm": 1.4, + "weightkg": 46.5, + "color": "White", + "prevo": "Slakoth", + "evoLevel": 18, "evos": [ - "Roserade" + "Slaking" ], "eggGroups": [ - "Fairy", - "Grass" - ], - "canHatch": true + "Field" + ] }, - "gulpin": { - "num": 316, - "name": "gulpin", + "slaking": { + "num": 289, + "name": "slaking", "types": [ - "poison" + "normal" ], "baseStats": { - "hp": 70, - "attack": 43, - "defense": 53, - "special-attack": 43, - "special-defense": 53, - "speed": 40 + "hp": 150, + "attack": 160, + "defense": 100, + "special-attack": 95, + "special-defense": 65, + "speed": 100 }, "abilities": { - "0": "Liquid Ooze", - "1": "Sticky Hold", - "H": "Gluttony" + "0": "Truant" }, - "heightm": 0.4, - "weightkg": 10.3, - "color": "Green", - "evos": [ - "Swalot" - ], + "heightm": 2, + "weightkg": 130.5, + "color": "Brown", + "prevo": "Vigoroth", + "evoLevel": 36, "eggGroups": [ - "Amorphous" + "Field" ] }, - "swalot": { - "num": 317, - "name": "swalot", + "nincada": { + "num": 290, + "name": "nincada", "types": [ - "poison" + "bug", + "ground" ], "baseStats": { - "hp": 100, - "attack": 73, - "defense": 83, - "special-attack": 73, - "special-defense": 83, - "speed": 55 + "hp": 31, + "attack": 45, + "defense": 90, + "special-attack": 30, + "special-defense": 30, + "speed": 40 }, "abilities": { - "0": "Liquid Ooze", - "1": "Sticky Hold", - "H": "Gluttony" + "0": "Compound Eyes", + "H": "Run Away" }, - "heightm": 1.7, - "weightkg": 80, - "color": "Purple", - "prevo": "Gulpin", - "evoLevel": 26, + "heightm": 0.5, + "weightkg": 5.5, + "color": "Gray", + "evos": [ + "Ninjask", + "Shedinja" + ], "eggGroups": [ - "Amorphous" + "Bug" ] }, - "carvanha": { - "num": 318, - "name": "carvanha", + "ninjask": { + "num": 291, + "name": "ninjask", "types": [ - "water", - "dark" + "bug", + "flying" ], "baseStats": { - "hp": 45, + "hp": 61, "attack": 90, - "defense": 20, - "special-attack": 65, - "special-defense": 20, - "speed": 65 + "defense": 45, + "special-attack": 50, + "special-defense": 50, + "speed": 160 }, "abilities": { - "0": "Rough Skin", - "H": "Speed Boost" + "0": "Speed Boost", + "H": "Infiltrator" }, "heightm": 0.8, - "weightkg": 20.8, - "color": "Red", - "evos": [ - "Sharpedo" - ], + "weightkg": 12, + "color": "Yellow", + "prevo": "Nincada", + "evoLevel": 20, "eggGroups": [ - "Water 2" + "Bug" ] }, - "sharpedo": { - "num": 319, - "name": "sharpedo", + "shedinja": { + "num": 292, + "name": "shedinja", "types": [ - "water", - "dark" + "bug", + "ghost" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 120, - "defense": 40, - "special-attack": 95, - "special-defense": 40, - "speed": 95 + "hp": 1, + "attack": 90, + "defense": 45, + "special-attack": 30, + "special-defense": 30, + "speed": 40 }, + "maxHP": 1, "abilities": { - "0": "Rough Skin", - "H": "Speed Boost" + "0": "Wonder Guard" }, - "heightm": 1.8, - "weightkg": 88.8, - "color": "Blue", - "prevo": "Carvanha", - "evoLevel": 30, + "heightm": 0.8, + "weightkg": 1.2, + "color": "Brown", + "prevo": "Nincada", + "evoLevel": 20, "eggGroups": [ - "Water 2" - ], - "otherFormes": [ - "Sharpedo-Mega" - ], - "formeOrder": [ - "Sharpedo", - "Sharpedo-Mega" + "Mineral" ] }, - "sharpedomega": { - "num": 319, - "name": "sharpedo-mega", - "baseSpecies": "Sharpedo", - "forme": "Mega", + "whismur": { + "num": 293, + "name": "whismur", "types": [ - "water", - "dark" + "normal" ], "baseStats": { - "hp": 70, - "attack": 140, - "defense": 70, - "special-attack": 110, - "special-defense": 65, - "speed": 105 + "hp": 64, + "attack": 51, + "defense": 23, + "special-attack": 51, + "special-defense": 23, + "speed": 28 }, "abilities": { - "0": "Strong Jaw" + "0": "Soundproof", + "H": "Rattled" }, - "heightm": 2.5, - "weightkg": 130.3, - "color": "Blue", - "eggGroups": [ - "Water 2" + "heightm": 0.6, + "weightkg": 16.3, + "color": "Pink", + "evos": [ + "Loudred" ], - "requiredItem": "Sharpedonite" + "eggGroups": [ + "Monster", + "Field" + ] }, - "wailmer": { - "num": 320, - "name": "wailmer", + "loudred": { + "num": 294, + "name": "loudred", "types": [ - "water" + "normal" ], "baseStats": { - "hp": 130, - "attack": 70, - "defense": 35, - "special-attack": 70, - "special-defense": 35, - "speed": 60 + "hp": 84, + "attack": 71, + "defense": 43, + "special-attack": 71, + "special-defense": 43, + "speed": 48 }, "abilities": { - "0": "Water Veil", - "1": "Oblivious", - "H": "Pressure" + "0": "Soundproof", + "H": "Scrappy" }, - "heightm": 2, - "weightkg": 130, + "heightm": 1, + "weightkg": 40.5, "color": "Blue", + "prevo": "Whismur", + "evoLevel": 20, "evos": [ - "Wailord" + "Exploud" ], "eggGroups": [ - "Field", - "Water 2" + "Monster", + "Field" ] }, - "wailord": { - "num": 321, - "name": "wailord", + "exploud": { + "num": 295, + "name": "exploud", "types": [ - "water" + "normal" ], "baseStats": { - "hp": 170, - "attack": 90, - "defense": 45, - "special-attack": 90, - "special-defense": 45, - "speed": 60 + "hp": 104, + "attack": 91, + "defense": 63, + "special-attack": 91, + "special-defense": 73, + "speed": 68 }, "abilities": { - "0": "Water Veil", - "1": "Oblivious", - "H": "Pressure" + "0": "Soundproof", + "H": "Scrappy" }, - "heightm": 14.5, - "weightkg": 398, + "heightm": 1.5, + "weightkg": 84, "color": "Blue", - "prevo": "Wailmer", + "prevo": "Loudred", "evoLevel": 40, "eggGroups": [ - "Field", - "Water 2" + "Monster", + "Field" ] }, - "numel": { - "num": 322, - "name": "numel", + "makuhita": { + "num": 296, + "name": "makuhita", "types": [ - "fire", - "ground" + "fighting" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 60, + "hp": 72, "attack": 60, - "defense": 40, - "special-attack": 65, - "special-defense": 45, - "speed": 35 + "defense": 30, + "special-attack": 20, + "special-defense": 30, + "speed": 25 }, "abilities": { - "0": "Oblivious", - "1": "Simple", - "H": "Own Tempo" + "0": "Thick Fat", + "1": "Guts", + "H": "Sheer Force" }, - "heightm": 0.7, - "weightkg": 24, + "heightm": 1, + "weightkg": 86.4, "color": "Yellow", "evos": [ - "Camerupt" + "Hariyama" ], "eggGroups": [ - "Field" + "Human-Like" ] }, - "camerupt": { - "num": 323, - "name": "camerupt", + "hariyama": { + "num": 297, + "name": "hariyama", "types": [ - "fire", - "ground" + "fighting" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 70, - "attack": 100, - "defense": 70, - "special-attack": 105, - "special-defense": 75, - "speed": 40 + "hp": 144, + "attack": 120, + "defense": 60, + "special-attack": 40, + "special-defense": 60, + "speed": 50 }, "abilities": { - "0": "Magma Armor", - "1": "Solid Rock", - "H": "Anger Point" + "0": "Thick Fat", + "1": "Guts", + "H": "Sheer Force" }, - "heightm": 1.9, - "weightkg": 220, - "color": "Red", - "prevo": "Numel", - "evoLevel": 33, + "heightm": 2.3, + "weightkg": 253.8, + "color": "Brown", + "prevo": "Makuhita", + "evoLevel": 24, "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Camerupt-Mega" - ], - "formeOrder": [ - "Camerupt", - "Camerupt-Mega" + "Human-Like" ] }, - "cameruptmega": { - "num": 323, - "name": "camerupt-mega", - "baseSpecies": "Camerupt", - "forme": "Mega", + "azurill": { + "num": 298, + "name": "azurill", "types": [ - "fire", - "ground" + "normal", + "fairy" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 70, - "attack": 120, - "defense": 100, - "special-attack": 145, - "special-defense": 105, + "hp": 50, + "attack": 20, + "defense": 40, + "special-attack": 20, + "special-defense": 40, "speed": 20 }, "abilities": { - "0": "Sheer Force" + "0": "Thick Fat", + "1": "Huge Power", + "H": "Sap Sipper" }, - "heightm": 2.5, - "weightkg": 320.5, - "color": "Red", + "heightm": 0.2, + "weightkg": 2, + "color": "Blue", + "evos": [ + "Marill" + ], "eggGroups": [ - "Field" + "Undiscovered" ], - "requiredItem": "Cameruptite" + "canHatch": true }, - "torkoal": { - "num": 324, - "name": "torkoal", + "nosepass": { + "num": 299, + "name": "nosepass", "types": [ - "fire" + "rock" ], "baseStats": { - "hp": 70, - "attack": 85, - "defense": 140, - "special-attack": 85, - "special-defense": 70, - "speed": 20 + "hp": 30, + "attack": 45, + "defense": 135, + "special-attack": 45, + "special-defense": 90, + "speed": 30 }, "abilities": { - "0": "White Smoke", - "1": "Drought", - "H": "Shell Armor" + "0": "Sturdy", + "1": "Magnet Pull", + "H": "Sand Force" }, - "heightm": 0.5, - "weightkg": 80.4, - "color": "Brown", + "heightm": 1, + "weightkg": 97, + "color": "Gray", + "evos": [ + "Probopass" + ], "eggGroups": [ - "Field" + "Mineral" ] }, - "spoink": { - "num": 325, - "name": "spoink", + "skitty": { + "num": 300, + "name": "skitty", "types": [ - "psychic" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 60, - "attack": 25, - "defense": 35, - "special-attack": 70, - "special-defense": 80, - "speed": 60 + "hp": 50, + "attack": 45, + "defense": 45, + "special-attack": 35, + "special-defense": 35, + "speed": 50 }, "abilities": { - "0": "Thick Fat", - "1": "Own Tempo", - "H": "Gluttony" + "0": "Cute Charm", + "1": "Normalize", + "H": "Wonder Skin" }, - "heightm": 0.7, - "weightkg": 30.6, - "color": "Black", + "heightm": 0.6, + "weightkg": 11, + "color": "Pink", "evos": [ - "Grumpig" + "Delcatty" ], "eggGroups": [ - "Field" + "Field", + "Fairy" ] }, - "grumpig": { - "num": 326, - "name": "grumpig", + "delcatty": { + "num": 301, + "name": "delcatty", "types": [ - "psychic" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 80, - "attack": 45, + "hp": 70, + "attack": 65, "defense": 65, - "special-attack": 90, - "special-defense": 110, - "speed": 80 + "special-attack": 55, + "special-defense": 55, + "speed": 90 }, "abilities": { - "0": "Thick Fat", - "1": "Own Tempo", - "H": "Gluttony" + "0": "Cute Charm", + "1": "Normalize", + "H": "Wonder Skin" }, - "heightm": 0.9, - "weightkg": 71.5, + "heightm": 1.1, + "weightkg": 32.6, "color": "Purple", - "prevo": "Spoink", - "evoLevel": 32, + "prevo": "Skitty", + "evoType": "useItem", + "evoItem": "Moon Stone", "eggGroups": [ - "Field" + "Field", + "Fairy" ] }, - "spinda": { - "num": 327, - "name": "spinda", + "sableye": { + "num": 302, + "name": "sableye", "types": [ - "normal" + "dark", + "ghost" ], "baseStats": { - "hp": 60, - "attack": 60, - "defense": 60, - "special-attack": 60, - "special-defense": 60, - "speed": 60 + "hp": 50, + "attack": 75, + "defense": 75, + "special-attack": 65, + "special-defense": 65, + "speed": 50 }, "abilities": { - "0": "Own Tempo", - "1": "Tangled Feet", - "H": "Contrary" + "0": "Keen Eye", + "1": "Stall", + "H": "Prankster" }, - "heightm": 1.1, - "weightkg": 5, - "color": "Brown", + "heightm": 0.5, + "weightkg": 11, + "color": "Purple", "eggGroups": [ - "Field", "Human-Like" + ], + "otherFormes": [ + "Sableye-Mega" + ], + "formeOrder": [ + "Sableye", + "Sableye-Mega" ] }, - "trapinch": { - "num": 328, - "name": "trapinch", + "sableyemega": { + "num": 302, + "name": "sableye-mega", + "baseSpecies": "Sableye", + "forme": "Mega", "types": [ - "ground" + "dark", + "ghost" ], "baseStats": { - "hp": 45, - "attack": 100, - "defense": 45, - "special-attack": 45, - "special-defense": 45, - "speed": 10 + "hp": 50, + "attack": 85, + "defense": 125, + "special-attack": 85, + "special-defense": 115, + "speed": 20 + }, + "abilities": { + "0": "Magic Bounce" + }, + "heightm": 0.5, + "weightkg": 161, + "color": "Purple", + "eggGroups": [ + "Human-Like" + ], + "requiredItem": "Sablenite" + }, + "mawile": { + "num": 303, + "name": "mawile", + "types": [ + "steel", + "fairy" + ], + "baseStats": { + "hp": 50, + "attack": 85, + "defense": 85, + "special-attack": 55, + "special-defense": 55, + "speed": 50 }, "abilities": { "0": "Hyper Cutter", - "1": "Arena Trap", + "1": "Intimidate", "H": "Sheer Force" }, - "heightm": 0.7, - "weightkg": 15, - "color": "Brown", - "evos": [ - "Vibrava" - ], + "heightm": 0.6, + "weightkg": 11.5, + "color": "Black", "eggGroups": [ - "Bug", - "Dragon" + "Field", + "Fairy" + ], + "otherFormes": [ + "Mawile-Mega" + ], + "formeOrder": [ + "Mawile", + "Mawile-Mega" ] }, - "vibrava": { - "num": 329, - "name": "vibrava", + "mawilemega": { + "num": 303, + "name": "mawile-mega", + "baseSpecies": "Mawile", + "forme": "Mega", "types": [ - "ground", - "dragon" + "steel", + "fairy" + ], + "baseStats": { + "hp": 50, + "attack": 105, + "defense": 125, + "special-attack": 55, + "special-defense": 95, + "speed": 50 + }, + "abilities": { + "0": "Huge Power" + }, + "heightm": 1, + "weightkg": 23.5, + "color": "Black", + "eggGroups": [ + "Field", + "Fairy" + ], + "requiredItem": "Mawilite" + }, + "aron": { + "num": 304, + "name": "aron", + "types": [ + "steel", + "rock" ], "baseStats": { "hp": 50, "attack": 70, - "defense": 50, - "special-attack": 50, - "special-defense": 50, - "speed": 70 + "defense": 100, + "special-attack": 40, + "special-defense": 40, + "speed": 30 }, "abilities": { - "0": "Levitate" + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" }, - "heightm": 1.1, - "weightkg": 15.3, - "color": "Green", - "prevo": "Trapinch", - "evoLevel": 35, + "heightm": 0.4, + "weightkg": 60, + "color": "Gray", "evos": [ - "Flygon" + "Lairon" ], "eggGroups": [ - "Bug", - "Dragon" + "Monster" ] }, - "flygon": { - "num": 330, - "name": "flygon", + "lairon": { + "num": 305, + "name": "lairon", "types": [ - "ground", - "dragon" + "steel", + "rock" ], "baseStats": { - "hp": 80, - "attack": 100, - "defense": 80, - "special-attack": 80, - "special-defense": 80, - "speed": 100 + "hp": 60, + "attack": 90, + "defense": 140, + "special-attack": 50, + "special-defense": 50, + "speed": 40 }, "abilities": { - "0": "Levitate" + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" }, - "heightm": 2, - "weightkg": 82, - "color": "Green", - "prevo": "Vibrava", - "evoLevel": 45, + "heightm": 0.9, + "weightkg": 120, + "color": "Gray", + "prevo": "Aron", + "evoLevel": 32, + "evos": [ + "Aggron" + ], "eggGroups": [ - "Bug", - "Dragon" + "Monster" ] }, - "cacnea": { - "num": 331, - "name": "cacnea", + "aggron": { + "num": 306, + "name": "aggron", "types": [ - "grass" + "steel", + "rock" ], "baseStats": { - "hp": 50, - "attack": 85, - "defense": 40, - "special-attack": 85, - "special-defense": 40, - "speed": 35 + "hp": 70, + "attack": 110, + "defense": 180, + "special-attack": 60, + "special-defense": 60, + "speed": 50 }, "abilities": { - "0": "Sand Veil", - "H": "Water Absorb" + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" }, - "heightm": 0.4, - "weightkg": 51.3, - "color": "Green", - "evos": [ - "Cacturne" - ], + "heightm": 2.1, + "weightkg": 360, + "color": "Gray", + "prevo": "Lairon", + "evoLevel": 42, "eggGroups": [ - "Grass", - "Human-Like" + "Monster" + ], + "otherFormes": [ + "Aggron-Mega" + ], + "formeOrder": [ + "Aggron", + "Aggron-Mega" ] }, - "cacturne": { - "num": 332, - "name": "cacturne", + "aggronmega": { + "num": 306, + "name": "aggron-mega", + "baseSpecies": "Aggron", + "forme": "Mega", "types": [ - "grass", - "dark" + "steel" ], "baseStats": { "hp": 70, - "attack": 115, - "defense": 60, - "special-attack": 115, - "special-defense": 60, - "speed": 55 + "attack": 140, + "defense": 230, + "special-attack": 60, + "special-defense": 80, + "speed": 50 }, "abilities": { - "0": "Sand Veil", - "H": "Water Absorb" + "0": "Filter" }, - "heightm": 1.3, - "weightkg": 77.4, - "color": "Green", - "prevo": "Cacnea", - "evoLevel": 32, + "heightm": 2.2, + "weightkg": 395, + "color": "Gray", "eggGroups": [ - "Grass", - "Human-Like" - ] + "Monster" + ], + "requiredItem": "Aggronite" }, - "swablu": { - "num": 333, - "name": "swablu", + "meditite": { + "num": 307, + "name": "meditite", "types": [ - "normal", - "flying" + "fighting", + "psychic" ], "baseStats": { - "hp": 45, + "hp": 30, "attack": 40, - "defense": 60, + "defense": 55, "special-attack": 40, - "special-defense": 75, - "speed": 50 + "special-defense": 55, + "speed": 60 }, "abilities": { - "0": "Natural Cure", - "H": "Cloud Nine" + "0": "Pure Power", + "H": "Telepathy" }, - "heightm": 0.4, - "weightkg": 1.2, + "heightm": 0.6, + "weightkg": 11.2, "color": "Blue", "evos": [ - "Altaria" + "Medicham" ], "eggGroups": [ - "Flying", - "Dragon" + "Human-Like" ] }, - "altaria": { - "num": 334, - "name": "altaria", + "medicham": { + "num": 308, + "name": "medicham", "types": [ - "dragon", - "flying" + "fighting", + "psychic" ], "baseStats": { - "hp": 75, - "attack": 70, - "defense": 90, - "special-attack": 70, - "special-defense": 105, + "hp": 60, + "attack": 60, + "defense": 75, + "special-attack": 60, + "special-defense": 75, "speed": 80 }, "abilities": { - "0": "Natural Cure", - "H": "Cloud Nine" + "0": "Pure Power", + "H": "Telepathy" }, - "heightm": 1.1, - "weightkg": 20.6, - "color": "Blue", - "prevo": "Swablu", - "evoLevel": 35, + "heightm": 1.3, + "weightkg": 31.5, + "color": "Red", + "prevo": "Meditite", + "evoLevel": 37, "eggGroups": [ - "Flying", - "Dragon" + "Human-Like" ], "otherFormes": [ - "Altaria-Mega" + "Medicham-Mega" ], "formeOrder": [ - "Altaria", - "Altaria-Mega" + "Medicham", + "Medicham-Mega" ] }, - "altariamega": { - "num": 334, - "name": "altaria-mega", - "baseSpecies": "Altaria", + "medichammega": { + "num": 308, + "name": "medicham-mega", + "baseSpecies": "Medicham", "forme": "Mega", "types": [ - "dragon", - "fairy" + "fighting", + "psychic" ], "baseStats": { - "hp": 75, - "attack": 110, - "defense": 110, - "special-attack": 110, - "special-defense": 105, - "speed": 80 + "hp": 60, + "attack": 100, + "defense": 85, + "special-attack": 80, + "special-defense": 85, + "speed": 100 }, "abilities": { - "0": "Pixilate" + "0": "Pure Power" }, - "heightm": 1.5, - "weightkg": 20.6, - "color": "Blue", + "heightm": 1.3, + "weightkg": 31.5, + "color": "Red", "eggGroups": [ - "Flying", - "Dragon" + "Human-Like" ], - "requiredItem": "Altarianite" + "requiredItem": "Medichamite" }, - "zangoose": { - "num": 335, - "name": "zangoose", + "electrike": { + "num": 309, + "name": "electrike", "types": [ - "normal" + "electric" ], "baseStats": { - "hp": 73, - "attack": 115, - "defense": 60, - "special-attack": 60, - "special-defense": 60, - "speed": 90 + "hp": 40, + "attack": 45, + "defense": 40, + "special-attack": 65, + "special-defense": 40, + "speed": 65 }, "abilities": { - "0": "Immunity", - "H": "Toxic Boost" + "0": "Static", + "1": "Lightning Rod", + "H": "Minus" }, - "heightm": 1.3, - "weightkg": 40.3, - "color": "White", + "heightm": 0.6, + "weightkg": 15.2, + "color": "Green", + "evos": [ + "Manectric" + ], "eggGroups": [ "Field" ] }, - "seviper": { - "num": 336, - "name": "seviper", + "manectric": { + "num": 310, + "name": "manectric", "types": [ - "poison" + "electric" ], "baseStats": { - "hp": 73, - "attack": 100, + "hp": 70, + "attack": 75, "defense": 60, - "special-attack": 100, + "special-attack": 105, "special-defense": 60, - "speed": 65 + "speed": 105 }, "abilities": { - "0": "Shed Skin", - "H": "Infiltrator" + "0": "Static", + "1": "Lightning Rod", + "H": "Minus" }, - "heightm": 2.7, - "weightkg": 52.5, - "color": "Black", + "heightm": 1.5, + "weightkg": 40.2, + "color": "Yellow", + "prevo": "Electrike", + "evoLevel": 26, "eggGroups": [ - "Field", - "Dragon" + "Field" + ], + "otherFormes": [ + "Manectric-Mega" + ], + "formeOrder": [ + "Manectric", + "Manectric-Mega" ] }, - "lunatone": { - "num": 337, - "name": "lunatone", + "manectricmega": { + "num": 310, + "name": "manectric-mega", + "baseSpecies": "Manectric", + "forme": "Mega", "types": [ - "rock", - "psychic" + "electric" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 55, - "defense": 65, - "special-attack": 95, - "special-defense": 85, - "speed": 70 + "hp": 70, + "attack": 75, + "defense": 80, + "special-attack": 135, + "special-defense": 80, + "speed": 135 }, "abilities": { - "0": "Levitate" + "0": "Intimidate" }, - "heightm": 1, - "weightkg": 168, + "heightm": 1.8, + "weightkg": 44, "color": "Yellow", "eggGroups": [ - "Mineral" - ] + "Field" + ], + "requiredItem": "Manectite" }, - "solrock": { - "num": 338, - "name": "solrock", + "plusle": { + "num": 311, + "name": "plusle", "types": [ - "rock", - "psychic" + "electric" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 95, - "defense": 85, - "special-attack": 55, - "special-defense": 65, - "speed": 70 + "hp": 60, + "attack": 50, + "defense": 40, + "special-attack": 85, + "special-defense": 75, + "speed": 95 }, "abilities": { - "0": "Levitate" + "0": "Plus", + "H": "Lightning Rod" }, - "heightm": 1.2, - "weightkg": 154, - "color": "Red", + "heightm": 0.4, + "weightkg": 4.2, + "color": "Yellow", "eggGroups": [ - "Mineral" + "Fairy" ] }, - "barboach": { - "num": 339, - "name": "barboach", + "minun": { + "num": 312, + "name": "minun", "types": [ - "water", - "ground" + "electric" ], "baseStats": { - "hp": 50, - "attack": 48, - "defense": 43, - "special-attack": 46, - "special-defense": 41, - "speed": 60 + "hp": 60, + "attack": 40, + "defense": 50, + "special-attack": 75, + "special-defense": 85, + "speed": 95 }, "abilities": { - "0": "Oblivious", - "1": "Anticipation", - "H": "Hydration" + "0": "Minus", + "H": "Volt Absorb" }, "heightm": 0.4, - "weightkg": 1.9, - "color": "Gray", - "evos": [ - "Whiscash" - ], + "weightkg": 4.2, + "color": "Yellow", "eggGroups": [ - "Water 2" + "Fairy" ] }, - "whiscash": { - "num": 340, - "name": "whiscash", + "volbeat": { + "num": 313, + "name": "volbeat", "types": [ - "water", - "ground" + "bug" ], + "gender": "M", "baseStats": { - "hp": 110, - "attack": 78, - "defense": 73, - "special-attack": 76, - "special-defense": 71, - "speed": 60 + "hp": 65, + "attack": 73, + "defense": 75, + "special-attack": 47, + "special-defense": 85, + "speed": 85 }, "abilities": { - "0": "Oblivious", - "1": "Anticipation", - "H": "Hydration" + "0": "Illuminate", + "1": "Swarm", + "H": "Prankster" }, - "heightm": 0.9, - "weightkg": 23.6, - "color": "Blue", - "prevo": "Barboach", - "evoLevel": 30, + "heightm": 0.7, + "weightkg": 17.7, + "color": "Gray", "eggGroups": [ - "Water 2" - ] + "Bug", + "Human-Like" + ], + "mother": "illumise" }, - "corphish": { - "num": 341, - "name": "corphish", + "illumise": { + "num": 314, + "name": "illumise", "types": [ - "water" + "bug" ], + "gender": "F", "baseStats": { - "hp": 43, - "attack": 80, - "defense": 65, - "special-attack": 50, - "special-defense": 35, - "speed": 35 + "hp": 65, + "attack": 47, + "defense": 75, + "special-attack": 73, + "special-defense": 85, + "speed": 85 }, "abilities": { - "0": "Hyper Cutter", - "1": "Shell Armor", - "H": "Adaptability" + "0": "Oblivious", + "1": "Tinted Lens", + "H": "Prankster" }, "heightm": 0.6, - "weightkg": 11.5, - "color": "Red", - "evos": [ - "Crawdaunt" - ], + "weightkg": 17.7, + "color": "Purple", "eggGroups": [ - "Water 1", - "Water 3" + "Bug", + "Human-Like" ] }, - "crawdaunt": { - "num": 342, - "name": "crawdaunt", + "roselia": { + "num": 315, + "name": "roselia", "types": [ - "water", - "dark" + "grass", + "poison" ], "baseStats": { - "hp": 63, - "attack": 120, - "defense": 85, - "special-attack": 90, - "special-defense": 55, - "speed": 55 + "hp": 50, + "attack": 60, + "defense": 45, + "special-attack": 100, + "special-defense": 80, + "speed": 65 }, "abilities": { - "0": "Hyper Cutter", - "1": "Shell Armor", - "H": "Adaptability" + "0": "Natural Cure", + "1": "Poison Point", + "H": "Leaf Guard" }, - "heightm": 1.1, - "weightkg": 32.8, - "color": "Red", - "prevo": "Corphish", - "evoLevel": 30, + "heightm": 0.3, + "weightkg": 2, + "color": "Green", + "prevo": "Budew", + "evoType": "levelFriendship", + "evoCondition": "during the day", + "evos": [ + "Roserade" + ], "eggGroups": [ - "Water 1", - "Water 3" - ] + "Fairy", + "Grass" + ], + "canHatch": true }, - "baltoy": { - "num": 343, - "name": "baltoy", + "gulpin": { + "num": 316, + "name": "gulpin", "types": [ - "ground", - "psychic" + "poison" ], - "gender": "N", "baseStats": { - "hp": 40, - "attack": 40, - "defense": 55, - "special-attack": 40, - "special-defense": 70, - "speed": 55 + "hp": 70, + "attack": 43, + "defense": 53, + "special-attack": 43, + "special-defense": 53, + "speed": 40 }, "abilities": { - "0": "Levitate" + "0": "Liquid Ooze", + "1": "Sticky Hold", + "H": "Gluttony" }, - "heightm": 0.5, - "weightkg": 21.5, - "color": "Brown", + "heightm": 0.4, + "weightkg": 10.3, + "color": "Green", "evos": [ - "Claydol" + "Swalot" ], "eggGroups": [ - "Mineral" + "Amorphous" ] }, - "claydol": { - "num": 344, - "name": "claydol", + "swalot": { + "num": 317, + "name": "swalot", "types": [ - "ground", - "psychic" + "poison" ], - "gender": "N", "baseStats": { - "hp": 60, - "attack": 70, - "defense": 105, - "special-attack": 70, - "special-defense": 120, - "speed": 75 + "hp": 100, + "attack": 73, + "defense": 83, + "special-attack": 73, + "special-defense": 83, + "speed": 55 }, "abilities": { - "0": "Levitate" + "0": "Liquid Ooze", + "1": "Sticky Hold", + "H": "Gluttony" }, - "heightm": 1.5, - "weightkg": 108, - "color": "Black", - "prevo": "Baltoy", - "evoLevel": 36, + "heightm": 1.7, + "weightkg": 80, + "color": "Purple", + "prevo": "Gulpin", + "evoLevel": 26, "eggGroups": [ - "Mineral" + "Amorphous" ] }, - "lileep": { - "num": 345, - "name": "lileep", + "carvanha": { + "num": 318, + "name": "carvanha", "types": [ - "rock", - "grass" + "water", + "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 66, - "attack": 41, - "defense": 77, - "special-attack": 61, - "special-defense": 87, - "speed": 23 + "hp": 45, + "attack": 90, + "defense": 20, + "special-attack": 65, + "special-defense": 20, + "speed": 65 }, "abilities": { - "0": "Suction Cups", - "H": "Storm Drain" + "0": "Rough Skin", + "H": "Speed Boost" }, - "heightm": 1, - "weightkg": 23.8, - "color": "Purple", + "heightm": 0.8, + "weightkg": 20.8, + "color": "Red", "evos": [ - "Cradily" + "Sharpedo" ], "eggGroups": [ - "Water 3" + "Water 2" ] }, - "cradily": { - "num": 346, - "name": "cradily", + "sharpedo": { + "num": 319, + "name": "sharpedo", "types": [ - "rock", - "grass" + "water", + "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 86, - "attack": 81, - "defense": 97, - "special-attack": 81, - "special-defense": 107, - "speed": 43 + "hp": 70, + "attack": 120, + "defense": 40, + "special-attack": 95, + "special-defense": 40, + "speed": 95 }, "abilities": { - "0": "Suction Cups", - "H": "Storm Drain" + "0": "Rough Skin", + "H": "Speed Boost" }, - "heightm": 1.5, - "weightkg": 60.4, - "color": "Green", - "prevo": "Lileep", - "evoLevel": 40, + "heightm": 1.8, + "weightkg": 88.8, + "color": "Blue", + "prevo": "Carvanha", + "evoLevel": 30, "eggGroups": [ - "Water 3" + "Water 2" + ], + "otherFormes": [ + "Sharpedo-Mega" + ], + "formeOrder": [ + "Sharpedo", + "Sharpedo-Mega" ] }, - "anorith": { - "num": 347, - "name": "anorith", + "sharpedomega": { + "num": 319, + "name": "sharpedo-mega", + "baseSpecies": "Sharpedo", + "forme": "Mega", "types": [ - "rock", - "bug" + "water", + "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 45, - "attack": 95, - "defense": 50, - "special-attack": 40, - "special-defense": 50, - "speed": 75 + "hp": 70, + "attack": 140, + "defense": 70, + "special-attack": 110, + "special-defense": 65, + "speed": 105 }, "abilities": { - "0": "Battle Armor", - "H": "Swift Swim" + "0": "Strong Jaw" }, - "heightm": 0.7, - "weightkg": 12.5, - "color": "Gray", - "evos": [ - "Armaldo" - ], + "heightm": 2.5, + "weightkg": 130.3, + "color": "Blue", "eggGroups": [ - "Water 3" - ] + "Water 2" + ], + "requiredItem": "Sharpedonite" }, - "armaldo": { - "num": 348, - "name": "armaldo", + "wailmer": { + "num": 320, + "name": "wailmer", "types": [ - "rock", - "bug" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 75, - "attack": 125, - "defense": 100, + "hp": 130, + "attack": 70, + "defense": 35, "special-attack": 70, - "special-defense": 80, - "speed": 45 + "special-defense": 35, + "speed": 60 }, "abilities": { - "0": "Battle Armor", - "H": "Swift Swim" + "0": "Water Veil", + "1": "Oblivious", + "H": "Pressure" }, - "heightm": 1.5, - "weightkg": 68.2, - "color": "Gray", - "prevo": "Anorith", - "evoLevel": 40, + "heightm": 2, + "weightkg": 130, + "color": "Blue", + "evos": [ + "Wailord" + ], "eggGroups": [ - "Water 3" + "Field", + "Water 2" ] }, - "feebas": { - "num": 349, - "name": "feebas", + "wailord": { + "num": 321, + "name": "wailord", "types": [ "water" ], "baseStats": { - "hp": 20, - "attack": 15, - "defense": 20, - "special-attack": 10, - "special-defense": 55, - "speed": 80 + "hp": 170, + "attack": 90, + "defense": 45, + "special-attack": 90, + "special-defense": 45, + "speed": 60 }, "abilities": { - "0": "Swift Swim", + "0": "Water Veil", "1": "Oblivious", - "H": "Adaptability" + "H": "Pressure" }, - "heightm": 0.6, - "weightkg": 7.4, - "color": "Brown", - "evos": [ - "Milotic" - ], + "heightm": 14.5, + "weightkg": 398, + "color": "Blue", + "prevo": "Wailmer", + "evoLevel": 40, "eggGroups": [ - "Water 1", - "Dragon" + "Field", + "Water 2" ] }, - "milotic": { - "num": 350, - "name": "milotic", + "numel": { + "num": 322, + "name": "numel", "types": [ - "water" + "fire", + "ground" ], "baseStats": { - "hp": 95, + "hp": 60, "attack": 60, - "defense": 79, - "special-attack": 100, - "special-defense": 125, - "speed": 81 + "defense": 40, + "special-attack": 65, + "special-defense": 45, + "speed": 35 }, "abilities": { - "0": "Marvel Scale", - "1": "Competitive", - "H": "Cute Charm" + "0": "Oblivious", + "1": "Simple", + "H": "Own Tempo" }, - "heightm": 6.2, - "weightkg": 162, - "color": "Pink", - "prevo": "Feebas", - "evoType": "trade", - "evoItem": "Prism Scale", + "heightm": 0.7, + "weightkg": 24, + "color": "Yellow", + "evos": [ + "Camerupt" + ], "eggGroups": [ - "Water 1", - "Dragon" + "Field" ] }, - "castform": { - "num": 351, - "name": "castform", + "camerupt": { + "num": 323, + "name": "camerupt", "types": [ - "normal" + "fire", + "ground" ], "baseStats": { "hp": 70, - "attack": 70, + "attack": 100, "defense": 70, - "special-attack": 70, - "special-defense": 70, - "speed": 70 + "special-attack": 105, + "special-defense": 75, + "speed": 40 }, "abilities": { - "0": "Forecast" + "0": "Magma Armor", + "1": "Solid Rock", + "H": "Anger Point" }, - "heightm": 0.3, - "weightkg": 0.8, - "color": "Gray", + "heightm": 1.9, + "weightkg": 220, + "color": "Red", + "prevo": "Numel", + "evoLevel": 33, "eggGroups": [ - "Fairy", - "Amorphous" + "Field" ], "otherFormes": [ - "Castform-Sunny", - "Castform-Rainy", - "Castform-Snowy" + "Camerupt-Mega" ], "formeOrder": [ - "Castform", - "Castform-Sunny", - "Castform-Rainy", - "Castform-Snowy" + "Camerupt", + "Camerupt-Mega" ] }, - "castformsunny": { - "num": 351, - "name": "castform-sunny", - "baseSpecies": "Castform", - "forme": "Sunny", + "cameruptmega": { + "num": 323, + "name": "camerupt-mega", + "baseSpecies": "Camerupt", + "forme": "Mega", "types": [ - "fire" + "fire", + "ground" ], "baseStats": { "hp": 70, - "attack": 70, - "defense": 70, - "special-attack": 70, - "special-defense": 70, - "speed": 70 + "attack": 120, + "defense": 100, + "special-attack": 145, + "special-defense": 105, + "speed": 20 }, "abilities": { - "0": "Forecast" + "0": "Sheer Force" }, - "heightm": 0.3, - "weightkg": 0.8, + "heightm": 2.5, + "weightkg": 320.5, "color": "Red", "eggGroups": [ - "Fairy", - "Amorphous" + "Field" ], - "requiredAbility": "Forecast", - "battleOnly": "Castform" + "requiredItem": "Cameruptite" }, - "castformrainy": { - "num": 351, - "name": "castform-rainy", - "baseSpecies": "Castform", - "forme": "Rainy", + "torkoal": { + "num": 324, + "name": "torkoal", "types": [ - "water" + "fire" ], "baseStats": { "hp": 70, - "attack": 70, - "defense": 70, - "special-attack": 70, + "attack": 85, + "defense": 140, + "special-attack": 85, "special-defense": 70, - "speed": 70 + "speed": 20 }, "abilities": { - "0": "Forecast" + "0": "White Smoke", + "1": "Drought", + "H": "Shell Armor" }, - "heightm": 0.3, - "weightkg": 0.8, - "color": "Blue", + "heightm": 0.5, + "weightkg": 80.4, + "color": "Brown", "eggGroups": [ - "Fairy", - "Amorphous" - ], - "requiredAbility": "Forecast", - "battleOnly": "Castform" + "Field" + ] }, - "castformsnowy": { - "num": 351, - "name": "castform-snowy", - "baseSpecies": "Castform", - "forme": "Snowy", + "spoink": { + "num": 325, + "name": "spoink", "types": [ - "ice" + "psychic" ], "baseStats": { - "hp": 70, - "attack": 70, - "defense": 70, + "hp": 60, + "attack": 25, + "defense": 35, "special-attack": 70, - "special-defense": 70, - "speed": 70 + "special-defense": 80, + "speed": 60 }, "abilities": { - "0": "Forecast" + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Gluttony" + }, + "heightm": 0.7, + "weightkg": 30.6, + "color": "Black", + "evos": [ + "Grumpig" + ], + "eggGroups": [ + "Field" + ] + }, + "grumpig": { + "num": 326, + "name": "grumpig", + "types": [ + "psychic" + ], + "baseStats": { + "hp": 80, + "attack": 45, + "defense": 65, + "special-attack": 90, + "special-defense": 110, + "speed": 80 + }, + "abilities": { + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Gluttony" }, - "heightm": 0.3, - "weightkg": 0.8, - "color": "White", + "heightm": 0.9, + "weightkg": 71.5, + "color": "Purple", + "prevo": "Spoink", + "evoLevel": 32, "eggGroups": [ - "Fairy", - "Amorphous" - ], - "requiredAbility": "Forecast", - "battleOnly": "Castform" + "Field" + ] }, - "kecleon": { - "num": 352, - "name": "kecleon", + "spinda": { + "num": 327, + "name": "spinda", "types": [ "normal" ], "baseStats": { "hp": 60, - "attack": 90, - "defense": 70, + "attack": 60, + "defense": 60, "special-attack": 60, - "special-defense": 120, - "speed": 40 + "special-defense": 60, + "speed": 60 }, "abilities": { - "0": "Color Change", - "H": "Protean" + "0": "Own Tempo", + "1": "Tangled Feet", + "H": "Contrary" }, - "heightm": 1, - "weightkg": 22, - "color": "Green", + "heightm": 1.1, + "weightkg": 5, + "color": "Brown", "eggGroups": [ - "Field" + "Field", + "Human-Like" ] }, - "shuppet": { - "num": 353, - "name": "shuppet", + "trapinch": { + "num": 328, + "name": "trapinch", "types": [ - "ghost" + "ground" ], "baseStats": { - "hp": 44, - "attack": 75, - "defense": 35, - "special-attack": 63, - "special-defense": 33, - "speed": 45 + "hp": 45, + "attack": 100, + "defense": 45, + "special-attack": 45, + "special-defense": 45, + "speed": 10 }, "abilities": { - "0": "Insomnia", - "1": "Frisk", - "H": "Cursed Body" + "0": "Hyper Cutter", + "1": "Arena Trap", + "H": "Sheer Force" }, - "heightm": 0.6, - "weightkg": 2.3, - "color": "Black", + "heightm": 0.7, + "weightkg": 15, + "color": "Brown", "evos": [ - "Banette" + "Vibrava" ], "eggGroups": [ - "Amorphous" + "Bug", + "Dragon" ] }, - "banette": { - "num": 354, - "name": "banette", + "vibrava": { + "num": 329, + "name": "vibrava", "types": [ - "ghost" + "ground", + "dragon" ], "baseStats": { - "hp": 64, - "attack": 115, - "defense": 65, - "special-attack": 83, - "special-defense": 63, - "speed": 65 + "hp": 50, + "attack": 70, + "defense": 50, + "special-attack": 50, + "special-defense": 50, + "speed": 70 }, "abilities": { - "0": "Insomnia", - "1": "Frisk", - "H": "Cursed Body" + "0": "Levitate" }, "heightm": 1.1, - "weightkg": 12.5, - "color": "Black", - "prevo": "Shuppet", - "evoLevel": 37, - "eggGroups": [ - "Amorphous" - ], - "otherFormes": [ - "Banette-Mega" + "weightkg": 15.3, + "color": "Green", + "prevo": "Trapinch", + "evoLevel": 35, + "evos": [ + "Flygon" ], - "formeOrder": [ - "Banette", - "Banette-Mega" + "eggGroups": [ + "Bug", + "Dragon" ] }, - "banettemega": { - "num": 354, - "name": "banette-mega", - "baseSpecies": "Banette", - "forme": "Mega", + "flygon": { + "num": 330, + "name": "flygon", "types": [ - "ghost" + "ground", + "dragon" ], "baseStats": { - "hp": 64, - "attack": 165, - "defense": 75, - "special-attack": 93, - "special-defense": 83, - "speed": 75 + "hp": 80, + "attack": 100, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 100 }, "abilities": { - "0": "Prankster" + "0": "Levitate" }, - "heightm": 1.2, - "weightkg": 13, - "color": "Black", + "heightm": 2, + "weightkg": 82, + "color": "Green", + "prevo": "Vibrava", + "evoLevel": 45, "eggGroups": [ - "Amorphous" - ], - "requiredItem": "Banettite" + "Bug", + "Dragon" + ] }, - "duskull": { - "num": 355, - "name": "duskull", + "cacnea": { + "num": 331, + "name": "cacnea", "types": [ - "ghost" + "grass" ], "baseStats": { - "hp": 20, - "attack": 40, - "defense": 90, - "special-attack": 30, - "special-defense": 90, - "speed": 25 + "hp": 50, + "attack": 85, + "defense": 40, + "special-attack": 85, + "special-defense": 40, + "speed": 35 }, "abilities": { - "0": "Levitate", - "H": "Frisk" + "0": "Sand Veil", + "H": "Water Absorb" }, - "heightm": 0.8, - "weightkg": 15, - "color": "Black", + "heightm": 0.4, + "weightkg": 51.3, + "color": "Green", "evos": [ - "Dusclops" + "Cacturne" ], "eggGroups": [ - "Amorphous" + "Grass", + "Human-Like" ] }, - "dusclops": { - "num": 356, - "name": "dusclops", + "cacturne": { + "num": 332, + "name": "cacturne", "types": [ - "ghost" + "grass", + "dark" ], "baseStats": { - "hp": 40, - "attack": 70, - "defense": 130, - "special-attack": 60, - "special-defense": 130, - "speed": 25 + "hp": 70, + "attack": 115, + "defense": 60, + "special-attack": 115, + "special-defense": 60, + "speed": 55 }, "abilities": { - "0": "Pressure", - "H": "Frisk" + "0": "Sand Veil", + "H": "Water Absorb" }, - "heightm": 1.6, - "weightkg": 30.6, - "color": "Black", - "prevo": "Duskull", - "evoLevel": 37, + "heightm": 1.3, + "weightkg": 77.4, + "color": "Green", + "prevo": "Cacnea", + "evoLevel": 32, + "eggGroups": [ + "Grass", + "Human-Like" + ] + }, + "swablu": { + "num": 333, + "name": "swablu", + "types": [ + "normal", + "flying" + ], + "baseStats": { + "hp": 45, + "attack": 40, + "defense": 60, + "special-attack": 40, + "special-defense": 75, + "speed": 50 + }, + "abilities": { + "0": "Natural Cure", + "H": "Cloud Nine" + }, + "heightm": 0.4, + "weightkg": 1.2, + "color": "Blue", "evos": [ - "Dusknoir" + "Altaria" ], "eggGroups": [ - "Amorphous" + "Flying", + "Dragon" ] }, - "tropius": { - "num": 357, - "name": "tropius", + "altaria": { + "num": 334, + "name": "altaria", "types": [ - "grass", + "dragon", "flying" ], "baseStats": { - "hp": 99, - "attack": 68, - "defense": 83, - "special-attack": 72, - "special-defense": 87, - "speed": 51 + "hp": 75, + "attack": 70, + "defense": 90, + "special-attack": 70, + "special-defense": 105, + "speed": 80 }, "abilities": { - "0": "Chlorophyll", - "1": "Solar Power", - "H": "Harvest" + "0": "Natural Cure", + "H": "Cloud Nine" }, - "heightm": 2, - "weightkg": 100, - "color": "Green", + "heightm": 1.1, + "weightkg": 20.6, + "color": "Blue", + "prevo": "Swablu", + "evoLevel": 35, "eggGroups": [ - "Monster", - "Grass" + "Flying", + "Dragon" + ], + "otherFormes": [ + "Altaria-Mega" + ], + "formeOrder": [ + "Altaria", + "Altaria-Mega" ] }, - "chimecho": { - "num": 358, - "name": "chimecho", + "altariamega": { + "num": 334, + "name": "altaria-mega", + "baseSpecies": "Altaria", + "forme": "Mega", "types": [ - "psychic" + "dragon", + "fairy" ], "baseStats": { "hp": 75, - "attack": 50, - "defense": 80, - "special-attack": 95, - "special-defense": 90, - "speed": 65 + "attack": 110, + "defense": 110, + "special-attack": 110, + "special-defense": 105, + "speed": 80 }, "abilities": { - "0": "Levitate" + "0": "Pixilate" }, - "heightm": 0.6, - "weightkg": 1, + "heightm": 1.5, + "weightkg": 20.6, "color": "Blue", - "prevo": "Chingling", - "evoType": "levelFriendship", - "evoCondition": "at night", "eggGroups": [ - "Amorphous" + "Flying", + "Dragon" ], - "canHatch": true + "requiredItem": "Altarianite" }, - "absol": { - "num": 359, - "name": "absol", + "zangoose": { + "num": 335, + "name": "zangoose", "types": [ - "dark" + "normal" ], "baseStats": { - "hp": 65, - "attack": 130, + "hp": 73, + "attack": 115, "defense": 60, - "special-attack": 75, + "special-attack": 60, "special-defense": 60, - "speed": 75 + "speed": 90 }, "abilities": { - "0": "Pressure", - "1": "Super Luck", - "H": "Justified" + "0": "Immunity", + "H": "Toxic Boost" }, - "heightm": 1.2, - "weightkg": 47, + "heightm": 1.3, + "weightkg": 40.3, "color": "White", "eggGroups": [ "Field" - ], - "otherFormes": [ - "Absol-Mega" - ], - "formeOrder": [ - "Absol", - "Absol-Mega" ] }, - "absolmega": { - "num": 359, - "name": "absol-mega", - "baseSpecies": "Absol", - "forme": "Mega", + "seviper": { + "num": 336, + "name": "seviper", "types": [ - "dark" + "poison" ], "baseStats": { - "hp": 65, - "attack": 150, + "hp": 73, + "attack": 100, "defense": 60, - "special-attack": 115, + "special-attack": 100, "special-defense": 60, - "speed": 115 + "speed": 65 }, "abilities": { - "0": "Magic Bounce" + "0": "Shed Skin", + "H": "Infiltrator" }, - "heightm": 1.2, - "weightkg": 49, - "color": "White", + "heightm": 2.7, + "weightkg": 52.5, + "color": "Black", "eggGroups": [ - "Field" - ], - "requiredItem": "Absolite" + "Field", + "Dragon" + ] }, - "wynaut": { - "num": 360, - "name": "wynaut", + "lunatone": { + "num": 337, + "name": "lunatone", "types": [ + "rock", "psychic" ], + "gender": "N", "baseStats": { - "hp": 95, - "attack": 23, - "defense": 48, - "special-attack": 23, - "special-defense": 48, - "speed": 23 + "hp": 90, + "attack": 55, + "defense": 65, + "special-attack": 95, + "special-defense": 85, + "speed": 70 }, "abilities": { - "0": "Shadow Tag", - "H": "Telepathy" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 14, - "color": "Blue", - "evos": [ - "Wobbuffet" - ], + "heightm": 1, + "weightkg": 168, + "color": "Yellow", "eggGroups": [ - "Undiscovered" + "Mineral" + ] + }, + "solrock": { + "num": 338, + "name": "solrock", + "types": [ + "rock", + "psychic" ], - "canHatch": true + "gender": "N", + "baseStats": { + "hp": 90, + "attack": 95, + "defense": 85, + "special-attack": 55, + "special-defense": 65, + "speed": 70 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.2, + "weightkg": 154, + "color": "Red", + "eggGroups": [ + "Mineral" + ] }, - "snorunt": { - "num": 361, - "name": "snorunt", + "barboach": { + "num": 339, + "name": "barboach", "types": [ - "ice" + "water", + "ground" ], "baseStats": { "hp": 50, - "attack": 50, - "defense": 50, - "special-attack": 50, - "special-defense": 50, - "speed": 50 + "attack": 48, + "defense": 43, + "special-attack": 46, + "special-defense": 41, + "speed": 60 }, "abilities": { - "0": "Inner Focus", - "1": "Ice Body", - "H": "Moody" + "0": "Oblivious", + "1": "Anticipation", + "H": "Hydration" }, - "heightm": 0.7, - "weightkg": 16.8, + "heightm": 0.4, + "weightkg": 1.9, "color": "Gray", "evos": [ - "Glalie", - "Froslass" + "Whiscash" ], "eggGroups": [ - "Fairy", - "Mineral" + "Water 2" ] }, - "glalie": { - "num": 362, - "name": "glalie", + "whiscash": { + "num": 340, + "name": "whiscash", "types": [ - "ice" + "water", + "ground" ], "baseStats": { - "hp": 80, - "attack": 80, - "defense": 80, - "special-attack": 80, - "special-defense": 80, - "speed": 80 + "hp": 110, + "attack": 78, + "defense": 73, + "special-attack": 76, + "special-defense": 71, + "speed": 60 }, "abilities": { - "0": "Inner Focus", - "1": "Ice Body", - "H": "Moody" + "0": "Oblivious", + "1": "Anticipation", + "H": "Hydration" }, - "heightm": 1.5, - "weightkg": 256.5, - "color": "Gray", - "prevo": "Snorunt", - "evoLevel": 42, + "heightm": 0.9, + "weightkg": 23.6, + "color": "Blue", + "prevo": "Barboach", + "evoLevel": 30, "eggGroups": [ - "Fairy", - "Mineral" - ], - "otherFormes": [ - "Glalie-Mega" - ], - "formeOrder": [ - "Glalie", - "Glalie-Mega" + "Water 2" ] }, - "glaliemega": { - "num": 362, - "name": "glalie-mega", - "baseSpecies": "Glalie", - "forme": "Mega", + "corphish": { + "num": 341, + "name": "corphish", "types": [ - "ice" + "water" ], "baseStats": { - "hp": 80, - "attack": 120, - "defense": 80, - "special-attack": 120, - "special-defense": 80, - "speed": 100 + "hp": 43, + "attack": 80, + "defense": 65, + "special-attack": 50, + "special-defense": 35, + "speed": 35 }, "abilities": { - "0": "Refrigerate" + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Adaptability" }, - "heightm": 2.1, - "weightkg": 350.2, - "color": "Gray", - "eggGroups": [ - "Fairy", - "Mineral" + "heightm": 0.6, + "weightkg": 11.5, + "color": "Red", + "evos": [ + "Crawdaunt" ], - "requiredItem": "Glalitite" + "eggGroups": [ + "Water 1", + "Water 3" + ] }, - "spheal": { - "num": 363, - "name": "spheal", + "crawdaunt": { + "num": 342, + "name": "crawdaunt", "types": [ - "ice", - "water" + "water", + "dark" ], "baseStats": { - "hp": 70, - "attack": 40, - "defense": 50, - "special-attack": 55, - "special-defense": 50, - "speed": 25 + "hp": 63, + "attack": 120, + "defense": 85, + "special-attack": 90, + "special-defense": 55, + "speed": 55 }, "abilities": { - "0": "Thick Fat", - "1": "Ice Body", - "H": "Oblivious" + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Adaptability" }, - "heightm": 0.8, - "weightkg": 39.5, - "color": "Blue", - "evos": [ - "Sealeo" - ], + "heightm": 1.1, + "weightkg": 32.8, + "color": "Red", + "prevo": "Corphish", + "evoLevel": 30, "eggGroups": [ "Water 1", - "Field" + "Water 3" ] }, - "sealeo": { - "num": 364, - "name": "sealeo", + "baltoy": { + "num": 343, + "name": "baltoy", "types": [ - "ice", - "water" + "ground", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 90, - "attack": 60, - "defense": 70, - "special-attack": 75, + "hp": 40, + "attack": 40, + "defense": 55, + "special-attack": 40, "special-defense": 70, - "speed": 45 + "speed": 55 }, "abilities": { - "0": "Thick Fat", - "1": "Ice Body", - "H": "Oblivious" + "0": "Levitate" }, - "heightm": 1.1, - "weightkg": 87.6, - "color": "Blue", - "prevo": "Spheal", - "evoLevel": 32, + "heightm": 0.5, + "weightkg": 21.5, + "color": "Brown", "evos": [ - "Walrein" + "Claydol" ], "eggGroups": [ - "Water 1", - "Field" + "Mineral" ] }, - "walrein": { - "num": 365, - "name": "walrein", + "claydol": { + "num": 344, + "name": "claydol", "types": [ - "ice", - "water" + "ground", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 110, - "attack": 80, - "defense": 90, - "special-attack": 95, - "special-defense": 90, - "speed": 65 + "hp": 60, + "attack": 70, + "defense": 105, + "special-attack": 70, + "special-defense": 120, + "speed": 75 }, "abilities": { - "0": "Thick Fat", - "1": "Ice Body", - "H": "Oblivious" + "0": "Levitate" }, - "heightm": 1.4, - "weightkg": 150.6, - "color": "Blue", - "prevo": "Sealeo", - "evoLevel": 44, + "heightm": 1.5, + "weightkg": 108, + "color": "Black", + "prevo": "Baltoy", + "evoLevel": 36, "eggGroups": [ - "Water 1", - "Field" + "Mineral" ] }, - "clamperl": { - "num": 366, - "name": "clamperl", + "lileep": { + "num": 345, + "name": "lileep", "types": [ - "water" + "rock", + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 35, - "attack": 64, - "defense": 85, - "special-attack": 74, - "special-defense": 55, - "speed": 32 + "hp": 66, + "attack": 41, + "defense": 77, + "special-attack": 61, + "special-defense": 87, + "speed": 23 }, "abilities": { - "0": "Shell Armor", - "H": "Rattled" + "0": "Suction Cups", + "H": "Storm Drain" }, - "heightm": 0.4, - "weightkg": 52.5, - "color": "Blue", + "heightm": 1, + "weightkg": 23.8, + "color": "Purple", "evos": [ - "Huntail", - "Gorebyss" + "Cradily" ], "eggGroups": [ - "Water 1" + "Water 3" ] }, - "huntail": { - "num": 367, - "name": "huntail", + "cradily": { + "num": 346, + "name": "cradily", "types": [ - "water" + "rock", + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 55, - "attack": 104, - "defense": 105, - "special-attack": 94, - "special-defense": 75, - "speed": 52 + "hp": 86, + "attack": 81, + "defense": 97, + "special-attack": 81, + "special-defense": 107, + "speed": 43 }, "abilities": { - "0": "Swift Swim", - "H": "Water Veil" + "0": "Suction Cups", + "H": "Storm Drain" }, - "heightm": 1.7, - "weightkg": 27, - "color": "Blue", - "prevo": "Clamperl", - "evoType": "trade", - "evoItem": "Deep Sea Tooth", + "heightm": 1.5, + "weightkg": 60.4, + "color": "Green", + "prevo": "Lileep", + "evoLevel": 40, "eggGroups": [ - "Water 1" + "Water 3" ] }, - "gorebyss": { - "num": 368, - "name": "gorebyss", + "anorith": { + "num": 347, + "name": "anorith", "types": [ - "water" + "rock", + "bug" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 55, - "attack": 84, - "defense": 105, - "special-attack": 114, - "special-defense": 75, - "speed": 52 + "hp": 45, + "attack": 95, + "defense": 50, + "special-attack": 40, + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Swift Swim", - "H": "Hydration" + "0": "Battle Armor", + "H": "Swift Swim" }, - "heightm": 1.8, - "weightkg": 22.6, - "color": "Pink", - "prevo": "Clamperl", - "evoType": "trade", - "evoItem": "Deep Sea Scale", + "heightm": 0.7, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "Armaldo" + ], "eggGroups": [ - "Water 1" + "Water 3" ] }, - "relicanth": { - "num": 369, - "name": "relicanth", + "armaldo": { + "num": 348, + "name": "armaldo", "types": [ - "water", - "rock" + "rock", + "bug" ], "genderRatio": { "M": 0.875, "F": 0.125 }, "baseStats": { - "hp": 100, - "attack": 90, - "defense": 130, - "special-attack": 45, - "special-defense": 65, - "speed": 55 + "hp": 75, + "attack": 125, + "defense": 100, + "special-attack": 70, + "special-defense": 80, + "speed": 45 }, "abilities": { - "0": "Swift Swim", - "1": "Rock Head", - "H": "Sturdy" + "0": "Battle Armor", + "H": "Swift Swim" }, - "heightm": 1, - "weightkg": 23.4, + "heightm": 1.5, + "weightkg": 68.2, "color": "Gray", + "prevo": "Anorith", + "evoLevel": 40, "eggGroups": [ - "Water 1", - "Water 2" + "Water 3" ] }, - "luvdisc": { - "num": 370, - "name": "luvdisc", + "feebas": { + "num": 349, + "name": "feebas", "types": [ "water" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 43, - "attack": 30, - "defense": 55, - "special-attack": 40, - "special-defense": 65, - "speed": 97 + "hp": 20, + "attack": 15, + "defense": 20, + "special-attack": 10, + "special-defense": 55, + "speed": 80 }, "abilities": { "0": "Swift Swim", - "H": "Hydration" + "1": "Oblivious", + "H": "Adaptability" }, "heightm": 0.6, - "weightkg": 8.7, - "color": "Pink", + "weightkg": 7.4, + "color": "Brown", + "evos": [ + "Milotic" + ], "eggGroups": [ - "Water 2" + "Water 1", + "Dragon" ] }, - "bagon": { - "num": 371, - "name": "bagon", + "milotic": { + "num": 350, + "name": "milotic", "types": [ - "dragon" + "water" ], "baseStats": { - "hp": 45, - "attack": 75, - "defense": 60, - "special-attack": 40, - "special-defense": 30, - "speed": 50 + "hp": 95, + "attack": 60, + "defense": 79, + "special-attack": 100, + "special-defense": 125, + "speed": 81 }, "abilities": { - "0": "Rock Head", - "H": "Sheer Force" + "0": "Marvel Scale", + "1": "Competitive", + "H": "Cute Charm" }, - "heightm": 0.6, - "weightkg": 42.1, - "color": "Blue", - "evos": [ - "Shelgon" - ], + "heightm": 6.2, + "weightkg": 162, + "color": "Pink", + "prevo": "Feebas", + "evoType": "trade", + "evoItem": "Prism Scale", "eggGroups": [ + "Water 1", "Dragon" ] }, - "shelgon": { - "num": 372, - "name": "shelgon", + "castform": { + "num": 351, + "name": "castform", "types": [ - "dragon" + "normal" ], "baseStats": { - "hp": 65, - "attack": 95, - "defense": 100, - "special-attack": 60, - "special-defense": 50, - "speed": 50 + "hp": 70, + "attack": 70, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Rock Head", - "H": "Overcoat" + "0": "Forecast" }, - "heightm": 1.1, - "weightkg": 110.5, - "color": "White", - "prevo": "Bagon", - "evoLevel": 30, - "evos": [ - "Salamence" + "heightm": 0.3, + "weightkg": 0.8, + "color": "Gray", + "eggGroups": [ + "Fairy", + "Amorphous" + ], + "otherFormes": [ + "Castform-Sunny", + "Castform-Rainy", + "Castform-Snowy" + ], + "formeOrder": [ + "Castform", + "Castform-Sunny", + "Castform-Rainy", + "Castform-Snowy" + ] + }, + "castformsunny": { + "num": 351, + "name": "castform-sunny", + "baseSpecies": "Castform", + "forme": "Sunny", + "types": [ + "fire" + ], + "baseStats": { + "hp": 70, + "attack": 70, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 70 + }, + "abilities": { + "0": "Forecast" + }, + "heightm": 0.3, + "weightkg": 0.8, + "color": "Red", + "eggGroups": [ + "Fairy", + "Amorphous" ], - "eggGroups": [ - "Dragon" - ] + "requiredAbility": "Forecast", + "battleOnly": "Castform" }, - "salamence": { - "num": 373, - "name": "salamence", + "castformrainy": { + "num": 351, + "name": "castform-rainy", + "baseSpecies": "Castform", + "forme": "Rainy", "types": [ - "dragon", - "flying" + "water" ], "baseStats": { - "hp": 95, - "attack": 135, - "defense": 80, - "special-attack": 110, - "special-defense": 80, - "speed": 100 + "hp": 70, + "attack": 70, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Intimidate", - "H": "Moxie" + "0": "Forecast" }, - "heightm": 1.5, - "weightkg": 102.6, + "heightm": 0.3, + "weightkg": 0.8, "color": "Blue", - "prevo": "Shelgon", - "evoLevel": 50, "eggGroups": [ - "Dragon" - ], - "otherFormes": [ - "Salamence-Mega" + "Fairy", + "Amorphous" ], - "formeOrder": [ - "Salamence", - "Salamence-Mega" - ] + "requiredAbility": "Forecast", + "battleOnly": "Castform" }, - "salamencemega": { - "num": 373, - "name": "salamence-mega", - "baseSpecies": "Salamence", - "forme": "Mega", + "castformsnowy": { + "num": 351, + "name": "castform-snowy", + "baseSpecies": "Castform", + "forme": "Snowy", "types": [ - "dragon", - "flying" + "ice" ], "baseStats": { - "hp": 95, - "attack": 145, - "defense": 130, - "special-attack": 120, - "special-defense": 90, - "speed": 120 + "hp": 70, + "attack": 70, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Aerilate" + "0": "Forecast" }, - "heightm": 1.8, - "weightkg": 112.6, - "color": "Blue", + "heightm": 0.3, + "weightkg": 0.8, + "color": "White", "eggGroups": [ - "Dragon" + "Fairy", + "Amorphous" ], - "requiredItem": "Salamencite" + "requiredAbility": "Forecast", + "battleOnly": "Castform" }, - "beldum": { - "num": 374, - "name": "beldum", + "kecleon": { + "num": 352, + "name": "kecleon", "types": [ - "steel", - "psychic" + "normal" ], - "gender": "N", "baseStats": { - "hp": 40, - "attack": 55, - "defense": 80, - "special-attack": 35, - "special-defense": 60, - "speed": 30 + "hp": 60, + "attack": 90, + "defense": 70, + "special-attack": 60, + "special-defense": 120, + "speed": 40 }, "abilities": { - "0": "Clear Body", - "H": "Light Metal" + "0": "Color Change", + "H": "Protean" }, - "heightm": 0.6, - "weightkg": 95.2, - "color": "Blue", - "evos": [ - "Metang" - ], + "heightm": 1, + "weightkg": 22, + "color": "Green", "eggGroups": [ - "Mineral" + "Field" ] }, - "metang": { - "num": 375, - "name": "metang", + "shuppet": { + "num": 353, + "name": "shuppet", "types": [ - "steel", - "psychic" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 60, + "hp": 44, "attack": 75, - "defense": 100, - "special-attack": 55, - "special-defense": 80, - "speed": 50 + "defense": 35, + "special-attack": 63, + "special-defense": 33, + "speed": 45 }, "abilities": { - "0": "Clear Body", - "H": "Light Metal" + "0": "Insomnia", + "1": "Frisk", + "H": "Cursed Body" }, - "heightm": 1.2, - "weightkg": 202.5, - "color": "Blue", - "prevo": "Beldum", - "evoLevel": 20, + "heightm": 0.6, + "weightkg": 2.3, + "color": "Black", "evos": [ - "Metagross" + "Banette" ], "eggGroups": [ - "Mineral" + "Amorphous" ] }, - "metagross": { - "num": 376, - "name": "metagross", + "banette": { + "num": 354, + "name": "banette", "types": [ - "steel", - "psychic" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 135, - "defense": 130, - "special-attack": 95, - "special-defense": 90, - "speed": 70 + "hp": 64, + "attack": 115, + "defense": 65, + "special-attack": 83, + "special-defense": 63, + "speed": 65 }, "abilities": { - "0": "Clear Body", - "H": "Light Metal" + "0": "Insomnia", + "1": "Frisk", + "H": "Cursed Body" }, - "heightm": 1.6, - "weightkg": 550, - "color": "Blue", - "prevo": "Metang", - "evoLevel": 45, + "heightm": 1.1, + "weightkg": 12.5, + "color": "Black", + "prevo": "Shuppet", + "evoLevel": 37, "eggGroups": [ - "Mineral" + "Amorphous" ], "otherFormes": [ - "Metagross-Mega" + "Banette-Mega" ], "formeOrder": [ - "Metagross", - "Metagross-Mega" + "Banette", + "Banette-Mega" ] }, - "metagrossmega": { - "num": 376, - "name": "metagross-mega", - "baseSpecies": "Metagross", + "banettemega": { + "num": 354, + "name": "banette-mega", + "baseSpecies": "Banette", "forme": "Mega", "types": [ - "steel", - "psychic" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 145, - "defense": 150, - "special-attack": 105, - "special-defense": 110, - "speed": 110 + "hp": 64, + "attack": 165, + "defense": 75, + "special-attack": 93, + "special-defense": 83, + "speed": 75 }, "abilities": { - "0": "Tough Claws" + "0": "Prankster" }, - "heightm": 2.5, - "weightkg": 942.9, - "color": "Blue", + "heightm": 1.2, + "weightkg": 13, + "color": "Black", "eggGroups": [ - "Mineral" - ], - "requiredItem": "Metagrossite" - }, - "regirock": { - "num": 377, - "name": "regirock", - "types": [ - "rock" - ], - "gender": "N", - "baseStats": { - "hp": 80, - "attack": 100, - "defense": 200, - "special-attack": 50, - "special-defense": 100, - "speed": 50 - }, - "abilities": { - "0": "Clear Body", - "H": "Sturdy" - }, - "heightm": 1.7, - "weightkg": 230, - "color": "Brown", - "tags": [ - "Sub-Legendary" + "Amorphous" ], - "eggGroups": [ - "Undiscovered" - ] + "requiredItem": "Banettite" }, - "regice": { - "num": 378, - "name": "regice", + "duskull": { + "num": 355, + "name": "duskull", "types": [ - "ice" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 50, - "defense": 100, - "special-attack": 100, - "special-defense": 200, - "speed": 50 + "hp": 20, + "attack": 40, + "defense": 90, + "special-attack": 30, + "special-defense": 90, + "speed": 25 }, "abilities": { - "0": "Clear Body", - "H": "Ice Body" + "0": "Levitate", + "H": "Frisk" }, - "heightm": 1.8, - "weightkg": 175, - "color": "Blue", - "tags": [ - "Sub-Legendary" + "heightm": 0.8, + "weightkg": 15, + "color": "Black", + "evos": [ + "Dusclops" ], "eggGroups": [ - "Undiscovered" + "Amorphous" ] }, - "registeel": { - "num": 379, - "name": "registeel", + "dusclops": { + "num": 356, + "name": "dusclops", "types": [ - "steel" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 75, - "defense": 150, - "special-attack": 75, - "special-defense": 150, - "speed": 50 + "hp": 40, + "attack": 70, + "defense": 130, + "special-attack": 60, + "special-defense": 130, + "speed": 25 }, "abilities": { - "0": "Clear Body", - "H": "Light Metal" + "0": "Pressure", + "H": "Frisk" }, - "heightm": 1.9, - "weightkg": 205, - "color": "Gray", - "tags": [ - "Sub-Legendary" + "heightm": 1.6, + "weightkg": 30.6, + "color": "Black", + "prevo": "Duskull", + "evoLevel": 37, + "evos": [ + "Dusknoir" ], "eggGroups": [ - "Undiscovered" + "Amorphous" ] }, - "latias": { - "num": 380, - "name": "latias", + "tropius": { + "num": 357, + "name": "tropius", "types": [ - "dragon", - "psychic" + "grass", + "flying" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 80, - "defense": 90, - "special-attack": 110, - "special-defense": 130, - "speed": 110 + "hp": 99, + "attack": 68, + "defense": 83, + "special-attack": 72, + "special-defense": 87, + "speed": 51 }, "abilities": { - "0": "Levitate" + "0": "Chlorophyll", + "1": "Solar Power", + "H": "Harvest" }, - "heightm": 1.4, - "weightkg": 40, - "color": "Red", - "tags": [ - "Sub-Legendary" - ], + "heightm": 2, + "weightkg": 100, + "color": "Green", "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Latias-Mega" - ], - "formeOrder": [ - "Latias", - "Latias-Mega" + "Monster", + "Grass" ] }, - "latiasmega": { - "num": 380, - "name": "latias-mega", - "baseSpecies": "Latias", - "forme": "Mega", + "chimecho": { + "num": 358, + "name": "chimecho", "types": [ - "dragon", "psychic" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 100, - "defense": 120, - "special-attack": 140, - "special-defense": 150, - "speed": 110 + "hp": 75, + "attack": 50, + "defense": 80, + "special-attack": 95, + "special-defense": 90, + "speed": 65 }, "abilities": { "0": "Levitate" }, - "heightm": 1.8, - "weightkg": 52, - "color": "Purple", + "heightm": 0.6, + "weightkg": 1, + "color": "Blue", + "prevo": "Chingling", + "evoType": "levelFriendship", + "evoCondition": "at night", "eggGroups": [ - "Undiscovered" + "Amorphous" ], - "requiredItem": "Latiasite" + "canHatch": true }, - "latios": { - "num": 381, - "name": "latios", + "absol": { + "num": 359, + "name": "absol", "types": [ - "dragon", - "psychic" + "dark" ], - "gender": "M", "baseStats": { - "hp": 80, - "attack": 90, - "defense": 80, - "special-attack": 130, - "special-defense": 110, - "speed": 110 + "hp": 65, + "attack": 130, + "defense": 60, + "special-attack": 75, + "special-defense": 60, + "speed": 75 }, "abilities": { - "0": "Levitate" + "0": "Pressure", + "1": "Super Luck", + "H": "Justified" }, - "heightm": 2, - "weightkg": 60, - "color": "Blue", + "heightm": 1.2, + "weightkg": 47, + "color": "White", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Sub-Legendary" + "Field" ], "otherFormes": [ - "Latios-Mega" + "Absol-Mega" ], "formeOrder": [ - "Latios", - "Latios-Mega" + "Absol", + "Absol-Mega" ] }, - "latiosmega": { - "num": 381, - "name": "latios-mega", - "baseSpecies": "Latios", + "absolmega": { + "num": 359, + "name": "absol-mega", + "baseSpecies": "Absol", "forme": "Mega", "types": [ - "dragon", - "psychic" + "dark" ], - "gender": "M", "baseStats": { - "hp": 80, - "attack": 130, - "defense": 100, - "special-attack": 160, - "special-defense": 120, - "speed": 110 + "hp": 65, + "attack": 150, + "defense": 60, + "special-attack": 115, + "special-defense": 60, + "speed": 115 }, "abilities": { - "0": "Levitate" + "0": "Magic Bounce" }, - "heightm": 2.3, - "weightkg": 70, - "color": "Purple", + "heightm": 1.2, + "weightkg": 49, + "color": "White", "eggGroups": [ - "Undiscovered" + "Field" ], - "requiredItem": "Latiosite" + "requiredItem": "Absolite" }, - "kyogre": { - "num": 382, - "name": "kyogre", + "wynaut": { + "num": 360, + "name": "wynaut", "types": [ - "water" + "psychic" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 90, - "special-attack": 150, - "special-defense": 140, - "speed": 90 + "hp": 95, + "attack": 23, + "defense": 48, + "special-attack": 23, + "special-defense": 48, + "speed": 23 }, "abilities": { - "0": "Drizzle" + "0": "Shadow Tag", + "H": "Telepathy" }, - "heightm": 4.5, - "weightkg": 352, + "heightm": 0.6, + "weightkg": 14, "color": "Blue", - "tags": [ - "Restricted Legendary" + "evos": [ + "Wobbuffet" ], "eggGroups": [ "Undiscovered" ], - "otherFormes": [ - "Kyogre-Primal" - ], - "formeOrder": [ - "Kyogre", - "Kyogre-Primal" - ] + "canHatch": true }, - "kyogreprimal": { - "num": 382, - "name": "kyogre-primal", - "baseSpecies": "Kyogre", - "forme": "Primal", + "snorunt": { + "num": 361, + "name": "snorunt", "types": [ - "water" + "ice" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 150, - "defense": 90, - "special-attack": 180, - "special-defense": 160, - "speed": 90 + "hp": 50, + "attack": 50, + "defense": 50, + "special-attack": 50, + "special-defense": 50, + "speed": 50 }, "abilities": { - "0": "Primordial Sea" + "0": "Inner Focus", + "1": "Ice Body", + "H": "Moody" }, - "heightm": 9.8, - "weightkg": 430, - "color": "Blue", - "eggGroups": [ - "Undiscovered" + "heightm": 0.7, + "weightkg": 16.8, + "color": "Gray", + "evos": [ + "Glalie", + "Froslass" ], - "requiredItem": "Blue Orb" + "eggGroups": [ + "Fairy", + "Mineral" + ] }, - "groudon": { - "num": 383, - "name": "groudon", + "glalie": { + "num": 362, + "name": "glalie", "types": [ - "ground" + "ice" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 150, - "defense": 140, - "special-attack": 100, - "special-defense": 90, - "speed": 90 + "hp": 80, + "attack": 80, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 80 }, "abilities": { - "0": "Drought" + "0": "Inner Focus", + "1": "Ice Body", + "H": "Moody" }, - "heightm": 3.5, - "weightkg": 950, - "color": "Red", - "tags": [ - "Restricted Legendary" - ], + "heightm": 1.5, + "weightkg": 256.5, + "color": "Gray", + "prevo": "Snorunt", + "evoLevel": 42, "eggGroups": [ - "Undiscovered" + "Fairy", + "Mineral" ], "otherFormes": [ - "Groudon-Primal" + "Glalie-Mega" ], "formeOrder": [ - "Groudon", - "Groudon-Primal" + "Glalie", + "Glalie-Mega" ] }, - "groudonprimal": { - "num": 383, - "name": "groudon-primal", - "baseSpecies": "Groudon", - "forme": "Primal", + "glaliemega": { + "num": 362, + "name": "glalie-mega", + "baseSpecies": "Glalie", + "forme": "Mega", "types": [ - "ground", - "fire" + "ice" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 180, - "defense": 160, - "special-attack": 150, - "special-defense": 90, - "speed": 90 + "hp": 80, + "attack": 120, + "defense": 80, + "special-attack": 120, + "special-defense": 80, + "speed": 100 }, "abilities": { - "0": "Desolate Land" + "0": "Refrigerate" }, - "heightm": 5, - "weightkg": 999.7, - "color": "Red", + "heightm": 2.1, + "weightkg": 350.2, + "color": "Gray", "eggGroups": [ - "Undiscovered" + "Fairy", + "Mineral" ], - "requiredItem": "Red Orb" + "requiredItem": "Glalitite" }, - "rayquaza": { - "num": 384, - "name": "rayquaza", + "spheal": { + "num": 363, + "name": "spheal", "types": [ - "dragon", - "flying" + "ice", + "water" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 150, - "defense": 90, - "special-attack": 150, - "special-defense": 90, - "speed": 95 + "hp": 70, + "attack": 40, + "defense": 50, + "special-attack": 55, + "special-defense": 50, + "speed": 25 }, "abilities": { - "0": "Air Lock" + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" }, - "heightm": 7, - "weightkg": 206.5, - "color": "Green", - "tags": [ - "Restricted Legendary" + "heightm": 0.8, + "weightkg": 39.5, + "color": "Blue", + "evos": [ + "Sealeo" ], "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Rayquaza-Mega" - ], - "formeOrder": [ - "Rayquaza", - "Rayquaza-Mega" + "Water 1", + "Field" ] }, - "rayquazamega": { - "num": 384, - "name": "rayquaza-mega", - "baseSpecies": "Rayquaza", - "forme": "Mega", + "sealeo": { + "num": 364, + "name": "sealeo", "types": [ - "dragon", - "flying" + "ice", + "water" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 180, - "defense": 100, - "special-attack": 180, - "special-defense": 100, - "speed": 115 + "hp": 90, + "attack": 60, + "defense": 70, + "special-attack": 75, + "special-defense": 70, + "speed": 45 }, "abilities": { - "0": "Delta Stream" + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" }, - "heightm": 10.8, - "weightkg": 392, - "color": "Green", - "eggGroups": [ - "Undiscovered" + "heightm": 1.1, + "weightkg": 87.6, + "color": "Blue", + "prevo": "Spheal", + "evoLevel": 32, + "evos": [ + "Walrein" ], - "requiredMove": "Dragon Ascent" + "eggGroups": [ + "Water 1", + "Field" + ] }, - "jirachi": { - "num": 385, - "name": "jirachi", + "walrein": { + "num": 365, + "name": "walrein", "types": [ - "steel", - "psychic" + "ice", + "water" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 110, + "attack": 80, + "defense": 90, + "special-attack": 95, + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Serene Grace" + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" }, - "heightm": 0.3, - "weightkg": 1.1, - "color": "Yellow", - "tags": [ - "Mythical" - ], + "heightm": 1.4, + "weightkg": 150.6, + "color": "Blue", + "prevo": "Sealeo", + "evoLevel": 44, "eggGroups": [ - "Undiscovered" + "Water 1", + "Field" ] }, - "deoxys": { - "num": 386, - "name": "deoxys", - "baseForme": "Normal", + "clamperl": { + "num": 366, + "name": "clamperl", "types": [ - "psychic" + "water" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 150, - "defense": 50, - "special-attack": 150, - "special-defense": 50, - "speed": 150 + "hp": 35, + "attack": 64, + "defense": 85, + "special-attack": 74, + "special-defense": 55, + "speed": 32 }, "abilities": { - "0": "Pressure" + "0": "Shell Armor", + "H": "Rattled" }, - "heightm": 1.7, - "weightkg": 60.8, - "color": "Red", - "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" - ], - "otherFormes": [ - "Deoxys-Attack", - "Deoxys-Defense", - "Deoxys-Speed" + "heightm": 0.4, + "weightkg": 52.5, + "color": "Blue", + "evos": [ + "Huntail", + "Gorebyss" ], - "formeOrder": [ - "Deoxys", - "Deoxys-Attack", - "Deoxys-Defense", - "Deoxys-Speed" + "eggGroups": [ + "Water 1" ] }, - "deoxysattack": { - "num": 386, - "name": "deoxys-attack", - "baseSpecies": "Deoxys", - "forme": "Attack", + "huntail": { + "num": 367, + "name": "huntail", "types": [ - "psychic" + "water" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 180, - "defense": 20, - "special-attack": 180, - "special-defense": 20, - "speed": 150 + "hp": 55, + "attack": 104, + "defense": 105, + "special-attack": 94, + "special-defense": 75, + "speed": 52 }, "abilities": { - "0": "Pressure" + "0": "Swift Swim", + "H": "Water Veil" }, "heightm": 1.7, - "weightkg": 60.8, - "color": "Red", + "weightkg": 27, + "color": "Blue", + "prevo": "Clamperl", + "evoType": "trade", + "evoItem": "Deep Sea Tooth", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Deoxys" + "Water 1" + ] }, - "deoxysdefense": { - "num": 386, - "name": "deoxys-defense", - "baseSpecies": "Deoxys", - "forme": "Defense", + "gorebyss": { + "num": 368, + "name": "gorebyss", "types": [ - "psychic" + "water" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 70, - "defense": 160, - "special-attack": 70, - "special-defense": 160, - "speed": 90 + "hp": 55, + "attack": 84, + "defense": 105, + "special-attack": 114, + "special-defense": 75, + "speed": 52 }, "abilities": { - "0": "Pressure" + "0": "Swift Swim", + "H": "Hydration" }, - "heightm": 1.7, - "weightkg": 60.8, - "color": "Red", + "heightm": 1.8, + "weightkg": 22.6, + "color": "Pink", + "prevo": "Clamperl", + "evoType": "trade", + "evoItem": "Deep Sea Scale", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Deoxys" + "Water 1" + ] }, - "deoxysspeed": { - "num": 386, - "name": "deoxys-speed", - "baseSpecies": "Deoxys", - "forme": "Speed", + "relicanth": { + "num": 369, + "name": "relicanth", "types": [ - "psychic" + "water", + "rock" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 50, - "attack": 95, - "defense": 90, - "special-attack": 95, - "special-defense": 90, - "speed": 180 + "hp": 100, + "attack": 90, + "defense": 130, + "special-attack": 45, + "special-defense": 65, + "speed": 55 }, "abilities": { - "0": "Pressure" + "0": "Swift Swim", + "1": "Rock Head", + "H": "Sturdy" }, - "heightm": 1.7, - "weightkg": 60.8, - "color": "Red", + "heightm": 1, + "weightkg": 23.4, + "color": "Gray", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Deoxys" + "Water 1", + "Water 2" + ] }, - "turtwig": { - "num": 387, - "name": "turtwig", + "luvdisc": { + "num": 370, + "name": "luvdisc", "types": [ - "grass" + "water" ], "genderRatio": { - "M": 0.875, - "F": 0.125 + "M": 0.25, + "F": 0.75 }, "baseStats": { - "hp": 55, - "attack": 68, - "defense": 64, - "special-attack": 45, - "special-defense": 55, - "speed": 31 + "hp": 43, + "attack": 30, + "defense": 55, + "special-attack": 40, + "special-defense": 65, + "speed": 97 + }, + "abilities": { + "0": "Swift Swim", + "H": "Hydration" + }, + "heightm": 0.6, + "weightkg": 8.7, + "color": "Pink", + "eggGroups": [ + "Water 2" + ] + }, + "bagon": { + "num": 371, + "name": "bagon", + "types": [ + "dragon" + ], + "baseStats": { + "hp": 45, + "attack": 75, + "defense": 60, + "special-attack": 40, + "special-defense": 30, + "speed": 50 }, "abilities": { - "0": "Overgrow", - "H": "Shell Armor" + "0": "Rock Head", + "H": "Sheer Force" }, - "heightm": 0.4, - "weightkg": 10.2, - "color": "Green", + "heightm": 0.6, + "weightkg": 42.1, + "color": "Blue", "evos": [ - "Grotle" + "Shelgon" ], "eggGroups": [ - "Monster", - "Grass" + "Dragon" ] }, - "grotle": { - "num": 388, - "name": "grotle", + "shelgon": { + "num": 372, + "name": "shelgon", "types": [ - "grass" + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 75, - "attack": 89, - "defense": 85, - "special-attack": 55, - "special-defense": 65, - "speed": 36 + "hp": 65, + "attack": 95, + "defense": 100, + "special-attack": 60, + "special-defense": 50, + "speed": 50 }, "abilities": { - "0": "Overgrow", - "H": "Shell Armor" + "0": "Rock Head", + "H": "Overcoat" }, "heightm": 1.1, - "weightkg": 97, - "color": "Green", - "prevo": "Turtwig", - "evoLevel": 18, + "weightkg": 110.5, + "color": "White", + "prevo": "Bagon", + "evoLevel": 30, "evos": [ - "Torterra" + "Salamence" ], "eggGroups": [ - "Monster", - "Grass" + "Dragon" ] }, - "torterra": { - "num": 389, - "name": "torterra", + "salamence": { + "num": 373, + "name": "salamence", "types": [ - "grass", - "ground" + "dragon", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { "hp": 95, - "attack": 109, - "defense": 105, - "special-attack": 75, - "special-defense": 85, - "speed": 56 + "attack": 135, + "defense": 80, + "special-attack": 110, + "special-defense": 80, + "speed": 100 }, "abilities": { - "0": "Overgrow", - "H": "Shell Armor" + "0": "Intimidate", + "H": "Moxie" }, - "heightm": 2.2, - "weightkg": 310, - "color": "Green", - "prevo": "Grotle", - "evoLevel": 32, + "heightm": 1.5, + "weightkg": 102.6, + "color": "Blue", + "prevo": "Shelgon", + "evoLevel": 50, "eggGroups": [ - "Monster", - "Grass" + "Dragon" + ], + "otherFormes": [ + "Salamence-Mega" + ], + "formeOrder": [ + "Salamence", + "Salamence-Mega" ] }, - "chimchar": { - "num": 390, - "name": "chimchar", + "salamencemega": { + "num": 373, + "name": "salamence-mega", + "baseSpecies": "Salamence", + "forme": "Mega", "types": [ - "fire" + "dragon", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 + "baseStats": { + "hp": 95, + "attack": 145, + "defense": 130, + "special-attack": 120, + "special-defense": 90, + "speed": 120 + }, + "abilities": { + "0": "Aerilate" }, + "heightm": 1.8, + "weightkg": 112.6, + "color": "Blue", + "eggGroups": [ + "Dragon" + ], + "requiredItem": "Salamencite" + }, + "beldum": { + "num": 374, + "name": "beldum", + "types": [ + "steel", + "psychic" + ], + "gender": "N", "baseStats": { - "hp": 44, - "attack": 58, - "defense": 44, - "special-attack": 58, - "special-defense": 44, - "speed": 61 + "hp": 40, + "attack": 55, + "defense": 80, + "special-attack": 35, + "special-defense": 60, + "speed": 30 }, "abilities": { - "0": "Blaze", - "H": "Iron Fist" + "0": "Clear Body", + "H": "Light Metal" }, - "heightm": 0.5, - "weightkg": 6.2, - "color": "Brown", + "heightm": 0.6, + "weightkg": 95.2, + "color": "Blue", "evos": [ - "Monferno" + "Metang" ], "eggGroups": [ - "Field", - "Human-Like" + "Mineral" ] }, - "monferno": { - "num": 391, - "name": "monferno", + "metang": { + "num": 375, + "name": "metang", "types": [ - "fire", - "fighting" + "steel", + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 64, - "attack": 78, - "defense": 52, - "special-attack": 78, - "special-defense": 52, - "speed": 81 + "hp": 60, + "attack": 75, + "defense": 100, + "special-attack": 55, + "special-defense": 80, + "speed": 50 }, "abilities": { - "0": "Blaze", - "H": "Iron Fist" + "0": "Clear Body", + "H": "Light Metal" }, - "heightm": 0.9, - "weightkg": 22, - "color": "Brown", - "prevo": "Chimchar", - "evoLevel": 14, + "heightm": 1.2, + "weightkg": 202.5, + "color": "Blue", + "prevo": "Beldum", + "evoLevel": 20, "evos": [ - "Infernape" + "Metagross" ], "eggGroups": [ - "Field", - "Human-Like" + "Mineral" ] }, - "infernape": { - "num": 392, - "name": "infernape", + "metagross": { + "num": 376, + "name": "metagross", "types": [ - "fire", - "fighting" + "steel", + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 76, - "attack": 104, - "defense": 71, - "special-attack": 104, - "special-defense": 71, - "speed": 108 + "hp": 80, + "attack": 135, + "defense": 130, + "special-attack": 95, + "special-defense": 90, + "speed": 70 }, "abilities": { - "0": "Blaze", - "H": "Iron Fist" + "0": "Clear Body", + "H": "Light Metal" }, - "heightm": 1.2, - "weightkg": 55, - "color": "Brown", - "prevo": "Monferno", - "evoLevel": 36, + "heightm": 1.6, + "weightkg": 550, + "color": "Blue", + "prevo": "Metang", + "evoLevel": 45, "eggGroups": [ - "Field", - "Human-Like" + "Mineral" + ], + "otherFormes": [ + "Metagross-Mega" + ], + "formeOrder": [ + "Metagross", + "Metagross-Mega" ] }, - "piplup": { - "num": 393, - "name": "piplup", + "metagrossmega": { + "num": 376, + "name": "metagross-mega", + "baseSpecies": "Metagross", + "forme": "Mega", "types": [ - "water" + "steel", + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 53, - "attack": 51, - "defense": 53, - "special-attack": 61, - "special-defense": 56, - "speed": 40 + "hp": 80, + "attack": 145, + "defense": 150, + "special-attack": 105, + "special-defense": 110, + "speed": 110 }, "abilities": { - "0": "Torrent", - "H": "Competitive" + "0": "Tough Claws" }, - "heightm": 0.4, - "weightkg": 5.2, + "heightm": 2.5, + "weightkg": 942.9, "color": "Blue", - "evos": [ - "Prinplup" + "eggGroups": [ + "Mineral" + ], + "requiredItem": "Metagrossite" + }, + "regirock": { + "num": 377, + "name": "regirock", + "types": [ + "rock" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "attack": 100, + "defense": 200, + "special-attack": 50, + "special-defense": 100, + "speed": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Sturdy" + }, + "heightm": 1.7, + "weightkg": 230, + "color": "Brown", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" ] }, - "prinplup": { - "num": 394, - "name": "prinplup", + "regice": { + "num": 378, + "name": "regice", "types": [ - "water" + "ice" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 64, - "attack": 66, - "defense": 68, - "special-attack": 81, - "special-defense": 76, + "hp": 80, + "attack": 50, + "defense": 100, + "special-attack": 100, + "special-defense": 200, "speed": 50 }, "abilities": { - "0": "Torrent", - "H": "Competitive" + "0": "Clear Body", + "H": "Ice Body" }, - "heightm": 0.8, - "weightkg": 23, + "heightm": 1.8, + "weightkg": 175, "color": "Blue", - "prevo": "Piplup", - "evoLevel": 16, - "evos": [ - "Empoleon" + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" ] }, - "empoleon": { - "num": 395, - "name": "empoleon", + "registeel": { + "num": 379, + "name": "registeel", "types": [ - "water", "steel" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 84, - "attack": 86, - "defense": 88, - "special-attack": 111, - "special-defense": 101, - "speed": 60 + "hp": 80, + "attack": 75, + "defense": 150, + "special-attack": 75, + "special-defense": 150, + "speed": 50 }, "abilities": { - "0": "Torrent", - "H": "Competitive" + "0": "Clear Body", + "H": "Light Metal" }, - "heightm": 1.7, - "weightkg": 84.5, - "color": "Blue", - "prevo": "Prinplup", - "evoLevel": 36, + "heightm": 1.9, + "weightkg": 205, + "color": "Gray", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" ] }, - "starly": { - "num": 396, - "name": "starly", + "latias": { + "num": 380, + "name": "latias", "types": [ - "normal", - "flying" + "dragon", + "psychic" ], + "gender": "F", "baseStats": { - "hp": 40, - "attack": 55, - "defense": 30, - "special-attack": 30, - "special-defense": 30, - "speed": 60 + "hp": 80, + "attack": 80, + "defense": 90, + "special-attack": 110, + "special-defense": 130, + "speed": 110 }, "abilities": { - "0": "Keen Eye", - "H": "Reckless" + "0": "Levitate" }, - "heightm": 0.3, - "weightkg": 2, - "color": "Brown", - "evos": [ - "Staravia" + "heightm": 1.4, + "weightkg": 40, + "color": "Red", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Flying" + "Undiscovered" + ], + "otherFormes": [ + "Latias-Mega" + ], + "formeOrder": [ + "Latias", + "Latias-Mega" ] }, - "staravia": { - "num": 397, - "name": "staravia", + "latiasmega": { + "num": 380, + "name": "latias-mega", + "baseSpecies": "Latias", + "forme": "Mega", "types": [ - "normal", - "flying" + "dragon", + "psychic" ], + "gender": "F", "baseStats": { - "hp": 55, - "attack": 75, - "defense": 50, - "special-attack": 40, - "special-defense": 40, - "speed": 80 + "hp": 80, + "attack": 100, + "defense": 120, + "special-attack": 140, + "special-defense": 150, + "speed": 110 }, "abilities": { - "0": "Intimidate", - "H": "Reckless" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 15.5, - "color": "Brown", - "prevo": "Starly", - "evoLevel": 14, - "evos": [ - "Staraptor" + "heightm": 1.8, + "weightkg": 52, + "color": "Purple", + "eggGroups": [ + "Undiscovered" ], - "eggGroups": [ - "Flying" - ] + "requiredItem": "Latiasite" }, - "staraptor": { - "num": 398, - "name": "staraptor", + "latios": { + "num": 381, + "name": "latios", "types": [ - "normal", - "flying" + "dragon", + "psychic" ], + "gender": "M", "baseStats": { - "hp": 85, - "attack": 120, - "defense": 70, - "special-attack": 50, - "special-defense": 60, - "speed": 100 + "hp": 80, + "attack": 90, + "defense": 80, + "special-attack": 130, + "special-defense": 110, + "speed": 110 }, "abilities": { - "0": "Intimidate", - "H": "Reckless" + "0": "Levitate" }, - "heightm": 1.2, - "weightkg": 24.9, - "color": "Brown", - "prevo": "Staravia", - "evoLevel": 34, + "heightm": 2, + "weightkg": 60, + "color": "Blue", "eggGroups": [ - "Flying" + "Undiscovered" + ], + "tags": [ + "Sub-Legendary" + ], + "otherFormes": [ + "Latios-Mega" + ], + "formeOrder": [ + "Latios", + "Latios-Mega" ] }, - "bidoof": { - "num": 399, - "name": "bidoof", + "latiosmega": { + "num": 381, + "name": "latios-mega", + "baseSpecies": "Latios", + "forme": "Mega", "types": [ - "normal" + "dragon", + "psychic" ], + "gender": "M", "baseStats": { - "hp": 59, - "attack": 45, - "defense": 40, - "special-attack": 35, - "special-defense": 40, - "speed": 31 + "hp": 80, + "attack": 130, + "defense": 100, + "special-attack": 160, + "special-defense": 120, + "speed": 110 }, "abilities": { - "0": "Simple", - "1": "Unaware", - "H": "Moody" + "0": "Levitate" }, - "heightm": 0.5, - "weightkg": 20, - "color": "Brown", - "evos": [ - "Bibarel" - ], + "heightm": 2.3, + "weightkg": 70, + "color": "Purple", "eggGroups": [ - "Water 1", - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Latiosite" }, - "bibarel": { - "num": 400, - "name": "bibarel", + "kyogre": { + "num": 382, + "name": "kyogre", "types": [ - "normal", "water" ], + "gender": "N", "baseStats": { - "hp": 79, - "attack": 85, - "defense": 60, - "special-attack": 55, - "special-defense": 60, - "speed": 71 + "hp": 100, + "attack": 100, + "defense": 90, + "special-attack": 150, + "special-defense": 140, + "speed": 90 }, "abilities": { - "0": "Simple", - "1": "Unaware", - "H": "Moody" + "0": "Drizzle" }, - "heightm": 1, - "weightkg": 31.5, - "color": "Brown", - "prevo": "Bidoof", - "evoLevel": 15, + "heightm": 4.5, + "weightkg": 352, + "color": "Blue", + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" + ], + "otherFormes": [ + "Kyogre-Primal" + ], + "formeOrder": [ + "Kyogre", + "Kyogre-Primal" ] }, - "kricketot": { - "num": 401, - "name": "kricketot", + "kyogreprimal": { + "num": 382, + "name": "kyogre-primal", + "baseSpecies": "Kyogre", + "forme": "Primal", "types": [ - "bug" + "water" ], + "gender": "N", "baseStats": { - "hp": 37, - "attack": 25, - "defense": 41, - "special-attack": 25, - "special-defense": 41, - "speed": 25 + "hp": 100, + "attack": 150, + "defense": 90, + "special-attack": 180, + "special-defense": 160, + "speed": 90 }, "abilities": { - "0": "Shed Skin", - "H": "Run Away" + "0": "Primordial Sea" }, - "heightm": 0.3, - "weightkg": 2.2, - "color": "Red", - "evos": [ - "Kricketune" - ], + "heightm": 9.8, + "weightkg": 430, + "color": "Blue", "eggGroups": [ - "Bug" - ] + "Undiscovered" + ], + "requiredItem": "Blue Orb" }, - "kricketune": { - "num": 402, - "name": "kricketune", + "groudon": { + "num": 383, + "name": "groudon", "types": [ - "bug" + "ground" ], + "gender": "N", "baseStats": { - "hp": 77, - "attack": 85, - "defense": 51, - "special-attack": 55, - "special-defense": 51, - "speed": 65 + "hp": 100, + "attack": 150, + "defense": 140, + "special-attack": 100, + "special-defense": 90, + "speed": 90 }, "abilities": { - "0": "Swarm", - "H": "Technician" + "0": "Drought" }, - "heightm": 1, - "weightkg": 25.5, + "heightm": 3.5, + "weightkg": 950, "color": "Red", - "prevo": "Kricketot", - "evoLevel": 10, + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ - "Bug" + "Undiscovered" + ], + "otherFormes": [ + "Groudon-Primal" + ], + "formeOrder": [ + "Groudon", + "Groudon-Primal" ] }, - "shinx": { - "num": 403, - "name": "shinx", + "groudonprimal": { + "num": 383, + "name": "groudon-primal", + "baseSpecies": "Groudon", + "forme": "Primal", "types": [ - "electric" + "ground", + "fire" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 65, - "defense": 34, - "special-attack": 40, - "special-defense": 34, - "speed": 45 + "hp": 100, + "attack": 180, + "defense": 160, + "special-attack": 150, + "special-defense": 90, + "speed": 90 }, "abilities": { - "0": "Rivalry", - "1": "Intimidate", - "H": "Guts" + "0": "Desolate Land" }, - "heightm": 0.5, - "weightkg": 9.5, - "color": "Blue", - "evos": [ - "Luxio" - ], + "heightm": 5, + "weightkg": 999.7, + "color": "Red", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Red Orb" }, - "luxio": { - "num": 404, - "name": "luxio", + "rayquaza": { + "num": 384, + "name": "rayquaza", "types": [ - "electric" + "dragon", + "flying" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 85, - "defense": 49, - "special-attack": 60, - "special-defense": 49, - "speed": 60 + "hp": 105, + "attack": 150, + "defense": 90, + "special-attack": 150, + "special-defense": 90, + "speed": 95 }, "abilities": { - "0": "Rivalry", - "1": "Intimidate", - "H": "Guts" + "0": "Air Lock" }, - "heightm": 0.9, - "weightkg": 30.5, - "color": "Blue", - "prevo": "Shinx", - "evoLevel": 15, - "evos": [ - "Luxray" + "heightm": 7, + "weightkg": 206.5, + "color": "Green", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Field" + "Undiscovered" + ], + "otherFormes": [ + "Rayquaza-Mega" + ], + "formeOrder": [ + "Rayquaza", + "Rayquaza-Mega" ] }, - "luxray": { - "num": 405, - "name": "luxray", + "rayquazamega": { + "num": 384, + "name": "rayquaza-mega", + "baseSpecies": "Rayquaza", + "forme": "Mega", "types": [ - "electric" + "dragon", + "flying" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 79, - "special-attack": 95, - "special-defense": 79, - "speed": 70 + "hp": 105, + "attack": 180, + "defense": 100, + "special-attack": 180, + "special-defense": 100, + "speed": 115 }, "abilities": { - "0": "Rivalry", - "1": "Intimidate", - "H": "Guts" + "0": "Delta Stream" }, - "heightm": 1.4, - "weightkg": 42, - "color": "Blue", - "prevo": "Luxio", - "evoLevel": 30, + "heightm": 10.8, + "weightkg": 392, + "color": "Green", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredMove": "Dragon Ascent" }, - "budew": { - "num": 406, - "name": "budew", + "jirachi": { + "num": 385, + "name": "jirachi", "types": [ - "grass", - "poison" + "steel", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 30, - "defense": 35, - "special-attack": 50, - "special-defense": 70, - "speed": 55 + "hp": 100, + "attack": 100, + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 }, "abilities": { - "0": "Natural Cure", - "1": "Poison Point", - "H": "Leaf Guard" + "0": "Serene Grace" }, - "heightm": 0.2, - "weightkg": 1.2, - "color": "Green", - "evos": [ - "Roselia" + "heightm": 0.3, + "weightkg": 1.1, + "color": "Yellow", + "tags": [ + "Mythical" ], "eggGroups": [ "Undiscovered" - ], - "canHatch": true + ] }, - "roserade": { - "num": 407, - "name": "roserade", + "deoxys": { + "num": 386, + "name": "deoxys", + "baseForme": "Normal", "types": [ - "grass", - "poison" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 70, - "defense": 65, - "special-attack": 125, - "special-defense": 105, - "speed": 90 + "hp": 50, + "attack": 150, + "defense": 50, + "special-attack": 150, + "special-defense": 50, + "speed": 150 }, "abilities": { - "0": "Natural Cure", - "1": "Poison Point", - "H": "Technician" + "0": "Pressure" }, - "heightm": 0.9, - "weightkg": 14.5, - "color": "Green", - "prevo": "Roselia", - "evoType": "useItem", - "evoItem": "Shiny Stone", + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", "eggGroups": [ - "Fairy", - "Grass" + "Undiscovered" + ], + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Deoxys-Attack", + "Deoxys-Defense", + "Deoxys-Speed" + ], + "formeOrder": [ + "Deoxys", + "Deoxys-Attack", + "Deoxys-Defense", + "Deoxys-Speed" ] }, - "cranidos": { - "num": 408, - "name": "cranidos", + "deoxysattack": { + "num": 386, + "name": "deoxys-attack", + "baseSpecies": "Deoxys", + "forme": "Attack", "types": [ - "rock" + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 67, - "attack": 125, - "defense": 40, - "special-attack": 30, - "special-defense": 30, - "speed": 58 + "hp": 50, + "attack": 180, + "defense": 20, + "special-attack": 180, + "special-defense": 20, + "speed": 150 }, "abilities": { - "0": "Mold Breaker", - "H": "Sheer Force" + "0": "Pressure" }, - "heightm": 0.9, - "weightkg": 31.5, - "color": "Blue", - "evos": [ - "Rampardos" - ], + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", "eggGroups": [ - "Monster" - ] + "Undiscovered" + ], + "changesFrom": "Deoxys" }, - "rampardos": { - "num": 409, - "name": "rampardos", + "deoxysdefense": { + "num": 386, + "name": "deoxys-defense", + "baseSpecies": "Deoxys", + "forme": "Defense", "types": [ - "rock" + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 97, - "attack": 165, - "defense": 60, - "special-attack": 65, - "special-defense": 50, - "speed": 58 + "hp": 50, + "attack": 70, + "defense": 160, + "special-attack": 70, + "special-defense": 160, + "speed": 90 }, "abilities": { - "0": "Mold Breaker", - "H": "Sheer Force" + "0": "Pressure" }, - "heightm": 1.6, - "weightkg": 102.5, - "color": "Blue", - "prevo": "Cranidos", - "evoLevel": 30, + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", "eggGroups": [ - "Monster" - ] + "Undiscovered" + ], + "changesFrom": "Deoxys" }, - "shieldon": { - "num": 410, - "name": "shieldon", + "deoxysspeed": { + "num": 386, + "name": "deoxys-speed", + "baseSpecies": "Deoxys", + "forme": "Speed", "types": [ - "rock", - "steel" + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 30, - "attack": 42, - "defense": 118, - "special-attack": 42, - "special-defense": 88, - "speed": 30 + "hp": 50, + "attack": 95, + "defense": 90, + "special-attack": 95, + "special-defense": 90, + "speed": 180 }, "abilities": { - "0": "Sturdy", - "H": "Soundproof" + "0": "Pressure" }, - "heightm": 0.5, - "weightkg": 57, - "color": "Gray", - "evos": [ - "Bastiodon" - ], + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", "eggGroups": [ - "Monster" - ] + "Undiscovered" + ], + "changesFrom": "Deoxys" }, - "bastiodon": { - "num": 411, - "name": "bastiodon", + "turtwig": { + "num": 387, + "name": "turtwig", "types": [ - "rock", - "steel" + "grass" ], "genderRatio": { "M": 0.875, "F": 0.125 }, "baseStats": { - "hp": 60, - "attack": 52, - "defense": 168, - "special-attack": 47, - "special-defense": 138, - "speed": 30 - }, - "abilities": { - "0": "Sturdy", - "H": "Soundproof" - }, - "heightm": 1.3, - "weightkg": 149.5, - "color": "Gray", - "prevo": "Shieldon", - "evoLevel": 30, - "eggGroups": [ - "Monster" - ] - }, - "burmy": { - "num": 412, - "name": "burmy", - "baseForme": "Plant", - "types": [ - "bug" - ], - "baseStats": { - "hp": 40, - "attack": 29, - "defense": 45, - "special-attack": 29, - "special-defense": 45, - "speed": 36 + "hp": 55, + "attack": 68, + "defense": 64, + "special-attack": 45, + "special-defense": 55, + "speed": 31 }, "abilities": { - "0": "Shed Skin", - "H": "Overcoat" + "0": "Overgrow", + "H": "Shell Armor" }, - "heightm": 0.2, - "weightkg": 3.4, + "heightm": 0.4, + "weightkg": 10.2, "color": "Green", "evos": [ - "Wormadam", - "Wormadam-Sandy", - "Wormadam-Trash", - "Mothim" + "Grotle" ], "eggGroups": [ - "Bug" - ], - "cosmeticFormes": [ - "Burmy-Sandy", - "Burmy-Trash" - ], - "formeOrder": [ - "Burmy", - "Burmy-Sandy", - "Burmy-Trash" + "Monster", + "Grass" ] }, - "wormadam": { - "num": 413, - "name": "wormadam", - "baseForme": "Plant", + "grotle": { + "num": 388, + "name": "grotle", "types": [ - "bug", "grass" ], - "gender": "F", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 59, + "hp": 75, + "attack": 89, "defense": 85, - "special-attack": 79, - "special-defense": 105, + "special-attack": 55, + "special-defense": 65, "speed": 36 }, "abilities": { - "0": "Anticipation", - "H": "Overcoat" + "0": "Overgrow", + "H": "Shell Armor" }, - "heightm": 0.5, - "weightkg": 6.5, + "heightm": 1.1, + "weightkg": 97, "color": "Green", - "prevo": "Burmy", - "evoLevel": 20, - "eggGroups": [ - "Bug" - ], - "otherFormes": [ - "Wormadam-Sandy", - "Wormadam-Trash" + "prevo": "Turtwig", + "evoLevel": 18, + "evos": [ + "Torterra" ], - "formeOrder": [ - "Wormadam", - "Wormadam-Sandy", - "Wormadam-Trash" + "eggGroups": [ + "Monster", + "Grass" ] }, - "wormadamsandy": { - "num": 413, - "name": "wormadam-sandy", - "baseSpecies": "Wormadam", - "forme": "Sandy", + "torterra": { + "num": 389, + "name": "torterra", "types": [ - "bug", + "grass", "ground" ], - "gender": "F", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 79, + "hp": 95, + "attack": 109, "defense": 105, - "special-attack": 59, + "special-attack": 75, "special-defense": 85, - "speed": 36 + "speed": 56 }, "abilities": { - "0": "Anticipation", - "H": "Overcoat" + "0": "Overgrow", + "H": "Shell Armor" }, - "heightm": 0.5, - "weightkg": 6.5, - "color": "Brown", - "prevo": "Burmy", - "evoLevel": 20, + "heightm": 2.2, + "weightkg": 310, + "color": "Green", + "prevo": "Grotle", + "evoLevel": 32, "eggGroups": [ - "Bug" + "Monster", + "Grass" ] }, - "wormadamtrash": { - "num": 413, - "name": "wormadam-trash", - "baseSpecies": "Wormadam", - "forme": "Trash", + "chimchar": { + "num": 390, + "name": "chimchar", "types": [ - "bug", - "steel" + "fire" ], - "gender": "F", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 69, - "defense": 95, - "special-attack": 69, - "special-defense": 95, - "speed": 36 + "hp": 44, + "attack": 58, + "defense": 44, + "special-attack": 58, + "special-defense": 44, + "speed": 61 }, "abilities": { - "0": "Anticipation", - "H": "Overcoat" + "0": "Blaze", + "H": "Iron Fist" }, "heightm": 0.5, - "weightkg": 6.5, - "color": "Red", - "prevo": "Burmy", - "evoLevel": 20, + "weightkg": 6.2, + "color": "Brown", + "evos": [ + "Monferno" + ], "eggGroups": [ - "Bug" + "Field", + "Human-Like" ] }, - "mothim": { - "num": 414, - "name": "mothim", + "monferno": { + "num": 391, + "name": "monferno", "types": [ - "bug", - "flying" + "fire", + "fighting" ], - "gender": "M", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 94, - "defense": 50, - "special-attack": 94, - "special-defense": 50, - "speed": 66 + "hp": 64, + "attack": 78, + "defense": 52, + "special-attack": 78, + "special-defense": 52, + "speed": 81 }, "abilities": { - "0": "Swarm", - "H": "Tinted Lens" + "0": "Blaze", + "H": "Iron Fist" }, "heightm": 0.9, - "weightkg": 23.3, - "color": "Yellow", - "prevo": "Burmy", - "evoLevel": 20, + "weightkg": 22, + "color": "Brown", + "prevo": "Chimchar", + "evoLevel": 14, + "evos": [ + "Infernape" + ], "eggGroups": [ - "Bug" + "Field", + "Human-Like" ] }, - "combee": { - "num": 415, - "name": "combee", + "infernape": { + "num": 392, + "name": "infernape", "types": [ - "bug", - "flying" + "fire", + "fighting" ], "genderRatio": { "M": 0.875, "F": 0.125 }, "baseStats": { - "hp": 30, - "attack": 30, - "defense": 42, - "special-attack": 30, - "special-defense": 42, - "speed": 70 + "hp": 76, + "attack": 104, + "defense": 71, + "special-attack": 104, + "special-defense": 71, + "speed": 108 }, "abilities": { - "0": "Honey Gather", - "H": "Hustle" + "0": "Blaze", + "H": "Iron Fist" }, - "heightm": 0.3, - "weightkg": 5.5, - "color": "Yellow", - "evos": [ - "Vespiquen" - ], + "heightm": 1.2, + "weightkg": 55, + "color": "Brown", + "prevo": "Monferno", + "evoLevel": 36, "eggGroups": [ - "Bug" + "Field", + "Human-Like" ] }, - "vespiquen": { - "num": 416, - "name": "vespiquen", + "piplup": { + "num": 393, + "name": "piplup", "types": [ - "bug", - "flying" + "water" ], - "gender": "F", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 80, - "defense": 102, - "special-attack": 80, - "special-defense": 102, + "hp": 53, + "attack": 51, + "defense": 53, + "special-attack": 61, + "special-defense": 56, "speed": 40 }, "abilities": { - "0": "Pressure", - "H": "Unnerve" + "0": "Torrent", + "H": "Competitive" }, - "heightm": 1.2, - "weightkg": 38.5, - "color": "Yellow", - "prevo": "Combee", - "evoLevel": 21, + "heightm": 0.4, + "weightkg": 5.2, + "color": "Blue", + "evos": [ + "Prinplup" + ], "eggGroups": [ - "Bug" + "Water 1", + "Field" ] }, - "pachirisu": { - "num": 417, - "name": "pachirisu", + "prinplup": { + "num": 394, + "name": "prinplup", "types": [ - "electric" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 45, - "defense": 70, - "special-attack": 45, - "special-defense": 90, - "speed": 95 + "hp": 64, + "attack": 66, + "defense": 68, + "special-attack": 81, + "special-defense": 76, + "speed": 50 }, "abilities": { - "0": "Run Away", - "1": "Pickup", - "H": "Volt Absorb" + "0": "Torrent", + "H": "Competitive" }, - "heightm": 0.4, - "weightkg": 3.9, - "color": "White", + "heightm": 0.8, + "weightkg": 23, + "color": "Blue", + "prevo": "Piplup", + "evoLevel": 16, + "evos": [ + "Empoleon" + ], "eggGroups": [ - "Field", - "Fairy" + "Water 1", + "Field" ] }, - "buizel": { - "num": 418, - "name": "buizel", + "empoleon": { + "num": 395, + "name": "empoleon", "types": [ - "water" + "water", + "steel" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 55, - "attack": 65, - "defense": 35, - "special-attack": 60, - "special-defense": 30, - "speed": 85 + "hp": 84, + "attack": 86, + "defense": 88, + "special-attack": 111, + "special-defense": 101, + "speed": 60 }, "abilities": { - "0": "Swift Swim", - "H": "Water Veil" + "0": "Torrent", + "H": "Competitive" }, - "heightm": 0.7, - "weightkg": 29.5, - "color": "Brown", - "evos": [ - "Floatzel" - ], + "heightm": 1.7, + "weightkg": 84.5, + "color": "Blue", + "prevo": "Prinplup", + "evoLevel": 36, "eggGroups": [ "Water 1", "Field" ] }, - "floatzel": { - "num": 419, - "name": "floatzel", + "starly": { + "num": 396, + "name": "starly", "types": [ - "water" + "normal", + "flying" ], "baseStats": { - "hp": 85, - "attack": 105, - "defense": 55, - "special-attack": 85, - "special-defense": 50, - "speed": 115 + "hp": 40, + "attack": 55, + "defense": 30, + "special-attack": 30, + "special-defense": 30, + "speed": 60 }, "abilities": { - "0": "Swift Swim", - "H": "Water Veil" + "0": "Keen Eye", + "H": "Reckless" }, - "heightm": 1.1, - "weightkg": 33.5, - "color": "Brown", - "prevo": "Buizel", - "evoLevel": 26, + "heightm": 0.3, + "weightkg": 2, + "color": "Brown", + "evos": [ + "Staravia" + ], "eggGroups": [ - "Water 1", - "Field" + "Flying" ] }, - "cherubi": { - "num": 420, - "name": "cherubi", + "staravia": { + "num": 397, + "name": "staravia", "types": [ - "grass" + "normal", + "flying" ], "baseStats": { - "hp": 45, - "attack": 35, - "defense": 45, - "special-attack": 62, - "special-defense": 53, - "speed": 35 + "hp": 55, + "attack": 75, + "defense": 50, + "special-attack": 40, + "special-defense": 40, + "speed": 80 }, "abilities": { - "0": "Chlorophyll" + "0": "Intimidate", + "H": "Reckless" }, - "heightm": 0.4, - "weightkg": 3.3, - "color": "Pink", + "heightm": 0.6, + "weightkg": 15.5, + "color": "Brown", + "prevo": "Starly", + "evoLevel": 14, "evos": [ - "Cherrim" + "Staraptor" ], "eggGroups": [ - "Fairy", - "Grass" + "Flying" ] }, - "cherrim": { - "num": 421, - "name": "cherrim", - "baseForme": "Overcast", + "staraptor": { + "num": 398, + "name": "staraptor", "types": [ - "grass" + "normal", + "flying" ], "baseStats": { - "hp": 70, - "attack": 60, + "hp": 85, + "attack": 120, "defense": 70, - "special-attack": 87, - "special-defense": 78, - "speed": 85 + "special-attack": 50, + "special-defense": 60, + "speed": 100 }, "abilities": { - "0": "Flower Gift" + "0": "Intimidate", + "H": "Reckless" }, - "heightm": 0.5, - "weightkg": 9.3, - "color": "Purple", - "prevo": "Cherubi", - "evoLevel": 25, + "heightm": 1.2, + "weightkg": 24.9, + "color": "Brown", + "prevo": "Staravia", + "evoLevel": 34, "eggGroups": [ - "Fairy", - "Grass" - ], - "otherFormes": [ - "Cherrim-Sunshine" - ], - "formeOrder": [ - "Cherrim", - "Cherrim-Sunshine" + "Flying" ] }, - "cherrimsunshine": { - "num": 421, - "name": "cherrim-sunshine", - "baseSpecies": "Cherrim", - "forme": "Sunshine", + "bidoof": { + "num": 399, + "name": "bidoof", "types": [ - "grass" + "normal" ], "baseStats": { - "hp": 70, - "attack": 60, - "defense": 70, - "special-attack": 87, - "special-defense": 78, - "speed": 85 + "hp": 59, + "attack": 45, + "defense": 40, + "special-attack": 35, + "special-defense": 40, + "speed": 31 }, "abilities": { - "0": "Flower Gift" + "0": "Simple", + "1": "Unaware", + "H": "Moody" }, "heightm": 0.5, - "weightkg": 9.3, - "color": "Pink", - "eggGroups": [ - "Fairy", - "Grass" + "weightkg": 20, + "color": "Brown", + "evos": [ + "Bibarel" ], - "requiredAbility": "Flower Gift", - "battleOnly": "Cherrim" + "eggGroups": [ + "Water 1", + "Field" + ] }, - "shellos": { - "num": 422, - "name": "shellos", - "baseForme": "West", + "bibarel": { + "num": 400, + "name": "bibarel", "types": [ + "normal", "water" ], "baseStats": { - "hp": 76, - "attack": 48, - "defense": 48, - "special-attack": 57, - "special-defense": 62, - "speed": 34 + "hp": 79, + "attack": 85, + "defense": 60, + "special-attack": 55, + "special-defense": 60, + "speed": 71 }, "abilities": { - "0": "Sticky Hold", - "1": "Storm Drain", - "H": "Sand Force" + "0": "Simple", + "1": "Unaware", + "H": "Moody" }, - "heightm": 0.3, - "weightkg": 6.3, - "color": "Purple", - "evos": [ - "Gastrodon" - ], + "heightm": 1, + "weightkg": 31.5, + "color": "Brown", + "prevo": "Bidoof", + "evoLevel": 15, "eggGroups": [ "Water 1", - "Amorphous" - ], - "cosmeticFormes": [ - "Shellos-East" - ], - "formeOrder": [ - "Shellos", - "Shellos-East" + "Field" ] }, - "gastrodon": { - "num": 423, - "name": "gastrodon", - "baseForme": "West", + "kricketot": { + "num": 401, + "name": "kricketot", "types": [ - "water", - "ground" + "bug" ], "baseStats": { - "hp": 111, - "attack": 83, - "defense": 68, - "special-attack": 92, - "special-defense": 82, - "speed": 39 + "hp": 37, + "attack": 25, + "defense": 41, + "special-attack": 25, + "special-defense": 41, + "speed": 25 }, "abilities": { - "0": "Sticky Hold", - "1": "Storm Drain", - "H": "Sand Force" + "0": "Shed Skin", + "H": "Run Away" }, - "heightm": 0.9, - "weightkg": 29.9, - "color": "Purple", - "prevo": "Shellos", - "evoLevel": 30, - "eggGroups": [ - "Water 1", - "Amorphous" - ], - "cosmeticFormes": [ - "Gastrodon-East" + "heightm": 0.3, + "weightkg": 2.2, + "color": "Red", + "evos": [ + "Kricketune" ], - "formeOrder": [ - "Gastrodon", - "Gastrodon-East" + "eggGroups": [ + "Bug" ] }, - "ambipom": { - "num": 424, - "name": "ambipom", + "kricketune": { + "num": 402, + "name": "kricketune", "types": [ - "normal" + "bug" ], "baseStats": { - "hp": 75, - "attack": 100, - "defense": 66, - "special-attack": 60, - "special-defense": 66, - "speed": 115 + "hp": 77, + "attack": 85, + "defense": 51, + "special-attack": 55, + "special-defense": 51, + "speed": 65 }, "abilities": { - "0": "Technician", - "1": "Pickup", - "H": "Skill Link" + "0": "Swarm", + "H": "Technician" }, - "heightm": 1.2, - "weightkg": 20.3, - "color": "Purple", - "prevo": "Aipom", - "evoType": "levelMove", - "evoMove": "Double Hit", + "heightm": 1, + "weightkg": 25.5, + "color": "Red", + "prevo": "Kricketot", + "evoLevel": 10, "eggGroups": [ - "Field" + "Bug" ] }, - "drifloon": { - "num": 425, - "name": "drifloon", + "shinx": { + "num": 403, + "name": "shinx", "types": [ - "ghost", - "flying" + "electric" ], "baseStats": { - "hp": 90, - "attack": 50, + "hp": 45, + "attack": 65, "defense": 34, - "special-attack": 60, - "special-defense": 44, - "speed": 70 + "special-attack": 40, + "special-defense": 34, + "speed": 45 }, "abilities": { - "0": "Aftermath", - "1": "Unburden", - "H": "Flare Boost" + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" }, - "heightm": 0.4, - "weightkg": 1.2, - "color": "Purple", + "heightm": 0.5, + "weightkg": 9.5, + "color": "Blue", "evos": [ - "Drifblim" + "Luxio" ], "eggGroups": [ - "Amorphous" + "Field" ] }, - "drifblim": { - "num": 426, - "name": "drifblim", + "luxio": { + "num": 404, + "name": "luxio", "types": [ - "ghost", - "flying" + "electric" ], "baseStats": { - "hp": 150, - "attack": 80, - "defense": 44, - "special-attack": 90, - "special-defense": 54, - "speed": 80 + "hp": 60, + "attack": 85, + "defense": 49, + "special-attack": 60, + "special-defense": 49, + "speed": 60 }, "abilities": { - "0": "Aftermath", - "1": "Unburden", - "H": "Flare Boost" + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" }, - "heightm": 1.2, - "weightkg": 15, - "color": "Purple", - "prevo": "Drifloon", - "evoLevel": 28, + "heightm": 0.9, + "weightkg": 30.5, + "color": "Blue", + "prevo": "Shinx", + "evoLevel": 15, + "evos": [ + "Luxray" + ], "eggGroups": [ - "Amorphous" + "Field" ] }, - "buneary": { - "num": 427, - "name": "buneary", + "luxray": { + "num": 405, + "name": "luxray", "types": [ - "normal" + "electric" ], "baseStats": { - "hp": 55, - "attack": 66, - "defense": 44, - "special-attack": 44, - "special-defense": 56, - "speed": 85 + "hp": 80, + "attack": 120, + "defense": 79, + "special-attack": 95, + "special-defense": 79, + "speed": 70 }, "abilities": { - "0": "Run Away", - "1": "Klutz", - "H": "Limber" + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" }, - "heightm": 0.4, - "weightkg": 5.5, - "color": "Brown", - "evos": [ - "Lopunny" - ], + "heightm": 1.4, + "weightkg": 42, + "color": "Blue", + "prevo": "Luxio", + "evoLevel": 30, "eggGroups": [ - "Field", - "Human-Like" + "Field" ] }, - "lopunny": { - "num": 428, - "name": "lopunny", + "budew": { + "num": 406, + "name": "budew", "types": [ - "normal" + "grass", + "poison" ], "baseStats": { - "hp": 65, - "attack": 76, - "defense": 84, - "special-attack": 54, - "special-defense": 96, - "speed": 105 + "hp": 40, + "attack": 30, + "defense": 35, + "special-attack": 50, + "special-defense": 70, + "speed": 55 }, "abilities": { - "0": "Cute Charm", - "1": "Klutz", - "H": "Limber" + "0": "Natural Cure", + "1": "Poison Point", + "H": "Leaf Guard" }, - "heightm": 1.2, - "weightkg": 33.3, - "color": "Brown", - "prevo": "Buneary", - "evoType": "levelFriendship", - "eggGroups": [ - "Field", - "Human-Like" + "heightm": 0.2, + "weightkg": 1.2, + "color": "Green", + "evos": [ + "Roselia" ], - "otherFormes": [ - "Lopunny-Mega" + "eggGroups": [ + "Undiscovered" ], - "formeOrder": [ - "Lopunny", - "Lopunny-Mega" - ] + "canHatch": true }, - "lopunnymega": { - "num": 428, - "name": "lopunny-mega", - "baseSpecies": "Lopunny", - "forme": "Mega", + "roserade": { + "num": 407, + "name": "roserade", "types": [ - "normal", - "fighting" + "grass", + "poison" ], "baseStats": { - "hp": 65, - "attack": 136, - "defense": 94, - "special-attack": 54, - "special-defense": 96, - "speed": 135 + "hp": 60, + "attack": 70, + "defense": 65, + "special-attack": 125, + "special-defense": 105, + "speed": 90 }, "abilities": { - "0": "Scrappy" + "0": "Natural Cure", + "1": "Poison Point", + "H": "Technician" }, - "heightm": 1.3, - "weightkg": 28.3, - "color": "Brown", + "heightm": 0.9, + "weightkg": 14.5, + "color": "Green", + "prevo": "Roselia", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Field", - "Human-Like" - ], - "requiredItem": "Lopunnite" + "Fairy", + "Grass" + ] }, - "mismagius": { - "num": 429, - "name": "mismagius", + "cranidos": { + "num": 408, + "name": "cranidos", "types": [ - "ghost" + "rock" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 60, - "defense": 60, - "special-attack": 105, - "special-defense": 105, - "speed": 105 + "hp": 67, + "attack": 125, + "defense": 40, + "special-attack": 30, + "special-defense": 30, + "speed": 58 }, "abilities": { - "0": "Levitate" + "0": "Mold Breaker", + "H": "Sheer Force" }, "heightm": 0.9, - "weightkg": 4.4, - "color": "Purple", - "prevo": "Misdreavus", - "evoType": "useItem", - "evoItem": "Dusk Stone", + "weightkg": 31.5, + "color": "Blue", + "evos": [ + "Rampardos" + ], "eggGroups": [ - "Amorphous" + "Monster" ] }, - "honchkrow": { - "num": 430, - "name": "honchkrow", + "rampardos": { + "num": 409, + "name": "rampardos", "types": [ - "dark", - "flying" + "rock" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 125, - "defense": 52, - "special-attack": 105, - "special-defense": 52, - "speed": 71 + "hp": 97, + "attack": 165, + "defense": 60, + "special-attack": 65, + "special-defense": 50, + "speed": 58 }, "abilities": { - "0": "Insomnia", - "1": "Super Luck", - "H": "Moxie" + "0": "Mold Breaker", + "H": "Sheer Force" }, - "heightm": 0.9, - "weightkg": 27.3, - "color": "Black", - "prevo": "Murkrow", - "evoType": "useItem", - "evoItem": "Dusk Stone", + "heightm": 1.6, + "weightkg": 102.5, + "color": "Blue", + "prevo": "Cranidos", + "evoLevel": 30, "eggGroups": [ - "Flying" + "Monster" ] }, - "glameow": { - "num": 431, - "name": "glameow", + "shieldon": { + "num": 410, + "name": "shieldon", "types": [ - "normal" + "rock", + "steel" ], "genderRatio": { - "M": 0.25, - "F": 0.75 + "M": 0.875, + "F": 0.125 }, "baseStats": { - "hp": 49, - "attack": 55, - "defense": 42, + "hp": 30, + "attack": 42, + "defense": 118, "special-attack": 42, - "special-defense": 37, - "speed": 85 + "special-defense": 88, + "speed": 30 }, "abilities": { - "0": "Limber", - "1": "Own Tempo", - "H": "Keen Eye" + "0": "Sturdy", + "H": "Soundproof" }, "heightm": 0.5, - "weightkg": 3.9, + "weightkg": 57, "color": "Gray", "evos": [ - "Purugly" + "Bastiodon" ], "eggGroups": [ - "Field" + "Monster" ] }, - "purugly": { - "num": 432, - "name": "purugly", + "bastiodon": { + "num": 411, + "name": "bastiodon", "types": [ - "normal" + "rock", + "steel" ], "genderRatio": { - "M": 0.25, - "F": 0.75 + "M": 0.875, + "F": 0.125 }, "baseStats": { - "hp": 71, - "attack": 82, - "defense": 64, - "special-attack": 64, - "special-defense": 59, - "speed": 112 + "hp": 60, + "attack": 52, + "defense": 168, + "special-attack": 47, + "special-defense": 138, + "speed": 30 }, "abilities": { - "0": "Thick Fat", - "1": "Own Tempo", - "H": "Defiant" + "0": "Sturdy", + "H": "Soundproof" }, - "heightm": 1, - "weightkg": 43.8, + "heightm": 1.3, + "weightkg": 149.5, "color": "Gray", - "prevo": "Glameow", - "evoLevel": 38, + "prevo": "Shieldon", + "evoLevel": 30, "eggGroups": [ - "Field" + "Monster" ] }, - "chingling": { - "num": 433, - "name": "chingling", + "burmy": { + "num": 412, + "name": "burmy", + "baseForme": "Plant", "types": [ - "psychic" + "bug" ], "baseStats": { - "hp": 45, - "attack": 30, - "defense": 50, - "special-attack": 65, - "special-defense": 50, - "speed": 45 + "hp": 40, + "attack": 29, + "defense": 45, + "special-attack": 29, + "special-defense": 45, + "speed": 36 }, "abilities": { - "0": "Levitate" + "0": "Shed Skin", + "H": "Overcoat" }, "heightm": 0.2, - "weightkg": 0.6, - "color": "Yellow", + "weightkg": 3.4, + "color": "Green", "evos": [ - "Chimecho" + "Wormadam", + "Wormadam-Sandy", + "Wormadam-Trash", + "Mothim" ], "eggGroups": [ - "Undiscovered" + "Bug" ], - "canHatch": true + "cosmeticFormes": [ + "Burmy-Sandy", + "Burmy-Trash" + ], + "formeOrder": [ + "Burmy", + "Burmy-Sandy", + "Burmy-Trash" + ] }, - "stunky": { - "num": 434, - "name": "stunky", + "burmysandy": { + "num": 412, + "name": "burmy", + "baseForme": "Plant", "types": [ - "poison", - "dark" + "bug" ], "baseStats": { - "hp": 63, - "attack": 63, - "defense": 47, - "special-attack": 41, - "special-defense": 41, - "speed": 74 + "hp": 40, + "attack": 29, + "defense": 45, + "special-attack": 29, + "special-defense": 45, + "speed": 36 }, "abilities": { - "0": "Stench", - "1": "Aftermath", - "H": "Keen Eye" + "0": "Shed Skin", + "H": "Overcoat" }, - "heightm": 0.4, - "weightkg": 19.2, - "color": "Purple", + "heightm": 0.2, + "weightkg": 3.4, + "color": "Green", "evos": [ - "Skuntank" + "Wormadam", + "Wormadam-Sandy", + "Wormadam-Trash", + "Mothim" ], "eggGroups": [ - "Field" + "Bug" + ], + "cosmeticFormes": [ + "Burmy-Sandy", + "Burmy-Trash" + ], + "formeOrder": [ + "Burmy", + "Burmy-Sandy", + "Burmy-Trash" ] }, - "skuntank": { - "num": 435, - "name": "skuntank", + "burmytrash": { + "num": 412, + "name": "burmy", + "baseForme": "Plant", "types": [ - "poison", - "dark" + "bug" ], "baseStats": { - "hp": 103, - "attack": 93, - "defense": 67, - "special-attack": 71, - "special-defense": 61, - "speed": 84 + "hp": 40, + "attack": 29, + "defense": 45, + "special-attack": 29, + "special-defense": 45, + "speed": 36 }, "abilities": { - "0": "Stench", - "1": "Aftermath", - "H": "Keen Eye" + "0": "Shed Skin", + "H": "Overcoat" }, - "heightm": 1, - "weightkg": 38, - "color": "Purple", - "prevo": "Stunky", - "evoLevel": 34, + "heightm": 0.2, + "weightkg": 3.4, + "color": "Green", + "evos": [ + "Wormadam", + "Wormadam-Sandy", + "Wormadam-Trash", + "Mothim" + ], "eggGroups": [ - "Field" + "Bug" + ], + "cosmeticFormes": [ + "Burmy-Sandy", + "Burmy-Trash" + ], + "formeOrder": [ + "Burmy", + "Burmy-Sandy", + "Burmy-Trash" ] }, - "bronzor": { - "num": 436, - "name": "bronzor", + "wormadam": { + "num": 413, + "name": "wormadam", + "baseForme": "Plant", "types": [ - "steel", - "psychic" + "bug", + "grass" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 57, - "attack": 24, - "defense": 86, - "special-attack": 24, - "special-defense": 86, - "speed": 23 + "hp": 60, + "attack": 59, + "defense": 85, + "special-attack": 79, + "special-defense": 105, + "speed": 36 }, "abilities": { - "0": "Levitate", - "1": "Heatproof", - "H": "Heavy Metal" + "0": "Anticipation", + "H": "Overcoat" }, "heightm": 0.5, - "weightkg": 60.5, + "weightkg": 6.5, "color": "Green", - "evos": [ - "Bronzong" - ], + "prevo": "Burmy", + "evoLevel": 20, "eggGroups": [ - "Mineral" + "Bug" + ], + "otherFormes": [ + "Wormadam-Sandy", + "Wormadam-Trash" + ], + "formeOrder": [ + "Wormadam", + "Wormadam-Sandy", + "Wormadam-Trash" ] }, - "bronzong": { - "num": 437, - "name": "bronzong", + "wormadamsandy": { + "num": 413, + "name": "wormadam-sandy", + "baseSpecies": "Wormadam", + "forme": "Sandy", "types": [ - "steel", - "psychic" + "bug", + "ground" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 67, - "attack": 89, - "defense": 116, - "special-attack": 79, - "special-defense": 116, - "speed": 33 + "hp": 60, + "attack": 79, + "defense": 105, + "special-attack": 59, + "special-defense": 85, + "speed": 36 }, "abilities": { - "0": "Levitate", - "1": "Heatproof", - "H": "Heavy Metal" + "0": "Anticipation", + "H": "Overcoat" }, - "heightm": 1.3, - "weightkg": 187, - "color": "Green", - "prevo": "Bronzor", - "evoLevel": 33, + "heightm": 0.5, + "weightkg": 6.5, + "color": "Brown", + "prevo": "Burmy", + "evoLevel": 20, "eggGroups": [ - "Mineral" + "Bug" ] }, - "bonsly": { - "num": 438, - "name": "bonsly", + "wormadamtrash": { + "num": 413, + "name": "wormadam-trash", + "baseSpecies": "Wormadam", + "forme": "Trash", "types": [ - "rock" + "bug", + "steel" ], + "gender": "F", "baseStats": { - "hp": 50, - "attack": 80, + "hp": 60, + "attack": 69, "defense": 95, - "special-attack": 10, - "special-defense": 45, - "speed": 10 + "special-attack": 69, + "special-defense": 95, + "speed": 36 }, "abilities": { - "0": "Sturdy", - "1": "Rock Head", - "H": "Rattled" + "0": "Anticipation", + "H": "Overcoat" }, "heightm": 0.5, - "weightkg": 15, - "color": "Brown", - "evos": [ - "Sudowoodo" - ], + "weightkg": 6.5, + "color": "Red", + "prevo": "Burmy", + "evoLevel": 20, "eggGroups": [ - "Undiscovered" + "Bug" + ] + }, + "mothim": { + "num": 414, + "name": "mothim", + "types": [ + "bug", + "flying" ], - "canHatch": true + "gender": "M", + "baseStats": { + "hp": 70, + "attack": 94, + "defense": 50, + "special-attack": 94, + "special-defense": 50, + "speed": 66 + }, + "abilities": { + "0": "Swarm", + "H": "Tinted Lens" + }, + "heightm": 0.9, + "weightkg": 23.3, + "color": "Yellow", + "prevo": "Burmy", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] }, - "mimejr": { - "num": 439, - "name": "mime jr.", + "combee": { + "num": 415, + "name": "combee", "types": [ - "psychic", - "fairy" + "bug", + "flying" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 20, - "attack": 25, - "defense": 45, - "special-attack": 70, - "special-defense": 90, - "speed": 60 + "hp": 30, + "attack": 30, + "defense": 42, + "special-attack": 30, + "special-defense": 42, + "speed": 70 }, "abilities": { - "0": "Soundproof", - "1": "Filter", - "H": "Technician" + "0": "Honey Gather", + "H": "Hustle" }, - "heightm": 0.6, - "weightkg": 13, - "color": "Pink", + "heightm": 0.3, + "weightkg": 5.5, + "color": "Yellow", "evos": [ - "Mr. Mime", - "Mr. Mime-Galar" + "Vespiquen" ], "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Bug" + ] }, - "happiny": { - "num": 440, - "name": "happiny", + "vespiquen": { + "num": 416, + "name": "vespiquen", "types": [ - "normal" + "bug", + "flying" ], "gender": "F", "baseStats": { - "hp": 100, - "attack": 5, - "defense": 5, - "special-attack": 15, - "special-defense": 65, - "speed": 30 + "hp": 70, + "attack": 80, + "defense": 102, + "special-attack": 80, + "special-defense": 102, + "speed": 40 }, "abilities": { - "0": "Natural Cure", - "1": "Serene Grace", - "H": "Friend Guard" + "0": "Pressure", + "H": "Unnerve" }, - "heightm": 0.6, - "weightkg": 24.4, - "color": "Pink", - "evos": [ - "Chansey" - ], + "heightm": 1.2, + "weightkg": 38.5, + "color": "Yellow", + "prevo": "Combee", + "evoLevel": 21, "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Bug" + ] }, - "chatot": { - "num": 441, - "name": "chatot", + "pachirisu": { + "num": 417, + "name": "pachirisu", "types": [ - "normal", - "flying" + "electric" ], "baseStats": { - "hp": 76, - "attack": 65, - "defense": 45, - "special-attack": 92, - "special-defense": 42, - "speed": 91 + "hp": 60, + "attack": 45, + "defense": 70, + "special-attack": 45, + "special-defense": 90, + "speed": 95 }, "abilities": { - "0": "Keen Eye", - "1": "Tangled Feet", - "H": "Big Pecks" + "0": "Run Away", + "1": "Pickup", + "H": "Volt Absorb" }, - "heightm": 0.5, - "weightkg": 1.9, - "color": "Black", + "heightm": 0.4, + "weightkg": 3.9, + "color": "White", "eggGroups": [ - "Flying" + "Field", + "Fairy" ] }, - "spiritomb": { - "num": 442, - "name": "spiritomb", + "buizel": { + "num": 418, + "name": "buizel", "types": [ - "ghost", - "dark" + "water" ], "baseStats": { - "hp": 50, - "attack": 92, - "defense": 108, - "special-attack": 92, - "special-defense": 108, - "speed": 35 + "hp": 55, + "attack": 65, + "defense": 35, + "special-attack": 60, + "special-defense": 30, + "speed": 85 }, "abilities": { - "0": "Pressure", - "H": "Infiltrator" + "0": "Swift Swim", + "H": "Water Veil" }, - "heightm": 1, - "weightkg": 108, - "color": "Purple", + "heightm": 0.7, + "weightkg": 29.5, + "color": "Brown", + "evos": [ + "Floatzel" + ], "eggGroups": [ - "Amorphous" + "Water 1", + "Field" ] }, - "gible": { - "num": 443, - "name": "gible", + "floatzel": { + "num": 419, + "name": "floatzel", "types": [ - "dragon", - "ground" + "water" ], "baseStats": { - "hp": 58, - "attack": 70, - "defense": 45, - "special-attack": 40, - "special-defense": 45, - "speed": 42 + "hp": 85, + "attack": 105, + "defense": 55, + "special-attack": 85, + "special-defense": 50, + "speed": 115 }, "abilities": { - "0": "Sand Veil", - "H": "Rough Skin" + "0": "Swift Swim", + "H": "Water Veil" }, - "heightm": 0.7, - "weightkg": 20.5, - "color": "Blue", - "evos": [ - "Gabite" - ], + "heightm": 1.1, + "weightkg": 33.5, + "color": "Brown", + "prevo": "Buizel", + "evoLevel": 26, "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Field" ] }, - "gabite": { - "num": 444, - "name": "gabite", + "cherubi": { + "num": 420, + "name": "cherubi", "types": [ - "dragon", - "ground" + "grass" ], "baseStats": { - "hp": 68, - "attack": 90, - "defense": 65, - "special-attack": 50, - "special-defense": 55, - "speed": 82 + "hp": 45, + "attack": 35, + "defense": 45, + "special-attack": 62, + "special-defense": 53, + "speed": 35 }, "abilities": { - "0": "Sand Veil", - "H": "Rough Skin" + "0": "Chlorophyll" }, - "heightm": 1.4, - "weightkg": 56, - "color": "Blue", - "prevo": "Gible", - "evoLevel": 24, + "heightm": 0.4, + "weightkg": 3.3, + "color": "Pink", "evos": [ - "Garchomp" + "Cherrim" ], "eggGroups": [ - "Monster", - "Dragon" + "Fairy", + "Grass" ] }, - "garchomp": { - "num": 445, - "name": "garchomp", + "cherrim": { + "num": 421, + "name": "cherrim", + "baseForme": "Overcast", "types": [ - "dragon", - "ground" + "grass" ], "baseStats": { - "hp": 108, - "attack": 130, - "defense": 95, - "special-attack": 80, - "special-defense": 85, - "speed": 102 + "hp": 70, + "attack": 60, + "defense": 70, + "special-attack": 87, + "special-defense": 78, + "speed": 85 }, "abilities": { - "0": "Sand Veil", - "H": "Rough Skin" + "0": "Flower Gift" }, - "heightm": 1.9, - "weightkg": 95, - "color": "Blue", - "prevo": "Gabite", - "evoLevel": 48, + "heightm": 0.5, + "weightkg": 9.3, + "color": "Purple", + "prevo": "Cherubi", + "evoLevel": 25, "eggGroups": [ - "Monster", - "Dragon" + "Fairy", + "Grass" ], "otherFormes": [ - "Garchomp-Mega" + "Cherrim-Sunshine" ], "formeOrder": [ - "Garchomp", - "Garchomp-Mega" + "Cherrim", + "Cherrim-Sunshine" ] }, - "garchompmega": { - "num": 445, - "name": "garchomp-mega", - "baseSpecies": "Garchomp", - "forme": "Mega", + "cherrimsunshine": { + "num": 421, + "name": "cherrim-sunshine", + "baseSpecies": "Cherrim", + "forme": "Sunshine", "types": [ - "dragon", - "ground" + "grass" ], "baseStats": { - "hp": 108, - "attack": 170, - "defense": 115, - "special-attack": 120, - "special-defense": 95, - "speed": 92 + "hp": 70, + "attack": 60, + "defense": 70, + "special-attack": 87, + "special-defense": 78, + "speed": 85 }, "abilities": { - "0": "Sand Force" + "0": "Flower Gift" }, - "heightm": 1.9, - "weightkg": 95, - "color": "Blue", + "heightm": 0.5, + "weightkg": 9.3, + "color": "Pink", "eggGroups": [ - "Monster", - "Dragon" + "Fairy", + "Grass" ], - "requiredItem": "Garchompite" + "requiredAbility": "Flower Gift", + "battleOnly": "Cherrim" }, - "munchlax": { - "num": 446, - "name": "munchlax", + "shellos": { + "num": 422, + "name": "shellos", + "baseForme": "West", "types": [ - "normal" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 135, - "attack": 85, - "defense": 40, - "special-attack": 40, - "special-defense": 85, - "speed": 5 + "hp": 76, + "attack": 48, + "defense": 48, + "special-attack": 57, + "special-defense": 62, + "speed": 34 }, "abilities": { - "0": "Pickup", - "1": "Thick Fat", - "H": "Gluttony" + "0": "Sticky Hold", + "1": "Storm Drain", + "H": "Sand Force" }, - "heightm": 0.6, - "weightkg": 105, - "color": "Black", + "heightm": 0.3, + "weightkg": 6.3, + "color": "Purple", "evos": [ - "Snorlax" + "Gastrodon" ], "eggGroups": [ - "Undiscovered" + "Water 1", + "Amorphous" ], - "canHatch": true + "cosmeticFormes": [ + "Shellos-East" + ], + "formeOrder": [ + "Shellos", + "Shellos-East" + ] }, - "riolu": { - "num": 447, - "name": "riolu", + "shelloseast": { + "num": 422, + "name": "shellos", + "baseForme": "West", "types": [ - "fighting" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 40, - "attack": 70, - "defense": 40, - "special-attack": 35, - "special-defense": 40, - "speed": 60 + "hp": 76, + "attack": 48, + "defense": 48, + "special-attack": 57, + "special-defense": 62, + "speed": 34 }, "abilities": { - "0": "Steadfast", - "1": "Inner Focus", - "H": "Prankster" + "0": "Sticky Hold", + "1": "Storm Drain", + "H": "Sand Force" }, - "heightm": 0.7, - "weightkg": 20.2, - "color": "Blue", + "heightm": 0.3, + "weightkg": 6.3, + "color": "Purple", "evos": [ - "Lucario" - ], - "eggGroups": [ - "Undiscovered" - ], - "canHatch": true - }, - "lucario": { - "num": 448, - "name": "lucario", - "types": [ - "fighting", - "steel" + "Gastrodon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 70, - "attack": 110, - "defense": 70, - "special-attack": 115, - "special-defense": 70, - "speed": 90 - }, - "abilities": { - "0": "Steadfast", - "1": "Inner Focus", - "H": "Justified" - }, - "heightm": 1.2, - "weightkg": 54, - "color": "Blue", - "prevo": "Riolu", - "evoType": "levelFriendship", - "evoCondition": "during the day", "eggGroups": [ - "Field", - "Human-Like" + "Water 1", + "Amorphous" ], - "otherFormes": [ - "Lucario-Mega" + "cosmeticFormes": [ + "Shellos-East" ], "formeOrder": [ - "Lucario", - "Lucario-Mega" + "Shellos", + "Shellos-East" ] }, - "lucariomega": { - "num": 448, - "name": "lucario-mega", - "baseSpecies": "Lucario", - "forme": "Mega", + "gastrodon": { + "num": 423, + "name": "gastrodon", + "baseForme": "West", "types": [ - "fighting", - "steel" + "water", + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 70, - "attack": 145, - "defense": 88, - "special-attack": 140, - "special-defense": 70, - "speed": 112 + "hp": 111, + "attack": 83, + "defense": 68, + "special-attack": 92, + "special-defense": 82, + "speed": 39 }, "abilities": { - "0": "Adaptability" + "0": "Sticky Hold", + "1": "Storm Drain", + "H": "Sand Force" }, - "heightm": 1.3, - "weightkg": 57.5, - "color": "Blue", + "heightm": 0.9, + "weightkg": 29.9, + "color": "Purple", + "prevo": "Shellos", + "evoLevel": 30, "eggGroups": [ - "Field", - "Human-Like" + "Water 1", + "Amorphous" ], - "requiredItem": "Lucarionite" + "cosmeticFormes": [ + "Gastrodon-East" + ], + "formeOrder": [ + "Gastrodon", + "Gastrodon-East" + ] }, - "hippopotas": { - "num": 449, - "name": "hippopotas", + "gastrodoneast": { + "num": 423, + "name": "gastrodon", + "baseForme": "West", "types": [ + "water", "ground" ], "baseStats": { - "hp": 68, - "attack": 72, - "defense": 78, - "special-attack": 38, - "special-defense": 42, - "speed": 32 + "hp": 111, + "attack": 83, + "defense": 68, + "special-attack": 92, + "special-defense": 82, + "speed": 39 }, "abilities": { - "0": "Sand Stream", + "0": "Sticky Hold", + "1": "Storm Drain", "H": "Sand Force" }, - "heightm": 0.8, - "weightkg": 49.5, - "color": "Brown", - "evos": [ - "Hippowdon" - ], + "heightm": 0.9, + "weightkg": 29.9, + "color": "Purple", + "prevo": "Shellos", + "evoLevel": 30, "eggGroups": [ - "Field" + "Water 1", + "Amorphous" + ], + "cosmeticFormes": [ + "Gastrodon-East" + ], + "formeOrder": [ + "Gastrodon", + "Gastrodon-East" ] }, - "hippowdon": { - "num": 450, - "name": "hippowdon", + "ambipom": { + "num": 424, + "name": "ambipom", "types": [ - "ground" + "normal" ], "baseStats": { - "hp": 108, - "attack": 112, - "defense": 118, - "special-attack": 68, - "special-defense": 72, - "speed": 47 + "hp": 75, + "attack": 100, + "defense": 66, + "special-attack": 60, + "special-defense": 66, + "speed": 115 }, "abilities": { - "0": "Sand Stream", - "H": "Sand Force" + "0": "Technician", + "1": "Pickup", + "H": "Skill Link" }, - "heightm": 2, - "weightkg": 300, - "color": "Brown", - "prevo": "Hippopotas", - "evoLevel": 34, + "heightm": 1.2, + "weightkg": 20.3, + "color": "Purple", + "prevo": "Aipom", + "evoType": "levelMove", + "evoMove": "Double Hit", "eggGroups": [ "Field" ] }, - "skorupi": { - "num": 451, - "name": "skorupi", + "drifloon": { + "num": 425, + "name": "drifloon", "types": [ - "poison", - "bug" + "ghost", + "flying" ], "baseStats": { - "hp": 40, + "hp": 90, "attack": 50, - "defense": 90, - "special-attack": 30, - "special-defense": 55, - "speed": 65 + "defense": 34, + "special-attack": 60, + "special-defense": 44, + "speed": 70 }, "abilities": { - "0": "Battle Armor", - "1": "Sniper", - "H": "Keen Eye" + "0": "Aftermath", + "1": "Unburden", + "H": "Flare Boost" }, - "heightm": 0.8, - "weightkg": 12, + "heightm": 0.4, + "weightkg": 1.2, "color": "Purple", "evos": [ - "Drapion" + "Drifblim" ], "eggGroups": [ - "Bug", - "Water 3" + "Amorphous" ] }, - "drapion": { - "num": 452, - "name": "drapion", + "drifblim": { + "num": 426, + "name": "drifblim", "types": [ - "poison", - "dark" + "ghost", + "flying" ], "baseStats": { - "hp": 70, - "attack": 90, - "defense": 110, - "special-attack": 60, - "special-defense": 75, - "speed": 95 + "hp": 150, + "attack": 80, + "defense": 44, + "special-attack": 90, + "special-defense": 54, + "speed": 80 }, "abilities": { - "0": "Battle Armor", - "1": "Sniper", - "H": "Keen Eye" + "0": "Aftermath", + "1": "Unburden", + "H": "Flare Boost" }, - "heightm": 1.3, - "weightkg": 61.5, + "heightm": 1.2, + "weightkg": 15, "color": "Purple", - "prevo": "Skorupi", - "evoLevel": 40, + "prevo": "Drifloon", + "evoLevel": 28, "eggGroups": [ - "Bug", - "Water 3" + "Amorphous" ] }, - "croagunk": { - "num": 453, - "name": "croagunk", + "buneary": { + "num": 427, + "name": "buneary", "types": [ - "poison", - "fighting" + "normal" ], "baseStats": { - "hp": 48, - "attack": 61, - "defense": 40, - "special-attack": 61, - "special-defense": 40, - "speed": 50 + "hp": 55, + "attack": 66, + "defense": 44, + "special-attack": 44, + "special-defense": 56, + "speed": 85 }, "abilities": { - "0": "Anticipation", - "1": "Dry Skin", - "H": "Poison Touch" + "0": "Run Away", + "1": "Klutz", + "H": "Limber" }, - "heightm": 0.7, - "weightkg": 23, - "color": "Blue", + "heightm": 0.4, + "weightkg": 5.5, + "color": "Brown", "evos": [ - "Toxicroak" + "Lopunny" ], "eggGroups": [ + "Field", "Human-Like" ] }, - "toxicroak": { - "num": 454, - "name": "toxicroak", + "lopunny": { + "num": 428, + "name": "lopunny", "types": [ - "poison", - "fighting" + "normal" ], "baseStats": { - "hp": 83, - "attack": 106, - "defense": 65, - "special-attack": 86, - "special-defense": 65, - "speed": 85 + "hp": 65, + "attack": 76, + "defense": 84, + "special-attack": 54, + "special-defense": 96, + "speed": 105 }, "abilities": { - "0": "Anticipation", - "1": "Dry Skin", - "H": "Poison Touch" + "0": "Cute Charm", + "1": "Klutz", + "H": "Limber" }, - "heightm": 1.3, - "weightkg": 44.4, - "color": "Blue", - "prevo": "Croagunk", - "evoLevel": 37, + "heightm": 1.2, + "weightkg": 33.3, + "color": "Brown", + "prevo": "Buneary", + "evoType": "levelFriendship", "eggGroups": [ + "Field", "Human-Like" + ], + "otherFormes": [ + "Lopunny-Mega" + ], + "formeOrder": [ + "Lopunny", + "Lopunny-Mega" ] }, - "carnivine": { - "num": 455, - "name": "carnivine", + "lopunnymega": { + "num": 428, + "name": "lopunny-mega", + "baseSpecies": "Lopunny", + "forme": "Mega", "types": [ - "grass" + "normal", + "fighting" ], "baseStats": { - "hp": 74, - "attack": 100, - "defense": 72, - "special-attack": 90, - "special-defense": 72, - "speed": 46 + "hp": 65, + "attack": 136, + "defense": 94, + "special-attack": 54, + "special-defense": 96, + "speed": 135 }, "abilities": { - "0": "Levitate" + "0": "Scrappy" }, - "heightm": 1.4, - "weightkg": 27, - "color": "Green", + "heightm": 1.3, + "weightkg": 28.3, + "color": "Brown", "eggGroups": [ - "Grass" - ] + "Field", + "Human-Like" + ], + "requiredItem": "Lopunnite" }, - "finneon": { - "num": 456, - "name": "finneon", + "mismagius": { + "num": 429, + "name": "mismagius", "types": [ - "water" + "ghost" ], "baseStats": { - "hp": 49, - "attack": 49, - "defense": 56, - "special-attack": 49, - "special-defense": 61, - "speed": 66 + "hp": 60, + "attack": 60, + "defense": 60, + "special-attack": 105, + "special-defense": 105, + "speed": 105 }, "abilities": { - "0": "Swift Swim", - "1": "Storm Drain", - "H": "Water Veil" + "0": "Levitate" }, - "heightm": 0.4, - "weightkg": 7, - "color": "Blue", - "evos": [ - "Lumineon" - ], + "heightm": 0.9, + "weightkg": 4.4, + "color": "Purple", + "prevo": "Misdreavus", + "evoType": "useItem", + "evoItem": "Dusk Stone", "eggGroups": [ - "Water 2" + "Amorphous" ] }, - "lumineon": { - "num": 457, - "name": "lumineon", + "honchkrow": { + "num": 430, + "name": "honchkrow", "types": [ - "water" + "dark", + "flying" ], "baseStats": { - "hp": 69, - "attack": 69, - "defense": 76, - "special-attack": 69, - "special-defense": 86, - "speed": 91 + "hp": 100, + "attack": 125, + "defense": 52, + "special-attack": 105, + "special-defense": 52, + "speed": 71 }, "abilities": { - "0": "Swift Swim", - "1": "Storm Drain", - "H": "Water Veil" + "0": "Insomnia", + "1": "Super Luck", + "H": "Moxie" }, - "heightm": 1.2, - "weightkg": 24, - "color": "Blue", - "prevo": "Finneon", - "evoLevel": 31, + "heightm": 0.9, + "weightkg": 27.3, + "color": "Black", + "prevo": "Murkrow", + "evoType": "useItem", + "evoItem": "Dusk Stone", "eggGroups": [ - "Water 2" + "Flying" ] }, - "mantyke": { - "num": 458, - "name": "mantyke", + "glameow": { + "num": 431, + "name": "glameow", "types": [ - "water", - "flying" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 45, - "attack": 20, - "defense": 50, - "special-attack": 60, - "special-defense": 120, - "speed": 50 + "hp": 49, + "attack": 55, + "defense": 42, + "special-attack": 42, + "special-defense": 37, + "speed": 85 }, "abilities": { - "0": "Swift Swim", - "1": "Water Absorb", - "H": "Water Veil" + "0": "Limber", + "1": "Own Tempo", + "H": "Keen Eye" }, - "heightm": 1, - "weightkg": 65, - "color": "Blue", + "heightm": 0.5, + "weightkg": 3.9, + "color": "Gray", "evos": [ - "Mantine" + "Purugly" ], "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Field" + ] }, - "snover": { - "num": 459, - "name": "snover", + "purugly": { + "num": 432, + "name": "purugly", "types": [ - "grass", - "ice" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 60, - "attack": 62, - "defense": 50, - "special-attack": 62, - "special-defense": 60, - "speed": 40 + "hp": 71, + "attack": 82, + "defense": 64, + "special-attack": 64, + "special-defense": 59, + "speed": 112 }, "abilities": { - "0": "Snow Warning", - "H": "Soundproof" + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Defiant" }, "heightm": 1, - "weightkg": 50.5, - "color": "White", - "evos": [ - "Abomasnow" - ], + "weightkg": 43.8, + "color": "Gray", + "prevo": "Glameow", + "evoLevel": 38, "eggGroups": [ - "Monster", - "Grass" + "Field" ] }, - "abomasnow": { - "num": 460, - "name": "abomasnow", + "chingling": { + "num": 433, + "name": "chingling", "types": [ - "grass", - "ice" + "psychic" ], "baseStats": { - "hp": 90, - "attack": 92, - "defense": 75, - "special-attack": 92, - "special-defense": 85, - "speed": 60 + "hp": 45, + "attack": 30, + "defense": 50, + "special-attack": 65, + "special-defense": 50, + "speed": 45 }, "abilities": { - "0": "Snow Warning", - "H": "Soundproof" + "0": "Levitate" }, - "heightm": 2.2, - "weightkg": 135.5, - "color": "White", - "prevo": "Snover", - "evoLevel": 40, - "eggGroups": [ - "Monster", - "Grass" + "heightm": 0.2, + "weightkg": 0.6, + "color": "Yellow", + "evos": [ + "Chimecho" ], - "otherFormes": [ - "Abomasnow-Mega" + "eggGroups": [ + "Undiscovered" ], - "formeOrder": [ - "Abomasnow", - "Abomasnow-Mega" - ] + "canHatch": true }, - "abomasnowmega": { - "num": 460, - "name": "abomasnow-mega", - "baseSpecies": "Abomasnow", - "forme": "Mega", + "stunky": { + "num": 434, + "name": "stunky", "types": [ - "grass", - "ice" + "poison", + "dark" ], "baseStats": { - "hp": 90, - "attack": 132, - "defense": 105, - "special-attack": 132, - "special-defense": 105, - "speed": 30 + "hp": 63, + "attack": 63, + "defense": 47, + "special-attack": 41, + "special-defense": 41, + "speed": 74 }, "abilities": { - "0": "Snow Warning" + "0": "Stench", + "1": "Aftermath", + "H": "Keen Eye" }, - "heightm": 2.7, - "weightkg": 185, - "color": "White", - "eggGroups": [ - "Monster", - "Grass" + "heightm": 0.4, + "weightkg": 19.2, + "color": "Purple", + "evos": [ + "Skuntank" ], - "requiredItem": "Abomasite" + "eggGroups": [ + "Field" + ] }, - "weavile": { - "num": 461, - "name": "weavile", + "skuntank": { + "num": 435, + "name": "skuntank", "types": [ - "dark", - "ice" + "poison", + "dark" ], "baseStats": { - "hp": 70, - "attack": 120, - "defense": 65, - "special-attack": 45, - "special-defense": 85, - "speed": 125 + "hp": 103, + "attack": 93, + "defense": 67, + "special-attack": 71, + "special-defense": 61, + "speed": 84 }, "abilities": { - "0": "Pressure", - "H": "Pickpocket" + "0": "Stench", + "1": "Aftermath", + "H": "Keen Eye" }, - "heightm": 1.1, - "weightkg": 34, - "color": "Black", - "prevo": "Sneasel", - "evoType": "levelHold", - "evoItem": "Razor Claw", - "evoCondition": "at night", + "heightm": 1, + "weightkg": 38, + "color": "Purple", + "prevo": "Stunky", + "evoLevel": 34, "eggGroups": [ "Field" ] }, - "magnezone": { - "num": 462, - "name": "magnezone", + "bronzor": { + "num": 436, + "name": "bronzor", "types": [ - "electric", - "steel" + "steel", + "psychic" ], "gender": "N", "baseStats": { - "hp": 70, - "attack": 70, - "defense": 115, - "special-attack": 130, - "special-defense": 90, - "speed": 60 + "hp": 57, + "attack": 24, + "defense": 86, + "special-attack": 24, + "special-defense": 86, + "speed": 23 }, "abilities": { - "0": "Magnet Pull", - "1": "Sturdy", - "H": "Analytic" + "0": "Levitate", + "1": "Heatproof", + "H": "Heavy Metal" }, - "heightm": 1.2, - "weightkg": 180, - "color": "Gray", - "prevo": "Magneton", - "evoType": "useItem", - "evoItem": "Thunder Stone", + "heightm": 0.5, + "weightkg": 60.5, + "color": "Green", + "evos": [ + "Bronzong" + ], "eggGroups": [ "Mineral" ] }, - "lickilicky": { - "num": 463, - "name": "lickilicky", + "bronzong": { + "num": 437, + "name": "bronzong", "types": [ - "normal" + "steel", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 110, - "attack": 85, - "defense": 95, - "special-attack": 80, - "special-defense": 95, - "speed": 50 + "hp": 67, + "attack": 89, + "defense": 116, + "special-attack": 79, + "special-defense": 116, + "speed": 33 }, "abilities": { - "0": "Own Tempo", - "1": "Oblivious", - "H": "Cloud Nine" + "0": "Levitate", + "1": "Heatproof", + "H": "Heavy Metal" }, - "heightm": 1.7, - "weightkg": 140, - "color": "Pink", - "prevo": "Lickitung", - "evoType": "levelMove", - "evoMove": "Rollout", + "heightm": 1.3, + "weightkg": 187, + "color": "Green", + "prevo": "Bronzor", + "evoLevel": 33, "eggGroups": [ - "Monster" + "Mineral" ] }, - "rhyperior": { - "num": 464, - "name": "rhyperior", + "bonsly": { + "num": 438, + "name": "bonsly", "types": [ - "ground", "rock" ], "baseStats": { - "hp": 115, - "attack": 140, - "defense": 130, - "special-attack": 55, - "special-defense": 55, - "speed": 40 + "hp": 50, + "attack": 80, + "defense": 95, + "special-attack": 10, + "special-defense": 45, + "speed": 10 }, "abilities": { - "0": "Lightning Rod", - "1": "Solid Rock", - "H": "Reckless" + "0": "Sturdy", + "1": "Rock Head", + "H": "Rattled" }, - "heightm": 2.4, - "weightkg": 282.8, - "color": "Gray", - "prevo": "Rhydon", - "evoType": "trade", - "evoItem": "Protector", + "heightm": 0.5, + "weightkg": 15, + "color": "Brown", + "evos": [ + "Sudowoodo" + ], "eggGroups": [ - "Monster", - "Field" - ] + "Undiscovered" + ], + "canHatch": true }, - "tangrowth": { - "num": 465, - "name": "tangrowth", + "mimejr": { + "num": 439, + "name": "mime jr.", "types": [ - "grass" + "psychic", + "fairy" ], "baseStats": { - "hp": 100, - "attack": 100, - "defense": 125, - "special-attack": 110, - "special-defense": 50, - "speed": 50 + "hp": 20, + "attack": 25, + "defense": 45, + "special-attack": 70, + "special-defense": 90, + "speed": 60 }, "abilities": { - "0": "Chlorophyll", - "1": "Leaf Guard", - "H": "Regenerator" + "0": "Soundproof", + "1": "Filter", + "H": "Technician" }, - "heightm": 2, - "weightkg": 128.6, - "color": "Blue", - "prevo": "Tangela", - "evoType": "levelMove", - "evoMove": "Ancient Power", + "heightm": 0.6, + "weightkg": 13, + "color": "Pink", + "evos": [ + "Mr. Mime", + "Mr. Mime-Galar" + ], "eggGroups": [ - "Grass" - ] + "Undiscovered" + ], + "canHatch": true }, - "electivire": { - "num": 466, - "name": "electivire", + "happiny": { + "num": 440, + "name": "happiny", "types": [ - "electric" + "normal" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, + "gender": "F", "baseStats": { - "hp": 75, - "attack": 123, - "defense": 67, - "special-attack": 95, - "special-defense": 85, - "speed": 95 + "hp": 100, + "attack": 5, + "defense": 5, + "special-attack": 15, + "special-defense": 65, + "speed": 30 }, "abilities": { - "0": "Motor Drive", - "H": "Vital Spirit" + "0": "Natural Cure", + "1": "Serene Grace", + "H": "Friend Guard" }, - "heightm": 1.8, - "weightkg": 138.6, - "color": "Yellow", - "prevo": "Electabuzz", - "evoType": "trade", - "evoItem": "Electirizer", + "heightm": 0.6, + "weightkg": 24.4, + "color": "Pink", + "evos": [ + "Chansey" + ], "eggGroups": [ - "Human-Like" - ] + "Undiscovered" + ], + "canHatch": true }, - "magmortar": { - "num": 467, - "name": "magmortar", + "chatot": { + "num": 441, + "name": "chatot", "types": [ - "fire" + "normal", + "flying" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 75, - "attack": 95, - "defense": 67, - "special-attack": 125, - "special-defense": 95, - "speed": 83 + "hp": 76, + "attack": 65, + "defense": 45, + "special-attack": 92, + "special-defense": 42, + "speed": 91 }, "abilities": { - "0": "Flame Body", - "H": "Vital Spirit" + "0": "Keen Eye", + "1": "Tangled Feet", + "H": "Big Pecks" }, - "heightm": 1.6, - "weightkg": 68, - "color": "Red", - "prevo": "Magmar", - "evoType": "trade", - "evoItem": "Magmarizer", + "heightm": 0.5, + "weightkg": 1.9, + "color": "Black", "eggGroups": [ - "Human-Like" + "Flying" ] }, - "togekiss": { - "num": 468, - "name": "togekiss", + "spiritomb": { + "num": 442, + "name": "spiritomb", "types": [ - "fairy", - "flying" + "ghost", + "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 85, - "attack": 50, - "defense": 95, - "special-attack": 120, - "special-defense": 115, - "speed": 80 + "hp": 50, + "attack": 92, + "defense": 108, + "special-attack": 92, + "special-defense": 108, + "speed": 35 }, "abilities": { - "0": "Hustle", - "1": "Serene Grace", - "H": "Super Luck" + "0": "Pressure", + "H": "Infiltrator" }, - "heightm": 1.5, - "weightkg": 38, - "color": "White", - "prevo": "Togetic", - "evoType": "useItem", - "evoItem": "Shiny Stone", + "heightm": 1, + "weightkg": 108, + "color": "Purple", "eggGroups": [ - "Flying", - "Fairy" + "Amorphous" ] }, - "yanmega": { - "num": 469, - "name": "yanmega", + "gible": { + "num": 443, + "name": "gible", "types": [ - "bug", - "flying" + "dragon", + "ground" ], "baseStats": { - "hp": 86, - "attack": 76, - "defense": 86, - "special-attack": 116, - "special-defense": 56, - "speed": 95 + "hp": 58, + "attack": 70, + "defense": 45, + "special-attack": 40, + "special-defense": 45, + "speed": 42 }, "abilities": { - "0": "Speed Boost", - "1": "Tinted Lens", - "H": "Frisk" + "0": "Sand Veil", + "H": "Rough Skin" }, - "heightm": 1.9, - "weightkg": 51.5, - "color": "Green", - "prevo": "Yanma", - "evoType": "levelMove", - "evoMove": "Ancient Power", + "heightm": 0.7, + "weightkg": 20.5, + "color": "Blue", + "evos": [ + "Gabite" + ], "eggGroups": [ - "Bug" + "Monster", + "Dragon" ] }, - "leafeon": { - "num": 470, - "name": "leafeon", + "gabite": { + "num": 444, + "name": "gabite", "types": [ - "grass" + "dragon", + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 65, - "attack": 110, - "defense": 130, - "special-attack": 60, - "special-defense": 65, - "speed": 95 + "hp": 68, + "attack": 90, + "defense": 65, + "special-attack": 50, + "special-defense": 55, + "speed": 82 }, "abilities": { - "0": "Leaf Guard", - "H": "Chlorophyll" + "0": "Sand Veil", + "H": "Rough Skin" }, - "heightm": 1, - "weightkg": 25.5, - "color": "Green", - "prevo": "Eevee", - "evoType": "useItem", - "evoItem": "Leaf Stone", + "heightm": 1.4, + "weightkg": 56, + "color": "Blue", + "prevo": "Gible", + "evoLevel": 24, + "evos": [ + "Garchomp" + ], "eggGroups": [ - "Field" + "Monster", + "Dragon" ] }, - "glaceon": { - "num": 471, - "name": "glaceon", + "garchomp": { + "num": 445, + "name": "garchomp", "types": [ - "ice" + "dragon", + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 65, - "attack": 60, - "defense": 110, - "special-attack": 130, - "special-defense": 95, - "speed": 65 + "hp": 108, + "attack": 130, + "defense": 95, + "special-attack": 80, + "special-defense": 85, + "speed": 102 }, "abilities": { - "0": "Snow Cloak", - "H": "Ice Body" + "0": "Sand Veil", + "H": "Rough Skin" }, - "heightm": 0.8, - "weightkg": 25.9, + "heightm": 1.9, + "weightkg": 95, "color": "Blue", - "prevo": "Eevee", - "evoType": "useItem", - "evoItem": "Ice Stone", + "prevo": "Gabite", + "evoLevel": 48, "eggGroups": [ - "Field" + "Monster", + "Dragon" + ], + "otherFormes": [ + "Garchomp-Mega" + ], + "formeOrder": [ + "Garchomp", + "Garchomp-Mega" ] }, - "gliscor": { - "num": 472, - "name": "gliscor", + "garchompmega": { + "num": 445, + "name": "garchomp-mega", + "baseSpecies": "Garchomp", + "forme": "Mega", "types": [ - "ground", - "flying" + "dragon", + "ground" ], "baseStats": { - "hp": 75, - "attack": 95, - "defense": 125, - "special-attack": 45, - "special-defense": 75, - "speed": 95 + "hp": 108, + "attack": 170, + "defense": 115, + "special-attack": 120, + "special-defense": 95, + "speed": 92 }, "abilities": { - "0": "Hyper Cutter", - "1": "Sand Veil", - "H": "Poison Heal" + "0": "Sand Force" }, - "heightm": 2, - "weightkg": 42.5, - "color": "Purple", - "prevo": "Gligar", - "evoType": "levelHold", - "evoItem": "Razor Fang", - "evoCondition": "at night", + "heightm": 1.9, + "weightkg": 95, + "color": "Blue", "eggGroups": [ - "Bug" - ] + "Monster", + "Dragon" + ], + "requiredItem": "Garchompite" }, - "mamoswine": { - "num": 473, - "name": "mamoswine", + "munchlax": { + "num": 446, + "name": "munchlax", "types": [ - "ice", - "ground" + "normal" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 110, - "attack": 130, - "defense": 80, - "special-attack": 70, - "special-defense": 60, - "speed": 80 + "hp": 135, + "attack": 85, + "defense": 40, + "special-attack": 40, + "special-defense": 85, + "speed": 5 }, "abilities": { - "0": "Oblivious", - "1": "Snow Cloak", - "H": "Thick Fat" + "0": "Pickup", + "1": "Thick Fat", + "H": "Gluttony" }, - "heightm": 2.5, - "weightkg": 291, - "color": "Brown", - "prevo": "Piloswine", - "evoType": "levelMove", - "evoMove": "Ancient Power", + "heightm": 0.6, + "weightkg": 105, + "color": "Black", + "evos": [ + "Snorlax" + ], "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "canHatch": true }, - "porygonz": { - "num": 474, - "name": "porygon-z", + "riolu": { + "num": 447, + "name": "riolu", "types": [ - "normal" + "fighting" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 85, - "attack": 80, - "defense": 70, - "special-attack": 135, - "special-defense": 75, - "speed": 90 + "hp": 40, + "attack": 70, + "defense": 40, + "special-attack": 35, + "special-defense": 40, + "speed": 60 }, - "abilities": { - "0": "Adaptability", - "1": "Download", - "H": "Analytic" + "abilities": { + "0": "Steadfast", + "1": "Inner Focus", + "H": "Prankster" }, - "heightm": 0.9, - "weightkg": 34, - "color": "Red", - "prevo": "Porygon2", - "evoType": "trade", - "evoItem": "Dubious Disc", + "heightm": 0.7, + "weightkg": 20.2, + "color": "Blue", + "evos": [ + "Lucario" + ], "eggGroups": [ - "Mineral" - ] + "Undiscovered" + ], + "canHatch": true }, - "gallade": { - "num": 475, - "name": "gallade", + "lucario": { + "num": 448, + "name": "lucario", "types": [ - "psychic", - "fighting" + "fighting", + "steel" ], - "gender": "M", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 125, - "defense": 65, - "special-attack": 65, - "special-defense": 115, - "speed": 80 + "hp": 70, + "attack": 110, + "defense": 70, + "special-attack": 115, + "special-defense": 70, + "speed": 90 }, "abilities": { "0": "Steadfast", - "1": "Sharpness", + "1": "Inner Focus", "H": "Justified" }, - "heightm": 1.6, - "weightkg": 52, - "color": "White", - "prevo": "Kirlia", - "evoType": "useItem", - "evoItem": "Dawn Stone", + "heightm": 1.2, + "weightkg": 54, + "color": "Blue", + "prevo": "Riolu", + "evoType": "levelFriendship", + "evoCondition": "during the day", "eggGroups": [ - "Human-Like", - "Amorphous" + "Field", + "Human-Like" ], "otherFormes": [ - "Gallade-Mega" + "Lucario-Mega" ], "formeOrder": [ - "Gallade", - "Gallade-Mega" + "Lucario", + "Lucario-Mega" ] }, - "gallademega": { - "num": 475, - "name": "gallade-mega", - "baseSpecies": "Gallade", + "lucariomega": { + "num": 448, + "name": "lucario-mega", + "baseSpecies": "Lucario", "forme": "Mega", "types": [ - "psychic", - "fighting" + "fighting", + "steel" ], - "gender": "M", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 165, - "defense": 95, - "special-attack": 65, - "special-defense": 115, - "speed": 110 + "hp": 70, + "attack": 145, + "defense": 88, + "special-attack": 140, + "special-defense": 70, + "speed": 112 }, "abilities": { - "0": "Inner Focus" + "0": "Adaptability" }, - "heightm": 1.6, - "weightkg": 56.4, - "color": "White", + "heightm": 1.3, + "weightkg": 57.5, + "color": "Blue", "eggGroups": [ - "Amorphous" + "Field", + "Human-Like" ], - "requiredItem": "Galladite" + "requiredItem": "Lucarionite" }, - "probopass": { - "num": 476, - "name": "probopass", + "hippopotas": { + "num": 449, + "name": "hippopotas", "types": [ - "rock", - "steel" + "ground" ], "baseStats": { - "hp": 60, - "attack": 55, - "defense": 145, - "special-attack": 75, - "special-defense": 150, - "speed": 40 + "hp": 68, + "attack": 72, + "defense": 78, + "special-attack": 38, + "special-defense": 42, + "speed": 32 }, "abilities": { - "0": "Sturdy", - "1": "Magnet Pull", + "0": "Sand Stream", "H": "Sand Force" }, - "heightm": 1.4, - "weightkg": 340, - "color": "Gray", - "prevo": "Nosepass", - "evoType": "levelExtra", - "evoCondition": "near a special magnetic field", - "eggGroups": [ - "Mineral" - ] - }, - "dusknoir": { - "num": 477, - "name": "dusknoir", - "types": [ - "ghost" + "heightm": 0.8, + "weightkg": 49.5, + "color": "Brown", + "evos": [ + "Hippowdon" ], - "baseStats": { - "hp": 45, - "attack": 100, - "defense": 135, - "special-attack": 65, - "special-defense": 135, - "speed": 45 - }, - "abilities": { - "0": "Pressure", - "H": "Frisk" - }, - "heightm": 2.2, - "weightkg": 106.6, - "color": "Black", - "prevo": "Dusclops", - "evoType": "trade", - "evoItem": "Reaper Cloth", "eggGroups": [ - "Amorphous" + "Field" ] }, - "froslass": { - "num": 478, - "name": "froslass", + "hippowdon": { + "num": 450, + "name": "hippowdon", "types": [ - "ice", - "ghost" + "ground" ], - "gender": "F", "baseStats": { - "hp": 70, - "attack": 80, - "defense": 70, - "special-attack": 80, - "special-defense": 70, - "speed": 110 + "hp": 108, + "attack": 112, + "defense": 118, + "special-attack": 68, + "special-defense": 72, + "speed": 47 }, "abilities": { - "0": "Snow Cloak", - "H": "Cursed Body" + "0": "Sand Stream", + "H": "Sand Force" }, - "heightm": 1.3, - "weightkg": 26.6, - "color": "White", - "prevo": "Snorunt", - "evoType": "useItem", - "evoItem": "Dawn Stone", + "heightm": 2, + "weightkg": 300, + "color": "Brown", + "prevo": "Hippopotas", + "evoLevel": 34, "eggGroups": [ - "Fairy", - "Mineral" + "Field" ] }, - "rotom": { - "num": 479, - "name": "rotom", + "skorupi": { + "num": 451, + "name": "skorupi", "types": [ - "electric", - "ghost" + "poison", + "bug" ], - "gender": "N", "baseStats": { - "hp": 50, + "hp": 40, "attack": 50, - "defense": 77, - "special-attack": 95, - "special-defense": 77, - "speed": 91 + "defense": 90, + "special-attack": 30, + "special-defense": 55, + "speed": 65 }, "abilities": { - "0": "Levitate" + "0": "Battle Armor", + "1": "Sniper", + "H": "Keen Eye" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", - "eggGroups": [ - "Amorphous" - ], - "otherFormes": [ - "Rotom-Heat", - "Rotom-Wash", - "Rotom-Frost", - "Rotom-Fan", - "Rotom-Mow" + "heightm": 0.8, + "weightkg": 12, + "color": "Purple", + "evos": [ + "Drapion" ], - "formeOrder": [ - "Rotom", - "Rotom-Heat", - "Rotom-Wash", - "Rotom-Frost", - "Rotom-Fan", - "Rotom-Mow" + "eggGroups": [ + "Bug", + "Water 3" ] }, - "rotomheat": { - "num": 479, - "name": "rotom-heat", - "baseSpecies": "Rotom", - "forme": "Heat", + "drapion": { + "num": 452, + "name": "drapion", "types": [ - "electric", - "fire" + "poison", + "dark" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 107, - "special-attack": 105, - "special-defense": 107, - "speed": 86 + "hp": 70, + "attack": 90, + "defense": 110, + "special-attack": 60, + "special-defense": 75, + "speed": 95 }, "abilities": { - "0": "Levitate" + "0": "Battle Armor", + "1": "Sniper", + "H": "Keen Eye" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", + "heightm": 1.3, + "weightkg": 61.5, + "color": "Purple", + "prevo": "Skorupi", + "evoLevel": 40, "eggGroups": [ - "Amorphous" - ], - "changesFrom": "Rotom" + "Bug", + "Water 3" + ] }, - "rotomwash": { - "num": 479, - "name": "rotom-wash", - "baseSpecies": "Rotom", - "forme": "Wash", + "croagunk": { + "num": 453, + "name": "croagunk", "types": [ - "electric", - "water" + "poison", + "fighting" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 107, - "special-attack": 105, - "special-defense": 107, - "speed": 86 + "hp": 48, + "attack": 61, + "defense": 40, + "special-attack": 61, + "special-defense": 40, + "speed": 50 }, "abilities": { - "0": "Levitate" + "0": "Anticipation", + "1": "Dry Skin", + "H": "Poison Touch" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", - "eggGroups": [ - "Amorphous" + "heightm": 0.7, + "weightkg": 23, + "color": "Blue", + "evos": [ + "Toxicroak" ], - "changesFrom": "Rotom" + "eggGroups": [ + "Human-Like" + ] }, - "rotomfrost": { - "num": 479, - "name": "rotom-frost", - "baseSpecies": "Rotom", - "forme": "Frost", + "toxicroak": { + "num": 454, + "name": "toxicroak", "types": [ - "electric", - "ice" + "poison", + "fighting" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 107, - "special-attack": 105, - "special-defense": 107, - "speed": 86 + "hp": 83, + "attack": 106, + "defense": 65, + "special-attack": 86, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Levitate" + "0": "Anticipation", + "1": "Dry Skin", + "H": "Poison Touch" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", + "heightm": 1.3, + "weightkg": 44.4, + "color": "Blue", + "prevo": "Croagunk", + "evoLevel": 37, "eggGroups": [ - "Amorphous" - ], - "changesFrom": "Rotom" + "Human-Like" + ] }, - "rotomfan": { - "num": 479, - "name": "rotom-fan", - "baseSpecies": "Rotom", - "forme": "Fan", + "carnivine": { + "num": 455, + "name": "carnivine", "types": [ - "electric", - "flying" + "grass" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 107, - "special-attack": 105, - "special-defense": 107, - "speed": 86 + "hp": 74, + "attack": 100, + "defense": 72, + "special-attack": 90, + "special-defense": 72, + "speed": 46 }, "abilities": { "0": "Levitate" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", + "heightm": 1.4, + "weightkg": 27, + "color": "Green", "eggGroups": [ - "Amorphous" - ], - "changesFrom": "Rotom" + "Grass" + ] }, - "rotommow": { - "num": 479, - "name": "rotom-mow", - "baseSpecies": "Rotom", - "forme": "Mow", + "finneon": { + "num": 456, + "name": "finneon", "types": [ - "electric", - "grass" + "water" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 107, - "special-attack": 105, - "special-defense": 107, - "speed": 86 + "hp": 49, + "attack": 49, + "defense": 56, + "special-attack": 49, + "special-defense": 61, + "speed": 66 }, "abilities": { - "0": "Levitate" + "0": "Swift Swim", + "1": "Storm Drain", + "H": "Water Veil" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Red", - "eggGroups": [ - "Amorphous" + "heightm": 0.4, + "weightkg": 7, + "color": "Blue", + "evos": [ + "Lumineon" ], - "changesFrom": "Rotom" + "eggGroups": [ + "Water 2" + ] }, - "uxie": { - "num": 480, - "name": "uxie", + "lumineon": { + "num": 457, + "name": "lumineon", "types": [ - "psychic" + "water" ], - "gender": "N", "baseStats": { - "hp": 75, - "attack": 75, - "defense": 130, - "special-attack": 75, - "special-defense": 130, - "speed": 95 + "hp": 69, + "attack": 69, + "defense": 76, + "special-attack": 69, + "special-defense": 86, + "speed": 91 }, "abilities": { - "0": "Levitate" + "0": "Swift Swim", + "1": "Storm Drain", + "H": "Water Veil" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Yellow", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1.2, + "weightkg": 24, + "color": "Blue", + "prevo": "Finneon", + "evoLevel": 31, "eggGroups": [ - "Undiscovered" + "Water 2" ] }, - "mesprit": { - "num": 481, - "name": "mesprit", + "mantyke": { + "num": 458, + "name": "mantyke", "types": [ - "psychic" + "water", + "flying" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 105, - "defense": 105, - "special-attack": 105, - "special-defense": 105, - "speed": 80 + "hp": 45, + "attack": 20, + "defense": 50, + "special-attack": 60, + "special-defense": 120, + "speed": 50 }, "abilities": { - "0": "Levitate" + "0": "Swift Swim", + "1": "Water Absorb", + "H": "Water Veil" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Pink", - "tags": [ - "Sub-Legendary" + "heightm": 1, + "weightkg": 65, + "color": "Blue", + "evos": [ + "Mantine" ], "eggGroups": [ "Undiscovered" - ] + ], + "canHatch": true }, - "azelf": { - "num": 482, - "name": "azelf", + "snover": { + "num": 459, + "name": "snover", "types": [ - "psychic" + "grass", + "ice" ], - "gender": "N", "baseStats": { - "hp": 75, - "attack": 125, - "defense": 70, - "special-attack": 125, - "special-defense": 70, - "speed": 115 + "hp": 60, + "attack": 62, + "defense": 50, + "special-attack": 62, + "special-defense": 60, + "speed": 40 }, "abilities": { - "0": "Levitate" + "0": "Snow Warning", + "H": "Soundproof" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Blue", - "tags": [ - "Sub-Legendary" + "heightm": 1, + "weightkg": 50.5, + "color": "White", + "evos": [ + "Abomasnow" ], "eggGroups": [ - "Undiscovered" + "Monster", + "Grass" ] }, - "dialga": { - "num": 483, - "name": "dialga", + "abomasnow": { + "num": 460, + "name": "abomasnow", "types": [ - "steel", - "dragon" + "grass", + "ice" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 120, - "defense": 120, - "special-attack": 150, - "special-defense": 100, - "speed": 90 + "hp": 90, + "attack": 92, + "defense": 75, + "special-attack": 92, + "special-defense": 85, + "speed": 60 }, "abilities": { - "0": "Pressure", - "H": "Telepathy" + "0": "Snow Warning", + "H": "Soundproof" }, - "heightm": 5.4, - "weightkg": 683, - "tags": [ - "Restricted Legendary" - ], + "heightm": 2.2, + "weightkg": 135.5, "color": "White", + "prevo": "Snover", + "evoLevel": 40, "eggGroups": [ - "Undiscovered" + "Monster", + "Grass" ], "otherFormes": [ - "Dialga-Origin" + "Abomasnow-Mega" ], "formeOrder": [ - "Dialga", - "Dialga-Origin" + "Abomasnow", + "Abomasnow-Mega" ] }, - "dialgaorigin": { - "num": 483, - "name": "dialga-origin", - "baseSpecies": "Dialga", - "forme": "Origin", + "abomasnowmega": { + "num": 460, + "name": "abomasnow-mega", + "baseSpecies": "Abomasnow", + "forme": "Mega", "types": [ - "steel", - "dragon" + "grass", + "ice" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 120, - "special-attack": 150, - "special-defense": 120, - "speed": 90 + "hp": 90, + "attack": 132, + "defense": 105, + "special-attack": 132, + "special-defense": 105, + "speed": 30 }, "abilities": { - "0": "Pressure", - "H": "Telepathy" + "0": "Snow Warning" }, - "heightm": 7, - "weightkg": 850, - "color": "Blue", + "heightm": 2.7, + "weightkg": 185, + "color": "White", "eggGroups": [ - "Undiscovered" + "Monster", + "Grass" ], - "requiredItem": "Adamant Crystal", - "changesFrom": "Dialga", - "gen": 8 + "requiredItem": "Abomasite" }, - "palkia": { - "num": 484, - "name": "palkia", + "weavile": { + "num": 461, + "name": "weavile", "types": [ - "water", - "dragon" + "dark", + "ice" ], - "gender": "N", "baseStats": { - "hp": 90, + "hp": 70, "attack": 120, - "defense": 100, - "special-attack": 150, - "special-defense": 120, - "speed": 100 + "defense": 65, + "special-attack": 45, + "special-defense": 85, + "speed": 125 }, "abilities": { "0": "Pressure", - "H": "Telepathy" + "H": "Pickpocket" }, - "heightm": 4.2, - "weightkg": 336, - "color": "Purple", - "tags": [ - "Restricted Legendary" - ], + "heightm": 1.1, + "weightkg": 34, + "color": "Black", + "prevo": "Sneasel", + "evoType": "levelHold", + "evoItem": "Razor Claw", + "evoCondition": "at night", "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Palkia-Origin" - ], - "formeOrder": [ - "Palkia", - "Palkia-Origin" + "Field" ] }, - "palkiaorigin": { - "num": 484, - "name": "palkia-origin", - "baseSpecies": "Palkia", - "forme": "Origin", - "types": [ - "water", - "dragon" - ], - "gender": "N", - "baseStats": { - "hp": 90, - "attack": 100, - "defense": 100, - "special-attack": 150, - "special-defense": 120, - "speed": 120 - }, - "abilities": { - "0": "Pressure", - "H": "Telepathy" - }, - "heightm": 6.3, - "weightkg": 660, - "color": "Purple", - "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Lustrous Globe", - "changesFrom": "Palkia", - "gen": 8 - }, - "heatran": { - "num": 485, - "name": "heatran", + "magnezone": { + "num": 462, + "name": "magnezone", "types": [ - "fire", + "electric", "steel" ], + "gender": "N", "baseStats": { - "hp": 91, - "attack": 90, - "defense": 106, + "hp": 70, + "attack": 70, + "defense": 115, "special-attack": 130, - "special-defense": 106, - "speed": 77 + "special-defense": 90, + "speed": 60 }, "abilities": { - "0": "Flash Fire", - "H": "Flame Body" + "0": "Magnet Pull", + "1": "Sturdy", + "H": "Analytic" }, - "heightm": 1.7, - "weightkg": 430, - "color": "Brown", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1.2, + "weightkg": 180, + "color": "Gray", + "prevo": "Magneton", + "evoType": "useItem", + "evoItem": "Thunder Stone", "eggGroups": [ - "Undiscovered" + "Mineral" ] }, - "regigigas": { - "num": 486, - "name": "regigigas", + "lickilicky": { + "num": 463, + "name": "lickilicky", "types": [ "normal" ], - "gender": "N", "baseStats": { "hp": 110, - "attack": 160, - "defense": 110, + "attack": 85, + "defense": 95, "special-attack": 80, - "special-defense": 110, - "speed": 100 + "special-defense": 95, + "speed": 50 }, "abilities": { - "0": "Slow Start" + "0": "Own Tempo", + "1": "Oblivious", + "H": "Cloud Nine" }, - "heightm": 3.7, - "weightkg": 420, - "color": "White", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1.7, + "weightkg": 140, + "color": "Pink", + "prevo": "Lickitung", + "evoType": "levelMove", + "evoMove": "Rollout", "eggGroups": [ - "Undiscovered" + "Monster" ] }, - "giratina": { - "num": 487, - "name": "giratina", - "baseForme": "Altered", + "rhyperior": { + "num": 464, + "name": "rhyperior", "types": [ - "ghost", - "dragon" + "ground", + "rock" ], - "gender": "N", "baseStats": { - "hp": 150, - "attack": 100, - "defense": 120, - "special-attack": 100, - "special-defense": 120, - "speed": 90 + "hp": 115, + "attack": 140, + "defense": 130, + "special-attack": 55, + "special-defense": 55, + "speed": 40 }, "abilities": { - "0": "Pressure", - "H": "Telepathy" + "0": "Lightning Rod", + "1": "Solid Rock", + "H": "Reckless" }, - "heightm": 4.5, - "weightkg": 750, - "color": "Black", + "heightm": 2.4, + "weightkg": 282.8, + "color": "Gray", + "prevo": "Rhydon", + "evoType": "trade", + "evoItem": "Protector", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" - ], - "otherFormes": [ - "Giratina-Origin" - ], - "formeOrder": [ - "Giratina", - "Giratina-Origin" + "Monster", + "Field" ] }, - "giratinaorigin": { - "num": 487, - "name": "giratina-origin", - "baseSpecies": "Giratina", - "forme": "Origin", + "tangrowth": { + "num": 465, + "name": "tangrowth", "types": [ - "ghost", - "dragon" + "grass" ], - "gender": "N", "baseStats": { - "hp": 150, - "attack": 120, - "defense": 100, - "special-attack": 120, - "special-defense": 100, - "speed": 90 + "hp": 100, + "attack": 100, + "defense": 125, + "special-attack": 110, + "special-defense": 50, + "speed": 50 }, "abilities": { - "0": "Levitate" + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Regenerator" }, - "heightm": 6.9, - "weightkg": 650, - "color": "Black", + "heightm": 2, + "weightkg": 128.6, + "color": "Blue", + "prevo": "Tangela", + "evoType": "levelMove", + "evoMove": "Ancient Power", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Griseous Core", - "changesFrom": "Giratina" + "Grass" + ] }, - "cresselia": { - "num": 488, - "name": "cresselia", + "electivire": { + "num": 466, + "name": "electivire", "types": [ - "psychic" + "electric" ], - "gender": "F", + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 120, - "attack": 70, - "defense": 110, - "special-attack": 75, - "special-defense": 120, - "speed": 85 + "hp": 75, + "attack": 123, + "defense": 67, + "special-attack": 95, + "special-defense": 85, + "speed": 95 }, "abilities": { - "0": "Levitate" + "0": "Motor Drive", + "H": "Vital Spirit" }, - "heightm": 1.5, - "weightkg": 85.6, + "heightm": 1.8, + "weightkg": 138.6, "color": "Yellow", - "tags": [ - "Sub-Legendary" - ], + "prevo": "Electabuzz", + "evoType": "trade", + "evoItem": "Electirizer", "eggGroups": [ - "Undiscovered" + "Human-Like" ] }, - "phione": { - "num": 489, - "name": "phione", + "magmortar": { + "num": 467, + "name": "magmortar", "types": [ - "water" + "fire" ], - "gender": "N", + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 80, - "attack": 80, - "defense": 80, - "special-attack": 80, - "special-defense": 80, - "speed": 80 + "hp": 75, + "attack": 95, + "defense": 67, + "special-attack": 125, + "special-defense": 95, + "speed": 83 }, "abilities": { - "0": "Hydration" + "0": "Flame Body", + "H": "Vital Spirit" }, - "heightm": 0.4, - "weightkg": 3.1, - "color": "Blue", - "tags": [ - "Mythical" - ], + "heightm": 1.6, + "weightkg": 68, + "color": "Red", + "prevo": "Magmar", + "evoType": "trade", + "evoItem": "Magmarizer", "eggGroups": [ - "Water 1", - "Fairy" + "Human-Like" ] }, - "manaphy": { - "num": 490, - "name": "manaphy", + "togekiss": { + "num": 468, + "name": "togekiss", "types": [ - "water" + "fairy", + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 85, + "attack": 50, + "defense": 95, + "special-attack": 120, + "special-defense": 115, + "speed": 80 }, "abilities": { - "0": "Hydration" + "0": "Hustle", + "1": "Serene Grace", + "H": "Super Luck" }, - "heightm": 0.3, - "weightkg": 1.4, - "color": "Blue", - "tags": [ - "Mythical" - ], + "heightm": 1.5, + "weightkg": 38, + "color": "White", + "prevo": "Togetic", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Water 1", + "Flying", "Fairy" ] }, - "darkrai": { - "num": 491, - "name": "darkrai", + "yanmega": { + "num": 469, + "name": "yanmega", "types": [ - "dark" + "bug", + "flying" ], - "gender": "N", "baseStats": { - "hp": 70, - "attack": 90, - "defense": 90, - "special-attack": 135, - "special-defense": 90, - "speed": 125 + "hp": 86, + "attack": 76, + "defense": 86, + "special-attack": 116, + "special-defense": 56, + "speed": 95 }, "abilities": { - "0": "Bad Dreams" + "0": "Speed Boost", + "1": "Tinted Lens", + "H": "Frisk" }, - "heightm": 1.5, - "weightkg": 50.5, - "color": "Black", - "tags": [ - "Mythical" - ], + "heightm": 1.9, + "weightkg": 51.5, + "color": "Green", + "prevo": "Yanma", + "evoType": "levelMove", + "evoMove": "Ancient Power", "eggGroups": [ - "Undiscovered" + "Bug" ] }, - "shaymin": { - "num": 492, - "name": "shaymin", - "baseForme": "Land", + "leafeon": { + "num": 470, + "name": "leafeon", "types": [ "grass" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 65, + "attack": 110, + "defense": 130, + "special-attack": 60, + "special-defense": 65, + "speed": 95 }, "abilities": { - "0": "Natural Cure" + "0": "Leaf Guard", + "H": "Chlorophyll" }, - "heightm": 0.2, - "weightkg": 2.1, + "heightm": 1, + "weightkg": 25.5, "color": "Green", + "prevo": "Eevee", + "evoType": "useItem", + "evoItem": "Leaf Stone", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" - ], - "otherFormes": [ - "Shaymin-Sky" - ], - "formeOrder": [ - "Shaymin", - "Shaymin-Sky" + "Field" ] }, - "shayminsky": { - "num": 492, - "name": "shaymin-sky", - "baseSpecies": "Shaymin", - "forme": "Sky", + "glaceon": { + "num": 471, + "name": "glaceon", "types": [ - "grass", - "flying" + "ice" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 103, - "defense": 75, - "special-attack": 120, - "special-defense": 75, - "speed": 127 + "hp": 65, + "attack": 60, + "defense": 110, + "special-attack": 130, + "special-defense": 95, + "speed": 65 }, "abilities": { - "0": "Serene Grace" + "0": "Snow Cloak", + "H": "Ice Body" }, - "heightm": 0.4, - "weightkg": 5.2, - "color": "Green", + "heightm": 0.8, + "weightkg": 25.9, + "color": "Blue", + "prevo": "Eevee", + "evoType": "useItem", + "evoItem": "Ice Stone", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Shaymin" + "Field" + ] }, - "arceus": { - "num": 493, - "name": "arceus", - "baseForme": "Normal", + "gliscor": { + "num": 472, + "name": "gliscor", "types": [ - "normal" + "ground", + "flying" ], - "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 75, + "attack": 95, + "defense": 125, + "special-attack": 45, + "special-defense": 75, + "speed": 95 }, "abilities": { - "0": "Multitype" + "0": "Hyper Cutter", + "1": "Sand Veil", + "H": "Poison Heal" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", - "tags": [ - "Mythical" - ], + "heightm": 2, + "weightkg": 42.5, + "color": "Purple", + "prevo": "Gligar", + "evoType": "levelHold", + "evoItem": "Razor Fang", + "evoCondition": "at night", "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Arceus-Bug", - "Arceus-Dark", - "Arceus-Dragon", - "Arceus-Electric", - "Arceus-Fairy", - "Arceus-Fighting", - "Arceus-Fire", - "Arceus-Flying", - "Arceus-Ghost", - "Arceus-Grass", - "Arceus-Ground", - "Arceus-Ice", - "Arceus-Poison", - "Arceus-Psychic", - "Arceus-Rock", - "Arceus-Steel", - "Arceus-Water" - ], - "formeOrder": [ - "Arceus", - "Arceus-Fighting", - "Arceus-Flying", - "Arceus-Poison", - "Arceus-Ground", - "Arceus-Rock", - "Arceus-Bug", - "Arceus-Ghost", - "Arceus-Steel", - "Arceus-Fire", - "Arceus-Water", - "Arceus-Grass", - "Arceus-Electric", - "Arceus-Psychic", - "Arceus-Ice", - "Arceus-Dragon", - "Arceus-Dark", - "Arceus-Fairy" + "Bug" ] }, - "arceusbug": { - "num": 493, - "name": "arceus-bug", - "baseSpecies": "Arceus", - "forme": "Bug", + "mamoswine": { + "num": 473, + "name": "mamoswine", "types": [ - "bug" + "ice", + "ground" ], - "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 110, + "attack": 130, + "defense": 80, + "special-attack": 70, + "special-defense": 60, + "speed": 80 }, "abilities": { - "0": "Multitype" + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 2.5, + "weightkg": 291, + "color": "Brown", + "prevo": "Piloswine", + "evoType": "levelMove", + "evoMove": "Ancient Power", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Insect Plate", - "Buginium Z" - ], - "changesFrom": "Arceus" + "Field" + ] }, - "arceusdark": { - "num": 493, - "name": "arceus-dark", - "baseSpecies": "Arceus", - "forme": "Dark", + "porygonz": { + "num": 474, + "name": "porygon-z", "types": [ - "dark" + "normal" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 85, + "attack": 80, + "defense": 70, + "special-attack": 135, + "special-defense": 75, + "speed": 90 }, "abilities": { - "0": "Multitype" + "0": "Adaptability", + "1": "Download", + "H": "Analytic" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.9, + "weightkg": 34, + "color": "Red", + "prevo": "Porygon2", + "evoType": "trade", + "evoItem": "Dubious Disc", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Dread Plate", - "Darkinium Z" - ], - "changesFrom": "Arceus" + "Mineral" + ] }, - "arceusdragon": { - "num": 493, - "name": "arceus-dragon", - "baseSpecies": "Arceus", - "forme": "Dragon", + "gallade": { + "num": 475, + "name": "gallade", "types": [ - "dragon" + "psychic", + "fighting" ], - "gender": "N", + "gender": "M", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 68, + "attack": 125, + "defense": 65, + "special-attack": 65, + "special-defense": 115, + "speed": 80 }, "abilities": { - "0": "Multitype" + "0": "Steadfast", + "1": "Sharpness", + "H": "Justified" }, - "heightm": 3.2, - "weightkg": 320, + "heightm": 1.6, + "weightkg": 52, "color": "White", + "prevo": "Kirlia", + "evoType": "useItem", + "evoItem": "Dawn Stone", "eggGroups": [ - "Undiscovered" + "Human-Like", + "Amorphous" ], - "requiredItems": [ - "Draco Plate", - "Dragonium Z" + "otherFormes": [ + "Gallade-Mega" ], - "changesFrom": "Arceus" + "formeOrder": [ + "Gallade", + "Gallade-Mega" + ] }, - "arceuselectric": { - "num": 493, - "name": "arceus-electric", - "baseSpecies": "Arceus", - "forme": "Electric", + "gallademega": { + "num": 475, + "name": "gallade-mega", + "baseSpecies": "Gallade", + "forme": "Mega", "types": [ - "electric" + "psychic", + "fighting" ], - "gender": "N", + "gender": "M", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 68, + "attack": 165, + "defense": 95, + "special-attack": 65, + "special-defense": 115, + "speed": 110 }, "abilities": { - "0": "Multitype" + "0": "Inner Focus" }, - "heightm": 3.2, - "weightkg": 320, + "heightm": 1.6, + "weightkg": 56.4, "color": "White", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Zap Plate", - "Electrium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "requiredItem": "Galladite" }, - "arceusfairy": { - "num": 493, - "name": "arceus-fairy", - "baseSpecies": "Arceus", - "forme": "Fairy", + "probopass": { + "num": 476, + "name": "probopass", "types": [ - "fairy" + "rock", + "steel" ], - "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 60, + "attack": 55, + "defense": 145, + "special-attack": 75, + "special-defense": 150, + "speed": 40 }, "abilities": { - "0": "Multitype" + "0": "Sturdy", + "1": "Magnet Pull", + "H": "Sand Force" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 1.4, + "weightkg": 340, + "color": "Gray", + "prevo": "Nosepass", + "evoType": "levelExtra", + "evoCondition": "near a special magnetic field", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Pixie Plate", - "Fairium Z" - ], - "changesFrom": "Arceus", - "gen": 6 + "Mineral" + ] }, - "arceusfighting": { - "num": 493, - "name": "arceus-fighting", - "baseSpecies": "Arceus", - "forme": "Fighting", + "dusknoir": { + "num": 477, + "name": "dusknoir", "types": [ - "fighting" + "ghost" ], - "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 45, + "attack": 100, + "defense": 135, + "special-attack": 65, + "special-defense": 135, + "speed": 45 }, "abilities": { - "0": "Multitype" + "0": "Pressure", + "H": "Frisk" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 2.2, + "weightkg": 106.6, + "color": "Black", + "prevo": "Dusclops", + "evoType": "trade", + "evoItem": "Reaper Cloth", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Fist Plate", - "Fightinium Z" - ], - "changesFrom": "Arceus" - }, - "arceusfire": { - "num": 493, - "name": "arceus-fire", - "baseSpecies": "Arceus", - "forme": "Fire", + "Amorphous" + ] + }, + "froslass": { + "num": 478, + "name": "froslass", "types": [ - "fire" + "ice", + "ghost" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 70, + "attack": 80, + "defense": 70, + "special-attack": 80, + "special-defense": 70, + "speed": 110 }, "abilities": { - "0": "Multitype" + "0": "Snow Cloak", + "H": "Cursed Body" }, - "heightm": 3.2, - "weightkg": 320, + "heightm": 1.3, + "weightkg": 26.6, "color": "White", + "prevo": "Snorunt", + "evoType": "useItem", + "evoItem": "Dawn Stone", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Flame Plate", - "Firium Z" - ], - "changesFrom": "Arceus" + "Fairy", + "Mineral" + ] }, - "arceusflying": { - "num": 493, - "name": "arceus-flying", - "baseSpecies": "Arceus", - "forme": "Flying", + "rotom": { + "num": 479, + "name": "rotom", "types": [ - "flying" + "electric", + "ghost" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 50, + "defense": 77, + "special-attack": 95, + "special-defense": 77, + "speed": 91 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" + "Amorphous" ], - "requiredItems": [ - "Sky Plate", - "Flyinium Z" + "otherFormes": [ + "Rotom-Heat", + "Rotom-Wash", + "Rotom-Frost", + "Rotom-Fan", + "Rotom-Mow" ], - "changesFrom": "Arceus" + "formeOrder": [ + "Rotom", + "Rotom-Heat", + "Rotom-Wash", + "Rotom-Frost", + "Rotom-Fan", + "Rotom-Mow" + ] }, - "arceusghost": { - "num": 493, - "name": "arceus-ghost", - "baseSpecies": "Arceus", - "forme": "Ghost", + "rotomheat": { + "num": 479, + "name": "rotom-heat", + "baseSpecies": "Rotom", + "forme": "Heat", "types": [ - "ghost" + "electric", + "fire" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 65, + "defense": 107, + "special-attack": 105, + "special-defense": 107, + "speed": 86 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Spooky Plate", - "Ghostium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "changesFrom": "Rotom" }, - "arceusgrass": { - "num": 493, - "name": "arceus-grass", - "baseSpecies": "Arceus", - "forme": "Grass", + "rotomwash": { + "num": 479, + "name": "rotom-wash", + "baseSpecies": "Rotom", + "forme": "Wash", "types": [ - "grass" + "electric", + "water" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 65, + "defense": 107, + "special-attack": 105, + "special-defense": 107, + "speed": 86 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Meadow Plate", - "Grassium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "changesFrom": "Rotom" }, - "arceusground": { - "num": 493, - "name": "arceus-ground", - "baseSpecies": "Arceus", - "forme": "Ground", + "rotomfrost": { + "num": 479, + "name": "rotom-frost", + "baseSpecies": "Rotom", + "forme": "Frost", "types": [ - "ground" + "electric", + "ice" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 65, + "defense": 107, + "special-attack": 105, + "special-defense": 107, + "speed": 86 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Earth Plate", - "Groundium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "changesFrom": "Rotom" }, - "arceusice": { - "num": 493, - "name": "arceus-ice", - "baseSpecies": "Arceus", - "forme": "Ice", + "rotomfan": { + "num": 479, + "name": "rotom-fan", + "baseSpecies": "Rotom", + "forme": "Fan", "types": [ - "ice" + "electric", + "flying" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 65, + "defense": 107, + "special-attack": 105, + "special-defense": 107, + "speed": 86 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Icicle Plate", - "Icium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "changesFrom": "Rotom" }, - "arceuspoison": { - "num": 493, - "name": "arceus-poison", - "baseSpecies": "Arceus", - "forme": "Poison", + "rotommow": { + "num": 479, + "name": "rotom-mow", + "baseSpecies": "Rotom", + "forme": "Mow", "types": [ - "poison" + "electric", + "grass" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 50, + "attack": 65, + "defense": 107, + "special-attack": 105, + "special-defense": 107, + "speed": 86 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItems": [ - "Toxic Plate", - "Poisonium Z" + "Amorphous" ], - "changesFrom": "Arceus" + "changesFrom": "Rotom" }, - "arceuspsychic": { - "num": 493, - "name": "arceus-psychic", - "baseSpecies": "Arceus", - "forme": "Psychic", + "uxie": { + "num": 480, + "name": "uxie", "types": [ "psychic" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 75, + "attack": 75, + "defense": 130, + "special-attack": 75, + "special-defense": 130, + "speed": 95 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Yellow", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ "Undiscovered" - ], - "requiredItems": [ - "Mind Plate", - "Psychium Z" - ], - "changesFrom": "Arceus" + ] }, - "arceusrock": { - "num": 493, - "name": "arceus-rock", - "baseSpecies": "Arceus", - "forme": "Rock", + "mesprit": { + "num": 481, + "name": "mesprit", "types": [ - "rock" + "psychic" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 80, + "attack": 105, + "defense": 105, + "special-attack": 105, + "special-defense": 105, + "speed": 80 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Pink", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ "Undiscovered" - ], - "requiredItems": [ - "Stone Plate", - "Rockium Z" - ], - "changesFrom": "Arceus" + ] }, - "arceussteel": { - "num": 493, - "name": "arceus-steel", - "baseSpecies": "Arceus", - "forme": "Steel", + "azelf": { + "num": 482, + "name": "azelf", "types": [ - "steel" + "psychic" ], "gender": "N", "baseStats": { - "hp": 120, - "attack": 120, - "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "hp": 75, + "attack": 125, + "defense": 70, + "special-attack": 125, + "special-defense": 70, + "speed": 115 }, "abilities": { - "0": "Multitype" + "0": "Levitate" }, - "heightm": 3.2, - "weightkg": 320, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Blue", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ "Undiscovered" - ], - "requiredItems": [ - "Iron Plate", - "Steelium Z" - ], - "changesFrom": "Arceus" + ] }, - "arceuswater": { - "num": 493, - "name": "arceus-water", - "baseSpecies": "Arceus", - "forme": "Water", + "dialga": { + "num": 483, + "name": "dialga", "types": [ - "water" + "steel", + "dragon" ], "gender": "N", "baseStats": { - "hp": 120, + "hp": 100, "attack": 120, "defense": 120, - "special-attack": 120, - "special-defense": 120, - "speed": 120 + "special-attack": 150, + "special-defense": 100, + "speed": 90 }, "abilities": { - "0": "Multitype" + "0": "Pressure", + "H": "Telepathy" }, - "heightm": 3.2, - "weightkg": 320, + "heightm": 5.4, + "weightkg": 683, + "tags": [ + "Restricted Legendary" + ], "color": "White", "eggGroups": [ "Undiscovered" ], - "requiredItems": [ - "Splash Plate", - "Waterium Z" + "otherFormes": [ + "Dialga-Origin" ], - "changesFrom": "Arceus" + "formeOrder": [ + "Dialga", + "Dialga-Origin" + ] }, - "victini": { - "num": 494, - "name": "victini", + "dialgaorigin": { + "num": 483, + "name": "dialga-origin", + "baseSpecies": "Dialga", + "forme": "Origin", "types": [ - "psychic", - "fire" + "steel", + "dragon" ], "gender": "N", "baseStats": { "hp": 100, "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "defense": 120, + "special-attack": 150, + "special-defense": 120, + "speed": 90 }, "abilities": { - "0": "Victory Star" + "0": "Pressure", + "H": "Telepathy" }, - "heightm": 0.4, - "weightkg": 4, - "color": "Yellow", - "tags": [ - "Mythical" - ], + "heightm": 7, + "weightkg": 850, + "color": "Blue", "eggGroups": [ "Undiscovered" - ] + ], + "requiredItem": "Adamant Crystal", + "changesFrom": "Dialga", + "gen": 8 }, - "snivy": { - "num": 495, - "name": "snivy", + "palkia": { + "num": 484, + "name": "palkia", "types": [ - "grass" - ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 45, - "attack": 45, - "defense": 55, - "special-attack": 45, - "special-defense": 55, - "speed": 63 + "water", + "dragon" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "attack": 120, + "defense": 100, + "special-attack": 150, + "special-defense": 120, + "speed": 100 }, "abilities": { - "0": "Overgrow", - "H": "Contrary" + "0": "Pressure", + "H": "Telepathy" }, - "heightm": 0.6, - "weightkg": 8.1, - "color": "Green", - "evos": [ - "Servine" + "heightm": 4.2, + "weightkg": 336, + "color": "Purple", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Field", - "Grass" + "Undiscovered" + ], + "otherFormes": [ + "Palkia-Origin" + ], + "formeOrder": [ + "Palkia", + "Palkia-Origin" ] }, - "servine": { - "num": 496, - "name": "servine", + "palkiaorigin": { + "num": 484, + "name": "palkia-origin", + "baseSpecies": "Palkia", + "forme": "Origin", "types": [ - "grass" + "water", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 60, - "attack": 60, - "defense": 75, - "special-attack": 60, - "special-defense": 75, - "speed": 83 + "hp": 90, + "attack": 100, + "defense": 100, + "special-attack": 150, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Overgrow", - "H": "Contrary" + "0": "Pressure", + "H": "Telepathy" }, - "heightm": 0.8, - "weightkg": 16, - "color": "Green", - "prevo": "Snivy", - "evoLevel": 17, - "evos": [ - "Serperior" - ], + "heightm": 6.3, + "weightkg": 660, + "color": "Purple", "eggGroups": [ - "Field", - "Grass" - ] + "Undiscovered" + ], + "requiredItem": "Lustrous Globe", + "changesFrom": "Palkia", + "gen": 8 }, - "serperior": { - "num": 497, - "name": "serperior", + "heatran": { + "num": 485, + "name": "heatran", "types": [ - "grass" + "fire", + "steel" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 75, - "attack": 75, - "defense": 95, - "special-attack": 75, - "special-defense": 95, - "speed": 113 + "hp": 91, + "attack": 90, + "defense": 106, + "special-attack": 130, + "special-defense": 106, + "speed": 77 }, "abilities": { - "0": "Overgrow", - "H": "Contrary" + "0": "Flash Fire", + "H": "Flame Body" }, - "heightm": 3.3, - "weightkg": 63, - "color": "Green", - "prevo": "Servine", - "evoLevel": 36, + "heightm": 1.7, + "weightkg": 430, + "color": "Brown", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Field", - "Grass" + "Undiscovered" ] }, - "tepig": { - "num": 498, - "name": "tepig", + "regigigas": { + "num": 486, + "name": "regigigas", "types": [ - "fire" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 65, - "attack": 63, - "defense": 45, - "special-attack": 45, - "special-defense": 45, - "speed": 45 + "hp": 110, + "attack": 160, + "defense": 110, + "special-attack": 80, + "special-defense": 110, + "speed": 100 }, "abilities": { - "0": "Blaze", - "H": "Thick Fat" + "0": "Slow Start" }, - "heightm": 0.5, - "weightkg": 9.9, - "color": "Red", - "evos": [ - "Pignite" + "heightm": 3.7, + "weightkg": 420, + "color": "White", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "pignite": { - "num": 499, - "name": "pignite", + "giratina": { + "num": 487, + "name": "giratina", + "baseForme": "Altered", "types": [ - "fire", - "fighting" + "ghost", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 90, - "attack": 93, - "defense": 55, - "special-attack": 70, - "special-defense": 55, - "speed": 55 + "hp": 150, + "attack": 100, + "defense": 120, + "special-attack": 100, + "special-defense": 120, + "speed": 90 }, "abilities": { - "0": "Blaze", - "H": "Thick Fat" + "0": "Pressure", + "H": "Telepathy" }, - "heightm": 1, - "weightkg": 55.5, - "color": "Red", - "prevo": "Tepig", - "evoLevel": 17, - "evos": [ - "Emboar" - ], + "heightm": 4.5, + "weightkg": 750, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" + ], + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Giratina-Origin" + ], + "formeOrder": [ + "Giratina", + "Giratina-Origin" ] }, - "emboar": { - "num": 500, - "name": "emboar", + "giratinaorigin": { + "num": 487, + "name": "giratina-origin", + "baseSpecies": "Giratina", + "forme": "Origin", "types": [ - "fire", - "fighting" + "ghost", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 110, - "attack": 123, - "defense": 65, - "special-attack": 100, - "special-defense": 65, - "speed": 65 + "hp": 150, + "attack": 120, + "defense": 100, + "special-attack": 120, + "special-defense": 100, + "speed": 90 }, "abilities": { - "0": "Blaze", - "H": "Reckless" + "0": "Levitate" }, - "heightm": 1.6, - "weightkg": 150, - "color": "Red", - "prevo": "Pignite", - "evoLevel": 36, + "heightm": 6.9, + "weightkg": 650, + "color": "Black", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Griseous Core", + "changesFrom": "Giratina" }, - "oshawott": { - "num": 501, - "name": "oshawott", + "cresselia": { + "num": 488, + "name": "cresselia", "types": [ - "water" + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 55, - "attack": 55, - "defense": 45, - "special-attack": 63, - "special-defense": 45, - "speed": 45 + "hp": 120, + "attack": 70, + "defense": 110, + "special-attack": 75, + "special-defense": 120, + "speed": 85 }, "abilities": { - "0": "Torrent", - "H": "Shell Armor" + "0": "Levitate" }, - "heightm": 0.5, - "weightkg": 5.9, - "color": "Blue", - "evos": [ - "Dewott" + "heightm": 1.5, + "weightkg": 85.6, + "color": "Yellow", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "dewott": { - "num": 502, - "name": "dewott", + "phione": { + "num": 489, + "name": "phione", "types": [ "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 75, - "attack": 75, - "defense": 60, - "special-attack": 83, - "special-defense": 60, - "speed": 60 + "hp": 80, + "attack": 80, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 80 }, "abilities": { - "0": "Torrent", - "H": "Shell Armor" + "0": "Hydration" }, - "heightm": 0.8, - "weightkg": 24.5, + "heightm": 0.4, + "weightkg": 3.1, "color": "Blue", - "prevo": "Oshawott", - "evoLevel": 17, - "evos": [ - "Samurott", - "Samurott-Hisui" + "tags": [ + "Mythical" ], "eggGroups": [ - "Field" + "Water 1", + "Fairy" ] }, - "samurott": { - "num": 503, - "name": "samurott", + "manaphy": { + "num": 490, + "name": "manaphy", "types": [ "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 95, + "hp": 100, "attack": 100, - "defense": 85, - "special-attack": 108, - "special-defense": 70, - "speed": 70 + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 }, "abilities": { - "0": "Torrent", - "H": "Shell Armor" + "0": "Hydration" }, - "heightm": 1.5, - "weightkg": 94.6, + "heightm": 0.3, + "weightkg": 1.4, "color": "Blue", - "prevo": "Dewott", - "evoLevel": 36, - "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Samurott-Hisui" + "tags": [ + "Mythical" ], - "formeOrder": [ - "Samurott", - "Samurott-Hisui" + "eggGroups": [ + "Water 1", + "Fairy" ] }, - "samurotthisui": { - "num": 503, - "name": "samurott-hisui", - "baseSpecies": "Samurott", - "forme": "Hisui", + "darkrai": { + "num": 491, + "name": "darkrai", "types": [ - "water", "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 90, - "attack": 108, - "defense": 80, - "special-attack": 100, - "special-defense": 65, - "speed": 85 + "hp": 70, + "attack": 90, + "defense": 90, + "special-attack": 135, + "special-defense": 90, + "speed": 125 }, "abilities": { - "0": "Torrent", - "H": "Sharpness" + "0": "Bad Dreams" }, "heightm": 1.5, - "weightkg": 58.2, - "color": "Blue", - "prevo": "Dewott", - "evoLevel": 36, + "weightkg": 50.5, + "color": "Black", + "tags": [ + "Mythical" + ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "patrat": { - "num": 504, - "name": "patrat", + "shaymin": { + "num": 492, + "name": "shaymin", + "baseForme": "Land", "types": [ - "normal" + "grass" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 55, - "defense": 39, - "special-attack": 35, - "special-defense": 39, - "speed": 42 + "hp": 100, + "attack": 100, + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 }, "abilities": { - "0": "Run Away", - "1": "Keen Eye", - "H": "Analytic" + "0": "Natural Cure" }, - "heightm": 0.5, - "weightkg": 11.6, - "color": "Brown", - "evos": [ - "Watchog" - ], + "heightm": 0.2, + "weightkg": 2.1, + "color": "Green", "eggGroups": [ - "Field" + "Undiscovered" + ], + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Shaymin-Sky" + ], + "formeOrder": [ + "Shaymin", + "Shaymin-Sky" ] }, - "watchog": { - "num": 505, - "name": "watchog", + "shayminsky": { + "num": 492, + "name": "shaymin-sky", + "baseSpecies": "Shaymin", + "forme": "Sky", "types": [ - "normal" + "grass", + "flying" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 85, - "defense": 69, - "special-attack": 60, - "special-defense": 69, - "speed": 77 + "hp": 100, + "attack": 103, + "defense": 75, + "special-attack": 120, + "special-defense": 75, + "speed": 127 }, "abilities": { - "0": "Illuminate", - "1": "Keen Eye", - "H": "Analytic" + "0": "Serene Grace" }, - "heightm": 1.1, - "weightkg": 27, - "color": "Brown", - "prevo": "Patrat", - "evoLevel": 20, + "heightm": 0.4, + "weightkg": 5.2, + "color": "Green", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "changesFrom": "Shaymin" }, - "lillipup": { - "num": 506, - "name": "lillipup", + "arceus": { + "num": 493, + "name": "arceus", + "baseForme": "Normal", "types": [ "normal" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 60, - "defense": 45, - "special-attack": 25, - "special-defense": 45, - "speed": 55 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Vital Spirit", - "1": "Pickup", - "H": "Run Away" + "0": "Multitype" }, - "heightm": 0.4, - "weightkg": 4.1, - "color": "Brown", - "evos": [ - "Herdier" + "heightm": 3.2, + "weightkg": 320, + "color": "White", + "tags": [ + "Mythical" ], "eggGroups": [ - "Field" + "Undiscovered" + ], + "otherFormes": [ + "Arceus-Bug", + "Arceus-Dark", + "Arceus-Dragon", + "Arceus-Electric", + "Arceus-Fairy", + "Arceus-Fighting", + "Arceus-Fire", + "Arceus-Flying", + "Arceus-Ghost", + "Arceus-Grass", + "Arceus-Ground", + "Arceus-Ice", + "Arceus-Poison", + "Arceus-Psychic", + "Arceus-Rock", + "Arceus-Steel", + "Arceus-Water" + ], + "formeOrder": [ + "Arceus", + "Arceus-Fighting", + "Arceus-Flying", + "Arceus-Poison", + "Arceus-Ground", + "Arceus-Rock", + "Arceus-Bug", + "Arceus-Ghost", + "Arceus-Steel", + "Arceus-Fire", + "Arceus-Water", + "Arceus-Grass", + "Arceus-Electric", + "Arceus-Psychic", + "Arceus-Ice", + "Arceus-Dragon", + "Arceus-Dark", + "Arceus-Fairy" ] }, - "herdier": { - "num": 507, - "name": "herdier", + "arceusbug": { + "num": 493, + "name": "arceus-bug", + "baseSpecies": "Arceus", + "forme": "Bug", "types": [ - "normal" + "bug" ], + "gender": "N", "baseStats": { - "hp": 65, - "attack": 80, - "defense": 65, - "special-attack": 35, - "special-defense": 65, - "speed": 60 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Intimidate", - "1": "Sand Rush", - "H": "Scrappy" + "0": "Multitype" }, - "heightm": 0.9, - "weightkg": 14.7, - "color": "Gray", - "prevo": "Lillipup", - "evoLevel": 16, - "evos": [ - "Stoutland" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Insect Plate", + "Buginium Z" + ], + "changesFrom": "Arceus" }, - "stoutland": { - "num": 508, - "name": "stoutland", + "arceusdark": { + "num": 493, + "name": "arceus-dark", + "baseSpecies": "Arceus", + "forme": "Dark", "types": [ - "normal" + "dark" ], + "gender": "N", "baseStats": { - "hp": 85, - "attack": 110, - "defense": 90, - "special-attack": 45, - "special-defense": 90, - "speed": 80 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Intimidate", - "1": "Sand Rush", - "H": "Scrappy" + "0": "Multitype" }, - "heightm": 1.2, - "weightkg": 61, - "color": "Gray", - "prevo": "Herdier", - "evoLevel": 32, + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Dread Plate", + "Darkinium Z" + ], + "changesFrom": "Arceus" }, - "purrloin": { - "num": 509, - "name": "purrloin", + "arceusdragon": { + "num": 493, + "name": "arceus-dragon", + "baseSpecies": "Arceus", + "forme": "Dragon", "types": [ - "dark" + "dragon" ], + "gender": "N", "baseStats": { - "hp": 41, - "attack": 50, - "defense": 37, - "special-attack": 50, - "special-defense": 37, - "speed": 66 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Limber", - "1": "Unburden", - "H": "Prankster" + "0": "Multitype" }, - "heightm": 0.4, - "weightkg": 10.1, - "color": "Purple", - "evos": [ - "Liepard" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Draco Plate", + "Dragonium Z" + ], + "changesFrom": "Arceus" }, - "liepard": { - "num": 510, - "name": "liepard", + "arceuselectric": { + "num": 493, + "name": "arceus-electric", + "baseSpecies": "Arceus", + "forme": "Electric", "types": [ - "dark" + "electric" ], + "gender": "N", "baseStats": { - "hp": 64, - "attack": 88, - "defense": 50, - "special-attack": 88, - "special-defense": 50, - "speed": 106 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Limber", - "1": "Unburden", - "H": "Prankster" + "0": "Multitype" }, - "heightm": 1.1, - "weightkg": 37.5, - "color": "Purple", - "prevo": "Purrloin", - "evoLevel": 20, + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Zap Plate", + "Electrium Z" + ], + "changesFrom": "Arceus" }, - "pansage": { - "num": 511, - "name": "pansage", + "arceusfairy": { + "num": 493, + "name": "arceus-fairy", + "baseSpecies": "Arceus", + "forme": "Fairy", "types": [ - "grass" + "fairy" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 50, - "attack": 53, - "defense": 48, - "special-attack": 53, - "special-defense": 48, - "speed": 64 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Overgrow" + "0": "Multitype" }, - "heightm": 0.6, - "weightkg": 10.5, - "color": "Green", - "evos": [ - "Simisage" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Pixie Plate", + "Fairium Z" + ], + "changesFrom": "Arceus", + "gen": 6 }, - "simisage": { - "num": 512, - "name": "simisage", + "arceusfighting": { + "num": 493, + "name": "arceus-fighting", + "baseSpecies": "Arceus", + "forme": "Fighting", "types": [ - "grass" + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 75, - "attack": 98, - "defense": 63, - "special-attack": 98, - "special-defense": 63, - "speed": 101 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Overgrow" + "0": "Multitype" }, - "heightm": 1.1, - "weightkg": 30.5, - "color": "Green", - "prevo": "Pansage", - "evoType": "useItem", - "evoItem": "Leaf Stone", + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Fist Plate", + "Fightinium Z" + ], + "changesFrom": "Arceus" }, - "pansear": { - "num": 513, - "name": "pansear", + "arceusfire": { + "num": 493, + "name": "arceus-fire", + "baseSpecies": "Arceus", + "forme": "Fire", "types": [ "fire" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 50, - "attack": 53, - "defense": 48, - "special-attack": 53, - "special-defense": 48, - "speed": 64 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Blaze" + "0": "Multitype" }, - "heightm": 0.6, - "weightkg": 11, - "color": "Red", - "evos": [ - "Simisear" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Flame Plate", + "Firium Z" + ], + "changesFrom": "Arceus" }, - "simisear": { - "num": 514, - "name": "simisear", + "arceusflying": { + "num": 493, + "name": "arceus-flying", + "baseSpecies": "Arceus", + "forme": "Flying", "types": [ - "fire" + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 75, - "attack": 98, - "defense": 63, - "special-attack": 98, - "special-defense": 63, - "speed": 101 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Blaze" + "0": "Multitype" }, - "heightm": 1, - "weightkg": 28, - "color": "Red", - "prevo": "Pansear", - "evoType": "useItem", - "evoItem": "Fire Stone", + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Sky Plate", + "Flyinium Z" + ], + "changesFrom": "Arceus" }, - "panpour": { - "num": 515, - "name": "panpour", + "arceusghost": { + "num": 493, + "name": "arceus-ghost", + "baseSpecies": "Arceus", + "forme": "Ghost", "types": [ - "water" + "ghost" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 + "gender": "N", + "baseStats": { + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 + }, + "abilities": { + "0": "Multitype" }, + "heightm": 3.2, + "weightkg": 320, + "color": "White", + "eggGroups": [ + "Undiscovered" + ], + "requiredItems": [ + "Spooky Plate", + "Ghostium Z" + ], + "changesFrom": "Arceus" + }, + "arceusgrass": { + "num": 493, + "name": "arceus-grass", + "baseSpecies": "Arceus", + "forme": "Grass", + "types": [ + "grass" + ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 53, - "defense": 48, - "special-attack": 53, - "special-defense": 48, - "speed": 64 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Torrent" + "0": "Multitype" }, - "heightm": 0.6, - "weightkg": 13.5, - "color": "Blue", - "evos": [ - "Simipour" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Meadow Plate", + "Grassium Z" + ], + "changesFrom": "Arceus" }, - "simipour": { - "num": 516, - "name": "simipour", + "arceusground": { + "num": 493, + "name": "arceus-ground", + "baseSpecies": "Arceus", + "forme": "Ground", "types": [ - "water" + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 75, - "attack": 98, - "defense": 63, - "special-attack": 98, - "special-defense": 63, - "speed": 101 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Gluttony", - "H": "Torrent" + "0": "Multitype" }, - "heightm": 1, - "weightkg": 29, - "color": "Blue", - "prevo": "Panpour", - "evoType": "useItem", - "evoItem": "Water Stone", + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Earth Plate", + "Groundium Z" + ], + "changesFrom": "Arceus" }, - "munna": { - "num": 517, - "name": "munna", + "arceusice": { + "num": 493, + "name": "arceus-ice", + "baseSpecies": "Arceus", + "forme": "Ice", "types": [ - "psychic" + "ice" ], + "gender": "N", "baseStats": { - "hp": 76, - "attack": 25, - "defense": 45, - "special-attack": 67, - "special-defense": 55, - "speed": 24 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Forewarn", - "1": "Synchronize", - "H": "Telepathy" + "0": "Multitype" }, - "heightm": 0.6, - "weightkg": 23.3, - "color": "Pink", - "evos": [ - "Musharna" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Icicle Plate", + "Icium Z" + ], + "changesFrom": "Arceus" }, - "musharna": { - "num": 518, - "name": "musharna", + "arceuspoison": { + "num": 493, + "name": "arceus-poison", + "baseSpecies": "Arceus", + "forme": "Poison", "types": [ - "psychic" + "poison" ], + "gender": "N", "baseStats": { - "hp": 116, - "attack": 55, - "defense": 85, - "special-attack": 107, - "special-defense": 95, - "speed": 29 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Forewarn", - "1": "Synchronize", - "H": "Telepathy" + "0": "Multitype" }, - "heightm": 1.1, - "weightkg": 60.5, - "color": "Pink", - "prevo": "Munna", - "evoType": "useItem", - "evoItem": "Moon Stone", + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Toxic Plate", + "Poisonium Z" + ], + "changesFrom": "Arceus" }, - "pidove": { - "num": 519, - "name": "pidove", + "arceuspsychic": { + "num": 493, + "name": "arceus-psychic", + "baseSpecies": "Arceus", + "forme": "Psychic", "types": [ - "normal", - "flying" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 55, - "defense": 50, - "special-attack": 36, - "special-defense": 30, - "speed": 43 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Big Pecks", - "1": "Super Luck", - "H": "Rivalry" + "0": "Multitype" }, - "heightm": 0.3, - "weightkg": 2.1, - "color": "Gray", - "evos": [ - "Tranquill" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "requiredItems": [ + "Mind Plate", + "Psychium Z" + ], + "changesFrom": "Arceus" }, - "tranquill": { - "num": 520, - "name": "tranquill", + "arceusrock": { + "num": 493, + "name": "arceus-rock", + "baseSpecies": "Arceus", + "forme": "Rock", "types": [ - "normal", - "flying" + "rock" ], + "gender": "N", "baseStats": { - "hp": 62, - "attack": 77, - "defense": 62, - "special-attack": 50, - "special-defense": 42, - "speed": 65 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Big Pecks", - "1": "Super Luck", - "H": "Rivalry" + "0": "Multitype" }, - "heightm": 0.6, - "weightkg": 15, - "color": "Gray", - "prevo": "Pidove", - "evoLevel": 21, - "evos": [ - "Unfezant" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "requiredItems": [ + "Stone Plate", + "Rockium Z" + ], + "changesFrom": "Arceus" }, - "unfezant": { - "num": 521, - "name": "unfezant", + "arceussteel": { + "num": 493, + "name": "arceus-steel", + "baseSpecies": "Arceus", + "forme": "Steel", "types": [ - "normal", - "flying" + "steel" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 115, - "defense": 80, - "special-attack": 65, - "special-defense": 55, - "speed": 93 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Big Pecks", - "1": "Super Luck", - "H": "Rivalry" + "0": "Multitype" }, - "heightm": 1.2, - "weightkg": 29, - "color": "Gray", - "prevo": "Tranquill", - "evoLevel": 32, + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "requiredItems": [ + "Iron Plate", + "Steelium Z" + ], + "changesFrom": "Arceus" }, - "blitzle": { - "num": 522, - "name": "blitzle", + "arceuswater": { + "num": 493, + "name": "arceus-water", + "baseSpecies": "Arceus", + "forme": "Water", "types": [ - "electric" + "water" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 60, - "defense": 32, - "special-attack": 50, - "special-defense": 32, - "speed": 76 + "hp": 120, + "attack": 120, + "defense": 120, + "special-attack": 120, + "special-defense": 120, + "speed": 120 }, "abilities": { - "0": "Lightning Rod", - "1": "Motor Drive", - "H": "Sap Sipper" + "0": "Multitype" }, - "heightm": 0.8, - "weightkg": 29.8, - "color": "Black", - "evos": [ - "Zebstrika" - ], + "heightm": 3.2, + "weightkg": 320, + "color": "White", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItems": [ + "Splash Plate", + "Waterium Z" + ], + "changesFrom": "Arceus" }, - "zebstrika": { - "num": 523, - "name": "zebstrika", + "victini": { + "num": 494, + "name": "victini", "types": [ - "electric" + "psychic", + "fire" ], + "gender": "N", "baseStats": { - "hp": 75, + "hp": 100, "attack": 100, - "defense": 63, - "special-attack": 80, - "special-defense": 63, - "speed": 116 + "defense": 100, + "special-attack": 100, + "special-defense": 100, + "speed": 100 }, "abilities": { - "0": "Lightning Rod", - "1": "Motor Drive", - "H": "Sap Sipper" + "0": "Victory Star" }, - "heightm": 1.6, - "weightkg": 79.5, - "color": "Black", - "prevo": "Blitzle", - "evoLevel": 27, + "heightm": 0.4, + "weightkg": 4, + "color": "Yellow", + "tags": [ + "Mythical" + ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "roggenrola": { - "num": 524, - "name": "roggenrola", + "snivy": { + "num": 495, + "name": "snivy", "types": [ - "rock" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 55, - "attack": 75, - "defense": 85, - "special-attack": 25, - "special-defense": 25, - "speed": 15 + "hp": 45, + "attack": 45, + "defense": 55, + "special-attack": 45, + "special-defense": 55, + "speed": 63 }, "abilities": { - "0": "Sturdy", - "1": "Weak Armor", - "H": "Sand Force" + "0": "Overgrow", + "H": "Contrary" }, - "heightm": 0.4, - "weightkg": 18, - "color": "Blue", + "heightm": 0.6, + "weightkg": 8.1, + "color": "Green", "evos": [ - "Boldore" + "Servine" ], "eggGroups": [ - "Mineral" + "Field", + "Grass" ] }, - "boldore": { - "num": 525, - "name": "boldore", + "servine": { + "num": 496, + "name": "servine", "types": [ - "rock" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 105, - "defense": 105, - "special-attack": 50, - "special-defense": 40, - "speed": 20 + "hp": 60, + "attack": 60, + "defense": 75, + "special-attack": 60, + "special-defense": 75, + "speed": 83 }, "abilities": { - "0": "Sturdy", - "1": "Weak Armor", - "H": "Sand Force" + "0": "Overgrow", + "H": "Contrary" }, - "heightm": 0.9, - "weightkg": 102, - "color": "Blue", - "prevo": "Roggenrola", - "evoLevel": 25, + "heightm": 0.8, + "weightkg": 16, + "color": "Green", + "prevo": "Snivy", + "evoLevel": 17, "evos": [ - "Gigalith" + "Serperior" ], "eggGroups": [ - "Mineral" + "Field", + "Grass" ] }, - "gigalith": { - "num": 526, - "name": "gigalith", + "serperior": { + "num": 497, + "name": "serperior", "types": [ - "rock" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 85, - "attack": 135, - "defense": 130, - "special-attack": 60, - "special-defense": 80, - "speed": 25 + "hp": 75, + "attack": 75, + "defense": 95, + "special-attack": 75, + "special-defense": 95, + "speed": 113 }, "abilities": { - "0": "Sturdy", - "1": "Sand Stream", - "H": "Sand Force" + "0": "Overgrow", + "H": "Contrary" }, - "heightm": 1.7, - "weightkg": 260, - "color": "Blue", - "prevo": "Boldore", - "evoType": "trade", + "heightm": 3.3, + "weightkg": 63, + "color": "Green", + "prevo": "Servine", + "evoLevel": 36, "eggGroups": [ - "Mineral" + "Field", + "Grass" ] }, - "woobat": { - "num": 527, - "name": "woobat", + "tepig": { + "num": 498, + "name": "tepig", "types": [ - "psychic", - "flying" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 65, - "attack": 45, - "defense": 43, - "special-attack": 55, - "special-defense": 43, - "speed": 72 + "attack": 63, + "defense": 45, + "special-attack": 45, + "special-defense": 45, + "speed": 45 }, "abilities": { - "0": "Unaware", - "1": "Klutz", - "H": "Simple" + "0": "Blaze", + "H": "Thick Fat" }, - "heightm": 0.4, - "weightkg": 2.1, - "color": "Blue", + "heightm": 0.5, + "weightkg": 9.9, + "color": "Red", "evos": [ - "Swoobat" + "Pignite" ], "eggGroups": [ - "Flying", "Field" ] }, - "swoobat": { - "num": 528, - "name": "swoobat", + "pignite": { + "num": 499, + "name": "pignite", "types": [ - "psychic", - "flying" + "fire", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 67, - "attack": 57, + "hp": 90, + "attack": 93, "defense": 55, - "special-attack": 77, + "special-attack": 70, "special-defense": 55, - "speed": 114 + "speed": 55 }, "abilities": { - "0": "Unaware", - "1": "Klutz", - "H": "Simple" + "0": "Blaze", + "H": "Thick Fat" }, - "heightm": 0.9, - "weightkg": 10.5, - "color": "Blue", - "prevo": "Woobat", - "evoType": "levelFriendship", + "heightm": 1, + "weightkg": 55.5, + "color": "Red", + "prevo": "Tepig", + "evoLevel": 17, + "evos": [ + "Emboar" + ], "eggGroups": [ - "Flying", "Field" ] }, - "drilbur": { - "num": 529, - "name": "drilbur", + "emboar": { + "num": 500, + "name": "emboar", "types": [ - "ground" + "fire", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 85, - "defense": 40, - "special-attack": 30, - "special-defense": 45, - "speed": 68 + "hp": 110, + "attack": 123, + "defense": 65, + "special-attack": 100, + "special-defense": 65, + "speed": 65 }, "abilities": { - "0": "Sand Rush", - "1": "Sand Force", - "H": "Mold Breaker" + "0": "Blaze", + "H": "Reckless" }, - "heightm": 0.3, - "weightkg": 8.5, - "color": "Gray", - "evos": [ - "Excadrill" - ], + "heightm": 1.6, + "weightkg": 150, + "color": "Red", + "prevo": "Pignite", + "evoLevel": 36, "eggGroups": [ "Field" ] }, - "excadrill": { - "num": 530, - "name": "excadrill", + "oshawott": { + "num": 501, + "name": "oshawott", "types": [ - "ground", - "steel" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 110, - "attack": 135, - "defense": 60, - "special-attack": 50, - "special-defense": 65, - "speed": 88 + "hp": 55, + "attack": 55, + "defense": 45, + "special-attack": 63, + "special-defense": 45, + "speed": 45 }, "abilities": { - "0": "Sand Rush", - "1": "Sand Force", - "H": "Mold Breaker" + "0": "Torrent", + "H": "Shell Armor" }, - "heightm": 0.7, - "weightkg": 40.4, - "color": "Gray", - "prevo": "Drilbur", - "evoLevel": 31, + "heightm": 0.5, + "weightkg": 5.9, + "color": "Blue", + "evos": [ + "Dewott" + ], "eggGroups": [ "Field" ] }, - "audino": { - "num": 531, - "name": "audino", + "dewott": { + "num": 502, + "name": "dewott", "types": [ - "normal" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 103, - "attack": 60, - "defense": 86, - "special-attack": 60, - "special-defense": 86, - "speed": 50 + "hp": 75, + "attack": 75, + "defense": 60, + "special-attack": 83, + "special-defense": 60, + "speed": 60 }, "abilities": { - "0": "Healer", - "1": "Regenerator", - "H": "Klutz" + "0": "Torrent", + "H": "Shell Armor" }, - "heightm": 1.1, - "weightkg": 31, - "color": "Pink", - "eggGroups": [ - "Fairy" - ], - "otherFormes": [ - "Audino-Mega" + "heightm": 0.8, + "weightkg": 24.5, + "color": "Blue", + "prevo": "Oshawott", + "evoLevel": 17, + "evos": [ + "Samurott", + "Samurott-Hisui" ], - "formeOrder": [ - "Audino", - "Audino-Mega" + "eggGroups": [ + "Field" ] }, - "audinomega": { - "num": 531, - "name": "audino-mega", - "baseSpecies": "Audino", - "forme": "Mega", + "samurott": { + "num": 503, + "name": "samurott", "types": [ - "normal", - "fairy" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 103, - "attack": 60, - "defense": 126, - "special-attack": 80, - "special-defense": 126, - "speed": 50 + "hp": 95, + "attack": 100, + "defense": 85, + "special-attack": 108, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Healer" + "0": "Torrent", + "H": "Shell Armor" }, "heightm": 1.5, - "weightkg": 32, - "color": "White", + "weightkg": 94.6, + "color": "Blue", + "prevo": "Dewott", + "evoLevel": 36, "eggGroups": [ - "Fairy" + "Field" ], - "requiredItem": "Audinite" + "otherFormes": [ + "Samurott-Hisui" + ], + "formeOrder": [ + "Samurott", + "Samurott-Hisui" + ] }, - "timburr": { - "num": 532, - "name": "timburr", + "samurotthisui": { + "num": 503, + "name": "samurott-hisui", + "baseSpecies": "Samurott", + "forme": "Hisui", "types": [ - "fighting" + "water", + "dark" ], "genderRatio": { - "M": 0.75, - "F": 0.25 + "M": 0.875, + "F": 0.125 }, "baseStats": { - "hp": 75, - "attack": 80, - "defense": 55, - "special-attack": 25, - "special-defense": 35, - "speed": 35 + "hp": 90, + "attack": 108, + "defense": 80, + "special-attack": 100, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Guts", - "1": "Sheer Force", - "H": "Iron Fist" + "0": "Torrent", + "H": "Sharpness" }, - "heightm": 0.6, - "weightkg": 12.5, - "color": "Gray", - "evos": [ - "Gurdurr" - ], + "heightm": 1.5, + "weightkg": 58.2, + "color": "Blue", + "prevo": "Dewott", + "evoLevel": 36, "eggGroups": [ - "Human-Like" + "Field" ] }, - "gurdurr": { - "num": 533, - "name": "gurdurr", + "patrat": { + "num": 504, + "name": "patrat", "types": [ - "fighting" + "normal" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 85, - "attack": 105, - "defense": 85, - "special-attack": 40, - "special-defense": 50, - "speed": 40 + "hp": 45, + "attack": 55, + "defense": 39, + "special-attack": 35, + "special-defense": 39, + "speed": 42 }, "abilities": { - "0": "Guts", - "1": "Sheer Force", - "H": "Iron Fist" + "0": "Run Away", + "1": "Keen Eye", + "H": "Analytic" }, - "heightm": 1.2, - "weightkg": 40, - "color": "Gray", - "prevo": "Timburr", - "evoLevel": 25, + "heightm": 0.5, + "weightkg": 11.6, + "color": "Brown", "evos": [ - "Conkeldurr" + "Watchog" ], "eggGroups": [ - "Human-Like" + "Field" ] }, - "conkeldurr": { - "num": 534, - "name": "conkeldurr", + "watchog": { + "num": 505, + "name": "watchog", "types": [ - "fighting" + "normal" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, "baseStats": { - "hp": 105, - "attack": 140, - "defense": 95, - "special-attack": 55, - "special-defense": 65, - "speed": 45 + "hp": 60, + "attack": 85, + "defense": 69, + "special-attack": 60, + "special-defense": 69, + "speed": 77 }, "abilities": { - "0": "Guts", - "1": "Sheer Force", - "H": "Iron Fist" + "0": "Illuminate", + "1": "Keen Eye", + "H": "Analytic" }, - "heightm": 1.4, - "weightkg": 87, + "heightm": 1.1, + "weightkg": 27, "color": "Brown", - "prevo": "Gurdurr", - "evoType": "trade", + "prevo": "Patrat", + "evoLevel": 20, "eggGroups": [ - "Human-Like" + "Field" ] }, - "tympole": { - "num": 535, - "name": "tympole", + "lillipup": { + "num": 506, + "name": "lillipup", "types": [ - "water" + "normal" ], "baseStats": { - "hp": 50, - "attack": 50, - "defense": 40, - "special-attack": 50, - "special-defense": 40, - "speed": 64 + "hp": 45, + "attack": 60, + "defense": 45, + "special-attack": 25, + "special-defense": 45, + "speed": 55 }, "abilities": { - "0": "Swift Swim", - "1": "Hydration", - "H": "Water Absorb" + "0": "Vital Spirit", + "1": "Pickup", + "H": "Run Away" }, - "heightm": 0.5, - "weightkg": 4.5, - "color": "Blue", + "heightm": 0.4, + "weightkg": 4.1, + "color": "Brown", "evos": [ - "Palpitoad" + "Herdier" ], "eggGroups": [ - "Water 1" + "Field" ] }, - "palpitoad": { - "num": 536, - "name": "palpitoad", + "herdier": { + "num": 507, + "name": "herdier", "types": [ - "water", - "ground" + "normal" ], "baseStats": { - "hp": 75, - "attack": 65, - "defense": 55, - "special-attack": 65, - "special-defense": 55, - "speed": 69 + "hp": 65, + "attack": 80, + "defense": 65, + "special-attack": 35, + "special-defense": 65, + "speed": 60 }, "abilities": { - "0": "Swift Swim", - "1": "Hydration", - "H": "Water Absorb" + "0": "Intimidate", + "1": "Sand Rush", + "H": "Scrappy" }, - "heightm": 0.8, - "weightkg": 17, - "color": "Blue", - "prevo": "Tympole", - "evoLevel": 25, + "heightm": 0.9, + "weightkg": 14.7, + "color": "Gray", + "prevo": "Lillipup", + "evoLevel": 16, "evos": [ - "Seismitoad" + "Stoutland" ], "eggGroups": [ - "Water 1" + "Field" ] }, - "seismitoad": { - "num": 537, - "name": "seismitoad", + "stoutland": { + "num": 508, + "name": "stoutland", "types": [ - "water", - "ground" + "normal" ], "baseStats": { - "hp": 105, - "attack": 95, - "defense": 75, - "special-attack": 85, - "special-defense": 75, - "speed": 74 + "hp": 85, + "attack": 110, + "defense": 90, + "special-attack": 45, + "special-defense": 90, + "speed": 80 }, "abilities": { - "0": "Swift Swim", - "1": "Poison Touch", - "H": "Water Absorb" + "0": "Intimidate", + "1": "Sand Rush", + "H": "Scrappy" }, - "heightm": 1.5, - "weightkg": 62, - "color": "Blue", - "prevo": "Palpitoad", - "evoLevel": 36, + "heightm": 1.2, + "weightkg": 61, + "color": "Gray", + "prevo": "Herdier", + "evoLevel": 32, "eggGroups": [ - "Water 1" + "Field" ] }, - "throh": { - "num": 538, - "name": "throh", + "purrloin": { + "num": 509, + "name": "purrloin", "types": [ - "fighting" + "dark" ], - "gender": "M", "baseStats": { - "hp": 120, - "attack": 100, - "defense": 85, - "special-attack": 30, - "special-defense": 85, - "speed": 45 + "hp": 41, + "attack": 50, + "defense": 37, + "special-attack": 50, + "special-defense": 37, + "speed": 66 }, "abilities": { - "0": "Guts", - "1": "Inner Focus", - "H": "Mold Breaker" + "0": "Limber", + "1": "Unburden", + "H": "Prankster" }, - "heightm": 1.3, - "weightkg": 55.5, - "color": "Red", + "heightm": 0.4, + "weightkg": 10.1, + "color": "Purple", + "evos": [ + "Liepard" + ], "eggGroups": [ - "Human-Like" + "Field" ] }, - "sawk": { - "num": 539, - "name": "sawk", + "liepard": { + "num": 510, + "name": "liepard", "types": [ - "fighting" + "dark" ], - "gender": "M", "baseStats": { - "hp": 75, - "attack": 125, - "defense": 75, - "special-attack": 30, - "special-defense": 75, - "speed": 85 + "hp": 64, + "attack": 88, + "defense": 50, + "special-attack": 88, + "special-defense": 50, + "speed": 106 }, "abilities": { - "0": "Sturdy", - "1": "Inner Focus", - "H": "Mold Breaker" + "0": "Limber", + "1": "Unburden", + "H": "Prankster" }, - "heightm": 1.4, - "weightkg": 51, - "color": "Blue", + "heightm": 1.1, + "weightkg": 37.5, + "color": "Purple", + "prevo": "Purrloin", + "evoLevel": 20, "eggGroups": [ - "Human-Like" + "Field" ] }, - "sewaddle": { - "num": 540, - "name": "sewaddle", + "pansage": { + "num": 511, + "name": "pansage", "types": [ - "bug", "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 45, + "hp": 50, "attack": 53, - "defense": 70, - "special-attack": 40, - "special-defense": 60, - "speed": 42 + "defense": 48, + "special-attack": 53, + "special-defense": 48, + "speed": 64 }, "abilities": { - "0": "Swarm", - "1": "Chlorophyll", - "H": "Overcoat" + "0": "Gluttony", + "H": "Overgrow" }, - "heightm": 0.3, - "weightkg": 2.5, - "color": "Yellow", + "heightm": 0.6, + "weightkg": 10.5, + "color": "Green", "evos": [ - "Swadloon" + "Simisage" ], "eggGroups": [ - "Bug" + "Field" ] }, - "swadloon": { - "num": 541, - "name": "swadloon", + "simisage": { + "num": 512, + "name": "simisage", "types": [ - "bug", "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 55, - "attack": 63, - "defense": 90, - "special-attack": 50, - "special-defense": 80, - "speed": 42 + "hp": 75, + "attack": 98, + "defense": 63, + "special-attack": 98, + "special-defense": 63, + "speed": 101 }, "abilities": { - "0": "Leaf Guard", - "1": "Chlorophyll", - "H": "Overcoat" + "0": "Gluttony", + "H": "Overgrow" }, - "heightm": 0.5, - "weightkg": 7.3, + "heightm": 1.1, + "weightkg": 30.5, "color": "Green", - "prevo": "Sewaddle", - "evoLevel": 20, - "evos": [ - "Leavanny" - ], + "prevo": "Pansage", + "evoType": "useItem", + "evoItem": "Leaf Stone", "eggGroups": [ - "Bug" + "Field" ] }, - "leavanny": { - "num": 542, - "name": "leavanny", + "pansear": { + "num": 513, + "name": "pansear", "types": [ - "bug", - "grass" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 75, - "attack": 103, - "defense": 80, - "special-attack": 70, - "special-defense": 80, - "speed": 92 + "hp": 50, + "attack": 53, + "defense": 48, + "special-attack": 53, + "special-defense": 48, + "speed": 64 }, "abilities": { - "0": "Swarm", - "1": "Chlorophyll", - "H": "Overcoat" + "0": "Gluttony", + "H": "Blaze" }, - "heightm": 1.2, - "weightkg": 20.5, - "color": "Yellow", - "prevo": "Swadloon", - "evoType": "levelFriendship", + "heightm": 0.6, + "weightkg": 11, + "color": "Red", + "evos": [ + "Simisear" + ], "eggGroups": [ - "Bug" + "Field" ] }, - "venipede": { - "num": 543, - "name": "venipede", + "simisear": { + "num": 514, + "name": "simisear", "types": [ - "bug", - "poison" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 30, - "attack": 45, - "defense": 59, - "special-attack": 30, - "special-defense": 39, - "speed": 57 + "hp": 75, + "attack": 98, + "defense": 63, + "special-attack": 98, + "special-defense": 63, + "speed": 101 }, "abilities": { - "0": "Poison Point", - "1": "Swarm", - "H": "Speed Boost" + "0": "Gluttony", + "H": "Blaze" }, - "heightm": 0.4, - "weightkg": 5.3, + "heightm": 1, + "weightkg": 28, "color": "Red", - "evos": [ - "Whirlipede" - ], + "prevo": "Pansear", + "evoType": "useItem", + "evoItem": "Fire Stone", "eggGroups": [ - "Bug" + "Field" ] }, - "whirlipede": { - "num": 544, - "name": "whirlipede", + "panpour": { + "num": 515, + "name": "panpour", "types": [ - "bug", - "poison" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 40, - "attack": 55, - "defense": 99, - "special-attack": 40, - "special-defense": 79, - "speed": 47 + "hp": 50, + "attack": 53, + "defense": 48, + "special-attack": 53, + "special-defense": 48, + "speed": 64 }, "abilities": { - "0": "Poison Point", - "1": "Swarm", - "H": "Speed Boost" + "0": "Gluttony", + "H": "Torrent" }, - "heightm": 1.2, - "weightkg": 58.5, - "color": "Gray", - "prevo": "Venipede", - "evoLevel": 22, + "heightm": 0.6, + "weightkg": 13.5, + "color": "Blue", "evos": [ - "Scolipede" + "Simipour" ], "eggGroups": [ - "Bug" + "Field" ] }, - "scolipede": { - "num": 545, - "name": "scolipede", + "simipour": { + "num": 516, + "name": "simipour", "types": [ - "bug", - "poison" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 100, - "defense": 89, - "special-attack": 55, - "special-defense": 69, - "speed": 112 + "hp": 75, + "attack": 98, + "defense": 63, + "special-attack": 98, + "special-defense": 63, + "speed": 101 }, "abilities": { - "0": "Poison Point", - "1": "Swarm", - "H": "Speed Boost" + "0": "Gluttony", + "H": "Torrent" }, - "heightm": 2.5, - "weightkg": 200.5, - "color": "Red", - "prevo": "Whirlipede", - "evoLevel": 30, + "heightm": 1, + "weightkg": 29, + "color": "Blue", + "prevo": "Panpour", + "evoType": "useItem", + "evoItem": "Water Stone", "eggGroups": [ - "Bug" + "Field" ] }, - "cottonee": { - "num": 546, - "name": "cottonee", + "munna": { + "num": 517, + "name": "munna", "types": [ - "grass", - "fairy" + "psychic" ], "baseStats": { - "hp": 40, - "attack": 27, - "defense": 60, - "special-attack": 37, - "special-defense": 50, - "speed": 66 + "hp": 76, + "attack": 25, + "defense": 45, + "special-attack": 67, + "special-defense": 55, + "speed": 24 }, "abilities": { - "0": "Prankster", - "1": "Infiltrator", - "H": "Chlorophyll" + "0": "Forewarn", + "1": "Synchronize", + "H": "Telepathy" }, - "heightm": 0.3, - "weightkg": 0.6, - "color": "Green", + "heightm": 0.6, + "weightkg": 23.3, + "color": "Pink", "evos": [ - "Whimsicott" + "Musharna" ], "eggGroups": [ - "Fairy", - "Grass" + "Field" ] }, - "whimsicott": { - "num": 547, - "name": "whimsicott", + "musharna": { + "num": 518, + "name": "musharna", "types": [ - "grass", - "fairy" + "psychic" ], "baseStats": { - "hp": 60, - "attack": 67, + "hp": 116, + "attack": 55, "defense": 85, - "special-attack": 77, - "special-defense": 75, - "speed": 116 + "special-attack": 107, + "special-defense": 95, + "speed": 29 }, "abilities": { - "0": "Prankster", - "1": "Infiltrator", - "H": "Chlorophyll" + "0": "Forewarn", + "1": "Synchronize", + "H": "Telepathy" }, - "heightm": 0.7, - "weightkg": 6.6, - "color": "Green", - "prevo": "Cottonee", + "heightm": 1.1, + "weightkg": 60.5, + "color": "Pink", + "prevo": "Munna", "evoType": "useItem", - "evoItem": "Sun Stone", + "evoItem": "Moon Stone", "eggGroups": [ - "Fairy", - "Grass" + "Field" ] }, - "petilil": { - "num": 548, - "name": "petilil", + "pidove": { + "num": 519, + "name": "pidove", "types": [ - "grass" + "normal", + "flying" ], - "gender": "F", "baseStats": { - "hp": 45, - "attack": 35, + "hp": 50, + "attack": 55, "defense": 50, - "special-attack": 70, - "special-defense": 50, - "speed": 30 + "special-attack": 36, + "special-defense": 30, + "speed": 43 }, "abilities": { - "0": "Chlorophyll", - "1": "Own Tempo", - "H": "Leaf Guard" + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" }, - "heightm": 0.5, - "weightkg": 6.6, - "color": "Green", + "heightm": 0.3, + "weightkg": 2.1, + "color": "Gray", "evos": [ - "Lilligant", - "Lilligant-Hisui" - ], - "eggGroups": [ - "Grass" - ] - }, - "lilligant": { - "num": 549, - "name": "lilligant", - "types": [ - "grass" + "Tranquill" ], - "gender": "F", - "baseStats": { - "hp": 70, - "attack": 60, - "defense": 75, - "special-attack": 110, - "special-defense": 75, - "speed": 90 - }, - "abilities": { - "0": "Chlorophyll", - "1": "Own Tempo", - "H": "Leaf Guard" - }, - "heightm": 1.1, - "weightkg": 16.3, - "color": "Green", - "prevo": "Petilil", - "evoType": "useItem", - "evoItem": "Sun Stone", "eggGroups": [ - "Grass" - ], - "otherFormes": [ - "Lilligant-Hisui" - ], - "formeOrder": [ - "Lilligant", - "Lilligant-Hisui" + "Flying" ] }, - "lilliganthisui": { - "num": 549, - "name": "lilligant-hisui", - "baseSpecies": "Lilligant", - "forme": "Hisui", + "tranquill": { + "num": 520, + "name": "tranquill", "types": [ - "grass", - "fighting" + "normal", + "flying" ], - "gender": "F", "baseStats": { - "hp": 70, - "attack": 105, - "defense": 75, + "hp": 62, + "attack": 77, + "defense": 62, "special-attack": 50, - "special-defense": 75, - "speed": 105 + "special-defense": 42, + "speed": 65 }, "abilities": { - "0": "Chlorophyll", - "1": "Hustle", - "H": "Leaf Guard" + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" }, - "heightm": 1.2, - "weightkg": 19.2, - "color": "Green", - "prevo": "Petilil", - "evoType": "useItem", - "evoItem": "Sun Stone", + "heightm": 0.6, + "weightkg": 15, + "color": "Gray", + "prevo": "Pidove", + "evoLevel": 21, + "evos": [ + "Unfezant" + ], "eggGroups": [ - "Grass" + "Flying" ] }, - "basculin": { - "num": 550, - "name": "basculin", - "baseForme": "Red-Striped", + "unfezant": { + "num": 521, + "name": "unfezant", "types": [ - "water" + "normal", + "flying" ], - "baseStats": { - "hp": 70, - "attack": 92, - "defense": 65, - "special-attack": 80, + "baseStats": { + "hp": 80, + "attack": 115, + "defense": 80, + "special-attack": 65, "special-defense": 55, - "speed": 98 + "speed": 93 }, "abilities": { - "0": "Reckless", - "1": "Adaptability", - "H": "Mold Breaker" + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" }, - "heightm": 1, - "weightkg": 18, - "color": "Green", + "heightm": 1.2, + "weightkg": 29, + "color": "Gray", + "prevo": "Tranquill", + "evoLevel": 32, "eggGroups": [ - "Water 2" - ], - "otherFormes": [ - "Basculin-Blue-Striped", - "Basculin-White-Striped" - ], - "formeOrder": [ - "Basculin", - "Basculin-Blue-Striped", - "Basculin-White-Striped" + "Flying" ] }, - "basculinbluestriped": { - "num": 550, - "name": "basculin-blue-striped", - "baseSpecies": "Basculin", - "forme": "Blue-Striped", + "blitzle": { + "num": 522, + "name": "blitzle", "types": [ - "water" + "electric" ], "baseStats": { - "hp": 70, - "attack": 92, - "defense": 65, - "special-attack": 80, - "special-defense": 55, - "speed": 98 + "hp": 45, + "attack": 60, + "defense": 32, + "special-attack": 50, + "special-defense": 32, + "speed": 76 }, "abilities": { - "0": "Rock Head", - "1": "Adaptability", - "H": "Mold Breaker" + "0": "Lightning Rod", + "1": "Motor Drive", + "H": "Sap Sipper" }, - "heightm": 1, - "weightkg": 18, - "color": "Green", + "heightm": 0.8, + "weightkg": 29.8, + "color": "Black", + "evos": [ + "Zebstrika" + ], "eggGroups": [ - "Water 2" + "Field" ] }, - "basculinwhitestriped": { - "num": 550, - "name": "basculin-white-striped", - "baseSpecies": "Basculin", - "forme": "White-Striped", + "zebstrika": { + "num": 523, + "name": "zebstrika", "types": [ - "water" + "electric" ], "baseStats": { - "hp": 70, - "attack": 92, - "defense": 65, + "hp": 75, + "attack": 100, + "defense": 63, "special-attack": 80, - "special-defense": 55, - "speed": 98 + "special-defense": 63, + "speed": 116 }, "abilities": { - "0": "Rattled", - "1": "Adaptability", - "H": "Mold Breaker" + "0": "Lightning Rod", + "1": "Motor Drive", + "H": "Sap Sipper" }, - "heightm": 1, - "weightkg": 18, - "color": "Green", - "evos": [ - "Basculegion", - "Basculegion-F" - ], + "heightm": 1.6, + "weightkg": 79.5, + "color": "Black", + "prevo": "Blitzle", + "evoLevel": 27, "eggGroups": [ - "Water 2" - ], - "gen": 8 + "Field" + ] }, - "sandile": { - "num": 551, - "name": "sandile", + "roggenrola": { + "num": 524, + "name": "roggenrola", "types": [ - "ground", - "dark" + "rock" ], "baseStats": { - "hp": 50, - "attack": 72, - "defense": 35, - "special-attack": 35, - "special-defense": 35, - "speed": 65 + "hp": 55, + "attack": 75, + "defense": 85, + "special-attack": 25, + "special-defense": 25, + "speed": 15 }, "abilities": { - "0": "Intimidate", - "1": "Moxie", - "H": "Anger Point" + "0": "Sturdy", + "1": "Weak Armor", + "H": "Sand Force" }, - "heightm": 0.7, - "weightkg": 15.2, - "color": "Brown", + "heightm": 0.4, + "weightkg": 18, + "color": "Blue", "evos": [ - "Krokorok" + "Boldore" ], "eggGroups": [ - "Field" + "Mineral" ] }, - "krokorok": { - "num": 552, - "name": "krokorok", + "boldore": { + "num": 525, + "name": "boldore", "types": [ - "ground", - "dark" + "rock" ], "baseStats": { - "hp": 60, - "attack": 82, - "defense": 45, - "special-attack": 45, - "special-defense": 45, - "speed": 74 + "hp": 70, + "attack": 105, + "defense": 105, + "special-attack": 50, + "special-defense": 40, + "speed": 20 }, "abilities": { - "0": "Intimidate", - "1": "Moxie", - "H": "Anger Point" + "0": "Sturdy", + "1": "Weak Armor", + "H": "Sand Force" }, - "heightm": 1, - "weightkg": 33.4, - "color": "Brown", - "prevo": "Sandile", - "evoLevel": 29, + "heightm": 0.9, + "weightkg": 102, + "color": "Blue", + "prevo": "Roggenrola", + "evoLevel": 25, "evos": [ - "Krookodile" + "Gigalith" ], "eggGroups": [ - "Field" + "Mineral" ] }, - "krookodile": { - "num": 553, - "name": "krookodile", + "gigalith": { + "num": 526, + "name": "gigalith", "types": [ - "ground", - "dark" + "rock" ], "baseStats": { - "hp": 95, - "attack": 117, - "defense": 80, - "special-attack": 65, - "special-defense": 70, - "speed": 92 + "hp": 85, + "attack": 135, + "defense": 130, + "special-attack": 60, + "special-defense": 80, + "speed": 25 }, "abilities": { - "0": "Intimidate", - "1": "Moxie", - "H": "Anger Point" + "0": "Sturdy", + "1": "Sand Stream", + "H": "Sand Force" }, - "heightm": 1.5, - "weightkg": 96.3, - "color": "Red", - "prevo": "Krokorok", - "evoLevel": 40, + "heightm": 1.7, + "weightkg": 260, + "color": "Blue", + "prevo": "Boldore", + "evoType": "trade", "eggGroups": [ - "Field" + "Mineral" ] }, - "darumaka": { - "num": 554, - "name": "darumaka", + "woobat": { + "num": 527, + "name": "woobat", "types": [ - "fire" + "psychic", + "flying" ], "baseStats": { - "hp": 70, - "attack": 90, - "defense": 45, - "special-attack": 15, - "special-defense": 45, - "speed": 50 + "hp": 65, + "attack": 45, + "defense": 43, + "special-attack": 55, + "special-defense": 43, + "speed": 72 }, "abilities": { - "0": "Hustle", - "H": "Inner Focus" + "0": "Unaware", + "1": "Klutz", + "H": "Simple" }, - "heightm": 0.6, - "weightkg": 37.5, - "color": "Red", + "heightm": 0.4, + "weightkg": 2.1, + "color": "Blue", "evos": [ - "Darmanitan" + "Swoobat" ], "eggGroups": [ + "Flying", "Field" - ], - "otherFormes": [ - "Darumaka-Galar" - ], - "formeOrder": [ - "Darumaka", - "Darumaka-Galar" ] }, - "darumakagalar": { - "num": 554, - "name": "darumaka-galar", - "baseSpecies": "Darumaka", - "forme": "Galar", + "swoobat": { + "num": 528, + "name": "swoobat", "types": [ - "ice" + "psychic", + "flying" ], "baseStats": { - "hp": 70, - "attack": 90, - "defense": 45, - "special-attack": 15, - "special-defense": 45, - "speed": 50 + "hp": 67, + "attack": 57, + "defense": 55, + "special-attack": 77, + "special-defense": 55, + "speed": 114 }, "abilities": { - "0": "Hustle", - "H": "Inner Focus" + "0": "Unaware", + "1": "Klutz", + "H": "Simple" }, - "heightm": 0.7, - "weightkg": 40, - "color": "White", - "evos": [ - "Darmanitan-Galar" - ], + "heightm": 0.9, + "weightkg": 10.5, + "color": "Blue", + "prevo": "Woobat", + "evoType": "levelFriendship", "eggGroups": [ + "Flying", "Field" ] }, - "darmanitan": { - "num": 555, - "name": "darmanitan", - "baseForme": "Standard", + "drilbur": { + "num": 529, + "name": "drilbur", "types": [ - "fire" + "ground" ], "baseStats": { - "hp": 105, - "attack": 140, - "defense": 55, + "hp": 60, + "attack": 85, + "defense": 40, "special-attack": 30, - "special-defense": 55, - "speed": 95 + "special-defense": 45, + "speed": 68 }, "abilities": { - "0": "Sheer Force", - "H": "Zen Mode" + "0": "Sand Rush", + "1": "Sand Force", + "H": "Mold Breaker" }, - "heightm": 1.3, - "weightkg": 92.9, - "color": "Red", - "prevo": "Darumaka", - "evoLevel": 35, + "heightm": 0.3, + "weightkg": 8.5, + "color": "Gray", + "evos": [ + "Excadrill" + ], "eggGroups": [ "Field" - ], - "otherFormes": [ - "Darmanitan-Zen", - "Darmanitan-Galar", - "Darmanitan-Galar-Zen" - ], - "formeOrder": [ - "Darmanitan", - "Darmanitan-Zen", - "Darmanitan-Galar", - "Darmanitan-Galar-Zen" ] }, - "darmanitanzen": { - "num": 555, - "name": "darmanitan-zen", - "baseSpecies": "Darmanitan", - "forme": "Zen", + "excadrill": { + "num": 530, + "name": "excadrill", "types": [ - "fire", - "psychic" + "ground", + "steel" ], "baseStats": { - "hp": 105, - "attack": 30, - "defense": 105, - "special-attack": 140, - "special-defense": 105, - "speed": 55 + "hp": 110, + "attack": 135, + "defense": 60, + "special-attack": 50, + "special-defense": 65, + "speed": 88 }, "abilities": { - "0": "Zen Mode" + "0": "Sand Rush", + "1": "Sand Force", + "H": "Mold Breaker" }, - "heightm": 1.3, - "weightkg": 92.9, - "color": "Blue", + "heightm": 0.7, + "weightkg": 40.4, + "color": "Gray", + "prevo": "Drilbur", + "evoLevel": 31, "eggGroups": [ "Field" - ], - "requiredAbility": "Zen Mode", - "battleOnly": "Darmanitan" + ] }, - "darmanitangalar": { - "num": 555, - "name": "darmanitan-galar", - "baseSpecies": "Darmanitan", - "forme": "Galar", + "audino": { + "num": 531, + "name": "audino", "types": [ - "ice" + "normal" ], "baseStats": { - "hp": 105, - "attack": 140, - "defense": 55, - "special-attack": 30, - "special-defense": 55, - "speed": 95 + "hp": 103, + "attack": 60, + "defense": 86, + "special-attack": 60, + "special-defense": 86, + "speed": 50 }, "abilities": { - "0": "Gorilla Tactics", - "H": "Zen Mode" + "0": "Healer", + "1": "Regenerator", + "H": "Klutz" }, - "heightm": 1.7, - "weightkg": 120, - "color": "White", - "prevo": "Darumaka-Galar", - "evoType": "useItem", - "evoItem": "Ice Stone", + "heightm": 1.1, + "weightkg": 31, + "color": "Pink", "eggGroups": [ - "Field" + "Fairy" + ], + "otherFormes": [ + "Audino-Mega" + ], + "formeOrder": [ + "Audino", + "Audino-Mega" ] }, - "darmanitangalarzen": { - "num": 555, - "name": "darmanitan-galar-zen", - "baseSpecies": "Darmanitan", - "forme": "Galar-Zen", + "audinomega": { + "num": 531, + "name": "audino-mega", + "baseSpecies": "Audino", + "forme": "Mega", "types": [ - "ice", - "fire" + "normal", + "fairy" ], "baseStats": { - "hp": 105, - "attack": 160, - "defense": 55, - "special-attack": 30, - "special-defense": 55, - "speed": 135 + "hp": 103, + "attack": 60, + "defense": 126, + "special-attack": 80, + "special-defense": 126, + "speed": 50 }, "abilities": { - "0": "Zen Mode" + "0": "Healer" }, - "heightm": 1.7, - "weightkg": 120, + "heightm": 1.5, + "weightkg": 32, "color": "White", "eggGroups": [ - "Field" + "Fairy" ], - "requiredAbility": "Zen Mode", - "battleOnly": "Darmanitan-Galar" + "requiredItem": "Audinite" }, - "maractus": { - "num": 556, - "name": "maractus", + "timburr": { + "num": 532, + "name": "timburr", "types": [ - "grass" + "fighting" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { "hp": 75, - "attack": 86, - "defense": 67, - "special-attack": 106, - "special-defense": 67, - "speed": 60 + "attack": 80, + "defense": 55, + "special-attack": 25, + "special-defense": 35, + "speed": 35 }, "abilities": { - "0": "Water Absorb", - "1": "Chlorophyll", - "H": "Storm Drain" + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" }, - "heightm": 1, - "weightkg": 28, - "color": "Green", + "heightm": 0.6, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "Gurdurr" + ], "eggGroups": [ - "Grass" + "Human-Like" ] }, - "dwebble": { - "num": 557, - "name": "dwebble", + "gurdurr": { + "num": 533, + "name": "gurdurr", "types": [ - "bug", - "rock" + "fighting" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 50, - "attack": 65, + "hp": 85, + "attack": 105, "defense": 85, - "special-attack": 35, - "special-defense": 35, - "speed": 55 + "special-attack": 40, + "special-defense": 50, + "speed": 40 }, "abilities": { - "0": "Sturdy", - "1": "Shell Armor", - "H": "Weak Armor" + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" }, - "heightm": 0.3, - "weightkg": 14.5, - "color": "Red", + "heightm": 1.2, + "weightkg": 40, + "color": "Gray", + "prevo": "Timburr", + "evoLevel": 25, "evos": [ - "Crustle" + "Conkeldurr" ], "eggGroups": [ - "Bug", - "Mineral" + "Human-Like" ] }, - "crustle": { - "num": 558, - "name": "crustle", + "conkeldurr": { + "num": 534, + "name": "conkeldurr", "types": [ - "bug", - "rock" + "fighting" ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, "baseStats": { - "hp": 70, - "attack": 105, - "defense": 125, - "special-attack": 65, - "special-defense": 75, + "hp": 105, + "attack": 140, + "defense": 95, + "special-attack": 55, + "special-defense": 65, "speed": 45 }, "abilities": { - "0": "Sturdy", - "1": "Shell Armor", - "H": "Weak Armor" + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" }, "heightm": 1.4, - "weightkg": 200, - "color": "Red", - "prevo": "Dwebble", - "evoLevel": 34, + "weightkg": 87, + "color": "Brown", + "prevo": "Gurdurr", + "evoType": "trade", "eggGroups": [ - "Bug", - "Mineral" + "Human-Like" ] }, - "scraggy": { - "num": 559, - "name": "scraggy", + "tympole": { + "num": 535, + "name": "tympole", "types": [ - "dark", - "fighting" + "water" ], "baseStats": { "hp": 50, - "attack": 75, - "defense": 70, - "special-attack": 35, - "special-defense": 70, - "speed": 48 + "attack": 50, + "defense": 40, + "special-attack": 50, + "special-defense": 40, + "speed": 64 }, "abilities": { - "0": "Shed Skin", - "1": "Moxie", - "H": "Intimidate" + "0": "Swift Swim", + "1": "Hydration", + "H": "Water Absorb" }, - "heightm": 0.6, - "weightkg": 11.8, - "color": "Yellow", + "heightm": 0.5, + "weightkg": 4.5, + "color": "Blue", "evos": [ - "Scrafty" + "Palpitoad" ], "eggGroups": [ - "Field", - "Dragon" + "Water 1" ] }, - "scrafty": { - "num": 560, - "name": "scrafty", + "palpitoad": { + "num": 536, + "name": "palpitoad", "types": [ - "dark", - "fighting" + "water", + "ground" ], "baseStats": { - "hp": 65, - "attack": 90, - "defense": 115, - "special-attack": 45, - "special-defense": 115, - "speed": 58 + "hp": 75, + "attack": 65, + "defense": 55, + "special-attack": 65, + "special-defense": 55, + "speed": 69 }, "abilities": { - "0": "Shed Skin", - "1": "Moxie", - "H": "Intimidate" + "0": "Swift Swim", + "1": "Hydration", + "H": "Water Absorb" }, - "heightm": 1.1, - "weightkg": 30, - "color": "Red", - "prevo": "Scraggy", - "evoLevel": 39, + "heightm": 0.8, + "weightkg": 17, + "color": "Blue", + "prevo": "Tympole", + "evoLevel": 25, + "evos": [ + "Seismitoad" + ], "eggGroups": [ - "Field", - "Dragon" + "Water 1" ] }, - "sigilyph": { - "num": 561, - "name": "sigilyph", + "seismitoad": { + "num": 537, + "name": "seismitoad", "types": [ - "psychic", - "flying" + "water", + "ground" ], "baseStats": { - "hp": 72, - "attack": 58, - "defense": 80, - "special-attack": 103, - "special-defense": 80, - "speed": 97 + "hp": 105, + "attack": 95, + "defense": 75, + "special-attack": 85, + "special-defense": 75, + "speed": 74 }, "abilities": { - "0": "Wonder Skin", - "1": "Magic Guard", - "H": "Tinted Lens" + "0": "Swift Swim", + "1": "Poison Touch", + "H": "Water Absorb" }, - "heightm": 1.4, - "weightkg": 14, - "color": "Black", + "heightm": 1.5, + "weightkg": 62, + "color": "Blue", + "prevo": "Palpitoad", + "evoLevel": 36, "eggGroups": [ - "Flying" + "Water 1" ] }, - "yamask": { - "num": 562, - "name": "yamask", + "throh": { + "num": 538, + "name": "throh", "types": [ - "ghost" + "fighting" ], + "gender": "M", "baseStats": { - "hp": 38, - "attack": 30, + "hp": 120, + "attack": 100, "defense": 85, - "special-attack": 55, - "special-defense": 65, - "speed": 30 + "special-attack": 30, + "special-defense": 85, + "speed": 45 }, "abilities": { - "0": "Mummy" + "0": "Guts", + "1": "Inner Focus", + "H": "Mold Breaker" }, - "heightm": 0.5, - "weightkg": 1.5, - "color": "Black", - "evos": [ - "Cofagrigus" - ], + "heightm": 1.3, + "weightkg": 55.5, + "color": "Red", "eggGroups": [ - "Mineral", - "Amorphous" - ], - "otherFormes": [ - "Yamask-Galar" - ], - "formeOrder": [ - "Yamask", - "Yamask-Galar" + "Human-Like" ] }, - "yamaskgalar": { - "num": 562, - "name": "yamask-galar", - "baseSpecies": "Yamask", - "forme": "Galar", + "sawk": { + "num": 539, + "name": "sawk", "types": [ - "ground", - "ghost" + "fighting" ], + "gender": "M", "baseStats": { - "hp": 38, - "attack": 55, - "defense": 85, + "hp": 75, + "attack": 125, + "defense": 75, "special-attack": 30, - "special-defense": 65, - "speed": 30 + "special-defense": 75, + "speed": 85 }, "abilities": { - "0": "Wandering Spirit" + "0": "Sturdy", + "1": "Inner Focus", + "H": "Mold Breaker" }, - "heightm": 0.5, - "weightkg": 1.5, - "color": "Black", - "evos": [ - "Runerigus" - ], + "heightm": 1.4, + "weightkg": 51, + "color": "Blue", "eggGroups": [ - "Mineral", - "Amorphous" + "Human-Like" ] }, - "cofagrigus": { - "num": 563, - "name": "cofagrigus", + "sewaddle": { + "num": 540, + "name": "sewaddle", "types": [ - "ghost" + "bug", + "grass" ], "baseStats": { - "hp": 58, - "attack": 50, - "defense": 145, - "special-attack": 95, - "special-defense": 105, - "speed": 30 + "hp": 45, + "attack": 53, + "defense": 70, + "special-attack": 40, + "special-defense": 60, + "speed": 42 }, "abilities": { - "0": "Mummy" + "0": "Swarm", + "1": "Chlorophyll", + "H": "Overcoat" }, - "heightm": 1.7, - "weightkg": 76.5, + "heightm": 0.3, + "weightkg": 2.5, "color": "Yellow", - "prevo": "Yamask", - "evoLevel": 34, + "evos": [ + "Swadloon" + ], "eggGroups": [ - "Mineral", - "Amorphous" + "Bug" ] }, - "tirtouga": { - "num": 564, - "name": "tirtouga", + "swadloon": { + "num": 541, + "name": "swadloon", "types": [ - "water", - "rock" + "bug", + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 54, - "attack": 78, - "defense": 103, - "special-attack": 53, - "special-defense": 45, - "speed": 22 + "hp": 55, + "attack": 63, + "defense": 90, + "special-attack": 50, + "special-defense": 80, + "speed": 42 }, "abilities": { - "0": "Solid Rock", - "1": "Sturdy", - "H": "Swift Swim" + "0": "Leaf Guard", + "1": "Chlorophyll", + "H": "Overcoat" }, - "heightm": 0.7, - "weightkg": 16.5, - "color": "Blue", + "heightm": 0.5, + "weightkg": 7.3, + "color": "Green", + "prevo": "Sewaddle", + "evoLevel": 20, "evos": [ - "Carracosta" + "Leavanny" ], "eggGroups": [ - "Water 1", - "Water 3" + "Bug" ] }, - "carracosta": { - "num": 565, - "name": "carracosta", + "leavanny": { + "num": 542, + "name": "leavanny", "types": [ - "water", - "rock" + "bug", + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 74, - "attack": 108, - "defense": 133, - "special-attack": 83, - "special-defense": 65, - "speed": 32 + "hp": 75, + "attack": 103, + "defense": 80, + "special-attack": 70, + "special-defense": 80, + "speed": 92 }, "abilities": { - "0": "Solid Rock", - "1": "Sturdy", - "H": "Swift Swim" + "0": "Swarm", + "1": "Chlorophyll", + "H": "Overcoat" }, "heightm": 1.2, - "weightkg": 81, - "color": "Blue", - "prevo": "Tirtouga", - "evoLevel": 37, + "weightkg": 20.5, + "color": "Yellow", + "prevo": "Swadloon", + "evoType": "levelFriendship", "eggGroups": [ - "Water 1", - "Water 3" + "Bug" ] }, - "archen": { - "num": 566, - "name": "archen", + "venipede": { + "num": 543, + "name": "venipede", "types": [ - "rock", - "flying" + "bug", + "poison" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 55, - "attack": 112, - "defense": 45, - "special-attack": 74, - "special-defense": 45, - "speed": 70 + "hp": 30, + "attack": 45, + "defense": 59, + "special-attack": 30, + "special-defense": 39, + "speed": 57 }, "abilities": { - "0": "Defeatist" + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" }, - "heightm": 0.5, - "weightkg": 9.5, - "color": "Yellow", + "heightm": 0.4, + "weightkg": 5.3, + "color": "Red", "evos": [ - "Archeops" - ], - "eggGroups": [ - "Flying", - "Water 3" - ] - }, - "archeops": { - "num": 567, - "name": "archeops", - "types": [ - "rock", - "flying" + "Whirlipede" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 75, - "attack": 140, - "defense": 65, - "special-attack": 112, - "special-defense": 65, - "speed": 110 - }, - "abilities": { - "0": "Defeatist" - }, - "heightm": 1.4, - "weightkg": 32, - "color": "Yellow", - "prevo": "Archen", - "evoLevel": 37, "eggGroups": [ - "Flying", - "Water 3" + "Bug" ] }, - "trubbish": { - "num": 568, - "name": "trubbish", + "whirlipede": { + "num": 544, + "name": "whirlipede", "types": [ + "bug", "poison" ], "baseStats": { - "hp": 50, - "attack": 50, - "defense": 62, + "hp": 40, + "attack": 55, + "defense": 99, "special-attack": 40, - "special-defense": 62, - "speed": 65 + "special-defense": 79, + "speed": 47 }, "abilities": { - "0": "Stench", - "1": "Sticky Hold", - "H": "Aftermath" + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" }, - "heightm": 0.6, - "weightkg": 31, - "color": "Green", + "heightm": 1.2, + "weightkg": 58.5, + "color": "Gray", + "prevo": "Venipede", + "evoLevel": 22, "evos": [ - "Garbodor" + "Scolipede" ], "eggGroups": [ - "Mineral" + "Bug" ] }, - "garbodor": { - "num": 569, - "name": "garbodor", + "scolipede": { + "num": 545, + "name": "scolipede", "types": [ + "bug", "poison" ], "baseStats": { - "hp": 80, - "attack": 95, - "defense": 82, - "special-attack": 60, - "special-defense": 82, - "speed": 75 + "hp": 60, + "attack": 100, + "defense": 89, + "special-attack": 55, + "special-defense": 69, + "speed": 112 }, "abilities": { - "0": "Stench", - "1": "Weak Armor", - "H": "Aftermath" + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" }, - "heightm": 1.9, - "weightkg": 107.3, - "color": "Green", - "prevo": "Trubbish", - "evoLevel": 36, + "heightm": 2.5, + "weightkg": 200.5, + "color": "Red", + "prevo": "Whirlipede", + "evoLevel": 30, "eggGroups": [ - "Mineral" - ], - "canGigantamax": "G-Max Malodor" + "Bug" + ] }, - "garbodorgmax": { - "num": 569, - "name": "garbodor-gmax", - "baseSpecies": "Garbodor", - "forme": "Gmax", + "cottonee": { + "num": 546, + "name": "cottonee", "types": [ - "poison" + "grass", + "fairy" ], "baseStats": { - "hp": 80, - "attack": 95, - "defense": 82, - "special-attack": 60, - "special-defense": 82, - "speed": 75 + "hp": 40, + "attack": 27, + "defense": 60, + "special-attack": 37, + "special-defense": 50, + "speed": 66 }, "abilities": { - "0": "Stench", - "1": "Weak Armor", - "H": "Aftermath" + "0": "Prankster", + "1": "Infiltrator", + "H": "Chlorophyll" }, - "heightm": 21, - "weightkg": 0, + "heightm": 0.3, + "weightkg": 0.6, "color": "Green", - "eggGroups": [ - "Mineral" + "evos": [ + "Whimsicott" ], - "changesFrom": "Garbodor" + "eggGroups": [ + "Fairy", + "Grass" + ] }, - "zorua": { - "num": 570, - "name": "zorua", + "whimsicott": { + "num": 547, + "name": "whimsicott", "types": [ - "dark" + "grass", + "fairy" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 40, - "attack": 65, - "defense": 40, - "special-attack": 80, - "special-defense": 40, - "speed": 65 + "hp": 60, + "attack": 67, + "defense": 85, + "special-attack": 77, + "special-defense": 75, + "speed": 116 }, "abilities": { - "0": "Illusion" + "0": "Prankster", + "1": "Infiltrator", + "H": "Chlorophyll" }, "heightm": 0.7, - "weightkg": 12.5, - "color": "Gray", - "evos": [ - "Zoroark" - ], + "weightkg": 6.6, + "color": "Green", + "prevo": "Cottonee", + "evoType": "useItem", + "evoItem": "Sun Stone", "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Zorua-Hisui" - ], - "formeOrder": [ - "Zorua", - "Zorua-Hisui" + "Fairy", + "Grass" ] }, - "zoruahisui": { - "num": 570, - "name": "zorua-hisui", - "baseSpecies": "Zorua", - "forme": "Hisui", + "petilil": { + "num": 548, + "name": "petilil", "types": [ - "normal", - "ghost" + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 35, - "attack": 60, - "defense": 40, - "special-attack": 85, - "special-defense": 40, - "speed": 70 + "hp": 45, + "attack": 35, + "defense": 50, + "special-attack": 70, + "special-defense": 50, + "speed": 30 }, "abilities": { - "0": "Illusion" + "0": "Chlorophyll", + "1": "Own Tempo", + "H": "Leaf Guard" }, - "heightm": 0.7, - "weightkg": 12.5, - "color": "Gray", + "heightm": 0.5, + "weightkg": 6.6, + "color": "Green", "evos": [ - "Zoroark-Hisui" + "Lilligant", + "Lilligant-Hisui" ], "eggGroups": [ - "Field" + "Grass" ] }, - "zoroark": { - "num": 571, - "name": "zoroark", + "lilligant": { + "num": 549, + "name": "lilligant", "types": [ - "dark" + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 60, - "attack": 105, - "defense": 60, - "special-attack": 120, - "special-defense": 60, - "speed": 105 + "hp": 70, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 75, + "speed": 90 }, "abilities": { - "0": "Illusion" + "0": "Chlorophyll", + "1": "Own Tempo", + "H": "Leaf Guard" }, - "heightm": 1.6, - "weightkg": 81.1, - "color": "Gray", - "prevo": "Zorua", - "evoLevel": 30, + "heightm": 1.1, + "weightkg": 16.3, + "color": "Green", + "prevo": "Petilil", + "evoType": "useItem", + "evoItem": "Sun Stone", "eggGroups": [ - "Field" + "Grass" ], "otherFormes": [ - "Zoroark-Hisui" + "Lilligant-Hisui" ], "formeOrder": [ - "Zoroark", - "Zoroark-Hisui" + "Lilligant", + "Lilligant-Hisui" ] }, - "zoroarkhisui": { - "num": 571, - "name": "zoroark-hisui", - "baseSpecies": "Zoroark", + "lilliganthisui": { + "num": 549, + "name": "lilligant-hisui", + "baseSpecies": "Lilligant", "forme": "Hisui", "types": [ - "normal", - "ghost" + "grass", + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 55, - "attack": 100, - "defense": 60, - "special-attack": 125, - "special-defense": 60, - "speed": 110 + "hp": 70, + "attack": 105, + "defense": 75, + "special-attack": 50, + "special-defense": 75, + "speed": 105 }, "abilities": { - "0": "Illusion" + "0": "Chlorophyll", + "1": "Hustle", + "H": "Leaf Guard" }, - "heightm": 1.6, - "weightkg": 73, - "color": "Gray", - "prevo": "Zorua-Hisui", - "evoLevel": 30, + "heightm": 1.2, + "weightkg": 19.2, + "color": "Green", + "prevo": "Petilil", + "evoType": "useItem", + "evoItem": "Sun Stone", "eggGroups": [ - "Field" + "Grass" ] }, - "minccino": { - "num": 572, - "name": "minccino", + "basculin": { + "num": 550, + "name": "basculin", + "baseForme": "Red-Striped", "types": [ - "normal" + "water" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 55, - "attack": 50, - "defense": 40, - "special-attack": 40, - "special-defense": 40, - "speed": 75 + "hp": 70, + "attack": 92, + "defense": 65, + "special-attack": 80, + "special-defense": 55, + "speed": 98 }, "abilities": { - "0": "Cute Charm", - "1": "Technician", - "H": "Skill Link" + "0": "Reckless", + "1": "Adaptability", + "H": "Mold Breaker" }, - "heightm": 0.4, - "weightkg": 5.8, - "color": "Gray", - "evos": [ - "Cinccino" - ], + "heightm": 1, + "weightkg": 18, + "color": "Green", "eggGroups": [ - "Field" + "Water 2" + ], + "otherFormes": [ + "Basculin-Blue-Striped", + "Basculin-White-Striped" + ], + "formeOrder": [ + "Basculin", + "Basculin-Blue-Striped", + "Basculin-White-Striped" ] }, - "cinccino": { - "num": 573, - "name": "cinccino", + "basculinbluestriped": { + "num": 550, + "name": "basculin-blue-striped", + "baseSpecies": "Basculin", + "forme": "Blue-Striped", "types": [ - "normal" + "water" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 75, - "attack": 95, - "defense": 60, - "special-attack": 65, - "special-defense": 60, - "speed": 115 + "hp": 70, + "attack": 92, + "defense": 65, + "special-attack": 80, + "special-defense": 55, + "speed": 98 }, "abilities": { - "0": "Cute Charm", - "1": "Technician", - "H": "Skill Link" + "0": "Rock Head", + "1": "Adaptability", + "H": "Mold Breaker" }, - "heightm": 0.5, - "weightkg": 7.5, - "color": "Gray", - "prevo": "Minccino", - "evoType": "useItem", - "evoItem": "Shiny Stone", + "heightm": 1, + "weightkg": 18, + "color": "Green", "eggGroups": [ - "Field" + "Water 2" ] }, - "gothita": { - "num": 574, - "name": "gothita", + "basculinwhitestriped": { + "num": 550, + "name": "basculin-white-striped", + "baseSpecies": "Basculin", + "forme": "White-Striped", "types": [ - "psychic" + "water" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 45, - "attack": 30, - "defense": 50, - "special-attack": 55, - "special-defense": 65, - "speed": 45 + "hp": 70, + "attack": 92, + "defense": 65, + "special-attack": 80, + "special-defense": 55, + "speed": 98 }, "abilities": { - "0": "Frisk", - "1": "Competitive", - "H": "Shadow Tag" + "0": "Rattled", + "1": "Adaptability", + "H": "Mold Breaker" }, - "heightm": 0.4, - "weightkg": 5.8, - "color": "Purple", + "heightm": 1, + "weightkg": 18, + "color": "Green", "evos": [ - "Gothorita" + "Basculegion", + "Basculegion-F" ], "eggGroups": [ - "Human-Like" - ] + "Water 2" + ], + "gen": 8 }, - "gothorita": { - "num": 575, - "name": "gothorita", + "sandile": { + "num": 551, + "name": "sandile", "types": [ - "psychic" + "ground", + "dark" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 60, - "attack": 45, - "defense": 70, - "special-attack": 75, - "special-defense": 85, - "speed": 55 + "hp": 50, + "attack": 72, + "defense": 35, + "special-attack": 35, + "special-defense": 35, + "speed": 65 }, "abilities": { - "0": "Frisk", - "1": "Competitive", - "H": "Shadow Tag" + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" }, "heightm": 0.7, - "weightkg": 18, - "color": "Purple", - "prevo": "Gothita", - "evoLevel": 32, + "weightkg": 15.2, + "color": "Brown", "evos": [ - "Gothitelle" + "Krokorok" ], "eggGroups": [ - "Human-Like" + "Field" ] }, - "gothitelle": { - "num": 576, - "name": "gothitelle", + "krokorok": { + "num": 552, + "name": "krokorok", "types": [ - "psychic" + "ground", + "dark" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 70, - "attack": 55, - "defense": 95, - "special-attack": 95, - "special-defense": 110, - "speed": 65 + "hp": 60, + "attack": 82, + "defense": 45, + "special-attack": 45, + "special-defense": 45, + "speed": 74 }, "abilities": { - "0": "Frisk", - "1": "Competitive", - "H": "Shadow Tag" + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" }, - "heightm": 1.5, - "weightkg": 44, - "color": "Purple", - "prevo": "Gothorita", - "evoLevel": 41, + "heightm": 1, + "weightkg": 33.4, + "color": "Brown", + "prevo": "Sandile", + "evoLevel": 29, + "evos": [ + "Krookodile" + ], "eggGroups": [ - "Human-Like" + "Field" ] }, - "solosis": { - "num": 577, - "name": "solosis", + "krookodile": { + "num": 553, + "name": "krookodile", "types": [ - "psychic" + "ground", + "dark" ], "baseStats": { - "hp": 45, - "attack": 30, - "defense": 40, - "special-attack": 105, - "special-defense": 50, - "speed": 20 + "hp": 95, + "attack": 117, + "defense": 80, + "special-attack": 65, + "special-defense": 70, + "speed": 92 }, "abilities": { - "0": "Overcoat", - "1": "Magic Guard", - "H": "Regenerator" + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" }, - "heightm": 0.3, - "weightkg": 1, - "color": "Green", - "evos": [ - "Duosion" - ], + "heightm": 1.5, + "weightkg": 96.3, + "color": "Red", + "prevo": "Krokorok", + "evoLevel": 40, "eggGroups": [ - "Amorphous" + "Field" ] }, - "duosion": { - "num": 578, - "name": "duosion", + "darumaka": { + "num": 554, + "name": "darumaka", "types": [ - "psychic" + "fire" ], "baseStats": { - "hp": 65, - "attack": 40, - "defense": 50, - "special-attack": 125, - "special-defense": 60, - "speed": 30 + "hp": 70, + "attack": 90, + "defense": 45, + "special-attack": 15, + "special-defense": 45, + "speed": 50 }, "abilities": { - "0": "Overcoat", - "1": "Magic Guard", - "H": "Regenerator" + "0": "Hustle", + "H": "Inner Focus" }, "heightm": 0.6, - "weightkg": 8, - "color": "Green", - "prevo": "Solosis", - "evoLevel": 32, + "weightkg": 37.5, + "color": "Red", "evos": [ - "Reuniclus" + "Darmanitan" ], "eggGroups": [ - "Amorphous" + "Field" + ], + "otherFormes": [ + "Darumaka-Galar" + ], + "formeOrder": [ + "Darumaka", + "Darumaka-Galar" ] }, - "reuniclus": { - "num": 579, - "name": "reuniclus", + "darumakagalar": { + "num": 554, + "name": "darumaka-galar", + "baseSpecies": "Darumaka", + "forme": "Galar", "types": [ - "psychic" + "ice" ], "baseStats": { - "hp": 110, - "attack": 65, - "defense": 75, - "special-attack": 125, - "special-defense": 85, - "speed": 30 + "hp": 70, + "attack": 90, + "defense": 45, + "special-attack": 15, + "special-defense": 45, + "speed": 50 }, "abilities": { - "0": "Overcoat", - "1": "Magic Guard", - "H": "Regenerator" + "0": "Hustle", + "H": "Inner Focus" }, - "heightm": 1, - "weightkg": 20.1, - "color": "Green", - "prevo": "Duosion", - "evoLevel": 41, + "heightm": 0.7, + "weightkg": 40, + "color": "White", + "evos": [ + "Darmanitan-Galar" + ], "eggGroups": [ - "Amorphous" + "Field" ] }, - "ducklett": { - "num": 580, - "name": "ducklett", + "darmanitan": { + "num": 555, + "name": "darmanitan", + "baseForme": "Standard", "types": [ - "water", - "flying" + "fire" ], "baseStats": { - "hp": 62, - "attack": 44, - "defense": 50, - "special-attack": 44, - "special-defense": 50, - "speed": 55 + "hp": 105, + "attack": 140, + "defense": 55, + "special-attack": 30, + "special-defense": 55, + "speed": 95 }, "abilities": { - "0": "Keen Eye", - "1": "Big Pecks", - "H": "Hydration" + "0": "Sheer Force", + "H": "Zen Mode" }, - "heightm": 0.5, - "weightkg": 5.5, - "color": "Blue", - "evos": [ - "Swanna" - ], + "heightm": 1.3, + "weightkg": 92.9, + "color": "Red", + "prevo": "Darumaka", + "evoLevel": 35, "eggGroups": [ - "Water 1", - "Flying" + "Field" + ], + "otherFormes": [ + "Darmanitan-Zen", + "Darmanitan-Galar", + "Darmanitan-Galar-Zen" + ], + "formeOrder": [ + "Darmanitan", + "Darmanitan-Zen", + "Darmanitan-Galar", + "Darmanitan-Galar-Zen" ] }, - "swanna": { - "num": 581, - "name": "swanna", + "darmanitanzen": { + "num": 555, + "name": "darmanitan-zen", + "baseSpecies": "Darmanitan", + "forme": "Zen", "types": [ - "water", - "flying" + "fire", + "psychic" ], "baseStats": { - "hp": 75, - "attack": 87, - "defense": 63, - "special-attack": 87, - "special-defense": 63, - "speed": 98 + "hp": 105, + "attack": 30, + "defense": 105, + "special-attack": 140, + "special-defense": 105, + "speed": 55 }, "abilities": { - "0": "Keen Eye", - "1": "Big Pecks", - "H": "Hydration" + "0": "Zen Mode" }, "heightm": 1.3, - "weightkg": 24.2, - "color": "White", - "prevo": "Ducklett", - "evoLevel": 35, + "weightkg": 92.9, + "color": "Blue", "eggGroups": [ - "Water 1", - "Flying" - ] + "Field" + ], + "requiredAbility": "Zen Mode", + "battleOnly": "Darmanitan" }, - "vanillite": { - "num": 582, - "name": "vanillite", + "darmanitangalar": { + "num": 555, + "name": "darmanitan-galar", + "baseSpecies": "Darmanitan", + "forme": "Galar", "types": [ "ice" ], "baseStats": { - "hp": 36, - "attack": 50, - "defense": 50, - "special-attack": 65, - "special-defense": 60, - "speed": 44 + "hp": 105, + "attack": 140, + "defense": 55, + "special-attack": 30, + "special-defense": 55, + "speed": 95 }, "abilities": { - "0": "Ice Body", - "1": "Snow Cloak", - "H": "Weak Armor" + "0": "Gorilla Tactics", + "H": "Zen Mode" }, - "heightm": 0.4, - "weightkg": 5.7, + "heightm": 1.7, + "weightkg": 120, "color": "White", - "evos": [ - "Vanillish" - ], + "prevo": "Darumaka-Galar", + "evoType": "useItem", + "evoItem": "Ice Stone", "eggGroups": [ - "Mineral" + "Field" ] }, - "vanillish": { - "num": 583, - "name": "vanillish", + "darmanitangalarzen": { + "num": 555, + "name": "darmanitan-galar-zen", + "baseSpecies": "Darmanitan", + "forme": "Galar-Zen", "types": [ - "ice" + "ice", + "fire" ], "baseStats": { - "hp": 51, - "attack": 65, - "defense": 65, - "special-attack": 80, - "special-defense": 75, - "speed": 59 + "hp": 105, + "attack": 160, + "defense": 55, + "special-attack": 30, + "special-defense": 55, + "speed": 135 }, "abilities": { - "0": "Ice Body", - "1": "Snow Cloak", - "H": "Weak Armor" + "0": "Zen Mode" }, - "heightm": 1.1, - "weightkg": 41, + "heightm": 1.7, + "weightkg": 120, "color": "White", - "prevo": "Vanillite", - "evoLevel": 35, - "evos": [ - "Vanilluxe" - ], "eggGroups": [ - "Mineral" - ] + "Field" + ], + "requiredAbility": "Zen Mode", + "battleOnly": "Darmanitan-Galar" }, - "vanilluxe": { - "num": 584, - "name": "vanilluxe", + "maractus": { + "num": 556, + "name": "maractus", "types": [ - "ice" + "grass" ], "baseStats": { - "hp": 71, - "attack": 95, - "defense": 85, - "special-attack": 110, - "special-defense": 95, - "speed": 79 + "hp": 75, + "attack": 86, + "defense": 67, + "special-attack": 106, + "special-defense": 67, + "speed": 60 }, "abilities": { - "0": "Ice Body", - "1": "Snow Warning", - "H": "Weak Armor" + "0": "Water Absorb", + "1": "Chlorophyll", + "H": "Storm Drain" }, - "heightm": 1.3, - "weightkg": 57.5, - "color": "White", - "prevo": "Vanillish", - "evoLevel": 47, + "heightm": 1, + "weightkg": 28, + "color": "Green", "eggGroups": [ - "Mineral" + "Grass" ] }, - "deerling": { - "num": 585, - "name": "deerling", - "baseForme": "Spring", + "dwebble": { + "num": 557, + "name": "dwebble", "types": [ - "normal", - "grass" + "bug", + "rock" ], "baseStats": { - "hp": 60, - "attack": 60, - "defense": 50, - "special-attack": 40, - "special-defense": 50, - "speed": 75 + "hp": 50, + "attack": 65, + "defense": 85, + "special-attack": 35, + "special-defense": 35, + "speed": 55 }, "abilities": { - "0": "Chlorophyll", - "1": "Sap Sipper", - "H": "Serene Grace" + "0": "Sturdy", + "1": "Shell Armor", + "H": "Weak Armor" }, - "heightm": 0.6, - "weightkg": 19.5, - "color": "Pink", + "heightm": 0.3, + "weightkg": 14.5, + "color": "Red", "evos": [ - "Sawsbuck" + "Crustle" ], "eggGroups": [ - "Field" - ], - "cosmeticFormes": [ - "Deerling-Summer", - "Deerling-Autumn", - "Deerling-Winter" - ], - "formeOrder": [ - "Deerling", - "Deerling-Summer", - "Deerling-Autumn", - "Deerling-Winter" + "Bug", + "Mineral" ] }, - "sawsbuck": { - "num": 586, - "name": "sawsbuck", - "baseForme": "Spring", + "crustle": { + "num": 558, + "name": "crustle", "types": [ - "normal", - "grass" + "bug", + "rock" ], "baseStats": { - "hp": 80, - "attack": 100, - "defense": 70, - "special-attack": 60, - "special-defense": 70, - "speed": 95 + "hp": 70, + "attack": 105, + "defense": 125, + "special-attack": 65, + "special-defense": 75, + "speed": 45 }, "abilities": { - "0": "Chlorophyll", - "1": "Sap Sipper", - "H": "Serene Grace" + "0": "Sturdy", + "1": "Shell Armor", + "H": "Weak Armor" }, - "heightm": 1.9, - "weightkg": 92.5, - "color": "Brown", - "prevo": "Deerling", + "heightm": 1.4, + "weightkg": 200, + "color": "Red", + "prevo": "Dwebble", "evoLevel": 34, "eggGroups": [ - "Field" - ], - "cosmeticFormes": [ - "Sawsbuck-Summer", - "Sawsbuck-Autumn", - "Sawsbuck-Winter" - ], - "formeOrder": [ - "Sawsbuck", - "Sawsbuck-Summer", - "Sawsbuck-Autumn", - "Sawsbuck-Winter" + "Bug", + "Mineral" ] }, - "emolga": { - "num": 587, - "name": "emolga", + "scraggy": { + "num": 559, + "name": "scraggy", "types": [ - "electric", - "flying" + "dark", + "fighting" ], "baseStats": { - "hp": 55, + "hp": 50, "attack": 75, - "defense": 60, - "special-attack": 75, - "special-defense": 60, - "speed": 103 + "defense": 70, + "special-attack": 35, + "special-defense": 70, + "speed": 48 }, "abilities": { - "0": "Static", - "H": "Motor Drive" + "0": "Shed Skin", + "1": "Moxie", + "H": "Intimidate" }, - "heightm": 0.4, - "weightkg": 5, - "color": "White", + "heightm": 0.6, + "weightkg": 11.8, + "color": "Yellow", + "evos": [ + "Scrafty" + ], "eggGroups": [ - "Field" + "Field", + "Dragon" ] }, - "karrablast": { - "num": 588, - "name": "karrablast", + "scrafty": { + "num": 560, + "name": "scrafty", "types": [ - "bug" + "dark", + "fighting" ], "baseStats": { - "hp": 50, - "attack": 75, - "defense": 45, - "special-attack": 40, - "special-defense": 45, - "speed": 60 + "hp": 65, + "attack": 90, + "defense": 115, + "special-attack": 45, + "special-defense": 115, + "speed": 58 }, "abilities": { - "0": "Swarm", - "1": "Shed Skin", - "H": "No Guard" + "0": "Shed Skin", + "1": "Moxie", + "H": "Intimidate" }, - "heightm": 0.5, - "weightkg": 5.9, - "color": "Blue", - "evos": [ - "Escavalier" - ], + "heightm": 1.1, + "weightkg": 30, + "color": "Red", + "prevo": "Scraggy", + "evoLevel": 39, "eggGroups": [ - "Bug" + "Field", + "Dragon" ] }, - "escavalier": { - "num": 589, - "name": "escavalier", + "sigilyph": { + "num": 561, + "name": "sigilyph", "types": [ - "bug", - "steel" + "psychic", + "flying" ], "baseStats": { - "hp": 70, - "attack": 135, - "defense": 105, - "special-attack": 60, - "special-defense": 105, - "speed": 20 + "hp": 72, + "attack": 58, + "defense": 80, + "special-attack": 103, + "special-defense": 80, + "speed": 97 }, "abilities": { - "0": "Swarm", - "1": "Shell Armor", - "H": "Overcoat" + "0": "Wonder Skin", + "1": "Magic Guard", + "H": "Tinted Lens" }, - "heightm": 1, - "weightkg": 33, - "color": "Gray", - "prevo": "Karrablast", - "evoType": "trade", - "evoCondition": "with a Shelmet", + "heightm": 1.4, + "weightkg": 14, + "color": "Black", "eggGroups": [ - "Bug" + "Flying" ] }, - "foongus": { - "num": 590, - "name": "foongus", + "yamask": { + "num": 562, + "name": "yamask", "types": [ - "grass", - "poison" + "ghost" ], "baseStats": { - "hp": 69, - "attack": 55, - "defense": 45, + "hp": 38, + "attack": 30, + "defense": 85, "special-attack": 55, - "special-defense": 55, - "speed": 15 + "special-defense": 65, + "speed": 30 }, "abilities": { - "0": "Effect Spore", - "H": "Regenerator" + "0": "Mummy" }, - "heightm": 0.2, - "weightkg": 1, - "color": "White", + "heightm": 0.5, + "weightkg": 1.5, + "color": "Black", "evos": [ - "Amoonguss" + "Cofagrigus" ], "eggGroups": [ - "Grass" + "Mineral", + "Amorphous" + ], + "otherFormes": [ + "Yamask-Galar" + ], + "formeOrder": [ + "Yamask", + "Yamask-Galar" ] }, - "amoonguss": { - "num": 591, - "name": "amoonguss", + "yamaskgalar": { + "num": 562, + "name": "yamask-galar", + "baseSpecies": "Yamask", + "forme": "Galar", "types": [ - "grass", - "poison" + "ground", + "ghost" ], "baseStats": { - "hp": 114, - "attack": 85, - "defense": 70, - "special-attack": 85, - "special-defense": 80, + "hp": 38, + "attack": 55, + "defense": 85, + "special-attack": 30, + "special-defense": 65, "speed": 30 }, "abilities": { - "0": "Effect Spore", - "H": "Regenerator" + "0": "Wandering Spirit" }, - "heightm": 0.6, - "weightkg": 10.5, - "color": "White", - "prevo": "Foongus", - "evoLevel": 39, + "heightm": 0.5, + "weightkg": 1.5, + "color": "Black", + "evos": [ + "Runerigus" + ], "eggGroups": [ - "Grass" + "Mineral", + "Amorphous" ] }, - "frillish": { - "num": 592, - "name": "frillish", + "cofagrigus": { + "num": 563, + "name": "cofagrigus", "types": [ - "water", "ghost" ], "baseStats": { - "hp": 55, - "attack": 40, - "defense": 50, - "special-attack": 65, - "special-defense": 85, - "speed": 40 + "hp": 58, + "attack": 50, + "defense": 145, + "special-attack": 95, + "special-defense": 105, + "speed": 30 }, "abilities": { - "0": "Water Absorb", - "1": "Cursed Body", - "H": "Damp" + "0": "Mummy" }, - "heightm": 1.2, - "weightkg": 33, - "color": "White", - "evos": [ - "Jellicent" - ], + "heightm": 1.7, + "weightkg": 76.5, + "color": "Yellow", + "prevo": "Yamask", + "evoLevel": 34, "eggGroups": [ + "Mineral", "Amorphous" ] }, - "jellicent": { - "num": 593, - "name": "jellicent", + "tirtouga": { + "num": 564, + "name": "tirtouga", "types": [ "water", - "ghost" + "rock" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 60, - "defense": 70, - "special-attack": 85, - "special-defense": 105, - "speed": 60 + "hp": 54, + "attack": 78, + "defense": 103, + "special-attack": 53, + "special-defense": 45, + "speed": 22 }, "abilities": { - "0": "Water Absorb", - "1": "Cursed Body", - "H": "Damp" + "0": "Solid Rock", + "1": "Sturdy", + "H": "Swift Swim" }, - "heightm": 2.2, - "weightkg": 135, - "color": "White", - "prevo": "Frillish", - "evoLevel": 40, + "heightm": 0.7, + "weightkg": 16.5, + "color": "Blue", + "evos": [ + "Carracosta" + ], "eggGroups": [ - "Amorphous" + "Water 1", + "Water 3" ] }, - "alomomola": { - "num": 594, - "name": "alomomola", + "carracosta": { + "num": 565, + "name": "carracosta", "types": [ - "water" + "water", + "rock" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 165, - "attack": 75, - "defense": 80, - "special-attack": 40, - "special-defense": 45, - "speed": 65 + "hp": 74, + "attack": 108, + "defense": 133, + "special-attack": 83, + "special-defense": 65, + "speed": 32 }, "abilities": { - "0": "Healer", - "1": "Hydration", - "H": "Regenerator" + "0": "Solid Rock", + "1": "Sturdy", + "H": "Swift Swim" }, "heightm": 1.2, - "weightkg": 31.6, - "color": "Pink", + "weightkg": 81, + "color": "Blue", + "prevo": "Tirtouga", + "evoLevel": 37, "eggGroups": [ "Water 1", - "Water 2" + "Water 3" ] }, - "joltik": { - "num": 595, - "name": "joltik", + "archen": { + "num": 566, + "name": "archen", "types": [ - "bug", - "electric" + "rock", + "flying" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 50, - "attack": 47, - "defense": 50, - "special-attack": 57, - "special-defense": 50, - "speed": 65 + "hp": 55, + "attack": 112, + "defense": 45, + "special-attack": 74, + "special-defense": 45, + "speed": 70 }, "abilities": { - "0": "Compound Eyes", - "1": "Unnerve", - "H": "Swarm" + "0": "Defeatist" }, - "heightm": 0.1, - "weightkg": 0.6, + "heightm": 0.5, + "weightkg": 9.5, "color": "Yellow", "evos": [ - "Galvantula" + "Archeops" ], "eggGroups": [ - "Bug" + "Flying", + "Water 3" ] }, - "galvantula": { - "num": 596, - "name": "galvantula", + "archeops": { + "num": 567, + "name": "archeops", "types": [ - "bug", - "electric" + "rock", + "flying" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 77, - "defense": 60, - "special-attack": 97, - "special-defense": 60, - "speed": 108 + "hp": 75, + "attack": 140, + "defense": 65, + "special-attack": 112, + "special-defense": 65, + "speed": 110 }, "abilities": { - "0": "Compound Eyes", - "1": "Unnerve", - "H": "Swarm" + "0": "Defeatist" }, - "heightm": 0.8, - "weightkg": 14.3, + "heightm": 1.4, + "weightkg": 32, "color": "Yellow", - "prevo": "Joltik", - "evoLevel": 36, + "prevo": "Archen", + "evoLevel": 37, "eggGroups": [ - "Bug" + "Flying", + "Water 3" ] }, - "ferroseed": { - "num": 597, - "name": "ferroseed", + "trubbish": { + "num": 568, + "name": "trubbish", "types": [ - "grass", - "steel" + "poison" ], "baseStats": { - "hp": 44, + "hp": 50, "attack": 50, - "defense": 91, - "special-attack": 24, - "special-defense": 86, - "speed": 10 + "defense": 62, + "special-attack": 40, + "special-defense": 62, + "speed": 65 }, "abilities": { - "0": "Iron Barbs" + "0": "Stench", + "1": "Sticky Hold", + "H": "Aftermath" }, "heightm": 0.6, - "weightkg": 18.8, - "color": "Gray", + "weightkg": 31, + "color": "Green", "evos": [ - "Ferrothorn" + "Garbodor" ], "eggGroups": [ - "Grass", "Mineral" ] }, - "ferrothorn": { - "num": 598, - "name": "ferrothorn", + "garbodor": { + "num": 569, + "name": "garbodor", "types": [ - "grass", - "steel" + "poison" ], "baseStats": { - "hp": 74, - "attack": 94, - "defense": 131, - "special-attack": 54, - "special-defense": 116, - "speed": 20 + "hp": 80, + "attack": 95, + "defense": 82, + "special-attack": 60, + "special-defense": 82, + "speed": 75 }, "abilities": { - "0": "Iron Barbs", - "H": "Anticipation" + "0": "Stench", + "1": "Weak Armor", + "H": "Aftermath" }, - "heightm": 1, - "weightkg": 110, - "color": "Gray", - "prevo": "Ferroseed", - "evoLevel": 40, + "heightm": 1.9, + "weightkg": 107.3, + "color": "Green", + "prevo": "Trubbish", + "evoLevel": 36, "eggGroups": [ - "Grass", "Mineral" - ] + ], + "canGigantamax": "G-Max Malodor" }, - "klink": { - "num": 599, - "name": "klink", + "garbodorgmax": { + "num": 569, + "name": "garbodor-gmax", + "baseSpecies": "Garbodor", + "forme": "Gmax", "types": [ - "steel" + "poison" ], - "gender": "N", + "baseStats": { + "hp": 80, + "attack": 95, + "defense": 82, + "special-attack": 60, + "special-defense": 82, + "speed": 75 + }, + "abilities": { + "0": "Stench", + "1": "Weak Armor", + "H": "Aftermath" + }, + "heightm": 21, + "weightkg": 0, + "color": "Green", + "eggGroups": [ + "Mineral" + ], + "changesFrom": "Garbodor" + }, + "zorua": { + "num": 570, + "name": "zorua", + "types": [ + "dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 40, - "attack": 55, - "defense": 70, - "special-attack": 45, - "special-defense": 60, - "speed": 30 + "attack": 65, + "defense": 40, + "special-attack": 80, + "special-defense": 40, + "speed": 65 }, "abilities": { - "0": "Plus", - "1": "Minus", - "H": "Clear Body" + "0": "Illusion" }, - "heightm": 0.3, - "weightkg": 21, + "heightm": 0.7, + "weightkg": 12.5, "color": "Gray", "evos": [ - "Klang" + "Zoroark" ], "eggGroups": [ - "Mineral" + "Field" + ], + "otherFormes": [ + "Zorua-Hisui" + ], + "formeOrder": [ + "Zorua", + "Zorua-Hisui" ] }, - "klang": { - "num": 600, - "name": "klang", + "zoruahisui": { + "num": 570, + "name": "zorua-hisui", + "baseSpecies": "Zorua", + "forme": "Hisui", "types": [ - "steel" + "normal", + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 35, + "attack": 60, + "defense": 40, + "special-attack": 85, + "special-defense": 40, + "speed": 70 + }, + "abilities": { + "0": "Illusion" + }, + "heightm": 0.7, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "Zoroark-Hisui" + ], + "eggGroups": [ + "Field" + ] + }, + "zoroark": { + "num": 571, + "name": "zoroark", + "types": [ + "dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 60, - "attack": 80, - "defense": 95, - "special-attack": 70, - "special-defense": 85, - "speed": 50 + "attack": 105, + "defense": 60, + "special-attack": 120, + "special-defense": 60, + "speed": 105 }, "abilities": { - "0": "Plus", - "1": "Minus", - "H": "Clear Body" + "0": "Illusion" }, - "heightm": 0.6, - "weightkg": 51, + "heightm": 1.6, + "weightkg": 81.1, "color": "Gray", - "prevo": "Klink", - "evoLevel": 38, - "evos": [ - "Klinklang" - ], + "prevo": "Zorua", + "evoLevel": 30, "eggGroups": [ - "Mineral" + "Field" + ], + "otherFormes": [ + "Zoroark-Hisui" + ], + "formeOrder": [ + "Zoroark", + "Zoroark-Hisui" ] }, - "klinklang": { - "num": 601, - "name": "klinklang", + "zoroarkhisui": { + "num": 571, + "name": "zoroark-hisui", + "baseSpecies": "Zoroark", + "forme": "Hisui", "types": [ - "steel" + "normal", + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, + "hp": 55, "attack": 100, - "defense": 115, - "special-attack": 70, - "special-defense": 85, - "speed": 90 + "defense": 60, + "special-attack": 125, + "special-defense": 60, + "speed": 110 }, "abilities": { - "0": "Plus", - "1": "Minus", - "H": "Clear Body" + "0": "Illusion" }, - "heightm": 0.6, - "weightkg": 81, + "heightm": 1.6, + "weightkg": 73, "color": "Gray", - "prevo": "Klang", - "evoLevel": 49, + "prevo": "Zorua-Hisui", + "evoLevel": 30, "eggGroups": [ - "Mineral" + "Field" ] }, - "tynamo": { - "num": 602, - "name": "tynamo", + "minccino": { + "num": 572, + "name": "minccino", "types": [ - "electric" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 35, - "attack": 55, + "hp": 55, + "attack": 50, "defense": 40, - "special-attack": 45, + "special-attack": 40, "special-defense": 40, - "speed": 60 + "speed": 75 }, "abilities": { - "0": "Levitate" + "0": "Cute Charm", + "1": "Technician", + "H": "Skill Link" }, - "heightm": 0.2, - "weightkg": 0.3, - "color": "White", + "heightm": 0.4, + "weightkg": 5.8, + "color": "Gray", "evos": [ - "Eelektrik" + "Cinccino" ], "eggGroups": [ - "Amorphous" + "Field" ] }, - "eelektrik": { - "num": 603, - "name": "eelektrik", + "cinccino": { + "num": 573, + "name": "cinccino", "types": [ - "electric" + "normal" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 65, - "attack": 85, - "defense": 70, - "special-attack": 75, - "special-defense": 70, - "speed": 40 + "hp": 75, + "attack": 95, + "defense": 60, + "special-attack": 65, + "special-defense": 60, + "speed": 115 }, "abilities": { - "0": "Levitate" + "0": "Cute Charm", + "1": "Technician", + "H": "Skill Link" }, - "heightm": 1.2, - "weightkg": 22, - "color": "Blue", - "prevo": "Tynamo", - "evoLevel": 39, - "evos": [ - "Eelektross" - ], + "heightm": 0.5, + "weightkg": 7.5, + "color": "Gray", + "prevo": "Minccino", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Amorphous" + "Field" ] }, - "eelektross": { - "num": 604, - "name": "eelektross", + "gothita": { + "num": 574, + "name": "gothita", "types": [ - "electric" + "psychic" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 85, - "attack": 115, - "defense": 80, - "special-attack": 105, - "special-defense": 80, - "speed": 50 + "hp": 45, + "attack": 30, + "defense": 50, + "special-attack": 55, + "special-defense": 65, + "speed": 45 }, "abilities": { - "0": "Levitate" + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" }, - "heightm": 2.1, - "weightkg": 80.5, - "color": "Blue", - "prevo": "Eelektrik", - "evoType": "useItem", - "evoItem": "Thunder Stone", + "heightm": 0.4, + "weightkg": 5.8, + "color": "Purple", + "evos": [ + "Gothorita" + ], "eggGroups": [ - "Amorphous" + "Human-Like" ] }, - "elgyem": { - "num": 605, - "name": "elgyem", + "gothorita": { + "num": 575, + "name": "gothorita", "types": [ "psychic" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 55, - "attack": 55, - "defense": 55, - "special-attack": 85, - "special-defense": 55, - "speed": 30 + "hp": 60, + "attack": 45, + "defense": 70, + "special-attack": 75, + "special-defense": 85, + "speed": 55 }, "abilities": { - "0": "Telepathy", - "1": "Synchronize", - "H": "Analytic" + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" }, - "heightm": 0.5, - "weightkg": 9, - "color": "Blue", + "heightm": 0.7, + "weightkg": 18, + "color": "Purple", + "prevo": "Gothita", + "evoLevel": 32, "evos": [ - "Beheeyem" + "Gothitelle" ], "eggGroups": [ "Human-Like" ] }, - "beheeyem": { - "num": 606, - "name": "beheeyem", + "gothitelle": { + "num": 576, + "name": "gothitelle", "types": [ "psychic" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 75, - "attack": 75, - "defense": 75, - "special-attack": 125, - "special-defense": 95, - "speed": 40 + "hp": 70, + "attack": 55, + "defense": 95, + "special-attack": 95, + "special-defense": 110, + "speed": 65 }, "abilities": { - "0": "Telepathy", - "1": "Synchronize", - "H": "Analytic" + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" }, - "heightm": 1, - "weightkg": 34.5, - "color": "Brown", - "prevo": "Elgyem", - "evoLevel": 42, + "heightm": 1.5, + "weightkg": 44, + "color": "Purple", + "prevo": "Gothorita", + "evoLevel": 41, "eggGroups": [ "Human-Like" ] }, - "litwick": { - "num": 607, - "name": "litwick", + "solosis": { + "num": 577, + "name": "solosis", "types": [ - "ghost", - "fire" + "psychic" ], "baseStats": { - "hp": 50, + "hp": 45, "attack": 30, - "defense": 55, - "special-attack": 65, - "special-defense": 55, + "defense": 40, + "special-attack": 105, + "special-defense": 50, "speed": 20 }, "abilities": { - "0": "Flash Fire", - "1": "Flame Body", - "H": "Infiltrator" + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" }, "heightm": 0.3, - "weightkg": 3.1, - "color": "White", + "weightkg": 1, + "color": "Green", "evos": [ - "Lampent" + "Duosion" ], "eggGroups": [ "Amorphous" ] }, - "lampent": { - "num": 608, - "name": "lampent", + "duosion": { + "num": 578, + "name": "duosion", "types": [ - "ghost", - "fire" + "psychic" ], "baseStats": { - "hp": 60, + "hp": 65, "attack": 40, - "defense": 60, - "special-attack": 95, + "defense": 50, + "special-attack": 125, "special-defense": 60, - "speed": 55 + "speed": 30 }, "abilities": { - "0": "Flash Fire", - "1": "Flame Body", - "H": "Infiltrator" + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" }, "heightm": 0.6, - "weightkg": 13, - "color": "Black", - "prevo": "Litwick", - "evoLevel": 41, + "weightkg": 8, + "color": "Green", + "prevo": "Solosis", + "evoLevel": 32, "evos": [ - "Chandelure" + "Reuniclus" ], "eggGroups": [ "Amorphous" ] }, - "chandelure": { - "num": 609, - "name": "chandelure", + "reuniclus": { + "num": 579, + "name": "reuniclus", "types": [ - "ghost", - "fire" + "psychic" ], "baseStats": { - "hp": 60, - "attack": 55, - "defense": 90, - "special-attack": 145, - "special-defense": 90, - "speed": 80 + "hp": 110, + "attack": 65, + "defense": 75, + "special-attack": 125, + "special-defense": 85, + "speed": 30 }, "abilities": { - "0": "Flash Fire", - "1": "Flame Body", - "H": "Infiltrator" + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" }, "heightm": 1, - "weightkg": 34.3, - "color": "Black", - "prevo": "Lampent", - "evoType": "useItem", - "evoItem": "Dusk Stone", + "weightkg": 20.1, + "color": "Green", + "prevo": "Duosion", + "evoLevel": 41, "eggGroups": [ "Amorphous" ] }, - "axew": { - "num": 610, - "name": "axew", + "ducklett": { + "num": 580, + "name": "ducklett", "types": [ - "dragon" + "water", + "flying" ], "baseStats": { - "hp": 46, - "attack": 87, - "defense": 60, - "special-attack": 30, - "special-defense": 40, - "speed": 57 + "hp": 62, + "attack": 44, + "defense": 50, + "special-attack": 44, + "special-defense": 50, + "speed": 55 }, "abilities": { - "0": "Rivalry", - "1": "Mold Breaker", - "H": "Unnerve" + "0": "Keen Eye", + "1": "Big Pecks", + "H": "Hydration" }, - "heightm": 0.6, - "weightkg": 18, - "color": "Green", + "heightm": 0.5, + "weightkg": 5.5, + "color": "Blue", "evos": [ - "Fraxure" + "Swanna" ], "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Flying" ] }, - "fraxure": { - "num": 611, - "name": "fraxure", + "swanna": { + "num": 581, + "name": "swanna", "types": [ - "dragon" + "water", + "flying" ], "baseStats": { - "hp": 66, - "attack": 117, - "defense": 70, - "special-attack": 40, - "special-defense": 50, - "speed": 67 + "hp": 75, + "attack": 87, + "defense": 63, + "special-attack": 87, + "special-defense": 63, + "speed": 98 }, "abilities": { - "0": "Rivalry", - "1": "Mold Breaker", - "H": "Unnerve" + "0": "Keen Eye", + "1": "Big Pecks", + "H": "Hydration" }, - "heightm": 1, - "weightkg": 36, - "color": "Green", - "prevo": "Axew", - "evoLevel": 38, - "evos": [ - "Haxorus" - ], + "heightm": 1.3, + "weightkg": 24.2, + "color": "White", + "prevo": "Ducklett", + "evoLevel": 35, "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Flying" ] }, - "haxorus": { - "num": 612, - "name": "haxorus", + "vanillite": { + "num": 582, + "name": "vanillite", "types": [ - "dragon" + "ice" ], "baseStats": { - "hp": 76, - "attack": 147, - "defense": 90, - "special-attack": 60, - "special-defense": 70, - "speed": 97 + "hp": 36, + "attack": 50, + "defense": 50, + "special-attack": 65, + "special-defense": 60, + "speed": 44 }, "abilities": { - "0": "Rivalry", - "1": "Mold Breaker", - "H": "Unnerve" + "0": "Ice Body", + "1": "Snow Cloak", + "H": "Weak Armor" }, - "heightm": 1.8, - "weightkg": 105.5, - "color": "Yellow", - "prevo": "Fraxure", - "evoLevel": 48, + "heightm": 0.4, + "weightkg": 5.7, + "color": "White", + "evos": [ + "Vanillish" + ], "eggGroups": [ - "Monster", - "Dragon" + "Mineral" ] }, - "cubchoo": { - "num": 613, - "name": "cubchoo", + "vanillish": { + "num": 583, + "name": "vanillish", "types": [ "ice" ], "baseStats": { - "hp": 55, - "attack": 70, - "defense": 40, - "special-attack": 60, - "special-defense": 40, - "speed": 40 + "hp": 51, + "attack": 65, + "defense": 65, + "special-attack": 80, + "special-defense": 75, + "speed": 59 }, "abilities": { - "0": "Snow Cloak", - "1": "Slush Rush", - "H": "Rattled" + "0": "Ice Body", + "1": "Snow Cloak", + "H": "Weak Armor" }, - "heightm": 0.5, - "weightkg": 8.5, + "heightm": 1.1, + "weightkg": 41, "color": "White", + "prevo": "Vanillite", + "evoLevel": 35, "evos": [ - "Beartic" + "Vanilluxe" ], "eggGroups": [ - "Field" + "Mineral" ] }, - "beartic": { - "num": 614, - "name": "beartic", + "vanilluxe": { + "num": 584, + "name": "vanilluxe", "types": [ "ice" ], "baseStats": { - "hp": 95, - "attack": 130, - "defense": 80, - "special-attack": 70, - "special-defense": 80, - "speed": 50 + "hp": 71, + "attack": 95, + "defense": 85, + "special-attack": 110, + "special-defense": 95, + "speed": 79 }, "abilities": { - "0": "Snow Cloak", - "1": "Slush Rush", - "H": "Swift Swim" + "0": "Ice Body", + "1": "Snow Warning", + "H": "Weak Armor" }, - "heightm": 2.6, - "weightkg": 260, + "heightm": 1.3, + "weightkg": 57.5, "color": "White", - "prevo": "Cubchoo", - "evoLevel": 37, + "prevo": "Vanillish", + "evoLevel": 47, "eggGroups": [ - "Field" + "Mineral" ] }, - "cryogonal": { - "num": 615, - "name": "cryogonal", + "deerling": { + "num": 585, + "name": "deerling", + "baseForme": "Spring", "types": [ - "ice" + "normal", + "grass" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 50, + "hp": 60, + "attack": 60, "defense": 50, - "special-attack": 95, - "special-defense": 135, - "speed": 105 + "special-attack": 40, + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Levitate" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 1.1, - "weightkg": 148, - "color": "Blue", + "heightm": 0.6, + "weightkg": 19.5, + "color": "Pink", + "evos": [ + "Sawsbuck" + ], "eggGroups": [ - "Mineral" + "Field" + ], + "cosmeticFormes": [ + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" + ], + "formeOrder": [ + "Deerling", + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" ] }, - "shelmet": { - "num": 616, - "name": "shelmet", + "deerlingsummer": { + "num": 585, + "name": "deerling", + "baseForme": "Spring", "types": [ - "bug" + "normal", + "grass" ], "baseStats": { - "hp": 50, - "attack": 40, - "defense": 85, + "hp": 60, + "attack": 60, + "defense": 50, "special-attack": 40, - "special-defense": 65, - "speed": 25 + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Hydration", - "1": "Shell Armor", - "H": "Overcoat" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 0.4, - "weightkg": 7.7, - "color": "Red", + "heightm": 0.6, + "weightkg": 19.5, + "color": "Pink", "evos": [ - "Accelgor" + "Sawsbuck" ], "eggGroups": [ - "Bug" + "Field" + ], + "cosmeticFormes": [ + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" + ], + "formeOrder": [ + "Deerling", + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" ] }, - "accelgor": { - "num": 617, - "name": "accelgor", + "deerlingautumn": { + "num": 585, + "name": "deerling", + "baseForme": "Spring", "types": [ - "bug" + "normal", + "grass" ], "baseStats": { - "hp": 80, - "attack": 70, - "defense": 40, - "special-attack": 100, - "special-defense": 60, - "speed": 145 + "hp": 60, + "attack": 60, + "defense": 50, + "special-attack": 40, + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Hydration", - "1": "Sticky Hold", - "H": "Unburden" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 0.8, - "weightkg": 25.3, - "color": "Red", - "prevo": "Shelmet", - "evoType": "trade", - "evoCondition": "with a Karrablast", + "heightm": 0.6, + "weightkg": 19.5, + "color": "Pink", + "evos": [ + "Sawsbuck" + ], "eggGroups": [ - "Bug" + "Field" + ], + "cosmeticFormes": [ + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" + ], + "formeOrder": [ + "Deerling", + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" ] }, - "stunfisk": { - "num": 618, - "name": "stunfisk", + "deerlingwinter": { + "num": 585, + "name": "deerling", + "baseForme": "Spring", "types": [ - "ground", - "electric" + "normal", + "grass" ], "baseStats": { - "hp": 109, - "attack": 66, - "defense": 84, - "special-attack": 81, - "special-defense": 99, - "speed": 32 + "hp": 60, + "attack": 60, + "defense": 50, + "special-attack": 40, + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Static", - "1": "Limber", - "H": "Sand Veil" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 0.7, - "weightkg": 11, - "color": "Brown", + "heightm": 0.6, + "weightkg": 19.5, + "color": "Pink", + "evos": [ + "Sawsbuck" + ], "eggGroups": [ - "Water 1", - "Amorphous" + "Field" ], - "otherFormes": [ - "Stunfisk-Galar" + "cosmeticFormes": [ + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" ], "formeOrder": [ - "Stunfisk", - "Stunfisk-Galar" + "Deerling", + "Deerling-Summer", + "Deerling-Autumn", + "Deerling-Winter" ] }, - "stunfiskgalar": { - "num": 618, - "name": "stunfisk-galar", - "baseSpecies": "Stunfisk", - "forme": "Galar", + "sawsbuck": { + "num": 586, + "name": "sawsbuck", + "baseForme": "Spring", "types": [ - "ground", - "steel" + "normal", + "grass" ], "baseStats": { - "hp": 109, - "attack": 81, - "defense": 99, - "special-attack": 66, - "special-defense": 84, - "speed": 32 + "hp": 80, + "attack": 100, + "defense": 70, + "special-attack": 60, + "special-defense": 70, + "speed": 95 }, "abilities": { - "0": "Mimicry" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 0.7, - "weightkg": 20.5, - "color": "Green", + "heightm": 1.9, + "weightkg": 92.5, + "color": "Brown", + "prevo": "Deerling", + "evoLevel": 34, "eggGroups": [ - "Water 1", - "Amorphous" + "Field" + ], + "cosmeticFormes": [ + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" + ], + "formeOrder": [ + "Sawsbuck", + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" ] }, - "mienfoo": { - "num": 619, - "name": "mienfoo", + "sawsbucksummer": { + "num": 586, + "name": "sawsbuck", + "baseForme": "Spring", "types": [ - "fighting" + "normal", + "grass" ], "baseStats": { - "hp": 45, - "attack": 85, - "defense": 50, - "special-attack": 55, - "special-defense": 50, - "speed": 65 + "hp": 80, + "attack": 100, + "defense": 70, + "special-attack": 60, + "special-defense": 70, + "speed": 95 }, "abilities": { - "0": "Inner Focus", - "1": "Regenerator", - "H": "Reckless" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 0.9, - "weightkg": 20, - "color": "Yellow", - "evos": [ - "Mienshao" - ], + "heightm": 1.9, + "weightkg": 92.5, + "color": "Brown", + "prevo": "Deerling", + "evoLevel": 34, "eggGroups": [ - "Field", - "Human-Like" + "Field" + ], + "cosmeticFormes": [ + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" + ], + "formeOrder": [ + "Sawsbuck", + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" ] }, - "mienshao": { - "num": 620, - "name": "mienshao", + "sawsbuckautumn": { + "num": 586, + "name": "sawsbuck", + "baseForme": "Spring", "types": [ - "fighting" + "normal", + "grass" ], "baseStats": { - "hp": 65, - "attack": 125, - "defense": 60, - "special-attack": 95, - "special-defense": 60, - "speed": 105 + "hp": 80, + "attack": 100, + "defense": 70, + "special-attack": 60, + "special-defense": 70, + "speed": 95 }, "abilities": { - "0": "Inner Focus", - "1": "Regenerator", - "H": "Reckless" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 1.4, - "weightkg": 35.5, - "color": "Purple", - "prevo": "Mienfoo", - "evoLevel": 50, + "heightm": 1.9, + "weightkg": 92.5, + "color": "Brown", + "prevo": "Deerling", + "evoLevel": 34, "eggGroups": [ - "Field", - "Human-Like" + "Field" + ], + "cosmeticFormes": [ + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" + ], + "formeOrder": [ + "Sawsbuck", + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" ] }, - "druddigon": { - "num": 621, - "name": "druddigon", + "sawsbuckwinter": { + "num": 586, + "name": "sawsbuck", + "baseForme": "Spring", "types": [ - "dragon" + "normal", + "grass" ], "baseStats": { - "hp": 77, - "attack": 120, - "defense": 90, + "hp": 80, + "attack": 100, + "defense": 70, "special-attack": 60, - "special-defense": 90, - "speed": 48 + "special-defense": 70, + "speed": 95 }, "abilities": { - "0": "Rough Skin", - "1": "Sheer Force", - "H": "Mold Breaker" + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" }, - "heightm": 1.6, - "weightkg": 139, - "color": "Red", + "heightm": 1.9, + "weightkg": 92.5, + "color": "Brown", + "prevo": "Deerling", + "evoLevel": 34, "eggGroups": [ - "Monster", - "Dragon" + "Field" + ], + "cosmeticFormes": [ + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" + ], + "formeOrder": [ + "Sawsbuck", + "Sawsbuck-Summer", + "Sawsbuck-Autumn", + "Sawsbuck-Winter" ] }, - "golett": { - "num": 622, - "name": "golett", + "emolga": { + "num": 587, + "name": "emolga", "types": [ - "ground", - "ghost" + "electric", + "flying" ], - "gender": "N", "baseStats": { - "hp": 59, - "attack": 74, - "defense": 50, - "special-attack": 35, - "special-defense": 50, - "speed": 35 + "hp": 55, + "attack": 75, + "defense": 60, + "special-attack": 75, + "special-defense": 60, + "speed": 103 }, "abilities": { - "0": "Iron Fist", - "1": "Klutz", - "H": "No Guard" + "0": "Static", + "H": "Motor Drive" }, - "heightm": 1, - "weightkg": 92, - "color": "Green", - "evos": [ - "Golurk" - ], + "heightm": 0.4, + "weightkg": 5, + "color": "White", "eggGroups": [ - "Mineral" + "Field" ] }, - "golurk": { - "num": 623, - "name": "golurk", + "karrablast": { + "num": 588, + "name": "karrablast", "types": [ - "ground", - "ghost" + "bug" ], - "gender": "N", "baseStats": { - "hp": 89, - "attack": 124, - "defense": 80, - "special-attack": 55, - "special-defense": 80, - "speed": 55 + "hp": 50, + "attack": 75, + "defense": 45, + "special-attack": 40, + "special-defense": 45, + "speed": 60 }, "abilities": { - "0": "Iron Fist", - "1": "Klutz", + "0": "Swarm", + "1": "Shed Skin", "H": "No Guard" }, - "heightm": 2.8, - "weightkg": 330, - "color": "Green", - "prevo": "Golett", - "evoLevel": 43, + "heightm": 0.5, + "weightkg": 5.9, + "color": "Blue", + "evos": [ + "Escavalier" + ], "eggGroups": [ - "Mineral" + "Bug" ] }, - "pawniard": { - "num": 624, - "name": "pawniard", + "escavalier": { + "num": 589, + "name": "escavalier", "types": [ - "dark", + "bug", "steel" ], "baseStats": { - "hp": 45, - "attack": 85, - "defense": 70, - "special-attack": 40, - "special-defense": 40, - "speed": 60 + "hp": 70, + "attack": 135, + "defense": 105, + "special-attack": 60, + "special-defense": 105, + "speed": 20 }, "abilities": { - "0": "Defiant", - "1": "Inner Focus", - "H": "Pressure" + "0": "Swarm", + "1": "Shell Armor", + "H": "Overcoat" }, - "heightm": 0.5, - "weightkg": 10.2, - "color": "Red", - "evos": [ - "Bisharp" - ], + "heightm": 1, + "weightkg": 33, + "color": "Gray", + "prevo": "Karrablast", + "evoType": "trade", + "evoCondition": "with a Shelmet", "eggGroups": [ - "Human-Like" + "Bug" ] }, - "bisharp": { - "num": 625, - "name": "bisharp", + "foongus": { + "num": 590, + "name": "foongus", "types": [ - "dark", - "steel" + "grass", + "poison" ], "baseStats": { - "hp": 65, - "attack": 125, - "defense": 100, - "special-attack": 60, - "special-defense": 70, - "speed": 70 + "hp": 69, + "attack": 55, + "defense": 45, + "special-attack": 55, + "special-defense": 55, + "speed": 15 }, "abilities": { - "0": "Defiant", - "1": "Inner Focus", - "H": "Pressure" + "0": "Effect Spore", + "H": "Regenerator" }, - "heightm": 1.6, - "weightkg": 70, - "color": "Red", - "prevo": "Pawniard", - "evoLevel": 52, + "heightm": 0.2, + "weightkg": 1, + "color": "White", "evos": [ - "Kingambit" + "Amoonguss" ], "eggGroups": [ - "Human-Like" + "Grass" ] }, - "bouffalant": { - "num": 626, - "name": "bouffalant", + "amoonguss": { + "num": 591, + "name": "amoonguss", "types": [ - "normal" + "grass", + "poison" ], "baseStats": { - "hp": 95, - "attack": 110, - "defense": 95, - "special-attack": 40, - "special-defense": 95, - "speed": 55 + "hp": 114, + "attack": 85, + "defense": 70, + "special-attack": 85, + "special-defense": 80, + "speed": 30 }, "abilities": { - "0": "Reckless", - "1": "Sap Sipper", - "H": "Soundproof" + "0": "Effect Spore", + "H": "Regenerator" }, - "heightm": 1.6, - "weightkg": 94.6, - "color": "Brown", + "heightm": 0.6, + "weightkg": 10.5, + "color": "White", + "prevo": "Foongus", + "evoLevel": 39, "eggGroups": [ - "Field" + "Grass" ] }, - "rufflet": { - "num": 627, - "name": "rufflet", + "frillish": { + "num": 592, + "name": "frillish", "types": [ - "normal", - "flying" + "water", + "ghost" ], - "gender": "M", "baseStats": { - "hp": 70, - "attack": 83, + "hp": 55, + "attack": 40, "defense": 50, - "special-attack": 37, - "special-defense": 50, - "speed": 60 + "special-attack": 65, + "special-defense": 85, + "speed": 40 }, "abilities": { - "0": "Keen Eye", - "1": "Sheer Force", - "H": "Hustle" + "0": "Water Absorb", + "1": "Cursed Body", + "H": "Damp" }, - "heightm": 0.5, - "weightkg": 10.5, + "heightm": 1.2, + "weightkg": 33, "color": "White", "evos": [ - "Braviary", - "Braviary-Hisui" + "Jellicent" ], "eggGroups": [ - "Flying" + "Amorphous" ] }, - "braviary": { - "num": 628, - "name": "braviary", + "jellicent": { + "num": 593, + "name": "jellicent", "types": [ - "normal", - "flying" + "water", + "ghost" ], - "gender": "M", "baseStats": { "hp": 100, - "attack": 123, - "defense": 75, - "special-attack": 57, - "special-defense": 75, - "speed": 80 + "attack": 60, + "defense": 70, + "special-attack": 85, + "special-defense": 105, + "speed": 60 }, "abilities": { - "0": "Keen Eye", - "1": "Sheer Force", - "H": "Defiant" + "0": "Water Absorb", + "1": "Cursed Body", + "H": "Damp" }, - "heightm": 1.5, - "weightkg": 41, - "color": "Red", - "prevo": "Rufflet", - "evoLevel": 54, + "heightm": 2.2, + "weightkg": 135, + "color": "White", + "prevo": "Frillish", + "evoLevel": 40, "eggGroups": [ - "Flying" - ], - "otherFormes": [ - "Braviary-Hisui" - ], - "formeOrder": [ - "Braviary", - "Braviary-Hisui" + "Amorphous" ] }, - "braviaryhisui": { - "num": 628, - "name": "braviary-hisui", - "baseSpecies": "Braviary", - "forme": "Hisui", + "alomomola": { + "num": 594, + "name": "alomomola", "types": [ - "psychic", - "flying" + "water" ], - "gender": "M", "baseStats": { - "hp": 110, - "attack": 83, - "defense": 70, - "special-attack": 112, - "special-defense": 70, + "hp": 165, + "attack": 75, + "defense": 80, + "special-attack": 40, + "special-defense": 45, "speed": 65 }, "abilities": { - "0": "Keen Eye", - "1": "Sheer Force", - "H": "Tinted Lens" + "0": "Healer", + "1": "Hydration", + "H": "Regenerator" }, - "heightm": 1.7, - "weightkg": 43.4, - "color": "White", - "prevo": "Rufflet", - "evoLevel": 54, + "heightm": 1.2, + "weightkg": 31.6, + "color": "Pink", "eggGroups": [ - "Flying" + "Water 1", + "Water 2" ] }, - "vullaby": { - "num": 629, - "name": "vullaby", + "joltik": { + "num": 595, + "name": "joltik", "types": [ - "dark", - "flying" + "bug", + "electric" ], - "gender": "F", "baseStats": { - "hp": 70, - "attack": 55, - "defense": 75, - "special-attack": 45, - "special-defense": 65, - "speed": 60 + "hp": 50, + "attack": 47, + "defense": 50, + "special-attack": 57, + "special-defense": 50, + "speed": 65 }, "abilities": { - "0": "Big Pecks", - "1": "Overcoat", - "H": "Weak Armor" + "0": "Compound Eyes", + "1": "Unnerve", + "H": "Swarm" }, - "heightm": 0.5, - "weightkg": 9, - "color": "Brown", + "heightm": 0.1, + "weightkg": 0.6, + "color": "Yellow", "evos": [ - "Mandibuzz" + "Galvantula" ], "eggGroups": [ - "Flying" + "Bug" ] }, - "mandibuzz": { - "num": 630, - "name": "mandibuzz", + "galvantula": { + "num": 596, + "name": "galvantula", "types": [ - "dark", - "flying" + "bug", + "electric" ], - "gender": "F", "baseStats": { - "hp": 110, - "attack": 65, - "defense": 105, - "special-attack": 55, - "special-defense": 95, - "speed": 80 + "hp": 70, + "attack": 77, + "defense": 60, + "special-attack": 97, + "special-defense": 60, + "speed": 108 }, "abilities": { - "0": "Big Pecks", - "1": "Overcoat", - "H": "Weak Armor" + "0": "Compound Eyes", + "1": "Unnerve", + "H": "Swarm" }, - "heightm": 1.2, - "weightkg": 39.5, - "color": "Brown", - "prevo": "Vullaby", - "evoLevel": 54, + "heightm": 0.8, + "weightkg": 14.3, + "color": "Yellow", + "prevo": "Joltik", + "evoLevel": 36, "eggGroups": [ - "Flying" + "Bug" ] }, - "heatmor": { - "num": 631, - "name": "heatmor", + "ferroseed": { + "num": 597, + "name": "ferroseed", "types": [ - "fire" + "grass", + "steel" ], "baseStats": { - "hp": 85, - "attack": 97, - "defense": 66, - "special-attack": 105, - "special-defense": 66, - "speed": 65 + "hp": 44, + "attack": 50, + "defense": 91, + "special-attack": 24, + "special-defense": 86, + "speed": 10 }, "abilities": { - "0": "Gluttony", - "1": "Flash Fire", - "H": "White Smoke" + "0": "Iron Barbs" }, - "heightm": 1.4, - "weightkg": 58, - "color": "Red", + "heightm": 0.6, + "weightkg": 18.8, + "color": "Gray", + "evos": [ + "Ferrothorn" + ], "eggGroups": [ - "Field" + "Grass", + "Mineral" ] }, - "durant": { - "num": 632, - "name": "durant", + "ferrothorn": { + "num": 598, + "name": "ferrothorn", "types": [ - "bug", + "grass", "steel" ], "baseStats": { - "hp": 58, - "attack": 109, - "defense": 112, - "special-attack": 48, - "special-defense": 48, - "speed": 109 + "hp": 74, + "attack": 94, + "defense": 131, + "special-attack": 54, + "special-defense": 116, + "speed": 20 }, "abilities": { - "0": "Swarm", - "1": "Hustle", - "H": "Truant" + "0": "Iron Barbs", + "H": "Anticipation" }, - "heightm": 0.3, - "weightkg": 33, + "heightm": 1, + "weightkg": 110, "color": "Gray", + "prevo": "Ferroseed", + "evoLevel": 40, "eggGroups": [ - "Bug" + "Grass", + "Mineral" ] }, - "deino": { - "num": 633, - "name": "deino", + "klink": { + "num": 599, + "name": "klink", "types": [ - "dark", - "dragon" + "steel" ], + "gender": "N", "baseStats": { - "hp": 52, - "attack": 65, - "defense": 50, + "hp": 40, + "attack": 55, + "defense": 70, "special-attack": 45, - "special-defense": 50, - "speed": 38 + "special-defense": 60, + "speed": 30 }, "abilities": { - "0": "Hustle" + "0": "Plus", + "1": "Minus", + "H": "Clear Body" }, - "heightm": 0.8, - "weightkg": 17.3, - "color": "Blue", + "heightm": 0.3, + "weightkg": 21, + "color": "Gray", "evos": [ - "Zweilous" + "Klang" ], "eggGroups": [ - "Dragon" + "Mineral" ] }, - "zweilous": { - "num": 634, - "name": "zweilous", + "klang": { + "num": 600, + "name": "klang", "types": [ - "dark", - "dragon" + "steel" ], + "gender": "N", "baseStats": { - "hp": 72, - "attack": 85, - "defense": 70, - "special-attack": 65, - "special-defense": 70, - "speed": 58 + "hp": 60, + "attack": 80, + "defense": 95, + "special-attack": 70, + "special-defense": 85, + "speed": 50 }, "abilities": { - "0": "Hustle" + "0": "Plus", + "1": "Minus", + "H": "Clear Body" }, - "heightm": 1.4, - "weightkg": 50, - "color": "Blue", - "prevo": "Deino", - "evoLevel": 50, + "heightm": 0.6, + "weightkg": 51, + "color": "Gray", + "prevo": "Klink", + "evoLevel": 38, "evos": [ - "Hydreigon" + "Klinklang" ], "eggGroups": [ - "Dragon" + "Mineral" ] }, - "hydreigon": { - "num": 635, - "name": "hydreigon", + "klinklang": { + "num": 601, + "name": "klinklang", "types": [ - "dark", - "dragon" + "steel" ], + "gender": "N", "baseStats": { - "hp": 92, - "attack": 105, - "defense": 90, - "special-attack": 125, - "special-defense": 90, - "speed": 98 + "hp": 60, + "attack": 100, + "defense": 115, + "special-attack": 70, + "special-defense": 85, + "speed": 90 + }, + "abilities": { + "0": "Plus", + "1": "Minus", + "H": "Clear Body" + }, + "heightm": 0.6, + "weightkg": 81, + "color": "Gray", + "prevo": "Klang", + "evoLevel": 49, + "eggGroups": [ + "Mineral" + ] + }, + "tynamo": { + "num": 602, + "name": "tynamo", + "types": [ + "electric" + ], + "baseStats": { + "hp": 35, + "attack": 55, + "defense": 40, + "special-attack": 45, + "special-defense": 40, + "speed": 60 }, "abilities": { "0": "Levitate" }, - "heightm": 1.8, - "weightkg": 160, - "color": "Blue", - "prevo": "Zweilous", - "evoLevel": 64, + "heightm": 0.2, + "weightkg": 0.3, + "color": "White", + "evos": [ + "Eelektrik" + ], "eggGroups": [ - "Dragon" + "Amorphous" ] }, - "larvesta": { - "num": 636, - "name": "larvesta", + "eelektrik": { + "num": 603, + "name": "eelektrik", "types": [ - "bug", - "fire" + "electric" ], "baseStats": { - "hp": 55, + "hp": 65, "attack": 85, - "defense": 55, - "special-attack": 50, - "special-defense": 55, - "speed": 60 + "defense": 70, + "special-attack": 75, + "special-defense": 70, + "speed": 40 }, "abilities": { - "0": "Flame Body", - "H": "Swarm" + "0": "Levitate" }, - "heightm": 1.1, - "weightkg": 28.8, - "color": "White", + "heightm": 1.2, + "weightkg": 22, + "color": "Blue", + "prevo": "Tynamo", + "evoLevel": 39, "evos": [ - "Volcarona" + "Eelektross" ], "eggGroups": [ - "Bug" + "Amorphous" ] }, - "volcarona": { - "num": 637, - "name": "volcarona", + "eelektross": { + "num": 604, + "name": "eelektross", "types": [ - "bug", - "fire" + "electric" ], "baseStats": { "hp": 85, - "attack": 60, - "defense": 65, - "special-attack": 135, - "special-defense": 105, - "speed": 100 + "attack": 115, + "defense": 80, + "special-attack": 105, + "special-defense": 80, + "speed": 50 }, "abilities": { - "0": "Flame Body", - "H": "Swarm" + "0": "Levitate" }, - "heightm": 1.6, - "weightkg": 46, - "color": "White", - "prevo": "Larvesta", - "evoLevel": 59, + "heightm": 2.1, + "weightkg": 80.5, + "color": "Blue", + "prevo": "Eelektrik", + "evoType": "useItem", + "evoItem": "Thunder Stone", "eggGroups": [ - "Bug" + "Amorphous" ] }, - "cobalion": { - "num": 638, - "name": "cobalion", + "elgyem": { + "num": 605, + "name": "elgyem", "types": [ - "steel", - "fighting" + "psychic" ], - "gender": "N", "baseStats": { - "hp": 91, - "attack": 90, - "defense": 129, - "special-attack": 90, - "special-defense": 72, - "speed": 108 + "hp": 55, + "attack": 55, + "defense": 55, + "special-attack": 85, + "special-defense": 55, + "speed": 30 }, "abilities": { - "0": "Justified" + "0": "Telepathy", + "1": "Synchronize", + "H": "Analytic" }, - "heightm": 2.1, - "weightkg": 250, + "heightm": 0.5, + "weightkg": 9, "color": "Blue", - "tags": [ - "Sub-Legendary" + "evos": [ + "Beheeyem" ], "eggGroups": [ - "Undiscovered" + "Human-Like" ] }, - "terrakion": { - "num": 639, - "name": "terrakion", + "beheeyem": { + "num": 606, + "name": "beheeyem", "types": [ - "rock", - "fighting" + "psychic" ], - "gender": "N", "baseStats": { - "hp": 91, - "attack": 129, - "defense": 90, - "special-attack": 72, - "special-defense": 90, - "speed": 108 + "hp": 75, + "attack": 75, + "defense": 75, + "special-attack": 125, + "special-defense": 95, + "speed": 40 }, "abilities": { - "0": "Justified" + "0": "Telepathy", + "1": "Synchronize", + "H": "Analytic" }, - "heightm": 1.9, - "weightkg": 260, - "color": "Gray", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1, + "weightkg": 34.5, + "color": "Brown", + "prevo": "Elgyem", + "evoLevel": 42, "eggGroups": [ - "Undiscovered" + "Human-Like" ] }, - "virizion": { - "num": 640, - "name": "virizion", + "litwick": { + "num": 607, + "name": "litwick", "types": [ - "grass", - "fighting" + "ghost", + "fire" ], - "gender": "N", "baseStats": { - "hp": 91, - "attack": 90, - "defense": 72, - "special-attack": 90, - "special-defense": 129, - "speed": 108 + "hp": 50, + "attack": 30, + "defense": 55, + "special-attack": 65, + "special-defense": 55, + "speed": 20 }, "abilities": { - "0": "Justified" + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" }, - "heightm": 2, - "weightkg": 200, - "color": "Green", - "tags": [ - "Sub-Legendary" + "heightm": 0.3, + "weightkg": 3.1, + "color": "White", + "evos": [ + "Lampent" ], "eggGroups": [ - "Undiscovered" + "Amorphous" ] }, - "tornadus": { - "num": 641, - "name": "tornadus", - "baseForme": "Incarnate", + "lampent": { + "num": 608, + "name": "lampent", "types": [ - "flying" + "ghost", + "fire" ], - "gender": "M", "baseStats": { - "hp": 79, - "attack": 115, - "defense": 70, - "special-attack": 125, - "special-defense": 80, - "speed": 111 + "hp": 60, + "attack": 40, + "defense": 60, + "special-attack": 95, + "special-defense": 60, + "speed": 55 }, "abilities": { - "0": "Prankster", - "H": "Defiant" + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" }, - "heightm": 1.5, - "weightkg": 63, - "color": "Green", - "tags": [ - "Sub-Legendary" + "heightm": 0.6, + "weightkg": 13, + "color": "Black", + "prevo": "Litwick", + "evoLevel": 41, + "evos": [ + "Chandelure" ], "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Tornadus-Therian" - ], - "formeOrder": [ - "Tornadus", - "Tornadus-Therian" + "Amorphous" ] }, - "tornadustherian": { - "num": 641, - "name": "tornadus-therian", - "baseSpecies": "Tornadus", - "forme": "Therian", + "chandelure": { + "num": 609, + "name": "chandelure", "types": [ - "flying" + "ghost", + "fire" ], - "gender": "M", "baseStats": { - "hp": 79, - "attack": 100, - "defense": 80, - "special-attack": 110, + "hp": 60, + "attack": 55, + "defense": 90, + "special-attack": 145, "special-defense": 90, - "speed": 121 + "speed": 80 }, "abilities": { - "0": "Regenerator" + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" }, - "heightm": 1.4, - "weightkg": 63, - "color": "Green", + "heightm": 1, + "weightkg": 34.3, + "color": "Black", + "prevo": "Lampent", + "evoType": "useItem", + "evoItem": "Dusk Stone", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Tornadus" + "Amorphous" + ] }, - "thundurus": { - "num": 642, - "name": "thundurus", - "baseForme": "Incarnate", + "axew": { + "num": 610, + "name": "axew", "types": [ - "electric", - "flying" + "dragon" ], - "gender": "M", "baseStats": { - "hp": 79, - "attack": 115, - "defense": 70, - "special-attack": 125, - "special-defense": 80, - "speed": 111 + "hp": 46, + "attack": 87, + "defense": 60, + "special-attack": 30, + "special-defense": 40, + "speed": 57 }, "abilities": { - "0": "Prankster", - "H": "Defiant" + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" }, - "heightm": 1.5, - "weightkg": 61, - "color": "Blue", - "tags": [ - "Sub-Legendary" + "heightm": 0.6, + "weightkg": 18, + "color": "Green", + "evos": [ + "Fraxure" ], "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Thundurus-Therian" - ], - "formeOrder": [ - "Thundurus", - "Thundurus-Therian" + "Monster", + "Dragon" ] }, - "thundurustherian": { - "num": 642, - "name": "thundurus-therian", - "baseSpecies": "Thundurus", - "forme": "Therian", + "fraxure": { + "num": 611, + "name": "fraxure", "types": [ - "electric", - "flying" + "dragon" ], - "gender": "M", "baseStats": { - "hp": 79, - "attack": 105, + "hp": 66, + "attack": 117, "defense": 70, - "special-attack": 145, - "special-defense": 80, - "speed": 101 - }, - "abilities": { - "0": "Volt Absorb" - }, - "heightm": 3, - "weightkg": 61, - "color": "Blue", - "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Thundurus" - }, - "reshiram": { - "num": 643, - "name": "reshiram", - "types": [ - "dragon", - "fire" - ], - "gender": "N", - "baseStats": { - "hp": 100, - "attack": 120, - "defense": 100, - "special-attack": 150, - "special-defense": 120, - "speed": 90 + "special-attack": 40, + "special-defense": 50, + "speed": 67 }, "abilities": { - "0": "Turboblaze" + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" }, - "heightm": 3.2, - "weightkg": 330, - "color": "White", - "tags": [ - "Restricted Legendary" + "heightm": 1, + "weightkg": 36, + "color": "Green", + "prevo": "Axew", + "evoLevel": 38, + "evos": [ + "Haxorus" ], "eggGroups": [ - "Undiscovered" + "Monster", + "Dragon" ] }, - "zekrom": { - "num": 644, - "name": "zekrom", + "haxorus": { + "num": 612, + "name": "haxorus", "types": [ - "dragon", - "electric" + "dragon" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 150, - "defense": 120, - "special-attack": 120, - "special-defense": 100, - "speed": 90 + "hp": 76, + "attack": 147, + "defense": 90, + "special-attack": 60, + "special-defense": 70, + "speed": 97 }, "abilities": { - "0": "Teravolt" + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" }, - "heightm": 2.9, - "weightkg": 345, - "color": "Black", - "tags": [ - "Restricted Legendary" - ], + "heightm": 1.8, + "weightkg": 105.5, + "color": "Yellow", + "prevo": "Fraxure", + "evoLevel": 48, "eggGroups": [ - "Undiscovered" + "Monster", + "Dragon" ] }, - "landorus": { - "num": 645, - "name": "landorus", - "baseForme": "Incarnate", + "cubchoo": { + "num": 613, + "name": "cubchoo", "types": [ - "ground", - "flying" + "ice" ], - "gender": "M", "baseStats": { - "hp": 89, - "attack": 125, - "defense": 90, - "special-attack": 115, - "special-defense": 80, - "speed": 101 + "hp": 55, + "attack": 70, + "defense": 40, + "special-attack": 60, + "special-defense": 40, + "speed": 40 }, "abilities": { - "0": "Sand Force", - "H": "Sheer Force" + "0": "Snow Cloak", + "1": "Slush Rush", + "H": "Rattled" }, - "heightm": 1.5, - "weightkg": 68, - "color": "Brown", - "tags": [ - "Sub-Legendary" + "heightm": 0.5, + "weightkg": 8.5, + "color": "White", + "evos": [ + "Beartic" ], "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Landorus-Therian" - ], - "formeOrder": [ - "Landorus", - "Landorus-Therian" + "Field" ] }, - "landorustherian": { - "num": 645, - "name": "landorus-therian", - "baseSpecies": "Landorus", - "forme": "Therian", + "beartic": { + "num": 614, + "name": "beartic", "types": [ - "ground", - "flying" + "ice" ], - "gender": "M", "baseStats": { - "hp": 89, - "attack": 145, - "defense": 90, - "special-attack": 105, + "hp": 95, + "attack": 130, + "defense": 80, + "special-attack": 70, "special-defense": 80, - "speed": 91 + "speed": 50 }, "abilities": { - "0": "Intimidate" + "0": "Snow Cloak", + "1": "Slush Rush", + "H": "Swift Swim" }, - "heightm": 1.3, - "weightkg": 68, - "color": "Brown", + "heightm": 2.6, + "weightkg": 260, + "color": "White", + "prevo": "Cubchoo", + "evoLevel": 37, "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Landorus" + "Field" + ] }, - "kyurem": { - "num": 646, - "name": "kyurem", + "cryogonal": { + "num": 615, + "name": "cryogonal", "types": [ - "dragon", "ice" ], "gender": "N", "baseStats": { - "hp": 125, - "attack": 130, - "defense": 90, - "special-attack": 130, - "special-defense": 90, - "speed": 95 + "hp": 80, + "attack": 50, + "defense": 50, + "special-attack": 95, + "special-defense": 135, + "speed": 105 }, "abilities": { - "0": "Pressure" + "0": "Levitate" }, - "heightm": 3, - "weightkg": 325, - "color": "Gray", + "heightm": 1.1, + "weightkg": 148, + "color": "Blue", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" - ], - "otherFormes": [ - "Kyurem-Black", - "Kyurem-White" - ], - "formeOrder": [ - "Kyurem", - "Kyurem-White", - "Kyurem-Black" + "Mineral" ] }, - "kyuremblack": { - "num": 646, - "name": "kyurem-black", - "baseSpecies": "Kyurem", - "forme": "Black", + "shelmet": { + "num": 616, + "name": "shelmet", "types": [ - "dragon", - "ice" + "bug" ], - "gender": "N", "baseStats": { - "hp": 125, - "attack": 170, - "defense": 100, - "special-attack": 120, - "special-defense": 90, - "speed": 95 + "hp": 50, + "attack": 40, + "defense": 85, + "special-attack": 40, + "special-defense": 65, + "speed": 25 }, "abilities": { - "0": "Teravolt" + "0": "Hydration", + "1": "Shell Armor", + "H": "Overcoat" }, - "heightm": 3.3, - "weightkg": 325, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.4, + "weightkg": 7.7, + "color": "Red", + "evos": [ + "Accelgor" ], - "changesFrom": "Kyurem" + "eggGroups": [ + "Bug" + ] }, - "kyuremwhite": { - "num": 646, - "name": "kyurem-white", - "baseSpecies": "Kyurem", - "forme": "White", + "accelgor": { + "num": 617, + "name": "accelgor", "types": [ - "dragon", - "ice" + "bug" ], - "gender": "N", "baseStats": { - "hp": 125, - "attack": 120, - "defense": 90, - "special-attack": 170, - "special-defense": 100, - "speed": 95 + "hp": 80, + "attack": 70, + "defense": 40, + "special-attack": 100, + "special-defense": 60, + "speed": 145 }, "abilities": { - "0": "Turboblaze" + "0": "Hydration", + "1": "Sticky Hold", + "H": "Unburden" }, - "heightm": 3.6, - "weightkg": 325, - "color": "Gray", + "heightm": 0.8, + "weightkg": 25.3, + "color": "Red", + "prevo": "Shelmet", + "evoType": "trade", + "evoCondition": "with a Karrablast", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Kyurem" + "Bug" + ] }, - "keldeo": { - "num": 647, - "name": "keldeo", - "baseForme": "Ordinary", + "stunfisk": { + "num": 618, + "name": "stunfisk", "types": [ - "water", - "fighting" + "ground", + "electric" ], - "gender": "N", "baseStats": { - "hp": 91, - "attack": 72, - "defense": 90, - "special-attack": 129, - "special-defense": 90, - "speed": 108 + "hp": 109, + "attack": 66, + "defense": 84, + "special-attack": 81, + "special-defense": 99, + "speed": 32 }, "abilities": { - "0": "Justified" + "0": "Static", + "1": "Limber", + "H": "Sand Veil" }, - "heightm": 1.4, - "weightkg": 48.5, - "color": "Yellow", + "heightm": 0.7, + "weightkg": 11, + "color": "Brown", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" + "Water 1", + "Amorphous" ], "otherFormes": [ - "Keldeo-Resolute" + "Stunfisk-Galar" ], "formeOrder": [ - "Keldeo", - "Keldeo-Resolute" + "Stunfisk", + "Stunfisk-Galar" ] }, - "keldeoresolute": { - "num": 647, - "name": "keldeo-resolute", - "baseSpecies": "Keldeo", - "forme": "Resolute", + "stunfiskgalar": { + "num": 618, + "name": "stunfisk-galar", + "baseSpecies": "Stunfisk", + "forme": "Galar", "types": [ - "water", - "fighting" + "ground", + "steel" ], - "gender": "N", "baseStats": { - "hp": 91, - "attack": 72, - "defense": 90, - "special-attack": 129, - "special-defense": 90, - "speed": 108 + "hp": 109, + "attack": 81, + "defense": 99, + "special-attack": 66, + "special-defense": 84, + "speed": 32 }, "abilities": { - "0": "Justified" + "0": "Mimicry" }, - "heightm": 1.4, - "weightkg": 48.5, - "color": "Yellow", + "heightm": 0.7, + "weightkg": 20.5, + "color": "Green", "eggGroups": [ - "Undiscovered" - ], - "requiredMove": "Secret Sword", - "changesFrom": "Keldeo" + "Water 1", + "Amorphous" + ] }, - "meloetta": { - "num": 648, - "name": "meloetta", - "baseForme": "Aria", + "mienfoo": { + "num": 619, + "name": "mienfoo", "types": [ - "normal", - "psychic" + "fighting" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 77, - "defense": 77, - "special-attack": 128, - "special-defense": 128, - "speed": 90 + "hp": 45, + "attack": 85, + "defense": 50, + "special-attack": 55, + "special-defense": 50, + "speed": 65 }, "abilities": { - "0": "Serene Grace" + "0": "Inner Focus", + "1": "Regenerator", + "H": "Reckless" }, - "heightm": 0.6, - "weightkg": 6.5, - "color": "White", - "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" - ], - "otherFormes": [ - "Meloetta-Pirouette" + "heightm": 0.9, + "weightkg": 20, + "color": "Yellow", + "evos": [ + "Mienshao" ], - "formeOrder": [ - "Meloetta", - "Meloetta-Pirouette" + "eggGroups": [ + "Field", + "Human-Like" ] }, - "meloettapirouette": { - "num": 648, - "name": "meloetta-pirouette", - "baseSpecies": "Meloetta", - "forme": "Pirouette", + "mienshao": { + "num": 620, + "name": "mienshao", "types": [ - "normal", "fighting" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 128, - "defense": 90, - "special-attack": 77, - "special-defense": 77, - "speed": 128 + "hp": 65, + "attack": 125, + "defense": 60, + "special-attack": 95, + "special-defense": 60, + "speed": 105 }, "abilities": { - "0": "Serene Grace" + "0": "Inner Focus", + "1": "Regenerator", + "H": "Reckless" }, - "heightm": 0.6, - "weightkg": 6.5, - "color": "White", + "heightm": 1.4, + "weightkg": 35.5, + "color": "Purple", + "prevo": "Mienfoo", + "evoLevel": 50, "eggGroups": [ - "Undiscovered" - ], - "requiredMove": "Relic Song", - "battleOnly": "Meloetta" + "Field", + "Human-Like" + ] }, - "genesect": { - "num": 649, - "name": "genesect", + "druddigon": { + "num": 621, + "name": "druddigon", "types": [ - "bug", - "steel" + "dragon" ], - "gender": "N", "baseStats": { - "hp": 71, + "hp": 77, "attack": 120, - "defense": 95, - "special-attack": 120, - "special-defense": 95, - "speed": 99 + "defense": 90, + "special-attack": 60, + "special-defense": 90, + "speed": 48 }, "abilities": { - "0": "Download" + "0": "Rough Skin", + "1": "Sheer Force", + "H": "Mold Breaker" }, - "heightm": 1.5, - "weightkg": 82.5, - "color": "Purple", + "heightm": 1.6, + "weightkg": 139, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" + "Monster", + "Dragon" + ] + }, + "golett": { + "num": 622, + "name": "golett", + "types": [ + "ground", + "ghost" ], - "otherFormes": [ - "Genesect-Douse", - "Genesect-Shock", - "Genesect-Burn", - "Genesect-Chill" + "gender": "N", + "baseStats": { + "hp": 59, + "attack": 74, + "defense": 50, + "special-attack": 35, + "special-defense": 50, + "speed": 35 + }, + "abilities": { + "0": "Iron Fist", + "1": "Klutz", + "H": "No Guard" + }, + "heightm": 1, + "weightkg": 92, + "color": "Green", + "evos": [ + "Golurk" ], - "formeOrder": [ - "Genesect", - "Genesect-Douse", - "Genesect-Shock", - "Genesect-Burn", - "Genesect-Chill" + "eggGroups": [ + "Mineral" ] }, - "genesectdouse": { - "num": 649, - "name": "genesect-douse", - "baseSpecies": "Genesect", - "forme": "Douse", + "golurk": { + "num": 623, + "name": "golurk", "types": [ - "bug", - "steel" + "ground", + "ghost" ], "gender": "N", "baseStats": { - "hp": 71, - "attack": 120, - "defense": 95, - "special-attack": 120, - "special-defense": 95, - "speed": 99 + "hp": 89, + "attack": 124, + "defense": 80, + "special-attack": 55, + "special-defense": 80, + "speed": 55 }, "abilities": { - "0": "Download" + "0": "Iron Fist", + "1": "Klutz", + "H": "No Guard" }, - "heightm": 1.5, - "weightkg": 82.5, - "color": "Purple", + "heightm": 2.8, + "weightkg": 330, + "color": "Green", + "prevo": "Golett", + "evoLevel": 43, "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Douse Drive", - "changesFrom": "Genesect" + "Mineral" + ] }, - "genesectshock": { - "num": 649, - "name": "genesect-shock", - "baseSpecies": "Genesect", - "forme": "Shock", + "pawniard": { + "num": 624, + "name": "pawniard", "types": [ - "bug", + "dark", "steel" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 120, - "defense": 95, - "special-attack": 120, - "special-defense": 95, - "speed": 99 + "hp": 45, + "attack": 85, + "defense": 70, + "special-attack": 40, + "special-defense": 40, + "speed": 60 }, "abilities": { - "0": "Download" + "0": "Defiant", + "1": "Inner Focus", + "H": "Pressure" }, - "heightm": 1.5, - "weightkg": 82.5, - "color": "Purple", - "eggGroups": [ - "Undiscovered" + "heightm": 0.5, + "weightkg": 10.2, + "color": "Red", + "evos": [ + "Bisharp" ], - "requiredItem": "Shock Drive", - "changesFrom": "Genesect" + "eggGroups": [ + "Human-Like" + ] }, - "genesectburn": { - "num": 649, - "name": "genesect-burn", - "baseSpecies": "Genesect", - "forme": "Burn", + "bisharp": { + "num": 625, + "name": "bisharp", "types": [ - "bug", + "dark", "steel" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 120, - "defense": 95, - "special-attack": 120, - "special-defense": 95, - "speed": 99 + "hp": 65, + "attack": 125, + "defense": 100, + "special-attack": 60, + "special-defense": 70, + "speed": 70 }, "abilities": { - "0": "Download" + "0": "Defiant", + "1": "Inner Focus", + "H": "Pressure" }, - "heightm": 1.5, - "weightkg": 82.5, - "color": "Purple", - "eggGroups": [ - "Undiscovered" + "heightm": 1.6, + "weightkg": 70, + "color": "Red", + "prevo": "Pawniard", + "evoLevel": 52, + "evos": [ + "Kingambit" ], - "requiredItem": "Burn Drive", - "changesFrom": "Genesect" + "eggGroups": [ + "Human-Like" + ] }, - "genesectchill": { - "num": 649, - "name": "genesect-chill", - "baseSpecies": "Genesect", - "forme": "Chill", + "bouffalant": { + "num": 626, + "name": "bouffalant", "types": [ - "bug", - "steel" + "normal" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 120, + "hp": 95, + "attack": 110, "defense": 95, - "special-attack": 120, + "special-attack": 40, "special-defense": 95, - "speed": 99 + "speed": 55 }, "abilities": { - "0": "Download" + "0": "Reckless", + "1": "Sap Sipper", + "H": "Soundproof" }, - "heightm": 1.5, - "weightkg": 82.5, - "color": "Purple", + "heightm": 1.6, + "weightkg": 94.6, + "color": "Brown", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Chill Drive", - "changesFrom": "Genesect" + "Field" + ] }, - "chespin": { - "num": 650, - "name": "chespin", + "rufflet": { + "num": 627, + "name": "rufflet", "types": [ - "grass" + "normal", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "M", "baseStats": { - "hp": 56, - "attack": 61, - "defense": 65, - "special-attack": 48, - "special-defense": 45, - "speed": 38 + "hp": 70, + "attack": 83, + "defense": 50, + "special-attack": 37, + "special-defense": 50, + "speed": 60 }, "abilities": { - "0": "Overgrow", - "H": "Bulletproof" + "0": "Keen Eye", + "1": "Sheer Force", + "H": "Hustle" }, - "heightm": 0.4, - "weightkg": 9, - "color": "Green", + "heightm": 0.5, + "weightkg": 10.5, + "color": "White", "evos": [ - "Quilladin" + "Braviary", + "Braviary-Hisui" ], "eggGroups": [ - "Field" + "Flying" ] }, - "quilladin": { - "num": 651, - "name": "quilladin", + "braviary": { + "num": 628, + "name": "braviary", "types": [ - "grass" + "normal", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "M", "baseStats": { - "hp": 61, - "attack": 78, - "defense": 95, - "special-attack": 56, - "special-defense": 58, - "speed": 57 + "hp": 100, + "attack": 123, + "defense": 75, + "special-attack": 57, + "special-defense": 75, + "speed": 80 }, "abilities": { - "0": "Overgrow", - "H": "Bulletproof" + "0": "Keen Eye", + "1": "Sheer Force", + "H": "Defiant" }, - "heightm": 0.7, - "weightkg": 29, - "color": "Green", - "prevo": "Chespin", - "evoLevel": 16, - "evos": [ - "Chesnaught" - ], + "heightm": 1.5, + "weightkg": 41, + "color": "Red", + "prevo": "Rufflet", + "evoLevel": 54, "eggGroups": [ - "Field" + "Flying" + ], + "otherFormes": [ + "Braviary-Hisui" + ], + "formeOrder": [ + "Braviary", + "Braviary-Hisui" ] }, - "chesnaught": { - "num": 652, - "name": "chesnaught", + "braviaryhisui": { + "num": 628, + "name": "braviary-hisui", + "baseSpecies": "Braviary", + "forme": "Hisui", "types": [ - "grass", - "fighting" + "psychic", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "M", "baseStats": { - "hp": 88, - "attack": 107, - "defense": 122, - "special-attack": 74, - "special-defense": 75, - "speed": 64 + "hp": 110, + "attack": 83, + "defense": 70, + "special-attack": 112, + "special-defense": 70, + "speed": 65 }, "abilities": { - "0": "Overgrow", - "H": "Bulletproof" + "0": "Keen Eye", + "1": "Sheer Force", + "H": "Tinted Lens" }, - "heightm": 1.6, - "weightkg": 90, - "color": "Green", - "prevo": "Quilladin", - "evoLevel": 36, + "heightm": 1.7, + "weightkg": 43.4, + "color": "White", + "prevo": "Rufflet", + "evoLevel": 54, "eggGroups": [ - "Field" + "Flying" ] }, - "fennekin": { - "num": 653, - "name": "fennekin", + "vullaby": { + "num": 629, + "name": "vullaby", "types": [ - "fire" + "dark", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 40, - "attack": 45, - "defense": 40, - "special-attack": 62, - "special-defense": 60, + "hp": 70, + "attack": 55, + "defense": 75, + "special-attack": 45, + "special-defense": 65, "speed": 60 }, "abilities": { - "0": "Blaze", - "H": "Magician" + "0": "Big Pecks", + "1": "Overcoat", + "H": "Weak Armor" }, - "heightm": 0.4, - "weightkg": 9.4, - "color": "Red", + "heightm": 0.5, + "weightkg": 9, + "color": "Brown", "evos": [ - "Braixen" + "Mandibuzz" ], "eggGroups": [ - "Field" + "Flying" ] }, - "braixen": { - "num": 654, - "name": "braixen", + "mandibuzz": { + "num": 630, + "name": "mandibuzz", "types": [ - "fire" + "dark", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 59, - "attack": 59, - "defense": 58, - "special-attack": 90, - "special-defense": 70, - "speed": 73 + "hp": 110, + "attack": 65, + "defense": 105, + "special-attack": 55, + "special-defense": 95, + "speed": 80 }, "abilities": { - "0": "Blaze", - "H": "Magician" + "0": "Big Pecks", + "1": "Overcoat", + "H": "Weak Armor" }, - "heightm": 1, - "weightkg": 14.5, - "color": "Red", - "prevo": "Fennekin", - "evoLevel": 16, - "evos": [ - "Delphox" - ], + "heightm": 1.2, + "weightkg": 39.5, + "color": "Brown", + "prevo": "Vullaby", + "evoLevel": 54, "eggGroups": [ - "Field" + "Flying" ] }, - "delphox": { - "num": 655, - "name": "delphox", + "heatmor": { + "num": 631, + "name": "heatmor", "types": [ - "fire", - "psychic" + "fire" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 75, - "attack": 69, - "defense": 72, - "special-attack": 114, - "special-defense": 100, - "speed": 104 + "hp": 85, + "attack": 97, + "defense": 66, + "special-attack": 105, + "special-defense": 66, + "speed": 65 }, "abilities": { - "0": "Blaze", - "H": "Magician" + "0": "Gluttony", + "1": "Flash Fire", + "H": "White Smoke" }, - "heightm": 1.5, - "weightkg": 39, + "heightm": 1.4, + "weightkg": 58, "color": "Red", - "prevo": "Braixen", - "evoLevel": 36, "eggGroups": [ "Field" ] }, - "froakie": { - "num": 656, - "name": "froakie", + "durant": { + "num": 632, + "name": "durant", "types": [ - "water" + "bug", + "steel" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 41, - "attack": 56, - "defense": 40, - "special-attack": 62, - "special-defense": 44, - "speed": 71 + "hp": 58, + "attack": 109, + "defense": 112, + "special-attack": 48, + "special-defense": 48, + "speed": 109 }, "abilities": { - "0": "Torrent", - "H": "Protean" + "0": "Swarm", + "1": "Hustle", + "H": "Truant" }, "heightm": 0.3, - "weightkg": 7, - "color": "Blue", - "evos": [ - "Frogadier" - ], + "weightkg": 33, + "color": "Gray", "eggGroups": [ - "Water 1" + "Bug" ] }, - "frogadier": { - "num": 657, - "name": "frogadier", + "deino": { + "num": 633, + "name": "deino", "types": [ - "water" + "dark", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 54, - "attack": 63, - "defense": 52, - "special-attack": 83, - "special-defense": 56, - "speed": 97 + "hp": 52, + "attack": 65, + "defense": 50, + "special-attack": 45, + "special-defense": 50, + "speed": 38 }, "abilities": { - "0": "Torrent", - "H": "Protean" + "0": "Hustle" }, - "heightm": 0.6, - "weightkg": 10.9, + "heightm": 0.8, + "weightkg": 17.3, "color": "Blue", - "prevo": "Froakie", - "evoLevel": 16, "evos": [ - "Greninja" + "Zweilous" ], "eggGroups": [ - "Water 1" + "Dragon" ] }, - "greninja": { - "num": 658, - "name": "greninja", + "zweilous": { + "num": 634, + "name": "zweilous", "types": [ - "water", - "dark" + "dark", + "dragon" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { "hp": 72, - "attack": 95, - "defense": 67, - "special-attack": 103, - "special-defense": 71, - "speed": 122 + "attack": 85, + "defense": 70, + "special-attack": 65, + "special-defense": 70, + "speed": 58 }, "abilities": { - "0": "Torrent", - "H": "Protean", - "S": "Battle Bond" + "0": "Hustle" }, - "heightm": 1.5, - "weightkg": 40, + "heightm": 1.4, + "weightkg": 50, "color": "Blue", - "prevo": "Frogadier", - "evoLevel": 36, - "eggGroups": [ - "Water 1" - ], - "otherFormes": [ - "Greninja-Bond", - "Greninja-Ash" - ], - "formeOrder": [ - "Greninja", - "Greninja-Bond", - "Greninja-Ash" - ] - }, - "greninjabond": { - "num": 658, - "name": "greninja-bond", - "baseSpecies": "Greninja", - "forme": "Bond", - "types": [ - "water", - "dark" + "prevo": "Deino", + "evoLevel": 50, + "evos": [ + "Hydreigon" ], - "gender": "M", - "baseStats": { - "hp": 72, - "attack": 95, - "defense": 67, - "special-attack": 103, - "special-defense": 71, - "speed": 122 - }, - "abilities": { - "0": "Battle Bond" - }, - "heightm": 1.5, - "weightkg": 40, - "color": "Blue", "eggGroups": [ - "Undiscovered" - ], - "gen": 7 + "Dragon" + ] }, - "greninjaash": { - "num": 658, - "name": "greninja-ash", - "baseSpecies": "Greninja", - "forme": "Ash", + "hydreigon": { + "num": 635, + "name": "hydreigon", "types": [ - "water", - "dark" + "dark", + "dragon" ], - "gender": "M", "baseStats": { - "hp": 72, - "attack": 145, - "defense": 67, - "special-attack": 153, - "special-defense": 71, - "speed": 132 + "hp": 92, + "attack": 105, + "defense": 90, + "special-attack": 125, + "special-defense": 90, + "speed": 98 }, "abilities": { - "0": "Battle Bond" + "0": "Levitate" }, - "heightm": 1.5, - "weightkg": 40, + "heightm": 1.8, + "weightkg": 160, "color": "Blue", + "prevo": "Zweilous", + "evoLevel": 64, "eggGroups": [ - "Undiscovered" - ], - "requiredAbility": "Battle Bond", - "battleOnly": "Greninja-Bond", - "gen": 7 + "Dragon" + ] }, - "bunnelby": { - "num": 659, - "name": "bunnelby", + "larvesta": { + "num": 636, + "name": "larvesta", "types": [ - "normal" + "bug", + "fire" ], - "baseStats": { - "hp": 38, - "attack": 36, - "defense": 38, - "special-attack": 32, - "special-defense": 36, - "speed": 57 + "baseStats": { + "hp": 55, + "attack": 85, + "defense": 55, + "special-attack": 50, + "special-defense": 55, + "speed": 60 }, "abilities": { - "0": "Pickup", - "1": "Cheek Pouch", - "H": "Huge Power" + "0": "Flame Body", + "H": "Swarm" }, - "heightm": 0.4, - "weightkg": 5, - "color": "Brown", + "heightm": 1.1, + "weightkg": 28.8, + "color": "White", "evos": [ - "Diggersby" + "Volcarona" ], "eggGroups": [ - "Field" + "Bug" ] }, - "diggersby": { - "num": 660, - "name": "diggersby", + "volcarona": { + "num": 637, + "name": "volcarona", "types": [ - "normal", - "ground" + "bug", + "fire" ], "baseStats": { "hp": 85, - "attack": 56, - "defense": 77, - "special-attack": 50, - "special-defense": 77, - "speed": 78 + "attack": 60, + "defense": 65, + "special-attack": 135, + "special-defense": 105, + "speed": 100 }, "abilities": { - "0": "Pickup", - "1": "Cheek Pouch", - "H": "Huge Power" + "0": "Flame Body", + "H": "Swarm" }, - "heightm": 1, - "weightkg": 42.4, - "color": "Brown", - "prevo": "Bunnelby", - "evoLevel": 20, + "heightm": 1.6, + "weightkg": 46, + "color": "White", + "prevo": "Larvesta", + "evoLevel": 59, "eggGroups": [ - "Field" + "Bug" ] }, - "fletchling": { - "num": 661, - "name": "fletchling", + "cobalion": { + "num": 638, + "name": "cobalion", "types": [ - "normal", - "flying" + "steel", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 45, - "attack": 50, - "defense": 43, - "special-attack": 40, - "special-defense": 38, - "speed": 62 + "hp": 91, + "attack": 90, + "defense": 129, + "special-attack": 90, + "special-defense": 72, + "speed": 108 }, "abilities": { - "0": "Big Pecks", - "H": "Gale Wings" + "0": "Justified" }, - "heightm": 0.3, - "weightkg": 1.7, - "color": "Red", - "evos": [ - "Fletchinder" + "heightm": 2.1, + "weightkg": 250, + "color": "Blue", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Flying" + "Undiscovered" ] }, - "fletchinder": { - "num": 662, - "name": "fletchinder", + "terrakion": { + "num": 639, + "name": "terrakion", "types": [ - "fire", - "flying" + "rock", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 62, - "attack": 73, - "defense": 55, - "special-attack": 56, - "special-defense": 52, - "speed": 84 + "hp": 91, + "attack": 129, + "defense": 90, + "special-attack": 72, + "special-defense": 90, + "speed": 108 }, "abilities": { - "0": "Flame Body", - "H": "Gale Wings" + "0": "Justified" }, - "heightm": 0.7, - "weightkg": 16, - "color": "Red", - "prevo": "Fletchling", - "evoLevel": 17, - "evos": [ - "Talonflame" + "heightm": 1.9, + "weightkg": 260, + "color": "Gray", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Flying" + "Undiscovered" ] }, - "talonflame": { - "num": 663, - "name": "talonflame", + "virizion": { + "num": 640, + "name": "virizion", "types": [ - "fire", - "flying" + "grass", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 78, - "attack": 81, - "defense": 71, - "special-attack": 74, - "special-defense": 69, - "speed": 126 + "hp": 91, + "attack": 90, + "defense": 72, + "special-attack": 90, + "special-defense": 129, + "speed": 108 }, "abilities": { - "0": "Flame Body", - "H": "Gale Wings" + "0": "Justified" }, - "heightm": 1.2, - "weightkg": 24.5, - "color": "Red", - "prevo": "Fletchinder", - "evoLevel": 35, + "heightm": 2, + "weightkg": 200, + "color": "Green", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Flying" + "Undiscovered" ] }, - "scatterbug": { - "num": 664, - "name": "scatterbug", + "tornadus": { + "num": 641, + "name": "tornadus", + "baseForme": "Incarnate", "types": [ - "bug" + "flying" ], + "gender": "M", "baseStats": { - "hp": 38, - "attack": 35, - "defense": 40, - "special-attack": 27, - "special-defense": 25, - "speed": 35 + "hp": 79, + "attack": 115, + "defense": 70, + "special-attack": 125, + "special-defense": 80, + "speed": 111 }, "abilities": { - "0": "Shield Dust", - "1": "Compound Eyes", - "H": "Friend Guard" + "0": "Prankster", + "H": "Defiant" }, - "heightm": 0.3, - "weightkg": 2.5, - "color": "Black", - "evos": [ - "Spewpa" + "heightm": 1.5, + "weightkg": 63, + "color": "Green", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Bug" + "Undiscovered" + ], + "otherFormes": [ + "Tornadus-Therian" + ], + "formeOrder": [ + "Tornadus", + "Tornadus-Therian" ] }, - "spewpa": { - "num": 665, - "name": "spewpa", + "tornadustherian": { + "num": 641, + "name": "tornadus-therian", + "baseSpecies": "Tornadus", + "forme": "Therian", "types": [ - "bug" + "flying" ], + "gender": "M", "baseStats": { - "hp": 45, - "attack": 22, - "defense": 60, - "special-attack": 27, - "special-defense": 30, - "speed": 29 + "hp": 79, + "attack": 100, + "defense": 80, + "special-attack": 110, + "special-defense": 90, + "speed": 121 }, "abilities": { - "0": "Shed Skin", - "H": "Friend Guard" + "0": "Regenerator" }, - "heightm": 0.3, - "weightkg": 8.4, - "color": "Black", - "prevo": "Scatterbug", - "evoLevel": 9, - "evos": [ - "Vivillon", - "Vivillon-Fancy" - ], + "heightm": 1.4, + "weightkg": 63, + "color": "Green", "eggGroups": [ - "Bug" - ] + "Undiscovered" + ], + "changesFrom": "Tornadus" }, - "vivillon": { - "num": 666, - "name": "vivillon", - "baseForme": "Meadow", + "thundurus": { + "num": 642, + "name": "thundurus", + "baseForme": "Incarnate", "types": [ - "bug", + "electric", "flying" ], + "gender": "M", "baseStats": { - "hp": 80, - "attack": 52, - "defense": 50, - "special-attack": 90, - "special-defense": 50, - "speed": 89 + "hp": 79, + "attack": 115, + "defense": 70, + "special-attack": 125, + "special-defense": 80, + "speed": 111 }, "abilities": { - "0": "Shield Dust", - "1": "Compound Eyes", - "H": "Friend Guard" + "0": "Prankster", + "H": "Defiant" }, - "heightm": 1.2, - "weightkg": 17, - "color": "White", - "prevo": "Spewpa", - "evoLevel": 12, + "heightm": 1.5, + "weightkg": 61, + "color": "Blue", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Bug" + "Undiscovered" ], "otherFormes": [ - "Vivillon-Fancy", - "Vivillon-Pokeball" - ], - "cosmeticFormes": [ - "Vivillon-Archipelago", - "Vivillon-Continental", - "Vivillon-Elegant", - "Vivillon-Garden", - "Vivillon-High Plains", - "Vivillon-Icy Snow", - "Vivillon-Jungle", - "Vivillon-Marine", - "Vivillon-Modern", - "Vivillon-Monsoon", - "Vivillon-Ocean", - "Vivillon-Polar", - "Vivillon-River", - "Vivillon-Sandstorm", - "Vivillon-Savanna", - "Vivillon-Sun", - "Vivillon-Tundra" + "Thundurus-Therian" ], "formeOrder": [ - "Vivillon-Icy Snow", - "Vivillon-Polar", - "Vivillon-Tundra", - "Vivillon-Continental", - "Vivillon-Garden", - "Vivillon-Elegant", - "Vivillon", - "Vivillon-Modern", - "Vivillon-Marine", - "Vivillon-Archipelago", - "Vivillon-High Plains", - "Vivillon-Sandstorm", - "Vivillon-River", - "Vivillon-Monsoon", - "Vivillon-Savanna", - "Vivillon-Sun", - "Vivillon-Ocean", - "Vivillon-Jungle", - "Vivillon-Fancy", - "Vivillon-Pokeball" + "Thundurus", + "Thundurus-Therian" ] }, - "vivillonfancy": { - "num": 666, - "name": "vivillon-fancy", - "baseSpecies": "Vivillon", - "forme": "Fancy", + "thundurustherian": { + "num": 642, + "name": "thundurus-therian", + "baseSpecies": "Thundurus", + "forme": "Therian", "types": [ - "bug", + "electric", "flying" ], + "gender": "M", "baseStats": { - "hp": 80, - "attack": 52, - "defense": 50, - "special-attack": 90, - "special-defense": 50, - "speed": 89 + "hp": 79, + "attack": 105, + "defense": 70, + "special-attack": 145, + "special-defense": 80, + "speed": 101 }, "abilities": { - "0": "Shield Dust", - "1": "Compound Eyes", - "H": "Friend Guard" + "0": "Volt Absorb" }, - "heightm": 1.2, - "weightkg": 17, - "color": "Black", - "prevo": "Spewpa", - "evoLevel": 12, + "heightm": 3, + "weightkg": 61, + "color": "Blue", "eggGroups": [ - "Bug" + "Undiscovered" + ], + "changesFrom": "Thundurus" + }, + "reshiram": { + "num": 643, + "name": "reshiram", + "types": [ + "dragon", + "fire" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "attack": 120, + "defense": 100, + "special-attack": 150, + "special-defense": 120, + "speed": 90 + }, + "abilities": { + "0": "Turboblaze" + }, + "heightm": 3.2, + "weightkg": 330, + "color": "White", + "tags": [ + "Restricted Legendary" + ], + "eggGroups": [ + "Undiscovered" ] }, - "vivillonpokeball": { - "num": 666, - "name": "vivillon-pokeball", - "baseSpecies": "Vivillon", - "forme": "Pokeball", + "zekrom": { + "num": 644, + "name": "zekrom", "types": [ - "bug", - "flying" + "dragon", + "electric" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 52, - "defense": 50, - "special-attack": 90, - "special-defense": 50, - "speed": 89 + "hp": 100, + "attack": 150, + "defense": 120, + "special-attack": 120, + "special-defense": 100, + "speed": 90 }, "abilities": { - "0": "Shield Dust", - "1": "Compound Eyes", - "H": "Friend Guard" + "0": "Teravolt" }, - "heightm": 1.2, - "weightkg": 17, + "heightm": 2.9, + "weightkg": 345, "color": "Black", + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "litleo": { - "num": 667, - "name": "litleo", + "landorus": { + "num": 645, + "name": "landorus", + "baseForme": "Incarnate", "types": [ - "fire", - "normal" + "ground", + "flying" ], - "genderRatio": { - "M": 0.125, - "F": 0.875 - }, + "gender": "M", "baseStats": { - "hp": 62, - "attack": 50, - "defense": 58, - "special-attack": 73, - "special-defense": 54, - "speed": 72 + "hp": 89, + "attack": 125, + "defense": 90, + "special-attack": 115, + "special-defense": 80, + "speed": 101 }, "abilities": { - "0": "Rivalry", - "1": "Unnerve", - "H": "Moxie" + "0": "Sand Force", + "H": "Sheer Force" }, - "heightm": 0.6, - "weightkg": 13.5, + "heightm": 1.5, + "weightkg": 68, "color": "Brown", - "evos": [ - "Pyroar" + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Field" + "Undiscovered" + ], + "otherFormes": [ + "Landorus-Therian" + ], + "formeOrder": [ + "Landorus", + "Landorus-Therian" ] }, - "pyroar": { - "num": 668, - "name": "pyroar", + "landorustherian": { + "num": 645, + "name": "landorus-therian", + "baseSpecies": "Landorus", + "forme": "Therian", "types": [ - "fire", - "normal" + "ground", + "flying" ], - "genderRatio": { - "M": 0.125, - "F": 0.875 - }, + "gender": "M", "baseStats": { - "hp": 86, - "attack": 68, - "defense": 72, - "special-attack": 109, - "special-defense": 66, - "speed": 106 + "hp": 89, + "attack": 145, + "defense": 90, + "special-attack": 105, + "special-defense": 80, + "speed": 91 }, "abilities": { - "0": "Rivalry", - "1": "Unnerve", - "H": "Moxie" + "0": "Intimidate" }, - "heightm": 1.5, - "weightkg": 81.5, + "heightm": 1.3, + "weightkg": 68, "color": "Brown", - "prevo": "Litleo", - "evoLevel": 35, "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "changesFrom": "Landorus" }, - "flabebe": { - "num": 669, - "name": "flabe\u0301be\u0301", - "baseForme": "Red", + "kyurem": { + "num": 646, + "name": "kyurem", "types": [ - "fairy" + "dragon", + "ice" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 44, - "attack": 38, - "defense": 39, - "special-attack": 61, - "special-defense": 79, - "speed": 42 + "hp": 125, + "attack": 130, + "defense": 90, + "special-attack": 130, + "special-defense": 90, + "speed": 95 }, "abilities": { - "0": "Flower Veil", - "H": "Symbiosis" + "0": "Pressure" }, - "heightm": 0.1, - "weightkg": 0.1, - "color": "White", - "evos": [ - "Floette" - ], + "heightm": 3, + "weightkg": 325, + "color": "Gray", "eggGroups": [ - "Fairy" + "Undiscovered" ], - "cosmeticFormes": [ - "Flabe\u0301be\u0301-Blue", - "Flabe\u0301be\u0301-Orange", - "Flabe\u0301be\u0301-White", - "Flabe\u0301be\u0301-Yellow" + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Kyurem-Black", + "Kyurem-White" ], "formeOrder": [ - "Flabe\u0301be\u0301", - "Flabe\u0301be\u0301-Blue", - "Flabe\u0301be\u0301-Orange", - "Flabe\u0301be\u0301-White", - "Flabe\u0301be\u0301-Yellow" + "Kyurem", + "Kyurem-White", + "Kyurem-Black" ] }, - "floette": { - "num": 670, - "name": "floette", - "baseForme": "Red", + "kyuremblack": { + "num": 646, + "name": "kyurem-black", + "baseSpecies": "Kyurem", + "forme": "Black", "types": [ - "fairy" + "dragon", + "ice" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 54, - "attack": 45, - "defense": 47, - "special-attack": 75, - "special-defense": 98, - "speed": 52 + "hp": 125, + "attack": 170, + "defense": 100, + "special-attack": 120, + "special-defense": 90, + "speed": 95 }, "abilities": { - "0": "Flower Veil", - "H": "Symbiosis" + "0": "Teravolt" }, - "heightm": 0.2, - "weightkg": 0.9, - "color": "White", - "prevo": "Flabe\u0301be\u0301", - "evoLevel": 19, - "evos": [ - "Florges" - ], + "heightm": 3.3, + "weightkg": 325, + "color": "Gray", "eggGroups": [ - "Fairy" - ], - "otherFormes": [ - "Floette-Eternal" - ], - "cosmeticFormes": [ - "Floette-Blue", - "Floette-Orange", - "Floette-White", - "Floette-Yellow" + "Undiscovered" ], - "formeOrder": [ - "Floette", - "Floette-Blue", - "Floette-Orange", - "Floette-White", - "Floette-Yellow", - "Floette-Eternal" - ] + "changesFrom": "Kyurem" }, - "floetteeternal": { - "num": 670, - "name": "floette-eternal", - "baseSpecies": "Floette", - "forme": "Eternal", + "kyuremwhite": { + "num": 646, + "name": "kyurem-white", + "baseSpecies": "Kyurem", + "forme": "White", "types": [ - "fairy" + "dragon", + "ice" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 74, - "attack": 65, - "defense": 67, - "special-attack": 125, - "special-defense": 128, - "speed": 92 + "hp": 125, + "attack": 120, + "defense": 90, + "special-attack": 170, + "special-defense": 100, + "speed": 95 }, "abilities": { - "0": "Flower Veil" + "0": "Turboblaze" }, - "heightm": 0.2, - "weightkg": 0.9, - "color": "White", + "heightm": 3.6, + "weightkg": 325, + "color": "Gray", "eggGroups": [ "Undiscovered" - ] + ], + "changesFrom": "Kyurem" }, - "florges": { - "num": 671, - "name": "florges", - "baseForme": "Red", + "keldeo": { + "num": 647, + "name": "keldeo", + "baseForme": "Ordinary", "types": [ - "fairy" + "water", + "fighting" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 78, - "attack": 65, - "defense": 68, - "special-attack": 112, - "special-defense": 154, - "speed": 75 + "hp": 91, + "attack": 72, + "defense": 90, + "special-attack": 129, + "special-defense": 90, + "speed": 108 }, "abilities": { - "0": "Flower Veil", - "H": "Symbiosis" + "0": "Justified" }, - "heightm": 1.1, - "weightkg": 10, - "color": "White", - "prevo": "Floette", - "evoType": "useItem", - "evoItem": "Shiny Stone", + "heightm": 1.4, + "weightkg": 48.5, + "color": "Yellow", "eggGroups": [ - "Fairy" + "Undiscovered" ], - "cosmeticFormes": [ - "Florges-Blue", - "Florges-Orange", - "Florges-White", - "Florges-Yellow" + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Keldeo-Resolute" ], "formeOrder": [ - "Florges", - "Florges-Blue", - "Florges-Orange", - "Florges-White", - "Florges-Yellow" + "Keldeo", + "Keldeo-Resolute" ] }, - "skiddo": { - "num": 672, - "name": "skiddo", + "keldeoresolute": { + "num": 647, + "name": "keldeo-resolute", + "baseSpecies": "Keldeo", + "forme": "Resolute", "types": [ - "grass" + "water", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 66, - "attack": 65, - "defense": 48, - "special-attack": 62, - "special-defense": 57, - "speed": 52 + "hp": 91, + "attack": 72, + "defense": 90, + "special-attack": 129, + "special-defense": 90, + "speed": 108 }, "abilities": { - "0": "Sap Sipper", - "H": "Grass Pelt" + "0": "Justified" }, - "heightm": 0.9, - "weightkg": 31, - "color": "Brown", - "evos": [ - "Gogoat" - ], + "heightm": 1.4, + "weightkg": 48.5, + "color": "Yellow", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredMove": "Secret Sword", + "changesFrom": "Keldeo" }, - "gogoat": { - "num": 673, - "name": "gogoat", + "meloetta": { + "num": 648, + "name": "meloetta", + "baseForme": "Aria", "types": [ - "grass" + "normal", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 123, - "attack": 100, - "defense": 62, - "special-attack": 97, - "special-defense": 81, - "speed": 68 + "hp": 100, + "attack": 77, + "defense": 77, + "special-attack": 128, + "special-defense": 128, + "speed": 90 }, "abilities": { - "0": "Sap Sipper", - "H": "Grass Pelt" + "0": "Serene Grace" }, - "heightm": 1.7, - "weightkg": 91, - "color": "Brown", - "prevo": "Skiddo", - "evoLevel": 32, + "heightm": 0.6, + "weightkg": 6.5, + "color": "White", "eggGroups": [ - "Field" + "Undiscovered" + ], + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Meloetta-Pirouette" + ], + "formeOrder": [ + "Meloetta", + "Meloetta-Pirouette" ] }, - "pancham": { - "num": 674, - "name": "pancham", + "meloettapirouette": { + "num": 648, + "name": "meloetta-pirouette", + "baseSpecies": "Meloetta", + "forme": "Pirouette", "types": [ + "normal", "fighting" ], + "gender": "N", "baseStats": { - "hp": 67, - "attack": 82, - "defense": 62, - "special-attack": 46, - "special-defense": 48, - "speed": 43 + "hp": 100, + "attack": 128, + "defense": 90, + "special-attack": 77, + "special-defense": 77, + "speed": 128 }, "abilities": { - "0": "Iron Fist", - "1": "Mold Breaker", - "H": "Scrappy" + "0": "Serene Grace" }, "heightm": 0.6, - "weightkg": 8, + "weightkg": 6.5, "color": "White", - "evos": [ - "Pangoro" - ], "eggGroups": [ - "Field", - "Human-Like" - ] + "Undiscovered" + ], + "requiredMove": "Relic Song", + "battleOnly": "Meloetta" }, - "pangoro": { - "num": 675, - "name": "pangoro", + "genesect": { + "num": 649, + "name": "genesect", "types": [ - "fighting", - "dark" + "bug", + "steel" ], + "gender": "N", "baseStats": { - "hp": 95, - "attack": 124, - "defense": 78, - "special-attack": 69, - "special-defense": 71, - "speed": 58 + "hp": 71, + "attack": 120, + "defense": 95, + "special-attack": 120, + "special-defense": 95, + "speed": 99 }, "abilities": { - "0": "Iron Fist", - "1": "Mold Breaker", - "H": "Scrappy" + "0": "Download" }, - "heightm": 2.1, - "weightkg": 136, - "color": "White", - "prevo": "Pancham", - "evoLevel": 32, - "evoCondition": "with a Dark-type in the party", + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", "eggGroups": [ - "Field", - "Human-Like" + "Undiscovered" + ], + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Genesect-Douse", + "Genesect-Shock", + "Genesect-Burn", + "Genesect-Chill" + ], + "formeOrder": [ + "Genesect", + "Genesect-Douse", + "Genesect-Shock", + "Genesect-Burn", + "Genesect-Chill" ] }, - "furfrou": { - "num": 676, - "name": "furfrou", - "baseForme": "Natural", + "genesectdouse": { + "num": 649, + "name": "genesect-douse", + "baseSpecies": "Genesect", + "forme": "Douse", "types": [ - "normal" + "bug", + "steel" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 80, - "defense": 60, - "special-attack": 65, - "special-defense": 90, - "speed": 102 + "hp": 71, + "attack": 120, + "defense": 95, + "special-attack": 120, + "special-defense": 95, + "speed": 99 }, "abilities": { - "0": "Fur Coat" + "0": "Download" }, - "heightm": 1.2, - "weightkg": 28, - "color": "White", + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", "eggGroups": [ - "Field" - ], - "cosmeticFormes": [ - "Furfrou-Dandy", - "Furfrou-Debutante", - "Furfrou-Diamond", - "Furfrou-Heart", - "Furfrou-Kabuki", - "Furfrou-La Reine", - "Furfrou-Matron", - "Furfrou-Pharaoh", - "Furfrou-Star" + "Undiscovered" ], - "formeOrder": [ - "Furfrou", - "Furfrou-Heart", - "Furfrou-Star", - "Furfrou-Diamond", - "Furfrou-Debutante", - "Furfrou-Matron", - "Furfrou-Dandy", - "Furfrou-La Reine", - "Furfrou-Kabuki", - "Furfrou-Pharaoh" - ] + "requiredItem": "Douse Drive", + "changesFrom": "Genesect" }, - "espurr": { - "num": 677, - "name": "espurr", + "genesectshock": { + "num": 649, + "name": "genesect-shock", + "baseSpecies": "Genesect", + "forme": "Shock", "types": [ - "psychic" + "bug", + "steel" ], + "gender": "N", "baseStats": { - "hp": 62, - "attack": 48, - "defense": 54, - "special-attack": 63, - "special-defense": 60, - "speed": 68 + "hp": 71, + "attack": 120, + "defense": 95, + "special-attack": 120, + "special-defense": 95, + "speed": 99 }, "abilities": { - "0": "Keen Eye", - "1": "Infiltrator", - "H": "Own Tempo" + "0": "Download" }, - "heightm": 0.3, - "weightkg": 3.5, - "color": "Gray", - "evos": [ - "Meowstic", - "Meowstic-F" - ], + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Shock Drive", + "changesFrom": "Genesect" }, - "meowstic": { - "num": 678, - "name": "meowstic", - "baseForme": "M", + "genesectburn": { + "num": 649, + "name": "genesect-burn", + "baseSpecies": "Genesect", + "forme": "Burn", "types": [ - "psychic" + "bug", + "steel" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 74, - "attack": 48, - "defense": 76, - "special-attack": 83, - "special-defense": 81, - "speed": 104 + "hp": 71, + "attack": 120, + "defense": 95, + "special-attack": 120, + "special-defense": 95, + "speed": 99 }, "abilities": { - "0": "Keen Eye", - "1": "Infiltrator", - "H": "Prankster" + "0": "Download" }, - "heightm": 0.6, - "weightkg": 8.5, - "color": "Blue", - "prevo": "Espurr", - "evoLevel": 25, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Meowstic-F" + "Undiscovered" ], - "formeOrder": [ - "Meowstic", - "Meowstic-F" - ] + "requiredItem": "Burn Drive", + "changesFrom": "Genesect" }, - "meowsticf": { - "num": 678, - "name": "meowstic-f", - "baseSpecies": "Meowstic", - "forme": "F", + "genesectchill": { + "num": 649, + "name": "genesect-chill", + "baseSpecies": "Genesect", + "forme": "Chill", "types": [ - "psychic" + "bug", + "steel" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 74, - "attack": 48, - "defense": 76, - "special-attack": 83, - "special-defense": 81, - "speed": 104 + "hp": 71, + "attack": 120, + "defense": 95, + "special-attack": 120, + "special-defense": 95, + "speed": 99 }, "abilities": { - "0": "Keen Eye", - "1": "Infiltrator", - "H": "Competitive" + "0": "Download" }, - "heightm": 0.6, - "weightkg": 8.5, - "color": "White", - "prevo": "Espurr", - "evoLevel": 25, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Chill Drive", + "changesFrom": "Genesect" }, - "honedge": { - "num": 679, - "name": "honedge", + "chespin": { + "num": 650, + "name": "chespin", "types": [ - "steel", - "ghost" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 45, - "attack": 80, - "defense": 100, - "special-attack": 35, - "special-defense": 37, - "speed": 28 + "hp": 56, + "attack": 61, + "defense": 65, + "special-attack": 48, + "special-defense": 45, + "speed": 38 }, "abilities": { - "0": "No Guard" + "0": "Overgrow", + "H": "Bulletproof" }, - "heightm": 0.8, - "weightkg": 2, - "color": "Brown", + "heightm": 0.4, + "weightkg": 9, + "color": "Green", "evos": [ - "Doublade" + "Quilladin" ], "eggGroups": [ - "Mineral" + "Field" ] }, - "doublade": { - "num": 680, - "name": "doublade", + "quilladin": { + "num": 651, + "name": "quilladin", "types": [ - "steel", - "ghost" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 59, - "attack": 110, - "defense": 150, - "special-attack": 45, - "special-defense": 49, - "speed": 35 + "hp": 61, + "attack": 78, + "defense": 95, + "special-attack": 56, + "special-defense": 58, + "speed": 57 }, "abilities": { - "0": "No Guard" + "0": "Overgrow", + "H": "Bulletproof" }, - "heightm": 0.8, - "weightkg": 4.5, - "color": "Brown", - "prevo": "Honedge", - "evoLevel": 35, + "heightm": 0.7, + "weightkg": 29, + "color": "Green", + "prevo": "Chespin", + "evoLevel": 16, "evos": [ - "Aegislash" + "Chesnaught" ], "eggGroups": [ - "Mineral" + "Field" ] }, - "aegislash": { - "num": 681, - "name": "aegislash", - "baseForme": "Shield", + "chesnaught": { + "num": 652, + "name": "chesnaught", "types": [ - "steel", - "ghost" + "grass", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 50, - "defense": 140, - "special-attack": 50, - "special-defense": 140, - "speed": 60 + "hp": 88, + "attack": 107, + "defense": 122, + "special-attack": 74, + "special-defense": 75, + "speed": 64 }, "abilities": { - "0": "Stance Change" + "0": "Overgrow", + "H": "Bulletproof" }, - "heightm": 1.7, - "weightkg": 53, - "color": "Brown", - "prevo": "Doublade", - "evoType": "useItem", - "evoItem": "Dusk Stone", + "heightm": 1.6, + "weightkg": 90, + "color": "Green", + "prevo": "Quilladin", + "evoLevel": 36, "eggGroups": [ - "Mineral" - ], - "otherFormes": [ - "Aegislash-Blade" - ], - "formeOrder": [ - "Aegislash", - "Aegislash-Blade" + "Field" ] }, - "aegislashblade": { - "num": 681, - "name": "aegislash-blade", - "baseSpecies": "Aegislash", - "forme": "Blade", + "fennekin": { + "num": 653, + "name": "fennekin", "types": [ - "steel", - "ghost" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 140, - "defense": 50, - "special-attack": 140, - "special-defense": 50, + "hp": 40, + "attack": 45, + "defense": 40, + "special-attack": 62, + "special-defense": 60, "speed": 60 }, "abilities": { - "0": "Stance Change" + "0": "Blaze", + "H": "Magician" }, - "heightm": 1.7, - "weightkg": 53, - "color": "Brown", - "eggGroups": [ - "Mineral" + "heightm": 0.4, + "weightkg": 9.4, + "color": "Red", + "evos": [ + "Braixen" ], - "requiredAbility": "Stance Change", - "battleOnly": "Aegislash" + "eggGroups": [ + "Field" + ] }, - "spritzee": { - "num": 682, - "name": "spritzee", + "braixen": { + "num": 654, + "name": "braixen", "types": [ - "fairy" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 78, - "attack": 52, - "defense": 60, - "special-attack": 63, - "special-defense": 65, - "speed": 23 + "hp": 59, + "attack": 59, + "defense": 58, + "special-attack": 90, + "special-defense": 70, + "speed": 73 }, "abilities": { - "0": "Healer", - "H": "Aroma Veil" + "0": "Blaze", + "H": "Magician" }, - "heightm": 0.2, - "weightkg": 0.5, - "color": "Pink", + "heightm": 1, + "weightkg": 14.5, + "color": "Red", + "prevo": "Fennekin", + "evoLevel": 16, "evos": [ - "Aromatisse" + "Delphox" ], "eggGroups": [ - "Fairy" + "Field" ] }, - "aromatisse": { - "num": 683, - "name": "aromatisse", + "delphox": { + "num": 655, + "name": "delphox", "types": [ - "fairy" + "fire", + "psychic" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 101, - "attack": 72, + "hp": 75, + "attack": 69, "defense": 72, - "special-attack": 99, - "special-defense": 89, - "speed": 29 + "special-attack": 114, + "special-defense": 100, + "speed": 104 }, "abilities": { - "0": "Healer", - "H": "Aroma Veil" + "0": "Blaze", + "H": "Magician" }, - "heightm": 0.8, - "weightkg": 15.5, - "color": "Pink", - "prevo": "Spritzee", - "evoType": "trade", - "evoItem": "Sachet", + "heightm": 1.5, + "weightkg": 39, + "color": "Red", + "prevo": "Braixen", + "evoLevel": 36, "eggGroups": [ - "Fairy" + "Field" ] }, - "swirlix": { - "num": 684, - "name": "swirlix", + "froakie": { + "num": 656, + "name": "froakie", "types": [ - "fairy" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 62, - "attack": 48, - "defense": 66, - "special-attack": 59, - "special-defense": 57, - "speed": 49 + "hp": 41, + "attack": 56, + "defense": 40, + "special-attack": 62, + "special-defense": 44, + "speed": 71 }, "abilities": { - "0": "Sweet Veil", - "H": "Unburden" + "0": "Torrent", + "H": "Protean" }, - "heightm": 0.4, - "weightkg": 3.5, - "color": "White", + "heightm": 0.3, + "weightkg": 7, + "color": "Blue", "evos": [ - "Slurpuff" + "Frogadier" ], "eggGroups": [ - "Fairy" + "Water 1" ] }, - "slurpuff": { - "num": 685, - "name": "slurpuff", + "frogadier": { + "num": 657, + "name": "frogadier", "types": [ - "fairy" + "water" ], - "baseStats": { - "hp": 82, - "attack": 80, - "defense": 86, - "special-attack": 85, - "special-defense": 75, - "speed": 72 - }, - "abilities": { - "0": "Sweet Veil", - "H": "Unburden" + "genderRatio": { + "M": 0.875, + "F": 0.125 }, - "heightm": 0.8, - "weightkg": 5, - "color": "White", - "prevo": "Swirlix", - "evoType": "trade", - "evoItem": "Whipped Dream", - "eggGroups": [ - "Fairy" - ] - }, - "inkay": { - "num": 686, - "name": "inkay", - "types": [ - "dark", - "psychic" - ], "baseStats": { - "hp": 53, - "attack": 54, - "defense": 53, - "special-attack": 37, - "special-defense": 46, - "speed": 45 + "hp": 54, + "attack": 63, + "defense": 52, + "special-attack": 83, + "special-defense": 56, + "speed": 97 }, "abilities": { - "0": "Contrary", - "1": "Suction Cups", - "H": "Infiltrator" + "0": "Torrent", + "H": "Protean" }, - "heightm": 0.4, - "weightkg": 3.5, + "heightm": 0.6, + "weightkg": 10.9, "color": "Blue", + "prevo": "Froakie", + "evoLevel": 16, "evos": [ - "Malamar" + "Greninja" ], "eggGroups": [ - "Water 1", - "Water 2" + "Water 1" ] }, - "malamar": { - "num": 687, - "name": "malamar", + "greninja": { + "num": 658, + "name": "greninja", "types": [ - "dark", - "psychic" + "water", + "dark" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 86, - "attack": 92, - "defense": 88, - "special-attack": 68, - "special-defense": 75, - "speed": 73 + "hp": 72, + "attack": 95, + "defense": 67, + "special-attack": 103, + "special-defense": 71, + "speed": 122 }, "abilities": { - "0": "Contrary", - "1": "Suction Cups", - "H": "Infiltrator" + "0": "Torrent", + "H": "Protean", + "S": "Battle Bond" }, "heightm": 1.5, - "weightkg": 47, - "color": "Blue", - "prevo": "Inkay", - "evoLevel": 30, - "evoCondition": "with the console turned upside-down", + "weightkg": 40, + "color": "Blue", + "prevo": "Frogadier", + "evoLevel": 36, "eggGroups": [ - "Water 1", - "Water 2" + "Water 1" + ], + "otherFormes": [ + "Greninja-Bond", + "Greninja-Ash" + ], + "formeOrder": [ + "Greninja", + "Greninja-Bond", + "Greninja-Ash" ] }, - "binacle": { - "num": 688, - "name": "binacle", + "greninjabond": { + "num": 658, + "name": "greninja-bond", + "baseSpecies": "Greninja", + "forme": "Bond", "types": [ - "rock", - "water" + "water", + "dark" ], + "gender": "M", "baseStats": { - "hp": 42, - "attack": 52, + "hp": 72, + "attack": 95, "defense": 67, - "special-attack": 39, - "special-defense": 56, - "speed": 50 + "special-attack": 103, + "special-defense": 71, + "speed": 122 }, "abilities": { - "0": "Tough Claws", - "1": "Sniper", - "H": "Pickpocket" + "0": "Battle Bond" }, - "heightm": 0.5, - "weightkg": 31, - "color": "Brown", - "evos": [ - "Barbaracle" - ], + "heightm": 1.5, + "weightkg": 40, + "color": "Blue", "eggGroups": [ - "Water 3" - ] + "Undiscovered" + ], + "gen": 7 }, - "barbaracle": { - "num": 689, - "name": "barbaracle", + "greninjaash": { + "num": 658, + "name": "greninja-ash", + "baseSpecies": "Greninja", + "forme": "Ash", "types": [ - "rock", - "water" + "water", + "dark" ], + "gender": "M", "baseStats": { "hp": 72, - "attack": 105, - "defense": 115, - "special-attack": 54, - "special-defense": 86, - "speed": 68 + "attack": 145, + "defense": 67, + "special-attack": 153, + "special-defense": 71, + "speed": 132 }, "abilities": { - "0": "Tough Claws", - "1": "Sniper", - "H": "Pickpocket" + "0": "Battle Bond" }, - "heightm": 1.3, - "weightkg": 96, - "color": "Brown", - "prevo": "Binacle", - "evoLevel": 39, + "heightm": 1.5, + "weightkg": 40, + "color": "Blue", "eggGroups": [ - "Water 3" - ] + "Undiscovered" + ], + "requiredAbility": "Battle Bond", + "battleOnly": "Greninja-Bond", + "gen": 7 }, - "skrelp": { - "num": 690, - "name": "skrelp", + "bunnelby": { + "num": 659, + "name": "bunnelby", "types": [ - "poison", - "water" + "normal" ], "baseStats": { - "hp": 50, - "attack": 60, - "defense": 60, - "special-attack": 60, - "special-defense": 60, - "speed": 30 + "hp": 38, + "attack": 36, + "defense": 38, + "special-attack": 32, + "special-defense": 36, + "speed": 57 }, "abilities": { - "0": "Poison Point", - "1": "Poison Touch", - "H": "Adaptability" + "0": "Pickup", + "1": "Cheek Pouch", + "H": "Huge Power" }, - "heightm": 0.5, - "weightkg": 7.3, + "heightm": 0.4, + "weightkg": 5, "color": "Brown", "evos": [ - "Dragalge" + "Diggersby" ], "eggGroups": [ - "Water 1", - "Dragon" + "Field" ] }, - "dragalge": { - "num": 691, - "name": "dragalge", + "diggersby": { + "num": 660, + "name": "diggersby", "types": [ - "poison", - "dragon" + "normal", + "ground" ], "baseStats": { - "hp": 65, - "attack": 75, - "defense": 90, - "special-attack": 97, - "special-defense": 123, - "speed": 44 + "hp": 85, + "attack": 56, + "defense": 77, + "special-attack": 50, + "special-defense": 77, + "speed": 78 }, "abilities": { - "0": "Poison Point", - "1": "Poison Touch", - "H": "Adaptability" + "0": "Pickup", + "1": "Cheek Pouch", + "H": "Huge Power" }, - "heightm": 1.8, - "weightkg": 81.5, + "heightm": 1, + "weightkg": 42.4, "color": "Brown", - "prevo": "Skrelp", - "evoLevel": 48, + "prevo": "Bunnelby", + "evoLevel": 20, "eggGroups": [ - "Water 1", - "Dragon" + "Field" ] }, - "clauncher": { - "num": 692, - "name": "clauncher", + "fletchling": { + "num": 661, + "name": "fletchling", "types": [ - "water" + "normal", + "flying" ], "baseStats": { - "hp": 50, - "attack": 53, - "defense": 62, - "special-attack": 58, - "special-defense": 63, - "speed": 44 + "hp": 45, + "attack": 50, + "defense": 43, + "special-attack": 40, + "special-defense": 38, + "speed": 62 }, "abilities": { - "0": "Mega Launcher" + "0": "Big Pecks", + "H": "Gale Wings" }, - "heightm": 0.5, - "weightkg": 8.3, - "color": "Blue", + "heightm": 0.3, + "weightkg": 1.7, + "color": "Red", "evos": [ - "Clawitzer" + "Fletchinder" ], "eggGroups": [ - "Water 1", - "Water 3" + "Flying" ] }, - "clawitzer": { - "num": 693, - "name": "clawitzer", + "fletchinder": { + "num": 662, + "name": "fletchinder", "types": [ - "water" + "fire", + "flying" ], "baseStats": { - "hp": 71, + "hp": 62, "attack": 73, - "defense": 88, - "special-attack": 120, - "special-defense": 89, - "speed": 59 - }, - "abilities": { - "0": "Mega Launcher" - }, - "heightm": 1.3, - "weightkg": 35.3, - "color": "Blue", - "prevo": "Clauncher", - "evoLevel": 37, - "eggGroups": [ - "Water 1", - "Water 3" - ] - }, - "helioptile": { - "num": 694, - "name": "helioptile", - "types": [ - "electric", - "normal" - ], - "baseStats": { - "hp": 44, - "attack": 38, - "defense": 33, - "special-attack": 61, - "special-defense": 43, - "speed": 70 + "defense": 55, + "special-attack": 56, + "special-defense": 52, + "speed": 84 }, "abilities": { - "0": "Dry Skin", - "1": "Sand Veil", - "H": "Solar Power" + "0": "Flame Body", + "H": "Gale Wings" }, - "heightm": 0.5, - "weightkg": 6, - "color": "Yellow", + "heightm": 0.7, + "weightkg": 16, + "color": "Red", + "prevo": "Fletchling", + "evoLevel": 17, "evos": [ - "Heliolisk" + "Talonflame" ], "eggGroups": [ - "Monster", - "Dragon" + "Flying" ] }, - "heliolisk": { - "num": 695, - "name": "heliolisk", + "talonflame": { + "num": 663, + "name": "talonflame", "types": [ - "electric", - "normal" + "fire", + "flying" ], "baseStats": { - "hp": 62, - "attack": 55, - "defense": 52, - "special-attack": 109, - "special-defense": 94, - "speed": 109 + "hp": 78, + "attack": 81, + "defense": 71, + "special-attack": 74, + "special-defense": 69, + "speed": 126 }, "abilities": { - "0": "Dry Skin", - "1": "Sand Veil", - "H": "Solar Power" + "0": "Flame Body", + "H": "Gale Wings" }, - "heightm": 1, - "weightkg": 21, - "color": "Yellow", - "prevo": "Helioptile", - "evoType": "useItem", - "evoItem": "Sun Stone", + "heightm": 1.2, + "weightkg": 24.5, + "color": "Red", + "prevo": "Fletchinder", + "evoLevel": 35, "eggGroups": [ - "Monster", - "Dragon" + "Flying" ] }, - "tyrunt": { - "num": 696, - "name": "tyrunt", + "scatterbug": { + "num": 664, + "name": "scatterbug", "types": [ - "rock", - "dragon" + "bug" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 58, - "attack": 89, - "defense": 77, - "special-attack": 45, - "special-defense": 45, - "speed": 48 + "hp": 38, + "attack": 35, + "defense": 40, + "special-attack": 27, + "special-defense": 25, + "speed": 35 }, "abilities": { - "0": "Strong Jaw", - "H": "Sturdy" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.8, - "weightkg": 26, - "color": "Brown", + "heightm": 0.3, + "weightkg": 2.5, + "color": "Black", "evos": [ - "Tyrantrum" + "Spewpa" ], "eggGroups": [ - "Monster", - "Dragon" + "Bug" ] }, - "tyrantrum": { - "num": 697, - "name": "tyrantrum", + "spewpa": { + "num": 665, + "name": "spewpa", "types": [ - "rock", - "dragon" + "bug" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 82, - "attack": 121, - "defense": 119, - "special-attack": 69, - "special-defense": 59, - "speed": 71 + "hp": 45, + "attack": 22, + "defense": 60, + "special-attack": 27, + "special-defense": 30, + "speed": 29 }, "abilities": { - "0": "Strong Jaw", - "H": "Rock Head" + "0": "Shed Skin", + "H": "Friend Guard" }, - "heightm": 2.5, - "weightkg": 270, - "color": "Red", - "prevo": "Tyrunt", - "evoLevel": 39, - "evoCondition": "during the day", + "heightm": 0.3, + "weightkg": 8.4, + "color": "Black", + "prevo": "Scatterbug", + "evoLevel": 9, + "evos": [ + "Vivillon", + "Vivillon-Fancy" + ], "eggGroups": [ - "Monster", - "Dragon" + "Bug" ] }, - "amaura": { - "num": 698, - "name": "amaura", + "vivillon": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "rock", - "ice" + "bug", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 77, - "attack": 59, + "hp": 80, + "attack": 52, "defense": 50, - "special-attack": 67, - "special-defense": 63, - "speed": 46 + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Refrigerate", - "H": "Snow Warning" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1.3, - "weightkg": 25.2, - "color": "Blue", - "evos": [ - "Aurorus" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Monster" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "aurorus": { - "num": 699, - "name": "aurorus", + "vivillonarchipelago": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "rock", - "ice" + "bug", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 123, - "attack": 77, - "defense": 72, - "special-attack": 99, - "special-defense": 92, - "speed": 58 + "baseStats": { + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Refrigerate", - "H": "Snow Warning" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 2.7, - "weightkg": 225, - "color": "Blue", - "prevo": "Amaura", - "evoLevel": 39, - "evoCondition": "at night", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Monster" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "sylveon": { - "num": 700, - "name": "sylveon", + "vivilloncontinental": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "fairy" + "bug", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 95, - "attack": 65, - "defense": 65, - "special-attack": 110, - "special-defense": 130, - "speed": 60 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Cute Charm", - "H": "Pixilate" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1, - "weightkg": 23.5, - "color": "Pink", - "prevo": "Eevee", - "evoType": "levelExtra", - "evoCondition": "with a Fairy-type move and two levels of Affection", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Field" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "hawlucha": { - "num": 701, - "name": "hawlucha", + "vivillonelegant": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "fighting", + "bug", "flying" ], "baseStats": { - "hp": 78, - "attack": 92, - "defense": 75, - "special-attack": 74, - "special-defense": 63, - "speed": 118 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Limber", - "1": "Unburden", - "H": "Mold Breaker" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.8, - "weightkg": 21.5, - "color": "Green", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Flying", - "Human-Like" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "dedenne": { - "num": 702, - "name": "dedenne", + "vivillongarden": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "electric", - "fairy" + "bug", + "flying" ], "baseStats": { - "hp": 67, - "attack": 58, - "defense": 57, - "special-attack": 81, - "special-defense": 67, - "speed": 101 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Cheek Pouch", - "1": "Pickup", - "H": "Plus" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.2, - "weightkg": 2.2, - "color": "Yellow", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Field", - "Fairy" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "carbink": { - "num": 703, - "name": "carbink", + "vivillonhighplains": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "rock", - "fairy" + "bug", + "flying" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 50, - "defense": 150, - "special-attack": 50, - "special-defense": 150, - "speed": 50 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Clear Body", - "H": "Sturdy" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.3, - "weightkg": 5.7, - "color": "Gray", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Fairy", - "Mineral" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "goomy": { - "num": 704, - "name": "goomy", + "vivillonicysnow": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "dragon" + "bug", + "flying" ], "baseStats": { - "hp": 45, - "attack": 50, - "defense": 35, - "special-attack": 55, - "special-defense": 75, - "speed": 40 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Sap Sipper", - "1": "Hydration", - "H": "Gooey" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.3, - "weightkg": 2.8, - "color": "Purple", - "evos": [ - "Sliggoo", - "Sliggoo-Hisui" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Dragon" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "sliggoo": { - "num": 705, - "name": "sliggoo", + "vivillonjungle": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "dragon" + "bug", + "flying" ], "baseStats": { - "hp": 68, - "attack": 75, - "defense": 53, - "special-attack": 83, - "special-defense": 113, - "speed": 60 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Sap Sipper", - "1": "Hydration", - "H": "Gooey" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.8, - "weightkg": 17.5, - "color": "Purple", - "prevo": "Goomy", - "evoLevel": 40, - "evos": [ - "Goodra" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Dragon" + "Bug" ], "otherFormes": [ - "Sliggoo-Hisui" + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" ], "formeOrder": [ - "Sliggoo", - "Sliggoo-Hisui" + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "sliggoohisui": { - "num": 705, - "name": "sliggoo-hisui", - "baseSpecies": "Sliggoo", - "forme": "Hisui", + "vivillonmarine": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "steel", - "dragon" + "bug", + "flying" ], "baseStats": { - "hp": 58, - "attack": 75, - "defense": 83, - "special-attack": 83, - "special-defense": 113, - "speed": 40 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Sap Sipper", - "1": "Shell Armor", - "H": "Gooey" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.7, - "weightkg": 68.5, - "color": "Purple", - "prevo": "Goomy", - "evoLevel": 40, - "evos": [ - "Goodra-Hisui" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Dragon" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "goodra": { - "num": 706, - "name": "goodra", + "vivillonmodern": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "dragon" + "bug", + "flying" ], "baseStats": { - "hp": 90, - "attack": 100, - "defense": 70, - "special-attack": 110, - "special-defense": 150, - "speed": 80 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Sap Sipper", - "1": "Hydration", - "H": "Gooey" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 2, - "weightkg": 150.5, - "color": "Purple", - "prevo": "Sliggoo", - "evoLevel": 50, - "evoCondition": "during rain", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Dragon" + "Bug" ], "otherFormes": [ - "Goodra-Hisui" + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" ], "formeOrder": [ - "Goodra", - "Goodra-Hisui" + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "goodrahisui": { - "num": 706, - "name": "goodra-hisui", - "baseSpecies": "Goodra", - "forme": "Hisui", + "vivillonmonsoon": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "steel", - "dragon" + "bug", + "flying" ], "baseStats": { "hp": 80, - "attack": 100, - "defense": 100, - "special-attack": 110, - "special-defense": 150, - "speed": 60 + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Sap Sipper", - "1": "Shell Armor", - "H": "Gooey" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1.7, - "weightkg": 334.1, - "color": "Purple", - "prevo": "Sliggoo-Hisui", - "evoLevel": 50, - "evoCondition": "during rain", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Dragon" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "klefki": { - "num": 707, - "name": "klefki", + "vivillonocean": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "steel", - "fairy" + "bug", + "flying" ], "baseStats": { - "hp": 57, - "attack": 80, - "defense": 91, - "special-attack": 80, - "special-defense": 87, - "speed": 75 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Prankster", - "H": "Magician" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.2, - "weightkg": 3, - "color": "Gray", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Mineral" - ] - }, - "phantump": { - "num": 708, - "name": "phantump", - "types": [ - "ghost", - "grass" + "Bug" ], - "baseStats": { - "hp": 43, - "attack": 70, - "defense": 48, - "special-attack": 50, - "special-defense": 60, - "speed": 38 - }, - "abilities": { - "0": "Natural Cure", - "1": "Frisk", - "H": "Harvest" - }, - "heightm": 0.4, - "weightkg": 7, - "color": "Brown", - "evos": [ - "Trevenant" + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" ], - "eggGroups": [ - "Grass", - "Amorphous" + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "trevenant": { - "num": 709, - "name": "trevenant", + "vivillonpolar": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 85, - "attack": 110, - "defense": 76, - "special-attack": 65, - "special-defense": 82, - "speed": 56 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Natural Cure", - "1": "Frisk", - "H": "Harvest" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1.5, - "weightkg": 71, - "color": "Brown", - "prevo": "Phantump", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Grass", - "Amorphous" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "pumpkaboo": { - "num": 710, - "name": "pumpkaboo", - "baseForme": "Average", + "vivillonriver": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 49, - "attack": 66, - "defense": 70, - "special-attack": 44, - "special-defense": 55, - "speed": 51 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.4, - "weightkg": 5, - "color": "Brown", - "evos": [ - "Gourgeist" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" + "Bug" ], "otherFormes": [ - "Pumpkaboo-Small", - "Pumpkaboo-Large", - "Pumpkaboo-Super" + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" ], "formeOrder": [ - "Pumpkaboo", - "Pumpkaboo-Small", - "Pumpkaboo-Large", - "Pumpkaboo-Super" + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "pumpkaboosmall": { - "num": 710, - "name": "pumpkaboo-small", - "baseSpecies": "Pumpkaboo", - "forme": "Small", + "vivillonsandstorm": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 44, - "attack": 66, - "defense": 70, - "special-attack": 44, - "special-defense": 55, - "speed": 56 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.3, - "weightkg": 3.5, - "color": "Brown", - "evos": [ - "Gourgeist-Small" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" - ] - }, - "pumpkaboolarge": { - "num": 710, - "name": "pumpkaboo-large", - "baseSpecies": "Pumpkaboo", - "forme": "Large", - "types": [ - "ghost", - "grass" + "Bug" ], - "baseStats": { - "hp": 54, - "attack": 66, - "defense": 70, - "special-attack": 44, - "special-defense": 55, - "speed": 46 - }, - "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" - }, - "heightm": 0.5, - "weightkg": 7.5, - "color": "Brown", - "evos": [ - "Gourgeist-Large" + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" ], - "eggGroups": [ - "Amorphous" + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "pumpkaboosuper": { - "num": 710, - "name": "pumpkaboo-super", - "baseSpecies": "Pumpkaboo", - "forme": "Super", + "vivillonsavanna": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 59, - "attack": 66, - "defense": 70, - "special-attack": 44, - "special-defense": 55, - "speed": 41 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.8, - "weightkg": 15, - "color": "Brown", - "evos": [ - "Gourgeist-Super" - ], + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "gourgeist": { - "num": 711, - "name": "gourgeist", - "baseForme": "Average", + "vivillonsun": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 65, - "attack": 90, - "defense": 122, - "special-attack": 58, - "special-defense": 75, - "speed": 84 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.9, - "weightkg": 12.5, - "color": "Brown", - "prevo": "Pumpkaboo", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" + "Bug" ], "otherFormes": [ - "Gourgeist-Small", - "Gourgeist-Large", - "Gourgeist-Super" + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" ], "formeOrder": [ - "Gourgeist", - "Gourgeist-Small", - "Gourgeist-Large", - "Gourgeist-Super" + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "gourgeistsmall": { - "num": 711, - "name": "gourgeist-small", - "baseSpecies": "Gourgeist", - "forme": "Small", + "vivillontundra": { + "num": 666, + "name": "vivillon", + "baseForme": "Meadow", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 55, - "attack": 85, - "defense": 122, - "special-attack": 58, - "special-defense": 75, - "speed": 99 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 0.7, - "weightkg": 9.5, - "color": "Brown", - "prevo": "Pumpkaboo-Small", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 17, + "color": "White", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" + "Bug" + ], + "otherFormes": [ + "Vivillon-Fancy", + "Vivillon-Pokeball" + ], + "cosmeticFormes": [ + "Vivillon-Archipelago", + "Vivillon-Continental", + "Vivillon-Elegant", + "Vivillon-Garden", + "Vivillon-High Plains", + "Vivillon-Icy Snow", + "Vivillon-Jungle", + "Vivillon-Marine", + "Vivillon-Modern", + "Vivillon-Monsoon", + "Vivillon-Ocean", + "Vivillon-Polar", + "Vivillon-River", + "Vivillon-Sandstorm", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Tundra" + ], + "formeOrder": [ + "Vivillon-Icy Snow", + "Vivillon-Polar", + "Vivillon-Tundra", + "Vivillon-Continental", + "Vivillon-Garden", + "Vivillon-Elegant", + "Vivillon", + "Vivillon-Modern", + "Vivillon-Marine", + "Vivillon-Archipelago", + "Vivillon-High Plains", + "Vivillon-Sandstorm", + "Vivillon-River", + "Vivillon-Monsoon", + "Vivillon-Savanna", + "Vivillon-Sun", + "Vivillon-Ocean", + "Vivillon-Jungle", + "Vivillon-Fancy", + "Vivillon-Pokeball" ] }, - "gourgeistlarge": { - "num": 711, - "name": "gourgeist-large", - "baseSpecies": "Gourgeist", - "forme": "Large", + "vivillonfancy": { + "num": 666, + "name": "vivillon-fancy", + "baseSpecies": "Vivillon", + "forme": "Fancy", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 75, - "attack": 95, - "defense": 122, - "special-attack": 58, - "special-defense": 75, - "speed": 69 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1.1, - "weightkg": 14, - "color": "Brown", - "prevo": "Pumpkaboo-Large", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 17, + "color": "Black", + "prevo": "Spewpa", + "evoLevel": 12, "eggGroups": [ - "Amorphous" + "Bug" ] }, - "gourgeistsuper": { - "num": 711, - "name": "gourgeist-super", - "baseSpecies": "Gourgeist", - "forme": "Super", + "vivillonpokeball": { + "num": 666, + "name": "vivillon-pokeball", + "baseSpecies": "Vivillon", + "forme": "Pokeball", "types": [ - "ghost", - "grass" + "bug", + "flying" ], "baseStats": { - "hp": 85, - "attack": 100, - "defense": 122, - "special-attack": 58, - "special-defense": 75, - "speed": 54 + "hp": 80, + "attack": 52, + "defense": 50, + "special-attack": 90, + "special-defense": 50, + "speed": 89 }, "abilities": { - "0": "Pickup", - "1": "Frisk", - "H": "Insomnia" + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" }, - "heightm": 1.7, - "weightkg": 39, - "color": "Brown", - "prevo": "Pumpkaboo-Super", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 17, + "color": "Black", "eggGroups": [ - "Amorphous" + "Bug" ] }, - "bergmite": { - "num": 712, - "name": "bergmite", + "litleo": { + "num": 667, + "name": "litleo", "types": [ - "ice" + "fire", + "normal" ], + "genderRatio": { + "M": 0.125, + "F": 0.875 + }, "baseStats": { - "hp": 55, - "attack": 69, - "defense": 85, - "special-attack": 32, - "special-defense": 35, - "speed": 28 + "hp": 62, + "attack": 50, + "defense": 58, + "special-attack": 73, + "special-defense": 54, + "speed": 72 }, "abilities": { - "0": "Own Tempo", - "1": "Ice Body", - "H": "Sturdy" + "0": "Rivalry", + "1": "Unnerve", + "H": "Moxie" }, - "heightm": 1, - "weightkg": 99.5, - "color": "Blue", + "heightm": 0.6, + "weightkg": 13.5, + "color": "Brown", "evos": [ - "Avalugg", - "Avalugg-Hisui" + "Pyroar" ], "eggGroups": [ - "Monster", - "Mineral" + "Field" ] }, - "avalugg": { - "num": 713, - "name": "avalugg", + "pyroar": { + "num": 668, + "name": "pyroar", "types": [ - "ice" + "fire", + "normal" ], + "genderRatio": { + "M": 0.125, + "F": 0.875 + }, "baseStats": { - "hp": 95, - "attack": 117, - "defense": 184, - "special-attack": 44, - "special-defense": 46, - "speed": 28 + "hp": 86, + "attack": 68, + "defense": 72, + "special-attack": 109, + "special-defense": 66, + "speed": 106 }, "abilities": { - "0": "Own Tempo", - "1": "Ice Body", - "H": "Sturdy" + "0": "Rivalry", + "1": "Unnerve", + "H": "Moxie" }, - "heightm": 2, - "weightkg": 505, - "color": "Blue", - "prevo": "Bergmite", - "evoLevel": 37, + "heightm": 1.5, + "weightkg": 81.5, + "color": "Brown", + "prevo": "Litleo", + "evoLevel": 35, "eggGroups": [ - "Monster", - "Mineral" - ], - "otherFormes": [ - "Avalugg-Hisui" - ], - "formeOrder": [ - "Avalugg", - "Avalugg-Hisui" + "Field" ] }, - "avalugghisui": { - "num": 713, - "name": "avalugg-hisui", - "baseSpecies": "Avalugg", - "forme": "Hisui", + "flabebe": { + "num": 669, + "name": "flabe\u0301be\u0301", + "baseForme": "Red", "types": [ - "ice", - "rock" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 95, - "attack": 127, - "defense": 184, - "special-attack": 34, - "special-defense": 36, - "speed": 38 + "hp": 44, + "attack": 38, + "defense": 39, + "special-attack": 61, + "special-defense": 79, + "speed": 42 }, "abilities": { - "0": "Strong Jaw", - "1": "Ice Body", - "H": "Sturdy" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 1.4, - "weightkg": 262.4, - "color": "Blue", - "prevo": "Bergmite", - "evoLevel": 37, + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", + "evos": [ + "Floette" + ], "eggGroups": [ - "Monster", - "Mineral" + "Fairy" + ], + "cosmeticFormes": [ + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" + ], + "formeOrder": [ + "Flabe\u0301be\u0301", + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ] }, - "noibat": { - "num": 714, - "name": "noibat", + "flabebeblue": { + "num": 669, + "name": "flabe\u0301be\u0301", + "baseForme": "Red", "types": [ - "flying", - "dragon" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 40, - "attack": 30, - "defense": 35, - "special-attack": 45, - "special-defense": 40, - "speed": 55 + "hp": 44, + "attack": 38, + "defense": 39, + "special-attack": 61, + "special-defense": 79, + "speed": 42 }, "abilities": { - "0": "Frisk", - "1": "Infiltrator", - "H": "Telepathy" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 0.5, - "weightkg": 8, - "color": "Purple", + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", "evos": [ - "Noivern" + "Floette" ], "eggGroups": [ - "Flying", - "Dragon" + "Fairy" + ], + "cosmeticFormes": [ + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" + ], + "formeOrder": [ + "Flabe\u0301be\u0301", + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ] }, - "noivern": { - "num": 715, - "name": "noivern", + "flabebeorange": { + "num": 669, + "name": "flabe\u0301be\u0301", + "baseForme": "Red", "types": [ - "flying", - "dragon" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 85, - "attack": 70, - "defense": 80, - "special-attack": 97, - "special-defense": 80, - "speed": 123 + "hp": 44, + "attack": 38, + "defense": 39, + "special-attack": 61, + "special-defense": 79, + "speed": 42 }, "abilities": { - "0": "Frisk", - "1": "Infiltrator", - "H": "Telepathy" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 1.5, - "weightkg": 85, - "color": "Purple", - "prevo": "Noibat", - "evoLevel": 48, + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", + "evos": [ + "Floette" + ], "eggGroups": [ - "Flying", - "Dragon" + "Fairy" + ], + "cosmeticFormes": [ + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" + ], + "formeOrder": [ + "Flabe\u0301be\u0301", + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ] }, - "xerneas": { - "num": 716, - "name": "xerneas", - "baseForme": "Active", + "flabebewhite": { + "num": 669, + "name": "flabe\u0301be\u0301", + "baseForme": "Red", "types": [ "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 126, - "attack": 131, - "defense": 95, - "special-attack": 131, - "special-defense": 98, - "speed": 99 + "hp": 44, + "attack": 38, + "defense": 39, + "special-attack": 61, + "special-defense": 79, + "speed": 42 }, "abilities": { - "0": "Fairy Aura" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 3, - "weightkg": 215, - "color": "Blue", - "eggGroups": [ - "Undiscovered" + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", + "evos": [ + "Floette" ], - "tags": [ - "Restricted Legendary" + "eggGroups": [ + "Fairy" ], - "otherFormes": [ - "Xerneas-Neutral" + "cosmeticFormes": [ + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ], "formeOrder": [ - "Xerneas-Neutral", - "Xerneas" + "Flabe\u0301be\u0301", + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ] }, - "xerneasneutral": { - "num": 716, - "name": "xerneas-neutral", - "baseSpecies": "Xerneas", - "forme": "Neutral", + "flabebeyellow": { + "num": 669, + "name": "flabe\u0301be\u0301", + "baseForme": "Red", "types": [ "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 126, - "attack": 131, - "defense": 95, - "special-attack": 131, - "special-defense": 98, - "speed": 99 + "hp": 44, + "attack": 38, + "defense": 39, + "special-attack": 61, + "special-defense": 79, + "speed": 42 }, "abilities": { - "0": "Fairy Aura" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 3, - "weightkg": 215, - "color": "Blue", + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", + "evos": [ + "Floette" + ], "eggGroups": [ - "Undiscovered" + "Fairy" + ], + "cosmeticFormes": [ + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" + ], + "formeOrder": [ + "Flabe\u0301be\u0301", + "Flabe\u0301be\u0301-Blue", + "Flabe\u0301be\u0301-Orange", + "Flabe\u0301be\u0301-White", + "Flabe\u0301be\u0301-Yellow" ] }, - "yveltal": { - "num": 717, - "name": "yveltal", + "floette": { + "num": 670, + "name": "floette", + "baseForme": "Red", "types": [ - "dark", - "flying" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 126, - "attack": 131, - "defense": 95, - "special-attack": 131, + "hp": 54, + "attack": 45, + "defense": 47, + "special-attack": 75, "special-defense": 98, - "speed": 99 + "speed": 52 }, "abilities": { - "0": "Dark Aura" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 5.8, - "weightkg": 203, - "color": "Red", - "tags": [ - "Restricted Legendary" + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "Flabe\u0301be\u0301", + "evoLevel": 19, + "evos": [ + "Florges" ], "eggGroups": [ - "Undiscovered" + "Fairy" + ], + "otherFormes": [ + "Floette-Eternal" + ], + "cosmeticFormes": [ + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow" + ], + "formeOrder": [ + "Floette", + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow", + "Floette-Eternal" ] }, - "zygarde": { - "num": 718, - "name": "zygarde", - "baseForme": "50%", + "floetteblue": { + "num": 670, + "name": "floette", + "baseForme": "Red", "types": [ - "dragon", - "ground" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 108, - "attack": 100, - "defense": 121, - "special-attack": 81, - "special-defense": 95, - "speed": 95 + "hp": 54, + "attack": 45, + "defense": 47, + "special-attack": 75, + "special-defense": 98, + "speed": 52 }, "abilities": { - "0": "Aura Break", - "S": "Power Construct" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 5, - "weightkg": 305, - "color": "Green", - "tags": [ - "Restricted Legendary" + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "Flabe\u0301be\u0301", + "evoLevel": 19, + "evos": [ + "Florges" ], "eggGroups": [ - "Undiscovered" + "Fairy" ], "otherFormes": [ - "Zygarde-10%", - "Zygarde-Complete" + "Floette-Eternal" + ], + "cosmeticFormes": [ + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow" ], "formeOrder": [ - "Zygarde", - "Zygarde-10%", - "Zygarde-10%", - "Zygarde", - "Zygarde-Complete" + "Floette", + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow", + "Floette-Eternal" ] }, - "zygarde10": { - "num": 718, - "name": "zygarde-10%", - "baseSpecies": "Zygarde", - "forme": "10%", + "floetteorange": { + "num": 670, + "name": "floette", + "baseForme": "Red", "types": [ - "dragon", - "ground" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { "hp": 54, - "attack": 100, - "defense": 71, - "special-attack": 61, - "special-defense": 85, - "speed": 115 + "attack": 45, + "defense": 47, + "special-attack": 75, + "special-defense": 98, + "speed": 52 }, "abilities": { - "0": "Aura Break", - "S": "Power Construct" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 1.2, - "weightkg": 33.5, - "color": "Black", + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "Flabe\u0301be\u0301", + "evoLevel": 19, + "evos": [ + "Florges" + ], "eggGroups": [ - "Undiscovered" + "Fairy" ], - "changesFrom": "Zygarde", - "gen": 7 + "otherFormes": [ + "Floette-Eternal" + ], + "cosmeticFormes": [ + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow" + ], + "formeOrder": [ + "Floette", + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow", + "Floette-Eternal" + ] }, - "zygardecomplete": { - "num": 718, - "name": "zygarde-complete", - "baseSpecies": "Zygarde", - "forme": "Complete", + "floettewhite": { + "num": 670, + "name": "floette", + "baseForme": "Red", "types": [ - "dragon", - "ground" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 216, - "attack": 100, - "defense": 121, - "special-attack": 91, - "special-defense": 95, - "speed": 85 + "hp": 54, + "attack": 45, + "defense": 47, + "special-attack": 75, + "special-defense": 98, + "speed": 52 }, "abilities": { - "0": "Power Construct" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 4.5, - "weightkg": 610, - "color": "Black", + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "Flabe\u0301be\u0301", + "evoLevel": 19, + "evos": [ + "Florges" + ], "eggGroups": [ - "Undiscovered" + "Fairy" ], - "requiredAbility": "Power Construct", - "battleOnly": [ - "Zygarde", - "Zygarde-10%" + "otherFormes": [ + "Floette-Eternal" ], - "gen": 7 + "cosmeticFormes": [ + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow" + ], + "formeOrder": [ + "Floette", + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow", + "Floette-Eternal" + ] }, - "diancie": { - "num": 719, - "name": "diancie", + "floetteyellow": { + "num": 670, + "name": "floette", + "baseForme": "Red", "types": [ - "rock", "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 50, - "attack": 100, - "defense": 150, - "special-attack": 100, - "special-defense": 150, - "speed": 50 + "hp": 54, + "attack": 45, + "defense": 47, + "special-attack": 75, + "special-defense": 98, + "speed": 52 }, "abilities": { - "0": "Clear Body" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 0.7, - "weightkg": 8.8, - "color": "Pink", - "eggGroups": [ - "Undiscovered" + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "Flabe\u0301be\u0301", + "evoLevel": 19, + "evos": [ + "Florges" ], - "tags": [ - "Mythical" + "eggGroups": [ + "Fairy" ], "otherFormes": [ - "Diancie-Mega" + "Floette-Eternal" + ], + "cosmeticFormes": [ + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow" ], "formeOrder": [ - "Diancie", - "Diancie-Mega" + "Floette", + "Floette-Blue", + "Floette-Orange", + "Floette-White", + "Floette-Yellow", + "Floette-Eternal" ] }, - "dianciemega": { - "num": 719, - "name": "diancie-mega", - "baseSpecies": "Diancie", - "forme": "Mega", + "floetteeternal": { + "num": 670, + "name": "floette-eternal", + "baseSpecies": "Floette", + "forme": "Eternal", "types": [ - "rock", "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 50, - "attack": 160, - "defense": 110, - "special-attack": 160, - "special-defense": 110, - "speed": 110 + "hp": 74, + "attack": 65, + "defense": 67, + "special-attack": 125, + "special-defense": 128, + "speed": 92 }, "abilities": { - "0": "Magic Bounce" + "0": "Flower Veil" }, - "heightm": 1.1, - "weightkg": 27.8, - "color": "Pink", + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", "eggGroups": [ "Undiscovered" - ], - "requiredItem": "Diancite" + ] }, - "hoopa": { - "num": 720, - "name": "hoopa", - "baseForme": "Confined", + "florges": { + "num": 671, + "name": "florges", + "baseForme": "Red", "types": [ - "psychic", - "ghost" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 80, - "attack": 110, - "defense": 60, - "special-attack": 150, - "special-defense": 130, - "speed": 70 + "hp": 78, + "attack": 65, + "defense": 68, + "special-attack": 112, + "special-defense": 154, + "speed": 75 }, "abilities": { - "0": "Magician" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 0.5, - "weightkg": 9, - "color": "Purple", + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "Floette", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" + "Fairy" ], - "otherFormes": [ - "Hoopa-Unbound" + "cosmeticFormes": [ + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ], "formeOrder": [ - "Hoopa", - "Hoopa-Unbound" + "Florges", + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ] }, - "hoopaunbound": { - "num": 720, - "name": "hoopa-unbound", - "baseSpecies": "Hoopa", - "forme": "Unbound", + "florgesblue": { + "num": 671, + "name": "florges", + "baseForme": "Red", "types": [ - "psychic", - "dark" + "fairy" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 80, - "attack": 160, - "defense": 60, - "special-attack": 170, - "special-defense": 130, - "speed": 80 + "hp": 78, + "attack": 65, + "defense": 68, + "special-attack": 112, + "special-defense": 154, + "speed": 75 }, "abilities": { - "0": "Magician" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 6.5, - "weightkg": 490, - "color": "Purple", + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "Floette", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Undiscovered" - ], - "changesFrom": "Hoopa" - }, - "volcanion": { - "num": 721, - "name": "volcanion", - "types": [ - "fire", - "water" + "Fairy" ], - "gender": "N", - "baseStats": { - "hp": 80, - "attack": 110, - "defense": 120, - "special-attack": 130, - "special-defense": 90, - "speed": 70 - }, - "abilities": { - "0": "Water Absorb" - }, - "heightm": 1.7, - "weightkg": 195, - "color": "Brown", - "tags": [ - "Mythical" + "cosmeticFormes": [ + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ], - "eggGroups": [ - "Undiscovered" + "formeOrder": [ + "Florges", + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ] }, - "rowlet": { - "num": 722, - "name": "rowlet", + "florgesorange": { + "num": 671, + "name": "florges", + "baseForme": "Red", "types": [ - "grass", - "flying" + "fairy" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 68, - "attack": 55, - "defense": 55, - "special-attack": 50, - "special-defense": 50, - "speed": 42 + "hp": 78, + "attack": 65, + "defense": 68, + "special-attack": 112, + "special-defense": 154, + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Long Reach" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 0.3, - "weightkg": 1.5, - "color": "Brown", - "evos": [ - "Dartrix" - ], + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "Floette", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Flying" + "Fairy" + ], + "cosmeticFormes": [ + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" + ], + "formeOrder": [ + "Florges", + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ] }, - "dartrix": { - "num": 723, - "name": "dartrix", + "florgeswhite": { + "num": 671, + "name": "florges", + "baseForme": "Red", "types": [ - "grass", - "flying" + "fairy" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { "hp": 78, - "attack": 75, - "defense": 75, - "special-attack": 70, - "special-defense": 70, - "speed": 52 + "attack": 65, + "defense": 68, + "special-attack": 112, + "special-defense": 154, + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Long Reach" + "0": "Flower Veil", + "H": "Symbiosis" }, - "heightm": 0.7, - "weightkg": 16, - "color": "Brown", - "prevo": "Rowlet", - "evoLevel": 17, - "evos": [ - "Decidueye", - "Decidueye-Hisui" - ], + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "Floette", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Flying" + "Fairy" + ], + "cosmeticFormes": [ + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" + ], + "formeOrder": [ + "Florges", + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ] }, - "decidueye": { - "num": 724, - "name": "decidueye", + "florgesyellow": { + "num": 671, + "name": "florges", + "baseForme": "Red", "types": [ - "grass", - "ghost" + "fairy" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { "hp": 78, - "attack": 107, - "defense": 75, - "special-attack": 100, - "special-defense": 100, - "speed": 70 + "attack": 65, + "defense": 68, + "special-attack": 112, + "special-defense": 154, + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Long Reach" - }, - "heightm": 1.6, - "weightkg": 36.6, - "color": "Brown", - "prevo": "Dartrix", - "evoLevel": 34, + "0": "Flower Veil", + "H": "Symbiosis" + }, + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "Floette", + "evoType": "useItem", + "evoItem": "Shiny Stone", "eggGroups": [ - "Flying" + "Fairy" ], - "otherFormes": [ - "Decidueye-Hisui" + "cosmeticFormes": [ + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ], "formeOrder": [ - "Decidueye", - "Decidueye-Hisui" + "Florges", + "Florges-Blue", + "Florges-Orange", + "Florges-White", + "Florges-Yellow" ] }, - "decidueyehisui": { - "num": 724, - "name": "decidueye-hisui", - "baseSpecies": "Decidueye", - "forme": "Hisui", + "skiddo": { + "num": 672, + "name": "skiddo", "types": [ - "grass", - "fighting" + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 88, - "attack": 112, - "defense": 80, - "special-attack": 95, - "special-defense": 95, - "speed": 60 + "hp": 66, + "attack": 65, + "defense": 48, + "special-attack": 62, + "special-defense": 57, + "speed": 52 }, "abilities": { - "0": "Overgrow", - "H": "Scrappy" + "0": "Sap Sipper", + "H": "Grass Pelt" }, - "heightm": 1.6, - "weightkg": 37, + "heightm": 0.9, + "weightkg": 31, "color": "Brown", - "prevo": "Dartrix", - "evoLevel": 36, + "evos": [ + "Gogoat" + ], "eggGroups": [ - "Flying" + "Field" ] }, - "litten": { - "num": 725, - "name": "litten", + "gogoat": { + "num": 673, + "name": "gogoat", "types": [ - "fire" + "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 45, - "attack": 65, - "defense": 40, - "special-attack": 60, - "special-defense": 40, - "speed": 70 + "hp": 123, + "attack": 100, + "defense": 62, + "special-attack": 97, + "special-defense": 81, + "speed": 68 }, "abilities": { - "0": "Blaze", - "H": "Intimidate" + "0": "Sap Sipper", + "H": "Grass Pelt" }, - "heightm": 0.4, - "weightkg": 4.3, - "color": "Red", - "evos": [ - "Torracat" - ], + "heightm": 1.7, + "weightkg": 91, + "color": "Brown", + "prevo": "Skiddo", + "evoLevel": 32, "eggGroups": [ "Field" ] }, - "torracat": { - "num": 726, - "name": "torracat", + "pancham": { + "num": 674, + "name": "pancham", "types": [ - "fire" + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 65, - "attack": 85, - "defense": 50, - "special-attack": 80, - "special-defense": 50, - "speed": 90 + "hp": 67, + "attack": 82, + "defense": 62, + "special-attack": 46, + "special-defense": 48, + "speed": 43 }, "abilities": { - "0": "Blaze", - "H": "Intimidate" + "0": "Iron Fist", + "1": "Mold Breaker", + "H": "Scrappy" }, - "heightm": 0.7, - "weightkg": 25, - "color": "Red", - "prevo": "Litten", - "evoLevel": 17, + "heightm": 0.6, + "weightkg": 8, + "color": "White", "evos": [ - "Incineroar" + "Pangoro" ], "eggGroups": [ - "Field" + "Field", + "Human-Like" ] }, - "incineroar": { - "num": 727, - "name": "incineroar", + "pangoro": { + "num": 675, + "name": "pangoro", "types": [ - "fire", + "fighting", "dark" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { "hp": 95, - "attack": 115, - "defense": 90, - "special-attack": 80, - "special-defense": 90, - "speed": 60 + "attack": 124, + "defense": 78, + "special-attack": 69, + "special-defense": 71, + "speed": 58 }, "abilities": { - "0": "Blaze", - "H": "Intimidate" + "0": "Iron Fist", + "1": "Mold Breaker", + "H": "Scrappy" }, - "heightm": 1.8, - "weightkg": 83, - "color": "Red", - "prevo": "Torracat", - "evoLevel": 34, + "heightm": 2.1, + "weightkg": 136, + "color": "White", + "prevo": "Pancham", + "evoLevel": 32, + "evoCondition": "with a Dark-type in the party", "eggGroups": [ - "Field" + "Field", + "Human-Like" ] }, - "popplio": { - "num": 728, - "name": "popplio", + "furfrou": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "water" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 50, - "attack": 54, - "defense": 54, - "special-attack": 66, - "special-defense": 56, - "speed": 40 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Torrent", - "H": "Liquid Voice" + "0": "Fur Coat" }, - "heightm": 0.4, - "weightkg": 7.5, - "color": "Blue", - "evos": [ - "Brionne" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Water 1", "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "brionne": { - "num": 729, - "name": "brionne", + "furfroudandy": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "water" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 60, - "attack": 69, - "defense": 69, - "special-attack": 91, - "special-defense": 81, - "speed": 50 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Torrent", - "H": "Liquid Voice" + "0": "Fur Coat" }, - "heightm": 0.6, - "weightkg": 17.5, - "color": "Blue", - "prevo": "Popplio", - "evoLevel": 17, - "evos": [ - "Primarina" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Water 1", "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "primarina": { - "num": 730, - "name": "primarina", + "furfroudebutante": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "water", - "fairy" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 80, - "attack": 74, - "defense": 74, - "special-attack": 126, - "special-defense": 116, - "speed": 60 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Torrent", - "H": "Liquid Voice" + "0": "Fur Coat" }, - "heightm": 1.8, - "weightkg": 44, - "color": "Blue", - "prevo": "Brionne", - "evoLevel": 34, + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Water 1", "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "pikipek": { - "num": 731, - "name": "pikipek", + "furfroudiamond": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "normal", - "flying" + "normal" ], "baseStats": { - "hp": 35, - "attack": 75, - "defense": 30, - "special-attack": 30, - "special-defense": 30, - "speed": 65 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Keen Eye", - "1": "Skill Link", - "H": "Pickup" + "0": "Fur Coat" }, - "heightm": 0.3, - "weightkg": 1.2, - "color": "Black", - "evos": [ - "Trumbeak" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Flying" + "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "trumbeak": { - "num": 732, - "name": "trumbeak", + "furfrouheart": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "normal", - "flying" + "normal" ], "baseStats": { - "hp": 55, - "attack": 85, - "defense": 50, - "special-attack": 40, - "special-defense": 50, - "speed": 75 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Keen Eye", - "1": "Skill Link", - "H": "Pickup" + "0": "Fur Coat" }, - "heightm": 0.6, - "weightkg": 14.8, - "color": "Black", - "prevo": "Pikipek", - "evoLevel": 14, - "evos": [ - "Toucannon" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Flying" + "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "toucannon": { - "num": 733, - "name": "toucannon", + "furfroukabuki": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "normal", - "flying" + "normal" ], "baseStats": { - "hp": 80, - "attack": 120, - "defense": 75, - "special-attack": 75, - "special-defense": 75, - "speed": 60 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Keen Eye", - "1": "Skill Link", - "H": "Sheer Force" + "0": "Fur Coat" }, - "heightm": 1.1, - "weightkg": 26, - "color": "Black", - "prevo": "Trumbeak", - "evoLevel": 28, + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Flying" + "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "yungoos": { - "num": 734, - "name": "yungoos", + "furfroulareine": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ "normal" ], "baseStats": { - "hp": 48, - "attack": 70, - "defense": 30, - "special-attack": 30, - "special-defense": 30, - "speed": 45 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Stakeout", - "1": "Strong Jaw", - "H": "Adaptability" + "0": "Fur Coat" }, - "heightm": 0.4, - "weightkg": 6, - "color": "Brown", - "evos": [ - "Gumshoos" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "gumshoos": { - "num": 735, - "name": "gumshoos", + "furfroumatron": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ "normal" ], "baseStats": { - "hp": 88, - "attack": 110, + "hp": 75, + "attack": 80, "defense": 60, - "special-attack": 55, - "special-defense": 60, - "speed": 45 + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Stakeout", - "1": "Strong Jaw", - "H": "Adaptability" + "0": "Fur Coat" }, - "heightm": 0.7, - "weightkg": 14.2, - "color": "Brown", - "prevo": "Yungoos", - "evoLevel": 20, - "evoCondition": "during the day", + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ "Field" ], - "otherFormes": [ - "Gumshoos-Totem" + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" ], "formeOrder": [ - "Gumshoos", - "Gumshoos-Totem" + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "gumshoostotem": { - "num": 735, - "name": "gumshoos-totem", - "baseSpecies": "Gumshoos", - "forme": "Totem", + "furfroupharaoh": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ "normal" ], "baseStats": { - "hp": 88, - "attack": 110, + "hp": 75, + "attack": 80, "defense": 60, - "special-attack": 55, - "special-defense": 60, - "speed": 45 + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Adaptability" + "0": "Fur Coat" }, - "heightm": 1.4, - "weightkg": 60, - "color": "Brown", + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "grubbin": { - "num": 736, - "name": "grubbin", + "furfroustar": { + "num": 676, + "name": "furfrou", + "baseForme": "Natural", "types": [ - "bug" + "normal" ], "baseStats": { - "hp": 47, - "attack": 62, - "defense": 45, - "special-attack": 55, - "special-defense": 45, - "speed": 46 + "hp": 75, + "attack": 80, + "defense": 60, + "special-attack": 65, + "special-defense": 90, + "speed": 102 }, "abilities": { - "0": "Swarm" + "0": "Fur Coat" }, - "heightm": 0.4, - "weightkg": 4.4, - "color": "Gray", - "evos": [ - "Charjabug" - ], + "heightm": 1.2, + "weightkg": 28, + "color": "White", "eggGroups": [ - "Bug" + "Field" + ], + "cosmeticFormes": [ + "Furfrou-Dandy", + "Furfrou-Debutante", + "Furfrou-Diamond", + "Furfrou-Heart", + "Furfrou-Kabuki", + "Furfrou-La Reine", + "Furfrou-Matron", + "Furfrou-Pharaoh", + "Furfrou-Star" + ], + "formeOrder": [ + "Furfrou", + "Furfrou-Heart", + "Furfrou-Star", + "Furfrou-Diamond", + "Furfrou-Debutante", + "Furfrou-Matron", + "Furfrou-Dandy", + "Furfrou-La Reine", + "Furfrou-Kabuki", + "Furfrou-Pharaoh" ] }, - "charjabug": { - "num": 737, - "name": "charjabug", + "espurr": { + "num": 677, + "name": "espurr", "types": [ - "bug", - "electric" + "psychic" ], "baseStats": { - "hp": 57, - "attack": 82, - "defense": 95, - "special-attack": 55, - "special-defense": 75, - "speed": 36 + "hp": 62, + "attack": 48, + "defense": 54, + "special-attack": 63, + "special-defense": 60, + "speed": 68 }, "abilities": { - "0": "Battery" + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Own Tempo" }, - "heightm": 0.5, - "weightkg": 10.5, - "color": "Green", - "prevo": "Grubbin", - "evoLevel": 20, + "heightm": 0.3, + "weightkg": 3.5, + "color": "Gray", "evos": [ - "Vikavolt" + "Meowstic", + "Meowstic-F" ], "eggGroups": [ - "Bug" + "Field" ] }, - "vikavolt": { - "num": 738, - "name": "vikavolt", + "meowstic": { + "num": 678, + "name": "meowstic", + "baseForme": "M", "types": [ - "bug", - "electric" + "psychic" ], + "gender": "M", "baseStats": { - "hp": 77, - "attack": 70, - "defense": 90, - "special-attack": 145, - "special-defense": 75, - "speed": 43 + "hp": 74, + "attack": 48, + "defense": 76, + "special-attack": 83, + "special-defense": 81, + "speed": 104 }, "abilities": { - "0": "Levitate" + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Prankster" }, - "heightm": 1.5, - "weightkg": 45, + "heightm": 0.6, + "weightkg": 8.5, "color": "Blue", - "prevo": "Charjabug", - "evoType": "useItem", - "evoItem": "Thunder Stone", + "prevo": "Espurr", + "evoLevel": 25, "eggGroups": [ - "Bug" + "Field" ], "otherFormes": [ - "Vikavolt-Totem" + "Meowstic-F" ], "formeOrder": [ - "Vikavolt", - "Vikavolt-Totem" + "Meowstic", + "Meowstic-F" ] }, - "vikavolttotem": { - "num": 738, - "name": "vikavolt-totem", - "baseSpecies": "Vikavolt", - "forme": "Totem", + "meowsticf": { + "num": 678, + "name": "meowstic-f", + "baseSpecies": "Meowstic", + "forme": "F", "types": [ - "bug", - "electric" + "psychic" ], + "gender": "F", "baseStats": { - "hp": 77, - "attack": 70, - "defense": 90, - "special-attack": 145, - "special-defense": 75, - "speed": 43 + "hp": 74, + "attack": 48, + "defense": 76, + "special-attack": 83, + "special-defense": 81, + "speed": 104 }, "abilities": { - "0": "Levitate" + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Competitive" }, - "heightm": 2.6, - "weightkg": 147.5, - "color": "Blue", + "heightm": 0.6, + "weightkg": 8.5, + "color": "White", + "prevo": "Espurr", + "evoLevel": 25, "eggGroups": [ - "Bug" + "Field" ] }, - "crabrawler": { - "num": 739, - "name": "crabrawler", + "honedge": { + "num": 679, + "name": "honedge", "types": [ - "fighting" + "steel", + "ghost" ], "baseStats": { - "hp": 47, - "attack": 82, - "defense": 57, - "special-attack": 42, - "special-defense": 47, - "speed": 63 + "hp": 45, + "attack": 80, + "defense": 100, + "special-attack": 35, + "special-defense": 37, + "speed": 28 }, "abilities": { - "0": "Hyper Cutter", - "1": "Iron Fist", - "H": "Anger Point" + "0": "No Guard" }, - "heightm": 0.6, - "weightkg": 7, - "color": "Purple", + "heightm": 0.8, + "weightkg": 2, + "color": "Brown", "evos": [ - "Crabominable" + "Doublade" ], "eggGroups": [ - "Water 3" + "Mineral" ] }, - "crabominable": { - "num": 740, - "name": "crabominable", + "doublade": { + "num": 680, + "name": "doublade", "types": [ - "fighting", - "ice" + "steel", + "ghost" ], "baseStats": { - "hp": 97, - "attack": 132, - "defense": 77, - "special-attack": 62, - "special-defense": 67, - "speed": 43 + "hp": 59, + "attack": 110, + "defense": 150, + "special-attack": 45, + "special-defense": 49, + "speed": 35 }, "abilities": { - "0": "Hyper Cutter", - "1": "Iron Fist", - "H": "Anger Point" + "0": "No Guard" }, - "heightm": 1.7, - "weightkg": 180, - "color": "White", - "prevo": "Crabrawler", - "evoType": "useItem", - "evoItem": "Ice Stone", + "heightm": 0.8, + "weightkg": 4.5, + "color": "Brown", + "prevo": "Honedge", + "evoLevel": 35, + "evos": [ + "Aegislash" + ], "eggGroups": [ - "Water 3" + "Mineral" ] }, - "oricorio": { - "num": 741, - "name": "oricorio", - "baseForme": "Baile", + "aegislash": { + "num": 681, + "name": "aegislash", + "baseForme": "Shield", "types": [ - "fire", - "flying" + "steel", + "ghost" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 75, - "attack": 70, - "defense": 70, - "special-attack": 98, - "special-defense": 70, - "speed": 93 + "hp": 60, + "attack": 50, + "defense": 140, + "special-attack": 50, + "special-defense": 140, + "speed": 60 }, "abilities": { - "0": "Dancer" + "0": "Stance Change" }, - "heightm": 0.6, - "weightkg": 3.4, - "color": "Red", + "heightm": 1.7, + "weightkg": 53, + "color": "Brown", + "prevo": "Doublade", + "evoType": "useItem", + "evoItem": "Dusk Stone", "eggGroups": [ - "Flying" + "Mineral" ], "otherFormes": [ - "Oricorio-Pom-Pom", - "Oricorio-Pa'u", - "Oricorio-Sensu" + "Aegislash-Blade" ], "formeOrder": [ - "Oricorio", - "Oricorio-Pom-Pom", - "Oricorio-Pa'u", - "Oricorio-Sensu" + "Aegislash", + "Aegislash-Blade" ] }, - "oricoriopompom": { - "num": 741, - "name": "oricorio-pom-pom", - "baseSpecies": "Oricorio", - "forme": "Pom-Pom", + "aegislashblade": { + "num": 681, + "name": "aegislash-blade", + "baseSpecies": "Aegislash", + "forme": "Blade", "types": [ - "electric", - "flying" + "steel", + "ghost" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 75, - "attack": 70, - "defense": 70, - "special-attack": 98, - "special-defense": 70, - "speed": 93 + "hp": 60, + "attack": 140, + "defense": 50, + "special-attack": 140, + "special-defense": 50, + "speed": 60 }, "abilities": { - "0": "Dancer" + "0": "Stance Change" }, - "heightm": 0.6, - "weightkg": 3.4, - "color": "Yellow", + "heightm": 1.7, + "weightkg": 53, + "color": "Brown", "eggGroups": [ - "Flying" + "Mineral" ], - "changesFrom": "Oricorio" + "requiredAbility": "Stance Change", + "battleOnly": "Aegislash" }, - "oricoriopau": { - "num": 741, - "name": "oricorio-pa'u", - "baseSpecies": "Oricorio", - "forme": "Pa'u", + "spritzee": { + "num": 682, + "name": "spritzee", "types": [ - "psychic", - "flying" + "fairy" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 75, - "attack": 70, - "defense": 70, - "special-attack": 98, - "special-defense": 70, - "speed": 93 + "hp": 78, + "attack": 52, + "defense": 60, + "special-attack": 63, + "special-defense": 65, + "speed": 23 }, "abilities": { - "0": "Dancer" + "0": "Healer", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 3.4, + "heightm": 0.2, + "weightkg": 0.5, "color": "Pink", - "eggGroups": [ - "Flying" + "evos": [ + "Aromatisse" ], - "changesFrom": "Oricorio" + "eggGroups": [ + "Fairy" + ] }, - "oricoriosensu": { - "num": 741, - "name": "oricorio-sensu", - "baseSpecies": "Oricorio", - "forme": "Sensu", + "aromatisse": { + "num": 683, + "name": "aromatisse", "types": [ - "ghost", - "flying" + "fairy" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 75, - "attack": 70, - "defense": 70, - "special-attack": 98, - "special-defense": 70, - "speed": 93 + "hp": 101, + "attack": 72, + "defense": 72, + "special-attack": 99, + "special-defense": 89, + "speed": 29 }, "abilities": { - "0": "Dancer" + "0": "Healer", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 3.4, - "color": "Purple", + "heightm": 0.8, + "weightkg": 15.5, + "color": "Pink", + "prevo": "Spritzee", + "evoType": "trade", + "evoItem": "Sachet", "eggGroups": [ - "Flying" - ], - "changesFrom": "Oricorio" + "Fairy" + ] }, - "cutiefly": { - "num": 742, - "name": "cutiefly", + "swirlix": { + "num": 684, + "name": "swirlix", "types": [ - "bug", "fairy" ], "baseStats": { - "hp": 40, - "attack": 45, - "defense": 40, - "special-attack": 55, - "special-defense": 40, - "speed": 84 + "hp": 62, + "attack": 48, + "defense": 66, + "special-attack": 59, + "special-defense": 57, + "speed": 49 }, "abilities": { - "0": "Honey Gather", - "1": "Shield Dust", - "H": "Sweet Veil" + "0": "Sweet Veil", + "H": "Unburden" }, - "heightm": 0.1, - "weightkg": 0.2, - "color": "Yellow", + "heightm": 0.4, + "weightkg": 3.5, + "color": "White", "evos": [ - "Ribombee" + "Slurpuff" ], "eggGroups": [ - "Bug", "Fairy" ] }, - "ribombee": { - "num": 743, - "name": "ribombee", + "slurpuff": { + "num": 685, + "name": "slurpuff", "types": [ - "bug", "fairy" ], "baseStats": { - "hp": 60, - "attack": 55, - "defense": 60, - "special-attack": 95, - "special-defense": 70, - "speed": 124 + "hp": 82, + "attack": 80, + "defense": 86, + "special-attack": 85, + "special-defense": 75, + "speed": 72 }, "abilities": { - "0": "Honey Gather", - "1": "Shield Dust", - "H": "Sweet Veil" + "0": "Sweet Veil", + "H": "Unburden" }, - "heightm": 0.2, - "weightkg": 0.5, - "color": "Yellow", - "prevo": "Cutiefly", - "evoLevel": 25, + "heightm": 0.8, + "weightkg": 5, + "color": "White", + "prevo": "Swirlix", + "evoType": "trade", + "evoItem": "Whipped Dream", "eggGroups": [ - "Bug", "Fairy" + ] + }, + "inkay": { + "num": 686, + "name": "inkay", + "types": [ + "dark", + "psychic" ], - "otherFormes": [ - "Ribombee-Totem" + "baseStats": { + "hp": 53, + "attack": 54, + "defense": 53, + "special-attack": 37, + "special-defense": 46, + "speed": 45 + }, + "abilities": { + "0": "Contrary", + "1": "Suction Cups", + "H": "Infiltrator" + }, + "heightm": 0.4, + "weightkg": 3.5, + "color": "Blue", + "evos": [ + "Malamar" ], - "formeOrder": [ - "Ribombee", - "Ribombee-Totem" + "eggGroups": [ + "Water 1", + "Water 2" ] }, - "ribombeetotem": { - "num": 743, - "name": "ribombee-totem", - "baseSpecies": "Ribombee", - "forme": "Totem", + "malamar": { + "num": 687, + "name": "malamar", "types": [ - "bug", - "fairy" + "dark", + "psychic" ], "baseStats": { - "hp": 60, - "attack": 55, - "defense": 60, - "special-attack": 95, - "special-defense": 70, - "speed": 124 + "hp": 86, + "attack": 92, + "defense": 88, + "special-attack": 68, + "special-defense": 75, + "speed": 73 }, "abilities": { - "0": "Sweet Veil" + "0": "Contrary", + "1": "Suction Cups", + "H": "Infiltrator" }, - "heightm": 0.4, - "weightkg": 2, - "color": "Yellow", + "heightm": 1.5, + "weightkg": 47, + "color": "Blue", + "prevo": "Inkay", + "evoLevel": 30, + "evoCondition": "with the console turned upside-down", "eggGroups": [ - "Bug", - "Fairy" + "Water 1", + "Water 2" ] }, - "rockruff": { - "num": 744, - "name": "rockruff", - "baseForme": "Midday", + "binacle": { + "num": 688, + "name": "binacle", "types": [ - "rock" + "rock", + "water" ], "baseStats": { - "hp": 45, - "attack": 65, - "defense": 40, - "special-attack": 30, - "special-defense": 40, - "speed": 60 + "hp": 42, + "attack": 52, + "defense": 67, + "special-attack": 39, + "special-defense": 56, + "speed": 50 }, "abilities": { - "0": "Keen Eye", - "1": "Vital Spirit", - "H": "Steadfast", - "S": "Own Tempo" + "0": "Tough Claws", + "1": "Sniper", + "H": "Pickpocket" }, "heightm": 0.5, - "weightkg": 9.2, + "weightkg": 31, "color": "Brown", "evos": [ - "Lycanroc", - "Lycanroc-Midnight", - "Lycanroc-Dusk" + "Barbaracle" ], "eggGroups": [ - "Field" - ], - "formeOrder": [ - "Rockruff", - "Rockruff" + "Water 3" ] }, - "lycanroc": { - "num": 745, - "name": "lycanroc", - "baseForme": "Midday", + "barbaracle": { + "num": 689, + "name": "barbaracle", "types": [ - "rock" + "rock", + "water" ], "baseStats": { - "hp": 75, - "attack": 115, - "defense": 65, - "special-attack": 55, - "special-defense": 65, - "speed": 112 + "hp": 72, + "attack": 105, + "defense": 115, + "special-attack": 54, + "special-defense": 86, + "speed": 68 }, "abilities": { - "0": "Keen Eye", - "1": "Sand Rush", - "H": "Steadfast" + "0": "Tough Claws", + "1": "Sniper", + "H": "Pickpocket" }, - "heightm": 0.8, - "weightkg": 25, + "heightm": 1.3, + "weightkg": 96, "color": "Brown", - "prevo": "Rockruff", - "evoLevel": 25, - "evoCondition": "during the day", + "prevo": "Binacle", + "evoLevel": 39, "eggGroups": [ - "Field" - ], - "otherFormes": [ - "Lycanroc-Midnight", - "Lycanroc-Dusk" - ], - "formeOrder": [ - "Lycanroc", - "Lycanroc-Midnight", - "Lycanroc-Dusk" + "Water 3" ] }, - "lycanrocmidnight": { - "num": 745, - "name": "lycanroc-midnight", - "baseSpecies": "Lycanroc", - "forme": "Midnight", + "skrelp": { + "num": 690, + "name": "skrelp", "types": [ - "rock" + "poison", + "water" ], "baseStats": { - "hp": 85, - "attack": 115, - "defense": 75, - "special-attack": 55, - "special-defense": 75, - "speed": 82 + "hp": 50, + "attack": 60, + "defense": 60, + "special-attack": 60, + "special-defense": 60, + "speed": 30 }, "abilities": { - "0": "Keen Eye", - "1": "Vital Spirit", - "H": "No Guard" + "0": "Poison Point", + "1": "Poison Touch", + "H": "Adaptability" }, - "heightm": 1.1, - "weightkg": 25, - "color": "Red", - "prevo": "Rockruff", - "evoLevel": 25, - "evoCondition": "at night", + "heightm": 0.5, + "weightkg": 7.3, + "color": "Brown", + "evos": [ + "Dragalge" + ], "eggGroups": [ - "Field" + "Water 1", + "Dragon" ] }, - "lycanrocdusk": { - "num": 745, - "name": "lycanroc-dusk", - "baseSpecies": "Lycanroc", - "forme": "Dusk", + "dragalge": { + "num": 691, + "name": "dragalge", "types": [ - "rock" + "poison", + "dragon" ], "baseStats": { - "hp": 75, - "attack": 117, - "defense": 65, - "special-attack": 55, - "special-defense": 65, - "speed": 110 + "hp": 65, + "attack": 75, + "defense": 90, + "special-attack": 97, + "special-defense": 123, + "speed": 44 }, "abilities": { - "0": "Tough Claws" + "0": "Poison Point", + "1": "Poison Touch", + "H": "Adaptability" }, - "heightm": 0.8, - "weightkg": 25, + "heightm": 1.8, + "weightkg": 81.5, "color": "Brown", - "prevo": "Rockruff", - "evoLevel": 25, - "evoCondition": "from a special Rockruff during the evening", + "prevo": "Skrelp", + "evoLevel": 48, "eggGroups": [ - "Field" + "Water 1", + "Dragon" ] }, - "wishiwashi": { - "num": 746, - "name": "wishiwashi", - "baseForme": "Solo", + "clauncher": { + "num": 692, + "name": "clauncher", "types": [ "water" ], "baseStats": { - "hp": 45, - "attack": 20, - "defense": 20, - "special-attack": 25, - "special-defense": 25, - "speed": 40 + "hp": 50, + "attack": 53, + "defense": 62, + "special-attack": 58, + "special-defense": 63, + "speed": 44 }, "abilities": { - "0": "Schooling" + "0": "Mega Launcher" }, - "heightm": 0.2, - "weightkg": 0.3, + "heightm": 0.5, + "weightkg": 8.3, "color": "Blue", - "eggGroups": [ - "Water 2" - ], - "otherFormes": [ - "Wishiwashi-School" + "evos": [ + "Clawitzer" ], - "formeOrder": [ - "Wishiwashi", - "Wishiwashi-School" + "eggGroups": [ + "Water 1", + "Water 3" ] }, - "wishiwashischool": { - "num": 746, - "name": "wishiwashi-school", - "baseSpecies": "Wishiwashi", - "forme": "School", + "clawitzer": { + "num": 693, + "name": "clawitzer", "types": [ "water" ], "baseStats": { - "hp": 45, - "attack": 140, - "defense": 130, - "special-attack": 140, - "special-defense": 135, - "speed": 30 + "hp": 71, + "attack": 73, + "defense": 88, + "special-attack": 120, + "special-defense": 89, + "speed": 59 }, "abilities": { - "0": "Schooling" + "0": "Mega Launcher" }, - "heightm": 8.2, - "weightkg": 78.6, + "heightm": 1.3, + "weightkg": 35.3, "color": "Blue", + "prevo": "Clauncher", + "evoLevel": 37, "eggGroups": [ - "Water 2" - ], - "requiredAbility": "Schooling", - "battleOnly": "Wishiwashi" + "Water 1", + "Water 3" + ] }, - "mareanie": { - "num": 747, - "name": "mareanie", + "helioptile": { + "num": 694, + "name": "helioptile", "types": [ - "poison", - "water" + "electric", + "normal" ], "baseStats": { - "hp": 50, - "attack": 53, - "defense": 62, - "special-attack": 43, - "special-defense": 52, - "speed": 45 + "hp": 44, + "attack": 38, + "defense": 33, + "special-attack": 61, + "special-defense": 43, + "speed": 70 }, "abilities": { - "0": "Merciless", - "1": "Limber", - "H": "Regenerator" + "0": "Dry Skin", + "1": "Sand Veil", + "H": "Solar Power" }, - "heightm": 0.4, - "weightkg": 8, - "color": "Blue", + "heightm": 0.5, + "weightkg": 6, + "color": "Yellow", "evos": [ - "Toxapex" + "Heliolisk" ], "eggGroups": [ - "Water 1" + "Monster", + "Dragon" ] }, - "toxapex": { - "num": 748, - "name": "toxapex", + "heliolisk": { + "num": 695, + "name": "heliolisk", "types": [ - "poison", - "water" + "electric", + "normal" ], "baseStats": { - "hp": 50, - "attack": 63, - "defense": 152, - "special-attack": 53, - "special-defense": 142, - "speed": 35 + "hp": 62, + "attack": 55, + "defense": 52, + "special-attack": 109, + "special-defense": 94, + "speed": 109 }, "abilities": { - "0": "Merciless", - "1": "Limber", - "H": "Regenerator" + "0": "Dry Skin", + "1": "Sand Veil", + "H": "Solar Power" }, - "heightm": 0.7, - "weightkg": 14.5, - "color": "Blue", - "prevo": "Mareanie", - "evoLevel": 38, + "heightm": 1, + "weightkg": 21, + "color": "Yellow", + "prevo": "Helioptile", + "evoType": "useItem", + "evoItem": "Sun Stone", "eggGroups": [ - "Water 1" + "Monster", + "Dragon" ] }, - "mudbray": { - "num": 749, - "name": "mudbray", + "tyrunt": { + "num": 696, + "name": "tyrunt", "types": [ - "ground" + "rock", + "dragon" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 100, - "defense": 70, + "hp": 58, + "attack": 89, + "defense": 77, "special-attack": 45, - "special-defense": 55, - "speed": 45 + "special-defense": 45, + "speed": 48 }, "abilities": { - "0": "Own Tempo", - "1": "Stamina", - "H": "Inner Focus" + "0": "Strong Jaw", + "H": "Sturdy" }, - "heightm": 1, - "weightkg": 110, + "heightm": 0.8, + "weightkg": 26, "color": "Brown", "evos": [ - "Mudsdale" + "Tyrantrum" ], "eggGroups": [ - "Field" + "Monster", + "Dragon" ] }, - "mudsdale": { - "num": 750, - "name": "mudsdale", + "tyrantrum": { + "num": 697, + "name": "tyrantrum", "types": [ - "ground" + "rock", + "dragon" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 125, - "defense": 100, - "special-attack": 55, - "special-defense": 85, - "speed": 35 + "hp": 82, + "attack": 121, + "defense": 119, + "special-attack": 69, + "special-defense": 59, + "speed": 71 }, "abilities": { - "0": "Own Tempo", - "1": "Stamina", - "H": "Inner Focus" + "0": "Strong Jaw", + "H": "Rock Head" }, "heightm": 2.5, - "weightkg": 920, - "color": "Brown", - "prevo": "Mudbray", - "evoLevel": 30, + "weightkg": 270, + "color": "Red", + "prevo": "Tyrunt", + "evoLevel": 39, + "evoCondition": "during the day", "eggGroups": [ - "Field" + "Monster", + "Dragon" ] }, - "dewpider": { - "num": 751, - "name": "dewpider", + "amaura": { + "num": 698, + "name": "amaura", "types": [ - "water", - "bug" + "rock", + "ice" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 38, - "attack": 40, - "defense": 52, - "special-attack": 40, - "special-defense": 72, - "speed": 27 + "hp": 77, + "attack": 59, + "defense": 50, + "special-attack": 67, + "special-defense": 63, + "speed": 46 }, "abilities": { - "0": "Water Bubble", - "H": "Water Absorb" + "0": "Refrigerate", + "H": "Snow Warning" }, - "heightm": 0.3, - "weightkg": 4, - "color": "Green", + "heightm": 1.3, + "weightkg": 25.2, + "color": "Blue", "evos": [ - "Araquanid" + "Aurorus" ], "eggGroups": [ - "Water 1", - "Bug" + "Monster" ] }, - "araquanid": { - "num": 752, - "name": "araquanid", + "aurorus": { + "num": 699, + "name": "aurorus", "types": [ - "water", - "bug" + "rock", + "ice" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 70, - "defense": 92, - "special-attack": 50, - "special-defense": 132, - "speed": 42 + "hp": 123, + "attack": 77, + "defense": 72, + "special-attack": 99, + "special-defense": 92, + "speed": 58 }, "abilities": { - "0": "Water Bubble", - "H": "Water Absorb" + "0": "Refrigerate", + "H": "Snow Warning" }, - "heightm": 1.8, - "weightkg": 82, - "color": "Green", - "prevo": "Dewpider", - "evoLevel": 22, + "heightm": 2.7, + "weightkg": 225, + "color": "Blue", + "prevo": "Amaura", + "evoLevel": 39, + "evoCondition": "at night", "eggGroups": [ - "Water 1", - "Bug" - ], - "otherFormes": [ - "Araquanid-Totem" - ], - "formeOrder": [ - "Araquanid", - "Araquanid-Totem" + "Monster" ] }, - "araquanidtotem": { - "num": 752, - "name": "araquanid-totem", - "baseSpecies": "Araquanid", - "forme": "Totem", + "sylveon": { + "num": 700, + "name": "sylveon", "types": [ - "water", - "bug" + "fairy" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 68, - "attack": 70, - "defense": 92, - "special-attack": 50, - "special-defense": 132, - "speed": 42 + "hp": 95, + "attack": 65, + "defense": 65, + "special-attack": 110, + "special-defense": 130, + "speed": 60 }, "abilities": { - "0": "Water Bubble" + "0": "Cute Charm", + "H": "Pixilate" }, - "heightm": 3.1, - "weightkg": 217.5, - "color": "Green", + "heightm": 1, + "weightkg": 23.5, + "color": "Pink", + "prevo": "Eevee", + "evoType": "levelExtra", + "evoCondition": "with a Fairy-type move and two levels of Affection", "eggGroups": [ - "Water 1", - "Bug" + "Field" ] }, - "fomantis": { - "num": 753, - "name": "fomantis", + "hawlucha": { + "num": 701, + "name": "hawlucha", "types": [ - "grass" + "fighting", + "flying" ], "baseStats": { - "hp": 40, - "attack": 55, - "defense": 35, - "special-attack": 50, - "special-defense": 35, - "speed": 35 + "hp": 78, + "attack": 92, + "defense": 75, + "special-attack": 74, + "special-defense": 63, + "speed": 118 }, "abilities": { - "0": "Leaf Guard", - "H": "Contrary" + "0": "Limber", + "1": "Unburden", + "H": "Mold Breaker" }, - "heightm": 0.3, - "weightkg": 1.5, - "color": "Pink", - "evos": [ - "Lurantis" - ], + "heightm": 0.8, + "weightkg": 21.5, + "color": "Green", "eggGroups": [ - "Grass" + "Flying", + "Human-Like" ] }, - "lurantis": { - "num": 754, - "name": "lurantis", + "dedenne": { + "num": 702, + "name": "dedenne", "types": [ - "grass" + "electric", + "fairy" ], "baseStats": { - "hp": 70, - "attack": 105, - "defense": 90, - "special-attack": 80, - "special-defense": 90, - "speed": 45 + "hp": 67, + "attack": 58, + "defense": 57, + "special-attack": 81, + "special-defense": 67, + "speed": 101 }, "abilities": { - "0": "Leaf Guard", - "H": "Contrary" + "0": "Cheek Pouch", + "1": "Pickup", + "H": "Plus" }, - "heightm": 0.9, - "weightkg": 18.5, - "color": "Pink", - "prevo": "Fomantis", - "evoLevel": 34, - "evoCondition": "during the day", + "heightm": 0.2, + "weightkg": 2.2, + "color": "Yellow", "eggGroups": [ - "Grass" - ], - "otherFormes": [ - "Lurantis-Totem" - ], - "formeOrder": [ - "Lurantis", - "Lurantis-Totem" + "Field", + "Fairy" ] }, - "lurantistotem": { - "num": 754, - "name": "lurantis-totem", - "baseSpecies": "Lurantis", - "forme": "Totem", + "carbink": { + "num": 703, + "name": "carbink", "types": [ - "grass" + "rock", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 105, - "defense": 90, - "special-attack": 80, - "special-defense": 90, - "speed": 45 + "hp": 50, + "attack": 50, + "defense": 150, + "special-attack": 50, + "special-defense": 150, + "speed": 50 }, "abilities": { - "0": "Leaf Guard" + "0": "Clear Body", + "H": "Sturdy" }, - "heightm": 1.5, - "weightkg": 58, - "color": "Pink", + "heightm": 0.3, + "weightkg": 5.7, + "color": "Gray", "eggGroups": [ - "Grass" + "Fairy", + "Mineral" ] }, - "morelull": { - "num": 755, - "name": "morelull", + "goomy": { + "num": 704, + "name": "goomy", "types": [ - "grass", - "fairy" + "dragon" ], "baseStats": { - "hp": 40, - "attack": 35, - "defense": 55, - "special-attack": 65, + "hp": 45, + "attack": 50, + "defense": 35, + "special-attack": 55, "special-defense": 75, - "speed": 15 + "speed": 40 }, "abilities": { - "0": "Illuminate", - "1": "Effect Spore", - "H": "Rain Dish" + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" }, - "heightm": 0.2, - "weightkg": 1.5, + "heightm": 0.3, + "weightkg": 2.8, "color": "Purple", "evos": [ - "Shiinotic" + "Sliggoo", + "Sliggoo-Hisui" ], "eggGroups": [ - "Grass" + "Dragon" ] }, - "shiinotic": { - "num": 756, - "name": "shiinotic", + "sliggoo": { + "num": 705, + "name": "sliggoo", "types": [ - "grass", - "fairy" + "dragon" ], "baseStats": { - "hp": 60, - "attack": 45, - "defense": 80, - "special-attack": 90, - "special-defense": 100, - "speed": 30 + "hp": 68, + "attack": 75, + "defense": 53, + "special-attack": 83, + "special-defense": 113, + "speed": 60 }, "abilities": { - "0": "Illuminate", - "1": "Effect Spore", - "H": "Rain Dish" + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" }, - "heightm": 1, - "weightkg": 11.5, + "heightm": 0.8, + "weightkg": 17.5, "color": "Purple", - "prevo": "Morelull", - "evoLevel": 24, + "prevo": "Goomy", + "evoLevel": 40, + "evos": [ + "Goodra" + ], "eggGroups": [ - "Grass" + "Dragon" + ], + "otherFormes": [ + "Sliggoo-Hisui" + ], + "formeOrder": [ + "Sliggoo", + "Sliggoo-Hisui" ] }, - "salandit": { - "num": 757, - "name": "salandit", + "sliggoohisui": { + "num": 705, + "name": "sliggoo-hisui", + "baseSpecies": "Sliggoo", + "forme": "Hisui", "types": [ - "poison", - "fire" - ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 48, - "attack": 44, - "defense": 40, - "special-attack": 71, - "special-defense": 40, - "speed": 77 + "steel", + "dragon" + ], + "baseStats": { + "hp": 58, + "attack": 75, + "defense": 83, + "special-attack": 83, + "special-defense": 113, + "speed": 40 }, "abilities": { - "0": "Corrosion", - "H": "Oblivious" + "0": "Sap Sipper", + "1": "Shell Armor", + "H": "Gooey" }, - "heightm": 0.6, - "weightkg": 4.8, - "color": "Black", + "heightm": 0.7, + "weightkg": 68.5, + "color": "Purple", + "prevo": "Goomy", + "evoLevel": 40, "evos": [ - "Salazzle" + "Goodra-Hisui" ], "eggGroups": [ - "Monster", "Dragon" ] }, - "salazzle": { - "num": 758, - "name": "salazzle", + "goodra": { + "num": 706, + "name": "goodra", "types": [ - "poison", - "fire" + "dragon" ], - "gender": "F", "baseStats": { - "hp": 68, - "attack": 64, - "defense": 60, - "special-attack": 111, - "special-defense": 60, - "speed": 117 + "hp": 90, + "attack": 100, + "defense": 70, + "special-attack": 110, + "special-defense": 150, + "speed": 80 }, "abilities": { - "0": "Corrosion", - "H": "Oblivious" + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" }, - "heightm": 1.2, - "weightkg": 22.2, - "color": "Black", - "prevo": "Salandit", - "evoLevel": 33, + "heightm": 2, + "weightkg": 150.5, + "color": "Purple", + "prevo": "Sliggoo", + "evoLevel": 50, + "evoCondition": "during rain", "eggGroups": [ - "Monster", "Dragon" ], "otherFormes": [ - "Salazzle-Totem" + "Goodra-Hisui" ], "formeOrder": [ - "Salazzle", - "Salazzle-Totem" + "Goodra", + "Goodra-Hisui" ] }, - "salazzletotem": { - "num": 758, - "name": "salazzle-totem", - "baseSpecies": "Salazzle", - "forme": "Totem", + "goodrahisui": { + "num": 706, + "name": "goodra-hisui", + "baseSpecies": "Goodra", + "forme": "Hisui", "types": [ - "poison", - "fire" + "steel", + "dragon" ], - "gender": "F", "baseStats": { - "hp": 68, - "attack": 64, - "defense": 60, - "special-attack": 111, - "special-defense": 60, - "speed": 117 + "hp": 80, + "attack": 100, + "defense": 100, + "special-attack": 110, + "special-defense": 150, + "speed": 60 }, "abilities": { - "0": "Corrosion" + "0": "Sap Sipper", + "1": "Shell Armor", + "H": "Gooey" }, - "heightm": 2.1, - "weightkg": 81, - "color": "Black", + "heightm": 1.7, + "weightkg": 334.1, + "color": "Purple", + "prevo": "Sliggoo-Hisui", + "evoLevel": 50, + "evoCondition": "during rain", "eggGroups": [ - "Monster", "Dragon" ] }, - "stufful": { - "num": 759, - "name": "stufful", + "klefki": { + "num": 707, + "name": "klefki", "types": [ - "normal", - "fighting" + "steel", + "fairy" ], "baseStats": { - "hp": 70, - "attack": 75, - "defense": 50, - "special-attack": 45, - "special-defense": 50, - "speed": 50 + "hp": 57, + "attack": 80, + "defense": 91, + "special-attack": 80, + "special-defense": 87, + "speed": 75 }, "abilities": { - "0": "Fluffy", - "1": "Klutz", - "H": "Cute Charm" + "0": "Prankster", + "H": "Magician" }, - "heightm": 0.5, - "weightkg": 6.8, - "color": "Pink", - "evos": [ - "Bewear" - ], + "heightm": 0.2, + "weightkg": 3, + "color": "Gray", "eggGroups": [ - "Field" + "Mineral" ] }, - "bewear": { - "num": 760, - "name": "bewear", + "phantump": { + "num": 708, + "name": "phantump", "types": [ - "normal", - "fighting" + "ghost", + "grass" ], "baseStats": { - "hp": 120, - "attack": 125, - "defense": 80, - "special-attack": 55, + "hp": 43, + "attack": 70, + "defense": 48, + "special-attack": 50, "special-defense": 60, - "speed": 60 + "speed": 38 }, "abilities": { - "0": "Fluffy", - "1": "Klutz", - "H": "Unnerve" + "0": "Natural Cure", + "1": "Frisk", + "H": "Harvest" }, - "heightm": 2.1, - "weightkg": 135, - "color": "Pink", - "prevo": "Stufful", - "evoLevel": 27, + "heightm": 0.4, + "weightkg": 7, + "color": "Brown", + "evos": [ + "Trevenant" + ], "eggGroups": [ - "Field" + "Grass", + "Amorphous" ] }, - "bounsweet": { - "num": 761, - "name": "bounsweet", + "trevenant": { + "num": 709, + "name": "trevenant", "types": [ + "ghost", "grass" ], - "gender": "F", "baseStats": { - "hp": 42, - "attack": 30, - "defense": 38, - "special-attack": 30, - "special-defense": 38, - "speed": 32 + "hp": 85, + "attack": 110, + "defense": 76, + "special-attack": 65, + "special-defense": 82, + "speed": 56 }, "abilities": { - "0": "Leaf Guard", - "1": "Oblivious", - "H": "Sweet Veil" + "0": "Natural Cure", + "1": "Frisk", + "H": "Harvest" }, - "heightm": 0.3, - "weightkg": 3.2, - "color": "Purple", - "evos": [ - "Steenee" - ], + "heightm": 1.5, + "weightkg": 71, + "color": "Brown", + "prevo": "Phantump", + "evoType": "trade", "eggGroups": [ - "Grass" + "Grass", + "Amorphous" ] }, - "steenee": { - "num": 762, - "name": "steenee", + "pumpkaboo": { + "num": 710, + "name": "pumpkaboo", + "baseForme": "Average", "types": [ + "ghost", "grass" ], - "gender": "F", "baseStats": { - "hp": 52, - "attack": 40, - "defense": 48, - "special-attack": 40, - "special-defense": 48, - "speed": 62 + "hp": 49, + "attack": 66, + "defense": 70, + "special-attack": 44, + "special-defense": 55, + "speed": 51 }, "abilities": { - "0": "Leaf Guard", - "1": "Oblivious", - "H": "Sweet Veil" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 0.7, - "weightkg": 8.2, - "color": "Purple", - "prevo": "Bounsweet", - "evoLevel": 18, + "heightm": 0.4, + "weightkg": 5, + "color": "Brown", "evos": [ - "Tsareena" + "Gourgeist" ], "eggGroups": [ - "Grass" + "Amorphous" + ], + "otherFormes": [ + "Pumpkaboo-Small", + "Pumpkaboo-Large", + "Pumpkaboo-Super" + ], + "formeOrder": [ + "Pumpkaboo", + "Pumpkaboo-Small", + "Pumpkaboo-Large", + "Pumpkaboo-Super" ] }, - "tsareena": { - "num": 763, - "name": "tsareena", + "pumpkaboosmall": { + "num": 710, + "name": "pumpkaboo-small", + "baseSpecies": "Pumpkaboo", + "forme": "Small", "types": [ + "ghost", "grass" ], - "gender": "F", "baseStats": { - "hp": 72, - "attack": 120, - "defense": 98, - "special-attack": 50, - "special-defense": 98, - "speed": 72 + "hp": 44, + "attack": 66, + "defense": 70, + "special-attack": 44, + "special-defense": 55, + "speed": 56 }, "abilities": { - "0": "Leaf Guard", - "1": "Queenly Majesty", - "H": "Sweet Veil" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 1.2, - "weightkg": 21.4, - "color": "Purple", - "prevo": "Steenee", - "evoType": "levelMove", - "evoMove": "Stomp", + "heightm": 0.3, + "weightkg": 3.5, + "color": "Brown", + "evos": [ + "Gourgeist-Small" + ], "eggGroups": [ - "Grass" + "Amorphous" ] }, - "comfey": { - "num": 764, - "name": "comfey", + "pumpkaboolarge": { + "num": 710, + "name": "pumpkaboo-large", + "baseSpecies": "Pumpkaboo", + "forme": "Large", "types": [ - "fairy" + "ghost", + "grass" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, "baseStats": { - "hp": 51, - "attack": 52, - "defense": 90, - "special-attack": 82, - "special-defense": 110, - "speed": 100 + "hp": 54, + "attack": 66, + "defense": 70, + "special-attack": 44, + "special-defense": 55, + "speed": 46 }, "abilities": { - "0": "Flower Veil", - "1": "Triage", - "H": "Natural Cure" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 0.1, - "weightkg": 0.3, - "color": "Green", + "heightm": 0.5, + "weightkg": 7.5, + "color": "Brown", + "evos": [ + "Gourgeist-Large" + ], "eggGroups": [ - "Grass" + "Amorphous" ] }, - "oranguru": { - "num": 765, - "name": "oranguru", + "pumpkaboosuper": { + "num": 710, + "name": "pumpkaboo-super", + "baseSpecies": "Pumpkaboo", + "forme": "Super", "types": [ - "normal", - "psychic" + "ghost", + "grass" ], "baseStats": { - "hp": 90, - "attack": 60, - "defense": 80, - "special-attack": 90, - "special-defense": 110, - "speed": 60 + "hp": 59, + "attack": 66, + "defense": 70, + "special-attack": 44, + "special-defense": 55, + "speed": 41 }, "abilities": { - "0": "Inner Focus", - "1": "Telepathy", - "H": "Symbiosis" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 1.5, - "weightkg": 76, - "color": "White", + "heightm": 0.8, + "weightkg": 15, + "color": "Brown", + "evos": [ + "Gourgeist-Super" + ], "eggGroups": [ - "Field" + "Amorphous" ] }, - "passimian": { - "num": 766, - "name": "passimian", + "gourgeist": { + "num": 711, + "name": "gourgeist", + "baseForme": "Average", "types": [ - "fighting" + "ghost", + "grass" ], "baseStats": { - "hp": 100, - "attack": 120, - "defense": 90, - "special-attack": 40, - "special-defense": 60, - "speed": 80 + "hp": 65, + "attack": 90, + "defense": 122, + "special-attack": 58, + "special-defense": 75, + "speed": 84 }, "abilities": { - "0": "Receiver", - "H": "Defiant" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 2, - "weightkg": 82.8, - "color": "White", + "heightm": 0.9, + "weightkg": 12.5, + "color": "Brown", + "prevo": "Pumpkaboo", + "evoType": "trade", "eggGroups": [ - "Field" - ] - }, - "wimpod": { - "num": 767, - "name": "wimpod", - "types": [ - "bug", - "water" + "Amorphous" ], - "baseStats": { - "hp": 25, - "attack": 35, - "defense": 40, - "special-attack": 20, - "special-defense": 30, - "speed": 80 - }, - "abilities": { - "0": "Wimp Out" - }, - "heightm": 0.5, - "weightkg": 12, - "color": "Gray", - "evos": [ - "Golisopod" + "otherFormes": [ + "Gourgeist-Small", + "Gourgeist-Large", + "Gourgeist-Super" ], - "eggGroups": [ - "Bug", - "Water 3" + "formeOrder": [ + "Gourgeist", + "Gourgeist-Small", + "Gourgeist-Large", + "Gourgeist-Super" ] }, - "golisopod": { - "num": 768, - "name": "golisopod", + "gourgeistsmall": { + "num": 711, + "name": "gourgeist-small", + "baseSpecies": "Gourgeist", + "forme": "Small", "types": [ - "bug", - "water" + "ghost", + "grass" ], "baseStats": { - "hp": 75, - "attack": 125, - "defense": 140, - "special-attack": 60, - "special-defense": 90, - "speed": 40 + "hp": 55, + "attack": 85, + "defense": 122, + "special-attack": 58, + "special-defense": 75, + "speed": 99 }, "abilities": { - "0": "Emergency Exit" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 2, - "weightkg": 108, - "color": "Gray", - "prevo": "Wimpod", - "evoLevel": 30, + "heightm": 0.7, + "weightkg": 9.5, + "color": "Brown", + "prevo": "Pumpkaboo-Small", + "evoType": "trade", "eggGroups": [ - "Bug", - "Water 3" + "Amorphous" ] }, - "sandygast": { - "num": 769, - "name": "sandygast", + "gourgeistlarge": { + "num": 711, + "name": "gourgeist-large", + "baseSpecies": "Gourgeist", + "forme": "Large", "types": [ "ghost", - "ground" + "grass" ], "baseStats": { - "hp": 55, - "attack": 55, - "defense": 80, - "special-attack": 70, - "special-defense": 45, - "speed": 15 + "hp": 75, + "attack": 95, + "defense": 122, + "special-attack": 58, + "special-defense": 75, + "speed": 69 }, "abilities": { - "0": "Water Compaction", - "H": "Sand Veil" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 0.5, - "weightkg": 70, + "heightm": 1.1, + "weightkg": 14, "color": "Brown", - "evos": [ - "Palossand" - ], + "prevo": "Pumpkaboo-Large", + "evoType": "trade", "eggGroups": [ "Amorphous" ] }, - "palossand": { - "num": 770, - "name": "palossand", + "gourgeistsuper": { + "num": 711, + "name": "gourgeist-super", + "baseSpecies": "Gourgeist", + "forme": "Super", "types": [ "ghost", - "ground" + "grass" ], "baseStats": { "hp": 85, - "attack": 75, - "defense": 110, - "special-attack": 100, + "attack": 100, + "defense": 122, + "special-attack": 58, "special-defense": 75, - "speed": 35 + "speed": 54 }, "abilities": { - "0": "Water Compaction", - "H": "Sand Veil" + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" }, - "heightm": 1.3, - "weightkg": 250, + "heightm": 1.7, + "weightkg": 39, "color": "Brown", - "prevo": "Sandygast", - "evoLevel": 42, + "prevo": "Pumpkaboo-Super", + "evoType": "trade", "eggGroups": [ "Amorphous" ] }, - "pyukumuku": { - "num": 771, - "name": "pyukumuku", + "bergmite": { + "num": 712, + "name": "bergmite", "types": [ - "water" + "ice" ], "baseStats": { "hp": 55, - "attack": 60, - "defense": 130, - "special-attack": 30, - "special-defense": 130, - "speed": 5 + "attack": 69, + "defense": 85, + "special-attack": 32, + "special-defense": 35, + "speed": 28 }, "abilities": { - "0": "Innards Out", - "H": "Unaware" + "0": "Own Tempo", + "1": "Ice Body", + "H": "Sturdy" }, - "heightm": 0.3, - "weightkg": 1.2, - "color": "Black", + "heightm": 1, + "weightkg": 99.5, + "color": "Blue", + "evos": [ + "Avalugg", + "Avalugg-Hisui" + ], "eggGroups": [ - "Water 1" + "Monster", + "Mineral" ] }, - "typenull": { - "num": 772, - "name": "type: null", + "avalugg": { + "num": 713, + "name": "avalugg", "types": [ - "normal" + "ice" ], - "gender": "N", "baseStats": { "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 59 + "attack": 117, + "defense": 184, + "special-attack": 44, + "special-defense": 46, + "speed": 28 }, "abilities": { - "0": "Battle Armor" + "0": "Own Tempo", + "1": "Ice Body", + "H": "Sturdy" }, - "heightm": 1.9, - "weightkg": 120.5, - "color": "Gray", - "tags": [ - "Sub-Legendary" + "heightm": 2, + "weightkg": 505, + "color": "Blue", + "prevo": "Bergmite", + "evoLevel": 37, + "eggGroups": [ + "Monster", + "Mineral" ], - "evos": [ - "Silvally" + "otherFormes": [ + "Avalugg-Hisui" ], - "eggGroups": [ - "Undiscovered" + "formeOrder": [ + "Avalugg", + "Avalugg-Hisui" ] }, - "silvally": { - "num": 773, - "name": "silvally", + "avalugghisui": { + "num": 713, + "name": "avalugg-hisui", + "baseSpecies": "Avalugg", + "forme": "Hisui", "types": [ - "normal" + "ice", + "rock" ], - "gender": "N", "baseStats": { "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "attack": 127, + "defense": 184, + "special-attack": 34, + "special-defense": 36, + "speed": 38 }, "abilities": { - "0": "RKS System" + "0": "Strong Jaw", + "1": "Ice Body", + "H": "Sturdy" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", - "tags": [ - "Sub-Legendary" - ], - "prevo": "Type: Null", - "evoType": "levelFriendship", + "heightm": 1.4, + "weightkg": 262.4, + "color": "Blue", + "prevo": "Bergmite", + "evoLevel": 37, "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Silvally-Bug", - "Silvally-Dark", - "Silvally-Dragon", - "Silvally-Electric", - "Silvally-Fairy", - "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", - "Silvally-Fairy" + "Monster", + "Mineral" ] }, - "silvallybug": { - "num": 773, - "name": "silvally-bug", - "baseSpecies": "Silvally", - "forme": "Bug", + "noibat": { + "num": 714, + "name": "noibat", "types": [ - "bug" + "flying", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 40, + "attack": 30, + "defense": 35, + "special-attack": 45, + "special-defense": 40, + "speed": 55 }, "abilities": { - "0": "RKS System" + "0": "Frisk", + "1": "Infiltrator", + "H": "Telepathy" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.5, + "weightkg": 8, + "color": "Purple", + "evos": [ + "Noivern" ], - "requiredItem": "Bug Memory", - "changesFrom": "Silvally" + "eggGroups": [ + "Flying", + "Dragon" + ] }, - "silvallydark": { - "num": 773, - "name": "silvally-dark", - "baseSpecies": "Silvally", - "forme": "Dark", + "noivern": { + "num": 715, + "name": "noivern", "types": [ - "dark" + "flying", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 85, + "attack": 70, + "defense": 80, + "special-attack": 97, + "special-defense": 80, + "speed": 123 }, "abilities": { - "0": "RKS System" + "0": "Frisk", + "1": "Infiltrator", + "H": "Telepathy" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.5, + "weightkg": 85, + "color": "Purple", + "prevo": "Noibat", + "evoLevel": 48, "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Dark Memory", - "changesFrom": "Silvally" + "Flying", + "Dragon" + ] }, - "silvallydragon": { - "num": 773, - "name": "silvally-dragon", - "baseSpecies": "Silvally", - "forme": "Dragon", + "xerneas": { + "num": 716, + "name": "xerneas", + "baseForme": "Active", "types": [ - "dragon" + "fairy" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, + "hp": 126, + "attack": 131, "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "special-attack": 131, + "special-defense": 98, + "speed": 99 }, "abilities": { - "0": "RKS System" + "0": "Fairy Aura" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 3, + "weightkg": 215, + "color": "Blue", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Dragon Memory", - "changesFrom": "Silvally" + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Xerneas-Neutral" + ], + "formeOrder": [ + "Xerneas-Neutral", + "Xerneas" + ] }, - "silvallyelectric": { - "num": 773, - "name": "silvally-electric", - "baseSpecies": "Silvally", - "forme": "Electric", + "xerneasneutral": { + "num": 716, + "name": "xerneas-neutral", + "baseSpecies": "Xerneas", + "forme": "Neutral", "types": [ - "electric" + "fairy" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, + "hp": 126, + "attack": 131, "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "special-attack": 131, + "special-defense": 98, + "speed": 99 }, "abilities": { - "0": "RKS System" + "0": "Fairy Aura" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 3, + "weightkg": 215, + "color": "Blue", "eggGroups": [ "Undiscovered" - ], - "requiredItem": "Electric Memory", - "changesFrom": "Silvally" + ] }, - "silvallyfairy": { - "num": 773, - "name": "silvally-fairy", - "baseSpecies": "Silvally", - "forme": "Fairy", + "yveltal": { + "num": 717, + "name": "yveltal", "types": [ - "fairy" + "dark", + "flying" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, + "hp": 126, + "attack": 131, "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "special-attack": 131, + "special-defense": 98, + "speed": 99 }, "abilities": { - "0": "RKS System" + "0": "Dark Aura" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 5.8, + "weightkg": 203, + "color": "Red", + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ "Undiscovered" - ], - "requiredItem": "Fairy Memory", - "changesFrom": "Silvally" + ] }, - "silvallyfighting": { - "num": 773, - "name": "silvally-fighting", - "baseSpecies": "Silvally", - "forme": "Fighting", + "zygarde": { + "num": 718, + "name": "zygarde", + "baseForme": "50%", "types": [ - "fighting" + "dragon", + "ground" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, + "hp": 108, + "attack": 100, + "defense": 121, + "special-attack": 81, "special-defense": 95, "speed": 95 }, "abilities": { - "0": "RKS System" + "0": "Aura Break", + "S": "Power Construct" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 5, + "weightkg": 305, + "color": "Green", + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ "Undiscovered" ], - "requiredItem": "Fighting Memory", - "changesFrom": "Silvally" + "otherFormes": [ + "Zygarde-10%", + "Zygarde-Complete" + ], + "formeOrder": [ + "Zygarde", + "Zygarde-10%", + "Zygarde-10%", + "Zygarde", + "Zygarde-Complete" + ] }, - "silvallyfire": { - "num": 773, - "name": "silvally-fire", - "baseSpecies": "Silvally", - "forme": "Fire", + "zygarde10": { + "num": 718, + "name": "zygarde-10%", + "baseSpecies": "Zygarde", + "forme": "10%", "types": [ - "fire" + "dragon", + "ground" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 54, + "attack": 100, + "defense": 71, + "special-attack": 61, + "special-defense": 85, + "speed": 115 }, "abilities": { - "0": "RKS System" + "0": "Aura Break", + "S": "Power Construct" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.2, + "weightkg": 33.5, + "color": "Black", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Fire Memory", - "changesFrom": "Silvally" + "changesFrom": "Zygarde", + "gen": 7 }, - "silvallyflying": { - "num": 773, - "name": "silvally-flying", - "baseSpecies": "Silvally", - "forme": "Flying", + "zygardecomplete": { + "num": 718, + "name": "zygarde-complete", + "baseSpecies": "Zygarde", + "forme": "Complete", "types": [ - "flying" + "dragon", + "ground" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, + "hp": 216, + "attack": 100, + "defense": 121, + "special-attack": 91, "special-defense": 95, - "speed": 95 + "speed": 85 }, "abilities": { - "0": "RKS System" + "0": "Power Construct" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 4.5, + "weightkg": 610, + "color": "Black", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Flying Memory", - "changesFrom": "Silvally" + "requiredAbility": "Power Construct", + "battleOnly": [ + "Zygarde", + "Zygarde-10%" + ], + "gen": 7 }, - "silvallyghost": { - "num": 773, - "name": "silvally-ghost", - "baseSpecies": "Silvally", - "forme": "Ghost", + "diancie": { + "num": 719, + "name": "diancie", "types": [ - "ghost" + "rock", + "fairy" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 50, + "attack": 100, + "defense": 150, + "special-attack": 100, + "special-defense": 150, + "speed": 50 }, "abilities": { - "0": "RKS System" + "0": "Clear Body" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 0.7, + "weightkg": 8.8, + "color": "Pink", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Ghost Memory", - "changesFrom": "Silvally" + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Diancie-Mega" + ], + "formeOrder": [ + "Diancie", + "Diancie-Mega" + ] }, - "silvallygrass": { - "num": 773, - "name": "silvally-grass", - "baseSpecies": "Silvally", - "forme": "Grass", + "dianciemega": { + "num": 719, + "name": "diancie-mega", + "baseSpecies": "Diancie", + "forme": "Mega", "types": [ - "grass" + "rock", + "fairy" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 50, + "attack": 160, + "defense": 110, + "special-attack": 160, + "special-defense": 110, + "speed": 110 }, "abilities": { - "0": "RKS System" + "0": "Magic Bounce" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.1, + "weightkg": 27.8, + "color": "Pink", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Grass Memory", - "changesFrom": "Silvally" + "requiredItem": "Diancite" }, - "silvallyground": { - "num": 773, - "name": "silvally-ground", - "baseSpecies": "Silvally", - "forme": "Ground", + "hoopa": { + "num": 720, + "name": "hoopa", + "baseForme": "Confined", "types": [ - "ground" + "psychic", + "ghost" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 80, + "attack": 110, + "defense": 60, + "special-attack": 150, + "special-defense": 130, + "speed": 70 }, "abilities": { - "0": "RKS System" + "0": "Magician" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 0.5, + "weightkg": 9, + "color": "Purple", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Ground Memory", - "changesFrom": "Silvally" + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Hoopa-Unbound" + ], + "formeOrder": [ + "Hoopa", + "Hoopa-Unbound" + ] }, - "silvallyice": { - "num": 773, - "name": "silvally-ice", - "baseSpecies": "Silvally", - "forme": "Ice", + "hoopaunbound": { + "num": 720, + "name": "hoopa-unbound", + "baseSpecies": "Hoopa", + "forme": "Unbound", "types": [ - "ice" + "psychic", + "dark" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 80, + "attack": 160, + "defense": 60, + "special-attack": 170, + "special-defense": 130, + "speed": 80 }, "abilities": { - "0": "RKS System" + "0": "Magician" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 6.5, + "weightkg": 490, + "color": "Purple", "eggGroups": [ "Undiscovered" ], - "requiredItem": "Ice Memory", - "changesFrom": "Silvally" + "changesFrom": "Hoopa" }, - "silvallypoison": { - "num": 773, - "name": "silvally-poison", - "baseSpecies": "Silvally", - "forme": "Poison", + "volcanion": { + "num": 721, + "name": "volcanion", "types": [ - "poison" + "fire", + "water" ], "gender": "N", "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 80, + "attack": 110, + "defense": 120, + "special-attack": 130, + "special-defense": 90, + "speed": 70 }, "abilities": { - "0": "RKS System" + "0": "Water Absorb" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.7, + "weightkg": 195, + "color": "Brown", + "tags": [ + "Mythical" + ], "eggGroups": [ "Undiscovered" - ], - "requiredItem": "Poison Memory", - "changesFrom": "Silvally" + ] }, - "silvallypsychic": { - "num": 773, - "name": "silvally-psychic", - "baseSpecies": "Silvally", - "forme": "Psychic", + "rowlet": { + "num": 722, + "name": "rowlet", "types": [ - "psychic" + "grass", + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 68, + "attack": 55, + "defense": 55, + "special-attack": 50, + "special-defense": 50, + "speed": 42 }, "abilities": { - "0": "RKS System" + "0": "Overgrow", + "H": "Long Reach" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.3, + "weightkg": 1.5, + "color": "Brown", + "evos": [ + "Dartrix" ], - "requiredItem": "Psychic Memory", - "changesFrom": "Silvally" + "eggGroups": [ + "Flying" + ] }, - "silvallyrock": { - "num": 773, - "name": "silvally-rock", - "baseSpecies": "Silvally", - "forme": "Rock", + "dartrix": { + "num": 723, + "name": "dartrix", "types": [ - "rock" + "grass", + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 78, + "attack": 75, + "defense": 75, + "special-attack": 70, + "special-defense": 70, + "speed": 52 }, "abilities": { - "0": "RKS System" + "0": "Overgrow", + "H": "Long Reach" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.7, + "weightkg": 16, + "color": "Brown", + "prevo": "Rowlet", + "evoLevel": 17, + "evos": [ + "Decidueye", + "Decidueye-Hisui" ], - "requiredItem": "Rock Memory", - "changesFrom": "Silvally" + "eggGroups": [ + "Flying" + ] }, - "silvallysteel": { - "num": 773, - "name": "silvally-steel", - "baseSpecies": "Silvally", - "forme": "Steel", + "decidueye": { + "num": 724, + "name": "decidueye", "types": [ - "steel" + "grass", + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, - "special-attack": 95, - "special-defense": 95, - "speed": 95 + "hp": 78, + "attack": 107, + "defense": 75, + "special-attack": 100, + "special-defense": 100, + "speed": 70 }, "abilities": { - "0": "RKS System" + "0": "Overgrow", + "H": "Long Reach" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.6, + "weightkg": 36.6, + "color": "Brown", + "prevo": "Dartrix", + "evoLevel": 34, "eggGroups": [ - "Undiscovered" + "Flying" ], - "requiredItem": "Steel Memory", - "changesFrom": "Silvally" + "otherFormes": [ + "Decidueye-Hisui" + ], + "formeOrder": [ + "Decidueye", + "Decidueye-Hisui" + ] }, - "silvallywater": { - "num": 773, - "name": "silvally-water", - "baseSpecies": "Silvally", - "forme": "Water", + "decidueyehisui": { + "num": 724, + "name": "decidueye-hisui", + "baseSpecies": "Decidueye", + "forme": "Hisui", "types": [ - "water" + "grass", + "fighting" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 95, - "attack": 95, - "defense": 95, + "hp": 88, + "attack": 112, + "defense": 80, "special-attack": 95, "special-defense": 95, - "speed": 95 + "speed": 60 }, "abilities": { - "0": "RKS System" + "0": "Overgrow", + "H": "Scrappy" }, - "heightm": 2.3, - "weightkg": 100.5, - "color": "Gray", + "heightm": 1.6, + "weightkg": 37, + "color": "Brown", + "prevo": "Dartrix", + "evoLevel": 36, "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Water Memory", - "changesFrom": "Silvally" + "Flying" + ] }, - "minior": { - "num": 774, - "name": "minior", - "baseForme": "Red", + "litten": { + "num": 725, + "name": "litten", "types": [ - "rock", - "flying" + "fire" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 100, - "defense": 60, - "special-attack": 100, - "special-defense": 60, - "speed": 120 + "hp": 45, + "attack": 65, + "defense": 40, + "special-attack": 60, + "special-defense": 40, + "speed": 70 }, "abilities": { - "0": "Shields Down" + "0": "Blaze", + "H": "Intimidate" }, - "heightm": 0.3, - "weightkg": 0.3, + "heightm": 0.4, + "weightkg": 4.3, "color": "Red", - "eggGroups": [ - "Mineral" - ], - "otherFormes": [ - "Minior-Meteor" + "evos": [ + "Torracat" ], - "cosmeticFormes": [ - "Minior-Orange", - "Minior-Yellow", - "Minior-Green", - "Minior-Blue", - "Minior-Indigo", - "Minior-Violet" + "eggGroups": [ + "Field" + ] + }, + "torracat": { + "num": 726, + "name": "torracat", + "types": [ + "fire" ], - "formeOrder": [ - "Minior-Meteor", - "Minior-Meteor", - "Minior-Meteor", - "Minior-Meteor", - "Minior-Meteor", - "Minior-Meteor", - "Minior-Meteor", - "Minior", - "Minior-Orange", - "Minior-Yellow", - "Minior-Green", - "Minior-Blue", - "Minior-Indigo", - "Minior-Violet" + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "attack": 85, + "defense": 50, + "special-attack": 80, + "special-defense": 50, + "speed": 90 + }, + "abilities": { + "0": "Blaze", + "H": "Intimidate" + }, + "heightm": 0.7, + "weightkg": 25, + "color": "Red", + "prevo": "Litten", + "evoLevel": 17, + "evos": [ + "Incineroar" + ], + "eggGroups": [ + "Field" ] }, - "miniormeteor": { - "num": 774, - "name": "minior-meteor", - "baseSpecies": "Minior", - "forme": "Meteor", + "incineroar": { + "num": 727, + "name": "incineroar", "types": [ - "rock", - "flying" + "fire", + "dark" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 60, - "defense": 100, - "special-attack": 60, - "special-defense": 100, + "hp": 95, + "attack": 115, + "defense": 90, + "special-attack": 80, + "special-defense": 90, "speed": 60 }, "abilities": { - "0": "Shields Down" + "0": "Blaze", + "H": "Intimidate" }, - "heightm": 0.3, - "weightkg": 40, - "color": "Brown", + "heightm": 1.8, + "weightkg": 83, + "color": "Red", + "prevo": "Torracat", + "evoLevel": 34, "eggGroups": [ - "Mineral" - ], - "requiredAbility": "Shields Down", - "battleOnly": "Minior" + "Field" + ] }, - "komala": { - "num": 775, - "name": "komala", + "popplio": { + "num": 728, + "name": "popplio", "types": [ - "normal" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 65, - "attack": 115, - "defense": 65, - "special-attack": 75, - "special-defense": 95, - "speed": 65 + "hp": 50, + "attack": 54, + "defense": 54, + "special-attack": 66, + "special-defense": 56, + "speed": 40 }, "abilities": { - "0": "Comatose" + "0": "Torrent", + "H": "Liquid Voice" }, "heightm": 0.4, - "weightkg": 19.9, + "weightkg": 7.5, "color": "Blue", + "evos": [ + "Brionne" + ], "eggGroups": [ + "Water 1", "Field" ] }, - "turtonator": { - "num": 776, - "name": "turtonator", + "brionne": { + "num": 729, + "name": "brionne", "types": [ - "fire", - "dragon" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 60, - "attack": 78, - "defense": 135, + "attack": 69, + "defense": 69, "special-attack": 91, - "special-defense": 85, - "speed": 36 + "special-defense": 81, + "speed": 50 }, "abilities": { - "0": "Shell Armor" + "0": "Torrent", + "H": "Liquid Voice" }, - "heightm": 2, - "weightkg": 212, - "color": "Red", + "heightm": 0.6, + "weightkg": 17.5, + "color": "Blue", + "prevo": "Popplio", + "evoLevel": 17, + "evos": [ + "Primarina" + ], "eggGroups": [ - "Monster", - "Dragon" + "Water 1", + "Field" ] }, - "togedemaru": { - "num": 777, - "name": "togedemaru", + "primarina": { + "num": 730, + "name": "primarina", "types": [ - "electric", - "steel" + "water", + "fairy" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 65, - "attack": 98, - "defense": 63, - "special-attack": 40, - "special-defense": 73, - "speed": 96 + "hp": 80, + "attack": 74, + "defense": 74, + "special-attack": 126, + "special-defense": 116, + "speed": 60 }, "abilities": { - "0": "Iron Barbs", - "1": "Lightning Rod", - "H": "Sturdy" + "0": "Torrent", + "H": "Liquid Voice" }, - "heightm": 0.3, - "weightkg": 3.3, - "color": "Gray", + "heightm": 1.8, + "weightkg": 44, + "color": "Blue", + "prevo": "Brionne", + "evoLevel": 34, "eggGroups": [ - "Field", - "Fairy" + "Water 1", + "Field" + ] + }, + "pikipek": { + "num": 731, + "name": "pikipek", + "types": [ + "normal", + "flying" ], - "otherFormes": [ - "Togedemaru-Totem" + "baseStats": { + "hp": 35, + "attack": 75, + "defense": 30, + "special-attack": 30, + "special-defense": 30, + "speed": 65 + }, + "abilities": { + "0": "Keen Eye", + "1": "Skill Link", + "H": "Pickup" + }, + "heightm": 0.3, + "weightkg": 1.2, + "color": "Black", + "evos": [ + "Trumbeak" ], - "formeOrder": [ - "Togedemaru", - "Togedemaru-Totem" + "eggGroups": [ + "Flying" ] }, - "togedemarutotem": { - "num": 777, - "name": "togedemaru-totem", - "baseSpecies": "Togedemaru", - "forme": "Totem", + "trumbeak": { + "num": 732, + "name": "trumbeak", "types": [ - "electric", - "steel" + "normal", + "flying" ], "baseStats": { - "hp": 65, - "attack": 98, - "defense": 63, + "hp": 55, + "attack": 85, + "defense": 50, "special-attack": 40, - "special-defense": 73, - "speed": 96 + "special-defense": 50, + "speed": 75 }, "abilities": { - "0": "Sturdy" + "0": "Keen Eye", + "1": "Skill Link", + "H": "Pickup" }, "heightm": 0.6, - "weightkg": 13, - "color": "Gray", + "weightkg": 14.8, + "color": "Black", + "prevo": "Pikipek", + "evoLevel": 14, + "evos": [ + "Toucannon" + ], "eggGroups": [ - "Field", - "Fairy" + "Flying" ] }, - "mimikyu": { - "num": 778, - "name": "mimikyu", - "baseForme": "Disguised", + "toucannon": { + "num": 733, + "name": "toucannon", "types": [ - "ghost", - "fairy" + "normal", + "flying" ], "baseStats": { - "hp": 55, - "attack": 90, - "defense": 80, - "special-attack": 50, - "special-defense": 105, - "speed": 96 + "hp": 80, + "attack": 120, + "defense": 75, + "special-attack": 75, + "special-defense": 75, + "speed": 60 }, "abilities": { - "0": "Disguise" + "0": "Keen Eye", + "1": "Skill Link", + "H": "Sheer Force" }, - "heightm": 0.2, - "weightkg": 0.7, - "color": "Yellow", + "heightm": 1.1, + "weightkg": 26, + "color": "Black", + "prevo": "Trumbeak", + "evoLevel": 28, "eggGroups": [ - "Amorphous" - ], - "otherFormes": [ - "Mimikyu-Busted", - "Mimikyu-Totem", - "Mimikyu-Busted-Totem" - ], - "formeOrder": [ - "Mimikyu", - "Mimikyu-Busted", - "Mimikyu-Totem", - "Mimikyu-Busted-Totem" + "Flying" ] }, - "mimikyubusted": { - "num": 778, - "name": "mimikyu-busted", - "baseSpecies": "Mimikyu", - "forme": "Busted", + "yungoos": { + "num": 734, + "name": "yungoos", "types": [ - "ghost", - "fairy" + "normal" ], "baseStats": { - "hp": 55, - "attack": 90, - "defense": 80, - "special-attack": 50, - "special-defense": 105, - "speed": 96 + "hp": 48, + "attack": 70, + "defense": 30, + "special-attack": 30, + "special-defense": 30, + "speed": 45 }, "abilities": { - "0": "Disguise" + "0": "Stakeout", + "1": "Strong Jaw", + "H": "Adaptability" }, - "heightm": 0.2, - "weightkg": 0.7, - "color": "Yellow", - "eggGroups": [ - "Amorphous" + "heightm": 0.4, + "weightkg": 6, + "color": "Brown", + "evos": [ + "Gumshoos" ], - "requiredAbility": "Disguise", - "battleOnly": "Mimikyu" + "eggGroups": [ + "Field" + ] }, - "mimikyutotem": { - "num": 778, - "name": "mimikyu-totem", - "baseSpecies": "Mimikyu", - "forme": "Totem", + "gumshoos": { + "num": 735, + "name": "gumshoos", "types": [ - "ghost", - "fairy" + "normal" ], "baseStats": { - "hp": 55, - "attack": 90, - "defense": 80, - "special-attack": 50, - "special-defense": 105, - "speed": 96 + "hp": 88, + "attack": 110, + "defense": 60, + "special-attack": 55, + "special-defense": 60, + "speed": 45 }, "abilities": { - "0": "Disguise" + "0": "Stakeout", + "1": "Strong Jaw", + "H": "Adaptability" }, - "heightm": 0.4, - "weightkg": 2.8, - "color": "Yellow", + "heightm": 0.7, + "weightkg": 14.2, + "color": "Brown", + "prevo": "Yungoos", + "evoLevel": 20, + "evoCondition": "during the day", "eggGroups": [ - "Amorphous" + "Field" + ], + "otherFormes": [ + "Gumshoos-Totem" + ], + "formeOrder": [ + "Gumshoos", + "Gumshoos-Totem" ] }, - "mimikyubustedtotem": { - "num": 778, - "name": "mimikyu-busted-totem", - "baseSpecies": "Mimikyu", - "forme": "Busted-Totem", + "gumshoostotem": { + "num": 735, + "name": "gumshoos-totem", + "baseSpecies": "Gumshoos", + "forme": "Totem", "types": [ - "ghost", - "fairy" + "normal" ], "baseStats": { - "hp": 55, - "attack": 90, - "defense": 80, - "special-attack": 50, - "special-defense": 105, - "speed": 96 + "hp": 88, + "attack": 110, + "defense": 60, + "special-attack": 55, + "special-defense": 60, + "speed": 45 }, "abilities": { - "0": "Disguise" + "0": "Adaptability" }, - "heightm": 0.4, - "weightkg": 2.8, - "color": "Yellow", + "heightm": 1.4, + "weightkg": 60, + "color": "Brown", "eggGroups": [ - "Amorphous" - ], - "requiredAbility": "Disguise", - "battleOnly": "Mimikyu-Totem" + "Field" + ] }, - "bruxish": { - "num": 779, - "name": "bruxish", + "grubbin": { + "num": 736, + "name": "grubbin", "types": [ - "water", - "psychic" + "bug" ], "baseStats": { - "hp": 68, - "attack": 105, - "defense": 70, - "special-attack": 70, - "special-defense": 70, - "speed": 92 + "hp": 47, + "attack": 62, + "defense": 45, + "special-attack": 55, + "special-defense": 45, + "speed": 46 }, "abilities": { - "0": "Dazzling", - "1": "Strong Jaw", - "H": "Wonder Skin" + "0": "Swarm" }, - "heightm": 0.9, - "weightkg": 19, - "color": "Pink", + "heightm": 0.4, + "weightkg": 4.4, + "color": "Gray", + "evos": [ + "Charjabug" + ], "eggGroups": [ - "Water 2" + "Bug" ] }, - "drampa": { - "num": 780, - "name": "drampa", + "charjabug": { + "num": 737, + "name": "charjabug", "types": [ - "normal", - "dragon" + "bug", + "electric" ], "baseStats": { - "hp": 78, - "attack": 60, - "defense": 85, - "special-attack": 135, - "special-defense": 91, + "hp": 57, + "attack": 82, + "defense": 95, + "special-attack": 55, + "special-defense": 75, "speed": 36 }, "abilities": { - "0": "Berserk", - "1": "Sap Sipper", - "H": "Cloud Nine" + "0": "Battery" }, - "heightm": 3, - "weightkg": 185, - "color": "White", + "heightm": 0.5, + "weightkg": 10.5, + "color": "Green", + "prevo": "Grubbin", + "evoLevel": 20, + "evos": [ + "Vikavolt" + ], "eggGroups": [ - "Monster", - "Dragon" + "Bug" ] }, - "dhelmise": { - "num": 781, - "name": "dhelmise", + "vikavolt": { + "num": 738, + "name": "vikavolt", "types": [ - "ghost", - "grass" + "bug", + "electric" ], - "gender": "N", "baseStats": { - "hp": 70, - "attack": 131, - "defense": 100, - "special-attack": 86, - "special-defense": 90, - "speed": 40 + "hp": 77, + "attack": 70, + "defense": 90, + "special-attack": 145, + "special-defense": 75, + "speed": 43 }, "abilities": { - "0": "Steelworker" + "0": "Levitate" }, - "heightm": 3.9, - "weightkg": 210, - "color": "Green", + "heightm": 1.5, + "weightkg": 45, + "color": "Blue", + "prevo": "Charjabug", + "evoType": "useItem", + "evoItem": "Thunder Stone", "eggGroups": [ - "Mineral" + "Bug" + ], + "otherFormes": [ + "Vikavolt-Totem" + ], + "formeOrder": [ + "Vikavolt", + "Vikavolt-Totem" ] }, - "jangmoo": { - "num": 782, - "name": "jangmo-o", + "vikavolttotem": { + "num": 738, + "name": "vikavolt-totem", + "baseSpecies": "Vikavolt", + "forme": "Totem", "types": [ - "dragon" + "bug", + "electric" ], "baseStats": { - "hp": 45, - "attack": 55, - "defense": 65, - "special-attack": 45, - "special-defense": 45, - "speed": 45 + "hp": 77, + "attack": 70, + "defense": 90, + "special-attack": 145, + "special-defense": 75, + "speed": 43 }, "abilities": { - "0": "Bulletproof", - "1": "Soundproof", - "H": "Overcoat" + "0": "Levitate" }, - "heightm": 0.6, - "weightkg": 29.7, - "color": "Gray", - "evos": [ - "Hakamo-o" - ], + "heightm": 2.6, + "weightkg": 147.5, + "color": "Blue", "eggGroups": [ - "Dragon" + "Bug" ] }, - "hakamoo": { - "num": 783, - "name": "hakamo-o", + "crabrawler": { + "num": 739, + "name": "crabrawler", "types": [ - "dragon", "fighting" ], "baseStats": { - "hp": 55, - "attack": 75, - "defense": 90, - "special-attack": 65, - "special-defense": 70, - "speed": 65 + "hp": 47, + "attack": 82, + "defense": 57, + "special-attack": 42, + "special-defense": 47, + "speed": 63 }, "abilities": { - "0": "Bulletproof", - "1": "Soundproof", - "H": "Overcoat" + "0": "Hyper Cutter", + "1": "Iron Fist", + "H": "Anger Point" }, - "heightm": 1.2, - "weightkg": 47, - "color": "Gray", - "prevo": "Jangmo-o", - "evoLevel": 35, + "heightm": 0.6, + "weightkg": 7, + "color": "Purple", "evos": [ - "Kommo-o" + "Crabominable" ], "eggGroups": [ - "Dragon" + "Water 3" ] }, - "kommoo": { - "num": 784, - "name": "kommo-o", + "crabominable": { + "num": 740, + "name": "crabominable", "types": [ - "dragon", - "fighting" + "fighting", + "ice" ], "baseStats": { - "hp": 75, - "attack": 110, - "defense": 125, - "special-attack": 100, - "special-defense": 105, - "speed": 85 + "hp": 97, + "attack": 132, + "defense": 77, + "special-attack": 62, + "special-defense": 67, + "speed": 43 }, "abilities": { - "0": "Bulletproof", - "1": "Soundproof", - "H": "Overcoat" + "0": "Hyper Cutter", + "1": "Iron Fist", + "H": "Anger Point" }, - "heightm": 1.6, - "weightkg": 78.2, - "color": "Gray", - "prevo": "Hakamo-o", - "evoLevel": 45, + "heightm": 1.7, + "weightkg": 180, + "color": "White", + "prevo": "Crabrawler", + "evoType": "useItem", + "evoItem": "Ice Stone", "eggGroups": [ - "Dragon" - ], - "otherFormes": [ - "Kommo-o-Totem" - ], - "formeOrder": [ - "Kommo-o", - "Kommo-o-Totem" + "Water 3" ] }, - "kommoototem": { - "num": 784, - "name": "kommo-o-totem", - "baseSpecies": "Kommo-o", - "forme": "Totem", + "oricorio": { + "num": 741, + "name": "oricorio", + "baseForme": "Baile", "types": [ - "dragon", - "fighting" + "fire", + "flying" ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { "hp": 75, - "attack": 110, - "defense": 125, - "special-attack": 100, - "special-defense": 105, - "speed": 85 + "attack": 70, + "defense": 70, + "special-attack": 98, + "special-defense": 70, + "speed": 93 }, "abilities": { - "0": "Overcoat" + "0": "Dancer" }, - "heightm": 2.4, - "weightkg": 207.5, - "color": "Gray", + "heightm": 0.6, + "weightkg": 3.4, + "color": "Red", "eggGroups": [ - "Dragon" + "Flying" + ], + "otherFormes": [ + "Oricorio-Pom-Pom", + "Oricorio-Pa'u", + "Oricorio-Sensu" + ], + "formeOrder": [ + "Oricorio", + "Oricorio-Pom-Pom", + "Oricorio-Pa'u", + "Oricorio-Sensu" ] }, - "tapukoko": { - "num": 785, - "name": "tapu koko", + "oricoriopompom": { + "num": 741, + "name": "oricorio-pom-pom", + "baseSpecies": "Oricorio", + "forme": "Pom-Pom", "types": [ "electric", - "fairy" + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 70, - "attack": 115, - "defense": 85, - "special-attack": 95, - "special-defense": 75, - "speed": 130 + "hp": 75, + "attack": 70, + "defense": 70, + "special-attack": 98, + "special-defense": 70, + "speed": 93 }, "abilities": { - "0": "Electric Surge", - "H": "Telepathy" + "0": "Dancer" }, - "heightm": 1.8, - "weightkg": 20.5, + "heightm": 0.6, + "weightkg": 3.4, "color": "Yellow", - "tags": [ - "Sub-Legendary" - ], "eggGroups": [ - "Undiscovered" - ] + "Flying" + ], + "changesFrom": "Oricorio" }, - "tapulele": { - "num": 786, - "name": "tapu lele", + "oricoriopau": { + "num": 741, + "name": "oricorio-pa'u", + "baseSpecies": "Oricorio", + "forme": "Pa'u", "types": [ "psychic", - "fairy" + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 70, - "attack": 85, - "defense": 75, - "special-attack": 130, - "special-defense": 115, - "speed": 95 + "hp": 75, + "attack": 70, + "defense": 70, + "special-attack": 98, + "special-defense": 70, + "speed": 93 }, "abilities": { - "0": "Psychic Surge", - "H": "Telepathy" + "0": "Dancer" }, - "heightm": 1.2, - "weightkg": 18.6, + "heightm": 0.6, + "weightkg": 3.4, "color": "Pink", - "tags": [ - "Sub-Legendary" - ], "eggGroups": [ - "Undiscovered" - ] + "Flying" + ], + "changesFrom": "Oricorio" }, - "tapubulu": { - "num": 787, - "name": "tapu bulu", + "oricoriosensu": { + "num": 741, + "name": "oricorio-sensu", + "baseSpecies": "Oricorio", + "forme": "Sensu", "types": [ - "grass", - "fairy" + "ghost", + "flying" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 70, - "attack": 130, - "defense": 115, - "special-attack": 85, - "special-defense": 95, - "speed": 75 + "hp": 75, + "attack": 70, + "defense": 70, + "special-attack": 98, + "special-defense": 70, + "speed": 93 }, "abilities": { - "0": "Grassy Surge", - "H": "Telepathy" + "0": "Dancer" }, - "heightm": 1.9, - "weightkg": 45.5, - "color": "Red", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.6, + "weightkg": 3.4, + "color": "Purple", "eggGroups": [ - "Undiscovered" - ] + "Flying" + ], + "changesFrom": "Oricorio" }, - "tapufini": { - "num": 788, - "name": "tapu fini", + "cutiefly": { + "num": 742, + "name": "cutiefly", "types": [ - "water", + "bug", "fairy" ], - "gender": "N", "baseStats": { - "hp": 70, - "attack": 75, - "defense": 115, - "special-attack": 95, - "special-defense": 130, - "speed": 85 + "hp": 40, + "attack": 45, + "defense": 40, + "special-attack": 55, + "special-defense": 40, + "speed": 84 }, "abilities": { - "0": "Misty Surge", - "H": "Telepathy" + "0": "Honey Gather", + "1": "Shield Dust", + "H": "Sweet Veil" }, - "heightm": 1.3, - "weightkg": 21.2, - "color": "Purple", - "tags": [ - "Sub-Legendary" + "heightm": 0.1, + "weightkg": 0.2, + "color": "Yellow", + "evos": [ + "Ribombee" ], "eggGroups": [ - "Undiscovered" + "Bug", + "Fairy" ] }, - "cosmog": { - "num": 789, - "name": "cosmog", + "ribombee": { + "num": 743, + "name": "ribombee", "types": [ - "psychic" + "bug", + "fairy" ], - "gender": "N", "baseStats": { - "hp": 43, - "attack": 29, - "defense": 31, - "special-attack": 29, - "special-defense": 31, - "speed": 37 + "hp": 60, + "attack": 55, + "defense": 60, + "special-attack": 95, + "special-defense": 70, + "speed": 124 }, "abilities": { - "0": "Unaware" + "0": "Honey Gather", + "1": "Shield Dust", + "H": "Sweet Veil" }, "heightm": 0.2, - "weightkg": 0.1, - "color": "Blue", - "evos": [ - "Cosmoem" + "weightkg": 0.5, + "color": "Yellow", + "prevo": "Cutiefly", + "evoLevel": 25, + "eggGroups": [ + "Bug", + "Fairy" ], - "tags": [ - "Restricted Legendary" + "otherFormes": [ + "Ribombee-Totem" ], - "eggGroups": [ - "Undiscovered" + "formeOrder": [ + "Ribombee", + "Ribombee-Totem" ] }, - "cosmoem": { - "num": 790, - "name": "cosmoem", + "ribombeetotem": { + "num": 743, + "name": "ribombee-totem", + "baseSpecies": "Ribombee", + "forme": "Totem", "types": [ - "psychic" + "bug", + "fairy" ], - "gender": "N", "baseStats": { - "hp": 43, - "attack": 29, - "defense": 131, - "special-attack": 29, - "special-defense": 131, - "speed": 37 + "hp": 60, + "attack": 55, + "defense": 60, + "special-attack": 95, + "special-defense": 70, + "speed": 124 }, "abilities": { - "0": "Sturdy" + "0": "Sweet Veil" }, - "heightm": 0.1, - "weightkg": 999.9, - "color": "Blue", - "tags": [ - "Restricted Legendary" - ], - "prevo": "Cosmog", - "evoLevel": 43, - "evos": [ - "Solgaleo", - "Lunala" - ], + "heightm": 0.4, + "weightkg": 2, + "color": "Yellow", "eggGroups": [ - "Undiscovered" + "Bug", + "Fairy" ] }, - "solgaleo": { - "num": 791, - "name": "solgaleo", + "rockruff": { + "num": 744, + "name": "rockruff", + "baseForme": "Midday", "types": [ - "psychic", - "steel" + "rock" ], - "gender": "N", "baseStats": { - "hp": 137, - "attack": 137, - "defense": 107, - "special-attack": 113, - "special-defense": 89, - "speed": 97 + "hp": 45, + "attack": 65, + "defense": 40, + "special-attack": 30, + "special-defense": 40, + "speed": 60 }, "abilities": { - "0": "Full Metal Body" + "0": "Keen Eye", + "1": "Vital Spirit", + "H": "Steadfast", + "S": "Own Tempo" }, - "heightm": 3.4, - "weightkg": 230, - "color": "White", - "tags": [ - "Restricted Legendary" + "heightm": 0.5, + "weightkg": 9.2, + "color": "Brown", + "evos": [ + "Lycanroc", + "Lycanroc-Midnight", + "Lycanroc-Dusk" ], - "prevo": "Cosmoem", - "evoLevel": 53, "eggGroups": [ - "Undiscovered" + "Field" + ], + "formeOrder": [ + "Rockruff", + "Rockruff" ] }, - "lunala": { - "num": 792, - "name": "lunala", - "types": [ - "psychic", - "ghost" + "lycanroc": { + "num": 745, + "name": "lycanroc", + "baseForme": "Midday", + "types": [ + "rock" ], - "gender": "N", "baseStats": { - "hp": 137, - "attack": 113, - "defense": 89, - "special-attack": 137, - "special-defense": 107, - "speed": 97 + "hp": 75, + "attack": 115, + "defense": 65, + "special-attack": 55, + "special-defense": 65, + "speed": 112 }, "abilities": { - "0": "Shadow Shield" + "0": "Keen Eye", + "1": "Sand Rush", + "H": "Steadfast" }, - "heightm": 4, - "weightkg": 120, - "color": "Purple", - "tags": [ - "Restricted Legendary" - ], - "prevo": "Cosmoem", - "evoLevel": 53, + "heightm": 0.8, + "weightkg": 25, + "color": "Brown", + "prevo": "Rockruff", + "evoLevel": 25, + "evoCondition": "during the day", "eggGroups": [ - "Undiscovered" + "Field" + ], + "otherFormes": [ + "Lycanroc-Midnight", + "Lycanroc-Dusk" + ], + "formeOrder": [ + "Lycanroc", + "Lycanroc-Midnight", + "Lycanroc-Dusk" ] }, - "nihilego": { - "num": 793, - "name": "nihilego", + "lycanrocmidnight": { + "num": 745, + "name": "lycanroc-midnight", + "baseSpecies": "Lycanroc", + "forme": "Midnight", "types": [ - "rock", - "poison" + "rock" ], - "gender": "N", "baseStats": { - "hp": 109, - "attack": 53, - "defense": 47, - "special-attack": 127, - "special-defense": 131, - "speed": 103 + "hp": 85, + "attack": 115, + "defense": 75, + "special-attack": 55, + "special-defense": 75, + "speed": 82 }, "abilities": { - "0": "Beast Boost" + "0": "Keen Eye", + "1": "Vital Spirit", + "H": "No Guard" }, - "heightm": 1.2, - "weightkg": 55.5, - "color": "White", - "tags": [ - "Ultra Beast" - ], + "heightm": 1.1, + "weightkg": 25, + "color": "Red", + "prevo": "Rockruff", + "evoLevel": 25, + "evoCondition": "at night", "eggGroups": [ - "Undiscovered" + "Field" ] }, - "buzzwole": { - "num": 794, - "name": "buzzwole", + "lycanrocdusk": { + "num": 745, + "name": "lycanroc-dusk", + "baseSpecies": "Lycanroc", + "forme": "Dusk", "types": [ - "bug", - "fighting" + "rock" ], - "gender": "N", "baseStats": { - "hp": 107, - "attack": 139, - "defense": 139, - "special-attack": 53, - "special-defense": 53, - "speed": 79 + "hp": 75, + "attack": 117, + "defense": 65, + "special-attack": 55, + "special-defense": 65, + "speed": 110 }, "abilities": { - "0": "Beast Boost" + "0": "Tough Claws" }, - "heightm": 2.4, - "weightkg": 333.6, - "color": "Red", - "tags": [ - "Ultra Beast" - ], + "heightm": 0.8, + "weightkg": 25, + "color": "Brown", + "prevo": "Rockruff", + "evoLevel": 25, + "evoCondition": "from a special Rockruff during the evening", "eggGroups": [ - "Undiscovered" + "Field" ] }, - "pheromosa": { - "num": 795, - "name": "pheromosa", + "wishiwashi": { + "num": 746, + "name": "wishiwashi", + "baseForme": "Solo", "types": [ - "bug", - "fighting" + "water" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 137, - "defense": 37, - "special-attack": 137, - "special-defense": 37, - "speed": 151 + "hp": 45, + "attack": 20, + "defense": 20, + "special-attack": 25, + "special-defense": 25, + "speed": 40 }, "abilities": { - "0": "Beast Boost" + "0": "Schooling" }, - "heightm": 1.8, - "weightkg": 25, - "color": "White", - "tags": [ - "Ultra Beast" - ], + "heightm": 0.2, + "weightkg": 0.3, + "color": "Blue", "eggGroups": [ - "Undiscovered" + "Water 2" + ], + "otherFormes": [ + "Wishiwashi-School" + ], + "formeOrder": [ + "Wishiwashi", + "Wishiwashi-School" ] }, - "xurkitree": { - "num": 796, - "name": "xurkitree", + "wishiwashischool": { + "num": 746, + "name": "wishiwashi-school", + "baseSpecies": "Wishiwashi", + "forme": "School", "types": [ - "electric" + "water" ], - "gender": "N", "baseStats": { - "hp": 83, - "attack": 89, - "defense": 71, - "special-attack": 173, - "special-defense": 71, - "speed": 83 + "hp": 45, + "attack": 140, + "defense": 130, + "special-attack": 140, + "special-defense": 135, + "speed": 30 }, "abilities": { - "0": "Beast Boost" + "0": "Schooling" }, - "heightm": 3.8, - "weightkg": 100, - "color": "Black", - "tags": [ - "Ultra Beast" - ], + "heightm": 8.2, + "weightkg": 78.6, + "color": "Blue", "eggGroups": [ - "Undiscovered" - ] + "Water 2" + ], + "requiredAbility": "Schooling", + "battleOnly": "Wishiwashi" }, - "celesteela": { - "num": 797, - "name": "celesteela", + "mareanie": { + "num": 747, + "name": "mareanie", "types": [ - "steel", - "flying" + "poison", + "water" ], - "gender": "N", "baseStats": { - "hp": 97, - "attack": 101, - "defense": 103, - "special-attack": 107, - "special-defense": 101, - "speed": 61 + "hp": 50, + "attack": 53, + "defense": 62, + "special-attack": 43, + "special-defense": 52, + "speed": 45 }, "abilities": { - "0": "Beast Boost" + "0": "Merciless", + "1": "Limber", + "H": "Regenerator" }, - "heightm": 9.2, - "weightkg": 999.9, - "color": "Green", - "tags": [ - "Ultra Beast" + "heightm": 0.4, + "weightkg": 8, + "color": "Blue", + "evos": [ + "Toxapex" ], "eggGroups": [ - "Undiscovered" + "Water 1" ] }, - "kartana": { - "num": 798, - "name": "kartana", + "toxapex": { + "num": 748, + "name": "toxapex", "types": [ - "grass", - "steel" + "poison", + "water" ], - "gender": "N", "baseStats": { - "hp": 59, - "attack": 181, - "defense": 131, - "special-attack": 59, - "special-defense": 31, - "speed": 109 + "hp": 50, + "attack": 63, + "defense": 152, + "special-attack": 53, + "special-defense": 142, + "speed": 35 }, "abilities": { - "0": "Beast Boost" + "0": "Merciless", + "1": "Limber", + "H": "Regenerator" }, - "heightm": 0.3, - "weightkg": 0.1, - "color": "White", - "tags": [ - "Ultra Beast" - ], + "heightm": 0.7, + "weightkg": 14.5, + "color": "Blue", + "prevo": "Mareanie", + "evoLevel": 38, "eggGroups": [ - "Undiscovered" + "Water 1" ] }, - "guzzlord": { - "num": 799, - "name": "guzzlord", + "mudbray": { + "num": 749, + "name": "mudbray", "types": [ - "dark", - "dragon" + "ground" ], - "gender": "N", "baseStats": { - "hp": 223, - "attack": 101, - "defense": 53, - "special-attack": 97, - "special-defense": 53, - "speed": 43 + "hp": 70, + "attack": 100, + "defense": 70, + "special-attack": 45, + "special-defense": 55, + "speed": 45 }, "abilities": { - "0": "Beast Boost" + "0": "Own Tempo", + "1": "Stamina", + "H": "Inner Focus" }, - "heightm": 5.5, - "weightkg": 888, - "color": "Black", - "tags": [ - "Ultra Beast" + "heightm": 1, + "weightkg": 110, + "color": "Brown", + "evos": [ + "Mudsdale" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "necrozma": { - "num": 800, - "name": "necrozma", + "mudsdale": { + "num": 750, + "name": "mudsdale", "types": [ - "psychic" + "ground" ], - "gender": "N", "baseStats": { - "hp": 97, - "attack": 107, - "defense": 101, - "special-attack": 127, - "special-defense": 89, - "speed": 79 + "hp": 100, + "attack": 125, + "defense": 100, + "special-attack": 55, + "special-defense": 85, + "speed": 35 }, "abilities": { - "0": "Prism Armor" + "0": "Own Tempo", + "1": "Stamina", + "H": "Inner Focus" }, - "heightm": 2.4, - "weightkg": 230, - "color": "Black", - "tags": [ - "Restricted Legendary" - ], + "heightm": 2.5, + "weightkg": 920, + "color": "Brown", + "prevo": "Mudbray", + "evoLevel": 30, "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Necrozma-Dusk-Mane", - "Necrozma-Dawn-Wings", - "Necrozma-Ultra" - ], - "formeOrder": [ - "Necrozma", - "Necrozma-Dusk-Mane", - "Necrozma-Dawn-Wings", - "Necrozma-Ultra" + "Field" ] }, - "necrozmaduskmane": { - "num": 800, - "name": "necrozma-dusk-mane", - "baseSpecies": "Necrozma", - "forme": "Dusk-Mane", + "dewpider": { + "num": 751, + "name": "dewpider", "types": [ - "psychic", - "steel" + "water", + "bug" ], - "gender": "N", "baseStats": { - "hp": 97, - "attack": 157, - "defense": 127, - "special-attack": 113, - "special-defense": 109, - "speed": 77 + "hp": 38, + "attack": 40, + "defense": 52, + "special-attack": 40, + "special-defense": 72, + "speed": 27 }, "abilities": { - "0": "Prism Armor" + "0": "Water Bubble", + "H": "Water Absorb" }, - "heightm": 3.8, - "weightkg": 460, - "color": "Yellow", - "eggGroups": [ - "Undiscovered" + "heightm": 0.3, + "weightkg": 4, + "color": "Green", + "evos": [ + "Araquanid" ], - "changesFrom": "Necrozma" + "eggGroups": [ + "Water 1", + "Bug" + ] }, - "necrozmadawnwings": { - "num": 800, - "name": "necrozma-dawn-wings", - "baseSpecies": "Necrozma", - "forme": "Dawn-Wings", + "araquanid": { + "num": 752, + "name": "araquanid", "types": [ - "psychic", - "ghost" + "water", + "bug" ], - "gender": "N", "baseStats": { - "hp": 97, - "attack": 113, - "defense": 109, - "special-attack": 157, - "special-defense": 127, - "speed": 77 + "hp": 68, + "attack": 70, + "defense": 92, + "special-attack": 50, + "special-defense": 132, + "speed": 42 }, "abilities": { - "0": "Prism Armor" + "0": "Water Bubble", + "H": "Water Absorb" }, - "heightm": 4.2, - "weightkg": 350, - "color": "Blue", + "heightm": 1.8, + "weightkg": 82, + "color": "Green", + "prevo": "Dewpider", + "evoLevel": 22, "eggGroups": [ - "Undiscovered" + "Water 1", + "Bug" ], - "changesFrom": "Necrozma" + "otherFormes": [ + "Araquanid-Totem" + ], + "formeOrder": [ + "Araquanid", + "Araquanid-Totem" + ] }, - "necrozmaultra": { - "num": 800, - "name": "necrozma-ultra", - "baseSpecies": "Necrozma", - "forme": "Ultra", + "araquanidtotem": { + "num": 752, + "name": "araquanid-totem", + "baseSpecies": "Araquanid", + "forme": "Totem", "types": [ - "psychic", - "dragon" + "water", + "bug" ], - "gender": "N", "baseStats": { - "hp": 97, - "attack": 167, - "defense": 97, - "special-attack": 167, - "special-defense": 97, - "speed": 129 + "hp": 68, + "attack": 70, + "defense": 92, + "special-attack": 50, + "special-defense": 132, + "speed": 42 }, "abilities": { - "0": "Neuroforce" + "0": "Water Bubble" }, - "heightm": 7.5, - "weightkg": 230, - "color": "Yellow", + "heightm": 3.1, + "weightkg": 217.5, + "color": "Green", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Ultranecrozium Z", - "battleOnly": [ - "Necrozma-Dawn-Wings", - "Necrozma-Dusk-Mane" + "Water 1", + "Bug" ] }, - "magearna": { - "num": 801, - "name": "magearna", + "fomantis": { + "num": 753, + "name": "fomantis", "types": [ - "steel", - "fairy" + "grass" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 95, - "defense": 115, - "special-attack": 130, - "special-defense": 115, - "speed": 65 + "hp": 40, + "attack": 55, + "defense": 35, + "special-attack": 50, + "special-defense": 35, + "speed": 35 }, "abilities": { - "0": "Soul-Heart" + "0": "Leaf Guard", + "H": "Contrary" }, - "heightm": 1, - "weightkg": 80.5, - "color": "Gray", - "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Mythical" - ], - "otherFormes": [ - "Magearna-Original" + "heightm": 0.3, + "weightkg": 1.5, + "color": "Pink", + "evos": [ + "Lurantis" ], - "formeOrder": [ - "Magearna", - "Magearna-Original" + "eggGroups": [ + "Grass" ] }, - "magearnaoriginal": { - "num": 801, - "name": "magearna-original", - "baseSpecies": "Magearna", - "forme": "Original", + "lurantis": { + "num": 754, + "name": "lurantis", "types": [ - "steel", - "fairy" + "grass" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 95, - "defense": 115, - "special-attack": 130, - "special-defense": 115, - "speed": 65 + "hp": 70, + "attack": 105, + "defense": 90, + "special-attack": 80, + "special-defense": 90, + "speed": 45 }, "abilities": { - "0": "Soul-Heart" + "0": "Leaf Guard", + "H": "Contrary" }, - "heightm": 1, - "weightkg": 80.5, - "color": "Red", + "heightm": 0.9, + "weightkg": 18.5, + "color": "Pink", + "prevo": "Fomantis", + "evoLevel": 34, + "evoCondition": "during the day", "eggGroups": [ - "Undiscovered" + "Grass" + ], + "otherFormes": [ + "Lurantis-Totem" + ], + "formeOrder": [ + "Lurantis", + "Lurantis-Totem" ] }, - "marshadow": { - "num": 802, - "name": "marshadow", + "lurantistotem": { + "num": 754, + "name": "lurantis-totem", + "baseSpecies": "Lurantis", + "forme": "Totem", "types": [ - "fighting", - "ghost" + "grass" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 125, - "defense": 80, - "special-attack": 90, + "hp": 70, + "attack": 105, + "defense": 90, + "special-attack": 80, "special-defense": 90, - "speed": 125 + "speed": 45 }, "abilities": { - "0": "Technician" + "0": "Leaf Guard" }, - "heightm": 0.7, - "weightkg": 22.2, - "color": "Gray", - "tags": [ - "Mythical" - ], + "heightm": 1.5, + "weightkg": 58, + "color": "Pink", "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "poipole": { - "num": 803, - "name": "poipole", + "morelull": { + "num": 755, + "name": "morelull", "types": [ - "poison" + "grass", + "fairy" ], - "gender": "N", "baseStats": { - "hp": 67, - "attack": 73, - "defense": 67, - "special-attack": 73, - "special-defense": 67, - "speed": 73 + "hp": 40, + "attack": 35, + "defense": 55, + "special-attack": 65, + "special-defense": 75, + "speed": 15 }, "abilities": { - "0": "Beast Boost" + "0": "Illuminate", + "1": "Effect Spore", + "H": "Rain Dish" }, - "heightm": 0.6, - "weightkg": 1.8, + "heightm": 0.2, + "weightkg": 1.5, "color": "Purple", - "tags": [ - "Ultra Beast" - ], "evos": [ - "Naganadel" + "Shiinotic" ], "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "naganadel": { - "num": 804, - "name": "naganadel", + "shiinotic": { + "num": 756, + "name": "shiinotic", "types": [ - "poison", - "dragon" + "grass", + "fairy" ], - "gender": "N", "baseStats": { - "hp": 73, - "attack": 73, - "defense": 73, - "special-attack": 127, - "special-defense": 73, - "speed": 121 + "hp": 60, + "attack": 45, + "defense": 80, + "special-attack": 90, + "special-defense": 100, + "speed": 30 }, "abilities": { - "0": "Beast Boost" + "0": "Illuminate", + "1": "Effect Spore", + "H": "Rain Dish" }, - "heightm": 3.6, - "weightkg": 150, + "heightm": 1, + "weightkg": 11.5, "color": "Purple", - "tags": [ - "Ultra Beast" - ], - "prevo": "Poipole", - "evoType": "levelMove", - "evoMove": "Dragon Pulse", + "prevo": "Morelull", + "evoLevel": 24, "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "stakataka": { - "num": 805, - "name": "stakataka", + "salandit": { + "num": 757, + "name": "salandit", "types": [ - "rock", - "steel" + "poison", + "fire" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 61, - "attack": 131, - "defense": 211, - "special-attack": 53, - "special-defense": 101, - "speed": 13 + "hp": 48, + "attack": 44, + "defense": 40, + "special-attack": 71, + "special-defense": 40, + "speed": 77 }, "abilities": { - "0": "Beast Boost" + "0": "Corrosion", + "H": "Oblivious" }, - "heightm": 5.5, - "weightkg": 820, - "color": "Gray", - "tags": [ - "Ultra Beast" + "heightm": 0.6, + "weightkg": 4.8, + "color": "Black", + "evos": [ + "Salazzle" ], "eggGroups": [ - "Undiscovered" + "Monster", + "Dragon" ] }, - "blacephalon": { - "num": 806, - "name": "blacephalon", + "salazzle": { + "num": 758, + "name": "salazzle", "types": [ - "fire", - "ghost" + "poison", + "fire" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 53, - "attack": 127, - "defense": 53, - "special-attack": 151, - "special-defense": 79, - "speed": 107 + "hp": 68, + "attack": 64, + "defense": 60, + "special-attack": 111, + "special-defense": 60, + "speed": 117 }, "abilities": { - "0": "Beast Boost" + "0": "Corrosion", + "H": "Oblivious" }, - "heightm": 1.8, - "weightkg": 13, - "color": "White", - "tags": [ - "Ultra Beast" - ], + "heightm": 1.2, + "weightkg": 22.2, + "color": "Black", + "prevo": "Salandit", + "evoLevel": 33, "eggGroups": [ - "Undiscovered" + "Monster", + "Dragon" + ], + "otherFormes": [ + "Salazzle-Totem" + ], + "formeOrder": [ + "Salazzle", + "Salazzle-Totem" ] }, - "zeraora": { - "num": 807, - "name": "zeraora", + "salazzletotem": { + "num": 758, + "name": "salazzle-totem", + "baseSpecies": "Salazzle", + "forme": "Totem", "types": [ - "electric" + "poison", + "fire" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 88, - "attack": 112, - "defense": 75, - "special-attack": 102, - "special-defense": 80, - "speed": 143 + "hp": 68, + "attack": 64, + "defense": 60, + "special-attack": 111, + "special-defense": 60, + "speed": 117 }, "abilities": { - "0": "Volt Absorb" + "0": "Corrosion" }, - "heightm": 1.5, - "weightkg": 44.5, - "color": "Yellow", - "tags": [ - "Mythical" - ], + "heightm": 2.1, + "weightkg": 81, + "color": "Black", "eggGroups": [ - "Undiscovered" + "Monster", + "Dragon" ] }, - "meltan": { - "num": 808, - "name": "meltan", + "stufful": { + "num": 759, + "name": "stufful", "types": [ - "steel" + "normal", + "fighting" ], - "gender": "N", "baseStats": { - "hp": 46, - "attack": 65, - "defense": 65, - "special-attack": 55, - "special-defense": 35, - "speed": 34 + "hp": 70, + "attack": 75, + "defense": 50, + "special-attack": 45, + "special-defense": 50, + "speed": 50 }, "abilities": { - "0": "Magnet Pull" + "0": "Fluffy", + "1": "Klutz", + "H": "Cute Charm" }, - "heightm": 0.2, - "weightkg": 8, - "color": "Gray", - "tags": [ - "Mythical" + "heightm": 0.5, + "weightkg": 6.8, + "color": "Pink", + "evos": [ + "Bewear" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "melmetal": { - "num": 809, - "name": "melmetal", + "bewear": { + "num": 760, + "name": "bewear", "types": [ - "steel" + "normal", + "fighting" ], - "gender": "N", "baseStats": { - "hp": 135, - "attack": 143, - "defense": 143, - "special-attack": 80, - "special-defense": 65, - "speed": 34 + "hp": 120, + "attack": 125, + "defense": 80, + "special-attack": 55, + "special-defense": 60, + "speed": 60 }, "abilities": { - "0": "Iron Fist" + "0": "Fluffy", + "1": "Klutz", + "H": "Unnerve" }, - "heightm": 2.5, - "weightkg": 800, - "color": "Gray", - "tags": [ - "Mythical" - ], + "heightm": 2.1, + "weightkg": 135, + "color": "Pink", + "prevo": "Stufful", + "evoLevel": 27, "eggGroups": [ - "Undiscovered" - ], - "canGigantamax": "G-Max Meltdown" + "Field" + ] }, - "melmetalgmax": { - "num": 809, - "name": "melmetal-gmax", - "baseSpecies": "Melmetal", - "forme": "Gmax", + "bounsweet": { + "num": 761, + "name": "bounsweet", "types": [ - "steel" + "grass" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 135, - "attack": 143, - "defense": 143, - "special-attack": 80, - "special-defense": 65, - "speed": 34 + "hp": 42, + "attack": 30, + "defense": 38, + "special-attack": 30, + "special-defense": 38, + "speed": 32 }, "abilities": { - "0": "Iron Fist" + "0": "Leaf Guard", + "1": "Oblivious", + "H": "Sweet Veil" }, - "heightm": 25, - "weightkg": 0, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.3, + "weightkg": 3.2, + "color": "Purple", + "evos": [ + "Steenee" ], - "changesFrom": "Melmetal" + "eggGroups": [ + "Grass" + ] }, - "grookey": { - "num": 810, - "name": "grookey", + "steenee": { + "num": 762, + "name": "steenee", "types": [ "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 50, + "hp": 52, + "attack": 40, + "defense": 48, "special-attack": 40, - "special-defense": 40, - "speed": 65 + "special-defense": 48, + "speed": 62 }, "abilities": { - "0": "Overgrow", - "H": "Grassy Surge" + "0": "Leaf Guard", + "1": "Oblivious", + "H": "Sweet Veil" }, - "heightm": 0.3, - "weightkg": 5, - "color": "Green", + "heightm": 0.7, + "weightkg": 8.2, + "color": "Purple", + "prevo": "Bounsweet", + "evoLevel": 18, "evos": [ - "Thwackey" + "Tsareena" ], "eggGroups": [ - "Field", "Grass" ] }, - "thwackey": { - "num": 811, - "name": "thwackey", + "tsareena": { + "num": 763, + "name": "tsareena", "types": [ "grass" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "F", "baseStats": { - "hp": 70, - "attack": 85, - "defense": 70, - "special-attack": 55, - "special-defense": 60, - "speed": 80 + "hp": 72, + "attack": 120, + "defense": 98, + "special-attack": 50, + "special-defense": 98, + "speed": 72 }, "abilities": { - "0": "Overgrow", - "H": "Grassy Surge" + "0": "Leaf Guard", + "1": "Queenly Majesty", + "H": "Sweet Veil" }, - "heightm": 0.7, - "weightkg": 14, - "color": "Green", - "prevo": "Grookey", - "evoLevel": 16, - "evos": [ - "Rillaboom" - ], + "heightm": 1.2, + "weightkg": 21.4, + "color": "Purple", + "prevo": "Steenee", + "evoType": "levelMove", + "evoMove": "Stomp", "eggGroups": [ - "Field", "Grass" ] }, - "rillaboom": { - "num": 812, - "name": "rillaboom", + "comfey": { + "num": 764, + "name": "comfey", "types": [ - "grass" + "fairy" ], "genderRatio": { - "M": 0.875, - "F": 0.125 + "M": 0.25, + "F": 0.75 }, "baseStats": { - "hp": 100, - "attack": 125, + "hp": 51, + "attack": 52, "defense": 90, - "special-attack": 60, - "special-defense": 70, - "speed": 85 + "special-attack": 82, + "special-defense": 110, + "speed": 100 }, "abilities": { - "0": "Overgrow", - "H": "Grassy Surge" + "0": "Flower Veil", + "1": "Triage", + "H": "Natural Cure" }, - "heightm": 2.1, - "weightkg": 90, + "heightm": 0.1, + "weightkg": 0.3, "color": "Green", - "prevo": "Thwackey", - "evoLevel": 35, "eggGroups": [ - "Field", "Grass" - ], - "canGigantamax": "G-Max Drum Solo" + ] }, - "rillaboomgmax": { - "num": 812, - "name": "rillaboom-gmax", - "baseSpecies": "Rillaboom", - "forme": "Gmax", + "oranguru": { + "num": 765, + "name": "oranguru", "types": [ - "grass" + "normal", + "psychic" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 125, - "defense": 90, - "special-attack": 60, - "special-defense": 70, - "speed": 85 + "hp": 90, + "attack": 60, + "defense": 80, + "special-attack": 90, + "special-defense": 110, + "speed": 60 }, "abilities": { - "0": "Overgrow", - "H": "Grassy Surge" + "0": "Inner Focus", + "1": "Telepathy", + "H": "Symbiosis" }, - "heightm": 28, - "weightkg": 0, - "color": "Green", + "heightm": 1.5, + "weightkg": 76, + "color": "White", "eggGroups": [ - "Field", - "Grass" - ], - "changesFrom": "Rillaboom" + "Field" + ] }, - "scorbunny": { - "num": 813, - "name": "scorbunny", + "passimian": { + "num": 766, + "name": "passimian", "types": [ - "fire" + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 50, - "attack": 71, - "defense": 40, + "hp": 100, + "attack": 120, + "defense": 90, "special-attack": 40, - "special-defense": 40, - "speed": 69 + "special-defense": 60, + "speed": 80 }, "abilities": { - "0": "Blaze", - "H": "Libero" + "0": "Receiver", + "H": "Defiant" }, - "heightm": 0.3, - "weightkg": 4.5, + "heightm": 2, + "weightkg": 82.8, "color": "White", - "evos": [ - "Raboot" - ], "eggGroups": [ - "Field", - "Human-Like" + "Field" ] }, - "raboot": { - "num": 814, - "name": "raboot", + "wimpod": { + "num": 767, + "name": "wimpod", "types": [ - "fire" + "bug", + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 65, - "attack": 86, - "defense": 60, - "special-attack": 55, - "special-defense": 60, - "speed": 94 + "hp": 25, + "attack": 35, + "defense": 40, + "special-attack": 20, + "special-defense": 30, + "speed": 80 }, "abilities": { - "0": "Blaze", - "H": "Libero" + "0": "Wimp Out" }, - "heightm": 0.6, - "weightkg": 9, + "heightm": 0.5, + "weightkg": 12, "color": "Gray", - "prevo": "Scorbunny", - "evoLevel": 16, "evos": [ - "Cinderace" + "Golisopod" ], "eggGroups": [ - "Field", - "Human-Like" + "Bug", + "Water 3" ] }, - "cinderace": { - "num": 815, - "name": "cinderace", + "golisopod": { + "num": 768, + "name": "golisopod", "types": [ - "fire" + "bug", + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 80, - "attack": 116, - "defense": 75, - "special-attack": 65, - "special-defense": 75, - "speed": 119 + "hp": 75, + "attack": 125, + "defense": 140, + "special-attack": 60, + "special-defense": 90, + "speed": 40 }, "abilities": { - "0": "Blaze", - "H": "Libero" + "0": "Emergency Exit" }, - "heightm": 1.4, - "weightkg": 33, - "color": "White", - "prevo": "Raboot", - "evoLevel": 35, + "heightm": 2, + "weightkg": 108, + "color": "Gray", + "prevo": "Wimpod", + "evoLevel": 30, "eggGroups": [ - "Field", - "Human-Like" - ], - "canGigantamax": "G-Max Fireball" + "Bug", + "Water 3" + ] }, - "cinderacegmax": { - "num": 815, - "name": "cinderace-gmax", - "baseSpecies": "Cinderace", - "forme": "Gmax", + "sandygast": { + "num": 769, + "name": "sandygast", "types": [ - "fire" + "ghost", + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 80, - "attack": 116, - "defense": 75, - "special-attack": 65, - "special-defense": 75, - "speed": 119 + "hp": 55, + "attack": 55, + "defense": 80, + "special-attack": 70, + "special-defense": 45, + "speed": 15 }, "abilities": { - "0": "Blaze", - "H": "Libero" + "0": "Water Compaction", + "H": "Sand Veil" }, - "heightm": 27, - "weightkg": 0, - "color": "White", - "eggGroups": [ - "Field", - "Human-Like" + "heightm": 0.5, + "weightkg": 70, + "color": "Brown", + "evos": [ + "Palossand" ], - "changesFrom": "Cinderace" + "eggGroups": [ + "Amorphous" + ] }, - "sobble": { - "num": 816, - "name": "sobble", + "palossand": { + "num": 770, + "name": "palossand", "types": [ - "water" + "ghost", + "ground" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 50, - "attack": 40, - "defense": 40, - "special-attack": 70, - "special-defense": 40, - "speed": 70 + "hp": 85, + "attack": 75, + "defense": 110, + "special-attack": 100, + "special-defense": 75, + "speed": 35 }, "abilities": { - "0": "Torrent", - "H": "Sniper" + "0": "Water Compaction", + "H": "Sand Veil" }, - "heightm": 0.3, - "weightkg": 4, - "color": "Blue", - "evos": [ - "Drizzile" - ], + "heightm": 1.3, + "weightkg": 250, + "color": "Brown", + "prevo": "Sandygast", + "evoLevel": 42, "eggGroups": [ - "Water 1", - "Field" + "Amorphous" ] }, - "drizzile": { - "num": 817, - "name": "drizzile", + "pyukumuku": { + "num": 771, + "name": "pyukumuku", "types": [ "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 65, + "hp": 55, "attack": 60, - "defense": 55, - "special-attack": 95, - "special-defense": 55, - "speed": 90 + "defense": 130, + "special-attack": 30, + "special-defense": 130, + "speed": 5 }, "abilities": { - "0": "Torrent", - "H": "Sniper" + "0": "Innards Out", + "H": "Unaware" }, - "heightm": 0.7, - "weightkg": 11.5, - "color": "Blue", - "prevo": "Sobble", - "evoLevel": 16, - "evos": [ - "Inteleon" - ], + "heightm": 0.3, + "weightkg": 1.2, + "color": "Black", "eggGroups": [ - "Water 1", - "Field" + "Water 1" ] }, - "inteleon": { - "num": 818, - "name": "inteleon", + "typenull": { + "num": 772, + "name": "type: null", "types": [ - "water" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 70, - "attack": 85, - "defense": 65, - "special-attack": 125, - "special-defense": 65, - "speed": 120 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 59 }, "abilities": { - "0": "Torrent", - "H": "Sniper" + "0": "Battle Armor" }, "heightm": 1.9, - "weightkg": 45.2, - "color": "Blue", - "prevo": "Drizzile", - "evoLevel": 35, - "eggGroups": [ - "Water 1", - "Field" + "weightkg": 120.5, + "color": "Gray", + "tags": [ + "Sub-Legendary" ], - "canGigantamax": "G-Max Hydrosnipe" + "evos": [ + "Silvally" + ], + "eggGroups": [ + "Undiscovered" + ] }, - "inteleongmax": { - "num": 818, - "name": "inteleon-gmax", - "baseSpecies": "Inteleon", - "forme": "Gmax", + "silvally": { + "num": 773, + "name": "silvally", "types": [ - "water" + "normal" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 70, - "attack": 85, - "defense": 65, - "special-attack": 125, - "special-defense": 65, - "speed": 120 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Torrent", - "H": "Sniper" + "0": "RKS System" }, - "heightm": 40, - "weightkg": 0, - "color": "Blue", + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", + "tags": [ + "Sub-Legendary" + ], + "prevo": "Type: Null", + "evoType": "levelFriendship", "eggGroups": [ - "Water 1", - "Field" + "Undiscovered" ], - "changesFrom": "Inteleon" + "otherFormes": [ + "Silvally-Bug", + "Silvally-Dark", + "Silvally-Dragon", + "Silvally-Electric", + "Silvally-Fairy", + "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", + "Silvally-Fairy" + ] }, - "skwovet": { - "num": 819, - "name": "skwovet", + "silvallybug": { + "num": 773, + "name": "silvally-bug", + "baseSpecies": "Silvally", + "forme": "Bug", "types": [ - "normal" + "bug" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 55, - "defense": 55, - "special-attack": 35, - "special-defense": 35, - "speed": 25 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Cheek Pouch", - "H": "Gluttony" + "0": "RKS System" }, - "heightm": 0.3, - "weightkg": 2.5, - "color": "Brown", - "evos": [ - "Greedent" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Bug Memory", + "changesFrom": "Silvally" }, - "greedent": { - "num": 820, - "name": "greedent", + "silvallydark": { + "num": 773, + "name": "silvally-dark", + "baseSpecies": "Silvally", + "forme": "Dark", "types": [ - "normal" + "dark" ], + "gender": "N", "baseStats": { - "hp": 120, + "hp": 95, "attack": 95, "defense": 95, - "special-attack": 55, - "special-defense": 75, - "speed": 20 + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Cheek Pouch", - "H": "Gluttony" + "0": "RKS System" }, - "heightm": 0.6, - "weightkg": 6, - "color": "Brown", - "prevo": "Skwovet", - "evoLevel": 24, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Dark Memory", + "changesFrom": "Silvally" }, - "rookidee": { - "num": 821, - "name": "rookidee", + "silvallydragon": { + "num": 773, + "name": "silvally-dragon", + "baseSpecies": "Silvally", + "forme": "Dragon", "types": [ - "flying" + "dragon" ], + "gender": "N", "baseStats": { - "hp": 38, - "attack": 47, - "defense": 35, - "special-attack": 33, - "special-defense": 35, - "speed": 57 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Keen Eye", - "1": "Unnerve", - "H": "Big Pecks" + "0": "RKS System" }, - "heightm": 0.2, - "weightkg": 1.8, - "color": "Blue", - "evos": [ - "Corvisquire" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "requiredItem": "Dragon Memory", + "changesFrom": "Silvally" }, - "corvisquire": { - "num": 822, - "name": "corvisquire", + "silvallyelectric": { + "num": 773, + "name": "silvally-electric", + "baseSpecies": "Silvally", + "forme": "Electric", "types": [ - "flying" + "electric" ], + "gender": "N", "baseStats": { - "hp": 68, - "attack": 67, - "defense": 55, - "special-attack": 43, - "special-defense": 55, - "speed": 77 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Keen Eye", - "1": "Unnerve", - "H": "Big Pecks" + "0": "RKS System" }, - "heightm": 0.8, - "weightkg": 16, - "color": "Blue", - "prevo": "Rookidee", - "evoLevel": 18, - "evos": [ - "Corviknight" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "requiredItem": "Electric Memory", + "changesFrom": "Silvally" }, - "corviknight": { - "num": 823, - "name": "corviknight", + "silvallyfairy": { + "num": 773, + "name": "silvally-fairy", + "baseSpecies": "Silvally", + "forme": "Fairy", "types": [ - "flying", - "steel" + "fairy" ], + "gender": "N", "baseStats": { - "hp": 98, - "attack": 87, - "defense": 105, - "special-attack": 53, - "special-defense": 85, - "speed": 67 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Pressure", - "1": "Unnerve", - "H": "Mirror Armor" + "0": "RKS System" }, - "heightm": 2.2, - "weightkg": 75, - "color": "Purple", - "prevo": "Corvisquire", - "evoLevel": 38, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Flying" + "Undiscovered" ], - "canGigantamax": "G-Max Wind Rage" + "requiredItem": "Fairy Memory", + "changesFrom": "Silvally" }, - "corviknightgmax": { - "num": 823, - "name": "corviknight-gmax", - "baseSpecies": "Corviknight", - "forme": "Gmax", + "silvallyfighting": { + "num": 773, + "name": "silvally-fighting", + "baseSpecies": "Silvally", + "forme": "Fighting", "types": [ - "flying", - "steel" + "fighting" ], + "gender": "N", "baseStats": { - "hp": 98, - "attack": 87, - "defense": 105, - "special-attack": 53, - "special-defense": 85, - "speed": 67 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Pressure", - "1": "Unnerve", - "H": "Mirror Armor" + "0": "RKS System" }, - "heightm": 14, - "weightkg": 0, - "color": "Purple", + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Flying" + "Undiscovered" ], - "changesFrom": "Corviknight" + "requiredItem": "Fighting Memory", + "changesFrom": "Silvally" }, - "blipbug": { - "num": 824, - "name": "blipbug", + "silvallyfire": { + "num": 773, + "name": "silvally-fire", + "baseSpecies": "Silvally", + "forme": "Fire", "types": [ - "bug" + "fire" ], + "gender": "N", "baseStats": { - "hp": 25, - "attack": 20, - "defense": 20, - "special-attack": 25, - "special-defense": 45, - "speed": 45 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Swarm", - "1": "Compound Eyes", - "H": "Telepathy" + "0": "RKS System" }, - "heightm": 0.4, - "weightkg": 8, - "color": "Blue", - "evos": [ - "Dottler" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Bug" - ] + "Undiscovered" + ], + "requiredItem": "Fire Memory", + "changesFrom": "Silvally" }, - "dottler": { - "num": 825, - "name": "dottler", + "silvallyflying": { + "num": 773, + "name": "silvally-flying", + "baseSpecies": "Silvally", + "forme": "Flying", "types": [ - "bug", - "psychic" + "flying" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 35, - "defense": 80, - "special-attack": 50, - "special-defense": 90, - "speed": 30 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Swarm", - "1": "Compound Eyes", - "H": "Telepathy" + "0": "RKS System" }, - "heightm": 0.4, - "weightkg": 19.5, - "color": "Yellow", - "prevo": "Blipbug", - "evoLevel": 10, - "evos": [ - "Orbeetle" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Bug" - ] + "Undiscovered" + ], + "requiredItem": "Flying Memory", + "changesFrom": "Silvally" }, - "orbeetle": { - "num": 826, - "name": "orbeetle", + "silvallyghost": { + "num": 773, + "name": "silvally-ghost", + "baseSpecies": "Silvally", + "forme": "Ghost", "types": [ - "bug", - "psychic" + "ghost" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 45, - "defense": 110, - "special-attack": 80, - "special-defense": 120, - "speed": 90 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Swarm", - "1": "Frisk", - "H": "Telepathy" + "0": "RKS System" }, - "heightm": 0.4, - "weightkg": 40.8, - "color": "Red", - "prevo": "Dottler", - "evoLevel": 30, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Bug" + "Undiscovered" ], - "canGigantamax": "G-Max Gravitas" + "requiredItem": "Ghost Memory", + "changesFrom": "Silvally" }, - "orbeetlegmax": { - "num": 826, - "name": "orbeetle-gmax", - "baseSpecies": "Orbeetle", - "forme": "Gmax", + "silvallygrass": { + "num": 773, + "name": "silvally-grass", + "baseSpecies": "Silvally", + "forme": "Grass", "types": [ - "bug", - "psychic" + "grass" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 45, - "defense": 110, - "special-attack": 80, - "special-defense": 120, - "speed": 90 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Swarm", - "1": "Frisk", - "H": "Telepathy" + "0": "RKS System" }, - "heightm": 14, - "weightkg": 0, - "color": "Red", + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Bug" + "Undiscovered" ], - "changesFrom": "Orbeetle" + "requiredItem": "Grass Memory", + "changesFrom": "Silvally" }, - "nickit": { - "num": 827, - "name": "nickit", + "silvallyground": { + "num": 773, + "name": "silvally-ground", + "baseSpecies": "Silvally", + "forme": "Ground", "types": [ - "dark" + "ground" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 28, - "defense": 28, - "special-attack": 47, - "special-defense": 52, - "speed": 50 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Run Away", - "1": "Unburden", - "H": "Stakeout" + "0": "RKS System" }, - "heightm": 0.6, - "weightkg": 8.9, - "color": "Brown", - "evos": [ - "Thievul" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Ground Memory", + "changesFrom": "Silvally" }, - "thievul": { - "num": 828, - "name": "thievul", + "silvallyice": { + "num": 773, + "name": "silvally-ice", + "baseSpecies": "Silvally", + "forme": "Ice", "types": [ - "dark" + "ice" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 58, - "defense": 58, - "special-attack": 87, - "special-defense": 92, - "speed": 90 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Run Away", - "1": "Unburden", - "H": "Stakeout" + "0": "RKS System" }, - "heightm": 1.2, - "weightkg": 19.9, - "color": "Brown", - "prevo": "Nickit", - "evoLevel": 18, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Ice Memory", + "changesFrom": "Silvally" }, - "gossifleur": { - "num": 829, - "name": "gossifleur", + "silvallypoison": { + "num": 773, + "name": "silvally-poison", + "baseSpecies": "Silvally", + "forme": "Poison", "types": [ - "grass" + "poison" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 40, - "defense": 60, - "special-attack": 40, - "special-defense": 60, - "speed": 10 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Cotton Down", - "1": "Regenerator", - "H": "Effect Spore" + "0": "RKS System" }, - "heightm": 0.4, - "weightkg": 2.2, - "color": "Green", - "evos": [ - "Eldegoss" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Grass" - ] + "Undiscovered" + ], + "requiredItem": "Poison Memory", + "changesFrom": "Silvally" }, - "eldegoss": { - "num": 830, - "name": "eldegoss", + "silvallypsychic": { + "num": 773, + "name": "silvally-psychic", + "baseSpecies": "Silvally", + "forme": "Psychic", "types": [ - "grass" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 60, - "attack": 50, - "defense": 90, - "special-attack": 80, - "special-defense": 120, - "speed": 60 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Cotton Down", - "1": "Regenerator", - "H": "Effect Spore" + "0": "RKS System" }, - "heightm": 0.5, - "weightkg": 2.5, - "color": "Green", - "prevo": "Gossifleur", - "evoLevel": 20, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Grass" - ] + "Undiscovered" + ], + "requiredItem": "Psychic Memory", + "changesFrom": "Silvally" }, - "wooloo": { - "num": 831, - "name": "wooloo", + "silvallyrock": { + "num": 773, + "name": "silvally-rock", + "baseSpecies": "Silvally", + "forme": "Rock", "types": [ - "normal" + "rock" ], + "gender": "N", "baseStats": { - "hp": 42, - "attack": 40, - "defense": 55, - "special-attack": 40, - "special-defense": 45, - "speed": 48 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Fluffy", - "1": "Run Away", - "H": "Bulletproof" + "0": "RKS System" }, - "heightm": 0.6, - "weightkg": 6, - "color": "White", - "evos": [ - "Dubwool" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Rock Memory", + "changesFrom": "Silvally" }, - "dubwool": { - "num": 832, - "name": "dubwool", + "silvallysteel": { + "num": 773, + "name": "silvally-steel", + "baseSpecies": "Silvally", + "forme": "Steel", "types": [ - "normal" + "steel" ], + "gender": "N", "baseStats": { - "hp": 72, - "attack": 80, - "defense": 100, - "special-attack": 60, - "special-defense": 90, - "speed": 88 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Fluffy", - "1": "Steadfast", - "H": "Bulletproof" + "0": "RKS System" }, - "heightm": 1.3, - "weightkg": 43, - "color": "White", - "prevo": "Wooloo", - "evoLevel": 24, + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "requiredItem": "Steel Memory", + "changesFrom": "Silvally" }, - "chewtle": { - "num": 833, - "name": "chewtle", + "silvallywater": { + "num": 773, + "name": "silvally-water", + "baseSpecies": "Silvally", + "forme": "Water", "types": [ "water" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 64, - "defense": 50, - "special-attack": 38, - "special-defense": 38, - "speed": 44 + "hp": 95, + "attack": 95, + "defense": 95, + "special-attack": 95, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Strong Jaw", - "1": "Shell Armor", - "H": "Swift Swim" + "0": "RKS System" }, - "heightm": 0.3, - "weightkg": 8.5, - "color": "Green", - "evos": [ - "Drednaw" - ], + "heightm": 2.3, + "weightkg": 100.5, + "color": "Gray", "eggGroups": [ - "Monster", - "Water 1" - ] + "Undiscovered" + ], + "requiredItem": "Water Memory", + "changesFrom": "Silvally" }, - "drednaw": { - "num": 834, - "name": "drednaw", + "minior": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ - "water", - "rock" + "rock", + "flying" ], + "gender": "N", "baseStats": { - "hp": 90, - "attack": 115, - "defense": 90, - "special-attack": 48, - "special-defense": 68, - "speed": 74 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Strong Jaw", - "1": "Shell Armor", - "H": "Swift Swim" + "0": "Shields Down" }, - "heightm": 1, - "weightkg": 115.5, - "color": "Green", - "prevo": "Chewtle", - "evoLevel": 22, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Monster", - "Water 1" + "Mineral" ], - "canGigantamax": "G-Max Stonesurge" + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ] }, - "drednawgmax": { - "num": 834, - "name": "drednaw-gmax", - "baseSpecies": "Drednaw", - "forme": "Gmax", + "miniororange": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ - "water", - "rock" + "rock", + "flying" ], + "gender": "N", "baseStats": { - "hp": 90, - "attack": 115, - "defense": 90, - "special-attack": 48, - "special-defense": 68, - "speed": 74 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Strong Jaw", - "1": "Shell Armor", - "H": "Swift Swim" + "0": "Shields Down" }, - "heightm": 24, - "weightkg": 0, - "color": "Green", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Monster", - "Water 1" + "Mineral" ], - "changesFrom": "Drednaw" + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ] }, - "yamper": { - "num": 835, - "name": "yamper", + "minioryellow": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ - "electric" + "rock", + "flying" ], + "gender": "N", "baseStats": { - "hp": 59, - "attack": 45, - "defense": 50, - "special-attack": 40, - "special-defense": 50, - "speed": 26 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Ball Fetch", - "H": "Rattled" + "0": "Shields Down" }, "heightm": 0.3, - "weightkg": 13.5, - "color": "Yellow", - "evos": [ - "Boltund" - ], + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Field" + "Mineral" + ], + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" ] }, - "boltund": { - "num": 836, - "name": "boltund", + "miniorgreen": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ - "electric" + "rock", + "flying" ], + "gender": "N", "baseStats": { - "hp": 69, - "attack": 90, + "hp": 60, + "attack": 100, "defense": 60, - "special-attack": 90, + "special-attack": 100, "special-defense": 60, - "speed": 121 + "speed": 120 }, "abilities": { - "0": "Strong Jaw", - "H": "Competitive" + "0": "Shields Down" }, - "heightm": 1, - "weightkg": 34, - "color": "Yellow", - "prevo": "Yamper", - "evoLevel": 25, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ - "Field" + "Mineral" + ], + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" ] }, - "rolycoly": { - "num": 837, - "name": "rolycoly", + "miniorblue": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ - "rock" + "rock", + "flying" ], + "gender": "N", "baseStats": { - "hp": 30, - "attack": 40, - "defense": 50, - "special-attack": 40, - "special-defense": 50, - "speed": 30 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Steam Engine", - "1": "Heatproof", - "H": "Flash Fire" + "0": "Shields Down" }, "heightm": 0.3, - "weightkg": 12, - "color": "Black", - "evos": [ - "Carkol" - ], + "weightkg": 0.3, + "color": "Red", "eggGroups": [ "Mineral" + ], + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" ] }, - "carkol": { - "num": 838, - "name": "carkol", + "miniorindigo": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ "rock", - "fire" + "flying" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 60, - "defense": 90, - "special-attack": 60, - "special-defense": 70, - "speed": 50 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Steam Engine", - "1": "Flame Body", - "H": "Flash Fire" + "0": "Shields Down" }, - "heightm": 1.1, - "weightkg": 78, - "color": "Black", - "prevo": "Rolycoly", - "evoLevel": 18, - "evos": [ - "Coalossal" + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Mineral" + ], + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" ], - "eggGroups": [ - "Mineral" + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" ] }, - "coalossal": { - "num": 839, - "name": "coalossal", + "miniorviolet": { + "num": 774, + "name": "minior", + "baseForme": "Red", "types": [ "rock", - "fire" + "flying" ], + "gender": "N", "baseStats": { - "hp": 110, - "attack": 80, - "defense": 120, - "special-attack": 80, - "special-defense": 90, - "speed": 30 + "hp": 60, + "attack": 100, + "defense": 60, + "special-attack": 100, + "special-defense": 60, + "speed": 120 }, "abilities": { - "0": "Steam Engine", - "1": "Flame Body", - "H": "Flash Fire" + "0": "Shields Down" }, - "heightm": 2.8, - "weightkg": 310.5, - "color": "Black", - "prevo": "Carkol", - "evoLevel": 34, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", "eggGroups": [ "Mineral" ], - "canGigantamax": "G-Max Volcalith" + "otherFormes": [ + "Minior-Meteor" + ], + "cosmeticFormes": [ + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ], + "formeOrder": [ + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior-Meteor", + "Minior", + "Minior-Orange", + "Minior-Yellow", + "Minior-Green", + "Minior-Blue", + "Minior-Indigo", + "Minior-Violet" + ] }, - "coalossalgmax": { - "num": 839, - "name": "coalossal-gmax", - "baseSpecies": "Coalossal", - "forme": "Gmax", + "miniormeteor": { + "num": 774, + "name": "minior-meteor", + "baseSpecies": "Minior", + "forme": "Meteor", "types": [ "rock", - "fire" + "flying" ], + "gender": "N", "baseStats": { - "hp": 110, - "attack": 80, - "defense": 120, - "special-attack": 80, - "special-defense": 90, - "speed": 30 + "hp": 60, + "attack": 60, + "defense": 100, + "special-attack": 60, + "special-defense": 100, + "speed": 60 }, "abilities": { - "0": "Steam Engine", - "1": "Flame Body", - "H": "Flash Fire" + "0": "Shields Down" }, - "heightm": 42, - "weightkg": 0, - "color": "Black", + "heightm": 0.3, + "weightkg": 40, + "color": "Brown", "eggGroups": [ "Mineral" ], - "changesFrom": "Coalossal" + "requiredAbility": "Shields Down", + "battleOnly": "Minior" }, - "applin": { - "num": 840, - "name": "applin", + "komala": { + "num": 775, + "name": "komala", "types": [ - "grass", - "dragon" + "normal" ], "baseStats": { - "hp": 40, - "attack": 40, - "defense": 80, - "special-attack": 40, - "special-defense": 40, - "speed": 20 + "hp": 65, + "attack": 115, + "defense": 65, + "special-attack": 75, + "special-defense": 95, + "speed": 65 }, "abilities": { - "0": "Ripen", - "1": "Gluttony", - "H": "Bulletproof" + "0": "Comatose" }, - "heightm": 0.2, - "weightkg": 0.5, - "color": "Green", - "evos": [ - "Flapple", - "Appletun", - "Dipplin" - ], + "heightm": 0.4, + "weightkg": 19.9, + "color": "Blue", "eggGroups": [ - "Grass", - "Dragon" + "Field" ] }, - "flapple": { - "num": 841, - "name": "flapple", + "turtonator": { + "num": 776, + "name": "turtonator", "types": [ - "grass", + "fire", "dragon" ], "baseStats": { - "hp": 70, - "attack": 110, - "defense": 80, - "special-attack": 95, - "special-defense": 60, - "speed": 70 + "hp": 60, + "attack": 78, + "defense": 135, + "special-attack": 91, + "special-defense": 85, + "speed": 36 }, "abilities": { - "0": "Ripen", - "1": "Gluttony", - "H": "Hustle" + "0": "Shell Armor" }, - "heightm": 0.3, - "weightkg": 1, - "color": "Green", - "prevo": "Applin", - "evoType": "useItem", - "evoItem": "Tart Apple", + "heightm": 2, + "weightkg": 212, + "color": "Red", "eggGroups": [ - "Grass", + "Monster", "Dragon" - ], - "canGigantamax": "G-Max Tartness" + ] }, - "flapplegmax": { - "num": 841, - "name": "flapple-gmax", - "baseSpecies": "Flapple", - "forme": "Gmax", + "togedemaru": { + "num": 777, + "name": "togedemaru", "types": [ - "grass", - "dragon" + "electric", + "steel" ], "baseStats": { - "hp": 70, - "attack": 110, - "defense": 80, - "special-attack": 95, - "special-defense": 60, - "speed": 70 + "hp": 65, + "attack": 98, + "defense": 63, + "special-attack": 40, + "special-defense": 73, + "speed": 96 }, "abilities": { - "0": "Ripen", - "1": "Gluttony", - "H": "Hustle" + "0": "Iron Barbs", + "1": "Lightning Rod", + "H": "Sturdy" }, - "heightm": 24, - "weightkg": 0, - "color": "Green", + "heightm": 0.3, + "weightkg": 3.3, + "color": "Gray", "eggGroups": [ - "Grass", - "Dragon" + "Field", + "Fairy" ], - "changesFrom": "Flapple" + "otherFormes": [ + "Togedemaru-Totem" + ], + "formeOrder": [ + "Togedemaru", + "Togedemaru-Totem" + ] }, - "appletun": { - "num": 842, - "name": "appletun", + "togedemarutotem": { + "num": 777, + "name": "togedemaru-totem", + "baseSpecies": "Togedemaru", + "forme": "Totem", "types": [ - "grass", - "dragon" + "electric", + "steel" ], "baseStats": { - "hp": 110, - "attack": 85, - "defense": 80, - "special-attack": 100, - "special-defense": 80, - "speed": 30 + "hp": 65, + "attack": 98, + "defense": 63, + "special-attack": 40, + "special-defense": 73, + "speed": 96 }, "abilities": { - "0": "Ripen", - "1": "Gluttony", - "H": "Thick Fat" + "0": "Sturdy" }, - "heightm": 0.4, + "heightm": 0.6, "weightkg": 13, - "color": "Green", - "prevo": "Applin", - "evoType": "useItem", - "evoItem": "Sweet Apple", + "color": "Gray", "eggGroups": [ - "Grass", - "Dragon" - ], - "canGigantamax": "G-Max Sweetness" + "Field", + "Fairy" + ] }, - "appletungmax": { - "num": 842, - "name": "appletun-gmax", - "baseSpecies": "Appletun", - "forme": "Gmax", + "mimikyu": { + "num": 778, + "name": "mimikyu", + "baseForme": "Disguised", "types": [ - "grass", - "dragon" + "ghost", + "fairy" ], "baseStats": { - "hp": 110, - "attack": 85, + "hp": 55, + "attack": 90, "defense": 80, - "special-attack": 100, - "special-defense": 80, - "speed": 30 + "special-attack": 50, + "special-defense": 105, + "speed": 96 }, "abilities": { - "0": "Ripen", - "1": "Gluttony", - "H": "Thick Fat" + "0": "Disguise" }, - "heightm": 24, - "weightkg": 0, - "color": "Green", + "heightm": 0.2, + "weightkg": 0.7, + "color": "Yellow", "eggGroups": [ - "Grass", - "Dragon" - ], - "changesFrom": "Appletun" - }, - "silicobra": { - "num": 843, - "name": "silicobra", - "types": [ - "ground" + "Amorphous" ], - "baseStats": { - "hp": 52, - "attack": 57, - "defense": 75, - "special-attack": 35, - "special-defense": 50, - "speed": 46 - }, - "abilities": { - "0": "Sand Spit", - "1": "Shed Skin", - "H": "Sand Veil" - }, - "heightm": 2.2, - "weightkg": 7.6, - "color": "Green", - "evos": [ - "Sandaconda" + "otherFormes": [ + "Mimikyu-Busted", + "Mimikyu-Totem", + "Mimikyu-Busted-Totem" ], - "eggGroups": [ - "Field", - "Dragon" + "formeOrder": [ + "Mimikyu", + "Mimikyu-Busted", + "Mimikyu-Totem", + "Mimikyu-Busted-Totem" ] }, - "sandaconda": { - "num": 844, - "name": "sandaconda", + "mimikyubusted": { + "num": 778, + "name": "mimikyu-busted", + "baseSpecies": "Mimikyu", + "forme": "Busted", "types": [ - "ground" + "ghost", + "fairy" ], "baseStats": { - "hp": 72, - "attack": 107, - "defense": 125, - "special-attack": 65, - "special-defense": 70, - "speed": 71 + "hp": 55, + "attack": 90, + "defense": 80, + "special-attack": 50, + "special-defense": 105, + "speed": 96 }, "abilities": { - "0": "Sand Spit", - "1": "Shed Skin", - "H": "Sand Veil" + "0": "Disguise" }, - "heightm": 3.8, - "weightkg": 65.5, - "color": "Green", - "prevo": "Silicobra", - "evoLevel": 36, + "heightm": 0.2, + "weightkg": 0.7, + "color": "Yellow", "eggGroups": [ - "Field", - "Dragon" + "Amorphous" ], - "canGigantamax": "G-Max Sandblast" + "requiredAbility": "Disguise", + "battleOnly": "Mimikyu" }, - "sandacondagmax": { - "num": 844, - "name": "sandaconda-gmax", - "baseSpecies": "Sandaconda", - "forme": "Gmax", + "mimikyutotem": { + "num": 778, + "name": "mimikyu-totem", + "baseSpecies": "Mimikyu", + "forme": "Totem", "types": [ - "ground" + "ghost", + "fairy" ], "baseStats": { - "hp": 72, - "attack": 107, - "defense": 125, - "special-attack": 65, - "special-defense": 70, - "speed": 71 + "hp": 55, + "attack": 90, + "defense": 80, + "special-attack": 50, + "special-defense": 105, + "speed": 96 }, "abilities": { - "0": "Sand Spit", - "1": "Shed Skin", - "H": "Sand Veil" + "0": "Disguise" }, - "heightm": 22, - "weightkg": 0, - "color": "Green", + "heightm": 0.4, + "weightkg": 2.8, + "color": "Yellow", "eggGroups": [ - "Field", - "Dragon" - ], - "changesFrom": "Sandaconda" + "Amorphous" + ] }, - "cramorant": { - "num": 845, - "name": "cramorant", + "mimikyubustedtotem": { + "num": 778, + "name": "mimikyu-busted-totem", + "baseSpecies": "Mimikyu", + "forme": "Busted-Totem", "types": [ - "flying", - "water" + "ghost", + "fairy" ], "baseStats": { - "hp": 70, - "attack": 85, - "defense": 55, - "special-attack": 85, - "special-defense": 95, - "speed": 85 + "hp": 55, + "attack": 90, + "defense": 80, + "special-attack": 50, + "special-defense": 105, + "speed": 96 }, "abilities": { - "0": "Gulp Missile" + "0": "Disguise" }, - "heightm": 0.8, - "weightkg": 18, - "color": "Blue", + "heightm": 0.4, + "weightkg": 2.8, + "color": "Yellow", "eggGroups": [ - "Water 1", - "Flying" - ], - "otherFormes": [ - "Cramorant-Gulping", - "Cramorant-Gorging" + "Amorphous" ], - "formeOrder": [ - "Cramorant", - "Cramorant-Gulping", - "Cramorant-Gorging" - ] + "requiredAbility": "Disguise", + "battleOnly": "Mimikyu-Totem" }, - "cramorantgulping": { - "num": 845, - "name": "cramorant-gulping", - "baseSpecies": "Cramorant", - "forme": "Gulping", + "bruxish": { + "num": 779, + "name": "bruxish", "types": [ - "flying", - "water" + "water", + "psychic" ], "baseStats": { - "hp": 70, - "attack": 85, - "defense": 55, - "special-attack": 85, - "special-defense": 95, - "speed": 85 + "hp": 68, + "attack": 105, + "defense": 70, + "special-attack": 70, + "special-defense": 70, + "speed": 92 }, "abilities": { - "0": "Gulp Missile" + "0": "Dazzling", + "1": "Strong Jaw", + "H": "Wonder Skin" }, - "heightm": 0.8, - "weightkg": 18, - "color": "Blue", + "heightm": 0.9, + "weightkg": 19, + "color": "Pink", "eggGroups": [ - "Water 1", - "Flying" - ], - "requiredAbility": "Gulp Missile", - "battleOnly": "Cramorant" + "Water 2" + ] }, - "cramorantgorging": { - "num": 845, - "name": "cramorant-gorging", - "baseSpecies": "Cramorant", - "forme": "Gorging", + "drampa": { + "num": 780, + "name": "drampa", "types": [ - "flying", - "water" + "normal", + "dragon" ], "baseStats": { - "hp": 70, - "attack": 85, - "defense": 55, - "special-attack": 85, - "special-defense": 95, - "speed": 85 + "hp": 78, + "attack": 60, + "defense": 85, + "special-attack": 135, + "special-defense": 91, + "speed": 36 }, "abilities": { - "0": "Gulp Missile" + "0": "Berserk", + "1": "Sap Sipper", + "H": "Cloud Nine" }, - "heightm": 0.8, - "weightkg": 18, - "color": "Blue", + "heightm": 3, + "weightkg": 185, + "color": "White", "eggGroups": [ - "Water 1", - "Flying" - ], - "requiredAbility": "Gulp Missile", - "battleOnly": "Cramorant" + "Monster", + "Dragon" + ] }, - "arrokuda": { - "num": 846, - "name": "arrokuda", + "dhelmise": { + "num": 781, + "name": "dhelmise", "types": [ - "water" + "ghost", + "grass" ], + "gender": "N", "baseStats": { - "hp": 41, - "attack": 63, - "defense": 40, - "special-attack": 40, - "special-defense": 30, - "speed": 66 + "hp": 70, + "attack": 131, + "defense": 100, + "special-attack": 86, + "special-defense": 90, + "speed": 40 }, "abilities": { - "0": "Swift Swim", - "H": "Propeller Tail" + "0": "Steelworker" }, - "heightm": 0.5, - "weightkg": 1, - "color": "Brown", - "evos": [ - "Barraskewda" - ], + "heightm": 3.9, + "weightkg": 210, + "color": "Green", "eggGroups": [ - "Water 2" + "Mineral" ] }, - "barraskewda": { - "num": 847, - "name": "barraskewda", + "jangmoo": { + "num": 782, + "name": "jangmo-o", "types": [ - "water" + "dragon" ], "baseStats": { - "hp": 61, - "attack": 123, - "defense": 60, - "special-attack": 60, - "special-defense": 50, - "speed": 136 + "hp": 45, + "attack": 55, + "defense": 65, + "special-attack": 45, + "special-defense": 45, + "speed": 45 }, "abilities": { - "0": "Swift Swim", - "H": "Propeller Tail" + "0": "Bulletproof", + "1": "Soundproof", + "H": "Overcoat" }, - "heightm": 1.3, - "weightkg": 30, - "color": "Brown", - "prevo": "Arrokuda", - "evoLevel": 26, + "heightm": 0.6, + "weightkg": 29.7, + "color": "Gray", + "evos": [ + "Hakamo-o" + ], "eggGroups": [ - "Water 2" + "Dragon" ] }, - "toxel": { - "num": 848, - "name": "toxel", + "hakamoo": { + "num": 783, + "name": "hakamo-o", "types": [ - "electric", - "poison" + "dragon", + "fighting" ], "baseStats": { - "hp": 40, - "attack": 38, - "defense": 35, - "special-attack": 54, - "special-defense": 35, - "speed": 40 + "hp": 55, + "attack": 75, + "defense": 90, + "special-attack": 65, + "special-defense": 70, + "speed": 65 }, "abilities": { - "0": "Rattled", - "1": "Static", - "H": "Klutz" + "0": "Bulletproof", + "1": "Soundproof", + "H": "Overcoat" }, - "heightm": 0.4, - "weightkg": 11, - "color": "Purple", + "heightm": 1.2, + "weightkg": 47, + "color": "Gray", + "prevo": "Jangmo-o", + "evoLevel": 35, "evos": [ - "Toxtricity", - "Toxtricity-Low-Key" + "Kommo-o" ], "eggGroups": [ - "Undiscovered" - ], - "canHatch": true + "Dragon" + ] }, - "toxtricity": { - "num": 849, - "name": "toxtricity", - "baseForme": "Amped", + "kommoo": { + "num": 784, + "name": "kommo-o", "types": [ - "electric", - "poison" + "dragon", + "fighting" ], "baseStats": { "hp": 75, - "attack": 98, - "defense": 70, - "special-attack": 114, - "special-defense": 70, - "speed": 75 + "attack": 110, + "defense": 125, + "special-attack": 100, + "special-defense": 105, + "speed": 85 }, "abilities": { - "0": "Punk Rock", - "1": "Plus", - "H": "Technician" + "0": "Bulletproof", + "1": "Soundproof", + "H": "Overcoat" }, "heightm": 1.6, - "weightkg": 40, - "color": "Purple", - "prevo": "Toxel", - "evoLevel": 30, + "weightkg": 78.2, + "color": "Gray", + "prevo": "Hakamo-o", + "evoLevel": 45, "eggGroups": [ - "Human-Like" + "Dragon" ], "otherFormes": [ - "Toxtricity-Low-Key" + "Kommo-o-Totem" ], "formeOrder": [ - "Toxtricity", - "Toxtricity-Low-Key" - ], - "canGigantamax": "G-Max Stun Shock" + "Kommo-o", + "Kommo-o-Totem" + ] }, - "toxtricitylowkey": { - "num": 849, - "name": "toxtricity-low-key", - "baseSpecies": "Toxtricity", - "forme": "Low-Key", + "kommoototem": { + "num": 784, + "name": "kommo-o-totem", + "baseSpecies": "Kommo-o", + "forme": "Totem", "types": [ - "electric", - "poison" + "dragon", + "fighting" ], "baseStats": { "hp": 75, - "attack": 98, - "defense": 70, - "special-attack": 114, - "special-defense": 70, - "speed": 75 + "attack": 110, + "defense": 125, + "special-attack": 100, + "special-defense": 105, + "speed": 85 }, "abilities": { - "0": "Punk Rock", - "1": "Minus", - "H": "Technician" + "0": "Overcoat" }, - "heightm": 1.6, - "weightkg": 40, - "color": "Purple", - "prevo": "Toxel", - "evoLevel": 30, + "heightm": 2.4, + "weightkg": 207.5, + "color": "Gray", "eggGroups": [ - "Human-Like" - ], - "canGigantamax": "G-Max Stun Shock" + "Dragon" + ] }, - "toxtricitygmax": { - "num": 849, - "name": "toxtricity-gmax", - "baseSpecies": "Toxtricity", - "forme": "Gmax", + "tapukoko": { + "num": 785, + "name": "tapu koko", "types": [ "electric", - "poison" + "fairy" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 98, - "defense": 70, - "special-attack": 114, - "special-defense": 70, - "speed": 75 + "hp": 70, + "attack": 115, + "defense": 85, + "special-attack": 95, + "special-defense": 75, + "speed": 130 }, "abilities": { - "0": "Punk Rock", - "1": "Plus", - "H": "Technician" + "0": "Electric Surge", + "H": "Telepathy" }, - "heightm": 24, - "weightkg": 0, - "color": "Purple", - "eggGroups": [ - "Human-Like" + "heightm": 1.8, + "weightkg": 20.5, + "color": "Yellow", + "tags": [ + "Sub-Legendary" ], - "changesFrom": "Toxtricity" + "eggGroups": [ + "Undiscovered" + ] }, - "toxtricitylowkeygmax": { - "num": 849, - "name": "toxtricity-low-key-gmax", - "baseSpecies": "Toxtricity", - "forme": "Low-Key-Gmax", + "tapulele": { + "num": 786, + "name": "tapu lele", "types": [ - "electric", - "poison" + "psychic", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 98, - "defense": 70, - "special-attack": 114, - "special-defense": 70, - "speed": 75 + "hp": 70, + "attack": 85, + "defense": 75, + "special-attack": 130, + "special-defense": 115, + "speed": 95 }, "abilities": { - "0": "Punk Rock", - "1": "Minus", - "H": "Technician" + "0": "Psychic Surge", + "H": "Telepathy" }, - "heightm": 24, - "weightkg": 0, - "color": "Purple", - "eggGroups": [ - "Human-Like" + "heightm": 1.2, + "weightkg": 18.6, + "color": "Pink", + "tags": [ + "Sub-Legendary" ], - "battleOnly": "Toxtricity-Low-Key", - "changesFrom": "Toxtricity-Low-Key" + "eggGroups": [ + "Undiscovered" + ] }, - "sizzlipede": { - "num": 850, - "name": "sizzlipede", + "tapubulu": { + "num": 787, + "name": "tapu bulu", "types": [ - "fire", - "bug" + "grass", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 65, - "defense": 45, - "special-attack": 50, - "special-defense": 50, - "speed": 45 + "hp": 70, + "attack": 130, + "defense": 115, + "special-attack": 85, + "special-defense": 95, + "speed": 75 }, "abilities": { - "0": "Flash Fire", - "1": "White Smoke", - "H": "Flame Body" + "0": "Grassy Surge", + "H": "Telepathy" }, - "heightm": 0.7, - "weightkg": 1, + "heightm": 1.9, + "weightkg": 45.5, "color": "Red", - "evos": [ - "Centiskorch" + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "centiskorch": { - "num": 851, - "name": "centiskorch", + "tapufini": { + "num": 788, + "name": "tapu fini", "types": [ - "fire", - "bug" + "water", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 115, - "defense": 65, - "special-attack": 90, - "special-defense": 90, - "speed": 65 + "hp": 70, + "attack": 75, + "defense": 115, + "special-attack": 95, + "special-defense": 130, + "speed": 85 }, "abilities": { - "0": "Flash Fire", - "1": "White Smoke", - "H": "Flame Body" + "0": "Misty Surge", + "H": "Telepathy" }, - "heightm": 3, - "weightkg": 120, - "color": "Red", - "prevo": "Sizzlipede", - "evoLevel": 28, - "eggGroups": [ - "Bug" + "heightm": 1.3, + "weightkg": 21.2, + "color": "Purple", + "tags": [ + "Sub-Legendary" ], - "canGigantamax": "G-Max Centiferno" + "eggGroups": [ + "Undiscovered" + ] }, - "centiskorchgmax": { - "num": 851, - "name": "centiskorch-gmax", - "baseSpecies": "Centiskorch", - "forme": "Gmax", + "cosmog": { + "num": 789, + "name": "cosmog", "types": [ - "fire", - "bug" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 115, - "defense": 65, - "special-attack": 90, - "special-defense": 90, - "speed": 65 + "hp": 43, + "attack": 29, + "defense": 31, + "special-attack": 29, + "special-defense": 31, + "speed": 37 }, "abilities": { - "0": "Flash Fire", - "1": "White Smoke", - "H": "Flame Body" + "0": "Unaware" }, - "heightm": 75, - "weightkg": 0, - "color": "Red", - "eggGroups": [ - "Bug" + "heightm": 0.2, + "weightkg": 0.1, + "color": "Blue", + "evos": [ + "Cosmoem" ], - "changesFrom": "Centiskorch" + "tags": [ + "Restricted Legendary" + ], + "eggGroups": [ + "Undiscovered" + ] }, - "clobbopus": { - "num": 852, - "name": "clobbopus", + "cosmoem": { + "num": 790, + "name": "cosmoem", "types": [ - "fighting" + "psychic" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 68, - "defense": 60, - "special-attack": 50, - "special-defense": 50, - "speed": 32 + "hp": 43, + "attack": 29, + "defense": 131, + "special-attack": 29, + "special-defense": 131, + "speed": 37 }, "abilities": { - "0": "Limber", - "H": "Technician" + "0": "Sturdy" }, - "heightm": 0.6, - "weightkg": 4, - "color": "Brown", + "heightm": 0.1, + "weightkg": 999.9, + "color": "Blue", + "tags": [ + "Restricted Legendary" + ], + "prevo": "Cosmog", + "evoLevel": 43, "evos": [ - "Grapploct" + "Solgaleo", + "Lunala" ], "eggGroups": [ - "Water 1", - "Human-Like" + "Undiscovered" ] }, - "grapploct": { - "num": 853, - "name": "grapploct", + "solgaleo": { + "num": 791, + "name": "solgaleo", "types": [ - "fighting" + "psychic", + "steel" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 118, - "defense": 90, - "special-attack": 70, - "special-defense": 80, - "speed": 42 + "hp": 137, + "attack": 137, + "defense": 107, + "special-attack": 113, + "special-defense": 89, + "speed": 97 }, "abilities": { - "0": "Limber", - "H": "Technician" + "0": "Full Metal Body" }, - "heightm": 1.6, - "weightkg": 39, - "color": "Blue", - "prevo": "Clobbopus", - "evoType": "levelMove", - "evoMove": "Taunt", + "heightm": 3.4, + "weightkg": 230, + "color": "White", + "tags": [ + "Restricted Legendary" + ], + "prevo": "Cosmoem", + "evoLevel": 53, "eggGroups": [ - "Water 1", - "Human-Like" + "Undiscovered" ] }, - "sinistea": { - "num": 854, - "name": "sinistea", - "baseForme": "Phony", + "lunala": { + "num": 792, + "name": "lunala", "types": [ + "psychic", "ghost" ], "gender": "N", "baseStats": { - "hp": 40, - "attack": 45, - "defense": 45, - "special-attack": 74, - "special-defense": 54, - "speed": 50 + "hp": 137, + "attack": 113, + "defense": 89, + "special-attack": 137, + "special-defense": 107, + "speed": 97 }, "abilities": { - "0": "Weak Armor", - "H": "Cursed Body" + "0": "Shadow Shield" }, - "heightm": 0.1, - "weightkg": 0.2, + "heightm": 4, + "weightkg": 120, "color": "Purple", - "evos": [ - "Polteageist" + "tags": [ + "Restricted Legendary" ], + "prevo": "Cosmoem", + "evoLevel": 53, "eggGroups": [ - "Mineral", - "Amorphous" - ], - "otherFormes": [ - "Sinistea-Antique" - ], - "formeOrder": [ - "Sinistea", - "Sinistea-Antique" + "Undiscovered" ] }, - "sinisteaantique": { - "num": 854, - "name": "sinistea-antique", - "baseSpecies": "Sinistea", - "forme": "Antique", + "nihilego": { + "num": 793, + "name": "nihilego", "types": [ - "ghost" + "rock", + "poison" ], "gender": "N", "baseStats": { - "hp": 40, - "attack": 45, - "defense": 45, - "special-attack": 74, - "special-defense": 54, - "speed": 50 + "hp": 109, + "attack": 53, + "defense": 47, + "special-attack": 127, + "special-defense": 131, + "speed": 103 }, "abilities": { - "0": "Weak Armor", - "H": "Cursed Body" + "0": "Beast Boost" }, - "heightm": 0.1, - "weightkg": 0.2, - "color": "Purple", - "evos": [ - "Polteageist-Antique" + "heightm": 1.2, + "weightkg": 55.5, + "color": "White", + "tags": [ + "Ultra Beast" ], "eggGroups": [ "Undiscovered" ] }, - "polteageist": { - "num": 855, - "name": "polteageist", - "baseForme": "Phony", + "buzzwole": { + "num": 794, + "name": "buzzwole", "types": [ - "ghost" + "bug", + "fighting" ], "gender": "N", "baseStats": { - "hp": 60, - "attack": 65, - "defense": 65, - "special-attack": 134, - "special-defense": 114, - "speed": 70 + "hp": 107, + "attack": 139, + "defense": 139, + "special-attack": 53, + "special-defense": 53, + "speed": 79 }, "abilities": { - "0": "Weak Armor", - "H": "Cursed Body" + "0": "Beast Boost" }, - "heightm": 0.2, - "weightkg": 0.4, - "color": "Purple", - "prevo": "Sinistea", - "evoType": "useItem", - "evoItem": "Cracked Pot", - "eggGroups": [ - "Mineral", - "Amorphous" - ], - "otherFormes": [ - "Polteageist-Antique" + "heightm": 2.4, + "weightkg": 333.6, + "color": "Red", + "tags": [ + "Ultra Beast" ], - "formeOrder": [ - "Polteageist", - "Polteageist-Antique" + "eggGroups": [ + "Undiscovered" ] }, - "polteageistantique": { - "num": 855, - "name": "polteageist-antique", - "baseSpecies": "Polteageist", - "forme": "Antique", + "pheromosa": { + "num": 795, + "name": "pheromosa", "types": [ - "ghost" + "bug", + "fighting" ], "gender": "N", "baseStats": { - "hp": 60, - "attack": 65, - "defense": 65, - "special-attack": 134, - "special-defense": 114, - "speed": 70 + "hp": 71, + "attack": 137, + "defense": 37, + "special-attack": 137, + "special-defense": 37, + "speed": 151 }, "abilities": { - "0": "Weak Armor", - "H": "Cursed Body" + "0": "Beast Boost" }, - "heightm": 0.2, - "weightkg": 0.4, - "color": "Purple", - "prevo": "Sinistea-Antique", - "evoType": "useItem", - "evoItem": "Chipped Pot", + "heightm": 1.8, + "weightkg": 25, + "color": "White", + "tags": [ + "Ultra Beast" + ], "eggGroups": [ "Undiscovered" ] }, - "hatenna": { - "num": 856, - "name": "hatenna", + "xurkitree": { + "num": 796, + "name": "xurkitree", "types": [ - "psychic" + "electric" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 42, - "attack": 30, - "defense": 45, - "special-attack": 56, - "special-defense": 53, - "speed": 39 + "hp": 83, + "attack": 89, + "defense": 71, + "special-attack": 173, + "special-defense": 71, + "speed": 83 }, "abilities": { - "0": "Healer", - "1": "Anticipation", - "H": "Magic Bounce" + "0": "Beast Boost" }, - "heightm": 0.4, - "weightkg": 3.4, - "color": "Pink", - "evos": [ - "Hattrem" + "heightm": 3.8, + "weightkg": 100, + "color": "Black", + "tags": [ + "Ultra Beast" ], "eggGroups": [ - "Fairy" + "Undiscovered" ] }, - "hattrem": { - "num": 857, - "name": "hattrem", + "celesteela": { + "num": 797, + "name": "celesteela", "types": [ - "psychic" + "steel", + "flying" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 57, - "attack": 40, - "defense": 65, - "special-attack": 86, - "special-defense": 73, - "speed": 49 + "hp": 97, + "attack": 101, + "defense": 103, + "special-attack": 107, + "special-defense": 101, + "speed": 61 }, "abilities": { - "0": "Healer", - "1": "Anticipation", - "H": "Magic Bounce" + "0": "Beast Boost" }, - "heightm": 0.6, - "weightkg": 4.8, - "color": "Pink", - "prevo": "Hatenna", - "evoLevel": 32, - "evos": [ - "Hatterene" + "heightm": 9.2, + "weightkg": 999.9, + "color": "Green", + "tags": [ + "Ultra Beast" ], "eggGroups": [ - "Fairy" + "Undiscovered" ] }, - "hatterene": { - "num": 858, - "name": "hatterene", + "kartana": { + "num": 798, + "name": "kartana", "types": [ - "psychic", - "fairy" + "grass", + "steel" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 57, - "attack": 90, - "defense": 95, - "special-attack": 136, - "special-defense": 103, - "speed": 29 + "hp": 59, + "attack": 181, + "defense": 131, + "special-attack": 59, + "special-defense": 31, + "speed": 109 }, "abilities": { - "0": "Healer", - "1": "Anticipation", - "H": "Magic Bounce" + "0": "Beast Boost" }, - "heightm": 2.1, - "weightkg": 5.1, - "color": "Pink", - "prevo": "Hattrem", - "evoLevel": 42, - "eggGroups": [ - "Fairy" + "heightm": 0.3, + "weightkg": 0.1, + "color": "White", + "tags": [ + "Ultra Beast" ], - "canGigantamax": "G-Max Smite" + "eggGroups": [ + "Undiscovered" + ] }, - "hatterenegmax": { - "num": 858, - "name": "hatterene-gmax", - "baseSpecies": "Hatterene", - "forme": "Gmax", + "guzzlord": { + "num": 799, + "name": "guzzlord", "types": [ - "psychic", - "fairy" + "dark", + "dragon" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 57, - "attack": 90, - "defense": 95, - "special-attack": 136, - "special-defense": 103, - "speed": 29 + "hp": 223, + "attack": 101, + "defense": 53, + "special-attack": 97, + "special-defense": 53, + "speed": 43 }, "abilities": { - "0": "Healer", - "1": "Anticipation", - "H": "Magic Bounce" + "0": "Beast Boost" }, - "heightm": 26, - "weightkg": 0, - "color": "Pink", - "eggGroups": [ - "Fairy" + "heightm": 5.5, + "weightkg": 888, + "color": "Black", + "tags": [ + "Ultra Beast" ], - "changesFrom": "Hatterene" + "eggGroups": [ + "Undiscovered" + ] }, - "impidimp": { - "num": 859, - "name": "impidimp", + "necrozma": { + "num": 800, + "name": "necrozma", "types": [ - "dark", - "fairy" + "psychic" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 45, - "attack": 45, - "defense": 30, - "special-attack": 55, - "special-defense": 40, - "speed": 50 + "hp": 97, + "attack": 107, + "defense": 101, + "special-attack": 127, + "special-defense": 89, + "speed": 79 }, "abilities": { - "0": "Prankster", - "1": "Frisk", - "H": "Pickpocket" + "0": "Prism Armor" }, - "heightm": 0.4, - "weightkg": 5.5, - "color": "Pink", - "evos": [ - "Morgrem" + "heightm": 2.4, + "weightkg": 230, + "color": "Black", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Fairy", - "Human-Like" + "Undiscovered" + ], + "otherFormes": [ + "Necrozma-Dusk-Mane", + "Necrozma-Dawn-Wings", + "Necrozma-Ultra" + ], + "formeOrder": [ + "Necrozma", + "Necrozma-Dusk-Mane", + "Necrozma-Dawn-Wings", + "Necrozma-Ultra" ] }, - "morgrem": { - "num": 860, - "name": "morgrem", + "necrozmaduskmane": { + "num": 800, + "name": "necrozma-dusk-mane", + "baseSpecies": "Necrozma", + "forme": "Dusk-Mane", "types": [ - "dark", - "fairy" + "psychic", + "steel" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 65, - "attack": 60, - "defense": 45, - "special-attack": 75, - "special-defense": 55, - "speed": 70 + "hp": 97, + "attack": 157, + "defense": 127, + "special-attack": 113, + "special-defense": 109, + "speed": 77 }, "abilities": { - "0": "Prankster", - "1": "Frisk", - "H": "Pickpocket" + "0": "Prism Armor" }, - "heightm": 0.8, - "weightkg": 12.5, - "color": "Pink", - "prevo": "Impidimp", - "evoLevel": 32, - "evos": [ - "Grimmsnarl" - ], + "heightm": 3.8, + "weightkg": 460, + "color": "Yellow", "eggGroups": [ - "Fairy", - "Human-Like" - ] + "Undiscovered" + ], + "changesFrom": "Necrozma" }, - "grimmsnarl": { - "num": 861, - "name": "grimmsnarl", + "necrozmadawnwings": { + "num": 800, + "name": "necrozma-dawn-wings", + "baseSpecies": "Necrozma", + "forme": "Dawn-Wings", "types": [ - "dark", - "fairy" + "psychic", + "ghost" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 95, - "attack": 120, - "defense": 65, - "special-attack": 95, - "special-defense": 75, - "speed": 60 + "hp": 97, + "attack": 113, + "defense": 109, + "special-attack": 157, + "special-defense": 127, + "speed": 77 }, "abilities": { - "0": "Prankster", - "1": "Frisk", - "H": "Pickpocket" + "0": "Prism Armor" }, - "heightm": 1.5, - "weightkg": 61, - "color": "Purple", - "prevo": "Morgrem", - "evoLevel": 42, + "heightm": 4.2, + "weightkg": 350, + "color": "Blue", "eggGroups": [ - "Fairy", - "Human-Like" + "Undiscovered" ], - "canGigantamax": "G-Max Snooze" + "changesFrom": "Necrozma" }, - "grimmsnarlgmax": { - "num": 861, - "name": "grimmsnarl-gmax", - "baseSpecies": "Grimmsnarl", - "forme": "Gmax", + "necrozmaultra": { + "num": 800, + "name": "necrozma-ultra", + "baseSpecies": "Necrozma", + "forme": "Ultra", "types": [ - "dark", - "fairy" + "psychic", + "dragon" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 95, - "attack": 120, - "defense": 65, - "special-attack": 95, - "special-defense": 75, - "speed": 60 + "hp": 97, + "attack": 167, + "defense": 97, + "special-attack": 167, + "special-defense": 97, + "speed": 129 }, "abilities": { - "0": "Prankster", - "1": "Frisk", - "H": "Pickpocket" + "0": "Neuroforce" }, - "heightm": 32, - "weightkg": 0, - "color": "Purple", + "heightm": 7.5, + "weightkg": 230, + "color": "Yellow", "eggGroups": [ - "Fairy", - "Human-Like" + "Undiscovered" ], - "changesFrom": "Grimmsnarl" + "requiredItem": "Ultranecrozium Z", + "battleOnly": [ + "Necrozma-Dawn-Wings", + "Necrozma-Dusk-Mane" + ] }, - "obstagoon": { - "num": 862, - "name": "obstagoon", + "magearna": { + "num": 801, + "name": "magearna", "types": [ - "dark", - "normal" + "steel", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 93, - "attack": 90, - "defense": 101, - "special-attack": 60, - "special-defense": 81, - "speed": 95 + "hp": 80, + "attack": 95, + "defense": 115, + "special-attack": 130, + "special-defense": 115, + "speed": 65 }, "abilities": { - "0": "Reckless", - "1": "Guts", - "H": "Defiant" + "0": "Soul-Heart" }, - "heightm": 1.6, - "weightkg": 46, + "heightm": 1, + "weightkg": 80.5, "color": "Gray", - "prevo": "Linoone-Galar", - "evoLevel": 35, - "evoCondition": "at night", "eggGroups": [ - "Field" + "Undiscovered" + ], + "tags": [ + "Mythical" + ], + "otherFormes": [ + "Magearna-Original" + ], + "formeOrder": [ + "Magearna", + "Magearna-Original" ] }, - "perrserker": { - "num": 863, - "name": "perrserker", + "magearnaoriginal": { + "num": 801, + "name": "magearna-original", + "baseSpecies": "Magearna", + "forme": "Original", "types": [ - "steel" + "steel", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 110, - "defense": 100, - "special-attack": 50, - "special-defense": 60, - "speed": 50 + "hp": 80, + "attack": 95, + "defense": 115, + "special-attack": 130, + "special-defense": 115, + "speed": 65 }, "abilities": { - "0": "Battle Armor", - "1": "Tough Claws", - "H": "Steely Spirit" + "0": "Soul-Heart" }, - "heightm": 0.8, - "weightkg": 28, - "color": "Brown", - "prevo": "Meowth-Galar", - "evoLevel": 28, + "heightm": 1, + "weightkg": 80.5, + "color": "Red", "eggGroups": [ - "Field" + "Undiscovered" ] }, - "cursola": { - "num": 864, - "name": "cursola", + "marshadow": { + "num": 802, + "name": "marshadow", "types": [ + "fighting", "ghost" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 60, - "attack": 95, - "defense": 50, - "special-attack": 145, - "special-defense": 130, - "speed": 30 + "hp": 90, + "attack": 125, + "defense": 80, + "special-attack": 90, + "special-defense": 90, + "speed": 125 }, "abilities": { - "0": "Weak Armor", - "H": "Perish Body" + "0": "Technician" }, - "heightm": 1, - "weightkg": 0.4, - "color": "White", - "prevo": "Corsola-Galar", - "evoLevel": 38, + "heightm": 0.7, + "weightkg": 22.2, + "color": "Gray", + "tags": [ + "Mythical" + ], "eggGroups": [ - "Water 1", - "Water 3" + "Undiscovered" ] }, - "sirfetchd": { - "num": 865, - "name": "sirfetch\u2019d", + "poipole": { + "num": 803, + "name": "poipole", "types": [ - "fighting" + "poison" ], + "gender": "N", "baseStats": { - "hp": 62, - "attack": 135, - "defense": 95, - "special-attack": 68, - "special-defense": 82, - "speed": 65 + "hp": 67, + "attack": 73, + "defense": 67, + "special-attack": 73, + "special-defense": 67, + "speed": 73 }, "abilities": { - "0": "Steadfast", - "H": "Scrappy" + "0": "Beast Boost" }, - "heightm": 0.8, - "weightkg": 117, - "color": "White", - "prevo": "Farfetch\u2019d-Galar", - "evoType": "other", - "evoCondition": "Land 3 critical hits in 1 battle", + "heightm": 0.6, + "weightkg": 1.8, + "color": "Purple", + "tags": [ + "Ultra Beast" + ], + "evos": [ + "Naganadel" + ], "eggGroups": [ - "Flying", - "Field" + "Undiscovered" ] }, - "mrrime": { - "num": 866, - "name": "mr. rime", + "naganadel": { + "num": 804, + "name": "naganadel", "types": [ - "ice", - "psychic" + "poison", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 80, - "attack": 85, - "defense": 75, - "special-attack": 110, - "special-defense": 100, - "speed": 70 + "hp": 73, + "attack": 73, + "defense": 73, + "special-attack": 127, + "special-defense": 73, + "speed": 121 }, "abilities": { - "0": "Tangled Feet", - "1": "Screen Cleaner", - "H": "Ice Body" + "0": "Beast Boost" }, - "heightm": 1.5, - "weightkg": 58.2, + "heightm": 3.6, + "weightkg": 150, "color": "Purple", - "prevo": "Mr. Mime-Galar", - "evoLevel": 42, + "tags": [ + "Ultra Beast" + ], + "prevo": "Poipole", + "evoType": "levelMove", + "evoMove": "Dragon Pulse", "eggGroups": [ - "Human-Like" + "Undiscovered" ] }, - "runerigus": { - "num": 867, - "name": "runerigus", + "stakataka": { + "num": 805, + "name": "stakataka", "types": [ - "ground", - "ghost" + "rock", + "steel" ], + "gender": "N", "baseStats": { - "hp": 58, - "attack": 95, - "defense": 145, - "special-attack": 50, - "special-defense": 105, - "speed": 30 + "hp": 61, + "attack": 131, + "defense": 211, + "special-attack": 53, + "special-defense": 101, + "speed": 13 }, "abilities": { - "0": "Wandering Spirit" + "0": "Beast Boost" }, - "heightm": 1.6, - "weightkg": 66.6, + "heightm": 5.5, + "weightkg": 820, "color": "Gray", - "prevo": "Yamask-Galar", - "evoType": "other", - "evoCondition": "Have 49+ HP lost and walk under stone sculpture in Dusty Bowl", + "tags": [ + "Ultra Beast" + ], "eggGroups": [ - "Mineral", - "Amorphous" + "Undiscovered" ] }, - "milcery": { - "num": 868, - "name": "milcery", + "blacephalon": { + "num": 806, + "name": "blacephalon", "types": [ - "fairy" + "fire", + "ghost" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 45, - "attack": 40, - "defense": 40, - "special-attack": 50, - "special-defense": 61, - "speed": 34 + "hp": 53, + "attack": 127, + "defense": 53, + "special-attack": 151, + "special-defense": 79, + "speed": 107 }, "abilities": { - "0": "Sweet Veil", - "H": "Aroma Veil" + "0": "Beast Boost" }, - "heightm": 0.2, - "weightkg": 0.3, + "heightm": 1.8, + "weightkg": 13, "color": "White", - "evos": [ - "Alcremie" + "tags": [ + "Ultra Beast" ], "eggGroups": [ - "Fairy", - "Amorphous" + "Undiscovered" ] }, - "alcremie": { - "num": 869, - "name": "alcremie", - "baseForme": "Vanilla Cream", + "zeraora": { + "num": 807, + "name": "zeraora", "types": [ - "fairy" + "electric" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 65, - "attack": 60, + "hp": 88, + "attack": 112, "defense": 75, - "special-attack": 110, - "special-defense": 121, - "speed": 64 + "special-attack": 102, + "special-defense": 80, + "speed": 143 }, "abilities": { - "0": "Sweet Veil", - "H": "Aroma Veil" + "0": "Volt Absorb" }, - "heightm": 0.3, - "weightkg": 0.5, - "color": "White", - "prevo": "Milcery", - "evoType": "other", - "evoCondition": "spin while holding a Sweet", - "eggGroups": [ - "Fairy", - "Amorphous" - ], - "cosmeticFormes": [ - "Alcremie-Ruby-Cream", - "Alcremie-Matcha-Cream", - "Alcremie-Mint-Cream", - "Alcremie-Lemon-Cream", - "Alcremie-Salted-Cream", - "Alcremie-Ruby-Swirl", - "Alcremie-Caramel-Swirl", - "Alcremie-Rainbow-Swirl" - ], - "formeOrder": [ - "Alcremie", - "Alcremie-Ruby-Cream", - "Alcremie-Matcha-Cream", - "Alcremie-Mint-Cream", - "Alcremie-Lemon-Cream", - "Alcremie-Salted-Cream", - "Alcremie-Ruby-Swirl", - "Alcremie-Caramel-Swirl", - "Alcremie-Rainbow-Swirl" + "heightm": 1.5, + "weightkg": 44.5, + "color": "Yellow", + "tags": [ + "Mythical" ], - "canGigantamax": "G-Max Finale" + "eggGroups": [ + "Undiscovered" + ] }, - "alcremiegmax": { - "num": 869, - "name": "alcremie-gmax", - "baseSpecies": "Alcremie", - "forme": "Gmax", + "meltan": { + "num": 808, + "name": "meltan", "types": [ - "fairy" + "steel" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 65, - "attack": 60, - "defense": 75, - "special-attack": 110, - "special-defense": 121, - "speed": 64 + "hp": 46, + "attack": 65, + "defense": 65, + "special-attack": 55, + "special-defense": 35, + "speed": 34 }, "abilities": { - "0": "Sweet Veil", - "H": "Aroma Veil" + "0": "Magnet Pull" }, - "heightm": 30, - "weightkg": 0, - "color": "Yellow", - "eggGroups": [ - "Fairy", - "Amorphous" + "heightm": 0.2, + "weightkg": 8, + "color": "Gray", + "tags": [ + "Mythical" ], - "changesFrom": "Alcremie" + "eggGroups": [ + "Undiscovered" + ] }, - "falinks": { - "num": 870, - "name": "falinks", + "melmetal": { + "num": 809, + "name": "melmetal", "types": [ - "fighting" + "steel" ], "gender": "N", "baseStats": { - "hp": 65, - "attack": 100, - "defense": 100, - "special-attack": 70, - "special-defense": 60, - "speed": 75 + "hp": 135, + "attack": 143, + "defense": 143, + "special-attack": 80, + "special-defense": 65, + "speed": 34 }, "abilities": { - "0": "Battle Armor", - "H": "Defiant" + "0": "Iron Fist" }, - "heightm": 3, - "weightkg": 62, - "color": "Yellow", + "heightm": 2.5, + "weightkg": 800, + "color": "Gray", + "tags": [ + "Mythical" + ], "eggGroups": [ - "Fairy", - "Mineral" - ] + "Undiscovered" + ], + "canGigantamax": "G-Max Meltdown" }, - "pincurchin": { - "num": 871, - "name": "pincurchin", + "melmetalgmax": { + "num": 809, + "name": "melmetal-gmax", + "baseSpecies": "Melmetal", + "forme": "Gmax", "types": [ - "electric" + "steel" ], + "gender": "N", "baseStats": { - "hp": 48, - "attack": 101, - "defense": 95, - "special-attack": 91, - "special-defense": 85, - "speed": 15 + "hp": 135, + "attack": 143, + "defense": 143, + "special-attack": 80, + "special-defense": 65, + "speed": 34 }, - "abilities": { - "0": "Lightning Rod", - "H": "Electric Surge" + "abilities": { + "0": "Iron Fist" }, - "heightm": 0.3, - "weightkg": 1, - "color": "Purple", + "heightm": 25, + "weightkg": 0, + "color": "Gray", "eggGroups": [ - "Water 1", - "Amorphous" - ] + "Undiscovered" + ], + "changesFrom": "Melmetal" }, - "snom": { - "num": 872, - "name": "snom", + "grookey": { + "num": 810, + "name": "grookey", "types": [ - "ice", - "bug" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 30, - "attack": 25, - "defense": 35, - "special-attack": 45, - "special-defense": 30, - "speed": 20 + "hp": 50, + "attack": 65, + "defense": 50, + "special-attack": 40, + "special-defense": 40, + "speed": 65 }, "abilities": { - "0": "Shield Dust", - "H": "Ice Scales" + "0": "Overgrow", + "H": "Grassy Surge" }, "heightm": 0.3, - "weightkg": 3.8, - "color": "White", + "weightkg": 5, + "color": "Green", "evos": [ - "Frosmoth" + "Thwackey" ], "eggGroups": [ - "Bug" + "Field", + "Grass" ] }, - "frosmoth": { - "num": 873, - "name": "frosmoth", + "thwackey": { + "num": 811, + "name": "thwackey", "types": [ - "ice", - "bug" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 70, - "attack": 65, - "defense": 60, - "special-attack": 125, - "special-defense": 90, - "speed": 65 + "attack": 85, + "defense": 70, + "special-attack": 55, + "special-defense": 60, + "speed": 80 }, "abilities": { - "0": "Shield Dust", - "H": "Ice Scales" + "0": "Overgrow", + "H": "Grassy Surge" }, - "heightm": 1.3, - "weightkg": 42, - "color": "White", - "prevo": "Snom", - "evoType": "levelFriendship", - "evoCondition": "at night", + "heightm": 0.7, + "weightkg": 14, + "color": "Green", + "prevo": "Grookey", + "evoLevel": 16, + "evos": [ + "Rillaboom" + ], "eggGroups": [ - "Bug" + "Field", + "Grass" ] }, - "stonjourner": { - "num": 874, - "name": "stonjourner", + "rillaboom": { + "num": 812, + "name": "rillaboom", "types": [ - "rock" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { "hp": 100, "attack": 125, - "defense": 135, - "special-attack": 20, - "special-defense": 20, - "speed": 70 + "defense": 90, + "special-attack": 60, + "special-defense": 70, + "speed": 85 }, "abilities": { - "0": "Power Spot" + "0": "Overgrow", + "H": "Grassy Surge" }, - "heightm": 2.5, - "weightkg": 520, - "color": "Gray", + "heightm": 2.1, + "weightkg": 90, + "color": "Green", + "prevo": "Thwackey", + "evoLevel": 35, "eggGroups": [ - "Mineral" - ] + "Field", + "Grass" + ], + "canGigantamax": "G-Max Drum Solo" }, - "eiscue": { - "num": 875, - "name": "eiscue", + "rillaboomgmax": { + "num": 812, + "name": "rillaboom-gmax", + "baseSpecies": "Rillaboom", + "forme": "Gmax", "types": [ - "ice" + "grass" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 75, - "attack": 80, - "defense": 110, - "special-attack": 65, - "special-defense": 90, - "speed": 50 + "hp": 100, + "attack": 125, + "defense": 90, + "special-attack": 60, + "special-defense": 70, + "speed": 85 }, "abilities": { - "0": "Ice Face" + "0": "Overgrow", + "H": "Grassy Surge" }, - "heightm": 1.4, - "weightkg": 89, - "color": "Blue", + "heightm": 28, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Water 1", - "Field" - ], - "otherFormes": [ - "Eiscue-Noice" + "Field", + "Grass" ], - "formeOrder": [ - "Eiscue", - "Eiscue-Noice" - ] + "changesFrom": "Rillaboom" }, - "eiscuenoice": { - "num": 875, - "name": "eiscue-noice", - "baseSpecies": "Eiscue", - "forme": "Noice", + "scorbunny": { + "num": 813, + "name": "scorbunny", "types": [ - "ice" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 75, - "attack": 80, - "defense": 70, - "special-attack": 65, - "special-defense": 50, - "speed": 130 + "hp": 50, + "attack": 71, + "defense": 40, + "special-attack": 40, + "special-defense": 40, + "speed": 69 }, "abilities": { - "0": "Ice Face" + "0": "Blaze", + "H": "Libero" }, - "heightm": 1.4, - "weightkg": 89, - "color": "Blue", - "eggGroups": [ - "Water 1", - "Field" + "heightm": 0.3, + "weightkg": 4.5, + "color": "White", + "evos": [ + "Raboot" ], - "requiredAbility": "Ice Face", - "battleOnly": "Eiscue" + "eggGroups": [ + "Field", + "Human-Like" + ] }, - "indeedee": { - "num": 876, - "name": "indeedee", - "baseForme": "M", + "raboot": { + "num": 814, + "name": "raboot", "types": [ - "psychic", - "normal" + "fire" ], - "gender": "M", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 60, - "attack": 65, - "defense": 55, - "special-attack": 105, - "special-defense": 95, - "speed": 95 + "hp": 65, + "attack": 86, + "defense": 60, + "special-attack": 55, + "special-defense": 60, + "speed": 94 }, "abilities": { - "0": "Inner Focus", - "1": "Synchronize", - "H": "Psychic Surge" + "0": "Blaze", + "H": "Libero" }, - "heightm": 0.9, - "weightkg": 28, - "color": "Purple", - "eggGroups": [ - "Fairy" - ], - "otherFormes": [ - "Indeedee-F" - ], - "formeOrder": [ - "Indeedee", - "Indeedee-F" + "heightm": 0.6, + "weightkg": 9, + "color": "Gray", + "prevo": "Scorbunny", + "evoLevel": 16, + "evos": [ + "Cinderace" ], - "mother": "indeedeef" + "eggGroups": [ + "Field", + "Human-Like" + ] }, - "indeedeef": { - "num": 876, - "name": "indeedee-f", - "baseSpecies": "Indeedee", - "forme": "F", + "cinderace": { + "num": 815, + "name": "cinderace", "types": [ - "psychic", - "normal" + "fire" ], - "gender": "F", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 55, - "defense": 65, - "special-attack": 95, - "special-defense": 105, - "speed": 85 + "hp": 80, + "attack": 116, + "defense": 75, + "special-attack": 65, + "special-defense": 75, + "speed": 119 }, "abilities": { - "0": "Own Tempo", - "1": "Synchronize", - "H": "Psychic Surge" + "0": "Blaze", + "H": "Libero" }, - "heightm": 0.9, - "weightkg": 28, - "color": "Purple", + "heightm": 1.4, + "weightkg": 33, + "color": "White", + "prevo": "Raboot", + "evoLevel": 35, "eggGroups": [ - "Fairy" - ] + "Field", + "Human-Like" + ], + "canGigantamax": "G-Max Fireball" }, - "morpeko": { - "num": 877, - "name": "morpeko", + "cinderacegmax": { + "num": 815, + "name": "cinderace-gmax", + "baseSpecies": "Cinderace", + "forme": "Gmax", "types": [ - "electric", - "dark" + "fire" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 58, - "attack": 95, - "defense": 58, - "special-attack": 70, - "special-defense": 58, - "speed": 97 + "hp": 80, + "attack": 116, + "defense": 75, + "special-attack": 65, + "special-defense": 75, + "speed": 119 }, "abilities": { - "0": "Hunger Switch" + "0": "Blaze", + "H": "Libero" }, - "heightm": 0.3, - "weightkg": 3, - "color": "Yellow", + "heightm": 27, + "weightkg": 0, + "color": "White", "eggGroups": [ "Field", - "Fairy" - ], - "otherFormes": [ - "Morpeko-Hangry" + "Human-Like" ], - "formeOrder": [ - "Morpeko", - "Morpeko-Hangry" - ] + "changesFrom": "Cinderace" }, - "morpekohangry": { - "num": 877, - "name": "morpeko-hangry", - "baseSpecies": "Morpeko", - "forme": "Hangry", + "sobble": { + "num": 816, + "name": "sobble", "types": [ - "electric", - "dark" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 58, - "attack": 95, - "defense": 58, + "hp": 50, + "attack": 40, + "defense": 40, "special-attack": 70, - "special-defense": 58, - "speed": 97 + "special-defense": 40, + "speed": 70 }, "abilities": { - "0": "Hunger Switch" + "0": "Torrent", + "H": "Sniper" }, "heightm": 0.3, - "weightkg": 3, - "color": "Purple", - "eggGroups": [ - "Field", - "Fairy" + "weightkg": 4, + "color": "Blue", + "evos": [ + "Drizzile" ], - "requiredAbility": "Hunger Switch", - "battleOnly": "Morpeko" + "eggGroups": [ + "Water 1", + "Field" + ] }, - "cufant": { - "num": 878, - "name": "cufant", + "drizzile": { + "num": 817, + "name": "drizzile", "types": [ - "steel" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 72, - "attack": 80, - "defense": 49, - "special-attack": 40, - "special-defense": 49, - "speed": 40 + "hp": 65, + "attack": 60, + "defense": 55, + "special-attack": 95, + "special-defense": 55, + "speed": 90 }, "abilities": { - "0": "Sheer Force", - "H": "Heavy Metal" + "0": "Torrent", + "H": "Sniper" }, - "heightm": 1.2, - "weightkg": 100, - "color": "Yellow", + "heightm": 0.7, + "weightkg": 11.5, + "color": "Blue", + "prevo": "Sobble", + "evoLevel": 16, "evos": [ - "Copperajah" + "Inteleon" ], "eggGroups": [ - "Field", - "Mineral" + "Water 1", + "Field" ] }, - "copperajah": { - "num": 879, - "name": "copperajah", + "inteleon": { + "num": 818, + "name": "inteleon", "types": [ - "steel" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 122, - "attack": 130, - "defense": 69, - "special-attack": 80, - "special-defense": 69, - "speed": 30 + "hp": 70, + "attack": 85, + "defense": 65, + "special-attack": 125, + "special-defense": 65, + "speed": 120 }, "abilities": { - "0": "Sheer Force", - "H": "Heavy Metal" + "0": "Torrent", + "H": "Sniper" }, - "heightm": 3, - "weightkg": 650, - "color": "Green", - "prevo": "Cufant", - "evoLevel": 34, + "heightm": 1.9, + "weightkg": 45.2, + "color": "Blue", + "prevo": "Drizzile", + "evoLevel": 35, "eggGroups": [ - "Field", - "Mineral" + "Water 1", + "Field" ], - "canGigantamax": "G-Max Steelsurge" + "canGigantamax": "G-Max Hydrosnipe" }, - "copperajahgmax": { - "num": 879, - "name": "copperajah-gmax", - "baseSpecies": "Copperajah", + "inteleongmax": { + "num": 818, + "name": "inteleon-gmax", + "baseSpecies": "Inteleon", "forme": "Gmax", "types": [ - "steel" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 122, - "attack": 130, - "defense": 69, - "special-attack": 80, - "special-defense": 69, - "speed": 30 + "hp": 70, + "attack": 85, + "defense": 65, + "special-attack": 125, + "special-defense": 65, + "speed": 120 }, "abilities": { - "0": "Sheer Force", - "H": "Heavy Metal" + "0": "Torrent", + "H": "Sniper" }, - "heightm": 23, + "heightm": 40, "weightkg": 0, - "color": "Green", + "color": "Blue", "eggGroups": [ - "Field", - "Mineral" + "Water 1", + "Field" ], - "changesFrom": "Copperajah" + "changesFrom": "Inteleon" }, - "dracozolt": { - "num": 880, - "name": "dracozolt", + "skwovet": { + "num": 819, + "name": "skwovet", "types": [ - "electric", - "dragon" + "normal" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 100, - "defense": 90, - "special-attack": 80, - "special-defense": 70, - "speed": 75 + "hp": 70, + "attack": 55, + "defense": 55, + "special-attack": 35, + "special-defense": 35, + "speed": 25 }, "abilities": { - "0": "Volt Absorb", - "1": "Hustle", - "H": "Sand Rush" + "0": "Cheek Pouch", + "H": "Gluttony" }, - "heightm": 1.8, - "weightkg": 190, - "color": "Green", + "heightm": 0.3, + "weightkg": 2.5, + "color": "Brown", + "evos": [ + "Greedent" + ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "arctozolt": { - "num": 881, - "name": "arctozolt", + "greedent": { + "num": 820, + "name": "greedent", "types": [ - "electric", - "ice" + "normal" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 100, - "defense": 90, - "special-attack": 90, - "special-defense": 80, - "speed": 55 + "hp": 120, + "attack": 95, + "defense": 95, + "special-attack": 55, + "special-defense": 75, + "speed": 20 }, "abilities": { - "0": "Volt Absorb", - "1": "Static", - "H": "Slush Rush" + "0": "Cheek Pouch", + "H": "Gluttony" }, - "heightm": 2.3, - "weightkg": 150, - "color": "Blue", + "heightm": 0.6, + "weightkg": 6, + "color": "Brown", + "prevo": "Skwovet", + "evoLevel": 24, "eggGroups": [ - "Undiscovered" + "Field" ] }, - "dracovish": { - "num": 882, - "name": "dracovish", + "rookidee": { + "num": 821, + "name": "rookidee", "types": [ - "water", - "dragon" + "flying" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 90, - "defense": 100, - "special-attack": 70, - "special-defense": 80, - "speed": 75 + "hp": 38, + "attack": 47, + "defense": 35, + "special-attack": 33, + "special-defense": 35, + "speed": 57 }, "abilities": { - "0": "Water Absorb", - "1": "Strong Jaw", - "H": "Sand Rush" + "0": "Keen Eye", + "1": "Unnerve", + "H": "Big Pecks" }, - "heightm": 2.3, - "weightkg": 215, - "color": "Green", + "heightm": 0.2, + "weightkg": 1.8, + "color": "Blue", + "evos": [ + "Corvisquire" + ], "eggGroups": [ - "Undiscovered" + "Flying" ] }, - "arctovish": { - "num": 883, - "name": "arctovish", + "corvisquire": { + "num": 822, + "name": "corvisquire", "types": [ - "water", - "ice" + "flying" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 90, - "defense": 100, - "special-attack": 80, - "special-defense": 90, - "speed": 55 + "hp": 68, + "attack": 67, + "defense": 55, + "special-attack": 43, + "special-defense": 55, + "speed": 77 }, "abilities": { - "0": "Water Absorb", - "1": "Ice Body", - "H": "Slush Rush" + "0": "Keen Eye", + "1": "Unnerve", + "H": "Big Pecks" }, - "heightm": 2, - "weightkg": 175, + "heightm": 0.8, + "weightkg": 16, "color": "Blue", + "prevo": "Rookidee", + "evoLevel": 18, + "evos": [ + "Corviknight" + ], "eggGroups": [ - "Undiscovered" + "Flying" ] }, - "duraludon": { - "num": 884, - "name": "duraludon", + "corviknight": { + "num": 823, + "name": "corviknight", "types": [ - "steel", - "dragon" + "flying", + "steel" ], "baseStats": { - "hp": 70, - "attack": 95, - "defense": 115, - "special-attack": 120, - "special-defense": 50, - "speed": 85 + "hp": 98, + "attack": 87, + "defense": 105, + "special-attack": 53, + "special-defense": 85, + "speed": 67 }, "abilities": { - "0": "Light Metal", - "1": "Heavy Metal", - "H": "Stalwart" + "0": "Pressure", + "1": "Unnerve", + "H": "Mirror Armor" }, - "heightm": 1.8, - "weightkg": 40, - "color": "White", - "evos": [ - "Archaludon" - ], + "heightm": 2.2, + "weightkg": 75, + "color": "Purple", + "prevo": "Corvisquire", + "evoLevel": 38, "eggGroups": [ - "Mineral", - "Dragon" + "Flying" ], - "canGigantamax": "G-Max Depletion" + "canGigantamax": "G-Max Wind Rage" }, - "duraludongmax": { - "num": 884, - "name": "duraludon-gmax", - "baseSpecies": "Duraludon", + "corviknightgmax": { + "num": 823, + "name": "corviknight-gmax", + "baseSpecies": "Corviknight", "forme": "Gmax", "types": [ - "steel", - "dragon" + "flying", + "steel" ], "baseStats": { - "hp": 70, - "attack": 95, - "defense": 115, - "special-attack": 120, - "special-defense": 50, - "speed": 85 + "hp": 98, + "attack": 87, + "defense": 105, + "special-attack": 53, + "special-defense": 85, + "speed": 67 }, "abilities": { - "0": "Light Metal", - "1": "Heavy Metal", - "H": "Stalwart" + "0": "Pressure", + "1": "Unnerve", + "H": "Mirror Armor" }, - "heightm": 43, + "heightm": 14, "weightkg": 0, - "color": "White", + "color": "Purple", "eggGroups": [ - "Mineral", - "Dragon" + "Flying" ], - "changesFrom": "Duraludon" + "changesFrom": "Corviknight" }, - "dreepy": { - "num": 885, - "name": "dreepy", + "blipbug": { + "num": 824, + "name": "blipbug", "types": [ - "dragon", - "ghost" + "bug" ], "baseStats": { - "hp": 28, - "attack": 60, - "defense": 30, - "special-attack": 40, - "special-defense": 30, - "speed": 82 + "hp": 25, + "attack": 20, + "defense": 20, + "special-attack": 25, + "special-defense": 45, + "speed": 45 }, "abilities": { - "0": "Clear Body", - "1": "Infiltrator", - "H": "Cursed Body" + "0": "Swarm", + "1": "Compound Eyes", + "H": "Telepathy" }, - "heightm": 0.5, - "weightkg": 2, - "color": "Green", + "heightm": 0.4, + "weightkg": 8, + "color": "Blue", "evos": [ - "Drakloak" + "Dottler" ], "eggGroups": [ - "Amorphous", - "Dragon" + "Bug" ] }, - "drakloak": { - "num": 886, - "name": "drakloak", + "dottler": { + "num": 825, + "name": "dottler", "types": [ - "dragon", - "ghost" + "bug", + "psychic" ], "baseStats": { - "hp": 68, - "attack": 80, - "defense": 50, - "special-attack": 60, - "special-defense": 50, - "speed": 102 + "hp": 50, + "attack": 35, + "defense": 80, + "special-attack": 50, + "special-defense": 90, + "speed": 30 }, "abilities": { - "0": "Clear Body", - "1": "Infiltrator", - "H": "Cursed Body" + "0": "Swarm", + "1": "Compound Eyes", + "H": "Telepathy" }, - "heightm": 1.4, - "weightkg": 11, - "color": "Green", - "prevo": "Dreepy", - "evoLevel": 50, + "heightm": 0.4, + "weightkg": 19.5, + "color": "Yellow", + "prevo": "Blipbug", + "evoLevel": 10, "evos": [ - "Dragapult" + "Orbeetle" ], "eggGroups": [ - "Amorphous", - "Dragon" + "Bug" ] }, - "dragapult": { - "num": 887, - "name": "dragapult", + "orbeetle": { + "num": 826, + "name": "orbeetle", "types": [ - "dragon", - "ghost" + "bug", + "psychic" ], "baseStats": { - "hp": 88, - "attack": 120, - "defense": 75, - "special-attack": 100, - "special-defense": 75, - "speed": 142 + "hp": 60, + "attack": 45, + "defense": 110, + "special-attack": 80, + "special-defense": 120, + "speed": 90 }, "abilities": { - "0": "Clear Body", - "1": "Infiltrator", - "H": "Cursed Body" + "0": "Swarm", + "1": "Frisk", + "H": "Telepathy" }, - "heightm": 3, - "weightkg": 50, - "color": "Green", - "prevo": "Drakloak", - "evoLevel": 60, + "heightm": 0.4, + "weightkg": 40.8, + "color": "Red", + "prevo": "Dottler", + "evoLevel": 30, "eggGroups": [ - "Amorphous", - "Dragon" - ] + "Bug" + ], + "canGigantamax": "G-Max Gravitas" }, - "zacian": { - "num": 888, - "name": "zacian", - "baseForme": "Hero", + "orbeetlegmax": { + "num": 826, + "name": "orbeetle-gmax", + "baseSpecies": "Orbeetle", + "forme": "Gmax", "types": [ - "fairy" + "bug", + "psychic" ], - "gender": "N", "baseStats": { - "hp": 92, - "attack": 120, - "defense": 115, + "hp": 60, + "attack": 45, + "defense": 110, "special-attack": 80, - "special-defense": 115, - "speed": 138 + "special-defense": 120, + "speed": 90 }, "abilities": { - "0": "Intrepid Sword" + "0": "Swarm", + "1": "Frisk", + "H": "Telepathy" }, - "heightm": 2.8, - "weightkg": 110, - "color": "Blue", + "heightm": 14, + "weightkg": 0, + "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" + "Bug" ], - "otherFormes": [ - "Zacian-Crowned" + "changesFrom": "Orbeetle" + }, + "nickit": { + "num": 827, + "name": "nickit", + "types": [ + "dark" ], - "formeOrder": [ - "Zacian", - "Zacian-Crowned" + "baseStats": { + "hp": 40, + "attack": 28, + "defense": 28, + "special-attack": 47, + "special-defense": 52, + "speed": 50 + }, + "abilities": { + "0": "Run Away", + "1": "Unburden", + "H": "Stakeout" + }, + "heightm": 0.6, + "weightkg": 8.9, + "color": "Brown", + "evos": [ + "Thievul" ], - "cannotDynamax": true + "eggGroups": [ + "Field" + ] }, - "zaciancrowned": { - "num": 888, - "name": "zacian-crowned", - "baseSpecies": "Zacian", - "forme": "Crowned", + "thievul": { + "num": 828, + "name": "thievul", "types": [ - "fairy", - "steel" + "dark" ], - "gender": "N", "baseStats": { - "hp": 92, - "attack": 150, - "defense": 115, - "special-attack": 80, - "special-defense": 115, - "speed": 148 + "hp": 70, + "attack": 58, + "defense": 58, + "special-attack": 87, + "special-defense": 92, + "speed": 90 }, "abilities": { - "0": "Intrepid Sword" + "0": "Run Away", + "1": "Unburden", + "H": "Stakeout" }, - "heightm": 2.8, - "weightkg": 355, - "color": "Blue", + "heightm": 1.2, + "weightkg": 19.9, + "color": "Brown", + "prevo": "Nickit", + "evoLevel": 18, "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Rusted Sword", - "battleOnly": "Zacian", - "cannotDynamax": true + "Field" + ] }, - "zamazenta": { - "num": 889, - "name": "zamazenta", - "baseForme": "Hero", + "gossifleur": { + "num": 829, + "name": "gossifleur", "types": [ - "fighting" + "grass" ], - "gender": "N", "baseStats": { - "hp": 92, - "attack": 120, - "defense": 115, - "special-attack": 80, - "special-defense": 115, - "speed": 138 + "hp": 40, + "attack": 40, + "defense": 60, + "special-attack": 40, + "special-defense": 60, + "speed": 10 }, "abilities": { - "0": "Dauntless Shield" + "0": "Cotton Down", + "1": "Regenerator", + "H": "Effect Spore" }, - "heightm": 2.9, - "weightkg": 210, - "color": "Red", - "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" - ], - "otherFormes": [ - "Zamazenta-Crowned" - ], - "formeOrder": [ - "Zamazenta", - "Zamazenta-Crowned" + "heightm": 0.4, + "weightkg": 2.2, + "color": "Green", + "evos": [ + "Eldegoss" ], - "cannotDynamax": true + "eggGroups": [ + "Grass" + ] }, - "zamazentacrowned": { - "num": 889, - "name": "zamazenta-crowned", - "baseSpecies": "Zamazenta", - "forme": "Crowned", + "eldegoss": { + "num": 830, + "name": "eldegoss", "types": [ - "fighting", - "steel" + "grass" ], - "gender": "N", "baseStats": { - "hp": 92, - "attack": 120, - "defense": 140, + "hp": 60, + "attack": 50, + "defense": 90, "special-attack": 80, - "special-defense": 140, - "speed": 128 + "special-defense": 120, + "speed": 60 }, "abilities": { - "0": "Dauntless Shield" + "0": "Cotton Down", + "1": "Regenerator", + "H": "Effect Spore" }, - "heightm": 2.9, - "weightkg": 785, - "color": "Red", + "heightm": 0.5, + "weightkg": 2.5, + "color": "Green", + "prevo": "Gossifleur", + "evoLevel": 20, "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Rusted Shield", - "battleOnly": "Zamazenta", - "cannotDynamax": true + "Grass" + ] }, - "eternatus": { - "num": 890, - "name": "eternatus", + "wooloo": { + "num": 831, + "name": "wooloo", "types": [ - "poison", - "dragon" + "normal" ], - "gender": "N", "baseStats": { - "hp": 140, - "attack": 85, - "defense": 95, - "special-attack": 145, - "special-defense": 95, - "speed": 130 + "hp": 42, + "attack": 40, + "defense": 55, + "special-attack": 40, + "special-defense": 45, + "speed": 48 }, "abilities": { - "0": "Pressure" + "0": "Fluffy", + "1": "Run Away", + "H": "Bulletproof" }, - "heightm": 20, - "weightkg": 950, - "color": "Purple", - "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" - ], - "otherFormes": [ - "Eternatus-Eternamax" - ], - "formeOrder": [ - "Eternatus", - "Eternatus-Eternamax" + "heightm": 0.6, + "weightkg": 6, + "color": "White", + "evos": [ + "Dubwool" ], - "cannotDynamax": true + "eggGroups": [ + "Field" + ] }, - "eternatuseternamax": { - "num": 890, - "name": "eternatus-eternamax", - "baseSpecies": "Eternatus", - "forme": "Eternamax", + "dubwool": { + "num": 832, + "name": "dubwool", "types": [ - "poison", - "dragon" + "normal" ], - "gender": "N", "baseStats": { - "hp": 255, - "attack": 115, - "defense": 250, - "special-attack": 125, - "special-defense": 250, - "speed": 130 + "hp": 72, + "attack": 80, + "defense": 100, + "special-attack": 60, + "special-defense": 90, + "speed": 88 }, "abilities": { - "0": "Pressure" + "0": "Fluffy", + "1": "Steadfast", + "H": "Bulletproof" }, - "heightm": 100, - "weightkg": 0, - "color": "Purple", + "heightm": 1.3, + "weightkg": 43, + "color": "White", + "prevo": "Wooloo", + "evoLevel": 24, "eggGroups": [ - "Undiscovered" - ], - "cannotDynamax": true + "Field" + ] }, - "kubfu": { - "num": 891, - "name": "kubfu", + "chewtle": { + "num": 833, + "name": "chewtle", "types": [ - "fighting" + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 60, - "attack": 90, - "defense": 60, - "special-attack": 53, - "special-defense": 50, - "speed": 72 + "hp": 50, + "attack": 64, + "defense": 50, + "special-attack": 38, + "special-defense": 38, + "speed": 44 }, "abilities": { - "0": "Inner Focus" + "0": "Strong Jaw", + "1": "Shell Armor", + "H": "Swift Swim" }, - "heightm": 0.6, - "weightkg": 12, - "color": "Gray", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.3, + "weightkg": 8.5, + "color": "Green", "evos": [ - "Urshifu", - "Urshifu-Rapid-Strike" + "Drednaw" ], "eggGroups": [ - "Undiscovered" + "Monster", + "Water 1" ] }, - "urshifu": { - "num": 892, - "name": "urshifu", - "baseForme": "Single-Strike", + "drednaw": { + "num": 834, + "name": "drednaw", "types": [ - "fighting", - "dark" + "water", + "rock" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 130, - "defense": 100, - "special-attack": 63, - "special-defense": 60, - "speed": 97 + "hp": 90, + "attack": 115, + "defense": 90, + "special-attack": 48, + "special-defense": 68, + "speed": 74 }, "abilities": { - "0": "Unseen Fist" + "0": "Strong Jaw", + "1": "Shell Armor", + "H": "Swift Swim" }, - "heightm": 1.9, - "weightkg": 105, - "color": "Gray", - "tags": [ - "Sub-Legendary" - ], - "prevo": "Kubfu", - "evoType": "other", - "evoCondition": "Defeat the Single Strike Tower", + "heightm": 1, + "weightkg": 115.5, + "color": "Green", + "prevo": "Chewtle", + "evoLevel": 22, "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Urshifu-Rapid-Strike" - ], - "formeOrder": [ - "Urshifu", - "Urshifu-Rapid-Strike" + "Monster", + "Water 1" ], - "canGigantamax": "G-Max One Blow" + "canGigantamax": "G-Max Stonesurge" }, - "urshifurapidstrike": { - "num": 892, - "name": "urshifu-rapid-strike", - "baseSpecies": "Urshifu", - "forme": "Rapid-Strike", + "drednawgmax": { + "num": 834, + "name": "drednaw-gmax", + "baseSpecies": "Drednaw", + "forme": "Gmax", "types": [ - "fighting", - "water" + "water", + "rock" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 130, - "defense": 100, - "special-attack": 63, - "special-defense": 60, - "speed": 97 + "hp": 90, + "attack": 115, + "defense": 90, + "special-attack": 48, + "special-defense": 68, + "speed": 74 }, "abilities": { - "0": "Unseen Fist" + "0": "Strong Jaw", + "1": "Shell Armor", + "H": "Swift Swim" }, - "heightm": 1.9, - "weightkg": 105, - "color": "Gray", - "prevo": "Kubfu", - "evoType": "other", - "evoCondition": "Defeat the Rapid Strike Tower", + "heightm": 24, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Undiscovered" + "Monster", + "Water 1" ], - "canGigantamax": "G-Max Rapid Flow" + "changesFrom": "Drednaw" }, - "urshifugmax": { - "num": 892, - "name": "urshifu-gmax", - "baseSpecies": "Urshifu", - "forme": "Gmax", + "yamper": { + "num": 835, + "name": "yamper", "types": [ - "fighting", - "dark" + "electric" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 130, - "defense": 100, - "special-attack": 63, - "special-defense": 60, - "speed": 97 + "hp": 59, + "attack": 45, + "defense": 50, + "special-attack": 40, + "special-defense": 50, + "speed": 26 }, "abilities": { - "0": "Unseen Fist" + "0": "Ball Fetch", + "H": "Rattled" }, - "heightm": 29, - "weightkg": 0, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.3, + "weightkg": 13.5, + "color": "Yellow", + "evos": [ + "Boltund" ], - "changesFrom": "Urshifu" + "eggGroups": [ + "Field" + ] }, - "urshifurapidstrikegmax": { - "num": 892, - "name": "urshifu-rapid-strike-gmax", - "baseSpecies": "Urshifu", - "forme": "Rapid-Strike-Gmax", + "boltund": { + "num": 836, + "name": "boltund", "types": [ - "fighting", - "water" + "electric" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 100, - "attack": 130, - "defense": 100, - "special-attack": 63, + "hp": 69, + "attack": 90, + "defense": 60, + "special-attack": 90, "special-defense": 60, - "speed": 97 + "speed": 121 }, "abilities": { - "0": "Unseen Fist" + "0": "Strong Jaw", + "H": "Competitive" }, - "heightm": 26, - "weightkg": 0, - "color": "Gray", + "heightm": 1, + "weightkg": 34, + "color": "Yellow", + "prevo": "Yamper", + "evoLevel": 25, "eggGroups": [ - "Undiscovered" - ], - "battleOnly": "Urshifu-Rapid-Strike", - "changesFrom": "Urshifu-Rapid-Strike" + "Field" + ] }, - "zarude": { - "num": 893, - "name": "zarude", + "rolycoly": { + "num": 837, + "name": "rolycoly", "types": [ - "dark", - "grass" + "rock" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 120, - "defense": 105, - "special-attack": 70, - "special-defense": 95, - "speed": 105 + "hp": 30, + "attack": 40, + "defense": 50, + "special-attack": 40, + "special-defense": 50, + "speed": 30 }, "abilities": { - "0": "Leaf Guard" + "0": "Steam Engine", + "1": "Heatproof", + "H": "Flash Fire" }, - "heightm": 1.8, - "weightkg": 70, + "heightm": 0.3, + "weightkg": 12, "color": "Black", - "eggGroups": [ - "Undiscovered" + "evos": [ + "Carkol" ], - "tags": [ - "Mythical" + "eggGroups": [ + "Mineral" + ] + }, + "carkol": { + "num": 838, + "name": "carkol", + "types": [ + "rock", + "fire" ], - "otherFormes": [ - "Zarude-Dada" + "baseStats": { + "hp": 80, + "attack": 60, + "defense": 90, + "special-attack": 60, + "special-defense": 70, + "speed": 50 + }, + "abilities": { + "0": "Steam Engine", + "1": "Flame Body", + "H": "Flash Fire" + }, + "heightm": 1.1, + "weightkg": 78, + "color": "Black", + "prevo": "Rolycoly", + "evoLevel": 18, + "evos": [ + "Coalossal" ], - "formeOrder": [ - "Zarude", - "Zarude-Dada" + "eggGroups": [ + "Mineral" ] }, - "zarudedada": { - "num": 893, - "name": "zarude-dada", - "baseSpecies": "Zarude", - "forme": "Dada", + "coalossal": { + "num": 839, + "name": "coalossal", "types": [ - "dark", - "grass" + "rock", + "fire" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 120, - "defense": 105, - "special-attack": 70, - "special-defense": 95, - "speed": 105 + "hp": 110, + "attack": 80, + "defense": 120, + "special-attack": 80, + "special-defense": 90, + "speed": 30 }, "abilities": { - "0": "Leaf Guard" + "0": "Steam Engine", + "1": "Flame Body", + "H": "Flash Fire" }, - "heightm": 1.8, - "weightkg": 70, + "heightm": 2.8, + "weightkg": 310.5, "color": "Black", + "prevo": "Carkol", + "evoLevel": 34, "eggGroups": [ - "Undiscovered" - ] + "Mineral" + ], + "canGigantamax": "G-Max Volcalith" }, - "regieleki": { - "num": 894, - "name": "regieleki", + "coalossalgmax": { + "num": 839, + "name": "coalossal-gmax", + "baseSpecies": "Coalossal", + "forme": "Gmax", "types": [ - "electric" + "rock", + "fire" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 100, - "defense": 50, - "special-attack": 100, - "special-defense": 50, - "speed": 200 + "hp": 110, + "attack": 80, + "defense": 120, + "special-attack": 80, + "special-defense": 90, + "speed": 30 }, "abilities": { - "0": "Transistor" + "0": "Steam Engine", + "1": "Flame Body", + "H": "Flash Fire" }, - "heightm": 1.2, - "weightkg": 145, - "color": "Yellow", - "tags": [ - "Sub-Legendary" - ], + "heightm": 42, + "weightkg": 0, + "color": "Black", "eggGroups": [ - "Undiscovered" - ] + "Mineral" + ], + "changesFrom": "Coalossal" }, - "regidrago": { - "num": 895, - "name": "regidrago", + "applin": { + "num": 840, + "name": "applin", "types": [ + "grass", "dragon" ], - "gender": "N", "baseStats": { - "hp": 200, - "attack": 100, - "defense": 50, - "special-attack": 100, - "special-defense": 50, - "speed": 80 + "hp": 40, + "attack": 40, + "defense": 80, + "special-attack": 40, + "special-defense": 40, + "speed": 20 }, "abilities": { - "0": "Dragon's Maw" + "0": "Ripen", + "1": "Gluttony", + "H": "Bulletproof" }, - "heightm": 2.1, - "weightkg": 200, + "heightm": 0.2, + "weightkg": 0.5, "color": "Green", - "tags": [ - "Sub-Legendary" + "evos": [ + "Flapple", + "Appletun", + "Dipplin" ], "eggGroups": [ - "Undiscovered" + "Grass", + "Dragon" ] }, - "glastrier": { - "num": 896, - "name": "glastrier", + "flapple": { + "num": 841, + "name": "flapple", "types": [ - "ice" + "grass", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 145, - "defense": 130, - "special-attack": 65, - "special-defense": 110, - "speed": 30 + "hp": 70, + "attack": 110, + "defense": 80, + "special-attack": 95, + "special-defense": 60, + "speed": 70 }, "abilities": { - "0": "Chilling Neigh" + "0": "Ripen", + "1": "Gluttony", + "H": "Hustle" }, - "heightm": 2.2, - "weightkg": 800, - "color": "White", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.3, + "weightkg": 1, + "color": "Green", + "prevo": "Applin", + "evoType": "useItem", + "evoItem": "Tart Apple", "eggGroups": [ - "Undiscovered" - ] + "Grass", + "Dragon" + ], + "canGigantamax": "G-Max Tartness" }, - "spectrier": { - "num": 897, - "name": "spectrier", + "flapplegmax": { + "num": 841, + "name": "flapple-gmax", + "baseSpecies": "Flapple", + "forme": "Gmax", "types": [ - "ghost" + "grass", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 65, - "defense": 60, - "special-attack": 145, - "special-defense": 80, - "speed": 130 + "hp": 70, + "attack": 110, + "defense": 80, + "special-attack": 95, + "special-defense": 60, + "speed": 70 }, "abilities": { - "0": "Grim Neigh" + "0": "Ripen", + "1": "Gluttony", + "H": "Hustle" }, - "heightm": 2, - "weightkg": 44.5, - "color": "Black", - "tags": [ - "Sub-Legendary" - ], + "heightm": 24, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Undiscovered" - ] + "Grass", + "Dragon" + ], + "changesFrom": "Flapple" }, - "calyrex": { - "num": 898, - "name": "calyrex", + "appletun": { + "num": 842, + "name": "appletun", "types": [ - "psychic", - "grass" + "grass", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 80, + "hp": 110, + "attack": 85, "defense": 80, - "special-attack": 80, + "special-attack": 100, "special-defense": 80, - "speed": 80 + "speed": 30 }, "abilities": { - "0": "Unnerve" + "0": "Ripen", + "1": "Gluttony", + "H": "Thick Fat" }, - "heightm": 1.1, - "weightkg": 7.7, + "heightm": 0.4, + "weightkg": 13, "color": "Green", + "prevo": "Applin", + "evoType": "useItem", + "evoItem": "Sweet Apple", "eggGroups": [ - "Undiscovered" - ], - "tags": [ - "Restricted Legendary" - ], - "otherFormes": [ - "Calyrex-Ice", - "Calyrex-Shadow" + "Grass", + "Dragon" ], - "formeOrder": [ - "Calyrex", - "Calyrex-Ice", - "Calyrex-Shadow" - ] + "canGigantamax": "G-Max Sweetness" }, - "calyrexice": { - "num": 898, - "name": "calyrex-ice", - "baseSpecies": "Calyrex", - "forme": "Ice", + "appletungmax": { + "num": 842, + "name": "appletun-gmax", + "baseSpecies": "Appletun", + "forme": "Gmax", "types": [ - "psychic", - "ice" + "grass", + "dragon" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 165, - "defense": 150, - "special-attack": 85, - "special-defense": 130, - "speed": 50 + "hp": 110, + "attack": 85, + "defense": 80, + "special-attack": 100, + "special-defense": 80, + "speed": 30 }, "abilities": { - "0": "As One (Glastrier)" + "0": "Ripen", + "1": "Gluttony", + "H": "Thick Fat" }, - "heightm": 2.4, - "weightkg": 809.1, - "color": "White", + "heightm": 24, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Undiscovered" + "Grass", + "Dragon" ], - "changesFrom": "Calyrex" + "changesFrom": "Appletun" }, - "calyrexshadow": { - "num": 898, - "name": "calyrex-shadow", - "baseSpecies": "Calyrex", - "forme": "Shadow", + "silicobra": { + "num": 843, + "name": "silicobra", "types": [ - "psychic", - "ghost" + "ground" ], - "gender": "N", "baseStats": { - "hp": 100, - "attack": 85, - "defense": 80, - "special-attack": 165, - "special-defense": 100, - "speed": 150 + "hp": 52, + "attack": 57, + "defense": 75, + "special-attack": 35, + "special-defense": 50, + "speed": 46 }, "abilities": { - "0": "As One (Spectrier)" + "0": "Sand Spit", + "1": "Shed Skin", + "H": "Sand Veil" }, - "heightm": 2.4, - "weightkg": 53.6, - "color": "Black", - "eggGroups": [ - "Undiscovered" + "heightm": 2.2, + "weightkg": 7.6, + "color": "Green", + "evos": [ + "Sandaconda" ], - "changesFrom": "Calyrex" + "eggGroups": [ + "Field", + "Dragon" + ] }, - "wyrdeer": { - "num": 899, - "name": "wyrdeer", + "sandaconda": { + "num": 844, + "name": "sandaconda", "types": [ - "normal", - "psychic" + "ground" ], "baseStats": { - "hp": 103, - "attack": 105, - "defense": 72, - "special-attack": 105, - "special-defense": 75, - "speed": 65 + "hp": 72, + "attack": 107, + "defense": 125, + "special-attack": 65, + "special-defense": 70, + "speed": 71 }, "abilities": { - "0": "Intimidate", - "1": "Frisk", - "H": "Sap Sipper" + "0": "Sand Spit", + "1": "Shed Skin", + "H": "Sand Veil" }, - "heightm": 1.8, - "weightkg": 95.1, - "color": "Gray", - "prevo": "Stantler", - "evoType": "other", - "evoCondition": "Use Agile style Psyshield Bash 20 times", + "heightm": 3.8, + "weightkg": 65.5, + "color": "Green", + "prevo": "Silicobra", + "evoLevel": 36, "eggGroups": [ - "Field" - ] + "Field", + "Dragon" + ], + "canGigantamax": "G-Max Sandblast" }, - "kleavor": { - "num": 900, - "name": "kleavor", + "sandacondagmax": { + "num": 844, + "name": "sandaconda-gmax", + "baseSpecies": "Sandaconda", + "forme": "Gmax", "types": [ - "bug", - "rock" + "ground" ], "baseStats": { - "hp": 70, - "attack": 135, - "defense": 95, - "special-attack": 45, + "hp": 72, + "attack": 107, + "defense": 125, + "special-attack": 65, "special-defense": 70, - "speed": 85 + "speed": 71 }, "abilities": { - "0": "Swarm", - "1": "Sheer Force", - "H": "Sharpness" + "0": "Sand Spit", + "1": "Shed Skin", + "H": "Sand Veil" }, - "heightm": 1.8, - "weightkg": 89, - "color": "Brown", - "prevo": "Scyther", - "evoType": "useItem", - "evoCondition": "Black Augurite", + "heightm": 22, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Bug" - ] + "Field", + "Dragon" + ], + "changesFrom": "Sandaconda" }, - "ursaluna": { - "num": 901, - "name": "ursaluna", + "cramorant": { + "num": 845, + "name": "cramorant", "types": [ - "ground", - "normal" + "flying", + "water" ], "baseStats": { - "hp": 130, - "attack": 140, - "defense": 105, - "special-attack": 45, - "special-defense": 80, - "speed": 50 + "hp": 70, + "attack": 85, + "defense": 55, + "special-attack": 85, + "special-defense": 95, + "speed": 85 }, "abilities": { - "0": "Guts", - "1": "Bulletproof", - "H": "Unnerve" + "0": "Gulp Missile" }, - "heightm": 2.4, - "weightkg": 290, - "color": "Brown", - "prevo": "Ursaring", - "evoType": "other", - "evoCondition": "Peat Block when there's a full moon", + "heightm": 0.8, + "weightkg": 18, + "color": "Blue", "eggGroups": [ - "Field" + "Water 1", + "Flying" ], "otherFormes": [ - "Ursaluna-Bloodmoon" + "Cramorant-Gulping", + "Cramorant-Gorging" ], "formeOrder": [ - "Ursaluna", - "Ursaluna-Bloodmoon" + "Cramorant", + "Cramorant-Gulping", + "Cramorant-Gorging" ] }, - "ursalunabloodmoon": { - "num": 901, - "name": "ursaluna-bloodmoon", - "baseSpecies": "Ursaluna", - "forme": "Bloodmoon", + "cramorantgulping": { + "num": 845, + "name": "cramorant-gulping", + "baseSpecies": "Cramorant", + "forme": "Gulping", "types": [ - "ground", - "normal" + "flying", + "water" ], - "gender": "M", "baseStats": { - "hp": 113, - "attack": 70, - "defense": 120, - "special-attack": 135, - "special-defense": 65, - "speed": 52 + "hp": 70, + "attack": 85, + "defense": 55, + "special-attack": 85, + "special-defense": 95, + "speed": 85 }, "abilities": { - "0": "Mind's Eye" + "0": "Gulp Missile" }, - "heightm": 2.7, - "weightkg": 333, - "color": "Brown", + "heightm": 0.8, + "weightkg": 18, + "color": "Blue", "eggGroups": [ - "Field" + "Water 1", + "Flying" ], - "gen": 9 + "requiredAbility": "Gulp Missile", + "battleOnly": "Cramorant" }, - "basculegion": { - "num": 902, - "name": "basculegion", - "baseForme": "M", + "cramorantgorging": { + "num": 845, + "name": "cramorant-gorging", + "baseSpecies": "Cramorant", + "forme": "Gorging", "types": [ - "water", - "ghost" + "flying", + "water" ], - "gender": "M", "baseStats": { - "hp": 120, - "attack": 112, - "defense": 65, - "special-attack": 80, - "special-defense": 75, - "speed": 78 + "hp": 70, + "attack": 85, + "defense": 55, + "special-attack": 85, + "special-defense": 95, + "speed": 85 }, "abilities": { - "0": "Swift Swim", - "1": "Adaptability", - "H": "Mold Breaker" + "0": "Gulp Missile" }, - "heightm": 3, - "weightkg": 110, - "color": "Green", - "prevo": "Basculin-White-Striped", - "evoType": "other", - "evoCondition": "Receive 294+ recoil without fainting", + "heightm": 0.8, + "weightkg": 18, + "color": "Blue", "eggGroups": [ - "Water 2" - ], - "otherFormes": [ - "Basculegion-F" + "Water 1", + "Flying" ], - "formeOrder": [ - "Basculegion", - "Basculegion-F" - ] + "requiredAbility": "Gulp Missile", + "battleOnly": "Cramorant" }, - "basculegionf": { - "num": 902, - "name": "basculegion-f", - "baseSpecies": "Basculegion", - "forme": "F", + "arrokuda": { + "num": 846, + "name": "arrokuda", "types": [ - "water", - "ghost" + "water" ], - "gender": "F", "baseStats": { - "hp": 120, - "attack": 92, - "defense": 65, - "special-attack": 100, - "special-defense": 75, - "speed": 78 + "hp": 41, + "attack": 63, + "defense": 40, + "special-attack": 40, + "special-defense": 30, + "speed": 66 }, "abilities": { "0": "Swift Swim", - "1": "Adaptability", - "H": "Mold Breaker" + "H": "Propeller Tail" }, - "heightm": 3, - "weightkg": 110, - "color": "Green", - "prevo": "Basculin-White-Striped", - "evoType": "other", - "evoCondition": "Receive 294+ recoil without fainting", + "heightm": 0.5, + "weightkg": 1, + "color": "Brown", + "evos": [ + "Barraskewda" + ], "eggGroups": [ "Water 2" ] }, - "sneasler": { - "num": 903, - "name": "sneasler", + "barraskewda": { + "num": 847, + "name": "barraskewda", "types": [ - "fighting", - "poison" + "water" ], "baseStats": { - "hp": 80, - "attack": 130, + "hp": 61, + "attack": 123, "defense": 60, - "special-attack": 40, - "special-defense": 80, - "speed": 120 + "special-attack": 60, + "special-defense": 50, + "speed": 136 }, "abilities": { - "0": "Pressure", - "1": "Unburden", - "H": "Poison Touch" + "0": "Swift Swim", + "H": "Propeller Tail" }, "heightm": 1.3, - "weightkg": 43, - "color": "Blue", - "prevo": "Sneasel-Hisui", - "evoType": "levelHold", - "evoItem": "Razor Claw", - "evoCondition": "during the day", + "weightkg": 30, + "color": "Brown", + "prevo": "Arrokuda", + "evoLevel": 26, "eggGroups": [ - "Field" + "Water 2" ] }, - "overqwil": { - "num": 904, - "name": "overqwil", + "toxel": { + "num": 848, + "name": "toxel", "types": [ - "dark", + "electric", "poison" ], "baseStats": { - "hp": 85, - "attack": 115, - "defense": 95, - "special-attack": 65, - "special-defense": 65, - "speed": 85 + "hp": 40, + "attack": 38, + "defense": 35, + "special-attack": 54, + "special-defense": 35, + "speed": 40 }, "abilities": { - "0": "Poison Point", - "1": "Swift Swim", - "H": "Intimidate" + "0": "Rattled", + "1": "Static", + "H": "Klutz" }, - "heightm": 2.5, - "weightkg": 60.5, - "color": "Black", - "prevo": "Qwilfish-Hisui", - "evoType": "other", - "evoCondition": "Use Strong style Barb Barrage 20 times", + "heightm": 0.4, + "weightkg": 11, + "color": "Purple", + "evos": [ + "Toxtricity", + "Toxtricity-Low-Key" + ], "eggGroups": [ - "Water 2" - ] + "Undiscovered" + ], + "canHatch": true }, - "enamorus": { - "num": 905, - "name": "enamorus", - "baseForme": "Incarnate", + "toxtricity": { + "num": 849, + "name": "toxtricity", + "baseForme": "Amped", "types": [ - "fairy", - "flying" + "electric", + "poison" ], - "gender": "F", "baseStats": { - "hp": 74, - "attack": 115, + "hp": 75, + "attack": 98, "defense": 70, - "special-attack": 135, - "special-defense": 80, - "speed": 106 + "special-attack": 114, + "special-defense": 70, + "speed": 75 }, "abilities": { - "0": "Cute Charm", - "H": "Contrary" + "0": "Punk Rock", + "1": "Plus", + "H": "Technician" }, "heightm": 1.6, - "weightkg": 48, - "color": "Pink", - "tags": [ - "Sub-Legendary" - ], + "weightkg": 40, + "color": "Purple", + "prevo": "Toxel", + "evoLevel": 30, "eggGroups": [ - "Undiscovered" + "Human-Like" ], "otherFormes": [ - "Enamorus-Therian" + "Toxtricity-Low-Key" ], "formeOrder": [ - "Enamorus", - "Enamorus-Therian" - ] + "Toxtricity", + "Toxtricity-Low-Key" + ], + "canGigantamax": "G-Max Stun Shock" }, - "enamorustherian": { - "num": 905, - "name": "enamorus-therian", - "baseSpecies": "Enamorus", - "forme": "Therian", + "toxtricitylowkey": { + "num": 849, + "name": "toxtricity-low-key", + "baseSpecies": "Toxtricity", + "forme": "Low-Key", "types": [ - "fairy", - "flying" + "electric", + "poison" ], - "gender": "F", "baseStats": { - "hp": 74, - "attack": 115, - "defense": 110, - "special-attack": 135, - "special-defense": 100, - "speed": 46 + "hp": 75, + "attack": 98, + "defense": 70, + "special-attack": 114, + "special-defense": 70, + "speed": 75 }, "abilities": { - "0": "Overcoat" + "0": "Punk Rock", + "1": "Minus", + "H": "Technician" }, "heightm": 1.6, - "weightkg": 48, - "color": "Pink", + "weightkg": 40, + "color": "Purple", + "prevo": "Toxel", + "evoLevel": 30, "eggGroups": [ - "Undiscovered" + "Human-Like" ], - "changesFrom": "Enamorus" + "canGigantamax": "G-Max Stun Shock" }, - "sprigatito": { - "num": 906, - "name": "sprigatito", + "toxtricitygmax": { + "num": 849, + "name": "toxtricity-gmax", + "baseSpecies": "Toxtricity", + "forme": "Gmax", "types": [ - "grass" + "electric", + "poison" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 40, - "attack": 61, - "defense": 54, - "special-attack": 45, - "special-defense": 45, - "speed": 65 + "hp": 75, + "attack": 98, + "defense": 70, + "special-attack": 114, + "special-defense": 70, + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Protean" + "0": "Punk Rock", + "1": "Plus", + "H": "Technician" }, - "heightm": 0.4, - "weightkg": 4.1, - "color": "Green", - "evos": [ - "Floragato" - ], + "heightm": 24, + "weightkg": 0, + "color": "Purple", "eggGroups": [ - "Field", - "Grass" - ] - }, - "floragato": { - "num": 907, - "name": "floragato", - "types": [ - "grass" - ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, - "baseStats": { - "hp": 61, - "attack": 80, - "defense": 63, - "special-attack": 60, - "special-defense": 63, - "speed": 83 - }, - "abilities": { - "0": "Overgrow", - "H": "Protean" - }, - "heightm": 0.9, - "weightkg": 12.2, - "color": "Green", - "prevo": "Sprigatito", - "evoLevel": 16, - "evos": [ - "Meowscarada" + "Human-Like" ], - "eggGroups": [ - "Field", - "Grass" - ] + "changesFrom": "Toxtricity" }, - "meowscarada": { - "num": 908, - "name": "meowscarada", + "toxtricitylowkeygmax": { + "num": 849, + "name": "toxtricity-low-key-gmax", + "baseSpecies": "Toxtricity", + "forme": "Low-Key-Gmax", "types": [ - "grass", - "dark" + "electric", + "poison" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 76, - "attack": 110, + "hp": 75, + "attack": 98, "defense": 70, - "special-attack": 81, + "special-attack": 114, "special-defense": 70, - "speed": 123 + "speed": 75 }, "abilities": { - "0": "Overgrow", - "H": "Protean" + "0": "Punk Rock", + "1": "Minus", + "H": "Technician" }, - "heightm": 1.5, - "weightkg": 31.2, - "color": "Green", - "prevo": "Floragato", - "evoLevel": 36, + "heightm": 24, + "weightkg": 0, + "color": "Purple", "eggGroups": [ - "Field", - "Grass" - ] + "Human-Like" + ], + "battleOnly": "Toxtricity-Low-Key", + "changesFrom": "Toxtricity-Low-Key" }, - "fuecoco": { - "num": 909, - "name": "fuecoco", + "sizzlipede": { + "num": 850, + "name": "sizzlipede", "types": [ - "fire" + "fire", + "bug" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 67, - "attack": 45, - "defense": 59, - "special-attack": 63, - "special-defense": 40, - "speed": 36 + "hp": 50, + "attack": 65, + "defense": 45, + "special-attack": 50, + "special-defense": 50, + "speed": 45 }, "abilities": { - "0": "Blaze", - "H": "Unaware" + "0": "Flash Fire", + "1": "White Smoke", + "H": "Flame Body" }, - "heightm": 0.4, - "weightkg": 9.8, + "heightm": 0.7, + "weightkg": 1, "color": "Red", "evos": [ - "Crocalor" + "Centiskorch" ], "eggGroups": [ - "Field" + "Bug" ] }, - "crocalor": { - "num": 910, - "name": "crocalor", + "centiskorch": { + "num": 851, + "name": "centiskorch", "types": [ - "fire" + "fire", + "bug" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 81, - "attack": 55, - "defense": 78, + "hp": 100, + "attack": 115, + "defense": 65, "special-attack": 90, - "special-defense": 58, - "speed": 49 + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Blaze", - "H": "Unaware" + "0": "Flash Fire", + "1": "White Smoke", + "H": "Flame Body" }, - "heightm": 1, - "weightkg": 30.7, + "heightm": 3, + "weightkg": 120, "color": "Red", - "prevo": "Fuecoco", - "evoLevel": 16, - "evos": [ - "Skeledirge" - ], + "prevo": "Sizzlipede", + "evoLevel": 28, "eggGroups": [ - "Field" - ] + "Bug" + ], + "canGigantamax": "G-Max Centiferno" }, - "skeledirge": { - "num": 911, - "name": "skeledirge", + "centiskorchgmax": { + "num": 851, + "name": "centiskorch-gmax", + "baseSpecies": "Centiskorch", + "forme": "Gmax", "types": [ "fire", - "ghost" + "bug" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 104, - "attack": 75, - "defense": 100, - "special-attack": 110, - "special-defense": 75, - "speed": 66 + "hp": 100, + "attack": 115, + "defense": 65, + "special-attack": 90, + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Blaze", - "H": "Unaware" + "0": "Flash Fire", + "1": "White Smoke", + "H": "Flame Body" }, - "heightm": 1.6, - "weightkg": 326.5, + "heightm": 75, + "weightkg": 0, "color": "Red", - "prevo": "Crocalor", - "evoLevel": 36, "eggGroups": [ - "Field" - ] + "Bug" + ], + "changesFrom": "Centiskorch" }, - "quaxly": { - "num": 912, - "name": "quaxly", + "clobbopus": { + "num": 852, + "name": "clobbopus", "types": [ - "water" + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 55, - "attack": 65, - "defense": 45, + "hp": 50, + "attack": 68, + "defense": 60, "special-attack": 50, - "special-defense": 45, - "speed": 50 + "special-defense": 50, + "speed": 32 }, "abilities": { - "0": "Torrent", - "H": "Moxie" + "0": "Limber", + "H": "Technician" }, - "heightm": 0.5, - "weightkg": 6.1, - "color": "Blue", + "heightm": 0.6, + "weightkg": 4, + "color": "Brown", "evos": [ - "Quaxwell" + "Grapploct" ], "eggGroups": [ - "Flying", - "Water 1" + "Water 1", + "Human-Like" ] }, - "quaxwell": { - "num": 913, - "name": "quaxwell", + "grapploct": { + "num": 853, + "name": "grapploct", "types": [ - "water" + "fighting" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 70, - "attack": 85, - "defense": 65, - "special-attack": 65, - "special-defense": 60, - "speed": 65 + "hp": 80, + "attack": 118, + "defense": 90, + "special-attack": 70, + "special-defense": 80, + "speed": 42 }, "abilities": { - "0": "Torrent", - "H": "Moxie" + "0": "Limber", + "H": "Technician" }, - "heightm": 1.2, - "weightkg": 21.5, + "heightm": 1.6, + "weightkg": 39, "color": "Blue", - "prevo": "Quaxly", - "evoLevel": 16, - "evos": [ - "Quaquaval" - ], + "prevo": "Clobbopus", + "evoType": "levelMove", + "evoMove": "Taunt", "eggGroups": [ - "Flying", - "Water 1" + "Water 1", + "Human-Like" ] }, - "quaquaval": { - "num": 914, - "name": "quaquaval", + "sinistea": { + "num": 854, + "name": "sinistea", + "baseForme": "Phony", "types": [ - "water", - "fighting" + "ghost" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 85, - "attack": 120, - "defense": 80, - "special-attack": 85, - "special-defense": 75, - "speed": 85 + "hp": 40, + "attack": 45, + "defense": 45, + "special-attack": 74, + "special-defense": 54, + "speed": 50 }, "abilities": { - "0": "Torrent", - "H": "Moxie" + "0": "Weak Armor", + "H": "Cursed Body" }, - "heightm": 1.8, - "weightkg": 61.9, - "color": "Blue", - "prevo": "Quaxwell", - "evoLevel": 36, + "heightm": 0.1, + "weightkg": 0.2, + "color": "Purple", + "evos": [ + "Polteageist" + ], "eggGroups": [ - "Flying", - "Water 1" + "Mineral", + "Amorphous" + ], + "otherFormes": [ + "Sinistea-Antique" + ], + "formeOrder": [ + "Sinistea", + "Sinistea-Antique" ] }, - "lechonk": { - "num": 915, - "name": "lechonk", + "sinisteaantique": { + "num": 854, + "name": "sinistea-antique", + "baseSpecies": "Sinistea", + "forme": "Antique", "types": [ - "normal" + "ghost" ], + "gender": "N", "baseStats": { - "hp": 54, + "hp": 40, "attack": 45, - "defense": 40, - "special-attack": 35, - "special-defense": 45, - "speed": 35 + "defense": 45, + "special-attack": 74, + "special-defense": 54, + "speed": 50 }, "abilities": { - "0": "Aroma Veil", - "1": "Gluttony", - "H": "Thick Fat" + "0": "Weak Armor", + "H": "Cursed Body" }, - "heightm": 0.5, - "weightkg": 10.2, - "color": "Gray", + "heightm": 0.1, + "weightkg": 0.2, + "color": "Purple", "evos": [ - "Oinkologne", - "Oinkologne-F" + "Polteageist-Antique" ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "oinkologne": { - "num": 916, - "name": "oinkologne", - "baseForme": "M", + "polteageist": { + "num": 855, + "name": "polteageist", + "baseForme": "Phony", "types": [ - "normal" + "ghost" ], - "gender": "M", + "gender": "N", "baseStats": { - "hp": 110, - "attack": 100, - "defense": 75, - "special-attack": 59, - "special-defense": 80, - "speed": 65 + "hp": 60, + "attack": 65, + "defense": 65, + "special-attack": 134, + "special-defense": 114, + "speed": 70 }, "abilities": { - "0": "Lingering Aroma", - "1": "Gluttony", - "H": "Thick Fat" + "0": "Weak Armor", + "H": "Cursed Body" }, - "heightm": 1, - "weightkg": 120, - "color": "Gray", - "prevo": "Lechonk", - "evoLevel": 18, + "heightm": 0.2, + "weightkg": 0.4, + "color": "Purple", + "prevo": "Sinistea", + "evoType": "useItem", + "evoItem": "Cracked Pot", + "eggGroups": [ + "Mineral", + "Amorphous" + ], "otherFormes": [ - "Oinkologne-F" + "Polteageist-Antique" ], "formeOrder": [ - "Oinkologne", - "Oinkologne-F" - ], - "eggGroups": [ - "Field" + "Polteageist", + "Polteageist-Antique" ] }, - "oinkolognef": { - "num": 916, - "name": "oinkologne-f", - "baseSpecies": "Oinkologne", - "forme": "F", + "polteageistantique": { + "num": 855, + "name": "polteageist-antique", + "baseSpecies": "Polteageist", + "forme": "Antique", "types": [ - "normal" + "ghost" ], - "gender": "F", + "gender": "N", "baseStats": { - "hp": 115, - "attack": 90, - "defense": 70, - "special-attack": 59, - "special-defense": 90, - "speed": 65 + "hp": 60, + "attack": 65, + "defense": 65, + "special-attack": 134, + "special-defense": 114, + "speed": 70 }, "abilities": { - "0": "Aroma Veil", - "1": "Gluttony", - "H": "Thick Fat" + "0": "Weak Armor", + "H": "Cursed Body" }, - "heightm": 1, - "weightkg": 120, - "color": "Brown", - "prevo": "Lechonk", - "evoLevel": 18, + "heightm": 0.2, + "weightkg": 0.4, + "color": "Purple", + "prevo": "Sinistea-Antique", + "evoType": "useItem", + "evoItem": "Chipped Pot", "eggGroups": [ - "Field" + "Undiscovered" ] }, - "tarountula": { - "num": 917, - "name": "tarountula", + "hatenna": { + "num": 856, + "name": "hatenna", "types": [ - "bug" + "psychic" ], + "gender": "F", "baseStats": { - "hp": 35, - "attack": 41, + "hp": 42, + "attack": 30, "defense": 45, - "special-attack": 29, - "special-defense": 40, - "speed": 20 + "special-attack": 56, + "special-defense": 53, + "speed": 39 }, "abilities": { - "0": "Insomnia", - "H": "Stakeout" + "0": "Healer", + "1": "Anticipation", + "H": "Magic Bounce" }, - "heightm": 0.3, - "weightkg": 4, - "color": "White", + "heightm": 0.4, + "weightkg": 3.4, + "color": "Pink", "evos": [ - "Spidops" + "Hattrem" ], "eggGroups": [ - "Bug" + "Fairy" ] }, - "spidops": { - "num": 918, - "name": "spidops", + "hattrem": { + "num": 857, + "name": "hattrem", "types": [ - "bug" + "psychic" ], + "gender": "F", "baseStats": { - "hp": 60, - "attack": 79, - "defense": 92, - "special-attack": 52, - "special-defense": 86, - "speed": 35 + "hp": 57, + "attack": 40, + "defense": 65, + "special-attack": 86, + "special-defense": 73, + "speed": 49 }, "abilities": { - "0": "Insomnia", - "H": "Stakeout" + "0": "Healer", + "1": "Anticipation", + "H": "Magic Bounce" }, - "heightm": 1, - "weightkg": 16.5, - "color": "Green", - "prevo": "Tarountula", - "evoLevel": 15, + "heightm": 0.6, + "weightkg": 4.8, + "color": "Pink", + "prevo": "Hatenna", + "evoLevel": 32, + "evos": [ + "Hatterene" + ], "eggGroups": [ - "Bug" + "Fairy" ] }, - "nymble": { - "num": 919, - "name": "nymble", + "hatterene": { + "num": 858, + "name": "hatterene", "types": [ - "bug" + "psychic", + "fairy" ], + "gender": "F", "baseStats": { - "hp": 33, - "attack": 46, - "defense": 40, - "special-attack": 21, - "special-defense": 25, - "speed": 45 + "hp": 57, + "attack": 90, + "defense": 95, + "special-attack": 136, + "special-defense": 103, + "speed": 29 }, "abilities": { - "0": "Swarm", - "H": "Tinted Lens" + "0": "Healer", + "1": "Anticipation", + "H": "Magic Bounce" }, - "heightm": 0.2, - "weightkg": 1, - "color": "Gray", - "evos": [ - "Lokix" - ], + "heightm": 2.1, + "weightkg": 5.1, + "color": "Pink", + "prevo": "Hattrem", + "evoLevel": 42, "eggGroups": [ - "Bug" - ] + "Fairy" + ], + "canGigantamax": "G-Max Smite" }, - "lokix": { - "num": 920, - "name": "lokix", + "hatterenegmax": { + "num": 858, + "name": "hatterene-gmax", + "baseSpecies": "Hatterene", + "forme": "Gmax", "types": [ - "bug", - "dark" + "psychic", + "fairy" ], + "gender": "F", "baseStats": { - "hp": 71, - "attack": 102, - "defense": 78, - "special-attack": 52, - "special-defense": 55, - "speed": 92 + "hp": 57, + "attack": 90, + "defense": 95, + "special-attack": 136, + "special-defense": 103, + "speed": 29 }, "abilities": { - "0": "Swarm", - "H": "Tinted Lens" + "0": "Healer", + "1": "Anticipation", + "H": "Magic Bounce" }, - "heightm": 1, - "weightkg": 17.5, - "color": "Gray", - "prevo": "Nymble", - "evoLevel": 24, + "heightm": 26, + "weightkg": 0, + "color": "Pink", "eggGroups": [ - "Bug" - ] + "Fairy" + ], + "changesFrom": "Hatterene" }, - "pawmi": { - "num": 921, - "name": "pawmi", + "impidimp": { + "num": 859, + "name": "impidimp", "types": [ - "electric" + "dark", + "fairy" ], + "gender": "M", "baseStats": { "hp": 45, - "attack": 50, - "defense": 20, - "special-attack": 40, - "special-defense": 25, - "speed": 60 + "attack": 45, + "defense": 30, + "special-attack": 55, + "special-defense": 40, + "speed": 50 }, "abilities": { - "0": "Static", - "1": "Natural Cure", - "H": "Iron Fist" + "0": "Prankster", + "1": "Frisk", + "H": "Pickpocket" }, - "heightm": 0.3, - "weightkg": 2.5, - "color": "Yellow", + "heightm": 0.4, + "weightkg": 5.5, + "color": "Pink", "evos": [ - "Pawmo" + "Morgrem" ], "eggGroups": [ - "Field" + "Fairy", + "Human-Like" ] }, - "pawmo": { - "num": 922, - "name": "pawmo", + "morgrem": { + "num": 860, + "name": "morgrem", "types": [ - "electric", - "fighting" + "dark", + "fairy" ], + "gender": "M", "baseStats": { - "hp": 60, - "attack": 75, - "defense": 40, - "special-attack": 50, - "special-defense": 40, - "speed": 85 + "hp": 65, + "attack": 60, + "defense": 45, + "special-attack": 75, + "special-defense": 55, + "speed": 70 }, "abilities": { - "0": "Volt Absorb", - "1": "Natural Cure", - "H": "Iron Fist" + "0": "Prankster", + "1": "Frisk", + "H": "Pickpocket" }, - "heightm": 0.4, - "weightkg": 6.5, - "color": "Yellow", - "prevo": "Pawmi", - "evoLevel": 18, + "heightm": 0.8, + "weightkg": 12.5, + "color": "Pink", + "prevo": "Impidimp", + "evoLevel": 32, "evos": [ - "Pawmot" + "Grimmsnarl" ], "eggGroups": [ - "Field" + "Fairy", + "Human-Like" ] }, - "pawmot": { - "num": 923, - "name": "pawmot", + "grimmsnarl": { + "num": 861, + "name": "grimmsnarl", + "types": [ + "dark", + "fairy" + ], + "gender": "M", + "baseStats": { + "hp": 95, + "attack": 120, + "defense": 65, + "special-attack": 95, + "special-defense": 75, + "speed": 60 + }, + "abilities": { + "0": "Prankster", + "1": "Frisk", + "H": "Pickpocket" + }, + "heightm": 1.5, + "weightkg": 61, + "color": "Purple", + "prevo": "Morgrem", + "evoLevel": 42, + "eggGroups": [ + "Fairy", + "Human-Like" + ], + "canGigantamax": "G-Max Snooze" + }, + "grimmsnarlgmax": { + "num": 861, + "name": "grimmsnarl-gmax", + "baseSpecies": "Grimmsnarl", + "forme": "Gmax", "types": [ - "electric", - "fighting" + "dark", + "fairy" ], + "gender": "M", "baseStats": { - "hp": 70, - "attack": 115, - "defense": 70, - "special-attack": 70, - "special-defense": 60, - "speed": 105 + "hp": 95, + "attack": 120, + "defense": 65, + "special-attack": 95, + "special-defense": 75, + "speed": 60 }, "abilities": { - "0": "Volt Absorb", - "1": "Natural Cure", - "H": "Iron Fist" + "0": "Prankster", + "1": "Frisk", + "H": "Pickpocket" }, - "heightm": 0.9, - "weightkg": 41, - "color": "Yellow", - "prevo": "Pawmo", - "evoType": "other", - "evoCondition": "walk 1000 steps in Let's Go", + "heightm": 32, + "weightkg": 0, + "color": "Purple", "eggGroups": [ - "Field" - ] + "Fairy", + "Human-Like" + ], + "changesFrom": "Grimmsnarl" }, - "tandemaus": { - "num": 924, - "name": "tandemaus", + "obstagoon": { + "num": 862, + "name": "obstagoon", "types": [ + "dark", "normal" ], - "gender": "N", "baseStats": { - "hp": 50, - "attack": 50, - "defense": 45, - "special-attack": 40, - "special-defense": 45, - "speed": 75 + "hp": 93, + "attack": 90, + "defense": 101, + "special-attack": 60, + "special-defense": 81, + "speed": 95 }, "abilities": { - "0": "Run Away", - "1": "Pickup", - "H": "Own Tempo" + "0": "Reckless", + "1": "Guts", + "H": "Defiant" }, - "heightm": 0.3, - "weightkg": 1.8, - "color": "White", - "evos": [ - "Maushold", - "Maushold-Four" - ], + "heightm": 1.6, + "weightkg": 46, + "color": "Gray", + "prevo": "Linoone-Galar", + "evoLevel": 35, + "evoCondition": "at night", "eggGroups": [ - "Field", - "Fairy" + "Field" ] }, - "maushold": { - "num": 925, - "name": "maushold", - "baseForme": "Three", + "perrserker": { + "num": 863, + "name": "perrserker", "types": [ - "normal" + "steel" ], - "gender": "N", "baseStats": { - "hp": 74, - "attack": 75, - "defense": 70, - "special-attack": 65, - "special-defense": 75, - "speed": 111 + "hp": 70, + "attack": 110, + "defense": 100, + "special-attack": 50, + "special-defense": 60, + "speed": 50 }, "abilities": { - "0": "Friend Guard", - "1": "Cheek Pouch", - "H": "Technician" + "0": "Battle Armor", + "1": "Tough Claws", + "H": "Steely Spirit" }, - "heightm": 0.3, - "weightkg": 2.3, - "color": "White", - "prevo": "Tandemaus", - "evoLevel": 25, - "otherFormes": [ - "Maushold-Four" - ], - "formeOrder": [ - "Maushold", - "Maushold-Four" - ], + "heightm": 0.8, + "weightkg": 28, + "color": "Brown", + "prevo": "Meowth-Galar", + "evoLevel": 28, "eggGroups": [ - "Field", - "Fairy" + "Field" ] }, - "mausholdfour": { - "num": 925, - "name": "maushold-four", - "baseSpecies": "Maushold", - "forme": "Four", + "cursola": { + "num": 864, + "name": "cursola", "types": [ - "normal" + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, "baseStats": { - "hp": 74, - "attack": 75, - "defense": 70, - "special-attack": 65, - "special-defense": 75, - "speed": 111 + "hp": 60, + "attack": 95, + "defense": 50, + "special-attack": 145, + "special-defense": 130, + "speed": 30 }, "abilities": { - "0": "Friend Guard", - "1": "Cheek Pouch", - "H": "Technician" + "0": "Weak Armor", + "H": "Perish Body" }, - "heightm": 0.3, - "weightkg": 2.8, + "heightm": 1, + "weightkg": 0.4, "color": "White", - "prevo": "Tandemaus", - "evoLevel": 25, + "prevo": "Corsola-Galar", + "evoLevel": 38, "eggGroups": [ - "Field", - "Fairy" + "Water 1", + "Water 3" ] }, - "fidough": { - "num": 926, - "name": "fidough", + "sirfetchd": { + "num": 865, + "name": "sirfetch\u2019d", "types": [ - "fairy" + "fighting" ], "baseStats": { - "hp": 37, - "attack": 55, - "defense": 70, - "special-attack": 30, - "special-defense": 55, + "hp": 62, + "attack": 135, + "defense": 95, + "special-attack": 68, + "special-defense": 82, "speed": 65 }, "abilities": { - "0": "Own Tempo", - "H": "Klutz" + "0": "Steadfast", + "H": "Scrappy" }, - "heightm": 0.3, - "weightkg": 10.9, - "color": "Yellow", - "evos": [ - "Dachsbun" - ], + "heightm": 0.8, + "weightkg": 117, + "color": "White", + "prevo": "Farfetch\u2019d-Galar", + "evoType": "other", + "evoCondition": "Land 3 critical hits in 1 battle", "eggGroups": [ - "Field", - "Mineral" + "Flying", + "Field" ] }, - "dachsbun": { - "num": 927, - "name": "dachsbun", + "mrrime": { + "num": 866, + "name": "mr. rime", "types": [ - "fairy" + "ice", + "psychic" ], "baseStats": { - "hp": 57, - "attack": 80, - "defense": 115, - "special-attack": 50, - "special-defense": 80, - "speed": 95 + "hp": 80, + "attack": 85, + "defense": 75, + "special-attack": 110, + "special-defense": 100, + "speed": 70 }, "abilities": { - "0": "Well-Baked Body", - "H": "Aroma Veil" + "0": "Tangled Feet", + "1": "Screen Cleaner", + "H": "Ice Body" }, - "heightm": 0.5, - "weightkg": 14.9, - "color": "Brown", - "prevo": "Fidough", - "evoLevel": 26, + "heightm": 1.5, + "weightkg": 58.2, + "color": "Purple", + "prevo": "Mr. Mime-Galar", + "evoLevel": 42, "eggGroups": [ - "Field", - "Mineral" + "Human-Like" ] }, - "smoliv": { - "num": 928, - "name": "smoliv", + "runerigus": { + "num": 867, + "name": "runerigus", "types": [ - "grass", - "normal" + "ground", + "ghost" ], "baseStats": { - "hp": 41, - "attack": 35, - "defense": 45, - "special-attack": 58, - "special-defense": 51, + "hp": 58, + "attack": 95, + "defense": 145, + "special-attack": 50, + "special-defense": 105, "speed": 30 }, "abilities": { - "0": "Early Bird", - "H": "Harvest" + "0": "Wandering Spirit" }, - "heightm": 0.3, - "weightkg": 6.5, - "color": "Green", - "evos": [ - "Dolliv" - ], + "heightm": 1.6, + "weightkg": 66.6, + "color": "Gray", + "prevo": "Yamask-Galar", + "evoType": "other", + "evoCondition": "Have 49+ HP lost and walk under stone sculpture in Dusty Bowl", "eggGroups": [ - "Grass" + "Mineral", + "Amorphous" ] }, - "dolliv": { - "num": 929, - "name": "dolliv", + "milcery": { + "num": 868, + "name": "milcery", "types": [ - "grass", - "normal" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 52, - "attack": 53, - "defense": 60, - "special-attack": 78, - "special-defense": 78, - "speed": 33 + "hp": 45, + "attack": 40, + "defense": 40, + "special-attack": 50, + "special-defense": 61, + "speed": 34 }, "abilities": { - "0": "Early Bird", - "H": "Harvest" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 11.9, - "color": "Green", - "prevo": "Smoliv", - "evoLevel": 25, + "heightm": 0.2, + "weightkg": 0.3, + "color": "White", "evos": [ - "Arboliva" + "Alcremie" ], "eggGroups": [ - "Grass" + "Fairy", + "Amorphous" ] }, - "arboliva": { - "num": 930, - "name": "arboliva", + "alcremie": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "grass", - "normal" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 78, - "attack": 69, - "defense": 90, - "special-attack": 125, - "special-defense": 109, - "speed": 39 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Seed Sower", - "H": "Harvest" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 1.4, - "weightkg": 48.2, - "color": "Green", - "prevo": "Dolliv", - "evoLevel": 35, + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Grass" - ] - }, - "squawkabilly": { - "num": 931, - "name": "squawkabilly", - "baseForme": "Green", - "types": [ - "normal", - "flying" + "Fairy", + "Amorphous" ], - "baseStats": { - "hp": 82, - "attack": 96, - "defense": 51, - "special-attack": 45, - "special-defense": 51, - "speed": 92 - }, - "abilities": { - "0": "Intimidate", - "1": "Hustle", - "H": "Guts" - }, - "heightm": 0.6, - "weightkg": 2.4, - "color": "Green", - "otherFormes": [ - "Squawkabilly-Blue", - "Squawkabilly-Yellow", - "Squawkabilly-White" + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" ], "formeOrder": [ - "Squawkabilly", - "Squawkabilly-Blue", - "Squawkabilly-Yellow", - "Squawkabilly-White" + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" ], - "eggGroups": [ - "Flying" - ] + "canGigantamax": "G-Max Finale" }, - "squawkabillyblue": { - "num": 931, - "name": "squawkabilly-blue", - "baseSpecies": "Squawkabilly", - "forme": "Blue", + "alcremierubycream": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "normal", - "flying" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 82, - "attack": 96, - "defense": 51, - "special-attack": 45, - "special-defense": 51, - "speed": 92 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Intimidate", - "1": "Hustle", - "H": "Guts" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 2.4, - "color": "Blue", + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Flying" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "squawkabillyyellow": { - "num": 931, - "name": "squawkabilly-yellow", - "baseSpecies": "Squawkabilly", - "forme": "Yellow", + "alcremiematchacream": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "normal", - "flying" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 82, - "attack": 96, - "defense": 51, - "special-attack": 45, - "special-defense": 51, - "speed": 92 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Intimidate", - "1": "Hustle", - "H": "Sheer Force" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 2.4, - "color": "Yellow", + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Flying" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "squawkabillywhite": { - "num": 931, - "name": "squawkabilly-white", - "baseSpecies": "Squawkabilly", - "forme": "White", + "alcremiemintcream": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "normal", - "flying" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 82, - "attack": 96, - "defense": 51, - "special-attack": 45, - "special-defense": 51, - "speed": 92 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Intimidate", - "1": "Hustle", - "H": "Sheer Force" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 2.4, + "heightm": 0.3, + "weightkg": 0.5, "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Flying" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "nacli": { - "num": 932, - "name": "nacli", + "alcremielemoncream": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "rock" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 55, - "attack": 55, + "hp": 65, + "attack": 60, "defense": 75, - "special-attack": 35, - "special-defense": 35, - "speed": 25 + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Purifying Salt", - "1": "Sturdy", - "H": "Clear Body" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.4, - "weightkg": 16, - "color": "Brown", - "evos": [ - "Naclstack" - ], + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Mineral" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "naclstack": { - "num": 933, - "name": "naclstack", + "alcremiesaltedcream": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "rock" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 60, + "hp": 65, "attack": 60, - "defense": 100, - "special-attack": 35, - "special-defense": 65, - "speed": 35 + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Purifying Salt", - "1": "Sturdy", - "H": "Clear Body" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 105, - "color": "Brown", - "prevo": "Nacli", - "evoLevel": 24, - "evos": [ - "Garganacl" - ], + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Mineral" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "garganacl": { - "num": 934, - "name": "garganacl", + "alcremierubyswirl": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "rock" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 130, - "special-attack": 45, - "special-defense": 90, - "speed": 35 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Purifying Salt", - "1": "Sturdy", - "H": "Clear Body" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 2.3, - "weightkg": 240, - "color": "Brown", - "prevo": "Naclstack", - "evoLevel": 38, + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Mineral" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "charcadet": { - "num": 935, - "name": "charcadet", + "alcremiecaramelswirl": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "fire" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 40, - "attack": 50, - "defense": 40, - "special-attack": 50, - "special-defense": 40, - "speed": 35 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Flash Fire", - "H": "Flame Body" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 0.6, - "weightkg": 10.5, - "color": "Red", - "evos": [ - "Armarouge", - "Ceruledge" - ], + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Human-Like" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "armarouge": { - "num": 936, - "name": "armarouge", + "alcremierainbowswirl": { + "num": 869, + "name": "alcremie", + "baseForme": "Vanilla Cream", "types": [ - "fire", - "psychic" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 85, + "hp": 65, "attack": 60, - "defense": 100, - "special-attack": 125, - "special-defense": 80, - "speed": 75 + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Flash Fire", - "H": "Weak Armor" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 1.5, - "weightkg": 85, - "color": "Red", - "prevo": "Charcadet", - "evoType": "useItem", - "evoItem": "Auspicious Armor", + "heightm": 0.3, + "weightkg": 0.5, + "color": "White", + "prevo": "Milcery", + "evoType": "other", + "evoCondition": "spin while holding a Sweet", "eggGroups": [ - "Human-Like" - ] + "Fairy", + "Amorphous" + ], + "cosmeticFormes": [ + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "formeOrder": [ + "Alcremie", + "Alcremie-Ruby-Cream", + "Alcremie-Matcha-Cream", + "Alcremie-Mint-Cream", + "Alcremie-Lemon-Cream", + "Alcremie-Salted-Cream", + "Alcremie-Ruby-Swirl", + "Alcremie-Caramel-Swirl", + "Alcremie-Rainbow-Swirl" + ], + "canGigantamax": "G-Max Finale" }, - "ceruledge": { - "num": 937, - "name": "ceruledge", + "alcremiegmax": { + "num": 869, + "name": "alcremie-gmax", + "baseSpecies": "Alcremie", + "forme": "Gmax", "types": [ - "fire", - "ghost" + "fairy" ], + "gender": "F", "baseStats": { - "hp": 75, - "attack": 125, - "defense": 80, - "special-attack": 60, - "special-defense": 100, - "speed": 85 + "hp": 65, + "attack": 60, + "defense": 75, + "special-attack": 110, + "special-defense": 121, + "speed": 64 }, "abilities": { - "0": "Flash Fire", - "H": "Weak Armor" + "0": "Sweet Veil", + "H": "Aroma Veil" }, - "heightm": 1.6, - "weightkg": 62, - "color": "Purple", - "prevo": "Charcadet", - "evoType": "useItem", - "evoItem": "Malicious Armor", + "heightm": 30, + "weightkg": 0, + "color": "Yellow", "eggGroups": [ - "Human-Like" - ] + "Fairy", + "Amorphous" + ], + "changesFrom": "Alcremie" }, - "tadbulb": { - "num": 938, - "name": "tadbulb", + "falinks": { + "num": 870, + "name": "falinks", "types": [ - "electric" + "fighting" ], + "gender": "N", "baseStats": { - "hp": 61, - "attack": 31, - "defense": 41, - "special-attack": 59, - "special-defense": 35, - "speed": 45 + "hp": 65, + "attack": 100, + "defense": 100, + "special-attack": 70, + "special-defense": 60, + "speed": 75 }, "abilities": { - "0": "Own Tempo", - "1": "Static", - "H": "Damp" + "0": "Battle Armor", + "H": "Defiant" }, - "heightm": 0.3, - "weightkg": 0.4, + "heightm": 3, + "weightkg": 62, "color": "Yellow", - "evos": [ - "Bellibolt" - ], "eggGroups": [ - "Water 1" + "Fairy", + "Mineral" ] }, - "bellibolt": { - "num": 939, - "name": "bellibolt", + "pincurchin": { + "num": 871, + "name": "pincurchin", "types": [ "electric" ], "baseStats": { - "hp": 109, - "attack": 64, - "defense": 91, - "special-attack": 103, - "special-defense": 83, - "speed": 45 + "hp": 48, + "attack": 101, + "defense": 95, + "special-attack": 91, + "special-defense": 85, + "speed": 15 }, "abilities": { - "0": "Electromorphosis", - "1": "Static", - "H": "Damp" + "0": "Lightning Rod", + "H": "Electric Surge" }, - "heightm": 1.2, - "weightkg": 113, - "color": "Green", - "prevo": "Tadbulb", - "evoType": "useItem", - "evoItem": "Thunder Stone", + "heightm": 0.3, + "weightkg": 1, + "color": "Purple", "eggGroups": [ - "Water 1" + "Water 1", + "Amorphous" ] }, - "wattrel": { - "num": 940, - "name": "wattrel", + "snom": { + "num": 872, + "name": "snom", "types": [ - "electric", - "flying" + "ice", + "bug" ], "baseStats": { - "hp": 40, - "attack": 40, + "hp": 30, + "attack": 25, "defense": 35, - "special-attack": 55, - "special-defense": 40, - "speed": 70 + "special-attack": 45, + "special-defense": 30, + "speed": 20 }, "abilities": { - "0": "Wind Power", - "1": "Volt Absorb", - "H": "Competitive" + "0": "Shield Dust", + "H": "Ice Scales" }, - "heightm": 0.4, - "weightkg": 3.6, - "color": "Black", + "heightm": 0.3, + "weightkg": 3.8, + "color": "White", "evos": [ - "Kilowattrel" + "Frosmoth" ], "eggGroups": [ - "Water 1", - "Flying" + "Bug" ] }, - "kilowattrel": { - "num": 941, - "name": "kilowattrel", + "frosmoth": { + "num": 873, + "name": "frosmoth", "types": [ - "electric", - "flying" + "ice", + "bug" ], "baseStats": { "hp": 70, - "attack": 70, + "attack": 65, "defense": 60, - "special-attack": 105, - "special-defense": 60, - "speed": 125 + "special-attack": 125, + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Wind Power", - "1": "Volt Absorb", - "H": "Competitive" + "0": "Shield Dust", + "H": "Ice Scales" }, - "heightm": 1.4, - "weightkg": 38.6, - "color": "Yellow", - "prevo": "Wattrel", - "evoLevel": 25, + "heightm": 1.3, + "weightkg": 42, + "color": "White", + "prevo": "Snom", + "evoType": "levelFriendship", + "evoCondition": "at night", "eggGroups": [ - "Water 1", - "Flying" + "Bug" ] }, - "maschiff": { - "num": 942, - "name": "maschiff", + "stonjourner": { + "num": 874, + "name": "stonjourner", "types": [ - "dark" + "rock" ], "baseStats": { - "hp": 60, - "attack": 78, - "defense": 60, - "special-attack": 40, - "special-defense": 51, - "speed": 51 + "hp": 100, + "attack": 125, + "defense": 135, + "special-attack": 20, + "special-defense": 20, + "speed": 70 }, "abilities": { - "0": "Intimidate", - "1": "Run Away", - "H": "Stakeout" + "0": "Power Spot" }, - "heightm": 0.5, - "weightkg": 16, - "color": "Brown", - "evos": [ - "Mabosstiff" + "heightm": 2.5, + "weightkg": 520, + "color": "Gray", + "eggGroups": [ + "Mineral" + ] + }, + "eiscue": { + "num": 875, + "name": "eiscue", + "types": [ + "ice" ], + "baseStats": { + "hp": 75, + "attack": 80, + "defense": 110, + "special-attack": 65, + "special-defense": 90, + "speed": 50 + }, + "abilities": { + "0": "Ice Face" + }, + "heightm": 1.4, + "weightkg": 89, + "color": "Blue", "eggGroups": [ + "Water 1", "Field" + ], + "otherFormes": [ + "Eiscue-Noice" + ], + "formeOrder": [ + "Eiscue", + "Eiscue-Noice" ] }, - "mabosstiff": { - "num": 943, - "name": "mabosstiff", + "eiscuenoice": { + "num": 875, + "name": "eiscue-noice", + "baseSpecies": "Eiscue", + "forme": "Noice", "types": [ - "dark" + "ice" ], "baseStats": { - "hp": 80, - "attack": 120, - "defense": 90, - "special-attack": 60, - "special-defense": 70, - "speed": 85 + "hp": 75, + "attack": 80, + "defense": 70, + "special-attack": 65, + "special-defense": 50, + "speed": 130 }, "abilities": { - "0": "Intimidate", - "1": "Guard Dog", - "H": "Stakeout" + "0": "Ice Face" }, - "heightm": 1.1, - "weightkg": 61, - "color": "Gray", - "prevo": "Maschiff", - "evoLevel": 30, + "heightm": 1.4, + "weightkg": 89, + "color": "Blue", "eggGroups": [ + "Water 1", "Field" - ] + ], + "requiredAbility": "Ice Face", + "battleOnly": "Eiscue" }, - "shroodle": { - "num": 944, - "name": "shroodle", + "indeedee": { + "num": 876, + "name": "indeedee", + "baseForme": "M", "types": [ - "poison", + "psychic", "normal" ], + "gender": "M", "baseStats": { - "hp": 40, + "hp": 60, "attack": 65, - "defense": 35, - "special-attack": 40, - "special-defense": 35, - "speed": 75 + "defense": 55, + "special-attack": 105, + "special-defense": 95, + "speed": 95 }, "abilities": { - "0": "Unburden", - "1": "Pickpocket", - "H": "Prankster" + "0": "Inner Focus", + "1": "Synchronize", + "H": "Psychic Surge" }, - "heightm": 0.2, - "weightkg": 0.7, - "color": "Gray", - "evos": [ - "Grafaiai" - ], + "heightm": 0.9, + "weightkg": 28, + "color": "Purple", "eggGroups": [ - "Field" - ] + "Fairy" + ], + "otherFormes": [ + "Indeedee-F" + ], + "formeOrder": [ + "Indeedee", + "Indeedee-F" + ], + "mother": "indeedeef" }, - "grafaiai": { - "num": 945, - "name": "grafaiai", + "indeedeef": { + "num": 876, + "name": "indeedee-f", + "baseSpecies": "Indeedee", + "forme": "F", "types": [ - "poison", + "psychic", "normal" ], + "gender": "F", "baseStats": { - "hp": 63, - "attack": 95, + "hp": 70, + "attack": 55, "defense": 65, - "special-attack": 80, - "special-defense": 72, - "speed": 110 + "special-attack": 95, + "special-defense": 105, + "speed": 85 }, "abilities": { - "0": "Unburden", - "1": "Poison Touch", - "H": "Prankster" + "0": "Own Tempo", + "1": "Synchronize", + "H": "Psychic Surge" }, - "heightm": 0.7, - "weightkg": 27.2, - "color": "Gray", - "prevo": "Shroodle", - "evoLevel": 28, + "heightm": 0.9, + "weightkg": 28, + "color": "Purple", "eggGroups": [ - "Field" + "Fairy" ] }, - "bramblin": { - "num": 946, - "name": "bramblin", + "morpeko": { + "num": 877, + "name": "morpeko", "types": [ - "grass", - "ghost" + "electric", + "dark" ], "baseStats": { - "hp": 40, - "attack": 65, - "defense": 30, - "special-attack": 45, - "special-defense": 35, - "speed": 60 + "hp": 58, + "attack": 95, + "defense": 58, + "special-attack": 70, + "special-defense": 58, + "speed": 97 }, "abilities": { - "0": "Wind Rider", - "H": "Infiltrator" + "0": "Hunger Switch" }, - "heightm": 0.6, - "weightkg": 0.6, - "color": "Brown", - "evos": [ - "Brambleghast" - ], + "heightm": 0.3, + "weightkg": 3, + "color": "Yellow", "eggGroups": [ - "Grass" + "Field", + "Fairy" + ], + "otherFormes": [ + "Morpeko-Hangry" + ], + "formeOrder": [ + "Morpeko", + "Morpeko-Hangry" ] }, - "brambleghast": { - "num": 947, - "name": "brambleghast", + "morpekohangry": { + "num": 877, + "name": "morpeko-hangry", + "baseSpecies": "Morpeko", + "forme": "Hangry", "types": [ - "grass", - "ghost" + "electric", + "dark" ], "baseStats": { - "hp": 55, - "attack": 115, - "defense": 70, - "special-attack": 80, - "special-defense": 70, - "speed": 90 + "hp": 58, + "attack": 95, + "defense": 58, + "special-attack": 70, + "special-defense": 58, + "speed": 97 }, "abilities": { - "0": "Wind Rider", - "H": "Infiltrator" + "0": "Hunger Switch" }, - "heightm": 1.2, - "weightkg": 6, - "color": "Brown", - "prevo": "Bramblin", - "evoType": "other", - "evoCondition": "Walk 1000 steps in Let's Go", + "heightm": 0.3, + "weightkg": 3, + "color": "Purple", "eggGroups": [ - "Grass" - ] + "Field", + "Fairy" + ], + "requiredAbility": "Hunger Switch", + "battleOnly": "Morpeko" }, - "toedscool": { - "num": 948, - "name": "toedscool", + "cufant": { + "num": 878, + "name": "cufant", "types": [ - "ground", - "grass" + "steel" ], "baseStats": { - "hp": 40, - "attack": 40, - "defense": 35, - "special-attack": 50, - "special-defense": 100, - "speed": 70 + "hp": 72, + "attack": 80, + "defense": 49, + "special-attack": 40, + "special-defense": 49, + "speed": 40 }, "abilities": { - "0": "Mycelium Might" + "0": "Sheer Force", + "H": "Heavy Metal" }, - "heightm": 0.9, - "weightkg": 33, + "heightm": 1.2, + "weightkg": 100, "color": "Yellow", "evos": [ - "Toedscruel" + "Copperajah" ], "eggGroups": [ - "Field" + "Field", + "Mineral" ] }, - "toedscruel": { - "num": 949, - "name": "toedscruel", + "copperajah": { + "num": 879, + "name": "copperajah", "types": [ - "ground", - "grass" + "steel" ], "baseStats": { - "hp": 80, - "attack": 70, - "defense": 65, + "hp": 122, + "attack": 130, + "defense": 69, "special-attack": 80, - "special-defense": 120, - "speed": 100 + "special-defense": 69, + "speed": 30 }, "abilities": { - "0": "Mycelium Might" + "0": "Sheer Force", + "H": "Heavy Metal" }, - "heightm": 1.9, - "weightkg": 58, - "color": "Black", - "prevo": "Toedscool", - "evoLevel": 30, + "heightm": 3, + "weightkg": 650, + "color": "Green", + "prevo": "Cufant", + "evoLevel": 34, "eggGroups": [ - "Field" - ] + "Field", + "Mineral" + ], + "canGigantamax": "G-Max Steelsurge" }, - "klawf": { - "num": 950, - "name": "klawf", + "copperajahgmax": { + "num": 879, + "name": "copperajah-gmax", + "baseSpecies": "Copperajah", + "forme": "Gmax", "types": [ - "rock" + "steel" ], "baseStats": { - "hp": 70, - "attack": 100, - "defense": 115, - "special-attack": 35, - "special-defense": 55, - "speed": 75 + "hp": 122, + "attack": 130, + "defense": 69, + "special-attack": 80, + "special-defense": 69, + "speed": 30 }, "abilities": { - "0": "Anger Shell", - "1": "Shell Armor", - "H": "Regenerator" + "0": "Sheer Force", + "H": "Heavy Metal" }, - "heightm": 1.3, - "weightkg": 79, - "color": "Red", + "heightm": 23, + "weightkg": 0, + "color": "Green", "eggGroups": [ - "Water 3" - ] + "Field", + "Mineral" + ], + "changesFrom": "Copperajah" }, - "capsakid": { - "num": 951, - "name": "capsakid", + "dracozolt": { + "num": 880, + "name": "dracozolt", "types": [ - "grass" + "electric", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 62, - "defense": 40, - "special-attack": 62, - "special-defense": 40, - "speed": 50 + "hp": 90, + "attack": 100, + "defense": 90, + "special-attack": 80, + "special-defense": 70, + "speed": 75 }, "abilities": { - "0": "Chlorophyll", - "1": "Insomnia", - "H": "Klutz" + "0": "Volt Absorb", + "1": "Hustle", + "H": "Sand Rush" }, - "heightm": 0.3, - "weightkg": 3, + "heightm": 1.8, + "weightkg": 190, "color": "Green", - "evos": [ - "Scovillain" - ], "eggGroups": [ - "Grass" + "Undiscovered" ] }, - "scovillain": { - "num": 952, - "name": "scovillain", + "arctozolt": { + "num": 881, + "name": "arctozolt", "types": [ - "grass", - "fire" + "electric", + "ice" ], + "gender": "N", "baseStats": { - "hp": 65, - "attack": 108, - "defense": 65, - "special-attack": 108, - "special-defense": 65, - "speed": 75 + "hp": 90, + "attack": 100, + "defense": 90, + "special-attack": 90, + "special-defense": 80, + "speed": 55 }, "abilities": { - "0": "Chlorophyll", - "1": "Insomnia", - "H": "Moody" + "0": "Volt Absorb", + "1": "Static", + "H": "Slush Rush" }, - "heightm": 0.9, - "weightkg": 15, - "color": "Green", - "prevo": "Capsakid", - "evoType": "useItem", - "evoItem": "Fire Stone", + "heightm": 2.3, + "weightkg": 150, + "color": "Blue", "eggGroups": [ - "Grass" + "Undiscovered" ] }, - "rellor": { - "num": 953, - "name": "rellor", + "dracovish": { + "num": 882, + "name": "dracovish", "types": [ - "bug" + "water", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 41, - "attack": 50, - "defense": 60, - "special-attack": 31, - "special-defense": 58, - "speed": 30 + "hp": 90, + "attack": 90, + "defense": 100, + "special-attack": 70, + "special-defense": 80, + "speed": 75 }, "abilities": { - "0": "Compound Eyes", - "H": "Shed Skin" + "0": "Water Absorb", + "1": "Strong Jaw", + "H": "Sand Rush" }, - "heightm": 0.2, - "weightkg": 1, - "color": "Brown", - "evos": [ - "Rabsca" - ], + "heightm": 2.3, + "weightkg": 215, + "color": "Green", "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "rabsca": { - "num": 954, - "name": "rabsca", + "arctovish": { + "num": 883, + "name": "arctovish", "types": [ - "bug", - "psychic" + "water", + "ice" ], + "gender": "N", "baseStats": { - "hp": 75, - "attack": 50, - "defense": 85, - "special-attack": 115, - "special-defense": 100, - "speed": 45 + "hp": 90, + "attack": 90, + "defense": 100, + "special-attack": 80, + "special-defense": 90, + "speed": 55 }, "abilities": { - "0": "Synchronize", - "H": "Telepathy" + "0": "Water Absorb", + "1": "Ice Body", + "H": "Slush Rush" }, - "heightm": 0.3, - "weightkg": 3.5, - "color": "Green", - "prevo": "Rellor", - "evoType": "other", - "evoCondition": "walk 1000 steps in Let's Go", + "heightm": 2, + "weightkg": 175, + "color": "Blue", "eggGroups": [ - "Bug" + "Undiscovered" ] }, - "flittle": { - "num": 955, - "name": "flittle", + "duraludon": { + "num": 884, + "name": "duraludon", "types": [ - "psychic" + "steel", + "dragon" ], "baseStats": { - "hp": 30, - "attack": 35, - "defense": 30, - "special-attack": 55, - "special-defense": 30, - "speed": 75 + "hp": 70, + "attack": 95, + "defense": 115, + "special-attack": 120, + "special-defense": 50, + "speed": 85 }, "abilities": { - "0": "Anticipation", - "1": "Frisk", - "H": "Speed Boost" + "0": "Light Metal", + "1": "Heavy Metal", + "H": "Stalwart" }, - "heightm": 0.2, - "weightkg": 1.5, - "color": "Yellow", + "heightm": 1.8, + "weightkg": 40, + "color": "White", "evos": [ - "Espathra" + "Archaludon" ], "eggGroups": [ - "Flying" - ] + "Mineral", + "Dragon" + ], + "canGigantamax": "G-Max Depletion" }, - "espathra": { - "num": 956, - "name": "espathra", + "duraludongmax": { + "num": 884, + "name": "duraludon-gmax", + "baseSpecies": "Duraludon", + "forme": "Gmax", "types": [ - "psychic" + "steel", + "dragon" ], "baseStats": { - "hp": 95, - "attack": 60, - "defense": 60, - "special-attack": 101, - "special-defense": 60, - "speed": 105 + "hp": 70, + "attack": 95, + "defense": 115, + "special-attack": 120, + "special-defense": 50, + "speed": 85 }, "abilities": { - "0": "Opportunist", - "1": "Frisk", - "H": "Speed Boost" + "0": "Light Metal", + "1": "Heavy Metal", + "H": "Stalwart" }, - "heightm": 1.9, - "weightkg": 90, - "color": "Yellow", - "prevo": "Flittle", - "evoLevel": 35, + "heightm": 43, + "weightkg": 0, + "color": "White", "eggGroups": [ - "Flying" - ] + "Mineral", + "Dragon" + ], + "changesFrom": "Duraludon" }, - "tinkatink": { - "num": 957, - "name": "tinkatink", + "dreepy": { + "num": 885, + "name": "dreepy", "types": [ - "fairy", - "steel" + "dragon", + "ghost" ], - "gender": "F", "baseStats": { - "hp": 50, - "attack": 45, - "defense": 45, - "special-attack": 35, - "special-defense": 64, - "speed": 58 + "hp": 28, + "attack": 60, + "defense": 30, + "special-attack": 40, + "special-defense": 30, + "speed": 82 }, "abilities": { - "0": "Mold Breaker", - "1": "Own Tempo", - "H": "Pickpocket" + "0": "Clear Body", + "1": "Infiltrator", + "H": "Cursed Body" }, - "heightm": 0.4, - "weightkg": 8.9, - "color": "Pink", + "heightm": 0.5, + "weightkg": 2, + "color": "Green", "evos": [ - "Tinkatuff" + "Drakloak" ], "eggGroups": [ - "Fairy" + "Amorphous", + "Dragon" ] }, - "tinkatuff": { - "num": 958, - "name": "tinkatuff", + "drakloak": { + "num": 886, + "name": "drakloak", "types": [ - "fairy", - "steel" + "dragon", + "ghost" ], - "gender": "F", "baseStats": { - "hp": 65, - "attack": 55, - "defense": 55, - "special-attack": 45, - "special-defense": 82, - "speed": 78 + "hp": 68, + "attack": 80, + "defense": 50, + "special-attack": 60, + "special-defense": 50, + "speed": 102 }, "abilities": { - "0": "Mold Breaker", - "1": "Own Tempo", - "H": "Pickpocket" + "0": "Clear Body", + "1": "Infiltrator", + "H": "Cursed Body" }, - "heightm": 0.7, - "weightkg": 59.1, - "color": "Pink", - "prevo": "Tinkatink", - "evoLevel": 24, + "heightm": 1.4, + "weightkg": 11, + "color": "Green", + "prevo": "Dreepy", + "evoLevel": 50, "evos": [ - "Tinkaton" + "Dragapult" ], "eggGroups": [ - "Fairy" + "Amorphous", + "Dragon" ] }, - "tinkaton": { - "num": 959, - "name": "tinkaton", + "dragapult": { + "num": 887, + "name": "dragapult", "types": [ - "fairy", - "steel" + "dragon", + "ghost" ], - "gender": "F", "baseStats": { - "hp": 85, - "attack": 75, - "defense": 77, - "special-attack": 70, - "special-defense": 105, - "speed": 94 + "hp": 88, + "attack": 120, + "defense": 75, + "special-attack": 100, + "special-defense": 75, + "speed": 142 }, "abilities": { - "0": "Mold Breaker", - "1": "Own Tempo", - "H": "Pickpocket" + "0": "Clear Body", + "1": "Infiltrator", + "H": "Cursed Body" }, - "heightm": 0.7, - "weightkg": 112.8, - "color": "Pink", - "prevo": "Tinkatuff", - "evoLevel": 38, + "heightm": 3, + "weightkg": 50, + "color": "Green", + "prevo": "Drakloak", + "evoLevel": 60, "eggGroups": [ - "Fairy" + "Amorphous", + "Dragon" ] }, - "wiglett": { - "num": 960, - "name": "wiglett", + "zacian": { + "num": 888, + "name": "zacian", + "baseForme": "Hero", "types": [ - "water" + "fairy" ], + "gender": "N", "baseStats": { - "hp": 10, - "attack": 55, - "defense": 25, - "special-attack": 35, - "special-defense": 25, - "speed": 95 + "hp": 92, + "attack": 120, + "defense": 115, + "special-attack": 80, + "special-defense": 115, + "speed": 138 }, "abilities": { - "0": "Gooey", - "1": "Rattled", - "H": "Sand Veil" + "0": "Intrepid Sword" }, - "heightm": 1.2, - "weightkg": 1.8, - "color": "White", - "evos": [ - "Wugtrio" - ], + "heightm": 2.8, + "weightkg": 110, + "color": "Blue", "eggGroups": [ - "Water 3" - ] + "Undiscovered" + ], + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Zacian-Crowned" + ], + "formeOrder": [ + "Zacian", + "Zacian-Crowned" + ], + "cannotDynamax": true }, - "wugtrio": { - "num": 961, - "name": "wugtrio", + "zaciancrowned": { + "num": 888, + "name": "zacian-crowned", + "baseSpecies": "Zacian", + "forme": "Crowned", "types": [ - "water" + "fairy", + "steel" ], + "gender": "N", "baseStats": { - "hp": 35, - "attack": 100, - "defense": 50, - "special-attack": 50, - "special-defense": 70, - "speed": 120 + "hp": 92, + "attack": 150, + "defense": 115, + "special-attack": 80, + "special-defense": 115, + "speed": 148 }, "abilities": { - "0": "Gooey", - "1": "Rattled", - "H": "Sand Veil" + "0": "Intrepid Sword" }, - "heightm": 1.2, - "weightkg": 5.4, - "color": "Red", - "prevo": "Wiglett", - "evoLevel": 26, + "heightm": 2.8, + "weightkg": 355, + "color": "Blue", "eggGroups": [ - "Water 3" - ] + "Undiscovered" + ], + "requiredItem": "Rusted Sword", + "battleOnly": "Zacian", + "cannotDynamax": true }, - "bombirdier": { - "num": 962, - "name": "bombirdier", + "zamazenta": { + "num": 889, + "name": "zamazenta", + "baseForme": "Hero", "types": [ - "flying", - "dark" + "fighting" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 103, - "defense": 85, - "special-attack": 60, - "special-defense": 85, - "speed": 82 + "hp": 92, + "attack": 120, + "defense": 115, + "special-attack": 80, + "special-defense": 115, + "speed": 138 }, "abilities": { - "0": "Big Pecks", - "1": "Keen Eye", - "H": "Rocky Payload" + "0": "Dauntless Shield" }, - "heightm": 1.5, - "weightkg": 42.9, - "color": "White", + "heightm": 2.9, + "weightkg": 210, + "color": "Red", "eggGroups": [ - "Flying" - ] + "Undiscovered" + ], + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Zamazenta-Crowned" + ], + "formeOrder": [ + "Zamazenta", + "Zamazenta-Crowned" + ], + "cannotDynamax": true }, - "finizen": { - "num": 963, - "name": "finizen", + "zamazentacrowned": { + "num": 889, + "name": "zamazenta-crowned", + "baseSpecies": "Zamazenta", + "forme": "Crowned", "types": [ - "water" + "fighting", + "steel" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 45, - "defense": 40, - "special-attack": 45, - "special-defense": 40, - "speed": 75 + "hp": 92, + "attack": 120, + "defense": 140, + "special-attack": 80, + "special-defense": 140, + "speed": 128 }, "abilities": { - "0": "Water Veil" - }, - "heightm": 1.3, - "weightkg": 60.2, - "color": "Blue", - "evos": [ - "Palafin" - ], + "0": "Dauntless Shield" + }, + "heightm": 2.9, + "weightkg": 785, + "color": "Red", "eggGroups": [ - "Field", - "Water 2" - ] + "Undiscovered" + ], + "requiredItem": "Rusted Shield", + "battleOnly": "Zamazenta", + "cannotDynamax": true }, - "palafin": { - "num": 964, - "name": "palafin", - "baseForme": "Zero", + "eternatus": { + "num": 890, + "name": "eternatus", "types": [ - "water" + "poison", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 70, - "defense": 72, - "special-attack": 53, - "special-defense": 62, - "speed": 100 + "hp": 140, + "attack": 85, + "defense": 95, + "special-attack": 145, + "special-defense": 95, + "speed": 130 }, "abilities": { - "0": "Zero to Hero" + "0": "Pressure" }, - "heightm": 1.3, - "weightkg": 60.2, - "color": "Blue", - "prevo": "Finizen", - "evoLevel": 38, + "heightm": 20, + "weightkg": 950, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ], + "tags": [ + "Restricted Legendary" + ], "otherFormes": [ - "Palafin-Hero" + "Eternatus-Eternamax" ], "formeOrder": [ - "Palafin", - "Palafin-Hero" + "Eternatus", + "Eternatus-Eternamax" ], - "eggGroups": [ - "Field", - "Water 2" - ] + "cannotDynamax": true }, - "palafinhero": { - "num": 964, - "name": "palafin-hero", - "baseSpecies": "Palafin", - "forme": "Hero", + "eternatuseternamax": { + "num": 890, + "name": "eternatus-eternamax", + "baseSpecies": "Eternatus", + "forme": "Eternamax", "types": [ - "water" + "poison", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 160, - "defense": 97, - "special-attack": 106, - "special-defense": 87, - "speed": 100 + "hp": 255, + "attack": 115, + "defense": 250, + "special-attack": 125, + "special-defense": 250, + "speed": 130 }, "abilities": { - "0": "Zero to Hero" + "0": "Pressure" }, - "heightm": 1.8, - "weightkg": 97.4, - "color": "Blue", + "heightm": 100, + "weightkg": 0, + "color": "Purple", "eggGroups": [ - "Field", - "Water 2" + "Undiscovered" ], - "requiredAbility": "Zero to Hero", - "battleOnly": "Palafin" + "cannotDynamax": true }, - "varoom": { - "num": 965, - "name": "varoom", + "kubfu": { + "num": 891, + "name": "kubfu", "types": [ - "steel", - "poison" + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 45, - "attack": 70, - "defense": 63, - "special-attack": 30, - "special-defense": 45, - "speed": 47 + "hp": 60, + "attack": 90, + "defense": 60, + "special-attack": 53, + "special-defense": 50, + "speed": 72 }, "abilities": { - "0": "Overcoat", - "H": "Slow Start" + "0": "Inner Focus" }, - "heightm": 1, - "weightkg": 35, + "heightm": 0.6, + "weightkg": 12, "color": "Gray", + "tags": [ + "Sub-Legendary" + ], "evos": [ - "Revavroom" + "Urshifu", + "Urshifu-Rapid-Strike" ], "eggGroups": [ - "Mineral" + "Undiscovered" ] }, - "revavroom": { - "num": 966, - "name": "revavroom", + "urshifu": { + "num": 892, + "name": "urshifu", + "baseForme": "Single-Strike", "types": [ - "steel", - "poison" + "fighting", + "dark" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 80, - "attack": 119, - "defense": 90, - "special-attack": 54, - "special-defense": 67, - "speed": 90 + "hp": 100, + "attack": 130, + "defense": 100, + "special-attack": 63, + "special-defense": 60, + "speed": 97 }, "abilities": { - "0": "Overcoat", - "H": "Filter" + "0": "Unseen Fist" }, - "heightm": 1.8, - "weightkg": 120, + "heightm": 1.9, + "weightkg": 105, "color": "Gray", - "prevo": "Varoom", - "evoLevel": 40, + "tags": [ + "Sub-Legendary" + ], + "prevo": "Kubfu", + "evoType": "other", + "evoCondition": "Defeat the Single Strike Tower", "eggGroups": [ - "Mineral" - ] + "Undiscovered" + ], + "otherFormes": [ + "Urshifu-Rapid-Strike" + ], + "formeOrder": [ + "Urshifu", + "Urshifu-Rapid-Strike" + ], + "canGigantamax": "G-Max One Blow" }, - "cyclizar": { - "num": 967, - "name": "cyclizar", + "urshifurapidstrike": { + "num": 892, + "name": "urshifu-rapid-strike", + "baseSpecies": "Urshifu", + "forme": "Rapid-Strike", "types": [ - "dragon", - "normal" + "fighting", + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 95, - "defense": 65, - "special-attack": 85, - "special-defense": 65, - "speed": 121 + "hp": 100, + "attack": 130, + "defense": 100, + "special-attack": 63, + "special-defense": 60, + "speed": 97 }, "abilities": { - "0": "Shed Skin", - "H": "Regenerator" + "0": "Unseen Fist" }, - "heightm": 1.6, - "weightkg": 63, - "color": "Green", + "heightm": 1.9, + "weightkg": 105, + "color": "Gray", + "prevo": "Kubfu", + "evoType": "other", + "evoCondition": "Defeat the Rapid Strike Tower", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "canGigantamax": "G-Max Rapid Flow" }, - "orthworm": { - "num": 968, - "name": "orthworm", + "urshifugmax": { + "num": 892, + "name": "urshifu-gmax", + "baseSpecies": "Urshifu", + "forme": "Gmax", "types": [ - "steel" + "fighting", + "dark" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 70, - "attack": 85, - "defense": 145, - "special-attack": 60, - "special-defense": 55, - "speed": 65 + "hp": 100, + "attack": 130, + "defense": 100, + "special-attack": 63, + "special-defense": 60, + "speed": 97 }, "abilities": { - "0": "Earth Eater", - "H": "Sand Veil" + "0": "Unseen Fist" }, - "heightm": 2.5, - "weightkg": 310, - "color": "Pink", + "heightm": 29, + "weightkg": 0, + "color": "Gray", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "changesFrom": "Urshifu" }, - "glimmet": { - "num": 969, - "name": "glimmet", + "urshifurapidstrikegmax": { + "num": 892, + "name": "urshifu-rapid-strike-gmax", + "baseSpecies": "Urshifu", + "forme": "Rapid-Strike-Gmax", "types": [ - "rock", - "poison" + "fighting", + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 48, - "attack": 35, - "defense": 42, - "special-attack": 105, + "hp": 100, + "attack": 130, + "defense": 100, + "special-attack": 63, "special-defense": 60, - "speed": 60 + "speed": 97 }, "abilities": { - "0": "Toxic Debris", - "H": "Corrosion" + "0": "Unseen Fist" }, - "heightm": 0.7, - "weightkg": 8, - "color": "Blue", - "evos": [ - "Glimmora" - ], + "heightm": 26, + "weightkg": 0, + "color": "Gray", "eggGroups": [ - "Mineral" - ] + "Undiscovered" + ], + "battleOnly": "Urshifu-Rapid-Strike", + "changesFrom": "Urshifu-Rapid-Strike" }, - "glimmora": { - "num": 970, - "name": "glimmora", + "zarude": { + "num": 893, + "name": "zarude", "types": [ - "rock", - "poison" + "dark", + "grass" ], + "gender": "N", "baseStats": { - "hp": 83, - "attack": 55, - "defense": 90, - "special-attack": 130, - "special-defense": 81, - "speed": 86 + "hp": 105, + "attack": 120, + "defense": 105, + "special-attack": 70, + "special-defense": 95, + "speed": 105 }, "abilities": { - "0": "Toxic Debris", - "H": "Corrosion" + "0": "Leaf Guard" }, - "heightm": 1.5, - "weightkg": 45, - "color": "Blue", - "prevo": "Glimmet", - "evoLevel": 35, + "heightm": 1.8, + "weightkg": 70, + "color": "Black", "eggGroups": [ - "Mineral" - ] - }, - "greavard": { - "num": 971, - "name": "greavard", - "types": [ - "ghost" + "Undiscovered" ], - "baseStats": { - "hp": 50, - "attack": 61, - "defense": 60, - "special-attack": 30, - "special-defense": 55, - "speed": 34 - }, - "abilities": { - "0": "Pickup", - "H": "Fluffy" - }, - "heightm": 0.6, - "weightkg": 35, - "color": "White", - "evos": [ - "Houndstone" + "tags": [ + "Mythical" ], - "eggGroups": [ - "Field" + "otherFormes": [ + "Zarude-Dada" + ], + "formeOrder": [ + "Zarude", + "Zarude-Dada" ] }, - "houndstone": { - "num": 972, - "name": "houndstone", + "zarudedada": { + "num": 893, + "name": "zarude-dada", + "baseSpecies": "Zarude", + "forme": "Dada", "types": [ - "ghost" + "dark", + "grass" ], + "gender": "N", "baseStats": { - "hp": 72, - "attack": 101, - "defense": 100, - "special-attack": 50, - "special-defense": 97, - "speed": 68 + "hp": 105, + "attack": 120, + "defense": 105, + "special-attack": 70, + "special-defense": 95, + "speed": 105 }, "abilities": { - "0": "Sand Rush", - "H": "Fluffy" + "0": "Leaf Guard" }, - "heightm": 2, - "weightkg": 15, - "color": "White", - "prevo": "Greavard", - "evoLevel": 30, - "evoCondition": "at night", + "heightm": 1.8, + "weightkg": 70, + "color": "Black", "eggGroups": [ - "Field" + "Undiscovered" ] }, - "flamigo": { - "num": 973, - "name": "flamigo", + "regieleki": { + "num": 894, + "name": "regieleki", "types": [ - "flying", - "fighting" + "electric" ], + "gender": "N", "baseStats": { - "hp": 82, - "attack": 115, - "defense": 74, - "special-attack": 75, - "special-defense": 64, - "speed": 90 + "hp": 80, + "attack": 100, + "defense": 50, + "special-attack": 100, + "special-defense": 50, + "speed": 200 }, "abilities": { - "0": "Scrappy", - "1": "Tangled Feet", - "H": "Costar" + "0": "Transistor" }, - "heightm": 1.6, - "weightkg": 37, - "color": "Pink", + "heightm": 1.2, + "weightkg": 145, + "color": "Yellow", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Flying" + "Undiscovered" ] }, - "cetoddle": { - "num": 974, - "name": "cetoddle", + "regidrago": { + "num": 895, + "name": "regidrago", "types": [ - "ice" + "dragon" ], + "gender": "N", "baseStats": { - "hp": 108, - "attack": 68, - "defense": 45, - "special-attack": 30, - "special-defense": 40, - "speed": 43 + "hp": 200, + "attack": 100, + "defense": 50, + "special-attack": 100, + "special-defense": 50, + "speed": 80 }, "abilities": { - "0": "Thick Fat", - "1": "Snow Cloak", - "H": "Sheer Force" + "0": "Dragon's Maw" }, - "heightm": 1.2, - "weightkg": 45, - "color": "White", - "evos": [ - "Cetitan" + "heightm": 2.1, + "weightkg": 200, + "color": "Green", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "cetitan": { - "num": 975, - "name": "cetitan", + "glastrier": { + "num": 896, + "name": "glastrier", "types": [ "ice" ], + "gender": "N", "baseStats": { - "hp": 170, - "attack": 113, - "defense": 65, - "special-attack": 45, - "special-defense": 55, - "speed": 73 + "hp": 100, + "attack": 145, + "defense": 130, + "special-attack": 65, + "special-defense": 110, + "speed": 30 }, "abilities": { - "0": "Thick Fat", - "1": "Slush Rush", - "H": "Sheer Force" + "0": "Chilling Neigh" }, - "heightm": 4.5, - "weightkg": 700, + "heightm": 2.2, + "weightkg": 800, "color": "White", - "prevo": "Cetoddle", - "evoType": "useItem", - "evoItem": "Ice Stone", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Field" + "Undiscovered" ] }, - "veluza": { - "num": 976, - "name": "veluza", + "spectrier": { + "num": 897, + "name": "spectrier", "types": [ - "water", - "psychic" + "ghost" ], + "gender": "N", "baseStats": { - "hp": 90, - "attack": 102, - "defense": 73, - "special-attack": 78, - "special-defense": 65, - "speed": 70 + "hp": 100, + "attack": 65, + "defense": 60, + "special-attack": 145, + "special-defense": 80, + "speed": 130 }, "abilities": { - "0": "Mold Breaker", - "H": "Sharpness" + "0": "Grim Neigh" }, - "heightm": 2.5, - "weightkg": 90, - "color": "Gray", + "heightm": 2, + "weightkg": 44.5, + "color": "Black", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Water 2" + "Undiscovered" ] }, - "dondozo": { - "num": 977, - "name": "dondozo", + "calyrex": { + "num": 898, + "name": "calyrex", "types": [ - "water" + "psychic", + "grass" ], + "gender": "N", "baseStats": { - "hp": 150, - "attack": 100, - "defense": 115, - "special-attack": 65, - "special-defense": 65, - "speed": 35 + "hp": 100, + "attack": 80, + "defense": 80, + "special-attack": 80, + "special-defense": 80, + "speed": 80 }, "abilities": { - "0": "Unaware", - "1": "Oblivious", - "H": "Water Veil" + "0": "Unnerve" }, - "heightm": 12, - "weightkg": 220, - "color": "Blue", + "heightm": 1.1, + "weightkg": 7.7, + "color": "Green", "eggGroups": [ - "Water 2" + "Undiscovered" + ], + "tags": [ + "Restricted Legendary" + ], + "otherFormes": [ + "Calyrex-Ice", + "Calyrex-Shadow" + ], + "formeOrder": [ + "Calyrex", + "Calyrex-Ice", + "Calyrex-Shadow" ] }, - "tatsugiri": { - "num": 978, - "name": "tatsugiri", - "baseForme": "Curly", + "calyrexice": { + "num": 898, + "name": "calyrex-ice", + "baseSpecies": "Calyrex", + "forme": "Ice", "types": [ - "dragon", - "water" + "psychic", + "ice" ], + "gender": "N", "baseStats": { - "hp": 68, - "attack": 50, - "defense": 60, - "special-attack": 120, - "special-defense": 95, - "speed": 82 + "hp": 100, + "attack": 165, + "defense": 150, + "special-attack": 85, + "special-defense": 130, + "speed": 50 }, "abilities": { - "0": "Commander", - "H": "Storm Drain" + "0": "As One (Glastrier)" }, - "heightm": 0.3, - "weightkg": 8, - "color": "Red", - "cosmeticFormes": [ - "Tatsugiri-Droopy", - "Tatsugiri-Stretchy" - ], - "formeOrder": [ - "Tatsugiri", - "Tatsugiri-Droopy", - "Tatsugiri-Stretchy" - ], + "heightm": 2.4, + "weightkg": 809.1, + "color": "White", "eggGroups": [ - "Water 2" - ] + "Undiscovered" + ], + "changesFrom": "Calyrex" }, - "annihilape": { - "num": 979, - "name": "annihilape", + "calyrexshadow": { + "num": 898, + "name": "calyrex-shadow", + "baseSpecies": "Calyrex", + "forme": "Shadow", "types": [ - "fighting", + "psychic", "ghost" ], + "gender": "N", "baseStats": { - "hp": 110, - "attack": 115, + "hp": 100, + "attack": 85, "defense": 80, - "special-attack": 50, - "special-defense": 90, - "speed": 90 + "special-attack": 165, + "special-defense": 100, + "speed": 150 }, "abilities": { - "0": "Vital Spirit", - "1": "Inner Focus", - "H": "Defiant" + "0": "As One (Spectrier)" }, - "heightm": 1.2, - "weightkg": 56, - "color": "Gray", - "prevo": "Primeape", - "evoType": "other", - "evoCondition": "Use Rage Fist 20 times and level-up", + "heightm": 2.4, + "weightkg": 53.6, + "color": "Black", "eggGroups": [ - "Field" - ] + "Undiscovered" + ], + "changesFrom": "Calyrex" }, - "clodsire": { - "num": 980, - "name": "clodsire", + "wyrdeer": { + "num": 899, + "name": "wyrdeer", "types": [ - "poison", - "ground" + "normal", + "psychic" ], "baseStats": { - "hp": 130, - "attack": 75, - "defense": 60, - "special-attack": 45, - "special-defense": 100, - "speed": 20 + "hp": 103, + "attack": 105, + "defense": 72, + "special-attack": 105, + "special-defense": 75, + "speed": 65 }, "abilities": { - "0": "Poison Point", - "1": "Water Absorb", - "H": "Unaware" + "0": "Intimidate", + "1": "Frisk", + "H": "Sap Sipper" }, "heightm": 1.8, - "weightkg": 223, - "color": "Brown", - "prevo": "Wooper-Paldea", - "evoLevel": 20, + "weightkg": 95.1, + "color": "Gray", + "prevo": "Stantler", + "evoType": "other", + "evoCondition": "Use Agile style Psyshield Bash 20 times", "eggGroups": [ - "Water 1", "Field" ] }, - "farigiraf": { - "num": 981, - "name": "farigiraf", + "kleavor": { + "num": 900, + "name": "kleavor", "types": [ - "normal", - "psychic" + "bug", + "rock" ], "baseStats": { - "hp": 120, - "attack": 90, - "defense": 70, - "special-attack": 110, + "hp": 70, + "attack": 135, + "defense": 95, + "special-attack": 45, "special-defense": 70, - "speed": 60 + "speed": 85 }, "abilities": { - "0": "Cud Chew", - "1": "Armor Tail", - "H": "Sap Sipper" + "0": "Swarm", + "1": "Sheer Force", + "H": "Sharpness" }, - "heightm": 3.2, - "weightkg": 160, + "heightm": 1.8, + "weightkg": 89, "color": "Brown", - "prevo": "Girafarig", - "evoType": "levelMove", - "evoMove": "Twin Beam", + "prevo": "Scyther", + "evoType": "useItem", + "evoCondition": "Black Augurite", "eggGroups": [ - "Field" + "Bug" ] }, - "dudunsparce": { - "num": 982, - "name": "dudunsparce", - "baseForme": "Two-Segment", + "ursaluna": { + "num": 901, + "name": "ursaluna", "types": [ + "ground", "normal" ], "baseStats": { - "hp": 125, - "attack": 100, - "defense": 80, - "special-attack": 85, - "special-defense": 75, - "speed": 55 + "hp": 130, + "attack": 140, + "defense": 105, + "special-attack": 45, + "special-defense": 80, + "speed": 50 }, "abilities": { - "0": "Serene Grace", - "1": "Run Away", - "H": "Rattled" + "0": "Guts", + "1": "Bulletproof", + "H": "Unnerve" }, - "heightm": 3.6, - "weightkg": 39.2, - "color": "Yellow", - "prevo": "Dunsparce", - "evoType": "levelMove", - "evoMove": "Hyper Drill", + "heightm": 2.4, + "weightkg": 290, + "color": "Brown", + "prevo": "Ursaring", + "evoType": "other", + "evoCondition": "Peat Block when there's a full moon", + "eggGroups": [ + "Field" + ], "otherFormes": [ - "Dudunsparce-Three-Segment" + "Ursaluna-Bloodmoon" ], "formeOrder": [ - "Dudunsparce", - "Dudunsparce-Three-Segment" - ], - "eggGroups": [ - "Field" + "Ursaluna", + "Ursaluna-Bloodmoon" ] }, - "dudunsparcethreesegment": { - "num": 982, - "name": "dudunsparce-three-segment", - "baseSpecies": "Dudunsparce", - "forme": "Three-Segment", + "ursalunabloodmoon": { + "num": 901, + "name": "ursaluna-bloodmoon", + "baseSpecies": "Ursaluna", + "forme": "Bloodmoon", "types": [ + "ground", "normal" ], + "gender": "M", "baseStats": { - "hp": 125, - "attack": 100, - "defense": 80, - "special-attack": 85, - "special-defense": 75, - "speed": 55 + "hp": 113, + "attack": 70, + "defense": 120, + "special-attack": 135, + "special-defense": 65, + "speed": 52 }, "abilities": { - "0": "Serene Grace", - "1": "Run Away", - "H": "Rattled" + "0": "Mind's Eye" }, - "heightm": 4.5, - "weightkg": 47.4, - "color": "Yellow", - "prevo": "Dunsparce", - "evoType": "levelMove", - "evoMove": "Hyper Drill", + "heightm": 2.7, + "weightkg": 333, + "color": "Brown", "eggGroups": [ "Field" - ] + ], + "gen": 9 }, - "kingambit": { - "num": 983, - "name": "kingambit", + "basculegion": { + "num": 902, + "name": "basculegion", + "baseForme": "M", "types": [ - "dark", - "steel" + "water", + "ghost" ], + "gender": "M", "baseStats": { - "hp": 100, - "attack": 135, - "defense": 120, - "special-attack": 60, - "special-defense": 85, - "speed": 50 + "hp": 120, + "attack": 112, + "defense": 65, + "special-attack": 80, + "special-defense": 75, + "speed": 78 }, "abilities": { - "0": "Defiant", - "1": "Supreme Overlord", - "H": "Pressure" + "0": "Swift Swim", + "1": "Adaptability", + "H": "Mold Breaker" }, - "heightm": 2, - "weightkg": 120, - "color": "Black", - "prevo": "Bisharp", + "heightm": 3, + "weightkg": 110, + "color": "Green", + "prevo": "Basculin-White-Striped", "evoType": "other", - "evoCondition": "Defeat 3 Bisharp leading Pawniard and level-up", + "evoCondition": "Receive 294+ recoil without fainting", "eggGroups": [ - "Human-Like" + "Water 2" + ], + "otherFormes": [ + "Basculegion-F" + ], + "formeOrder": [ + "Basculegion", + "Basculegion-F" ] }, - "greattusk": { - "num": 984, - "name": "great tusk", + "basculegionf": { + "num": 902, + "name": "basculegion-f", + "baseSpecies": "Basculegion", + "forme": "F", "types": [ - "ground", - "fighting" + "water", + "ghost" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 115, - "attack": 131, - "defense": 131, - "special-attack": 53, - "special-defense": 53, - "speed": 87 + "hp": 120, + "attack": 92, + "defense": 65, + "special-attack": 100, + "special-defense": 75, + "speed": 78 }, "abilities": { - "0": "Protosynthesis" + "0": "Swift Swim", + "1": "Adaptability", + "H": "Mold Breaker" }, - "heightm": 2.2, - "weightkg": 320, - "color": "Purple", - "tags": [ - "Paradox" - ], + "heightm": 3, + "weightkg": 110, + "color": "Green", + "prevo": "Basculin-White-Striped", + "evoType": "other", + "evoCondition": "Receive 294+ recoil without fainting", "eggGroups": [ - "Undiscovered" + "Water 2" ] }, - "screamtail": { - "num": 985, - "name": "scream tail", + "sneasler": { + "num": 903, + "name": "sneasler", "types": [ - "fairy", - "psychic" + "fighting", + "poison" ], - "gender": "N", "baseStats": { - "hp": 115, - "attack": 65, - "defense": 99, - "special-attack": 65, - "special-defense": 115, - "speed": 111 + "hp": 80, + "attack": 130, + "defense": 60, + "special-attack": 40, + "special-defense": 80, + "speed": 120 }, "abilities": { - "0": "Protosynthesis" + "0": "Pressure", + "1": "Unburden", + "H": "Poison Touch" }, - "heightm": 1.2, - "weightkg": 8, - "color": "Pink", - "tags": [ - "Paradox" - ], + "heightm": 1.3, + "weightkg": 43, + "color": "Blue", + "prevo": "Sneasel-Hisui", + "evoType": "levelHold", + "evoItem": "Razor Claw", + "evoCondition": "during the day", "eggGroups": [ - "Undiscovered" + "Field" ] }, - "brutebonnet": { - "num": 986, - "name": "brute bonnet", + "overqwil": { + "num": 904, + "name": "overqwil", "types": [ - "grass", - "dark" + "dark", + "poison" ], - "gender": "N", "baseStats": { - "hp": 111, - "attack": 127, - "defense": 99, - "special-attack": 79, - "special-defense": 99, - "speed": 55 + "hp": 85, + "attack": 115, + "defense": 95, + "special-attack": 65, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Protosynthesis" + "0": "Poison Point", + "1": "Swift Swim", + "H": "Intimidate" }, - "heightm": 1.2, - "weightkg": 21, - "color": "White", - "tags": [ - "Paradox" - ], + "heightm": 2.5, + "weightkg": 60.5, + "color": "Black", + "prevo": "Qwilfish-Hisui", + "evoType": "other", + "evoCondition": "Use Strong style Barb Barrage 20 times", "eggGroups": [ - "Undiscovered" + "Water 2" ] }, - "fluttermane": { - "num": 987, - "name": "flutter mane", + "enamorus": { + "num": 905, + "name": "enamorus", + "baseForme": "Incarnate", "types": [ - "ghost", - "fairy" + "fairy", + "flying" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 55, - "attack": 55, - "defense": 55, + "hp": 74, + "attack": 115, + "defense": 70, "special-attack": 135, - "special-defense": 135, - "speed": 135 + "special-defense": 80, + "speed": 106 }, "abilities": { - "0": "Protosynthesis" + "0": "Cute Charm", + "H": "Contrary" }, - "heightm": 1.4, - "weightkg": 4, - "color": "Gray", + "heightm": 1.6, + "weightkg": 48, + "color": "Pink", "tags": [ - "Paradox" + "Sub-Legendary" ], "eggGroups": [ "Undiscovered" + ], + "otherFormes": [ + "Enamorus-Therian" + ], + "formeOrder": [ + "Enamorus", + "Enamorus-Therian" ] }, - "slitherwing": { - "num": 988, - "name": "slither wing", + "enamorustherian": { + "num": 905, + "name": "enamorus-therian", + "baseSpecies": "Enamorus", + "forme": "Therian", "types": [ - "bug", - "fighting" + "fairy", + "flying" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 85, - "attack": 135, - "defense": 79, - "special-attack": 85, - "special-defense": 105, - "speed": 81 + "hp": 74, + "attack": 115, + "defense": 110, + "special-attack": 135, + "special-defense": 100, + "speed": 46 }, "abilities": { - "0": "Protosynthesis" + "0": "Overcoat" }, - "heightm": 3.2, - "weightkg": 92, - "color": "White", - "tags": [ - "Paradox" - ], + "heightm": 1.6, + "weightkg": 48, + "color": "Pink", "eggGroups": [ "Undiscovered" - ] + ], + "changesFrom": "Enamorus" }, - "sandyshocks": { - "num": 989, - "name": "sandy shocks", + "sprigatito": { + "num": 906, + "name": "sprigatito", "types": [ - "electric", - "ground" + "grass" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 85, - "attack": 81, - "defense": 97, - "special-attack": 121, - "special-defense": 85, - "speed": 101 + "hp": 40, + "attack": 61, + "defense": 54, + "special-attack": 45, + "special-defense": 45, + "speed": 65 }, "abilities": { - "0": "Protosynthesis" + "0": "Overgrow", + "H": "Protean" }, - "heightm": 2.3, - "weightkg": 60, - "color": "Gray", - "tags": [ - "Paradox" + "heightm": 0.4, + "weightkg": 4.1, + "color": "Green", + "evos": [ + "Floragato" ], "eggGroups": [ - "Undiscovered" + "Field", + "Grass" ] }, - "irontreads": { - "num": 990, - "name": "iron treads", + "floragato": { + "num": 907, + "name": "floragato", "types": [ - "ground", - "steel" + "grass" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 90, - "attack": 112, - "defense": 120, - "special-attack": 72, - "special-defense": 70, - "speed": 106 + "hp": 61, + "attack": 80, + "defense": 63, + "special-attack": 60, + "special-defense": 63, + "speed": 83 }, "abilities": { - "0": "Quark Drive" + "0": "Overgrow", + "H": "Protean" }, "heightm": 0.9, - "weightkg": 240, - "color": "Gray", - "tags": [ - "Paradox" + "weightkg": 12.2, + "color": "Green", + "prevo": "Sprigatito", + "evoLevel": 16, + "evos": [ + "Meowscarada" ], "eggGroups": [ - "Undiscovered" + "Field", + "Grass" ] }, - "ironbundle": { - "num": 991, - "name": "iron bundle", + "meowscarada": { + "num": 908, + "name": "meowscarada", "types": [ - "ice", - "water" + "grass", + "dark" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 56, - "attack": 80, - "defense": 114, - "special-attack": 124, - "special-defense": 60, - "speed": 136 + "hp": 76, + "attack": 110, + "defense": 70, + "special-attack": 81, + "special-defense": 70, + "speed": 123 }, "abilities": { - "0": "Quark Drive" + "0": "Overgrow", + "H": "Protean" }, - "heightm": 0.6, - "weightkg": 11, - "color": "Red", - "tags": [ - "Paradox" - ], + "heightm": 1.5, + "weightkg": 31.2, + "color": "Green", + "prevo": "Floragato", + "evoLevel": 36, "eggGroups": [ - "Undiscovered" + "Field", + "Grass" ] }, - "ironhands": { - "num": 992, - "name": "iron hands", + "fuecoco": { + "num": 909, + "name": "fuecoco", "types": [ - "fighting", - "electric" + "fire" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 154, - "attack": 140, - "defense": 108, - "special-attack": 50, - "special-defense": 68, - "speed": 50 + "hp": 67, + "attack": 45, + "defense": 59, + "special-attack": 63, + "special-defense": 40, + "speed": 36 }, "abilities": { - "0": "Quark Drive" + "0": "Blaze", + "H": "Unaware" }, - "heightm": 1.8, - "weightkg": 380.7, - "color": "Gray", - "tags": [ - "Paradox" + "heightm": 0.4, + "weightkg": 9.8, + "color": "Red", + "evos": [ + "Crocalor" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "ironjugulis": { - "num": 993, - "name": "iron jugulis", + "crocalor": { + "num": 910, + "name": "crocalor", "types": [ - "dark", - "flying" + "fire" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 94, - "attack": 80, - "defense": 86, - "special-attack": 122, - "special-defense": 80, - "speed": 108 + "hp": 81, + "attack": 55, + "defense": 78, + "special-attack": 90, + "special-defense": 58, + "speed": 49 }, "abilities": { - "0": "Quark Drive" + "0": "Blaze", + "H": "Unaware" }, - "heightm": 1.3, - "weightkg": 111, - "color": "Blue", - "tags": [ - "Paradox" + "heightm": 1, + "weightkg": 30.7, + "color": "Red", + "prevo": "Fuecoco", + "evoLevel": 16, + "evos": [ + "Skeledirge" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "ironmoth": { - "num": 994, - "name": "iron moth", + "skeledirge": { + "num": 911, + "name": "skeledirge", "types": [ "fire", - "poison" + "ghost" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 80, - "attack": 70, - "defense": 60, - "special-attack": 140, - "special-defense": 110, - "speed": 110 + "hp": 104, + "attack": 75, + "defense": 100, + "special-attack": 110, + "special-defense": 75, + "speed": 66 }, "abilities": { - "0": "Quark Drive" + "0": "Blaze", + "H": "Unaware" }, - "heightm": 1.2, - "weightkg": 36, - "color": "White", - "tags": [ - "Paradox" - ], + "heightm": 1.6, + "weightkg": 326.5, + "color": "Red", + "prevo": "Crocalor", + "evoLevel": 36, "eggGroups": [ - "Undiscovered" + "Field" ] }, - "ironthorns": { - "num": 995, - "name": "iron thorns", + "quaxly": { + "num": 912, + "name": "quaxly", "types": [ - "rock", - "electric" + "water" ], - "gender": "N", + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 100, - "attack": 134, - "defense": 110, - "special-attack": 70, - "special-defense": 84, - "speed": 72 + "hp": 55, + "attack": 65, + "defense": 45, + "special-attack": 50, + "special-defense": 45, + "speed": 50 }, "abilities": { - "0": "Quark Drive" + "0": "Torrent", + "H": "Moxie" }, - "heightm": 1.6, - "weightkg": 303, - "color": "Green", - "tags": [ - "Paradox" + "heightm": 0.5, + "weightkg": 6.1, + "color": "Blue", + "evos": [ + "Quaxwell" ], "eggGroups": [ - "Undiscovered" + "Flying", + "Water 1" ] }, - "frigibax": { - "num": 996, - "name": "frigibax", + "quaxwell": { + "num": 913, + "name": "quaxwell", "types": [ - "dragon", - "ice" + "water" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 65, - "attack": 75, - "defense": 45, - "special-attack": 35, - "special-defense": 45, - "speed": 55 + "hp": 70, + "attack": 85, + "defense": 65, + "special-attack": 65, + "special-defense": 60, + "speed": 65 }, "abilities": { - "0": "Thermal Exchange", - "H": "Ice Body" + "0": "Torrent", + "H": "Moxie" }, - "heightm": 0.5, - "weightkg": 17, - "color": "Gray", + "heightm": 1.2, + "weightkg": 21.5, + "color": "Blue", + "prevo": "Quaxly", + "evoLevel": 16, "evos": [ - "Arctibax" + "Quaquaval" ], "eggGroups": [ - "Dragon", - "Mineral" + "Flying", + "Water 1" ] }, - "arctibax": { - "num": 997, - "name": "arctibax", + "quaquaval": { + "num": 914, + "name": "quaquaval", "types": [ - "dragon", - "ice" + "water", + "fighting" ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, "baseStats": { - "hp": 90, - "attack": 95, - "defense": 66, - "special-attack": 45, - "special-defense": 65, - "speed": 62 + "hp": 85, + "attack": 120, + "defense": 80, + "special-attack": 85, + "special-defense": 75, + "speed": 85 }, "abilities": { - "0": "Thermal Exchange", - "H": "Ice Body" + "0": "Torrent", + "H": "Moxie" }, - "heightm": 0.8, - "weightkg": 30, + "heightm": 1.8, + "weightkg": 61.9, "color": "Blue", - "prevo": "Frigibax", - "evoLevel": 35, - "evos": [ - "Baxcalibur" - ], + "prevo": "Quaxwell", + "evoLevel": 36, "eggGroups": [ - "Dragon", - "Mineral" + "Flying", + "Water 1" ] }, - "baxcalibur": { - "num": 998, - "name": "baxcalibur", + "lechonk": { + "num": 915, + "name": "lechonk", "types": [ - "dragon", - "ice" + "normal" ], "baseStats": { - "hp": 115, - "attack": 145, - "defense": 92, - "special-attack": 75, - "special-defense": 86, - "speed": 87 + "hp": 54, + "attack": 45, + "defense": 40, + "special-attack": 35, + "special-defense": 45, + "speed": 35 }, "abilities": { - "0": "Thermal Exchange", - "H": "Ice Body" + "0": "Aroma Veil", + "1": "Gluttony", + "H": "Thick Fat" }, - "heightm": 2.1, - "weightkg": 210, - "color": "Blue", - "prevo": "Arctibax", - "evoLevel": 54, + "heightm": 0.5, + "weightkg": 10.2, + "color": "Gray", + "evos": [ + "Oinkologne", + "Oinkologne-F" + ], "eggGroups": [ - "Dragon", - "Mineral" + "Field" ] }, - "gimmighoul": { - "num": 999, - "name": "gimmighoul", - "baseForme": "Chest", + "oinkologne": { + "num": 916, + "name": "oinkologne", + "baseForme": "M", "types": [ - "ghost" + "normal" ], - "gender": "N", + "gender": "M", "baseStats": { - "hp": 45, - "attack": 30, - "defense": 70, - "special-attack": 75, - "special-defense": 70, - "speed": 10 + "hp": 110, + "attack": 100, + "defense": 75, + "special-attack": 59, + "special-defense": 80, + "speed": 65 }, "abilities": { - "0": "Rattled" + "0": "Lingering Aroma", + "1": "Gluttony", + "H": "Thick Fat" }, - "heightm": 0.3, - "weightkg": 5, - "color": "Red", - "evos": [ - "Gholdengo" - ], + "heightm": 1, + "weightkg": 120, + "color": "Gray", + "prevo": "Lechonk", + "evoLevel": 18, "otherFormes": [ - "Gimmighoul-Roaming" + "Oinkologne-F" ], "formeOrder": [ - "Gimmighoul", - "Gimmighoul-Roaming" + "Oinkologne", + "Oinkologne-F" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "gimmighoulroaming": { - "num": 999, - "name": "gimmighoul-roaming", - "baseSpecies": "Gimmighoul", - "forme": "Roaming", + "oinkolognef": { + "num": 916, + "name": "oinkologne-f", + "baseSpecies": "Oinkologne", + "forme": "F", "types": [ - "ghost" + "normal" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 45, - "attack": 30, - "defense": 25, - "special-attack": 75, - "special-defense": 45, - "speed": 80 + "hp": 115, + "attack": 90, + "defense": 70, + "special-attack": 59, + "special-defense": 90, + "speed": 65 }, "abilities": { - "0": "Run Away" + "0": "Aroma Veil", + "1": "Gluttony", + "H": "Thick Fat" }, - "heightm": 0.1, - "weightkg": 0.1, - "color": "Gray", - "evos": [ - "Gholdengo" - ], + "heightm": 1, + "weightkg": 120, + "color": "Brown", + "prevo": "Lechonk", + "evoLevel": 18, "eggGroups": [ - "Undiscovered" + "Field" ] }, - "gholdengo": { - "num": 1000, - "name": "gholdengo", + "tarountula": { + "num": 917, + "name": "tarountula", "types": [ - "steel", - "ghost" + "bug" ], - "gender": "N", "baseStats": { - "hp": 87, - "attack": 60, - "defense": 95, - "special-attack": 133, - "special-defense": 91, - "speed": 84 + "hp": 35, + "attack": 41, + "defense": 45, + "special-attack": 29, + "special-defense": 40, + "speed": 20 }, "abilities": { - "0": "Good as Gold" + "0": "Insomnia", + "H": "Stakeout" }, - "heightm": 1.2, - "weightkg": 30, - "color": "Yellow", - "prevo": "Gimmighoul", - "evoType": "other", - "evoCondition": "Level up with 999 Coins in the bag", + "heightm": 0.3, + "weightkg": 4, + "color": "White", + "evos": [ + "Spidops" + ], "eggGroups": [ - "Undiscovered" + "Bug" ] }, - "wochien": { - "num": 1001, - "name": "wo-chien", + "spidops": { + "num": 918, + "name": "spidops", "types": [ - "dark", - "grass" + "bug" ], - "gender": "N", "baseStats": { - "hp": 85, - "attack": 85, - "defense": 100, - "special-attack": 95, - "special-defense": 135, - "speed": 70 + "hp": 60, + "attack": 79, + "defense": 92, + "special-attack": 52, + "special-defense": 86, + "speed": 35 }, "abilities": { - "0": "Tablets of Ruin" + "0": "Insomnia", + "H": "Stakeout" }, - "heightm": 1.5, - "weightkg": 74.2, - "color": "Brown", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1, + "weightkg": 16.5, + "color": "Green", + "prevo": "Tarountula", + "evoLevel": 15, "eggGroups": [ - "Undiscovered" + "Bug" ] }, - "chienpao": { - "num": 1002, - "name": "chien-pao", + "nymble": { + "num": 919, + "name": "nymble", "types": [ - "dark", - "ice" + "bug" ], - "gender": "N", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 80, - "special-attack": 90, - "special-defense": 65, - "speed": 135 + "hp": 33, + "attack": 46, + "defense": 40, + "special-attack": 21, + "special-defense": 25, + "speed": 45 }, "abilities": { - "0": "Sword of Ruin" + "0": "Swarm", + "H": "Tinted Lens" }, - "heightm": 1.9, - "weightkg": 152.2, - "color": "White", - "tags": [ - "Sub-Legendary" + "heightm": 0.2, + "weightkg": 1, + "color": "Gray", + "evos": [ + "Lokix" ], "eggGroups": [ - "Undiscovered" + "Bug" ] }, - "tinglu": { - "num": 1003, - "name": "ting-lu", + "lokix": { + "num": 920, + "name": "lokix", "types": [ - "dark", - "ground" + "bug", + "dark" ], - "gender": "N", "baseStats": { - "hp": 155, - "attack": 110, - "defense": 125, - "special-attack": 55, - "special-defense": 80, - "speed": 45 + "hp": 71, + "attack": 102, + "defense": 78, + "special-attack": 52, + "special-defense": 55, + "speed": 92 }, "abilities": { - "0": "Vessel of Ruin" + "0": "Swarm", + "H": "Tinted Lens" }, - "heightm": 2.7, - "weightkg": 699.7, - "color": "Brown", - "tags": [ - "Sub-Legendary" - ], + "heightm": 1, + "weightkg": 17.5, + "color": "Gray", + "prevo": "Nymble", + "evoLevel": 24, "eggGroups": [ - "Undiscovered" + "Bug" ] }, - "chiyu": { - "num": 1004, - "name": "chi-yu", + "pawmi": { + "num": 921, + "name": "pawmi", "types": [ - "dark", - "fire" + "electric" ], - "gender": "N", "baseStats": { - "hp": 55, - "attack": 80, - "defense": 80, - "special-attack": 135, - "special-defense": 120, - "speed": 100 + "hp": 45, + "attack": 50, + "defense": 20, + "special-attack": 40, + "special-defense": 25, + "speed": 60 }, "abilities": { - "0": "Beads of Ruin" + "0": "Static", + "1": "Natural Cure", + "H": "Iron Fist" }, - "heightm": 0.4, - "weightkg": 4.9, - "color": "Red", - "tags": [ - "Sub-Legendary" + "heightm": 0.3, + "weightkg": 2.5, + "color": "Yellow", + "evos": [ + "Pawmo" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "roaringmoon": { - "num": 1005, - "name": "roaring moon", + "pawmo": { + "num": 922, + "name": "pawmo", "types": [ - "dragon", - "dark" + "electric", + "fighting" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 139, - "defense": 71, - "special-attack": 55, - "special-defense": 101, - "speed": 119 + "hp": 60, + "attack": 75, + "defense": 40, + "special-attack": 50, + "special-defense": 40, + "speed": 85 }, "abilities": { - "0": "Protosynthesis" + "0": "Volt Absorb", + "1": "Natural Cure", + "H": "Iron Fist" }, - "heightm": 2, - "weightkg": 380, - "color": "Blue", - "tags": [ - "Paradox" + "heightm": 0.4, + "weightkg": 6.5, + "color": "Yellow", + "prevo": "Pawmi", + "evoLevel": 18, + "evos": [ + "Pawmot" ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "ironvaliant": { - "num": 1006, - "name": "iron valiant", + "pawmot": { + "num": 923, + "name": "pawmot", "types": [ - "fairy", + "electric", "fighting" ], - "gender": "N", "baseStats": { - "hp": 74, - "attack": 130, - "defense": 90, - "special-attack": 120, + "hp": 70, + "attack": 115, + "defense": 70, + "special-attack": 70, "special-defense": 60, - "speed": 116 + "speed": 105 }, "abilities": { - "0": "Quark Drive" + "0": "Volt Absorb", + "1": "Natural Cure", + "H": "Iron Fist" }, - "heightm": 1.4, - "weightkg": 35, - "color": "White", - "tags": [ - "Paradox" - ], + "heightm": 0.9, + "weightkg": 41, + "color": "Yellow", + "prevo": "Pawmo", + "evoType": "other", + "evoCondition": "walk 1000 steps in Let's Go", "eggGroups": [ - "Undiscovered" + "Field" ] }, - "koraidon": { - "num": 1007, - "name": "koraidon", + "tandemaus": { + "num": 924, + "name": "tandemaus", "types": [ - "fighting", - "dragon" + "normal" ], "gender": "N", "baseStats": { - "hp": 100, - "attack": 135, - "defense": 115, - "special-attack": 85, - "special-defense": 100, - "speed": 135 + "hp": 50, + "attack": 50, + "defense": 45, + "special-attack": 40, + "special-defense": 45, + "speed": 75 }, "abilities": { - "0": "Orichalcum Pulse" + "0": "Run Away", + "1": "Pickup", + "H": "Own Tempo" }, - "heightm": 2.5, - "weightkg": 303, - "color": "Red", - "tags": [ - "Restricted Legendary" + "heightm": 0.3, + "weightkg": 1.8, + "color": "White", + "evos": [ + "Maushold", + "Maushold-Four" ], "eggGroups": [ - "Undiscovered" + "Field", + "Fairy" ] }, - "miraidon": { - "num": 1008, - "name": "miraidon", + "maushold": { + "num": 925, + "name": "maushold", + "baseForme": "Three", "types": [ - "electric", - "dragon" + "normal" ], "gender": "N", "baseStats": { - "hp": 100, - "attack": 85, - "defense": 100, - "special-attack": 135, - "special-defense": 115, - "speed": 135 + "hp": 74, + "attack": 75, + "defense": 70, + "special-attack": 65, + "special-defense": 75, + "speed": 111 }, "abilities": { - "0": "Hadron Engine" + "0": "Friend Guard", + "1": "Cheek Pouch", + "H": "Technician" }, - "heightm": 3.5, - "weightkg": 240, - "color": "Purple", - "tags": [ - "Restricted Legendary" + "heightm": 0.3, + "weightkg": 2.3, + "color": "White", + "prevo": "Tandemaus", + "evoLevel": 25, + "otherFormes": [ + "Maushold-Four" + ], + "formeOrder": [ + "Maushold", + "Maushold-Four" ], "eggGroups": [ - "Undiscovered" + "Field", + "Fairy" ] }, - "walkingwake": { - "num": 1009, - "name": "walking wake", + "mausholdfour": { + "num": 925, + "name": "maushold-four", + "baseSpecies": "Maushold", + "forme": "Four", "types": [ - "water", - "dragon" + "normal" ], "gender": "N", "baseStats": { - "hp": 99, - "attack": 83, - "defense": 91, - "special-attack": 125, - "special-defense": 83, - "speed": 109 + "hp": 74, + "attack": 75, + "defense": 70, + "special-attack": 65, + "special-defense": 75, + "speed": 111 }, "abilities": { - "0": "Protosynthesis" + "0": "Friend Guard", + "1": "Cheek Pouch", + "H": "Technician" }, - "heightm": 3.5, - "weightkg": 280, - "color": "Blue", - "tags": [ - "Paradox" - ], + "heightm": 0.3, + "weightkg": 2.8, + "color": "White", + "prevo": "Tandemaus", + "evoLevel": 25, "eggGroups": [ - "Undiscovered" + "Field", + "Fairy" ] }, - "ironleaves": { - "num": 1010, - "name": "iron leaves", + "fidough": { + "num": 926, + "name": "fidough", "types": [ - "grass", - "psychic" + "fairy" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 130, - "defense": 88, - "special-attack": 70, - "special-defense": 108, - "speed": 104 + "hp": 37, + "attack": 55, + "defense": 70, + "special-attack": 30, + "special-defense": 55, + "speed": 65 }, "abilities": { - "0": "Quark Drive" + "0": "Own Tempo", + "H": "Klutz" }, - "heightm": 1.5, - "weightkg": 125, - "color": "Green", - "tags": [ - "Paradox" + "heightm": 0.3, + "weightkg": 10.9, + "color": "Yellow", + "evos": [ + "Dachsbun" ], "eggGroups": [ - "Undiscovered" + "Field", + "Mineral" ] }, - "dipplin": { - "num": 1011, - "name": "dipplin", + "dachsbun": { + "num": 927, + "name": "dachsbun", "types": [ - "grass", - "dragon" + "fairy" ], "baseStats": { - "hp": 80, + "hp": 57, "attack": 80, - "defense": 110, - "special-attack": 95, + "defense": 115, + "special-attack": 50, "special-defense": 80, - "speed": 40 + "speed": 95 }, "abilities": { - "0": "Supersweet Syrup", - "1": "Gluttony", - "H": "Sticky Hold" + "0": "Well-Baked Body", + "H": "Aroma Veil" }, - "heightm": 0.4, - "weightkg": 4.4, - "color": "Green", - "prevo": "Applin", - "evos": [ - "Hydrapple" - ], - "evoType": "useItem", - "evoItem": "Syrupy Apple", + "heightm": 0.5, + "weightkg": 14.9, + "color": "Brown", + "prevo": "Fidough", + "evoLevel": 26, "eggGroups": [ - "Grass", - "Dragon" + "Field", + "Mineral" ] }, - "poltchageist": { - "num": 1012, - "name": "poltchageist", - "baseForme": "Counterfeit", + "smoliv": { + "num": 928, + "name": "smoliv", "types": [ "grass", - "ghost" + "normal" ], - "gender": "N", "baseStats": { - "hp": 40, - "attack": 45, + "hp": 41, + "attack": 35, "defense": 45, - "special-attack": 74, - "special-defense": 54, - "speed": 50 + "special-attack": 58, + "special-defense": 51, + "speed": 30 }, "abilities": { - "0": "Hospitality", - "H": "Heatproof" + "0": "Early Bird", + "H": "Harvest" }, - "heightm": 0.1, - "weightkg": 1.1, + "heightm": 0.3, + "weightkg": 6.5, "color": "Green", "evos": [ - "Sinistcha" + "Dolliv" ], "eggGroups": [ - "Mineral", - "Amorphous" - ], - "otherFormes": [ - "Poltchageist-Artisan" - ], - "formeOrder": [ - "Poltchageist", - "Poltchageist-Artisan" + "Grass" ] }, - "poltchageistartisan": { - "num": 1012, - "name": "poltchageist-artisan", - "baseSpecies": "Poltchageist", - "forme": "Artisan", + "dolliv": { + "num": 929, + "name": "dolliv", "types": [ "grass", - "ghost" + "normal" ], - "gender": "N", "baseStats": { - "hp": 40, - "attack": 45, - "defense": 45, - "special-attack": 74, - "special-defense": 54, - "speed": 50 + "hp": 52, + "attack": 53, + "defense": 60, + "special-attack": 78, + "special-defense": 78, + "speed": 33 }, "abilities": { - "0": "Hospitality", - "H": "Heatproof" + "0": "Early Bird", + "H": "Harvest" }, - "heightm": 0.1, - "weightkg": 1.1, + "heightm": 0.6, + "weightkg": 11.9, "color": "Green", + "prevo": "Smoliv", + "evoLevel": 25, "evos": [ - "Sinistcha-Masterpiece" + "Arboliva" ], "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "sinistcha": { - "num": 1013, - "name": "sinistcha", - "baseForme": "Unremarkable", + "arboliva": { + "num": 930, + "name": "arboliva", "types": [ "grass", - "ghost" + "normal" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 60, - "defense": 106, - "special-attack": 121, - "special-defense": 80, - "speed": 70 + "hp": 78, + "attack": 69, + "defense": 90, + "special-attack": 125, + "special-defense": 109, + "speed": 39 }, "abilities": { - "0": "Hospitality", - "H": "Heatproof" + "0": "Seed Sower", + "H": "Harvest" }, - "heightm": 0.2, - "weightkg": 2.2, + "heightm": 1.4, + "weightkg": 48.2, "color": "Green", - "prevo": "Poltchageist", - "evoType": "useItem", - "evoItem": "Unremarkable Teacup", + "prevo": "Dolliv", + "evoLevel": 35, "eggGroups": [ - "Mineral", - "Amorphous" - ], - "otherFormes": [ - "Sinistcha-Masterpiece" - ], - "formeOrder": [ - "Sinistcha", - "Sinistcha-Masterpiece" + "Grass" ] }, - "sinistchamasterpiece": { - "num": 1013, - "name": "sinistcha-masterpiece", - "baseSpecies": "Sinistcha", - "forme": "Masterpiece", + "squawkabilly": { + "num": 931, + "name": "squawkabilly", + "baseForme": "Green", "types": [ - "grass", - "ghost" + "normal", + "flying" ], - "gender": "N", "baseStats": { - "hp": 71, - "attack": 60, - "defense": 106, - "special-attack": 121, - "special-defense": 80, - "speed": 70 + "hp": 82, + "attack": 96, + "defense": 51, + "special-attack": 45, + "special-defense": 51, + "speed": 92 }, "abilities": { - "0": "Hospitality", - "H": "Heatproof" + "0": "Intimidate", + "1": "Hustle", + "H": "Guts" }, - "heightm": 0.2, - "weightkg": 2.2, + "heightm": 0.6, + "weightkg": 2.4, "color": "Green", - "prevo": "Poltchageist-Artisan", - "evoType": "useItem", - "evoItem": "Masterpiece Teacup", - "eggGroups": [ - "Undiscovered" - ] - }, - "okidogi": { - "num": 1014, - "name": "okidogi", - "types": [ - "poison", - "fighting" + "otherFormes": [ + "Squawkabilly-Blue", + "Squawkabilly-Yellow", + "Squawkabilly-White" ], - "gender": "M", - "baseStats": { - "hp": 88, - "attack": 128, - "defense": 115, - "special-attack": 58, - "special-defense": 86, - "speed": 80 - }, - "abilities": { - "0": "Toxic Chain", - "H": "Guard Dog" - }, - "heightm": 1.8, - "weightkg": 92, - "color": "Black", - "tags": [ - "Sub-Legendary" + "formeOrder": [ + "Squawkabilly", + "Squawkabilly-Blue", + "Squawkabilly-Yellow", + "Squawkabilly-White" ], "eggGroups": [ - "Undiscovered" + "Flying" ] }, - "munkidori": { - "num": 1015, - "name": "munkidori", + "squawkabillyblue": { + "num": 931, + "name": "squawkabilly-blue", + "baseSpecies": "Squawkabilly", + "forme": "Blue", "types": [ - "poison", - "psychic" + "normal", + "flying" ], - "gender": "M", "baseStats": { - "hp": 88, - "attack": 75, - "defense": 66, - "special-attack": 130, - "special-defense": 90, - "speed": 106 + "hp": 82, + "attack": 96, + "defense": 51, + "special-attack": 45, + "special-defense": 51, + "speed": 92 }, "abilities": { - "0": "Toxic Chain", - "H": "Frisk" + "0": "Intimidate", + "1": "Hustle", + "H": "Guts" }, - "heightm": 1, - "weightkg": 12.2, - "color": "Black", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.6, + "weightkg": 2.4, + "color": "Blue", "eggGroups": [ - "Undiscovered" + "Flying" ] }, - "fezandipiti": { - "num": 1016, - "name": "fezandipiti", + "squawkabillyyellow": { + "num": 931, + "name": "squawkabilly-yellow", + "baseSpecies": "Squawkabilly", + "forme": "Yellow", "types": [ - "poison", - "fairy" + "normal", + "flying" ], - "gender": "M", "baseStats": { - "hp": 88, - "attack": 91, - "defense": 82, - "special-attack": 70, - "special-defense": 125, - "speed": 99 + "hp": 82, + "attack": 96, + "defense": 51, + "special-attack": 45, + "special-defense": 51, + "speed": 92 }, "abilities": { - "0": "Toxic Chain", - "H": "Technician" + "0": "Intimidate", + "1": "Hustle", + "H": "Sheer Force" }, - "heightm": 1.4, - "weightkg": 30.1, - "color": "Black", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.6, + "weightkg": 2.4, + "color": "Yellow", "eggGroups": [ - "Undiscovered" + "Flying" ] }, - "ogerpon": { - "num": 1017, - "name": "ogerpon", - "baseForme": "Teal", + "squawkabillywhite": { + "num": 931, + "name": "squawkabilly-white", + "baseSpecies": "Squawkabilly", + "forme": "White", "types": [ - "grass" + "normal", + "flying" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 82, + "attack": 96, + "defense": 51, + "special-attack": 45, + "special-defense": 51, + "speed": 92 }, "abilities": { - "0": "Defiant" + "0": "Intimidate", + "1": "Hustle", + "H": "Sheer Force" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Green", - "tags": [ - "Sub-Legendary" - ], + "heightm": 0.6, + "weightkg": 2.4, + "color": "White", "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" - ], - "forceTeraType": "Grass" + "Flying" + ] }, - "ogerponwellspring": { - "num": 1017, - "name": "ogerpon-wellspring", - "baseSpecies": "Ogerpon", - "forme": "Wellspring", + "nacli": { + "num": 932, + "name": "nacli", "types": [ - "grass", - "water" + "rock" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 55, + "attack": 55, + "defense": 75, + "special-attack": 35, + "special-defense": 35, + "speed": 25 }, "abilities": { - "0": "Water Absorb" + "0": "Purifying Salt", + "1": "Sturdy", + "H": "Clear Body" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Blue", - "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Wellspring Mask", - "changesFrom": "Ogerpon", - "forceTeraType": "Water" - }, - "ogerponhearthflame": { - "num": 1017, - "name": "ogerpon-hearthflame", - "baseSpecies": "Ogerpon", - "forme": "Hearthflame", - "types": [ - "grass", - "fire" + "heightm": 0.4, + "weightkg": 16, + "color": "Brown", + "evos": [ + "Naclstack" ], - "gender": "F", - "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 - }, - "abilities": { - "0": "Mold Breaker" - }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Red", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Hearthflame Mask", - "changesFrom": "Ogerpon", - "forceTeraType": "Fire" + "Mineral" + ] }, - "ogerponcornerstone": { - "num": 1017, - "name": "ogerpon-cornerstone", - "baseSpecies": "Ogerpon", - "forme": "Cornerstone", + "naclstack": { + "num": 933, + "name": "naclstack", "types": [ - "grass", "rock" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 60, + "attack": 60, + "defense": 100, + "special-attack": 35, + "special-defense": 65, + "speed": 35 }, "abilities": { - "0": "Sturdy" + "0": "Purifying Salt", + "1": "Sturdy", + "H": "Clear Body" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Gray", - "eggGroups": [ - "Undiscovered" + "heightm": 0.6, + "weightkg": 105, + "color": "Brown", + "prevo": "Nacli", + "evoLevel": 24, + "evos": [ + "Garganacl" ], - "requiredItem": "Cornerstone Mask", - "changesFrom": "Ogerpon", - "forceTeraType": "Rock" + "eggGroups": [ + "Mineral" + ] }, - "ogerpontealtera": { - "num": 1017, - "name": "ogerpon-teal-tera", - "baseSpecies": "Ogerpon", - "forme": "Teal-Tera", + "garganacl": { + "num": 934, + "name": "garganacl", "types": [ - "grass" + "rock" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 100, + "attack": 100, + "defense": 130, + "special-attack": 45, + "special-defense": 90, + "speed": 35 }, "abilities": { - "0": "Embody Aspect (Teal)" + "0": "Purifying Salt", + "1": "Sturdy", + "H": "Clear Body" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Green", + "heightm": 2.3, + "weightkg": 240, + "color": "Brown", + "prevo": "Naclstack", + "evoLevel": 38, "eggGroups": [ - "Undiscovered" - ], - "battleOnly": "Ogerpon", - "forceTeraType": "Grass" + "Mineral" + ] }, - "ogerponwellspringtera": { - "num": 1017, - "name": "ogerpon-wellspring-tera", - "baseSpecies": "Ogerpon", - "forme": "Wellspring-Tera", + "charcadet": { + "num": 935, + "name": "charcadet", "types": [ - "grass", - "water" + "fire" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 40, + "attack": 50, + "defense": 40, + "special-attack": 50, + "special-defense": 40, + "speed": 35 }, "abilities": { - "0": "Embody Aspect (Wellspring)" + "0": "Flash Fire", + "H": "Flame Body" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Blue", - "eggGroups": [ - "Undiscovered" + "heightm": 0.6, + "weightkg": 10.5, + "color": "Red", + "evos": [ + "Armarouge", + "Ceruledge" ], - "requiredItem": "Wellspring Mask", - "battleOnly": "Ogerpon-Wellspring", - "forceTeraType": "Water" + "eggGroups": [ + "Human-Like" + ] }, - "ogerponhearthflametera": { - "num": 1017, - "name": "ogerpon-hearthflame-tera", - "baseSpecies": "Ogerpon", - "forme": "Hearthflame-Tera", + "armarouge": { + "num": 936, + "name": "armarouge", "types": [ - "grass", - "fire" + "fire", + "psychic" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, - "special-attack": 60, - "special-defense": 96, - "speed": 110 + "hp": 85, + "attack": 60, + "defense": 100, + "special-attack": 125, + "special-defense": 80, + "speed": 75 }, "abilities": { - "0": "Embody Aspect (Hearthflame)" + "0": "Flash Fire", + "H": "Weak Armor" }, - "heightm": 1.2, - "weightkg": 39.8, + "heightm": 1.5, + "weightkg": 85, "color": "Red", + "prevo": "Charcadet", + "evoType": "useItem", + "evoItem": "Auspicious Armor", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Hearthflame Mask", - "battleOnly": "Ogerpon-Hearthflame", - "forceTeraType": "Fire" + "Human-Like" + ] }, - "ogerponcornerstonetera": { - "num": 1017, - "name": "ogerpon-cornerstone-tera", - "baseSpecies": "Ogerpon", - "forme": "Cornerstone-Tera", + "ceruledge": { + "num": 937, + "name": "ceruledge", "types": [ - "grass", - "rock" + "fire", + "ghost" ], - "gender": "F", "baseStats": { - "hp": 80, - "attack": 120, - "defense": 84, + "hp": 75, + "attack": 125, + "defense": 80, "special-attack": 60, - "special-defense": 96, - "speed": 110 + "special-defense": 100, + "speed": 85 }, "abilities": { - "0": "Embody Aspect (Cornerstone)" + "0": "Flash Fire", + "H": "Weak Armor" }, - "heightm": 1.2, - "weightkg": 39.8, - "color": "Gray", + "heightm": 1.6, + "weightkg": 62, + "color": "Purple", + "prevo": "Charcadet", + "evoType": "useItem", + "evoItem": "Malicious Armor", "eggGroups": [ - "Undiscovered" - ], - "requiredItem": "Cornerstone Mask", - "battleOnly": "Ogerpon-Cornerstone", - "forceTeraType": "Rock" + "Human-Like" + ] }, - "archaludon": { - "num": 1018, - "name": "archaludon", + "tadbulb": { + "num": 938, + "name": "tadbulb", "types": [ - "steel", - "dragon" + "electric" ], "baseStats": { - "hp": 90, - "attack": 105, - "defense": 130, - "special-attack": 125, - "special-defense": 65, - "speed": 85 + "hp": 61, + "attack": 31, + "defense": 41, + "special-attack": 59, + "special-defense": 35, + "speed": 45 }, "abilities": { - "0": "Stamina", - "1": "Sturdy", - "H": "Stalwart" + "0": "Own Tempo", + "1": "Static", + "H": "Damp" }, - "heightm": 2, - "weightkg": 60, - "color": "White", - "prevo": "Duraludon", - "evoType": "useItem", - "evoItem": "Metal Alloy", + "heightm": 0.3, + "weightkg": 0.4, + "color": "Yellow", + "evos": [ + "Bellibolt" + ], "eggGroups": [ - "Mineral", - "Dragon" + "Water 1" ] }, - "hydrapple": { - "num": 1019, - "name": "hydrapple", + "bellibolt": { + "num": 939, + "name": "bellibolt", "types": [ - "grass", - "dragon" + "electric" ], "baseStats": { - "hp": 106, - "attack": 80, - "defense": 110, - "special-attack": 120, - "special-defense": 80, - "speed": 44 + "hp": 109, + "attack": 64, + "defense": 91, + "special-attack": 103, + "special-defense": 83, + "speed": 45 }, "abilities": { - "0": "Supersweet Syrup", - "1": "Regenerator", - "H": "Sticky Hold" + "0": "Electromorphosis", + "1": "Static", + "H": "Damp" }, - "heightm": 1.8, - "weightkg": 93, + "heightm": 1.2, + "weightkg": 113, "color": "Green", - "prevo": "Dipplin", - "evoType": "levelMove", - "evoMove": "Dragon Cheer", + "prevo": "Tadbulb", + "evoType": "useItem", + "evoItem": "Thunder Stone", "eggGroups": [ - "Grass", - "Dragon" + "Water 1" ] }, - "gougingfire": { - "num": 1020, - "name": "gouging fire", + "wattrel": { + "num": 940, + "name": "wattrel", "types": [ - "fire", - "dragon" + "electric", + "flying" ], - "gender": "N", "baseStats": { - "hp": 105, - "attack": 115, - "defense": 121, - "special-attack": 65, - "special-defense": 93, - "speed": 91 + "hp": 40, + "attack": 40, + "defense": 35, + "special-attack": 55, + "special-defense": 40, + "speed": 70 }, "abilities": { - "0": "Protosynthesis" + "0": "Wind Power", + "1": "Volt Absorb", + "H": "Competitive" }, - "heightm": 3.5, - "weightkg": 590, - "color": "Brown", + "heightm": 0.4, + "weightkg": 3.6, + "color": "Black", + "evos": [ + "Kilowattrel" + ], "eggGroups": [ - "Undiscovered" + "Water 1", + "Flying" ] }, - "ragingbolt": { - "num": 1021, - "name": "raging bolt", + "kilowattrel": { + "num": 941, + "name": "kilowattrel", "types": [ "electric", - "dragon" + "flying" ], - "gender": "N", "baseStats": { - "hp": 125, - "attack": 73, - "defense": 91, - "special-attack": 137, - "special-defense": 89, - "speed": 75 + "hp": 70, + "attack": 70, + "defense": 60, + "special-attack": 105, + "special-defense": 60, + "speed": 125 }, "abilities": { - "0": "Protosynthesis" + "0": "Wind Power", + "1": "Volt Absorb", + "H": "Competitive" }, - "heightm": 5.2, - "weightkg": 480, + "heightm": 1.4, + "weightkg": 38.6, "color": "Yellow", + "prevo": "Wattrel", + "evoLevel": 25, "eggGroups": [ - "Undiscovered" + "Water 1", + "Flying" ] }, - "ironboulder": { - "num": 1022, - "name": "iron boulder", + "maschiff": { + "num": 942, + "name": "maschiff", "types": [ - "rock", - "psychic" + "dark" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 120, - "defense": 80, - "special-attack": 68, - "special-defense": 108, - "speed": 124 + "hp": 60, + "attack": 78, + "defense": 60, + "special-attack": 40, + "special-defense": 51, + "speed": 51 }, "abilities": { - "0": "Quark Drive" + "0": "Intimidate", + "1": "Run Away", + "H": "Stakeout" }, - "heightm": 1.5, - "weightkg": 162.5, - "color": "Gray", + "heightm": 0.5, + "weightkg": 16, + "color": "Brown", + "evos": [ + "Mabosstiff" + ], "eggGroups": [ - "Undiscovered" + "Field" ] }, - "ironcrown": { - "num": 1023, - "name": "iron crown", + "mabosstiff": { + "num": 943, + "name": "mabosstiff", "types": [ - "steel", - "psychic" + "dark" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 72, - "defense": 100, - "special-attack": 122, - "special-defense": 108, - "speed": 98 + "hp": 80, + "attack": 120, + "defense": 90, + "special-attack": 60, + "special-defense": 70, + "speed": 85 }, "abilities": { - "0": "Quark Drive" + "0": "Intimidate", + "1": "Guard Dog", + "H": "Stakeout" }, - "heightm": 1.6, - "weightkg": 156, - "color": "Blue", + "heightm": 1.1, + "weightkg": 61, + "color": "Gray", + "prevo": "Maschiff", + "evoLevel": 30, "eggGroups": [ - "Undiscovered" + "Field" ] }, - "terapagos": { - "num": 1024, - "name": "terapagos", + "shroodle": { + "num": 944, + "name": "shroodle", "types": [ + "poison", "normal" ], "baseStats": { - "hp": 90, + "hp": 40, "attack": 65, - "defense": 85, - "special-attack": 65, - "special-defense": 85, - "speed": 60 + "defense": 35, + "special-attack": 40, + "special-defense": 35, + "speed": 75 }, "abilities": { - "0": "Tera Shift" + "0": "Unburden", + "1": "Pickpocket", + "H": "Prankster" }, "heightm": 0.2, - "weightkg": 6.5, - "color": "Blue", - "tags": [ - "Restricted Legendary" + "weightkg": 0.7, + "color": "Gray", + "evos": [ + "Grafaiai" ], "eggGroups": [ - "Undiscovered" - ], - "otherFormes": [ - "Terapagos-Terastal", - "Terapagos-Stellar" - ], - "formeOrder": [ - "Terapagos", - "Terapagos-Terastal", - "Terapagos-Stellar" - ], - "forceTeraType": "Stellar" + "Field" + ] }, - "terapagosterastal": { - "num": 1024, - "name": "terapagos-terastal", - "baseSpecies": "Terapagos", - "forme": "Terastal", + "grafaiai": { + "num": 945, + "name": "grafaiai", "types": [ + "poison", "normal" ], "baseStats": { - "hp": 95, + "hp": 63, "attack": 95, - "defense": 110, - "special-attack": 105, - "special-defense": 110, - "speed": 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, - "attack": 105, - "defense": 110, - "special-attack": 130, - "special-defense": 110, - "speed": 85 + "defense": 65, + "special-attack": 80, + "special-defense": 72, + "speed": 110 }, "abilities": { - "0": "Teraform Zero" + "0": "Unburden", + "1": "Poison Touch", + "H": "Prankster" }, - "heightm": 1.7, - "weightkg": 77, - "color": "Blue", + "heightm": 0.7, + "weightkg": 27.2, + "color": "Gray", + "prevo": "Shroodle", + "evoLevel": 28, "eggGroups": [ - "Undiscovered" - ], - "battleOnly": "Terapagos", - "forceTeraType": "Stellar" + "Field" + ] }, - "pecharunt": { - "num": 1025, - "name": "pecharunt", + "bramblin": { + "num": 946, + "name": "bramblin", "types": [ - "poison", + "grass", "ghost" ], - "gender": "N", "baseStats": { - "hp": 88, - "attack": 88, - "defense": 160, - "special-attack": 88, - "special-defense": 88, - "speed": 88 + "hp": 40, + "attack": 65, + "defense": 30, + "special-attack": 45, + "special-defense": 35, + "speed": 60 }, "abilities": { - "0": "Poison Puppeteer" + "0": "Wind Rider", + "H": "Infiltrator" }, - "heightm": 0.3, - "weightkg": 0.3, - "color": "Purple", - "tags": [ - "Mythical" + "heightm": 0.6, + "weightkg": 0.6, + "color": "Brown", + "evos": [ + "Brambleghast" ], "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "missingno": { - "num": 0, - "name": "missingno.", + "brambleghast": { + "num": 947, + "name": "brambleghast", "types": [ - "bird", - "normal" + "grass", + "ghost" ], "baseStats": { - "hp": 33, - "attack": 136, - "defense": 0, - "special-attack": 6, - "special-defense": 6, - "speed": 29 + "hp": 55, + "attack": 115, + "defense": 70, + "special-attack": 80, + "special-defense": 70, + "speed": 90 }, "abilities": { - "0": "" + "0": "Wind Rider", + "H": "Infiltrator" }, - "heightm": 3, - "weightkg": 1590.8, - "color": "Gray", + "heightm": 1.2, + "weightkg": 6, + "color": "Brown", + "prevo": "Bramblin", + "evoType": "other", + "evoCondition": "Walk 1000 steps in Let's Go", "eggGroups": [ - "Undiscovered" + "Grass" ] }, - "syclar": { - "num": -1, - "name": "syclar", + "toedscool": { + "num": 948, + "name": "toedscool", "types": [ - "ice", - "bug" + "ground", + "grass" ], "baseStats": { "hp": 40, - "attack": 76, - "defense": 45, - "special-attack": 74, - "special-defense": 39, - "speed": 91 + "attack": 40, + "defense": 35, + "special-attack": 50, + "special-defense": 100, + "speed": 70 }, "abilities": { - "0": "Compound Eyes", - "1": "Snow Cloak", - "H": "Ice Body" + "0": "Mycelium Might" }, - "heightm": 0.2, - "weightkg": 4, - "color": "Blue", + "heightm": 0.9, + "weightkg": 33, + "color": "Yellow", "evos": [ - "Syclant" + "Toedscruel" ], "eggGroups": [ - "Bug" - ], - "gen": 4 + "Field" + ] }, - "syclant": { - "num": -2, - "name": "syclant", + "toedscruel": { + "num": 949, + "name": "toedscruel", "types": [ - "ice", - "bug" + "ground", + "grass" ], "baseStats": { - "hp": 70, - "attack": 116, - "defense": 70, - "special-attack": 114, - "special-defense": 64, - "speed": 121 + "hp": 80, + "attack": 70, + "defense": 65, + "special-attack": 80, + "special-defense": 120, + "speed": 100 }, "abilities": { - "0": "Compound Eyes", - "1": "Mountaineer", - "H": "Ice Body" + "0": "Mycelium Might" }, - "heightm": 1.7, - "weightkg": 52, - "color": "Blue", - "prevo": "Syclar", + "heightm": 1.9, + "weightkg": 58, + "color": "Black", + "prevo": "Toedscool", "evoLevel": 30, "eggGroups": [ - "Bug" - ], - "gen": 4 + "Field" + ] }, - "revenankh": { - "num": -3, - "name": "revenankh", + "klawf": { + "num": 950, + "name": "klawf", "types": [ - "ghost", - "fighting" + "rock" ], "baseStats": { - "hp": 90, - "attack": 105, - "defense": 90, - "special-attack": 65, - "special-defense": 110, - "speed": 65 + "hp": 70, + "attack": 100, + "defense": 115, + "special-attack": 35, + "special-defense": 55, + "speed": 75 }, "abilities": { - "0": "Air Lock", - "1": "Triage", - "H": "Shed Skin" + "0": "Anger Shell", + "1": "Shell Armor", + "H": "Regenerator" }, - "heightm": 1.8, - "weightkg": 44, - "color": "White", + "heightm": 1.3, + "weightkg": 79, + "color": "Red", "eggGroups": [ - "Amorphous", - "Human-Like" - ], - "gen": 4 + "Water 3" + ] }, - "embirch": { - "num": -4, - "name": "embirch", + "capsakid": { + "num": 951, + "name": "capsakid", "types": [ - "fire", "grass" ], "baseStats": { - "hp": 60, - "attack": 40, - "defense": 55, - "special-attack": 65, + "hp": 50, + "attack": 62, + "defense": 40, + "special-attack": 62, "special-defense": 40, - "speed": 60 + "speed": 50 }, "abilities": { - "0": "Reckless", - "1": "Leaf Guard", - "H": "Chlorophyll" + "0": "Chlorophyll", + "1": "Insomnia", + "H": "Klutz" }, - "heightm": 0.6, - "weightkg": 15, - "color": "Brown", + "heightm": 0.3, + "weightkg": 3, + "color": "Green", "evos": [ - "Flarelm" + "Scovillain" ], "eggGroups": [ - "Monster", - "Dragon" + "Grass" + ] + }, + "scovillain": { + "num": 952, + "name": "scovillain", + "types": [ + "grass", + "fire" ], - "gen": 4 + "baseStats": { + "hp": 65, + "attack": 108, + "defense": 65, + "special-attack": 108, + "special-defense": 65, + "speed": 75 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Insomnia", + "H": "Moody" + }, + "heightm": 0.9, + "weightkg": 15, + "color": "Green", + "prevo": "Capsakid", + "evoType": "useItem", + "evoItem": "Fire Stone", + "eggGroups": [ + "Grass" + ] }, - "flarelm": { - "num": -5, - "name": "flarelm", + "rellor": { + "num": 953, + "name": "rellor", "types": [ - "fire", - "grass" + "bug" ], "baseStats": { - "hp": 90, + "hp": 41, "attack": 50, - "defense": 95, - "special-attack": 75, - "special-defense": 70, - "speed": 40 + "defense": 60, + "special-attack": 31, + "special-defense": 58, + "speed": 30 }, "abilities": { - "0": "Rock Head", - "1": "Battle Armor", - "H": "White Smoke" + "0": "Compound Eyes", + "H": "Shed Skin" }, - "heightm": 1.4, - "weightkg": 73, + "heightm": 0.2, + "weightkg": 1, "color": "Brown", - "prevo": "Embirch", - "evoLevel": 24, "evos": [ - "Pyroak" + "Rabsca" ], "eggGroups": [ - "Monster", - "Dragon" - ], - "gen": 4 + "Bug" + ] }, - "pyroak": { - "num": -6, - "name": "pyroak", + "rabsca": { + "num": 954, + "name": "rabsca", "types": [ - "fire", - "grass" + "bug", + "psychic" ], "baseStats": { - "hp": 120, - "attack": 70, - "defense": 105, - "special-attack": 70, - "special-defense": 65, - "speed": 60 + "hp": 75, + "attack": 50, + "defense": 85, + "special-attack": 115, + "special-defense": 100, + "speed": 45 }, "abilities": { - "0": "Rock Head", - "1": "Battle Armor", - "H": "Contrary" + "0": "Synchronize", + "H": "Telepathy" }, - "heightm": 2.1, - "weightkg": 168, - "color": "Brown", - "prevo": "Flarelm", - "evoLevel": 38, + "heightm": 0.3, + "weightkg": 3.5, + "color": "Green", + "prevo": "Rellor", + "evoType": "other", + "evoCondition": "walk 1000 steps in Let's Go", "eggGroups": [ - "Monster", - "Dragon" - ], - "gen": 4 + "Bug" + ] }, - "breezi": { - "num": -7, - "name": "breezi", + "flittle": { + "num": 955, + "name": "flittle", "types": [ - "poison", - "flying" + "psychic" ], "baseStats": { - "hp": 50, - "attack": 46, - "defense": 69, - "special-attack": 60, - "special-defense": 50, + "hp": 30, + "attack": 35, + "defense": 30, + "special-attack": 55, + "special-defense": 30, "speed": 75 }, "abilities": { - "0": "Unburden", - "1": "Own Tempo", - "H": "Frisk" + "0": "Anticipation", + "1": "Frisk", + "H": "Speed Boost" }, - "heightm": 0.4, - "weightkg": 0.6, - "color": "Purple", + "heightm": 0.2, + "weightkg": 1.5, + "color": "Yellow", "evos": [ - "Fidgit" + "Espathra" ], "eggGroups": [ - "Field" - ], - "gen": 4 + "Flying" + ] }, - "fidgit": { - "num": -8, - "name": "fidgit", + "espathra": { + "num": 956, + "name": "espathra", "types": [ - "poison", - "ground" + "psychic" ], "baseStats": { "hp": 95, - "attack": 76, - "defense": 109, - "special-attack": 90, - "special-defense": 80, + "attack": 60, + "defense": 60, + "special-attack": 101, + "special-defense": 60, "speed": 105 }, "abilities": { - "0": "Persistent", - "1": "Vital Spirit", - "H": "Frisk" + "0": "Opportunist", + "1": "Frisk", + "H": "Speed Boost" }, - "heightm": 0.9, - "weightkg": 53, - "color": "Purple", - "prevo": "Breezi", - "evoLevel": 33, + "heightm": 1.9, + "weightkg": 90, + "color": "Yellow", + "prevo": "Flittle", + "evoLevel": 35, "eggGroups": [ - "Field" + "Flying" + ] + }, + "tinkatink": { + "num": 957, + "name": "tinkatink", + "types": [ + "fairy", + "steel" ], - "gen": 4 + "gender": "F", + "baseStats": { + "hp": 50, + "attack": 45, + "defense": 45, + "special-attack": 35, + "special-defense": 64, + "speed": 58 + }, + "abilities": { + "0": "Mold Breaker", + "1": "Own Tempo", + "H": "Pickpocket" + }, + "heightm": 0.4, + "weightkg": 8.9, + "color": "Pink", + "evos": [ + "Tinkatuff" + ], + "eggGroups": [ + "Fairy" + ] }, - "rebble": { - "num": -9, - "name": "rebble", + "tinkatuff": { + "num": 958, + "name": "tinkatuff", "types": [ - "rock" + "fairy", + "steel" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 45, - "attack": 25, - "defense": 65, - "special-attack": 75, - "special-defense": 55, - "speed": 80 + "hp": 65, + "attack": 55, + "defense": 55, + "special-attack": 45, + "special-defense": 82, + "speed": 78 }, "abilities": { - "0": "Levitate", - "1": "Solid Rock", - "H": "Sniper" + "0": "Mold Breaker", + "1": "Own Tempo", + "H": "Pickpocket" }, - "heightm": 0.3, - "weightkg": 7, - "color": "Gray", + "heightm": 0.7, + "weightkg": 59.1, + "color": "Pink", + "prevo": "Tinkatink", + "evoLevel": 24, "evos": [ - "Tactite" + "Tinkaton" ], "eggGroups": [ - "Mineral" + "Fairy" + ] + }, + "tinkaton": { + "num": 959, + "name": "tinkaton", + "types": [ + "fairy", + "steel" ], - "gen": 4 + "gender": "F", + "baseStats": { + "hp": 85, + "attack": 75, + "defense": 77, + "special-attack": 70, + "special-defense": 105, + "speed": 94 + }, + "abilities": { + "0": "Mold Breaker", + "1": "Own Tempo", + "H": "Pickpocket" + }, + "heightm": 0.7, + "weightkg": 112.8, + "color": "Pink", + "prevo": "Tinkatuff", + "evoLevel": 38, + "eggGroups": [ + "Fairy" + ] }, - "tactite": { - "num": -10, - "name": "tactite", + "wiglett": { + "num": 960, + "name": "wiglett", "types": [ - "rock" + "water" ], - "gender": "N", "baseStats": { - "hp": 70, - "attack": 40, - "defense": 65, - "special-attack": 100, - "special-defense": 65, + "hp": 10, + "attack": 55, + "defense": 25, + "special-attack": 35, + "special-defense": 25, "speed": 95 }, "abilities": { - "0": "Levitate", - "1": "Technician", - "H": "Sniper" + "0": "Gooey", + "1": "Rattled", + "H": "Sand Veil" }, - "heightm": 0.6, - "weightkg": 16, - "color": "Gray", - "prevo": "Rebble", - "evoLevel": 28, + "heightm": 1.2, + "weightkg": 1.8, + "color": "White", "evos": [ - "Stratagem" + "Wugtrio" ], "eggGroups": [ - "Mineral" - ], - "gen": 4 + "Water 3" + ] }, - "stratagem": { - "num": -11, - "name": "stratagem", + "wugtrio": { + "num": 961, + "name": "wugtrio", "types": [ - "rock" + "water" ], - "gender": "N", "baseStats": { - "hp": 90, - "attack": 60, - "defense": 65, - "special-attack": 120, + "hp": 35, + "attack": 100, + "defense": 50, + "special-attack": 50, "special-defense": 70, - "speed": 130 + "speed": 120 }, "abilities": { - "0": "Levitate", - "1": "Technician", - "H": "Sniper" + "0": "Gooey", + "1": "Rattled", + "H": "Sand Veil" }, - "heightm": 0.9, - "weightkg": 45, - "color": "Gray", - "prevo": "Tactite", - "evoType": "trade", + "heightm": 1.2, + "weightkg": 5.4, + "color": "Red", + "prevo": "Wiglett", + "evoLevel": 26, "eggGroups": [ - "Mineral" - ], - "gen": 4 + "Water 3" + ] }, - "privatyke": { - "num": -12, - "name": "privatyke", + "bombirdier": { + "num": 962, + "name": "bombirdier", "types": [ - "water", - "fighting" + "flying", + "dark" ], "baseStats": { - "hp": 65, - "attack": 75, - "defense": 65, - "special-attack": 40, - "special-defense": 60, - "speed": 45 + "hp": 70, + "attack": 103, + "defense": 85, + "special-attack": 60, + "special-defense": 85, + "speed": 82 }, "abilities": { - "0": "Unaware", - "H": "Technician" + "0": "Big Pecks", + "1": "Keen Eye", + "H": "Rocky Payload" }, - "heightm": 1, - "weightkg": 35, - "color": "Green", - "evos": [ - "Arghonaut" - ], + "heightm": 1.5, + "weightkg": 42.9, + "color": "White", "eggGroups": [ - "Water 1", - "Water 3" - ], - "gen": 4 + "Flying" + ] }, - "arghonaut": { - "num": -13, - "name": "arghonaut", + "finizen": { + "num": 963, + "name": "finizen", "types": [ - "water", - "fighting" + "water" ], "baseStats": { - "hp": 105, - "attack": 110, - "defense": 95, - "special-attack": 70, - "special-defense": 100, + "hp": 70, + "attack": 45, + "defense": 40, + "special-attack": 45, + "special-defense": 40, "speed": 75 }, "abilities": { - "0": "Unaware", - "H": "Technician" + "0": "Water Veil" }, - "heightm": 1.7, - "weightkg": 151, - "color": "Green", - "prevo": "Privatyke", - "evoLevel": 37, - "eggGroups": [ - "Water 1", - "Water 3" + "heightm": 1.3, + "weightkg": 60.2, + "color": "Blue", + "evos": [ + "Palafin" ], - "gen": 4 + "eggGroups": [ + "Field", + "Water 2" + ] }, - "kitsunoh": { - "num": -14, - "name": "kitsunoh", + "palafin": { + "num": 964, + "name": "palafin", + "baseForme": "Zero", "types": [ - "ghost", - "steel" + "water" ], "baseStats": { - "hp": 80, - "attack": 117, - "defense": 85, - "special-attack": 55, - "special-defense": 80, - "speed": 128 + "hp": 100, + "attack": 70, + "defense": 72, + "special-attack": 53, + "special-defense": 62, + "speed": 100 }, "abilities": { - "0": "Frisk", - "1": "Limber", - "H": "Trace" + "0": "Zero to Hero" }, - "heightm": 1.1, - "weightkg": 51, - "color": "Gray", - "prevo": "Nohface", - "evoType": "trade", - "evoItem": "Metal Coat", - "eggGroups": [ - "Field" + "heightm": 1.3, + "weightkg": 60.2, + "color": "Blue", + "prevo": "Finizen", + "evoLevel": 38, + "otherFormes": [ + "Palafin-Hero" ], - "gen": 4 + "formeOrder": [ + "Palafin", + "Palafin-Hero" + ], + "eggGroups": [ + "Field", + "Water 2" + ] }, - "cyclohm": { - "num": -15, - "name": "cyclohm", + "palafinhero": { + "num": 964, + "name": "palafin-hero", + "baseSpecies": "Palafin", + "forme": "Hero", "types": [ - "electric", - "dragon" + "water" ], "baseStats": { - "hp": 108, - "attack": 60, - "defense": 118, - "special-attack": 112, - "special-defense": 70, - "speed": 80 + "hp": 100, + "attack": 160, + "defense": 97, + "special-attack": 106, + "special-defense": 87, + "speed": 100 }, "abilities": { - "0": "Shield Dust", - "1": "Static", - "H": "Damp" + "0": "Zero to Hero" }, - "heightm": 1.6, - "weightkg": 59, - "color": "Yellow", - "prevo": "Duohm", - "evoLevel": 43, + "heightm": 1.8, + "weightkg": 97.4, + "color": "Blue", "eggGroups": [ - "Dragon", - "Monster" + "Field", + "Water 2" ], - "gen": 4 + "requiredAbility": "Zero to Hero", + "battleOnly": "Palafin" }, - "colossoil": { - "num": -16, - "name": "colossoil", + "varoom": { + "num": 965, + "name": "varoom", "types": [ - "ground", - "dark" + "steel", + "poison" ], "baseStats": { - "hp": 133, - "attack": 122, - "defense": 72, - "special-attack": 71, - "special-defense": 72, - "speed": 95 + "hp": 45, + "attack": 70, + "defense": 63, + "special-attack": 30, + "special-defense": 45, + "speed": 47 }, "abilities": { - "0": "Rebound", - "1": "Guts", - "H": "Unnerve" + "0": "Overcoat", + "H": "Slow Start" }, - "heightm": 2.6, - "weightkg": 683.6, - "color": "Brown", - "prevo": "Dorsoil", - "evoLevel": 39, - "eggGroups": [ - "Water 2", - "Field" + "heightm": 1, + "weightkg": 35, + "color": "Gray", + "evos": [ + "Revavroom" ], - "gen": 4 + "eggGroups": [ + "Mineral" + ] }, - "krilowatt": { - "num": -17, - "name": "krilowatt", + "revavroom": { + "num": 966, + "name": "revavroom", "types": [ - "electric", - "water" + "steel", + "poison" ], "baseStats": { - "hp": 151, - "attack": 84, - "defense": 73, - "special-attack": 83, - "special-defense": 74, - "speed": 105 + "hp": 80, + "attack": 119, + "defense": 90, + "special-attack": 54, + "special-defense": 67, + "speed": 90 }, "abilities": { - "0": "Trace", - "1": "Magic Guard", - "H": "Minus" + "0": "Overcoat", + "H": "Filter" }, - "heightm": 0.7, - "weightkg": 10.6, - "color": "Red", - "prevo": "Protowatt", - "evoLevel": 15, + "heightm": 1.8, + "weightkg": 120, + "color": "Gray", + "prevo": "Varoom", + "evoLevel": 40, "eggGroups": [ - "Water 1", - "Fairy" - ], - "gen": 4 + "Mineral" + ] }, - "voodoll": { - "num": -18, - "name": "voodoll", + "cyclizar": { + "num": 967, + "name": "cyclizar", "types": [ - "normal", - "dark" + "dragon", + "normal" ], "baseStats": { - "hp": 55, - "attack": 40, - "defense": 55, - "special-attack": 75, - "special-defense": 50, - "speed": 70 + "hp": 70, + "attack": 95, + "defense": 65, + "special-attack": 85, + "special-defense": 65, + "speed": 121 }, "abilities": { - "0": "Volt Absorb", - "1": "Lightning Rod", - "H": "Cursed Body" + "0": "Shed Skin", + "H": "Regenerator" }, - "heightm": 1, - "weightkg": 25, - "color": "Brown", - "evos": [ - "Voodoom" - ], + "heightm": 1.6, + "weightkg": 63, + "color": "Green", "eggGroups": [ - "Human-Like", "Field" - ], - "gen": 4 + ] }, - "voodoom": { - "num": -19, - "name": "voodoom", + "orthworm": { + "num": 968, + "name": "orthworm", "types": [ - "fighting", - "dark" + "steel" ], "baseStats": { - "hp": 90, + "hp": 70, "attack": 85, - "defense": 80, - "special-attack": 130, - "special-defense": 80, - "speed": 110 + "defense": 145, + "special-attack": 60, + "special-defense": 55, + "speed": 65 }, "abilities": { - "0": "Volt Absorb", - "1": "Lightning Rod", - "H": "Cursed Body" + "0": "Earth Eater", + "H": "Sand Veil" }, - "heightm": 2, - "weightkg": 75.5, - "color": "Brown", - "prevo": "Voodoll", - "evoLevel": 32, + "heightm": 2.5, + "weightkg": 310, + "color": "Pink", "eggGroups": [ - "Human-Like", "Field" - ], - "gen": 4 + ] }, - "scratchet": { - "num": -20, - "name": "scratchet", + "glimmet": { + "num": 969, + "name": "glimmet", "types": [ - "normal", - "fighting" + "rock", + "poison" ], "baseStats": { - "hp": 55, - "attack": 85, - "defense": 80, - "special-attack": 20, - "special-defense": 70, - "speed": 40 + "hp": 48, + "attack": 35, + "defense": 42, + "special-attack": 105, + "special-defense": 60, + "speed": 60 }, "abilities": { - "0": "Scrappy", - "1": "Prankster", - "H": "Vital Spirit" + "0": "Toxic Debris", + "H": "Corrosion" }, - "heightm": 0.5, - "weightkg": 20, - "color": "Brown", + "heightm": 0.7, + "weightkg": 8, + "color": "Blue", "evos": [ - "Tomohawk" + "Glimmora" ], "eggGroups": [ - "Field", - "Flying" - ], - "gen": 5 + "Mineral" + ] }, - "tomohawk": { - "num": -21, - "name": "tomohawk", + "glimmora": { + "num": 970, + "name": "glimmora", "types": [ - "flying", - "fighting" + "rock", + "poison" ], "baseStats": { - "hp": 105, - "attack": 60, + "hp": 83, + "attack": 55, "defense": 90, - "special-attack": 115, - "special-defense": 80, - "speed": 85 + "special-attack": 130, + "special-defense": 81, + "speed": 86 }, "abilities": { - "0": "Intimidate", - "1": "Prankster", - "H": "Justified" + "0": "Toxic Debris", + "H": "Corrosion" }, - "heightm": 1.27, - "weightkg": 37.2, - "color": "Red", - "prevo": "Scratchet", - "evoLevel": 23, + "heightm": 1.5, + "weightkg": 45, + "color": "Blue", + "prevo": "Glimmet", + "evoLevel": 35, "eggGroups": [ - "Field", - "Flying" - ], - "gen": 5 + "Mineral" + ] }, - "necturine": { - "num": -22, - "name": "necturine", + "greavard": { + "num": 971, + "name": "greavard", "types": [ - "grass", "ghost" ], - "gender": "F", "baseStats": { - "hp": 49, - "attack": 55, + "hp": 50, + "attack": 61, "defense": 60, - "special-attack": 50, - "special-defense": 75, - "speed": 51 + "special-attack": 30, + "special-defense": 55, + "speed": 34 }, "abilities": { - "0": "Anticipation", - "H": "Telepathy" + "0": "Pickup", + "H": "Fluffy" }, - "heightm": 0.3, - "weightkg": 1.8, + "heightm": 0.6, + "weightkg": 35, "color": "White", "evos": [ - "Necturna" + "Houndstone" ], "eggGroups": [ - "Grass", "Field" - ], - "gen": 5 + ] }, - "necturna": { - "num": -23, - "name": "necturna", + "houndstone": { + "num": 972, + "name": "houndstone", "types": [ - "grass", "ghost" ], - "gender": "F", "baseStats": { - "hp": 64, - "attack": 120, + "hp": 72, + "attack": 101, "defense": 100, - "special-attack": 85, - "special-defense": 120, - "speed": 58 - }, - "abilities": { - "0": "Forewarn", - "H": "Telepathy" - }, - "heightm": 1.65, - "weightkg": 49.6, - "color": "Black", - "prevo": "Necturine", - "evoLevel": 31, - "eggGroups": [ - "Grass", - "Field" - ], - "gen": 5 - }, - "mollux": { - "num": -24, - "name": "mollux", - "types": [ - "fire", - "poison" - ], - "baseStats": { - "hp": 95, - "attack": 45, - "defense": 83, - "special-attack": 131, - "special-defense": 105, - "speed": 76 + "special-attack": 50, + "special-defense": 97, + "speed": 68 }, "abilities": { - "0": "Dry Skin", - "H": "Illuminate" + "0": "Sand Rush", + "H": "Fluffy" }, - "heightm": 1.2, - "weightkg": 41, - "color": "Pink", + "heightm": 2, + "weightkg": 15, + "color": "White", + "prevo": "Greavard", + "evoLevel": 30, + "evoCondition": "at night", "eggGroups": [ - "Fairy", "Field" - ], - "gen": 5 + ] }, - "cupra": { - "num": -25, - "name": "cupra", + "flamigo": { + "num": 973, + "name": "flamigo", "types": [ - "bug", - "psychic" + "flying", + "fighting" ], "baseStats": { - "hp": 50, - "attack": 60, - "defense": 49, - "special-attack": 67, - "special-defense": 30, - "speed": 44 + "hp": 82, + "attack": 115, + "defense": 74, + "special-attack": 75, + "special-defense": 64, + "speed": 90 }, "abilities": { - "0": "Shield Dust", - "1": "Keen Eye", - "H": "Magic Guard" - }, - "heightm": 0.5, - "weightkg": 4.8, - "color": "Brown", - "evos": [ - "Argalis" - ], + "0": "Scrappy", + "1": "Tangled Feet", + "H": "Costar" + }, + "heightm": 1.6, + "weightkg": 37, + "color": "Pink", "eggGroups": [ - "Bug" - ], - "gen": 5 + "Flying" + ] }, - "argalis": { - "num": -26, - "name": "argalis", + "cetoddle": { + "num": 974, + "name": "cetoddle", "types": [ - "bug", - "psychic" + "ice" ], "baseStats": { - "hp": 60, - "attack": 90, - "defense": 89, - "special-attack": 87, + "hp": 108, + "attack": 68, + "defense": 45, + "special-attack": 30, "special-defense": 40, - "speed": 54 + "speed": 43 }, "abilities": { - "0": "Shed Skin", - "1": "Compound Eyes", - "H": "Overcoat" + "0": "Thick Fat", + "1": "Snow Cloak", + "H": "Sheer Force" }, - "heightm": 1.3, - "weightkg": 341.4, - "color": "Gray", - "prevo": "Cupra", - "evoLevel": 30, + "heightm": 1.2, + "weightkg": 45, + "color": "White", "evos": [ - "Aurumoth" + "Cetitan" ], "eggGroups": [ - "Bug" - ], - "gen": 5 + "Field" + ] }, - "aurumoth": { - "num": -27, - "name": "aurumoth", + "cetitan": { + "num": 975, + "name": "cetitan", "types": [ - "bug", - "psychic" + "ice" ], "baseStats": { - "hp": 110, - "attack": 120, - "defense": 99, - "special-attack": 117, - "special-defense": 60, - "speed": 94 + "hp": 170, + "attack": 113, + "defense": 65, + "special-attack": 45, + "special-defense": 55, + "speed": 73 }, "abilities": { - "0": "Weak Armor", - "1": "No Guard", - "H": "Light Metal" + "0": "Thick Fat", + "1": "Slush Rush", + "H": "Sheer Force" }, - "heightm": 2.1, - "weightkg": 193, - "color": "Purple", - "prevo": "Argalis", - "evoLevel": 50, + "heightm": 4.5, + "weightkg": 700, + "color": "White", + "prevo": "Cetoddle", + "evoType": "useItem", + "evoItem": "Ice Stone", "eggGroups": [ - "Bug" - ], - "gen": 5 + "Field" + ] }, - "brattler": { - "num": -28, - "name": "brattler", + "veluza": { + "num": 976, + "name": "veluza", "types": [ - "dark", - "grass" + "water", + "psychic" ], "baseStats": { - "hp": 80, - "attack": 70, - "defense": 40, - "special-attack": 20, - "special-defense": 90, - "speed": 30 + "hp": 90, + "attack": 102, + "defense": 73, + "special-attack": 78, + "special-defense": 65, + "speed": 70 }, "abilities": { - "0": "Harvest", - "1": "Infiltrator", - "H": "Rattled" + "0": "Mold Breaker", + "H": "Sharpness" }, - "heightm": 1.8, - "weightkg": 11.5, - "color": "Brown", - "evos": [ - "Malaconda" - ], + "heightm": 2.5, + "weightkg": 90, + "color": "Gray", "eggGroups": [ - "Grass", - "Dragon" - ], - "gen": 5 + "Water 2" + ] }, - "malaconda": { - "num": -29, - "name": "malaconda", + "dondozo": { + "num": 977, + "name": "dondozo", "types": [ - "dark", - "grass" + "water" ], "baseStats": { - "hp": 115, + "hp": 150, "attack": 100, - "defense": 60, - "special-attack": 40, - "special-defense": 130, - "speed": 55 + "defense": 115, + "special-attack": 65, + "special-defense": 65, + "speed": 35 }, "abilities": { - "0": "Harvest", - "1": "Infiltrator", - "H": "Drought" + "0": "Unaware", + "1": "Oblivious", + "H": "Water Veil" }, - "heightm": 5.5, - "weightkg": 108.8, - "color": "Brown", - "prevo": "Brattler", - "evoLevel": 33, + "heightm": 12, + "weightkg": 220, + "color": "Blue", "eggGroups": [ - "Grass", - "Dragon" - ], - "gen": 5 + "Water 2" + ] }, - "cawdet": { - "num": -30, - "name": "cawdet", + "tatsugiri": { + "num": 978, + "name": "tatsugiri", + "baseForme": "Curly", "types": [ - "steel", - "flying" + "dragon", + "water" ], "baseStats": { - "hp": 35, - "attack": 72, - "defense": 85, - "special-attack": 40, - "special-defense": 55, - "speed": 88 + "hp": 68, + "attack": 50, + "defense": 60, + "special-attack": 120, + "special-defense": 95, + "speed": 82 }, "abilities": { - "0": "Keen Eye", - "1": "Volt Absorb", - "H": "Big Pecks" + "0": "Commander", + "H": "Storm Drain" }, - "heightm": 0.76, - "weightkg": 25, - "color": "Gray", - "evos": [ - "Cawmodore" + "heightm": 0.3, + "weightkg": 8, + "color": "Red", + "cosmeticFormes": [ + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" ], - "eggGroups": [ - "Flying" + "formeOrder": [ + "Tatsugiri", + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" ], - "gen": 5 + "eggGroups": [ + "Water 2" + ] }, - "cawmodore": { - "num": -31, - "name": "cawmodore", + "tatsugiridroopy": { + "num": 978, + "name": "tatsugiri", + "baseForme": "Curly", "types": [ - "steel", - "flying" + "dragon", + "water" ], "baseStats": { - "hp": 50, - "attack": 92, - "defense": 130, - "special-attack": 65, - "special-defense": 75, - "speed": 118 + "hp": 68, + "attack": 50, + "defense": 60, + "special-attack": 120, + "special-defense": 95, + "speed": 82 }, "abilities": { - "0": "Intimidate", - "1": "Volt Absorb", - "H": "Big Pecks" + "0": "Commander", + "H": "Storm Drain" }, - "heightm": 1.7, - "weightkg": 37, - "color": "Black", - "prevo": "Cawdet", - "evoLevel": 33, - "eggGroups": [ - "Flying" + "heightm": 0.3, + "weightkg": 8, + "color": "Red", + "cosmeticFormes": [ + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" ], - "gen": 5 + "formeOrder": [ + "Tatsugiri", + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" + ], + "eggGroups": [ + "Water 2" + ] }, - "volkritter": { - "num": -32, - "name": "volkritter", + "tatsugiristretchy": { + "num": 978, + "name": "tatsugiri", + "baseForme": "Curly", "types": [ - "water", - "fire" + "dragon", + "water" ], "baseStats": { - "hp": 60, - "attack": 30, - "defense": 50, - "special-attack": 80, - "special-defense": 60, - "speed": 70 + "hp": 68, + "attack": 50, + "defense": 60, + "special-attack": 120, + "special-defense": 95, + "speed": 82 }, "abilities": { - "0": "Anticipation", - "1": "Infiltrator", - "H": "Unnerve" + "0": "Commander", + "H": "Storm Drain" }, "heightm": 0.3, - "weightkg": 15, + "weightkg": 8, "color": "Red", - "evos": [ - "Volkraken" + "cosmeticFormes": [ + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" + ], + "formeOrder": [ + "Tatsugiri", + "Tatsugiri-Droopy", + "Tatsugiri-Stretchy" ], "eggGroups": [ - "Water 1", "Water 2" - ], - "gen": 6 + ] }, - "volkraken": { - "num": -33, - "name": "volkraken", + "annihilape": { + "num": 979, + "name": "annihilape", "types": [ - "water", - "fire" + "fighting", + "ghost" ], "baseStats": { - "hp": 100, - "attack": 45, + "hp": 110, + "attack": 115, "defense": 80, - "special-attack": 135, - "special-defense": 100, - "speed": 95 + "special-attack": 50, + "special-defense": 90, + "speed": 90 }, "abilities": { - "0": "Analytic", - "1": "Infiltrator", - "H": "Pressure" + "0": "Vital Spirit", + "1": "Inner Focus", + "H": "Defiant" }, - "heightm": 1.3, - "weightkg": 44.5, - "color": "Red", - "prevo": "Volkritter", - "evoLevel": 34, + "heightm": 1.2, + "weightkg": 56, + "color": "Gray", + "prevo": "Primeape", + "evoType": "other", + "evoCondition": "Use Rage Fist 20 times and level-up", "eggGroups": [ - "Water 1", - "Water 2" - ], - "gen": 6 + "Field" + ] }, - "snugglow": { - "num": -34, - "name": "snugglow", + "clodsire": { + "num": 980, + "name": "clodsire", "types": [ - "electric", - "poison" + "poison", + "ground" ], "baseStats": { - "hp": 40, - "attack": 37, - "defense": 79, - "special-attack": 91, - "special-defense": 68, - "speed": 70 + "hp": 130, + "attack": 75, + "defense": 60, + "special-attack": 45, + "special-defense": 100, + "speed": 20 }, "abilities": { - "0": "Storm Drain", - "1": "Vital Spirit", - "H": "Telepathy" + "0": "Poison Point", + "1": "Water Absorb", + "H": "Unaware" }, - "heightm": 1.2, - "weightkg": 6, - "color": "Purple", - "evos": [ - "Plasmanta" - ], + "heightm": 1.8, + "weightkg": 223, + "color": "Brown", + "prevo": "Wooper-Paldea", + "evoLevel": 20, "eggGroups": [ "Water 1", - "Water 2" - ], - "gen": 6 + "Field" + ] }, - "plasmanta": { - "num": -35, - "name": "plasmanta", + "farigiraf": { + "num": 981, + "name": "farigiraf", "types": [ - "electric", - "poison" + "normal", + "psychic" ], "baseStats": { - "hp": 60, - "attack": 57, - "defense": 119, - "special-attack": 131, - "special-defense": 98, - "speed": 100 + "hp": 120, + "attack": 90, + "defense": 70, + "special-attack": 110, + "special-defense": 70, + "speed": 60 }, "abilities": { - "0": "Storm Drain", - "1": "Vital Spirit", - "H": "Telepathy" + "0": "Cud Chew", + "1": "Armor Tail", + "H": "Sap Sipper" }, - "heightm": 7, - "weightkg": 460, - "color": "Purple", - "prevo": "Snugglow", - "evoLevel": 29, + "heightm": 3.2, + "weightkg": 160, + "color": "Brown", + "prevo": "Girafarig", + "evoType": "levelMove", + "evoMove": "Twin Beam", "eggGroups": [ - "Water 1", - "Water 2" - ], - "gen": 6 + "Field" + ] }, - "floatoy": { - "num": -36, - "name": "floatoy", + "dudunsparce": { + "num": 982, + "name": "dudunsparce", + "baseForme": "Two-Segment", "types": [ - "water" + "normal" ], "baseStats": { - "hp": 48, - "attack": 70, - "defense": 40, - "special-attack": 70, - "special-defense": 30, - "speed": 77 + "hp": 125, + "attack": 100, + "defense": 80, + "special-attack": 85, + "special-defense": 75, + "speed": 55 }, "abilities": { - "0": "Water Veil", - "1": "Heatproof", - "H": "Swift Swim" + "0": "Serene Grace", + "1": "Run Away", + "H": "Rattled" }, - "heightm": 0.8, - "weightkg": 1.9, - "color": "White", - "evos": [ - "Caimanoe" + "heightm": 3.6, + "weightkg": 39.2, + "color": "Yellow", + "prevo": "Dunsparce", + "evoType": "levelMove", + "evoMove": "Hyper Drill", + "otherFormes": [ + "Dudunsparce-Three-Segment" + ], + "formeOrder": [ + "Dudunsparce", + "Dudunsparce-Three-Segment" ], "eggGroups": [ - "Water 1", "Field" - ], - "gen": 6 + ] }, - "caimanoe": { - "num": -37, - "name": "caimanoe", + "dudunsparcethreesegment": { + "num": 982, + "name": "dudunsparce-three-segment", + "baseSpecies": "Dudunsparce", + "forme": "Three-Segment", "types": [ - "water", - "steel" + "normal" ], "baseStats": { - "hp": 73, - "attack": 85, - "defense": 65, - "special-attack": 80, - "special-defense": 40, - "speed": 87 + "hp": 125, + "attack": 100, + "defense": 80, + "special-attack": 85, + "special-defense": 75, + "speed": 55 }, "abilities": { - "0": "Water Veil", - "1": "Heatproof", - "H": "Light Metal" + "0": "Serene Grace", + "1": "Run Away", + "H": "Rattled" }, - "heightm": 1.4, - "weightkg": 72.5, - "color": "Gray", - "prevo": "Floatoy", - "evoLevel": 21, - "evos": [ - "Naviathan" - ], + "heightm": 4.5, + "weightkg": 47.4, + "color": "Yellow", + "prevo": "Dunsparce", + "evoType": "levelMove", + "evoMove": "Hyper Drill", "eggGroups": [ - "Water 1", "Field" - ], - "gen": 6 + ] }, - "naviathan": { - "num": -38, - "name": "naviathan", + "kingambit": { + "num": 983, + "name": "kingambit", "types": [ - "water", + "dark", "steel" ], "baseStats": { - "hp": 103, - "attack": 110, - "defense": 90, - "special-attack": 95, - "special-defense": 65, - "speed": 97 + "hp": 100, + "attack": 135, + "defense": 120, + "special-attack": 60, + "special-defense": 85, + "speed": 50 }, "abilities": { - "0": "Guts", - "1": "Heatproof", - "H": "Light Metal" + "0": "Defiant", + "1": "Supreme Overlord", + "H": "Pressure" }, - "heightm": 3, - "weightkg": 510, - "color": "Gray", - "prevo": "Caimanoe", - "evoLevel": 40, + "heightm": 2, + "weightkg": 120, + "color": "Black", + "prevo": "Bisharp", + "evoType": "other", + "evoCondition": "Defeat 3 Bisharp leading Pawniard and level-up", "eggGroups": [ - "Water 1", - "Field" - ], - "gen": 6 + "Human-Like" + ] }, - "crucibelle": { - "num": -39, - "name": "crucibelle", + "greattusk": { + "num": 984, + "name": "great tusk", "types": [ - "rock", - "poison" + "ground", + "fighting" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 106, - "attack": 105, - "defense": 65, - "special-attack": 75, - "special-defense": 85, - "speed": 104 + "hp": 115, + "attack": 131, + "defense": 131, + "special-attack": 53, + "special-defense": 53, + "speed": 87 }, "abilities": { - "0": "Regenerator", - "1": "Mold Breaker", - "H": "Liquid Ooze" + "0": "Protosynthesis" }, - "heightm": 1.3, - "weightkg": 23.6, + "heightm": 2.2, + "weightkg": 320, "color": "Purple", - "eggGroups": [ - "Amorphous", - "Mineral" - ], - "otherFormes": [ - "Crucibelle-Mega" - ], - "formeOrder": [ - "Crucibelle", - "Crucibelle-Mega" + "tags": [ + "Paradox" ], - "gen": 6 + "eggGroups": [ + "Undiscovered" + ] }, - "crucibellemega": { - "num": -39, - "name": "crucibelle-mega", - "baseSpecies": "Crucibelle", - "forme": "Mega", + "screamtail": { + "num": 985, + "name": "scream tail", "types": [ - "rock", - "poison" + "fairy", + "psychic" ], - "genderRatio": { - "M": 0.25, - "F": 0.75 - }, + "gender": "N", "baseStats": { - "hp": 106, - "attack": 135, - "defense": 75, - "special-attack": 91, - "special-defense": 125, - "speed": 108 + "hp": 115, + "attack": 65, + "defense": 99, + "special-attack": 65, + "special-defense": 115, + "speed": 111 }, "abilities": { - "0": "Magic Guard" + "0": "Protosynthesis" }, - "heightm": 1.4, - "weightkg": 22.5, - "color": "Purple", - "eggGroups": [ - "Amorphous", - "Mineral" + "heightm": 1.2, + "weightkg": 8, + "color": "Pink", + "tags": [ + "Paradox" ], - "requiredItem": "Crucibellite", - "gen": 6 + "eggGroups": [ + "Undiscovered" + ] }, - "pluffle": { - "num": -40, - "name": "pluffle", + "brutebonnet": { + "num": 986, + "name": "brute bonnet", "types": [ - "fairy" + "grass", + "dark" ], + "gender": "N", "baseStats": { - "hp": 74, - "attack": 38, - "defense": 51, - "special-attack": 65, - "special-defense": 78, - "speed": 49 + "hp": 111, + "attack": 127, + "defense": 99, + "special-attack": 79, + "special-defense": 99, + "speed": 55 }, "abilities": { - "0": "Natural Cure", - "1": "Aroma Veil", - "H": "Friend Guard" + "0": "Protosynthesis" }, - "heightm": 0.8, - "weightkg": 1.8, - "color": "Pink", - "evos": [ - "Kerfluffle" + "heightm": 1.2, + "weightkg": 21, + "color": "White", + "tags": [ + "Paradox" ], "eggGroups": [ - "Fairy", - "Human-Like" - ], - "gen": 6 + "Undiscovered" + ] }, - "kerfluffle": { - "num": -41, - "name": "kerfluffle", + "fluttermane": { + "num": 987, + "name": "flutter mane", "types": [ - "fairy", - "fighting" + "ghost", + "fairy" ], + "gender": "N", "baseStats": { - "hp": 84, - "attack": 78, - "defense": 86, - "special-attack": 115, - "special-defense": 88, - "speed": 119 + "hp": 55, + "attack": 55, + "defense": 55, + "special-attack": 135, + "special-defense": 135, + "speed": 135 }, "abilities": { - "0": "Natural Cure", - "1": "Aroma Veil", - "H": "Friend Guard" + "0": "Protosynthesis" }, - "heightm": 2.1, - "weightkg": 24.2, - "color": "Pink", - "prevo": "Pluffle", - "evoType": "levelMove", - "evoMove": "Play Rough", - "eggGroups": [ - "Fairy", - "Human-Like" + "heightm": 1.4, + "weightkg": 4, + "color": "Gray", + "tags": [ + "Paradox" ], - "gen": 6 + "eggGroups": [ + "Undiscovered" + ] }, - "pajantom": { - "num": -42, - "name": "pajantom", + "slitherwing": { + "num": 988, + "name": "slither wing", "types": [ - "dragon", - "ghost" + "bug", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 84, - "attack": 133, - "defense": 71, - "special-attack": 51, - "special-defense": 111, - "speed": 101 + "hp": 85, + "attack": 135, + "defense": 79, + "special-attack": 85, + "special-defense": 105, + "speed": 81 }, "abilities": { - "0": "Comatose" + "0": "Protosynthesis" }, - "heightm": 1.1, - "weightkg": 3.1, - "color": "Purple", - "eggGroups": [ - "Dragon", - "Monster" + "heightm": 3.2, + "weightkg": 92, + "color": "White", + "tags": [ + "Paradox" ], - "gen": 7 + "eggGroups": [ + "Undiscovered" + ] }, - "mumbao": { - "num": -43, - "name": "mumbao", + "sandyshocks": { + "num": 989, + "name": "sandy shocks", "types": [ - "grass", - "fairy" + "electric", + "ground" ], + "gender": "N", "baseStats": { - "hp": 55, - "attack": 30, - "defense": 64, - "special-attack": 87, - "special-defense": 73, - "speed": 66 + "hp": 85, + "attack": 81, + "defense": 97, + "special-attack": 121, + "special-defense": 85, + "speed": 101 }, "abilities": { - "0": "Trace", - "1": "Overcoat", - "H": "Solar Power" + "0": "Protosynthesis" }, - "heightm": 1, - "weightkg": 83, - "color": "Brown", - "evos": [ - "Jumbao" + "heightm": 2.3, + "weightkg": 60, + "color": "Gray", + "tags": [ + "Paradox" ], "eggGroups": [ - "Grass" - ], - "gen": 7 + "Undiscovered" + ] }, - "jumbao": { - "num": -44, - "name": "jumbao", + "irontreads": { + "num": 990, + "name": "iron treads", "types": [ - "grass", - "fairy" + "ground", + "steel" ], + "gender": "N", "baseStats": { - "hp": 92, - "attack": 63, - "defense": 97, - "special-attack": 124, - "special-defense": 104, - "speed": 96 + "hp": 90, + "attack": 112, + "defense": 120, + "special-attack": 72, + "special-defense": 70, + "speed": 106 }, "abilities": { - "0": "Trace", - "1": "Overcoat", - "H": "Drought" + "0": "Quark Drive" }, - "heightm": 2.4, - "weightkg": 200, - "color": "Brown", - "prevo": "Mumbao", - "evoType": "levelFriendship", - "evoCondition": "during the day", - "eggGroups": [ - "Grass" + "heightm": 0.9, + "weightkg": 240, + "color": "Gray", + "tags": [ + "Paradox" ], - "gen": 7 + "eggGroups": [ + "Undiscovered" + ] }, - "fawnifer": { - "num": -45, - "name": "fawnifer", + "ironbundle": { + "num": 991, + "name": "iron bundle", "types": [ - "grass" + "ice", + "water" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 49, - "attack": 61, - "defense": 42, - "special-attack": 52, - "special-defense": 40, - "speed": 76 + "hp": 56, + "attack": 80, + "defense": 114, + "special-attack": 124, + "special-defense": 60, + "speed": 136 }, "abilities": { - "0": "Overgrow", - "H": "Lightning Rod" + "0": "Quark Drive" }, - "heightm": 0.7, - "weightkg": 6.9, - "color": "Green", - "evos": [ - "Electrelk" + "heightm": 0.6, + "weightkg": 11, + "color": "Red", + "tags": [ + "Paradox" ], "eggGroups": [ - "Field" - ], - "gen": 7 + "Undiscovered" + ] }, - "electrelk": { - "num": -46, - "name": "electrelk", + "ironhands": { + "num": 992, + "name": "iron hands", "types": [ - "grass", + "fighting", "electric" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 59, - "attack": 81, - "defense": 67, - "special-attack": 57, - "special-defense": 55, - "speed": 101 + "hp": 154, + "attack": 140, + "defense": 108, + "special-attack": 50, + "special-defense": 68, + "speed": 50 }, "abilities": { - "0": "Overgrow", - "H": "Galvanize" + "0": "Quark Drive" }, - "heightm": 1.4, - "weightkg": 41.5, - "color": "Green", - "prevo": "Fawnifer", - "evoLevel": 17, - "evos": [ - "Caribolt" + "heightm": 1.8, + "weightkg": 380.7, + "color": "Gray", + "tags": [ + "Paradox" ], "eggGroups": [ - "Field" - ], - "gen": 7 + "Undiscovered" + ] }, - "caribolt": { - "num": -47, - "name": "caribolt", + "ironjugulis": { + "num": 993, + "name": "iron jugulis", "types": [ - "grass", - "electric" + "dark", + "flying" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 84, - "attack": 106, - "defense": 82, - "special-attack": 77, + "hp": 94, + "attack": 80, + "defense": 86, + "special-attack": 122, "special-defense": 80, - "speed": 106 + "speed": 108 }, "abilities": { - "0": "Overgrow", - "H": "Galvanize" + "0": "Quark Drive" }, - "heightm": 2.5, - "weightkg": 140, - "color": "Green", - "prevo": "Electrelk", - "evoLevel": 34, - "eggGroups": [ - "Field" + "heightm": 1.3, + "weightkg": 111, + "color": "Blue", + "tags": [ + "Paradox" ], - "gen": 7 + "eggGroups": [ + "Undiscovered" + ] }, - "smogecko": { - "num": -48, - "name": "smogecko", + "ironmoth": { + "num": 994, + "name": "iron moth", "types": [ - "fire" + "fire", + "poison" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 48, - "attack": 66, - "defense": 43, - "special-attack": 58, - "special-defense": 48, - "speed": 56 + "hp": 80, + "attack": 70, + "defense": 60, + "special-attack": 140, + "special-defense": 110, + "speed": 110 }, "abilities": { - "0": "Blaze", - "H": "Technician" + "0": "Quark Drive" }, - "heightm": 0.5, - "weightkg": 8.5, - "color": "Red", - "evos": [ - "Smoguana" + "heightm": 1.2, + "weightkg": 36, + "color": "White", + "tags": [ + "Paradox" ], "eggGroups": [ - "Field", - "Monster" - ], - "gen": 7 + "Undiscovered" + ] }, - "smoguana": { - "num": -49, - "name": "smoguana", + "ironthorns": { + "num": 995, + "name": "iron thorns", "types": [ - "fire", - "ground" + "rock", + "electric" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 68, - "attack": 86, - "defense": 53, - "special-attack": 68, - "special-defense": 68, - "speed": 76 + "hp": 100, + "attack": 134, + "defense": 110, + "special-attack": 70, + "special-defense": 84, + "speed": 72 }, "abilities": { - "0": "Blaze", - "H": "Technician" + "0": "Quark Drive" }, - "heightm": 1.5, - "weightkg": 22.2, - "color": "Red", - "prevo": "Smogecko", - "evoLevel": 15, - "evos": [ - "Smokomodo" + "heightm": 1.6, + "weightkg": 303, + "color": "Green", + "tags": [ + "Paradox" ], "eggGroups": [ - "Field", - "Monster" - ], - "gen": 7 + "Undiscovered" + ] }, - "smokomodo": { - "num": -50, - "name": "smokomodo", + "frigibax": { + "num": 996, + "name": "frigibax", "types": [ - "fire", - "ground" + "dragon", + "ice" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 88, - "attack": 116, - "defense": 67, - "special-attack": 88, - "special-defense": 78, - "speed": 97 + "hp": 65, + "attack": 75, + "defense": 45, + "special-attack": 35, + "special-defense": 45, + "speed": 55 }, "abilities": { - "0": "Blaze", - "H": "Technician" + "0": "Thermal Exchange", + "H": "Ice Body" }, - "heightm": 2.2, - "weightkg": 205, - "color": "Red", - "prevo": "Smoguana", - "evoLevel": 36, - "eggGroups": [ - "Field", - "Monster" + "heightm": 0.5, + "weightkg": 17, + "color": "Gray", + "evos": [ + "Arctibax" ], - "gen": 7 + "eggGroups": [ + "Dragon", + "Mineral" + ] }, - "swirlpool": { - "num": -51, - "name": "swirlpool", + "arctibax": { + "num": 997, + "name": "arctibax", "types": [ - "water" + "dragon", + "ice" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 61, - "attack": 49, - "defense": 70, - "special-attack": 50, - "special-defense": 62, - "speed": 28 + "hp": 90, + "attack": 95, + "defense": 66, + "special-attack": 45, + "special-defense": 65, + "speed": 62 }, "abilities": { - "0": "Torrent", - "H": "Poison Heal" + "0": "Thermal Exchange", + "H": "Ice Body" }, - "heightm": 0.5, - "weightkg": 7, + "heightm": 0.8, + "weightkg": 30, "color": "Blue", + "prevo": "Frigibax", + "evoLevel": 35, "evos": [ - "Coribalis" + "Baxcalibur" ], "eggGroups": [ - "Water 1", - "Fairy" - ], - "gen": 7 + "Dragon", + "Mineral" + ] }, - "coribalis": { - "num": -52, - "name": "coribalis", + "baxcalibur": { + "num": 998, + "name": "baxcalibur", "types": [ - "water", - "bug" + "dragon", + "ice" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, "baseStats": { - "hp": 76, - "attack": 69, - "defense": 90, - "special-attack": 65, - "special-defense": 77, - "speed": 43 + "hp": 115, + "attack": 145, + "defense": 92, + "special-attack": 75, + "special-defense": 86, + "speed": 87 }, "abilities": { - "0": "Torrent", - "H": "Poison Heal" + "0": "Thermal Exchange", + "H": "Ice Body" }, - "heightm": 1.4, - "weightkg": 24.5, + "heightm": 2.1, + "weightkg": 210, "color": "Blue", - "prevo": "Swirlpool", - "evoLevel": 17, - "evos": [ - "Snaelstrom" - ], + "prevo": "Arctibax", + "evoLevel": 54, "eggGroups": [ - "Water 1", - "Fairy" - ], - "gen": 7 + "Dragon", + "Mineral" + ] }, - "snaelstrom": { - "num": -53, - "name": "snaelstrom", + "gimmighoul": { + "num": 999, + "name": "gimmighoul", + "baseForme": "Chest", "types": [ - "water", - "bug" + "ghost" ], - "genderRatio": { - "M": 0.875, - "F": 0.125 - }, + "gender": "N", "baseStats": { - "hp": 91, - "attack": 94, - "defense": 110, - "special-attack": 80, - "special-defense": 97, - "speed": 63 + "hp": 45, + "attack": 30, + "defense": 70, + "special-attack": 75, + "special-defense": 70, + "speed": 10 }, "abilities": { - "0": "Torrent", - "H": "Poison Heal" + "0": "Rattled" }, - "heightm": 2, - "weightkg": 120, - "color": "Blue", - "prevo": "Coribalis", - "evoLevel": 34, - "eggGroups": [ - "Water 1", - "Fairy" + "heightm": 0.3, + "weightkg": 5, + "color": "Red", + "evos": [ + "Gholdengo" ], - "gen": 7 + "otherFormes": [ + "Gimmighoul-Roaming" + ], + "formeOrder": [ + "Gimmighoul", + "Gimmighoul-Roaming" + ], + "eggGroups": [ + "Undiscovered" + ] }, - "justyke": { - "num": -54, - "name": "justyke", + "gimmighoulroaming": { + "num": 999, + "name": "gimmighoul-roaming", + "baseSpecies": "Gimmighoul", + "forme": "Roaming", "types": [ - "steel", - "ground" + "ghost" ], "gender": "N", "baseStats": { - "hp": 72, - "attack": 70, - "defense": 56, - "special-attack": 83, - "special-defense": 68, - "speed": 30 + "hp": 45, + "attack": 30, + "defense": 25, + "special-attack": 75, + "special-defense": 45, + "speed": 80 }, "abilities": { - "0": "Levitate", - "1": "Bulletproof", - "H": "Justified" + "0": "Run Away" }, - "heightm": 0.4, - "weightkg": 36.5, - "color": "Brown", + "heightm": 0.1, + "weightkg": 0.1, + "color": "Gray", "evos": [ - "Equilibra" + "Gholdengo" ], "eggGroups": [ - "Mineral" - ], - "gen": 7 + "Undiscovered" + ] }, - "equilibra": { - "num": -55, - "name": "equilibra", + "gholdengo": { + "num": 1000, + "name": "gholdengo", "types": [ "steel", - "ground" + "ghost" ], "gender": "N", "baseStats": { - "hp": 102, - "attack": 50, - "defense": 96, + "hp": 87, + "attack": 60, + "defense": 95, "special-attack": 133, - "special-defense": 118, - "speed": 60 + "special-defense": 91, + "speed": 84 }, "abilities": { - "0": "Levitate", - "1": "Bulletproof", - "H": "Justified" + "0": "Good as Gold" }, - "heightm": 0.8, - "weightkg": 51.3, - "color": "Brown", - "prevo": "Justyke", - "evoLevel": 32, + "heightm": 1.2, + "weightkg": 30, + "color": "Yellow", + "prevo": "Gimmighoul", + "evoType": "other", + "evoCondition": "Level up with 999 Coins in the bag", "eggGroups": [ - "Mineral" - ], - "gen": 7 + "Undiscovered" + ] }, - "solotl": { - "num": -56, - "name": "solotl", + "wochien": { + "num": 1001, + "name": "wo-chien", "types": [ - "fire", - "dragon" + "dark", + "grass" ], + "gender": "N", "baseStats": { - "hp": 68, - "attack": 48, - "defense": 34, - "special-attack": 72, - "special-defense": 24, - "speed": 84 + "hp": 85, + "attack": 85, + "defense": 100, + "special-attack": 95, + "special-defense": 135, + "speed": 70 }, "abilities": { - "0": "Regenerator", - "1": "Vital Spirit", - "H": "Magician" + "0": "Tablets of Ruin" }, - "heightm": 0.6, - "weightkg": 11.8, - "color": "Red", - "evos": [ - "Astrolotl" + "heightm": 1.5, + "weightkg": 74.2, + "color": "Brown", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Dragon", - "Fairy" - ], - "gen": 8 + "Undiscovered" + ] }, - "astrolotl": { - "num": -57, - "name": "astrolotl", + "chienpao": { + "num": 1002, + "name": "chien-pao", "types": [ - "fire", - "dragon" + "dark", + "ice" ], + "gender": "N", "baseStats": { - "hp": 108, - "attack": 108, - "defense": 74, - "special-attack": 92, - "special-defense": 64, - "speed": 114 + "hp": 80, + "attack": 120, + "defense": 80, + "special-attack": 90, + "special-defense": 65, + "speed": 135 }, "abilities": { - "0": "Regenerator", - "1": "Vital Spirit", - "H": "Magician" + "0": "Sword of Ruin" }, "heightm": 1.9, - "weightkg": 50, - "color": "Red", - "prevo": "Solotl", - "evoLevel": 35, - "eggGroups": [ - "Dragon", - "Fairy" + "weightkg": 152.2, + "color": "White", + "tags": [ + "Sub-Legendary" ], - "gen": 8 + "eggGroups": [ + "Undiscovered" + ] }, - "miasmite": { - "num": -58, - "name": "miasmite", + "tinglu": { + "num": 1003, + "name": "ting-lu", "types": [ - "bug", - "dragon" + "dark", + "ground" ], + "gender": "N", "baseStats": { - "hp": 40, - "attack": 85, - "defense": 60, - "special-attack": 52, - "special-defense": 52, - "speed": 44 + "hp": 155, + "attack": 110, + "defense": 125, + "special-attack": 55, + "special-defense": 80, + "speed": 45 }, "abilities": { - "0": "Neutralizing Gas", - "1": "Hyper Cutter", - "H": "Compound Eyes" + "0": "Vessel of Ruin" }, - "heightm": 0.6, - "weightkg": 10.1, - "color": "Green", - "evos": [ - "Miasmaw" + "heightm": 2.7, + "weightkg": 699.7, + "color": "Brown", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Bug", - "Dragon" - ], - "gen": 8 + "Undiscovered" + ] }, - "miasmaw": { - "num": -59, - "name": "miasmaw", + "chiyu": { + "num": 1004, + "name": "chi-yu", "types": [ - "bug", - "dragon" + "dark", + "fire" ], + "gender": "N", "baseStats": { - "hp": 85, - "attack": 135, - "defense": 60, - "special-attack": 88, - "special-defense": 105, - "speed": 99 + "hp": 55, + "attack": 80, + "defense": 80, + "special-attack": 135, + "special-defense": 120, + "speed": 100 }, "abilities": { - "0": "Neutralizing Gas", - "1": "Hyper Cutter", - "H": "Compound Eyes" + "0": "Beads of Ruin" }, - "heightm": 1.2, - "weightkg": 57, - "color": "Green", - "prevo": "Miasmite", - "evoLevel": 30, - "eggGroups": [ - "Bug", - "Dragon" + "heightm": 0.4, + "weightkg": 4.9, + "color": "Red", + "tags": [ + "Sub-Legendary" ], - "gen": 8 + "eggGroups": [ + "Undiscovered" + ] }, - "chromera": { - "num": -60, - "name": "chromera", + "roaringmoon": { + "num": 1005, + "name": "roaring moon", "types": [ - "dark", - "normal" + "dragon", + "dark" ], "gender": "N", "baseStats": { - "hp": 85, - "attack": 85, - "defense": 115, - "special-attack": 115, - "special-defense": 100, - "speed": 100 + "hp": 105, + "attack": 139, + "defense": 71, + "special-attack": 55, + "special-defense": 101, + "speed": 119 }, "abilities": { - "0": "Color Change" + "0": "Protosynthesis" }, - "heightm": 2.5, - "weightkg": 215, - "color": "Purple", + "heightm": 2, + "weightkg": 380, + "color": "Blue", + "tags": [ + "Paradox" + ], "eggGroups": [ "Undiscovered" - ], - "gen": 8 + ] }, - "nohface": { - "num": -61, - "name": "nohface", + "ironvaliant": { + "num": 1006, + "name": "iron valiant", "types": [ - "ghost" + "fairy", + "fighting" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 73, - "defense": 50, - "special-attack": 30, - "special-defense": 50, - "speed": 80 + "hp": 74, + "attack": 130, + "defense": 90, + "special-attack": 120, + "special-defense": 60, + "speed": 116 }, "abilities": { - "0": "Frisk", - "1": "Limber", - "H": "Unnerve" + "0": "Quark Drive" }, - "heightm": 0.5, - "weightkg": 5.9, - "color": "Blue", - "evos": [ - "Kitsunoh" + "heightm": 1.4, + "weightkg": 35, + "color": "White", + "tags": [ + "Paradox" ], "eggGroups": [ - "Field" - ], - "gen": 4 + "Undiscovered" + ] }, - "monohm": { - "num": -62, - "name": "monohm", + "koraidon": { + "num": 1007, + "name": "koraidon", "types": [ - "electric" + "fighting", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 53, - "attack": 40, - "defense": 58, - "special-attack": 67, - "special-defense": 55, - "speed": 55 + "hp": 100, + "attack": 135, + "defense": 115, + "special-attack": 85, + "special-defense": 100, + "speed": 135 }, "abilities": { - "0": "Shield Dust", - "1": "Static", - "H": "Damp" + "0": "Orichalcum Pulse" }, - "heightm": 0.6, - "weightkg": 4.1, - "color": "Yellow", - "evos": [ - "Duohm" + "heightm": 2.5, + "weightkg": 303, + "color": "Red", + "tags": [ + "Restricted Legendary" ], "eggGroups": [ - "Dragon", - "Monster" - ], - "gen": 4 + "Undiscovered" + ] }, - "duohm": { - "num": -63, - "name": "duohm", + "miraidon": { + "num": 1008, + "name": "miraidon", "types": [ "electric", "dragon" ], + "gender": "N", "baseStats": { - "hp": 88, - "attack": 40, - "defense": 103, - "special-attack": 77, - "special-defense": 60, - "speed": 60 + "hp": 100, + "attack": 85, + "defense": 100, + "special-attack": 135, + "special-defense": 115, + "speed": 135 }, "abilities": { - "0": "Shield Dust", - "1": "Static", - "H": "Damp" + "0": "Hadron Engine" }, - "heightm": 1.1, - "weightkg": 19.2, - "color": "Yellow", - "prevo": "Monohm", - "evoLevel": 32, - "evos": [ - "Cyclohm" + "heightm": 3.5, + "weightkg": 240, + "color": "Purple", + "tags": [ + "Restricted Legendary" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "walkingwake": { + "num": 1009, + "name": "walking wake", + "types": [ + "water", + "dragon" + ], + "gender": "N", + "baseStats": { + "hp": 99, + "attack": 83, + "defense": 91, + "special-attack": 125, + "special-defense": 83, + "speed": 109 + }, + "abilities": { + "0": "Protosynthesis" + }, + "heightm": 3.5, + "weightkg": 280, + "color": "Blue", + "tags": [ + "Paradox" ], "eggGroups": [ - "Dragon", - "Monster" - ], - "gen": 4 + "Undiscovered" + ] }, - "dorsoil": { - "num": -64, - "name": "dorsoil", + "ironleaves": { + "num": 1010, + "name": "iron leaves", "types": [ - "ground" + "grass", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 103, - "attack": 72, - "defense": 52, - "special-attack": 61, - "special-defense": 52, - "speed": 65 + "hp": 90, + "attack": 130, + "defense": 88, + "special-attack": 70, + "special-defense": 108, + "speed": 104 }, "abilities": { - "0": "Oblivious", - "1": "Guts", - "H": "Unnerve" + "0": "Quark Drive" }, - "heightm": 1.3, - "weightkg": 145, - "color": "White", - "evos": [ - "Colossoil" + "heightm": 1.5, + "weightkg": 125, + "color": "Green", + "tags": [ + "Paradox" ], "eggGroups": [ - "Water 2", - "Field" - ], - "gen": 4 + "Undiscovered" + ] }, - "protowatt": { - "num": -65, - "name": "protowatt", + "dipplin": { + "num": 1011, + "name": "dipplin", "types": [ - "electric", - "water" + "grass", + "dragon" ], "baseStats": { - "hp": 51, - "attack": 44, - "defense": 33, - "special-attack": 43, - "special-defense": 34, - "speed": 65 + "hp": 80, + "attack": 80, + "defense": 110, + "special-attack": 95, + "special-defense": 80, + "speed": 40 }, "abilities": { - "0": "Trace", - "1": "Magic Guard", - "H": "Minus" + "0": "Supersweet Syrup", + "1": "Gluttony", + "H": "Sticky Hold" }, - "heightm": 0.1, - "weightkg": 0.1, - "color": "Red", + "heightm": 0.4, + "weightkg": 4.4, + "color": "Green", + "prevo": "Applin", "evos": [ - "Krilowatt" + "Hydrapple" ], + "evoType": "useItem", + "evoItem": "Syrupy Apple", "eggGroups": [ - "Water 1", - "Fairy" - ], - "gen": 4 + "Grass", + "Dragon" + ] }, - "venomicon": { - "num": -66, - "name": "venomicon", - "baseForme": "Prologue", + "poltchageist": { + "num": 1012, + "name": "poltchageist", + "baseForme": "Counterfeit", "types": [ - "poison", - "flying" + "grass", + "ghost" ], "gender": "N", "baseStats": { - "hp": 85, - "attack": 50, - "defense": 113, - "special-attack": 118, - "special-defense": 90, - "speed": 64 + "hp": 40, + "attack": 45, + "defense": 45, + "special-attack": 74, + "special-defense": 54, + "speed": 50 }, "abilities": { - "0": "Stamina", - "H": "Power of Alchemy" + "0": "Hospitality", + "H": "Heatproof" }, - "heightm": 0.8, - "weightkg": 11.5, - "color": "Purple", + "heightm": 0.1, + "weightkg": 1.1, + "color": "Green", + "evos": [ + "Sinistcha" + ], "eggGroups": [ + "Mineral", "Amorphous" ], "otherFormes": [ - "Venomicon-Epilogue" + "Poltchageist-Artisan" ], "formeOrder": [ - "Venomicon", - "Venomicon-Epilogue" - ], - "gen": 8 + "Poltchageist", + "Poltchageist-Artisan" + ] }, - "venomiconepilogue": { - "num": -66, - "name": "venomicon-epilogue", - "baseSpecies": "Venomicon", - "forme": "Epilogue", + "poltchageistartisan": { + "num": 1012, + "name": "poltchageist-artisan", + "baseSpecies": "Poltchageist", + "forme": "Artisan", "types": [ - "poison", - "flying" + "grass", + "ghost" ], "gender": "N", "baseStats": { - "hp": 85, - "attack": 102, - "defense": 85, - "special-attack": 62, - "special-defense": 85, - "speed": 101 + "hp": 40, + "attack": 45, + "defense": 45, + "special-attack": 74, + "special-defense": 54, + "speed": 50 }, "abilities": { - "0": "Tinted Lens" + "0": "Hospitality", + "H": "Heatproof" }, - "heightm": 0.8, - "weightkg": 12.4, - "color": "Purple", - "eggGroups": [ - "Amorphous" + "heightm": 0.1, + "weightkg": 1.1, + "color": "Green", + "evos": [ + "Sinistcha-Masterpiece" ], - "requiredItem": "Vile Vial", - "changesFrom": "Venomicon", - "gen": 8 + "eggGroups": [ + "Undiscovered" + ] }, - "saharascal": { - "num": -67, - "name": "saharascal", + "sinistcha": { + "num": 1013, + "name": "sinistcha", + "baseForme": "Unremarkable", "types": [ - "ground" + "grass", + "ghost" ], + "gender": "N", "baseStats": { - "hp": 50, - "attack": 80, - "defense": 65, - "special-attack": 45, - "special-defense": 90, + "hp": 71, + "attack": 60, + "defense": 106, + "special-attack": 121, + "special-defense": 80, "speed": 70 }, "abilities": { - "0": "Water Absorb", - "1": "Pickpocket", - "H": "Sand Spit" + "0": "Hospitality", + "H": "Heatproof" }, - "heightm": 1.2, - "weightkg": 48, - "color": "Brown", - "evos": [ - "Saharaja" - ], + "heightm": 0.2, + "weightkg": 2.2, + "color": "Green", + "prevo": "Poltchageist", + "evoType": "useItem", + "evoItem": "Unremarkable Teacup", "eggGroups": [ - "Field" + "Mineral", + "Amorphous" ], - "gen": 8 + "otherFormes": [ + "Sinistcha-Masterpiece" + ], + "formeOrder": [ + "Sinistcha", + "Sinistcha-Masterpiece" + ] }, - "saharaja": { - "num": -68, - "name": "saharaja", + "sinistchamasterpiece": { + "num": 1013, + "name": "sinistcha-masterpiece", + "baseSpecies": "Sinistcha", + "forme": "Masterpiece", "types": [ - "ground" + "grass", + "ghost" ], + "gender": "N", "baseStats": { - "hp": 70, - "attack": 112, - "defense": 105, - "special-attack": 65, - "special-defense": 123, - "speed": 78 + "hp": 71, + "attack": 60, + "defense": 106, + "special-attack": 121, + "special-defense": 80, + "speed": 70 }, "abilities": { - "0": "Water Absorb", - "1": "Serene Grace", - "H": "Sand Spit" + "0": "Hospitality", + "H": "Heatproof" }, - "heightm": 2.3, - "weightkg": 303.9, - "color": "White", - "prevo": "Saharascal", + "heightm": 0.2, + "weightkg": 2.2, + "color": "Green", + "prevo": "Poltchageist-Artisan", "evoType": "useItem", - "evoItem": "Shiny Stone", + "evoItem": "Masterpiece Teacup", "eggGroups": [ - "Field" - ], - "gen": 8 + "Undiscovered" + ] }, - "ababo": { - "num": -69, - "name": "ababo", + "okidogi": { + "num": 1014, + "name": "okidogi", "types": [ - "fairy" + "poison", + "fighting" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, + "gender": "M", "baseStats": { - "hp": 42, - "attack": 35, - "defense": 27, - "special-attack": 35, - "special-defense": 35, - "speed": 38 + "hp": 88, + "attack": 128, + "defense": 115, + "special-attack": 58, + "special-defense": 86, + "speed": 80 }, "abilities": { - "0": "Pixilate", - "1": "Rattled", - "H": "Own Tempo" + "0": "Toxic Chain", + "H": "Guard Dog" }, - "heightm": 0.5, - "weightkg": 3.5, - "color": "White", - "evos": [ - "Scattervein" + "heightm": 1.8, + "weightkg": 92, + "color": "Black", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ "Undiscovered" - ], - "canHatch": true, - "gen": 9 + ] }, - "scattervein": { - "num": -70, - "name": "scattervein", + "munkidori": { + "num": 1015, + "name": "munkidori", "types": [ - "fairy" + "poison", + "psychic" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, + "gender": "M", "baseStats": { - "hp": 75, - "attack": 74, - "defense": 87, - "special-attack": 62, - "special-defense": 89, - "speed": 63 + "hp": 88, + "attack": 75, + "defense": 66, + "special-attack": 130, + "special-defense": 90, + "speed": 106 }, "abilities": { - "0": "Pixilate", - "1": "Intimidate", - "H": "Own Tempo" + "0": "Toxic Chain", + "H": "Frisk" }, - "heightm": 1.5, - "weightkg": 25, - "color": "Pink", - "prevo": "Ababo", - "evoType": "levelFriendship", - "evos": [ - "Hemogoblin" + "heightm": 1, + "weightkg": 12.2, + "color": "Black", + "tags": [ + "Sub-Legendary" ], "eggGroups": [ - "Monster", - "Fairy" - ], - "canHatch": true, - "gen": 9 + "Undiscovered" + ] }, - "hemogoblin": { - "num": -71, - "name": "hemogoblin", + "fezandipiti": { + "num": 1016, + "name": "fezandipiti", "types": [ - "fairy", - "fire" + "poison", + "fairy" ], - "genderRatio": { - "M": 0.75, - "F": 0.25 - }, + "gender": "M", "baseStats": { - "hp": 90, - "attack": 96, - "defense": 87, - "special-attack": 96, - "special-defense": 89, - "speed": 55 + "hp": 88, + "attack": 91, + "defense": 82, + "special-attack": 70, + "special-defense": 125, + "speed": 99 }, "abilities": { - "0": "Pixilate", - "1": "Intimidate", - "H": "Own Tempo" + "0": "Toxic Chain", + "H": "Technician" }, "heightm": 1.4, - "weightkg": 85, - "color": "Pink", - "prevo": "Scattervein", - "evoType": "useItem", - "evoItem": "Fire Stone", - "eggGroups": [ - "Monster", - "Fairy" + "weightkg": 30.1, + "color": "Black", + "tags": [ + "Sub-Legendary" ], - "gen": 9 + "eggGroups": [ + "Undiscovered" + ] }, - "cresceidon": { - "num": -72, - "name": "cresceidon", + "ogerpon": { + "num": 1017, + "name": "ogerpon", + "baseForme": "Teal", "types": [ - "water", - "fairy" + "grass" ], + "gender": "F", "baseStats": { "hp": 80, - "attack": 32, - "defense": 111, - "special-attack": 88, - "special-defense": 99, - "speed": 124 + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Multiscale", - "1": "Rough Skin", - "H": "Water Veil" + "0": "Defiant" }, - "heightm": 10, - "weightkg": 999.9, - "color": "Blue", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Green", + "tags": [ + "Sub-Legendary" + ], "eggGroups": [ - "Amorphous", - "Water 3" + "Undiscovered" ], - "gen": 9 - }, - "chuggalong": { - "num": -75, - "name": "chuggalong", - "types": [ - "dragon", - "poison" + "otherFormes": [ + "Ogerpon-Wellspring", + "Ogerpon-Hearthflame", + "Ogerpon-Cornerstone", + "Ogerpon-Teal-Tera", + "Ogerpon-Wellspring-Tera", + "Ogerpon-Hearthflame-Tera", + "Ogerpon-Cornerstone-Tera" ], - "baseStats": { - "hp": 45, - "attack": 43, - "defense": 117, - "special-attack": 120, - "special-defense": 110, - "speed": 108 - }, - "abilities": { - "0": "Armor Tail", - "1": "White Smoke", - "H": "Slow Start" - }, - "heightm": 6.2, - "weightkg": 201.6, - "color": "Black", - "eggGroups": [ - "Dragon", - "Mineral" + "formeOrder": [ + "Ogerpon", + "Ogerpon-Wellspring", + "Ogerpon-Hearthflame", + "Ogerpon-Cornerstone", + "Ogerpon-Teal-Tera", + "Ogerpon-Wellspring-Tera", + "Ogerpon-Hearthflame-Tera", + "Ogerpon-Cornerstone-Tera" ], - "gen": 9 + "forceTeraType": "Grass" }, - "pokestarsmeargle": { - "num": -5000, - "name": "pokestar smeargle", + "ogerponwellspring": { + "num": 1017, + "name": "ogerpon-wellspring", + "baseSpecies": "Ogerpon", + "forme": "Wellspring", "types": [ - "normal" + "grass", + "water" ], + "gender": "F", "baseStats": { - "hp": 55, - "attack": 20, - "defense": 35, - "special-attack": 20, - "special-defense": 45, - "speed": 75 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Own Tempo", - "1": "Technician", - "H": "Moody" + "0": "Water Absorb" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Blue", "eggGroups": [ - "Field" + "Undiscovered" ], - "gen": 5 + "requiredItem": "Wellspring Mask", + "changesFrom": "Ogerpon", + "forceTeraType": "Water" }, - "pokestarufo": { - "num": -5001, - "name": "pokestar ufo", + "ogerponhearthflame": { + "num": 1017, + "name": "ogerpon-hearthflame", + "baseSpecies": "Ogerpon", + "forme": "Hearthflame", "types": [ - "flying", - "electric" + "grass", + "fire" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Levitate" - }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "0": "Mold Breaker" + }, + "heightm": 1.2, + "weightkg": 39.8, + "color": "Red", "eggGroups": [ "Undiscovered" ], - "otherFormes": [ - "Pokestar UFO-2", - "Pokestar UFO-PropU2" - ], - "cosmeticFormes": [ - "Pokestar UFO-PropU1" - ], - "gen": 5 + "requiredItem": "Hearthflame Mask", + "changesFrom": "Ogerpon", + "forceTeraType": "Fire" }, - "pokestarufo2": { - "num": -5001, - "name": "pokestar ufo-2", - "baseSpecies": "Pokestar UFO", - "forme": "2", + "ogerponcornerstone": { + "num": 1017, + "name": "ogerpon-cornerstone", + "baseSpecies": "Ogerpon", + "forme": "Cornerstone", "types": [ - "psychic", - "electric" + "grass", + "rock" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Levitate" + "0": "Sturdy" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Gray", "eggGroups": [ "Undiscovered" ], - "gen": 5 + "requiredItem": "Cornerstone Mask", + "changesFrom": "Ogerpon", + "forceTeraType": "Rock" }, - "pokestarbrycenman": { - "num": -5002, - "name": "pokestar brycen-man", + "ogerpontealtera": { + "num": 1017, + "name": "ogerpon-teal-tera", + "baseSpecies": "Ogerpon", + "forme": "Teal-Tera", "types": [ - "dark", - "psychic" + "grass" ], - "gender": "M", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Levitate" + "0": "Embody Aspect (Teal)" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Green", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar Brycen-Man-Prop" - ], - "gen": 5 + "battleOnly": "Ogerpon", + "forceTeraType": "Grass" }, - "pokestarmt": { - "num": -5003, - "name": "pokestar mt", + "ogerponwellspringtera": { + "num": 1017, + "name": "ogerpon-wellspring-tera", + "baseSpecies": "Ogerpon", + "forme": "Wellspring-Tera", "types": [ - "steel" + "grass", + "water" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Analytic" + "0": "Embody Aspect (Wellspring)" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Blue", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar MT-Prop" - ], - "gen": 5 + "requiredItem": "Wellspring Mask", + "battleOnly": "Ogerpon-Wellspring", + "forceTeraType": "Water" }, - "pokestarmt2": { - "num": -5004, - "name": "pokestar mt2", + "ogerponhearthflametera": { + "num": 1017, + "name": "ogerpon-hearthflame-tera", + "baseSpecies": "Ogerpon", + "forme": "Hearthflame-Tera", "types": [ - "steel", - "electric" + "grass", + "fire" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Flash Fire" + "0": "Embody Aspect (Hearthflame)" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Red", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar MT2-Prop" - ], - "gen": 5 + "requiredItem": "Hearthflame Mask", + "battleOnly": "Ogerpon-Hearthflame", + "forceTeraType": "Fire" }, - "pokestartransport": { - "num": -5005, - "name": "pokestar transport", + "ogerponcornerstonetera": { + "num": 1017, + "name": "ogerpon-cornerstone-tera", + "baseSpecies": "Ogerpon", + "forme": "Cornerstone-Tera", "types": [ - "steel" + "grass", + "rock" ], - "gender": "N", + "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 80, + "attack": 120, + "defense": 84, + "special-attack": 60, + "special-defense": 96, + "speed": 110 }, "abilities": { - "0": "Motor Drive" + "0": "Embody Aspect (Cornerstone)" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.2, + "weightkg": 39.8, + "color": "Gray", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar Transport-Prop" - ], - "gen": 5 + "requiredItem": "Cornerstone Mask", + "battleOnly": "Ogerpon-Cornerstone", + "forceTeraType": "Rock" }, - "pokestargiant": { - "num": -5006, - "name": "pokestar giant", + "archaludon": { + "num": 1018, + "name": "archaludon", "types": [ - "normal" + "steel", + "dragon" ], - "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 90, + "attack": 105, + "defense": 130, + "special-attack": 125, + "special-defense": 65, + "speed": 85 }, "abilities": { - "0": "Huge Power" + "0": "Stamina", + "1": "Sturdy", + "H": "Stalwart" }, - "heightm": 1.5, - "weightkg": 61, + "heightm": 2, + "weightkg": 60, "color": "White", + "prevo": "Duraludon", + "evoType": "useItem", + "evoItem": "Metal Alloy", "eggGroups": [ - "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar Giant-2", - "Pokestar Giant-PropO1", - "Pokestar Giant-PropO2" - ], - "gen": 5 + "Mineral", + "Dragon" + ] }, - "pokestarhumanoid": { - "num": -5007, - "name": "pokestar humanoid", + "hydrapple": { + "num": 1019, + "name": "hydrapple", "types": [ - "normal" + "grass", + "dragon" ], "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 106, + "attack": 80, + "defense": 110, + "special-attack": 120, + "special-defense": 80, + "speed": 44 }, "abilities": { - "0": "Insomnia" + "0": "Supersweet Syrup", + "1": "Regenerator", + "H": "Sticky Hold" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.8, + "weightkg": 93, + "color": "Green", + "prevo": "Dipplin", + "evoType": "levelMove", + "evoMove": "Dragon Cheer", "eggGroups": [ - "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar Humanoid-Prop" - ], - "gen": 5 + "Grass", + "Dragon" + ] }, - "pokestarmonster": { - "num": -5008, - "name": "pokestar monster", + "gougingfire": { + "num": 1020, + "name": "gouging fire", "types": [ - "dark" + "fire", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 105, + "attack": 115, + "defense": 121, + "special-attack": 65, + "special-defense": 93, + "speed": 91 }, "abilities": { - "0": "Pressure" + "0": "Protosynthesis" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 3.5, + "weightkg": 590, + "color": "Brown", "eggGroups": [ "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar Monster-Prop" - ], - "gen": 5 + ] }, - "pokestarf00": { - "num": -5009, - "name": "pokestar f-00", + "ragingbolt": { + "num": 1021, + "name": "raging bolt", "types": [ - "steel", - "normal" + "electric", + "dragon" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 125, + "attack": 73, + "defense": 91, + "special-attack": 137, + "special-defense": 89, + "speed": 75 }, "abilities": { - "0": "Volt Absorb" + "0": "Protosynthesis" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 5.2, + "weightkg": 480, + "color": "Yellow", "eggGroups": [ "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar F-00-Prop" - ], - "gen": 5 + ] }, - "pokestarf002": { - "num": -5010, - "name": "pokestar f-002", + "ironboulder": { + "num": 1022, + "name": "iron boulder", "types": [ - "steel", - "normal" + "rock", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 90, + "attack": 120, + "defense": 80, + "special-attack": 68, + "special-defense": 108, + "speed": 124 }, "abilities": { - "0": "Reckless" + "0": "Quark Drive" }, "heightm": 1.5, - "weightkg": 61, - "color": "White", + "weightkg": 162.5, + "color": "Gray", "eggGroups": [ "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar F-002-Prop" - ], - "gen": 5 + ] }, - "pokestarspirit": { - "num": -5011, - "name": "pokestar spirit", + "ironcrown": { + "num": 1023, + "name": "iron crown", "types": [ - "dark", - "ghost" + "steel", + "psychic" ], + "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, + "hp": 90, + "attack": 72, "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "special-attack": 122, + "special-defense": 108, + "speed": 98 }, "abilities": { - "0": "Wonder Guard" + "0": "Quark Drive" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.6, + "weightkg": 156, + "color": "Blue", "eggGroups": [ "Undiscovered" - ], - "cosmeticFormes": [ - "Pokestar Spirit-Prop" - ], - "gen": 5 + ] }, - "pokestarblackdoor": { - "num": -5012, - "name": "pokestar black door", + "terapagos": { + "num": 1024, + "name": "terapagos", "types": [ - "grass" + "normal" ], - "gender": "F", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 90, + "attack": 65, + "defense": 85, + "special-attack": 65, + "special-defense": 85, + "speed": 60 }, "abilities": { - "0": "Early Bird" + "0": "Tera Shift" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 0.2, + "weightkg": 6.5, + "color": "Blue", + "tags": [ + "Restricted Legendary" + ], "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar Black Door-Prop" + "otherFormes": [ + "Terapagos-Terastal", + "Terapagos-Stellar" + ], + "formeOrder": [ + "Terapagos", + "Terapagos-Terastal", + "Terapagos-Stellar" ], - "gen": 5 + "forceTeraType": "Stellar" }, - "pokestarwhitedoor": { - "num": -5013, - "name": "pokestar white door", + "terapagosterastal": { + "num": 1024, + "name": "terapagos-terastal", + "baseSpecies": "Terapagos", + "forme": "Terastal", "types": [ - "fire" + "normal" ], - "gender": "M", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 95, + "attack": 95, + "defense": 110, + "special-attack": 105, + "special-defense": 110, + "speed": 85 }, "abilities": { - "0": "Blaze" + "0": "Tera Shell" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 0.3, + "weightkg": 16, + "color": "Blue", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar White Door-Prop" - ], - "gen": 5 + "battleOnly": "Terapagos", + "forceTeraType": "Stellar" }, - "pokestarblackbelt": { - "num": -5014, - "name": "pokestar black belt", + "terapagosstellar": { + "num": 1024, + "name": "terapagos-stellar", + "baseSpecies": "Terapagos", + "forme": "Stellar", "types": [ - "fighting" + "normal" ], - "gender": "M", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 160, + "attack": 105, + "defense": 110, + "special-attack": 130, + "special-defense": 110, + "speed": 85 }, "abilities": { - "0": "Huge Power" + "0": "Teraform Zero" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 1.7, + "weightkg": 77, + "color": "Blue", "eggGroups": [ "Undiscovered" ], - "cosmeticFormes": [ - "Pokestar Black Belt-Prop" - ], - "gen": 5 + "battleOnly": "Terapagos", + "forceTeraType": "Stellar" }, - "pokestarufopropu2": { - "num": -5001, - "name": "pokestar ufo-propu2", - "baseSpecies": "Pokestar UFO", - "forme": "PropU2", + "pecharunt": { + "num": 1025, + "name": "pecharunt", "types": [ - "psychic", - "electric" + "poison", + "ghost" ], "gender": "N", "baseStats": { - "hp": 100, - "attack": 100, - "defense": 100, - "special-attack": 100, - "special-defense": 100, - "speed": 100 + "hp": 88, + "attack": 88, + "defense": 160, + "special-attack": 88, + "special-defense": 88, + "speed": 88 }, "abilities": { - "0": "Levitate" + "0": "Poison Puppeteer" }, - "heightm": 1.5, - "weightkg": 61, - "color": "White", + "heightm": 0.3, + "weightkg": 0.3, + "color": "Purple", + "tags": [ + "Mythical" + ], "eggGroups": [ "Undiscovered" - ], - "gen": 5 + ] } } \ No newline at end of file diff --git a/data/random_battle_sets.json b/data/random_battle_sets.json deleted file mode 100644 index 35b6a055a..000000000 --- a/data/random_battle_sets.json +++ /dev/null @@ -1,26752 +0,0 @@ -{ - "abomasnow": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 187, - "items": [ - [ - "lightclay", - 73.797 - ], - [ - "assaultvest", - 26.203 - ] - ], - "moves": [ - [ - "earthquake", - 69.519 - ], - [ - "auroraveil", - 73.797 - ], - [ - "woodhammer", - 82.353 - ], - [ - "blizzard", - 100.0 - ], - [ - "iceshard", - 74.332 - ] - ], - "sets": { - "auroraveil|blizzard|earthquake|iceshard": 17.647, - "auroraveil|blizzard|earthquake|woodhammer": 25.668, - "auroraveil|blizzard|iceshard|woodhammer": 30.481, - "blizzard|earthquake|iceshard|woodhammer": 26.203 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "absol": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 348, - "items": [ - [ - "lifeorb", - 67.816 - ], - [ - "focussash", - 11.494 - ], - [ - "choiceband", - 20.69 - ] - ], - "moves": [ - [ - "swordsdance", - 79.31 - ], - [ - "knockoff", - 100.0 - ], - [ - "suckerpunch", - 83.333 - ], - [ - "closecombat", - 72.701 - ], - [ - "playrough", - 64.655 - ] - ], - "sets": { - "closecombat|knockoff|playrough|suckerpunch": 20.69, - "closecombat|knockoff|playrough|swordsdance": 16.667, - "closecombat|knockoff|suckerpunch|swordsdance": 35.345, - "knockoff|playrough|suckerpunch|swordsdance": 27.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "accelgor": { - "abilities": [ - [ - "stickyhold", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "choicespecs", - 4.787 - ], - [ - "heavydutyboots", - 68.617 - ], - [ - "lifeorb", - 2.128 - ], - [ - "focussash", - 23.404 - ], - [ - "leftovers", - 1.064 - ] - ], - "moves": [ - [ - "energyball", - 52.128 - ], - [ - "bugbuzz", - 100.0 - ], - [ - "sludgebomb", - 56.383 - ], - [ - "focusblast", - 54.255 - ], - [ - "toxic", - 65.957 - ], - [ - "spikes", - 51.596 - ], - [ - "yawn", - 19.681 - ] - ], - "sets": { - "bugbuzz|energyball|focusblast|sludgebomb": 4.787, - "bugbuzz|energyball|focusblast|spikes": 3.191, - "bugbuzz|energyball|focusblast|toxic": 9.043, - "bugbuzz|energyball|focusblast|yawn": 3.191, - "bugbuzz|energyball|sludgebomb|spikes": 2.66, - "bugbuzz|energyball|sludgebomb|toxic": 11.17, - "bugbuzz|energyball|sludgebomb|yawn": 2.66, - "bugbuzz|energyball|spikes|toxic": 11.702, - "bugbuzz|energyball|spikes|yawn": 3.723, - "bugbuzz|focusblast|sludgebomb|spikes": 3.723, - "bugbuzz|focusblast|sludgebomb|toxic": 13.83, - "bugbuzz|focusblast|sludgebomb|yawn": 3.723, - "bugbuzz|focusblast|spikes|toxic": 9.574, - "bugbuzz|focusblast|spikes|yawn": 3.191, - "bugbuzz|sludgebomb|spikes|toxic": 10.638, - "bugbuzz|sludgebomb|spikes|yawn": 3.191 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aegislash": { - "abilities": [ - [ - "stancechange", - 100.0 - ] - ], - "count": 334, - "items": [ - [ - "lifeorb", - 47.605 - ], - [ - "leftovers", - 43.413 - ], - [ - "choiceband", - 8.982 - ] - ], - "moves": [ - [ - "closecombat", - 54.491 - ], - [ - "shadowsneak", - 42.814 - ], - [ - "swordsdance", - 39.222 - ], - [ - "ironhead", - 48.204 - ], - [ - "kingsshield", - 50.299 - ], - [ - "substitute", - 43.413 - ], - [ - "toxic", - 43.413 - ], - [ - "shadowball", - 50.599 - ], - [ - "shadowclaw", - 22.156 - ], - [ - "flashcannon", - 5.389 - ] - ], - "sets": { - "closecombat|flashcannon|kingsshield|shadowball": 0.599, - "closecombat|flashcannon|kingsshield|shadowsneak": 1.198, - "closecombat|flashcannon|shadowball|shadowsneak": 1.497, - "closecombat|ironhead|shadowclaw|shadowsneak": 8.982, - "closecombat|ironhead|shadowclaw|swordsdance": 13.174, - "closecombat|ironhead|shadowsneak|swordsdance": 26.048, - "closecombat|kingsshield|shadowball|shadowsneak": 2.994, - "flashcannon|kingsshield|shadowball|shadowsneak": 2.096, - "kingsshield|shadowball|substitute|toxic": 43.413 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aerodactyl": { - "abilities": [ - [ - "unnerve", - 100.0 - ] - ], - "count": 334, - "items": [ - [ - "heavydutyboots", - 66.766 - ], - [ - "choiceband", - 16.766 - ], - [ - "focussash", - 10.479 - ], - [ - "lifeorb", - 5.988 - ] - ], - "moves": [ - [ - "dualwingbeat", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "honeclaws", - 83.234 - ], - [ - "aquatail", - 16.766 - ] - ], - "sets": { - "aquatail|dualwingbeat|earthquake|stoneedge": 16.766, - "dualwingbeat|earthquake|honeclaws|stoneedge": 83.234 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aggron": { - "abilities": [ - [ - "rockhead", - 100.0 - ] - ], - "count": 349, - "items": [ - [ - "airballoon", - 87.966 - ], - [ - "choiceband", - 12.034 - ] - ], - "moves": [ - [ - "headsmash", - 100.0 - ], - [ - "rockpolish", - 74.499 - ], - [ - "heavyslam", - 100.0 - ], - [ - "bodypress", - 56.734 - ], - [ - "earthquake", - 55.301 - ], - [ - "stealthrock", - 13.467 - ] - ], - "sets": { - "bodypress|earthquake|headsmash|heavyslam": 12.034, - "bodypress|headsmash|heavyslam|rockpolish": 36.676, - "bodypress|headsmash|heavyslam|stealthrock": 8.023, - "earthquake|headsmash|heavyslam|rockpolish": 37.822, - "earthquake|headsmash|heavyslam|stealthrock": 5.444 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "alakazam": { - "abilities": [ - [ - "magicguard", - 100.0 - ] - ], - "count": 382, - "items": [ - [ - "lifeorb", - 80.89 - ], - [ - "focussash", - 19.11 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "nastyplot", - 80.89 - ], - [ - "shadowball", - 100.0 - ], - [ - "focusblast", - 100.0 - ], - [ - "counter", - 19.11 - ] - ], - "sets": { - "counter|focusblast|psychic|shadowball": 19.11, - "focusblast|nastyplot|psychic|shadowball": 80.89 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "alcremie": { - "abilities": [ - [ - "aromaveil", - 49.351 - ], - [ - "sweetveil", - 50.649 - ] - ], - "count": 385, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 28.312 - ], - [ - "recover", - 100.0 - ], - [ - "calmmind", - 100.0 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "mysticalfire", - 71.688 - ] - ], - "sets": { - "calmmind|dazzlinggleam|mysticalfire|recover": 71.688, - "calmmind|dazzlinggleam|psychic|recover": 28.312 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "altaria": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 171, - "items": [ - [ - "heavydutyboots", - 96.491 - ], - [ - "leftovers", - 1.754 - ], - [ - "lifeorb", - 1.754 - ] - ], - "moves": [ - [ - "earthquake", - 45.614 - ], - [ - "fireblast", - 43.275 - ], - [ - "dracometeor", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "toxic", - 69.591 - ], - [ - "defog", - 41.52 - ] - ], - "sets": { - "defog|dracometeor|earthquake|roost": 8.772, - "defog|dracometeor|fireblast|roost": 12.281, - "defog|dracometeor|roost|toxic": 20.468, - "dracometeor|earthquake|fireblast|roost": 9.357, - "dracometeor|earthquake|roost|toxic": 27.485, - "dracometeor|fireblast|roost|toxic": 21.637 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "amoonguss": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 315, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 100.0 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "gigadrain", - 65.714 - ], - [ - "spore", - 100.0 - ], - [ - "synthesis", - 34.286 - ] - ], - "sets": { - "gigadrain|sludgebomb|spore|toxic": 65.714, - "sludgebomb|spore|synthesis|toxic": 34.286 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "appletun": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "dracometeor", - 70.091 - ], - [ - "leechseed", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "appleacid", - 100.0 - ], - [ - "dragonpulse", - 29.909 - ] - ], - "sets": { - "appleacid|dracometeor|leechseed|recover": 70.091, - "appleacid|dragonpulse|leechseed|recover": 29.909 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "araquanid": { - "abilities": [ - [ - "waterbubble", - 100.0 - ] - ], - "count": 356, - "items": [ - [ - "mysticwater", - 100.0 - ] - ], - "moves": [ - [ - "liquidation", - 100.0 - ], - [ - "leechlife", - 80.056 - ], - [ - "toxic", - 80.056 - ], - [ - "stickyweb", - 98.315 - ], - [ - "mirrorcoat", - 41.573 - ] - ], - "sets": { - "leechlife|liquidation|mirrorcoat|stickyweb": 19.944, - "leechlife|liquidation|mirrorcoat|toxic": 1.685, - "leechlife|liquidation|stickyweb|toxic": 58.427, - "liquidation|mirrorcoat|stickyweb|toxic": 19.944 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arcanine": { - "abilities": [ - [ - "intimidate", - 49.66 - ], - [ - "flashfire", - 50.34 - ] - ], - "count": 294, - "items": [ - [ - "heavydutyboots", - 91.837 - ], - [ - "choiceband", - 4.082 - ], - [ - "leftovers", - 2.381 - ], - [ - "lifeorb", - 1.701 - ] - ], - "moves": [ - [ - "toxic", - 43.197 - ], - [ - "morningsun", - 95.918 - ], - [ - "flareblitz", - 100.0 - ], - [ - "closecombat", - 42.177 - ], - [ - "wildcharge", - 40.136 - ], - [ - "extremespeed", - 45.578 - ], - [ - "willowisp", - 32.993 - ] - ], - "sets": { - "closecombat|extremespeed|flareblitz|morningsun": 7.823, - "closecombat|extremespeed|flareblitz|wildcharge": 4.082, - "closecombat|flareblitz|morningsun|toxic": 14.286, - "closecombat|flareblitz|morningsun|wildcharge": 6.803, - "closecombat|flareblitz|morningsun|willowisp": 9.184, - "extremespeed|flareblitz|morningsun|toxic": 16.667, - "extremespeed|flareblitz|morningsun|wildcharge": 5.102, - "extremespeed|flareblitz|morningsun|willowisp": 11.905, - "flareblitz|morningsun|toxic|wildcharge": 12.245, - "flareblitz|morningsun|wildcharge|willowisp": 11.905 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "archeops": { - "abilities": [ - [ - "defeatist", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "heavydutyboots", - 77.946 - ], - [ - "choiceband", - 22.054 - ] - ], - "moves": [ - [ - "dualwingbeat", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "roost", - 77.946 - ], - [ - "earthquake", - 60.121 - ], - [ - "uturn", - 61.934 - ] - ], - "sets": { - "dualwingbeat|earthquake|roost|stoneedge": 38.066, - "dualwingbeat|earthquake|stoneedge|uturn": 22.054, - "dualwingbeat|roost|stoneedge|uturn": 39.879 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arctovish": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 156, - "items": [ - [ - "assaultvest", - 53.205 - ], - [ - "choiceband", - 46.795 - ] - ], - "moves": [ - [ - "iciclecrash", - 100.0 - ], - [ - "psychicfangs", - 68.59 - ], - [ - "freezedry", - 53.205 - ], - [ - "fishiousrend", - 100.0 - ], - [ - "bodyslam", - 78.205 - ] - ], - "sets": { - "bodyslam|fishiousrend|freezedry|iciclecrash": 31.41, - "bodyslam|fishiousrend|iciclecrash|psychicfangs": 46.795, - "fishiousrend|freezedry|iciclecrash|psychicfangs": 21.795 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "arctozolt": { - "abilities": [ - [ - "voltabsorb", - 97.846 - ], - [ - "slushrush", - 2.154 - ] - ], - "count": 325, - "items": [ - [ - "heavydutyboots", - 75.077 - ], - [ - "assaultvest", - 18.769 - ], - [ - "lifeorb", - 6.154 - ] - ], - "moves": [ - [ - "iciclecrash", - 100.0 - ], - [ - "stompingtantrum", - 62.769 - ], - [ - "boltbeak", - 100.0 - ], - [ - "thunderwave", - 81.231 - ], - [ - "freezedry", - 56.0 - ] - ], - "sets": { - "boltbeak|freezedry|iciclecrash|stompingtantrum": 18.769, - "boltbeak|freezedry|iciclecrash|thunderwave": 37.231, - "boltbeak|iciclecrash|stompingtantrum|thunderwave": 44.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "armaldo": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "heavydutyboots", - 92.697 - ], - [ - "choiceband", - 4.494 - ], - [ - "lifeorb", - 2.809 - ] - ], - "moves": [ - [ - "swordsdance", - 67.416 - ], - [ - "rapidspin", - 48.315 - ], - [ - "earthquake", - 54.494 - ], - [ - "stoneedge", - 100.0 - ], - [ - "knockoff", - 56.18 - ], - [ - "stealthrock", - 19.101 - ], - [ - "liquidation", - 54.494 - ] - ], - "sets": { - "earthquake|knockoff|liquidation|stoneedge": 4.494, - "earthquake|knockoff|rapidspin|stoneedge": 2.809, - "earthquake|knockoff|stealthrock|stoneedge": 4.494, - "earthquake|knockoff|stoneedge|swordsdance": 11.798, - "earthquake|liquidation|rapidspin|stoneedge": 3.371, - "earthquake|liquidation|stealthrock|stoneedge": 2.809, - "earthquake|liquidation|stoneedge|swordsdance": 12.36, - "earthquake|rapidspin|stealthrock|stoneedge": 4.494, - "earthquake|rapidspin|stoneedge|swordsdance": 7.865, - "knockoff|liquidation|rapidspin|stoneedge": 2.809, - "knockoff|liquidation|stealthrock|stoneedge": 2.247, - "knockoff|liquidation|stoneedge|swordsdance": 13.483, - "knockoff|rapidspin|stealthrock|stoneedge": 2.809, - "knockoff|rapidspin|stoneedge|swordsdance": 11.236, - "liquidation|rapidspin|stealthrock|stoneedge": 2.247, - "liquidation|rapidspin|stoneedge|swordsdance": 10.674 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aromatisse": { - "abilities": [ - [ - "aromaveil", - 100.0 - ] - ], - "count": 369, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "moonblast", - 100.0 - ], - [ - "toxic", - 59.892 - ], - [ - "wish", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "calmmind", - 40.108 - ] - ], - "sets": { - "calmmind|moonblast|protect|wish": 40.108, - "moonblast|protect|toxic|wish": 59.892 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "articuno": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "freezedry", - 100.0 - ], - [ - "healbell", - 64.481 - ], - [ - "roost", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "defog", - 35.519 - ] - ], - "sets": { - "defog|freezedry|roost|toxic": 35.519, - "freezedry|healbell|roost|toxic": 64.481 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "articunogalar": { - "abilities": [ - [ - "competitive", - 100.0 - ] - ], - "count": 343, - "items": [ - [ - "heavydutyboots", - 92.42 - ], - [ - "leftovers", - 7.58 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "freezingglare", - 100.0 - ], - [ - "calmmind", - 100.0 - ], - [ - "airslash", - 100.0 - ] - ], - "sets": { - "airslash|calmmind|freezingglare|recover": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "audino": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 167, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "protect", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "toxic", - 81.437 - ], - [ - "wish", - 100.0 - ], - [ - "healbell", - 18.563 - ] - ], - "sets": { - "healbell|knockoff|protect|wish": 18.563, - "knockoff|protect|toxic|wish": 81.437 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "aurorus": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 181, - "items": [ - [ - "heavydutyboots", - 73.481 - ], - [ - "choicespecs", - 24.309 - ], - [ - "leftovers", - 2.21 - ] - ], - "moves": [ - [ - "earthpower", - 57.459 - ], - [ - "freezedry", - 72.376 - ], - [ - "blizzard", - 100.0 - ], - [ - "thunderwave", - 47.514 - ], - [ - "stealthrock", - 46.409 - ], - [ - "ancientpower", - 76.243 - ] - ], - "sets": { - "ancientpower|blizzard|earthpower|freezedry": 24.309, - "ancientpower|blizzard|earthpower|stealthrock": 9.945, - "ancientpower|blizzard|earthpower|thunderwave": 6.63, - "ancientpower|blizzard|freezedry|stealthrock": 14.917, - "ancientpower|blizzard|freezedry|thunderwave": 14.917, - "ancientpower|blizzard|stealthrock|thunderwave": 5.525, - "blizzard|earthpower|freezedry|stealthrock": 3.315, - "blizzard|earthpower|freezedry|thunderwave": 7.735, - "blizzard|earthpower|stealthrock|thunderwave": 5.525, - "blizzard|freezedry|stealthrock|thunderwave": 7.182 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "avalugg": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 162, - "items": [ - [ - "leftovers", - 80.247 - ], - [ - "heavydutyboots", - 19.753 - ] - ], - "moves": [ - [ - "curse", - 80.247 - ], - [ - "recover", - 100.0 - ], - [ - "avalanche", - 100.0 - ], - [ - "bodypress", - 100.0 - ], - [ - "rapidspin", - 19.753 - ] - ], - "sets": { - "avalanche|bodypress|curse|recover": 80.247, - "avalanche|bodypress|rapidspin|recover": 19.753 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "azelf": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 359, - "items": [ - [ - "leftovers", - 28.969 - ], - [ - "lifeorb", - 51.253 - ], - [ - "focussash", - 15.599 - ], - [ - "choicespecs", - 4.178 - ] - ], - "moves": [ - [ - "fireblast", - 82.173 - ], - [ - "taunt", - 29.805 - ], - [ - "psyshock", - 41.504 - ], - [ - "uturn", - 29.526 - ], - [ - "dazzlinggleam", - 79.109 - ], - [ - "nastyplot", - 51.532 - ], - [ - "psychic", - 58.496 - ], - [ - "stealthrock", - 27.855 - ] - ], - "sets": { - "dazzlinggleam|fireblast|nastyplot|psychic": 26.741, - "dazzlinggleam|fireblast|nastyplot|psyshock": 24.791, - "dazzlinggleam|fireblast|psychic|stealthrock": 2.786, - "dazzlinggleam|fireblast|psychic|taunt": 4.457, - "dazzlinggleam|fireblast|psychic|uturn": 2.507, - "dazzlinggleam|fireblast|psyshock|stealthrock": 1.114, - "dazzlinggleam|fireblast|psyshock|taunt": 1.95, - "dazzlinggleam|fireblast|psyshock|uturn": 1.671, - "dazzlinggleam|psychic|stealthrock|taunt": 2.228, - "dazzlinggleam|psychic|stealthrock|uturn": 4.178, - "dazzlinggleam|psychic|taunt|uturn": 1.95, - "dazzlinggleam|psyshock|stealthrock|taunt": 1.671, - "dazzlinggleam|psyshock|stealthrock|uturn": 1.393, - "dazzlinggleam|psyshock|taunt|uturn": 1.671, - "fireblast|psychic|stealthrock|taunt": 3.343, - "fireblast|psychic|stealthrock|uturn": 3.621, - "fireblast|psychic|taunt|uturn": 3.9, - "fireblast|psyshock|stealthrock|taunt": 1.393, - "fireblast|psyshock|stealthrock|uturn": 1.393, - "fireblast|psyshock|taunt|uturn": 2.507, - "psychic|stealthrock|taunt|uturn": 2.786, - "psyshock|stealthrock|taunt|uturn": 1.95 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "azumarill": { - "abilities": [ - [ - "hugepower", - 100.0 - ] - ], - "count": 300, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "aquajet", - 86.667 - ], - [ - "playrough", - 100.0 - ], - [ - "superpower", - 56.333 - ], - [ - "liquidation", - 100.0 - ], - [ - "knockoff", - 57.0 - ] - ], - "sets": { - "aquajet|knockoff|liquidation|playrough": 43.667, - "aquajet|liquidation|playrough|superpower": 43.0, - "knockoff|liquidation|playrough|superpower": 13.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "barbaracle": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 395, - "items": [ - [ - "whiteherb", - 78.481 - ], - [ - "choicescarf", - 14.43 - ], - [ - "choiceband", - 7.089 - ] - ], - "moves": [ - [ - "shellsmash", - 78.481 - ], - [ - "stoneedge", - 100.0 - ], - [ - "earthquake", - 59.241 - ], - [ - "liquidation", - 100.0 - ], - [ - "crosschop", - 62.278 - ] - ], - "sets": { - "crosschop|earthquake|liquidation|stoneedge": 21.519, - "crosschop|liquidation|shellsmash|stoneedge": 40.759, - "earthquake|liquidation|shellsmash|stoneedge": 37.722 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "barraskewda": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 282, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "crunch", - 74.468 - ], - [ - "psychicfangs", - 75.532 - ], - [ - "liquidation", - 100.0 - ], - [ - "poisonjab", - 75.532 - ], - [ - "closecombat", - 74.468 - ] - ], - "sets": { - "closecombat|crunch|liquidation|poisonjab": 24.468, - "closecombat|crunch|liquidation|psychicfangs": 24.468, - "closecombat|liquidation|poisonjab|psychicfangs": 25.532, - "crunch|liquidation|poisonjab|psychicfangs": 25.532 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "basculin": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 79, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "flipturn", - 25.316 - ], - [ - "psychicfangs", - 72.152 - ], - [ - "crunch", - 62.025 - ], - [ - "liquidation", - 100.0 - ], - [ - "headsmash", - 72.152 - ], - [ - "aquajet", - 68.354 - ] - ], - "sets": { - "aquajet|crunch|headsmash|liquidation": 22.785, - "aquajet|crunch|liquidation|psychicfangs": 18.987, - "aquajet|headsmash|liquidation|psychicfangs": 26.582, - "crunch|flipturn|headsmash|liquidation": 5.063, - "crunch|flipturn|liquidation|psychicfangs": 8.861, - "crunch|headsmash|liquidation|psychicfangs": 6.329, - "flipturn|headsmash|liquidation|psychicfangs": 11.392 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "basculinbluestriped": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 92, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "aquajet", - 66.304 - ], - [ - "crunch", - 76.087 - ], - [ - "liquidation", - 100.0 - ], - [ - "headsmash", - 69.565 - ], - [ - "flipturn", - 27.174 - ], - [ - "psychicfangs", - 60.87 - ] - ], - "sets": { - "aquajet|crunch|headsmash|liquidation": 28.261, - "aquajet|crunch|liquidation|psychicfangs": 20.652, - "aquajet|headsmash|liquidation|psychicfangs": 17.391, - "crunch|flipturn|headsmash|liquidation": 10.87, - "crunch|flipturn|liquidation|psychicfangs": 9.783, - "crunch|headsmash|liquidation|psychicfangs": 6.522, - "flipturn|headsmash|liquidation|psychicfangs": 6.522 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beartic": { - "abilities": [ - [ - "slushrush", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "heavydutyboots", - 72.043 - ], - [ - "choiceband", - 24.194 - ], - [ - "lifeorb", - 3.763 - ] - ], - "moves": [ - [ - "swordsdance", - 75.806 - ], - [ - "aquajet", - 72.043 - ], - [ - "superpower", - 76.344 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "stoneedge", - 75.806 - ] - ], - "sets": { - "aquajet|iciclecrash|stoneedge|superpower": 24.194, - "aquajet|iciclecrash|stoneedge|swordsdance": 23.656, - "aquajet|iciclecrash|superpower|swordsdance": 24.194, - "iciclecrash|stoneedge|superpower|swordsdance": 27.957 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "beheeyem": { - "abilities": [ - [ - "analytic", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "choicespecs", - 42.021 - ], - [ - "lifeorb", - 48.404 - ], - [ - "focussash", - 9.574 - ] - ], - "moves": [ - [ - "trick", - 42.021 - ], - [ - "shadowball", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "psychic", - 100.0 - ], - [ - "trickroom", - 57.979 - ] - ], - "sets": { - "psychic|shadowball|thunderbolt|trick": 42.021, - "psychic|shadowball|thunderbolt|trickroom": 57.979 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bellossom": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "strengthsap", - 81.026 - ], - [ - "quiverdance", - 100.0 - ], - [ - "moonblast", - 56.923 - ], - [ - "gigadrain", - 100.0 - ], - [ - "sleeppowder", - 62.051 - ] - ], - "sets": { - "gigadrain|moonblast|quiverdance|sleeppowder": 18.974, - "gigadrain|moonblast|quiverdance|strengthsap": 37.949, - "gigadrain|quiverdance|sleeppowder|strengthsap": 43.077 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bewear": { - "abilities": [ - [ - "fluffy", - 100.0 - ] - ], - "count": 433, - "items": [ - [ - "lifeorb", - 77.598 - ], - [ - "choicescarf", - 14.319 - ], - [ - "choiceband", - 8.083 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "icepunch", - 70.439 - ], - [ - "doubleedge", - 84.065 - ], - [ - "swordsdance", - 77.598 - ], - [ - "darkestlariat", - 67.898 - ] - ], - "sets": { - "closecombat|darkestlariat|doubleedge|icepunch": 22.402, - "closecombat|darkestlariat|doubleedge|swordsdance": 29.561, - "closecombat|darkestlariat|icepunch|swordsdance": 15.935, - "closecombat|doubleedge|icepunch|swordsdance": 32.102 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bisharp": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 308, - "items": [ - [ - "focussash", - 11.364 - ], - [ - "lifeorb", - 88.636 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "swordsdance", - 85.39 - ], - [ - "knockoff", - 100.0 - ], - [ - "suckerpunch", - 100.0 - ], - [ - "stealthrock", - 14.61 - ] - ], - "sets": { - "ironhead|knockoff|stealthrock|suckerpunch": 14.61, - "ironhead|knockoff|suckerpunch|swordsdance": 85.39 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blacephalon": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 407, - "items": [ - [ - "heavydutyboots", - 62.899 - ], - [ - "lifeorb", - 9.091 - ], - [ - "focussash", - 11.057 - ], - [ - "choicescarf", - 16.953 - ] - ], - "moves": [ - [ - "calmmind", - 83.047 - ], - [ - "fireblast", - 100.0 - ], - [ - "psyshock", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "trick", - 16.953 - ] - ], - "sets": { - "calmmind|fireblast|psyshock|shadowball": 83.047, - "fireblast|psyshock|shadowball|trick": 16.953 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blastoise": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 326, - "items": [ - [ - "whiteherb", - 47.546 - ], - [ - "leftovers", - 52.454 - ] - ], - "moves": [ - [ - "earthquake", - 47.546 - ], - [ - "shellsmash", - 47.546 - ], - [ - "hydropump", - 47.546 - ], - [ - "icebeam", - 83.742 - ], - [ - "toxic", - 52.454 - ], - [ - "protect", - 34.356 - ], - [ - "scald", - 52.454 - ], - [ - "rapidspin", - 34.356 - ] - ], - "sets": { - "earthquake|hydropump|icebeam|shellsmash": 47.546, - "icebeam|protect|scald|toxic": 18.098, - "icebeam|rapidspin|scald|toxic": 18.098, - "protect|rapidspin|scald|toxic": 16.258 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blaziken": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 431, - "items": [ - [ - "lifeorb", - 75.87 - ], - [ - "choiceband", - 24.13 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "knockoff", - 59.397 - ], - [ - "swordsdance", - 75.87 - ], - [ - "stoneedge", - 64.733 - ] - ], - "sets": { - "closecombat|flareblitz|knockoff|stoneedge": 24.13, - "closecombat|flareblitz|knockoff|swordsdance": 35.267, - "closecombat|flareblitz|stoneedge|swordsdance": 40.603 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "blissey": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 302, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 100.0 - ], - [ - "teleport", - 82.781 - ], - [ - "softboiled", - 100.0 - ], - [ - "seismictoss", - 100.0 - ], - [ - "stealthrock", - 17.219 - ] - ], - "sets": { - "seismictoss|softboiled|stealthrock|toxic": 17.219, - "seismictoss|softboiled|teleport|toxic": 82.781 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "boltund": { - "abilities": [ - [ - "strongjaw", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "focussash", - 20.305 - ], - [ - "lifeorb", - 69.543 - ], - [ - "choiceband", - 10.152 - ] - ], - "moves": [ - [ - "playrough", - 45.178 - ], - [ - "firefang", - 53.807 - ], - [ - "bulkup", - 62.944 - ], - [ - "thunderfang", - 100.0 - ], - [ - "psychicfangs", - 55.838 - ], - [ - "voltswitch", - 26.904 - ], - [ - "crunch", - 55.33 - ] - ], - "sets": { - "bulkup|crunch|firefang|thunderfang": 12.183, - "bulkup|crunch|playrough|thunderfang": 6.091, - "bulkup|crunch|psychicfangs|thunderfang": 14.213, - "bulkup|firefang|playrough|thunderfang": 9.645, - "bulkup|firefang|psychicfangs|thunderfang": 12.183, - "bulkup|playrough|psychicfangs|thunderfang": 8.629, - "crunch|firefang|playrough|thunderfang": 3.046, - "crunch|firefang|psychicfangs|thunderfang": 2.03, - "crunch|firefang|thunderfang|voltswitch": 3.046, - "crunch|playrough|psychicfangs|thunderfang": 4.061, - "crunch|playrough|thunderfang|voltswitch": 5.076, - "crunch|psychicfangs|thunderfang|voltswitch": 5.584, - "firefang|playrough|psychicfangs|thunderfang": 1.015, - "firefang|playrough|thunderfang|voltswitch": 5.076, - "firefang|psychicfangs|thunderfang|voltswitch": 5.584, - "playrough|psychicfangs|thunderfang|voltswitch": 2.538 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bouffalant": { - "abilities": [ - [ - "reckless", - 58.286 - ], - [ - "sapsipper", - 41.714 - ] - ], - "count": 175, - "items": [ - [ - "leftovers", - 82.857 - ], - [ - "choiceband", - 17.143 - ] - ], - "moves": [ - [ - "swordsdance", - 82.857 - ], - [ - "megahorn", - 68.0 - ], - [ - "closecombat", - 73.714 - ], - [ - "headcharge", - 100.0 - ], - [ - "earthquake", - 75.429 - ] - ], - "sets": { - "closecombat|earthquake|headcharge|megahorn": 17.143, - "closecombat|earthquake|headcharge|swordsdance": 32.0, - "closecombat|headcharge|megahorn|swordsdance": 24.571, - "earthquake|headcharge|megahorn|swordsdance": 26.286 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "braviary": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 327, - "items": [ - [ - "heavydutyboots", - 90.52 - ], - [ - "choicescarf", - 3.364 - ], - [ - "choiceband", - 2.141 - ], - [ - "leftovers", - 3.976 - ] - ], - "moves": [ - [ - "bulkup", - 77.982 - ], - [ - "roost", - 94.495 - ], - [ - "closecombat", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "uturn", - 22.018 - ], - [ - "retaliate", - 5.505 - ] - ], - "sets": { - "bravebird|bulkup|closecombat|roost": 77.982, - "bravebird|closecombat|retaliate|uturn": 5.505, - "bravebird|closecombat|roost|uturn": 16.514 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "bronzong": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 314, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "protect", - 70.064 - ], - [ - "toxic", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "earthquake", - 73.248 - ], - [ - "stealthrock", - 56.688 - ] - ], - "sets": { - "earthquake|ironhead|protect|toxic": 43.312, - "earthquake|ironhead|stealthrock|toxic": 29.936, - "ironhead|protect|stealthrock|toxic": 26.752 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "butterfree": { - "abilities": [ - [ - "compoundeyes", - 32.517 - ], - [ - "tintedlens", - 67.483 - ] - ], - "count": 286, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "hurricane", - 32.517 - ], - [ - "quiverdance", - 100.0 - ], - [ - "sleeppowder", - 100.0 - ], - [ - "energyball", - 32.517 - ], - [ - "airslash", - 67.483 - ], - [ - "bugbuzz", - 67.483 - ] - ], - "sets": { - "airslash|bugbuzz|quiverdance|sleeppowder": 67.483, - "energyball|hurricane|quiverdance|sleeppowder": 32.517 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "buzzwole": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 338, - "items": [ - [ - "choiceband", - 68.047 - ], - [ - "choicescarf", - 31.953 - ] - ], - "moves": [ - [ - "dualwingbeat", - 55.325 - ], - [ - "leechlife", - 70.414 - ], - [ - "closecombat", - 100.0 - ], - [ - "stoneedge", - 56.805 - ], - [ - "darkestlariat", - 60.355 - ], - [ - "ironhead", - 57.101 - ] - ], - "sets": { - "closecombat|darkestlariat|dualwingbeat|ironhead": 7.988, - "closecombat|darkestlariat|dualwingbeat|leechlife": 12.13, - "closecombat|darkestlariat|dualwingbeat|stoneedge": 8.284, - "closecombat|darkestlariat|ironhead|leechlife": 13.018, - "closecombat|darkestlariat|ironhead|stoneedge": 7.101, - "closecombat|darkestlariat|leechlife|stoneedge": 11.834, - "closecombat|dualwingbeat|ironhead|leechlife": 10.059, - "closecombat|dualwingbeat|ironhead|stoneedge": 6.213, - "closecombat|dualwingbeat|leechlife|stoneedge": 10.651, - "closecombat|ironhead|leechlife|stoneedge": 12.722 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "calyrex": { - "abilities": [ - [ - "unnerve", - 100.0 - ] - ], - "count": 60, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psyshock", - 100.0 - ], - [ - "substitute", - 100.0 - ], - [ - "calmmind", - 91.667 - ], - [ - "gigadrain", - 100.0 - ], - [ - "leechseed", - 8.333 - ] - ], - "sets": { - "calmmind|gigadrain|psyshock|substitute": 91.667, - "gigadrain|leechseed|psyshock|substitute": 8.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "calyrexice": { - "abilities": [ - [ - "asoneglastrier", - 100.0 - ] - ], - "count": 99, - "items": [ - [ - "weaknesspolicy", - 82.828 - ], - [ - "heavydutyboots", - 14.141 - ], - [ - "lifeorb", - 3.03 - ] - ], - "moves": [ - [ - "glaciallance", - 100.0 - ], - [ - "highhorsepower", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "agility", - 82.828 - ], - [ - "trickroom", - 17.172 - ] - ], - "sets": { - "agility|closecombat|glaciallance|highhorsepower": 82.828, - "closecombat|glaciallance|highhorsepower|trickroom": 17.172 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "calyrexshadow": { - "abilities": [ - [ - "asonespectrier", - 100.0 - ] - ], - "count": 135, - "items": [ - [ - "leftovers", - 86.667 - ], - [ - "choicespecs", - 13.333 - ] - ], - "moves": [ - [ - "psyshock", - 100.0 - ], - [ - "astralbarrage", - 100.0 - ], - [ - "nastyplot", - 84.444 - ], - [ - "pollenpuff", - 42.963 - ], - [ - "substitute", - 59.259 - ], - [ - "trick", - 13.333 - ] - ], - "sets": { - "astralbarrage|nastyplot|pollenpuff|psyshock": 27.407, - "astralbarrage|nastyplot|psyshock|substitute": 57.037, - "astralbarrage|pollenpuff|psyshock|substitute": 2.222, - "astralbarrage|pollenpuff|psyshock|trick": 13.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "carbink": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "lightclay", - 98.969 - ], - [ - "leftovers", - 1.031 - ] - ], - "moves": [ - [ - "reflect", - 98.969 - ], - [ - "moonblast", - 100.0 - ], - [ - "lightscreen", - 100.0 - ], - [ - "bodypress", - 47.938 - ], - [ - "stealthrock", - 53.093 - ] - ], - "sets": { - "bodypress|lightscreen|moonblast|reflect": 46.907, - "bodypress|lightscreen|moonblast|stealthrock": 1.031, - "lightscreen|moonblast|reflect|stealthrock": 52.062 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "carracosta": { - "abilities": [ - [ - "solidrock", - 76.023 - ], - [ - "swiftswim", - 23.977 - ] - ], - "count": 171, - "items": [ - [ - "weaknesspolicy", - 76.023 - ], - [ - "whiteherb", - 23.392 - ], - [ - "None", - 0.585 - ] - ], - "moves": [ - [ - "aquajet", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "hydropump", - 77.193 - ], - [ - "shellsmash", - 100.0 - ], - [ - "superpower", - 22.807 - ] - ], - "sets": { - "aquajet|hydropump|shellsmash|stoneedge": 77.193, - "aquajet|shellsmash|stoneedge|superpower": 22.807 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "celebi": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 327, - "items": [ - [ - "leftovers", - 90.214 - ], - [ - "choicespecs", - 4.281 - ], - [ - "lifeorb", - 4.281 - ], - [ - "choicescarf", - 1.223 - ] - ], - "moves": [ - [ - "psychic", - 94.19 - ], - [ - "recover", - 85.627 - ], - [ - "gigadrain", - 57.187 - ], - [ - "nastyplot", - 73.394 - ], - [ - "uturn", - 10.398 - ], - [ - "earthpower", - 24.159 - ], - [ - "leafstorm", - 44.954 - ], - [ - "stealthrock", - 10.092 - ] - ], - "sets": { - "earthpower|gigadrain|leafstorm|psychic": 2.752, - "earthpower|gigadrain|nastyplot|psychic": 3.364, - "earthpower|gigadrain|psychic|recover": 0.917, - "earthpower|gigadrain|recover|stealthrock": 0.917, - "earthpower|leafstorm|nastyplot|psychic": 5.505, - "earthpower|leafstorm|psychic|recover": 3.976, - "earthpower|leafstorm|psychic|uturn": 2.752, - "earthpower|leafstorm|recover|stealthrock": 2.141, - "earthpower|leafstorm|recover|uturn": 1.223, - "earthpower|psychic|recover|uturn": 0.612, - "gigadrain|nastyplot|psychic|recover": 47.401, - "gigadrain|psychic|recover|stealthrock": 1.835, - "leafstorm|nastyplot|psychic|recover": 17.125, - "leafstorm|psychic|recover|stealthrock": 3.67, - "leafstorm|psychic|recover|uturn": 4.281, - "leafstorm|recover|stealthrock|uturn": 1.529 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "celesteela": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 327, - "items": [ - [ - "leftovers", - 87.156 - ], - [ - "assaultvest", - 12.844 - ] - ], - "moves": [ - [ - "airslash", - 100.0 - ], - [ - "protect", - 71.254 - ], - [ - "leechseed", - 87.156 - ], - [ - "flashcannon", - 100.0 - ], - [ - "fireblast", - 20.795 - ], - [ - "earthquake", - 20.795 - ] - ], - "sets": { - "airslash|earthquake|fireblast|flashcannon": 12.844, - "airslash|earthquake|flashcannon|leechseed": 7.951, - "airslash|fireblast|flashcannon|leechseed": 7.951, - "airslash|flashcannon|leechseed|protect": 71.254 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "centiskorch": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "leechlife", - 78.142 - ], - [ - "coil", - 100.0 - ], - [ - "firelash", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "powerwhip", - 21.858 - ] - ], - "sets": { - "coil|firelash|knockoff|leechlife": 78.142, - "coil|firelash|knockoff|powerwhip": 21.858 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chandelure": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 337, - "items": [ - [ - "heavydutyboots", - 75.371 - ], - [ - "choicescarf", - 13.353 - ], - [ - "focussash", - 3.858 - ], - [ - "leftovers", - 4.154 - ], - [ - "lifeorb", - 3.264 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "calmmind", - 83.68 - ], - [ - "fireblast", - 100.0 - ], - [ - "substitute", - 59.05 - ], - [ - "energyball", - 43.917 - ], - [ - "trick", - 13.353 - ] - ], - "sets": { - "calmmind|energyball|fireblast|shadowball": 27.596, - "calmmind|fireblast|shadowball|substitute": 56.083, - "energyball|fireblast|shadowball|substitute": 2.967, - "energyball|fireblast|shadowball|trick": 13.353 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "chansey": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 297, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "seismictoss", - 100.0 - ], - [ - "toxic", - 78.114 - ], - [ - "stealthrock", - 58.923 - ], - [ - "softboiled", - 100.0 - ], - [ - "healbell", - 62.963 - ] - ], - "sets": { - "healbell|seismictoss|softboiled|stealthrock": 21.886, - "healbell|seismictoss|softboiled|toxic": 41.077, - "seismictoss|softboiled|stealthrock|toxic": 37.037 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "charizard": { - "abilities": [ - [ - "solarpower", - 100.0 - ] - ], - "count": 343, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 83.09 - ], - [ - "fireblast", - 100.0 - ], - [ - "earthquake", - 58.309 - ], - [ - "airslash", - 100.0 - ], - [ - "focusblast", - 58.601 - ] - ], - "sets": { - "airslash|earthquake|fireblast|focusblast": 16.91, - "airslash|earthquake|fireblast|roost": 41.399, - "airslash|fireblast|focusblast|roost": 41.691 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cherrim": { - "abilities": [ - [ - "flowergift", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "choicescarf", - 100.0 - ] - ], - "moves": [ - [ - "petaldance", - 77.66 - ], - [ - "pollenpuff", - 100.0 - ], - [ - "healingwish", - 100.0 - ], - [ - "energyball", - 100.0 - ], - [ - "dazzlinggleam", - 22.34 - ] - ], - "sets": { - "dazzlinggleam|energyball|healingwish|pollenpuff": 22.34, - "energyball|healingwish|petaldance|pollenpuff": 77.66 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cinccino": { - "abilities": [ - [ - "skilllink", - 100.0 - ] - ], - "count": 191, - "items": [ - [ - "lifeorb", - 17.277 - ], - [ - "choiceband", - 74.869 - ], - [ - "focussash", - 7.853 - ] - ], - "moves": [ - [ - "knockoff", - 70.681 - ], - [ - "rockblast", - 71.204 - ], - [ - "bulletseed", - 83.246 - ], - [ - "tailslap", - 100.0 - ], - [ - "uturn", - 74.869 - ] - ], - "sets": { - "bulletseed|knockoff|rockblast|tailslap": 25.131, - "bulletseed|knockoff|tailslap|uturn": 28.796, - "bulletseed|rockblast|tailslap|uturn": 29.319, - "knockoff|rockblast|tailslap|uturn": 16.754 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cinderace": { - "abilities": [ - [ - "libero", - 100.0 - ] - ], - "count": 378, - "items": [ - [ - "heavydutyboots", - 73.81 - ], - [ - "choiceband", - 20.635 - ], - [ - "lifeorb", - 5.556 - ] - ], - "moves": [ - [ - "highjumpkick", - 77.513 - ], - [ - "pyroball", - 100.0 - ], - [ - "bulkup", - 51.058 - ], - [ - "suckerpunch", - 51.058 - ], - [ - "gunkshot", - 31.746 - ], - [ - "zenheadbutt", - 29.101 - ], - [ - "uturn", - 31.217 - ], - [ - "courtchange", - 28.307 - ] - ], - "sets": { - "bulkup|highjumpkick|pyroball|suckerpunch": 51.058, - "courtchange|gunkshot|highjumpkick|pyroball": 3.968, - "courtchange|gunkshot|pyroball|uturn": 5.026, - "courtchange|gunkshot|pyroball|zenheadbutt": 6.085, - "courtchange|highjumpkick|pyroball|uturn": 4.497, - "courtchange|highjumpkick|pyroball|zenheadbutt": 3.704, - "courtchange|pyroball|uturn|zenheadbutt": 5.026, - "gunkshot|highjumpkick|pyroball|uturn": 6.349, - "gunkshot|highjumpkick|pyroball|zenheadbutt": 3.968, - "gunkshot|pyroball|uturn|zenheadbutt": 6.349, - "highjumpkick|pyroball|uturn|zenheadbutt": 3.968 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "clawitzer": { - "abilities": [ - [ - "megalauncher", - 100.0 - ] - ], - "count": 376, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "darkpulse", - 74.734 - ], - [ - "icebeam", - 76.064 - ], - [ - "scald", - 26.33 - ], - [ - "aurasphere", - 74.734 - ], - [ - "waterpulse", - 73.67 - ], - [ - "uturn", - 74.468 - ] - ], - "sets": { - "aurasphere|darkpulse|icebeam|scald": 6.915, - "aurasphere|darkpulse|icebeam|waterpulse": 18.617, - "aurasphere|darkpulse|scald|uturn": 6.915, - "aurasphere|darkpulse|uturn|waterpulse": 17.021, - "aurasphere|icebeam|scald|uturn": 5.319, - "aurasphere|icebeam|uturn|waterpulse": 19.947, - "darkpulse|icebeam|scald|uturn": 7.181, - "darkpulse|icebeam|uturn|waterpulse": 18.085 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "claydol": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 346, - "items": [ - [ - "leftovers", - 92.486 - ], - [ - "assaultvest", - 7.514 - ] - ], - "moves": [ - [ - "toxic", - 75.145 - ], - [ - "psychic", - 71.098 - ], - [ - "earthquake", - 100.0 - ], - [ - "rapidspin", - 52.312 - ], - [ - "stealthrock", - 47.977 - ], - [ - "icebeam", - 53.468 - ] - ], - "sets": { - "earthquake|icebeam|psychic|rapidspin": 7.514, - "earthquake|icebeam|psychic|stealthrock": 6.647, - "earthquake|icebeam|psychic|toxic": 16.763, - "earthquake|icebeam|rapidspin|stealthrock": 4.913, - "earthquake|icebeam|rapidspin|toxic": 9.249, - "earthquake|icebeam|stealthrock|toxic": 8.382, - "earthquake|psychic|rapidspin|stealthrock": 5.78, - "earthquake|psychic|rapidspin|toxic": 18.497, - "earthquake|psychic|stealthrock|toxic": 15.896, - "earthquake|rapidspin|stealthrock|toxic": 6.358 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "clefable": { - "abilities": [ - [ - "magicguard", - 93.252 - ], - [ - "unaware", - 6.748 - ] - ], - "count": 326, - "items": [ - [ - "lifeorb", - 84.969 - ], - [ - "leftovers", - 15.031 - ] - ], - "moves": [ - [ - "softboiled", - 100.0 - ], - [ - "fireblast", - 84.969 - ], - [ - "stealthrock", - 26.994 - ], - [ - "moonblast", - 100.0 - ], - [ - "calmmind", - 54.601 - ], - [ - "thunderwave", - 33.436 - ] - ], - "sets": { - "calmmind|fireblast|moonblast|softboiled": 54.601, - "fireblast|moonblast|softboiled|stealthrock": 11.963, - "fireblast|moonblast|softboiled|thunderwave": 18.405, - "moonblast|softboiled|stealthrock|thunderwave": 15.031 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cloyster": { - "abilities": [ - [ - "skilllink", - 100.0 - ] - ], - "count": 333, - "items": [ - [ - "whiteherb", - 100.0 - ] - ], - "moves": [ - [ - "hydropump", - 100.0 - ], - [ - "iciclespear", - 100.0 - ], - [ - "rockblast", - 54.955 - ], - [ - "shellsmash", - 100.0 - ], - [ - "explosion", - 45.045 - ] - ], - "sets": { - "explosion|hydropump|iciclespear|shellsmash": 45.045, - "hydropump|iciclespear|rockblast|shellsmash": 54.955 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "coalossal": { - "abilities": [ - [ - "flamebody", - 100.0 - ] - ], - "count": 410, - "items": [ - [ - "airballoon", - 2.683 - ], - [ - "heavydutyboots", - 97.317 - ] - ], - "moves": [ - [ - "overheat", - 100.0 - ], - [ - "spikes", - 53.659 - ], - [ - "willowisp", - 53.415 - ], - [ - "stoneedge", - 100.0 - ], - [ - "stealthrock", - 41.22 - ], - [ - "rapidspin", - 51.707 - ] - ], - "sets": { - "overheat|rapidspin|spikes|stoneedge": 20.488, - "overheat|rapidspin|stealthrock|stoneedge": 12.195, - "overheat|rapidspin|stoneedge|willowisp": 19.024, - "overheat|spikes|stealthrock|stoneedge": 13.902, - "overheat|spikes|stoneedge|willowisp": 19.268, - "overheat|stealthrock|stoneedge|willowisp": 15.122 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cobalion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "leftovers", - 18.845 - ], - [ - "assaultvest", - 8.815 - ], - [ - "lumberry", - 72.34 - ] - ], - "moves": [ - [ - "ironhead", - 94.225 - ], - [ - "stealthrock", - 18.845 - ], - [ - "voltswitch", - 22.492 - ], - [ - "closecombat", - 100.0 - ], - [ - "stoneedge", - 92.097 - ], - [ - "swordsdance", - 72.34 - ] - ], - "sets": { - "closecombat|ironhead|stealthrock|stoneedge": 5.167, - "closecombat|ironhead|stealthrock|voltswitch": 7.903, - "closecombat|ironhead|stoneedge|swordsdance": 72.34, - "closecombat|ironhead|stoneedge|voltswitch": 8.815, - "closecombat|stealthrock|stoneedge|voltswitch": 5.775 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cofagrigus": { - "abilities": [ - [ - "mummy", - 100.0 - ] - ], - "count": 202, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "willowisp", - 74.257 - ], - [ - "memento", - 77.723 - ], - [ - "bodypress", - 73.762 - ], - [ - "shadowball", - 100.0 - ], - [ - "toxicspikes", - 74.257 - ] - ], - "sets": { - "bodypress|memento|shadowball|toxicspikes": 25.743, - "bodypress|memento|shadowball|willowisp": 25.743, - "bodypress|shadowball|toxicspikes|willowisp": 22.277, - "memento|shadowball|toxicspikes|willowisp": 26.238 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "comfey": { - "abilities": [ - [ - "triage", - 100.0 - ] - ], - "count": 382, - "items": [ - [ - "lifeorb", - 78.272 - ], - [ - "choicespecs", - 21.728 - ] - ], - "moves": [ - [ - "gigadrain", - 100.0 - ], - [ - "calmmind", - 78.272 - ], - [ - "drainingkiss", - 100.0 - ], - [ - "storedpower", - 78.272 - ], - [ - "trick", - 21.728 - ], - [ - "uturn", - 21.728 - ] - ], - "sets": { - "calmmind|drainingkiss|gigadrain|storedpower": 78.272, - "drainingkiss|gigadrain|trick|uturn": 21.728 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "conkeldurr": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 324, - "items": [ - [ - "flameorb", - 100.0 - ] - ], - "moves": [ - [ - "closecombat", - 80.247 - ], - [ - "knockoff", - 100.0 - ], - [ - "machpunch", - 100.0 - ], - [ - "facade", - 100.0 - ], - [ - "drainpunch", - 19.753 - ] - ], - "sets": { - "closecombat|facade|knockoff|machpunch": 80.247, - "drainpunch|facade|knockoff|machpunch": 19.753 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "copperajah": { - "abilities": [ - [ - "sheerforce", - 42.075 - ], - [ - "heavymetal", - 57.925 - ] - ], - "count": 347, - "items": [ - [ - "lifeorb", - 42.075 - ], - [ - "choiceband", - 57.925 - ] - ], - "moves": [ - [ - "ironhead", - 42.075 - ], - [ - "playrough", - 32.853 - ], - [ - "earthquake", - 79.539 - ], - [ - "stealthrock", - 27.089 - ], - [ - "heavyslam", - 57.925 - ], - [ - "stoneedge", - 40.346 - ], - [ - "heatcrash", - 45.533 - ], - [ - "powerwhip", - 42.075 - ], - [ - "rockslide", - 32.565 - ] - ], - "sets": { - "earthquake|heatcrash|heavyslam|powerwhip": 17.579, - "earthquake|heatcrash|heavyslam|stoneedge": 15.85, - "earthquake|heavyslam|powerwhip|stoneedge": 12.392, - "earthquake|ironhead|playrough|rockslide": 14.986, - "earthquake|ironhead|playrough|stealthrock": 9.51, - "earthquake|ironhead|rockslide|stealthrock": 9.222, - "heatcrash|heavyslam|powerwhip|stoneedge": 12.104, - "ironhead|playrough|rockslide|stealthrock": 8.357 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "corsola": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 164, - "items": [ - [ - "rockyhelmet", - 100.0 - ] - ], - "moves": [ - [ - "powergem", - 81.098 - ], - [ - "scald", - 100.0 - ], - [ - "toxic", - 83.537 - ], - [ - "recover", - 100.0 - ], - [ - "stealthrock", - 35.366 - ] - ], - "sets": { - "powergem|recover|scald|stealthrock": 16.463, - "powergem|recover|scald|toxic": 64.634, - "recover|scald|stealthrock|toxic": 18.902 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "corsolagalar": { - "abilities": [ - [ - "cursedbody", - 100.0 - ] - ], - "count": 428, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "strengthsap", - 100.0 - ], - [ - "nightshade", - 100.0 - ], - [ - "stealthrock", - 64.019 - ], - [ - "haze", - 68.458 - ], - [ - "willowisp", - 67.523 - ] - ], - "sets": { - "haze|nightshade|stealthrock|strengthsap": 32.477, - "haze|nightshade|strengthsap|willowisp": 35.981, - "nightshade|stealthrock|strengthsap|willowisp": 31.542 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "corviknight": { - "abilities": [ - [ - "mirrorarmor", - 91.212 - ], - [ - "pressure", - 8.788 - ] - ], - "count": 330, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "bulkup", - 73.636 - ], - [ - "bodypress", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "defog", - 26.364 - ] - ], - "sets": { - "bodypress|bravebird|bulkup|roost": 73.636, - "bodypress|bravebird|defog|roost": 26.364 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cradily": { - "abilities": [ - [ - "stormdrain", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "swordsdance", - 71.809 - ], - [ - "powerwhip", - 92.021 - ], - [ - "stoneedge", - 100.0 - ], - [ - "toxic", - 24.468 - ], - [ - "stealthrock", - 11.702 - ] - ], - "sets": { - "powerwhip|recover|stealthrock|stoneedge": 3.723, - "powerwhip|recover|stoneedge|swordsdance": 71.809, - "powerwhip|recover|stoneedge|toxic": 16.489, - "recover|stealthrock|stoneedge|toxic": 7.979 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cramorant": { - "abilities": [ - [ - "gulpmissile", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "heavydutyboots", - 95.385 - ], - [ - "lifeorb", - 4.615 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "defog", - 47.692 - ], - [ - "surf", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "superpower", - 52.308 - ] - ], - "sets": { - "bravebird|defog|roost|surf": 47.692, - "bravebird|roost|superpower|surf": 52.308 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crawdaunt": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "lifeorb", - 69.301 - ], - [ - "focussash", - 12.766 - ], - [ - "choiceband", - 17.933 - ] - ], - "moves": [ - [ - "knockoff", - 100.0 - ], - [ - "closecombat", - 68.997 - ], - [ - "dragondance", - 82.067 - ], - [ - "crabhammer", - 79.635 - ], - [ - "aquajet", - 69.301 - ] - ], - "sets": { - "aquajet|closecombat|crabhammer|knockoff": 17.933, - "aquajet|closecombat|dragondance|knockoff": 20.365, - "aquajet|crabhammer|dragondance|knockoff": 31.003, - "closecombat|crabhammer|dragondance|knockoff": 30.699 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cresselia": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 323, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "calmmind", - 53.56 - ], - [ - "moonlight", - 100.0 - ], - [ - "psyshock", - 100.0 - ], - [ - "moonblast", - 100.0 - ], - [ - "thunderwave", - 29.102 - ], - [ - "toxic", - 17.337 - ] - ], - "sets": { - "calmmind|moonblast|moonlight|psyshock": 53.56, - "moonblast|moonlight|psyshock|thunderwave": 29.102, - "moonblast|moonlight|psyshock|toxic": 17.337 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crobat": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 323, - "items": [ - [ - "heavydutyboots", - 97.214 - ], - [ - "blacksludge", - 2.786 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "uturn", - 30.65 - ], - [ - "defog", - 29.102 - ], - [ - "roost", - 100.0 - ], - [ - "toxic", - 74.923 - ], - [ - "taunt", - 32.508 - ], - [ - "superfang", - 32.817 - ] - ], - "sets": { - "bravebird|defog|roost|superfang": 5.263, - "bravebird|defog|roost|taunt": 3.406, - "bravebird|defog|roost|toxic": 16.409, - "bravebird|defog|roost|uturn": 4.025, - "bravebird|roost|superfang|taunt": 5.263, - "bravebird|roost|superfang|toxic": 20.124, - "bravebird|roost|superfang|uturn": 2.167, - "bravebird|roost|taunt|toxic": 18.885, - "bravebird|roost|taunt|uturn": 4.954, - "bravebird|roost|toxic|uturn": 19.505 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "crustle": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 202, - "items": [ - [ - "heavydutyboots", - 83.168 - ], - [ - "leftovers", - 0.495 - ], - [ - "None", - 0.495 - ], - [ - "whiteherb", - 15.842 - ] - ], - "moves": [ - [ - "stoneedge", - 100.0 - ], - [ - "shellsmash", - 74.257 - ], - [ - "earthquake", - 95.545 - ], - [ - "xscissor", - 93.564 - ], - [ - "spikes", - 16.832 - ], - [ - "stealthrock", - 19.802 - ] - ], - "sets": { - "earthquake|shellsmash|stoneedge|xscissor": 74.257, - "earthquake|spikes|stealthrock|stoneedge": 6.436, - "earthquake|spikes|stoneedge|xscissor": 5.941, - "earthquake|stealthrock|stoneedge|xscissor": 8.911, - "spikes|stealthrock|stoneedge|xscissor": 4.455 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cryogonal": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 166, - "items": [ - [ - "heavydutyboots", - 54.217 - ], - [ - "leftovers", - 45.783 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "freezedry", - 100.0 - ], - [ - "rapidspin", - 54.217 - ], - [ - "toxic", - 81.325 - ], - [ - "haze", - 64.458 - ] - ], - "sets": { - "freezedry|haze|rapidspin|recover": 18.675, - "freezedry|haze|recover|toxic": 45.783, - "freezedry|rapidspin|recover|toxic": 35.542 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "cursola": { - "abilities": [ - [ - "weakarmor", - 51.63 - ], - [ - "perishbody", - 48.37 - ] - ], - "count": 184, - "items": [ - [ - "choicespecs", - 10.326 - ], - [ - "leftovers", - 84.239 - ], - [ - "focussash", - 5.435 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "hydropump", - 59.783 - ], - [ - "earthpower", - 58.696 - ], - [ - "icebeam", - 63.587 - ], - [ - "strengthsap", - 68.478 - ], - [ - "stealthrock", - 49.457 - ] - ], - "sets": { - "earthpower|hydropump|icebeam|shadowball": 10.326, - "earthpower|hydropump|shadowball|stealthrock": 5.978, - "earthpower|hydropump|shadowball|strengthsap": 13.043, - "earthpower|icebeam|shadowball|stealthrock": 7.609, - "earthpower|icebeam|shadowball|strengthsap": 11.413, - "earthpower|shadowball|stealthrock|strengthsap": 10.326, - "hydropump|icebeam|shadowball|stealthrock": 7.609, - "hydropump|icebeam|shadowball|strengthsap": 15.761, - "hydropump|shadowball|stealthrock|strengthsap": 7.065, - "icebeam|shadowball|stealthrock|strengthsap": 10.87 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "darmanitan": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 309, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "rockslide", - 75.081 - ], - [ - "earthquake", - 75.081 - ], - [ - "uturn", - 94.498 - ], - [ - "superpower", - 55.34 - ] - ], - "sets": { - "earthquake|flareblitz|rockslide|superpower": 5.502, - "earthquake|flareblitz|rockslide|uturn": 44.66, - "earthquake|flareblitz|superpower|uturn": 24.919, - "flareblitz|rockslide|superpower|uturn": 24.919 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "darmanitangalar": { - "abilities": [ - [ - "gorillatactics", - 52.113 - ], - [ - "zenmode", - 47.887 - ] - ], - "count": 355, - "items": [ - [ - "choicescarf", - 52.113 - ], - [ - "salacberry", - 47.887 - ] - ], - "moves": [ - [ - "uturn", - 48.732 - ], - [ - "superpower", - 27.324 - ], - [ - "flareblitz", - 39.155 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "bellydrum", - 47.887 - ], - [ - "earthquake", - 71.831 - ], - [ - "substitute", - 47.887 - ], - [ - "firepunch", - 17.183 - ] - ], - "sets": { - "bellydrum|earthquake|iciclecrash|substitute": 30.704, - "bellydrum|firepunch|iciclecrash|substitute": 17.183, - "earthquake|flareblitz|iciclecrash|superpower": 3.38, - "earthquake|flareblitz|iciclecrash|uturn": 24.789, - "earthquake|iciclecrash|superpower|uturn": 12.958, - "flareblitz|iciclecrash|superpower|uturn": 10.986 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "decidueye": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 332, - "items": [ - [ - "lumberry", - 54.518 - ], - [ - "lifeorb", - 39.759 - ], - [ - "choiceband", - 4.819 - ], - [ - "focussash", - 0.904 - ] - ], - "moves": [ - [ - "roost", - 75.301 - ], - [ - "poltergeist", - 100.0 - ], - [ - "swordsdance", - 74.398 - ], - [ - "leafblade", - 100.0 - ], - [ - "bravebird", - 26.506 - ], - [ - "shadowsneak", - 23.795 - ] - ], - "sets": { - "bravebird|leafblade|poltergeist|roost": 10.542, - "bravebird|leafblade|poltergeist|shadowsneak": 4.819, - "bravebird|leafblade|poltergeist|swordsdance": 11.145, - "leafblade|poltergeist|roost|shadowsneak": 10.241, - "leafblade|poltergeist|roost|swordsdance": 54.518, - "leafblade|poltergeist|shadowsneak|swordsdance": 8.735 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dedenne": { - "abilities": [ - [ - "cheekpouch", - 100.0 - ] - ], - "count": 204, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "recycle", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ] - ], - "sets": { - "protect|recycle|thunderbolt|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "delibird": { - "abilities": [ - [ - "vitalspirit", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "spikes", - 100.0 - ], - [ - "rapidspin", - 100.0 - ], - [ - "freezedry", - 100.0 - ], - [ - "memento", - 100.0 - ] - ], - "sets": { - "freezedry|memento|rapidspin|spikes": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dhelmise": { - "abilities": [ - [ - "steelworker", - 100.0 - ] - ], - "count": 348, - "items": [ - [ - "choiceband", - 10.92 - ], - [ - "lumberry", - 77.299 - ], - [ - "assaultvest", - 11.782 - ] - ], - "moves": [ - [ - "earthquake", - 10.92 - ], - [ - "powerwhip", - 100.0 - ], - [ - "anchorshot", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "swordsdance", - 77.299 - ], - [ - "rapidspin", - 11.782 - ] - ], - "sets": { - "anchorshot|earthquake|poltergeist|powerwhip": 10.92, - "anchorshot|poltergeist|powerwhip|rapidspin": 11.782, - "anchorshot|poltergeist|powerwhip|swordsdance": 77.299 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dialga": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 348, - "items": [ - [ - "choicescarf", - 7.184 - ], - [ - "leftovers", - 91.092 - ], - [ - "choicespecs", - 1.724 - ] - ], - "moves": [ - [ - "flashcannon", - 100.0 - ], - [ - "thunderbolt", - 41.379 - ], - [ - "dracometeor", - 100.0 - ], - [ - "fireblast", - 43.103 - ], - [ - "toxic", - 79.31 - ], - [ - "stealthrock", - 36.207 - ] - ], - "sets": { - "dracometeor|fireblast|flashcannon|stealthrock": 7.184, - "dracometeor|fireblast|flashcannon|thunderbolt": 8.908, - "dracometeor|fireblast|flashcannon|toxic": 27.011, - "dracometeor|flashcannon|stealthrock|thunderbolt": 4.598, - "dracometeor|flashcannon|stealthrock|toxic": 24.425, - "dracometeor|flashcannon|thunderbolt|toxic": 27.874 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "diancie": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 357, - "items": [ - [ - "leftovers", - 90.196 - ], - [ - "assaultvest", - 9.804 - ] - ], - "moves": [ - [ - "toxic", - 74.51 - ], - [ - "moonblast", - 100.0 - ], - [ - "stealthrock", - 37.815 - ], - [ - "diamondstorm", - 100.0 - ], - [ - "bodypress", - 42.857 - ], - [ - "earthpower", - 44.818 - ] - ], - "sets": { - "bodypress|diamondstorm|earthpower|moonblast": 9.804, - "bodypress|diamondstorm|moonblast|stealthrock": 7.563, - "bodypress|diamondstorm|moonblast|toxic": 25.49, - "diamondstorm|earthpower|moonblast|stealthrock": 8.123, - "diamondstorm|earthpower|moonblast|toxic": 26.891, - "diamondstorm|moonblast|stealthrock|toxic": 22.129 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "diggersby": { - "abilities": [ - [ - "hugepower", - 100.0 - ] - ], - "count": 381, - "items": [ - [ - "lifeorb", - 66.404 - ], - [ - "focussash", - 6.824 - ], - [ - "choicescarf", - 9.186 - ], - [ - "choiceband", - 17.585 - ] - ], - "moves": [ - [ - "swordsdance", - 73.228 - ], - [ - "bodyslam", - 78.74 - ], - [ - "earthquake", - 100.0 - ], - [ - "knockoff", - 65.617 - ], - [ - "quickattack", - 56.955 - ], - [ - "uturn", - 25.459 - ] - ], - "sets": { - "bodyslam|earthquake|knockoff|quickattack": 1.312, - "bodyslam|earthquake|knockoff|swordsdance": 29.921, - "bodyslam|earthquake|knockoff|uturn": 13.123, - "bodyslam|earthquake|quickattack|swordsdance": 28.609, - "bodyslam|earthquake|quickattack|uturn": 5.774, - "earthquake|knockoff|quickattack|swordsdance": 14.698, - "earthquake|knockoff|quickattack|uturn": 6.562 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "doublade": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 325, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "closecombat", - 96.923 - ], - [ - "swordsdance", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "shadowsneak", - 64.308 - ], - [ - "shadowclaw", - 38.769 - ] - ], - "sets": { - "closecombat|ironhead|shadowclaw|swordsdance": 35.692, - "closecombat|ironhead|shadowsneak|swordsdance": 61.231, - "ironhead|shadowclaw|shadowsneak|swordsdance": 3.077 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dracovish": { - "abilities": [ - [ - "strongjaw", - 98.701 - ], - [ - "sandrush", - 1.299 - ] - ], - "count": 308, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "fishiousrend", - 100.0 - ], - [ - "psychicfangs", - 78.247 - ], - [ - "lowkick", - 73.052 - ], - [ - "icefang", - 77.273 - ], - [ - "crunch", - 71.429 - ] - ], - "sets": { - "crunch|fishiousrend|icefang|lowkick": 21.753, - "crunch|fishiousrend|icefang|psychicfangs": 26.948, - "crunch|fishiousrend|lowkick|psychicfangs": 22.727, - "fishiousrend|icefang|lowkick|psychicfangs": 28.571 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dracozolt": { - "abilities": [ - [ - "hustle", - 100.0 - ] - ], - "count": 398, - "items": [ - [ - "choiceband", - 29.146 - ], - [ - "choicescarf", - 70.854 - ] - ], - "moves": [ - [ - "lowkick", - 66.08 - ], - [ - "boltbeak", - 100.0 - ], - [ - "earthquake", - 68.342 - ], - [ - "outrage", - 100.0 - ], - [ - "aerialace", - 65.578 - ] - ], - "sets": { - "aerialace|boltbeak|earthquake|outrage": 33.92, - "aerialace|boltbeak|lowkick|outrage": 31.658, - "boltbeak|earthquake|lowkick|outrage": 34.422 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dragalge": { - "abilities": [ - [ - "adaptability", - 100.0 - ] - ], - "count": 346, - "items": [ - [ - "blacksludge", - 68.786 - ], - [ - "choicespecs", - 31.214 - ] - ], - "moves": [ - [ - "focusblast", - 100.0 - ], - [ - "toxicspikes", - 68.786 - ], - [ - "dracometeor", - 75.723 - ], - [ - "sludgewave", - 100.0 - ], - [ - "dragonpulse", - 32.659 - ], - [ - "flipturn", - 22.832 - ] - ], - "sets": { - "dracometeor|dragonpulse|focusblast|sludgewave": 8.382, - "dracometeor|flipturn|focusblast|sludgewave": 15.029, - "dracometeor|focusblast|sludgewave|toxicspikes": 52.312, - "dragonpulse|flipturn|focusblast|sludgewave": 7.803, - "dragonpulse|focusblast|sludgewave|toxicspikes": 16.474 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dragapult": { - "abilities": [ - [ - "infiltrator", - 67.085 - ], - [ - "clearbody", - 32.915 - ] - ], - "count": 319, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "thunderbolt", - 63.009 - ], - [ - "fireblast", - 71.16 - ], - [ - "shadowball", - 100.0 - ], - [ - "dracometeor", - 100.0 - ], - [ - "uturn", - 65.831 - ] - ], - "sets": { - "dracometeor|fireblast|shadowball|thunderbolt": 34.169, - "dracometeor|fireblast|shadowball|uturn": 36.991, - "dracometeor|shadowball|thunderbolt|uturn": 28.84 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dragonite": { - "abilities": [ - [ - "multiscale", - 100.0 - ] - ], - "count": 325, - "items": [ - [ - "choiceband", - 21.846 - ], - [ - "heavydutyboots", - 78.154 - ] - ], - "moves": [ - [ - "dualwingbeat", - 100.0 - ], - [ - "outrage", - 100.0 - ], - [ - "extremespeed", - 21.846 - ], - [ - "earthquake", - 100.0 - ], - [ - "dragondance", - 78.154 - ] - ], - "sets": { - "dragondance|dualwingbeat|earthquake|outrage": 78.154, - "dualwingbeat|earthquake|extremespeed|outrage": 21.846 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drampa": { - "abilities": [ - [ - "berserk", - 90.104 - ], - [ - "sapsipper", - 9.896 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 90.104 - ], - [ - "choicespecs", - 9.896 - ] - ], - "moves": [ - [ - "glare", - 31.25 - ], - [ - "hypervoice", - 77.083 - ], - [ - "roost", - 90.104 - ], - [ - "dracometeor", - 100.0 - ], - [ - "thunderbolt", - 53.125 - ], - [ - "fireblast", - 48.438 - ] - ], - "sets": { - "dracometeor|fireblast|glare|roost": 4.167, - "dracometeor|fireblast|hypervoice|roost": 21.875, - "dracometeor|fireblast|hypervoice|thunderbolt": 9.896, - "dracometeor|fireblast|roost|thunderbolt": 12.5, - "dracometeor|glare|hypervoice|roost": 20.833, - "dracometeor|glare|roost|thunderbolt": 6.25, - "dracometeor|hypervoice|roost|thunderbolt": 24.479 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drapion": { - "abilities": [ - [ - "sniper", - 100.0 - ] - ], - "count": 325, - "items": [ - [ - "lifeorb", - 83.692 - ], - [ - "blacksludge", - 12.923 - ], - [ - "choiceband", - 3.385 - ] - ], - "moves": [ - [ - "swordsdance", - 69.231 - ], - [ - "poisonjab", - 94.462 - ], - [ - "knockoff", - 100.0 - ], - [ - "earthquake", - 92.615 - ], - [ - "toxicspikes", - 19.692 - ], - [ - "taunt", - 20.615 - ], - [ - "aquatail", - 3.385 - ] - ], - "sets": { - "aquatail|earthquake|knockoff|poisonjab": 3.385, - "earthquake|knockoff|poisonjab|swordsdance": 69.231, - "earthquake|knockoff|poisonjab|taunt": 7.692, - "earthquake|knockoff|poisonjab|toxicspikes": 6.769, - "earthquake|knockoff|taunt|toxicspikes": 5.538, - "knockoff|poisonjab|taunt|toxicspikes": 7.385 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drednaw": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 191, - "items": [ - [ - "lifeorb", - 79.058 - ], - [ - "focussash", - 20.942 - ] - ], - "moves": [ - [ - "superpower", - 100.0 - ], - [ - "swordsdance", - 85.864 - ], - [ - "stoneedge", - 100.0 - ], - [ - "liquidation", - 100.0 - ], - [ - "stealthrock", - 14.136 - ] - ], - "sets": { - "liquidation|stealthrock|stoneedge|superpower": 14.136, - "liquidation|stoneedge|superpower|swordsdance": 85.864 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "drifblim": { - "abilities": [ - [ - "unburden", - 100.0 - ] - ], - "count": 171, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "calmmind", - 100.0 - ], - [ - "strengthsap", - 100.0 - ] - ], - "sets": { - "calmmind|shadowball|strengthsap|thunderbolt": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "druddigon": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 355, - "items": [ - [ - "leftovers", - 24.789 - ], - [ - "lifeorb", - 62.254 - ], - [ - "choiceband", - 12.958 - ] - ], - "moves": [ - [ - "stealthrock", - 51.549 - ], - [ - "glare", - 60.282 - ], - [ - "superpower", - 61.127 - ], - [ - "outrage", - 100.0 - ], - [ - "suckerpunch", - 61.127 - ], - [ - "earthquake", - 65.915 - ] - ], - "sets": { - "earthquake|glare|outrage|stealthrock": 10.423, - "earthquake|glare|outrage|suckerpunch": 13.521, - "earthquake|glare|outrage|superpower": 9.859, - "earthquake|outrage|stealthrock|suckerpunch": 8.451, - "earthquake|outrage|stealthrock|superpower": 10.704, - "earthquake|outrage|suckerpunch|superpower": 12.958, - "glare|outrage|stealthrock|suckerpunch": 6.479, - "glare|outrage|stealthrock|superpower": 7.887, - "glare|outrage|suckerpunch|superpower": 12.113, - "outrage|stealthrock|suckerpunch|superpower": 7.606 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dubwool": { - "abilities": [ - [ - "bulletproof", - 64.103 - ], - [ - "fluffy", - 35.897 - ] - ], - "count": 156, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "cottonguard", - 100.0 - ], - [ - "sleeptalk", - 100.0 - ], - [ - "bodypress", - 100.0 - ], - [ - "rest", - 100.0 - ] - ], - "sets": { - "bodypress|cottonguard|rest|sleeptalk": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dugtrio": { - "abilities": [ - [ - "arenatrap", - 100.0 - ] - ], - "count": 189, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "memento", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "suckerpunch", - 100.0 - ] - ], - "sets": { - "earthquake|memento|stoneedge|suckerpunch": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dugtrioalola": { - "abilities": [ - [ - "tanglinghair", - 98.387 - ], - [ - "sandforce", - 1.613 - ] - ], - "count": 186, - "items": [ - [ - "focussash", - 17.742 - ], - [ - "choiceband", - 43.011 - ], - [ - "lifeorb", - 39.247 - ] - ], - "moves": [ - [ - "stealthrock", - 56.989 - ], - [ - "ironhead", - 100.0 - ], - [ - "suckerpunch", - 70.43 - ], - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 72.581 - ] - ], - "sets": { - "earthquake|ironhead|stealthrock|stoneedge": 29.57, - "earthquake|ironhead|stealthrock|suckerpunch": 27.419, - "earthquake|ironhead|stoneedge|suckerpunch": 43.011 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dunsparce": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 201, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "coil", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "bodyslam", - 100.0 - ] - ], - "sets": { - "bodyslam|coil|earthquake|roost": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "duraludon": { - "abilities": [ - [ - "lightmetal", - 100.0 - ] - ], - "count": 390, - "items": [ - [ - "assaultvest", - 49.744 - ], - [ - "lifeorb", - 41.026 - ], - [ - "focussash", - 9.231 - ] - ], - "moves": [ - [ - "bodypress", - 72.051 - ], - [ - "flashcannon", - 100.0 - ], - [ - "dracometeor", - 100.0 - ], - [ - "thunderbolt", - 77.692 - ], - [ - "stealthrock", - 50.256 - ] - ], - "sets": { - "bodypress|dracometeor|flashcannon|stealthrock": 22.308, - "bodypress|dracometeor|flashcannon|thunderbolt": 49.744, - "dracometeor|flashcannon|stealthrock|thunderbolt": 27.949 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "durant": { - "abilities": [ - [ - "hustle", - 100.0 - ] - ], - "count": 391, - "items": [ - [ - "choiceband", - 20.716 - ], - [ - "lifeorb", - 68.798 - ], - [ - "focussash", - 10.486 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "superpower", - 100.0 - ], - [ - "rockslide", - 100.0 - ], - [ - "firstimpression", - 20.716 - ], - [ - "honeclaws", - 79.284 - ] - ], - "sets": { - "firstimpression|ironhead|rockslide|superpower": 20.716, - "honeclaws|ironhead|rockslide|superpower": 79.284 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "dusknoir": { - "abilities": [ - [ - "frisk", - 68.229 - ], - [ - "pressure", - 31.771 - ] - ], - "count": 192, - "items": [ - [ - "leftovers", - 79.688 - ], - [ - "choiceband", - 20.312 - ] - ], - "moves": [ - [ - "willowisp", - 59.375 - ], - [ - "shadowsneak", - 55.208 - ], - [ - "icepunch", - 63.542 - ], - [ - "poltergeist", - 100.0 - ], - [ - "painsplit", - 52.083 - ], - [ - "earthquake", - 54.167 - ], - [ - "trick", - 15.625 - ] - ], - "sets": { - "earthquake|icepunch|painsplit|poltergeist": 5.208, - "earthquake|icepunch|poltergeist|shadowsneak": 4.688, - "earthquake|icepunch|poltergeist|trick": 5.729, - "earthquake|icepunch|poltergeist|willowisp": 11.458, - "earthquake|painsplit|poltergeist|shadowsneak": 8.333, - "earthquake|painsplit|poltergeist|willowisp": 6.771, - "earthquake|poltergeist|shadowsneak|trick": 6.25, - "earthquake|poltergeist|shadowsneak|willowisp": 5.729, - "icepunch|painsplit|poltergeist|shadowsneak": 6.771, - "icepunch|painsplit|poltergeist|willowisp": 15.625, - "icepunch|poltergeist|shadowsneak|trick": 3.646, - "icepunch|poltergeist|shadowsneak|willowisp": 10.417, - "painsplit|poltergeist|shadowsneak|willowisp": 9.375 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "eiscue": { - "abilities": [ - [ - "iceface", - 100.0 - ] - ], - "count": 158, - "items": [ - [ - "sitrusberry", - 48.101 - ], - [ - "salacberry", - 51.899 - ] - ], - "moves": [ - [ - "zenheadbutt", - 48.101 - ], - [ - "bellydrum", - 100.0 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "liquidation", - 100.0 - ], - [ - "substitute", - 51.899 - ] - ], - "sets": { - "bellydrum|iciclecrash|liquidation|substitute": 51.899, - "bellydrum|iciclecrash|liquidation|zenheadbutt": 48.101 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "eldegoss": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 51.705 - ], - [ - "heavydutyboots", - 48.295 - ] - ], - "moves": [ - [ - "leechseed", - 71.023 - ], - [ - "pollenpuff", - 58.523 - ], - [ - "charm", - 62.5 - ], - [ - "energyball", - 100.0 - ], - [ - "rapidspin", - 48.295 - ], - [ - "sleeppowder", - 59.659 - ] - ], - "sets": { - "charm|energyball|leechseed|pollenpuff": 15.341, - "charm|energyball|leechseed|rapidspin": 10.795, - "charm|energyball|leechseed|sleeppowder": 14.205, - "charm|energyball|pollenpuff|rapidspin": 6.25, - "charm|energyball|pollenpuff|sleeppowder": 9.091, - "charm|energyball|rapidspin|sleeppowder": 6.818, - "energyball|leechseed|pollenpuff|rapidspin": 7.955, - "energyball|leechseed|pollenpuff|sleeppowder": 13.068, - "energyball|leechseed|rapidspin|sleeppowder": 9.659, - "energyball|pollenpuff|rapidspin|sleeppowder": 6.818 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "electivire": { - "abilities": [ - [ - "motordrive", - 100.0 - ] - ], - "count": 185, - "items": [ - [ - "lifeorb", - 92.432 - ], - [ - "choicescarf", - 4.865 - ], - [ - "choiceband", - 2.703 - ] - ], - "moves": [ - [ - "earthquake", - 58.919 - ], - [ - "flamethrower", - 63.784 - ], - [ - "icepunch", - 57.297 - ], - [ - "wildcharge", - 100.0 - ], - [ - "crosschop", - 56.757 - ], - [ - "voltswitch", - 63.243 - ] - ], - "sets": { - "crosschop|earthquake|flamethrower|wildcharge": 11.351, - "crosschop|earthquake|icepunch|wildcharge": 7.568, - "crosschop|earthquake|voltswitch|wildcharge": 8.108, - "crosschop|flamethrower|icepunch|wildcharge": 7.027, - "crosschop|flamethrower|voltswitch|wildcharge": 11.351, - "crosschop|icepunch|voltswitch|wildcharge": 11.351, - "earthquake|flamethrower|icepunch|wildcharge": 10.811, - "earthquake|flamethrower|voltswitch|wildcharge": 11.892, - "earthquake|icepunch|voltswitch|wildcharge": 9.189, - "flamethrower|icepunch|voltswitch|wildcharge": 11.351 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "emolga": { - "abilities": [ - [ - "motordrive", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "heavydutyboots", - 92.135 - ], - [ - "choicespecs", - 4.494 - ], - [ - "leftovers", - 3.371 - ] - ], - "moves": [ - [ - "toxic", - 71.91 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "roost", - 95.506 - ], - [ - "airslash", - 100.0 - ], - [ - "uturn", - 11.236 - ], - [ - "energyball", - 11.236 - ], - [ - "defog", - 10.112 - ] - ], - "sets": { - "airslash|defog|roost|thunderbolt": 10.112, - "airslash|energyball|roost|thunderbolt": 6.742, - "airslash|energyball|thunderbolt|uturn": 4.494, - "airslash|roost|thunderbolt|toxic": 71.91, - "airslash|roost|thunderbolt|uturn": 6.742 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "entei": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 398, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "stompingtantrum", - 76.884 - ], - [ - "extremespeed", - 100.0 - ], - [ - "flareblitz", - 73.618 - ], - [ - "sacredfire", - 75.377 - ], - [ - "stoneedge", - 74.121 - ] - ], - "sets": { - "extremespeed|flareblitz|sacredfire|stompingtantrum": 25.879, - "extremespeed|flareblitz|sacredfire|stoneedge": 23.116, - "extremespeed|flareblitz|stompingtantrum|stoneedge": 24.623, - "extremespeed|sacredfire|stompingtantrum|stoneedge": 26.382 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "escavalier": { - "abilities": [ - [ - "overcoat", - 53.125 - ], - [ - "swarm", - 46.875 - ] - ], - "count": 352, - "items": [ - [ - "leftovers", - 70.455 - ], - [ - "choiceband", - 29.545 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "closecombat", - 44.886 - ], - [ - "swordsdance", - 70.455 - ], - [ - "megahorn", - 100.0 - ], - [ - "knockoff", - 45.17 - ], - [ - "drillrun", - 39.489 - ] - ], - "sets": { - "closecombat|drillrun|ironhead|megahorn": 8.807, - "closecombat|ironhead|knockoff|megahorn": 10.795, - "closecombat|ironhead|megahorn|swordsdance": 25.284, - "drillrun|ironhead|knockoff|megahorn": 9.943, - "drillrun|ironhead|megahorn|swordsdance": 20.739, - "ironhead|knockoff|megahorn|swordsdance": 24.432 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "espeon": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 308, - "items": [ - [ - "leftovers", - 58.766 - ], - [ - "lifeorb", - 37.662 - ], - [ - "focussash", - 3.571 - ] - ], - "moves": [ - [ - "calmmind", - 76.623 - ], - [ - "dazzlinggleam", - 68.182 - ], - [ - "morningsun", - 82.143 - ], - [ - "psychic", - 100.0 - ], - [ - "shadowball", - 73.052 - ] - ], - "sets": { - "calmmind|dazzlinggleam|morningsun|psychic": 26.948, - "calmmind|dazzlinggleam|psychic|shadowball": 17.857, - "calmmind|morningsun|psychic|shadowball": 31.818, - "dazzlinggleam|morningsun|psychic|shadowball": 23.377 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "eternatus": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 362, - "items": [ - [ - "metronome", - 83.702 - ], - [ - "blacksludge", - 16.298 - ] - ], - "moves": [ - [ - "flamethrower", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "sludgewave", - 83.702 - ], - [ - "dynamaxcannon", - 100.0 - ], - [ - "toxic", - 16.298 - ] - ], - "sets": { - "dynamaxcannon|flamethrower|recover|sludgewave": 83.702, - "dynamaxcannon|flamethrower|recover|toxic": 16.298 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "excadrill": { - "abilities": [ - [ - "moldbreaker", - 65.075 - ], - [ - "sandrush", - 34.925 - ] - ], - "count": 335, - "items": [ - [ - "leftovers", - 27.761 - ], - [ - "focussash", - 11.642 - ], - [ - "lifeorb", - 41.791 - ], - [ - "assaultvest", - 18.806 - ] - ], - "moves": [ - [ - "rapidspin", - 51.343 - ], - [ - "swordsdance", - 81.194 - ], - [ - "earthquake", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "rockslide", - 67.463 - ] - ], - "sets": { - "earthquake|ironhead|rapidspin|rockslide": 18.806, - "earthquake|ironhead|rapidspin|swordsdance": 32.537, - "earthquake|ironhead|rockslide|swordsdance": 48.657 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exeggutor": { - "abilities": [ - [ - "harvest", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "sleeppowder", - 58.0 - ], - [ - "substitute", - 100.0 - ], - [ - "gigadrain", - 82.5 - ], - [ - "leechseed", - 77.5 - ], - [ - "psychic", - 82.0 - ] - ], - "sets": { - "gigadrain|leechseed|psychic|substitute": 42.0, - "gigadrain|leechseed|sleeppowder|substitute": 18.0, - "gigadrain|psychic|sleeppowder|substitute": 22.5, - "leechseed|psychic|sleeppowder|substitute": 17.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exeggutoralola": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 433, - "items": [ - [ - "lifeorb", - 53.58 - ], - [ - "choicespecs", - 46.42 - ] - ], - "moves": [ - [ - "dracometeor", - 100.0 - ], - [ - "gigadrain", - 82.679 - ], - [ - "trickroom", - 53.58 - ], - [ - "flamethrower", - 100.0 - ], - [ - "leafstorm", - 63.741 - ] - ], - "sets": { - "dracometeor|flamethrower|gigadrain|leafstorm": 46.42, - "dracometeor|flamethrower|gigadrain|trickroom": 36.259, - "dracometeor|flamethrower|leafstorm|trickroom": 17.321 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "exploud": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 315, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "focusblast", - 100.0 - ], - [ - "surf", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "boomburst", - 100.0 - ] - ], - "sets": { - "boomburst|fireblast|focusblast|surf": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "falinks": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "choicescarf", - 18.286 - ], - [ - "focussash", - 22.286 - ], - [ - "lifeorb", - 52.0 - ], - [ - "choiceband", - 7.429 - ] - ], - "moves": [ - [ - "throatchop", - 71.429 - ], - [ - "poisonjab", - 74.857 - ], - [ - "rockslide", - 79.429 - ], - [ - "closecombat", - 100.0 - ], - [ - "noretreat", - 74.286 - ] - ], - "sets": { - "closecombat|noretreat|poisonjab|rockslide": 28.571, - "closecombat|noretreat|poisonjab|throatchop": 20.571, - "closecombat|noretreat|rockslide|throatchop": 25.143, - "closecombat|poisonjab|rockslide|throatchop": 25.714 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "farfetchd": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 199, - "items": [ - [ - "leek", - 100.0 - ] - ], - "moves": [ - [ - "closecombat", - 67.839 - ], - [ - "knockoff", - 77.889 - ], - [ - "leafblade", - 71.859 - ], - [ - "bravebird", - 100.0 - ], - [ - "swordsdance", - 82.412 - ] - ], - "sets": { - "bravebird|closecombat|knockoff|leafblade": 17.588, - "bravebird|closecombat|knockoff|swordsdance": 28.141, - "bravebird|closecombat|leafblade|swordsdance": 22.111, - "bravebird|knockoff|leafblade|swordsdance": 32.161 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ferrothorn": { - "abilities": [ - [ - "ironbarbs", - 100.0 - ] - ], - "count": 364, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "spikes", - 43.681 - ], - [ - "knockoff", - 42.582 - ], - [ - "stealthrock", - 39.835 - ], - [ - "powerwhip", - 76.374 - ], - [ - "protect", - 54.396 - ], - [ - "leechseed", - 66.209 - ], - [ - "gyroball", - 76.923 - ] - ], - "sets": { - "gyroball|knockoff|leechseed|powerwhip": 1.648, - "gyroball|knockoff|leechseed|protect": 3.846, - "gyroball|knockoff|leechseed|spikes": 1.099, - "gyroball|knockoff|leechseed|stealthrock": 0.549, - "gyroball|knockoff|powerwhip|spikes": 9.341, - "gyroball|knockoff|powerwhip|stealthrock": 7.143, - "gyroball|knockoff|spikes|stealthrock": 4.67, - "gyroball|leechseed|powerwhip|protect": 23.901, - "gyroball|leechseed|powerwhip|spikes": 2.198, - "gyroball|leechseed|powerwhip|stealthrock": 1.923, - "gyroball|leechseed|protect|spikes": 6.044, - "gyroball|leechseed|protect|stealthrock": 6.593, - "gyroball|leechseed|spikes|stealthrock": 0.824, - "gyroball|powerwhip|spikes|stealthrock": 7.143, - "knockoff|leechseed|powerwhip|protect": 6.593, - "knockoff|leechseed|powerwhip|spikes": 1.648, - "knockoff|leechseed|powerwhip|stealthrock": 0.549, - "knockoff|powerwhip|spikes|stealthrock": 5.495, - "leechseed|powerwhip|protect|spikes": 3.846, - "leechseed|powerwhip|protect|stealthrock": 3.571, - "leechseed|powerwhip|spikes|stealthrock": 1.374 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "flapple": { - "abilities": [ - [ - "hustle", - 100.0 - ] - ], - "count": 174, - "items": [ - [ - "lifeorb", - 51.149 - ], - [ - "choiceband", - 29.31 - ], - [ - "focussash", - 19.54 - ] - ], - "moves": [ - [ - "outrage", - 100.0 - ], - [ - "dragondance", - 70.69 - ], - [ - "gravapple", - 100.0 - ], - [ - "suckerpunch", - 100.0 - ], - [ - "uturn", - 29.31 - ] - ], - "sets": { - "dragondance|gravapple|outrage|suckerpunch": 70.69, - "gravapple|outrage|suckerpunch|uturn": 29.31 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "flareon": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 200, - "items": [ - [ - "toxicorb", - 100.0 - ] - ], - "moves": [ - [ - "flareblitz", - 100.0 - ], - [ - "superpower", - 100.0 - ], - [ - "flamecharge", - 81.5 - ], - [ - "facade", - 100.0 - ], - [ - "quickattack", - 18.5 - ] - ], - "sets": { - "facade|flamecharge|flareblitz|superpower": 81.5, - "facade|flareblitz|quickattack|superpower": 18.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "flygon": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 298, - "items": [ - [ - "leftovers", - 8.725 - ], - [ - "lifeorb", - 59.732 - ], - [ - "focussash", - 12.081 - ], - [ - "choicescarf", - 15.101 - ], - [ - "choiceband", - 4.362 - ] - ], - "moves": [ - [ - "defog", - 19.128 - ], - [ - "uturn", - 19.799 - ], - [ - "outrage", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "dragondance", - 70.805 - ], - [ - "firepunch", - 90.268 - ] - ], - "sets": { - "defog|earthquake|firepunch|outrage": 9.396, - "defog|earthquake|outrage|uturn": 9.732, - "dragondance|earthquake|firepunch|outrage": 70.805, - "earthquake|firepunch|outrage|uturn": 10.067 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "froslass": { - "abilities": [ - [ - "cursedbody", - 100.0 - ] - ], - "count": 364, - "items": [ - [ - "widelens", - 100.0 - ] - ], - "moves": [ - [ - "destinybond", - 48.626 - ], - [ - "spikes", - 45.33 - ], - [ - "poltergeist", - 100.0 - ], - [ - "tripleaxel", - 100.0 - ], - [ - "willowisp", - 53.571 - ], - [ - "taunt", - 52.473 - ] - ], - "sets": { - "destinybond|poltergeist|spikes|tripleaxel": 13.736, - "destinybond|poltergeist|taunt|tripleaxel": 16.209, - "destinybond|poltergeist|tripleaxel|willowisp": 18.681, - "poltergeist|spikes|taunt|tripleaxel": 16.484, - "poltergeist|spikes|tripleaxel|willowisp": 15.11, - "poltergeist|taunt|tripleaxel|willowisp": 19.78 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "frosmoth": { - "abilities": [ - [ - "icescales", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "bugbuzz", - 79.213 - ], - [ - "hurricane", - 59.551 - ], - [ - "icebeam", - 100.0 - ], - [ - "quiverdance", - 100.0 - ], - [ - "gigadrain", - 61.236 - ] - ], - "sets": { - "bugbuzz|gigadrain|icebeam|quiverdance": 40.449, - "bugbuzz|hurricane|icebeam|quiverdance": 38.764, - "gigadrain|hurricane|icebeam|quiverdance": 20.787 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gallade": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "lifeorb", - 49.438 - ], - [ - "choiceband", - 23.034 - ], - [ - "focussash", - 20.225 - ], - [ - "choicescarf", - 7.303 - ] - ], - "moves": [ - [ - "swordsdance", - 69.663 - ], - [ - "closecombat", - 100.0 - ], - [ - "knockoff", - 57.865 - ], - [ - "zenheadbutt", - 92.135 - ], - [ - "trick", - 24.719 - ], - [ - "shadowsneak", - 55.618 - ] - ], - "sets": { - "closecombat|knockoff|shadowsneak|trick": 7.865, - "closecombat|knockoff|shadowsneak|zenheadbutt": 5.618, - "closecombat|knockoff|swordsdance|zenheadbutt": 37.079, - "closecombat|knockoff|trick|zenheadbutt": 7.303, - "closecombat|shadowsneak|swordsdance|zenheadbutt": 32.584, - "closecombat|shadowsneak|trick|zenheadbutt": 9.551 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "galvantula": { - "abilities": [ - [ - "compoundeyes", - 100.0 - ] - ], - "count": 380, - "items": [ - [ - "focussash", - 7.632 - ], - [ - "heavydutyboots", - 89.211 - ], - [ - "lifeorb", - 1.579 - ], - [ - "choicespecs", - 1.579 - ] - ], - "moves": [ - [ - "stickyweb", - 98.421 - ], - [ - "voltswitch", - 80.0 - ], - [ - "bugbuzz", - 81.053 - ], - [ - "thunder", - 100.0 - ], - [ - "gigadrain", - 40.526 - ] - ], - "sets": { - "bugbuzz|gigadrain|stickyweb|thunder": 20.0, - "bugbuzz|gigadrain|thunder|voltswitch": 1.579, - "bugbuzz|stickyweb|thunder|voltswitch": 59.474, - "gigadrain|stickyweb|thunder|voltswitch": 18.947 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "garbodor": { - "abilities": [ - [ - "aftermath", - 100.0 - ] - ], - "count": 431, - "items": [ - [ - "blacksludge", - 82.831 - ], - [ - "focussash", - 12.761 - ], - [ - "lifeorb", - 4.408 - ] - ], - "moves": [ - [ - "spikes", - 73.318 - ], - [ - "painsplit", - 66.821 - ], - [ - "gunkshot", - 100.0 - ], - [ - "toxicspikes", - 70.998 - ], - [ - "stompingtantrum", - 74.246 - ], - [ - "explosion", - 14.617 - ] - ], - "sets": { - "explosion|gunkshot|painsplit|stompingtantrum": 1.16, - "explosion|gunkshot|spikes|stompingtantrum": 2.32, - "explosion|gunkshot|spikes|toxicspikes": 9.745, - "explosion|gunkshot|stompingtantrum|toxicspikes": 1.392, - "gunkshot|painsplit|spikes|stompingtantrum": 25.522, - "gunkshot|painsplit|spikes|toxicspikes": 16.009, - "gunkshot|painsplit|stompingtantrum|toxicspikes": 24.13, - "gunkshot|spikes|stompingtantrum|toxicspikes": 19.722 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "garchomp": { - "abilities": [ - [ - "roughskin", - 100.0 - ] - ], - "count": 352, - "items": [ - [ - "assaultvest", - 8.523 - ], - [ - "lumberry", - 71.875 - ], - [ - "rockyhelmet", - 13.636 - ], - [ - "choicescarf", - 4.261 - ], - [ - "choiceband", - 1.705 - ] - ], - "moves": [ - [ - "fireblast", - 13.636 - ], - [ - "stoneedge", - 57.955 - ], - [ - "earthquake", - 100.0 - ], - [ - "outrage", - 100.0 - ], - [ - "swordsdance", - 71.875 - ], - [ - "firefang", - 42.898 - ], - [ - "stealthrock", - 13.636 - ] - ], - "sets": { - "earthquake|fireblast|outrage|stealthrock": 5.114, - "earthquake|fireblast|outrage|stoneedge": 8.523, - "earthquake|firefang|outrage|stealthrock": 4.261, - "earthquake|firefang|outrage|stoneedge": 5.966, - "earthquake|firefang|outrage|swordsdance": 32.67, - "earthquake|outrage|stealthrock|stoneedge": 4.261, - "earthquake|outrage|stoneedge|swordsdance": 39.205 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gardevoir": { - "abilities": [ - [ - "trace", - 86.477 - ], - [ - "effectspore", - 0.712 - ], - [ - "unburden", - 0.356 - ], - [ - "waterabsorb", - 0.712 - ], - [ - "sandrush", - 0.356 - ], - [ - "thickfat", - 0.712 - ], - [ - "swiftswim", - 0.712 - ], - [ - "aromaveil", - 0.356 - ], - [ - "cursedbody", - 0.712 - ], - [ - "naturalcure", - 0.712 - ], - [ - "magicguard", - 0.356 - ], - [ - "gluttony", - 0.356 - ], - [ - "technician", - 0.356 - ], - [ - "ironfist", - 0.356 - ], - [ - "justified", - 0.712 - ], - [ - "overgrow", - 0.356 - ], - [ - "aftermath", - 0.356 - ], - [ - "powerspot", - 0.356 - ], - [ - "defiant", - 0.712 - ], - [ - "stamina", - 0.356 - ], - [ - "competitive", - 0.356 - ], - [ - "scrappy", - 0.356 - ], - [ - "frisk", - 0.356 - ], - [ - "clearbody", - 0.356 - ], - [ - "chillingneigh", - 0.356 - ], - [ - "shadowtag", - 0.356 - ], - [ - "voltabsorb", - 0.356 - ], - [ - "galewings", - 0.356 - ], - [ - "dryskin", - 0.356 - ], - [ - "sheerforce", - 0.356 - ], - [ - "filter", - 0.356 - ] - ], - "count": 281, - "items": [ - [ - "leftovers", - 61.566 - ], - [ - "lifeorb", - 29.181 - ], - [ - "choicescarf", - 3.203 - ], - [ - "focussash", - 6.05 - ] - ], - "moves": [ - [ - "substitute", - 46.263 - ], - [ - "moonblast", - 100.0 - ], - [ - "psyshock", - 99.644 - ], - [ - "calmmind", - 82.206 - ], - [ - "mysticalfire", - 38.434 - ], - [ - "willowisp", - 30.249 - ], - [ - "trick", - 3.203 - ] - ], - "sets": { - "calmmind|moonblast|mysticalfire|psyshock": 21.708, - "calmmind|moonblast|psyshock|substitute": 43.06, - "calmmind|moonblast|psyshock|willowisp": 17.438, - "moonblast|mysticalfire|psyshock|substitute": 1.779, - "moonblast|mysticalfire|psyshock|trick": 3.203, - "moonblast|mysticalfire|psyshock|willowisp": 11.388, - "moonblast|mysticalfire|substitute|willowisp": 0.356, - "moonblast|psyshock|substitute|willowisp": 1.068 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gastrodon": { - "abilities": [ - [ - "stormdrain", - 100.0 - ] - ], - "count": 324, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 75.0 - ], - [ - "scald", - 100.0 - ], - [ - "clearsmog", - 13.272 - ], - [ - "icebeam", - 11.728 - ] - ], - "sets": { - "clearsmog|earthquake|recover|scald": 13.272, - "earthquake|icebeam|recover|scald": 11.728, - "earthquake|recover|scald|toxic": 75.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "genesect": { - "abilities": [ - [ - "download", - 100.0 - ] - ], - "count": 185, - "items": [ - [ - "leftovers", - 52.973 - ], - [ - "lifeorb", - 25.946 - ], - [ - "choiceband", - 8.108 - ], - [ - "assaultvest", - 12.973 - ] - ], - "moves": [ - [ - "uturn", - 66.486 - ], - [ - "shiftgear", - 78.919 - ], - [ - "ironhead", - 100.0 - ], - [ - "blazekick", - 29.189 - ], - [ - "leechlife", - 24.324 - ], - [ - "thunderbolt", - 49.189 - ], - [ - "extremespeed", - 51.892 - ] - ], - "sets": { - "blazekick|extremespeed|ironhead|leechlife": 2.162, - "blazekick|extremespeed|ironhead|shiftgear": 4.865, - "blazekick|extremespeed|ironhead|uturn": 5.946, - "blazekick|ironhead|leechlife|shiftgear": 3.784, - "blazekick|ironhead|shiftgear|uturn": 12.432, - "extremespeed|ironhead|leechlife|shiftgear": 4.324, - "extremespeed|ironhead|leechlife|thunderbolt": 5.405, - "extremespeed|ironhead|shiftgear|thunderbolt": 4.324, - "extremespeed|ironhead|shiftgear|uturn": 17.297, - "extremespeed|ironhead|thunderbolt|uturn": 7.568, - "ironhead|leechlife|shiftgear|thunderbolt": 8.649, - "ironhead|shiftgear|thunderbolt|uturn": 23.243 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "genesectdouse": { - "abilities": [ - [ - "download", - 100.0 - ] - ], - "count": 180, - "items": [ - [ - "dousedrive", - 100.0 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "flamethrower", - 30.556 - ], - [ - "icebeam", - 32.222 - ], - [ - "technoblast", - 100.0 - ], - [ - "thunderbolt", - 32.222 - ], - [ - "bugbuzz", - 21.667 - ], - [ - "uturn", - 61.667 - ], - [ - "extremespeed", - 21.667 - ] - ], - "sets": { - "bugbuzz|extremespeed|ironhead|technoblast": 3.333, - "bugbuzz|flamethrower|ironhead|technoblast": 4.444, - "bugbuzz|icebeam|ironhead|technoblast": 6.667, - "bugbuzz|ironhead|technoblast|thunderbolt": 6.111, - "bugbuzz|ironhead|technoblast|uturn": 1.111, - "extremespeed|flamethrower|ironhead|technoblast": 2.778, - "extremespeed|icebeam|ironhead|technoblast": 3.889, - "extremespeed|ironhead|technoblast|thunderbolt": 1.111, - "extremespeed|ironhead|technoblast|uturn": 10.556, - "flamethrower|icebeam|ironhead|technoblast": 3.333, - "flamethrower|ironhead|technoblast|thunderbolt": 4.444, - "flamethrower|ironhead|technoblast|uturn": 15.556, - "icebeam|ironhead|technoblast|thunderbolt": 2.222, - "icebeam|ironhead|technoblast|uturn": 16.111, - "ironhead|technoblast|thunderbolt|uturn": 18.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gengar": { - "abilities": [ - [ - "cursedbody", - 100.0 - ] - ], - "count": 431, - "items": [ - [ - "lifeorb", - 69.838 - ], - [ - "focussash", - 7.425 - ], - [ - "choicespecs", - 22.738 - ] - ], - "moves": [ - [ - "sludgewave", - 100.0 - ], - [ - "nastyplot", - 77.262 - ], - [ - "focusblast", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "trick", - 22.738 - ] - ], - "sets": { - "focusblast|nastyplot|shadowball|sludgewave": 77.262, - "focusblast|shadowball|sludgewave|trick": 22.738 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gigalith": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 390, - "items": [ - [ - "leftovers", - 59.487 - ], - [ - "choiceband", - 40.513 - ] - ], - "moves": [ - [ - "explosion", - 80.0 - ], - [ - "superpower", - 80.513 - ], - [ - "stoneedge", - 100.0 - ], - [ - "stealthrock", - 59.487 - ], - [ - "earthquake", - 80.0 - ] - ], - "sets": { - "earthquake|explosion|stealthrock|stoneedge": 19.487, - "earthquake|explosion|stoneedge|superpower": 40.513, - "earthquake|stealthrock|stoneedge|superpower": 20.0, - "explosion|stealthrock|stoneedge|superpower": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "giratina": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "leftovers", - 93.258 - ], - [ - "chestoberry", - 6.742 - ] - ], - "moves": [ - [ - "rest", - 100.0 - ], - [ - "sleeptalk", - 93.258 - ], - [ - "toxic", - 46.629 - ], - [ - "hex", - 100.0 - ], - [ - "willowisp", - 60.112 - ] - ], - "sets": { - "hex|rest|sleeptalk|toxic": 39.888, - "hex|rest|sleeptalk|willowisp": 53.371, - "hex|rest|toxic|willowisp": 6.742 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "giratinaorigin": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "griseousorb", - 100.0 - ] - ], - "moves": [ - [ - "outrage", - 100.0 - ], - [ - "shadowsneak", - 39.894 - ], - [ - "honeclaws", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "dualwingbeat", - 60.106 - ] - ], - "sets": { - "dualwingbeat|honeclaws|outrage|poltergeist": 60.106, - "honeclaws|outrage|poltergeist|shadowsneak": 39.894 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glaceon": { - "abilities": [ - [ - "snowcloak", - 29.63 - ], - [ - "icebody", - 70.37 - ] - ], - "count": 189, - "items": [ - [ - "leftovers", - 79.365 - ], - [ - "heavydutyboots", - 20.635 - ] - ], - "moves": [ - [ - "protect", - 77.778 - ], - [ - "wish", - 84.127 - ], - [ - "toxic", - 75.661 - ], - [ - "freezedry", - 100.0 - ], - [ - "shadowball", - 62.434 - ] - ], - "sets": { - "freezedry|protect|shadowball|toxic": 15.873, - "freezedry|protect|shadowball|wish": 24.339, - "freezedry|protect|toxic|wish": 37.566, - "freezedry|shadowball|toxic|wish": 22.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glalie": { - "abilities": [ - [ - "moody", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "freezedry", - 100.0 - ], - [ - "earthquake", - 70.391 - ], - [ - "disable", - 70.95 - ], - [ - "substitute", - 78.771 - ], - [ - "protect", - 79.888 - ] - ], - "sets": { - "disable|earthquake|freezedry|protect": 21.229, - "disable|earthquake|freezedry|substitute": 20.112, - "disable|freezedry|protect|substitute": 29.609, - "earthquake|freezedry|protect|substitute": 29.05 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "glastrier": { - "abilities": [ - [ - "chillingneigh", - 100.0 - ] - ], - "count": 327, - "items": [ - [ - "heavydutyboots", - 92.661 - ], - [ - "lumberry", - 7.339 - ] - ], - "moves": [ - [ - "highhorsepower", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "closecombat", - 100.0 - ] - ], - "sets": { - "closecombat|highhorsepower|iciclecrash|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golduck": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "choicespecs", - 21.229 - ], - [ - "lifeorb", - 23.464 - ], - [ - "leftovers", - 50.279 - ], - [ - "focussash", - 5.028 - ] - ], - "moves": [ - [ - "focusblast", - 54.19 - ], - [ - "icebeam", - 58.659 - ], - [ - "scald", - 100.0 - ], - [ - "psyshock", - 58.101 - ], - [ - "calmmind", - 78.771 - ], - [ - "substitute", - 50.279 - ] - ], - "sets": { - "calmmind|focusblast|icebeam|scald": 11.732, - "calmmind|focusblast|psyshock|scald": 6.145, - "calmmind|focusblast|scald|substitute": 15.084, - "calmmind|icebeam|psyshock|scald": 10.615, - "calmmind|icebeam|scald|substitute": 15.084, - "calmmind|psyshock|scald|substitute": 20.112, - "focusblast|icebeam|psyshock|scald": 21.229 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golisopod": { - "abilities": [ - [ - "emergencyexit", - 100.0 - ] - ], - "count": 309, - "items": [ - [ - "heavydutyboots", - 88.026 - ], - [ - "choiceband", - 11.974 - ] - ], - "moves": [ - [ - "firstimpression", - 80.259 - ], - [ - "spikes", - 88.026 - ], - [ - "leechlife", - 57.282 - ], - [ - "liquidation", - 100.0 - ], - [ - "knockoff", - 74.434 - ] - ], - "sets": { - "firstimpression|knockoff|leechlife|liquidation": 11.974, - "firstimpression|knockoff|liquidation|spikes": 42.718, - "firstimpression|leechlife|liquidation|spikes": 25.566, - "knockoff|leechlife|liquidation|spikes": 19.741 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "golurk": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 350, - "items": [ - [ - "lifeorb", - 71.714 - ], - [ - "focussash", - 10.0 - ], - [ - "choiceband", - 18.286 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "rockpolish", - 81.714 - ], - [ - "stoneedge", - 62.286 - ], - [ - "poltergeist", - 100.0 - ], - [ - "dynamicpunch", - 56.0 - ] - ], - "sets": { - "dynamicpunch|earthquake|poltergeist|rockpolish": 37.714, - "dynamicpunch|earthquake|poltergeist|stoneedge": 18.286, - "earthquake|poltergeist|rockpolish|stoneedge": 44.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "goodra": { - "abilities": [ - [ - "sapsipper", - 100.0 - ] - ], - "count": 328, - "items": [ - [ - "assaultvest", - 90.549 - ], - [ - "choicescarf", - 7.012 - ], - [ - "choicespecs", - 2.439 - ] - ], - "moves": [ - [ - "sludgebomb", - 69.207 - ], - [ - "powerwhip", - 60.366 - ], - [ - "earthquake", - 72.256 - ], - [ - "dracometeor", - 100.0 - ], - [ - "fireblast", - 71.341 - ], - [ - "thunderbolt", - 26.829 - ] - ], - "sets": { - "dracometeor|earthquake|fireblast|powerwhip": 20.427, - "dracometeor|earthquake|fireblast|sludgebomb": 12.805, - "dracometeor|earthquake|fireblast|thunderbolt": 10.366, - "dracometeor|earthquake|powerwhip|sludgebomb": 21.646, - "dracometeor|earthquake|sludgebomb|thunderbolt": 7.012, - "dracometeor|fireblast|powerwhip|sludgebomb": 18.293, - "dracometeor|fireblast|sludgebomb|thunderbolt": 9.451 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gothitelle": { - "abilities": [ - [ - "shadowtag", - 100.0 - ] - ], - "count": 140, - "items": [ - [ - "leftovers", - 81.429 - ], - [ - "choicescarf", - 18.571 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "nastyplot", - 81.429 - ], - [ - "trick", - 18.571 - ] - ], - "sets": { - "nastyplot|psychic|shadowball|thunderbolt": 81.429, - "psychic|shadowball|thunderbolt|trick": 18.571 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeist": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 82, - "items": [ - [ - "lifeorb", - 57.317 - ], - [ - "leftovers", - 42.683 - ] - ], - "moves": [ - [ - "willowisp", - 67.073 - ], - [ - "poltergeist", - 100.0 - ], - [ - "shadowsneak", - 74.39 - ], - [ - "powerwhip", - 82.927 - ], - [ - "synthesis", - 75.61 - ] - ], - "sets": { - "poltergeist|powerwhip|shadowsneak|synthesis": 32.927, - "poltergeist|powerwhip|shadowsneak|willowisp": 24.39, - "poltergeist|powerwhip|synthesis|willowisp": 25.61, - "poltergeist|shadowsneak|synthesis|willowisp": 17.073 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistlarge": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 93, - "items": [ - [ - "leftovers", - 56.989 - ], - [ - "lifeorb", - 43.011 - ] - ], - "moves": [ - [ - "synthesis", - 90.323 - ], - [ - "willowisp", - 66.667 - ], - [ - "powerwhip", - 75.269 - ], - [ - "poltergeist", - 100.0 - ], - [ - "shadowsneak", - 67.742 - ] - ], - "sets": { - "poltergeist|powerwhip|shadowsneak|synthesis": 33.333, - "poltergeist|powerwhip|shadowsneak|willowisp": 9.677, - "poltergeist|powerwhip|synthesis|willowisp": 32.258, - "poltergeist|shadowsneak|synthesis|willowisp": 24.731 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistsmall": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 89, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "powerwhip", - 77.528 - ], - [ - "leechseed", - 80.899 - ], - [ - "willowisp", - 41.573 - ] - ], - "sets": { - "leechseed|poltergeist|powerwhip|substitute": 58.427, - "leechseed|poltergeist|substitute|willowisp": 22.472, - "poltergeist|powerwhip|substitute|willowisp": 19.101 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gourgeistsuper": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 95, - "items": [ - [ - "lifeorb", - 52.632 - ], - [ - "choiceband", - 47.368 - ] - ], - "moves": [ - [ - "trickroom", - 52.632 - ], - [ - "rockslide", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "powerwhip", - 100.0 - ], - [ - "shadowsneak", - 47.368 - ] - ], - "sets": { - "poltergeist|powerwhip|rockslide|shadowsneak": 47.368, - "poltergeist|powerwhip|rockslide|trickroom": 52.632 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "grapploct": { - "abilities": [ - [ - "technician", - 71.341 - ], - [ - "limber", - 28.659 - ] - ], - "count": 164, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "bulkup", - 100.0 - ], - [ - "brutalswing", - 71.341 - ], - [ - "drainpunch", - 100.0 - ], - [ - "icepunch", - 100.0 - ], - [ - "suckerpunch", - 28.659 - ] - ], - "sets": { - "brutalswing|bulkup|drainpunch|icepunch": 71.341, - "bulkup|drainpunch|icepunch|suckerpunch": 28.659 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "greedent": { - "abilities": [ - [ - "cheekpouch", - 100.0 - ] - ], - "count": 177, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "bodyslam", - 100.0 - ], - [ - "firefang", - 73.446 - ], - [ - "earthquake", - 75.141 - ], - [ - "payback", - 51.412 - ] - ], - "sets": { - "bodyslam|earthquake|firefang|swordsdance": 48.588, - "bodyslam|earthquake|payback|swordsdance": 26.554, - "bodyslam|firefang|payback|swordsdance": 24.859 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "grimmsnarl": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 392, - "items": [ - [ - "chestoberry", - 31.122 - ], - [ - "lightclay", - 44.643 - ], - [ - "lifeorb", - 14.796 - ], - [ - "focussash", - 1.531 - ], - [ - "choiceband", - 7.653 - ], - [ - "leftovers", - 0.255 - ] - ], - "moves": [ - [ - "playrough", - 55.102 - ], - [ - "bulkup", - 46.684 - ], - [ - "darkestlariat", - 55.102 - ], - [ - "rest", - 31.122 - ], - [ - "reflect", - 44.643 - ], - [ - "spiritbreak", - 44.898 - ], - [ - "thunderwave", - 23.214 - ], - [ - "lightscreen", - 44.898 - ], - [ - "suckerpunch", - 24.745 - ], - [ - "trick", - 7.653 - ], - [ - "taunt", - 21.939 - ] - ], - "sets": { - "bulkup|darkestlariat|playrough|rest": 30.357, - "bulkup|darkestlariat|playrough|suckerpunch": 16.327, - "darkestlariat|playrough|rest|suckerpunch": 0.765, - "darkestlariat|playrough|suckerpunch|trick": 7.653, - "lightscreen|reflect|spiritbreak|taunt": 21.684, - "lightscreen|reflect|spiritbreak|thunderwave": 22.959, - "lightscreen|spiritbreak|taunt|thunderwave": 0.255 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "groudon": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 323, - "items": [ - [ - "leftovers", - 95.356 - ], - [ - "choicescarf", - 3.715 - ], - [ - "choiceband", - 0.929 - ] - ], - "moves": [ - [ - "heatcrash", - 67.183 - ], - [ - "stoneedge", - 67.492 - ], - [ - "precipiceblades", - 100.0 - ], - [ - "thunderwave", - 21.362 - ], - [ - "swordsdance", - 61.92 - ], - [ - "heavyslam", - 59.133 - ], - [ - "stealthrock", - 22.91 - ] - ], - "sets": { - "heatcrash|heavyslam|precipiceblades|stealthrock": 3.406, - "heatcrash|heavyslam|precipiceblades|stoneedge": 4.644, - "heatcrash|heavyslam|precipiceblades|swordsdance": 18.885, - "heatcrash|heavyslam|precipiceblades|thunderwave": 4.025, - "heatcrash|precipiceblades|stealthrock|stoneedge": 4.644, - "heatcrash|precipiceblades|stealthrock|thunderwave": 4.025, - "heatcrash|precipiceblades|stoneedge|swordsdance": 24.768, - "heatcrash|precipiceblades|stoneedge|thunderwave": 2.786, - "heavyslam|precipiceblades|stealthrock|stoneedge": 4.025, - "heavyslam|precipiceblades|stealthrock|thunderwave": 2.167, - "heavyslam|precipiceblades|stoneedge|swordsdance": 18.266, - "heavyslam|precipiceblades|stoneedge|thunderwave": 3.715, - "precipiceblades|stealthrock|stoneedge|thunderwave": 4.644 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gurdurr": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 381, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "drainpunch", - 100.0 - ], - [ - "bulkup", - 83.465 - ], - [ - "machpunch", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "defog", - 16.535 - ] - ], - "sets": { - "bulkup|drainpunch|knockoff|machpunch": 83.465, - "defog|drainpunch|knockoff|machpunch": 16.535 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "guzzlord": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 292, - "items": [ - [ - "assaultvest", - 81.849 - ], - [ - "choicespecs", - 18.151 - ] - ], - "moves": [ - [ - "knockoff", - 81.849 - ], - [ - "dracometeor", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "darkpulse", - 18.151 - ] - ], - "sets": { - "darkpulse|dracometeor|fireblast|sludgebomb": 18.151, - "dracometeor|fireblast|knockoff|sludgebomb": 81.849 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "gyarados": { - "abilities": [ - [ - "moxie", - 92.568 - ], - [ - "intimidate", - 7.432 - ] - ], - "count": 296, - "items": [ - [ - "heavydutyboots", - 74.324 - ], - [ - "choiceband", - 19.932 - ], - [ - "lifeorb", - 5.743 - ] - ], - "moves": [ - [ - "earthquake", - 75.338 - ], - [ - "waterfall", - 100.0 - ], - [ - "dragondance", - 80.068 - ], - [ - "powerwhip", - 67.568 - ], - [ - "bounce", - 77.027 - ] - ], - "sets": { - "bounce|dragondance|earthquake|waterfall": 32.432, - "bounce|dragondance|powerwhip|waterfall": 24.662, - "bounce|earthquake|powerwhip|waterfall": 19.932, - "dragondance|earthquake|powerwhip|waterfall": 22.973 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hatterene": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 379, - "items": [ - [ - "lifeorb", - 53.562 - ], - [ - "choicespecs", - 6.596 - ], - [ - "leftovers", - 39.842 - ] - ], - "moves": [ - [ - "psyshock", - 39.578 - ], - [ - "trickroom", - 53.562 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "mysticalfire", - 100.0 - ], - [ - "psychic", - 67.018 - ], - [ - "calmmind", - 39.842 - ] - ], - "sets": { - "calmmind|dazzlinggleam|mysticalfire|psychic": 23.483, - "calmmind|dazzlinggleam|mysticalfire|psyshock": 16.359, - "dazzlinggleam|mysticalfire|psychic|psyshock": 6.596, - "dazzlinggleam|mysticalfire|psychic|trickroom": 36.939, - "dazzlinggleam|mysticalfire|psyshock|trickroom": 16.623 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hawlucha": { - "abilities": [ - [ - "unburden", - 83.696 - ], - [ - "moldbreaker", - 16.304 - ] - ], - "count": 368, - "items": [ - [ - "whiteherb", - 83.424 - ], - [ - "choiceband", - 16.304 - ], - [ - "None", - 0.272 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "throatchop", - 49.457 - ], - [ - "swordsdance", - 83.696 - ], - [ - "bravebird", - 100.0 - ], - [ - "roost", - 25.272 - ], - [ - "stoneedge", - 41.576 - ] - ], - "sets": { - "bravebird|closecombat|roost|swordsdance": 25.272, - "bravebird|closecombat|stoneedge|swordsdance": 25.272, - "bravebird|closecombat|stoneedge|throatchop": 16.304, - "bravebird|closecombat|swordsdance|throatchop": 33.152 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "haxorus": { - "abilities": [ - [ - "moldbreaker", - 100.0 - ] - ], - "count": 435, - "items": [ - [ - "lifeorb", - 69.195 - ], - [ - "choicescarf", - 14.483 - ], - [ - "choiceband", - 9.195 - ], - [ - "focussash", - 7.126 - ] - ], - "moves": [ - [ - "earthquake", - 73.563 - ], - [ - "dragondance", - 76.322 - ], - [ - "outrage", - 100.0 - ], - [ - "closecombat", - 73.103 - ], - [ - "poisonjab", - 77.011 - ] - ], - "sets": { - "closecombat|dragondance|earthquake|outrage": 22.989, - "closecombat|dragondance|outrage|poisonjab": 26.437, - "closecombat|earthquake|outrage|poisonjab": 23.678, - "dragondance|earthquake|outrage|poisonjab": 26.897 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heatmor": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 198, - "items": [ - [ - "heavydutyboots", - 94.444 - ], - [ - "leftovers", - 4.545 - ], - [ - "lifeorb", - 1.01 - ] - ], - "moves": [ - [ - "knockoff", - 69.697 - ], - [ - "substitute", - 77.273 - ], - [ - "firelash", - 100.0 - ], - [ - "gigadrain", - 100.0 - ], - [ - "superpower", - 22.727 - ], - [ - "suckerpunch", - 30.303 - ] - ], - "sets": { - "firelash|gigadrain|knockoff|substitute": 54.545, - "firelash|gigadrain|knockoff|superpower": 15.152, - "firelash|gigadrain|substitute|suckerpunch": 22.727, - "firelash|gigadrain|suckerpunch|superpower": 7.576 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heatran": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 378, - "items": [ - [ - "leftovers", - 42.063 - ], - [ - "airballoon", - 57.937 - ] - ], - "moves": [ - [ - "toxic", - 76.455 - ], - [ - "lavaplume", - 100.0 - ], - [ - "protect", - 42.063 - ], - [ - "taunt", - 34.392 - ], - [ - "flashcannon", - 71.693 - ], - [ - "earthpower", - 39.947 - ], - [ - "stealthrock", - 35.45 - ] - ], - "sets": { - "earthpower|flashcannon|lavaplume|stealthrock": 5.82, - "earthpower|flashcannon|lavaplume|taunt": 7.672, - "earthpower|flashcannon|lavaplume|toxic": 9.524, - "earthpower|lavaplume|protect|toxic": 5.556, - "earthpower|lavaplume|stealthrock|taunt": 4.233, - "earthpower|lavaplume|stealthrock|toxic": 2.91, - "earthpower|lavaplume|taunt|toxic": 4.233, - "flashcannon|lavaplume|protect|toxic": 27.778, - "flashcannon|lavaplume|stealthrock|taunt": 5.82, - "flashcannon|lavaplume|stealthrock|toxic": 8.466, - "flashcannon|lavaplume|taunt|toxic": 6.614, - "lavaplume|protect|stealthrock|toxic": 5.556, - "lavaplume|protect|taunt|toxic": 3.175, - "lavaplume|stealthrock|taunt|toxic": 2.646 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heliolisk": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 343, - "items": [ - [ - "lifeorb", - 57.434 - ], - [ - "choicespecs", - 29.446 - ], - [ - "focussash", - 13.12 - ] - ], - "moves": [ - [ - "glare", - 70.554 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "hypervoice", - 60.35 - ], - [ - "surf", - 58.601 - ], - [ - "voltswitch", - 76.093 - ], - [ - "grassknot", - 34.402 - ] - ], - "sets": { - "glare|grassknot|hypervoice|thunderbolt": 8.746, - "glare|grassknot|thunderbolt|voltswitch": 15.743, - "glare|hypervoice|surf|thunderbolt": 15.16, - "glare|hypervoice|thunderbolt|voltswitch": 6.997, - "glare|surf|thunderbolt|voltswitch": 23.907, - "grassknot|hypervoice|thunderbolt|voltswitch": 9.913, - "hypervoice|surf|thunderbolt|voltswitch": 19.534 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "heracross": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 332, - "items": [ - [ - "flameorb", - 100.0 - ] - ], - "moves": [ - [ - "facade", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "megahorn", - 100.0 - ] - ], - "sets": { - "closecombat|facade|knockoff|megahorn": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hippowdon": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 351, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "slackoff", - 100.0 - ], - [ - "toxic", - 76.923 - ], - [ - "stealthrock", - 34.473 - ], - [ - "earthquake", - 100.0 - ], - [ - "whirlwind", - 40.171 - ], - [ - "stoneedge", - 48.433 - ] - ], - "sets": { - "earthquake|slackoff|stealthrock|stoneedge": 7.407, - "earthquake|slackoff|stealthrock|toxic": 21.937, - "earthquake|slackoff|stealthrock|whirlwind": 5.128, - "earthquake|slackoff|stoneedge|toxic": 30.484, - "earthquake|slackoff|stoneedge|whirlwind": 10.541, - "earthquake|slackoff|toxic|whirlwind": 24.501 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmonchan": { - "abilities": [ - [ - "ironfist", - 100.0 - ] - ], - "count": 158, - "items": [ - [ - "leftovers", - 19.62 - ], - [ - "lifeorb", - 47.468 - ], - [ - "choiceband", - 6.962 - ], - [ - "assaultvest", - 25.949 - ] - ], - "moves": [ - [ - "throatchop", - 65.823 - ], - [ - "rapidspin", - 45.57 - ], - [ - "drainpunch", - 100.0 - ], - [ - "bulkup", - 67.089 - ], - [ - "machpunch", - 59.494 - ], - [ - "icepunch", - 62.025 - ] - ], - "sets": { - "bulkup|drainpunch|icepunch|machpunch": 17.722, - "bulkup|drainpunch|icepunch|rapidspin": 6.329, - "bulkup|drainpunch|icepunch|throatchop": 11.392, - "bulkup|drainpunch|machpunch|throatchop": 18.354, - "bulkup|drainpunch|rapidspin|throatchop": 13.291, - "drainpunch|icepunch|machpunch|rapidspin": 10.127, - "drainpunch|icepunch|machpunch|throatchop": 6.962, - "drainpunch|icepunch|rapidspin|throatchop": 9.494, - "drainpunch|machpunch|rapidspin|throatchop": 6.329 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmonlee": { - "abilities": [ - [ - "unburden", - 78.025 - ], - [ - "reckless", - 21.975 - ] - ], - "count": 314, - "items": [ - [ - "whiteherb", - 78.025 - ], - [ - "choicescarf", - 13.694 - ], - [ - "choiceband", - 8.28 - ] - ], - "moves": [ - [ - "stoneedge", - 71.656 - ], - [ - "curse", - 78.025 - ], - [ - "poisonjab", - 76.115 - ], - [ - "closecombat", - 78.025 - ], - [ - "knockoff", - 74.204 - ], - [ - "highjumpkick", - 21.975 - ] - ], - "sets": { - "closecombat|curse|knockoff|poisonjab": 28.344, - "closecombat|curse|knockoff|stoneedge": 23.885, - "closecombat|curse|poisonjab|stoneedge": 25.796, - "highjumpkick|knockoff|poisonjab|stoneedge": 21.975 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hitmontop": { - "abilities": [ - [ - "intimidate", - 38.129 - ], - [ - "technician", - 61.871 - ] - ], - "count": 278, - "items": [ - [ - "leftovers", - 28.777 - ], - [ - "assaultvest", - 23.022 - ], - [ - "lifeorb", - 37.77 - ], - [ - "choiceband", - 10.432 - ] - ], - "moves": [ - [ - "toxic", - 66.547 - ], - [ - "rapidspin", - 51.799 - ], - [ - "suckerpunch", - 62.95 - ], - [ - "closecombat", - 100.0 - ], - [ - "earthquake", - 56.835 - ], - [ - "tripleaxel", - 61.871 - ] - ], - "sets": { - "closecombat|earthquake|rapidspin|suckerpunch": 8.633, - "closecombat|earthquake|rapidspin|toxic": 9.712, - "closecombat|earthquake|rapidspin|tripleaxel": 6.835, - "closecombat|earthquake|suckerpunch|toxic": 11.151, - "closecombat|earthquake|suckerpunch|tripleaxel": 10.432, - "closecombat|earthquake|toxic|tripleaxel": 10.072, - "closecombat|rapidspin|suckerpunch|toxic": 8.633, - "closecombat|rapidspin|suckerpunch|tripleaxel": 7.554, - "closecombat|rapidspin|toxic|tripleaxel": 10.432, - "closecombat|suckerpunch|toxic|tripleaxel": 16.547 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hooh": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 354, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 100.0 - ], - [ - "sacredfire", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "earthquake", - 11.864 - ], - [ - "toxic", - 75.141 - ], - [ - "defog", - 12.994 - ] - ], - "sets": { - "bravebird|defog|roost|sacredfire": 12.994, - "bravebird|earthquake|roost|sacredfire": 11.864, - "bravebird|roost|sacredfire|toxic": 75.141 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "hydreigon": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 339, - "items": [ - [ - "leftovers", - 53.982 - ], - [ - "choicespecs", - 11.209 - ], - [ - "lifeorb", - 33.333 - ], - [ - "choicescarf", - 1.475 - ] - ], - "moves": [ - [ - "roost", - 67.257 - ], - [ - "darkpulse", - 100.0 - ], - [ - "nastyplot", - 69.617 - ], - [ - "dracometeor", - 100.0 - ], - [ - "fireblast", - 24.484 - ], - [ - "uturn", - 15.339 - ], - [ - "flashcannon", - 23.304 - ] - ], - "sets": { - "darkpulse|dracometeor|fireblast|flashcannon": 1.77, - "darkpulse|dracometeor|fireblast|nastyplot": 10.029, - "darkpulse|dracometeor|fireblast|roost": 6.785, - "darkpulse|dracometeor|fireblast|uturn": 5.9, - "darkpulse|dracometeor|flashcannon|nastyplot": 10.029, - "darkpulse|dracometeor|flashcannon|roost": 6.49, - "darkpulse|dracometeor|flashcannon|uturn": 5.015, - "darkpulse|dracometeor|nastyplot|roost": 49.558, - "darkpulse|dracometeor|roost|uturn": 4.425 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "incineroar": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 354, - "items": [ - [ - "heavydutyboots", - 55.932 - ], - [ - "choicescarf", - 18.927 - ], - [ - "choiceband", - 25.141 - ] - ], - "moves": [ - [ - "knockoff", - 100.0 - ], - [ - "earthquake", - 62.712 - ], - [ - "willowisp", - 55.932 - ], - [ - "flareblitz", - 100.0 - ], - [ - "uturn", - 47.175 - ], - [ - "partingshot", - 34.181 - ] - ], - "sets": { - "earthquake|flareblitz|knockoff|partingshot": 17.797, - "earthquake|flareblitz|knockoff|uturn": 26.271, - "earthquake|flareblitz|knockoff|willowisp": 18.644, - "flareblitz|knockoff|partingshot|willowisp": 16.384, - "flareblitz|knockoff|uturn|willowisp": 20.904 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "indeedee": { - "abilities": [ - [ - "psychicsurge", - 100.0 - ] - ], - "count": 363, - "items": [ - [ - "lifeorb", - 70.523 - ], - [ - "focussash", - 10.744 - ], - [ - "choicescarf", - 18.733 - ] - ], - "moves": [ - [ - "calmmind", - 81.267 - ], - [ - "expandingforce", - 100.0 - ], - [ - "hypervoice", - 100.0 - ], - [ - "mysticalfire", - 100.0 - ], - [ - "trick", - 18.733 - ] - ], - "sets": { - "calmmind|expandingforce|hypervoice|mysticalfire": 81.267, - "expandingforce|hypervoice|mysticalfire|trick": 18.733 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "indeedeef": { - "abilities": [ - [ - "psychicsurge", - 100.0 - ] - ], - "count": 415, - "items": [ - [ - "lifeorb", - 69.88 - ], - [ - "choicescarf", - 20.723 - ], - [ - "focussash", - 9.398 - ] - ], - "moves": [ - [ - "mysticalfire", - 100.0 - ], - [ - "calmmind", - 79.277 - ], - [ - "expandingforce", - 100.0 - ], - [ - "hypervoice", - 100.0 - ], - [ - "healingwish", - 20.723 - ] - ], - "sets": { - "calmmind|expandingforce|hypervoice|mysticalfire": 79.277, - "expandingforce|healingwish|hypervoice|mysticalfire": 20.723 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "inteleon": { - "abilities": [ - [ - "sniper", - 49.697 - ], - [ - "torrent", - 50.303 - ] - ], - "count": 330, - "items": [ - [ - "scopelens", - 49.697 - ], - [ - "choicespecs", - 50.303 - ] - ], - "moves": [ - [ - "focusenergy", - 49.697 - ], - [ - "surf", - 49.697 - ], - [ - "airslash", - 82.424 - ], - [ - "icebeam", - 84.242 - ], - [ - "uturn", - 33.636 - ], - [ - "darkpulse", - 30.909 - ], - [ - "hydropump", - 32.424 - ], - [ - "scald", - 36.97 - ] - ], - "sets": { - "airslash|darkpulse|hydropump|icebeam": 2.727, - "airslash|darkpulse|hydropump|scald": 3.03, - "airslash|darkpulse|hydropump|uturn": 3.03, - "airslash|darkpulse|icebeam|scald": 5.152, - "airslash|darkpulse|scald|uturn": 3.636, - "airslash|focusenergy|icebeam|surf": 49.697, - "airslash|hydropump|icebeam|scald": 3.333, - "airslash|hydropump|icebeam|uturn": 3.939, - "airslash|hydropump|scald|uturn": 3.03, - "airslash|icebeam|scald|uturn": 4.848, - "darkpulse|hydropump|icebeam|scald": 2.424, - "darkpulse|hydropump|icebeam|uturn": 3.636, - "darkpulse|hydropump|scald|uturn": 3.03, - "darkpulse|icebeam|scald|uturn": 4.242, - "hydropump|icebeam|scald|uturn": 4.242 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jellicent": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "willowisp", - 34.359 - ], - [ - "shadowball", - 100.0 - ], - [ - "toxic", - 42.564 - ], - [ - "icebeam", - 23.077 - ] - ], - "sets": { - "icebeam|recover|scald|shadowball": 23.077, - "recover|scald|shadowball|toxic": 42.564, - "recover|scald|shadowball|willowisp": 34.359 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jirachi": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 88.822 - ], - [ - "choicescarf", - 7.553 - ], - [ - "assaultvest", - 3.625 - ] - ], - "moves": [ - [ - "stealthrock", - 58.912 - ], - [ - "bodyslam", - 12.387 - ], - [ - "uturn", - 77.039 - ], - [ - "ironhead", - 100.0 - ], - [ - "firepunch", - 71.601 - ], - [ - "toxic", - 72.508 - ], - [ - "trick", - 7.553 - ] - ], - "sets": { - "bodyslam|firepunch|ironhead|stealthrock": 4.532, - "bodyslam|firepunch|ironhead|uturn": 3.625, - "bodyslam|ironhead|stealthrock|uturn": 4.23, - "firepunch|ironhead|stealthrock|toxic": 18.429, - "firepunch|ironhead|stealthrock|uturn": 7.553, - "firepunch|ironhead|toxic|uturn": 29.909, - "firepunch|ironhead|trick|uturn": 7.553, - "ironhead|stealthrock|toxic|uturn": 24.169 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jolteon": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 304, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "hypervoice", - 100.0 - ] - ], - "sets": { - "hypervoice|shadowball|thunderbolt|voltswitch": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "jynx": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 208, - "items": [ - [ - "heavydutyboots", - 61.058 - ], - [ - "focussash", - 27.404 - ], - [ - "choicescarf", - 7.212 - ], - [ - "leftovers", - 1.923 - ], - [ - "lifeorb", - 2.404 - ] - ], - "moves": [ - [ - "icebeam", - 100.0 - ], - [ - "focusblast", - 66.827 - ], - [ - "nastyplot", - 70.673 - ], - [ - "psyshock", - 100.0 - ], - [ - "lovelykiss", - 55.288 - ], - [ - "trick", - 7.212 - ] - ], - "sets": { - "focusblast|icebeam|lovelykiss|psyshock": 22.115, - "focusblast|icebeam|nastyplot|psyshock": 37.5, - "focusblast|icebeam|psyshock|trick": 7.212, - "icebeam|lovelykiss|nastyplot|psyshock": 33.173 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kabutops": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "lifeorb", - 43.548 - ], - [ - "lumberry", - 19.355 - ], - [ - "focussash", - 17.204 - ], - [ - "assaultvest", - 11.29 - ], - [ - "choiceband", - 8.602 - ] - ], - "moves": [ - [ - "knockoff", - 43.011 - ], - [ - "stoneedge", - 100.0 - ], - [ - "swordsdance", - 80.108 - ], - [ - "liquidation", - 100.0 - ], - [ - "rapidspin", - 33.871 - ], - [ - "aquajet", - 43.011 - ] - ], - "sets": { - "aquajet|knockoff|liquidation|stoneedge": 8.602, - "aquajet|liquidation|rapidspin|stoneedge": 5.914, - "aquajet|liquidation|stoneedge|swordsdance": 28.495, - "knockoff|liquidation|rapidspin|stoneedge": 5.376, - "knockoff|liquidation|stoneedge|swordsdance": 29.032, - "liquidation|rapidspin|stoneedge|swordsdance": 22.581 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kangaskhan": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 201, - "items": [ - [ - "assaultvest", - 78.109 - ], - [ - "choiceband", - 21.891 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "fakeout", - 78.109 - ], - [ - "doubleedge", - 100.0 - ], - [ - "suckerpunch", - 100.0 - ], - [ - "hammerarm", - 21.891 - ] - ], - "sets": { - "doubleedge|earthquake|fakeout|suckerpunch": 78.109, - "doubleedge|earthquake|hammerarm|suckerpunch": 21.891 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kartana": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 322, - "items": [ - [ - "lifeorb", - 65.217 - ], - [ - "choiceband", - 21.739 - ], - [ - "focussash", - 13.043 - ] - ], - "moves": [ - [ - "swordsdance", - 78.261 - ], - [ - "sacredsword", - 60.87 - ], - [ - "smartstrike", - 100.0 - ], - [ - "leafblade", - 100.0 - ], - [ - "knockoff", - 60.87 - ] - ], - "sets": { - "knockoff|leafblade|sacredsword|smartstrike": 21.739, - "knockoff|leafblade|smartstrike|swordsdance": 39.13, - "leafblade|sacredsword|smartstrike|swordsdance": 39.13 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "keldeoresolute": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 310, - "items": [ - [ - "choicespecs", - 11.613 - ], - [ - "lifeorb", - 27.742 - ], - [ - "leftovers", - 44.516 - ], - [ - "choicescarf", - 16.129 - ] - ], - "moves": [ - [ - "airslash", - 48.71 - ], - [ - "secretsword", - 100.0 - ], - [ - "hydropump", - 40.645 - ], - [ - "icywind", - 20.0 - ], - [ - "scald", - 73.871 - ], - [ - "calmmind", - 72.258 - ], - [ - "substitute", - 44.516 - ] - ], - "sets": { - "airslash|calmmind|hydropump|secretsword": 8.065, - "airslash|calmmind|scald|secretsword": 19.677, - "airslash|hydropump|icywind|secretsword": 6.774, - "airslash|hydropump|scald|secretsword": 7.742, - "airslash|icywind|scald|secretsword": 6.452, - "calmmind|hydropump|secretsword|substitute": 11.29, - "calmmind|scald|secretsword|substitute": 33.226, - "hydropump|icywind|scald|secretsword": 6.774 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kingdra": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 372, - "items": [ - [ - "lifeorb", - 80.376 - ], - [ - "choicespecs", - 19.624 - ] - ], - "moves": [ - [ - "raindance", - 80.376 - ], - [ - "hydropump", - 100.0 - ], - [ - "hurricane", - 100.0 - ], - [ - "dracometeor", - 100.0 - ], - [ - "flipturn", - 19.624 - ] - ], - "sets": { - "dracometeor|flipturn|hurricane|hydropump": 19.624, - "dracometeor|hurricane|hydropump|raindance": 80.376 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kingler": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 330, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 69.697 - ], - [ - "rockslide", - 56.061 - ], - [ - "superpower", - 54.848 - ], - [ - "liquidation", - 100.0 - ], - [ - "agility", - 60.303 - ], - [ - "xscissor", - 59.091 - ] - ], - "sets": { - "agility|liquidation|rockslide|superpower": 8.485, - "agility|liquidation|rockslide|swordsdance": 13.03, - "agility|liquidation|rockslide|xscissor": 7.576, - "agility|liquidation|superpower|swordsdance": 10.606, - "agility|liquidation|superpower|xscissor": 6.364, - "agility|liquidation|swordsdance|xscissor": 14.242, - "liquidation|rockslide|superpower|swordsdance": 8.788, - "liquidation|rockslide|superpower|xscissor": 7.879, - "liquidation|rockslide|swordsdance|xscissor": 10.303, - "liquidation|superpower|swordsdance|xscissor": 12.727 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "klefki": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 332, - "items": [ - [ - "leftovers", - 80.12 - ], - [ - "focussash", - 19.88 - ] - ], - "moves": [ - [ - "magnetrise", - 95.783 - ], - [ - "spikes", - 96.084 - ], - [ - "playrough", - 100.0 - ], - [ - "thunderwave", - 77.711 - ], - [ - "toxic", - 30.422 - ] - ], - "sets": { - "magnetrise|playrough|spikes|thunderwave": 69.578, - "magnetrise|playrough|spikes|toxic": 22.289, - "magnetrise|playrough|thunderwave|toxic": 3.916, - "playrough|spikes|thunderwave|toxic": 4.217 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "klinklang": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "shiftgear", - 100.0 - ], - [ - "geargrind", - 100.0 - ], - [ - "wildcharge", - 100.0 - ], - [ - "substitute", - 100.0 - ] - ], - "sets": { - "geargrind|shiftgear|substitute|wildcharge": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kommoo": { - "abilities": [ - [ - "bulletproof", - 16.714 - ], - [ - "soundproof", - 83.286 - ] - ], - "count": 353, - "items": [ - [ - "leftovers", - 16.714 - ], - [ - "throatspray", - 83.286 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "stealthrock", - 16.714 - ], - [ - "clangingscales", - 100.0 - ], - [ - "poisonjab", - 100.0 - ], - [ - "clangoroussoul", - 83.286 - ] - ], - "sets": { - "clangingscales|clangoroussoul|closecombat|poisonjab": 83.286, - "clangingscales|closecombat|poisonjab|stealthrock": 16.714 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "krookodile": { - "abilities": [ - [ - "moxie", - 44.134 - ], - [ - "intimidate", - 55.866 - ] - ], - "count": 358, - "items": [ - [ - "choicescarf", - 31.006 - ], - [ - "lifeorb", - 43.855 - ], - [ - "choiceband", - 13.128 - ], - [ - "focussash", - 12.011 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "closecombat", - 71.788 - ], - [ - "knockoff", - 100.0 - ], - [ - "stoneedge", - 72.346 - ], - [ - "stealthrock", - 55.866 - ] - ], - "sets": { - "closecombat|earthquake|knockoff|stealthrock": 27.654, - "closecombat|earthquake|knockoff|stoneedge": 44.134, - "earthquake|knockoff|stealthrock|stoneedge": 28.212 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyogre": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 310, - "items": [ - [ - "choicespecs", - 8.387 - ], - [ - "leftovers", - 77.742 - ], - [ - "choicescarf", - 13.871 - ] - ], - "moves": [ - [ - "originpulse", - 100.0 - ], - [ - "waterspout", - 22.258 - ], - [ - "icebeam", - 100.0 - ], - [ - "thunder", - 100.0 - ], - [ - "calmmind", - 77.742 - ] - ], - "sets": { - "calmmind|icebeam|originpulse|thunder": 77.742, - "icebeam|originpulse|thunder|waterspout": 22.258 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyurem": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 315, - "items": [ - [ - "heavydutyboots", - 80.952 - ], - [ - "leftovers", - 8.254 - ], - [ - "choicescarf", - 7.302 - ], - [ - "choicespecs", - 3.492 - ] - ], - "moves": [ - [ - "roost", - 89.206 - ], - [ - "dracometeor", - 84.762 - ], - [ - "freezedry", - 34.286 - ], - [ - "earthpower", - 56.19 - ], - [ - "icebeam", - 76.508 - ], - [ - "substitute", - 59.048 - ] - ], - "sets": { - "dracometeor|earthpower|freezedry|icebeam": 10.794, - "dracometeor|earthpower|freezedry|roost": 7.302, - "dracometeor|earthpower|icebeam|roost": 22.857, - "dracometeor|freezedry|roost|substitute": 11.746, - "dracometeor|icebeam|roost|substitute": 32.063, - "earthpower|freezedry|roost|substitute": 4.444, - "earthpower|icebeam|roost|substitute": 10.794 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyuremblack": { - "abilities": [ - [ - "teravolt", - 100.0 - ] - ], - "count": 369, - "items": [ - [ - "heavydutyboots", - 91.599 - ], - [ - "lumberry", - 8.401 - ] - ], - "moves": [ - [ - "fusionbolt", - 100.0 - ], - [ - "iciclespear", - 100.0 - ], - [ - "dragondance", - 100.0 - ], - [ - "outrage", - 100.0 - ] - ], - "sets": { - "dragondance|fusionbolt|iciclespear|outrage": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "kyuremwhite": { - "abilities": [ - [ - "turboblaze", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 5.438 - ], - [ - "choicespecs", - 10.876 - ], - [ - "heavydutyboots", - 65.861 - ], - [ - "choicescarf", - 17.825 - ] - ], - "moves": [ - [ - "roost", - 71.299 - ], - [ - "fusionflare", - 58.61 - ], - [ - "dracometeor", - 100.0 - ], - [ - "freezedry", - 40.483 - ], - [ - "earthpower", - 55.891 - ], - [ - "icebeam", - 73.716 - ] - ], - "sets": { - "dracometeor|earthpower|freezedry|fusionflare": 7.855, - "dracometeor|earthpower|freezedry|icebeam": 7.553, - "dracometeor|earthpower|freezedry|roost": 8.157, - "dracometeor|earthpower|fusionflare|icebeam": 6.647, - "dracometeor|earthpower|icebeam|roost": 25.68, - "dracometeor|freezedry|fusionflare|icebeam": 6.647, - "dracometeor|freezedry|fusionflare|roost": 10.272, - "dracometeor|fusionflare|icebeam|roost": 27.19 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "landorus": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 327, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "earthpower", - 100.0 - ], - [ - "stealthrock", - 17.431 - ], - [ - "knockoff", - 53.211 - ], - [ - "focusblast", - 54.434 - ], - [ - "rockpolish", - 64.526 - ], - [ - "sludgewave", - 56.881 - ], - [ - "rockslide", - 53.517 - ] - ], - "sets": { - "earthpower|focusblast|knockoff|rockpolish": 11.621, - "earthpower|focusblast|knockoff|rockslide": 4.587, - "earthpower|focusblast|knockoff|sludgewave": 4.281, - "earthpower|focusblast|knockoff|stealthrock": 1.835, - "earthpower|focusblast|rockpolish|rockslide": 10.092, - "earthpower|focusblast|rockpolish|sludgewave": 10.398, - "earthpower|focusblast|rockslide|sludgewave": 4.893, - "earthpower|focusblast|rockslide|stealthrock": 4.281, - "earthpower|focusblast|sludgewave|stealthrock": 2.446, - "earthpower|knockoff|rockpolish|rockslide": 8.563, - "earthpower|knockoff|rockpolish|sludgewave": 11.927, - "earthpower|knockoff|rockslide|sludgewave": 4.281, - "earthpower|knockoff|rockslide|stealthrock": 2.141, - "earthpower|knockoff|sludgewave|stealthrock": 3.976, - "earthpower|rockpolish|rockslide|sludgewave": 11.927, - "earthpower|rockslide|sludgewave|stealthrock": 2.752 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "landorustherian": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 351, - "items": [ - [ - "lifeorb", - 79.772 - ], - [ - "leftovers", - 11.681 - ], - [ - "choiceband", - 2.564 - ], - [ - "choicescarf", - 5.983 - ] - ], - "moves": [ - [ - "stoneedge", - 93.732 - ], - [ - "swordsdance", - 74.359 - ], - [ - "fly", - 94.587 - ], - [ - "earthquake", - 100.0 - ], - [ - "uturn", - 20.228 - ], - [ - "stealthrock", - 17.094 - ] - ], - "sets": { - "earthquake|fly|stealthrock|stoneedge": 5.413, - "earthquake|fly|stealthrock|uturn": 6.268, - "earthquake|fly|stoneedge|swordsdance": 74.359, - "earthquake|fly|stoneedge|uturn": 8.547, - "earthquake|stealthrock|stoneedge|uturn": 5.413 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lanturn": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 311, - "items": [ - [ - "leftovers", - 77.492 - ], - [ - "lifeorb", - 11.897 - ], - [ - "choicespecs", - 10.611 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "toxic", - 72.99 - ], - [ - "healbell", - 40.514 - ], - [ - "voltswitch", - 73.633 - ], - [ - "thunderbolt", - 72.026 - ], - [ - "icebeam", - 40.836 - ] - ], - "sets": { - "healbell|icebeam|scald|thunderbolt": 3.859, - "healbell|icebeam|scald|voltswitch": 5.145, - "healbell|scald|thunderbolt|toxic": 10.611, - "healbell|scald|thunderbolt|voltswitch": 7.395, - "healbell|scald|toxic|voltswitch": 13.505, - "icebeam|scald|thunderbolt|toxic": 11.897, - "icebeam|scald|thunderbolt|voltswitch": 10.611, - "icebeam|scald|toxic|voltswitch": 9.325, - "scald|thunderbolt|toxic|voltswitch": 27.653 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lapras": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 418, - "items": [ - [ - "leftovers", - 53.349 - ], - [ - "choicespecs", - 16.268 - ], - [ - "heavydutyboots", - 30.383 - ] - ], - "moves": [ - [ - "toxic", - 83.732 - ], - [ - "protect", - 51.196 - ], - [ - "icebeam", - 78.947 - ], - [ - "sparklingaria", - 100.0 - ], - [ - "freezedry", - 37.321 - ], - [ - "thunderbolt", - 48.804 - ] - ], - "sets": { - "freezedry|icebeam|sparklingaria|thunderbolt": 16.268, - "freezedry|protect|sparklingaria|toxic": 10.287, - "freezedry|sparklingaria|thunderbolt|toxic": 10.766, - "icebeam|protect|sparklingaria|toxic": 40.909, - "icebeam|sparklingaria|thunderbolt|toxic": 21.77 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latias": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 399, - "items": [ - [ - "leftovers", - 93.233 - ], - [ - "choicescarf", - 6.767 - ] - ], - "moves": [ - [ - "calmmind", - 77.193 - ], - [ - "psychic", - 100.0 - ], - [ - "roost", - 78.446 - ], - [ - "dracometeor", - 100.0 - ], - [ - "healingwish", - 6.767 - ], - [ - "mysticalfire", - 37.594 - ] - ], - "sets": { - "calmmind|dracometeor|mysticalfire|psychic": 14.787, - "calmmind|dracometeor|psychic|roost": 62.406, - "dracometeor|healingwish|mysticalfire|psychic": 6.767, - "dracometeor|mysticalfire|psychic|roost": 16.04 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "latios": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 386, - "items": [ - [ - "souldew", - 65.026 - ], - [ - "lifeorb", - 30.311 - ], - [ - "choicespecs", - 4.663 - ] - ], - "moves": [ - [ - "dracometeor", - 100.0 - ], - [ - "calmmind", - 77.979 - ], - [ - "roost", - 82.383 - ], - [ - "psyshock", - 100.0 - ], - [ - "mysticalfire", - 34.974 - ], - [ - "trick", - 4.663 - ] - ], - "sets": { - "calmmind|dracometeor|mysticalfire|psyshock": 12.953, - "calmmind|dracometeor|psyshock|roost": 65.026, - "dracometeor|mysticalfire|psyshock|roost": 17.358, - "dracometeor|mysticalfire|psyshock|trick": 4.663 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "leafeon": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 189, - "items": [ - [ - "lifeorb", - 44.444 - ], - [ - "lumberry", - 49.206 - ], - [ - "choiceband", - 3.175 - ], - [ - "choicescarf", - 3.175 - ] - ], - "moves": [ - [ - "synthesis", - 75.132 - ], - [ - "doubleedge", - 51.852 - ], - [ - "xscissor", - 52.91 - ], - [ - "leafblade", - 100.0 - ], - [ - "swordsdance", - 67.725 - ], - [ - "knockoff", - 52.381 - ] - ], - "sets": { - "doubleedge|knockoff|leafblade|swordsdance": 3.704, - "doubleedge|knockoff|leafblade|synthesis": 10.053, - "doubleedge|knockoff|leafblade|xscissor": 6.349, - "doubleedge|leafblade|swordsdance|synthesis": 16.931, - "doubleedge|leafblade|swordsdance|xscissor": 7.937, - "doubleedge|leafblade|synthesis|xscissor": 6.878, - "knockoff|leafblade|swordsdance|synthesis": 16.402, - "knockoff|leafblade|swordsdance|xscissor": 6.878, - "knockoff|leafblade|synthesis|xscissor": 8.995, - "leafblade|swordsdance|synthesis|xscissor": 15.873 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lickilicky": { - "abilities": [ - [ - "oblivious", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "leftovers", - 98.876 - ], - [ - "choiceband", - 1.124 - ] - ], - "moves": [ - [ - "protect", - 49.438 - ], - [ - "wish", - 79.213 - ], - [ - "swordsdance", - 49.438 - ], - [ - "bodyslam", - 100.0 - ], - [ - "earthquake", - 45.506 - ], - [ - "healbell", - 10.674 - ], - [ - "explosion", - 15.73 - ], - [ - "knockoff", - 50.0 - ] - ], - "sets": { - "bodyslam|earthquake|explosion|knockoff": 1.124, - "bodyslam|earthquake|explosion|swordsdance": 6.18, - "bodyslam|earthquake|knockoff|swordsdance": 5.056, - "bodyslam|earthquake|knockoff|wish": 11.798, - "bodyslam|earthquake|protect|wish": 12.921, - "bodyslam|earthquake|swordsdance|wish": 8.427, - "bodyslam|explosion|knockoff|swordsdance": 8.427, - "bodyslam|healbell|protect|wish": 8.989, - "bodyslam|healbell|swordsdance|wish": 1.685, - "bodyslam|knockoff|protect|wish": 15.73, - "bodyslam|knockoff|swordsdance|wish": 7.865, - "bodyslam|protect|swordsdance|wish": 11.798 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "liepard": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "leftovers", - 67.429 - ], - [ - "focussash", - 22.286 - ], - [ - "choiceband", - 10.286 - ] - ], - "moves": [ - [ - "knockoff", - 100.0 - ], - [ - "thunderwave", - 61.143 - ], - [ - "uturn", - 61.714 - ], - [ - "copycat", - 57.143 - ], - [ - "playrough", - 62.857 - ], - [ - "encore", - 57.143 - ] - ], - "sets": { - "copycat|encore|knockoff|playrough": 9.143, - "copycat|encore|knockoff|thunderwave": 9.714, - "copycat|encore|knockoff|uturn": 8.571, - "copycat|knockoff|playrough|thunderwave": 9.143, - "copycat|knockoff|playrough|uturn": 10.286, - "copycat|knockoff|thunderwave|uturn": 10.286, - "encore|knockoff|playrough|thunderwave": 10.286, - "encore|knockoff|playrough|uturn": 10.857, - "encore|knockoff|thunderwave|uturn": 8.571, - "knockoff|playrough|thunderwave|uturn": 13.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lilligant": { - "abilities": [ - [ - "owntempo", - 76.442 - ], - [ - "chlorophyll", - 23.558 - ] - ], - "count": 208, - "items": [ - [ - "lifeorb", - 26.442 - ], - [ - "leftovers", - 70.192 - ], - [ - "focussash", - 3.365 - ] - ], - "moves": [ - [ - "petaldance", - 76.923 - ], - [ - "pollenpuff", - 68.269 - ], - [ - "gigadrain", - 81.25 - ], - [ - "quiverdance", - 100.0 - ], - [ - "sleeppowder", - 73.558 - ] - ], - "sets": { - "gigadrain|petaldance|pollenpuff|quiverdance": 26.442, - "gigadrain|petaldance|quiverdance|sleeppowder": 31.731, - "gigadrain|pollenpuff|quiverdance|sleeppowder": 23.077, - "petaldance|pollenpuff|quiverdance|sleeppowder": 18.75 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "linoone": { - "abilities": [ - [ - "gluttony", - 100.0 - ] - ], - "count": 388, - "items": [ - [ - "iapapaberry", - 18.814 - ], - [ - "magoberry", - 18.041 - ], - [ - "figyberry", - 19.072 - ], - [ - "wikiberry", - 19.33 - ], - [ - "aguavberry", - 24.742 - ] - ], - "moves": [ - [ - "extremespeed", - 100.0 - ], - [ - "stompingtantrum", - 100.0 - ], - [ - "throatchop", - 100.0 - ], - [ - "bellydrum", - 100.0 - ] - ], - "sets": { - "bellydrum|extremespeed|stompingtantrum|throatchop": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lopunny": { - "abilities": [ - [ - "cutecharm", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "toxicorb", - 100.0 - ] - ], - "moves": [ - [ - "switcheroo", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "facade", - 100.0 - ], - [ - "healingwish", - 100.0 - ] - ], - "sets": { - "closecombat|facade|healingwish|switcheroo": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lucario": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 399, - "items": [ - [ - "lifeorb", - 69.674 - ], - [ - "choiceband", - 18.797 - ], - [ - "focussash", - 11.529 - ] - ], - "moves": [ - [ - "swordsdance", - 81.203 - ], - [ - "closecombat", - 100.0 - ], - [ - "extremespeed", - 100.0 - ], - [ - "meteormash", - 100.0 - ], - [ - "icepunch", - 18.797 - ] - ], - "sets": { - "closecombat|extremespeed|icepunch|meteormash": 18.797, - "closecombat|extremespeed|meteormash|swordsdance": 81.203 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ludicolo": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 174, - "items": [ - [ - "lifeorb", - 82.184 - ], - [ - "choicespecs", - 17.816 - ] - ], - "moves": [ - [ - "gigadrain", - 100.0 - ], - [ - "icebeam", - 100.0 - ], - [ - "hydropump", - 39.08 - ], - [ - "raindance", - 82.184 - ], - [ - "scald", - 78.736 - ] - ], - "sets": { - "gigadrain|hydropump|icebeam|raindance": 21.264, - "gigadrain|hydropump|icebeam|scald": 17.816, - "gigadrain|icebeam|raindance|scald": 60.92 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lugia": { - "abilities": [ - [ - "multiscale", - 100.0 - ] - ], - "count": 315, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 28.889 - ], - [ - "roost", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "airslash", - 100.0 - ], - [ - "substitute", - 71.111 - ] - ], - "sets": { - "airslash|earthquake|roost|toxic": 28.889, - "airslash|roost|substitute|toxic": 71.111 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lunala": { - "abilities": [ - [ - "shadowshield", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "roost", - 80.06 - ], - [ - "moongeistbeam", - 100.0 - ], - [ - "psyshock", - 80.967 - ], - [ - "moonblast", - 61.631 - ], - [ - "calmmind", - 77.341 - ] - ], - "sets": { - "calmmind|moonblast|moongeistbeam|psyshock": 19.94, - "calmmind|moonblast|moongeistbeam|roost": 19.033, - "calmmind|moongeistbeam|psyshock|roost": 38.369, - "moonblast|moongeistbeam|psyshock|roost": 22.659 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lunatone": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 183, - "items": [ - [ - "lifeorb", - 62.842 - ], - [ - "focussash", - 26.776 - ], - [ - "choicespecs", - 10.383 - ] - ], - "moves": [ - [ - "powergem", - 78.689 - ], - [ - "stealthrock", - 26.776 - ], - [ - "moonblast", - 68.306 - ], - [ - "psychic", - 91.257 - ], - [ - "nastyplot", - 62.842 - ], - [ - "earthpower", - 72.131 - ] - ], - "sets": { - "earthpower|moonblast|nastyplot|psychic": 15.301, - "earthpower|moonblast|powergem|psychic": 10.383, - "earthpower|moonblast|powergem|stealthrock": 8.743, - "earthpower|moonblast|psychic|stealthrock": 6.011, - "earthpower|nastyplot|powergem|psychic": 25.683, - "earthpower|powergem|psychic|stealthrock": 6.011, - "moonblast|nastyplot|powergem|psychic": 21.858, - "moonblast|powergem|psychic|stealthrock": 6.011 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lurantis": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "lifeorb", - 53.933 - ], - [ - "leftovers", - 43.82 - ], - [ - "focussash", - 2.247 - ] - ], - "moves": [ - [ - "leafstorm", - 100.0 - ], - [ - "superpower", - 87.079 - ], - [ - "knockoff", - 69.101 - ], - [ - "synthesis", - 81.461 - ], - [ - "defog", - 62.36 - ] - ], - "sets": { - "defog|knockoff|leafstorm|superpower": 18.539, - "defog|knockoff|leafstorm|synthesis": 12.921, - "defog|leafstorm|superpower|synthesis": 30.899, - "knockoff|leafstorm|superpower|synthesis": 37.64 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "luxray": { - "abilities": [ - [ - "guts", - 80.247 - ], - [ - "intimidate", - 19.753 - ] - ], - "count": 162, - "items": [ - [ - "flameorb", - 80.247 - ], - [ - "assaultvest", - 8.642 - ], - [ - "lifeorb", - 11.111 - ] - ], - "moves": [ - [ - "agility", - 65.432 - ], - [ - "facade", - 80.247 - ], - [ - "superpower", - 61.111 - ], - [ - "wildcharge", - 100.0 - ], - [ - "crunch", - 67.901 - ], - [ - "voltswitch", - 25.309 - ] - ], - "sets": { - "agility|crunch|facade|wildcharge": 30.247, - "agility|crunch|superpower|wildcharge": 11.111, - "agility|facade|superpower|wildcharge": 24.074, - "crunch|facade|superpower|wildcharge": 9.259, - "crunch|facade|voltswitch|wildcharge": 8.642, - "crunch|superpower|voltswitch|wildcharge": 8.642, - "facade|superpower|voltswitch|wildcharge": 8.025 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanroc": { - "abilities": [ - [ - "sandrush", - 100.0 - ] - ], - "count": 352, - "items": [ - [ - "choiceband", - 19.034 - ], - [ - "lifeorb", - 71.591 - ], - [ - "focussash", - 9.375 - ] - ], - "moves": [ - [ - "closecombat", - 75.284 - ], - [ - "accelerock", - 73.58 - ], - [ - "psychicfangs", - 70.17 - ], - [ - "stoneedge", - 100.0 - ], - [ - "swordsdance", - 80.966 - ] - ], - "sets": { - "accelerock|closecombat|psychicfangs|stoneedge": 19.034, - "accelerock|closecombat|stoneedge|swordsdance": 29.83, - "accelerock|psychicfangs|stoneedge|swordsdance": 24.716, - "closecombat|psychicfangs|stoneedge|swordsdance": 26.42 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanrocdusk": { - "abilities": [ - [ - "toughclaws", - 100.0 - ] - ], - "count": 370, - "items": [ - [ - "lifeorb", - 71.081 - ], - [ - "choiceband", - 17.027 - ], - [ - "focussash", - 11.892 - ] - ], - "moves": [ - [ - "swordsdance", - 82.973 - ], - [ - "accelerock", - 74.054 - ], - [ - "psychicfangs", - 73.514 - ], - [ - "stoneedge", - 100.0 - ], - [ - "closecombat", - 69.459 - ] - ], - "sets": { - "accelerock|closecombat|psychicfangs|stoneedge": 17.027, - "accelerock|closecombat|stoneedge|swordsdance": 26.486, - "accelerock|psychicfangs|stoneedge|swordsdance": 30.541, - "closecombat|psychicfangs|stoneedge|swordsdance": 25.946 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "lycanrocmidnight": { - "abilities": [ - [ - "noguard", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "lifeorb", - 68.041 - ], - [ - "focussash", - 25.258 - ], - [ - "choiceband", - 6.701 - ] - ], - "moves": [ - [ - "suckerpunch", - 77.32 - ], - [ - "closecombat", - 63.918 - ], - [ - "stoneedge", - 100.0 - ], - [ - "swordsdance", - 73.196 - ], - [ - "irontail", - 65.464 - ], - [ - "stealthrock", - 20.103 - ] - ], - "sets": { - "closecombat|irontail|stealthrock|stoneedge": 3.093, - "closecombat|irontail|stoneedge|suckerpunch": 6.701, - "closecombat|irontail|stoneedge|swordsdance": 19.588, - "closecombat|stealthrock|stoneedge|suckerpunch": 10.825, - "closecombat|stoneedge|suckerpunch|swordsdance": 23.711, - "irontail|stealthrock|stoneedge|suckerpunch": 6.186, - "irontail|stoneedge|suckerpunch|swordsdance": 29.897 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "machamp": { - "abilities": [ - [ - "guts", - 93.425 - ], - [ - "noguard", - 6.575 - ] - ], - "count": 365, - "items": [ - [ - "flameorb", - 93.425 - ], - [ - "choiceband", - 6.575 - ] - ], - "moves": [ - [ - "bulletpunch", - 100.0 - ], - [ - "facade", - 93.425 - ], - [ - "knockoff", - 100.0 - ], - [ - "closecombat", - 93.425 - ], - [ - "dynamicpunch", - 6.575 - ], - [ - "stoneedge", - 6.575 - ] - ], - "sets": { - "bulletpunch|closecombat|facade|knockoff": 93.425, - "bulletpunch|dynamicpunch|knockoff|stoneedge": 6.575 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magearna": { - "abilities": [ - [ - "soulheart", - 100.0 - ] - ], - "count": 185, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "calmmind", - 100.0 - ], - [ - "agility", - 100.0 - ], - [ - "flashcannon", - 100.0 - ], - [ - "fleurcannon", - 100.0 - ] - ], - "sets": { - "agility|calmmind|flashcannon|fleurcannon": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magearnaoriginal": { - "abilities": [ - [ - "soulheart", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "fleurcannon", - 100.0 - ], - [ - "calmmind", - 100.0 - ], - [ - "agility", - 100.0 - ], - [ - "flashcannon", - 100.0 - ] - ], - "sets": { - "agility|calmmind|flashcannon|fleurcannon": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magmortar": { - "abilities": [ - [ - "vitalspirit", - 52.475 - ], - [ - "flamebody", - 47.525 - ] - ], - "count": 202, - "items": [ - [ - "assaultvest", - 33.168 - ], - [ - "heavydutyboots", - 37.624 - ], - [ - "focussash", - 14.851 - ], - [ - "choicespecs", - 5.941 - ], - [ - "choicescarf", - 3.96 - ], - [ - "lifeorb", - 4.455 - ] - ], - "moves": [ - [ - "fireblast", - 100.0 - ], - [ - "focusblast", - 53.96 - ], - [ - "earthquake", - 64.851 - ], - [ - "thunderbolt", - 62.871 - ], - [ - "psychic", - 61.386 - ], - [ - "taunt", - 56.931 - ] - ], - "sets": { - "earthquake|fireblast|focusblast|psychic": 8.911, - "earthquake|fireblast|focusblast|taunt": 7.921, - "earthquake|fireblast|focusblast|thunderbolt": 12.376, - "earthquake|fireblast|psychic|taunt": 11.881, - "earthquake|fireblast|psychic|thunderbolt": 11.881, - "earthquake|fireblast|taunt|thunderbolt": 11.881, - "fireblast|focusblast|psychic|taunt": 8.416, - "fireblast|focusblast|psychic|thunderbolt": 9.901, - "fireblast|focusblast|taunt|thunderbolt": 6.436, - "fireblast|psychic|taunt|thunderbolt": 10.396 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "magnezone": { - "abilities": [ - [ - "magnetpull", - 100.0 - ] - ], - "count": 333, - "items": [ - [ - "assaultvest", - 83.183 - ], - [ - "choicescarf", - 16.817 - ] - ], - "moves": [ - [ - "flashcannon", - 100.0 - ], - [ - "mirrorcoat", - 83.183 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "voltswitch", - 100.0 - ], - [ - "bodypress", - 16.817 - ] - ], - "sets": { - "bodypress|flashcannon|thunderbolt|voltswitch": 16.817, - "flashcannon|mirrorcoat|thunderbolt|voltswitch": 83.183 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "malamar": { - "abilities": [ - [ - "contrary", - 100.0 - ] - ], - "count": 170, - "items": [ - [ - "leftovers", - 81.765 - ], - [ - "chestoberry", - 18.235 - ] - ], - "moves": [ - [ - "superpower", - 100.0 - ], - [ - "psychocut", - 51.765 - ], - [ - "knockoff", - 100.0 - ], - [ - "substitute", - 33.529 - ], - [ - "rest", - 66.471 - ], - [ - "sleeptalk", - 48.235 - ] - ], - "sets": { - "knockoff|psychocut|rest|superpower": 18.235, - "knockoff|psychocut|substitute|superpower": 33.529, - "knockoff|rest|sleeptalk|superpower": 48.235 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mamoswine": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 333, - "items": [ - [ - "choiceband", - 47.447 - ], - [ - "lifeorb", - 36.937 - ], - [ - "choicescarf", - 10.21 - ], - [ - "focussash", - 5.405 - ] - ], - "moves": [ - [ - "iciclecrash", - 100.0 - ], - [ - "superpower", - 53.754 - ], - [ - "earthquake", - 100.0 - ], - [ - "iceshard", - 54.655 - ], - [ - "knockoff", - 49.249 - ], - [ - "stealthrock", - 42.342 - ] - ], - "sets": { - "earthquake|iceshard|iciclecrash|knockoff": 19.219, - "earthquake|iceshard|iciclecrash|stealthrock": 13.814, - "earthquake|iceshard|iciclecrash|superpower": 21.622, - "earthquake|iciclecrash|knockoff|stealthrock": 13.213, - "earthquake|iciclecrash|knockoff|superpower": 16.817, - "earthquake|iciclecrash|stealthrock|superpower": 15.315 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mandibuzz": { - "abilities": [ - [ - "overcoat", - 100.0 - ] - ], - "count": 292, - "items": [ - [ - "heavydutyboots", - 94.863 - ], - [ - "leftovers", - 5.137 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "defog", - 17.466 - ], - [ - "roost", - 100.0 - ], - [ - "foulplay", - 100.0 - ], - [ - "toxic", - 82.534 - ] - ], - "sets": { - "bravebird|defog|foulplay|roost": 17.466, - "bravebird|foulplay|roost|toxic": 82.534 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "manectric": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "choicescarf", - 100.0 - ] - ], - "moves": [ - [ - "overheat", - 67.895 - ], - [ - "voltswitch", - 100.0 - ], - [ - "switcheroo", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "flamethrower", - 32.105 - ] - ], - "sets": { - "flamethrower|switcheroo|thunderbolt|voltswitch": 32.105, - "overheat|switcheroo|thunderbolt|voltswitch": 67.895 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mantine": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 324, - "items": [ - [ - "heavydutyboots", - 96.914 - ], - [ - "leftovers", - 3.086 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "hurricane", - 75.0 - ], - [ - "icebeam", - 27.16 - ], - [ - "defog", - 23.457 - ], - [ - "toxic", - 74.383 - ] - ], - "sets": { - "defog|hurricane|roost|scald": 10.494, - "defog|icebeam|roost|scald": 5.247, - "defog|roost|scald|toxic": 7.716, - "hurricane|icebeam|roost|scald": 9.877, - "hurricane|roost|scald|toxic": 54.63, - "icebeam|roost|scald|toxic": 12.037 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "maractus": { - "abilities": [ - [ - "waterabsorb", - 66.049 - ], - [ - "stormdrain", - 33.333 - ], - [ - "chlorophyll", - 0.617 - ] - ], - "count": 162, - "items": [ - [ - "leftovers", - 70.988 - ], - [ - "focussash", - 29.012 - ] - ], - "moves": [ - [ - "spikyshield", - 95.679 - ], - [ - "toxic", - 79.012 - ], - [ - "leechseed", - 67.284 - ], - [ - "energyball", - 100.0 - ], - [ - "spikes", - 29.63 - ], - [ - "knockoff", - 28.395 - ] - ], - "sets": { - "energyball|knockoff|leechseed|spikyshield": 6.173, - "energyball|knockoff|spikes|spikyshield": 8.642, - "energyball|knockoff|spikes|toxic": 4.321, - "energyball|knockoff|spikyshield|toxic": 9.259, - "energyball|leechseed|spikes|spikyshield": 6.173, - "energyball|leechseed|spikyshield|toxic": 54.938, - "energyball|spikes|spikyshield|toxic": 10.494 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marowak": { - "abilities": [ - [ - "rockhead", - 72.193 - ], - [ - "battlearmor", - 27.807 - ] - ], - "count": 187, - "items": [ - [ - "thickclub", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 75.401 - ], - [ - "earthquake", - 100.0 - ], - [ - "swordsdance", - 69.519 - ], - [ - "doubleedge", - 72.193 - ], - [ - "stoneedge", - 63.636 - ], - [ - "stealthrock", - 19.251 - ] - ], - "sets": { - "doubleedge|earthquake|knockoff|stealthrock": 7.487, - "doubleedge|earthquake|knockoff|stoneedge": 11.23, - "doubleedge|earthquake|knockoff|swordsdance": 28.877, - "doubleedge|earthquake|stealthrock|stoneedge": 5.882, - "doubleedge|earthquake|stoneedge|swordsdance": 18.717, - "earthquake|knockoff|stealthrock|stoneedge": 5.882, - "earthquake|knockoff|stoneedge|swordsdance": 21.925 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marowakalola": { - "abilities": [ - [ - "lightningrod", - 48.673 - ], - [ - "rockhead", - 51.327 - ] - ], - "count": 339, - "items": [ - [ - "thickclub", - 100.0 - ] - ], - "moves": [ - [ - "flamecharge", - 80.531 - ], - [ - "earthquake", - 54.867 - ], - [ - "flareblitz", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "stoneedge", - 52.802 - ], - [ - "stealthrock", - 11.799 - ] - ], - "sets": { - "earthquake|flamecharge|flareblitz|poltergeist": 41.003, - "earthquake|flareblitz|poltergeist|stealthrock": 6.195, - "earthquake|flareblitz|poltergeist|stoneedge": 7.67, - "flamecharge|flareblitz|poltergeist|stoneedge": 39.528, - "flareblitz|poltergeist|stealthrock|stoneedge": 5.605 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "marshadow": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 350, - "items": [ - [ - "lifeorb", - 71.429 - ], - [ - "choiceband", - 28.571 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "bulkup", - 71.429 - ], - [ - "icepunch", - 22.857 - ], - [ - "spectralthief", - 100.0 - ], - [ - "shadowsneak", - 76.857 - ], - [ - "rocktomb", - 28.857 - ] - ], - "sets": { - "bulkup|closecombat|icepunch|spectralthief": 11.429, - "bulkup|closecombat|rocktomb|spectralthief": 11.714, - "bulkup|closecombat|shadowsneak|spectralthief": 48.286, - "closecombat|icepunch|shadowsneak|spectralthief": 11.429, - "closecombat|rocktomb|shadowsneak|spectralthief": 17.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mawile": { - "abilities": [ - [ - "intimidate", - 54.386 - ], - [ - "sheerforce", - 45.614 - ] - ], - "count": 171, - "items": [ - [ - "focussash", - 9.942 - ], - [ - "lifeorb", - 90.058 - ] - ], - "moves": [ - [ - "ironhead", - 100.0 - ], - [ - "suckerpunch", - 100.0 - ], - [ - "playrough", - 100.0 - ], - [ - "stealthrock", - 20.468 - ], - [ - "swordsdance", - 79.532 - ] - ], - "sets": { - "ironhead|playrough|stealthrock|suckerpunch": 20.468, - "ironhead|playrough|suckerpunch|swordsdance": 79.532 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "melmetal": { - "abilities": [ - [ - "ironfist", - 100.0 - ] - ], - "count": 303, - "items": [ - [ - "choiceband", - 23.762 - ], - [ - "leftovers", - 76.238 - ] - ], - "moves": [ - [ - "superpower", - 75.908 - ], - [ - "thunderpunch", - 72.277 - ], - [ - "doubleironbash", - 100.0 - ], - [ - "earthquake", - 75.578 - ], - [ - "thunderwave", - 76.238 - ] - ], - "sets": { - "doubleironbash|earthquake|superpower|thunderpunch": 23.762, - "doubleironbash|earthquake|superpower|thunderwave": 27.723, - "doubleironbash|earthquake|thunderpunch|thunderwave": 24.092, - "doubleironbash|superpower|thunderpunch|thunderwave": 24.422 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meowstic": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 170, - "items": [ - [ - "lightclay", - 99.412 - ], - [ - "leftovers", - 0.588 - ] - ], - "moves": [ - [ - "reflect", - 100.0 - ], - [ - "lightscreen", - 99.412 - ], - [ - "yawn", - 51.176 - ], - [ - "psychic", - 100.0 - ], - [ - "thunderwave", - 49.412 - ] - ], - "sets": { - "lightscreen|psychic|reflect|thunderwave": 48.824, - "lightscreen|psychic|reflect|yawn": 50.588, - "psychic|reflect|thunderwave|yawn": 0.588 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "meowsticf": { - "abilities": [ - [ - "infiltrator", - 56.383 - ], - [ - "competitive", - 43.617 - ] - ], - "count": 188, - "items": [ - [ - "focussash", - 27.128 - ], - [ - "lifeorb", - 57.979 - ], - [ - "choicespecs", - 14.894 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "shadowball", - 74.468 - ], - [ - "thunderbolt", - 67.021 - ], - [ - "nastyplot", - 85.106 - ], - [ - "energyball", - 73.404 - ] - ], - "sets": { - "energyball|nastyplot|psychic|shadowball": 32.979, - "energyball|nastyplot|psychic|thunderbolt": 25.532, - "energyball|psychic|shadowball|thunderbolt": 14.894, - "nastyplot|psychic|shadowball|thunderbolt": 26.596 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mesprit": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 336, - "items": [ - [ - "leftovers", - 88.988 - ], - [ - "choicespecs", - 6.548 - ], - [ - "choicescarf", - 4.464 - ] - ], - "moves": [ - [ - "icebeam", - 81.548 - ], - [ - "energyball", - 74.405 - ], - [ - "nastyplot", - 44.94 - ], - [ - "psychic", - 100.0 - ], - [ - "thunderwave", - 27.381 - ], - [ - "healingwish", - 23.214 - ], - [ - "stealthrock", - 24.405 - ], - [ - "uturn", - 24.107 - ] - ], - "sets": { - "energyball|healingwish|icebeam|psychic": 4.464, - "energyball|healingwish|psychic|stealthrock": 4.464, - "energyball|healingwish|psychic|thunderwave": 3.274, - "energyball|icebeam|nastyplot|psychic": 44.94, - "energyball|icebeam|psychic|stealthrock": 1.488, - "energyball|icebeam|psychic|thunderwave": 2.679, - "energyball|icebeam|psychic|uturn": 6.548, - "energyball|psychic|stealthrock|thunderwave": 1.19, - "energyball|psychic|stealthrock|uturn": 3.274, - "energyball|psychic|thunderwave|uturn": 2.083, - "healingwish|icebeam|psychic|stealthrock": 5.06, - "healingwish|icebeam|psychic|thunderwave": 4.464, - "healingwish|psychic|stealthrock|thunderwave": 1.488, - "icebeam|psychic|stealthrock|thunderwave": 2.381, - "icebeam|psychic|stealthrock|uturn": 2.381, - "icebeam|psychic|thunderwave|uturn": 7.143, - "psychic|stealthrock|thunderwave|uturn": 2.679 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "metagross": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 324, - "items": [ - [ - "weaknesspolicy", - 63.58 - ], - [ - "choiceband", - 17.284 - ], - [ - "leftovers", - 16.975 - ], - [ - "choicescarf", - 2.16 - ] - ], - "moves": [ - [ - "agility", - 63.58 - ], - [ - "earthquake", - 87.963 - ], - [ - "thunderpunch", - 86.42 - ], - [ - "meteormash", - 100.0 - ], - [ - "bulletpunch", - 23.457 - ], - [ - "explosion", - 21.605 - ], - [ - "stealthrock", - 16.975 - ] - ], - "sets": { - "agility|earthquake|meteormash|thunderpunch": 63.58, - "bulletpunch|earthquake|explosion|meteormash": 4.938, - "bulletpunch|earthquake|meteormash|stealthrock": 2.778, - "bulletpunch|earthquake|meteormash|thunderpunch": 6.481, - "bulletpunch|explosion|meteormash|stealthrock": 3.086, - "bulletpunch|explosion|meteormash|thunderpunch": 4.63, - "bulletpunch|meteormash|stealthrock|thunderpunch": 1.543, - "earthquake|explosion|meteormash|stealthrock": 2.778, - "earthquake|explosion|meteormash|thunderpunch": 3.395, - "earthquake|meteormash|stealthrock|thunderpunch": 4.012, - "explosion|meteormash|stealthrock|thunderpunch": 2.778 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mew": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 299, - "items": [ - [ - "lumberry", - 90.97 - ], - [ - "choiceband", - 2.676 - ], - [ - "choicescarf", - 6.355 - ] - ], - "moves": [ - [ - "psychicfangs", - 100.0 - ], - [ - "dragondance", - 71.906 - ], - [ - "closecombat", - 90.97 - ], - [ - "flareblitz", - 90.97 - ], - [ - "bravebird", - 27.09 - ], - [ - "swordsdance", - 19.064 - ] - ], - "sets": { - "bravebird|closecombat|flareblitz|psychicfangs": 9.03, - "bravebird|closecombat|psychicfangs|swordsdance": 9.03, - "bravebird|flareblitz|psychicfangs|swordsdance": 9.03, - "closecombat|dragondance|flareblitz|psychicfangs": 71.906, - "closecombat|flareblitz|psychicfangs|swordsdance": 1.003 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mewtwo": { - "abilities": [ - [ - "unnerve", - 100.0 - ] - ], - "count": 312, - "items": [ - [ - "lifeorb", - 41.026 - ], - [ - "leftovers", - 58.974 - ] - ], - "moves": [ - [ - "fireblast", - 70.513 - ], - [ - "psystrike", - 100.0 - ], - [ - "recover", - 81.09 - ], - [ - "shadowball", - 70.513 - ], - [ - "nastyplot", - 77.885 - ] - ], - "sets": { - "fireblast|nastyplot|psystrike|recover": 29.487, - "fireblast|nastyplot|psystrike|shadowball": 18.91, - "fireblast|psystrike|recover|shadowball": 22.115, - "nastyplot|psystrike|recover|shadowball": 29.487 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mienshao": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 415, - "items": [ - [ - "lifeorb", - 76.386 - ], - [ - "focussash", - 10.12 - ], - [ - "choicescarf", - 8.434 - ], - [ - "choiceband", - 5.06 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "swordsdance", - 78.313 - ], - [ - "knockoff", - 100.0 - ], - [ - "poisonjab", - 100.0 - ], - [ - "fakeout", - 8.193 - ], - [ - "uturn", - 13.494 - ] - ], - "sets": { - "closecombat|fakeout|knockoff|poisonjab": 8.193, - "closecombat|knockoff|poisonjab|swordsdance": 78.313, - "closecombat|knockoff|poisonjab|uturn": 13.494 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "milotic": { - "abilities": [ - [ - "competitive", - 31.757 - ], - [ - "marvelscale", - 68.243 - ] - ], - "count": 296, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 100.0 - ], - [ - "recover", - 100.0 - ], - [ - "icebeam", - 57.77 - ], - [ - "haze", - 61.149 - ], - [ - "toxic", - 81.081 - ] - ], - "sets": { - "haze|icebeam|recover|scald": 18.919, - "haze|recover|scald|toxic": 42.23, - "icebeam|recover|scald|toxic": 38.851 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "miltank": { - "abilities": [ - [ - "sapsipper", - 30.0 - ], - [ - "scrappy", - 18.824 - ], - [ - "thickfat", - 51.176 - ] - ], - "count": 170, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "milkdrink", - 100.0 - ], - [ - "toxic", - 71.765 - ], - [ - "stealthrock", - 47.059 - ], - [ - "bodyslam", - 100.0 - ], - [ - "healbell", - 37.059 - ], - [ - "earthquake", - 44.118 - ] - ], - "sets": { - "bodyslam|earthquake|healbell|milkdrink": 7.647, - "bodyslam|earthquake|milkdrink|stealthrock": 8.235, - "bodyslam|earthquake|milkdrink|toxic": 28.235, - "bodyslam|healbell|milkdrink|stealthrock": 12.353, - "bodyslam|healbell|milkdrink|toxic": 17.059, - "bodyslam|milkdrink|stealthrock|toxic": 26.471 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mimikyu": { - "abilities": [ - [ - "disguise", - 100.0 - ] - ], - "count": 332, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "shadowsneak", - 66.867 - ], - [ - "playrough", - 100.0 - ], - [ - "shadowclaw", - 82.53 - ], - [ - "swordsdance", - 100.0 - ], - [ - "drainpunch", - 50.602 - ] - ], - "sets": { - "drainpunch|playrough|shadowclaw|swordsdance": 33.133, - "drainpunch|playrough|shadowsneak|swordsdance": 17.47, - "playrough|shadowclaw|shadowsneak|swordsdance": 49.398 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "moltres": { - "abilities": [ - [ - "flamebody", - 87.342 - ], - [ - "pressure", - 12.658 - ] - ], - "count": 316, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "airslash", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "uturn", - 54.43 - ], - [ - "roost", - 100.0 - ], - [ - "defog", - 45.57 - ] - ], - "sets": { - "airslash|defog|fireblast|roost": 45.57, - "airslash|fireblast|roost|uturn": 54.43 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "moltresgalar": { - "abilities": [ - [ - "berserk", - 100.0 - ] - ], - "count": 320, - "items": [ - [ - "chestoberry", - 100.0 - ] - ], - "moves": [ - [ - "rest", - 100.0 - ], - [ - "fierywrath", - 100.0 - ], - [ - "hurricane", - 100.0 - ], - [ - "nastyplot", - 100.0 - ] - ], - "sets": { - "fierywrath|hurricane|nastyplot|rest": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "morpeko": { - "abilities": [ - [ - "hungerswitch", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "leftovers", - 90.355 - ], - [ - "focussash", - 3.046 - ], - [ - "choiceband", - 6.599 - ] - ], - "moves": [ - [ - "partingshot", - 46.701 - ], - [ - "foulplay", - 100.0 - ], - [ - "protect", - 81.726 - ], - [ - "aurawheel", - 100.0 - ], - [ - "rapidspin", - 42.132 - ], - [ - "psychicfangs", - 29.442 - ] - ], - "sets": { - "aurawheel|foulplay|partingshot|protect": 28.426, - "aurawheel|foulplay|partingshot|psychicfangs": 6.599, - "aurawheel|foulplay|partingshot|rapidspin": 11.675, - "aurawheel|foulplay|protect|psychicfangs": 22.843, - "aurawheel|foulplay|protect|rapidspin": 30.457 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mrmime": { - "abilities": [ - [ - "filter", - 100.0 - ] - ], - "count": 175, - "items": [ - [ - "lifeorb", - 55.429 - ], - [ - "choicescarf", - 25.143 - ], - [ - "focussash", - 19.429 - ] - ], - "moves": [ - [ - "nastyplot", - 74.857 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "psychic", - 100.0 - ], - [ - "focusblast", - 100.0 - ], - [ - "healingwish", - 25.143 - ] - ], - "sets": { - "dazzlinggleam|focusblast|healingwish|psychic": 25.143, - "dazzlinggleam|focusblast|nastyplot|psychic": 74.857 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mrmimegalar": { - "abilities": [ - [ - "vitalspirit", - 52.151 - ], - [ - "screencleaner", - 47.849 - ] - ], - "count": 372, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "freezedry", - 100.0 - ], - [ - "psychic", - 100.0 - ], - [ - "nastyplot", - 81.72 - ], - [ - "focusblast", - 100.0 - ], - [ - "rapidspin", - 18.28 - ] - ], - "sets": { - "focusblast|freezedry|nastyplot|psychic": 81.72, - "focusblast|freezedry|psychic|rapidspin": 18.28 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mrrime": { - "abilities": [ - [ - "screencleaner", - 98.276 - ], - [ - "tangledfeet", - 1.724 - ] - ], - "count": 174, - "items": [ - [ - "heavydutyboots", - 91.954 - ], - [ - "choicescarf", - 7.471 - ], - [ - "lifeorb", - 0.575 - ] - ], - "moves": [ - [ - "slackoff", - 77.586 - ], - [ - "psychic", - 83.908 - ], - [ - "freezedry", - 100.0 - ], - [ - "focusblast", - 70.115 - ], - [ - "rapidspin", - 60.92 - ], - [ - "trick", - 7.471 - ] - ], - "sets": { - "focusblast|freezedry|psychic|rapidspin": 14.943, - "focusblast|freezedry|psychic|slackoff": 31.609, - "focusblast|freezedry|psychic|trick": 7.471, - "focusblast|freezedry|rapidspin|slackoff": 16.092, - "freezedry|psychic|rapidspin|slackoff": 29.885 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "mudsdale": { - "abilities": [ - [ - "stamina", - 100.0 - ] - ], - "count": 295, - "items": [ - [ - "choiceband", - 41.017 - ], - [ - "leftovers", - 58.983 - ] - ], - "moves": [ - [ - "rockslide", - 79.322 - ], - [ - "heavyslam", - 81.695 - ], - [ - "bodypress", - 80.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "stealthrock", - 58.983 - ] - ], - "sets": { - "bodypress|earthquake|heavyslam|rockslide": 41.017, - "bodypress|earthquake|heavyslam|stealthrock": 20.678, - "bodypress|earthquake|rockslide|stealthrock": 18.305, - "earthquake|heavyslam|rockslide|stealthrock": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "musharna": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "moonlight", - 100.0 - ], - [ - "calmmind", - 67.039 - ], - [ - "moonblast", - 100.0 - ], - [ - "thunderwave", - 32.961 - ] - ], - "sets": { - "calmmind|moonblast|moonlight|psychic": 67.039, - "moonblast|moonlight|psychic|thunderwave": 32.961 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "naganadel": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 409, - "items": [ - [ - "lifeorb", - 71.883 - ], - [ - "choicespecs", - 17.848 - ], - [ - "focussash", - 10.269 - ] - ], - "moves": [ - [ - "nastyplot", - 82.152 - ], - [ - "dracometeor", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "sludgewave", - 100.0 - ], - [ - "airslash", - 17.848 - ] - ], - "sets": { - "airslash|dracometeor|fireblast|sludgewave": 17.848, - "dracometeor|fireblast|nastyplot|sludgewave": 82.152 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozma": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 108, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "photongeyser", - 100.0 - ], - [ - "moonlight", - 100.0 - ], - [ - "stealthrock", - 27.778 - ], - [ - "heatwave", - 100.0 - ], - [ - "calmmind", - 72.222 - ] - ], - "sets": { - "calmmind|heatwave|moonlight|photongeyser": 72.222, - "heatwave|moonlight|photongeyser|stealthrock": 27.778 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozmadawnwings": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 103, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "photongeyser", - 100.0 - ], - [ - "moongeistbeam", - 100.0 - ], - [ - "calmmind", - 81.553 - ], - [ - "heatwave", - 100.0 - ], - [ - "stealthrock", - 18.447 - ] - ], - "sets": { - "calmmind|heatwave|moongeistbeam|photongeyser": 81.553, - "heatwave|moongeistbeam|photongeyser|stealthrock": 18.447 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "necrozmaduskmane": { - "abilities": [ - [ - "prismarmor", - 100.0 - ] - ], - "count": 106, - "items": [ - [ - "weaknesspolicy", - 100.0 - ] - ], - "moves": [ - [ - "dragondance", - 100.0 - ], - [ - "sunsteelstrike", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "morningsun", - 76.415 - ], - [ - "photongeyser", - 23.585 - ] - ], - "sets": { - "dragondance|earthquake|morningsun|sunsteelstrike": 76.415, - "dragondance|earthquake|photongeyser|sunsteelstrike": 23.585 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nidoking": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 355, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "earthpower", - 100.0 - ], - [ - "substitute", - 79.437 - ], - [ - "sludgewave", - 100.0 - ], - [ - "icebeam", - 100.0 - ], - [ - "superpower", - 20.563 - ] - ], - "sets": { - "earthpower|icebeam|sludgewave|substitute": 79.437, - "earthpower|icebeam|sludgewave|superpower": 20.563 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nidoqueen": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 342, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "toxicspikes", - 71.637 - ], - [ - "sludgewave", - 100.0 - ], - [ - "earthpower", - 100.0 - ], - [ - "icebeam", - 67.251 - ], - [ - "stealthrock", - 61.111 - ] - ], - "sets": { - "earthpower|icebeam|sludgewave|stealthrock": 28.363, - "earthpower|icebeam|sludgewave|toxicspikes": 38.889, - "earthpower|sludgewave|stealthrock|toxicspikes": 32.749 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "nihilego": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 364, - "items": [ - [ - "blacksludge", - 88.462 - ], - [ - "choicespecs", - 4.945 - ], - [ - "choicescarf", - 6.593 - ] - ], - "moves": [ - [ - "grassknot", - 65.11 - ], - [ - "thunderbolt", - 71.154 - ], - [ - "sludgewave", - 72.527 - ], - [ - "stealthrock", - 54.396 - ], - [ - "toxicspikes", - 63.736 - ], - [ - "powergem", - 73.077 - ] - ], - "sets": { - "grassknot|powergem|sludgewave|stealthrock": 5.22, - "grassknot|powergem|sludgewave|thunderbolt": 11.538, - "grassknot|powergem|sludgewave|toxicspikes": 8.516, - "grassknot|powergem|stealthrock|thunderbolt": 4.67, - "grassknot|powergem|stealthrock|toxicspikes": 6.868, - "grassknot|powergem|thunderbolt|toxicspikes": 8.516, - "grassknot|sludgewave|stealthrock|thunderbolt": 7.418, - "grassknot|sludgewave|stealthrock|toxicspikes": 3.846, - "grassknot|sludgewave|thunderbolt|toxicspikes": 8.516, - "powergem|sludgewave|stealthrock|thunderbolt": 7.418, - "powergem|sludgewave|stealthrock|toxicspikes": 4.396, - "powergem|sludgewave|thunderbolt|toxicspikes": 8.516, - "powergem|stealthrock|thunderbolt|toxicspikes": 7.418, - "sludgewave|stealthrock|thunderbolt|toxicspikes": 7.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninetales": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 179, - "items": [ - [ - "focussash", - 26.257 - ], - [ - "heavydutyboots", - 65.363 - ], - [ - "leftovers", - 6.145 - ], - [ - "lifeorb", - 2.235 - ] - ], - "moves": [ - [ - "willowisp", - 70.391 - ], - [ - "nastyplot", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "solarbeam", - 100.0 - ], - [ - "scorchingsands", - 29.609 - ] - ], - "sets": { - "fireblast|nastyplot|scorchingsands|solarbeam": 29.609, - "fireblast|nastyplot|solarbeam|willowisp": 70.391 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninetalesalola": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "heavydutyboots", - 23.1 - ], - [ - "lightclay", - 69.301 - ], - [ - "focussash", - 6.079 - ], - [ - "lifeorb", - 1.52 - ] - ], - "moves": [ - [ - "blizzard", - 100.0 - ], - [ - "freezedry", - 51.368 - ], - [ - "nastyplot", - 79.331 - ], - [ - "moonblast", - 100.0 - ], - [ - "auroraveil", - 69.301 - ] - ], - "sets": { - "auroraveil|blizzard|freezedry|moonblast": 20.669, - "auroraveil|blizzard|moonblast|nastyplot": 48.632, - "blizzard|freezedry|moonblast|nastyplot": 30.699 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ninjask": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 347, - "items": [ - [ - "None", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "uturn", - 100.0 - ], - [ - "acrobatics", - 100.0 - ], - [ - "leechlife", - 100.0 - ] - ], - "sets": { - "acrobatics|leechlife|swordsdance|uturn": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "noctowl": { - "abilities": [ - [ - "tintedlens", - 100.0 - ] - ], - "count": 182, - "items": [ - [ - "heavydutyboots", - 95.604 - ], - [ - "lifeorb", - 1.099 - ], - [ - "leftovers", - 3.297 - ] - ], - "moves": [ - [ - "airslash", - 67.033 - ], - [ - "roost", - 100.0 - ], - [ - "nastyplot", - 65.934 - ], - [ - "heatwave", - 100.0 - ], - [ - "defog", - 32.967 - ], - [ - "hurricane", - 34.066 - ] - ], - "sets": { - "airslash|heatwave|hurricane|roost": 1.099, - "airslash|heatwave|nastyplot|roost": 65.934, - "defog|heatwave|hurricane|roost": 32.967 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "noivern": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 304, - "items": [ - [ - "heavydutyboots", - 84.868 - ], - [ - "choicespecs", - 8.224 - ], - [ - "lifeorb", - 6.908 - ] - ], - "moves": [ - [ - "roost", - 91.776 - ], - [ - "hurricane", - 84.211 - ], - [ - "defog", - 47.697 - ], - [ - "dracometeor", - 100.0 - ], - [ - "flamethrower", - 68.092 - ], - [ - "switcheroo", - 8.224 - ] - ], - "sets": { - "defog|dracometeor|flamethrower|roost": 15.789, - "defog|dracometeor|hurricane|roost": 31.908, - "dracometeor|flamethrower|hurricane|roost": 44.079, - "dracometeor|flamethrower|hurricane|switcheroo": 8.224 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "obstagoon": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 342, - "items": [ - [ - "flameorb", - 100.0 - ] - ], - "moves": [ - [ - "bulkup", - 80.702 - ], - [ - "facade", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "partingshot", - 19.298 - ] - ], - "sets": { - "bulkup|closecombat|facade|knockoff": 80.702, - "closecombat|facade|knockoff|partingshot": 19.298 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "octillery": { - "abilities": [ - [ - "moody", - 100.0 - ] - ], - "count": 166, - "items": [ - [ - "leftovers", - 69.277 - ], - [ - "lifeorb", - 16.867 - ], - [ - "choicespecs", - 7.229 - ], - [ - "focussash", - 6.627 - ] - ], - "moves": [ - [ - "hydropump", - 100.0 - ], - [ - "gunkshot", - 60.843 - ], - [ - "icebeam", - 59.639 - ], - [ - "protect", - 69.277 - ], - [ - "fireblast", - 53.614 - ], - [ - "energyball", - 56.627 - ] - ], - "sets": { - "energyball|fireblast|gunkshot|hydropump": 8.434, - "energyball|fireblast|hydropump|icebeam": 7.229, - "energyball|fireblast|hydropump|protect": 8.434, - "energyball|gunkshot|hydropump|icebeam": 6.627, - "energyball|gunkshot|hydropump|protect": 13.253, - "energyball|hydropump|icebeam|protect": 12.651, - "fireblast|gunkshot|hydropump|icebeam": 8.434, - "fireblast|gunkshot|hydropump|protect": 10.241, - "fireblast|hydropump|icebeam|protect": 10.843, - "gunkshot|hydropump|icebeam|protect": 13.855 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "omastar": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 370, - "items": [ - [ - "whiteherb", - 69.189 - ], - [ - "leftovers", - 12.703 - ], - [ - "lifeorb", - 18.108 - ] - ], - "moves": [ - [ - "shellsmash", - 69.189 - ], - [ - "icebeam", - 93.514 - ], - [ - "hydropump", - 100.0 - ], - [ - "earthpower", - 93.784 - ], - [ - "stealthrock", - 18.919 - ], - [ - "spikes", - 24.595 - ] - ], - "sets": { - "earthpower|hydropump|icebeam|shellsmash": 69.189, - "earthpower|hydropump|icebeam|spikes": 11.892, - "earthpower|hydropump|icebeam|stealthrock": 6.216, - "earthpower|hydropump|spikes|stealthrock": 6.486, - "hydropump|icebeam|spikes|stealthrock": 6.216 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "oranguru": { - "abilities": [ - [ - "innerfocus", - 100.0 - ] - ], - "count": 190, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "focusblast", - 89.474 - ], - [ - "trickroom", - 34.211 - ], - [ - "nastyplot", - 100.0 - ], - [ - "psychic", - 100.0 - ], - [ - "thunderbolt", - 76.316 - ] - ], - "sets": { - "focusblast|nastyplot|psychic|thunderbolt": 65.789, - "focusblast|nastyplot|psychic|trickroom": 23.684, - "nastyplot|psychic|thunderbolt|trickroom": 10.526 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "orbeetle": { - "abilities": [ - [ - "frisk", - 100.0 - ] - ], - "count": 201, - "items": [ - [ - "heavydutyboots", - 95.522 - ], - [ - "leftovers", - 4.478 - ] - ], - "moves": [ - [ - "psychic", - 94.03 - ], - [ - "uturn", - 33.333 - ], - [ - "stickyweb", - 45.771 - ], - [ - "recover", - 100.0 - ], - [ - "calmmind", - 52.736 - ], - [ - "bugbuzz", - 63.184 - ], - [ - "bodypress", - 10.945 - ] - ], - "sets": { - "bodypress|bugbuzz|psychic|recover": 0.498, - "bodypress|bugbuzz|recover|stickyweb": 5.97, - "bodypress|psychic|recover|stickyweb": 3.483, - "bodypress|psychic|recover|uturn": 0.995, - "bugbuzz|calmmind|psychic|recover": 52.736, - "bugbuzz|psychic|recover|stickyweb": 3.98, - "psychic|recover|stickyweb|uturn": 32.338 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "palkia": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 340, - "items": [ - [ - "choicespecs", - 10.588 - ], - [ - "leftovers", - 72.647 - ], - [ - "choicescarf", - 16.765 - ] - ], - "moves": [ - [ - "hydropump", - 100.0 - ], - [ - "dracometeor", - 81.765 - ], - [ - "fireblast", - 100.0 - ], - [ - "spacialrend", - 45.588 - ], - [ - "thunderwave", - 72.647 - ] - ], - "sets": { - "dracometeor|fireblast|hydropump|spacialrend": 27.353, - "dracometeor|fireblast|hydropump|thunderwave": 54.412, - "fireblast|hydropump|spacialrend|thunderwave": 18.235 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "palossand": { - "abilities": [ - [ - "watercompaction", - 98.953 - ], - [ - "sandveil", - 1.047 - ] - ], - "count": 382, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "earthpower", - 93.979 - ], - [ - "stealthrock", - 29.319 - ], - [ - "toxic", - 81.937 - ], - [ - "shoreup", - 88.743 - ], - [ - "scorchingsands", - 6.021 - ] - ], - "sets": { - "earthpower|shadowball|shoreup|stealthrock": 12.042, - "earthpower|shadowball|shoreup|toxic": 70.681, - "earthpower|shadowball|stealthrock|toxic": 11.257, - "scorchingsands|shadowball|shoreup|stealthrock": 6.021 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pangoro": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 407, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "gunkshot", - 65.111 - ], - [ - "closecombat", - 100.0 - ], - [ - "partingshot", - 65.848 - ], - [ - "knockoff", - 100.0 - ], - [ - "icepunch", - 69.042 - ] - ], - "sets": { - "closecombat|gunkshot|icepunch|knockoff": 34.152, - "closecombat|gunkshot|knockoff|partingshot": 30.958, - "closecombat|icepunch|knockoff|partingshot": 34.889 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "passimian": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 355, - "items": [ - [ - "choicescarf", - 65.915 - ], - [ - "choiceband", - 34.085 - ] - ], - "moves": [ - [ - "rockslide", - 60.845 - ], - [ - "knockoff", - 59.155 - ], - [ - "gunkshot", - 61.69 - ], - [ - "closecombat", - 100.0 - ], - [ - "earthquake", - 57.183 - ], - [ - "uturn", - 61.127 - ] - ], - "sets": { - "closecombat|earthquake|gunkshot|knockoff": 9.577, - "closecombat|earthquake|gunkshot|rockslide": 10.423, - "closecombat|earthquake|gunkshot|uturn": 9.859, - "closecombat|earthquake|knockoff|rockslide": 7.887, - "closecombat|earthquake|knockoff|uturn": 9.859, - "closecombat|earthquake|rockslide|uturn": 9.577, - "closecombat|gunkshot|knockoff|rockslide": 10.986, - "closecombat|gunkshot|knockoff|uturn": 9.859, - "closecombat|gunkshot|rockslide|uturn": 10.986, - "closecombat|knockoff|rockslide|uturn": 10.986 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pelipper": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 319, - "items": [ - [ - "heavydutyboots", - 86.52 - ], - [ - "choicespecs", - 13.48 - ] - ], - "moves": [ - [ - "roost", - 86.52 - ], - [ - "uturn", - 67.398 - ], - [ - "hurricane", - 80.564 - ], - [ - "scald", - 76.176 - ], - [ - "defog", - 52.038 - ], - [ - "hydropump", - 37.304 - ] - ], - "sets": { - "defog|hurricane|hydropump|roost": 9.091, - "defog|hurricane|roost|scald": 23.511, - "defog|hydropump|roost|uturn": 5.329, - "defog|roost|scald|uturn": 14.107, - "hurricane|hydropump|roost|uturn": 9.404, - "hurricane|hydropump|scald|uturn": 13.48, - "hurricane|roost|scald|uturn": 25.078 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "perrserker": { - "abilities": [ - [ - "toughclaws", - 26.214 - ], - [ - "steelyspirit", - 73.786 - ] - ], - "count": 206, - "items": [ - [ - "lifeorb", - 19.417 - ], - [ - "choiceband", - 73.786 - ], - [ - "focussash", - 6.796 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "fakeout", - 26.214 - ], - [ - "uturn", - 73.786 - ] - ], - "sets": { - "closecombat|crunch|fakeout|ironhead": 26.214, - "closecombat|crunch|ironhead|uturn": 73.786 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "persian": { - "abilities": [ - [ - "limber", - 74.468 - ], - [ - "technician", - 25.532 - ] - ], - "count": 188, - "items": [ - [ - "choiceband", - 74.468 - ], - [ - "lifeorb", - 25.532 - ] - ], - "moves": [ - [ - "playrough", - 100.0 - ], - [ - "doubleedge", - 100.0 - ], - [ - "uturn", - 74.468 - ], - [ - "knockoff", - 100.0 - ], - [ - "fakeout", - 25.532 - ] - ], - "sets": { - "doubleedge|fakeout|knockoff|playrough": 25.532, - "doubleedge|knockoff|playrough|uturn": 74.468 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "persianalola": { - "abilities": [ - [ - "furcoat", - 100.0 - ] - ], - "count": 154, - "items": [ - [ - "focussash", - 29.87 - ], - [ - "leftovers", - 70.13 - ] - ], - "moves": [ - [ - "darkpulse", - 100.0 - ], - [ - "hypnosis", - 100.0 - ], - [ - "nastyplot", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ] - ], - "sets": { - "darkpulse|hypnosis|nastyplot|thunderbolt": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pheromosa": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 345, - "items": [ - [ - "choiceband", - 27.536 - ], - [ - "focussash", - 8.986 - ], - [ - "expertbelt", - 46.087 - ], - [ - "lifeorb", - 17.391 - ] - ], - "moves": [ - [ - "throatchop", - 75.942 - ], - [ - "closecombat", - 100.0 - ], - [ - "poisonjab", - 71.014 - ], - [ - "uturn", - 80.58 - ], - [ - "icebeam", - 72.464 - ] - ], - "sets": { - "closecombat|icebeam|poisonjab|throatchop": 19.42, - "closecombat|icebeam|poisonjab|uturn": 24.058, - "closecombat|icebeam|throatchop|uturn": 28.986, - "closecombat|poisonjab|throatchop|uturn": 27.536 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachu": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 101, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 82.178 - ], - [ - "volttackle", - 100.0 - ], - [ - "surf", - 69.307 - ], - [ - "knockoff", - 74.257 - ], - [ - "irontail", - 74.257 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 17.822, - "irontail|knockoff|voltswitch|volttackle": 30.693, - "irontail|surf|voltswitch|volttackle": 25.743, - "knockoff|surf|voltswitch|volttackle": 25.743 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachualola": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 50, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "irontail", - 72.0 - ], - [ - "volttackle", - 100.0 - ], - [ - "surf", - 80.0 - ], - [ - "knockoff", - 72.0 - ], - [ - "voltswitch", - 76.0 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 24.0, - "irontail|knockoff|voltswitch|volttackle": 20.0, - "irontail|surf|voltswitch|volttackle": 28.0, - "knockoff|surf|voltswitch|volttackle": 28.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuhoenn": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 47, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 68.085 - ], - [ - "voltswitch", - 82.979 - ], - [ - "volttackle", - 100.0 - ], - [ - "surf", - 76.596 - ], - [ - "irontail", - 72.34 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 17.021, - "irontail|knockoff|voltswitch|volttackle": 23.404, - "irontail|surf|voltswitch|volttackle": 31.915, - "knockoff|surf|voltswitch|volttackle": 27.66 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachukalos": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 43, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "surf", - 83.721 - ], - [ - "voltswitch", - 76.744 - ], - [ - "volttackle", - 100.0 - ], - [ - "knockoff", - 69.767 - ], - [ - "irontail", - 69.767 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 23.256, - "irontail|knockoff|voltswitch|volttackle": 16.279, - "irontail|surf|voltswitch|volttackle": 30.233, - "knockoff|surf|voltswitch|volttackle": 30.233 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuoriginal": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 45, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "volttackle", - 100.0 - ], - [ - "irontail", - 75.556 - ], - [ - "surf", - 75.556 - ], - [ - "knockoff", - 73.333 - ], - [ - "voltswitch", - 75.556 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 24.444, - "irontail|knockoff|voltswitch|volttackle": 24.444, - "irontail|surf|voltswitch|volttackle": 26.667, - "knockoff|surf|voltswitch|volttackle": 24.444 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachupartner": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 44, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 79.545 - ], - [ - "knockoff", - 79.545 - ], - [ - "surf", - 70.455 - ], - [ - "volttackle", - 100.0 - ], - [ - "irontail", - 70.455 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 20.455, - "irontail|knockoff|voltswitch|volttackle": 29.545, - "irontail|surf|voltswitch|volttackle": 20.455, - "knockoff|surf|voltswitch|volttackle": 29.545 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachusinnoh": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 60, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 60.0 - ], - [ - "voltswitch", - 88.333 - ], - [ - "volttackle", - 100.0 - ], - [ - "surf", - 85.0 - ], - [ - "irontail", - 66.667 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 11.667, - "irontail|knockoff|voltswitch|volttackle": 15.0, - "irontail|surf|voltswitch|volttackle": 40.0, - "knockoff|surf|voltswitch|volttackle": 33.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pikachuunova": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 50, - "items": [ - [ - "lightball", - 100.0 - ] - ], - "moves": [ - [ - "voltswitch", - 84.0 - ], - [ - "volttackle", - 100.0 - ], - [ - "surf", - 84.0 - ], - [ - "irontail", - 70.0 - ], - [ - "knockoff", - 62.0 - ] - ], - "sets": { - "irontail|knockoff|surf|volttackle": 16.0, - "irontail|knockoff|voltswitch|volttackle": 16.0, - "irontail|surf|voltswitch|volttackle": 38.0, - "knockoff|surf|voltswitch|volttackle": 30.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pincurchin": { - "abilities": [ - [ - "electricsurge", - 100.0 - ] - ], - "count": 169, - "items": [ - [ - "shucaberry", - 100.0 - ] - ], - "moves": [ - [ - "scald", - 76.331 - ], - [ - "spikes", - 80.473 - ], - [ - "suckerpunch", - 79.882 - ], - [ - "risingvoltage", - 100.0 - ], - [ - "toxicspikes", - 63.314 - ] - ], - "sets": { - "risingvoltage|scald|spikes|suckerpunch": 36.686, - "risingvoltage|scald|spikes|toxicspikes": 20.118, - "risingvoltage|scald|suckerpunch|toxicspikes": 19.527, - "risingvoltage|spikes|suckerpunch|toxicspikes": 23.669 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pinsir": { - "abilities": [ - [ - "moxie", - 47.959 - ], - [ - "moldbreaker", - 52.041 - ] - ], - "count": 196, - "items": [ - [ - "choicescarf", - 31.633 - ], - [ - "heavydutyboots", - 32.653 - ], - [ - "focussash", - 16.327 - ], - [ - "choiceband", - 16.327 - ], - [ - "lifeorb", - 3.061 - ] - ], - "moves": [ - [ - "closecombat", - 62.245 - ], - [ - "xscissor", - 100.0 - ], - [ - "knockoff", - 55.102 - ], - [ - "stoneedge", - 65.306 - ], - [ - "stealthrock", - 52.041 - ], - [ - "earthquake", - 65.306 - ] - ], - "sets": { - "closecombat|earthquake|knockoff|xscissor": 12.245, - "closecombat|earthquake|stealthrock|xscissor": 9.184, - "closecombat|earthquake|stoneedge|xscissor": 13.776, - "closecombat|knockoff|stealthrock|xscissor": 7.143, - "closecombat|knockoff|stoneedge|xscissor": 11.735, - "closecombat|stealthrock|stoneedge|xscissor": 8.163, - "earthquake|knockoff|stealthrock|xscissor": 6.122, - "earthquake|knockoff|stoneedge|xscissor": 10.204, - "earthquake|stealthrock|stoneedge|xscissor": 13.776, - "knockoff|stealthrock|stoneedge|xscissor": 7.653 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "politoed": { - "abilities": [ - [ - "drizzle", - 100.0 - ] - ], - "count": 321, - "items": [ - [ - "chestoberry", - 79.128 - ], - [ - "leftovers", - 20.872 - ] - ], - "moves": [ - [ - "rest", - 79.128 - ], - [ - "toxic", - 81.931 - ], - [ - "encore", - 58.567 - ], - [ - "scald", - 100.0 - ], - [ - "icebeam", - 66.355 - ], - [ - "protect", - 14.019 - ] - ], - "sets": { - "encore|icebeam|rest|scald": 18.069, - "encore|icebeam|scald|toxic": 6.854, - "encore|protect|scald|toxic": 8.411, - "encore|rest|scald|toxic": 25.234, - "icebeam|protect|scald|toxic": 5.607, - "icebeam|rest|scald|toxic": 35.826 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "poliwrath": { - "abilities": [ - [ - "swiftswim", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "raindance", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "liquidation", - 100.0 - ], - [ - "darkestlariat", - 100.0 - ] - ], - "sets": { - "closecombat|darkestlariat|liquidation|raindance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "polteageist": { - "abilities": [ - [ - "cursedbody", - 100.0 - ] - ], - "count": 353, - "items": [ - [ - "whiteherb", - 99.717 - ], - [ - "None", - 0.283 - ] - ], - "moves": [ - [ - "gigadrain", - 71.105 - ], - [ - "shellsmash", - 100.0 - ], - [ - "strengthsap", - 81.586 - ], - [ - "shadowball", - 100.0 - ], - [ - "storedpower", - 47.309 - ] - ], - "sets": { - "gigadrain|shadowball|shellsmash|storedpower": 18.414, - "gigadrain|shadowball|shellsmash|strengthsap": 52.691, - "shadowball|shellsmash|storedpower|strengthsap": 28.895 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "porygon2": { - "abilities": [ - [ - "trace", - 68.266 - ], - [ - "download", - 20.664 - ], - [ - "drought", - 0.369 - ], - [ - "prankster", - 0.369 - ], - [ - "clearbody", - 0.369 - ], - [ - "soundproof", - 0.369 - ], - [ - "regenerator", - 0.738 - ], - [ - "oblivious", - 0.738 - ], - [ - "overcoat", - 0.369 - ], - [ - "justified", - 0.369 - ], - [ - "sandrush", - 0.738 - ], - [ - "infiltrator", - 0.369 - ], - [ - "frisk", - 0.369 - ], - [ - "sheerforce", - 0.369 - ], - [ - "cursedbody", - 0.369 - ], - [ - "levitate", - 0.369 - ], - [ - "grassysurge", - 0.369 - ], - [ - "darkaura", - 0.369 - ], - [ - "liquidooze", - 0.369 - ], - [ - "pressure", - 0.369 - ], - [ - "unaware", - 0.369 - ], - [ - "guts", - 0.369 - ], - [ - "magicbounce", - 0.369 - ], - [ - "voltabsorb", - 0.369 - ], - [ - "unseenfist", - 0.369 - ], - [ - "compoundeyes", - 0.369 - ], - [ - "intimidate", - 0.369 - ], - [ - "naturalcure", - 0.369 - ], - [ - "shedskin", - 0.369 - ] - ], - "count": 271, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 79.336 - ], - [ - "recover", - 100.0 - ], - [ - "discharge", - 61.624 - ], - [ - "triattack", - 100.0 - ], - [ - "icebeam", - 59.041 - ] - ], - "sets": { - "discharge|icebeam|recover|triattack": 20.664, - "discharge|recover|toxic|triattack": 40.959, - "icebeam|recover|toxic|triattack": 38.376 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "porygonz": { - "abilities": [ - [ - "download", - 50.585 - ], - [ - "adaptability", - 49.415 - ] - ], - "count": 342, - "items": [ - [ - "lifeorb", - 61.111 - ], - [ - "choicescarf", - 27.193 - ], - [ - "focussash", - 8.772 - ], - [ - "choicespecs", - 2.924 - ] - ], - "moves": [ - [ - "darkpulse", - 69.883 - ], - [ - "icebeam", - 69.298 - ], - [ - "nastyplot", - 69.883 - ], - [ - "triattack", - 100.0 - ], - [ - "thunderbolt", - 68.713 - ], - [ - "trick", - 22.222 - ] - ], - "sets": { - "darkpulse|icebeam|nastyplot|triattack": 24.269, - "darkpulse|icebeam|thunderbolt|triattack": 7.895, - "darkpulse|icebeam|triattack|trick": 7.018, - "darkpulse|nastyplot|thunderbolt|triattack": 23.392, - "darkpulse|thunderbolt|triattack|trick": 7.31, - "icebeam|nastyplot|thunderbolt|triattack": 22.222, - "icebeam|thunderbolt|triattack|trick": 7.895 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "primarina": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 357, - "items": [ - [ - "choicescarf", - 68.908 - ], - [ - "choicespecs", - 31.092 - ] - ], - "moves": [ - [ - "psychic", - 71.989 - ], - [ - "hydropump", - 78.431 - ], - [ - "energyball", - 71.148 - ], - [ - "moonblast", - 100.0 - ], - [ - "sparklingaria", - 78.431 - ] - ], - "sets": { - "energyball|hydropump|moonblast|psychic": 21.569, - "energyball|hydropump|moonblast|sparklingaria": 28.011, - "energyball|moonblast|psychic|sparklingaria": 21.569, - "hydropump|moonblast|psychic|sparklingaria": 28.852 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "pyukumuku": { - "abilities": [ - [ - "unaware", - 100.0 - ] - ], - "count": 160, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "mirrorcoat", - 100.0 - ], - [ - "counter", - 100.0 - ] - ], - "sets": { - "counter|mirrorcoat|recover|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "quagsire": { - "abilities": [ - [ - "unaware", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "recover", - 100.0 - ], - [ - "scald", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "icebeam", - 17.325 - ], - [ - "toxic", - 82.675 - ] - ], - "sets": { - "earthquake|icebeam|recover|scald": 17.325, - "earthquake|recover|scald|toxic": 82.675 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "qwilfish": { - "abilities": [ - [ - "intimidate", - 100.0 - ] - ], - "count": 159, - "items": [ - [ - "blacksludge", - 76.101 - ], - [ - "focussash", - 23.899 - ] - ], - "moves": [ - [ - "toxicspikes", - 64.151 - ], - [ - "waterfall", - 100.0 - ], - [ - "thunderwave", - 57.233 - ], - [ - "destinybond", - 58.491 - ], - [ - "taunt", - 64.78 - ], - [ - "spikes", - 55.346 - ] - ], - "sets": { - "destinybond|spikes|taunt|waterfall": 13.208, - "destinybond|spikes|thunderwave|waterfall": 6.918, - "destinybond|spikes|toxicspikes|waterfall": 7.547, - "destinybond|taunt|thunderwave|waterfall": 11.321, - "destinybond|taunt|toxicspikes|waterfall": 12.579, - "destinybond|thunderwave|toxicspikes|waterfall": 6.918, - "spikes|taunt|thunderwave|waterfall": 4.403, - "spikes|taunt|toxicspikes|waterfall": 9.434, - "spikes|thunderwave|toxicspikes|waterfall": 13.836, - "taunt|thunderwave|toxicspikes|waterfall": 13.836 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raichu": { - "abilities": [ - [ - "lightningrod", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "focussash", - 18.75 - ], - [ - "choicespecs", - 21.354 - ], - [ - "lifeorb", - 59.896 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "surf", - 67.708 - ], - [ - "nastyplot", - 78.646 - ], - [ - "focusblast", - 100.0 - ], - [ - "voltswitch", - 21.354 - ], - [ - "grassknot", - 32.292 - ] - ], - "sets": { - "focusblast|grassknot|nastyplot|thunderbolt": 24.479, - "focusblast|grassknot|thunderbolt|voltswitch": 7.812, - "focusblast|nastyplot|surf|thunderbolt": 54.167, - "focusblast|surf|thunderbolt|voltswitch": 13.542 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raichualola": { - "abilities": [ - [ - "surgesurfer", - 100.0 - ] - ], - "count": 381, - "items": [ - [ - "choicespecs", - 34.908 - ], - [ - "lifeorb", - 54.856 - ], - [ - "focussash", - 10.236 - ] - ], - "moves": [ - [ - "psyshock", - 94.226 - ], - [ - "focusblast", - 58.005 - ], - [ - "voltswitch", - 28.871 - ], - [ - "grassknot", - 60.105 - ], - [ - "thunderbolt", - 93.701 - ], - [ - "nastyplot", - 65.092 - ] - ], - "sets": { - "focusblast|grassknot|psyshock|thunderbolt": 6.037, - "focusblast|grassknot|psyshock|voltswitch": 6.299, - "focusblast|grassknot|thunderbolt|voltswitch": 5.774, - "focusblast|nastyplot|psyshock|thunderbolt": 30.709, - "focusblast|psyshock|thunderbolt|voltswitch": 9.186, - "grassknot|nastyplot|psyshock|thunderbolt": 34.383, - "grassknot|psyshock|thunderbolt|voltswitch": 7.612 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "raikou": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 356, - "items": [ - [ - "lifeorb", - 25.843 - ], - [ - "leftovers", - 54.494 - ], - [ - "choicespecs", - 19.663 - ] - ], - "moves": [ - [ - "scald", - 69.663 - ], - [ - "calmmind", - 80.337 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "aurasphere", - 75.843 - ], - [ - "substitute", - 54.494 - ], - [ - "voltswitch", - 19.663 - ] - ], - "sets": { - "aurasphere|calmmind|scald|thunderbolt": 25.843, - "aurasphere|calmmind|substitute|thunderbolt": 30.337, - "aurasphere|scald|thunderbolt|voltswitch": 19.663, - "calmmind|scald|substitute|thunderbolt": 24.157 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rapidash": { - "abilities": [ - [ - "flashfire", - 100.0 - ] - ], - "count": 185, - "items": [ - [ - "heavydutyboots", - 94.595 - ], - [ - "leftovers", - 3.784 - ], - [ - "lifeorb", - 1.622 - ] - ], - "moves": [ - [ - "morningsun", - 83.784 - ], - [ - "willowisp", - 25.946 - ], - [ - "highhorsepower", - 67.027 - ], - [ - "flareblitz", - 100.0 - ], - [ - "swordsdance", - 61.622 - ], - [ - "wildcharge", - 61.622 - ] - ], - "sets": { - "flareblitz|highhorsepower|morningsun|swordsdance": 24.865, - "flareblitz|highhorsepower|morningsun|wildcharge": 12.432, - "flareblitz|highhorsepower|morningsun|willowisp": 13.514, - "flareblitz|highhorsepower|swordsdance|wildcharge": 16.216, - "flareblitz|morningsun|swordsdance|wildcharge": 20.541, - "flareblitz|morningsun|wildcharge|willowisp": 12.432 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rapidashgalar": { - "abilities": [ - [ - "pastelveil", - 100.0 - ] - ], - "count": 172, - "items": [ - [ - "lifeorb", - 36.047 - ], - [ - "leftovers", - 58.721 - ], - [ - "focussash", - 5.233 - ] - ], - "moves": [ - [ - "zenheadbutt", - 100.0 - ], - [ - "highhorsepower", - 41.279 - ], - [ - "playrough", - 100.0 - ], - [ - "swordsdance", - 80.233 - ], - [ - "morningsun", - 78.488 - ] - ], - "sets": { - "highhorsepower|morningsun|playrough|zenheadbutt": 19.767, - "highhorsepower|playrough|swordsdance|zenheadbutt": 21.512, - "morningsun|playrough|swordsdance|zenheadbutt": 58.721 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rayquaza": { - "abilities": [ - [ - "airlock", - 100.0 - ] - ], - "count": 340, - "items": [ - [ - "assaultvest", - 25.0 - ], - [ - "heavydutyboots", - 64.412 - ], - [ - "choiceband", - 5.882 - ], - [ - "lumberry", - 4.706 - ] - ], - "moves": [ - [ - "vcreate", - 72.647 - ], - [ - "dragonascent", - 94.412 - ], - [ - "extremespeed", - 71.176 - ], - [ - "dracometeor", - 25.0 - ], - [ - "swordsdance", - 69.118 - ], - [ - "earthquake", - 67.647 - ] - ], - "sets": { - "dracometeor|dragonascent|earthquake|extremespeed": 4.706, - "dracometeor|dragonascent|earthquake|vcreate": 6.765, - "dracometeor|dragonascent|extremespeed|vcreate": 7.941, - "dracometeor|earthquake|extremespeed|vcreate": 5.588, - "dragonascent|earthquake|extremespeed|swordsdance": 22.647, - "dragonascent|earthquake|extremespeed|vcreate": 5.882, - "dragonascent|earthquake|swordsdance|vcreate": 22.059, - "dragonascent|extremespeed|swordsdance|vcreate": 24.412 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regice": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 172, - "items": [ - [ - "weaknesspolicy", - 36.628 - ], - [ - "chestoberry", - 19.186 - ], - [ - "leftovers", - 44.186 - ] - ], - "moves": [ - [ - "focusblast", - 55.814 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "rockpolish", - 36.628 - ], - [ - "icebeam", - 100.0 - ], - [ - "rest", - 63.372 - ], - [ - "sleeptalk", - 44.186 - ] - ], - "sets": { - "focusblast|icebeam|rest|thunderbolt": 19.186, - "focusblast|icebeam|rockpolish|thunderbolt": 36.628, - "icebeam|rest|sleeptalk|thunderbolt": 44.186 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regidrago": { - "abilities": [ - [ - "dragonsmaw", - 100.0 - ] - ], - "count": 335, - "items": [ - [ - "assaultvest", - 23.284 - ], - [ - "lumberry", - 76.716 - ] - ], - "moves": [ - [ - "dracometeor", - 23.284 - ], - [ - "hammerarm", - 100.0 - ], - [ - "outrage", - 100.0 - ], - [ - "firefang", - 100.0 - ], - [ - "dragondance", - 76.716 - ] - ], - "sets": { - "dracometeor|firefang|hammerarm|outrage": 23.284, - "dragondance|firefang|hammerarm|outrage": 76.716 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regieleki": { - "abilities": [ - [ - "transistor", - 100.0 - ] - ], - "count": 309, - "items": [ - [ - "magnet", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "voltswitch", - 100.0 - ], - [ - "explosion", - 100.0 - ] - ], - "sets": { - "explosion|substitute|thunderbolt|voltswitch": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regigigas": { - "abilities": [ - [ - "slowstart", - 100.0 - ] - ], - "count": 177, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "substitute", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "bodyslam", - 100.0 - ] - ], - "sets": { - "bodyslam|protect|substitute|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "regirock": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 349, - "items": [ - [ - "chestoberry", - 46.991 - ], - [ - "leftovers", - 31.232 - ], - [ - "choiceband", - 21.777 - ] - ], - "moves": [ - [ - "earthquake", - 77.65 - ], - [ - "curse", - 78.223 - ], - [ - "rest", - 46.991 - ], - [ - "rockslide", - 95.415 - ], - [ - "bodypress", - 75.358 - ], - [ - "explosion", - 21.777 - ], - [ - "stoneedge", - 4.585 - ] - ], - "sets": { - "bodypress|curse|earthquake|rockslide": 31.232, - "bodypress|curse|rest|rockslide": 22.35, - "bodypress|earthquake|explosion|rockslide": 17.192, - "bodypress|earthquake|explosion|stoneedge": 4.585, - "curse|earthquake|rest|rockslide": 24.642 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "registeel": { - "abilities": [ - [ - "clearbody", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "leftovers", - 62.918 - ], - [ - "chestoberry", - 37.082 - ] - ], - "moves": [ - [ - "toxic", - 43.161 - ], - [ - "sleeptalk", - 51.976 - ], - [ - "ironhead", - 100.0 - ], - [ - "rest", - 89.058 - ], - [ - "curse", - 51.368 - ], - [ - "bodypress", - 49.544 - ], - [ - "stealthrock", - 5.775 - ], - [ - "protect", - 9.119 - ] - ], - "sets": { - "bodypress|curse|ironhead|rest": 25.836, - "bodypress|ironhead|protect|toxic": 5.167, - "bodypress|ironhead|rest|sleeptalk": 5.471, - "bodypress|ironhead|rest|toxic": 11.246, - "bodypress|ironhead|stealthrock|toxic": 1.824, - "curse|ironhead|rest|sleeptalk": 25.532, - "ironhead|protect|stealthrock|toxic": 3.951, - "ironhead|rest|sleeptalk|toxic": 20.973 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "relicanth": { - "abilities": [ - [ - "rockhead", - 100.0 - ] - ], - "count": 162, - "items": [ - [ - "leftovers", - 81.481 - ], - [ - "choiceband", - 18.519 - ] - ], - "moves": [ - [ - "stealthrock", - 46.296 - ], - [ - "headsmash", - 100.0 - ], - [ - "liquidation", - 100.0 - ], - [ - "bodypress", - 60.494 - ], - [ - "yawn", - 48.765 - ], - [ - "earthquake", - 44.444 - ] - ], - "sets": { - "bodypress|earthquake|headsmash|liquidation": 18.519, - "bodypress|headsmash|liquidation|stealthrock": 20.988, - "bodypress|headsmash|liquidation|yawn": 20.988, - "earthquake|headsmash|liquidation|stealthrock": 11.728, - "earthquake|headsmash|liquidation|yawn": 14.198, - "headsmash|liquidation|stealthrock|yawn": 13.58 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "reshiram": { - "abilities": [ - [ - "turboblaze", - 100.0 - ] - ], - "count": 350, - "items": [ - [ - "heavydutyboots", - 75.714 - ], - [ - "assaultvest", - 10.571 - ], - [ - "choicescarf", - 3.714 - ], - [ - "leftovers", - 6.571 - ], - [ - "choicespecs", - 3.429 - ] - ], - "moves": [ - [ - "dragonpulse", - 32.286 - ], - [ - "blueflare", - 100.0 - ], - [ - "earthpower", - 42.857 - ], - [ - "roost", - 82.286 - ], - [ - "dracometeor", - 74.857 - ], - [ - "defog", - 24.0 - ], - [ - "stoneedge", - 43.714 - ] - ], - "sets": { - "blueflare|defog|dracometeor|roost": 17.714, - "blueflare|defog|dragonpulse|roost": 6.286, - "blueflare|dracometeor|dragonpulse|earthpower": 7.143, - "blueflare|dracometeor|earthpower|roost": 19.143, - "blueflare|dracometeor|earthpower|stoneedge": 4.857, - "blueflare|dracometeor|roost|stoneedge": 26.0, - "blueflare|dragonpulse|earthpower|roost": 6.0, - "blueflare|dragonpulse|earthpower|stoneedge": 5.714, - "blueflare|dragonpulse|roost|stoneedge": 7.143 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "reuniclus": { - "abilities": [ - [ - "magicguard", - 100.0 - ] - ], - "count": 294, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "recover", - 86.054 - ], - [ - "trickroom", - 43.537 - ], - [ - "focusblast", - 88.776 - ], - [ - "shadowball", - 40.476 - ], - [ - "calmmind", - 41.156 - ] - ], - "sets": { - "calmmind|focusblast|psychic|recover": 28.571, - "calmmind|focusblast|psychic|shadowball": 6.122, - "calmmind|psychic|recover|shadowball": 6.463, - "focusblast|psychic|recover|shadowball": 15.306, - "focusblast|psychic|recover|trickroom": 30.952, - "focusblast|psychic|shadowball|trickroom": 7.823, - "psychic|recover|shadowball|trickroom": 4.762 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rhydon": { - "abilities": [ - [ - "lightningrod", - 50.746 - ], - [ - "rockhead", - 22.637 - ], - [ - "reckless", - 26.617 - ] - ], - "count": 402, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "stoneedge", - 100.0 - ], - [ - "stealthrock", - 54.478 - ], - [ - "megahorn", - 64.179 - ], - [ - "earthquake", - 100.0 - ], - [ - "toxic", - 81.343 - ] - ], - "sets": { - "earthquake|megahorn|stealthrock|stoneedge": 18.657, - "earthquake|megahorn|stoneedge|toxic": 45.522, - "earthquake|stealthrock|stoneedge|toxic": 35.821 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rhyperior": { - "abilities": [ - [ - "solidrock", - 100.0 - ] - ], - "count": 287, - "items": [ - [ - "weaknesspolicy", - 75.958 - ], - [ - "choiceband", - 24.042 - ] - ], - "moves": [ - [ - "firepunch", - 59.233 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockpolish", - 75.958 - ], - [ - "stoneedge", - 100.0 - ], - [ - "megahorn", - 64.808 - ] - ], - "sets": { - "earthquake|firepunch|megahorn|stoneedge": 24.042, - "earthquake|firepunch|rockpolish|stoneedge": 35.192, - "earthquake|megahorn|rockpolish|stoneedge": 40.767 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "ribombee": { - "abilities": [ - [ - "sweetveil", - 57.403 - ], - [ - "shielddust", - 42.597 - ] - ], - "count": 385, - "items": [ - [ - "heavydutyboots", - 83.117 - ], - [ - "focussash", - 15.325 - ], - [ - "leftovers", - 1.558 - ] - ], - "moves": [ - [ - "uturn", - 79.481 - ], - [ - "stickyweb", - 97.143 - ], - [ - "stunspore", - 61.558 - ], - [ - "moonblast", - 100.0 - ], - [ - "psychic", - 61.818 - ] - ], - "sets": { - "moonblast|psychic|stickyweb|stunspore": 20.519, - "moonblast|psychic|stickyweb|uturn": 38.442, - "moonblast|psychic|stunspore|uturn": 2.857, - "moonblast|stickyweb|stunspore|uturn": 38.182 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rillaboom": { - "abilities": [ - [ - "grassysurge", - 100.0 - ] - ], - "count": 360, - "items": [ - [ - "grassyseed", - 25.0 - ], - [ - "choiceband", - 49.444 - ], - [ - "lifeorb", - 25.556 - ] - ], - "moves": [ - [ - "grassyglide", - 100.0 - ], - [ - "highhorsepower", - 75.0 - ], - [ - "acrobatics", - 25.0 - ], - [ - "swordsdance", - 50.556 - ], - [ - "woodhammer", - 37.778 - ], - [ - "knockoff", - 72.5 - ], - [ - "uturn", - 39.167 - ] - ], - "sets": { - "acrobatics|grassyglide|highhorsepower|swordsdance": 12.778, - "acrobatics|grassyglide|knockoff|swordsdance": 12.222, - "grassyglide|highhorsepower|knockoff|swordsdance": 25.556, - "grassyglide|highhorsepower|knockoff|uturn": 11.667, - "grassyglide|highhorsepower|knockoff|woodhammer": 10.278, - "grassyglide|highhorsepower|uturn|woodhammer": 14.722, - "grassyglide|knockoff|uturn|woodhammer": 12.778 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "roserade": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 301, - "items": [ - [ - "blacksludge", - 94.02 - ], - [ - "focussash", - 5.98 - ] - ], - "moves": [ - [ - "synthesis", - 69.767 - ], - [ - "sludgebomb", - 70.432 - ], - [ - "spikes", - 51.827 - ], - [ - "leafstorm", - 100.0 - ], - [ - "sleeppowder", - 55.482 - ], - [ - "toxicspikes", - 52.492 - ] - ], - "sets": { - "leafstorm|sleeppowder|sludgebomb|spikes": 7.309, - "leafstorm|sleeppowder|sludgebomb|synthesis": 17.276, - "leafstorm|sleeppowder|sludgebomb|toxicspikes": 6.977, - "leafstorm|sleeppowder|spikes|synthesis": 9.302, - "leafstorm|sleeppowder|spikes|toxicspikes": 6.977, - "leafstorm|sleeppowder|synthesis|toxicspikes": 7.641, - "leafstorm|sludgebomb|spikes|synthesis": 13.621, - "leafstorm|sludgebomb|spikes|toxicspikes": 8.97, - "leafstorm|sludgebomb|synthesis|toxicspikes": 16.279, - "leafstorm|spikes|synthesis|toxicspikes": 5.648 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotom": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 170, - "items": [ - [ - "leftovers", - 57.647 - ], - [ - "focussash", - 24.118 - ], - [ - "lifeorb", - 18.235 - ] - ], - "moves": [ - [ - "shadowball", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "willowisp", - 93.529 - ], - [ - "nastyplot", - 83.529 - ], - [ - "voltswitch", - 22.941 - ] - ], - "sets": { - "nastyplot|shadowball|thunderbolt|voltswitch": 6.471, - "nastyplot|shadowball|thunderbolt|willowisp": 77.059, - "shadowball|thunderbolt|voltswitch|willowisp": 16.471 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomfan": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 152, - "items": [ - [ - "heavydutyboots", - 96.711 - ], - [ - "leftovers", - 3.289 - ] - ], - "moves": [ - [ - "willowisp", - 88.158 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "nastyplot", - 75.0 - ], - [ - "airslash", - 100.0 - ], - [ - "voltswitch", - 36.842 - ] - ], - "sets": { - "airslash|nastyplot|thunderbolt|voltswitch": 11.842, - "airslash|nastyplot|thunderbolt|willowisp": 63.158, - "airslash|thunderbolt|voltswitch|willowisp": 25.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomfrost": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 196, - "items": [ - [ - "heavydutyboots", - 95.918 - ], - [ - "leftovers", - 4.082 - ] - ], - "moves": [ - [ - "willowisp", - 93.367 - ], - [ - "nastyplot", - 80.102 - ], - [ - "blizzard", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "voltswitch", - 26.531 - ] - ], - "sets": { - "blizzard|nastyplot|thunderbolt|voltswitch": 6.633, - "blizzard|nastyplot|thunderbolt|willowisp": 73.469, - "blizzard|thunderbolt|voltswitch|willowisp": 19.898 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomheat": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 340, - "items": [ - [ - "heavydutyboots", - 96.176 - ], - [ - "leftovers", - 3.824 - ] - ], - "moves": [ - [ - "nastyplot", - 66.765 - ], - [ - "overheat", - 100.0 - ], - [ - "thunderbolt", - 93.529 - ], - [ - "voltswitch", - 45.588 - ], - [ - "willowisp", - 71.176 - ], - [ - "defog", - 22.941 - ] - ], - "sets": { - "defog|overheat|thunderbolt|voltswitch": 7.059, - "defog|overheat|thunderbolt|willowisp": 9.412, - "defog|overheat|voltswitch|willowisp": 6.471, - "nastyplot|overheat|thunderbolt|voltswitch": 21.765, - "nastyplot|overheat|thunderbolt|willowisp": 45.0, - "overheat|thunderbolt|voltswitch|willowisp": 10.294 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotommow": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 342, - "items": [ - [ - "leftovers", - 90.058 - ], - [ - "choicescarf", - 9.942 - ] - ], - "moves": [ - [ - "nastyplot", - 75.439 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "leafstorm", - 100.0 - ], - [ - "voltswitch", - 51.462 - ], - [ - "willowisp", - 63.158 - ], - [ - "trick", - 9.942 - ] - ], - "sets": { - "leafstorm|nastyplot|thunderbolt|voltswitch": 26.901, - "leafstorm|nastyplot|thunderbolt|willowisp": 48.538, - "leafstorm|thunderbolt|trick|voltswitch": 9.942, - "leafstorm|thunderbolt|voltswitch|willowisp": 14.62 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "rotomwash": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 325, - "items": [ - [ - "leftovers", - 68.923 - ], - [ - "choicescarf", - 31.077 - ] - ], - "moves": [ - [ - "hydropump", - 100.0 - ], - [ - "willowisp", - 68.923 - ], - [ - "voltswitch", - 100.0 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "trick", - 31.077 - ] - ], - "sets": { - "hydropump|thunderbolt|trick|voltswitch": 31.077, - "hydropump|thunderbolt|voltswitch|willowisp": 68.923 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "runerigus": { - "abilities": [ - [ - "wanderingspirit", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "toxicspikes", - 50.777 - ], - [ - "haze", - 30.052 - ], - [ - "poltergeist", - 100.0 - ], - [ - "willowisp", - 60.104 - ], - [ - "stealthrock", - 59.067 - ] - ], - "sets": { - "earthquake|haze|poltergeist|stealthrock": 5.699, - "earthquake|haze|poltergeist|toxicspikes": 8.808, - "earthquake|haze|poltergeist|willowisp": 15.544, - "earthquake|poltergeist|stealthrock|toxicspikes": 25.389, - "earthquake|poltergeist|stealthrock|willowisp": 27.979, - "earthquake|poltergeist|toxicspikes|willowisp": 16.58 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sableye": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 195, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "knockoff", - 100.0 - ], - [ - "toxic", - 61.538 - ], - [ - "willowisp", - 60.513 - ], - [ - "recover", - 100.0 - ], - [ - "taunt", - 77.949 - ] - ], - "sets": { - "knockoff|recover|taunt|toxic": 39.487, - "knockoff|recover|taunt|willowisp": 38.462, - "knockoff|recover|toxic|willowisp": 22.051 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "salamence": { - "abilities": [ - [ - "moxie", - 100.0 - ] - ], - "count": 353, - "items": [ - [ - "heavydutyboots", - 94.901 - ], - [ - "lifeorb", - 4.816 - ], - [ - "lumberry", - 0.283 - ] - ], - "moves": [ - [ - "dualwingbeat", - 84.703 - ], - [ - "outrage", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "dragondance", - 100.0 - ], - [ - "roost", - 15.297 - ] - ], - "sets": { - "dragondance|dualwingbeat|earthquake|outrage": 84.703, - "dragondance|earthquake|outrage|roost": 15.297 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "salazzle": { - "abilities": [ - [ - "corrosion", - 100.0 - ] - ], - "count": 321, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "protect", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "flamethrower", - 100.0 - ], - [ - "substitute", - 100.0 - ] - ], - "sets": { - "flamethrower|protect|substitute|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sandaconda": { - "abilities": [ - [ - "shedskin", - 100.0 - ] - ], - "count": 319, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "stealthrock", - 22.571 - ], - [ - "glare", - 27.586 - ], - [ - "rest", - 79.31 - ], - [ - "coil", - 70.533 - ] - ], - "sets": { - "coil|earthquake|glare|stoneedge": 6.897, - "coil|earthquake|rest|stoneedge": 59.561, - "coil|earthquake|stealthrock|stoneedge": 4.075, - "earthquake|glare|rest|stoneedge": 10.972, - "earthquake|glare|stealthrock|stoneedge": 9.718, - "earthquake|rest|stealthrock|stoneedge": 8.777 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sandslash": { - "abilities": [ - [ - "sandrush", - 100.0 - ] - ], - "count": 346, - "items": [ - [ - "lifeorb", - 21.387 - ], - [ - "leftovers", - 60.116 - ], - [ - "focussash", - 16.474 - ], - [ - "assaultvest", - 2.023 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "swordsdance", - 50.289 - ], - [ - "stoneedge", - 60.405 - ], - [ - "knockoff", - 58.382 - ], - [ - "toxic", - 32.37 - ], - [ - "rapidspin", - 50.867 - ], - [ - "stealthrock", - 23.121 - ], - [ - "spikes", - 24.566 - ] - ], - "sets": { - "earthquake|knockoff|rapidspin|spikes": 2.312, - "earthquake|knockoff|rapidspin|stealthrock": 1.156, - "earthquake|knockoff|rapidspin|stoneedge": 2.023, - "earthquake|knockoff|rapidspin|swordsdance": 15.318, - "earthquake|knockoff|rapidspin|toxic": 2.312, - "earthquake|knockoff|spikes|stealthrock": 1.734, - "earthquake|knockoff|spikes|stoneedge": 1.445, - "earthquake|knockoff|spikes|toxic": 3.468, - "earthquake|knockoff|stealthrock|stoneedge": 2.023, - "earthquake|knockoff|stealthrock|toxic": 4.335, - "earthquake|knockoff|stoneedge|swordsdance": 19.075, - "earthquake|knockoff|stoneedge|toxic": 3.179, - "earthquake|rapidspin|spikes|stealthrock": 1.156, - "earthquake|rapidspin|spikes|stoneedge": 2.312, - "earthquake|rapidspin|spikes|toxic": 2.312, - "earthquake|rapidspin|stealthrock|stoneedge": 1.734, - "earthquake|rapidspin|stealthrock|toxic": 2.312, - "earthquake|rapidspin|stoneedge|swordsdance": 15.896, - "earthquake|rapidspin|stoneedge|toxic": 2.023, - "earthquake|spikes|stealthrock|stoneedge": 1.445, - "earthquake|spikes|stealthrock|toxic": 3.179, - "earthquake|spikes|stoneedge|toxic": 5.202, - "earthquake|stealthrock|stoneedge|toxic": 4.046 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sandslashalola": { - "abilities": [ - [ - "slushrush", - 100.0 - ] - ], - "count": 177, - "items": [ - [ - "lifeorb", - 50.847 - ], - [ - "choicescarf", - 5.65 - ], - [ - "lumberry", - 24.859 - ], - [ - "assaultvest", - 14.689 - ], - [ - "choiceband", - 3.955 - ] - ], - "moves": [ - [ - "earthquake", - 38.418 - ], - [ - "ironhead", - 100.0 - ], - [ - "swordsdance", - 75.706 - ], - [ - "tripleaxel", - 100.0 - ], - [ - "knockoff", - 46.328 - ], - [ - "rapidspin", - 39.548 - ] - ], - "sets": { - "earthquake|ironhead|knockoff|tripleaxel": 9.605, - "earthquake|ironhead|rapidspin|tripleaxel": 6.215, - "earthquake|ironhead|swordsdance|tripleaxel": 22.599, - "ironhead|knockoff|rapidspin|tripleaxel": 8.475, - "ironhead|knockoff|swordsdance|tripleaxel": 28.249, - "ironhead|rapidspin|swordsdance|tripleaxel": 24.859 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sawk": { - "abilities": [ - [ - "sturdy", - 11.765 - ], - [ - "moldbreaker", - 88.235 - ] - ], - "count": 204, - "items": [ - [ - "choicescarf", - 15.686 - ], - [ - "lifeorb", - 60.294 - ], - [ - "focussash", - 20.588 - ], - [ - "choiceband", - 3.431 - ] - ], - "moves": [ - [ - "stoneedge", - 70.098 - ], - [ - "poisonjab", - 75.49 - ], - [ - "knockoff", - 73.529 - ], - [ - "closecombat", - 100.0 - ], - [ - "bulkup", - 80.882 - ] - ], - "sets": { - "bulkup|closecombat|knockoff|poisonjab": 29.902, - "bulkup|closecombat|knockoff|stoneedge": 24.51, - "bulkup|closecombat|poisonjab|stoneedge": 26.471, - "closecombat|knockoff|poisonjab|stoneedge": 19.118 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sceptile": { - "abilities": [ - [ - "overgrow", - 100.0 - ] - ], - "count": 386, - "items": [ - [ - "leftovers", - 89.637 - ], - [ - "lifeorb", - 10.363 - ] - ], - "moves": [ - [ - "focusblast", - 43.782 - ], - [ - "gigadrain", - 70.984 - ], - [ - "leechseed", - 71.762 - ], - [ - "substitute", - 89.637 - ], - [ - "earthquake", - 37.824 - ], - [ - "rockslide", - 48.964 - ], - [ - "leafstorm", - 37.047 - ] - ], - "sets": { - "earthquake|focusblast|gigadrain|leafstorm": 1.813, - "earthquake|focusblast|gigadrain|substitute": 3.627, - "earthquake|focusblast|leafstorm|rockslide": 2.332, - "earthquake|focusblast|leafstorm|substitute": 1.813, - "earthquake|gigadrain|leafstorm|rockslide": 2.332, - "earthquake|gigadrain|leechseed|substitute": 16.062, - "earthquake|gigadrain|rockslide|substitute": 2.073, - "earthquake|leafstorm|leechseed|substitute": 3.886, - "earthquake|leafstorm|rockslide|substitute": 3.886, - "focusblast|gigadrain|leafstorm|rockslide": 3.886, - "focusblast|gigadrain|leechseed|substitute": 18.394, - "focusblast|gigadrain|rockslide|substitute": 3.109, - "focusblast|leafstorm|leechseed|substitute": 5.44, - "focusblast|leafstorm|rockslide|substitute": 3.368, - "gigadrain|leechseed|rockslide|substitute": 19.689, - "leafstorm|leechseed|rockslide|substitute": 8.29 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scizor": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 352, - "items": [ - [ - "leftovers", - 44.034 - ], - [ - "choiceband", - 11.08 - ], - [ - "lifeorb", - 39.489 - ], - [ - "focussash", - 5.398 - ] - ], - "moves": [ - [ - "roost", - 49.716 - ], - [ - "swordsdance", - 72.443 - ], - [ - "superpower", - 46.023 - ], - [ - "bulletpunch", - 100.0 - ], - [ - "uturn", - 38.92 - ], - [ - "dualwingbeat", - 42.045 - ], - [ - "knockoff", - 50.852 - ] - ], - "sets": { - "bulletpunch|dualwingbeat|knockoff|swordsdance": 17.614, - "bulletpunch|dualwingbeat|knockoff|uturn": 5.682, - "bulletpunch|dualwingbeat|superpower|swordsdance": 15.341, - "bulletpunch|dualwingbeat|superpower|uturn": 3.409, - "bulletpunch|knockoff|roost|superpower": 5.682, - "bulletpunch|knockoff|roost|swordsdance": 8.239, - "bulletpunch|knockoff|roost|uturn": 5.398, - "bulletpunch|knockoff|superpower|swordsdance": 6.25, - "bulletpunch|knockoff|superpower|uturn": 1.989, - "bulletpunch|roost|superpower|swordsdance": 7.955, - "bulletpunch|roost|superpower|uturn": 5.398, - "bulletpunch|roost|swordsdance|uturn": 17.045 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scolipede": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 451, - "items": [ - [ - "lifeorb", - 68.071 - ], - [ - "heavydutyboots", - 10.421 - ], - [ - "blacksludge", - 19.512 - ], - [ - "focussash", - 1.996 - ] - ], - "moves": [ - [ - "poisonjab", - 86.475 - ], - [ - "megahorn", - 100.0 - ], - [ - "swordsdance", - 62.084 - ], - [ - "earthquake", - 85.366 - ], - [ - "spikes", - 20.399 - ], - [ - "toxicspikes", - 21.286 - ], - [ - "protect", - 24.39 - ] - ], - "sets": { - "earthquake|megahorn|poisonjab|protect": 5.322, - "earthquake|megahorn|poisonjab|spikes": 3.326, - "earthquake|megahorn|poisonjab|swordsdance": 62.084, - "earthquake|megahorn|poisonjab|toxicspikes": 4.656, - "earthquake|megahorn|protect|spikes": 3.326, - "earthquake|megahorn|protect|toxicspikes": 3.548, - "earthquake|megahorn|spikes|toxicspikes": 3.104, - "megahorn|poisonjab|protect|spikes": 4.656, - "megahorn|poisonjab|protect|toxicspikes": 3.991, - "megahorn|poisonjab|spikes|toxicspikes": 2.439, - "megahorn|protect|spikes|toxicspikes": 3.548 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scrafty": { - "abilities": [ - [ - "intimidate", - 54.678 - ], - [ - "moxie", - 45.322 - ] - ], - "count": 342, - "items": [ - [ - "lumberry", - 81.871 - ], - [ - "choiceband", - 18.129 - ] - ], - "moves": [ - [ - "dragondance", - 81.871 - ], - [ - "icepunch", - 59.942 - ], - [ - "knockoff", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "poisonjab", - 58.187 - ] - ], - "sets": { - "closecombat|dragondance|icepunch|knockoff": 41.813, - "closecombat|dragondance|knockoff|poisonjab": 40.058, - "closecombat|icepunch|knockoff|poisonjab": 18.129 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "scyther": { - "abilities": [ - [ - "technician", - 100.0 - ] - ], - "count": 363, - "items": [ - [ - "eviolite", - 11.295 - ], - [ - "heavydutyboots", - 82.094 - ], - [ - "choiceband", - 6.612 - ] - ], - "moves": [ - [ - "dualwingbeat", - 100.0 - ], - [ - "swordsdance", - 72.727 - ], - [ - "knockoff", - 50.138 - ], - [ - "roost", - 78.237 - ], - [ - "uturn", - 54.821 - ], - [ - "brickbreak", - 44.077 - ] - ], - "sets": { - "brickbreak|dualwingbeat|knockoff|roost": 5.234, - "brickbreak|dualwingbeat|knockoff|swordsdance": 15.152, - "brickbreak|dualwingbeat|knockoff|uturn": 6.612, - "brickbreak|dualwingbeat|roost|swordsdance": 11.846, - "brickbreak|dualwingbeat|roost|uturn": 5.234, - "dualwingbeat|knockoff|roost|swordsdance": 12.948, - "dualwingbeat|knockoff|roost|uturn": 10.193, - "dualwingbeat|roost|swordsdance|uturn": 32.782 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "seaking": { - "abilities": [ - [ - "swiftswim", - 77.901 - ], - [ - "lightningrod", - 22.099 - ] - ], - "count": 181, - "items": [ - [ - "lifeorb", - 52.486 - ], - [ - "choiceband", - 22.099 - ], - [ - "focussash", - 25.414 - ] - ], - "moves": [ - [ - "swordsdance", - 77.901 - ], - [ - "drillrun", - 71.823 - ], - [ - "megahorn", - 73.481 - ], - [ - "waterfall", - 100.0 - ], - [ - "knockoff", - 76.796 - ] - ], - "sets": { - "drillrun|knockoff|megahorn|waterfall": 22.099, - "drillrun|knockoff|swordsdance|waterfall": 26.519, - "drillrun|megahorn|swordsdance|waterfall": 23.204, - "knockoff|megahorn|swordsdance|waterfall": 28.177 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "seismitoad": { - "abilities": [ - [ - "swiftswim", - 85.46 - ], - [ - "waterabsorb", - 14.54 - ] - ], - "count": 337, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "liquidation", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "raindance", - 85.46 - ], - [ - "stealthrock", - 51.632 - ], - [ - "sludgebomb", - 62.908 - ] - ], - "sets": { - "earthquake|liquidation|raindance|sludgebomb": 48.368, - "earthquake|liquidation|raindance|stealthrock": 37.092, - "earthquake|liquidation|sludgebomb|stealthrock": 14.54 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sharpedo": { - "abilities": [ - [ - "speedboost", - 100.0 - ] - ], - "count": 344, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "closecombat", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "hydropump", - 100.0 - ], - [ - "protect", - 100.0 - ] - ], - "sets": { - "closecombat|crunch|hydropump|protect": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shedinja": { - "abilities": [ - [ - "wonderguard", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "heavydutyboots", - 88.832 - ], - [ - "focussash", - 11.168 - ] - ], - "moves": [ - [ - "xscissor", - 100.0 - ], - [ - "shadowsneak", - 100.0 - ], - [ - "poltergeist", - 100.0 - ], - [ - "swordsdance", - 86.294 - ], - [ - "willowisp", - 13.706 - ] - ], - "sets": { - "poltergeist|shadowsneak|swordsdance|xscissor": 86.294, - "poltergeist|shadowsneak|willowisp|xscissor": 13.706 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shiftry": { - "abilities": [ - [ - "chlorophyll", - 100.0 - ] - ], - "count": 191, - "items": [ - [ - "focussash", - 20.419 - ], - [ - "lifeorb", - 79.581 - ] - ], - "moves": [ - [ - "nastyplot", - 80.105 - ], - [ - "leafstorm", - 100.0 - ], - [ - "darkpulse", - 84.293 - ], - [ - "heatwave", - 100.0 - ], - [ - "suckerpunch", - 19.895 - ], - [ - "defog", - 15.707 - ] - ], - "sets": { - "darkpulse|heatwave|leafstorm|nastyplot": 80.105, - "darkpulse|heatwave|leafstorm|suckerpunch": 4.188, - "defog|heatwave|leafstorm|suckerpunch": 15.707 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shiinotic": { - "abilities": [ - [ - "effectspore", - 100.0 - ] - ], - "count": 182, - "items": [ - [ - "leftovers", - 99.451 - ], - [ - "focussash", - 0.549 - ] - ], - "moves": [ - [ - "strengthsap", - 87.363 - ], - [ - "leechseed", - 73.077 - ], - [ - "spore", - 75.824 - ], - [ - "moonblast", - 100.0 - ], - [ - "energyball", - 63.736 - ] - ], - "sets": { - "energyball|leechseed|moonblast|spore": 12.637, - "energyball|leechseed|moonblast|strengthsap": 24.176, - "energyball|moonblast|spore|strengthsap": 26.923, - "leechseed|moonblast|spore|strengthsap": 36.264 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "shuckle": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 192, - "items": [ - [ - "mentalherb", - 98.438 - ], - [ - "heavydutyboots", - 1.562 - ] - ], - "moves": [ - [ - "toxic", - 81.25 - ], - [ - "stickyweb", - 98.438 - ], - [ - "encore", - 68.229 - ], - [ - "knockoff", - 89.062 - ], - [ - "stealthrock", - 63.021 - ] - ], - "sets": { - "encore|knockoff|stealthrock|stickyweb": 18.75, - "encore|knockoff|stealthrock|toxic": 1.562, - "encore|knockoff|stickyweb|toxic": 36.979, - "encore|stealthrock|stickyweb|toxic": 10.938, - "knockoff|stealthrock|stickyweb|toxic": 31.771 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sigilyph": { - "abilities": [ - [ - "magicguard", - 68.022 - ], - [ - "tintedlens", - 31.978 - ] - ], - "count": 369, - "items": [ - [ - "lifeorb", - 68.022 - ], - [ - "choicespecs", - 31.978 - ] - ], - "moves": [ - [ - "psychic", - 78.591 - ], - [ - "energyball", - 80.488 - ], - [ - "defog", - 68.022 - ], - [ - "airslash", - 100.0 - ], - [ - "heatwave", - 72.9 - ] - ], - "sets": { - "airslash|defog|energyball|heatwave": 21.409, - "airslash|defog|energyball|psychic": 27.1, - "airslash|defog|heatwave|psychic": 19.512, - "airslash|energyball|heatwave|psychic": 31.978 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvally": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 12, - "items": [ - [ - "leftovers", - 58.333 - ], - [ - "lifeorb", - 41.667 - ] - ], - "moves": [ - [ - "explosion", - 58.333 - ], - [ - "swordsdance", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamecharge", - 41.667 - ] - ], - "sets": { - "crunch|explosion|multiattack|swordsdance": 58.333, - "crunch|flamecharge|multiattack|swordsdance": 41.667 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallybug": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 23, - "items": [ - [ - "bugmemory", - 100.0 - ] - ], - "moves": [ - [ - "psychicfangs", - 73.913 - ], - [ - "flamethrower", - 73.913 - ], - [ - "partingshot", - 82.609 - ], - [ - "multiattack", - 100.0 - ], - [ - "thunderbolt", - 69.565 - ] - ], - "sets": { - "flamethrower|multiattack|partingshot|psychicfangs": 30.435, - "flamethrower|multiattack|partingshot|thunderbolt": 26.087, - "flamethrower|multiattack|psychicfangs|thunderbolt": 17.391, - "multiattack|partingshot|psychicfangs|thunderbolt": 26.087 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallydark": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 18, - "items": [ - [ - "darkmemory", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 83.333 - ], - [ - "ironhead", - 77.778 - ], - [ - "partingshot", - 83.333 - ], - [ - "multiattack", - 100.0 - ], - [ - "psychicfangs", - 55.556 - ] - ], - "sets": { - "ironhead|multiattack|partingshot|psychicfangs": 16.667, - "ironhead|multiattack|partingshot|swordsdance": 44.444, - "ironhead|multiattack|psychicfangs|swordsdance": 16.667, - "multiattack|partingshot|psychicfangs|swordsdance": 22.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallydragon": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 16, - "items": [ - [ - "dragonmemory", - 100.0 - ] - ], - "moves": [ - [ - "multiattack", - 100.0 - ], - [ - "partingshot", - 56.25 - ], - [ - "ironhead", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "flamecharge", - 43.75 - ] - ], - "sets": { - "flamecharge|ironhead|multiattack|swordsdance": 43.75, - "ironhead|multiattack|partingshot|swordsdance": 56.25 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyelectric": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 23, - "items": [ - [ - "electricmemory", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 73.913 - ], - [ - "flamethrower", - 69.565 - ], - [ - "toxic", - 73.913 - ], - [ - "multiattack", - 100.0 - ], - [ - "partingshot", - 82.609 - ] - ], - "sets": { - "flamethrower|icebeam|multiattack|partingshot": 26.087, - "flamethrower|icebeam|multiattack|toxic": 17.391, - "flamethrower|multiattack|partingshot|toxic": 26.087, - "icebeam|multiattack|partingshot|toxic": 30.435 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfairy": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 50, - "items": [ - [ - "fairymemory", - 100.0 - ] - ], - "moves": [ - [ - "psychicfangs", - 100.0 - ], - [ - "firefang", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "multiattack", - 100.0 - ] - ], - "sets": { - "firefang|multiattack|psychicfangs|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfighting": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 18, - "items": [ - [ - "fightingmemory", - 100.0 - ] - ], - "moves": [ - [ - "multiattack", - 100.0 - ], - [ - "crunch", - 100.0 - ], - [ - "swordsdance", - 77.778 - ], - [ - "ironhead", - 100.0 - ], - [ - "uturn", - 22.222 - ] - ], - "sets": { - "crunch|ironhead|multiattack|swordsdance": 77.778, - "crunch|ironhead|multiattack|uturn": 22.222 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyfire": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 20, - "items": [ - [ - "firememory", - 100.0 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "multiattack", - 100.0 - ] - ], - "sets": { - "crunch|ironhead|multiattack|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyflying": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 29, - "items": [ - [ - "flyingmemory", - 100.0 - ] - ], - "moves": [ - [ - "ironhead", - 75.862 - ], - [ - "rockslide", - 68.966 - ], - [ - "swordsdance", - 82.759 - ], - [ - "multiattack", - 100.0 - ], - [ - "firefang", - 72.414 - ] - ], - "sets": { - "firefang|ironhead|multiattack|rockslide": 17.241, - "firefang|ironhead|multiattack|swordsdance": 31.034, - "firefang|multiattack|rockslide|swordsdance": 24.138, - "ironhead|multiattack|rockslide|swordsdance": 27.586 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyghost": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 36, - "items": [ - [ - "ghostmemory", - 100.0 - ] - ], - "moves": [ - [ - "partingshot", - 100.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "swordsdance", - 100.0 - ], - [ - "xscissor", - 100.0 - ] - ], - "sets": { - "multiattack|partingshot|swordsdance|xscissor": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallygrass": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 15, - "items": [ - [ - "grassmemory", - 100.0 - ] - ], - "moves": [ - [ - "multiattack", - 100.0 - ], - [ - "partingshot", - 73.333 - ], - [ - "flamethrower", - 86.667 - ], - [ - "defog", - 80.0 - ], - [ - "icebeam", - 60.0 - ] - ], - "sets": { - "defog|flamethrower|icebeam|multiattack": 26.667, - "defog|flamethrower|multiattack|partingshot": 40.0, - "defog|icebeam|multiattack|partingshot": 13.333, - "flamethrower|icebeam|multiattack|partingshot": 20.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyground": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 20, - "items": [ - [ - "groundmemory", - 100.0 - ] - ], - "moves": [ - [ - "icebeam", - 70.0 - ], - [ - "defog", - 55.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 75.0 - ], - [ - "toxic", - 50.0 - ], - [ - "partingshot", - 50.0 - ] - ], - "sets": { - "defog|flamethrower|icebeam|multiattack": 20.0, - "defog|flamethrower|multiattack|partingshot": 5.0, - "defog|flamethrower|multiattack|toxic": 15.0, - "defog|icebeam|multiattack|partingshot": 5.0, - "defog|icebeam|multiattack|toxic": 5.0, - "defog|multiattack|partingshot|toxic": 5.0, - "flamethrower|icebeam|multiattack|partingshot": 20.0, - "flamethrower|icebeam|multiattack|toxic": 10.0, - "flamethrower|multiattack|partingshot|toxic": 5.0, - "icebeam|multiattack|partingshot|toxic": 10.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyice": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 18, - "items": [ - [ - "icememory", - 100.0 - ] - ], - "moves": [ - [ - "flamecharge", - 100.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "psychicfangs", - 100.0 - ], - [ - "swordsdance", - 100.0 - ] - ], - "sets": { - "flamecharge|multiattack|psychicfangs|swordsdance": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallypoison": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 16, - "items": [ - [ - "poisonmemory", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 56.25 - ], - [ - "defog", - 50.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "flamethrower", - 81.25 - ], - [ - "grasspledge", - 50.0 - ], - [ - "partingshot", - 62.5 - ] - ], - "sets": { - "defog|flamethrower|grasspledge|multiattack": 18.75, - "defog|flamethrower|multiattack|partingshot": 6.25, - "defog|flamethrower|multiattack|toxic": 18.75, - "defog|multiattack|partingshot|toxic": 6.25, - "flamethrower|grasspledge|multiattack|partingshot": 18.75, - "flamethrower|multiattack|partingshot|toxic": 18.75, - "grasspledge|multiattack|partingshot|toxic": 12.5 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallypsychic": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 14, - "items": [ - [ - "psychicmemory", - 100.0 - ] - ], - "moves": [ - [ - "crunch", - 100.0 - ], - [ - "uturn", - 100.0 - ], - [ - "multiattack", - 100.0 - ], - [ - "swordsdance", - 100.0 - ] - ], - "sets": { - "crunch|multiattack|swordsdance|uturn": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallyrock": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 17, - "items": [ - [ - "rockmemory", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "flamecharge", - 76.471 - ], - [ - "multiattack", - 100.0 - ], - [ - "psychicfangs", - 100.0 - ], - [ - "partingshot", - 23.529 - ] - ], - "sets": { - "flamecharge|multiattack|psychicfangs|swordsdance": 76.471, - "multiattack|partingshot|psychicfangs|swordsdance": 23.529 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallysteel": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 26, - "items": [ - [ - "steelmemory", - 100.0 - ] - ], - "moves": [ - [ - "flamethrower", - 61.538 - ], - [ - "multiattack", - 100.0 - ], - [ - "defog", - 50.0 - ], - [ - "toxic", - 73.077 - ], - [ - "thunderbolt", - 57.692 - ], - [ - "partingshot", - 57.692 - ] - ], - "sets": { - "defog|flamethrower|multiattack|partingshot": 7.692, - "defog|flamethrower|multiattack|thunderbolt": 11.538, - "defog|flamethrower|multiattack|toxic": 11.538, - "defog|multiattack|partingshot|thunderbolt": 3.846, - "defog|multiattack|partingshot|toxic": 11.538, - "defog|multiattack|thunderbolt|toxic": 3.846, - "flamethrower|multiattack|partingshot|thunderbolt": 3.846, - "flamethrower|multiattack|partingshot|toxic": 11.538, - "flamethrower|multiattack|thunderbolt|toxic": 15.385, - "multiattack|partingshot|thunderbolt|toxic": 19.231 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "silvallywater": { - "abilities": [ - [ - "rkssystem", - 100.0 - ] - ], - "count": 12, - "items": [ - [ - "watermemory", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 50.0 - ], - [ - "icebeam", - 58.333 - ], - [ - "multiattack", - 100.0 - ], - [ - "defog", - 50.0 - ], - [ - "partingshot", - 83.333 - ], - [ - "thunderbolt", - 58.333 - ] - ], - "sets": { - "defog|icebeam|multiattack|partingshot": 8.333, - "defog|icebeam|multiattack|thunderbolt": 8.333, - "defog|icebeam|multiattack|toxic": 8.333, - "defog|multiattack|partingshot|thunderbolt": 16.667, - "defog|multiattack|partingshot|toxic": 8.333, - "icebeam|multiattack|partingshot|thunderbolt": 16.667, - "icebeam|multiattack|partingshot|toxic": 16.667, - "multiattack|partingshot|thunderbolt|toxic": 16.667 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sirfetchd": { - "abilities": [ - [ - "scrappy", - 100.0 - ] - ], - "count": 317, - "items": [ - [ - "choiceband", - 20.189 - ], - [ - "lifeorb", - 79.811 - ] - ], - "moves": [ - [ - "firstimpression", - 20.189 - ], - [ - "knockoff", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "swordsdance", - 79.811 - ] - ], - "sets": { - "bravebird|closecombat|firstimpression|knockoff": 20.189, - "bravebird|closecombat|knockoff|swordsdance": 79.811 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "skarmory": { - "abilities": [ - [ - "sturdy", - 100.0 - ] - ], - "count": 319, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "spikes", - 64.577 - ], - [ - "bravebird", - 100.0 - ], - [ - "bodypress", - 40.752 - ], - [ - "roost", - 100.0 - ], - [ - "whirlwind", - 47.649 - ], - [ - "stealthrock", - 47.022 - ] - ], - "sets": { - "bodypress|bravebird|roost|spikes": 20.376, - "bodypress|bravebird|roost|stealthrock": 13.166, - "bodypress|bravebird|roost|whirlwind": 7.21, - "bravebird|roost|spikes|stealthrock": 18.809, - "bravebird|roost|spikes|whirlwind": 25.392, - "bravebird|roost|stealthrock|whirlwind": 15.047 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "skuntank": { - "abilities": [ - [ - "aftermath", - 100.0 - ] - ], - "count": 198, - "items": [ - [ - "focussash", - 23.737 - ], - [ - "blacksludge", - 40.909 - ], - [ - "lifeorb", - 35.354 - ] - ], - "moves": [ - [ - "poisonjab", - 60.101 - ], - [ - "defog", - 40.404 - ], - [ - "toxic", - 63.636 - ], - [ - "crunch", - 75.758 - ], - [ - "suckerpunch", - 61.616 - ], - [ - "taunt", - 47.98 - ], - [ - "fireblast", - 50.505 - ] - ], - "sets": { - "crunch|defog|fireblast|poisonjab": 3.03, - "crunch|defog|fireblast|suckerpunch": 3.03, - "crunch|defog|fireblast|taunt": 2.02, - "crunch|defog|fireblast|toxic": 3.03, - "crunch|defog|poisonjab|suckerpunch": 1.515, - "crunch|defog|poisonjab|taunt": 1.515, - "crunch|defog|poisonjab|toxic": 7.071, - "crunch|defog|suckerpunch|taunt": 3.535, - "crunch|defog|suckerpunch|toxic": 5.051, - "crunch|defog|taunt|toxic": 3.03, - "crunch|fireblast|poisonjab|suckerpunch": 3.03, - "crunch|fireblast|poisonjab|taunt": 5.556, - "crunch|fireblast|poisonjab|toxic": 3.535, - "crunch|fireblast|suckerpunch|taunt": 5.051, - "crunch|fireblast|suckerpunch|toxic": 5.556, - "crunch|fireblast|taunt|toxic": 5.051, - "crunch|poisonjab|suckerpunch|taunt": 2.02, - "crunch|poisonjab|suckerpunch|toxic": 4.04, - "crunch|poisonjab|taunt|toxic": 4.545, - "crunch|suckerpunch|taunt|toxic": 4.545, - "defog|fireblast|poisonjab|suckerpunch": 1.515, - "defog|poisonjab|suckerpunch|taunt": 1.01, - "defog|poisonjab|suckerpunch|toxic": 5.051, - "fireblast|poisonjab|suckerpunch|taunt": 3.535, - "fireblast|poisonjab|suckerpunch|toxic": 6.566, - "poisonjab|suckerpunch|taunt|toxic": 6.566 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowbro": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 316, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "futuresight", - 53.797 - ], - [ - "teleport", - 84.81 - ], - [ - "scald", - 100.0 - ], - [ - "slackoff", - 100.0 - ], - [ - "icebeam", - 31.329 - ], - [ - "thunderwave", - 30.063 - ] - ], - "sets": { - "futuresight|scald|slackoff|teleport": 53.797, - "icebeam|scald|slackoff|teleport": 16.139, - "icebeam|scald|slackoff|thunderwave": 15.19, - "scald|slackoff|teleport|thunderwave": 14.873 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowbrogalar": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 328, - "items": [ - [ - "lifeorb", - 66.463 - ], - [ - "choicespecs", - 33.537 - ] - ], - "moves": [ - [ - "shellsidearm", - 100.0 - ], - [ - "psychic", - 100.0 - ], - [ - "flamethrower", - 100.0 - ], - [ - "trickroom", - 66.463 - ], - [ - "trick", - 33.537 - ] - ], - "sets": { - "flamethrower|psychic|shellsidearm|trick": 33.537, - "flamethrower|psychic|shellsidearm|trickroom": 66.463 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowking": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 344, - "items": [ - [ - "leftovers", - 98.547 - ], - [ - "choicespecs", - 1.453 - ] - ], - "moves": [ - [ - "slackoff", - 44.767 - ], - [ - "fireblast", - 20.64 - ], - [ - "scald", - 100.0 - ], - [ - "psyshock", - 75.0 - ], - [ - "teleport", - 74.709 - ], - [ - "futuresight", - 10.465 - ], - [ - "toxic", - 72.965 - ], - [ - "trick", - 1.453 - ] - ], - "sets": { - "fireblast|futuresight|scald|teleport": 0.872, - "fireblast|psyshock|scald|slackoff": 4.942, - "fireblast|psyshock|scald|teleport": 2.907, - "fireblast|psyshock|scald|toxic": 1.453, - "fireblast|psyshock|scald|trick": 1.453, - "fireblast|scald|slackoff|teleport": 3.779, - "fireblast|scald|slackoff|toxic": 4.942, - "fireblast|scald|teleport|toxic": 0.291, - "futuresight|scald|slackoff|teleport": 2.616, - "futuresight|scald|teleport|toxic": 6.977, - "psyshock|scald|slackoff|teleport": 10.465, - "psyshock|scald|slackoff|toxic": 12.5, - "psyshock|scald|teleport|toxic": 41.279, - "scald|slackoff|teleport|toxic": 5.523 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slowkinggalar": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 334, - "items": [ - [ - "blacksludge", - 82.335 - ], - [ - "choicespecs", - 17.665 - ] - ], - "moves": [ - [ - "slackoff", - 82.335 - ], - [ - "psyshock", - 85.928 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "fireblast", - 100.0 - ], - [ - "trick", - 17.665 - ], - [ - "futuresight", - 14.072 - ] - ], - "sets": { - "fireblast|futuresight|slackoff|sludgebomb": 14.072, - "fireblast|psyshock|slackoff|sludgebomb": 68.263, - "fireblast|psyshock|sludgebomb|trick": 17.665 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "slurpuff": { - "abilities": [ - [ - "unburden", - 100.0 - ] - ], - "count": 391, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "facade", - 100.0 - ], - [ - "bellydrum", - 100.0 - ], - [ - "playrough", - 100.0 - ], - [ - "drainpunch", - 100.0 - ] - ], - "sets": { - "bellydrum|drainpunch|facade|playrough": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "snorlax": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 342, - "items": [ - [ - "choiceband", - 47.661 - ], - [ - "leftovers", - 20.175 - ], - [ - "chestoberry", - 32.164 - ] - ], - "moves": [ - [ - "darkestlariat", - 72.222 - ], - [ - "doubleedge", - 47.661 - ], - [ - "facade", - 29.825 - ], - [ - "earthquake", - 74.269 - ], - [ - "heatcrash", - 39.181 - ], - [ - "bodyslam", - 52.339 - ], - [ - "curse", - 52.339 - ], - [ - "rest", - 32.164 - ] - ], - "sets": { - "bodyslam|curse|darkestlariat|earthquake": 20.175, - "bodyslam|curse|darkestlariat|rest": 15.497, - "bodyslam|curse|earthquake|rest": 16.667, - "darkestlariat|doubleedge|earthquake|facade": 8.48, - "darkestlariat|doubleedge|earthquake|heatcrash": 17.836, - "darkestlariat|doubleedge|facade|heatcrash": 10.234, - "doubleedge|earthquake|facade|heatcrash": 11.111 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "solgaleo": { - "abilities": [ - [ - "fullmetalbody", - 100.0 - ] - ], - "count": 342, - "items": [ - [ - "choicescarf", - 24.854 - ], - [ - "weaknesspolicy", - 61.988 - ], - [ - "choiceband", - 13.158 - ] - ], - "moves": [ - [ - "sunsteelstrike", - 100.0 - ], - [ - "knockoff", - 62.865 - ], - [ - "psychicfangs", - 80.409 - ], - [ - "flareblitz", - 29.24 - ], - [ - "flamecharge", - 61.988 - ], - [ - "closecombat", - 65.497 - ] - ], - "sets": { - "closecombat|flamecharge|knockoff|sunsteelstrike": 13.45, - "closecombat|flamecharge|psychicfangs|sunsteelstrike": 25.146, - "closecombat|flareblitz|knockoff|sunsteelstrike": 6.14, - "closecombat|flareblitz|psychicfangs|sunsteelstrike": 11.988, - "closecombat|knockoff|psychicfangs|sunsteelstrike": 8.772, - "flamecharge|knockoff|psychicfangs|sunsteelstrike": 23.392, - "flareblitz|knockoff|psychicfangs|sunsteelstrike": 11.111 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "solrock": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 92.045 - ], - [ - "lifeorb", - 7.955 - ] - ], - "moves": [ - [ - "stealthrock", - 56.25 - ], - [ - "willowisp", - 65.909 - ], - [ - "morningsun", - 100.0 - ], - [ - "rockslide", - 100.0 - ], - [ - "earthquake", - 69.886 - ], - [ - "explosion", - 7.955 - ] - ], - "sets": { - "earthquake|explosion|morningsun|rockslide": 7.955, - "earthquake|morningsun|rockslide|stealthrock": 26.136, - "earthquake|morningsun|rockslide|willowisp": 35.795, - "morningsun|rockslide|stealthrock|willowisp": 30.114 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "spectrier": { - "abilities": [ - [ - "grimneigh", - 100.0 - ] - ], - "count": 334, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "darkpulse", - 100.0 - ], - [ - "shadowball", - 100.0 - ], - [ - "nastyplot", - 100.0 - ], - [ - "substitute", - 100.0 - ] - ], - "sets": { - "darkpulse|nastyplot|shadowball|substitute": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "spiritomb": { - "abilities": [ - [ - "infiltrator", - 100.0 - ] - ], - "count": 188, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "poltergeist", - 100.0 - ], - [ - "suckerpunch", - 80.319 - ], - [ - "trick", - 78.723 - ], - [ - "foulplay", - 78.723 - ], - [ - "shadowsneak", - 62.234 - ] - ], - "sets": { - "foulplay|poltergeist|shadowsneak|suckerpunch": 21.277, - "foulplay|poltergeist|shadowsneak|trick": 19.681, - "foulplay|poltergeist|suckerpunch|trick": 37.766, - "poltergeist|shadowsneak|suckerpunch|trick": 21.277 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stakataka": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 322, - "items": [ - [ - "choiceband", - 31.366 - ], - [ - "airballoon", - 68.634 - ] - ], - "moves": [ - [ - "gyroball", - 100.0 - ], - [ - "earthquake", - 66.46 - ], - [ - "stoneedge", - 100.0 - ], - [ - "bodypress", - 64.907 - ], - [ - "trickroom", - 38.82 - ], - [ - "stealthrock", - 29.814 - ] - ], - "sets": { - "bodypress|earthquake|gyroball|stoneedge": 31.366, - "bodypress|gyroball|stealthrock|stoneedge": 14.596, - "bodypress|gyroball|stoneedge|trickroom": 18.944, - "earthquake|gyroball|stealthrock|stoneedge": 15.217, - "earthquake|gyroball|stoneedge|trickroom": 19.876 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "starmie": { - "abilities": [ - [ - "naturalcure", - 77.303 - ], - [ - "analytic", - 22.697 - ] - ], - "count": 304, - "items": [ - [ - "lifeorb", - 34.868 - ], - [ - "heavydutyboots", - 31.25 - ], - [ - "focussash", - 4.276 - ], - [ - "choicespecs", - 12.171 - ], - [ - "leftovers", - 17.434 - ] - ], - "moves": [ - [ - "icebeam", - 54.276 - ], - [ - "hydropump", - 42.434 - ], - [ - "recover", - 66.118 - ], - [ - "psyshock", - 65.132 - ], - [ - "thunderbolt", - 57.566 - ], - [ - "rapidspin", - 52.961 - ], - [ - "scald", - 61.513 - ] - ], - "sets": { - "hydropump|icebeam|psyshock|rapidspin": 1.974, - "hydropump|icebeam|psyshock|recover": 6.25, - "hydropump|icebeam|psyshock|scald": 1.645, - "hydropump|icebeam|psyshock|thunderbolt": 3.618, - "hydropump|icebeam|rapidspin|recover": 1.974, - "hydropump|icebeam|rapidspin|thunderbolt": 1.974, - "hydropump|icebeam|recover|thunderbolt": 2.632, - "hydropump|psyshock|rapidspin|recover": 5.921, - "hydropump|psyshock|rapidspin|thunderbolt": 3.289, - "hydropump|psyshock|recover|thunderbolt": 7.237, - "hydropump|psyshock|scald|thunderbolt": 2.303, - "hydropump|rapidspin|recover|thunderbolt": 3.618, - "icebeam|psyshock|rapidspin|scald": 3.947, - "icebeam|psyshock|recover|scald": 7.237, - "icebeam|psyshock|scald|thunderbolt": 4.605, - "icebeam|rapidspin|recover|scald": 6.908, - "icebeam|rapidspin|scald|thunderbolt": 5.921, - "icebeam|recover|scald|thunderbolt": 5.592, - "psyshock|rapidspin|recover|scald": 6.579, - "psyshock|rapidspin|scald|thunderbolt": 4.605, - "psyshock|recover|scald|thunderbolt": 5.921, - "rapidspin|recover|scald|thunderbolt": 6.25 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "steelix": { - "abilities": [ - [ - "rockhead", - 92.749 - ], - [ - "sturdy", - 7.251 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "headsmash", - 92.749 - ], - [ - "heavyslam", - 91.843 - ], - [ - "dragondance", - 67.069 - ], - [ - "toxic", - 24.471 - ], - [ - "stealthrock", - 23.867 - ] - ], - "sets": { - "dragondance|earthquake|headsmash|heavyslam": 67.069, - "earthquake|headsmash|heavyslam|stealthrock": 8.459, - "earthquake|headsmash|heavyslam|toxic": 9.063, - "earthquake|headsmash|stealthrock|toxic": 8.157, - "earthquake|heavyslam|stealthrock|toxic": 7.251 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stonjourner": { - "abilities": [ - [ - "powerspot", - 100.0 - ] - ], - "count": 194, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "stealthrock", - 15.464 - ], - [ - "stoneedge", - 100.0 - ], - [ - "heatcrash", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "rockpolish", - 84.536 - ] - ], - "sets": { - "earthquake|heatcrash|rockpolish|stoneedge": 84.536, - "earthquake|heatcrash|stealthrock|stoneedge": 15.464 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stoutland": { - "abilities": [ - [ - "intimidate", - 66.995 - ], - [ - "scrappy", - 33.005 - ] - ], - "count": 203, - "items": [ - [ - "choiceband", - 33.99 - ], - [ - "choicescarf", - 66.01 - ] - ], - "moves": [ - [ - "facade", - 100.0 - ], - [ - "crunch", - 77.833 - ], - [ - "superpower", - 75.862 - ], - [ - "playrough", - 70.443 - ], - [ - "wildcharge", - 75.862 - ] - ], - "sets": { - "crunch|facade|playrough|superpower": 24.138, - "crunch|facade|playrough|wildcharge": 24.138, - "crunch|facade|superpower|wildcharge": 29.557, - "facade|playrough|superpower|wildcharge": 22.167 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stunfisk": { - "abilities": [ - [ - "static", - 100.0 - ] - ], - "count": 193, - "items": [ - [ - "assaultvest", - 39.896 - ], - [ - "leftovers", - 60.104 - ] - ], - "moves": [ - [ - "earthpower", - 100.0 - ], - [ - "sludgebomb", - 72.539 - ], - [ - "foulplay", - 67.358 - ], - [ - "discharge", - 100.0 - ], - [ - "stealthrock", - 60.104 - ] - ], - "sets": { - "discharge|earthpower|foulplay|sludgebomb": 39.896, - "discharge|earthpower|foulplay|stealthrock": 27.461, - "discharge|earthpower|sludgebomb|stealthrock": 32.642 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "stunfiskgalar": { - "abilities": [ - [ - "mimicry", - 100.0 - ] - ], - "count": 176, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "painsplit", - 74.432 - ], - [ - "earthquake", - 100.0 - ], - [ - "stealthrock", - 75.568 - ], - [ - "stoneedge", - 75.0 - ], - [ - "thunderwave", - 75.0 - ] - ], - "sets": { - "earthquake|painsplit|stealthrock|stoneedge": 25.0, - "earthquake|painsplit|stealthrock|thunderwave": 25.0, - "earthquake|painsplit|stoneedge|thunderwave": 24.432, - "earthquake|stealthrock|stoneedge|thunderwave": 25.568 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sudowoodo": { - "abilities": [ - [ - "rockhead", - 100.0 - ] - ], - "count": 178, - "items": [ - [ - "choiceband", - 33.708 - ], - [ - "leftovers", - 66.292 - ] - ], - "moves": [ - [ - "suckerpunch", - 79.775 - ], - [ - "headsmash", - 100.0 - ], - [ - "earthquake", - 78.652 - ], - [ - "woodhammer", - 75.281 - ], - [ - "stealthrock", - 66.292 - ] - ], - "sets": { - "earthquake|headsmash|stealthrock|suckerpunch": 24.719, - "earthquake|headsmash|stealthrock|woodhammer": 20.225, - "earthquake|headsmash|suckerpunch|woodhammer": 33.708, - "headsmash|stealthrock|suckerpunch|woodhammer": 21.348 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "suicune": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 308, - "items": [ - [ - "leftovers", - 91.558 - ], - [ - "chestoberry", - 8.442 - ] - ], - "moves": [ - [ - "calmmind", - 85.065 - ], - [ - "icebeam", - 62.662 - ], - [ - "airslash", - 48.377 - ], - [ - "scald", - 100.0 - ], - [ - "sleeptalk", - 47.727 - ], - [ - "rest", - 56.169 - ] - ], - "sets": { - "airslash|calmmind|icebeam|scald": 43.831, - "airslash|calmmind|rest|scald": 4.545, - "calmmind|icebeam|rest|scald": 3.896, - "calmmind|rest|scald|sleeptalk": 32.792, - "icebeam|rest|scald|sleeptalk": 14.935 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swampert": { - "abilities": [ - [ - "torrent", - 100.0 - ] - ], - "count": 341, - "items": [ - [ - "leftovers", - 93.255 - ], - [ - "assaultvest", - 6.745 - ] - ], - "moves": [ - [ - "toxic", - 84.164 - ], - [ - "scald", - 100.0 - ], - [ - "earthquake", - 100.0 - ], - [ - "protect", - 53.666 - ], - [ - "icebeam", - 30.499 - ], - [ - "stealthrock", - 24.927 - ], - [ - "flipturn", - 6.745 - ] - ], - "sets": { - "earthquake|flipturn|icebeam|scald": 6.745, - "earthquake|icebeam|scald|stealthrock": 9.091, - "earthquake|icebeam|scald|toxic": 14.663, - "earthquake|protect|scald|toxic": 53.666, - "earthquake|scald|stealthrock|toxic": 15.836 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "swoobat": { - "abilities": [ - [ - "simple", - 100.0 - ] - ], - "count": 164, - "items": [ - [ - "heavydutyboots", - 91.463 - ], - [ - "focussash", - 5.488 - ], - [ - "leftovers", - 3.049 - ] - ], - "moves": [ - [ - "airslash", - 34.146 - ], - [ - "heatwave", - 87.805 - ], - [ - "calmmind", - 100.0 - ], - [ - "storedpower", - 100.0 - ], - [ - "roost", - 78.049 - ] - ], - "sets": { - "airslash|calmmind|heatwave|storedpower": 21.951, - "airslash|calmmind|roost|storedpower": 12.195, - "calmmind|heatwave|roost|storedpower": 65.854 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "sylveon": { - "abilities": [ - [ - "pixilate", - 100.0 - ] - ], - "count": 347, - "items": [ - [ - "leftovers", - 95.677 - ], - [ - "choicespecs", - 1.153 - ], - [ - "choicescarf", - 3.17 - ] - ], - "moves": [ - [ - "calmmind", - 76.369 - ], - [ - "wish", - 84.15 - ], - [ - "protect", - 45.821 - ], - [ - "hypervoice", - 100.0 - ], - [ - "mysticalfire", - 52.738 - ], - [ - "shadowball", - 10.375 - ], - [ - "psyshock", - 30.548 - ] - ], - "sets": { - "calmmind|hypervoice|mysticalfire|psyshock": 11.527, - "calmmind|hypervoice|mysticalfire|wish": 17.579, - "calmmind|hypervoice|protect|wish": 32.565, - "calmmind|hypervoice|psyshock|wish": 14.697, - "hypervoice|mysticalfire|protect|wish": 13.256, - "hypervoice|mysticalfire|psyshock|shadowball": 4.323, - "hypervoice|mysticalfire|shadowball|wish": 6.052 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "talonflame": { - "abilities": [ - [ - "galewings", - 100.0 - ] - ], - "count": 311, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 74.92 - ], - [ - "flareblitz", - 100.0 - ], - [ - "bravebird", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "defog", - 14.148 - ], - [ - "uturn", - 10.932 - ] - ], - "sets": { - "bravebird|defog|flareblitz|roost": 14.148, - "bravebird|flareblitz|roost|swordsdance": 74.92, - "bravebird|flareblitz|roost|uturn": 10.932 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tangrowth": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 362, - "items": [ - [ - "rockyhelmet", - 92.818 - ], - [ - "assaultvest", - 7.182 - ] - ], - "moves": [ - [ - "sleeppowder", - 58.287 - ], - [ - "gigadrain", - 100.0 - ], - [ - "focusblast", - 56.63 - ], - [ - "leechseed", - 70.718 - ], - [ - "knockoff", - 53.867 - ], - [ - "sludgebomb", - 60.497 - ] - ], - "sets": { - "focusblast|gigadrain|knockoff|leechseed": 11.326, - "focusblast|gigadrain|knockoff|sleeppowder": 6.354, - "focusblast|gigadrain|knockoff|sludgebomb": 7.182, - "focusblast|gigadrain|leechseed|sleeppowder": 11.878, - "focusblast|gigadrain|leechseed|sludgebomb": 12.155, - "focusblast|gigadrain|sleeppowder|sludgebomb": 7.735, - "gigadrain|knockoff|leechseed|sleeppowder": 9.945, - "gigadrain|knockoff|leechseed|sludgebomb": 11.05, - "gigadrain|knockoff|sleeppowder|sludgebomb": 8.011, - "gigadrain|leechseed|sleeppowder|sludgebomb": 14.365 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapubulu": { - "abilities": [ - [ - "grassysurge", - 100.0 - ] - ], - "count": 323, - "items": [ - [ - "lifeorb", - 46.13 - ], - [ - "lumberry", - 21.362 - ], - [ - "choicescarf", - 21.362 - ], - [ - "choiceband", - 11.146 - ] - ], - "moves": [ - [ - "swordsdance", - 67.492 - ], - [ - "hornleech", - 71.207 - ], - [ - "megahorn", - 70.279 - ], - [ - "closecombat", - 74.303 - ], - [ - "stoneedge", - 69.659 - ], - [ - "woodhammer", - 47.059 - ] - ], - "sets": { - "closecombat|hornleech|megahorn|stoneedge": 6.811, - "closecombat|hornleech|megahorn|swordsdance": 17.647, - "closecombat|hornleech|megahorn|woodhammer": 4.644, - "closecombat|hornleech|stoneedge|swordsdance": 16.718, - "closecombat|hornleech|stoneedge|woodhammer": 6.502, - "closecombat|megahorn|stoneedge|woodhammer": 7.43, - "closecombat|megahorn|swordsdance|woodhammer": 8.05, - "closecombat|stoneedge|swordsdance|woodhammer": 6.502, - "hornleech|megahorn|stoneedge|swordsdance": 11.765, - "hornleech|megahorn|stoneedge|woodhammer": 7.121, - "megahorn|stoneedge|swordsdance|woodhammer": 6.811 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapufini": { - "abilities": [ - [ - "mistysurge", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "surf", - 100.0 - ], - [ - "taunt", - 78.852 - ], - [ - "moonblast", - 100.0 - ], - [ - "calmmind", - 80.363 - ], - [ - "defog", - 40.785 - ] - ], - "sets": { - "calmmind|defog|moonblast|surf": 21.148, - "calmmind|moonblast|surf|taunt": 59.215, - "defog|moonblast|surf|taunt": 19.637 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapukoko": { - "abilities": [ - [ - "electricsurge", - 100.0 - ] - ], - "count": 326, - "items": [ - [ - "leftovers", - 55.828 - ], - [ - "lifeorb", - 26.38 - ], - [ - "choicespecs", - 15.951 - ], - [ - "focussash", - 1.84 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "substitute", - 55.828 - ], - [ - "calmmind", - 84.049 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "grassknot", - 44.172 - ], - [ - "voltswitch", - 15.951 - ] - ], - "sets": { - "calmmind|dazzlinggleam|grassknot|thunderbolt": 28.221, - "calmmind|dazzlinggleam|substitute|thunderbolt": 55.828, - "dazzlinggleam|grassknot|thunderbolt|voltswitch": 15.951 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tapulele": { - "abilities": [ - [ - "psychicsurge", - 100.0 - ] - ], - "count": 353, - "items": [ - [ - "lifeorb", - 82.436 - ], - [ - "choicespecs", - 5.099 - ], - [ - "choicescarf", - 12.465 - ] - ], - "moves": [ - [ - "calmmind", - 82.436 - ], - [ - "focusblast", - 80.453 - ], - [ - "psyshock", - 41.36 - ], - [ - "moonblast", - 100.0 - ], - [ - "psychic", - 58.64 - ], - [ - "shadowball", - 37.11 - ] - ], - "sets": { - "calmmind|focusblast|moonblast|psychic": 37.677, - "calmmind|focusblast|moonblast|psyshock": 25.212, - "calmmind|moonblast|psychic|shadowball": 9.065, - "calmmind|moonblast|psyshock|shadowball": 10.482, - "focusblast|moonblast|psychic|shadowball": 11.898, - "focusblast|moonblast|psyshock|shadowball": 5.666 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tauros": { - "abilities": [ - [ - "sheerforce", - 100.0 - ] - ], - "count": 292, - "items": [ - [ - "lifeorb", - 100.0 - ] - ], - "moves": [ - [ - "zenheadbutt", - 76.712 - ], - [ - "throatchop", - 75.342 - ], - [ - "bodyslam", - 100.0 - ], - [ - "rockslide", - 75.685 - ], - [ - "closecombat", - 72.26 - ] - ], - "sets": { - "bodyslam|closecombat|rockslide|throatchop": 23.288, - "bodyslam|closecombat|rockslide|zenheadbutt": 24.658, - "bodyslam|closecombat|throatchop|zenheadbutt": 24.315, - "bodyslam|rockslide|throatchop|zenheadbutt": 27.74 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tentacruel": { - "abilities": [ - [ - "liquidooze", - 36.943 - ], - [ - "clearbody", - 63.057 - ] - ], - "count": 314, - "items": [ - [ - "blacksludge", - 74.522 - ], - [ - "lifeorb", - 12.102 - ], - [ - "assaultvest", - 13.376 - ] - ], - "moves": [ - [ - "sludgebomb", - 71.338 - ], - [ - "toxicspikes", - 57.643 - ], - [ - "scald", - 100.0 - ], - [ - "rapidspin", - 52.548 - ], - [ - "knockoff", - 61.146 - ], - [ - "haze", - 57.325 - ] - ], - "sets": { - "haze|knockoff|rapidspin|scald": 5.732, - "haze|knockoff|scald|sludgebomb": 13.057, - "haze|knockoff|scald|toxicspikes": 8.599, - "haze|rapidspin|scald|sludgebomb": 10.191, - "haze|rapidspin|scald|toxicspikes": 6.051, - "haze|scald|sludgebomb|toxicspikes": 13.694, - "knockoff|rapidspin|scald|sludgebomb": 13.376, - "knockoff|rapidspin|scald|toxicspikes": 8.28, - "knockoff|scald|sludgebomb|toxicspikes": 12.102, - "rapidspin|scald|sludgebomb|toxicspikes": 8.917 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "terrakion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 378, - "items": [ - [ - "lifeorb", - 80.688 - ], - [ - "choiceband", - 19.312 - ] - ], - "moves": [ - [ - "earthquake", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "swordsdance", - 80.688 - ], - [ - "stoneedge", - 100.0 - ], - [ - "quickattack", - 19.312 - ] - ], - "sets": { - "closecombat|earthquake|quickattack|stoneedge": 19.312, - "closecombat|earthquake|stoneedge|swordsdance": 80.688 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "thievul": { - "abilities": [ - [ - "stakeout", - 100.0 - ] - ], - "count": 209, - "items": [ - [ - "leftovers", - 46.411 - ], - [ - "focussash", - 21.531 - ], - [ - "expertbelt", - 5.742 - ], - [ - "lifeorb", - 18.182 - ], - [ - "choicespecs", - 8.134 - ] - ], - "moves": [ - [ - "foulplay", - 25.837 - ], - [ - "psychic", - 71.292 - ], - [ - "grassknot", - 72.727 - ], - [ - "partingshot", - 69.378 - ], - [ - "nastyplot", - 66.029 - ], - [ - "darkpulse", - 94.737 - ] - ], - "sets": { - "darkpulse|foulplay|grassknot|partingshot": 6.22, - "darkpulse|foulplay|grassknot|psychic": 6.699, - "darkpulse|foulplay|partingshot|psychic": 7.656, - "darkpulse|grassknot|nastyplot|partingshot": 22.488, - "darkpulse|grassknot|nastyplot|psychic": 23.923, - "darkpulse|grassknot|partingshot|psychic": 8.134, - "darkpulse|nastyplot|partingshot|psychic": 19.617, - "foulplay|grassknot|partingshot|psychic": 5.263 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "throh": { - "abilities": [ - [ - "guts", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "flameorb", - 56.452 - ], - [ - "leftovers", - 31.183 - ], - [ - "chestoberry", - 12.366 - ] - ], - "moves": [ - [ - "knockoff", - 67.204 - ], - [ - "bulkup", - 87.097 - ], - [ - "stormthrow", - 54.301 - ], - [ - "icepunch", - 70.43 - ], - [ - "rest", - 43.548 - ], - [ - "sleeptalk", - 31.183 - ], - [ - "circlethrow", - 46.237 - ] - ], - "sets": { - "bulkup|circlethrow|icepunch|knockoff": 12.366, - "bulkup|circlethrow|icepunch|rest": 1.075, - "bulkup|circlethrow|knockoff|rest": 1.075, - "bulkup|circlethrow|rest|sleeptalk": 18.28, - "bulkup|circlethrow|rest|stormthrow": 0.538, - "bulkup|icepunch|knockoff|stormthrow": 44.086, - "bulkup|icepunch|rest|stormthrow": 4.301, - "bulkup|knockoff|rest|stormthrow": 5.376, - "circlethrow|icepunch|rest|sleeptalk": 8.602, - "circlethrow|knockoff|rest|sleeptalk": 4.301 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "thundurus": { - "abilities": [ - [ - "prankster", - 79.641 - ], - [ - "defiant", - 20.359 - ] - ], - "count": 334, - "items": [ - [ - "heavydutyboots", - 82.036 - ], - [ - "lifeorb", - 6.886 - ], - [ - "focussash", - 11.078 - ] - ], - "moves": [ - [ - "grassknot", - 79.641 - ], - [ - "nastyplot", - 51.198 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "sludgewave", - 79.042 - ], - [ - "knockoff", - 30.838 - ], - [ - "thunderwave", - 28.443 - ], - [ - "superpower", - 30.838 - ] - ], - "sets": { - "grassknot|knockoff|sludgewave|thunderbolt": 3.892, - "grassknot|knockoff|superpower|thunderbolt": 5.988, - "grassknot|knockoff|thunderbolt|thunderwave": 5.389, - "grassknot|nastyplot|sludgewave|thunderbolt": 51.198, - "grassknot|sludgewave|superpower|thunderbolt": 5.09, - "grassknot|sludgewave|thunderbolt|thunderwave": 4.192, - "grassknot|superpower|thunderbolt|thunderwave": 3.892, - "knockoff|sludgewave|superpower|thunderbolt": 5.389, - "knockoff|sludgewave|thunderbolt|thunderwave": 4.491, - "knockoff|superpower|thunderbolt|thunderwave": 5.689, - "sludgewave|superpower|thunderbolt|thunderwave": 4.79 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "thundurustherian": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 338, - "items": [ - [ - "focussash", - 14.201 - ], - [ - "heavydutyboots", - 53.254 - ], - [ - "choicescarf", - 19.231 - ], - [ - "choicespecs", - 8.58 - ], - [ - "lifeorb", - 4.734 - ] - ], - "moves": [ - [ - "thunderbolt", - 100.0 - ], - [ - "psychic", - 66.568 - ], - [ - "nastyplot", - 72.189 - ], - [ - "focusblast", - 69.822 - ], - [ - "grassknot", - 68.935 - ], - [ - "voltswitch", - 22.485 - ] - ], - "sets": { - "focusblast|grassknot|nastyplot|thunderbolt": 24.852, - "focusblast|grassknot|psychic|thunderbolt": 5.325, - "focusblast|grassknot|thunderbolt|voltswitch": 8.58, - "focusblast|nastyplot|psychic|thunderbolt": 23.669, - "focusblast|psychic|thunderbolt|voltswitch": 7.396, - "grassknot|nastyplot|psychic|thunderbolt": 23.669, - "grassknot|psychic|thunderbolt|voltswitch": 6.509 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "togedemaru": { - "abilities": [ - [ - "sturdy", - 50.0 - ], - [ - "lightningrod", - 50.0 - ] - ], - "count": 372, - "items": [ - [ - "leftovers", - 84.409 - ], - [ - "focussash", - 7.258 - ], - [ - "choiceband", - 8.333 - ] - ], - "moves": [ - [ - "uturn", - 31.989 - ], - [ - "zingzap", - 100.0 - ], - [ - "ironhead", - 100.0 - ], - [ - "wish", - 69.892 - ], - [ - "spikyshield", - 70.699 - ], - [ - "nuzzle", - 27.419 - ] - ], - "sets": { - "ironhead|nuzzle|spikyshield|zingzap": 9.14, - "ironhead|nuzzle|uturn|zingzap": 8.333, - "ironhead|nuzzle|wish|zingzap": 9.946, - "ironhead|spikyshield|uturn|zingzap": 12.634, - "ironhead|spikyshield|wish|zingzap": 48.925, - "ironhead|uturn|wish|zingzap": 11.022 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "togekiss": { - "abilities": [ - [ - "serenegrace", - 100.0 - ] - ], - "count": 307, - "items": [ - [ - "heavydutyboots", - 89.902 - ], - [ - "leftovers", - 5.863 - ], - [ - "choicescarf", - 4.235 - ] - ], - "moves": [ - [ - "nastyplot", - 57.329 - ], - [ - "airslash", - 100.0 - ], - [ - "roost", - 96.743 - ], - [ - "aurasphere", - 100.0 - ], - [ - "thunderwave", - 29.642 - ], - [ - "fireblast", - 12.052 - ], - [ - "trick", - 4.235 - ] - ], - "sets": { - "airslash|aurasphere|fireblast|roost": 8.795, - "airslash|aurasphere|fireblast|trick": 3.257, - "airslash|aurasphere|nastyplot|roost": 57.329, - "airslash|aurasphere|roost|thunderwave": 29.642, - "airslash|aurasphere|roost|trick": 0.977 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "torkoal": { - "abilities": [ - [ - "drought", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "heavydutyboots", - 97.462 - ], - [ - "leftovers", - 2.538 - ] - ], - "moves": [ - [ - "stealthrock", - 61.929 - ], - [ - "solarbeam", - 79.695 - ], - [ - "lavaplume", - 100.0 - ], - [ - "rapidspin", - 74.619 - ], - [ - "earthquake", - 83.756 - ] - ], - "sets": { - "earthquake|lavaplume|rapidspin|solarbeam": 38.071, - "earthquake|lavaplume|rapidspin|stealthrock": 20.305, - "earthquake|lavaplume|solarbeam|stealthrock": 25.381, - "lavaplume|rapidspin|solarbeam|stealthrock": 16.244 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tornadus": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 396, - "items": [ - [ - "lifeorb", - 5.051 - ], - [ - "focussash", - 7.323 - ], - [ - "heavydutyboots", - 87.626 - ] - ], - "moves": [ - [ - "hurricane", - 100.0 - ], - [ - "heatwave", - 100.0 - ], - [ - "nastyplot", - 81.818 - ], - [ - "grassknot", - 100.0 - ], - [ - "defog", - 18.182 - ] - ], - "sets": { - "defog|grassknot|heatwave|hurricane": 18.182, - "grassknot|heatwave|hurricane|nastyplot": 81.818 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tornadustherian": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 335, - "items": [ - [ - "assaultvest", - 31.045 - ], - [ - "heavydutyboots", - 68.955 - ] - ], - "moves": [ - [ - "superpower", - 77.612 - ], - [ - "uturn", - 75.224 - ], - [ - "knockoff", - 78.209 - ], - [ - "hurricane", - 100.0 - ], - [ - "defog", - 68.955 - ] - ], - "sets": { - "defog|hurricane|knockoff|superpower": 24.776, - "defog|hurricane|knockoff|uturn": 22.388, - "defog|hurricane|superpower|uturn": 21.791, - "hurricane|knockoff|superpower|uturn": 31.045 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxapex": { - "abilities": [ - [ - "regenerator", - 100.0 - ] - ], - "count": 309, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "toxicspikes", - 27.184 - ], - [ - "recover", - 100.0 - ], - [ - "haze", - 29.126 - ], - [ - "scald", - 100.0 - ], - [ - "banefulbunker", - 71.521 - ], - [ - "toxic", - 72.168 - ] - ], - "sets": { - "banefulbunker|haze|recover|scald": 8.738, - "banefulbunker|recover|scald|toxic": 53.074, - "banefulbunker|recover|scald|toxicspikes": 9.709, - "haze|recover|scald|toxic": 11.003, - "haze|recover|scald|toxicspikes": 9.385, - "recover|scald|toxic|toxicspikes": 8.091 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxicroak": { - "abilities": [ - [ - "dryskin", - 100.0 - ] - ], - "count": 337, - "items": [ - [ - "blacksludge", - 50.742 - ], - [ - "lifeorb", - 36.202 - ], - [ - "choiceband", - 7.122 - ], - [ - "choicescarf", - 5.935 - ] - ], - "moves": [ - [ - "swordsdance", - 86.944 - ], - [ - "drainpunch", - 100.0 - ], - [ - "substitute", - 50.742 - ], - [ - "gunkshot", - 100.0 - ], - [ - "knockoff", - 23.442 - ], - [ - "suckerpunch", - 15.727 - ], - [ - "icepunch", - 23.145 - ] - ], - "sets": { - "drainpunch|gunkshot|icepunch|knockoff": 7.715, - "drainpunch|gunkshot|icepunch|suckerpunch": 5.341, - "drainpunch|gunkshot|icepunch|swordsdance": 10.089, - "drainpunch|gunkshot|knockoff|swordsdance": 15.727, - "drainpunch|gunkshot|substitute|swordsdance": 50.742, - "drainpunch|gunkshot|suckerpunch|swordsdance": 10.386 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxtricity": { - "abilities": [ - [ - "punkrock", - 100.0 - ] - ], - "count": 156, - "items": [ - [ - "throatspray", - 67.308 - ], - [ - "choicescarf", - 15.385 - ], - [ - "focussash", - 11.538 - ], - [ - "choicespecs", - 5.769 - ] - ], - "moves": [ - [ - "shiftgear", - 78.846 - ], - [ - "overdrive", - 100.0 - ], - [ - "boomburst", - 100.0 - ], - [ - "sludgewave", - 100.0 - ], - [ - "voltswitch", - 21.154 - ] - ], - "sets": { - "boomburst|overdrive|shiftgear|sludgewave": 78.846, - "boomburst|overdrive|sludgewave|voltswitch": 21.154 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "toxtricitylowkey": { - "abilities": [ - [ - "punkrock", - 100.0 - ] - ], - "count": 133, - "items": [ - [ - "choicescarf", - 65.414 - ], - [ - "choicespecs", - 34.586 - ] - ], - "moves": [ - [ - "sludgewave", - 100.0 - ], - [ - "voltswitch", - 100.0 - ], - [ - "overdrive", - 100.0 - ], - [ - "boomburst", - 100.0 - ] - ], - "sets": { - "boomburst|overdrive|sludgewave|voltswitch": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "trevenant": { - "abilities": [ - [ - "naturalcure", - 100.0 - ] - ], - "count": 182, - "items": [ - [ - "choiceband", - 64.286 - ], - [ - "lifeorb", - 35.714 - ] - ], - "moves": [ - [ - "earthquake", - 66.484 - ], - [ - "hornleech", - 74.725 - ], - [ - "poltergeist", - 100.0 - ], - [ - "rockslide", - 63.736 - ], - [ - "woodhammer", - 59.341 - ], - [ - "trickroom", - 35.714 - ] - ], - "sets": { - "earthquake|hornleech|poltergeist|rockslide": 16.484, - "earthquake|hornleech|poltergeist|trickroom": 11.538, - "earthquake|hornleech|poltergeist|woodhammer": 18.132, - "earthquake|poltergeist|rockslide|woodhammer": 13.736, - "earthquake|poltergeist|trickroom|woodhammer": 6.593, - "hornleech|poltergeist|rockslide|trickroom": 12.637, - "hornleech|poltergeist|rockslide|woodhammer": 15.934, - "poltergeist|rockslide|trickroom|woodhammer": 4.945 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tsareena": { - "abilities": [ - [ - "queenlymajesty", - 100.0 - ] - ], - "count": 325, - "items": [ - [ - "heavydutyboots", - 26.769 - ], - [ - "choicescarf", - 9.231 - ], - [ - "assaultvest", - 18.154 - ], - [ - "choiceband", - 6.462 - ], - [ - "lifeorb", - 20.308 - ], - [ - "leftovers", - 19.077 - ] - ], - "moves": [ - [ - "uturn", - 45.231 - ], - [ - "synthesis", - 66.154 - ], - [ - "rapidspin", - 44.923 - ], - [ - "powerwhip", - 100.0 - ], - [ - "highjumpkick", - 46.769 - ], - [ - "knockoff", - 45.538 - ], - [ - "tripleaxel", - 51.385 - ] - ], - "sets": { - "highjumpkick|knockoff|powerwhip|rapidspin": 2.462, - "highjumpkick|knockoff|powerwhip|synthesis": 7.077, - "highjumpkick|knockoff|powerwhip|tripleaxel": 4.615, - "highjumpkick|knockoff|powerwhip|uturn": 3.385, - "highjumpkick|powerwhip|rapidspin|synthesis": 5.846, - "highjumpkick|powerwhip|rapidspin|tripleaxel": 3.385, - "highjumpkick|powerwhip|rapidspin|uturn": 2.769, - "highjumpkick|powerwhip|synthesis|tripleaxel": 6.462, - "highjumpkick|powerwhip|synthesis|uturn": 6.462, - "highjumpkick|powerwhip|tripleaxel|uturn": 4.308, - "knockoff|powerwhip|rapidspin|synthesis": 6.462, - "knockoff|powerwhip|rapidspin|tripleaxel": 4.0, - "knockoff|powerwhip|rapidspin|uturn": 1.231, - "knockoff|powerwhip|synthesis|tripleaxel": 6.769, - "knockoff|powerwhip|synthesis|uturn": 6.154, - "knockoff|powerwhip|tripleaxel|uturn": 3.385, - "powerwhip|rapidspin|synthesis|tripleaxel": 7.692, - "powerwhip|rapidspin|synthesis|uturn": 6.769, - "powerwhip|rapidspin|tripleaxel|uturn": 4.308, - "powerwhip|synthesis|tripleaxel|uturn": 6.462 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "turtonator": { - "abilities": [ - [ - "shellarmor", - 100.0 - ] - ], - "count": 172, - "items": [ - [ - "heavydutyboots", - 16.86 - ], - [ - "whiteherb", - 81.977 - ], - [ - "None", - 0.581 - ], - [ - "leftovers", - 0.581 - ] - ], - "moves": [ - [ - "bodypress", - 9.884 - ], - [ - "willowisp", - 44.767 - ], - [ - "fireblast", - 100.0 - ], - [ - "dracometeor", - 100.0 - ], - [ - "rapidspin", - 12.209 - ], - [ - "shellsmash", - 82.558 - ], - [ - "earthquake", - 50.581 - ] - ], - "sets": { - "bodypress|dracometeor|fireblast|rapidspin": 5.814, - "bodypress|dracometeor|fireblast|willowisp": 4.07, - "dracometeor|earthquake|fireblast|rapidspin": 3.488, - "dracometeor|earthquake|fireblast|shellsmash": 45.93, - "dracometeor|earthquake|fireblast|willowisp": 1.163, - "dracometeor|fireblast|rapidspin|willowisp": 2.907, - "dracometeor|fireblast|shellsmash|willowisp": 36.628 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "typenull": { - "abilities": [ - [ - "battlearmor", - 100.0 - ] - ], - "count": 381, - "items": [ - [ - "eviolite", - 100.0 - ] - ], - "moves": [ - [ - "swordsdance", - 100.0 - ], - [ - "crushclaw", - 100.0 - ], - [ - "rest", - 100.0 - ], - [ - "sleeptalk", - 56.693 - ], - [ - "payback", - 43.307 - ] - ], - "sets": { - "crushclaw|payback|rest|swordsdance": 43.307, - "crushclaw|rest|sleeptalk|swordsdance": 56.693 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tyranitar": { - "abilities": [ - [ - "sandstream", - 100.0 - ] - ], - "count": 333, - "items": [ - [ - "lumberry", - 77.778 - ], - [ - "leftovers", - 14.715 - ], - [ - "choicescarf", - 6.006 - ], - [ - "choiceband", - 1.502 - ] - ], - "moves": [ - [ - "dragondance", - 77.778 - ], - [ - "earthquake", - 53.754 - ], - [ - "crunch", - 100.0 - ], - [ - "stoneedge", - 100.0 - ], - [ - "firepunch", - 53.754 - ], - [ - "stealthrock", - 14.715 - ] - ], - "sets": { - "crunch|dragondance|earthquake|stoneedge": 39.339, - "crunch|dragondance|firepunch|stoneedge": 38.438, - "crunch|earthquake|firepunch|stoneedge": 7.508, - "crunch|earthquake|stealthrock|stoneedge": 6.907, - "crunch|firepunch|stealthrock|stoneedge": 7.808 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "tyrantrum": { - "abilities": [ - [ - "rockhead", - 100.0 - ] - ], - "count": 314, - "items": [ - [ - "lifeorb", - 80.255 - ], - [ - "choiceband", - 6.688 - ], - [ - "choicescarf", - 13.057 - ] - ], - "moves": [ - [ - "earthquake", - 63.376 - ], - [ - "dragondance", - 80.255 - ], - [ - "outrage", - 100.0 - ], - [ - "headsmash", - 100.0 - ], - [ - "closecombat", - 56.369 - ] - ], - "sets": { - "closecombat|dragondance|headsmash|outrage": 36.624, - "closecombat|earthquake|headsmash|outrage": 19.745, - "dragondance|earthquake|headsmash|outrage": 43.631 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "umbreon": { - "abilities": [ - [ - "synchronize", - 100.0 - ] - ], - "count": 330, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "foulplay", - 100.0 - ], - [ - "toxic", - 100.0 - ], - [ - "wish", - 100.0 - ], - [ - "protect", - 100.0 - ] - ], - "sets": { - "foulplay|protect|toxic|wish": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "unfezant": { - "abilities": [ - [ - "superluck", - 100.0 - ] - ], - "count": 180, - "items": [ - [ - "scopelens", - 100.0 - ] - ], - "moves": [ - [ - "bravebird", - 100.0 - ], - [ - "defog", - 71.667 - ], - [ - "nightslash", - 63.333 - ], - [ - "roost", - 100.0 - ], - [ - "uturn", - 65.0 - ] - ], - "sets": { - "bravebird|defog|nightslash|roost": 35.0, - "bravebird|defog|roost|uturn": 36.667, - "bravebird|nightslash|roost|uturn": 28.333 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "urshifu": { - "abilities": [ - [ - "unseenfist", - 100.0 - ] - ], - "count": 357, - "items": [ - [ - "choiceband", - 36.695 - ], - [ - "leftovers", - 58.263 - ], - [ - "choicescarf", - 5.042 - ] - ], - "moves": [ - [ - "suckerpunch", - 33.894 - ], - [ - "uturn", - 24.09 - ], - [ - "wickedblow", - 100.0 - ], - [ - "closecombat", - 41.737 - ], - [ - "ironhead", - 25.49 - ], - [ - "bulkup", - 58.263 - ], - [ - "drainpunch", - 58.263 - ], - [ - "substitute", - 58.263 - ] - ], - "sets": { - "bulkup|drainpunch|substitute|wickedblow": 58.263, - "closecombat|ironhead|suckerpunch|wickedblow": 17.647, - "closecombat|ironhead|uturn|wickedblow": 7.843, - "closecombat|suckerpunch|uturn|wickedblow": 16.246 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "urshifurapidstrike": { - "abilities": [ - [ - "unseenfist", - 100.0 - ] - ], - "count": 356, - "items": [ - [ - "leftovers", - 45.787 - ], - [ - "lifeorb", - 40.169 - ], - [ - "choicescarf", - 9.27 - ], - [ - "choiceband", - 4.775 - ] - ], - "moves": [ - [ - "substitute", - 45.787 - ], - [ - "drainpunch", - 45.787 - ], - [ - "surgingstrikes", - 100.0 - ], - [ - "bulkup", - 85.955 - ], - [ - "closecombat", - 54.213 - ], - [ - "thunderpunch", - 54.213 - ], - [ - "uturn", - 14.045 - ] - ], - "sets": { - "bulkup|closecombat|surgingstrikes|thunderpunch": 40.169, - "bulkup|drainpunch|substitute|surgingstrikes": 45.787, - "closecombat|surgingstrikes|thunderpunch|uturn": 14.045 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "uxie": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 155, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "psychic", - 100.0 - ], - [ - "yawn", - 56.774 - ], - [ - "uturn", - 62.581 - ], - [ - "stealthrock", - 60.0 - ], - [ - "knockoff", - 62.581 - ], - [ - "healbell", - 58.065 - ] - ], - "sets": { - "healbell|knockoff|psychic|stealthrock": 8.387, - "healbell|knockoff|psychic|uturn": 12.258, - "healbell|knockoff|psychic|yawn": 8.387, - "healbell|psychic|stealthrock|uturn": 10.323, - "healbell|psychic|stealthrock|yawn": 10.968, - "healbell|psychic|uturn|yawn": 7.742, - "knockoff|psychic|stealthrock|uturn": 12.258, - "knockoff|psychic|stealthrock|yawn": 9.677, - "knockoff|psychic|uturn|yawn": 11.613, - "psychic|stealthrock|uturn|yawn": 8.387 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vanilluxe": { - "abilities": [ - [ - "snowwarning", - 100.0 - ] - ], - "count": 197, - "items": [ - [ - "lightclay", - 72.081 - ], - [ - "assaultvest", - 27.919 - ] - ], - "moves": [ - [ - "blizzard", - 100.0 - ], - [ - "auroraveil", - 72.081 - ], - [ - "flashcannon", - 75.635 - ], - [ - "explosion", - 74.619 - ], - [ - "freezedry", - 77.665 - ] - ], - "sets": { - "auroraveil|blizzard|explosion|flashcannon": 22.335, - "auroraveil|blizzard|explosion|freezedry": 24.365, - "auroraveil|blizzard|flashcannon|freezedry": 25.381, - "blizzard|explosion|flashcannon|freezedry": 27.919 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vaporeon": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 291, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "protect", - 75.945 - ], - [ - "toxic", - 79.038 - ], - [ - "wish", - 85.223 - ], - [ - "scald", - 100.0 - ], - [ - "icebeam", - 49.485 - ], - [ - "healbell", - 10.309 - ] - ], - "sets": { - "healbell|icebeam|scald|wish": 1.718, - "healbell|protect|scald|wish": 8.591, - "icebeam|protect|scald|toxic": 14.777, - "icebeam|protect|scald|wish": 10.653, - "icebeam|scald|toxic|wish": 22.337, - "protect|scald|toxic|wish": 41.924 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "venusaur": { - "abilities": [ - [ - "chlorophyll", - 36.175 - ], - [ - "overgrow", - 63.825 - ] - ], - "count": 434, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "sleeppowder", - 54.147 - ], - [ - "leechseed", - 81.567 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "substitute", - 100.0 - ], - [ - "gigadrain", - 64.286 - ] - ], - "sets": { - "gigadrain|leechseed|sludgebomb|substitute": 45.853, - "gigadrain|sleeppowder|sludgebomb|substitute": 18.433, - "leechseed|sleeppowder|sludgebomb|substitute": 35.714 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vespiquen": { - "abilities": [ - [ - "pressure", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 82.258 - ], - [ - "airslash", - 100.0 - ], - [ - "uturn", - 80.645 - ], - [ - "roost", - 100.0 - ], - [ - "defog", - 37.097 - ] - ], - "sets": { - "airslash|defog|roost|toxic": 19.355, - "airslash|defog|roost|uturn": 17.742, - "airslash|roost|toxic|uturn": 62.903 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "victini": { - "abilities": [ - [ - "victorystar", - 100.0 - ] - ], - "count": 427, - "items": [ - [ - "assaultvest", - 88.056 - ], - [ - "choiceband", - 1.639 - ], - [ - "choicespecs", - 7.026 - ], - [ - "choicescarf", - 3.279 - ] - ], - "moves": [ - [ - "glaciate", - 65.574 - ], - [ - "zenheadbutt", - 35.129 - ], - [ - "energyball", - 63.934 - ], - [ - "blueflare", - 35.831 - ], - [ - "vcreate", - 64.169 - ], - [ - "uturn", - 63.934 - ], - [ - "boltstrike", - 71.429 - ] - ], - "sets": { - "blueflare|boltstrike|energyball|glaciate": 4.918, - "blueflare|boltstrike|energyball|uturn": 4.45, - "blueflare|boltstrike|energyball|zenheadbutt": 4.45, - "blueflare|boltstrike|glaciate|uturn": 4.45, - "blueflare|boltstrike|glaciate|zenheadbutt": 3.044, - "blueflare|boltstrike|uturn|zenheadbutt": 4.215, - "blueflare|energyball|glaciate|uturn": 7.026, - "blueflare|energyball|glaciate|zenheadbutt": 1.171, - "blueflare|energyball|uturn|zenheadbutt": 0.703, - "blueflare|glaciate|uturn|zenheadbutt": 1.405, - "boltstrike|energyball|glaciate|vcreate": 8.899, - "boltstrike|energyball|uturn|vcreate": 9.133, - "boltstrike|energyball|vcreate|zenheadbutt": 5.621, - "boltstrike|glaciate|uturn|vcreate": 10.07, - "boltstrike|glaciate|vcreate|zenheadbutt": 7.26, - "boltstrike|uturn|vcreate|zenheadbutt": 4.918, - "energyball|glaciate|uturn|vcreate": 15.925, - "energyball|glaciate|vcreate|zenheadbutt": 0.703, - "energyball|uturn|vcreate|zenheadbutt": 0.937, - "glaciate|uturn|vcreate|zenheadbutt": 0.703 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vikavolt": { - "abilities": [ - [ - "levitate", - 100.0 - ] - ], - "count": 198, - "items": [ - [ - "heavydutyboots", - 91.414 - ], - [ - "leftovers", - 2.02 - ], - [ - "focussash", - 6.566 - ] - ], - "moves": [ - [ - "roost", - 78.788 - ], - [ - "bugbuzz", - 75.253 - ], - [ - "voltswitch", - 77.778 - ], - [ - "thunderbolt", - 81.818 - ], - [ - "stickyweb", - 80.303 - ], - [ - "energyball", - 6.061 - ] - ], - "sets": { - "bugbuzz|roost|stickyweb|thunderbolt": 16.162, - "bugbuzz|roost|stickyweb|voltswitch": 18.182, - "bugbuzz|roost|thunderbolt|voltswitch": 19.697, - "bugbuzz|stickyweb|thunderbolt|voltswitch": 21.212, - "energyball|roost|stickyweb|thunderbolt": 6.061, - "roost|stickyweb|thunderbolt|voltswitch": 18.687 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "vileplume": { - "abilities": [ - [ - "effectspore", - 97.923 - ], - [ - "chlorophyll", - 2.077 - ] - ], - "count": 337, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "sludgebomb", - 100.0 - ], - [ - "sleeppowder", - 76.855 - ], - [ - "aromatherapy", - 81.602 - ], - [ - "strengthsap", - 78.932 - ], - [ - "gigadrain", - 62.611 - ] - ], - "sets": { - "aromatherapy|gigadrain|sleeppowder|sludgebomb": 21.068, - "aromatherapy|gigadrain|sludgebomb|strengthsap": 23.145, - "aromatherapy|sleeppowder|sludgebomb|strengthsap": 37.389, - "gigadrain|sleeppowder|sludgebomb|strengthsap": 18.398 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "virizion": { - "abilities": [ - [ - "justified", - 100.0 - ] - ], - "count": 396, - "items": [ - [ - "lumberry", - 81.061 - ], - [ - "assaultvest", - 18.939 - ] - ], - "moves": [ - [ - "stoneedge", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "swordsdance", - 81.061 - ], - [ - "leafblade", - 81.061 - ], - [ - "airslash", - 18.939 - ], - [ - "leafstorm", - 18.939 - ] - ], - "sets": { - "airslash|closecombat|leafstorm|stoneedge": 18.939, - "closecombat|leafblade|stoneedge|swordsdance": 81.061 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "volcanion": { - "abilities": [ - [ - "waterabsorb", - 100.0 - ] - ], - "count": 329, - "items": [ - [ - "heavydutyboots", - 62.918 - ], - [ - "choicespecs", - 13.982 - ], - [ - "choicescarf", - 23.1 - ] - ], - "moves": [ - [ - "sludgebomb", - 66.869 - ], - [ - "flamethrower", - 100.0 - ], - [ - "steameruption", - 100.0 - ], - [ - "defog", - 62.918 - ], - [ - "earthpower", - 70.213 - ] - ], - "sets": { - "defog|earthpower|flamethrower|steameruption": 33.131, - "defog|flamethrower|sludgebomb|steameruption": 29.787, - "earthpower|flamethrower|sludgebomb|steameruption": 37.082 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "volcarona": { - "abilities": [ - [ - "flamebody", - 91.691 - ], - [ - "swarm", - 8.309 - ] - ], - "count": 337, - "items": [ - [ - "heavydutyboots", - 100.0 - ] - ], - "moves": [ - [ - "bugbuzz", - 80.119 - ], - [ - "fireblast", - 100.0 - ], - [ - "roost", - 80.712 - ], - [ - "quiverdance", - 100.0 - ], - [ - "gigadrain", - 39.169 - ] - ], - "sets": { - "bugbuzz|fireblast|gigadrain|quiverdance": 19.288, - "bugbuzz|fireblast|quiverdance|roost": 60.831, - "fireblast|gigadrain|quiverdance|roost": 19.881 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wailord": { - "abilities": [ - [ - "waterveil", - 100.0 - ] - ], - "count": 185, - "items": [ - [ - "choicespecs", - 100.0 - ] - ], - "moves": [ - [ - "hydropump", - 100.0 - ], - [ - "waterspout", - 100.0 - ], - [ - "icebeam", - 100.0 - ], - [ - "hypervoice", - 100.0 - ] - ], - "sets": { - "hydropump|hypervoice|icebeam|waterspout": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "walrein": { - "abilities": [ - [ - "thickfat", - 100.0 - ] - ], - "count": 203, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "toxic", - 100.0 - ], - [ - "protect", - 100.0 - ], - [ - "icebeam", - 100.0 - ], - [ - "surf", - 100.0 - ] - ], - "sets": { - "icebeam|protect|surf|toxic": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "weavile": { - "abilities": [ - [ - "pickpocket", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "choiceband", - 19.033 - ], - [ - "lifeorb", - 6.344 - ], - [ - "heavydutyboots", - 64.955 - ], - [ - "focussash", - 9.668 - ] - ], - "moves": [ - [ - "lowkick", - 56.193 - ], - [ - "iceshard", - 62.84 - ], - [ - "iciclecrash", - 100.0 - ], - [ - "knockoff", - 100.0 - ], - [ - "swordsdance", - 80.967 - ] - ], - "sets": { - "iceshard|iciclecrash|knockoff|lowkick": 19.033, - "iceshard|iciclecrash|knockoff|swordsdance": 43.807, - "iciclecrash|knockoff|lowkick|swordsdance": 37.16 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "weezing": { - "abilities": [ - [ - "neutralizinggas", - 34.807 - ], - [ - "levitate", - 65.193 - ] - ], - "count": 362, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "fireblast", - 75.691 - ], - [ - "willowisp", - 77.624 - ], - [ - "painsplit", - 72.652 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "toxicspikes", - 74.033 - ] - ], - "sets": { - "fireblast|painsplit|sludgebomb|toxicspikes": 22.376, - "fireblast|painsplit|sludgebomb|willowisp": 25.967, - "fireblast|sludgebomb|toxicspikes|willowisp": 27.348, - "painsplit|sludgebomb|toxicspikes|willowisp": 24.309 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "weezinggalar": { - "abilities": [ - [ - "neutralizinggas", - 67.405 - ], - [ - "levitate", - 32.595 - ] - ], - "count": 316, - "items": [ - [ - "blacksludge", - 100.0 - ] - ], - "moves": [ - [ - "willowisp", - 54.43 - ], - [ - "sludgebomb", - 67.722 - ], - [ - "strangesteam", - 100.0 - ], - [ - "painsplit", - 50.316 - ], - [ - "defog", - 30.696 - ], - [ - "fireblast", - 55.38 - ], - [ - "toxicspikes", - 41.456 - ] - ], - "sets": { - "defog|fireblast|painsplit|strangesteam": 2.848, - "defog|fireblast|sludgebomb|strangesteam": 4.43, - "defog|fireblast|strangesteam|willowisp": 5.38, - "defog|painsplit|sludgebomb|strangesteam": 7.278, - "defog|painsplit|strangesteam|willowisp": 3.481, - "defog|sludgebomb|strangesteam|willowisp": 7.278, - "fireblast|painsplit|sludgebomb|strangesteam": 7.595, - "fireblast|painsplit|strangesteam|toxicspikes": 5.063, - "fireblast|painsplit|strangesteam|willowisp": 4.114, - "fireblast|sludgebomb|strangesteam|toxicspikes": 12.342, - "fireblast|sludgebomb|strangesteam|willowisp": 7.911, - "fireblast|strangesteam|toxicspikes|willowisp": 5.696, - "painsplit|sludgebomb|strangesteam|toxicspikes": 6.013, - "painsplit|sludgebomb|strangesteam|willowisp": 8.228, - "painsplit|strangesteam|toxicspikes|willowisp": 5.696, - "sludgebomb|strangesteam|toxicspikes|willowisp": 6.646 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "whimsicott": { - "abilities": [ - [ - "prankster", - 100.0 - ] - ], - "count": 349, - "items": [ - [ - "leftovers", - 86.533 - ], - [ - "focussash", - 13.467 - ] - ], - "moves": [ - [ - "uturn", - 45.845 - ], - [ - "stunspore", - 46.132 - ], - [ - "leechseed", - 65.616 - ], - [ - "moonblast", - 100.0 - ], - [ - "defog", - 34.384 - ], - [ - "taunt", - 42.12 - ], - [ - "energyball", - 65.903 - ] - ], - "sets": { - "defog|energyball|leechseed|moonblast": 9.456, - "defog|energyball|moonblast|stunspore": 1.719, - "defog|energyball|moonblast|taunt": 3.152, - "defog|energyball|moonblast|uturn": 4.871, - "defog|leechseed|moonblast|stunspore": 4.871, - "defog|leechseed|moonblast|taunt": 2.006, - "defog|leechseed|moonblast|uturn": 2.579, - "defog|moonblast|stunspore|taunt": 1.433, - "defog|moonblast|stunspore|uturn": 2.579, - "defog|moonblast|taunt|uturn": 1.719, - "energyball|leechseed|moonblast|stunspore": 10.602, - "energyball|leechseed|moonblast|taunt": 10.602, - "energyball|leechseed|moonblast|uturn": 11.461, - "energyball|moonblast|stunspore|taunt": 5.158, - "energyball|moonblast|stunspore|uturn": 4.011, - "energyball|moonblast|taunt|uturn": 4.871, - "leechseed|moonblast|stunspore|taunt": 5.158, - "leechseed|moonblast|stunspore|uturn": 5.731, - "leechseed|moonblast|taunt|uturn": 3.152, - "moonblast|stunspore|taunt|uturn": 4.871 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "whiscash": { - "abilities": [ - [ - "oblivious", - 100.0 - ] - ], - "count": 161, - "items": [ - [ - "lifeorb", - 65.217 - ], - [ - "choiceband", - 15.528 - ], - [ - "focussash", - 19.255 - ] - ], - "moves": [ - [ - "liquidation", - 100.0 - ], - [ - "zenheadbutt", - 56.522 - ], - [ - "dragondance", - 84.472 - ], - [ - "earthquake", - 100.0 - ], - [ - "stoneedge", - 59.006 - ] - ], - "sets": { - "dragondance|earthquake|liquidation|stoneedge": 43.478, - "dragondance|earthquake|liquidation|zenheadbutt": 40.994, - "earthquake|liquidation|stoneedge|zenheadbutt": 15.528 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wigglytuff": { - "abilities": [ - [ - "competitive", - 44.751 - ], - [ - "frisk", - 55.249 - ] - ], - "count": 181, - "items": [ - [ - "lightclay", - 91.16 - ], - [ - "leftovers", - 8.84 - ] - ], - "moves": [ - [ - "fireblast", - 44.751 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "lightscreen", - 91.16 - ], - [ - "reflect", - 91.713 - ], - [ - "healbell", - 33.702 - ], - [ - "stealthrock", - 38.674 - ] - ], - "sets": { - "dazzlinggleam|fireblast|healbell|reflect": 0.552, - "dazzlinggleam|fireblast|healbell|stealthrock": 8.287, - "dazzlinggleam|fireblast|lightscreen|reflect": 35.912, - "dazzlinggleam|healbell|lightscreen|reflect": 24.862, - "dazzlinggleam|lightscreen|reflect|stealthrock": 30.387 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wishiwashi": { - "abilities": [ - [ - "schooling", - 100.0 - ] - ], - "count": 186, - "items": [ - [ - "choicespecs", - 20.43 - ], - [ - "assaultvest", - 79.57 - ] - ], - "moves": [ - [ - "scald", - 77.957 - ], - [ - "uturn", - 100.0 - ], - [ - "hydropump", - 59.14 - ], - [ - "icebeam", - 83.333 - ], - [ - "earthquake", - 79.57 - ] - ], - "sets": { - "earthquake|hydropump|icebeam|uturn": 22.043, - "earthquake|hydropump|scald|uturn": 16.667, - "earthquake|icebeam|scald|uturn": 40.86, - "hydropump|icebeam|scald|uturn": 20.43 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "wobbuffet": { - "abilities": [ - [ - "shadowtag", - 100.0 - ] - ], - "count": 173, - "items": [ - [ - "sitrusberry", - 100.0 - ] - ], - "moves": [ - [ - "mirrorcoat", - 100.0 - ], - [ - "encore", - 100.0 - ], - [ - "counter", - 100.0 - ], - [ - "charm", - 100.0 - ] - ], - "sets": { - "charm|counter|encore|mirrorcoat": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xatu": { - "abilities": [ - [ - "magicbounce", - 100.0 - ] - ], - "count": 349, - "items": [ - [ - "leftovers", - 7.45 - ], - [ - "heavydutyboots", - 92.55 - ] - ], - "moves": [ - [ - "thunderwave", - 58.739 - ], - [ - "psychic", - 100.0 - ], - [ - "teleport", - 80.229 - ], - [ - "roost", - 100.0 - ], - [ - "heatwave", - 61.032 - ] - ], - "sets": { - "heatwave|psychic|roost|teleport": 41.261, - "heatwave|psychic|roost|thunderwave": 19.771, - "psychic|roost|teleport|thunderwave": 38.968 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xerneas": { - "abilities": [ - [ - "fairyaura", - 100.0 - ] - ], - "count": 353, - "items": [ - [ - "choicescarf", - 21.246 - ], - [ - "powerherb", - 69.688 - ], - [ - "choicespecs", - 9.065 - ] - ], - "moves": [ - [ - "focusblast", - 75.921 - ], - [ - "psyshock", - 77.337 - ], - [ - "thunderbolt", - 77.054 - ], - [ - "moonblast", - 100.0 - ], - [ - "geomancy", - 69.688 - ] - ], - "sets": { - "focusblast|geomancy|moonblast|psyshock": 22.946, - "focusblast|geomancy|moonblast|thunderbolt": 22.663, - "focusblast|moonblast|psyshock|thunderbolt": 30.312, - "geomancy|moonblast|psyshock|thunderbolt": 24.079 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "xurkitree": { - "abilities": [ - [ - "beastboost", - 100.0 - ] - ], - "count": 294, - "items": [ - [ - "blunderpolicy", - 25.17 - ], - [ - "choicescarf", - 48.299 - ], - [ - "choicespecs", - 26.531 - ] - ], - "moves": [ - [ - "energyball", - 100.0 - ], - [ - "dazzlinggleam", - 100.0 - ], - [ - "hypnosis", - 25.17 - ], - [ - "thunderbolt", - 100.0 - ], - [ - "voltswitch", - 74.83 - ] - ], - "sets": { - "dazzlinggleam|energyball|hypnosis|thunderbolt": 25.17, - "dazzlinggleam|energyball|thunderbolt|voltswitch": 74.83 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "yveltal": { - "abilities": [ - [ - "darkaura", - 100.0 - ] - ], - "count": 369, - "items": [ - [ - "lifeorb", - 6.233 - ], - [ - "heavydutyboots", - 83.198 - ], - [ - "assaultvest", - 10.298 - ], - [ - "leftovers", - 0.271 - ] - ], - "moves": [ - [ - "darkpulse", - 22.764 - ], - [ - "roost", - 89.702 - ], - [ - "oblivionwing", - 100.0 - ], - [ - "suckerpunch", - 70.732 - ], - [ - "knockoff", - 77.236 - ], - [ - "defog", - 10.027 - ], - [ - "heatwave", - 19.241 - ], - [ - "taunt", - 10.298 - ] - ], - "sets": { - "darkpulse|defog|oblivionwing|roost": 2.981, - "darkpulse|heatwave|oblivionwing|roost": 3.252, - "darkpulse|oblivionwing|roost|suckerpunch": 13.821, - "darkpulse|oblivionwing|roost|taunt": 2.71, - "defog|knockoff|oblivionwing|roost": 7.046, - "heatwave|knockoff|oblivionwing|roost": 5.691, - "heatwave|knockoff|oblivionwing|suckerpunch": 10.298, - "knockoff|oblivionwing|roost|suckerpunch": 46.612, - "knockoff|oblivionwing|roost|taunt": 7.588 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zacian": { - "abilities": [ - [ - "intrepidsword", - 100.0 - ] - ], - "count": 180, - "items": [ - [ - "lumberry", - 85.556 - ], - [ - "choiceband", - 14.444 - ] - ], - "moves": [ - [ - "psychicfangs", - 71.667 - ], - [ - "swordsdance", - 85.556 - ], - [ - "closecombat", - 74.444 - ], - [ - "playrough", - 100.0 - ], - [ - "crunch", - 68.333 - ] - ], - "sets": { - "closecombat|crunch|playrough|psychicfangs": 14.444, - "closecombat|crunch|playrough|swordsdance": 28.333, - "closecombat|playrough|psychicfangs|swordsdance": 31.667, - "crunch|playrough|psychicfangs|swordsdance": 25.556 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zaciancrowned": { - "abilities": [ - [ - "intrepidsword", - 100.0 - ] - ], - "count": 215, - "items": [ - [ - "rustedsword", - 100.0 - ] - ], - "moves": [ - [ - "playrough", - 100.0 - ], - [ - "behemothblade", - 100.0 - ], - [ - "swordsdance", - 75.814 - ], - [ - "psychicfangs", - 40.93 - ], - [ - "crunch", - 42.326 - ], - [ - "closecombat", - 40.93 - ] - ], - "sets": { - "behemothblade|closecombat|crunch|playrough": 9.302, - "behemothblade|closecombat|playrough|psychicfangs": 9.302, - "behemothblade|closecombat|playrough|swordsdance": 22.326, - "behemothblade|crunch|playrough|psychicfangs": 5.581, - "behemothblade|crunch|playrough|swordsdance": 27.442, - "behemothblade|playrough|psychicfangs|swordsdance": 26.047 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zamazenta": { - "abilities": [ - [ - "dauntlessshield", - 100.0 - ] - ], - "count": 154, - "items": [ - [ - "choiceband", - 100.0 - ] - ], - "moves": [ - [ - "wildcharge", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "psychicfangs", - 100.0 - ], - [ - "crunch", - 100.0 - ] - ], - "sets": { - "closecombat|crunch|psychicfangs|wildcharge": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zamazentacrowned": { - "abilities": [ - [ - "dauntlessshield", - 100.0 - ] - ], - "count": 156, - "items": [ - [ - "rustedshield", - 100.0 - ] - ], - "moves": [ - [ - "psychicfangs", - 66.026 - ], - [ - "closecombat", - 100.0 - ], - [ - "crunch", - 64.744 - ], - [ - "behemothbash", - 100.0 - ], - [ - "howl", - 69.231 - ] - ], - "sets": { - "behemothbash|closecombat|crunch|howl": 33.974, - "behemothbash|closecombat|crunch|psychicfangs": 30.769, - "behemothbash|closecombat|howl|psychicfangs": 35.256 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zapdos": { - "abilities": [ - [ - "static", - 86.782 - ], - [ - "pressure", - 13.218 - ] - ], - "count": 348, - "items": [ - [ - "choicespecs", - 9.77 - ], - [ - "heavydutyboots", - 87.069 - ], - [ - "lifeorb", - 3.161 - ] - ], - "moves": [ - [ - "uturn", - 43.391 - ], - [ - "heatwave", - 52.586 - ], - [ - "discharge", - 100.0 - ], - [ - "hurricane", - 77.011 - ], - [ - "roost", - 90.23 - ], - [ - "defog", - 36.782 - ] - ], - "sets": { - "defog|discharge|heatwave|roost": 8.621, - "defog|discharge|hurricane|roost": 20.402, - "defog|discharge|roost|uturn": 7.759, - "discharge|heatwave|hurricane|roost": 27.586, - "discharge|heatwave|hurricane|uturn": 9.77, - "discharge|heatwave|roost|uturn": 6.609, - "discharge|hurricane|roost|uturn": 19.253 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zapdosgalar": { - "abilities": [ - [ - "defiant", - 100.0 - ] - ], - "count": 368, - "items": [ - [ - "lifeorb", - 84.511 - ], - [ - "choicescarf", - 10.598 - ], - [ - "choiceband", - 4.891 - ] - ], - "moves": [ - [ - "bulkup", - 84.511 - ], - [ - "bravebird", - 100.0 - ], - [ - "throatchop", - 100.0 - ], - [ - "closecombat", - 100.0 - ], - [ - "uturn", - 15.489 - ] - ], - "sets": { - "bravebird|bulkup|closecombat|throatchop": 84.511, - "bravebird|closecombat|throatchop|uturn": 15.489 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zarude": { - "abilities": [ - [ - "leafguard", - 100.0 - ] - ], - "count": 162, - "items": [ - [ - "leftovers", - 85.185 - ], - [ - "choiceband", - 4.321 - ], - [ - "choicescarf", - 10.494 - ] - ], - "moves": [ - [ - "bulkup", - 85.185 - ], - [ - "junglehealing", - 62.963 - ], - [ - "darkestlariat", - 100.0 - ], - [ - "powerwhip", - 100.0 - ], - [ - "closecombat", - 37.037 - ], - [ - "uturn", - 14.815 - ] - ], - "sets": { - "bulkup|closecombat|darkestlariat|powerwhip": 22.222, - "bulkup|darkestlariat|junglehealing|powerwhip": 62.963, - "closecombat|darkestlariat|powerwhip|uturn": 14.815 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zarudedada": { - "abilities": [ - [ - "leafguard", - 100.0 - ] - ], - "count": 168, - "items": [ - [ - "leftovers", - 86.31 - ], - [ - "choiceband", - 4.762 - ], - [ - "choicescarf", - 8.929 - ] - ], - "moves": [ - [ - "darkestlariat", - 100.0 - ], - [ - "junglehealing", - 58.333 - ], - [ - "bulkup", - 86.31 - ], - [ - "powerwhip", - 100.0 - ], - [ - "uturn", - 13.69 - ], - [ - "closecombat", - 41.667 - ] - ], - "sets": { - "bulkup|closecombat|darkestlariat|powerwhip": 27.976, - "bulkup|darkestlariat|junglehealing|powerwhip": 58.333, - "closecombat|darkestlariat|powerwhip|uturn": 13.69 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zekrom": { - "abilities": [ - [ - "teravolt", - 100.0 - ] - ], - "count": 326, - "items": [ - [ - "lumberry", - 100.0 - ] - ], - "moves": [ - [ - "boltstrike", - 100.0 - ], - [ - "roost", - 100.0 - ], - [ - "outrage", - 100.0 - ], - [ - "dragondance", - 100.0 - ] - ], - "sets": { - "boltstrike|dragondance|outrage|roost": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zeraora": { - "abilities": [ - [ - "voltabsorb", - 100.0 - ] - ], - "count": 314, - "items": [ - [ - "assaultvest", - 41.401 - ], - [ - "focussash", - 8.28 - ], - [ - "lifeorb", - 47.771 - ], - [ - "choiceband", - 2.548 - ] - ], - "moves": [ - [ - "grassknot", - 23.885 - ], - [ - "playrough", - 65.287 - ], - [ - "closecombat", - 66.242 - ], - [ - "plasmafists", - 100.0 - ], - [ - "bulkup", - 56.051 - ], - [ - "knockoff", - 60.191 - ], - [ - "voltswitch", - 28.344 - ] - ], - "sets": { - "bulkup|closecombat|knockoff|plasmafists": 18.153, - "bulkup|closecombat|plasmafists|playrough": 18.79, - "bulkup|knockoff|plasmafists|playrough": 19.108, - "closecombat|grassknot|knockoff|plasmafists": 5.096, - "closecombat|grassknot|plasmafists|playrough": 5.096, - "closecombat|grassknot|plasmafists|voltswitch": 5.732, - "closecombat|knockoff|plasmafists|playrough": 2.548, - "closecombat|knockoff|plasmafists|voltswitch": 3.822, - "closecombat|plasmafists|playrough|voltswitch": 7.006, - "grassknot|knockoff|plasmafists|playrough": 2.866, - "grassknot|knockoff|plasmafists|voltswitch": 1.911, - "grassknot|plasmafists|playrough|voltswitch": 3.185, - "knockoff|plasmafists|playrough|voltswitch": 6.688 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zoroark": { - "abilities": [ - [ - "illusion", - 100.0 - ] - ], - "count": 281, - "items": [ - [ - "lifeorb", - 67.972 - ], - [ - "focussash", - 12.811 - ], - [ - "choicescarf", - 19.217 - ] - ], - "moves": [ - [ - "flamethrower", - 100.0 - ], - [ - "nastyplot", - 80.783 - ], - [ - "darkpulse", - 100.0 - ], - [ - "sludgebomb", - 100.0 - ], - [ - "trick", - 19.217 - ] - ], - "sets": { - "darkpulse|flamethrower|nastyplot|sludgebomb": 80.783, - "darkpulse|flamethrower|sludgebomb|trick": 19.217 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zygarde": { - "abilities": [ - [ - "powerconstruct", - 100.0 - ] - ], - "count": 331, - "items": [ - [ - "leftovers", - 100.0 - ] - ], - "moves": [ - [ - "thousandarrows", - 100.0 - ], - [ - "dragondance", - 100.0 - ], - [ - "substitute", - 100.0 - ], - [ - "outrage", - 100.0 - ] - ], - "sets": { - "dragondance|outrage|substitute|thousandarrows": 100.0 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - }, - "zygarde10": { - "abilities": [ - [ - "aurabreak", - 100.0 - ] - ], - "count": 333, - "items": [ - [ - "lifeorb", - 67.568 - ], - [ - "focussash", - 12.312 - ], - [ - "choiceband", - 20.12 - ] - ], - "moves": [ - [ - "coil", - 79.88 - ], - [ - "thousandarrows", - 100.0 - ], - [ - "extremespeed", - 61.261 - ], - [ - "outrage", - 100.0 - ], - [ - "irontail", - 58.859 - ] - ], - "sets": { - "coil|extremespeed|outrage|thousandarrows": 41.141, - "coil|irontail|outrage|thousandarrows": 38.739, - "extremespeed|irontail|outrage|thousandarrows": 20.12 - }, - "spreads": [ - [ - "serious", - "85,85,85,85,85,85", - 100.0 - ] - ] - } -} \ No newline at end of file diff --git a/data/scripts/parse_random_battle_raw_sets.py b/data/scripts/parse_random_battle_raw_sets.py index 1fc26dae2..a03cd0c81 100644 --- a/data/scripts/parse_random_battle_raw_sets.py +++ b/data/scripts/parse_random_battle_raw_sets.py @@ -9,7 +9,7 @@ import json from copy import deepcopy import constants -from showdown.engine.helpers import normalize_name +from fp.helpers import normalize_name fp = "../../sets.txt" pokedex_path = "../pokedex.json" @@ -25,20 +25,20 @@ def add_thing_to_dict_or_increment(d, second_key, thing): d[second_key][thing] = 1 -with open(pokedex_path, 'r') as f: +with open(pokedex_path, "r") as f: pokedex = json.load(f) -with open(fp, 'r') as f: +with open(fp, "r") as f: lines = f.readlines() -for l in lines: - split_lines = l.strip().split('|') +for line in lines: + split_lines = line.strip().split("|") if len(split_lines) != 8: continue pkmn = split_lines[0] level = int(split_lines[1]) - if pkmn in ['unown', 'ditto']: + if pkmn in ["unown", "ditto"]: moves = [split_lines[2]] ability = split_lines[3] item = split_lines[4] @@ -61,13 +61,19 @@ def add_thing_to_dict_or_increment(d, second_key, thing): if identifier in all_pokemon_dict: all_pokemon_dict[identifier][constants.COUNT] += 1 else: - all_pokemon_dict[identifier] = {constants.SETS: dict(), constants.MOVES: dict(), constants.ABILITIES: dict(), constants.ITEMS: dict(), constants.COUNT: 1} + all_pokemon_dict[identifier] = { + constants.SETS: dict(), + constants.MOVES: dict(), + constants.ABILITIES: dict(), + constants.ITEMS: dict(), + constants.COUNT: 1, + } this_pkmn_dict = all_pokemon_dict[identifier] for i, m in enumerate(moves[:]): - if m == 'return': - m = 'return102' - moves[i] = 'return102' + if m == "return": + m = "return102" + moves[i] = "return102" add_thing_to_dict_or_increment(this_pkmn_dict, constants.MOVES, m) this_set = "|".join(sorted(moves)) # + "|" + ability + "|" + item @@ -82,45 +88,33 @@ def add_thing_to_dict_or_increment(d, second_key, thing): # change raw numbers to percentages new_json = deepcopy(all_pokemon_dict) for k, v in all_pokemon_dict.items(): - count = v['count'] - for move_name, move_count in v['moves'].items(): - new_json[k]['moves'][move_name] = round(move_count * 100 / count, 3) + count = v["count"] + for move_name, move_count in v["moves"].items(): + new_json[k]["moves"][move_name] = round(move_count * 100 / count, 3) - for item_name, item_count in v['items'].items(): - new_json[k]['items'][item_name] = round(item_count * 100 / count, 3) + for item_name, item_count in v["items"].items(): + new_json[k]["items"][item_name] = round(item_count * 100 / count, 3) - for ability_name, ability_count in v['abilities'].items(): - new_json[k]['abilities'][ability_name] = round(ability_count * 100 / count, 3) + for ability_name, ability_count in v["abilities"].items(): + new_json[k]["abilities"][ability_name] = round(ability_count * 100 / count, 3) - for set_name, set_count in v['sets'].items(): - new_json[k]['sets'][set_name] = round(set_count * 100 / count, 3) + for set_name, set_count in v["sets"].items(): + new_json[k]["sets"][set_name] = round(set_count * 100 / count, 3) # put values in list instead of dict final_json = deepcopy(new_json) for k, v in new_json.items(): - final_json[k]['abilities'] = list() - for name, value in v['abilities'].items(): - final_json[k]['abilities'].append( - (name, value) - ) - final_json[k]['items'] = list() - for name, value in v['items'].items(): - final_json[k]['items'].append( - (name, value) - ) - final_json[k]['moves'] = list() - for name, value in v['moves'].items(): - final_json[k]['moves'].append( - (name, value) - ) - final_json[k]['spreads'] = [ - ( - "serious", - "85,85,85,85,85,85", - 100.0 - ) - ] + final_json[k]["abilities"] = list() + for name, value in v["abilities"].items(): + final_json[k]["abilities"].append((name, value)) + final_json[k]["items"] = list() + for name, value in v["items"].items(): + final_json[k]["items"].append((name, value)) + final_json[k]["moves"] = list() + for name, value in v["moves"].items(): + final_json[k]["moves"].append((name, value)) + final_json[k]["spreads"] = [("serious", "85,85,85,85,85,85", 100.0)] # dont use ditto sets final_json.pop("ditto", None) @@ -132,5 +126,5 @@ def add_thing_to_dict_or_increment(d, second_key, thing): final_json.pop(k) -with open("out.json", 'w') as f: +with open("out.json", "w") as f: json.dump(final_json, f, indent=4, sort_keys=True) diff --git a/data/scripts/update_moves.py b/data/scripts/update_moves.py index c52698d2b..a3a9b7c73 100644 --- a/data/scripts/update_moves.py +++ b/data/scripts/update_moves.py @@ -33,7 +33,9 @@ f.write(data) # compile the .ts file into .js. Requires `tsc` on your system -p = subprocess.Popen(['tsc', '/tmp/moves.ts'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +p = subprocess.Popen( + ["tsc", "/tmp/moves.ts"], stdout=subprocess.PIPE, stderr=subprocess.PIPE +) stdout = p.stdout.read() stderr = p.stderr.read() @@ -47,7 +49,9 @@ # run node on the .js file to get the console log we added # Requires `node` on your system -p = subprocess.Popen(['node', '/tmp/moves.js'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +p = subprocess.Popen( + ["node", "/tmp/moves.js"], stdout=subprocess.PIPE, stderr=subprocess.PIPE +) stdout = p.stdout.read() stderr = p.stderr.read() @@ -58,10 +62,9 @@ # make modifications to some values for the bot # shallow copy the dictionary because we might delete things from it for k, v in moves_dict.copy().items(): - # the bot doesn't care about Z-Moves or Gmax moves. They're omitted entirely if v.get("isZ") or v.get("isMax"): - del[moves_dict[k]] + del [moves_dict[k]] continue # the bot needs an `id` attribute @@ -241,16 +244,14 @@ "accuracy": True, "basePower": 0, "category": "status", - "flags": { - "gravity": 1 - }, + "flags": {"gravity": 1}, "id": "nothing", "name": "Splash", "pp": 40, "priority": 0, "secondary": None, "target": "self", - "type": "normal" + "type": "normal", } moves_dict["recharge"] = { @@ -264,28 +265,18 @@ "priority": 0, "secondary": None, "target": "self", - "type": "normal" + "type": "normal", } -moves_dict["tidyup"]["boosts"] = { - "attack": 1, - "speed": 1 -} +moves_dict["tidyup"]["boosts"] = {"attack": 1, "speed": 1} del moves_dict["diamondstorm"]["self"] moves_dict["diamondstorm"]["secondary"] = { "chance": 50, - "self": { - "boosts": { - "defense": 2 - } - } + "self": {"boosts": {"defense": 2}}, } -moves_dict["partingshot"]["boosts"] = { - "attack": -1, - "special-attack": -1 -} +moves_dict["partingshot"]["boosts"] = {"attack": -1, "special-attack": -1} del moves_dict["clangoroussoul"]["boosts"] del moves_dict["filletaway"]["boosts"] @@ -302,4 +293,4 @@ with open("data/new_moves.json", "w") as f: json.dump(moves_dict, f, indent=4, sort_keys=True) -a=5 +a = 5 diff --git a/data/scripts/update_pokedex.py b/data/scripts/update_pokedex.py index 41208035d..1e1e9b637 100644 --- a/data/scripts/update_pokedex.py +++ b/data/scripts/update_pokedex.py @@ -2,6 +2,7 @@ import requests import re import json +from fp.helpers import normalize_name # Fetch latest version data = requests.get( @@ -51,9 +52,7 @@ "special-defense": v["baseStats"]["spd"], "speed": v["baseStats"]["spe"], } - v["types"] = [ - i.lower() for i in v["types"] - ] + v["types"] = [i.lower() for i in v["types"]] v["name"] = v["name"].lower() # re-create the dictionary in order of pokedex numbers @@ -62,8 +61,11 @@ sorted_dex = sorted(data_json.items(), key=lambda x: x[1]["num"]) negative_nums = [i for i in sorted_dex if i[1]["num"] <= 0] sorted_dex = [i for i in sorted_dex if i[1]["num"] > 0] -for k, v in sorted_dex + negative_nums: +for k, v in sorted_dex: new_dict[k] = v + if v.get("cosmeticFormes"): + for forme in v["cosmeticFormes"]: + new_dict[normalize_name(forme)] = v with open("pokedex_new.json", "w") as f: - json.dump(data_json, f, indent=4) + json.dump(new_dict, f, indent=4) diff --git a/data/team_datasets.json b/data/team_datasets.json deleted file mode 100644 index 9da79006b..000000000 --- a/data/team_datasets.json +++ /dev/null @@ -1,6087 +0,0 @@ -{ - "pokemon": { - "hatterene": { - "psychic|magicbounce|focussash|quiet|248,0,8,252,0,0|healingwish|mysticalfire|psychic|trickroom": 1, - "fire|magicbounce|ejectbutton|quiet|248,0,8,252,0,0|dazzlinggleam|mysticalfire|psyshock|trickroom": 1, - "water|magicbounce|ejectbutton|quiet|252,0,4,252,0,0|dazzlinggleam|healingwish|psyshock|trickroom": 1, - "water|magicbounce|leftovers|bold|172,0,252,0,0,84|calmmind|drainingkiss|mysticalfire|storedpower": 1, - "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psyshock": 3, - "flying|magicbounce|leftovers|bold|252,0,252,0,4,0|dazzlinggleam|healingwish|psychic|trickroom": 1, - "flying|magicbounce|leftovers|bold|252,0,252,0,4,0|drainingkiss|mysticalfire|psychic|trickroom": 1, - "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|storedpower": 1, - "water|magicbounce|leftovers|bold|248,0,204,0,0,56|calmmind|drainingkiss|healingwish|storedpower": 2, - "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|mysticalfire|psyshock": 6, - "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psychic": 1, - "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|nuzzle|psyshock": 1, - "water|magicbounce|leftovers|modest|252,0,252,4,0,0|calmmind|drainingkiss|mysticalfire|psychic": 1, - "fire|magicbounce|leftovers|bold|252,0,200,0,0,56|calmmind|drainingkiss|mysticalfire|psychic": 1, - "water|magicbounce|leftovers|bold|252,0,228,0,0,28|calmmind|drainingkiss|healingwish|mysticalfire": 1, - "fire|magicbounce|choicespecs|modest|252,0,0,252,4,0|drainingkiss|mysticalfire|psyshock|shadowball": 1, - "water|magicbounce|leftovers|bold|252,0,180,0,0,76|calmmind|drainingkiss|protect|storedpower": 1, - "steel|magicbounce|focussash|relaxed|252,0,252,0,4,0|healingwish|mysticalfire|psychic|trickroom": 2, - "water|magicbounce|leftovers|bold|200,0,252,0,0,56|calmmind|drainingkiss|nuzzle|psyshock": 2, - "water|magicbounce|assaultvest|modest|252,0,0,252,4,0|drainingkiss|gigadrain|mysticalfire|psychic": 1, - "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|nuzzle|storedpower": 2, - "steel|magicbounce|leftovers|calm|248,0,8,0,252,0|dazzlinggleam|healingwish|nuzzle|psychic": 1, - "steel|magicbounce|ejectbutton|bold|248,0,120,0,0,140|dazzlinggleam|healingwish|nuzzle|psychic": 1, - "water|magicbounce|leftovers|bold|0,0,244,252,0,12|drainingkiss|mysticalfire|psyshock|trickroom": 1, - "psychic|triage|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|mysticalfire|storedpower": 1, - "steel|magicbounce|leftovers|bold|248,0,196,0,0,64|calmmind|drainingkiss|healingwish|psyshock": 1, - "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|mysticalfire": 1, - "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|psyshock": 3, - "psychic|triage|covertcloak|bold|252,0,252,0,4,0|calmmind|drainingkiss|mysticalfire|psyshock": 1, - "water|magicbounce|focussash|sassy|252,4,0,0,252,0|drainingkiss|healingwish|nuzzle|trickroom": 1, - "water|magicbounce|ejectbutton|bold|252,0,252,4,0,0|calmmind|drainingkiss|nuzzle|psyshock": 1, - "psychic|triage|choicespecs|modest|252,0,0,252,0,4|drainingkiss|mysticalfire|psyshock|shadowball": 1, - "psychic|triage|leftovers|modest|252,0,0,252,4,0|calmmind|drainingkiss|mysticalfire|psyshock": 1, - "psychic|triage|assaultvest|quiet|252,0,4,252,0,0|drainingkiss|gigadrain|nuzzle|psyshock": 1, - "ground|magicbounce|focussash|quiet|252,0,0,252,4,0|dazzlinggleam|healingwish|psyshock|trickroom": 1, - "grass|magicbounce|leftovers|modest|252,0,78,178,0,0|aromatherapy|drainingkiss|mysticalfire|psyshock": 1, - "fairy|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|mysticalfire|psyshock": 1, - "fire|magicbounce|lifeorb|quiet|252,0,0,252,4,0|flamethrower|icebeam|moonblast|psyshock": 1, - "psychic|magicbounce|lifeorb|quiet|252,0,0,252,4,0|flamethrower|icebeam|moonblast|psyshock": 1 - }, - "slowking": { - "water|regenerator|heavydutyboots|sassy|248,0,252,0,8,0|chillingwater|chillyreception|slackoff|trickroom": 1, - "water|regenerator|icyrock|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf": 1, - "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf": 4, - "ice|oblivious|icyrock|calm|252,0,0,4,252,0|chillyreception|futuresight|icebeam|protect": 1, - "water|regenerator|heavydutyboots|sassy|252,0,0,4,252,0|chillyreception|slackoff|surf|trickroom": 2, - "fairy|regenerator|icyrock|modest|252,0,0,132,124,0|chillyreception|fireblast|futuresight|surf": 2, - "fairy|regenerator|leftovers|relaxed|252,0,252,4,0,0|chillyreception|flamethrower|psyshock|trickroom": 1, - "water|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillyreception|futuresight|slackoff|surf": 2, - "water|regenerator|heavydutyboots|sassy|252,0,4,0,252,0|chillyreception|flamethrower|futuresight|slackoff": 1, - "|regenerator|leftovers|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff": 1, - "fairy|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillyreception|futuresight|slackoff|yawn": 1, - "fairy|regenerator|covertcloak|calm|252,0,0,0,212,44|chillingwater|chillyreception|futuresight|slackoff": 1, - "fighting|regenerator|leftovers|bold|248,0,252,0,8,0|chillingwater|chillyreception|futuresight|slackoff": 1, - "water|regenerator|heavydutyboots|serious|252,0,52,0,144,60|chillyreception|futuresight|surf|trickroom": 1, - "psychic|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff": 1, - "fairy|regenerator|colburberry|calm|252,0,56,0,200,0|chillingwater|chillyreception|slackoff|thunderwave": 2, - "water|regenerator|icyrock|sassy|252,0,200,0,56,0|chillyreception|futuresight|slackoff|thunderwave": 1, - "water|regenerator|leftovers|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff": 1, - "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillingwater|chillyreception|futuresight|slackoff": 1, - "water|fluffy|leftovers|relaxed|252,0,128,0,128,0|chillingwater|chillyreception|futuresight|slackoff": 1 - }, - "rabsca": { - "fairy|synchronize|leppaberry|quiet|248,0,0,252,8,0|bugbuzz|psychic|revivalblessing|trickroom": 1, - "fairy|synchronize|leppaberry|calm|252,0,0,4,252,0|bugbuzz|rest|revivalblessing|sleeptalk": 1, - "steel|synchronize|leppaberry|calm|252,0,4,0,252,0|bugbuzz|psychic|revivalblessing|trickroom": 1 - }, - "kingambit": { - "dark|supremeoverlord|blackglasses|brave|248,252,0,0,8,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "fairy|supremeoverlord|leftovers|adamant|232,48,32,0,180,16|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "flying|supremeoverlord|leftovers|adamant|108,252,0,0,0,148|ironhead|kowtowcleave|suckerpunch|swordsdance": 3, - "dark|defiant|blackglasses|adamant|120,252,0,0,0,136|ironhead|knockoff|suckerpunch|swordsdance": 1, - "dark|supremeoverlord|blackglasses|adamant|104,252,0,0,4,148|ironhead|kowtowcleave|suckerpunch|swordsdance": 3, - "flying|supremeoverlord|blackglasses|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "ghost|supremeoverlord|lifeorb|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 4, - "psychic|supremeoverlord|assaultvest|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|zenheadbutt": 1, - "fairy|supremeoverlord|leftovers|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "flying|supremeoverlord|blackglasses|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 2, - "flying|supremeoverlord|leftovers|adamant|152,252,0,0,0,104|ironhead|kowtowcleave|suckerpunch|swordsdance": 2, - "dark|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 2, - "fire|supremeoverlord|leftovers|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance": 2, - "flying|supremeoverlord|leftovers|adamant|116,252,0,0,0,140|ironhead|kowtowcleave|stealthrock|suckerpunch": 1, - "ghost|supremeoverlord|blackglasses|brave|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 2, - "poison|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "dark|adaptability|lifeorb|adamant|252,252,0,0,4,0|ironhead|stealthrock|suckerpunch|swordsdance": 1, - "fairy|supremeoverlord|lumberry|adamant|100,252,0,0,4,152|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "flying|supremeoverlord|heavydutyboots|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|stealthrock|suckerpunch": 1, - "flying|supremeoverlord|leftovers|adamant|232,48,32,0,180,16|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "dark|supremeoverlord|blackglasses|adamant|212,252,0,0,0,44|ironhead|knockoff|suckerpunch|swordsdance": 1, - "dark|supremeoverlord|leftovers|adamant|252,196,0,0,60,0|kowtowcleave|stealthrock|suckerpunch|swordsdance": 1, - "fairy|supremeoverlord|leftovers|adamant|248,56,0,0,204,0|ironhead|kowtowcleave|suckerpunch|swordsdance": 1, - "dark|defiant|leftovers|careful|4,252,0,0,252,0|ironhead|suckerpunch|taunt|thunderwave": 1, - "dark|supremeoverlord|blackglasses|adamant|48,252,0,0,0,208|ironhead|kowtowcleave|suckerpunch|swordsdance": 1 - }, - "ironhands": { - "fairy|quarkdrive|leftovers|brave|208,252,0,0,48,0|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "water|quarkdrive|leftovers|adamant|104,152,0,0,252,0|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "flying|quarkdrive|airballoon|careful|252,252,0,0,4,0|drainpunch|earthquake|swordsdance|wildcharge": 1, - "electric|quarkdrive|punchingglove|adamant|164,252,0,0,0,92|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "fighting|triage|sitrusberry|adamant|116,252,0,0,0,140|bellydrum|drainpunch|earthquake|thunderpunch": 2, - "fighting|wellbakedbody|leftovers|adamant|0,44,0,0,248,216|drainpunch|earthquake|heavyslam|swordsdance": 1, - "fighting|icescales|lumberry|adamant|0,44,0,0,248,216|drainpunch|earthquake|heavyslam|swordsdance": 1, - "flying|triage|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|drainpunch|icepunch|thunderpunch": 1, - "water|quarkdrive|leftovers|adamant|0,252,4,0,252,0|drainpunch|earthquake|swordsdance|wildcharge": 1, - "steel|quarkdrive|assaultvest|adamant|252,252,4,0,0,0|drainpunch|fakeout|heavyslam|wildcharge": 1, - "grass|quarkdrive|boosterenergy|jolly|64,0,4,0,252,188|drainpunch|swordsdance|terablast|thunderpunch": 1, - "steel|quarkdrive|leftovers|adamant|252,252,0,0,4,0|drainpunch|earthquake|heavyslam|thunderpunch": 1, - "steel|quarkdrive|leftovers|adamant|212,252,0,0,0,44|drainpunch|earthquake|heavyslam|thunderpunch": 1, - "flying|quarkdrive|leftovers|adamant|0,252,116,0,140,0|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "electric|quarkdrive|choiceband|adamant|56,200,252,0,0,0|closecombat|earthquake|icepunch|wildcharge": 1, - "flying|quarkdrive|boosterenergy|brave|248,252,0,0,8,0|closecombat|icepunch|swordsdance|wildcharge": 2, - "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|brickbreak|drainpunch|earthquake|fakeout": 1, - "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|brickbreak|drainpunch|earthquake|thunderpunch": 1, - "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|drainpunch|earthquake|fakeout|thunderpunch": 1, - "fighting|triage|sitrusberry|careful|252,0,4,0,252,0|bellydrum|drainpunch|earthquake|thunderpunch": 1, - "fighting|triage|sitrusberry|adamant|252,252,4,0,0,0|bellydrum|drainpunch|earthquake|thunderpunch": 1, - "fighting|triage|lifeorb|adamant|252,116,0,0,0,140|bellydrum|closecombat|drainpunch|wildcharge": 1, - "flying|quarkdrive|punchingglove|adamant|248,252,0,0,8,0|drainpunch|earthquake|swordsdance|thunderpunch": 2, - "fighting|harvest|sitrusberry|adamant|4,236,248,0,0,20|focuspunch|icepunch|substitute|wildcharge": 1, - "fighting|quarkdrive|punchingglove|brave|248,252,0,8,0,0|drainpunch|earthquake|swordsdance|thunderpunch": 1, - "fighting|quarkdrive|sitrusberry|brave|4,252,0,0,252,0|bellydrum|drainpunch|icepunch|thunderpunch": 1, - "flying|quarkdrive|punchingglove|adamant|232,252,0,0,24,0|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "flying|quarkdrive|leftovers|adamant|252,252,0,0,4,0|drainpunch|icepunch|swordsdance|thunderpunch": 1, - "fighting|ironfist|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|drainpunch|machpunch|thunderpunch": 1, - "fighting|ironfist|choiceband|brave|248,252,0,0,8,0|closecombat|earthquake|icepunch|thunderpunch": 1, - "fighting|ironfist|choiceband|brave|248,252,0,0,8,0|drainpunch|icepunch|machpunch|thunderpunch": 1 - }, - "tyranitar": { - "fairy|sandstream|loadeddice|brave|248,252,0,0,8,0|curse|earthquake|icepunch|rockblast": 1, - "rock|sandstream|leftovers|adamant|48,116,172,0,172,0|crunch|earthquake|pursuit|stoneedge": 1, - "fairy|sandstream|leftovers|careful|248,0,8,0,252,0|earthquake|rockblast|stealthrock|thunderwave": 1, - "fairy|sandstream|leftovers|careful|252,0,0,0,252,0|dragontail|foulplay|rocktomb|stealthrock": 1, - "rock|sheerforce|lifeorb|modest|252,0,0,252,4,0|earthpower|flamethrower|icebeam|thunderbolt": 1, - "ghost|sandstream|assaultvest|impish|252,0,176,0,80,0|bodypress|earthquake|foulplay|stoneedge": 2 - }, - "grimmsnarl": { - "ghost|prankster|lightclay|calm|248,0,8,0,252,0|lightscreen|partingshot|reflect|taunt": 1, - "dark|prankster|lightclay|careful|252,4,0,0,252,0|lightscreen|partingshot|reflect|spiritbreak": 2, - "ghost|prankster|lightclay|careful|252,0,0,0,248,8|lightscreen|partingshot|reflect|taunt": 1, - "dark|wellbakedbody|leftovers|adamant|220,152,0,0,0,136|bulkup|crunch|playrough|suckerpunch": 1, - "fire|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt": 1, - "steel|prankster|lightclay|careful|248,0,8,0,252,0|lightscreen|reflect|spiritbreak|taunt": 3, - "steel|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt": 3, - "fairy|prankster|lightclay|careful|252,0,4,0,252,0|lightscreen|reflect|spiritbreak|taunt": 1, - "|prankster|lightclay|bold|252,0,252,0,4,0|lightscreen|partingshot|reflect|taunt": 1, - "fairy|prankster|lightclay|careful|252,0,4,0,252,0|lightscreen|partingshot|reflect|spiritbreak": 1, - "ghost|prankster|lightclay|jolly|248,8,0,0,0,252|lightscreen|partingshot|reflect|taunt": 1, - "poison|prankster|lightclay|adamant|248,180,0,0,80,0|lightscreen|reflect|spiritbreak|taunt": 1, - "ghost|prankster|lightclay|impish|252,0,156,0,100,0|lightscreen|reflect|spiritbreak|taunt": 1, - "ghost|prankster|lightclay|bold|252,0,252,0,4,0|lightscreen|partingshot|reflect|taunt": 1 - }, - "orthworm": { - "fighting|eartheater|sitrusberry|careful|248,8,0,0,252,0|bodypress|heavyslam|shedtail|stealthrock": 1, - "steel|eartheater|leftovers|impish|252,4,252,0,0,0|ironhead|protect|shedtail|stealthrock": 1, - "fairy|eartheater|sitrusberry|impish|236,0,252,0,0,20|bodypress|metalburst|shedtail|stealthrock": 1, - "ghost|eartheater|sitrusberry|impish|252,4,236,0,0,16|bodypress|heavyslam|shedtail|spikes": 2, - "ghost|eartheater|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock": 4, - "electric|eartheater|sitrusberry|impish|248,8,252,0,0,0|bodypress|ironhead|shedtail|stealthrock": 1, - "ghost|eartheater|sitrusberry|impish|252,0,252,0,4,0|ironhead|shedtail|spikes|stealthrock": 1, - "steel|eartheater|sitrusberry|careful|252,0,0,0,252,0|bodypress|coil|heavyslam|shedtail": 1, - "ghost|eartheater|sitrusberry|careful|248,0,8,0,252,0|bodypress|heavyslam|shedtail|stealthrock": 2, - "steel|eartheater|sitrusberry|careful|248,0,8,0,252,0|bodypress|coil|ironhead|shedtail": 1, - "steel|regenerator|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock": 1, - "water|eartheater|sitrusberry|adamant|252,252,0,0,4,0|bodypress|earthquake|shedtail|stealthrock": 1, - "steel|eartheater|rockyhelmet|bold|252,0,248,0,8,0|bodypress|rest|shedtail|sleeptalk": 1 - }, - "flittle": { - "fire|speedboost|eviolite|bold|248,0,252,8,0,0|calmmind|roost|storedpower|terablast": 1 - }, - "espathra": { - "fairy|speedboost|leftovers|timid|216,0,252,0,0,40|calmmind|dazzlinggleam|roost|storedpower": 1, - "fairy|speedboost|leftovers|modest|248,0,8,252,0,0|calmmind|dazzlinggleam|protect|storedpower": 2, - "fighting|speedboost|weaknesspolicy|bold|252,0,252,4,0,0|calmmind|roost|storedpower|terablast": 1, - "fairy|speedboost|leftovers|bold|248,0,228,0,0,32|calmmind|dazzlinggleam|roost|storedpower": 1, - "fighting|speedboost|twistedspoon|modest|0,0,0,252,4,252|calmmind|protect|storedpower|terablast": 1, - "fighting|speedboost|leftovers|modest|252,0,4,252,0,0|calmmind|protect|storedpower|terablast": 1, - "fairy|speedboost|leftovers|bold|248,0,236,0,20,4|calmmind|dazzlinggleam|roost|storedpower": 2, - "fairy|speedboost|leftovers|bold|252,0,224,0,0,32|calmmind|dazzlinggleam|protect|storedpower": 1, - "fairy|speedboost|leftovers|bold|252,0,252,0,0,4|calmmind|dazzlinggleam|protect|storedpower": 1 - }, - "haxorus": { - "ground|moldbreaker|leftovers|adamant|176,112,0,0,0,220|dragonclaw|dragondance|earthquake|taunt": 1, - "fighting|moldbreaker|choiceband|jolly|0,252,0,0,4,252|closecombat|firstimpression|outrage|poisonjab": 1, - "electric|moldbreaker|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|ironhead|terablast": 1, - "dragon|moldbreaker|focussash|jolly|0,252,0,0,4,252|closecombat|dragonclaw|dragondance|earthquake": 1, - "fire|moldbreaker|lumberry|jolly|248,80,0,0,4,176|dragonclaw|dragondance|earthquake|terablast": 1, - "electric|moldbreaker|lifeorb|adamant|4,252,0,0,0,252|dragondance|earthquake|ironhead|terablast": 1 - }, - "arctibax": { - "ice|icebody|eviolite|adamant|0,252,4,0,0,252|iciclespear|protect|substitute|swordsdance": 1 - }, - "baxcalibur": { - "fairy|icebody|leftovers|jolly|180,0,0,0,128,200|dragondance|glaiverush|iciclespear|substitute": 1, - "ground|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear": 1, - "dragon|thermalexchange|loadeddice|adamant|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear": 1, - "water|icebody|leftovers|adamant|252,172,0,0,84,0|dragondance|glaiverush|iciclecrash|protect": 2, - "dragon|thermalexchange|choicescarf|jolly|0,252,0,0,4,252|earthquake|glaiverush|iciclecrash|iciclespear": 1, - "ice|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear": 1, - "dragon|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|iciclespear|substitute": 1, - "dragon|technician|loadeddice|adamant|64,252,64,0,0,128|bite|dragondance|iceshard|iciclespear": 1, - "steel|swiftswim|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|glaiverush|iciclecrash|swordsdance": 1, - "ice|icebody|leftovers|careful|248,0,0,0,252,8|dragondance|glaiverush|iceshard|iciclecrash": 1, - "dragon|thermalexchange|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclecrash": 2, - "dragon|technician|loadeddice|jolly|0,252,0,0,4,252|bite|dragondance|iceshard|iciclespear": 1, - "dragon|technician|loadeddice|adamant|0,252,0,0,4,252|dragondance|earthquake|iceshard|iciclespear": 1, - "fairy|thermalexchange|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|earthquake|glaiverush|iciclecrash": 1 - }, - "chienpao": { - "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword": 10, - "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|crunch|iceshard|icespinner|sacredsword": 2, - "dark|swordofruin|lifeorb|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|swordsdance": 1, - "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword": 3, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword": 1, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|ruination|suckerpunch": 1, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|suckerpunch|swordsdance": 3, - "ghost|swordofruin|choicescarf|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword": 1, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance": 1, - "fighting|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword": 1, - "electric|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|terablast": 1, - "dark|swordofruin|focussash|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch": 3, - "dark|swordofruin|lifeorb|jolly|0,252,0,0,4,252|crunch|icespinner|suckerpunch|swordsdance": 1, - "ice|swordofruin|choiceband|jolly|0,252,0,0,4,252|iceshard|iciclecrash|sacredsword|suckerpunch": 1, - "dark|swordofruin|heavydutyboots|adamant|0,252,4,0,0,252|crunch|icespinner|sacredsword|suckerpunch": 3, - "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|suckerpunch": 2, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iciclecrash|suckerpunch|swordsdance": 3, - "poison|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance": 3, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch": 2, - "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword": 1, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|suckerpunch": 1, - "ghost|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|icespinner|psychicfangs|suckerpunch|swordsdance": 1, - "fighting|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword": 1, - "dark|swordofruin|lifeorb|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch": 1, - "ice|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance": 1, - "ghost|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|crunch|icespinner|sacredsword|suckerpunch": 1, - "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch": 1, - "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|swordsdance": 1, - "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|crunch|iciclecrash|sacredsword|suckerpunch": 2, - "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword": 1, - "ice|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword": 2, - "dark|swordofruin|blackglasses|adamant|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch": 1, - "poison|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword": 1, - "dark|dazzling|choicescarf|adamant|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword": 1, - "dark|queenlymajesty|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword": 1, - "dark|sharpness|choiceband|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|sacredsword": 1, - "fighting|swordofruin|leftovers|jolly|32,116,200,0,0,160|crunch|recover|sacredsword|swordsdance": 1, - "dark|swordofruin|choiceband|jolly|0,252,4,0,0,252|crunch|iciclecrash|sacredsword|suckerpunch": 1, - "dark|magicguard|lifeorb|jolly|0,252,0,0,4,252|crunch|iciclecrash|suckerpunch|swordsdance": 1, - "dark|magicguard|lifeorb|jolly|0,252,0,0,4,252|crunch|iciclecrash|sacredsword|swordsdance": 2, - "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|beatup|crunch|iciclecrash|sacredsword": 1, - "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|icespinner|sacredsword|suckerpunch|throatchop": 1 - }, - "garganacl": { - "fairy|purifyingsalt|leftovers|careful|248,0,8,0,252,0|bodypress|irondefense|recover|saltcure": 3, - "water|purifyingsalt|leftovers|impish|248,0,252,0,8,0|protect|recover|saltcure|stealthrock": 2, - "fairy|purifyingsalt|leftovers|impish|248,0,196,0,56,8|protect|recover|saltcure|stealthrock": 3, - "fairy|purifyingsalt|leftovers|impish|236,0,172,0,88,12|protect|recover|saltcure|stealthrock": 2, - "electric|purifyingsalt|leftovers|careful|216,0,40,0,252,0|bodypress|irondefense|recover|saltcure": 1, - "water|purifyingsalt|heavydutyboots|careful|252,0,0,0,236,20|earthquake|heavyslam|recover|saltcure": 1, - "fairy|purifyingsalt|leftovers|impish|252,0,236,0,0,20|protect|recover|saltcure|stealthrock": 9, - "water|purifyingsalt|leftovers|careful|252,4,0,0,252,0|bodypress|irondefense|recover|saltcure": 3, - "ghost|purifyingsalt|leftovers|careful|248,0,8,0,252,0|bodypress|irondefense|recover|saltcure": 2, - "water|purifyingsalt|heavydutyboots|impish|252,4,252,0,0,0|bodypress|recover|saltcure|stealthrock": 1, - "fairy|purifyingsalt|leftovers|careful|252,0,4,0,252,0|protect|recover|saltcure|stealthrock": 3, - "rock|purifyingsalt|leftovers|careful|252,0,4,0,252,0|bodypress|protect|saltcure|stealthrock": 1, - "water|purifyingsalt|leftovers|impish|252,4,252,0,0,0|bodypress|irondefense|recover|saltcure": 1, - "fairy|purifyingsalt|leftovers|impish|252,4,148,0,104,0|bodypress|irondefense|recover|saltcure": 1, - "steel|purifyingsalt|assaultvest|adamant|0,252,0,0,4,252|earthquake|firepunch|icepunch|rockslide": 1, - "water|purifyingsalt|leftovers|impish|252,0,228,0,28,0|protect|recover|saltcure|stealthrock": 1, - "ghost|purifyingsalt|iapapaberry|careful|252,0,4,0,252,0|bodypress|curse|recover|saltcure": 1, - "water|purifyingsalt|leftovers|impish|252,0,100,0,156,0|protect|recover|saltcure|stealthrock": 1, - "rock|sandstream|leftovers|impish|252,0,252,0,4,0|bodypress|irondefense|recover|saltcure": 1, - "rock|levitate|leftovers|impish|252,4,252,0,0,0|bodypress|protect|saltcure|stealthrock": 1, - "rock|sandstream|smoothrock|careful|252,4,98,0,154,0|bodypress|irondefense|recover|saltcure": 1, - "ghost|purifyingsalt|leftovers|impish|252,4,252,0,0,0|curse|recover|saltcure|stealthrock": 1, - "fighting|purifyingsalt|leftovers|adamant|252,252,0,0,4,0|bodypress|earthquake|heavyslam|irondefense": 1, - "rock|sandstream|leftovers|impish|252,0,144,0,112,0|protect|recover|saltcure|stealthrock": 1, - "water|purifyingsalt|leftovers|impish|248,0,252,0,8,0|block|recover|saltcure|stealthrock": 1, - "rock|sandstream|leftovers|careful|252,4,0,0,252,0|protect|recover|saltcure|stealthrock": 1, - "rock|sandstream|leftovers|careful|252,4,0,0,252,0|curse|earthquake|recover|saltcure": 1, - "fairy|purifyingsalt|leftovers|careful|248,0,84,0,176,0|knockoff|recover|saltcure|spikes": 1, - "rock|goodasgold|leftovers|careful|252,4,0,0,252,0|protect|recover|saltcure|stealthrock": 1 - }, - "irontreads": { - "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock": 3, - "ground|quarkdrive|assaultvest|jolly|248,0,0,0,156,104|earthquake|knockoff|rapidspin|voltswitch": 1, - "steel|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|rapidspin": 1, - "flying|quarkdrive|boosterenergy|naive|0,252,4,0,0,252|earthquake|icespinner|rapidspin|voltswitch": 1, - "ground|quarkdrive|choicescarf|jolly|0,252,0,0,4,252|earthquake|icespinner|rapidspin|voltswitch": 1, - "ground|eartheater|leftovers|jolly|0,0,0,0,252,252|earthquake|knockoff|rapidspin|stealthrock": 1, - "ground|wellbakedbody|leftovers|jolly|252,0,0,0,152,104|earthquake|knockoff|rapidspin|voltswitch": 1, - "ground|eartheater|assaultvest|jolly|0,252,0,0,4,252|earthquake|ironhead|rapidspin|stoneedge": 1, - "ground|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock": 1, - "ground|quarkdrive|airballoon|jolly|0,252,0,0,4,252|earthquake|icespinner|ironhead|rapidspin": 1, - "water|quarkdrive|assaultvest|jolly|104,180,0,0,0,224|earthquake|knockoff|rapidspin|voltswitch": 2, - "ground|quarkdrive|leftovers|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock": 1, - "ground|quarkdrive|leftovers|jolly|248,0,0,0,8,252|earthquake|ironhead|knockoff|rapidspin": 1, - "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|heavyslam|knockoff|rapidspin": 1, - "water|quarkdrive|assaultvest|jolly|252,0,0,0,4,252|ironhead|knockoff|rapidspin|voltswitch": 1, - "ghost|quarkdrive|leftovers|jolly|248,8,0,0,0,252|earthquake|rapidspin|stealthrock|voltswitch": 1, - "ground|quarkdrive|assaultvest|careful|252,4,0,0,252,0|earthquake|knockoff|rapidspin|voltswitch": 1, - "ground|quarkdrive|assaultvest|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|rapidspin": 1, - "ground|quarkdrive|assaultvest|calm|252,0,4,0,252,0|earthquake|knockoff|rapidspin|voltswitch": 1, - "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|stealthrock": 1, - "water|quarkdrive|leftovers|jolly|0,104,0,0,152,252|earthquake|icespinner|rapidspin|stealthrock": 1, - "water|quarkdrive|assaultvest|careful|252,0,4,0,252,0|earthquake|knockoff|rapidspin|voltswitch": 1, - "ground|regenerator|assaultvest|careful|252,0,0,0,252,4|earthquake|knockoff|rapidspin|voltswitch": 2, - "ground|goodasgold|focussash|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock": 1, - "fairy|quarkdrive|leftovers|jolly|252,4,0,0,0,252|earthquake|rapidspin|stealthrock|voltswitch": 1, - "ground|quarkdrive|boosterenergy|jolly|0,196,0,0,60,252|earthquake|knockoff|rapidspin|stealthrock": 1, - "dark|quarkdrive|assaultvest|jolly|0,56,0,0,200,252|earthquake|ironhead|knockoff|rapidspin": 1 - }, - "brambleghast": { - "water|infiltrator|colburberry|timid|248,0,28,0,0,232|rapidspin|shadowball|spikes|strengthsap": 1, - "water|windrider|leftovers|calm|252,0,4,0,252,0|curse|leechseed|rapidspin|strengthsap": 1, - "steel|windrider|heavydutyboots|impish|252,0,252,0,0,4|powerwhip|rapidspin|spikes|strengthsap": 1, - "|windrider|powerherb|jolly|0,252,0,0,4,252|phantomforce|powerwhip|rapidspin|strengthsap": 1, - "grass|goodasgold|focussash|jolly|0,252,0,0,4,252|powerwhip|rapidspin|shadowsneak|spikes": 1 - }, - "gholdengo": { - "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 10, - "dark|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|airballoon|calm|248,0,0,0,188,72|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|steeliumz|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt": 1, - "flying|goodasgold|covertcloak|modest|248,0,108,72,0,80|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|covertcloak|modest|160,0,44,68,0,236|makeitrain|nastyplot|recover|shadowball": 1, - "fighting|goodasgold|leftovers|timid|4,0,0,252,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "fighting|goodasgold|leftovers|modest|228,0,0,252,0,28|makeitrain|nastyplot|recover|shadowball": 2, - "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 2, - "flying|goodasgold|covertcloak|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball": 3, - "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 5, - "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick": 3, - "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|trick": 2, - "steel|stormdrain|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick": 1, - "steel|eartheater|choicescarf|timid|252,0,0,0,4,252|nastyplot|recover|shadowball|trick": 1, - "flying|goodasgold|covertcloak|modest|252,0,16,44,176,20|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|covertcloak|bold|252,0,152,0,0,104|makeitrain|nastyplot|recover|shadowball": 1, - "fighting|goodasgold|airballoon|timid|224,0,0,32,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "ghost|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 3, - "flying|goodasgold|covertcloak|bold|252,0,252,0,4,0|makeitrain|nastyplot|recover|shadowball": 1, - "ghost|goodasgold|airballoon|timid|4,0,0,252,0,252|makeitrain|nastyplot|psyshock|shadowball": 1, - "steel|goodasgold|airballoon|timid|0,0,4,252,0,252|makeitrain|nastyplot|recover|shadowball": 2, - "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt": 3, - "steel|goodasgold|leftovers|modest|252,0,0,252,0,4|makeitrain|nastyplot|recover|shadowball": 2, - "ghost|goodasgold|choicescarf|timid|0,0,32,252,0,224|focusblast|makeitrain|shadowball|trick": 1, - "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderwave": 1, - "fairy|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick": 1, - "fighting|goodasgold|airballoon|timid|252,0,0,4,0,252|focusblast|makeitrain|nastyplot|shadowball": 1, - "fighting|goodasgold|choicescarf|timid|44,0,0,252,0,212|makeitrain|nastyplot|shadowball|trick": 1, - "ghost|goodasgold|covertcloak|modest|244,0,0,252,12,0|makeitrain|recover|shadowball|thunderbolt": 1, - "grass|goodasgold|covertcloak|calm|252,0,0,0,232,24|makeitrain|nastyplot|recover|shadowball": 1, - "steel|goodasgold|airballoon|modest|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball": 1, - "dark|goodasgold|choicespecs|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick": 3, - "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick": 1, - "flying|goodasgold|covertcloak|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|heavydutyboots|modest|252,0,252,4,0,0|makeitrain|nastyplot|recover|shadowball": 2, - "flying|goodasgold|covertcloak|modest|248,0,108,48,0,104|makeitrain|nastyplot|recover|shadowball": 1, - "water|goodasgold|covertcloak|bold|252,0,152,0,0,104|makeitrain|nastyplot|recover|shadowball": 1, - "steel|goodasgold|lifeorb|timid|0,0,0,252,4,252|focusblast|makeitrain|nastyplot|shadowball": 1, - "flying|goodasgold|covertcloak|modest|176,0,0,252,12,68|makeitrain|nastyplot|recover|shadowball": 3, - "flying|goodasgold|covertcloak|timid|252,0,0,4,0,252|makeitrain|nastyplot|shadowball|thunderbolt": 1, - "fighting|goodasgold|covertcloak|timid|116,0,140,0,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "flying|goodasgold|heavydutyboots|modest|252,0,184,0,0,72|makeitrain|nastyplot|recover|shadowball": 1, - "ghost|goodasgold|choicescarf|timid|0,0,4,252,0,252|dazzlinggleam|makeitrain|shadowball|trick": 1, - "normal|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 1, - "flying|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderwave": 1, - "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick": 2, - "steel|goodasgold|airballoon|modest|156,0,0,252,0,100|makeitrain|nastyplot|shadowball|substitute": 1, - "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick": 2, - "dark|goodasgold|airballoon|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "ghost|goodasgold|laggingtail|modest|252,0,0,252,0,4|focusblast|makeitrain|shadowball|trick": 1, - "dark|goodasgold|choicescarf|timid|0,0,4,252,0,252|focusblast|makeitrain|shadowball|trick": 1, - "fighting|goodasgold|choicescarf|timid|0,0,84,252,0,172|focusblast|makeitrain|shadowball|trick": 1, - "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|makeitrain|shadowball|trick": 2, - "fighting|goodasgold|airballoon|timid|0,0,0,252,4,252|focusblast|makeitrain|nastyplot|shadowball": 1, - "steel|purifyingsalt|leftovers|calm|248,0,0,8,252,0|makeitrain|nastyplot|recover|shadowball": 1, - "steel|eartheater|leftovers|modest|252,0,0,252,4,0|nastyplot|recover|shadowball|substitute": 1, - "steel|primordialsea|leftovers|modest|252,0,0,156,100,0|makeitrain|recover|shadowball|thunder": 1, - "steel|levitate|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|recover|shadowball": 1, - "steel|goodasgold|covertcloak|bold|252,0,252,0,4,0|makeitrain|nastyplot|recover|shadowball": 2, - "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|flashcannon|makeitrain|shadowball": 1, - "fairy|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball": 1, - "fighting|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball": 1, - "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|trick": 1, - "flying|goodasgold|covertcloak|modest|224,0,0,252,4,28|focusblast|makeitrain|recover|shadowball": 1, - "fighting|goodasgold|airballoon|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "steel|eartheater|choicescarf|timid|16,0,0,240,0,252|makeitrain|psyshock|shadowball|trick": 1, - "steel|unaware|airballoon|timid|0,0,0,252,4,252|hex|makeitrain|shadowball|thunderwave": 1, - "steel|eartheater|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick": 2, - "flying|goodasgold|leftovers|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball": 1, - "steel|goodasgold|covertcloak|modest|248,0,16,44,176,24|makeitrain|nastyplot|recover|shadowball": 1, - "steel|goodasgold|choicespecs|modest|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick": 1, - "steel|magicguard|lifeorb|timid|0,0,0,252,4,252|nastyplot|recover|shadowball|steelbeam": 1, - "steel|wellbakedbody|leftovers|calm|248,0,8,0,252,0|nastyplot|recover|shadowball|substitute": 2, - "steel|bulletproof|leftovers|calm|248,0,0,8,252,0|hex|makeitrain|recover|thunderwave": 1, - "steel|bulletproof|leftovers|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|substitute": 1, - "steel|goodasgold|metalcoat|modest|224,0,0,252,0,32|makeitrain|nastyplot|recover|shadowball": 1, - "fairy|goodasgold|leftovers|modest|192,0,0,252,0,64|makeitrain|nastyplot|recover|shadowball": 1, - "ghost|goodasgold|heavydutyboots|modest|252,0,0,252,0,4|makeitrain|nastyplot|recover|shadowball": 1, - "steel|goodasgold|airballoon|modest|0,0,4,252,0,252|makeitrain|psychic|shadowball|thunderbolt": 1, - "flying|goodasgold|covertcloak|bold|252,0,252,4,0,0|hex|makeitrain|recover|thunderwave": 1, - "fighting|goodasgold|covertcloak|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunder": 1, - "fairy|goodasgold|choicespecs|timid|0,0,0,252,4,252|focusblast|makeitrain|powergem|shadowball": 1 - }, - "dragapult": { - "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 8, - "fire|infiltrator|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|dragondarts|phantomforce|terablast": 1, - "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunder|uturn": 3, - "ghost|infiltrator|choiceband|adamant|0,252,0,0,4,252|dragondarts|facade|terablast|uturn": 1, - "ghost|infiltrator|choicescarf|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|hydropump|shadowball|uturn": 1, - "dragon|infiltrator|choicescarf|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "ghost|infiltrator|choiceband|adamant|0,252,0,0,4,252|dragondarts|suckerpunch|terablast|uturn": 1, - "dragon|regenerator|heavydutyboots|timid|108,0,0,148,0,252|dracometeor|hex|uturn|willowisp": 1, - "dragon|furcoat|heavydutyboots|timid|64,0,0,192,0,252|dracometeor|hex|uturn|willowisp": 1, - "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn": 3, - "ghost|clearbody|choiceband|hasty|0,252,0,4,0,252|dragondarts|suckerpunch|terablast|uturn": 1, - "fire|clearbody|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 1, - "electric|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "ghost|infiltrator|choicescarf|modest|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "ghost|infiltrator|lifeorb|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "dragon|clearbody|ghostiumz|jolly|0,252,0,0,4,252|dragondance|dragondarts|phantomforce|substitute": 1, - "ghost|infiltrator|choiceband|lonely|0,252,0,4,0,252|dragondarts|suckerpunch|terablast|uturn": 1, - "dragon|infiltrator|heavydutyboots|hasty|0,76,0,180,0,252|dragondarts|hex|uturn|willowisp": 1, - "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 1, - "electric|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunder|uturn": 1, - "fairy|infiltrator|heavydutyboots|naive|0,96,0,204,0,208|dragondarts|hex|uturn|willowisp": 1, - "dragon|infiltrator|choicespecs|modest|0,0,52,252,0,204|dracometeor|shadowball|thunderbolt|uturn": 1, - "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "|infiltrator|heavydutyboots|naive|0,252,0,0,4,252|dragondarts|hex|uturn|willowisp": 1, - "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 2, - "|infiltrator|choicespecs|timid|0,0,4,252,0,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "ghost|clearbody|lifeorb|timid|4,0,0,252,0,252|dracometeor|flamethrower|shadowball|uturn": 1, - "ghost|infiltrator|lifeorb|timid|4,0,0,252,0,252|dracometeor|flamethrower|shadowball|uturn": 1, - "dragon|toxicdebris|lightclay|timid|252,0,0,4,0,252|lightscreen|reflect|shadowball|uturn": 1, - "dragon|solarpower|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn": 2, - "dragon|infiltrator|choicespecs|jolly|0,252,0,0,4,252|dracometeor|flamethrower|shadowball|thunderbolt": 1, - "ghost|infiltrator|choiceband|jolly|0,252,4,0,0,252|dragondarts|suckerpunch|terablast|uturn": 1, - "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn": 1, - "dragon|infiltrator|choicespecs|modest|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 2, - "fire|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn": 1, - "fighting|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|terablast|uturn": 1, - "fairy|clearbody|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|dragondarts|terablast|willowisp": 1, - "ghost|infiltrator|heavydutyboots|hasty|0,76,0,180,0,252|dragondarts|hex|uturn|willowisp": 1 - }, - "skeledirge": { - "fairy|unaware|heavydutyboots|sassy|248,0,8,0,252,0|hex|slackoff|torchsong|willowisp": 1, - "fire|unaware|throatspray|quiet|248,8,0,252,0,0|flamecharge|shadowball|slackoff|torchsong": 1, - "normal|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp": 1, - "fairy|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp": 2, - "water|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp": 4, - "water|unaware|heavydutyboots|calm|248,0,0,8,252,0|hex|slackoff|torchsong|willowisp": 3, - "fairy|unaware|leftovers|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp": 2, - "fire|unaware|throatspray|calm|248,0,0,8,252,0|shadowball|slackoff|torchsong|willowisp": 1, - "fairy|unaware|heavydutyboots|calm|248,0,0,0,248,12|hex|slackoff|torchsong|willowisp": 2, - "fairy|unaware|heavydutyboots|bold|248,0,252,8,0,0|shadowball|slackoff|torchsong|willowisp": 1, - "fire|unaware|assaultvest|modest|248,0,60,100,100,0|earthpower|firespin|shadowball|torchsong": 1, - "fairy|unaware|heavydutyboots|bold|252,0,164,0,92,0|hex|slackoff|torchsong|willowisp": 1, - "fire|unaware|assaultvest|modest|248,0,0,252,8,0|earthpower|hypervoice|shadowball|torchsong": 1, - "fire|unaware|assaultvest|modest|4,0,0,252,0,252|earthpower|fireblast|shadowball|torchsong": 1, - "flying|unaware|heavydutyboots|bold|252,0,252,0,0,4|hex|slackoff|torchsong|willowisp": 1, - "fire|unaware|leftovers|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp": 1, - "fairy|unaware|leftovers|calm|252,0,0,4,252,0|hex|slackoff|torchsong|willowisp": 1, - "fire|unaware|heavydutyboots|bold|252,0,252,4,0,0|shadowball|slackoff|torchsong|willowisp": 1, - "water|unaware|heavydutyboots|bold|252,0,252,0,0,4|slackoff|torchsong|willowisp|yawn": 1, - "fire|unaware|choicescarf|timid|0,0,0,252,4,252|earthpower|shadowball|solarbeam|torchsong": 1, - "fire|chlorophyll|throatspray|timid|0,0,0,252,4,252|earthpower|shadowball|solarbeam|torchsong": 1, - "fire|goodasgold|heavydutyboots|bold|252,0,236,0,0,20|hex|slackoff|torchsong|willowisp": 1, - "fire|unaware|metronome|modest|248,0,0,252,0,0|shadowball|slackoff|torchsong|yawn": 1, - "fairy|unaware|leftovers|calm|148,0,104,4,252,0|hex|slackoff|torchsong|willowisp": 1, - "fairy|unaware|leftovers|modest|220,0,0,252,36,0|earthpower|shadowball|substitute|torchsong": 1, - "water|unaware|heavydutyboots|relaxed|248,8,252,0,0,0|shadowball|slackoff|torchsong|zenheadbutt": 1 - }, - "pelipper": { - "ground|drizzle|damprock|relaxed|248,0,252,8,0,0|hurricane|roost|surf|uturn": 1, - "rock|drizzle|damprock|bold|248,0,252,8,0,0|defog|hurricane|terablast|uturn": 1, - "ground|drizzle|damprock|bold|248,0,132,0,128,0|hurricane|roost|surf|uturn": 1, - "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|knockoff|roost|uturn": 1, - "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn": 4, - "water|drizzle|damprock|relaxed|248,8,252,0,0,0|hurricane|knockoff|roost|uturn": 2, - "flying|drizzle|damprock|sassy|252,0,4,0,252,0|hurricane|roost|surf|uturn": 1, - "water|drizzle|damprock|bold|248,0,252,8,0,0|chillingwater|hurricane|roost|uturn": 1, - "dark|drizzle|damprock|bold|248,0,252,0,8,0|hurricane|roost|surf|uturn": 1, - "water|drizzle|damprock|modest|248,0,0,252,8,0|hurricane|icebeam|surf|uturn": 1, - "ground|drizzle|heavydutyboots|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn": 1, - "grass|drizzle|heavydutyboots|relaxed|248,0,252,0,8,0|hurricane|roost|thunderwave|uturn": 1, - "ground|drizzle|damprock|calm|248,0,16,24,220,0|hurricane|surf|tailwind|uturn": 1 - }, - "floatzel": { - "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|aquajet|icespinner|liquidation|wavecrash": 4, - "water|swiftswim|choiceband|adamant|180,252,0,0,0,76|aquajet|icespinner|liquidation|wavecrash": 1, - "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|brickbreak|icespinner|liquidation|wavecrash": 1, - "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|icespinner|liquidation|lowkick|wavecrash": 1, - "water|swiftswim|choiceband|adamant|112,252,0,0,0,144|aquajet|icespinner|liquidation|wavecrash": 1, - "water|swiftswim|mysticwater|adamant|0,252,0,0,4,252|aquajet|bulkup|icespinner|wavecrash": 1, - "water|waterveil|choiceband|jolly|0,252,0,0,4,252|aquajet|crunch|icespinner|wavecrash": 1 - }, - "ironjugulis": { - "flying|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|earthpower|hurricane|hydropump": 1, - "dark|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|earthpower|hurricane|uturn": 1, - "water|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|hurricane|hydropump|taunt": 1, - "flying|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|darkpulse|hurricane|hydropump|taunt": 1, - "dark|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|darkpulse|dragonpulse|sunnyday|uturn": 1, - "dark|swiftswim|choicespecs|modest|0,0,0,252,4,252|darkpulse|hurricane|hydropump|uturn": 1, - "dark|regenerator|heavydutyboots|timid|252,0,0,0,64,192|earthpower|knockoff|taunt|uturn": 1, - "dark|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|flashcannon|hurricane|hydropump": 1 - }, - "taurospaldeawater": { - "electric|intimidate|leftovers|impish|248,0,252,0,8,0|bodypress|bulkup|protect|ragingbull": 1, - "fighting|intimidate|choiceband|jolly|0,252,0,0,4,252|aquajet|closecombat|ragingbull|wavecrash": 1 - }, - "amoonguss": { - "water|regenerator|rockyhelmet|calm|248,0,176,0,84,0|foulplay|gigadrain|sludgebomb|spore": 1, - "flying|regenerator|rockyhelmet|bold|248,0,200,0,0,60|foulplay|grassknot|sludgebomb|spore": 4, - "normal|regenerator|rockyhelmet|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore": 2, - "water|regenerator|blacksludge|bold|252,0,132,0,0,124|clearsmog|gigadrain|spore|toxic": 1, - "grass|regenerator|blacksludge|calm|252,0,0,4,252,0|gigadrain|sludgebomb|spore|toxic": 1, - "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|foulplay|gigadrain|sludgebomb|spore": 1, - "water|regenerator|rockyhelmet|bold|252,0,220,0,36,0|clearsmog|gigadrain|sludgebomb|spore": 1, - "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|clearsmog|foulplay|gigadrain|spore": 2, - "water|regenerator|rockyhelmet|bold|248,0,252,0,8,0|foulplay|gigadrain|sludgebomb|spore": 1, - "water|regenerator|blacksludge|bold|252,0,128,0,84,44|foulplay|gigadrain|sludgebomb|spore": 1, - "psychic|regenerator|heavydutyboots|bold|248,0,252,0,8,0|clearsmog|grassknot|sludgebomb|spore": 1, - "grass|regenerator|leftovers|calm|252,0,0,4,252,0|foulplay|gigadrain|sludgebomb|spore": 1, - "water|regenerator|rockyhelmet|bold|252,0,172,0,84,0|foulplay|gigadrain|sludgebomb|spore": 1, - "water|regenerator|assaultvest|relaxed|216,28,176,0,88,0|clearsmog|gigadrain|sludgebomb|stompingtantrum": 2, - "water|regenerator|rockyhelmet|bold|252,0,252,0,4,0|clearsmog|foulplay|gigadrain|spore": 1, - "normal|regenerator|rockyhelmet|bold|252,0,252,0,4,0|clearsmog|foulplay|gigadrain|spore": 1, - "water|regenerator|covertcloak|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore": 1, - "fire|regenerator|blacksludge|bold|252,0,136,0,76,44|clearsmog|foulplay|grassknot|spore": 1, - "steel|regenerator|blacksludge|bold|252,0,216,0,40,0|clearsmog|gigadrain|spore|synthesis": 1, - "water|regenerator|rockyhelmet|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore": 1, - "steel|regenerator|leftovers|calm|248,0,0,8,252,0|clearsmog|foulplay|gigadrain|spore": 1, - "water|regenerator|ejectbutton|bold|252,0,252,0,0,4|foulplay|gigadrain|sludgebomb|spore": 1, - "grass|regenerator|blacksludge|sassy|252,0,0,4,252,0|gigadrain|protect|spore|stompingtantrum": 1, - "dragon|regenerator|rockyhelmet|bold|248,0,212,0,0,48|clearsmog|foulplay|grassknot|spore": 1, - "water|regenerator|blacksludge|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore": 1 - }, - "dudunsparce": { - "ghost|serenegrace|leftovers|modest|52,0,0,252,0,204|boomburst|glare|hex|roost": 1, - "fairy|rattled|leftovers|bold|248,0,204,0,0,56|boomburst|calmmind|roost|shadowball": 1, - "ghost|rattled|leftovers|bold|248,0,252,0,8,0|boomburst|calmmind|roost|shadowball": 1 - }, - "vespiquen": { - "ghost|pressure|heavydutyboots|careful|252,0,4,0,252,0|roost|toxic|toxicspikes|uturn": 1 - }, - "coalossal": { - "ghost|flamebody|heavydutyboots|jolly|252,0,252,0,0,4|rapidspin|rockblast|stealthrock|willowisp": 1, - "ghost|flamebody|heavydutyboots|jolly|252,0,252,0,0,4|rapidspin|rockblast|spikes|willowisp": 1 - }, - "basculin": { - "water|adaptability|choicescarf|jolly|0,252,0,0,0,252|aquajet|headsmash|sleeptalk|wavecrash": 1 - }, - "bellibolt": { - "electric|electromorphosis|leftovers|modest|16,0,88,252,152,0|muddywater|paraboliccharge|slackoff|voltswitch": 1, - "fairy|electromorphosis|heavydutyboots|bold|248,0,252,0,0,8|paraboliccharge|slackoff|soak|voltswitch": 1, - "ground|electromorphosis|magnet|quiet|252,0,28,164,64,0|paraboliccharge|soak|suckerpunch|weatherball": 1 - }, - "heracross": { - "steel|guts|flameorb|jolly|4,252,0,0,0,252|closecombat|megahorn|swordsdance|trailblaze": 1, - "rock|moxie|loadeddice|jolly|0,252,4,0,0,252|earthquake|pinmissile|rockblast|trailblaze": 1, - "dark|guts|flameorb|jolly|0,252,0,0,4,252|closecombat|facade|throatchop|trailblaze": 1, - "fighting|guts|choiceband|jolly|0,252,4,0,0,252|closecombat|earthquake|megahorn|stoneedge": 1, - "bug|technician|loadeddice|jolly|0,252,0,0,4,252|pinmissile|rockblast|swordsdance|trailblaze": 1 - }, - "greattusk": { - "fighting|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 2, - "steel|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "water|protosynthesis|assaultvest|jolly|208,0,0,0,252,48|closecombat|earthquake|knockoff|rapidspin": 1, - "water|protosynthesis|leftovers|impish|248,4,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock": 4, - "steel|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|icespinner|rapidspin": 1, - "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 5, - "fighting|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "water|protosynthesis|focussash|jolly|24,252,0,0,0,232|closecombat|headlongrush|rapidspin|stealthrock": 1, - "water|protosynthesis|leftovers|impish|248,8,192,0,0,60|bulkup|earthquake|knockoff|rapidspin": 3, - "ground|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "ground|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "water|protosynthesis|rockyhelmet|impish|216,0,252,0,0,40|bodypress|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|bulkup|closecombat|headlongrush|rapidspin": 1, - "ground|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|stoneedge": 1, - "grass|protosynthesis|rockyhelmet|impish|248,0,180,0,0,80|bodypress|earthquake|rapidspin|stealthrock": 1, - "water|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|rockyhelmet|impish|252,4,252,0,0,0|closecombat|earthquake|icespinner|rapidspin": 1, - "water|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 1, - "water|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|earthquake|rapidspin|stealthrock": 1, - "ground|regenerator|heavydutyboots|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|stealthrock": 1, - "fighting|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|knockoff|rapidspin|stealthrock": 3, - "ground|protosynthesis|groundiumz|adamant|216,180,32,0,0,80|closecombat|headlongrush|rapidspin|stealthrock": 1, - "fighting|protosynthesis|rockyhelmet|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|rapidspin": 1, - "water|protosynthesis|leftovers|jolly|0,252,0,0,4,252|headlongrush|knockoff|rapidspin|stealthrock": 1, - "water|protosynthesis|leftovers|impish|244,16,204,0,0,44|bodypress|earthquake|knockoff|rapidspin": 1, - "fairy|protosynthesis|leftovers|adamant|220,252,0,0,0,36|bulkup|closecombat|headlongrush|rapidspin": 1, - "fighting|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "fighting|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 3, - "ground|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|rapidspin|stealthrock": 1, - "ice|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 1, - "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 3, - "ground|protosynthesis|assaultvest|careful|252,8,0,0,248,0|closecombat|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|rockyhelmet|impish|252,0,224,0,32,0|bodypress|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|assaultvest|adamant|252,252,0,0,4,0|closecombat|headlongrush|knockoff|rapidspin": 1, - "water|protosynthesis|leftovers|impish|252,0,104,0,0,152|bulkup|earthquake|knockoff|rapidspin": 2, - "ghost|protosynthesis|leftovers|impish|252,0,204,0,0,52|earthquake|icespinner|knockoff|rapidspin": 2, - "dragon|protosynthesis|leftovers|impish|252,0,208,0,0,48|earthquake|knockoff|rapidspin|stealthrock": 1, - "steel|protosynthesis|assaultvest|impish|252,0,252,0,4,0|bodypress|earthquake|knockoff|rapidspin": 1, - "water|protosynthesis|leftovers|jolly|252,0,0,0,192,64|bulkup|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|heavydutyboots|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin": 1, - "water|protosynthesis|leftovers|impish|252,0,176,0,0,80|bodypress|knockoff|rapidspin|stealthrock": 1, - "ground|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "ground|protosynthesis|assaultvest|adamant|16,252,0,0,0,240|earthquake|icespinner|knockoff|rapidspin": 1, - "fighting|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock": 4, - "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock": 1, - "ghost|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock": 1, - "water|protosynthesis|leftovers|impish|248,16,164,0,0,80|bulkup|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|leftovers|impish|252,0,200,0,0,56|earthquake|knockoff|rapidspin|stealthrock": 1, - "water|protosynthesis|focussash|adamant|0,252,0,0,4,252|closecombat|headlongrush|rapidspin|stealthrock": 1, - "ground|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|rest": 1, - "ice|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin": 1, - "fighting|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "steel|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 1, - "|protosynthesis|leftovers|impish|252,0,204,0,0,52|bodypress|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|closecombat|earthquake|knockoff|rapidspin": 2, - "steel|protosynthesis|assaultvest|careful|252,0,4,0,252,0|bodypress|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|assaultvest|careful|0,8,20,0,248,232|closecombat|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|assaultvest|careful|252,4,0,0,252,0|closecombat|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|blackbelt|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 1, - "ground|icescales|leftovers|jolly|200,56,0,0,0,252|bodypress|bulkup|earthquake|rapidspin": 1, - "ground|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 2, - "water|protosynthesis|assaultvest|jolly|200,0,8,0,252,48|bodypress|earthquake|knockoff|rapidspin": 1, - "ground|regenerator|leftovers|impish|252,4,252,0,0,0|bulkup|closecombat|earthquake|rapidspin": 1, - "ground|regenerator|leftovers|careful|252,0,4,0,252,0|bulkup|closecombat|earthquake|rapidspin": 2, - "fairy|protosynthesis|leftovers|impish|228,0,240,0,0,40|bodypress|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 2, - "ground|scrappy|assaultvest|jolly|252,4,0,0,0,252|closecombat|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|heavydutyboots|impish|248,0,252,0,0,8|earthquake|knockoff|rapidspin|stealthrock": 1, - "ground|regenerator|leftovers|impish|252,10,148,0,0,100|earthquake|icespinner|knockoff|rapidspin": 1, - "ground|regenerator|heavydutyboots|impish|252,4,252,0,0,0|earthquake|knockoff|rapidspin|stealthrock": 1, - "steel|protosynthesis|assaultvest|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "ground|protosynthesis|expertbelt|adamant|0,252,4,0,0,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "steel|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|headsmash|knockoff|rapidspin": 1, - "ground|protosynthesis|leftovers|impish|252,0,192,0,0,52|earthquake|knockoff|rapidspin|stealthrock": 1, - "fire|protosynthesis|leftovers|impish|248,8,192,0,0,60|bulkup|earthquake|knockoff|rapidspin": 1, - "water|protosynthesis|heavydutyboots|timid|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "ground|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 1, - "water|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|knockoff|rapidspin|stealthrock": 1, - "ground|regenerator|rockyhelmet|impish|252,40,120,0,0,96|bodypress|headlongrush|knockoff|rapidspin": 1, - "ground|intimidate|leftovers|impish|252,4,252,0,0,0|earthquake|icespinner|knockoff|rapidspin": 1, - "ground|intimidate|leftovers|impish|252,0,252,0,0,4|earthquake|knockoff|rapidspin|stealthrock": 1, - "water|protosynthesis|leftovers|jolly|252,0,120,0,0,136|bulkup|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|leftovers|adamant|248,112,84,0,0,64|closecombat|earthquake|knockoff|rapidspin": 1, - "ground|unaware|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin": 1, - "fighting|protosynthesis|protectivepads|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin": 1, - "fighting|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|headlongrush|megahorn|rapidspin": 1, - "fighting|protosynthesis|expertbelt|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "ground|protosynthesis|leftovers|impish|252,0,252,0,0,4|bodypress|earthquake|knockoff|rapidspin": 1, - "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|bodypress|earthquake|playrough|stealthrock": 1, - "water|protosynthesis|leftovers|impish|252,0,252,0,4,0|bodypress|earthquake|knockoff|rapidspin": 1, - "ground|regenerator|heavydutyboots|impish|248,0,252,0,0,8|bulkup|earthquake|knockoff|rapidspin": 1, - "ground|scrappy|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff": 1, - "ground|regenerator|leftovers|impish|248,0,252,0,0,8|bulkup|earthquake|knockoff|rapidspin": 1, - "fire|protosynthesis|leftovers|jolly|0,252,0,0,4,252|bulkup|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|bulkup|earthquake|knockoff|rapidspin": 1, - "ground|protosynthesis|heavydutyboots|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin": 1, - "water|protosynthesis|leftovers|impish|248,16,164,0,0,80|earthquake|knockoff|rapidspin|stealthrock": 1 - }, - "donphan": { - "ground|sturdy|heavydutyboots|adamant|112,252,0,0,0,144|earthquake|knockoff|rapidspin|stealthrock": 1, - "ghost|sturdy|covertcloak|impish|252,4,252,0,0,0|earthquake|icespinner|knockoff|stealthrock": 1 - }, - "rotomwash": { - "steel|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp": 8, - "electric|levitate|heavydutyboots|timid|4,0,0,252,0,252|discharge|hydropump|voltswitch|willowisp": 1, - "electric|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|protect|voltswitch|willowisp": 2, - "fairy|levitate|leftovers|bold|248,0,252,8,0,0|hydropump|protect|voltswitch|willowisp": 2, - "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|terablast|trick|voltswitch": 1, - "ghost|levitate|leftovers|bold|248,0,248,0,0,12|hydropump|protect|voltswitch|willowisp": 3, - "electric|levitate|heavydutyboots|bold|248,0,252,0,8,0|hydropump|protect|voltswitch|willowisp": 1, - "electric|armortail|leftovers|calm|252,0,0,4,252,0|hydropump|protect|voltswitch|willowisp": 1, - "water|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch": 1, - "steel|levitate|leftovers|bold|252,0,252,0,4,0|discharge|hydropump|thunderwave|voltswitch": 1, - "electric|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch": 1, - "fire|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp": 1, - "electric|levitate|choicescarf|timid|0,0,0,252,4,252|discharge|hydropump|trick|voltswitch": 1, - "electric|levitate|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|voltswitch|willowisp": 1, - "electric|levitate|leftovers|timid|0,0,0,252,4,252|hydropump|nastyplot|voltswitch|willowisp": 1, - "steel|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch": 1, - "electric|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch": 1, - "electric|levitate|leftovers|timid|252,0,0,0,4,252|hydropump|trick|voltswitch|willowisp": 1, - "electric|levitate|leftovers|calm|248,0,64,0,196,0|hydropump|protect|voltswitch|willowisp": 1, - "electric|levitate|leftovers|calm|248,0,64,0,196,0|hydropump|protect|thunderwave|voltswitch": 1, - "electric|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|thunderbolt|voltswitch|willowisp": 1, - "electric|hadronengine|assaultvest|modest|0,0,0,252,252,0|hydropump|shadowball|thunder|voltswitch": 1, - "ground|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|thunderwave|voltswitch": 1, - "ghost|levitate|sitrusberry|bold|252,0,252,4,0,0|hydropump|thief|voltswitch|willowisp": 1, - "poison|levitate|blacksludge|bold|248,0,252,0,8,0|hydropump|thunderbolt|trick|voltswitch": 1, - "steel|levitate|leftovers|bold|240,0,212,0,0,56|hydropump|protect|voltswitch|willowisp": 1, - "steel|levitate|choicescarf|timid|252,0,4,0,0,252|hydropump|trick|voltswitch|willowisp": 1, - "fire|levitate|leftovers|bold|252,0,4,252,0,0|discharge|hydropump|voltswitch|willowisp": 1, - "steel|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch": 1, - "ground|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp": 1, - "electric|hadronengine|terrainextender|timid|0,0,0,252,4,252|hydropump|nastyplot|thunderbolt|voltswitch": 1, - "water|levitate|choicescarf|timid|252,0,4,0,0,252|hydropump|trick|voltswitch|willowisp": 1, - "water|levitate|choicescarf|timid|248,0,0,8,0,252|hydropump|thunderwave|trick|voltswitch": 1 - }, - "salazzle": { - "grass|corrosion|leftovers|timid|248,0,12,0,0,248|protect|substitute|taunt|toxic": 1, - "fire|oblivious|heavydutyboots|timid|0,0,0,252,4,252|dragonpulse|nastyplot|overheat|sludgebomb": 1, - "poison|corrosion|focussash|hasty|0,4,0,252,0,252|flamethrower|nastyplot|sludgebomb|toxic": 1 - }, - "ditto": { - "steel|imposter|choicescarf|bold|248,0,252,0,8,0|transform": 1, - "steel|imposter|choicescarf|impish|248,8,252,0,0,0|transform": 2, - "ghost|imposter|choicescarf|adamant|248,252,0,0,0,8|transform": 1, - "normal|imposter|choicescarf|impish|248,8,252,0,0,0|transform": 2, - "fairy|imposter|choicescarf|impish|248,8,252,0,0,0|transform": 1 - }, - "mimikyu": { - "ghost|disguise|lifeorb|jolly|0,252,0,0,4,252|playrough|shadowclaw|shadowsneak|swordsdance": 1, - "ghost|disguise|lifeorb|jolly|0,252,0,0,4,252|playrough|shadowclaw|swordsdance|trailblaze": 1 - }, - "ironvaliant": { - "electric|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psychic|thunderbolt": 1, - "ghost|quarkdrive|choicespecs|timid|4,0,0,252,0,252|moonblast|psyshock|shadowball|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|drainpunch|shadowsneak|spiritbreak|swordsdance": 1, - "fighting|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|drainpunch|knockoff|spiritbreak|swordsdance": 2, - "poison|quarkdrive|choiceband|jolly|0,252,4,0,0,252|closecombat|knockoff|poisonjab|zenheadbutt": 1, - "electric|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|focusblast|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|naive|0,16,0,240,0,252|closecombat|moonblast|shadowball|thunderbolt": 1, - "fairy|sheerforce|lifeorb|naive|0,4,0,252,0,252|closecombat|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psychic|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|closecombat|firepunch|spiritbreak|swordsdance": 1, - "ghost|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|thunderbolt": 2, - "fairy|quarkdrive|choicescarf|timid|0,0,0,252,4,252|focusblast|moonblast|psyshock|trick": 1, - "electric|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt": 3, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|moonblast|psyshock|shadowball|trick": 1, - "fairy|quarkdrive|choicespecs|modest|0,0,0,252,4,252|aurasphere|moonblast|thunderbolt|trick": 1, - "fighting|quarkdrive|mentalherb|timid|0,0,0,252,0,252|aurasphere|calmmind|moonblast|psyshock": 1, - "fairy|quarkdrive|choicescarf|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|destinybond|moonblast|thunderbolt": 2, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psyshock|shadowball": 2, - "fairy|quarkdrive|choicespecs|modest|4,0,0,252,0,252|focusblast|moonblast|psyshock|shadowball": 1, - "fairy|quarkdrive|choicespecs|modest|4,0,0,252,0,252|focusblast|moonblast|psychic|shadowball": 1, - "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt": 2, - "ghost|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psychic|shadowball": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|thunderbolt|trick": 1, - "dark|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|closecombat|knockoff|swordsdance|taunt": 1, - "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|knockoff|moonblast|thunderbolt": 1, - "psychic|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|closecombat|knockoff|swordsdance|zenheadbutt": 1, - "fairy|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|calmmind|moonblast|shadowball|thunderbolt": 1, - "electric|quarkdrive|choicespecs|timid|0,0,4,252,0,252|moonblast|psyshock|shadowball|thunderbolt": 1, - "fairy|hadronengine|choicescarf|naive|0,4,0,252,0,252|closecombat|moonblast|thunderbolt|zenheadbutt": 1, - "fairy|sheerforce|lifeorb|timid|0,0,0,252,4,252|focusblast|moonblast|shadowball|thunderbolt": 1, - "steel|quarkdrive|choiceband|jolly|0,252,4,0,0,252|closecombat|knockoff|spiritbreak|trick": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|trick": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|moonblast|psyshock|shadowball|thunderbolt": 1, - "fairy|quarkdrive|choicespecs|timid|0,0,4,252,0,252|aurasphere|moonblast|psyshock|thunderbolt": 1, - "electric|quarkdrive|lifeorb|naive|0,140,0,116,0,252|closecombat|knockoff|moonblast|thunderbolt": 1, - "electric|quarkdrive|choicescarf|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt": 1, - "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|moonblast|psyshock|thunderbolt": 1, - "electric|quarkdrive|boosterenergy|serious|0,0,0,252,4,252|calmmind|moonblast|psyshock|thunderbolt": 1 - }, - "azumarill": { - "water|hugepower|sitrusberry|adamant|116,252,0,0,0,140|aquajet|bellydrum|icespinner|playrough": 1, - "water|hugepower|choiceband|adamant|4,252,0,0,0,252|aquajet|icespinner|liquidation|playrough": 1, - "fairy|hugepower|choiceband|brave|252,252,0,0,4,0|aquajet|icepunch|liquidation|playrough": 1, - "water|hugepower|sitrusberry|adamant|252,244,0,0,12,0|aquajet|bellydrum|liquidation|playrough": 1, - "ground|sapsipper|leftovers|relaxed|252,0,252,4,0,0|chillingwater|drainingkiss|encore|superpower": 1, - "water|hugepower|sitrusberry|adamant|4,252,0,0,0,252|aquajet|bellydrum|playrough|trailblaze": 1, - "dragon|hugepower|sitrusberry|adamant|244,240,0,0,24,0|aquajet|bellydrum|liquidation|playrough": 1, - "water|hugepower|sitrusberry|adamant|60,252,0,0,0,196|aquajet|bellydrum|liquidation|playrough": 1, - "water|hugepower|assaultvest|adamant|0,252,0,0,124,132|aquajet|icespinner|liquidation|playrough": 1, - "fire|hugepower|punchingglove|adamant|88,252,4,0,0,164|aquajet|bellydrum|icepunch|playrough": 1, - "water|hugepower|assaultvest|adamant|252,252,0,0,0,4|aquajet|icespinner|liquidation|playrough": 2, - "water|hugepower|choiceband|adamant|96,252,4,0,0,156|aquajet|liquidation|playrough|superpower": 1, - "water|hugepower|sitrusberry|adamant|252,252,0,0,4,0|aquajet|bellydrum|brickbreak|playrough": 1 - }, - "clodsire": { - "dark|unaware|blacksludge|careful|120,0,0,0,252,136|earthquake|poisonjab|recover|stealthrock": 1, - "water|unaware|leftovers|careful|248,0,8,0,252,0|earthquake|recover|spikes|toxic": 2, - "water|unaware|heavydutyboots|careful|248,0,4,0,248,8|earthquake|recover|stealthrock|toxic": 3, - "water|unaware|heavydutyboots|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic": 1, - "poison|magicguard|airballoon|careful|252,4,0,0,252,0|earthquake|recover|spikes|stealthrock": 1, - "poison|waterabsorb|leftovers|careful|248,4,0,0,252,0|earthquake|recover|stealthrock|toxic": 1, - "poison|unaware|blacksludge|calm|252,0,4,0,252,0|haze|recover|spikes|stealthrock": 1, - "dark|waterabsorb|blacksludge|impish|252,0,252,0,4,0|earthquake|recover|stealthrock|toxic": 1, - "dark|unaware|leftovers|impish|252,0,252,0,4,0|earthquake|recover|stealthrock|toxic": 1, - "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic": 2, - "steel|unaware|leftovers|impish|4,0,252,0,252,0|amnesia|curse|recover|waterfall": 1, - "flying|waterabsorb|leftovers|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxic": 1, - "water|unaware|leftovers|careful|252,0,4,0,252,0|curse|earthquake|recover|waterfall": 1, - "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|toxic|waterfall": 1, - "steel|waterabsorb|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic": 1, - "water|unaware|heavydutyboots|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic": 4, - "flying|unaware|blacksludge|careful|252,0,0,0,248,8|earthquake|recover|spikes|toxic": 1, - "fire|waterabsorb|leftovers|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic": 2, - "fire|unaware|leftovers|careful|248,0,8,0,252,0|curse|earthquake|recover|stealthrock": 1, - "dark|unaware|heavydutyboots|careful|248,0,0,0,252,8|earthquake|recover|spikes|toxic": 1, - "dark|waterabsorb|blacksludge|impish|252,0,144,0,72,0|counter|earthquake|recover|stealthrock": 1, - "steel|unaware|heavydutyboots|careful|252,4,0,0,252,0|earthquake|haze|recover|toxic": 1, - "fire|waterabsorb|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic": 1, - "water|unaware|blacksludge|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic": 1, - "dark|unaware|leftovers|careful|252,0,32,0,224,0|earthquake|recover|spikes|toxic": 1, - "grass|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|haze|recover|toxic": 1, - "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic": 1, - "grass|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxic": 1, - "ground|waterabsorb|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|yawn": 1, - "poison|waterabsorb|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic": 1, - "dark|waterabsorb|leftovers|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic": 1, - "poison|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic": 1, - "water|unaware|covertcloak|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic": 1, - "grass|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic": 2, - "poison|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|toxic|waterfall": 1, - "dark|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxicspikes": 1, - "poison|regenerator|blacksludge|calm|252,0,0,4,252,0|earthquake|recover|stealthrock|toxic": 1, - "poison|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|spikes|stealthrock": 1, - "normal|waterabsorb|heavydutyboots|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic": 1, - "dark|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic": 2, - "dark|unaware|blacksludge|careful|252,0,0,0,252,4|earthquake|recover|spikes|toxic": 1, - "water|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic": 1, - "water|waterabsorb|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|yawn": 1 - }, - "indeedee": { - "ghost|psychicsurge|terrainextender|timid|0,0,0,252,4,252|encore|healingwish|psychic|shadowball": 1, - "fairy|psychicsurge|terrainextender|timid|0,0,0,252,4,252|dazzlinggleam|encore|psychic|shadowball": 1, - "ghost|psychicsurge|terrainextender|timid|0,0,4,252,0,252|encore|healingwish|psyshock|shadowball": 1, - "psychic|psychicsurge|terrainextender|timid|156,0,0,252,4,96|drainingkiss|encore|healingwish|psyshock": 2, - "fighting|psychicsurge|lifeorb|timid|0,0,0,252,4,252|encore|psychic|shadowball|terablast": 1 - }, - "volcarona": { - "grass|flamebody|focussash|timid|0,0,4,252,0,252|fierydance|gigadrain|psychic|quiverdance": 1, - "fairy|flamebody|heavydutyboots|jolly|248,0,108,0,0,152|fierydance|morningsun|quiverdance|willowisp": 1, - "fairy|flamebody|heavydutyboots|timid|248,0,228,0,0,32|fierydance|morningsun|quiverdance|willowisp": 1, - "grass|flamebody|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|fierydance|gigadrain|quiverdance": 2, - "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|morningsun|quiverdance|willowisp": 1, - "grass|flamebody|heavydutyboots|timid|248,0,84,0,0,176|fierydance|gigadrain|morningsun|quiverdance": 1, - "steel|flamebody|heavydutyboots|timid|248,0,84,0,0,176|flamethrower|morningsun|quiverdance|willowisp": 1, - "water|flamebody|heavydutyboots|bold|248,0,252,8,0,0|bugbuzz|flamethrower|morningsun|quiverdance": 1, - "bug|furcoat|heavydutyboots|bold|248,0,228,0,0,32|fierydance|morningsun|quiverdance|willowisp": 1, - "bug|icescales|heavydutyboots|timid|248,0,176,0,0,84|flamethrower|morningsun|psychic|quiverdance": 1, - "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|gigadrain|morningsun|quiverdance": 3, - "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|bugbuzz|fierydance|gigadrain|quiverdance": 2, - "bug|flamebody|heavydutyboots|bold|252,0,204,0,0,52|bugbuzz|fierydance|morningsun|quiverdance": 1, - "fire|flamebody|heavydutyboots|timid|248,0,156,16,0,88|flamethrower|morningsun|psychic|quiverdance": 2, - "grass|flamebody|heavydutyboots|bold|0,0,252,4,0,252|bugbuzz|flamethrower|morningsun|quiverdance": 1, - "fairy|flamebody|heavydutyboots|timid|248,0,100,0,0,160|fierydance|morningsun|quiverdance|willowisp": 1, - "fairy|flamebody|heavydutyboots|bold|252,0,208,0,0,48|flamethrower|morningsun|quiverdance|willowisp": 1, - "ground|flamebody|heavydutyboots|bold|252,0,224,0,0,32|flamethrower|morningsun|quiverdance|terablast": 1, - "dragon|flamebody|heavydutyboots|modest|0,0,0,252,4,252|fierydance|gigadrain|quiverdance|terablast": 1, - "grass|flamebody|heavydutyboots|modest|0,0,0,252,4,252|bugbuzz|fierydance|gigadrain|quiverdance": 1, - "fairy|flamebody|heavydutyboots|bold|248,0,204,0,0,56|fierydance|morningsun|quiverdance|willowisp": 1, - "grass|flamebody|heavydutyboots|modest|0,0,0,252,4,252|fierydance|flamethrower|gigadrain|quiverdance": 1 - }, - "hawlucha": { - "flying|unburden|psychicseed|adamant|0,252,4,0,0,252|acrobatics|closecombat|swordsdance|taunt": 1, - "fighting|unburden|grassyseed|adamant|0,252,0,0,4,252|acrobatics|closecombat|swordsdance|taunt": 1, - "flying|unburden|electricseed|adamant|16,252,0,0,4,236|acrobatics|closecombat|swordsdance|taunt": 1, - "fighting|moldbreaker|apicotberry|sassy|252,0,4,0,252,0|acrobatics|bulkup|defog|drainpunch": 1 - }, - "quaquaval": { - "steel|moxie|leftovers|impish|196,0,144,0,16,152|aquastep|bulkup|closecombat|taunt": 1, - "fairy|moxie|leftovers|jolly|252,0,0,0,92,164|aquastep|bulkup|closecombat|roost": 2, - "steel|moxie|covertcloak|impish|200,0,156,0,0,152|aquastep|bulkup|closecombat|roost": 1, - "fairy|moxie|leftovers|jolly|248,28,0,0,152,80|aquastep|bulkup|roost|taunt": 1, - "water|moxie|assaultvest|adamant|160,96,0,0,252,0|aquastep|closecombat|icespinner|rapidspin": 1, - "water|moxie|lifeorb|jolly|0,252,0,0,4,252|aquastep|bravebird|closecombat|uturn": 2, - "water|moxie|choiceband|jolly|0,252,0,0,4,252|aquajet|aquastep|closecombat|uturn": 1, - "water|moxie|focussash|jolly|4,252,0,0,0,252|aquajet|aquastep|closecombat|swordsdance": 1, - "water|moxie|heavydutyboots|careful|252,0,4,0,252,0|aquastep|rapidspin|roost|uturn": 1, - "poison|moxie|covertcloak|jolly|252,0,60,0,116,80|aquastep|bulkup|roost|taunt": 1, - "water|prankster|leftovers|careful|252,128,0,0,92,36|aquastep|bulkup|roost|taunt": 1, - "water|moxie|clearamulet|jolly|0,252,0,0,4,252|closecombat|liquidation|rapidspin|swordsdance": 1, - "water|moxie|leftovers|impish|200,16,180,0,0,112|aquastep|bulkup|closecombat|roost": 1, - "water|merciless|choiceband|jolly|0,252,0,0,4,252|aquastep|closecombat|icespinner|uturn": 1, - "water|moxie|heavydutyboots|jolly|0,252,0,0,4,252|aquastep|closecombat|icespinner|rapidspin": 1, - "water|torrent|leftovers|impish|248,0,240,0,0,20|aquastep|rapidspin|roost|uturn": 1, - "water|intimidate|rockyhelmet|bold|252,0,252,0,4,0|rapidspin|roost|surf|uturn": 1, - "water|moxie|leftovers|jolly|0,252,4,0,0,252|aquastep|bravebird|closecombat|icespinner": 1, - "water|moxie|lifeorb|adamant|252,252,0,0,4,0|aquastep|bulkup|icespinner|roost": 1, - "poison|moxie|leftovers|adamant|232,0,124,0,16,136|aquastep|bulkup|closecombat|roost": 1 - }, - "glimmora": { - "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|energyball|mortalspin|stealthrock": 2, - "grass|toxicdebris|focussash|timid|0,0,0,252,4,252|energyball|powergem|sludgewave|stealthrock": 1, - "rock|corrosion|blacksludge|timid|252,0,0,4,0,252|dazzlinggleam|spikes|stealthrock|toxic": 1, - "rock|protean|choicescarf|timid|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave": 1, - "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|spikes": 1, - "flying|toxicdebris|focussash|modest|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave": 1, - "rock|toxicdebris|focussash|hasty|0,4,0,252,0,252|earthpower|explosion|powergem|toxicspikes": 1, - "rock|toxicdebris|focussash|timid|0,0,0,252,0,252|earthpower|mortalspin|powergem|stealthrock": 3, - "rock|toxicdebris|leftovers|bold|252,0,252,0,0,4|sludgebomb|spikes|spikyshield|stealthrock": 1, - "rock|toxicdebris|focussash|timid|0,0,0,252,4,252|energyball|sludgewave|spikes|stealthrock": 1, - "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|stealthrock": 1, - "ground|toxicdebris|choicescarf|timid|0,0,0,252,4,252|earthpower|powergem|sludgewave|spikes": 1, - "flying|toxicdebris|choicespecs|timid|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave": 1, - "flying|toxicdebris|focussash|jolly|252,4,0,0,0,252|memento|mortalspin|spikes|stealthrock": 1, - "ground|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|sludgebomb|spikes|stealthrock": 1, - "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|sludgewave|spikes": 2, - "flying|toxicdebris|focussash|timid|0,4,0,252,0,252|earthpower|energyball|mortalspin|toxic": 1, - "poison|toxicdebris|lifeorb|modest|0,0,0,252,4,252|earthpower|powergem|rockpolish|sludgewave": 3, - "ghost|toxicdebris|focussash|timid|4,0,0,252,0,252|mortalspin|powergem|spikes|stealthrock": 1, - "ghost|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|stealthrock": 1, - "grass|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|mortalspin|powergem|stealthrock": 1, - "rock|sandrush|choicespecs|modest|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave": 1, - "rock|toxicdebris|choicescarf|timid|0,0,4,252,0,252|dazzlinggleam|mortalspin|powergem|stealthrock": 1, - "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|powergem|sludgewave": 2, - "grass|toxicdebris|choicescarf|modest|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave": 1, - "flying|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|energyball|spikes|stealthrock": 1, - "grass|toxicdebris|choicespecs|timid|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave": 1, - "rock|sheerforce|lifeorb|timid|0,0,0,252,4,252|earthpower|energyball|mortalspin|sludgewave": 1, - "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|powergem|sludgewave|spikes": 1 - }, - "gengar": { - "fairy|cursedbody|lifeorb|timid|0,0,0,252,4,252|dazzlinggleam|nastyplot|shadowball|sludgebomb": 1, - "ghost|cursedbody|choicespecs|timid|0,0,0,252,4,252|focusblast|shadowball|sludgebomb|thunderbolt": 1, - "ghost|cursedbody|focussash|timid|0,0,0,252,4,252|destinybond|nastyplot|shadowball|sludgebomb": 1, - "fighting|cursedbody|leftovers|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|substitute": 1, - "ghost|solarpower|choicespecs|timid|0,0,0,252,4,252|dazzlinggleam|shadowball|sludgebomb|thunderbolt": 1, - "ghost|normalize|focussash|timid|0,0,0,252,4,252|meanlook|nastyplot|shadowball|skillswap": 1, - "ghost|sheerforce|lifeorb|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|sludgebomb": 1, - "ghost|waterabsorb|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|sludgebomb|trick": 1, - "ghost|cursedbody|leftovers|bold|252,0,252,0,4,0|shadowball|substitute|suckerpunch|toxicspikes": 1 - }, - "flamigo": { - "fighting|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn": 1, - "flying|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|tailwind|uturn": 1, - "dark|costar|focussash|naive|0,252,0,4,0,252|bravebird|closecombat|tailwind|throatchop": 1, - "normal|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn": 1, - "fighting|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|roost|uturn": 1, - "fighting|scrappy|choicescarf|adamant|0,252,0,0,4,252|bravebird|closecombat|copycat|uturn": 1, - "fighting|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn": 2, - "flying|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|throatchop|uturn": 1 - }, - "torkoal": { - "flying|drought|heatrock|bold|248,0,252,0,8,0|lavaplume|rapidspin|stealthrock|yawn": 3, - "fighting|drought|heatrock|relaxed|248,0,252,0,8,0|lavaplume|rapidspin|stealthrock|yawn": 1, - "water|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|stealthrock|yawn": 1, - "fire|drought|choicespecs|quiet|248,0,0,252,8,0|eruption|flamethrower|overheat|solarbeam": 1, - "ghost|drought|heatrock|calm|248,0,0,8,252,0|earthpower|lavaplume|stealthrock|willowisp": 1, - "poison|drought|heatrock|calm|248,0,0,8,252,0|earthpower|lavaplume|rapidspin|yawn": 1, - "grass|drought|heatrock|sassy|252,0,4,0,252,0|lavaplume|rapidspin|stealthrock|yawn": 1, - "ghost|drought|heatrock|calm|208,0,40,8,252,0|lavaplume|solarbeam|willowisp|yawn": 1, - "fire|drought|heatrock|modest|248,0,0,252,8,0|lavaplume|rapidspin|stealthrock|yawn": 1, - "dark|drought|heatrock|calm|248,0,8,0,252,0|lavaplume|rapidspin|stealthrock|yawn": 1, - "fire|drought|heatrock|bold|252,0,252,0,4,0|bodypress|helpinghand|protect|willowisp": 1, - "fire|drought|choicespecs|quiet|248,0,0,252,8,0|earthpower|eruption|fireblast|solarbeam": 2, - "|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock": 1, - "fire|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock": 1, - "grass|drought|heatrock|calm|120,0,0,136,252,0|lavaplume|rapidspin|solarbeam|stealthrock": 1, - "water|drought|heatrock|calm|248,0,8,0,252,0|lavaplume|rapidspin|stealthrock|yawn": 1, - "steel|drought|heatrock|bold|248,0,252,0,0,8|lavaplume|rapidspin|stealthrock|yawn": 1, - "grass|drought|heatrock|bold|248,0,252,8,0,0|lavaplume|rapidspin|rest|stealthrock": 1, - "fire|drought|choicespecs|quiet|248,0,0,252,8,0|earthpower|eruption|lavaplume|solarbeam": 1, - "water|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock": 1, - "ghost|drought|heatrock|bold|248,0,252,8,0,0|lavaplume|rapidspin|stealthrock|yawn": 1 - }, - "charizard": { - "fire|solarpower|choicescarf|timid|0,0,4,252,0,252|airslash|dragonpulse|flamethrower|overheat": 1 - }, - "espeon": { - "fairy|magicbounce|ejectbutton|timid|0,0,4,252,0,252|calmmind|dazzlinggleam|morningsun|psyshock": 1, - "fairy|magicbounce|choicespecs|timid|0,0,0,252,4,252|dazzlinggleam|psychic|shadowball|trick": 2, - "dark|magicbounce|lightclay|timid|252,0,0,4,0,252|dazzlinggleam|lightscreen|psychic|reflect": 1, - "fairy|magicbounce|leftovers|bold|236,0,244,0,0,28|calmmind|drainingkiss|psyshock|thunderwave": 1, - "psychic|magicbounce|terrainextender|timid|0,0,4,252,0,252|calmmind|psychicterrain|storedpower|yawn": 1, - "psychic|magicbounce|ejectbutton|timid|252,0,0,4,0,252|lightscreen|psyshock|reflect|thunderwave": 1, - "psychic|competitive|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|focusblast|luminacrash|uturn": 1 - }, - "magnezone": { - "electric|analytic|leftovers|modest|252,0,0,96,160,0|flashcannon|protect|thunderbolt|voltswitch": 1, - "grass|magnetpull|choicespecs|timid|0,0,0,252,0,252|flashcannon|terablast|thunderbolt|voltswitch": 1, - "fire|magnetpull|choicespecs|modest|0,0,0,252,80,176|flashcannon|terablast|thunderbolt|voltswitch": 1, - "grass|analytic|assaultvest|modest|248,0,0,252,8,0|bodypress|flashcannon|thunderbolt|voltswitch": 1, - "electric|magnetpull|choicespecs|modest|40,0,0,252,0,216|flashcannon|steelbeam|thunderbolt|voltswitch": 1, - "fairy|magnetpull|choicespecs|modest|40,0,0,252,0,216|flashcannon|terablast|thunderbolt|voltswitch": 1, - "fighting|magnetpull|leftovers|timid|248,0,136,16,52,56|bodypress|irondefense|substitute|thunderbolt": 1, - "water|magnetpull|choicespecs|timid|0,0,4,252,0,252|flashcannon|terablast|thunderbolt|voltswitch": 1, - "fire|magnetpull|airballoon|timid|0,0,40,252,0,216|chargebeam|flashcannon|substitute|terablast": 1, - "electric|eartheater|choicescarf|timid|0,0,0,252,4,252|explosion|flashcannon|thunder|voltswitch": 1, - "fire|magnetpull|leftovers|bold|248,0,0,252,0,0|flashcannon|substitute|terablast|voltswitch": 1, - "electric|magicguard|lifeorb|modest|252,0,0,252,4,0|steelbeam|thunderbolt|thunderwave|voltswitch": 1, - "fire|magnetpull|choicescarf|timid|0,0,4,252,0,252|flashcannon|terablast|thunder|voltswitch": 1, - "fairy|magnetpull|choicespecs|modest|0,0,0,252,4,252|flashcannon|terablast|thunderbolt|voltswitch": 1, - "fairy|magnetpull|choicescarf|timid|0,0,0,252,0,252|flashcannon|terablast|thunderbolt|voltswitch": 1, - "fighting|analytic|choicespecs|modest|248,0,8,252,0,0|flashcannon|terablast|thunderbolt|voltswitch": 1 - }, - "lycanrocdusk": { - "rock|toughclaws|choiceband|jolly|0,252,0,0,4,252|accelerock|closecombat|crunch|stoneedge": 2, - "rock|toughclaws|focussash|jolly|0,252,0,0,4,252|firefang|stoneedge|swordsdance|trailblaze": 1, - "fighting|toughclaws|lifeorb|jolly|0,252,0,0,4,252|accelerock|closecombat|stoneedge|swordsdance": 1, - "fairy|toughclaws|lifeorb|jolly|0,252,0,0,4,252|accelerock|crunch|playrough|swordsdance": 1 - }, - "slowbro": { - "fairy|regenerator|rockyhelmet|bold|248,0,252,0,0,8|bodypress|irondefense|slackoff|surf": 2, - "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|futuresight|slackoff|surf|thunderwave": 1, - "fighting|regenerator|heavydutyboots|bold|252,0,252,0,4,0|bodypress|calmmind|irondefense|storedpower": 1, - "water|regenerator|leftovers|bold|252,0,252,4,0,0|futuresight|slackoff|surf|thunderwave": 1, - "fighting|regenerator|covertcloak|bold|252,0,252,4,0,0|bodypress|futuresight|slackoff|surf": 1, - "water|unaware|leftovers|calm|252,0,4,0,252,0|bodypress|calmmind|irondefense|storedpower": 1, - "water|unaware|leftovers|bold|252,0,252,0,4,0|calmmind|psychic|slackoff|surf": 1, - "ground|regenerator|heavydutyboots|relaxed|252,0,252,4,0,0|chillyreception|slackoff|surf|trickroom": 2 - }, - "palossand": { - "ghost|watercompaction|colburberry|modest|252,0,0,248,0,8|earthpower|shadowball|shoreup|stealthrock": 1, - "ghost|watercompaction|colburberry|bold|252,0,244,0,0,12|earthpower|shadowball|shoreup|stealthrock": 2, - "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|chillingwater|earthpower|shoreup|stealthrock": 1, - "water|watercompaction|rockyhelmet|bold|252,0,252,0,4,0|earthpower|shadowball|shoreup|stealthrock": 1, - "fairy|watercompaction|rockyhelmet|bold|252,0,252,0,4,0|earthpower|shadowball|shoreup|stealthrock": 1, - "normal|watercompaction|heavydutyboots|timid|252,0,0,0,216,40|earthpower|hex|shoreup|stealthrock": 1 - }, - "revavroom": { - "flying|filter|leftovers|careful|252,0,0,0,240,16|gunkshot|haze|partingshot|toxicspikes": 1, - "flying|filter|blacksludge|careful|252,4,0,0,252,0|gunkshot|ironhead|partingshot|toxicspikes": 1, - "flying|overcoat|choicescarf|jolly|0,252,0,0,4,252|gunkshot|haze|ironhead|partingshot": 1 - }, - "oricoriopompom": { - "fighting|dancer|heavydutyboots|bold|252,0,252,4,0,0|defog|revelationdance|roost|uturn": 1, - "electric|dancer|focussash|timid|0,0,0,252,4,252|protect|quiverdance|revelationdance|swordsdance": 1, - "ground|dancer|heavydutyboots|timid|0,0,0,252,4,252|hurricane|quiverdance|revelationdance|roost": 1, - "electric|dancer|heavydutyboots|timid|252,0,0,4,0,252|defog|revelationdance|roost|uturn": 1 - }, - "taurospaldeafire": { - "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ironhead": 1, - "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|wildcharge": 1, - "fire|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ragingbull": 1, - "fire|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|flareblitz|ironhead|wildcharge": 1, - "water|cudchew|sitrusberry|jolly|4,252,0,0,0,252|bulkup|closecombat|flamecharge|ragingbull": 1, - "fighting|intimidate|leftovers|impish|252,0,252,0,4,0|bodypress|protect|ragingbull|willowisp": 2, - "dark|intimidate|assaultvest|adamant|252,16,0,0,240,0|closecombat|ironhead|ragingbull|stoneedge": 1, - "dark|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|stoneedge": 1, - "fighting|intimidate|heavydutyboots|impish|252,0,252,0,4,0|bodypress|ragingbull|rest|willowisp": 2 - }, - "blissey": { - "ghost|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|softboiled|stealthrock|thunderwave": 1, - "dark|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|calmmind|seismictoss|shadowball|softboiled": 1, - "ghost|serenegrace|choicescarf|timid|0,0,4,252,0,252|copycat|icebeam|shadowball|trick": 1, - "fairy|naturalcure|leftovers|impish|252,4,252,0,0,0|seismictoss|softboiled|thief|thunderwave": 1, - "dark|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|calmmind|seismictoss|softboiled|stealthrock": 2, - "ghost|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|shadowball|softboiled|stealthrock": 2, - "fairy|naturalcure|heavydutyboots|calm|252,0,4,0,252,0|seismictoss|shadowball|softboiled|stealthrock": 2, - "ghost|naturalcure|heavydutyboots|careful|252,0,4,0,252,0|shadowball|softboiled|stealthrock|trick": 1, - "normal|goodasgold|leftovers|careful|252,0,252,0,4,0|calmmind|seismictoss|shadowball|softboiled": 1, - "fairy|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|shadowball|softboiled|stealthrock": 1 - }, - "avalugg": { - "fighting|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|bodypress|rapidspin|recover": 1, - "ice|icebody|heavydutyboots|careful|252,0,4,0,252,0|auroraveil|avalanche|rapidspin|recover": 1, - "fairy|sturdy|heavydutyboots|impish|252,0,252,0,4,0|avalanche|earthquake|rapidspin|recover": 1 - }, - "krookodile": { - "ground|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|stoneedge": 1, - "ground|intimidate|chopleberry|jolly|0,252,0,0,4,252|crunch|earthquake|stealthrock|taunt": 1, - "dragon|moxie|choicescarf|jolly|0,252,0,0,4,252|crunch|earthquake|outrage|stealthrock": 1, - "poison|moxie|choicescarf|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|gunkshot": 1 - }, - "meowscarada": { - "fairy|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 1, - "grass|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 1, - "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 2, - "grass|overgrow|leftovers|naive|0,4,0,252,0,252|knockoff|leafstorm|spikes|uturn": 1, - "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|suckerpunch|trick|uturn": 1, - "grass|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn": 1, - "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|knockoff|thunderpunch|uturn": 1, - "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|lowkick|uturn": 1, - "grass|protean|choiceband|jolly|0,252,0,0,0,252|flowertrick|knockoff|suckerpunch|uturn": 1, - "dark|overgrow|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|suckerpunch": 1, - "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 2, - "grass|overgrow|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|suckerpunch": 1, - "fairy|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 1, - "grass|protean|choicescarf|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 1, - "grass|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 2, - "grass|protean|choicescarf|jolly|0,252,0,0,4,252|flowertrick|knockoff|trick|uturn": 1, - "ghost|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 1, - "fairy|protean|miracleseed|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|protect": 1, - "grass|protean|focussash|jolly|4,252,0,0,0,252|flowertrick|knockoff|suckerpunch|uturn": 1, - "fairy|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 1, - "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|knockoff|leechseed|uturn": 1, - "dark|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 1, - "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn": 1, - "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn": 1, - "fairy|overgrow|focussash|hasty|0,4,0,252,0,252|knockoff|leafstorm|spikes|taunt": 1, - "poison|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|thunderpunch|uturn": 1, - "ghost|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|taunt": 1, - "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|trick|uturn": 1, - "grass|hustle|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn": 1, - "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|thunderpunch|uturn": 1, - "grass|protean|choiceband|hasty|0,252,0,4,0,252|aurasphere|flowertrick|playrough|uturn": 1, - "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn": 1 - }, - "dondozo": { - "fairy|unaware|leftovers|impish|248,0,212,0,48,0|curse|rest|sleeptalk|wavecrash": 1, - "fairy|unaware|leftovers|relaxed|248,0,252,0,8,0|curse|rest|sleeptalk|wavecrash": 2, - "fairy|unaware|leftovers|impish|248,0,252,0,8,0|curse|protect|rest|wavecrash": 2, - "grass|unaware|leftovers|careful|252,0,4,0,252,0|curse|rest|sleeptalk|wavecrash": 1, - "dragon|unaware|heavydutyboots|impish|248,8,252,0,0,0|curse|rest|sleeptalk|wavecrash": 1, - "water|unaware|covertcloak|careful|248,0,8,0,252,0|curse|liquidation|rest|sleeptalk": 1, - "water|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk": 3, - "grass|unaware|covertcloak|impish|248,0,252,0,8,0|bodypress|rest|sleeptalk|wavecrash": 1, - "grass|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk": 1, - "water|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash": 1, - "grass|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash": 1, - "dragon|unaware|leftovers|impish|248,0,252,0,8,0|bodypress|rest|wavecrash|yawn": 2, - "dragon|unaware|leftovers|adamant|252,252,0,0,4,0|crunch|liquidation|orderup|yawn": 1, - "dark|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash": 2, - "fairy|unaware|heavydutyboots|impish|252,0,252,0,4,0|bodypress|heavyslam|rest|sleeptalk": 1, - "water|unaware|leftovers|careful|252,0,48,0,208,0|curse|liquidation|rest|sleeptalk": 1, - "fairy|unaware|heavydutyboots|impish|252,0,252,0,4,0|curse|liquidation|rest|sleeptalk": 1, - "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash": 1, - "fairy|unaware|rockyhelmet|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash": 1, - "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk": 1, - "grass|unaware|leftovers|impish|252,0,252,0,4,0|bodypress|liquidation|rest|sleeptalk": 2, - "dark|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk": 1, - "electric|regenerator|assaultvest|careful|0,4,252,0,252,0|bodypress|bodyslam|crunch|wavecrash": 1, - "water|fluffy|leftovers|impish|252,4,252,0,0,0|bodypress|curse|protect|wavecrash": 1, - "grass|unaware|leftovers|careful|252,0,4,0,252,0|bodypress|curse|liquidation|protect": 1, - "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|protect|wavecrash|yawn": 1, - "dark|unaware|leftovers|impish|252,4,252,0,0,0|bodypress|curse|rest|wavecrash": 1, - "water|tabletsofruin|leftovers|impish|252,0,252,0,4,0|curse|earthquake|rest|wavecrash": 1, - "water|regenerator|rockyhelmet|relaxed|248,0,252,0,8,0|flipturn|foulplay|recover|stealthrock": 1, - "ground|regenerator|assaultvest|careful|248,8,44,0,208,0|dragontail|flipturn|jetpunch|wavecrash": 1, - "grass|unaware|leftovers|careful|252,0,4,0,252,0|bodypress|curse|rest|wavecrash": 1 - }, - "sawsbuckautumn": { - "fairy|chlorophyll|lifeorb|adamant|0,252,0,0,4,252|hornleech|playrough|stompingtantrum|swordsdance": 1 - }, - "dragonite": { - "normal|multiscale|silkscarf|naughty|0,252,0,56,0,200|dragondance|earthquake|extremespeed|hurricane": 1, - "normal|multiscale|heavydutyboots|adamant|4,252,0,0,0,252|dragondance|earthquake|extremespeed|icespinner": 7, - "normal|multiscale|heavydutyboots|adamant|136,252,0,0,0,120|dragondance|earthquake|extremespeed|roost": 8, - "normal|multiscale|heavydutyboots|adamant|48,252,0,0,0,208|dragondance|earthquake|extremespeed|roost": 1, - "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch": 5, - "electric|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|icespinner|thunderpunch": 1, - "dragon|aerilate|lifeorb|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner": 1, - "steel|multiscale|heavydutyboots|bold|248,0,80,0,0,180|dracometeor|encore|hurricane|roost": 1, - "steel|multiscale|heavydutyboots|bold|248,0,152,0,4,104|bodypress|dragontail|icebeam|roost": 1, - "normal|multiscale|heavydutyboots|adamant|76,252,0,0,4,176|dragondance|earthquake|extremespeed|icespinner": 1, - "normal|multiscale|lumberry|adamant|176,252,0,0,0,80|dragondance|earthquake|extremespeed|roost": 1, - "normal|multiscale|leftovers|jolly|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch": 3, - "ghost|multiscale|heavydutyboots|modest|252,0,4,252,0,0|dracometeor|hurricane|roost|thunderbolt": 1, - "dragon|multiscale|heavydutyboots|jolly|0,252,0,0,0,252|dragondance|earthquake|extremespeed|outrage": 1, - "normal|multiscale|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dragondance|earthquake|extremespeed": 1, - "normal|multiscale|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|outrage": 1, - "steel|multiscale|heavydutyboots|timid|252,0,0,0,164,92|encore|firespin|icebeam|roost": 1, - "normal|multiscale|silkscarf|adamant|196,252,0,0,0,60|dragondance|earthquake|extremespeed|roost": 1, - "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|roost": 2, - "normal|multiscale|heavydutyboots|jolly|12,252,0,0,0,244|dragondance|earthquake|extremespeed|firepunch": 1, - "normal|multiscale|leftovers|jolly|252,36,0,0,0,220|dragondance|extremespeed|roost|waterfall": 1, - "normal|multiscale|leftovers|adamant|160,252,0,0,0,96|dragondance|extremespeed|roost|waterfall": 1, - "normal|multiscale|heavydutyboots|adamant|160,252,0,0,0,96|dragondance|earthquake|extremespeed|roost": 1, - "water|multiscale|rockyhelmet|bold|252,0,252,4,0,0|bodypress|hurricane|icebeam|roost": 1, - "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|firepunch|icespinner": 1, - "normal|multiscale|heavydutyboots|adamant|192,252,0,0,4,60|dragondance|earthquake|extremespeed|roost": 1, - "normal|multiscale|lumberry|adamant|252,252,0,0,0,4|dragondance|extremespeed|firepunch|outrage": 1, - "normal|multiscale|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|icespinner": 1, - "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|firepunch|roost": 1, - "dragon|aerilate|lumberry|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|firepunch": 1, - "dragon|aerilate|leftovers|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner": 1, - "normal|multiscale|heavydutyboots|adamant|72,252,0,0,0,184|dragondance|earthquake|extremespeed|roost": 1, - "flying|sheerforce|lifeorb|timid|0,0,0,252,4,252|hurricane|icebeam|roost|thunder": 1, - "dragon|aerilate|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch": 1, - "water|multiscale|rockyhelmet|impish|252,4,252,0,0,0|bodypress|icespinner|roost|stoneedge": 1, - "dragon|aerilate|sharpbeak|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner": 1, - "normal|multiscale|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|extremespeed|hurricane": 1, - "dragon|aerilate|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|icespinner|thunderpunch": 1, - "steel|multiscale|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|hurricane|icespinner": 1, - "fire|intimidate|heavydutyboots|careful|252,4,0,0,252,0|dragontail|roost|uturn|willowisp": 1 - }, - "cinderace": { - "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn": 6, - "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn": 5, - "fighting|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn": 1, - "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|suckerpunch": 2, - "fire|libero|choiceband|jolly|0,252,0,0,4,252|highjumpkick|pyroball|uturn|zenheadbutt": 1, - "electric|blaze|lifeorb|jolly|0,252,0,0,4,252|pyroball|suckerpunch|swordsdance|terablast": 1, - "fire|libero|choiceband|adamant|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn": 1, - "flying|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|ironhead|pyroball|uturn": 1, - "fairy|libero|choiceband|jolly|0,252,0,0,4,252|pyroball|suckerpunch|uturn|zenheadbutt": 1, - "normal|libero|heavydutyboots|adamant|0,252,0,0,4,252|doubleedge|pyroball|suckerpunch|swordsdance": 1, - "fire|libero|heavydutyboots|jolly|4,252,0,0,0,252|gunkshot|pyroball|suckerpunch|uturn": 1, - "fire|orichalcumpulse|choiceband|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn": 1, - "fire|orichalcumpulse|heatrock|jolly|0,252,0,0,4,252|courtchange|gunkshot|pyroball|uturn": 3, - "fire|orichalcumpulse|choiceband|jolly|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn": 2, - "poison|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn": 1, - "fire|desolateland|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn": 1, - "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn": 1, - "fire|blaze|liechiberry|jolly|12,244,0,0,0,252|bulkup|pyroball|substitute|suckerpunch": 1, - "normal|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|extremespeed|pyroball|seedbomb|swordsdance": 1, - "fire|libero|choiceband|jolly|0,252,0,0,4,252|closecombat|extremespeed|pyroball|uturn": 1 - }, - "cyclizar": { - "dragon|regenerator|lumberry|jolly|248,8,0,0,0,252|icespinner|rapidspin|shedtail|taunt": 1, - "poison|shedskin|heavydutyboots|jolly|252,4,0,0,0,252|knockoff|rapidspin|shedtail|uturn": 1, - "dragon|regenerator|choicescarf|timid|232,0,0,24,0,252|dracometeor|dragontail|rapidspin|shedtail": 1, - "ghost|regenerator|choicescarf|timid|0,0,0,252,4,252|dracometeor|overheat|rapidspin|shedtail": 1, - "poison|regenerator|heavydutyboots|jolly|244,0,0,0,12,252|knockoff|rapidspin|shedtail|uturn": 1, - "fairy|regenerator|heavydutyboots|jolly|252,4,0,0,0,252|knockoff|rapidspin|shedtail|uturn": 1, - "steel|regenerator|choicescarf|jolly|252,4,0,0,0,252|doubleedge|knockoff|shedtail|uturn": 1, - "dragon|regenerator|heavydutyboots|jolly|248,0,0,0,8,252|icespinner|knockoff|rapidspin|shedtail": 1, - "|regenerator|sitrusberry|impish|252,0,252,0,4,0|knockoff|shedtail|taunt|uturn": 1, - "dark|regenerator|heavydutyboots|jolly|252,0,4,0,0,252|knockoff|rapidspin|shedtail|taunt": 1, - "ghost|regenerator|sitrusberry|jolly|248,8,0,0,0,252|knockoff|rapidspin|shedtail|taunt": 2, - "dragon|armortail|sitrusberry|jolly|252,0,0,0,4,252|knockoff|rapidspin|shedtail|uturn": 1 - }, - "pawmot": { - "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|doubleshock|firepunch|icepunch|revivalblessing": 1, - "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|machpunch|revivalblessing": 1, - "steel|naturalcure|leppaberry|jolly|248,0,0,0,28,232|nuzzle|rest|revivalblessing|sleeptalk": 1, - "electric|ironfist|leppaberry|jolly|88,188,0,0,0,232|doubleshock|icepunch|machpunch|revivalblessing": 1, - "electric|voltabsorb|leppaberry|jolly|0,252,4,0,0,252|closecombat|doubleshock|machpunch|revivalblessing": 1, - "electric|naturalcure|heavydutyboots|jolly|0,252,0,0,4,252|icepunch|machpunch|revivalblessing|voltswitch": 1, - "electric|voltabsorb|leppaberry|jolly|4,252,0,0,0,252|bulkup|doubleshock|playrough|revivalblessing": 1, - "flying|naturalcure|leppaberry|jolly|252,4,0,0,0,252|nuzzle|rest|revivalblessing|voltswitch": 1, - "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|icepunch|revivalblessing": 1, - "electric|naturalcure|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|nuzzle|revivalblessing": 1 - }, - "lokix": { - "bug|tintedlens|choiceband|jolly|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn": 1, - "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|suckerpunch|uturn": 2, - "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn": 1, - "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|leechlife|throatchop": 3, - "bug|tintedlens|lifeorb|jolly|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn": 1, - "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|throatchop|uturn": 2, - "bug|tintedlens|heavydutyboots|adamant|0,252,4,0,0,252|leechlife|suckerpunch|swordsdance|throatchop": 1 - }, - "roaringmoon": { - "dragon|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|dragondance|earthquake|ironhead": 1, - "dark|protosynthesis|choiceband|adamant|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn": 3, - "dark|protosynthesis|choiceband|jolly|36,220,0,0,0,252|crunch|earthquake|outrage|uturn": 1, - "fairy|protosynthesis|boosterenergy|careful|240,0,16,0,172,80|crunch|dragondance|taunt|terablast": 1, - "dragon|protean|choiceband|jolly|0,252,0,0,4,252|earthquake|stoneedge|uturn|zenheadbutt": 1, - "ground|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|earthquake|ironhead|uturn": 1, - "dragon|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|earthquake|scaleshot|uturn": 1, - "steel|protosynthesis|loadeddice|adamant|0,252,0,0,4,252|crunch|dragondance|ironhead|scaleshot": 1, - "dark|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn": 1, - "flying|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|acrobatics|dragondance|earthquake|taunt": 1, - "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance": 5, - "dragon|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|crunch|dragonclaw|dragondance|earthquake": 1, - "steel|protosynthesis|choiceband|jolly|0,220,0,0,36,252|crunch|ironhead|outrage|uturn": 1, - "dragon|protosynthesis|focussash|adamant|0,252,0,0,4,252|crunch|dragonclaw|dragondance|uturn": 1, - "steel|protosynthesis|choiceband|jolly|0,252,4,0,0,252|crunch|dragonclaw|earthquake|uturn": 1, - "dragon|protosynthesis|dragonfang|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|protect": 1, - "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragondance|roost": 1, - "bug|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn": 1, - "flying|protosynthesis|boosterenergy|bold|252,0,252,0,4,0|acrobatics|dragondance|jawlock|roost": 1, - "flying|protosynthesis|choiceband|jolly|0,220,36,0,0,252|crunch|earthquake|ironhead|uturn": 1, - "flying|protosynthesis|boosterenergy|adamant|4,252,0,0,0,252|acrobatics|crunch|dragondance|earthquake": 2, - "fairy|protosynthesis|heavydutyboots|jolly|252,0,0,0,152,104|crunch|earthquake|roost|uturn": 2, - "flying|protosynthesis|boosterenergy|jolly|0,252,24,0,0,232|acrobatics|crunch|dragondance|earthquake": 1, - "steel|protosynthesis|lumberry|jolly|0,252,4,0,0,252|crunch|dragondance|earthquake|ironhead": 1, - "dragon|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|crunch|earthquake|outrage|uturn": 1, - "dragon|regenerator|assaultvest|impish|252,0,4,0,252,0|crunch|dragontail|earthquake|rockslide": 1, - "steel|protosynthesis|choicescarf|jolly|0,252,4,0,0,252|crunch|ironhead|outrage|uturn": 1, - "dark|protosynthesis|choiceband|adamant|0,252,0,0,4,252|crunch|outrage|uturn|zenheadbutt": 1, - "dragon|vesselofruin|heavydutyboots|careful|248,0,0,0,148,112|crunch|earthquake|roost|uturn": 1, - "dragon|regenerator|choicescarf|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn": 1, - "dragon|regenerator|choicescarf|adamant|0,252,0,0,4,252|crunch|earthquake|ironhead|uturn": 2, - "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|dragondance|earthquake|throatchop": 1, - "dark|hustle|widelens|jolly|0,252,0,0,4,252|crunch|dragonclaw|dragondance|earthquake": 1, - "flying|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|acrobatics|crunch|dragondance|earthquake": 1 - }, - "excadrill": { - "grass|sandrush|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|rapidspin|rockslide|shadowclaw": 1 - }, - "garchomp": { - "water|roughskin|leftovers|adamant|0,252,80,0,160,0|dragontail|earthquake|liquidation|rockslide": 1, - "ghost|roughskin|rockyhelmet|jolly|252,0,4,0,0,252|dragontail|earthquake|spikes|stealthrock": 1, - "ghost|roughskin|heavydutyboots|jolly|248,8,0,0,0,252|dragontail|earthquake|spikes|stealthrock": 1, - "dragon|regenerator|heavydutyboots|careful|252,0,28,0,228,0|dragontail|earthquake|spikes|stealthrock": 1, - "fire|roughskin|muscleband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|swordsdance": 1, - "dragon|roughskin|rockyhelmet|naive|0,252,0,4,0,252|dragonclaw|earthquake|fireblast|spikes": 1, - "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|earthquake|outrage|stealthrock|stoneedge": 1, - "ghost|roughskin|focussash|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock": 1, - "ground|roughskin|choicescarf|jolly|0,252,0,0,4,252|dragonclaw|earthquake|outrage|poisonjab": 1, - "water|roughskin|leftovers|jolly|248,0,132,0,0,128|earthquake|fireblast|spikes|stealthrock": 1, - "ground|roughskin|rockyhelmet|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock": 1, - "fire|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|spikes": 2, - "water|roughskin|rockyhelmet|impish|248,0,240,0,0,20|dragontail|earthquake|spikes|stealthrock": 1, - "dragon|roughskin|rockyhelmet|impish|252,0,252,0,4,0|dragontail|earthquake|spikes|stealthrock": 1, - "water|roughskin|leftovers|timid|248,0,0,132,0,128|earthpower|spikes|stealthrock|surf": 1, - "ground|roughskin|choicescarf|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|stoneedge": 1, - "steel|roughskin|rockyhelmet|jolly|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "fire|roughskin|choiceband|jolly|0,252,4,0,0,252|dragonclaw|earthquake|ironhead|spikes": 1, - "dragon|swiftswim|lifeorb|adamant|0,252,0,0,4,252|dragonclaw|earthquake|liquidation|swordsdance": 1, - "dragon|regenerator|assaultvest|brave|252,252,0,4,0,0|dragontail|earthquake|fireblast|stoneedge": 1, - "dragon|sandforce|choicescarf|jolly|0,252,0,0,4,252|earthquake|ironhead|liquidation|stoneedge": 1, - "dragon|toxicdebris|focussash|jolly|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|brickbreak|earthquake|outrage|stealthrock": 1, - "fire|roughskin|rockyhelmet|naive|0,252,0,4,0,252|earthquake|outrage|swordsdance|terablast": 1, - "fire|roughskin|lifeorb|rash|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock": 1, - "dragon|toxicdebris|focussash|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock": 1, - "steel|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock": 1, - "fire|roughskin|rockyhelmet|jolly|252,0,0,0,4,252|dragontail|earthquake|endure|spikes": 1, - "ghost|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock": 1, - "water|roughskin|expertbelt|naive|0,4,0,252,0,252|earthquake|fireblast|stealthrock|surf": 1, - "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragonclaw|earthquake|stealthrock|stoneedge": 2, - "dragon|toxicdebris|rockyhelmet|jolly|252,0,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "dragon|regenerator|leftovers|impish|252,0,252,0,4,0|dragontail|earthquake|stealthrock|swordsdance": 1, - "dragon|regenerator|lifeorb|jolly|0,252,0,0,4,252|earthquake|outrage|spikes|stealthrock": 1, - "fairy|roughskin|leftovers|hasty|0,148,0,0,108,252|dracometeor|earthquake|fireblast|stealthrock": 1, - "steel|roughskin|rockyhelmet|jolly|252,0,0,0,128,128|dragontail|earthquake|spikes|stealthrock": 1 - }, - "ferrothorn": { - "fighting|ironbarbs|leftovers|relaxed|252,4,252,0,0,0|bodypress|gyroball|knockoff|leechseed": 1 - }, - "dianciemega": { - "rock|magicbounce|diancite|naive|0,0,104,252,0,152|bodypress|diamondstorm|drainingkiss|earthpower": 1 - }, - "ironmoth": { - "psychic|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|acidspray|energyball|fierydance|psychic": 1, - "grass|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|energyball|overheat|sludgewave|whirlwind": 1, - "grass|quarkdrive|choicescarf|modest|0,0,4,252,0,252|energyball|flamethrower|overheat|sludgewave": 3, - "flying|quarkdrive|choicespecs|timid|0,0,0,252,4,252|fierydance|overheat|sludgewave|terablast": 1, - "grass|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|energyball|fierydance|morningsun|sludgewave": 1, - "fire|opportunist|heavydutyboots|timid|0,0,0,252,4,252|discharge|fierydance|morningsun|sludgewave": 1, - "grass|desolateland|heavydutyboots|calm|248,0,0,8,252,0|fierydance|morningsun|toxicspikes|uturn": 1, - "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|hurricane|overheat|sludgewave|terablast": 1, - "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|discharge|energyball|fierydance|sludgewave": 1, - "grass|quarkdrive|choicespecs|timid|0,0,4,252,0,252|energyball|flamethrower|psychic|sludgewave": 2, - "grass|quarkdrive|assaultvest|timid|0,0,0,252,4,252|energyball|fierydance|psychic|sludgewave": 2, - "grass|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|energyball|fierydance|psychic|sludgewave": 1, - "grass|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|agility|energyball|fierydance|sludgewave": 1, - "flying|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|agility|fierydance|sludgewave|substitute": 1, - "grass|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|energyball|fierydance|morningsun|psychic": 1, - "grass|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|agility|energyball|fireblast|sludgewave": 1, - "fire|sheerforce|lifeorb|timid|0,0,0,252,4,252|agility|energyball|fireblast|sludgewave": 1, - "fire|magicguard|lifeorb|timid|0,0,0,252,4,252|energyball|fireblast|psychic|sludgewave": 1, - "fire|desolateland|heavydutyboots|calm|252,0,0,4,252,0|fierydance|morningsun|toxicspikes|uturn": 1, - "fire|solarpower|leftovers|mild|0,4,0,252,0,252|agility|dazzlinggleam|discharge|fierydance": 1, - "fire|serenegrace|airballoon|modest|0,0,0,252,4,252|agility|airslash|discharge|fierydance": 1, - "fire|beadsofruin|choicescarf|timid|0,0,0,252,4,252|discharge|fierydance|psychic|sludgewave": 1, - "fire|desolateland|heavydutyboots|timid|0,0,0,164,92,252|discharge|fierydance|morningsun|uturn": 1, - "fire|desolateland|choicescarf|timid|0,0,0,252,4,252|discharge|fierydance|overheat|sludgewave": 1, - "fire|serenegrace|assaultvest|timid|0,0,0,252,4,252|airslash|discharge|fierydance|hurricane": 1, - "fire|desolateland|choicescarf|timid|0,0,0,252,4,252|fierydance|overheat|sludgewave|solarbeam": 1, - "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|agility|fierydance|sludgewave|uturn": 1, - "fire|desolateland|heavydutyboots|modest|72,0,0,252,0,184|discharge|fierydance|morningsun|solarbeam": 1, - "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|energyball|flamethrower|overheat|sludgewave": 1, - "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|energyball|fireblast|sludgewave|toxicspikes": 1, - "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|discharge|energyball|fierydance|morningsun": 1, - "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|discharge|fierydance|morningsun|uturn": 2, - "grass|quarkdrive|boosterenergy|timid|120,0,0,132,4,252|energyball|flamethrower|nastyplot|sludgewave": 1 - }, - "arboliva": { - "fairy|seedsower|choicespecs|modest|248,0,0,252,8,0|earthpower|gigadrain|hypervoice|leafstorm": 1, - "steel|seedsower|choicespecs|modest|212,0,0,252,0,44|earthpower|gigadrain|hypervoice|leafstorm": 1, - "ghost|seedsower|choicespecs|modest|252,0,0,252,4,0|earthpower|gigadrain|hypervoice|leafstorm": 1, - "fairy|seedsower|leftovers|modest|248,0,0,252,8,0|earthpower|gigadrain|leechseed|terablast": 1, - "normal|seedsower|assaultvest|modest|248,0,0,252,8,0|dazzlinggleam|earthpower|energyball|hypervoice": 1, - "ghost|seedsower|terrainextender|calm|248,0,0,8,252,0|earthpower|leafstorm|leechseed|strengthsap": 1, - "steel|seedsower|leftovers|calm|252,0,4,0,252,0|energyball|leechseed|strengthsap|weatherball": 1 - }, - "frosmoth": { - "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|gigadrain|icebeam|quiverdance|terablast": 1, - "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|icebeam|quiverdance|terablast": 1, - "fire|icescales|heavydutyboots|timid|252,0,0,4,0,252|gigadrain|icebeam|quiverdance|terablast": 1 - }, - "altaria": { - "water|naturalcure|heavydutyboots|bold|252,0,252,4,0,0|defog|hurricane|roost|willowisp": 1, - "steel|naturalcure|heavydutyboots|calm|252,0,0,4,252,0|defog|firespin|perishsong|roost": 1 - }, - "vaporeon": { - "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|haze|protect|surf|wish": 1, - "water|furcoat|heavydutyboots|bold|248,0,252,8,0,0|calmmind|protect|surf|wish": 1, - "ghost|waterabsorb|covertcloak|bold|236,0,252,0,0,20|chillingwater|copycat|protect|wish": 2, - "water|drizzle|damprock|calm|248,0,0,8,252,0|haze|hydropump|protect|wish": 1, - "water|unaware|leftovers|bold|200,0,252,0,56,0|calmmind|icebeam|protect|wish": 1, - "dark|waterabsorb|leftovers|bold|252,0,252,0,4,0|calmmind|protect|surf|wish": 1, - "normal|swiftswim|lifeorb|timid|0,0,20,252,0,236|boomburst|icebeam|nastyplot|surf": 1, - "ground|waterabsorb|heavydutyboots|bold|248,0,252,0,8,0|protect|surf|wish|yawn": 1, - "grass|regenerator|heavydutyboots|impish|252,0,252,0,4,0|flipturn|rapidspin|roost|stealthrock": 1 - }, - "gallade": { - "fighting|sharpness|rockyhelmet|jolly|0,252,0,0,4,252|knockoff|leafblade|sacredsword|taunt": 1, - "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|nightslash|psychocut|sacredsword|trick": 1, - "ghost|sharpness|lifeorb|adamant|192,252,0,0,0,64|nightslash|psychocut|sacredsword|shadowsneak": 1, - "dark|sharpness|choicescarf|jolly|0,252,4,0,0,252|leafblade|nightslash|psychocut|sacredsword": 1 - }, - "klefki": { - "dark|prankster|lightclay|bold|252,0,252,4,0,0|drainingkiss|flashcannon|lightscreen|reflect": 1, - "steel|prankster|lightclay|bold|248,0,204,0,0,56|lightscreen|reflect|spikes|steelbeam": 1, - "psychic|prankster|leftovers|calm|4,0,252,0,252,0|calmmind|drainingkiss|irondefense|storedpower": 1, - "steel|prankster|lightclay|calm|248,0,8,0,252,0|foulplay|lightscreen|reflect|thunderwave": 1 - }, - "rotomfrost": { - "electric|levitate|choicespecs|timid|0,0,0,252,4,252|blizzard|darkpulse|discharge|voltswitch": 1, - "ground|levitate|choicescarf|modest|0,0,0,252,4,252|blizzard|thunderbolt|voltswitch|willowisp": 1 - }, - "dudunsparcethreesegment": { - "ghost|serenegrace|leftovers|calm|252,0,4,0,252,0|bodypress|bodyslam|curse|roost": 1, - "ghost|rattled|leftovers|calm|252,0,4,0,252,0|dragontail|glare|roost|stealthrock": 2, - "ghost|rattled|leftovers|bold|252,0,252,4,0,0|calmmind|glare|hex|roost": 1 - }, - "brutebonnet": { - "fire|protosynthesis|leftovers|adamant|252,252,0,0,4,0|seedbomb|spore|suckerpunch|terablast": 1, - "dark|protosynthesis|leftovers|adamant|252,252,0,0,4,0|crunch|seedbomb|spore|suckerpunch": 2, - "steel|protosynthesis|assaultvest|adamant|4,252,0,0,0,252|closecombat|crunch|seedbomb|suckerpunch": 1 - }, - "sableye": { - "fairy|prankster|leftovers|bold|252,0,252,0,4,0|encore|foulplay|recover|willowisp": 1 - }, - "arcanine": { - "fairy|intimidate|heavydutyboots|impish|252,0,252,0,0,4|flamethrower|morningsun|roar|willowisp": 1, - "normal|flashfire|choiceband|adamant|0,252,4,0,0,252|closecombat|extremespeed|flareblitz|psychicfangs": 1, - "fire|intimidate|heavydutyboots|careful|236,0,20,0,252,0|extremespeed|morningsun|roar|willowisp": 1, - "fire|intimidate|assaultvest|adamant|0,252,0,0,0,0|closecombat|extremespeed|flareblitz|snarl": 1 - }, - "crocalor": { - "fairy|unaware|eviolite|calm|252,0,0,4,252,0|flamethrower|roar|slackoff|willowisp": 1, - "grass|blaze|focussash|timid|4,0,0,252,0,252|flamethrower|hypervoice|terablast|yawn": 1, - "fairy|unaware|eviolite|bold|248,0,112,0,96,52|encore|flamethrower|slackoff|willowisp": 1, - "fairy|unaware|eviolite|calm|248,0,0,0,240,20|encore|flamethrower|slackoff|willowisp": 1, - "grass|unaware|eviolite|impish|252,4,252,0,0,0|curse|flareblitz|slackoff|yawn": 1 - }, - "heatran": { - "grass|flamebody|leftovers|bold|252,0,176,0,0,80|earthpower|lavaplume|protect|stealthrock": 1 - }, - "gastrodon": { - "steel|stormdrain|leftovers|calm|252,0,4,0,252,0|clearsmog|recover|scald|spikes": 1, - "water|icescales|heavydutyboots|sassy|252,0,72,0,184,0|earthquake|icebeam|recover|spikes": 1 - }, - "zapdos": { - "steel|static|heavydutyboots|bold|248,0,228,0,0,32|defog|discharge|hiddenpowerice|roost": 1 - }, - "pinsirmega": { - "flying|hypercutter|pinsirite|jolly|0,252,0,0,4,252|closecombat|frustration|quickattack|swordsdance": 1 - }, - "alomomola": { - "ghost|regenerator|heavydutyboots|bold|252,0,252,0,4,0|healingwish|protect|whirlpool|wish": 1, - "ghost|regenerator|heavydutyboots|impish|252,0,252,0,4,0|chillingwater|protect|whirlpool|wish": 5, - "flying|regenerator|heavydutyboots|relaxed|252,0,252,4,0,0|chillingwater|protect|whirlpool|wish": 1, - "grass|regenerator|ejectbutton|relaxed|240,0,16,0,252,0|foulplay|rapidspin|stealthrock|uturn": 1, - "steel|regenerator|choicescarf|jolly|0,0,252,0,4,252|finalgambit|switcheroo|uturn|wish": 1 - }, - "forretress": { - "water|sturdy|leftovers|relaxed|252,4,252,0,0,0|bodypress|gyroball|spikes|stealthrock": 1 - }, - "quagsire": { - "steel|unaware|leftovers|impish|252,4,252,0,0,0|earthquake|recover|spikes|toxic": 1, - "steel|unaware|leftovers|sassy|4,0,252,0,252,0|amnesia|curse|drainpunch|icepunch": 1, - "poison|unaware|leftovers|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic": 1 - }, - "wochien": { - "water|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|leechseed|powerwhip|protect": 1, - "steel|tabletsofruin|leftovers|bold|4,0,252,0,252,0|gigadrain|growth|ingrain|snarl": 1, - "fairy|tabletsofruin|leftovers|calm|248,0,8,0,252,0|darkpulse|gigadrain|leechseed|protect": 1, - "poison|tabletsofruin|leftovers|relaxed|252,0,252,0,4,0|gigadrain|knockoff|leechseed|protect": 1, - "fairy|tabletsofruin|leftovers|impish|252,0,92,0,164,0|knockoff|leechseed|protect|taunt": 1, - "steel|protean|leftovers|sassy|252,0,0,0,252,0|knockoff|synthesis|trickroom|uturn": 1 - }, - "luxray": { - "normal|guts|flameorb|lonely|0,252,0,4,0,252|crunch|facade|quickattack|voltswitch": 1 - }, - "corviknight": { - "fighting|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|irondefense|roost|uturn": 1, - "flying|pressure|leftovers|impish|248,0,220,0,40,0|bodypress|defog|roost|uturn": 1, - "dragon|pressure|rockyhelmet|relaxed|248,8,252,0,0,0|bodypress|bravebird|roost|uturn": 1, - "water|pressure|rockyhelmet|relaxed|248,8,252,0,0,0|bodypress|defog|roost|uturn": 1, - "ground|pressure|leftovers|calm|252,0,4,0,252,0|bodypress|defog|irondefense|roost": 1, - "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn": 1, - "water|pressure|rockyhelmet|impish|248,8,252,0,0,0|bodypress|defog|roost|uturn": 2, - "flying|icescales|leftovers|sassy|252,4,0,0,252,0|bravebird|defog|roost|uturn": 1, - "flying|goodasgold|leftovers|relaxed|252,0,56,0,200,0|bravebird|bulkup|roost|uturn": 1, - "flying|wellbakedbody|leftovers|sassy|252,0,4,0,252,0|bravebird|defog|roost|uturn": 1, - "ground|wellbakedbody|rockyhelmet|relaxed|252,0,252,0,4,0|bravebird|defog|roost|uturn": 1, - "ground|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn": 1, - "dragon|pressure|rockyhelmet|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn": 1, - "electric|pressure|rockyhelmet|relaxed|252,0,184,0,72,0|bravebird|defog|roost|uturn": 1, - "water|pressure|rockyhelmet|relaxed|252,0,184,0,72,0|bravebird|defog|roost|uturn": 1, - "normal|pressure|rockyhelmet|relaxed|248,0,252,0,4,0|bravebird|defog|roost|uturn": 1, - "flying|mirrorarmor|rockyhelmet|impish|248,8,252,0,0,0|bodypress|bravebird|roost|uturn": 1, - "steel|pressure|leftovers|impish|252,0,168,0,88,0|bodypress|defog|roost|uturn": 1, - "fire|pressure|leftovers|relaxed|252,4,252,0,0,0|bodypress|bravebird|roost|uturn": 1, - "dragon|pressure|covertcloak|relaxed|252,0,168,0,88,0|defog|ironhead|roost|uturn": 1, - "flying|pressure|rockyhelmet|impish|244,12,252,0,0,0|bodypress|defog|roost|uturn": 4, - "flying|mirrorarmor|heavydutyboots|adamant|248,252,0,0,8,0|bravebird|bulkup|defog|uturn": 1, - "flying|pressure|rockyhelmet|careful|252,0,88,0,164,4|bravebird|defog|roost|uturn": 3, - "dragon|pressure|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn": 1, - "fairy|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn": 2, - "dragon|mirrorarmor|rockyhelmet|impish|192,0,252,0,4,60|bodypress|defog|roost|uturn": 2, - "dragon|mirrorarmor|rockyhelmet|impish|192,0,252,0,4,60|defog|roost|tailwind|uturn": 1, - "normal|pressure|rockyhelmet|careful|248,0,8,0,252,0|bodypress|bravebird|defog|roost": 1, - "dark|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn": 2, - "dark|pressure|leftovers|relaxed|252,0,252,0,4,0|bodypress|defog|roost|uturn": 1, - "dragon|pressure|leftovers|careful|252,0,4,0,252,0|bravebird|defog|roost|uturn": 1, - "dark|pressure|rockyhelmet|careful|252,0,64,0,188,4|bulkup|defog|powertrip|roost": 1, - "|pressure|leftovers|impish|252,0,248,0,0,8|bravebird|bulkup|roost|taunt": 1, - "flying|pressure|leftovers|careful|252,0,88,0,168,0|bravebird|defog|roost|uturn": 1, - "fairy|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|irondefense|roost": 2, - "fighting|mirrorarmor|leftovers|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn": 1, - "fighting|pressure|leftovers|impish|252,0,252,0,4,0|bodypress|bravebird|roost|uturn": 1, - "fire|pressure|leftovers|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn": 1, - "flying|pressure|rockyhelmet|impish|252,0,252,0,4,0|defog|roost|tailwind|uturn": 1, - "ground|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn": 1, - "|pressure|leftovers|impish|248,0,220,0,40,0|bodypress|defog|roost|uturn": 1, - "fairy|pressure|leftovers|impish|252,0,60,0,168,28|bravebird|bulkup|roost|taunt": 1, - "flying|primordialsea|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost": 1, - "flying|wellbakedbody|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost": 3, - "flying|drizzle|damprock|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn": 2, - "flying|wellbakedbody|rockyhelmet|impish|248,8,252,0,0,0|bodypress|bravebird|defog|roost": 1, - "flying|filter|weaknesspolicy|careful|248,8,0,0,252,0|agility|irondefense|powertrip|roost": 1, - "flying|wellbakedbody|leftovers|careful|252,0,4,0,252,0|bodypress|defog|roost|uturn": 1, - "fairy|mirrorarmor|leftovers|careful|248,0,8,0,252,0|bravebird|bulkup|defog|roost": 1, - "flying|goodasgold|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn": 1, - "fairy|pressure|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn": 1, - "ground|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn": 1, - "flying|mirrorarmor|leftovers|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn": 1, - "flying|pressure|safetygoggles|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn": 1, - "flying|wellbakedbody|leftovers|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn": 2, - "flying|mirrorarmor|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn": 1, - "water|mirrorarmor|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn": 2, - "flying|pressure|leftovers|careful|248,8,0,0,252,0|bravebird|bulkup|roost|uturn": 1, - "fairy|mirrorarmor|leftovers|careful|248,0,8,0,252,0|bravebird|bulkup|roost|uturn": 1, - "steel|pressure|leftovers|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn": 1, - "flying|fluffy|rockyhelmet|relaxed|248,8,252,0,0,0|bravebird|defog|roost|uturn": 3, - "flying|vesselofruin|laggingtail|sassy|248,0,8,0,252,0|bravebird|defog|roost|uturn": 1, - "flying|toughclaws|rockyhelmet|relaxed|252,4,252,0,0,0|bravebird|ironhead|roost|uturn": 1, - "flying|wellbakedbody|leftovers|relaxed|252,0,252,0,4,0|bodypress|bravebird|roost|uturn": 1, - "dark|mirrorarmor|covertcloak|careful|248,0,0,0,128,132|agility|bulkup|powertrip|roost": 1, - "flying|mirrorarmor|leftovers|relaxed|252,4,252,0,0,0|bravebird|defog|roost|uturn": 1, - "dark|pressure|leftovers|impish|252,0,228,0,0,28|bravebird|bulkup|roost|uturn": 1, - "dragon|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|bulkup|defog|roost": 1, - "water|pressure|covertcloak|careful|248,0,8,0,252,0|bravebird|defog|roost|uturn": 1 - }, - "scizor": { - "grass|technician|expertbelt|jolly|4,252,0,0,0,252|bulletpunch|closecombat|pounce|uturn": 1, - "steel|technician|choiceband|adamant|156,252,0,0,8,0|bulletpunch|closecombat|defog|uturn": 1, - "water|technician|lifeorb|adamant|248,252,0,0,8,0|bulletpunch|defog|swordsdance|uturn": 1, - "steel|technician|leftovers|adamant|252,252,0,0,4,0|bulletpunch|closecombat|swordsdance|uturn": 1, - "rock|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|terablast|uturn": 1, - "steel|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|quickattack|uturn": 1, - "steel|technician|choiceband|adamant|248,252,0,0,8,0|aerialace|bulletpunch|defog|pounce": 1, - "normal|technician|heavydutyboots|adamant|228,252,0,0,0,28|bulletpunch|defog|quickattack|swordsdance": 1, - "steel|technician|assaultvest|adamant|252,96,0,0,160,0|bulletpunch|closecombat|thief|uturn": 1, - "steel|technician|heavydutyboots|adamant|252,252,0,0,4,0|bulletpunch|defog|thief|uturn": 1, - "bug|technician|scizorite|adamant|0,252,0,0,4,252|bulletpunch|closecombat|dualwingbeat|swordsdance": 1, - "steel|technician|heavydutyboots|jolly|0,252,4,0,0,248|bulletpunch|closecombat|swordsdance|uturn": 1, - "steel|technician|leftovers|careful|252,0,0,0,236,20|bulletpunch|swordsdance|thief|uturn": 1, - "bug|wellbakedbody|leftovers|adamant|252,252,0,0,4,0|bulletpunch|defog|swordsdance|uturn": 1, - "fighting|technician|choicescarf|jolly|0,252,0,0,4,252|closecombat|ironhead|pounce|uturn": 1, - "steel|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|thief|uturn": 1, - "steel|technician|choiceband|jolly|0,252,0,0,4,252|bulletpunch|pounce|thief|uturn": 1, - "steel|technician|heavydutyboots|adamant|232,252,0,0,0,24|bulletpunch|defog|swordsdance|uturn": 1 - }, - "tinglu": { - "fairy|vesselofruin|leftovers|careful|252,0,188,0,68,0|earthquake|protect|stealthrock|whirlwind": 1, - "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|spikes|stealthrock|whirlwind": 6, - "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind": 3, - "water|vesselofruin|leftovers|sassy|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind": 1, - "fairy|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind": 2, - "dark|toxicdebris|leftovers|impish|252,0,52,0,204,0|earthquake|spikes|stealthrock|whirlwind": 1, - "fairy|regenerator|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind": 1, - "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind": 2, - "ghost|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind": 1, - "water|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|spikes|stealthrock|whirlwind": 2, - "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|heavyslam|spikes|whirlwind": 1, - "ghost|vesselofruin|assaultvest|relaxed|252,0,128,4,124,0|bodypress|earthquake|ruination|throatchop": 2, - "fairy|vesselofruin|leftovers|careful|248,8,0,0,252,0|earthquake|protect|spikes|whirlwind": 2, - "dark|vesselofruin|leftovers|impish|252,4,252,0,0,0|earthquake|spikes|stealthrock|whirlwind": 1, - "dark|vesselofruin|leftovers|careful|252,0,0,0,252,0|earthquake|spikes|stealthrock|whirlwind": 2, - "steel|vesselofruin|leftovers|careful|252,0,4,0,248,4|earthquake|spikes|stealthrock|whirlwind": 1, - "fairy|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|ruination|stealthrock|whirlwind": 1, - "dark|vesselofruin|leftovers|sassy|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind": 2, - "grass|electricsurge|terrainextender|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind": 1, - "dark|regenerator|leftovers|impish|252,4,252,0,0,0|earthquake|stealthrock|throatchop|whirlwind": 1, - "dark|regenerator|leftovers|relaxed|252,4,252,0,0,0|earthquake|ruination|stealthrock|whirlwind": 1, - "poison|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|ruination|spikes|stealthrock": 1, - "water|vesselofruin|leftovers|relaxed|252,4,252,0,0,0|bodypress|earthquake|spikes|whirlwind": 1, - "water|vesselofruin|assaultvest|brave|208,228,0,0,72,0|earthquake|heavyslam|ruination|throatchop": 1, - "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|bulkup|powertrip|rest|sleeptalk": 1 - }, - "talonflame": { - "flying|flamebody|heavydutyboots|bold|244,0,252,12,0,0|airslash|defog|roost|willowisp": 1, - "fire|regenerator|heavydutyboots|jolly|252,0,60,0,0,196|bravebird|defog|taunt|willowisp": 1, - "ghost|flamebody|heavydutyboots|timid|252,0,192,0,0,64|defog|flamethrower|roost|willowisp": 1, - "normal|flamebody|heavydutyboots|bold|252,0,204,0,0,52|airslash|flamethrower|roost|willowisp": 1, - "fire|magicguard|focussash|jolly|0,252,0,0,4,252|bravebird|defog|flareblitz|swordsdance": 1, - "fire|galewings|heavydutyboots|jolly|0,252,0,0,4,252|flareblitz|sunnyday|tailwind|uturn": 1, - "grass|flamebody|heavydutyboots|bold|252,0,252,0,0,0|defog|roost|uturn|willowisp": 2, - "fire|magicguard|lifeorb|jolly|0,252,0,0,4,252|bravebird|defog|flareblitz|roost": 1 - }, - "gastrodoneast": { - "water|stormdrain|leftovers|bold|4,0,252,0,252,0|chillingwater|icebeam|recover|stealthrock": 2, - "water|stormdrain|covertcloak|calm|244,0,0,12,252,0|earthpower|recover|stealthrock|surf": 1 - }, - "tsareena": { - "grass|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|playrough|rapidspin|seedbomb|uturn": 1, - "steel|queenlymajesty|heavydutyboots|jolly|252,44,0,0,0,212|powerwhip|rapidspin|synthesis|uturn": 1 - }, - "magneton": { - "fire|magnetpull|eviolite|timid|0,0,0,252,4,252|discharge|flashcannon|terablast|voltswitch": 1 - }, - "clawitzer": { - "water|megalauncher|choicescarf|timid|0,0,4,252,0,252|aurasphere|darkpulse|icebeam|waterpulse": 1, - "dark|megalauncher|choicespecs|quiet|252,0,0,252,4,0|aurasphere|darkpulse|icebeam|waterpulse": 1, - "dark|megalauncher|choicespecs|quiet|252,0,0,252,4,0|aurasphere|darkpulse|hydropump|icebeam": 1, - "dragon|megalauncher|choicespecs|modest|248,0,0,252,8,0|aurasphere|darkpulse|uturn|waterpulse": 1 - }, - "rotomheat": { - "electric|levitate|choicespecs|timid|0,0,0,252,4,252|overheat|thunderbolt|trick|voltswitch": 1, - "electric|levitate|choicescarf|timid|0,0,0,252,4,252|nastyplot|overheat|trick|voltswitch": 1, - "electric|waterabsorb|heavydutyboots|calm|252,0,4,0,252,0|discharge|overheat|voltswitch|willowisp": 1, - "fairy|levitate|heavydutyboots|bold|248,0,252,0,0,8|nastyplot|overheat|terablast|voltswitch": 1 - }, - "breloom": { - "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance": 1, - "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|bulletseed|machpunch|rocktomb|spore": 1, - "fighting|technician|focussash|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance": 1, - "grass|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|closecombat|machpunch|spore": 1, - "grass|technician|focussash|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance": 1, - "steel|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance": 1, - "fairy|technician|loadeddice|adamant|252,252,0,0,0,4|bulletseed|machpunch|spore|substitute": 1, - "fighting|technician|focussash|jolly|0,252,0,0,0,252|machpunch|rocktomb|spore|swordsdance": 1, - "steel|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|substitute": 1, - "fire|technician|choiceband|jolly|68,252,0,0,0,188|bulletseed|machpunch|rocktomb|terablast": 1, - "fire|technician|loadeddice|brave|252,252,4,0,0,0|bulletseed|closecombat|machpunch|terablast": 1, - "water|poisonheal|toxicorb|impish|248,8,252,0,0,0|focuspunch|leechseed|spore|substitute": 1, - "fire|poisonheal|toxicorb|impish|248,8,252,0,0,0|bulletseed|machpunch|spore|terablast": 1, - "fire|technician|focussash|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance": 1, - "fire|technician|loadeddice|jolly|0,252,0,0,4,252|bulletseed|machpunch|swordsdance|terablast": 1 - }, - "ceruledge": { - "fire|flashfire|choicescarf|jolly|0,252,0,0,4,252|bitterblade|closecombat|destinybond|flareblitz": 1, - "normal|flashfire|heavydutyboots|adamant|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance": 1, - "fighting|flashfire|focussash|hasty|0,252,0,4,0,252|bitterblade|closecombat|shadowsneak|swordsdance": 1, - "ghost|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance": 1, - "fairy|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance": 2, - "bug|flashfire|leftovers|adamant|248,156,0,0,72,32|bitterblade|shadowsneak|swordsdance|taunt": 1, - "fairy|flashfire|heavydutyboots|careful|252,0,0,0,200,56|bitterblade|bulkup|shadowsneak|taunt": 1, - "fire|flashfire|choicescarf|naive|4,252,0,0,0,252|closecombat|destinybond|flareblitz|shadowsneak": 1, - "flying|unaware|heavydutyboots|jolly|248,0,0,0,124,136|bitterblade|bulkup|shadowsneak|slackoff": 1 - }, - "hydreigon": { - "dragon|levitate|choicespecs|modest|0,0,0,252,4,252|darkpulse|dracometeor|flamethrower|surf": 1, - "steel|levitate|lifeorb|timid|0,0,0,252,4,252|darkpulse|dracometeor|earthpower|stealthrock": 1, - "steel|levitate|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|dracometeor|earthpower|flashcannon": 1, - "fairy|levitate|leftovers|sassy|248,0,0,8,252,0|dracometeor|rest|sleeptalk|uturn": 1, - "poison|levitate|widelens|timid|0,0,0,252,4,252|darkpulse|dracometeor|fireblast|stealthrock": 1, - "steel|levitate|lifeorb|timid|0,0,0,252,4,252|darkpulse|dracometeor|flashcannon|uturn": 1, - "steel|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|flashcannon|uturn": 1, - "poison|levitate|expertbelt|modest|0,0,4,252,0,252|dragonpulse|flamethrower|nastyplot|terablast": 1 - }, - "annihilape": { - "water|defiant|focussash|jolly|0,252,0,0,4,252|closecombat|ragefist|stealthrock|taunt": 1, - "water|defiant|punchingglove|jolly|100,156,0,0,0,252|bulkup|drainpunch|protect|ragefist": 1, - "water|defiant|leftovers|careful|252,252,4,0,0,0|bulkup|drainpunch|ragefist|taunt": 1, - "water|defiant|leftovers|careful|252,0,0,0,180,76|bulkup|drainpunch|ragefist|taunt": 1, - "ghost|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|drainpunch|ragefist|uturn": 1, - "water|defiant|chestoberry|careful|248,0,0,0,240,20|bulkup|drainpunch|ragefist|rest": 1, - "water|defiant|leftovers|careful|252,0,4,0,252,0|bulkup|drainpunch|ragefist|taunt": 1, - "fairy|defiant|leftovers|adamant|252,76,0,0,180,0|bulkup|drainpunch|ragefist|taunt": 1, - "fire|defiant|leftovers|jolly|248,0,0,0,28,232|bulkup|drainpunch|ragefist|taunt": 1 - }, - "stantler": { - "normal|intimidate|choicescarf|jolly|252,0,0,0,4,252|earthquake|skillswap|terablast|trick": 1 - }, - "armarouge": { - "fighting|flashfire|covertcloak|timid|0,0,4,252,0,252|aurasphere|heatwave|psychic|trickroom": 1, - "fighting|weakarmor|weaknesspolicy|timid|0,0,0,252,4,252|aurasphere|calmmind|flamethrower|storedpower": 1, - "psychic|weakarmor|weaknesspolicy|bold|0,0,172,176,0,160|armorcannon|endure|expandingforce|shadowball": 2, - "fire|psychicsurge|choicescarf|timid|0,0,0,252,4,252|armorcannon|expandingforce|shadowball|trick": 1 - }, - "eevee": { - "normal|adaptability|lifeorb|adamant|76,236,36,0,0,156|bite|doubleedge|quickattack|trailblaze": 1 - }, - "fidough": { - "fighting|owntempo|eviolite|impish|60,76,196,0,156,0|playrough|protect|roar|wish": 1 - }, - "buizel": { - "water|waterveil|lifeorb|adamant|0,236,0,0,36,236|aquajet|brickbreak|icespinner|wavecrash": 1 - }, - "sandile": { - "dark|moxie|choicescarf|adamant|0,180,0,0,76,236|aquatail|crunch|earthquake|rockslide": 1 - }, - "glimmet": { - "rock|toxicdebris|focussash|timid|0,0,20,236,36,196|mudshot|powergem|sludgewave|stealthrock": 1, - "flying|toxicdebris|focussash|timid|0,0,20,236,36,196|mudshot|powergem|sludgewave|stealthrock": 1, - "ghost|toxicdebris|focussash|timid|0,0,0,252,4,252|mudshot|powergem|spikes|stealthrock": 1 - }, - "toedscool": { - "ground|myceliummight|eviolite|timid|196,0,76,36,0,196|earthpower|gigadrain|knockoff|rapidspin": 1, - "steel|myceliummight|eviolite|timid|196,0,76,36,0,196|earthpower|gigadrain|knockoff|rapidspin": 2 - }, - "nymble": { - "bug|tintedlens|lifeorb|adamant|0,228,36,0,0,236|firstimpression|leechlife|suckerpunch|uturn": 1 - }, - "girafarig": { - "fighting|earlybird|eviolite|timid|0,0,76,196,0,236|nastyplot|rest|terablast|twinbeam": 1, - "fighting|sapsipper|eviolite|timid|0,0,76,196,0,236|nastyplot|protect|terablast|twinbeam": 1 - }, - "meowth": { - "normal|technician|lifeorb|jolly|36,236,0,0,36,196|bite|fakeout|feint|uturn": 1, - "normal|technician|lifeorb|adamant|0,252,4,0,0,252|fakeout|lastresort": 1 - }, - "magnemite": { - "ice|analytic|choicescarf|timid|0,0,116,236,0,156|flashcannon|terablast|thunderbolt|voltswitch": 1 - }, - "dratini": { - "normal|shedskin|lifeorb|adamant|28,244,0,0,36,196|dragondance|extremespeed|outrage|waterfall": 1 - }, - "pawniard": { - "flying|defiant|eviolite|jolly|0,236,36,0,36,196|brickbreak|ironhead|nightslash|suckerpunch": 1, - "flying|defiant|eviolite|jolly|0,156,36,0,116,196|brickbreak|nightslash|suckerpunch|swordsdance": 1 - }, - "shellos": { - "grass|stickyhold|eviolite|bold|228,0,212,0,20,4|earthpower|icebeam|recover|stealthrock": 1 - }, - "wattrel": { - "fighting|voltabsorb|heavydutyboots|timid|36,0,0,236,36,196|hurricane|terablast|thunderbolt|voltswitch": 1 - }, - "crabrawler": { - "electric|ironfist|eviolite|jolly|0,180,60,0,0,252|bulkup|drainpunch|icepunch|thunderpunch": 1 - }, - "cryogonal": { - "electric|levitate|heavydutyboots|calm|252,0,4,0,252,0|haze|icebeam|rapidspin|recover": 1, - "electric|levitate|heavydutyboots|calm|252,0,4,0,252,0|freezedry|haze|rapidspin|recover": 1, - "poison|levitate|lightclay|timid|0,0,0,252,4,252|freezedry|lightscreen|rapidspin|reflect": 1 - }, - "gardevoir": { - "fairy|trace|choicescarf|timid|0,0,0,252,4,252|moonblast|mysticalfire|psychic|trick": 2, - "fairy|trace|choicescarf|timid|0,0,0,252,4,252|healingwish|moonblast|psyshock|trick": 1 - }, - "naclstack": { - "steel|purifyingsalt|eviolite|impish|252,0,252,0,4,0|bodypress|irondefense|recover|saltcure": 1, - "water|purifyingsalt|eviolite|careful|248,0,8,0,252,0|protect|recover|saltcure|stealthrock": 1 - }, - "primeape": { - "ghost|defiant|eviolite|jolly|252,0,4,0,0,252|bulkup|drainpunch|ragefist|taunt": 1, - "ghost|defiant|focussash|jolly|0,252,0,0,4,252|closecombat|ragefist|stealthrock|taunt": 1 - }, - "basculinbluestriped": { - "water|adaptability|choiceband|adamant|0,252,0,0,4,252|aquajet|crunch|psychicfangs|wavecrash": 1, - "water|rockhead|choiceband|jolly|0,252,0,0,4,252|aquajet|headsmash|psychicfangs|wavecrash": 1 - }, - "staraptor": { - "flying|reckless|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|doubleedge|uturn": 1, - "normal|reckless|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|doubleedge|uturn": 1 - }, - "tinkaton": { - "water|moldbreaker|leftovers|impish|248,0,252,0,8,0|gigatonhammer|knockoff|stealthrock|thunderwave": 1, - "ghost|moldbreaker|focussash|jolly|0,252,4,0,0,252|brickbreak|gigatonhammer|knockoff|stealthrock": 1, - "flying|owntempo|focussash|jolly|0,252,0,0,4,252|gigatonhammer|knockoff|playrough|protect": 1, - "dark|moldbreaker|leftovers|careful|252,84,0,0,172,0|encore|gigatonhammer|knockoff|thunderwave": 1, - "fairy|tintedlens|covertcloak|adamant|0,252,0,0,4,252|gigatonhammer|knockoff|playrough|swordsdance": 1, - "ghost|moldbreaker|leftovers|careful|252,84,0,0,172,0|encore|gigatonhammer|knockoff|stealthrock": 1, - "fairy|prankster|airballoon|sassy|252,4,0,0,252,0|gigatonhammer|spikes|stealthrock|trickroom": 1 - }, - "bronzong": { - "fighting|levitate|leftovers|relaxed|252,0,252,0,4,0|bodypress|gyroball|stealthrock|trickroom": 2, - "steel|heatproof|lightclay|sassy|252,4,0,0,252,0|gyroball|lightscreen|reflect|trickroom": 1 - }, - "ursaring": { - "normal|guts|flameorb|brave|248,252,0,0,8,0|crunch|facade|firepunch|playrough": 1, - "water|guts|eviolite|careful|252,0,4,0,252,0|bodyslam|bulkup|rest|sleeptalk": 1, - "ghost|guts|eviolite|adamant|4,252,252,0,0,0|bodyslam|earthquake|rest|sleeptalk": 1, - "normal|technician|widelens|brave|248,252,0,0,8,0|closecombat|earthquake|populationbomb|quickattack": 2 - }, - "crabominable": { - "ice|ironfist|choiceband|adamant|252,252,0,0,4,0|closecombat|earthquake|icehammer|rockslide": 1, - "steel|ironfist|punchingglove|adamant|0,252,52,0,0,204|bulkup|drainpunch|icepunch|thunderpunch": 1 - }, - "mabosstiff": { - "dark|stakeout|choiceband|brave|252,252,0,0,4,0|crunch|doubleedge|firefang|playrough": 1 - }, - "dunsparce": { - "fairy|serenegrace|eviolite|careful|252,4,0,0,252,0|bite|bodyslam|coil|roost": 1 - }, - "komala": { - "normal|comatose|assaultvest|adamant|252,252,0,0,4,0|bodyslam|rapidspin|suckerpunch|uturn": 1 - }, - "weavile": { - "ice|pressure|heavydutyboots|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|swordsdance": 1, - "dark|pressure|heavydutyboots|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|swordsdance": 1, - "dark|pressure|heavydutyboots|adamant|0,252,0,0,4,252|iceshard|iciclecrash|swordsdance|terablast": 1, - "dark|technician|choiceband|jolly|0,252,0,0,4,252|beatup|bite|iceshard|poisonjab": 1, - "dark|sheerforce|lifeorb|modest|0,0,0,252,4,252|darkpulse|focusblast|icebeam|nastyplot": 1, - "dark|pickpocket|choiceband|jolly|0,252,0,0,4,252|iceshard|icespinner|lowkick|nightslash": 1 - }, - "awawadw)(oricoriopompom)": { - "steel|dancer|heavydutyboots|timid|248,0,8,0,0,252|hurricane|quiverdance|revelationdance|roost": 1 - }, - ">b)(krookodile)": { - "fighting|moxie|choicescarf|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|stoneedge": 1 - }, - "chiyu": { - "fire|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|fireblast|flamethrower|overheat": 2, - "dark|beadsofruin|heavydutyboots|timid|0,0,4,252,0,252|darkpulse|flamecharge|flamethrower|psychic": 1, - "dark|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|flamethrower|memento|psychic": 1, - "fairy|beadsofruin|choicespecs|modest|252,0,52,164,0,40|darkpulse|flamethrower|overheat|terablast": 1, - "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|willowisp": 2, - "grass|beadsofruin|choicespecs|timid|4,0,0,252,0,252|darkpulse|flamethrower|overheat|terablast": 2, - "dark|beadsofruin|leftovers|relaxed|4,0,252,0,252,0|darkpulse|nastyplot|rest|willowisp": 1, - "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic": 6, - "fire|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|flamethrower|nastyplot|overheat": 1, - "grass|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|nastyplot|overheat|terablast": 1, - "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|fireblast|overheat|psychic": 1, - "fire|beadsofruin|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic": 3, - "|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|lavaplume|nastyplot|overheat": 1, - "fire|beadsofruin|choicescarf|timid|4,0,0,252,0,252|darkpulse|flamethrower|overheat|psychic": 2, - "fire|beadsofruin|heavydutyboots|timid|0,0,4,252,0,252|darkpulse|fireblast|taunt|willowisp": 1, - "|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic": 1, - "dark|chlorophyll|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic": 3, - "dark|desolateland|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|fireblast|nastyplot|psychic": 1 - }, - "hariyama": { - "fairy|thickfat|assaultvest|careful|216,0,40,0,252,0|drainpunch|earthquake|icepunch|knockoff": 1, - "fairy|thickfat|assaultvest|careful|216,0,40,0,252,0|drainpunch|earthquake|heavyslam|heavyslam": 1, - "fighting|guts|punchingglove|adamant|148,252,0,0,0,108|bulletpunch|closecombat|icepunch|thunderpunch": 1, - "water|thickfat|leftovers|careful|208,4,0,0,252,44|bulkup|drainpunch|noretreat|ragefist": 1 - }, - "rotommow": { - "grass|levitate|choicespecs|timid|0,0,0,252,4,252|leafstorm|trick|voltswitch|willowisp": 1 - }, - "screamtail": { - "fairy|protosynthesis|leftovers|calm|252,0,4,0,252,0|flamethrower|protect|stealthrock|wish": 1, - "fairy|unaware|leftovers|bold|252,0,252,4,0,0|dazzlinggleam|encore|protect|wish": 1, - "steel|pixilate|heavydutyboots|timid|252,0,0,80,0,176|boomburst|encore|protect|wish": 1, - "water|protosynthesis|leftovers|calm|252,0,76,0,180,0|dazzlinggleam|encore|protect|wish": 1, - "water|protosynthesis|leftovers|calm|252,0,4,0,252,0|dazzlinggleam|encore|protect|wish": 1, - "fairy|protosynthesis|lightclay|timid|252,0,0,0,4,252|encore|lightscreen|reflect|stealthrock": 1, - "fairy|protosynthesis|lightclay|timid|252,0,0,0,4,252|lightscreen|protect|reflect|thunderwave": 1, - "fairy|vesselofruin|leftovers|timid|252,0,0,4,0,252|dazzlinggleam|encore|protect|wish": 1, - "fairy|tabletsofruin|rockyhelmet|timid|252,0,0,0,4,252|dazzlinggleam|encore|stealthrock|wish": 1, - "fairy|pixilate|lightclay|timid|252,0,0,0,0,252|boomburst|lightscreen|reflect|wish": 1, - "fairy|stamina|leftovers|timid|252,0,192,0,0,64|calmmind|dazzlinggleam|storedpower|wish": 1, - "fairy|protosynthesis|leftovers|bold|252,0,140,0,116,0|dazzlinggleam|encore|stealthrock|wish": 1, - "steel|protosynthesis|heavydutyboots|timid|252,0,0,4,0,252|dazzlinggleam|protect|stealthrock|wish": 1, - "fire|protosynthesis|leftovers|bold|252,0,136,0,4,116|dazzlinggleam|encore|protect|wish": 1, - "water|magicbounce|leftovers|bold|252,0,252,4,0,0|moonblast|protect|teleport|wish": 1 - }, - "ironbundle": { - "ice|primordialsea|choicespecs|timid|0,0,0,252,4,252|flipturn|freezedry|hydropump|icebeam": 1, - "water|magicguard|lifeorb|timid|0,0,0,252,4,252|flipturn|freezedry|hydropump|icebeam": 1, - "ice|quarkdrive|boosterenergy|timid|100,0,38,0,124,248|freezedry|helpinghand|icywind|protect": 1, - "ice|quarkdrive|boosterenergy|modest|0,0,4,252,0,252|agility|freezedry|hydropump|substitute": 1, - "|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|blizzard|flipturn|freezedry|hydropump": 1, - "ice|snowwarning|lightclay|timid|0,0,0,252,4,252|auroraveil|flipturn|freezedry|hydropump": 1, - "ice|quarkdrive|heavydutyboots|timid|4,0,0,252,0,252|encore|freezedry|hydropump|icebeam": 1 - }, - "sandyshocks": { - "electric|hadronengine|choicescarf|timid|0,0,0,252,4,252|earthpower|spikes|thunderbolt|voltswitch": 1, - "electric|protosynthesis|assaultvest|calm|232,0,0,8,252,16|earthpower|mirrorcoat|thunderbolt|voltswitch": 1, - "electric|protosynthesis|choicespecs|timid|0,0,0,252,4,252|discharge|earthpower|flashcannon|voltswitch": 1, - "steel|protosynthesis|choicescarf|timid|0,0,0,252,4,252|earthpower|flashcannon|powergem|voltswitch": 2, - "grass|protosynthesis|choicescarf|timid|0,0,0,252,4,252|earthpower|flashcannon|spikes|voltswitch": 1, - "electric|hadronengine|choicescarf|timid|0,0,0,252,4,252|earthpower|spikes|thunder|voltswitch": 1, - "electric|noguard|choicescarf|modest|0,0,4,252,0,252|earthpower|powergem|voltswitch|zapcannon": 1, - "ground|protosynthesis|choicespecs|timid|0,0,4,252,0,252|earthpower|spikes|thunderbolt|voltswitch": 1, - "electric|eartheater|choicescarf|timid|0,0,0,252,4,252|discharge|earthpower|stealthrock|voltswitch": 1, - "electric|hadronengine|focussash|timid|0,0,0,252,4,252|earthpower|spikes|stealthrock|thunderbolt": 1, - "electric|noguard|assaultvest|timid|0,0,0,252,4,252|earthpower|mirrorcoat|voltswitch|zapcannon": 1, - "electric|hadronengine|choicescarf|modest|0,0,0,252,4,252|earthpower|spikes|thunderbolt|voltswitch": 1 - }, - "florges": { - "fairy|icescales|heavydutyboots|calm|248,0,224,0,36,0|calmmind|moonblast|synthesis|wish": 1, - "grass|wellbakedbody|leftovers|bold|252,0,252,0,0,4|calmmind|drainingkiss|gigadrain|storedpower": 1 - }, - "gyarados": { - "water|fluffy|leftovers|adamant|248,76,0,0,0,184|dragondance|stoneedge|taunt|waterfall": 1, - "ground|drizzle|choiceband|jolly|0,252,0,0,4,252|bravebird|earthquake|liquidation|uturn": 1, - "grass|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragondance|taunt|terablast|waterfall": 1 - }, - "toedscruel": { - "ground|myceliummight|leftovers|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore": 3, - "ground|myceliummight|heavydutyboots|modest|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore": 1, - "steel|myceliummight|leftovers|sassy|252,0,0,72,184,0|earthpower|rapidspin|spore|trickroom": 1, - "ground|myceliummight|leftovers|calm|252,0,0,0,252,0|earthpower|rapidspin|sludgebomb|spore": 1, - "grass|myceliummight|focussash|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spikes": 2, - "water|myceliummight|leftovers|bold|248,0,240,0,0,20|earthpower|knockoff|leechseed|spikes": 1, - "water|myceliummight|leftovers|careful|252,0,4,0,252,0|knockoff|rapidspin|spikes|spore": 1, - "ground|raindish|leftovers|calm|4,0,0,0,252,252|leechseed|protect|raindance|toxic": 1, - "steel|myceliummight|sitrusberry|relaxed|252,0,252,4,0,0|knockoff|spikes|spore|trickroom": 1, - "water|myceliummight|leftovers|calm|232,0,28,0,216,32|earthpower|rapidspin|spikes|spore": 1 - }, - "slowbromega": { - "water|regenerator|slowbronite|bold|252,0,252,4,0,0|futuresight|scald|slackoff|teleport": 1 - }, - "scovillain": { - "ice|chlorophyll|lifeorb|modest|0,0,0,252,4,252|energyball|fireblast|growth|terablast": 1, - "dragon|chlorophyll|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|gigadrain|growth|terablast": 1, - "fire|chlorophyll|lifeorb|modest|0,0,0,252,4,252|fireblast|gigadrain|growth|solarbeam": 1 - }, - "abomasnow": { - "fairy|snowwarning|lightclay|bold|252,0,252,0,4,0|auroraveil|blizzard|bodypress|leechseed": 1, - "ice|snowwarning|lightclay|calm|248,0,0,8,252,0|auroraveil|blizzard|gigadrain|leechseed": 1 - }, - "dragalge": { - "flying|adaptability|lifeorb|quiet|252,0,4,252,0,0|dracometeor|shadowball|sludgebomb|thunderbolt": 1, - "dragon|adaptability|choicespecs|modest|68,0,0,252,0,188|dracometeor|focusblast|sludgebomb|toxic": 1, - "poison|adaptability|heavydutyboots|modest|252,0,0,124,0,132|dracometeor|sludgebomb|toxic|toxicspikes": 1 - }, - "slitherwing": { - "bug|protosynthesis|choiceband|brave|252,252,4,0,0,0|closecombat|earthquake|firstimpression|uturn": 1, - "electric|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|firstimpression|uturn|wildcharge": 1, - "fire|protosynthesis|heavydutyboots|adamant|252,4,252,0,0,0|firstimpression|flareblitz|morningsun|willowisp": 1, - "fire|protosynthesis|heavydutyboots|impish|252,0,252,0,4,0|bodypress|morningsun|uturn|willowisp": 1, - "bug|protosynthesis|choiceband|adamant|88,252,0,0,0,168|closecombat|firstimpression|flareblitz|uturn": 1, - "bug|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|earthquake|leechlife|uturn": 1, - "bug|orichalcumpulse|heatrock|adamant|252,252,0,0,4,0|closecombat|firstimpression|flareblitz|uturn": 1, - "bug|adaptability|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|flareblitz|uturn": 1, - "electric|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|uturn|wildcharge": 1, - "flying|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|acrobatics|bulkup|closecombat|flamecharge": 1, - "bug|tintedlens|choiceband|adamant|248,44,0,0,216,0|closecombat|firstimpression|uturn|wildcharge": 1, - "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|flareblitz|uturn": 1, - "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|firstimpression|morningsun|uturn|willowisp": 1 - }, - "sawsbuckwinter": { - "normal|chlorophyll|lifeorb|adamant|0,252,0,0,4,252|doubleedge|playrough|stompingtantrum|swordsdance": 1 - }, - "flapple": { - "grass|hustle|widelens|jolly|0,252,0,0,4,252|dragondance|gravapple|outrage|suckerpunch": 1 - }, - "flareon": { - "fire|guts|choiceband|adamant|0,252,0,0,4,252|bodyslam|flareblitz|quickattack|trailblaze": 1, - "ghost|libero|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|crunch|extremespeed|slackoff": 1 - }, - "zangoose": { - "ghost|toxicboost|choiceband|jolly|0,252,0,0,4,252|bodyslam|closecombat|gunkshot|shadowclaw": 1, - "normal|toxicboost|toxicorb|jolly|0,252,0,0,4,252|closecombat|facade|quickattack|swordsdance": 1 - }, - "pincurchin": { - "electric|electricsurge|terrainextender|sassy|252,4,0,0,252,0|discharge|memento|suckerpunch|toxicspikes": 1, - "dark|electricsurge|terrainextender|brave|248,252,0,0,8,0|discharge|recover|spikes|suckerpunch": 1, - "electric|electricsurge|ejectbutton|bold|252,0,252,4,0,0|discharge|memento|thunderwave|toxicspikes": 1, - "flying|electricsurge|terrainextender|relaxed|252,4,252,0,0,0|discharge|liquidation|spikes|toxicspikes": 1 - }, - "honchkrow": { - "dark|moxie|mirrorherb|adamant|0,252,4,0,0,252|acrobatics|nightslash|suckerpunch|swagger": 1, - "flying|moxie|lifeorb|hasty|0,252,0,4,0,252|bravebird|heatwave|nightslash|suckerpunch": 1 - }, - "masquerain": { - "ghost|intimidate|focussash|modest|0,0,0,252,4,252|hurricane|quiverdance|stickyweb|stunspore": 1, - "ghost|intimidate|focussash|timid|4,0,0,252,0,252|foulplay|icywind|stickyweb|whirlwind": 1, - "bug|intimidate|focussash|jolly|252,0,0,0,4,252|airslash|stickyweb|uturn|whirlwind": 1, - "ghost|intimidate|focussash|modest|0,0,0,252,4,252|hurricane|hydropump|icebeam|stickyweb": 1, - "ghost|intimidate|focussash|timid|0,0,0,252,4,252|hurricane|icebeam|quiverdance|stickyweb": 1 - }, - "bombirdier": { - "rock|rockypayload|choiceband|jolly|0,252,0,0,4,252|bravebird|knockoff|stoneedge|uturn": 1 - }, - "toxtricity": { - "normal|punkrock|choicespecs|modest|100,0,0,252,0,156|boomburst|overdrive|sludgebomb|voltswitch": 1, - "normal|punkrock|choicespecs|modest|0,0,4,252,0,252|boomburst|overdrive|snarl|voltswitch": 1 - }, - "leadme": { - "water|waterabsorb|leftovers|calm|252,0,4,0,252,0|recover|spikes|stealthrock|toxicspikes": 1 - }, - "surskit": { - "ghost|swiftswim|focussash|timid|36,0,20,196,20,236|gigadrain|hydropump|icywind|stickyweb": 1 - }, - "bramblin": { - "ghost|windrider|eviolite|adamant|0,236,36,0,0,236|rapidspin|seedbomb|shadowsneak|strengthsap": 1 - }, - "koraidon": { - "fire|orichalcumpulse|heavydutyboots|jolly|0,252,0,0,4,252|bulkup|drainpunch|flamecharge|taunt": 1, - "fighting|orichalcumpulse|choicescarf|jolly|0,252,0,0,4,252|collisioncourse|dragonclaw|flareblitz|uturn": 1, - "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|brickbreak|closecombat|flareblitz|wildcharge": 1 - }, - "fluttermane": { - "fairy|protosynthesis|boosterenergy|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|thunderbolt": 1, - "ghost|protosynthesis|leftovers|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|substitute": 1, - "fairy|protosynthesis|choicespecs|modest|0,0,0,252,4,252|dazzlinggleam|moonblast|mysticalfire|shadowball": 1, - "fairy|protosynthesis|expertbelt|timid|4,0,0,252,0,252|moonblast|mysticalfire|psyshock|shadowball": 1 - }, - "garchompmega": { - "dragon|roughskin|garchompite|jolly|0,252,0,0,4,252|earthquake|scaleshot|stoneedge|swordsdance": 1 - }, - "toxapex": { - "steel|regenerator|heavydutyboots|bold|252,0,252,0,4,0|haze|recover|scald|toxic": 1, - "steel|regenerator|blacksludge|bold|252,0,252,4,0,0|chillingwater|haze|recover|toxic": 1, - "steel|regenerator|blacksludge|calm|252,0,0,0,236,20|haze|recover|surf|toxic": 1, - "dark|regenerator|blacksludge|careful|252,0,4,0,252,0|banefulbunker|haze|liquidation|toxic": 1, - "normal|regenerator|rockyhelmet|impish|248,0,252,0,0,8|haze|liquidation|recover|toxic": 1, - "dark|regenerator|blacksludge|calm|252,0,4,0,252,0|haze|surf|toxic|toxicspikes": 1, - "fairy|regenerator|heavydutyboots|bold|252,0,252,0,4,0|haze|infestation|recover|toxic": 1, - "steel|regenerator|blacksludge|bold|252,0,252,4,0,0|haze|infestation|recover|toxic": 1, - "grass|regenerator|covertcloak|impish|248,0,248,0,0,12|banefulbunker|infestation|poisonjab|recover": 1, - "poison|corrosion|blacksludge|careful|252,0,4,0,252,0|banefulbunker|chillingwater|recover|toxic": 1, - "grass|regenerator|rockyhelmet|bold|248,0,252,8,0,0|chillingwater|haze|recover|toxic": 1, - "poison|regenerator|blacksludge|bold|252,0,252,0,4,0|haze|recover|surf|toxic": 1, - "fairy|regenerator|covertcloak|bold|248,0,140,0,116,4|haze|recover|surf|toxic": 1 - }, - "xurkitree": { - "electric|beastboost|psychiumz|timid|0,0,0,252,4,252|energyball|hypnosis|thunderbolt|voltswitch": 1 - }, - "houndoommega": { - "dark|flashfire|houndoominite|timid|0,0,0,252,4,252|darkpulse|flamethrower|nastyplot|solarbeam": 1 - }, - "greninja": { - "ground|battlebond|expertbelt|timid|0,0,0,252,4,252|darkpulse|icebeam|terablast|watershuriken": 1, - "water|battlebond|choicespecs|timid|0,0,0,252,4,252|darkpulse|icebeam|surf|watershuriken": 1, - "water|protean|choicespecs|timid|0,0,0,252,0,252|darkpulse|hydropump|icebeam|uturn": 2, - "water|protean|choicespecs|timid|4,0,0,252,0,252|grassknot|hydropump|icebeam|uturn": 1, - "ghost|protean|focussash|timid|0,0,4,252,0,252|darkpulse|spikes|taunt|toxicspikes": 2, - "water|battlebond|loadeddice|modest|0,0,0,252,4,252|darkpulse|hydropump|icebeam|watershuriken": 1, - "flying|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|switcheroo": 1, - "water|protean|choicespecs|timid|4,0,0,252,0,252|blizzard|darkpulse|grassknot|hydropump": 1, - "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|hydropump|icebeam": 1, - "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|icebeam|surf": 3, - "water|protean|choicescarf|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|uturn": 1, - "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|switcheroo": 1, - "water|queenlymajesty|lifeorb|timid|0,0,0,252,4,252|darkpulse|icebeam|surf|uturn": 1, - "ice|protean|choicescarf|timid|0,0,0,252,4,252|grassknot|hydropump|icebeam|uturn": 1, - "grass|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|hydropump|icebeam": 1, - "water|protean|choicescarf|hasty|0,216,0,252,0,40|grassknot|gunkshot|icebeam|rockslide": 1, - "water|protean|choicespecs|hasty|0,4,0,252,0,252|darkpulse|grassknot|hydropump|icebeam": 1, - "water|protean|focussash|timid|0,0,0,252,4,252|hydropump|spikes|taunt|toxicspikes": 1 - }, - "swampertmega": { - "water|swiftswim|swampertite|adamant|0,252,0,0,4,252|earthquake|flipturn|icepunch|liquidation": 1 - }, - "barraskewda": { - "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|closecombat|flipturn|liquidation|psychicfangs": 1, - "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|closecombat|icefang|liquidation|psychicfangs": 1, - "water|swiftswim|choiceband|adamant|4,252,0,0,0,252|aquajet|closecombat|liquidation|psychicfangs": 1, - "water|swiftswim|lifeorb|adamant|0,252,4,0,0,252|aquajet|closecombat|crunch|liquidation": 1, - "ghost|swiftswim|choiceband|adamant|0,252,4,0,0,252|closecombat|flipturn|jetpunch|wavecrash": 1, - "ghost|oblivious|focussash|jolly|0,252,0,0,0,252|endeavor|liquidation|spikes|toxicspikes": 1 - }, - "thundurustherian": { - "flying|voltabsorb|fightiniumz|timid|0,0,0,252,4,252|focusblast|thunder|voltswitch|weatherball": 1 - }, - "grafaiai": { - "ghost|prankster|heatrock|calm|248,0,8,0,252,0|encore|partingshot|sunnyday|toxic": 1 - }, - "veluza": { - "electric|moldbreaker|choicescarf|jolly|252,4,0,0,0,252|finalgambit|psychicfangs|terablast|waterfall": 1, - "water|sharpness|sitrusberry|adamant|4,252,0,0,0,252|aquacutter|crunch|filletaway|psychocut": 1, - "water|sharpness|colburberry|adamant|0,252,0,0,4,252|agility|aquacutter|nightslash|psychocut": 1, - "fairy|moldbreaker|sitrusberry|bold|252,0,152,0,0,104|filletaway|hydropump|recover|storedpower": 1 - }, - "salamence": { - "fairy|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragondance|dualwingbeat|earthquake|substitute": 1, - "dragon|moxie|choicescarf|mild|0,0,0,252,4,252|dracometeor|dragonpulse|fireblast|roost": 1, - "fairy|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|dragonclaw|dragondance|dualwingbeat|roost": 1, - "fairy|intimidate|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|hurricane|roost": 1, - "water|moxie|choiceband|jolly|0,252,0,0,4,252|brickbreak|crunch|outrage|psychicfangs": 1 - }, - "glaceon": { - "poison|icebody|leftovers|sassy|4,0,252,0,252,0|calmmind|freezedry|storedpower|wish": 1, - "ice|icebody|choicespecs|modest|0,0,0,252,0,252|blizzard|chillingwater|freezedry|shadowball": 1, - "ice|sheerforce|lifeorb|quiet|252,0,0,252,4,0|focusblast|freezedry|icebeam|shadowball": 2 - }, - "camerupt": { - "flying|magmaarmor|leftovers|impish|252,0,252,0,0,0|amnesia|curse|rest|rollout": 1, - "fire|solidrock|leftovers|modest|252,0,0,252,4,0|earthpower|flamethrower|lavaplume|stealthrock": 1, - "ice|solidrock|charcoal|quiet|252,0,0,252,0,0|earthpower|eruption|fireblast|terablast": 1 - }, - "goodra": { - "water|sapsipper|leftovers|careful|248,8,0,0,252,0|bodypress|curse|firepunch|rest": 1, - "dragon|sapsipper|expertbelt|timid|0,0,0,252,4,252|acidspray|dracometeor|flamethrower|thunderbolt": 1, - "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|focusblast|sludgebomb": 1, - "water|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|surf|thunderbolt": 1, - "steel|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|hydropump|thunderbolt": 1, - "fairy|sapsipper|assaultvest|calm|252,0,0,136,112,8|flamethrower|hydropump|icebeam|thunderbolt": 1, - "fairy|sapsipper|assaultvest|modest|0,0,4,252,0,252|dracometeor|flamethrower|sludgebomb|thunderbolt": 1, - "steel|sapsipper|expertbelt|timid|0,0,0,252,4,252|flamethrower|icebeam|sludgebomb|thunderbolt": 1 - }, - "umbreon": { - "poison|synchronize|leftovers|bold|252,0,252,4,0,0|calmmind|darkpulse|storedpower|wish": 1, - "fairy|intimidate|rockyhelmet|careful|252,0,4,0,252,0|knockoff|moonlight|uturn|yawn": 1 - }, - "indeedeef": { - "psychic|psychicsurge|psychicseed|bold|252,0,252,0,4,0|dazzlinggleam|followme|helpinghand|protect": 1, - "psychic|psychicsurge|terrainextender|timid|252,0,0,0,4,252|dazzlinggleam|healingwish|lightscreen|psychic": 1 - }, - "volcanion": { - "fire|waterabsorb|leftovers|modest|4,0,0,252,0,252|heatwave|protect|sludgebomb|steameruption": 1 - }, - "chansey": { - "fighting|naturalcure|eviolite|bold|4,0,252,0,252,0|healbell|seismictoss|softboiled|thunderwave": 1, - "ghost|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|softboiled|stealthrock|thunderwave": 1, - "ghost|naturalcure|eviolite|bold|0,0,252,0,252,4|seismictoss|softboiled|stealthrock|thunderwave": 1, - "fairy|naturalcure|eviolite|bold|252,0,252,0,4,0|seismictoss|softboiled|stealthrock|thunderwave": 1 - }, - "regirock": { - "rock|clearbody|leftovers|impish|252,0,232,0,24,0|bodypress|curse|rest|stoneedge": 1 - }, - "decidueye": { - "grass|longreach|spelltag|adamant|0,252,4,0,0,252|leafblade|poltergeist|shadowsneak|uturn": 1 - }, - "palafin": { - "fighting|zerotohero|choiceband|adamant|0,252,0,0,4,252|closecombat|flipturn|jetpunch|wavecrash": 2 - }, - "kilowattrel": { - "water|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball": 1, - "electric|voltabsorb|choicespecs|timid|0,0,0,252,4,252|hurricane|roost|thunder|weatherball": 1, - "electric|noguard|choicespecs|hasty|0,4,0,252,0,252|dualwingbeat|hurricane|thunder|voltswitch": 1, - "electric|hadronengine|choicespecs|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball": 1, - "electric|primordialsea|focussash|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball": 1, - "electric|primordialsea|heavydutyboots|timid|0,0,0,252,4,252|hurricane|roost|voltswitch|weatherball": 2 - }, - "mausholdfour": { - "normal|technician|heavydutyboots|jolly|0,252,0,0,4,252|populationbomb|taunt|tidyup|uturn": 1 - }, - "fuecoco": { - "fire|blaze|focussash|timid|4,0,0,252,0,252|flamethrower|hypervoice|terablast|yawn": 1 - }, - "palafinhero": { - "|zerotohero|choiceband|jolly|0,252,0,0,4,252|closecombat|flipturn|jetpunch|wavecrash": 1 - }, - "cetitan": { - "ghost|slushrush|sitrusberry|jolly|4,252,0,0,0,252|bellydrum|earthquake|iceshard|icespinner": 1, - "fairy|slushrush|sitrusberry|adamant|4,252,76,0,0,176|bellydrum|earthquake|icespinner|playrough": 1 - }, - "hatenna": { - "dark|magicbounce|focussash|sassy|248,0,0,8,252,0|healingwish|lightscreen|reflect|trickroom": 2 - }, - "hattrem": { - "dark|magicbounce|focussash|calm|252,0,4,0,252,0|healingwish|mysticalfire|psychic|trickroom": 2, - "fairy|magicbounce|eviolite|bold|248,0,248,0,0,12|nuzzle|psychic|rest|sleeptalk": 1, - "steel|magicbounce|eviolite|bold|252,0,252,0,0,4|healingwish|nuzzle|sleeptalk|trickroom": 1, - "steel|magicbounce|eviolite|bold|252,0,252,0,4,0|drainingkiss|healingwish|nuzzle|psyshock": 1 - }, - "klawf": { - "fighting|angershell|focussash|adamant|0,252,0,0,4,252|knockoff|reversal|rockslide|swordsdance": 1, - "fairy|angershell|loadeddice|jolly|0,252,0,0,4,252|highhorsepower|rockblast|swordsdance|terablast": 1 - }, - "cloyster": { - "ice|skilllink|focussash|adamant|0,252,0,0,4,252|iciclespear|liquidation|rockblast|shellsmash": 1, - "water|technician|loadeddice|adamant|0,252,4,0,0,252|iceshard|iciclespear|rockblast|shellsmash": 1 - }, - "froslass": { - "ice|snowwarning|lightclay|modest|4,0,0,252,0,252|auroraveil|blizzard|destinybond|shadowball": 1 - }, - "hippowdon": { - "ground|stamina|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|slackoff|stealthrock": 1, - "water|sandstream|rockyhelmet|impish|252,4,252,0,0,0|earthquake|slackoff|stealthrock|whirlwind": 1 - }, - "lucario": { - "normal|justified|silkscarf|jolly|0,252,0,0,4,252|closecombat|earthquake|extremespeed|swordsdance": 1, - "fighting|magicguard|lifeorb|modest|0,0,0,252,4,252|agility|focusblast|nastyplot|steelbeam": 1, - "flying|steadfast|lifeorb|timid|0,0,0,252,4,252|darkpulse|flashcannon|nastyplot|vacuumwave": 1 - }, - "spidops": { - "ghost|insomnia|redcard|impish|248,0,244,0,0,16|circlethrow|memento|spikes|stickyweb": 2, - "bug|prankster|focussash|jolly|252,0,4,0,0,252|circlethrow|memento|stickyweb|taunt": 1, - "bug|insomnia|focussash|impish|252,0,252,0,4,0|circlethrow|silktrap|stickyweb|uturn": 1 - }, - "taurospaldeaaqua": { - "fighting|opportunist|mirrorherb|jolly|0,252,0,0,4,252|aquajet|closecombat|swagger|wavecrash": 1, - "water|intimidate|leftovers|impish|248,8,252,0,0,0|aquajet|bodypress|protect|ragingbull": 1, - "fighting|intimidate|leftovers|jolly|0,252,0,0,4,252|bulkup|closecombat|ragingbull|zenheadbutt": 1 - }, - "ironthorns": { - "rock|eartheater|chopleberry|jolly|0,252,0,0,4,252|dragondance|earthquake|icepunch|wildcharge": 1, - "rock|eartheater|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|pinmissile|rockblast": 1, - "bug|quarkdrive|loadeddice|adamant|0,252,0,0,4,252|dragondance|pinmissile|rockblast|wildcharge": 1, - "bug|quarkdrive|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|pinmissile|rockblast": 1, - "rock|surgesurfer|lifeorb|jolly|0,252,0,0,4,252|earthquake|stoneedge|swordsdance|thunderpunch": 1 - }, - "wugtrio": { - "water|technician|choiceband|jolly|0,252,0,0,4,252|aquajet|bulldoze|finalgambit|tripledive": 1 - }, - "florgeswhite": { - "fairy|unaware|leftovers|bold|252,0,252,4,0,0|calmmind|moonblast|protect|wish": 1 - }, - "scyther": { - "fighting|technician|eviolite|adamant|0,252,0,0,4,252|aerialace|agility|closecombat|swordsdance": 1 - }, - "houndstone": { - "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|shadowsneak|trick|willowisp": 1, - "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|shadowsneak|trick": 1, - "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|icefang|lastrespects|playrough|shadowsneak": 1, - "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|trick|willowisp": 1, - "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|shadowsneak|willowisp": 1 - }, - "polteageistantique": { - "ghost|psychicsurge|focussash|timid|0,0,0,252,4,252|psyshock|shadowball|shellsmash|storedpower": 1 - }, - "polteageist": { - "ghost|psychicsurge|focussash|timid|0,0,0,252,4,252|gigadrain|shadowball|shellsmash|storedpower": 1, - "fairy|fluffy|leftovers|modest|252,0,0,0,252,0|calmmind|shadowball|storedpower|strengthsap": 1 - }, - "haunter": { - "ghost|levitate|choicescarf|timid|0,0,0,252,4,252|destinybond|shadowball|sludgebomb|trick": 1 - }, - "maushold": { - "dark|technician|widelens|jolly|0,252,0,0,4,252|beatup|encore|populationbomb|tidyup": 1 - }, - "taurospaldeablaze": { - "fighting|intimidate|heavydutyboots|impish|252,4,252,0,0,0|bodypress|protect|ragingbull|willowisp": 1, - "fighting|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ragingbull": 1 - }, - "farigiraf": { - "normal|grassysurge|assaultvest|sassy|200,0,56,0,252,0|facade|foulplay|futuresight|mirrorcoat": 1 - }, - "drednaw": { - "water|magicguard|lifeorb|adamant|0,252,0,0,4,252|earthquake|headsmash|liquidation|shellsmash": 1 - }, - "appletun": { - "fairy|thickfat|covertcloak|relaxed|248,0,252,0,8,0|appleacid|earthquake|leechseed|recover": 1, - "water|thickfat|leftovers|bold|252,0,252,4,0,0|appleacid|dracometeor|leechseed|recover": 1, - "fire|thickfat|leftovers|modest|252,0,0,252,4,0|appleacid|dracometeor|leechseed|terablast": 1 - }, - "vivillonfancy": { - "ground|compoundeyes|heavydutyboots|modest|0,0,0,252,4,252|hurricane|quiverdance|sleeppowder|terablast": 1 - }, - "toxicroak": { - "dark|dryskin|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|gunkshot|suckerpunch": 1 - }, - "ampharos": { - "electric|static|magnet|timid|4,0,0,252,0,252|dazzlinggleam|dragonpulse|electroweb|powergem": 1 - }, - "braviary": { - "normal|defiant|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|rockslide|uturn": 1, - "ghost|defiant|heavydutyboots|impish|248,0,244,0,0,16|bravebird|defog|roost|uturn": 1, - "steel|defiant|heavydutyboots|careful|248,0,252,0,8,0|bravebird|defog|roost|uturn": 1 - }, - "gogoat": { - "grass|sapsipper|lifeorb|jolly|108,148,0,0,0,252|aerialace|earthquake|hornleech|rockslide": 1, - "water|contrary|leftovers|calm|252,0,4,0,252,0|leafstorm|milkdrink|sludgebomb|surf": 1 - }, - "delibird": { - "ice|vitalspirit|heavydutyboots|timid|0,0,0,252,4,252|chillingwater|freezedry|rapidspin|spikes": 1 - }, - "sandaconda": { - "water|shedskin|rockyhelmet|impish|252,0,216,0,0,40|coil|earthquake|rest|stoneedge": 1, - "water|shedskin|rockyhelmet|impish|252,0,216,0,0,40|earthquake|glare|rest|stealthrock": 1, - "water|shedskin|leftovers|impish|252,4,252,0,0,0|earthquake|glare|rest|stealthrock": 1, - "ghost|shedskin|leftovers|careful|252,4,0,0,252,0|earthquake|glare|rockslide|stealthrock": 1, - "water|shedskin|leftovers|careful|248,8,252,0,0,0|earthquake|glare|rest|stealthrock": 1 - }, - "drifblim": { - "fairy|aftermath|heavydutyboots|timid|0,0,252,4,0,252|defog|hex|strengthsap|willowisp": 1, - "flying|unburden|focussash|timid|0,0,4,252,0,252|aircutter|defog|hex|willowisp": 1 - }, - "lycanroc": { - "ghost|sandrush|focussash|jolly|0,252,4,0,0,252|endeavor|rockblast|stealthrock|taunt": 1, - "rock|sandrush|focussash|jolly|0,252,0,0,4,252|accelerock|closecombat|stealthrock|stoneedge": 1 - }, - "morgrem": { - "ghost|prankster|lightclay|timid|252,0,4,0,0,252|lightscreen|partingshot|reflect|taunt": 1 - }, - "medicham": { - "fairy|purepower|lifeorb|hasty|0,252,0,4,0,252|bulkup|closecombat|terablast|trailblaze": 1, - "fairy|purepower|lifeorb|jolly|0,252,4,0,0,252|closecombat|terablast|trailblaze|zenheadbutt": 1, - "fighting|purepower|choicescarf|jolly|0,252,0,0,4,252|bulletpunch|closecombat|icepunch|zenheadbutt": 1, - "electric|purepower|lifeorb|jolly|0,252,0,0,4,252|bulletpunch|closecombat|thunderpunch|zenheadbutt": 1, - "dark|purepower|choicescarf|jolly|0,252,0,0,80,176|bulletpunch|closecombat|psychocut|terablast": 1 - }, - "charizardmegay": { - "fire|drought|charizarditey|timid|0,0,0,252,4,252|flamethrower|roost|scorchingsands|solarbeam": 1 - }, - "venusaur": { - "fire|chlorophyll|lifeorb|modest|0,0,0,252,4,252|earthpower|gigadrain|growth|weatherball": 1 - }, - "cacturne": { - "fire|waterabsorb|leftovers|quiet|0,252,0,252,0,4|darkpulse|energyball|substitute|suckerpunch": 1 - }, - "tapukoko": { - "flying|electricsurge|leftovers|jolly|0,84,176,0,0,248|bravebird|taunt|uturn|wildcharge": 1 - }, - "landorustherian": { - "ground|intimidate|leftovers|jolly|168,92,0,0,0,248|defog|earthquake|knockoff|uturn": 1 - }, - "cresselia": { - "electric|levitate|rockyhelmet|bold|140,0,216,0,152,0|calmmind|moonlight|psyshock|thunderbolt": 1 - }, - "mismagius": { - "fairy|levitate|choicescarf|modest|0,0,0,252,4,252|dazzlinggleam|mysticalfire|shadowball|trick": 1, - "electric|levitate|lifeorb|timid|0,0,0,252,4,252|mysticalfire|shadowball|taunt|thunderbolt": 1 - }, - "perrserker": { - "fighting|toughclaws|choiceband|adamant|0,252,4,0,0,252|closecombat|crunch|ironhead|uturn": 1 - }, - "oricorio": { - "steel|dancer|heavydutyboots|bold|248,0,252,0,8,0|defog|revelationdance|roost|uturn": 1 - }, - "passimian": { - "water|defiant|leftovers|impish|252,0,72,0,0,184|bulkup|drainpunch|knockoff|taunt": 1, - "rock|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|rockslide|uturn": 1, - "fighting|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|gunkshot|knockoff|uturn": 1, - "fighting|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|uturn": 1, - "ghost|intimidate|leftovers|adamant|0,252,0,0,4,252|drainpunch|noretreat|ragefist|taunt": 1 - }, - "slowpoke": { - "fairy|regenerator|eviolite|bold|248,0,244,0,16,0|chillingwater|psychic|slackoff|thunderwave": 1 - }, - "lurantis": { - "rock|contrary|leftovers|bold|252,0,204,0,0,52|defog|leafstorm|synthesis|terablast": 1, - "flying|contrary|heavydutyboots|bold|252,0,252,0,4,0|defog|leafstorm|synthesis|terablast": 1 - }, - "zoroark": { - "fairy|illusion|lifeorb|adamant|0,252,4,0,0,252|lowkick|suckerpunch|swordsdance|terablast": 1 - }, - "venomoth": { - "bug|tintedlens|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|quiverdance|sleeppowder|sludgebomb": 2, - "bug|tintedlens|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|morningsun|quiverdance|sleeppowder": 1 - }, - "taurospaldeacombat": { - "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|bulkup|closecombat|earthquake|rockslide": 1 - }, - "copperajah": { - "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|earthquake|heavyslam|stealthrock|whirlwind": 1, - "ghost|heavymetal|leftovers|adamant|64,192,0,0,252,0|earthquake|heavyslam|rockslide|stealthrock": 1, - "fairy|eartheater|sitrusberry|impish|252,0,252,0,4,0|earthquake|heavyslam|shedtail|stealthrock": 1 - }, - "oricoriosensu": { - "fighting|dancer|heavydutyboots|bold|252,0,252,4,0,0|hurricane|quiverdance|revelationdance|roost": 1 - }, - "swalot": { - "steel|stickyhold|leftovers|calm|252,0,44,0,212,0|acidarmor|bodypress|encore|toxic": 1, - "water|stickyhold|apicotberry|calm|252,0,84,0,172,0|bodypress|rest|sleeptalk|stuffcheeks": 1 - }, - "bruxish": { - "water|strongjaw|choiceband|jolly|0,252,0,0,4,252|aquajet|crunch|psychicfangs|wavecrash": 1, - "psychic|strongjaw|muscleband|jolly|0,252,4,0,0,252|aquajet|crunch|psychicfangs|wavecrash": 1 - }, - "rotom": { - "electric|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|thunderbolt|trick|voltswitch": 1, - "electric|levitate|choicespecs|timid|0,0,0,252,4,252|darkpulse|discharge|shadowball|voltswitch": 1 - }, - "jolteon": { - "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|calmmind|terablast|thunderbolt|voltswitch": 1, - "ice|voltabsorb|leftovers|timid|0,0,0,252,4,252|substitute|terablast|thunderbolt|voltswitch": 1, - "electric|levitate|lifeorb|timid|0,0,0,252,4,252|nastyplot|recover|surf|thunderbolt": 1 - }, - "miraidon": { - "fairy|hadronengine|assaultvest|timid|4,0,0,252,0,252|dazzlinggleam|electrodrift|overheat|paraboliccharge": 1 - }, - "eelektross": { - "poison|levitate|leftovers|adamant|248,0,8,0,252,0|coil|drainpunch|uturn|wildcharge": 1 - }, - "noivern": { - "flying|aerilate|heavydutyboots|timid|0,0,0,252,4,252|boomburst|roost|superfang|uturn": 1, - "flying|aerilate|heavydutyboots|timid|252,0,0,4,0,252|boomburst|roost|superfang|uturn": 1 - }, - "rotomfan": { - "fighting|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|hurricane|quiverdance|revelationdance|storedpower": 1 - }, - "skuntank": { - "dark|stench|choiceband|adamant|152,252,0,0,0,104|crunch|gunkshot|memento|suckerpunch": 1 - }, - "falinks": { - "steel|defiant|focussash|adamant|0,252,0,0,4,252|brickbreak|counter|swordsdance|trailblaze": 1 - }, - "spiritomb": { - "fairy|prankster|leftovers|modest|252,0,0,252,4,0|dazzlinggleam|encore|energyball|shadowball": 1 - }, - "mudsdale": { - "ground|stamina|heavydutyboots|adamant|252,252,0,0,4,0|bodypress|earthquake|iceshard|stealthrock": 1, - "ground|stamina|leftovers|impish|252,4,252,0,0,0|earthquake|rest|roar|stealthrock": 1 - }, - "pikachu": { - "flying|lightningrod|lightball|hasty|0,4,0,252,0,252|nastyplot|surf|thunder|trailblaze": 1 - }, - "leafeon": { - "water|poisonheal|toxicorb|careful|252,0,4,0,252,0|bulkup|hornleech|milkdrink|taunt": 1 - }, - "sylveon": { - "steel|wellbakedbody|leftovers|bold|252,0,252,0,4,0|calmmind|moonblast|storedpower|synthesis": 1 - }, - "wigglytuff": { - "water|hugepower|choiceband|adamant|0,252,0,0,4,252|aquajet|doubleedge|playrough|waterfall": 1 - }, - "lilligant": { - "fairy|contrary|choicescarf|timid|0,0,0,252,4,252|earthpower|healingwish|leafstorm|uturn": 1 - } - }, - "teams": { - "hatterene|slowking|rabsca|kingambit|ironhands|tyranitar": [ - { - "hatterene": "psychic|magicbounce|focussash|quiet|248,0,8,252,0,0|healingwish|mysticalfire|psychic|trickroom", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,252,0,8,0|chillingwater|chillyreception|slackoff|trickroom", - "rabsca": "fairy|synchronize|leppaberry|quiet|248,0,0,252,8,0|bugbuzz|psychic|revivalblessing|trickroom", - "kingambit": "dark|supremeoverlord|blackglasses|brave|248,252,0,0,8,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "ironhands": "fairy|quarkdrive|leftovers|brave|208,252,0,0,48,0|drainpunch|icepunch|swordsdance|thunderpunch", - "tyranitar": "fairy|sandstream|loadeddice|brave|248,252,0,0,8,0|curse|earthquake|icepunch|rockblast" - } - ], - "grimmsnarl|orthworm|flittle|espathra|haxorus|ironhands": [ - { - "grimmsnarl": "ghost|prankster|lightclay|calm|248,0,8,0,252,0|lightscreen|partingshot|reflect|taunt", - "orthworm": "fighting|eartheater|sitrusberry|careful|248,8,0,0,252,0|bodypress|heavyslam|shedtail|stealthrock", - "flittle": "fire|speedboost|eviolite|bold|248,0,252,8,0,0|calmmind|roost|storedpower|terablast", - "espathra": "fairy|speedboost|leftovers|timid|216,0,252,0,0,40|calmmind|dazzlinggleam|roost|storedpower", - "haxorus": "ground|moldbreaker|leftovers|adamant|176,112,0,0,0,220|dragonclaw|dragondance|earthquake|taunt", - "ironhands": "water|quarkdrive|leftovers|adamant|104,152,0,0,252,0|drainpunch|icepunch|swordsdance|thunderpunch" - } - ], - "arctibax|baxcalibur|chienpao|slowking|garganacl|irontreads": [ - { - "arctibax": "ice|icebody|eviolite|adamant|0,252,4,0,0,252|iciclespear|protect|substitute|swordsdance", - "baxcalibur": "fairy|icebody|leftovers|jolly|180,0,0,0,128,200|dragondance|glaiverush|iciclespear|substitute", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "slowking": "water|regenerator|icyrock|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf", - "garganacl": "fairy|purifyingsalt|leftovers|careful|248,0,8,0,252,0|bodypress|irondefense|recover|saltcure", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock" - } - ], - "brambleghast|gholdengo|dragapult|skeledirge|kingambit|garganacl": [ - { - "brambleghast": "water|infiltrator|colburberry|timid|248,0,28,0,0,232|rapidspin|shadowball|spikes|strengthsap", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "skeledirge": "fairy|unaware|heavydutyboots|sassy|248,0,8,0,252,0|hex|slackoff|torchsong|willowisp", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|232,48,32,0,180,16|ironhead|kowtowcleave|suckerpunch|swordsdance", - "garganacl": "water|purifyingsalt|leftovers|impish|248,0,252,0,8,0|protect|recover|saltcure|stealthrock" - } - ], - "pelipper|floatzel|ironjugulis|taurospaldeawater|amoonguss|irontreads": [ - { - "pelipper": "ground|drizzle|damprock|relaxed|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|aquajet|icespinner|liquidation|wavecrash", - "ironjugulis": "flying|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|earthpower|hurricane|hydropump", - "taurospaldeawater": "electric|intimidate|leftovers|impish|248,0,252,0,8,0|bodypress|bulkup|protect|ragingbull", - "amoonguss": "water|regenerator|rockyhelmet|calm|248,0,176,0,84,0|foulplay|gigadrain|sludgebomb|spore", - "irontreads": "ground|quarkdrive|assaultvest|jolly|248,0,0,0,156,104|earthquake|knockoff|rapidspin|voltswitch" - } - ], - "dudunsparce|vespiquen|coalossal|basculin|bellibolt|heracross": [ - { - "dudunsparce": "ghost|serenegrace|leftovers|modest|52,0,0,252,0,204|boomburst|glare|hex|roost", - "vespiquen": "ghost|pressure|heavydutyboots|careful|252,0,4,0,252,0|roost|toxic|toxicspikes|uturn", - "coalossal": "ghost|flamebody|heavydutyboots|jolly|252,0,252,0,0,4|rapidspin|rockblast|stealthrock|willowisp", - "basculin": "water|adaptability|choicescarf|jolly|0,252,0,0,0,252|aquajet|headsmash|sleeptalk|wavecrash", - "bellibolt": "electric|electromorphosis|leftovers|modest|16,0,88,252,152,0|muddywater|paraboliccharge|slackoff|voltswitch", - "heracross": "steel|guts|flameorb|jolly|4,252,0,0,0,252|closecombat|megahorn|swordsdance|trailblaze" - } - ], - "greattusk|donphan|irontreads|rotomwash|salazzle|ditto": [ - { - "greattusk": "fighting|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "donphan": "ground|sturdy|heavydutyboots|adamant|112,252,0,0,0,144|earthquake|knockoff|rapidspin|stealthrock", - "irontreads": "steel|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|rapidspin", - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "salazzle": "grass|corrosion|leftovers|timid|248,0,12,0,0,248|protect|substitute|taunt|toxic", - "ditto": "steel|imposter|choicescarf|bold|248,0,252,0,8,0|transform" - } - ], - "mimikyu|ironvaliant|azumarill|ditto|greattusk|clodsire": [ - { - "mimikyu": "ghost|disguise|lifeorb|jolly|0,252,0,0,4,252|playrough|shadowclaw|shadowsneak|swordsdance", - "ironvaliant": "electric|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psychic|thunderbolt", - "azumarill": "water|hugepower|sitrusberry|adamant|116,252,0,0,0,140|aquajet|bellydrum|icespinner|playrough", - "ditto": "steel|imposter|choicescarf|impish|248,8,252,0,0,0|transform", - "greattusk": "steel|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "clodsire": "dark|unaware|blacksludge|careful|120,0,0,0,252,136|earthquake|poisonjab|recover|stealthrock" - } - ], - "hatterene|indeedee|dragapult|volcarona|hawlucha|quaquaval": [ - { - "hatterene": "fire|magicbounce|ejectbutton|quiet|248,0,8,252,0,0|dazzlinggleam|mysticalfire|psyshock|trickroom", - "indeedee": "ghost|psychicsurge|terrainextender|timid|0,0,0,252,4,252|encore|healingwish|psychic|shadowball", - "dragapult": "fire|infiltrator|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|dragondarts|phantomforce|terablast", - "volcarona": "grass|flamebody|focussash|timid|0,0,4,252,0,252|fierydance|gigadrain|psychic|quiverdance", - "hawlucha": "flying|unburden|psychicseed|adamant|0,252,4,0,0,252|acrobatics|closecombat|swordsdance|taunt", - "quaquaval": "steel|moxie|leftovers|impish|196,0,144,0,16,152|aquastep|bulkup|closecombat|taunt" - } - ], - "glimmora|gholdengo|gengar|indeedee|dragapult|flamigo": [ - { - "glimmora": "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|energyball|mortalspin|stealthrock", - "gholdengo": "dark|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball", - "gengar": "fairy|cursedbody|lifeorb|timid|0,0,0,252,4,252|dazzlinggleam|nastyplot|shadowball|sludgebomb", - "indeedee": "fairy|psychicsurge|terrainextender|timid|0,0,0,252,4,252|dazzlinggleam|encore|psychic|shadowball", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "flamigo": "fighting|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn" - } - ], - "torkoal|charizard|greattusk|hatterene|espeon|ditto": [ - { - "torkoal": "flying|drought|heatrock|bold|248,0,252,0,8,0|lavaplume|rapidspin|stealthrock|yawn", - "charizard": "fire|solarpower|choicescarf|timid|0,0,4,252,0,252|airslash|dragonpulse|flamethrower|overheat", - "greattusk": "water|protosynthesis|assaultvest|jolly|208,0,0,0,252,48|closecombat|earthquake|knockoff|rapidspin", - "hatterene": "water|magicbounce|ejectbutton|quiet|252,0,4,252,0,0|dazzlinggleam|healingwish|psyshock|trickroom", - "espeon": "fairy|magicbounce|ejectbutton|timid|0,0,4,252,0,252|calmmind|dazzlinggleam|morningsun|psyshock", - "ditto": "steel|imposter|choicescarf|impish|248,8,252,0,0,0|transform" - } - ], - "bellibolt|magnezone|flamigo|lycanrocdusk|slowbro|palossand": [ - { - "bellibolt": "fairy|electromorphosis|heavydutyboots|bold|248,0,252,0,0,8|paraboliccharge|slackoff|soak|voltswitch", - "magnezone": "electric|analytic|leftovers|modest|252,0,0,96,160,0|flashcannon|protect|thunderbolt|voltswitch", - "flamigo": "flying|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|tailwind|uturn", - "lycanrocdusk": "rock|toughclaws|choiceband|jolly|0,252,0,0,4,252|accelerock|closecombat|crunch|stoneedge", - "slowbro": "fairy|regenerator|rockyhelmet|bold|248,0,252,0,0,8|bodypress|irondefense|slackoff|surf", - "palossand": "ghost|watercompaction|colburberry|modest|252,0,0,248,0,8|earthpower|shadowball|shoreup|stealthrock" - } - ], - "revavroom|oricoriopompom|taurospaldeafire|lycanrocdusk|espeon|palossand": [ - { - "revavroom": "flying|filter|leftovers|careful|252,0,0,0,240,16|gunkshot|haze|partingshot|toxicspikes", - "oricoriopompom": "fighting|dancer|heavydutyboots|bold|252,0,252,4,0,0|defog|revelationdance|roost|uturn", - "taurospaldeafire": "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ironhead", - "lycanrocdusk": "rock|toughclaws|choiceband|jolly|0,252,0,0,4,252|accelerock|closecombat|crunch|stoneedge", - "espeon": "fairy|magicbounce|choicespecs|timid|0,0,0,252,4,252|dazzlinggleam|psychic|shadowball|trick", - "palossand": "ghost|watercompaction|colburberry|bold|252,0,244,0,0,12|earthpower|shadowball|shoreup|stealthrock" - } - ], - "espeon|taurospaldeafire|blissey|slowbro|avalugg|krookodile": [ - { - "espeon": "fairy|magicbounce|choicespecs|timid|0,0,0,252,4,252|dazzlinggleam|psychic|shadowball|trick", - "taurospaldeafire": "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|wildcharge", - "blissey": "ghost|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|softboiled|stealthrock|thunderwave", - "slowbro": "fairy|regenerator|rockyhelmet|bold|248,0,252,0,0,8|bodypress|irondefense|slackoff|surf", - "avalugg": "fighting|sturdy|heavydutyboots|impish|252,4,252,0,0,0|avalanche|bodypress|rapidspin|recover", - "krookodile": "ground|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|stoneedge" - } - ], - "meowscarada|magnezone|gholdengo|clodsire|dondozo|greattusk": [ - { - "meowscarada": "fairy|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "magnezone": "grass|magnetpull|choicespecs|timid|0,0,0,252,0,252|flashcannon|terablast|thunderbolt|voltswitch", - "gholdengo": "flying|goodasgold|airballoon|calm|248,0,0,0,188,72|makeitrain|nastyplot|recover|shadowball", - "clodsire": "water|unaware|leftovers|careful|248,0,8,0,252,0|earthquake|recover|spikes|toxic", - "dondozo": "fairy|unaware|leftovers|impish|248,0,212,0,48,0|curse|rest|sleeptalk|wavecrash", - "greattusk": "water|protosynthesis|leftovers|impish|248,4,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock" - } - ], - "sawsbuckautumn|torkoal|greattusk|hatterene|magnezone|dragonite": [ - { - "sawsbuckautumn": "fairy|chlorophyll|lifeorb|adamant|0,252,0,0,4,252|hornleech|playrough|stompingtantrum|swordsdance", - "torkoal": "fighting|drought|heatrock|relaxed|248,0,252,0,8,0|lavaplume|rapidspin|stealthrock|yawn", - "greattusk": "steel|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|icespinner|rapidspin", - "hatterene": "water|magicbounce|leftovers|bold|172,0,252,0,0,84|calmmind|drainingkiss|mysticalfire|storedpower", - "magnezone": "fire|magnetpull|choicespecs|modest|0,0,0,252,80,176|flashcannon|terablast|thunderbolt|voltswitch", - "dragonite": "normal|multiscale|silkscarf|naughty|0,252,0,56,0,200|dragondance|earthquake|extremespeed|hurricane" - } - ], - "cinderace|greattusk|slowking|amoonguss|chienpao|dondozo": [ - { - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "greattusk": "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf", - "amoonguss": "flying|regenerator|rockyhelmet|bold|248,0,200,0,0,60|foulplay|grassknot|sludgebomb|spore", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "dondozo": "fairy|unaware|leftovers|relaxed|248,0,252,0,8,0|curse|rest|sleeptalk|wavecrash" - }, - { - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "greattusk": "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf", - "amoonguss": "flying|regenerator|rockyhelmet|bold|248,0,200,0,0,60|foulplay|grassknot|sludgebomb|spore", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "dondozo": "fairy|unaware|leftovers|impish|248,0,252,0,8,0|curse|protect|rest|wavecrash" - }, - { - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "greattusk": "fighting|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf", - "amoonguss": "flying|regenerator|rockyhelmet|bold|248,0,200,0,0,60|foulplay|grassknot|sludgebomb|spore", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "dondozo": "fairy|unaware|leftovers|relaxed|248,0,252,0,8,0|curse|rest|sleeptalk|wavecrash" - } - ], - "lycanrocdusk|cyclizar|pawmot|skeledirge|lokix|roaringmoon": [ - { - "lycanrocdusk": "rock|toughclaws|focussash|jolly|0,252,0,0,4,252|firefang|stoneedge|swordsdance|trailblaze", - "cyclizar": "dragon|regenerator|lumberry|jolly|248,8,0,0,0,252|icespinner|rapidspin|shedtail|taunt", - "pawmot": "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|doubleshock|firepunch|icepunch|revivalblessing", - "skeledirge": "fire|unaware|throatspray|quiet|248,8,0,252,0,0|flamecharge|shadowball|slackoff|torchsong", - "lokix": "bug|tintedlens|choiceband|jolly|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn", - "roaringmoon": "dragon|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|dragondance|earthquake|ironhead" - } - ], - "tyranitar|excadrill|gholdengo|garchomp|ferrothorn|dianciemega": [ - { - "tyranitar": "rock|sandstream|leftovers|adamant|48,116,172,0,172,0|crunch|earthquake|pursuit|stoneedge", - "excadrill": "grass|sandrush|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|rapidspin|rockslide|shadowclaw", - "gholdengo": "flying|goodasgold|steeliumz|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt", - "garchomp": "water|roughskin|leftovers|adamant|0,252,80,0,160,0|dragontail|earthquake|liquidation|rockslide", - "ferrothorn": "fighting|ironbarbs|leftovers|relaxed|252,4,252,0,0,0|bodypress|gyroball|knockoff|leechseed", - "dianciemega": "rock|magicbounce|diancite|naive|0,0,104,252,0,152|bodypress|diamondstorm|drainingkiss|earthpower" - } - ], - "greattusk|ironmoth|ironvaliant|dragonite|kingambit|azumarill": [ - { - "greattusk": "water|protosynthesis|focussash|jolly|24,252,0,0,0,232|closecombat|headlongrush|rapidspin|stealthrock", - "ironmoth": "psychic|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|acidspray|energyball|fierydance|psychic", - "ironvaliant": "ghost|quarkdrive|choicespecs|timid|4,0,0,252,0,252|moonblast|psyshock|shadowball|thunderbolt", - "dragonite": "normal|multiscale|heavydutyboots|adamant|4,252,0,0,0,252|dragondance|earthquake|extremespeed|icespinner", - "kingambit": "flying|supremeoverlord|leftovers|adamant|108,252,0,0,0,148|ironhead|kowtowcleave|suckerpunch|swordsdance", - "azumarill": "water|hugepower|choiceband|adamant|4,252,0,0,0,252|aquajet|icespinner|liquidation|playrough" - } - ], - "revavroom|arboliva|taurospaldeafire|slowbro|krookodile|frosmoth": [ - { - "revavroom": "flying|filter|blacksludge|careful|252,4,0,0,252,0|gunkshot|ironhead|partingshot|toxicspikes", - "arboliva": "fairy|seedsower|choicespecs|modest|248,0,0,252,8,0|earthpower|gigadrain|hypervoice|leafstorm", - "taurospaldeafire": "fire|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ragingbull", - "slowbro": "water|regenerator|heavydutyboots|bold|252,0,252,4,0,0|futuresight|slackoff|surf|thunderwave", - "krookodile": "ground|intimidate|chopleberry|jolly|0,252,0,0,4,252|crunch|earthquake|stealthrock|taunt", - "frosmoth": "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|gigadrain|icebeam|quiverdance|terablast" - } - ], - "taurospaldeafire|magnezone|lycanrocdusk|altaria|vaporeon|palossand": [ - { - "taurospaldeafire": "fire|intimidate|choicescarf|jolly|0,252,0,0,4,252|closecombat|flareblitz|ironhead|wildcharge", - "magnezone": "grass|analytic|assaultvest|modest|248,0,0,252,8,0|bodypress|flashcannon|thunderbolt|voltswitch", - "lycanrocdusk": "fighting|toughclaws|lifeorb|jolly|0,252,0,0,4,252|accelerock|closecombat|stoneedge|swordsdance", - "altaria": "water|naturalcure|heavydutyboots|bold|252,0,252,4,0,0|defog|hurricane|roost|willowisp", - "vaporeon": "fairy|waterabsorb|leftovers|bold|252,0,252,0,4,0|haze|protect|surf|wish", - "palossand": "ghost|watercompaction|colburberry|bold|252,0,252,0,4,0|earthpower|shadowball|shoreup|stealthrock" - } - ], - "slowking|gallade|klefki|orthworm|bellibolt|rotomfrost": [ - { - "slowking": "ice|oblivious|icyrock|calm|252,0,0,4,252,0|chillyreception|futuresight|icebeam|protect", - "gallade": "fighting|sharpness|rockyhelmet|jolly|0,252,0,0,4,252|knockoff|leafblade|sacredsword|taunt", - "klefki": "dark|prankster|lightclay|bold|252,0,252,4,0,0|drainingkiss|flashcannon|lightscreen|reflect", - "orthworm": "steel|eartheater|leftovers|impish|252,4,252,0,0,0|ironhead|protect|shedtail|stealthrock", - "bellibolt": "ground|electromorphosis|magnet|quiet|252,0,28,164,64,0|paraboliccharge|soak|suckerpunch|weatherball", - "rotomfrost": "electric|levitate|choicespecs|timid|0,0,0,252,4,252|blizzard|darkpulse|discharge|voltswitch" - } - ], - "garganacl|gholdengo|greattusk|meowscarada|volcarona|dragonite": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|248,0,196,0,56,8|protect|recover|saltcure|stealthrock", - "gholdengo": "flying|goodasgold|covertcloak|modest|248,0,108,72,0,80|makeitrain|nastyplot|recover|shadowball", - "greattusk": "water|protosynthesis|leftovers|impish|248,8,192,0,0,60|bulkup|earthquake|knockoff|rapidspin", - "meowscarada": "grass|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "volcarona": "fairy|flamebody|heavydutyboots|jolly|248,0,108,0,0,152|fierydance|morningsun|quiverdance|willowisp", - "dragonite": "normal|multiscale|heavydutyboots|adamant|136,252,0,0,0,120|dragondance|earthquake|extremespeed|roost" - }, - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|236,0,172,0,88,12|protect|recover|saltcure|stealthrock", - "gholdengo": "flying|goodasgold|covertcloak|modest|160,0,44,68,0,236|makeitrain|nastyplot|recover|shadowball", - "greattusk": "water|protosynthesis|leftovers|impish|248,8,192,0,0,60|bulkup|earthquake|knockoff|rapidspin", - "meowscarada": "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "volcarona": "fairy|flamebody|heavydutyboots|timid|248,0,228,0,0,32|fierydance|morningsun|quiverdance|willowisp", - "dragonite": "normal|multiscale|heavydutyboots|adamant|48,252,0,0,0,208|dragondance|earthquake|extremespeed|roost" - } - ], - "ironvaliant|dudunsparcethreesegment|gholdengo|hatterene|rotomwash|brutebonnet": [ - { - "ironvaliant": "fairy|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|drainpunch|shadowsneak|spiritbreak|swordsdance", - "dudunsparcethreesegment": "ghost|serenegrace|leftovers|calm|252,0,4,0,252,0|bodypress|bodyslam|curse|roost", - "gholdengo": "fighting|goodasgold|leftovers|timid|4,0,0,252,0,252|makeitrain|nastyplot|recover|shadowball", - "hatterene": "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psyshock", - "rotomwash": "electric|levitate|heavydutyboots|timid|4,0,0,252,0,252|discharge|hydropump|voltswitch|willowisp", - "brutebonnet": "fire|protosynthesis|leftovers|adamant|252,252,0,0,4,0|seedbomb|spore|suckerpunch|terablast" - }, - { - "ironvaliant": "fighting|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|drainpunch|knockoff|spiritbreak|swordsdance", - "dudunsparcethreesegment": "ghost|rattled|leftovers|calm|252,0,4,0,252,0|dragontail|glare|roost|stealthrock", - "gholdengo": "fighting|goodasgold|leftovers|modest|228,0,0,252,0,28|makeitrain|nastyplot|recover|shadowball", - "hatterene": "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psyshock", - "rotomwash": "electric|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|protect|voltswitch|willowisp", - "brutebonnet": "dark|protosynthesis|leftovers|adamant|252,252,0,0,4,0|crunch|seedbomb|spore|suckerpunch" - }, - { - "ironvaliant": "fighting|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|drainpunch|knockoff|spiritbreak|swordsdance", - "dudunsparcethreesegment": "ghost|rattled|leftovers|calm|252,0,4,0,252,0|dragontail|glare|roost|stealthrock", - "gholdengo": "fighting|goodasgold|leftovers|modest|228,0,0,252,0,28|makeitrain|nastyplot|recover|shadowball", - "hatterene": "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psyshock", - "rotomwash": "electric|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|protect|voltswitch|willowisp", - "brutebonnet": "dark|protosynthesis|leftovers|adamant|236,252,0,0,0,20|crunch|seedbomb|spore|suckerpunch" - } - ], - "blissey|sableye|palossand|arcanine|altaria|crocalor": [ - { - "blissey": "dark|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|calmmind|seismictoss|shadowball|softboiled", - "sableye": "fairy|prankster|leftovers|bold|252,0,252,0,4,0|encore|foulplay|recover|willowisp", - "palossand": "dragon|watercompaction|leftovers|bold|252,0,252,4,0,0|chillingwater|earthpower|shoreup|stealthrock", - "arcanine": "fairy|intimidate|heavydutyboots|impish|252,0,252,0,0,4|flamethrower|morningsun|roar|willowisp", - "altaria": "steel|naturalcure|heavydutyboots|calm|252,0,0,4,252,0|defog|firespin|perishsong|roost", - "crocalor": "fairy|unaware|eviolite|calm|252,0,0,4,252,0|flamethrower|roar|slackoff|willowisp" - } - ], - "heatran|gastrodon|kingambit|zapdos|dragapult|pinsirmega": [ - { - "heatran": "grass|flamebody|leftovers|bold|252,0,176,0,0,80|earthpower|lavaplume|protect|stealthrock", - "gastrodon": "steel|stormdrain|leftovers|calm|252,0,4,0,252,0|clearsmog|recover|scald|spikes", - "kingambit": "dark|defiant|blackglasses|adamant|120,252,0,0,0,136|ironhead|knockoff|suckerpunch|swordsdance", - "zapdos": "steel|static|heavydutyboots|bold|248,0,228,0,0,32|defog|discharge|hiddenpowerice|roost", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunder|uturn", - "pinsirmega": "flying|hypercutter|pinsirite|jolly|0,252,0,0,4,252|closecombat|frustration|quickattack|swordsdance" - } - ], - "alomomola|rabsca|forretress|brambleghast|quagsire|wochien": [ - { - "alomomola": "ghost|regenerator|heavydutyboots|bold|252,0,252,0,4,0|healingwish|protect|whirlpool|wish", - "rabsca": "fairy|synchronize|leppaberry|calm|252,0,0,4,252,0|bugbuzz|rest|revivalblessing|sleeptalk", - "forretress": "water|sturdy|leftovers|relaxed|252,4,252,0,0,0|bodypress|gyroball|spikes|stealthrock", - "brambleghast": "water|windrider|leftovers|calm|252,0,4,0,252,0|curse|leechseed|rapidspin|strengthsap", - "quagsire": "steel|unaware|leftovers|impish|252,4,252,0,0,0|earthquake|recover|spikes|toxic", - "wochien": "water|tabletsofruin|leftovers|careful|252,0,4,0,252,0|knockoff|leechseed|powerwhip|protect" - } - ], - "luxray|garchomp|corviknight|greattusk|ironmoth|chienpao": [ - { - "luxray": "normal|guts|flameorb|lonely|0,252,0,4,0,252|crunch|facade|quickattack|voltswitch", - "garchomp": "ghost|roughskin|rockyhelmet|jolly|252,0,4,0,0,252|dragontail|earthquake|spikes|stealthrock", - "corviknight": "fighting|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|irondefense|roost|uturn", - "greattusk": "ground|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "ironmoth": "grass|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|energyball|overheat|sludgewave|whirlwind", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|crunch|iceshard|icespinner|sacredsword" - } - ], - "quaquaval|amoonguss|corviknight|roaringmoon|clodsire|ironmoth": [ - { - "quaquaval": "fairy|moxie|leftovers|jolly|252,0,0,0,92,164|aquastep|bulkup|closecombat|roost", - "amoonguss": "normal|regenerator|rockyhelmet|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore", - "corviknight": "flying|pressure|leftovers|impish|248,0,220,0,40,0|bodypress|defog|roost|uturn", - "roaringmoon": "dark|protosynthesis|choiceband|adamant|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn", - "clodsire": "water|unaware|heavydutyboots|careful|248,0,4,0,248,8|earthquake|recover|stealthrock|toxic", - "ironmoth": "grass|quarkdrive|choicescarf|modest|0,0,4,252,0,252|energyball|flamethrower|overheat|sludgewave" - } - ], - "gholdengo|ironvaliant|scizor|amoonguss|tinglu|irontreads": [ - { - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "ironvaliant": "poison|quarkdrive|choiceband|jolly|0,252,4,0,0,252|closecombat|knockoff|poisonjab|zenheadbutt", - "scizor": "grass|technician|expertbelt|jolly|4,252,0,0,0,252|bulletpunch|closecombat|pounce|uturn", - "amoonguss": "water|regenerator|blacksludge|bold|252,0,132,0,0,124|clearsmog|gigadrain|spore|toxic", - "tinglu": "fairy|vesselofruin|leftovers|careful|252,0,188,0,68,0|earthquake|protect|stealthrock|whirlwind", - "irontreads": "flying|quarkdrive|boosterenergy|naive|0,252,4,0,0,252|earthquake|icespinner|rapidspin|voltswitch" - } - ], - "talonflame|gastrodoneast|heracross|tsareena|magneton|clawitzer": [ - { - "talonflame": "flying|flamebody|heavydutyboots|bold|244,0,252,12,0,0|airslash|defog|roost|willowisp", - "gastrodoneast": "water|stormdrain|leftovers|bold|4,0,252,0,252,0|chillingwater|icebeam|recover|stealthrock", - "heracross": "rock|moxie|loadeddice|jolly|0,252,4,0,0,252|earthquake|pinmissile|rockblast|trailblaze", - "tsareena": "grass|queenlymajesty|heavydutyboots|jolly|0,252,0,0,4,252|playrough|rapidspin|seedbomb|uturn", - "magneton": "fire|magnetpull|eviolite|timid|0,0,0,252,4,252|discharge|flashcannon|terablast|voltswitch", - "clawitzer": "water|megalauncher|choicescarf|timid|0,0,4,252,0,252|aurasphere|darkpulse|icebeam|waterpulse" - } - ], - "torkoal|rotomheat|roaringmoon|greattusk|breloom|volcarona": [ - { - "torkoal": "water|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|stealthrock|yawn", - "rotomheat": "electric|levitate|choicespecs|timid|0,0,0,252,4,252|overheat|thunderbolt|trick|voltswitch", - "roaringmoon": "dark|protosynthesis|choiceband|jolly|36,220,0,0,0,252|crunch|earthquake|outrage|uturn", - "greattusk": "ground|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "breloom": "fighting|technician|loadeddice|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance", - "volcarona": "grass|flamebody|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|fierydance|gigadrain|quiverdance" - } - ], - "ceruledge|baxcalibur|amoonguss|garganacl|ironhands|grimmsnarl": [ - { - "ceruledge": "fire|flashfire|choicescarf|jolly|0,252,0,0,4,252|bitterblade|closecombat|destinybond|flareblitz", - "baxcalibur": "ground|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear", - "amoonguss": "grass|regenerator|blacksludge|calm|252,0,0,4,252,0|gigadrain|sludgebomb|spore|toxic", - "garganacl": "electric|purifyingsalt|leftovers|careful|216,0,40,0,252,0|bodypress|irondefense|recover|saltcure", - "ironhands": "flying|quarkdrive|airballoon|careful|252,252,0,0,4,0|drainpunch|earthquake|swordsdance|wildcharge", - "grimmsnarl": "dark|prankster|lightclay|careful|252,4,0,0,252,0|lightscreen|partingshot|reflect|spiritbreak" - } - ], - "garganacl|gholdengo|corviknight|tinglu|cinderace|hydreigon": [ - { - "garganacl": "water|purifyingsalt|heavydutyboots|careful|252,0,0,0,236,20|earthquake|heavyslam|recover|saltcure", - "gholdengo": "flying|goodasgold|covertcloak|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball", - "corviknight": "dragon|pressure|rockyhelmet|relaxed|248,8,252,0,0,0|bodypress|bravebird|roost|uturn", - "tinglu": "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn", - "hydreigon": "dragon|levitate|choicespecs|modest|0,0,0,252,4,252|darkpulse|dracometeor|flamethrower|surf" - } - ], - "garganacl|greattusk|tinglu|volcarona|dragapult|gholdengo": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,236,0,0,20|protect|recover|saltcure|stealthrock", - "greattusk": "water|protosynthesis|rockyhelmet|impish|216,0,252,0,0,40|bodypress|earthquake|knockoff|rapidspin", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|morningsun|quiverdance|willowisp", - "dragapult": "ghost|infiltrator|choiceband|adamant|0,252,0,0,4,252|dragondarts|facade|terablast|uturn", - "gholdengo": "flying|goodasgold|covertcloak|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball" - } - ], - "pawmot|kingambit|volcarona|ditto|chienpao|annihilape": [ - { - "pawmot": "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|machpunch|revivalblessing", - "kingambit": "dark|supremeoverlord|blackglasses|adamant|104,252,0,0,4,148|ironhead|kowtowcleave|suckerpunch|swordsdance", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,84,0,0,176|fierydance|gigadrain|morningsun|quiverdance", - "ditto": "ghost|imposter|choicescarf|adamant|248,252,0,0,0,8|transform", - "chienpao": "dark|swordofruin|lifeorb|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|swordsdance", - "annihilape": "water|defiant|focussash|jolly|0,252,0,0,4,252|closecombat|ragefist|stealthrock|taunt" - } - ], - "annihilape|stantler|dragonite|oricoriopompom|armarouge|flamigo": [ - { - "annihilape": "water|defiant|punchingglove|jolly|100,156,0,0,0,252|bulkup|drainpunch|protect|ragefist", - "stantler": "normal|intimidate|choicescarf|jolly|252,0,0,0,4,252|earthquake|skillswap|terablast|trick", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "oricoriopompom": "electric|dancer|focussash|timid|0,0,0,252,4,252|protect|quiverdance|revelationdance|swordsdance", - "armarouge": "fighting|flashfire|covertcloak|timid|0,0,4,252,0,252|aurasphere|heatwave|psychic|trickroom", - "flamigo": "dark|costar|focussash|naive|0,252,0,4,0,252|bravebird|closecombat|tailwind|throatchop" - } - ], - "eevee|fidough|buizel|sandile|glimmet|toedscool": [ - { - "eevee": "normal|adaptability|lifeorb|adamant|76,236,36,0,0,156|bite|doubleedge|quickattack|trailblaze", - "fidough": "fighting|owntempo|eviolite|impish|60,76,196,0,156,0|playrough|protect|roar|wish", - "buizel": "water|waterveil|lifeorb|adamant|0,236,0,0,36,236|aquajet|brickbreak|icespinner|wavecrash", - "sandile": "dark|moxie|choicescarf|adamant|0,180,0,0,76,236|aquatail|crunch|earthquake|rockslide", - "glimmet": "rock|toxicdebris|focussash|timid|0,0,20,236,36,196|mudshot|powergem|sludgewave|stealthrock", - "toedscool": "ground|myceliummight|eviolite|timid|196,0,76,36,0,196|earthpower|gigadrain|knockoff|rapidspin" - } - ], - "nymble|girafarig|glimmet|meowth|toedscool|magnemite": [ - { - "nymble": "bug|tintedlens|lifeorb|adamant|0,228,36,0,0,236|firstimpression|leechlife|suckerpunch|uturn", - "girafarig": "fighting|earlybird|eviolite|timid|0,0,76,196,0,236|nastyplot|rest|terablast|twinbeam", - "glimmet": "flying|toxicdebris|focussash|timid|0,0,20,236,36,196|mudshot|powergem|sludgewave|stealthrock", - "meowth": "normal|technician|lifeorb|jolly|36,236,0,0,36,196|bite|fakeout|feint|uturn", - "toedscool": "steel|myceliummight|eviolite|timid|196,0,76,36,0,196|earthpower|gigadrain|knockoff|rapidspin", - "magnemite": "ice|analytic|choicescarf|timid|0,0,116,236,0,156|flashcannon|terablast|thunderbolt|voltswitch" - } - ], - "dratini|pawniard|toedscool|shellos|wattrel|crabrawler": [ - { - "dratini": "normal|shedskin|lifeorb|adamant|28,244,0,0,36,196|dragondance|extremespeed|outrage|waterfall", - "pawniard": "flying|defiant|eviolite|jolly|0,236,36,0,36,196|brickbreak|ironhead|nightslash|suckerpunch", - "toedscool": "steel|myceliummight|eviolite|timid|196,0,76,36,0,196|earthpower|gigadrain|knockoff|rapidspin", - "shellos": "grass|stickyhold|eviolite|bold|228,0,212,0,20,4|earthpower|icebeam|recover|stealthrock", - "wattrel": "fighting|voltabsorb|heavydutyboots|timid|36,0,0,236,36,196|hurricane|terablast|thunderbolt|voltswitch", - "crabrawler": "electric|ironfist|eviolite|jolly|0,180,60,0,0,252|bulkup|drainpunch|icepunch|thunderpunch" - } - ], - "tinglu|rotomwash|dragapult|breloom|scizor|greattusk": [ - { - "tinglu": "water|vesselofruin|leftovers|sassy|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind", - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "dragapult": "ghost|infiltrator|choicescarf|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "breloom": "fighting|technician|lifeorb|jolly|0,252,0,0,4,252|bulletseed|machpunch|rocktomb|spore", - "scizor": "steel|technician|choiceband|adamant|156,252,0,0,8,0|bulletpunch|closecombat|defog|uturn", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|rapidspin" - } - ], - "palossand|arcanine|arboliva|cryogonal|gardevoir|naclstack": [ - { - "palossand": "water|watercompaction|rockyhelmet|bold|252,0,252,0,4,0|earthpower|shadowball|shoreup|stealthrock", - "arcanine": "normal|flashfire|choiceband|adamant|0,252,4,0,0,252|closecombat|extremespeed|flareblitz|psychicfangs", - "arboliva": "steel|seedsower|choicespecs|modest|212,0,0,252,0,44|earthpower|gigadrain|hypervoice|leafstorm", - "cryogonal": "electric|levitate|heavydutyboots|calm|252,0,4,0,252,0|haze|icebeam|rapidspin|recover", - "gardevoir": "fairy|trace|choicescarf|timid|0,0,0,252,4,252|moonblast|mysticalfire|psychic|trick", - "naclstack": "steel|purifyingsalt|eviolite|impish|252,0,252,0,4,0|bodypress|irondefense|recover|saltcure" - } - ], - "primeape|palossand|arboliva|basculinbluestriped|gardevoir|cryogonal": [ - { - "primeape": "ghost|defiant|eviolite|jolly|252,0,4,0,0,252|bulkup|drainpunch|ragefist|taunt", - "palossand": "fairy|watercompaction|rockyhelmet|bold|252,0,252,0,4,0|earthpower|shadowball|shoreup|stealthrock", - "arboliva": "ghost|seedsower|choicespecs|modest|252,0,0,252,4,0|earthpower|gigadrain|hypervoice|leafstorm", - "basculinbluestriped": "water|adaptability|choiceband|adamant|0,252,0,0,4,252|aquajet|crunch|psychicfangs|wavecrash", - "gardevoir": "fairy|trace|choicescarf|timid|0,0,4,252,0,252|moonblast|mysticalfire|psychic|trick", - "cryogonal": "electric|levitate|heavydutyboots|calm|252,0,4,0,252,0|freezedry|haze|rapidspin|recover" - } - ], - "staraptor|corviknight|magnezone|tinglu|skeledirge|greattusk": [ - { - "staraptor": "flying|reckless|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|doubleedge|uturn", - "corviknight": "water|pressure|rockyhelmet|relaxed|248,8,252,0,0,0|bodypress|defog|roost|uturn", - "magnezone": "electric|magnetpull|choicespecs|modest|40,0,0,252,0,216|flashcannon|steelbeam|thunderbolt|voltswitch", - "tinglu": "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "skeledirge": "normal|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp", - "greattusk": "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|bulkup|closecombat|headlongrush|rapidspin" - } - ], - "staraptor|magnezone|gholdengo|garganacl|cinderace|rotomwash": [ - { - "staraptor": "normal|reckless|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|doubleedge|uturn", - "magnezone": "fairy|magnetpull|choicespecs|modest|40,0,0,252,0,216|flashcannon|terablast|thunderbolt|voltswitch", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "garganacl": "water|purifyingsalt|leftovers|careful|252,4,0,0,252,0|bodypress|irondefense|recover|saltcure", - "cinderace": "fighting|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn", - "rotomwash": "fairy|levitate|leftovers|bold|248,0,252,8,0,0|hydropump|protect|voltswitch|willowisp" - } - ], - "rotomwash|slowbro|clodsire|chienpao|tinkaton|cyclizar": [ - { - "rotomwash": "fairy|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|terablast|trick|voltswitch", - "slowbro": "fighting|regenerator|heavydutyboots|bold|252,0,252,0,4,0|bodypress|calmmind|irondefense|storedpower", - "clodsire": "water|unaware|heavydutyboots|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword", - "tinkaton": "water|moldbreaker|leftovers|impish|248,0,252,0,8,0|gigatonhammer|knockoff|stealthrock|thunderwave", - "cyclizar": "poison|shedskin|heavydutyboots|jolly|252,4,0,0,0,252|knockoff|rapidspin|shedtail|uturn" - } - ], - "slowking|bronzong|clawitzer|ursaring|crabominable|hatterene": [ - { - "slowking": "water|regenerator|heavydutyboots|sassy|252,0,0,4,252,0|chillyreception|slackoff|surf|trickroom", - "bronzong": "fighting|levitate|leftovers|relaxed|252,0,252,0,4,0|bodypress|gyroball|stealthrock|trickroom", - "clawitzer": "dark|megalauncher|choicespecs|quiet|252,0,0,252,4,0|aurasphere|darkpulse|icebeam|waterpulse", - "ursaring": "normal|guts|flameorb|brave|248,252,0,0,8,0|crunch|facade|firepunch|playrough", - "crabominable": "ice|ironfist|choiceband|adamant|252,252,0,0,4,0|closecombat|earthquake|icehammer|rockslide", - "hatterene": "flying|magicbounce|leftovers|bold|252,0,252,0,4,0|dazzlinggleam|healingwish|psychic|trickroom" - } - ], - "slowking|bronzong|hatterene|mabosstiff|azumarill|torkoal": [ - { - "slowking": "water|regenerator|heavydutyboots|sassy|252,0,0,4,252,0|chillyreception|slackoff|surf|trickroom", - "bronzong": "fighting|levitate|leftovers|relaxed|252,0,252,0,4,0|bodypress|gyroball|stealthrock|trickroom", - "hatterene": "flying|magicbounce|leftovers|bold|252,0,252,0,4,0|drainingkiss|mysticalfire|psychic|trickroom", - "mabosstiff": "dark|stakeout|choiceband|brave|252,252,0,0,4,0|crunch|doubleedge|firefang|playrough", - "azumarill": "fairy|hugepower|choiceband|brave|252,252,0,0,4,0|aquajet|icepunch|liquidation|playrough", - "torkoal": "fire|drought|choicespecs|quiet|248,0,0,252,8,0|eruption|flamethrower|overheat|solarbeam" - } - ], - "ironhands|hatterene|grimmsnarl|volcarona|dunsparce|roaringmoon": [ - { - "ironhands": "electric|quarkdrive|punchingglove|adamant|164,252,0,0,0,92|drainpunch|icepunch|swordsdance|thunderpunch", - "hatterene": "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|storedpower", - "grimmsnarl": "ghost|prankster|lightclay|careful|252,0,0,0,248,8|lightscreen|partingshot|reflect|taunt", - "volcarona": "steel|flamebody|heavydutyboots|timid|248,0,84,0,0,176|flamethrower|morningsun|quiverdance|willowisp", - "dunsparce": "fairy|serenegrace|eviolite|careful|252,4,0,0,252,0|bite|bodyslam|coil|roost", - "roaringmoon": "fairy|protosynthesis|boosterenergy|careful|240,0,16,0,172,80|crunch|dragondance|taunt|terablast" - } - ], - "rotomwash|dragonite|skeledirge|tinglu|ironvaliant|chienpao": [ - { - "rotomwash": "ghost|levitate|leftovers|bold|248,0,248,0,0,12|hydropump|protect|voltswitch|willowisp", - "dragonite": "electric|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|icespinner|thunderpunch", - "skeledirge": "fairy|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "ironvaliant": "electric|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword" - } - ], - "komala|slowbro|arboliva|revavroom|haxorus|weavile": [ - { - "komala": "normal|comatose|assaultvest|adamant|252,252,0,0,4,0|bodyslam|rapidspin|suckerpunch|uturn", - "slowbro": "water|regenerator|leftovers|bold|252,0,252,4,0,0|futuresight|slackoff|surf|thunderwave", - "arboliva": "fairy|seedsower|leftovers|modest|248,0,0,252,8,0|earthpower|gigadrain|leechseed|terablast", - "revavroom": "flying|overcoat|choicescarf|jolly|0,252,0,0,4,252|gunkshot|haze|ironhead|partingshot", - "haxorus": "fighting|moldbreaker|choiceband|jolly|0,252,0,0,4,252|closecombat|firstimpression|outrage|poisonjab", - "weavile": "ice|pressure|heavydutyboots|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|swordsdance" - } - ], - "primeape|taurospaldeafire|heracross|awawadw)(oricoriopompom)|>b)(krookodile)|salazzle": [ - { - "primeape": "ghost|defiant|focussash|jolly|0,252,0,0,4,252|closecombat|ragefist|stealthrock|taunt", - "taurospaldeafire": "water|cudchew|sitrusberry|jolly|4,252,0,0,0,252|bulkup|closecombat|flamecharge|ragingbull", - "heracross": "dark|guts|flameorb|jolly|0,252,0,0,4,252|closecombat|facade|throatchop|trailblaze", - "awawadw)(oricoriopompom)": "steel|dancer|heavydutyboots|timid|248,0,8,0,0,252|hurricane|quiverdance|revelationdance|roost", - ">b)(krookodile)": "fighting|moxie|choicescarf|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|stoneedge", - "salazzle": "fire|oblivious|heavydutyboots|timid|0,0,0,252,4,252|dragonpulse|nastyplot|overheat|sludgebomb" - } - ], - "torkoal|cinderace|chiyu|hatterene|greattusk|hariyama": [ - { - "torkoal": "ghost|drought|heatrock|calm|248,0,0,8,252,0|earthpower|lavaplume|stealthrock|willowisp", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|suckerpunch", - "chiyu": "fire|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|fireblast|flamethrower|overheat", - "hatterene": "water|magicbounce|leftovers|bold|248,0,204,0,0,56|calmmind|drainingkiss|healingwish|storedpower", - "greattusk": "ground|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|stoneedge", - "hariyama": "fairy|thickfat|assaultvest|careful|216,0,40,0,252,0|drainpunch|earthquake|icepunch|knockoff" - }, - { - "torkoal": "poison|drought|heatrock|calm|248,0,0,8,252,0|earthpower|lavaplume|rapidspin|yawn", - "cinderace": "fire|libero|choiceband|jolly|0,252,0,0,4,252|highjumpkick|pyroball|uturn|zenheadbutt", - "chiyu": "fire|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|fireblast|flamethrower|overheat", - "hatterene": "water|magicbounce|leftovers|bold|248,0,204,0,0,56|calmmind|drainingkiss|healingwish|storedpower", - "greattusk": "grass|protosynthesis|rockyhelmet|impish|248,0,180,0,0,80|bodypress|earthquake|rapidspin|stealthrock", - "hariyama": "fairy|thickfat|assaultvest|careful|216,0,40,0,252,0|drainpunch|earthquake|heavyslam|heavyslam" - } - ], - "flamigo|weavile|espeon|taurospaldeafire|frosmoth|rotomheat": [ - { - "flamigo": "normal|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn", - "weavile": "dark|pressure|heavydutyboots|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|swordsdance", - "espeon": "dark|magicbounce|lightclay|timid|252,0,0,4,0,252|dazzlinggleam|lightscreen|psychic|reflect", - "taurospaldeafire": "fighting|intimidate|leftovers|impish|252,0,252,0,4,0|bodypress|protect|ragingbull|willowisp", - "frosmoth": "water|icescales|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|icebeam|quiverdance|terablast", - "rotomheat": "electric|levitate|choicescarf|timid|0,0,0,252,4,252|nastyplot|overheat|trick|voltswitch" - } - ], - "cinderace|greattusk|gholdengo|ironvaliant|dragapult|glimmora": [ - { - "cinderace": "electric|blaze|lifeorb|jolly|0,252,0,0,4,252|pyroball|suckerpunch|swordsdance|terablast", - "greattusk": "water|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|focusblast|moonblast|shadowball|thunderbolt", - "dragapult": "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|hydropump|shadowball|uturn", - "glimmora": "grass|toxicdebris|focussash|timid|0,0,0,252,4,252|energyball|powergem|sludgewave|stealthrock" - } - ], - "flamigo|coalossal|magnezone|espeon|rotommow|palossand": [ - { - "flamigo": "fighting|scrappy|choicescarf|jolly|0,252,0,0,4,252|bravebird|closecombat|roost|uturn", - "coalossal": "ghost|flamebody|heavydutyboots|jolly|252,0,252,0,0,4|rapidspin|rockblast|spikes|willowisp", - "magnezone": "fighting|magnetpull|leftovers|timid|248,0,136,16,52,56|bodypress|irondefense|substitute|thunderbolt", - "espeon": "fairy|magicbounce|leftovers|bold|236,0,244,0,0,28|calmmind|drainingkiss|psyshock|thunderwave", - "rotommow": "grass|levitate|choicespecs|timid|0,0,0,252,4,252|leafstorm|trick|voltswitch|willowisp", - "palossand": "normal|watercompaction|heavydutyboots|timid|252,0,0,0,216,40|earthpower|hex|shoreup|stealthrock" - } - ], - "dragapult|corviknight|kingambit|annihilape|ironmoth|breloom": [ - { - "dragapult": "dragon|infiltrator|choicescarf|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "corviknight": "ground|pressure|leftovers|calm|252,0,4,0,252,0|bodypress|defog|irondefense|roost", - "kingambit": "flying|supremeoverlord|blackglasses|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance", - "annihilape": "water|defiant|leftovers|careful|252,252,4,0,0,0|bulkup|drainpunch|ragefist|taunt", - "ironmoth": "flying|quarkdrive|choicespecs|timid|0,0,0,252,4,252|fierydance|overheat|sludgewave|terablast", - "breloom": "fighting|technician|focussash|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance" - } - ], - "gallade|gholdengo|chiyu|screamtail|greattusk|kingambit": [ - { - "gallade": "dark|sharpness|choicescarf|jolly|0,252,0,0,4,252|nightslash|psychocut|sacredsword|trick", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "chiyu": "dark|beadsofruin|heavydutyboots|timid|0,0,4,252,0,252|darkpulse|flamecharge|flamethrower|psychic", - "screamtail": "fairy|protosynthesis|leftovers|calm|252,0,4,0,252,0|flamethrower|protect|stealthrock|wish", - "greattusk": "ground|protosynthesis|rockyhelmet|impish|252,4,252,0,0,0|closecombat|earthquake|icespinner|rapidspin", - "kingambit": "ghost|supremeoverlord|lifeorb|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ], - "garchomp|amoonguss|volcarona|ironvaliant|rotomwash|gengar": [ - { - "garchomp": "ghost|roughskin|heavydutyboots|jolly|248,8,0,0,0,252|dragontail|earthquake|spikes|stealthrock", - "amoonguss": "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|foulplay|gigadrain|sludgebomb|spore", - "volcarona": "water|flamebody|heavydutyboots|bold|248,0,252,8,0,0|bugbuzz|flamethrower|morningsun|quiverdance", - "ironvaliant": "fairy|quarkdrive|boosterenergy|naive|0,16,0,240,0,252|closecombat|moonblast|shadowball|thunderbolt", - "rotomwash": "electric|levitate|heavydutyboots|bold|248,0,252,0,8,0|hydropump|protect|voltswitch|willowisp", - "gengar": "ghost|cursedbody|choicespecs|timid|0,0,0,252,4,252|focusblast|shadowball|sludgebomb|thunderbolt" - } - ], - "arboliva|hawlucha|gholdengo|chiyu|corviknight|tinglu": [ - { - "arboliva": "normal|seedsower|assaultvest|modest|248,0,0,252,8,0|dazzlinggleam|earthpower|energyball|hypervoice", - "hawlucha": "fighting|unburden|grassyseed|adamant|0,252,0,0,4,252|acrobatics|closecombat|swordsdance|taunt", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|trick", - "chiyu": "dark|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|flamethrower|memento|psychic", - "corviknight": "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn", - "tinglu": "fairy|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind" - } - ], - "greattusk|irontreads|chienpao|corviknight|taurospaldeafire|meowscarada": [ - { - "greattusk": "water|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "irontreads": "ground|quarkdrive|choicescarf|jolly|0,252,0,0,4,252|earthquake|icespinner|rapidspin|voltswitch", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|ruination|suckerpunch", - "corviknight": "water|pressure|rockyhelmet|impish|248,8,252,0,0,0|bodypress|defog|roost|uturn", - "taurospaldeafire": "dark|intimidate|assaultvest|adamant|252,16,0,0,240,0|closecombat|ironhead|ragingbull|stoneedge", - "meowscarada": "grass|overgrow|leftovers|naive|0,4,0,252,0,252|knockoff|leafstorm|spikes|uturn" - } - ], - "hatterene|ironjugulis|kingambit|greattusk|ironmoth|dragapult": [ - { - "hatterene": "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|mysticalfire|psyshock", - "ironjugulis": "dark|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|earthpower|hurricane|uturn", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|earthquake|rapidspin|stealthrock", - "ironmoth": "grass|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|energyball|fierydance|morningsun|sludgewave", - "dragapult": "ghost|infiltrator|choiceband|adamant|0,252,0,0,4,252|dragondarts|suckerpunch|terablast|uturn" - } - ], - "ironhands|greattusk|ironvaliant|ironbundle|corviknight|sandyshocks": [ - { - "ironhands": "fighting|triage|sitrusberry|adamant|116,252,0,0,0,140|bellydrum|drainpunch|earthquake|thunderpunch", - "greattusk": "ground|regenerator|heavydutyboots|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|stealthrock", - "ironvaliant": "fairy|sheerforce|lifeorb|naive|0,4,0,252,0,252|closecombat|moonblast|shadowball|thunderbolt", - "ironbundle": "ice|primordialsea|choicespecs|timid|0,0,0,252,4,252|flipturn|freezedry|hydropump|icebeam", - "corviknight": "flying|icescales|leftovers|sassy|252,4,0,0,252,0|bravebird|defog|roost|uturn", - "sandyshocks": "electric|hadronengine|choicescarf|timid|0,0,0,252,4,252|earthpower|spikes|thunderbolt|voltswitch" - } - ], - "roaringmoon|gholdengo|ironhands|irontreads|talonflame|gastrodon": [ - { - "roaringmoon": "dragon|protean|choiceband|jolly|0,252,0,0,4,252|earthquake|stoneedge|uturn|zenheadbutt", - "gholdengo": "steel|stormdrain|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick", - "ironhands": "fighting|wellbakedbody|leftovers|adamant|0,44,0,0,248,216|drainpunch|earthquake|heavyslam|swordsdance", - "irontreads": "ground|eartheater|leftovers|jolly|0,0,0,0,252,252|earthquake|knockoff|rapidspin|stealthrock", - "talonflame": "fire|regenerator|heavydutyboots|jolly|252,0,60,0,0,196|bravebird|defog|taunt|willowisp", - "gastrodon": "water|icescales|heavydutyboots|sassy|252,0,72,0,184,0|earthquake|icebeam|recover|spikes" - } - ], - "tinglu|irontreads|dragapult|corviknight|volcarona|florges": [ - { - "tinglu": "dark|toxicdebris|leftovers|impish|252,0,52,0,204,0|earthquake|spikes|stealthrock|whirlwind", - "irontreads": "ground|wellbakedbody|leftovers|jolly|252,0,0,0,152,104|earthquake|knockoff|rapidspin|voltswitch", - "dragapult": "dragon|regenerator|heavydutyboots|timid|108,0,0,148,0,252|dracometeor|hex|uturn|willowisp", - "corviknight": "flying|goodasgold|leftovers|relaxed|252,0,56,0,200,0|bravebird|bulkup|roost|uturn", - "volcarona": "bug|furcoat|heavydutyboots|bold|248,0,228,0,0,32|fierydance|morningsun|quiverdance|willowisp", - "florges": "fairy|icescales|heavydutyboots|calm|248,0,224,0,36,0|calmmind|moonblast|synthesis|wish" - } - ], - "glimmora|dragapult|cyclizar|grimmsnarl|gyarados|volcarona": [ - { - "glimmora": "rock|corrosion|blacksludge|timid|252,0,0,4,0,252|dazzlinggleam|spikes|stealthrock|toxic", - "dragapult": "dragon|furcoat|heavydutyboots|timid|64,0,0,192,0,252|dracometeor|hex|uturn|willowisp", - "cyclizar": "dragon|regenerator|choicescarf|timid|232,0,0,24,0,252|dracometeor|dragontail|rapidspin|shedtail", - "grimmsnarl": "dark|wellbakedbody|leftovers|adamant|220,152,0,0,0,136|bulkup|crunch|playrough|suckerpunch", - "gyarados": "water|fluffy|leftovers|adamant|248,76,0,0,0,184|dragondance|stoneedge|taunt|waterfall", - "volcarona": "bug|icescales|heavydutyboots|timid|248,0,176,0,0,84|flamethrower|morningsun|psychic|quiverdance" - } - ], - "ironmoth|garchomp|corviknight|vaporeon|ironhands|gholdengo": [ - { - "ironmoth": "fire|opportunist|heavydutyboots|timid|0,0,0,252,4,252|discharge|fierydance|morningsun|sludgewave", - "garchomp": "dragon|regenerator|heavydutyboots|careful|252,0,28,0,228,0|dragontail|earthquake|spikes|stealthrock", - "corviknight": "flying|wellbakedbody|leftovers|sassy|252,0,4,0,252,0|bravebird|defog|roost|uturn", - "vaporeon": "water|furcoat|heavydutyboots|bold|248,0,252,8,0,0|calmmind|protect|surf|wish", - "ironhands": "fighting|icescales|lumberry|adamant|0,44,0,0,248,216|drainpunch|earthquake|heavyslam|swordsdance", - "gholdengo": "steel|eartheater|choicescarf|timid|252,0,0,0,4,252|nastyplot|recover|shadowball|trick" - } - ], - "dragonite|rotomwash|screamtail|clodsire|glimmora|irontreads": [ - { - "dragonite": "dragon|aerilate|lifeorb|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "rotomwash": "electric|armortail|leftovers|calm|252,0,0,4,252,0|hydropump|protect|voltswitch|willowisp", - "screamtail": "fairy|unaware|leftovers|bold|252,0,252,4,0,0|dazzlinggleam|encore|protect|wish", - "clodsire": "poison|magicguard|airballoon|careful|252,4,0,0,252,0|earthquake|recover|spikes|stealthrock", - "glimmora": "rock|protean|choicescarf|timid|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave", - "irontreads": "ground|eartheater|assaultvest|jolly|0,252,0,0,4,252|earthquake|ironhead|rapidspin|stoneedge" - } - ], - "ironhands|tinglu|ironbundle|corviknight|screamtail|ironmoth": [ - { - "ironhands": "flying|triage|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|drainpunch|icepunch|thunderpunch", - "tinglu": "fairy|regenerator|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind", - "ironbundle": "water|magicguard|lifeorb|timid|0,0,0,252,4,252|flipturn|freezedry|hydropump|icebeam", - "corviknight": "ground|wellbakedbody|rockyhelmet|relaxed|252,0,252,0,4,0|bravebird|defog|roost|uturn", - "screamtail": "steel|pixilate|heavydutyboots|timid|252,0,0,80,0,176|boomburst|encore|protect|wish", - "ironmoth": "grass|desolateland|heavydutyboots|calm|248,0,0,8,252,0|fierydance|morningsun|toxicspikes|uturn" - } - ], - "kingambit|meowscarada|chienpao|quaquaval|dragonite|cinderace": [ - { - "kingambit": "psychic|supremeoverlord|assaultvest|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|zenheadbutt", - "meowscarada": "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|suckerpunch|trick|uturn", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|suckerpunch|swordsdance", - "quaquaval": "steel|moxie|covertcloak|impish|200,0,156,0,0,152|aquastep|bulkup|closecombat|roost", - "dragonite": "steel|multiscale|heavydutyboots|bold|248,0,80,0,0,180|dracometeor|encore|hurricane|roost", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn" - } - ], - "roaringmoon|ironmoth|greattusk|gholdengo|dragonite|chienpao": [ - { - "roaringmoon": "ground|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|earthquake|ironhead|uturn", - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|hurricane|overheat|sludgewave|terablast", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "gholdengo": "flying|goodasgold|covertcloak|modest|252,0,16,44,176,20|makeitrain|nastyplot|recover|shadowball", - "dragonite": "steel|multiscale|heavydutyboots|bold|248,0,152,0,4,104|bodypress|dragontail|icebeam|roost", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword" - } - ], - "lokix|skeledirge|toedscruel|rotomwash|taurospaldeawater|dragonite": [ - { - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|suckerpunch|uturn", - "skeledirge": "water|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp", - "toedscruel": "ground|myceliummight|leftovers|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore", - "rotomwash": "water|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch", - "taurospaldeawater": "fighting|intimidate|choiceband|jolly|0,252,0,0,4,252|aquajet|closecombat|ragingbull|wavecrash", - "dragonite": "normal|multiscale|heavydutyboots|adamant|144,252,0,0,0,112|dragondance|earthquake|extremespeed|roost" - } - ], - "hatterene|baxcalibur|dragapult|kingambit|glimmora|greattusk": [ - { - "hatterene": "water|magicbounce|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|nuzzle|psychic", - "baxcalibur": "dragon|thermalexchange|loadeddice|adamant|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "glimmora": "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|spikes", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|knockoff|rapidspin|stealthrock" - } - ], - "baxcalibur|slowking|hatterene|dragapult|ironhands|greattusk": [ - { - "baxcalibur": "water|icebody|leftovers|adamant|252,172,0,0,84,0|dragondance|glaiverush|iciclecrash|protect", - "slowking": "fairy|regenerator|icyrock|modest|252,0,0,132,124,0|chillyreception|fireblast|futuresight|surf", - "hatterene": "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|mysticalfire|psyshock", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn", - "ironhands": "water|quarkdrive|leftovers|adamant|0,252,4,0,252,0|drainpunch|earthquake|swordsdance|wildcharge", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|knockoff|rapidspin|stealthrock" - } - ], - "baxcalibur|slowking|hatterene|dragapult|kingambit|greattusk": [ - { - "baxcalibur": "water|icebody|leftovers|adamant|252,172,0,0,84,0|dragondance|glaiverush|iciclecrash|protect", - "slowking": "fairy|regenerator|icyrock|modest|252,0,0,132,124,0|chillyreception|fireblast|futuresight|surf", - "hatterene": "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|mysticalfire|psyshock", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,216,0,0,40|bodypress|knockoff|rapidspin|stealthrock" - } - ], - "slowbromega|greattusk|arcanine|dragonite|cyclizar|ironvaliant": [ - { - "slowbromega": "water|regenerator|slowbronite|bold|252,0,252,4,0,0|futuresight|scald|slackoff|teleport", - "greattusk": "ground|protosynthesis|groundiumz|adamant|216,180,32,0,0,80|closecombat|headlongrush|rapidspin|stealthrock", - "arcanine": "fire|intimidate|heavydutyboots|careful|236,0,20,0,252,0|extremespeed|morningsun|roar|willowisp", - "dragonite": "normal|multiscale|heavydutyboots|adamant|76,252,0,0,4,176|dragondance|earthquake|extremespeed|icespinner", - "cyclizar": "ghost|regenerator|choicescarf|timid|0,0,0,252,4,252|dracometeor|overheat|rapidspin|shedtail", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psychic|thunderbolt" - } - ], - "meowscarada|rotomwash|cinderace|scizor|dragapult|ironvaliant": [ - { - "meowscarada": "grass|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn", - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,0,4,0|discharge|hydropump|thunderwave|voltswitch", - "cinderace": "fire|libero|choiceband|adamant|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn", - "scizor": "water|technician|lifeorb|adamant|248,252,0,0,8,0|bulletpunch|defog|swordsdance|uturn", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "ironvaliant": "fairy|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt" - } - ], - "roaringmoon|orthworm|scovillain|torkoal|tinglu|slowbro": [ - { - "roaringmoon": "dragon|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|earthquake|scaleshot|uturn", - "orthworm": "fairy|eartheater|sitrusberry|impish|236,0,252,0,0,20|bodypress|metalburst|shedtail|stealthrock", - "scovillain": "ice|chlorophyll|lifeorb|modest|0,0,0,252,4,252|energyball|fireblast|growth|terablast", - "torkoal": "grass|drought|heatrock|sassy|252,0,4,0,252,0|lavaplume|rapidspin|stealthrock|yawn", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind", - "slowbro": "fighting|regenerator|covertcloak|bold|252,0,252,4,0,0|bodypress|futuresight|slackoff|surf" - } - ], - "hatterene|greattusk|volcarona|hydreigon|dragapult|dondozo": [ - { - "hatterene": "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|nuzzle|psyshock", - "greattusk": "fighting|protosynthesis|rockyhelmet|impish|252,4,252,0,0,0|bodypress|earthquake|knockoff|rapidspin", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|gigadrain|morningsun|quiverdance", - "hydreigon": "steel|levitate|lifeorb|timid|0,0,0,252,4,252|darkpulse|dracometeor|earthpower|stealthrock", - "dragapult": "ghost|clearbody|choiceband|hasty|0,252,0,4,0,252|dragondarts|suckerpunch|terablast|uturn", - "dondozo": "grass|unaware|leftovers|careful|252,0,4,0,252,0|curse|rest|sleeptalk|wavecrash" - } - ], - "ironhands|arboliva|chienpao|greattusk|corviknight|dragapult": [ - { - "ironhands": "steel|quarkdrive|assaultvest|adamant|252,252,4,0,0,0|drainpunch|fakeout|heavyslam|wildcharge", - "arboliva": "ghost|seedsower|terrainextender|calm|248,0,0,8,252,0|earthpower|leafstorm|leechseed|strengthsap", - "chienpao": "ghost|swordofruin|choicescarf|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword", - "greattusk": "water|protosynthesis|leftovers|jolly|0,252,0,0,4,252|headlongrush|knockoff|rapidspin|stealthrock", - "corviknight": "ground|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn", - "dragapult": "fire|clearbody|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "kingambit|irontreads|meowscarada|dragonite|hatterene|glimmora": [ - { - "kingambit": "fairy|supremeoverlord|leftovers|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|earthquake|ironhead|rapidspin|stealthrock", - "meowscarada": "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|knockoff|thunderpunch|uturn", - "dragonite": "normal|multiscale|lumberry|adamant|176,252,0,0,0,80|dragondance|earthquake|extremespeed|roost", - "hatterene": "water|magicbounce|leftovers|modest|252,0,252,4,0,0|calmmind|drainingkiss|mysticalfire|psychic", - "glimmora": "flying|toxicdebris|focussash|modest|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave" - } - ], - "abomasnow|azumarill|dragapult|scizor|ceruledge|greattusk": [ - { - "abomasnow": "fairy|snowwarning|lightclay|bold|252,0,252,0,4,0|auroraveil|blizzard|bodypress|leechseed", - "azumarill": "water|hugepower|sitrusberry|adamant|252,244,0,0,12,0|aquajet|bellydrum|liquidation|playrough", - "dragapult": "electric|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "scizor": "steel|technician|leftovers|adamant|252,252,0,0,4,0|bulletpunch|closecombat|swordsdance|uturn", - "ceruledge": "normal|flashfire|heavydutyboots|adamant|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance", - "greattusk": "water|protosynthesis|leftovers|impish|244,16,204,0,0,44|bodypress|earthquake|knockoff|rapidspin" - } - ], - "taurospaldeafire|screamtail|tinglu|brambleghast|chienpao|gholdengo": [ - { - "taurospaldeafire": "fighting|intimidate|leftovers|impish|252,0,252,0,0,4|bodypress|protect|ragingbull|willowisp", - "screamtail": "water|protosynthesis|leftovers|calm|252,0,76,0,180,0|dazzlinggleam|encore|protect|wish", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind", - "brambleghast": "steel|windrider|heavydutyboots|impish|252,0,252,0,0,4|powerwhip|rapidspin|spikes|strengthsap", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,4,0,0,252|crunch|iceshard|icespinner|sacredsword", - "gholdengo": "flying|goodasgold|covertcloak|bold|252,0,152,0,0,104|makeitrain|nastyplot|recover|shadowball" - } - ], - "garganacl|lokix|skeledirge|toedscruel|rotomwash|orthworm": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|236,0,176,0,96,0|protect|recover|saltcure|stealthrock", - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|suckerpunch|uturn", - "skeledirge": "water|unaware|heavydutyboots|calm|248,0,0,8,252,0|hex|slackoff|torchsong|willowisp", - "toedscruel": "ground|myceliummight|heavydutyboots|modest|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore", - "rotomwash": "electric|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch", - "orthworm": "ghost|eartheater|sitrusberry|impish|252,4,236,0,0,16|bodypress|heavyslam|shedtail|spikes" - } - ], - "dragalge|toedscruel|slowking|azumarill|gallade|slitherwing": [ - { - "dragalge": "flying|adaptability|lifeorb|quiet|252,0,4,252,0,0|dracometeor|shadowball|sludgebomb|thunderbolt", - "toedscruel": "steel|myceliummight|leftovers|sassy|252,0,0,72,184,0|earthpower|rapidspin|spore|trickroom", - "slowking": "fairy|regenerator|leftovers|relaxed|252,0,252,4,0,0|chillyreception|flamethrower|psyshock|trickroom", - "azumarill": "ground|sapsipper|leftovers|relaxed|252,0,252,4,0,0|chillingwater|drainingkiss|encore|superpower", - "gallade": "ghost|sharpness|lifeorb|adamant|192,252,0,0,0,64|nightslash|psychocut|sacredsword|shadowsneak", - "slitherwing": "bug|protosynthesis|choiceband|brave|252,252,4,0,0,0|closecombat|earthquake|firstimpression|uturn" - } - ], - "sawsbuckwinter|torkoal|screamtail|grimmsnarl|greattusk|dragapult": [ - { - "sawsbuckwinter": "normal|chlorophyll|lifeorb|adamant|0,252,0,0,4,252|doubleedge|playrough|stompingtantrum|swordsdance", - "torkoal": "flying|drought|heatrock|bold|248,0,252,8,0,0|lavaplume|rapidspin|stealthrock|yawn", - "screamtail": "water|protosynthesis|leftovers|calm|252,0,4,0,252,0|dazzlinggleam|encore|protect|wish", - "grimmsnarl": "fire|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt", - "greattusk": "fairy|protosynthesis|leftovers|adamant|220,252,0,0,0,36|bulkup|closecombat|headlongrush|rapidspin", - "dragapult": "ghost|infiltrator|choicescarf|modest|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn" - } - ], - "grimmsnarl|dragonite|orthworm|garchomp|flapple|pawmot": [ - { - "grimmsnarl": "steel|prankster|lightclay|careful|248,0,8,0,252,0|lightscreen|reflect|spiritbreak|taunt", - "dragonite": "normal|multiscale|leftovers|jolly|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "orthworm": "ghost|eartheater|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock", - "garchomp": "fire|roughskin|muscleband|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|swordsdance", - "flapple": "grass|hustle|widelens|jolly|0,252,0,0,4,252|dragondance|gravapple|outrage|suckerpunch", - "pawmot": "steel|naturalcure|leppaberry|jolly|248,0,0,0,28,232|nuzzle|rest|revivalblessing|sleeptalk" - } - ], - "cinderace|flareon|heracross|hariyama|glimmora|zangoose": [ - { - "cinderace": "flying|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|ironhead|pyroball|uturn", - "flareon": "fire|guts|choiceband|adamant|0,252,0,0,4,252|bodyslam|flareblitz|quickattack|trailblaze", - "heracross": "fighting|guts|choiceband|jolly|0,252,4,0,0,252|closecombat|earthquake|megahorn|stoneedge", - "hariyama": "fighting|guts|punchingglove|adamant|148,252,0,0,0,108|bulletpunch|closecombat|icepunch|thunderpunch", - "glimmora": "rock|toxicdebris|focussash|hasty|0,4,0,252,0,252|earthpower|explosion|powergem|toxicspikes", - "zangoose": "ghost|toxicboost|choiceband|jolly|0,252,0,0,4,252|bodyslam|closecombat|gunkshot|shadowclaw" - } - ], - "ironmoth|kingambit|garchomp|ironvaliant|pincurchin|irontreads": [ - { - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|discharge|energyball|fierydance|sludgewave", - "kingambit": "flying|supremeoverlord|blackglasses|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "garchomp": "dragon|roughskin|rockyhelmet|naive|0,252,0,4,0,252|dragonclaw|earthquake|fireblast|spikes", - "ironvaliant": "fairy|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|closecombat|firepunch|spiritbreak|swordsdance", - "pincurchin": "electric|electricsurge|terrainextender|sassy|252,4,0,0,252,0|discharge|memento|suckerpunch|toxicspikes", - "irontreads": "ground|quarkdrive|airballoon|jolly|0,252,0,0,4,252|earthquake|icespinner|ironhead|rapidspin" - } - ], - "azumarill|greattusk|breloom|honchkrow|masquerain|gholdengo": [ - { - "azumarill": "water|hugepower|sitrusberry|adamant|4,252,0,0,0,252|aquajet|bellydrum|playrough|trailblaze", - "greattusk": "fighting|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "breloom": "grass|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|closecombat|machpunch|spore", - "honchkrow": "dark|moxie|mirrorherb|adamant|0,252,4,0,0,252|acrobatics|nightslash|suckerpunch|swagger", - "masquerain": "ghost|intimidate|focussash|modest|0,0,0,252,4,252|hurricane|quiverdance|stickyweb|stunspore", - "gholdengo": "fighting|goodasgold|airballoon|timid|224,0,0,32,0,252|makeitrain|nastyplot|recover|shadowball" - } - ], - "baxcalibur|ironvaliant|rotomwash|garchomp|tinglu|cinderace": [ - { - "baxcalibur": "dragon|thermalexchange|choicescarf|jolly|0,252,0,0,4,252|earthquake|glaiverush|iciclecrash|iciclespear", - "ironvaliant": "ghost|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|thunderbolt", - "rotomwash": "fairy|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "garchomp": "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|earthquake|outrage|stealthrock|stoneedge", - "tinglu": "ghost|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn" - } - ], - "bombirdier|irontreads|ironvaliant|cinderace|kingambit|dragapult": [ - { - "bombirdier": "rock|rockypayload|choiceband|jolly|0,252,0,0,4,252|bravebird|knockoff|stoneedge|uturn", - "irontreads": "water|quarkdrive|assaultvest|jolly|104,180,0,0,0,224|earthquake|knockoff|rapidspin|voltswitch", - "ironvaliant": "fairy|quarkdrive|choicescarf|timid|0,0,0,252,4,252|focusblast|moonblast|psyshock|trick", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn", - "kingambit": "dark|supremeoverlord|blackglasses|adamant|104,252,0,0,4,148|ironhead|kowtowcleave|suckerpunch|swordsdance", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "torkoal|dragapult|taurospaldeafire|roaringmoon|grimmsnarl|greattusk": [ - { - "torkoal": "ghost|drought|heatrock|calm|208,0,40,8,252,0|lavaplume|solarbeam|willowisp|yawn", - "dragapult": "ghost|infiltrator|lifeorb|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "taurospaldeafire": "dark|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|stoneedge", - "roaringmoon": "steel|protosynthesis|loadeddice|adamant|0,252,0,0,4,252|crunch|dragondance|ironhead|scaleshot", - "grimmsnarl": "steel|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt", - "greattusk": "fighting|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin" - } - ], - "gholdengo|ironvaliant|rotomwash|scizor|greattusk|hydreigon": [ - { - "gholdengo": "ghost|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "ironvaliant": "ghost|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|thunderbolt", - "rotomwash": "ghost|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|protect|voltswitch|willowisp", - "scizor": "rock|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|terablast|uturn", - "greattusk": "ground|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|rapidspin|stealthrock", - "hydreigon": "steel|levitate|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|dracometeor|earthpower|flashcannon" - } - ], - "cinderace|toxtricity|leadme|gholdengo|corviknight|dondozo": [ - { - "cinderace": "fairy|libero|choiceband|jolly|0,252,0,0,4,252|pyroball|suckerpunch|uturn|zenheadbutt", - "toxtricity": "normal|punkrock|choicespecs|modest|100,0,0,252,0,156|boomburst|overdrive|sludgebomb|voltswitch", - "leadme": "water|waterabsorb|leftovers|calm|252,0,4,0,252,0|recover|spikes|stealthrock|toxicspikes", - "gholdengo": "flying|goodasgold|covertcloak|bold|252,0,252,0,4,0|makeitrain|nastyplot|recover|shadowball", - "corviknight": "dragon|pressure|rockyhelmet|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "dondozo": "dragon|unaware|heavydutyboots|impish|248,8,252,0,0,0|curse|rest|sleeptalk|wavecrash" - } - ], - "glimmet|meowth|surskit|pawniard|bramblin|girafarig": [ - { - "glimmet": "ghost|toxicdebris|focussash|timid|0,0,0,252,4,252|mudshot|powergem|spikes|stealthrock", - "meowth": "normal|technician|lifeorb|adamant|0,252,4,0,0,252|fakeout|lastresort", - "surskit": "ghost|swiftswim|focussash|timid|36,0,20,196,20,236|gigadrain|hydropump|icywind|stickyweb", - "pawniard": "flying|defiant|eviolite|jolly|0,156,36,0,116,196|brickbreak|nightslash|suckerpunch|swordsdance", - "bramblin": "ghost|windrider|eviolite|adamant|0,236,36,0,0,236|rapidspin|seedbomb|shadowsneak|strengthsap", - "girafarig": "fighting|sapsipper|eviolite|timid|0,0,76,196,0,236|nastyplot|protect|terablast|twinbeam" - } - ], - "masquerain|garchomp|gholdengo|koraidon|chienpao|fluttermane": [ - { - "masquerain": "ghost|intimidate|focussash|timid|4,0,0,252,0,252|foulplay|icywind|stickyweb|whirlwind", - "garchomp": "ghost|roughskin|focussash|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock", - "gholdengo": "ghost|goodasgold|airballoon|timid|4,0,0,252,0,252|makeitrain|nastyplot|psyshock|shadowball", - "koraidon": "fire|orichalcumpulse|heavydutyboots|jolly|0,252,0,0,4,252|bulkup|drainpunch|flamecharge|taunt", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance", - "fluttermane": "fairy|protosynthesis|boosterenergy|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|thunderbolt" - } - ], - "azumarill|kingambit|volcarona|dragonite|krookodile|hatterene": [ - { - "azumarill": "dragon|hugepower|sitrusberry|adamant|244,240,0,0,24,0|aquajet|bellydrum|liquidation|playrough", - "kingambit": "flying|supremeoverlord|leftovers|adamant|152,252,0,0,0,104|ironhead|kowtowcleave|suckerpunch|swordsdance", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|bugbuzz|fierydance|gigadrain|quiverdance", - "dragonite": "ghost|multiscale|heavydutyboots|modest|252,0,4,252,0,0|dracometeor|hurricane|roost|thunderbolt", - "krookodile": "dragon|moxie|choicescarf|jolly|0,252,0,0,4,252|crunch|earthquake|outrage|stealthrock", - "hatterene": "fire|magicbounce|leftovers|bold|252,0,200,0,0,56|calmmind|drainingkiss|mysticalfire|psychic" - } - ], - "garchompmega|chienpao|corviknight|skeledirge|toxapex|xurkitree": [ - { - "garchompmega": "dragon|roughskin|garchompite|jolly|0,252,0,0,4,252|earthquake|scaleshot|stoneedge|swordsdance", - "chienpao": "fighting|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "corviknight": "electric|pressure|rockyhelmet|relaxed|252,0,184,0,72,0|bravebird|defog|roost|uturn", - "skeledirge": "water|unaware|heavydutyboots|bold|252,0,252,0,4,0|hex|slackoff|torchsong|willowisp", - "toxapex": "steel|regenerator|heavydutyboots|bold|252,0,252,0,4,0|haze|recover|scald|toxic", - "xurkitree": "electric|beastboost|psychiumz|timid|0,0,0,252,4,252|energyball|hypnosis|thunderbolt|voltswitch" - } - ], - "houndoommega|dragapult|corviknight|slitherwing|torkoal|greninja": [ - { - "houndoommega": "dark|flashfire|houndoominite|timid|0,0,0,252,4,252|darkpulse|flamethrower|nastyplot|solarbeam", - "dragapult": "dragon|clearbody|ghostiumz|jolly|0,252,0,0,4,252|dragondance|dragondarts|phantomforce|substitute", - "corviknight": "water|pressure|rockyhelmet|relaxed|252,0,184,0,72,0|bravebird|defog|roost|uturn", - "slitherwing": "electric|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|firstimpression|uturn|wildcharge", - "torkoal": "fire|drought|heatrock|modest|248,0,0,252,8,0|lavaplume|rapidspin|stealthrock|yawn", - "greninja": "ground|battlebond|expertbelt|timid|0,0,0,252,4,252|darkpulse|icebeam|terablast|watershuriken" - } - ], - "swampertmega|pelipper|greninja|barraskewda|thundurustherian|clodsire": [ - { - "swampertmega": "water|swiftswim|swampertite|adamant|0,252,0,0,4,252|earthquake|flipturn|icepunch|liquidation", - "pelipper": "rock|drizzle|damprock|bold|248,0,252,8,0,0|defog|hurricane|terablast|uturn", - "greninja": "water|battlebond|choicespecs|timid|0,0,0,252,4,252|darkpulse|icebeam|surf|watershuriken", - "barraskewda": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|closecombat|flipturn|liquidation|psychicfangs", - "thundurustherian": "flying|voltabsorb|fightiniumz|timid|0,0,0,252,4,252|focusblast|thunder|voltswitch|weatherball", - "clodsire": "poison|waterabsorb|leftovers|careful|248,4,0,0,252,0|earthquake|recover|stealthrock|toxic" - } - ], - "ironvaliant|indeedee|tinkaton|gengar|espathra|ironmoth": [ - { - "ironvaliant": "electric|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt", - "indeedee": "ghost|psychicsurge|terrainextender|timid|0,0,4,252,0,252|encore|healingwish|psyshock|shadowball", - "tinkaton": "ghost|moldbreaker|focussash|jolly|0,252,4,0,0,252|brickbreak|gigatonhammer|knockoff|stealthrock", - "gengar": "ghost|cursedbody|focussash|timid|0,0,0,252,4,252|destinybond|nastyplot|shadowball|sludgebomb", - "espathra": "fairy|speedboost|leftovers|modest|248,0,8,252,0,0|calmmind|dazzlinggleam|protect|storedpower", - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,4,252,0,252|energyball|flamethrower|psychic|sludgewave" - } - ], - "torkoal|scovillain|greattusk|sandyshocks|grafaiai|ditto": [ - { - "torkoal": "flying|drought|heatrock|bold|248,0,252,0,8,0|lavaplume|rapidspin|stealthrock|yawn", - "scovillain": "dragon|chlorophyll|heavydutyboots|timid|0,0,0,252,4,252|flamethrower|gigadrain|growth|terablast", - "greattusk": "ice|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "sandyshocks": "electric|protosynthesis|assaultvest|calm|232,0,0,8,252,16|earthpower|mirrorcoat|thunderbolt|voltswitch", - "grafaiai": "ghost|prankster|heatrock|calm|248,0,8,0,252,0|encore|partingshot|sunnyday|toxic", - "ditto": "normal|imposter|choicescarf|impish|248,8,252,0,0,0|transform" - } - ], - "garchomp|pincurchin|hawlucha|irontreads|hydreigon|chienpao": [ - { - "garchomp": "ground|roughskin|choicescarf|jolly|0,252,0,0,4,252|dragonclaw|earthquake|outrage|poisonjab", - "pincurchin": "dark|electricsurge|terrainextender|brave|248,252,0,0,8,0|discharge|recover|spikes|suckerpunch", - "hawlucha": "flying|unburden|electricseed|adamant|16,252,0,0,4,236|acrobatics|closecombat|swordsdance|taunt", - "irontreads": "water|quarkdrive|assaultvest|jolly|104,180,0,0,0,224|earthquake|knockoff|rapidspin|voltswitch", - "hydreigon": "fairy|levitate|leftovers|sassy|248,0,0,8,252,0|dracometeor|rest|sleeptalk|uturn", - "chienpao": "electric|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|terablast" - } - ], - "espathra|grimmsnarl|dragonite|garganacl|ironhands|orthworm": [ - { - "espathra": "fairy|speedboost|leftovers|modest|248,0,8,252,0,0|calmmind|dazzlinggleam|protect|storedpower", - "grimmsnarl": "steel|prankster|lightclay|careful|248,0,8,0,252,0|lightscreen|reflect|spiritbreak|taunt", - "dragonite": "normal|multiscale|leftovers|jolly|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "garganacl": "ghost|purifyingsalt|leftovers|careful|248,0,8,0,252,0|bodypress|irondefense|recover|saltcure", - "ironhands": "grass|quarkdrive|boosterenergy|jolly|64,0,4,0,252,188|drainpunch|swordsdance|terablast|thunderpunch", - "orthworm": "ghost|eartheater|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock" - } - ], - "blissey|irontreads|ditto|veluza|scizor|lokix": [ - { - "blissey": "ghost|serenegrace|choicescarf|timid|0,0,4,252,0,252|copycat|icebeam|shadowball|trick", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock", - "ditto": "fairy|imposter|choicescarf|impish|248,8,252,0,0,0|transform", - "veluza": "electric|moldbreaker|choicescarf|jolly|252,4,0,0,0,252|finalgambit|psychicfangs|terablast|waterfall", - "scizor": "steel|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|quickattack|uturn", - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn" - } - ], - "grimmsnarl|klefki|baxcalibur|pawmot|gholdengo|dondozo": [ - { - "grimmsnarl": "steel|prankster|lightclay|careful|248,8,0,0,252,0|lightscreen|reflect|spiritbreak|taunt", - "klefki": "steel|prankster|lightclay|bold|248,0,204,0,0,56|lightscreen|reflect|spikes|steelbeam", - "baxcalibur": "ice|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclespear", - "pawmot": "electric|ironfist|leppaberry|jolly|88,188,0,0,0,232|doubleshock|icepunch|machpunch|revivalblessing", - "gholdengo": "steel|goodasgold|airballoon|timid|0,0,4,252,0,252|makeitrain|nastyplot|recover|shadowball", - "dondozo": "water|unaware|covertcloak|careful|248,0,8,0,252,0|curse|liquidation|rest|sleeptalk" - } - ], - "slitherwing|ironmoth|garganacl|corviknight|tinglu|dragapult": [ - { - "slitherwing": "fire|protosynthesis|heavydutyboots|adamant|252,4,252,0,0,0|firstimpression|flareblitz|morningsun|willowisp", - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|energyball|flamethrower|psychic|sludgewave", - "garganacl": "water|purifyingsalt|leftovers|careful|252,0,0,0,252,4|bodypress|irondefense|recover|saltcure", - "corviknight": "normal|pressure|rockyhelmet|relaxed|248,0,252,0,4,0|bravebird|defog|roost|uturn", - "tinglu": "water|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "dragapult": "ghost|infiltrator|choiceband|lonely|0,252,0,4,0,252|dragondarts|suckerpunch|terablast|uturn" - } - ], - "annihilape|armarouge|grimmsnarl|cyclizar|salamence|azumarill": [ - { - "annihilape": "water|defiant|leftovers|careful|252,0,0,0,180,76|bulkup|drainpunch|ragefist|taunt", - "armarouge": "fighting|weakarmor|weaknesspolicy|timid|0,0,0,252,4,252|aurasphere|calmmind|flamethrower|storedpower", - "grimmsnarl": "steel|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt", - "cyclizar": "poison|regenerator|heavydutyboots|jolly|244,0,0,0,12,252|knockoff|rapidspin|shedtail|uturn", - "salamence": "fairy|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragondance|dualwingbeat|earthquake|substitute", - "azumarill": "water|hugepower|sitrusberry|adamant|60,252,0,0,0,196|aquajet|bellydrum|liquidation|playrough" - } - ], - "cinderace|garganacl|tinglu|meowscarada|cyclizar|gholdengo": [ - { - "cinderace": "normal|libero|heavydutyboots|adamant|0,252,0,0,4,252|doubleedge|pyroball|suckerpunch|swordsdance", - "garganacl": "water|purifyingsalt|heavydutyboots|impish|252,4,252,0,0,0|bodypress|recover|saltcure|stealthrock", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|heavyslam|spikes|whirlwind", - "meowscarada": "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|lowkick|uturn", - "cyclizar": "fairy|regenerator|heavydutyboots|jolly|252,4,0,0,0,252|knockoff|rapidspin|shedtail|uturn", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick" - } - ], - "glimmora|greattusk|gholdengo|ironvaliant|dragonite|chienpao": [ - { - "glimmora": "rock|toxicdebris|focussash|timid|0,0,0,252,0,252|earthpower|mortalspin|powergem|stealthrock", - "greattusk": "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "gholdengo": "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt", - "dragonite": "dragon|multiscale|heavydutyboots|jolly|0,252,0,0,0,252|dragondance|earthquake|extremespeed|outrage", - "chienpao": "dark|swordofruin|focussash|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch" - } - ], - "roaringmoon|chiyu|quaquaval|irontreads|amoonguss|slitherwing": [ - { - "roaringmoon": "dark|protosynthesis|choiceband|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn", - "chiyu": "fairy|beadsofruin|choicespecs|modest|252,0,52,164,0,40|darkpulse|flamethrower|overheat|terablast", - "quaquaval": "fairy|moxie|leftovers|jolly|248,28,0,0,152,80|aquastep|bulkup|roost|taunt", - "irontreads": "ground|quarkdrive|leftovers|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock", - "amoonguss": "water|regenerator|rockyhelmet|bold|252,0,220,0,36,0|clearsmog|gigadrain|sludgebomb|spore", - "slitherwing": "fire|protosynthesis|heavydutyboots|impish|252,0,252,0,4,0|bodypress|morningsun|uturn|willowisp" - } - ], - "veluza|volcarona|corviknight|greattusk|roaringmoon|sandyshocks": [ - { - "veluza": "water|sharpness|sitrusberry|adamant|4,252,0,0,0,252|aquacutter|crunch|filletaway|psychocut", - "volcarona": "bug|flamebody|heavydutyboots|bold|252,0,204,0,0,52|bugbuzz|fierydance|morningsun|quiverdance", - "corviknight": "flying|mirrorarmor|rockyhelmet|impish|248,8,252,0,0,0|bodypress|bravebird|roost|uturn", - "greattusk": "ground|protosynthesis|assaultvest|careful|252,8,0,0,248,0|closecombat|earthquake|knockoff|rapidspin", - "roaringmoon": "flying|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|acrobatics|dragondance|earthquake|taunt", - "sandyshocks": "electric|protosynthesis|choicespecs|timid|0,0,0,252,4,252|discharge|earthpower|flashcannon|voltswitch" - } - ], - "chienpao|volcarona|roaringmoon|corviknight|gholdengo|garchomp": [ - { - "chienpao": "dark|swordofruin|lifeorb|jolly|0,252,0,0,4,252|crunch|icespinner|suckerpunch|swordsdance", - "volcarona": "fire|flamebody|heavydutyboots|timid|248,0,156,16,0,88|flamethrower|morningsun|psychic|quiverdance", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance", - "corviknight": "steel|pressure|leftovers|impish|252,0,168,0,88,0|bodypress|defog|roost|uturn", - "gholdengo": "steel|goodasgold|leftovers|modest|252,0,0,252,0,4|makeitrain|nastyplot|recover|shadowball", - "garchomp": "water|roughskin|leftovers|jolly|248,0,132,0,0,128|earthquake|fireblast|spikes|stealthrock" - } - ], - "chienpao|chiyu|gholdengo|garchomp|quaquaval|corviknight": [ - { - "chienpao": "ice|swordofruin|choiceband|jolly|0,252,0,0,4,252|iceshard|iciclecrash|sacredsword|suckerpunch", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|willowisp", - "gholdengo": "ghost|goodasgold|choicescarf|timid|0,0,32,252,0,224|focusblast|makeitrain|shadowball|trick", - "garchomp": "ground|roughskin|rockyhelmet|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock", - "quaquaval": "water|moxie|assaultvest|adamant|160,96,0,0,252,0|aquastep|closecombat|icespinner|rapidspin", - "corviknight": "fire|pressure|leftovers|relaxed|252,4,252,0,0,0|bodypress|bravebird|roost|uturn" - } - ], - "glimmora|greattusk|gholdengo|chienpao|dragonite|ironvaliant": [ - { - "glimmora": "rock|toxicdebris|focussash|timid|0,0,0,252,0,252|earthpower|mortalspin|powergem|stealthrock", - "greattusk": "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "gholdengo": "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt", - "chienpao": "dark|swordofruin|focussash|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "dragonite": "normal|multiscale|heavydutyboots|jolly|0,252,0,0,4,252|dragonclaw|dragondance|earthquake|extremespeed", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt" - } - ], - "glimmora|greattusk|gholdengo|chienpao|roaringmoon|ironvaliant": [ - { - "glimmora": "rock|toxicdebris|focussash|timid|0,0,0,252,0,252|earthpower|mortalspin|powergem|stealthrock", - "greattusk": "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "gholdengo": "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderbolt", - "chienpao": "dark|swordofruin|focussash|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "roaringmoon": "dragon|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|crunch|dragonclaw|dragondance|earthquake", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|calmmind|moonblast|thunderbolt" - } - ], - "torkoal|chiyu|greattusk|roaringmoon|dragonite|hatterene": [ - { - "torkoal": "dark|drought|heatrock|calm|248,0,8,0,252,0|lavaplume|rapidspin|stealthrock|yawn", - "chiyu": "grass|beadsofruin|choicespecs|timid|4,0,0,252,0,252|darkpulse|flamethrower|overheat|terablast", - "greattusk": "steel|protosynthesis|rockyhelmet|impish|252,0,224,0,32,0|bodypress|earthquake|knockoff|rapidspin", - "roaringmoon": "steel|protosynthesis|choiceband|jolly|0,220,0,0,36,252|crunch|ironhead|outrage|uturn", - "dragonite": "normal|multiscale|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|outrage", - "hatterene": "water|magicbounce|leftovers|bold|252,0,228,0,0,28|calmmind|drainingkiss|healingwish|mysticalfire" - } - ], - "skeledirge|toxapex|blissey|clodsire|dondozo|gholdengo": [ - { - "skeledirge": "fairy|unaware|leftovers|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp", - "toxapex": "steel|regenerator|blacksludge|bold|252,0,252,4,0,0|chillingwater|haze|recover|toxic", - "blissey": "fairy|naturalcure|leftovers|impish|252,4,252,0,0,0|seismictoss|softboiled|thief|thunderwave", - "clodsire": "poison|unaware|blacksludge|calm|252,0,4,0,252,0|haze|recover|spikes|stealthrock", - "dondozo": "water|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk", - "gholdengo": "normal|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderwave" - } - ], - "greattusk|magnezone|dragonite|tinglu|amoonguss|dragapult": [ - { - "greattusk": "steel|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "magnezone": "water|magnetpull|choicespecs|timid|0,0,4,252,0,252|flashcannon|terablast|thunderbolt|voltswitch", - "dragonite": "steel|multiscale|heavydutyboots|timid|252,0,0,0,164,92|encore|firespin|icebeam|roost", - "tinglu": "water|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "amoonguss": "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|clearsmog|foulplay|gigadrain|spore", - "dragapult": "dragon|infiltrator|heavydutyboots|hasty|0,76,0,180,0,252|dragondarts|hex|uturn|willowisp" - } - ], - "koraidon|koraidon|fluttermane|roaringmoon|greattusk|skeledirge": [ - { - "koraidon": "fighting|orichalcumpulse|choicescarf|jolly|0,252,0,0,4,252|collisioncourse|dragonclaw|flareblitz|uturn", - "fluttermane": "ghost|protosynthesis|leftovers|timid|0,0,0,252,4,252|calmmind|moonblast|shadowball|substitute", - "roaringmoon": "dragon|protosynthesis|focussash|adamant|0,252,0,0,4,252|crunch|dragonclaw|dragondance|uturn", - "greattusk": "ground|protosynthesis|assaultvest|adamant|252,252,0,0,4,0|closecombat|headlongrush|knockoff|rapidspin", - "skeledirge": "fire|unaware|throatspray|calm|248,0,0,8,252,0|shadowball|slackoff|torchsong|willowisp" - } - ], - "garchomp|gholdengo|toxapex|garganacl|greattusk|ironvaliant": [ - { - "garchomp": "fire|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|spikes", - "gholdengo": "fairy|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick", - "toxapex": "steel|regenerator|blacksludge|calm|252,0,0,0,236,20|haze|recover|surf|toxic", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,240,0,0,16|protect|recover|saltcure|stealthrock", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,104,0,0,152|bulkup|earthquake|knockoff|rapidspin", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|moonblast|psyshock|shadowball|trick" - } - ], - "annihilape|irontreads|garchomp|garganacl|ironvaliant|amoonguss": [ - { - "annihilape": "ghost|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|drainpunch|ragefist|uturn", - "irontreads": "ground|quarkdrive|leftovers|jolly|248,0,0,0,8,252|earthquake|ironhead|knockoff|rapidspin", - "garchomp": "water|roughskin|rockyhelmet|impish|248,0,240,0,0,20|dragontail|earthquake|spikes|stealthrock", - "garganacl": "water|purifyingsalt|leftovers|impish|252,0,240,0,0,16|protect|recover|saltcure|stealthrock", - "ironvaliant": "fairy|quarkdrive|choicespecs|modest|0,0,0,252,4,252|aurasphere|moonblast|thunderbolt|trick", - "amoonguss": "water|regenerator|heavydutyboots|bold|248,0,252,0,8,0|clearsmog|foulplay|gigadrain|spore" - } - ], - "masquerain|gholdengo|glimmora|meowscarada|ironvaliant|toedscruel": [ - { - "masquerain": "bug|intimidate|focussash|jolly|252,0,0,0,4,252|airslash|stickyweb|uturn|whirlwind", - "gholdengo": "fighting|goodasgold|airballoon|timid|252,0,0,4,0,252|focusblast|makeitrain|nastyplot|shadowball", - "glimmora": "rock|toxicdebris|leftovers|bold|252,0,252,0,0,4|sludgebomb|spikes|spikyshield|stealthrock", - "meowscarada": "grass|protean|choiceband|jolly|0,252,0,0,0,252|flowertrick|knockoff|suckerpunch|uturn", - "ironvaliant": "fighting|quarkdrive|mentalherb|timid|0,0,0,252,0,252|aurasphere|calmmind|moonblast|psyshock", - "toedscruel": "ground|myceliummight|leftovers|calm|252,0,0,0,252,0|earthpower|rapidspin|sludgebomb|spore" - } - ], - "roaringmoon|ceruledge|scizor|espathra|grimmsnarl|irontreads": [ - { - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance", - "ceruledge": "fighting|flashfire|focussash|hasty|0,252,0,4,0,252|bitterblade|closecombat|shadowsneak|swordsdance", - "scizor": "steel|technician|choiceband|adamant|248,252,0,0,8,0|aerialace|bulletpunch|defog|pounce", - "espathra": "fighting|speedboost|weaknesspolicy|bold|252,0,252,4,0,0|calmmind|roost|storedpower|terablast", - "grimmsnarl": "dark|prankster|lightclay|careful|252,4,0,0,252,0|lightscreen|partingshot|reflect|spiritbreak", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock" - } - ], - "garganacl|toxapex|chiyu|cinderace|greattusk|scizor": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "toxapex": "dark|regenerator|blacksludge|careful|252,0,4,0,252,0|banefulbunker|haze|liquidation|toxic", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|willowisp", - "cinderace": "fire|libero|heavydutyboots|jolly|4,252,0,0,0,252|gunkshot|pyroball|suckerpunch|uturn", - "greattusk": "ghost|protosynthesis|leftovers|impish|252,0,204,0,0,52|earthquake|icespinner|knockoff|rapidspin", - "scizor": "normal|technician|heavydutyboots|adamant|228,252,0,0,0,28|bulletpunch|defog|quickattack|swordsdance" - } - ], - "pelipper|ironjugulis|floatzel|scizor|greattusk|annihilape": [ - { - "pelipper": "ground|drizzle|damprock|bold|248,0,132,0,128,0|hurricane|roost|surf|uturn", - "ironjugulis": "water|quarkdrive|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|hurricane|hydropump|taunt", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|aquajet|icespinner|liquidation|wavecrash", - "scizor": "steel|technician|assaultvest|adamant|252,96,0,0,160,0|bulletpunch|closecombat|thief|uturn", - "greattusk": "dragon|protosynthesis|leftovers|impish|252,0,208,0,0,48|earthquake|knockoff|rapidspin|stealthrock", - "annihilape": "water|defiant|chestoberry|careful|248,0,0,0,240,20|bulkup|drainpunch|ragefist|rest" - } - ], - "avalugg|abomasnow|quagsire|glaceon|camerupt|goodra": [ - { - "avalugg": "ice|icebody|heavydutyboots|careful|252,0,4,0,252,0|auroraveil|avalanche|rapidspin|recover", - "abomasnow": "ice|snowwarning|lightclay|calm|248,0,0,8,252,0|auroraveil|blizzard|gigadrain|leechseed", - "quagsire": "steel|unaware|leftovers|sassy|4,0,252,0,252,0|amnesia|curse|drainpunch|icepunch", - "glaceon": "poison|icebody|leftovers|sassy|4,0,252,0,252,0|calmmind|freezedry|storedpower|wish", - "camerupt": "flying|magmaarmor|leftovers|impish|252,0,252,0,0,0|amnesia|curse|rest|rollout", - "goodra": "water|sapsipper|leftovers|careful|248,8,0,0,252,0|bodypress|curse|firepunch|rest" - } - ], - "cinderace|chienpao|tinglu|rotomwash|amoonguss|ironvaliant": [ - { - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,4,0,0,252|courtchange|highjumpkick|pyroball|uturn", - "chienpao": "dark|swordofruin|heavydutyboots|adamant|0,252,4,0,0,252|crunch|icespinner|sacredsword|suckerpunch", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "rotomwash": "steel|levitate|leftovers|bold|252,0,244,0,0,12|hydropump|protect|voltswitch|willowisp", - "amoonguss": "water|regenerator|rockyhelmet|bold|248,0,252,0,8,0|foulplay|gigadrain|sludgebomb|spore", - "ironvaliant": "fairy|quarkdrive|choicescarf|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt" - } - ], - "dragonite|ironvaliant|garchomp|irontreads|gholdengo|pawmot": [ - { - "dragonite": "normal|multiscale|silkscarf|adamant|196,252,0,0,0,60|dragondance|earthquake|extremespeed|roost", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt", - "garchomp": "dragon|roughskin|rockyhelmet|impish|252,0,252,0,4,0|dragontail|earthquake|spikes|stealthrock", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|heavyslam|knockoff|rapidspin", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "pawmot": "electric|voltabsorb|leppaberry|jolly|0,252,4,0,0,252|closecombat|doubleshock|machpunch|revivalblessing" - } - ], - "armarouge|indeedee|tinglu|quaquaval|ironvaliant|clodsire": [ - { - "armarouge": "psychic|weakarmor|weaknesspolicy|bold|0,0,172,176,0,160|armorcannon|endure|expandingforce|shadowball", - "indeedee": "psychic|psychicsurge|terrainextender|timid|156,0,0,252,4,96|drainingkiss|encore|healingwish|psyshock", - "tinglu": "ghost|vesselofruin|assaultvest|relaxed|252,0,128,4,124,0|bodypress|earthquake|ruination|throatchop", - "quaquaval": "water|moxie|lifeorb|jolly|0,252,0,0,4,252|aquastep|bravebird|closecombat|uturn", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|destinybond|moonblast|thunderbolt", - "clodsire": "dark|waterabsorb|blacksludge|impish|252,0,252,0,4,0|earthquake|recover|stealthrock|toxic" - }, - { - "armarouge": "psychic|weakarmor|weaknesspolicy|bold|0,0,172,176,0,160|armorcannon|endure|expandingforce|shadowball", - "indeedee": "psychic|psychicsurge|terrainextender|timid|156,0,0,252,4,96|drainingkiss|encore|healingwish|psyshock", - "tinglu": "ghost|vesselofruin|assaultvest|relaxed|252,0,128,4,124,0|bodypress|earthquake|ruination|throatchop", - "quaquaval": "water|moxie|lifeorb|jolly|0,252,0,0,4,252|aquastep|bravebird|closecombat|uturn", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|destinybond|moonblast|thunderbolt", - "clodsire": "dark|unaware|leftovers|impish|252,0,252,0,4,0|earthquake|recover|stealthrock|toxic" - } - ], - "chienpao|volcarona|roaringmoon|gholdengo|garchomp|greattusk": [ - { - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|suckerpunch|swordsdance", - "volcarona": "fire|flamebody|heavydutyboots|timid|248,0,156,16,0,88|flamethrower|morningsun|psychic|quiverdance", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance", - "gholdengo": "steel|goodasgold|leftovers|modest|252,0,0,252,0,4|makeitrain|nastyplot|recover|shadowball", - "garchomp": "water|roughskin|leftovers|timid|248,0,0,132,0,128|earthpower|spikes|stealthrock|surf", - "greattusk": "steel|protosynthesis|assaultvest|impish|252,0,252,0,4,0|bodypress|earthquake|knockoff|rapidspin" - } - ], - "chienpao|corviknight|garganacl|greattusk|gholdengo|dragonite": [ - { - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "corviknight": "water|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn", - "garganacl": "fairy|purifyingsalt|leftovers|careful|252,0,4,0,252,0|protect|recover|saltcure|stealthrock", - "greattusk": "water|protosynthesis|leftovers|jolly|252,0,0,0,192,64|bulkup|earthquake|knockoff|rapidspin", - "gholdengo": "fighting|goodasgold|choicescarf|timid|44,0,0,252,0,212|makeitrain|nastyplot|shadowball|trick", - "dragonite": "normal|multiscale|heavydutyboots|adamant|140,252,0,0,0,116|dragondance|earthquake|extremespeed|roost" - } - ], - "toedscruel|ironmoth|ironhands|dragonite|garganacl|vaporeon": [ - { - "toedscruel": "grass|myceliummight|focussash|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spikes", - "ironmoth": "grass|quarkdrive|assaultvest|timid|0,0,0,252,4,252|energyball|fierydance|psychic|sludgewave", - "ironhands": "steel|quarkdrive|leftovers|adamant|252,252,0,0,4,0|drainpunch|earthquake|heavyslam|thunderpunch", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "garganacl": "fairy|purifyingsalt|leftovers|careful|240,0,0,0,252,16|protect|recover|saltcure|stealthrock", - "vaporeon": "ghost|waterabsorb|covertcloak|bold|236,0,252,0,0,20|chillingwater|copycat|protect|wish" - }, - { - "toedscruel": "grass|myceliummight|focussash|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spikes", - "ironmoth": "grass|quarkdrive|assaultvest|timid|0,0,0,252,4,252|energyball|fierydance|psychic|sludgewave", - "ironhands": "steel|quarkdrive|leftovers|adamant|212,252,0,0,0,44|drainpunch|earthquake|heavyslam|thunderpunch", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "garganacl": "fairy|purifyingsalt|leftovers|careful|240,0,0,0,252,16|protect|recover|saltcure|stealthrock", - "vaporeon": "ghost|waterabsorb|covertcloak|bold|232,0,252,0,0,24|chillingwater|copycat|protect|wish" - } - ], - "rotomwash|clodsire|corviknight|gholdengo|meowscarada|quaquaval": [ - { - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "clodsire": "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic", - "corviknight": "dragon|pressure|covertcloak|relaxed|252,0,168,0,88,0|defog|ironhead|roost|uturn", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|trick", - "meowscarada": "dark|overgrow|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|suckerpunch", - "quaquaval": "water|moxie|choiceband|jolly|0,252,0,0,4,252|aquajet|aquastep|closecombat|uturn" - } - ], - "roaringmoon|azumarill|gholdengo|greattusk|corviknight|gastrodoneast": [ - { - "roaringmoon": "steel|protosynthesis|choiceband|jolly|0,252,4,0,0,252|crunch|dragonclaw|earthquake|uturn", - "azumarill": "water|hugepower|assaultvest|adamant|0,252,0,0,124,132|aquajet|icespinner|liquidation|playrough", - "gholdengo": "ghost|goodasgold|covertcloak|modest|244,0,0,252,12,0|makeitrain|recover|shadowball|thunderbolt", - "greattusk": "ground|protosynthesis|heavydutyboots|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin", - "corviknight": "flying|pressure|rockyhelmet|impish|244,12,252,0,0,0|bodypress|defog|roost|uturn", - "gastrodoneast": "water|stormdrain|leftovers|bold|4,0,252,0,252,0|chillingwater|icebeam|recover|stealthrock" - } - ], - "toedscruel|chienpao|toxapex|greattusk|ironvaliant|gholdengo": [ - { - "toedscruel": "water|myceliummight|leftovers|bold|248,0,240,0,0,20|earthpower|knockoff|leechseed|spikes", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|suckerpunch", - "toxapex": "normal|regenerator|rockyhelmet|impish|248,0,252,0,0,8|haze|liquidation|recover|toxic", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,176,0,0,80|bodypress|knockoff|rapidspin|stealthrock", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psyshock|shadowball", - "gholdengo": "grass|goodasgold|covertcloak|calm|252,0,0,0,232,24|makeitrain|nastyplot|recover|shadowball" - } - ], - "toedscruel|gholdengo|chienpao|dondozo|skeledirge|hydreigon": [ - { - "toedscruel": "water|myceliummight|leftovers|careful|252,0,4,0,252,0|knockoff|rapidspin|spikes|spore", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iciclecrash|suckerpunch|swordsdance", - "dondozo": "grass|unaware|covertcloak|impish|248,0,252,0,8,0|bodypress|rest|sleeptalk|wavecrash", - "skeledirge": "fairy|unaware|heavydutyboots|calm|248,0,0,0,248,12|hex|slackoff|torchsong|willowisp", - "hydreigon": "poison|levitate|widelens|timid|0,0,0,252,4,252|darkpulse|dracometeor|fireblast|stealthrock" - } - ], - "tinglu|rotomwash|amoonguss|dragonite|irontreads|dragapult": [ - { - "tinglu": "fairy|vesselofruin|leftovers|careful|248,8,0,0,252,0|earthquake|protect|spikes|whirlwind", - "rotomwash": "fire|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "amoonguss": "water|regenerator|blacksludge|bold|252,0,128,0,84,44|foulplay|gigadrain|sludgebomb|spore", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "irontreads": "water|quarkdrive|assaultvest|jolly|252,0,0,0,4,252|ironhead|knockoff|rapidspin|voltswitch", - "dragapult": "fairy|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "garganacl|glimmora|gholdengo|greattusk|rotomwash|pawmot": [ - { - "garganacl": "rock|purifyingsalt|leftovers|careful|252,0,4,0,252,0|bodypress|protect|saltcure|stealthrock", - "glimmora": "rock|toxicdebris|focussash|timid|0,0,0,252,4,252|energyball|sludgewave|spikes|stealthrock", - "gholdengo": "steel|goodasgold|airballoon|modest|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball", - "greattusk": "ground|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "rotomwash": "electric|levitate|choicescarf|timid|0,0,0,252,4,252|discharge|hydropump|trick|voltswitch", - "pawmot": "electric|naturalcure|heavydutyboots|jolly|0,252,0,0,4,252|icepunch|machpunch|revivalblessing|voltswitch" - } - ], - "dragonite|dondozo|gholdengo|ironvaliant|corviknight|tinglu": [ - { - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "dondozo": "grass|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "ironvaliant": "fairy|quarkdrive|choicespecs|modest|4,0,0,252,0,252|focusblast|moonblast|psyshock|shadowball", - "corviknight": "flying|mirrorarmor|heavydutyboots|adamant|248,252,0,0,8,0|bravebird|bulkup|defog|uturn", - "tinglu": "dark|vesselofruin|leftovers|impish|252,4,252,0,0,0|earthquake|spikes|stealthrock|whirlwind" - } - ], - "clodsire|klefki|chiyu|wochien|umbreon|hawlucha": [ - { - "clodsire": "steel|unaware|leftovers|impish|4,0,252,0,252,0|amnesia|curse|recover|waterfall", - "klefki": "psychic|prankster|leftovers|calm|4,0,252,0,252,0|calmmind|drainingkiss|irondefense|storedpower", - "chiyu": "dark|beadsofruin|leftovers|relaxed|4,0,252,0,252,0|darkpulse|nastyplot|rest|willowisp", - "wochien": "steel|tabletsofruin|leftovers|bold|4,0,252,0,252,0|gigadrain|growth|ingrain|snarl", - "umbreon": "poison|synchronize|leftovers|bold|252,0,252,4,0,0|calmmind|darkpulse|storedpower|wish", - "hawlucha": "fighting|moldbreaker|apicotberry|sassy|252,0,4,0,252,0|acrobatics|bulkup|defog|drainpunch" - } - ], - "sandyshocks|tinglu|gholdengo|dragonite|chienpao|rotomwash": [ - { - "sandyshocks": "steel|protosynthesis|choicescarf|timid|0,0,0,252,4,252|earthpower|flashcannon|powergem|voltswitch", - "tinglu": "dark|vesselofruin|leftovers|careful|252,0,0,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "gholdengo": "dark|goodasgold|choicespecs|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|roost", - "chienpao": "poison|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance", - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,0,0,0|hydropump|protect|voltswitch|willowisp" - } - ], - "sandyshocks|tinglu|gholdengo|dragonite|chienpao|skeledirge": [ - { - "sandyshocks": "steel|protosynthesis|choicescarf|timid|0,0,0,252,4,252|earthpower|flashcannon|powergem|voltswitch", - "tinglu": "dark|vesselofruin|leftovers|careful|252,4,0,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "gholdengo": "dark|goodasgold|choicespecs|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|roost", - "chienpao": "poison|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance", - "skeledirge": "fairy|unaware|heavydutyboots|bold|248,0,252,8,0,0|shadowball|slackoff|torchsong|willowisp" - } - ], - "sandyshocks|gholdengo|meowscarada|chienpao|rotomwash|irontreads": [ - { - "sandyshocks": "grass|protosynthesis|choicescarf|timid|0,0,0,252,4,252|earthpower|flashcannon|spikes|voltswitch", - "gholdengo": "dark|goodasgold|choicespecs|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "meowscarada": "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "chienpao": "poison|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance", - "rotomwash": "steel|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|protect|voltswitch|willowisp", - "irontreads": "ghost|quarkdrive|leftovers|jolly|248,8,0,0,0,252|earthquake|rapidspin|stealthrock|voltswitch" - } - ], - "cinderace|greattusk|slowking|chienpao|amoonguss|dondozo": [ - { - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "greattusk": "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillyreception|futuresight|slackoff|surf", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "amoonguss": "flying|regenerator|rockyhelmet|bold|248,0,200,0,0,60|foulplay|grassknot|sludgebomb|spore", - "dondozo": "fairy|unaware|leftovers|impish|248,0,252,0,8,0|curse|protect|rest|wavecrash" - } - ], - "hatterene|chienpao|dondozo|slowking|volcarona|irontreads": [ - { - "hatterene": "fire|magicbounce|choicespecs|modest|252,0,0,252,4,0|drainingkiss|mysticalfire|psyshock|shadowball", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "dondozo": "water|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash", - "slowking": "water|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillyreception|futuresight|slackoff|surf", - "volcarona": "grass|flamebody|heavydutyboots|bold|0,0,252,4,0,252|bugbuzz|flamethrower|morningsun|quiverdance", - "irontreads": "ground|quarkdrive|assaultvest|careful|252,4,0,0,252,0|earthquake|knockoff|rapidspin|voltswitch" - } - ], - "dragonite|ironmoth|ironvaliant|dondozo|meowscarada|orthworm": [ - { - "dragonite": "normal|multiscale|heavydutyboots|jolly|12,252,0,0,0,244|dragondance|earthquake|extremespeed|firepunch", - "ironmoth": "grass|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|energyball|fierydance|psychic|sludgewave", - "ironvaliant": "fairy|quarkdrive|choicespecs|modest|4,0,0,252,0,252|focusblast|moonblast|psychic|shadowball", - "dondozo": "grass|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash", - "meowscarada": "grass|overgrow|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|suckerpunch", - "orthworm": "electric|eartheater|sitrusberry|impish|248,8,252,0,0,0|bodypress|ironhead|shedtail|stealthrock" - } - ], - "clodsire|greattusk|tyranitar|garganacl|gholdengo|dragonite": [ - { - "clodsire": "flying|waterabsorb|leftovers|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxic", - "greattusk": "ground|protosynthesis|assaultvest|adamant|16,252,0,0,0,240|earthquake|icespinner|knockoff|rapidspin", - "tyranitar": "fairy|sandstream|leftovers|careful|248,0,8,0,252,0|earthquake|rockblast|stealthrock|thunderwave", - "garganacl": "water|purifyingsalt|leftovers|impish|252,4,252,0,0,0|bodypress|irondefense|recover|saltcure", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|recover|shadowball|trick", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,4,0,252|dragondance|earthquake|extremespeed|firepunch" - } - ], - "kingambit|ironvaliant|garchomp|garganacl|slowking|corviknight": [ - { - "kingambit": "flying|supremeoverlord|leftovers|adamant|108,252,0,0,0,148|ironhead|kowtowcleave|suckerpunch|swordsdance", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psyshock|shadowball", - "garchomp": "ground|roughskin|choicescarf|jolly|0,252,0,0,4,252|dragonclaw|earthquake|firefang|stoneedge", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "slowking": "water|regenerator|heavydutyboots|sassy|252,0,4,0,252,0|chillyreception|flamethrower|futuresight|slackoff", - "corviknight": "flying|pressure|rockyhelmet|careful|252,0,88,0,164,4|bravebird|defog|roost|uturn" - } - ], - "meowscarada|ironmoth|garganacl|slowking|gholdengo|greattusk": [ - { - "meowscarada": "fairy|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "ironmoth": "grass|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|agility|energyball|fierydance|sludgewave", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,4,148,0,104,0|bodypress|irondefense|recover|saltcure", - "slowking": "water|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillyreception|futuresight|slackoff|surf", - "gholdengo": "flying|goodasgold|covertcloak|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock" - } - ], - "ironbundle|fluttermane|torkoal|arcanine|roaringmoon|indeedeef": [ - { - "ironbundle": "ice|quarkdrive|boosterenergy|timid|100,0,38,0,124,248|freezedry|helpinghand|icywind|protect", - "fluttermane": "fairy|protosynthesis|choicespecs|modest|0,0,0,252,4,252|dazzlinggleam|moonblast|mysticalfire|shadowball", - "torkoal": "fire|drought|heatrock|bold|252,0,252,0,4,0|bodypress|helpinghand|protect|willowisp", - "arcanine": "fire|intimidate|assaultvest|adamant|0,252,0,0,0,0|closecombat|extremespeed|flareblitz|snarl", - "roaringmoon": "dragon|protosynthesis|dragonfang|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|protect", - "indeedeef": "psychic|psychicsurge|psychicseed|bold|252,0,252,0,4,0|dazzlinggleam|followme|helpinghand|protect" - } - ], - "kingambit|glimmora|tinglu|ironvaliant|gholdengo|greattusk": [ - { - "kingambit": "dark|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "glimmora": "grass|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|stealthrock", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|spikes|whirlwind", - "ironvaliant": "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "greattusk": "ground|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin" - } - ], - "ironvaliant|gholdengo|chienpao|scizor|azumarill|rotomwash": [ - { - "ironvaliant": "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|psyshock|thunderbolt", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "scizor": "steel|technician|heavydutyboots|adamant|252,252,0,0,4,0|bulletpunch|defog|thief|uturn", - "azumarill": "fire|hugepower|punchingglove|adamant|88,252,4,0,0,164|aquajet|bellydrum|icepunch|playrough", - "rotomwash": "electric|levitate|leftovers|timid|0,0,0,252,4,252|hydropump|thunderbolt|voltswitch|willowisp" - } - ], - "chienpao|chiyu|toxapex|garganacl|greattusk|cyclizar": [ - { - "chienpao": "dark|swordofruin|heavydutyboots|adamant|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "toxapex": "dark|regenerator|blacksludge|calm|252,0,4,0,252,0|haze|surf|toxic|toxicspikes", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "greattusk": "ghost|protosynthesis|leftovers|impish|252,0,204,0,0,52|earthquake|icespinner|knockoff|rapidspin", - "cyclizar": "steel|regenerator|choicescarf|jolly|252,4,0,0,0,252|doubleedge|knockoff|shedtail|uturn" - } - ], - "clodsire|garganacl|skeledirge|dragonite|meowscarada|rotomwash": [ - { - "clodsire": "water|unaware|leftovers|careful|252,0,4,0,252,0|curse|earthquake|recover|waterfall", - "garganacl": "steel|purifyingsalt|assaultvest|adamant|0,252,0,0,4,252|earthquake|firepunch|icepunch|rockslide", - "skeledirge": "fire|unaware|assaultvest|modest|248,0,60,100,100,0|earthpower|firespin|shadowball|torchsong", - "dragonite": "normal|multiscale|leftovers|jolly|252,36,0,0,0,220|dragondance|extremespeed|roost|waterfall", - "meowscarada": "grass|protean|choicescarf|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "rotomwash": "electric|levitate|leftovers|timid|0,0,0,252,4,252|hydropump|nastyplot|voltswitch|willowisp" - } - ], - "corviknight|clodsire|garganacl|skeledirge|dragonite|meowscarada": [ - { - "corviknight": "flying|pressure|rockyhelmet|careful|252,0,88,0,168,0|bravebird|defog|roost|uturn", - "clodsire": "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|toxic|waterfall", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "skeledirge": "fairy|unaware|heavydutyboots|bold|252,0,164,0,92,0|hex|slackoff|torchsong|willowisp", - "dragonite": "normal|multiscale|leftovers|adamant|160,252,0,0,0,96|dragondance|extremespeed|roost|waterfall", - "meowscarada": "grass|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn" - }, - { - "corviknight": "flying|pressure|rockyhelmet|careful|252,0,88,0,168,0|bravebird|defog|roost|uturn", - "clodsire": "steel|waterabsorb|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "skeledirge": "fairy|unaware|heavydutyboots|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp", - "dragonite": "normal|multiscale|heavydutyboots|adamant|160,252,0,0,0,96|dragondance|earthquake|extremespeed|roost", - "meowscarada": "grass|protean|choicescarf|jolly|0,252,0,0,4,252|flowertrick|knockoff|trick|uturn" - } - ], - "pelipper|floatzel|gholdengo|garganacl|greattusk|dragapult": [ - { - "pelipper": "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|knockoff|roost|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|180,252,0,0,0,76|aquajet|icespinner|liquidation|wavecrash", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "garganacl": "ghost|purifyingsalt|leftovers|careful|252,0,4,0,252,0|bodypress|irondefense|recover|saltcure", - "greattusk": "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "dragapult": "electric|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunder|uturn" - } - ], - "dragalge|rotomwash|greattusk|cinderace|corviknight|chienpao": [ - { - "dragalge": "dragon|adaptability|choicespecs|modest|68,0,0,252,0,188|dracometeor|focusblast|sludgebomb|toxic", - "rotomwash": "steel|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch", - "greattusk": "ghost|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "corviknight": "dragon|pressure|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword" - } - ], - "espeon|scizor|volcanion|chansey|regirock|decidueye": [ - { - "espeon": "psychic|magicbounce|terrainextender|timid|0,0,4,252,0,252|calmmind|psychicterrain|storedpower|yawn", - "scizor": "bug|technician|scizorite|adamant|0,252,0,0,4,252|bulletpunch|closecombat|dualwingbeat|swordsdance", - "volcanion": "fire|waterabsorb|leftovers|modest|4,0,0,252,0,252|heatwave|protect|sludgebomb|steameruption", - "chansey": "fighting|naturalcure|eviolite|bold|4,0,252,0,252,0|healbell|seismictoss|softboiled|thunderwave", - "regirock": "rock|clearbody|leftovers|impish|252,0,232,0,24,0|bodypress|curse|rest|stoneedge", - "decidueye": "grass|longreach|spelltag|adamant|0,252,4,0,0,252|leafblade|poltergeist|shadowsneak|uturn" - } - ], - "clodsire|gholdengo|blissey|alomomola|corviknight|taurospaldeafire": [ - { - "clodsire": "water|unaware|heavydutyboots|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic", - "gholdengo": "flying|goodasgold|heavydutyboots|modest|252,0,252,4,0,0|makeitrain|nastyplot|recover|shadowball", - "blissey": "dark|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|calmmind|seismictoss|softboiled|stealthrock", - "alomomola": "ghost|regenerator|heavydutyboots|impish|252,0,252,0,4,0|chillingwater|protect|whirlpool|wish", - "corviknight": "fairy|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "taurospaldeafire": "fighting|intimidate|heavydutyboots|impish|252,0,252,0,4,0|bodypress|ragingbull|rest|willowisp" - }, - { - "clodsire": "water|unaware|heavydutyboots|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic", - "gholdengo": "flying|goodasgold|heavydutyboots|modest|252,0,252,4,0,0|makeitrain|nastyplot|recover|shadowball", - "blissey": "dark|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|calmmind|seismictoss|softboiled|stealthrock", - "alomomola": "ghost|regenerator|heavydutyboots|impish|252,0,252,0,4,0|chillingwater|protect|whirlpool|wish", - "corviknight": "fairy|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "taurospaldeafire": "fighting|intimidate|heavydutyboots|impish|252,0,252,0,4,0|bodypress|ragingbull|rest|willowisp" - } - ], - "meowscarada|garganacl|gholdengo|greattusk|volcarona|dragonite": [ - { - "meowscarada": "ghost|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "garganacl": "fairy|purifyingsalt|leftovers|impish|248,0,196,0,56,8|protect|recover|saltcure|stealthrock", - "gholdengo": "flying|goodasgold|covertcloak|modest|248,0,108,48,0,104|makeitrain|nastyplot|recover|shadowball", - "greattusk": "water|protosynthesis|leftovers|impish|248,16,164,0,0,80|bulkup|earthquake|knockoff|rapidspin", - "volcarona": "fairy|flamebody|heavydutyboots|timid|248,0,100,0,0,160|fierydance|morningsun|quiverdance|willowisp", - "dragonite": "normal|multiscale|heavydutyboots|adamant|124,252,0,0,0,132|dragondance|earthquake|extremespeed|roost" - } - ], - "chiyu|dragapult|tinglu|garganacl|gholdengo|amoonguss": [ - { - "chiyu": "fire|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|flamethrower|nastyplot|overheat", - "dragapult": "fairy|infiltrator|heavydutyboots|naive|0,96,0,204,0,208|dragondarts|hex|uturn|willowisp", - "tinglu": "fairy|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|protect|spikes|whirlwind", - "garganacl": "water|purifyingsalt|leftovers|impish|252,0,228,0,28,0|protect|recover|saltcure|stealthrock", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "amoonguss": "psychic|regenerator|heavydutyboots|bold|248,0,252,0,8,0|clearsmog|grassknot|sludgebomb|spore" - } - ], - "chienpao|greattusk|volcarona|clodsire|dragonite|gholdengo": [ - { - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword", - "greattusk": "steel|protosynthesis|leftovers|impish|252,0,200,0,0,56|earthquake|knockoff|rapidspin|stealthrock", - "volcarona": "fairy|flamebody|heavydutyboots|bold|252,0,208,0,0,48|flamethrower|morningsun|quiverdance|willowisp", - "clodsire": "flying|unaware|blacksludge|careful|252,0,0,0,248,8|earthquake|recover|spikes|toxic", - "dragonite": "normal|multiscale|heavydutyboots|adamant|136,252,0,0,0,120|dragondance|earthquake|extremespeed|roost", - "gholdengo": "water|goodasgold|covertcloak|bold|252,0,152,0,0,104|makeitrain|nastyplot|recover|shadowball" - } - ], - "ironbundle|pelipper|palafin|clodsire|corviknight|dondozo": [ - { - "ironbundle": "ice|quarkdrive|boosterenergy|modest|0,0,4,252,0,252|agility|freezedry|hydropump|substitute", - "pelipper": "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "palafin": "fighting|zerotohero|choiceband|adamant|0,252,0,0,4,252|closecombat|flipturn|jetpunch|wavecrash", - "clodsire": "fire|waterabsorb|leftovers|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "corviknight": "dragon|mirrorarmor|rockyhelmet|impish|192,0,252,0,4,60|bodypress|defog|roost|uturn", - "dondozo": "dragon|unaware|leftovers|impish|248,0,252,0,8,0|bodypress|rest|wavecrash|yawn" - } - ], - "kilowattrel|brambleghast|pelipper|palafin|clodsire|corviknight": [ - { - "kilowattrel": "water|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball", - "brambleghast": "|windrider|powerherb|jolly|0,252,0,0,4,252|phantomforce|powerwhip|rapidspin|strengthsap", - "pelipper": "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "palafin": "fighting|zerotohero|choiceband|adamant|0,252,0,0,0,252|closecombat|flipturn|jetpunch|wavecrash", - "clodsire": "fire|unaware|leftovers|careful|248,0,8,0,252,0|curse|earthquake|recover|stealthrock", - "corviknight": "dragon|mirrorarmor|rockyhelmet|impish|192,0,252,0,4,60|defog|roost|tailwind|uturn" - } - ], - "ironjugulis|pelipper|scizor|clodsire|corviknight|dondozo": [ - { - "ironjugulis": "flying|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|darkpulse|hurricane|hydropump|taunt", - "pelipper": "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "scizor": "steel|technician|heavydutyboots|jolly|0,252,4,0,0,248|bulletpunch|closecombat|swordsdance|uturn", - "clodsire": "fire|waterabsorb|leftovers|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "corviknight": "dragon|mirrorarmor|rockyhelmet|impish|192,0,252,0,4,60|bodypress|defog|roost|uturn", - "dondozo": "dragon|unaware|leftovers|impish|248,0,252,0,8,0|bodypress|rest|wavecrash|yawn" - } - ], - "gholdengo|mausholdfour|dondozo|tinkaton|skeledirge|meowscarada": [ - { - "gholdengo": "steel|goodasgold|lifeorb|timid|0,0,0,252,4,252|focusblast|makeitrain|nastyplot|shadowball", - "mausholdfour": "normal|technician|heavydutyboots|jolly|0,252,0,0,4,252|populationbomb|taunt|tidyup|uturn", - "dondozo": "dragon|unaware|leftovers|adamant|252,252,0,0,4,0|crunch|liquidation|orderup|yawn", - "tinkaton": "flying|owntempo|focussash|jolly|0,252,0,0,4,252|gigatonhammer|knockoff|playrough|protect", - "skeledirge": "fire|unaware|assaultvest|modest|248,0,0,252,8,0|earthpower|hypervoice|shadowball|torchsong", - "meowscarada": "fairy|protean|miracleseed|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|protect" - } - ], - "kingambit|glimmora|greattusk|hatterene|gholdengo|dragonite": [ - { - "kingambit": "fire|supremeoverlord|leftovers|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance", - "glimmora": "ground|toxicdebris|choicescarf|timid|0,0,0,252,4,252|earthpower|powergem|sludgewave|spikes", - "greattusk": "water|protosynthesis|focussash|adamant|0,252,0,0,4,252|closecombat|headlongrush|rapidspin|stealthrock", - "hatterene": "water|magicbounce|leftovers|bold|252,0,180,0,0,76|calmmind|drainingkiss|protect|storedpower", - "gholdengo": "flying|goodasgold|covertcloak|modest|176,0,0,252,12,68|makeitrain|nastyplot|recover|shadowball", - "dragonite": "water|multiscale|rockyhelmet|bold|252,0,252,4,0,0|bodypress|hurricane|icebeam|roost" - } - ], - "crocalor|skeledirge|meowscarada|quaquaval|fuecoco|pawmot": [ - { - "crocalor": "grass|blaze|focussash|timid|4,0,0,252,0,252|flamethrower|hypervoice|terablast|yawn", - "skeledirge": "fire|unaware|assaultvest|modest|4,0,0,252,0,252|earthpower|fireblast|shadowball|torchsong", - "meowscarada": "grass|protean|focussash|jolly|4,252,0,0,0,252|flowertrick|knockoff|suckerpunch|uturn", - "quaquaval": "water|moxie|focussash|jolly|4,252,0,0,0,252|aquajet|aquastep|closecombat|swordsdance", - "fuecoco": "fire|blaze|focussash|timid|4,0,0,252,0,252|flamethrower|hypervoice|terablast|yawn", - "pawmot": "electric|voltabsorb|leppaberry|jolly|4,252,0,0,0,252|bulkup|doubleshock|playrough|revivalblessing" - } - ], - "clodsire|alomomola|blissey|dondozo|corviknight|greattusk": [ - { - "clodsire": "dark|unaware|heavydutyboots|careful|248,0,0,0,252,8|earthquake|recover|spikes|toxic", - "alomomola": "ghost|regenerator|heavydutyboots|impish|252,0,252,4,0,0|chillingwater|protect|whirlpool|wish", - "blissey": "ghost|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|shadowball|softboiled|stealthrock", - "dondozo": "dark|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash", - "corviknight": "normal|pressure|rockyhelmet|careful|248,0,8,0,252,0|bodypress|bravebird|defog|roost", - "greattusk": "ground|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|rest" - } - ], - "masquerain|gholdengo|ceruledge|meowscarada|greattusk|glimmora": [ - { - "masquerain": "ghost|intimidate|focussash|modest|0,0,0,252,4,252|hurricane|hydropump|icebeam|stickyweb", - "gholdengo": "flying|goodasgold|covertcloak|timid|252,0,0,4,0,252|makeitrain|nastyplot|shadowball|thunderbolt", - "ceruledge": "ghost|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance", - "meowscarada": "fairy|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "greattusk": "ice|protosynthesis|rockyhelmet|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin", - "glimmora": "flying|toxicdebris|choicespecs|timid|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave" - } - ], - "meowscarada|greattusk|clodsire|gholdengo|skeledirge|kingambit": [ - { - "meowscarada": "grass|protean|choiceband|jolly|0,252,4,0,0,252|flowertrick|knockoff|leechseed|uturn", - "greattusk": "fighting|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "clodsire": "dark|waterabsorb|blacksludge|impish|252,0,144,0,72,0|counter|earthquake|recover|stealthrock", - "gholdengo": "fighting|goodasgold|covertcloak|timid|116,0,140,0,0,252|makeitrain|nastyplot|recover|shadowball", - "skeledirge": "flying|unaware|heavydutyboots|bold|252,0,252,0,0,4|hex|slackoff|torchsong|willowisp", - "kingambit": "flying|supremeoverlord|leftovers|adamant|168,252,0,0,0,88|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ], - "clodsire|dondozo|alomomola|talonflame|toxapex|blissey": [ - { - "clodsire": "steel|unaware|heavydutyboots|careful|252,4,0,0,252,0|earthquake|haze|recover|toxic", - "dondozo": "fairy|unaware|heavydutyboots|impish|252,0,252,0,4,0|bodypress|heavyslam|rest|sleeptalk", - "alomomola": "flying|regenerator|heavydutyboots|relaxed|252,0,252,4,0,0|chillingwater|protect|whirlpool|wish", - "talonflame": "ghost|flamebody|heavydutyboots|timid|252,0,192,0,0,64|defog|flamethrower|roost|willowisp", - "toxapex": "fairy|regenerator|heavydutyboots|bold|252,0,252,0,4,0|haze|infestation|recover|toxic", - "blissey": "fairy|naturalcure|heavydutyboots|calm|252,0,4,0,252,0|seismictoss|shadowball|softboiled|stealthrock" - } - ], - "orthworm|dragonite|roaringmoon|greattusk|espathra|breloom": [ - { - "orthworm": "ghost|eartheater|sitrusberry|impish|252,0,252,0,4,0|ironhead|shedtail|spikes|stealthrock", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|firepunch|icespinner", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragondance|roost", - "greattusk": "steel|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "espathra": "fairy|speedboost|leftovers|bold|248,0,228,0,0,32|calmmind|dazzlinggleam|roost|storedpower", - "breloom": "grass|technician|focussash|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance" - } - ], - "garchomp|skeledirge|chienpao|amoonguss|irontreads|ironvaliant": [ - { - "garchomp": "steel|roughskin|rockyhelmet|jolly|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock", - "skeledirge": "fire|unaware|leftovers|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|suckerpunch", - "amoonguss": "grass|regenerator|leftovers|calm|252,0,0,4,252,0|foulplay|gigadrain|sludgebomb|spore", - "irontreads": "ground|quarkdrive|assaultvest|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|rapidspin", - "ironvaliant": "ghost|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|moonblast|shadowball|thunderbolt" - } - ], - "ironhands|dragapult|volcarona|kingambit|quaquaval|clodsire": [ - { - "ironhands": "flying|quarkdrive|leftovers|adamant|0,252,116,0,140,0|drainpunch|icepunch|swordsdance|thunderpunch", - "dragapult": "dragon|infiltrator|choicespecs|modest|0,0,52,252,0,204|dracometeor|shadowball|thunderbolt|uturn", - "volcarona": "ground|flamebody|heavydutyboots|bold|252,0,224,0,0,32|flamethrower|morningsun|quiverdance|terablast", - "kingambit": "flying|supremeoverlord|leftovers|adamant|116,252,0,0,0,140|ironhead|kowtowcleave|stealthrock|suckerpunch", - "quaquaval": "water|moxie|heavydutyboots|careful|252,0,4,0,252,0|aquastep|rapidspin|roost|uturn", - "clodsire": "fire|waterabsorb|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic" - } - ], - "clodsire|gholdengo|blissey|alomomola|corviknight|talonflame": [ - { - "clodsire": "water|unaware|heavydutyboots|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic", - "gholdengo": "flying|goodasgold|heavydutyboots|modest|252,0,184,0,0,72|makeitrain|nastyplot|recover|shadowball", - "blissey": "fairy|naturalcure|heavydutyboots|calm|252,0,4,0,252,0|seismictoss|shadowball|softboiled|stealthrock", - "alomomola": "ghost|regenerator|heavydutyboots|impish|252,0,252,0,4,0|chillingwater|protect|whirlpool|wish", - "corviknight": "dark|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "talonflame": "normal|flamebody|heavydutyboots|bold|252,0,204,0,0,52|airslash|flamethrower|roost|willowisp" - } - ], - "dondozo|clodsire|corviknight|chiyu|scizor|amoonguss": [ - { - "dondozo": "water|unaware|leftovers|impish|248,0,252,0,8,0|curse|liquidation|rest|sleeptalk", - "clodsire": "water|unaware|blacksludge|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "corviknight": "dark|pressure|leftovers|relaxed|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "scizor": "steel|technician|leftovers|careful|252,0,0,0,236,20|bulletpunch|swordsdance|thief|uturn", - "amoonguss": "water|regenerator|rockyhelmet|bold|252,0,172,0,84,0|foulplay|gigadrain|sludgebomb|spore" - } - ], - "gholdengo|dragapult|meowscarada|clodsire|dondozo|rotomwash": [ - { - "gholdengo": "ghost|goodasgold|choicescarf|timid|0,0,4,252,0,252|dazzlinggleam|makeitrain|shadowball|trick", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunder|uturn", - "meowscarada": "dark|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "clodsire": "water|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "dondozo": "water|unaware|leftovers|careful|252,0,48,0,208,0|curse|liquidation|rest|sleeptalk", - "rotomwash": "steel|levitate|leftovers|bold|252,0,248,0,0,8|hydropump|protect|voltswitch|willowisp" - } - ], - "gholdengo|dragalge|annihilape|tinglu|dondozo|hatterene": [ - { - "gholdengo": "ghost|goodasgold|choicescarf|timid|0,0,4,252,0,252|focusblast|makeitrain|shadowball|trick", - "dragalge": "poison|adaptability|heavydutyboots|modest|252,0,0,124,0,132|dracometeor|sludgebomb|toxic|toxicspikes", - "annihilape": "water|defiant|leftovers|careful|252,0,4,0,252,0|bulkup|drainpunch|ragefist|taunt", - "tinglu": "steel|vesselofruin|leftovers|careful|252,0,4,0,248,4|earthquake|spikes|stealthrock|whirlwind", - "dondozo": "fairy|unaware|heavydutyboots|impish|252,0,252,0,4,0|curse|liquidation|rest|sleeptalk", - "hatterene": "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|mysticalfire|psyshock" - } - ], - "pelipper|barraskewda|floatzel|kilowattrel|irontreads|dondozo": [ - { - "pelipper": "water|drizzle|damprock|relaxed|248,8,252,0,0,0|hurricane|knockoff|roost|uturn", - "barraskewda": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|closecombat|icefang|liquidation|psychicfangs", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|brickbreak|icespinner|liquidation|wavecrash", - "kilowattrel": "electric|voltabsorb|choicespecs|timid|0,0,0,252,4,252|hurricane|roost|thunder|weatherball", - "irontreads": "ground|quarkdrive|assaultvest|calm|252,0,4,0,252,0|earthquake|knockoff|rapidspin|voltswitch", - "dondozo": "water|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk" - } - ], - "chienpao|palafinhero|glimmora|cetitan|slowking|ironbundle": [ - { - "chienpao": "ghost|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|icespinner|psychicfangs|suckerpunch|swordsdance", - "palafinhero": "|zerotohero|choiceband|jolly|0,252,0,0,4,252|closecombat|flipturn|jetpunch|wavecrash", - "glimmora": "flying|toxicdebris|focussash|jolly|252,4,0,0,0,252|memento|mortalspin|spikes|stealthrock", - "cetitan": "ghost|slushrush|sitrusberry|jolly|4,252,0,0,0,252|bellydrum|earthquake|iceshard|icespinner", - "slowking": "|regenerator|leftovers|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff", - "ironbundle": "|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|blizzard|flipturn|freezedry|hydropump" - } - ], - "ironhands|corviknight|dondozo|clodsire|dragonite|chiyu": [ - { - "ironhands": "electric|quarkdrive|choiceband|adamant|56,200,252,0,0,0|closecombat|earthquake|icepunch|wildcharge", - "corviknight": "dragon|pressure|leftovers|careful|252,0,4,0,252,0|bravebird|defog|roost|uturn", - "dondozo": "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash", - "clodsire": "dark|unaware|leftovers|careful|252,0,32,0,224,0|earthquake|recover|spikes|toxic", - "dragonite": "normal|multiscale|heavydutyboots|adamant|192,252,0,0,4,60|dragondance|earthquake|extremespeed|roost", - "chiyu": "grass|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|nastyplot|overheat|terablast" - } - ], - "hatenna|hattrem|hatterene|torkoal|ironhands|kingambit": [ - { - "hatenna": "dark|magicbounce|focussash|sassy|248,0,0,8,252,0|healingwish|lightscreen|reflect|trickroom", - "hattrem": "dark|magicbounce|focussash|calm|252,0,4,0,252,0|healingwish|mysticalfire|psychic|trickroom", - "hatterene": "steel|magicbounce|focussash|relaxed|252,0,252,0,4,0|healingwish|mysticalfire|psychic|trickroom", - "torkoal": "fire|drought|choicespecs|quiet|248,0,0,252,8,0|earthpower|eruption|fireblast|solarbeam", - "ironhands": "flying|quarkdrive|boosterenergy|brave|248,252,0,0,8,0|closecombat|icepunch|swordsdance|wildcharge", - "kingambit": "ghost|supremeoverlord|blackglasses|brave|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance" - }, - { - "hatenna": "dark|magicbounce|focussash|sassy|248,0,0,8,252,0|healingwish|lightscreen|reflect|trickroom", - "hattrem": "dark|magicbounce|focussash|calm|252,0,4,0,252,0|healingwish|mysticalfire|psychic|trickroom", - "hatterene": "steel|magicbounce|focussash|relaxed|252,0,252,0,4,0|healingwish|mysticalfire|psychic|trickroom", - "torkoal": "fire|drought|choicespecs|quiet|248,0,0,252,8,0|earthpower|eruption|fireblast|solarbeam", - "ironhands": "flying|quarkdrive|boosterenergy|brave|248,252,0,0,8,0|closecombat|icepunch|swordsdance|wildcharge", - "kingambit": "ghost|supremeoverlord|blackglasses|brave|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ], - "dragapult|gholdengo|glimmora|chienpao|tinglu|dragonite": [ - { - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "gholdengo": "ghost|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "glimmora": "ground|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|sludgebomb|spikes|stealthrock", - "chienpao": "fighting|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword", - "tinglu": "fairy|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|ruination|stealthrock|whirlwind", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner" - } - ], - "garganacl|dondozo|clodsire|toxapex|skeledirge|gholdengo": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|careful|252,0,4,0,252,0|bodypress|irondefense|recover|saltcure", - "dondozo": "dark|unaware|leftovers|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash", - "clodsire": "grass|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|haze|recover|toxic", - "toxapex": "steel|regenerator|blacksludge|bold|252,0,252,4,0,0|haze|infestation|recover|toxic", - "skeledirge": "fairy|unaware|leftovers|calm|252,0,0,4,252,0|hex|slackoff|torchsong|willowisp", - "gholdengo": "normal|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick" - } - ], - "roaringmoon|ironvaliant|breloom|corviknight|clodsire|dondozo": [ - { - "roaringmoon": "bug|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|psychic|shadowball", - "breloom": "steel|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance", - "corviknight": "dark|pressure|rockyhelmet|careful|252,0,64,0,188,4|bulkup|defog|powertrip|roost", - "clodsire": "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic", - "dondozo": "fairy|unaware|rockyhelmet|impish|252,4,252,0,0,0|curse|rest|sleeptalk|wavecrash" - } - ], - "garganacl|glimmora|dragapult|clodsire|greattusk|corviknight": [ - { - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,252,0,4,0|protect|recover|saltcure|stealthrock", - "glimmora": "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|sludgewave|spikes", - "dragapult": "|infiltrator|heavydutyboots|naive|0,252,0,0,4,252|dragondarts|hex|uturn|willowisp", - "clodsire": "dark|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic", - "greattusk": "|protosynthesis|leftovers|impish|252,0,204,0,0,52|bodypress|earthquake|knockoff|rapidspin", - "corviknight": "|pressure|leftovers|impish|252,0,248,0,0,8|bravebird|bulkup|roost|taunt" - } - ], - "irontreads|chienpao|gholdengo|rotomwash|cyclizar|dragonite": [ - { - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|earthquake|ironhead|knockoff|stealthrock", - "chienpao": "dark|swordofruin|lifeorb|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "gholdengo": "flying|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunderwave", - "rotomwash": "electric|levitate|choicescarf|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch", - "cyclizar": "dragon|regenerator|heavydutyboots|jolly|248,0,0,0,8,252|icespinner|knockoff|rapidspin|shedtail", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,4,0,0,252|dragondance|earthquake|extremespeed|icespinner" - } - ], - "chiyu|gholdengo|chienpao|breloom|glimmora|kingambit": [ - { - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "breloom": "fairy|technician|loadeddice|adamant|252,252,0,0,0,4|bulletseed|machpunch|spore|substitute", - "glimmora": "flying|toxicdebris|focussash|timid|0,4,0,252,0,252|earthpower|energyball|mortalspin|toxic", - "kingambit": "poison|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ], - "ironvaliant|chienpao|ironmoth|dondozo|clodsire|tyranitar": [ - { - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|thunderbolt|trick", - "chienpao": "ice|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|swordsdance", - "ironmoth": "flying|quarkdrive|boosterenergy|modest|0,0,0,252,4,252|agility|fierydance|sludgewave|substitute", - "dondozo": "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk", - "clodsire": "grass|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxic", - "tyranitar": "fairy|sandstream|leftovers|careful|252,0,0,0,252,0|dragontail|foulplay|rocktomb|stealthrock" - } - ], - "grimmsnarl|skeledirge|clodsire|dragonite|gholdengo|corviknight": [ - { - "grimmsnarl": "fairy|prankster|lightclay|careful|252,0,4,0,252,0|lightscreen|reflect|spiritbreak|taunt", - "skeledirge": "fire|unaware|heavydutyboots|bold|252,0,252,4,0,0|shadowball|slackoff|torchsong|willowisp", - "clodsire": "ground|waterabsorb|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|yawn", - "dragonite": "normal|multiscale|lumberry|adamant|252,252,0,0,0,4|dragondance|extremespeed|firepunch|outrage", - "gholdengo": "steel|goodasgold|airballoon|modest|156,0,0,252,0,100|makeitrain|nastyplot|shadowball|substitute", - "corviknight": "flying|pressure|leftovers|careful|252,0,88,0,168,0|bravebird|defog|roost|uturn" - } - ], - "rotomwash|corviknight|chiyu|volcarona|gholdengo|clodsire": [ - { - "rotomwash": "electric|levitate|leftovers|timid|252,0,0,0,4,252|hydropump|trick|voltswitch|willowisp", - "corviknight": "flying|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|fireblast|overheat|psychic", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|bugbuzz|fierydance|gigadrain|quiverdance", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "clodsire": "poison|waterabsorb|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic" - } - ], - "rotomwash|corviknight|chiyu|hatterene|gholdengo|clodsire": [ - { - "rotomwash": "electric|levitate|leftovers|calm|248,0,64,0,196,0|hydropump|protect|voltswitch|willowisp", - "corviknight": "fairy|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|irondefense|roost", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "hatterene": "water|magicbounce|leftovers|bold|200,0,252,0,0,56|calmmind|drainingkiss|nuzzle|psyshock", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "clodsire": "dark|waterabsorb|leftovers|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic" - } - ], - "rotomwash|corviknight|chiyu|hatterene|gholdengo|tinglu": [ - { - "rotomwash": "electric|levitate|leftovers|calm|248,0,64,0,196,0|hydropump|protect|thunderwave|voltswitch", - "corviknight": "fairy|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|irondefense|roost", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "hatterene": "water|magicbounce|leftovers|bold|200,0,252,0,0,56|calmmind|drainingkiss|nuzzle|psyshock", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind" - } - ], - "chiyu|lokix|ironhands|espathra|corviknight|glimmora": [ - { - "chiyu": "fire|beadsofruin|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|leechlife|throatchop", - "ironhands": "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|brickbreak|drainpunch|earthquake|fakeout", - "espathra": "fighting|speedboost|twistedspoon|modest|0,0,0,252,4,252|calmmind|protect|storedpower|terablast", - "corviknight": "fighting|mirrorarmor|leftovers|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "glimmora": "poison|toxicdebris|lifeorb|modest|0,0,0,252,4,252|earthpower|powergem|rockpolish|sludgewave" - } - ], - "chiyu|lokix|ironhands|greattusk|corviknight|glimmora": [ - { - "chiyu": "fire|beadsofruin|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|leechlife|throatchop", - "ironhands": "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|brickbreak|drainpunch|earthquake|thunderpunch", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "corviknight": "fighting|pressure|leftovers|impish|252,0,252,0,4,0|bodypress|bravebird|roost|uturn", - "glimmora": "poison|toxicdebris|lifeorb|modest|0,0,0,252,4,252|earthpower|powergem|rockpolish|sludgewave" - } - ], - "chiyu|lokix|ironhands|hatterene|corviknight|glimmora": [ - { - "chiyu": "fire|beadsofruin|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|axekick|firstimpression|leechlife|throatchop", - "ironhands": "dark|quarkdrive|assaultvest|adamant|248,252,0,0,8,0|drainpunch|earthquake|fakeout|thunderpunch", - "hatterene": "water|magicbounce|assaultvest|modest|252,0,0,252,4,0|drainingkiss|gigadrain|mysticalfire|psychic", - "corviknight": "fire|pressure|leftovers|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn", - "glimmora": "poison|toxicdebris|lifeorb|modest|0,0,0,252,4,252|earthpower|powergem|rockpolish|sludgewave" - } - ], - "cyclizar|grimmsnarl|ironvaliant|espathra|annihilape|chiyu": [ - { - "cyclizar": "|regenerator|sitrusberry|impish|252,0,252,0,4,0|knockoff|shedtail|taunt|uturn", - "grimmsnarl": "|prankster|lightclay|bold|252,0,252,0,4,0|lightscreen|partingshot|reflect|taunt", - "ironvaliant": "dark|quarkdrive|boosterenergy|jolly|0,252,0,0,4,252|closecombat|knockoff|swordsdance|taunt", - "espathra": "fighting|speedboost|leftovers|modest|252,0,4,252,0,0|calmmind|protect|storedpower|terablast", - "annihilape": "fairy|defiant|leftovers|adamant|252,76,0,0,180,0|bulkup|drainpunch|ragefist|taunt", - "chiyu": "|beadsofruin|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|lavaplume|nastyplot|overheat" - } - ], - "ceruledge|ironvaliant|amoonguss|gholdengo|greattusk|tinglu": [ - { - "ceruledge": "fairy|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance", - "ironvaliant": "fairy|quarkdrive|boosterenergy|naive|0,4,0,252,0,252|closecombat|knockoff|moonblast|thunderbolt", - "amoonguss": "water|regenerator|assaultvest|relaxed|216,28,176,0,88,0|clearsmog|gigadrain|sludgebomb|stompingtantrum", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "greattusk": "ground|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|closecombat|earthquake|knockoff|rapidspin", - "tinglu": "dark|vesselofruin|leftovers|sassy|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind" - } - ], - "ceruledge|rotomwash|amoonguss|dragapult|greattusk|tinglu": [ - { - "ceruledge": "fairy|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|bitterblade|closecombat|shadowsneak|swordsdance", - "rotomwash": "electric|levitate|leftovers|bold|252,0,252,4,0,0|hydropump|thunderbolt|voltswitch|willowisp", - "amoonguss": "water|regenerator|assaultvest|relaxed|216,28,176,0,88,0|clearsmog|gigadrain|sludgebomb|stompingtantrum", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "greattusk": "ground|protosynthesis|heavydutyboots|jolly|252,4,0,0,0,252|closecombat|earthquake|knockoff|rapidspin", - "tinglu": "dark|vesselofruin|leftovers|sassy|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind" - } - ], - "glimmora|greattusk|gholdengo|ironmoth|roaringmoon|breloom": [ - { - "glimmora": "ghost|toxicdebris|focussash|timid|4,0,0,252,0,252|mortalspin|powergem|spikes|stealthrock", - "greattusk": "steel|protosynthesis|assaultvest|careful|252,0,4,0,252,0|bodypress|earthquake|knockoff|rapidspin", - "gholdengo": "dark|goodasgold|airballoon|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball", - "ironmoth": "grass|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|energyball|fierydance|morningsun|psychic", - "roaringmoon": "flying|protosynthesis|boosterenergy|bold|252,0,252,0,4,0|acrobatics|dragondance|jawlock|roost", - "breloom": "fighting|technician|focussash|jolly|0,252,0,0,0,252|machpunch|rocktomb|spore|swordsdance" - } - ], - "meowscarada|garganacl|amoonguss|dragonite|chiyu|gholdengo": [ - { - "meowscarada": "grass|protean|choiceband|jolly|4,252,0,0,0,252|flowertrick|knockoff|playrough|uturn", - "garganacl": "ghost|purifyingsalt|iapapaberry|careful|252,0,4,0,252,0|bodypress|curse|recover|saltcure", - "amoonguss": "water|regenerator|rockyhelmet|bold|252,0,252,0,4,0|clearsmog|foulplay|gigadrain|spore", - "dragonite": "normal|multiscale|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|icespinner", - "chiyu": "fire|beadsofruin|choicescarf|timid|4,0,0,252,0,252|darkpulse|flamethrower|overheat|psychic", - "gholdengo": "ghost|goodasgold|laggingtail|modest|252,0,0,252,0,4|focusblast|makeitrain|shadowball|trick" - } - ], - "slowking|chienpao|meowscarada|skeledirge|greattusk|blissey": [ - { - "slowking": "fairy|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillyreception|futuresight|slackoff|yawn", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "meowscarada": "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "skeledirge": "water|unaware|heavydutyboots|bold|252,0,252,0,0,4|slackoff|torchsong|willowisp|yawn", - "greattusk": "ground|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "blissey": "ghost|naturalcure|heavydutyboots|careful|252,0,4,0,252,0|shadowball|softboiled|stealthrock|trick" - } - ], - "torkoal|greattusk|chiyu|roaringmoon|hatterene|dragapult": [ - { - "torkoal": "|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock", - "greattusk": "fighting|protosynthesis|assaultvest|careful|0,8,20,0,248,232|closecombat|earthquake|knockoff|rapidspin", - "chiyu": "fire|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "roaringmoon": "flying|protosynthesis|choiceband|jolly|0,220,36,0,0,252|crunch|earthquake|ironhead|uturn", - "hatterene": "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|mysticalfire|psyshock", - "dragapult": "|infiltrator|choicespecs|timid|0,0,4,252,0,252|dracometeor|shadowball|thunderbolt|uturn" - } - ], - "torkoal|greattusk|chiyu|roaringmoon|dragapult|dondozo": [ - { - "torkoal": "fire|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock", - "greattusk": "fighting|protosynthesis|assaultvest|careful|252,4,0,0,252,0|closecombat|earthquake|knockoff|rapidspin", - "chiyu": "grass|beadsofruin|choicespecs|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|terablast", - "roaringmoon": "dark|protosynthesis|choiceband|adamant|0,252,4,0,0,252|crunch|dragonclaw|earthquake|uturn", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,4,252,0,252|dracometeor|shadowball|thunder|uturn", - "dondozo": "grass|unaware|leftovers|impish|252,0,252,0,4,0|bodypress|liquidation|rest|sleeptalk" - } - ], - "irontreads|gholdengo|ironvaliant|chiyu|breloom|dragonite": [ - { - "irontreads": "water|quarkdrive|leftovers|jolly|0,104,0,0,152,252|earthquake|icespinner|rapidspin|stealthrock", - "gholdengo": "dark|goodasgold|choicescarf|timid|0,0,4,252,0,252|focusblast|makeitrain|shadowball|trick", - "ironvaliant": "psychic|quarkdrive|boosterenergy|jolly|0,252,4,0,0,252|closecombat|knockoff|swordsdance|zenheadbutt", - "chiyu": "fire|beadsofruin|heavydutyboots|timid|0,0,4,252,0,252|darkpulse|fireblast|taunt|willowisp", - "breloom": "steel|technician|loadeddice|adamant|0,252,0,0,4,252|bulletseed|machpunch|spore|substitute", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,4,0,0,252|dragondance|earthquake|extremespeed|icespinner" - } - ], - "grimmsnarl|cyclizar|corviknight|roaringmoon|ironvaliant|dragapult": [ - { - "grimmsnarl": "fairy|prankster|lightclay|careful|252,0,4,0,252,0|lightscreen|partingshot|reflect|spiritbreak", - "cyclizar": "dark|regenerator|heavydutyboots|jolly|252,0,4,0,0,252|knockoff|rapidspin|shedtail|taunt", - "corviknight": "flying|pressure|rockyhelmet|impish|252,0,252,0,4,0|defog|roost|tailwind|uturn", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|4,252,0,0,0,252|acrobatics|crunch|dragondance|earthquake", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|4,0,0,252,0,252|calmmind|moonblast|shadowball|thunderbolt", - "dragapult": "ghost|clearbody|lifeorb|timid|4,0,0,252,0,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "grimmsnarl|cyclizar|hatterene|roaringmoon|garganacl|dragapult": [ - { - "grimmsnarl": "ghost|prankster|lightclay|jolly|248,8,0,0,0,252|lightscreen|partingshot|reflect|taunt", - "cyclizar": "ghost|regenerator|sitrusberry|jolly|248,8,0,0,0,252|knockoff|rapidspin|shedtail|taunt", - "hatterene": "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|nuzzle|storedpower", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragondance|earthquake", - "garganacl": "fairy|purifyingsalt|leftovers|careful|252,4,0,0,252,0|bodypress|irondefense|recover|saltcure", - "dragapult": "ghost|infiltrator|lifeorb|timid|4,0,0,252,0,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "roaringmoon|blissey|dondozo|hatterene|amoonguss|corviknight": [ - { - "roaringmoon": "fairy|protosynthesis|heavydutyboots|jolly|252,0,0,0,152,104|crunch|earthquake|roost|uturn", - "blissey": "ghost|naturalcure|heavydutyboots|bold|248,0,252,0,8,0|seismictoss|shadowball|softboiled|stealthrock", - "dondozo": "dark|unaware|leftovers|impish|252,4,252,0,0,0|curse|liquidation|rest|sleeptalk", - "hatterene": "steel|magicbounce|leftovers|calm|248,0,8,0,252,0|dazzlinggleam|healingwish|nuzzle|psychic", - "amoonguss": "normal|regenerator|rockyhelmet|bold|252,0,252,0,4,0|clearsmog|foulplay|gigadrain|spore", - "corviknight": "ground|pressure|leftovers|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn" - } - ], - "grimmsnarl|glimmora|hatterene|espathra|annihilape|cyclizar": [ - { - "grimmsnarl": "poison|prankster|lightclay|adamant|248,180,0,0,80,0|lightscreen|reflect|spiritbreak|taunt", - "glimmora": "ghost|toxicdebris|focussash|timid|0,0,4,252,0,252|earthpower|mortalspin|sludgewave|stealthrock", - "hatterene": "steel|magicbounce|ejectbutton|bold|248,0,120,0,0,140|dazzlinggleam|healingwish|nuzzle|psychic", - "espathra": "fairy|speedboost|leftovers|bold|248,0,236,0,20,4|calmmind|dazzlinggleam|roost|storedpower", - "annihilape": "fire|defiant|leftovers|jolly|248,0,0,0,28,232|bulkup|drainpunch|ragefist|taunt", - "cyclizar": "ghost|regenerator|sitrusberry|jolly|248,8,0,0,0,252|knockoff|rapidspin|shedtail|taunt" - } - ], - "gardevoir|gallade|ironvaliant|orthworm|glimmora|dragonite": [ - { - "gardevoir": "fairy|trace|choicescarf|timid|0,0,0,252,4,252|healingwish|moonblast|psyshock|trick", - "gallade": "dark|sharpness|choicescarf|jolly|0,252,4,0,0,252|leafblade|nightslash|psychocut|sacredsword", - "ironvaliant": "electric|quarkdrive|choicespecs|timid|0,0,4,252,0,252|moonblast|psyshock|shadowball|thunderbolt", - "orthworm": "ghost|eartheater|sitrusberry|impish|248,8,252,0,0,0|bodypress|heavyslam|shedtail|spikes", - "glimmora": "grass|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|energyball|mortalspin|stealthrock", - "dragonite": "normal|multiscale|leftovers|jolly|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch" - } - ], - "haxorus|orthworm|lokix|quagsire|screamtail|ditto": [ - { - "haxorus": "electric|moldbreaker|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|ironhead|terablast", - "orthworm": "steel|eartheater|sitrusberry|careful|252,0,0,0,252,0|bodypress|coil|heavyslam|shedtail", - "lokix": "bug|tintedlens|lifeorb|jolly|0,252,0,0,4,252|axekick|firstimpression|suckerpunch|uturn", - "quagsire": "poison|unaware|leftovers|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic", - "screamtail": "fairy|protosynthesis|lightclay|timid|252,0,0,0,4,252|encore|lightscreen|reflect|stealthrock", - "ditto": "normal|imposter|choicescarf|impish|248,8,252,0,0,0|transform" - } - ], - "magnezone|baxcalibur|dragonite|garchomp|gholdengo|hatterene": [ - { - "magnezone": "fire|magnetpull|airballoon|timid|0,0,40,252,0,216|chargebeam|flashcannon|substitute|terablast", - "baxcalibur": "dragon|thermalexchange|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|iciclespear|substitute", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|firepunch|roost", - "garchomp": "fire|roughskin|choiceband|jolly|0,252,4,0,0,252|dragonclaw|earthquake|ironhead|spikes", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,84,252,0,172|focusblast|makeitrain|shadowball|trick", - "hatterene": "water|magicbounce|leftovers|bold|0,0,244,252,0,12|drainingkiss|mysticalfire|psyshock|trickroom" - } - ], - "indeedeef|espeon|salazzle|haxorus|klawf|cloyster": [ - { - "indeedeef": "psychic|psychicsurge|terrainextender|timid|252,0,0,0,4,252|dazzlinggleam|healingwish|lightscreen|psychic", - "espeon": "psychic|magicbounce|ejectbutton|timid|252,0,0,4,0,252|lightscreen|psyshock|reflect|thunderwave", - "salazzle": "poison|corrosion|focussash|hasty|0,4,0,252,0,252|flamethrower|nastyplot|sludgebomb|toxic", - "haxorus": "dragon|moldbreaker|focussash|jolly|0,252,0,0,4,252|closecombat|dragonclaw|dragondance|earthquake", - "klawf": "fighting|angershell|focussash|adamant|0,252,0,0,4,252|knockoff|reversal|rockslide|swordsdance", - "cloyster": "ice|skilllink|focussash|adamant|0,252,0,0,4,252|iciclespear|liquidation|rockblast|shellsmash" - } - ], - "greattusk|donphan|irontreads|slitherwing|volcarona|ironmoth": [ - { - "greattusk": "fighting|protosynthesis|blackbelt|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "donphan": "ghost|sturdy|covertcloak|impish|252,4,252,0,0,0|earthquake|icespinner|knockoff|stealthrock", - "irontreads": "water|quarkdrive|assaultvest|careful|252,0,4,0,252,0|earthquake|knockoff|rapidspin|voltswitch", - "slitherwing": "bug|protosynthesis|choiceband|adamant|88,252,0,0,0,168|closecombat|firstimpression|flareblitz|uturn", - "volcarona": "dragon|flamebody|heavydutyboots|modest|0,0,0,252,4,252|fierydance|gigadrain|quiverdance|terablast", - "ironmoth": "grass|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|agility|energyball|fireblast|sludgewave" - } - ], - "kingambit|ironbundle|hatterene|dragonite|cinderace|greattusk": [ - { - "kingambit": "dark|adaptability|lifeorb|adamant|252,252,0,0,4,0|ironhead|stealthrock|suckerpunch|swordsdance", - "ironbundle": "ice|snowwarning|lightclay|timid|0,0,0,252,4,252|auroraveil|flipturn|freezedry|hydropump", - "hatterene": "psychic|triage|leftovers|bold|252,0,252,0,4,0|calmmind|drainingkiss|mysticalfire|storedpower", - "dragonite": "dragon|aerilate|lumberry|jolly|4,252,0,0,0,252|dragondance|earthquake|extremespeed|firepunch", - "cinderace": "fire|orichalcumpulse|choiceband|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn", - "greattusk": "ground|icescales|leftovers|jolly|200,56,0,0,0,252|bodypress|bulkup|earthquake|rapidspin" - } - ], - "haxorus|glimmora|ceruledge|grimmsnarl|espathra|roaringmoon": [ - { - "haxorus": "fire|moldbreaker|lumberry|jolly|248,80,0,0,4,176|dragonclaw|dragondance|earthquake|terablast", - "glimmora": "grass|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|mortalspin|powergem|stealthrock", - "ceruledge": "bug|flashfire|leftovers|adamant|248,156,0,0,72,32|bitterblade|shadowsneak|swordsdance|taunt", - "grimmsnarl": "ghost|prankster|lightclay|impish|252,0,156,0,100,0|lightscreen|reflect|spiritbreak|taunt", - "espathra": "fairy|speedboost|leftovers|bold|248,0,252,0,0,8|calmmind|dazzlinggleam|roost|storedpower", - "roaringmoon": "flying|protosynthesis|boosterenergy|jolly|0,252,24,0,0,232|acrobatics|crunch|dragondance|earthquake" - } - ], - "quaquaval|chiyu|amoonguss|corviknight|roaringmoon|clodsire": [ - { - "quaquaval": "fairy|moxie|leftovers|jolly|252,0,0,0,92,164|aquastep|bulkup|closecombat|roost", - "chiyu": "|beadsofruin|choicescarf|timid|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "amoonguss": "normal|regenerator|rockyhelmet|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore", - "corviknight": "|pressure|leftovers|impish|248,0,220,0,40,0|bodypress|defog|roost|uturn", - "roaringmoon": "dark|protosynthesis|choiceband|adamant|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn", - "clodsire": "water|unaware|heavydutyboots|careful|248,0,4,0,248,8|earthquake|recover|stealthrock|toxic" - } - ], - "quaquaval|dragapult|greattusk|skeledirge|garganacl|corviknight": [ - { - "quaquaval": "poison|moxie|covertcloak|jolly|252,0,60,0,116,80|aquastep|bulkup|roost|taunt", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "greattusk": "ground|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "skeledirge": "water|unaware|heavydutyboots|calm|248,0,0,0,240,20|hex|slackoff|torchsong|willowisp", - "garganacl": "fairy|purifyingsalt|leftovers|impish|252,0,248,0,0,8|protect|recover|saltcure|stealthrock", - "corviknight": "fairy|pressure|leftovers|impish|252,0,60,0,168,28|bravebird|bulkup|roost|taunt" - } - ], - "amoonguss|breloom|brutebonnet|torkoal|roaringmoon|greattusk": [ - { - "amoonguss": "water|regenerator|covertcloak|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore", - "breloom": "fire|technician|choiceband|jolly|68,252,0,0,0,188|bulletseed|machpunch|rocktomb|terablast", - "brutebonnet": "steel|protosynthesis|assaultvest|adamant|4,252,0,0,0,252|closecombat|crunch|seedbomb|suckerpunch", - "torkoal": "grass|drought|heatrock|calm|120,0,0,136,252,0|lavaplume|rapidspin|solarbeam|stealthrock", - "roaringmoon": "steel|protosynthesis|lumberry|jolly|0,252,4,0,0,252|crunch|dragondance|earthquake|ironhead", - "greattusk": "fighting|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff" - } - ], - "skeledirge|krookodile|torkoal|greattusk|hatterene|toxapex": [ - { - "skeledirge": "fire|unaware|choicescarf|timid|0,0,0,252,4,252|earthpower|shadowball|solarbeam|torchsong", - "krookodile": "poison|moxie|choicescarf|jolly|0,252,0,0,4,252|closecombat|crunch|earthquake|gunkshot", - "torkoal": "water|drought|heatrock|calm|248,0,8,0,252,0|lavaplume|rapidspin|stealthrock|yawn", - "greattusk": "water|protosynthesis|assaultvest|jolly|200,0,8,0,252,48|bodypress|earthquake|knockoff|rapidspin", - "hatterene": "steel|magicbounce|leftovers|bold|248,0,196,0,0,64|calmmind|drainingkiss|healingwish|psyshock", - "toxapex": "grass|regenerator|covertcloak|impish|248,0,248,0,0,12|banefulbunker|infestation|poisonjab|recover" - } - ], - "dragapult|ironhands|talonflame|ironmoth|dragonite|cloyster": [ - { - "dragapult": "dragon|toxicdebris|lightclay|timid|252,0,0,4,0,252|lightscreen|reflect|shadowball|uturn", - "ironhands": "fighting|triage|sitrusberry|careful|252,0,4,0,252,0|bellydrum|drainpunch|earthquake|thunderpunch", - "talonflame": "fire|magicguard|focussash|jolly|0,252,0,0,4,252|bravebird|defog|flareblitz|swordsdance", - "ironmoth": "fire|sheerforce|lifeorb|timid|0,0,0,252,4,252|agility|energyball|fireblast|sludgewave", - "dragonite": "dragon|aerilate|leftovers|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "cloyster": "water|technician|loadeddice|adamant|0,252,4,0,0,252|iceshard|iciclespear|rockblast|shellsmash" - } - ], - "ironhands|froslass|baxcalibur|scizor|roaringmoon|kilowattrel": [ - { - "ironhands": "fighting|triage|sitrusberry|adamant|252,252,4,0,0,0|bellydrum|drainpunch|earthquake|thunderpunch", - "froslass": "ice|snowwarning|lightclay|modest|4,0,0,252,0,252|auroraveil|blizzard|destinybond|shadowball", - "baxcalibur": "dragon|technician|loadeddice|adamant|64,252,64,0,0,128|bite|dragondance|iceshard|iciclespear", - "scizor": "bug|wellbakedbody|leftovers|adamant|252,252,0,0,4,0|bulletpunch|defog|swordsdance|uturn", - "roaringmoon": "dragon|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|crunch|earthquake|outrage|uturn", - "kilowattrel": "electric|noguard|choicespecs|hasty|0,4,0,252,0,252|dualwingbeat|hurricane|thunder|voltswitch" - } - ], - "mimikyu|screamtail|talonflame|salamence|slitherwing|ironjugulis": [ - { - "mimikyu": "ghost|disguise|lifeorb|jolly|0,252,0,0,4,252|playrough|shadowclaw|swordsdance|trailblaze", - "screamtail": "fairy|protosynthesis|lightclay|timid|252,0,0,0,4,252|lightscreen|protect|reflect|thunderwave", - "talonflame": "fire|galewings|heavydutyboots|jolly|0,252,0,0,4,252|flareblitz|sunnyday|tailwind|uturn", - "salamence": "dragon|moxie|choicescarf|mild|0,0,0,252,4,252|dracometeor|dragonpulse|fireblast|roost", - "slitherwing": "bug|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|earthquake|leechlife|uturn", - "ironjugulis": "dark|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|darkpulse|dragonpulse|sunnyday|uturn" - } - ], - "roaringmoon|ironmoth|quaquaval|corviknight|hatterene|hippowdon": [ - { - "roaringmoon": "dragon|regenerator|assaultvest|impish|252,0,4,0,252,0|crunch|dragontail|earthquake|rockslide", - "ironmoth": "fire|magicguard|lifeorb|timid|0,0,0,252,4,252|energyball|fireblast|psychic|sludgewave", - "quaquaval": "water|prankster|leftovers|careful|252,128,0,0,92,36|aquastep|bulkup|roost|taunt", - "corviknight": "flying|primordialsea|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost", - "hatterene": "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|mysticalfire", - "hippowdon": "ground|stamina|leftovers|impish|252,4,252,0,0,0|bodypress|earthquake|slackoff|stealthrock" - } - ], - "dragapult|chiyu|cinderace|corviknight|greattusk|hatterene": [ - { - "dragapult": "dragon|solarpower|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn", - "chiyu": "dark|chlorophyll|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "cinderace": "fire|orichalcumpulse|heatrock|jolly|0,252,0,0,4,252|courtchange|gunkshot|pyroball|uturn", - "corviknight": "flying|wellbakedbody|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost", - "greattusk": "ground|regenerator|leftovers|impish|252,4,252,0,0,0|bulkup|closecombat|earthquake|rapidspin", - "hatterene": "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|psyshock" - }, - { - "dragapult": "dragon|solarpower|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|shadowball|uturn", - "chiyu": "dark|chlorophyll|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "cinderace": "fire|orichalcumpulse|heatrock|jolly|0,252,0,0,4,252|courtchange|gunkshot|pyroball|uturn", - "corviknight": "flying|wellbakedbody|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost", - "greattusk": "ground|regenerator|leftovers|careful|252,0,4,0,252,0|bulkup|closecombat|earthquake|rapidspin", - "hatterene": "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|psyshock" - } - ], - "pelipper|barraskewda|greattusk|amoonguss|garganacl|chienpao": [ - { - "pelipper": "flying|drizzle|damprock|sassy|252,0,4,0,252,0|hurricane|roost|surf|uturn", - "barraskewda": "water|swiftswim|choiceband|adamant|4,252,0,0,0,252|aquajet|closecombat|liquidation|psychicfangs", - "greattusk": "fairy|protosynthesis|leftovers|impish|228,0,240,0,0,40|bodypress|earthquake|knockoff|rapidspin", - "amoonguss": "fire|regenerator|blacksludge|bold|252,0,136,0,76,44|clearsmog|foulplay|grassknot|spore", - "garganacl": "water|purifyingsalt|leftovers|impish|252,0,100,0,156,0|protect|recover|saltcure|stealthrock", - "chienpao": "ghost|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|crunch|icespinner|sacredsword|suckerpunch" - } - ], - "torkoal|chiyu|dragonite|greattusk|kingambit|hatterene": [ - { - "torkoal": "steel|drought|heatrock|bold|248,0,252,0,0,8|lavaplume|rapidspin|stealthrock|yawn", - "chiyu": "fire|beadsofruin|choicescarf|timid|0,0,4,252,0,252|darkpulse|flamethrower|overheat|psychic", - "dragonite": "normal|multiscale|heavydutyboots|adamant|72,252,0,0,0,184|dragondance|earthquake|extremespeed|roost", - "greattusk": "fighting|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "kingambit": "flying|supremeoverlord|leftovers|adamant|104,252,0,0,0,152|ironhead|kowtowcleave|suckerpunch|swordsdance", - "hatterene": "water|magicbounce|leftovers|bold|252,0,196,0,0,60|calmmind|drainingkiss|mysticalfire|psyshock" - } - ], - "corviknight|dondozo|dragonite|baxcalibur|ironhands|tinglu": [ - { - "corviknight": "flying|drizzle|damprock|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "dondozo": "electric|regenerator|assaultvest|careful|0,4,252,0,252,0|bodypress|bodyslam|crunch|wavecrash", - "dragonite": "flying|sheerforce|lifeorb|timid|0,0,0,252,4,252|hurricane|icebeam|roost|thunder", - "baxcalibur": "steel|swiftswim|heavydutyboots|adamant|0,252,0,0,4,252|earthquake|glaiverush|iciclecrash|swordsdance", - "ironhands": "fighting|triage|lifeorb|adamant|252,116,0,0,0,140|bellydrum|closecombat|drainpunch|wildcharge", - "tinglu": "grass|electricsurge|terrainextender|careful|252,0,4,0,252,0|earthquake|ruination|stealthrock|whirlwind" - } - ], - "lucario|lycanrocdusk|spidops|orthworm|gholdengo|roaringmoon": [ - { - "lucario": "normal|justified|silkscarf|jolly|0,252,0,0,4,252|closecombat|earthquake|extremespeed|swordsdance", - "lycanrocdusk": "fairy|toughclaws|lifeorb|jolly|0,252,0,0,4,252|accelerock|crunch|playrough|swordsdance", - "spidops": "ghost|insomnia|redcard|impish|248,0,244,0,0,16|circlethrow|memento|spikes|stickyweb", - "orthworm": "ghost|eartheater|sitrusberry|careful|248,0,8,0,252,0|bodypress|heavyslam|shedtail|stealthrock", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|makeitrain|shadowball|trick", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance" - } - ], - "taurospaldeaaqua|sandyshocks|dragonite|screamtail|corviknight|ironmoth": [ - { - "taurospaldeaaqua": "fighting|opportunist|mirrorherb|jolly|0,252,0,0,4,252|aquajet|closecombat|swagger|wavecrash", - "sandyshocks": "electric|hadronengine|choicescarf|timid|0,0,0,252,4,252|earthpower|spikes|thunder|voltswitch", - "dragonite": "dragon|aerilate|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|firepunch", - "screamtail": "fairy|vesselofruin|leftovers|timid|252,0,0,4,0,252|dazzlinggleam|encore|protect|wish", - "corviknight": "flying|wellbakedbody|rockyhelmet|impish|248,8,252,0,0,0|bodypress|bravebird|defog|roost", - "ironmoth": "fire|desolateland|heavydutyboots|calm|252,0,0,4,252,0|fierydance|morningsun|toxicspikes|uturn" - } - ], - "slitherwing|ironmoth|ironthorns|greattusk|skeledirge|screamtail": [ - { - "slitherwing": "bug|orichalcumpulse|heatrock|adamant|252,252,0,0,4,0|closecombat|firstimpression|flareblitz|uturn", - "ironmoth": "fire|solarpower|leftovers|mild|0,4,0,252,0,252|agility|dazzlinggleam|discharge|fierydance", - "ironthorns": "rock|eartheater|chopleberry|jolly|0,252,0,0,4,252|dragondance|earthquake|icepunch|wildcharge", - "greattusk": "ground|scrappy|assaultvest|jolly|252,4,0,0,0,252|closecombat|earthquake|knockoff|rapidspin", - "skeledirge": "fire|chlorophyll|throatspray|timid|0,0,0,252,4,252|earthpower|shadowball|solarbeam|torchsong", - "screamtail": "fairy|tabletsofruin|rockyhelmet|timid|252,0,0,0,4,252|dazzlinggleam|encore|stealthrock|wish" - } - ], - "greninja|greattusk|chienpao|gholdengo|hydreigon|slowking": [ - { - "greninja": "water|protean|choicespecs|timid|0,0,0,252,0,252|darkpulse|hydropump|icebeam|uturn", - "greattusk": "steel|protosynthesis|heavydutyboots|impish|248,0,252,0,0,8|earthquake|knockoff|rapidspin|stealthrock", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "gholdengo": "fighting|goodasgold|airballoon|timid|0,0,0,252,4,252|focusblast|makeitrain|nastyplot|shadowball", - "hydreigon": "steel|levitate|lifeorb|timid|0,0,0,252,4,252|darkpulse|dracometeor|flashcannon|uturn", - "slowking": "fairy|regenerator|covertcloak|calm|252,0,0,0,212,44|chillingwater|chillyreception|futuresight|slackoff" - } - ], - "wugtrio|vaporeon|kilowattrel|garchomp|screamtail|dondozo": [ - { - "wugtrio": "water|technician|choiceband|jolly|0,252,0,0,4,252|aquajet|bulldoze|finalgambit|tripledive", - "vaporeon": "water|drizzle|damprock|calm|248,0,0,8,252,0|haze|hydropump|protect|wish", - "kilowattrel": "electric|hadronengine|choicespecs|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball", - "garchomp": "dragon|swiftswim|lifeorb|adamant|0,252,0,0,4,252|dragonclaw|earthquake|liquidation|swordsdance", - "screamtail": "fairy|pixilate|lightclay|timid|252,0,0,0,0,252|boomburst|lightscreen|reflect|wish", - "dondozo": "water|fluffy|leftovers|impish|252,4,252,0,0,0|bodypress|curse|protect|wavecrash" - } - ], - "ironmoth|brambleghast|tinglu|gholdengo|hatterene|corviknight": [ - { - "ironmoth": "fire|serenegrace|airballoon|modest|0,0,0,252,4,252|agility|airslash|discharge|fierydance", - "brambleghast": "grass|goodasgold|focussash|jolly|0,252,0,0,4,252|powerwhip|rapidspin|shadowsneak|spikes", - "tinglu": "dark|regenerator|leftovers|impish|252,4,252,0,0,0|earthquake|stealthrock|throatchop|whirlwind", - "gholdengo": "steel|purifyingsalt|leftovers|calm|248,0,0,8,252,0|makeitrain|nastyplot|recover|shadowball", - "hatterene": "psychic|triage|covertcloak|bold|252,0,252,0,4,0|calmmind|drainingkiss|mysticalfire|psyshock", - "corviknight": "flying|filter|weaknesspolicy|careful|248,8,0,0,252,0|agility|irondefense|powertrip|roost" - } - ], - "cinderace|gholdengo|corviknight|garganacl|ironmoth|garchomp": [ - { - "cinderace": "fire|orichalcumpulse|choiceband|jolly|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn", - "gholdengo": "steel|eartheater|leftovers|modest|252,0,0,252,4,0|nastyplot|recover|shadowball|substitute", - "corviknight": "flying|wellbakedbody|leftovers|careful|252,0,4,0,252,0|bodypress|defog|roost|uturn", - "garganacl": "rock|sandstream|leftovers|impish|252,0,252,0,4,0|bodypress|irondefense|recover|saltcure", - "ironmoth": "fire|beadsofruin|choicescarf|timid|0,0,0,252,4,252|discharge|fierydance|psychic|sludgewave", - "garchomp": "dragon|regenerator|assaultvest|brave|252,252,0,4,0,0|dragontail|earthquake|fireblast|stoneedge" - } - ], - "greattusk|ironvaliant|gholdengo|cinderace|ironmoth|florgeswhite": [ - { - "greattusk": "ground|regenerator|leftovers|impish|252,10,148,0,0,100|earthquake|icespinner|knockoff|rapidspin", - "ironvaliant": "fairy|hadronengine|choicescarf|naive|0,4,0,252,0,252|closecombat|moonblast|thunderbolt|zenheadbutt", - "gholdengo": "steel|primordialsea|leftovers|modest|252,0,0,156,100,0|makeitrain|recover|shadowball|thunder", - "cinderace": "fire|orichalcumpulse|choiceband|jolly|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn", - "ironmoth": "fire|desolateland|heavydutyboots|timid|0,0,0,164,92,252|discharge|fierydance|morningsun|uturn", - "florgeswhite": "fairy|unaware|leftovers|bold|252,0,252,4,0,0|calmmind|moonblast|protect|wish" - } - ], - "chienpao|greattusk|gholdengo|skeledirge|chiyu|clodsire": [ - { - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|swordsdance", - "greattusk": "ground|regenerator|heavydutyboots|impish|252,4,252,0,0,0|earthquake|knockoff|rapidspin|stealthrock", - "gholdengo": "steel|levitate|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|recover|shadowball", - "skeledirge": "fire|goodasgold|heavydutyboots|bold|252,0,236,0,0,20|hex|slackoff|torchsong|willowisp", - "chiyu": "dark|desolateland|heavydutyboots|timid|0,0,0,252,4,252|darkpulse|fireblast|nastyplot|psychic", - "clodsire": "poison|vesselofruin|heavydutyboots|careful|252,0,4,0,252,0|earthquake|recover|spikes|toxic" - } - ], - "corviknight|magnezone|rotomwash|ironjugulis|sandyshocks|toedscruel": [ - { - "corviknight": "flying|drizzle|damprock|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn", - "magnezone": "electric|eartheater|choicescarf|timid|0,0,0,252,4,252|explosion|flashcannon|thunder|voltswitch", - "rotomwash": "electric|hadronengine|assaultvest|modest|0,0,0,252,252,0|hydropump|shadowball|thunder|voltswitch", - "ironjugulis": "dark|swiftswim|choicespecs|modest|0,0,0,252,4,252|darkpulse|hurricane|hydropump|uturn", - "sandyshocks": "electric|noguard|choicescarf|modest|0,0,4,252,0,252|earthpower|powergem|voltswitch|zapcannon", - "toedscruel": "ground|raindish|leftovers|calm|4,0,0,0,252,252|leechseed|protect|raindance|toxic" - } - ], - "scizor|scyther|clodsire|roaringmoon|rotomwash|greattusk": [ - { - "scizor": "fighting|technician|choicescarf|jolly|0,252,0,0,4,252|closecombat|ironhead|pounce|uturn", - "scyther": "fighting|technician|eviolite|adamant|0,252,0,0,4,252|aerialace|agility|closecombat|swordsdance", - "clodsire": "water|unaware|covertcloak|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic", - "roaringmoon": "fairy|protosynthesis|heavydutyboots|jolly|252,0,0,0,152,104|crunch|earthquake|roost|uturn", - "rotomwash": "ground|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|thunderwave|voltswitch", - "greattusk": "fighting|protosynthesis|assaultvest|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin" - } - ], - "slowbro|ironmoth|ironvaliant|irontreads|rotomheat|garganacl": [ - { - "slowbro": "water|unaware|leftovers|calm|252,0,4,0,252,0|bodypress|calmmind|irondefense|storedpower", - "ironmoth": "fire|desolateland|choicescarf|timid|0,0,0,252,4,252|discharge|fierydance|overheat|sludgewave", - "ironvaliant": "fairy|sheerforce|lifeorb|timid|0,0,0,252,4,252|focusblast|moonblast|shadowball|thunderbolt", - "irontreads": "ground|regenerator|assaultvest|careful|252,0,0,0,252,4|earthquake|knockoff|rapidspin|voltswitch", - "rotomheat": "electric|waterabsorb|heavydutyboots|calm|252,0,4,0,252,0|discharge|overheat|voltswitch|willowisp", - "garganacl": "rock|levitate|leftovers|impish|252,4,252,0,0,0|bodypress|protect|saltcure|stealthrock" - } - ], - "meowscarada|cinderace|greninja|greattusk|garganacl|corviknight": [ - { - "meowscarada": "grass|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "cinderace": "fire|libero|heavydutyboots|jolly|4,252,0,0,0,252|courtchange|highjumpkick|pyroball|suckerpunch", - "greninja": "water|protean|choicespecs|timid|4,0,0,252,0,252|grassknot|hydropump|icebeam|uturn", - "greattusk": "water|protosynthesis|leftovers|impish|244,16,204,0,0,44|bulkup|earthquake|knockoff|rapidspin", - "garganacl": "fairy|purifyingsalt|leftovers|impish|248,0,196,0,56,8|protect|recover|saltcure|stealthrock", - "corviknight": "fairy|mirrorarmor|leftovers|careful|248,0,8,0,252,0|bravebird|bulkup|defog|roost" - } - ], - "greninja|gholdengo|clodsire|chienpao|greattusk|ironmoth": [ - { - "greninja": "ghost|protean|focussash|timid|0,0,4,252,0,252|darkpulse|spikes|taunt|toxicspikes", - "gholdengo": "steel|goodasgold|covertcloak|bold|252,0,252,0,4,0|makeitrain|nastyplot|recover|shadowball", - "clodsire": "grass|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|crunch|iciclecrash|sacredsword|suckerpunch", - "greattusk": "steel|protosynthesis|assaultvest|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "ironmoth": "grass|quarkdrive|choicescarf|modest|0,0,0,252,4,252|energyball|flamethrower|overheat|sludgewave" - }, - { - "greninja": "ghost|protean|focussash|timid|0,0,4,252,0,252|darkpulse|spikes|taunt|toxicspikes", - "gholdengo": "steel|goodasgold|covertcloak|bold|252,0,252,0,4,0|makeitrain|nastyplot|recover|shadowball", - "clodsire": "grass|unaware|leftovers|careful|252,0,4,0,252,0|earthquake|recover|stealthrock|toxic", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|crunch|iciclecrash|sacredsword|suckerpunch", - "greattusk": "ground|protosynthesis|expertbelt|adamant|0,252,4,0,0,252|closecombat|headlongrush|knockoff|rapidspin", - "ironmoth": "grass|quarkdrive|choicescarf|modest|0,0,0,252,4,252|energyball|flamethrower|overheat|sludgewave" - } - ], - "garganacl|glimmora|garchomp|ironthorns|tyranitar|irontreads": [ - { - "garganacl": "rock|sandstream|smoothrock|careful|252,4,98,0,154,0|bodypress|irondefense|recover|saltcure", - "glimmora": "rock|sandrush|choicespecs|modest|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave", - "garchomp": "dragon|sandforce|choicescarf|jolly|0,252,0,0,4,252|earthquake|ironhead|liquidation|stoneedge", - "ironthorns": "rock|eartheater|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|pinmissile|rockblast", - "tyranitar": "rock|sheerforce|lifeorb|modest|252,0,0,252,4,0|earthpower|flamethrower|icebeam|thunderbolt", - "irontreads": "ground|goodasgold|focussash|jolly|0,252,0,0,4,252|earthquake|knockoff|rapidspin|stealthrock" - } - ], - "ironmoth|heracross|corviknight|houndstone|polteageistantique|garchomp": [ - { - "ironmoth": "fire|serenegrace|assaultvest|timid|0,0,0,252,4,252|airslash|discharge|fierydance|hurricane", - "heracross": "bug|technician|loadeddice|jolly|0,252,0,0,4,252|pinmissile|rockblast|swordsdance|trailblaze", - "corviknight": "flying|goodasgold|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn", - "houndstone": "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|shadowsneak|trick|willowisp", - "polteageistantique": "ghost|psychicsurge|focussash|timid|0,0,0,252,4,252|psyshock|shadowball|shellsmash|storedpower", - "garchomp": "dragon|toxicdebris|focussash|jolly|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock" - } - ], - "baxcalibur|slowking|frosmoth|glimmora|kingambit|corviknight": [ - { - "baxcalibur": "ice|icebody|leftovers|careful|248,0,0,0,252,8|dragondance|glaiverush|iceshard|iciclecrash", - "slowking": "fighting|regenerator|leftovers|bold|248,0,252,0,8,0|chillingwater|chillyreception|futuresight|slackoff", - "frosmoth": "fire|icescales|heavydutyboots|timid|252,0,0,4,0,252|gigadrain|icebeam|quiverdance|terablast", - "glimmora": "rock|toxicdebris|choicescarf|timid|0,0,4,252,0,252|dazzlinggleam|mortalspin|powergem|stealthrock", - "kingambit": "flying|supremeoverlord|blackglasses|adamant|252,252,0,0,0,4|ironhead|kowtowcleave|suckerpunch|swordsdance", - "corviknight": "flying|pressure|rockyhelmet|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn" - } - ], - "breloom|slowking|hatterene|garchomp|clawitzer|corviknight": [ - { - "breloom": "fire|technician|loadeddice|brave|252,252,4,0,0,0|bulletseed|closecombat|machpunch|terablast", - "slowking": "water|regenerator|heavydutyboots|serious|252,0,52,0,144,60|chillyreception|futuresight|surf|trickroom", - "hatterene": "water|magicbounce|focussash|sassy|252,4,0,0,252,0|drainingkiss|healingwish|nuzzle|trickroom", - "garchomp": "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|brickbreak|earthquake|outrage|stealthrock", - "clawitzer": "dark|megalauncher|choicespecs|quiet|252,0,0,252,4,0|aurasphere|darkpulse|hydropump|icebeam", - "corviknight": "fairy|pressure|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn" - } - ], - "hatterene|pelipper|floatzel|greninja|amoonguss|irontreads": [ - { - "hatterene": "water|magicbounce|ejectbutton|bold|252,0,252,4,0,0|calmmind|drainingkiss|nuzzle|psyshock", - "pelipper": "water|drizzle|damprock|bold|248,0,252,8,0,0|chillingwater|hurricane|roost|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|icespinner|liquidation|lowkick|wavecrash", - "greninja": "water|battlebond|loadeddice|modest|0,0,0,252,4,252|darkpulse|hydropump|icebeam|watershuriken", - "amoonguss": "steel|regenerator|blacksludge|bold|252,0,216,0,40,0|clearsmog|gigadrain|spore|synthesis", - "irontreads": "fairy|quarkdrive|leftovers|jolly|252,4,0,0,0,252|earthquake|rapidspin|stealthrock|voltswitch" - } - ], - "garganacl|dondozo|clodsire|skeledirge|amoonguss|corviknight": [ - { - "garganacl": "ghost|purifyingsalt|leftovers|impish|252,4,252,0,0,0|curse|recover|saltcure|stealthrock", - "dondozo": "grass|unaware|leftovers|impish|252,0,252,0,4,0|bodypress|liquidation|rest|sleeptalk", - "clodsire": "water|unaware|leftovers|careful|248,0,8,0,252,0|earthquake|recover|spikes|toxic", - "skeledirge": "fairy|unaware|heavydutyboots|calm|248,0,0,8,252,0|hex|slackoff|torchsong|willowisp", - "amoonguss": "water|regenerator|rockyhelmet|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore", - "corviknight": "ground|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn" - } - ], - "dragapult|corviknight|quaquaval|chienpao|volcarona|clodsire": [ - { - "dragapult": "dragon|infiltrator|choicespecs|jolly|0,252,0,0,4,252|dracometeor|flamethrower|shadowball|thunderbolt", - "corviknight": "flying|mirrorarmor|leftovers|impish|248,0,252,0,8,0|bodypress|defog|roost|uturn", - "quaquaval": "water|moxie|clearamulet|jolly|0,252,0,0,4,252|closecombat|liquidation|rapidspin|swordsdance", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|gigadrain|morningsun|quiverdance", - "clodsire": "poison|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|toxic|waterfall" - } - ], - "baxcalibur|slowking|magnezone|talonflame|clodsire|chienpao": [ - { - "baxcalibur": "dragon|thermalexchange|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclecrash", - "slowking": "psychic|regenerator|heavydutyboots|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff", - "magnezone": "fire|magnetpull|leftovers|bold|248,0,0,252,0,0|flashcannon|substitute|terablast|voltswitch", - "talonflame": "grass|flamebody|heavydutyboots|bold|252,0,252,0,0,0|defog|roost|uturn|willowisp", - "clodsire": "dark|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|spikes|toxicspikes", - "chienpao": "ice|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword" - } - ], - "greattusk": [ - { - "greattusk": "steel|protosynthesis|focussash|jolly|0,252,0,0,4,252|closecombat|headsmash|knockoff|rapidspin" - } - ], - "slowking": [ - { - "slowking": "fairy|regenerator|colburberry|calm|252,0,56,0,200,0|chillingwater|chillyreception|slackoff|thunderwave" - } - ], - "baxcalibur|slowking|gholdengo|talonflame|greattusk|chienpao": [ - { - "baxcalibur": "dragon|thermalexchange|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|glaiverush|iciclecrash", - "slowking": "fairy|regenerator|colburberry|calm|252,0,56,0,200,0|chillingwater|chillyreception|slackoff|thunderwave", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "talonflame": "grass|flamebody|heavydutyboots|bold|252,0,252,0,0,0|defog|roost|uturn|willowisp", - "greattusk": "ground|protosynthesis|leftovers|impish|252,0,192,0,0,52|earthquake|knockoff|rapidspin|stealthrock", - "chienpao": "ice|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword" - } - ], - "taurospaldeaaqua|gengar|dragapult|cinderace|rotomwash|tinglu": [ - { - "taurospaldeaaqua": "water|intimidate|leftovers|impish|248,8,252,0,0,0|aquajet|bodypress|protect|ragingbull", - "gengar": "fighting|cursedbody|leftovers|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|substitute", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "cinderace": "poison|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|pyroball|suckerpunch|uturn", - "rotomwash": "ghost|levitate|sitrusberry|bold|252,0,252,4,0,0|hydropump|thief|voltswitch|willowisp", - "tinglu": "poison|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|spikes|stealthrock|whirlwind" - } - ], - "skeledirge|meowscarada|quaquaval|garchomp|garganacl|gholdengo": [ - { - "skeledirge": "fire|unaware|metronome|modest|248,0,0,252,0,0|shadowball|slackoff|torchsong|yawn", - "meowscarada": "grass|protean|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|playrough|uturn", - "quaquaval": "water|moxie|leftovers|impish|200,16,180,0,0,112|aquastep|bulkup|closecombat|roost", - "garchomp": "fire|roughskin|rockyhelmet|naive|0,252,0,4,0,252|earthquake|outrage|swordsdance|terablast", - "garganacl": "fighting|purifyingsalt|leftovers|adamant|252,252,0,0,4,0|bodypress|earthquake|heavyslam|irondefense", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|flashcannon|makeitrain|shadowball" - } - ], - "sandyshocks|roaringmoon|corviknight|hatterene|ironvaliant|volcarona": [ - { - "sandyshocks": "ground|protosynthesis|choicespecs|timid|0,0,4,252,0,252|earthpower|spikes|thunderbolt|voltswitch", - "roaringmoon": "steel|protosynthesis|choicescarf|jolly|0,252,4,0,0,252|crunch|ironhead|outrage|uturn", - "corviknight": "flying|pressure|safetygoggles|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn", - "hatterene": "water|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|nuzzle|storedpower", - "ironvaliant": "steel|quarkdrive|choiceband|jolly|0,252,4,0,0,252|closecombat|knockoff|spiritbreak|trick", - "volcarona": "grass|flamebody|heavydutyboots|timid|248,0,108,0,0,152|fierydance|gigadrain|morningsun|quiverdance" - } - ], - "chienpao|garchomp|greattusk|kingambit|meowscarada|gholdengo": [ - { - "chienpao": "dark|swordofruin|blackglasses|adamant|0,252,0,0,4,252|crunch|icespinner|sacredsword|suckerpunch", - "garchomp": "fire|roughskin|lifeorb|rash|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock", - "greattusk": "fire|protosynthesis|leftovers|impish|248,8,192,0,0,60|bulkup|earthquake|knockoff|rapidspin", - "kingambit": "fairy|supremeoverlord|lumberry|adamant|100,252,0,0,4,152|ironhead|kowtowcleave|suckerpunch|swordsdance", - "meowscarada": "fairy|overgrow|focussash|hasty|0,4,0,252,0,252|knockoff|leafstorm|spikes|taunt", - "gholdengo": "fairy|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball" - } - ], - "masquerain|gholdengo|ironvaliant|greattusk|kingambit|dragonite": [ - { - "masquerain": "ghost|intimidate|focussash|timid|0,0,0,252,4,252|hurricane|icebeam|quiverdance|stickyweb", - "gholdengo": "flying|goodasgold|covertcloak|modest|176,0,0,252,12,68|makeitrain|nastyplot|recover|shadowball", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|trick", - "greattusk": "water|protosynthesis|heavydutyboots|timid|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "kingambit": "fire|supremeoverlord|leftovers|adamant|112,252,0,0,0,144|ironhead|kowtowcleave|suckerpunch|swordsdance", - "dragonite": "water|multiscale|rockyhelmet|impish|252,4,252,0,0,0|bodypress|icespinner|roost|stoneedge" - } - ], - "cyclizar|polteageist|baxcalibur|hatterene|sandyshocks|houndstone": [ - { - "cyclizar": "dragon|armortail|sitrusberry|jolly|252,0,0,0,4,252|knockoff|rapidspin|shedtail|uturn", - "polteageist": "ghost|psychicsurge|focussash|timid|0,0,0,252,4,252|gigadrain|shadowball|shellsmash|storedpower", - "baxcalibur": "dragon|technician|loadeddice|jolly|0,252,0,0,4,252|bite|dragondance|iceshard|iciclespear", - "hatterene": "psychic|triage|choicespecs|modest|252,0,0,252,0,4|drainingkiss|mysticalfire|psyshock|shadowball", - "sandyshocks": "electric|eartheater|choicescarf|timid|0,0,0,252,4,252|discharge|earthpower|stealthrock|voltswitch", - "houndstone": "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|shadowsneak|trick" - } - ], - "greninja|greattusk|indeedee|chienpao|ironhands|gholdengo": [ - { - "greninja": "flying|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|switcheroo", - "greattusk": "ground|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "indeedee": "fighting|psychicsurge|lifeorb|timid|0,0,0,252,4,252|encore|psychic|shadowball|terablast", - "chienpao": "poison|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword", - "ironhands": "flying|quarkdrive|punchingglove|adamant|248,252,0,0,8,0|drainpunch|earthquake|swordsdance|thunderpunch", - "gholdengo": "fighting|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball" - } - ], - "greattusk|pelipper|floatzel|kingambit|taurospaldeaaqua|amoonguss": [ - { - "greattusk": "ground|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "pelipper": "water|drizzle|damprock|relaxed|248,8,252,0,0,0|hurricane|knockoff|roost|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|aquajet|icespinner|liquidation|wavecrash", - "kingambit": "flying|supremeoverlord|heavydutyboots|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|stealthrock|suckerpunch", - "taurospaldeaaqua": "fighting|intimidate|leftovers|jolly|0,252,0,0,4,252|bulkup|closecombat|ragingbull|zenheadbutt", - "amoonguss": "steel|regenerator|leftovers|calm|248,0,0,8,252,0|clearsmog|foulplay|gigadrain|spore" - } - ], - "gengar|chiyu|cinderace|corviknight|greattusk|hatterene": [ - { - "gengar": "ghost|solarpower|choicespecs|timid|0,0,0,252,4,252|dazzlinggleam|shadowball|sludgebomb|thunderbolt", - "chiyu": "dark|chlorophyll|choicespecs|modest|0,0,0,252,4,252|darkpulse|flamethrower|overheat|psychic", - "cinderace": "fire|orichalcumpulse|heatrock|jolly|0,252,0,0,4,252|courtchange|gunkshot|pyroball|uturn", - "corviknight": "flying|wellbakedbody|leftovers|careful|252,4,0,0,252,0|bodypress|bravebird|bulkup|roost", - "greattusk": "ground|regenerator|leftovers|careful|252,0,4,0,252,0|bulkup|closecombat|earthquake|rapidspin", - "hatterene": "psychic|triage|lifeorb|modest|252,0,0,252,4,0|calmmind|drainingkiss|gigadrain|psyshock" - } - ], - "greninja|slowking|cetitan|dragonite|pawmot|orthworm": [ - { - "greninja": "water|protean|choicespecs|timid|4,0,0,252,0,252|blizzard|darkpulse|grassknot|hydropump", - "slowking": "water|regenerator|icyrock|sassy|252,0,200,0,56,0|chillyreception|futuresight|slackoff|thunderwave", - "cetitan": "fairy|slushrush|sitrusberry|adamant|4,252,76,0,0,176|bellydrum|earthquake|icespinner|playrough", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,4,0,0,252|dragondance|earthquake|extremespeed|firepunch", - "pawmot": "flying|naturalcure|leppaberry|jolly|252,4,0,0,0,252|nuzzle|rest|revivalblessing|voltswitch", - "orthworm": "ghost|eartheater|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock" - } - ], - "klawf|crabominable|spidops|orthworm|gholdengo|roaringmoon": [ - { - "klawf": "fairy|angershell|loadeddice|jolly|0,252,0,0,4,252|highhorsepower|rockblast|swordsdance|terablast", - "crabominable": "steel|ironfist|punchingglove|adamant|0,252,52,0,0,204|bulkup|drainpunch|icepunch|thunderpunch", - "spidops": "ghost|insomnia|redcard|impish|248,0,244,0,0,16|circlethrow|memento|spikes|stickyweb", - "orthworm": "ghost|eartheater|sitrusberry|careful|248,0,8,0,252,0|bodypress|heavyslam|shedtail|stealthrock", - "gholdengo": "flying|goodasgold|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|makeitrain|shadowball|trick", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|crunch|dragonclaw|dragondance" - } - ], - "garganacl|gholdengo|greattusk|rotomheat|dondozo|chienpao": [ - { - "garganacl": "water|purifyingsalt|leftovers|careful|252,0,4,0,252,0|bodypress|irondefense|recover|saltcure", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|trick", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "rotomheat": "fairy|levitate|heavydutyboots|bold|248,0,252,0,0,8|nastyplot|overheat|terablast|voltswitch", - "dondozo": "grass|unaware|leftovers|careful|252,0,4,0,252,0|bodypress|curse|liquidation|protect", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|crunch|iciclecrash|suckerpunch|swordsdance" - } - ], - "garchomp|corviknight|slitherwing|ironmoth|toxapex|quaquaval": [ - { - "garchomp": "dragon|toxicdebris|focussash|jolly|252,4,0,0,0,252|dragontail|earthquake|spikes|stealthrock", - "corviknight": "flying|wellbakedbody|leftovers|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn", - "slitherwing": "bug|adaptability|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|flareblitz|uturn", - "ironmoth": "fire|desolateland|choicescarf|timid|0,0,0,252,4,252|fierydance|overheat|sludgewave|solarbeam", - "toxapex": "poison|corrosion|blacksludge|careful|252,0,4,0,252,0|banefulbunker|chillingwater|recover|toxic", - "quaquaval": "water|merciless|choiceband|jolly|0,252,0,0,4,252|aquastep|closecombat|icespinner|uturn" - } - ], - "wochien|skeledirge|toxapex|greattusk|kingambit|glimmora": [ - { - "wochien": "fairy|tabletsofruin|leftovers|calm|248,0,8,0,252,0|darkpulse|gigadrain|leechseed|protect", - "skeledirge": "water|unaware|heavydutyboots|calm|248,0,8,0,252,0|hex|slackoff|torchsong|willowisp", - "toxapex": "grass|regenerator|rockyhelmet|bold|248,0,252,8,0,0|chillingwater|haze|recover|toxic", - "greattusk": "water|protosynthesis|leftovers|impish|248,0,252,0,8,0|earthquake|knockoff|rapidspin|stealthrock", - "kingambit": "flying|supremeoverlord|leftovers|adamant|232,48,32,0,180,16|ironhead|kowtowcleave|suckerpunch|swordsdance", - "glimmora": "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|powergem|sludgewave" - } - ], - "greninja|pelipper|floatzel|amoonguss|irontreads|kingambit": [ - { - "greninja": "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|hydropump|icebeam", - "pelipper": "dark|drizzle|damprock|bold|248,0,252,0,8,0|hurricane|roost|surf|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|112,252,0,0,0,144|aquajet|icespinner|liquidation|wavecrash", - "amoonguss": "water|regenerator|ejectbutton|bold|252,0,252,0,0,4|foulplay|gigadrain|sludgebomb|spore", - "irontreads": "ground|quarkdrive|boosterenergy|jolly|0,196,0,0,60,252|earthquake|knockoff|rapidspin|stealthrock", - "kingambit": "dark|supremeoverlord|blackglasses|adamant|96,252,0,0,0,160|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ], - "chienpao|slowbro|dragonite|clodsire|magnezone|cinderace": [ - { - "chienpao": "dark|dazzling|choicescarf|adamant|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "slowbro": "water|unaware|leftovers|bold|252,0,252,0,4,0|calmmind|psychic|slackoff|surf", - "dragonite": "dragon|aerilate|sharpbeak|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "clodsire": "poison|regenerator|blacksludge|calm|252,0,0,4,252,0|earthquake|recover|stealthrock|toxic", - "magnezone": "electric|magicguard|lifeorb|modest|252,0,0,252,4,0|steelbeam|thunderbolt|thunderwave|voltswitch", - "cinderace": "fire|desolateland|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn" - } - ], - "rotomwash": [ - { - "rotomwash": "poison|levitate|blacksludge|bold|248,0,252,0,8,0|hydropump|thunderbolt|trick|voltswitch" - } - ], - "haxorus|quaquaval|volcarona|orthworm|skeledirge|gholdengo": [ - { - "haxorus": "electric|moldbreaker|lifeorb|adamant|4,252,0,0,0,252|dragondance|earthquake|ironhead|terablast", - "quaquaval": "water|moxie|heavydutyboots|jolly|0,252,0,0,4,252|aquastep|closecombat|icespinner|rapidspin", - "volcarona": "grass|flamebody|heavydutyboots|modest|0,0,0,252,4,252|bugbuzz|fierydance|gigadrain|quiverdance", - "orthworm": "steel|eartheater|sitrusberry|careful|248,0,8,0,252,0|bodypress|coil|ironhead|shedtail", - "skeledirge": "fairy|unaware|leftovers|calm|148,0,104,4,252,0|hex|slackoff|torchsong|willowisp", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick" - } - ], - "haunter|pawmot|corviknight|clodsire|cinderace|greninja": [ - { - "haunter": "ghost|levitate|choicescarf|timid|0,0,0,252,4,252|destinybond|shadowball|sludgebomb|trick", - "pawmot": "electric|ironfist|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|icepunch|revivalblessing", - "corviknight": "flying|mirrorarmor|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn", - "clodsire": "poison|unaware|blacksludge|careful|252,4,0,0,252,0|earthquake|recover|spikes|stealthrock", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|highjumpkick|pyroball|suckerpunch|uturn", - "greninja": "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|icebeam|surf" - } - ], - "maushold|garchomp|ironvaliant|rotomwash|meowscarada|ceruledge": [ - { - "maushold": "dark|technician|widelens|jolly|0,252,0,0,4,252|beatup|encore|populationbomb|tidyup", - "garchomp": "steel|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,0,252,4,252|moonblast|psyshock|shadowball|thunderbolt", - "rotomwash": "steel|levitate|leftovers|bold|240,0,212,0,0,56|hydropump|protect|voltswitch|willowisp", - "meowscarada": "poison|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|thunderpunch|uturn", - "ceruledge": "fairy|flashfire|heavydutyboots|careful|252,0,0,0,200,56|bitterblade|bulkup|shadowsneak|taunt" - } - ], - "greninja|gholdengo|tinglu|chienpao|corviknight|rotomwash": [ - { - "greninja": "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|icebeam|surf", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "tinglu": "poison|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "chienpao": "dark|swordofruin|heavydutyboots|adamant|0,252,4,0,0,252|crunch|icespinner|sacredsword|suckerpunch", - "corviknight": "water|mirrorarmor|rockyhelmet|impish|248,0,252,0,8,0|bravebird|defog|roost|uturn", - "rotomwash": "steel|levitate|choicescarf|timid|252,0,4,0,0,252|hydropump|trick|voltswitch|willowisp" - } - ], - "greninja|cinderace|pelipper|floatzel|dondozo|amoonguss": [ - { - "greninja": "water|protean|choicescarf|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|uturn", - "cinderace": "fire|libero|heavydutyboots|jolly|0,252,0,0,4,252|courtchange|highjumpkick|pyroball|uturn", - "pelipper": "water|drizzle|damprock|modest|248,0,0,252,8,0|hurricane|icebeam|surf|uturn", - "floatzel": "water|swiftswim|mysticwater|adamant|0,252,0,0,4,252|aquajet|bulkup|icespinner|wavecrash", - "dondozo": "fairy|unaware|leftovers|impish|252,4,252,0,0,0|curse|protect|wavecrash|yawn", - "amoonguss": "grass|regenerator|blacksludge|sassy|252,0,0,4,252,0|gigadrain|protect|spore|stompingtantrum" - } - ], - "chienpao|dondozo|clodsire|greattusk|garchomp|gholdengo": [ - { - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|crunch|iceshard|iciclecrash|suckerpunch", - "dondozo": "dark|unaware|leftovers|impish|252,4,252,0,0,0|bodypress|curse|rest|wavecrash", - "clodsire": "normal|waterabsorb|heavydutyboots|careful|248,8,0,0,252,0|earthquake|recover|spikes|toxic", - "greattusk": "water|protosynthesis|leftovers|impish|252,4,252,0,0,0|bodypress|knockoff|rapidspin|stealthrock", - "garchomp": "fire|roughskin|rockyhelmet|jolly|252,0,0,0,4,252|dragontail|earthquake|endure|spikes", - "gholdengo": "flying|goodasgold|covertcloak|modest|224,0,0,252,4,28|focusblast|makeitrain|recover|shadowball" - } - ], - "meowscarada|chienpao|garchomp|quaquaval|gholdengo|dragonite": [ - { - "meowscarada": "ghost|overgrow|focussash|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|taunt", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|iciclecrash|sacredsword", - "garchomp": "ghost|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|stealthrock", - "quaquaval": "water|torrent|leftovers|impish|248,0,240,0,0,20|aquastep|rapidspin|roost|uturn", - "gholdengo": "fighting|goodasgold|airballoon|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball", - "dragonite": "normal|multiscale|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|extremespeed|hurricane" - } - ], - "glaceon|slowking|kingambit|greattusk|dragapult|taurospaldeablaze": [ - { - "glaceon": "ice|icebody|choicespecs|modest|0,0,0,252,0,252|blizzard|chillingwater|freezedry|shadowball", - "slowking": "water|regenerator|leftovers|calm|252,0,0,4,252,0|chillingwater|chillyreception|futuresight|slackoff", - "kingambit": "dark|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "greattusk": "fighting|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "taurospaldeablaze": "fighting|intimidate|heavydutyboots|impish|252,4,252,0,0,0|bodypress|protect|ragingbull|willowisp" - } - ], - "garganacl|greattusk|gholdengo|vaporeon|farigiraf|ironhands": [ - { - "garganacl": "rock|sandstream|leftovers|impish|252,0,144,0,112,0|protect|recover|saltcure|stealthrock", - "greattusk": "ground|regenerator|rockyhelmet|impish|252,40,120,0,0,96|bodypress|headlongrush|knockoff|rapidspin", - "gholdengo": "steel|eartheater|choicescarf|timid|16,0,0,240,0,252|makeitrain|psyshock|shadowball|trick", - "vaporeon": "water|unaware|leftovers|bold|200,0,252,0,56,0|calmmind|icebeam|protect|wish", - "farigiraf": "normal|grassysurge|assaultvest|sassy|200,0,56,0,252,0|facade|foulplay|futuresight|mirrorcoat", - "ironhands": "fighting|harvest|sitrusberry|adamant|4,236,248,0,0,20|focuspunch|icepunch|substitute|wildcharge" - } - ], - "orthworm|houndstone|baxcalibur|spidops|lucario|greattusk": [ - { - "orthworm": "steel|regenerator|sitrusberry|impish|252,4,252,0,0,0|bodypress|heavyslam|shedtail|stealthrock", - "houndstone": "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|icefang|lastrespects|playrough|shadowsneak", - "baxcalibur": "dragon|technician|loadeddice|adamant|0,252,0,0,4,252|dragondance|earthquake|iceshard|iciclespear", - "spidops": "bug|prankster|focussash|jolly|252,0,4,0,0,252|circlethrow|memento|stickyweb|taunt", - "lucario": "fighting|magicguard|lifeorb|modest|0,0,0,252,4,252|agility|focusblast|nastyplot|steelbeam", - "greattusk": "ground|intimidate|leftovers|impish|252,4,252,0,0,0|earthquake|icespinner|knockoff|rapidspin" - } - ], - "dragonite|ironmoth|ironhands|houndstone|sandyshocks|screamtail": [ - { - "dragonite": "dragon|aerilate|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|extremespeed|icespinner|thunderpunch", - "ironmoth": "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|agility|fierydance|sludgewave|uturn", - "ironhands": "fighting|triage|sitrusberry|adamant|116,252,0,0,0,140|bellydrum|drainpunch|earthquake|thunderpunch", - "houndstone": "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|trick|willowisp", - "sandyshocks": "electric|hadronengine|focussash|timid|0,0,0,252,4,252|earthpower|spikes|stealthrock|thunderbolt", - "screamtail": "fairy|stamina|leftovers|timid|252,0,192,0,0,64|calmmind|dazzlinggleam|storedpower|wish" - } - ], - "greattusk|ironjugulis|armarouge|drednaw|ironmoth|gholdengo": [ - { - "greattusk": "ground|intimidate|leftovers|impish|252,0,252,0,0,4|earthquake|knockoff|rapidspin|stealthrock", - "ironjugulis": "dark|regenerator|heavydutyboots|timid|252,0,0,0,64,192|earthpower|knockoff|taunt|uturn", - "armarouge": "fire|psychicsurge|choicescarf|timid|0,0,0,252,4,252|armorcannon|expandingforce|shadowball|trick", - "drednaw": "water|magicguard|lifeorb|adamant|0,252,0,0,4,252|earthquake|headsmash|liquidation|shellsmash", - "ironmoth": "fire|desolateland|heavydutyboots|modest|72,0,0,252,0,184|discharge|fierydance|morningsun|solarbeam", - "gholdengo": "steel|unaware|airballoon|timid|0,0,0,252,4,252|hex|makeitrain|shadowball|thunderwave" - } - ], - "appletun|greattusk|clodsire|gholdengo|chienpao|hydreigon": [ - { - "appletun": "fairy|thickfat|covertcloak|relaxed|248,0,252,0,8,0|appleacid|earthquake|leechseed|recover", - "greattusk": "water|protosynthesis|leftovers|jolly|252,0,120,0,0,136|bulkup|earthquake|knockoff|rapidspin", - "clodsire": "dark|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,4,252,0,252|focusblast|makeitrain|shadowball|trick", - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,0,0,4,252|crunch|iciclecrash|suckerpunch|swordsdance", - "hydreigon": "steel|levitate|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|flashcannon|uturn" - } - ], - "greattusk|clodsire|rotomwash|dragapult|ironvaliant|gholdengo": [ - { - "greattusk": "water|protosynthesis|leftovers|impish|252,0,248,0,0,8|earthquake|knockoff|rapidspin|stealthrock", - "clodsire": "dark|unaware|blacksludge|careful|252,0,0,0,252,4|earthquake|recover|spikes|toxic", - "rotomwash": "steel|levitate|leftovers|bold|252,0,236,0,0,20|hydropump|protect|voltswitch|willowisp", - "dragapult": "ghost|infiltrator|choiceband|jolly|0,252,4,0,0,252|dragondarts|suckerpunch|terablast|uturn", - "ironvaliant": "fairy|quarkdrive|choicespecs|timid|0,0,4,252,0,252|aurasphere|moonblast|psyshock|thunderbolt", - "gholdengo": "flying|goodasgold|covertcloak|modest|184,0,0,252,0,72|makeitrain|nastyplot|recover|shadowball" - } - ], - "pelipper|magnezone|screamtail|tyranitar|tsareena|barraskewda": [ - { - "pelipper": "ground|drizzle|heavydutyboots|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "magnezone": "fire|magnetpull|choicescarf|timid|0,0,4,252,0,252|flashcannon|terablast|thunder|voltswitch", - "screamtail": "fairy|protosynthesis|leftovers|bold|252,0,140,0,116,0|dazzlinggleam|encore|stealthrock|wish", - "tyranitar": "ghost|sandstream|assaultvest|impish|252,0,176,0,80,0|bodypress|earthquake|foulplay|stoneedge", - "tsareena": "steel|queenlymajesty|heavydutyboots|jolly|252,44,0,0,0,212|powerwhip|rapidspin|synthesis|uturn", - "barraskewda": "water|swiftswim|lifeorb|adamant|0,252,4,0,0,252|aquajet|closecombat|crunch|liquidation" - } - ], - "ceruledge|greninja|ironhands|rotomwash|gholdengo|corviknight": [ - { - "ceruledge": "fire|flashfire|choicescarf|naive|4,252,0,0,0,252|closecombat|destinybond|flareblitz|shadowsneak", - "greninja": "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|switcheroo", - "ironhands": "flying|quarkdrive|punchingglove|adamant|248,252,0,0,8,0|drainpunch|earthquake|swordsdance|thunderpunch", - "rotomwash": "fire|levitate|leftovers|bold|252,0,4,252,0,0|discharge|hydropump|voltswitch|willowisp", - "gholdengo": "steel|goodasgold|airballoon|timid|0,0,0,252,4,252|makeitrain|nastyplot|recover|shadowball", - "corviknight": "flying|pressure|leftovers|careful|248,8,0,0,252,0|bravebird|bulkup|roost|uturn" - } - ], - "sandyshocks|chienpao|gholdengo|hatterene|tinglu|talonflame": [ - { - "sandyshocks": "electric|noguard|assaultvest|timid|0,0,0,252,4,252|earthpower|mirrorcoat|voltswitch|zapcannon", - "chienpao": "dark|queenlymajesty|choiceband|jolly|0,252,0,0,4,252|crunch|icespinner|psychicfangs|sacredsword", - "gholdengo": "steel|eartheater|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "hatterene": "psychic|triage|leftovers|modest|252,0,0,252,4,0|calmmind|drainingkiss|mysticalfire|psyshock", - "tinglu": "dark|regenerator|leftovers|relaxed|252,4,252,0,0,0|earthquake|ruination|stealthrock|whirlwind", - "talonflame": "fire|magicguard|lifeorb|jolly|0,252,0,0,4,252|bravebird|defog|flareblitz|roost" - } - ], - "ironhands|cryogonal|taurospaldeablaze|ironthorns|pincurchin|pawmot": [ - { - "ironhands": "fighting|quarkdrive|punchingglove|brave|248,252,0,8,0,0|drainpunch|earthquake|swordsdance|thunderpunch", - "cryogonal": "poison|levitate|lightclay|timid|0,0,0,252,4,252|freezedry|lightscreen|rapidspin|reflect", - "taurospaldeablaze": "fighting|intimidate|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|flareblitz|ragingbull", - "ironthorns": "bug|quarkdrive|loadeddice|adamant|0,252,0,0,4,252|dragondance|pinmissile|rockblast|wildcharge", - "pincurchin": "electric|electricsurge|ejectbutton|bold|252,0,252,4,0,0|discharge|memento|thunderwave|toxicspikes", - "pawmot": "electric|naturalcure|leppaberry|jolly|0,252,0,0,4,252|closecombat|doubleshock|nuzzle|revivalblessing" - } - ], - "greninja|cinderace|meowscarada|greattusk|corviknight|garganacl": [ - { - "greninja": "water|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|hydropump|icebeam|uturn", - "cinderace": "fire|blaze|liechiberry|jolly|12,244,0,0,0,252|bulkup|pyroball|substitute|suckerpunch", - "meowscarada": "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|trick|uturn", - "greattusk": "steel|protosynthesis|leftovers|adamant|248,112,84,0,0,64|closecombat|earthquake|knockoff|rapidspin", - "corviknight": "fairy|mirrorarmor|leftovers|careful|248,0,8,0,252,0|bravebird|bulkup|roost|uturn", - "garganacl": "water|purifyingsalt|leftovers|impish|248,0,252,0,8,0|block|recover|saltcure|stealthrock" - } - ], - "chienpao|houndstone|kilowattrel|hatterene|greattusk|greninja": [ - { - "chienpao": "dark|sharpness|choiceband|jolly|0,252,0,0,4,252|iceshard|icespinner|nightslash|sacredsword", - "houndstone": "ghost|supremeoverlord|choicescarf|jolly|0,252,0,0,4,252|lastrespects|playrough|shadowsneak|willowisp", - "kilowattrel": "electric|primordialsea|focussash|timid|0,0,0,252,4,252|hurricane|thunder|voltswitch|weatherball", - "hatterene": "psychic|triage|assaultvest|quiet|252,0,4,252,0,0|drainingkiss|gigadrain|nuzzle|psyshock", - "greattusk": "ground|unaware|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|rapidspin", - "greninja": "water|queenlymajesty|lifeorb|timid|0,0,0,252,4,252|darkpulse|icebeam|surf|uturn" - } - ], - "vivillonfancy|zangoose|toxicroak|chansey|honchkrow|rotomfrost": [ - { - "vivillonfancy": "ground|compoundeyes|heavydutyboots|modest|0,0,0,252,4,252|hurricane|quiverdance|sleeppowder|terablast", - "zangoose": "normal|toxicboost|toxicorb|jolly|0,252,0,0,4,252|closecombat|facade|quickattack|swordsdance", - "toxicroak": "dark|dryskin|choiceband|jolly|0,252,0,0,4,252|closecombat|earthquake|gunkshot|suckerpunch", - "chansey": "ghost|naturalcure|eviolite|bold|248,0,252,0,8,0|seismictoss|softboiled|stealthrock|thunderwave", - "honchkrow": "flying|moxie|lifeorb|hasty|0,252,0,4,0,252|bravebird|heatwave|nightslash|suckerpunch", - "rotomfrost": "ground|levitate|choicescarf|modest|0,0,0,252,4,252|blizzard|thunderbolt|voltswitch|willowisp" - } - ], - "veluza|ampharos|braviary|gogoat|camerupt|delibird": [ - { - "veluza": "water|sharpness|colburberry|adamant|0,252,0,0,4,252|agility|aquacutter|nightslash|psychocut", - "ampharos": "electric|static|magnet|timid|4,0,0,252,0,252|dazzlinggleam|dragonpulse|electroweb|powergem", - "braviary": "normal|defiant|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|rockslide|uturn", - "gogoat": "grass|sapsipper|lifeorb|jolly|108,148,0,0,0,252|aerialace|earthquake|hornleech|rockslide", - "camerupt": "fire|solidrock|leftovers|modest|252,0,0,252,4,0|earthpower|flamethrower|lavaplume|stealthrock", - "delibird": "ice|vitalspirit|heavydutyboots|timid|0,0,0,252,4,252|chillingwater|freezedry|rapidspin|spikes" - } - ], - "sandaconda|drifblim|hattrem|crocalor|chansey|vaporeon": [ - { - "sandaconda": "water|shedskin|rockyhelmet|impish|252,0,216,0,0,40|coil|earthquake|rest|stoneedge", - "drifblim": "fairy|aftermath|heavydutyboots|timid|0,0,252,4,0,252|defog|hex|strengthsap|willowisp", - "hattrem": "fairy|magicbounce|eviolite|bold|248,0,248,0,0,12|nuzzle|psychic|rest|sleeptalk", - "crocalor": "fairy|unaware|eviolite|bold|248,0,112,0,96,52|encore|flamethrower|slackoff|willowisp", - "chansey": "ghost|naturalcure|eviolite|bold|0,0,252,0,252,4|seismictoss|softboiled|stealthrock|thunderwave", - "vaporeon": "dark|waterabsorb|leftovers|bold|252,0,252,0,4,0|calmmind|protect|surf|wish" - } - ], - "lycanroc|morgrem|ursaring|veluza|medicham|oricoriopompom": [ - { - "lycanroc": "ghost|sandrush|focussash|jolly|0,252,4,0,0,252|endeavor|rockblast|stealthrock|taunt", - "morgrem": "ghost|prankster|lightclay|timid|252,0,4,0,0,252|lightscreen|partingshot|reflect|taunt", - "ursaring": "water|guts|eviolite|careful|252,0,4,0,252,0|bodyslam|bulkup|rest|sleeptalk", - "veluza": "fairy|moldbreaker|sitrusberry|bold|252,0,152,0,0,104|filletaway|hydropump|recover|storedpower", - "medicham": "fairy|purepower|lifeorb|hasty|0,252,0,4,0,252|bulkup|closecombat|terablast|trailblaze", - "oricoriopompom": "ground|dancer|heavydutyboots|timid|0,0,0,252,4,252|hurricane|quiverdance|revelationdance|roost" - } - ], - "toedscruel|ironhands|garchomp|dragapult|glimmora|baxcalibur": [ - { - "toedscruel": "steel|myceliummight|sitrusberry|relaxed|252,0,252,4,0,0|knockoff|spikes|spore|trickroom", - "ironhands": "fighting|quarkdrive|sitrusberry|brave|4,252,0,0,252,0|bellydrum|drainpunch|icepunch|thunderpunch", - "garchomp": "water|roughskin|expertbelt|naive|0,4,0,252,0,252|earthquake|fireblast|stealthrock|surf", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|thunderbolt|uturn", - "glimmora": "grass|toxicdebris|choicescarf|modest|0,0,0,252,4,252|earthpower|energyball|powergem|sludgewave", - "baxcalibur": "fairy|thermalexchange|heavydutyboots|jolly|0,252,4,0,0,252|dragondance|earthquake|glaiverush|iciclecrash" - } - ], - "charizardmegay|greattusk|torkoal|venusaur|glimmora|kingambit": [ - { - "charizardmegay": "fire|drought|charizarditey|timid|0,0,0,252,4,252|flamethrower|roost|scorchingsands|solarbeam", - "greattusk": "fighting|protosynthesis|protectivepads|jolly|0,252,0,0,4,252|closecombat|headlongrush|icespinner|rapidspin", - "torkoal": "grass|drought|heatrock|bold|248,0,252,8,0,0|lavaplume|rapidspin|rest|stealthrock", - "venusaur": "fire|chlorophyll|lifeorb|modest|0,0,0,252,4,252|earthpower|gigadrain|growth|weatherball", - "glimmora": "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|powergem|sludgewave", - "kingambit": "dark|supremeoverlord|blackglasses|adamant|212,252,0,0,0,44|ironhead|knockoff|suckerpunch|swordsdance" - } - ], - "hattrem|cacturne|camerupt|hatterene|torkoal|rabsca": [ - { - "hattrem": "steel|magicbounce|eviolite|bold|252,0,252,0,0,4|healingwish|nuzzle|sleeptalk|trickroom", - "cacturne": "fire|waterabsorb|leftovers|quiet|0,252,0,252,0,4|darkpulse|energyball|substitute|suckerpunch", - "camerupt": "ice|solidrock|charcoal|quiet|252,0,0,252,0,0|earthpower|eruption|fireblast|terablast", - "hatterene": "ground|magicbounce|focussash|quiet|252,0,0,252,4,0|dazzlinggleam|healingwish|psyshock|trickroom", - "torkoal": "fire|drought|choicespecs|quiet|248,0,0,252,8,0|earthpower|eruption|lavaplume|solarbeam", - "rabsca": "steel|synchronize|leppaberry|calm|252,0,4,0,252,0|bugbuzz|psychic|revivalblessing|trickroom" - } - ], - "glimmora|greninja|rotomwash|scizor|dragonite|gholdengo": [ - { - "glimmora": "flying|toxicdebris|focussash|timid|0,0,0,252,4,252|earthpower|energyball|spikes|stealthrock", - "greninja": "ice|protean|choicescarf|timid|0,0,0,252,4,252|grassknot|hydropump|icebeam|uturn", - "rotomwash": "steel|levitate|choicespecs|timid|0,0,0,252,4,252|hydropump|thunderbolt|trick|voltswitch", - "scizor": "steel|technician|choiceband|adamant|248,252,0,0,8,0|bulletpunch|closecombat|thief|uturn", - "dragonite": "steel|multiscale|heavydutyboots|naughty|0,252,0,4,0,252|dragondance|earthquake|hurricane|icespinner", - "gholdengo": "flying|goodasgold|leftovers|timid|252,0,0,4,0,252|makeitrain|nastyplot|recover|shadowball" - } - ], - "tapukoko|ironvaliant|landorustherian|greninja|hatterene|cresselia": [ - { - "tapukoko": "flying|electricsurge|leftovers|jolly|0,84,176,0,0,248|bravebird|taunt|uturn|wildcharge", - "ironvaliant": "electric|quarkdrive|lifeorb|naive|0,140,0,116,0,252|closecombat|knockoff|moonblast|thunderbolt", - "landorustherian": "ground|intimidate|leftovers|jolly|168,92,0,0,0,248|defog|earthquake|knockoff|uturn", - "greninja": "grass|protean|choicespecs|timid|0,0,0,252,4,252|darkpulse|grassknot|hydropump|icebeam", - "hatterene": "grass|magicbounce|leftovers|modest|252,0,78,178,0,0|aromatherapy|drainingkiss|mysticalfire|psyshock", - "cresselia": "electric|levitate|rockyhelmet|bold|140,0,216,0,152,0|calmmind|moonlight|psyshock|thunderbolt" - } - ], - "floatzel|roaringmoon|greattusk|ironvaliant|toxapex|screamtail": [ - { - "floatzel": "water|waterveil|choiceband|jolly|0,252,0,0,4,252|aquajet|crunch|icespinner|wavecrash", - "roaringmoon": "dark|protosynthesis|choiceband|adamant|0,252,0,0,4,252|crunch|outrage|uturn|zenheadbutt", - "greattusk": "fighting|protosynthesis|choiceband|jolly|0,252,0,0,4,252|closecombat|headlongrush|megahorn|rapidspin", - "ironvaliant": "electric|quarkdrive|choicescarf|timid|0,0,0,252,4,252|aurasphere|moonblast|shadowball|thunderbolt", - "toxapex": "poison|regenerator|blacksludge|bold|252,0,252,0,4,0|haze|recover|surf|toxic", - "screamtail": "steel|protosynthesis|heavydutyboots|timid|252,0,0,4,0,252|dazzlinggleam|protect|stealthrock|wish" - } - ], - "greninja|greattusk|azumarill|tinglu|gholdengo|dragonite": [ - { - "greninja": "water|protean|choicescarf|hasty|0,216,0,252,0,40|grassknot|gunkshot|icebeam|rockslide", - "greattusk": "fighting|protosynthesis|expertbelt|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "azumarill": "water|hugepower|assaultvest|adamant|252,252,0,0,0,4|aquajet|icespinner|liquidation|playrough", - "tinglu": "poison|vesselofruin|leftovers|careful|248,0,8,0,252,0|earthquake|ruination|spikes|stealthrock", - "gholdengo": "steel|goodasgold|covertcloak|modest|248,0,16,44,176,24|makeitrain|nastyplot|recover|shadowball", - "dragonite": "normal|multiscale|heavydutyboots|adamant|144,252,0,0,0,112|dragondance|earthquake|extremespeed|roost" - } - ], - "naclstack|mismagius|perrserker|oricorio|toxtricity|weavile": [ - { - "naclstack": "water|purifyingsalt|eviolite|careful|248,0,8,0,252,0|protect|recover|saltcure|stealthrock", - "mismagius": "fairy|levitate|choicescarf|modest|0,0,0,252,4,252|dazzlinggleam|mysticalfire|shadowball|trick", - "perrserker": "fighting|toughclaws|choiceband|adamant|0,252,4,0,0,252|closecombat|crunch|ironhead|uturn", - "oricorio": "steel|dancer|heavydutyboots|bold|248,0,252,0,8,0|defog|revelationdance|roost|uturn", - "toxtricity": "normal|punkrock|choicespecs|modest|0,0,4,252,0,252|boomburst|overdrive|snarl|voltswitch", - "weavile": "dark|pressure|heavydutyboots|adamant|0,252,0,0,4,252|iceshard|iciclecrash|swordsdance|terablast" - } - ], - "passimian|crocalor|slowpoke|lurantis|goodra|sandaconda": [ - { - "passimian": "water|defiant|leftovers|impish|252,0,72,0,0,184|bulkup|drainpunch|knockoff|taunt", - "crocalor": "fairy|unaware|eviolite|calm|248,0,0,0,240,20|encore|flamethrower|slackoff|willowisp", - "slowpoke": "fairy|regenerator|eviolite|bold|248,0,244,0,16,0|chillingwater|psychic|slackoff|thunderwave", - "lurantis": "rock|contrary|leftovers|bold|252,0,204,0,0,52|defog|leafstorm|synthesis|terablast", - "goodra": "dragon|sapsipper|expertbelt|timid|0,0,0,252,4,252|acidspray|dracometeor|flamethrower|thunderbolt", - "sandaconda": "water|shedskin|rockyhelmet|impish|252,0,216,0,0,40|earthquake|glare|rest|stealthrock" - } - ], - "goodra|zoroark|chansey|venomoth|taurospaldeacombat|oricoriopompom": [ - { - "goodra": "dragon|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|focusblast|sludgebomb", - "zoroark": "fairy|illusion|lifeorb|adamant|0,252,4,0,0,252|lowkick|suckerpunch|swordsdance|terablast", - "chansey": "fairy|naturalcure|eviolite|bold|252,0,252,0,4,0|seismictoss|softboiled|stealthrock|thunderwave", - "venomoth": "bug|tintedlens|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|quiverdance|sleeppowder|sludgebomb", - "taurospaldeacombat": "fighting|intimidate|choicescarf|jolly|0,252,0,0,4,252|bulkup|closecombat|earthquake|rockslide", - "oricoriopompom": "electric|dancer|heavydutyboots|timid|252,0,0,4,0,252|defog|revelationdance|roost|uturn" - } - ], - "goodra|copperajah|oricoriosensu|swalot|bruxish|passimian": [ - { - "goodra": "water|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|surf|thunderbolt", - "copperajah": "ghost|heavymetal|leftovers|careful|252,4,0,0,252,0|earthquake|heavyslam|stealthrock|whirlwind", - "oricoriosensu": "fighting|dancer|heavydutyboots|bold|252,0,252,4,0,0|hurricane|quiverdance|revelationdance|roost", - "swalot": "steel|stickyhold|leftovers|calm|252,0,44,0,212,0|acidarmor|bodypress|encore|toxic", - "bruxish": "water|strongjaw|choiceband|jolly|0,252,0,0,4,252|aquajet|crunch|psychicfangs|wavecrash", - "passimian": "rock|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|knockoff|rockslide|uturn" - } - ], - "torkoal|slitherwing|tyranitar|arboliva|salamence|screamtail": [ - { - "torkoal": "water|drought|heatrock|bold|248,0,252,8,0,0|bodypress|lavaplume|rapidspin|stealthrock", - "slitherwing": "electric|protosynthesis|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|uturn|wildcharge", - "tyranitar": "ghost|sandstream|assaultvest|impish|252,0,176,0,80,0|bodypress|earthquake|foulplay|stoneedge", - "arboliva": "steel|seedsower|leftovers|calm|252,0,4,0,252,0|energyball|leechseed|strengthsap|weatherball", - "salamence": "fairy|intimidate|heavydutyboots|jolly|252,4,0,0,0,252|dragonclaw|dragondance|dualwingbeat|roost", - "screamtail": "fire|protosynthesis|leftovers|bold|252,0,136,0,4,116|dazzlinggleam|encore|protect|wish" - } - ], - "medicham|venomoth|copperajah|rotom|goodra|braviary": [ - { - "medicham": "fairy|purepower|lifeorb|jolly|0,252,4,0,0,252|closecombat|terablast|trailblaze|zenheadbutt", - "venomoth": "bug|tintedlens|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|morningsun|quiverdance|sleeppowder", - "copperajah": "ghost|heavymetal|leftovers|adamant|64,192,0,0,252,0|earthquake|heavyslam|rockslide|stealthrock", - "rotom": "electric|levitate|choicescarf|timid|0,0,0,252,4,252|shadowball|thunderbolt|trick|voltswitch", - "goodra": "steel|sapsipper|choicespecs|timid|0,0,0,252,4,252|dracometeor|fireblast|hydropump|thunderbolt", - "braviary": "ghost|defiant|heavydutyboots|impish|248,0,244,0,0,16|bravebird|defog|roost|uturn" - } - ], - "goodra|bruxish|jolteon|sandaconda|swalot|medicham": [ - { - "goodra": "fairy|sapsipper|assaultvest|calm|252,0,0,136,112,8|flamethrower|hydropump|icebeam|thunderbolt", - "bruxish": "psychic|strongjaw|muscleband|jolly|0,252,4,0,0,252|aquajet|crunch|psychicfangs|wavecrash", - "jolteon": "ice|voltabsorb|heavydutyboots|timid|0,0,0,252,4,252|calmmind|terablast|thunderbolt|voltswitch", - "sandaconda": "water|shedskin|leftovers|impish|252,4,252,0,0,0|earthquake|glare|rest|stealthrock", - "swalot": "water|stickyhold|apicotberry|calm|252,0,84,0,172,0|bodypress|rest|sleeptalk|stuffcheeks", - "medicham": "fighting|purepower|choicescarf|jolly|0,252,0,0,4,252|bulletpunch|closecombat|icepunch|zenheadbutt" - } - ], - "slitherwing|flamigo|greattusk|tinglu|rotomwash|gholdengo": [ - { - "slitherwing": "flying|protosynthesis|boosterenergy|jolly|252,4,0,0,0,252|acrobatics|bulkup|closecombat|flamecharge", - "flamigo": "fighting|scrappy|choicescarf|adamant|0,252,0,0,4,252|bravebird|closecombat|copycat|uturn", - "greattusk": "ground|protosynthesis|leftovers|impish|252,0,252,0,0,4|bodypress|earthquake|knockoff|rapidspin", - "tinglu": "water|vesselofruin|leftovers|relaxed|252,4,252,0,0,0|bodypress|earthquake|spikes|whirlwind", - "rotomwash": "ground|levitate|leftovers|bold|252,0,252,0,4,0|hydropump|protect|voltswitch|willowisp", - "gholdengo": "steel|goodasgold|choicespecs|modest|0,0,0,252,4,252|makeitrain|shadowball|thunderbolt|trick" - } - ], - "lokix|skeledirge|toedscruel|garchomp|flamigo|ironmoth": [ - { - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|throatchop|uturn", - "skeledirge": "water|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp", - "toedscruel": "ground|myceliummight|leftovers|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore", - "garchomp": "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragonclaw|earthquake|stealthrock|stoneedge", - "flamigo": "fighting|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn", - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|energyball|flamethrower|overheat|sludgewave" - } - ], - "chienpao|slowking|amoonguss|kingambit|corviknight|ironmoth": [ - { - "chienpao": "fighting|swordofruin|leftovers|jolly|32,116,200,0,0,160|crunch|recover|sacredsword|swordsdance", - "slowking": "water|regenerator|heavydutyboots|sassy|248,0,8,0,252,0|chillingwater|chillyreception|futuresight|slackoff", - "amoonguss": "dragon|regenerator|rockyhelmet|bold|248,0,212,0,0,48|clearsmog|foulplay|grassknot|spore", - "kingambit": "dark|supremeoverlord|leftovers|adamant|252,196,0,0,60,0|kowtowcleave|stealthrock|suckerpunch|swordsdance", - "corviknight": "steel|pressure|leftovers|impish|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "ironmoth": "grass|quarkdrive|choicespecs|timid|0,0,0,252,4,252|energyball|fireblast|sludgewave|toxicspikes" - } - ], - "koraidon|miraidon|greattusk|irontreads|fluttermane|ironbundle": [ - { - "koraidon": "fire|orichalcumpulse|choicescarf|jolly|0,252,4,0,0,252|brickbreak|closecombat|flareblitz|wildcharge", - "miraidon": "fairy|hadronengine|assaultvest|timid|4,0,0,252,0,252|dazzlinggleam|electrodrift|overheat|paraboliccharge", - "greattusk": "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|bodypress|earthquake|playrough|stealthrock", - "irontreads": "dark|quarkdrive|assaultvest|jolly|0,56,0,0,200,252|earthquake|ironhead|knockoff|rapidspin", - "fluttermane": "fairy|protosynthesis|expertbelt|timid|4,0,0,252,0,252|moonblast|mysticalfire|psyshock|shadowball", - "ironbundle": "ice|quarkdrive|heavydutyboots|timid|4,0,0,252,0,252|encore|freezedry|hydropump|icebeam" - } - ], - "ironhands|ironthorns|salamence|tinkaton|toedscruel|hippowdon": [ - { - "ironhands": "flying|quarkdrive|punchingglove|adamant|232,252,0,0,24,0|drainpunch|icepunch|swordsdance|thunderpunch", - "ironthorns": "bug|quarkdrive|loadeddice|jolly|0,252,0,0,4,252|dragondance|earthquake|pinmissile|rockblast", - "salamence": "fairy|intimidate|heavydutyboots|timid|0,0,0,252,4,252|dracometeor|flamethrower|hurricane|roost", - "tinkaton": "dark|moldbreaker|leftovers|careful|252,84,0,0,172,0|encore|gigatonhammer|knockoff|thunderwave", - "toedscruel": "water|myceliummight|leftovers|calm|232,0,28,0,216,32|earthpower|rapidspin|spikes|spore", - "hippowdon": "water|sandstream|rockyhelmet|impish|252,4,252,0,0,0|earthquake|slackoff|stealthrock|whirlwind" - } - ], - "gengar|slitherwing|meowscarada|garchomp|gholdengo|corviknight": [ - { - "gengar": "ghost|normalize|focussash|timid|0,0,0,252,4,252|meanlook|nastyplot|shadowball|skillswap", - "slitherwing": "bug|tintedlens|choiceband|adamant|248,44,0,0,216,0|closecombat|firstimpression|uturn|wildcharge", - "meowscarada": "grass|hustle|choiceband|adamant|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn", - "garchomp": "dragon|toxicdebris|rockyhelmet|jolly|252,0,0,0,4,252|dragontail|earthquake|spikes|stealthrock", - "gholdengo": "steel|eartheater|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "corviknight": "flying|wellbakedbody|leftovers|impish|252,4,252,0,0,0|bravebird|defog|roost|uturn" - } - ], - "medicham|dudunsparcethreesegment|jolteon|venomoth|lycanroc|lurantis": [ - { - "medicham": "electric|purepower|lifeorb|jolly|0,252,0,0,4,252|bulletpunch|closecombat|thunderpunch|zenheadbutt", - "dudunsparcethreesegment": "ghost|rattled|leftovers|bold|252,0,252,4,0,0|calmmind|glare|hex|roost", - "jolteon": "ice|voltabsorb|leftovers|timid|0,0,0,252,4,252|substitute|terablast|thunderbolt|voltswitch", - "venomoth": "bug|tintedlens|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|quiverdance|sleeppowder|sludgebomb", - "lycanroc": "rock|sandrush|focussash|jolly|0,252,0,0,4,252|accelerock|closecombat|stealthrock|stoneedge", - "lurantis": "flying|contrary|heavydutyboots|bold|252,0,252,0,4,0|defog|leafstorm|synthesis|terablast" - } - ], - "passimian|dudunsparce|basculinbluestriped|sandaconda|drifblim|appletun": [ - { - "passimian": "fighting|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|gunkshot|knockoff|uturn", - "dudunsparce": "fairy|rattled|leftovers|bold|248,0,204,0,0,56|boomburst|calmmind|roost|shadowball", - "basculinbluestriped": "water|rockhead|choiceband|jolly|0,252,0,0,4,252|aquajet|headsmash|psychicfangs|wavecrash", - "sandaconda": "ghost|shedskin|leftovers|careful|252,4,0,0,252,0|earthquake|glare|rockslide|stealthrock", - "drifblim": "flying|unburden|focussash|timid|0,0,4,252,0,252|aircutter|defog|hex|willowisp", - "appletun": "water|thickfat|leftovers|bold|252,0,252,4,0,0|appleacid|dracometeor|leechseed|recover" - } - ], - "tinglu|gholdengo|greattusk|dragonite|chienpao|glimmora": [ - { - "tinglu": "fairy|vesselofruin|leftovers|careful|252,0,4,0,252,0|earthquake|spikes|stealthrock|whirlwind", - "gholdengo": "fighting|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,252,0,4,0|bodypress|earthquake|knockoff|rapidspin", - "dragonite": "normal|multiscale|heavydutyboots|adamant|144,252,0,0,0,112|dragondance|earthquake|extremespeed|roost", - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,4,0,0,252|crunch|iciclecrash|sacredsword|suckerpunch", - "glimmora": "grass|toxicdebris|choicespecs|timid|0,0,4,252,0,252|earthpower|energyball|powergem|sludgewave" - } - ], - "eelektross|sandaconda|braviary|dudunsparce|passimian|clawitzer": [ - { - "eelektross": "poison|levitate|leftovers|adamant|248,0,8,0,252,0|coil|drainpunch|uturn|wildcharge", - "sandaconda": "water|shedskin|leftovers|careful|248,8,252,0,0,0|earthquake|glare|rest|stealthrock", - "braviary": "steel|defiant|heavydutyboots|careful|248,0,252,0,8,0|bravebird|defog|roost|uturn", - "dudunsparce": "ghost|rattled|leftovers|bold|248,0,252,0,8,0|boomburst|calmmind|roost|shadowball", - "passimian": "fighting|defiant|choicescarf|jolly|0,252,0,0,4,252|closecombat|earthquake|knockoff|uturn", - "clawitzer": "dragon|megalauncher|choicespecs|modest|248,0,0,252,8,0|aurasphere|darkpulse|uturn|waterpulse" - } - ], - "weavile|garganacl|corviknight|greattusk|roaringmoon|sandyshocks": [ - { - "weavile": "dark|technician|choiceband|jolly|0,252,0,0,4,252|beatup|bite|iceshard|poisonjab", - "garganacl": "rock|sandstream|leftovers|careful|252,4,0,0,252,0|protect|recover|saltcure|stealthrock", - "corviknight": "flying|fluffy|rockyhelmet|relaxed|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "greattusk": "ground|regenerator|heavydutyboots|impish|248,0,252,0,0,8|bulkup|earthquake|knockoff|rapidspin", - "roaringmoon": "dragon|vesselofruin|heavydutyboots|careful|248,0,0,0,148,112|crunch|earthquake|roost|uturn", - "sandyshocks": "electric|hadronengine|choicescarf|modest|0,0,0,252,4,252|earthpower|spikes|thunderbolt|voltswitch" - } - ], - "garchomp|chienpao|kilowattrel|quaquaval|blissey|ironmoth": [ - { - "garchomp": "dragon|regenerator|leftovers|impish|252,0,252,0,4,0|dragontail|earthquake|stealthrock|swordsdance", - "chienpao": "dark|magicguard|lifeorb|jolly|0,252,0,0,4,252|crunch|iciclecrash|suckerpunch|swordsdance", - "kilowattrel": "electric|primordialsea|heavydutyboots|timid|0,0,0,252,4,252|hurricane|roost|voltswitch|weatherball", - "quaquaval": "water|intimidate|rockyhelmet|bold|252,0,252,0,4,0|rapidspin|roost|surf|uturn", - "blissey": "normal|goodasgold|leftovers|careful|252,0,252,0,4,0|calmmind|seismictoss|shadowball|softboiled", - "ironmoth": "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|discharge|energyball|fierydance|morningsun" - } - ], - "kilowattrel|greattusk|corviknight|roaringmoon|dondozo|gholdengo": [ - { - "kilowattrel": "electric|primordialsea|heavydutyboots|timid|0,0,0,252,4,252|hurricane|roost|voltswitch|weatherball", - "greattusk": "ground|scrappy|choiceband|adamant|0,252,0,0,4,252|closecombat|headlongrush|icespinner|knockoff", - "corviknight": "flying|vesselofruin|laggingtail|sassy|248,0,8,0,252,0|bravebird|defog|roost|uturn", - "roaringmoon": "dragon|regenerator|choicescarf|jolly|0,252,0,0,4,252|crunch|dragonclaw|earthquake|uturn", - "dondozo": "water|tabletsofruin|leftovers|impish|252,0,252,0,4,0|curse|earthquake|rest|wavecrash", - "gholdengo": "steel|magicguard|lifeorb|timid|0,0,0,252,4,252|nastyplot|recover|shadowball|steelbeam" - } - ], - "gengar|roaringmoon|ironmoth|corviknight|chienpao|gholdengo": [ - { - "gengar": "ghost|sheerforce|lifeorb|timid|0,0,0,252,4,252|focusblast|nastyplot|shadowball|sludgebomb", - "roaringmoon": "dragon|regenerator|choicescarf|adamant|0,252,0,0,4,252|crunch|earthquake|ironhead|uturn", - "ironmoth": "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|discharge|fierydance|morningsun|uturn", - "corviknight": "flying|fluffy|rockyhelmet|relaxed|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "chienpao": "dark|magicguard|lifeorb|jolly|0,252,0,0,4,252|crunch|iciclecrash|sacredsword|swordsdance", - "gholdengo": "steel|wellbakedbody|leftovers|calm|248,0,8,0,252,0|nastyplot|recover|shadowball|substitute" - } - ], - "corviknight|greattusk|garganacl|gholdengo|noivern|gengar": [ - { - "corviknight": "flying|toughclaws|rockyhelmet|relaxed|252,4,252,0,0,0|bravebird|ironhead|roost|uturn", - "greattusk": "ground|regenerator|leftovers|impish|248,0,252,0,0,8|bulkup|earthquake|knockoff|rapidspin", - "garganacl": "rock|sandstream|leftovers|careful|252,4,0,0,252,0|curse|earthquake|recover|saltcure", - "gholdengo": "steel|bulletproof|leftovers|calm|248,0,0,8,252,0|hex|makeitrain|recover|thunderwave", - "noivern": "flying|aerilate|heavydutyboots|timid|0,0,0,252,4,252|boomburst|roost|superfang|uturn", - "gengar": "ghost|waterabsorb|blacksludge|timid|0,0,0,252,4,252|focusblast|shadowball|sludgebomb|trick" - } - ], - "weavile|roaringmoon|ironmoth|corviknight|chienpao|gholdengo": [ - { - "weavile": "dark|sheerforce|lifeorb|modest|0,0,0,252,4,252|darkpulse|focusblast|icebeam|nastyplot", - "roaringmoon": "dragon|regenerator|choicescarf|adamant|0,252,0,0,4,252|crunch|earthquake|ironhead|uturn", - "ironmoth": "fire|desolateland|heavydutyboots|timid|0,0,0,252,4,252|discharge|fierydance|morningsun|uturn", - "corviknight": "flying|fluffy|rockyhelmet|relaxed|248,8,252,0,0,0|bravebird|defog|roost|uturn", - "chienpao": "dark|magicguard|lifeorb|jolly|0,252,0,0,4,252|crunch|iciclecrash|sacredsword|swordsdance", - "gholdengo": "steel|wellbakedbody|leftovers|calm|248,0,8,0,252,0|nastyplot|recover|shadowball|substitute" - } - ], - "glimmora|tinkaton|garchomp|gholdengo|rotomwash|ironthorns": [ - { - "glimmora": "rock|sheerforce|lifeorb|timid|0,0,0,252,4,252|earthpower|energyball|mortalspin|sludgewave", - "tinkaton": "fairy|tintedlens|covertcloak|adamant|0,252,0,0,4,252|gigatonhammer|knockoff|playrough|swordsdance", - "garchomp": "dragon|regenerator|lifeorb|jolly|0,252,0,0,4,252|earthquake|outrage|spikes|stealthrock", - "gholdengo": "steel|bulletproof|leftovers|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|substitute", - "rotomwash": "electric|hadronengine|terrainextender|timid|0,0,0,252,4,252|hydropump|nastyplot|thunderbolt|voltswitch", - "ironthorns": "rock|surgesurfer|lifeorb|jolly|0,252,0,0,4,252|earthquake|stoneedge|swordsdance|thunderpunch" - } - ], - "chienpao|greattusk|dondozo|garganacl|dragapult|ceruledge": [ - { - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,0,0,4,252|beatup|crunch|iciclecrash|sacredsword", - "greattusk": "fighting|protosynthesis|heavydutyboots|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "dondozo": "water|regenerator|rockyhelmet|relaxed|248,0,252,0,8,0|flipturn|foulplay|recover|stealthrock", - "garganacl": "fairy|purifyingsalt|leftovers|careful|248,0,84,0,176,0|knockoff|recover|saltcure|spikes", - "dragapult": "dragon|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "ceruledge": "flying|unaware|heavydutyboots|jolly|248,0,0,0,124,136|bitterblade|bulkup|shadowsneak|slackoff" - } - ], - "glimmora|gholdengo|wochien|greattusk|dragapult|rotomwash": [ - { - "glimmora": "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|powergem|sludgewave|spikes", - "gholdengo": "steel|goodasgold|metalcoat|modest|224,0,0,252,0,32|makeitrain|nastyplot|recover|shadowball", - "wochien": "poison|tabletsofruin|leftovers|relaxed|252,0,252,0,4,0|gigadrain|knockoff|leechseed|protect", - "greattusk": "fire|protosynthesis|leftovers|jolly|0,252,0,0,4,252|bulkup|earthquake|knockoff|rapidspin", - "dragapult": "dragon|infiltrator|choicespecs|modest|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "rotomwash": "ghost|levitate|leftovers|bold|252,0,244,0,0,12|hydropump|protect|voltswitch|willowisp" - } - ], - "lokix|skeledirge|toedscruel|garchomp|flamigo|magnezone": [ - { - "lokix": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|firstimpression|leechlife|throatchop|uturn", - "skeledirge": "water|unaware|heavydutyboots|bold|248,0,252,8,0,0|hex|slackoff|torchsong|willowisp", - "toedscruel": "ground|myceliummight|leftovers|timid|0,0,0,252,4,252|earthpower|energyball|rapidspin|spore", - "garchomp": "ground|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragonclaw|earthquake|stealthrock|stoneedge", - "flamigo": "fighting|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|facade|uturn", - "magnezone": "fairy|magnetpull|choicespecs|modest|0,0,0,252,4,252|flashcannon|terablast|thunderbolt|voltswitch" - } - ], - "pelipper|gyarados|barraskewda|vaporeon|rotomfan|alomomola": [ - { - "pelipper": "grass|drizzle|heavydutyboots|relaxed|248,0,252,0,8,0|hurricane|roost|thunderwave|uturn", - "gyarados": "ground|drizzle|choiceband|jolly|0,252,0,0,4,252|bravebird|earthquake|liquidation|uturn", - "barraskewda": "ghost|swiftswim|choiceband|adamant|0,252,4,0,0,252|closecombat|flipturn|jetpunch|wavecrash", - "vaporeon": "normal|swiftswim|lifeorb|timid|0,0,20,252,0,236|boomburst|icebeam|nastyplot|surf", - "rotomfan": "fighting|voltabsorb|heavydutyboots|timid|0,0,4,252,0,252|hurricane|quiverdance|revelationdance|storedpower", - "alomomola": "grass|regenerator|ejectbutton|relaxed|240,0,16,0,252,0|foulplay|rapidspin|stealthrock|uturn" - } - ], - "vaporeon|ursaring|medicham|hattrem|goodra|skuntank": [ - { - "vaporeon": "ground|waterabsorb|heavydutyboots|bold|248,0,252,0,8,0|protect|surf|wish|yawn", - "ursaring": "ghost|guts|eviolite|adamant|4,252,252,0,0,0|bodyslam|earthquake|rest|sleeptalk", - "medicham": "dark|purepower|choicescarf|jolly|0,252,0,0,80,176|bulletpunch|closecombat|psychocut|terablast", - "hattrem": "steel|magicbounce|eviolite|bold|252,0,252,0,4,0|drainingkiss|healingwish|nuzzle|psyshock", - "goodra": "fairy|sapsipper|assaultvest|modest|0,0,4,252,0,252|dracometeor|flamethrower|sludgebomb|thunderbolt", - "skuntank": "dark|stench|choiceband|adamant|152,252,0,0,0,104|crunch|gunkshot|memento|suckerpunch" - } - ], - "irontreads|slowking|slitherwing|garganacl|noivern|corviknight": [ - { - "irontreads": "ground|regenerator|assaultvest|careful|252,0,4,0,252,0|earthquake|knockoff|rapidspin|voltswitch", - "slowking": "water|fluffy|leftovers|relaxed|252,0,128,0,128,0|chillingwater|chillyreception|futuresight|slackoff", - "slitherwing": "bug|tintedlens|choiceband|adamant|0,252,0,0,4,252|closecombat|firstimpression|flareblitz|uturn", - "garganacl": "rock|goodasgold|leftovers|careful|252,4,0,0,252,0|protect|recover|saltcure|stealthrock", - "noivern": "flying|aerilate|heavydutyboots|timid|252,0,0,4,0,252|boomburst|roost|superfang|uturn", - "corviknight": "flying|wellbakedbody|leftovers|relaxed|252,0,252,0,4,0|bodypress|bravebird|roost|uturn" - } - ], - "greattusk|torkoal|garchomp|scovillain|slitherwing|tinglu": [ - { - "greattusk": "ground|protosynthesis|choicescarf|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "torkoal": "ghost|drought|heatrock|bold|248,0,252,8,0,0|lavaplume|rapidspin|stealthrock|yawn", - "garchomp": "fire|roughskin|lifeorb|naive|0,4,0,252,0,252|dracometeor|earthquake|fireblast|spikes", - "scovillain": "fire|chlorophyll|lifeorb|modest|0,0,0,252,4,252|fireblast|gigadrain|growth|solarbeam", - "slitherwing": "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|firstimpression|morningsun|uturn|willowisp", - "tinglu": "water|vesselofruin|assaultvest|brave|208,228,0,0,72,0|earthquake|heavyslam|ruination|throatchop" - } - ], - "glimmora|azumarill|greattusk|garchomp|corviknight|gholdengo": [ - { - "glimmora": "fairy|toxicdebris|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|earthpower|sludgewave|spikes", - "azumarill": "water|hugepower|choiceband|adamant|96,252,4,0,0,156|aquajet|liquidation|playrough|superpower", - "greattusk": "water|protosynthesis|leftovers|impish|252,0,104,0,0,152|bulkup|earthquake|knockoff|rapidspin", - "garchomp": "fairy|roughskin|leftovers|hasty|0,148,0,0,108,252|dracometeor|earthquake|fireblast|stealthrock", - "corviknight": "dark|mirrorarmor|covertcloak|careful|248,0,0,0,128,132|agility|bulkup|powertrip|roost", - "gholdengo": "fairy|goodasgold|leftovers|modest|192,0,0,252,0,64|makeitrain|nastyplot|recover|shadowball" - } - ], - "breloom|skeledirge|corviknight|greattusk|dragapult|clodsire": [ - { - "breloom": "water|poisonheal|toxicorb|impish|248,8,252,0,0,0|focuspunch|leechseed|spore|substitute", - "skeledirge": "fairy|unaware|leftovers|bold|252,0,252,4,0,0|hex|slackoff|torchsong|willowisp", - "corviknight": "flying|mirrorarmor|leftovers|relaxed|252,4,252,0,0,0|bravebird|defog|roost|uturn", - "greattusk": "steel|protosynthesis|leftovers|impish|252,0,252,0,4,0|bulkup|earthquake|knockoff|rapidspin", - "dragapult": "fire|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "clodsire": "water|unaware|leftovers|careful|252,4,0,0,252,0|earthquake|recover|stealthrock|toxic" - } - ], - "breloom|meowscarada|dragapult": [ - { - "breloom": "fire|poisonheal|toxicorb|impish|248,8,252,0,0,0|bulletseed|machpunch|spore|terablast", - "meowscarada": "grass|protean|heavydutyboots|jolly|0,252,0,0,4,252|flowertrick|knockoff|spikes|uturn", - "dragapult": "fighting|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|shadowball|terablast|uturn" - } - ], - "chienpao|wochien|dragapult|garchomp|gholdengo|corviknight": [ - { - "chienpao": "dark|swordofruin|heavydutyboots|jolly|0,252,4,0,0,252|crunch|icespinner|suckerpunch|swordsdance", - "wochien": "fairy|tabletsofruin|leftovers|impish|252,0,92,0,164,0|knockoff|leechseed|protect|taunt", - "dragapult": "fairy|clearbody|heavydutyboots|jolly|4,252,0,0,0,252|dragondance|dragondarts|terablast|willowisp", - "garchomp": "steel|roughskin|rockyhelmet|jolly|252,0,0,0,128,128|dragontail|earthquake|spikes|stealthrock", - "gholdengo": "flying|goodasgold|covertcloak|timid|4,0,0,252,0,252|makeitrain|nastyplot|recover|shadowball", - "corviknight": "water|mirrorarmor|rockyhelmet|impish|252,0,252,0,4,0|bravebird|defog|roost|uturn" - } - ], - "clodsire|gholdengo|blissey|alomomola|corviknight|avalugg": [ - { - "clodsire": "water|unaware|heavydutyboots|impish|252,0,252,0,4,0|earthquake|recover|spikes|toxic", - "gholdengo": "ghost|goodasgold|heavydutyboots|modest|252,0,0,252,0,4|makeitrain|nastyplot|recover|shadowball", - "blissey": "fairy|naturalcure|heavydutyboots|bold|252,0,252,0,4,0|seismictoss|shadowball|softboiled|stealthrock", - "alomomola": "ghost|regenerator|heavydutyboots|impish|252,0,252,0,4,0|chillingwater|protect|whirlpool|wish", - "corviknight": "dark|pressure|rockyhelmet|impish|252,0,252,0,4,0|bodypress|defog|roost|uturn", - "avalugg": "fairy|sturdy|heavydutyboots|impish|252,0,252,0,4,0|avalanche|earthquake|rapidspin|recover" - } - ], - "lucario|gyarados|meowscarada|dragonite|azumarill|tinkaton": [ - { - "lucario": "flying|steadfast|lifeorb|timid|0,0,0,252,4,252|darkpulse|flashcannon|nastyplot|vacuumwave", - "gyarados": "grass|moxie|heavydutyboots|jolly|0,252,0,0,4,252|dragondance|taunt|terablast|waterfall", - "meowscarada": "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|thunderpunch|uturn", - "dragonite": "normal|multiscale|heavydutyboots|adamant|144,252,0,0,0,112|dragondance|earthquake|extremespeed|roost", - "azumarill": "water|hugepower|assaultvest|adamant|252,252,0,0,0,4|aquajet|icespinner|liquidation|playrough", - "tinkaton": "ghost|moldbreaker|leftovers|careful|252,84,0,0,172,0|encore|gigatonhammer|knockoff|stealthrock" - } - ], - "spidops|gholdengo|lokix|hydreigon|quaquaval|chienpao": [ - { - "spidops": "bug|insomnia|focussash|impish|252,0,252,0,4,0|circlethrow|silktrap|stickyweb|uturn", - "gholdengo": "steel|goodasgold|airballoon|modest|0,0,4,252,0,252|makeitrain|psychic|shadowball|thunderbolt", - "lokix": "bug|tintedlens|heavydutyboots|adamant|0,252,4,0,0,252|leechlife|suckerpunch|swordsdance|throatchop", - "hydreigon": "poison|levitate|expertbelt|modest|0,0,4,252,0,252|dragonpulse|flamethrower|nastyplot|terablast", - "quaquaval": "water|moxie|leftovers|jolly|0,252,4,0,0,252|aquastep|bravebird|closecombat|icespinner", - "chienpao": "dark|swordofruin|choiceband|adamant|0,252,4,0,0,252|icespinner|sacredsword|suckerpunch|throatchop" - } - ], - "greninja|skeledirge|greattusk|scizor|corviknight|gastrodoneast": [ - { - "greninja": "water|protean|choicespecs|timid|0,0,4,252,0,252|darkpulse|grassknot|icebeam|surf", - "skeledirge": "fairy|unaware|leftovers|modest|220,0,0,252,36,0|earthpower|shadowball|substitute|torchsong", - "greattusk": "ground|protosynthesis|heavydutyboots|adamant|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "scizor": "steel|technician|choiceband|jolly|0,252,0,0,4,252|bulletpunch|pounce|thief|uturn", - "corviknight": "flying|pressure|rockyhelmet|impish|244,12,252,0,0,0|bodypress|defog|roost|uturn", - "gastrodoneast": "water|stormdrain|covertcloak|calm|244,0,0,12,252,0|earthpower|recover|stealthrock|surf" - } - ], - "breloom|azumarill|magnezone|gengar|goodra|quaquaval": [ - { - "breloom": "fire|technician|focussash|jolly|0,252,0,0,4,252|bulletseed|machpunch|spore|swordsdance", - "azumarill": "water|hugepower|sitrusberry|adamant|252,252,0,0,4,0|aquajet|bellydrum|brickbreak|playrough", - "magnezone": "fairy|magnetpull|choicescarf|timid|0,0,0,252,0,252|flashcannon|terablast|thunderbolt|voltswitch", - "gengar": "ghost|cursedbody|leftovers|bold|252,0,252,0,4,0|shadowball|substitute|suckerpunch|toxicspikes", - "goodra": "steel|sapsipper|expertbelt|timid|0,0,0,252,4,252|flamethrower|icebeam|sludgebomb|thunderbolt", - "quaquaval": "water|moxie|lifeorb|adamant|252,252,0,0,4,0|aquastep|bulkup|icespinner|roost" - } - ], - "rotom|pincurchin|ironhands|orthworm|falinks|skeledirge": [ - { - "rotom": "electric|levitate|choicespecs|timid|0,0,0,252,4,252|darkpulse|discharge|shadowball|voltswitch", - "pincurchin": "flying|electricsurge|terrainextender|relaxed|252,4,252,0,0,0|discharge|liquidation|spikes|toxicspikes", - "ironhands": "flying|quarkdrive|leftovers|adamant|252,252,0,0,4,0|drainpunch|icepunch|swordsdance|thunderpunch", - "orthworm": "water|eartheater|sitrusberry|adamant|252,252,0,0,4,0|bodypress|earthquake|shedtail|stealthrock", - "falinks": "steel|defiant|focussash|adamant|0,252,0,0,4,252|brickbreak|counter|swordsdance|trailblaze", - "skeledirge": "water|unaware|heavydutyboots|relaxed|248,8,252,0,0,0|shadowball|slackoff|torchsong|zenheadbutt" - } - ], - "dragapult|kingambit|volcarona|greattusk|toxapex|corviknight": [ - { - "dragapult": "dragon|infiltrator|choicespecs|modest|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|248,56,0,0,204,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "volcarona": "fairy|flamebody|heavydutyboots|bold|248,0,204,0,0,56|fierydance|morningsun|quiverdance|willowisp", - "greattusk": "water|protosynthesis|leftovers|impish|248,16,164,0,0,80|earthquake|knockoff|rapidspin|stealthrock", - "toxapex": "fairy|regenerator|covertcloak|bold|248,0,140,0,116,4|haze|recover|surf|toxic", - "corviknight": "dark|pressure|leftovers|impish|252,0,228,0,0,28|bravebird|bulkup|roost|uturn" - } - ], - "hatterene|gholdengo|corviknight|clodsire|rotomwash|amoonguss": [ - { - "hatterene": "fairy|magicbounce|leftovers|bold|252,0,204,0,0,52|calmmind|drainingkiss|mysticalfire|psyshock", - "gholdengo": "flying|goodasgold|covertcloak|bold|252,0,252,4,0,0|hex|makeitrain|recover|thunderwave", - "corviknight": "dragon|pressure|rockyhelmet|impish|248,0,252,0,8,0|bravebird|bulkup|defog|roost", - "clodsire": "dark|unaware|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|toxic", - "rotomwash": "water|levitate|choicescarf|timid|252,0,4,0,0,252|hydropump|trick|voltswitch|willowisp", - "amoonguss": "water|regenerator|blacksludge|bold|252,0,172,0,84,0|clearsmog|foulplay|gigadrain|spore" - } - ], - "barraskewda|spiritomb|espeon|mudsdale|cinderace|florges": [ - { - "barraskewda": "ghost|oblivious|focussash|jolly|0,252,0,0,0,252|endeavor|liquidation|spikes|toxicspikes", - "spiritomb": "fairy|prankster|leftovers|modest|252,0,0,252,4,0|dazzlinggleam|encore|energyball|shadowball", - "espeon": "psychic|competitive|choicescarf|timid|0,0,0,252,4,252|dazzlinggleam|focusblast|luminacrash|uturn", - "mudsdale": "ground|stamina|heavydutyboots|adamant|252,252,0,0,4,0|bodypress|earthquake|iceshard|stealthrock", - "cinderace": "normal|flashfire|heavydutyboots|jolly|0,252,0,0,4,252|extremespeed|pyroball|seedbomb|swordsdance", - "florges": "grass|wellbakedbody|leftovers|bold|252,0,252,0,0,4|calmmind|drainingkiss|gigadrain|storedpower" - } - ], - "chienpao|greattusk|dragonite|greninja|gholdengo|ironvaliant": [ - { - "chienpao": "dark|swordofruin|choiceband|jolly|0,252,0,0,4,252|crunch|iceshard|icespinner|sacredsword", - "greattusk": "ground|protosynthesis|leftovers|jolly|0,252,0,0,4,252|closecombat|headlongrush|knockoff|rapidspin", - "dragonite": "normal|multiscale|heavydutyboots|adamant|0,252,0,0,4,252|dragondance|earthquake|extremespeed|icespinner", - "greninja": "water|protean|choicespecs|hasty|0,4,0,252,0,252|darkpulse|grassknot|hydropump|icebeam", - "gholdengo": "steel|goodasgold|choicescarf|timid|0,0,0,252,4,252|focusblast|makeitrain|shadowball|trick", - "ironvaliant": "fairy|quarkdrive|boosterenergy|timid|0,0,0,252,4,252|aurasphere|moonblast|psyshock|thunderbolt" - } - ], - "weavile|mismagius|crocalor|mudsdale|appletun|bronzong": [ - { - "weavile": "dark|pickpocket|choiceband|jolly|0,252,0,0,4,252|iceshard|icespinner|lowkick|nightslash", - "mismagius": "electric|levitate|lifeorb|timid|0,0,0,252,4,252|mysticalfire|shadowball|taunt|thunderbolt", - "crocalor": "grass|unaware|eviolite|impish|252,4,252,0,0,0|curse|flareblitz|slackoff|yawn", - "mudsdale": "ground|stamina|leftovers|impish|252,4,252,0,0,0|earthquake|rest|roar|stealthrock", - "appletun": "fire|thickfat|leftovers|modest|252,0,0,252,4,0|appleacid|dracometeor|leechseed|terablast", - "bronzong": "steel|heatproof|lightclay|sassy|252,4,0,0,252,0|gyroball|lightscreen|reflect|trickroom" - } - ], - "pikachu|kingambit|pelipper|floatzel|gholdengo|clodsire": [ - { - "pikachu": "flying|lightningrod|lightball|hasty|0,4,0,252,0,252|nastyplot|surf|thunder|trailblaze", - "kingambit": "dark|defiant|leftovers|careful|4,252,0,0,252,0|ironhead|suckerpunch|taunt|thunderwave", - "pelipper": "ground|drizzle|damprock|bold|248,0,252,8,0,0|hurricane|roost|surf|uturn", - "floatzel": "water|swiftswim|choiceband|adamant|0,252,0,0,4,252|aquajet|icespinner|liquidation|wavecrash", - "gholdengo": "fighting|goodasgold|covertcloak|timid|0,0,0,252,4,252|makeitrain|nastyplot|shadowball|thunder", - "clodsire": "water|waterabsorb|heavydutyboots|careful|248,0,8,0,252,0|earthquake|recover|stealthrock|yawn" - } - ], - "dragapult|roaringmoon|rotomwash|ironvaliant|orthworm|scizor": [ - { - "dragapult": "ghost|infiltrator|heavydutyboots|hasty|0,76,0,180,0,252|dragondarts|hex|uturn|willowisp", - "roaringmoon": "flying|protosynthesis|boosterenergy|adamant|0,252,0,0,4,252|acrobatics|dragondance|earthquake|throatchop", - "rotomwash": "water|levitate|choicescarf|timid|248,0,0,8,0,252|hydropump|thunderwave|trick|voltswitch", - "ironvaliant": "electric|quarkdrive|boosterenergy|serious|0,0,0,252,4,252|calmmind|moonblast|psyshock|thunderbolt", - "orthworm": "ghost|eartheater|sitrusberry|impish|248,0,252,0,8,0|bodypress|heavyslam|shedtail|stealthrock", - "scizor": "steel|technician|heavydutyboots|adamant|232,252,0,0,0,24|bulletpunch|defog|swordsdance|uturn" - } - ], - "ironhands|dondozo|screamtail|tinglu|polteageist|ironmoth": [ - { - "ironhands": "fighting|ironfist|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|drainpunch|machpunch|thunderpunch", - "dondozo": "ground|regenerator|assaultvest|careful|248,8,44,0,208,0|dragontail|flipturn|jetpunch|wavecrash", - "screamtail": "water|magicbounce|leftovers|bold|252,0,252,4,0,0|moonblast|protect|teleport|wish", - "tinglu": "poison|vesselofruin|leftovers|careful|252,4,0,0,252,0|bulkup|powertrip|rest|sleeptalk", - "polteageist": "fairy|fluffy|leftovers|modest|252,0,0,0,252,0|calmmind|shadowball|storedpower|strengthsap", - "ironmoth": "grass|quarkdrive|boosterenergy|timid|120,0,0,132,4,252|energyball|flamethrower|nastyplot|sludgewave" - } - ], - "hatterene|ironhands|glaceon|ursaring|slowbro|wochien": [ - { - "hatterene": "fire|magicbounce|lifeorb|quiet|252,0,0,252,4,0|flamethrower|icebeam|moonblast|psyshock", - "ironhands": "fighting|ironfist|choiceband|brave|248,252,0,0,8,0|closecombat|earthquake|icepunch|thunderpunch", - "glaceon": "ice|sheerforce|lifeorb|quiet|252,0,0,252,4,0|focusblast|freezedry|icebeam|shadowball", - "ursaring": "normal|technician|widelens|brave|248,252,0,0,8,0|closecombat|earthquake|populationbomb|quickattack", - "slowbro": "ground|regenerator|heavydutyboots|relaxed|252,0,252,4,0,0|chillyreception|slackoff|surf|trickroom", - "wochien": "steel|protean|leftovers|sassy|252,0,0,0,252,0|knockoff|synthesis|trickroom|uturn" - } - ], - "hatterene|ironhands|glaceon|ursaring|slowbro|tinkaton": [ - { - "hatterene": "psychic|magicbounce|lifeorb|quiet|252,0,0,252,4,0|flamethrower|icebeam|moonblast|psyshock", - "ironhands": "fighting|ironfist|choiceband|brave|248,252,0,0,8,0|drainpunch|icepunch|machpunch|thunderpunch", - "glaceon": "ice|sheerforce|lifeorb|quiet|252,0,0,252,4,0|focusblast|freezedry|icebeam|shadowball", - "ursaring": "normal|technician|widelens|brave|248,252,0,0,8,0|closecombat|earthquake|populationbomb|quickattack", - "slowbro": "ground|regenerator|heavydutyboots|relaxed|252,0,252,4,0,0|chillyreception|slackoff|surf|trickroom", - "tinkaton": "fairy|prankster|airballoon|sassy|252,4,0,0,252,0|gigatonhammer|spikes|stealthrock|trickroom" - } - ], - "meowscarada|volcarona|gholdengo|kingambit|salamence|flamigo": [ - { - "meowscarada": "grass|protean|choiceband|hasty|0,252,0,4,0,252|aurasphere|flowertrick|playrough|uturn", - "volcarona": "grass|flamebody|heavydutyboots|modest|0,0,0,252,4,252|fierydance|flamethrower|gigadrain|quiverdance", - "gholdengo": "fairy|goodasgold|choicespecs|timid|0,0,0,252,4,252|focusblast|makeitrain|powergem|shadowball", - "kingambit": "fairy|supremeoverlord|leftovers|adamant|252,252,0,0,4,0|ironhead|kowtowcleave|suckerpunch|swordsdance", - "salamence": "water|moxie|choiceband|jolly|0,252,0,0,4,252|brickbreak|crunch|outrage|psychicfangs", - "flamigo": "flying|scrappy|choiceband|jolly|0,252,0,0,4,252|bravebird|closecombat|throatchop|uturn" - } - ], - "quaquaval|ironjugulis|breloom|pelipper|orthworm|klefki": [ - { - "quaquaval": "poison|moxie|leftovers|adamant|232,0,124,0,16,136|aquastep|bulkup|closecombat|roost", - "ironjugulis": "dark|quarkdrive|choicespecs|timid|0,0,0,252,4,252|darkpulse|flashcannon|hurricane|hydropump", - "breloom": "fire|technician|loadeddice|jolly|0,252,0,0,4,252|bulletseed|machpunch|swordsdance|terablast", - "pelipper": "ground|drizzle|damprock|calm|248,0,16,24,220,0|hurricane|surf|tailwind|uturn", - "orthworm": "steel|eartheater|rockyhelmet|bold|252,0,248,0,8,0|bodypress|rest|shedtail|sleeptalk", - "klefki": "steel|prankster|lightclay|calm|248,0,8,0,252,0|foulplay|lightscreen|reflect|thunderwave" - } - ], - "umbreon|vaporeon|jolteon|flareon|leafeon|sylveon": [ - { - "umbreon": "fairy|intimidate|rockyhelmet|careful|252,0,4,0,252,0|knockoff|moonlight|uturn|yawn", - "vaporeon": "grass|regenerator|heavydutyboots|impish|252,0,252,0,4,0|flipturn|rapidspin|roost|stealthrock", - "jolteon": "electric|levitate|lifeorb|timid|0,0,0,252,4,252|nastyplot|recover|surf|thunderbolt", - "flareon": "ghost|libero|sitrusberry|adamant|252,252,0,0,4,0|bellydrum|crunch|extremespeed|slackoff", - "leafeon": "water|poisonheal|toxicorb|careful|252,0,4,0,252,0|bulkup|hornleech|milkdrink|taunt", - "sylveon": "steel|wellbakedbody|leftovers|bold|252,0,252,0,4,0|calmmind|moonblast|storedpower|synthesis" - } - ], - "dragonite|gogoat|cinderace|passimian|alomomola|wigglytuff": [ - { - "dragonite": "fire|intimidate|heavydutyboots|careful|252,4,0,0,252,0|dragontail|roost|uturn|willowisp", - "gogoat": "water|contrary|leftovers|calm|252,0,4,0,252,0|leafstorm|milkdrink|sludgebomb|surf", - "cinderace": "fire|libero|choiceband|jolly|0,252,0,0,4,252|closecombat|extremespeed|pyroball|uturn", - "passimian": "ghost|intimidate|leftovers|adamant|0,252,0,0,4,252|drainpunch|noretreat|ragefist|taunt", - "alomomola": "steel|regenerator|choicescarf|jolly|0,0,252,0,4,252|finalgambit|switcheroo|uturn|wish", - "wigglytuff": "water|hugepower|choiceband|adamant|0,252,0,0,4,252|aquajet|doubleedge|playrough|waterfall" - } - ], - "hariyama|lilligant|grimmsnarl|copperajah|espathra|roaringmoon": [ - { - "hariyama": "water|thickfat|leftovers|careful|208,4,0,0,252,44|bulkup|drainpunch|noretreat|ragefist", - "lilligant": "fairy|contrary|choicescarf|timid|0,0,0,252,4,252|earthpower|healingwish|leafstorm|uturn", - "grimmsnarl": "steel|prankster|lightclay|calm|252,0,4,0,252,0|lightscreen|partingshot|reflect|taunt", - "copperajah": "fairy|eartheater|sitrusberry|impish|252,0,252,0,4,0|earthquake|heavyslam|shedtail|stealthrock", - "espathra": "fairy|speedboost|leftovers|bold|252,0,224,0,0,32|calmmind|dazzlinggleam|protect|storedpower", - "roaringmoon": "dark|hustle|widelens|jolly|0,252,0,0,4,252|crunch|dragonclaw|dragondance|earthquake" - } - ], - "meowscarada|dondozo|magnezone|corviknight|greattusk|dragapult": [ - { - "meowscarada": "dark|protean|choiceband|jolly|0,252,0,0,4,252|flowertrick|knockoff|suckerpunch|uturn", - "dondozo": "grass|unaware|leftovers|careful|252,0,4,0,252,0|bodypress|curse|rest|wavecrash", - "magnezone": "fighting|analytic|choicespecs|modest|248,0,8,252,0,0|flashcannon|terablast|thunderbolt|voltswitch", - "corviknight": "water|pressure|covertcloak|careful|248,0,8,0,252,0|bravebird|defog|roost|uturn", - "greattusk": "fighting|protosynthesis|leftovers|impish|252,0,252,0,4,0|earthquake|knockoff|rapidspin|stealthrock", - "dragapult": "ghost|infiltrator|choicespecs|timid|0,0,0,252,4,252|dracometeor|flamethrower|shadowball|uturn" - } - ], - "greninja|grimmsnarl|volcarona|espathra|roaringmoon|kingambit": [ - { - "greninja": "water|protean|focussash|timid|0,0,0,252,4,252|hydropump|spikes|taunt|toxicspikes", - "grimmsnarl": "ghost|prankster|lightclay|bold|252,0,252,0,4,0|lightscreen|partingshot|reflect|taunt", - "volcarona": "grass|flamebody|heavydutyboots|timid|0,0,0,252,4,252|bugbuzz|fierydance|gigadrain|quiverdance", - "espathra": "fairy|speedboost|leftovers|bold|252,0,252,0,0,4|calmmind|dazzlinggleam|protect|storedpower", - "roaringmoon": "flying|protosynthesis|boosterenergy|jolly|0,252,0,0,4,252|acrobatics|crunch|dragondance|earthquake", - "kingambit": "dark|supremeoverlord|blackglasses|adamant|48,252,0,0,0,208|ironhead|kowtowcleave|suckerpunch|swordsdance" - } - ] - } -} \ No newline at end of file diff --git a/data/team_datasets.py b/data/team_datasets.py deleted file mode 100644 index f045167ba..000000000 --- a/data/team_datasets.py +++ /dev/null @@ -1,162 +0,0 @@ -from __future__ import annotations - -from dataclasses import dataclass -import os -import json -import logging -import typing -from typing import Tuple -from typing import Optional - -import constants -from showdown.engine.helpers import calculate_stats - -if typing.TYPE_CHECKING: - from showdown.battle import Pokemon - -logger = logging.getLogger(__name__) - -PWD = os.path.dirname(os.path.abspath(__file__)) - - -@dataclass(frozen=True) -class PokemonMoveset: - moves: Tuple[str, ...] - - def pkmn_can_have_moves(self, pkmn: Pokemon) -> bool: - for mv in pkmn.moves: - if mv.name not in self.moves: - return False - return True - - def __iter__(self): - yield from self.moves - - -@dataclass(frozen=True) -class PokemonSet: - tera_type: str - ability: str - item: str - nature: str - evs: Tuple[int, int, int, int, int, int] - moves: PokemonMoveset - - def item_check(self, pkmn: Pokemon) -> bool: - if self.item == "lifeorb" and not pkmn.can_have_life_orb: - return False - elif self.item == "heavydutyboots" and not pkmn.can_have_heavydutyboots: - return False - elif self.item == "assaultvest" and not pkmn.can_have_assaultvest: - return False - elif self.item in constants.CHOICE_ITEMS and not pkmn.can_have_choice_item: - return False - elif self.item == "choiceband" and pkmn.can_not_have_band: - return False - elif self.item == "choicespecs" and pkmn.can_not_have_specs: - return False - else: - return self.item == pkmn.item or pkmn.item is None or pkmn.item == constants.UNKNOWN_ITEM - - def speed_check(self, pkmn: Pokemon): - """ - The only non-observable speed modifier that should allow a - Pokemon's speed_range to be set is choicescarf - """ - stats = calculate_stats(pkmn.base_stats, pkmn.level, evs=self.evs, nature=self.nature) - speed = stats[constants.SPEED] - if self.item == "choicescarf": - speed = int(speed * 1.5) - - return pkmn.speed_range.min <= speed <= pkmn.speed_range.max - - def pkmn_can_contain_set(self, pkmn: Pokemon, match_ability=True, match_item=True, speed_check=True) -> bool: - ability_check = not match_ability or ( - self.ability == pkmn.ability or pkmn.ability is None - ) - item_check = not match_item or self.item_check(pkmn) - speed_check = not speed_check or self.speed_check(pkmn) - - return ability_check and item_check and speed_check and self.moves.pkmn_can_have_moves(pkmn) - - -class _TeamDatasets: - def __init__(self): - self.pokemon_sets = {} - - def set_pokemon_sets(self, pkmn_names): - """ - To not have to hold the entire `team_datasets.json` in memory, - this allows you to only populate team_datasets with only the - sets of the pokemon you provide. Ideally this is called during - team preview - """ - self.pokemon_sets = {} - self.append_to_team_datasets(pkmn_names) - - def append_to_team_datasets(self, pkmn_names): - sets = os.path.join(PWD, 'team_datasets.json') - with open(sets, 'r') as f: - sets_dict = json.load(f)["pokemon"] - - for pkmn in pkmn_names: - try: - self.pokemon_sets[pkmn] = sets_dict[pkmn] - except KeyError: - logger.warning("No pokemon information being added for {}".format(pkmn)) - - @staticmethod - def get_exact_team(pkmn_names): - sets = os.path.join(PWD, 'team_datasets.json') - with open(sets, 'r') as f: - teams_dict = json.load(f)["teams"] - - pkmn_lookup = "|".join(pkmn_names) - try: - return teams_dict[pkmn_lookup][0] - except KeyError: - return None - - @staticmethod - def to_pokemon_set(pkmn_set_str: str) -> PokemonSet: - tera_type, ability, item, nature, evs, *moves = pkmn_set_str.split("|") - split_evs = evs.split(",") - return PokemonSet( - tera_type, - ability, - item, - nature, - ( - int(split_evs[0]), - int(split_evs[1]), - int(split_evs[2]), - int(split_evs[3]), - int(split_evs[4]), - int(split_evs[5]), - ), - PokemonMoveset(tuple(moves)) - ) - - def predict_set(self, pkmn: Pokemon, match_ability=True, match_item=True) -> Optional[PokemonSet]: - """ - Finds the most likely PokemonSet that this Pokemon can have from self.team_datasets - - Returns None if a PokemonSet cannot be found - """ - if not self.pokemon_sets: - logger.warning("Called `predict_set` when team_datasets was empty") - - try: - pkmn_data = self.pokemon_sets[pkmn.name] - except KeyError: - pkmn_data = {} - - for pkmn_set, _ in sorted(pkmn_data.items(), key=lambda x: x[1], reverse=True): - pkmn_set = self.to_pokemon_set(pkmn_set) - if pkmn_set.pkmn_can_contain_set(pkmn, match_ability=match_ability, match_item=match_item): - return pkmn_set - - return None - - -TeamDatasets = _TeamDatasets() diff --git a/env b/env index 1cb95d94e..3494e0161 100644 --- a/env +++ b/env @@ -1,7 +1,7 @@ -BATTLE_BOT=safest +BATTLE_BOT=minimax WEBSOCKET_URI=wss://sim3.psim.us/showdown/websocket -PS_USERNAME=MyUsername -PS_PASSWORD=MyPassword +# PS_USERNAME=MyUsername +# PS_PASSWORD=MyPassword BOT_MODE=SEARCH_LADDER POKEMON_MODE=gen7randombattle RUN_COUNT=1 diff --git a/showdown/__init__.py b/fp/__init__.py similarity index 100% rename from showdown/__init__.py rename to fp/__init__.py diff --git a/fp/battle.py b/fp/battle.py new file mode 100644 index 000000000..a9f772f7b --- /dev/null +++ b/fp/battle.py @@ -0,0 +1,687 @@ +from collections import defaultdict +from collections import namedtuple +from copy import copy +from abc import ABC +from abc import abstractmethod + +import constants +import logging +from config import FoulPlayConfig + +from data import all_move_json +from data import pokedex + +from fp.helpers import get_pokemon_info_from_condition +from fp.helpers import normalize_name +from fp.helpers import calculate_stats + +from fp.helpers import pokemon_type_indicies + + +logger = logging.getLogger(__name__) + + +LastUsedMove = namedtuple("LastUsedMove", ["pokemon_name", "move", "turn"]) +DamageDealt = namedtuple( + "DamageDealt", ["attacker", "defender", "move", "percent_damage", "crit"] +) +StatRange = namedtuple("Range", ["min", "max"]) + + +# Based on the format, this dict controls which pokemon will be replaced during team preview +# Some pokemon's forms are not revealed in team preview +smart_team_preview = { + "gen8ou": { + "urshifu": "urshifurapidstrike" # urshifu banned in gen8ou + }, + "gen9battlefactory": { + "zacian": "zaciancrowned" # only zaciancrowned is used in gen9battlefactory + }, +} + + +boost_multiplier_lookup = { + -6: 2 / 8, + -5: 2 / 7, + -4: 2 / 6, + -3: 2 / 5, + -2: 2 / 4, + -1: 2 / 3, + 0: 2 / 2, + 1: 3 / 2, + 2: 4 / 2, + 3: 5 / 2, + 4: 6 / 2, + 5: 7 / 2, + 6: 8 / 2, +} + + +class Battle(ABC): + def __init__(self, battle_tag): + self.battle_tag = battle_tag + self.user = Battler() + self.opponent = Battler() + self.weather = None + self.weather_turns_remaining = -1 + self.field = None + self.field_turns_remaining = 0 + self.trick_room = False + self.trick_room_turns_remaining = 0 + self.gravity = False + self.team_preview = False + + self.turn = False + + self.started = False + self.rqid = None + + self.force_switch = False + self.wait = False + + self.battle_type = None + self.generation = None + self.time_remaining = None + + self.request_json = None + + def initialize_team_preview(self, user_json, opponent_pokemon, battle_type): + self.user.initialize_first_turn_user_from_json(user_json) + self.user.reserve.insert(0, self.user.active) + self.user.active = None + + for pkmn_string in opponent_pokemon: + pokemon = Pokemon.from_switch_string(pkmn_string) + + if pokemon.name in smart_team_preview.get(battle_type, {}): + new_pokemon_name = smart_team_preview[battle_type][pokemon.name] + logger.info( + "Smart team preview: Replaced {} with {}".format( + pokemon.name, new_pokemon_name + ) + ) + pokemon = Pokemon(new_pokemon_name, pokemon.level) + + elif pkmn_string.endswith("-*"): + pokemon.unknown_forme = True + + self.opponent.reserve.append(pokemon) + + self.started = True + self.rqid = user_json[constants.RQID] + + def during_team_preview(self): ... + + def start_non_team_preview_battle(self, user_json, opponent_switch_string): + self.user.initialize_first_turn_user_from_json(user_json) + + pkmn_information = opponent_switch_string.split("|")[3] + pkmn = Pokemon.from_switch_string(pkmn_information) + self.opponent.active = pkmn + + self.started = True + self.rqid = user_json[constants.RQID] + + def mega_evolve_possible(self): + return ( + any(g in self.generation for g in constants.MEGA_EVOLVE_GENERATIONS) + or "nationaldex" in FoulPlayConfig.pokemon_mode + ) + + def get_effective_speed(self, battler): + boosted_speed = battler.active.calculate_boosted_stats()[constants.SPEED] + + if self.weather == constants.SUN and battler.active.ability == "chlorophyll": + boosted_speed *= 2 + elif self.weather == constants.RAIN and battler.active.ability == "swiftswim": + boosted_speed *= 2 + elif self.weather == constants.SAND and battler.active.ability == "sandrush": + boosted_speed *= 2 + elif ( + self.weather in constants.HAIL_OR_SNOW + and battler.active.ability == "slushrush" + ): + boosted_speed *= 2 + + if ( + self.field == constants.ELECTRIC_TERRAIN + and battler.active.ability == "surgesurfer" + ): + boosted_speed *= 2 + + if battler.active.ability == "unburden" and not battler.active.item: + boosted_speed *= 2 + elif ( + battler.active.ability == "quickfeet" and battler.active.status is not None + ): + boosted_speed *= 1.5 + + if battler.side_conditions[constants.TAILWIND]: + boosted_speed *= 2 + + if "choicescarf" == battler.active.item: + boosted_speed *= 1.5 + + if ( + constants.PARALYZED == battler.active.status + and battler.active.ability != "quickfeet" + ): + boosted_speed *= 0.5 + + if any( + vs in battler.active.volatile_statuses + for vs in ["quarkdrivespe", "protosynthesisspe"] + ): + boosted_speed *= 1.5 + + return int(boosted_speed) + + @abstractmethod + def find_best_move(self): ... + + +class Battler: + def __init__(self): + self.active = None + self.reserve = [] + self.side_conditions = defaultdict(lambda: 0) + + self.name = None + self.trapped = False + self.baton_passing = False + self.wish = (0, 0) + self.future_sight = (0, "") + + self.account_name = None + + # last_selected_move: The last move that was selected (Bot only) + # last_used_move: The last move that was observed publicly (Bot and Opponent) + # they may seem the same, but `last_selected_move` is important in situations where the bot selects + # a move but gets knocked out before it can use it + self.last_selected_move = LastUsedMove("", "", 0) + self.last_used_move = LastUsedMove("", "", 0) + + def mega_revealed(self): + return self.active.is_mega or any(p.is_mega for p in self.reserve) + + def find_pokemon_in_reserves(self, pkmn_name): + for reserve_pkmn in self.reserve: + if reserve_pkmn.name == pkmn_name or reserve_pkmn.base_name == pkmn_name: + return reserve_pkmn + return None + + def find_reserve_pkmn_by_unknown_forme(self, pkmn_name): + for reserve_pkmn in filter(lambda x: x.unknown_forme, self.reserve): + pkmn_base_forme = normalize_name(pokedex[pkmn_name].get("changesFrom", "")) + if pkmn_base_forme == reserve_pkmn.base_name: + return reserve_pkmn + return None + + def find_reserve_pokemon_by_nickname(self, pkmn_nickname): + for reserve_pkmn in self.reserve: + if pkmn_nickname == reserve_pkmn.nickname: + return reserve_pkmn + return None + + def lock_active_pkmn_first_turn_moves(self): + # disable firstimpression and fakeout if the last_used_move was not a switch + if self.last_used_move.pokemon_name == self.active.name: + for m in self.active.moves: + if m.name in constants.FIRST_TURN_MOVES: + m.disabled = True + + def lock_active_pkmn_status_moves_if_active_has_assaultvest(self): + if self.active.item == "assaultvest": + for m in self.active.moves: + if all_move_json[m.name][constants.CATEGORY] == constants.STATUS: + m.disabled = True + + def choice_lock_moves(self): + # if the active pokemon has a choice item and their last used move was by this pokemon -> lock their other moves + # + # known bug: the bot tricking a choice item onto the opponent will lock their move when it shouldn't. + # this will only happen if the bot tricks the opponent after the opponent has already used a move + if ( + self.active.item in constants.CHOICE_ITEMS + and self.last_used_move.pokemon_name == self.active.name + and self.last_used_move.move not in ["trick", "switcheroo"] + ): + for m in self.active.moves: + if ( + self.last_used_move.move == constants.HIDDEN_POWER + and m.name.startswith(constants.HIDDEN_POWER) + ): + pass + elif m.name != self.last_used_move.move: + m.disabled = True + + def taunt_lock_moves(self): + if constants.TAUNT in self.active.volatile_statuses: + for m in self.active.moves: + if all_move_json[m.name][constants.CATEGORY] == constants.STATUS: + m.disabled = True + + def locked_move_lock(self): + if constants.LOCKED_MOVE in self.active.volatile_statuses: + for m in self.active.moves: + if m.name != self.last_used_move.move: + m.disabled = True + + def lock_moves(self): + self.choice_lock_moves() + self.lock_active_pkmn_status_moves_if_active_has_assaultvest() + self.lock_active_pkmn_first_turn_moves() + self.taunt_lock_moves() + self.locked_move_lock() + + def _initialize_user_active_from_request_json(self, request_json): + self.active.can_mega_evo = request_json[constants.ACTIVE][0].get( + constants.CAN_MEGA_EVO, False + ) + self.active.can_ultra_burst = request_json[constants.ACTIVE][0].get( + constants.CAN_ULTRA_BURST, False + ) + self.active.can_dynamax = request_json[constants.ACTIVE][0].get( + constants.CAN_DYNAMAX, False + ) + self.active.can_terastallize = request_json[constants.ACTIVE][0].get( + constants.CAN_TERASTALLIZE, False + ) + + # request JSON gives detailed information about the moves + # available to the active pkmn. Take those as the source of truth + self.active.moves.clear() + for index, move in enumerate( + request_json[constants.ACTIVE][0][constants.MOVES] + ): + # hidden power's ID is always 'hiddenpower' regardless of the type + # parse it separately from the 'move' key + if move[constants.ID] == constants.HIDDEN_POWER: + self.active.add_move(normalize_name(move["move"])) + else: + self.active.add_move(move[constants.ID]) + self.active.moves[-1].disabled = move.get(constants.DISABLED, False) + self.active.moves[-1].current_pp = move.get(constants.PP, 1) + + try: + self.active.moves[index].can_z = request_json[constants.ACTIVE][0][ + constants.CAN_Z_MOVE + ][index] + except KeyError: + pass + + def update_from_request_json(self, request_json): + """ + Updates the battler's information based on the request JSON + This should be called with a cloned battle/battler so that the original is not modified + """ + try: + trapped = request_json[constants.ACTIVE][0].get(constants.TRAPPED, False) + maybe_trapped = request_json[constants.ACTIVE][0].get( + constants.MAYBE_TRAPPED, False + ) + self.trapped = trapped or maybe_trapped + except KeyError: + self.trapped = False + + for index, pkmn_dict in enumerate( + request_json[constants.SIDE][constants.POKEMON] + ): + switch_string_pkmn = Pokemon.from_switch_string( + pkmn_dict[constants.DETAILS] + ) + pkmn_name = switch_string_pkmn.name + pkmn_level = switch_string_pkmn.level + pkmn_status = switch_string_pkmn.status + if pkmn_dict[constants.ACTIVE]: + if self.active.name != pkmn_name and self.active.base_name != pkmn_name: + raise ValueError( + "Active pokemon mismatch: expected {} or {}, got {}".format( + self.active.name, self.active.base_name, pkmn_name + ) + ) + + if constants.ACTIVE in request_json: + self._initialize_user_active_from_request_json(request_json) + + pkmn = self.active + else: + pkmn = self.find_pokemon_in_reserves(pkmn_name) + for move_name in pkmn_dict[constants.MOVES]: + if not pkmn.get_move(move_name): + pkmn.add_move(move_name) + + pkmn.index = index + 1 + pkmn.level = pkmn_level + pkmn.status = pkmn_status + pkmn.nickname = self.active.extract_nickname_from_pokemonshowdown_string( + pkmn_dict[constants.IDENT] + ) + pkmn.reviving = pkmn_dict.get(constants.REVIVING, False) + pkmn.hp, pkmn.max_hp, pkmn.status = get_pokemon_info_from_condition( + pkmn_dict[constants.CONDITION] + ) + pkmn.ability = pkmn_dict[constants.REQUEST_DICT_ABILITY] + pkmn.item = pkmn_dict[constants.ITEM] if pkmn_dict[constants.ITEM] else None + for stat, number in pkmn_dict[constants.STATS].items(): + pkmn.stats[constants.STAT_ABBREVIATION_LOOKUPS[stat]] = number + + def re_initialize_active_pokemon_from_request_json(self, request_json): + """ + Re-initializes the active pokemon based on the last request JSON that was received + This is useful when the bot's active pkmn has mega-evolved. We need to get the new stats/hp + """ + pokedex_name = normalize_name(pokedex[self.active.name][constants.NAME]) + request_json_active_pkmn = [ + p + for p in request_json["side"]["pokemon"] + if normalize_name(p[constants.DETAILS]).split(",")[0] == pokedex_name + or normalize_name(p[constants.DETAILS]).split(",")[0] + == self.active.base_name + ] + if pokedex_name == "terapagosstellar" and len(request_json_active_pkmn) == 0: + request_json_active_pkmn = [ + p + for p in request_json["side"]["pokemon"] + if normalize_name(p[constants.DETAILS]).split(",")[0] + == "terapagosterastal" + or normalize_name(p[constants.DETAILS]).split(",")[0] + == self.active.base_name + ] + assert ( + len(request_json_active_pkmn) == 1 + ), f"Didn't find exactly 1 {pokedex_name}, pokemon: {request_json}" + pkmn_info = request_json_active_pkmn[0] + for stat, number in pkmn_info[constants.STATS].items(): + self.active.stats[constants.STAT_ABBREVIATION_LOOKUPS[stat]] = number + self.active.hp, _, _ = get_pokemon_info_from_condition( + pkmn_info[constants.CONDITION] + ) + + def initialize_first_turn_user_from_json(self, request_json): + """ + Similar to `update_from_request_json`, but meant to be used on the first `request_json` that is seen + This function differs in that it adds new pokemon to the Side rather than modifying existing ones + """ + try: + trapped = request_json[constants.ACTIVE][0].get(constants.TRAPPED, False) + maybe_trapped = request_json[constants.ACTIVE][0].get( + constants.MAYBE_TRAPPED, False + ) + self.trapped = trapped or maybe_trapped + except KeyError: + self.trapped = False + + self.name = request_json[constants.SIDE][constants.ID] + self.reserve.clear() + for index, pkmn_dict in enumerate( + request_json[constants.SIDE][constants.POKEMON] + ): + nickname = pkmn_dict[constants.IDENT] + pkmn_details = pkmn_dict[constants.DETAILS] + pkmn_item = pkmn_dict[constants.ITEM] if pkmn_dict[constants.ITEM] else None + + # For some reason PS sends "zacian" during team preview + # when you have a zacian with a rusted sword + if ( + normalize_name(pkmn_details).startswith("zacian") + and pkmn_item == "rustedsword" + ): + pkmn_details = "zaciancrowned" + + pkmn = Pokemon.from_switch_string(pkmn_details, nickname=nickname) + pkmn.ability = pkmn_dict[constants.REQUEST_DICT_ABILITY] + pkmn.index = index + 1 + pkmn.reviving = pkmn_dict.get(constants.REVIVING, False) + pkmn.hp, pkmn.max_hp, pkmn.status = get_pokemon_info_from_condition( + pkmn_dict[constants.CONDITION] + ) + for stat, number in pkmn_dict[constants.STATS].items(): + pkmn.stats[constants.STAT_ABBREVIATION_LOOKUPS[stat]] = number + + pkmn.item = pkmn_item + if constants.TERA_TYPE in pkmn_dict: + pkmn.tera_type = normalize_name(pkmn_dict[constants.TERA_TYPE]) + + if pkmn_dict[constants.ACTIVE]: + self.active = pkmn + else: + self.reserve.append(pkmn) + + for move_name in pkmn_dict[constants.MOVES]: + pkmn.add_move(move_name) + + # if there is no active pokemon, we do not want to look through it's moves + if constants.ACTIVE not in request_json: + return + + self._initialize_user_active_from_request_json(request_json) + + def to_dict(self): + return { + constants.TRAPPED: self.trapped, + constants.ACTIVE: self.active.to_dict(), + constants.RESERVE: [p.to_dict() for p in self.reserve], + constants.WISH: copy(self.wish), + constants.FUTURE_SIGHT: copy(self.future_sight), + constants.SIDE_CONDITIONS: copy(self.side_conditions), + } + + +class Pokemon: + def __init__(self, name: str, level: int, nature="serious", evs=(85,) * 6): + self.name = normalize_name(name) + self.nickname = None + self.base_name = self.name + self.level = level + self.nature = nature + self.evs = evs + self.speed_range = StatRange(min=0, max=float("inf")) + self.hidden_power_possibilities = set(pokemon_type_indicies.keys()) + + try: + self.base_stats = pokedex[self.name][constants.BASESTATS] + except KeyError: + logger.info("Could not pokedex entry for {}".format(self.name)) + self.name = [k for k in pokedex if self.name.startswith(k)][0] + logger.info("Using {} instead".format(self.name)) + self.base_stats = pokedex[self.name][constants.BASESTATS] + + self.stats = calculate_stats( + self.base_stats, self.level, nature=nature, evs=evs + ) + + self.max_hp = self.stats.pop(constants.HITPOINTS) + self.hp = self.max_hp + self.substitute_hit = False + if self.name == "shedinja": + self.max_hp = 1 + self.hp = 1 + + self.ability = None + self.types = pokedex[self.name][constants.TYPES] + self.item = constants.UNKNOWN_ITEM + self.unknown_forme = False + + self.moves_used_since_switch_in = set() + self.zoroark_disguised_as = None + self.terastallized = False + self.tera_type = None + self.original_ability = None + self.fainted = False + self.reviving = False + self.moves = [] + self.status = None + self.volatile_statuses = [] + self.boosts = defaultdict(lambda: 0) + self.rest_turns = 0 + self.sleep_turns = 0 + self.knocked_off = False + self.can_mega_evo = False + self.can_ultra_burst = False + self.can_dynamax = False + self.can_terastallize = False + self.is_mega = False + self.can_have_choice_item = True + self.item_inferred = False + self.gen_3_consecutive_sleep_talks = 0 + self.impossible_items = set() + + def forme_change(self, new_forme_switch_string): + current_hp_percentage = self.hp / self.max_hp + + new_pokemon = Pokemon.from_switch_string(new_forme_switch_string) + self.name = new_pokemon.name + self.max_hp = new_pokemon.max_hp + self.hp = int(current_hp_percentage * self.max_hp) + self.base_stats = new_pokemon.base_stats + self.stats = calculate_stats(self.base_stats, self.level) + self.ability = new_pokemon.ability + self.types = new_pokemon.types + + def is_alive(self): + return self.hp > 0 + + def calculate_boosted_stats(self): + return { + constants.ATTACK: boost_multiplier_lookup[self.boosts[constants.ATTACK]] + * self.stats[constants.ATTACK], + constants.DEFENSE: boost_multiplier_lookup[self.boosts[constants.DEFENSE]] + * self.stats[constants.DEFENSE], + constants.SPECIAL_ATTACK: boost_multiplier_lookup[ + self.boosts[constants.SPECIAL_ATTACK] + ] + * self.stats[constants.SPECIAL_ATTACK], + constants.SPECIAL_DEFENSE: boost_multiplier_lookup[ + self.boosts[constants.SPECIAL_DEFENSE] + ] + * self.stats[constants.SPECIAL_DEFENSE], + constants.SPEED: boost_multiplier_lookup[self.boosts[constants.SPEED]] + * self.stats[constants.SPEED], + } + + @classmethod + def extract_nickname_from_pokemonshowdown_string(cls, ps_string): + return "".join(ps_string.split(":")[1:]).strip() + + @classmethod + def from_switch_string(cls, switch_string, nickname=None): + if nickname is not None: + nickname = cls.extract_nickname_from_pokemonshowdown_string(nickname) + + details = switch_string.split(",") + name = details[0] + try: + level = int(details[1].replace("L", "").strip()) + except (IndexError, ValueError): + level = 100 + pkmn = Pokemon(name, level) + pkmn.nickname = nickname + return pkmn + + def set_spread(self, nature, evs): + if isinstance(evs, str): + evs = [int(e) for e in evs.split(",")] + hp_percent = self.hp / self.max_hp + self.stats = calculate_stats( + self.base_stats, self.level, evs=evs, nature=nature + ) + self.nature = nature + self.evs = evs + self.max_hp = self.stats.pop(constants.HITPOINTS) + self.hp = round(self.max_hp * hp_percent) + + def add_move(self, move_name: str): + try: + new_move = Move(move_name) + self.moves.append(new_move) + return new_move + except KeyError: + logger.warning("{} is not a known move".format(move_name)) + return None + + def remove_move(self, move_name: str): + for mv in self.moves: + if mv.name == move_name: + self.moves.remove(mv) + return True + return False + + def get_move(self, move_name: str): + for m in self.moves: + if m.name == normalize_name(move_name): + return m + elif m.name.startswith(constants.HIDDEN_POWER) and move_name.startswith( + constants.HIDDEN_POWER + ): + return m + return None + + def to_dict(self): + return { + constants.FAINTED: self.fainted, + constants.ID: self.name, + constants.LEVEL: self.level, + constants.TYPES: self.types, + constants.HITPOINTS: self.hp, + constants.MAXHP: self.max_hp, + constants.ABILITY: self.ability, + constants.ITEM: self.item, + constants.BASESTATS: self.base_stats, + constants.STATS: self.stats, + constants.NATURE: self.nature, + constants.EVS: self.evs, + constants.BOOSTS: self.boosts, + constants.STATUS: self.status, + constants.TERASTALLIZED: self.terastallized, + constants.VOLATILE_STATUS: set(self.volatile_statuses), + constants.MOVES: [m.to_dict() for m in self.moves], + } + + @classmethod + def get_dummy(cls): + p = Pokemon("pikachu", 100) + p.hp = 0 + p.name = "" + p.ability = None + p.fainted = True + return p + + def __eq__(self, other): + return self.name == other.name and self.level == other.level + + def __repr__(self): + return "{}, level {}".format(self.name, self.level) + + +class Move: + def __init__(self, name): + name = normalize_name(name) + if ( + constants.HIDDEN_POWER != name + and constants.HIDDEN_POWER in name + and not name.endswith(constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING) + ): + name = "{}{}".format( + name, constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING + ) + move_json = all_move_json[name] + self.name = name + self.max_pp = int(move_json.get(constants.PP) * 1.6) + + self.disabled = False + self.can_z = False + self.current_pp = self.max_pp + + def to_dict(self): + return { + "id": self.name, + "disabled": self.disabled, + "current_pp": self.current_pp, + } + + def __eq__(self, other): + return self.name == other.name + + def __repr__(self): + return "{}".format(self.name) diff --git a/showdown/battle_bots/__init__.py b/fp/battle_bots/__init__.py similarity index 100% rename from showdown/battle_bots/__init__.py rename to fp/battle_bots/__init__.py diff --git a/fp/battle_bots/helpers.py b/fp/battle_bots/helpers.py new file mode 100644 index 000000000..3cca264bd --- /dev/null +++ b/fp/battle_bots/helpers.py @@ -0,0 +1,193 @@ +import logging +from copy import deepcopy + +import constants +from data.pkmn_sets import RandomBattleTeamDatasets, TeamDatasets, SmogonSets +from fp.battle import Pokemon, Battle + +logger = logging.getLogger(__name__) + + +def log_predicted_set(pkmn, source=None): + s = "Predicted set: {} {} {} {} {} {}".format( + pkmn.name.rjust(15), + pkmn.nature.ljust(7), + str(pkmn.evs).ljust(25), + str(pkmn.ability).ljust(12), + str(pkmn.item).ljust(12), + pkmn.moves, + ) + if pkmn.tera_type is not None: + s += " ttype={}".format(pkmn.tera_type) + if source: + s += ", source={}".format(source) + + logger.info(s) + + +def prepare_battle(battle: Battle, fn: callable): + battle = deepcopy(battle) + + fn(battle.opponent.active) + for pkmn in filter(lambda x: x.is_alive(), battle.opponent.reserve): + fn(pkmn) + + battle.opponent.lock_moves() + return battle + + +def fill_in_randombattle_unknowns(pkmn: Pokemon): + predicted_set = RandomBattleTeamDatasets.predict_set(pkmn, match_traits=True) + if predicted_set is None: + predicted_set = RandomBattleTeamDatasets.predict_set(pkmn, match_traits=False) + + known_pokemon_moves = pkmn.moves + if predicted_set is not None: + pkmn.moves = [] + for mv in predicted_set.pkmn_moveset.moves: + pkmn.add_move(mv) + pkmn.ability = pkmn.ability or predicted_set.pkmn_set.ability + if pkmn.item == constants.UNKNOWN_ITEM: + pkmn.item = predicted_set.pkmn_set.item + pkmn.set_spread( + predicted_set.pkmn_set.nature, + ",".join(str(x) for x in predicted_set.pkmn_set.evs), + ) + if predicted_set.pkmn_set.tera_type is not None: + pkmn.tera_type = predicted_set.pkmn_set.tera_type + log_predicted_set(pkmn) + else: + logger.info("Could not predict set for {}".format(pkmn.name)) + + # newly created moves have max PP + # copy over the current pp from the known moves + for known_move in known_pokemon_moves: + for mv in pkmn.moves: + if known_move.name.startswith("hiddenpower") and mv.name.startswith( + "hiddenpower" + ): + mv.current_pp = known_move.current_pp + break + elif mv.name == known_move.name: + mv.current_pp = known_move.current_pp + break + + +def fill_in_battle_factory_unknowns(pkmn: Pokemon): + predicted_team_set = TeamDatasets.predict_set(pkmn) + predicted_team_set_no_ability_item_match = TeamDatasets.predict_set( + pkmn, match_traits=False + ) + + if predicted_team_set: + predicted_set = predicted_team_set + source = "team_datasets" + elif predicted_team_set_no_ability_item_match: + predicted_set = predicted_team_set_no_ability_item_match + source = "team_datasets_no_trait_match" + else: + predicted_set = None + + if predicted_set is not None: + pkmn.moves = [] + for mv in predicted_set.pkmn_moveset.moves: + pkmn.add_move(mv) + pkmn.ability = pkmn.ability or predicted_set.pkmn_set.ability + if pkmn.item == constants.UNKNOWN_ITEM: + pkmn.item = predicted_set.pkmn_set.item + pkmn.set_spread(predicted_set.pkmn_set.nature, predicted_set.pkmn_set.evs) + if predicted_set.pkmn_set.tera_type is not None: + pkmn.tera_type = predicted_set.pkmn_set.tera_type + log_predicted_set(pkmn, source) + else: + logger.info("Could not predict set for {}".format(pkmn.name)) + + +def fill_in_standardbattle_unknowns(pkmn: Pokemon): + predicted_team_set = TeamDatasets.predict_set(pkmn) + predicted_team_set_no_ability_item_match = TeamDatasets.predict_set( + pkmn, match_traits=False + ) + predicted_smogon_sets = SmogonSets.predict_set(pkmn) + predicted_smogon_sets_no_trait_match = SmogonSets.predict_set( + pkmn, match_traits=False + ) + predicted_smogon_sets_6_moves = SmogonSets.predict_set(pkmn, num_predicted_moves=6) + predicted_smogon_sets_6_moves_no_trait_match = SmogonSets.predict_set( + pkmn, num_predicted_moves=6, match_traits=False + ) + + if predicted_team_set and pkmn.moves: + predicted_set = predicted_team_set + source = "team_datasets" + elif predicted_team_set_no_ability_item_match and pkmn.moves: + predicted_set = predicted_team_set_no_ability_item_match + source = "team_datasets_no_trait_match" + elif predicted_smogon_sets and pkmn.moves: + predicted_set = predicted_smogon_sets + source = "smogon_stats" + elif predicted_smogon_sets_no_trait_match and pkmn.moves: + predicted_set = predicted_smogon_sets_no_trait_match + source = "smogon_stats_no_trait_match" + elif predicted_smogon_sets_6_moves: + predicted_set = predicted_smogon_sets_6_moves + source = "smogon_stats_6_moves" + elif predicted_smogon_sets_6_moves_no_trait_match: + predicted_set = predicted_smogon_sets_6_moves_no_trait_match + source = "smogon_stats_6_moves_no_trait_match" + else: + predicted_set = RandomBattleTeamDatasets.predict_set(pkmn, match_traits=False) + source = "randombattle_datasets" + + if predicted_set is not None: + pkmn.moves = [] + for mv in predicted_set.pkmn_moveset.moves: + pkmn.add_move(mv) + pkmn.ability = pkmn.ability or predicted_set.pkmn_set.ability + if pkmn.item == constants.UNKNOWN_ITEM: + pkmn.item = predicted_set.pkmn_set.item + pkmn.set_spread(predicted_set.pkmn_set.nature, predicted_set.pkmn_set.evs) + if predicted_set.pkmn_set.tera_type is not None: + pkmn.tera_type = predicted_set.pkmn_set.tera_type + log_predicted_set(pkmn, source) + else: + logger.info("Could not predict set for {}".format(pkmn.name)) + + +def format_decision(battle, decision): + # Formats a decision for communication with Pokemon-Showdown + # If the pokemon can mega-evolve, it will + # If the move can be used as a Z-Move, it will be + + if decision.startswith(constants.SWITCH_STRING + " "): + switch_pokemon = decision.split("switch ")[-1] + for pkmn in battle.user.reserve: + if pkmn.name == switch_pokemon: + message = "/switch {}".format(pkmn.index) + break + else: + raise ValueError("Tried to switch to: {}".format(switch_pokemon)) + else: + tera = False + if decision.endswith("-tera"): + decision = decision.replace("-tera", "") + tera = True + message = "/choose move {}".format(decision) + if battle.user.active.can_mega_evo: + message = "{} {}".format(message, constants.MEGA) + elif battle.user.active.can_ultra_burst: + message = "{} {}".format(message, constants.ULTRA_BURST) + + # only dynamax on last pokemon + if battle.user.active.can_dynamax and all( + p.hp == 0 for p in battle.user.reserve + ): + message = "{} {}".format(message, constants.DYNAMAX) + + if tera: + message = "{} {}".format(message, constants.TERASTALLIZE) + + if battle.user.active.get_move(decision).can_z: + message = "{} {}".format(message, constants.ZMOVE) + + return [message, str(battle.rqid)] diff --git a/showdown/battle_bots/most_damage/__init__.py b/fp/battle_bots/mcts/__init__.py similarity index 100% rename from showdown/battle_bots/most_damage/__init__.py rename to fp/battle_bots/mcts/__init__.py diff --git a/fp/battle_bots/mcts/main.py b/fp/battle_bots/mcts/main.py new file mode 100644 index 000000000..1f3516dc3 --- /dev/null +++ b/fp/battle_bots/mcts/main.py @@ -0,0 +1,52 @@ +import logging + +import constants +from fp.battle import Battle +from config import FoulPlayConfig + +from ..helpers import ( + fill_in_standardbattle_unknowns, + fill_in_randombattle_unknowns, + prepare_battle, + fill_in_battle_factory_unknowns, +) +from ..poke_engine_helpers import ( + get_payoff_matrix_from_mcts, + battle_to_poke_engine_state, +) + +logger = logging.getLogger(__name__) + + +class BattleBot(Battle): + def __init__(self, *args, **kwargs): + super(BattleBot, self).__init__(*args, **kwargs) + + def find_best_move(self): + if self.team_preview: + self.user.active = self.user.reserve.pop(0) + self.opponent.active = self.opponent.reserve.pop(0) + + if self.battle_type == constants.RANDOM_BATTLE: + fn = fill_in_randombattle_unknowns + elif self.battle_type == constants.BATTLE_FACTORY: + fn = fill_in_battle_factory_unknowns + else: + fn = fill_in_standardbattle_unknowns + + battle = prepare_battle(self, fn) + + logger.info("Searching for a move using MCTS...") + choice, win_percentage, num_iterations = get_payoff_matrix_from_mcts( + battle_to_poke_engine_state(battle), FoulPlayConfig.search_time_ms + ) + logger.info("Choice: {}, {}".format(choice, win_percentage)) + logger.info("Iterations: {}".format(num_iterations)) + + if self.team_preview: + self.user.reserve.insert(0, self.user.active) + self.user.active = None + self.opponent.reserve.insert(0, self.opponent.active) + self.opponent.active = None + + return choice diff --git a/showdown/battle_bots/nash_equilibrium/__init__.py b/fp/battle_bots/minimax/__init__.py similarity index 100% rename from showdown/battle_bots/nash_equilibrium/__init__.py rename to fp/battle_bots/minimax/__init__.py diff --git a/fp/battle_bots/minimax/main.py b/fp/battle_bots/minimax/main.py new file mode 100644 index 000000000..45ba248c0 --- /dev/null +++ b/fp/battle_bots/minimax/main.py @@ -0,0 +1,51 @@ +import logging + +import constants +from fp.battle import Battle +from config import FoulPlayConfig + +from ..helpers import ( + fill_in_standardbattle_unknowns, + fill_in_randombattle_unknowns, + prepare_battle, + fill_in_battle_factory_unknowns, +) +from ..poke_engine_helpers import battle_to_poke_engine_state +from ..poke_engine_helpers import get_payoff_matrix_with_minimax + + +logger = logging.getLogger(__name__) + + +class BattleBot(Battle): + def __init__(self, *args, **kwargs): + super(BattleBot, self).__init__(*args, **kwargs) + + def find_best_move(self): + if self.team_preview: + self.user.active = self.user.reserve.pop(0) + self.opponent.active = self.opponent.reserve.pop(0) + + if self.battle_type == constants.RANDOM_BATTLE: + fn = fill_in_randombattle_unknowns + elif self.battle_type == constants.BATTLE_FACTORY: + fn = fill_in_battle_factory_unknowns + else: + fn = fill_in_standardbattle_unknowns + + battle = prepare_battle(self, fn) + + logger.info("Searching for a move using Expectiminimax...") + choice = get_payoff_matrix_with_minimax( + battle_to_poke_engine_state(battle), + search_time_ms=FoulPlayConfig.search_time_ms, + ) + logger.info("Choice: {}".format(choice)) + + if self.team_preview: + self.user.reserve.insert(0, self.user.active) + self.user.active = None + self.opponent.reserve.insert(0, self.opponent.active) + self.opponent.active = None + + return choice diff --git a/fp/battle_bots/poke_engine_helpers.py b/fp/battle_bots/poke_engine_helpers.py new file mode 100644 index 000000000..a8ea80dda --- /dev/null +++ b/fp/battle_bots/poke_engine_helpers.py @@ -0,0 +1,381 @@ +import logging + +import constants +from data import pokedex +from fp.battle import Battle, Pokemon, Battler, LastUsedMove + +from poke_engine import ( + State as PokeEngineState, + Side as PokeEngineSide, + SideConditions as PokeEngineSideConditions, + Pokemon as PokeEnginePokemon, + Move as PokeEngineMove, + monte_carlo_tree_search, + calculate_damage, + iterative_deepening_expectiminimax, +) + +logger = logging.getLogger(__name__) + + +def status_to_string(status): + if status == constants.SLEEP: + return "Sleep" + elif status == constants.BURN: + return "Burn" + elif status == constants.FROZEN: + return "Freeze" + elif status == constants.PARALYZED: + return "Paralyze" + elif status == constants.POISON: + return "Poison" + elif status == constants.TOXIC: + return "Toxic" + elif status is None: + return "None" + raise ValueError(f"Unknown status: {status}") + + +def pokemon_to_poke_engine_pkmn(pkmn: Pokemon): + """ + id,level,type0,type1,hp,maxhp,ability,item,atk,def,spa,spd,spe,atkb,defb,spab,spdb,speb,accb,evab,status,subhp,restturns + nature,volatiles,m0,m1,m2,m3 + """ + + # Gen 3/4 don't remove items if knocked off + # but the item is not active, so lets remove it + if pkmn.knocked_off or pkmn.item == "" or pkmn.item is None: + pkmn.item = "None" + + num_moves = len(pkmn.moves) + p = PokeEnginePokemon( + id=str(pkmn.name), + level=pkmn.level, + types=pkmn.types, + hp=int(pkmn.hp), + maxhp=int(pkmn.max_hp), + ability=str(pkmn.ability), + item=str(pkmn.item), + attack=pkmn.stats[constants.ATTACK], + defense=pkmn.stats[constants.DEFENSE], + special_attack=pkmn.stats[constants.SPECIAL_ATTACK], + special_defense=pkmn.stats[constants.SPECIAL_DEFENSE], + speed=pkmn.stats[constants.SPEED], + status=status_to_string(pkmn.status), + rest_turns=pkmn.rest_turns, + sleep_turns=pkmn.sleep_turns, + weight_kg=float(pokedex[pkmn.name][constants.WEIGHT]), + moves=[ + PokeEngineMove(id=str(m.name), disabled=m.disabled, pp=m.current_pp) + for m in pkmn.moves + ], + tera_type=pkmn.tera_type or "typeless", + terastallized=pkmn.terastallized, + ) + + if len(pkmn.types) == 1: + pkmn.types = (pkmn.types[0], "typeless") + + while num_moves < 6: + p.moves.append(PokeEngineMove(id="none", disabled=True, pp=0)) + num_moves += 1 + + return p + + +def get_dummy_poke_engine_pkmn(): + return PokeEnginePokemon(id="pikachu", level=1, hp=0) + + +def battler_to_poke_engine_side( + battler: Battler, force_switch=False, stayed_in_on_switchout_move=False +): + num_reserves = len(battler.reserve) + last_used_move = "move:none" + if battler.last_used_move.move.startswith("switch "): + last_used_move = "switch:0" + elif battler.last_used_move.move: + pkmn_moves = [m.name for m in battler.active.moves] + for i, move in enumerate(pkmn_moves): + if move == battler.last_used_move.move: + last_used_move = "move:{}".format(i) + break + else: + last_used_move = "move:0" + + # substitute health can't be known with certainty but the client can keep track of if the substitute was hit + # to approximate: the substitute health is 1/10 of the pokemon's max_hp if it was hit, 1/4 if it wasn't + substitute_health = 0 + if constants.SUBSTITUTE in battler.active.volatile_statuses: + if battler.active.substitute_hit: + substitute_health = int(battler.active.max_hp / 10) + else: + substitute_health = int(battler.active.max_hp / 4) + + future_sight_index = 0 + if battler.future_sight[0] > 0: + if battler.active.name == battler.future_sight[1]: + future_sight_index = 0 + else: + index = 1 + for pkmn in battler.reserve: + if pkmn.name == battler.future_sight[1]: + future_sight_index = index + break + index += 1 + else: + raise ValueError( + "Couldnt find future sight source: {} not in {} + {}".format( + battler.future_sight[1], + battler.active.name, + [p.name for p in battler.reserve], + ) + ) + + side = PokeEngineSide( + active_index="0", + baton_passing=battler.baton_passing, + pokemon=[pokemon_to_poke_engine_pkmn(battler.active)] + + [pokemon_to_poke_engine_pkmn(p) for p in battler.reserve], + side_conditions=PokeEngineSideConditions( + aurora_veil=battler.side_conditions[constants.AURORA_VEIL], + crafty_shield=battler.side_conditions["craftyshield"], + healing_wish=battler.side_conditions[constants.HEALING_WISH], + light_screen=battler.side_conditions[constants.LIGHT_SCREEN], + lucky_chant=battler.side_conditions["luckychant"], + lunar_dance=battler.side_conditions["lunardance"], + mat_block=battler.side_conditions["matblock"], + mist=battler.side_conditions["mist"], + protect=battler.side_conditions[constants.PROTECT], + quick_guard=battler.side_conditions["quickguard"], + reflect=battler.side_conditions[constants.REFLECT], + safeguard=battler.side_conditions[constants.SAFEGUARD], + spikes=battler.side_conditions[constants.SPIKES], + stealth_rock=battler.side_conditions[constants.STEALTH_ROCK], + sticky_web=battler.side_conditions[constants.STICKY_WEB], + tailwind=battler.side_conditions[constants.TAILWIND], + toxic_count=battler.side_conditions[constants.TOXIC_COUNT], + toxic_spikes=battler.side_conditions[constants.TOXIC_SPIKES], + wide_guard=battler.side_conditions["wideguard"], + ), + wish=(int(battler.wish[0]), int(battler.wish[1])), + future_sight=(battler.future_sight[0], str(future_sight_index)), + force_switch=force_switch, + force_trapped=battler.trapped, + slow_uturn_move=stayed_in_on_switchout_move, + volatile_statuses=battler.active.volatile_statuses, + substitute_health=substitute_health, + attack_boost=battler.active.boosts[constants.ATTACK], + defense_boost=battler.active.boosts[constants.DEFENSE], + special_attack_boost=battler.active.boosts[constants.SPECIAL_ATTACK], + special_defense_boost=battler.active.boosts[constants.SPECIAL_DEFENSE], + speed_boost=battler.active.boosts[constants.SPEED], + accuracy_boost=0, + evasion_boost=0, + last_used_move=last_used_move, + switch_out_move_second_saved_move="NONE", # always none because we can't know this + ) + + while num_reserves < 5: + side.pokemon.append(get_dummy_poke_engine_pkmn()) + num_reserves += 1 + + return side + + +def get_weather_string(weather): + if weather == constants.RAIN: + return "rain" + elif weather == constants.SUN: + return "sun" + elif weather == constants.SAND: + return "sand" + elif weather == constants.HAIL: + return "hail" + elif weather == constants.SNOW: + return "snow" + elif weather == constants.DESOLATE_LAND: + return "harshsun" + elif weather == constants.HEAVY_RAIN: + return "heavyrain" + elif weather is None: + return "none" + elif weather == "none": + return "none" + else: + raise ValueError(f"Unknown weather {weather}") + + +def get_terrain_string(terrain): + if terrain == constants.ELECTRIC_TERRAIN: + return "electricterrain" + elif terrain == constants.GRASSY_TERRAIN: + return "grassyterrain" + elif terrain == constants.MISTY_TERRAIN: + return "mistyterrain" + elif terrain == constants.PSYCHIC_TERRAIN: + return "psychicterrain" + elif terrain is None: + return "none" + elif terrain == "none": + return "none" + else: + raise ValueError(f"Unknown terrain {terrain}") + + +def replace_hidden_power_last_used_move(battler: Battler): + for mv in battler.active.moves: + if mv.name.startswith(constants.HIDDEN_POWER): + battler.last_used_move = LastUsedMove( + pokemon_name=battler.last_used_move.pokemon_name, + move=mv.name, + turn=battler.last_used_move.turn, + ) + break + else: + logger.warning("Could not replace hiddenpower") + battler.last_used_move = LastUsedMove( + pokemon_name=battler.last_used_move.pokemon_name, + move="switch {}".format(battler.active.name), + turn=battler.last_used_move.turn, + ) + + +def replace_return_last_used_move(battler: Battler): + for mv in battler.active.moves: + if mv.name.startswith("return"): + battler.last_used_move = LastUsedMove( + pokemon_name=battler.last_used_move.pokemon_name, + move=mv.name, + turn=battler.last_used_move.turn, + ) + break + else: + logger.warning("Could not replace return") + battler.last_used_move = LastUsedMove( + pokemon_name=battler.last_used_move.pokemon_name, + move="switch {}".format(battler.active.name), + turn=battler.last_used_move.turn, + ) + + +def battle_to_poke_engine_state(battle: Battle, swap=False): + # Boolean that represents if we have used a switch-out move first (i.e. fast uturn) + # this is toggled to True if we did, and signifies to the engine that the opponent has + # selected a move and that should be accounted for in the search + opponent_switchout_move_stayed_in = False + bot_lum = battle.user.last_used_move + opp_lum = battle.opponent.last_used_move + if bot_lum.move in constants.SWITCH_OUT_MOVES and opp_lum.turn != bot_lum.turn: + opponent_switchout_move_stayed_in = True + + if battle.opponent.last_used_move.move == constants.HIDDEN_POWER: + replace_hidden_power_last_used_move(battle.opponent) + elif battle.opponent.last_used_move.move == "return": + replace_return_last_used_move(battle.opponent) + + if battle.user.last_used_move.move == constants.HIDDEN_POWER: + replace_hidden_power_last_used_move(battle.user) + if battle.user.last_used_move.move == "return": + replace_return_last_used_move(battle.user) + + side_one = battler_to_poke_engine_side( + battle.user, force_switch=battle.force_switch + ) + side_two = battler_to_poke_engine_side( + battle.opponent, stayed_in_on_switchout_move=opponent_switchout_move_stayed_in + ) + + if swap: + side_one, side_two = side_two, side_one + + state = PokeEngineState( + side_one=side_one, + side_two=side_two, + weather=get_weather_string(battle.weather), + weather_turns_remaining=battle.weather_turns_remaining, + terrain=get_terrain_string(battle.field), + terrain_turns_remaining=battle.field_turns_remaining, + trick_room=battle.trick_room, + trick_room_turns_remaining=battle.trick_room_turns_remaining, + team_preview=battle.team_preview, + ) + + return state + + +def poke_engine_get_damage_rolls( + battle: Battle, side_one_move, side_two_move, side_one_went_first +): + if side_one_move.startswith("switch"): + side_one_move = "switch" + if side_two_move.startswith("switch"): + side_two_move = "switch" + + state = battle_to_poke_engine_state(battle) + + logger.debug( + "Calling calculate damage with state: {}, m1: {}, m2: {}, s1_went_first: {}".format( + state.to_string(), + side_one_move, + side_two_move, + side_one_went_first, + ) + ) + + s1_rolls, s2_rolls = calculate_damage( + state, + side_one_move, + side_two_move, + side_one_went_first, + ) + + logger.debug( + "Got Rolls s1_rolls: {}, s2_rolls: {}".format( + s1_rolls, + s2_rolls, + ) + ) + + return s1_rolls, s2_rolls + + +def get_payoff_matrix_from_mcts( + poke_engine_state: PokeEngineState, search_time_ms: int +): + state_string = poke_engine_state.to_string() + logger.debug("Calling with state: {}".format(state_string)) + + mcts_result = monte_carlo_tree_search(poke_engine_state, search_time_ms) + + iterations = mcts_result.total_visits + + most_visits = -1 + choice = None + win_percentage = 0 + for option in mcts_result.side_one: + visits = option.visits + if visits > most_visits: + most_visits = visits + win_percentage = round(float(option.total_score) / most_visits, 2) + choice = option.move_choice + + if choice is None: + raise ValueError("No move found") + + return ( + choice, + win_percentage, + iterations, + ) + + +def get_payoff_matrix_with_minimax( + poke_engine_state: PokeEngineState, search_time_ms: int +): + state_string = poke_engine_state.to_string() + logger.debug("Calling with state: {}".format(state_string)) + + id_result = iterative_deepening_expectiminimax(poke_engine_state, search_time_ms) + + return id_result.get_safest_move() diff --git a/fp/battle_modifier.py b/fp/battle_modifier.py new file mode 100644 index 000000000..eab33350e --- /dev/null +++ b/fp/battle_modifier.py @@ -0,0 +1,2439 @@ +import re +import json +from copy import deepcopy +import logging + +import constants +from data import all_move_json +from data import pokedex +from data.pkmn_sets import ( + SmogonSets, + RandomBattleTeamDatasets, + TeamDatasets, + PredictedPokemonSet, +) +from fp.battle import Pokemon +from fp.battle import LastUsedMove +from fp.battle import DamageDealt +from fp.battle import StatRange +from fp.battle_bots.poke_engine_helpers import poke_engine_get_damage_rolls +from fp.helpers import normalize_name +from fp.helpers import get_pokemon_info_from_condition +from fp.helpers import calculate_stats +from fp.helpers import ( + is_not_very_effective, + is_super_effective, + is_neutral_effectiveness, +) +from fp.battle import boost_multiplier_lookup + + +logger = logging.getLogger(__name__) + + +MOVE_END_STRINGS = {"move", "switch", "upkeep", ""} + + +def can_have_priority_modified(battle, pokemon, move_name): + return ( + "prankster" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + or move_name == "grassyglide" + and battle.field == constants.GRASSY_TERRAIN + ) + + +def can_have_speed_modified(battle, pokemon): + return ( + ( + pokemon.item is None + and "unburden" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + battle.weather == constants.RAIN + and pokemon.ability is None + and "swiftswim" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + battle.weather == constants.SUN + and pokemon.ability is None + and "chlorophyll" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + battle.weather == constants.SAND + and pokemon.ability is None + and "sandrush" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + battle.weather in constants.HAIL_OR_SNOW + and pokemon.ability is None + and "slushrush" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + battle.field == constants.ELECTRIC_TERRAIN + and pokemon.ability is None + and "surgesurfer" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + or ( + pokemon.status == constants.PARALYZED + and pokemon.ability is None + and "quickfeet" + in [ + normalize_name(a) + for a in pokedex[pokemon.name][constants.ABILITIES].values() + ] + ) + ) + + +def remove_volatile(pkmn, volatile): + pkmn.volatile_statuses = [vs for vs in pkmn.volatile_statuses if vs != volatile] + + +def unlikely_to_have_choice_item(move_name): + try: + move_dict = all_move_json[move_name] + except KeyError: + return False + + if ( + constants.BOOSTS in move_dict + and move_dict[constants.CATEGORY] == constants.STATUS + ): + return True + elif move_name in ["substitute", "roost", "recover"]: + return True + + return False + + +def is_opponent(battle, split_msg): + return not split_msg[2].startswith(battle.user.name) + + +def get_move_information(m): + # Given a |move| line from the PS protocol, extract the user of the move and the move object + try: + split_move_line = m.split("|") + return split_move_line[2], all_move_json[normalize_name(split_move_line[3])] + except KeyError: + logger.warning( + "Unknown move {} - using standard 0 priority move".format( + normalize_name(m.split("|")[3]) + ) + ) + return m.split("|")[2], {constants.ID: "unknown", constants.PRIORITY: 0} + + +def request(battle, split_msg): + """Update the user's team given the battle JSON in split_msg[2] + Also updates some battle meta-data such as rqid, force_switch, and wait""" + if len(split_msg) >= 2: + battle_json = json.loads(split_msg[2].strip("'")) + logger.debug("Received battle JSON from server: {}".format(battle_json)) + battle.rqid = battle_json[constants.RQID] + + if battle_json.get(constants.FORCE_SWITCH): + battle.force_switch = True + else: + battle.force_switch = False + + if battle_json.get(constants.WAIT): + battle.wait = True + else: + battle.wait = False + + if not battle.wait: + battle.request_json = battle_json + + +def inactive(battle, split_msg): + regex_string = "(\d+) sec this turn" + if split_msg[2].startswith(constants.TIME_LEFT): + capture = re.search(regex_string, split_msg[2]) + try: + time_left = int(capture.group(1)) + battle.time_remaining = time_left + logger.debug("Time left: {}".format(time_left)) + except ValueError: + logger.warning("{} is not a valid int".format(capture.group(1))) + except AttributeError: + logger.warning( + "'{}' does not match the regex '{}'".format(split_msg[2], regex_string) + ) + + +def inactiveoff(battle, _): + battle.time_remaining = None + + +def user_just_switched_into_zoroark(battle, switch_or_drag): + """ + some truly heinous shit going on here, can we ban this fucker? + + Two scenarios we can detect we are a zoroark: + 1. We switched and the last action we selected starts with `switch zoroark` (to account for both zoroarks) + 2. We were dragged (circle throw, etc) AND the active pkmn on the next turn is zoroark + + is it not sound to check for "we switched or dragged and the request JSON has zoroark as active?" + No. If we switched into zoroark and then got circle-thrown out then the request JSON would not have + zoroark as active but our switch needs to have been into zoroark. + + This doesn't need to deal with the first-turn switch-in of the user's Zoroark because the first-turn is + instantiated from the request_json + """ + + return ( + # Scenario 1 + ( + switch_or_drag == "switch" + and battle.user.last_selected_move.move.startswith("switch zoroark") + ) + # Scenario 2 + or ( + switch_or_drag == "drag" + and battle.request_json is not None + and battle.request_json[constants.SIDE][constants.POKEMON][0][ + constants.DETAILS + ].startswith("Zoroark") + and battle.request_json[constants.SIDE][constants.POKEMON][0][ + constants.ACTIVE + ] + ) + ) + + +def switch(battle, split_msg): + switch_or_drag(battle, split_msg, switch_or_drag="switch") + + +def drag(battle, split_msg): + switch_or_drag(battle, split_msg, switch_or_drag="drag") + + +def switch_or_drag(battle, split_msg, switch_or_drag="switch"): + if is_opponent(battle, split_msg): + side_name = "opponent" + side = battle.opponent + logger.info("Opponent has switched - clearing the last used move") + else: + side_name = "user" + side = battle.user + side.side_conditions[constants.TOXIC_COUNT] = 0 + + baton_passed_boosts = None + baton_passed_volatiles = [] + if side.active is not None: + # set the pkmn's types back to their original value if the types were changed + # if the pkmn is terastallized, this does not happen + if constants.TYPECHANGE in side.active.volatile_statuses: + original_types = pokedex[side.active.name][constants.TYPES] + logger.info( + "{} had it's type changed - changing its types back to {}".format( + side.active.name, original_types + ) + ) + side.active.types = original_types + + if side.active.original_ability is not None: + logger.info( + "{}'s ability was modified to {} - setting it back to {} on switch-out".format( + side.active.name, side.active.ability, side.active.original_ability + ) + ) + side.active.ability = side.active.original_ability + side.active.original_ability = None + + # if the target was transformed, reset its transformed attributes + if constants.TRANSFORM in side.active.volatile_statuses: + logger.info( + "{} was transformed. Resetting its transformed attributes".format( + side.active.name + ) + ) + side.active.stats = calculate_stats( + side.active.base_stats, side.active.level + ) + side.active.ability = None + side.active.moves = [] + side.active.types = pokedex[side.active.name][constants.TYPES] + + if split_msg[-1] == "[from] Baton Pass": + side.baton_passing = False + logger.info( + "Baton passing, preserving boosts: {}".format(dict(side.active.boosts)) + ) + baton_passed_boosts = deepcopy(side.active.boosts) + + if constants.SUBSTITUTE in side.active.volatile_statuses: + logger.info("Baton passing, preserving substitute") + baton_passed_volatiles.append(constants.SUBSTITUTE) + if constants.LEECH_SEED in side.active.volatile_statuses: + logger.info("Baton passing, preserving leechseed") + baton_passed_volatiles.append(constants.LEECH_SEED) + + # gen5 rest turns are reset upon switching + if battle.generation == "gen5" and side.active.status == constants.SLEEP: + if side.active.rest_turns != 0: + logger.info( + "{} switched while asleep and with non-zero rest turns, resetting rest turns to 3".format( + side.active.name + ) + ) + side.active.rest_turns = 3 + else: + logger.info( + "{} switched while asleep, resetting sleep turns to 0".format( + side.active.name + ) + ) + side.active.sleep_turns = 0 + + # gen3 rest turns are decremented by the number of consecutive sleep talks + if battle.generation == "gen3" and side.active.status == constants.SLEEP: + if side.active.rest_turns != 0: + side.active.rest_turns += side.active.gen_3_consecutive_sleep_talks + logger.info( + "gen3 {} switched with {} consecutive sleep talks. Incrementing rest turns by {}".format( + side.active.name, + side.active.gen_3_consecutive_sleep_talks, + side.active.gen_3_consecutive_sleep_talks, + ) + ) + elif side.active.sleep_turns != 0: + logger.info( + "gen3 {} switched with {} consecutive sleep talks. Decrementing sleep turns by {}".format( + side.active.name, + side.active.gen_3_consecutive_sleep_talks, + side.active.gen_3_consecutive_sleep_talks, + ) + ) + side.active.sleep_turns -= side.active.gen_3_consecutive_sleep_talks + + side.active.gen_3_consecutive_sleep_talks = 0 + + side.active.moves_used_since_switch_in.clear() + + # reset the boost of the pokemon being replaced + side.active.boosts.clear() + + # reset the volatile statuses of the pokemon being replaced + side.active.volatile_statuses.clear() + + # reset toxic count for this side + side.side_conditions[constants.TOXIC_COUNT] = 0 + + # if the side is alive and has regenerator, give it back 1/3 of it's maxhp + if ( + side.active.hp > 0 + and not side.active.fainted + and side.active.ability == "regenerator" + ): + health_healed = int(side.active.max_hp / 3) + side.active.hp = min(side.active.hp + health_healed, side.active.max_hp) + logger.info( + "{} switched out with regenerator. Healing it to {}/{}".format( + side.active.name, side.active.hp, side.active.max_hp + ) + ) + if side_name == "user" and user_just_switched_into_zoroark(battle, switch_or_drag): + logger.info( + "User switched/dragged into Zoroark - replacing the split_msg pokemon" + ) + logger.info("Starting split_msg: {}".format(split_msg)) + request_json_zoroark = [ + p + for p in battle.request_json[constants.SIDE][constants.POKEMON] + if p[constants.DETAILS].startswith("Zoroark") + ] + assert len(request_json_zoroark) == 1 + request_json_zoroark = request_json_zoroark[0] + split_msg[2] = f"{request_json_zoroark[constants.IDENT]}" + split_msg[3] = f"{request_json_zoroark[constants.DETAILS]}" + logger.info("New split_msg: {}".format(split_msg)) + + # check if the pokemon exists in the reserves + # if it does not, then the newly-created pokemon is used (for formats without team preview) + nickname = split_msg[2] + temp_pkmn = Pokemon.from_switch_string(split_msg[3], nickname=nickname) + pkmn = side.find_pokemon_in_reserves(temp_pkmn.name) + + if pkmn is None: + pkmn = Pokemon.from_switch_string(split_msg[3], nickname=nickname) + + # for standard battles gen4 and lower + # we want to add the new pokemon to the datasets as they are revealed + # because there is no teampreview + if ( + battle.battle_type == constants.STANDARD_BATTLE + and battle.generation in constants.NO_TEAM_PREVIEW_GENS + ): + SmogonSets.add_new_pokemon(pkmn.name) + TeamDatasets.add_new_pokemon(pkmn.name) + logger.info("Adding new pokemon '{}' to the datasets".format(pkmn.name)) + + # some pokemon do not reveal their forme during team preview. Arceus, Silvally, Genesect, etc. + # if this is the case, they would have been given a flag during team preview, and we can pull them out here + unknown_forme_pkmn = side.find_reserve_pkmn_by_unknown_forme(temp_pkmn.name) + if unknown_forme_pkmn: + side.reserve.remove(unknown_forme_pkmn) + else: + pkmn.nickname = temp_pkmn.nickname + side.reserve.remove(pkmn) + + split_hp_msg = split_msg[4].split("/") + if is_opponent(battle, split_msg): + new_hp_percentage = float(split_hp_msg[0]) / 100 + if ( + pkmn.hp != new_hp_percentage * pkmn.max_hp + and "regenerator" + in [ + normalize_name(a) + for a in pokedex[pkmn.name][constants.ABILITIES].values() + ] + and pkmn.ability is None + ): + logger.info( + "{} switched out with {}% HP but now has {}% HP, setting its ability to regenerator".format( + pkmn.name, + pkmn.hp / pkmn.max_hp * 100, + new_hp_percentage * 100, + ) + ) + pkmn.ability = "regenerator" + pkmn.hp = pkmn.max_hp * new_hp_percentage + else: + pkmn.hp = float(split_hp_msg[0]) + pkmn.max_hp = float(split_hp_msg[1].split()[0]) + + side.last_used_move = LastUsedMove( + pokemon_name=None, move="switch {}".format(pkmn.name), turn=battle.turn + ) + + # pkmn != active is a special edge-case for Zoroark + if side.active is not None and pkmn != side.active: + side.reserve.append(side.active) + + side.active = pkmn + + if baton_passed_boosts is not None: + logger.info( + "Applying baton passed boosts to {}: {}".format( + side.active.name, dict(baton_passed_boosts) + ) + ) + side.active.boosts = baton_passed_boosts + for volatile in baton_passed_volatiles: + logger.info("Baton passing volatile: {}".format(volatile)) + side.active.volatile_statuses.append(volatile) + + +def sethp(battle, split_msg): + # |-sethp|p2a: Jellicent|317/403|[from] move: Pain Split|[silent] + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + new_hp_percentage = float(split_msg[3].split("/")[0]) / 100 + pkmn.hp = int(pkmn.max_hp * new_hp_percentage) + else: + pkmn = battle.user.active + pkmn.hp = int(split_msg[3].split("/")[0]) + pkmn.max_hp = int(split_msg[3].split("/")[1].split()[0]) + + +def heal_or_damage(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + other_side = battle.user + pkmn = battle.opponent.active + if len(split_msg) == 5 and split_msg[4] == "[from] move: Revival Blessing": + nickname = Pokemon.extract_nickname_from_pokemonshowdown_string( + split_msg[2] + ) + pkmn = side.find_reserve_pokemon_by_nickname(nickname) + + # opponent hp is given as a percentage + if constants.FNT in split_msg[3]: + pkmn.hp = 0 + else: + new_hp_percentage = float(split_msg[3].split("/")[0]) / 100 + pkmn.hp = pkmn.max_hp * new_hp_percentage + + else: + side = battle.user + other_side = battle.opponent + pkmn = battle.user.active + if len(split_msg) == 5 and split_msg[4] == "[from] move: Revival Blessing": + nickname = Pokemon.extract_nickname_from_pokemonshowdown_string( + split_msg[2] + ) + pkmn = side.find_reserve_pokemon_by_nickname(nickname) + if constants.FNT in split_msg[3]: + pkmn.hp = 0 + else: + pkmn.hp = float(split_msg[3].split("/")[0]) + pkmn.max_hp = float(split_msg[3].split("/")[1].split()[0]) + + # increase the amount of turns toxic has been active + if ( + len(split_msg) == 5 + and constants.TOXIC in split_msg[3] + and "[from] psn" in split_msg[4] + ): + side.side_conditions[constants.TOXIC_COUNT] += 1 + + if ( + len(split_msg) == 6 + and split_msg[4].startswith("[from] item:") + and other_side.name in split_msg[5] + ): + item = normalize_name(split_msg[4].split("item:")[-1]) + logger.info("Setting {}'s item to: {}".format(other_side.active.name, item)) + other_side.active.item = item + + # set the ability for the other side (the side not taking damage, '-damage' only) + if ( + len(split_msg) == 6 + and split_msg[4].startswith("[from] ability:") + and other_side.name in split_msg[5] + and split_msg[1] == "-damage" + ): + ability = normalize_name(split_msg[4].split("ability:")[-1]) + logger.info( + "Setting {}'s ability to: {}".format(other_side.active.name, ability) + ) + other_side.active.ability = ability + + # set the ability of the side (the side being healed, '-heal' only) + if ( + len(split_msg) == 6 + and constants.ABILITY in split_msg[4] + and other_side.name in split_msg[5] + and split_msg[1] == "-heal" + ): + ability = normalize_name(split_msg[4].split(constants.ABILITY)[-1].strip(": ")) + logger.info("Setting {}'s ability to: {}".format(pkmn.name, ability)) + pkmn.ability = ability + + # give that pokemon an item if this string specifies one + if len(split_msg) == 5 and constants.ITEM in split_msg[4] and pkmn.item is not None: + item = normalize_name(split_msg[4].split(constants.ITEM)[-1].strip(": ")) + logger.info("Setting {}'s item to: {}".format(pkmn.name, item)) + pkmn.item = item + + +def faint(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + side.active.hp = 0 + + +def move(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + pkmn = battle.opponent.active + opposing_pkmn = battle.user.active + else: + side = battle.user + pkmn = battle.user.active + opposing_pkmn = battle.opponent.active + + move_name = normalize_name(split_msg[3].strip().lower()) + + if ( + any(msg == "[from]Sleep Talk" for msg in split_msg) + and battle.generation == "gen3" + ): + pkmn.gen_3_consecutive_sleep_talks += 1 + logger.info( + "{} gen3 consecutive sleep talks: {}".format( + pkmn.name, pkmn.gen_3_consecutive_sleep_talks + ) + ) + elif move_name != "sleeptalk": + pkmn.gen_3_consecutive_sleep_talks = 0 + + if "[from]" in split_msg[-1] and split_msg[-1] != "[from]lockedmove": + return + + # remove volatile status if they have it + # this is for preparation moves like Phantom Force + if move_name in pkmn.volatile_statuses: + logger.info("Removing volatile status {} from {}".format(move_name, pkmn.name)) + remove_volatile(pkmn, move_name) + + if move_name == "struggle": + logger.info("Not adding struggle to {}'s moves".format(pkmn.name)) + return + + pkmn.moves_used_since_switch_in.add(move_name) + + # add the move to it's moves if it hasn't been seen + # decrement the PP by one + # if the move is unknown, do nothing + pp_to_decrement = 2 if opposing_pkmn.ability == "pressure" else 1 + move_object = pkmn.get_move(move_name) + if move_object is None: + new_move = pkmn.add_move(move_name) + if new_move is not None: + new_move.current_pp -= pp_to_decrement + else: + move_object.current_pp -= pp_to_decrement + logger.info( + "{} already has the move {}. Decrementing the PP by {}".format( + pkmn.name, move_name, pp_to_decrement + ) + ) + + # if this pokemon used two different moves without switching, + # set a flag to signify that it cannot have a choice item + if ( + is_opponent(battle, split_msg) + and side.last_used_move.pokemon_name == side.active.name + and side.last_used_move.move != move_name + ): + logger.info( + "{} used two different moves - it cannot have a choice item".format( + pkmn.name + ) + ) + pkmn.can_have_choice_item = False + if pkmn.item in constants.CHOICE_ITEMS and pkmn.item_inferred: + logger.warning( + "{} has a choice item, but used two different moves - setting it's item to UNKNOWN".format( + pkmn.name + ) + ) + pkmn.item = constants.UNKNOWN_ITEM + + if unlikely_to_have_choice_item(move_name): + logger.info( + "{} using {} makes it unlikely to have a choice item. Setting can_have_choice_item to False".format( + pkmn.name, move_name + ) + ) + pkmn.can_have_choice_item = False + + try: + mv = all_move_json[move_name] + move_type = mv[constants.TYPE] + if mv[constants.CATEGORY] != constants.STATUS: + logger.info( + "{} used a {} move, removing {}gem from possible items".format( + pkmn.name, move_type, move_type + ) + ) + pkmn.impossible_items.add("{}gem".format(move_type)) + except KeyError: + pass + + try: + if ( + all_move_json[move_name][constants.SELF][constants.VOLATILE_STATUS] + == constants.LOCKED_MOVE + ): + logger.info("Adding lockedmove to {}".format(pkmn.name)) + pkmn.volatile_statuses.append(constants.LOCKED_MOVE) + except KeyError: + pass + + try: + if all_move_json[move_name][constants.CATEGORY] == constants.STATUS: + logger.info( + "{} used a status-move. Adding `assaultvest` to impossible items".format( + pkmn.name + ) + ) + pkmn.impossible_items.add(constants.ASSAULT_VEST) + except KeyError: + pass + + try: + category = all_move_json[move_name][constants.CATEGORY] + logger.info("Setting {}'s last used move: {}".format(pkmn.name, move_name)) + if not any( + "[from]move: Sleep Talk" in msg or "[from]Sleep Talk" in msg + for msg in split_msg + ): + side.last_used_move = LastUsedMove( + pokemon_name=pkmn.name, move=move_name, turn=battle.turn + ) + except KeyError: + category = None + if not any( + "[from]move: Sleep Talk" in msg or "[from]Sleep Talk" in msg + for msg in split_msg + ): + side.last_used_move = LastUsedMove( + pokemon_name=pkmn.name, move=constants.DO_NOTHING_MOVE, turn=battle.turn + ) + + # if this pokemon used a damaging move, eliminate the possibility of guessing a lifeorb + # the lifeorb will reveal itself if it has it + if category in constants.DAMAGING_CATEGORIES and not any( + [ + normalize_name(a) in ["sheerforce", "magicguard"] + for a in pokedex[pkmn.name][constants.ABILITIES].values() + ] + ): + logger.info( + "{} used a damaging move - not guessing lifeorb anymore".format(pkmn.name) + ) + pkmn.impossible_items.add(constants.LIFE_ORB) + + # there is nothing special in the protocol for "wish" - it must be extracted here + if move_name == constants.WISH and "still" not in split_msg[4]: + logger.info( + "{} used wish - expecting {} health of recovery next turn".format( + side.active.name, side.active.max_hp / 2 + ) + ) + side.wish = (2, side.active.max_hp / 2) + + if move_name == "batonpass": + side.baton_passing = True + + # |move|p1a: Slaking|Earthquake|p2a: Heatran + if pkmn.ability == "truant" or pkmn.name == "slaking": + if "truant" not in pkmn.volatile_statuses: + logger.info("Adding 'truant' to {}'s volatiles".format(pkmn.name)) + pkmn.volatile_statuses.append("truant") + + +def setboost(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + stat = constants.STAT_ABBREVIATION_LOOKUPS[split_msg[3].strip()] + amount = int(split_msg[4].strip()) + + pkmn.boosts[stat] = amount + + +def boost(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + stat = constants.STAT_ABBREVIATION_LOOKUPS[split_msg[3].strip()] + amount = int(split_msg[4].strip()) + + pkmn.boosts[stat] = min(pkmn.boosts[stat] + amount, constants.MAX_BOOSTS) + logger.info( + "{}'s {} was boosted by {} to {}".format( + pkmn.name, stat, amount, pkmn.boosts[stat] + ) + ) + + +def unboost(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + stat = constants.STAT_ABBREVIATION_LOOKUPS[split_msg[3].strip()] + amount = int(split_msg[4].strip()) + + pkmn.boosts[stat] = max(pkmn.boosts[stat] - amount, -1 * constants.MAX_BOOSTS) + logger.info( + "{}'s {} was unboosted by {} to {}".format( + pkmn.name, stat, amount, pkmn.boosts[stat] + ) + ) + + +def status(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + if len(split_msg) > 4 and "item: " in split_msg[4]: + pkmn.item = normalize_name(split_msg[4].split("item:")[-1]) + + if len(split_msg) == 5 and split_msg[3] == "slp": + if split_msg[4] == "[from] move: Rest": + logger.info("Setting rest_turns to 3 for {}".format(pkmn.name)) + pkmn.rest_turns = 3 + else: + logger.info("Setting sleep_turns to 0 for {}".format(pkmn.name)) + pkmn.sleep_turns = 0 + + status_name = split_msg[3].strip() + logger.info("{} got status: {}".format(pkmn.name, status_name)) + pkmn.status = status_name + + if status_name is not None: + logger.info( + "No longer guessing lumberry because {} got status {}".format( + pkmn.name, status_name + ) + ) + pkmn.impossible_items.add("lumberry") + + +def activate(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + other_pkmn = battle.user.active + else: + pkmn = battle.user.active + other_pkmn = battle.opponent.active + + if ( + normalize_name(split_msg[3]) == constants.SUBSTITUTE + and split_msg[4] == "[damage]" + ): + logger.info( + "{}'s substitute took damage, setting substitute_hit to True".format( + pkmn.name + ) + ) + pkmn.substitute_hit = True + + if split_msg[3].lower() == "move: poltergeist": + item = normalize_name(split_msg[4]) + logger.info("{} has the item {}".format(pkmn.name, item)) + pkmn.item = item + + if split_msg[3].lower().startswith("ability: "): + ability = normalize_name(split_msg[3].split(":")[-1].strip()) + logger.info("Setting {}'s ability to {}".format(pkmn.name, ability)) + pkmn.ability = ability + + if ability in ["mummy", "lingeringaroma"]: + original_ability = normalize_name(split_msg[4]) + other_pkmn.ability = ability + other_pkmn.original_ability = original_ability + logger.info( + "{}'s ability was changed from {} to {}".format( + other_pkmn.name, original_ability, ability + ) + ) + + elif split_msg[3].lower().startswith("item: "): + item = normalize_name(split_msg[3].split(":")[-1].strip()) + logger.info("Setting {}'s item to {}".format(pkmn.name, item)) + pkmn.item = item + + +def anim(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + anim_name = normalize_name(split_msg[3].strip()) + if anim_name in pkmn.volatile_statuses: + logger.info( + "Removing volatile status {} from {} because of -anim".format( + anim_name, pkmn.name + ) + ) + remove_volatile(pkmn, anim_name) + + +def prepare(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + being_prepared = normalize_name(split_msg[3]) + if being_prepared in pkmn.volatile_statuses: + logger.warning( + "{} already has the volatile status {}".format(pkmn.name, being_prepared) + ) + else: + logger.info( + "Adding the volatile status {} to {}".format(being_prepared, pkmn.name) + ) + pkmn.volatile_statuses.append(being_prepared) + + +def terastallize(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + pkmn.terastallized = True + pkmn.tera_type = normalize_name(split_msg[3]) + logger.info( + "{} terastallized. Tera type: {}, Original types: {}".format( + pkmn.name, pkmn.tera_type, pkmn.types + ) + ) + + +def start_volatile_status(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + side = battle.opponent + else: + pkmn = battle.user.active + side = battle.user + + volatile_status = normalize_name(split_msg[3].split(":")[-1]) + + # for some reason futuresight is sent with the `-start` message + # `-start` is typically reserved for volatile statuses + if volatile_status == "futuresight": + side.future_sight = (3, pkmn.name) + return + + if volatile_status.startswith("perish"): + logger.info( + "{} got {}. Removing other `perish` volatiles".format( + pkmn.name, volatile_status + ) + ) + logger.info("Starting volatiles: {}".format(pkmn.volatile_statuses)) + pkmn.volatile_statuses = [ + vs for vs in pkmn.volatile_statuses if not vs.startswith("perish") + ] + pkmn.volatile_statuses.append(volatile_status) + logger.info("Ending volatiles: {}".format(pkmn.volatile_statuses)) + return + + if volatile_status not in pkmn.volatile_statuses: + logger.info( + "Starting the volatile status {} on {}".format(volatile_status, pkmn.name) + ) + pkmn.volatile_statuses.append(volatile_status) + + if volatile_status == constants.SUBSTITUTE: + logger.info( + "{} started a substitute - setting substitute_hit to False".format( + pkmn.name + ) + ) + pkmn.substitute_hit = False + + if volatile_status == constants.CONFUSION: + logger.info("{} got confused, no longer guessing lumberry".format(pkmn.name)) + pkmn.impossible_items.add("lumberry") + if split_msg[-1] == "[fatigue]": + logger.info( + "{} got confused from fatigue, removing lockedmove from volatile statuses".format( + pkmn.name + ) + ) + remove_volatile(pkmn, "lockedmove") + + if volatile_status == constants.DYNAMAX: + pkmn.hp *= 2 + pkmn.max_hp *= 2 + logger.info( + "{} started dynamax - doubling their HP to {}/{}".format( + pkmn.name, pkmn.hp, pkmn.max_hp + ) + ) + + if constants.ABILITY in split_msg[3]: + pkmn.ability = volatile_status + + if len(split_msg) == 6 and constants.ABILITY in normalize_name(split_msg[5]): + pkmn.ability = normalize_name(split_msg[5].split("ability:")[-1]) + + if volatile_status == constants.TYPECHANGE: + if split_msg[4] == "[from] move: Reflect Type": + pkmn_name = normalize_name(split_msg[5].split(":")[-1]) + new_types = deepcopy(pokedex[pkmn_name][constants.TYPES]) + else: + new_types = [normalize_name(t) for t in split_msg[4].split("/")] + + logger.info("Setting {}'s types to {}".format(pkmn.name, new_types)) + pkmn.types = new_types + + +def end_volatile_status(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + volatile_status = normalize_name(split_msg[3].split(":")[-1]) + if volatile_status == constants.SUBSTITUTE: + logger.info("Substitute ended for {}".format(pkmn.name)) + pkmn.substitute_hit = False + + if volatile_status not in pkmn.volatile_statuses: + logger.warning( + "Pokemon '{}' does not have the volatile status '{}'".format( + pkmn.to_dict(), volatile_status + ) + ) + else: + logger.info( + "Removing the volatile status {} from {}".format(volatile_status, pkmn.name) + ) + remove_volatile(pkmn, volatile_status) + if volatile_status == constants.DYNAMAX: + pkmn.hp /= 2 + pkmn.max_hp /= 2 + logger.info( + "{} ended dynamax - halving their HP to {}/{}".format( + pkmn.name, pkmn.hp, pkmn.max_hp + ) + ) + + +def curestatus(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + pkmn_name = split_msg[2].split(":")[-1].strip() + + if normalize_name(pkmn_name) == side.active.name: + pkmn = side.active + else: + try: + pkmn = next( + filter(lambda x: x.name == normalize_name(pkmn_name), side.reserve) + ) + except StopIteration: + logger.warning( + "The pokemon {} does not exist in the party, defaulting to the active pokemon".format( + normalize_name(pkmn_name) + ) + ) + pkmn = side.active + + # even if rest wasn't the cause of sleep, this should be set to 0 + if pkmn.status == constants.SLEEP: + logger.info( + "{} is being cured of sleep, setting rest_turns & sleep_turns to 0".format( + pkmn.name + ) + ) + pkmn.rest_turns = 0 + pkmn.sleep_turns = 0 + + pkmn.status = None + + +def cureteam(battle, split_msg): + """Cure every pokemon on the opponent's team of it's status""" + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + side.active.status = None + for pkmn in filter(lambda p: isinstance(p, Pokemon), side.reserve): + pkmn.status = None + pkmn.rest_turns = 0 + pkmn.sleep_turns = 0 + + +def weather(battle, split_msg): + # The weather message on its own `|-weather|RainDance` does not contain information about + # which side caused it unless it was from an ability + # `|-weather|RainDance|[from] ability: Drizzle|[of] p2a: Politoed` + # + # If that information is present, we can infer certain things about the Side + side = None + if len(split_msg) == 5: + if battle.opponent.name in split_msg[-1]: + side = battle.opponent + else: + side = battle.user + + weather_name = normalize_name(split_msg[2].split(":")[-1].strip()) + logger.info("Weather {} is active".format(weather_name)) + battle.weather = weather_name + + if split_msg[-1] == "[upkeep]" and battle.weather_turns_remaining > 0: + battle.weather_turns_remaining -= 1 + elif split_msg[-1] == "[upkeep]": + logger.debug("Weather {} permanently active".format(weather_name)) + elif ( + len(split_msg) > 3 + and battle.generation in ["gen3", "gen4", "gen5"] + and split_msg[3].startswith("[from] ability:") + ): + battle.weather_turns_remaining = -1 + elif ( + side is not None + and weather_name == constants.SUN + and side.active.item == "heatrock" + ): + logger.info("{} has heatrock, assuming 8 turns of sun".format(side.active.name)) + battle.weather_turns_remaining = 8 + elif ( + side is not None + and weather_name == constants.RAIN + and side.active.item == "damprock" + ): + logger.info( + "{} has damprock, assuming 8 turns of rain".format(side.active.name) + ) + battle.weather_turns_remaining = 8 + elif ( + side is not None + and weather_name == constants.SAND + and side.active.item == "smoothrock" + ): + logger.info( + "{} has smoothrock, assuming 8 turns of sand".format(side.active.name) + ) + battle.weather_turns_remaining = 8 + elif ( + side is not None + and weather_name == constants.HAIL + and side.active.item == "icyrock" + ): + logger.info("{} has icyrock, assuming 8 turns of hail".format(side.active.name)) + battle.weather_turns_remaining = 8 + else: + battle.weather_turns_remaining = 5 + + logger.info("Weather turns remaining: {}".format(battle.weather_turns_remaining)) + if battle.weather_turns_remaining == 0: + logger.info( + "Weather {} did not end when expected, giving 3 more turns".format( + weather_name + ) + ) + battle.weather_turns_remaining = 3 + + if side is not None and len(split_msg) >= 5 and side.name in split_msg[4]: + ability = normalize_name(split_msg[3].split(":")[-1].strip()) + logger.info("Setting {} ability to {}".format(side.active.name, ability)) + side.active.ability = ability + + +def fieldstart(battle, split_msg): + """Set the battle's field condition""" + field_name = normalize_name(split_msg[2].split(":")[-1].strip()) + + # some field effects show up as a `-fieldstart` item but are separate from the other fields + if field_name == constants.TRICK_ROOM: + logger.info("Setting trickroom") + battle.trick_room = True + battle.trick_room_turns_remaining = 5 + elif field_name == constants.GRAVITY: + logger.info("Setting gravity") + battle.gravity = True + else: + logger.info("Setting the field to {}".format(field_name)) + battle.field = field_name + battle.field_turns_remaining = 5 + + +def fieldend(battle, split_msg): + """Remove the battle's field condition""" + field_name = normalize_name(split_msg[2].split(":")[-1].strip()) + + # some field effects show up as a `-fieldend` item but are separate from the other fields + if field_name == constants.TRICK_ROOM: + logger.info("Removing trick room") + battle.trick_room = False + battle.trick_room_turns_remaining = 0 + elif field_name == constants.GRAVITY: + logger.info("Removing gravity") + battle.gravity = False + else: + logger.info("Setting the field to None") + battle.field = None + + +def sidestart(battle, split_msg): + """Set a side effect such as stealth rock or sticky web""" + condition = split_msg[3].split(":")[-1].strip() + condition = normalize_name(condition) + + if is_opponent(battle, split_msg): + logger.info("Side condition {} starting for opponent".format(condition)) + battle.opponent.side_conditions[condition] += 1 + else: + logger.info("Side condition {} starting for bot".format(condition)) + battle.user.side_conditions[condition] += 1 + + +def sideend(battle, split_msg): + """Remove a side effect such as stealth rock or sticky web""" + condition = split_msg[3].split(":")[-1].strip() + condition = normalize_name(condition) + + if is_opponent(battle, split_msg): + logger.info("Side condition {} ending for opponent".format(condition)) + battle.opponent.side_conditions[condition] = 0 + else: + logger.info("Side condition {} ending for bot".format(condition)) + battle.user.side_conditions[condition] = 0 + + +def swapsideconditions(battle, _): + user_sc = battle.user.side_conditions + opponent_sc = battle.opponent.side_conditions + for side_condition in constants.COURT_CHANGE_SWAPS: + user_sc[side_condition], opponent_sc[side_condition] = ( + opponent_sc[side_condition], + user_sc[side_condition], + ) + + +def set_item(battle, split_msg): + """Set the opponent's item""" + if is_opponent(battle, split_msg): + side = battle.opponent + other_side = battle.user + else: + side = battle.user + other_side = battle.opponent + + item = normalize_name(split_msg[3].strip()) + + # for gen5 frisk only + # the frisk message will (incorrectly imo) show the item as belonging to the + # pokemon with frisk + # + # e.g. Furret is frisking the opponent: + # |-item|p2a: Furret|Life Orb|[from] ability: Frisk|[of] p2a: Furret + if ( + len(split_msg) == 6 + and split_msg[4] == "[from] ability: Frisk" + and split_msg[2] in split_msg[5] + ): + logger.info( + "{} frisked the opponent's item as {}".format(side.active.name, item) + ) + logger.info("Setting {}'s item to {}".format(other_side.active.name, item)) + other_side.active.item = item + else: + logger.info("Setting {}'s item to {}".format(side.active.name, item)) + side.active.item = item + + +def remove_item(battle, split_msg): + """Remove the opponent's item""" + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + logger.info("Removing {}'s item".format(side.active.name)) + side.active.item = None + + if len(split_msg) >= 5 and "knockoff" in normalize_name(split_msg[4]): + logger.info("Knockoff removed {}'s item".format(side.active.name)) + side.active.knocked_off = True + + +def immune(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + for msg in split_msg: + if constants.ABILITY in normalize_name(msg): + ability = normalize_name(msg.split(":")[-1]) + logger.info("Setting {}'s ability to {}".format(side.active.name, ability)) + side.active.ability = ability + + +def set_opponent_ability_from_ability_tag(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + ability = normalize_name(split_msg[3]) + logger.info("Setting {}'s ability to {}".format(side.active.name, ability)) + side.active.ability = ability + + +def illusion_end(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + if ( + is_opponent(battle, split_msg) + and side.active.name != "zoroark" + and side.active.zoroark_disguised_as is None + ): + logger.info("Illusion ending for opponent") + hp_percent = float(side.active.hp) / side.active.max_hp + previous_boosts = side.active.boosts + previous_status = side.active.status + previous_item = side.active.item + + zoroark_from_switch_string = Pokemon.from_switch_string(split_msg[3]) + zoroark_reserve_index = None + for index, pkmn in enumerate(side.reserve): + if pkmn == zoroark_from_switch_string: + zoroark_reserve_index = index + break + + pkmn_disguised_as = side.active + pkmn_disguised_as.item = constants.UNKNOWN_ITEM + side.reserve.append(pkmn_disguised_as) + if zoroark_reserve_index is not None: + reserve_zoroark = side.reserve.pop(zoroark_reserve_index) + side.active = reserve_zoroark + else: + side.active = zoroark_from_switch_string + + # the moves that have been used since this pkmn switched-in need + # to be un-associated with the pkmn being disguised as and need to + # be associated with the new pkmn instead + for mv in pkmn_disguised_as.moves_used_since_switch_in: + pkmn_disguised_as.remove_move(mv) + if side.active.get_move(mv) is None: + side.active.add_move(mv) + + side.active.hp = hp_percent * side.active.max_hp + side.active.boosts = previous_boosts + side.active.status = previous_status + side.active.item = previous_item + side.active.zoroark_disguised_as = None + + +def form_change(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + is_user = False + else: + side = battle.user + is_user = True + + logger.info("Form Change: {} -> {}".format(side.active.name, split_msg[3])) + side.active.forme_change(split_msg[3]) + if is_user: + side.re_initialize_active_pokemon_from_request_json(battle.request_json) + + +def zpower(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + logger.info("{} Used a Z-Move, setting item to None".format(side.active.name)) + side.active.item = None + + +def clearnegativeboost(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + for stat, value in pkmn.boosts.items(): + if value < 0: + logger.info("Setting {}'s {} boost to 0".format(pkmn.name, stat)) + pkmn.boosts[stat] = 0 + + +def clearboost(battle, split_msg): + if is_opponent(battle, split_msg): + pkmn = battle.opponent.active + else: + pkmn = battle.user.active + + for stat, value in pkmn.boosts.items(): + logger.info("Setting {}'s {} boost to 0".format(pkmn.name, stat)) + pkmn.boosts[stat] = 0 + + +def clearallboost(battle, _): + pkmn = battle.user.active + for stat, value in pkmn.boosts.items(): + if value != 0: + logger.info("Setting {}'s {} boost to 0".format(pkmn.name, stat)) + pkmn.boosts[stat] = 0 + + pkmn = battle.opponent.active + for stat, value in pkmn.boosts.items(): + if value != 0: + logger.info("Setting {}'s {} boost to 0".format(pkmn.name, stat)) + pkmn.boosts[stat] = 0 + + +def singleturn(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + move_name = normalize_name(split_msg[3].split(":")[-1]) + if move_name in constants.PROTECT_VOLATILE_STATUSES: + # set to 2 because the `upkeep` function will decrement by 1 on every end-of-turn + side.side_conditions[constants.PROTECT] = 2 + logger.info("{} used protect".format(side.active.name)) + + # |-singleturn|p1a: Skarmory|move: Roost + elif move_name == constants.ROOST: + # set to 2 because the `upkeep` function will decrement by 1 on every end-of-turn + side.active.volatile_statuses.append(constants.ROOST) + logger.info( + "{} has acquired the 'roost' volatilestatus".format(side.active.name) + ) + + +def mustrecharge(battle, split_msg): + # Bot's side does not get mustrecharge because the request JSON + # will contain the only available `recharge` move + if is_opponent(battle, split_msg): + side = battle.opponent + logger.info("{} must recharge".format(side.active.name)) + side.active.volatile_statuses.append("mustrecharge") + else: + side = battle.user + + # Truant and mustrecharge together means that you only recharge next turn + if "truant" in side.active.volatile_statuses: + logger.info( + "{} must recharge with truant, removing truant".format(side.active.name) + ) + remove_volatile(side.active, "truant") + + +def cant(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + opponent = True + else: + side = battle.user + opponent = False + + side.last_used_move = LastUsedMove( + pokemon_name=side.active.name, + move=side.last_used_move.move, + turn=battle.turn, + ) + + # |cant|p1a: Slaking|ability: Truant + if len(split_msg) == 4 and split_msg[3] == "ability: Truant": + logger.info( + "{} got 'cant' from truant, removing truant volatile".format( + side.active.name + ) + ) + remove_volatile(side.active, "truant") + + # |cant|p2a: Tauros|recharge + if len(split_msg) == 4 and split_msg[3] == "recharge": + logger.info( + "{} got 'cant' from recharge, removing mustrecharge volatile".format( + side.active.name + ) + ) + if opponent and "mustrecharge" not in side.active.volatile_statuses: + logger.warning( + "{} did not have mustrecharge but recharged".format(side.active.name) + ) + + remove_volatile(side.active, "mustrecharge") + + # |cant|p2a: Politoed|move: Taunt|Toxic + if len(split_msg) == 4 and split_msg[3].startswith("move: "): + move_name = normalize_name(split_msg[3].split(":")[-1]) + move_object = side.active.get_move(move_name) + if move_object is None: + side.active.add_move(move_name) + logger.info( + "Adding {} to {}'s moves from 'cant'".format( + move_name, side.active.name + ) + ) + + if len(split_msg) == 4 and split_msg[3] == constants.SLEEP: + logger.info("{} got 'cant' from sleep".format(side.active.name)) + if side.active.rest_turns > 1: + side.active.rest_turns -= 1 + logger.info( + "Decrementing {}'s rest_turns to {}".format( + side.active.name, side.active.rest_turns + ) + ) + elif side.active.rest_turns == 1: + logger.critical( + "{} has rest_turns==1 and got 'cant' from sleep".format( + side.active.name + ) + ) + exit(1) + else: + side.active.sleep_turns += 1 + logger.info( + "Incrementing {}'s sleep_turns to {}".format( + side.active.name, side.active.sleep_turns + ) + ) + + +def upkeep(battle, _): + if battle.trick_room: + battle.trick_room_turns_remaining -= 1 + logger.info( + "Trick Room turns remaining: {}".format(battle.trick_room_turns_remaining) + ) + + if constants.ROOST in battle.user.active.volatile_statuses: + logger.info( + "Removing 'roost' from {}'s volatiles".format(battle.user.active.name) + ) + battle.user.active.volatile_statuses = [ + v for v in battle.user.active.volatile_statuses if v != constants.ROOST + ] + + if constants.ROOST in battle.opponent.active.volatile_statuses: + logger.info( + "Removing 'roost' from {}'s volatiles".format(battle.opponent.active.name) + ) + battle.opponent.active.volatile_statuses = [ + v for v in battle.opponent.active.volatile_statuses if v != constants.ROOST + ] + + for side in [battle.user, battle.opponent]: + pkmn = side.active + if constants.YAWN in pkmn.volatile_statuses: + logger.info( + "{} had {} at the end of the turn, swapping out for {}".format( + pkmn.name, constants.YAWN, constants.YAWN_SLEEP_THIS_TURN + ) + ) + pkmn.volatile_statuses = [ + v for v in pkmn.volatile_statuses if v != constants.YAWN + ] + pkmn.volatile_statuses.append(constants.YAWN_SLEEP_THIS_TURN) + + elif constants.YAWN_SLEEP_THIS_TURN in pkmn.volatile_statuses: + logger.info( + "Removing {} from {}'s volatiles".format( + constants.YAWN_SLEEP_THIS_TURN, pkmn.name + ) + ) + pkmn.volatile_statuses = [ + v for v in pkmn.volatile_statuses if v != constants.YAWN_SLEEP_THIS_TURN + ] + if ( + battle.generation == "gen3" + and pkmn.status == constants.SLEEP + and side.last_used_move.move != "sleeptalk" + ): + pkmn.gen_3_consecutive_sleep_talks = 0 + logger.info( + "{} is asleep but didn't use sleeptalk, decrementing gen_3_consecutive_sleep_talks to 0".format( + pkmn.name + ) + ) + + if battle.user.side_conditions[constants.PROTECT] > 0: + battle.user.side_conditions[constants.PROTECT] -= 1 + logger.info( + "Setting protect to {} for the bot".format( + battle.user.side_conditions[constants.PROTECT] + ) + ) + + if battle.opponent.side_conditions[constants.PROTECT] > 0: + battle.opponent.side_conditions[constants.PROTECT] -= 1 + logger.info( + "Setting protect to {} for the opponent".format( + battle.opponent.side_conditions[constants.PROTECT] + ) + ) + + if battle.user.wish[0] > 0: + battle.user.wish = (battle.user.wish[0] - 1, battle.user.wish[1]) + logger.info("Decrementing wish to {} for the bot".format(battle.user.wish[0])) + + if battle.opponent.wish[0] > 0: + battle.opponent.wish = (battle.opponent.wish[0] - 1, battle.opponent.wish[1]) + logger.info( + "Decrementing wish to {} for the opponent".format(battle.opponent.wish[0]) + ) + + if battle.user.future_sight[0] > 0: + battle.user.future_sight = ( + battle.user.future_sight[0] - 1, + battle.user.future_sight[1], + ) + logger.info( + "Decrementing future_sight to {} for the bot".format( + battle.user.future_sight[0] + ) + ) + + if battle.opponent.future_sight[0] > 0: + battle.opponent.future_sight = ( + battle.opponent.future_sight[0] - 1, + battle.opponent.future_sight[1], + ) + logger.info( + "Decrementing future_sight to {} for the opponent".format( + battle.opponent.future_sight[0] + ) + ) + + # If a pkmn has less than maxhp during upkeep, + # we do not want to guess leftovers/blacksludge anymore when it is time to guess an item + # leftovers and blacksludge will reveal themselves at the end of the turn if they exist + opp_pkmn = battle.opponent.active + if opp_pkmn.hp < opp_pkmn.max_hp: + logger.info( + "{} has less than maxhp during upkeep, no longer guessing leftovers or blacksludge".format( + opp_pkmn.name + ) + ) + opp_pkmn.impossible_items.add(constants.LEFTOVERS) + opp_pkmn.impossible_items.add(constants.BLACK_SLUDGE) + + if opp_pkmn.status is None: + opp_pkmn.impossible_items.add("flameorb") + opp_pkmn.impossible_items.add("toxicorb") + + +def mega(battle, split_msg): + if is_opponent(battle, split_msg): + side = battle.opponent + else: + side = battle.user + + side.active.is_mega = True + logger.info("Mega-Pokemon: {}".format(side.active.name)) + + +def transform(battle, split_msg): + if is_opponent(battle, split_msg): + transformed_into_name = battle.user.active.name + + battle_copy = deepcopy(battle) + battle.opponent.active.boosts = deepcopy(battle.user.active.boosts) + + if ( + battle_copy.user.active.name == transformed_into_name + or battle_copy.user.active.name.startswith(transformed_into_name) + ): + transformed_into = battle_copy.user.active + else: + transformed_into = battle_copy.user.find_pokemon_in_reserves( + transformed_into_name + ) + + logger.info( + "Opponent {} transformed into {}".format( + battle.opponent.active.name, battle.user.active.name + ) + ) + battle.opponent.active.stats = deepcopy(transformed_into.stats) + battle.opponent.active.ability = deepcopy(transformed_into.ability) + battle.opponent.active.moves = deepcopy(transformed_into.moves) + battle.opponent.active.types = deepcopy(transformed_into.types) + battle.opponent.active.boosts = deepcopy(transformed_into.boosts) + + for mv in battle.opponent.active.moves: + mv.current_pp = 5 + + if constants.TRANSFORM not in battle.opponent.active.volatile_statuses: + battle.opponent.active.volatile_statuses.append(constants.TRANSFORM) + + +def turn(battle, split_msg): + battle.turn = int(split_msg[2]) + logger.info("") + logger.info("Turn: {}".format(battle.turn)) + + +def noinit(battle, split_msg): + if split_msg[2] == "rename": + battle.battle_tag = split_msg[3] + logger.info("Renamed battle to {}".format(battle.battle_tag)) + + +def check_speed_ranges(battle, msg_lines): + """ + Intention: + This function is intended to set the min or max possible speed that the opponent's + active Pokemon could possibly have given a turn that just happened. + + For example: if both the bot and the opponent use an equal priority move but the + opponent moves first, then the opponent's min_speed attribute will be set to the + bots actual speed. This is because the opponent must have at least that much speed + for it to have gone first. + + These min/max speeds are set without knowledge of items. If the opponent goes first + when having a choice scarf then min speed will still be set to the bots speed. When + it comes time to guess a Pokemon's possible set(s), the item must be taken into account + as well when determining the final speed of a Pokemon. Abilities are NOT taken into + consideration because their speed modifications are subject to certain conditions + being present, whereas a choice scarf ALWAYS boosts speed. + + If there is a situation where an ability could have modified the turn order (either by + changing a move's priority or giving a Pokemon more speed) then this check should be + skipped. Examples are: + - either side switched + - the opponent COULD have a speed-boosting weather ability AND that weather is up + - the opponent COULD have prankster and it used a status move + - Grassy Glide is used when Grassy Terrain is up + """ + for ln in msg_lines: + # If either side switched this turn - don't do this check + if ln.startswith("|switch|"): + return + + # If anyone used a custapberry, skip this check + if ln.startswith("|-enditem|") and ( + "custapberry" in normalize_name(ln) or "Custap Berry" in ln + ): + return + + # If anyone had quick claw activate, skip this check + if "quickclaw" in normalize_name(ln) or "Quick Claw" in ln: + return + + # If anyone had quick claw activate, skip this check + if "quickdraw" in normalize_name(ln) or "Quick Draw" in ln: + return + + moves = [get_move_information(m) for m in msg_lines if m.startswith("|move|")] + if ( + len(moves) != 2 + or moves[0][1][constants.PRIORITY] != moves[1][1][constants.PRIORITY] + or moves[0][1][constants.ID] == "encore" + ): + return + + bot_went_first = moves[0][0].startswith(battle.user.name) + + if ( + battle.opponent.active is None + or battle.opponent.active.item == "choicescarf" + or can_have_speed_modified(battle, battle.opponent.active) + or ( + not bot_went_first + and can_have_priority_modified( + battle, battle.opponent.active, moves[0][1][constants.ID] + ) + ) + or ( + bot_went_first + and can_have_priority_modified( + battle, battle.user.active, moves[0][1][constants.ID] + ) + ) + ): + return + + battle_copy = deepcopy(battle) + battle_copy_for_stats = deepcopy(battle_copy) + battle_copy.user.active.status = battle_copy_for_stats.user.active.stats + + speed_threshold = int( + boost_multiplier_lookup[battle_copy.user.active.boosts[constants.SPEED]] + * battle_copy.user.active.stats[constants.SPEED] + / boost_multiplier_lookup[battle_copy.opponent.active.boosts[constants.SPEED]] + ) + + if battle.opponent.side_conditions[constants.TAILWIND]: + speed_threshold = int(speed_threshold / 2) + + if battle.user.side_conditions[constants.TAILWIND]: + speed_threshold = int(speed_threshold * 2) + + if battle.opponent.active.status == constants.PARALYZED: + if battle.generation in ["gen4", "gen5", "gen6"]: + speed_threshold = int(speed_threshold * 4) + else: + speed_threshold = int(speed_threshold * 2) + + if battle.user.active.status == constants.PARALYZED: + if battle.generation in ["gen4", "gen5", "gen6"]: + speed_threshold = int(speed_threshold / 4) + else: + speed_threshold = int(speed_threshold / 2) + + if battle.user.active.item == "choicescarf": + speed_threshold = int(speed_threshold * 1.5) + + # we want to swap which attribute gets updated in trickroom because the slower pokemon goes first + if battle.trick_room: + bot_went_first = not bot_went_first + + if bot_went_first: + opponent_max_speed = min( + battle.opponent.active.speed_range.max, speed_threshold + ) + battle.opponent.active.speed_range = StatRange( + min=battle.opponent.active.speed_range.min, max=opponent_max_speed + ) + logger.info( + "Updated {}'s max speed to {}".format( + battle.opponent.active.name, battle.opponent.active.speed_range.max + ) + ) + + else: + opponent_min_speed = max( + battle.opponent.active.speed_range.min, speed_threshold + ) + battle.opponent.active.speed_range = StatRange( + min=opponent_min_speed, max=battle.opponent.active.speed_range.max + ) + logger.info( + "Updated {}'s min speed to {}".format( + battle.opponent.active.name, battle.opponent.active.speed_range.min + ) + ) + + +def check_opponent_hiddenpower(battle, msg_line): + """ + `msg_line` is should be the line *after* |-move|...|Hidden Power|... + and is meant to be called for the opponent's pkmn only + + This function checks if the move was resisted, super-effective, or neutral. + It then updates pkmn.hidden_power_possibilities based on that information + """ + attacker = battle.opponent.active + defender_types = battle.user.active.types + logger.info( + "Checking hiddenpower possibilities for opponent's {}".format(attacker.name) + ) + logger.info( + "Starting hiddenpower possibilities {}".format( + attacker.hidden_power_possibilities + ) + ) + + next_line_split_msg = msg_line.split("|") + if next_line_split_msg[1] == "-resisted": + logger.info("{} resisted hiddenpower".format(defender_types)) + for t in list(attacker.hidden_power_possibilities): + if not is_not_very_effective(t, defender_types): + attacker.hidden_power_possibilities.remove(t) + + elif next_line_split_msg[1] == "-supereffective": + logger.info("{} was weak to hiddenpower".format(defender_types)) + for t in list(attacker.hidden_power_possibilities): + if not is_super_effective(t, defender_types): + attacker.hidden_power_possibilities.remove(t) + + elif next_line_split_msg[1] == "-damage": + logger.info("{} was neutral to hiddenpower".format(defender_types)) + for t in list(attacker.hidden_power_possibilities): + if not is_neutral_effectiveness(t, defender_types): + attacker.hidden_power_possibilities.remove(t) + + else: + logger.info( + "Cannot update hiddenpower possibilities with: {}".format( + next_line_split_msg[1] + ) + ) + return + + logger.info( + "Remaining hiddenpower possibilities: {}".format( + attacker.hidden_power_possibilities + ) + ) + + +def check_choicescarf(battle, msg_lines): + # If either side switched this turn - don't do this check + if any( + battle.generation in ["gen1", "gen2", "gen3"] + or ln.startswith("|switch|") + or ln.startswith("|cant|") + or (ln.startswith("|-activate|") and ln.endswith("confusion")) + for ln in msg_lines + ) or battle.user.last_selected_move.move.startswith("switch "): + return + + moves = [get_move_information(m) for m in msg_lines if m.startswith("|move|")] + number_of_moves = len(moves) + + if number_of_moves not in [1, 2] or moves[0][0].startswith(battle.user.name): + return + + elif number_of_moves == 1: + moves.append( + ( + "{}a: {}".format(battle.opponent.name, battle.user.active.name), + all_move_json[normalize_name(battle.user.last_selected_move.move)], + ) + ) + + if moves[0][1][constants.PRIORITY] != moves[1][1][constants.PRIORITY]: + return + + battle_copy = deepcopy(battle) + if ( + battle.opponent.active is None + or battle.opponent.active.item != constants.UNKNOWN_ITEM + or not battle.opponent.active.can_have_choice_item + or can_have_speed_modified(battle, battle.opponent.active) + or can_have_priority_modified( + battle, battle.opponent.active, moves[0][1][constants.ID] + ) + or ( + battle_copy.user.active.ability == "unburden" + and battle_copy.user.active.item is None + ) + ): + return + + if battle.battle_type == constants.RANDOM_BATTLE: + battle_copy.opponent.active.set_spread( + "serious", "85,85,85,85,85,85" + ) # random battles have known spreads + else: + if battle.trick_room: + battle_copy.opponent.active.set_spread( + "quiet", "0,0,0,0,0,0" + ) # assume as slow as possible in trickroom + else: + battle_copy.opponent.active.set_spread( + "jolly", "0,0,0,0,0,252" + ) # assume as fast as possible + opponent_effective_speed = battle_copy.get_effective_speed(battle_copy.opponent) + bot_effective_speed = battle_copy.get_effective_speed(battle_copy.user) + + if battle.trick_room: + has_scarf = opponent_effective_speed > bot_effective_speed + else: + has_scarf = bot_effective_speed > opponent_effective_speed + + if has_scarf: + logger.info( + "Opponent {} could not have gone first - setting it's item to choicescarf".format( + battle.opponent.active.name + ) + ) + battle.opponent.active.item = "choicescarf" + battle.opponent.active.item_inferred = True + + +def get_damage_dealt(battle, split_msg, next_messages): + move_name = normalize_name(split_msg[3]) + critical_hit = False + + if is_opponent(battle, split_msg): + attacking_side = battle.opponent + defending_side = battle.user + else: + attacking_side = battle.user + defending_side = battle.opponent + + for line in next_messages: + next_line_split = line.split("|") + # if one of these strings appears in index 1 then + # exit out since we are done with this pokemon's move + if len(next_line_split) < 2 or next_line_split[1] in MOVE_END_STRINGS: + break + + elif next_line_split[1] == "-crit": + critical_hit = True + + # if '-damage' appears, we want to parse the percentage damage dealt + elif ( + next_line_split[1] == "-damage" + and defending_side.name in next_line_split[2] + ): + final_health, maxhp, _ = get_pokemon_info_from_condition(next_line_split[3]) + # maxhp can be 0 if the targetted pokemon fainted + # the message would be: "0 fnt" + if maxhp == 0: + maxhp = defending_side.active.max_hp + + damage_dealt = ( + defending_side.active.hp / defending_side.active.max_hp + ) * maxhp - final_health + damage_percentage = round(damage_dealt / maxhp, 4) + + logger.info( + "{} did {}% damage to {} with {}".format( + attacking_side.active.name, + damage_percentage * 100, + defending_side.active.name, + move_name, + ) + ) + return DamageDealt( + attacker=attacking_side.active.name, + defender=defending_side.active.name, + move=move_name, + percent_damage=damage_percentage, + crit=critical_hit, + ) + + +def _do_check( + battle, + battle_copy, + possibilites, + check_type, + damage_dealt, + bot_went_first, + check_lower_bound, + allow_emptying=False, +): + actual_damage_dealt = damage_dealt.percent_damage * battle_copy.user.active.max_hp + + indicies_to_remove = [] + num_starting_possibilites = len(possibilites) + for i in range(num_starting_possibilites): + p = possibilites[i] + if isinstance(p, PredictedPokemonSet): + p = p.pkmn_set + + if not battle.opponent.active.ability: + battle_copy.opponent.active.ability = p.ability + if battle.opponent.active.item == constants.UNKNOWN_ITEM: + battle_copy.opponent.active.item = p.item + battle_copy.opponent.active.set_spread( + p.nature, ",".join(str(x) for x in p.evs) + ) + + damage = None + if check_type == "damage_received": + actual_damage_dealt = ( + damage_dealt.percent_damage * battle_copy.opponent.active.max_hp + ) + + if bot_went_first: + opponent_move = constants.DO_NOTHING_MOVE + else: + opponent_move = battle_copy.opponent.last_used_move.move + + damage, _ = poke_engine_get_damage_rolls( + battle_copy, damage_dealt.move, opponent_move, bot_went_first + ) + elif check_type == "damage_dealt": + _, damage = poke_engine_get_damage_rolls( + battle_copy, + battle_copy.user.last_selected_move.move, + damage_dealt.move, + bot_went_first, + ) + + lower_bound_violated = check_lower_bound and ( + actual_damage_dealt < (damage[0] * 0.975 - 5) + ) + upper_bound_violated = actual_damage_dealt > (damage[-1] * 1.025 + 5) + if lower_bound_violated or upper_bound_violated: + logger.debug( + "{} is invalid based on reverse damage calc. damage_dealt={}, lower={}, upper={}".format( + p, actual_damage_dealt, damage[0], damage[-1] + ) + ) + indicies_to_remove.append(i) + + if len(indicies_to_remove) == num_starting_possibilites and not allow_emptying: + logger.warning("Would remove all possibilities, not removing any") + logger.warning(f"{actual_damage_dealt=}") + return + + for i in reversed(indicies_to_remove): + possibilites.pop(i) + + +def update_dataset_possibilities( + battle, + damage_dealt, + check_type, +): + if ( + battle.wait + or battle.opponent.active is None + or battle.opponent.active.hp <= 0 + or battle.opponent.active.name in ["ditto", "shedinja", "terapagosterastal"] + or battle.user.active.name in ["ditto", "shedinja", "terapagosterastal"] + or battle.opponent.active.ability in ["protean", "libero"] + or battle.user.active.ability in ["protean", "libero"] + or damage_dealt.move in constants.WEIGHT_BASED_MOVES + or damage_dealt.move in constants.SPEED_BASED_MOVES + or all_move_json[damage_dealt.move][constants.CATEGORY] == constants.STATUS + or damage_dealt.move.startswith(constants.HIDDEN_POWER) + or damage_dealt.crit + or damage_dealt.percent_damage == 0 + or ( + check_type == "damage_dealt" + and battle.opponent.last_used_move.move != damage_dealt.move + ) + or ( + check_type == "damage_received" + and battle.user.last_used_move.move != damage_dealt.move + ) + or damage_dealt.move + in [ + "pursuit", + "struggle", + "counter", + "mirrorcoat", + "metalburst", + "foulplay", + "meteorbeam", + "electroshot", + "ficklebeam", + "lashout", + "ragefist", + "shellsidearm", + ] + ): + return + + battle_copy = deepcopy(battle) + + if battle.battle_type == constants.RANDOM_BATTLE: + possibilites = RandomBattleTeamDatasets.get_pkmn_sets_from_pkmn_name( + battle.opponent.active.name, battle.opponent.active.base_name + ) + smogon_possibilities = None + allow_emptying = False + elif battle.battle_type == constants.BATTLE_FACTORY: + possibilites = TeamDatasets.get_pkmn_sets_from_pkmn_name( + battle.opponent.active.name, battle.opponent.active.base_name + ) + smogon_possibilities = None + allow_emptying = False + else: + possibilites = TeamDatasets.get_pkmn_sets_from_pkmn_name( + battle.opponent.active.name, battle.opponent.active.base_name + ) + smogon_possibilities = SmogonSets.get_pkmn_sets_from_pkmn_name( + battle.opponent.active.name, battle.opponent.active.base_name + ) + allow_emptying = True + + check_lower_bound = True + if check_type == "damage_dealt": + user_percent_hp = round(battle.user.active.hp / battle.user.active.max_hp, 2) + if abs(damage_dealt.percent_damage - user_percent_hp) < 0.02: + check_lower_bound = False + bot_went_first = ( + battle.user.last_used_move.turn == battle.opponent.last_used_move.turn + ) + elif check_type == "damage_received": + opponent_percent_hp = round( + battle.opponent.active.hp / battle.opponent.active.max_hp, 2 + ) + if abs(damage_dealt.percent_damage - opponent_percent_hp) < 0.02: + check_lower_bound = False + bot_went_first = ( + battle.opponent.last_used_move.turn != battle.user.last_used_move.turn + ) + else: + raise ValueError("Invalid check_type: {}".format(check_type)) + + logger.debug(f"{check_type=}") + logger.debug(f"{check_lower_bound=}") + logger.debug(f"{bot_went_first=}") + + _do_check( + battle, + battle_copy, + possibilites, + check_type, + damage_dealt, + bot_went_first, + check_lower_bound, + allow_emptying=allow_emptying, + ) + + if smogon_possibilities is not None: + _do_check( + battle, + battle_copy, + smogon_possibilities, + check_type, + damage_dealt, + bot_went_first, + check_lower_bound, + allow_emptying=False, # never completely empty smogon stats + ) + + +def check_heavydutyboots(battle, msg_lines): + side_to_check = battle.opponent + + if ( + battle.generation not in ["gen8", "gen9"] + or side_to_check.active.item != constants.UNKNOWN_ITEM + or "magicguard" + in [ + normalize_name(a) + for a in pokedex[side_to_check.active.name][constants.ABILITIES].values() + ] + ): + return + + if side_to_check.side_conditions[constants.STEALTH_ROCK] > 0: + pkmn_took_stealthrock_damage = False + for line in msg_lines: + split_line = line.split("|") + + # |-damage|p2a: Weedle|88/100|[from] Stealth Rock + if ( + len(split_line) > 4 + and split_line[1] == "-damage" + and split_line[2].startswith(side_to_check.name) + and split_line[4] == "[from] Stealth Rock" + ): + pkmn_took_stealthrock_damage = True + + if not pkmn_took_stealthrock_damage: + logger.info("{} has heavydutyboots".format(side_to_check.active.name)) + side_to_check.active.item = "heavydutyboots" + side_to_check.active.item_inferred = True + else: + logger.info( + "{} was affected by stealthrock, it cannot have heavydutyboots".format( + side_to_check.active.name + ) + ) + side_to_check.active.impossible_items.add(constants.HEAVY_DUTY_BOOTS) + + elif ( + side_to_check.side_conditions[constants.SPIKES] > 0 + and "levitate" + not in [ + normalize_name(a) + for a in pokedex[side_to_check.active.name][constants.ABILITIES].values() + ] + and "flying" not in side_to_check.active.types + and side_to_check.active.ability != "levitate" + ): + pkmn_took_spikes_damage = False + for line in msg_lines: + split_line = line.split("|") + + # |-damage|p2a: Weedle|88/100|[from] Spikes + if ( + len(split_line) > 4 + and split_line[1] == "-damage" + and split_line[2].startswith(side_to_check.name) + and split_line[4] == "[from] Spikes" + ): + pkmn_took_spikes_damage = True + + if not pkmn_took_spikes_damage: + logger.info("{} has heavydutyboots".format(side_to_check.active.name)) + side_to_check.active.item = "heavydutyboots" + side_to_check.active.item_inferred = True + else: + logger.info( + "{} was affected by spikes, it cannot have heavydutyboots".format( + side_to_check.active.name + ) + ) + side_to_check.active.impossible_items.add(constants.HEAVY_DUTY_BOOTS) + elif ( + side_to_check.side_conditions[constants.TOXIC_SPIKES] > 0 + and side_to_check.active.status is None + and "flying" not in side_to_check.active.types + and "poison" not in side_to_check.active.types + and "steel" not in side_to_check.active.types + and side_to_check.active.ability != "levitate" + and "levitate" + not in [ + normalize_name(a) + for a in pokedex[side_to_check.active.name][constants.ABILITIES].values() + ] + and side_to_check.active.ability not in constants.IMMUNE_TO_POISON_ABILITIES + ): + pkmn_took_toxicspikes_poison = False + for line in msg_lines: + split_line = line.split("|") + + # a pokemon can be toxic-ed from sources other than toxicspikes + # stopping at one of these strings ensures those other sources aren't considered + if len(split_line) < 2 or split_line[1] in {"move", "upkeep", ""}: + break + + # |-status|p2a: Pikachu|psn + if ( + split_line[1] == "-status" + and ( + split_line[3] == constants.POISON + or split_line[3] == constants.TOXIC + ) + and split_line[2].startswith(side_to_check.name) + ): + pkmn_took_toxicspikes_poison = True + + if not pkmn_took_toxicspikes_poison: + logger.info("{} has heavydutyboots".format(side_to_check.active.name)) + side_to_check.active.item = "heavydutyboots" + side_to_check.active.item_inferred = True + else: + logger.info( + "{} was affected by toxicspikes, it cannot have heavydutyboots".format( + side_to_check.active.name + ) + ) + side_to_check.active.impossible_items.add(constants.HEAVY_DUTY_BOOTS) + + elif ( + side_to_check.side_conditions[constants.STICKY_WEB] > 0 + and "flying" not in side_to_check.active.types + and "levitate" + not in [ + normalize_name(a) + for a in pokedex[side_to_check.active.name][constants.ABILITIES].values() + ] + ): + pkmn_was_affected_by_stickyweb = False + for line in msg_lines: + split_line = line.split("|") + + # |-activate|p2a: Gengar|move: Sticky Web + if ( + len(split_line) == 4 + and split_line[1] == "-activate" + and split_line[2].startswith(side_to_check.name) + and split_line[3] == "move: Sticky Web" + ): + pkmn_was_affected_by_stickyweb = True + + if not pkmn_was_affected_by_stickyweb: + logger.info("{} has heavydutyboots".format(side_to_check.active.name)) + side_to_check.active.item = "heavydutyboots" + side_to_check.active.item_inferred = True + else: + logger.debug( + "{} was affected by sticky web, it cannot have heavydutyboots".format( + side_to_check.active.name + ) + ) + side_to_check.active.impossible_items.add(constants.HEAVY_DUTY_BOOTS) + + +def update_battle(battle, msg): + msg_lines = msg.split("\n") + + action = None + check_speed_ranges(battle, msg_lines) + for i, line in enumerate(msg_lines): + split_msg = line.split("|") + if len(split_msg) < 2: + continue + + action = split_msg[1].strip() + + battle_modifiers_lookup = { + "request": request, + "switch": switch, + "faint": faint, + "drag": drag, + "-heal": heal_or_damage, + "-damage": heal_or_damage, + "-sethp": sethp, + "move": move, + "-setboost": setboost, + "-boost": boost, + "-unboost": unboost, + "-status": status, + "-activate": activate, + "-anim": anim, + "-prepare": prepare, + "-start": start_volatile_status, + "-singlemove": start_volatile_status, + "-end": end_volatile_status, + "-curestatus": curestatus, + "-cureteam": cureteam, + "-weather": weather, + "-fieldstart": fieldstart, + "-fieldend": fieldend, + "-sidestart": sidestart, + "-sideend": sideend, + "-swapsideconditions": swapsideconditions, + "-item": set_item, + "-enditem": remove_item, + "-immune": immune, + "-ability": set_opponent_ability_from_ability_tag, + "detailschange": form_change, + "replace": illusion_end, + "-formechange": form_change, + "-transform": transform, + "-mega": mega, + "-terastallize": terastallize, + "-zpower": zpower, + "-clearnegativeboost": clearnegativeboost, + "-clearboost": clearboost, + "-clearallboost": clearallboost, + "-singleturn": singleturn, + "-mustrecharge": mustrecharge, + "upkeep": upkeep, + "cant": cant, + "inactive": inactive, + "inactiveoff": inactiveoff, + "turn": turn, + "noinit": noinit, + } + + function_to_call = battle_modifiers_lookup.get(action) + if function_to_call is not None: + function_to_call(battle, split_msg) + + if action == "move" and is_opponent(battle, split_msg): + if normalize_name(split_msg[3].strip()) == constants.HIDDEN_POWER: + check_opponent_hiddenpower(battle, msg_lines[i + 1]) + check_choicescarf(battle, msg_lines) + damage_dealt = get_damage_dealt(battle, split_msg, msg_lines[i + 1 :]) + if damage_dealt: + update_dataset_possibilities(battle, damage_dealt, "damage_dealt") + + elif action == "move" and not is_opponent(battle, split_msg): + damage_dealt = get_damage_dealt(battle, split_msg, msg_lines[i + 1 :]) + if damage_dealt: + update_dataset_possibilities(battle, damage_dealt, "damage_received") + + elif action == "switch" and is_opponent(battle, split_msg): + check_heavydutyboots(battle, msg_lines[i + 1 :]) + + if action == "turn": + return True + + if action in ["inactive", "updatesearch"]: + return False + + if action != "request": + return battle.force_switch + + +async def async_update_battle(battle, msg): + return update_battle(battle, msg) diff --git a/fp/helpers.py b/fp/helpers.py new file mode 100644 index 000000000..644c0fdb7 --- /dev/null +++ b/fp/helpers.py @@ -0,0 +1,269 @@ +import math +import constants +from config import FoulPlayConfig + +natures = { + "lonely": {"plus": constants.ATTACK, "minus": constants.DEFENSE}, + "adamant": {"plus": constants.ATTACK, "minus": constants.SPECIAL_ATTACK}, + "naughty": {"plus": constants.ATTACK, "minus": constants.SPECIAL_DEFENSE}, + "brave": {"plus": constants.ATTACK, "minus": constants.SPEED}, + "bold": {"plus": constants.DEFENSE, "minus": constants.ATTACK}, + "impish": {"plus": constants.DEFENSE, "minus": constants.SPECIAL_ATTACK}, + "lax": {"plus": constants.DEFENSE, "minus": constants.SPECIAL_DEFENSE}, + "relaxed": {"plus": constants.DEFENSE, "minus": constants.SPEED}, + "modest": {"plus": constants.SPECIAL_ATTACK, "minus": constants.ATTACK}, + "mild": {"plus": constants.SPECIAL_ATTACK, "minus": constants.DEFENSE}, + "rash": {"plus": constants.SPECIAL_ATTACK, "minus": constants.SPECIAL_DEFENSE}, + "quiet": {"plus": constants.SPECIAL_ATTACK, "minus": constants.SPEED}, + "calm": {"plus": constants.SPECIAL_DEFENSE, "minus": constants.ATTACK}, + "gentle": {"plus": constants.SPECIAL_DEFENSE, "minus": constants.DEFENSE}, + "careful": {"plus": constants.SPECIAL_DEFENSE, "minus": constants.SPECIAL_ATTACK}, + "sassy": {"plus": constants.SPECIAL_DEFENSE, "minus": constants.SPEED}, + "timid": {"plus": constants.SPEED, "minus": constants.ATTACK}, + "hasty": {"plus": constants.SPEED, "minus": constants.DEFENSE}, + "jolly": {"plus": constants.SPEED, "minus": constants.SPECIAL_ATTACK}, + "naive": {"plus": constants.SPEED, "minus": constants.SPECIAL_DEFENSE}, +} + + +def get_pokemon_info_from_condition(condition_string: str): + if constants.FNT in condition_string: + return 0, 0, None + + split_string = condition_string.split("/") + hp = int(split_string[0]) + if any(s in condition_string for s in constants.NON_VOLATILE_STATUSES): + maxhp, status = split_string[1].split(" ") + maxhp = int(maxhp) + return hp, maxhp, status + else: + maxhp = int(split_string[1]) + return hp, maxhp, None + + +def normalize_name(name): + return ( + name.replace(" ", "") + .replace("-", "") + .replace(".", "") + .replace("'", "") + .replace("%", "") + .replace("*", "") + .replace(":", "") + .replace("(", "") + .replace(")", "") + .strip() + .lower() + .encode("ascii", "ignore") + .decode("utf-8") + ) + + +def update_stats_from_nature(stats, nature): + new_stats = stats.copy() + try: + new_stats[natures[nature]["plus"]] *= 1.1 + new_stats[natures[nature]["minus"]] *= 0.9 + except KeyError: + pass + + return new_stats + + +def common_pkmn_stat_calc(stat: int, iv: int, ev: int, level: int): + return math.floor(((2 * stat + iv + math.floor(ev / 4)) * level) / 100) + + +def common_pkmn_stat_calc_gen_1_2(stat, level): + return math.floor(((((stat + 15) * 2) + 63) * level) / 100) + + +def _calculate_stats_gen_1_2(base_stats, level): + new_stats = dict() + + new_stats[constants.HITPOINTS] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.HITPOINTS], level) + + level + + 10 + ) + + new_stats[constants.ATTACK] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.ATTACK], level) + 5 + ) + new_stats[constants.DEFENSE] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.DEFENSE], level) + 5 + ) + new_stats[constants.SPECIAL_ATTACK] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.SPECIAL_ATTACK], level) + 5 + ) + new_stats[constants.SPECIAL_DEFENSE] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.SPECIAL_DEFENSE], level) + 5 + ) + new_stats[constants.SPEED] = ( + common_pkmn_stat_calc_gen_1_2(base_stats[constants.SPEED], level) + 5 + ) + + new_stats = {k: int(v) for k, v in new_stats.items()} + + return new_stats + + +def _calculate_stats(base_stats, level, ivs=(31,) * 6, evs=(85,) * 6, nature="serious"): + new_stats = dict() + + new_stats[constants.HITPOINTS] = ( + common_pkmn_stat_calc(base_stats[constants.HITPOINTS], ivs[0], evs[0], level) + + level + + 10 + ) + + new_stats[constants.ATTACK] = ( + common_pkmn_stat_calc(base_stats[constants.ATTACK], ivs[1], evs[1], level) + 5 + ) + + new_stats[constants.DEFENSE] = ( + common_pkmn_stat_calc(base_stats[constants.DEFENSE], ivs[2], evs[2], level) + 5 + ) + + new_stats[constants.SPECIAL_ATTACK] = ( + common_pkmn_stat_calc( + base_stats[constants.SPECIAL_ATTACK], ivs[3], evs[3], level + ) + + 5 + ) + + new_stats[constants.SPECIAL_DEFENSE] = ( + common_pkmn_stat_calc( + base_stats[constants.SPECIAL_DEFENSE], ivs[4], evs[4], level + ) + + 5 + ) + + new_stats[constants.SPEED] = ( + common_pkmn_stat_calc(base_stats[constants.SPEED], ivs[5], evs[5], level) + 5 + ) + + new_stats = update_stats_from_nature(new_stats, nature) + new_stats = {k: int(v) for k, v in new_stats.items()} + return new_stats + + +def calculate_stats(base_stats, level, ivs=(31,) * 6, evs=(85,) * 6, nature="serious"): + if any(g in FoulPlayConfig.pokemon_mode for g in ["gen1", "gen2"]): + return _calculate_stats_gen_1_2(base_stats, level) + else: + return _calculate_stats(base_stats, level, ivs, evs, nature) + + +pokemon_type_indicies = { + "normal": 0, + "fire": 1, + "water": 2, + "electric": 3, + "grass": 4, + "ice": 5, + "fighting": 6, + "poison": 7, + "ground": 8, + "flying": 9, + "psychic": 10, + "bug": 11, + "rock": 12, + "ghost": 13, + "dragon": 14, + "dark": 15, + "steel": 16, + "fairy": 17, + # ??? and typeless are the same thing + "typeless": 18, + "???": 18, +} + +damage_multipication_array = [ + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 / 2, 0, 1, 1, 1 / 2, 1, 1], + [1, 1 / 2, 1 / 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1 / 2, 1, 1 / 2, 1, 2, 1, 1], + [1, 2, 1 / 2, 1, 1 / 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1 / 2, 1, 1, 1, 1], + [1, 1, 2, 1 / 2, 1 / 2, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1 / 2, 1, 1, 1, 1], + [ + 1, + 1 / 2, + 2, + 1, + 1 / 2, + 1, + 1, + 1 / 2, + 2, + 1 / 2, + 1, + 1 / 2, + 2, + 1, + 1 / 2, + 1, + 1 / 2, + 1, + 1, + ], + [1, 1 / 2, 1 / 2, 1, 2, 1 / 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1 / 2, 1, 1], + [2, 1, 1, 1, 1, 2, 1, 1 / 2, 1, 1 / 2, 1 / 2, 1 / 2, 2, 0, 1, 2, 2, 1 / 2, 1], + [1, 1, 1, 1, 2, 1, 1, 1 / 2, 1 / 2, 1, 1, 1, 1 / 2, 1 / 2, 1, 1, 0, 2, 1], + [1, 2, 1, 2, 1 / 2, 1, 1, 2, 1, 0, 1, 1 / 2, 2, 1, 1, 1, 2, 1, 1], + [1, 1, 1, 1 / 2, 2, 1, 2, 1, 1, 1, 1, 2, 1 / 2, 1, 1, 1, 1 / 2, 1, 1], + [1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1 / 2, 1, 1, 1, 1, 0, 1 / 2, 1, 1], + [ + 1, + 1 / 2, + 1, + 1, + 2, + 1, + 1 / 2, + 1 / 2, + 1, + 1 / 2, + 2, + 1, + 1, + 1 / 2, + 1, + 2, + 1 / 2, + 1 / 2, + 1, + ], + [1, 2, 1, 1, 1, 2, 1 / 2, 1, 1 / 2, 2, 1, 2, 1, 1, 1, 1, 1 / 2, 1, 1], + [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1 / 2, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1 / 2, 0, 1], + [1, 1, 1, 1, 1, 1, 1 / 2, 1, 1, 1, 2, 1, 1, 2, 1, 1 / 2, 1, 1 / 2, 1], + [1, 1 / 2, 1 / 2, 1 / 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1 / 2, 2, 1], + [1, 1 / 2, 1, 1, 1, 1, 2, 1 / 2, 1, 1, 1, 1, 1, 1, 2, 2, 1 / 2, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], +] + + +def type_effectiveness_modifier(attacking_move_type, defending_types): + modifier = 1 + attacking_type_index = pokemon_type_indicies[attacking_move_type] + for pkmn_type in defending_types: + defending_type_index = pokemon_type_indicies[pkmn_type] + modifier *= damage_multipication_array[attacking_type_index][ + defending_type_index + ] + + return modifier + + +def is_neutral_effectiveness(move_type, defending_pokemon_types): + multiplier = type_effectiveness_modifier(move_type, defending_pokemon_types) + return multiplier == 1 + + +def is_super_effective(move_type, defending_pokemon_types): + multiplier = type_effectiveness_modifier(move_type, defending_pokemon_types) + return multiplier > 1 + + +def is_not_very_effective(move_type, defending_pokemon_types): + multiplier = type_effectiveness_modifier(move_type, defending_pokemon_types) + return multiplier < 1 diff --git a/fp/run_battle.py b/fp/run_battle.py new file mode 100644 index 000000000..0666b060c --- /dev/null +++ b/fp/run_battle.py @@ -0,0 +1,268 @@ +import importlib +import json +import asyncio +import concurrent.futures +from copy import deepcopy +import logging + +from data.pkmn_sets import RandomBattleTeamDatasets, TeamDatasets +from data.pkmn_sets import SmogonSets +import constants +from config import FoulPlayConfig +from fp.battle import LastUsedMove, Pokemon +from fp.battle_bots.helpers import format_decision +from fp.battle_modifier import async_update_battle +from fp.helpers import normalize_name + +from fp.websocket_client import PSWebsocketClient + +logger = logging.getLogger(__name__) + + +def battle_is_finished(battle_tag, msg): + return ( + msg.startswith(">{}".format(battle_tag)) + and (constants.WIN_STRING in msg or constants.TIE_STRING in msg) + and constants.CHAT_STRING not in msg + ) + + +def extract_battle_factory_tier_from_msg(msg): + start = msg.find("Battle Factory Tier: ") + len("Battle Factory Tier: ") + end = msg.find("", start) + tier_name = msg[start:end] + + return normalize_name(tier_name) + + +async def async_pick_move(battle): + battle_copy = deepcopy(battle) + if battle_copy.request_json: + battle_copy.user.update_from_request_json(battle_copy.request_json) + + loop = asyncio.get_event_loop() + with concurrent.futures.ThreadPoolExecutor() as pool: + best_move = await loop.run_in_executor(pool, battle_copy.find_best_move) + battle.user.last_selected_move = LastUsedMove( + battle.user.active.name, best_move.removesuffix("-tera"), battle.turn + ) + return format_decision(battle_copy, best_move) + + +async def handle_team_preview(battle, ps_websocket_client): + battle_copy = deepcopy(battle) + battle_copy.user.active = Pokemon.get_dummy() + battle_copy.opponent.active = Pokemon.get_dummy() + battle_copy.team_preview = True + + best_move = await async_pick_move(battle_copy) + + # because we copied the battle before sending it in, we need to update the last selected move here + pkmn_name = battle.user.reserve[int(best_move[0].split()[1]) - 1].name + battle.user.last_selected_move = LastUsedMove( + "teampreview", "switch {}".format(pkmn_name), battle.turn + ) + + size_of_team = len(battle.user.reserve) + 1 + team_list_indexes = list(range(1, size_of_team)) + choice_digit = int(best_move[0].split()[-1]) + + team_list_indexes.remove(choice_digit) + message = [ + "/team {}{}|{}".format( + choice_digit, "".join(str(x) for x in team_list_indexes), battle.rqid + ) + ] + + await ps_websocket_client.send_message(battle.battle_tag, message) + + +async def get_battle_tag_and_opponent(ps_websocket_client: PSWebsocketClient): + while True: + msg = await ps_websocket_client.receive_message() + split_msg = msg.split("|") + first_msg = split_msg[0] + if "battle" in first_msg: + battle_tag = first_msg.replace(">", "").strip() + user_name = split_msg[-1].replace("☆", "").strip() + opponent_name = ( + split_msg[4].replace(user_name, "").replace("vs.", "").strip() + ) + return battle_tag, opponent_name + + +async def initialize_battle_with_tag( + ps_websocket_client: PSWebsocketClient, set_request_json=True +): + battle_module = importlib.import_module( + "fp.battle_bots.{}.main".format(FoulPlayConfig.battle_bot_module) + ) + + battle_tag, opponent_name = await get_battle_tag_and_opponent(ps_websocket_client) + + if FoulPlayConfig.log_to_file: + FoulPlayConfig.file_log_handler.do_rollover( + "{}_{}.log".format(battle_tag, opponent_name) + ) + + while True: + msg = await ps_websocket_client.receive_message() + split_msg = msg.split("|") + if split_msg[1].strip() == "request" and split_msg[2].strip(): + user_json = json.loads(split_msg[2].strip("'")) + user_id = user_json[constants.SIDE][constants.ID] + opponent_id = constants.ID_LOOKUP[user_id] + battle = battle_module.BattleBot(battle_tag) + battle.opponent.name = opponent_id + battle.opponent.account_name = opponent_name + + if set_request_json: + battle.request_json = user_json + + return battle, opponent_id, user_json + + +async def read_messages_until_first_pokemon_is_seen( + ps_websocket_client, battle, opponent_id, user_json +): + # keep reading messages until the opponent's first pokemon is seen + # this is run when starting non team-preview battles + while True: + msg = await ps_websocket_client.receive_message() + if constants.START_STRING in msg: + split_msg = msg.split(constants.START_STRING)[-1].split("\n") + for line in split_msg: + if opponent_id in line and constants.SWITCH_STRING in line: + battle.start_non_team_preview_battle(user_json, line) + + # don't update the battle if the line contains a switch (this would be the bot's switch) + # the first switch-in of randombattles will be handled by `start_non_team_preview_battle` + elif battle.started and not line.startswith("|switch|"): + await async_update_battle(battle, line) + + return + + +async def start_random_battle( + ps_websocket_client: PSWebsocketClient, pokemon_battle_type +): + battle, opponent_id, user_json = await initialize_battle_with_tag( + ps_websocket_client + ) + battle.battle_type = constants.RANDOM_BATTLE + battle.generation = pokemon_battle_type[:4] + RandomBattleTeamDatasets.initialize(battle.generation) + + await read_messages_until_first_pokemon_is_seen( + ps_websocket_client, battle, opponent_id, user_json + ) + + # first move needs to be picked here + best_move = await async_pick_move(battle) + await ps_websocket_client.send_message(battle.battle_tag, best_move) + + return battle + + +async def start_standard_battle( + ps_websocket_client: PSWebsocketClient, pokemon_battle_type +): + battle, opponent_id, user_json = await initialize_battle_with_tag( + ps_websocket_client, set_request_json=False + ) + if "battlefactory" in pokemon_battle_type: + battle.battle_type = constants.BATTLE_FACTORY + else: + battle.battle_type = constants.STANDARD_BATTLE + battle.generation = pokemon_battle_type[:4] + + if battle.generation in constants.NO_TEAM_PREVIEW_GENS: + await read_messages_until_first_pokemon_is_seen( + ps_websocket_client, battle, opponent_id, user_json + ) + unique_pkmn_names = set( + [p.name for p in (battle.opponent.reserve + battle.user.reserve)] + + [battle.user.active.name, battle.opponent.active.name] + ) + SmogonSets.initialize(pokemon_battle_type, unique_pkmn_names) + TeamDatasets.initialize(pokemon_battle_type, unique_pkmn_names) + + # first move needs to be picked here + best_move = await async_pick_move(battle) + await ps_websocket_client.send_message(battle.battle_tag, best_move) + + else: + msg = "" + while constants.START_TEAM_PREVIEW not in msg: + msg = await ps_websocket_client.receive_message() + + preview_string_lines = msg.split(constants.START_TEAM_PREVIEW)[-1].split("\n") + + opponent_pokemon = [] + for line in preview_string_lines: + if not line: + continue + + split_line = line.split("|") + if ( + split_line[1] == constants.TEAM_PREVIEW_POKE + and split_line[2].strip() == opponent_id + ): + opponent_pokemon.append(split_line[3]) + + battle.initialize_team_preview(user_json, opponent_pokemon, pokemon_battle_type) + battle.during_team_preview() + + unique_pkmn_names = set( + p.name for p in battle.opponent.reserve + battle.user.reserve + ) + + if battle.battle_type == constants.BATTLE_FACTORY: + tier_name = extract_battle_factory_tier_from_msg(msg) + logger.info("Battle Factory Tier: {}".format(tier_name)) + TeamDatasets.initialize( + pokemon_battle_type, + unique_pkmn_names, + battle_factory_tier_name=tier_name, + ) + else: + SmogonSets.initialize(pokemon_battle_type, unique_pkmn_names) + TeamDatasets.initialize(pokemon_battle_type, unique_pkmn_names) + + await handle_team_preview(battle, ps_websocket_client) + + return battle + + +async def start_battle(ps_websocket_client, pokemon_battle_type): + if "random" in pokemon_battle_type: + battle = await start_random_battle(ps_websocket_client, pokemon_battle_type) + else: + battle = await start_standard_battle(ps_websocket_client, pokemon_battle_type) + + await ps_websocket_client.send_message(battle.battle_tag, ["hf"]) + await ps_websocket_client.send_message(battle.battle_tag, ["/timer on"]) + + return battle + + +async def pokemon_battle(ps_websocket_client, pokemon_battle_type): + battle = await start_battle(ps_websocket_client, pokemon_battle_type) + while True: + msg = await ps_websocket_client.receive_message() + if battle_is_finished(battle.battle_tag, msg): + if constants.WIN_STRING in msg: + winner = msg.split(constants.WIN_STRING)[-1].split("\n")[0].strip() + else: + winner = None + logger.info("Winner: {}".format(winner)) + await ps_websocket_client.send_message(battle.battle_tag, ["gg"]) + await ps_websocket_client.leave_battle( + battle.battle_tag, save_replay=FoulPlayConfig.save_replay + ) + return winner + else: + action_required = await async_update_battle(battle, msg) + if action_required and not battle.wait: + best_move = await async_pick_move(battle) + await ps_websocket_client.send_message(battle.battle_tag, best_move) diff --git a/showdown/websocket_client.py b/fp/websocket_client.py similarity index 67% rename from showdown/websocket_client.py rename to fp/websocket_client.py index 308a67747..0c5612e3b 100644 --- a/showdown/websocket_client.py +++ b/fp/websocket_client.py @@ -5,6 +5,7 @@ import time import logging + logger = logging.getLogger(__name__) @@ -17,7 +18,6 @@ class SaveReplayError(Exception): class PSWebsocketClient: - websocket = None address = None login_uri = None @@ -33,12 +33,12 @@ async def create(cls, username, password, address): self.password = password self.address = address self.websocket = await websockets.connect(self.address) - self.login_uri = "https://play.pokemonshowdown.com/action.php" + self.login_uri = "https://play.pokemonshowdown.com/api/login" return self async def join_room(self, room_name): message = "/join {}".format(room_name) - await self.send_message('', [message]) + await self.send_message("", [message]) logger.debug("Joined room '{}'".format(room_name)) async def receive_message(self): @@ -52,35 +52,37 @@ async def send_message(self, room, message_list): await self.websocket.send(message) self.last_message = message + async def close(self): + await self.websocket.close() + async def get_id_and_challstr(self): while True: message = await self.receive_message() - split_message = message.split('|') - if split_message[1] == 'challstr': + split_message = message.split("|") + if split_message[1] == "challstr": return split_message[2], split_message[3] async def login(self): - logger.debug("Logging in...") + logger.info("Logging in...") client_id, challstr = await self.get_id_and_challstr() if self.password: response = requests.post( self.login_uri, data={ - 'act': 'login', - 'name': self.username, - 'pass': self.password, - 'challstr': "|".join([client_id, challstr]) - } + "name": self.username, + "pass": self.password, + "challstr": "|".join([client_id, challstr]), + }, ) else: response = requests.post( self.login_uri, data={ - 'act': 'getassertion', - 'userid': self.username, - 'challstr': '|'.join([client_id, challstr]), - } + "act": "getassertion", + "userid": self.username, + "challstr": "|".join([client_id, challstr]), + }, ) if response.status_code == 200: @@ -90,59 +92,62 @@ async def login(self): logger.error("Login Unsuccessful: {}".format(response_json)) raise LoginError("Could not log-in: {}".format(response_json)) - assertion = response_json.get('assertion') + assertion = response_json.get("assertion") else: assertion = response.text message = ["/trn " + self.username + ",0," + assertion] - logger.debug("Successfully logged in") - await self.send_message('', message) + logger.info("Successfully logged in") + await self.send_message("", message) + await asyncio.sleep(3) else: logger.error("Could not log-in\nDetails:\n{}".format(response.content)) raise LoginError("Could not log-in") async def update_team(self, battle_format, team): - if "random" in battle_format: - logger.info("Setting team to None because the pokemon mode is {}".format(battle_format)) + if "random" in battle_format or "battlefactory" in battle_format: + logger.info( + "Setting team to None because the pokemon mode is {}".format( + battle_format + ) + ) message = ["/utm None"] else: message = ["/utm {}".format(team)] - await self.send_message('', message) + await self.send_message("", message) async def challenge_user(self, user_to_challenge, battle_format, team): - logger.debug("Challenging {}...".format(user_to_challenge)) - if time.time() - self.last_challenge_time < 10: - logger.info("Sleeping for 10 seconds because last challenge was less than 10 seconds ago") - await asyncio.sleep(10) + logger.info("Challenging {}...".format(user_to_challenge)) await self.update_team(battle_format, team) message = ["/challenge {},{}".format(user_to_challenge, battle_format)] - await self.send_message('', message) + await self.send_message("", message) self.last_challenge_time = time.time() async def accept_challenge(self, battle_format, team, room_name): if room_name is not None: await self.join_room(room_name) - logger.debug("Waiting for a {} challenge".format(battle_format)) + logger.info("Waiting for a {} challenge".format(battle_format)) await self.update_team(battle_format, team) username = None while username is None: msg = await self.receive_message() - split_msg = msg.split('|') + split_msg = msg.split("|") if ( - len(split_msg) == 9 and - split_msg[1] == "pm" and - split_msg[3].strip().replace("!", "").replace("‽", "") == self.username and - split_msg[4].startswith("/challenge") and - split_msg[5] == battle_format + len(split_msg) == 9 + and split_msg[1] == "pm" + and split_msg[3].strip().replace("!", "").replace("‽", "") + == self.username + and split_msg[4].startswith("/challenge") + and split_msg[5] == battle_format ): username = split_msg[2].strip() message = ["/accept " + username] - await self.send_message('', message) + await self.send_message("", message) async def search_for_match(self, battle_format, team): - logger.debug("Searching for ranked {} match".format(battle_format)) + logger.info("Searching for ranked {} match".format(battle_format)) await self.update_team(battle_format, team) message = ["/search {}".format(battle_format)] await self.send_message("", message) @@ -152,11 +157,11 @@ async def leave_battle(self, battle_tag, save_replay=False): await self.save_replay(battle_tag) message = ["/leave {}".format(battle_tag)] - await self.send_message('', message) + await self.send_message("", message) while True: msg = await self.receive_message() - if battle_tag in msg and 'deinit' in msg: + if battle_tag in msg and "deinit" in msg: return async def save_replay(self, battle_tag): diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..2cfe1a174 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,3 @@ +-r requirements.txt +ruff==0.6.5 +pytest==8.3.3 \ No newline at end of file diff --git a/requirements-docker.txt b/requirements-docker.txt deleted file mode 100644 index e7b3a83bf..000000000 --- a/requirements-docker.txt +++ /dev/null @@ -1,3 +0,0 @@ -nashpy==0.0.17 -pandas==1.4.3 -numpy==1.23.1 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 23f9e07e8..e51b8ee40 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ requests==2.32.0 -environs==4.1.0 -websockets==10.3 +environs==11.0.0 +websockets==14.1 python-dateutil==2.8.0 +poke-engine==0.0.22 --config-settings="build-args=--features poke-engine/terastallization --no-default-features" diff --git a/run.py b/run.py index 40436498f..629ecfbf5 100644 --- a/run.py +++ b/run.py @@ -2,15 +2,14 @@ import json import logging import traceback -from datetime import datetime from copy import deepcopy import constants -from config import ShowdownConfig, init_logging +from config import FoulPlayConfig, init_logging from teams import load_team -from showdown.run_battle import pokemon_battle -from showdown.websocket_client import PSWebsocketClient +from fp.run_battle import pokemon_battle +from fp.websocket_client import PSWebsocketClient from data import all_move_json from data import pokedex @@ -24,8 +23,10 @@ def check_dictionaries_are_unmodified(original_pokedex, original_move_json): # The bot should not modify the data dictionaries # This is a "just-in-case" check to make sure and will stop the bot if it mutates either of them if original_move_json != all_move_json: - logger.critical("Move JSON changed!\nDumping modified version to `modified_moves.json`") - with open("modified_moves.json", 'w') as f: + logger.critical( + "Move JSON changed!\nDumping modified version to `modified_moves.json`" + ) + with open("modified_moves.json", "w") as f: json.dump(all_move_json, f, indent=4) exit(1) else: @@ -35,28 +36,23 @@ def check_dictionaries_are_unmodified(original_pokedex, original_move_json): logger.critical( "Pokedex JSON changed!\nDumping modified version to `modified_pokedex.json`" ) - with open("modified_pokedex.json", 'w') as f: + with open("modified_pokedex.json", "w") as f: json.dump(pokedex, f, indent=4) exit(1) else: logger.debug("Pokedex JSON unmodified!") -async def showdown(): - ShowdownConfig.configure() - init_logging( - ShowdownConfig.log_level, - ShowdownConfig.log_to_file - ) - apply_mods(ShowdownConfig.pokemon_mode) +async def run_foul_play(): + FoulPlayConfig.configure() + init_logging(FoulPlayConfig.log_level, FoulPlayConfig.log_to_file) + apply_mods(FoulPlayConfig.pokemon_mode) original_pokedex = deepcopy(pokedex) original_move_json = deepcopy(all_move_json) ps_websocket_client = await PSWebsocketClient.create( - ShowdownConfig.username, - ShowdownConfig.password, - ShowdownConfig.websocket_uri + FoulPlayConfig.username, FoulPlayConfig.password, FoulPlayConfig.websocket_uri ) await ps_websocket_client.login() @@ -64,28 +60,24 @@ async def showdown(): wins = 0 losses = 0 while True: - if ShowdownConfig.log_to_file: - ShowdownConfig.log_handler.do_rollover(datetime.now().strftime("%Y-%m-%dT%H:%M:%S.log")) - team = load_team(ShowdownConfig.team) - if ShowdownConfig.bot_mode == constants.CHALLENGE_USER: + team = load_team(FoulPlayConfig.team) + if FoulPlayConfig.bot_mode == constants.CHALLENGE_USER: await ps_websocket_client.challenge_user( - ShowdownConfig.user_to_challenge, - ShowdownConfig.pokemon_mode, - team + FoulPlayConfig.user_to_challenge, FoulPlayConfig.pokemon_mode, team ) - elif ShowdownConfig.bot_mode == constants.ACCEPT_CHALLENGE: + elif FoulPlayConfig.bot_mode == constants.ACCEPT_CHALLENGE: await ps_websocket_client.accept_challenge( - ShowdownConfig.pokemon_mode, - team, - ShowdownConfig.room_name + FoulPlayConfig.pokemon_mode, team, FoulPlayConfig.room_name + ) + elif FoulPlayConfig.bot_mode == constants.SEARCH_LADDER: + await ps_websocket_client.search_for_match( + FoulPlayConfig.pokemon_mode, team ) - elif ShowdownConfig.bot_mode == constants.SEARCH_LADDER: - await ps_websocket_client.search_for_match(ShowdownConfig.pokemon_mode, team) else: - raise ValueError("Invalid Bot Mode: {}".format(ShowdownConfig.bot_mode)) + raise ValueError("Invalid Bot Mode: {}".format(FoulPlayConfig.bot_mode)) - winner = await pokemon_battle(ps_websocket_client, ShowdownConfig.pokemon_mode) - if winner == ShowdownConfig.username: + winner = await pokemon_battle(ps_websocket_client, FoulPlayConfig.pokemon_mode) + if winner == FoulPlayConfig.username: wins += 1 else: losses += 1 @@ -94,13 +86,14 @@ async def showdown(): check_dictionaries_are_unmodified(original_pokedex, original_move_json) battles_run += 1 - if battles_run >= ShowdownConfig.run_count: + if battles_run >= FoulPlayConfig.run_count: break + await ps_websocket_client.close() if __name__ == "__main__": try: - asyncio.run(showdown()) - except Exception as e: + asyncio.run(run_foul_play()) + except Exception: logger.error(traceback.format_exc()) raise diff --git a/showdown/battle.py b/showdown/battle.py deleted file mode 100644 index bb5b44925..000000000 --- a/showdown/battle.py +++ /dev/null @@ -1,757 +0,0 @@ -import itertools -from collections import defaultdict -from collections import namedtuple -from copy import copy -from copy import deepcopy -from abc import ABC -from abc import abstractmethod - -import constants -import logging -from config import ShowdownConfig - -import data -from data import all_move_json -from data import pokedex -from data.parse_smogon_stats import MOVES_STRING -from data.parse_smogon_stats import SPREADS_STRING -from data.parse_smogon_stats import ABILITY_STRING -from data.parse_smogon_stats import ITEM_STRING -from data.helpers import get_pokemon_sets -from data.helpers import get_mega_pkmn_name -from data.helpers import PASS_ITEMS -from data.helpers import PASS_ABILITIES -from data.helpers import get_all_likely_moves -from data.helpers import get_most_likely_item -from data.helpers import get_most_likely_ability -from data.helpers import get_most_likely_spread -from data.helpers import get_all_possible_moves_for_random_battle - -from showdown.engine.objects import State -from showdown.engine.objects import Side -from showdown.engine.objects import Pokemon as TransposePokemon - -from showdown.engine.helpers import remove_duplicate_spreads -from showdown.engine.helpers import get_pokemon_info_from_condition -from showdown.engine.helpers import set_makes_sense -from showdown.engine.helpers import normalize_name -from showdown.engine.helpers import calculate_stats - - -logger = logging.getLogger(__name__) - - -LastUsedMove = namedtuple('LastUsedMove', ['pokemon_name', 'move', 'turn']) -DamageDealt = namedtuple('DamageDealt', ['attacker', 'defender', 'move', 'percent_damage', 'crit']) -StatRange = namedtuple("Range", ["min", "max"]) - - -# Based on the format, this dict controls which pokemon will be replaced during team preview -# Some pokemon's forms are not revealed in team preview -smart_team_preview = { - "gen8ou": { - "urshifu": "urshifurapidstrike" # urshifu banned in gen8ou - } -} - - -class Battle(ABC): - - def __init__(self, battle_tag): - self.battle_tag = battle_tag - self.user = Battler() - self.opponent = Battler() - self.weather = None - self.field = None - self.trick_room = False - - self.turn = False - - self.started = False - self.rqid = None - - self.force_switch = False - self.wait = False - - self.battle_type = None - self.generation = None - self.time_remaining = None - - self.request_json = None - - def initialize_team_preview(self, user_json, opponent_pokemon, battle_type): - self.user.from_json(user_json, first_turn=True) - self.user.reserve.insert(0, self.user.active) - self.user.active = None - - for pkmn_string in opponent_pokemon: - pokemon = Pokemon.from_switch_string(pkmn_string) - - if pokemon.name in smart_team_preview.get(battle_type, {}): - new_pokemon_name = smart_team_preview[battle_type][pokemon.name] - logger.info( - "Smart team preview: Replaced {} with {}".format( - pokemon.name, - new_pokemon_name - ) - ) - pokemon = Pokemon(new_pokemon_name, pokemon.level) - - self.opponent.reserve.append(pokemon) - - self.started = True - self.rqid = user_json[constants.RQID] - - def during_team_preview(self): - ... - - def start_non_team_preview_battle(self, user_json, opponent_switch_string): - self.user.from_json(user_json, first_turn=True) - - pkmn_information = opponent_switch_string.split('|')[3] - pkmn = Pokemon.from_switch_string(pkmn_information) - self.opponent.active = pkmn - - self.started = True - self.rqid = user_json[constants.RQID] - - def mega_evolve_possible(self): - return ( - any(g in self.generation for g in constants.MEGA_EVOLVE_GENERATIONS) or - 'nationaldex' in ShowdownConfig.pokemon_mode - ) - - def prepare_battles(self, guess_mega_evo_opponent=True, join_moves_together=False): - """Returns a list of battles based on this one - The battles have the opponent's reserve pokemon's unknowns filled in - The opponent's active pokemon in each of the battles has a different set""" - battle_copy = deepcopy(self) - battle_copy.opponent.lock_moves() - battle_copy.user.lock_active_pkmn_first_turn_moves() - - if battle_copy.user.active.can_mega_evo: - # mega-evolving here gives the pkmn the random-battle spread (Serious + 85s) - # unfortunately the correct spread is not stored anywhere as of this being written - # this only happens on the turn the pkmn mega-evolves - the next turn will be fine - battle_copy.user.active.forme_change(get_mega_pkmn_name(battle_copy.user.active.name)) - - if guess_mega_evo_opponent and not battle_copy.opponent.mega_revealed() and self.mega_evolve_possible(): - check_in_sets = battle_copy.battle_type == constants.STANDARD_BATTLE - battle_copy.opponent.active.try_convert_to_mega(check_in_sets=check_in_sets) - - # for reserve pokemon only guess their most likely item/ability/spread and guess all moves - for pkmn in filter(lambda x: x.is_alive(), battle_copy.opponent.reserve): - pkmn.guess_most_likely_attributes() - - try: - pokemon_sets = get_pokemon_sets(battle_copy.opponent.active.name) - except KeyError: - logger.warning("No sets for {}, trying to find most likely attributes".format(battle_copy.opponent.active.name)) - battle_copy.opponent.active.guess_most_likely_attributes() - return [battle_copy] - - possible_spreads = sorted(pokemon_sets[SPREADS_STRING], key=lambda x: x[2], reverse=True) - possible_abilities = sorted(pokemon_sets[ABILITY_STRING], key=lambda x: x[1], reverse=True) - possible_items = sorted(pokemon_sets[ITEM_STRING], key=lambda x: x[1], reverse=True) - possible_moves = sorted(pokemon_sets[MOVES_STRING], key=lambda x: x[1], reverse=True) - - spreads = battle_copy.opponent.active.get_possible_spreads(possible_spreads) - items = battle_copy.opponent.active.get_possible_items(possible_items) - abilities = battle_copy.opponent.active.get_possible_abilities(possible_abilities) - expected_moves, chance_moves = battle_copy.opponent.active.get_possible_moves(possible_moves, battle_copy.battle_type) - - if join_moves_together: - chance_move_combinations = [chance_moves] - else: - number_of_unknown_moves = max(4 - len(battle_copy.opponent.active.moves) - len(expected_moves), 0) - chance_move_combinations = list(itertools.combinations(chance_moves, number_of_unknown_moves)) - - combinations = list(itertools.product(spreads, items, abilities, chance_move_combinations)) - - # create battle clones for each of the combinations - battles = list() - for c in combinations: - new_battle = deepcopy(battle_copy) - - all_moves = [m.name for m in new_battle.opponent.active.moves] - all_moves += expected_moves - all_moves += c[3] - all_moves = [Move(m) for m in all_moves] - - if join_moves_together or set_makes_sense(c[0][0], c[0][1], c[1], c[2], all_moves): - new_battle.opponent.active.set_spread(c[0][0], c[0][1]) - if new_battle.opponent.active.name == 'ditto': - new_battle.opponent.active.stats = battle_copy.opponent.active.stats - new_battle.opponent.active.item = c[1] - new_battle.opponent.active.ability = c[2] - for m in expected_moves: - new_battle.opponent.active.add_move(m) - for m in c[3]: - new_battle.opponent.active.add_move(m) - - logger.debug("Possible set for opponent's {}:\t{} {} {} {} {}".format(battle_copy.opponent.active.name, c[0][0], c[0][1], c[1], c[2], all_moves)) - battles.append(new_battle) - - new_battle.opponent.lock_moves() - - return battles if battles else [battle_copy] - - def create_state(self): - user_active = TransposePokemon.from_state_pokemon_dict(self.user.active.to_dict()) - user_reserve = dict() - for mon in self.user.reserve: - user_reserve[mon.name] = TransposePokemon.from_state_pokemon_dict(mon.to_dict()) - - opponent_active = TransposePokemon.from_state_pokemon_dict(self.opponent.active.to_dict()) - opponent_reserve = dict() - for mon in self.opponent.reserve: - opponent_reserve[mon.name] = TransposePokemon.from_state_pokemon_dict(mon.to_dict()) - - user = Side(user_active, user_reserve, copy(self.user.wish), copy(self.user.side_conditions), copy(self.user.future_sight)) - opponent = Side(opponent_active, opponent_reserve, copy(self.opponent.wish), copy(self.opponent.side_conditions), copy(self.opponent.future_sight)) - - state = State(user, opponent, self.weather, self.field, self.trick_room) - return state - - def get_all_options(self): - force_switch = self.force_switch or self.user.active.hp <= 0 - wait = self.wait or self.opponent.active.hp <= 0 - - # double faint or team preview - if force_switch and wait: - user_options = self.user.get_switches() or [constants.DO_NOTHING_MOVE] - - # edge-case for uturn or voltswitch killing - if ( - self.user.last_used_move.move in constants.SWITCH_OUT_MOVES and - self.opponent.active.hp <= 0 and - self.user.last_used_move.turn == self.turn - - ): - opponent_options = [constants.DO_NOTHING_MOVE] - else: - opponent_options = self.opponent.get_switches() or [constants.DO_NOTHING_MOVE] - - return user_options, opponent_options - - if force_switch: - user_options = self.user.get_switches(reviving=self.user.active.reviving) - - # uturn or voltswitch - if ( - self.user.last_used_move.move in constants.SWITCH_OUT_MOVES and - self.opponent.last_used_move.turn != self.turn and - self.user.last_used_move.turn == self.turn - ): - opponent_options = [m.name for m in self.opponent.active.moves if not m.disabled] or [constants.DO_NOTHING_MOVE] - else: - opponent_options = [constants.DO_NOTHING_MOVE] - elif wait: - opponent_options = self.opponent.get_switches() - user_options = [constants.DO_NOTHING_MOVE] - else: - user_forced_move = self.user.active.forced_move() - if user_forced_move: - user_options = [user_forced_move] - else: - user_options = [m.name for m in self.user.active.moves if not m.disabled] - user_options += self.user.get_switches() - - opponent_forced_move = self.opponent.active.forced_move() - if opponent_forced_move: - opponent_options = [opponent_forced_move] - else: - opponent_options = [m.name for m in self.opponent.active.moves if not m.disabled] or [constants.DO_NOTHING_MOVE] - opponent_options += self.opponent.get_switches() - - return user_options, opponent_options - - @abstractmethod - def find_best_move(self): - ... - - -class Battler: - - def __init__(self): - self.active = None - self.reserve = [] - self.side_conditions = defaultdict(lambda: 0) - - self.name = None - self.trapped = False - self.wish = (0, 0) - self.future_sight = (0, 0) - - self.account_name = None - - self.last_used_move = LastUsedMove('', '', 0) - - def mega_revealed(self): - return self.active.is_mega or any(p.is_mega for p in self.reserve) - - def lock_active_pkmn_first_turn_moves(self): - # disable firstimpression and fakeout if the last_used_move was not a switch - if self.last_used_move.pokemon_name == self.active.name: - for m in self.active.moves: - if m.name in constants.FIRST_TURN_MOVES: - m.disabled = True - - def lock_active_pkmn_status_moves_if_active_has_assaultvest(self): - if self.active.item == 'assaultvest': - for m in self.active.moves: - if all_move_json[m.name][constants.CATEGORY] == constants.STATUS: - m.disabled = True - - def choice_lock_moves(self): - # if the active pokemon has a choice item and their last used move was by this pokemon -> lock their other moves - if self.active.item in constants.CHOICE_ITEMS and self.last_used_move.pokemon_name == self.active.name: - for m in self.active.moves: - if m.name != self.last_used_move.move: - m.disabled = True - - def taunt_lock_moves(self): - if constants.TAUNT in self.active.volatile_statuses: - for m in self.active.moves: - if all_move_json[m.name][constants.CATEGORY] == constants.STATUS: - m.disabled = True - - def lock_moves(self): - self.choice_lock_moves() - self.lock_active_pkmn_status_moves_if_active_has_assaultvest() - self.lock_active_pkmn_first_turn_moves() - self.taunt_lock_moves() - - def from_json(self, user_json, first_turn=False): - - # user_json does not track boosts or volatile statuses - # they must be taken from the current battle - if first_turn: - existing_conditions = (None, None, None) - else: - existing_conditions = ( - self.active.name, - self.active.boosts, - self.active.volatile_statuses, - self.active.terastallized, - self.active.types - ) - - try: - trapped = user_json[constants.ACTIVE][0].get(constants.TRAPPED, False) - maybe_trapped = user_json[constants.ACTIVE][0].get(constants.MAYBE_TRAPPED, False) - self.trapped = trapped or maybe_trapped - except KeyError: - self.trapped = False - - self.name = user_json[constants.SIDE][constants.ID] - self.reserve.clear() - for index, pkmn_dict in enumerate(user_json[constants.SIDE][constants.POKEMON]): - - nickname = pkmn_dict[constants.IDENT] - pkmn = Pokemon.from_switch_string(pkmn_dict[constants.DETAILS], nickname=nickname) - pkmn.ability = pkmn_dict[constants.REQUEST_DICT_ABILITY] - pkmn.index = index + 1 - pkmn.reviving = pkmn_dict.get(constants.REVIVING, False) - pkmn.hp, pkmn.max_hp, pkmn.status = get_pokemon_info_from_condition(pkmn_dict[constants.CONDITION]) - for stat, number in pkmn_dict[constants.STATS].items(): - pkmn.stats[constants.STAT_ABBREVIATION_LOOKUPS[stat]] = number - - pkmn.item = pkmn_dict[constants.ITEM] if pkmn_dict[constants.ITEM] else None - - if pkmn_dict[constants.ACTIVE]: - self.active = pkmn - if existing_conditions[0] == pkmn.name: - pkmn.boosts = existing_conditions[1] - pkmn.volatile_statuses = existing_conditions[2] - if existing_conditions[3]: - pkmn.terastallized = True - pkmn.types = existing_conditions[4] - else: - self.reserve.append(pkmn) - - for move_name in pkmn_dict[constants.MOVES]: - pkmn.add_move(move_name) - - # if there is no active pokemon, we do not want to look through it's moves - if constants.ACTIVE not in user_json: - return - - try: - self.active.can_mega_evo = user_json[constants.ACTIVE][0][constants.CAN_MEGA_EVO] - except KeyError: - self.active.can_mega_evo = False - - try: - self.active.can_ultra_burst = user_json[constants.ACTIVE][0][constants.CAN_ULTRA_BURST] - except KeyError: - self.active.can_ultra_burst = False - - try: - self.active.can_dynamax = user_json[constants.ACTIVE][0][constants.CAN_DYNAMAX] - except KeyError: - self.active.can_dynamax = False - - try: - self.active.can_terastallize = user_json[constants.ACTIVE][0][constants.CAN_TERASTALLIZE] - except KeyError: - self.active.can_terastallize = False - - # clear the active moves so they can be reset by the options available - self.active.moves.clear() - - # update the active pokemon's moves to show disabled status/pp remaining - # this assumes that there is only one active pokemon (single-battle) - for index, move in enumerate(user_json[constants.ACTIVE][0][constants.MOVES]): - # hidden power's ID is always 'hiddenpower' regardless of the type - # the type needs to be parsed separately from the 'move' attribute - if move[constants.ID] == constants.HIDDEN_POWER: - self.active.add_move('{}{}'.format( - constants.HIDDEN_POWER, - move['move'].split()[constants.HIDDEN_POWER_TYPE_STRING_INDEX].lower() - ) - ) - else: - self.active.add_move(move[constants.ID]) - self.active.moves[-1].disabled = move.get(constants.DISABLED, False) - self.active.moves[-1].current_pp = move.get(constants.PP, 1) - - try: - self.active.moves[index].can_z = user_json[constants.ACTIVE][0][constants.CAN_Z_MOVE][index] - except KeyError: - pass - - def get_switches(self, reviving=False): - if self.trapped: - return [] - - switches = [] - if reviving: - it = filter(lambda p: p.hp <= 0, self.reserve) - else: - it = filter(lambda p: p.hp > 0, self.reserve) - - for pkmn in it: - switches.append("{} {}".format(constants.SWITCH_STRING, pkmn.name)) - return switches - - def to_dict(self): - return { - constants.TRAPPED: self.trapped, - constants.ACTIVE: self.active.to_dict(), - constants.RESERVE: [p.to_dict() for p in self.reserve], - constants.WISH: copy(self.wish), - constants.FUTURE_SIGHT: copy(self.future_sight), - constants.SIDE_CONDITIONS: copy(self.side_conditions) - } - - -class Pokemon: - - def __init__(self, name: str, level: int, nature="serious", evs=(85,) * 6): - self.name = normalize_name(name) - self.nickname = None - self.base_name = self.name - self.level = level - self.nature = nature - self.evs = evs - self.speed_range = StatRange(min=0, max=float("inf")) - - try: - self.base_stats = pokedex[self.name][constants.BASESTATS] - except KeyError: - logger.info("Could not pokedex entry for {}".format(self.name)) - self.name = [k for k in pokedex if self.name.startswith(k)][0] - logger.info("Using {} instead".format(self.name)) - self.base_stats = pokedex[self.name][constants.BASESTATS] - - self.stats = calculate_stats(self.base_stats, self.level, nature=nature, evs=evs) - - self.max_hp = self.stats.pop(constants.HITPOINTS) - self.hp = self.max_hp - if self.name == 'shedinja': - self.max_hp = 1 - self.hp = 1 - - self.ability = None - self.types = pokedex[self.name][constants.TYPES] - self.item = constants.UNKNOWN_ITEM - - self.terastallized = False - self.fainted = False - self.reviving = False - self.moves = [] - self.status = None - self.volatile_statuses = [] - self.boosts = defaultdict(lambda: 0) - self.can_mega_evo = False - self.can_ultra_burst = False - self.can_dynamax = False - self.is_mega = False - self.can_have_assaultvest = True - self.can_have_choice_item = True - self.can_not_have_band = False - self.can_not_have_specs = False - self.can_have_life_orb = True - self.can_have_heavydutyboots = True - - def forme_change(self, new_pkmn_name): - hp_percent = float(self.hp) / self.max_hp - moves = self.moves - boosts = self.boosts - status = self.status - - self.__init__(new_pkmn_name, self.level) - self.hp = round(hp_percent * self.max_hp) - self.moves = moves - self.boosts = boosts - self.status = status - - def try_convert_to_mega(self, check_in_sets=False): - if self.item != constants.UNKNOWN_ITEM: - return - mega_pkmn_name = get_mega_pkmn_name(self.name) - in_sets_data = mega_pkmn_name in data.pokemon_sets - - if (mega_pkmn_name and check_in_sets and in_sets_data) or (mega_pkmn_name and not check_in_sets): - logger.debug("Guessing mega-evolution: {}".format(mega_pkmn_name)) - self.forme_change(mega_pkmn_name) - - def is_alive(self): - return self.hp > 0 - - @classmethod - def extract_nickname_from_pokemonshowdown_string(cls, ps_string): - return "".join(ps_string.split(":")[1:]).strip() - - @classmethod - def from_switch_string(cls, switch_string, nickname=None): - if nickname is not None: - nickname = cls.extract_nickname_from_pokemonshowdown_string(nickname) - - details = switch_string.split(',') - name = details[0] - try: - level = int(details[1].replace('L', '').strip()) - except (IndexError, ValueError): - level = 100 - pkmn = Pokemon(name, level) - pkmn.nickname = nickname - return pkmn - - def set_spread(self, nature, evs): - if isinstance(evs, str): - evs = [int(e) for e in evs.split(',')] - hp_percent = self.hp / self.max_hp - self.stats = calculate_stats(self.base_stats, self.level, evs=evs, nature=nature) - self.nature = nature - self.evs = evs - self.max_hp = self.stats.pop(constants.HITPOINTS) - self.hp = round(self.max_hp * hp_percent) - - def add_move(self, move_name: str): - try: - new_move = Move(move_name) - self.moves.append(new_move) - return new_move - except KeyError: - logger.warning("{} is not a known move".format(move_name)) - return None - - def get_move(self, move_name: str): - for m in self.moves: - if m.name == normalize_name(move_name): - return m - return None - - def set_likely_moves_unless_revealed(self): - if len(self.moves) == 4: - return - additional_moves = get_all_likely_moves(self.name, [m.name for m in self.moves]) - for m in additional_moves: - self.moves.append(Move(m)) - - def set_most_likely_ability_unless_revealed(self): - if self.ability is not None: - return - ability = get_most_likely_ability(self.name) - self.ability = ability - - def set_most_likely_item_unless_revealed(self): - if self.item != constants.UNKNOWN_ITEM: - return - item = get_most_likely_item(self.name) - self.item = item - - def set_most_likely_spread(self): - nature, evs, _ = get_most_likely_spread(self.name) - self.set_spread(nature, evs) - - def guess_most_likely_attributes(self): - self.set_most_likely_ability_unless_revealed() - self.set_most_likely_item_unless_revealed() - self.set_likely_moves_unless_revealed() - self.set_most_likely_spread() - - def get_possible_spreads(self, spreads): - # update this once you can use previous attacks to rule out spreads - cumulative_percentage = 0 - possible_spreads = [] - for s in spreads: - cumulative_percentage += s[2] - possible_spreads.append(s[:2]) - if s[2] < 20 or cumulative_percentage >= 80: - break - - return remove_duplicate_spreads(possible_spreads) - - def get_possible_items(self, items): - # a bunch of flags could be set by the logic in the `battle_modifier` module - # these flags being set render some items not possible - # for example, if a pkmn uses 2 different moves without switching, then 'can_have_choice_item' will be False - # this will omit choice items when guessing an item - - if self.item == constants.UNKNOWN_ITEM: - cumulative_percentage = 0 - possible_items = [] - for i in items: - if i[1] < 10 or cumulative_percentage >= 80: - return possible_items if possible_items else [constants.UNKNOWN_ITEM] - elif i[0] in constants.CHOICE_ITEMS and not self.can_have_choice_item: - pass - elif i[0] == 'lifeorb' and not self.can_have_life_orb: - pass - elif i[0] == 'assaultvest' and not self.can_have_assaultvest: - pass - elif i[0] == 'heavydutyboots' and not self.can_have_heavydutyboots: - pass - elif i[0] == 'choiceband' and self.can_not_have_band: - pass - elif i[0] == 'choicespecs' and self.can_not_have_specs: - pass - elif i[0] not in PASS_ITEMS: - possible_items.append(i[0]) - - cumulative_percentage += i[1] - - return possible_items if possible_items else [constants.UNKNOWN_ITEM] - - else: - return [self.item] - - def get_possible_abilities(self, abilities): - if self.ability is None: - cumulative_percentage = 0 - possible_abilities = [] - for i in abilities: - if i[1] < 10 or cumulative_percentage >= 80: - return possible_abilities if possible_abilities else [None] - elif i[0] not in PASS_ABILITIES: - possible_abilities.append(i[0]) - - cumulative_percentage += i[1] - - return possible_abilities if possible_abilities else [None] - else: - return [self.ability] - - def get_possible_moves(self, moves, battle_type=constants.STANDARD_BATTLE): - if battle_type == constants.RANDOM_BATTLE: - if len(self.moves) == 4: - return [], [] - known_move_names = [m.name for m in self.moves] - return [], get_all_possible_moves_for_random_battle(self.name, known_move_names) - - moves_remaining = 4 - len(self.moves) - expected_moves = list() - chance_moves = list() - - for m in moves: - if moves_remaining <= 0: - break - elif m[1] > 60 and self.get_move(m[0]) is None: - expected_moves.append(m[0]) - moves_remaining -= 1 - elif m[1] > 20 and self.get_move(m[0]) is None: - chance_moves.append(m[0]) - - return expected_moves, chance_moves - - def forced_move(self): - if "phantomforce" in self.volatile_statuses: - return "phantomforce" - elif "shadowforce" in self.volatile_statuses: - return "shadowforce" - elif "dive" in self.volatile_statuses: - return "dive" - elif "dig" in self.volatile_statuses: - return "dig" - elif "bounce" in self.volatile_statuses: - return "bounce" - elif "fly" in self.volatile_statuses: - return "fly" - else: - return None - - def to_dict(self): - return { - constants.FAINTED: self.fainted, - constants.ID: self.name, - constants.LEVEL: self.level, - constants.TYPES: self.types, - constants.HITPOINTS: self.hp, - constants.MAXHP: self.max_hp, - constants.ABILITY: self.ability, - constants.ITEM: self.item, - constants.BASESTATS: self.base_stats, - constants.STATS: self.stats, - constants.NATURE: self.nature, - constants.EVS: self.evs, - constants.BOOSTS: self.boosts, - constants.STATUS: self.status, - constants.TERASTALLIZED: self.terastallized, - constants.VOLATILE_STATUS: set(self.volatile_statuses), - constants.MOVES: [m.to_dict() for m in self.moves] - } - - @classmethod - def get_dummy(cls): - p = Pokemon('pikachu', 100) - p.hp = 0 - p.name = '' - p.ability = None - p.fainted = True - return p - - def __eq__(self, other): - return self.name == other.name and self.level == other.level - - def __repr__(self): - return "{}, level {}".format(self.name, self.level) - - -class Move: - def __init__(self, name): - name = normalize_name(name) - if constants.HIDDEN_POWER in name and not name.endswith(constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING): - name = "{}{}".format(name, constants.HIDDEN_POWER_ACTIVE_MOVE_BASE_DAMAGE_STRING) - move_json = all_move_json[name] - self.name = name - self.max_pp = int(move_json.get(constants.PP) * 1.6) - - self.disabled = False - self.can_z = False - self.current_pp = self.max_pp - - def to_dict(self): - return { - "id": self.name, - "disabled": self.disabled, - "current_pp": self.current_pp - } - - def __eq__(self, other): - return self.name == other.name - - def __repr__(self): - return "{}".format(self.name) diff --git a/showdown/battle_bots/helpers.py b/showdown/battle_bots/helpers.py deleted file mode 100644 index d47313646..000000000 --- a/showdown/battle_bots/helpers.py +++ /dev/null @@ -1,128 +0,0 @@ -import logging - -import config -import constants - -from showdown.engine.objects import StateMutator -from showdown.engine.select_best_move import pick_safest -from showdown.engine.select_best_move import get_payoff_matrix - - -logger = logging.getLogger(__name__) - - -def format_decision(battle, decision): - # Formats a decision for communication with Pokemon-Showdown - # If the pokemon can mega-evolve, it will - # If the move can be used as a Z-Move, it will be - - if decision.startswith(constants.SWITCH_STRING + " "): - switch_pokemon = decision.split("switch ")[-1] - for pkmn in battle.user.reserve: - if pkmn.name == switch_pokemon: - message = "/switch {}".format(pkmn.index) - break - else: - raise ValueError("Tried to switch to: {}".format(switch_pokemon)) - else: - message = "/choose move {}".format(decision) - if battle.user.active.can_mega_evo: - message = "{} {}".format(message, constants.MEGA) - elif battle.user.active.can_ultra_burst: - message = "{} {}".format(message, constants.ULTRA_BURST) - - # only dynamax on last pokemon - if battle.user.active.can_dynamax and all(p.hp == 0 for p in battle.user.reserve): - message = "{} {}".format(message, constants.DYNAMAX) - - # only terastallize on last pokemon. Come back to this later because this is bad. - elif battle.user.active.can_terastallize and all(p.hp == 0 for p in battle.user.reserve): - message = "{} {}".format(message, constants.TERASTALLIZE) - - if battle.user.active.get_move(decision).can_z: - message = "{} {}".format(message, constants.ZMOVE) - - return [message, str(battle.rqid)] - - -def prefix_opponent_move(score_lookup, prefix): - new_score_lookup = dict() - for k, v in score_lookup.items(): - bot_move, opponent_move = k - new_opponent_move = "{}_{}".format(opponent_move, prefix) - new_score_lookup[(bot_move, new_opponent_move)] = v - - return new_score_lookup - - -def pick_safest_move_from_battles(battles): - all_scores = dict() - for i, b in enumerate(battles): - state = b.create_state() - mutator = StateMutator(state) - user_options, opponent_options = b.get_all_options() - logger.debug("Searching through the state: {}".format(mutator.state)) - scores = get_payoff_matrix(mutator, user_options, opponent_options, prune=True) - - prefixed_scores = prefix_opponent_move(scores, str(i)) - all_scores = {**all_scores, **prefixed_scores} - - decision, payoff = pick_safest(all_scores, remove_guaranteed=True) - bot_choice = decision[0] - logger.debug("Safest: {}, {}".format(bot_choice, payoff)) - return bot_choice - - -def pick_safest_move_using_dynamic_search_depth(battles): - """ - Dynamically decides how far to look into the game. - - This requires a strong computer to be able to search 3/4 turns ahead. - Using a pypy interpreter will also result in better performance. - - """ - all_scores = dict() - num_battles = len(battles) - - if num_battles > 1: - search_depth = 2 - - for i, b in enumerate(battles): - state = b.create_state() - mutator = StateMutator(state) - user_options, opponent_options = b.get_all_options() - logger.debug("Searching through the state: {}".format(mutator.state)) - scores = get_payoff_matrix(mutator, user_options, opponent_options, depth=search_depth, prune=True) - prefixed_scores = prefix_opponent_move(scores, str(i)) - all_scores = {**all_scores, **prefixed_scores} - - elif num_battles == 1: - search_depth = 3 - - b = battles[0] - state = b.create_state() - mutator = StateMutator(state) - user_options, opponent_options = b.get_all_options() - - num_user_options = len(user_options) - num_opponent_options = len(opponent_options) - options_product = num_user_options * num_opponent_options - if options_product < 20 and num_user_options > 1 and num_opponent_options > 1: - logger.debug("Low options product, looking an additional depth") - search_depth += 1 - - logger.debug("Searching through the state: {}".format(mutator.state)) - logger.debug("Options Product: {}".format(options_product)) - logger.debug("My Options: {}".format(user_options)) - logger.debug("Opponent Options: {}".format(opponent_options)) - logger.debug("Search depth: {}".format(search_depth)) - all_scores = get_payoff_matrix(mutator, user_options, opponent_options, depth=search_depth, prune=True) - - else: - raise ValueError("less than 1 battle?: {}".format(battles)) - - decision, payoff = pick_safest(all_scores, remove_guaranteed=True) - bot_choice = decision[0] - logger.debug("Safest: {}, {}".format(bot_choice, payoff)) - logger.debug("Depth: {}".format(search_depth)) - return bot_choice diff --git a/showdown/battle_bots/most_damage/main.py b/showdown/battle_bots/most_damage/main.py deleted file mode 100644 index 785b35d9c..000000000 --- a/showdown/battle_bots/most_damage/main.py +++ /dev/null @@ -1,39 +0,0 @@ -import constants -from data import all_move_json -from showdown.battle import Battle -from showdown.engine.damage_calculator import calculate_damage -from showdown.engine.find_state_instructions import update_attacking_move -from ..helpers import format_decision - - -class BattleBot(Battle): - def __init__(self, *args, **kwargs): - super(BattleBot, self).__init__(*args, **kwargs) - - def find_best_move(self): - state = self.create_state() - my_options = self.get_all_options()[0] - - moves = [] - switches = [] - for option in my_options: - if option.startswith(constants.SWITCH_STRING + " "): - switches.append(option) - else: - moves.append(option) - - if self.force_switch or not moves: - return format_decision(self, switches[0]) - - most_damage = -1 - choice = None - for move in moves: - damage_amounts = calculate_damage(state, constants.USER, move, constants.DO_NOTHING_MOVE) - - damage = damage_amounts[0] if damage_amounts else 0 - - if damage > most_damage: - choice = move - most_damage = damage - - return format_decision(self, choice) diff --git a/showdown/battle_bots/nash_equilibrium/main.py b/showdown/battle_bots/nash_equilibrium/main.py deleted file mode 100644 index ec748d79d..000000000 --- a/showdown/battle_bots/nash_equilibrium/main.py +++ /dev/null @@ -1,193 +0,0 @@ -import random -import subprocess -import logging -from collections import defaultdict - -import numpy as np -import pandas as pd -from nashpy import Game - -import config -from showdown.battle import Battle -from showdown.engine.select_best_move import remove_guaranteed_opponent_moves -from showdown.engine.objects import StateMutator -from showdown.engine.select_best_move import pick_safest -from showdown.engine.select_best_move import get_payoff_matrix - -from ..safest.main import pick_safest_move_from_battles -from ..helpers import format_decision - - -logger = logging.getLogger(__name__) - - -NFG_FORMAT_BASE = """NFG 1 R "" -{ "Player 1" "Player 2" } { %s %s } - -""" - - -class CouldNotFindEquilibriumError(Exception): - pass - - -def format_string_for_options(num_rows, num_cols): - return NFG_FORMAT_BASE % (num_rows, num_cols) - - -def append_items_to_string(matrix, string): - item_to_add = "%s %s" - this_string = "" - for row in np.transpose(matrix): - for value in row: - this_string += "%s %s " % (value, value*-1) - return item_to_add % (string, this_string) - - -def convert_from_list(my_list, num_rows): - my_list = [float(i) for i in my_list] - return [my_list[:num_rows], my_list[num_rows:]] - - -def find_best_nash_equilibrium(equilibria, df): - game = Game(df) - - score = float('-inf') - best_eq = None - for eq in equilibria: - outcome = game[eq][0] - if outcome > score: - score = outcome - best_eq = eq - return best_eq, score - - -def find_all_equilibria(matrix): - matrix = matrix.round(0) - - matrix = np.array(matrix) - - num_rows = len(matrix) - num_cols = len(matrix[0]) - - string = format_string_for_options(num_rows, num_cols) - string = append_items_to_string(matrix, string).encode() - - cmd = ["gambit-enummixed", '-q', '-d', '2'] - - # sometimes this call fails and stdout is empty - repeating until completion seems to have fixed the issue - stdout = '' - stderr = '' - attempted = 0 - while not stdout: - # for unknown and seemingly random reasons this subprocess communication sometimes fails - # retrying with the exact same input value does not fail - # if an STDOUT value is not obtained in 5 tries, raise an error - if attempted > 5: - raise CouldNotFindEquilibriumError(stderr) - sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE) - stdout, stderr = sp.communicate(string) - stdout = stdout.decode('utf-8').replace('\r', '') - attempted += 1 - - lines = stdout.split('\n') - - equilibria = [] - for line in lines: - if line.startswith("NE"): - ne = line[3:].split(',') - ne = convert_from_list(ne, num_rows) - equilibria.append(ne) - - return np.array(equilibria, dtype=object) - - -def find_nash_equilibrium(score_lookup): - modified_score_lookup = remove_guaranteed_opponent_moves(score_lookup) - if not modified_score_lookup: - modified_score_lookup = score_lookup - - df = pd.Series(modified_score_lookup).unstack() - - equilibria = find_all_equilibria(df) - best_eq, score = find_best_nash_equilibrium(equilibria, df) - bot_percentages = best_eq[0] - opponent_percentages = best_eq[1] - - bot_choices = df.index - opponent_choices = df.columns - - return bot_choices, opponent_choices, bot_percentages, opponent_percentages, score - - -def log_nash_equilibria(bot_choices, opponent_choices, bot_percentages, opponent_percentages, payoff): - bot_options = [] - for i, percentage in enumerate(bot_percentages): - if percentage: - bot_options.append((bot_choices[i], percentage)) - - opponent_options = [] - for i, percentage in enumerate(opponent_percentages): - if percentage: - opponent_options.append((opponent_choices[i], percentage)) - - -def get_weighted_choices_from_multiple_score_lookups(score_lookups): - bot_choice_percentages = defaultdict(lambda: 0) - number_of_score_lookups = len(score_lookups) - for sl in score_lookups: - eq = find_nash_equilibrium(sl) - log_nash_equilibria(*eq) - for i, bot_choice in enumerate(eq[0]): - bot_choice_percentages[bot_choice] += eq[2][i]/number_of_score_lookups - - return list(bot_choice_percentages.items()) - - -def pick_move_in_equilibrium_from_multiple_score_lookups(score_lookups): - # This is the WRONG way to find a Nash Equilibrium from different potential games - # ... but it is a simple way that works (with crappy results) - # - # The games should be modelled properly based on incomplete information (see Harsanyi Transform), - # however that would require the bot to keep track of what it has revealed to the opponent - try: - weighted_choices = get_weighted_choices_from_multiple_score_lookups(score_lookups) - except CouldNotFindEquilibriumError as e: - logger.warning("Problem finding equilibria: {}".format(e)) - return random.choice([pick_safest(sl, remove_guaranteed=True)[0][0] for sl in score_lookups]) - - s = sum([wc[1] for wc in weighted_choices]) - bot_choices = [wc[0] for wc in weighted_choices] - bot_percentages = [wc[1] / s for wc in weighted_choices] - - choice = random.choices(bot_choices, weights=bot_percentages)[0] - - logger.debug("Choices: {}".format([w for w in weighted_choices if w[1]])) - logger.debug("Choice: {}".format(choice)) - - return choice - - -class BattleBot(Battle): - def __init__(self, *args, **kwargs): - super(BattleBot, self).__init__(*args, **kwargs) - - def find_best_move(self): - battles = self.prepare_battles() - if len(battles) > 7: - logger.debug("Not enough is known about the opponent's active pokemon - falling back to safest decision making") - battles = self.prepare_battles(join_moves_together=True) - decision = pick_safest_move_from_battles(battles) - else: - list_of_payoffs = list() - for b in battles: - state = b.create_state() - mutator = StateMutator(state) - logger.debug("Attempting to find best move from: {}".format(mutator.state)) - user_options, opponent_options = b.get_all_options() - scores = get_payoff_matrix(mutator, user_options, opponent_options, prune=False) - list_of_payoffs.append(scores) - - decision = pick_move_in_equilibrium_from_multiple_score_lookups(list_of_payoffs) - - return format_decision(self, decision) diff --git a/showdown/battle_bots/safest/__init__.py b/showdown/battle_bots/safest/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/battle_bots/safest/main.py b/showdown/battle_bots/safest/main.py deleted file mode 100644 index bf03e0a69..000000000 --- a/showdown/battle_bots/safest/main.py +++ /dev/null @@ -1,14 +0,0 @@ -from showdown.battle import Battle - -from ..helpers import format_decision -from ..helpers import pick_safest_move_from_battles - - -class BattleBot(Battle): - def __init__(self, *args, **kwargs): - super(BattleBot, self).__init__(*args, **kwargs) - - def find_best_move(self): - battles = self.prepare_battles(join_moves_together=True) - safest_move = pick_safest_move_from_battles(battles) - return format_decision(self, safest_move) diff --git a/showdown/battle_bots/team_datasets/__init__.py b/showdown/battle_bots/team_datasets/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/battle_bots/team_datasets/main.py b/showdown/battle_bots/team_datasets/main.py deleted file mode 100644 index f445626c3..000000000 --- a/showdown/battle_bots/team_datasets/main.py +++ /dev/null @@ -1,102 +0,0 @@ -import logging -from copy import deepcopy - -from data.team_datasets import TeamDatasets -from showdown.battle import Battle -from ..helpers import pick_safest_move_from_battles -from ..helpers import format_decision - -logger = logging.getLogger(__name__) - - -def set_most_likely_pokemon_from_team_datasets(pkmn): - """ - Modifies the pkmn object to set the most likely moves/item/ability - Uses the TeamDatasets, but will default to Smogon Usage data if a set cannot be found - """ - - predicted_set = TeamDatasets.predict_set(pkmn) - if predicted_set is not None: - pkmn.moves = [] - for mv in predicted_set.moves: - pkmn.add_move(mv) - pkmn.ability = predicted_set.ability - pkmn.item = predicted_set.item - pkmn.set_spread(predicted_set.nature, predicted_set.evs) - logger.debug( - "Assumed set for opponent's {}:\t{} {} {} {} {}".format( - pkmn.name, pkmn.nature, pkmn.evs, pkmn.ability, pkmn.item, pkmn.moves) - ) - return - - predicted_set = TeamDatasets.predict_set(pkmn, match_item=False, match_ability=False) - if predicted_set is not None: - pkmn.set_most_likely_ability_unless_revealed() - pkmn.set_most_likely_item_unless_revealed() - pkmn.moves = [] - for mv in predicted_set.moves: - pkmn.add_move(mv) - pkmn.set_spread(predicted_set.nature, predicted_set.evs) - logger.debug( - "Assumed set for opponent's {}:\t{} {} {} {} {}".format( - pkmn.name, pkmn.nature, pkmn.evs, pkmn.ability, pkmn.item, pkmn.moves) - ) - return - - pkmn.guess_most_likely_attributes() - - logger.debug( - "Assumed set for opponent's {}:\t{} {} {} {} {}".format( - pkmn.name, pkmn.nature, pkmn.evs, pkmn.ability, pkmn.item, pkmn.moves) - ) - - -def prepare_battles(battle): - battle_copy = deepcopy(battle) - - for pkmn in filter(lambda x: x.is_alive(), battle_copy.opponent.reserve): - if not pkmn.moves: - pkmn.guess_most_likely_attributes() - else: - set_most_likely_pokemon_from_team_datasets(pkmn) - - if not battle_copy.opponent.active.moves: - battles = battle_copy.prepare_battles(join_moves_together=True) - else: - set_most_likely_pokemon_from_team_datasets(battle_copy.opponent.active) - battles = [battle_copy] - - for b in battles: - b.opponent.lock_moves() - - return battles - - -class BattleBot(Battle): - def __init__(self, *args, **kwargs): - super(BattleBot, self).__init__(*args, **kwargs) - - def during_team_preview(self): - opponent_pkmn_names = [p.name for p in self.opponent.reserve] - TeamDatasets.set_pokemon_sets(opponent_pkmn_names) - - exact_team = TeamDatasets.get_exact_team(opponent_pkmn_names) - if exact_team is not None: - logger.info("Found an exact team") - for pkmn, pkmn_info in exact_team.items(): - for pkmn_obj in self.opponent.reserve: - if pkmn_obj.name == pkmn: - split_info = pkmn_info.split("|") - pkmn_obj.ability = split_info[1] - pkmn_obj.item = split_info[2] - pkmn_obj.set_spread( - split_info[3], - split_info[4] - ) - for m in split_info[5:]: - pkmn_obj.add_move(m) - - def find_best_move(self): - battles = prepare_battles(self) - safest_move = pick_safest_move_from_battles(battles) - return format_decision(self, safest_move) diff --git a/showdown/battle_modifier.py b/showdown/battle_modifier.py deleted file mode 100644 index 7f9572cfc..000000000 --- a/showdown/battle_modifier.py +++ /dev/null @@ -1,1256 +0,0 @@ -import re -import json -from copy import deepcopy -import logging - -import constants -from data import all_move_json -from data import pokedex -from showdown.battle import Pokemon -from showdown.battle import LastUsedMove -from showdown.battle import DamageDealt -from showdown.battle import StatRange -from showdown.engine.helpers import normalize_name -from showdown.engine.helpers import get_pokemon_info_from_condition -from showdown.engine.helpers import calculate_stats -from showdown.engine.find_state_instructions import get_effective_speed -from showdown.engine.damage_calculator import calculate_damage -from showdown.engine.objects import boost_multiplier_lookup - - -logger = logging.getLogger(__name__) - - -MOVE_END_STRINGS = {'move', 'switch', 'upkeep', ''} - - -def can_have_priority_modified(battle, pokemon, move_name): - return ( - "prankster" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] or - move_name == "grassyglide" and battle.field == constants.GRASSY_TERRAIN - ) - - -def can_have_speed_modified(battle, pokemon): - return ( - ( - pokemon.item is None and - "unburden" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - battle.weather == constants.RAIN and - pokemon.ability is None and - "swiftswim" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - battle.weather == constants.SUN and - pokemon.ability is None and - "chlorophyll" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - battle.weather == constants.SAND and - pokemon.ability is None and - "sandrush" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - battle.weather in constants.HAIL_OR_SNOW and - pokemon.ability is None and - "slushrush" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - battle.field == constants.ELECTRIC_TERRAIN and - pokemon.ability is None and - "surgesurfer" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) or - ( - pokemon.status == constants.PARALYZED and - pokemon.ability is None and - "quickfeet" in [normalize_name(a) for a in pokedex[pokemon.name][constants.ABILITIES].values()] - ) - ) - - -def find_pokemon_in_reserves(pkmn_name, reserves): - for reserve_pkmn in reserves: - if pkmn_name.startswith(reserve_pkmn.name) or reserve_pkmn.name.startswith(pkmn_name) or reserve_pkmn.base_name == pkmn_name: - return reserve_pkmn - return None - - -def find_reserve_pokemon_by_nickname(pkmn_nickname, reserves): - for reserve_pkmn in reserves: - if pkmn_nickname == reserve_pkmn.nickname: - return reserve_pkmn - return None - - -def is_opponent(battle, split_msg): - return not split_msg[2].startswith(battle.user.name) - - -def get_move_information(m): - # Given a |move| line from the PS protocol, extract the user of the move and the move object - try: - split_move_line = m.split("|") - return split_move_line[2], all_move_json[normalize_name(split_move_line[3])] - except KeyError: - logger.debug("Unknown move {} - using standard 0 priority move".format(normalize_name(m.split('|')[3]))) - return m.split('|')[2], {constants.ID: "unknown", constants.PRIORITY: 0} - - -def request(battle, split_msg): - """Update the user's team given the battle JSON in split_msg[2] - Also updates some battle meta-data such as rqid, force_switch, and wait""" - if len(split_msg) >= 2: - battle_json = json.loads(split_msg[2].strip('\'')) - logger.debug("Received battle JSON from server: {}".format(battle_json)) - battle.rqid = battle_json[constants.RQID] - - if battle_json.get(constants.FORCE_SWITCH): - battle.force_switch = True - else: - battle.force_switch = False - - if battle_json.get(constants.WAIT): - battle.wait = True - else: - battle.wait = False - - if not battle.wait: - battle.request_json = battle_json - - -def inactive(battle, split_msg): - regex_string = "(\d+) sec this turn" - if split_msg[2].startswith(constants.TIME_LEFT): - capture = re.search(regex_string, split_msg[2]) - try: - time_left = int(capture.group(1)) - battle.time_remaining = time_left - logger.debug("Time left: {}".format(time_left)) - except ValueError: - logger.warning("{} is not a valid int".format(capture.group(1))) - except AttributeError: - logger.warning("'{}' does not match the regex '{}'".format(split_msg[2], regex_string)) - - -def inactiveoff(battle, _): - battle.time_remaining = None - - -def switch_or_drag(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - logger.debug("Opponent has switched - clearing the last used move") - else: - side = battle.user - side.side_conditions[constants.TOXIC_COUNT] = 0 - - if side.active is not None: - # set the pkmn's types back to their original value if the types were changed - # if the pkmn is terastallized, this does not happen - if constants.TYPECHANGE in side.active.volatile_statuses and not side.active.terastallized: - original_types = pokedex[side.active.name][constants.TYPES] - logger.debug("{} had it's type changed - changing its types back to {}".format(side.active.name, original_types)) - side.active.types = original_types - - # if the target was transformed, reset its transformed attributes - if constants.TRANSFORM in side.active.volatile_statuses: - logger.debug("{} was transformed. Resetting its transformed attributes".format(side.active.name)) - side.active.stats = calculate_stats(side.active.base_stats, side.active.level) - side.active.ability = None - side.active.moves = [] - side.active.types = pokedex[side.active.name][constants.TYPES] - - # reset the boost of the pokemon being replaced - side.active.boosts.clear() - - # reset the volatile statuses of the pokemon being replaced - side.active.volatile_statuses.clear() - - # reset toxic count for this side - side.side_conditions[constants.TOXIC_COUNT] = 0 - - # if the side is alive and has regenerator, give it back 1/3 of it's maxhp - if side.active.hp > 0 and not side.active.fainted and side.active.ability == "regenerator": - health_healed = int(side.active.max_hp / 3) - side.active.hp = min(side.active.hp + health_healed, side.active.max_hp) - logger.debug( - "{} switched out with regenerator. Healing it to {}/{}".format( - side.active.name, side.active.hp, side.active.max_hp - ) - ) - - # check if the pokemon exists in the reserves - # if it does not, then the newly-created pokemon is used (for formats without team preview) - nickname = split_msg[2] - temp_pkmn = Pokemon.from_switch_string(split_msg[3], nickname=nickname) - pkmn = find_pokemon_in_reserves(temp_pkmn.name, side.reserve) - - if pkmn is None: - pkmn = Pokemon.from_switch_string(split_msg[3], nickname=nickname) - else: - pkmn.nickname = temp_pkmn.nickname - side.reserve.remove(pkmn) - - side.last_used_move = LastUsedMove( - pokemon_name=None, - move='switch {}'.format(pkmn.name), - turn=battle.turn - ) - - # pkmn != active is a special edge-case for Zoroark - if side.active is not None and pkmn != side.active: - side.reserve.append(side.active) - - side.active = pkmn - if side.active.name in constants.UNKOWN_POKEMON_FORMES: - side.active = Pokemon.from_switch_string(split_msg[3], nickname=nickname) - - -def heal_or_damage(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - other_side = battle.user - pkmn = battle.opponent.active - if len(split_msg) == 5 and split_msg[4] == "[from] move: Revival Blessing": - nickname = Pokemon.extract_nickname_from_pokemonshowdown_string(split_msg[2]) - pkmn = find_reserve_pokemon_by_nickname(nickname, side.reserve) - - # opponent hp is given as a percentage - if constants.FNT in split_msg[3]: - pkmn.hp = 0 - else: - new_hp_percentage = float(split_msg[3].split('/')[0]) / 100 - pkmn.hp = pkmn.max_hp * new_hp_percentage - - else: - side = battle.user - other_side = battle.opponent - pkmn = battle.user.active - if len(split_msg) == 5 and split_msg[4] == "[from] move: Revival Blessing": - nickname = Pokemon.extract_nickname_from_pokemonshowdown_string(split_msg[2]) - pkmn = find_reserve_pokemon_by_nickname(nickname, side.reserve) - if constants.FNT in split_msg[3]: - pkmn.hp = 0 - else: - pkmn.hp = float(split_msg[3].split('/')[0]) - pkmn.max_hp = float(split_msg[3].split('/')[1].split()[0]) - - # increase the amount of turns toxic has been active - if len(split_msg) == 5 and constants.TOXIC in split_msg[3] and '[from] psn' in split_msg[4]: - side.side_conditions[constants.TOXIC_COUNT] += 1 - - if len(split_msg) == 6 and split_msg[4].startswith('[from] item:') and other_side.name in split_msg[5]: - item = normalize_name(split_msg[4].split('item:')[-1]) - logger.debug("Setting {}'s item to: {}".format(other_side.active.name, item)) - other_side.active.item = item - - # set the ability for the other side (the side not taking damage, '-damage' only) - if len(split_msg) == 6 and split_msg[4].startswith('[from] ability:') and other_side.name in split_msg[5] and split_msg[1] == '-damage': - ability = normalize_name(split_msg[4].split('ability:')[-1]) - logger.debug("Setting {}'s ability to: {}".format(other_side.active.name, ability)) - other_side.active.ability = ability - - # set the ability of the side (the side being healed, '-heal' only) - if len(split_msg) == 6 and constants.ABILITY in split_msg[4] and other_side.name in split_msg[5] and split_msg[1] == '-heal': - ability = normalize_name(split_msg[4].split(constants.ABILITY)[-1].strip(": ")) - logger.debug("Setting {}'s ability to: {}".format(pkmn.name, ability)) - pkmn.ability = ability - - # give that pokemon an item if this string specifies one - if len(split_msg) == 5 and constants.ITEM in split_msg[4] and pkmn.item is not None: - item = normalize_name(split_msg[4].split(constants.ITEM)[-1].strip(": ")) - logger.debug("Setting {}'s item to: {}".format(pkmn.name, item)) - pkmn.item = item - - -def faint(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - side.active.hp = 0 - - -def move(battle, split_msg): - if '[from]' in split_msg[-1] and split_msg[-1] != "[from]lockedmove": - return - - move_name = normalize_name(split_msg[3].strip().lower()) - - if is_opponent(battle, split_msg): - side = battle.opponent - pkmn = battle.opponent.active - else: - side = battle.user - pkmn = battle.user.active - - # remove volatile status if they have it - # this is for preparation moves like Phantom Force - if move_name in pkmn.volatile_statuses: - logger.debug("Removing volatile status {} from {}".format(move_name, pkmn.name)) - pkmn.volatile_statuses.remove(move_name) - - # add the move to it's moves if it hasn't been seen - # decrement the PP by one - # if the move is unknown, do nothing - move_object = pkmn.get_move(move_name) - if move_object is None: - new_move = pkmn.add_move(move_name) - if new_move is not None: - new_move.current_pp -= 1 - else: - move_object.current_pp -= 1 - logger.debug("{} already has the move {}. Decrementing the PP by 1".format(pkmn.name, move_name)) - - # if this pokemon used two different moves without switching, - # set a flag to signify that it cannot have a choice item - if ( - is_opponent(battle, split_msg) and - side.last_used_move.pokemon_name == side.active.name and - side.last_used_move.move != move_name - ): - logger.debug("{} used two different moves - it cannot have a choice item".format(pkmn.name)) - pkmn.can_have_choice_item = False - if pkmn.item in constants.CHOICE_ITEMS: - logger.warning("{} has a choice item, but used two different moves - setting it's item to UNKNOWN".format(pkmn.name)) - pkmn.item = constants.UNKNOWN_ITEM - - # if the opponent uses a boosting status move, they cannot have a choice item - # this COULD be set for any status move, but some pkmn uncommonly run things like specs + wisp - try: - if constants.BOOSTS in all_move_json[move_name] and all_move_json[move_name][constants.CATEGORY] == constants.STATUS: - logger.debug("{} used a boosting status-move. Setting can_have_choice_item to False".format(pkmn.name)) - pkmn.can_have_choice_item = False - except KeyError: - pass - - try: - if all_move_json[move_name][constants.CATEGORY] == constants.STATUS: - logger.debug("{} used a status-move. Setting can_have_assultvest to False".format(pkmn.name)) - pkmn.can_have_assaultvest = False - except KeyError: - pass - - try: - category = all_move_json[move_name][constants.CATEGORY] - logger.debug("Setting {}'s last used move: {}".format(pkmn.name, move_name)) - side.last_used_move = LastUsedMove( - pokemon_name=pkmn.name, - move=move_name, - turn=battle.turn - ) - except KeyError: - category = None - side.last_used_move = LastUsedMove( - pokemon_name=pkmn.name, - move=constants.DO_NOTHING_MOVE, - turn=battle.turn - ) - - # if this pokemon used a damaging move, eliminate the possibility of it having a lifeorb - # the lifeorb will reveal itself if it has it - if category in constants.DAMAGING_CATEGORIES and not any([normalize_name(a) in ['sheerforce', 'magicguard'] for a in pokedex[pkmn.name][constants.ABILITIES].values()]): - logger.debug("{} used a damaging move - not guessing lifeorb anymore".format(pkmn.name)) - pkmn.can_have_life_orb = False - - # there is nothing special in the protocol for "wish" - it must be extracted here - if move_name == constants.WISH and 'still' not in split_msg[4]: - logger.debug("{} used wish - expecting {} health of recovery next turn".format(side.active.name, side.active.max_hp/2)) - side.wish = (2, side.active.max_hp/2) - - -def boost(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - stat = constants.STAT_ABBREVIATION_LOOKUPS[split_msg[3].strip()] - amount = int(split_msg[4].strip()) - - pkmn.boosts[stat] = min(pkmn.boosts[stat] + amount, constants.MAX_BOOSTS) - - -def unboost(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - stat = constants.STAT_ABBREVIATION_LOOKUPS[split_msg[3].strip()] - amount = int(split_msg[4].strip()) - - pkmn.boosts[stat] = max(pkmn.boosts[stat] - amount, -1*constants.MAX_BOOSTS) - - -def status(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - if len(split_msg) > 4 and 'item: ' in split_msg[4]: - pkmn.item = normalize_name(split_msg[4].split('item:')[-1]) - - status_name = split_msg[3].strip() - logger.debug("{} got status: {}".format(pkmn.name, status_name)) - pkmn.status = status_name - - -def activate(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - if split_msg[3].lower() == 'move: poltergeist': - item = normalize_name(split_msg[4]) - logger.debug("{} has the item {}".format(pkmn.name, item)) - pkmn.item = item - - if split_msg[3].lower().startswith("ability: "): - ability = normalize_name(split_msg[3].split(':')[-1].strip()) - logger.debug("Setting {}'s ability to {}".format(pkmn.name, ability)) - pkmn.ability = ability - elif split_msg[3].lower().startswith("item: "): - item = normalize_name(split_msg[3].split(':')[-1].strip()) - logger.debug("Setting {}'s item to {}".format(pkmn.name, item)) - pkmn.item = item - - -def prepare(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - being_prepared = normalize_name(split_msg[3]) - if being_prepared in pkmn.volatile_statuses: - logger.warning("{} already has the volatile status {}".format(pkmn.name, being_prepared)) - else: - pkmn.volatile_statuses.append(being_prepared) - - -def terastallize(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - pkmn.terastallized = True - pkmn.types = [normalize_name(split_msg[3])] - logger.debug("Terastallized {}".format(pkmn.name)) - - -def start_volatile_status(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - side = battle.opponent - else: - pkmn = battle.user.active - side = battle.user - - volatile_status = normalize_name(split_msg[3].split(":")[-1]) - - # for some reason futuresight is sent with the `-start` message - # `-start` is typically reserved for volatile statuses - if volatile_status == "futuresight": - side.future_sight = (3, pkmn.name) - return - - if volatile_status not in pkmn.volatile_statuses: - logger.debug("Starting the volatile status {} on {}".format(volatile_status, pkmn.name)) - pkmn.volatile_statuses.append(volatile_status) - - if volatile_status == constants.DYNAMAX: - pkmn.hp *= 2 - pkmn.max_hp *= 2 - logger.debug("{} started dynamax - doubling their HP to {}/{}".format(pkmn.name, pkmn.hp, pkmn.max_hp)) - - if constants.ABILITY in split_msg[3]: - pkmn.ability = volatile_status - - if len(split_msg) == 6 and constants.ABILITY in normalize_name(split_msg[5]): - pkmn.ability = normalize_name(split_msg[5].split('ability:')[-1]) - - if volatile_status == constants.TYPECHANGE: - if split_msg[4] == "[from] move: Reflect Type": - pkmn_name = normalize_name(split_msg[5].split(":")[-1]) - new_types = deepcopy(pokedex[pkmn_name][constants.TYPES]) - else: - new_types = [normalize_name(t) for t in split_msg[4].split("/")] - - logger.debug("Setting {}'s types to {}".format(pkmn.name, new_types)) - pkmn.types = new_types - - -def end_volatile_status(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - volatile_status = normalize_name(split_msg[3].split(":")[-1]) - if volatile_status not in pkmn.volatile_statuses: - logger.warning("Pokemon '{}' does not have the volatile status '{}'".format(pkmn.to_dict(), volatile_status)) - else: - logger.debug("Removing the volatile status {} from {}".format(volatile_status, pkmn.name)) - pkmn.volatile_statuses.remove(volatile_status) - if volatile_status == constants.DYNAMAX: - pkmn.hp /= 2 - pkmn.max_hp /= 2 - logger.debug("{} ended dynamax - halving their HP to {}/{}".format(pkmn.name, pkmn.hp, pkmn.max_hp)) - - -def curestatus(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - pkmn_name = split_msg[2].split(':')[-1].strip() - - if normalize_name(pkmn_name) == side.active.name: - pkmn = side.active - else: - try: - pkmn = next(filter(lambda x: x.name == normalize_name(pkmn_name), side.reserve)) - except StopIteration: - logger.warning( - "The pokemon {} does not exist in the party, defaulting to the active pokemon".format(normalize_name(pkmn_name)) - ) - pkmn = side.active - - pkmn.status = None - - -def cureteam(battle, split_msg): - """Cure every pokemon on the opponent's team of it's status""" - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - side.active.status = None - for pkmn in filter(lambda p: isinstance(p, Pokemon), side.reserve): - pkmn.status = None - - -def weather(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - weather_name = normalize_name(split_msg[2].split(':')[-1].strip()) - logger.debug("Weather {} started".format(weather_name)) - battle.weather = weather_name - - if len(split_msg) >= 5 and side.name in split_msg[4]: - ability = normalize_name(split_msg[3].split(':')[-1].strip()) - logger.debug("Setting {} ability to {}".format(side.active.name, ability)) - side.active.ability = ability - - -def fieldstart(battle, split_msg): - """Set the battle's field condition""" - field_name = normalize_name(split_msg[2].split(':')[-1].strip()) - - # trick room shows up as a `-fieldstart` item but is separate from the other fields - if field_name == constants.TRICK_ROOM: - logger.debug("Setting trickroom") - battle.trick_room = True - else: - logger.debug("Setting the field to {}".format(field_name)) - battle.field = field_name - - -def fieldend(battle, split_msg): - """Remove the battle's field condition""" - field_name = normalize_name(split_msg[2].split(':')[-1].strip()) - - # trick room shows up as a `-fieldend` item but is separate from the other fields - if field_name == constants.TRICK_ROOM: - logger.debug("Removing trick room") - battle.trick_room = False - else: - logger.debug("Setting the field to None") - battle.field = None - - -def sidestart(battle, split_msg): - """Set a side effect such as stealth rock or sticky web""" - condition = split_msg[3].split(':')[-1].strip() - condition = normalize_name(condition) - - if is_opponent(battle, split_msg): - logger.debug("Side condition {} starting for opponent".format(condition)) - battle.opponent.side_conditions[condition] += 1 - else: - logger.debug("Side condition {} starting for bot".format(condition)) - battle.user.side_conditions[condition] += 1 - - -def sideend(battle, split_msg): - """Remove a side effect such as stealth rock or sticky web""" - condition = split_msg[3].split(':')[-1].strip() - condition = normalize_name(condition) - - if is_opponent(battle, split_msg): - logger.debug("Side condition {} ending for opponent".format(condition)) - battle.opponent.side_conditions[condition] = 0 - else: - logger.debug("Side condition {} ending for bot".format(condition)) - battle.user.side_conditions[condition] = 0 - - -def swapsideconditions(battle, _): - user_sc = battle.user.side_conditions - opponent_sc = battle.opponent.side_conditions - for side_condition in constants.COURT_CHANGE_SWAPS: - user_sc[side_condition], opponent_sc[side_condition] = opponent_sc[side_condition], user_sc[side_condition] - - -def set_item(battle, split_msg): - """Set the opponent's item""" - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - item = normalize_name(split_msg[3].strip()) - logger.debug("Setting {}'s item to {}".format(side.active.name, item)) - side.active.item = item - - -def remove_item(battle, split_msg): - """Remove the opponent's item""" - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - logger.debug("Removing {}'s item".format(side.active.name)) - side.active.item = None - - -def set_ability(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - for msg in split_msg: - if constants.ABILITY in normalize_name(msg): - ability = normalize_name(msg.split(':')[-1]) - logger.debug("Setting {}'s ability to {}".format(side.active.name, ability)) - side.active.ability = ability - - -def set_opponent_ability_from_ability_tag(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - ability = normalize_name(split_msg[3]) - logger.debug("Setting {}'s ability to {}".format(side.active.name, ability)) - side.active.ability = ability - - -def form_change(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - base_name = side.active.base_name - hp_percent = float(side.active.hp) / side.active.max_hp - previous_moves = side.active.moves - previous_boosts = side.active.boosts - previous_status = side.active.status - previous_item = side.active.item - - new_pokemon = Pokemon.from_switch_string(split_msg[3]) - new_pokemon.moves = previous_moves - if new_pokemon in side.reserve: - side.reserve.remove(new_pokemon) - - side.active = new_pokemon - side.active.hp = hp_percent * side.active.max_hp - side.active.boosts = previous_boosts - side.active.status = previous_status - side.active.item = previous_item - - if side.active.name != "zoroark": - side.active.base_name = base_name - - -def zpower(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - logger.debug("{} Used a Z-Move, setting item to None".format(side.active.name)) - side.active.item = None - - -def clearnegativeboost(battle, split_msg): - if is_opponent(battle, split_msg): - pkmn = battle.opponent.active - else: - pkmn = battle.user.active - - for stat, value in pkmn.boosts.items(): - if value < 0: - logger.debug("Setting {}'s {} stat to 0".format(pkmn.name, stat)) - pkmn.boosts[stat] = 0 - - -def clearallboost(battle, _): - pkmn = battle.user.active - for stat, value in pkmn.boosts.items(): - if value != 0: - logger.debug("Setting {}'s {} stat to 0".format(pkmn.name, stat)) - pkmn.boosts[stat] = 0 - - pkmn = battle.opponent.active - for stat, value in pkmn.boosts.items(): - if value != 0: - logger.debug("Setting {}'s {} stat to 0".format(pkmn.name, stat)) - pkmn.boosts[stat] = 0 - - -def singleturn(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - move_name = normalize_name(split_msg[3].split(':')[-1]) - if move_name in constants.PROTECT_VOLATILE_STATUSES: - # set to 2 because the `upkeep` function will decrement by 1 on every end-of-turn - side.side_conditions[constants.PROTECT] = 2 - logger.debug("{} used protect".format(side.active.name)) - - -def upkeep(battle, _): - if battle.user.side_conditions[constants.PROTECT] > 0: - battle.user.side_conditions[constants.PROTECT] -= 1 - logger.debug("Setting protect to {} for the bot".format(battle.user.side_conditions[constants.PROTECT])) - - if battle.opponent.side_conditions[constants.PROTECT] > 0: - battle.opponent.side_conditions[constants.PROTECT] -= 1 - logger.debug("Setting protect to {} for the opponent".format(battle.opponent.side_conditions[constants.PROTECT])) - - if battle.user.wish[0] > 0: - battle.user.wish = (battle.user.wish[0] - 1, battle.user.wish[1]) - logger.debug("Decrementing wish to {} for the bot".format(battle.user.wish[0])) - - if battle.opponent.wish[0] > 0: - battle.opponent.wish = (battle.opponent.wish[0] - 1, battle.opponent.wish[1]) - logger.debug("Decrementing wish to {} for the opponent".format(battle.opponent.wish[0])) - - if battle.user.future_sight[0] > 0: - battle.user.future_sight = (battle.user.future_sight[0] - 1, battle.user.future_sight[1]) - logger.debug("Decrementing future_sight to {} for the bot".format(battle.user.future_sight[0])) - - if battle.opponent.future_sight[0] > 0: - battle.opponent.future_sight = (battle.opponent.future_sight[0] - 1, battle.opponent.future_sight[1]) - logger.debug("Decrementing future_sight to {} for the opponent".format(battle.opponent.future_sight[0])) - - -def mega(battle, split_msg): - if is_opponent(battle, split_msg): - side = battle.opponent - else: - side = battle.user - - side.active.is_mega = True - logger.debug("Mega-Pokemon: {}".format(side.active.name)) - - -def transform(battle, split_msg): - if is_opponent(battle, split_msg): - transformed_into_name = battle.user.active.name - - battle_copy = deepcopy(battle) - battle.opponent.active.boosts = deepcopy(battle.user.active.boosts) - - battle_copy.user.from_json(battle_copy.request_json) - - if battle_copy.user.active.name == transformed_into_name or battle_copy.user.active.name.startswith(transformed_into_name): - transformed_into = battle_copy.user.active - else: - transformed_into = find_pokemon_in_reserves(transformed_into_name, battle_copy.user.reserve) - - logger.debug("Opponent {} transformed into {}".format(battle.opponent.active.name, battle.user.active.name)) - battle.opponent.active.stats = deepcopy(transformed_into.stats) - battle.opponent.active.ability = deepcopy(transformed_into.ability) - battle.opponent.active.moves = deepcopy(transformed_into.moves) - battle.opponent.active.types = deepcopy(transformed_into.types) - - if constants.TRANSFORM not in battle.opponent.active.volatile_statuses: - battle.opponent.active.volatile_statuses.append(constants.TRANSFORM) - - -def turn(battle, split_msg): - battle.turn = int(split_msg[2]) - - -def noinit(battle, split_msg): - if split_msg[2] == "rename": - battle.battle_tag = split_msg[3] - logger.debug("Renamed battle to {}".format(battle.battle_tag)) - - -def check_speed_ranges(battle, msg_lines): - """ - Intention: - This function is intended to set the min or max possible speed that the opponent's - active Pokemon could possibly have given a turn that just happened. - - For example: if both the bot and the opponent use an equal priority move but the - opponent moves first, then the opponent's min_speed attribute will be set to the - bots actual speed. This is because the opponent must have at least that much speed - for it to have gone first. - - These min/max speeds are set without knowledge of items. If the opponent goes first - when having a choice scarf then min speed will still be set to the bots speed. When - it comes time to guess a Pokemon's possible set(s), the item must be taken into account - as well when determining the final speed of a Pokemon. Abilities are NOT taken into - consideration because their speed modifications are subject to certain conditions - being present, whereas a choice scarf ALWAYS boosts speed. - - If there is a situation where an ability could have modified the turn order (either by - changing a move's priority or giving a Pokemon more speed) then this check should be - skipped. Examples are: - - either side switched - - the opponent COULD have a speed-boosting weather ability AND that weather is up - - the opponent COULD have prankster and it used a status move - - Grassy Glide is used when Grassy Terrain is up - """ - # If either side switched this turn - don't do this check - if any(ln.startswith("|switch|") for ln in msg_lines) or not battle.request_json: - return - - moves = [get_move_information(m) for m in msg_lines if m.startswith('|move|')] - if len(moves) != 2 or moves[0][1][constants.PRIORITY] != moves[1][1][constants.PRIORITY]: - return - - bot_went_first = moves[0][0].startswith(battle.user.name) - - if ( - battle.opponent.active is None or - battle.opponent.active.item == "choicescarf" or - can_have_speed_modified(battle, battle.opponent.active) or - (not bot_went_first and can_have_priority_modified(battle, battle.opponent.active, moves[0][1][constants.ID])) or - (bot_went_first and can_have_priority_modified(battle, battle.user.active, moves[0][1][constants.ID])) - ): - return - - battle_copy = deepcopy(battle) - battle_copy.user.from_json(battle_copy.request_json) - - speed_threshold = int( - boost_multiplier_lookup[battle_copy.user.active.boosts[constants.SPEED]] * - battle_copy.user.active.stats[constants.SPEED] / - boost_multiplier_lookup[battle_copy.opponent.active.boosts[constants.SPEED]] - ) - - if battle.opponent.side_conditions[constants.TAILWIND]: - speed_threshold = int(speed_threshold / 2) - - if battle.user.side_conditions[constants.TAILWIND]: - speed_threshold = int(speed_threshold * 2) - - if battle.opponent.active.status == constants.PARALYZED: - speed_threshold = int(speed_threshold * 2) - - if battle.user.active.status == constants.PARALYZED: - speed_threshold = int(speed_threshold / 2) - - if battle.user.active.item == "choicescarf": - speed_threshold = int(speed_threshold * 1.5) - - # we want to swap which attribute gets updated in trickroom because the slower pokemon goes first - if battle.trick_room: - bot_went_first = not bot_went_first - - if bot_went_first: - opponent_max_speed = min(battle.opponent.active.speed_range.max, speed_threshold) - battle.opponent.active.speed_range = StatRange( - min=battle.opponent.active.speed_range.min, - max=opponent_max_speed - ) - logger.info("Updated {}'s max speed to {}".format(battle.opponent.active.name, battle.opponent.active.speed_range.max)) - - else: - opponent_min_speed = max(battle.opponent.active.speed_range.min, speed_threshold) - battle.opponent.active.speed_range = StatRange( - min=opponent_min_speed, - max=battle.opponent.active.speed_range.max - ) - logger.info( - "Updated {}'s min speed to {}".format(battle.opponent.active.name, battle.opponent.active.speed_range.min)) - - -def check_choicescarf(battle, msg_lines): - # If either side switched this turn - don't do this check - if any(ln.startswith("|switch|") for ln in msg_lines) or not battle.request_json: - return - - moves = [get_move_information(m) for m in msg_lines if m.startswith('|move|')] - if len(moves) != 2 or moves[0][0].startswith(battle.user.name) or moves[0][1][constants.PRIORITY] != moves[1][1][constants.PRIORITY]: - return - - if ( - battle.opponent.active is None or - battle.opponent.active.item != constants.UNKNOWN_ITEM or - can_have_speed_modified(battle, battle.opponent.active) or - can_have_priority_modified(battle, battle.opponent.active, moves[0][1][constants.ID]) - ): - return - - battle_copy = deepcopy(battle) - battle_copy.user.from_json(battle_copy.request_json) - if battle.battle_type == constants.RANDOM_BATTLE: - battle_copy.opponent.active.set_spread('serious', '85,85,85,85,85,85') # random battles have known spreads - else: - if battle.trick_room: - battle_copy.opponent.active.set_spread('quiet', '0,0,0,0,0,0') # assume as slow as possible in trickroom - else: - battle_copy.opponent.active.set_spread('jolly', '0,0,0,0,0,252') # assume as fast as possible - state = battle_copy.create_state() - opponent_effective_speed = get_effective_speed(state, state.opponent) - bot_effective_speed = get_effective_speed(state, state.user) - - if battle.trick_room: - has_scarf = opponent_effective_speed > bot_effective_speed - else: - has_scarf = bot_effective_speed > opponent_effective_speed - - if has_scarf: - logger.debug("Opponent {} could not have gone first - setting it's item to choicescarf".format(battle.opponent.active.name)) - battle.opponent.active.item = 'choicescarf' - - -def get_damage_dealt(battle, split_msg, next_messages): - move_name = normalize_name(split_msg[3]) - critical_hit = False - - if is_opponent(battle, split_msg): - attacking_side = battle.opponent - defending_side = battle.user - else: - attacking_side = battle.user - defending_side = battle.opponent - - for line in next_messages: - next_line_split = line.split('|') - # if one of these strings appears in index 1 then - # exit out since we are done with this pokemon's move - if len(next_line_split) < 2 or next_line_split[1] in MOVE_END_STRINGS: - break - - elif next_line_split[1] == '-crit': - critical_hit = True - - # if '-damage' appears, we want to parse the percentage damage dealt - elif next_line_split[1] == '-damage' and defending_side.name in next_line_split[2]: - final_health, maxhp, _ = get_pokemon_info_from_condition(next_line_split[3]) - # maxhp can be 0 if the targetted pokemon fainted - # the message would be: "0 fnt" - if maxhp == 0: - maxhp = defending_side.active.max_hp - - damage_dealt = (defending_side.active.hp / defending_side.active.max_hp)*maxhp - final_health - damage_percentage = round(damage_dealt / maxhp, 4) - - logger.debug("{} did {}% damage to {} with {}".format(attacking_side.active.name, damage_percentage * 100, defending_side.active.name, move_name)) - return DamageDealt(attacker=attacking_side.active.name, defender=defending_side.active.name, move=move_name, percent_damage=damage_percentage, crit=critical_hit) - - -def check_choice_band_or_specs(battle, damage_dealt): - if ( - battle.opponent.active is None or - battle.opponent.active.item != constants.UNKNOWN_ITEM or - damage_dealt.crit or - damage_dealt.move in constants.WEIGHT_BASED_MOVES or - damage_dealt.move in constants.SPEED_BASED_MOVES or - not battle.opponent.active.can_have_choice_item or - not battle.request_json - ): - return - - try: - move_dict = all_move_json[damage_dealt.move] - except KeyError: - logger.debug("Could not find the move {}, skipping choice item check".format(move)) - return - - if move_dict[constants.CATEGORY] == constants.PHYSICAL: - choice_item = 'choiceband' - spread = 'adamant', '0,252,0,0,0,0' - elif move_dict[constants.CATEGORY] == constants.SPECIAL: - choice_item = 'choicespecs' - spread = 'modest', '0,0,0,252,0,0' - else: - # don't guess anything if the move was neither physical nor special - return - - if battle.battle_type == constants.RANDOM_BATTLE: - spread = 'serious', '85,85,85,85,85,85' - - min_damage_with_choice_item = float('inf') - max_damage_without_choice_item = float('-inf') - potential_battles = battle.prepare_battles(guess_mega_evo_opponent=False, join_moves_together=True) - - battle_copy = deepcopy(battle) - battle_copy.user.from_json(battle.request_json) - for b in potential_battles: - - # if the item is not the choice item - use it to find the max damage roll possible for all items - if b.opponent.active.item != choice_item: - b.opponent.active.set_spread(*spread) - b.user.active.stats = battle_copy.user.active.stats - - state = b.create_state() - - damage = calculate_damage(state, constants.OPPONENT, damage_dealt.move, battle.user.last_used_move.move, calc_type='max')[0] - max_damage_without_choice_item = max(max_damage_without_choice_item, damage) - - # also find the min damage roll possible for the choice-item - b.opponent.active.item = choice_item - b.opponent.active.set_spread(*spread) - b.user.active.stats = battle_copy.user.active.stats - - state = b.create_state() - - damage = calculate_damage(state, constants.OPPONENT, damage_dealt.move, battle.user.last_used_move.move, calc_type='min')[0] - min_damage_with_choice_item = min(min_damage_with_choice_item, damage) - - # dont infer if we did not find a damage amount - if max_damage_without_choice_item == float('-inf') or min_damage_with_choice_item == float('inf'): - return - - actual_damage_dealt = damage_dealt.percent_damage * battle.user.active.max_hp - - # if the damage dealt is more than 1.2x the max-roll WITHOUT a choice item then the pkmn DOES have a choice-item - if actual_damage_dealt > (max_damage_without_choice_item * 1.2): # multiply to avoid rounding errors - logger.debug("{} has {}".format(battle.opponent.active.name, choice_item)) - battle.opponent.active.item = choice_item - - # if the damage dealt is less than 0.8x the min-roll given a choice-item then the pkmn DOES NOT have a choice-item - if ( - actual_damage_dealt < (min_damage_with_choice_item * 0.8) and # multiply to avoid rounding errors - (battle.user.active.hp - actual_damage_dealt) > 1 # this is checking if the move KO-ed - # if it did, we do not want to set this flag - # Check for greater than 1 to avoid rounding errors - ): - logger.debug("{} did not do enough damage to have {}".format(battle.opponent.active.name, choice_item)) - if choice_item == "choiceband": - battle.opponent.active.can_not_have_band = True - elif choice_item == "choicespecs": - battle.opponent.active.can_not_have_specs = True - else: - raise ValueError("{} is neither 'choiceband' or 'choicespecs'") - - -def check_heavydutyboots(battle, msg_lines): - side_to_check = battle.opponent - - if ( - side_to_check.active.item != constants.UNKNOWN_ITEM or - 'magicguard' in [normalize_name(a) for a in pokedex[side_to_check.active.name][constants.ABILITIES].values()] - ): - return - - if side_to_check.side_conditions[constants.STEALTH_ROCK] > 0: - pkmn_took_stealthrock_damage = False - for line in msg_lines: - split_line = line.split('|') - - # |-damage|p2a: Weedle|88/100|[from] Stealth Rock - if ( - len(split_line) > 4 and - split_line[1] == '-damage' and - split_line[2].startswith(side_to_check.name) and - split_line[4] == '[from] Stealth Rock' - ): - pkmn_took_stealthrock_damage = True - - if not pkmn_took_stealthrock_damage: - logger.debug("{} has heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.item = 'heavydutyboots' - else: - logger.debug("{} was affected by stealthrock, it cannot have heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.can_have_heavydutyboots = False - - elif ( - side_to_check.side_conditions[constants.SPIKES] > 0 and - 'flying' not in side_to_check.active.types and - side_to_check.active.ability != 'levitate' - ): - pkmn_took_spikes_damage = False - for line in msg_lines: - split_line = line.split('|') - - # |-damage|p2a: Weedle|88/100|[from] Spikes - if ( - len(split_line) > 4 and - split_line[1] == '-damage' and - split_line[2].startswith(side_to_check.name) and - split_line[4] == '[from] Spikes' - ): - pkmn_took_spikes_damage = True - - if not pkmn_took_spikes_damage: - logger.debug("{} has heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.item = 'heavydutyboots' - else: - logger.debug("{} was affected by spikes, it cannot have heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.can_have_heavydutyboots = False - elif ( - side_to_check.side_conditions[constants.TOXIC_SPIKES] > 0 and - 'flying' not in side_to_check.active.types and - 'poison' not in side_to_check.active.types and - 'steel' not in side_to_check.active.types and - side_to_check.active.ability != 'levitate' and - side_to_check.active.ability not in constants.IMMUNE_TO_POISON_ABILITIES - ): - pkmn_took_toxicspikes_poison = False - for line in msg_lines: - split_line = line.split('|') - - # a pokemon can be toxic-ed from sources other than toxicspikes - # stopping at one of these strings ensures those other sources aren't considered - if len(split_line) < 2 or split_line[1] in MOVE_END_STRINGS: - break - - # |-status|p2a: Pikachu|psn - if ( - split_line[1] == '-status' and - (split_line[3] == constants.POISON or split_line[3] == constants.TOXIC) and - split_line[2].startswith(side_to_check.name) - ): - pkmn_took_toxicspikes_poison = True - - if not pkmn_took_toxicspikes_poison: - logger.debug("{} has heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.item = 'heavydutyboots' - else: - logger.debug("{} was affected by toxicspikes, it cannot have heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.can_have_heavydutyboots = False - - elif ( - side_to_check.side_conditions[constants.STICKY_WEB] > 0 and - 'flying' not in side_to_check.active.types and - side_to_check.active.ability != 'levitate' - ): - pkmn_was_affected_by_stickyweb = False - for line in msg_lines: - split_line = line.split('|') - - # |-activate|p2a: Gengar|move: Sticky Web - if ( - len(split_line) == 4 and - split_line[1] == '-activate' and - split_line[2].startswith(side_to_check.name) and - split_line[3] == 'move: Sticky Web' - ): - pkmn_was_affected_by_stickyweb = True - - if not pkmn_was_affected_by_stickyweb: - logger.debug("{} has heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.item = 'heavydutyboots' - else: - logger.debug("{} was affected by sticky web, it cannot have heavydutyboots".format(side_to_check.active.name)) - side_to_check.active.can_have_heavydutyboots = False - - -def update_battle(battle, msg): - msg_lines = msg.split('\n') - - action = None - check_speed_ranges(battle, msg_lines) - for i, line in enumerate(msg_lines): - split_msg = line.split('|') - if len(split_msg) < 2: - continue - - action = split_msg[1].strip() - - battle_modifiers_lookup = { - 'request': request, - 'switch': switch_or_drag, - 'faint': faint, - 'drag': switch_or_drag, - '-heal': heal_or_damage, - '-damage': heal_or_damage, - 'move': move, - '-boost': boost, - '-unboost': unboost, - '-status': status, - '-activate': activate, - '-prepare': prepare, - '-start': start_volatile_status, - '-end': end_volatile_status, - '-curestatus': curestatus, - '-cureteam': cureteam, - '-weather': weather, - '-fieldstart': fieldstart, - '-fieldend': fieldend, - '-sidestart': sidestart, - '-sideend': sideend, - '-swapsideconditions': swapsideconditions, - '-item': set_item, - '-enditem': remove_item, - '-immune': set_ability, - '-ability': set_opponent_ability_from_ability_tag, - 'detailschange': form_change, - 'replace': form_change, - '-formechange': form_change, - '-transform': transform, - '-mega': mega, - '-terastallize': terastallize, - '-zpower': zpower, - '-clearnegativeboost': clearnegativeboost, - '-clearallboost': clearallboost, - '-singleturn': singleturn, - 'upkeep': upkeep, - 'inactive': inactive, - 'inactiveoff': inactiveoff, - 'turn': turn, - 'noinit': noinit, - } - - function_to_call = battle_modifiers_lookup.get(action) - if function_to_call is not None: - function_to_call(battle, split_msg) - - if action == 'move' and is_opponent(battle, split_msg): - check_choicescarf(battle, msg_lines) - damage_dealt = get_damage_dealt(battle, split_msg, msg_lines[i + 1:]) - if damage_dealt: - check_choice_band_or_specs(battle, damage_dealt) - - elif action == 'switch' and is_opponent(battle, split_msg): - check_heavydutyboots(battle, msg_lines[i+1:]) - - if action == 'turn': - return True - - if action in ['inactive', 'updatesearch']: - return False - - if action != "request": - return battle.force_switch - - -async def async_update_battle(battle, msg): - return update_battle(battle, msg) diff --git a/showdown/engine/__init__.py b/showdown/engine/__init__.py deleted file mode 100644 index 8b3c9c736..000000000 --- a/showdown/engine/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -from .objects import ( - State, - Side, - Pokemon, - StateMutator, - TransposeInstruction -) - -from .find_state_instructions import get_all_state_instructions -from .damage_calculator import calculate_damage - -__all__ = [ - 'State', - 'Side', - 'Pokemon', - 'StateMutator', - 'TransposeInstruction', - 'get_all_state_instructions', - 'calculate_damage' -] diff --git a/showdown/engine/damage_calculator.py b/showdown/engine/damage_calculator.py deleted file mode 100644 index 6e63d1e46..000000000 --- a/showdown/engine/damage_calculator.py +++ /dev/null @@ -1,473 +0,0 @@ -from copy import copy -from copy import deepcopy - -import constants -from data import all_move_json -from data import pokedex - - -pokemon_type_indicies = { - 'normal': 0, - 'fire': 1, - 'water': 2, - 'electric': 3, - 'grass': 4, - 'ice': 5, - 'fighting': 6, - 'poison': 7, - 'ground': 8, - 'flying': 9, - 'psychic': 10, - 'bug': 11, - 'rock': 12, - 'ghost': 13, - 'dragon': 14, - 'dark': 15, - 'steel': 16, - 'fairy': 17, - - # ??? and typeless are the same thing - 'typeless': 18, - '???': 18, -} - -damage_multipication_array = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1/2, 0, 1, 1, 1/2, 1, 1], - [1, 1/2, 1/2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1/2, 1, 1/2, 1, 2, 1, 1], - [1, 2, 1/2, 1, 1/2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1/2, 1, 1, 1, 1], - [1, 1, 2, 1/2, 1/2, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1/2, 1, 1, 1, 1], - [1, 1/2, 2, 1, 1/2, 1, 1, 1/2, 2, 1/2, 1, 1/2, 2, 1, 1/2, 1, 1/2, 1, 1], - [1, 1/2, 1/2, 1, 2, 1/2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1/2, 1, 1], - [2, 1, 1, 1, 1, 2, 1, 1/2, 1, 1/2, 1/2, 1/2, 2, 0, 1, 2, 2, 1/2, 1], - [1, 1, 1, 1, 2, 1, 1, 1/2, 1/2, 1, 1, 1, 1/2, 1/2, 1, 1, 0, 2, 1], - [1, 2, 1, 2, 1/2, 1, 1, 2, 1, 0, 1, 1/2, 2, 1, 1, 1, 2, 1, 1], - [1, 1, 1, 1/2, 2, 1, 2, 1, 1, 1, 1, 2, 1/2, 1, 1, 1, 1/2, 1, 1], - [1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1/2, 1, 1, 1, 1, 0, 1/2, 1, 1], - [1, 1/2, 1, 1, 2, 1, 1/2, 1/2, 1, 1/2, 2, 1, 1, 1/2, 1, 2, 1/2, 1/2, 1], - [1, 2, 1, 1, 1, 2, 1/2, 1, 1/2, 2, 1, 2, 1, 1, 1, 1, 1/2, 1, 1], - [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1/2, 1, 1, 1], - [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1/2, 0, 1], - [1, 1, 1, 1, 1, 1, 1/2, 1, 1, 1, 2, 1, 1, 2, 1, 1/2, 1, 1/2, 1], - [1, 1/2, 1/2, 1/2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1/2, 2, 1], - [1, 1/2, 1, 1, 1, 1, 2, 1/2, 1, 1, 1, 1, 1, 1, 2, 2, 1/2, 1, 1], - [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]] - - -SPECIAL_LOGIC_MOVES = { - "seismictoss": lambda attacker, defender: [int(attacker.level)] if "ghost" not in defender.types else None, - "nightshade": lambda attacker, defender: [int(attacker.level)] if "normal" not in defender.types else None, - "superfang": lambda attacker, defender: [int(defender.hp / 2)] if "ghost" not in defender.types else None, - "naturesmadness": lambda attacker, defender: [int(defender.hp / 2)], - "ruination": lambda attacker, defender: [int(defender.hp / 2)], - "finalgambit": lambda attacker, defender: [int(attacker.hp)] if "ghost" not in defender.types else None, - "endeavor": lambda attacker, defender: [int(defender.hp - attacker.hp)] if defender.hp > attacker.hp and "ghost" not in defender.types else None, - "painsplit": lambda attacker, defender: [defender.hp - (attacker.hp + defender.hp)/2], -} - - -TERRAIN_DAMAGE_BOOST = 1.3 - - -def _calculate_damage(attacker, defender, move, conditions=None, calc_type='average'): - # This function assumes the `move` dictionary has already been updated to account for move/item/ability special-effects - # You may want to use `calculate_damage` - - acceptable_calc_types = ['average', 'min', 'max', 'min_max', 'min_max_average', 'all'] - if calc_type not in acceptable_calc_types: - raise ValueError("{} is not one of {}".format(calc_type, acceptable_calc_types)) - - attacking_move = get_move(move) - if attacking_move is None: - raise TypeError("Invalid move: {}".format(move)) - - attacking_type = attacking_move.get(constants.CATEGORY) - if attacking_type == constants.PHYSICAL: - attack = constants.ATTACK - defense = constants.DEFENSE - elif attacking_type == constants.SPECIAL: - attack = constants.SPECIAL_ATTACK - defense = constants.SPECIAL_DEFENSE - else: - return None - - try: - return SPECIAL_LOGIC_MOVES[attacking_move[constants.ID]](attacker, defender) - except KeyError: - pass - - if attacking_move[constants.BASE_POWER] == 0: - return [0] - - if conditions is None: - conditions = {} - - attacking_stats = attacker.calculate_boosted_stats() - defending_stats = defender.calculate_boosted_stats() - - if attacker.ability == 'unaware': - if defense == constants.DEFENSE: - defending_stats[defense] = defender.defense - elif defense == constants.SPECIAL_DEFENSE: - defending_stats[defense] = defender.special_defense - if defender.ability == 'unaware': - if attack == constants.ATTACK: - attacking_stats[attack] = attacker.attack - elif defense == constants.SPECIAL_ATTACK: - attacking_stats[attack] = attacker.special_attack - - defending_types = defender.types - if attacking_move[constants.ID] == 'thousandarrows' and 'flying' in defending_types: - defending_types = copy(defender.types) - defending_types.remove('flying') - if attacking_move[constants.TYPE] == 'ground' and constants.ROOST in defender.volatile_status: - defending_types = copy(defender.types) - try: - defending_types.remove('flying') - except ValueError: - pass - - # rock types get 1.5x SPDEF in sand - # ice types get 1.5x DEF in snow - try: - if conditions[constants.WEATHER] == constants.SAND and 'rock' in defender.types: - defending_stats[constants.SPECIAL_DEFENSE] = int(defending_stats[constants.SPECIAL_DEFENSE] * 1.5) - elif conditions[constants.WEATHER] == constants.SNOW and 'ice' in defender.types: - defending_stats[constants.DEFENSE] = int(defending_stats[constants.DEFENSE] * 1.5) - except KeyError: - pass - - if defender.ability == "tabletsofruin": - attacking_stats[constants.ATTACK] *= 0.75 - elif defender.ability == "vesselofruin": - attacking_stats[constants.SPECIAL_ATTACK] *= 0.75 - if attacker.ability == "swordofruin": - defending_stats[constants.DEFENSE] *= 0.75 - elif attacker.ability == "beadsofruin": - defending_stats[constants.SPECIAL_DEFENSE] *= 0.75 - - damage = int(int((2 * attacker.level) / 5) + 2) * attacking_move[constants.BASE_POWER] - damage = int(damage * attacking_stats[attack] / defending_stats[defense]) - damage = int(damage / 50) + 2 - damage *= calculate_modifier(attacker, defender, defending_types, attacking_move, conditions) - - damage_rolls = get_damage_rolls(damage, calc_type) - - return list(set(damage_rolls)) - - -def is_super_effective(move_type, defending_pokemon_types): - multiplier = type_effectiveness_modifier(move_type, defending_pokemon_types) - return multiplier > 1 - - -def is_not_very_effective(move_type, defending_pokemon_types): - multiplier = type_effectiveness_modifier(move_type, defending_pokemon_types) - return multiplier < 1 - - -def calculate_modifier(attacker, defender, defending_types, attacking_move, conditions): - - modifier = 1 - modifier *= type_effectiveness_modifier(attacking_move[constants.TYPE], defending_types) - modifier *= weather_modifier(attacking_move, conditions.get(constants.WEATHER)) - modifier *= stab_modifier(attacker, attacking_move) - modifier *= burn_modifier(attacker, attacking_move) - modifier *= terrain_modifier(attacker, defender, attacking_move, conditions.get(constants.TERRAIN)) - modifier *= volatile_status_modifier(attacking_move, attacker, defender) - - if attacker.ability != 'infiltrator': - modifier *= light_screen_modifier(attacking_move, conditions.get(constants.LIGHT_SCREEN)) - modifier *= reflect_modifier(attacking_move, conditions.get(constants.REFLECT)) - modifier *= aurora_veil_modifier(conditions.get(constants.AURORA_VEIL)) - - return modifier - - -def get_move(move): - if isinstance(move, dict): - return move - if isinstance(move, str): - return deepcopy(all_move_json.get(move, None)) - else: - return None - - -def get_damage_rolls(damage, calc_type): - if calc_type == 'average': - damage *= 0.925 - return [int(damage)] - elif calc_type == 'min': - return [int(damage * 0.85)] - elif calc_type == 'max': - return [int(damage)] - elif calc_type == 'min_max': - return [ - int(damage * 0.85), - int(damage) - ] - elif calc_type == 'min_max_average': - return [ - int(damage * 0.85), - int(damage * 0.925), - int(damage) - ] - elif calc_type == 'all': - return [ - int(damage * 0.85), - int(damage * 0.86), - int(damage * 0.87), - int(damage * 0.88), - int(damage * 0.89), - int(damage * 0.90), - int(damage * 0.91), - int(damage * 0.92), - int(damage * 0.93), - int(damage * 0.94), - int(damage * 0.95), - int(damage * 0.96), - int(damage * 0.97), - int(damage * 0.98), - int(damage * 0.99), - int(damage) - ] - - -def type_effectiveness_modifier(attacking_move_type, defending_types): - modifier = 1 - attacking_type_index = pokemon_type_indicies[attacking_move_type] - for pkmn_type in defending_types: - defending_type_index = pokemon_type_indicies[pkmn_type] - modifier *= damage_multipication_array[attacking_type_index][defending_type_index] - - return modifier - - -def weather_modifier(attacking_move, weather): - if not isinstance(weather, str): - return 1 - - if weather == constants.SUN and attacking_move[constants.TYPE] == 'fire': - return 1.5 - elif weather == constants.SUN and attacking_move[constants.TYPE] == 'water': - return 0.5 - elif weather == constants.RAIN and attacking_move[constants.TYPE] == 'water': - return 1.5 - elif weather == constants.RAIN and attacking_move[constants.TYPE] == 'fire': - return 0.5 - elif weather == constants.HEAVY_RAIN and attacking_move[constants.TYPE] == 'fire': - return 0 - elif weather == constants.HEAVY_RAIN and attacking_move[constants.TYPE] == 'water': - return 1.5 - elif weather == constants.DESOLATE_LAND and attacking_move[constants.TYPE] == 'water': - return 0 - elif weather == constants.DESOLATE_LAND and attacking_move[constants.TYPE] == 'fire': - return 1.5 - return 1 - - -def stab_modifier(attacking_pokemon, attacking_move): - if attacking_move[constants.TYPE] in [t for t in attacking_pokemon.types]: - if ( - attacking_pokemon.terastallized and - attacking_pokemon.types[0] in pokedex[attacking_pokemon.id][constants.TYPES] - ): - return 2 - else: - return 1.5 - - elif ( - attacking_pokemon.terastallized and - attacking_move[constants.TYPE] in pokedex[attacking_pokemon.id][constants.TYPES] - ): - return 1.5 - - return 1 - - -def burn_modifier(attacking_pokemon, attacking_move): - if constants.BURN == attacking_pokemon.status and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - return 0.5 - return 1 - - -def light_screen_modifier(attacking_move, light_screen): - if light_screen and attacking_move[constants.CATEGORY] == constants.SPECIAL: - return 0.5 - return 1 - - -def reflect_modifier(attacking_move, reflect): - if reflect and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - return 0.5 - return 1 - - -def aurora_veil_modifier(aurora_veil): - if aurora_veil: - return 0.5 - return 1 - - -def terrain_modifier(attacker, defender, attacking_move, terrain): - if terrain == constants.ELECTRIC_TERRAIN and attacking_move[constants.TYPE] == 'electric' and attacker.is_grounded(): - return TERRAIN_DAMAGE_BOOST - elif terrain == constants.GRASSY_TERRAIN and attacking_move[constants.TYPE] == 'grass' and attacker.is_grounded(): - return TERRAIN_DAMAGE_BOOST - elif terrain == constants.GRASSY_TERRAIN and attacking_move[constants.ID] == 'earthquake': - return 0.5 - elif terrain == constants.MISTY_TERRAIN and attacking_move[constants.TYPE] == 'dragon' and defender.is_grounded(): - return 0.5 - elif terrain == constants.PSYCHIC_TERRAIN and attacking_move[constants.TYPE] == 'psychic' and attacker.is_grounded(): - return TERRAIN_DAMAGE_BOOST - elif terrain == constants.PSYCHIC_TERRAIN and attacking_move[constants.PRIORITY] > 0 and defender.is_grounded(): - return 0 - return 1 - - -def volatile_status_modifier(attacking_move, attacker, defender): - modifier = 1 - if 'magnetrise' in defender.volatile_status and attacking_move[constants.TYPE] == 'ground' and attacking_move[constants.ID] != 'thousandarrows': - modifier *= 0 - if 'flashfire' in attacker.volatile_status and attacking_move[constants.TYPE] == 'fire': - modifier *= 1.5 - if 'tarshot' in defender.volatile_status and attacking_move[constants.TYPE] == 'fire': - modifier *= 2 - if 'phantomforce' in defender.volatile_status: - modifier *= 0 - if 'shadowforce' in defender.volatile_status: - modifier *= 0 - if ( - 'dive' in defender.volatile_status and - attacker.ability != "noguard" and - defender.ability != "noguard" and - attacking_move[constants.ID] not in [ - "surf", "whirlpool" - ] - ): - modifier *= 0 - if ( - 'dig' in defender.volatile_status and - attacker.ability != "noguard" and - defender.ability != "noguard" and - attacking_move[constants.ID] not in [ - "earthquake", "magnitude", "fissure" - ] - ): - modifier *= 0 - if ( - ( - "fly" in defender.volatile_status or - "bounce" in defender.volatile_status - ) and - attacker.ability != "noguard" and - defender.ability != "noguard" and - attacking_move[constants.ID] not in [ - "gust", "thunder", "twister", "skyuppercut", "hurricane", "thousandarrows", "smackdown" - ] - ): - modifier *= 0 - if 'glaiverush' in defender.volatile_status: - modifier *= 2 - if any(vs in attacker.volatile_status for vs in ['quarkdriveatk', "protosynthesisatk"]) and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - modifier *= 1.3 - if any(vs in attacker.volatile_status for vs in ['quarkdrivespa', "protosynthesisspa"]) and attacking_move[constants.CATEGORY] == constants.SPECIAL: - modifier *= 1.3 - if any(vs in defender.volatile_status for vs in ['quarkdrivedef', "protosynthesisdef"]) and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - modifier *= (1/1.3) - if any(vs in defender.volatile_status for vs in ['quarkdrivespd', "protosynthesisspd"]) and attacking_move[constants.CATEGORY] == constants.SPECIAL: - modifier *= (1/1.3) - return modifier - - -def calculate_damage(state, attacking_side_string, attacking_move, defending_move, calc_type='average'): - # a wrapper for `_calculate_damage` that takes into account move/item/ability special-effects - from showdown.engine.find_state_instructions import update_attacking_move - from showdown.engine.find_state_instructions import user_moves_first - - attacking_move_dict = get_move(attacking_move) - if defending_move.startswith(constants.SWITCH_STRING + " "): - defending_move_dict = {constants.SWITCH_STRING: defending_move.split(constants.SWITCH_STRING)[-1]} - else: - defending_move_dict = get_move(defending_move) - - if attacking_side_string == constants.USER: - attacking_side = state.user - defending_side = state.opponent - elif attacking_side_string == constants.OPPONENT: - attacking_side = state.opponent - defending_side = state.user - else: - raise ValueError("attacking_side_string must be one of: ['self', 'opponent']") - - conditions = { - constants.REFLECT: defending_side.side_conditions[constants.REFLECT], - constants.LIGHT_SCREEN: defending_side.side_conditions[constants.LIGHT_SCREEN], - constants.AURORA_VEIL: defending_side.side_conditions[constants.AURORA_VEIL], - constants.WEATHER: state.weather, - constants.TERRAIN: state.field - } - - attacker_moves_first = user_moves_first(state, attacking_move_dict, defending_move_dict) - - if constants.CHARGE in attacking_move_dict[constants.FLAGS]: - attacking_move_dict = attacking_move_dict.copy() - # a charge move doesn't need to charge when only calculating damage - attacking_move_dict[constants.FLAGS].pop(constants.CHARGE, None) - - attacking_move_dict = update_attacking_move( - attacking_side, - attacking_side.active, - defending_side.active, - attacking_move_dict, - defending_move_dict, - attacker_moves_first, - state.weather, - state.field - ) - - return _calculate_damage(attacking_side.active, defending_side.active, attacking_move_dict, conditions=conditions, calc_type=calc_type) - - -def calculate_futuresight_damage(state, attacking_side_string, future_sight_user, calc_type='average'): - if attacking_side_string == constants.USER: - attacking_side = state.user - defending_side = state.opponent - else: - attacking_side = state.opponent - defending_side = state.user - - if attacking_side.active.id == future_sight_user: - attacker = attacking_side.active - else: - attacker = attacking_side.reserve[future_sight_user] - - defender = defending_side.active - - attacking_move_dict = { - "accuracy": 100, - "basePower": 120, - "category": "special", - "flags": {}, - "id": "futuresight", - "name": "Future Sight", - "priority": 0, - "secondary": False, - "target": "normal", - "type": "psychic", - "pp": 10 - } - - conditions = { - constants.REFLECT: defending_side.side_conditions[constants.REFLECT], - constants.LIGHT_SCREEN: defending_side.side_conditions[constants.LIGHT_SCREEN], - constants.AURORA_VEIL: defending_side.side_conditions[constants.AURORA_VEIL], - constants.WEATHER: state.weather, - constants.TERRAIN: state.field - } - - return _calculate_damage( - attacker, - defender, - attacking_move_dict, - conditions=conditions, - calc_type=calc_type - ) diff --git a/showdown/engine/evaluate.py b/showdown/engine/evaluate.py deleted file mode 100644 index d835cf003..000000000 --- a/showdown/engine/evaluate.py +++ /dev/null @@ -1,144 +0,0 @@ -import constants -from data import effectiveness - - -class Scoring: - POKEMON_ALIVE_STATIC = 75 - POKEMON_HP = 100 # 100 points for 100% hp, 0 points for 0% hp. This is in addition to being alive - POKEMON_HIDDEN = 10 - POKEMON_BOOSTS = { - constants.ATTACK: 15, - constants.DEFENSE: 15, - constants.SPECIAL_ATTACK: 15, - constants.SPECIAL_DEFENSE: 15, - constants.SPEED: 25, - constants.ACCURACY: 3, - constants.EVASION: 3 - } - - POKEMON_BOOST_DIMINISHING_RETURNS = { - -6: -3.3, - -5: -3.15, - -4: -3, - -3: -2.5, - -2: -2, - -1: -1, - 0: 0, - 1: 1, - 2: 2, - 3: 2.5, - 4: 3, - 5: 3.15, - 6: 3.30, - } - - POKEMON_STATIC_STATUSES = { - constants.FROZEN: -40, - constants.SLEEP: -25, - constants.PARALYZED: -25, - constants.TOXIC: -30, - constants.POISON: -10, - None: 0 - } - - MATCHUP_BONUS = 20 - - @staticmethod - def BURN(burn_multiplier): - return -25*burn_multiplier - - POKEMON_VOLATILE_STATUSES = { - constants.LEECH_SEED: -30, - constants.SUBSTITUTE: 40, - constants.CONFUSION: -20 - } - - STATIC_SCORED_SIDE_CONDITIONS = { - constants.REFLECT: 20, - constants.STICKY_WEB: -25, - constants.LIGHT_SCREEN: 20, - constants.AURORA_VEIL: 40, - constants.SAFEGUARD: 5, - constants.TAILWIND: 7, - } - - POKEMON_COUNT_SCORED_SIDE_CONDITIONS = { - constants.STEALTH_ROCK: -10, - constants.SPIKES: -7, - constants.TOXIC_SPIKES: -7, - } - - -def evaluate_pokemon(pkmn): - score = 0 - if pkmn.hp <= 0: - return score - - score += Scoring.POKEMON_ALIVE_STATIC - score += Scoring.POKEMON_HP * (float(pkmn.hp) / pkmn.maxhp) - - # boosts have diminishing returns - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.attack_boost] * Scoring.POKEMON_BOOSTS[constants.ATTACK] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.defense_boost] * Scoring.POKEMON_BOOSTS[constants.DEFENSE] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.special_attack_boost] * Scoring.POKEMON_BOOSTS[constants.SPECIAL_ATTACK] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.special_defense_boost] * Scoring.POKEMON_BOOSTS[constants.SPECIAL_DEFENSE] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.speed_boost] * Scoring.POKEMON_BOOSTS[constants.SPEED] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.accuracy_boost] * Scoring.POKEMON_BOOSTS[constants.ACCURACY] - score += Scoring.POKEMON_BOOST_DIMINISHING_RETURNS[pkmn.evasion_boost] * Scoring.POKEMON_BOOSTS[constants.EVASION] - - try: - score += Scoring.POKEMON_STATIC_STATUSES[pkmn.status] - except KeyError: - # KeyError only happens when the status is BURN - score += Scoring.BURN(pkmn.burn_multiplier) - - for vol_stat in pkmn.volatile_status: - try: - score += Scoring.POKEMON_VOLATILE_STATUSES[vol_stat] - except KeyError: - pass - - return round(score) - - -def evaluate(state): - score = 0 - - number_of_opponent_reserve_revealed = len(state.opponent.reserve) + 1 - bot_alive_reserve_count = len([p.hp for p in state.user.reserve.values() if p.hp > 0]) - opponent_alive_reserves_count = len([p for p in state.opponent.reserve.values() if p.hp > 0]) + (6-number_of_opponent_reserve_revealed) - - # evaluate the bot's pokemon - score += evaluate_pokemon(state.user.active) - for pkmn in state.user.reserve.values(): - this_pkmn_score = evaluate_pokemon(pkmn) - score += this_pkmn_score - - # evaluate the opponent's visible pokemon - score -= evaluate_pokemon(state.opponent.active) - for pkmn in state.opponent.reserve.values(): - this_pkmn_score = evaluate_pokemon(pkmn) - score -= this_pkmn_score - - # evaluate the side-conditions for the bot - for condition, count in state.user.side_conditions.items(): - if condition in Scoring.STATIC_SCORED_SIDE_CONDITIONS: - score += count * Scoring.STATIC_SCORED_SIDE_CONDITIONS[condition] - elif condition in Scoring.POKEMON_COUNT_SCORED_SIDE_CONDITIONS: - score += count * Scoring.POKEMON_COUNT_SCORED_SIDE_CONDITIONS[condition] * bot_alive_reserve_count - - # evaluate the side-conditions for the opponent - for condition, count in state.opponent.side_conditions.items(): - if condition in Scoring.STATIC_SCORED_SIDE_CONDITIONS: - score -= count * Scoring.STATIC_SCORED_SIDE_CONDITIONS[condition] - elif condition in Scoring.POKEMON_COUNT_SCORED_SIDE_CONDITIONS: - score -= count * Scoring.POKEMON_COUNT_SCORED_SIDE_CONDITIONS[condition] * opponent_alive_reserves_count - - try: - matchup_score = Scoring.MATCHUP_BONUS * effectiveness[state.user.active.id][state.opponent.active.id] - matchup_score -= Scoring.MATCHUP_BONUS * effectiveness[state.opponent.active.id][state.user.active.id] - score += matchup_score - except KeyError: - pass - - return int(score) diff --git a/showdown/engine/find_state_instructions.py b/showdown/engine/find_state_instructions.py deleted file mode 100644 index 8dc1a825e..000000000 --- a/showdown/engine/find_state_instructions.py +++ /dev/null @@ -1,497 +0,0 @@ -from copy import copy - -import constants -from config import ShowdownConfig -from data import all_move_json - -from . import instruction_generator -from .damage_calculator import _calculate_damage -from .objects import TransposeInstruction -from .special_effects.abilities.modify_attack_against import ability_modify_attack_against -from .special_effects.abilities.modify_attack_being_used import ability_modify_attack_being_used -from .special_effects.items.modify_attack_against import item_modify_attack_against -from .special_effects.items.modify_attack_being_used import item_modify_attack_being_used -from .special_effects.moves.modify_move import modify_attack_being_used -from .special_effects.abilities.before_move import ability_before_move -from .switch_out_moves import switch_out_move_triggered -from .switch_out_moves import get_best_switch_pokemon - - -def lookup_move(move_name): - if move_name.startswith(constants.SWITCH_STRING + " "): - split_move = move_name.split(" ") - assert len(split_move) == 2, "Invalid switch string: {}".format(split_move) - return { - constants.SWITCH_STRING: split_move[1] - } - - return all_move_json[move_name.lower()] - - -def get_effective_speed(state, side): - boosted_speed = side.active.calculate_boosted_stats()[constants.SPEED] - - if state.weather == constants.SUN and side.active.ability == 'chlorophyll': - boosted_speed *= 2 - elif state.weather == constants.RAIN and side.active.ability == 'swiftswim': - boosted_speed *= 2 - elif state.weather == constants.SAND and side.active.ability == 'sandrush': - boosted_speed *= 2 - elif state.weather in constants.HAIL_OR_SNOW and side.active.ability == 'slushrush': - boosted_speed *= 2 - - if state.field == constants.ELECTRIC_TERRAIN and side.active.ability == 'surgesurfer': - boosted_speed *= 2 - - if side.active.ability == 'unburden' and not side.active.item: - boosted_speed *= 2 - elif side.active.ability == 'quickfeet' and side.active.status is not None: - boosted_speed *= 1.5 - - if side.side_conditions[constants.TAILWIND]: - boosted_speed *= 2 - - if 'choicescarf' == side.active.item: - boosted_speed *= 1.5 - - if constants.PARALYZED == side.active.status and side.active.ability != 'quickfeet': - boosted_speed *= 0.5 - - if any(vs in side.active.volatile_status for vs in ["quarkdrivespe", "protosynthesisspe"]): - boosted_speed *= 1.5 - - return int(boosted_speed) - - -def get_effective_priority(side, move, field): - priority = move[constants.PRIORITY] - if side.active.ability == 'prankster' and move[constants.CATEGORY] == constants.STATUS: - priority += 1 - elif side.active.ability == 'galewings' and (side.active.hp == side.active.maxhp) and ('flying' in move[constants.TYPE]): - priority += 1 - elif side.active.ability == 'triage' and constants.HEAL in move[constants.FLAGS]: - priority += 3 - elif field == constants.GRASSY_TERRAIN and move[constants.ID] == 'grassyglide': - priority += 1 - - return priority - - -def user_moves_first(state, user_move, opponent_move): - user_effective_speed = get_effective_speed(state, state.user) - opponent_effective_speed = get_effective_speed(state, state.opponent) - - # both users selected a switch - if constants.SWITCH_STRING in user_move and constants.SWITCH_STRING in opponent_move: - return user_effective_speed > opponent_effective_speed - - # user selected a switch - elif constants.SWITCH_STRING in user_move: - if opponent_move[constants.ID] == 'pursuit': - return False - return True - - # opponent selected a switch - elif constants.SWITCH_STRING in opponent_move: - if user_move[constants.ID] == 'pursuit': - return True - return False - - user_priority = get_effective_priority(state.user, user_move, state.field) - opponent_priority = get_effective_priority(state.opponent, opponent_move, state.field) - - if user_priority == opponent_priority: - user_is_faster = user_effective_speed > opponent_effective_speed - if state.trick_room: - return not user_is_faster - else: - return user_is_faster - - if user_priority > opponent_priority: - return True - else: - return False - - -def update_attacking_move(attacking_side, attacking_pokemon, defending_pokemon, attacking_move, defending_move, first_move, weather, terrain): - # update the attacking move based on certain special-effects: - # - abilities - # - items - # - protect - - attacking_move = modify_attack_being_used( - attacking_side, - attacking_move, - defending_move, - attacking_pokemon, - defending_pokemon, - first_move, - weather, - terrain - ) - - attacking_move = ability_modify_attack_being_used( - attacking_pokemon.ability, - attacking_move, - defending_move, - attacking_pokemon, - defending_pokemon, - first_move, - weather - ) - - attacking_move = item_modify_attack_being_used( - attacking_pokemon.item, - attacking_move, - attacking_pokemon, - defending_pokemon - ) - - attacking_move = ability_modify_attack_against( - defending_pokemon.ability, - attacking_move, - attacking_pokemon, - defending_pokemon - ) - - attacking_move = item_modify_attack_against( - defending_pokemon.item, - attacking_move, - attacking_pokemon, - defending_pokemon - ) - - if constants.CHARGE in attacking_move[constants.FLAGS] and attacking_move[constants.ID] not in attacking_pokemon.volatile_status: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.HEAL] = None - attacking_move[constants.VOLATILE_STATUS] = attacking_move[constants.ID] - attacking_move[constants.TARGET] = constants.SELF - attacking_move[constants.CATEGORY] = constants.STATUS - - if ( - constants.PROTECT in attacking_move[constants.FLAGS] and - any(vs in constants.PROTECT_VOLATILE_STATUSES for vs in defending_pokemon.volatile_status) and - not (attacking_pokemon.ability == 'unseenfist' and constants.CONTACT in attacking_move[constants.FLAGS]) - ): - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = False - if constants.BANEFUL_BUNKER in defending_pokemon.volatile_status and constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move[constants.ACCURACY] = True - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.STATUS] = constants.POISON - attacking_move[constants.TARGET] = constants.SELF - if constants.CRASH in attacking_move: - attacking_move[constants.HEAL_TARGET] = constants.SELF - attacking_move[constants.HEAL] = [-1*attacking_move[constants.CRASH][0], attacking_move[constants.CRASH][1]] - elif constants.SPIKY_SHIELD in defending_pokemon.volatile_status and constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move[constants.ACCURACY] = True - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.STATUS] = None - attacking_move[constants.HEAL_TARGET] = constants.SELF - attacking_move[constants.HEAL] = [-1, 8] - if constants.CRASH in attacking_move: - crash_percent = attacking_move[constants.CRASH][0] / attacking_move[constants.CRASH][1] - damage_decimal = -1*(crash_percent + 1/8) - attacking_move[constants.HEAL] = damage_decimal.as_integer_ratio() - elif constants.SILK_TRAP in defending_pokemon.volatile_status and constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move[constants.ACCURACY] = True - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = {constants.SPEED: -1} - attacking_move[constants.TARGET] = constants.SELF - if constants.CRASH in attacking_move: - attacking_move[constants.HEAL_TARGET] = constants.SELF - attacking_move[constants.HEAL] = [-1*attacking_move[constants.CRASH][0], attacking_move[constants.CRASH][1]] - - return attacking_move - - -def cannot_use_move(attacking_pokemon, attacking_move): - return constants.TAUNT in attacking_pokemon.volatile_status and attacking_move[constants.CATEGORY] not in constants.DAMAGING_CATEGORIES - - -def get_state_instructions_from_move(mutator, attacking_move, defending_move, attacker, defender, first_move, instructions): - instructions.frozen = False - - if constants.SWITCH_STRING in attacking_move: - return [instruction_generator.get_instructions_from_switch(mutator, attacker, attacking_move[constants.SWITCH_STRING], instructions)] - - # if you are moving second, but you got phased on the first turn, your move will do nothing - # this can happen if a move with equal priority to a phasing move (generally -6) is used by a slower pokemon and the faster pokemon uses a phasing move - if not first_move and constants.DRAG in defending_move.get(constants.FLAGS, {}): - return [instructions] - - mutator.apply(instructions.instructions) - attacking_side = instruction_generator.get_side_from_state(mutator.state, attacker) - defending_side = instruction_generator.get_side_from_state(mutator.state, defender) - attacking_pokemon = attacking_side.active - defending_pokemon = defending_side.active - active_weather = mutator.state.weather - - if cannot_use_move(attacking_pokemon, attacking_move): - attacking_move = lookup_move(constants.DO_NOTHING_MOVE) - - conditions = { - constants.REFLECT: defending_side.side_conditions[constants.REFLECT], - constants.LIGHT_SCREEN: defending_side.side_conditions[constants.LIGHT_SCREEN], - constants.AURORA_VEIL: defending_side.side_conditions[constants.AURORA_VEIL], - constants.WEATHER: active_weather, - constants.TERRAIN: mutator.state.field - } - - if attacking_pokemon.hp == 0: - # if the attacker is dead, remove the 'flinched' volatile-status if it has it and exit early - # this triggers if the pokemon moves second but the first attack knocked it out - instructions = instruction_generator.get_instructions_from_flinched(mutator, attacker, instructions) - mutator.reverse(instructions.instructions) - return [instructions] - - attacking_move = update_attacking_move( - attacking_side, - attacking_pokemon, - defending_pokemon, - attacking_move, - defending_move, - first_move, - mutator.state.weather, - mutator.state.field - ) - - instructions = instruction_generator.get_instructions_from_flinched(mutator, attacker, instructions) - - ability_before_move_instructions = ability_before_move( - attacking_pokemon.ability, - mutator.state, - attacker, - attacking_move, - attacking_pokemon, - defending_pokemon - ) - if ability_before_move_instructions is not None and not instructions.frozen: - mutator.apply(ability_before_move_instructions) - instructions.instructions += ability_before_move_instructions - - damage_amounts = None - move_status_effect = None - flinch_accuracy = None - boosts = None - boosts_target = None - boosts_chance = None - side_condition = None - hazard_clearing_move = None - volatile_status = attacking_move.get(constants.VOLATILE_STATUS) - - move_accuracy = min(100, attacking_move[constants.ACCURACY]) - move_status_accuracy = move_accuracy - - move_target = attacking_move[constants.TARGET] - if move_target == constants.SELF: - move_status_target = attacker - else: - move_status_target = defender - - if attacking_move[constants.ID] in constants.HAZARD_CLEARING_MOVES: - hazard_clearing_move = attacking_move - - # move is a damaging move - if attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - side_condition = attacking_move.get(constants.SIDE_CONDITIONS) - damage_amounts = _calculate_damage( - attacking_pokemon, - defending_pokemon, - attacking_move, - conditions=conditions, - calc_type=ShowdownConfig.damage_calc_type - ) - - attacking_move_secondary = attacking_move[constants.SECONDARY] - attacking_move_self = attacking_move.get(constants.SELF) - if attacking_move_secondary: - # flinching (iron head) - if attacking_move_secondary.get(constants.VOLATILE_STATUS) == constants.FLINCH and first_move: - flinch_accuracy = attacking_move_secondary.get(constants.CHANCE) - - # secondary status effects (thunderbolt paralyzing) - elif attacking_move_secondary.get(constants.STATUS) is not None: - move_status_effect = attacking_move_secondary[constants.STATUS] - move_status_accuracy = attacking_move_secondary[constants.CHANCE] - - # boosts from moves that boost in secondary (charge beam) - elif attacking_move_secondary.get(constants.SELF) is not None: - if constants.BOOSTS in attacking_move_secondary[constants.SELF]: - boosts = attacking_move_secondary[constants.SELF][constants.BOOSTS] - boosts_target = attacker - boosts_chance = attacking_move_secondary[constants.CHANCE] - - # boosts from secondary, but to the defender (crunch) - elif attacking_move_secondary and attacking_move_secondary.get(constants.BOOSTS) is not None: - boosts = attacking_move_secondary[constants.BOOSTS] - boosts_target = defender - boosts_chance = attacking_move_secondary[constants.CHANCE] - - # boosts from secondary, but it is a guaranteed boost (dracometeor) - elif attacking_move_self: - if constants.BOOSTS in attacking_move_self: - boosts = attacking_move_self[constants.BOOSTS] - boosts_target = attacker - boosts_chance = 100 - - # guaranteed boosts from a damaging move (none in the moves JSON but items/abilities can cause this) - elif constants.BOOSTS in attacking_move: - boosts = attacking_move[constants.BOOSTS] - boosts_target = attacker if attacking_move[constants.TARGET] in constants.MOVE_TARGET_SELF else defender - boosts_chance = 100 - - # move is a status move - else: - move_status_effect = attacking_move.get(constants.STATUS) - side_condition = attacking_move.get(constants.SIDE_CONDITIONS) - - # boosts from moves that only boost (dragon dance) - if attacking_move.get(constants.BOOSTS) is not None: - boosts = attacking_move[constants.BOOSTS] - boosts_target = attacker if attacking_move[constants.TARGET] in constants.MOVE_TARGET_SELF else defender - boosts_chance = attacking_move[constants.ACCURACY] - - mutator.reverse(instructions.instructions) - - all_instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, attacking_move, defending_move, instructions) - - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_move_special_effect(mutator, attacker, attacking_pokemon, defending_pokemon, attacking_move[constants.ID], instruction_set) - all_instructions = temp_instructions - - if damage_amounts is not None: - temp_instructions = [] - for instruction_set in all_instructions: - amount_of_damage_rolls = len(damage_amounts) - for dmg in damage_amounts: - these_instructions = copy(instruction_set) - these_instructions.update_percentage(1 / amount_of_damage_rolls) - temp_instructions += instruction_generator.get_instructions_from_damage(mutator, defender, dmg, move_accuracy, attacking_move, these_instructions) - all_instructions = temp_instructions - - if defending_pokemon.ability in constants.ABILITY_AFTER_MOVE: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_defenders_ability_after_move(mutator, attacking_move, defending_pokemon.ability, attacking_pokemon, attacker, instruction_set) - all_instructions = temp_instructions - - if side_condition is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_side_conditions(mutator, attacker, move_target, side_condition, instruction_set) - all_instructions = temp_instructions - - if hazard_clearing_move is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_hazard_clearing_moves(mutator, attacker, attacking_move, instruction_set) - all_instructions = temp_instructions - - if volatile_status is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, move_target, first_move, instruction_set) - all_instructions = temp_instructions - - if move_status_effect is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_status_effects(mutator, move_status_target, move_status_effect, move_status_accuracy, instruction_set) - all_instructions = temp_instructions - - if boosts is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_boosts(mutator, boosts_target, boosts, boosts_chance, instruction_set) - all_instructions = temp_instructions - - if attacking_move[constants.ID] in constants.BOOST_RESET_MOVES: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_boost_reset_moves(mutator, attacking_move, attacker, instruction_set) - all_instructions = temp_instructions - - if attacking_move.get(constants.HEAL) is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, attacking_move, instruction_set) - all_instructions = temp_instructions - - if flinch_accuracy is not None: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_flinching_moves(defender, flinch_accuracy, first_move, instruction_set) - all_instructions = temp_instructions - - if constants.DRAG in attacking_move[constants.FLAGS] and attacking_move[constants.ACCURACY]: - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_instructions_from_drag(mutator, attacker, move_target, instruction_set) - all_instructions = temp_instructions - - if switch_out_move_triggered(attacking_move, damage_amounts): - temp_instructions = [] - for i in all_instructions: - best_switch = get_best_switch_pokemon(mutator, i, attacker, attacking_side, defending_move, first_move) - if best_switch is not None: - temp_instructions.append(instruction_generator.get_instructions_from_switch(mutator, attacker, best_switch, i)) - else: - temp_instructions.append(i) - - all_instructions = temp_instructions - - return all_instructions - - -def remove_duplicate_instructions(list_of_instructions): - new_instructions = [list_of_instructions[0]] - for instruction_1 in list_of_instructions[1:]: - for instruction_2 in new_instructions: - if instruction_1.has_same_instructions_as(instruction_2): - instruction_2.percentage += instruction_1.percentage - break - else: - new_instructions.append(instruction_1) - - return new_instructions - - -def end_of_turn_triggered(user_move, opponent_move): - if user_move.startswith(constants.SWITCH_STRING + ' ') and opponent_move == constants.DO_NOTHING_MOVE: - return False - elif opponent_move.startswith(constants.SWITCH_STRING + ' ') and user_move == constants.DO_NOTHING_MOVE: - return False - - return True - - -def get_all_state_instructions(mutator, user_move_string, opponent_move_string): - user_move = lookup_move(user_move_string) - opponent_move = lookup_move(opponent_move_string) - - bot_moves_first = user_moves_first(mutator.state, user_move, opponent_move) - - instructions = TransposeInstruction(1.0, [], False) - - all_instructions = [] - if bot_moves_first: - instructions = get_state_instructions_from_move(mutator, user_move, opponent_move, constants.USER, constants.OPPONENT, True, instructions) - for instruction in instructions: - all_instructions += get_state_instructions_from_move(mutator, opponent_move, user_move, constants.OPPONENT, constants.USER, False, instruction) - else: - instructions = get_state_instructions_from_move(mutator, opponent_move, user_move, constants.OPPONENT, constants.USER, True, instructions) - for instruction in instructions: - all_instructions += get_state_instructions_from_move(mutator, user_move, opponent_move, constants.USER, constants.OPPONENT, False, instruction) - - if end_of_turn_triggered(user_move_string, opponent_move_string): - temp_instructions = [] - for instruction_set in all_instructions: - temp_instructions += instruction_generator.get_end_of_turn_instructions(mutator, instruction_set, user_move, opponent_move, bot_moves_first) - all_instructions = temp_instructions - - all_instructions = remove_duplicate_instructions(all_instructions) - - return all_instructions diff --git a/showdown/engine/helpers.py b/showdown/engine/helpers.py deleted file mode 100644 index 9bc73f68a..000000000 --- a/showdown/engine/helpers.py +++ /dev/null @@ -1,212 +0,0 @@ -import math -import constants - -from data import all_move_json - - -natures = { - 'lonely': { - 'plus': constants.ATTACK, - 'minus': constants.DEFENSE - }, - 'adamant': { - 'plus': constants.ATTACK, - 'minus': constants.SPECIAL_ATTACK - }, - 'naughty': { - 'plus': constants.ATTACK, - 'minus': constants.SPECIAL_DEFENSE - }, - 'brave': { - 'plus': constants.ATTACK, - 'minus': constants.SPEED - }, - 'bold': { - 'plus': constants.DEFENSE, - 'minus': constants.ATTACK - }, - 'impish': { - 'plus': constants.DEFENSE, - 'minus': constants.SPECIAL_ATTACK - }, - 'lax': { - 'plus': constants.DEFENSE, - 'minus': constants.SPECIAL_DEFENSE - }, - 'relaxed': { - 'plus': constants.DEFENSE, - 'minus': constants.SPEED - }, - 'modest': { - 'plus': constants.SPECIAL_ATTACK, - 'minus': constants.ATTACK - }, - 'mild': { - 'plus': constants.SPECIAL_ATTACK, - 'minus': constants.DEFENSE - }, - 'rash': { - 'plus': constants.SPECIAL_ATTACK, - 'minus': constants.SPECIAL_DEFENSE - }, - 'quiet': { - 'plus': constants.SPECIAL_ATTACK, - 'minus': constants.SPEED - }, - 'calm': { - 'plus': constants.SPECIAL_DEFENSE, - 'minus': constants.ATTACK - }, - 'gentle': { - 'plus': constants.SPECIAL_DEFENSE, - 'minus': constants.DEFENSE - }, - 'careful': { - 'plus': constants.SPECIAL_DEFENSE, - 'minus': constants.SPECIAL_ATTACK - }, - 'sassy': { - 'plus': constants.SPECIAL_DEFENSE, - 'minus': constants.SPEED - }, - 'timid': { - 'plus': constants.SPEED, - 'minus': constants.ATTACK - }, - 'hasty': { - 'plus': constants.SPEED, - 'minus': constants.DEFENSE - }, - 'jolly': { - 'plus': constants.SPEED, - 'minus': constants.SPECIAL_ATTACK - }, - 'naive': { - 'plus': constants.SPEED, - 'minus': constants.SPECIAL_DEFENSE - }, -} - - -def get_pokemon_info_from_condition(condition_string: str): - if constants.FNT in condition_string: - return 0, 0, None - - split_string = condition_string.split("/") - hp = int(split_string[0]) - if any(s in condition_string for s in constants.NON_VOLATILE_STATUSES): - maxhp, status = split_string[1].split(' ') - maxhp = int(maxhp) - return hp, maxhp, status - else: - maxhp = int(split_string[1]) - return hp, maxhp, None - - -def normalize_name(name): - return name\ - .replace(" ", "")\ - .replace("-", "")\ - .replace(".", "")\ - .replace("\'", "")\ - .replace("%", "")\ - .replace("*", "")\ - .replace(":", "")\ - .strip()\ - .lower()\ - .encode('ascii', 'ignore')\ - .decode('utf-8') - - -def set_makes_sense(nature, spread, item, ability, moves): - if item in constants.CHOICE_ITEMS and any(all_move_json[m.name][constants.CATEGORY] not in constants.DAMAGING_CATEGORIES and m.name != 'trick' for m in moves): - return False - return True - - -def spreads_are_alike(s1, s2): - if s1[0] != s2[0]: - return False - - s1 = [int(v) for v in s1[1].split(',')] - s2 = [int(v) for v in s2[1].split(',')] - - diff = [abs(i-j) for i, j in zip(s1, s2)] - - # 24 is arbitrarily chosen as the threshold for EVs to be "alike" - return all(v < 24 for v in diff) - - -def remove_duplicate_spreads(list_of_spreads): - new_spreads = list() - - for s1 in list_of_spreads: - if not any(spreads_are_alike(s1, s2) for s2 in new_spreads): - new_spreads.append(s1) - - return new_spreads - - -def update_stats_from_nature(stats, nature): - new_stats = stats.copy() - try: - new_stats[natures[nature]['plus']] *= 1.1 - new_stats[natures[nature]['minus']] /= 1.1 - except KeyError: - pass - - return new_stats - - -def common_pkmn_stat_calc(stat: int, iv: int, ev: int, level: int): - return math.floor(((2 * stat + iv + math.floor(ev / 4)) * level) / 100) - - -def calculate_stats(base_stats, level, ivs=(31,) * 6, evs=(85,) * 6, nature='serious'): - new_stats = dict() - - new_stats[constants.HITPOINTS] = common_pkmn_stat_calc( - base_stats[constants.HITPOINTS], - ivs[0], - evs[0], - level - ) + level + 10 - - new_stats[constants.ATTACK] = common_pkmn_stat_calc( - base_stats[constants.ATTACK], - ivs[1], - evs[1], - level - ) + 5 - - new_stats[constants.DEFENSE] = common_pkmn_stat_calc( - base_stats[constants.DEFENSE], - ivs[2], - evs[2], - level - ) + 5 - - new_stats[constants.SPECIAL_ATTACK] = common_pkmn_stat_calc( - base_stats[constants.SPECIAL_ATTACK], - ivs[3], - evs[3], - level - ) + 5 - - new_stats[constants.SPECIAL_DEFENSE] = common_pkmn_stat_calc( - base_stats[constants.SPECIAL_DEFENSE], - ivs[4], - evs[4], - level - ) + 5 - - new_stats[constants.SPEED] = common_pkmn_stat_calc( - base_stats[constants.SPEED], - ivs[5], - evs[5], - level - ) + 5 - - new_stats = update_stats_from_nature(new_stats, nature) - new_stats = {k: int(v) for k, v in new_stats.items()} - return new_stats diff --git a/showdown/engine/instruction_generator.py b/showdown/engine/instruction_generator.py deleted file mode 100644 index 2d942c5e5..000000000 --- a/showdown/engine/instruction_generator.py +++ /dev/null @@ -1,1382 +0,0 @@ -from copy import copy - -import constants -import logging - -from .damage_calculator import type_effectiveness_modifier -from .special_effects.abilities.on_switch_in import ability_on_switch_in -from .special_effects.items.on_switch_in import item_on_switch_in -from .special_effects.items.end_of_turn import item_end_of_turn -from .special_effects.abilities.end_of_turn import ability_end_of_turn -from .special_effects.moves.after_move import after_move -from .special_effects.moves import move_special_effect - -logger = logging.getLogger(__name__) - - -opposite_side = { - constants.USER: constants.OPPONENT, - constants.OPPONENT: constants.USER -} - - -same_side_strings = [ - constants.SELF, - constants.ALLY_SIDE -] - - -opposing_side_strings = [ - constants.NORMAL, - constants.OPPONENT, - constants.FOESIDE, - constants.ALL_ADJACENT_FOES, - constants.ALL_ADJACENT, - constants.ALL, -] - - -accuracy_multiplier_lookup = { - -6: 3/9, - -5: 3/8, - -4: 3/7, - -3: 3/6, - -2: 3/5, - -1: 3/4, - 0: 3/3, - 1: 4/3, - 2: 5/3, - 3: 6/3, - 4: 7/3, - 5: 8/3, - 6: 9/3 -} - - - - - -def get_instructions_from_move_special_effect(mutator, attacking_side, attacking_pokemon, defending_pokemon, move_name, instructions): - if instructions.frozen: - return [instructions] - - try: - special_logic_move_function = getattr(move_special_effect, move_name) - except AttributeError: - new_instructions = list() - else: - mutator.apply(instructions.instructions) - new_instructions = special_logic_move_function(mutator, attacking_side, get_side_from_state(mutator.state, attacking_side), attacking_pokemon, defending_pokemon) - new_instructions = new_instructions or list() - mutator.reverse(instructions.instructions) - - for i in new_instructions: - instructions.add_instruction(i) - - return [instructions] - - -def get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, affected_side, first_move, instruction): - if instruction.frozen or not volatile_status: - return [instruction] - - if affected_side in same_side_strings: - affected_side = attacker - elif affected_side in opposing_side_strings: - affected_side = opposite_side[attacker] - else: - logger.critical("Invalid affected_side: {}".format(affected_side)) - return [instruction] - - side = get_side_from_state(mutator.state, affected_side) - mutator.apply(instruction.instructions) - if volatile_status in side.active.volatile_status: - mutator.reverse(instruction.instructions) - return [instruction] - - if can_be_volatile_statused(side, volatile_status, first_move) and volatile_status not in side.active.volatile_status: - apply_status_instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - affected_side, - volatile_status - ) - mutator.reverse(instruction.instructions) - instruction.add_instruction(apply_status_instruction) - if volatile_status == constants.SUBSTITUTE: - instruction.add_instruction( - ( - constants.MUTATOR_DAMAGE, - affected_side, - side.active.maxhp * 0.25 - ) - ) - else: - mutator.reverse(instruction.instructions) - - return [instruction] - - -def get_instructions_from_switch(mutator, attacker, switch_pokemon_name, instructions): - if attacker not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - attacking_side = get_side_from_state(mutator.state, attacker) - defending_side = get_side_from_state(mutator.state, opposite_side[attacker]) - mutator.apply(instructions.instructions) - instruction_additions = remove_volatile_status_and_boosts_instructions(attacking_side, attacker) - mutator.apply(instruction_additions) - - for move in filter(lambda x: x[constants.DISABLED] is True and x[constants.CURRENT_PP], attacking_side.active.moves): - remove_disabled_instruction = ( - constants.MUTATOR_ENABLE_MOVE, - attacker, - move[constants.ID] - ) - mutator.apply_one(remove_disabled_instruction) - instruction_additions.append(remove_disabled_instruction) - - if attacking_side.active.ability == 'regenerator' and attacking_side.active.hp: - hp_missing = attacking_side.active.maxhp - attacking_side.active.hp - regenerator_instruction = ( - constants.MUTATOR_HEAL, - attacker, - int(min(1 / 3 * attacking_side.active.maxhp, hp_missing)) - ) - mutator.apply_one(regenerator_instruction) - instruction_additions.append(regenerator_instruction) - elif attacking_side.active.ability == 'naturalcure' and attacking_side.active.status is not None: - naturalcure_instruction = ( - constants.MUTATOR_REMOVE_STATUS, - attacker, - attacking_side.active.status - ) - mutator.apply_one(naturalcure_instruction) - instruction_additions.append(naturalcure_instruction) - - switch_instruction = ( - constants.MUTATOR_SWITCH, - attacker, - attacking_side.active.id, - switch_pokemon_name - ) - mutator.apply_one(switch_instruction) - instruction_additions.append(switch_instruction) - - switch_pkmn = attacking_side.active - if switch_pkmn.item != 'heavydutyboots': - - # account for stealth rock damage - if attacking_side.side_conditions[constants.STEALTH_ROCK] == 1: - multiplier = type_effectiveness_modifier('rock', switch_pkmn.types) - stealth_rock_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - min(1 / 8 * multiplier * switch_pkmn.maxhp, switch_pkmn.hp) - ) - mutator.apply_one(stealth_rock_instruction) - instruction_additions.append(stealth_rock_instruction) - - # account for spikes damage - if attacking_side.side_conditions[constants.SPIKES] > 0 and switch_pkmn.is_grounded(): - spike_count = attacking_side.side_conditions[constants.SPIKES] - spikes_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - min(1 / 8 * spike_count * switch_pkmn.maxhp, switch_pkmn.hp) - ) - mutator.apply_one(spikes_instruction) - instruction_additions.append(spikes_instruction) - - # account for stickyweb speed drop - if attacking_side.side_conditions[constants.STICKY_WEB] == 1 and switch_pkmn.is_grounded() and switch_pkmn.ability not in constants.IMMUNE_TO_STAT_LOWERING_ABILITIES: - sticky_web_instruction = ( - constants.MUTATOR_UNBOOST, - attacker, - constants.SPEED, - 1 - ) - mutator.apply_one(sticky_web_instruction) - instruction_additions.append(sticky_web_instruction) - - # account for toxic spikes effect - if attacking_side.side_conditions[constants.TOXIC_SPIKES] >= 1 and switch_pkmn.is_grounded(): - toxic_spike_instruction = None - if not immune_to_status(mutator.state, switch_pkmn, switch_pkmn, constants.POISON): - if attacking_side.side_conditions[constants.TOXIC_SPIKES] == 1: - toxic_spike_instruction = ( - constants.MUTATOR_APPLY_STATUS, - attacker, - constants.POISON - ) - elif attacking_side.side_conditions[constants.TOXIC_SPIKES] == 2: - toxic_spike_instruction = ( - constants.MUTATOR_APPLY_STATUS, - attacker, - constants.TOXIC - ) - elif 'poison' in switch_pkmn.types: - toxic_spike_instruction = ( - constants.MUTATOR_SIDE_END, - attacker, - constants.TOXIC_SPIKES, - attacking_side.side_conditions[constants.TOXIC_SPIKES] - ) - if toxic_spike_instruction is not None: - mutator.apply_one(toxic_spike_instruction) - instruction_additions.append(toxic_spike_instruction) - - # account for switch-in abilities - ability_switch_in_instructions = ability_on_switch_in( - switch_pkmn.ability, - mutator.state, - attacker, - attacking_side.active, - opposite_side[attacker], - defending_side.active - ) - if ability_switch_in_instructions is not None: - for i in ability_switch_in_instructions: - mutator.apply_one(i) - instruction_additions.append(i) - - # account for switch-in items - item_switch_in_instructions = item_on_switch_in( - switch_pkmn.item, - mutator.state, - attacker, - attacking_side.active, - opposite_side[attacker], - defending_side.active - ) - if item_switch_in_instructions is not None: - for i in item_switch_in_instructions: - mutator.apply_one(i) - instruction_additions.append(i) - - mutator.reverse(instruction_additions) - mutator.reverse(instructions.instructions) - for i in instruction_additions: - instructions.add_instruction(i) - - return instructions - - -def get_instructions_from_flinched(mutator, attacker, instruction): - """If the attacker has been flinched, freeze the state so that nothing happens""" - if attacker not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - side = get_side_from_state(mutator.state, attacker) - if constants.FLINCH in side.active.volatile_status: - remove_flinch_instruction = ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - attacker, - constants.FLINCH - ) - mutator.apply_one(remove_flinch_instruction) - instruction.add_instruction(remove_flinch_instruction) - instruction.frozen = True - return instruction - else: - return instruction - - -def get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, move, opponent_move, instruction): - instructions = [instruction] - attacker_side = get_side_from_state(mutator.state, attacker) - defender_side = get_side_from_state(mutator.state, defender) - - mutator.apply(instruction.instructions) - - if constants.PARALYZED == attacker_side.active.status: - fully_paralyzed_instruction = copy(instruction) - fully_paralyzed_instruction.update_percentage(constants.FULLY_PARALYZED_PERCENT) - fully_paralyzed_instruction.frozen = True - instruction.update_percentage(1 - constants.FULLY_PARALYZED_PERCENT) - instructions.append(fully_paralyzed_instruction) - - elif constants.SLEEP == attacker_side.active.status: - still_asleep_instruction = copy(instruction) - still_asleep_instruction.update_percentage(1 - constants.WAKE_UP_PERCENT) - still_asleep_instruction.frozen = True - instruction.update_percentage(constants.WAKE_UP_PERCENT) - instruction.add_instruction( - ( - constants.MUTATOR_REMOVE_STATUS, - attacker, - constants.SLEEP - ) - ) - instructions.append(still_asleep_instruction) - - elif constants.FROZEN == attacker_side.active.status: - still_frozen_instruction = copy(instruction) - instruction.add_instruction( - ( - constants.MUTATOR_REMOVE_STATUS, - attacker, - constants.FROZEN - ) - ) - if move[constants.ID] not in constants.THAW_IF_USES and opponent_move.get(constants.ID) not in constants.THAW_IF_HIT_BY and opponent_move.get(constants.TYPE) != 'fire': - still_frozen_instruction.update_percentage(1 - constants.THAW_PERCENT) - still_frozen_instruction.frozen = True - instruction.update_percentage(constants.THAW_PERCENT) - instructions.append(still_frozen_instruction) - - if constants.POWDER in move[constants.FLAGS] and ('grass' in defender_side.active.types or defender_side.active.ability == 'overcoat'): - instruction.frozen = True - - if move[constants.TYPE] == 'electric' and 'ground' in defender_side.active.types: - instruction.frozen = True - - mutator.reverse(instruction.instructions) - - return instructions - - -def get_instructions_from_damage(mutator, defender, damage, accuracy, attacking_move, instruction): - attacker = opposite_side[defender] - attacker_side = get_side_from_state(mutator.state, attacker) - damage_side = get_side_from_state(mutator.state, defender) - - # `damage is None` means that the move does not deal damage - # for example, will-o-wisp - if instruction.frozen or damage is None: - return [instruction] - - crash = attacking_move.get(constants.CRASH) - recoil = attacking_move.get(constants.RECOIL) - drain = attacking_move.get(constants.DRAIN) - move_flags = attacking_move.get(constants.FLAGS, {}) - - mutator.apply(instruction.instructions) - - if accuracy is True or "glaiverush" in damage_side.active.volatile_status: - accuracy = 100 - else: - accuracy = min(100, accuracy * accuracy_multiplier_lookup[attacker_side.active.accuracy_boost] / accuracy_multiplier_lookup[damage_side.active.evasion_boost]) - percent_hit = accuracy / 100 - - # `damage == 0` means that the move deals damage, but not in this situation - # for example: using Return against a Ghost-type - # the state must be frozen because any secondary effects must not take place - if damage == 0: - if crash: - crash_percent = crash[0] / crash[1] - crash_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - min(int(crash_percent * attacker_side.active.maxhp), attacker_side.active.hp) - ) - mutator.reverse(instruction.instructions) - instruction.add_instruction(crash_instruction) - else: - mutator.reverse(instruction.instructions) - instruction.frozen = True - return [instruction] - - if defender not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - instructions = [] - instruction_additions = [] - move_missed_instruction = copy(instruction) - hit_sub = False - if percent_hit > 0: - if constants.SUBSTITUTE in damage_side.active.volatile_status and constants.SOUND not in move_flags and attacker_side.active.ability != 'infiltrator': - hit_sub = True - if damage >= damage_side.active.maxhp * 0.25: - actual_damage = damage_side.active.maxhp * 0.25 - instruction_additions.append( - ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - defender, - constants.SUBSTITUTE - ) - ) - else: - actual_damage = damage - else: - # dont drop hp below 0 (min() statement), and dont overheal (max() statement) - actual_damage = max(min(damage, damage_side.active.hp), -1*(damage_side.active.maxhp - damage_side.active.hp)) - - if damage_side.active.ability == 'sturdy' and damage_side.active.hp == damage_side.active.maxhp: - actual_damage -= 1 - - instruction_additions.append( - ( - constants.MUTATOR_DAMAGE, - defender, - actual_damage - ) - ) - - if attacker_side.active.ability == "beastboost" and actual_damage == damage_side.active.hp: - highest_stat = attacker_side.active.get_highest_stat() - if attacker_side.active.get_boost_from_boost_string(highest_stat) < 6: - instruction_additions.append( - ( - constants.MUTATOR_BOOST, - attacker, - highest_stat, - 1 - ) - ) - - instruction.update_percentage(percent_hit) - - if damage_side.active.hp <= 0: - instruction.frozen = True - - if drain: - drain_percent = drain[0] / drain[1] - drain_instruction = ( - constants.MUTATOR_HEAL, - attacker, - min(int(drain_percent * actual_damage), int(attacker_side.active.maxhp - attacker_side.active.hp)) - ) - instruction_additions.append(drain_instruction) - if recoil: - recoil_percent = recoil[0] / recoil[1] - recoil_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - min(int(recoil_percent * actual_damage), int(attacker_side.active.hp)) - ) - instruction_additions.append(recoil_instruction) - - after_move_instructions = after_move( - attacking_move[constants.ID], - mutator.state, - attacker, - defender, - attacker_side, - damage_side, - True, - hit_sub - ) - instruction_additions += after_move_instructions - - instructions.append(instruction) - - if percent_hit < 1: - move_missed_instruction.frozen = True - move_missed_instruction.update_percentage(1 - percent_hit) - if crash: - crash_percent = crash[0] / crash[1] - crash_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - min(int(crash_percent * attacker_side.active.maxhp), attacker_side.active.hp) - ) - move_missed_instruction.add_instruction(crash_instruction) - - if attacker_side.active.item == 'blunderpolicy': - blunder_policy_increase_speed_instruction = ( - constants.MUTATOR_BOOST, - attacker, - constants.SPEED, - 2 - ) - move_missed_instruction.add_instruction(blunder_policy_increase_speed_instruction) - - after_move_instructions = after_move( - attacking_move[constants.ID], - mutator.state, - attacker, - defender, - attacker_side, - damage_side, - False, - False - ) - for i in after_move_instructions: - move_missed_instruction.add_instruction(i) - - instructions.append(move_missed_instruction) - - mutator.reverse(instruction.instructions) - for i in instruction_additions: - instruction.add_instruction(i) - - return instructions - - -def get_instructions_from_defenders_ability_after_move(mutator, move, ability_name, attacking_pokemon, attacker_string, instruction): - all_instructions = [instruction] - if instruction.frozen: - return all_instructions - - if attacker_string not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - if ( - ability_name == "static" - and constants.CONTACT in move[constants.FLAGS] - and attacking_pokemon.item != "protectivepads" - ): - return get_instructions_from_status_effects( - mutator, - attacker_string, - constants.PARALYZED, - 30, - instruction - ) - elif ( - ability_name == "flamebody" - and constants.CONTACT in move[constants.FLAGS] - and attacking_pokemon.item != "protectivepads" - ): - return get_instructions_from_status_effects( - mutator, - attacker_string, - constants.BURN, - 30, - instruction - ) - - return all_instructions - - -def get_instructions_from_side_conditions(mutator, attacker_string, side_string, condition, instruction): - if instruction.frozen: - return [instruction] - - if attacker_string not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - if side_string in same_side_strings: - side_string = attacker_string - elif side_string in opposing_side_strings: - side_string = opposite_side[attacker_string] - else: - raise ValueError("Invalid Side String: {}".format(side_string)) - - instruction_additions = [] - side = get_side_from_state(mutator.state, side_string) - mutator.apply(instruction.instructions) - - if condition == constants.WISH: - if side.wish[0] == 0: - instruction_additions.append( - ( - constants.MUTATOR_WISH_START, - side_string, - side.active.maxhp / 2, - side.wish[1] - ) - ) - - else: - if condition == constants.SPIKES: - max_layers = 3 - elif condition == constants.TOXIC_SPIKES: - max_layers = 2 - elif condition == constants.AURORA_VEIL: - max_layers = 1 if mutator.state.weather in constants.HAIL_OR_SNOW else 0 - else: - max_layers = 1 - - if side.side_conditions[condition] < max_layers: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_START, - side_string, - condition, - 1 - ) - ) - - mutator.reverse(instruction.instructions) - for i in instruction_additions: - instruction.add_instruction(i) - - return [instruction] - - -def get_instructions_from_hazard_clearing_moves(mutator, attacker_string, move, instruction): - if instruction.frozen: - return [instruction] - - if attacker_string not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - defender_string = opposite_side[attacker_string] - - instruction_additions = [] - mutator.apply(instruction.instructions) - - attacker_side = get_side_from_state(mutator.state, attacker_string) - defender_side = get_side_from_state(mutator.state, defender_string) - - if move[constants.ID] == 'defog': - if mutator.state.field is not None: - instruction_additions.append( - ( - constants.MUTATOR_FIELD_END, - mutator.state.field - ) - ) - for side_condition, amount in attacker_side.side_conditions.items(): - if amount > 0 and side_condition in constants.DEFOG_CLEARS: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_END, - attacker_string, - side_condition, - amount - ) - ) - for side_condition, amount in defender_side.side_conditions.items(): - if amount > 0 and side_condition in constants.DEFOG_CLEARS: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_END, - defender_string, - side_condition, - amount - ) - ) - - # ghost-type misses are dealt with by freezing the state. i.e. this elif will not be reached if the move missed - elif move[constants.ID] == "rapidspin" or move[constants.ID] == "mortalspin" or move[constants.ID] == "tidyup": - side = get_side_from_state(mutator.state, attacker_string) - for side_condition, amount in side.side_conditions.items(): - if amount > 0 and side_condition in constants.SPIN_TIDYUP_CLEARS: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_END, - attacker_string, - side_condition, - amount - ) - ) - elif move[constants.ID] == constants.COURT_CHANGE: - sides = [ - (constants.USER, mutator.state.user), - (constants.OPPONENT, mutator.state.opponent) - ] - for side_name, side_object in sides: - for side_condition in side_object.side_conditions: - if side_object.side_conditions[side_condition] and side_condition in constants.COURT_CHANGE_SWAPS: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_END, - side_name, - side_condition, - side_object.side_conditions[side_condition] - ) - ) - instruction_additions.append( - ( - constants.MUTATOR_SIDE_START, - opposite_side[side_name], - side_condition, - side_object.side_conditions[side_condition] - ) - ) - - else: - raise ValueError("{} is not a hazard clearing move".format(move[constants.ID])) - - mutator.reverse(instruction.instructions) - for i in instruction_additions: - instruction.add_instruction(i) - - return [instruction] - - -def get_instructions_from_status_effects(mutator, defender, status, accuracy, instruction): - """Returns the possible states from status effects""" - if instruction.frozen or status is None: - return [instruction] - - if defender not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - instructions = [] - if accuracy is True: - accuracy = 100 - percent_hit = accuracy / 100 - - mutator.apply(instruction.instructions) - instruction_additions = [] - defending_side = get_side_from_state(mutator.state, defender) - attacking_side = get_side_from_state(mutator.state, opposite_side[defender]) - - if sleep_clause_activated(defending_side, status): - mutator.reverse(instruction.instructions) - return [instruction] - - if immune_to_status(mutator.state, defending_side.active, attacking_side.active, status): - mutator.reverse(instruction.instructions) - return [instruction] - - move_missed_instruction = copy(instruction) - if percent_hit > 0: - move_hit_instruction = ( - constants.MUTATOR_APPLY_STATUS, - defender, - status - ) - - instruction_additions.append(move_hit_instruction) - instruction.update_percentage(percent_hit) - instructions.append(instruction) - - if percent_hit < 1: - move_missed_instruction.frozen = True - move_missed_instruction.update_percentage(1 - percent_hit) - if attacking_side.active.item == 'blunderpolicy': - blunder_policy_increase_speed_instruction = ( - constants.MUTATOR_BOOST, - opposite_side[defender], - constants.SPEED, - 2 - ) - move_missed_instruction.add_instruction(blunder_policy_increase_speed_instruction) - instructions.append(move_missed_instruction) - - mutator.reverse(instruction.instructions) - for i in instruction_additions: - instruction.add_instruction(i) - - return instructions - - -def get_instructions_from_boosts(mutator, side_string, boosts, accuracy, instruction): - if instruction.frozen or not boosts: - return [instruction] - - if side_string not in opposite_side: - raise ValueError("attacker parameter must be one of: {}. Value: {}".format( - ', '.join(opposite_side), - side_string - ) - ) - - instructions = [] - if accuracy is True: - accuracy = 100 - percent_hit = accuracy / 100 - - mutator.apply(instruction.instructions) - side = get_side_from_state(mutator.state, side_string) - - instruction_additions = [] - move_missed_instruction = copy(instruction) - if percent_hit > 0: - for k, v in boosts.items(): - pkmn_boost = side.active.get_boost_from_boost_string(k) - if v > 0: - new_boost = pkmn_boost + v - if new_boost > constants.MAX_BOOSTS: - new_boost = constants.MAX_BOOSTS - boost_instruction = ( - constants.MUTATOR_BOOST, - side_string, - k, - new_boost - pkmn_boost - ) - instruction_additions.append(boost_instruction) - elif ( - side.active.ability not in constants.IMMUNE_TO_STAT_LOWERING_ABILITIES and - side.active.item not in constants.IMMUNE_TO_STAT_LOWERING_ITEMS - ): - new_boost = pkmn_boost + v - if new_boost < -1 * constants.MAX_BOOSTS: - new_boost = -1 * constants.MAX_BOOSTS - boost_instruction = ( - constants.MUTATOR_BOOST, - side_string, - k, - new_boost - pkmn_boost - ) - instruction_additions.append(boost_instruction) - - instruction.update_percentage(percent_hit) - instructions.append(instruction) - - if percent_hit < 1: - move_missed_instruction.update_percentage(1 - percent_hit) - instructions.append(move_missed_instruction) - - mutator.reverse(instruction.instructions) - for i in instruction_additions: - instruction.add_instruction(i) - - return instructions - - -def get_instructions_from_flinching_moves(defender, accuracy, first_move, instruction): - if instruction.frozen or not first_move: - return [instruction] - - if defender not in opposite_side: - raise ValueError("attacker parameter must be one of: {}".format(', '.join(opposite_side))) - - instructions = [] - if accuracy is True: - accuracy = 100 - percent_hit = accuracy / 100 - - if percent_hit > 0: - flinched_instruction = copy(instruction) - flinch_mutator_instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - defender, - constants.FLINCH - ) - flinched_instruction.add_instruction(flinch_mutator_instruction) - flinched_instruction.update_percentage(percent_hit) - instructions.append(flinched_instruction) - - if percent_hit < 1: - instruction.update_percentage(1 - percent_hit) - instructions.append(instruction) - - return instructions - - -def get_instructions_from_attacker_recovery(mutator, attacker_string, move, instruction): - if instruction.frozen: - return [instruction] - - mutator.apply(instruction.instructions) - - target = move[constants.HEAL_TARGET] - if target in opposing_side_strings: - side_string = opposite_side[attacker_string] - else: - side_string = attacker_string - - pkmn = get_side_from_state(mutator.state, side_string).active - try: - health_recovered = float(move[constants.HEAL][0] / move[constants.HEAL][1]) * pkmn.maxhp - except KeyError: - health_recovered = 0 - - if health_recovered == 0: - mutator.reverse(instruction.instructions) - return [instruction] - - final_health = pkmn.hp + health_recovered - if final_health > pkmn.maxhp: - health_recovered -= (final_health - pkmn.maxhp) - elif final_health < 0: - health_recovered -= final_health - - heal_instruction = ( - constants.MUTATOR_HEAL, - side_string, - health_recovered - ) - - mutator.reverse(instruction.instructions) - - if health_recovered: - instruction.add_instruction(heal_instruction) - - return [instruction] - - -def get_end_of_turn_instructions(mutator, instruction, bot_move, opponent_move, bot_moves_first): - # determine which goes first - if bot_moves_first: - sides = [constants.USER, constants.OPPONENT] - else: - sides = [constants.OPPONENT, constants.USER] - - mutator.apply(instruction.instructions) - - # weather damage - sand and hail - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - pkmn = side.active - - if pkmn.ability == 'magicguard' or not pkmn.hp: - continue - - if mutator.state.weather == constants.SAND and not any(t in pkmn.types for t in ['steel', 'rock', 'ground']): - sand_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - max(0, int(min(pkmn.maxhp * 0.0625, pkmn.hp))) - ) - mutator.apply_one(sand_damage_instruction) - instruction.add_instruction(sand_damage_instruction) - - elif mutator.state.weather == constants.HAIL and 'ice' not in pkmn.types and pkmn.ability != 'icebody': - ice_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - max(0, int(min(pkmn.maxhp * 0.0625, pkmn.hp))) - ) - mutator.apply_one(ice_damage_instruction) - instruction.add_instruction(ice_damage_instruction) - - # futuresight - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - if side.future_sight[0] == 1: - from showdown.engine.damage_calculator import calculate_futuresight_damage - damage_dealt = calculate_futuresight_damage( - mutator.state, - attacker, - side.future_sight[1] - )[0] - if damage_dealt: - futuresight_damage_instruction = ( - constants.MUTATOR_DAMAGE, - opposite_side[attacker], - damage_dealt - ) - mutator.apply_one(futuresight_damage_instruction) - instruction.add_instruction(futuresight_damage_instruction) - if side.future_sight[0] > 0: - futuresight_decrement_instruction = ( - constants.MUTATOR_FUTURESIGHT_DECREMENT, - attacker, - ) - mutator.apply_one(futuresight_decrement_instruction) - instruction.add_instruction(futuresight_decrement_instruction) - - # wish - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - if side.wish[0] == 1 and 0 < side.active.hp < side.active.maxhp: - wish_heal_instruction = ( - constants.MUTATOR_HEAL, - attacker, - min(side.wish[1], side.active.maxhp - side.active.hp) - ) - mutator.apply_one(wish_heal_instruction) - instruction.add_instruction(wish_heal_instruction) - if side.wish[0] > 0: - wish_decrement_instruction = ( - constants.MUTATOR_WISH_DECREMENT, - attacker - ) - mutator.apply_one(wish_decrement_instruction) - instruction.add_instruction(wish_decrement_instruction) - - # item and ability - they can add one instruction each - for attacker in sides: - defender = opposite_side[attacker] - side = get_side_from_state(mutator.state, attacker) - defending_side = get_side_from_state(mutator.state, defender) - pkmn = side.active - defending_pkmn = defending_side.active - - item_instruction = item_end_of_turn(side.active.item, mutator.state, attacker, pkmn, defender, defending_pkmn) - if item_instruction is not None: - mutator.apply_one(item_instruction) - instruction.add_instruction(item_instruction) - - ability_instruction = ability_end_of_turn(side.active.ability, mutator.state, attacker, pkmn, defender, defending_pkmn) - if ability_instruction is not None: - mutator.apply_one(ability_instruction) - instruction.add_instruction(ability_instruction) - - # poison, toxic, and burn damage - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - pkmn = side.active - - if pkmn.ability == 'magicguard' or not pkmn.hp: - continue - - if constants.TOXIC == pkmn.status and pkmn.ability != 'poisonheal': - toxic_count = side.side_conditions[constants.TOXIC_COUNT] - toxic_multiplier = (1 / 16) * toxic_count + (1 / 16) - toxic_damage = max(0, int(min(pkmn.maxhp * toxic_multiplier, pkmn.hp))) - - toxic_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - toxic_damage - ) - toxic_count_instruction = ( - constants.MUTATOR_SIDE_START, - attacker, - constants.TOXIC_COUNT, - 1 - ) - mutator.apply_one(toxic_damage_instruction) - mutator.apply_one(toxic_count_instruction) - - instruction.add_instruction(toxic_damage_instruction) - instruction.add_instruction(toxic_count_instruction) - - elif constants.BURN == pkmn.status: - burn_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - max(0, int(min(pkmn.maxhp * 0.0625, pkmn.hp))) - ) - mutator.apply_one(burn_damage_instruction) - instruction.add_instruction(burn_damage_instruction) - - elif constants.POISON == pkmn.status and pkmn.ability != 'poisonheal': - poison_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - max(0, int(min(pkmn.maxhp * 0.125, pkmn.hp))) - ) - mutator.apply_one(poison_damage_instruction) - instruction.add_instruction(poison_damage_instruction) - - # leechseed sap damage - for attacker in sides: - defender = opposite_side[attacker] - side = get_side_from_state(mutator.state, attacker) - defending_side = get_side_from_state(mutator.state, defender) - pkmn = side.active - defending_pkmn = defending_side.active - - if pkmn.ability == 'magicguard' or not pkmn.hp or not defending_pkmn.hp: - continue - - if constants.LEECH_SEED in pkmn.volatile_status: - # damage taken - damage_sapped = max(0, int(min(pkmn.maxhp * 0.125, pkmn.hp))) - sap_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - damage_sapped - ) - - # heal amount - damage_from_full = defending_pkmn.maxhp - defending_pkmn.hp - heal_instruction = ( - constants.MUTATOR_HEAL, - defender, - min(damage_sapped, damage_from_full) - ) - - mutator.apply_one(sap_instruction) - mutator.apply_one(heal_instruction) - instruction.add_instruction(sap_instruction) - instruction.add_instruction(heal_instruction) - - # volatile-statuses - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - pkmn = side.active - - if any(vs in constants.PROTECT_VOLATILE_STATUSES for vs in pkmn.volatile_status): - if constants.PROTECT in pkmn.volatile_status: - volatile_status_to_remove = constants.PROTECT - elif constants.BANEFUL_BUNKER in pkmn.volatile_status: - volatile_status_to_remove = constants.BANEFUL_BUNKER - elif constants.SPIKY_SHIELD in pkmn.volatile_status: - volatile_status_to_remove = constants.SPIKY_SHIELD - elif constants.SILK_TRAP in pkmn.volatile_status: - volatile_status_to_remove = constants.SILK_TRAP - else: - # should never happen - raise Exception("Pokemon has volatile status that is not caught here: {}".format(pkmn.volatile_status)) - - remove_protect_volatile_status_instruction = ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - attacker, - volatile_status_to_remove - ) - start_protect_side_condition_instruction = ( - constants.MUTATOR_SIDE_START, - attacker, - constants.PROTECT, - 1 - ) - mutator.apply_one(remove_protect_volatile_status_instruction) - mutator.apply_one(start_protect_side_condition_instruction) - instruction.add_instruction(remove_protect_volatile_status_instruction) - instruction.add_instruction(start_protect_side_condition_instruction) - - elif side.side_conditions[constants.PROTECT]: - end_protect_side_condition_instruction = ( - constants.MUTATOR_SIDE_END, - attacker, - constants.PROTECT, - side.side_conditions[constants.PROTECT] - ) - mutator.apply_one(end_protect_side_condition_instruction) - instruction.add_instruction(end_protect_side_condition_instruction) - - if constants.ROOST in pkmn.volatile_status: - remove_roost_instruction = ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - attacker, - constants.ROOST, - ) - mutator.apply_one(remove_roost_instruction) - instruction.add_instruction(remove_roost_instruction) - - if constants.PARTIALLY_TRAPPED in pkmn.volatile_status: - damage_taken = max(0, int(min(pkmn.maxhp * 0.125, pkmn.hp))) - partially_trapped_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - damage_taken - ) - mutator.apply_one(partially_trapped_damage_instruction) - instruction.add_instruction(partially_trapped_damage_instruction) - - if "saltcure" in pkmn.volatile_status: - divisor = 4 if any(t in pkmn.types for t in ["water", "steel"]) else 8 - damage_taken = max(0, int(min(pkmn.maxhp * (1/divisor), pkmn.hp))) - partially_trapped_damage_instruction = ( - constants.MUTATOR_DAMAGE, - attacker, - damage_taken - ) - mutator.apply_one(partially_trapped_damage_instruction) - instruction.add_instruction(partially_trapped_damage_instruction) - - # disable not used moves if choice-item is held - for attacker in sides: - side = get_side_from_state(mutator.state, attacker) - pkmn = side.active - - if attacker == constants.USER: - move = bot_move - other_move = opponent_move - else: - move = opponent_move - other_move = bot_move - - try: - locking_move = move[constants.SELF][constants.VOLATILE_STATUS] == constants.LOCKED_MOVE - except KeyError: - locking_move = False - - if ( - constants.SWITCH_STRING not in move and - constants.DRAG not in other_move.get(constants.FLAGS, {}) and - move[constants.ID] not in constants.SWITCH_OUT_MOVES and - (pkmn.item in constants.CHOICE_ITEMS or locking_move or pkmn.ability == 'gorillatactics') - ): - move_used = move[constants.ID] - for m in filter(lambda x: x[constants.ID] != move_used and not x[constants.DISABLED], pkmn.moves): - disable_instruction = ( - constants.MUTATOR_DISABLE_MOVE, - attacker, - m[constants.ID] - ) - mutator.apply_one(disable_instruction) - instruction.add_instruction(disable_instruction) - - mutator.reverse(instruction.instructions) - - return [instruction] - - -def get_instructions_from_drag(mutator, attacking_side_string, move_target, instruction): - if instruction.frozen: - return [instruction] - - new_instructions = [] - - if move_target in same_side_strings: - affected_side = get_side_from_state(mutator.state, attacking_side_string) - affected_side_string = attacking_side_string - elif move_target in opposing_side_strings: - affected_side = get_side_from_state(mutator.state, opposite_side[attacking_side_string]) - affected_side_string = opposite_side[attacking_side_string] - else: - raise ValueError("Invalid value for move_target: {}".format(move_target)) - - mutator.apply(instruction.instructions) - alive_reserves = [s.id for s in affected_side.reserve.values() if s.hp > 0] - num_reserve_alive = len(alive_reserves) - mutator.reverse(instruction.instructions) - if num_reserve_alive == 0: - return [instruction] - - for pkmn_name in alive_reserves: - new_instruction = get_instructions_from_switch(mutator, affected_side_string, pkmn_name, copy(instruction)) - new_instruction.update_percentage(1 / num_reserve_alive) - new_instructions.append(new_instruction) - - return new_instructions - - -def get_instructions_from_boost_reset_moves(mutator, attacking_move, attacking_side_string, instruction): - if instruction.frozen: - return [instruction] - - attacking_side = get_side_from_state(mutator.state, attacking_side_string) - defending_side_string = opposite_side[attacking_side_string] - defending_side = get_side_from_state(mutator.state, defending_side_string) - - mutator.apply(instruction.instructions) - new_instructions = [] - if attacking_move[constants.TARGET] in constants.MOVE_TARGET_SELF: - new_instructions += remove_volatile_status_and_boosts_instructions(attacking_side, attacking_side_string) - if attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - new_instructions += remove_volatile_status_and_boosts_instructions(defending_side, defending_side_string) - mutator.reverse(instruction.instructions) - - for new_instruction in new_instructions: - instruction.add_instruction(new_instruction) - - return [instruction] - - -def remove_volatile_status_and_boosts_instructions(side, side_string): - instruction_additions = [] - for v_status in side.active.volatile_status: - instruction_additions.append( - ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - side_string, - v_status - ) - ) - if side.side_conditions[constants.TOXIC_COUNT]: - instruction_additions.append( - ( - constants.MUTATOR_SIDE_END, - side_string, - constants.TOXIC_COUNT, - side.side_conditions[constants.TOXIC_COUNT] - )) - if side.active.attack_boost: - instruction_additions.append( - ( - constants.MUTATOR_UNBOOST, - side_string, - constants.ATTACK, - side.active.attack_boost - )) - if side.active.defense_boost: - instruction_additions.append( - ( - constants.MUTATOR_UNBOOST, - side_string, - constants.DEFENSE, - side.active.defense_boost - )) - if side.active.special_attack_boost: - instruction_additions.append( - ( - constants.MUTATOR_UNBOOST, - side_string, - constants.SPECIAL_ATTACK, - side.active.special_attack_boost - )) - if side.active.special_defense_boost: - instruction_additions.append( - ( - constants.MUTATOR_UNBOOST, - side_string, - constants.SPECIAL_DEFENSE, - side.active.special_defense_boost - )) - if side.active.speed_boost: - instruction_additions.append( - ( - constants.MUTATOR_UNBOOST, - side_string, - constants.SPEED, - side.active.speed_boost - )) - - return instruction_additions - - -def get_side_from_state(state, side_string): - if side_string == constants.USER: - return state.user - elif side_string == constants.OPPONENT: - return state.opponent - else: - raise ValueError("Invalid value for `side`") - - -def can_be_volatile_statused(side, volatile_status, first_move): - if volatile_status in constants.PROTECT_VOLATILE_STATUSES: - if side.side_conditions[constants.PROTECT]: - return False - elif first_move: - return True - else: - return False - if constants.SUBSTITUTE in side.active.volatile_status: - return False - if volatile_status == constants.SUBSTITUTE and side.active.hp < side.active.maxhp * 0.25: - return False - - return True - - -def sleep_clause_activated(side, status): - if status == constants.SLEEP: - for p in side.reserve.values(): - if p.status == constants.SLEEP and p.hp > 0: - return True - return False - - -def immune_to_status(state, defending_pkmn, attacking_pkmn, status): - # General status immunity - if defending_pkmn.status is not None or defending_pkmn.hp <= 0: - return True - if constants.SUBSTITUTE in defending_pkmn.volatile_status and attacking_pkmn.ability != 'infiltrator': - return True - if defending_pkmn.ability == 'shieldsdown' and ((defending_pkmn.hp / defending_pkmn.maxhp) > 0.5): - return True - if defending_pkmn.ability == 'comatose': - return True - if state.field == constants.MISTY_TERRAIN and defending_pkmn.is_grounded(): - return True - if defending_pkmn.ability == "purifyingsalt": - return True - if defending_pkmn.ability == "thermalexchange" and status == constants.BURN: - return True - - # Specific status immunity - return ( - status == constants.FROZEN and is_immune_to_freeze(state, defending_pkmn) or - status == constants.BURN and is_immune_to_burn(defending_pkmn) or - status == constants.SLEEP and is_immune_to_sleep(state, defending_pkmn) or - status == constants.PARALYZED and is_immune_to_paralysis(defending_pkmn) or - status in [constants.POISON, constants.TOXIC] and is_immune_to_poison(attacking_pkmn, defending_pkmn) - ) - - -def is_immune_to_freeze(state, pkmn): - return ( - 'ice' in pkmn.types or - pkmn.ability in constants.IMMUNE_TO_FROZEN_ABILITIES or - state.weather == constants.DESOLATE_LAND - ) - - -def is_immune_to_burn(pkmn): - return ( - 'fire' in pkmn.types or - pkmn.ability in constants.IMMUNE_TO_BURN_ABILITIES - ) - - -def is_immune_to_sleep(state, pkmn): - return ( - pkmn.ability in constants.IMMUNE_TO_SLEEP_ABILITIES or - state.field == constants.ELECTRIC_TERRAIN and pkmn.is_grounded() - ) - - -def is_immune_to_poison(attacking, defending): - return ( - any(t in ['poison', 'steel'] for t in defending.types) and not attacking.ability == 'corrosion' or - defending.ability in constants.IMMUNE_TO_POISON_ABILITIES - ) - - -def is_immune_to_paralysis(pkmn): - return ( - 'electric' in pkmn.types or - pkmn.ability in constants.IMMUNE_TO_PARALYSIS_ABILITIES - ) diff --git a/showdown/engine/objects.py b/showdown/engine/objects.py deleted file mode 100644 index 982cd4c6b..000000000 --- a/showdown/engine/objects.py +++ /dev/null @@ -1,749 +0,0 @@ -from collections import defaultdict -from copy import copy - -import constants -from data import all_move_json - - -boost_multiplier_lookup = { - -6: 2/8, - -5: 2/7, - -4: 2/6, - -3: 2/5, - -2: 2/4, - -1: 2/3, - 0: 2/2, - 1: 3/2, - 2: 4/2, - 3: 5/2, - 4: 6/2, - 5: 7/2, - 6: 8/2 -} - - -class State(object): - __slots__ = ('user', 'opponent', 'weather', 'field', 'trick_room') - - def __init__(self, user, opponent, weather, field, trick_room): - self.user = user - self.opponent = opponent - self.weather = weather - self.field = field - self.trick_room = trick_room - - def get_self_options(self, force_switch): - forced_move = self.user.active.forced_move() - if forced_move: - return [forced_move] - - if force_switch: - possible_moves = [] - else: - possible_moves = [m[constants.ID] for m in self.user.active.moves if not m[constants.DISABLED]] - - if self.user.trapped(self.opponent.active): - possible_switches = [] - else: - possible_switches = self.user.get_switches() - - return possible_moves + possible_switches - - def get_opponent_options(self): - forced_move = self.opponent.active.forced_move() - if forced_move: - return [forced_move] - - if self.opponent.active.hp <= 0: - possible_moves = [] - else: - possible_moves = [m[constants.ID] for m in self.opponent.active.moves if not m[constants.DISABLED]] - - if self.opponent.trapped(self.user.active): - possible_switches = [] - else: - possible_switches = self.opponent.get_switches() - - return possible_moves + possible_switches - - def get_all_options(self): - force_switch = self.user.active.hp <= 0 - wait = self.opponent.active.hp <= 0 - - # double faint or team preview - if force_switch and wait: - user_options = self.get_self_options(force_switch) or [constants.DO_NOTHING_MOVE] - opponent_options = self.get_opponent_options() or [constants.DO_NOTHING_MOVE] - return user_options, opponent_options - - if force_switch: - opponent_options = [constants.DO_NOTHING_MOVE] - else: - opponent_options = self.get_opponent_options() - - if wait: - user_options = [constants.DO_NOTHING_MOVE] - else: - user_options = self.get_self_options(force_switch) - - if not user_options: - user_options = [constants.DO_NOTHING_MOVE] - - if not opponent_options: - opponent_options = [constants.DO_NOTHING_MOVE] - - return user_options, opponent_options - - def battle_is_finished(self): - # Returns: - # 1 if the bot (self) has won - # -1 if the opponent has won - # False if the battle is not over - - if self.user.active.hp <= 0 and not any(pkmn.hp for pkmn in self.user.reserve.values()): - return -1 - elif self.opponent.active.hp <= 0 and not any(pkmn.hp for pkmn in self.opponent.reserve.values()) and len(self.opponent.reserve) == 5: - return 1 - - return False - - @classmethod - def from_dict(cls, state_dict): - return State( - Side.from_dict(state_dict[constants.USER]), - Side.from_dict(state_dict[constants.OPPONENT]), - state_dict[constants.WEATHER], - state_dict[constants.FIELD], - state_dict[constants.TRICK_ROOM] - ) - - def __repr__(self): - return str( - { - constants.USER: self.user, - constants.OPPONENT: self.opponent, - constants.WEATHER: self.weather, - constants.FIELD: self.field, - constants.TRICK_ROOM: self.trick_room - } - ) - - -class Side(object): - __slots__ = ('active', 'reserve', 'wish', 'side_conditions', 'future_sight') - - def __init__(self, active, reserve, wish, side_conditions, future_sight): - self.active = active - self.reserve = reserve - self.wish = wish - self.side_conditions = side_conditions - self.future_sight = future_sight - - def get_switches(self): - switches = [] - for pkmn_name, pkmn in self.reserve.items(): - if pkmn.hp > 0: - switches.append("{} {}".format(constants.SWITCH_STRING, pkmn_name)) - return switches - - def trapped(self, opponent_active): - if self.active.item == 'shedshell' or 'ghost' in self.active.types: - return False - elif constants.PARTIALLY_TRAPPED in self.active.volatile_status: - return True - elif opponent_active.ability == 'shadowtag': - return True - elif opponent_active.ability == 'magnetpull' and 'steel' in self.active.types: - return True - elif opponent_active.ability == 'arenatrap' and self.active.is_grounded(): - return True - else: - return False - - @classmethod - def from_dict(cls, side_dict): - return Side( - Pokemon.from_dict(side_dict[constants.ACTIVE]), - {p[constants.ID]: Pokemon.from_dict(p) for p in side_dict[constants.RESERVE].values()}, - side_dict[constants.WISH], - defaultdict(int, side_dict[constants.SIDE_CONDITIONS]), - side_dict[constants.FUTURE_SIGHT] - ) - - def __repr__(self): - return str({ - constants.ACTIVE: self.active, - constants.RESERVE: self.reserve, - constants.WISH: self.wish, - constants.SIDE_CONDITIONS: dict(self.side_conditions), - constants.FUTURE_SIGHT: self.future_sight - }) - - -class Pokemon(object): - __slots__ = ( - 'id', - 'level', - 'types', - 'hp', - 'maxhp', - 'ability', - 'item', - 'attack', - 'defense', - 'special_attack', - 'special_defense', - 'speed', - 'nature', - 'evs', - 'attack_boost', - 'defense_boost', - 'special_attack_boost', - 'special_defense_boost', - 'speed_boost', - 'accuracy_boost', - 'evasion_boost', - 'status', - 'volatile_status', - 'moves', - 'terastallized', - 'burn_multiplier' - ) - - def __init__( - self, - identifier, - level, - types, - hp, - maxhp, - ability, - item, - attack, - defense, - special_attack, - special_defense, - speed, - nature="serious", - evs=(85,) * 6, - attack_boost=0, - defense_boost=0, - special_attack_boost=0, - special_defense_boost=0, - speed_boost=0, - accuracy_boost=0, - evasion_boost=0, - status=None, - terastallized=False, - volatile_status=None, - moves=None - ): - self.id = identifier - self.level = level - self.types = types - self.hp = hp - self.maxhp = maxhp - self.ability = ability - self.item = item - self.attack = attack - self.defense = defense - self.special_attack = special_attack - self.special_defense = special_defense - self.speed = speed - self.nature = nature - self.evs = evs - self.attack_boost = attack_boost - self.defense_boost = defense_boost - self.special_attack_boost = special_attack_boost - self.special_defense_boost = special_defense_boost - self.speed_boost = speed_boost - self.accuracy_boost = accuracy_boost - self.evasion_boost = evasion_boost - self.status = status - self.terastallized = terastallized - self.volatile_status = volatile_status or set() - self.moves = moves or list() - - # evaluation relies on a multiplier for the burn status - # it is calculated here to save time during evaluation - self.burn_multiplier = self.calculate_burn_multiplier() - - def calculate_burn_multiplier(self): - # this will result in a positive evaluation for a burned pokemon - if self.ability in ['guts', 'marvelscale', 'quickfeet']: - return -2 - - # +1 to the multiplier for each physical move - burn_multiplier = len([m for m in self.moves if all_move_json[m[constants.ID]][constants.CATEGORY] == constants.PHYSICAL]) - - # evaluation could use more than 4 moves for opponent's pokemon - dont go over 4 - burn_multiplier = min(4, burn_multiplier) - - # dont make this as punishing for special attackers - if self.special_attack > self.attack: - burn_multiplier = int(burn_multiplier / 2) - - return burn_multiplier - - def get_highest_stat(self): - return max({ - constants.ATTACK: self.attack, - constants.DEFENSE: self.defense, - constants.SPECIAL_ATTACK: self.special_attack, - constants.SPECIAL_DEFENSE: self.special_defense, - constants.SPEED: self.speed, - }.items(), key=lambda x: x[1])[0] - - def get_boost_from_boost_string(self, boost_string): - if boost_string == constants.ATTACK: - return self.attack_boost - elif boost_string == constants.DEFENSE: - return self.defense_boost - elif boost_string == constants.SPECIAL_ATTACK: - return self.special_attack_boost - elif boost_string == constants.SPECIAL_DEFENSE: - return self.special_defense_boost - elif boost_string == constants.SPEED: - return self.speed_boost - elif boost_string == constants.ACCURACY: - return self.accuracy_boost - elif boost_string == constants.EVASION: - return self.evasion_boost - raise ValueError("{} is not a valid boost".format(boost_string)) - - def forced_move(self): - if "phantomforce" in self.volatile_status: - return "phantomforce" - elif "shadowforce" in self.volatile_status: - return "shadowforce" - elif "dive" in self.volatile_status: - return "dive" - elif "dig" in self.volatile_status: - return "dig" - elif "bounce" in self.volatile_status: - return "bounce" - elif "fly" in self.volatile_status: - return "fly" - else: - return None - - def item_can_be_removed(self): - if ( - self.item is None or - self.ability == 'stickyhold' or - 'substitute' in self.volatile_status or - self.id in constants.POKEMON_CANNOT_HAVE_ITEMS_REMOVED or - self.id.endswith('mega') and self.id != 'yanmega' or # yeah this is hacky but who are you to judge? - self.id.startswith("genesect") and self.item.endswith("drive") or - self.id.startswith("arceus") and self.item.endswith("plate") or - self.id.startswith("silvally") and self.item.endswith("memory") or - # any(self.id.startswith(i) and self.id != i for i in constants.UNKOWN_POKEMON_FORMES) or - self.item.endswith('iumz') - ): - return False - - return True - - @classmethod - def from_state_pokemon_dict(cls, d): - return Pokemon( - d[constants.ID], - d[constants.LEVEL], - d[constants.TYPES], - d[constants.HITPOINTS], - d[constants.MAXHP], - d[constants.ABILITY], - d[constants.ITEM], - d[constants.STATS][constants.ATTACK], - d[constants.STATS][constants.DEFENSE], - d[constants.STATS][constants.SPECIAL_ATTACK], - d[constants.STATS][constants.SPECIAL_DEFENSE], - d[constants.STATS][constants.SPEED], - d[constants.NATURE], - d[constants.EVS], - d[constants.BOOSTS][constants.ATTACK], - d[constants.BOOSTS][constants.DEFENSE], - d[constants.BOOSTS][constants.SPECIAL_ATTACK], - d[constants.BOOSTS][constants.SPECIAL_DEFENSE], - d[constants.BOOSTS][constants.SPEED], - d[constants.BOOSTS][constants.ACCURACY], - d[constants.BOOSTS][constants.EVASION], - d[constants.STATUS], - d[constants.TERASTALLIZED], - d[constants.VOLATILE_STATUS], - d[constants.MOVES] - ) - - @classmethod - def from_dict(cls, d): - return Pokemon( - d[constants.ID], - d[constants.LEVEL], - d[constants.TYPES], - d[constants.HITPOINTS], - d[constants.MAXHP], - d[constants.ABILITY], - d[constants.ITEM], - d[constants.ATTACK], - d[constants.DEFENSE], - d[constants.SPECIAL_ATTACK], - d[constants.SPECIAL_DEFENSE], - d[constants.SPEED], - d[constants.NATURE], - d[constants.EVS], - d[constants.ATTACK_BOOST], - d[constants.DEFENSE_BOOST], - d[constants.SPECIAL_ATTACK_BOOST], - d[constants.SPECIAL_DEFENSE_BOOST], - d[constants.SPEED_BOOST], - d.get(constants.ACCURACY_BOOST, 0), - d.get(constants.EVASION_BOOST, 0), - d[constants.STATUS], - d[constants.TERASTALLIZED], - set(d[constants.VOLATILE_STATUS]), - d[constants.MOVES] - ) - - def calculate_boosted_stats(self): - return { - constants.ATTACK: boost_multiplier_lookup[self.attack_boost] * self.attack, - constants.DEFENSE: boost_multiplier_lookup[self.defense_boost] * self.defense, - constants.SPECIAL_ATTACK: boost_multiplier_lookup[self.special_attack_boost] * self.special_attack, - constants.SPECIAL_DEFENSE: boost_multiplier_lookup[self.special_defense_boost] * self.special_defense, - constants.SPEED: boost_multiplier_lookup[self.speed_boost] * self.speed, - } - - def is_grounded(self): - if 'flying' in self.types or self.ability == 'levitate' or self.item == 'airballoon': - return False - return True - - def __repr__(self): - return str( - { - constants.ID: self.id, - constants.LEVEL: self.level, - constants.TYPES: self.types, - constants.HITPOINTS: self.hp, - constants.MAXHP: self.maxhp, - constants.ABILITY: self.ability, - constants.ITEM: self.item, - constants.ATTACK: self.attack, - constants.DEFENSE: self.defense, - constants.SPECIAL_ATTACK: self.special_attack, - constants.SPECIAL_DEFENSE: self.special_defense, - constants.SPEED: self.speed, - constants.NATURE: self.nature, - constants.EVS: self.evs, - constants.ATTACK_BOOST: self.attack_boost, - constants.DEFENSE_BOOST: self.defense_boost, - constants.SPECIAL_ATTACK_BOOST: self.special_attack_boost, - constants.SPECIAL_DEFENSE_BOOST: self.special_defense_boost, - constants.SPEED_BOOST: self.speed_boost, - constants.ACCURACY_BOOST: self.accuracy_boost, - constants.EVASION_BOOST: self.evasion_boost, - constants.STATUS: self.status, - constants.TERASTALLIZED: self.terastallized, - constants.VOLATILE_STATUS: list(self.volatile_status), - constants.MOVES: self.moves - } - ) - - -class TransposeInstruction: - __slots__ = ('percentage', 'instructions', 'frozen') - - def __init__(self, percentage, instructions, frozen=False): - self.percentage = percentage - self.instructions = instructions - self.frozen = frozen - - def update_percentage(self, modifier): - self.percentage *= modifier - - def add_instruction(self, instruction): - self.instructions.append(instruction) - - def has_same_instructions_as(self, other): - return self.instructions == other.instructions - - def __copy__(self): - return TransposeInstruction(self.percentage, copy(self.instructions), self.frozen) - - def __repr__(self): - return "{}: {}".format(self.percentage, str(self.instructions)) - - def __eq__(self, other): - return self.percentage == other.percentage and \ - self.instructions == other.instructions and \ - self.frozen == other.frozen - - -class StateMutator: - - def __init__(self, state): - self.state = state - self.apply_instructions = { - constants.MUTATOR_SWITCH: self.switch, - constants.MUTATOR_APPLY_VOLATILE_STATUS: self.apply_volatile_status, - constants.MUTATOR_REMOVE_VOLATILE_STATUS: self.remove_volatile_status, - constants.MUTATOR_DAMAGE: self.damage, - constants.MUTATOR_HEAL: self.heal, - constants.MUTATOR_BOOST: self.boost, - constants.MUTATOR_UNBOOST: self.unboost, - constants.MUTATOR_APPLY_STATUS: self.apply_status, - constants.MUTATOR_REMOVE_STATUS: self.remove_status, - constants.MUTATOR_SIDE_START: self.side_start, - constants.MUTATOR_SIDE_END: self.side_end, - constants.MUTATOR_WISH_START: self.start_wish, - constants.MUTATOR_WISH_DECREMENT: self.decrement_wish, - constants.MUTATOR_FUTURESIGHT_START: self.start_futuresight, - constants.MUTATOR_FUTURESIGHT_DECREMENT: self.decrement_futuresight, - constants.MUTATOR_DISABLE_MOVE: self.disable_move, - constants.MUTATOR_ENABLE_MOVE: self.enable_move, - constants.MUTATOR_WEATHER_START: self.start_weather, - constants.MUTATOR_FIELD_START: self.start_field, - constants.MUTATOR_FIELD_END: self.end_field, - constants.MUTATOR_TOGGLE_TRICKROOM: self.toggle_trickroom, - constants.MUTATOR_CHANGE_TYPE: self.change_types, - constants.MUTATOR_CHANGE_ITEM: self.change_item, - constants.MUTATOR_CHANGE_STATS: self.change_stats - } - self.reverse_instructions = { - constants.MUTATOR_SWITCH: self.reverse_switch, - constants.MUTATOR_APPLY_VOLATILE_STATUS: self.remove_volatile_status, - constants.MUTATOR_REMOVE_VOLATILE_STATUS: self.apply_volatile_status, - constants.MUTATOR_DAMAGE: self.heal, - constants.MUTATOR_HEAL: self.damage, - constants.MUTATOR_BOOST: self.unboost, - constants.MUTATOR_UNBOOST: self.boost, - constants.MUTATOR_APPLY_STATUS: self.remove_status, - constants.MUTATOR_REMOVE_STATUS: self.apply_status, - constants.MUTATOR_SIDE_START: self.reverse_side_start, - constants.MUTATOR_SIDE_END: self.reverse_side_end, - constants.MUTATOR_WISH_START: self.reserve_start_wish, - constants.MUTATOR_WISH_DECREMENT: self.reverse_decrement_wish, - constants.MUTATOR_FUTURESIGHT_START: self.reverse_start_futuresight, - constants.MUTATOR_FUTURESIGHT_DECREMENT: self.reverse_decrement_futuresight, - constants.MUTATOR_DISABLE_MOVE: self.enable_move, - constants.MUTATOR_ENABLE_MOVE: self.disable_move, - constants.MUTATOR_WEATHER_START: self.reverse_start_weather, - constants.MUTATOR_FIELD_START: self.reverse_start_field, - constants.MUTATOR_FIELD_END: self.reverse_end_field, - constants.MUTATOR_TOGGLE_TRICKROOM: self.toggle_trickroom, - constants.MUTATOR_CHANGE_TYPE: self.reverse_change_types, - constants.MUTATOR_CHANGE_ITEM: self.reverse_change_item, - constants.MUTATOR_CHANGE_STATS: self.reverse_change_stats - } - - def apply_one(self, instruction): - method = self.apply_instructions[instruction[0]] - method(*instruction[1:]) - - def apply(self, instructions): - for instruction in instructions: - method = self.apply_instructions[instruction[0]] - method(*instruction[1:]) - - def reverse(self, instructions): - for instruction in reversed(instructions): - method = self.reverse_instructions[instruction[0]] - method(*instruction[1:]) - - def get_side(self, side): - return getattr(self.state, side) - - def disable_move(self, side, move_name): - side = self.get_side(side) - try: - move = next(filter(lambda x: x[constants.ID] == move_name, side.active.moves)) - except StopIteration: - raise ValueError("{} not in pokemon's moves: {}".format(move_name, side.active.moves)) - - move[constants.DISABLED] = True - - def enable_move(self, side, move_name): - side = self.get_side(side) - try: - move = next(filter(lambda x: x[constants.ID] == move_name, side.active.moves)) - except StopIteration: - raise ValueError("{} not in pokemon's moves: {}".format(move_name, side.active.moves)) - - move[constants.DISABLED] = False - - def switch(self, side, _, switch_pokemon_name): - # the second parameter to this function is the current active pokemon - # this value must be here for reversing purposes - side = self.get_side(side) - - side.reserve[side.active.id] = side.active - side.active = side.reserve.pop(switch_pokemon_name) - - def reverse_switch(self, side, previous_active, current_active): - self.switch(side, current_active, previous_active) - - def apply_volatile_status(self, side, volatile_status): - side = self.get_side(side) - side.active.volatile_status.add(volatile_status) - - def remove_volatile_status(self, side, volatile_status): - side = self.get_side(side) - side.active.volatile_status.remove(volatile_status) - - def damage(self, side, amount): - side = self.get_side(side) - side.active.hp -= amount - - def heal(self, side, amount): - side = self.get_side(side) - side.active.hp += amount - - def boost(self, side, stat, amount): - side = self.get_side(side) - if stat == constants.ATTACK: - side.active.attack_boost += amount - elif stat == constants.DEFENSE: - side.active.defense_boost += amount - elif stat == constants.SPECIAL_ATTACK: - side.active.special_attack_boost += amount - elif stat == constants.SPECIAL_DEFENSE: - side.active.special_defense_boost += amount - elif stat == constants.SPEED: - side.active.speed_boost += amount - elif stat == constants.ACCURACY: - side.active.accuracy_boost += amount - elif stat == constants.EVASION: - side.active.evasion_boost += amount - else: - raise ValueError("Invalid stat: {}".format(stat)) - - def unboost(self, side, stat, amount): - self.boost(side, stat, -1*amount) - - def apply_status(self, side, status): - side = self.get_side(side) - side.active.status = status - - def remove_status(self, side, _): - # the second parameter of this function is the status being removed - # this value must be here for reverse purposes - self.apply_status(side, None) - - def side_start(self, side, effect, amount): - side = self.get_side(side) - side.side_conditions[effect] += amount - - def reverse_side_start(self, side, effect, amount): - side = self.get_side(side) - side.side_conditions[effect] -= amount - - def side_end(self, side, effect, amount): - side = self.get_side(side) - side.side_conditions[effect] -= amount - - def reverse_side_end(self, side, effect, amount): - self.side_start(side, effect, amount) - - def start_futuresight(self, side, pkmn_name, _): - # the second parameter is the current futuresight_amount - # it is here for reversing purposes - side = self.get_side(side) - side.future_sight = (3, pkmn_name) - - def reverse_start_futuresight(self, side, _, old_pkmn_name): - side = self.get_side(side) - side.future_sight = (0, old_pkmn_name) - - def decrement_futuresight(self, side): - side = self.get_side(side) - side.future_sight = (side.future_sight[0] - 1, side.future_sight[1]) - - def reverse_decrement_futuresight(self, side): - side = self.get_side(side) - side.future_sight = (side.future_sight[0] + 1, side.future_sight[1]) - - def start_wish(self, side, health, _): - # the third parameter is the current wish amount - # it is here for reversing purposes - side = self.get_side(side) - side.wish = (2, health) - - def reserve_start_wish(self, side, _, previous_wish_amount): - side = self.get_side(side) - side.wish = (0, previous_wish_amount) - - def decrement_wish(self, side): - side = self.get_side(side) - side.wish = (side.wish[0] - 1, side.wish[1]) - - def reverse_decrement_wish(self, side): - side = self.get_side(side) - side.wish = (side.wish[0] + 1, side.wish[1]) - - def start_weather(self, weather, _): - # the second parameter is the current weather - # the value is here for reversing purposes - self.state.weather = weather - - def reverse_start_weather(self, _, old_weather): - self.state.weather = old_weather - - def start_field(self, field, _): - # the second parameter is the current field - # the value is here for reversing purposes - self.state.field = field - - def reverse_start_field(self, _, old_field): - self.state.field = old_field - - def end_field(self, _): - # the second parameter is the current field - # the value is here for reversing purposes - self.state.field = None - - def reverse_end_field(self, old_field): - self.state.field = old_field - - def toggle_trickroom(self): - self.state.trick_room ^= True - - def change_types(self, side, new_types, _): - # the third parameter is the current types of the active pokemon - # they must be here for reversing purposes - side = self.get_side(side) - side.active.types = new_types - - def reverse_change_types(self, side, _, old_types): - side = self.get_side(side) - side.active.types = old_types - - def change_item(self, side, new_item, _): - # the third parameter is the current item - # it must be here for reversing purposes - side = self.get_side(side) - side.active.item = new_item - - def reverse_change_item(self, side, _, old_item): - side = self.get_side(side) - side.active.item = old_item - - def change_stats(self, side, new_stats, _): - # the third parameter is the old stats - # is must be here for reversing purposes - side = self.get_side(side) - side.active.maxhp = new_stats[0] - side.active.attack = new_stats[1] - side.active.defense = new_stats[2] - side.active.special_attack = new_stats[3] - side.active.special_defense = new_stats[4] - side.active.speed = new_stats[5] - - def reverse_change_stats(self, side, _, old_stats): - # the second parameter are the new stats - side = self.get_side(side) - side.active.maxhp = old_stats[0] - side.active.attack = old_stats[1] - side.active.defense = old_stats[2] - side.active.special_attack = old_stats[3] - side.active.special_defense = old_stats[4] - side.active.speed = old_stats[5] diff --git a/showdown/engine/select_best_move.py b/showdown/engine/select_best_move.py deleted file mode 100644 index 494dc4046..000000000 --- a/showdown/engine/select_best_move.py +++ /dev/null @@ -1,136 +0,0 @@ -import math -from collections import defaultdict - -import constants - -from .evaluate import evaluate -from .find_state_instructions import get_all_state_instructions - - -WON_BATTLE = 100 - - -def remove_guaranteed_opponent_moves(score_lookup): - """This method removes enemy moves from the score-lookup that do not give the bot a choice. - For example - if the bot has 1 pokemon left, the opponent is faster, and can kill your active pokemon with move X - then move X for the opponent will be removed from the score_lookup - - The bot behaves much better when it cannot see these types of decisions""" - move_combinations = list(score_lookup.keys()) - if len(set(k[0] for k in move_combinations)) == 1: - return score_lookup - elif len(set(k[1] for k in move_combinations)) == 1: - return score_lookup - - # find the opponent's moves where the bot has a choice - opponent_move_scores = dict() - opponent_decisions = set() - for k, score in score_lookup.items(): - opponent_move = k[1] - if opponent_move not in opponent_move_scores: - opponent_move_scores[opponent_move] = score - elif opponent_move in opponent_move_scores and score != opponent_move_scores[opponent_move] and not math.isnan(score): - opponent_decisions.add(opponent_move) - - # re-create score_lookup with only the opponent's move acquired above - new_opponent_decisions = dict() - for k, v in score_lookup.items(): - if k[1] in opponent_decisions: - new_opponent_decisions[k] = v - - return new_opponent_decisions - - -def pick_safest(score_lookup, remove_guaranteed=False): - modified_score_lookup = score_lookup - if remove_guaranteed: - modified_score_lookup = remove_guaranteed_opponent_moves(score_lookup) - if not modified_score_lookup: - modified_score_lookup = score_lookup - worst_case = defaultdict(lambda: (tuple(), float('inf'))) - for move_pair, result in modified_score_lookup.items(): - if worst_case[move_pair[0]][1] > result: - worst_case[move_pair[0]] = move_pair, result - - safest = max(worst_case, key=lambda x: worst_case[x][1]) - return worst_case[safest] - - -def move_item_to_front_of_list(l, item): - all_indicies = list(range(len(l))) - this_index = l.index(item) - all_indicies.remove(this_index) - all_indicies.insert(0, this_index) - return [l[i] for i in all_indicies] - - -def get_payoff_matrix(mutator, user_options, opponent_options, depth=2, prune=True): - """ - :param mutator: a StateMutator object representing the state of the battle - :param user_options: options for the bot - :param opponent_options: options for the opponent - :param depth: the remaining depth before the state is evaluated - :param prune: specify whether or not to prune the tree - :return: a dictionary representing the potential move combinations and their associated scores - """ - - winner = mutator.state.battle_is_finished() - if winner: - return {(constants.DO_NOTHING_MOVE, constants.DO_NOTHING_MOVE): evaluate(mutator.state) + WON_BATTLE*depth*winner} - - depth -= 1 - - # if the battle is not over, but the opponent has no moves - we want to return the user options as moves - # this is a special case in a random battle where the opponent's pokemon has fainted, but the opponent still - # has reserves left that are unseen - if opponent_options == [constants.DO_NOTHING_MOVE] and mutator.state.opponent.active.hp == 0: - return {(user_option, constants.DO_NOTHING_MOVE): evaluate(mutator.state) for user_option in user_options} - - state_scores = dict() - - best_score = float('-inf') - for i, user_move in enumerate(user_options): - worst_score_for_this_row = float('inf') - skip = False - - # opponent_options can change during the loop - # using opponent_options[:] makes a copy when iterating to ensure no funny-business - for j, opponent_move in enumerate(opponent_options[:]): - if skip: - state_scores[(user_move, opponent_move)] = float('nan') - continue - - score = 0 - state_instructions = get_all_state_instructions(mutator, user_move, opponent_move) - if depth == 0: - for instructions in state_instructions: - mutator.apply(instructions.instructions) - t_score = evaluate(mutator.state) - score += (t_score * instructions.percentage) - mutator.reverse(instructions.instructions) - - else: - for instructions in state_instructions: - this_percentage = instructions.percentage - mutator.apply(instructions.instructions) - next_turn_user_options, next_turn_opponent_options = mutator.state.get_all_options() - safest = pick_safest(get_payoff_matrix(mutator, next_turn_user_options, next_turn_opponent_options, depth=depth, prune=prune)) - score += safest[1] * this_percentage - mutator.reverse(instructions.instructions) - - state_scores[(user_move, opponent_move)] = score - - if score < worst_score_for_this_row: - worst_score_for_this_row = score - - if prune and score < best_score: - skip = True - - # MOST of the time in pokemon, an opponent's move that causes a prune will cause a prune elsewhere - # move this item to the front of the list to prune faster - opponent_options = move_item_to_front_of_list(opponent_options, opponent_move) - - if worst_score_for_this_row > best_score: - best_score = worst_score_for_this_row - - return state_scores diff --git a/showdown/engine/special_effects/__init__.py b/showdown/engine/special_effects/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/engine/special_effects/abilities/__init__.py b/showdown/engine/special_effects/abilities/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/engine/special_effects/abilities/before_move.py b/showdown/engine/special_effects/abilities/before_move.py deleted file mode 100644 index dada13ca4..000000000 --- a/showdown/engine/special_effects/abilities/before_move.py +++ /dev/null @@ -1,75 +0,0 @@ -from data import pokedex -import constants -from showdown.engine.helpers import calculate_stats - - -def stancechange(state, attacking_side, attacking_move, attacking_pokemon, defending_pokemon): - if attacking_pokemon.id in ['aegislash', 'aegislashblade']: - if attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - change_stats_into = 'aegislashblade' - elif attacking_move[constants.ID] == 'kingsshield': - change_stats_into = 'aegislash' - else: - return None - - new_stats = calculate_stats( - pokedex[change_stats_into][constants.BASESTATS], - attacking_pokemon.level, - nature=attacking_pokemon.nature, - evs=attacking_pokemon.evs - ) - - return [ - ( - constants.MUTATOR_CHANGE_STATS, - attacking_side, - ( - attacking_pokemon.maxhp, - new_stats[constants.ATTACK], - new_stats[constants.DEFENSE], - new_stats[constants.SPECIAL_ATTACK], - new_stats[constants.SPECIAL_DEFENSE], - attacking_pokemon.speed - ), - ( - attacking_pokemon.hp, - attacking_pokemon.attack, - attacking_pokemon.defense, - attacking_pokemon.special_attack, - attacking_pokemon.special_defense, - attacking_pokemon.speed - ) - ) - - ] - return None - - -def protean(state, attacking_side, attacking_move, attacking_pokemon, defending_pokemon): - if ( - [attacking_move[constants.TYPE]] != attacking_pokemon.types and - constants.TYPECHANGE not in attacking_pokemon.volatile_status - ): - return [ - ( - constants.MUTATOR_CHANGE_TYPE, - attacking_side, - [attacking_move[constants.TYPE]], - attacking_pokemon.types - ), - ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - attacking_side, - constants.TYPECHANGE - ) - ] - - -libero = protean - - -def ability_before_move(ability_name, state, attacking_side, attacking_move, attacking_pokemon, defending_pokemon): - try: - return globals()[ability_name](state, attacking_side, attacking_move, attacking_pokemon, defending_pokemon) - except KeyError: - return None diff --git a/showdown/engine/special_effects/abilities/end_of_turn.py b/showdown/engine/special_effects/abilities/end_of_turn.py deleted file mode 100644 index 28dfb14a8..000000000 --- a/showdown/engine/special_effects/abilities/end_of_turn.py +++ /dev/null @@ -1,81 +0,0 @@ -import constants - - -def poisonheal(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.status in [constants.POISON, constants.TOXIC]: - if attacking_pokemon.hp: - return ( - constants.MUTATOR_HEAL, - attacking_side, - min(attacking_pokemon.maxhp - attacking_pokemon.hp, round(0.125 * attacking_pokemon.maxhp)) - ) - - -def speedboost(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.speed_boost < 6: - return ( - constants.MUTATOR_BOOST, - attacking_side, - constants.SPEED, - 1 - ) - - -def hydration(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.status is not None and state.weather in [constants.RAIN, constants.HEAVY_RAIN]: - return ( - constants.MUTATOR_REMOVE_STATUS, - attacking_side, - attacking_pokemon.status - ) - - -def solarpower(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather in [constants.SUN, constants.DESOLATE_LAND]: - return ( - constants.MUTATOR_DAMAGE, - attacking_side, - min(attacking_pokemon.hp, round(0.125 * attacking_pokemon.maxhp)) - ) - - -def raindish(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather == constants.RAIN or state.weather == constants.HEAVY_RAIN: - return ( - constants.MUTATOR_HEAL, - attacking_side, - min(attacking_pokemon.maxhp - attacking_pokemon.hp, round(0.0625 * attacking_pokemon.maxhp)) - ) - - -def dryskin(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather == constants.RAIN or state.weather == constants.HEAVY_RAIN: - return ( - constants.MUTATOR_HEAL, - attacking_side, - min(attacking_pokemon.maxhp - attacking_pokemon.hp, round(0.125 * attacking_pokemon.maxhp)) - ) - elif state.weather == constants.SUN or state.weather == constants.DESOLATE_LAND: - return ( - constants.MUTATOR_DAMAGE, - attacking_side, - min(attacking_pokemon.hp, round(0.125 * attacking_pokemon.maxhp)) - ) - - -def icebody(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather in constants.HAIL_OR_SNOW: - return ( - constants.MUTATOR_HEAL, - attacking_side, - min(attacking_pokemon.maxhp - attacking_pokemon.hp, round(0.0625 * attacking_pokemon.maxhp)) - ) - - -def ability_end_of_turn(ability_name, state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.ability == 'neutralizinggas' or defending_pokemon.ability == 'neutralizinggas' or not attacking_pokemon.hp: - return None - try: - return globals()[ability_name](state, attacking_side, attacking_pokemon, defending_side, defending_pokemon) - except KeyError: - pass diff --git a/showdown/engine/special_effects/abilities/modify_attack_against.py b/showdown/engine/special_effects/abilities/modify_attack_against.py deleted file mode 100644 index 6427d26e9..000000000 --- a/showdown/engine/special_effects/abilities/modify_attack_against.py +++ /dev/null @@ -1,600 +0,0 @@ -import constants - -from ...damage_calculator import is_super_effective - - -def levitate(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ground' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT and attacking_move[constants.ID] != 'thousandarrows': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def lightningrod(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'electric' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = { - constants.SPECIAL_ATTACK: 1 - } - return attacking_move - - -def stormdrain(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'water' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = { - constants.SPECIAL_ATTACK: 1 - } - return attacking_move - - -def goodasgold(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.STATUS: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = False - return attacking_move - - -def voltabsorb(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'electric' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.HEAL_TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.HEAL] = [ - 1, - 4 - ] - return attacking_move - - -def waterabsorb(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'water' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.HEAL_TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.HEAL] = [ - 1, - 4 - ] - return attacking_move - - -def eartheater(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ground' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.HEAL_TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.HEAL] = [ - 1, - 4 - ] - return attacking_move - - -def thermalexchange(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'fire' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = { - constants.CHANCE: 100, - constants.BOOSTS: {constants.ATTACK: 1} - } - return attacking_move - - -def motordrive(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'electric' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = { - constants.SPEED: 1 - } - return attacking_move - - -def sapsipper(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'grass' and attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.VOLATILE_STATUS] = None - attacking_move[constants.TARGET] = constants.NORMAL - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = { - constants.ATTACK: 1 - } - return attacking_move - - -def multiscale(attacking_move, attacking_pokemon, defending_pokemon): - if defending_pokemon.hp >= defending_pokemon.maxhp: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 2 - - return attacking_move - - -def thickfat(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] in ['fire', 'ice']: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 2 - return attacking_move - - -def solidrock(attacking_move, attacking_pokemon, defending_pokemon): - if is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= (3/4) - return attacking_move - - -def contrary(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TARGET] in constants.MOVE_TARGET_OPPONENT: - attacking_move = attacking_move.copy() - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - for k, v in attacking_move[constants.BOOSTS].items(): - attacking_move[constants.BOOSTS][k] = -1*v - if attacking_move[constants.SECONDARY] and constants.BOOSTS in attacking_move[constants.SECONDARY]: - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.BOOSTS] = attacking_move[constants.SECONDARY][constants.BOOSTS].copy() - for k, v in attacking_move[constants.SECONDARY][constants.BOOSTS].items(): - attacking_move[constants.SECONDARY][constants.BOOSTS][k] = -1*v - - return attacking_move - - -def noguard(attacking_move, attacking_pokemon, defending_pokemon): - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - return attacking_move - - -def flashfire(attacking_move, attacking_pokemon, defending_pokemon): - # does not account for the 'flashfire' volatile status - if attacking_move[constants.TYPE] == 'fire': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.STATUS] = None - return attacking_move - - -def wellbakedbody(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'fire': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - attacking_move[constants.STATUS] = None - attacking_move[constants.SECONDARY] = None - attacking_move[constants.CATEGORY] = constants.STATUS - attacking_move[constants.BOOSTS] = {constants.DEFENSE: 2} - return attacking_move - - -def armortail(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.PRIORITY] > 0: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = False - return attacking_move - - -def bulletproof(attacking_move, attacking_pokemon, defending_pokemon): - if 'bullet' in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def windrider(attacking_move, attacking_pokemon, defending_pokemon): - if 'wind' in attacking_move[constants.FLAGS] and attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - else: - attacking_move[constants.BOOSTS] = dict() - - if constants.ATTACK in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.ATTACK] += 1 - else: - attacking_move[constants.BOOSTS][constants.ATTACK] = 1 - - return attacking_move - - -def furcoat(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - return attacking_move - - -def fluffy(attacking_move, attacking_pokemon, defending_pokemon): - if constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - if attacking_move[constants.TYPE] == 'fire': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def magicbounce(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.FLAGS].get(constants.REFLECTABLE): - attacking_move = attacking_move.copy() - attacking_move[constants.TARGET] = constants.SELF - - return attacking_move - - -def ironbarbs(attacking_move, attacking_pokemon, defending_pokemon): - if constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [-1, 8] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def roughskin(attacking_move, attacking_pokemon, defending_pokemon): - if constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [-1, 16] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def wonderguard(attacking_move, attacking_pokemon, defending_pokemon): - if not is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def stamina(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = {constants.DEFENSE: 1} - - return attacking_move - - -def waterbubble(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'fire': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 2 - - return attacking_move - - -def queenlymajesty(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.PRIORITY] > 0: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - - return attacking_move - - -def tanglinghair(attacking_move, attacking_pokemon, defending_pokemon): - if constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - if constants.SELF in attacking_move: - attacking_move[constants.SELF] = attacking_move[constants.SELF].copy() - else: - attacking_move[constants.SELF] = dict() - - if constants.BOOSTS in attacking_move[constants.SELF]: - attacking_move[constants.SELF][constants.BOOSTS] = attacking_move[constants.SELF][constants.BOOSTS].copy() - else: - attacking_move[constants.SELF][constants.BOOSTS] = dict() - - if constants.SPEED in attacking_move[constants.SELF][constants.BOOSTS]: - attacking_move[constants.SELF][constants.BOOSTS][constants.SPEED] -= 1 - else: - attacking_move[constants.SELF][constants.BOOSTS][constants.SPEED] = -1 - - return attacking_move - - -def cottondown(attacking_move, attacking_pokemon, defending_pokemon): - attacking_move = attacking_move.copy() - if constants.SELF in attacking_move: - attacking_move[constants.SELF] = attacking_move[constants.SELF].copy() - else: - attacking_move[constants.SELF] = dict() - - if constants.BOOSTS in attacking_move[constants.SELF]: - attacking_move[constants.SELF][constants.BOOSTS] = attacking_move[constants.SELF][constants.BOOSTS].copy() - else: - attacking_move[constants.SELF][constants.BOOSTS] = dict() - - if constants.SPEED in attacking_move[constants.SELF][constants.BOOSTS]: - attacking_move[constants.SELF][constants.BOOSTS][constants.SPEED] -= 1 - else: - attacking_move[constants.SELF][constants.BOOSTS][constants.SPEED] = -1 - - return attacking_move - - -def marvelscale(attacking_move, attacking_pokemon, defending_pokemon): - if defending_pokemon.status is not None and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 1.5 - - return attacking_move - - -def justified(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'dark' and attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = { # damaging moves dont have boosts so dont bother copying - constants.ATTACK: 1 - } - - return attacking_move - - -def shielddust(attacking_move, attacking_pokemon, defending_pokemon): - if constants.SECONDARY in attacking_move: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = False - - return attacking_move - - -def competitive(attacking_move, attacking_pokemon, defending_pokemon): - attacking_move = attacking_move.copy() - if attacking_move[constants.TARGET] == constants.NORMAL: - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - for boost in attacking_move[constants.BOOSTS].copy(): - if attacking_move[constants.BOOSTS][boost] < 0: - if constants.SPECIAL_ATTACK not in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.SPECIAL_ATTACK] = 2 - else: - attacking_move[constants.BOOSTS][constants.SPECIAL_ATTACK] += 2 - - elif attacking_move[constants.SECONDARY] and constants.BOOSTS in attacking_move[constants.SECONDARY]: - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.BOOSTS] = attacking_move[constants.SECONDARY][constants.BOOSTS].copy() - for boost in attacking_move[constants.SECONDARY][constants.BOOSTS].copy(): - if attacking_move[constants.SECONDARY][constants.BOOSTS][boost] < 0: - if constants.SPECIAL_ATTACK not in attacking_move[constants.SECONDARY][constants.BOOSTS]: - attacking_move[constants.SECONDARY][constants.BOOSTS][constants.SPECIAL_ATTACK] = 2 - else: - attacking_move[constants.SECONDARY][constants.BOOSTS][constants.SPECIAL_ATTACK] += 2 - - return attacking_move - - -def defiant(attacking_move, attacking_pokemon, defending_pokemon): - attacking_move = attacking_move.copy() - if attacking_move[constants.TARGET] == constants.NORMAL: - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - for boost in attacking_move[constants.BOOSTS].copy(): - if attacking_move[constants.BOOSTS][boost] < 0: - if constants.ATTACK not in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.ATTACK] = 2 - else: - attacking_move[constants.BOOSTS][constants.ATTACK] += 2 - - elif attacking_move[constants.SECONDARY] and constants.BOOSTS in attacking_move[constants.SECONDARY]: - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.BOOSTS] = attacking_move[constants.SECONDARY][constants.BOOSTS].copy() - for boost in attacking_move[constants.SECONDARY][constants.BOOSTS].copy(): - if attacking_move[constants.SECONDARY][constants.BOOSTS][boost] < 0: - if constants.ATTACK not in attacking_move[constants.SECONDARY][constants.BOOSTS]: - attacking_move[constants.SECONDARY][constants.BOOSTS][constants.ATTACK] = 2 - else: - attacking_move[constants.SECONDARY][constants.BOOSTS][constants.ATTACK] += 2 - return attacking_move - - -def weakarmor(attacking_move, attacking_pokemon, defending_pokemon): - if constants.PHYSICAL in attacking_move[constants.CATEGORY]: - attacking_move = attacking_move.copy() - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - else: - attacking_move[constants.BOOSTS] = dict() - - if constants.DEFENSE in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.DEFENSE] -= 1 - else: - attacking_move[constants.BOOSTS][constants.DEFENSE] = -1 - - if constants.SPEED in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.SPEED] += 2 - else: - attacking_move[constants.BOOSTS][constants.SPEED] = 2 - - return attacking_move - - -def liquidooze(attacking_move, attacking_pokemon, defending_pokemon): - if constants.DRAIN in attacking_move: - attacking_move = attacking_move.copy() - attacking_move[constants.DRAIN] = attacking_move[constants.DRAIN].copy() - attacking_move[constants.DRAIN][0] *= -1 - - return attacking_move - - -def innerfocus(attacking_move, attacking_pokemon, defending_pokemon): - if ( - attacking_move[constants.SECONDARY] and - constants.VOLATILE_STATUS in attacking_move[constants.SECONDARY] and - attacking_move[constants.SECONDARY][constants.VOLATILE_STATUS] == constants.FLINCH - ): - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = False - - return attacking_move - - -def soundproof(attacking_move, attacking_pokemon, defending_pokemon): - if constants.SOUND in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = False - - return attacking_move - - -def darkaura(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'dark' and attacking_pokemon.ability != 'aurabreak': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.33 - - return attacking_move - - -def fairyaura(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'fairy' and attacking_pokemon.ability != 'aurabreak': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.33 - - return attacking_move - - -def icescales(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.SPECIAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - - return attacking_move - - -def punkrock(attacking_move, attacking_pokemon, defending_pokemon): - if constants.SOUND in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - return attacking_move - - -def steamengine(attacking_move, attacking_pokemon, defending_pokemon): - # duplicated from 'weakarmor' - if attacking_move[constants.TYPE] in ['fire', 'water']: - attacking_move = attacking_move.copy() - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - else: - attacking_move[constants.BOOSTS] = dict() - - if constants.SPEED in attacking_move[constants.BOOSTS]: - attacking_move[constants.BOOSTS][constants.SPEED] += 6 - else: - attacking_move[constants.BOOSTS][constants.SPEED] = 6 - - return attacking_move - - -def damp(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.ID] in ["explosion", "selfdestruct", "mistyexplosion", "mindblown"]: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [0, 1] - attacking_move[constants.BASE_POWER] = 0 - - return attacking_move - - -def guarddog(attacking_move, attacking_pokemon, defending_pokemon): - if constants.DRAG in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move_flags = attacking_move[constants.FLAGS].copy() - attacking_move_flags.pop(constants.DRAG) - attacking_move[constants.FLAGS] = attacking_move_flags - - return attacking_move - - -def purifyingsalt(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == "ghost": - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 2 - - return attacking_move - - -ability_lookup = { - 'guarddog': guarddog, - 'wellbakedbody': wellbakedbody, - 'thermalexchange': thermalexchange, - 'purifyingsalt': purifyingsalt, - 'windrider': windrider, - 'goodasgold': goodasgold, - 'damp': damp, - 'steamengine': steamengine, - 'punkrock': punkrock, - 'icescales': icescales, - 'armortail': armortail, - 'fairyaura': fairyaura, - 'darkaura': darkaura, - 'soundproof': soundproof, - 'innerfocus': innerfocus, - 'liquidooze': liquidooze, - 'weakarmor': weakarmor, - 'defiant': defiant, - 'competitive': competitive, - 'shielddust': shielddust, - 'justified': justified, - 'marvelscale': marvelscale, - 'tanglinghair': tanglinghair, - 'cottondown': cottondown, - 'queenlymajesty': queenlymajesty, - 'waterbubble': waterbubble, - 'stamina': stamina, - 'levitate': levitate, - 'lightningrod': lightningrod, - 'stormdrain': stormdrain, - 'voltabsorb': voltabsorb, - 'waterabsorb': waterabsorb, - 'dryskin': waterabsorb, - 'eartheater': eartheater, - 'motordrive': motordrive, - 'sapsipper': sapsipper, - 'multiscale': multiscale, - 'shadowshield': multiscale, - 'thickfat': thickfat, - 'solidrock': solidrock, - 'contrary': contrary, - 'noguard': noguard, - 'flashfire': flashfire, - 'bulletproof': bulletproof, - 'furcoat': furcoat, - 'prismarmor': solidrock, - 'filter': solidrock, - 'fluffy': fluffy, - 'ironbarbs': ironbarbs, - 'wonderguard': wonderguard, - 'roughskin': roughskin, - 'magicbounce': magicbounce -} - - -def ability_modify_attack_against(ability_name, attacking_move, attacking_pokemon, defending_pokemon): - if ( - attacking_pokemon.ability == 'neutralizinggas' or - defending_pokemon.ability == 'neutralizinggas' or - attacking_pokemon.ability in constants.ABILITIES_THAT_IGNORE_OTHER_ABILITIES and defending_pokemon.ability in constants.BYPASSABLE_ABILITIES - ): - return attacking_move - ability_func = ability_lookup.get(ability_name) - if ability_func is not None: - return ability_func(attacking_move, attacking_pokemon, defending_pokemon) - else: - return attacking_move diff --git a/showdown/engine/special_effects/abilities/modify_attack_being_used.py b/showdown/engine/special_effects/abilities/modify_attack_being_used.py deleted file mode 100644 index c3c5b79ad..000000000 --- a/showdown/engine/special_effects/abilities/modify_attack_being_used.py +++ /dev/null @@ -1,453 +0,0 @@ -import constants - -from ...damage_calculator import is_not_very_effective -from ...damage_calculator import is_super_effective - - -def analytic(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if not first_move: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def adaptability(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] in attacking_pokemon.types: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 4/3) - return attacking_move - - -def rockypayload(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == "rock": - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 3/2) - return attacking_move - - -def aerilate(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'normal': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 1.2) - attacking_move[constants.TYPE] = 'flying' - return attacking_move - - -def galvanize(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'normal': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 1.2) - attacking_move[constants.TYPE] = 'electric' - return attacking_move - - -def liquidvoice(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if constants.SOUND in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'water' - return attacking_move - - -def compoundeyes(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.ACCURACY] is not True: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] *= 1.3 - return attacking_move - - -def contrary(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - # look at this logic, I want to fucking die - if attacking_move[constants.TARGET] in constants.MOVE_TARGET_SELF: - attacking_move = attacking_move.copy() - if constants.BOOSTS in attacking_move: - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - for k, v in attacking_move[constants.BOOSTS].items(): - attacking_move[constants.BOOSTS][k] = -1*v - if attacking_move[constants.SECONDARY] and constants.BOOSTS in attacking_move[constants.SECONDARY]: - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.BOOSTS] = attacking_move[constants.SECONDARY][constants.BOOSTS].copy() - for k, v in attacking_move[constants.SECONDARY][constants.BOOSTS].items(): - attacking_move[constants.SECONDARY][constants.BOOSTS][k] = -1*v - elif constants.SELF in attacking_move and constants.BOOSTS in attacking_move[constants.SELF]: - attacking_move = attacking_move.copy() - attacking_move[constants.SELF] = attacking_move[constants.SELF].copy() - attacking_move[constants.SELF][constants.BOOSTS] = attacking_move[constants.SELF][constants.BOOSTS].copy() - for k, v in attacking_move[constants.SELF][constants.BOOSTS].items(): - attacking_move[constants.SELF][constants.BOOSTS][k] = -1 * v - - elif attacking_move[constants.SECONDARY] and constants.SELF in attacking_move[constants.SECONDARY]: - if constants.BOOSTS in attacking_move[constants.SECONDARY][constants.SELF]: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.SELF] = attacking_move[constants.SECONDARY][constants.SELF].copy() - attacking_move[constants.SECONDARY][constants.SELF][constants.BOOSTS] = attacking_move[constants.SECONDARY][constants.SELF][constants.BOOSTS].copy() - for k, v in attacking_move[constants.SECONDARY][constants.SELF][constants.BOOSTS].items(): - attacking_move[constants.SECONDARY][constants.SELF][constants.BOOSTS][k] = -1 * v - - return attacking_move - - -def hustle(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] *= 0.8 - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def ironfist(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if "punch" in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def sharpness(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if "slicing" in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def megalauncher(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if "pulse" in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def noguard(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - return attacking_move - - -def pixilate(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'normal': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 1.2) - attacking_move[constants.TYPE] = 'fairy' - return attacking_move - - -def refrigerate(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'normal': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = int(attacking_move[constants.BASE_POWER] * 1.2) - attacking_move[constants.TYPE] = 'ice' - return attacking_move - - -def scrappy(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - # this logic is technically wrong, but it at least allows the move to hit - # for example, a fighting move on ice/ghost should technically be super-effective - # this logic would make it do neutral damage instead - if 'ghost' in defending_pokemon.types: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = "typeless" - return attacking_move - - -def serenegrace(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.SECONDARY]: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = attacking_move[constants.SECONDARY].copy() - attacking_move[constants.SECONDARY][constants.CHANCE] *= 2 - if attacking_move[constants.SECONDARY][constants.CHANCE] > 100: - attacking_move[constants.SECONDARY][constants.CHANCE] = 100 - return attacking_move - - -def sheerforce(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.SECONDARY]: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = False - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def strongjaw(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if "bite" in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def technician(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.BASE_POWER] <= 60: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def toughclaws(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if "contact" in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def toxicboost(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - if attacking_pokemon.status in [constants.POISON, constants.TOXIC]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def hugepower(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def guts(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_pokemon.status is not None and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - if attacking_pokemon.status == constants.BURN: - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def reckless(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if constants.RECOIL in attacking_move: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def rockhead(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if constants.RECOIL in attacking_move: - attacking_move = attacking_move.copy() - del attacking_move[constants.RECOIL] - return attacking_move - - -def parentalbond(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.25 - return attacking_move - - -def tintedlens(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if is_not_very_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def skilllink(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.ID] in ['bulletseed', 'iciclespear', 'pinmissile', 'rockblast', 'tailslap', 'watershuriken']: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 5 - return attacking_move - - -def waterbubble(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'water': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - - return attacking_move - - -def steelworker(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'steel': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def neuroforce(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.25 - return attacking_move - - -def blaze(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'fire' and (attacking_pokemon.hp / attacking_pokemon.maxhp) <= 1/3: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def torrent(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'water' and (attacking_pokemon.hp / attacking_pokemon.maxhp) <= 1/3: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - - return attacking_move - - -def overgrow(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'grass' and (attacking_pokemon.hp / attacking_pokemon.maxhp) <= 1/3: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def swarm(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'bug' and (attacking_pokemon.hp / attacking_pokemon.maxhp) <= 1/3: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def defeatist(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_pokemon.hp*2 <= attacking_pokemon.maxhp: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - - return attacking_move - - -def sandforce(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if weather == constants.SAND and attacking_move[constants.TYPE] in ['ground', 'rock', 'steel']: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def darkaura(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'dark' and defending_pokemon.ability != 'aurabreak': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.33 - - return attacking_move - - -def fairyaura(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'fairy' and defending_pokemon.ability != 'aurabreak': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.33 - return attacking_move - - -def prankster(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if 'dark' in defending_pokemon.types and attacking_move[constants.CATEGORY] == constants.STATUS: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = False - return attacking_move - - -def gorillatactics(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def punkrock(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if constants.SOUND in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def steelyspirit(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'steel': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def stakeout(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if constants.SWITCH_STRING in defending_move: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def solarpower(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if weather in [constants.SUN, constants.DESOLATE_LAND]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def transistor(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'electric': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def dragonsmaw(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.TYPE] == 'dragon': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def windrider(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_move[constants.ID] == 'tailwind': - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = {constants.ATTACK: 1} - return attacking_move - - -ability_lookup = { - 'windrider': windrider, - 'rockypayload': rockypayload, - 'transistor': transistor, - 'dragonsmaw': dragonsmaw, - 'solarpower': solarpower, - 'liquidvoice': liquidvoice, - 'stakeout': stakeout, - 'steelyspirit': steelyspirit, - 'punkrock': punkrock, - 'gorillatactics': gorillatactics, - 'prankster': prankster, - 'toughclaws': toughclaws, - 'fairyaura': fairyaura, - 'darkaura': darkaura, - 'sandforce': sandforce, - 'defeatist': defeatist, - 'swarm': swarm, - 'overgrow': overgrow, - 'torrent': torrent, - 'blaze': blaze, - 'neuroforce': neuroforce, - 'steelworker': steelworker, - 'galvanize': galvanize, - 'waterbubble': waterbubble, - 'adaptability': adaptability, - 'analytic': analytic, - 'aerilate': aerilate, - 'compoundeyes': compoundeyes, - 'contrary': contrary, - 'hustle': hustle, - 'ironfist': ironfist, - 'megalauncher': megalauncher, - 'noguard': noguard, - 'pixilate': pixilate, - 'refrigerate': refrigerate, - 'scrappy': scrappy, - 'serenegrace': serenegrace, - 'sheerforce': sheerforce, - 'strongjaw': strongjaw, - 'technician': technician, - 'hugepower': hugepower, - 'purepower': hugepower, - 'reckless': reckless, - 'rockhead': rockhead, - 'guts': guts, - 'parentalbond': parentalbond, - 'toxicboost': toxicboost, - 'tintedlens': tintedlens, - 'sharpness': sharpness, - 'skilllink': skilllink -} - - -def ability_modify_attack_being_used(ability_name, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather): - if attacking_pokemon.ability == 'neutralizinggas' or defending_pokemon.ability == 'neutralizinggas': - return attacking_move - ability_func = ability_lookup.get(ability_name) - if ability_func is not None: - return ability_func(attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather) - else: - return attacking_move diff --git a/showdown/engine/special_effects/abilities/on_switch_in.py b/showdown/engine/special_effects/abilities/on_switch_in.py deleted file mode 100644 index 78efae2e2..000000000 --- a/showdown/engine/special_effects/abilities/on_switch_in.py +++ /dev/null @@ -1,206 +0,0 @@ -import constants - - -def sandstream(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather not in constants.IRREVERSIBLE_WEATHER and state.weather != constants.SAND: - return [( - constants.MUTATOR_WEATHER_START, - constants.SAND, - state.weather - )] - return None - - -def snowwarning(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather not in constants.IRREVERSIBLE_WEATHER and state.weather != constants.ICE_WEATHER: - return [( - constants.MUTATOR_WEATHER_START, - constants.ICE_WEATHER, - state.weather - )] - return None - - -def drought(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather not in constants.IRREVERSIBLE_WEATHER and state.weather != constants.SUN: - return [( - constants.MUTATOR_WEATHER_START, - constants.SUN, - state.weather - )] - return None - - -def drizzle(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.weather not in constants.IRREVERSIBLE_WEATHER and state.weather != constants.RAIN: - return [( - constants.MUTATOR_WEATHER_START, - constants.RAIN, - state.weather - )] - return None - - -def desolateland(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - return [( - constants.MUTATOR_WEATHER_START, - constants.DESOLATE_LAND, - state.weather - )] - - -def primordialsea(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - return [( - constants.MUTATOR_WEATHER_START, - constants.HEAVY_RAIN, - state.weather - )] - - -def electricsurge(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field != constants.ELECTRIC_TERRAIN: - return [( - constants.MUTATOR_FIELD_START, - constants.ELECTRIC_TERRAIN, - state.field - )] - - -def psychicsurge(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field != constants.PSYCHIC_TERRAIN: - return [( - constants.MUTATOR_FIELD_START, - constants.PSYCHIC_TERRAIN, - state.field - )] - - -def grassysurge(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field != constants.GRASSY_TERRAIN: - return [( - constants.MUTATOR_FIELD_START, - constants.GRASSY_TERRAIN, - state.field - )] - - -def mistysurge(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field != constants.MISTY_TERRAIN: - return [( - constants.MUTATOR_FIELD_START, - constants.MISTY_TERRAIN, - state.field - )] - - -def intimidate(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if defending_pokemon.ability in ['fullmetalbody', 'clearbody', 'hypercutter', 'whitesmoke', 'innerfocus', 'oblivious', 'owntempo', 'scrappy']: - return None - if defending_pokemon.item in constants.IMMUNE_TO_STAT_LOWERING_ITEMS: - return None - - # I shouldn't be doing this here but w/e sue me - if defending_pokemon.ability == 'defiant' or defending_pokemon.ability == "guarddog": - return [( - constants.MUTATOR_BOOST, - defending_side, - constants.ATTACK, - min(6-defending_pokemon.attack_boost, 1) #stop boosting when it reaches 6 - )] - - # same as above, shouldn't be done here - if defending_pokemon.ability == 'rattled': - return [( - constants.MUTATOR_UNBOOST, - defending_side, - constants.ATTACK, - 1 - ), ( - constants.MUTATOR_BOOST, - defending_side, - constants.SPEED, - min(6-defending_pokemon.speed_boost, 1) #stop boosting when it reaches 6 - )] - - if defending_pokemon.ability == 'competitive': - return [( - constants.MUTATOR_UNBOOST, - defending_side, - constants.ATTACK, - 1 - ), ( - constants.MUTATOR_BOOST, - defending_side, - constants.SPECIAL_ATTACK, - min(6-defending_pokemon.special_attack_boost, 2) #stop boosting when it reaches 6 - )] - - if defending_pokemon.attack_boost == -6: - return None - - return [( - constants.MUTATOR_UNBOOST, - defending_side, - constants.ATTACK, - min(1, 6+defending_pokemon.attack_boost) - )] - - -def dauntlessshield(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - return [( - constants.MUTATOR_BOOST, - attacking_side, - constants.DEFENSE, - 1 - )] - - -def intrepidsword(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - return [( - constants.MUTATOR_BOOST, - attacking_side, - constants.ATTACK, - 1 - )] - - -def screencleaner(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - instructions = list() - for side_condition in [constants.REFLECT, constants.LIGHT_SCREEN, constants.AURORA_VEIL]: - if state.user.side_conditions[side_condition]: - instructions.append( - (constants.MUTATOR_SIDE_END, constants.USER, side_condition, state.user.side_conditions[side_condition]), - ) - if state.opponent.side_conditions[side_condition]: - instructions.append( - (constants.MUTATOR_SIDE_END, constants.OPPONENT, side_condition, state.opponent.side_conditions[side_condition]), - ) - return instructions or None - - -ability_lookup = { - "screencleaner": screencleaner, - "intrepidsword": intrepidsword, - "dauntlessshield": dauntlessshield, - "mistysurge": mistysurge, - "grassysurge": grassysurge, - "psychicsurge": psychicsurge, - "electricsurge": electricsurge, - "sandstream": sandstream, - "snowwarning": snowwarning, - "drought": drought, - "drizzle": drizzle, - "desolateland": desolateland, - "primordialsea": primordialsea, - 'intimidate': intimidate -} - - -def ability_on_switch_in(ability_name, state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.ability == 'neutralizinggas' or defending_pokemon.ability == 'neutralizinggas': - return None - ability_func = ability_lookup.get(ability_name) - if ability_func is not None: - return ability_func(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon) - else: - return None diff --git a/showdown/engine/special_effects/items/__init__.py b/showdown/engine/special_effects/items/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/engine/special_effects/items/end_of_turn.py b/showdown/engine/special_effects/items/end_of_turn.py deleted file mode 100644 index 99f9f048b..000000000 --- a/showdown/engine/special_effects/items/end_of_turn.py +++ /dev/null @@ -1,48 +0,0 @@ -import constants - - -def leftovers(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.hp < attacking_pokemon.maxhp: - return ( - constants.MUTATOR_HEAL, - attacking_side, - min(attacking_pokemon.maxhp - attacking_pokemon.hp, round(0.0625 * attacking_pokemon.maxhp)) - ) - return None - - -def blacksludge(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if 'poison' in attacking_pokemon.types: - return leftovers(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon) - else: - return ( - constants.MUTATOR_DAMAGE, - attacking_side, - min(attacking_pokemon.hp, round(0.0625 * attacking_pokemon.maxhp)) - ) - - -def flameorb(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.status is None and 'fire' not in attacking_pokemon.types: - return ( - constants.MUTATOR_APPLY_STATUS, - attacking_side, - constants.BURN - ) - - -def toxicorb(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.status is None and 'poison' not in attacking_pokemon.types: - return ( - constants.MUTATOR_APPLY_STATUS, - attacking_side, - constants.TOXIC - ) - - -def item_end_of_turn(item_name, state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.hp: - try: - return globals()[item_name](state, attacking_side, attacking_pokemon, defending_side, defending_pokemon) - except KeyError: - pass diff --git a/showdown/engine/special_effects/items/modify_attack_against.py b/showdown/engine/special_effects/items/modify_attack_against.py deleted file mode 100644 index 475730479..000000000 --- a/showdown/engine/special_effects/items/modify_attack_against.py +++ /dev/null @@ -1,67 +0,0 @@ -import constants - -from ...damage_calculator import is_super_effective - - -def eviolite(attacking_move, attacking_pokemon, defending_pokemon): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 1.5 - return attacking_move - - -def rockyhelmet(attacking_move, attacking_pokemon, defending_pokemon): - if constants.CONTACT in attacking_move[constants.FLAGS]: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [-1, 6] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def assaultvest(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.SPECIAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] /= 1.5 - return attacking_move - - -def airballoon(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ground' and attacking_move[constants.ID] != 'thousandarrows': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def weaknesspolicy(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES and is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = { - constants.ATTACK: 2, - constants.SPECIAL_ATTACK: 2, - } - return attacking_move - - -def covertcloak(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.SECONDARY] and constants.SELF not in attacking_move[constants.SECONDARY]: - attacking_move = attacking_move.copy() - attacking_move[constants.SECONDARY] = None - - return attacking_move - - -item_lookup = { - 'covertcloak': covertcloak, - 'weaknesspolicy': weaknesspolicy, - 'eviolite': eviolite, - 'rockyhelmet': rockyhelmet, - 'assaultvest': assaultvest, - 'airballoon': airballoon -} - - -def item_modify_attack_against(item_name, attacking_move, attacking_pokemon, defending_pokemon): - item_func = item_lookup.get(item_name) - if item_func is not None: - return item_func(attacking_move, attacking_pokemon, defending_pokemon) - else: - return attacking_move diff --git a/showdown/engine/special_effects/items/modify_attack_being_used.py b/showdown/engine/special_effects/items/modify_attack_being_used.py deleted file mode 100644 index d6bf25401..000000000 --- a/showdown/engine/special_effects/items/modify_attack_being_used.py +++ /dev/null @@ -1,230 +0,0 @@ -import constants - -from ...damage_calculator import is_super_effective - - -def choiceband(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def choicespecs(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.SPECIAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def lifeorb(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - attacking_move[constants.HEAL] = [-1, 10] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def expertbelt(attacking_move, attacking_pokemon, defending_pokemon): - if is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def blackglasses(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'dark': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def magnet(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'electric': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def spelltag(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ghost': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def thickclub(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_pokemon.id in ['cubone', 'marowak', 'marowakalola'] and attacking_move[constants.CATEGORY] == constants.PHYSICAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def whiteherb(attacking_move, attacking_pokemon, defending_pokemon): - if constants.BOOSTS in attacking_move and attacking_move[constants.TARGET] in constants.MOVE_TARGET_SELF: - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = attacking_move[constants.BOOSTS].copy() - for k in attacking_move[constants.BOOSTS].copy(): - if attacking_move[constants.BOOSTS][k] < 0: - del attacking_move[constants.BOOSTS][k] - return attacking_move - - -def wiseglasses(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.CATEGORY] == constants.SPECIAL: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.1 - return attacking_move - - -def blackbelt(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'dark': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def charcoal(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'fire': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def dragonfang(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'dragon': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def hardstone(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'rock': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def metalcoat(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'steel': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def miracleseed(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'grass': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def mysticwater(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'water': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def nevermeltice(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ice': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def poisonbarb(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'poison': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def sharpbeak(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'flying': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def silkscarf(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'normal': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def silverpowder(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'bug': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def softsand(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'ground': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def twistedspoon(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_move[constants.TYPE] == 'psychic': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def souldew(attacking_move, attacking_pokemon, defending_pokemon): - if ( - (attacking_pokemon.id == 'latios' or attacking_pokemon.id == 'latias') and - (attacking_move[constants.TYPE] == 'psychic' or attacking_move[constants.TYPE] == 'dragon') - ): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def adamantorb(attacking_move, attacking_pokemon, defending_pokemon): - if ( - attacking_pokemon.id == 'dialga' and - (attacking_move[constants.TYPE] == 'dragon' or attacking_move[constants.TYPE] == 'steel') - ): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def lustrousorb(attacking_move, attacking_pokemon, defending_pokemon): - if ( - attacking_pokemon.id == 'palkia' and - (attacking_move[constants.TYPE] == 'dragon' or attacking_move[constants.TYPE] == 'water') - ): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def griseousorb(attacking_move, attacking_pokemon, defending_pokemon): - if ( - (attacking_pokemon.id == 'giratina' or attacking_pokemon.id == 'giratinaorigin') and - (attacking_move[constants.TYPE] == 'dragon' or attacking_move[constants.TYPE] == 'ghost') - ): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.2 - return attacking_move - - -def lightball(attacking_move, attacking_pokemon, defending_pokemon): - if attacking_pokemon.id == 'pikachu': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def item_modify_attack_being_used(item_name, attacking_move, attacking_pokemon, defending_pokemon): - try: - return globals()[item_name](attacking_move, attacking_pokemon, defending_pokemon) - except KeyError: - return attacking_move diff --git a/showdown/engine/special_effects/items/on_switch_in.py b/showdown/engine/special_effects/items/on_switch_in.py deleted file mode 100644 index 9d1222a65..000000000 --- a/showdown/engine/special_effects/items/on_switch_in.py +++ /dev/null @@ -1,50 +0,0 @@ -import constants - - -def grassyseed(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field == constants.GRASSY_TERRAIN and attacking_pokemon.defense_boost < 6: - return [ - (constants.MUTATOR_BOOST, attacking_side, constants.DEFENSE, 1), - (constants.MUTATOR_CHANGE_ITEM, attacking_side, None, attacking_pokemon.item) - ] - - -def mistyseed(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field == constants.MISTY_TERRAIN and attacking_pokemon.special_defense_boost < 6: - return [ - (constants.MUTATOR_BOOST, attacking_side, constants.SPECIAL_DEFENSE, 1), - (constants.MUTATOR_CHANGE_ITEM, attacking_side, None, attacking_pokemon.item) - ] - - -def psychicseed(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field == constants.PSYCHIC_TERRAIN and attacking_pokemon.special_defense_boost < 6: - return [ - (constants.MUTATOR_BOOST, attacking_side, constants.SPECIAL_DEFENSE, 1), - (constants.MUTATOR_CHANGE_ITEM, attacking_side, None, attacking_pokemon.item) - ] - - -def electricseed(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if state.field == constants.ELECTRIC_TERRAIN and attacking_pokemon.defense_boost < 6: - return [ - (constants.MUTATOR_BOOST, attacking_side, constants.DEFENSE, 1), - (constants.MUTATOR_CHANGE_ITEM, attacking_side, None, attacking_pokemon.item) - ] - - -def boosterenergy(state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.ability in ["quarkdrive", "protosynthesis"]: - highest_stat = attacking_pokemon.get_highest_stat() - return [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, attacking_side, attacking_pokemon.ability + constants.STAT_ABBREVIATION_REVERSE_LOOKUPS[highest_stat]), - (constants.MUTATOR_CHANGE_ITEM, attacking_side, None, attacking_pokemon.item) - ] - - -def item_on_switch_in(item_name, state, attacking_side, attacking_pokemon, defending_side, defending_pokemon): - if attacking_pokemon.hp: - try: - return globals()[item_name](state, attacking_side, attacking_pokemon, defending_side, defending_pokemon) - except KeyError: - pass diff --git a/showdown/engine/special_effects/moves/__init__.py b/showdown/engine/special_effects/moves/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/showdown/engine/special_effects/moves/after_move.py b/showdown/engine/special_effects/moves/after_move.py deleted file mode 100644 index 32f377314..000000000 --- a/showdown/engine/special_effects/moves/after_move.py +++ /dev/null @@ -1,67 +0,0 @@ -import constants - - -def knockoff(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if move_hit and defending_side.active.item_can_be_removed(): - return [ - (constants.MUTATOR_CHANGE_ITEM, defender, None, defending_side.active.item) - ] - - -def phantomforce(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "phantomforce" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "phantomforce") - ] - - -def fly(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "fly" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "fly") - ] - - -def bounce(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "bounce" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "bounce") - ] - - -def dig(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "dig" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "dig") - ] - - -def dive(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "dive" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "dive") - ] - - -def shadowforce(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "shadowforce" in attacking_side.active.volatile_status: - return [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, attacker, "shadowforce") - ] - - -def doubleshock(state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - if "electric" in attacking_side.active.types: - new_types = attacking_side.active.types.copy() - new_types[new_types.index("electric")] = "typeless" - return [ - (constants.MUTATOR_CHANGE_TYPE, attacker, attacking_side.active.types, new_types) - ] - - -def after_move(move_name, state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub): - try: - after_move_instructions = globals()[move_name](state, attacker, defender, attacking_side, defending_side, move_hit, hit_sub) - return after_move_instructions or [] - except KeyError: - return [] diff --git a/showdown/engine/special_effects/moves/modify_move.py b/showdown/engine/special_effects/moves/modify_move.py deleted file mode 100644 index 59c6330c1..000000000 --- a/showdown/engine/special_effects/moves/modify_move.py +++ /dev/null @@ -1,733 +0,0 @@ -import constants -from data import pokedex -from ...damage_calculator import is_super_effective - - -def collisioncourse(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if is_super_effective(attacking_move[constants.TYPE], defending_pokemon.types): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.3 - return attacking_move - - -def suckerpunch(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if not first_move or defending_move.get(constants.CATEGORY) not in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = 0 - - return attacking_move - - -def eruption(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacker_hp_percent = attacking_pokemon.hp / attacking_pokemon.maxhp - attacking_move[constants.BASE_POWER] *= attacker_hp_percent - return attacking_move - - -def tailslap(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # skill-link will boost damage by 5x, so no need to do it again here if that is the pokemon's ability - if attacking_pokemon.ability != 'skilllink': - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 3.2 - return attacking_move - - -def freezedry(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if 'water' in defending_pokemon.types: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 4 - return attacking_move - - -def hex(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if defending_pokemon.status is not None: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def barbbarrage(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if defending_pokemon.status in [constants.POISON, constants.TOXIC]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def foulplay(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= defending_pokemon.calculate_boosted_stats()[constants.ATTACK] / \ - attacking_pokemon.calculate_boosted_stats()[constants.ATTACK] - return attacking_move - - -def storedpower(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - multiplier = attacking_pokemon.attack_boost + attacking_pokemon.defense_boost + \ - attacking_pokemon.special_attack_boost + attacking_pokemon.special_defense_boost + \ - attacking_pokemon.speed_boost - if multiplier > 0: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= multiplier - return attacking_move - - -def psyshock(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - defending_stats = defending_pokemon.calculate_boosted_stats() - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= (defending_stats[constants.SPECIAL_DEFENSE] / defending_stats[constants.DEFENSE]) - return attacking_move - - -def facade(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.status is not None: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def avalanche(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if first_move is False and defending_move.get(constants.CATEGORY) in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def gyroball(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # power = (25 × TargetSpeed ÷ UserSpeed) + 1 - attacking_move = attacking_move.copy() - attacker_speed = attacking_pokemon.calculate_boosted_stats()[constants.SPEED] - defender_speed = defending_pokemon.calculate_boosted_stats()[constants.SPEED] - attacking_move[constants.BASE_POWER] = min(150, (25 * defender_speed / attacker_speed) + 1) - return attacking_move - - -def electroball(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - speed_ratio = defending_pokemon.calculate_boosted_stats()[constants.SPEED] / attacking_pokemon.calculate_boosted_stats()[constants.SPEED] - - attacking_move = attacking_move.copy() - if speed_ratio < 0.25: - attacking_move[constants.BASE_POWER] = 150 - elif speed_ratio < 0.33: - attacking_move[constants.BASE_POWER] = 120 - elif speed_ratio < 0.50: - attacking_move[constants.BASE_POWER] = 80 - elif speed_ratio < 1: - attacking_move[constants.BASE_POWER] = 60 - else: - attacking_move[constants.BASE_POWER] = 40 - - return attacking_move - - -def focuspunch(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # technically wrong - a move missing would allow focuspunch to hit, however that information is not present here - if first_move or defending_move.get(constants.CATEGORY) in constants.DAMAGING_CATEGORIES: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def acrobatics(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # acrobatics is 110 by default. If the pokemon has an item, it will go to 55 - # technically this should be the other way around, but the evaluation logic should - # assume that the opponent's pokemon has a 110 BP move (worst case unless known) - if attacking_pokemon.item not in [None, "None", constants.UNKNOWN_ITEM]: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 0.5 - return attacking_move - - -def technoblast(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.item == 'burndrive': - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'fire' - - elif attacking_pokemon.item == 'chilldrive': - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'ice' - - elif attacking_pokemon.item == 'dousedrive': - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'water' - - elif attacking_pokemon.item == 'shockdrive': - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'electric' - - return attacking_move - - -def multiattack(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.item is not None and attacking_pokemon.item.endswith('memory'): - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = attacking_pokemon.item.replace('memory', '') - - return attacking_move - - -def ragingbull(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.id == "taurospaldeacombat": - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = "fighting" - elif attacking_pokemon.id == "taurospaldeablaze": - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = "fire" - elif attacking_pokemon.id == "taurospaldeaaqua": - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = "water" - - return attacking_move - - -def knockoff(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if defending_pokemon.item_can_be_removed(): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def tripledive(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 3 - return attacking_move - - -def twinbeam(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def hurricane(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = 50 - elif weather == constants.RAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - return attacking_move - - -def blizzard(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather in constants.HAIL_OR_SNOW: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - return attacking_move - - -def solarbeam(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.FLAGS] = attacking_move[constants.FLAGS].copy() - attacking_move[constants.FLAGS].pop(constants.CHARGE, None) - return attacking_move - - -def toxic(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if 'poison' in attacking_pokemon.types: - attacking_move = attacking_move.copy() - attacking_move[constants.ACCURACY] = True - return attacking_move - - -def strengthsap(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = { - constants.ATTACK: -1 - } - attacking_move[constants.HEAL] = [ - defending_pokemon.calculate_boosted_stats()[constants.ATTACK], - attacking_pokemon.maxhp - ] - attacking_move[constants.HEAL_TARGET] = constants.SELF - - return attacking_move - - -def revelationdance(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = attacking_pokemon.types[0] - - return attacking_move - - -def lowkick(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - defending_pokemon_weight = pokedex[defending_pokemon.id][constants.WEIGHT] - - if defending_pokemon_weight < 10: - attacking_move[constants.BASE_POWER] = 20 - elif defending_pokemon_weight < 25: - attacking_move[constants.BASE_POWER] = 40 - elif defending_pokemon_weight < 60: - attacking_move[constants.BASE_POWER] = 60 - elif defending_pokemon_weight < 100: - attacking_move[constants.BASE_POWER] = 80 - elif defending_pokemon_weight < 200: - attacking_move[constants.BASE_POWER] = 100 - else: - attacking_move[constants.BASE_POWER] = 120 - - return attacking_move - - -def painsplit(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # damage done to the opponent is handled in the damage calculation module - attacking_move = attacking_move.copy() - total_hp = attacking_pokemon.hp + defending_pokemon.hp - damage_done = attacking_pokemon.hp - total_hp / 2 - damage_fraction = -1*damage_done / attacking_pokemon.maxhp - - attacking_move[constants.HEAL] = damage_fraction.as_integer_ratio() - attacking_move[constants.HEAL_TARGET] = constants.SELF - - # this needs to be set so that the damage calculation is performed - attacking_move[constants.CATEGORY] = constants.PHYSICAL - - return attacking_move - - -def pursuit(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if defending_move.get(constants.SWITCH_STRING): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def aurawheel(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.id == "morpekohangry": - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'dark' - return attacking_move - - -def dynamaxcannon(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if constants.DYNAMAX in defending_pokemon.volatile_status: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def dragondarts(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def geargrind(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def bonemerang(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def boltbeak(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if first_move or defending_move.get(constants.SWITCH_STRING): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - return attacking_move - - -def clangoroussoul(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.hp > int(attacking_pokemon.maxhp / 3): - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL_TARGET] = constants.SELF - attacking_move[constants.HEAL] = [-1, 3] - attacking_move[constants.BOOSTS] = { - constants.ATTACK: 1, - constants.DEFENSE: 1, - constants.SPECIAL_ATTACK: 1, - constants.SPECIAL_DEFENSE: 1, - constants.SPEED: 1 - } - return attacking_move - - -def filletaway(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.hp > int(attacking_pokemon.maxhp / 2): - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL_TARGET] = constants.SELF - attacking_move[constants.HEAL] = [-1, 2] - attacking_move[constants.BOOSTS] = { - constants.ATTACK: 2, - constants.SPECIAL_ATTACK: 2, - constants.SPEED: 2 - } - return attacking_move - - -def terablast(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if attacking_pokemon.terastallized: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = attacking_pokemon.types[0] - - boosted_stats = attacking_pokemon.calculate_boosted_stats() - - if boosted_stats[constants.ATTACK] > boosted_stats[constants.SPECIAL_ATTACK]: - attacking_move[constants.CATEGORY] = constants.PHYSICAL - - return attacking_move - - -def bodypress(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - boosted_stats = attacking_pokemon.calculate_boosted_stats() - attacking_move[constants.BASE_POWER] *= (boosted_stats[constants.DEFENSE] / boosted_stats[constants.ATTACK]) - return attacking_move - - -def lifedew(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [1, 4] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def steelbeam(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [-1, 2] - attacking_move[constants.HEAL_TARGET] = constants.SELF - return attacking_move - - -def doubleironbash(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 # double-hit move - return attacking_move - - -def morningsun(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather in [constants.SAND, constants.RAIN, constants.HAIL, constants.SNOW]: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [1, 4] - elif weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL] = [2, 3] - return attacking_move - - -def shoreup(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.HEAL_TARGET] = constants.SELF - if weather == constants.SAND: - attacking_move[constants.HEAL] = [2, 3] - else: - attacking_move[constants.HEAL] = [1, 2] - - return attacking_move - - -def heavyslam(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - try: - weight_ratio = pokedex[defending_pokemon.id][constants.WEIGHT] / pokedex[attacking_pokemon.id][constants.WEIGHT] - except ZeroDivisionError: - return attacking_move - - attacking_move = attacking_move.copy() - if weight_ratio > 0.5: - attacking_move[constants.BASE_POWER] = 40 - elif weight_ratio > 0.33: - attacking_move[constants.BASE_POWER] = 60 - elif weight_ratio > 0.25: - attacking_move[constants.BASE_POWER] = 80 - elif weight_ratio > 0.2: - attacking_move[constants.BASE_POWER] = 100 - else: - attacking_move[constants.BASE_POWER] = 120 - - return attacking_move - - -def noretreat(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if 'noretreat' in attacking_pokemon.volatile_status: - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = dict() - return attacking_move - - -def growth(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.BOOSTS] = { - constants.ATTACK: 2, - constants.SPECIAL_ATTACK: 2, - } - return attacking_move - - -def expandingforce(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain == constants.PSYCHIC_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def psyblade(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain == constants.ELECTRIC_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def risingvoltage(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain == constants.ELECTRIC_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def steelroller(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain is None: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - return attacking_move - - -def mistyexplosion(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain == constants.MISTY_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - return attacking_move - - -def terrainpulse(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if terrain == constants.MISTY_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - attacking_move[constants.TYPE] = 'fairy' - elif terrain == constants.PSYCHIC_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - attacking_move[constants.TYPE] = 'psychic' - elif terrain == constants.ELECTRIC_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - attacking_move[constants.TYPE] = 'electric' - elif terrain == constants.GRASSY_TERRAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 2 - attacking_move[constants.TYPE] = 'grass' - - return attacking_move - - -def poltergeist(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if defending_pokemon.item is None: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - - return attacking_move - - -def tripleaxel(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - - # really ugly ass hack because multi-hit doesnt exist and I'm lazy as fuck - attacking_move[constants.BASE_POWER] = 94 - attacking_move[constants.ACCURACY] = 100 - - return attacking_move - - -def dualwingbeat(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - - # really ugly ass hack because multi-hit doesnt exist and I'm lazy as fuck - attacking_move[constants.BASE_POWER] *= 2 - - return attacking_move - - -def flowertrick(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - - return attacking_move - - -def wickedblow(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 1.5 - - return attacking_move - - -def surgingstrikes(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - - # x3 for multihit, x1.5 for crit; Yes this is a hack just like the others - attacking_move[constants.BASE_POWER] *= 4.5 - - return attacking_move - - -def weatherball(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'fire' - attacking_move[constants.BASE_POWER] *= 2 - elif weather == constants.RAIN: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'water' - attacking_move[constants.BASE_POWER] *= 2 - elif weather in constants.HAIL_OR_SNOW: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'ice' - attacking_move[constants.BASE_POWER] *= 2 - elif weather == constants.SAND: - attacking_move = attacking_move.copy() - attacking_move[constants.TYPE] = 'rock' - attacking_move[constants.BASE_POWER] *= 2 - - return attacking_move - - -# there is special logic for futuresight's deferred damage using an attribute of the ``Side`` object -def futuresight(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - - return attacking_move - - -def lastrespects(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - base_power = attacking_move[constants.BASE_POWER] - for pkmn in attacking_side.reserve.values(): - if pkmn.hp <= 0: - base_power += 50 - - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = base_power - - return attacking_move - - -def populationbomb(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - # This is a very bad hack that misses most interactions with this move - # but I need to implement multi-hit moves to do this properly - attacking_move = attacking_move.copy() - if attacking_side.active.item == "widelens": - attacking_move[constants.BASE_POWER] = 180 - else: - attacking_move[constants.BASE_POWER] = 105 - - return attacking_move - - -def doubleshock(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if 'electric' not in attacking_pokemon.types: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] = 0 - - return attacking_move - - -def hydrosteam(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - if weather == constants.SUN: - attacking_move = attacking_move.copy() - attacking_move[constants.BASE_POWER] *= 3 - return attacking_move - - -move_lookup = { - "hydrosteam": hydrosteam, - "psyblade": psyblade, - 'doubleshock': doubleshock, - 'ragingbull': ragingbull, - 'populationbomb': populationbomb, - 'lastrespects': lastrespects, - 'weatherball': weatherball, - 'flowertrick': flowertrick, - 'surgingstrikes': surgingstrikes, - 'wickedblow': wickedblow, - 'dualwingbeat': dualwingbeat, - 'tripleaxel': tripleaxel, - 'poltergeist': poltergeist, - 'terrainpulse': terrainpulse, - 'risingvoltage': risingvoltage, - 'mistyexplosion': mistyexplosion, - 'steelroller': steelroller, - 'expandingforce': expandingforce, - 'growth': growth, - 'noretreat': noretreat, - 'heatcrash': heavyslam, - 'heavyslam': heavyslam, - 'shoreup': shoreup, - 'synthesis': morningsun, - 'moonlight': morningsun, - 'morningsun': morningsun, - 'doubleironbash': doubleironbash, - 'steelbeam': steelbeam, - 'lifedew': lifedew, - 'bodypress': bodypress, - 'clangoroussoul': clangoroussoul, - 'fishiousrend': boltbeak, - 'boltbeak': boltbeak, - 'dragondarts': dragondarts, - 'geargrind': geargrind, - 'bonemerang': bonemerang, - 'dynamaxcannon': dynamaxcannon, - 'behemothblade': dynamaxcannon, - 'behemothbash': dynamaxcannon, - 'aurawheel': aurawheel, - 'pursuit': pursuit, - 'painsplit': painsplit, - 'grassknot': lowkick, - 'lowkick': lowkick, - 'revelationdance': revelationdance, - 'strengthsap': strengthsap, - 'toxic': toxic, - 'multiattack': multiattack, - 'solarbeam': solarbeam, - 'hurricane': hurricane, - 'thunder': hurricane, - 'blizzard': blizzard, - 'suckerpunch': suckerpunch, - 'eruption': eruption, - 'waterspout': eruption, - 'dragonenergy': eruption, - 'hex': hex, - 'freezedry': freezedry, - 'scaleshot': tailslap, - 'tailslap': tailslap, - 'bulletseed': tailslap, - 'rockblast': tailslap, - 'bonerush': tailslap, - 'iciclespear': tailslap, - 'pinmissile': tailslap, - 'watershuriken': tailslap, - 'foulplay': foulplay, - 'storedpower': storedpower, - 'psyshock': psyshock, - 'psystrike': psyshock, - 'secretsword': psyshock, - 'avalanche': avalanche, - 'facade': facade, - 'gyroball': gyroball, - 'electroball': electroball, - 'focuspunch': focuspunch, - 'acrobatics': acrobatics, - 'technoblast': technoblast, - 'futuresight': futuresight, - 'knockoff': knockoff, - 'tripledive': tripledive, - 'twinbeam': twinbeam, - 'barbbarrage': barbbarrage, - 'collisioncourse': collisioncourse, - 'electrodrift': collisioncourse, - 'filletaway': filletaway, - 'terablast': terablast, -} - - -def modify_attack_being_used(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain): - move_func = move_lookup.get(attacking_move[constants.ID]) - if move_func is not None: - return move_func(attacking_side, attacking_move, defending_move, attacking_pokemon, defending_pokemon, first_move, weather, terrain) - else: - return attacking_move diff --git a/showdown/engine/special_effects/moves/move_special_effect.py b/showdown/engine/special_effects/moves/move_special_effect.py deleted file mode 100644 index 6f3387f7c..000000000 --- a/showdown/engine/special_effects/moves/move_special_effect.py +++ /dev/null @@ -1,101 +0,0 @@ -import constants - - -def trickroom(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return [ - (constants.MUTATOR_TOGGLE_TRICKROOM,) - ] - - -def futuresight(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - if attacking_side.future_sight[0] == 0: - return [ - (constants.MUTATOR_FUTURESIGHT_START, attacking_side_string, attacking_pokemon.id, attacking_side.future_sight[1]) - ] - - -def trick(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - instructions = [] - if ( - (defending_pokemon.item_can_be_removed() or defending_pokemon.item is None) and - not (defending_pokemon.item is None and attacking_pokemon.item is None) - ): - instructions.append( - ( - constants.MUTATOR_CHANGE_ITEM, - constants.USER, - mutator.state.opponent.active.item, - mutator.state.user.active.item - ) - ) - instructions.append( - ( - constants.MUTATOR_CHANGE_ITEM, - constants.OPPONENT, - mutator.state.user.active.item, - mutator.state.opponent.active.item - ) - ) - return instructions - - -switcheroo = trick - - -def weather_move(mutator, weather_move_name): - if mutator.state.weather != weather_move_name and mutator.state.weather not in constants.IRREVERSIBLE_WEATHER: - return [ - (constants.MUTATOR_WEATHER_START, weather_move_name, mutator.state.weather) - ] - - -def chillyreception(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.SNOW) - - -def snowscape(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.SNOW) - - -def raindance(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.RAIN) - - -def sunnyday(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.SUN) - - -def sandstorm(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.SAND) - - -def hail(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - return weather_move(mutator, constants.HAIL) - - -def junglehealing(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - if attacking_pokemon.status is not None: - return [ - (constants.MUTATOR_REMOVE_STATUS, attacking_side_string, attacking_pokemon.status) - ] - - -def lunarblessing(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - if attacking_pokemon.status is not None: - return [ - (constants.MUTATOR_REMOVE_STATUS, attacking_side_string, attacking_pokemon.status) - ] - - -def glaiverush(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - if "glaiverush" not in attacking_pokemon.volatile_status: - return [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, attacking_side_string, "glaiverush") - ] - - -def icespinner(mutator, attacking_side_string, attacking_side, attacking_pokemon, defending_pokemon): - if mutator.state.field is not None: - return [ - (constants.MUTATOR_FIELD_END, mutator.state.field) - ] diff --git a/showdown/engine/switch_out_moves.py b/showdown/engine/switch_out_moves.py deleted file mode 100644 index c795bed2b..000000000 --- a/showdown/engine/switch_out_moves.py +++ /dev/null @@ -1,29 +0,0 @@ -import constants - - -def switch_out_move_triggered(move, damage_amounts): - if move[constants.ID] in constants.SWITCH_OUT_MOVES: - if move[constants.ID] in ['partingshot', 'teleport', 'chillyreception'] and move[constants.ACCURACY]: - return True - else: - return damage_amounts is not None and all(damage_amounts) - - -def get_best_switch_pokemon(mutator, instructions, attacker, attacking_side, defending_move, first_move): - from .select_best_move import get_payoff_matrix - - switches = attacking_side.get_switches() - if not switches or instructions.frozen: - return None - - if first_move: - other_move = defending_move[constants.ID] - else: - other_move = constants.DO_NOTHING_MOVE - - if attacker == constants.USER: - best_switch = max(get_payoff_matrix(mutator, switches, [other_move], depth=1).items(), key=lambda x: x[1])[0][0] - else: - best_switch = min(get_payoff_matrix(mutator, [other_move], switches, depth=1).items(), key=lambda x: x[1])[0][1] - - return best_switch.split()[-1].strip() diff --git a/showdown/run_battle.py b/showdown/run_battle.py deleted file mode 100644 index 2e588bc76..000000000 --- a/showdown/run_battle.py +++ /dev/null @@ -1,197 +0,0 @@ -import importlib -import json -import asyncio -import concurrent.futures -from copy import deepcopy -import logging - -import data -from data.helpers import get_standard_battle_sets -import constants -from config import ShowdownConfig -from showdown.engine.evaluate import Scoring -from showdown.battle import Pokemon -from showdown.battle import LastUsedMove -from showdown.battle_modifier import async_update_battle - -from showdown.websocket_client import PSWebsocketClient - -logger = logging.getLogger(__name__) - - -def battle_is_finished(battle_tag, msg): - return ( - msg.startswith(">{}".format(battle_tag)) and - (constants.WIN_STRING in msg or constants.TIE_STRING in msg) and - constants.CHAT_STRING not in msg - ) - - -async def async_pick_move(battle): - battle_copy = deepcopy(battle) - if battle_copy.request_json: - battle_copy.user.from_json(battle_copy.request_json) - - loop = asyncio.get_event_loop() - with concurrent.futures.ThreadPoolExecutor() as pool: - best_move = await loop.run_in_executor( - pool, battle_copy.find_best_move - ) - choice = best_move[0] - if constants.SWITCH_STRING in choice: - battle.user.last_used_move = LastUsedMove(battle.user.active.name, "switch {}".format(choice.split()[-1]), battle.turn) - else: - battle.user.last_used_move = LastUsedMove(battle.user.active.name, choice.split()[2], battle.turn) - return best_move - - -async def handle_team_preview(battle, ps_websocket_client): - battle_copy = deepcopy(battle) - battle_copy.user.active = Pokemon.get_dummy() - battle_copy.opponent.active = Pokemon.get_dummy() - - best_move = await async_pick_move(battle_copy) - size_of_team = len(battle.user.reserve) + 1 - team_list_indexes = list(range(1, size_of_team)) - choice_digit = int(best_move[0].split()[-1]) - - team_list_indexes.remove(choice_digit) - message = ["/team {}{}|{}".format(choice_digit, "".join(str(x) for x in team_list_indexes), battle.rqid)] - - await ps_websocket_client.send_message(battle.battle_tag, message) - - -async def get_battle_tag_and_opponent(ps_websocket_client: PSWebsocketClient): - while True: - msg = await ps_websocket_client.receive_message() - split_msg = msg.split('|') - first_msg = split_msg[0] - if 'battle' in first_msg: - battle_tag = first_msg.replace('>', '').strip() - user_name = split_msg[-1].replace('☆', '').strip() - opponent_name = split_msg[4].replace(user_name, '').replace('vs.', '').strip() - return battle_tag, opponent_name - - -async def initialize_battle_with_tag(ps_websocket_client: PSWebsocketClient, set_request_json=True): - battle_module = importlib.import_module('showdown.battle_bots.{}.main'.format(ShowdownConfig.battle_bot_module)) - - battle_tag, opponent_name = await get_battle_tag_and_opponent(ps_websocket_client) - while True: - msg = await ps_websocket_client.receive_message() - split_msg = msg.split('|') - if split_msg[1].strip() == 'request' and split_msg[2].strip(): - user_json = json.loads(split_msg[2].strip('\'')) - user_id = user_json[constants.SIDE][constants.ID] - opponent_id = constants.ID_LOOKUP[user_id] - battle = battle_module.BattleBot(battle_tag) - battle.opponent.name = opponent_id - battle.opponent.account_name = opponent_name - - if set_request_json: - battle.request_json = user_json - - return battle, opponent_id, user_json - - -async def read_messages_until_first_pokemon_is_seen(ps_websocket_client, battle, opponent_id, user_json): - # keep reading messages until the opponent's first pokemon is seen - # this is run when starting non team-preview battles - while True: - msg = await ps_websocket_client.receive_message() - if constants.START_STRING in msg: - split_msg = msg.split(constants.START_STRING)[-1].split('\n') - for line in split_msg: - if opponent_id in line and constants.SWITCH_STRING in line: - battle.start_non_team_preview_battle(user_json, line) - - elif battle.started: - await async_update_battle(battle, line) - - # first move needs to be picked here - best_move = await async_pick_move(battle) - await ps_websocket_client.send_message(battle.battle_tag, best_move) - - return - - -async def start_random_battle(ps_websocket_client: PSWebsocketClient, pokemon_battle_type): - battle, opponent_id, user_json = await initialize_battle_with_tag(ps_websocket_client) - battle.battle_type = constants.RANDOM_BATTLE - battle.generation = pokemon_battle_type[:4] - - await read_messages_until_first_pokemon_is_seen(ps_websocket_client, battle, opponent_id, user_json) - - return battle - - -async def start_standard_battle(ps_websocket_client: PSWebsocketClient, pokemon_battle_type): - battle, opponent_id, user_json = await initialize_battle_with_tag(ps_websocket_client, set_request_json=False) - battle.battle_type = constants.STANDARD_BATTLE - battle.generation = pokemon_battle_type[:4] - - if battle.generation in constants.NO_TEAM_PREVIEW_GENS: - await read_messages_until_first_pokemon_is_seen(ps_websocket_client, battle, opponent_id, user_json) - else: - msg = '' - while constants.START_TEAM_PREVIEW not in msg: - msg = await ps_websocket_client.receive_message() - - preview_string_lines = msg.split(constants.START_TEAM_PREVIEW)[-1].split('\n') - - opponent_pokemon = [] - for line in preview_string_lines: - if not line: - continue - - split_line = line.split('|') - if split_line[1] == constants.TEAM_PREVIEW_POKE and split_line[2].strip() == opponent_id: - opponent_pokemon.append(split_line[3]) - - battle.initialize_team_preview(user_json, opponent_pokemon, pokemon_battle_type) - battle.during_team_preview() - - smogon_usage_data = get_standard_battle_sets( - pokemon_battle_type, - pokemon_names=set(p.name for p in battle.opponent.reserve + battle.user.reserve) - ) - data.pokemon_sets = smogon_usage_data - for pkmn, values in smogon_usage_data.items(): - data.effectiveness[pkmn] = values["effectiveness"] - - await handle_team_preview(battle, ps_websocket_client) - - return battle - - -async def start_battle(ps_websocket_client, pokemon_battle_type): - if "random" in pokemon_battle_type: - Scoring.POKEMON_ALIVE_STATIC = 30 # random battle benefits from a lower static score for an alive pkmn - battle = await start_random_battle(ps_websocket_client, pokemon_battle_type) - else: - battle = await start_standard_battle(ps_websocket_client, pokemon_battle_type) - - await ps_websocket_client.send_message(battle.battle_tag, ["hf"]) - await ps_websocket_client.send_message(battle.battle_tag, ['/timer on']) - - return battle - - -async def pokemon_battle(ps_websocket_client, pokemon_battle_type): - battle = await start_battle(ps_websocket_client, pokemon_battle_type) - while True: - msg = await ps_websocket_client.receive_message() - if battle_is_finished(battle.battle_tag, msg): - if constants.WIN_STRING in msg: - winner = msg.split(constants.WIN_STRING)[-1].split('\n')[0].strip() - else: - winner = None - logger.debug("Winner: {}".format(winner)) - await ps_websocket_client.send_message(battle.battle_tag, ["gg"]) - await ps_websocket_client.leave_battle(battle.battle_tag, save_replay=ShowdownConfig.save_replay) - return winner - else: - action_required = await async_update_battle(battle, msg) - if action_required and not battle.wait: - best_move = await async_pick_move(battle) - await ps_websocket_client.send_message(battle.battle_tag, best_move) diff --git a/teams/__init__.py b/teams/__init__.py index d8a5ba7eb..cf931aa40 100644 --- a/teams/__init__.py +++ b/teams/__init__.py @@ -1 +1 @@ -from .load_team import load_team +from .load_team import load_team as load_team diff --git a/teams/load_team.py b/teams/load_team.py index 1457587a9..831345178 100644 --- a/teams/load_team.py +++ b/teams/load_team.py @@ -7,14 +7,14 @@ def load_team(name): if name is None: - return 'null' + return "null" path = os.path.join(TEAM_JSON_DIR, "{}".format(name)) if os.path.isdir(path): team_file_names = list() for f in os.listdir(path): full_path = os.path.join(path, f) - if os.path.isfile(full_path) and not f.startswith('.'): + if os.path.isfile(full_path) and not f.startswith("."): team_file_names.append(full_path) file_path = random.choice(team_file_names) @@ -23,7 +23,7 @@ def load_team(name): else: raise ValueError("Path must be file or dir: {}".format(name)) - with open(file_path, 'r') as f: + with open(file_path, "r") as f: team_json = f.read() return export_to_packed(team_json) diff --git a/teams/team_converter.py b/teams/team_converter.py index 0a6af0f25..9a21d57c2 100644 --- a/teams/team_converter.py +++ b/teams/team_converter.py @@ -1,38 +1,36 @@ -from showdown.engine.helpers import normalize_name +from fp.helpers import normalize_name def json_to_packed(json_team): def from_json(j): return "{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{},{},{},{},{},{}".format( - j['name'], - j.get('species', ""), - j['item'], - j['ability'], - ",".join(j['moves']), - j.get('nature', ''), - ','.join(str(x) for x in j['evs'].values()), - j.get('gender', ''), - ','.join(str(x) for x in j.get('ivs', {}).values()), - j.get('shiny', ''), - j.get('level', ''), - j.get('happiness', ''), - j.get('pokeball', ''), - j.get('hiddenpowertype', ''), - j.get('gigantamax', ''), - j.get('dynamaxlevel', ''), - j.get('tera_type', ''), + j["name"], + j.get("species", ""), + j["item"], + j["ability"], + ",".join(j["moves"]), + j.get("nature", ""), + ",".join(str(x) for x in j["evs"].values()), + j.get("gender", ""), + ",".join(str(x) for x in j.get("ivs", {}).values()), + j.get("shiny", ""), + j.get("level", ""), + j.get("happiness", ""), + j.get("pokeball", ""), + j.get("hiddenpowertype", ""), + j.get("gigantamax", ""), + j.get("dynamaxlevel", ""), + j.get("tera_type", ""), ) - packed_team_string = "]".join( - (from_json(p) for p in json_team) - ) + packed_team_string = "]".join((from_json(p) for p in json_team)) return packed_team_string def single_pokemon_export_to_dict(pkmn_export_string): def get_species(s): - if '(' in s and ')' in s: - species = s[s.find("(")+1:s.find(")")] + if "(" in s and ")" in s: + species = s[s.find("(") + 1 : s.find(")")] return species return None @@ -45,6 +43,7 @@ def get_species(s): "item": "", "ability": "", "moves": [], + "shiny": "", "nature": "", "evs": { "hp": "", @@ -55,48 +54,60 @@ def get_species(s): "spe": "", }, } - pkmn_info = pkmn_export_string.split('\n') - name = pkmn_info[0].split('@')[0] + pkmn_info = pkmn_export_string.split("\n") + name = pkmn_info[0].split("@")[0] if "(M)" in name: pkmn_dict["gender"] = "M" - name = name.replace('(M)', '') + name = name.replace("(M)", "") if "(F)" in name: pkmn_dict["gender"] = "F" - name = name.replace('(F)', '') + name = name.replace("(F)", "") species = get_species(name) if species: pkmn_dict["species"] = normalize_name(species) pkmn_dict["name"] = normalize_name(species) else: pkmn_dict["name"] = normalize_name(name.strip()) - if '@' in pkmn_info[0]: - pkmn_dict["item"] = normalize_name(pkmn_info[0].split('@')[1]) + if "@" in pkmn_info[0]: + pkmn_dict["item"] = normalize_name(pkmn_info[0].split("@")[1]) for line in map(str.strip, pkmn_info[1:]): - if line.startswith('Ability: '): - pkmn_dict["ability"] = normalize_name(line.split('Ability: ')[-1]) - elif line.startswith('Tera Type: '): - pkmn_dict["tera_type"] = normalize_name(line.split('Tera Type: ')[-1]) - elif line.startswith('Level: '): - pkmn_dict["level"] = normalize_name(line.split('Level: ')[-1]) - elif line.startswith('EVs: '): - evs = line.split('EVs: ')[-1] - for ev in evs.split('/'): + if line.startswith("Ability: "): + pkmn_dict["ability"] = normalize_name(line.split("Ability: ")[-1]) + if line == "Shiny: Yes": + pkmn_dict["shiny"] = "S" + elif line.startswith("Tera Type: "): + pkmn_dict["tera_type"] = normalize_name(line.split("Tera Type: ")[-1]) + elif line.startswith("Level: "): + pkmn_dict["level"] = normalize_name(line.split("Level: ")[-1]) + elif line.startswith("EVs: "): + evs = line.split("EVs: ")[-1] + for ev in evs.split("/"): ev = ev.strip() - amount = normalize_name(ev.split(' ')[0]) - stat = normalize_name(ev.split(' ')[1]) - pkmn_dict['evs'][stat] = amount - elif line.endswith('Nature'): - pkmn_dict["nature"] = normalize_name(line.split('Nature')[0]) - elif line.startswith('-'): + amount = normalize_name(ev.split(" ")[0]) + stat = normalize_name(ev.split(" ")[1]) + pkmn_dict["evs"][stat] = amount + elif line.endswith("Nature"): + pkmn_dict["nature"] = normalize_name(line.split("Nature")[0]) + elif line.startswith("-"): pkmn_dict["moves"].append(normalize_name(line[1:])) return pkmn_dict def export_to_packed(export_string): team_dict = list() - team_members = export_string.split('\n\n') + team_members = export_string.split("\n\n") for pkmn in filter(None, team_members): pkmn_dict = single_pokemon_export_to_dict(pkmn) team_dict.append(pkmn_dict) return json_to_packed(team_dict) + + +def export_to_dict(export_string): + team_dict = list() + team_members = export_string.split("\n\n") + for pkmn in filter(None, team_members): + pkmn_dict = single_pokemon_export_to_dict(pkmn) + team_dict.append(pkmn_dict) + + return team_dict diff --git a/tests/test_battle.py b/tests/test_battle.py index 942f3f559..50976da14 100644 --- a/tests/test_battle.py +++ b/tests/test_battle.py @@ -1,13 +1,10 @@ import unittest -from unittest import mock -import constants - -from showdown.battle import LastUsedMove -from showdown.battle import Battle -from showdown.battle import Battler -from showdown.battle import Pokemon -from showdown.battle import Move +from fp.battle import LastUsedMove +from fp.battle import Battle +from fp.battle import Battler +from fp.battle import Pokemon +from fp.battle import Move # so we can instantiate a Battle object for testing @@ -16,1457 +13,153 @@ class TestPokemonInit(unittest.TestCase): def test_alternate_pokemon_name_initializes(self): - name = 'florgeswhite' + name = "florgeswhite" Pokemon(name, 100) -class TestGetPossibleMoves(unittest.TestCase): - def test_gets_four_moves_when_none_are_known(self): - p = Pokemon('pikachu', 100) - - moves = [ - ('move1', 95), - ('move2', 94), - ('move3', 93), - ('move4', 92) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1', 'move2', 'move3', 'move4'], - [] - ) - - self.assertEqual(expected_result, moves) - - def test_gets_only_first_3_moves_when_one_move_is_known(self): - p = Pokemon('pikachu', 100) - p.moves = [ - Move('tackle') - ] - - moves = [ - ('move1', 95), - ('move2', 94), - ('move3', 93), - ('move4', 92) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1', 'move2', 'move3'], - [] - ) - - self.assertEqual(expected_result, moves) - - def test_chance_moves_are_not_affected_by_known_moves(self): - p = Pokemon('pikachu', 100) - p.moves = [ - Move('tackle') - ] - - moves = [ - ('move1', 95), - ('move2', 40), - ('move3', 40), - ('move4', 40) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1'], - ['move2', 'move3', 'move4'] - ) - - self.assertEqual(expected_result, moves) - - def test_chance_moves_are_not_guessed_if_known_plus_expected_equals_four(self): - p = Pokemon('pikachu', 100) - - p.moves = [ - Move('tackle'), - Move('splash'), - Move('stringshot'), - ] - moves = [ - ('move1', 95), - ('move2', 40), - ('move3', 40), - ('move4', 40) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1'], - [] - ) - - self.assertEqual(expected_result, moves) - - def test_does_not_get_already_revealed_move(self): - p = Pokemon('pikachu', 100) - - p.moves = [ - Move('tackle'), - Move('splash'), - Move('stringshot'), - ] - moves = [ - ('tackle', 95), - ('splash', 40), - ('stringshot', 40), - ('move4', 40) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - [], - ['move4'] - ) - - self.assertEqual(expected_result, moves) - - def test_does_not_get_already_revealed_move_and_guesses_expected_moves(self): - p = Pokemon('pikachu', 100) - - p.moves = [ - Move('tackle'), - Move('stringshot'), - ] - moves = [ - ('tackle', 95), - ('splash', 85), - ('stringshot', 40), - ('move4', 40) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['splash'], - ['move4'] - ) - - self.assertEqual(expected_result, moves) - - def test_expected_plus_known_does_not_exceed_four_with_chance_moves(self): - p = Pokemon('pikachu', 100) - - p.moves = [ - Move('tackle'), - Move('splash'), - Move('stringshot'), - ] - moves = [ - ('move1', 95), - ('move2', 80), - ('move3', 40), - ('move4', 40) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1'], - [] - ) - - self.assertEqual(expected_result, moves) - - def test_gets_less_likely_moves_as_chance_moves(self): - p = Pokemon('pikachu', 100) - - moves = [ - ('move1', 95), - ('move2', 94), - ('move3', 50), - ('move4', 25), - ('move5', 25), - ('move6', 25), - ('move7', 25) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1', 'move2'], - ['move3', 'move4', 'move5', 'move6', 'move7'] - ) - - self.assertEqual(expected_result, moves) - - def test_does_not_get_moves_below_threshold(self): - p = Pokemon('pikachu', 100) - - moves = [ - ('move1', 95), - ('move2', 94), - ('move3', 50), - ('move4', 25), - ('move5', 25), - ('move6', 15), - ('move7', 15) - ] - - moves = p.get_possible_moves(moves) - - expected_result = ( - ['move1', 'move2'], - ['move3', 'move4', 'move5'] - ) - - self.assertEqual(expected_result, moves) - - -class TestGetPossibleAbilities(unittest.TestCase): - def test_gets_revealed_item_when_item_is_revealed(self): - p = Pokemon('pikachu', 100) - p.ability = 'static' - - abilities = [ - ('static', 50), - ('voltabsorb', 50), - ] - - possible_items = p.get_possible_abilities(abilities) - - expected_items = ['static'] - - self.assertEqual(expected_items, possible_items) - - def test_gets_multiple_abilities(self): - p = Pokemon('pikachu', 100) - p.ability = None - - abilities = [ - ('static', 50), - ('voltabsorb', 50), - ] - - possible_items = p.get_possible_abilities(abilities) - - expected_items = ['static', 'voltabsorb'] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_exceed_threshold(self): - p = Pokemon('pikachu', 100) - p.ability = None - - abilities = [ - ('static', 80), - ('voltabsorb', 20), - ] - - possible_items = p.get_possible_abilities(abilities) - - expected_items = ['static'] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_get_low_percentage_ability(self): - p = Pokemon('pikachu', 100) - p.ability = None - - abilities = [ - ('static', 65), - ('other_ability1', 5), - ('other_ability2', 5), - ('other_ability3', 5), - ('other_ability4', 5), - ('other_ability5', 5), - ('other_ability6', 5), - ('other_ability7', 5), - ] - - possible_items = p.get_possible_abilities(abilities) - - expected_items = ['static'] - - self.assertEqual(expected_items, possible_items) - - def test_ignored_ability_in_pass_abilities(self): - p = Pokemon('pikachu', 100) - p.ability = None - - abilities = [ - ('static', 50), - ('pressure', 50), # pass-ability; it reveals itself so do not guess - ] - - possible_items = p.get_possible_abilities(abilities) - - expected_items = ['static'] - - self.assertEqual(expected_items, possible_items) - - -class TestGetPossibleItems(unittest.TestCase): - def test_gets_revealed_item_when_item_is_revealed(self): - p = Pokemon('pikachu', 100) - p.item = 'lightball' - - items = [ - ('lightball', 50), - ('leftovers', 50), - ] - - possible_items = p.get_possible_items(items) - - expected_items = ['lightball'] - - self.assertEqual(expected_items, possible_items) - - def test_gets_none_when_item_is_none(self): - p = Pokemon('pikachu', 100) - p.item = None - - items = [ - ('lightball', 50), - ('leftovers', 50), - ] - - possible_items = p.get_possible_items(items) - - expected_items = [None] - - self.assertEqual(expected_items, possible_items) - - def test_gets_two_items_when_they_are_equally_likely(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - - items = [ - ('lightball', 50), - ('other_item', 50), - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'other_item' - ] - - self.assertEqual(expected_items, possible_items) - - def test_stops_once_cumulative_percentage_exceeds_limit(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - - items = [ - ('lightball', 50), - ('other_item', 30), - ('another_item', 20), - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'other_item' - ] - - self.assertEqual(expected_items, possible_items) - - def test_works_with_one_item(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - - items = [ - ('lightball', 100), - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - ] - - self.assertEqual(expected_items, possible_items) - - def test_ignores_item_in_pass_items(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - - items = [ - ('lightball', 50), - ('leftovers', 50), # leftovers is ignored because it reveals itself - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - ] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_guess_choice_item_when_can_have_choice_item_flag_is_false(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_choice_item = False - - items = [ - ('lightball', 50), - ('choiceband', 50), # should be ignored because flag is set to False - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - ] - - self.assertEqual(expected_items, possible_items) - - def test_can_not_have_choice_specs_flag_does_not_affect_choice_band_guess(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_not_have_specs = True - p.can_not_have_band = False - - items = [ - ('lightball', 50), - ('choiceband', 50), # should NOT be ignored because flag is set to False - # choice_specs flag doesn't matter - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'choiceband' - ] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_guess_choice_band_when_can_not_have_band_or_specs_is_true(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_not_have_band = True - - items = [ - ('lightball', 50), - ('choiceband', 50), # should be ignored because flag is set to True - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - ] - - self.assertEqual(expected_items, possible_items) - - def test_guesses_choiceband_when_can_not_have_band_is_false(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_not_have_band = False - - items = [ - ('lightball', 50), - ('choiceband', 50), # should NOT be ignored because flag is set to False - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'choiceband' - ] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_guess_assultvest_when_can_have_assultvest_flag_is_false(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_assaultvest = False - - items = [ - ('lightball', 50), - ('assaultvest', 50), # should be ignored because flag is set to False - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - ] - - self.assertEqual(expected_items, possible_items) - - def test_guesses_assultvest_when_can_have_assultvest_flag_is_true(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_assaultvest = True - - items = [ - ('lightball', 50), - ('assaultvest', 50), - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'assaultvest' - ] - - self.assertEqual(expected_items, possible_items) - - def test_guesses_choice_item_when_can_have_choice_item_flag_is_true(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_choice_item = True - - items = [ - ('lightball', 50), - ('choiceband', 50), # should be guessed because flag is set to True - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball', - 'choiceband' - ] - - self.assertEqual(expected_items, possible_items) - - def test_guesses_life_orb(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_life_orb = True - - items = [ - ('lifeorb', 50), - ('lightball', 50), # should be guessed because flag is set to True - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lifeorb', - 'lightball' - ] - - self.assertEqual(expected_items, possible_items) - - def test_does_not_guess_lifeorb_when_can_have_lifeorb_is_false(self): - p = Pokemon('pikachu', 100) - p.item = constants.UNKNOWN_ITEM - p.can_have_life_orb = False - - items = [ - ('lifeorb', 50), - ('lightball', 50), # should be guessed because flag is set to True - ] - - possible_items = p.get_possible_items(items) - - expected_items = [ - 'lightball' - ] - - self.assertEqual(expected_items, possible_items) - - -class TestConvertToMega(unittest.TestCase): - def setUp(self): - self.get_mega_name_patch = mock.patch('showdown.battle.get_mega_pkmn_name') - self.addCleanup(self.get_mega_name_patch.stop) - self.get_mega_name_mock = self.get_mega_name_patch.start() - - self.pkmn_sets_patch = mock.patch('showdown.battle.data') - self.addCleanup(self.pkmn_sets_patch.stop) - self.pkmn_sets_mock = self.pkmn_sets_patch.start() - - def test_changes_venusaur_to_its_mega_form(self): - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.try_convert_to_mega() - self.assertEqual('venusaurmega', pkmn.name) - - def test_preserves_previous_hitpoints(self): - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.hp = 1 - pkmn.try_convert_to_mega() - self.assertEqual(1, pkmn.hp) - - def test_preserves_previous_status_condition(self): - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.status = constants.BURN - pkmn.try_convert_to_mega() - self.assertEqual(constants.BURN, pkmn.status) - - def test_preserves_previous_boosts(self): - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.boosts[constants.ATTACK] = 1 - pkmn.try_convert_to_mega() - self.assertEqual(1, pkmn.boosts[constants.ATTACK]) - - def test_preserves_previous_moves(self): - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.moves = [ - {'1': '2'}, - {'3': '4'}, - {'5': '6'}, - {'7': '8'}, - ] - pkmn.try_convert_to_mega() - expected_moves = [ - {'1': '2'}, - {'3': '4'}, - {'5': '6'}, - {'7': '8'}, - ] - self.assertEqual(expected_moves, pkmn.moves) - - def test_converts_when_it_is_in_sets_lookup_and_check_sets_is_true(self): - self.pkmn_sets_mock.pokemon_sets = { - "venusaurmega": {} - } - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.try_convert_to_mega(check_in_sets=True) - self.assertEqual("venusaurmega", pkmn.name) - - def test_converts_when_it_is_not_in_sets_lookup_and_check_sets_is_false(self): - self.pkmn_sets_mock.pokemon_sets = {} - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.try_convert_to_mega(check_in_sets=False) - self.assertEqual("venusaurmega", pkmn.name) - - def test_does_not_convert_when_it_is_not_in_sets_lookup_and_check_sets_is_true(self): - self.pkmn_sets_mock.pokemon_sets = {} - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.try_convert_to_mega(check_in_sets=True) - self.assertEqual("venusaur", pkmn.name) - - def test_does_not_convert_if_item_is_revealed(self): - self.pkmn_sets_mock.pokemon_sets = {} - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.item = 'leftovers' - pkmn.try_convert_to_mega() - self.assertEqual("venusaur", pkmn.name) - - def test_does_not_convert_if_item_is_none(self): - self.pkmn_sets_mock.pokemon_sets = {} - self.get_mega_name_mock.return_value = 'venusaurmega' - - pkmn = Pokemon('venusaur', 100) - pkmn.item = None - pkmn.try_convert_to_mega() - self.assertEqual("venusaur", pkmn.name) - - class TestBattlerActiveLockedIntoMove(unittest.TestCase): def setUp(self): self.battler = Battler() - self.battler.active = Pokemon('pikachu', 100) + self.battler.active = Pokemon("pikachu", 100) self.battler.active.moves = [ - Move('thunderbolt'), - Move('volttackle'), - Move('agility'), - Move('doubleteam'), + Move("thunderbolt"), + Move("volttackle"), + Move("agility"), + Move("doubleteam"), ] def test_choice_item_with_previous_move_used_by_this_pokemon_returns_true(self): - self.battler.active.item = 'choicescarf' + self.battler.active.item = "choicescarf" self.battler.last_used_move = LastUsedMove( - pokemon_name='pikachu', - move='volttackle', - turn=0 + pokemon_name="pikachu", move="volttackle", turn=0 ) self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('volttackle').disabled) + self.assertFalse(self.battler.active.get_move("volttackle").disabled) - self.assertTrue(self.battler.active.get_move('thunderbolt').disabled) - self.assertTrue(self.battler.active.get_move('agility').disabled) - self.assertTrue(self.battler.active.get_move('doubleteam').disabled) + self.assertTrue(self.battler.active.get_move("thunderbolt").disabled) + self.assertTrue(self.battler.active.get_move("agility").disabled) + self.assertTrue(self.battler.active.get_move("doubleteam").disabled) - def test_firstimpression_gets_locked_when_last_used_move_was_by_the_active_pokemon(self): - self.battler.active.moves.append(Move('firstimpression')) + def test_firstimpression_gets_locked_when_last_used_move_was_by_the_active_pokemon( + self, + ): + self.battler.active.moves.append(Move("firstimpression")) self.battler.last_used_move = LastUsedMove( - pokemon_name='pikachu', # the current active pokemon - move='volttackle', - turn=0 + pokemon_name="pikachu", # the current active pokemon + move="volttackle", + turn=0, ) self.battler.lock_moves() - self.assertTrue(self.battler.active.get_move('firstimpression').disabled) + self.assertTrue(self.battler.active.get_move("firstimpression").disabled) def test_taunt_locks_status_move(self): - self.battler.active.moves.append(Move('calmmind')) + self.battler.active.moves.append(Move("calmmind")) self.battler.active.volatile_statuses.append("taunt") self.battler.lock_moves() - self.assertTrue(self.battler.active.get_move('calmmind').disabled) + self.assertTrue(self.battler.active.get_move("calmmind").disabled) def test_taunt_does_not_lock_physical_move(self): - self.battler.active.moves.append(Move('tackle')) + self.battler.active.moves.append(Move("tackle")) self.battler.active.volatile_statuses.append("taunt") self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('tackle').disabled) + self.assertFalse(self.battler.active.get_move("tackle").disabled) def test_taunt_does_not_lock_special_move(self): - self.battler.active.moves.append(Move('watergun')) + self.battler.active.moves.append(Move("watergun")) self.battler.active.volatile_statuses.append("taunt") self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('watergun').disabled) + self.assertFalse(self.battler.active.get_move("watergun").disabled) def test_taunt_with_multiple_moves(self): - self.battler.active.moves.append(Move('watergun')) - self.battler.active.moves.append(Move('tackle')) - self.battler.active.moves.append(Move('calmmind')) + self.battler.active.moves.append(Move("watergun")) + self.battler.active.moves.append(Move("tackle")) + self.battler.active.moves.append(Move("calmmind")) self.battler.active.volatile_statuses.append("taunt") self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('watergun').disabled) - self.assertFalse(self.battler.active.get_move('tackle').disabled) - self.assertTrue(self.battler.active.get_move('calmmind').disabled) + self.assertFalse(self.battler.active.get_move("watergun").disabled) + self.assertFalse(self.battler.active.get_move("tackle").disabled) + self.assertTrue(self.battler.active.get_move("calmmind").disabled) def test_calmmind_gets_locked_when_user_has_assaultvest(self): - self.battler.active.moves.append(Move('calmmind')) - self.battler.active.item = 'assaultvest' + self.battler.active.moves.append(Move("calmmind")) + self.battler.active.item = "assaultvest" self.battler.lock_moves() - self.assertTrue(self.battler.active.get_move('calmmind').disabled) + self.assertTrue(self.battler.active.get_move("calmmind").disabled) def test_tackle_is_not_disabled_when_user_has_assaultvest(self): - self.battler.active.moves.append(Move('tackle')) - self.battler.active.item = 'assaultvest' + self.battler.active.moves.append(Move("tackle")) + self.battler.active.item = "assaultvest" self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('tackle').disabled) + self.assertFalse(self.battler.active.get_move("tackle").disabled) def test_fakeout_gets_locked_when_last_used_move_was_by_the_active_pokemon(self): - self.battler.active.moves.append(Move('fakeout')) + self.battler.active.moves.append(Move("fakeout")) self.battler.last_used_move = LastUsedMove( - pokemon_name='pikachu', # the current active pokemon - move='volttackle', - turn=0 + pokemon_name="pikachu", # the current active pokemon + move="volttackle", + turn=0, ) self.battler.lock_moves() - self.assertTrue(self.battler.active.get_move('fakeout').disabled) + self.assertTrue(self.battler.active.get_move("fakeout").disabled) def test_firstimpression_is_not_disabled_when_the_last_used_move_was_a_switch(self): - self.battler.active.moves.append(Move('firstimpression')) + self.battler.active.moves.append(Move("firstimpression")) self.battler.last_used_move = LastUsedMove( - pokemon_name='caterpie', - move='switch', - turn=0 + pokemon_name="caterpie", move="switch", turn=0 ) self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('firstimpression').disabled) + self.assertFalse(self.battler.active.get_move("firstimpression").disabled) def test_fakeout_is_not_disabled_when_the_last_used_move_was_a_switch(self): - self.battler.active.moves.append(Move('fakeout')) + self.battler.active.moves.append(Move("fakeout")) self.battler.last_used_move = LastUsedMove( - pokemon_name='caterpie', - move='switch', - turn=0 + pokemon_name="caterpie", move="switch", turn=0 ) self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('fakeout').disabled) + self.assertFalse(self.battler.active.get_move("fakeout").disabled) def test_choice_item_with_previous_move_being_a_switch_returns_false(self): - self.battler.active.item = 'choicescarf' + self.battler.active.item = "choicescarf" self.battler.last_used_move = LastUsedMove( - pokemon_name='caterpie', - move='switch', - turn=0 + pokemon_name="caterpie", move="switch", turn=0 ) self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('volttackle').disabled) - self.assertFalse(self.battler.active.get_move('thunderbolt').disabled) - self.assertFalse(self.battler.active.get_move('agility').disabled) - self.assertFalse(self.battler.active.get_move('doubleteam').disabled) + self.assertFalse(self.battler.active.get_move("volttackle").disabled) + self.assertFalse(self.battler.active.get_move("thunderbolt").disabled) + self.assertFalse(self.battler.active.get_move("agility").disabled) + self.assertFalse(self.battler.active.get_move("doubleteam").disabled) def test_non_choice_item_possession_returns_false(self): - self.battler.active.item = '' + self.battler.active.item = "" self.battler.last_used_move = LastUsedMove( - pokemon_name='pikachu', - move='tackle', - turn=0 + pokemon_name="pikachu", move="tackle", turn=0 ) self.battler.lock_moves() - self.assertFalse(self.battler.active.get_move('volttackle').disabled) - self.assertFalse(self.battler.active.get_move('thunderbolt').disabled) - self.assertFalse(self.battler.active.get_move('agility').disabled) - self.assertFalse(self.battler.active.get_move('doubleteam').disabled) - - -class TestBattle(unittest.TestCase): - def setUp(self): - self.battle = Battle(None) - self.battle.user.active = Pokemon('Pikachu', 100) - self.battle.opponent.active = Pokemon('Pikachu', 100) - - def test_gets_only_move_for_both_sides(self): - self.battle.user.active.moves = [ - Move('thunderbolt') - ] - self.battle.opponent.active.moves = [ - Move('thunderbolt') - ] - - expected_options = ['thunderbolt'], ['thunderbolt'] - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_phantomforce_volatilestatus_makes_the_move_forced_for_user(self): - self.battle.user.active.moves = [ - Move('thunderbolt'), - Move('tackle'), - Move('charm'), - Move('phantomforce'), - ] - self.battle.opponent.active.moves = [ - Move('thunderbolt') - ] - - self.battle.user.active.volatile_statuses = ["phantomforce"] - - expected_options = ['phantomforce'], ['thunderbolt'] - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_phantomforce_volatilestatus_makes_the_move_forced_for_opponent(self): - self.battle.user.active.moves = [ - Move('thunderbolt'), - ] - self.battle.opponent.active.moves = [ - Move('thunderbolt'), - Move('tackle'), - Move('charm'), - Move('phantomforce'), - ] - - self.battle.opponent.active.volatile_statuses = ["phantomforce"] - - expected_options = ['thunderbolt'], ['phantomforce'] - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gets_multiple_moves_for_both_sides(self): - self.battle.user.active.moves = [ - Move('thunderbolt'), - Move('agility'), - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('thunderbolt'), - Move('swift'), - Move('dragondance'), - Move('stealthrock'), - ] - - expected_options = ( - [ - 'thunderbolt', - 'agility', - 'tackle', - 'charm' - ], - [ - 'thunderbolt', - 'swift', - 'dragondance', - 'stealthrock' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gets_one_switch_and_splash(self): - self.battle.user.active.moves = [] - self.battle.opponent.active.moves = [] - - self.battle.user.reserve = [Pokemon('caterpie', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - expected_options = ( - [ - 'switch caterpie' - ], - [ - 'splash', - 'switch caterpie' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_reviving_pokemon_must_choose_fainted_pokemon_to_switch(self): - self.battle.force_switch = True - self.battle.user.active.moves = [] - self.battle.opponent.active.moves = [] - - self.battle.user.active.reviving = True - user_fainted_caterpie = Pokemon('caterpie', 100) - user_fainted_caterpie.hp = 0 - user_fainted_caterpie.fainted = True - self.battle.user.reserve = [user_fainted_caterpie] - self.battle.opponent.reserve = [] - - expected_options = ( - [ - 'switch caterpie' - ], - [ - 'splash', - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_reviving_pokemon_only_chooses_fainted_pokemon_to_switch(self): - self.battle.force_switch = True - self.battle.user.active.moves = [] - self.battle.opponent.active.moves = [] - - self.battle.user.active.reviving = True - user_fainted_caterpie = Pokemon('caterpie', 100) - user_fainted_caterpie.hp = 0 - user_fainted_caterpie.fainted = True - user_alive_metapod = Pokemon('metapod', 100) - user_alive_metapod.hp = 100 - user_alive_metapod.fainted = False - self.battle.user.reserve = [user_fainted_caterpie, user_alive_metapod] - self.battle.opponent.reserve = [] - - expected_options = ( - [ - 'switch caterpie' - ], - [ - 'splash', - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gets_multiple_switches_and_splash(self): - self.battle.user.active.moves = [] - self.battle.opponent.active.moves = [] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash', - 'switch caterpie', - 'switch houndour' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gets_multiple_switches_and_multiple_moves(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'tackle', - 'charm', - 'switch caterpie', - 'switch spinarak' - ], - [ - 'tackle', - 'thunderbolt', - 'switch caterpie', - 'switch houndour' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_ignores_moves_and_gives_opponent_no_option_when_user_active_is_dead(self): - self.battle.user.active.hp = 0 - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_ignores_moves_and_gives_opponent_no_option_when_force_switch_is_true(self): - self.battle.force_switch = True - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gives_no_options_for_user_and_only_switches_for_opponent_when_wait_is_true(self): - self.battle.wait = True - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'splash' - ], - [ - 'switch caterpie', - 'switch houndour' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_gives_no_options_for_user_and_only_switches_for_opponent_when_opponent_active_is_dead(self): - self.battle.opponent.active.hp = 0 - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'splash' - ], - [ - 'switch caterpie', - 'switch houndour' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_double_fainted_active_pokemon(self): - self.battle.user.active.hp = 0 - self.battle.opponent.active.hp = 0 - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('thunderbolt'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100), Pokemon('houndour', 100)] - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'switch caterpie', - 'switch houndour' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_results_in_splash_or_switches(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - ] - self.battle.opponent.active.moves = [ - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - expected_options = ( - [ - 'tackle', - 'charm', - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash', - 'switch caterpie', - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_moves_when_uturn_moves_first(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - # the opponent's last move would have been from the turn before (turn 4), meaning it hasn't moved yet - self.battle.opponent.last_used_move = LastUsedMove( - move='tackle', - pokemon_name='pikachu', - turn=4 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'tackle', - 'charm', - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_when_uturn_moves_second(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - self.battle.opponent.last_used_move = LastUsedMove( - move='tackle', - pokemon_name='pikachu', - turn=5 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_when_uturn_happens_after_switch(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - self.battle.opponent.last_used_move = LastUsedMove( - move='switch pikachu', - pokemon_name=None, - turn=5 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_when_uturn_kills_and_opponent_has_not_moved_yet(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - # opponent has died from uturn - self.battle.opponent.active.hp = 0 - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - # the opponent's last move would have been from the turn before (turn 4), meaning it hasn't moved yet - self.battle.opponent.last_used_move = LastUsedMove( - move='tackle', - pokemon_name='pikachu', - turn=4 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_when_uturn_kills_and_opponent_has_already_moved(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - # opponent has died from uturn - self.battle.opponent.active.hp = 0 - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - # the opponent's last move would have been from the turn before (turn 4), meaning it hasn't moved yet - self.battle.opponent.last_used_move = LastUsedMove( - move='tackle', - pokemon_name='pikachu', - turn=5 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) - - def test_opponent_has_no_moves_when_uturn_kills_and_opponent_has_already_switched_in(self): - self.battle.user.active.moves = [ - Move('tackle'), - Move('charm'), - Move('uturn'), - ] - self.battle.opponent.active.moves = [ - Move('tackle'), - Move('charm'), - ] - - self.battle.user.reserve = [Pokemon('caterpie', 100), Pokemon('spinarak', 100)] - self.battle.opponent.reserve = [Pokemon('caterpie', 100)] - - # using uturn on the previous turn would cause force_switch to be True - self.battle.force_switch = True - - # opponent has died from uturn - self.battle.opponent.active.hp = 0 - - self.battle.turn = 5 - - self.battle.user.last_used_move = LastUsedMove( - move='uturn', - pokemon_name='pikachu', - turn=5, - ) - - # the opponent's last move would have been from the turn before (turn 4), meaning it hasn't moved yet - self.battle.opponent.last_used_move = LastUsedMove( - move='switch pikachu', - pokemon_name=None, - turn=5 - ) - - expected_options = ( - [ - 'switch caterpie', - 'switch spinarak' - ], - [ - 'splash' - ] - ) - - self.assertEqual(expected_options, self.battle.get_all_options()) + self.assertFalse(self.battler.active.get_move("volttackle").disabled) + self.assertFalse(self.battler.active.get_move("thunderbolt").disabled) + self.assertFalse(self.battler.active.get_move("agility").disabled) + self.assertFalse(self.battler.active.get_move("doubleteam").disabled) diff --git a/tests/test_battle_mechanics.py b/tests/test_battle_mechanics.py deleted file mode 100644 index 44b2d46cb..000000000 --- a/tests/test_battle_mechanics.py +++ /dev/null @@ -1,14076 +0,0 @@ -""" -TestBattleMechanics is the main Pokemon engine test class -All battle mechanics are tested in this TestCase -""" - - -import unittest -from unittest import mock - -from config import ShowdownConfig -import constants -from collections import defaultdict -from copy import deepcopy -from showdown.engine.objects import TransposeInstruction -from showdown.engine.find_state_instructions import get_all_state_instructions -from showdown.engine.find_state_instructions import remove_duplicate_instructions -from showdown.engine.find_state_instructions import lookup_move -from showdown.engine.find_state_instructions import user_moves_first -from showdown.engine.objects import State -from showdown.engine.objects import Pokemon -from showdown.engine.objects import Side -from showdown.battle import Pokemon as StatePokemon -from showdown.engine.objects import StateMutator - - -class TestBattleMechanics(unittest.TestCase): - def setUp(self): - ShowdownConfig.damage_calc_type = "average" # some tests may override this - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("raichu", 73).to_dict()), - { - "xatu": Pokemon.from_state_pokemon_dict(StatePokemon("xatu", 81).to_dict()), - "starmie": Pokemon.from_state_pokemon_dict(StatePokemon("starmie", 81).to_dict()), - "gyarados": Pokemon.from_state_pokemon_dict(StatePokemon("gyarados", 81).to_dict()), - "dragonite": Pokemon.from_state_pokemon_dict(StatePokemon("dragonite", 81).to_dict()), - "hitmonlee": Pokemon.from_state_pokemon_dict(StatePokemon("hitmonlee", 81).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0,"some_pkmn") - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("aromatisse", 81).to_dict()), - { - "yveltal": Pokemon.from_state_pokemon_dict(StatePokemon("yveltal", 73).to_dict()), - "slurpuff": Pokemon.from_state_pokemon_dict(StatePokemon("slurpuff", 73).to_dict()), - "victini": Pokemon.from_state_pokemon_dict(StatePokemon("victini", 73).to_dict()), - "toxapex": Pokemon.from_state_pokemon_dict(StatePokemon("toxapex", 73).to_dict()), - "bronzong": Pokemon.from_state_pokemon_dict(StatePokemon("bronzong", 73).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0,"some_pkmn") - ), - None, - None, - False - ) - - self.mutator = StateMutator(self.state) - - def test_two_pokemon_switching(self): - bot_move = "switch xatu" - opponent_move = "switch yveltal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('switch', 'user', 'raichu', 'xatu'), - ('switch', 'opponent', 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_powder_move_into_tackle_produces_correct_states(self): - bot_move = "sleeppowder" - opponent_move = "tackle" - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_superpower_correctly_unboosts_opponent(self): - bot_move = "splash" - opponent_move = "superpower" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 101), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.DEFENSE, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_psyshock_damage_is_the_same_regardless_of_spdef_boost(self): - bot_move = "psyshock" - opponent_move = "splash" - self.state.opponent.active.special_defense_boost = 0 - instructions_without_spdef_boost = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.state.opponent.active.special_defense_boost = 6 - instructions_when_spdef_is_maxed = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.assertEqual(instructions_without_spdef_boost, instructions_when_spdef_is_maxed) - - def test_bodypress_damage_is_the_same_regardless_of_attack(self): - bot_move = "bodypress" - opponent_move = "splash" - self.state.user.active.attack_boost = 0 - instructions_with_0_attack_boost = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.state.user.active.attack_boost = 6 - instructions_with_6_attack_boost = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.assertEqual(instructions_with_0_attack_boost, instructions_with_6_attack_boost) - - def test_bodypress_damage_is_different_with_different_defense_stats(self): - bot_move = "bodypress" - opponent_move = "splash" - self.state.user.active.defense_boost = 0 - instructions_with_0_attack_boost = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.state.user.active.defense_boost = 6 - instructions_with_6_attack_boost = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.assertNotEqual(instructions_with_0_attack_boost, instructions_with_6_attack_boost) - - def test_powder_into_powder_gives_correct_states(self): - bot_move = "sleeppowder" - opponent_move = "sleeppowder" - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.SLEEP) - ], - False - ), - TransposeInstruction( - 0.25, - [], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_focuspunch_into_non_damaging_move_gives_correct_states(self): - bot_move = "focuspunch" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 46) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_focuspunch_into_damaging_move_gives_correct_states(self): - bot_move = "focuspunch" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_removes_status_boosts(self): - bot_move = "whirlwind" - opponent_move = "splash" - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pkmn_with_guarddog_cannot_be_dragged(self): - bot_move = "whirlwind" - opponent_move = "splash" - self.state.opponent.active.ability = "guarddog" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pkmn_with_goodasgold_cannot_be_dragged(self): - bot_move = "whirlwind" - opponent_move = "splash" - self.state.opponent.active.ability = "goodasgold" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_haze_removes_status_boosts(self): - bot_move = "haze" - opponent_move = "splash" - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_haze_removes_status_boosts_for_both_sides(self): - bot_move = "haze" - opponent_move = "splash" - self.state.user.active.attack_boost = 3 - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_UNBOOST, constants.USER, constants.ATTACK, 3), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosting_move_into_haze(self): - bot_move = "haze" - opponent_move = "swordsdance" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.attack_boost = 3 - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.USER, constants.ATTACK, 3), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_clearsmog_removes_status_boosts(self): - bot_move = "clearsmog" - opponent_move = "splash" - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 55), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_seismic_toss_deals_damage_by_level(self): - bot_move = "seismictoss" - opponent_move = "splash" - self.state.user.active.level = 99 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ghost_immune_to_seismic_toss(self): - bot_move = "seismictoss" - opponent_move = "splash" - self.state.user.active.level = 99 - self.state.opponent.active.types = ["ghost"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_normal_immune_to_night_shade(self): - bot_move = "nightshade" - opponent_move = "splash" - self.state.user.active.level = 99 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ground_immune_to_aurawheel(self): - bot_move = "aurawheel" - opponent_move = "splash" - self.state.opponent.active.types = ["ground"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ground_not_immune_to_aurawheel_when_morpeko_hangry_is_active(self): - bot_move = "aurawheel" - opponent_move = "splash" - self.state.user.active.id = "morpekohangry" - self.state.opponent.active.types = ["ground"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 68), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_contrary_boosts_leafstorm(self): - bot_move = "leafstorm" - opponent_move = "splash" - self.state.user.active.ability = 'contrary' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 69), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 2) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_contact_move_into_static_results_in_two_states_where_one_is_paralysis(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_contact_move_into_flamebody_results_in_two_states_where_one_is_burned(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.ability = 'flamebody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # end-of-turn burn damage - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protectivepads_protects_from_flamebody(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.item = 'protectivepads' - self.state.opponent.active.ability = 'flamebody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_doubleshock_fails_if_user_is_not_electric(self): - bot_move = "doubleshock" - opponent_move = "splash" - self.state.user.active.types = ['ground', 'fairy'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_doubleshock_changes_user_type(self): - bot_move = "doubleshock" - opponent_move = "splash" - self.state.user.active.types = ['electric', 'fairy'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 112), - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ["electric", "fairy"], ["typeless", "fairy"]), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_type_is_immune_to_flamebody_burn(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['fire'] - self.state.opponent.active.ability = 'flamebody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poinsoned_pokemon_cannot_be_burned_by_flamebody(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.status = constants.POISON - self.state.opponent.active.ability = 'flamebody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - (constants.MUTATOR_DAMAGE, constants.USER, 26), # end-of-turn-poison damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protectivepads_causes_static_to_not_trigger(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.item = 'protectivepads' - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_paralysis_from_same_turn_makes_flamebody_not_trigger(self): - bot_move = "tackle" - opponent_move = "glare" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.types = ['normal'] - self.state.opponent.active.ability = 'flamebody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 38), - ], - False - ), - TransposeInstruction( - 0.25, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electric_type_is_immune_to_static(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['electric'] - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ground_type_is_not_immune_to_static(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.types = ['ground'] - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_move_missing_does_not_trigger_static(self): - bot_move = "skyuppercut" # contact move that can miss (90% accurate) - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.27, # 90% to hit plus 30% to trigger static - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 26), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED), - ], - False - ), - TransposeInstruction( - 0.63, # 90% hit plus 70% to NOT trigger static - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 26), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, # the move missed - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_non_contact_move_does_not_activate_static(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.ability = 'static' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_contrary_unboosts_meteormash(self): - bot_move = "meteormash" - opponent_move = "splash" - self.state.user.active.ability = 'contrary' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 112), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, -1) - ], - False - ), - TransposeInstruction( - 0.7200000000000001, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 112), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dragondance_with_contrary(self): - bot_move = "dragondance" - opponent_move = "splash" - self.state.user.active.ability = 'contrary' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, -1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_strengthsap_lowers_attack_and_heals_user(self): - bot_move = "strengthsap" - opponent_move = "splash" - self.state.opponent.active.attack = 100 - self.state.user.active.hp = 100 - self.state.user.active.maxhp = 250 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -1), - (constants.MUTATOR_HEAL, constants.USER, 100) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_strengthsap_does_not_overheal(self): - bot_move = "strengthsap" - opponent_move = "splash" - self.state.opponent.active.attack = 100 - self.state.user.active.hp = 200 - self.state.user.active.maxhp = 250 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -1), - (constants.MUTATOR_HEAL, constants.USER, 50) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_strengthsap_when_targets_attack_is_lowered(self): - bot_move = "strengthsap" - opponent_move = "splash" - self.state.opponent.active.attack = 300 - self.state.opponent.active.attack_boost = -1 - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 250 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -1), - (constants.MUTATOR_HEAL, constants.USER, 200) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thickclub_with_random_pokemon_does_not_double_attack(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.item = 'thickclub' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thickclub_with_marowak_doubles_attack(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.item = 'thickclub' - self.state.user.active.id = 'marowak' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 49) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thickclub_with_marowak_does_not_double_special_attack(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.item = 'thickclub' - self.state.user.active.id = 'marowak' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_prankster_spore_does_not_work_on_dark_type(self): - bot_move = "spore" - opponent_move = "splash" - self.state.user.active.ability = 'prankster' - self.state.opponent.active.types = ['dark'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_prankster_physical_move_has_the_same_effect_on_dark_type(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'prankster' - self.state.opponent.active.types = ['dark'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_prankster_glare_works_on_non_dark_type(self): - bot_move = "glare" - opponent_move = "splash" - self.state.user.active.ability = 'prankster' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.PARALYZED) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_prankster_spore_works_on_non_dark_type(self): - bot_move = "spore" - opponent_move = "splash" - self.state.user.active.ability = 'prankster' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.SLEEP), - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.SLEEP) - ], - False - ), - TransposeInstruction( - 0.6699999999999999, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.SLEEP) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sound_move_goes_through_substitute(self): - bot_move = "boomburst" - opponent_move = "splash" - self.state.opponent.active.hp = 1 - self.state.opponent.active.volatile_status.add(constants.SUBSTITUTE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_infiltrator_move_goes_through_sub(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'infiltrator' - self.state.opponent.active.hp = 1 - self.state.opponent.active.volatile_status.add(constants.SUBSTITUTE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_substitute_breaks_when_pkmn_behind_it_has_1_health(self): - bot_move = "surf" - opponent_move = "splash" - self.state.opponent.active.types = ['ground', 'rock'] - self.state.opponent.active.hp = 1 - self.state.opponent.active.volatile_status.add(constants.SUBSTITUTE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.SUBSTITUTE) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_revelationdance_changes_type(self): - bot_move = "revelationdance" - opponent_move = "splash" - self.state.user.active.types = ['fire', 'water'] - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 144) # would normally do 48 damage as a normal type move - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lowkick_does_damage_on_light_pokemon(self): - bot_move = "lowkick" - opponent_move = "splash" - self.state.opponent.active.id = 'castform' - self.state.opponent.active.types = ['rock'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 27) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_grassknot_does_damage_on_light_pokemon(self): - bot_move = "grassknot" - opponent_move = "splash" - self.state.opponent.active.id = 'castform' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_grassknot_does_damage_on_heavy_pokemon(self): - bot_move = "grassknot" - opponent_move = "splash" - self.state.opponent.active.id = 'golem' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lowkick_does_damage_on_heavy_pokemon(self): - bot_move = "lowkick" - opponent_move = "splash" - self.state.opponent.active.id = 'golem' - self.state.opponent.active.types = ['rock'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hydration_cures_sleep_at_end_of_turn_in_rain(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.status = constants.SLEEP - self.state.user.active.ability = 'hydration' - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.SLEEP) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hydration_cures_poison_before_it_does_damage(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.status = constants.POISON - self.state.user.active.ability = 'hydration' - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.POISON) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_moonblast_boosts_opponent_with_contrary(self): - bot_move = "moonblast" - opponent_move = "splash" - self.state.opponent.active.ability = 'contrary' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 1) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_own_boost_does_not_affect_foulplay(self): - bot_move = "foulplay" - opponent_move = "splash" - - self.state.user.active.attack_boost = 2 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1., - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 27) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opponent_boost_does_affect_foulplay(self): - bot_move = "foulplay" - opponent_move = "splash" - - self.state.opponent.active.attack_boost = 2 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1., - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 55) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_shellsmash_with_whiteherb_doesnt_lower_stats(self): - bot_move = "shellsmash" - opponent_move = "splash" - self.state.user.active.item = 'whiteherb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 2) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_superfang_does_half_health(self): - bot_move = "superfang" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 80 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ruination_does_half_health(self): - bot_move = "ruination" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 80 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_finalgambit_does_damage_equal_to_health_and_faints_user(self): - bot_move = "finalgambit" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 80 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 80), - (constants.MUTATOR_HEAL, constants.USER, -80), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_endeavor_brings_hp_to_equal(self): - bot_move = "endeavor" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 80 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 20) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_endeavor_does_nothing_when_user_hp_greater_than_target_hp(self): - bot_move = "endeavor" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 60 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 80 - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knockoff_does_more_damage_when_item_can_be_removed(self): - bot_move = "knockoff" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # this move does 20 damage without knockoff boost - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 30), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, None, constants.UNKNOWN_ITEM), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_obstruct_protects(self): - bot_move = "obstruct" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_futuresight_sets_futuresight_and_decrements_at_the_end_of_turn(self): - bot_move = "futuresight" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FUTURESIGHT_START, constants.USER, self.state.user.active.id, self.state.user.future_sight[1]), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_futuresight_does_nothing_if_futuresight_is_already_active(self): - bot_move = "futuresight" - opponent_move = "splash" - self.state.user.future_sight = (2, "xatu") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sets_futuresight_even_if_opponent_has_it_active(self): - bot_move = "futuresight" - opponent_move = "splash" - self.state.opponent.future_sight = (2, "aromatisse") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FUTURESIGHT_START, constants.USER, self.state.user.active.id, self.state.user.future_sight[1]), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.OPPONENT) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_damage_at_end_of_turn_from_reserve_pokemon(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "xatu") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 120), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_does_not_do_damage_to_dark_type(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "xatu") - self.state.opponent.active.types = ["dark"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_damage_at_end_of_turn_for_both_sides(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "xatu") - self.state.opponent.future_sight = (1, "aromatisse") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 120), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - (constants.MUTATOR_DAMAGE, constants.USER, 99), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.OPPONENT), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_damage_at_end_of_turn_from_active_pokemon(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "raichu") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_damage_halved_by_lightscreen(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "xatu") - self.state.opponent.side_conditions[constants.LIGHT_SCREEN] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 60), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_futuresight_damage_is_boosted_by_terrain(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.future_sight = (1, "xatu") - - # xatu is part flying so normally it is not affected by terrain lul - self.state.user.reserve["xatu"].types = ["psychic"] - self.state.field = constants.PSYCHIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 156), - (constants.MUTATOR_FUTURESIGHT_DECREMENT, constants.USER), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_wish_sets_the_wish_value_to_half_of_the_users_max_health(self): - bot_move = "wish" - opponent_move = "splash" - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WISH_START, constants.USER, 100, self.state.user.wish[1]), - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_having_wish_causes_heal_at_the_end_of_the_turn(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 50 - self.state.user.wish = (1, 100) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 100), - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_wish_does_not_overheal(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 150 - self.state.user.wish = (1, 100) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 50), - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_wish_does_not_heal_when_active_pokemon_is_dead_but_still_decrements(self): - bot_move = "splash" - opponent_move = "tackle" - - # opponent guaranteed to move first - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 1 # tackle will kill - self.state.user.wish = (1, 100) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_wish_cannot_be_used_while_wish_is_active(self): - bot_move = "wish" - opponent_move = "splash" - - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 100 - self.state.user.wish = (1, 100) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 100), - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_wish_activating_at_full_hp_produces_no_instruction(self): - bot_move = "splash" - opponent_move = "splash" - - self.state.user.active.maxhp = 200 - self.state.user.active.hp = 200 - self.state.user.wish = (1, 100) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WISH_DECREMENT, constants.USER) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steel_beam_reduces_hp_by_half(self): - bot_move = "steelbeam" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149), - (constants.MUTATOR_HEAL, constants.USER, -104), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steel_beam_only_does_as_much_damage_as_the_user_has_hitpoints(self): - bot_move = "steelbeam" - opponent_move = "splash" - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149), - (constants.MUTATOR_HEAL, constants.USER, -1), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knockoff_does_not_amplify_damage_or_remove_item_for_mega(self): - bot_move = "knockoff" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - self.state.opponent.active.id = "blastoisemega" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # this move does 20 damage without knockoff boost - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 20) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knockoff_removes_item(self): - bot_move = "knockoff" - opponent_move = "splash" - self.state.opponent.active.item = 'leftovers' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # this move does 20 damage without knockoff boost - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 30), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, None, 'leftovers'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knockoff_missing_does_not_remove_item(self): - bot_move = "knockoff" - opponent_move = "splash" - self.state.opponent.active.item = 'leftovers' - self.state.user.active.accuracy_boost = -1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - # this move does 20 damage without knockoff boost - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 30), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, None, 'leftovers'), - ], - False - ), - TransposeInstruction( - 0.25, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knockoff_does_not_amplify_damage_for_primal(self): - bot_move = "knockoff" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - self.state.opponent.active.id = "groudonprimal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # this move does 20 damage without knockoff boost - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 20) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rest_heals_user_and_puts_to_sleep(self): - bot_move = "rest" - opponent_move = "splash" - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.SLEEP), - (constants.MUTATOR_HEAL, constants.USER, 50), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ghost_immune_to_superfang(self): - bot_move = "superfang" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.opponent.active.types = ["ghost"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_taunt_into_uturn_causes_taunt_to_be_removed_after_switching(self): - bot_move = "taunt" - opponent_move = "uturn" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.TAUNT), - (constants.MUTATOR_DAMAGE, constants.USER, 60), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.TAUNT), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fast_uturn_results_in_switching_out_move_for_enemy(self): - bot_move = "splash" - opponent_move = "uturn" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 60), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fast_uturn_results_in_switching_out_for_bot(self): - bot_move = "uturn" - opponent_move = "tackle" - self.state.user.reserve['gyarados'].ability = 'intimidate' - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'gyarados'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 16) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fast_uturn_switch_into_choice_pkmn_does_not_lock_moves(self): - bot_move = "uturn" - opponent_move = "splash" - self.state.user.reserve['xatu'].item = 'choiceband' - self.state.user.reserve['xatu'].moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_slow_uturn_results_in_switching_out_for_bot(self): - bot_move = "uturn" - opponent_move = "tackle" - self.state.user.reserve['gyarados'].ability = 'intimidate' - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'gyarados'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_flipturn_causes_switch(self): - bot_move = "flipturn" - opponent_move = "tackle" - self.state.user.reserve['gyarados'].ability = 'intimidate' - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'gyarados'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_slow_uturn_results_in_switching_out_for_opponent(self): - bot_move = "tackle" - opponent_move = "uturn" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.USER, 60), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_uturn_works_with_multiple_states_before(self): - bot_move = "thunderbolt" - opponent_move = "uturn" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.07500000000000001, - [ - ('damage', 'opponent', 72), - ('apply_status', 'opponent', 'par'), - ('damage', 'user', 60), - ('switch', 'opponent', 'aromatisse', 'yveltal') - ], - False - ), - TransposeInstruction( - 0.025, - [ - ('damage', 'opponent', 72), - ('apply_status', 'opponent', 'par'), - ], - True - ), - TransposeInstruction( - 0.9, - [ - ('damage', 'opponent', 72), - ('damage', 'user', 60), - ('switch', 'opponent', 'aromatisse', 'slurpuff') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_uturn_when_there_are_no_available_switches_works(self): - bot_move = "splash" - opponent_move = "uturn" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - for mon in self.state.opponent.reserve.values(): - mon.hp = 0 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - ('damage', 'user', 60) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fast_voltswitch_results_in_switching_out_for_opponent(self): - self.state.user.active.ability = None # raichu has lightningrod lol - bot_move = "tackle" - opponent_move = "voltswitch" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 29), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 10), - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_immune_by_ability_does_not_allow_voltswitch(self): - self.state.user.active.ability = 'lightningrod' # immune to voltswitch - bot_move = "tackle" - opponent_move = "voltswitch" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ground_type_does_not_allow_voltswitch(self): - self.state.user.active.ability = None # raichu has lightningrod lol - self.state.user.active.types = ['ground'] - bot_move = "tackle" - opponent_move = "voltswitch" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_chillyreception_allows_switch(self): - bot_move = "chillyreception" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_WEATHER_START, constants.SNOW, self.state.weather), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_snowscape(self): - bot_move = "snowscape" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_WEATHER_START, constants.SNOW, self.state.weather), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_parting_shot_allows_switch(self): - self.state.user.active.types = ['ground'] - bot_move = "tackle" - opponent_move = "partingshot" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, -1), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 6) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_teleport_causes_switch_and_moves_second(self): - bot_move = "tackle" - opponent_move = "teleport" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bellydrum_works_properly_in_basic_case(self): - bot_move = "bellydrum" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 6), - (constants.MUTATOR_HEAL, constants.USER, -1 * self.state.user.active.maxhp / 2) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bellydrum_kills_user_when_hp_is_less_than_half(self): - bot_move = "bellydrum" - opponent_move = "splash" - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 6), - (constants.MUTATOR_HEAL, constants.USER, -1) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gryo_ball_does_damage(self): - bot_move = "gyroball" - opponent_move = "splash" - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 186), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gryo_ball_does_damage_when_speed_is_equal(self): - bot_move = "gyroball" - opponent_move = "splash" - self.state.user.active.speed = self.state.opponent.active.speed - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 35), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electro_ball_does_damage_when_speed_is_equal(self): - bot_move = "electroball" - opponent_move = "splash" - self.state.user.active.speed = self.state.opponent.active.speed - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electro_ball_does_damage_when_speed_is_much_greater(self): - bot_move = "electroball" - opponent_move = "splash" - self.state.opponent.active.speed = 1 - self.state.user.active.speed = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 119), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_behaves_correctly_with_a_regular_move(self): - bot_move = "whirlwind" - opponent_move = "flamethrower" - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.020000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ), - TransposeInstruction( - 0.020000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff'), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ), - TransposeInstruction( - 0.020000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini'), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ), - TransposeInstruction( - 0.020000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ), - TransposeInstruction( - 0.020000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff'), - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini'), - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 74), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pokemon_boosting_into_roar(self): - bot_move = "roar" - opponent_move = "swordsdance" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_accuracy_reduction_move(self): - bot_move = "flash" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ACCURACY, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_accuracy_does_not_go_below_negative_6(self): - bot_move = "flash" - opponent_move = "splash" - self.state.opponent.active.accuracy_boost = -6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ACCURACY, 0) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_attack_does_not_go_above_6(self): - bot_move = "swordsdance" - opponent_move = "splash" - self.state.user.active.attack_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 0) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_accuracy_reduction_move_into_tackle_causes_multiple_states(self): - bot_move = "flash" - opponent_move = "tackle" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ACCURACY, -1), - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ), - TransposeInstruction( - 0.25, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ACCURACY, -1), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_accuracy_reduction_move_into_contrary_with_tackle_causes_one_state(self): - bot_move = "flash" - opponent_move = "tackle" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - self.state.opponent.active.ability = 'contrary' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ACCURACY, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_evasion_boosting_move(self): - bot_move = "doubleteam" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_evasion_boosting_move_causes_two_states(self): - bot_move = "doubleteam" - opponent_move = "tackle" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ), - TransposeInstruction( - 0.25, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, 1), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_evasion_boosting_move_with_contrary_causes_one_state(self): - bot_move = "doubleteam" - opponent_move = "tackle" - self.state.user.active.ability = 'contrary' - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, -1), - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_accuracy_increase_does_not_produce_two_states(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.accuracy_boost = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pokemon_with_active_substitute_switching_into_phazing_move(self): - bot_move = "switch starmie" - opponent_move = "roar" - self.state.user.active.volatile_status = {'substitute'} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SWITCH, constants.USER, 'starmie', 'xatu') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SWITCH, constants.USER, 'starmie', 'gyarados') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SWITCH, constants.USER, 'starmie', 'dragonite') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SWITCH, constants.USER, 'starmie', 'hitmonlee') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SWITCH, constants.USER, 'starmie', 'raichu') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pokemon_with_active_substitute_switching_into_phazing_move_that_gets_reflected(self): - bot_move = "switch starmie" - opponent_move = "roar" - self.state.user.active.volatile_status = {'substitute'} - self.state.user.reserve['starmie'].ability = 'magicbounce' - self.state.opponent.active.attack_boost = 5 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 5), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dragontail_behaves_well_with_regular_move(self): - bot_move = "dragontail" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.attack_boost = 3 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini') - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex') - ], - False - ), - TransposeInstruction( - 0.18000000000000002, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong') - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 127) - ], - True - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_removes_volatile_statuses(self): - bot_move = "whirlwind" - opponent_move = "splash" - self.state.opponent.active.volatile_status.add('confusion') - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.CONFUSION), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.CONFUSION), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'slurpuff'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.CONFUSION), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'victini'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.CONFUSION), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.CONFUSION), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'bronzong'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_creates_one_transposition_for_each_reserve_pokemon(self): - bot_move = "whirlwind" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'yveltal') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'victini') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'toxapex') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'bronzong') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_into_whirlwind_properly_does_nothing_for_second_whirlwind(self): - # generally, any move with the same priority should not work because the pokemon trying to use it was phased out - # other examples are: dragontail, teleport, circlethrow - bot_move = "whirlwind" - opponent_move = "whirlwind" - self.state.user.active.speed = 2 # bot's whirlwind only should activate as it is faster - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'yveltal') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'victini') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'toxapex') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'bronzong') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_into_teleport_properly_does_nothing_for_the_teleport(self): - # generally, any move with the same priority should not work because the pokemon trying to use it was phased out - # other examples are: dragontail, teleport, circlethrow - bot_move = "whirlwind" - opponent_move = "teleport" - self.state.user.active.speed = 2 # bot's whirlwind only activate as it is faster - self.state.opponent.active.speed = 1 # opponent shoudl get phased and not teleport - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'yveltal') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'slurpuff') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'victini') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'toxapex') - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, self.state.opponent.active.id, 'bronzong') - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_whirlwind_does_nothing_when_no_reserves_are_alive(self): - bot_move = "whirlwind" - opponent_move = "splash" - - # reserves are all fainted - for pkmn in self.mutator.state.opponent.reserve.values(): - pkmn.hp = 0 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_suckerpunch_into_tackle_makes_suckerpunch_hit(self): - bot_move = "suckerpunch" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 22), - ('damage', 'user', 35), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_substitute_into_weak_attack_does_not_remove_volatile_status(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 99 - bot_move = "substitute" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_DAMAGE, constants.USER, self.state.user.active.maxhp * 0.25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_substitute_into_strong_attack_removes_volatile_status(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 99 - bot_move = "substitute" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - (constants.MUTATOR_DAMAGE, constants.USER, self.state.user.active.maxhp * 0.25), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SUBSTITUTE), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_substitute_fails_if_user_has_less_than_one_quarter_maxhp(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 99 - self.state.user.active.hp = 0.2 * self.state.user.active.maxhp - bot_move = "substitute" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 41.6), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_crosschop_missing_activates_blunder_policy(self): - bot_move = "crosschop" - opponent_move = "splash" - self.state.user.active.item = 'blunderpolicy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.8, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 31), - ], - False - ), - TransposeInstruction( - 0.19999999999999996, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_willowisp_missing_activates_blunder_policy(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.user.active.item = 'blunderpolicy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_highjumpkick_causes_crash(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 99 - bot_move = "highjumpkick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - ('damage', 'opponent', 40), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - ('damage', 'user', 104), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_highjumpkick_causes_crash_with_previous_move(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - self.state.user.active.hp = 36 # tackle does 35 damage - bot_move = "highjumpkick" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DAMAGE, constants.USER, 1), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_highjumpkick_crash_when_switching_into_ghost(self): - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - self.state.user.active.hp = 1 - - self.state.opponent.reserve['gengar'] = Pokemon.from_state_pokemon_dict(StatePokemon("gengar", 73).to_dict()) - bot_move = "highjumpkick" - opponent_move = "switch gengar" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'gengar'), - (constants.MUTATOR_DAMAGE, constants.USER, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_suckerpunch_into_swordsdance_makes_suckerpunch_miss(self): - bot_move = "suckerpunch" - opponent_move = "swordsdance" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rockhead_removes_recoil_for_one_but_not_the_other(self): - bot_move = "doubleedge" - opponent_move = "doubleedge" - self.state.user.active.ability = 'rockhead' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DAMAGE, constants.USER, 101), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_glaiverush_adds_volatile(self): - bot_move = "glaiverush" - opponent_move = "splash" - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "glaiverush"), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_having_glaiverush_volatile_doubles_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.volatile_status = {"glaiverush"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 51), # typical damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdriveatk_increases_physical_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.volatile_status = {"quarkdriveatk"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), # typical damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protosynthesisatk_increases_physical_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.volatile_status = {"protosynthesisatk"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), # typical damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdriveatk_does_not_increase_special_damage(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.volatile_status = {"quarkdriveatk"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protosynthesisatk_does_not_increase_special_damage(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.volatile_status = {"protosynthesisatk"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdrivespa_increases_special_damage(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.volatile_status = {"quarkdrivespa"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 28), # typical damage is 22 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdrivespd_increases_special_defense(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.volatile_status = {"quarkdrivespd"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 17), # typical damage is 22 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdrivedef_increases_defense(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.volatile_status = {"quarkdrivedef"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 19), # typical damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quarkdrivedef_does_not_increase_spd(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.volatile_status = {"quarkdrivedef"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_having_glaiverush_volatile_makes_move_not_able_to_miss_against_you(self): - bot_move = "iciclecrash" - opponent_move = "splash" - self.state.opponent.active.volatile_status = {"glaiverush"} - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - # No chance to miss - only to flinch - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 107), # typical damage is 53 - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 107), # typical damage is 53 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tripledive(self): - bot_move = "tripledive" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_twinbeam(self): - bot_move = "twinbeam" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 43), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tackle_into_ironbarbs_causes_recoil(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.ability = 'ironbarbs' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_HEAL, constants.OPPONENT, -37), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tackle_into_ironbarbs_causes_no_recoil_when_attacker_has_neutralizing_gas(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.ability = 'ironbarbs' - self.state.opponent.active.ability = 'neutralizinggas' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dynamax_cannon_does_double_damage_versus_dynamaxed(self): - self.state.opponent.active.types = ['normal'] - bot_move = "dynamaxcannon" - opponent_move = "splash" - self.state.opponent.active.volatile_status.add(constants.DYNAMAX) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 105), # normal damage is 53 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dynamax_cannon_does_normal_damage_versus_non_dynamaxed(self): - self.state.opponent.active.types = ['normal'] - bot_move = "dynamaxcannon" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), # normal damage is 53 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_noretreat_boosts_own_stats_and_starts_volatile_status(self): - bot_move = "noretreat" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, 'noretreat'), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_noretreat_fails_when_user_has_volatile_status(self): - bot_move = "noretreat" - opponent_move = "splash" - self.state.user.active.volatile_status.add("noretreat") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tarshot_lowers_speed_and_sets_volatile_status(self): - bot_move = "tarshot" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'tarshot'), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tarshot_increases_fire_damage(self): - bot_move = "eruption" - opponent_move = "splash" - self.state.opponent.active.volatile_status.add('tarshot') - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 159) # normal damage is 79 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dragondarts_does_double_damage(self): - self.state.opponent.active.types = ['normal'] - bot_move = "dragondarts" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) # one hit would do 32 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_geargrind_does_double_damage(self): - self.state.opponent.active.types = ['normal'] - bot_move = "geargrind" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) # one hit would do 32 - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bonemerang_does_double_damage(self): - self.state.opponent.active.types = ['normal'] - bot_move = "bonemerang" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) # one hit would do 32 - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boltbeak_does_normal_damage_when_moving_second(self): - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - bot_move = "boltbeak" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 80) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boltbeak_does_double_damage_when_opponent_switches(self): - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - bot_move = "boltbeak" - opponent_move = "switch yveltal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 285) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boltbeak_does_double_damage_when_moving_first(self): - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - bot_move = "boltbeak" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 158) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fishious_rend_does_normal_damage_when_moving_second(self): - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - bot_move = "fishiousrend" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fishious_rend_does_double_damage_when_moving_first(self): - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - bot_move = "fishiousrend" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 105) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tackle_into_roughskin_causes_recoil(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.ability = 'roughskin' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_HEAL, constants.OPPONENT, -18.5), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_courtchange_swaps_rocks(self): - bot_move = "courtchange" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_side_conditions_are_unmodified_after_instruction_generation(self): - bot_move = "courtchange" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_START, constants.USER, constants.STEALTH_ROCK, 1), - ], - False - ) - ] - - self.assertEqual(self.state.user.side_conditions[constants.STEALTH_ROCK], 1) - self.assertEqual(self.state.opponent.side_conditions[constants.STEALTH_ROCK], 1) - - def test_courtchange_does_not_swap_zero_value_side_condition(self): - bot_move = "courtchange" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.side_conditions[constants.SPIKES] = 0 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_courtchange_swaps_rocks_and_spikes(self): - bot_move = "courtchange" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.opponent.side_conditions[constants.SPIKES] = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.SPIKES, 2), - (constants.MUTATOR_SIDE_START, constants.USER, constants.SPIKES, 2), - ], - False - ) - ] - - self.mutator.apply(expected_instructions[0].instructions) - - self.assertEqual(expected_instructions, instructions) - - def test_regular_damaging_move_with_speed_boost(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'speedboost' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_clangoroussoul(self): - bot_move = "clangoroussoul" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - (constants.MUTATOR_HEAL, constants.USER, -69.33333333333333) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_clanorous_soul_fails_when_at_less_than_one_third_hp(self): - bot_move = "clangoroussoul" - opponent_move = "splash" - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosting_move_with_speedboost(self): - bot_move = "swordsdance" - opponent_move = "splash" - self.state.user.active.ability = 'speedboost' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_speed_boosting_move_with_speedboost(self): - bot_move = "dragondance" - opponent_move = "splash" - self.state.user.active.ability = 'speedboost' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_clearbody_using_boost(self): - bot_move = "dragondance" - opponent_move = "splash" - self.state.user.active.ability = 'clearbody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_serenegrace(self): - bot_move = "ironhead" - opponent_move = "tackle" - self.state.user.active.ability = 'serenegrace' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.6, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.4, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_serenegrace_on_paralyzed_pokemon(self): - bot_move = "ironhead" - opponent_move = "tackle" - self.state.user.active.ability = 'serenegrace' - self.state.opponent.active.status = constants.PARALYZED - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.6, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.30000000000000004, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - ], - False - ), - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_type_cannot_be_burned(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.types = ['fire'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sheerforce_works_properly(self): - bot_move = "earthpower" - opponent_move = "splash" - self.state.user.active.ability = 'sheerforce' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) # 48 is normal damage. This move also usually has a secondary effect - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_burned_with_guts_doubles_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'guts' - self.state.user.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), # 25 is regular damage - (constants.MUTATOR_DAMAGE, constants.USER, 13) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tintedlens_doubles_not_very_effective_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'tintedlens' - self.state.opponent.active.types = ['rock'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 24), # 12 is regular damage when resisted - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_type_cannot_be_burned_from_secondary(self): - bot_move = "flamethrower" - opponent_move = "splash" - self.state.opponent.active.types = ['fire'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 24) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_analytic_boosts_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'analytic' - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poisoning_move_shows_poison_damage_on_opponents_turn(self): - bot_move = "poisonjab" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.POISON), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, self.state.opponent.active.maxhp * 0.125) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 99), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_avalanche_into_switch_does_not_increase_avalanche_damage(self): - bot_move = "avalanche" - opponent_move = "switch yveltal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 68) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_toxic_results_in_first_damage_to_be_one_sixteenth(self): - bot_move = "toxic" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.TOXIC), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, int(self.state.opponent.active.maxhp / 16)), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_previously_existing_toxic_results_in_correct_damage(self): - bot_move = "splash" - opponent_move = "splash" - self.state.opponent.active.status = constants.TOXIC - self.state.opponent.side_conditions[constants.TOXIC_COUNT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, int(self.state.opponent.active.maxhp / 8)), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_out_with_natural_cure_removes_status(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.active.status = constants.BURN - self.state.user.active.ability = 'naturalcure' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_darkaura_boosts_damage(self): - bot_move = "pursuit" - opponent_move = "splash" - self.state.user.active.ability = 'darkaura' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 17), # normally 12 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stakeout_does_double_damage_versus_switch(self): - bot_move = "tackle" - opponent_move = "switch yveltal" - self.state.user.active.ability = 'stakeout' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 45), # 26 damage normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icescales_halves_special_damage(self): - bot_move = "swift" - opponent_move = "splash" - self.state.opponent.active.ability = 'icescales' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 16), # normally 32 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icescales_does_not_halve_physical_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.ability = 'icescales' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_corrosion_poisons_steel_types(self): - bot_move = "toxic" - opponent_move = "splash" - self.state.user.active.ability = 'corrosion' - self.state.opponent.active.types = ['steel'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.TOXIC), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_move_into_steel_type_does_nothing(self): - bot_move = "sludgebomb" - opponent_move = "splash" - self.state.opponent.active.types = ['steel'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pastelveil_prevents_poison(self): - bot_move = "toxic" - opponent_move = "splash" - self.state.opponent.active.ability = 'pastelveil' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_punkrock_increases_sound_damage(self): - bot_move = "boomburst" - opponent_move = "splash" - self.state.user.active.ability = 'punkrock' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 96), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_punkrock_decreases_sound_damage(self): - bot_move = "boomburst" - opponent_move = "splash" - self.state.opponent.active.ability = 'punkrock' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steelyspirit_boosts_steel_move(self): - bot_move = "bulletpunch" - opponent_move = "splash" - self.state.user.active.ability = 'steelyspirit' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 75), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steam_engine_boosts_speed_when_hit_by_water_move(self): - bot_move = "surf" - opponent_move = "splash" - self.state.opponent.active.ability = 'steamengine' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 6), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steamengine_does_not_overboost(self): - bot_move = "surf" - opponent_move = "splash" - self.state.opponent.active.ability = 'steamengine' - self.state.opponent.active.speed_boost = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_pkmn_with_screen_cleaner_removes_screens_for_both_sides(self): - bot_move = "switch starmie" - opponent_move = "splash" - self.state.user.reserve['starmie'].ability = 'screencleaner' - self.state.user.side_conditions[constants.REFLECT] = 1 - self.state.user.side_conditions[constants.LIGHT_SCREEN] = 1 - self.state.opponent.side_conditions[constants.REFLECT] = 1 - self.state.opponent.side_conditions[constants.AURORA_VEIL] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_SIDE_END, constants.USER, constants.REFLECT, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.REFLECT, 1), - (constants.MUTATOR_SIDE_END, constants.USER, constants.LIGHT_SCREEN, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.AURORA_VEIL, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_auroraveil_fails_without_hail(self): - bot_move = "auroraveil" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_auroraveil_works_in_hail(self): - bot_move = "auroraveil" - opponent_move = "splash" - self.state.weather = constants.HAIL - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.USER, constants.AURORA_VEIL, 1), - - # hail damage since neither are ice type - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pursuit_into_switch_causes_pursuit_to_happen_first_with_double_damage(self): - bot_move = "pursuit" - opponent_move = "switch yveltal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 24), # normal damage is 12 - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dying_when_being_pursuited(self): - bot_move = "pursuit" - opponent_move = "switch yveltal" - self.state.opponent.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 1), - - # this is technically wrong - the opponent would get the option to switch on the next turn. - # This doesn't matter in the eyes of the bot since they need to switch anyways - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opposite_pokemon_darkaura_boosts_damage(self): - bot_move = "pursuit" - opponent_move = "splash" - self.state.opponent.active.ability = 'darkaura' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 17), # normally 12 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_aurabreak_prevents_dark_aura(self): - bot_move = "pursuit" - opponent_move = "splash" - self.state.user.active.ability = 'darkaura' - self.state.opponent.active.ability = 'aurabreak' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_cannot_drop_below_0_hp(self): - bot_move = "splash" - opponent_move = "splash" - self.state.opponent.active.status = constants.TOXIC - self.state.opponent.active.hp = 1 - self.state.opponent.side_conditions[constants.TOXIC_COUNT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 1), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stealthrock_produces_correct_instruction(self): - bot_move = "stealthrock" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stoneaxe_produces_correct_instruction(self): - bot_move = "stoneaxe" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 41), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_solarbeam_does_not_do_damage_but_sets_volatile_status(self): - bot_move = "solarbeam" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "solarbeam") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fly_makes_user_invulnerable(self): - bot_move = "fly" - opponent_move = "watergun" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "fly") - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gust_can_hit_versus_fly(self): - bot_move = "fly" - opponent_move = "gust" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "fly"), - (constants.MUTATOR_DAMAGE, constants.USER, 17), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gust_can_hit_versus_bounce(self): - bot_move = "bounce" - opponent_move = "gust" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "bounce"), - (constants.MUTATOR_DAMAGE, constants.USER, 17), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fly_does_damage_on_second_turn(self): - bot_move = "fly" - opponent_move = "watergun" - - self.mutator.state.user.active.volatile_status.add("fly") - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "fly"), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "fly"), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bounce_does_damage_on_second_turn(self): - bot_move = "bounce" - opponent_move = "watergun" - - self.mutator.state.user.active.volatile_status.add("bounce") - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.19125, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "bounce"), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.PARALYZED), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ), - TransposeInstruction( - 0.06375, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "bounce"), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.PARALYZED), - ], - True - ), - TransposeInstruction( - 0.595, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "bounce"), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [ - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "bounce"), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_preparation_puts_user_in_semi_invulnerable_turn(self): - bot_move = "phantomforce" - opponent_move = "watergun" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce") - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_preparation_does_not_cause_lifeorb_damage(self): - bot_move = "phantomforce" - opponent_move = "watergun" - - self.mutator.state.user.active.item = "lifeorb" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce") - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_versus_whirlwind(self): - bot_move = "phantomforce" - opponent_move = "whirlwind" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "xatu") - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "starmie") - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "gyarados") - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "dragonite") - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "hitmonlee") - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_surf_hits_through_dive(self): - bot_move = "dive" - opponent_move = "surf" - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "dive"), - (constants.MUTATOR_DAMAGE, constants.USER, 74), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_does_damage_if_user_has_phantomforce_volatilestatus(self): - bot_move = "phantomforce" - opponent_move = "watergun" - - self.mutator.state.user.active.volatile_status.add("phantomforce") - - # ensure bot is faster - self.mutator.state.user.active.speed = 2 - self.mutator.state.opponent.active.speed = 1 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - - # damage should be taken because invulnerability ends - (constants.MUTATOR_DAMAGE, constants.USER, 34) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_does_damage_if_user_has_phantomforce_volatilestatus_and_avoids_damage_if_it_is_slower(self): - bot_move = "phantomforce" - opponent_move = "watergun" - - self.mutator.state.user.active.volatile_status.add("phantomforce") - - # ensure bot is slower - self.mutator.state.user.active.speed = 1 - self.mutator.state.opponent.active.speed = 2 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # damage should NOT be taken because invulnerability hasn't ended - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, "phantomforce"), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_phantomforce_does_not_stop_opponents_move_if_phantomforce_goes_second(self): - bot_move = "phantomforce" - opponent_move = "watergun" - - # ensure bot is slower - self.mutator.state.user.active.speed = 1 - self.mutator.state.opponent.active.speed = 2 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 34), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "phantomforce") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_charged_solarbeam_executes_normally(self): - bot_move = "solarbeam" - opponent_move = "splash" - self.state.user.active.volatile_status.add("solarbeam") - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sun_does_not_require_solarbeam_charge(self): - bot_move = "solarbeam" - opponent_move = "splash" - self.state.weather = constants.SUN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_growth_boosts_by_two_in_the_sun(self): - bot_move = "growth" - opponent_move = "splash" - self.state.weather = constants.SUN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_infiltrator_toxic_bypasses_sub(self): - bot_move = "toxic" - opponent_move = "splash" - self.state.user.active.ability = 'infiltrator' - self.state.opponent.active.volatile_status.add(constants.SUBSTITUTE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.TOXIC), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_type_cannot_miss_toxic(self): - bot_move = "toxic" - opponent_move = "splash" - self.state.user.active.types = ['poison'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.TOXIC), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.TOXIC_COUNT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fly_without_z_crystal_charges(self): - bot_move = "fly" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "fly") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_desolate_land_makes_water_moves_fail(self): - bot_move = "surf" - opponent_move = "splash" - self.state.weather = constants.DESOLATE_LAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stealthrock_produces_no_instructions_when_it_exists(self): - bot_move = "stealthrock" - opponent_move = "splash" - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ceaselessedge_creates_spikes(self): - bot_move = "ceaselessedge" - opponent_move = "splash" - self.state.opponent.side_conditions[constants.SPIKES] = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 20), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_goes_to_3_layers(self): - bot_move = "spikes" - opponent_move = "splash" - self.state.opponent.side_conditions[constants.SPIKES] = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_reflect_halves_damage_when_used(self): - bot_move = "reflect" # bot is faster - opponent_move = "tackle" - self.state.opponent.side_conditions[constants.SPIKES] = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.USER, constants.REFLECT, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 17), # non-reflect does 35 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_toxicspikes_plus_damage(self): - bot_move = "switch starmie" - opponent_move = "tackle" - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "starmie"), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.POISON), - (constants.MUTATOR_DAMAGE, constants.USER, 24), # tackle damage - (constants.MUTATOR_DAMAGE, constants.USER, 28), # poison damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_toxicspikes_plus_setting_rocks_from_opponent(self): - bot_move = "switch starmie" - opponent_move = "stealthrock" - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "starmie"), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.TOXIC), - (constants.MUTATOR_SIDE_START, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 14), # poison damage - (constants.MUTATOR_SIDE_START, constants.USER, constants.TOXIC_COUNT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_side_with_rocks_and_spikes(self): - bot_move = "switch starmie" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.side_conditions[constants.SPIKES] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "starmie"), - (constants.MUTATOR_DAMAGE, constants.USER, 28.75), - (constants.MUTATOR_DAMAGE, constants.USER, 28.75), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_side_with_rocks_and_spikes_when_one_kills(self): - bot_move = "switch starmie" - opponent_move = "splash" - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.side_conditions[constants.SPIKES] = 1 - self.state.user.reserve['starmie'].hp = 15 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "starmie"), - (constants.MUTATOR_DAMAGE, constants.USER, 15), - (constants.MUTATOR_DAMAGE, constants.USER, 0), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_into_rapid_spin_clears_the_spikes(self): - bot_move = "spikes" - opponent_move = "rapidspin" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 43), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_into_mortal_spin_clears_the_spikes(self): - bot_move = "spikes" - opponent_move = "mortalspin" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_DAMAGE, constants.USER, 26), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.POISON), - (constants.MUTATOR_DAMAGE, constants.USER, 26) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_into_tidyup_clears_the_spikes(self): - bot_move = "spikes" - opponent_move = "tidyup" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_into_rapid_spin_does_not_clear_spikes_when_user_is_ghost_type(self): - bot_move = "spikes" - opponent_move = "rapidspin" - - self.state.user.active.types = ['ghost'] - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_works_even_if_defender_is_ghost(self): - bot_move = "spikes" - opponent_move = "defog" - - self.state.user.active.types = ['ghost'] - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.SPIKES, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, -1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_removes_terrain(self): - bot_move = "splash" - opponent_move = "defog" - self.state.field = constants.ELECTRIC_TERRAIN - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FIELD_END, constants.ELECTRIC_TERRAIN), - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, -1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icespinner_removes_terrain(self): - bot_move = "splash" - opponent_move = "icespinner" - self.state.field = constants.ELECTRIC_TERRAIN - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FIELD_END, constants.ELECTRIC_TERRAIN), - (constants.MUTATOR_DAMAGE, constants.USER, 68) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lastrespects_damage_boost(self): - bot_move = "lastrespects" - opponent_move = "splash" - - self.state.user.reserve["xatu"].hp = 0 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) # 50BP would do 32 dmg - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_populationbomb_damage_boost(self): - bot_move = "populationbomb" - opponent_move = "splash" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 65) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_raging_bull_type_change(self): - bot_move = "ragingbull" - opponent_move = "splash" - self.state.user.active.id = "taurospaldeacombat" - self.state.user.active.types = ["fighting"] - self.state.opponent.active.types = ["fighting"] - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 84) # would do 56 damage if not boosted by STAB - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_removes_terrain_and_spikes(self): - bot_move = "splash" - opponent_move = "defog" - self.state.field = constants.ELECTRIC_TERRAIN - self.state.user.side_conditions[constants.SPIKES] = 2 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_FIELD_END, constants.ELECTRIC_TERRAIN), - (constants.MUTATOR_SIDE_END, constants.USER, constants.SPIKES, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.EVASION, -1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_doubleironbash_does_double_damage(self): - bot_move = "doubleironbash" - opponent_move = "splash" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stamina_increases_defence_when_hit_with_damaging_move(self): - bot_move = "tackle" - opponent_move = "splash" - - self.state.opponent.active.ability = 'stamina' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stamina_does_not_increase_defence_when_hit_with_status_move(self): - bot_move = "charm" - opponent_move = "splash" - - self.state.opponent.active.ability = 'stamina' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stealthrock_into_switch(self): - bot_move = "stealthrock" - opponent_move = "switch yveltal" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fainting_pokemon_does_not_move(self): - self.state.opponent.active.hp = 1 - - bot_move = "tackle" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_negative_boost_inflictions(self): - bot_move = "crunch" - opponent_move = "moonblast" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.06, - [ - ('damage', 'opponent', 24), - ('boost', 'opponent', 'defense', -1), - ('damage', 'user', 119), - ('boost', 'user', 'special-attack', -1) - ], - False - ), - TransposeInstruction( - 0.13999999999999999, - [ - ('damage', 'opponent', 24), - ('boost', 'opponent', 'defense', -1), - ('damage', 'user', 119), - ], - False - ), - TransposeInstruction( - 0.24, - [ - ('damage', 'opponent', 24), - ('damage', 'user', 119), - ('boost', 'user', 'special-attack', -1) - ], - False - ), - TransposeInstruction( - 0.5599999999999999, - [ - ('damage', 'opponent', 24), - ('damage', 'user', 119), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_reflect_halves_physical_damage(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.user.side_conditions[constants.REFLECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 17) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_reflect_does_not_halve_special_damage(self): - bot_move = "tackle" - opponent_move = "fairywind" - self.state.user.side_conditions[constants.REFLECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 51) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_light_screen_halves_special_damage(self): - bot_move = "tackle" - opponent_move = "fairywind" - self.state.user.side_conditions[constants.LIGHT_SCREEN] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rain_doubles_water_damage(self): - bot_move = "surf" - opponent_move = "tackle" - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 72), - ('damage', 'user', 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rain_makes_hurricane_always_hit(self): - bot_move = "hurricane" - opponent_move = "splash" - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 59) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sun_doubles_fire_damage(self): - bot_move = "eruption" - opponent_move = "tackle" - self.state.weather = constants.SUN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 119), - ('damage', 'user', 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sand_properly_increses_special_defense_for_rock(self): - bot_move = "surf" - opponent_move = "splash" - self.state.weather = constants.SAND - self.state.opponent.active.types = ['rock'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 64), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_snow_properly_increses_defense_for_ice(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.weather = constants.SNOW - self.state.opponent.active.types = ['ice'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 17), # without snow damage would be 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sand_does_not_increase_special_defense_for_ground(self): - bot_move = "surf" - opponent_move = "splash" - self.state.weather = constants.SAND - self.state.opponent.active.types = ['ground'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 96), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lifeorb_gives_recoil(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.user.active.item = 'lifeorb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 33), - ('heal', 'user', -20.8), - ('damage', 'user', 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_blackglasses_boosts_dark_moves(self): - bot_move = "darkestlariat" - opponent_move = "splash" - self.state.user.active.item = 'blackglasses' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 31) # normal damage is 26 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_choice_band_boosts_damage(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.user.active.item = 'choiceband' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 37), - ('damage', 'user', 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_eviolite_reduces_damage(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.user.active.item = 'eviolite' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 24) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rocky_helmet_hurts_attacker(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.user.active.item = 'rockyhelmet' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 35), - ('heal', 'opponent', -49.33333333333333) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_taunt_sets_taunt_status(self): - bot_move = "taunt" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.TAUNT) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_taunt_volatile_status_prevents_non_damaging_move(self): - bot_move = "taunt" - opponent_move = "calmmind" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.TAUNT) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_taunt_volatile_status_does_not_prevent_damaging_move(self): - bot_move = "taunt" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.TAUNT), - (constants.MUTATOR_DAMAGE, constants.USER, 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_ninetales_starts_sun_weather(self): - bot_move = "switch ninetales" - opponent_move = "splash" - self.state.user.reserve['ninetales'] = Pokemon.from_state_pokemon_dict(StatePokemon("ninetales", 81).to_dict()) - self.state.user.reserve['ninetales'].ability = 'drought' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'ninetales'), - (constants.MUTATOR_WEATHER_START, constants.SUN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_politoed_starts_rain_weather(self): - bot_move = "switch politoed" - opponent_move = "splash" - self.state.user.reserve['politoed'] = Pokemon.from_state_pokemon_dict(StatePokemon("politoed", 81).to_dict()) - self.state.user.reserve['politoed'].ability = 'drizzle' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'politoed'), - (constants.MUTATOR_WEATHER_START, constants.RAIN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_electricsurge_starts_terrain(self): - bot_move = "switch tapukoko" - opponent_move = "splash" - self.state.user.reserve['tapukoko'] = Pokemon.from_state_pokemon_dict(StatePokemon("tapukoko", 81).to_dict()) - self.state.user.reserve['tapukoko'].ability = 'electricsurge' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'tapukoko'), - (constants.MUTATOR_FIELD_START, constants.ELECTRIC_TERRAIN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_psychicsurge_starts_terrain(self): - bot_move = "switch tapulele" - opponent_move = "splash" - self.state.user.reserve['tapulele'] = Pokemon.from_state_pokemon_dict(StatePokemon("tapulele", 81).to_dict()) - self.state.user.reserve['tapulele'].ability = 'psychicsurge' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'tapulele'), - (constants.MUTATOR_FIELD_START, constants.PSYCHIC_TERRAIN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_queenlymajesty_stops_priority_move(self): - bot_move = "quickattack" - opponent_move = "splash" - self.state.opponent.active.ability = 'queenlymajesty' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steelworker_boosts_steel_moves(self): - bot_move = "heavyslam" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'steelworker' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - @mock.patch('showdown.engine.special_effects.moves.modify_move.pokedex') - def test_heavyslam_damage_for_10_times_the_weight(self, pokedex_mock): - # 10x the weight should result in 120 base-power - fake_pokedex = { - 'pikachu': { - constants.WEIGHT: 100 - }, - 'pidgey': { - constants.WEIGHT: 10 - } - } - pokedex_mock.__getitem__.side_effect = fake_pokedex.__getitem__ - - bot_move = "heavyslam" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.types = ['normal'] - self.state.user.active.id = 'pikachu' - self.state.opponent.active.id = 'pidgey' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - @mock.patch('showdown.engine.special_effects.moves.modify_move.pokedex') - def test_heavyslam_damage_for_4_times_the_weight(self, pokedex_mock): - # 4x the weight should result in 100 base-power - fake_pokedex = { - 'pikachu': { - constants.WEIGHT: 100 - }, - 'pidgey': { - constants.WEIGHT: 25 - } - } - pokedex_mock.__getitem__.side_effect = fake_pokedex.__getitem__ - - bot_move = "heavyslam" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.types = ['normal'] - self.state.user.active.id = 'pikachu' - self.state.opponent.active.id = 'pidgey' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - @mock.patch('showdown.engine.special_effects.moves.modify_move.pokedex') - def test_heavyslam_damage_for_the_same_weight(self, pokedex_mock): - # equal weight should result in 40 base-power - fake_pokedex = { - 'pikachu': { - constants.WEIGHT: 100 - }, - 'pidgey': { - constants.WEIGHT: 100 - } - } - pokedex_mock.__getitem__.side_effect = fake_pokedex.__getitem__ - - bot_move = "heavyslam" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.types = ['normal'] - self.state.user.active.id = 'pikachu' - self.state.opponent.active.id = 'pidgey' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - @mock.patch('showdown.engine.special_effects.moves.modify_move.pokedex') - def test_heatcrash_damage_for_the_same_weight(self, pokedex_mock): - # 10x equal weight should result in 120 base-power - fake_pokedex = { - 'pikachu': { - constants.WEIGHT: 100 - }, - 'pidgey': { - constants.WEIGHT: 10 - } - } - pokedex_mock.__getitem__.side_effect = fake_pokedex.__getitem__ - - bot_move = "heatcrash" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.types = ['normal'] - self.state.user.active.id = 'pikachu' - self.state.opponent.active.id = 'pidgey' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - @mock.patch('showdown.engine.special_effects.moves.modify_move.pokedex') - def test_heatcrash_into_flashfire(self, pokedex_mock): - # the defender has flashfire so no damage should be done, even with 10x the weight - fake_pokedex = { - 'pikachu': { - constants.WEIGHT: 100 - }, - 'pidgey': { - constants.WEIGHT: 10 - } - } - pokedex_mock.__getitem__.side_effect = fake_pokedex.__getitem__ - - bot_move = "heatcrash" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.opponent.active.types = ['normal'] - self.state.user.active.id = 'pikachu' - self.state.opponent.active.id = 'pidgey' - - self.state.opponent.active.ability = 'flashfire' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_neuroforce_boosts_if_supereffective(self): - bot_move = "machpunch" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'neuroforce' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 64) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_marvelscale_reduces_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'marvelscale' - self.state.opponent.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 17), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_marvelscale_does_not_reduce_special_damage(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'marvelscale' - self.state.opponent.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_overcoat_protects_from_spore(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'overcoat' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unaware_ignore_defense_boost(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'unaware' - self.state.opponent.active.defense_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) # 25 is unboosted damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unaware_ignore_special_defense_boost(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'unaware' - self.state.opponent.active.special_defense_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_killing_a_pokemon_with_various_end_of_turn_action_items(self): - bot_move = "return102" - opponent_move = "splash" - self.state.weather = constants.SAND - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.hp = 40 - self.state.opponent.active.item = 'leftovers' - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40), - (constants.MUTATOR_DAMAGE, constants.USER, 13) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_end_of_turn_instructions_execute_in_correct_order(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.SAND - self.state.opponent.active.types = ['normal'] - self.state.user.active.types = ['normal'] - self.state.user.active.item = 'leftovers' - self.state.user.active.status = constants.POISON - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # sand - (constants.MUTATOR_DAMAGE, constants.USER, 6), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 6), - - # leftovers - (constants.MUTATOR_HEAL, constants.USER, 6), - - # poison - (constants.MUTATOR_DAMAGE, constants.USER, 12), - - # leechseed sap - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_HEAL, constants.USER, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leftovers_healing(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.user.active.item = 'leftovers' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 13) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_flameorb_burns_at_end_of_turn(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'flameorb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.USER, 13) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_type_cannot_be_burned_by_flameorb(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'flameorb' - self.state.user.active.types = ['fire'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxicorb_toxics_the_user(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'toxicorb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.TOXIC), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_SIDE_START, constants.USER, constants.TOXIC_COUNT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_type_cannot_be_toxiced_by_toxicorb(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'toxicorb' - self.state.user.active.types = ['poison'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_flameorb_cannot_burn_paralyzed_pokemon(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'flameorb' - self.state.user.active.status = constants.PARALYZED - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_solarpower_self_damage_at_the_end_of_the_turn(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.SUN - self.state.user.active.ability = 'solarpower' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 26) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_raindish_heals_when_weather_is_rain(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.RAIN - self.state.user.active.ability = 'raindish' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 6) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dryskin_heals_when_weather_is_rain(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.RAIN - self.state.user.active.ability = 'dryskin' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dryskin_damages_when_weather_is_sun(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.SUN - self.state.user.active.ability = 'dryskin' - self.state.user.active.hp = 100 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dryskin_does_not_overkill(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.SUN - self.state.user.active.ability = 'dryskin' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_raindish_does_not_overheal(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.RAIN - self.state.user.active.ability = 'raindish' - self.state.user.active.hp = 99 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dryskin_does_not_overheal(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.RAIN - self.state.user.active.ability = 'dryskin' - self.state.user.active.hp = 99 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icebody_does_not_overheal(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.HAIL - self.state.user.active.ability = 'icebody' - self.state.user.active.hp = 99 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), # opponent's hail damage - (constants.MUTATOR_HEAL, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icebody_healing(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.HAIL - self.state.user.active.ability = 'icebody' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), # opponent's hail damage - (constants.MUTATOR_HEAL, constants.USER, 6) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leftovers_healing_with_speedboost(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.user.active.item = 'leftovers' - self.state.user.active.ability = 'speedboost' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 13), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_both_leftovers_healing(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.opponent.active.hp = 1 - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'leftovers' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 13), - (constants.MUTATOR_HEAL, constants.OPPONENT, 18), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_both_leftovers_healing_and_poison_damage(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.opponent.active.hp = 1 - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'leftovers' - self.state.opponent.active.status = constants.POISON - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 13), - (constants.MUTATOR_HEAL, constants.OPPONENT, 18), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 19), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leftovers_has_no_effect_when_at_full_hp(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'leftovers' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fainted_pokemon_gets_no_speedboost_or_leftovers_heal(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.active.hp = 0 - self.state.user.active.item = 'leftovers' - self.state.user.active.ability = 'speedboost' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_killing_a_pokemon_with_poisonheal(self): - bot_move = "return102" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.hp = 40 - self.state.opponent.active.status = constants.TOXIC - self.state.opponent.active.ability = 'poisonheal' - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_killing_a_pokemon_with_poison(self): - bot_move = "return102" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.hp = 40 - self.state.opponent.active.status = constants.POISON - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 40), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opponent_with_unaware_does_not_make_him_take_more_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'unaware' # now we set defenders ability to unaware. this shouldnt cause normal damage - self.state.opponent.active.defense_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 7) # 25 is unboosted damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unaware_ignore_opponent_attack_boost(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'unaware' - self.state.opponent.active.attack_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 52) # 202 is damage with +6 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unaware_on_attacker_does_not_reduce_damage(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'unaware' - self.state.opponent.active.attack_boost = 6 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 202) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_overgrow_boosts_damage_below_one_third(self): - bot_move = "vinewhip" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'overgrow' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 42) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_swarm_boosts_damage_below_one_third(self): - bot_move = "xscissor" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'swarm' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_swarm_does_not_boost_when_at_half_health(self): - bot_move = "xscissor" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'swarm' - self.state.user.active.hp = 2 - self.state.user.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 49) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_shieldsdown_with_50_percent_can_be_burned(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'shieldsdown' - self.state.opponent.active.hp = 200 - self.state.opponent.active.maxhp = 400 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_galewings_increases_priority(self): - bot_move = "bravebird" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'galewings' - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.hp = 400 - self.state.user.active.maxhp = 400 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), # bot moves first even though it is slower - (constants.MUTATOR_DAMAGE, constants.USER, 24), - (constants.MUTATOR_DAMAGE, constants.USER, 52), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_galewings_does_not_increase_priority_when_hp_is_not_full(self): - bot_move = "bravebird" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'galewings' - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.hp = 399 - self.state.user.active.maxhp = 400 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 52), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DAMAGE, constants.USER, 24), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sturdy_prevents_ohko(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.hp = 5 - self.state.user.active.maxhp = 5 - self.state.user.active.ability = 'sturdy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 4), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sturdy_causes_no_damage_if_maxhp_is_1(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 1 - self.state.user.active.ability = 'sturdy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 0), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sturdy_mon_can_be_killed_when_not_at_maxhp(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.hp = 10 - self.state.user.active.maxhp = 100 - self.state.user.active.ability = 'sturdy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 10), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_justified_boosts_attack_versus_dark_move(self): - bot_move = "splash" - opponent_move = "knockoff" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'justified' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 82), - (constants.MUTATOR_CHANGE_ITEM, constants.USER, None, constants.UNKNOWN_ITEM), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_knocking_out_with_beastboost_gives_a_boost_to_highest_stat(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 1 - self.state.opponent.active.attack = 100 # highest stat - self.state.opponent.active.defense = 1 - self.state.opponent.active.special_attack = 1 - self.state.opponent.active.special_defense = 1 - self.state.opponent.active.speed = 1 - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_not_knocking_out_with_beastboost_does_not_increase_stat(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 200 - self.state.opponent.active.attack = 100 # highest stat - self.state.opponent.active.defense = 1 - self.state.opponent.active.special_attack = 1 - self.state.opponent.active.special_defense = 1 - self.state.opponent.active.speed = 1 - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_beastboost_prefers_attack_over_any_stat_when_tied(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 1 - self.state.opponent.active.attack = 100 # highest stat - self.state.opponent.active.defense = 100 - self.state.opponent.active.special_attack = 100 - self.state.opponent.active.special_defense = 100 - self.state.opponent.active.speed = 100 - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_beastboost_does_not_boost_beyond_6(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 1 - self.state.opponent.active.attack = 101 # highest stat - self.state.opponent.active.defense = 100 - self.state.opponent.active.special_attack = 100 - self.state.opponent.active.special_defense = 100 - self.state.opponent.active.speed = 100 - self.state.opponent.active.attack_boost = 6 - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_beastboost_will_boost_speed(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 1 - self.state.opponent.active.attack = 99 - self.state.opponent.active.defense = 99 - self.state.opponent.active.special_attack = 99 - self.state.opponent.active.special_defense = 99 - self.state.opponent.active.speed = 100 # highest stat - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_beastboost_prefers_special_defense_over_speed(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.user.active.hp = 1 - self.state.opponent.active.attack = 99 - self.state.opponent.active.defense = 99 - self.state.opponent.active.special_attack = 99 - self.state.opponent.active.special_defense = 100 # highest stat - self.state.opponent.active.speed = 100 - self.state.opponent.active.ability = "beastboost" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_no_boost_from_non_damaging_dark_move(self): - bot_move = "splash" - opponent_move = "partingshot" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'justified' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, -1), - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_infiltrator_goes_through_reflect(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.side_conditions[constants.REFLECT] = 1 - self.state.user.active.ability = 'infiltrator' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), # should be 12 with reflect up - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_secondary_poison_effect_with_shielddust(self): - bot_move = "sludgebomb" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'shielddust' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sleep_versus_sweetveil(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'sweetveil' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sleep_versus_vitalspirit(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'vitalspirit' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sleep_clause_prevents_multiple_pokemon_from_being_asleep(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.reserve["yveltal"].status = constants.SLEEP - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fainted_pokemon_cannot_cause_sleepclause(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.reserve["yveltal"].status = constants.SLEEP - self.state.opponent.reserve["yveltal"].hp = 0 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.SLEEP), - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.SLEEP) - ], - False - ), - TransposeInstruction( - 0.6699999999999999, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.SLEEP) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sandforce_with_steel_move_boosts_power(self): - bot_move = "heavyslam" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'sandforce' - self.state.weather = constants.SAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sandforce_with_normal_move_has_no_boost(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'sandforce' - self.state.weather = constants.SAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sleep_versus_comatose(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'comatose' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quickfeet_boosts_speed(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'quickfeet' - self.state.user.active.status = constants.BURN - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_DAMAGE, constants.USER, 52), - (constants.MUTATOR_DAMAGE, constants.USER, 13), # burn damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_triage_boosts_priority(self): - bot_move = "drainingkiss" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'triage' - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 27), - (constants.MUTATOR_HEAL, constants.USER, 0), - (constants.MUTATOR_DAMAGE, constants.USER, 52), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_draining_move_into_liquidooze(self): - bot_move = "drainpunch" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'liquidooze' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 94), - (constants.MUTATOR_HEAL, constants.USER, -47), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_innerfocus_prevents_flinching(self): - bot_move = "ironhead" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'innerfocus' - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 49), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defeatist_does_half_damage_at_less_than_half_health(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'defeatist' - self.state.user.active.hp = 50 - self.state.user.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 13), # does 25 normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_soundproof_immune_to_sound_move(self): - bot_move = "boomburst" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'soundproof' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_soundproof_immune_to_partingshot(self): - bot_move = "partingshot" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'soundproof' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_surgesurfer_boosts_speed(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'surgesurfer' - self.state.field = constants.ELECTRIC_TERRAIN - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.USER, 52), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weakarmor_activates_on_physical_move(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'weakarmor' - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weakarmor_does_not_activate_on_status_move(self): - bot_move = "calmmind" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'weakarmor' - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weakarmor_activates_on_physical_move_when_the_pokemon_uses_a_boosting_move(self): - bot_move = "tackle" - opponent_move = "calmmind" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'weakarmor' - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 2), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weakarmor_does_not_activate_on_special_move(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'weakarmor' - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magmastorm_residual_damage(self): - bot_move = "magmastorm" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.PARTIALLY_TRAPPED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - ], - False - ), - TransposeInstruction( - 0.25, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_saltcure_residual_damage(self): - bot_move = "saltcure" - opponent_move = "splash" - self.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, "saltcure"), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_saltcure_residual_damage_on_water_type(self): - bot_move = "saltcure" - opponent_move = "splash" - self.state.opponent.active.types = ["water", "rock"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, "saltcure"), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magmaarmor_prevents_frozen(self): - bot_move = "icepunch" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'magmaarmor' - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 47), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_quickfeet_boost_ignores_paralysis(self): - bot_move = "tackle" - opponent_move = "tackle" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'quickfeet' - self.state.user.active.status = constants.PARALYZED - self.state.user.active.speed = 100 - self.state.opponent.active.speed = 101 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.USER, 52), - ], - False - ), - TransposeInstruction( - 0.25, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 52), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_secondary_poison_effect_with_immunity(self): - bot_move = "sludgebomb" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'immunity' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_partingshot_into_competitive_boosts_special_attack_by_4(self): - bot_move = "partingshot" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_calmmind_versus_competitive(self): - bot_move = "calmmind" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_into_competitive_boosts_special_attack_by_2(self): - bot_move = "defog" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.EVASION, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_into_defiant_boosts_attack_by_2(self): - bot_move = "defog" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.EVASION, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_calmmind_into_defiant(self): - bot_move = "calmmind" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_partingshot_into_defiant_boosts_attack_by_4(self): - bot_move = "partingshot" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 3), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, -1), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_memento_into_competitive(self): - bot_move = "memento" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, -2), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 0), - (constants.MUTATOR_HEAL, constants.USER, -208) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_memento_into_defiant(self): - bot_move = "memento" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, -2), - (constants.MUTATOR_HEAL, constants.USER, -208) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_moonblast_secondary_into_competitive(self): - bot_move = "moonblast" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 1), - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_moonblast_secondary_into_defiant(self): - bot_move = "moonblast" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, -1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 50), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_intimidate_into_competitive(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.ability = 'competitive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_with_quarkdrive_boosterenergy(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'quarkdrive' - self.state.user.reserve['xatu'].item = 'boosterenergy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "quarkdrivespa"), - (constants.MUTATOR_CHANGE_ITEM, constants.USER, None, "boosterenergy") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_with_protosynthesis_boosterenergy(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'protosynthesis' - self.state.user.reserve['xatu'].item = 'boosterenergy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "protosynthesisspa"), - (constants.MUTATOR_CHANGE_ITEM, constants.USER, None, "boosterenergy") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_with_protosynthesis_boosterenergy_boosting_attack(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].attack = 500 - self.state.user.reserve['xatu'].ability = 'protosynthesis' - self.state.user.reserve['xatu'].item = 'boosterenergy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, "protosynthesisatk"), - (constants.MUTATOR_CHANGE_ITEM, constants.USER, None, "boosterenergy") - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_with_intimidate_into_clearamulet(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.item = 'clearamulet' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_intimidate_into_rattled(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.ability = 'rattled' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_intimidate_into_defiant(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.ability = 'defiant' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_with_intimidate_into_guarddog(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.ability = 'guarddog' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thunderwave_into_limber(self): - bot_move = "thunderwave" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'limber' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thunderwave_into_ground_type(self): - bot_move = "thunderwave" - opponent_move = "splash" - self.state.opponent.active.types = ['ground'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bodyslam_into_ground_type(self): - bot_move = "bodyslam" - opponent_move = "splash" - self.state.opponent.active.types = ['ground'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.PARALYZED) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protean_changes_types_before_doing_damage(self): - bot_move = "surf" - opponent_move = "splash" - self.state.user.active.types = ['water', 'grass'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['water'], ['water', 'grass']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 72), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protean_causes_attack_to_have_stab(self): - bot_move = "surf" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['water'], ['normal']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 72), # non-STAB surf does 48 damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_no_type_change_instruction_if_there_are_no_types_to_change(self): - bot_move = "surf" - opponent_move = "splash" - self.state.user.active.types = ['water'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 72), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_no_type_change_instruction_if_user_gets_flinched(self): - bot_move = "surf" - opponent_move = "ironhead" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.types = ['normal'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 68), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 68), - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['water'], ['normal']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 72), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_there_is_a_type_change_instruction_if_a_protean_user_misses_due_to_accuracy(self): - bot_move = "hydropump" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.8, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['water'], ['normal']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 88), - ], - False - ), - TransposeInstruction( - 0.19999999999999996, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['water'], ['normal']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_non_damaging_move_causes_type_change_instruction(self): - bot_move = "spikes" - opponent_move = "splash" - self.state.user.active.types = ['normal'] - self.state.user.active.ability = 'protean' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['ground'], ['normal']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.SPIKES, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_ground_move_with_libero_makes_pokemon_immune_to_electric_move(self): - bot_move = "earthquake" - opponent_move = "thunderwave" - self.state.user.active.types = ['water', 'grass'] - self.state.user.active.ability = 'libero' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['ground'], ['water', 'grass']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 94), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protean_does_not_activate_if_pkmn_has_volatilestatus(self): - bot_move = "earthquake" - opponent_move = "thunderwave" - self.state.user.active.types = ['water', 'grass'] - self.state.user.active.ability = 'libero' - self.state.user.active.volatile_status.add(constants.TYPECHANGE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.PARALYZED) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_being_flinched_does_not_result_in_type_change(self): - bot_move = "earthquake" - opponent_move = "ironhead" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.types = ['water', 'grass'] - self.state.user.active.ability = 'libero' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 34), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.FLINCH) - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 34), - (constants.MUTATOR_CHANGE_TYPE, constants.USER, ['ground'], ['water', 'grass']), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.TYPECHANGE), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 94), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_infestation_starts_volatile_status(self): - bot_move = "infestation" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 6), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.PARTIALLY_TRAPPED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hustle(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'hustle' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.8, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37) - ], - False - ), - TransposeInstruction( - 0.19999999999999996, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ironfist(self): - bot_move = "machpunch" - opponent_move = "splash" - self.state.user.active.ability = 'ironfist' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 15) # normal damage is 12 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_damp_blocks_explosion_moves(self): - bot_move = "splash" - opponent_move = "explosion" - self.state.user.active.ability = 'damp' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], # nothing happens - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_noguard(self): - bot_move = "stoneedge" - opponent_move = "splash" - self.state.user.active.ability = 'noguard' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_refrigerate(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'refrigerate' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 30) # normal damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_scrappy_hits_ghost(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'scrappy' - self.state.opponent.active.types = ['ghost'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_strongjaw(self): - bot_move = "bite" - opponent_move = "splash" - self.state.user.active.ability = 'strongjaw' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 28), # normal damage is 18 - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH) - - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 28) # normal damage is 18 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_technician(self): - bot_move = "bulletpunch" - opponent_move = "splash" - self.state.user.active.ability = 'technician' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 75), # normal damage is 51 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toughclaws(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'toughclaws' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 33), # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gorillatactics_boost_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'gorillatactics' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hugepower(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'hugepower' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 49), # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_reckless(self): - bot_move = "doubleedge" - opponent_move = "splash" - self.state.user.active.ability = 'reckless' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 89), # normal damage is 74 - (constants.MUTATOR_DAMAGE, constants.USER, 29) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_parentalbond(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'parentalbond' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 32), # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sapsipper_with_leechseed(self): - bot_move = "leechseed" - opponent_move = "splash" - self.state.opponent.active.ability = 'sapsipper' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sapsipper_with_leafblade(self): - bot_move = "leafblade" - opponent_move = "splash" - self.state.opponent.active.ability = 'sapsipper' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thickfat(self): - bot_move = "fusionflare" - opponent_move = "splash" - self.state.opponent.active.ability = 'thickfat' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 27) # normal damage is 53 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_contact_with_fluffy(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.ability = 'fluffy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 13) # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_furcoat(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.ability = 'furcoat' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 13) # normal damage is 25 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_motordrive(self): - bot_move = "hiddenpowerelectric60" - opponent_move = "splash" - self.state.opponent.active.ability = 'motordrive' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, 1) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_voltabsorb(self): - bot_move = "hiddenpowerelectric60" - opponent_move = "splash" - self.state.opponent.active.ability = 'voltabsorb' - self.state.opponent.active.hp = 95 - self.state.opponent.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.OPPONENT, 5) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stormdrain(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.ability = 'stormdrain' - self.state.opponent.active.hp = 95 - self.state.opponent.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 1) - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_with_fluffy(self): - bot_move = "fusionflare" - opponent_move = "splash" - self.state.opponent.active.ability = 'fluffy' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 105) # normal damage is 53 - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_shieldsdown_with_25_percent_can_be_burned(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'shieldsdown' - self.state.opponent.active.hp = 100 - self.state.opponent.active.maxhp = 400 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_shieldsdown_with_75_percent_cannot_be_burned(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'shieldsdown' - self.state.opponent.active.hp = 3 - self.state.opponent.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_blaze_boosts_damage_below_one_third(self): - bot_move = "ember" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'blaze' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 32), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ), - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 32), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ember_cannot_burn_when_defender_has_covertcoak(self): - bot_move = "ember" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.item = "covertcloak" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_covertcloak_does_not_stop_poweruppunch_boost(self): - bot_move = "poweruppunch" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.item = "covertcloak" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 51), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_torrent_boosts_damage_below_one_third(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = 'torrent' - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 4 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 32), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rockypayload(self): - bot_move = "accelerock" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = "rockypayload" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_goodasgold_versus_status_move(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = "goodasgold" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fairywind_into_windrider(self): - bot_move = "fairywind" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = "windrider" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_tailwind_with_windrider(self): - bot_move = "tailwind" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.user.active.ability = "windrider" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.USER, constants.TAILWIND, 1), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_goodasgold_versus_non_status_move(self): - bot_move = "accelerock" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = "goodasgold" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_move_with_choice_item_locks_other_moves(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_pkmn_with_choice_item_does_not_lock_other_moves(self): - bot_move = "switch xatu" - opponent_move = "celebrate" - self.state.user.reserve['xatu'].moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.reserve['xatu'].item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, self.state.user.active.id, 'xatu') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_being_dragged_into_pkmn_with_choice_item_does_not_lock_other_moves(self): - bot_move = "celebrate" - opponent_move = "whirlwind" - self.state.user.reserve = { - 'xatu': self.state.user.reserve['xatu'] - } - self.state.user.reserve['xatu'].moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.reserve['xatu'].item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, self.state.user.active.id, 'xatu') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gorilla_tactics_locks_other_moves_even_without_choice_item(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = None - self.state.user.active.ability = 'gorillatactics' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_gorilla_tactics_with_choice_item_locks_moves(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = 'choicescarf' - self.state.user.active.ability = 'gorillatactics' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opponent_using_move_with_choice_item_locks_other_moves(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.opponent.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opponent_using_move_with_choice_item_locks_non_disabled_moves(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: True}, # disabled already - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: True} # disabled already - ] - self.state.opponent.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'coil'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_already_disabled_moves_are_not_disabled(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: True}, - {constants.ID: 'coil', constants.DISABLED: True}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_outrage_locks_other_moves(self): - bot_move = "outrage" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'outrage', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_ragingfury_locks_other_moves(self): - bot_move = "ragingfury" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'ragingfury', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_move_with_choice_item(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'outrage', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_out_unlocks_locked_moves(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False, constants.CURRENT_PP: 10}, - {constants.ID: 'thunderwave', constants.DISABLED: True, constants.CURRENT_PP: 10}, - {constants.ID: 'coil', constants.DISABLED: True, constants.CURRENT_PP: 10}, - {constants.ID: 'sandattack', constants.DISABLED: True, constants.CURRENT_PP: 10} - ] - self.state.user.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_ENABLE_MOVE, constants.USER, 'thunderwave'), - (constants.MUTATOR_ENABLE_MOVE, constants.USER, 'coil'), - (constants.MUTATOR_ENABLE_MOVE, constants.USER, 'sandattack'), - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tanglinghair_drops_speed(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'tanglinghair' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_cottondown_drops_speed(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'cottondown' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_cottondown_drops_speed_for_non_contact_move(self): - bot_move = "surf" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'cottondown' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, -1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_vcreate_into_tanglinghair_drops_stats_correctly(self): - bot_move = "vcreate" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - self.state.opponent.active.ability = 'tanglinghair' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 111), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, -2), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_grassysurge_starts_terrain(self): - bot_move = "switch tapulele" - opponent_move = "splash" - self.state.user.reserve['tapulele'] = Pokemon.from_state_pokemon_dict(StatePokemon("tapulele", 81).to_dict()) - self.state.user.reserve['tapulele'].ability = 'grassysurge' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'tapulele'), - (constants.MUTATOR_FIELD_START, constants.GRASSY_TERRAIN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_mistysurge_starts_terrain(self): - bot_move = "switch tapulele" - opponent_move = "splash" - self.state.user.reserve['tapulele'] = Pokemon.from_state_pokemon_dict(StatePokemon("tapulele", 81).to_dict()) - self.state.user.reserve['tapulele'].ability = 'mistysurge' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'tapulele'), - (constants.MUTATOR_FIELD_START, constants.MISTY_TERRAIN, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_politoed_does_not_start_rain_weather_when_desolate_land_is_active(self): - bot_move = "switch politoed" - opponent_move = "splash" - self.state.weather = constants.DESOLATE_LAND - self.state.user.reserve['politoed'] = Pokemon.from_state_pokemon_dict(StatePokemon("politoed", 81).to_dict()) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'politoed'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_politoed_does_not_start_rain_weather_when_rain_is_already_active(self): - bot_move = "switch politoed" - opponent_move = "splash" - self.state.weather = constants.DESOLATE_LAND - self.state.user.reserve['politoed'] = Pokemon.from_state_pokemon_dict(StatePokemon("politoed", 81).to_dict()) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'politoed'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_in_with_dauntless_shield_causes_defense_to_raise(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve['xatu'].ability = 'dauntlessshield' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'xatu'), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_in_with_intrepid_sword_causes_attack_to_raise(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve['xatu'].ability = 'intrepidsword' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'xatu'), - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_intimidate_causes_opponent_attack_to_lower(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve['xatu'].ability = 'intimidate' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'xatu'), - (constants.MUTATOR_UNBOOST, constants.OPPONENT, constants.ATTACK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_innerfocus_immune_to_intimidate(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve['xatu'].ability = 'intimidate' - self.state.opponent.active.ability = 'innerfocus' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, 'user', self.state.user.active.id, 'xatu'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dousedrive_makes_waterabsorb_activate(self): - bot_move = "technoblast" - opponent_move = "splash" - self.state.user.active.item = 'dousedrive' - self.state.opponent.active.ability = 'waterabsorb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_eartheater(self): - bot_move = "earthquake" - opponent_move = "splash" - self.state.opponent.active.hp = 1 - self.state.opponent.active.ability = 'eartheater' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.OPPONENT, 74) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_eartheater_versus_water_move(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.hp = 100 - self.state.opponent.active.ability = 'eartheater' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thermalexchange_versus_fire_move(self): - bot_move = "ember" - opponent_move = "splash" - self.state.opponent.active.hp = 100 - self.state.opponent.active.ability = 'thermalexchange' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thermalexchange_versus_water_move(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.hp = 100 - self.state.opponent.active.ability = 'thermalexchange' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 22), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_airballoon_makes_immune(self): - bot_move = "tackle" - opponent_move = "earthquake" - self.state.user.active.item = 'airballoon' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_tabletsofruin_damage_reduction(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.ability = 'tabletsofruin' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 19) # would be 25 dmg normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_vesselofruin_damage_reduction(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.opponent.active.ability = 'vesselofruin' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 16) # would be 22 dmg normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_swordofruin_damage_amp(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'swordofruin' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 34) # would be 25 dmg normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_beadsofruin_damage_amp(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.ability = 'beadsofruin' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 29) # would be 22 dmg normally - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_collisioncourse_supereffective_boost(self): - bot_move = "collisioncourse" - opponent_move = "splash" - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 162), # without 1.3x from move this would do 125 dmg - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electrodrift_supereffective_boost(self): - bot_move = "electrodrift" - opponent_move = "splash" - self.state.opponent.active.types = ['flying'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 208), # without 1.3x from move this would do 80 dmg - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fillet_away_boosts_if_health_allows(self): - bot_move = "filletaway" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_BOOST, constants.USER, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_ATTACK, 2), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 2), - (constants.MUTATOR_HEAL, constants.USER, -104) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fillet_away_fails_if_health_is_below_half(self): - bot_move = "filletaway" - opponent_move = "splash" - self.state.user.active.hp = int(self.state.user.active.maxhp / 2) - 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weaknesspolicy_activates_on_super_effective_damage(self): - bot_move = "machpunch" - opponent_move = "splash" - self.state.opponent.active.item = 'weaknesspolicy' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 51), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.ATTACK, 2), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPECIAL_ATTACK, 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weaknesspolicy_does_not_activate_on_standard_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.item = 'weaknesspolicy' - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weaknesspolicy_does_not_activate_on_resisted_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.item = 'weaknesspolicy' - self.state.opponent.active.types = ['rock'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_weaknesspolicy_does_not_activate_on_status_move(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.item = 'weaknesspolicy' - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_memories_change_multiattack_type(self): - bot_move = "multiattack" - opponent_move = "splash" - self.state.user.active.item = 'bugmemory' - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_multiattack_with_no_item_is_normal(self): - bot_move = "multiattack" - opponent_move = "splash" - self.state.user.active.item = None - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_memories_change_multiattack_type_to_not_very_effective(self): - bot_move = "multiattack" - opponent_move = "splash" - self.state.user.active.item = 'watermemory' - self.state.opponent.active.types = ['grass'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_inflicting_with_leechseed_produces_sap_instruction(self): - bot_move = "leechseed" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.LEECH_SEED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_HEAL, constants.USER, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leechseed_sap_does_not_overheal(self): - bot_move = "leechseed" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 95 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.LEECH_SEED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_HEAL, constants.USER, 5) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leechseed_sap_into_removing_protect_side_condition(self): - bot_move = "leechseed" - opponent_move = "splash" - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - self.state.opponent.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.LEECH_SEED), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_HEAL, constants.USER, 12), - (constants.MUTATOR_SIDE_END, constants.OPPONENT, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_roost_with_choice_item(self): - bot_move = "roost" - opponent_move = "tackle" - self.state.user.active.moves = [ - {constants.ID: "tackle", constants.DISABLED: False, constants.CURRENT_PP: 10}, - {constants.ID: "stringshot", constants.DISABLED: False, constants.CURRENT_PP: 10}, - {constants.ID: "roost", constants.DISABLED: False, constants.CURRENT_PP: 10}, - ] - self.state.user.active.item = 'choicescarf' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, 'roost'), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, 'roost'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'tackle'), - (constants.MUTATOR_DISABLE_MOVE, constants.USER, 'stringshot'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_sunnyday_sets_the_weather(self): - bot_move = "sunnyday" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SUN, self.state.weather) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_trick_swaps_items_with_opponent(self): - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'lifeorb' - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', 'leftovers'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'leftovers', 'lifeorb'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_fails_against_z_crystal(self): - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'iciumz' - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_fails_against_sticky_hold(self): - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.item = 'leftovers' - self.state.opponent.active.ability = 'stickyhold' - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_stickyweb_lowers_speed(self): - bot_move = "switch starmie" - opponent_move = "splash" - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie'), - (constants.MUTATOR_UNBOOST, constants.USER, constants.SPEED, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_stickyweb_with_whitesmoke_does_not_lower_speed(self): - bot_move = "switch starmie" - opponent_move = "splash" - self.state.user.reserve['starmie'].ability = 'whitesmoke' - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'raichu', 'starmie') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_charm_against_pokemon_with_clearbody(self): - bot_move = "splash" - opponent_move = "charm" - self.state.user.active.ability = 'clearbody' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_charm_against_pokemon_with_clearamulet(self): - bot_move = "splash" - opponent_move = "charm" - self.state.user.active.item = 'clearamulet' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_mysticwater_boosts_water_move(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.item = 'mysticwater' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 26) # typical damage is 22 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_charcoal_boosts_fire_move(self): - bot_move = "eruption" - opponent_move = "splash" - self.state.user.active.item = 'charcoal' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 95) # typical damage is 79 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_fails_against_silvally_with_memory(self): - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'steelmemory' - self.state.opponent.active.id = 'silvallysteel' - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_fails_on_opponent_with_substitute(self): - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'lifeorb' - self.state.opponent.active.volatile_status.add(constants.SUBSTITUTE) - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_succeeds_when_user_is_behind_substitute(self): - self.state.user.active.item = 'leftovers' - self.state.opponent.active.item = 'lifeorb' - self.state.user.active.volatile_status.add(constants.SUBSTITUTE) - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', 'leftovers'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'leftovers', 'lifeorb'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_switches_when_user_has_no_item(self): - self.state.user.active.item = None - self.state.opponent.active.item = 'lifeorb' - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', None), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, None, 'lifeorb'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_trick_switches_when_opponent_has_no_item(self): - self.state.user.active.item = 'lifeorb' - self.state.opponent.active.item = None - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, None, 'lifeorb'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'lifeorb', None), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_double_no_item_produces_no_instructions(self): - self.state.user.active.item = None - self.state.opponent.active.item = None - bot_move = "trick" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_opponent_move_locks_when_choicescarf_is_tricked(self): - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.item = 'lifeorb' - bot_move = "trick" - opponent_move = "tackle" - self.state.opponent.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', 'choicescarf'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'choicescarf', 'lifeorb'), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switcheroo_behaves_the_same_as_trick(self): - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.item = 'lifeorb' - bot_move = "switcheroo" - opponent_move = "tackle" - self.state.opponent.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', 'choicescarf'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'choicescarf', 'lifeorb'), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'thunderwave'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'coil'), - (constants.MUTATOR_DISABLE_MOVE, constants.OPPONENT, 'sandattack'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_bot_moves_are_not_locked_when_a_choice_item_is_tricked(self): - self.state.user.active.item = 'choicescarf' - self.state.opponent.active.item = 'lifeorb' - bot_move = "trick" - opponent_move = "splash" - self.state.user.active.moves = [ - {constants.ID: 'trick', constants.DISABLED: False}, - {constants.ID: 'thunderwave', constants.DISABLED: False}, - {constants.ID: 'coil', constants.DISABLED: False}, - {constants.ID: 'sandattack', constants.DISABLED: False} - ] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_CHANGE_ITEM, constants.USER, 'lifeorb', 'choicescarf'), - (constants.MUTATOR_CHANGE_ITEM, constants.OPPONENT, 'choicescarf', 'lifeorb'), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_sunnyday_changes_the_weather_from_rain(self): - bot_move = "sunnyday" - opponent_move = "splash" - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SUN, self.state.weather) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_raindance_sets_the_weather(self): - bot_move = "raindance" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.RAIN, self.state.weather) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_raindance_sets_the_weather_correctly_as_a_second_move(self): - bot_move = "raindance" - opponent_move = "bulletpunch" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 17), - (constants.MUTATOR_WEATHER_START, constants.RAIN, self.state.weather) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fainted_pkmn_doesnt_move(self): - bot_move = "raindance" - opponent_move = "bulletpunch" - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_has_no_effect_when_weather_is_already_active(self): - bot_move = "raindance" - opponent_move = "splash" - self.state.weather = constants.RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_paralyzed_pokemon_reacts_properly_to_weather(self): - bot_move = "raindance" - opponent_move = "splash" - self.state.user.active.status = constants.PARALYZED - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - (constants.MUTATOR_WEATHER_START, constants.RAIN, None) - ], - False - ), - TransposeInstruction( - 0.25, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_trickroom_sets_trickroom(self): - bot_move = "trickroom" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_TOGGLE_TRICKROOM,) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_does_not_work_through_flinched(self): - bot_move = "raindance" - opponent_move = "ironhead" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 34), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.FLINCH), - ], - True - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 34), - (constants.MUTATOR_WEATHER_START, constants.RAIN, self.state.weather) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_faster_pkmn_does_not_flinch(self): - bot_move = "raindance" - opponent_move = "ironhead" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - - (constants.MUTATOR_WEATHER_START, constants.RAIN, self.state.weather), - (constants.MUTATOR_DAMAGE, constants.USER, 34), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_double_weather_move_sets_weathers_properly(self): - bot_move = "raindance" - opponent_move = "sandstorm" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SAND, None), - (constants.MUTATOR_WEATHER_START, constants.RAIN, constants.SAND) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_sandstorm_sets_the_weather(self): - bot_move = "sandstorm" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SAND, self.state.weather), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sand_causes_correct_damage_to_kill(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.SAND - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hail_causes_correct_damage_to_kill(self): - bot_move = "splash" - opponent_move = "splash" - self.state.weather = constants.HAIL - self.state.user.active.hp = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_hail_sets_the_weather(self): - bot_move = "hail" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.HAIL, self.state.weather), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_in_with_snowwarning_produces_correct_ice_weather_instruction(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve["xatu"].ability = "snowwarning" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "xatu"), - (constants.MUTATOR_WEATHER_START, constants.SNOW, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_in_with_snowwarning_produces_correct_ice_weather_instruction(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve["xatu"].ability = "snowwarning" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "xatu"), - (constants.MUTATOR_WEATHER_START, constants.SNOW, None) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_in_with_snowwarning_does_not_produce_instruction_if_weather_already_set(self): - bot_move = "switch xatu" - opponent_move = "splash" - self.state.user.reserve["xatu"].ability = "snowwarning" - self.state.weather = constants.ICE_WEATHER - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, "raichu", "xatu"), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_sunnyday_in_heavyrain_does_not_change_weather(self): - bot_move = "sunnyday" - opponent_move = "splash" - self.state.weather = constants.HEAVY_RAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_sunnyday_into_solarbeam_causes_solarbeam_to_not_charge(self): - bot_move = "sunnyday" - opponent_move = "solarbeam" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SUN, self.state.weather), - (constants.MUTATOR_DAMAGE, constants.USER, 99) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_protect_adds_volatile_status_and_side_condition(self): - bot_move = "protect" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unseenfist_ignores_protect_with_contact_move(self): - bot_move = "protect" - opponent_move = "tackle" - self.state.opponent.active.ability = 'unseenfist' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_unseenfist_does_not_ignore_protect_with_non_contact_move(self): - bot_move = "protect" - opponent_move = "watergun" - self.state.opponent.active.ability = 'unseenfist' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_psyshock_boost_in_terrain(self): - bot_move = "psyshock" - opponent_move = "splash" - self.state.field = constants.PSYCHIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 64) # normal damage without terrain is 49 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_expandingforce_power_boost_in_terrain(self): - bot_move = "expandingforce" - opponent_move = "splash" - self.state.field = constants.PSYCHIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 82) # normal damage in terrain without 1.5x boost is 56 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_risingvoltage_power_boost_in_terrain(self): - bot_move = "risingvoltage" - opponent_move = "splash" - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 110) # normal damage in terrain without 1.5x boost is 56 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_terrainpulse_fails_against_ground_type_in_electricterrain(self): - bot_move = "terrainpulse" - opponent_move = "splash" - self.state.field = constants.ELECTRIC_TERRAIN - self.state.opponent.active.types = ['ground'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_terrainpulse_fails_against_dark_type_in_psychicterrain(self): - bot_move = "terrainpulse" - opponent_move = "splash" - self.state.field = constants.PSYCHIC_TERRAIN - self.state.opponent.active.types = ['dark'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_terrainpulse_fails_against_ghost_type_without_terrain(self): - bot_move = "terrainpulse" - opponent_move = "splash" - self.state.opponent.active.types = ['ghost'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poltergeist_fails_against_target_with_no_item(self): - bot_move = "poltergeist" - opponent_move = "splash" - self.state.opponent.active.item = None - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poltergeist_does_not_fail_against_target_with_an_unknown_item(self): - bot_move = "poltergeist" - opponent_move = "splash" - self.state.opponent.active.item = constants.UNKNOWN_ITEM - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 68) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steelroller_works_in_terrain(self): - bot_move = "steelroller" - opponent_move = "splash" - self.state.field = constants.PSYCHIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 162) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steelroller_fails_without_terrain_active(self): - bot_move = "steelroller" - opponent_move = "splash" - self.state.field = None - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_meteorbeam_charges_on_the_first_turn(self): - bot_move = "meteorbeam" - opponent_move = "splash" - self.state.field = None - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, 'meteorbeam') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_meteorbeam_executes_when_volatile_status_is_active(self): - bot_move = "meteorbeam" - opponent_move = "splash" - self.state.user.active.volatile_status.add('meteorbeam') - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_mistyexplosion_kills_user(self): - bot_move = "mistyexplosion" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 53), - (constants.MUTATOR_HEAL, constants.USER, -208), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_mistyexplosion_does_more_in_mistyterrain(self): - bot_move = "mistyexplosion" - opponent_move = "splash" - self.state.field = constants.MISTY_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 79), # normal damage is 53 - (constants.MUTATOR_HEAL, constants.USER, -208), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_purifyingsalt_cannot_be_statused(self): - bot_move = "spore" - opponent_move = "splash" - self.state.opponent.active.ability = "purifyingsalt" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_purifyingsalt_reduce_ghost_moves(self): - bot_move = "shadowsneak" - opponent_move = "splash" - self.state.opponent.active.ability = "purifyingsalt" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 13) # normal damage is 25 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sharpness_with_slicing_move(self): - bot_move = "xscissor" - opponent_move = "splash" - self.state.user.active.ability = "sharpness" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37) # normal damage is 24 - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rocky_helmet_and_rough_skin_do_not_activate_on_protect(self): - bot_move = "protect" - opponent_move = "tackle" - self.state.user.active.ability = "roughskin" - self.state.user.active.item = "rockyhelmet" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_baneful_bunker_has_the_same_effect_as_protect(self): - bot_move = "banefulbunker" - opponent_move = "willowisp" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spiky_shield_has_the_same_effect_as_protect(self): - bot_move = "spikyshield" - opponent_move = "willowisp" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spiky_shield_into_non_contact_move(self): - bot_move = "spikyshield" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spiky_shield_into_contact_move(self): - bot_move = "spikyshield" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_HEAL, constants.OPPONENT, -37), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_silktrap_into_contact_move(self): - bot_move = "silktrap" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, -1), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_silktrap_into_noncontact_move(self): - bot_move = "silktrap" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_silktrap_into_crash_move(self): - bot_move = "silktrap" - opponent_move = "highjumpkick" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.SPEED, -1), - (constants.MUTATOR_HEAL, constants.OPPONENT, -148), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SILK_TRAP), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spiky_shield_does_not_work_when_user_has_protect_side_condition(self): - bot_move = "spikyshield" - opponent_move = "tackle" - self.state.user.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 35), - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spiky_shield_into_crash_attack(self): - bot_move = "spikyshield" - opponent_move = "highjumpkick" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_HEAL, constants.OPPONENT, -185), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.SPIKY_SHIELD), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_non_contact_move_with_banefulbunker(self): - bot_move = "banefulbunker" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_crash_move_with_banefulbunker(self): - bot_move = "banefulbunker" - opponent_move = "highjumpkick" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.POISON), - (constants.MUTATOR_HEAL, constants.OPPONENT, -148), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_baneful_bunker_cannot_be_used_when_protect_is_in_the_side_conditions(self): - bot_move = "banefulbunker" - opponent_move = "earthquake" - self.state.user.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 170), - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_baneful_bunker_with_contact_move_causes_poison(self): - bot_move = "banefulbunker" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.POISON), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.BANEFUL_BUNKER), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_only_first_protect_actives(self): - bot_move = "protect" - opponent_move = "protect" - self.state.user.active.speed = 2 # bot is faster - only its protect should activate - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_cannot_be_used_when_it_exists_as_a_side_condition(self): - bot_move = "protect" - opponent_move = "splash" - self.state.user.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_willowisp_misses_versus_protect(self): - bot_move = "protect" - opponent_move = "willowisp" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_does_not_stop_weather_damage(self): - bot_move = "protect" - opponent_move = "splash" - self.state.weather = constants.SAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_does_not_stop_status_damage(self): - bot_move = "protect" - opponent_move = "splash" - self.state.user.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.USER, 13), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_behind_a_sub_works(self): - bot_move = "protect" - opponent_move = "splash" - self.state.user.active.volatile_status.add(constants.SUBSTITUTE) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_does_not_stop_leechseed_damage(self): - bot_move = "protect" - opponent_move = "splash" - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.USER, 26), - (constants.MUTATOR_HEAL, constants.OPPONENT, 0), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_into_hjk_causes_crash_damage(self): - bot_move = "protect" - opponent_move = "highjumpkick" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, self.state.opponent.active.maxhp * 0.5), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_protect_and_hjk_interaction_when_protect_was_previously_used(self): - bot_move = "protect" - opponent_move = "highjumpkick" - self.state.user.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 110), - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, self.state.opponent.active.maxhp * 0.5), - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_non_protect_move_causes_protect_side_condition_to_be_removed(self): - bot_move = "splash" - opponent_move = "splash" - self.state.user.side_conditions[constants.PROTECT] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_END, constants.USER, constants.PROTECT, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_having_protect_volatile_status_causes_tackle_to_miss(self): - bot_move = "protect" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stealthrock_is_unaffected_by_protect(self): - bot_move = "protect" - opponent_move = "stealthrock" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.STEALTH_ROCK, 1), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_move_without_protect_flag_goes_through_protect(self): - bot_move = "protect" - opponent_move = "feint" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_DAMAGE, constants.USER, 26), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.USER, constants.PROTECT), - (constants.MUTATOR_SIDE_START, constants.USER, constants.PROTECT, 1), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magicguard_does_not_take_leechseed_damage(self): - bot_move = "splash" - opponent_move = "splash" - self.state.opponent.active.ability = 'magicguard' - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_waterbubble_doubles_water_damage(self): - bot_move = "watergun" - opponent_move = "splash" - self.state.user.active.ability = 'waterbubble' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [(constants.MUTATOR_DAMAGE, constants.OPPONENT, 43)], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_waterbubble_halves_fire_damage(self): - bot_move = "eruption" - opponent_move = "splash" - self.state.opponent.active.ability = 'waterbubble' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [(constants.MUTATOR_DAMAGE, constants.OPPONENT, 40)], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_waterbubble_prevents_burn(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.ability = 'waterbubble' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magicguard_does_not_take_poison_damage(self): - bot_move = "splash" - opponent_move = "splash" - self.state.opponent.active.ability = 'magicguard' - self.state.opponent.active.status = constants.POISON - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_galvanize_boosts_normal_move_to_give_it_stab(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'galvanize' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 45) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_liquidvoice_boosts_sound_move_into_water_and_hits_ghost_type(self): - bot_move = "hypervoice" - opponent_move = "splash" - self.state.user.active.ability = 'liquidvoice' - self.state.opponent.active.types = ['ghost'] # make sure it hits a ghost type - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_liquidvoice_versus_waterabsorb(self): - bot_move = "hypervoice" - opponent_move = "splash" - self.state.user.active.ability = 'liquidvoice' - self.state.opponent.active.ability = 'waterabsorb' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_terablast_changes_type_if_terastallized(self): - bot_move = "terablast" - opponent_move = "splash" - self.state.user.active.terastallized = True - self.state.user.active.types = ["water"] - self.state.opponent.active.types = ["ghost"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - # normal terablast would miss on a ghost normally - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 65) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_galvanize_boosts_normal_move_without_stab(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.ability = 'galvanize' - self.state.user.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 30) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leechseed_does_not_sap_when_dead(self): - bot_move = "splash" - opponent_move = "tackle" - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_misty_terrain_blocks_status(self): - bot_move = "splash" - opponent_move = "spore" - self.state.field = constants.MISTY_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_misty_terrain_does_not_block_status_on_ungrounded_pkmn(self): - bot_move = "splash" - opponent_move = "spore" - self.state.user.active.types = ['flying'] - self.state.field = constants.MISTY_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.SLEEP) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_waking_up_produces_wake_up_instruction(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.status = constants.SLEEP - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.SLEEP), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ), - TransposeInstruction( - 0.6699999999999999, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thawing_produces_thaw_instruction(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ), - TransposeInstruction( - 0.8, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_scald_while_frozen_always_thaws_user(self): - bot_move = "scald" - opponent_move = "splash" - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 43), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ), - TransposeInstruction( - 0.7, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 43), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_flareblitz_move_while_frozen_always_thaws_user(self): - bot_move = "flareblitz" - opponent_move = "splash" - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DAMAGE, constants.USER, 24), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18) - ], - False - ), - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - (constants.MUTATOR_DAMAGE, constants.USER, 24), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_being_hit_by_fire_move_while_frozen_always_thaws(self): - bot_move = "splash" - opponent_move = "eruption" - self.state.user.active.speed = 1 - self.state.opponent.active.speed = 2 - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 123), - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_being_hit_by_fire_move_while_slower_while_frozen_always_thaws(self): - bot_move = "splash" - opponent_move = "eruption" - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.USER, 123), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ice_type_cannot_be_frozen(self): - bot_move = "icebeam" - opponent_move = "splash" - self.state.opponent.active.types = ['ice'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 24), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_cannot_be_frozen_in_harsh_sunlight(self): - bot_move = "icebeam" - opponent_move = "splash" - self.state.weather = constants.DESOLATE_LAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_pokemon_versus_switch(self): - bot_move = "splash" - opponent_move = "switch yveltal" - self.state.user.active.status = constants.FROZEN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - (constants.MUTATOR_REMOVE_STATUS, constants.USER, constants.FROZEN), - ], - False - ), - TransposeInstruction( - 0.8, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'yveltal'), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_painsplit_properly_splits_health(self): - bot_move = "painsplit" - opponent_move = "splash" - self.state.user.active.hp = 50 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.opponent.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_HEAL, constants.USER, 25), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_painsplit_does_not_overheal(self): - bot_move = "painsplit" - opponent_move = "splash" - self.state.user.active.hp = 50 - self.state.user.active.maxhp = 100 - self.state.opponent.active.hp = 500 - self.state.opponent.active.maxhp = 500 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 225), - (constants.MUTATOR_HEAL, constants.USER, 50), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_painsplit_does_not_overheal_enemy(self): - bot_move = "painsplit" - opponent_move = "splash" - self.state.user.active.hp = 500 - self.state.user.active.maxhp = 500 - self.state.opponent.active.hp = 50 - self.state.opponent.active.maxhp = 100 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, -50), - (constants.MUTATOR_HEAL, constants.USER, -225), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_icebeam_into_scald(self): - bot_move = "icebeam" - opponent_move = "scald" - self.state.user.active.speed = 2 - self.state.opponent.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.03, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.FROZEN), - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.USER, 66), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.USER, 13) - ], - False - ), - TransposeInstruction( - 0.06999999999999999, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_APPLY_STATUS, constants.OPPONENT, constants.FROZEN), - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.FROZEN), - (constants.MUTATOR_DAMAGE, constants.USER, 66), - ], - True - ), - TransposeInstruction( - 0.27, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_DAMAGE, constants.USER, 66), - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.BURN), - (constants.MUTATOR_DAMAGE, constants.USER, 13) - ], - False - ), - TransposeInstruction( - 0.63, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 48), - (constants.MUTATOR_DAMAGE, constants.USER, 66), - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electric_terrain_blocks_sleep(self): - bot_move = "splash" - opponent_move = "spore" - self.state.field = constants.ELECTRIC_TERRAIN - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electric_terrain_does_not_block_sleep_for_non_grounded(self): - bot_move = "splash" - opponent_move = "spore" - self.state.user.active.types = ['flying'] - self.state.field = constants.ELECTRIC_TERRAIN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_STATUS, constants.USER, constants.SLEEP) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_aegislash_with_stancechange_has_stats_change_even_if_target_is_immune_to_move(self): - bot_move = "shadowball" - opponent_move = "splash" - self.state.user.active.id = 'aegislash' - self.state.user.active.ability = 'stancechange' - self.state.user.active.level = 100 - self.state.user.active.nature = 'modest' - self.state.user.active.evs = (0, 0, 0, 252, 4, 252) - self.state.opponent.active.types = ['normal'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - # modest + max SPA aegislash blade should have its stats change into these: - expected_instructions = [ - TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_CHANGE_STATS, - constants.USER, - ( - self.state.user.active.maxhp, - 287, - 136, - 416, - 137, - self.state.user.active.speed, - ), - ( - self.state.user.active.maxhp, - self.state.user.active.attack, - self.state.user.active.defense, - self.state.user.active.special_attack, - self.state.user.active.special_defense, - self.state.user.active.speed, - ), - ) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_aegislash_stats_do_not_change_when_using_non_damaging_move(self): - bot_move = "toxic" - opponent_move = "splash" - self.state.user.active.id = 'aegislash' - self.state.user.active.ability = 'stancechange' - self.state.user.active.level = 100 - self.state.user.active.nature = 'modest' - self.state.user.active.evs = (0, 0, 0, 252, 4, 252) - self.state.opponent.active.types = ['poison'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_aegislash_stats_change_when_using_kingsshield(self): - bot_move = "kingsshield" - opponent_move = "splash" - self.state.user.active.id = 'aegislash' - self.state.user.active.ability = 'stancechange' - self.state.user.active.level = 100 - self.state.user.active.nature = 'modest' - self.state.user.active.evs = (0, 0, 0, 252, 4, 252) - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - - # modest + max SPA aegislash shield should have its stats change into these: - expected_instructions = [ - TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_CHANGE_STATS, - constants.USER, - ( - self.state.user.active.maxhp, - 123, - 316, - 218, - 317, - self.state.user.active.speed, - ), - ( - self.state.user.active.maxhp, - self.state.user.active.attack, - self.state.user.active.defense, - self.state.user.active.special_attack, - self.state.user.active.special_defense, - self.state.user.active.speed, - ), - ), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.USER, 'kingsshield') - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_skill_link_increases_tailslap_damage(self): - bot_move = "tailslap" - opponent_move = "splash" - self.state.user.active.ability = 'skilllink' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.85, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 77), - ], - False - ), - TransposeInstruction( - 0.15000000000000002, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_scaleshot_damage_with_boosts(self): - bot_move = "scaleshot" - opponent_move = "splash" - self.mutator.state.opponent.active.types = ["normal"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 49), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPEED, 1), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pre_existing_leechseed_produces_sap_instruction(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.volatile_status.add("leechseed") - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 12), - (constants.MUTATOR_HEAL, constants.USER, 12) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pre_existing_leechseed_produces_sap_instruction_with_one_health_after_damage(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.volatile_status.add("leechseed") - self.state.opponent.active.hp = 26 - self.state.opponent.active.maxhp = 100 - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 1), - (constants.MUTATOR_HEAL, constants.USER, 1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_double_zap_cannon(self): - bot_move = "zapcannon" - opponent_move = "zapcannon" - - # raichu's default ability should be lightningrod - self.state.user.active.ability = None - # Raichu is electric type and can't as such get paralyzed - self.state.user.active.types = ["ghost", "grass"] - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.1875, - [ - ('damage', 'opponent', 63), - ('apply_status', 'opponent', 'par'), - ('damage', 'user', 49), - ('apply_status', 'user', 'par') - ], - False - ), - TransposeInstruction( - 0.3125, - [ - ('damage', 'opponent', 63), - ('apply_status', 'opponent', 'par'), - ], - True - ), - TransposeInstruction( - 0.25, - [ - ('damage', 'user', 49), - ('apply_status', 'user', 'par') - ], - False - ), - TransposeInstruction( - 0.25, - [], - True - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thunder_produces_all_states(self): - bot_move = "thunder" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.21, - [ - ('damage', 'opponent', 88), - ('apply_status', 'opponent', 'par'), - ], - False - ), - TransposeInstruction( - 0.48999999999999994, - [ - ('damage', 'opponent', 88), - ], - False - ), - TransposeInstruction( - 0.30000000000000004, - [ - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thunder_produces_all_states_with_damage_rolls_accounted_for(self): - ShowdownConfig.damage_calc_type = "min_max_average" - bot_move = "thunder" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.06999999999999999, - [ - ('damage', 'opponent', 88), - ('apply_status', 'opponent', 'par'), - ], - False - ), - TransposeInstruction( - 0.1633333333333333, - [ - ('damage', 'opponent', 88), - ], - False - ), - TransposeInstruction( - 0.30000000000000004, - [ - ], - False - ), - TransposeInstruction( - 0.06999999999999999, - [ - ('damage', 'opponent', 81), - ('apply_status', 'opponent', 'par'), - ], - False - ), - TransposeInstruction( - 0.1633333333333333, - [ - ('damage', 'opponent', 81), - ], - False - ), - TransposeInstruction( - 0.06999999999999999, - [ - ('damage', 'opponent', 96), - ('apply_status', 'opponent', 'par'), - ], - False - ), - TransposeInstruction( - 0.1633333333333333, - [ - ('damage', 'opponent', 96), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_flinching_move_versus_secondary_effect_produces_three_states(self): - bot_move = "ironhead" - opponent_move = "moonblast" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.3, - [ - ('damage', 'opponent', 99), - ('apply_volatile_status', 'opponent', 'flinch'), - ('remove_volatile_status', 'opponent', 'flinch') - ], - True - ), - TransposeInstruction( - 0.21, - [ - ('damage', 'opponent', 99), - ('damage', 'user', 119), - ('boost', 'user', 'special-attack', -1), - ], - False - ), - TransposeInstruction( - 0.48999999999999994, - [ - ('damage', 'opponent', 99), - ('damage', 'user', 119), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_flying_into_earthquake(self): - bot_move = "switch xatu" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('switch', 'user', 'raichu', 'xatu'), - ], - True - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thousandarrows_versus_ungrounded_pokemon_hits(self): - bot_move = "thousandarrows" - opponent_move = "splash" - self.state.opponent.active.types = ['flying'] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'smackdown'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thousandarrows_versus_levitate_hits(self): - bot_move = "thousandarrows" - opponent_move = "splash" - self.state.opponent.active.ability = 'levitate' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'smackdown'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thousandarrows_versus_airballoon_hits(self): - bot_move = "thousandarrows" - opponent_move = "splash" - self.state.opponent.active.item = 'airballoon' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 56), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'smackdown'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magnetrise_versus_earthquake(self): - bot_move = "earthquake" - opponent_move = "magnetrise" - self.state.opponent.active.speed = 2 - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'magnetrise'), - ], - True - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_roost_volatilestatus_is_removed_at_end_of_turn(self): - bot_move = "splash" - opponent_move = "roost" - self.state.opponent.active.speed = 2 - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_roost_volatilestatus_makes_ground_move_hit_flying_type(self): - bot_move = "earthquake" - opponent_move = "roost" - self.state.opponent.active.types = ['flying', 'ghost'] - self.state.opponent.active.speed = 2 - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_roost_volatilestatus_makes_ground_move_hit_pure_flying_type(self): - bot_move = "earthquake" - opponent_move = "roost" - self.state.opponent.active.types = ['flying'] - self.state.opponent.active.speed = 2 - self.state.user.active.speed = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, 'roost'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_thousandarrows_versus_double_type_does_not_change_the_original_type_list(self): - bot_move = "thousandarrows" - opponent_move = "splash" - self.state.opponent.active.types = ['flying', 'ground'] - get_all_state_instructions(self.mutator, bot_move, opponent_move) - - self.assertEqual(['flying', 'ground'], self.state.opponent.active.types) - - def test_flinching_as_second_move_does_not_produce_extra_state(self): - bot_move = "switch xatu" - opponent_move = "ironhead" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('switch', 'user', 'raichu', 'xatu'), - ('damage', 'user', 52), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_attack_into_healing_produces_one_state(self): - bot_move = "tackle" - opponent_move = "recover" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 25), - ('heal', 'opponent', 25), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_junglehealing_heals(self): - bot_move = "eruption" - opponent_move = "junglehealing" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 79), - (constants.MUTATOR_HEAL, constants.OPPONENT, 74), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_junglehealing_cures_status(self): - bot_move = "splash" - opponent_move = "junglehealing" - self.state.opponent.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.BURN), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lunarblessing_heals(self): - bot_move = "eruption" - opponent_move = "lunarblessing" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 79), - (constants.MUTATOR_HEAL, constants.OPPONENT, 74), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lunarblessing_cures_status(self): - bot_move = "splash" - opponent_move = "lunarblessing" - self.state.opponent.active.status = constants.BURN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_REMOVE_STATUS, constants.OPPONENT, constants.BURN), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_lifedew_healing(self): - bot_move = "lifedew" - opponent_move = "splash" - self.state.user.active.hp -= 25 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, 25), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_morningsun_in_sunlight(self): - bot_move = "morningsun" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - self.state.weather = constants.SUN - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, (2/3) * 100), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_morningsun_in_sand(self): - bot_move = "morningsun" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - self.state.weather = constants.SAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, (1/4) * 100), - (constants.MUTATOR_DAMAGE, constants.USER, 6), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_shoreup_in_sand(self): - bot_move = "shoreup" - opponent_move = "splash" - self.state.user.active.hp = 1 - self.state.user.active.maxhp = 100 - self.state.weather = constants.SAND - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_HEAL, constants.USER, (2/3) * 100), - (constants.MUTATOR_DAMAGE, constants.USER, 6), - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 18), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_attack_into_healing_with_multiple_attack_damage_rolls(self): - ShowdownConfig.damage_calc_type = "min_max_average" - bot_move = "tackle" - opponent_move = "recover" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1 / 3, - [ - ('damage', 'opponent', 25), - ('heal', 'opponent', 25), - ], - False - ), - TransposeInstruction( - 1 / 3, - [ - ('damage', 'opponent', 28), - ('heal', 'opponent', 28), - ], - False - ), - TransposeInstruction( - 1 / 3, - [ - ('damage', 'opponent', 23), - ('heal', 'opponent', 23), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fainted_pokemon_cannot_heal(self): - self.state.opponent.active.hp = 1 - - bot_move = "tackle" - opponent_move = "recover" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('damage', 'opponent', 1), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_rocks_does_neutral_damage(self): - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - - bot_move = "splash" - opponent_move = "switch toxapex" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ('switch', 'opponent', 'aromatisse', 'toxapex'), - ('damage', 'opponent', 24.125), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_rock_does_no_damage_with_heavy_duty_boots(self): - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - - bot_move = "splash" - opponent_move = "switch toxapex" - self.state.opponent.reserve['toxapex'].item = 'heavydutyboots' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_spike_does_no_damage_with_heavy_duty_boots(self): - self.state.opponent.side_conditions[constants.SPIKES] = 2 - - bot_move = "splash" - opponent_move = "switch toxapex" - self.state.opponent.reserve['toxapex'].item = 'heavydutyboots' - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.OPPONENT, 'aromatisse', 'toxapex'), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_stealthrock_into_magicbounce_properly_reflects(self): - self.state.user.active.ability = 'magicbounce' - bot_move = "splash" - opponent_move = "stealthrock" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1), - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_magic_bounced_stealthrock_doesnt_exceed_one_level(self): - self.state.user.active.ability = 'magicbounce' - bot_move = "splash" - opponent_move = "stealthrock" - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_double_earthquake_with_double_levitate_does_nothing(self): - self.state.user.active.ability = 'levitate' - self.state.opponent.active.ability = 'levitate' - - bot_move = "earthquake" - opponent_move = "earthquake" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - ], - True - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_earthquake_hits_into_levitate_when_user_has_moldbreaker(self): - self.state.user.active.ability = 'moldbreaker' - self.state.opponent.active.ability = 'levitate' - - bot_move = "earthquake" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_earthquake_hits_into_levitate_when_user_has_turboblaze(self): - self.state.user.active.ability = 'turboblaze' - self.state.opponent.active.ability = 'levitate' - - bot_move = "earthquake" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 62) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_fire_move_hits_flashfire_pokemon_when_user_has_moldbreaker(self): - self.state.user.active.ability = 'moldbreaker' - self.state.opponent.active.ability = 'flashfire' - - bot_move = "eruption" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 79) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rocks_can_be_used_versus_magic_bounce_when_user_has_moldbreaker(self): - self.state.user.active.ability = 'moldbreaker' - self.state.opponent.active.ability = 'magicbounce' - - bot_move = "stealthrock" - opponent_move = "splash" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1, - [ - (constants.MUTATOR_SIDE_START, constants.OPPONENT, constants.STEALTH_ROCK, 1) - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_paralyzed_pokemon_produces_two_states_when_trying_to_attack(self): - self.state.user.active.status = constants.PARALYZED - bot_move = "tackle" - opponent_move = "tackle" - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.75, - [ - ('damage', 'opponent', 25), - ('damage', 'user', 35), - - ], - False - ), - TransposeInstruction( - 0.25, - [ - ('damage', 'user', 35) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_removes_flinch_status_when_pokemon_faints(self): - bot_move = "rockslide" - opponent_move = "splash" - - self.state.opponent.active.hp = 44 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.27, - [ - (constants.DAMAGE, constants.OPPONENT, 44), - (constants.MUTATOR_APPLY_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH), - (constants.MUTATOR_REMOVE_VOLATILE_STATUS, constants.OPPONENT, constants.FLINCH) - ], - True - ), - TransposeInstruction( - 0.63, - [ - (constants.DAMAGE, constants.OPPONENT, 44) - - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_explosion_kills_the_user(self): - bot_move = "explosion" - opponent_move = "crunch" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 154), - (constants.MUTATOR_HEAL, constants.USER, -208.0), - (constants.MUTATOR_DAMAGE, constants.USER, 0) - ], - True - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_chloroblast(self): - bot_move = "chloroblast" - opponent_move = "splash" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.95, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 79), - (constants.MUTATOR_HEAL, constants.USER, -104.0), - ], - False - ), - TransposeInstruction( - 0.050000000000000044, - [], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hydrosteam_power_boosted_in_sun(self): - bot_move = "hydrosteam" - opponent_move = "splash" - - self.state.weather = constants.SUN - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 63), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_psyblade_boosted_in_terrain(self): - bot_move = "psyblade" - opponent_move = "splash" - - self.state.field = constants.ELECTRIC_TERRAIN - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 74), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_closecombat_kills_and_reduces_stats(self): - bot_move = "closecombat" - opponent_move = "tackle" - - self.state.opponent.active.hp = 4.84 - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 4.84), - (constants.MUTATOR_BOOST, constants.USER, constants.DEFENSE, -1), - (constants.MUTATOR_BOOST, constants.USER, constants.SPECIAL_DEFENSE, -1) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_axekick_causes_crash_damage(self): - bot_move = "axekick" - opponent_move = "splash" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 0.9, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), - ], - False - ), - TransposeInstruction( - 0.09999999999999998, - [ - (constants.MUTATOR_DAMAGE, constants.USER, self.state.user.active.maxhp / 2), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_barbbarrage_double_damage_versus_poisoned(self): - bot_move = "barbbarrage" - opponent_move = "splash" - self.state.opponent.active.status = constants.POISON - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 149), # un-boosted damage would be 75 - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 37), # end-of-turn poison damage - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_willowisp_on_flashfire(self): - bot_move = "willowisp" - opponent_move = "splash" - self.state.opponent.active.ability = 'flashfire' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_wellbakedbody_versus_fire_move(self): - bot_move = "ember" - opponent_move = "splash" - self.state.opponent.active.ability = 'wellbakedbody' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_BOOST, constants.OPPONENT, constants.DEFENSE, 2) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_priority_move_versus_armortail(self): - bot_move = "shadowsneak" - opponent_move = "splash" - self.state.opponent.active.ability = 'armortail' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_non_priority_move_versus_armortail(self): - bot_move = "tackle" - opponent_move = "splash" - self.state.opponent.active.ability = 'armortail' - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.OPPONENT, 25) - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ground_immune_to_thunderwave(self): - self.state.opponent.active.types = ['ground'] - bot_move = "thunderwave" - opponent_move = "splash" - - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_electric_immune_to_thunderwave(self): - bot_move = "thunderwave" - opponent_move = "splash" - self.state.opponent.active.types = ["electric"] - instructions = get_all_state_instructions(self.mutator, bot_move, opponent_move) - expected_instructions = [ - TransposeInstruction( - 1.0, - [], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestRemoveDuplicateInstructions(unittest.TestCase): - def test_turns_two_identical_instructions_into_one(self): - instruction1 = TransposeInstruction( - 0.5, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ) - instruction2 = deepcopy(instruction1) - duplicated_instructions = [ - instruction1, - instruction2 - ] - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ) - ] - - instructions = remove_duplicate_instructions(duplicated_instructions) - - self.assertEqual(expected_instructions, instructions) - - def test_does_not_combine_when_instructions_are_different(self): - instruction1 = TransposeInstruction( - 0.5, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ) - instruction2 = TransposeInstruction( - 0.5, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ) - duplicated_instructions = [ - instruction1, - instruction2 - ] - - instructions = remove_duplicate_instructions(duplicated_instructions) - - self.assertEqual(duplicated_instructions, instructions) - - def test_combines_two_instructions_but_keeps_the_other(self): - instructions = [ - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ) - ] - - new_instructions = remove_duplicate_instructions(instructions) - - expected_instructions = [ - TransposeInstruction( - 0.66, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.33, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ) - ] - - self.assertEqual(expected_instructions, new_instructions) - - def test_combines_multiple_duplicates(self): - instructions = [ - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 7) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 7) - ], - False - ) - ] - - new_instructions = remove_duplicate_instructions(instructions) - - expected_instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.4, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ), - TransposeInstruction( - 0.4, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 7) - ], - False - ) - ] - - self.assertEqual(expected_instructions, new_instructions) - - def test_combines_two_instructions_but_keeps_many_others(self): - instructions = [ - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 7) - ], - False - ), - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 8) - ], - False - ) - ] - - new_instructions = remove_duplicate_instructions(instructions) - - expected_instructions = [ - TransposeInstruction( - 0.4, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 5) - ], - False - ), - TransposeInstruction( - 0.1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 6) - ], - False - ), - TransposeInstruction( - 0.2, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 7) - ], - False - ), - TransposeInstruction( - 0.3, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 8) - ], - False - ) - ] - - self.assertEqual(expected_instructions, new_instructions) - - -class TestUserMovesFirst(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("raichu", 73).to_dict()), - { - "xatu": Pokemon.from_state_pokemon_dict(StatePokemon("xatu", 81).to_dict()), - "starmie": Pokemon.from_state_pokemon_dict(StatePokemon("starmie", 81).to_dict()), - "gyarados": Pokemon.from_state_pokemon_dict(StatePokemon("gyarados", 81).to_dict()), - "dragonite": Pokemon.from_state_pokemon_dict(StatePokemon("dragonite", 81).to_dict()), - "hitmonlee": Pokemon.from_state_pokemon_dict(StatePokemon("hitmonlee", 81).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0,0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("aromatisse", 81).to_dict()), - { - "yveltal": Pokemon.from_state_pokemon_dict(StatePokemon("yveltal", 73).to_dict()), - "slurpuff": Pokemon.from_state_pokemon_dict(StatePokemon("slurpuff", 73).to_dict()), - "victini": Pokemon.from_state_pokemon_dict(StatePokemon("victini", 73).to_dict()), - "toxapex": Pokemon.from_state_pokemon_dict(StatePokemon("toxapex", 73).to_dict()), - "bronzong": Pokemon.from_state_pokemon_dict(StatePokemon("bronzong", 73).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0,0) - ), - None, - None, - False - ) - - self.mutator = StateMutator(self.state) - - def test_bot_moves_first_when_move_priorities_are_the_same_and_it_is_faster(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.speed = 2 - opponent.active.speed = 1 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_grassyglide_goes_first_in_terrain(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('grassyglide') - self.state.field = constants.GRASSY_TERRAIN - - user.active.speed = 2 - opponent.active.speed = 1 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_grassyglide_does_not_go_first_without_terrain(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('grassyglide') - - user.active.speed = 2 - opponent.active.speed = 1 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_paralysis_reduces_speed_by_half(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.status = constants.PARALYZED - - user.active.speed = 10 - opponent.active.speed = 7 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_opponent_moves_first_when_move_priorities_are_the_same_and_it_is_faster(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_priority_causes_slower_to_move_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('quickattack') - opponent_move = lookup_move('tackle') - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_both_using_priority_causes_faster_to_move_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('quickattack') - opponent_move = lookup_move('quickattack') - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_choice_scarf_causes_a_difference_in_effective_speed(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.item = 'choicescarf' - user.active.speed = 5 - opponent.active.speed = 6 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_tailwind_doubling_speed(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.side_conditions[constants.TAILWIND] = 1 - user.active.speed = 51 - opponent.active.speed = 100 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_tailwind_at_0_does_not_boost(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.side_conditions[constants.TAILWIND] = 0 - user.active.speed = 51 - opponent.active.speed = 100 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_switch_always_moves_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = "{} x".format(constants.SWITCH_STRING) - opponent_move = lookup_move('quickattack') - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_double_switch_results_in_faster_moving_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = "{} x".format(constants.SWITCH_STRING) - opponent_move = "{} x".format(constants.SWITCH_STRING) - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_prankster_results_in_status_move_going_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('willowisp') - opponent_move = lookup_move('tackle') - - user.active.speed = 1 - opponent.active.speed = 2 - user.active.ability = 'prankster' - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_quickattack_still_goes_first_when_user_has_prankster(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('willowisp') - opponent_move = lookup_move('quickattack') - - user.active.speed = 1 - opponent.active.speed = 2 - user.active.ability = 'prankster' - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_prankster_does_not_result_in_tackle_going_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.speed = 1 - opponent.active.speed = 2 - user.active.ability = 'prankster' - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_trickroom_results_in_slower_pokemon_going_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - self.state.trick_room = True - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_priority_move_goes_first_in_trickroom(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('quickattack') - - self.state.field = 'trickroom' - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_pursuit_moves_second_when_slower(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('pursuit') - opponent_move = lookup_move('tackle') - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertFalse(user_moves_first(self.state, user_move, opponent_move)) - - def test_pursuit_moves_first_when_opponent_is_switching(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('pursuit') - opponent_move = 'switch yveltal' - - user.active.speed = 1 - opponent.active.speed = 2 - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_quarkdrivespe_boosts_speed_to_allow_moving_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.speed = 100 - opponent.active.speed = 101 - - self.state.user.active.volatile_status = {"quarkdrivespe"} - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) - - def test_protosynthesisspe_boosts_speed_to_allow_moving_first(self): - user = self.state.user - opponent = self.state.opponent - user_move = lookup_move('tackle') - opponent_move = lookup_move('tackle') - - user.active.speed = 100 - opponent.active.speed = 101 - - self.state.user.active.volatile_status = {"protosynthesisspe"} - - self.assertTrue(user_moves_first(self.state, user_move, opponent_move)) diff --git a/tests/test_battle_modifiers.py b/tests/test_battle_modifiers.py index 70d53ef21..65ca7a290 100644 --- a/tests/test_battle_modifiers.py +++ b/tests/test_battle_modifiers.py @@ -3,46 +3,55 @@ from collections import defaultdict import constants -from showdown.engine.helpers import calculate_stats - -from showdown.battle import Battle -from showdown.battle import Pokemon -from showdown.battle import Move -from showdown.battle import LastUsedMove -from showdown.battle import DamageDealt - -from showdown.battle_modifier import request -from showdown.battle_modifier import terastallize -from showdown.battle_modifier import activate -from showdown.battle_modifier import prepare -from showdown.battle_modifier import switch_or_drag -from showdown.battle_modifier import clearallboost -from showdown.battle_modifier import heal_or_damage -from showdown.battle_modifier import swapsideconditions -from showdown.battle_modifier import move -from showdown.battle_modifier import boost -from showdown.battle_modifier import unboost -from showdown.battle_modifier import status -from showdown.battle_modifier import weather -from showdown.battle_modifier import curestatus -from showdown.battle_modifier import start_volatile_status -from showdown.battle_modifier import end_volatile_status -from showdown.battle_modifier import set_ability -from showdown.battle_modifier import set_opponent_ability_from_ability_tag -from showdown.battle_modifier import form_change -from showdown.battle_modifier import zpower -from showdown.battle_modifier import clearnegativeboost -from showdown.battle_modifier import check_speed_ranges -from showdown.battle_modifier import check_choicescarf -from showdown.battle_modifier import check_heavydutyboots -from showdown.battle_modifier import get_damage_dealt -from showdown.battle_modifier import singleturn -from showdown.battle_modifier import transform -from showdown.battle_modifier import update_battle -from showdown.battle_modifier import upkeep -from showdown.battle_modifier import inactive - -from showdown.engine.objects import boost_multiplier_lookup +from fp.helpers import calculate_stats + +from fp.battle import Battle +from fp.battle import Pokemon +from fp.battle import Move +from fp.battle import LastUsedMove +from fp.battle import DamageDealt +from fp.battle import boost_multiplier_lookup + +from fp.battle_modifier import ( + request, + fieldstart, + fieldend, + illusion_end, + drag, + switch, + clearboost, +) +from fp.battle_modifier import terastallize +from fp.battle_modifier import activate +from fp.battle_modifier import prepare +from fp.battle_modifier import switch_or_drag +from fp.battle_modifier import clearallboost +from fp.battle_modifier import heal_or_damage +from fp.battle_modifier import swapsideconditions +from fp.battle_modifier import move +from fp.battle_modifier import cant +from fp.battle_modifier import boost +from fp.battle_modifier import setboost +from fp.battle_modifier import unboost +from fp.battle_modifier import status +from fp.battle_modifier import weather +from fp.battle_modifier import curestatus +from fp.battle_modifier import start_volatile_status +from fp.battle_modifier import end_volatile_status +from fp.battle_modifier import immune +from fp.battle_modifier import set_opponent_ability_from_ability_tag +from fp.battle_modifier import form_change +from fp.battle_modifier import zpower +from fp.battle_modifier import clearnegativeboost +from fp.battle_modifier import check_speed_ranges +from fp.battle_modifier import check_choicescarf +from fp.battle_modifier import check_heavydutyboots +from fp.battle_modifier import get_damage_dealt +from fp.battle_modifier import singleturn +from fp.battle_modifier import transform +from fp.battle_modifier import update_battle +from fp.battle_modifier import upkeep +from fp.battle_modifier import inactive # so we can instantiate a Battle object for testing @@ -63,7 +72,7 @@ def setUp(self): "pp": 16, "maxpp": 16, "target": "normal", - "disabled": False + "disabled": False, }, { "move": "Ice Punch", @@ -71,7 +80,7 @@ def setUp(self): "pp": 24, "maxpp": 24, "target": "normal", - "disabled": False + "disabled": False, }, { "move": "Bulk Up", @@ -79,7 +88,7 @@ def setUp(self): "pp": 32, "maxpp": 32, "target": "self", - "disabled": False + "disabled": False, }, { "move": "Knock Off", @@ -87,8 +96,8 @@ def setUp(self): "pp": 32, "maxpp": 32, "target": "normal", - "disabled": False - } + "disabled": False, + }, ] } ], @@ -106,18 +115,13 @@ def setUp(self): "def": 189, "spa": 97, "spd": 189, - "spe": 122 + "spe": 122, }, - "moves": [ - "stormthrow", - "icepunch", - "bulkup", - "knockoff" - ], + "moves": ["stormthrow", "icepunch", "bulkup", "knockoff"], "baseAbility": "moldbreaker", "item": "leftovers", "pokeball": "pokeball", - "ability": "moldbreaker" + "ability": "moldbreaker", }, { "ident": "p1: Empoleon", @@ -129,18 +133,13 @@ def setUp(self): "def": 180, "spa": 215, "spd": 200, - "spe": 137 + "spe": 137, }, - "moves": [ - "icebeam", - "grassknot", - "scald", - "flashcannon" - ], + "moves": ["icebeam", "grassknot", "scald", "flashcannon"], "baseAbility": "torrent", "item": "choicespecs", "pokeball": "pokeball", - "ability": "torrent" + "ability": "torrent", }, { "ident": "p1: Emboar", @@ -152,18 +151,13 @@ def setUp(self): "def": 148, "spa": 204, "spd": 148, - "spe": 148 + "spe": 148, }, - "moves": [ - "headsmash", - "superpower", - "flareblitz", - "grassknot" - ], + "moves": ["headsmash", "superpower", "flareblitz", "grassknot"], "baseAbility": "reckless", "item": "assaultvest", "pokeball": "pokeball", - "ability": "reckless" + "ability": "reckless", }, { "ident": "p1: Zoroark", @@ -175,18 +169,18 @@ def setUp(self): "def": 137, "spa": 229, "spd": 137, - "spe": 206 + "spe": 206, }, "moves": [ "sludgebomb", "darkpulse", "flamethrower", - "focusblast" + "focusblast", ], "baseAbility": "illusion", "item": "choicespecs", "pokeball": "pokeball", - "ability": "illusion" + "ability": "illusion", }, { "ident": "p1: Reuniclus", @@ -198,18 +192,13 @@ def setUp(self): "def": 162, "spa": 240, "spd": 178, - "spe": 92 + "spe": 92, }, - "moves": [ - "calmmind", - "shadowball", - "psyshock", - "recover" - ], + "moves": ["calmmind", "shadowball", "psyshock", "recover"], "baseAbility": "magicguard", "item": "lifeorb", "pokeball": "pokeball", - "ability": "magicguard" + "ability": "magicguard", }, { "ident": "p1: Moltres", @@ -221,47 +210,42 @@ def setUp(self): "def": 183, "spa": 237, "spd": 175, - "spe": 183 + "spe": 183, }, - "moves": [ - "fireblast", - "toxic", - "hurricane", - "roost" - ], + "moves": ["fireblast", "toxic", "hurricane", "roost"], "baseAbility": "flamebody", "item": "leftovers", "pokeball": "pokeball", - "ability": "flamebody" - } - ] + "ability": "flamebody", + }, + ], }, - "rqid": 2 + "rqid": 2, } def test_request_sets_force_switch_to_false(self): - split_request_message = ['', 'request', json.dumps(self.request_json)] + split_request_message = ["", "request", json.dumps(self.request_json)] request(self.battle, split_request_message) self.assertEqual(False, self.battle.force_switch) def test_force_switch_properly_sets_the_force_switch_flag(self): - self.request_json.pop('active') + self.request_json.pop("active") self.request_json[constants.FORCE_SWITCH] = [True] - split_request_message = ['', 'request', json.dumps(self.request_json)] + split_request_message = ["", "request", json.dumps(self.request_json)] request(self.battle, split_request_message) self.assertEqual(True, self.battle.force_switch) def test_wait_properly_sets_wait_flag(self): - self.request_json.pop('active') + self.request_json.pop("active") self.request_json[constants.WAIT] = [True] - split_request_message = ['', 'request', json.dumps(self.request_json)] + split_request_message = ["", "request", json.dumps(self.request_json)] request(self.battle, split_request_message) self.assertEqual(True, self.battle.wait) def test_wait_does_not_initialize_pokemon(self): - self.request_json.pop('active') + self.request_json.pop("active") self.request_json[constants.WAIT] = [True] - split_request_message = ['', 'request', json.dumps(self.request_json)] + split_request_message = ["", "request", json.dumps(self.request_json)] request(self.battle, split_request_message) self.assertEqual(0, len(self.battle.user.reserve)) @@ -269,38 +253,168 @@ def test_wait_does_not_initialize_pokemon(self): class TestSwitchOrDrag(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' - self.battle.user.active = Pokemon('pikachu', 100) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + self.battle.user.active = Pokemon("pikachu", 100) - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.battle.opponent.reserve = [ + self.battle.opponent.reserve = [] + + def test_switch_properly_switches_zoroark_for_user_when_last_selected_move_was_zoroark( + self, + ): + self.battle.request_json = { + "active": [], + "side": { + "pokemon": [ + { + "ident": "p1: Zoroark", + "details": "Zoroark, L100, M", + "active": True, + }, + { + "ident": "p1: Weedle", + "details": "Weedle, L100, M", + "active": False, + }, + ] + }, + } + self.battle.reserve = [ + Pokemon("zoroark", 100), + Pokemon("weedle", 100), + ] + self.battle.user.last_selected_move = LastUsedMove( + "caterpie", "switch zoroark", 0 + ) + split_msg = ["", "switch", "p1a: Weedle", "Weedle, L100, M", "100/100"] + switch(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.user.active.name) + + def test_being_dragged_into_zoroark_properly_sets_zoroark(self): + self.battle.request_json = { + "active": [], + "side": { + "pokemon": [ + { + "ident": "p1: Zoroark", + "details": "Zoroark, L100, M", + "active": True, + }, + { + "ident": "p1: Weedle", + "details": "Weedle, L100, M", + "active": False, + }, + ] + }, + } + self.battle.reserve = [ + Pokemon("zoroark", 100), + Pokemon("weedle", 100), + ] + split_msg = ["", "drag", "p1a: Weedle", "Weedle, L100, M", "100/100"] + drag(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.user.active.name) + + def test_being_dragged_into_not_zoroark_properly_sets_not_zoroark(self): + self.battle.request_json = { + "active": [], + "side": { + "pokemon": [ + { + "ident": "p1: Zoroark", + "details": "Zoroark, L100, M", + "active": False, + }, + { + "ident": "p1: Weedle", + "details": "Weedle, L100, M", + "active": True, + }, + ] + }, + } + self.battle.reserve = [ + Pokemon("zoroark", 100), + Pokemon("weedle", 100), ] + split_msg = ["", "drag", "p1a: Weedle", "Weedle, L100, M", "100/100"] + drag(self.battle, split_msg) + + self.assertEqual("weedle", self.battle.user.active.name) def test_switch_properly_resets_types_when_pkmn_was_typechanged(self): self.battle.opponent.active.volatile_statuses.append(constants.TYPECHANGE) - self.battle.opponent.active.types = ['fire'] + self.battle.opponent.active.types = ["fire"] active = self.battle.opponent.active - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) - self.assertEqual(['bug'], active.types) + self.assertEqual(["bug"], active.types) - def test_switch_does_not_reset_types_if_pkmn_has_been_terastallized(self): + def test_increments_rest_turns_by_consequtive_sleeptalks(self): + self.battle.generation = "gen3" + active = self.battle.opponent.active + active.gen_3_consecutive_sleep_talks = 1 + active.rest_turns = 1 + active.status = constants.SLEEP + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] + switch_or_drag(self.battle, split_msg) + + self.assertEqual(0, active.gen_3_consecutive_sleep_talks) + self.assertEqual(2, active.rest_turns) + + def test_decrements_sleep_turns_by_consequtive_sleeptalks(self): + self.battle.generation = "gen3" + active = self.battle.opponent.active + active.gen_3_consecutive_sleep_talks = 1 + active.sleep_turns = 1 + active.status = constants.SLEEP + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] + switch_or_drag(self.battle, split_msg) + + self.assertEqual(0, active.gen_3_consecutive_sleep_talks) + self.assertEqual(0, active.rest_turns) + + def test_switch_properly_resets_rest_turns_to_2_in_gen5(self): + self.battle.generation = "gen5" + active = self.battle.opponent.active + active.rest_turns = 1 + active.status = constants.SLEEP + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] + switch_or_drag(self.battle, split_msg) + + self.assertEqual(3, active.rest_turns) + + def test_switch_properly_resets_sleep_turns_to_0_in_gen5(self): + self.battle.opponent.active.volatile_statuses.append(constants.TYPECHANGE) + self.battle.generation = "gen5" + active = self.battle.opponent.active + active.sleep_turns = 1 + active.status = constants.SLEEP + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] + switch_or_drag(self.battle, split_msg) + + self.assertEqual(0, active.sleep_turns) + + def test_switch_does_not_reset_sleep_turns_to_0_in_gen4(self): self.battle.opponent.active.volatile_statuses.append(constants.TYPECHANGE) - self.battle.opponent.active.terastallized = True - self.battle.opponent.active.types = ['fire'] + self.battle.generation = "gen4" active = self.battle.opponent.active - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + active.sleep_turns = 1 + active.status = constants.SLEEP + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) - # weedle would normally be reverted to `bug` - self.assertEqual(['fire'], active.types) + self.assertEqual(1, active.sleep_turns) def test_switch_opponents_pokemon_successfully_creates_new_pokemon_for_active(self): - new_pkmn = Pokemon('weedle', 100) - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + new_pkmn = Pokemon("weedle", 100) + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(new_pkmn, self.battle.opponent.active) @@ -310,7 +424,7 @@ def test_bot_switching_properly_heals_pokemon_if_it_had_regenerator(self): self.battle.user.active.ability = "regenerator" self.battle.user.active.hp = 1 self.battle.user.active.max_hp = 300 - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(101, current_active.hp) # 100 hp from regenerator heal @@ -320,7 +434,7 @@ def test_bot_switching_with_regenerator_does_not_overheal(self): self.battle.user.active.ability = "regenerator" self.battle.user.active.hp = 250 self.battle.user.active.max_hp = 300 - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(300, current_active.hp) # 50 hp from regenerator heal @@ -331,14 +445,16 @@ def test_fainted_pokemon_switching_does_not_heal(self): self.battle.user.active.hp = 0 self.battle.user.active.fainted = True self.battle.user.active.max_hp = 300 - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) - self.assertEqual(0, current_active.hp) # no regenerator heal when you are fainted + self.assertEqual( + 0, current_active.hp + ) # no regenerator heal when you are fainted def test_nickname_attribute_is_set_when_switching(self): # |switch|p2a: Sus|Amoonguss, F|100/100 - split_msg = ['', 'switch', 'p2a: Sus', 'Amoonguss, F', '100/100'] + split_msg = ["", "switch", "p2a: Sus", "Amoonguss, F", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(self.battle.opponent.active.name, "amoonguss") @@ -346,102 +462,165 @@ def test_nickname_attribute_is_set_when_switching(self): def test_switch_resets_toxic_count_for_opponent(self): self.battle.opponent.side_conditions[constants.TOXIC_COUNT] = 1 - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.side_conditions[constants.TOXIC_COUNT]) def test_switch_resets_toxic_count_for_opponent_when_there_is_no_toxic_count(self): - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.side_conditions[constants.TOXIC_COUNT]) def test_switch_resets_toxic_count_for_user(self): self.battle.user.side_conditions[constants.TOXIC_COUNT] = 1 - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(0, self.battle.user.side_conditions[constants.TOXIC_COUNT]) - def test_switch_opponents_pokemon_successfully_places_previous_active_pokemon_in_reserve(self): - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + def test_switch_opponents_pokemon_successfully_places_previous_active_pokemon_in_reserve( + self, + ): + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertIn(self.opponent_active, self.battle.opponent.reserve) - def test_switch_opponents_pokemon_creates_reserve_of_length_1_when_reserve_was_previously_empty(self): - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + def test_switch_opponents_pokemon_creates_reserve_of_length_1_when_reserve_was_previously_empty( + self, + ): + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(1, len(self.battle.opponent.reserve)) def test_switch_into_already_seen_pokemon_does_not_create_a_new_pokemon(self): - already_seen_pokemon = Pokemon('weedle', 100) + already_seen_pokemon = Pokemon("weedle", 100) self.battle.opponent.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(1, len(self.battle.opponent.reserve)) def test_user_switching_causes_pokemon_to_switch(self): - already_seen_pokemon = Pokemon('weedle', 100) + already_seen_pokemon = Pokemon("weedle", 100) self.battle.user.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(Pokemon("weedle", 100), self.battle.user.active) def test_user_switching_causes_active_pokemon_to_be_placed_in_reserve(self): - already_seen_pokemon = Pokemon('weedle', 100) + already_seen_pokemon = Pokemon("weedle", 100) self.battle.user.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual(Pokemon("pikachu", 100), self.battle.user.reserve[0]) def test_user_switching_removes_volatile_statuses(self): user_active = self.battle.user.active - already_seen_pokemon = Pokemon('weedle', 100) + already_seen_pokemon = Pokemon("weedle", 100) self.battle.user.reserve.append(already_seen_pokemon) - user_active.volatile_statuses = ['flashfire'] - split_msg = ['', 'switch', 'p1a: weedle', 'Weedle, L100, M', '100/100'] + user_active.volatile_statuses = ["flashfire"] + split_msg = ["", "switch", "p1a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual([], user_active.volatile_statuses) def test_already_seen_pokemon_is_the_same_object_as_the_one_in_the_reserve(self): - already_seen_pokemon = Pokemon('weedle', 100) + already_seen_pokemon = Pokemon("weedle", 100) self.battle.opponent.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertIs(already_seen_pokemon, self.battle.opponent.active) def test_silvally_steel_replaces_silvally(self): - already_seen_pokemon = Pokemon('silvally', 100) + already_seen_pokemon = Pokemon("silvally", 100) + self.battle.opponent.reserve.append(already_seen_pokemon) + split_msg = [ + "", + "switch", + "p2a: silvally", + "Silvally-Steel, L100, M", + "100/100", + ] + switch_or_drag(self.battle, split_msg) + + expected_pokemon = Pokemon("silvallysteel", 100) + + self.assertEqual(expected_pokemon, self.battle.opponent.active) + + def test_silvally_steel_with_nickname_replaces_silvally(self): + already_seen_pokemon = Pokemon("silvally", 100) + self.battle.opponent.reserve.append(already_seen_pokemon) + split_msg = [ + "", + "switch", + "p2a: notsilvally", + "Silvally-Steel, L100, M", + "100/100", + ] + switch_or_drag(self.battle, split_msg) + + expected_pokemon = Pokemon("silvallysteel", 100) + + self.assertEqual(expected_pokemon, self.battle.opponent.active) + + def test_silvally_replaces_reserve_silvally_with_different_name(self): + already_seen_pokemon = Pokemon("silvally", 100) + already_seen_pokemon.unknown_forme = True self.battle.opponent.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p2a: silvally', 'Silvally-Steel, L100, M', '100/100'] + split_msg = [ + "", + "switch", + "p2a: notsilvally", + "Silvally-Steel, L100, M", + "100/100", + ] switch_or_drag(self.battle, split_msg) - expected_pokemon = Pokemon('silvallysteel', 100) + expected_pokemon = Pokemon("silvallysteel", 100) self.assertEqual(expected_pokemon, self.battle.opponent.active) + self.assertNotIn(already_seen_pokemon, self.battle.opponent.reserve) + + def test_silvally_switching_in_preserves_previous_hp(self): + already_seen_pokemon = Pokemon("silvallysteel", 100) + already_seen_pokemon.hp = already_seen_pokemon.max_hp / 2 + self.battle.opponent.reserve.append(already_seen_pokemon) + split_msg = [ + "", + "switch", + "p2a: notsilvally", + "Silvally-Steel, L100, M", + "50/100", + ] + switch_or_drag(self.battle, split_msg) + + self.assertEqual( + self.battle.opponent.active.max_hp / 2, self.battle.opponent.active.hp + ) def test_arceus_ghost_switching_in(self): - already_seen_pokemon = Pokemon('arceus', 100) + already_seen_pokemon = Pokemon("arceus", 100) self.battle.opponent.reserve.append(already_seen_pokemon) - split_msg = ['', 'switch', 'p2a: Arceus', 'Arceus-Ghost', '100/100'] + split_msg = ["", "switch", "p2a: Arceus", "Arceus-Ghost", "100/100"] switch_or_drag(self.battle, split_msg) - expected_pokemon = Pokemon('arceus-ghost', 100) + expected_pokemon = Pokemon("arceus-ghost", 100) self.assertEqual(expected_pokemon, self.battle.opponent.active) - def test_existing_boosts_on_opponents_active_pokemon_are_cleared_when_switching(self): + def test_existing_boosts_on_opponents_active_pokemon_are_cleared_when_switching( + self, + ): self.opponent_active.boosts[constants.ATTACK] = 1 self.opponent_active.boosts[constants.SPEED] = 1 - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual({}, self.opponent_active.boosts) @@ -450,32 +629,34 @@ def test_existing_boosts_on_bots_active_pokemon_are_cleared_when_switching(self) pkmn = self.battle.user.active pkmn.boosts[constants.ATTACK] = 1 pkmn.boosts[constants.SPEED] = 1 - split_msg = ['', 'switch', 'p1a: pidgey', 'Pidgey, L100, M', '100/100'] + split_msg = ["", "switch", "p1a: pidgey", "Pidgey, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertEqual({}, pkmn.boosts) - def test_switching_into_the_same_pokemon_does_not_put_that_pokemon_in_the_reserves(self): + def test_switching_into_the_same_pokemon_does_not_put_that_pokemon_in_the_reserves( + self, + ): # this is specifically for Zororak - split_msg = ['', 'switch', 'p2a: caterpie', 'Caterpie, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: caterpie", "Caterpie, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) self.assertFalse(self.battle.opponent.reserve) def test_switching_sets_last_move_to_none(self): - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) - expected_last_move = LastUsedMove(None, 'switch weedle', 0) + expected_last_move = LastUsedMove(None, "switch weedle", 0) self.assertEqual(expected_last_move, self.battle.opponent.last_used_move) def test_ditto_switching_sets_ability_to_none(self): - ditto = Pokemon('ditto', 100) + ditto = Pokemon("ditto", 100) ditto.ability = "some_ability" ditto.volatile_statuses.append(constants.TRANSFORM) self.battle.opponent.active = ditto - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) if self.battle.opponent.reserve[0] != ditto: @@ -484,12 +665,12 @@ def test_ditto_switching_sets_ability_to_none(self): self.assertIsNone(ditto.ability) def test_ditto_switching_sets_moves_to_empty_list(self): - ditto = Pokemon('ditto', 100) - ditto.moves = [Move('tackle'), Move('stringshot')] + ditto = Pokemon("ditto", 100) + ditto.moves = [Move("tackle"), Move("stringshot")] ditto.volatile_statuses.append(constants.TRANSFORM) self.battle.opponent.active = ditto - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) if self.battle.opponent.reserve[0] != ditto: @@ -498,7 +679,7 @@ def test_ditto_switching_sets_moves_to_empty_list(self): self.assertEqual([], ditto.moves) def test_ditto_switching_resets_stats(self): - ditto = Pokemon('ditto', 100) + ditto = Pokemon("ditto", 100) ditto.stats = { constants.ATTACK: 1, constants.DEFENSE: 2, @@ -509,7 +690,7 @@ def test_ditto_switching_resets_stats(self): ditto.volatile_statuses.append(constants.TRANSFORM) self.battle.opponent.active = ditto - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) if self.battle.opponent.reserve[0] != ditto: @@ -520,7 +701,7 @@ def test_ditto_switching_resets_stats(self): self.assertEqual(expected_stats, ditto.stats) def test_ditto_switching_resets_boosts(self): - ditto = Pokemon('ditto', 100) + ditto = Pokemon("ditto", 100) ditto.boosts = { constants.ATTACK: 1, constants.DEFENSE: 2, @@ -531,7 +712,7 @@ def test_ditto_switching_resets_boosts(self): ditto.volatile_statuses.append(constants.TRANSFORM) self.battle.opponent.active = ditto - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) if self.battle.opponent.reserve[0] != ditto: @@ -540,28 +721,28 @@ def test_ditto_switching_resets_boosts(self): self.assertEqual({}, ditto.boosts) def test_ditto_switching_resets_types(self): - ditto = Pokemon('ditto', 100) - ditto.types = ['fairy', 'flying'] + ditto = Pokemon("ditto", 100) + ditto.types = ["fairy", "flying"] ditto.volatile_statuses.append(constants.TRANSFORM) self.battle.opponent.active = ditto - split_msg = ['', 'switch', 'p2a: weedle', 'Weedle, L100, M', '100/100'] + split_msg = ["", "switch", "p2a: weedle", "Weedle, L100, M", "100/100"] switch_or_drag(self.battle, split_msg) if self.battle.opponent.reserve[0] != ditto: self.fail("Ditto was not moved to reserves") - self.assertEqual(['normal'], ditto.types) + self.assertEqual(["normal"], ditto.types) class TestHealOrDamage(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('caterpie', 100) - self.opponent_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) + self.opponent_active = Pokemon("caterpie", 100) # manually set hp to 200 for testing purposes self.opponent_active.max_hp = 200 @@ -571,96 +752,161 @@ def setUp(self): self.battle.user.active = self.user_active def test_sets_ability_when_the_information_is_present(self): - split_msg = ['', '-heal', 'p2a: Quagsire', '68/100', '[from] ability: Water Absorb', '[of] p1a: Genesect'] + split_msg = [ + "", + "-heal", + "p2a: Quagsire", + "68/100", + "[from] ability: Water Absorb", + "[of] p1a: Genesect", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('waterabsorb', self.battle.opponent.active.ability) + self.assertEqual("waterabsorb", self.battle.opponent.active.ability) def test_sets_ability_when_the_bot_is_damaged_from_opponents_ability(self): - split_msg = ['', '-damage', 'p1a: Lamdorus', '167/319', '[from] ability: Iron Barbs', '[of] p2a: Ferrothorn'] + split_msg = [ + "", + "-damage", + "p1a: Lamdorus", + "167/319", + "[from] ability: Iron Barbs", + "[of] p2a: Ferrothorn", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('ironbarbs', self.battle.opponent.active.ability) + self.assertEqual("ironbarbs", self.battle.opponent.active.ability) def test_sets_ability_when_the_opponent_is_damaged_from_bots_ability(self): - split_msg = ['', '-damage', 'p2a: Lamdorus', '167/319', '[from] ability: Iron Barbs', '[of] p1a: Ferrothorn'] + split_msg = [ + "", + "-damage", + "p2a: Lamdorus", + "167/319", + "[from] ability: Iron Barbs", + "[of] p1a: Ferrothorn", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('ironbarbs', self.battle.user.active.ability) + self.assertEqual("ironbarbs", self.battle.user.active.ability) def test_sets_item_when_it_causes_the_bot_damage(self): - split_msg = ['', '-damage', 'p1a: Kartana', '167/319', '[from] item: Rocky Helmet', '[of] p2a: Ferrothorn'] + split_msg = [ + "", + "-damage", + "p1a: Kartana", + "167/319", + "[from] item: Rocky Helmet", + "[of] p2a: Ferrothorn", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('rockyhelmet', self.battle.opponent.active.item) + self.assertEqual("rockyhelmet", self.battle.opponent.active.item) def test_sets_item_when_it_causes_the_opponent_damage(self): - split_msg = ['', '-damage', 'p2a: Kartana', '167/319', '[from] item: Rocky Helmet', '[of] p1a: Ferrothorn'] + split_msg = [ + "", + "-damage", + "p2a: Kartana", + "167/319", + "[from] item: Rocky Helmet", + "[of] p1a: Ferrothorn", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('rockyhelmet', self.battle.user.active.item) + self.assertEqual("rockyhelmet", self.battle.user.active.item) def test_does_not_set_item_when_item_is_none(self): # |-heal|p2a: Drifblim|37/100|[from] item: Sitrus Berry - split_msg = ['', '-heal', 'p2a: Drifblim', '37/100', '[from] item: Sitrus Berry'] + split_msg = [ + "", + "-heal", + "p2a: Drifblim", + "37/100", + "[from] item: Sitrus Berry", + ] self.battle.opponent.active.item = None heal_or_damage(self.battle, split_msg) self.assertEqual(None, self.battle.opponent.active.item) def test_damage_sets_opponents_active_pokemon_to_correct_hp(self): - split_msg = ['', '-damage', 'p2a: Caterpie', '80/100'] + split_msg = ["", "-damage", "p2a: Caterpie", "80/100"] heal_or_damage(self.battle, split_msg) self.assertEqual(160, self.battle.opponent.active.hp) def test_damage_sets_bots_active_pokemon_to_correct_hp(self): - split_msg = ['', '-damage', 'p1a: Caterpie', '150/250'] + split_msg = ["", "-damage", "p1a: Caterpie", "150/250"] heal_or_damage(self.battle, split_msg) self.assertEqual(150, self.battle.user.active.hp) def test_damage_sets_bots_active_pokemon_to_correct_maxhp(self): - split_msg = ['', '-damage', 'p1a: Caterpie', '150/250'] + split_msg = ["", "-damage", "p1a: Caterpie", "150/250"] heal_or_damage(self.battle, split_msg) self.assertEqual(250, self.battle.user.active.max_hp) def test_damage_sets_bots_active_pokemon_to_zero_hp(self): - split_msg = ['', '-damage', 'p1a: Caterpie', '0 fnt'] + split_msg = ["", "-damage", "p1a: Caterpie", "0 fnt"] heal_or_damage(self.battle, split_msg) self.assertEqual(0, self.battle.user.active.hp) def test_fainted_message_properly_faints_opponents_pokemon(self): - split_msg = ['', '-damage', 'p2a: Caterpie', '0 fnt'] + split_msg = ["", "-damage", "p2a: Caterpie", "0 fnt"] heal_or_damage(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.active.hp) def test_damage_caused_by_an_item_properly_sets_opponents_item(self): - split_msg = ['', '-damage', 'p2a: Caterpie', '100/100', '[from] item: Life Orb'] + split_msg = ["", "-damage", "p2a: Caterpie", "100/100", "[from] item: Life Orb"] heal_or_damage(self.battle, split_msg) self.assertEqual("lifeorb", self.battle.opponent.active.item) - def test_damage_caused_by_toxic_increases_side_condition_toxic_counter_for_opponent(self): - split_msg = ['', '-damage', 'p2a: Caterpie', '94/100 tox', '[from] psn'] + def test_damage_caused_by_toxic_increases_side_condition_toxic_counter_for_opponent( + self, + ): + split_msg = ["", "-damage", "p2a: Caterpie", "94/100 tox", "[from] psn"] heal_or_damage(self.battle, split_msg) self.assertEqual(1, self.battle.opponent.side_conditions[constants.TOXIC_COUNT]) - def test_damage_caused_by_toxic_increases_side_condition_toxic_counter_for_user(self): - split_msg = ['', '-damage', 'p1a: Caterpie', '94/100 tox', '[from] psn'] + def test_damage_caused_by_toxic_increases_side_condition_toxic_counter_for_user( + self, + ): + split_msg = ["", "-damage", "p1a: Caterpie", "94/100 tox", "[from] psn"] heal_or_damage(self.battle, split_msg) self.assertEqual(1, self.battle.user.side_conditions[constants.TOXIC_COUNT]) def test_toxic_count_increases_to_2(self): self.battle.opponent.side_conditions[constants.TOXIC_COUNT] = 1 - split_msg = ['', '-damage', 'p2a: Caterpie', '94/100 tox', '[from] psn'] + split_msg = ["", "-damage", "p2a: Caterpie", "94/100 tox", "[from] psn"] heal_or_damage(self.battle, split_msg) self.assertEqual(2, self.battle.opponent.side_conditions[constants.TOXIC_COUNT]) def test_damage_caused_by_non_toxic_damage_does_not_increase_toxic_count(self): - split_msg = ['', '-damage', 'p2a: Caterpie', '50/100 tox', '[from] item: Life Orb'] + split_msg = [ + "", + "-damage", + "p2a: Caterpie", + "50/100 tox", + "[from] item: Life Orb", + ] heal_or_damage(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.side_conditions[constants.TOXIC_COUNT]) def test_healing_from_ability_sets_ability_to_opponent(self): - split_msg = ['', '-heal', 'p2a: Caterpie', '50/100', '[from] ability: Volt Absorb', '[of] p1a: Caterpie'] + split_msg = [ + "", + "-heal", + "p2a: Caterpie", + "50/100", + "[from] ability: Volt Absorb", + "[of] p1a: Caterpie", + ] heal_or_damage(self.battle, split_msg) - self.assertEqual('voltabsorb', self.battle.opponent.active.ability) + self.assertEqual("voltabsorb", self.battle.opponent.active.ability) def test_healing_from_ability_does_not_set_bots_ability(self): self.battle.user.active.ability = None - split_msg = ['', '-heal', 'p2a: Caterpie', '50/100', '[from] ability: Volt Absorb', '[of] p1a: Caterpie'] + split_msg = [ + "", + "-heal", + "p2a: Caterpie", + "50/100", + "[from] ability: Volt Absorb", + "[of] p1a: Caterpie", + ] heal_or_damage(self.battle, split_msg) self.assertIsNone(self.battle.user.active.ability) @@ -669,12 +915,10 @@ def test_healing_from_revivalblessing_for_opponent_pkmn(self): amoongus_reserve.nickname = "Sus" amoongus_reserve.hp = 0 amoongus_reserve.fainted = True - self.battle.opponent.reserve = [ - amoongus_reserve - ] + self.battle.opponent.reserve = [amoongus_reserve] # |-heal|p1: Amoonguss|50/100|[from] move: Revival Blessing - split_msg = ['', '-heal', 'p2a: Sus', '50/100', '[from] move: Revival Blessing'] + split_msg = ["", "-heal", "p2a: Sus", "50/100", "[from] move: Revival Blessing"] heal_or_damage(self.battle, split_msg) self.assertEqual(amoongus_reserve.hp, int(amoongus_reserve.max_hp / 2)) @@ -683,11 +927,15 @@ def test_healing_from_revivalblessing_for_bot_pkmn(self): amoongus_reserve.nickname = "Sus" amoongus_reserve.hp = 0 amoongus_reserve.fainted = True - self.battle.user.reserve = [ - amoongus_reserve + self.battle.user.reserve = [amoongus_reserve] + + split_msg = [ + "", + "-heal", + "p1a: Sus", + "150/301", + "[from] move: Revival Blessing", ] - - split_msg = ['', '-heal', 'p1a: Sus', '150/301', '[from] move: Revival Blessing'] heal_or_damage(self.battle, split_msg) self.assertEqual(amoongus_reserve.hp, int(amoongus_reserve.max_hp / 2)) @@ -695,11 +943,11 @@ def test_healing_from_revivalblessing_for_bot_pkmn(self): class TestActivate(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('caterpie', 100) - self.opponent_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) + self.opponent_active = Pokemon("caterpie", 100) # manually set hp to 200 for testing purposes self.opponent_active.max_hp = 200 @@ -709,34 +957,57 @@ def setUp(self): self.battle.user.active = self.user_active def test_sets_item_when_poltergeist_activates(self): - split_msg = ['', '-activate', 'p2a: Mandibuzz', 'Move: Poltergeist', 'Leftovers'] + split_msg = [ + "", + "-activate", + "p2a: Mandibuzz", + "Move: Poltergeist", + "Leftovers", + ] activate(self.battle, split_msg) - self.assertEqual('leftovers', self.battle.opponent.active.item) + self.assertEqual("leftovers", self.battle.opponent.active.item) def test_sets_item_when_poltergeist_activates_and_move_is_lowercase(self): - split_msg = ['', '-activate', 'p2a: Mandibuzz', 'move: Poltergeist', 'Leftovers'] + split_msg = [ + "", + "-activate", + "p2a: Mandibuzz", + "move: Poltergeist", + "Leftovers", + ] activate(self.battle, split_msg) - self.assertEqual('leftovers', self.battle.opponent.active.item) + self.assertEqual("leftovers", self.battle.opponent.active.item) def test_sets_item_from_activate(self): - split_msg = ['', '-activate', 'p2a: Mandibuzz', 'item: Safety Goggles', 'Stun Spore'] + split_msg = [ + "", + "-activate", + "p2a: Mandibuzz", + "item: Safety Goggles", + "Stun Spore", + ] activate(self.battle, split_msg) - self.assertEqual('safetygoggles', self.battle.opponent.active.item) + self.assertEqual("safetygoggles", self.battle.opponent.active.item) def test_sets_ability_from_activate(self): - split_msg = ['', '-activate', 'p2a: Ferrothorn', 'ability: Iron Barbs'] + split_msg = ["", "-activate", "p2a: Ferrothorn", "ability: Iron Barbs"] + activate(self.battle, split_msg) + self.assertEqual("ironbarbs", self.battle.opponent.active.ability) + + def test_sets_substitute_hit_from_activate(self): + split_msg = ["", "-activate", "p2a: Heatran", "Substitute", "[damage]"] activate(self.battle, split_msg) - self.assertEqual('ironbarbs', self.battle.opponent.active.ability) + self.assertTrue(self.battle.opponent.active.substitute_hit) class TestPrepare(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('caterpie', 100) - self.opponent_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) + self.opponent_active = Pokemon("caterpie", 100) # manually set hp to 200 for testing purposes self.opponent_active.max_hp = 200 @@ -755,11 +1026,11 @@ def test_prepare_sets_volatile_status_on_pokemon(self): class TestClearAllBoosts(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('caterpie', 100) - self.opponent_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) + self.opponent_active = Pokemon("caterpie", 100) # manually set hp to 200 for testing purposes self.opponent_active.max_hp = 200 @@ -769,35 +1040,23 @@ def setUp(self): self.battle.user.active = self.user_active def test_clears_bots_boosts(self): - split_msg = ['', '-clearallboost'] - self.battle.user.active.boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 1 - } + split_msg = ["", "-clearallboost"] + self.battle.user.active.boosts = {constants.ATTACK: 1, constants.DEFENSE: 1} clearallboost(self.battle, split_msg) self.assertEqual(0, self.battle.user.active.boosts[constants.ATTACK]) self.assertEqual(0, self.battle.user.active.boosts[constants.DEFENSE]) def test_clears_opponents_boosts(self): - split_msg = ['', '-clearallboost'] - self.battle.opponent.active.boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 1 - } + split_msg = ["", "-clearallboost"] + self.battle.opponent.active.boosts = {constants.ATTACK: 1, constants.DEFENSE: 1} clearallboost(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.active.boosts[constants.ATTACK]) self.assertEqual(0, self.battle.opponent.active.boosts[constants.DEFENSE]) def test_clears_opponents_and_botsboosts(self): - split_msg = ['', '-clearallboost'] - self.battle.user.active.boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 1 - } - self.battle.opponent.active.boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 1 - } + split_msg = ["", "-clearallboost"] + self.battle.user.active.boosts = {constants.ATTACK: 1, constants.DEFENSE: 1} + self.battle.opponent.active.boosts = {constants.ATTACK: 1, constants.DEFENSE: 1} clearallboost(self.battle, split_msg) self.assertEqual(0, self.battle.user.active.boosts[constants.ATTACK]) self.assertEqual(0, self.battle.user.active.boosts[constants.DEFENSE]) @@ -808,24 +1067,36 @@ def test_clears_opponents_and_botsboosts(self): class TestMove(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.battle.user.active = Pokemon('clefable', 100) + self.battle.user.active = Pokemon("clefable", 100) def test_adds_move_to_opponent(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] move(self.battle, split_msg) m = Move("String Shot") self.assertIn(m, self.battle.opponent.active.moves) + def test_adds_truant_when_truant_pkmn(self): + self.battle.opponent.active.ability = "truant" + split_msg = ["", "move", "p2a: Slaking", "Earthquake"] + move(self.battle, split_msg) + self.assertIn("truant", self.battle.opponent.active.volatile_statuses) + + def test_adds_truant_when_slaking_pkmn(self): + self.battle.opponent.active.name = "slaking" + split_msg = ["", "move", "p2a: Slaking", "Earthquake"] + move(self.battle, split_msg) + self.assertIn("truant", self.battle.opponent.active.volatile_statuses) + def test_does_not_set_move_for_magicbounch(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot', '[from]Magic Bounce'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot", "[from]Magic Bounce"] move(self.battle, split_msg) m = Move("String Shot") @@ -833,7 +1104,7 @@ def test_does_not_set_move_for_magicbounch(self): self.assertNotIn(m, self.battle.opponent.active.moves) def test_new_move_has_one_pp_less_than_max(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] move(self.battle, split_msg) m = self.battle.opponent.active.get_move("String Shot") @@ -841,21 +1112,64 @@ def test_new_move_has_one_pp_less_than_max(self): self.assertEqual(expected_pp, m.current_pp) + def test_new_move_has_two_pp_less_than_max_if_against_pressure(self): + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.user.active.ability = "pressure" + + move(self.battle, split_msg) + m = self.battle.opponent.active.get_move("String Shot") + expected_pp = m.max_pp - 2 + + self.assertEqual(expected_pp, m.current_pp) + def test_unknown_move_does_not_try_to_decrement(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'some-random-unknown-move'] + split_msg = ["", "move", "p2a: Caterpie", "some-random-unknown-move"] move(self.battle, split_msg) def test_add_revealed_move_does_not_add_move_twice(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] self.battle.opponent.active.moves.append(Move("String Shot")) move(self.battle, split_msg) self.assertEqual(1, len(self.battle.opponent.active.moves)) + def test_increments_gen3_consecutive_sleeptalk_turns_when_using_sleeptalk(self): + split_msg = ["", "move", "p2a: Caterpie", "Earthquake", "[from]Sleep Talk"] + self.battle.opponent.active.status = constants.SLEEP + self.battle.generation = "gen3" + + move(self.battle, split_msg) + + self.assertEqual(1, self.battle.opponent.active.gen_3_consecutive_sleep_talks) + + def test_does_not_reset_consecutive_sleeptalk_turns_in_gen3_when_move_is_sleeptalk( + self, + ): + split_msg = ["", "move", "p2a: Caterpie", "Sleep Talk"] + self.battle.opponent.active.status = constants.SLEEP + self.battle.opponent.active.gen_3_consecutive_sleep_talks = 1 + self.battle.generation = "gen3" + + move(self.battle, split_msg) + + self.assertEqual(1, self.battle.opponent.active.gen_3_consecutive_sleep_talks) + + def test_resets_consecutive_sleeptalk_turns_in_gen3_when_move_is_non_sleeptalk( + self, + ): + split_msg = ["", "move", "p2a: Caterpie", "Earthquake"] + self.battle.opponent.active.status = constants.SLEEP + self.battle.opponent.active.gen_3_consecutive_sleep_talks = 1 + self.battle.generation = "gen3" + + move(self.battle, split_msg) + + self.assertEqual(0, self.battle.opponent.active.gen_3_consecutive_sleep_talks) + def test_decrements_seen_move_pp_if_seen_again(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] m = Move("String Shot") m.current_pp = 5 self.battle.opponent.active.moves.append(m) @@ -863,45 +1177,61 @@ def test_decrements_seen_move_pp_if_seen_again(self): self.assertEqual(4, m.current_pp) + def test_decrements_seen_move_pp_by_two_if_opponent_has_pressure(self): + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + m = Move("String Shot") + m.current_pp = 5 + self.battle.user.active.ability = "pressure" + self.battle.opponent.active.moves.append(m) + move(self.battle, split_msg) + + self.assertEqual(3, m.current_pp) + def test_properly_sets_last_used_move(self): - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] move(self.battle, split_msg) - expected_last_used_move = LastUsedMove(pokemon_name='caterpie', move='stringshot', turn=0) + expected_last_used_move = LastUsedMove( + pokemon_name="caterpie", move="stringshot", turn=0 + ) self.assertEqual(expected_last_used_move, self.battle.opponent.last_used_move) - def test_using_status_move_sets_can_have_assaultvest_to_false(self): - self.battle.opponent.active.can_have_assaultvest = True - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + def test_using_status_move_makes_assaultvest_impossible(self): + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) - self.assertFalse(self.battle.opponent.active.can_have_assaultvest) + self.assertIn( + constants.ASSAULT_VEST, self.battle.opponent.active.impossible_items + ) - def test_using_nonstatus_move_does_not_set_can_have_assultvest_to_false(self): - self.battle.opponent.active.can_have_assaultvest = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Tackle'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + def test_using_nonstatus_move_does_not_make_assultvest_impossible(self): + split_msg = ["", "move", "p2a: Caterpie", "Tackle"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) - self.assertTrue(self.battle.opponent.active.can_have_assaultvest) + self.assertNotIn( + constants.ASSAULT_VEST, self.battle.opponent.active.impossible_items + ) def test_removes_volatilestatus_if_pkmn_has_it_when_using_move(self): self.battle.opponent.active.volatile_statuses = ["phantomforce"] - split_msg = ['', 'move', 'p2a: Caterpie', 'Phantom Force', '[from]lockedmove'] + split_msg = ["", "move", "p2a: Caterpie", "Phantom Force", "[from]lockedmove"] move(self.battle, split_msg) self.assertEqual([], self.battle.opponent.active.volatile_statuses) - def test_sets_can_have_choice_item_to_false_if_two_different_moves_are_used_when_the_pkmn_has_an_unknown_item(self): + def test_sets_can_have_choice_item_to_false_if_two_different_moves_are_used_when_the_pkmn_has_an_unknown_item( + self, + ): self.battle.opponent.active.can_have_choice_item = True - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) @@ -909,52 +1239,76 @@ def test_sets_can_have_choice_item_to_false_if_two_different_moves_are_used_when def test_using_a_boosting_status_move_sets_can_have_choice_item_to_false(self): self.battle.opponent.active.can_have_choice_item = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Dragon Dance'] + split_msg = ["", "move", "p2a: Caterpie", "Dragon Dance"] move(self.battle, split_msg) self.assertFalse(self.battle.opponent.active.can_have_choice_item) - def test_using_a_boosting_physical_move_does_not_set_can_have_choice_item_to_false(self): + def test_using_a_boosting_physical_move_does_not_set_can_have_choice_item_to_false( + self, + ): self.battle.opponent.active.can_have_choice_item = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Scale Shot'] + split_msg = ["", "move", "p2a: Caterpie", "Scale Shot"] move(self.battle, split_msg) self.assertTrue(self.battle.opponent.active.can_have_choice_item) - def test_using_a_boosting_special_move_does_not_set_can_have_choice_item_to_false(self): + def test_using_a_boosting_special_move_does_not_set_can_have_choice_item_to_false( + self, + ): self.battle.opponent.active.can_have_choice_item = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Scale Shot'] + split_msg = ["", "move", "p2a: Caterpie", "Scale Shot"] move(self.battle, split_msg) self.assertTrue(self.battle.opponent.active.can_have_choice_item) - def test_sets_item_to_unknown_if_the_pokemon_has_choice_item_but_two_different_moves_are_used(self): + def test_sets_item_to_unknown_if_the_pokemon_choice_item_was_inferred_but_two_different_moves_are_used( + self, + ): self.battle.opponent.active.can_have_choice_item = True - self.battle.opponent.active.item = 'choiceband' - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + self.battle.opponent.active.item = "choiceband" + self.battle.opponent.active.item_inferred = True + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_does_not_set_item_to_unknown_if_the_known_item_is_not_a_choice_item_and_two_different_moves_are_used(self): + def test_does_not_set_item_to_unknow_if_choice_item_was_not_inferred_and_two_different_moves_were_used( + self, + ): + self.battle.opponent.active.can_have_choice_item = True + self.battle.opponent.active.item = "choiceband" + self.battle.opponent.active.item_inferred = False + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) + + move(self.battle, split_msg) + + self.assertEqual(constants.CHOICE_BAND, self.battle.opponent.active.item) + + def test_does_not_set_item_to_unknown_if_the_known_item_is_not_a_choice_item_and_two_different_moves_are_used( + self, + ): self.battle.opponent.active.can_have_choice_item = True - self.battle.opponent.active.item = 'leftovers' - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + self.battle.opponent.active.item = "leftovers" + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) - self.assertEqual('leftovers', self.battle.opponent.active.item) + self.assertEqual("leftovers", self.battle.opponent.active.item) - def test_does_not_set_can_have_choice_item_to_false_if_the_same_move_is_used_when_the_pkmn_has_an_unknown_item(self): + def test_does_not_set_can_have_choice_item_to_false_if_the_same_move_is_used_when_the_pkmn_has_an_unknown_item( + self, + ): self.battle.opponent.active.can_have_choice_item = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Tackle'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + split_msg = ["", "move", "p2a: Caterpie", "Tackle"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) @@ -963,57 +1317,80 @@ def test_does_not_set_can_have_choice_item_to_false_if_the_same_move_is_used_whe def test_sets_can_have_choice_item_to_false_even_if_item_is_known(self): # if the item is known - this flag doesn't matter anyways self.battle.opponent.active.can_have_choice_item = True - self.battle.opponent.active.item = 'leftovers' - split_msg = ['', 'move', 'p2a: Caterpie', 'String Shot'] - self.battle.opponent.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + self.battle.opponent.active.item = "leftovers" + split_msg = ["", "move", "p2a: Caterpie", "String Shot"] + self.battle.opponent.last_used_move = LastUsedMove("caterpie", "tackle", 0) move(self.battle, split_msg) self.assertFalse(self.battle.opponent.active.can_have_choice_item) - def test_sets_can_have_life_orb_to_false_if_damaging_move_is_used(self): + def test_sets_life_orb_as_impossible_if_damaging_move_is_used(self): # if a damaging move is used, we no longer want to guess lifeorb as an item - self.battle.opponent.active.can_have_life_orb = True - split_msg = ['', 'move', 'p2a: Caterpie', 'Tackle'] + split_msg = ["", "move", "p2a: Caterpie", "Tackle"] move(self.battle, split_msg) - self.assertFalse(self.battle.opponent.active.can_have_life_orb) + self.assertIn(constants.LIFE_ORB, self.battle.opponent.active.impossible_items) - def test_does_not_set_can_have_life_orb_to_false_if_pokemon_could_have_sheerforce(self): + def test_does_not_set_can_life_orb_to_impossible_if_pokemon_could_have_sheerforce( + self, + ): # mawile could have sheerforce # we shouldn't set the lifeorb flag to False because sheerforce doesn't reveal lifeorb when a damaging move is used - self.battle.opponent.active.name = 'mawile' - self.battle.opponent.active.can_have_life_orb = True - split_msg = ['', 'move', 'p2a: Mawile', 'Tackle'] + self.battle.opponent.active.name = "mawile" + split_msg = ["", "move", "p2a: Mawile", "Tackle"] move(self.battle, split_msg) - self.assertTrue(self.battle.opponent.active.can_have_life_orb) + self.assertNotIn( + constants.LIFE_ORB, self.battle.opponent.active.impossible_items + ) - def test_does_not_set_can_have_life_orb_to_false_if_pokemon_could_have_magic_guard(self): + def test_does_not_set_life_orb_to_impossible_if_pokemon_could_have_magic_guard( + self, + ): # clefable could have magic guard # we shouldn't set the lifeorb flag to False because magic guard doesn't reveal lifeorb when a damaging move is used - self.battle.opponent.active.name = 'clefable' - self.battle.opponent.active.can_have_life_orb = True - split_msg = ['', 'move', 'p2a: Clefable', 'Tackle'] + self.battle.opponent.active.name = "clefable" + split_msg = ["", "move", "p2a: Clefable", "Tackle"] + + move(self.battle, split_msg) + + self.assertNotIn( + constants.LIFE_ORB, self.battle.opponent.active.impossible_items + ) + + def test_adds_normal_gem_to_impossible_items(self): + split_msg = ["", "move", "p2a: Clefable", "Tackle"] move(self.battle, split_msg) + self.assertIn("normalgem", self.battle.opponent.active.impossible_items) + + def test_adds_flying_gem_to_impossible_items(self): + split_msg = ["", "move", "p2a: Clefable", "Acrobatics"] + + move(self.battle, split_msg) + self.assertIn("flyinggem", self.battle.opponent.active.impossible_items) + + def test_does_not_add_gem_if_non_damaging_move(self): + split_msg = ["", "move", "p2a: Clefable", "Protect"] - self.assertTrue(self.battle.opponent.active.can_have_life_orb) + move(self.battle, split_msg) + self.assertNotIn("normalgem", self.battle.opponent.active.impossible_items) def test_wish_sets_battler_wish(self): - split_msg = ['', 'move', 'p1a: Clefable', 'Wish', 'p1a: Clefable'] + split_msg = ["", "move", "p1a: Clefable", "Wish", "p1a: Clefable"] move(self.battle, split_msg) - expected_wish = (2, self.battle.user.active.max_hp/2) + expected_wish = (2, self.battle.user.active.max_hp / 2) self.assertEqual(expected_wish, self.battle.user.wish) def test_failed_wish_does_not_set_wish(self): self.battle.user.wish = (1, 100) - split_msg = ['', 'move', 'p1a: Clefable', 'Wish', '[still]'] + split_msg = ["", "move", "p1a: Clefable", "Wish", "[still]"] move(self.battle, split_msg) @@ -1022,134 +1399,378 @@ def test_failed_wish_does_not_set_wish(self): self.assertEqual(expected_wish, self.battle.user.wish) -class TestWeather(unittest.TestCase): +class TestTrickRoom(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - def test_starts_weather_properly(self): - split_msg = ['', '-weather', 'RainDance', '[from] ability: Drizzle', '[of] p2a: Pelipper'] + def test_starts_trickroom_properly(self): + split_msg = [ + "", + "-fieldstart", + "move: Trick Room", + "p1a: Bronzong", + ] - weather(self.battle, split_msg) + fieldstart(self.battle, split_msg) - self.assertEqual('raindance', self.battle.weather) + self.assertEqual(True, self.battle.trick_room) + self.assertEqual(5, self.battle.trick_room_turns_remaining) - def test_sets_weather_ability_when_it_is_present(self): - split_msg = ['', '-weather', 'RainDance', '[from] ability: Drizzle', '[of] p2a: Pelipper'] + def test_removes_trickroom_properly(self): + split_msg = [ + "", + "-fieldend", + "move: Trick Room", + ] - weather(self.battle, split_msg) + fieldend(self.battle, split_msg) - self.assertEqual('drizzle', self.battle.opponent.active.ability) + self.assertEqual(False, self.battle.trick_room) + self.assertEqual(0, self.battle.trick_room_turns_remaining) -class TestBoostAndUnboost(unittest.TestCase): +class TestWeather(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('weedle', 100) + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + self.user_active = Pokemon("caterpie", 100) self.battle.user.active = self.user_active - self.opponent_active = Pokemon('caterpie', 100) - self.battle.opponent.active = self.opponent_active + def test_starts_weather_properly(self): + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p2a: Pelipper", + ] - def test_opponent_boost_properly_updates_opponent_pokemons_boosts(self): - split_msg = ['', 'boost', 'p2a: Weedle', 'atk', '1'] - boost(self.battle, split_msg) + weather(self.battle, split_msg) - expected_boosts = { - constants.ATTACK: 1 - } + self.assertEqual("raindance", self.battle.weather) - self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + def test_sets_weather_turns_remaining_from_ability_gen4(self): + self.battle.generation = "gen4" + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p2a: Pelipper", + ] - def test_unboost_works_properly_on_opponent(self): - split_msg = ['', 'boost', 'p2a: Weedle', 'atk', '1'] - unboost(self.battle, split_msg) + weather(self.battle, split_msg) - expected_boosts = { - constants.ATTACK: -1 - } + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(-1, self.battle.weather_turns_remaining) + + def test_sets_weather_turns_remaining_from_ability_gen6(self): + self.battle.generation = "gen6" + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p2a: Pelipper", + ] - self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + weather(self.battle, split_msg) - def test_unboost_does_not_lower_below_negative_6(self): - self.battle.opponent.active.boosts[constants.ATTACK] = -6 - split_msg = ['', 'unboost', 'p2a: Weedle', 'atk', '2'] - unboost(self.battle, split_msg) + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(5, self.battle.weather_turns_remaining) + + def test_sets_rain_to_8_turns_from_ability_gen6_with_extension_item(self): + self.battle.generation = "gen6" + self.battle.opponent.active.item = "damprock" + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p2a: Pelipper", + ] - expected_boosts = { - constants.ATTACK: -6 - } + weather(self.battle, split_msg) - self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(8, self.battle.weather_turns_remaining) + + def test_sets_sun_to_8_turns_from_ability_gen6_with_extension_item(self): + self.battle.generation = "gen6" + self.battle.opponent.active.item = "heatrock" + split_msg = [ + "", + "-weather", + "SunnyDay", + "[from] ability: Drought", + "[of] p2a: Pelipper", + ] - def test_unboost_lowers_one_when_it_hits_the_limit(self): - self.battle.opponent.active.boosts[constants.ATTACK] = -5 - split_msg = ['', 'unboost', 'p2a: Weedle', 'atk', '2'] - unboost(self.battle, split_msg) + weather(self.battle, split_msg) - expected_boosts = { - constants.ATTACK: -6 - } + self.assertEqual("sunnyday", self.battle.weather) + self.assertEqual(8, self.battle.weather_turns_remaining) + + def test_sets_sand_to_8_turns_from_ability_gen6_with_extension_item(self): + self.battle.generation = "gen6" + self.battle.opponent.active.item = "smoothrock" + split_msg = [ + "", + "-weather", + "SandStorm", + "[from] ability: Sand Stream", + "[of] p2a: Pelipper", + ] - self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + weather(self.battle, split_msg) - def test_boost_does_not_lower_below_negative_6(self): - self.battle.opponent.active.boosts[constants.ATTACK] = 6 - split_msg = ['', 'boost', 'p2a: Weedle', 'atk', '2'] - boost(self.battle, split_msg) + self.assertEqual("sandstorm", self.battle.weather) + self.assertEqual(8, self.battle.weather_turns_remaining) + + def test_sets_hail_to_8_turns_from_ability_gen6_with_extension_item(self): + self.battle.generation = "gen6" + self.battle.opponent.active.item = "icyrock" + split_msg = [ + "", + "-weather", + "Hail", + "[from] ability: Snow Warning", + "[of] p2a: Pelipper", + ] - expected_boosts = { - constants.ATTACK: 6 - } + weather(self.battle, split_msg) - self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + self.assertEqual("hail", self.battle.weather) + self.assertEqual(8, self.battle.weather_turns_remaining) - def test_boost_lowers_one_when_it_hits_the_limit(self): - self.battle.opponent.active.boosts[constants.ATTACK] = 5 - split_msg = ['', 'boost', 'p2a: Weedle', 'atk', '2'] - boost(self.battle, split_msg) + def test_sets_weather_turns_remaining_from_move_gen4(self): + self.battle.generation = "gen4" + split_msg = [ + "", + "-weather", + "RainDance", + ] - expected_boosts = { - constants.ATTACK: 6 - } + weather(self.battle, split_msg) - self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(5, self.battle.weather_turns_remaining) - def test_unboost_works_properly_on_user(self): - split_msg = ['', 'boost', 'p1a: Caterpie', 'atk', '1'] - unboost(self.battle, split_msg) + def test_decrements_weather(self): + self.battle.generation = "gen4" + self.battle.weather = constants.RAIN + self.battle.weather_turns_remaining = 5 + split_msg = [ + "", + "-weather", + "RainDance", + "[upkeep]", + ] - expected_boosts = { - constants.ATTACK: -1 - } + weather(self.battle, split_msg) - self.assertEqual(expected_boosts, self.battle.user.active.boosts) + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(4, self.battle.weather_turns_remaining) - def test_user_boosts_updates_properly(self): - split_msg = ['', 'boost', 'p1a: Caterpie', 'atk', '1'] - boost(self.battle, split_msg) + def test_does_not_decrement_weather_if_set_to_negative_1(self): + self.battle.generation = "gen4" + self.battle.weather = constants.RAIN + self.battle.weather_turns_remaining = -1 + split_msg = [ + "", + "-weather", + "RainDance", + "[upkeep]", + ] - expected_boosts = { - constants.ATTACK: 1 - } + weather(self.battle, split_msg) - self.assertEqual(expected_boosts, self.battle.user.active.boosts) + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(-1, self.battle.weather_turns_remaining) - def test_multiple_boost_properly_updates(self): - split_msg = ['', 'boost', 'p2a: Weedle', 'atk', '1'] - boost(self.battle, split_msg) + def test_sets_weather_to_3_when_expecting_0(self): + self.battle.generation = "gen4" + self.battle.weather = constants.RAIN + self.battle.weather_turns_remaining = 1 + split_msg = [ + "", + "-weather", + "RainDance", + "[upkeep]", + ] + + weather(self.battle, split_msg) + + self.assertEqual("raindance", self.battle.weather) + self.assertEqual(3, self.battle.weather_turns_remaining) + + def test_sets_weather_ability_on_opponent_when_it_is_present(self): + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p2a: Pelipper", + ] + + weather(self.battle, split_msg) + + self.assertEqual("drizzle", self.battle.opponent.active.ability) + + def test_sets_weather_ability_on_user_when_it_is_present(self): + split_msg = [ + "", + "-weather", + "RainDance", + "[from] ability: Drizzle", + "[of] p1a: Pelipper", + ] + + weather(self.battle, split_msg) + + self.assertEqual("drizzle", self.battle.user.active.ability) + + +# |-setboost|p2a: Linoone|atk|6|[from] move: Belly Drum +class TestSetBoost(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + + def test_set_boost_to_6_from_bellydrum(self): + split_msg = [ + "", + "-setboost", + "p2a: Linoone", + "atk", + "6", + "[from] move: Belly Drum", + ] + setboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 6} + + self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + + def test_set_boost_to_6_even_when_at_negative_from_bellydrum(self): + self.battle.opponent.active.boosts[constants.ATTACK] = -3 + split_msg = [ + "", + "-setboost", + "p2a: Linoone", + "atk", + "6", + "[from] move: Belly Drum", + ] + setboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 6} + + self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + + +class TestBoostAndUnboost(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + + def test_opponent_boost_properly_updates_opponent_pokemons_boosts(self): + split_msg = ["", "boost", "p2a: Weedle", "atk", "1"] boost(self.battle, split_msg) - expected_boosts = { - constants.ATTACK: 2 - } + expected_boosts = {constants.ATTACK: 1} + + self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + + def test_unboost_works_properly_on_opponent(self): + split_msg = ["", "boost", "p2a: Weedle", "atk", "1"] + unboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: -1} + + self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + + def test_unboost_does_not_lower_below_negative_6(self): + self.battle.opponent.active.boosts[constants.ATTACK] = -6 + split_msg = ["", "unboost", "p2a: Weedle", "atk", "2"] + unboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: -6} + + self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + + def test_unboost_lowers_one_when_it_hits_the_limit(self): + self.battle.opponent.active.boosts[constants.ATTACK] = -5 + split_msg = ["", "unboost", "p2a: Weedle", "atk", "2"] + unboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: -6} + + self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + + def test_boost_does_not_lower_below_negative_6(self): + self.battle.opponent.active.boosts[constants.ATTACK] = 6 + split_msg = ["", "boost", "p2a: Weedle", "atk", "2"] + boost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 6} + + self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + + def test_boost_lowers_one_when_it_hits_the_limit(self): + self.battle.opponent.active.boosts[constants.ATTACK] = 5 + split_msg = ["", "boost", "p2a: Weedle", "atk", "2"] + boost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 6} + + self.assertEqual(expected_boosts, dict(self.battle.opponent.active.boosts)) + + def test_unboost_works_properly_on_user(self): + split_msg = ["", "boost", "p1a: Caterpie", "atk", "1"] + unboost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: -1} + + self.assertEqual(expected_boosts, self.battle.user.active.boosts) + + def test_user_boosts_updates_properly(self): + split_msg = ["", "boost", "p1a: Caterpie", "atk", "1"] + boost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 1} + + self.assertEqual(expected_boosts, self.battle.user.active.boosts) + + def test_multiple_boost_properly_updates(self): + split_msg = ["", "boost", "p2a: Weedle", "atk", "1"] + boost(self.battle, split_msg) + boost(self.battle, split_msg) + + expected_boosts = {constants.ATTACK: 2} self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) @@ -1157,90 +1778,118 @@ def test_multiple_boost_properly_updates(self): class TestStatus(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.battle.opponent.active = Pokemon('caterpie', 100) - self.battle.user.active = Pokemon('caterpie', 100) + self.battle.opponent.active = Pokemon("caterpie", 100) + self.battle.user.active = Pokemon("caterpie", 100) def test_opponents_active_pokemon_has_status_properly_set(self): - split_msg = ['', '-status', 'p2a: Caterpie', 'brn'] + split_msg = ["", "-status", "p2a: Caterpie", "brn"] status(self.battle, split_msg) self.assertEqual(self.battle.opponent.active.status, constants.BURN) + def test_getting_status_causes_lumberry_to_be_an_impossible_item(self): + split_msg = ["", "-status", "p2a: Caterpie", "brn"] + status(self.battle, split_msg) + + self.assertIn("lumberry", self.battle.opponent.active.impossible_items) + + def test_rest_turns_set_to_3_on_rest(self): + split_msg = ["", "-status", "p2a: Caterpie", "slp", "[from] move: Rest"] + status(self.battle, split_msg) + + self.assertEqual(self.battle.opponent.active.status, constants.SLEEP) + self.assertEqual(self.battle.opponent.active.rest_turns, 3) + + def test_rest_turns_at_0_and_sleep_turns_at_0_from_nonrest_sleep(self): + split_msg = ["", "-status", "p2a: Caterpie", "slp", "[from] move: Sleep powder"] + status(self.battle, split_msg) + + self.assertEqual(self.battle.opponent.active.status, constants.SLEEP) + self.assertEqual(self.battle.opponent.active.rest_turns, 0) + self.assertEqual(self.battle.opponent.active.sleep_turns, 0) + def test_bots_active_pokemon_has_status_properly_set(self): - split_msg = ['', '-status', 'p1a: Caterpie', 'brn'] + split_msg = ["", "-status", "p1a: Caterpie", "brn"] status(self.battle, split_msg) self.assertEqual(self.battle.user.active.status, constants.BURN) def test_status_from_item_properly_sets_that_item(self): - split_msg = ['', '-status', 'p2a: Caterpie', 'brn', '[from] item: Flame Orb'] + split_msg = ["", "-status", "p2a: Caterpie", "brn", "[from] item: Flame Orb"] status(self.battle, split_msg) - self.assertEqual(self.battle.opponent.active.item, 'flameorb') + self.assertEqual(self.battle.opponent.active.item, "flameorb") class TestCureStatus(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.opponent_reserve = Pokemon('pikachu', 100) + self.opponent_reserve = Pokemon("pikachu", 100) self.battle.opponent.reserve = [self.opponent_active, self.opponent_reserve] - self.battle.user.active = Pokemon('weedle', 100) + self.battle.user.active = Pokemon("weedle", 100) def test_curestatus_works_on_active_pokemon(self): self.opponent_active.status = constants.BURN - split_msg = ['', '-curestatus', 'p2: Caterpie', 'brn', '[msg]'] + split_msg = ["", "-curestatus", "p2: Caterpie", "brn", "[msg]"] curestatus(self.battle, split_msg) self.assertEqual(None, self.opponent_active.status) def test_curestatus_works_on_active_pokemon_for_bot(self): self.battle.user.active.status = constants.BURN - split_msg = ['', '-curestatus', 'p1: Weedle', 'brn', '[msg]'] + split_msg = ["", "-curestatus", "p1: Weedle", "brn", "[msg]"] curestatus(self.battle, split_msg) self.assertEqual(None, self.battle.user.active.status) def test_curestatus_works_on_reserve_pokemon(self): self.opponent_reserve.status = constants.BURN - split_msg = ['', '-curestatus', 'p2: Pikachu', 'brn', '[msg]'] + split_msg = ["", "-curestatus", "p2: Pikachu", "brn", "[msg]"] curestatus(self.battle, split_msg) self.assertEqual(None, self.opponent_reserve.status) + def test_curestatus_sets_sleep_and_rest_turns_to_0(self): + self.opponent_reserve.status = constants.SLEEP + self.opponent_reserve.sleep_turns = 1 + self.opponent_reserve.rest_turns = 1 + split_msg = ["", "-curestatus", "p2: Pikachu", "slp", "[msg]"] + curestatus(self.battle, split_msg) + + self.assertEqual(0, self.opponent_reserve.sleep_turns) + self.assertEqual(0, self.opponent_reserve.rest_turns) + class TestStartFutureSight(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active def test_sets_futuresight_on_side_that_used_the_move(self): - split_msg = ['', '-start', 'p2a: Caterpie', 'Future Sight'] + split_msg = ["", "-start", "p2a: Caterpie", "Future Sight"] start_volatile_status(self.battle, split_msg) - self.assertEqual( - self.battle.opponent.future_sight, - (3, "caterpie") - ) + self.assertEqual(self.battle.opponent.future_sight, (3, "caterpie")) def test_does_not_set_futuresight_as_a_volatilestatus(self): - split_msg = ['', '-start', 'p2a: Caterpie', 'Future Sight'] + split_msg = ["", "-start", "p2a: Caterpie", "Future Sight"] self.battle.opponent.active.volatile_statuses = [] start_volatile_status(self.battle, split_msg) @@ -1250,62 +1899,88 @@ def test_does_not_set_futuresight_as_a_volatilestatus(self): class TestStartVolatileStatus(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active def test_volatile_status_is_set_on_opponent_pokemon(self): - split_msg = ['', '-start', 'p2a: Caterpie', 'Encore'] + split_msg = ["", "-start", "p2a: Caterpie", "Encore"] start_volatile_status(self.battle, split_msg) - expected_volatile_statuese = ['encore'] + expected_volatile_statuese = ["encore"] + + self.assertEqual( + expected_volatile_statuese, self.battle.opponent.active.volatile_statuses + ) + + def test_substitute_gets_substitute_hit_flag_set_to_false(self): + self.battle.user.active.max_hp = 100 + self.battle.user.active.hp = 100 + + self.battle.opponent.active.hp = 100 + self.battle.user.active.hp = 100 + + messages = [ + "|move|p2a: Pikachu|Substitute|p2a: Pikachu", + "|-start|p2a: Pikachu|Substitute", + "|-damage|p2a: Pikachu|75/100", # damage from sub should not be caught + ] + + split_msg = messages[1].split("|") - self.assertEqual(expected_volatile_statuese, self.battle.opponent.active.volatile_statuses) + start_volatile_status(self.battle, split_msg) + self.assertFalse(self.battle.opponent.active.substitute_hit) def test_flashfire_sets_ability_on_opponent(self): - split_msg = ['', '-start', 'p2a: Caterpie', 'ability: Flash Fire'] + split_msg = ["", "-start", "p2a: Caterpie", "ability: Flash Fire"] start_volatile_status(self.battle, split_msg) - self.assertEqual('flashfire', self.battle.opponent.active.ability) + self.assertEqual("flashfire", self.battle.opponent.active.ability) def test_flashfire_sets_ability_on_bot(self): - split_msg = ['', '-start', 'p1a: Caterpie', 'ability: Flash Fire'] + split_msg = ["", "-start", "p1a: Caterpie", "ability: Flash Fire"] start_volatile_status(self.battle, split_msg) - self.assertEqual('flashfire', self.battle.user.active.ability) + self.assertEqual("flashfire", self.battle.user.active.ability) def test_volatile_status_is_set_on_user_pokemon(self): - split_msg = ['', '-start', 'p1a: Weedle', 'Encore'] + split_msg = ["", "-start", "p1a: Weedle", "Encore"] start_volatile_status(self.battle, split_msg) - expected_volatile_statuese = ['encore'] + expected_volatile_statuese = ["encore"] - self.assertEqual(expected_volatile_statuese, self.battle.user.active.volatile_statuses) + self.assertEqual( + expected_volatile_statuese, self.battle.user.active.volatile_statuses + ) def test_adds_volatile_status_from_move_string(self): - split_msg = ['', '-start', 'p1a: Weedle', 'move: Taunt'] + split_msg = ["", "-start", "p1a: Weedle", "move: Taunt"] start_volatile_status(self.battle, split_msg) - expected_volatile_statuese = ['taunt'] + expected_volatile_statuese = ["taunt"] - self.assertEqual(expected_volatile_statuese, self.battle.user.active.volatile_statuses) + self.assertEqual( + expected_volatile_statuese, self.battle.user.active.volatile_statuses + ) def test_does_not_add_the_same_volatile_status_twice(self): - self.battle.opponent.active.volatile_statuses = ['encore'] - split_msg = ['', '-start', 'p2a: Caterpie', 'Encore'] + self.battle.opponent.active.volatile_statuses = ["encore"] + split_msg = ["", "-start", "p2a: Caterpie", "Encore"] start_volatile_status(self.battle, split_msg) - expected_volatile_statuese = ['encore'] + expected_volatile_statuese = ["encore"] - self.assertEqual(expected_volatile_statuese, self.battle.opponent.active.volatile_statuses) + self.assertEqual( + expected_volatile_statuese, self.battle.opponent.active.volatile_statuses + ) def test_doubles_hp_when_dynamax_starts_for_opponent(self): - split_msg = ['', '-start', 'p2a: Caterpie', 'Dynamax'] + split_msg = ["", "-start", "p2a: Caterpie", "Dynamax"] hp, maxhp = self.battle.opponent.active.hp, self.battle.opponent.active.max_hp start_volatile_status(self.battle, split_msg) @@ -1313,7 +1988,7 @@ def test_doubles_hp_when_dynamax_starts_for_opponent(self): self.assertEqual(maxhp * 2, self.battle.opponent.active.max_hp) def test_doubles_hp_when_dynamax_starts_for_bot(self): - split_msg = ['', '-start', 'p1a: Caterpie', 'Dynamax'] + split_msg = ["", "-start", "p1a: Caterpie", "Dynamax"] hp, maxhp = self.battle.user.active.hp, self.battle.user.active.max_hp start_volatile_status(self.battle, split_msg) @@ -1321,144 +1996,196 @@ def test_doubles_hp_when_dynamax_starts_for_bot(self): self.assertEqual(maxhp * 2, self.battle.user.active.max_hp) def test_terastallize(self): - split_msg = ['', '-terastallize', 'p2a: Caterpie', 'Fire'] + split_msg = ["", "-terastallize", "p2a: Caterpie", "Fire"] terastallize(self.battle, split_msg) self.assertTrue(self.battle.opponent.active.terastallized) - def test_terastallize_sets_new_type(self): - split_msg = ['', '-terastallize', 'p2a: Caterpie', 'Fire'] + def test_terastallize_sets_tera_type(self): + split_msg = ["", "-terastallize", "p2a: Caterpie", "Fire"] terastallize(self.battle, split_msg) - self.assertEqual(["fire"], self.battle.opponent.active.types) + self.assertEqual("fire", self.battle.opponent.active.tera_type) def test_sets_ability(self): # |-start|p1a: Cinderace|typechange|Fighting|[from] ability: Libero - split_msg = ['', '-start', 'p2a: Cinderace', 'typechange', 'Fighting', '[from] ability: Libero'] + split_msg = [ + "", + "-start", + "p2a: Cinderace", + "typechange", + "Fighting", + "[from] ability: Libero", + ] start_volatile_status(self.battle, split_msg) - self.assertEqual('libero', self.battle.opponent.active.ability) + self.assertEqual("libero", self.battle.opponent.active.ability) def test_typechange_starts_volatilestatus(self): # |-start|p1a: Cinderace|typechange|Fighting|[from] ability: Libero - split_msg = ['', '-start', 'p2a: Cinderace', 'typechange', 'Fighting', '[from] ability: Libero'] + split_msg = [ + "", + "-start", + "p2a: Cinderace", + "typechange", + "Fighting", + "[from] ability: Libero", + ] + start_volatile_status(self.battle, split_msg) + + self.assertIn( + constants.TYPECHANGE, self.battle.opponent.active.volatile_statuses + ) + + def test_getting_confused_makes_lumberry_impossible(self): + split_msg = [ + "", + "-start", + "p2a: Cinderace", + "Confusion", + ] start_volatile_status(self.battle, split_msg) - self.assertIn(constants.TYPECHANGE, self.battle.opponent.active.volatile_statuses) + self.assertIn("lumberry", self.battle.opponent.active.impossible_items) + + def test_getting_confused_from_fatigue_removes_lockedmove(self): + self.battle.opponent.active.volatile_statuses.append("lockedmove") + split_msg = ["", "-start", "p2a: Cinderace", "Confusion", "[fatigue]"] + start_volatile_status(self.battle, split_msg) + + self.assertNotIn( + constants.LOCKED_MOVE, self.battle.opponent.active.volatile_statuses + ) def test_typechange_changes_the_type_of_the_user(self): # |-start|p1a: Cinderace|typechange|Fighting|[from] ability: Libero - split_msg = ['', '-start', 'p2a: Cinderace', 'typechange', 'Fighting', '[from] ability: Libero'] + split_msg = [ + "", + "-start", + "p2a: Cinderace", + "typechange", + "Fighting", + "[from] ability: Libero", + ] start_volatile_status(self.battle, split_msg) - self.assertEqual(['fighting'], self.battle.opponent.active.types) + self.assertEqual(["fighting"], self.battle.opponent.active.types) def test_typechange_works_with_reflect_type(self): # |-start|p1a: Starmie|typechange|[from] move: Reflect Type|[of] p2a: Dragapult - split_msg = ['', '-start', 'p2a: Starmie', 'typechange', '[from] move: Reflect Type', '[of] p1a: Dragapult'] + split_msg = [ + "", + "-start", + "p2a: Starmie", + "typechange", + "[from] move: Reflect Type", + "[of] p1a: Dragapult", + ] start_volatile_status(self.battle, split_msg) - self.assertEqual(['dragon', 'ghost'], self.battle.opponent.active.types) + self.assertEqual(["dragon", "ghost"], self.battle.opponent.active.types) def test_typechange_from_multiple_types(self): # |-start|p2a: Moltres|typechange|???/Flying|[from] move: Burn Up - split_msg = ['', '-start', 'p2a: Moltres', 'typechange', '???/Flying', '[from] move: Burn Up'] + split_msg = [ + "", + "-start", + "p2a: Moltres", + "typechange", + "???/Flying", + "[from] move: Burn Up", + ] start_volatile_status(self.battle, split_msg) - self.assertEqual(['???', 'flying'], self.battle.opponent.active.types) + self.assertEqual(["???", "flying"], self.battle.opponent.active.types) class TestEndVolatileStatus(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active def test_removes_volatile_status_from_opponent(self): - self.battle.opponent.active.volatile_statuses = ['encore'] - split_msg = ['', '-end', 'p2a: Caterpie', 'Encore'] + self.battle.opponent.active.volatile_statuses = ["encore"] + split_msg = ["", "-end", "p2a: Caterpie", "Encore"] end_volatile_status(self.battle, split_msg) expected_volatile_statuses = [] - self.assertEqual(expected_volatile_statuses, self.battle.opponent.active.volatile_statuses) + self.assertEqual( + expected_volatile_statuses, self.battle.opponent.active.volatile_statuses + ) def test_removes_volatile_status_from_user(self): - self.battle.user.active.volatile_statuses = ['encore'] - split_msg = ['', '-end', 'p1a: Weedle', 'Encore'] + self.battle.user.active.volatile_statuses = ["encore"] + split_msg = ["", "-end", "p1a: Weedle", "Encore"] end_volatile_status(self.battle, split_msg) expected_volatile_statuses = [] - self.assertEqual(expected_volatile_statuses, self.battle.user.active.volatile_statuses) + self.assertEqual( + expected_volatile_statuses, self.battle.user.active.volatile_statuses + ) def test_halves_opponent_hp_when_dynamax_ends(self): - self.battle.opponent.active.volatile_statuses = ['dynamax'] + self.battle.opponent.active.volatile_statuses = ["dynamax"] hp, maxhp = self.battle.opponent.active.hp, self.battle.opponent.active.max_hp - split_msg = ['', '-end', 'p2a: Weedle', 'Dynamax'] + split_msg = ["", "-end", "p2a: Weedle", "Dynamax"] end_volatile_status(self.battle, split_msg) - self.assertEqual(hp/2, self.battle.opponent.active.hp) - self.assertEqual(maxhp/2, self.battle.opponent.active.max_hp) + self.assertEqual(hp / 2, self.battle.opponent.active.hp) + self.assertEqual(maxhp / 2, self.battle.opponent.active.max_hp) def test_halves_bots_hp_when_dynamax_ends(self): - self.battle.user.active.volatile_statuses = ['dynamax'] + self.battle.user.active.volatile_statuses = ["dynamax"] hp, maxhp = self.battle.user.active.hp, self.battle.user.active.max_hp - split_msg = ['', '-end', 'p1a: Weedle', 'Dynamax'] + split_msg = ["", "-end", "p1a: Weedle", "Dynamax"] end_volatile_status(self.battle, split_msg) - self.assertEqual(hp/2, self.battle.user.active.hp) - self.assertEqual(maxhp/2, self.battle.user.active.max_hp) + self.assertEqual(hp / 2, self.battle.user.active.hp) + self.assertEqual(maxhp / 2, self.battle.user.active.max_hp) + + def test_ending_substitute_sets_substitute_hit_to_false(self): + self.battle.opponent.active.substitute_hit = True + + split_msg = ["", "-end", "p2a: Weedle", "Substitute"] + end_volatile_status(self.battle, split_msg) + self.assertFalse(self.battle.opponent.active.substitute_hit) class TestUpdateAbility(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active - def test_sets_ability_for_opponent(self): - split_msg = ['', '-immune', 'p2a: Caterpie', '[from] ability: Volt Absorb'] - set_ability(self.battle, split_msg) - - expected_ability = 'voltabsorb' - - self.assertEqual(expected_ability, self.battle.opponent.active.ability) - - def test_sets_ability_for_bot(self): - split_msg = ['', '-immune', 'p1a: Caterpie', '[from] ability: Volt Absorb'] - set_ability(self.battle, split_msg) - - expected_ability = 'voltabsorb' - - self.assertEqual(expected_ability, self.battle.user.active.ability) - def test_update_ability_from_ability_string_properly_updates_ability(self): - split_msg = ['', '-ability', 'p2a: Caterpie', 'Lightning Rod', 'boost'] + split_msg = ["", "-ability", "p2a: Caterpie", "Lightning Rod", "boost"] set_opponent_ability_from_ability_tag(self.battle, split_msg) - expected_ability = 'lightningrod' + expected_ability = "lightningrod" self.assertEqual(expected_ability, self.battle.opponent.active.ability) def test_update_ability_from_ability_string_properly_updates_ability_for_bot(self): - split_msg = ['', '-ability', 'p1a: Caterpie', 'Lightning Rod', 'boost'] + split_msg = ["", "-ability", "p1a: Caterpie", "Lightning Rod", "boost"] set_opponent_ability_from_ability_tag(self.battle, split_msg) - expected_ability = 'lightningrod' + expected_ability = "lightningrod" self.assertEqual(expected_ability, self.battle.user.active.ability) @@ -1466,14 +2193,14 @@ def test_update_ability_from_ability_string_properly_updates_ability_for_bot(sel class TestSwapSideConditions(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active def get_expected_empty_dict(self): @@ -1481,7 +2208,7 @@ def get_expected_empty_dict(self): return {k: 0 for k in constants.COURT_CHANGE_SWAPS} def test_does_nothing_when_no_side_conditions_are_present(self): - split_msg = ['', '-swapsideconditions'] + split_msg = ["", "-swapsideconditions"] swapsideconditions(self.battle, split_msg) expected_dict = self.get_expected_empty_dict() @@ -1490,7 +2217,7 @@ def test_does_nothing_when_no_side_conditions_are_present(self): self.assertEqual(expected_dict, self.battle.opponent.side_conditions) def test_swaps_one_layer_of_spikes(self): - split_msg = ['', '-swapsideconditions'] + split_msg = ["", "-swapsideconditions"] self.battle.user.side_conditions[constants.SPIKES] = 1 @@ -1501,11 +2228,15 @@ def test_swaps_one_layer_of_spikes(self): expected_opponent_side_conditions = self.get_expected_empty_dict() expected_opponent_side_conditions[constants.SPIKES] = 1 - self.assertEqual(expected_user_side_conditions, self.battle.user.side_conditions) - self.assertEqual(expected_opponent_side_conditions, self.battle.opponent.side_conditions) + self.assertEqual( + expected_user_side_conditions, self.battle.user.side_conditions + ) + self.assertEqual( + expected_opponent_side_conditions, self.battle.opponent.side_conditions + ) def test_swaps_one_layer_of_spikes_with_two_layers_of_spikes(self): - split_msg = ['', '-swapsideconditions'] + split_msg = ["", "-swapsideconditions"] self.battle.user.side_conditions[constants.SPIKES] = 2 self.battle.opponent.side_conditions[constants.SPIKES] = 1 @@ -1518,11 +2249,15 @@ def test_swaps_one_layer_of_spikes_with_two_layers_of_spikes(self): expected_opponent_side_conditions = self.get_expected_empty_dict() expected_opponent_side_conditions[constants.SPIKES] = 2 - self.assertEqual(expected_user_side_conditions, self.battle.user.side_conditions) - self.assertEqual(expected_opponent_side_conditions, self.battle.opponent.side_conditions) + self.assertEqual( + expected_user_side_conditions, self.battle.user.side_conditions + ) + self.assertEqual( + expected_opponent_side_conditions, self.battle.opponent.side_conditions + ) def test_swaps_multiple_side_conditions_on_either_side(self): - split_msg = ['', '-swapsideconditions'] + split_msg = ["", "-swapsideconditions"] self.battle.user.side_conditions[constants.SPIKES] = 2 self.battle.user.side_conditions[constants.REFLECT] = 3 @@ -1542,93 +2277,282 @@ def test_swaps_multiple_side_conditions_on_either_side(self): expected_opponent_side_conditions[constants.REFLECT] = 3 expected_opponent_side_conditions[constants.TAILWIND] = 2 - self.assertEqual(expected_user_side_conditions, self.battle.user.side_conditions) - self.assertEqual(expected_opponent_side_conditions, self.battle.opponent.side_conditions) + self.assertEqual( + expected_user_side_conditions, self.battle.user.side_conditions + ) + self.assertEqual( + expected_opponent_side_conditions, self.battle.opponent.side_conditions + ) + + +class TestIllusionEnd(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + self.battle.opponent.active.ability = None + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + def test_zoroark_is_switched_in_pkmn(self): + self.battle.opponent.active = Pokemon("meloetta", 100) + self.battle.opponent.reserve = [] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L82, M"] + illusion_end(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.opponent.active.name) + + def test_zoroark_disguising_as_pokemon_results_in_that_pkmn_in_reserve( + self, + ): + """ + Weirdly worded test, but basically: + + If Zoroark was disguised as a previously unseen pkmn, that pkmn should be in the reserve + Normally theres some fuckery around levels but PokemonShowdown has Illusion Level Mod + """ + self.battle.opponent.active = Pokemon("meloetta", 100) + self.battle.opponent.reserve = [] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L82, M"] + illusion_end(self.battle, split_msg) + + self.assertEqual([Pokemon("meloetta", 100)], self.battle.opponent.reserve) + + def test_moves_used_while_disguised_are_associated_with_zoroark( + self, + ): + """ + zoroark (disguised as meloetta) used focusblast and flamethrower since it switched in + meloetta previously had hypervoice revealed + zoroark previously had flamethrower and nastysplot revealed + + illusion ending in this scenario should apply focusblast to zoroark since that is the + un-revealed zoroark move. meloetta should have focusblast and flamethrower removed + """ + meloetta = Pokemon("meloetta", 100) + meloetta.moves = [ + Move("focusblast"), + Move("flamethrower"), + Move("hypervoice"), + ] + meloetta.moves_used_since_switch_in = ["focusblast", "flamethrower"] + zoroark = Pokemon("zoroark", 82) + zoroark.moves = [ + Move("flamethrower"), + Move("nastyplot"), + ] + self.battle.opponent.active = meloetta + self.battle.opponent.reserve = [zoroark] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L82, M"] + illusion_end(self.battle, split_msg) + + self.assertEqual(Pokemon("zoroark", 82), self.battle.opponent.active) + self.assertEqual([Pokemon("meloetta", 100)], self.battle.opponent.reserve) + self.assertEqual([Move("hypervoice")], meloetta.moves) + self.assertEqual( + [Move("flamethrower"), Move("nastyplot"), Move("focusblast")], zoroark.moves + ) + + def test_moves_used_while_disguised_are_associated_with_previously_nonexistent_zoroark( + self, + ): + meloetta = Pokemon("meloetta", 100) + meloetta.moves = [ + Move("focusblast"), + Move("flamethrower"), + Move("hypervoice"), + ] + meloetta.moves_used_since_switch_in = ["focusblast", "flamethrower"] + self.battle.opponent.active = meloetta + self.battle.opponent.reserve = [] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L82, M"] + illusion_end(self.battle, split_msg) + + self.assertEqual(Pokemon("zoroark", 82), self.battle.opponent.active) + self.assertEqual([Pokemon("meloetta", 100)], self.battle.opponent.reserve) + self.assertEqual([Move("hypervoice")], meloetta.moves) + self.assertEqual( + [Move("focusblast"), Move("flamethrower")], + self.battle.opponent.active.moves, + ) + + def test_removes_zoroark_from_reserve_if_it_is_in_there(self): + zoroark = Pokemon("zoroark", 82) + self.battle.opponent.active = Pokemon("meloetta", 100) + self.battle.opponent.reserve = [zoroark] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L82, M"] + illusion_end(self.battle, split_msg) + + self.assertNotIn(zoroark, self.battle.opponent.reserve) + + def test_does_not_set_base_name_for_illusion_ending(self): + self.battle.opponent.active = Pokemon("meloetta", 100) + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L84, F"] + illusion_end(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.opponent.active.base_name) + + def test_pulls_zoroark_out_of_reserves_if_it_is_in_there(self): + self.battle.opponent.active = Pokemon("meloetta", 100) + zoroark = Pokemon("zoroark", 100) + zoroark.moves = [ + Move("flamethrower"), + Move("nastyplot"), + Move("focusblast"), + Move("darkpulse"), + ] + self.battle.opponent.reserve = [zoroark] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, F"] + illusion_end(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.opponent.active.base_name) + self.assertEqual(4, len(self.battle.opponent.active.moves)) + + def test_does_nothing_if_zoroark_was_already_active_pkmn(self): + """ + Logically this seems impossible but the client has places where it tries to infer a + zoroark based events that happen before the zoroark is revealed. If that was done + the zoroark would've been set as the active pkmn and the illusion ending event should + do nothing + """ + self.battle.opponent.active = Pokemon("zoroark", 100) + self.battle.opponent.active.zoroark_disguised_as = "meloetta" + self.battle.opponent.active.moves = [ + Move("flamethrower"), + Move("nastyplot"), + Move("focusblast"), + Move("darkpulse"), + ] + self.battle.opponent.reserve = [Pokemon("meloetta", 100)] + split_msg = ["", "replace", "p2a: Zoroark", "Zoroark, L84, F"] + illusion_end(self.battle, split_msg) + + self.assertEqual("zoroark", self.battle.opponent.active.base_name) + self.assertEqual("meloetta", self.battle.opponent.active.zoroark_disguised_as) + self.assertEqual("meloetta", self.battle.opponent.reserve[0].name) + self.assertEqual(4, len(self.battle.opponent.active.moves)) class TestFormChange(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active def test_changes_with_formechange_message(self): - self.battle.opponent.active = Pokemon('meloetta', 100) - split_msg = ['', '-formechange', 'p2a: Meloetta', 'Meloetta - Pirouette', '[msg]'] + self.battle.opponent.active = Pokemon("meloetta", 100) + split_msg = [ + "", + "-formechange", + "p2a: Meloetta", + "Meloetta - Pirouette", + "[msg]", + ] form_change(self.battle, split_msg) - self.assertEqual('meloettapirouette', self.battle.opponent.active.name) + self.assertEqual("meloettapirouette", self.battle.opponent.active.name) def test_preserves_boosts(self): - self.battle.opponent.active = Pokemon('meloetta', 100) - self.battle.opponent.active.boosts = { - constants.ATTACK: 2 - } - split_msg = ['', '-formechange', 'p2a: Meloetta', 'Meloetta - Pirouette', '[msg]'] + self.battle.opponent.active = Pokemon("meloetta", 100) + self.battle.opponent.active.boosts = {constants.ATTACK: 2} + split_msg = [ + "", + "-formechange", + "p2a: Meloetta", + "Meloetta - Pirouette", + "[msg]", + ] form_change(self.battle, split_msg) self.assertEqual(2, self.battle.opponent.active.boosts[constants.ATTACK]) def test_preserves_status(self): - self.battle.opponent.active = Pokemon('meloetta', 100) + self.battle.opponent.active = Pokemon("meloetta", 100) self.battle.opponent.active.status = constants.BURN - split_msg = ['', '-formechange', 'p2a: Meloetta', 'Meloetta - Pirouette', '[msg]'] + split_msg = [ + "", + "-formechange", + "p2a: Meloetta", + "Meloetta - Pirouette", + "[msg]", + ] form_change(self.battle, split_msg) self.assertEqual(constants.BURN, self.battle.opponent.active.status) def test_preserves_item(self): - self.battle.opponent.active = Pokemon('aegislash', 100) - self.battle.opponent.active.item = 'airballoon' - split_msg = ['', '-formechange', 'p2a: Aegislash', 'Aegislash-Blade', '[from] ability: Stance Change'] + self.battle.opponent.active = Pokemon("aegislash", 100) + self.battle.opponent.active.item = "airballoon" + split_msg = [ + "", + "-formechange", + "p2a: Aegislash", + "Aegislash-Blade", + "[from] ability: Stance Change", + ] form_change(self.battle, split_msg) - self.assertEqual('airballoon', self.battle.opponent.active.item) + self.assertEqual("airballoon", self.battle.opponent.active.item) def test_preserves_base_name_when_form_changes(self): - self.battle.opponent.active = Pokemon('meloetta', 100) - split_msg = ['', '-formechange', 'p2a: Meloetta', 'Meloetta - Pirouette', '[msg]'] - form_change(self.battle, split_msg) - - self.assertEqual('meloetta', self.battle.opponent.active.base_name) - - def test_removes_pokemon_from_reserve_if_it_is_in_there(self): - zoroark = Pokemon('zoroark', 82) - self.battle.opponent.active = Pokemon('meloetta', 100) - self.battle.opponent.reserve = [zoroark] - split_msg = ['', '-replace', 'p2a: Zoroark', 'Zoroark, L82, M'] - form_change(self.battle, split_msg) - - self.assertNotIn(zoroark, self.battle.opponent.reserve) - - def test_does_not_set_base_name_for_illusion_ending(self): - self.battle.opponent.active = Pokemon('meloetta', 100) - split_msg = ['', 'replace', 'p2a: Zoroark', 'Zoroark, L84, F'] + self.battle.opponent.active = Pokemon("meloetta", 100) + split_msg = [ + "", + "-formechange", + "p2a: Meloetta", + "Meloetta - Pirouette", + "[msg]", + ] form_change(self.battle, split_msg) - self.assertEqual('zoroark', self.battle.opponent.active.base_name) + self.assertEqual("meloetta", self.battle.opponent.active.base_name) def test_multiple_forme_changes_does_not_ruin_base_name(self): - self.battle.user.active = Pokemon('pikachu', 100) - self.battle.opponent.active = Pokemon('pikachu', 100) + self.battle.user.active = Pokemon("pikachu", 100) + self.battle.opponent.active = Pokemon("pikachu", 100) self.battle.opponent.reserve = [] - self.battle.opponent.reserve.append(Pokemon('wishiwashi', 100)) - - m1 = ['', 'switch', 'p2a: Wishiwashi', 'Wishiwashi, L100, M', '100/100'] - m2 = ['', '-formechange', 'p2a: Wishiwashi', 'Wishiwashi-School', '', '[from] ability: Schooling'] - m3 = ['', 'switch', 'p2a: Pikachu', 'Pikachu, L100, M', '100/100'] - m4 = ['', 'switch', 'p2a: Wishiwashi', 'Wishiwashi, L100, M', '100/100'] - m5 = ['', '-formechange', 'p2a: Wishiwashi', 'Wishiwashi-School', '', '[from] ability: Schooling'] - m6 = ['', 'switch', 'p2a: Pikachu', 'Pikachu, L100, M', '100/100'] - m7 = ['', 'switch', 'p2a: Wishiwashi', 'Wishiwashi, L100, M', '100/100'] - m8 = ['', '-formechange', 'p2a: Wishiwashi', 'Wishiwashi-School', '', '[from] ability: Schooling'] + self.battle.opponent.reserve.append(Pokemon("wishiwashi", 100)) + + m1 = ["", "switch", "p2a: Wishiwashi", "Wishiwashi, L100, M", "100/100"] + m2 = [ + "", + "-formechange", + "p2a: Wishiwashi", + "Wishiwashi-School", + "", + "[from] ability: Schooling", + ] + m3 = ["", "switch", "p2a: Pikachu", "Pikachu, L100, M", "100/100"] + m4 = ["", "switch", "p2a: Wishiwashi", "Wishiwashi, L100, M", "100/100"] + m5 = [ + "", + "-formechange", + "p2a: Wishiwashi", + "Wishiwashi-School", + "", + "[from] ability: Schooling", + ] + m6 = ["", "switch", "p2a: Pikachu", "Pikachu, L100, M", "100/100"] + m7 = ["", "switch", "p2a: Wishiwashi", "Wishiwashi, L100, M", "100/100"] + m8 = [ + "", + "-formechange", + "p2a: Wishiwashi", + "Wishiwashi-School", + "", + "[from] ability: Schooling", + ] switch_or_drag(self.battle, m1) form_change(self.battle, m2) @@ -1646,40 +2570,33 @@ def test_multiple_forme_changes_does_not_ruin_base_name(self): class TestClearNegativeBoost(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active def test_clears_negative_boosts(self): - self.battle.opponent.active.boosts = { - constants.ATTACK: -1 - } - split_msg = ['-clearnegativeboost', 'p2a: caterpie', '[silent]'] + self.battle.opponent.active.boosts = {constants.ATTACK: -1} + split_msg = ["-clearnegativeboost", "p2a: caterpie", "[silent]"] clearnegativeboost(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.active.boosts[constants.ATTACK]) def test_clears_multiple_negative_boosts(self): - self.battle.opponent.active.boosts = { - constants.ATTACK: -1, - constants.SPEED: -1 - } - split_msg = ['-clearnegativeboost', 'p2a: caterpie', '[silent]'] + self.battle.opponent.active.boosts = {constants.ATTACK: -1, constants.SPEED: -1} + split_msg = ["-clearnegativeboost", "p2a: caterpie", "[silent]"] clearnegativeboost(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.active.boosts[constants.ATTACK]) self.assertEqual(0, self.battle.opponent.active.boosts[constants.SPEED]) def test_does_not_clear_positive_boost(self): - self.battle.opponent.active.boosts = { - constants.ATTACK: 1 - } - split_msg = ['-clearnegativeboost', 'p2a: caterpie', '[silent]'] + self.battle.opponent.active.boosts = {constants.ATTACK: 1} + split_msg = ["-clearnegativeboost", "p2a: caterpie", "[silent]"] clearnegativeboost(self.battle, split_msg) self.assertEqual(1, self.battle.opponent.active.boosts[constants.ATTACK]) @@ -1690,9 +2607,9 @@ def test_clears_only_negative_boosts(self): constants.SPECIAL_ATTACK: 1, constants.SPEED: 1, constants.DEFENSE: -1, - constants.SPECIAL_DEFENSE: -1 + constants.SPECIAL_DEFENSE: -1, } - split_msg = ['-clearnegativeboost', 'p2a: caterpie', '[silent]'] + split_msg = ["-clearnegativeboost", "p2a: caterpie", "[silent]"] clearnegativeboost(self.battle, split_msg) expected_boosts = { @@ -1700,23 +2617,58 @@ def test_clears_only_negative_boosts(self): constants.SPECIAL_ATTACK: 1, constants.SPEED: 1, constants.DEFENSE: 0, - constants.SPECIAL_DEFENSE: 0 + constants.SPECIAL_DEFENSE: 0, } self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) +class TestClearBoost(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + + def test_clears_boost(self): + self.battle.opponent.active.boosts = {constants.ATTACK: 2} + split_msg = ["-clearboost", "p2a: caterpie", "[silent]"] + clearboost(self.battle, split_msg) + + self.assertEqual(0, self.battle.opponent.active.boosts[constants.ATTACK]) + + def test_clears_multiple_boosts(self): + self.battle.opponent.active.boosts = { + constants.ATTACK: 2, + constants.SPEED: 1, + constants.SPECIAL_ATTACK: -3, + } + split_msg = ["-clearboost", "p2a: caterpie", "[silent]"] + clearboost(self.battle, split_msg) + + self.assertEqual(0, self.battle.opponent.active.boosts[constants.ATTACK]) + self.assertEqual( + 0, self.battle.opponent.active.boosts[constants.SPECIAL_ATTACK] + ) + self.assertEqual(0, self.battle.opponent.active.boosts[constants.SPEED]) + + class TestZPower(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active self.username = "CoolUsername" @@ -1724,14 +2676,14 @@ def setUp(self): self.battle.username = self.username def test_sets_item_to_none(self): - split_msg = ['', '-zpower', 'p2a: Pkmn'] + split_msg = ["", "-zpower", "p2a: Pkmn"] self.battle.opponent.active.item = "some_item" zpower(self.battle, split_msg) self.assertEqual(None, self.battle.opponent.active.item) def test_does_not_set_item_when_the_bot_moves(self): - split_msg = ['', '-zpower', 'p1a: Pkmn'] + split_msg = ["", "-zpower", "p1a: Pkmn"] self.battle.opponent.active.item = "some_item" zpower(self.battle, split_msg) @@ -1741,14 +2693,14 @@ def test_does_not_set_item_when_the_bot_moves(self): class TestSingleTurn(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active self.username = "CoolUsername" @@ -1756,281 +2708,152 @@ def setUp(self): self.battle.username = self.username def test_sets_protect_side_condition_for_opponent_when_used(self): - split_msg = ['', '-singleturn', 'p2a: Caterpie', 'Protect'] + split_msg = ["", "-singleturn", "p2a: Caterpie", "Protect"] singleturn(self.battle, split_msg) self.assertEqual(2, self.battle.opponent.side_conditions[constants.PROTECT]) def test_does_not_set_for_non_protect_move(self): - split_msg = ['', '-singleturn', 'p2a: Caterpie', 'Roost'] + split_msg = ["", "-singleturn", "p2a: Caterpie", "Roost"] singleturn(self.battle, split_msg) self.assertEqual(0, self.battle.opponent.side_conditions[constants.PROTECT]) def test_sets_protect_side_condition_for_bot_when_used(self): - split_msg = ['', '-singleturn', 'p1a: Weedle', 'Protect'] + split_msg = ["", "-singleturn", "p1a: Weedle", "Protect"] singleturn(self.battle, split_msg) self.assertEqual(2, self.battle.user.side_conditions[constants.PROTECT]) def test_sets_protect_side_condition_when_prefixed_by_move(self): - split_msg = ['', '-singleturn', 'p2a: Caterpie', 'move: Protect'] - singleturn(self.battle, split_msg) - - self.assertEqual(2, self.battle.opponent.side_conditions[constants.PROTECT]) - - -class TestTransform(unittest.TestCase): - def setUp(self): - self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' - - self.opponent_active = Pokemon('Ditto', 100) - self.battle.opponent.active = self.opponent_active - - self.user_active = Pokemon('weedle', 100) - self.battle.user.active = self.user_active - - self.username = "CoolUsername" - - self.battle.username = self.username - - self.user_active_stats = { - "atk": 103, - "def": 214, - "spa": 118, - "spd": 132, - "spe": 132 - } - self.user_active_ability = "levitate" - self.user_active_moves = [ - "dracometeor", - "darkpulse", - "flashcannon", - "fireblast" - ] - self.request_json = { - "active": [ - { - "moves": [ - { - "move": "Draco Meteor", - "id": "dracometeor", - "pp": 5, - "maxpp": 5, - "target": "normal", - "disabled": False - }, - { - "move": "Dark Pulse", - "id": "darkpulse", - "pp": 5, - "maxpp": 5, - "target": "any", - "disabled": False - }, - { - "move": "Flash Cannon", - "id": "flashcannon", - "pp": 5, - "maxpp": 5, - "target": "normal", - "disabled": False - }, - { - "move": "Fire Blast", - "id": "fireblast", - "pp": 5, - "maxpp": 5, - "target": "normal", - "disabled": False - } - ], - "canDynamax": True, - "maxMoves": { - "maxMoves": [ - { - "move": "maxwyrmwind", - "target": "adjacentFoe" - }, - { - "move": "maxdarkness", - "target": "adjacentFoe" - }, - { - "move": "maxsteelspike", - "target": "adjacentFoe" - }, - { - "move": "maxflare", - "target": "adjacentFoe" - } - ] - } - } - ], - "side": { - "name": "BigBluePikachu", - "id": "p2", - "pokemon": [ - { - "ident": "p1: Weedle", - "details": "Weedle", - "condition": "299/299", - "active": True, - "stats": self.user_active_stats, - "moves": self.user_active_moves, - "baseAbility": self.user_active_ability, - "item": "choicescarf", - "pokeball": "pokeball", - "ability": self.user_active_ability - }, - { - "ident": "p1: Charmander", - "details": "Charmander", - "condition": "299/299", - "active": False, - "stats": { - "atk": 1, - "def": 2, - "spa": 3, - "spd": 4, - "spe": 5 - }, - "moves": [ - "flamethrower", - "firespin", - "scratch", - "growl" - ], - "baseAbility": "blaze", - "item": "sitrusberry", - "pokeball": "pokeball", - "ability": "blaze" - } - ] - } - } - - self.battle.request_json = self.request_json - - def test_transform_into_switching_pokemon_properly_copies_the_pokemon_that_was_in_before_the_switch(self): - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Charmander', '[from] ability: Imposter'] - - expected_stats = { - constants.ATTACK: 1, - constants.DEFENSE: 2, - constants.SPECIAL_ATTACK: 3, - constants.SPECIAL_DEFENSE: 4, - constants.SPEED: 5 - } - - expected_boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 2, - constants.SPECIAL_ATTACK: 3, - constants.SPECIAL_DEFENSE: 4, - constants.SPEED: 5, - } - - expected_ability = 'blaze' - expected_moves = [ - Move('flamethrower'), - Move('firespin'), - Move('scratch'), - Move('growl') - ] - expected_types = [ - 'fire' - ] - - # the charmander is active when the switch occurs - # the charmander pokemon from the request json should be used for stats - self.battle.user.active = Pokemon('Charmander', 100) - self.battle.user.active.moves = expected_moves - self.battle.user.active.boosts = expected_boosts - self.battle.user.reserve = [ - Pokemon('Weedle', 100) - ] - - transform(self.battle, split_msg) - - self.assertEqual(expected_stats, self.battle.opponent.active.stats) - self.assertEqual(expected_ability, self.battle.opponent.active.ability) - self.assertEqual(expected_moves, self.battle.opponent.active.moves) - self.assertEqual(expected_types, self.battle.opponent.active.types) - self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) - - def test_pokemon_with_nicknames_transform_properly(self): - split_msg = ['', '-transform', 'p2a: SomeNickname', 'p1a: SomeOtherNickname', '[from] ability: Imposter'] - - expected_stats = { - constants.ATTACK: 1, - constants.DEFENSE: 2, - constants.SPECIAL_ATTACK: 3, - constants.SPECIAL_DEFENSE: 4, - constants.SPEED: 5 - } + split_msg = ["", "-singleturn", "p2a: Caterpie", "move: Protect"] + singleturn(self.battle, split_msg) - expected_boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 2, - constants.SPECIAL_ATTACK: 3, - constants.SPECIAL_DEFENSE: 4, - constants.SPEED: 5, - } + self.assertEqual(2, self.battle.opponent.side_conditions[constants.PROTECT]) - expected_ability = 'blaze' - expected_moves = [ - Move('flamethrower'), - Move('firespin'), - Move('scratch'), - Move('growl') - ] - expected_types = [ - 'fire' - ] - # the charmander is active when the switch occurs - # the charmander pokemon from the request json should be used for stats - self.battle.user.active = Pokemon('Charmander', 100) - self.battle.user.active.moves = expected_moves - self.battle.user.active.boosts = expected_boosts - self.battle.user.reserve = [ - Pokemon('Weedle', 100) - ] +class TestTransform(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - transform(self.battle, split_msg) + self.opponent_active = Pokemon("Ditto", 100) + self.battle.opponent.active = self.opponent_active - self.assertEqual(expected_stats, self.battle.opponent.active.stats) - self.assertEqual(expected_ability, self.battle.opponent.active.ability) - self.assertEqual(expected_moves, self.battle.opponent.active.moves) - self.assertEqual(expected_types, self.battle.opponent.active.types) - self.assertEqual(expected_boosts, self.battle.opponent.active.boosts) + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active - def test_transform_sets_stats_to_opposing_pokemons_stats(self): - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] + self.username = "CoolUsername" - if self.battle.user.active.stats == self.battle.opponent.active.stats: - self.fail("Stats were equal before transform") + self.battle.username = self.username - expected_stats = { - constants.ATTACK: 103, - constants.DEFENSE: 214, - constants.SPECIAL_ATTACK: 118, - constants.SPECIAL_DEFENSE: 132, - constants.SPEED: 132 + self.user_active_stats = { + "atk": 103, + "def": 214, + "spa": 118, + "spd": 132, + "spe": 132, + } + self.user_active_ability = "levitate" + self.user_active_moves = [ + "dracometeor", + "darkpulse", + "flashcannon", + "fireblast", + ] + self.request_json = { + "active": [ + { + "moves": [ + { + "move": "Draco Meteor", + "id": "dracometeor", + "pp": 5, + "maxpp": 5, + "target": "normal", + "disabled": False, + }, + { + "move": "Dark Pulse", + "id": "darkpulse", + "pp": 5, + "maxpp": 5, + "target": "any", + "disabled": False, + }, + { + "move": "Flash Cannon", + "id": "flashcannon", + "pp": 5, + "maxpp": 5, + "target": "normal", + "disabled": False, + }, + { + "move": "Fire Blast", + "id": "fireblast", + "pp": 5, + "maxpp": 5, + "target": "normal", + "disabled": False, + }, + ], + "canDynamax": True, + "maxMoves": { + "maxMoves": [ + {"move": "maxwyrmwind", "target": "adjacentFoe"}, + {"move": "maxdarkness", "target": "adjacentFoe"}, + {"move": "maxsteelspike", "target": "adjacentFoe"}, + {"move": "maxflare", "target": "adjacentFoe"}, + ] + }, + } + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p1: Weedle", + "details": "Weedle", + "condition": "299/299", + "active": True, + "stats": self.user_active_stats, + "moves": self.user_active_moves, + "baseAbility": self.user_active_ability, + "item": "choicescarf", + "pokeball": "pokeball", + "ability": self.user_active_ability, + }, + { + "ident": "p1: Charmander", + "details": "Charmander", + "condition": "299/299", + "active": False, + "stats": {"atk": 1, "def": 2, "spa": 3, "spd": 4, "spe": 5}, + "moves": ["flamethrower", "firespin", "scratch", "growl"], + "baseAbility": "blaze", + "item": "sitrusberry", + "pokeball": "pokeball", + "ability": "blaze", + }, + ], + }, } - transform(self.battle, split_msg) - - self.assertEqual(expected_stats, self.battle.opponent.active.stats) + self.battle.request_json = self.request_json def test_transform_sets_ability_to_opposing_pokemons_ability(self): self.battle.user.active.ability = self.user_active_ability self.battle.opponent.active.ability = None - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] + split_msg = [ + "", + "-transform", + "p2a: Ditto", + "p1a: Weedle", + "[from] ability: Imposter", + ] if self.battle.user.active.ability == self.battle.opponent.active.ability: self.fail("Abilities were equal before transform") @@ -2041,127 +2864,275 @@ def test_transform_sets_ability_to_opposing_pokemons_ability(self): def test_transform_sets_moves_to_opposing_pokemons_moves(self): self.battle.user.active.moves = [ - Move('dracometeor'), - Move('darkpulse'), - Move('flashcannon'), - Move('fireblast'), + Move("dracometeor"), + Move("darkpulse"), + Move("flashcannon"), + Move("fireblast"), + ] + split_msg = [ + "", + "-transform", + "p2a: Ditto", + "p1a: Weedle", + "[from] ability: Imposter", ] - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] if self.battle.user.active.moves == self.battle.opponent.active.moves: self.fail("Moves were equal before transform") transform(self.battle, split_msg) - self.assertEqual(self.battle.user.active.moves, self.battle.opponent.active.moves) + self.assertEqual( + self.battle.user.active.moves, self.battle.opponent.active.moves + ) def test_transform_sets_types_to_opposing_pokemons_types(self): - self.battle.user.active.moves = ['flying', 'dragon'] - self.battle.opponent.active.moves = ['normal'] - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] + self.battle.user.active.types = ["flying", "dragon"] + self.battle.opponent.active.types = ["normal"] + split_msg = [ + "", + "-transform", + "p2a: Ditto", + "p1a: Weedle", + "[from] ability: Imposter", + ] transform(self.battle, split_msg) - self.assertEqual(self.battle.user.active.types, self.battle.opponent.active.types) + self.assertEqual( + self.battle.user.active.types, self.battle.opponent.active.types + ) def test_transform_sets_boosts_to_opposing_pokemons_boosts(self): - self.battle.user.active.boosts = defaultdict(lambda: 0, { - constants.ATTACK: 1, - constants.DEFENSE: 2, - constants.SPECIAL_ATTACK: 3, - constants.SPECIAL_DEFENSE: 4, - constants.SPEED: 5, - }) + self.battle.user.active.boosts = defaultdict( + lambda: 0, + { + constants.ATTACK: 1, + constants.DEFENSE: 2, + constants.SPECIAL_ATTACK: 3, + constants.SPECIAL_DEFENSE: 4, + constants.SPEED: 5, + }, + ) self.battle.opponent.active.boosts = {} - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] + split_msg = [ + "", + "-transform", + "p2a: Ditto", + "p1a: Weedle", + "[from] ability: Imposter", + ] transform(self.battle, split_msg) - self.assertEqual(self.battle.user.active.boosts, self.battle.opponent.active.boosts) + self.assertEqual( + self.battle.user.active.boosts, self.battle.opponent.active.boosts + ) def test_transform_sets_transform_volatile_status(self): self.battle.user.active.volatile_statuses = [] - split_msg = ['', '-transform', 'p2a: Ditto', 'p1a: Weedle', '[from] ability: Imposter'] + split_msg = [ + "", + "-transform", + "p2a: Ditto", + "p1a: Weedle", + "[from] ability: Imposter", + ] transform(self.battle, split_msg) - self.assertIn(constants.TRANSFORM, self.battle.opponent.active.volatile_statuses) + self.assertIn( + constants.TRANSFORM, self.battle.opponent.active.volatile_statuses + ) + + +class TestCant(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + def test_increments_sleep_turns_when_cant_from_sleep(self): + self.battle.user.active.sleep_turns = 0 + self.battle.user.active.status = constants.SLEEP + cant(self.battle, ["", "-cant", "p1a: Weedle", "slp"]) + self.assertEqual(1, self.battle.user.active.sleep_turns) + + def test_removes_truant_when_cant_from_truant(self): + self.battle.user.active.sleep_turns = 0 + self.battle.user.active.volatile_statuses.append("truant") + cant(self.battle, ["", "-cant", "p1a: Slaking", "ability: Truant"]) + self.assertNotIn("truant", self.battle.user.active.volatile_statuses) + + def test_removes_mustrecharge_when_cant_from_recharge(self): + self.battle.user.active.sleep_turns = 0 + self.battle.user.active.volatile_statuses.append("mustrecharge") + cant(self.battle, ["", "-cant", "p1a: Slaking", "recharge"]) + self.assertNotIn("mustrecharge", self.battle.user.active.volatile_statuses) + + def test_only_decrements_rest_turns_when_cant_from_sleep_with_a_rest_turn(self): + self.battle.user.active.sleep_turns = 0 + self.battle.user.active.rest_turns = 3 + self.battle.user.active.status = constants.SLEEP + cant(self.battle, ["", "-cant", "p1a: Weedle", "slp"]) + self.assertEqual(0, self.battle.user.active.sleep_turns) + self.assertEqual(2, self.battle.user.active.rest_turns) class TestUpkeep(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active + def test_resets_sleep_turns_to_zero_after_not_using_sleeptalk(self): + self.battle.generation = "gen3" + self.battle.user.active.status = constants.SLEEP + self.battle.user.active.gen_3_consecutive_sleep_talks = 1 + + cant(self.battle, ["", "-cant", "p1a: Weedle", "slp"]) + upkeep(self.battle, "") + + self.assertEqual(0, self.battle.user.active.gen_3_consecutive_sleep_talks) + + def test_does_not_reset_sleep_turns_when_sleeptalk_used(self): + self.battle.generation = "gen3" + self.battle.user.active.status = constants.SLEEP + self.battle.user.active.gen_3_consecutive_sleep_talks = 1 + + cant(self.battle, ["", "-cant", "p1a: Weedle", "slp"]) + move(self.battle, ["", "move", "p1a: Weedle", "Sleeptalk"]) + move(self.battle, ["", "move", "p1a: Weedle", "Tackle", "[from]Sleep Talk"]) + upkeep(self.battle, "") + + self.assertEqual(2, self.battle.user.active.gen_3_consecutive_sleep_talks) + self.assertEqual("sleeptalk", self.battle.user.last_used_move.move) + + def test_swaps_out_yawn_for_yawnSleepThisTurn(self): + self.battle.user.active.volatile_statuses.append(constants.YAWN_SLEEP_THIS_TURN) + upkeep(self.battle, "") + self.assertNotIn( + constants.YAWN_SLEEP_THIS_TURN, self.battle.user.active.volatile_statuses + ) + + def test_decrements_trickroom_in_upkeep(self): + self.battle.trick_room = True + self.battle.trick_room_turns_remaining = 5 + upkeep(self.battle, "") + self.assertEqual(4, self.battle.trick_room_turns_remaining) + + def test_swaps_out_yawn_for_yawnSleepThisTurn_opponent(self): + self.battle.opponent.active.volatile_statuses.append( + constants.YAWN_SLEEP_THIS_TURN + ) + upkeep(self.battle, "") + self.assertNotIn( + constants.YAWN_SLEEP_THIS_TURN, + self.battle.opponent.active.volatile_statuses, + ) + + def test_removes_yawnSleepNextTurn(self): + self.battle.user.active.volatile_statuses.append(constants.YAWN) + upkeep(self.battle, "") + self.assertIn( + constants.YAWN_SLEEP_THIS_TURN, self.battle.user.active.volatile_statuses + ) + self.assertNotIn(constants.YAWN, self.battle.user.active.volatile_statuses) + def test_reduces_protect_for_bot(self): self.battle.user.side_conditions[constants.PROTECT] = 1 - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.side_conditions[constants.PROTECT], 0) def test_does_not_reduce_protect_when_it_is_0(self): self.battle.user.side_conditions[constants.PROTECT] = 0 - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.side_conditions[constants.PROTECT], 0) def test_reduces_wish_if_it_is_larger_than_0_for_the_opponent(self): self.battle.opponent.wish = (2, 100) - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.opponent.wish, (1, 100)) def test_reduces_wish_if_it_is_larger_than_0_for_the_bot(self): self.battle.user.wish = (2, 100) - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.wish, (1, 100)) def test_does_not_reduce_wish_if_it_is_0(self): self.battle.user.wish = (0, 100) - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.wish, (0, 100)) def test_reduces_future_sight_if_it_is_larger_than_0_for_the_bot(self): self.battle.user.future_sight = (2, "pokemon_name") - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.future_sight, (1, "pokemon_name")) def test_does_not_reduce_future_sight_if_it_is_0(self): self.battle.user.future_sight = (0, "pokemon_name") - upkeep(self.battle, '') + upkeep(self.battle, "") self.assertEqual(self.battle.user.future_sight, (0, "pokemon_name")) + def test_adds_leftovers_blacksludge_to_impossible_items_at_end_of_turn(self): + self.battle.opponent.active.hp = 50 + upkeep(self.battle, "") + self.assertIn(constants.LEFTOVERS, self.battle.opponent.active.impossible_items) + self.assertIn( + constants.BLACK_SLUDGE, self.battle.opponent.active.impossible_items + ) + + def test_adds_flameorb_toxicorb_if_status_is_none_at_end_of_turn(self): + self.battle.opponent.active.status = None + upkeep(self.battle, "") + self.assertIn("flameorb", self.battle.opponent.active.impossible_items) + self.assertIn("toxicorb", self.battle.opponent.active.impossible_items) + + def test_does_not_add_flameorb_toxicorb_if_status_exists_at_end_of_turn(self): + self.battle.opponent.active.status = constants.FROZEN + upkeep(self.battle, "") + self.assertNotIn("flameorb", self.battle.opponent.active.impossible_items) + self.assertNotIn("toxicorb", self.battle.opponent.active.impossible_items) + class TestCheckSpeedRanges(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) self.battle.user.active = self.user_active self.username = "CoolUsername" @@ -2174,8 +3145,8 @@ def setUp(self): constants.ID: None, constants.NAME: None, constants.POKEMON: [], - constants.RQID: None - } + constants.RQID: None, + }, } def test_sets_minspeed_when_opponent_goes_first(self): @@ -2183,13 +3154,16 @@ def test_sets_minspeed_when_opponent_goes_first(self): self.battle.user.active.stats[constants.SPEED] = 150 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED], self.battle.opponent.active.speed_range.min) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED], + self.battle.opponent.active.speed_range.min, + ) def test_sets_maxspeed_when_opponent_goes_first_in_trickroom(self): # opponent should have min speed equal to the bot's speed @@ -2197,13 +3171,16 @@ def test_sets_maxspeed_when_opponent_goes_first_in_trickroom(self): self.battle.trick_room = True messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED], self.battle.opponent.active.speed_range.max) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED], + self.battle.opponent.active.speed_range.max, + ) def test_nothing_happens_with_priority_move_in_trickroom(self): # opponent should have min speed equal to the bot's speed @@ -2211,8 +3188,8 @@ def test_nothing_happens_with_priority_move_in_trickroom(self): self.battle.trick_room = True messages = [ - '|move|p2a: Caterpie|Aqua Jet|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Aqua Jet|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2226,8 +3203,8 @@ def test_accounts_for_paralysis_when_calculating_speed_range(self): self.battle.opponent.active.status = constants.PARALYZED messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2235,7 +3212,9 @@ def test_accounts_for_paralysis_when_calculating_speed_range(self): # bot_speed * 2 should be the minspeed it has b/c it went first with paralysis expected_min_speed = int(self.battle.user.active.stats[constants.SPEED] * 2) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_accounts_for_paralysis_on_bots_side_when_calculating_speed_range(self): # opponent should have min speed equal to the bot's speed @@ -2243,8 +3222,8 @@ def test_accounts_for_paralysis_on_bots_side_when_calculating_speed_range(self): self.battle.user.active.status = constants.PARALYZED messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2252,7 +3231,9 @@ def test_accounts_for_paralysis_on_bots_side_when_calculating_speed_range(self): # bot_speed / 2 should be the minspeed it has b/c it went first with paralysis expected_min_speed = int(self.battle.user.active.stats[constants.SPEED] / 2) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_accounts_for_tailwind_on_opponent_side_when_calculating_speed_ranges(self): # opponent should have min speed equal to the bot's speed @@ -2260,8 +3241,8 @@ def test_accounts_for_tailwind_on_opponent_side_when_calculating_speed_ranges(se self.battle.opponent.side_conditions[constants.TAILWIND] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2269,7 +3250,9 @@ def test_accounts_for_tailwind_on_opponent_side_when_calculating_speed_ranges(se # bot_speed / 2 should be the minspeed it has b/c it went first with tailwind up expected_min_speed = int(self.battle.user.active.stats[constants.SPEED] / 2) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_accounts_for_tailwind_on_bot_side_when_calculating_speed_ranges(self): # opponent should have min speed equal to the bot's speed @@ -2277,8 +3260,8 @@ def test_accounts_for_tailwind_on_bot_side_when_calculating_speed_ranges(self): self.battle.user.side_conditions[constants.TAILWIND] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2286,7 +3269,9 @@ def test_accounts_for_tailwind_on_bot_side_when_calculating_speed_ranges(self): # bot_speed * 2 should be the minspeed it has b/c it went first with tailwind up expected_min_speed = int(self.battle.user.active.stats[constants.SPEED] * 2) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_accounts_for_tailwind_on_both_side_when_calculating_speed_ranges(self): # opponent should have min speed equal to the bot's speed @@ -2295,8 +3280,8 @@ def test_accounts_for_tailwind_on_both_side_when_calculating_speed_ranges(self): self.battle.opponent.side_conditions[constants.TAILWIND] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2307,7 +3292,9 @@ def test_accounts_for_tailwind_on_both_side_when_calculating_speed_ranges(self): # bot_speed * 2 should be the minspeed it has b/c it went first with tailwind up expected_min_speed = int(expected_min_speed * 2) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_does_not_set_minspeed_when_opponent_could_have_unburden_activated(self): # opponent should have min speed equal to the bot's speed @@ -2316,8 +3303,8 @@ def test_does_not_set_minspeed_when_opponent_could_have_unburden_activated(self) self.battle.opponent.active.name = "hawlucha" # can possibly have unburden messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2329,13 +3316,16 @@ def test_sets_maxspeed_when_bot_goes_first(self): self.battle.user.active.stats[constants.SPEED] = 150 messages = [ - '|move|p1a: Caterpie|Stealth Rock|', - '|move|p2a: Caterpie|Stealth Rock|' + "|move|p1a: Caterpie|Stealth Rock|", + "|move|p2a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED], self.battle.opponent.active.speed_range.max) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED], + self.battle.opponent.active.speed_range.max, + ) def test_minspeed_is_not_set_when_rain_is_up_and_opponent_can_have_swiftswim(self): # opponent should have max speed equal to the bot's speed @@ -2344,8 +3334,8 @@ def test_minspeed_is_not_set_when_rain_is_up_and_opponent_can_have_swiftswim(sel self.battle.opponent.active.name = "seismitoad" messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2358,27 +3348,35 @@ def test_minspeed_is_set_when_only_rain_is_up(self): self.battle.weather = constants.RAIN messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED], self.battle.opponent.active.speed_range.min) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED], + self.battle.opponent.active.speed_range.min, + ) - def test_minspeed_is_set_when_rain_is_not_up_but_opponent_could_have_swiftswim(self): + def test_minspeed_is_set_when_rain_is_not_up_but_opponent_could_have_swiftswim( + self, + ): # opponent should have max speed equal to the bot's speed self.battle.user.active.stats[constants.SPEED] = 150 self.battle.opponent.active.name = "seismitoad" messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED], self.battle.opponent.active.speed_range.min) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED], + self.battle.opponent.active.speed_range.min, + ) def test_minspeed_is_not_set_when_opponent_has_choicescarf(self): # opponent should have max speed equal to the bot's speed @@ -2386,8 +3384,8 @@ def test_minspeed_is_not_set_when_opponent_has_choicescarf(self): self.battle.opponent.active.item = "choicescarf" messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2400,15 +3398,20 @@ def test_minspeed_is_correctly_set_when_bot_has_choicescarf(self): self.battle.user.active.item = "choicescarf" messages = [ - '|move|p1a: Caterpie|Stealth Rock|', - '|move|p2a: Caterpie|Stealth Rock|', + "|move|p1a: Caterpie|Stealth Rock|", + "|move|p2a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) - self.assertEqual(self.battle.user.active.stats[constants.SPEED]*1.5, self.battle.opponent.active.speed_range.max) + self.assertEqual( + self.battle.user.active.stats[constants.SPEED] * 1.5, + self.battle.opponent.active.speed_range.max, + ) - def test_minspeed_is_correctly_set_when_bot_has_choicescarf_and_opponent_is_boosted(self): + def test_minspeed_is_correctly_set_when_bot_has_choicescarf_and_opponent_is_boosted( + self, + ): # opponent should have max speed equal to the bot's speed self.battle.user.active.stats[constants.SPEED] = 317 self.battle.opponent.active.stats[constants.SPEED] = 383 @@ -2416,8 +3419,8 @@ def test_minspeed_is_correctly_set_when_bot_has_choicescarf_and_opponent_is_boos self.battle.opponent.active.boosts[constants.SPEED] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|', + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2425,7 +3428,7 @@ def test_minspeed_is_correctly_set_when_bot_has_choicescarf_and_opponent_is_boos # this is meant to show the rounding inherent with way pokemon floors values # floor(317 / 1.5) = 211 # floor(211*1.5) = 316 - expected_speed = int(self.battle.user.active.stats[constants.SPEED]/1.5) + expected_speed = int(self.battle.user.active.stats[constants.SPEED] / 1.5) expected_speed = int(expected_speed * 1.5) self.assertEqual(expected_speed, self.battle.opponent.active.speed_range.min) @@ -2436,8 +3439,8 @@ def test_minspeed_interaction_with_boosted_speed(self): self.battle.opponent.active.boosts[constants.SPEED] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2445,10 +3448,15 @@ def test_minspeed_interaction_with_boosted_speed(self): # the minspeed should take into account the fact that the opponent has a boost # therefore, the minimum (unboosted) speed must be divided by the boost multiplier expected_min_speed = int( - 150 / boost_multiplier_lookup[self.battle.opponent.active.boosts[constants.SPEED]] + 150 + / boost_multiplier_lookup[ + self.battle.opponent.active.boosts[constants.SPEED] + ] ) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_minspeed_interaction_with_bots_boosted_speed(self): # opponent should have max speed equal to the bot's speed @@ -2456,8 +3464,8 @@ def test_minspeed_interaction_with_bots_boosted_speed(self): self.battle.user.active.boosts[constants.SPEED] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2465,10 +3473,16 @@ def test_minspeed_interaction_with_bots_boosted_speed(self): # the minspeed should take into account the fact that the opponent has a boost # therefore, the minimum (unboosted) speed must be divided by the boost multiplier expected_min_speed = int( - 150 * boost_multiplier_lookup[self.battle.user.active.boosts[constants.SPEED]] / boost_multiplier_lookup[self.battle.opponent.active.boosts[constants.SPEED]] + 150 + * boost_multiplier_lookup[self.battle.user.active.boosts[constants.SPEED]] + / boost_multiplier_lookup[ + self.battle.opponent.active.boosts[constants.SPEED] + ] ) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_minspeed_interaction_with_bot_and_opponents_boosted_speed(self): # opponent should have max speed equal to the bot's speed @@ -2477,8 +3491,8 @@ def test_minspeed_interaction_with_bot_and_opponents_boosted_speed(self): self.battle.opponent.active.boosts[constants.SPEED] = 3 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2486,18 +3500,24 @@ def test_minspeed_interaction_with_bot_and_opponents_boosted_speed(self): # the minspeed should take into account the fact that the opponent has a boost # therefore, the minimum (unboosted) speed must be divided by the boost multiplier expected_min_speed = int( - 150 * boost_multiplier_lookup[self.battle.user.active.boosts[constants.SPEED]] / boost_multiplier_lookup[self.battle.opponent.active.boosts[constants.SPEED]] + 150 + * boost_multiplier_lookup[self.battle.user.active.boosts[constants.SPEED]] + / boost_multiplier_lookup[ + self.battle.opponent.active.boosts[constants.SPEED] + ] ) - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) def test_opponents_unknown_move_is_used_as_a_zero_priority_move(self): # opponent should have max speed equal to the bot's speed self.battle.user.active.stats[constants.SPEED] = 150 messages = [ - '|move|p2a: Caterpie|unknown-move|', - '|move|p1a: Caterpie|unknown-move|' + "|move|p2a: Caterpie|unknown-move|", + "|move|p1a: Caterpie|unknown-move|", ] check_speed_ranges(self.battle, messages) @@ -2509,8 +3529,8 @@ def test_bots_unknown_move_is_used_as_a_zero_priority_move(self): self.battle.user.active.stats[constants.SPEED] = 150 messages = [ - '|move|p1a: Caterpie|unknown-move|', - '|move|p2a: Caterpie|unknown-move|', + "|move|p1a: Caterpie|unknown-move|", + "|move|p2a: Caterpie|unknown-move|", ] check_speed_ranges(self.battle, messages) @@ -2531,33 +3551,39 @@ def test_opponent_has_unknown_choicescarf_causing_it_to_be_faster(self): self.battle.user.active.stats[constants.SPEED] = 150 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) expected_min_speed = 150 - self.assertEqual(expected_min_speed, self.battle.opponent.active.speed_range.min) + self.assertEqual( + expected_min_speed, self.battle.opponent.active.speed_range.min + ) - def test_opponent_using_grassyglide_in_grassy_terrain_does_not_cause_minspeed_to_be_set(self): + def test_opponent_using_grassyglide_in_grassy_terrain_does_not_cause_minspeed_to_be_set( + self, + ): self.battle.user.active.stats[constants.SPEED] = 150 self.battle.field = constants.GRASSY_TERRAIN messages = [ - '|move|p2a: Caterpie|Grassy Glide|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Grassy Glide|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) self.assertEqual(0, self.battle.opponent.active.speed_range.min) - def test_bot_using_grassyglide_in_grassy_terrain_does_not_cause_maxspeed_to_be_set(self): + def test_bot_using_grassyglide_in_grassy_terrain_does_not_cause_maxspeed_to_be_set( + self, + ): self.battle.user.active.stats[constants.SPEED] = 150 self.battle.field = constants.GRASSY_TERRAIN messages = [ - '|move|p1a: Caterpie|Grassy Glide|', - '|move|p2a: Caterpie|Stealth Rock|', + "|move|p1a: Caterpie|Grassy Glide|", + "|move|p2a: Caterpie|Stealth Rock|", ] check_speed_ranges(self.battle, messages) @@ -2568,9 +3594,9 @@ def test_move_from_magicbounce_after_switching_does_not_set_speed_range(self): self.battle.user.reserve = [user_reserve_weedle] messages = [ - '|switch|p1a: Caterpie|Caterpie, F|255/255', - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|p2a: Caterpie|[from]ability: Magic Bounce', + "|switch|p1a: Caterpie|Caterpie, F|255/255", + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|p2a: Caterpie|[from]ability: Magic Bounce", ] check_speed_ranges(self.battle, messages) @@ -2583,14 +3609,14 @@ def test_move_from_magicbounce_after_switching_does_not_set_speed_range(self): class TestGuessChoiceScarf(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) self.battle.user.active = self.user_active self.username = "CoolUsername" @@ -2602,74 +3628,99 @@ def setUp(self): constants.SIDE: { constants.ID: None, constants.NAME: None, - constants.POKEMON: [ - - ], - constants.RQID: None - } + constants.POKEMON: [], + constants.RQID: None, + }, } def test_guesses_choicescarf_when_opponent_should_always_be_slower(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) - self.assertEqual('choicescarf', self.battle.opponent.active.item) + self.assertEqual("choicescarf", self.battle.opponent.active.item) - def test_guesses_choicescarf_from_update_battle(self): - # the spread from the battle object mean that this speed is not the actual bot's speed - self.battle.user.active.stats[constants.SPEED] = 147 + def test_guesses_choicescarf_when_enemy_knocks_out_user(self): + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) + self.battle.user.last_selected_move = LastUsedMove("caterpie", "tackle", 0) + messages = [ + "|move|p2a: Caterpie|Tackle| p1a: Caterpie", + "|-damage|p1a: Caterpie|0 fnt", + "|faint|p1a: Forretress", + ] - self.battle.request_json = { - constants.SIDE: { - "name": "PlayerOne", - "id": "p2", - "pokemon": [ - { - "ident": "p1: Caterpie", - "details": "Caterpie, M", - "condition": "177/252", - "active": True, - "stats": { - "atk": 117, - "def": 127, - "spa": 97, - "spd": 97, - "spe": 210 # the bot's actual speed is faster than the opponent's max speed w/o scarf (207) - }, - "moves": [ - "tackle" - ], - "baseAbility": "shielddust", - "item": None, - "pokeball": "pokeball", - "ability": "shielddust" - } - ] - } - } + check_choicescarf(self.battle, messages) + + self.assertEqual("choicescarf", self.battle.opponent.active.item) + + def test_does_not_guess_choicescarf_when_user_hits_self_in_confusion(self): + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) + self.battle.user.last_selected_move = LastUsedMove("caterpie", "tackle", 0) + messages = [ + "|-activate|p1a: Caterpie|confusion", + "|move|p2a: Caterpie|Tackle| p1a: Caterpie", + "|-damage|p1a: Caterpie|0 fnt", + "|faint|p1a: Forretress", + ] + + check_choicescarf(self.battle, messages) - message = ( - '|move|p2a: Caterpie|Stealth Rock|\n' - '|move|p1a: Caterpie|Stealth Rock|' + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) + + def test_does_not_guess_choicescarf_when_opponent_knocks_out_user_with_priority_move( + self, + ): + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) + self.battle.user.last_selected_move = LastUsedMove("caterpie", "tackle", 0) + messages = [ + "|move|p2a: Caterpie|Quick Attack| p1a: Caterpie", + "|-damage|p1a: Caterpie|0 fnt", + "|faint|p1a: Caterpie", + ] + + check_choicescarf(self.battle, messages) + + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) + + def test_does_not_guess_choicescarf_when_user_recharged( + self, + ): + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) ) + messages = [ + "|cant|p1a: Caterpie|recharge", + "|move|p2a: Caterpie|Tackle| p1a: Caterpie", + "|-damage|p1a: Caterpie|0 fnt", + "|faint|p1a: Caterpie", + ] - update_battle(self.battle, message) + check_choicescarf(self.battle, messages) - self.assertEqual('choicescarf', self.battle.opponent.active.item) + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_choicescarf_when_opponent_could_have_prankster(self): - self.battle.opponent.active.name = 'grimmsnarl' # grimmsnarl could have prankster - it's non-damaging moves get +1 priority - self.battle.user.active.stats[constants.SPEED] = 245 # opponent's speed should not be greater than 240 (max speed grimmsnarl) + self.battle.opponent.active.name = "grimmsnarl" # grimmsnarl could have prankster - it's non-damaging moves get +1 priority + self.battle.user.active.stats[constants.SPEED] = ( + 245 # opponent's speed should not be greater than 240 (max speed grimmsnarl) + ) messages = [ - '|move|p2a: Grimmsnarl|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Grimmsnarl|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2677,25 +3728,31 @@ def test_does_not_guess_choicescarf_when_opponent_could_have_prankster(self): self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_choicescarf_when_opponent_is_speed_boosted(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) self.battle.opponent.active.boosts[constants.SPEED] = 1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_does_not_guess_choicescarf_when_opponent_uses_grassyglide_in_grassy_terrain(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + def test_does_not_guess_choicescarf_when_opponent_uses_grassyglide_in_grassy_terrain( + self, + ): + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) self.battle.field = constants.GRASSY_TERRAIN messages = [ - '|move|p2a: Caterpie|Grassy Glide|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Grassy Glide|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2703,12 +3760,14 @@ def test_does_not_guess_choicescarf_when_opponent_uses_grassyglide_in_grassy_ter self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_choicescarf_when_bot_is_speed_unboosted(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) self.battle.user.active.boosts[constants.SPEED] = -1 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2717,11 +3776,13 @@ def test_does_not_guess_choicescarf_when_bot_is_speed_unboosted(self): def test_does_not_guess_scarf_in_trickroom(self): self.battle.trick_room = True - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2730,11 +3791,13 @@ def test_does_not_guess_scarf_in_trickroom(self): def test_does_not_guess_scarf_under_trickroom_when_opponent_could_be_slower(self): self.battle.trick_room = True - self.battle.user.active.stats[constants.SPEED] = 205 # opponent caterpie speed is 113 - 207 + self.battle.user.active.stats[constants.SPEED] = ( + 205 # opponent caterpie speed is 113 - 207 + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2743,35 +3806,41 @@ def test_does_not_guess_scarf_under_trickroom_when_opponent_could_be_slower(self def test_guesses_scarf_in_trickroom_when_opponent_cannot_be_slower(self): self.battle.trick_room = True - self.battle.user.active.stats[constants.SPEED] = 110 # opponent caterpie speed is 113 - 207 + self.battle.user.active.stats[constants.SPEED] = ( + 110 # opponent caterpie speed is 113 - 207 + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) - self.assertEqual('choicescarf', self.battle.opponent.active.item) + self.assertEqual("choicescarf", self.battle.opponent.active.item) def test_unknown_moves_defaults_to_0_priority(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|unknown-move|', - '|move|p1a: Caterpie|unknown-move|' + "|move|p2a: Caterpie|unknown-move|", + "|move|p1a: Caterpie|unknown-move|", ] check_choicescarf(self.battle, messages) - self.assertEqual('choicescarf', self.battle.opponent.active.item) + self.assertEqual("choicescarf", self.battle.opponent.active.item) def test_priority_move_with_unknown_move_does_not_cause_guess(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Quick Attack|', - '|move|p1a: Caterpie|unknown-move|' + "|move|p2a: Caterpie|Quick Attack|", + "|move|p1a: Caterpie|unknown-move|", ] check_choicescarf(self.battle, messages) @@ -2779,11 +3848,13 @@ def test_priority_move_with_unknown_move_does_not_cause_guess(self): self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_item_when_bot_moves_first(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p1a: Caterpie|Stealth Rock|', - '|move|p2a: Caterpie|Stealth Rock|' + "|move|p1a: Caterpie|Stealth Rock|", + "|move|p2a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2791,11 +3862,13 @@ def test_does_not_guess_item_when_bot_moves_first(self): self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_item_when_moves_are_different_priority(self): - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Quick Attack|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Quick Attack|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2803,39 +3876,49 @@ def test_does_not_guess_item_when_moves_are_different_priority(self): self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_does_not_guess_item_when_opponent_can_be_faster(self): - self.battle.user.active.stats[constants.SPEED] = 200 # opponent's speed can be 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 200 # opponent's speed can be 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_swiftswim_causing_opponent_to_be_faster_results_in_not_guessing_choicescarf(self): - self.battle.opponent.active.ability = 'swiftswim' + def test_swiftswim_causing_opponent_to_be_faster_results_in_not_guessing_choicescarf( + self, + ): + self.battle.opponent.active.ability = "swiftswim" self.battle.weather = constants.RAIN - self.battle.user.active.stats[constants.SPEED] = 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim) + self.battle.user.active.stats[constants.SPEED] = ( + 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_pokemon_possibly_having_swiftswim_in_rain_does_not_result_in_a_choicescarf_guess(self): - self.battle.opponent.active.name = 'seismitoad' # can have swiftswim + def test_pokemon_possibly_having_swiftswim_in_rain_does_not_result_in_a_choicescarf_guess( + self, + ): + self.battle.opponent.active.name = "seismitoad" # can have swiftswim self.battle.weather = constants.RAIN - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed can be 414 (max speed caterpie plus swiftswim) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed can be 414 (max speed caterpie plus swiftswim) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2843,14 +3926,18 @@ def test_pokemon_possibly_having_swiftswim_in_rain_does_not_result_in_a_choicesc self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) def test_seismitoad_choicescarf_is_guessed_when_ability_has_been_revealed(self): - self.battle.opponent.active.name = 'seismitoad' # set ID so lookup says it has swiftswim - self.battle.opponent.active.ability = 'waterabsorb' # but ability has been revealed so if it is faster a choice item should be inferred + self.battle.opponent.active.name = ( + "seismitoad" # set ID so lookup says it has swiftswim + ) + self.battle.opponent.active.ability = "waterabsorb" # but ability has been revealed so if it is faster a choice item should be inferred self.battle.weather = constants.RAIN - self.battle.user.active.stats[constants.SPEED] = 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + self.battle.user.active.stats[constants.SPEED] = ( + 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2858,28 +3945,38 @@ def test_seismitoad_choicescarf_is_guessed_when_ability_has_been_revealed(self): self.assertEqual("choicescarf", self.battle.opponent.active.item) def test_possible_surgesurfer_does_not_result_in_scarf_inferral(self): - self.battle.opponent.active.name = 'raichualola' # set ID so lookup says it has surgesurfer + self.battle.opponent.active.name = ( + "raichualola" # set ID so lookup says it has surgesurfer + ) self.battle.field = constants.ELECTRIC_TERRAIN - self.battle.user.active.stats[constants.SPEED] = 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + self.battle.user.active.stats[constants.SPEED] = ( + 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_surgesurfer_pokemon_choice_item_is_guessed_if_ability_is_revealed_to_be_otherwise(self): - self.battle.opponent.active.name = 'raichualola' # set ID so lookup says it has surgesurfer + def test_surgesurfer_pokemon_choice_item_is_guessed_if_ability_is_revealed_to_be_otherwise( + self, + ): + self.battle.opponent.active.name = ( + "raichualola" # set ID so lookup says it has surgesurfer + ) self.battle.opponent.active.ability = "some_weird_ability" self.battle.field = constants.ELECTRIC_TERRAIN - self.battle.user.active.stats[constants.SPEED] = 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + self.battle.user.active.stats[constants.SPEED] = ( + 300 # opponent's speed can be 414 (max speed caterpie plus swiftswim). Yes it is still a caterpie + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2887,52 +3984,51 @@ def test_surgesurfer_pokemon_choice_item_is_guessed_if_ability_is_revealed_to_be self.assertEqual("choicescarf", self.battle.opponent.active.item) def test_pokemon_with_possible_quickfeet_does_not_have_choice_scarf_inferred(self): - self.battle.opponent.active.name = 'ursaring' # set ID so lookup says it has quickfeet + self.battle.opponent.active.name = ( + "ursaring" # set ID so lookup says it has quickfeet + ) self.battle.opponent.active.status = constants.PARALYZED self.battle.user.active.stats[constants.SPEED] = 210 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_pokemon_with_possible_quickfeet_does_have_choice_scarf_inferred_if_ability_revealed_to_something_else(self): - self.battle.opponent.active.name = 'ursaring' # set ID so lookup says it has quickfeet - self.battle.opponent.active.ability = 'some_other_ability' # ability cant be quickfeet + def test_pokemon_with_possible_quickfeet_does_have_choice_scarf_inferred_if_ability_revealed_to_something_else( + self, + ): + self.battle.opponent.active.name = ( + "ursaring" # set ID so lookup says it has quickfeet + ) + self.battle.opponent.active.ability = ( + "some_other_ability" # ability cant be quickfeet + ) self.battle.opponent.active.status = constants.PARALYZED self.battle.user.active.stats[constants.SPEED] = 210 messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) self.assertEqual("choicescarf", self.battle.opponent.active.item) - def test_only_one_move_causes_no_item_to_be_guessed(self): - self.battle.user.active.stats[constants.SPEED] = 210 - - messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - ] - - check_choicescarf(self.battle, messages) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_does_not_guess_choicescarf_when_item_is_none(self): self.battle.opponent.active.item = None - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) @@ -2940,17 +4036,19 @@ def test_does_not_guess_choicescarf_when_item_is_none(self): self.assertEqual(None, self.battle.opponent.active.item) def test_does_not_guess_choicescarf_when_item_is_known(self): - self.battle.opponent.active.item = 'leftovers' - self.battle.user.active.stats[constants.SPEED] = 210 # opponent's speed should not be greater than 207 (max speed caterpie) + self.battle.opponent.active.item = "leftovers" + self.battle.user.active.stats[constants.SPEED] = ( + 210 # opponent's speed should not be greater than 207 (max speed caterpie) + ) messages = [ - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) - self.assertEqual('leftovers', self.battle.opponent.active.item) + self.assertEqual("leftovers", self.battle.opponent.active.item) def test_uses_randombattle_spread_when_guessing_for_randombattle(self): self.battle.battle_type = constants.RANDOM_BATTLE @@ -2959,17 +4057,19 @@ def test_uses_randombattle_spread_when_guessing_for_randombattle(self): # HOWEVER, max-speed should still outspeed this value self.battle.user.active.stats[constants.SPEED] = 195 - self.opponent_active = Pokemon('floetteeternal', 80) # randombattle level for Floette-E + self.opponent_active = Pokemon( + "floetteeternal", 80 + ) # randombattle level for Floette-E self.battle.opponent.active = self.opponent_active messages = [ - '|move|p2a: Floette-Eternal|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|' + "|move|p2a: Floette-Eternal|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|", ] check_choicescarf(self.battle, messages) - self.assertEqual('choicescarf', self.battle.opponent.active.item) + self.assertEqual("choicescarf", self.battle.opponent.active.item) def test_choicescarf_is_not_checked_when_switching_happens(self): self.battle.user.active.stats[constants.SPEED] = 210 @@ -2978,9 +4078,9 @@ def test_choicescarf_is_not_checked_when_switching_happens(self): self.battle.user.reserve = [user_reserve_weedle] messages = [ - '|switch|p1a: Caterpie|Caterpie, F|255/255', - '|move|p2a: Caterpie|Stealth Rock|', - '|move|p1a: Caterpie|Stealth Rock|p2a: Caterpie|[from]ability: Magic Bounce', + "|switch|p1a: Caterpie|Caterpie, F|255/255", + "|move|p2a: Caterpie|Stealth Rock|", + "|move|p1a: Caterpie|Stealth Rock|p2a: Caterpie|[from]ability: Magic Bounce", ] check_choicescarf(self.battle, messages) @@ -2991,188 +4091,240 @@ def test_choicescarf_is_not_checked_when_switching_happens(self): class TestCheckHeavyDutyBoots(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.opponent_reserve_pkmn = Pokemon('weedle', 100) + self.opponent_reserve_pkmn = Pokemon("weedle", 100) self.battle.opponent.reserve.append(self.opponent_reserve_pkmn) self.battle.opponent.active.item = constants.UNKNOWN_ITEM - self.user_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) self.battle.user.active = self.user_active - self.user_reserve_pkmn = Pokemon('weedle', 100) + self.user_reserve_pkmn = Pokemon("weedle", 100) self.battle.user.reserve.append(self.user_reserve_pkmn) self.battle.user.active.item = constants.UNKNOWN_ITEM self.username = "CoolUsername" self.battle.username = self.username + self.battle.generation = "gen9" self.battle.request_json = { constants.ACTIVE: [{constants.MOVES: []}], constants.SIDE: { constants.ID: None, constants.NAME: None, - constants.POKEMON: [ - - ], - constants.RQID: None - } + constants.POKEMON: [], + constants.RQID: None, + }, } def test_basic_case_of_switching_in_and_not_taking_damage_sets_heavydutyboots(self): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|90/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|90/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) def test_parser_deals_with_empty_line(self): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|90/100', - '' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|90/100", + "", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) def test_parser_deals_with_empty_line_with_toxicspikes(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Pikachu|90/100', - '' + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Pikachu|90/100", + "", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) def test_having_an_item_bypasses_this_check(self): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 self.battle.opponent.active.item = None messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|90/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|90/100", ] check_heavydutyboots(self.battle, messages) self.assertEqual(None, self.battle.opponent.active.item) - def test_double_switch_where_other_side_takes_damage_does_not_set_hdb_for_the_first_side(self): + def test_double_switch_where_other_side_takes_damage_does_not_set_hdb_for_the_first_side( + self, + ): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|switch|p1a: Weedle|Weedle, M|100,100', - '|-damage|p1a: Weedle|88/100|[from] Stealth Rock' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|switch|p1a: Weedle|Weedle, M|100/100", + "|-damage|p1a: Weedle|88/100|[from] Stealth Rock", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) - def test_basic_case_of_switching_in_and_taking_damage_does_not_set_heavydutyboots(self): + def test_basic_case_of_switching_in_and_taking_damage_does_not_set_heavydutyboots( + self, + ): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-damage|p2a: Weedle|88/100|[from] Stealth Rock' - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-damage|p2a: Weedle|88/100|[from] Stealth Rock" + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_basic_case_of_switching_in_and_taking_damage_sets_can_have_heavydutyboots_to_false(self): + def test_basic_case_of_switching_in_and_taking_damage_sets_heavydutyboots_to_impossible( + self, + ): self.battle.opponent.side_conditions[constants.STEALTH_ROCK] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-damage|p2a: Weedle|88/100|[from] Stealth Rock' - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-damage|p2a: Weedle|88/100|[from] Stealth Rock" + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertFalse(self.battle.opponent.active.can_have_heavydutyboots) + self.assertIn( + constants.HEAVY_DUTY_BOOTS, self.battle.opponent.active.impossible_items + ) def test_not_taking_damage_from_spikes_sets_heavydutyboots(self): self.battle.opponent.side_conditions[constants.SPIKES] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) def test_taking_damage_from_spikes_does_not_set_heavydutyboots(self): self.battle.opponent.side_conditions[constants.SPIKES] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-damage|p2a: Weedle|88/100|[from] Spikes' - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-damage|p2a: Weedle|88/100|[from] Spikes" "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_taking_damage_from_spikes_sets_can_have_heavydutyboots_to_false(self): + def test_taking_damage_from_spikes_sets_heavydutyboots_to_impossible(self): self.battle.opponent.side_conditions[constants.SPIKES] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-damage|p2a: Weedle|88/100|[from] Spikes' - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-damage|p2a: Weedle|88/100|[from] Spikes" "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertFalse(self.battle.opponent.active.can_have_heavydutyboots) + self.assertIn( + constants.HEAVY_DUTY_BOOTS, self.battle.opponent.active.impossible_items + ) def test_not_getting_poisoned_by_toxicspikes_sets_heavydutyboots(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 - self.battle.opponent.active = Pokemon('pikachu', 100) + self.battle.opponent.active = Pokemon("pikachu", 100) + messages = [ + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Pikachu|78/100", + ] + + update_battle(self.battle, "\n".join(messages)) + + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) + + def test_not_getting_poisoned_by_toxicspikes_does_not_set_heavydutyboots_if_already_poisoned( + self, + ): + self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 + pikachu = Pokemon("pikachu", 100) + pikachu.status = constants.POISON + self.battle.opponent.reserve.append(pikachu) + messages = [ + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Pikachu|78/100", + ] + + update_battle(self.battle, "\n".join(messages)) + + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) + + def test_does_not_infer_headydutyboots_if_levitate_is_possible_with_tspikes(self): + self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 + self.battle.opponent.active = Pokemon("azelf", 100) + messages = [ + "|switch|p2a: Azelf|Azelf, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Azelf|78/100", + ] + + update_battle(self.battle, "\n".join(messages)) + + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) + + def test_does_not_infer_headydutyboots_if_levitate_is_possible_with_spikes(self): + self.battle.opponent.side_conditions[constants.SPIKES] = 1 + self.battle.opponent.active = Pokemon("azelf", 100) messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Pikachu|78/100' + "|switch|p2a: Azelf|Azelf, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Azelf|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_getting_poisoned_by_two_layers_of_toxicspikes_does_not_set_heavydutyboots(self): + def test_getting_poisoned_by_two_layers_of_toxicspikes_does_not_set_heavydutyboots( + self, + ): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 - self.battle.opponent.active = Pokemon('pikachu', 100) + self.battle.opponent.active = Pokemon("pikachu", 100) messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|-status|p2a: Pikachu|tox', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Pikachu|78/100' + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|-status|p2a: Pikachu|tox", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Pikachu|78/100", ] update_battle(self.battle, "\n".join(messages)) @@ -3181,47 +4333,49 @@ def test_getting_poisoned_by_two_layers_of_toxicspikes_does_not_set_heavydutyboo def test_getting_toxiced_by_toxic_afterwards_still_sets_heavydutyboots(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 - self.battle.opponent.active = Pokemon('pikachu', 100) + self.battle.opponent.active = Pokemon("pikachu", 100) messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|move|p1a: Caterpie|Toxic', - '|-status|p2a: Pikachu|tox' + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|move|p1a: Caterpie|Toxic", + "|-status|p2a: Pikachu|tox", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) - def test_toxicorb_poisoning_at_the_end_of_the_turn_does_not_infer_heavydutyboots(self): + def test_toxicorb_poisoning_at_the_end_of_the_turn_does_not_infer_heavydutyboots( + self, + ): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 messages = [ - '|switch|p1a: Pikachu|Pikachu, M|100,100', - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|', - '|-status|p2a: Pikachu|tox|[from] item: Toxic Orb' + "|switch|p1a: Pikachu|Pikachu, M|100/100", + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|", + "|-status|p2a: Pikachu|tox|[from] item: Toxic Orb", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('toxicorb', self.battle.opponent.active.item) + self.assertEqual("toxicorb", self.battle.opponent.active.item) def test_having_airballoon_does_notcause_a_heavydutyboost_inferral(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|-item|p2a: Pikachu|Air Balloon' + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|-item|p2a: Pikachu|Air Balloon", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('airballoon', self.battle.opponent.active.item) + self.assertEqual("airballoon", self.battle.opponent.active.item) def test_flying_type_does_not_trigger_heavydutyboots_check_on_toxicspikes(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 messages = [ - '|switch|p2a: Pidgey|Pidgey, M|100,100', + "|switch|p2a: Pidgey|Pidgey, M|100/100", ] update_battle(self.battle, "\n".join(messages)) @@ -3230,12 +4384,12 @@ def test_flying_type_does_not_trigger_heavydutyboots_check_on_toxicspikes(self): def test_getting_poisoned_by_toxicspikes_does_not_set_heavydutyboots(self): self.battle.opponent.side_conditions[constants.TOXIC_SPIKES] = 1 - self.battle.opponent.active = Pokemon('pikachu', 100) + self.battle.opponent.active = Pokemon("pikachu", 100) messages = [ - '|switch|p2a: Pikachu|Pikachu, M|100,100', - '|-status|p2a: Pikachu|psn', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Pikachu|78/100' + "|switch|p2a: Pikachu|Pikachu, M|100/100", + "|-status|p2a: Pikachu|psn", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Pikachu|78/100", ] update_battle(self.battle, "\n".join(messages)) @@ -3244,22 +4398,24 @@ def test_getting_poisoned_by_toxicspikes_does_not_set_heavydutyboots(self): def test_nothing_is_set_when_there_are_no_hazards_on_the_field(self): messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_pokemon_that_could_have_magicguard_does_not_set_heavydutyboots_when_no_damage_is_taken(self): + def test_pokemon_that_could_have_magicguard_does_not_set_heavydutyboots_when_no_damage_is_taken( + self, + ): # clefable could have magicguard so HDB should not be set even though no damage was taken on switch - self.battle.opponent.active = Pokemon('Clefable', 100) + self.battle.opponent.active = Pokemon("Clefable", 100) messages = [ - '|switch|p2a: Clefable|Clefable, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Clefable|78/100' + "|switch|p2a: Clefable|Clefable, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Clefable|78/100", ] update_battle(self.battle, "\n".join(messages)) @@ -3269,53 +4425,121 @@ def test_pokemon_that_could_have_magicguard_does_not_set_heavydutyboots_when_no_ def test_being_caught_in_stickyweb_does_not_set_set_heavydutyboots(self): self.battle.opponent.side_conditions[constants.STICKY_WEB] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-activate|p2a: Weedle|move: Sticky Web', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-activate|p2a: Weedle|move: Sticky Web", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - def test_being_caught_in_stickyweb_sets_can_have_heavydutyboots_to_false(self): + def test_being_caught_in_stickyweb_sets_heavydutyboots_to_impossible(self): self.battle.opponent.side_conditions[constants.STICKY_WEB] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|-activate|p2a: Weedle|move: Sticky Web', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|-activate|p2a: Weedle|move: Sticky Web", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertFalse(self.battle.opponent.active.can_have_heavydutyboots) + self.assertIn( + constants.HEAVY_DUTY_BOOTS, self.battle.opponent.active.impossible_items + ) def test_not_being_caught_in_stickyweb_sets_item_to_heavydutyboots(self): self.battle.opponent.side_conditions[constants.STICKY_WEB] = 1 messages = [ - '|switch|p2a: Weedle|Weedle, M|100,100', - '|move|p1a: Caterpie|Tackle', - '|-damage|p2a: Weedle|78/100' + "|switch|p2a: Weedle|Weedle, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Weedle|78/100", + ] + + update_battle(self.battle, "\n".join(messages)) + + self.assertEqual("heavydutyboots", self.battle.opponent.active.item) + + def test_not_taking_spikes_with_possible_magicguard_does_not_set_heavydutyboots( + self, + ): + self.battle.opponent.side_conditions[constants.SPIKES] = 1 + self.battle.opponent.reserve.append(Pokemon("Clefable", 100)) + messages = [ + "|switch|p2a: Clefable|Clefable, M|100/100", + "|move|p1a: Caterpie|Tackle", + "|-damage|p2a: Clefable|78/100", ] update_battle(self.battle, "\n".join(messages)) - self.assertEqual('heavydutyboots', self.battle.opponent.active.item) + self.assertNotEqual("heavydutyboots", self.battle.opponent.active.item) + self.assertNotIn("heavydutyboots", self.battle.opponent.active.impossible_items) + + +class TestImmune(unittest.TestCase): + def setUp(self): + self.battle = Battle(None) + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" + + self.opponent_active = Pokemon("caterpie", 100) + self.battle.opponent.active = self.opponent_active + self.battle.opponent.active.ability = None + + self.user_active = Pokemon("weedle", 100) + self.battle.user.active = self.user_active + + self.username = "CoolUsername" + + self.battle.username = self.username + + def test_sets_ability_for_opponent(self): + split_msg = ["", "-immune", "p2a: Caterpie", "[from] ability: Volt Absorb"] + immune(self.battle, split_msg) + + expected_ability = "voltabsorb" + + self.assertEqual(expected_ability, self.battle.opponent.active.ability) + + def test_sets_ability_for_bot(self): + split_msg = ["", "-immune", "p1a: Caterpie", "[from] ability: Volt Absorb"] + immune(self.battle, split_msg) + + expected_ability = "voltabsorb" + + self.assertEqual(expected_ability, self.battle.user.active.ability) + + def test_immune_when_shouldnt_be_sets_potential_zoroark(self): + """ + Zoroark disguised as Furret + | + |t:|1731185949 + |switch|p2a: Furret|Furret, L94, F|238/238 + |move|p1a: Chimecho|Psychic Noise|p2a: Furret + |-immune|p2a: Furret + | + |-heal|p1a: Chimecho|73/100 brn|[from] item: Leftovers + |-damage|p1a: Chimecho|67/100 brn|[from] brn + |upkeep + |turn|22 + """ + pass class TestInactive(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('weedle', 100) + self.user_active = Pokemon("weedle", 100) self.battle.user.active = self.user_active self.username = "CoolUsername" @@ -3323,34 +4547,34 @@ def setUp(self): self.battle.username = self.username def test_sets_time_to_15_seconds(self): - split_msg = ['', 'inactive', 'Time left: 135 sec this turn', '135 sec total'] + split_msg = ["", "inactive", "Time left: 135 sec this turn", "135 sec total"] inactive(self.battle, split_msg) self.assertEqual(135, self.battle.time_remaining) def test_sets_to_60_seconds(self): - split_msg = ['', 'inactive', 'Time left: 60 sec this turn', '60 sec total'] + split_msg = ["", "inactive", "Time left: 60 sec this turn", "60 sec total"] inactive(self.battle, split_msg) self.assertEqual(60, self.battle.time_remaining) def test_capture_group_failing(self): self.battle.time_remaining = 1 - split_msg = ['', 'inactive', 'some random message'] + split_msg = ["", "inactive", "some random message"] inactive(self.battle, split_msg) self.assertEqual(1, self.battle.time_remaining) def test_capture_group_failing_but_message_starts_with_username(self): self.battle.time_remaining = 1 - split_msg = ['', 'inactive', 'Time left: some random message'] + split_msg = ["", "inactive", "Time left: some random message"] inactive(self.battle, split_msg) self.assertEqual(1, self.battle.time_remaining) def test_different_inactive_message_does_not_change_time(self): self.battle.time_remaining = 1 - split_msg = ['', 'inactive', 'Some Other Person has 10 seconds left'] + split_msg = ["", "inactive", "Some Other Person has 10 seconds left"] inactive(self.battle, split_msg) self.assertEqual(1, self.battle.time_remaining) @@ -3359,14 +4583,14 @@ def test_different_inactive_message_does_not_change_time(self): class TestInactiveOff(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' + self.battle.user.name = "p1" + self.battle.opponent.name = "p2" - self.opponent_active = Pokemon('caterpie', 100) + self.opponent_active = Pokemon("caterpie", 100) self.battle.opponent.active = self.opponent_active self.battle.opponent.active.ability = None - self.user_active = Pokemon('caterpie', 100) + self.user_active = Pokemon("caterpie", 100) self.battle.user.active = self.user_active self.battle.user.active.previous_hp = self.battle.user.active.hp @@ -3374,30 +4598,28 @@ def setUp(self): self.battle.username = self.username - self.battle.user.last_used_move = LastUsedMove('caterpie', 'tackle', 0) + self.battle.user.last_used_move = LastUsedMove("caterpie", "tackle", 0) self.battle.request_json = { constants.ACTIVE: [{constants.MOVES: []}], constants.SIDE: { constants.ID: None, constants.NAME: None, - constants.POKEMON: [ - - ], - constants.RQID: None - } + constants.POKEMON: [], + constants.RQID: None, + }, } def test_turns_timer_off(self): self.battle.time_remaining = 60 msg = ( - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|upkeep\n' + "|move|p2a: Caterpie|Tackle|\n" + "|-damage|p1a: Caterpie|186/252\n" + "|move|p1a: Caterpie|Tackle|\n" + "|-damage|p2a: Caterpie|85/100\n" + "|upkeep\n" "|inactiveoff|Battle timer is now OFF.\n" # this line is being tested - '|turn|4' + "|turn|4" ) update_battle(self.battle, msg) self.assertIsNone(self.battle.time_remaining) @@ -3407,29 +4629,35 @@ class TestGetDamageDealt(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.user.active = Pokemon('Caterpie', 100) + self.battle.user.name = "p1" + self.battle.user.active = Pokemon("Caterpie", 100) - self.battle.opponent.name = 'p2' - self.battle.opponent.active = Pokemon('Pikachu', 100) + self.battle.opponent.name = "p2" + self.battle.opponent.active = Pokemon("Pikachu", 100) def test_assigns_damage_dealt_from_opponent_to_bot(self): self.battle.user.active.max_hp = 250 self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-damage|p1a: Caterpie|200/250', # 50 / 250 = 0.20 of total health - '|', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-damage|p1a: Caterpie|200/250", # 50 / 250 = 0.20 of total health + "|", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.20, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.20, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_assigns_damage_when_bots_pokemon_has_no_last_used_move(self): @@ -3437,18 +4665,24 @@ def test_assigns_damage_when_bots_pokemon_has_no_last_used_move(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-damage|p1a: Caterpie|200/250', # 50 / 250 = 0.20 of total health - '|', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-damage|p1a: Caterpie|200/250", # 50 / 250 = 0.20 of total health + "|", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.20, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.20, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_supereffective_damage_is_captured(self): @@ -3456,19 +4690,25 @@ def test_supereffective_damage_is_captured(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|supereffective|p1a: Caterpie', - '|-damage|p1a: Caterpie|100/250', # 150 / 250 = 0.60 of total health - '|', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|supereffective|p1a: Caterpie", + "|-damage|p1a: Caterpie|100/250", # 150 / 250 = 0.60 of total health + "|", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.60, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.60, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_crit_sets_crit_flag(self): @@ -3476,19 +4716,25 @@ def test_crit_sets_crit_flag(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-crit|p1a: Caterpie', # should set crit to True - '|-damage|p1a: Caterpie|100/250', # 150 / 250 = 0.60 of total health - '|', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-crit|p1a: Caterpie", # should set crit to True + "|-damage|p1a: Caterpie|100/250", # 150 / 250 = 0.60 of total health + "|", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.60, crit=True) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.60, + crit=True, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_stop_after_the_end_of_this_move(self): @@ -3496,18 +4742,24 @@ def test_stop_after_the_end_of_this_move(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-damage|p1a: Caterpie|200/250', # 50 / 250 = 0.20 of total health - '|', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-damage|p1a: Caterpie|200/250", # 50 / 250 = 0.20 of total health + "|", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.20, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.20, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_does_not_assign_anything_when_move_does_no_damage(self): @@ -3515,11 +4767,11 @@ def test_does_not_assign_anything_when_move_does_no_damage(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Recover|p2a: Pikachu', - '|-heal|p2a: Pikachu|200/250' + "|move|p2a: Pikachu|Recover|p2a: Pikachu", + "|-heal|p2a: Pikachu|200/250", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) self.assertIsNone(damage_dealt) @@ -3529,13 +4781,13 @@ def test_does_not_catch_second_moves_damage_after_a_heal(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Recover|p2a: Pikachu', - '|-heal|p2a: Pikachu|200/250', - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|90/100', + "|move|p2a: Pikachu|Recover|p2a: Pikachu", + "|-heal|p2a: Pikachu|200/250", + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|90/100", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) self.assertIsNone(damage_dealt) @@ -3545,11 +4797,11 @@ def test_does_not_set_damage_when_status_move_occurs(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Thunder Wave|p1a: Caterpie', - '|-status|p1a: Caterpie|par', + "|move|p2a: Pikachu|Thunder Wave|p1a: Caterpie", + "|-status|p1a: Caterpie|par", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) self.assertIsNone(damage_dealt) @@ -3559,16 +4811,22 @@ def test_assigns_damage_from_move_that_causes_status_as_secondary(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Thunderbolt|p1a: Caterpie', - '|-damage|p1a: Caterpie|200/250', # 50 / 250 = 0.20 of total health - '|-status|p1a: Caterpie|par', + "|move|p2a: Pikachu|Thunderbolt|p1a: Caterpie", + "|-damage|p1a: Caterpie|200/250", # 50 / 250 = 0.20 of total health + "|-status|p1a: Caterpie|par", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='thunderbolt', percent_damage=0.20, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="thunderbolt", + percent_damage=0.20, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_assigns_damage_to_bot_on_faint(self): @@ -3578,16 +4836,22 @@ def test_assigns_damage_to_bot_on_faint(self): self.battle.user.active.hp = 1 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-damage|p1a: Caterpie|0 fnt', # 1 / 250 of health was done - '|faint|p1a: Caterpie', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-damage|p1a: Caterpie|0 fnt", # 1 / 250 of health was done + "|faint|p1a: Caterpie", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=1/250, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=1 / 250, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_assigns_damage_to_opponent_on_faint(self): @@ -3595,16 +4859,22 @@ def test_assigns_damage_to_opponent_on_faint(self): self.battle.opponent.active.hp = 2.5 messages = [ - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|0 fnt', - '|faint|p2a: Pikachu', + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|0 fnt", + "|faint|p2a: Pikachu", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='caterpie', defender='pikachu', move='tackle', percent_damage=0.01, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="caterpie", + defender="pikachu", + move="tackle", + percent_damage=0.01, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_assigns_damage_to_opponent_on_faint_from_1_hp(self): @@ -3614,16 +4884,22 @@ def test_assigns_damage_to_opponent_on_faint_from_1_hp(self): self.battle.opponent.active.hp = 1 messages = [ - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|0 fnt', # 1 / 250 of health was done - '|faint|p1a: Pikachu', + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|0 fnt", # 1 / 250 of health was done + "|faint|p1a: Pikachu", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_amount_dealt = DamageDealt(attacker='caterpie', defender='pikachu', move='tackle', percent_damage=1/250, crit=False) + expected_damage_amount_dealt = DamageDealt( + attacker="caterpie", + defender="pikachu", + move="tackle", + percent_damage=1 / 250, + crit=False, + ) self.assertEqual(expected_damage_amount_dealt, damage_dealt) def test_assigns_nothing_on_substitute(self): @@ -3634,12 +4910,12 @@ def test_assigns_nothing_on_substitute(self): self.battle.user.active.hp = 100 messages = [ - '|move|p2a: Pikachu|Substitute|p2a: Pikachu', - '|-start|p2a: Pikachu|Substitute', - '|-damage|p2a: Pikachu|75/100', # damage from sub should not be caught + "|move|p2a: Pikachu|Substitute|p2a: Pikachu", + "|-start|p2a: Pikachu|Substitute", + "|-damage|p2a: Pikachu|75/100", # damage from sub should not be caught ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) self.assertIsNone(damage_dealt) @@ -3649,16 +4925,22 @@ def test_lifeorb_does_not_assign_damage(self): self.battle.user.active.hp = 250 messages = [ - '|move|p2a: Pikachu|Tackle|p1a: Caterpie', - '|-damage|p1a: Caterpie|200/250', # 0.2 of total health - '|-damage|p2a: Pikachu|90/100|[from] item: Life Orb', + "|move|p2a: Pikachu|Tackle|p1a: Caterpie", + "|-damage|p1a: Caterpie|200/250", # 0.2 of total health + "|-damage|p2a: Pikachu|90/100|[from] item: Life Orb", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_dealt = DamageDealt(attacker='pikachu', defender='caterpie', move='tackle', percent_damage=0.20, crit=False) + expected_damage_dealt = DamageDealt( + attacker="pikachu", + defender="caterpie", + move="tackle", + percent_damage=0.20, + crit=False, + ) self.assertEqual(damage_dealt, expected_damage_dealt) def test_doing_damage_to_opponent_gets_correct_percentage(self): @@ -3667,15 +4949,21 @@ def test_doing_damage_to_opponent_gets_correct_percentage(self): self.battle.opponent.active.hp = 250 messages = [ - '|move|p1a: Caterpie|Tackle|p2a: Pikachu', - '|-damage|p2a: Pikachu|85/100', # 0.15 of total health + "|move|p1a: Caterpie|Tackle|p2a: Pikachu", + "|-damage|p2a: Pikachu|85/100", # 0.15 of total health ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) - expected_damage_dealt = DamageDealt(attacker='caterpie', defender='pikachu', move='tackle', percent_damage=0.15, crit=False) + expected_damage_dealt = DamageDealt( + attacker="caterpie", + defender="pikachu", + move="tackle", + percent_damage=0.15, + crit=False, + ) self.assertEqual(expected_damage_dealt, damage_dealt) def test_entire_message_finishing(self): @@ -3684,13 +4972,13 @@ def test_entire_message_finishing(self): self.battle.opponent.active.hp = 250 messages = [ - '|move|p1a: Caterpie|Parting Shot|p2a: Pikachu', - '|-unboost|p2a: Pikachu|atk|1', - '|-unboost|p2a: Pikachu|spa|1', - '' + "|move|p1a: Caterpie|Parting Shot|p2a: Pikachu", + "|-unboost|p2a: Pikachu|atk|1", + "|-unboost|p2a: Pikachu|spa|1", + "", ] - split_msg = messages[0].split('|') + split_msg = messages[0].split("|") damage_dealt = get_damage_dealt(self.battle, split_msg, messages[1:]) @@ -3701,492 +4989,18 @@ class TestNoInit(unittest.TestCase): def setUp(self): self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.user.active = Pokemon('Caterpie', 100) + self.battle.user.name = "p1" + self.battle.user.active = Pokemon("Caterpie", 100) - self.battle.opponent.name = 'p2' - self.battle.opponent.active = Pokemon('Pikachu', 100) + self.battle.opponent.name = "p2" + self.battle.opponent.active = Pokemon("Pikachu", 100) def test_renames_battle_when_rename_message_occurs(self): self.battle.battle_tag = "original_tag" new_battle_tag = "new_battle_tag" - msg = ( - '|noinit|rename|{}'.format(new_battle_tag) - ) + msg = "|noinit|rename|{}".format(new_battle_tag) update_battle(self.battle, msg) self.assertEqual(self.battle.battle_tag, new_battle_tag) - - -class TestCheckChoiceItem(unittest.TestCase): - def setUp(self): - self.battle = Battle(None) - self.battle.user.name = 'p1' - self.battle.opponent.name = 'p2' - - self.opponent_active = Pokemon('caterpie', 100) - self.battle.opponent.active = self.opponent_active - self.battle.opponent.active.ability = None - - self.user_active = Pokemon('caterpie', 100) - self.battle.user.active = self.user_active - self.battle.user.active.previous_hp = self.battle.user.active.hp - - self.username = "CoolUsername" - - self.battle.username = self.username - - self.battle.user.last_used_move = LastUsedMove('caterpie', 'tackle', 0) - - self.battle.request_json = { - constants.ACTIVE: [{constants.MOVES: []}], - constants.SIDE: { - constants.ID: None, - constants.NAME: None, - constants.POKEMON: [ - - ], - constants.RQID: None - } - } - - def test_guesses_choiceband_for_basic_use_case(self): - msg = ( - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual('choiceband', self.battle.opponent.active.item) - - def test_min_roll_choiceband_guesses_correctly(self): - msg = ( - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|192/252\n' # 252 - 192 = 60 is min-roll with choiceband - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual('choiceband', self.battle.opponent.active.item) - - def test_guesses_choiceband_when_bot_moves_first(self): - msg = ( - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual('choiceband', self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_knockoff_is_used(self): - self.battle.battle_type = constants.RANDOM_BATTLE - - # this request_json represents the "next-turn" - # in the next-turn, the bot's item is None - # this should NOT affect the damage calculation - the calc should still see the item from the previous turn: "unknown_item" - self.battle.request_json = { - constants.SIDE: { - "name": "PlayerTwo", - "id": "p2", - "pokemon": [ - { - "ident": "p1: Caterpie", - "details": "Caterpie, M", - "condition": "177/252", - "active": True, - "stats": { - "atk": 117, - "def": 127, - "spa": 97, - "spd": 97, - "spe": 147 - }, - "moves": [ - "tackle" - ], - "baseAbility": "shielddust", - "item": None, - "pokeball": "pokeball", - "ability": "shielddust" - } - ] - } - } - msg = ( - '|move|p2a: Caterpie|Knock Off|\n' - '|-damage|p1a: Caterpie|177/252\n' # 75 damage. This is normal damage when KnockOff gets it's boost from knocking-off an item - # this should NOT produce a choice-band guess - '|-enditem|p1a: Caterpie|Leftovers|[from] move: Knock Off|[of] p2a: Caterpie\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_can_have_choice_item_is_false(self): - msg = ( - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|upkeep\n' - '|turn|4' - ) - - self.battle.opponent.active.can_have_choice_item = False - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_damage_is_typical(self): - msg = ( - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|204/252\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_opponent_crits(self): - msg = ( - '|move|p1a: Caterpie|Tackle|\n' - '|-damage|p2a: Caterpie|85/100\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-crit|p2a: Caterpie\n' - '|-damage|p1a: Caterpie|186/252\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_bot_uses_shellsmash_just_before(self): - # the bot using shellsmash makes this attack appear to do enough to guess a choiceband - # however the reason it does this much is the negative boosts that happen due to shellsmash - msg = ( - '|move|p1a: Caterpie|Shell Smash|\n' - '|-boost|p1a: Caterpie|atk|2\n' - '|-boost|p1a: Caterpie|spa|2\n' - '|-boost|p1a: Caterpie|spe|2\n' - '|-unboost|p1a: Caterpie|def|1\n' - '|-unboost|p1a: Caterpie|spd|1\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|upkeep\n' - '|turn|4' - ) - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_guess_choiceband_when_bot_shellsmashes_but_white_herb_clears_negative_boosts(self): - # the bot uses shellsmash, gets a negative boost, and that negative boost is cleared with a whiteherb - # a choice item SHOULD be guessed based on the damage dealt - msg = ( - '|move|p1a: Caterpie|Shell Smash|\n' - '|-boost|p1a: Caterpie|atk|2\n' - '|-boost|p1a: Caterpie|spa|2\n' - '|-boost|p1a: Caterpie|spe|2\n' - '|-unboost|p1a: Caterpie|def|1\n' - '|-unboost|p1a: Caterpie|spd|1\n' - '|-enditem|p1a: Caterpie|White Herb\n' - '|-clearnegativeboost|p1a: Caterpie|[silent]\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Caterpie|186/252\n' - '|upkeep\n' - '|turn|4' - ) - update_battle(self.battle, msg) - - self.assertEqual('choiceband', self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_guts_flameorb_facade_is_used(self): - # this is a case where the opponent has a few things changing its damage - # this is the most likely place for this function to get it wrong - # the damage done by facade here should be 118 MAX - no choiceband guess - - self.battle.user.active = Pokemon('Metagross', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - - # ability = guts is not set here, it should be guessed by the statistics - self.battle.opponent.active = Pokemon('Machamp', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - self.battle.opponent.active.item = constants.UNKNOWN_ITEM - self.battle.opponent.active.status = constants.BURN - self.battle.opponent.active.ability = 'guts' - - msg = ( - '|move|p1a: Metagross|Bullet Punch|\n' - '|-damage|p2a: Machamp|183/321\n' - '|move|p2a: Machamp|Facade|\n' - '|-damage|p1a: Metagross|183/301\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_sets_can_not_have_band_or_specs_to_true_when_damage_is_too_low(self): - # the damage done was far too little for the opponent to have a band - - self.battle.user.active = Pokemon('Weedle', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - - self.battle.opponent.active = Pokemon('Caterpie', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - msg = ( - '|move|p1a: Weedle|Tackle|\n' - '|-damage|p2a: Caterpie|176/231\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Weedle|159/221\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertTrue(self.battle.opponent.active.can_not_have_band) - self.assertFalse(self.battle.opponent.active.can_not_have_specs) # should remain untouched - - def test_does_not_set_can_not_have_band_or_specs_to_true_when_damage_kills(self): - # the damage done was far too little for the opponent to have a band - # however, the attack killed, so the flag should remain `False` since we do not know enough - - self.battle.user.active = Pokemon('Weedle', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - self.battle.user.active.hp = 1 - - self.battle.opponent.active = Pokemon('Caterpie', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - msg = ( - '|move|p1a: Weedle|Tackle|\n' - '|-damage|p2a: Caterpie|176/231\n' - '|move|p2a: Caterpie|Tackle|\n' - '|-damage|p1a: Weedle|0 fnt\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertFalse(self.battle.opponent.active.can_not_have_band) - self.assertFalse(self.battle.opponent.active.can_not_have_specs) # should remain untouched - - def test_sets_can_not_have_specs_when_attack_is_special(self): - # the damage done was far too little for the opponent to have a band - - self.battle.user.active = Pokemon('Weedle', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - - self.battle.opponent.active = Pokemon('Caterpie', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - msg = ( - '|move|p1a: Weedle|Tackle|\n' - '|-damage|p2a: Caterpie|176/231\n' - '|move|p2a: Caterpie|Aura Sphere|\n' - '|-damage|p1a: Weedle|187/221\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertTrue(self.battle.opponent.active.can_not_have_specs) - self.assertFalse(self.battle.opponent.active.can_not_have_band) # should remain untouched - - def test_does_not_set_can_not_have_band_or_specs_to_true_when_pikachu_can_have_lightball(self): - self.battle.user.active = Pokemon('Metagross', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - - self.battle.opponent.active = Pokemon('Pikachu', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - msg = ( - '|move|p1a: Metagross|Bullet Punch|\n' - '|-damage|p2a: Pikachu|91/211\n' - '|move|p2a: Pikachu|Volt Tackle|\n' - '|-damage|p1a: Metagross|81/301\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertFalse(self.battle.opponent.active.can_not_have_band) - - def test_does_not_infer_choice_item_when_pikachu_can_have_a_lightball(self): - # pikachu's lightball increases damage far more than a choice item - # the logic should not infer a choice item for this amount of damage - # since a non-choice item (lightball) is possible - - self.battle.user.active = Pokemon('Metagross', 100) - self.battle.user.active.set_spread('adamant', '0,252,4,0,0,252') - - # ability = guts is not set here, it should be guessed by the statistics - self.battle.opponent.active = Pokemon('Pikachu', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - msg = ( - '|move|p1a: Metagross|Bullet Punch|\n' - '|-damage|p2a: Pikachu|91/211\n' - '|move|p2a: Pikachu|Volt Tackle|\n' - '|-damage|p1a: Metagross|81/301\n' - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_suckerpunch_is_used(self): - # suckperpunch completed successfully because the bot used an attacking move - # make sure a choice item is not guessed - - self.battle.user.active = Pokemon('Machamp', 100) - self.battle.user.active.set_spread('adamant', '0,252,0,0,4,252') - self.battle.user.active.previous_hp = self.battle.user.active.hp - - self.battle.opponent.active = Pokemon('Bisharp', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - self.battle.opponent.active.item = constants.UNKNOWN_ITEM - - msg = ( - '|move|p2a: Bisharp|Sucker Punch|\n' - '|-damage|p1a: Machamp|234/321\n' # max damage (321 - 87 = 234) - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_pursuit_does_double_damage(self): - # knockoff is expected to do double damage because of the bot switching - self.battle.user.last_used_move = LastUsedMove('machamp', 'switch caterpie', 0) - - self.battle.user.active = Pokemon('Machamp', 100) - self.battle.user.active.set_spread('adamant', '0,252,0,0,4,252') - self.battle.user.active.previous_hp = self.battle.user.active.hp - - self.battle.opponent.active = Pokemon('Bisharp', 100) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - self.battle.opponent.active.item = constants.UNKNOWN_ITEM - - msg = ( - '|move|p2a: Bisharp|Pursuit|\n' - '|-damage|p1a: Machamp|221/321\n' # max damage on switch-out (321 - 100 = 221) - '|\n' - '|upkeep\n' - '|turn|4' - ) - - update_battle(self.battle, msg) - - self.assertEqual(constants.UNKNOWN_ITEM, self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_for_special_move(self): - msg = ( - '|move|p2a: Manectric|Thunderbolt|p1a: Reuniclus\n' - '|-damage|p1a: Reuniclus|18/100\n' - '|move|p1a: Reuniclus|Recover|p1a: Reuniclus\n' - '|-heal|p1a: Reuniclus|68/100\n' - '|\n' - '|upkeep\n' - '|turn|21' - ) - - self.battle.user.last_used_move = LastUsedMove('reuniclus', 'recover', 0) - - self.battle.user.active = Pokemon('Reuniclus', 83) - self.battle.user.active.set_spread('adamant', '0,252,0,0,4,252') - - self.battle.opponent.active = Pokemon('Manectric', 82) - self.battle.opponent.active.set_spread('adamant', '0,252,4,0,0,252') - - update_battle(self.battle, msg) - - self.assertNotEqual('choiceband', self.battle.opponent.active.item) - - def test_guesses_choicespecs_for_basic_case_in_randombattle(self): - # setting randombattle uses randombattle spreads - self.battle.battle_type = constants.RANDOM_BATTLE - - msg = ( - '|move|p2a: Manectric|Thunderbolt|p1a: Reuniclus\n' - '|-damage|p1a: Reuniclus|182/318\n' # 382 - 182 = 136: min damage for specs - '|\n' - '|upkeep\n' - '|turn|21' - ) - - self.battle.user.last_used_move = LastUsedMove('reuniclus', 'recover', 0) - - self.battle.user.active = Pokemon('Reuniclus', 83) - - self.battle.opponent.active = Pokemon('Manectric', 82) - - update_battle(self.battle, msg) - - self.assertEqual('choicespecs', self.battle.opponent.active.item) - - def test_does_not_guess_choiceband_when_acrobatics_is_used(self): - # setting randombattle uses randombattle spreads - self.battle.battle_type = constants.RANDOM_BATTLE - - msg = """|move|p2a: Archeops|Acrobatics|p1a: Ferrothorn -|-damage|p1a: Ferrothorn|127/250 -|-damage|p2a: Archeops|88/100|[from] ability: Iron Barbs|[of] p1a: Ferrothorn -|-damage|p2a: Archeops|72/100|[from] item: Rocky Helmet|[of] p1a: Ferrothorn -|move|p1a: Ferrothorn|Spikes|p2a: Archeops -|-sidestart|p2: la-stabbystabs2205|Spikes""" - - self.battle.user.last_used_move = LastUsedMove('ferrothorn', 'spikes', 0) - - self.battle.user.active = Pokemon('Ferrothorn', 80) - - self.battle.opponent.active = Pokemon('Archeops', 87) - self.battle.opponent.active.item = None - - update_battle(self.battle, msg) - - self.assertEqual(None, self.battle.opponent.active.item) diff --git a/tests/test_damage_calculator.py b/tests/test_damage_calculator.py deleted file mode 100644 index 1fe83a16f..000000000 --- a/tests/test_damage_calculator.py +++ /dev/null @@ -1,411 +0,0 @@ -import unittest -from collections import defaultdict - -import constants -from showdown.engine.damage_calculator import _calculate_damage -from showdown.engine.damage_calculator import calculate_damage -from showdown.engine.objects import State -from showdown.engine.objects import Side -from showdown.engine.objects import Pokemon - -from showdown.battle import Pokemon as StatePokemon - - -class TestCalculateDamageAmount(unittest.TestCase): - def setUp(self): - self.charizard = Pokemon.from_state_pokemon_dict(StatePokemon("charizard", 100).to_dict()) - self.venusaur = Pokemon.from_state_pokemon_dict(StatePokemon("venusaur", 100).to_dict()) - - def test_fire_blast_from_charizard_to_venusaur_without_modifiers(self): - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([300], dmg) - - def test_flashfire_increases_fire_move_damage(self): - move = 'fireblast' - self.charizard.volatile_status.add('flashfire') - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([450], dmg) - - def test_stab_without_weakness_calculates_properly(self): - move = 'sludgebomb' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, calc_type='max') - self.assertEqual([130], dmg) - - def test_4x_weakness_calculates_properly(self): - move = 'rockslide' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, calc_type='max') - self.assertEqual([268], dmg) - - def test_4x_resistance_calculates_properly(self): - move = 'gigadrain' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, calc_type='max') - self.assertEqual([27], dmg) - - def test_immunity_calculates_properly(self): - move = 'earthquake' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, calc_type='max') - self.assertEqual([0], dmg) - - def test_burn_modifier_properly_halves_physical_damage(self): - move = 'rockslide' - - self.venusaur.status = constants.BURN - - dmg = _calculate_damage(self.venusaur, self.charizard, move, calc_type='max') - self.assertEqual([134], dmg) - - def test_burn_does_not_modify_special_move(self): - move = 'fireblast' - - self.venusaur.status = constants.BURN - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([300], dmg) - - def test_sun_stab_and_2x_weakness(self): - - conditions = { - 'weather': constants.SUN - } - - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - self.assertEqual([450], dmg) - - def test_sun_weakens_water_moves(self): - - conditions = { - 'weather': constants.SUN - } - - move = 'surf' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, conditions, calc_type='max') - self.assertEqual([87], dmg) - - def test_sand_increases_rock_spdef(self): - - self.venusaur.types = ['rock'] - - conditions = { - 'weather': constants.SAND - } - - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - self.assertEqual([51], dmg) - - def test_sand_does_not_double_ground_spdef(self): - - self.venusaur.types = ['water'] - - conditions = { - 'weather': constants.SAND - } - - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - self.assertEqual([75], dmg) - - def test_electric_terrain_increases_electric_damage_for_grounded_pokemon(self): - self.charizard.types = ['fire'] - - conditions = { - constants.TERRAIN: constants.ELECTRIC_TERRAIN - } - - move = 'thunderbolt' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - # normally this is 41 - self.assertEqual([53], dmg) - - def test_psychic_terrain_increases_psychic_damage(self): - self.charizard.types = ['fire'] - - conditions = { - constants.TERRAIN: constants.PSYCHIC_TERRAIN - } - - move = 'psychic' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - # normally this is 164 - self.assertEqual([213], dmg) - - def test_damage_is_not_increased_if_attacker_is_not_grounded(self): - self.charizard.types = ['fire', 'flying'] - - conditions = { - constants.TERRAIN: constants.PSYCHIC_TERRAIN - } - - move = 'psychic' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - self.assertEqual([164], dmg) - - def test_grassy_terrain_increases_grass_type_move(self): - self.charizard.types = ['fire'] - - conditions = { - constants.TERRAIN: constants.GRASSY_TERRAIN - } - - move = 'gigadrain' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - # normally this is 17 - self.assertEqual([22], dmg) - - def test_misty_terrain_halves_dragon_moves(self): - self.charizard.types = ['fire'] - - conditions = { - constants.TERRAIN: constants.MISTY_TERRAIN - } - - move = 'outrage' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - # normally this is 103 - self.assertEqual([51], dmg) - - def test_psychic_terrain_makes_priority_move_do_nothing(self): - self.charizard.types = ['fire'] - - conditions = { - constants.TERRAIN: constants.PSYCHIC_TERRAIN - } - - move = 'machpunch' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - - self.assertEqual([0], dmg) - - def test_psychic_terrain_does_not_affect_priority_on_non_grounded(self): - conditions = { - constants.TERRAIN: constants.PSYCHIC_TERRAIN - } - - move = 'machpunch' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, conditions, calc_type='max') - - self.assertNotEqual([0], dmg) - - def test_rain_properly_amplifies_water_damage(self): - - conditions = { - 'weather': constants.RAIN - } - - move = 'surf' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, conditions, calc_type='max') - self.assertEqual([261], dmg) - - def test_rain_properly_reduces_fire_damage(self): - - conditions = { - 'weather': constants.RAIN - } - - move = 'fireblast' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, conditions, calc_type='max') - self.assertEqual([26], dmg) - - def test_reflect_properly_halves_damage(self): - - conditions = { - 'reflect': 1 - } - - move = 'rockslide' - - dmg = _calculate_damage(self.venusaur, self.charizard, move, conditions, calc_type='max') - self.assertEqual([134], dmg) - - def test_light_screen_properly_halves_damage(self): - - conditions = { - 'lightscreen': 1 - } - - move = 'psychic' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - self.assertEqual([82], dmg) - - def test_aurora_veil_properly_halves_damage(self): - - conditions = { - 'auroraveil': 1 - } - - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, conditions, calc_type='max') - self.assertEqual([150], dmg) - - def test_boosts_properly_affect_damage_calculation(self): - self.charizard.special_attack_boost = 2 - - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([597], dmg) - - def test_move_versus_partially_typeless_pokemon(self): - self.venusaur.types = ["typeless", "grass"] - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([300], dmg) - - def test_move_versus_partially_typeless_pokemon_with_question_mark_type(self): - self.venusaur.types = ["???", "grass"] - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([300], dmg) - - def test_move_versus_completely_typeless_pokemon(self): - self.venusaur.types = ["typeless"] - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([150], dmg) - - def test_move_versus_completely_typeless_pokemon_with_question_mark_type(self): - self.venusaur.types = ["???"] - move = 'fireblast' - - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([150], dmg) - - def test_terastallized_pokemon_gets_2x_stab_when_terratype_in_original_types(self): - self.charizard.types = ["fire"] - self.charizard.terastallized = True - move = 'fireblast' - - # typical max damage is 300 with normal STAB - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([400], dmg) - - def test_terastallized_pokemon_gets_normal_stab_when_terratype_not_in_original_types(self): - self.charizard.types = ["water"] - self.charizard.terastallized = True - move = 'watergun' - - # watergun would do 18 damage from charizard -> venusaur normally, and 27 with STAB - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([27], dmg) - - def test_terastallized_pokemon_gets_normal_stab_with_original_types(self): - self.charizard.types = ["water"] - self.charizard.terastallized = True - move = 'fireblast' - - # 1.5x STAB should give 300 damage from charizard -> venusaur - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([300], dmg) - - def test_terastallized_pokemon_does_not_get_stab_on_nonterra_type(self): - self.charizard.types = ["fire"] - self.charizard.terastallized = True - move = 'watergun' - - # non-stab watergun should do 18 dmg - dmg = _calculate_damage(self.charizard, self.venusaur, move, calc_type='max') - self.assertEqual([18], dmg) - - -class TestCalculateDamage(unittest.TestCase): - def setUp(self): - self.blastoise = Pokemon.from_state_pokemon_dict(StatePokemon("blastoise", 100).to_dict()) - self.venusaur = Pokemon.from_state_pokemon_dict(StatePokemon("venusaur", 100).to_dict()) - - self.state = State( - Side(self.blastoise, dict(), (0, 0), defaultdict(lambda: 0), (0, 0)), - Side(self.venusaur, dict(), (0, 0), defaultdict(lambda: 0), (0, 0)), - None, - None, - None - ) - - def test_earthquake_into_levitate_does_zero_damage(self): - self.state.user.active.ability = 'levitate' - - damage_amounts = calculate_damage( - self.state, - constants.OPPONENT, - 'earthquake', - 'splash' - ) - - self.assertEqual(0, damage_amounts[0]) - - def test_bots_reflect_does_not_reduce_its_own_damage(self): - self.state.opponent.side_conditions[constants.REFLECT] = 1 - - damage_amounts = calculate_damage( - self.state, - constants.OPPONENT, - 'earthquake', - 'splash' - ) - - # should do normal damage of 68 - # the attacker (opponent) having reflect up shouldn't change anything - self.assertEqual(68, damage_amounts[0]) - - def test_moldbreaker_ignores_levitate(self): - self.state.user.active.ability = 'levitate' - self.state.opponent.active.ability = 'moldbreaker' - - damage_amounts = calculate_damage( - self.state, - constants.OPPONENT, - 'earthquake', - 'splash' - ) - - self.assertNotEqual(0, damage_amounts[0]) - - def test_solarbeam_move_produces_damage_amount(self): - damage_amounts = calculate_damage( - self.state, - constants.OPPONENT, - 'solarbeam', - 'splash' - ) - - self.assertNotEqual(0, damage_amounts[0]) - - def test_phantomforce_move_produces_damage_amount(self): - damage_amounts = calculate_damage( - self.state, - constants.OPPONENT, - 'phantomforce', - 'splash' - ) - - self.assertNotEqual(0, damage_amounts[0]) diff --git a/tests/test_decide.py b/tests/test_decide.py deleted file mode 100644 index 2a6c1ff8f..000000000 --- a/tests/test_decide.py +++ /dev/null @@ -1,167 +0,0 @@ -import unittest -from unittest import mock - -from showdown.engine.select_best_move import pick_safest -from showdown.battle_bots.nash_equilibrium.main import get_weighted_choices_from_multiple_score_lookups - - -class TestPickSafest(unittest.TestCase): - def test_returns_only_options_from_one_item_dictionary(self): - score_lookup = { - ("a", "b"): 100 - } - - safest = pick_safest(score_lookup) - expected_result = (("a", "b"), 100) - - self.assertEqual(expected_result, safest) - - def test_returns_better_option_for_two_different_moves(self): - score_lookup = { - ("a", "b"): 100, - ("c", "b"): 200 - } - - safest = pick_safest(score_lookup) - expected_result = (("c", "b"), 200) - - self.assertEqual(expected_result, safest) - - def test_returns_option_with_the_lowest_minimum_in_2_by_2(self): - score_lookup = { - ("a", "x"): 100, - ("a", "y"): -100, - ("c", "x"): 200, - ("c", "y"): -200, - } - - safest = pick_safest(score_lookup) - expected_result = (("a", "y"), -100) - - self.assertEqual(expected_result, safest) - - def test_returns_option_with_the_lowest_minimum_in_3_by_3(self): - score_lookup = { - ("a", "x"): 100, - ("a", "y"): -100, - ("a", "z"): -500, - ("c", "x"): 200, - ("c", "y"): -200, - ("c", "z"): -400, - } - - safest = pick_safest(score_lookup) - expected_result = (("c", "z"), -400) - - self.assertEqual(expected_result, safest) - - -class TestGetWeightedChoices(unittest.TestCase): - def setUp(self): - self.find_nash_equilibrium_patch = mock.patch('showdown.battle_bots.nash_equilibrium.main.find_nash_equilibrium') - self.addCleanup(self.find_nash_equilibrium_patch.stop) - self.find_nash_mock = self.find_nash_equilibrium_patch.start() - - def test_returns_even_distribution_between_two_pure_strategies(self): - self.find_nash_mock.side_effect = [ - (['a', 'b'], ['c', 'd'], [1, 0], [0, 1], None), - (['a', 'b'], ['c', 'd'], [0, 1], [0, 1], None), - ] - # choice is 'a' 100% of the time - sl1 = { - ('a', 'c'): 10, - ('a', 'd'): 10, - ('b', 'c'): -10, - ('b', 'd'): -10, - } - # choice is 'b' 100% of the time - sl2 = { - ('a', 'c'): -10, - ('a', 'd'): -10, - ('b', 'c'): 10, - ('b', 'd'): 10, - } - - score_lookups = [sl1, sl2] - - choices = get_weighted_choices_from_multiple_score_lookups(score_lookups) - expected_choices = [('a', 0.5), ('b', 0.5)] - - self.assertEqual(expected_choices, choices) - - def test_returns_correct_values_for_score_lookups_with_different_moves(self): - self.find_nash_mock.side_effect = [ - (['a', 'b'], ['c', 'd'], [1, 0], [0, 1], None), - (['e', 'f'], ['g', 'h'], [0, 1], [0, 1], None), - ] - # choice is 'a' 100% of the time - sl1 = { - ('a', 'c'): 10, - ('a', 'd'): 10, - ('b', 'c'): -10, - ('b', 'd'): -10, - } - # choice is 'f' 100% of the time - sl2 = { - ('e', 'g'): -10, - ('e', 'g'): -10, - ('f', 'h'): 10, - ('f', 'h'): 10, - } - - score_lookups = [sl1, sl2] - - choices = get_weighted_choices_from_multiple_score_lookups(score_lookups) - expected_choices = [('a', 0.5), ('b', 0), ('e', 0), ('f', 0.5)] - - self.assertEqual(expected_choices, choices) - - def test_returns_correct_values_for_score_lookups_with_different_moves_containing_some_overlap(self): - self.find_nash_mock.side_effect = [ - (['a', 'b'], ['c', 'd'], [1, 0], [0, 1], None), - (['a', 'z'], ['g', 'h'], [0.5, 0.5], [0, 1], None), - ] - sl1 = { - ('a', 'c'): 10, - ('a', 'd'): 10, - ('b', 'c'): -10, - ('b', 'd'): -10, - } - sl2 = { - ('a', 'g'): -10, - ('a', 'g'): -10, - ('z', 'h'): 10, - ('z', 'h'): 10, - } - - score_lookups = [sl1, sl2] - - choices = get_weighted_choices_from_multiple_score_lookups(score_lookups) - expected_choices = [('a', 0.75), ('b', 0), ('z', 0.25)] - - self.assertEqual(expected_choices, choices) - - def test_opponent_moves_overlapping(self): - self.find_nash_mock.side_effect = [ - (['a', 'b'], ['c', 'd'], [1, 0], [0, 1], None), - (['a', 'b'], ['c', 'e'], [0.5, 0.5], [0.5, 0.5], None), - ] - sl1 = { - ('a', 'c'): 10, - ('a', 'd'): 10, - ('b', 'c'): -10, - ('b', 'd'): -10, - } - sl2 = { - ('a', 'c'): 1, - ('a', 'e'): -1, - ('b', 'c'): -1, - ('b', 'e'): 1, - } - - score_lookups = [sl1, sl2] - - choices = get_weighted_choices_from_multiple_score_lookups(score_lookups) - expected_choices = [('a', 0.75), ('b', 0.25)] - - self.assertEqual(expected_choices, choices) diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 0f8999f1e..89cecb4e0 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -1,210 +1,71 @@ import unittest -from showdown.battle import Move -from showdown.engine.helpers import get_pokemon_info_from_condition -from showdown.engine.helpers import normalize_name -from showdown.engine.helpers import set_makes_sense -from showdown.engine.helpers import spreads_are_alike -from showdown.engine.helpers import remove_duplicate_spreads -from showdown.engine.objects import State - - -class TestBattleIsOver(unittest.TestCase): - def setUp(self): - self.state_json = {'user': {'active': {'id': 'keldeo', 'level': 100, 'hp': 323, 'maxhp': 344, 'ability': 'justified', 'item': None, 'baseStats': {'hp': 91, 'attack': 72, 'defense': 90, 'special-attack': 129, 'special-defense': 90, 'speed': 108}, 'attack': 201, 'defense': 237, 'special-attack': 315, 'special-defense': 237, 'speed': 273, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 1, 'special_defense_boost': 1, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'calmmind', 'disabled': False, 'current_pp': 31}, {'id': 'hydropump', 'disabled': False, 'current_pp': 7}, {'id': 'secretsword', 'disabled': False, 'current_pp': 15}, {'id': 'taunt', 'disabled': False, 'current_pp': 32}], 'types': ['water', 'fighting'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'landorustherian': {'id': 'landorustherian', 'level': 100, 'hp': 319, 'maxhp': 340, 'ability': 'intimidate', 'item': None, 'baseStats': {'hp': 89, 'attack': 145, 'defense': 90, 'special-attack': 105, 'special-defense': 80, 'speed': 91}, 'attack': 347, 'defense': 237, 'special-attack': 267, 'special-defense': 217, 'speed': 239, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'stealthrock', 'disabled': False, 'current_pp': 32}, {'id': 'earthquake', 'disabled': False, 'current_pp': 16}, {'id': 'explosion', 'disabled': False, 'current_pp': 8}, {'id': 'swordsdance', 'disabled': False, 'current_pp': 32}], 'types': ['ground', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'tornadustherian': {'id': 'tornadustherian', 'level': 100, 'hp': 362, 'maxhp': 320, 'ability': 'regenerator', 'item': None, 'baseStats': {'hp': 79, 'attack': 100, 'defense': 80, 'special-attack': 110, 'special-defense': 90, 'speed': 121}, 'attack': 257, 'defense': 217, 'special-attack': 277, 'special-defense': 237, 'speed': 299, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'hurricane', 'disabled': False, 'current_pp': 16}, {'id': 'defog', 'disabled': False, 'current_pp': 24}, {'id': 'knockoff', 'disabled': False, 'current_pp': 32}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}], 'types': ['flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'diancie': {'id': 'diancie', 'level': 100, 'hp': 241, 'maxhp': 262, 'ability': 'clearbody', 'item': None, 'baseStats': {'hp': 50, 'attack': 100, 'defense': 150, 'special-attack': 100, 'special-defense': 150, 'speed': 50}, 'attack': 257, 'defense': 357, 'special-attack': 257, 'special-defense': 357, 'speed': 157, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'moonblast', 'disabled': False, 'current_pp': 24}, {'id': 'diamondstorm', 'disabled': False, 'current_pp': 8}, {'id': 'substitute', 'disabled': False, 'current_pp': 16}, {'id': 'endeavor', 'disabled': False, 'current_pp': 8}], 'types': ['rock', 'fairy'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'victini': {'id': 'victini', 'level': 100, 'hp': 341, 'maxhp': 362, 'ability': 'victorystar', 'item': None, 'baseStats': {'hp': 100, 'attack': 100, 'defense': 100, 'special-attack': 100, 'special-defense': 100, 'speed': 100}, 'attack': 257, 'defense': 257, 'special-attack': 257, 'special-defense': 257, 'speed': 257, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'vcreate', 'disabled': False, 'current_pp': 8}, {'id': 'boltstrike', 'disabled': False, 'current_pp': 8}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}, {'id': 'finalgambit', 'disabled': False, 'current_pp': 8}], 'types': ['psychic', 'fire'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'bisharp': {'id': 'bisharp', 'level': 100, 'hp': 271, 'maxhp': 292, 'ability': 'defiant', 'item': None, 'baseStats': {'hp': 65, 'attack': 125, 'defense': 100, 'special-attack': 60, 'special-defense': 70, 'speed': 70}, 'attack': 307, 'defense': 257, 'special-attack': 177, 'special-defense': 197, 'speed': 197, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'knockoff', 'disabled': False, 'current_pp': 32}, {'id': 'ironhead', 'disabled': False, 'current_pp': 24}, {'id': 'suckerpunch', 'disabled': False, 'current_pp': 8}, {'id': 'swordsdance', 'disabled': False, 'current_pp': 32}], 'types': ['dark', 'steel'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'tailwind': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0}, 'trapped': False}, 'opponent': {'active': {'id': 'manaphy', 'level': 100, 'hp': 86.88, 'maxhp': 362, 'ability': 'hydration', 'item': 'Leftovers', 'baseStats': {'hp': 100, 'attack': 100, 'defense': 100, 'special-attack': 100, 'special-defense': 100, 'speed': 100}, 'attack': 257, 'defense': 257, 'special-attack': 257, 'special-defense': 257, 'speed': 257, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 6, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'tailglow', 'disabled': False, 'current_pp': 32}], 'types': ['water'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'mamoswine': {'id': 'mamoswine', 'level': 100, 'hp': 382, 'maxhp': 382, 'ability': None, 'item': None, 'baseStats': {'hp': 110, 'attack': 130, 'defense': 80, 'special-attack': 70, 'special-defense': 60, 'speed': 80}, 'attack': 317, 'defense': 217, 'special-attack': 197, 'special-defense': 177, 'speed': 217, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['ice', 'ground'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'alakazam': {'id': 'alakazam', 'level': 100, 'hp': 272, 'maxhp': 272, 'ability': None, 'item': None, 'baseStats': {'hp': 55, 'attack': 50, 'defense': 45, 'special-attack': 135, 'special-defense': 95, 'speed': 120}, 'attack': 157, 'defense': 147, 'special-attack': 327, 'special-defense': 247, 'speed': 297, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['psychic'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'stakataka': {'id': 'stakataka', 'level': 100, 'hp': 284, 'maxhp': 284, 'ability': 'beastboost', 'item': None, 'baseStats': {'hp': 61, 'attack': 131, 'defense': 211, 'special-attack': 53, 'special-defense': 101, 'speed': 13}, 'attack': 319, 'defense': 479, 'special-attack': 163, 'special-defense': 259, 'speed': 83, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['rock', 'steel'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'moltres': {'id': 'moltres', 'level': 100, 'hp': 342, 'maxhp': 342, 'ability': None, 'item': None, 'baseStats': {'hp': 90, 'attack': 100, 'defense': 90, 'special-attack': 125, 'special-defense': 85, 'speed': 90}, 'attack': 257, 'defense': 237, 'special-attack': 307, 'special-defense': 227, 'speed': 237, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['fire', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'gliscor': {'id': 'gliscor', 'level': 100, 'hp': 312, 'maxhp': 312, 'ability': None, 'item': None, 'baseStats': {'hp': 75, 'attack': 95, 'defense': 125, 'special-attack': 45, 'special-defense': 75, 'speed': 95}, 'attack': 247, 'defense': 307, 'special-attack': 147, 'special-defense': 207, 'speed': 247, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['ground', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'tailwind': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0}, 'trapped': False}, 'weather': None, 'field': None, 'forceSwitch': False, 'wait': False, 'trickroom': False} - self.state = State.from_dict(self.state_json) - - def test_returns_true_when_all_pokemon_for_user_are_dead(self): - self.state.user.active.hp = 0 - for pkmn in self.state.user.reserve.values(): - pkmn.hp = 0 - - self.assertTrue(self.state.battle_is_finished()) - - def test_returns_true_when_all_pokemon_for_opponent_are_dead(self): - self.state.opponent.active.hp = 0 - for pkmn in self.state.opponent.reserve.values(): - pkmn.hp = 0 - - self.assertTrue(self.state.battle_is_finished()) - - def test_returns_false_when_all_pokemon_are_alive(self): - self.assertFalse(self.state.battle_is_finished()) - - def test_returns_false_when_only_active_is_dead(self): - self.state.opponent.active.hp = 0 - self.assertFalse(self.state.battle_is_finished()) - - def test_returns_false_when_only_reserve_are_dead(self): - for pkmn in self.state.user.reserve.values(): - pkmn.hp = 0 - self.assertFalse(self.state.battle_is_finished()) - - def test_returns_false_when_all_pokemon_are_alive_for_opponent(self): - self.assertFalse(self.state.battle_is_finished()) - - def test_returns_false_when_only_active_is_dead_for_opponent(self): - self.state.opponent.active.hp = 0 - self.assertFalse(self.state.battle_is_finished()) - - def test_returns_false_when_only_reserve_are_dead_for_opponent(self): - for pkmn in self.state.opponent.reserve.values(): - pkmn.hp = 0 - self.assertFalse(self.state.battle_is_finished()) +from data.pkmn_sets import spreads_are_alike +from fp.helpers import get_pokemon_info_from_condition +from fp.helpers import normalize_name class TestSpreadsAreAlike(unittest.TestCase): def test_two_similar_spreads_are_alike(self): - s1 = ('jolly', '0,0,0,252,4,252') - s2 = ('jolly', '0,0,4,252,0,252') + s1 = ("jolly", "0,0,0,252,4,252") + s2 = ("jolly", "0,0,4,252,0,252") self.assertTrue(spreads_are_alike(s1, s2)) def test_different_natures_are_not_alike(self): - s1 = ('jolly', '0,0,0,252,4,252') - s2 = ('modest', '0,0,4,252,0,252') + s1 = ("jolly", "0,0,0,252,4,252") + s2 = ("modest", "0,0,4,252,0,252") self.assertFalse(spreads_are_alike(s1, s2)) def test_custom_is_not_the_same_as_max_values(self): - s1 = ('jolly', '16,0,0,252,0,240') - s2 = ('modest', '0,0,4,252,0,252') + s1 = ("jolly", "16,0,0,252,0,240") + s2 = ("modest", "0,0,4,252,0,252") self.assertFalse(spreads_are_alike(s1, s2)) def test_very_similar_returns_true(self): - s1 = ('modest', '16,0,0,252,0,240') - s2 = ('modest', '28,0,4,252,0,252') + s1 = ("modest", "16,0,0,252,0,240") + s2 = ("modest", "28,0,4,252,0,252") self.assertTrue(spreads_are_alike(s1, s2)) -class TestRemoveDuplicateSpreads(unittest.TestCase): - def test_only_one_spread_remains_when_all_are_alike(self): - s1 = ('jolly', '0,0,0,252,4,252') - s2 = ('jolly', '0,0,4,252,0,252') - s3 = ('jolly', '0,4,0,252,0,252') - s4 = ('jolly', '4,0,0,252,0,252') - - spreads = [s1, s2, s3, s4] - - expected_result = [s1] - - self.assertEqual(expected_result, remove_duplicate_spreads(spreads)) - - def test_different_spreads_remain(self): - s1 = ('jolly', '0,0,0,252,4,252') - s2 = ('adamant', '0,0,4,252,0,252') - s3 = ('jolly', '0,4,0,252,0,252') - s4 = ('jolly', '4,0,0,252,0,252') - - spreads = [s1, s2, s3, s4] - - expected_result = [s1, s2] - - self.assertEqual(expected_result, remove_duplicate_spreads(spreads)) - - def test_all_spreads_remain(self): - s1 = ('jolly', '0,0,0,252,4,252') - s2 = ('adamant', '0,0,4,252,0,252') - s3 = ('jolly', '0,108,0,148,0,252') - s4 = ('adamant', '104,0,0,152,0,252') - - spreads = [s1, s2, s3, s4] - - expected_result = [s1, s2, s3, s4] - - self.assertEqual(expected_result, remove_duplicate_spreads(spreads)) - - -class TestSetMakesSense(unittest.TestCase): - def test_standard_set_makes_sense(self): - nature = 'jolly' - spread = '0,0,0,252,4,252' - item = 'unknown_item' - ability = 'intimidate' - moves = [] - - self.assertTrue(set_makes_sense(nature, spread, item, ability, moves)) - - def test_swordsdance_with_choiceband_does_not_make_sense(self): - nature = 'jolly' - spread = '0,0,0,252,4,252' - item = 'choiceband' - ability = 'intimidate' - moves = [Move('swordsdance')] - - self.assertFalse(set_makes_sense(nature, spread, item, ability, moves)) - - def test_nastyplot_with_choicespecs_does_not_make_sense(self): - nature = 'jolly' - spread = '0,0,0,252,4,252' - item = 'choicespecs' - ability = 'intimidate' - moves = [Move('nastyplot')] - - self.assertFalse(set_makes_sense(nature, spread, item, ability, moves)) - - def test_multiple_move_nastyplot_with_choicespecs_does_not_make_sense(self): - nature = 'jolly' - spread = '0,0,0,252,4,252' - item = 'choicespecs' - ability = 'intimidate' - moves = [ - Move('nastyplot'), - Move('darkpulse'), - Move('thunderbolt'), - ] - - self.assertFalse(set_makes_sense(nature, spread, item, ability, moves)) - - def test_trick_with_scarf_makes_sense(self): - nature = 'jolly' - spread = '0,0,0,252,4,252' - item = 'choicescarf' - ability = 'intimidate' - moves = [ - Move('trick'), - Move('darkpulse'), - Move('thunderbolt'), - ] - - self.assertTrue(set_makes_sense(nature, spread, item, ability, moves)) - - class TestNormalizeName(unittest.TestCase): def test_removes_nonascii_characters(self): - n = 'Flabébé' - expected_result = 'flabebe' + n = "Flabébé" + expected_result = "flabebe" result = normalize_name(n) self.assertEqual(expected_result, result) class TestGetPokemonInfoFromCondition(unittest.TestCase): - def setUp(self): - self.state_json = {'user': {'active': {'id': 'keldeo', 'level': 100, 'hp': 323, 'maxhp': 344, 'ability': 'justified', 'item': None, 'baseStats': {'hp': 91, 'attack': 72, 'defense': 90, 'special-attack': 129, 'special-defense': 90, 'speed': 108}, 'attack': 201, 'defense': 237, 'special-attack': 315, 'special-defense': 237, 'speed': 273, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 1, 'special_defense_boost': 1, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'calmmind', 'disabled': False, 'current_pp': 31}, {'id': 'hydropump', 'disabled': False, 'current_pp': 7}, {'id': 'secretsword', 'disabled': False, 'current_pp': 15}, {'id': 'taunt', 'disabled': False, 'current_pp': 32}], 'types': ['water', 'fighting'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'landorustherian': {'id': 'landorustherian', 'level': 100, 'hp': 319, 'maxhp': 340, 'ability': 'intimidate', 'item': None, 'baseStats': {'hp': 89, 'attack': 145, 'defense': 90, 'special-attack': 105, 'special-defense': 80, 'speed': 91}, 'attack': 347, 'defense': 237, 'special-attack': 267, 'special-defense': 217, 'speed': 239, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'stealthrock', 'disabled': False, 'current_pp': 32}, {'id': 'earthquake', 'disabled': False, 'current_pp': 16}, {'id': 'explosion', 'disabled': False, 'current_pp': 8}, {'id': 'swordsdance', 'disabled': False, 'current_pp': 32}], 'types': ['ground', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'tornadustherian': {'id': 'tornadustherian', 'level': 100, 'hp': 362, 'maxhp': 320, 'ability': 'regenerator', 'item': None, 'baseStats': {'hp': 79, 'attack': 100, 'defense': 80, 'special-attack': 110, 'special-defense': 90, 'speed': 121}, 'attack': 257, 'defense': 217, 'special-attack': 277, 'special-defense': 237, 'speed': 299, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'hurricane', 'disabled': False, 'current_pp': 16}, {'id': 'defog', 'disabled': False, 'current_pp': 24}, {'id': 'knockoff', 'disabled': False, 'current_pp': 32}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}], 'types': ['flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'diancie': {'id': 'diancie', 'level': 100, 'hp': 241, 'maxhp': 262, 'ability': 'clearbody', 'item': None, 'baseStats': {'hp': 50, 'attack': 100, 'defense': 150, 'special-attack': 100, 'special-defense': 150, 'speed': 50}, 'attack': 257, 'defense': 357, 'special-attack': 257, 'special-defense': 357, 'speed': 157, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'moonblast', 'disabled': False, 'current_pp': 24}, {'id': 'diamondstorm', 'disabled': False, 'current_pp': 8}, {'id': 'substitute', 'disabled': False, 'current_pp': 16}, {'id': 'endeavor', 'disabled': False, 'current_pp': 8}], 'types': ['rock', 'fairy'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'victini': {'id': 'victini', 'level': 100, 'hp': 341, 'maxhp': 362, 'ability': 'victorystar', 'item': None, 'baseStats': {'hp': 100, 'attack': 100, 'defense': 100, 'special-attack': 100, 'special-defense': 100, 'speed': 100}, 'attack': 257, 'defense': 257, 'special-attack': 257, 'special-defense': 257, 'speed': 257, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'vcreate', 'disabled': False, 'current_pp': 8}, {'id': 'boltstrike', 'disabled': False, 'current_pp': 8}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}, {'id': 'finalgambit', 'disabled': False, 'current_pp': 8}], 'types': ['psychic', 'fire'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'bisharp': {'id': 'bisharp', 'level': 100, 'hp': 271, 'maxhp': 292, 'ability': 'defiant', 'item': None, 'baseStats': {'hp': 65, 'attack': 125, 'defense': 100, 'special-attack': 60, 'special-defense': 70, 'speed': 70}, 'attack': 307, 'defense': 257, 'special-attack': 177, 'special-defense': 197, 'speed': 197, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'knockoff', 'disabled': False, 'current_pp': 32}, {'id': 'ironhead', 'disabled': False, 'current_pp': 24}, {'id': 'suckerpunch', 'disabled': False, 'current_pp': 8}, {'id': 'swordsdance', 'disabled': False, 'current_pp': 32}], 'types': ['dark', 'steel'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'tailwind': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0}, 'trapped': False}, 'opponent': {'active': {'id': 'manaphy', 'level': 100, 'hp': 86.88, 'maxhp': 362, 'ability': 'hydration', 'item': 'Leftovers', 'baseStats': {'hp': 100, 'attack': 100, 'defense': 100, 'special-attack': 100, 'special-defense': 100, 'speed': 100}, 'attack': 257, 'defense': 257, 'special-attack': 257, 'special-defense': 257, 'speed': 257, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 6, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'tailglow', 'disabled': False, 'current_pp': 32}], 'types': ['water'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'mamoswine': {'id': 'mamoswine', 'level': 100, 'hp': 382, 'maxhp': 382, 'ability': None, 'item': None, 'baseStats': {'hp': 110, 'attack': 130, 'defense': 80, 'special-attack': 70, 'special-defense': 60, 'speed': 80}, 'attack': 317, 'defense': 217, 'special-attack': 197, 'special-defense': 177, 'speed': 217, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['ice', 'ground'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'alakazam': {'id': 'alakazam', 'level': 100, 'hp': 272, 'maxhp': 272, 'ability': None, 'item': None, 'baseStats': {'hp': 55, 'attack': 50, 'defense': 45, 'special-attack': 135, 'special-defense': 95, 'speed': 120}, 'attack': 157, 'defense': 147, 'special-attack': 327, 'special-defense': 247, 'speed': 297, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['psychic'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'stakataka': {'id': 'stakataka', 'level': 100, 'hp': 284, 'maxhp': 284, 'ability': 'beastboost', 'item': None, 'baseStats': {'hp': 61, 'attack': 131, 'defense': 211, 'special-attack': 53, 'special-defense': 101, 'speed': 13}, 'attack': 319, 'defense': 479, 'special-attack': 163, 'special-defense': 259, 'speed': 83, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['rock', 'steel'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'moltres': {'id': 'moltres', 'level': 100, 'hp': 342, 'maxhp': 342, 'ability': None, 'item': None, 'baseStats': {'hp': 90, 'attack': 100, 'defense': 90, 'special-attack': 125, 'special-defense': 85, 'speed': 90}, 'attack': 257, 'defense': 237, 'special-attack': 307, 'special-defense': 227, 'speed': 237, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['fire', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'gliscor': {'id': 'gliscor', 'level': 100, 'hp': 312, 'maxhp': 312, 'ability': None, 'item': None, 'baseStats': {'hp': 75, 'attack': 95, 'defense': 125, 'special-attack': 45, 'special-defense': 75, 'speed': 95}, 'attack': 247, 'defense': 307, 'special-attack': 147, 'special-defense': 207, 'speed': 247, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'status': None, 'volatileStatus': [], 'moves': [], 'types': ['ground', 'flying'], 'canMegaEvo': False, 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'tailwind': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0}, 'trapped': False}, 'weather': None, 'field': None, 'forceSwitch': False, 'wait': False, 'trickroom': False} - self.state = State.from_dict(self.state_json) - def test_basic_case(self): - condition_string = '100/100' + condition_string = "100/100" expected_results = 100, 100, None - self.assertEqual(expected_results, get_pokemon_info_from_condition(condition_string)) + self.assertEqual( + expected_results, get_pokemon_info_from_condition(condition_string) + ) def test_burned_case(self): - condition_string = '100/100 brn' - expected_results = 100, 100, 'brn' + condition_string = "100/100 brn" + expected_results = 100, 100, "brn" - self.assertEqual(expected_results, get_pokemon_info_from_condition(condition_string)) + self.assertEqual( + expected_results, get_pokemon_info_from_condition(condition_string) + ) def test_poisoned_case(self): - condition_string = '121/403 psn' - expected_results = 121, 403, 'psn' + condition_string = "121/403 psn" + expected_results = 121, 403, "psn" - self.assertEqual(expected_results, get_pokemon_info_from_condition(condition_string)) + self.assertEqual( + expected_results, get_pokemon_info_from_condition(condition_string) + ) def test_fainted_case(self): - condition_string = '0/100 fnt' + condition_string = "0/100 fnt" self.assertEqual(0, get_pokemon_info_from_condition(condition_string)[0]) diff --git a/tests/test_initialize_battler.py b/tests/test_initialize_battler.py index 670b930d9..3bc1a6798 100644 --- a/tests/test_initialize_battler.py +++ b/tests/test_initialize_battler.py @@ -1,672 +1,493 @@ import unittest -from showdown.battle import Battler -from showdown.battle import Pokemon +import constants +from fp.battle import Battler, Move +from fp.battle import Pokemon -class TestInitializeBattler(unittest.TestCase): + +class TestUpdateFromRequestJson(unittest.TestCase): def setUp(self): self.battler = Battler() - def test_initialize_with_z_move_available(self): + def test_basic_updating_attributes_for_active_pkmn(self): request_dict = { - "active": [ - { - "moves": [ - { - "move": "Swords Dance", - "id": "swordsdance", - "pp": 32, - "maxpp": 32, - "target": "self", - "disabled": False - }, + "active": [ { - "move": "Photon Geyser", - "id": "photongeyser", - "pp": 8, - "maxpp": 8, - "target": "normal", - "disabled": False - }, - { - "move": "Earthquake", - "id": "earthquake", - "pp": 16, - "maxpp": 16, - "target": "allAdjacent", - "disabled": False - }, - { - "move": "Stone Edge", - "id": "stoneedge", - "pp": 8, - "maxpp": 8, - "target": "normal", - "disabled": False + "moves": [ + { + "move": "Volt Tackle", + "id": "volttackle", + "pp": 32, + "maxpp": 32, + "target": "self", + "disabled": False, + }, + { + "move": "Thunderbolt", + "id": "thunderbolt", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + { + "move": "Hidden Power Ice 60", + "id": "hiddenpower", + "pp": 16, + "maxpp": 16, + "target": "allAdjacent", + "disabled": False, + }, + { + "move": "Nasty Plot", + "id": "nastyplot", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + ], } - ], - "canZMove": [ - None, - { - "move": "Light That Burns the Sky", - "target": "normal" - }, - None, - None - ] - } - ], - "side": { - "name": "BigBluePikachu", - "id": "p2", - "pokemon": [ - { - "ident": "p2: Necrozma", - "details": "Necrozma-Ultra", - "condition": "152/335", - "active": True, - "stats": { - "atk": 433, - "def": 238, - "spa": 333, - "spd": 230, - "spe": 385 - }, - "moves": [ - "swordsdance", - "photongeyser", - "earthquake", - "stoneedge" + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p2: PikachuNickname", + "details": "Pikachu, L84, M", + "condition": "152/335", + "active": True, + "stats": { + "atk": 200, + "def": 210, + "spa": 220, + "spd": 230, + "spe": 240, + }, + "moves": [ + "volttackle", + "thunderbolt", + "hiddenpowerice60", + "nastyplot", + ], + "baseAbility": "static", + "item": "lightball", + "ability": "static", + }, ], - "baseAbility": "neuroforce", - "item": "ultranecroziumz", - "pokeball": "pokeball", - "ability": "neuroforce" - }, - { - "ident": "p2: Groudon", - "details": "Groudon", - "condition": "386/386", - "active": False, - "stats": { - "atk": 336, - "def": 284, - "spa": 328, - "spd": 216, - "spe": 235 - }, - "moves": [ - "overheat", - "stealthrock", - "precipiceblades", - "toxic" - ], - "baseAbility": "drought", - "item": "redorb", - "pokeball": "pokeball", - "ability": "drought" - }, - { - "ident": "p2: Xerneas", - "details": "Xerneas", - "condition": "393/393", - "active": False, - "stats": { - "atk": 268, - "def": 226, - "spa": 397, - "spd": 233, - "spe": 297 - }, - "moves": [ - "moonblast", - "focusblast", - "aromatherapy", - "thunder" - ], - "baseAbility": "fairyaura", - "item": "choicescarf", - "pokeball": "pokeball", - "ability": "fairyaura" - }, - { - "ident": "p2: Darkrai", - "details": "Darkrai", - "condition": "281/281", - "active": False, - "stats": { - "atk": 194, - "def": 217, - "spa": 369, - "spd": 216, - "spe": 383 - }, - "moves": [ - "nastyplot", - "darkpulse", - "hypnosis", - "thunder" - ], - "baseAbility": "baddreams", - "item": "lifeorb", - "pokeball": "pokeball", - "ability": "baddreams" - }, - { - "ident": "p2: Arceus", - "details": "Arceus-Dragon", - "condition": "444/444", - "active": False, - "stats": { - "atk": 248, - "def": 292, - "spa": 276, - "spd": 276, - "spe": 356 - }, - "moves": [ - "judgment", - "fireblast", - "defog", - "recover" - ], - "baseAbility": "multitype", - "item": "dracoplate", - "pokeball": "pokeball", - "ability": "multitype" - }, - { - "ident": "p2: Celesteela", - "details": "Celesteela", - "condition": "397/397", - "active": False, - "stats": { - "atk": 238, - "def": 335, - "spa": 225, - "spd": 240, - "spe": 158 - }, - "moves": [ - "leechseed", - "heavyslam", - "toxic", - "flamethrower" - ], - "baseAbility": "beastboost", - "item": "leftovers", - "pokeball": "pokeball", - "ability": "beastboost" - } - ] - }, - "rqid": 7 + }, } + self.battler.active = Pokemon("pikachu", 100) - self.battler.active = Pokemon('pikachu', 100) - self.battler.from_json(request_dict) - - # photongeyser is a z-move with the request dict given above - photon_geyser = self.battler.active.get_move('photongeyser') + self.battler.update_from_request_json(request_dict) - self.assertTrue(photon_geyser.can_z) + self.assertEqual(self.battler.active.nickname, "PikachuNickname") + self.assertEqual(self.battler.active.status, None) + self.assertEqual(self.battler.active.level, 84) + self.assertEqual(self.battler.active.hp, 152) + self.assertEqual(self.battler.active.max_hp, 335) + self.assertEqual(self.battler.active.ability, "static") + self.assertEqual(self.battler.active.item, "lightball") + self.assertEqual( + self.battler.active.stats, + { + "attack": 200, + "defense": 210, + "special-attack": 220, + "special-defense": 230, + "speed": 240, + }, + ) + self.assertEqual( + self.battler.active.moves, + [ + Move("volttackle"), + Move("thunderbolt"), + Move("hiddenpowerice"), + Move("nastyplot"), + ], + ) - def test_initialize_with_hidden_power_produces_correct_hidden_power(self): + def test_sets_trapped(self): request_dict = { - "active": [ - { - "moves": [ - { - "move": "Swords Dance", - "id": "swordsdance", - "pp": 32, - "maxpp": 32, - "target": "self", - "disabled": False - }, - { - "move": "Photon Geyser", - "id": "photongeyser", - "pp": 8, - "maxpp": 8, - "target": "normal", - "disabled": False - }, + "active": [ { - "move": "Earthquake", - "id": "earthquake", - "pp": 16, - "maxpp": 16, - "target": "allAdjacent", - "disabled": False - }, - { - "move": "Hidden Power Fire", - "id": "hiddenpower", - "pp": 24, - "maxpp": 24, - "target": "normal", - "disabled": False - }, - ] - } - ], - "side": { - "name": "BigBluePikachu", - "id": "p2", - "pokemon": [ - { - "ident": "p2: Necrozma", - "details": "Necrozma", - "condition": "152/335", - "active": True, - "stats": { - "atk": 433, - "def": 238, - "spa": 333, - "spd": 230, - "spe": 385 - }, - "moves": [ - "swordsdance", - "photongeyser", - "earthquake", - "stoneedge" - ], - "baseAbility": "neuroforce", - "item": "ultranecroziumz", - "pokeball": "pokeball", - "ability": "neuroforce" - }, - { - "ident": "p2: Groudon", - "details": "Groudon", - "condition": "386/386", - "active": False, - "stats": { - "atk": 336, - "def": 284, - "spa": 328, - "spd": 216, - "spe": 235 - }, - "moves": [ - "overheat", - "stealthrock", - "precipiceblades", - "toxic" - ], - "baseAbility": "drought", - "item": "redorb", - "pokeball": "pokeball", - "ability": "drought" - }, - { - "ident": "p2: Xerneas", - "details": "Xerneas", - "condition": "393/393", - "active": False, - "stats": { - "atk": 268, - "def": 226, - "spa": 397, - "spd": 233, - "spe": 297 - }, - "moves": [ - "moonblast", - "focusblast", - "aromatherapy", - "thunder" - ], - "baseAbility": "fairyaura", - "item": "choicescarf", - "pokeball": "pokeball", - "ability": "fairyaura" - }, - { - "ident": "p2: Darkrai", - "details": "Darkrai", - "condition": "281/281", - "active": False, - "stats": { - "atk": 194, - "def": 217, - "spa": 369, - "spd": 216, - "spe": 383 - }, - "moves": [ - "nastyplot", - "darkpulse", - "hypnosis", - "thunder" - ], - "baseAbility": "baddreams", - "item": "lifeorb", - "pokeball": "pokeball", - "ability": "baddreams" - }, - { - "ident": "p2: Arceus", - "details": "Arceus-Dragon", - "condition": "444/444", - "active": False, - "stats": { - "atk": 248, - "def": 292, - "spa": 276, - "spd": 276, - "spe": 356 - }, - "moves": [ - "judgment", - "fireblast", - "defog", - "recover" - ], - "baseAbility": "multitype", - "item": "dracoplate", - "pokeball": "pokeball", - "ability": "multitype" - }, - { - "ident": "p2: Celesteela", - "details": "Celesteela", - "condition": "397/397", - "active": False, - "stats": { - "atk": 238, - "def": 335, - "spa": 225, - "spd": 240, - "spe": 158 - }, - "moves": [ - "leechseed", - "heavyslam", - "toxic", - "flamethrower" + "trapped": True, + "moves": [ + { + "move": "Volt Tackle", + "id": "volttackle", + "pp": 32, + "maxpp": 32, + "target": "self", + "disabled": False, + }, + { + "move": "Thunderbolt", + "id": "thunderbolt", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + { + "move": "Hidden Power Ice 60", + "id": "hiddenpower", + "pp": 16, + "maxpp": 16, + "target": "allAdjacent", + "disabled": False, + }, + { + "move": "Nasty Plot", + "id": "nastyplot", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + ], + } + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p2: PikachuNickname", + "details": "Pikachu, L84, M", + "condition": "152/335", + "active": True, + "stats": { + "atk": 200, + "def": 210, + "spa": 220, + "spd": 230, + "spe": 240, + }, + "moves": [ + "volttackle", + "thunderbolt", + "hiddenpowerice60", + "nastyplot", + ], + "baseAbility": "static", + "item": "lightball", + "ability": "static", + }, ], - "baseAbility": "beastboost", - "item": "leftovers", - "pokeball": "pokeball", - "ability": "beastboost" - } - ] - }, - "rqid": 7 + }, } + self.battler.active = Pokemon("pikachu", 100) - self.battler.active = Pokemon('pikachu', 100) - self.battler.from_json(request_dict) - - hiddenpowerfire = self.battler.active.get_move('hiddenpowerfire60') + self.battler.update_from_request_json(request_dict) - self.assertTrue(hiddenpowerfire) + self.assertTrue(self.battler.trapped) - def test_initialize_pokemon_with_no_item(self): + def test_active_optional_attributes(self): request_dict = { - "active": [ - { - "moves": [ - { - "move": "Swords Dance", - "id": "swordsdance", - "pp": 32, - "maxpp": 32, - "target": "self", - "disabled": False - }, - { - "move": "Photon Geyser", - "id": "photongeyser", - "pp": 8, - "maxpp": 8, - "target": "normal", - "disabled": False - }, + "active": [ { - "move": "Earthquake", - "id": "earthquake", - "pp": 16, - "maxpp": 16, - "target": "allAdjacent", - "disabled": False - }, - { - "move": "Hidden Power Fire", - "id": "hiddenpower", - "pp": 24, - "maxpp": 24, - "target": "normal", - "disabled": False - }, - ] - } - ], - "side": { - "name": "BigBluePikachu", - "id": "p2", - "pokemon": [ - { - "ident": "p2: Necrozma", - "details": "Necrozma", - "condition": "152/335", - "active": True, - "stats": { - "atk": 433, - "def": 238, - "spa": 333, - "spd": 230, - "spe": 385 - }, - "moves": [ - "swordsdance", - "photongeyser", - "earthquake", - "stoneedge" - ], - "baseAbility": "neuroforce", - "item": "ultranecroziumz", - "pokeball": "pokeball", - "ability": "neuroforce" - }, - { - "ident": "p2: Groudon", - "details": "Groudon", - "condition": "386/386", - "active": False, - "stats": { - "atk": 336, - "def": 284, - "spa": 328, - "spd": 216, - "spe": 235 - }, - "moves": [ - "overheat", - "stealthrock", - "precipiceblades", - "toxic" - ], - "baseAbility": "drought", - "item": "", - "pokeball": "pokeball", - "ability": "drought" - }, - { - "ident": "p2: Xerneas", - "details": "Xerneas", - "condition": "393/393", - "active": False, - "stats": { - "atk": 268, - "def": 226, - "spa": 397, - "spd": 233, - "spe": 297 - }, - "moves": [ - "moonblast", - "focusblast", - "aromatherapy", - "thunder" - ], - "baseAbility": "fairyaura", - "item": "choicescarf", - "pokeball": "pokeball", - "ability": "fairyaura" - }, - { - "ident": "p2: Darkrai", - "details": "Darkrai", - "condition": "281/281", - "active": False, - "stats": { - "atk": 194, - "def": 217, - "spa": 369, - "spd": 216, - "spe": 383 - }, - "moves": [ - "nastyplot", - "darkpulse", - "hypnosis", - "thunder" - ], - "baseAbility": "baddreams", - "item": "lifeorb", - "pokeball": "pokeball", - "ability": "baddreams" - }, - { - "ident": "p2: Arceus", - "details": "Arceus-Dragon", - "condition": "444/444", - "active": False, - "stats": { - "atk": 248, - "def": 292, - "spa": 276, - "spd": 276, - "spe": 356 - }, - "moves": [ - "judgment", - "fireblast", - "defog", - "recover" - ], - "baseAbility": "multitype", - "item": "dracoplate", - "pokeball": "pokeball", - "ability": "multitype" - }, - { - "ident": "p2: Celesteela", - "details": "Celesteela", - "condition": "397/397", - "active": False, - "stats": { - "atk": 238, - "def": 335, - "spa": 225, - "spd": 240, - "spe": 158 - }, - "moves": [ - "leechseed", - "heavyslam", - "toxic", - "flamethrower" + constants.CAN_MEGA_EVO: True, + constants.CAN_ULTRA_BURST: True, + constants.CAN_DYNAMAX: True, + constants.CAN_TERASTALLIZE: True, + "moves": [ + { + "move": "Volt Tackle", + "id": "volttackle", + "pp": 32, + "maxpp": 32, + "target": "self", + "disabled": False, + }, + { + "move": "Thunderbolt", + "id": "thunderbolt", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + { + "move": "Hidden Power Ice 60", + "id": "hiddenpower", + "pp": 16, + "maxpp": 16, + "target": "allAdjacent", + "disabled": False, + }, + { + "move": "Nasty Plot", + "id": "nastyplot", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + ], + } + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p2: PikachuNickname", + "details": "Pikachu, L84, M", + "condition": "152/335", + "active": True, + "stats": { + "atk": 200, + "def": 210, + "spa": 220, + "spd": 230, + "spe": 240, + }, + "moves": [ + "volttackle", + "thunderbolt", + "hiddenpowerice60", + "nastyplot", + ], + "baseAbility": "static", + "item": "lightball", + "ability": "static", + }, ], - "baseAbility": "beastboost", - "item": "leftovers", - "pokeball": "pokeball", - "ability": "beastboost" - } - ] - }, - "rqid": 7 + }, } + self.battler.active = Pokemon("pikachu", 100) - self.battler.active = Pokemon('pikachu', 100) - self.battler.from_json(request_dict) - - groudon = [p for p in self.battler.reserve if p.name == 'groudon'][0] + self.battler.update_from_request_json(request_dict) - self.assertEqual(None, groudon.item) + self.assertTrue(self.battler.active.can_mega_evo) + self.assertTrue(self.battler.active.can_ultra_burst) + self.assertTrue(self.battler.active.can_dynamax) + self.assertTrue(self.battler.active.can_terastallize) - def test_reviving_pokemon(self): + def test_basic_updating_attributes_for_reserve_pkmn(self): request_dict = { - "forceSwitch": [ - True - ], - "side": { - "name": "BigBlackSpinarak", - "id": "p1", - "pokemon": [ - { - "ident": "p1: Pawmot", - "details": "Pawmot, F", - "condition": "281/281", - "active": True, - "stats": { - "atk": 361, - "def": 176, - "spa": 158, - "spd": 157, - "spe": 309 - }, - "moves": [ - "agility", - "bodypress", - "brickbreak", - "revivalblessing" - ], - "baseAbility": "voltabsorb", - "item": "expertbelt", - "commanding": False, - "reviving": True, - "pokeball": "pokeball", - "ability": "voltabsorb" - }, - { - "ident": "p1: Amoonguss", - "details": "Amoonguss, F", - "condition": "0 fnt", - "active": False, - "stats": { - "atk": 295, - "def": 176, - "spa": 208, - "spd": 196, - "spe": 86 - }, - "moves": [ - "bodyslam", - "clearsmog", - "energyball", - "facade" + "active": [ + { + "moves": [ + { + "move": "Volt Tackle", + "id": "volttackle", + "pp": 32, + "maxpp": 32, + "target": "self", + "disabled": False, + }, + { + "move": "Thunderbolt", + "id": "thunderbolt", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + { + "move": "Hidden Power Ice 60", + "id": "hiddenpower", + "pp": 16, + "maxpp": 16, + "target": "allAdjacent", + "disabled": False, + }, + { + "move": "Nasty Plot", + "id": "nastyplot", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + ], + } + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p2: MyPikachu", + "details": "Pikachu, L84, M", + "condition": "152/335", + "active": True, + "stats": { + "atk": 200, + "def": 210, + "spa": 220, + "spd": 230, + "spe": 240, + }, + "moves": [ + "volttackle", + "thunderbolt", + "hiddenpowerice60", + "nastyplot", + ], + "baseAbility": "static", + "item": "lightball", + "ability": "static", + }, + { + "ident": "p2: RattataNickName", + "details": "Rattata", + "condition": "100/300 par", + "active": False, + "stats": { + "atk": 100, + "def": 110, + "spa": 120, + "spd": 130, + "spe": 140, + }, + "moves": [ + "tackle", + "tailwhip", + "hiddenpowerrock60", + "growl", + ], + "baseAbility": "runaway", + "item": "leftovers", + "ability": "runaway", + }, ], - "baseAbility": "regenerator", - "item": "expertbelt", - "commanding": False, - "reviving": False, - "pokeball": "pokeball", - "ability": "regenerator" - } - ] - }, - "noCancel": True, - "rqid": 10 + }, } + self.battler.active = Pokemon("pikachu", 100) + rattata = Pokemon("rattata", 50) + self.battler.reserve.append(rattata) + + self.battler.update_from_request_json(request_dict) + + self.assertEqual(rattata.level, 100) + self.assertEqual(rattata.status, constants.PARALYZED) + self.assertEqual(rattata.ability, "runaway") + self.assertEqual(rattata.ability, "runaway") + self.assertEqual(rattata.item, "leftovers") + self.assertEqual( + rattata.stats, + { + "attack": 100, + "defense": 110, + "special-attack": 120, + "special-defense": 130, + "speed": 140, + }, + ) + self.assertEqual( + rattata.moves, + [ + Move("tackle"), + Move("tailwhip"), + Move("hiddenpowerrock"), + Move("growl"), + ], + ) - self.battler.active = Pokemon('Pawmot', 100) - self.battler.from_json(request_dict) + def test_reserve_pkmn_has_pp_preserved(self): + request_dict = { + "active": [ + { + "moves": [ + { + "move": "Volt Tackle", + "id": "volttackle", + "pp": 32, + "maxpp": 32, + "target": "self", + "disabled": False, + }, + { + "move": "Thunderbolt", + "id": "thunderbolt", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + { + "move": "Hidden Power Ice 60", + "id": "hiddenpower", + "pp": 16, + "maxpp": 16, + "target": "allAdjacent", + "disabled": False, + }, + { + "move": "Nasty Plot", + "id": "nastyplot", + "pp": 8, + "maxpp": 8, + "target": "normal", + "disabled": False, + }, + ], + } + ], + "side": { + "name": "BigBluePikachu", + "id": "p2", + "pokemon": [ + { + "ident": "p2: MyPikachu", + "details": "Pikachu, L84, M", + "condition": "152/335", + "active": True, + "stats": { + "atk": 200, + "def": 210, + "spa": 220, + "spd": 230, + "spe": 240, + }, + "moves": [ + "volttackle", + "thunderbolt", + "hiddenpowerice60", + "nastyplot", + ], + "baseAbility": "static", + "item": "lightball", + "ability": "static", + }, + { + "ident": "p2: RattataNickName", + "details": "Rattata, L84, M", + "condition": "100/300", + "active": False, + "stats": { + "atk": 100, + "def": 110, + "spa": 120, + "spd": 130, + "spe": 140, + }, + "moves": [ + "tackle", + "tailwhip", + "hiddenpowerrock60", + "growl", + ], + "baseAbility": "runaway", + "item": "leftovers", + "ability": "runaway", + }, + ], + }, + } + self.battler.active = Pokemon("pikachu", 100) + rattata = Pokemon("rattata", 100) + tackle = Move("tackle") + tackle.max_pp = 32 + tackle.current_pp = 16 + rattata.moves.append(tackle) + self.battler.reserve.append(rattata) - pawmot = self.battler.active + self.battler.update_from_request_json(request_dict) - self.assertTrue(pawmot.reviving) + self.assertEqual(16, rattata.get_move("tackle").current_pp) diff --git a/tests/test_instruction_generator.py b/tests/test_instruction_generator.py deleted file mode 100644 index e48bfcee9..000000000 --- a/tests/test_instruction_generator.py +++ /dev/null @@ -1,3432 +0,0 @@ -import unittest -import constants -from showdown.engine import instruction_generator -from showdown.battle import Pokemon as StatePokemon -from showdown.engine.objects import StateMutator -from showdown.engine.objects import State -from showdown.engine.objects import Side -from showdown.engine.objects import Pokemon -from showdown.engine.objects import TransposeInstruction -from collections import defaultdict - - -class TestGetInstructionsFromFlinched(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instructions = TransposeInstruction(1, [], False) - - def test_flinch_sets_state_to_frozen_and_returns_one_state(self): - defender = constants.USER - - self.state.user.active.volatile_status.add(constants.FLINCH) - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_flinched(mutator, defender, self.previous_instructions) - - flinch_instruction = ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - defender, - constants.FLINCH - ) - - expected_instruction = TransposeInstruction(1.0, [flinch_instruction], True) - - self.assertEqual(expected_instruction, instructions) - - def test_flinch_being_false_does_not_freeze_the_state(self): - defender = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_flinched(mutator, defender, self.previous_instructions) - - expected_instruction = TransposeInstruction(1.0, [], False) - - self.assertEqual(expected_instruction, instructions) - - -class TestGetInstructionsFromConditionsThatFreezeState(unittest.TestCase): - - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.move = {constants.FLAGS: dict(), constants.ID: constants.DO_NOTHING_MOVE, constants.TYPE: 'normal'} - - def test_paralyzed_attacker_results_in_two_instructions(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.opponent.active.status = constants.PARALYZED - previous_instruction = TransposeInstruction(1.0, [], False) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, self.move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(1 - constants.FULLY_PARALYZED_PERCENT, [], False), - TransposeInstruction(constants.FULLY_PARALYZED_PERCENT, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_attacker_results_in_two_instructions(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.opponent.active.status = constants.FROZEN - previous_instruction = TransposeInstruction(1.0, [], False) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, self.move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(constants.THAW_PERCENT, [('remove_status', 'opponent', 'frz')], False), - TransposeInstruction(1 - constants.THAW_PERCENT, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_asleep_attacker_results_in_two_instructions(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.opponent.active.status = constants.SLEEP - previous_instruction = TransposeInstruction(1.0, [], False) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, self.move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(constants.WAKE_UP_PERCENT, [('remove_status', 'opponent', 'slp')], False), - TransposeInstruction(1 - constants.WAKE_UP_PERCENT, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_powder_move_on_grass_type_does_nothing_and_freezes_the_state(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.user.active.types = ['grass'] - previous_instruction = TransposeInstruction(1.0, [], False) - move = { - constants.FLAGS: { - constants.POWDER: 1 - }, - constants.TYPE: '' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_powder_move_used_by_asleep_pokemon_produces_correct_states(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.opponent.active.status = constants.SLEEP - self.state.user.active.types = ['grass'] - previous_instruction = TransposeInstruction(1.0, [], False) - move = { - constants.FLAGS: { - constants.POWDER: 1 - }, - constants.TYPE: '' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(constants.WAKE_UP_PERCENT, [('remove_status', 'opponent', 'slp')], True), - TransposeInstruction(1-constants.WAKE_UP_PERCENT, [], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_powder_against_fire_has_no_effect(self): - attacker = constants.OPPONENT - defender = constants.USER - self.state.user.active.types = ['fire'] - previous_instruction = TransposeInstruction(1.0, [], False) - move = { - constants.FLAGS: { - constants.POWDER: 1 - }, - constants.TYPE: '' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_statuses_that_freeze_the_state(mutator, attacker, defender, move, self.move, previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromDamage(unittest.TestCase): - - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - self.attacking_move = { - constants.ID: constants.DO_NOTHING_MOVE - } - - def test_100_percent_move_returns_one_state(self): - defender = constants.USER - damage = 50 - accuracy = 100 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_DAMAGE, - defender, - 50 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_move_with_drain_heals_the_attacker(self): - defender = constants.USER - damage = 50 - accuracy = 100 - - # start the attacker with 10 HP - self.state.opponent.active.hp = 10 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, {constants.ID: constants.DO_NOTHING_MOVE, constants.DRAIN: [1, 2]}, self.previous_instruction) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - defender, - 50 - ) - - drain_instruction = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 25 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, drain_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_move_with_recoil_hurts_the_attacker(self): - defender = constants.USER - damage = 50 - accuracy = 100 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, {constants.ID: constants.DO_NOTHING_MOVE, constants.RECOIL: [1, 2]}, self.previous_instruction) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - defender, - 50 - ) - - drain_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 25 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, drain_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_95_percent_move_with_crash_hurts_the_attacker(self): - defender = constants.USER - damage = 50 - accuracy = 95 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, {constants.ID: constants.DO_NOTHING_MOVE, constants.CRASH: [1, 2]}, self.previous_instruction) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - defender, - 50 - ) - - crash_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - self.state.opponent.active.maxhp / 2 - ) - - expected_instructions = [ - TransposeInstruction(0.95, [damage_instruction], False), - TransposeInstruction(0.050000000000000044, [crash_instruction], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_move_that_does_no_damage_hurts_the_attacker(self): - defender = constants.USER - damage = 0 - accuracy = 100 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, {constants.CRASH: [1, 2]}, self.previous_instruction) - - crash_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - self.state.opponent.active.maxhp / 2 - ) - - expected_instructions = [ - TransposeInstruction(1, [crash_instruction], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_95_percent_move_with_no_damage_causes_crash(self): - defender = constants.USER - damage = 0 - accuracy = 95 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, {constants.CRASH: [1, 2]}, self.previous_instruction) - - crash_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - self.state.opponent.active.maxhp / 2 - ) - - expected_instructions = [ - TransposeInstruction(1, [crash_instruction], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_0_damage_move_with_50_accuracy_returns_one_state_that_is_frozen(self): - defender = constants.USER - damage = 0 - accuracy = 50 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_killing_move_doesnt_drop_health_below_zero(self): - defender = constants.USER - damage = 1000 - accuracy = 100 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_DAMAGE, - defender, - self.state.user.active.maxhp - ) - - expected_instructions = [ - TransposeInstruction(1.0, [mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_50_percent_move_returns_two_states_with_proper_percentages(self): - defender = constants.USER - damage = 50 - accuracy = 50 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_DAMAGE, - defender, - damage - ) - - expected_instructions = [ - TransposeInstruction(0.5, [mutator_instructions], False), - TransposeInstruction(0.5, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_75_percent_move_returns_two_states_with_proper_percentages(self): - defender = constants.USER - damage = 50 - accuracy = 75 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_DAMAGE, - defender, - damage - ) - - expected_instructions = [ - TransposeInstruction(0.75, [mutator_instructions], False), - TransposeInstruction(0.25, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_0_percent_move_returns_one_state_with_no_changes(self): - defender = constants.USER - damage = 50 - accuracy = 0 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_move_returns_one_state_when_state_percentage_already_existed(self): - defender = constants.USER - damage = 50 - accuracy = 100 - - # pre-set the previous percentage to ensure it is updated properly - self.previous_instruction.percentage = 0.5 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_DAMAGE, - defender, - damage - ) - - expected_instructions = [ - TransposeInstruction(0.5, [mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_state_does_not_change(self): - defender = constants.USER - damage = 50 - accuracy = 100 - - # a frozen state usually has a percentage, though for testing it doesn't matter - self.previous_instruction.percentage = 0.1 - self.previous_instruction.frozen = True - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_damage(mutator, defender, damage, accuracy, self.attacking_move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(0.1, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromSideConditions(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_using_stealthrock_sets_side_condition(self): - side_string = constants.OPPONENT - condition = constants.STEALTH_ROCK - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_side_conditions(mutator, constants.USER, side_string, condition, self.previous_instruction) - - expected_mutator_instructions = ( - constants.MUTATOR_SIDE_START, - side_string, - condition, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [expected_mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_spikes_sets_side_condition(self): - side_string = constants.OPPONENT - condition = constants.SPIKES - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_side_conditions(mutator, constants.USER, side_string, condition, self.previous_instruction) - - expected_mutator_instructions = ( - constants.MUTATOR_SIDE_START, - side_string, - condition, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [expected_mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_can_have_more_than_one(self): - side_string = constants.OPPONENT - condition = constants.SPIKES - - self.state.opponent.side_conditions[constants.SPIKES] = 1 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_side_conditions(mutator, constants.USER, side_string, condition, self.previous_instruction) - - expected_mutator_instructions = ( - constants.MUTATOR_SIDE_START, - side_string, - condition, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [expected_mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_spikes_stops_at_3(self): - side_string = constants.OPPONENT - condition = constants.SPIKES - - self.state.opponent.side_conditions[constants.SPIKES] = 3 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_side_conditions(mutator, constants.USER, side_string, condition, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_using_stealthrock_into_side_already_containing_stealthrock_does_nothing(self): - side_string = constants.OPPONENT - condition = constants.STEALTH_ROCK - - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_side_conditions(mutator, constants.USER, side_string, condition, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromHazardClearingMoves(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_rapidspin_clears_stealthrocks(self): - attacker_string = constants.USER - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - - move = { - constants.ID: 'rapidspin' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_hazard_clearing_moves(mutator, attacker_string, move, self.previous_instruction) - - expected_mutator_instructions = [( - constants.MUTATOR_SIDE_END, - attacker_string, - constants.STEALTH_ROCK, - 1 - )] - - expected_instructions = [ - TransposeInstruction(1.0, expected_mutator_instructions, False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rapidspin_clears_stealthrocks_and_spikes(self): - attacker_string = constants.USER - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.side_conditions[constants.SPIKES] = 3 - - move = { - constants.ID: 'rapidspin' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_hazard_clearing_moves(mutator, attacker_string, move, self.previous_instruction) - - expected_mutator_instructions = [ - ( - constants.MUTATOR_SIDE_END, - attacker_string, - constants.STEALTH_ROCK, - 1 - ), - ( - constants.MUTATOR_SIDE_END, - attacker_string, - constants.SPIKES, - 3 - ), - ] - - expected_instructions = [ - TransposeInstruction(1.0, expected_mutator_instructions, False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_defog_clears_both_sides_side_conditions(self): - attacker_string = constants.USER - defender_string = constants.OPPONENT - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.side_conditions[constants.SPIKES] = 3 - self.state.opponent.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.opponent.side_conditions[constants.SPIKES] = 1 - self.state.opponent.side_conditions[constants.REFLECT] = 1 - - move = { - constants.ID: 'defog' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_hazard_clearing_moves(mutator, attacker_string, move, self.previous_instruction) - - expected_mutator_instructions = [ - ( - constants.MUTATOR_SIDE_END, - attacker_string, - constants.STEALTH_ROCK, - 1 - ), - ( - constants.MUTATOR_SIDE_END, - attacker_string, - constants.SPIKES, - 3 - ), - ( - constants.MUTATOR_SIDE_END, - defender_string, - constants.STEALTH_ROCK, - 1 - ), - ( - constants.MUTATOR_SIDE_END, - defender_string, - constants.SPIKES, - 1 - ), - ( - constants.MUTATOR_SIDE_END, - defender_string, - constants.REFLECT, - 1 - ) - ] - - expected_instructions = [ - TransposeInstruction(1.0, expected_mutator_instructions, False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_rapidspin_does_not_clear_reflect(self): - attacker_string = constants.USER - defender_string = constants.OPPONENT - self.state.user.side_conditions[constants.REFLECT] = 1 - - move = { - constants.ID: 'rapidspin' - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_hazard_clearing_moves(mutator, attacker_string, move, self.previous_instruction) - - expected_mutator_instructions = [] - - expected_instructions = [ - TransposeInstruction(1.0, expected_mutator_instructions, False) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromDirectStatusEffects(unittest.TestCase): - - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - "rattata": Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - "charmander": Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - "squirtle": Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - "bulbasaur": Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - "pidgey": Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_100_percent_status_returns_one_state(self): - status = constants.BURN - accuracy = 100 - defender = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_APPLY_STATUS, - defender, - status - ) - - expected_instructions = [ - TransposeInstruction(1.0, [mutator_instructions], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_status_cannot_be_inflicted_on_pkmn_in_substitute(self): - self.state.user.active.volatile_status.add(constants.SUBSTITUTE) - status = constants.BURN - accuracy = 100 - defender = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_75_percent_status_returns_two_states(self): - status = constants.BURN - accuracy = 75 - defender = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - mutator_instructions = ( - constants.MUTATOR_APPLY_STATUS, - defender, - status - ) - - expected_instructions = [ - TransposeInstruction(0.75, [mutator_instructions], False), - TransposeInstruction(0.25, [], True) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_pokemon_cannot_be_burned(self): - status = constants.BURN - accuracy = 100 - defender = constants.USER - - # set 'frozen' in the defender's active statuses - self.state.user.active.status = constants.FROZEN - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sleep_clause_activates(self): - status = constants.SLEEP - accuracy = 100 - defender = constants.USER - - self.state.user.reserve['rattata'].status = constants.SLEEP - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_type_cannot_be_poisoned(self): - status = constants.POISON - accuracy = 100 - defender = constants.USER - - self.state.user.active.types = ['poison'] - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_switching_in_pokemon_cannot_be_statused_if_it_is_already_statused(self): - status = constants.POISON - accuracy = 100 - defender = constants.USER - - self.state.user.reserve['rattata'].status = constants.PARALYZED - - switch_instruction = ( - constants.MUTATOR_SWITCH, - constants.USER, - 'pikachu', - 'rattata' - ) - self.previous_instruction.instructions = [ - switch_instruction - ] - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [switch_instruction], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_steel_type_cannot_be_poisoned(self): - status = constants.POISON - accuracy = 100 - defender = constants.USER - - self.state.user.active.types = ['steel'] - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_state_cannot_be_changed(self): - status = constants.BURN - accuracy = 100 - defender = constants.USER - - # freeze the state - self.previous_instruction.frozen = True - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_status_effects(mutator, defender, status, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True), - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromBoosts(unittest.TestCase): - - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_no_boosts_results_in_one_unchanged_state(self): - boosts = {} - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosts_cannot_exceed_max_boosts(self): - self.state.user.active.attack_boost = 6 - boosts = { - constants.ATTACK: 1 - } - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 0 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosts_cannot_go_below_min_boosts(self): - self.state.user.active.attack_boost = -1 * constants.MAX_BOOSTS - boosts = { - constants.ATTACK: -1 - } - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 0 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosts_cannot_go_below_min_boosts_with_previous_instruction_lowering_boost(self): - - self.previous_instruction = TransposeInstruction( - 1, - [ - (constants.MUTATOR_UNBOOST, constants.USER, constants.ATTACK, 5) - ], - False - ) - - boosts = { - constants.ATTACK: -2 - } - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - -1 - ) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - self.previous_instruction.instructions[0], - boost_instruction, - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_boosts_cannot_go_below_min_boosts_with_previous_instruction_lowering_boost_with_percentage_hit_not_1(self): - - self.previous_instruction = TransposeInstruction( - 1, - [ - (constants.MUTATOR_UNBOOST, constants.USER, constants.ATTACK, 5) - ], - False - ) - - boosts = { - constants.ATTACK: -2 - } - accuracy = 60 - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - -1 - ) - - expected_instructions = [ - TransposeInstruction( - 0.6, - [ - self.previous_instruction.instructions[0], - boost_instruction, - - ], - False - ), - TransposeInstruction( - 0.4, - [ - self.previous_instruction.instructions[0], - - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_guaranteed_atk_boost_returns_one_state(self): - boosts = { - constants.ATTACK: 1 - } - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_50_percent_boost_returns_two_states(self): - boosts = { - constants.ATTACK: 1 - } - accuracy = 50 - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 1 - ) - - expected_instructions = [ - TransposeInstruction(0.5, [boost_instruction], False), - TransposeInstruction(0.5, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_guaranteed_atk_boost_returns_one_state_when_attack_boost_already_existed(self): - self.state.user.active.attack_boost = 1 - boosts = { - constants.ATTACK: 1 - } - accuracy = True - side = constants.USER - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pre_existing_boost_does_not_affect_new_boost(self): - boosts = { - constants.ATTACK: 1 - } - accuracy = True - side = constants.USER - - self.state.user.active.defense_boost = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - def test_multiple_new_boosts_with_multiple_pre_existing_boosts(self): - boosts = { - constants.ATTACK: 1, - constants.DEFENSE: 1 - } - accuracy = True - side = constants.USER - - self.state.user.active.defense_boost = 1 - self.state.user.active.speed_boost = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_boosts(mutator, side, boosts, accuracy, self.previous_instruction) - - attack_boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.ATTACK, - 1 - ) - defense_boost_instruction = ( - constants.MUTATOR_BOOST, - side, - constants.DEFENSE, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [attack_boost_instruction, defense_boost_instruction], False) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromSpecialLogicMoves(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_works_with_previous_instructions(self): - self.previous_instruction = TransposeInstruction( - 1, - [ - (constants.MUTATOR_WEATHER_START, constants.SUN, None) - ], - False - ) - - move_name = constants.RAIN - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_move_special_effect(mutator, constants.USER, mutator.state.user.active, mutator.state.opponent.active, move_name, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - (constants.MUTATOR_WEATHER_START, constants.SUN, None), - (constants.MUTATOR_WEATHER_START, constants.RAIN, constants.SUN), - ], - False - ) - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetInstructionsFromFlinchingMoves(unittest.TestCase): - - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_30_percent_flinching_move_returns_two_states(self): - accuracy = 30 - defender = constants.USER - - instructions = instruction_generator.get_instructions_from_flinching_moves(defender, accuracy, True, self.previous_instruction) - - flinched_instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - defender, - constants.FLINCH - ) - - expected_instructions = [ - TransposeInstruction(0.3, [flinched_instruction], False), - TransposeInstruction(0.7, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_100_percent_flinching_move_returns_one_state(self): - accuracy = 100 - defender = constants.USER - - instructions = instruction_generator.get_instructions_from_flinching_moves(defender, accuracy, True, self.previous_instruction) - - flinched_instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - defender, - constants.FLINCH - ) - - expected_instructions = [ - TransposeInstruction(1.0, [flinched_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_0_percent_flinching_move_returns_one_state(self): - accuracy = 0 - defender = constants.USER - - instructions = instruction_generator.get_instructions_from_flinching_moves(defender, accuracy, True, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_pre_exising_percentage_propagates_downward(self): - accuracy = 30 - defender = constants.USER - - self.previous_instruction.percentage = 0.5 - instructions = instruction_generator.get_instructions_from_flinching_moves(defender, accuracy, True, self.previous_instruction) - - flinched_instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - defender, - constants.FLINCH - ) - - expected_instructions = [ - TransposeInstruction(0.15, [flinched_instruction], False), - TransposeInstruction(0.35, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetStateFromSwitch(unittest.TestCase): - def setUp(self): - - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - "rattata": Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - "charmander": Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - "squirtle": Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - "bulbasaur": Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - "pidgey": Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - "rattata": Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - "charmander": Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - "squirtle": Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - "bulbasaur": Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - "pidgey": Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_basic_switch_with_no_side_effects(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_pokemon_with_grassyseed_causes_that_seed_boost_to_occur_if_terrain_is_up(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - self.state.user.reserve["rattata"].item = "grassyseed" - self.state.field = "grassyterrain" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_BOOST, - attacker, - constants.DEFENSE, - 1 - ), - ( - constants.MUTATOR_CHANGE_ITEM, - attacker, - None, - "grassyseed" - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_seed_boost_doesnt_occur_if_stat_is_maxed(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - self.state.user.reserve["rattata"].item = "grassyseed" - self.state.field = constants.GRASSY_TERRAIN - - # this literally cant happen for a pkmn switching in but worth a check I guess? - self.state.user.reserve["rattata"].defense_boost = 6 - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ) - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switching_into_pokemon_with_psychicseed_causes_that_seed_boost_to_occur_if_terrain_is_up(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - self.state.user.reserve["rattata"].item = "psychicseed" - self.state.field = constants.PSYCHIC_TERRAIN - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_BOOST, - attacker, - constants.SPECIAL_DEFENSE, - 1 - ), - ( - constants.MUTATOR_CHANGE_ITEM, - attacker, - None, - "psychicseed" - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_unboosts_active_pokemon(self): - self.state.user.active.attack_boost = 3 - self.state.user.active.defense_boost = 2 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_UNBOOST, - attacker, - constants.ATTACK, - 3 - ), - ( - constants.MUTATOR_UNBOOST, - attacker, - constants.DEFENSE, - 2 - ), - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_stealth_rock_gives_damage_instruction(self): - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_DAMAGE, - attacker, - 27.75 # 1/8th of rattata's 222 maxhp is 27.75 damage - ), - ] - , - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_regenerator_heals_one_third_hp(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - self.state.user.active.hp = 1 - self.state.user.active.ability = 'regenerator' - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_HEAL, - attacker, - 77 # 1/3rd of pikachu's maxhp is 77 - ), - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_regenerator_does_not_overheal(self): - attacker = constants.USER - switch_pokemon_name = "rattata" - self.state.user.active.hp -= 1 - self.state.user.active.ability = 'regenerator' - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_HEAL, - attacker, - 1 - ), - ('switch', 'user', 'pikachu', 'rattata'), - - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_toxicspikes_causes_poison(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_APPLY_STATUS, - attacker, - constants.POISON, - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_poison_switch_into_toxicspikes_clears_the_spikes(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].types = ['poison'] - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_SIDE_END, - attacker, - constants.TOXIC_SPIKES, - 1 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_poison_switch_into_two_toxicspikes_clears_the_spikes(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 2 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].types = ['poison'] - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_SIDE_END, - attacker, - constants.TOXIC_SPIKES, - 2 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_flying_poison_doesnt_clear_toxic_spikes(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 2 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].types = ['poison', 'flying'] - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_double_toxicspikes_causes_toxic(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 2 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_APPLY_STATUS, - attacker, - constants.TOXIC, - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_flying_immune_to_toxicspikes(self): - self.state.user.side_conditions[constants.TOXIC_SPIKES] = 2 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].types = ['flying'] - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_stick_web_drops_speed(self): - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ( - constants.MUTATOR_UNBOOST, - attacker, - constants.SPEED, - 1 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_levitate_ability_does_not_cause_sticky_web_effect(self): - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].ability = 'levitate' - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_airballoon_item_does_not_cause_sticky_web_effect(self): - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].item = 'airballoon' - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_flying_switch_into_sticky_web_does_not_drop_speed(self): - self.state.user.side_conditions[constants.STICKY_WEB] = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - self.state.user.reserve[switch_pokemon_name].types = ['flying'] - - expected_instructions = TransposeInstruction( - 1, - [ - ('switch', 'user', 'pikachu', 'rattata'), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_stealth_rock_with_1hp_gives_damage_instruction_of_1hp(self): - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - self.state.user.reserve["rattata"].hp = 1 - attacker = constants.USER - switch_pokemon_name = "rattata" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_DAMAGE, - attacker, - 1 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_stealth_rock_as_flying_does_more_damage(self): - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - attacker = constants.USER - switch_pokemon_name = "pidgey" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_DAMAGE, - attacker, - 60.5 # 1/4 of pidgey's 242 max hp is 60.5 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_three_spikes_as_flying_does_nothing(self): - self.state.user.side_conditions[constants.SPIKES] = 3 - attacker = constants.USER - switch_pokemon_name = "pidgey" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ) - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_volatile_status_is_removed_on_switch_out(self): - self.state.user.active.volatile_status = {"leechseed"} - attacker = constants.USER - switch_pokemon_name = "pidgey" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_REMOVE_VOLATILE_STATUS, - constants.USER, - "leechseed" - ), - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ) - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_count_is_reset_if_it_exists_on_switch_out(self): - self.state.user.side_conditions[constants.TOXIC_COUNT] = 2 - attacker = constants.USER - switch_pokemon_name = "pidgey" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SIDE_END, - constants.USER, - constants.TOXIC_COUNT, - 2 - ), - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ) - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_pokemon_with_drought_sets_weather(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.user.reserve[switch_pokemon_name].ability = "drought" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - None - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_pokemon_with_drizze_sets_weather(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.user.reserve[switch_pokemon_name].ability = "drizzle" - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_WEATHER_START, - constants.RAIN, - None - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_pokemon_with_drizze_does_not_set_weather_when_desolate_land_is_active(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.weather = 'desolateland' - self.state.user.reserve[switch_pokemon_name].ability = 'drizzle' - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_pokemon_with_desolateland_sets_weather_when_primordial_sea_is_active(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.weather = constants.HEAVY_RAIN - self.state.user.reserve[switch_pokemon_name].ability = constants.DESOLATE_LAND - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_WEATHER_START, - constants.DESOLATE_LAND, - constants.HEAVY_RAIN - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_pokemon_with_primordialsea_sets_weather_when_desolateland_is_active(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.weather = constants.DESOLATE_LAND - self.state.user.reserve[switch_pokemon_name].ability = constants.HEAVY_RAIN - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_WEATHER_START, - constants.HEAVY_RAIN, - constants.DESOLATE_LAND - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_intimidate_lowers_opponent_attack(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.user.reserve[switch_pokemon_name].ability = 'intimidate' - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ( - constants.MUTATOR_UNBOOST, - constants.OPPONENT, - constants.ATTACK, - 1 - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - def test_switch_into_intimidate_does_not_lower_attack_when_already_at_negative_6(self): - attacker = constants.USER - switch_pokemon_name = "pidgey" - self.state.user.reserve[switch_pokemon_name].ability = 'intimidate' - self.state.opponent.active.attack_boost = -6 - - expected_instructions = TransposeInstruction( - 1, - [ - ( - constants.MUTATOR_SWITCH, - attacker, - self.state.user.active.id, - switch_pokemon_name - ), - ], - False - ) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_switch(mutator, attacker, switch_pokemon_name, self.previous_instruction) - - self.assertEqual(expected_instructions, instructions) - - -class TestGetStateFromHealingMoves(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - 'rattata': Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - 'charmander': Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - 'squirtle': Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - 'bulbasaur': Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - 'pidgey': Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - 'rattata': Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - 'charmander': Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - 'squirtle': Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - 'bulbasaur': Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - 'pidgey': Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_returns_one_state_with_health_recovered(self): - self.state.user.active.hp = 50 # this ensures the entire 1/3 * maxhp is in the instruction - attacker = constants.USER - move = { - constants.TARGET: constants.USER, - constants.HEAL: [1, 3], - constants.HEAL_TARGET: constants.USER - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - heal_instruction = ( - constants.MUTATOR_HEAL, - attacker, - 1/3 * self.state.user.active.maxhp - ) - - expected_instructions = [ - TransposeInstruction(1.0, [heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_previous_instruction_affect_this_instruction(self): - self.state.user.active.hp = self.state.user.active.maxhp # this ensures that only the damage taken in previous instructions is recoverable - self.previous_instruction = TransposeInstruction( - 1, - [ - (constants.MUTATOR_DAMAGE, constants.USER, 15) - ], - False - ) - - attacker = constants.USER - move = { - constants.TARGET: constants.USER, - constants.HEAL: [1, 3], - constants.HEAL_TARGET: constants.USER - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - heal_instruction = ( - constants.MUTATOR_HEAL, - attacker, - 15.000000000000014 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [self.previous_instruction.instructions[0], heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_previous_instructions_result_in_correct_recovery(self): - self.state.user.active.hp = 50 - - self.previous_instruction = TransposeInstruction( - 1, - [ - (constants.MUTATOR_SWITCH, constants.USER, 'pikachu', 'rattata') - ], - False - ) - - attacker = constants.USER - move = { - constants.TARGET: constants.USER, - constants.HEAL: [1, 3], - constants.HEAL_TARGET: constants.USER - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, self.previous_instruction.instructions, False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_healing_does_not_exceed_max_health(self): - self.state.user.active.hp = self.state.user.active.maxhp - attacker = constants.USER - move = { - constants.TARGET: constants.USER, - constants.HEAL: [1, 1], - constants.HEAL_TARGET: constants.USER - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_negative_healing(self): - attacker = constants.USER - move = { - constants.TARGET: constants.NORMAL, - constants.HEAL: [-1, 2], - constants.HEAL_TARGET: constants.USER - } - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - heal_instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - -1 / 2 * self.state.user.active.maxhp - ) - - expected_instructions = [ - TransposeInstruction(1.0, [heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_state_does_not_change(self): - attacker = constants.USER - move = { - constants.TARGET: constants.USER, - constants.HEAL: [1, 3], - constants.HEAL_TARGET: constants.USER - } - - self.previous_instruction.frozen = True - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_attacker_recovery(mutator, attacker, move, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True), - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetStateFromVolatileStatus(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - - def test_returns_one_state_with_volatile_status_set(self): - volatile_status = 'leechseed' - attacker = constants.OPPONENT - target = constants.NORMAL - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, target, True, self.previous_instruction) - - instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - constants.USER, - volatile_status - ) - - expected_instructions = [ - TransposeInstruction(1.0, [instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_frozen_state_is_unaffected(self): - volatile_status = 'leechseed' - attacker = constants.OPPONENT - target = constants.NORMAL - self.previous_instruction.frozen = True - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, target, True, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], True), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_does_not_alter_pre_existing_volatile_status(self): - volatile_status = 'leechseed' - attacker = constants.OPPONENT - target = constants.NORMAL - self.state.user.active.volatile_status.add('confusion') - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, target, True, self.previous_instruction) - - instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - constants.USER, - volatile_status - ) - - expected_instructions = [ - TransposeInstruction(1.0, [instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_does_not_apply_duplicate_status(self): - volatile_status = 'leechseed' - attacker = constants.OPPONENT - target = constants.NORMAL - self.state.user.active.volatile_status.add(volatile_status) - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, target, True, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_does_not_apply_status_if_substitute_is_active_on_pokemon(self): - volatile_status = 'leechseed' - attacker = constants.OPPONENT - target = constants.NORMAL - self.state.user.active.volatile_status.add('substitute') - - mutator = StateMutator(self.state) - instructions = instruction_generator.get_instructions_from_volatile_statuses(mutator, volatile_status, attacker, target, True, self.previous_instruction) - - expected_instructions = [ - TransposeInstruction(1.0, [], False), - ] - - self.assertEqual(expected_instructions, instructions) - - -class TestGetStateFromStatusDamage(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - [ - Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - ], - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.previous_instruction = TransposeInstruction(1.0, [], False) - self.dummy_move = { - constants.ID: constants.DO_NOTHING_MOVE - } - - def test_poison_does_one_eigth_damage(self): - side = constants.USER - self.state.user.active.status = constants.POISON - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - instruction = ( - constants.MUTATOR_DAMAGE, - side, - self.state.user.active.maxhp * 0.125 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_does_one_sixteenth_damage_when_toxic_count_is_zero_and_gives_toxic_count_instruction(self): - side = constants.USER - self.state.user.active.status = constants.TOXIC - self.state.user.side_conditions[constants.TOXIC_COUNT] = 0 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - side, - int(self.state.user.active.maxhp / 16) - ) - - toxic_count_instruction = ( - constants.MUTATOR_SIDE_START, - side, - constants.TOXIC_COUNT, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, toxic_count_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_does_one_eighth_damage_when_toxic_count_is_one_and_gives_toxic_count_instruction(self): - side = constants.USER - self.state.user.active.status = constants.TOXIC - self.state.user.side_conditions[constants.TOXIC_COUNT] = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - side, - int(self.state.user.active.maxhp / 8) - ) - - toxic_count_instruction = ( - constants.MUTATOR_SIDE_START, - side, - constants.TOXIC_COUNT, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, toxic_count_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_does_one_quarter_damage_when_toxic_count_is_3_and_gives_toxic_count_instruction(self): - side = constants.USER - self.state.user.active.status = constants.TOXIC - self.state.user.side_conditions[constants.TOXIC_COUNT] = 3 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - side, - int(self.state.user.active.maxhp / 4) - ) - - toxic_count_instruction = ( - constants.MUTATOR_SIDE_START, - side, - constants.TOXIC_COUNT, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, toxic_count_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_only_does_one_damage_if_that_is_all_it_has(self): - side = constants.USER - self.state.user.active.status = constants.POISON - self.state.user.active.hp = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - instruction = ( - constants.MUTATOR_DAMAGE, - side, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leech_seed_saps_health(self): - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 50 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 12 - ) - heal_instruction = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 12 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leech_seed_only_saps_1_when_pokemon_has_1_hp(self): - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 50 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 1 - ) - heal_instruction = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leech_seed_does_not_overheal(self): - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 99 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 12 - ) - heal_instruction = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction, heal_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_dying_from_poison_causes_leechseed_not_to_sap(self): - self.state.user.active.status = constants.POISON - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 99 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leftovers_causes_heal(self): - self.state.user.active.item = 'leftovers' - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_blacksludge_causes_heal(self): - self.state.user.active.item = 'leftovers' - self.state.user.active.types = ['poison'] - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_leftovers_does_not_overheal(self): - self.state.user.active.item = 'leftovers' - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 99 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_blacksludge_does_not_overkill(self): - self.state.user.active.item = 'blacksludge' - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_blacksludge_does_damage(self): - self.state.user.active.item = 'blacksludge' - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 100 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poisonheal_heals(self): - self.state.user.active.item = 'toxicorb' - self.state.user.active.ability = 'poisonheal' - self.state.user.active.status = constants.POISON - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.HEAL, - constants.USER, - 12 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_damage_and_leftovers_heal_together(self): - self.state.user.active.item = 'leftovers' - self.state.user.active.status = constants.POISON - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 50 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.DAMAGE, - constants.USER, - 12 - ) - heal_instruction = ( - constants.HEAL, - constants.USER, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [heal_instruction, damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_damage_and_leftovers_heal_together_when_poison_kills(self): - self.state.user.active.item = 'leftovers' - self.state.user.active.status = constants.POISON - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 5 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.DAMAGE, - constants.USER, - 11 - ) - heal_instruction = ( - constants.HEAL, - constants.USER, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [heal_instruction, damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_poison_killing_into_leechseed(self): - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.status = constants.POISON - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 5 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 5 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_burn_killing_into_leechseed(self): - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.status = constants.BURN - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 1 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 1 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_toxic_status_with_leftovers_when_toxic_kills(self): - self.state.user.active.status = constants.TOXIC - self.state.user.side_conditions[constants.TOXIC_COUNT] = 2 - self.state.user.active.item = 'leftovers' - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 6 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - heal_instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 6 - ) - - additional_toxic_count_instruction = ( - constants.MUTATOR_SIDE_START, - constants.USER, - constants.TOXIC_COUNT, - 1 - ) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 12 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [heal_instruction, damage_instruction, additional_toxic_count_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_faster_pokemon_dying_from_poison_into_leech_seed_from_other_side(self): - self.state.user.active.status = constants.POISON - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 6 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - - # pokemon should be dead, so no leechseed should happen - expected_instructions = [ - TransposeInstruction(1.0, [damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_previous_instructions_are_interpreted_correctly(self): - self.state.user.active.status = constants.POISON - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - mutator = StateMutator(self.state) - - previous_instruction = (constants.MUTATOR_DAMAGE, constants.USER, 25) - self.previous_instruction = TransposeInstruction(1.0, [previous_instruction], False) - - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 5 - ) - - # pokemon should be dead, so no leechseed should happen - expected_instructions = [ - TransposeInstruction(1.0, [previous_instruction, damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sand_damages_pokemon(self): - self.state.weather = constants.SAND - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - self_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - opponent_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [self_damage_instruction, opponent_damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_ice_damages_pokemon(self): - self.state.weather = constants.HAIL - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - self_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - opponent_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [self_damage_instruction, opponent_damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_sand_does_not_damage_steel_type(self): - self.state.weather = constants.SAND - self.state.user.active.types = ['steel'] - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - opponent_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [opponent_damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_hail_does_not_damage_ice_type(self): - self.state.weather = constants.HAIL - self.state.user.active.types = ['ice'] - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - opponent_damage_instruction = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - - expected_instructions = [ - TransposeInstruction(1.0, [opponent_damage_instruction], False), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_double_leftovers_and_poison_and_weather_and_leechseed_executes_in_correct_order(self): - self.state.weather = constants.HAIL - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 30 - self.state.user.active.status = constants.POISON - self.state.user.active.item = 'leftovers' - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.types = ['normal'] - - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - self.state.opponent.active.status = constants.POISON - self.state.opponent.active.item = 'leftovers' - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.opponent.active.types = ['normal'] - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - self_leftovers = ( - constants.MUTATOR_HEAL, - constants.USER, - 6 - ) - opponent_leftovers = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 6 - ) - self_poison = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 12 - ) - opponent_poison = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 12 - ) - self_hail = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - opponent_hail = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - self_leech_damage = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 12 - ) - opponent_leech_heal = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 12 - ) - opponent_leech_damage = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 12 - ) - self_leech_heal = ( - constants.MUTATOR_HEAL, - constants.USER, - 12 - ) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - self_hail, - opponent_hail, - self_leftovers, - opponent_leftovers, - self_poison, - opponent_poison, - self_leech_damage, - opponent_leech_heal, - opponent_leech_damage, - self_leech_heal - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - def test_instructions_stop_when_weather_kills(self): - self.state.weather = constants.HAIL - self.state.user.active.maxhp = 100 - self.state.user.active.hp = 10 - self.state.user.active.status = constants.POISON - self.state.user.active.item = 'leftovers' - self.state.user.active.volatile_status.add(constants.LEECH_SEED) - self.state.user.active.types = ['normal'] - - self.state.opponent.active.maxhp = 100 - self.state.opponent.active.hp = 30 - self.state.opponent.active.status = constants.POISON - self.state.opponent.active.item = 'leftovers' - self.state.opponent.active.volatile_status.add(constants.LEECH_SEED) - self.state.opponent.active.types = ['normal'] - mutator = StateMutator(self.state) - instructions = instruction_generator.get_end_of_turn_instructions(mutator, self.previous_instruction, self.dummy_move, self.dummy_move, True) - - self_leftovers = ( - constants.MUTATOR_HEAL, - constants.USER, - 6 - ) - opponent_leftovers = ( - constants.MUTATOR_HEAL, - constants.OPPONENT, - 6 - ) - self_poison = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 10 # kills self's pokemon so it is only 10 - ) - opponent_poison = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 12 - ) - self_hail = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 6 - ) - opponent_hail = ( - constants.MUTATOR_DAMAGE, - constants.OPPONENT, - 6 - ) - - expected_instructions = [ - TransposeInstruction( - 1.0, - [ - self_hail, - opponent_hail, - self_leftovers, - opponent_leftovers, - self_poison, - opponent_poison, - ], - False - ), - ] - - self.assertEqual(expected_instructions, instructions) - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_items.py b/tests/test_items.py deleted file mode 100644 index 62f252644..000000000 --- a/tests/test_items.py +++ /dev/null @@ -1,167 +0,0 @@ -import unittest -from unittest.mock import MagicMock -import constants -from showdown.engine.special_effects.items.modify_attack_being_used import item_modify_attack_being_used -from showdown.engine.special_effects.items.modify_attack_against import item_modify_attack_against - - -class TestChoiceBand(unittest.TestCase): - def setUp(self): - self.state = dict() - self.item_name = "choiceband" - - def test_choice_band_boosts_physical(self): - - move = { - "accuracy": 100, - "basePower": 40, - "category": "physical", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "tackle", - "priority": 0, - "target": "normal", - "type": "normal", - "pp": 15 - } - expected_move_power = 60 - pkmn = MagicMock() - actual_power = item_modify_attack_being_used(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) - - def test_choice_band_does_not_boost_special(self): - - move = { - "accuracy": 100, - "basePower": 90, - "category": "special", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "flamethrower", - "priority": 0, - "target": "normal", - "type": "fire", - "pp": 15 - } - expected_move_power = 90 - pkmn = MagicMock() - actual_power = item_modify_attack_being_used(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) - - -class TestChoiceSpecs(unittest.TestCase): - def setUp(self): - self.state = dict() - self.item_name = "choicespecs" - - def test_choice_scarf_does_not_boost_physical(self): - - move = { - "accuracy": 100, - "basePower": 40, - "category": "physical", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "tackle", - "priority": 0, - "target": "normal", - "type": "normal", - "pp": 15 - } - expected_move_power = 40 - pkmn = MagicMock() - actual_power = item_modify_attack_being_used(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) - - def test_choice_scarf_boosts_special(self): - - move = { - "accuracy": 100, - "basePower": 90, - "category": "special", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "flamethrower", - "priority": 0, - "target": "normal", - "type": "fire", - "pp": 15 - } - expected_move_power = 135 - pkmn = MagicMock() - actual_power = item_modify_attack_being_used(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) - - -class TestEviolite(unittest.TestCase): - def setUp(self): - self.state = dict() - self.item_name = "eviolite" - - def test_reduces_physical_move(self): - - move = { - "accuracy": 100, - "basePower": 40, - "category": "physical", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "tackle", - "priority": 0, - "target": "normal", - "type": "normal", - "pp": 15 - } - expected_move_power = 26.666666666666668 - pkmn = MagicMock() - actual_power = item_modify_attack_against(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) - - def test_reduces_special_move(self): - - move = { - "accuracy": 100, - "basePower": 90, - "category": "special", - "flags": { - "protect": 1, - "pulse": 1, - "mirror": 1, - "distance": 1 - }, - "id": "flamethrower", - "priority": 0, - "target": "normal", - "type": "fire", - "pp": 15 - } - expected_move_power = 60.0 - pkmn = MagicMock() - actual_power = item_modify_attack_against(self.item_name, move, pkmn, None)[constants.BASE_POWER] - - self.assertEqual(expected_move_power, actual_power) diff --git a/tests/test_move_special_effects.py b/tests/test_move_special_effects.py deleted file mode 100644 index 238d027b0..000000000 --- a/tests/test_move_special_effects.py +++ /dev/null @@ -1,38 +0,0 @@ -import unittest -from data import all_move_json -import constants -from showdown.engine.special_effects.moves.modify_move import modify_attack_being_used - - -class TestSuckerPunch(unittest.TestCase): - def setUp(self): - self.state = dict() - self.move = all_move_json["suckerpunch"] - self.attacking_pokemon = None - self.defending_pokemon = None - - def test_suckerpunch_misses_when_opponent_selects_non_damaging_move(self): - opponent_move = all_move_json['substitute'] - expected_accuracy = 0 - new_move = modify_attack_being_used(None, self.move, opponent_move, self.attacking_pokemon, self.defending_pokemon, True, None, None) - self.assertEqual(expected_accuracy, new_move[constants.ACCURACY]) - - def test_suckerpunch_misses_verus_a_switch(self): - opponent_move = { - constants.SWITCH_STRING: "pokemon" - } - expected_accuracy = 0 - new_move = modify_attack_being_used(None, self.move, opponent_move, self.attacking_pokemon, self.defending_pokemon, False, None, None) - self.assertEqual(expected_accuracy, new_move[constants.ACCURACY]) - - def test_suckerpunch_misses_when_it_is_the_second_move(self): - opponent_move = all_move_json['extremespeed'] - expected_accuracy = 0 - new_move = modify_attack_being_used(None, self.move, opponent_move, self.attacking_pokemon, self.defending_pokemon, False, None, None) - self.assertEqual(expected_accuracy, new_move[constants.ACCURACY]) - - def test_suckerpunch_hits_when_opponent_tries_to_attack(self): - opponent_move = all_move_json['tackle'] - expected_accuracy = 100 - new_move = modify_attack_being_used(None, self.move, opponent_move, self.attacking_pokemon, self.defending_pokemon, True, None, None) - self.assertEqual(expected_accuracy, new_move[constants.ACCURACY]) diff --git a/tests/test_parse_smogon_stats.py b/tests/test_parse_smogon_stats.py deleted file mode 100644 index 4631a05df..000000000 --- a/tests/test_parse_smogon_stats.py +++ /dev/null @@ -1,34 +0,0 @@ -import unittest -from unittest import mock -from datetime import date - -from data.parse_smogon_stats import get_smogon_stats_file_name - - -class TestGetSmogonStatsFileName(unittest.TestCase): - def setUp(self): - self.datetime_patch = mock.patch('data.parse_smogon_stats.datetime') - self.addCleanup(self.datetime_patch.stop) - self.datetime_mock = self.datetime_patch.start() - - self.current_date_mock = date(2019, 6, 5) - - def test_returns_single_digit_month_properly(self): - self.datetime_mock.now.return_value = self.current_date_mock - file_name = get_smogon_stats_file_name('gen7ou', month_delta=2) - - self.assertEqual('https://www.smogon.com/stats/2019-04/chaos/gen7ou-0.json', file_name) - - def test_works_with_double_digit_month(self): - self.current_date_mock = date(2019, 11, 5) - self.datetime_mock.now.return_value = self.current_date_mock - file_name = get_smogon_stats_file_name('gen7ou', month_delta=2) - - self.assertEqual('https://www.smogon.com/stats/2019-09/chaos/gen7ou-0.json', file_name) - - def test_returns_previous_year_properly(self): - self.current_date_mock = date(2019, 1, 5) - self.datetime_mock.now.return_value = self.current_date_mock - file_name = get_smogon_stats_file_name('gen7ou', month_delta=2) - - self.assertEqual('https://www.smogon.com/stats/2018-11/chaos/gen7ou-0.json', file_name) diff --git a/tests/test_pkmn_sets.py b/tests/test_pkmn_sets.py new file mode 100644 index 000000000..85dd5c336 --- /dev/null +++ b/tests/test_pkmn_sets.py @@ -0,0 +1,97 @@ +import unittest + +from data.pkmn_sets import TeamDatasets, SmogonSets + + +class TestTeamDatasets(unittest.TestCase): + def setUp(self): + TeamDatasets.__init__() + + def test_team_datasets_initialize_gen5(self): + TeamDatasets.initialize( + "gen5ou", + {"azelf", "heatran", "rotomwash", "scizor", "tyranitar", "volcarona"}, + ) + self.assertEqual("gen5ou", TeamDatasets.pkmn_mode) + self.assertEqual(6, len(TeamDatasets.pkmn_sets)) + + def test_team_datasets_initialize_gen4(self): + TeamDatasets.initialize( + "gen4ou", + {"azelf", "heatran", "rotomwash", "scizor", "tyranitar", "dragonite"}, + ) + self.assertEqual("gen4ou", TeamDatasets.pkmn_mode) + self.assertEqual(6, len(TeamDatasets.pkmn_sets)) + + def test_team_datasets_add_new_pokemon(self): + TeamDatasets.initialize("gen4ou", {"dragonite"}) + self.assertNotIn("azelf", TeamDatasets.pkmn_sets) + TeamDatasets.add_new_pokemon("azelf") + self.assertIn("azelf", TeamDatasets.pkmn_sets) + + def test_pokemon_not_in_team_datasets_does_not_error(self): + TeamDatasets.initialize("gen4ou", {"dragonite"}) + self.assertNotIn("azelf", TeamDatasets.pkmn_sets) + TeamDatasets.add_new_pokemon("not_in_team_datasets") + self.assertNotIn("not_in_team_datasets", TeamDatasets.pkmn_sets) + + def test_smogon_datasets_add_new_pokemon_with_cosmetic_forme(self): + TeamDatasets.initialize("gen4ou", {"dragonite"}) + self.assertNotIn("gastrodon", TeamDatasets.pkmn_sets) + self.assertNotIn("gastrodoneast", TeamDatasets.pkmn_sets) + TeamDatasets.add_new_pokemon("gastrodoneast") + self.assertIn("gastrodoneast", TeamDatasets.pkmn_sets) + self.assertNotIn("gastrodon", TeamDatasets.pkmn_sets) + + def test_removing_initial_set_does_not_change_existing_pokemon_sets(self): + TeamDatasets.initialize("gen4ou", {"dragonite"}) + initial_len = len(TeamDatasets.pkmn_sets["dragonite"]) + TeamDatasets.pkmn_sets["dragonite"].pop(-1) + len_after_pop = len(TeamDatasets.pkmn_sets["dragonite"]) + self.assertNotEqual(initial_len, len_after_pop) + TeamDatasets.add_new_pokemon("azelf") + self.assertEqual(len_after_pop, len(TeamDatasets.pkmn_sets["dragonite"])) + + +class TestSmogonDatasets(unittest.TestCase): + def setUp(self): + SmogonSets.__init__() + + def test_smogon_datasets_initialize_gen5(self): + SmogonSets.initialize( + "gen5ou", + {"azelf", "heatran", "scizor", "tyranitar", "volcarona"}, + ) + self.assertEqual("gen5ou", SmogonSets.pkmn_mode) + self.assertEqual(5, len(SmogonSets.pkmn_sets)) + + def test_smogon_datasets_initialize_gen4(self): + SmogonSets.initialize( + "gen4ou", + {"azelf", "heatran", "scizor", "tyranitar", "dragonite"}, + ) + self.assertEqual("gen4ou", SmogonSets.pkmn_mode) + self.assertEqual(5, len(SmogonSets.pkmn_sets)) + + def test_smogon_datasets_add_new_pokemon(self): + SmogonSets.initialize("gen4ou", {"dragonite"}) + self.assertNotIn("azelf", SmogonSets.pkmn_sets) + SmogonSets.add_new_pokemon("azelf") + self.assertIn("azelf", SmogonSets.pkmn_sets) + + def test_smogon_datasets_add_new_pokemon_with_cosmetic_forme(self): + SmogonSets.initialize("gen4ou", {"dragonite"}) + self.assertNotIn("gastrodon", SmogonSets.pkmn_sets) + self.assertNotIn("gastrodoneast", SmogonSets.pkmn_sets) + SmogonSets.add_new_pokemon("gastrodoneast") + self.assertNotIn("gastrodoneast", SmogonSets.pkmn_sets) + self.assertIn("gastrodon", SmogonSets.pkmn_sets) + + def test_removing_initial_set_does_not_change_existing_pokemon_sets(self): + SmogonSets.initialize("gen4ou", {"dragonite"}) + initial_len = len(SmogonSets.pkmn_sets["dragonite"]) + SmogonSets.pkmn_sets["dragonite"].pop(-1) + len_after_pop = len(SmogonSets.pkmn_sets["dragonite"]) + self.assertNotEqual(initial_len, len_after_pop) + SmogonSets.add_new_pokemon("azelf") + self.assertEqual(len_after_pop, len(SmogonSets.pkmn_sets["dragonite"])) diff --git a/tests/test_select_best_move.py b/tests/test_select_best_move.py deleted file mode 100644 index 18ccf65d9..000000000 --- a/tests/test_select_best_move.py +++ /dev/null @@ -1,531 +0,0 @@ -import unittest -from collections import defaultdict - -import constants -from showdown.engine.objects import State -from showdown.engine.objects import Side -from showdown.engine.objects import Pokemon -from showdown.battle import Pokemon as StatePokemon - - -class TestGetAllOptions(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("raichu", 73).to_dict()), - { - "xatu": Pokemon.from_state_pokemon_dict(StatePokemon("xatu", 81).to_dict()), - "starmie": Pokemon.from_state_pokemon_dict(StatePokemon("starmie", 81).to_dict()), - "gyarados": Pokemon.from_state_pokemon_dict(StatePokemon("gyarados", 81).to_dict()), - "dragonite": Pokemon.from_state_pokemon_dict(StatePokemon("dragonite", 81).to_dict()), - "hitmonlee": Pokemon.from_state_pokemon_dict(StatePokemon("hitmonlee", 81).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("aromatisse", 81).to_dict()), - { - "yveltal": Pokemon.from_state_pokemon_dict(StatePokemon("yveltal", 73).to_dict()), - "slurpuff": Pokemon.from_state_pokemon_dict(StatePokemon("slurpuff", 73).to_dict()), - "victini": Pokemon.from_state_pokemon_dict(StatePokemon("victini", 73).to_dict()), - "toxapex": Pokemon.from_state_pokemon_dict(StatePokemon("toxapex", 73).to_dict()), - "bronzong": Pokemon.from_state_pokemon_dict(StatePokemon("bronzong", 73).to_dict()), - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'charm', constants.DISABLED: False}, - {constants.ID: 'growl', constants.DISABLED: False}, - {constants.ID: 'stringshot', constants.DISABLED: False}, - ] - self.state.opponent.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'charm', constants.DISABLED: False}, - {constants.ID: 'growl', constants.DISABLED: False}, - {constants.ID: 'stringshot', constants.DISABLED: False}, - ] - - def test_returns_all_options_in_normal_situation(self): - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_partiallytrapped_removes_switch_options_for_bot(self): - self.state.user.active.volatile_status.add(constants.PARTIALLY_TRAPPED) - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_partiallytrapped_removes_switch_options_for_opponent(self): - self.state.opponent.active.volatile_status.add(constants.PARTIALLY_TRAPPED) - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_bot_with_shadowtag_prevents_switch_options_for_opponent(self): - self.state.user.active.ability = 'shadowtag' - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_opponent_with_shadowtag_prevents_switch_options(self): - self.state.opponent.active.ability = 'shadowtag' - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_ghost_type_can_switch_out_versus_shadow_tag(self): - self.state.opponent.active.ability = 'shadowtag' - self.state.user.active.types = ['ghost'] - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_non_steel_can_switch_out_versus_magnetpull(self): - self.state.opponent.active.ability = 'magnetpull' - self.state.user.active.types = ['ghost'] - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_self_pokemon_with_phantomforce_volatilestatus_must_use_phantomforce(self): - self.state.user.active.moves = [ - {constants.ID: 'phantomforce', constants.DISABLED: False}, - {constants.ID: 'charm', constants.DISABLED: False}, - {constants.ID: 'growl', constants.DISABLED: False}, - {constants.ID: 'stringshot', constants.DISABLED: False}, - ] - self.state.user.active.volatile_status = ("phantomforce",) - expected_options = ( - [ - 'phantomforce' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_opponent_pokemon_with_phantomforce_volatilestatus_must_use_phantomforce(self): - self.state.user.active.moves = [ - {constants.ID: 'tackle', constants.DISABLED: False}, - {constants.ID: 'charm', constants.DISABLED: False}, - {constants.ID: 'growl', constants.DISABLED: False}, - {constants.ID: 'stringshot', constants.DISABLED: False}, - ] - self.state.opponent.active.moves = [ - {constants.ID: 'phantomforce', constants.DISABLED: False}, - {constants.ID: 'charm', constants.DISABLED: False}, - {constants.ID: 'growl', constants.DISABLED: False}, - {constants.ID: 'stringshot', constants.DISABLED: False}, - ] - self.state.opponent.active.volatile_status = ("phantomforce",) - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'phantomforce' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_shedshell_can_always_switch(self): - self.state.opponent.active.ability = 'shadowtag' - self.state.user.active.item = 'shedshell' - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_bot_can_switch_as_flying_type_versus_arenatrap(self): - self.state.opponent.active.ability = 'arenatrap' - self.state.user.active.types = ['flying'] - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_airballoon_allows_holder_to_switch(self): - self.state.opponent.active.ability = 'arenatrap' - self.state.user.active.types = ['normal'] - self.state.user.active.item = 'airballoon' - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_arenatrap_traps_non_grounded(self): - self.state.opponent.active.ability = 'arenatrap' - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_steel_type_cannot_switch_out_versus_magnetpull(self): - self.state.opponent.active.ability = 'magnetpull' - self.state.user.active.types = ['steel'] - expected_options = ( - [ - 'tackle', - 'charm', - 'growl', - 'stringshot' - ], - [ - 'tackle', - 'charm', - 'growl', - 'stringshot', - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ] - ) - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_returns_only_switches_for_user_and_nothing_for_opponent_when_user_active_is_dead(self): - expected_options = ( - [ - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - constants.DO_NOTHING_MOVE - ] - ) - self.state.user.active.hp = 0 - - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_returns_nothing_for_user_when_opponent_active_is_dead(self): - self.state.opponent.active.hp = 0 - expected_user_options = [ - constants.DO_NOTHING_MOVE - ] - - options = self.state.get_all_options() - - self.assertEqual(expected_user_options, options[0]) - - def test_double_faint_returns_correct_decisions(self): - self.state.user.active.hp = 0 - self.state.opponent.active.hp = 0 - expected_options = ( - [ - 'switch xatu', - 'switch starmie', - 'switch gyarados', - 'switch dragonite', - 'switch hitmonlee' - ], - [ - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ], - ) - - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) - - def test_double_faint_with_no_reserve_pokemon_returns_correct_decisions(self): - self.state.user.active.hp = 0 - self.state.opponent.active.hp = 0 - - for mon in self.state.user.reserve.values(): - mon.hp = 0 - - expected_options = ( - [ - constants.DO_NOTHING_MOVE - ], - [ - 'switch yveltal', - 'switch slurpuff', - 'switch victini', - 'switch toxapex', - 'switch bronzong' - ], - ) - - options = self.state.get_all_options() - - self.assertEqual(expected_options, options) diff --git a/tests/test_state.py b/tests/test_state.py deleted file mode 100644 index 22aeb33e6..000000000 --- a/tests/test_state.py +++ /dev/null @@ -1,70 +0,0 @@ -import unittest - -import constants -from showdown.engine.objects import State -from showdown.battle import Pokemon as StatePokemon -from showdown.engine.objects import Pokemon - - -class TestPokemonInit(unittest.TestCase): - - def test_state_serialization_and_loading_results_in_the_same_state(self): - state_json = {'user': {'active': {'id': 'tornadustherian', 'level': 100, 'hp': 0, 'maxhp': 0, 'ability': 'regenerator', 'item': 'fightiniumz', 'attack': 212, 'defense': 197, 'special-attack': 319, 'special-defense': 216, 'speed': 375, 'attack_boost': -1, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'taunt', 'disabled': False, 'current_pp': 32}, {'id': 'hurricane', 'disabled': False, 'current_pp': 16}, {'id': 'focusblast', 'disabled': False, 'current_pp': 8}, {'id': 'defog', 'disabled': False, 'current_pp': 24}], 'types': ['flying'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'greninja': {'id': 'greninja', 'level': 100, 'hp': 285, 'maxhp': 285, 'ability': 'battlebond', 'item': 'choicespecs', 'attack': 203, 'defense': 171, 'special-attack': 305, 'special-defense': 178, 'speed': 377, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'surf', 'disabled': False, 'current_pp': 24}, {'id': 'darkpulse', 'disabled': False, 'current_pp': 24}, {'id': 'icebeam', 'disabled': False, 'current_pp': 16}, {'id': 'watershuriken', 'disabled': False, 'current_pp': 32}], 'types': ['water', 'dark'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'mawile': {'id': 'mawile', 'level': 100, 'hp': 261.0, 'maxhp': 261, 'ability': 'intimidate', 'item': 'mawilite', 'attack': 295, 'defense': 206, 'special-attack': 131, 'special-defense': 146, 'speed': 180, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'suckerpunch', 'disabled': False, 'current_pp': 8}, {'id': 'playrough', 'disabled': False, 'current_pp': 16}, {'id': 'thunderpunch', 'disabled': False, 'current_pp': 24}, {'id': 'firefang', 'disabled': False, 'current_pp': 24}], 'types': ['steel', 'fairy'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'ferrothorn': {'id': 'ferrothorn', 'level': 100, 'hp': 352.0, 'maxhp': 352, 'ability': 'ironbarbs', 'item': 'leftovers', 'attack': 224, 'defense': 299, 'special-attack': 144, 'special-defense': 364, 'speed': 68, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'spikes', 'disabled': False, 'current_pp': 32}, {'id': 'leechseed', 'disabled': False, 'current_pp': 16}, {'id': 'knockoff', 'disabled': False, 'current_pp': 32}, {'id': 'gyroball', 'disabled': False, 'current_pp': 8}], 'types': ['grass', 'steel'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'heatran': {'id': 'heatran', 'level': 100, 'hp': 385, 'maxhp': 385, 'ability': 'flashfire', 'item': 'leftovers', 'attack': 194, 'defense': 248, 'special-attack': 296, 'special-defense': 332, 'speed': 201, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'taunt', 'disabled': False, 'current_pp': 32}, {'id': 'magmastorm', 'disabled': False, 'current_pp': 8}, {'id': 'earthpower', 'disabled': False, 'current_pp': 16}, {'id': 'toxic', 'disabled': False, 'current_pp': 16}], 'types': ['fire', 'steel'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'garchomp': {'id': 'garchomp', 'level': 100, 'hp': 379, 'maxhp': 379, 'ability': 'roughskin', 'item': 'rockyhelmet', 'attack': 296, 'defense': 317, 'special-attack': 176, 'special-defense': 206, 'speed': 282, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'stealthrock', 'disabled': False, 'current_pp': 32}, {'id': 'earthquake', 'disabled': False, 'current_pp': 16}, {'id': 'toxic', 'disabled': False, 'current_pp': 16}, {'id': 'roar', 'disabled': False, 'current_pp': 32}], 'types': ['dragon', 'ground'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'toxic_count': 0, 'tailwind': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0}}, 'opponent': {'active': {'id': 'landorustherian', 'level': 100, 'hp': 319.0, 'maxhp': 319, 'ability': 'intimidate', 'item': 'choicescarf', 'attack': 389, 'defense': 216, 'special-attack': 223.63636363636363, 'special-defense': 197, 'speed': 309.1, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'earthquake', 'disabled': False, 'current_pp': 16}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}, {'id': 'stealthrock', 'disabled': False, 'current_pp': 32}, {'id': 'defog', 'disabled': False, 'current_pp': 24}, {'id': 'stoneedge', 'disabled': False, 'current_pp': 8}], 'types': ['ground', 'flying'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': True}, 'reserve': {'ferrothorn': {'id': 'ferrothorn', 'level': 100, 'hp': 352.0, 'maxhp': 352, 'ability': 'ironbarbs', 'item': 'leftovers', 'attack': 224, 'defense': 304, 'special-attack': 158.4, 'special-defense': 326, 'speed': 69.09090909090908, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'leechseed', 'disabled': False, 'current_pp': 16}, {'id': 'gyroball', 'disabled': False, 'current_pp': 8}, {'id': 'stealthrock', 'disabled': False, 'current_pp': 32}, {'id': 'powerwhip', 'disabled': False, 'current_pp': 16}], 'types': ['grass', 'steel'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'rotomwash': {'id': 'rotomwash', 'level': 100, 'hp': 304.0, 'maxhp': 304, 'ability': 'levitate', 'item': 'leftovers', 'attack': 150.9090909090909, 'defense': 330.0, 'special-attack': 246, 'special-defense': 250, 'speed': 222, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'hydropump', 'disabled': False, 'current_pp': 8}, {'id': 'voltswitch', 'disabled': False, 'current_pp': 32}, {'id': 'willowisp', 'disabled': False, 'current_pp': 24}, {'id': 'defog', 'disabled': False, 'current_pp': 24}], 'types': ['electric', 'water'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'mawile': {'id': 'mawile', 'level': 100, 'hp': 303.0, 'maxhp': 303, 'ability': 'intimidate', 'item': 'leftovers', 'attack': 295.90000000000003, 'defense': 206, 'special-attack': 132.72727272727272, 'special-defense': 148, 'speed': 136, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'playrough', 'disabled': False, 'current_pp': 16}, {'id': 'ironhead', 'disabled': False, 'current_pp': 24}, {'id': 'suckerpunch', 'disabled': False, 'current_pp': 8}, {'id': 'swordsdance', 'disabled': False, 'current_pp': 32}], 'types': ['steel', 'fairy'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'greninja': {'id': 'greninja', 'level': 100, 'hp': 285.0, 'maxhp': 285, 'ability': 'protean', 'item': 'choicescarf', 'attack': 205.45454545454544, 'defense': 170, 'special-attack': 305, 'special-defense': 179, 'speed': 377.3, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'icebeam', 'disabled': False, 'current_pp': 16}, {'id': 'gunkshot', 'disabled': False, 'current_pp': 8}, {'id': 'uturn', 'disabled': False, 'current_pp': 32}, {'id': 'hydropump', 'disabled': False, 'current_pp': 8}], 'types': ['water', 'dark'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}, 'scolipede': {'id': 'scolipede', 'level': 100, 'hp': 261.0, 'maxhp': 261, 'ability': 'speedboost', 'item': 'wateriumz', 'attack': 328.90000000000003, 'defense': 214, 'special-attack': 132.72727272727272, 'special-defense': 175, 'speed': 323, 'attack_boost': 0, 'defense_boost': 0, 'special_attack_boost': 0, 'special_defense_boost': 0, 'speed_boost': 0, 'accuracy_boost': 1, 'evasion_boost': 1, 'status': None, 'volatileStatus': [], 'moves': [{'id': 'swordsdance', 'disabled': False, 'current_pp': 32}, {'id': 'earthquake', 'disabled': False, 'current_pp': 16}, {'id': 'megahorn', 'disabled': False, 'current_pp': 16}, {'id': 'poisonjab', 'disabled': False, 'current_pp': 32}], 'types': ['bug', 'poison'], 'nature': 'serious', 'evs': (85, 85, 85, 85, 85, 85), 'terastallized': False}}, 'wish': (0, 0), 'futuresight': (0, 0), 'side_conditions': {'toxic_count': 0, 'tailwind': 0, 'reflect': 0, 'lightscreen': 0, 'auroraveil': 0, 'stealthrock': 0, 'spikes': 0, 'stickyweb': 0, 'toxicspikes': 0}}, 'weather': 1, 'field': 2, 'trickroom': 3} - state = State.from_dict(state_json) - - # str(state) gives a string representing the state-dict - new_state_dict = eval(str(state)) - - self.assertEqual(state_json, new_state_dict) - - def test_pokemon_init_gives_correct_number_of_physical_moves(self): - # 2 moves that are physical - moves = [ - {constants.ID: 'flamethrower'}, - {constants.ID: 'flareblitz'}, - {constants.ID: 'flamewheel'}, - {constants.ID: 'reflect'}, - ] - - state_pkmn_dict = StatePokemon('charizardmegax', 100).to_dict() - state_pkmn_dict[constants.MOVES] = moves - pkmn = Pokemon.from_state_pokemon_dict(state_pkmn_dict) - - self.assertEqual(2, pkmn.burn_multiplier) - - -class TestPokemon(unittest.TestCase): - def setUp(self): - self.pokemon = Pokemon.from_state_pokemon_dict( - StatePokemon('pikachu', 100).to_dict() - ) - - def test_pokemon_item_can_be_removed_returns_true_in_basic_case(self): - self.pokemon.item = constants.UNKNOWN_ITEM - self.assertTrue(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_false_if_item_is_none(self): - self.pokemon.item = None - self.assertFalse(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_false_if_pokemon_is_silvallybug(self): - self.pokemon.id = 'silvallybug' - self.pokemon.item = 'bugmemory' - self.assertFalse(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_true_if_pokemon_is_silvallynormal(self): - self.pokemon.id = 'silvally' - self.pokemon.item = 'choicescarf' - self.assertTrue(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_false_if_pokemon_has_substitute(self): - self.pokemon.volatile_status.add('substitute') - self.assertFalse(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_false_if_pokemon_is_holding_zcrystal(self): - self.pokemon.item = 'fightiniumz' - self.assertFalse(self.pokemon.item_can_be_removed()) - - def test_item_can_be_removed_returns_false_if_target_is_kyogreprimal(self): - self.pokemon.id = 'kyogreprimal' - self.assertFalse(self.pokemon.item_can_be_removed()) diff --git a/tests/test_state_mutator.py b/tests/test_state_mutator.py deleted file mode 100644 index db9727a2c..000000000 --- a/tests/test_state_mutator.py +++ /dev/null @@ -1,864 +0,0 @@ -import unittest - -from collections import defaultdict -import constants - -from showdown.battle import Pokemon as StatePokemon -from showdown.engine.objects import State -from showdown.engine.objects import Side -from showdown.engine.objects import Pokemon -from showdown.engine.objects import StateMutator - - -class TestStatemutator(unittest.TestCase): - def setUp(self): - self.state = State( - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - "rattata": Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - "charmander": Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - "squirtle": Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - "bulbasaur": Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - "pidgey": Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - Side( - Pokemon.from_state_pokemon_dict(StatePokemon("pikachu", 100).to_dict()), - { - "rattata": Pokemon.from_state_pokemon_dict(StatePokemon("rattata", 100).to_dict()), - "charmander": Pokemon.from_state_pokemon_dict(StatePokemon("charmander", 100).to_dict()), - "squirtle": Pokemon.from_state_pokemon_dict(StatePokemon("squirtle", 100).to_dict()), - "bulbasaur": Pokemon.from_state_pokemon_dict(StatePokemon("bulbasaur", 100).to_dict()), - "pidgey": Pokemon.from_state_pokemon_dict(StatePokemon("pidgey", 100).to_dict()) - }, - (0, 0), - defaultdict(lambda: 0), - (0, 0) - ), - None, - None, - False - ) - self.mutator = StateMutator(self.state) - - def test_switch_instruction_replaces_active(self): - instruction = ( - constants.MUTATOR_SWITCH, - constants.USER, - "pikachu", - "rattata" - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual("rattata", self.state.user.active.id) - - def test_switch_instruction_replaces_active_for_opponent(self): - instruction = ( - constants.MUTATOR_SWITCH, - constants.OPPONENT, - "pikachu", - "rattata" - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual("rattata", self.state.opponent.active.id) - - def test_switch_instruction_places_active_into_reserve(self): - instruction = ( - constants.MUTATOR_SWITCH, - constants.USER, - "pikachu", - "rattata" - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - try: - self.state.user.reserve["pikachu"] - except KeyError: - self.fail("`pikachu` is not in `self.reserve`") - - def test_reverse_switch_instruction_replaces_active(self): - instruction = ( - constants.MUTATOR_SWITCH, - constants.USER, - "rattata", - "pikachu" - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual("rattata", self.state.user.active.id) - - def test_apply_volatile_status_properly_applies_status(self): - instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - constants.USER, - "leechseed" - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertIn("leechseed", self.state.user.active.volatile_status) - - def test_reverse_volatile_status_properly_removes_status(self): - self.state.user.active.volatile_status.add("leechseed") - instruction = ( - constants.MUTATOR_APPLY_VOLATILE_STATUS, - constants.USER, - "leechseed" - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertNotIn("leechseed", self.state.user.active.volatile_status) - - def test_damage_is_properly_applied(self): - instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 50 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - damage_taken = self.state.user.active.maxhp - self.state.user.active.hp - - self.assertEqual(50, damage_taken) - - def test_damage_is_properly_reversed(self): - self.state.user.active.hp -= 50 - instruction = ( - constants.MUTATOR_DAMAGE, - constants.USER, - 50 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - damage_taken = self.state.user.active.maxhp - self.state.user.active.hp - - self.assertEqual(0, damage_taken) - - def test_healing_is_properly_applied(self): - self.state.user.active.hp -= 50 - instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 50 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - damage_taken = self.state.user.active.maxhp - self.state.user.active.hp - - self.assertEqual(0, damage_taken) - - def test_healing_is_properly_reversed(self): - instruction = ( - constants.MUTATOR_HEAL, - constants.USER, - 50 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - damage_taken = self.state.user.active.maxhp - self.state.user.active.hp - - self.assertEqual(50, damage_taken) - - def test_boost_is_properly_applied(self): - instruction = ( - constants.MUTATOR_BOOST, - constants.USER, - constants.ATTACK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(1, self.state.user.active.attack_boost) - - def test_boost_is_properly_reversed(self): - self.state.user.active.attack_boost = 1 - instruction = ( - constants.MUTATOR_BOOST, - constants.USER, - constants.ATTACK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(0, self.state.user.active.attack_boost) - - def test_boost_is_properly_reversed_when_a_boost_previously_existed(self): - # the pokemon had attack_boost=2 before - # it boosted to 4, and now it is being reversed - self.state.user.active.attack_boost = 4 - instruction = ( - constants.MUTATOR_BOOST, - constants.USER, - constants.ATTACK, - 2 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(2, self.state.user.active.attack_boost) - - def test_unboost_is_properly_applied(self): - instruction = ( - constants.MUTATOR_UNBOOST, - constants.USER, - constants.ATTACK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(-1, self.state.user.active.attack_boost) - - def test_unboost_is_properly_reversed(self): - self.state.user.active.attack_boost = -1 - instruction = ( - constants.MUTATOR_UNBOOST, - constants.USER, - constants.ATTACK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(0, self.state.user.active.attack_boost) - - def test_apply_status_properly_applies_status(self): - instruction = ( - constants.MUTATOR_APPLY_STATUS, - constants.USER, - constants.BURN - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(constants.BURN, self.state.user.active.status) - - def test_apply_status_is_properly_reversed(self): - self.state.user.active.status = constants.BURN - instruction = ( - constants.MUTATOR_APPLY_STATUS, - constants.USER, - constants.BURN - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(None, self.state.user.active.status) - - def test_remove_status_properly_removes_status(self): - self.state.user.active.status = constants.BURN - instruction = ( - constants.MUTATOR_REMOVE_STATUS, - constants.USER, - constants.BURN - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(None, self.state.user.active.status) - - def test_remove_status_is_properly_reversed(self): - instruction = ( - constants.MUTATOR_REMOVE_STATUS, - constants.USER, - constants.BURN - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(constants.BURN, self.state.user.active.status) - - def test_side_start_is_properly_applied(self): - instruction = ( - constants.MUTATOR_SIDE_START, - constants.USER, - constants.STEALTH_ROCK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(1, self.state.user.side_conditions[constants.STEALTH_ROCK]) - - def test_side_start_is_properly_reversed(self): - self.state.user.side_conditions[constants.STEALTH_ROCK] = 1 - instruction = ( - constants.MUTATOR_SIDE_START, - constants.USER, - constants.STEALTH_ROCK, - 1 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(0, self.state.user.side_conditions[constants.STEALTH_ROCK]) - - def test_side_end_is_properly_applied(self): - self.state.user.side_conditions[constants.STEALTH_ROCK] = 2 - instruction = ( - constants.MUTATOR_SIDE_END, - constants.USER, - constants.STEALTH_ROCK, - 2 - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(0, self.state.user.side_conditions[constants.STEALTH_ROCK]) - - def test_side_end_is_properly_reversed(self): - instruction = ( - constants.MUTATOR_SIDE_END, - constants.USER, - constants.STEALTH_ROCK, - 2 - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(2, self.state.user.side_conditions[constants.STEALTH_ROCK]) - - def test_disable_move(self): - move = { - 'id': 'return', - 'disabled': False, - 'current_pp': 16 - } - self.state.user.active.moves = [move] - instruction = ( - constants.MUTATOR_DISABLE_MOVE, - constants.USER, - "return", - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertTrue(move[constants.DISABLED]) - - def test_reverse_disable_move(self): - move = { - 'id': 'return', - 'disabled': True, - 'current_pp': 16 - } - self.state.user.active.moves = [move] - instruction = ( - constants.MUTATOR_DISABLE_MOVE, - constants.USER, - "return", - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertFalse(move[constants.DISABLED]) - - def test_enable_move(self): - move = { - 'id': 'return', - 'disabled': True, - 'current_pp': 16 - } - self.state.user.active.moves = [move] - instruction = ( - constants.MUTATOR_ENABLE_MOVE, - constants.USER, - "return", - ) - - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertFalse(move[constants.DISABLED]) - - def test_reverse_enable_move(self): - move = { - 'id': 'return', - 'disabled': False, - 'current_pp': 16 - } - self.state.user.active.moves = [move] - instruction = ( - constants.MUTATOR_ENABLE_MOVE, - constants.USER, - "return", - ) - - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertTrue(move[constants.DISABLED]) - - def test_setting_weather(self): - self.state.weather = None - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - None - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(constants.SUN, self.state.weather) - - def test_setting_weather_when_previous_weather_exists(self): - self.state.weather = constants.RAIN - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - constants.RAIN - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(constants.SUN, self.state.weather) - - def test_reversing_weather_when_previous_weather_exists(self): - self.state.weather = constants.SUN - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - constants.RAIN - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(constants.RAIN, self.state.weather) - - def test_reverse_setting_weather(self): - self.state.weather = constants.SUN - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - None - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(None, self.state.weather) - - def test_apply_and_reverse_setting_weather_works(self): - self.state.weather = None - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - None - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if not self.state.weather == constants.SUN: - self.fail("Sun was not set") - - self.mutator.reverse(list_of_instructions) - - self.assertEqual(None, self.state.weather) - - def test_apply_and_reverse_setting_weather_works_with_weather_previously_existing(self): - self.state.weather = constants.RAIN - instruction = ( - constants.MUTATOR_WEATHER_START, - constants.SUN, - constants.RAIN - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if not self.state.weather == constants.SUN: - self.fail("Sun was not set") - - self.mutator.reverse(list_of_instructions) - - self.assertEqual(constants.RAIN, self.state.weather) - - def test_setting_field(self): - self.state.field = None - instruction = ( - constants.MUTATOR_FIELD_START, - constants.PSYCHIC_TERRAIN, - None - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(constants.PSYCHIC_TERRAIN, self.state.field) - - def test_reverse_setting_field(self): - self.state.field = constants.PSYCHIC_TERRAIN - instruction = ( - constants.MUTATOR_FIELD_START, - constants.PSYCHIC_TERRAIN, - None - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(None, self.state.field) - - def test_apply_and_reverse_field(self): - self.state.field = None - instruction = ( - constants.MUTATOR_FIELD_START, - constants.PSYCHIC_TERRAIN, - None - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if self.state.field != constants.PSYCHIC_TERRAIN: - self.fail("Terrain was not set") - self.mutator.reverse(list_of_instructions) - - self.assertEqual(None, self.state.field) - - def test_apply_and_reverse_field_when_previous_field_exists(self): - self.state.field = constants.GRASSY_TERRAIN - instruction = ( - constants.MUTATOR_FIELD_START, - constants.PSYCHIC_TERRAIN, - constants.GRASSY_TERRAIN - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if self.state.field != constants.PSYCHIC_TERRAIN: - self.fail("Terrain was not set") - self.mutator.reverse(list_of_instructions) - - self.assertEqual(constants.GRASSY_TERRAIN, self.state.field) - - def test_end_active_field(self): - self.state.field = constants.GRASSY_TERRAIN - instruction = ( - constants.MUTATOR_FIELD_END, - constants.GRASSY_TERRAIN - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if self.state.field is not None: - self.fail("Terrain was not removed") - self.mutator.reverse(list_of_instructions) - - self.assertEqual(constants.GRASSY_TERRAIN, self.state.field) - - def test_reversing_end_active_field(self): - self.state.field = None - instruction = ( - constants.MUTATOR_FIELD_END, - constants.GRASSY_TERRAIN - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - if self.state.field != constants.GRASSY_TERRAIN: - self.fail("Terrain was not reset") - self.mutator.apply(list_of_instructions) - - self.assertEqual(None, self.state.field) - - def test_toggle_trickroom_sets_trickroom(self): - self.state.trick_room = False - instruction = ( - constants.MUTATOR_TOGGLE_TRICKROOM, - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertTrue(self.state.trick_room) - - def test_reverse_instruction_unsets_trickroom(self): - self.state.trick_room = True - instruction = ( - constants.MUTATOR_TOGGLE_TRICKROOM, - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertFalse(self.state.trick_room) - - def test_reverse_instruction_sets_trickroom(self): - self.state.trick_room = False - instruction = ( - constants.MUTATOR_TOGGLE_TRICKROOM, - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertTrue(self.state.trick_room) - - def test_toggle_trickroom_unsets_trickroom(self): - self.state.trick_room = True - instruction = ( - constants.MUTATOR_TOGGLE_TRICKROOM, - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertFalse(self.state.trick_room) - - def test_apply_and_reverse_trickroom(self): - self.state.trick_room = False - instruction = ( - constants.MUTATOR_TOGGLE_TRICKROOM, - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if not self.state.trick_room: - self.fail("Trickroom was not set") - self.mutator.reverse(list_of_instructions) - - self.assertFalse(self.state.trick_room) - - def test_change_types_properly_changes_types(self): - self.state.user.active.types = ['normal'] - instruction = ( - constants.MUTATOR_CHANGE_TYPE, - constants.USER, - ['water'], - self.state.user.active.types - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(['water'], self.state.user.active.types) - - def test_reverse_change_types(self): - self.state.user.active.types = ['water'] - instruction = ( - constants.MUTATOR_CHANGE_TYPE, - constants.USER, - ['water'], - ['normal'] - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - - self.assertEqual(['normal'], self.state.user.active.types) - - def test_apply_and_reverse_change_types(self): - self.state.user.active.types = ['normal'] - instruction = ( - constants.MUTATOR_CHANGE_TYPE, - constants.USER, - ['water', 'grass'], - self.state.user.active.types - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - if self.state.user.active.types != ['water', 'grass']: - self.fail('types were not changed') - - self.mutator.reverse(list_of_instructions) - self.assertEqual(['normal'], self.state.user.active.types) - - def test_changing_item(self): - self.state.user.active.item = 'some_item' - instruction = ( - constants.MUTATOR_CHANGE_ITEM, - constants.USER, - 'some_new_item', - self.state.user.active.item - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - self.assertEqual('some_new_item', self.state.user.active.item) - - def test_reversing_changE_item(self): - self.state.user.active.item = 'some_new_item' - instruction = ( - constants.MUTATOR_CHANGE_ITEM, - constants.USER, - 'some_new_item', - 'some_item' - ) - list_of_instructions = [instruction] - self.mutator.reverse(list_of_instructions) - self.assertEqual('some_item', self.state.user.active.item) - - def test_changing_item_and_reversing_item(self): - self.state.user.active.item = 'some_item' - instruction = ( - constants.MUTATOR_CHANGE_ITEM, - constants.USER, - 'some_new_item', - self.state.user.active.item - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - if self.state.user.active.item != 'some_new_item': - self.fail('item was not changed') - - self.mutator.reverse(list_of_instructions) - self.assertEqual('some_item', self.state.user.active.item) - - def test_wish_starting(self): - self.state.user.wish = (0, 0) - instruction = ( - constants.MUTATOR_WISH_START, - constants.USER, - 100, - 0 - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual((2, 100), self.state.user.wish) - - def test_wish_starting_and_reversing(self): - self.state.user.wish = (0, 0) - instruction = ( - constants.MUTATOR_WISH_START, - constants.USER, - 100, - 0 - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - if self.state.user.wish != (2, 100): - self.fail("wish was not started") - - self.mutator.reverse(list_of_instructions) - - self.assertEqual((0, 0), self.state.user.wish) - - def test_previous_wish_reverses_to_exactly_the_same(self): - self.state.user.wish = (0, 200) - instruction = ( - constants.MUTATOR_WISH_START, - constants.USER, - 100, - 200 - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - if self.state.user.wish != (2, 100): - self.fail("wish was not started") - - self.mutator.reverse(list_of_instructions) - - self.assertEqual((0, 200), self.state.user.wish) - - def test_decrement_wish(self): - self.state.user.wish = (2, 100) - instruction = ( - constants.MUTATOR_WISH_DECREMENT, - constants.USER, - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual((1, 100), self.state.user.wish) - - def test_decrement_wish_and_reverse_decrement_wish(self): - self.state.user.wish = (2, 100) - instruction = ( - constants.MUTATOR_WISH_DECREMENT, - constants.USER, - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - if self.state.user.wish != (1, 100): - self.fail("wish was not decremented") - - self.mutator.reverse(list_of_instructions) - - self.assertEqual((2, 100), self.state.user.wish) - - def test_change_stats_basic_case(self): - self.state.user.active.attack = 1 - self.state.user.active.defense = 2 - self.state.user.active.special_attack = 3 - self.state.user.active.special_defense = 4 - self.state.user.active.speed = 5 - instruction = ( - constants.MUTATOR_CHANGE_STATS, - constants.USER, - (9, 10, 11, 12, 13, 14), - ( - self.state.user.active.maxhp, - self.state.user.active.attack, - self.state.user.active.defense, - self.state.user.active.special_attack, - self.state.user.active.special_defense, - self.state.user.active.speed, - ), - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - - self.assertEqual(9, self.state.user.active.maxhp) - self.assertEqual(10, self.state.user.active.attack) - self.assertEqual(11, self.state.user.active.defense) - self.assertEqual(12, self.state.user.active.special_attack) - self.assertEqual(13, self.state.user.active.special_defense) - self.assertEqual(14, self.state.user.active.speed) - - def test_reverse_change_stats_basic_case(self): - self.state.user.active.maxhp = 10 - self.state.user.active.attack = 1 - self.state.user.active.defense = 2 - self.state.user.active.special_attack = 3 - self.state.user.active.special_defense = 4 - self.state.user.active.speed = 5 - instruction = ( - constants.MUTATOR_CHANGE_STATS, - constants.USER, - (9, 10, 11, 12, 13, 14), - ( - self.state.user.active.maxhp, - self.state.user.active.attack, - self.state.user.active.defense, - self.state.user.active.special_attack, - self.state.user.active.special_defense, - self.state.user.active.speed, - ), - ) - list_of_instructions = [instruction] - self.mutator.apply(list_of_instructions) - self.mutator.reverse(list_of_instructions) - - self.assertEqual(10, self.state.user.active.maxhp) - self.assertEqual(1, self.state.user.active.attack) - self.assertEqual(2, self.state.user.active.defense) - self.assertEqual(3, self.state.user.active.special_attack) - self.assertEqual(4, self.state.user.active.special_defense) - self.assertEqual(5, self.state.user.active.speed) diff --git a/tests/test_team_converter.py b/tests/test_team_converter.py index 45a4e48a0..e8afbe24b 100644 --- a/tests/test_team_converter.py +++ b/tests/test_team_converter.py @@ -14,6 +14,7 @@ def setUp(self): "ability": "", "moves": [], "nature": "", + "shiny": "", "tera_type": "", "evs": { "hp": "", @@ -26,148 +27,117 @@ def setUp(self): } def test_pokemon_with_item(self): - export_string = ( - "Tyranitar @ Leftovers" - ) + export_string = "Tyranitar @ Leftovers" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['item'] = 'leftovers' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["item"] = "leftovers" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pokemon_with_level(self): - export_string = ( - "Tyranitar\n" - "Level: 5 " - ) + export_string = "Tyranitar\n" "Level: 5 " pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['level'] = '5' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["level"] = "5" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_space_in_name(self): - export_string = ( - "Mr. Mime" - ) + export_string = "Mr. Mime" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'mrmime' + self.expected_pkmn_dict["name"] = "mrmime" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_space_in_name_with_gender(self): - export_string = ( - "Mr. Mime (M)" - ) + export_string = "Mr. Mime (M)" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'mrmime' - self.expected_pkmn_dict['gender'] = 'M' + self.expected_pkmn_dict["name"] = "mrmime" + self.expected_pkmn_dict["gender"] = "M" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_space_in_name_with_gender_and_item(self): - export_string = ( - "Mr. Mime (M) @ Leftovers" - ) + export_string = "Mr. Mime (M) @ Leftovers" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'mrmime' - self.expected_pkmn_dict['gender'] = 'M' - self.expected_pkmn_dict['item'] = 'leftovers' + self.expected_pkmn_dict["name"] = "mrmime" + self.expected_pkmn_dict["gender"] = "M" + self.expected_pkmn_dict["item"] = "leftovers" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pokemon_without_item(self): - export_string = ( - "Tyranitar" - ) + export_string = "Tyranitar" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' + self.expected_pkmn_dict["name"] = "tyranitar" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_gendered_pokemon_with_item(self): - export_string = ( - "Tyranitar (M) @ Leftovers" - ) + export_string = "Tyranitar (M) @ Leftovers" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['item'] = 'leftovers' - self.expected_pkmn_dict['gender'] = 'M' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["item"] = "leftovers" + self.expected_pkmn_dict["gender"] = "M" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_gendered_pokemon_without_item(self): - export_string = ( - "Tyranitar (M)" - ) + export_string = "Tyranitar (M)" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['gender'] = 'M' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["gender"] = "M" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_evs(self): - export_string = ( - "Tyranitar\n" - "EVs: 1 Atk / 2 Def / 3 Spa / 4 SpD / 5 Spe" - ) + export_string = "Tyranitar\n" "EVs: 1 Atk / 2 Def / 3 Spa / 4 SpD / 5 Spe" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['evs']['atk'] = '1' - self.expected_pkmn_dict['evs']['def'] = '2' - self.expected_pkmn_dict['evs']['spa'] = '3' - self.expected_pkmn_dict['evs']['spd'] = '4' - self.expected_pkmn_dict['evs']['spe'] = '5' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["evs"]["atk"] = "1" + self.expected_pkmn_dict["evs"]["def"] = "2" + self.expected_pkmn_dict["evs"]["spa"] = "3" + self.expected_pkmn_dict["evs"]["spd"] = "4" + self.expected_pkmn_dict["evs"]["spe"] = "5" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_ability(self): - export_string = ( - "Tyranitar\n" - "Ability: Sand Stream" - ) + export_string = "Tyranitar\n" "Ability: Sand Stream" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['ability'] = 'sandstream' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["ability"] = "sandstream" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_nature(self): - export_string = ( - "Tyranitar\n" - "Adamant Nature" - ) + export_string = "Tyranitar\n" "Adamant Nature" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['nature'] = 'adamant' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["nature"] = "adamant" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_pkmn_with_moves(self): - export_string = ( - "Tyranitar\n" - "- Crunch\n" - "- Stone Edge\n" - "- Earthquake" - ) + export_string = "Tyranitar\n" "- Crunch\n" "- Stone Edge\n" "- Earthquake" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['moves'] = [ - 'crunch', - 'stoneedge', - 'earthquake', + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["moves"] = [ + "crunch", + "stoneedge", + "earthquake", ] self.assertEqual(self.expected_pkmn_dict, pkmn_dict) @@ -183,72 +153,62 @@ def test_pkmn_with_moves_in_random_places(self): ) pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['ability'] = 'sandstream' - self.expected_pkmn_dict['nature'] = 'adamant' - self.expected_pkmn_dict['moves'] = [ - 'crunch', - 'stoneedge', - 'earthquake', + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["ability"] = "sandstream" + self.expected_pkmn_dict["nature"] = "adamant" + self.expected_pkmn_dict["moves"] = [ + "crunch", + "stoneedge", + "earthquake", ] self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_deals_with_nicknames(self): - export_string = ( - "Ty Ty (Tyranitar)\n" - ) + export_string = "Ty Ty (Tyranitar)\n" pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['species'] = 'tyranitar' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["species"] = "tyranitar" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_deals_with_space_after_line(self): export_string = ( - "Tyranitar\n" - "Adamant Nature " # intentional whitespace after "Nature" + "Tyranitar\n" "Adamant Nature " # intentional whitespace after "Nature" ) pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['nature'] = 'adamant' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["nature"] = "adamant" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_deals_with_newline_after_line(self): export_string = ( - "Tyranitar\n" - "Adamant Nature\n" # intentional newline after "Nature" + "Tyranitar\n" "Adamant Nature\n" # intentional newline after "Nature" ) pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['nature'] = 'adamant' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["nature"] = "adamant" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_deals_with_carriagereturn_after_line(self): - export_string = ( - "Tyranitar\n" - "Adamant Nature \r " - ) + export_string = "Tyranitar\n" "Adamant Nature \r " pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['nature'] = 'adamant' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["nature"] = "adamant" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) def test_parses_terra_type(self): - export_string = ( - "Tyranitar\n" - "Tera Type: Water \r " - ) + export_string = "Tyranitar\n" "Tera Type: Water \r " pkmn_dict = single_pokemon_export_to_dict(export_string) - self.expected_pkmn_dict['name'] = 'tyranitar' - self.expected_pkmn_dict['tera_type'] = 'water' + self.expected_pkmn_dict["name"] = "tyranitar" + self.expected_pkmn_dict["tera_type"] = "water" self.assertEqual(self.expected_pkmn_dict, pkmn_dict) diff --git a/tests/test_team_datasets.py b/tests/test_team_datasets.py deleted file mode 100644 index ba10d4e8b..000000000 --- a/tests/test_team_datasets.py +++ /dev/null @@ -1,400 +0,0 @@ -from unittest import TestCase - -import constants -from data.team_datasets import _TeamDatasets, PokemonSet, PokemonMoveset -from showdown.battle import Pokemon, Move, StatRange - - -class TestTeamDatasets(TestCase): - def setUp(self): - self.team_datasets = _TeamDatasets() - - def test_populating_datasets_from_file_with_empty_list(self): - self.team_datasets.set_pokemon_sets([]) - - def test_populating_datasets_using_known_pokemon(self): - self.team_datasets.set_pokemon_sets(["garchomp"]) - self.assertIn("garchomp", self.team_datasets.pokemon_sets) - - def test_predict_set_returns_pokemonset(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|jolly|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 1 - } - } - garchomp = Pokemon("garchomp", 100) - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "jolly", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_predict_set_returns_more_common_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|jolly|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|timid|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 3, - } - } - garchomp = Pokemon("garchomp", 100) - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", # adamant is more common - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_predict_set_returns_none_when_no_set_matches(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|jolly|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.moves = [ - Move("watergun") # none of the above sets have this - ] - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertIsNone(predicted_garchomp_set) - - def test_predict_set_returns_set_if_moves_are_a_subset(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|jolly|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 1, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.moves = [ - Move("earthquake") - ] - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_matching_ability_returns_valid_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.ability = "roughskin" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_mismatching_ability_means_set_is_not_returned(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.ability = "sandforce" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertIsNone(predicted_garchomp_set) - - def test_item_being_none_allows_set_to_match(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.item = None - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_item_being_unknown_allows_set_to_match(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.item = constants.UNKNOWN_ITEM - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_item_mismatching_does_not_match_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.item = "leftovers" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertIsNone(predicted_garchomp_set) - - def test_item_matching_matches_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.item = "rockyhelmet" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_omits_ability_mismatch_when_flag_is_unset(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.ability = "some_mismatch" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp, match_ability=False) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_omits_item_mismatch_when_flag_is_unset(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.item = "some_mismatch" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp, match_item=False) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_omits_item_and_ability_mismatch_when_both_flags_are_unset(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.ability = "some_mismatch" - garchomp.item = "some_mismatch" - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp, match_item=False, match_ability=False) - expected_set = PokemonSet( - "water", - "roughskin", - "rockyhelmet", - "adamant", - (0, 0, 252, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake", "spikes", "stealthrock")) - ) - self.assertEqual(expected_set, predicted_garchomp_set) - - def test_does_not_set_lifeorb_if_can_have_lifeorb_is_false(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|lifeorb|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 2, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.can_have_life_orb = False - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("rockyhelmet", predicted_garchomp_set.item) - - def test_does_not_set_heavydutyboots_if_can_have_heavydutyboots_is_false(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|heavydutyboots|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 2, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.can_have_heavydutyboots = False - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("rockyhelmet", predicted_garchomp_set.item) - - def test_does_not_set_choice_item_if_can_have_can_have_choice_item_is_false(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 2, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.can_have_choice_item = False - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("rockyhelmet", predicted_garchomp_set.item) - - def test_does_not_set_choice_band_if_can_not_have_band_is_true(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 2, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.can_not_have_band = True - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("rockyhelmet", predicted_garchomp_set.item) - - def test_min_speed_check_invalidates_a_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|0,252,252,0,4,0|dragontail|earthquake|spikes|stealthrock": 5, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 2, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.speed_range = StatRange(min=300, max=float("inf")) # should invalidate the first set - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("rockyhelmet", predicted_garchomp_set.item) - - def test_max_speed_check_invalidates_a_set(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|0,252,252,0,4,0|dragontail|earthquake|spikes|stealthrock": 2, - "water|roughskin|rockyhelmet|adamant|0,0,252,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.speed_range = StatRange(min=0, max=300) # should invalidate the second set - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("choiceband", predicted_garchomp_set.item) - - def test_choicescarf_set_properly_fails_when_speed_range_is_present(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|252,252,0,0,4,0|dragontail|earthquake|spikes|stealthrock": 2, - "water|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.speed_range = StatRange(min=0, max=400) # should invalidate the choicescarf set - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("choiceband", predicted_garchomp_set.item) - - def test_boosting_ability_with_speed_range(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|252,252,0,0,4,0|dragontail|earthquake|spikes|stealthrock": 2, - "water|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - garchomp = Pokemon("garchomp", 100) - garchomp.speed_range = StatRange(min=0, max=400) # should invalidate the choicescarf set - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual("choiceband", predicted_garchomp_set.item) - - def test_pkmn_not_existing_in_datasets_returns_none(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choiceband|adamant|252,252,0,0,4,0|dragontail|earthquake|spikes|stealthrock": 2, - "water|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragontail|earthquake|spikes|stealthrock": 5, - } - } - cinderace = Pokemon("cinderace", 100) - - predicted_cinderace_set = self.team_datasets.predict_set(cinderace) - self.assertIsNone(predicted_cinderace_set) - - def test_pokemon_with_less_than_four_moves_works(self): - self.team_datasets.pokemon_sets = { - "garchomp": { - "water|roughskin|choicescarf|adamant|0,252,0,0,4,252|dragontail|earthquake": 5, - } - } - garchomp = Pokemon("garchomp", 100) - - expected_set = PokemonSet( - "water", - "roughskin", - "choicescarf", - "adamant", - (0, 252, 0, 0, 4, 252), - PokemonMoveset(("dragontail", "earthquake")) - ) - - predicted_garchomp_set = self.team_datasets.predict_set(garchomp) - self.assertEqual(expected_set, predicted_garchomp_set)