Merge branch 'master' into kustomize

This commit is contained in:
Naramsim 2024-06-02 11:56:24 +02:00
commit 417cc53a9a
45 changed files with 13912 additions and 3520 deletions

View file

@ -20,6 +20,9 @@ jobs:
- run: - run:
name: Run tests name: Run tests
command: make test command: make test
- run:
name: Generate OpenAPI schema
command: make openapi-generate
build: build:
docker: docker:
- image: cimg/python:3.10.9 - image: cimg/python:3.10.9

View file

@ -18,7 +18,7 @@ graphql
.vscode .vscode
.github .github
.circleci .circleci
docker-compose.yml docker-compose*
.dockerignore .dockerignore
/*.md /*.md
/*.js /*.js

View file

@ -13,24 +13,24 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
submodules: recursive submodules: recursive
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v3 uses: docker/metadata-action@v5
with: with:
# list of Docker images to use as base name for tags # list of Docker images to use as base name for tags
images: | images: |
pokeapi/pokeapi pokeapi/pokeapi
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v3
- name: Login to DockerHub - name: Login to DockerHub
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME_NARAMSIM }} username: ${{ secrets.DOCKERHUB_USERNAME_NARAMSIM }}
password: ${{ secrets.DOCKERHUB_TOKEN_NARAMSIM }} password: ${{ secrets.DOCKERHUB_TOKEN_NARAMSIM }}
@ -43,12 +43,12 @@ jobs:
echo "Platforms: ${{ steps.buildx.outputs.platforms }}" echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
- name: Build and push - name: Build and push
id: docker_build id: docker_build
uses: docker/build-push-action@v2 uses: docker/build-push-action@v5
with: with:
context: . context: .
file: ./Resources/docker/app/Dockerfile file: ./Resources/docker/app/Dockerfile
push: true push: true
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/arm/v7,linux/arm/v6 platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
- name: Image digest - name: Image digest

View file

@ -1,6 +1,7 @@
veekun_pokedex_repository = ../pokedex veekun_pokedex_repository = ../pokedex
local_config = --settings=config.local local_config = --settings=config.local
docker_config = --settings=config.docker-compose docker_config = --settings=config.docker-compose
gql_compose_config = -f docker-compose.yml -f Resources/compose/docker-compose-prod-graphql.yml
.PHONY: help .PHONY: help
.SILENT: .SILENT:
@ -41,39 +42,42 @@ make-migrations: # Create migrations files if schema has changed
shell: # Load a shell shell: # Load a shell
python manage.py shell ${local_config} python manage.py shell ${local_config}
openapi-generate:
python manage.py spectacular --color --file openapi.yml ${local_config}
docker-up: # (Docker) Create services/volumes/networks docker-up: # (Docker) Create services/volumes/networks
docker-compose up -d docker compose up -d
docker-migrate: # (Docker) Run any pending migrations docker-migrate: # (Docker) Run any pending migrations
docker-compose exec -T app python manage.py migrate ${docker_config} docker compose exec -T app python manage.py migrate ${docker_config}
docker-build-db: # (Docker) Build the database docker-build-db: # (Docker) Build the database
docker-compose exec -T app sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell ${docker_config}' docker compose exec -T app sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell ${docker_config}'
docker-make-migrations: # (Docker) Create migrations files if schema has changed docker-make-migrations: # (Docker) Create migrations files if schema has changed
docker-compose exec -T app sh -c 'python manage.py makemigrations ${docker_config}' docker compose exec -T app sh -c 'python manage.py makemigrations ${docker_config}'
docker-flush-db: # (Docker) Removes all the data present in the database but preserves tables and migrations docker-flush-db: # (Docker) Removes all the data present in the database but preserves tables and migrations
docker-compose exec -T app sh -c 'python manage.py flush --no-input ${docker_config}' docker compose exec -T app sh -c 'python manage.py flush --no-input ${docker_config}'
docker-destroy-db: # (Docker) Removes the volume where the database is installed on, alongside to the container itself docker-destroy-db: # (Docker) Removes the volume where the database is installed on, alongside to the container itself
docker rm -f pokeapi_db_1 docker rm -f pokeapi_db_1
docker volume rm pokeapi_pg_data docker volume rm pokeapi_pg_data
docker-shell: # (Docker) Launch an interative shell for the pokeapi container docker-shell: # (Docker) Launch an interative shell for the pokeapi container
docker-compose exec app sh -l docker compose exec app sh -l
docker-stop: # (Docker) Stop containers docker-stop: # (Docker) Stop containers
docker-compose stop docker compose stop
docker-down: # (Docker) Stop and removes containers and networks docker-down: # (Docker) Stop and removes containers and networks
docker-compose down docker compose down
docker-test: # (Docker) Run tests docker-test: # (Docker) Run tests
docker-compose exec -T app python manage.py test ${local_config} docker compose exec -T app python manage.py test ${local_config}
docker-prod: docker-prod:
docker-compose -f docker-compose.yml -f docker-compose.override.yml -f Resources/compose/docker-compose-prod-graphql.yml up -d docker compose -f docker-compose.yml -f docker-compose.override.yml -f Resources/compose/docker-compose-prod-graphql.yml up -d
docker-setup: docker-up docker-migrate docker-build-db # (Docker) Start services, prepare the latest DB schema, populate the DB docker-setup: docker-up docker-migrate docker-build-db # (Docker) Start services, prepare the latest DB schema, populate the DB
@ -119,10 +123,10 @@ kustomize-local-apply: # (Kustomize) Run kubectl apply -k on the connected k8s
kubectl apply -k Resources/k8s/kustomize/local/ kubectl apply -k Resources/k8s/kustomize/local/
k8s-migrate: # (k8s) Run any pending migrations k8s-migrate: # (k8s) Run any pending migrations
kubectl exec --namespace pokeapi deployment/pokeapi -- python manage.py migrate --settings=config.docker-compose kubectl exec --namespace pokeapi deployment/pokeapi -- python manage.py migrate ${docker_config}
k8s-build-db: # (k8s) Build the database k8s-build-db: # (k8s) Build the database
kubectl exec --namespace pokeapi deployment/pokeapi -- sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose' kubectl exec --namespace pokeapi deployment/pokeapi -- sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell ${docker_config}'
k8s-delete: # (k8s) Delete pokeapi namespace k8s-delete: # (k8s) Delete pokeapi namespace
kubectl delete namespace pokeapi kubectl delete namespace pokeapi
@ -138,17 +142,19 @@ down-graphql-prod:
docker system prune --all --volumes --force docker system prune --all --volumes --force
sync; echo 3 > /proc/sys/vm/drop_caches sync; echo 3 > /proc/sys/vm/drop_caches
# Nginx doesn't start if upstream graphql-engine is down
update-graphql-data-prod: update-graphql-data-prod:
docker compose ${gql_compose_config} stop
git pull origin master git pull origin master
git submodule update --init git submodule update --init
docker compose stop graphql-engine docker compose ${gql_compose_config} up --pull always -d app cache db
sync; echo 3 > /proc/sys/vm/drop_caches sync; echo 3 > /proc/sys/vm/drop_caches
docker compose -f docker-compose.yml -f Resources/compose/docker-compose-prod-graphql.yml up -d app
make docker-migrate make docker-migrate
make docker-build-db make docker-build-db
docker compose stop app docker compose ${gql_compose_config} stop app cache
sync; echo 3 > /proc/sys/vm/drop_caches docker compose ${gql_compose_config} up --pull always -d graphql-engine graphiql
docker compose exec -T web sh -c 'rm -rf /tmp/cache/*'
docker compose start graphql-engine
sleep 120 sleep 120
make hasura-apply make hasura-apply
docker compose ${gql_compose_config} up --pull always -d web
docker compose exec -T web sh -c 'rm -rf /tmp/cache/*'
sync; echo 3 > /proc/sys/vm/drop_caches

View file

@ -72,7 +72,7 @@ Run `make help` to see all tasks.
## Docker and Compose   [![docker hub](https://img.shields.io/docker/v/pokeapi/pokeapi?label=tag&sort=semver)](https://hub.docker.com/r/pokeapi/pokeapi) ## Docker and Compose   [![docker hub](https://img.shields.io/docker/v/pokeapi/pokeapi?label=tag&sort=semver)](https://hub.docker.com/r/pokeapi/pokeapi)
There is also a multi-container setup, managed by [Docker Compose](https://docs.docker.com/compose/). This setup allows you to deploy a production-like environment, with separate containers for each service, and is recommended if you need to simply spin up PokéAPI. There is also a multi-container setup, managed by [Docker Compose V2](https://docs.docker.com/compose/). This setup allows you to deploy a production-like environment, with separate containers for each service, and is recommended if you need to simply spin up PokéAPI.
Start everything by Start everything by
@ -83,9 +83,9 @@ make docker-setup
If you don't have `make` on your machine you can use the following commands If you don't have `make` on your machine you can use the following commands
```sh ```sh
docker-compose up -d docker compose up -d
docker-compose exec -T app python manage.py migrate --settings=config.docker-compose docker compose exec -T app python manage.py migrate --settings=config.docker-compose
docker-compose exec -T app sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose' docker compose exec -T app sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose'
``` ```
Browse [localhost/api/v2/](http://localhost/api/v2/) or [localhost/api/v2/pokemon/bulbasaur/](http://localhost/api/v2/pokemon/bulbasaur/) on port `80`. Browse [localhost/api/v2/](http://localhost/api/v2/) or [localhost/api/v2/pokemon/bulbasaur/](http://localhost/api/v2/pokemon/bulbasaur/) on port `80`.
@ -105,7 +105,7 @@ make docker-migrate
## GraphQL &nbsp; <a href="ttps://github.com/hasura/graphql-engine"><img height="29px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_blue.svg"/></a> ## GraphQL &nbsp; <a href="ttps://github.com/hasura/graphql-engine"><img height="29px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_blue.svg"/></a>
When you start PokéAPI with the above docker-compose setup, an [Hasura Engine](https://github.com/hasura/graphql-engine) server is started as well. It's possible to track all the PokeAPI tables and foreign keys by simply When you start PokéAPI with the above Docker Compose setup, an [Hasura Engine](https://github.com/hasura/graphql-engine) server is started as well. It's possible to track all the PokeAPI tables and foreign keys by simply
```sh ```sh
# hasura cli needs to be installed and available in your $PATH: https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html # hasura cli needs to be installed and available in your $PATH: https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html
@ -153,23 +153,24 @@ This k8s setup creates all k8s resources inside the _Namespace_ `pokeapi`, run `
| Python 2/3 | [PokeAPI/pokepy](https://github.com/PokeAPI/pokepy) | _Auto caching_ | | Python 2/3 | [PokeAPI/pokepy](https://github.com/PokeAPI/pokepy) | _Auto caching_ |
| Python 3 | [PokeAPI/pokebase](https://github.com/PokeAPI/pokebase) | _Auto caching_, _Image caching_ | | Python 3 | [PokeAPI/pokebase](https://github.com/PokeAPI/pokebase) | _Auto caching_, _Image caching_ |
| Wrapper | Repository | Features | |Wrapper|Repository|Features|
| --- | --- | --- | |---|---|---|
| PHP | [lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi) | _Auto caching, lazy loading_ | |.Net Standard |[mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet)|Auto caching |
| Ruby | [rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2) | | |Dart|[prathanbomb/pokedart](https://github.com/prathanbomb/pokedart)| |
| .Net Standard | [mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet) | _Auto caching_ | |Go|[mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go)|Auto caching |
| Go | [mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go) | _Auto caching_ | |PHP |[lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi)|Auto caching, lazy loading |
| Dart | [prathanbomb/pokedart](https://github.com/prathanbomb/pokedart) | | |PowerShell|[Celerium/PokeAPI-PowerShellWrapper](https://github.com/Celerium/PokeAPI-PowerShellWrapper)| |
| Rust | [lunik1/pokerust](https://gitlab.com/lunik1/pokerust) | _Auto caching_ | |Python|[beastmatser/aiopokeapi](https://github.com/beastmatser/aiopokeapi)|Auto caching, asynchronous |
| Spring Boot | [dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi) | _Auto caching_ | |Ruby|[rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2)| |
| Swift | [kinkofer/PokemonAPI](https://github.com/kinkofer/PokemonAPI) | | |Rust|[lunik1/pokerust](https://gitlab.com/lunik1/pokerust)|Auto caching |
| Typescript server-side/client-side | [Gabb-c/Pokenode-ts](https://github.com/Gabb-c/pokenode-ts) | _Auto caching_ | |Scala |[juliano/pokeapi-scala](https://github.com/juliano/pokeapi-scala)|Auto caching |
| Python | [beastmatser/aiopokeapi](https://github.com/beastmatser/aiopokeapi) | _Auto caching, asynchronous_ |Spring Boot |[dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi)|Auto caching |
| Scala | [juliano/pokeapi-scala](https://github.com/juliano/pokeapi-scala) | _Auto caching_ | |Swift |[kinkofer/PokemonAPI](https://github.com/kinkofer/PokemonAPI)| |
|Typescript server-side/client-side|[Gabb-c/Pokenode-ts](https://github.com/Gabb-c/pokenode-ts)|Auto caching |
## Donations ## Donations
Help to keep PokéAPI running! If you're using PokéAPI as a teaching resource or for a project, consider sending us a $10 donation to help keep the service up. We get 330 million requests a month! Help to keep PokéAPI running! If you're using PokéAPI as a teaching resource or for a project, consider sending us a donation to help keep the service up. We get 1+ billion requests a month!
Thank you to all our backers! [Become a backer](https://opencollective.com/pokeapi#backer) Thank you to all our backers! [Become a backer](https://opencollective.com/pokeapi#backer)

View file

@ -1,5 +1,8 @@
version: '2.4' version: '2.4'
services: services:
cache:
restart: "no"
db: db:
environment: environment:
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
@ -13,6 +16,8 @@ services:
web: web:
volumes: volumes:
- graphiql:/public-console:ro - graphiql:/public-console:ro
logging:
driver: gcplogs
graphql-engine: graphql-engine:
cpus: 0.7 cpus: 0.7

View file

@ -7,9 +7,9 @@ RUN mkdir /code
WORKDIR /code WORKDIR /code
ADD requirements.txt /code/ ADD requirements.txt /code/
RUN \ RUN apk add --no-cache postgresql-libs libstdc++
apk add --no-cache postgresql-libs libstdc++ && \ RUN apk add --no-cache --virtual .build-deps gcc g++ musl-dev \
apk add --no-cache --virtual .build-deps gcc g++ musl-dev postgresql-dev && \ postgresql-dev rust cargo && \
python3 -m pip install -r requirements.txt --no-cache-dir && \ python3 -m pip install -r requirements.txt --no-cache-dir && \
apk --purge del .build-deps apk --purge del .build-deps
ADD . /code/ ADD . /code/

View file

@ -35,7 +35,7 @@ The container connects to a Redis cache via the environment variable `REDIS_CONN
### Run the container ### Run the container
The container exposes port `80`. It needs a PostgreSQL and a Redis instance to connect to. Refer to the section [How to use this image](./how-to-use-this-image) for mapping the environment variables. The container exposes port `80`. It needs a PostgreSQL and a Redis instance to connect to. Refer to the section [How to use this image](#how-to-use-this-image) for mapping the environment variables.
It's recommended to use the provided [docker-compose.yml](https://github.com/PokeAPI/pokeapi/blob/master/docker-compose.yml) to start a container from this image. It's recommended to use the provided [docker-compose.yml](https://github.com/PokeAPI/pokeapi/blob/master/docker-compose.yml) to start a container from this image.

View file

@ -2,26 +2,32 @@ worker_processes 1;
events { events {
worker_connections 1024; worker_connections 1024;
multi_accept on; # accept each connection as soon as you can multi_accept on;
accept_mutex off; accept_mutex off;
use epoll; use epoll;
} }
http { http {
include mime.types; access_log off;
default_type application/octet-stream; log_format pokeapilogformat
'$remote_addr '
'"$request" $status cs:$upstream_cache_status s:$bytes_sent '
'r:"$http_referer"';
error_log /dev/stdout warn;
include mime.types;
default_type application/octet-stream;
server_tokens off; # dont send unnecessary server info (like version) server_tokens off;
add_header X-XSS-Protection "1; mode=block"; # prevent XSS add_header X-XSS-Protection "1; mode=block";
client_body_buffer_size 10K; # raise the threshold by which requests are written to HDD instead of RAM client_body_buffer_size 10K;
client_header_buffer_size 2k; client_header_buffer_size 1k;
client_max_body_size 8m; # we dont accept requests larger that 8mb client_max_body_size 8m;
sendfile on; sendfile on;
tcp_nopush on; tcp_nopush on;
tcp_nodelay on; tcp_nodelay on;
keepalive_timeout 5; keepalive_timeout 5;
@ -47,6 +53,16 @@ http {
192.168.0.0/24 0; 192.168.0.0/24 0;
} }
map $http_user_agent $exclude_ua {
"~*monitoring*" 0;
default 1;
}
map $request_method $only_post {
default 0;
POST $exclude_ua;
}
map $limit $limit_key { map $limit $limit_key {
0 ""; 0 "";
1 $binary_remote_addr; 1 $binary_remote_addr;
@ -69,7 +85,7 @@ http {
# Admin console # Admin console
location /graphql/admin/ { location /graphql/admin/ {
expires 1m; # client-side caching, one minute for each API resource expires 1m;
add_header Cache-Control "public"; add_header Cache-Control "public";
add_header Pragma public; add_header Pragma public;
proxy_http_version 1.1; proxy_http_version 1.1;
@ -89,21 +105,15 @@ http {
} }
location /graphql/v1beta { location /graphql/v1beta {
access_log /dev/stdout pokeapilogformat if=$only_post;
include /ssl/cache.conf*; include /ssl/cache.conf*;
# proxy_cache small;
# proxy_cache_valid 200 10d;
# proxy_cache_valid any 0;
# proxy_cache_methods POST;
# proxy_cache_key "$request_method$request_uri$request_body";
limit_req zone=graphqlDefaultLimit burst=100 nodelay; limit_req zone=graphqlDefaultLimit burst=100 nodelay;
limit_req_status 429; limit_req_status 429;
expires 30m; # client-side caching, one minute for each API resource expires 30m;
add_header Cache-Control "public"; add_header Cache-Control "public";
add_header Pragma public; add_header Pragma public;
# add_header X-Proxy-Cache $upstream_cache_status;
proxy_hide_header Access-Control-Allow-Origin; proxy_hide_header Access-Control-Allow-Origin;
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Origin *;
# add_header X-Cache-Date $upstream_http_date;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
@ -115,7 +125,7 @@ http {
} }
location /api/ { location /api/ {
expires 1m; # client-side caching, one minute for each API resource expires 1m;
add_header Cache-Control "public"; add_header Cache-Control "public";
add_header Pragma public; add_header Pragma public;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;

View file

@ -99,6 +99,7 @@ INSTALLED_APPS = (
"corsheaders", "corsheaders",
"rest_framework", "rest_framework",
"cachalot", "cachalot",
"drf_spectacular",
) + CUSTOM_APPS ) + CUSTOM_APPS
@ -116,6 +117,7 @@ REST_FRAMEWORK = {
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination", "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
"PAGE_SIZE": 20, "PAGE_SIZE": 20,
"PAGINATE_BY": 20, "PAGINATE_BY": 20,
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
} }
@ -136,3 +138,42 @@ TEMPLATES = [
] ]
DEFAULT_AUTO_FIELD = "django.db.models.AutoField" DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
SPECTACULAR_SETTINGS = {
"TITLE": "PokéAPI",
"DESCRIPTION": """All the Pokémon data you'll ever need in one place, easily accessible through a modern free open-source RESTful API.
## What is this?
This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series.
We've covered everything from Pokémon to Berry Flavors.
## Where do I start?
We have awesome [documentation](https://pokeapi.co/docs/v2) on how to use this API. It takes minutes to get started.
This API will always be publicly available and will never require any extensive setup process to consume.
Created by [**Paul Hallett**(]https://github.com/phalt) and other [**PokéAPI contributors***](https://github.com/PokeAPI/pokeapi#contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo.
""",
"SERVERS": [{"url": "https://pokeapi.co"}],
"EXTERNAL_DOCS": {"url": "https://pokeapi.co/docs/v2"},
"VERSION": "2.7.0",
"SERVE_INCLUDE_SCHEMA": False,
"OAS_VERSION": "3.1.0",
"COMPONENT_SPLIT_REQUEST": True,
"TAGS": [
"pokemon",
"evolution",
"berries",
"items",
"machines",
"location",
"contest",
"moves",
"encounters",
"games",
"utility",
],
}

View file

@ -13,6 +13,7 @@ middleware here, or combine a Django application with an application of another
framework. framework.
""" """
import os import os
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application

View file

@ -36,8 +36,16 @@ MEDIA_DIR = "{prefix}{{file_name}}".format(
"https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/", "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/",
) )
) )
SOUND_DIR = "{prefix}{{file_name}}".format(
prefix=os.environ.get(
"POKEAPI_CRIES_PREFIX",
"https://raw.githubusercontent.com/PokeAPI/cries/main/cries/",
)
)
IMAGE_DIR = os.getcwd() + "/data/v2/sprites/sprites/" IMAGE_DIR = os.getcwd() + "/data/v2/sprites/sprites/"
CRIES_DIR = os.getcwd() + "/data/v2/cries/cries/"
RESOURCE_IMAGES = [] RESOURCE_IMAGES = []
RESOURCE_CRIES = []
for root, dirs, files in os.walk(IMAGE_DIR): for root, dirs, files in os.walk(IMAGE_DIR):
for file in files: for file in files:
@ -45,8 +53,20 @@ for root, dirs, files in os.walk(IMAGE_DIR):
image_path = image_path.replace("\\", "/") # convert Windows-style path to Unix image_path = image_path.replace("\\", "/") # convert Windows-style path to Unix
RESOURCE_IMAGES.append(image_path) RESOURCE_IMAGES.append(image_path)
for root, dirs, files in os.walk(CRIES_DIR):
for file in files:
cry_path = os.path.join(root.replace(CRIES_DIR, ""), file)
cry_path = cry_path.replace("\\", "/") # convert Windows-style path to Unix
RESOURCE_CRIES.append(cry_path)
def file_path_or_none(file_name):
def file_path_or_none(file_name, image_file=True):
if not image_file:
return (
SOUND_DIR.format(file_name=file_name)
if file_name in RESOURCE_CRIES
else None
)
return ( return (
MEDIA_DIR.format(file_name=file_name) if file_name in RESOURCE_IMAGES else None MEDIA_DIR.format(file_name=file_name) if file_name in RESOURCE_IMAGES else None
) )
@ -1222,9 +1242,11 @@ def _build_locations():
id=int(info[0]), id=int(info[0]),
location_id=int(info[1]), location_id=int(info[1]),
game_index=int(info[2]), game_index=int(info[2]),
name="{}-{}".format(location.name, info[3]) name=(
if info[3] "{}-{}".format(location.name, info[3])
else "{}-{}".format(location.name, "area"), if info[3]
else "{}-{}".format(location.name, "area")
),
) )
build_generic((LocationArea,), "location_areas.csv", csv_record_to_objects) build_generic((LocationArea,), "location_areas.csv", csv_record_to_objects)
@ -1931,6 +1953,26 @@ def _build_pokemons():
build_generic((PokemonSprites,), "pokemon.csv", csv_record_to_objects) build_generic((PokemonSprites,), "pokemon.csv", csv_record_to_objects)
def try_cry_names(path, info, extension):
file_name = "%s.%s" % (info[0], extension)
return file_path_or_none(path + file_name, image_file=False)
def csv_record_to_objects(info):
poke_cries = "pokemon"
latest = f"{poke_cries}/latest/"
legacy = f"{poke_cries}/legacy/"
cries = {
"latest": try_cry_names(latest, info, "ogg"),
"legacy": try_cry_names(legacy, info, "ogg"),
}
yield PokemonCries(
id=int(info[0]),
pokemon=Pokemon.objects.get(pk=int(info[0])),
cries=cries,
)
build_generic((PokemonCries,), "pokemon.csv", csv_record_to_objects)
def csv_record_to_objects(info): def csv_record_to_objects(info):
yield PokemonAbility( yield PokemonAbility(
pokemon_id=int(info[0]), pokemon_id=int(info[0]),

View file

@ -159,5 +159,5 @@ encounter_condition_value_id,local_language_id,name
69,5,Après avoir parlé à 32 personnes dans les souterrains 69,5,Après avoir parlé à 32 personnes dans les souterrains
70,9,Returned Machine Part to Power Plant 70,9,Returned Machine Part to Power Plant
70,5,Après avoir rapporté la pièce de machine à la centrale 70,5,Après avoir rapporté la pièce de machine à la centrale
10,9,Have an Event Arceus in the party 71,9,Have an Event Arceus in the party
10,5,En ayant un Arceus événementiel dans léquipe 71,5,En ayant un Arceus événementiel dans léquipe

1 encounter_condition_value_id local_language_id name
159 69 5 Après avoir parlé à 32 personnes dans les souterrains
160 70 9 Returned Machine Part to Power Plant
161 70 5 Après avoir rapporté la pièce de machine à la centrale
162 10 71 9 Have an Event Arceus in the party
163 10 71 5 En ayant un Arceus événementiel dans l’équipe

View file

@ -61,9 +61,9 @@ encounter_method_id,local_language_id,name
22,9,Headbutting a low encounter rate tree 22,9,Headbutting a low encounter rate tree
22,5,En utilisant Coup dBoule sur un arbre à taux bas 22,5,En utilisant Coup dBoule sur un arbre à taux bas
23,9,Headbutting a normal encounter rate tree 23,9,Headbutting a normal encounter rate tree
22,5,En utilisant Coup dBoule sur un arbre à taux normal 23,5,En utilisant Coup dBoule sur un arbre à taux normal
24,9,Headbutting a high encounter rate tree 24,9,Headbutting a high encounter rate tree
22,5,En utilisant Coup dBoule sur un arbre à taux élevé 24,5,En utilisant Coup dBoule sur un arbre à taux élevé
25,9,Using the Squirt Bottle on a Sudowoodo 25,9,Using the Squirt Bottle on a Sudowoodo
25,5,En utilisant la Carapuce à O sur Simularbre 25,5,En utilisant la Carapuce à O sur Simularbre
26,9,Using the Wailmer Pail on a Sudowoodo 26,9,Using the Wailmer Pail on a Sudowoodo

1 encounter_method_id local_language_id name
61 22 9 Headbutting a low encounter rate tree
62 22 5 En utilisant Coup d’Boule sur un arbre à taux bas
63 23 9 Headbutting a normal encounter rate tree
64 22 23 5 En utilisant Coup d’Boule sur un arbre à taux normal
65 24 9 Headbutting a high encounter rate tree
66 22 24 5 En utilisant Coup d’Boule sur un arbre à taux élevé
67 25 9 Using the Squirt Bottle on a Sudowoodo
68 25 5 En utilisant la Carapuce à O sur Simularbre
69 26 9 Using the Wailmer Pail on a Sudowoodo

View file

@ -3,8 +3,8 @@ evolution_trigger_id,local_language_id,name
1,6,Levelaufstieg 1,6,Levelaufstieg
1,9,Level up 1,9,Level up
2,5,Échange 2,5,Échange
2,6,Tausch 2,6,Tausch oder Verbindungsschnur
2,9,Trade 2,9,Trade or Linking Cord
3,5,Utilisation d'un objet 3,5,Utilisation d'un objet
3,6,Gegenstand nutzen 3,6,Gegenstand nutzen
3,9,Use item 3,9,Use item

1 evolution_trigger_id local_language_id name
3 1 6 Levelaufstieg
4 1 9 Level up
5 2 5 Échange
6 2 6 Tausch Tausch oder Verbindungsschnur
7 2 9 Trade Trade or Linking Cord
8 3 5 Utilisation d'un objet
9 3 6 Gegenstand nutzen
10 3 9 Use item

View file

@ -610,3 +610,7 @@ item_id,item_flag_id
303,7 303,7
304,5 304,5
304,7 304,7
2160,1
2160,2
2160,3
2160,5
1 item_id item_flag_id
610 303 7
611 304 5
612 304 7
613 2160 1
614 2160 2
615 2160 3
616 2160 5

View file

@ -17822,3 +17822,121 @@ item_id,local_language_id,name
2159,1,チャデスのこな 2159,1,チャデスのこな
2159,9,Poltchageist Powder 2159,9,Poltchageist Powder
2159,11,チャデスのこな 2159,11,チャデスのこな
2160,9,Linking Cord
2160,11, つながりのヒモ
2161,9,TM172
2161,11,わざマシン172
2162,9,TM173
2162,11,わざマシン173
2163,9,TM174
2163,11,わざマシン174
2164,9,TM175
2164,11,わざマシン175
2165,9,TM176
2165,11,わざマシン176
2166,9,TM177
2166,11,わざマシン177
2167,9,TM178
2167,11,わざマシン178
2168,9,TM179
2168,11,わざマシン179
2169,9,TM180
2169,11,わざマシン180
2170,9,TM181
2170,11,わざマシン181
2171,9,TM182
2171,11,わざマシン182
2172,9,TM183
2172,11,わざマシン183
2173,9,TM184
2173,11,わざマシン184
2174,9,TM185
2174,11,わざマシン185
2175,9,TM186
2175,11,わざマシン186
2176,9,TM187
2176,11,わざマシン187
2177,9,TM188
2177,11,わざマシン188
2178,9,TM189
2178,11,わざマシン189
2179,9,TM190
2179,11,わざマシン190
2180,9,TM191
2180,11,わざマシン191
2181,9,TM192
2181,11,わざマシン192
2182,9,TM193
2182,11,わざマシン193
2183,9,TM194
2183,11,わざマシン194
2184,9,TM195
2184,11,わざマシン195
2185,9,TM196
2185,11,わざマシン196
2186,9,TM197
2186,11,わざマシン197
2187,9,TM198
2187,11,わざマシン198
2188,9,TM199
2188,11,わざマシン199
2189,9,TM200
2189,11,わざマシン200
2190,9,TM201
2190,11,わざマシン201
2191,9,TM202
2191,11,わざマシン202
2192,9,TM203
2192,11,わざマシン203
2193,9,TM204
2193,11,わざマシン204
2194,9,TM205
2194,11,わざマシン205
2195,9,TM206
2195,11,わざマシン206
2196,9,TM207
2196,11,わざマシン207
2197,9,TM208
2197,11,わざマシン208
2198,9,TM209
2198,11,わざマシン209
2199,9,TM210
2199,11,わざマシン210
2200,9,TM211
2200,11,わざマシン211
2201,9,TM212
2201,11,わざマシン212
2202,9,TM213
2202,11,わざマシン213
2203,9,TM214
2203,11,わざマシン214
2204,9,TM215
2204,11,わざマシン215
2205,9,TM216
2205,11,わざマシン216
2206,9,TM217
2206,11,わざマシン217
2207,9,TM218
2207,11,わざマシン218
2208,9,TM219
2208,11,わざマシン219
2209,9,TM220
2209,11,わざマシン220
2210,9,TM221
2210,11,わざマシン221
2211,9,TM222
2211,11,わざマシン222
2212,9,TM223
2212,11,わざマシン223
2213,9,TM224
2213,11,わざマシン224
2214,9,TM225
2214,11,わざマシン225
2215,9,TM226
2215,11,わざマシン226
2216,9,TM227
2216,11,わざマシン227
2217,9,TM228
2217,11,わざマシン228
2218,9,TM229
2218,11,わざマシン229

1 item_id local_language_id name
17822 2159 1 チャデスのこな
17823 2159 9 Poltchageist Powder
17824 2159 11 チャデスのこな
17825 2160 9 Linking Cord
17826 2160 11 つながりのヒモ
17827 2161 9 TM172
17828 2161 11 わざマシン172
17829 2162 9 TM173
17830 2162 11 わざマシン173
17831 2163 9 TM174
17832 2163 11 わざマシン174
17833 2164 9 TM175
17834 2164 11 わざマシン175
17835 2165 9 TM176
17836 2165 11 わざマシン176
17837 2166 9 TM177
17838 2166 11 わざマシン177
17839 2167 9 TM178
17840 2167 11 わざマシン178
17841 2168 9 TM179
17842 2168 11 わざマシン179
17843 2169 9 TM180
17844 2169 11 わざマシン180
17845 2170 9 TM181
17846 2170 11 わざマシン181
17847 2171 9 TM182
17848 2171 11 わざマシン182
17849 2172 9 TM183
17850 2172 11 わざマシン183
17851 2173 9 TM184
17852 2173 11 わざマシン184
17853 2174 9 TM185
17854 2174 11 わざマシン185
17855 2175 9 TM186
17856 2175 11 わざマシン186
17857 2176 9 TM187
17858 2176 11 わざマシン187
17859 2177 9 TM188
17860 2177 11 わざマシン188
17861 2178 9 TM189
17862 2178 11 わざマシン189
17863 2179 9 TM190
17864 2179 11 わざマシン190
17865 2180 9 TM191
17866 2180 11 わざマシン191
17867 2181 9 TM192
17868 2181 11 わざマシン192
17869 2182 9 TM193
17870 2182 11 わざマシン193
17871 2183 9 TM194
17872 2183 11 わざマシン194
17873 2184 9 TM195
17874 2184 11 わざマシン195
17875 2185 9 TM196
17876 2185 11 わざマシン196
17877 2186 9 TM197
17878 2186 11 わざマシン197
17879 2187 9 TM198
17880 2187 11 わざマシン198
17881 2188 9 TM199
17882 2188 11 わざマシン199
17883 2189 9 TM200
17884 2189 11 わざマシン200
17885 2190 9 TM201
17886 2190 11 わざマシン201
17887 2191 9 TM202
17888 2191 11 わざマシン202
17889 2192 9 TM203
17890 2192 11 わざマシン203
17891 2193 9 TM204
17892 2193 11 わざマシン204
17893 2194 9 TM205
17894 2194 11 わざマシン205
17895 2195 9 TM206
17896 2195 11 わざマシン206
17897 2196 9 TM207
17898 2196 11 わざマシン207
17899 2197 9 TM208
17900 2197 11 わざマシン208
17901 2198 9 TM209
17902 2198 11 わざマシン209
17903 2199 9 TM210
17904 2199 11 わざマシン210
17905 2200 9 TM211
17906 2200 11 わざマシン211
17907 2201 9 TM212
17908 2201 11 わざマシン212
17909 2202 9 TM213
17910 2202 11 わざマシン213
17911 2203 9 TM214
17912 2203 11 わざマシン214
17913 2204 9 TM215
17914 2204 11 わざマシン215
17915 2205 9 TM216
17916 2205 11 わざマシン216
17917 2206 9 TM217
17918 2206 11 わざマシン217
17919 2207 9 TM218
17920 2207 11 わざマシン218
17921 2208 9 TM219
17922 2208 11 わざマシン219
17923 2209 9 TM220
17924 2209 11 わざマシン220
17925 2210 9 TM221
17926 2210 11 わざマシン221
17927 2211 9 TM222
17928 2211 11 わざマシン222
17929 2212 9 TM223
17930 2212 11 わざマシン223
17931 2213 9 TM224
17932 2213 11 わざマシン224
17933 2214 9 TM225
17934 2214 11 わざマシン225
17935 2215 9 TM226
17936 2215 11 わざマシン226
17937 2216 9 TM227
17938 2216 11 わざマシン227
17939 2217 9 TM228
17940 2217 11 わざマシン228
17941 2218 9 TM229
17942 2218 11 わざマシン229

View file

@ -1519,3 +1519,4 @@ This item can only be obtained or used via the Wonder Launcher."
1003,9,XXX new effect for roto-pp-restore,XXX new effect for roto-pp-restore 1003,9,XXX new effect for roto-pp-restore,XXX new effect for roto-pp-restore
1004,9,XXX new effect for roto-boost,XXX new effect for roto-boost 1004,9,XXX new effect for roto-boost,XXX new effect for roto-boost
1005,9,XXX new effect for roto-catch,XXX new effect for roto-catch 1005,9,XXX new effect for roto-catch,XXX new effect for roto-catch
2160,9,Allows a Pokemon whose evolution is usually triggered by trading to evolve, The Linking Cord triggers the evolution of certain Pokémon (all of which can alternatively evolve when traded) upon use. This consumes the Linking Cord.

1 item_id local_language_id short_effect effect
1519
1520
1521
1522

View file

@ -2049,7 +2049,7 @@ id,identifier,category_id,cost,fling_power,fling_effect_id
2099,yellow-dish,55,0,, 2099,yellow-dish,55,0,,
2100,roto-stick,21,0,, 2100,roto-stick,21,0,,
2101,teal-style-card,21,0,, 2101,teal-style-card,21,0,,
2102,teak-mask,20,0,, 2102,teal-mask,20,0,,
2103,glimmering-charm,21,0,, 2103,glimmering-charm,21,0,,
2104,cyrstal-cluster,20,0,, 2104,cyrstal-cluster,20,0,,
2105,fairy-feather,12,750,, 2105,fairy-feather,12,750,,
@ -2107,5 +2107,64 @@ id,identifier,category_id,cost,fling_power,fling_effect_id
2157,cramorant-down,54,30,, 2157,cramorant-down,54,30,,
2158,morpeko-snack,54,15,, 2158,morpeko-snack,54,15,,
2159,poltchageist-powder,54,30,, 2159,poltchageist-powder,54,30,,
2160,linking-cord,10,8000,,
2161,tm172,37,0,,
2162,tm173,37,0,,
2163,tm174,37,0,,
2164,tm175,37,0,,
2165,tm176,37,0,,
2166,tm177,37,0,,
2167,tm178,37,0,,
2168,tm179,37,0,,
2169,tm180,37,0,,
2170,tm181,37,0,,
2171,tm182,37,0,,
2172,tm183,37,0,,
2173,tm184,37,0,,
2174,tm185,37,0,,
2175,tm186,37,0,,
2176,tm187,37,0,,
2177,tm188,37,0,,
2178,tm189,37,0,,
2179,tm190,37,0,,
2180,tm191,37,0,,
2181,tm192,37,0,,
2182,tm193,37,0,,
2183,tm194,37,0,,
2184,tm195,37,0,,
2185,tm196,37,0,,
2186,tm197,37,0,,
2187,tm198,37,0,,
2188,tm199,37,0,,
2189,tm200,37,0,,
2190,tm201,37,0,,
2191,tm202,37,0,,
2192,tm203,37,0,,
2193,tm204,37,0,,
2194,tm205,37,0,,
2195,tm206,37,0,,
2196,tm207,37,0,,
2197,tm208,37,0,,
2198,tm209,37,0,,
2199,tm210,37,0,,
2200,tm211,37,0,,
2201,tm212,37,0,,
2202,tm213,37,0,,
2203,tm214,37,0,,
2204,tm215,37,0,,
2205,tm216,37,0,,
2206,tm217,37,0,,
2207,tm218,37,0,,
2208,tm219,37,0,,
2209,tm220,37,0,,
2210,tm221,37,0,,
2211,tm222,37,0,,
2212,tm223,37,0,,
2213,tm224,37,0,,
2214,tm225,37,0,,
2215,tm226,37,0,,
2216,tm227,37,0,,
2217,tm228,37,0,,
2218,tm229,37,0,,
10001,black-augurite,10,0,, 10001,black-augurite,10,0,,
10002,peat-block,10,0,, 10002,peat-block,10,0,,

1 id identifier category_id cost fling_power fling_effect_id
2049 2099 yellow-dish 55 0
2050 2100 roto-stick 21 0
2051 2101 teal-style-card 21 0
2052 2102 teak-mask teal-mask 20 0
2053 2103 glimmering-charm 21 0
2054 2104 cyrstal-cluster 20 0
2055 2105 fairy-feather 12 750
2107 2157 cramorant-down 54 30
2108 2158 morpeko-snack 54 15
2109 2159 poltchageist-powder 54 30
2110 2160 linking-cord 10 8000
2111 2161 tm172 37 0
2112 2162 tm173 37 0
2113 2163 tm174 37 0
2114 2164 tm175 37 0
2115 2165 tm176 37 0
2116 2166 tm177 37 0
2117 2167 tm178 37 0
2118 2168 tm179 37 0
2119 2169 tm180 37 0
2120 2170 tm181 37 0
2121 2171 tm182 37 0
2122 2172 tm183 37 0
2123 2173 tm184 37 0
2124 2174 tm185 37 0
2125 2175 tm186 37 0
2126 2176 tm187 37 0
2127 2177 tm188 37 0
2128 2178 tm189 37 0
2129 2179 tm190 37 0
2130 2180 tm191 37 0
2131 2181 tm192 37 0
2132 2182 tm193 37 0
2133 2183 tm194 37 0
2134 2184 tm195 37 0
2135 2185 tm196 37 0
2136 2186 tm197 37 0
2137 2187 tm198 37 0
2138 2188 tm199 37 0
2139 2189 tm200 37 0
2140 2190 tm201 37 0
2141 2191 tm202 37 0
2142 2192 tm203 37 0
2143 2193 tm204 37 0
2144 2194 tm205 37 0
2145 2195 tm206 37 0
2146 2196 tm207 37 0
2147 2197 tm208 37 0
2148 2198 tm209 37 0
2149 2199 tm210 37 0
2150 2200 tm211 37 0
2151 2201 tm212 37 0
2152 2202 tm213 37 0
2153 2203 tm214 37 0
2154 2204 tm215 37 0
2155 2205 tm216 37 0
2156 2206 tm217 37 0
2157 2207 tm218 37 0
2158 2208 tm219 37 0
2159 2209 tm220 37 0
2160 2210 tm221 37 0
2161 2211 tm222 37 0
2162 2212 tm223 37 0
2163 2213 tm224 37 0
2164 2214 tm225 37 0
2165 2215 tm226 37 0
2166 2216 tm227 37 0
2167 2217 tm228 37 0
2168 2218 tm229 37 0
2169 10001 black-augurite 10 0
2170 10002 peat-block 10 0

View file

@ -1687,3 +1687,417 @@ machine_number,version_group_id,item_id,move_id
197,20,1285,706 197,20,1285,706
198,20,1286,710 198,20,1286,710
199,20,1287,776 199,20,1287,776
10,23,314,526
21,23,325,605
27,23,331,490
43,23,347,521
49,23,353,503
62,23,366,405
63,23,367,417
78,23,382,555
83,23,387,523
93,23,397,15
94,23,398,19
95,23,399,57
96,23,400,70
97,23,401,432
98,23,402,249
99,23,403,127
100,23,404,431
1,25,305,36
2,25,306,204
3,25,307,313
4,25,308,97
5,25,309,189
6,25,310,184
7,25,311,182
8,25,312,424
9,25,313,422
10,25,314,423
11,25,315,352
12,25,316,67
13,25,317,491
14,25,318,512
15,25,319,522
16,25,320,60
17,25,321,109
18,25,322,168
19,25,323,574
20,25,324,885
21,25,325,884
22,25,326,886
23,25,327,451
24,25,328,83
25,25,329,263
26,25,330,342
27,25,331,332
28,25,332,523
29,25,333,506
30,25,334,555
31,25,335,232
32,25,336,129
33,25,337,345
34,25,338,196
35,25,339,341
36,25,340,317
37,25,341,577
38,25,342,488
39,25,343,490
40,25,344,314
41,25,345,500
42,25,346,101
43,25,347,374
44,25,348,525
45,25,349,474
46,25,350,419
47,25,351,203
48,25,352,521
49,25,353,241
50,25,354,240
51,25,355,201
52,25,356,883
53,25,357,684
54,25,358,473
55,25,359,91
56,25,360,331
57,25,361,206
58,25,362,280
59,25,363,428
60,25,364,369
61,25,365,421
62,25,366,492
63,25,367,706
64,25,368,339
65,25,369,403
66,25,370,34
67,25,371,7
68,25,372,9
69,25,373,8
70,25,374,214
71,25,375,402
72,25,376,486
73,25,377,409
74,25,378,115
75,25,379,113
76,25,380,350
77,25,381,127
78,25,382,337
79,25,383,605
80,25,384,118
81,25,385,447
82,25,386,86
83,25,387,398
84,25,388,707
85,25,389,156
86,25,390,157
87,25,391,269
88,25,392,14
89,25,393,776
90,25,394,191
91,25,395,390
92,25,396,286
93,25,659,430
94,25,660,399
95,25,661,141
96,25,745,598
97,25,746,19
98,25,747,285
99,25,748,442
100,25,1943,349
101,25,1944,408
102,25,1945,441
103,25,1946,164
104,25,1947,334
105,25,1948,404
106,25,1949,529
107,25,1950,261
108,25,1951,242
109,25,1952,271
110,25,1953,710
111,25,1954,202
112,25,1955,396
113,25,1956,366
114,25,1957,247
115,25,1958,406
116,25,1959,446
117,25,1960,304
118,25,1961,257
119,25,1962,412
120,25,1963,94
121,25,1964,484
122,25,1965,227
123,25,1966,57
124,25,1967,861
125,25,1968,53
126,25,1969,85
127,25,1970,583
128,25,1971,133
129,25,1972,347
130,25,1973,270
131,25,1974,676
132,25,1975,226
133,25,1976,414
134,25,1977,179
135,25,1978,58
136,25,1979,604
137,25,1980,580
138,25,1981,678
139,25,1982,581
140,25,1983,417
141,25,1984,126
142,25,1985,56
143,25,1986,59
144,25,1987,519
145,25,1988,518
146,25,1989,520
147,25,1990,528
148,25,1991,188
149,25,1992,89
150,25,1993,444
151,25,1994,566
152,25,1995,416
153,25,1996,307
154,25,1997,308
155,25,1998,338
156,25,1999,200
157,25,2000,315
158,25,2001,411
159,25,2002,437
160,25,2003,542
161,25,2004,433
162,25,2005,405
163,25,2006,63
164,25,2007,413
165,25,2008,394
166,25,2009,87
167,25,2010,370
168,25,2011,76
169,25,2012,434
170,25,2013,796
171,25,2014,851
172,25,2161,46
173,25,2162,268
174,25,2163,114
175,25,2164,92
176,25,2165,328
177,25,2166,180
178,25,2167,356
179,25,2168,479
180,25,2169,360
181,25,2170,282
182,25,2171,450
183,25,2172,162
184,25,2173,410
185,25,2174,679
186,25,2175,667
187,25,2176,333
188,25,2177,503
189,25,2178,535
190,25,2179,669
191,25,2180,253
192,25,2181,264
193,25,2182,311
194,25,2183,803
195,25,2184,807
196,25,2185,812
197,25,2186,814
198,25,2187,809
199,25,2188,808
200,25,2189,799
201,25,2190,802
202,25,2191,220
203,25,2192,244
204,25,2193,38
205,25,2194,283
206,25,2195,572
207,25,2196,915
208,25,2197,250
209,25,2198,330
210,25,2199,916
211,25,2200,527
212,25,2201,813
213,25,2202,811
214,25,2203,482
215,25,2204,815
216,25,2205,297
217,25,2206,248
218,25,2207,797
219,25,2208,806
220,25,2209,800
221,25,2210,675
222,25,2211,784
223,25,2212,319
224,25,2213,174
225,25,2214,912
226,25,2215,913
227,25,2216,914
228,25,2217,917
229,25,2218,918
67,26,371,7
68,26,372,9
69,26,373,8
132,26,1975,226
170,26,2013,796
172,26,2161,46
173,26,2162,268
174,26,2163,114
175,26,2164,92
176,26,2165,328
177,26,2166,180
178,26,2167,356
179,26,2168,479
180,26,2169,360
181,26,2170,282
182,26,2171,450
183,26,2172,162
184,26,2173,410
185,26,2174,679
186,26,2175,667
187,26,2176,333
188,26,2177,503
189,26,2178,535
190,26,2179,669
191,26,2180,253
192,26,2181,264
193,26,2182,311
194,26,2183,803
195,26,2184,807
196,26,2185,812
197,26,2186,814
198,26,2187,809
199,26,2188,808
200,26,2189,799
201,26,2190,802
2,27,306,204
7,27,311,182
13,27,317,491
29,27,333,506
30,27,334,555
34,27,338,196
39,27,343,490
41,27,345,500
44,27,348,525
49,27,353,241
50,27,354,240
51,27,355,201
52,27,356,883
53,27,357,684
59,27,363,428
60,27,364,369
63,27,367,706
64,27,368,339
67,27,371,7
68,27,372,9
69,27,373,8
74,27,378,115
75,27,379,113
76,27,380,350
77,27,381,127
78,27,382,337
81,27,385,447
82,27,386,86
83,27,387,398
86,27,390,157
87,27,391,269
88,27,392,14
89,27,393,776
93,27,659,430
94,27,660,399
99,27,748,442
100,27,1943,349
103,27,1946,164
104,27,1947,334
106,27,1949,529
107,27,1950,261
108,27,1951,242
109,27,1952,271
110,27,1953,710
111,27,1954,202
112,27,1955,396
113,27,1956,366
115,27,1958,406
117,27,1960,304
118,27,1961,257
119,27,1962,412
121,27,1964,484
124,27,1967,861
125,27,1968,53
126,27,1969,85
127,27,1970,583
128,27,1971,133
129,27,1972,347
130,27,1973,270
131,27,1974,676
133,27,1976,414
135,27,1978,58
136,27,1979,604
137,27,1980,580
138,27,1981,678
139,27,1982,581
140,27,1983,417
141,27,1984,126
142,27,1985,56
143,27,1986,59
144,27,1987,519
145,27,1988,518
146,27,1989,520
148,27,1991,188
149,27,1992,89
150,27,1993,444
153,27,1996,307
154,27,1997,308
155,27,1998,338
156,27,1999,200
157,27,2000,315
158,27,2001,411
159,27,2002,437
160,27,2003,542
161,27,2004,433
162,27,2005,405
163,27,2006,63
164,27,2007,413
165,27,2008,394
166,27,2009,87
168,27,2011,76
171,27,2014,851
174,27,2163,114
181,27,2170,282
185,27,2174,679
186,27,2175,667
187,27,2176,333
188,27,2177,503
190,27,2179,669
193,27,2182,311
194,27,2183,803
196,27,2185,812
197,27,2186,814
200,27,2189,799
201,27,2190,802
202,27,2191,220
203,27,2192,244
204,27,2193,38
205,27,2194,283
206,27,2195,572
207,27,2196,915
208,27,2197,250
209,27,2198,330
210,27,2199,916
211,27,2200,527
212,27,2201,813
213,27,2202,811
214,27,2203,482
215,27,2204,815
216,27,2205,297
217,27,2206,248
218,27,2207,797
219,27,2208,806
220,27,2209,800
221,27,2210,675
222,27,2211,784
223,27,2212,319
224,27,2213,174
225,27,2214,912
226,27,2215,913
227,27,2216,914
228,27,2217,917
229,27,2218,918

1 machine_number version_group_id item_id move_id
1687 197 20 1285 706
1688 198 20 1286 710
1689 199 20 1287 776
1690 10 23 314 526
1691 21 23 325 605
1692 27 23 331 490
1693 43 23 347 521
1694 49 23 353 503
1695 62 23 366 405
1696 63 23 367 417
1697 78 23 382 555
1698 83 23 387 523
1699 93 23 397 15
1700 94 23 398 19
1701 95 23 399 57
1702 96 23 400 70
1703 97 23 401 432
1704 98 23 402 249
1705 99 23 403 127
1706 100 23 404 431
1707 1 25 305 36
1708 2 25 306 204
1709 3 25 307 313
1710 4 25 308 97
1711 5 25 309 189
1712 6 25 310 184
1713 7 25 311 182
1714 8 25 312 424
1715 9 25 313 422
1716 10 25 314 423
1717 11 25 315 352
1718 12 25 316 67
1719 13 25 317 491
1720 14 25 318 512
1721 15 25 319 522
1722 16 25 320 60
1723 17 25 321 109
1724 18 25 322 168
1725 19 25 323 574
1726 20 25 324 885
1727 21 25 325 884
1728 22 25 326 886
1729 23 25 327 451
1730 24 25 328 83
1731 25 25 329 263
1732 26 25 330 342
1733 27 25 331 332
1734 28 25 332 523
1735 29 25 333 506
1736 30 25 334 555
1737 31 25 335 232
1738 32 25 336 129
1739 33 25 337 345
1740 34 25 338 196
1741 35 25 339 341
1742 36 25 340 317
1743 37 25 341 577
1744 38 25 342 488
1745 39 25 343 490
1746 40 25 344 314
1747 41 25 345 500
1748 42 25 346 101
1749 43 25 347 374
1750 44 25 348 525
1751 45 25 349 474
1752 46 25 350 419
1753 47 25 351 203
1754 48 25 352 521
1755 49 25 353 241
1756 50 25 354 240
1757 51 25 355 201
1758 52 25 356 883
1759 53 25 357 684
1760 54 25 358 473
1761 55 25 359 91
1762 56 25 360 331
1763 57 25 361 206
1764 58 25 362 280
1765 59 25 363 428
1766 60 25 364 369
1767 61 25 365 421
1768 62 25 366 492
1769 63 25 367 706
1770 64 25 368 339
1771 65 25 369 403
1772 66 25 370 34
1773 67 25 371 7
1774 68 25 372 9
1775 69 25 373 8
1776 70 25 374 214
1777 71 25 375 402
1778 72 25 376 486
1779 73 25 377 409
1780 74 25 378 115
1781 75 25 379 113
1782 76 25 380 350
1783 77 25 381 127
1784 78 25 382 337
1785 79 25 383 605
1786 80 25 384 118
1787 81 25 385 447
1788 82 25 386 86
1789 83 25 387 398
1790 84 25 388 707
1791 85 25 389 156
1792 86 25 390 157
1793 87 25 391 269
1794 88 25 392 14
1795 89 25 393 776
1796 90 25 394 191
1797 91 25 395 390
1798 92 25 396 286
1799 93 25 659 430
1800 94 25 660 399
1801 95 25 661 141
1802 96 25 745 598
1803 97 25 746 19
1804 98 25 747 285
1805 99 25 748 442
1806 100 25 1943 349
1807 101 25 1944 408
1808 102 25 1945 441
1809 103 25 1946 164
1810 104 25 1947 334
1811 105 25 1948 404
1812 106 25 1949 529
1813 107 25 1950 261
1814 108 25 1951 242
1815 109 25 1952 271
1816 110 25 1953 710
1817 111 25 1954 202
1818 112 25 1955 396
1819 113 25 1956 366
1820 114 25 1957 247
1821 115 25 1958 406
1822 116 25 1959 446
1823 117 25 1960 304
1824 118 25 1961 257
1825 119 25 1962 412
1826 120 25 1963 94
1827 121 25 1964 484
1828 122 25 1965 227
1829 123 25 1966 57
1830 124 25 1967 861
1831 125 25 1968 53
1832 126 25 1969 85
1833 127 25 1970 583
1834 128 25 1971 133
1835 129 25 1972 347
1836 130 25 1973 270
1837 131 25 1974 676
1838 132 25 1975 226
1839 133 25 1976 414
1840 134 25 1977 179
1841 135 25 1978 58
1842 136 25 1979 604
1843 137 25 1980 580
1844 138 25 1981 678
1845 139 25 1982 581
1846 140 25 1983 417
1847 141 25 1984 126
1848 142 25 1985 56
1849 143 25 1986 59
1850 144 25 1987 519
1851 145 25 1988 518
1852 146 25 1989 520
1853 147 25 1990 528
1854 148 25 1991 188
1855 149 25 1992 89
1856 150 25 1993 444
1857 151 25 1994 566
1858 152 25 1995 416
1859 153 25 1996 307
1860 154 25 1997 308
1861 155 25 1998 338
1862 156 25 1999 200
1863 157 25 2000 315
1864 158 25 2001 411
1865 159 25 2002 437
1866 160 25 2003 542
1867 161 25 2004 433
1868 162 25 2005 405
1869 163 25 2006 63
1870 164 25 2007 413
1871 165 25 2008 394
1872 166 25 2009 87
1873 167 25 2010 370
1874 168 25 2011 76
1875 169 25 2012 434
1876 170 25 2013 796
1877 171 25 2014 851
1878 172 25 2161 46
1879 173 25 2162 268
1880 174 25 2163 114
1881 175 25 2164 92
1882 176 25 2165 328
1883 177 25 2166 180
1884 178 25 2167 356
1885 179 25 2168 479
1886 180 25 2169 360
1887 181 25 2170 282
1888 182 25 2171 450
1889 183 25 2172 162
1890 184 25 2173 410
1891 185 25 2174 679
1892 186 25 2175 667
1893 187 25 2176 333
1894 188 25 2177 503
1895 189 25 2178 535
1896 190 25 2179 669
1897 191 25 2180 253
1898 192 25 2181 264
1899 193 25 2182 311
1900 194 25 2183 803
1901 195 25 2184 807
1902 196 25 2185 812
1903 197 25 2186 814
1904 198 25 2187 809
1905 199 25 2188 808
1906 200 25 2189 799
1907 201 25 2190 802
1908 202 25 2191 220
1909 203 25 2192 244
1910 204 25 2193 38
1911 205 25 2194 283
1912 206 25 2195 572
1913 207 25 2196 915
1914 208 25 2197 250
1915 209 25 2198 330
1916 210 25 2199 916
1917 211 25 2200 527
1918 212 25 2201 813
1919 213 25 2202 811
1920 214 25 2203 482
1921 215 25 2204 815
1922 216 25 2205 297
1923 217 25 2206 248
1924 218 25 2207 797
1925 219 25 2208 806
1926 220 25 2209 800
1927 221 25 2210 675
1928 222 25 2211 784
1929 223 25 2212 319
1930 224 25 2213 174
1931 225 25 2214 912
1932 226 25 2215 913
1933 227 25 2216 914
1934 228 25 2217 917
1935 229 25 2218 918
1936 67 26 371 7
1937 68 26 372 9
1938 69 26 373 8
1939 132 26 1975 226
1940 170 26 2013 796
1941 172 26 2161 46
1942 173 26 2162 268
1943 174 26 2163 114
1944 175 26 2164 92
1945 176 26 2165 328
1946 177 26 2166 180
1947 178 26 2167 356
1948 179 26 2168 479
1949 180 26 2169 360
1950 181 26 2170 282
1951 182 26 2171 450
1952 183 26 2172 162
1953 184 26 2173 410
1954 185 26 2174 679
1955 186 26 2175 667
1956 187 26 2176 333
1957 188 26 2177 503
1958 189 26 2178 535
1959 190 26 2179 669
1960 191 26 2180 253
1961 192 26 2181 264
1962 193 26 2182 311
1963 194 26 2183 803
1964 195 26 2184 807
1965 196 26 2185 812
1966 197 26 2186 814
1967 198 26 2187 809
1968 199 26 2188 808
1969 200 26 2189 799
1970 201 26 2190 802
1971 2 27 306 204
1972 7 27 311 182
1973 13 27 317 491
1974 29 27 333 506
1975 30 27 334 555
1976 34 27 338 196
1977 39 27 343 490
1978 41 27 345 500
1979 44 27 348 525
1980 49 27 353 241
1981 50 27 354 240
1982 51 27 355 201
1983 52 27 356 883
1984 53 27 357 684
1985 59 27 363 428
1986 60 27 364 369
1987 63 27 367 706
1988 64 27 368 339
1989 67 27 371 7
1990 68 27 372 9
1991 69 27 373 8
1992 74 27 378 115
1993 75 27 379 113
1994 76 27 380 350
1995 77 27 381 127
1996 78 27 382 337
1997 81 27 385 447
1998 82 27 386 86
1999 83 27 387 398
2000 86 27 390 157
2001 87 27 391 269
2002 88 27 392 14
2003 89 27 393 776
2004 93 27 659 430
2005 94 27 660 399
2006 99 27 748 442
2007 100 27 1943 349
2008 103 27 1946 164
2009 104 27 1947 334
2010 106 27 1949 529
2011 107 27 1950 261
2012 108 27 1951 242
2013 109 27 1952 271
2014 110 27 1953 710
2015 111 27 1954 202
2016 112 27 1955 396
2017 113 27 1956 366
2018 115 27 1958 406
2019 117 27 1960 304
2020 118 27 1961 257
2021 119 27 1962 412
2022 121 27 1964 484
2023 124 27 1967 861
2024 125 27 1968 53
2025 126 27 1969 85
2026 127 27 1970 583
2027 128 27 1971 133
2028 129 27 1972 347
2029 130 27 1973 270
2030 131 27 1974 676
2031 133 27 1976 414
2032 135 27 1978 58
2033 136 27 1979 604
2034 137 27 1980 580
2035 138 27 1981 678
2036 139 27 1982 581
2037 140 27 1983 417
2038 141 27 1984 126
2039 142 27 1985 56
2040 143 27 1986 59
2041 144 27 1987 519
2042 145 27 1988 518
2043 146 27 1989 520
2044 148 27 1991 188
2045 149 27 1992 89
2046 150 27 1993 444
2047 153 27 1996 307
2048 154 27 1997 308
2049 155 27 1998 338
2050 156 27 1999 200
2051 157 27 2000 315
2052 158 27 2001 411
2053 159 27 2002 437
2054 160 27 2003 542
2055 161 27 2004 433
2056 162 27 2005 405
2057 163 27 2006 63
2058 164 27 2007 413
2059 165 27 2008 394
2060 166 27 2009 87
2061 168 27 2011 76
2062 171 27 2014 851
2063 174 27 2163 114
2064 181 27 2170 282
2065 185 27 2174 679
2066 186 27 2175 667
2067 187 27 2176 333
2068 188 27 2177 503
2069 190 27 2179 669
2070 193 27 2182 311
2071 194 27 2183 803
2072 196 27 2185 812
2073 197 27 2186 814
2074 200 27 2189 799
2075 201 27 2190 802
2076 202 27 2191 220
2077 203 27 2192 244
2078 204 27 2193 38
2079 205 27 2194 283
2080 206 27 2195 572
2081 207 27 2196 915
2082 208 27 2197 250
2083 209 27 2198 330
2084 210 27 2199 916
2085 211 27 2200 527
2086 212 27 2201 813
2087 213 27 2202 811
2088 214 27 2203 482
2089 215 27 2204 815
2090 216 27 2205 297
2091 217 27 2206 248
2092 218 27 2207 797
2093 219 27 2208 806
2094 220 27 2209 800
2095 221 27 2210 675
2096 222 27 2211 784
2097 223 27 2212 319
2098 224 27 2213 174
2099 225 27 2214 912
2100 226 27 2215 913
2101 227 27 2216 914
2102 228 27 2217 917
2103 229 27 2218 918

View file

@ -303,7 +303,7 @@ move_id,meta_category_id,meta_ailment_id,min_hits,max_hits,min_turns,max_turns,d
302,0,0,,,,,0,0,0,0,30,0 302,0,0,,,,,0,0,0,0,30,0
303,3,0,,,,,0,50,0,0,0,0 303,3,0,,,,,0,50,0,0,0,0
304,0,0,,,,,0,0,0,0,0,0 304,0,0,,,,,0,0,0,0,0,0
305,4,5,,,15,15,0,0,0,50,0,0 305,4,5,,,,,0,0,0,50,0,0
306,6,0,,,,,0,0,0,0,0,50 306,6,0,,,,,0,0,0,0,0,50
307,0,0,,,,,0,0,0,0,0,0 307,0,0,,,,,0,0,0,0,0,0
308,0,0,,,,,0,0,0,0,0,0 308,0,0,,,,,0,0,0,0,0,0

1 move_id meta_category_id meta_ailment_id min_hits max_hits min_turns max_turns drain healing crit_rate ailment_chance flinch_chance stat_chance
303 302 0 0 0 0 0 0 30 0
304 303 3 0 0 50 0 0 0 0
305 304 0 0 0 0 0 0 0 0
306 305 4 5 15 15 0 0 0 50 0 0
307 306 6 0 0 0 0 0 0 50
308 307 0 0 0 0 0 0 0 0
309 308 0 0 0 0 0 0 0 0

View file

@ -719,12 +719,12 @@ id,identifier,generation_id,type_id,power,pp,accuracy,priority,target_id,damage_
718,multi-attack,7,1,120,10,100,0,10,2,269,,,, 718,multi-attack,7,1,120,10,100,0,10,2,269,,,,
719,10-000-000-volt-thunderbolt,7,13,195,1,,0,10,3,1,,,, 719,10-000-000-volt-thunderbolt,7,13,195,1,,0,10,3,1,,,,
720,mind-blown,7,10,150,5,100,0,9,3,420,,,, 720,mind-blown,7,10,150,5,100,0,9,3,420,,,,
721,plasma-fists,7,13,100,15,100,0,10,2,1,,,, 721,plasma-fists,7,13,100,15,100,0,10,2,417,,,,
722,photon-geyser,7,14,100,5,100,0,10,3,1,,,, 722,photon-geyser,7,14,100,5,100,0,10,3,1,,,,
723,light-that-burns-the-sky,7,14,200,1,,0,10,3,416,,,, 723,light-that-burns-the-sky,7,14,200,1,,0,10,3,416,,,,
724,searing-sunraze-smash,7,9,200,1,,0,10,2,411,,,, 724,searing-sunraze-smash,7,9,200,1,,0,10,2,411,,,,
725,menacing-moonraze-maelstrom,7,8,200,1,,0,10,3,411,,,, 725,menacing-moonraze-maelstrom,7,8,200,1,,0,10,3,411,,,,
726,lets-snuggle-forever,7,18,190,1,,0,10,2,417,,,, 726,lets-snuggle-forever,7,18,190,1,,0,10,2,1,,,,
727,splintered-stormshards,7,6,190,1,,0,10,2,418,,,, 727,splintered-stormshards,7,6,190,1,,0,10,2,418,,,,
728,clangorous-soulblaze,7,16,185,1,,0,11,3,419,100,,, 728,clangorous-soulblaze,7,16,185,1,,0,11,3,419,100,,,
729,zippy-zap,7,13,80,10,100,2,10,2,1,100,,, 729,zippy-zap,7,13,80,10,100,2,10,2,1,100,,,

1 id identifier generation_id type_id power pp accuracy priority target_id damage_class_id effect_id effect_chance contest_type_id contest_effect_id super_contest_effect_id
719 718 multi-attack 7 1 120 10 100 0 10 2 269
720 719 10-000-000-volt-thunderbolt 7 13 195 1 0 10 3 1
721 720 mind-blown 7 10 150 5 100 0 9 3 420
722 721 plasma-fists 7 13 100 15 100 0 10 2 1 417
723 722 photon-geyser 7 14 100 5 100 0 10 3 1
724 723 light-that-burns-the-sky 7 14 200 1 0 10 3 416
725 724 searing-sunraze-smash 7 9 200 1 0 10 2 411
726 725 menacing-moonraze-maelstrom 7 8 200 1 0 10 3 411
727 726 lets-snuggle-forever 7 18 190 1 0 10 2 417 1
728 727 splintered-stormshards 7 6 190 1 0 10 2 418
729 728 clangorous-soulblaze 7 16 185 1 0 11 3 419 100
730 729 zippy-zap 7 13 80 10 100 2 10 2 1 100

View file

@ -897,133 +897,133 @@ id,identifier,species_id,height,weight,base_experience,order,is_default
896,glastrier,896,22,8000,290,1088,1 896,glastrier,896,22,8000,290,1088,1
897,spectrier,897,20,445,290,1089,1 897,spectrier,897,20,445,290,1089,1
898,calyrex,898,11,77,250,1090,1 898,calyrex,898,11,77,250,1090,1
899,wyrdeer,899,18,951,,,1 899,wyrdeer,899,18,951,263,,1
900,kleavor,900,18,890,,,1 900,kleavor,900,18,890,175,,1
901,ursaluna,901,24,2900,,,1 901,ursaluna,901,24,2900,275,,1
902,basculegion-male,902,30,1100,,,1 902,basculegion-male,902,30,1100,265,,1
903,sneasler,903,13,430,,,1 903,sneasler,903,13,430,102,,1
904,overqwil,904,25,605,,,1 904,overqwil,904,25,605,179,,1
905,enamorus-incarnate,905,16,480,,,1 905,enamorus-incarnate,905,16,480,116,,1
906,sprigatito,906,4,41,,906,1 906,sprigatito,906,4,41,62,906,1
907,floragato,907,9,122,,907,1 907,floragato,907,9,122,144,907,1
908,meowscarada,908,15,312,,908,1 908,meowscarada,908,15,312,265,908,1
909,fuecoco,909,4,98,,909,1 909,fuecoco,909,4,98,62,909,1
910,crocalor,910,10,307,,910,1 910,crocalor,910,10,307,144,910,1
911,skeledirge,911,16,3265,,911,1 911,skeledirge,911,16,3265,265,911,1
912,quaxly,912,5,61,,912,1 912,quaxly,912,5,61,62,912,1
913,quaxwell,913,12,215,,913,1 913,quaxwell,913,12,215,144,913,1
914,quaquaval,914,18,619,,914,1 914,quaquaval,914,18,619,265,914,1
915,lechonk,915,5,102,,915,1 915,lechonk,915,5,102,51,915,1
916,oinkologne,916,10,1200,,916,1 916,oinkologne,916,10,1200,171,916,1
917,tarountula,917,3,40,,918,1 917,tarountula,917,3,40,42,918,1
918,spidops,918,10,165,,919,1 918,spidops,918,10,165,141,919,1
919,nymble,919,2,10,,920,1 919,nymble,919,2,10,42,920,1
920,lokix,920,10,175,,921,1 920,lokix,920,10,175,158,921,1
921,pawmi,921,3,25,,954,1 921,pawmi,921,3,25,48,954,1
922,pawmo,922,4,65,,955,1 922,pawmo,922,4,65,123,955,1
923,pawmot,923,9,410,,956,1 923,pawmot,923,9,410,245,956,1
924,tandemaus,924,3,18,,945,1 924,tandemaus,924,3,18,61,945,1
925,maushold,925,3,23,,946,1 925,maushold,925,3,23,165,946,1
926,fidough,926,3,109,,970,1 926,fidough,926,3,109,62,970,1
927,dachsbun,927,5,149,,971,1 927,dachsbun,927,5,149,167,971,1
928,smoliv,928,3,65,,935,1 928,smoliv,928,3,65,52,935,1
929,dolliv,929,6,119,,936,1 929,dolliv,929,6,119,124,936,1
930,arboliva,930,14,482,,937,1 930,arboliva,930,14,482,255,937,1
931,squawkabilly,931,6,24,,960,1 931,squawkabilly,931,6,24,146,960,1
932,nacli,932,4,160,,963,1 932,nacli,932,4,160,56,963,1
933,naclstack,933,6,1050,,964,1 933,naclstack,933,6,1050,124,964,1
934,garganacl,934,23,2400,,965,1 934,garganacl,934,23,2400,250,965,1
935,charcadet,935,6,105,,1003,1 935,charcadet,935,6,105,51,1003,1
936,armarouge,936,15,850,,1004,1 936,armarouge,936,15,850,263,1004,1
937,ceruledge,937,16,620,,1005,1 937,ceruledge,937,16,620,263,1005,1
938,tadbulb,938,3,4,,940,1 938,tadbulb,938,3,4,54,940,1
939,bellibolt,939,12,1130,,941,1 939,bellibolt,939,12,1130,173,941,1
940,wattrel,940,4,36,,957,1 940,wattrel,940,4,36,56,957,1
941,kilowattrel,941,14,386,,958,1 941,kilowattrel,941,14,386,172,958,1
942,maschiff,942,5,160,,972,1 942,maschiff,942,5,160,68,972,1
943,mabosstiff,943,11,610,,973,1 943,mabosstiff,943,11,610,177,973,1
944,shroodle,944,2,7,,968,1 944,shroodle,944,2,7,58,968,1
945,grafaiai,945,7,272,,969,1 945,grafaiai,945,7,272,170,969,1
946,bramblin,946,6,6,,974,1 946,bramblin,946,6,6,55,974,1
947,brambleghast,947,12,60,,975,1 947,brambleghast,947,12,60,168,975,1
948,toedscool,948,9,330,,1006,1 948,toedscool,948,9,330,67,1006,1
949,toedscruel,949,19,580,,1007,1 949,toedscruel,949,19,580,180,1007,1
950,klawf,950,13,790,,962,1 950,klawf,950,13,790,158,962,1
951,capsakid,951,3,30,,938,1 951,capsakid,951,3,30,61,938,1
952,scovillain,952,9,150,,939,1 952,scovillain,952,9,150,170,939,1
953,rellor,953,2,10,,922,1 953,rellor,953,2,10,54,922,1
954,rabsca,954,3,35,,923,1 954,rabsca,954,3,35,165,923,1
955,flittle,955,2,15,,926,1 955,flittle,955,2,15,51,926,1
956,espathra,956,19,900,,927,1 956,espathra,956,19,900,168,927,1
957,tinkatink,957,4,89,,1000,1 957,tinkatink,957,4,89,59,1000,1
958,tinkatuff,958,7,591,,1001,1 958,tinkatuff,958,7,591,133,1001,1
959,tinkaton,959,7,1128,,1002,1 959,tinkaton,959,7,1128,253,1002,1
960,wiglett,960,12,18,,929,1 960,wiglett,960,12,18,49,929,1
961,wugtrio,961,12,54,,930,1 961,wugtrio,961,12,54,149,930,1
962,bombirdier,962,15,429,,959,1 962,bombirdier,962,15,429,243,959,1
963,finizen,963,13,602,,933,1 963,finizen,963,13,602,63,933,1
964,palafin,964,13,602,,934,1 964,palafin,964,13,602,160,934,1
965,varoom,965,10,350,,942,1 965,varoom,965,10,350,60,942,1
966,revavroom,966,18,1200,,943,1 966,revavroom,966,18,1200,175,943,1
967,cyclizar,967,16,630,,953,1 967,cyclizar,967,16,630,175,953,1
968,orthworm,968,25,3100,,944,1 968,orthworm,968,25,3100,240,944,1
969,glimmet,969,7,80,,966,1 969,glimmet,969,7,80,70,966,1
970,glimmora,970,15,450,,967,1 970,glimmora,970,15,450,184,967,1
971,greavard,971,6,350,,924,1 971,greavard,971,6,350,58,924,1
972,houndstone,972,20,150,,925,1 972,houndstone,972,20,150,171,925,1
973,flamigo,973,16,370,,961,1 973,flamigo,973,16,370,175,961,1
974,cetoddle,974,12,450,,947,1 974,cetoddle,974,12,450,67,947,1
975,cetitan,975,45,7000,,948,1 975,cetitan,975,45,7000,182,948,1
976,veluza,976,25,900,,932,1 976,veluza,976,25,900,167,932,1
977,dondozo,977,120,2200,,931,1 977,dondozo,977,120,2200,265,931,1
978,tatsugiri,978,3,80,,952,1 978,tatsugiri,978,3,80,166,952,1
979,annihilape,979,12,560,,1010,1 979,annihilape,979,12,560,268,1010,1
980,clodsire,980,18,2230,,1009,1 980,clodsire,980,18,2230,151,1009,1
981,farigiraf,981,32,1600,,928,1 981,farigiraf,981,32,1600,260,928,1
982,dudunsparce,982,36,392,,917,1 982,dudunsparce,982,36,392,182,917,1
983,kingambit,983,20,1200,,1008,1 983,kingambit,983,20,1200,275,1008,1
984,great-tusk,984,22,3200,,978,1 984,great-tusk,984,22,3200,285,978,1
985,scream-tail,985,12,80,,982,1 985,scream-tail,985,12,80,285,982,1
986,brute-bonnet,986,12,210,,979,1 986,brute-bonnet,986,12,210,285,979,1
987,flutter-mane,987,14,40,,983,1 987,flutter-mane,987,14,40,285,983,1
988,slither-wing,988,32,920,,984,1 988,slither-wing,988,32,920,285,984,1
989,sandy-shocks,989,23,600,,981,1 989,sandy-shocks,989,23,600,285,981,1
990,iron-treads,990,9,2400,,986,1 990,iron-treads,990,9,2400,285,986,1
991,iron-bundle,991,6,110,,992,1 991,iron-bundle,991,6,110,285,992,1
992,iron-hands,992,18,3807,,989,1 992,iron-hands,992,18,3807,285,989,1
993,iron-jugulis,993,13,1110,,990,1 993,iron-jugulis,993,13,1110,285,990,1
994,iron-moth,994,12,360,,988,1 994,iron-moth,994,12,360,285,988,1
995,iron-thorns,995,16,3030,,991,1 995,iron-thorns,995,16,3030,285,991,1
996,frigibax,996,5,170,,949,1 996,frigibax,996,5,170,64,949,1
997,arctibax,997,8,300,,950,1 997,arctibax,997,8,300,148,950,1
998,baxcalibur,998,21,2100,,951,1 998,baxcalibur,998,21,2100,300,951,1
999,gimmighoul,999,3,50,,976,1 999,gimmighoul,999,3,50,60,976,1
1000,gholdengo,1000,12,300,,977,1 1000,gholdengo,1000,12,300,275,977,1
1001,wo-chien,1001,15,742,,996,1 1001,wo-chien,1001,15,742,285,996,1
1002,chien-pao,1002,19,1522,,995,1 1002,chien-pao,1002,19,1522,285,995,1
1003,ting-lu,1003,27,6997,,994,1 1003,ting-lu,1003,27,6997,285,994,1
1004,chi-yu,1004,4,49,,997,1 1004,chi-yu,1004,4,49,285,997,1
1005,roaring-moon,1005,20,3800,,985,1 1005,roaring-moon,1005,20,3800,295,985,1
1006,iron-valiant,1006,14,350,,993,1 1006,iron-valiant,1006,14,350,295,993,1
1007,koraidon,1007,25,3030,,998,1 1007,koraidon,1007,25,3030,335,998,1
1008,miraidon,1008,35,2400,,999,1 1008,miraidon,1008,35,2400,335,999,1
1009,walking-wake,1009,35,2800,,1093,1 1009,walking-wake,1009,35,2800,295,1093,1
1010,iron-leaves,1010,15,1250,,1094,1 1010,iron-leaves,1010,15,1250,295,1094,1
1011,dipplin,1011,4,97,,1095,1 1011,dipplin,1011,4,97,170,1095,1
1012,poltchageist,1012,1,11,,1096,1 1012,poltchageist,1012,1,11,62,1096,1
1013,sinistcha,1013,2,22,,1097,1 1013,sinistcha,1013,2,22,178,1097,1
1014,okidogi,1014,18,922,,1098,1 1014,okidogi,1014,18,922,278,1098,1
1015,munkidori,1015,10,122,,1099,1 1015,munkidori,1015,10,122,278,1099,1
1016,fezandipiti,1016,14,301,,1100,1 1016,fezandipiti,1016,14,301,278,1100,1
1017,ogerpon,1017,12,398,,1101,1 1017,ogerpon,1017,12,398,275,1101,1
1018,archaludon,1018,20,600,,1102,1 1018,archaludon,1018,20,600,300,1102,1
1019,hydrapple,1019,18,930,,1103,1 1019,hydrapple,1019,18,930,270,1103,1
1020,gouging-fire,1020,35,5900,,1104,1 1020,gouging-fire,1020,35,5900,295,1104,1
1021,raging-bolt,1021,52,4800,,1105,1 1021,raging-bolt,1021,52,4800,295,1105,1
1022,iron-boulder,1022,15,1625,,1106,1 1022,iron-boulder,1022,15,1625,295,1106,1
1023,iron-crown,1023,16,1560,,1107,1 1023,iron-crown,1023,16,1560,295,1107,1
1024,terapagos,1024,2,65,,1108,1 1024,terapagos,1024,2,65,90,1108,1
1025,pecharunt,1025,3,3,,1109,1 1025,pecharunt,1025,3,3,300,1109,1
10001,deoxys-attack,386,17,608,270,515,0 10001,deoxys-attack,386,17,608,270,515,0
10002,deoxys-defense,386,17,608,270,516,0 10002,deoxys-defense,386,17,608,270,516,0
10003,deoxys-speed,386,17,608,270,517,0 10003,deoxys-speed,386,17,608,270,517,0

1 id identifier species_id height weight base_experience order is_default
897 896 glastrier 896 22 8000 290 1088 1
898 897 spectrier 897 20 445 290 1089 1
899 898 calyrex 898 11 77 250 1090 1
900 899 wyrdeer 899 18 951 263 1
901 900 kleavor 900 18 890 175 1
902 901 ursaluna 901 24 2900 275 1
903 902 basculegion-male 902 30 1100 265 1
904 903 sneasler 903 13 430 102 1
905 904 overqwil 904 25 605 179 1
906 905 enamorus-incarnate 905 16 480 116 1
907 906 sprigatito 906 4 41 62 906 1
908 907 floragato 907 9 122 144 907 1
909 908 meowscarada 908 15 312 265 908 1
910 909 fuecoco 909 4 98 62 909 1
911 910 crocalor 910 10 307 144 910 1
912 911 skeledirge 911 16 3265 265 911 1
913 912 quaxly 912 5 61 62 912 1
914 913 quaxwell 913 12 215 144 913 1
915 914 quaquaval 914 18 619 265 914 1
916 915 lechonk 915 5 102 51 915 1
917 916 oinkologne 916 10 1200 171 916 1
918 917 tarountula 917 3 40 42 918 1
919 918 spidops 918 10 165 141 919 1
920 919 nymble 919 2 10 42 920 1
921 920 lokix 920 10 175 158 921 1
922 921 pawmi 921 3 25 48 954 1
923 922 pawmo 922 4 65 123 955 1
924 923 pawmot 923 9 410 245 956 1
925 924 tandemaus 924 3 18 61 945 1
926 925 maushold 925 3 23 165 946 1
927 926 fidough 926 3 109 62 970 1
928 927 dachsbun 927 5 149 167 971 1
929 928 smoliv 928 3 65 52 935 1
930 929 dolliv 929 6 119 124 936 1
931 930 arboliva 930 14 482 255 937 1
932 931 squawkabilly 931 6 24 146 960 1
933 932 nacli 932 4 160 56 963 1
934 933 naclstack 933 6 1050 124 964 1
935 934 garganacl 934 23 2400 250 965 1
936 935 charcadet 935 6 105 51 1003 1
937 936 armarouge 936 15 850 263 1004 1
938 937 ceruledge 937 16 620 263 1005 1
939 938 tadbulb 938 3 4 54 940 1
940 939 bellibolt 939 12 1130 173 941 1
941 940 wattrel 940 4 36 56 957 1
942 941 kilowattrel 941 14 386 172 958 1
943 942 maschiff 942 5 160 68 972 1
944 943 mabosstiff 943 11 610 177 973 1
945 944 shroodle 944 2 7 58 968 1
946 945 grafaiai 945 7 272 170 969 1
947 946 bramblin 946 6 6 55 974 1
948 947 brambleghast 947 12 60 168 975 1
949 948 toedscool 948 9 330 67 1006 1
950 949 toedscruel 949 19 580 180 1007 1
951 950 klawf 950 13 790 158 962 1
952 951 capsakid 951 3 30 61 938 1
953 952 scovillain 952 9 150 170 939 1
954 953 rellor 953 2 10 54 922 1
955 954 rabsca 954 3 35 165 923 1
956 955 flittle 955 2 15 51 926 1
957 956 espathra 956 19 900 168 927 1
958 957 tinkatink 957 4 89 59 1000 1
959 958 tinkatuff 958 7 591 133 1001 1
960 959 tinkaton 959 7 1128 253 1002 1
961 960 wiglett 960 12 18 49 929 1
962 961 wugtrio 961 12 54 149 930 1
963 962 bombirdier 962 15 429 243 959 1
964 963 finizen 963 13 602 63 933 1
965 964 palafin 964 13 602 160 934 1
966 965 varoom 965 10 350 60 942 1
967 966 revavroom 966 18 1200 175 943 1
968 967 cyclizar 967 16 630 175 953 1
969 968 orthworm 968 25 3100 240 944 1
970 969 glimmet 969 7 80 70 966 1
971 970 glimmora 970 15 450 184 967 1
972 971 greavard 971 6 350 58 924 1
973 972 houndstone 972 20 150 171 925 1
974 973 flamigo 973 16 370 175 961 1
975 974 cetoddle 974 12 450 67 947 1
976 975 cetitan 975 45 7000 182 948 1
977 976 veluza 976 25 900 167 932 1
978 977 dondozo 977 120 2200 265 931 1
979 978 tatsugiri 978 3 80 166 952 1
980 979 annihilape 979 12 560 268 1010 1
981 980 clodsire 980 18 2230 151 1009 1
982 981 farigiraf 981 32 1600 260 928 1
983 982 dudunsparce 982 36 392 182 917 1
984 983 kingambit 983 20 1200 275 1008 1
985 984 great-tusk 984 22 3200 285 978 1
986 985 scream-tail 985 12 80 285 982 1
987 986 brute-bonnet 986 12 210 285 979 1
988 987 flutter-mane 987 14 40 285 983 1
989 988 slither-wing 988 32 920 285 984 1
990 989 sandy-shocks 989 23 600 285 981 1
991 990 iron-treads 990 9 2400 285 986 1
992 991 iron-bundle 991 6 110 285 992 1
993 992 iron-hands 992 18 3807 285 989 1
994 993 iron-jugulis 993 13 1110 285 990 1
995 994 iron-moth 994 12 360 285 988 1
996 995 iron-thorns 995 16 3030 285 991 1
997 996 frigibax 996 5 170 64 949 1
998 997 arctibax 997 8 300 148 950 1
999 998 baxcalibur 998 21 2100 300 951 1
1000 999 gimmighoul 999 3 50 60 976 1
1001 1000 gholdengo 1000 12 300 275 977 1
1002 1001 wo-chien 1001 15 742 285 996 1
1003 1002 chien-pao 1002 19 1522 285 995 1
1004 1003 ting-lu 1003 27 6997 285 994 1
1005 1004 chi-yu 1004 4 49 285 997 1
1006 1005 roaring-moon 1005 20 3800 295 985 1
1007 1006 iron-valiant 1006 14 350 295 993 1
1008 1007 koraidon 1007 25 3030 335 998 1
1009 1008 miraidon 1008 35 2400 335 999 1
1010 1009 walking-wake 1009 35 2800 295 1093 1
1011 1010 iron-leaves 1010 15 1250 295 1094 1
1012 1011 dipplin 1011 4 97 170 1095 1
1013 1012 poltchageist 1012 1 11 62 1096 1
1014 1013 sinistcha 1013 2 22 178 1097 1
1015 1014 okidogi 1014 18 922 278 1098 1
1016 1015 munkidori 1015 10 122 278 1099 1
1017 1016 fezandipiti 1016 14 301 278 1100 1
1018 1017 ogerpon 1017 12 398 275 1101 1
1019 1018 archaludon 1018 20 600 300 1102 1
1020 1019 hydrapple 1019 18 930 270 1103 1
1021 1020 gouging-fire 1020 35 5900 295 1104 1
1022 1021 raging-bolt 1021 52 4800 295 1105 1
1023 1022 iron-boulder 1022 15 1625 295 1106 1
1024 1023 iron-crown 1023 16 1560 295 1107 1
1025 1024 terapagos 1024 2 65 90 1108 1
1026 1025 pecharunt 1025 3 3 300 1109 1
1027 10001 deoxys-attack 386 17 608 270 515 0
1028 10002 deoxys-defense 386 17 608 270 516 0
1029 10003 deoxys-speed 386 17 608 270 517 0

View file

@ -9,7 +9,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
351,1,ポワルンのすがた, 351,1,ポワルンのすがた,
351,3,캐스퐁의 모습, 351,3,캐스퐁의 모습,
351,4,飄浮泡泡的樣子, 351,4,飄浮泡泡的樣子,
351,5,Forme de Morphéo, 351,5,Forme de Morphéo,Morphéo
351,6,Formeo,Formeo 351,6,Formeo,Formeo
351,7,Forma de Castform, 351,7,Forma de Castform,
351,8,Forma Castform, 351,8,Forma Castform,
@ -19,7 +19,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
382,1,カイオーガのすがた, 382,1,カイオーガのすがた,
382,3,가이오가의 모습, 382,3,가이오가의 모습,
382,4,蓋歐卡的樣子, 382,4,蓋歐卡的樣子,
382,5,Kyogre, 382,5,Kyogre,Kyogre
382,6,Kyogre,Kyogre 382,6,Kyogre,Kyogre
382,7,Kyogre, 382,7,Kyogre,
382,9,Kyogre, 382,9,Kyogre,
@ -28,7 +28,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
383,1,グラードンのすがた, 383,1,グラードンのすがた,
383,3,그란돈의 모습, 383,3,그란돈의 모습,
383,4,固拉多的樣子, 383,4,固拉多的樣子,
383,5,Groudon, 383,5,Groudon,Groudon
383,6,Groudon,Groudon 383,6,Groudon,Groudon
383,7,Groudon, 383,7,Groudon,
383,9,Groudon, 383,9,Groudon,
@ -94,7 +94,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
479,1,ロトムのすがた, 479,1,ロトムのすがた,
479,3,로토무의 모습, 479,3,로토무의 모습,
479,4,洛托姆的樣子, 479,4,洛托姆的樣子,
479,5,Forme de Motisma, 479,5,Forme de Motisma,Motisma
479,6,Rotom,Rotom 479,6,Rotom,Rotom
479,7,Forma de Rotom, 479,7,Forma de Rotom,
479,8,Forma Rotom, 479,8,Forma Rotom,
@ -104,7 +104,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
487,1,アナザーフォルム, 487,1,アナザーフォルム,
487,3,어나더폼, 487,3,어나더폼,
487,4,別種形態, 487,4,別種形態,
487,5,Forme Alternative,Giratina Alternative 487,5,Forme Alternative,Giratina Alternatif
487,6,Wandelform,Giratina 487,6,Wandelform,Giratina
487,7,Forma Modificada, 487,7,Forma Modificada,
487,8,Forma Alterata, 487,8,Forma Alterata,
@ -194,7 +194,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
646,1,キュレムのすがた, 646,1,キュレムのすがた,
646,3,큐레무의 모습, 646,3,큐레무의 모습,
646,4,酋雷姆的樣子, 646,4,酋雷姆的樣子,
646,5,Forme de Kyurem, 646,5,Forme de Kyurem,Kyurem
646,6,Kyurem,Kyurem 646,6,Kyurem,Kyurem
646,7,Forma de Kyurem, 646,7,Forma de Kyurem,
646,8,Forma di Kyurem, 646,8,Forma di Kyurem,
@ -309,7 +309,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
718,1,50%フォルム, 718,1,50%フォルム,
718,3,50%폼, 718,3,50%폼,
718,4,50%形態, 718,4,50%形態,
718,5,Forme 50 %, 718,5,Forme 50 %,Zygarde Forme 50 %
718,6,50%-Form,Zygarde (50%) 718,6,50%-Form,Zygarde (50%)
718,7,Forma 50%, 718,7,Forma 50%,
718,8,Forma 50%, 718,8,Forma 50%,
@ -319,7 +319,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
720,1,いましめられしフーパ, 720,1,いましめられしフーパ,
720,3,굴레에 빠진 후파, 720,3,굴레에 빠진 후파,
720,4,懲戒胡帕, 720,4,懲戒胡帕,
720,5,Hoopa Enchaîné, 720,5,Hoopa Enchaîné,Hoopa Enchaîné
720,6,Gebanntes Hoopa,Gebanntes Hoopa 720,6,Gebanntes Hoopa,Gebanntes Hoopa
720,7,Hoopa Contenido, 720,7,Hoopa Contenido,
720,8,Hoopa Vincolato, 720,8,Hoopa Vincolato,
@ -329,7 +329,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
741,1,めらめらスタイル, 741,1,めらめらスタイル,
741,3,이글이글스타일, 741,3,이글이글스타일,
741,4,熱辣熱辣風格, 741,4,熱辣熱辣風格,
741,5,Style Flamenco, 741,5,Style Flamenco,Plumeline Style Flamenco
741,6,Flamenco-Stil,Choreogel (Flamenco) 741,6,Flamenco-Stil,Choreogel (Flamenco)
741,7,Estilo Apasionado, 741,7,Estilo Apasionado,
741,8,Stile Flamenco, 741,8,Stile Flamenco,
@ -339,7 +339,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
745,1,まひるのすがた, 745,1,まひるのすがた,
745,3,한낮의 모습, 745,3,한낮의 모습,
745,4,白晝的樣子, 745,4,白晝的樣子,
745,5,Forme Diurne, 745,5,Forme Diurne,Lougaroc Forme Diurne
745,6,Tagform,Wolwerock (Tag) 745,6,Tagform,Wolwerock (Tag)
745,7,Forma Diurna, 745,7,Forma Diurna,
745,8,Forma Giorno, 745,8,Forma Giorno,
@ -349,7 +349,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
746,1,たんどくのすがた, 746,1,たんどくのすがた,
746,3,단독의 모습, 746,3,단독의 모습,
746,4,單獨的樣子, 746,4,單獨的樣子,
746,5,Forme Solitaire, 746,5,Forme Solitaire,Froussardine Forme Solitaire
746,6,Einzelform,Lusardin 746,6,Einzelform,Lusardin
746,7,Forma Individual, 746,7,Forma Individual,
746,8,Forma Individuale, 746,8,Forma Individuale,
@ -369,7 +369,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
774,1,りゅうせいのすがた, 774,1,りゅうせいのすがた,
774,3,유성의 모습, 774,3,유성의 모습,
774,4,流星的樣子, 774,4,流星的樣子,
774,5,Forme Météore, 774,5,Forme Météore,Météno Forme Météore Noyeau Rouge
774,6,Meteorform,Meteno (Meteor Rot) 774,6,Meteorform,Meteno (Meteor Rot)
774,7,Forma Meteorito, 774,7,Forma Meteorito,
774,8,Forma Meteora, 774,8,Forma Meteora,
@ -379,7 +379,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
778,1,ばけたすがた, 778,1,ばけたすがた,
778,3,둔갑한 모습, 778,3,둔갑한 모습,
778,4,化形的樣子, 778,4,化形的樣子,
778,5,Forme Déguisée, 778,5,Forme Déguisée,Mimiqui Déguisé
778,6,Verkleidete Form,Mimigma (Getarnt) 778,6,Verkleidete Form,Mimigma (Getarnt)
778,7,Forma Encubierta, 778,7,Forma Encubierta,
778,8,Forma Mascherata, 778,8,Forma Mascherata,
@ -389,7 +389,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
849,1,ハイなすがた, 849,1,ハイなすがた,
849,3,하이한 모습, 849,3,하이한 모습,
849,4,高調的樣子, 849,4,高調的樣子,
849,5,Forme Aigüe, 849,5,Forme Aigüe,Salarsen Forme Aigüe
849,6,Hoch-Form,Riffex (Hochform) 849,6,Hoch-Form,Riffex (Hochform)
849,7,Forma Aguda, 849,7,Forma Aguda,
849,8,Forma Melodia, 849,8,Forma Melodia,
@ -397,17 +397,19 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
849,11,ハイなすがた, 849,11,ハイなすがた,
849,12,高调的样子, 849,12,高调的样子,
854,1,がんさくフォルム, 854,1,がんさくフォルム,
854,5,Forme Contrefaçon,Théffroi Contrefaçon
854,6,Fälschungsform,Fatalitee (Fälschung) 854,6,Fälschungsform,Fatalitee (Fälschung)
854,9,Phony Form,Phony Sinistea 854,9,Phony Form,Phony Sinistea
854,11,がんさくフォルム, 854,11,がんさくフォルム,
855,1,がんさくフォルム, 855,1,がんさくフォルム,
854,5,Forme Contrefaçon,Polthégeist Contrefaçon
855,6,Fälschungsform,Mortipot (Fälschung) 855,6,Fälschungsform,Mortipot (Fälschung)
855,9,Phony Form,Phony Polteageist 855,9,Phony Form,Phony Polteageist
855,11,がんさくフォルム, 855,11,がんさくフォルム,
869,1,ミルキィバニラ, 869,1,ミルキィバニラ,
869,3,밀키바닐라, 869,3,밀키바닐라,
869,4,奶香香草, 869,4,奶香香草,
869,5,Lait Vanille, 869,5,Lait Vanille,Charmilly Lait Vanille
869,6,Vanille-Creme,Pokusan (Vanille-Creme) 869,6,Vanille-Creme,Pokusan (Vanille-Creme)
869,7,Crema de Vainilla, 869,7,Crema de Vainilla,
869,8,Lattevaniglia, 869,8,Lattevaniglia,
@ -417,7 +419,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
875,1,アイスフェイス, 875,1,アイスフェイス,
875,3,아이스페이스, 875,3,아이스페이스,
875,4,結凍頭, 875,4,結凍頭,
875,5,Tête de Gel, 875,5,Tête de Gel,Bekaglaçon Tête de Gel
875,6,Tiefkühlkopf,Kubuin (Tiefkühlkopf) 875,6,Tiefkühlkopf,Kubuin (Tiefkühlkopf)
875,7,Cara de Hielo, 875,7,Cara de Hielo,
875,8,Gelofaccia, 875,8,Gelofaccia,
@ -427,7 +429,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
876,1,オスのすがた, 876,1,オスのすがた,
876,3,수컷의 모습, 876,3,수컷의 모습,
876,4,雄性的樣子, 876,4,雄性的樣子,
876,5,Mâle, 876,5,Mâle,Wimessir Mâle
876,6,Männlich,Servol ♂ 876,6,Männlich,Servol ♂
876,7,Macho, 876,7,Macho,
876,8,Maschio, 876,8,Maschio,
@ -437,7 +439,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
877,1,まんぷくもよう, 877,1,まんぷくもよう,
877,3,배부른 모양, 877,3,배부른 모양,
877,4,滿腹花紋, 877,4,滿腹花紋,
877,5,Mode Rassasié, 877,5,Mode Rassasié,Morpeko Rassasié
877,6,Pappsattmuster,Morpeko (Pappsattmuster) 877,6,Pappsattmuster,Morpeko (Pappsattmuster)
877,7,Forma Saciada, 877,7,Forma Saciada,
877,8,Motivo Panciapiena, 877,8,Motivo Panciapiena,
@ -447,7 +449,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
888,1,れきせんのゆうしゃ, 888,1,れきせんのゆうしゃ,
888,3,역전의 용사, 888,3,역전의 용사,
888,4,百戰勇者, 888,4,百戰勇者,
888,5,Héros Aguerri, 888,5,Héros Aguerri,Zacian
888,6,Heldenhafter Krieger,Zacian 888,6,Heldenhafter Krieger,Zacian
888,7,Guerrero Avezado, 888,7,Guerrero Avezado,
888,8,Eroe di Mille Lotte, 888,8,Eroe di Mille Lotte,
@ -457,7 +459,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
889,1,れきせんのゆうしゃ, 889,1,れきせんのゆうしゃ,
889,3,역전의 용사, 889,3,역전의 용사,
889,4,百戰勇者, 889,4,百戰勇者,
889,5,Héros Aguerri, 889,5,Héros Aguerri,Zamazenta
889,6,Heldenhafter Krieger,Zamazenta 889,6,Heldenhafter Krieger,Zamazenta
889,7,Guerrero Avezado, 889,7,Guerrero Avezado,
889,8,Eroe di Mille Lotte, 889,8,Eroe di Mille Lotte,
@ -467,7 +469,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
892,1,いちげきのかた, 892,1,いちげきのかた,
892,3,일격의 태세, 892,3,일격의 태세,
892,4,一擊流, 892,4,一擊流,
892,5,Style Poing Final, 892,5,Style Poing Final,Shifours Style Poing Final
892,6,Fokussierter Stil,Wulaosu (Fokussiert) 892,6,Fokussierter Stil,Wulaosu (Fokussiert)
892,7,Estilo Brusco, 892,7,Estilo Brusco,
892,8,Stile Singolcolpo, 892,8,Stile Singolcolpo,
@ -475,42 +477,53 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
892,11,いちげきのかた, 892,11,いちげきのかた,
892,12,一击流, 892,12,一击流,
902,1,オスのすがた, 902,1,オスのすがた,
902,5,Mâle,Paragruel Mâle
902,9,Male,Male Basculegion 902,9,Male,Male Basculegion
902,11,オスのすがた, 902,11,オスのすがた,
905,1,けしんフォルム, 905,1,けしんフォルム,
905,5,Forme Avatar,Amovénus Avatar
905,9,Incarnate Forme,Incarnate Enamorus 905,9,Incarnate Forme,Incarnate Enamorus
905,11,けしんフォルム, 905,11,けしんフォルム,
916,1,オスのすがた, 916,1,オスのすがた,
916,5,Mâle,Fragroin Mâle
916,9,Male, 916,9,Male,
916,11,オスのすがた, 916,11,オスのすがた,
925,1,4ひきかぞく, 925,1,4ひきかぞく,
925,5,Famille de Quatre,Famignol Famille de Quatre
925,9,Family of Four, 925,9,Family of Four,
925,11,4ひきかぞく, 925,11,4ひきかぞく,
931,1,グリーンフェザー, 931,1,グリーンフェザー,
931,5,Plumage Vert,Tapatoès Plumage Vert
931,9,Green Plumage, 931,9,Green Plumage,
931,11,グリーンフェザー, 931,11,グリーンフェザー,
964,1,ナイーブフォルム, 964,1,ナイーブフォルム,
964,5,Forme Ordinaire,Superdofin Forme Ordinaire
964,9,Zero Form, 964,9,Zero Form,
964,11,ナイーブフォルム, 964,11,ナイーブフォルム,
978,1,そったすがた, 978,1,そったすがた,
978,5,Forme Courbée,Nigirigon Forme Courbée
978,9,Curly Form, 978,9,Curly Form,
978,11,そったすがた, 978,11,そったすがた,
982,1,ふたふしフォルム, 982,1,ふたふしフォルム,
982,5,Forme Double,Deusolourdo Forme Double
982,9,Two-Segment Form, 982,9,Two-Segment Form,
982,11,ふたふしフォルム, 982,11,ふたふしフォルム,
999,1,はこフォルム, 999,1,はこフォルム,
999,5,Forme Coffre,Mordudor Forme Coffre
999,9,Chest Form, 999,9,Chest Form,
999,11,はこフォルム, 999,11,はこフォルム,
1007,1,かんぜんけいたい, 1007,1,かんぜんけいたい,
1007,5,Forme Finale,Koraidon Forme Finale
1007,9,Apex Build, 1007,9,Apex Build,
1007,11,かんぜんけいたい, 1007,11,かんぜんけいたい,
1008,1,コンプリートモード, 1008,1,コンプリートモード,
1008,5,Mode Ultime,Miraidon Mode Ultime
1008,9,Ultimate Mode, 1008,9,Ultimate Mode,
1008,11,コンプリートモード, 1008,11,コンプリートモード,
1012,1,マガイモノのすがた, 1012,1,マガイモノのすがた,
1012,3,가짜배기의 모습, 1012,3,가짜배기의 모습,
1012,4,冒牌貨的樣子, 1012,4,冒牌貨的樣子,
1012,5,Forme Imitation, 1012,5,Forme Imitation,Poltchageist Forme Imitation
1012,6,Imitationsform, 1012,6,Imitationsform,
1012,7,Forma Fraudulenta, 1012,7,Forma Fraudulenta,
1012,8,Forma Taroccata, 1012,8,Forma Taroccata,
@ -520,7 +533,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
1013,1,ボンサクのすがた, 1013,1,ボンサクのすがた,
1013,3,범작의 모습, 1013,3,범작의 모습,
1013,4,凡作的樣子, 1013,4,凡作的樣子,
1013,5,Forme Médiocre, 1013,5,Forme Médiocre,Théffroyable Forme Médiocre
1013,6,Simple Form, 1013,6,Simple Form,
1013,7,Forma Mediocre, 1013,7,Forma Mediocre,
1013,8,Forma Dozzinale, 1013,8,Forma Dozzinale,
@ -530,7 +543,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
1017,1,みどりのめん, 1017,1,みどりのめん,
1017,3,벽록의가면, 1017,3,벽록의가면,
1017,4,碧草面具, 1017,4,碧草面具,
1017,5,Masque Turquoise, 1017,5,Masque Turquoise,Ogerpon Turquoise
1017,6,Türkisgrüne Maske, 1017,6,Türkisgrüne Maske,
1017,7,Máscara Turquesa, 1017,7,Máscara Turquesa,
1017,8,Maschera Turchese, 1017,8,Maschera Turchese,
@ -538,7 +551,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
1017,11,みどりのめん, 1017,11,みどりのめん,
1017,12,碧草面具, 1017,12,碧草面具,
1024,1,ノーマルフォルム, 1024,1,ノーマルフォルム,
1024,5,Forme Normale, 1024,5,Forme Normale,Terapagos Forme Normale
1024,7,Forma normal, 1024,7,Forma normal,
1024,8,Forma Normale, 1024,8,Forma Normale,
1024,9,Normal Form, 1024,9,Normal Form,
@ -2105,7 +2118,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10193,1,アローラのすがた, 10193,1,アローラのすがた,
10193,3,알로라의 모습, 10193,3,알로라의 모습,
10193,4,阿羅拉的樣子, 10193,4,阿羅拉的樣子,
10193,5,Forme dAlola,Rattata d'Alola 10193,5,Forme d'Alola,Rattata d'Alola
10193,6,Alola-Form,Alola Rattfratz 10193,6,Alola-Form,Alola Rattfratz
10193,7,Forma de Alola, 10193,7,Forma de Alola,
10193,8,Forma di Alola, 10193,8,Forma di Alola,
@ -2115,7 +2128,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10194,1,アローラのすがた, 10194,1,アローラのすがた,
10194,3,알로라의 모습, 10194,3,알로라의 모습,
10194,4,阿羅拉的樣子, 10194,4,阿羅拉的樣子,
10194,5,Forme dAlola,Rattatac d'Alola 10194,5,Forme d'Alola,Rattatac d'Alola
10194,6,Alola-Form,Alola Rattikarl 10194,6,Alola-Form,Alola Rattikarl
10194,7,Forma de Alola, 10194,7,Forma de Alola,
10194,8,Forma di Alola, 10194,8,Forma di Alola,
@ -2158,7 +2171,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10199,1,イッシュキャップ, 10199,1,イッシュキャップ,
10199,3,하나캡, 10199,3,하나캡,
10199,4,合眾帽子, 10199,4,合眾帽子,
10199,5,Casquette dUnys,Pikachu Casquette dUnys 10199,5,Casquette d'Unys,Pikachu Casquette dUnys
10199,6,Einall-Kappe,Pikachu (Einall-Kappe) 10199,6,Einall-Kappe,Pikachu (Einall-Kappe)
10199,7,Gorra Teselia, 10199,7,Gorra Teselia,
10199,8,Berretto Unima, 10199,8,Berretto Unima,
@ -2178,7 +2191,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10201,1,アローラキャップ, 10201,1,アローラキャップ,
10201,3,알로라캡, 10201,3,알로라캡,
10201,4,阿羅拉帽子, 10201,4,阿羅拉帽子,
10201,5,Casquette dAlola,Pikachu Casquette dAlola 10201,5,Casquette d'Alola,Pikachu Casquette dAlola
10201,6,Alola-Kappe,Pikachu (Alola-Kappe) 10201,6,Alola-Kappe,Pikachu (Alola-Kappe)
10201,7,Gorra Alola, 10201,7,Gorra Alola,
10201,8,Berretto Alola, 10201,8,Berretto Alola,
@ -2188,7 +2201,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10202,1,アローラのすがた, 10202,1,アローラのすがた,
10202,3,알로라의 모습, 10202,3,알로라의 모습,
10202,4,阿羅拉的樣子, 10202,4,阿羅拉的樣子,
10202,5,Forme dAlola,Raichu d'Alola 10202,5,Forme d'Alola,Raichu d'Alola
10202,6,Alola-Form,Alola Raichu 10202,6,Alola-Form,Alola Raichu
10202,7,Forma de Alola, 10202,7,Forma de Alola,
10202,8,Forma di Alola, 10202,8,Forma di Alola,
@ -2198,7 +2211,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10203,1,アローラのすがた, 10203,1,アローラのすがた,
10203,3,알로라의 모습, 10203,3,알로라의 모습,
10203,4,阿羅拉的樣子, 10203,4,阿羅拉的樣子,
10203,5,Forme dAlola,Sabelette d'Alola 10203,5,Forme d'Alola,Sabelette d'Alola
10203,6,Alola-Form,Alola Sandan 10203,6,Alola-Form,Alola Sandan
10203,7,Forma de Alola, 10203,7,Forma de Alola,
10203,8,Forma di Alola, 10203,8,Forma di Alola,
@ -2208,7 +2221,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10204,1,アローラのすがた, 10204,1,アローラのすがた,
10204,3,알로라의 모습, 10204,3,알로라의 모습,
10204,4,阿羅拉的樣子, 10204,4,阿羅拉的樣子,
10204,5,Forme dAlola,Sablaireau d'Alola 10204,5,Forme d'Alola,Sablaireau d'Alola
10204,6,Alola-Form,Alola Sandamer 10204,6,Alola-Form,Alola Sandamer
10204,7,Forma de Alola, 10204,7,Forma de Alola,
10204,8,Forma di Alola, 10204,8,Forma di Alola,
@ -2218,7 +2231,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10205,1,アローラのすがた, 10205,1,アローラのすがた,
10205,3,알로라의 모습, 10205,3,알로라의 모습,
10205,4,阿羅拉的樣子, 10205,4,阿羅拉的樣子,
10205,5,Forme dAlola,Goupix d'Alola 10205,5,Forme d'Alola,Goupix d'Alola
10205,6,Alola-Form,Alola Vulpix 10205,6,Alola-Form,Alola Vulpix
10205,7,Forma de Alola, 10205,7,Forma de Alola,
10205,8,Forma di Alola, 10205,8,Forma di Alola,
@ -2228,7 +2241,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10206,1,アローラのすがた, 10206,1,アローラのすがた,
10206,3,알로라의 모습, 10206,3,알로라의 모습,
10206,4,阿羅拉的樣子, 10206,4,阿羅拉的樣子,
10206,5,Forme dAlola,Feunard d'Alola 10206,5,Forme d'Alola,Feunard d'Alola
10206,6,Alola-Form,Alola Vulnona 10206,6,Alola-Form,Alola Vulnona
10206,7,Forma de Alola, 10206,7,Forma de Alola,
10206,8,Forma di Alola, 10206,8,Forma di Alola,
@ -2238,7 +2251,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10207,1,アローラのすがた, 10207,1,アローラのすがた,
10207,3,알로라의 모습, 10207,3,알로라의 모습,
10207,4,阿羅拉的樣子, 10207,4,阿羅拉的樣子,
10207,5,Forme dAlola,Taupiqueur d'Alola 10207,5,Forme d'Alola,Taupiqueur d'Alola
10207,6,Alola-Form,Alola Digda 10207,6,Alola-Form,Alola Digda
10207,7,Forma de Alola, 10207,7,Forma de Alola,
10207,8,Forma di Alola, 10207,8,Forma di Alola,
@ -2248,7 +2261,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10208,1,アローラのすがた, 10208,1,アローラのすがた,
10208,3,알로라의 모습, 10208,3,알로라의 모습,
10208,4,阿羅拉的樣子, 10208,4,阿羅拉的樣子,
10208,5,Forme dAlola,Triopikeur d'Alola 10208,5,Forme d'Alola,Triopikeur d'Alola
10208,6,Alola-Form,Alola Digdri 10208,6,Alola-Form,Alola Digdri
10208,7,Forma de Alola, 10208,7,Forma de Alola,
10208,8,Forma di Alola, 10208,8,Forma di Alola,
@ -2258,7 +2271,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10209,1,アローラのすがた, 10209,1,アローラのすがた,
10209,3,알로라의 모습, 10209,3,알로라의 모습,
10209,4,阿羅拉的樣子, 10209,4,阿羅拉的樣子,
10209,5,Forme dAlola,Miaouss d'Alola 10209,5,Forme d'Alola,Miaouss d'Alola
10209,6,Alola-Form,Alola Mauzi 10209,6,Alola-Form,Alola Mauzi
10209,7,Forma de Alola, 10209,7,Forma de Alola,
10209,8,Forma di Alola, 10209,8,Forma di Alola,
@ -2278,7 +2291,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10211,1,アローラのすがた, 10211,1,アローラのすがた,
10211,3,알로라의 모습, 10211,3,알로라의 모습,
10211,4,阿羅拉的樣子, 10211,4,阿羅拉的樣子,
10211,5,Forme dAlola,Racaillou d'Alola 10211,5,Forme d'Alola,Racaillou d'Alola
10211,6,Alola-Form,Alola Kleinstein 10211,6,Alola-Form,Alola Kleinstein
10211,7,Forma de Alola, 10211,7,Forma de Alola,
10211,8,Forma di Alola, 10211,8,Forma di Alola,
@ -2288,7 +2301,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10212,1,アローラのすがた, 10212,1,アローラのすがた,
10212,3,알로라의 모습, 10212,3,알로라의 모습,
10212,4,阿羅拉的樣子, 10212,4,阿羅拉的樣子,
10212,5,Forme dAlola,Gravalanch d'Alola 10212,5,Forme d'Alola,Gravalanch d'Alola
10212,6,Alola-Form,Alola Georok 10212,6,Alola-Form,Alola Georok
10212,7,Forma de Alola, 10212,7,Forma de Alola,
10212,8,Forma di Alola, 10212,8,Forma di Alola,
@ -2298,7 +2311,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10213,1,アローラのすがた, 10213,1,アローラのすがた,
10213,3,알로라의 모습, 10213,3,알로라의 모습,
10213,4,阿羅拉的樣子, 10213,4,阿羅拉的樣子,
10213,5,Forme dAlola,Grolem d'Alola 10213,5,Forme d'Alola,Grolem d'Alola
10213,6,Alola-Form,Alola Geowaz 10213,6,Alola-Form,Alola Geowaz
10213,7,Forma de Alola, 10213,7,Forma de Alola,
10213,8,Forma di Alola, 10213,8,Forma di Alola,
@ -2308,7 +2321,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10214,1,アローラのすがた, 10214,1,アローラのすがた,
10214,3,알로라의 모습, 10214,3,알로라의 모습,
10214,4,阿羅拉的樣子, 10214,4,阿羅拉的樣子,
10214,5,Forme dAlola,Tadmorv d'Alola 10214,5,Forme d'Alola,Tadmorv d'Alola
10214,6,Alola-Form,Alola Sleima 10214,6,Alola-Form,Alola Sleima
10214,7,Forma de Alola, 10214,7,Forma de Alola,
10214,8,Forma di Alola, 10214,8,Forma di Alola,
@ -2318,7 +2331,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10215,1,アローラのすがた, 10215,1,アローラのすがた,
10215,3,알로라의 모습, 10215,3,알로라의 모습,
10215,4,阿羅拉的樣子, 10215,4,阿羅拉的樣子,
10215,5,Forme dAlola,Grotadmorv d'Alola 10215,5,Forme d'Alola,Grotadmorv d'Alola
10215,6,Alola-Form,Alola Sleimok 10215,6,Alola-Form,Alola Sleimok
10215,7,Forma de Alola, 10215,7,Forma de Alola,
10215,8,Forma di Alola, 10215,8,Forma di Alola,
@ -2328,7 +2341,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10216,1,アローラのすがた, 10216,1,アローラのすがた,
10216,3,알로라의 모습, 10216,3,알로라의 모습,
10216,4,阿羅拉的樣子, 10216,4,阿羅拉的樣子,
10216,5,Forme dAlola,Noadkoko d'Alola 10216,5,Forme d'Alola,Noadkoko d'Alola
10216,6,Alola-Form,Alola Kokowei 10216,6,Alola-Form,Alola Kokowei
10216,7,Forma de Alola, 10216,7,Forma de Alola,
10216,8,Forma di Alola, 10216,8,Forma di Alola,
@ -2338,7 +2351,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10217,1,アローラのすがた, 10217,1,アローラのすがた,
10217,3,알로라의 모습, 10217,3,알로라의 모습,
10217,4,阿羅拉的樣子, 10217,4,阿羅拉的樣子,
10217,5,Forme dAlola,Ossatueur d'Alola 10217,5,Forme d'Alola,Ossatueur d'Alola
10217,6,Alola-Form,Alola Knogga 10217,6,Alola-Form,Alola Knogga
10217,7,Forma de Alola, 10217,7,Forma de Alola,
10217,8,Forma di Alola, 10217,8,Forma di Alola,
@ -2673,7 +2686,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10254,1,りゅうせいのすがた, 10254,1,りゅうせいのすがた,
10254,3,유성의 모습, 10254,3,유성의 모습,
10254,4,流星的樣子, 10254,4,流星的樣子,
10254,5,Forme Météore,Météno NoyeaForme Météore u Violet 10254,5,Forme Météore,Météno Forme Météore Noyeau Violet
10254,6,Meteorform,Meteno (Meteor Violet) 10254,6,Meteorform,Meteno (Meteor Violet)
10254,7,Forma Meteorito, 10254,7,Forma Meteorito,
10254,8,Forma Meteora, 10254,8,Forma Meteora,
@ -2830,7 +2843,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10315,1,あかつきのつばさ, 10315,1,あかつきのつばさ,
10315,3,새벽의 날개, 10315,3,새벽의 날개,
10315,4,拂曉之翼, 10315,4,拂曉之翼,
10315,5,Ailes de lAurore,Necrozma Ailes de lAurore 10315,5,Ailes de l'Aurore,Necrozma Ailes de lAurore
10315,6,Morgenschwingen,Necrozma (Morgenschwingen) 10315,6,Morgenschwingen,Necrozma (Morgenschwingen)
10315,7,Alas del Alba, 10315,7,Alas del Alba,
10315,8,Ali dellAurora, 10315,8,Ali dellAurora,
@ -3104,17 +3117,19 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10343,11,ローなすがた, 10343,11,ローなすがた,
10343,12,低调的样子, 10343,12,低调的样子,
10344,1,しんさくフォルム, 10344,1,しんさくフォルム,
10344,5,Forme Authentique,Théffroi Authentique
10344,6,Originalform,Fatalitee (Original) 10344,6,Originalform,Fatalitee (Original)
10344,9,Antique Form,Antique Sinistea 10344,9,Antique Form,Antique Sinistea
10344,11,しんさくフォルム, 10344,11,しんさくフォルム,
10345,1,しんさくフォルム, 10345,1,しんさくフォルム,
10345,5,Forme Authentique,Polthégeist Authentique
10345,6,Originalform,Mortipot (Original) 10345,6,Originalform,Mortipot (Original)
10345,9,Antique Form,Antique Polteageist 10345,9,Antique Form,Antique Polteageist
10345,11,しんさくフォルム, 10345,11,しんさくフォルム,
10346,1,ミルキィルビー, 10346,1,ミルキィルビー,
10346,3,밀키루비, 10346,3,밀키루비,
10346,4,奶香紅鑽, 10346,4,奶香紅鑽,
10346,5,Lait Ruby, 10346,5,Lait Ruby,Charmilly Lait Ruby
10346,6,Ruby-Creme,Pokusan (Ruby-Creme) 10346,6,Ruby-Creme,Pokusan (Ruby-Creme)
10346,7,Crema Rosa, 10346,7,Crema Rosa,
10346,8,Latterosa, 10346,8,Latterosa,
@ -3124,7 +3139,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10347,1,ミルキィまっちゃ, 10347,1,ミルキィまっちゃ,
10347,3,밀키말차, 10347,3,밀키말차,
10347,4,奶香抹茶, 10347,4,奶香抹茶,
10347,5,Lait Matcha, 10347,5,Lait Matcha,Charmilly Lait Matcha
10347,6,Matcha-Creme,Pokusan (Matcha-Creme) 10347,6,Matcha-Creme,Pokusan (Matcha-Creme)
10347,7,Crema de Té, 10347,7,Crema de Té,
10347,8,Lattematcha, 10347,8,Lattematcha,
@ -3134,7 +3149,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10348,1,ミルキィミント, 10348,1,ミルキィミント,
10348,3,밀키민트, 10348,3,밀키민트,
10348,4,奶香薄荷, 10348,4,奶香薄荷,
10348,5,Lait Menthe, 10348,5,Lait Menthe,Charmilly Lait Menthe
10348,6,Minz-Creme,Pokusan (Minz-Creme) 10348,6,Minz-Creme,Pokusan (Minz-Creme)
10348,7,Crema de Menta, 10348,7,Crema de Menta,
10348,8,Lattementa, 10348,8,Lattementa,
@ -3144,7 +3159,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10349,1,ミルキィレモン, 10349,1,ミルキィレモン,
10349,3,밀키레몬, 10349,3,밀키레몬,
10349,4,奶香檸檬, 10349,4,奶香檸檬,
10349,5,Lait Citron, 10349,5,Lait Citron,Charmilly Lait Citron
10349,6,Zitronen-Creme,Pokusan (Zitronen-Creme) 10349,6,Zitronen-Creme,Pokusan (Zitronen-Creme)
10349,7,Crema de Limón, 10349,7,Crema de Limón,
10349,8,Lattelimone, 10349,8,Lattelimone,
@ -3154,7 +3169,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10350,1,ミルキィソルト, 10350,1,ミルキィソルト,
10350,3,밀키솔트, 10350,3,밀키솔트,
10350,4,奶香雪鹽, 10350,4,奶香雪鹽,
10350,5,Lait Salé, 10350,5,Lait Salé,Charmilly Lait Salé
10350,6,Salz-Creme,Pokusan (Salz-Creme) 10350,6,Salz-Creme,Pokusan (Salz-Creme)
10350,7,Crema Salada, 10350,7,Crema Salada,
10350,8,Lattesale, 10350,8,Lattesale,
@ -3164,7 +3179,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10351,1,ルビーミックス, 10351,1,ルビーミックス,
10351,3,루비믹스, 10351,3,루비믹스,
10351,4,紅鑽綜合, 10351,4,紅鑽綜合,
10351,5,Mélange Ruby, 10351,5,Mélange Ruby,Charmilly Mélange Ruby
10351,6,Ruby-Mix,Pokusan (Ruby-Mix) 10351,6,Ruby-Mix,Pokusan (Ruby-Mix)
10351,7,Mezcla Rosa, 10351,7,Mezcla Rosa,
10351,8,Rosamix, 10351,8,Rosamix,
@ -3174,7 +3189,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10352,1,キャラメルミックス, 10352,1,キャラメルミックス,
10352,3,캐러멜믹스, 10352,3,캐러멜믹스,
10352,4,焦糖綜合, 10352,4,焦糖綜合,
10352,5,Mélange Caramel, 10352,5,Mélange Caramel,Charmilly Mélange Caramel
10352,6,Karamell-Mix,Pokusan (Karamell-Mix) 10352,6,Karamell-Mix,Pokusan (Karamell-Mix)
10352,7,Mezcla Caramelo, 10352,7,Mezcla Caramelo,
10352,8,Caramelmix, 10352,8,Caramelmix,
@ -3184,7 +3199,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10353,1,トリプルミックス, 10353,1,トリプルミックス,
10353,3,트리플믹스, 10353,3,트리플믹스,
10353,4,三色綜合, 10353,4,三色綜合,
10353,5,Mélange Tricolore, 10353,5,Mélange Tricolore,Charmilly Mélange Tricolore
10353,6,Trio-Mix,Pokusan (Trio-Mix) 10353,6,Trio-Mix,Pokusan (Trio-Mix)
10353,7,Tres Sabores, 10353,7,Tres Sabores,
10353,8,Triplomix, 10353,8,Triplomix,
@ -3214,7 +3229,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10356,1,はらぺこもよう, 10356,1,はらぺこもよう,
10356,3,배고픈 모양, 10356,3,배고픈 모양,
10356,4,空腹花紋, 10356,4,空腹花紋,
10356,5,Mode Affamé,Morpeko Mode Affamé 10356,5,Mode Affamé,Morpeko Affamé
10356,6,Kohldampfmuster,Morpeko (Kohldampf) 10356,6,Kohldampfmuster,Morpeko (Kohldampf)
10356,7,Forma Voraz, 10356,7,Forma Voraz,
10356,8,Motivo Panciavuota, 10356,8,Motivo Panciavuota,
@ -3360,7 +3375,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10386,5,Forme Gigamax,Dratatin Gigamax 10386,5,Forme Gigamax,Dratatin Gigamax
10386,6,Gigadynamax-Form,Gigadynamax-Schlapfel 10386,6,Gigadynamax-Form,Gigadynamax-Schlapfel
10386,9,Gigantamax Form,Gigantamax Appletun 10386,9,Gigantamax Form,Gigantamax Appletun
10387,5,Forme Gigamax,Dunaconda 10387,5,Forme Gigamax,Dunaconda Gigamax
10387,6,Gigadynamax-Form,Gigadynamax-Sanaconda 10387,6,Gigadynamax-Form,Gigadynamax-Sanaconda
10387,9,Gigantamax Form,Gigantamax Sandaconda 10387,9,Gigantamax Form,Gigantamax Sandaconda
10388,5,Forme Gigamax,Salarsen Forme Aigüe Gigamax 10388,5,Forme Gigamax,Salarsen Forme Aigüe Gigamax
@ -3484,7 +3499,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10415,9,Origin Forme,Origin Palkia 10415,9,Origin Forme,Origin Palkia
10415,11,オリジンフォルム, 10415,11,オリジンフォルム,
10416,1,しろすじのすがた, 10416,1,しろすじのすがた,
10416,5,Motif Blanch,Basculin Blanc 10416,5,Motif Blanc,Bargantua Blanc
10416,6,Weißlinienform,Weißliniges Barschuft 10416,6,Weißlinienform,Weißliniges Barschuft
10416,9,White-Striped Form,White-Striped Basculin 10416,9,White-Striped Form,White-Striped Basculin
10416,11,しろすじのすがた, 10416,11,しろすじのすがた,
@ -3494,80 +3509,102 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10417,9,Female,Female Basculegion 10417,9,Female,Female Basculegion
10417,11,メスのすがた, 10417,11,メスのすがた,
10418,1,れいじゅうフォルム, 10418,1,れいじゅうフォルム,
10418,5,Forme Avatar,Amovénus Avatar 10418,5,Forme Totémique,Amovénus Totémique
10418,6,Tiergeistform,Enamorus (Tiergeist) 10418,6,Tiergeistform,Enamorus (Tiergeist)
10418,9,Therian Forme,Therian Enamorus 10418,9,Therian Forme,Therian Enamorus
10418,11,れいじゅうフォルム, 10418,11,れいじゅうフォルム,
10419,1,パルデアのすがた, 10419,1,パルデアのすがた,
10419,5,Forme de Paldéa,Tauros de Paldéa Race Combative
10419,9,Paldean Form, 10419,9,Paldean Form,
10419,11,パルデアのすがた, 10419,11,パルデアのすがた,
10420,1,パルデアのすがた, 10420,1,パルデアのすがた,
10420,5,Forme de Paldéa,Tauros de Paldéa Race Flamboyante
10420,9,Paldean Form, 10420,9,Paldean Form,
10420,11,パルデアのすがた, 10420,11,パルデアのすがた,
10421,1,パルデアのすがた, 10421,1,パルデアのすがた,
10421,5,Forme de Paldéa,Tauros de Paldéa Race Aquatique
10421,9,Paldean Form, 10421,9,Paldean Form,
10421,11,パルデアのすがた, 10421,11,パルデアのすがた,
10422,1,パルデアのすがた, 10422,1,パルデアのすがた,
10422,5,Forme de Paldéa,Axoloto de Paldéa
10422,9,Paldean Form, 10422,9,Paldean Form,
10422,11,パルデアのすがた, 10422,11,パルデアのすがた,
10423,1,メスのすがた, 10423,1,メスのすがた,
10423,5,Femelle,Fragroin Femelle
10423,9,Female, 10423,9,Female,
10423,11,メスのすがた, 10423,11,メスのすがた,
10424,1,みつふしフォルム, 10424,1,みつふしフォルム,
10424,5,Forme Triple,Deusolourdo Forme Triple
10424,9,Three-Segment Form, 10424,9,Three-Segment Form,
10424,11,みつふしフォルム, 10424,11,みつふしフォルム,
10425,1,マイティフォルム, 10425,1,マイティフォルム,
10425,5,Forme Super,Superdofin Forme Super
10425,9,Hero Form, 10425,9,Hero Form,
10425,11,マイティフォルム, 10425,11,マイティフォルム,
10426,1,3びきかぞく, 10426,1,3びきかぞく,
10426,5,Famille de Trois,Famignol Famille de Trois
10426,9,Family of Three, 10426,9,Family of Three,
10426,11,3びきかぞく, 10426,11,3びきかぞく,
10427,1,たれたすがた, 10427,1,たれたすがた,
10427,5,Forme Affalée,Nigirigon Forme Affalée
10427,9,Droopy Form, 10427,9,Droopy Form,
10427,11,たれたすがた, 10427,11,たれたすがた,
10428,1,のびたすがた, 10428,1,のびたすがた,
10428,5,Forme Raide,Nigirigon Forme Raide
10428,9,Stretchy Form, 10428,9,Stretchy Form,
10428,11,のびたすがた, 10428,11,のびたすがた,
10429,1,ブルーフェザー, 10429,1,ブルーフェザー,
10429,5,Plumage Bleu,Tapatoès Plumage Bleu
10429,9,Blue Plumage, 10429,9,Blue Plumage,
10429,11,ブルーフェザー, 10429,11,ブルーフェザー,
10430,1,イエローフェザー, 10430,1,イエローフェザー,
10430,5,Plumage Jaune,Tapatoès Plumage Jaune
10430,9,Yellow Plumage, 10430,9,Yellow Plumage,
10430,11,イエローフェザー, 10430,11,イエローフェザー,
10431,1,ホワイトフェザー, 10431,1,ホワイトフェザー,
10431,5,Plumage Blanc,Tapatoès Plumage Blanc
10431,9,White Plumage, 10431,9,White Plumage,
10431,11,ホワイトフェザー, 10431,11,ホワイトフェザー,
10432,1,とほフォルム, 10432,1,とほフォルム,
10432,5,Forme Marche,Mordudor Forme Marche
10432,9,Roaming Form, 10432,9,Roaming Form,
10432,11,とほフォルム, 10432,11,とほフォルム,
10433,1,せいげんけいたい, 10433,1,せいげんけいたい,
10433,5,Forme Limitée,Koraidon Forme Limitée
10433,9,Limited Build, 10433,9,Limited Build,
10433,11,せいげんけいたい, 10433,11,せいげんけいたい,
10434,1,しっそうけいたい, 10434,1,しっそうけいたい,
10433,5,Forme de Course,Koraidon Forme de Course
10434,9,Sprinting Build, 10434,9,Sprinting Build,
10434,11,しっそうけいたい, 10434,11,しっそうけいたい,
10435,1,ゆうえいけいたい, 10435,1,ゆうえいけいたい,
10433,5,Forme de Nage,Koraidon Forme de Nage
10435,9,Swimming Build, 10435,9,Swimming Build,
10435,11,ゆうえいけいたい, 10435,11,ゆうえいけいたい,
10436,1,かっくうけいたい, 10436,1,かっくうけいたい,
10433,5,Forme de Vol,Koraidon Forme de Vol
10436,9,Gliding Build, 10436,9,Gliding Build,
10436,11,かっくうけいたい, 10436,11,かっくうけいたい,
10437,1,リミテッドモード, 10437,1,リミテッドモード,
10437,5,Mode Bridé,Miraidon Mode Bridé
10437,9,Low-Power Mode, 10437,9,Low-Power Mode,
10437,11,リミテッドモード, 10437,11,リミテッドモード,
10438,1,ドライブモード, 10438,1,ドライブモード,
10438,5,Mode Terrestre,Miraidon Mode Terrestre
10438,9,Drive Mode, 10438,9,Drive Mode,
10438,11,ドライブモード, 10438,11,ドライブモード,
10439,1,フロートモード, 10439,1,フロートモード,
10439,5,Mode Aquatique,Miraidon Mode Aquatique
10439,9,Aquatic Mode, 10439,9,Aquatic Mode,
10439,11,フロートモード, 10439,11,フロートモード,
10440,1,グライドモード, 10440,1,グライドモード,
10440,5,Mode Aérien,Miraidon Mode Aérien
10440,9,Glide Mode, 10440,9,Glide Mode,
10440,11,グライドモード, 10440,11,グライドモード,
10441,1,アカツキ, 10441,1,アカツキ,
10441,3,붉은 달, 10441,3,붉은 달,
10441,4,赫月, 10441,4,赫月,
10441,5,Lune Vermeille, 10441,5,Lune Vermeille,Ursaking Lune Vermeille
10441,6,Blutmond, 10441,6,Blutmond,
10441,7,Luna Carmesí, 10441,7,Luna Carmesí,
10441,8,Luna Cremisi, 10441,8,Luna Cremisi,
@ -3577,7 +3614,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10442,1,いどのめん, 10442,1,いどのめん,
10442,3,우물의가면, 10442,3,우물의가면,
10442,4,水井面具, 10442,4,水井面具,
10442,5,Masque du Puits, 10442,5,Masque du Puits,Ogerpon du Puits
10442,6,Brunnenmaske, 10442,6,Brunnenmaske,
10442,7,Máscara Fuente, 10442,7,Máscara Fuente,
10442,8,Maschera Pozzo, 10442,8,Maschera Pozzo,
@ -3587,7 +3624,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10443,1,かまどのめん, 10443,1,かまどのめん,
10443,3,화덕의가면, 10443,3,화덕의가면,
10443,4,火灶面具, 10443,4,火灶面具,
10443,5,Masque du Fourneau, 10443,5,Masque du Fourneau,Ogerpon du Fourneau
10443,6,Ofenmaske, 10443,6,Ofenmaske,
10443,7,Máscara Horno, 10443,7,Máscara Horno,
10443,8,Maschera Focolare, 10443,8,Maschera Focolare,
@ -3597,7 +3634,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10444,1,いしずえのめん, 10444,1,いしずえのめん,
10444,3,주춧돌의가면, 10444,3,주춧돌의가면,
10444,4,礎石面具, 10444,4,礎石面具,
10444,5,Masque de la Pierre, 10444,5,Masque de la Pierre,Ogerpon de la Pierre
10444,6,Fundamentmaske, 10444,6,Fundamentmaske,
10444,7,Máscara Cimiento, 10444,7,Máscara Cimiento,
10444,8,Maschera Fondamenta, 10444,8,Maschera Fondamenta,
@ -3605,13 +3642,14 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10444,11,いしずえのめん, 10444,11,いしずえのめん,
10444,12,礎石面具, 10444,12,礎石面具,
10445,1,テラスタルフォルム, 10445,1,テラスタルフォルム,
10445,5,Forme Téracristal, 10445,5,Forme Téracristal,Terapagos Téracristal
10445,6,Terakristall-Form, 10445,6,Terakristall-Form,
10445,7,Forma teracristal, 10445,7,Forma teracristal,
10445,8,Forma Teracristal, 10445,8,Forma Teracristal,
10445,9,Terastal Form, 10445,9,Terastal Form,
10445,11,テラスタルフォルム, 10445,11,テラスタルフォルム,
10446,1,ステラフォルム, 10446,1,ステラフォルム,
10446,5,Forme Stellaire,Terapagos Stellaire
10446,6,Stellarform, 10446,6,Stellarform,
10446,7,Forma astral, 10446,7,Forma astral,
10446,9,Stellar Form, 10446,9,Stellar Form,
@ -3619,7 +3657,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10447,1,タカイモノのすがた, 10447,1,タカイモノのすがた,
10447,3,알짜배기의 모습, 10447,3,알짜배기의 모습,
10447,4,高檔貨的樣子, 10447,4,高檔貨的樣子,
10447,5,Forme Onéreuse, 10447,5,Forme Onéreuse,Poltchageist Forme Onéreuse
10447,6,Kostbarkeitsform, 10447,6,Kostbarkeitsform,
10447,7,Forma Opulenta, 10447,7,Forma Opulenta,
10447,8,Forma Pregiata, 10447,8,Forma Pregiata,
@ -3629,7 +3667,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
10448,1,ケッサクのすがた, 10448,1,ケッサクのすがた,
10448,3,걸작의 모습, 10448,3,걸작의 모습,
10448,4,傑作的樣子, 10448,4,傑作的樣子,
10448,5,Forme Exceptionnelle, 10448,5,Forme Exceptionnelle,Théffroyable Forme Exceptionnelle
10448,6,Edle Form, 10448,6,Edle Form,
10448,7,Forma Exquisita, 10448,7,Forma Exquisita,
10448,8,Forma Eccezionale, 10448,8,Forma Eccezionale,

1 pokemon_form_id local_language_id form_name pokemon_name
9 351 1 ポワルンのすがた
10 351 3 캐스퐁의 모습
11 351 4 飄浮泡泡的樣子
12 351 5 Forme de Morphéo Morphéo
13 351 6 Formeo Formeo
14 351 7 Forma de Castform
15 351 8 Forma Castform
19 382 1 カイオーガのすがた
20 382 3 가이오가의 모습
21 382 4 蓋歐卡的樣子
22 382 5 Kyogre Kyogre
23 382 6 Kyogre Kyogre
24 382 7 Kyogre
25 382 9 Kyogre
28 383 1 グラードンのすがた
29 383 3 그란돈의 모습
30 383 4 固拉多的樣子
31 383 5 Groudon Groudon
32 383 6 Groudon Groudon
33 383 7 Groudon
34 383 9 Groudon
94 479 1 ロトムのすがた
95 479 3 로토무의 모습
96 479 4 洛托姆的樣子
97 479 5 Forme de Motisma Motisma
98 479 6 Rotom Rotom
99 479 7 Forma de Rotom
100 479 8 Forma Rotom
104 487 1 アナザーフォルム
105 487 3 어나더폼
106 487 4 別種形態
107 487 5 Forme Alternative Giratina Alternative Giratina Alternatif
108 487 6 Wandelform Giratina
109 487 7 Forma Modificada
110 487 8 Forma Alterata
194 646 1 キュレムのすがた
195 646 3 큐레무의 모습
196 646 4 酋雷姆的樣子
197 646 5 Forme de Kyurem Kyurem
198 646 6 Kyurem Kyurem
199 646 7 Forma de Kyurem
200 646 8 Forma di Kyurem
309 718 1 50%フォルム
310 718 3 50%폼
311 718 4 50%形態
312 718 5 Forme 50 % Zygarde Forme 50 %
313 718 6 50%-Form Zygarde (50%)
314 718 7 Forma 50%
315 718 8 Forma 50%
319 720 1 いましめられしフーパ
320 720 3 굴레에 빠진 후파
321 720 4 懲戒胡帕
322 720 5 Hoopa Enchaîné Hoopa Enchaîné
323 720 6 Gebanntes Hoopa Gebanntes Hoopa
324 720 7 Hoopa Contenido
325 720 8 Hoopa Vincolato
329 741 1 めらめらスタイル
330 741 3 이글이글스타일
331 741 4 熱辣熱辣風格
332 741 5 Style Flamenco Plumeline Style Flamenco
333 741 6 Flamenco-Stil Choreogel (Flamenco)
334 741 7 Estilo Apasionado
335 741 8 Stile Flamenco
339 745 1 まひるのすがた
340 745 3 한낮의 모습
341 745 4 白晝的樣子
342 745 5 Forme Diurne Lougaroc Forme Diurne
343 745 6 Tagform Wolwerock (Tag)
344 745 7 Forma Diurna
345 745 8 Forma Giorno
349 746 1 たんどくのすがた
350 746 3 단독의 모습
351 746 4 單獨的樣子
352 746 5 Forme Solitaire Froussardine Forme Solitaire
353 746 6 Einzelform Lusardin
354 746 7 Forma Individual
355 746 8 Forma Individuale
369 774 1 りゅうせいのすがた
370 774 3 유성의 모습
371 774 4 流星的樣子
372 774 5 Forme Météore Météno Forme Météore Noyeau Rouge
373 774 6 Meteorform Meteno (Meteor Rot)
374 774 7 Forma Meteorito
375 774 8 Forma Meteora
379 778 1 ばけたすがた
380 778 3 둔갑한 모습
381 778 4 化形的樣子
382 778 5 Forme Déguisée Mimiqui Déguisé
383 778 6 Verkleidete Form Mimigma (Getarnt)
384 778 7 Forma Encubierta
385 778 8 Forma Mascherata
389 849 1 ハイなすがた
390 849 3 하이한 모습
391 849 4 高調的樣子
392 849 5 Forme Aigüe Salarsen Forme Aigüe
393 849 6 Hoch-Form Riffex (Hochform)
394 849 7 Forma Aguda
395 849 8 Forma Melodia
397 849 11 ハイなすがた
398 849 12 高调的样子
399 854 1 がんさくフォルム
400 854 5 Forme Contrefaçon Théffroi Contrefaçon
401 854 6 Fälschungsform Fatalitee (Fälschung)
402 854 9 Phony Form Phony Sinistea
403 854 11 がんさくフォルム
404 855 1 がんさくフォルム
405 854 5 Forme Contrefaçon Polthégeist Contrefaçon
406 855 6 Fälschungsform Mortipot (Fälschung)
407 855 9 Phony Form Phony Polteageist
408 855 11 がんさくフォルム
409 869 1 ミルキィバニラ
410 869 3 밀키바닐라
411 869 4 奶香香草
412 869 5 Lait Vanille Charmilly Lait Vanille
413 869 6 Vanille-Creme Pokusan (Vanille-Creme)
414 869 7 Crema de Vainilla
415 869 8 Lattevaniglia
419 875 1 アイスフェイス
420 875 3 아이스페이스
421 875 4 結凍頭
422 875 5 Tête de Gel Bekaglaçon Tête de Gel
423 875 6 Tiefkühlkopf Kubuin (Tiefkühlkopf)
424 875 7 Cara de Hielo
425 875 8 Gelofaccia
429 876 1 オスのすがた
430 876 3 수컷의 모습
431 876 4 雄性的樣子
432 876 5 Mâle Wimessir Mâle
433 876 6 Männlich Servol ♂
434 876 7 Macho
435 876 8 Maschio
439 877 1 まんぷくもよう
440 877 3 배부른 모양
441 877 4 滿腹花紋
442 877 5 Mode Rassasié Morpeko Rassasié
443 877 6 Pappsattmuster Morpeko (Pappsattmuster)
444 877 7 Forma Saciada
445 877 8 Motivo Panciapiena
449 888 1 れきせんのゆうしゃ
450 888 3 역전의 용사
451 888 4 百戰勇者
452 888 5 Héros Aguerri Zacian
453 888 6 Heldenhafter Krieger Zacian
454 888 7 Guerrero Avezado
455 888 8 Eroe di Mille Lotte
459 889 1 れきせんのゆうしゃ
460 889 3 역전의 용사
461 889 4 百戰勇者
462 889 5 Héros Aguerri Zamazenta
463 889 6 Heldenhafter Krieger Zamazenta
464 889 7 Guerrero Avezado
465 889 8 Eroe di Mille Lotte
469 892 1 いちげきのかた
470 892 3 일격의 태세
471 892 4 一擊流
472 892 5 Style Poing Final Shifours Style Poing Final
473 892 6 Fokussierter Stil Wulaosu (Fokussiert)
474 892 7 Estilo Brusco
475 892 8 Stile Singolcolpo
477 892 11 いちげきのかた
478 892 12 一击流
479 902 1 オスのすがた
480 902 5 Mâle Paragruel Mâle
481 902 9 Male Male Basculegion
482 902 11 オスのすがた
483 905 1 けしんフォルム
484 905 5 Forme Avatar Amovénus Avatar
485 905 9 Incarnate Forme Incarnate Enamorus
486 905 11 けしんフォルム
487 916 1 オスのすがた
488 916 5 Mâle Fragroin Mâle
489 916 9 Male
490 916 11 オスのすがた
491 925 1 4ひきかぞく
492 925 5 Famille de Quatre Famignol Famille de Quatre
493 925 9 Family of Four
494 925 11 4ひきかぞく
495 931 1 グリーンフェザー
496 931 5 Plumage Vert Tapatoès Plumage Vert
497 931 9 Green Plumage
498 931 11 グリーンフェザー
499 964 1 ナイーブフォルム
500 964 5 Forme Ordinaire Superdofin Forme Ordinaire
501 964 9 Zero Form
502 964 11 ナイーブフォルム
503 978 1 そったすがた
504 978 5 Forme Courbée Nigirigon Forme Courbée
505 978 9 Curly Form
506 978 11 そったすがた
507 982 1 ふたふしフォルム
508 982 5 Forme Double Deusolourdo Forme Double
509 982 9 Two-Segment Form
510 982 11 ふたふしフォルム
511 999 1 はこフォルム
512 999 5 Forme Coffre Mordudor Forme Coffre
513 999 9 Chest Form
514 999 11 はこフォルム
515 1007 1 かんぜんけいたい
516 1007 5 Forme Finale Koraidon Forme Finale
517 1007 9 Apex Build
518 1007 11 かんぜんけいたい
519 1008 1 コンプリートモード
520 1008 5 Mode Ultime Miraidon Mode Ultime
521 1008 9 Ultimate Mode
522 1008 11 コンプリートモード
523 1012 1 マガイモノのすがた
524 1012 3 가짜배기의 모습
525 1012 4 冒牌貨的樣子
526 1012 5 Forme Imitation Poltchageist Forme Imitation
527 1012 6 Imitationsform
528 1012 7 Forma Fraudulenta
529 1012 8 Forma Taroccata
533 1013 1 ボンサクのすがた
534 1013 3 범작의 모습
535 1013 4 凡作的樣子
536 1013 5 Forme Médiocre Théffroyable Forme Médiocre
537 1013 6 Simple Form
538 1013 7 Forma Mediocre
539 1013 8 Forma Dozzinale
543 1017 1 みどりのめん
544 1017 3 벽록의가면
545 1017 4 碧草面具
546 1017 5 Masque Turquoise Ogerpon Turquoise
547 1017 6 Türkisgrüne Maske
548 1017 7 Máscara Turquesa
549 1017 8 Maschera Turchese
551 1017 11 みどりのめん
552 1017 12 碧草面具
553 1024 1 ノーマルフォルム
554 1024 5 Forme Normale Terapagos Forme Normale
555 1024 7 Forma normal
556 1024 8 Forma Normale
557 1024 9 Normal Form
2118 10193 1 アローラのすがた
2119 10193 3 알로라의 모습
2120 10193 4 阿羅拉的樣子
2121 10193 5 Forme d’Alola Forme d'Alola Rattata d'Alola
2122 10193 6 Alola-Form Alola Rattfratz
2123 10193 7 Forma de Alola
2124 10193 8 Forma di Alola
2128 10194 1 アローラのすがた
2129 10194 3 알로라의 모습
2130 10194 4 阿羅拉的樣子
2131 10194 5 Forme d’Alola Forme d'Alola Rattatac d'Alola
2132 10194 6 Alola-Form Alola Rattikarl
2133 10194 7 Forma de Alola
2134 10194 8 Forma di Alola
2171 10199 1 イッシュキャップ
2172 10199 3 하나캡
2173 10199 4 合眾帽子
2174 10199 5 Casquette d’Unys Casquette d'Unys Pikachu Casquette d’Unys
2175 10199 6 Einall-Kappe Pikachu (Einall-Kappe)
2176 10199 7 Gorra Teselia
2177 10199 8 Berretto Unima
2191 10201 1 アローラキャップ
2192 10201 3 알로라캡
2193 10201 4 阿羅拉帽子
2194 10201 5 Casquette d’Alola Casquette d'Alola Pikachu Casquette d’Alola
2195 10201 6 Alola-Kappe Pikachu (Alola-Kappe)
2196 10201 7 Gorra Alola
2197 10201 8 Berretto Alola
2201 10202 1 アローラのすがた
2202 10202 3 알로라의 모습
2203 10202 4 阿羅拉的樣子
2204 10202 5 Forme d’Alola Forme d'Alola Raichu d'Alola
2205 10202 6 Alola-Form Alola Raichu
2206 10202 7 Forma de Alola
2207 10202 8 Forma di Alola
2211 10203 1 アローラのすがた
2212 10203 3 알로라의 모습
2213 10203 4 阿羅拉的樣子
2214 10203 5 Forme d’Alola Forme d'Alola Sabelette d'Alola
2215 10203 6 Alola-Form Alola Sandan
2216 10203 7 Forma de Alola
2217 10203 8 Forma di Alola
2221 10204 1 アローラのすがた
2222 10204 3 알로라의 모습
2223 10204 4 阿羅拉的樣子
2224 10204 5 Forme d’Alola Forme d'Alola Sablaireau d'Alola
2225 10204 6 Alola-Form Alola Sandamer
2226 10204 7 Forma de Alola
2227 10204 8 Forma di Alola
2231 10205 1 アローラのすがた
2232 10205 3 알로라의 모습
2233 10205 4 阿羅拉的樣子
2234 10205 5 Forme d’Alola Forme d'Alola Goupix d'Alola
2235 10205 6 Alola-Form Alola Vulpix
2236 10205 7 Forma de Alola
2237 10205 8 Forma di Alola
2241 10206 1 アローラのすがた
2242 10206 3 알로라의 모습
2243 10206 4 阿羅拉的樣子
2244 10206 5 Forme d’Alola Forme d'Alola Feunard d'Alola
2245 10206 6 Alola-Form Alola Vulnona
2246 10206 7 Forma de Alola
2247 10206 8 Forma di Alola
2251 10207 1 アローラのすがた
2252 10207 3 알로라의 모습
2253 10207 4 阿羅拉的樣子
2254 10207 5 Forme d’Alola Forme d'Alola Taupiqueur d'Alola
2255 10207 6 Alola-Form Alola Digda
2256 10207 7 Forma de Alola
2257 10207 8 Forma di Alola
2261 10208 1 アローラのすがた
2262 10208 3 알로라의 모습
2263 10208 4 阿羅拉的樣子
2264 10208 5 Forme d’Alola Forme d'Alola Triopikeur d'Alola
2265 10208 6 Alola-Form Alola Digdri
2266 10208 7 Forma de Alola
2267 10208 8 Forma di Alola
2271 10209 1 アローラのすがた
2272 10209 3 알로라의 모습
2273 10209 4 阿羅拉的樣子
2274 10209 5 Forme d’Alola Forme d'Alola Miaouss d'Alola
2275 10209 6 Alola-Form Alola Mauzi
2276 10209 7 Forma de Alola
2277 10209 8 Forma di Alola
2291 10211 1 アローラのすがた
2292 10211 3 알로라의 모습
2293 10211 4 阿羅拉的樣子
2294 10211 5 Forme d’Alola Forme d'Alola Racaillou d'Alola
2295 10211 6 Alola-Form Alola Kleinstein
2296 10211 7 Forma de Alola
2297 10211 8 Forma di Alola
2301 10212 1 アローラのすがた
2302 10212 3 알로라의 모습
2303 10212 4 阿羅拉的樣子
2304 10212 5 Forme d’Alola Forme d'Alola Gravalanch d'Alola
2305 10212 6 Alola-Form Alola Georok
2306 10212 7 Forma de Alola
2307 10212 8 Forma di Alola
2311 10213 1 アローラのすがた
2312 10213 3 알로라의 모습
2313 10213 4 阿羅拉的樣子
2314 10213 5 Forme d’Alola Forme d'Alola Grolem d'Alola
2315 10213 6 Alola-Form Alola Geowaz
2316 10213 7 Forma de Alola
2317 10213 8 Forma di Alola
2321 10214 1 アローラのすがた
2322 10214 3 알로라의 모습
2323 10214 4 阿羅拉的樣子
2324 10214 5 Forme d’Alola Forme d'Alola Tadmorv d'Alola
2325 10214 6 Alola-Form Alola Sleima
2326 10214 7 Forma de Alola
2327 10214 8 Forma di Alola
2331 10215 1 アローラのすがた
2332 10215 3 알로라의 모습
2333 10215 4 阿羅拉的樣子
2334 10215 5 Forme d’Alola Forme d'Alola Grotadmorv d'Alola
2335 10215 6 Alola-Form Alola Sleimok
2336 10215 7 Forma de Alola
2337 10215 8 Forma di Alola
2341 10216 1 アローラのすがた
2342 10216 3 알로라의 모습
2343 10216 4 阿羅拉的樣子
2344 10216 5 Forme d’Alola Forme d'Alola Noadkoko d'Alola
2345 10216 6 Alola-Form Alola Kokowei
2346 10216 7 Forma de Alola
2347 10216 8 Forma di Alola
2351 10217 1 アローラのすがた
2352 10217 3 알로라의 모습
2353 10217 4 阿羅拉的樣子
2354 10217 5 Forme d’Alola Forme d'Alola Ossatueur d'Alola
2355 10217 6 Alola-Form Alola Knogga
2356 10217 7 Forma de Alola
2357 10217 8 Forma di Alola
2686 10254 1 りゅうせいのすがた
2687 10254 3 유성의 모습
2688 10254 4 流星的樣子
2689 10254 5 Forme Météore Météno NoyeaForme Météore u Violet Météno Forme Météore Noyeau Violet
2690 10254 6 Meteorform Meteno (Meteor Violet)
2691 10254 7 Forma Meteorito
2692 10254 8 Forma Meteora
2843 10315 1 あかつきのつばさ
2844 10315 3 새벽의 날개
2845 10315 4 拂曉之翼
2846 10315 5 Ailes de l’Aurore Ailes de l'Aurore Necrozma Ailes de l’Aurore
2847 10315 6 Morgenschwingen Necrozma (Morgenschwingen)
2848 10315 7 Alas del Alba
2849 10315 8 Ali dell’Aurora
3117 10343 11 ローなすがた
3118 10343 12 低调的样子
3119 10344 1 しんさくフォルム
3120 10344 5 Forme Authentique Théffroi Authentique
3121 10344 6 Originalform Fatalitee (Original)
3122 10344 9 Antique Form Antique Sinistea
3123 10344 11 しんさくフォルム
3124 10345 1 しんさくフォルム
3125 10345 5 Forme Authentique Polthégeist Authentique
3126 10345 6 Originalform Mortipot (Original)
3127 10345 9 Antique Form Antique Polteageist
3128 10345 11 しんさくフォルム
3129 10346 1 ミルキィルビー
3130 10346 3 밀키루비
3131 10346 4 奶香紅鑽
3132 10346 5 Lait Ruby Charmilly Lait Ruby
3133 10346 6 Ruby-Creme Pokusan (Ruby-Creme)
3134 10346 7 Crema Rosa
3135 10346 8 Latterosa
3139 10347 1 ミルキィまっちゃ
3140 10347 3 밀키말차
3141 10347 4 奶香抹茶
3142 10347 5 Lait Matcha Charmilly Lait Matcha
3143 10347 6 Matcha-Creme Pokusan (Matcha-Creme)
3144 10347 7 Crema de Té
3145 10347 8 Lattematcha
3149 10348 1 ミルキィミント
3150 10348 3 밀키민트
3151 10348 4 奶香薄荷
3152 10348 5 Lait Menthe Charmilly Lait Menthe
3153 10348 6 Minz-Creme Pokusan (Minz-Creme)
3154 10348 7 Crema de Menta
3155 10348 8 Lattementa
3159 10349 1 ミルキィレモン
3160 10349 3 밀키레몬
3161 10349 4 奶香檸檬
3162 10349 5 Lait Citron Charmilly Lait Citron
3163 10349 6 Zitronen-Creme Pokusan (Zitronen-Creme)
3164 10349 7 Crema de Limón
3165 10349 8 Lattelimone
3169 10350 1 ミルキィソルト
3170 10350 3 밀키솔트
3171 10350 4 奶香雪鹽
3172 10350 5 Lait Salé Charmilly Lait Salé
3173 10350 6 Salz-Creme Pokusan (Salz-Creme)
3174 10350 7 Crema Salada
3175 10350 8 Lattesale
3179 10351 1 ルビーミックス
3180 10351 3 루비믹스
3181 10351 4 紅鑽綜合
3182 10351 5 Mélange Ruby Charmilly Mélange Ruby
3183 10351 6 Ruby-Mix Pokusan (Ruby-Mix)
3184 10351 7 Mezcla Rosa
3185 10351 8 Rosamix
3189 10352 1 キャラメルミックス
3190 10352 3 캐러멜믹스
3191 10352 4 焦糖綜合
3192 10352 5 Mélange Caramel Charmilly Mélange Caramel
3193 10352 6 Karamell-Mix Pokusan (Karamell-Mix)
3194 10352 7 Mezcla Caramelo
3195 10352 8 Caramelmix
3199 10353 1 トリプルミックス
3200 10353 3 트리플믹스
3201 10353 4 三色綜合
3202 10353 5 Mélange Tricolore Charmilly Mélange Tricolore
3203 10353 6 Trio-Mix Pokusan (Trio-Mix)
3204 10353 7 Tres Sabores
3205 10353 8 Triplomix
3229 10356 1 はらぺこもよう
3230 10356 3 배고픈 모양
3231 10356 4 空腹花紋
3232 10356 5 Mode Affamé Morpeko Mode Affamé Morpeko Affamé
3233 10356 6 Kohldampfmuster Morpeko (Kohldampf)
3234 10356 7 Forma Voraz
3235 10356 8 Motivo Panciavuota
3375 10386 5 Forme Gigamax Dratatin Gigamax
3376 10386 6 Gigadynamax-Form Gigadynamax-Schlapfel
3377 10386 9 Gigantamax Form Gigantamax Appletun
3378 10387 5 Forme Gigamax Dunaconda Dunaconda Gigamax
3379 10387 6 Gigadynamax-Form Gigadynamax-Sanaconda
3380 10387 9 Gigantamax Form Gigantamax Sandaconda
3381 10388 5 Forme Gigamax Salarsen Forme Aigüe Gigamax
3499 10415 9 Origin Forme Origin Palkia
3500 10415 11 オリジンフォルム
3501 10416 1 しろすじのすがた
3502 10416 5 Motif Blanch Motif Blanc Basculin Blanc Bargantua Blanc
3503 10416 6 Weißlinienform Weißliniges Barschuft
3504 10416 9 White-Striped Form White-Striped Basculin
3505 10416 11 しろすじのすがた
3509 10417 9 Female Female Basculegion
3510 10417 11 メスのすがた
3511 10418 1 れいじゅうフォルム
3512 10418 5 Forme Avatar Forme Totémique Amovénus Avatar Amovénus Totémique
3513 10418 6 Tiergeistform Enamorus (Tiergeist)
3514 10418 9 Therian Forme Therian Enamorus
3515 10418 11 れいじゅうフォルム
3516 10419 1 パルデアのすがた
3517 10419 5 Forme de Paldéa Tauros de Paldéa Race Combative
3518 10419 9 Paldean Form
3519 10419 11 パルデアのすがた
3520 10420 1 パルデアのすがた
3521 10420 5 Forme de Paldéa Tauros de Paldéa Race Flamboyante
3522 10420 9 Paldean Form
3523 10420 11 パルデアのすがた
3524 10421 1 パルデアのすがた
3525 10421 5 Forme de Paldéa Tauros de Paldéa Race Aquatique
3526 10421 9 Paldean Form
3527 10421 11 パルデアのすがた
3528 10422 1 パルデアのすがた
3529 10422 5 Forme de Paldéa Axoloto de Paldéa
3530 10422 9 Paldean Form
3531 10422 11 パルデアのすがた
3532 10423 1 メスのすがた
3533 10423 5 Femelle Fragroin Femelle
3534 10423 9 Female
3535 10423 11 メスのすがた
3536 10424 1 みつふしフォルム
3537 10424 5 Forme Triple Deusolourdo Forme Triple
3538 10424 9 Three-Segment Form
3539 10424 11 みつふしフォルム
3540 10425 1 マイティフォルム
3541 10425 5 Forme Super Superdofin Forme Super
3542 10425 9 Hero Form
3543 10425 11 マイティフォルム
3544 10426 1 3びきかぞく
3545 10426 5 Famille de Trois Famignol Famille de Trois
3546 10426 9 Family of Three
3547 10426 11 3びきかぞく
3548 10427 1 たれたすがた
3549 10427 5 Forme Affalée Nigirigon Forme Affalée
3550 10427 9 Droopy Form
3551 10427 11 たれたすがた
3552 10428 1 のびたすがた
3553 10428 5 Forme Raide Nigirigon Forme Raide
3554 10428 9 Stretchy Form
3555 10428 11 のびたすがた
3556 10429 1 ブルーフェザー
3557 10429 5 Plumage Bleu Tapatoès Plumage Bleu
3558 10429 9 Blue Plumage
3559 10429 11 ブルーフェザー
3560 10430 1 イエローフェザー
3561 10430 5 Plumage Jaune Tapatoès Plumage Jaune
3562 10430 9 Yellow Plumage
3563 10430 11 イエローフェザー
3564 10431 1 ホワイトフェザー
3565 10431 5 Plumage Blanc Tapatoès Plumage Blanc
3566 10431 9 White Plumage
3567 10431 11 ホワイトフェザー
3568 10432 1 とほフォルム
3569 10432 5 Forme Marche Mordudor Forme Marche
3570 10432 9 Roaming Form
3571 10432 11 とほフォルム
3572 10433 1 せいげんけいたい
3573 10433 5 Forme Limitée Koraidon Forme Limitée
3574 10433 9 Limited Build
3575 10433 11 せいげんけいたい
3576 10434 1 しっそうけいたい
3577 10433 5 Forme de Course Koraidon Forme de Course
3578 10434 9 Sprinting Build
3579 10434 11 しっそうけいたい
3580 10435 1 ゆうえいけいたい
3581 10433 5 Forme de Nage Koraidon Forme de Nage
3582 10435 9 Swimming Build
3583 10435 11 ゆうえいけいたい
3584 10436 1 かっくうけいたい
3585 10433 5 Forme de Vol Koraidon Forme de Vol
3586 10436 9 Gliding Build
3587 10436 11 かっくうけいたい
3588 10437 1 リミテッドモード
3589 10437 5 Mode Bridé Miraidon Mode Bridé
3590 10437 9 Low-Power Mode
3591 10437 11 リミテッドモード
3592 10438 1 ドライブモード
3593 10438 5 Mode Terrestre Miraidon Mode Terrestre
3594 10438 9 Drive Mode
3595 10438 11 ドライブモード
3596 10439 1 フロートモード
3597 10439 5 Mode Aquatique Miraidon Mode Aquatique
3598 10439 9 Aquatic Mode
3599 10439 11 フロートモード
3600 10440 1 グライドモード
3601 10440 5 Mode Aérien Miraidon Mode Aérien
3602 10440 9 Glide Mode
3603 10440 11 グライドモード
3604 10441 1 アカツキ
3605 10441 3 붉은 달
3606 10441 4 赫月
3607 10441 5 Lune Vermeille Ursaking Lune Vermeille
3608 10441 6 Blutmond
3609 10441 7 Luna Carmesí
3610 10441 8 Luna Cremisi
3614 10442 1 いどのめん
3615 10442 3 우물의가면
3616 10442 4 水井面具
3617 10442 5 Masque du Puits Ogerpon du Puits
3618 10442 6 Brunnenmaske
3619 10442 7 Máscara Fuente
3620 10442 8 Maschera Pozzo
3624 10443 1 かまどのめん
3625 10443 3 화덕의가면
3626 10443 4 火灶面具
3627 10443 5 Masque du Fourneau Ogerpon du Fourneau
3628 10443 6 Ofenmaske
3629 10443 7 Máscara Horno
3630 10443 8 Maschera Focolare
3634 10444 1 いしずえのめん
3635 10444 3 주춧돌의가면
3636 10444 4 礎石面具
3637 10444 5 Masque de la Pierre Ogerpon de la Pierre
3638 10444 6 Fundamentmaske
3639 10444 7 Máscara Cimiento
3640 10444 8 Maschera Fondamenta
3642 10444 11 いしずえのめん
3643 10444 12 礎石面具
3644 10445 1 テラスタルフォルム
3645 10445 5 Forme Téracristal Terapagos Téracristal
3646 10445 6 Terakristall-Form
3647 10445 7 Forma teracristal
3648 10445 8 Forma Teracristal
3649 10445 9 Terastal Form
3650 10445 11 テラスタルフォルム
3651 10446 1 ステラフォルム
3652 10446 5 Forme Stellaire Terapagos Stellaire
3653 10446 6 Stellarform
3654 10446 7 Forma astral
3655 10446 9 Stellar Form
3657 10447 1 タカイモノのすがた
3658 10447 3 알짜배기의 모습
3659 10447 4 高檔貨的樣子
3660 10447 5 Forme Onéreuse Poltchageist Forme Onéreuse
3661 10447 6 Kostbarkeitsform
3662 10447 7 Forma Opulenta
3663 10447 8 Forma Pregiata
3667 10448 1 ケッサクのすがた
3668 10448 3 걸작의 모습
3669 10448 4 傑作的樣子
3670 10448 5 Forme Exceptionnelle Théffroyable Forme Exceptionnelle
3671 10448 6 Edle Form
3672 10448 7 Forma Exquisita
3673 10448 8 Forma Eccezionale

View file

@ -1218,7 +1218,7 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
10192,beedrill-mega,mega,10090,16,1,1,1,2,20 10192,beedrill-mega,mega,10090,16,1,1,1,2,20
10193,rattata-alola,alola,10091,17,1,0,0,2,26 10193,rattata-alola,alola,10091,17,1,0,0,2,26
10194,raticate-alola,alola,10092,17,1,0,0,2,28 10194,raticate-alola,alola,10092,17,1,0,0,2,28
10195,raticate-totem-alola,totem-alola,10093,17,1,1,0,3,29 10195,raticate-totem-alola,totem-alola,10093,17,1,0,0,3,29
10196,pikachu-original-cap,original-cap,10094,17,1,0,0,8,43 10196,pikachu-original-cap,original-cap,10094,17,1,0,0,8,43
10197,pikachu-hoenn-cap,hoenn-cap,10095,17,1,0,0,9,44 10197,pikachu-hoenn-cap,hoenn-cap,10095,17,1,0,0,9,44
10198,pikachu-sinnoh-cap,sinnoh-cap,10096,17,1,0,0,10,45 10198,pikachu-sinnoh-cap,sinnoh-cap,10096,17,1,0,0,10,45
@ -1245,16 +1245,16 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
10219,greninja-ash,ash,10117,17,1,1,0,3,853 10219,greninja-ash,ash,10117,17,1,1,0,3,853
10220,zygarde-10-power-construct,10-power-construct,10118,17,1,0,0,3,1002 10220,zygarde-10-power-construct,10-power-construct,10118,17,1,0,0,3,1002
10221,zygarde-50-power-construct,50-power-construct,10119,17,1,0,0,4,1003 10221,zygarde-50-power-construct,50-power-construct,10119,17,1,0,0,4,1003
10222,zygarde-complete,complete,10120,17,1,0,0,5,1004 10222,zygarde-complete,complete,10120,17,1,1,0,5,1004
10223,gumshoos-totem,totem,10121,17,1,1,0,2,1024 10223,gumshoos-totem,totem,10121,17,1,0,0,2,1024
10224,vikavolt-totem,totem,10122,17,1,1,0,2,1028 10224,vikavolt-totem,totem,10122,17,1,0,0,2,1028
10225,oricorio-pom-pom,pom-pom,10123,17,1,0,0,2,1032 10225,oricorio-pom-pom,pom-pom,10123,17,1,0,0,2,1032
10226,oricorio-pau,pau,10124,17,1,0,0,3,1033 10226,oricorio-pau,pau,10124,17,1,0,0,3,1033
10227,oricorio-sensu,sensu,10125,17,1,0,0,4,1034 10227,oricorio-sensu,sensu,10125,17,1,0,0,4,1034
10228,lycanroc-midnight,midnight,10126,17,1,0,0,2,1041 10228,lycanroc-midnight,midnight,10126,17,1,0,0,2,1041
10229,wishiwashi-school,school,10127,17,1,1,0,2,1044 10229,wishiwashi-school,school,10127,17,1,1,0,2,1044
10230,lurantis-totem,totem,10128,17,1,1,0,2,1054 10230,lurantis-totem,totem,10128,17,1,0,0,2,1054
10231,salazzle-totem,totem,10129,17,1,1,0,2,1059 10231,salazzle-totem,totem,10129,17,1,0,0,2,1059
10232,silvally-fighting,fighting,773,17,0,0,0,2,1075 10232,silvally-fighting,fighting,773,17,0,0,0,2,1075
10233,silvally-flying,flying,773,17,0,0,0,3,1076 10233,silvally-flying,flying,773,17,0,0,0,3,1076
10234,silvally-poison,poison,773,17,0,0,0,4,1077 10234,silvally-poison,poison,773,17,0,0,0,4,1077
@ -1286,9 +1286,9 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
10260,minior-indigo,indigo,10141,17,1,0,0,13,1104 10260,minior-indigo,indigo,10141,17,1,0,0,13,1104
10261,minior-violet,violet,10142,17,1,0,0,14,1105 10261,minior-violet,violet,10142,17,1,0,0,14,1105
10262,mimikyu-busted,busted,10143,17,1,1,0,2,1111 10262,mimikyu-busted,busted,10143,17,1,1,0,2,1111
10263,mimikyu-totem-disguised,totem-disguised,10144,17,1,1,0,3,1112 10263,mimikyu-totem-disguised,totem-disguised,10144,17,1,0,0,3,1112
10264,mimikyu-totem-busted,totem-busted,10145,17,1,1,0,4,1113 10264,mimikyu-totem-busted,totem-busted,10145,17,1,1,0,4,1113
10265,kommo-o-totem,totem,10146,17,1,1,0,2,1120 10265,kommo-o-totem,totem,10146,17,1,0,0,2,1120
10266,magearna-original,original,10147,17,1,0,0,2,1141 10266,magearna-original,original,10147,17,1,0,0,2,1141
10267,pikachu-partner-cap,partner-cap,10148,18,1,0,0,14,49 10267,pikachu-partner-cap,partner-cap,10148,18,1,0,0,14,49
10268,marowak-totem,totem,10149,18,1,0,0,3,167 10268,marowak-totem,totem,10149,18,1,0,0,3,167
@ -1360,12 +1360,12 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
10334,linoone-galar,galar,10175,20,1,0,0,2,392 10334,linoone-galar,galar,10175,20,1,0,0,2,392
10335,darumaka-galar,galar,10176,20,1,0,0,2,725 10335,darumaka-galar,galar,10176,20,1,0,0,2,725
10336,darmanitan-galar-standard,galar-standard,10177,20,1,0,0,3,728 10336,darmanitan-galar-standard,galar-standard,10177,20,1,0,0,3,728
10337,darmanitan-galar-zen,galar-zen,10178,20,1,0,0,4,729 10337,darmanitan-galar-zen,galar-zen,10178,20,1,1,0,4,729
10338,yamask-galar,galar,10179,20,1,0,0,2,737 10338,yamask-galar,galar,10179,20,1,0,0,2,737
10339,stunfisk-galar,galar,10180,20,1,0,0,2,800 10339,stunfisk-galar,galar,10180,20,1,0,0,2,800
10340,zygarde-10,10,10181,17,1,0,0,2,1001 10340,zygarde-10,10,10181,17,1,0,0,2,1001
10341,cramorant-gulping,gulping,10182,20,1,0,0,2,1186 10341,cramorant-gulping,gulping,10182,20,1,1,0,2,1186
10342,cramorant-gorging,gorging,10183,20,1,0,0,3,1187 10342,cramorant-gorging,gorging,10183,20,1,1,0,3,1187
10343,toxtricity-low-key,low-key,10184,20,1,0,0,2,1192 10343,toxtricity-low-key,low-key,10184,20,1,0,0,2,1192
10344,sinistea-antique,antique,854,20,0,0,0,2,1198 10344,sinistea-antique,antique,854,20,0,0,0,2,1198
10345,polteageist-antique,antique,855,20,0,0,0,2,1200 10345,polteageist-antique,antique,855,20,0,0,0,2,1200
@ -1377,11 +1377,11 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
10351,alcremie-ruby-swirl,ruby-swirl,869,20,0,0,0,7,1220 10351,alcremie-ruby-swirl,ruby-swirl,869,20,0,0,0,7,1220
10352,alcremie-caramel-swirl,caramel-swirl,869,20,0,0,0,8,1221 10352,alcremie-caramel-swirl,caramel-swirl,869,20,0,0,0,8,1221
10353,alcremie-rainbow-swirl,rainbow-swirl,869,20,0,0,0,9,1222 10353,alcremie-rainbow-swirl,rainbow-swirl,869,20,0,0,0,9,1222
10354,eiscue-noice,noice,10185,20,1,0,0,2,1229 10354,eiscue-noice,noice,10185,20,1,1,0,2,1229
10355,indeedee-female,female,10186,20,1,0,0,2,1231 10355,indeedee-female,female,10186,20,1,0,0,2,1231
10356,morpeko-hangry,hangry,10187,20,1,0,0,2,1233 10356,morpeko-hangry,hangry,10187,20,1,1,0,2,1233
10357,zacian-crowned,crowned,10188,20,1,0,0,2,1245 10357,zacian-crowned,crowned,10188,20,1,1,0,2,1245
10358,zamazenta-crowned,crowned,10189,20,1,0,0,2,1247 10358,zamazenta-crowned,crowned,10189,20,1,1,0,2,1247
10359,eternatus-eternamax,eternamax,10190,20,1,0,0,2,1249 10359,eternatus-eternamax,eternamax,10190,20,1,0,0,2,1249
10360,urshifu-rapid-strike,rapid-strike,10191,20,1,0,0,2,1252 10360,urshifu-rapid-strike,rapid-strike,10191,20,1,0,0,2,1252
10361,zarude-dada,dada,10192,20,1,0,0,2,1254 10361,zarude-dada,dada,10192,20,1,0,0,2,1254

1 id identifier form_identifier pokemon_id introduced_in_version_group_id is_default is_battle_only is_mega form_order order
1218 10192 beedrill-mega mega 10090 16 1 1 1 2 20
1219 10193 rattata-alola alola 10091 17 1 0 0 2 26
1220 10194 raticate-alola alola 10092 17 1 0 0 2 28
1221 10195 raticate-totem-alola totem-alola 10093 17 1 1 0 0 3 29
1222 10196 pikachu-original-cap original-cap 10094 17 1 0 0 8 43
1223 10197 pikachu-hoenn-cap hoenn-cap 10095 17 1 0 0 9 44
1224 10198 pikachu-sinnoh-cap sinnoh-cap 10096 17 1 0 0 10 45
1245 10219 greninja-ash ash 10117 17 1 1 0 3 853
1246 10220 zygarde-10-power-construct 10-power-construct 10118 17 1 0 0 3 1002
1247 10221 zygarde-50-power-construct 50-power-construct 10119 17 1 0 0 4 1003
1248 10222 zygarde-complete complete 10120 17 1 0 1 0 5 1004
1249 10223 gumshoos-totem totem 10121 17 1 1 0 0 2 1024
1250 10224 vikavolt-totem totem 10122 17 1 1 0 0 2 1028
1251 10225 oricorio-pom-pom pom-pom 10123 17 1 0 0 2 1032
1252 10226 oricorio-pau pau 10124 17 1 0 0 3 1033
1253 10227 oricorio-sensu sensu 10125 17 1 0 0 4 1034
1254 10228 lycanroc-midnight midnight 10126 17 1 0 0 2 1041
1255 10229 wishiwashi-school school 10127 17 1 1 0 2 1044
1256 10230 lurantis-totem totem 10128 17 1 1 0 0 2 1054
1257 10231 salazzle-totem totem 10129 17 1 1 0 0 2 1059
1258 10232 silvally-fighting fighting 773 17 0 0 0 2 1075
1259 10233 silvally-flying flying 773 17 0 0 0 3 1076
1260 10234 silvally-poison poison 773 17 0 0 0 4 1077
1286 10260 minior-indigo indigo 10141 17 1 0 0 13 1104
1287 10261 minior-violet violet 10142 17 1 0 0 14 1105
1288 10262 mimikyu-busted busted 10143 17 1 1 0 2 1111
1289 10263 mimikyu-totem-disguised totem-disguised 10144 17 1 1 0 0 3 1112
1290 10264 mimikyu-totem-busted totem-busted 10145 17 1 1 0 4 1113
1291 10265 kommo-o-totem totem 10146 17 1 1 0 0 2 1120
1292 10266 magearna-original original 10147 17 1 0 0 2 1141
1293 10267 pikachu-partner-cap partner-cap 10148 18 1 0 0 14 49
1294 10268 marowak-totem totem 10149 18 1 0 0 3 167
1360 10334 linoone-galar galar 10175 20 1 0 0 2 392
1361 10335 darumaka-galar galar 10176 20 1 0 0 2 725
1362 10336 darmanitan-galar-standard galar-standard 10177 20 1 0 0 3 728
1363 10337 darmanitan-galar-zen galar-zen 10178 20 1 0 1 0 4 729
1364 10338 yamask-galar galar 10179 20 1 0 0 2 737
1365 10339 stunfisk-galar galar 10180 20 1 0 0 2 800
1366 10340 zygarde-10 10 10181 17 1 0 0 2 1001
1367 10341 cramorant-gulping gulping 10182 20 1 0 1 0 2 1186
1368 10342 cramorant-gorging gorging 10183 20 1 0 1 0 3 1187
1369 10343 toxtricity-low-key low-key 10184 20 1 0 0 2 1192
1370 10344 sinistea-antique antique 854 20 0 0 0 2 1198
1371 10345 polteageist-antique antique 855 20 0 0 0 2 1200
1377 10351 alcremie-ruby-swirl ruby-swirl 869 20 0 0 0 7 1220
1378 10352 alcremie-caramel-swirl caramel-swirl 869 20 0 0 0 8 1221
1379 10353 alcremie-rainbow-swirl rainbow-swirl 869 20 0 0 0 9 1222
1380 10354 eiscue-noice noice 10185 20 1 0 1 0 2 1229
1381 10355 indeedee-female female 10186 20 1 0 0 2 1231
1382 10356 morpeko-hangry hangry 10187 20 1 0 1 0 2 1233
1383 10357 zacian-crowned crowned 10188 20 1 0 1 0 2 1245
1384 10358 zamazenta-crowned crowned 10189 20 1 0 1 0 2 1247
1385 10359 eternatus-eternamax eternamax 10190 20 1 0 0 2 1249
1386 10360 urshifu-rapid-strike rapid-strike 10191 20 1 0 0 2 1252
1387 10361 zarude-dada dada 10192 20 1 0 0 2 1254

View file

@ -131,7 +131,7 @@ id,identifier,generation_id,evolves_from_species_id,evolution_chain_id,color_id,
130,gyarados,1,129,64,2,2,9,4,45,50,0,5,1,1,1,0,0,154,14 130,gyarados,1,129,64,2,2,9,4,45,50,0,5,1,1,1,0,0,154,14
131,lapras,1,,65,2,3,7,4,45,50,0,40,0,1,0,0,0,155,190 131,lapras,1,,65,2,3,7,4,45,50,0,40,0,1,0,0,0,155,190
132,ditto,1,,66,7,1,8,-1,35,50,0,20,0,2,0,0,0,156, 132,ditto,1,,66,7,1,8,-1,35,50,0,20,0,2,0,0,0,156,
133,eevee,1,,67,3,8,8,1,45,50,0,35,0,2,0,0,0,157,1 133,eevee,1,,67,3,8,8,1,45,50,0,35,1,2,0,0,0,157,1
134,vaporeon,1,133,67,2,8,8,1,45,50,0,35,0,2,0,0,0,158,2 134,vaporeon,1,133,67,2,8,8,1,45,50,0,35,0,2,0,0,0,158,2
135,jolteon,1,133,67,10,8,8,1,45,50,0,35,0,2,0,0,0,159,3 135,jolteon,1,133,67,10,8,8,1,45,50,0,35,0,2,0,0,0,159,3
136,flareon,1,133,67,8,8,8,1,45,50,0,35,0,2,0,0,0,160,4 136,flareon,1,133,67,8,8,8,1,45,50,0,35,0,2,0,0,0,160,4
@ -874,7 +874,7 @@ id,identifier,generation_id,evolves_from_species_id,evolution_chain_id,color_id,
873,frosmoth,8,872,455,9,13,,4,75,50,0,20,0,2,0,0,0,873, 873,frosmoth,8,872,455,9,13,,4,75,50,0,20,0,2,0,0,0,873,
874,stonjourner,8,,456,4,7,,4,60,50,0,25,0,1,0,0,0,874, 874,stonjourner,8,,456,4,7,,4,60,50,0,25,0,1,0,0,0,874,
875,eiscue,8,,457,2,6,,4,60,50,0,25,0,1,0,0,0,875, 875,eiscue,8,,457,2,6,,4,60,50,0,25,0,1,0,0,0,875,
876,indeedee,8,,458,7,6,,4,30,140,0,40,0,3,0,0,0,876, 876,indeedee,8,,458,7,6,,4,30,140,0,40,1,3,0,0,0,876,
877,morpeko,8,,459,10,12,,4,180,50,0,10,0,2,0,0,0,877, 877,morpeko,8,,459,10,12,,4,180,50,0,10,0,2,0,0,0,877,
878,cufant,8,,460,10,8,,4,190,50,0,25,0,2,0,0,0,878, 878,cufant,8,,460,10,8,,4,190,50,0,25,0,2,0,0,0,878,
879,copperajah,8,878,460,5,8,,4,90,50,0,25,0,2,0,0,0,879, 879,copperajah,8,878,460,5,8,,4,90,50,0,25,0,2,0,0,0,879,
@ -914,7 +914,7 @@ id,identifier,generation_id,evolves_from_species_id,evolution_chain_id,color_id,
913,quaxwell,9,912,480,2,,,1,45,50,0,20,0,4,0,0,0,913, 913,quaxwell,9,912,480,2,,,1,45,50,0,20,0,4,0,0,0,913,
914,quaquaval,9,913,480,2,,,1,45,50,0,20,0,4,0,0,0,914, 914,quaquaval,9,913,480,2,,,1,45,50,0,20,0,4,0,0,0,914,
915,lechonk,9,,481,4,,,4,255,50,0,15,0,2,0,0,0,915, 915,lechonk,9,,481,4,,,4,255,50,0,15,0,2,0,0,0,915,
916,oinkologne,9,915,481,4,,,0,100,50,0,15,0,2,0,0,0,916, 916,oinkologne,9,915,481,4,,,0,100,50,0,15,1,2,0,0,0,916,
917,tarountula,9,,482,9,,,4,255,50,0,15,0,5,0,0,0,918, 917,tarountula,9,,482,9,,,4,255,50,0,15,0,5,0,0,0,918,
918,spidops,9,917,482,5,,,4,120,50,0,15,0,5,0,0,0,919, 918,spidops,9,917,482,5,,,4,120,50,0,15,0,5,0,0,0,919,
919,nymble,9,,483,4,,,4,190,20,0,20,0,2,0,0,0,920, 919,nymble,9,,483,4,,,4,190,20,0,20,0,2,0,0,0,920,

1 id identifier generation_id evolves_from_species_id evolution_chain_id color_id shape_id habitat_id gender_rate capture_rate base_happiness is_baby hatch_counter has_gender_differences growth_rate_id forms_switchable is_legendary is_mythical order conquest_order
131 130 gyarados 1 129 64 2 2 9 4 45 50 0 5 1 1 1 0 0 154 14
132 131 lapras 1 65 2 3 7 4 45 50 0 40 0 1 0 0 0 155 190
133 132 ditto 1 66 7 1 8 -1 35 50 0 20 0 2 0 0 0 156
134 133 eevee 1 67 3 8 8 1 45 50 0 35 0 1 2 0 0 0 157 1
135 134 vaporeon 1 133 67 2 8 8 1 45 50 0 35 0 2 0 0 0 158 2
136 135 jolteon 1 133 67 10 8 8 1 45 50 0 35 0 2 0 0 0 159 3
137 136 flareon 1 133 67 8 8 8 1 45 50 0 35 0 2 0 0 0 160 4
874 873 frosmoth 8 872 455 9 13 4 75 50 0 20 0 2 0 0 0 873
875 874 stonjourner 8 456 4 7 4 60 50 0 25 0 1 0 0 0 874
876 875 eiscue 8 457 2 6 4 60 50 0 25 0 1 0 0 0 875
877 876 indeedee 8 458 7 6 4 30 140 0 40 0 1 3 0 0 0 876
878 877 morpeko 8 459 10 12 4 180 50 0 10 0 2 0 0 0 877
879 878 cufant 8 460 10 8 4 190 50 0 25 0 2 0 0 0 878
880 879 copperajah 8 878 460 5 8 4 90 50 0 25 0 2 0 0 0 879
914 913 quaxwell 9 912 480 2 1 45 50 0 20 0 4 0 0 0 913
915 914 quaquaval 9 913 480 2 1 45 50 0 20 0 4 0 0 0 914
916 915 lechonk 9 481 4 4 255 50 0 15 0 2 0 0 0 915
917 916 oinkologne 9 915 481 4 0 100 50 0 15 0 1 2 0 0 0 916
918 917 tarountula 9 482 9 4 255 50 0 15 0 5 0 0 0 918
919 918 spidops 9 917 482 5 4 120 50 0 15 0 5 0 0 0 919
920 919 nymble 9 483 4 4 190 20 0 20 0 2 0 0 0 920

View file

@ -183571,4 +183571,38 @@ gives rise to the budding of fresh life across Hisui."
1007,40,9,"This seems to be the Winged King mentioned in an old expedition journal. It was said to have split the land with its bare fists." 1007,40,9,"This seems to be the Winged King mentioned in an old expedition journal. It was said to have split the land with its bare fists."
1007,41,9,"This Pokémon resembles Cyclizar, but it is far burlier and more ferocious. Nothing is known about its ecology or other features." 1007,41,9,"This Pokémon resembles Cyclizar, but it is far burlier and more ferocious. Nothing is known about its ecology or other features."
1008,40,9,"Much remains unknown about this creature. It resembles Cyclizar, but it is far more ruthless and powerful." 1008,40,9,"Much remains unknown about this creature. It resembles Cyclizar, but it is far more ruthless and powerful."
1008,41,9,"This seems to be the Iron Serpent mentioned in an old book. The Iron Serpent is said to have turned the land to ash with its lightning." 1008,41,9,"This seems to be the Iron Serpent mentioned in an old book. The Iron Serpent is said to have turned the land to ash with its lightning."
1009,40,9,"This ferocious creature is shrouded in mystery. It's named after an aquatic monster mentioned in an old expedition journal."
1009,41,9,"It resembles an illustration published in a paranormal magazine, said to be a depiction of a super-ancient Suicune."
1010,40,9,"Many of its physical characteristics match those of a Virizion from the future that was covered in a paranormal magazine."
1010,41,9,"According to the few eyewitness accounts that exist, it used its shining blades to julienne large trees and boulders."
1011,40,9,"Dipplin is two creatures in one Pokémon. Its evolution was triggered by a special apple grown only in one place."
1011,41,9,"The head sticking out belongs to the fore-wyrm, while the tail belongs to the core-wyrm. The two share one apple and help each other out."
1012,40,9,"Supposedly, the regrets of a tea ceremony master who died before perfecting his craft lingered in some matcha and became a Pokémon."
1012,41,9,"Poltchageist looks like a regional form of Sinistea, but it was recently discovered that the two Pokémon are entirely unrelated."
1013,40,9,"It pretends to be tea, trying to fool people into drinking it so it can drain their life-force. Its ruse is generally unsuccessful."
1013,41,9,"It prefers cool, dark places, such as the back of a shelf or the space beneath a home's floorboards. It wanders in search of prey after sunset."
1014,40,9,"After all its muscles were stimulated by the toxic chain around its neck, Okidogi transformed and gained a powerful physique."
1014,41,9,"Okidogi is a ruffian with a short temper. It can pulverize anything by swinging around the chain on its neck."
1015,40,9,"The chain is made from toxins that enhance capabilities. It stimulated Munkidori's brain and caused the Pokémon's psychic powers to bloom."
1015,41,9,"Munkidori keeps itself somewhere safe while it toys with its foes, using psychokinesis to induce intense dizziness."
1016,40,9,"Fezandipiti owes its beautiful looks and lovely voice to the toxic stimulants emanating from the chain wrapped around its body."
1016,41,9,"Fezandipiti beats its glossy wings to scatter pheromones that captivate people and Pokémon."
1017,40,9,"This Pokémon's type changes based on which mask it's wearing. It confounds its enemies with nimble movements and kicks."
1017,41,9,"This mischief-loving Pokémon is full of curiosity. It battles by drawing out the type-based energy contained within its masks."
1018,40,9,"It gathers static electricity from its surroundings. The beams it launches when down on all fours are tremendously powerful."
1018,41,9,"It digs holes on mountains, searching for food. Its so durable that being caught in a cave-in wont faze it."
1019,40,9,"Seven syrpents live inside an apple made of syrup. The syrpent in the center is the commander."
1019,41,9,"These capricious syrpents have banded together. On the rare occasion that their moods align, their true power is unleashed."
1020,40,9,"There are scant few reports of this creature being sighted. One short video shows it rampaging and spouting pillars of flame."
1020,41,9,"It resembles an eerie Pokémon once shown in a paranormal magazine. That Pokémon was said to be an Entei regenerated from a fossil."
1021,40,9,"It's said to incinerate everything around it with lightning launched from its fur. Very little is known about this creature."
1021,41,9,"It bears resemblance to a Pokémon that became a hot topic for a short while after a paranormal magazine touted it as Raikou's ancestor."
1022,40,9,"It resembles a Pokémon described in a dubious magazine as a Terrakion that had been modified by an evil organization."
1022,41,9,"It was named after a mysterious object recorded in an old book. Its body seems to be metallic."
1023,40,9,"It resembles a mysterious object introduced in a paranormal magazine as a cutting-edge weapon shaped like a Cobalion."
1023,41,9,"There was supposedly an incident in which it launched shining blades to cut everything around it to pieces. Little else is known about it."
1024,40,9,"Terapagos protects itself using its power to transform energy into hard crystals. This Pokémon is the source of the Terastal phenomenon."
1024,41,9,"Its thought that this Pokémon lived in ancient Paldea until it got caught in seismic shifts and went extinct."
1025,40,9,"It feeds others toxic mochi that draw out desires and capabilities. Those who eat the mochi fall under Pecharunts control, chained to its will."
1025,41,9,"Its peach-shaped shell serves as storage for a potent poison. It makes poisonous mochi and serves them to people and Pokémon."

Can't render this file because it is too large.

View file

@ -11116,7 +11116,7 @@ pokemon_species_id,local_language_id,name,genus
1011,6,Sirapfel, 1011,6,Sirapfel,
1011,7,Dipplin, 1011,7,Dipplin,
1011,8,Dipplin, 1011,8,Dipplin,
1011,9,Dipplin, 1011,9,Dipplin,Candy Apple Pokémon
1011,11,カミッチュ, 1011,11,カミッチュ,
1011,12,裹蜜虫, 1011,12,裹蜜虫,
1012,1,チャデス, 1012,1,チャデス,
@ -11126,7 +11126,7 @@ pokemon_species_id,local_language_id,name,genus
1012,6,Mortcha, 1012,6,Mortcha,
1012,7,Poltchageist, 1012,7,Poltchageist,
1012,8,Poltchageist, 1012,8,Poltchageist,
1012,9,Poltchageist, 1012,9,Poltchageist,Matcha Pokémon
1012,11,チャデス, 1012,11,チャデス,
1012,12,斯魔茶, 1012,12,斯魔茶,
1013,1,ヤバソチャ, 1013,1,ヤバソチャ,
@ -11136,7 +11136,7 @@ pokemon_species_id,local_language_id,name,genus
1013,6,Fatalitcha, 1013,6,Fatalitcha,
1013,7,Sinistcha, 1013,7,Sinistcha,
1013,8,Sinistcha, 1013,8,Sinistcha,
1013,9,Sinistcha, 1013,9,Sinistcha,Matcha Pokémon
1013,11,ヤバソチャ, 1013,11,ヤバソチャ,
1013,12,来悲粗茶, 1013,12,来悲粗茶,
1014,1,イイネイヌ, 1014,1,イイネイヌ,
@ -11146,7 +11146,7 @@ pokemon_species_id,local_language_id,name,genus
1014,6,Boninu, 1014,6,Boninu,
1014,7,Okidogi, 1014,7,Okidogi,
1014,8,Okidogi, 1014,8,Okidogi,
1014,9,Okidogi, 1014,9,Okidogi,Retainer Pokémon
1014,11,イイネイヌ, 1014,11,イイネイヌ,
1014,12,够赞狗, 1014,12,够赞狗,
1015,1,マシマシラ, 1015,1,マシマシラ,
@ -11156,7 +11156,7 @@ pokemon_species_id,local_language_id,name,genus
1015,6,Benesaru, 1015,6,Benesaru,
1015,7,Munkidori, 1015,7,Munkidori,
1015,8,Munkidori, 1015,8,Munkidori,
1015,9,Munkidori, 1015,9,Munkidori,Retainer Pokémon
1015,11,マシマシラ, 1015,11,マシマシラ,
1015,12,愿增猿, 1015,12,愿增猿,
1016,1,キチキギス, 1016,1,キチキギス,
@ -11166,7 +11166,7 @@ pokemon_species_id,local_language_id,name,genus
1016,6,Beatori, 1016,6,Beatori,
1016,7,Fezandipiti, 1016,7,Fezandipiti,
1016,8,Fezandipiti, 1016,8,Fezandipiti,
1016,9,Fezandipiti, 1016,9,Fezandipiti,Retainer Pokémon
1016,11,キチキギス, 1016,11,キチキギス,
1016,12,吉雉鸡, 1016,12,吉雉鸡,
1017,1,オーガポン, 1017,1,オーガポン,
@ -11176,7 +11176,7 @@ pokemon_species_id,local_language_id,name,genus
1017,6,Ogerpon, 1017,6,Ogerpon,
1017,7,Ogerpon, 1017,7,Ogerpon,
1017,8,Ogerpon, 1017,8,Ogerpon,
1017,9,Ogerpon, 1017,9,Ogerpon,Mask Pokémon
1017,11,オーガポン, 1017,11,オーガポン,
1017,12,厄诡椪, 1017,12,厄诡椪,
1018,1,ブリジュラス,ごうきんポケモン 1018,1,ブリジュラス,ごうきんポケモン
@ -11206,7 +11206,7 @@ pokemon_species_id,local_language_id,name,genus
1020,6,Keilflamme, 1020,6,Keilflamme,
1020,7,Flamariete, 1020,7,Flamariete,
1020,8,Vampeaguzze, 1020,8,Vampeaguzze,
1020,9,Gouging Fire,Paladox Pokémon 1020,9,Gouging Fire,Paradox Pokémon
1020,11,ウガツホムラ,パラドックスポケモン 1020,11,ウガツホムラ,パラドックスポケモン
1020,12,破空焰, 1020,12,破空焰,
1021,1,タケルライコ,パラドックスポケモン 1021,1,タケルライコ,パラドックスポケモン
@ -11216,7 +11216,7 @@ pokemon_species_id,local_language_id,name,genus
1021,6,Furienblitz, 1021,6,Furienblitz,
1021,7,Electrofuria, 1021,7,Electrofuria,
1021,8,Furiatonante, 1021,8,Furiatonante,
1021,9,Raging Bolt,Paladox Pokémon 1021,9,Raging Bolt,Paradox Pokémon
1021,11,タケルライコ,パラドックスポケモン 1021,11,タケルライコ,パラドックスポケモン
1021,12,猛雷鼓, 1021,12,猛雷鼓,
1022,1,テツノイワオ,パラドックスポケモン 1022,1,テツノイワオ,パラドックスポケモン
@ -11226,7 +11226,7 @@ pokemon_species_id,local_language_id,name,genus
1022,6,Eisenfels, 1022,6,Eisenfels,
1022,7,Ferromole, 1022,7,Ferromole,
1022,8,Massoferreo, 1022,8,Massoferreo,
1022,9,Iron Boulder,Paladox Pokémon 1022,9,Iron Boulder,Paradox Pokémon
1022,11,テツノイワオ,パラドックスポケモン 1022,11,テツノイワオ,パラドックスポケモン
1022,12,鐵磐岩, 1022,12,鐵磐岩,
1023,1,テツノカシラ,パラドックスポケモン 1023,1,テツノカシラ,パラドックスポケモン
@ -11236,7 +11236,7 @@ pokemon_species_id,local_language_id,name,genus
1023,6,Eisenhaupt, 1023,6,Eisenhaupt,
1023,7,Ferrotesta, 1023,7,Ferrotesta,
1023,8,Capoferreo, 1023,8,Capoferreo,
1023,9,Iron Crown,Paladox Pokémon 1023,9,Iron Crown,Paradox Pokémon
1023,11,テツノカシラ,パラドックスポケモン 1023,11,テツノカシラ,パラドックスポケモン
1023,12,鐵頭殼, 1023,12,鐵頭殼,
1024,1,テラパゴス,テラスタルポケモン 1024,1,テラパゴス,テラスタルポケモン

1 pokemon_species_id local_language_id name genus
11116 1011 6 Sirapfel
11117 1011 7 Dipplin
11118 1011 8 Dipplin
11119 1011 9 Dipplin Candy Apple Pokémon
11120 1011 11 カミッチュ
11121 1011 12 裹蜜虫
11122 1012 1 チャデス
11126 1012 6 Mortcha
11127 1012 7 Poltchageist
11128 1012 8 Poltchageist
11129 1012 9 Poltchageist Matcha Pokémon
11130 1012 11 チャデス
11131 1012 12 斯魔茶
11132 1013 1 ヤバソチャ
11136 1013 6 Fatalitcha
11137 1013 7 Sinistcha
11138 1013 8 Sinistcha
11139 1013 9 Sinistcha Matcha Pokémon
11140 1013 11 ヤバソチャ
11141 1013 12 来悲粗茶
11142 1014 1 イイネイヌ
11146 1014 6 Boninu
11147 1014 7 Okidogi
11148 1014 8 Okidogi
11149 1014 9 Okidogi Retainer Pokémon
11150 1014 11 イイネイヌ
11151 1014 12 够赞狗
11152 1015 1 マシマシラ
11156 1015 6 Benesaru
11157 1015 7 Munkidori
11158 1015 8 Munkidori
11159 1015 9 Munkidori Retainer Pokémon
11160 1015 11 マシマシラ
11161 1015 12 愿增猿
11162 1016 1 キチキギス
11166 1016 6 Beatori
11167 1016 7 Fezandipiti
11168 1016 8 Fezandipiti
11169 1016 9 Fezandipiti Retainer Pokémon
11170 1016 11 キチキギス
11171 1016 12 吉雉鸡
11172 1017 1 オーガポン
11176 1017 6 Ogerpon
11177 1017 7 Ogerpon
11178 1017 8 Ogerpon
11179 1017 9 Ogerpon Mask Pokémon
11180 1017 11 オーガポン
11181 1017 12 厄诡椪
11182 1018 1 ブリジュラス ごうきんポケモン
11206 1020 6 Keilflamme
11207 1020 7 Flamariete
11208 1020 8 Vampeaguzze
11209 1020 9 Gouging Fire Paladox Pokémon Paradox Pokémon
11210 1020 11 ウガツホムラ パラドックスポケモン
11211 1020 12 破空焰
11212 1021 1 タケルライコ パラドックスポケモン
11216 1021 6 Furienblitz
11217 1021 7 Electrofuria
11218 1021 8 Furiatonante
11219 1021 9 Raging Bolt Paladox Pokémon Paradox Pokémon
11220 1021 11 タケルライコ パラドックスポケモン
11221 1021 12 猛雷鼓
11222 1022 1 テツノイワオ パラドックスポケモン
11226 1022 6 Eisenfels
11227 1022 7 Ferromole
11228 1022 8 Massoferreo
11229 1022 9 Iron Boulder Paladox Pokémon Paradox Pokémon
11230 1022 11 テツノイワオ パラドックスポケモン
11231 1022 12 鐵磐岩
11232 1023 1 テツノカシラ パラドックスポケモン
11236 1023 6 Eisenhaupt
11237 1023 7 Ferrotesta
11238 1023 8 Capoferreo
11239 1023 9 Iron Crown Paladox Pokémon Paradox Pokémon
11240 1023 11 テツノカシラ パラドックスポケモン
11241 1023 12 鐵頭殼
11242 1024 1 テラパゴス テラスタルポケモン

View file

@ -179,6 +179,16 @@ type_id,local_language_id,name
18,9,Fairy 18,9,Fairy
18,11,フェアリー 18,11,フェアリー
18,12,妖精 18,12,妖精
19,1,ステラ
19,2, Stella
19,3, 스텔라
19,4,星晶
19,5,Stellaire
19,6,Stellar
19,7,Astral
19,8,Astrale
19,9,Stellar
19,11,ステラ
10001,1, 10001,1,
10001,3,??? 10001,3,???
10001,4,??? 10001,4,???

1 type_id local_language_id name
179 18 9 Fairy
180 18 11 フェアリー
181 18 12 妖精
182 19 1 ステラ
183 19 2 Stella
184 19 3 스텔라
185 19 4 星晶
186 19 5 Stellaire
187 19 6 Stellar
188 19 7 Astral
189 19 8 Astrale
190 19 9 Stellar
191 19 11 ステラ
192 10001 1 ???
193 10001 3 ???
194 10001 4 ???

View file

@ -17,5 +17,6 @@ id,identifier,generation_id,damage_class_id
16,dragon,1,3 16,dragon,1,3
17,dark,2,3 17,dark,2,3
18,fairy,6, 18,fairy,6,
19,stellar,9,
10001,unknown,2, 10001,unknown,2,
10002,shadow,3, 10002,shadow,3,

1 id identifier generation_id damage_class_id
17 16 dragon 1 3
18 17 dark 2 3
19 18 fairy 6
20 19 stellar 9
21 10001 unknown 2
22 10002 shadow 3

32
default.nix Normal file
View file

@ -0,0 +1,32 @@
with import <nixpkgs> { };
pkgs.mkShell {
name = "onix-shellder";
venvDir = "./.venv";
buildInputs = [
python310Packages.python
python310Packages.venvShellHook
# Required dependancies
black
taglib
openssl
git
libxml2
libxslt
libzip
zlib
];
# Run this command, only after creating the virtual environment
postVenvCreation = ''
unset SOURCE_DATE_EPOCH
pip install -r requirements.txt
'';
postShellHook = ''
# allow pip to install wheels
unset SOURCE_DATE_EPOCH
zsh -l
'';
}

View file

@ -6,4 +6,4 @@ services:
context: . context: .
dockerfile: ./Resources/docker/app/Dockerfile dockerfile: ./Resources/docker/app/Dockerfile
# docker-compose -f docker-compose.yml -f docker-compose-dev.yml up -d # docker compose -f docker-compose.yml -f docker-compose-dev.yml up -d

View file

@ -27,6 +27,13 @@ array_relationships:
table: table:
name: pokemon_v2_pokemonabilitypast name: pokemon_v2_pokemonabilitypast
schema: public schema: public
- name: pokemon_v2_pokemoncries
using:
foreign_key_constraint_on:
column: pokemon_id
table:
name: pokemon_v2_pokemoncries
schema: public
- name: pokemon_v2_pokemonforms - name: pokemon_v2_pokemonforms
using: using:
foreign_key_constraint_on: foreign_key_constraint_on:

View file

@ -11,3 +11,10 @@ object_relationships:
- name: pokemon_v2_pokemon - name: pokemon_v2_pokemon
using: using:
foreign_key_constraint_on: pokemon_id foreign_key_constraint_on: pokemon_id
select_permissions:
- role: anon
permission:
columns: '*'
filter: {}
limit: 100000
allow_aggregations: true

View file

@ -0,0 +1,14 @@
table:
name: pokemon_v2_pokemoncries
schema: public
object_relationships:
- name: pokemon_v2_pokemon
using:
foreign_key_constraint_on: pokemon_id
select_permissions:
- role: anon
permission:
columns: '*'
filter: {}
limit: 100000
allow_aggregations: true

View file

@ -11,3 +11,10 @@ object_relationships:
- name: pokemon_v2_type - name: pokemon_v2_type
using: using:
foreign_key_constraint_on: damage_type_id foreign_key_constraint_on: damage_type_id
select_permissions:
- role: anon
permission:
columns: '*'
filter: {}
limit: 100000
allow_aggregations: true

View file

@ -110,6 +110,7 @@
- "!include public_pokemon_v2_pokemonabilitypast.yaml" - "!include public_pokemon_v2_pokemonabilitypast.yaml"
- "!include public_pokemon_v2_pokemoncolor.yaml" - "!include public_pokemon_v2_pokemoncolor.yaml"
- "!include public_pokemon_v2_pokemoncolorname.yaml" - "!include public_pokemon_v2_pokemoncolorname.yaml"
- "!include public_pokemon_v2_pokemoncries.yaml"
- "!include public_pokemon_v2_pokemondexnumber.yaml" - "!include public_pokemon_v2_pokemondexnumber.yaml"
- "!include public_pokemon_v2_pokemonegggroup.yaml" - "!include public_pokemon_v2_pokemonegggroup.yaml"
- "!include public_pokemon_v2_pokemonevolution.yaml" - "!include public_pokemon_v2_pokemonevolution.yaml"

9333
openapi.yml Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,9 @@ from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.http import Http404 from django.http import Http404
from django.db.models import Q
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter
from drf_spectacular.types import OpenApiTypes
from .models import * from .models import *
from .serializers import * from .serializers import *
@ -38,6 +41,15 @@ class NameOrIdRetrieval:
idPattern = re.compile(r"^-?[0-9]+$") idPattern = re.compile(r"^-?[0-9]+$")
namePattern = re.compile(r"^[0-9A-Za-z\-\+]+$") namePattern = re.compile(r"^[0-9A-Za-z\-\+]+$")
def get_queryset(self):
queryset = super().get_queryset()
filter = self.request.GET.get("q", "")
if filter:
queryset = queryset.filter(Q(name__icontains=filter))
return queryset
def get_object(self): def get_object(self):
queryset = self.get_queryset() queryset = self.get_queryset()
queryset = self.filter_queryset(queryset) queryset = self.filter_queryset(queryset)
@ -59,9 +71,30 @@ class NameOrIdRetrieval:
return resp return resp
q_query_string_parameter = OpenApiParameter(
name="q",
description="> Only available locally and not at [pokeapi.co](https://pokeapi.co/docs/v2)\nCase-insensitive query applied on the `name` property. ",
location=OpenApiParameter.QUERY,
type=OpenApiTypes.STR,
)
retrieve_path_parameter = OpenApiParameter(
name="id",
description="This parameter can be a string or an integer.",
location=OpenApiParameter.PATH,
type=OpenApiTypes.STR,
required=True,
)
@extend_schema_view(list=extend_schema(parameters=[q_query_string_parameter]))
class PokeapiCommonViewset( class PokeapiCommonViewset(
ListOrDetailSerialRelation, NameOrIdRetrieval, viewsets.ReadOnlyModelViewSet ListOrDetailSerialRelation, NameOrIdRetrieval, viewsets.ReadOnlyModelViewSet
): ):
@extend_schema(parameters=[retrieve_path_parameter])
def retrieve(self, request, pk=None):
return super().retrieve(request, pk)
pass pass
@ -70,299 +103,879 @@ class PokeapiCommonViewset(
########## ##########
@extend_schema(
description="Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible abilities but can have only one ability at a time. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Ability) for greater detail.",
tags=["pokemon"],
)
class AbilityResource(PokeapiCommonViewset): class AbilityResource(PokeapiCommonViewset):
queryset = Ability.objects.all() queryset = Ability.objects.all()
serializer_class = AbilityDetailSerializer serializer_class = AbilityDetailSerializer
list_serializer_class = AbilitySummarySerializer list_serializer_class = AbilitySummarySerializer
@extend_schema(
description="Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage negation when eaten by Pokémon. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Berry) for greater detail.",
tags=["berries"],
summary="Get a berry",
)
@extend_schema_view(
list=extend_schema(
summary="List berries",
)
)
class BerryResource(PokeapiCommonViewset): class BerryResource(PokeapiCommonViewset):
queryset = Berry.objects.all() queryset = Berry.objects.all()
serializer_class = BerryDetailSerializer serializer_class = BerryDetailSerializer
list_serializer_class = BerrySummarySerializer list_serializer_class = BerrySummarySerializer
@extend_schema(
description="Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail.",
tags=["berries"],
summary="Get berry by firmness",
)
@extend_schema_view(
list=extend_schema(
summary="List berry firmness",
)
)
class BerryFirmnessResource(PokeapiCommonViewset): class BerryFirmnessResource(PokeapiCommonViewset):
queryset = BerryFirmness.objects.all() queryset = BerryFirmness.objects.all()
serializer_class = BerryFirmnessDetailSerializer serializer_class = BerryFirmnessDetailSerializer
list_serializer_class = BerryFirmnessSummarySerializer list_serializer_class = BerryFirmnessSummarySerializer
@extend_schema(
description="Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their **nature**. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Flavor) for greater detail.",
summary="Get berries by flavor",
tags=["berries"],
)
@extend_schema_view(
list=extend_schema(
summary="List berry flavors",
)
)
class BerryFlavorResource(PokeapiCommonViewset): class BerryFlavorResource(PokeapiCommonViewset):
queryset = BerryFlavor.objects.all() queryset = BerryFlavor.objects.all()
serializer_class = BerryFlavorDetailSerializer serializer_class = BerryFlavorDetailSerializer
list_serializer_class = BerryFlavorSummarySerializer list_serializer_class = BerryFlavorSummarySerializer
@extend_schema(
description="Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by the remainder of its highest IV divided by 5 (gene_modulo). Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Characteristic) for greater detail.",
summary="Get characteristic",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List charecterictics",
)
)
class CharacteristicResource(PokeapiCommonViewset): class CharacteristicResource(PokeapiCommonViewset):
queryset = Characteristic.objects.all() queryset = Characteristic.objects.all()
serializer_class = CharacteristicDetailSerializer serializer_class = CharacteristicDetailSerializer
list_serializer_class = CharacteristicSummarySerializer list_serializer_class = CharacteristicSummarySerializer
@extend_schema(
description="Contest effects refer to the effects of moves when used in contests.",
tags=["contests"],
summary="Get contest effect",
)
@extend_schema_view(
list=extend_schema(
summary="List contest effects",
)
)
class ContestEffectResource(PokeapiCommonViewset): class ContestEffectResource(PokeapiCommonViewset):
queryset = ContestEffect.objects.all() queryset = ContestEffect.objects.all()
serializer_class = ContestEffectDetailSerializer serializer_class = ContestEffectDetailSerializer
list_serializer_class = ContestEffectSummarySerializer list_serializer_class = ContestEffectSummarySerializer
@extend_schema(
description="Contest types are categories judges used to weigh a Pokémon's condition in Pokémon contests. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Contest_condition) for greater detail.",
summary="Get contest type",
tags=["contests"],
)
@extend_schema_view(
list=extend_schema(
summary="List contest types",
)
)
class ContestTypeResource(PokeapiCommonViewset): class ContestTypeResource(PokeapiCommonViewset):
queryset = ContestType.objects.all() queryset = ContestType.objects.all()
serializer_class = ContestTypeDetailSerializer serializer_class = ContestTypeDetailSerializer
list_serializer_class = ContestTypeSummarySerializer list_serializer_class = ContestTypeSummarySerializer
@extend_schema(
description="Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one or two Egg Groups. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Egg_Group) for greater detail.",
summary="Get egg group",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List egg groups",
)
)
class EggGroupResource(PokeapiCommonViewset): class EggGroupResource(PokeapiCommonViewset):
queryset = EggGroup.objects.all() queryset = EggGroup.objects.all()
serializer_class = EggGroupDetailSerializer serializer_class = EggGroupDetailSerializer
list_serializer_class = EggGroupSummarySerializer list_serializer_class = EggGroupSummarySerializer
@extend_schema(
description="Conditions which affect what pokemon might appear in the wild, e.g., day or night.",
summary="Get encounter condition",
tags=["encounters"],
)
@extend_schema_view(
list=extend_schema(
summary="List encounter conditions",
)
)
class EncounterConditionResource(PokeapiCommonViewset): class EncounterConditionResource(PokeapiCommonViewset):
queryset = EncounterCondition.objects.all() queryset = EncounterCondition.objects.all()
serializer_class = EncounterConditionDetailSerializer serializer_class = EncounterConditionDetailSerializer
list_serializer_class = EncounterConditionSummarySerializer list_serializer_class = EncounterConditionSummarySerializer
@extend_schema(
description="Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be either day or night.",
summary="Get encounter condition value",
tags=["encounters"],
)
@extend_schema_view(
list=extend_schema(
summary="List encounter condition values",
)
)
class EncounterConditionValueResource(PokeapiCommonViewset): class EncounterConditionValueResource(PokeapiCommonViewset):
queryset = EncounterConditionValue.objects.all() queryset = EncounterConditionValue.objects.all()
serializer_class = EncounterConditionValueDetailSerializer serializer_class = EncounterConditionValueDetailSerializer
list_serializer_class = EncounterConditionValueSummarySerializer list_serializer_class = EncounterConditionValueSummarySerializer
@extend_schema(
description="Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out Bulbapedia for greater detail.",
summary="Get encounter method",
tags=["encounters"],
)
@extend_schema_view(
list=extend_schema(
summary="List encounter methods",
)
)
class EncounterMethodResource(PokeapiCommonViewset): class EncounterMethodResource(PokeapiCommonViewset):
queryset = EncounterMethod.objects.all() queryset = EncounterMethod.objects.all()
serializer_class = EncounterMethodDetailSerializer serializer_class = EncounterMethodDetailSerializer
list_serializer_class = EncounterMethodSummarySerializer list_serializer_class = EncounterMethodSummarySerializer
@extend_schema(
description="Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy.",
summary="Get evolution chain",
tags=["evolution"],
)
@extend_schema_view(
list=extend_schema(
summary="List evolution chains",
)
)
class EvolutionChainResource(PokeapiCommonViewset): class EvolutionChainResource(PokeapiCommonViewset):
queryset = EvolutionChain.objects.all() queryset = EvolutionChain.objects.all()
serializer_class = EvolutionChainDetailSerializer serializer_class = EvolutionChainDetailSerializer
list_serializer_class = EvolutionChainSummarySerializer list_serializer_class = EvolutionChainSummarySerializer
@extend_schema(
description="Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Methods_of_evolution) for greater detail.",
summary="Get evolution trigger",
tags=["evolution"],
)
@extend_schema_view(
list=extend_schema(
summary="List evolution triggers",
)
)
class EvolutionTriggerResource(PokeapiCommonViewset): class EvolutionTriggerResource(PokeapiCommonViewset):
queryset = EvolutionTrigger.objects.all() queryset = EvolutionTrigger.objects.all()
serializer_class = EvolutionTriggerDetailSerializer serializer_class = EvolutionTriggerDetailSerializer
list_serializer_class = EvolutionTriggerSummarySerializer list_serializer_class = EvolutionTriggerSummarySerializer
@extend_schema(
description="A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each generation, a new set of Pokémon, Moves, Abilities and Types that did not exist in the previous generation are released.",
summary="Get genration",
tags=["games"],
)
@extend_schema_view(
list=extend_schema(
summary="List genrations",
)
)
class GenerationResource(PokeapiCommonViewset): class GenerationResource(PokeapiCommonViewset):
queryset = Generation.objects.all() queryset = Generation.objects.all()
serializer_class = GenerationDetailSerializer serializer_class = GenerationDetailSerializer
list_serializer_class = GenerationSummarySerializer list_serializer_class = GenerationSummarySerializer
@extend_schema(
description="Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual differences or even different evolutionary lines. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Gender) for greater detail.",
summary="Get gender",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List genders",
)
)
class GenderResource(PokeapiCommonViewset): class GenderResource(PokeapiCommonViewset):
queryset = Gender.objects.all() queryset = Gender.objects.all()
serializer_class = GenderDetailSerializer serializer_class = GenderDetailSerializer
list_serializer_class = GenderSummarySerializer list_serializer_class = GenderSummarySerializer
@extend_schema(
description="Growth rates are the speed with which Pokémon gain levels through experience. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Experience) for greater detail.",
summary="Get growth rate",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List growth rates",
)
)
class GrowthRateResource(PokeapiCommonViewset): class GrowthRateResource(PokeapiCommonViewset):
queryset = GrowthRate.objects.all() queryset = GrowthRate.objects.all()
serializer_class = GrowthRateDetailSerializer serializer_class = GrowthRateDetailSerializer
list_serializer_class = GrowthRateSummarySerializer list_serializer_class = GrowthRateSummarySerializer
@extend_schema(
description="An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area.",
summary="Get item",
tags=["items"],
)
@extend_schema_view(
list=extend_schema(
summary="List items",
)
)
class ItemResource(PokeapiCommonViewset): class ItemResource(PokeapiCommonViewset):
queryset = Item.objects.all() queryset = Item.objects.all()
serializer_class = ItemDetailSerializer serializer_class = ItemDetailSerializer
list_serializer_class = ItemSummarySerializer list_serializer_class = ItemSummarySerializer
@extend_schema(
description="Item categories determine where items will be placed in the players bag.",
summary="Get item category",
tags=["items"],
)
@extend_schema_view(
list=extend_schema(
summary="List item categories",
)
)
class ItemCategoryResource(PokeapiCommonViewset): class ItemCategoryResource(PokeapiCommonViewset):
queryset = ItemCategory.objects.all() queryset = ItemCategory.objects.all()
serializer_class = ItemCategoryDetailSerializer serializer_class = ItemCategoryDetailSerializer
list_serializer_class = ItemCategorySummarySerializer list_serializer_class = ItemCategorySummarySerializer
@extend_schema(
description='Item attributes define particular aspects of items, e.g."usable in battle" or "consumable".',
summary="Get item attribute",
tags=["items"],
)
@extend_schema_view(
list=extend_schema(
summary="List item attributes",
)
)
class ItemAttributeResource(PokeapiCommonViewset): class ItemAttributeResource(PokeapiCommonViewset):
queryset = ItemAttribute.objects.all() queryset = ItemAttribute.objects.all()
serializer_class = ItemAttributeDetailSerializer serializer_class = ItemAttributeDetailSerializer
list_serializer_class = ItemAttributeSummarySerializer list_serializer_class = ItemAttributeSummarySerializer
@extend_schema(
description='The various effects of the move"Fling" when used with different items.',
summary="Get item fling effect",
tags=["items"],
)
@extend_schema_view(
list=extend_schema(
summary="List item fling effects",
)
)
class ItemFlingEffectResource(PokeapiCommonViewset): class ItemFlingEffectResource(PokeapiCommonViewset):
queryset = ItemFlingEffect.objects.all() queryset = ItemFlingEffect.objects.all()
serializer_class = ItemFlingEffectDetailSerializer serializer_class = ItemFlingEffectDetailSerializer
list_serializer_class = ItemFlingEffectSummarySerializer list_serializer_class = ItemFlingEffectSummarySerializer
@extend_schema(
description="Pockets within the players bag used for storing items by category.",
summary="Get item pocket",
tags=["items"],
)
@extend_schema_view(
list=extend_schema(
summary="List item pockets",
)
)
class ItemPocketResource(PokeapiCommonViewset): class ItemPocketResource(PokeapiCommonViewset):
queryset = ItemPocket.objects.all() queryset = ItemPocket.objects.all()
serializer_class = ItemPocketDetailSerializer serializer_class = ItemPocketDetailSerializer
list_serializer_class = ItemPocketSummarySerializer list_serializer_class = ItemPocketSummarySerializer
@extend_schema(
description="Languages for translations of API resource information.",
summary="Get language",
tags=["utility"],
)
@extend_schema_view(
list=extend_schema(
summary="List languages",
)
)
class LanguageResource(PokeapiCommonViewset): class LanguageResource(PokeapiCommonViewset):
queryset = Language.objects.all() queryset = Language.objects.all()
serializer_class = LanguageDetailSerializer serializer_class = LanguageDetailSerializer
list_serializer_class = LanguageSummarySerializer list_serializer_class = LanguageSummarySerializer
@extend_schema(
description="Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.",
summary="Get location",
tags=["location"],
)
@extend_schema_view(
list=extend_schema(
summary="List locations",
)
)
class LocationResource(PokeapiCommonViewset): class LocationResource(PokeapiCommonViewset):
queryset = Location.objects.all() queryset = Location.objects.all()
serializer_class = LocationDetailSerializer serializer_class = LocationDetailSerializer
list_serializer_class = LocationSummarySerializer list_serializer_class = LocationSummarySerializer
@extend_schema(
description="Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible Pokémon encounters.",
summary="Get location area",
tags=["location"],
)
@extend_schema_view(
list=extend_schema(
summary="List location areas",
)
)
class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelViewSet): class LocationAreaResource(ListOrDetailSerialRelation, viewsets.ReadOnlyModelViewSet):
queryset = LocationArea.objects.all() queryset = LocationArea.objects.all()
serializer_class = LocationAreaDetailSerializer serializer_class = LocationAreaDetailSerializer
list_serializer_class = LocationAreaSummarySerializer list_serializer_class = LocationAreaSummarySerializer
@extend_schema(
description="Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.",
summary="Get machine",
tags=["machines"],
)
@extend_schema_view(
list=extend_schema(
summary="List machines",
)
)
class MachineResource(PokeapiCommonViewset): class MachineResource(PokeapiCommonViewset):
queryset = Machine.objects.all() queryset = Machine.objects.all()
serializer_class = MachineDetailSerializer serializer_class = MachineDetailSerializer
list_serializer_class = MachineSummarySerializer list_serializer_class = MachineSummarySerializer
@extend_schema(
description="Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas.",
summary="Get move",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List moves",
)
)
class MoveResource(PokeapiCommonViewset): class MoveResource(PokeapiCommonViewset):
queryset = Move.objects.all() queryset = Move.objects.all()
serializer_class = MoveDetailSerializer serializer_class = MoveDetailSerializer
list_serializer_class = MoveSummarySerializer list_serializer_class = MoveSummarySerializer
@extend_schema(
description="Damage classes moves can have, e.g. physical, special, or non-damaging.",
summary="Get move damage class",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List move damage classes",
)
)
class MoveDamageClassResource(PokeapiCommonViewset): class MoveDamageClassResource(PokeapiCommonViewset):
queryset = MoveDamageClass.objects.all() queryset = MoveDamageClass.objects.all()
serializer_class = MoveDamageClassDetailSerializer serializer_class = MoveDamageClassDetailSerializer
list_serializer_class = MoveDamageClassSummarySerializer list_serializer_class = MoveDamageClassSummarySerializer
@extend_schema(
description="Move Ailments are status conditions caused by moves used during battle. See [Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/Status_condition) for greater detail.",
summary="Get move meta ailment",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List move meta ailments",
)
)
class MoveMetaAilmentResource(PokeapiCommonViewset): class MoveMetaAilmentResource(PokeapiCommonViewset):
queryset = MoveMetaAilment.objects.all() queryset = MoveMetaAilment.objects.all()
serializer_class = MoveMetaAilmentDetailSerializer serializer_class = MoveMetaAilmentDetailSerializer
list_serializer_class = MoveMetaAilmentSummarySerializer list_serializer_class = MoveMetaAilmentSummarySerializer
@extend_schema(
description="Styles of moves when used in the Battle Palace. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Battle_Frontier_(Generation_III)) for greater detail.",
summary="Get move battle style",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List move battle styles",
)
)
class MoveBattleStyleResource(PokeapiCommonViewset): class MoveBattleStyleResource(PokeapiCommonViewset):
queryset = MoveBattleStyle.objects.all() queryset = MoveBattleStyle.objects.all()
serializer_class = MoveBattleStyleDetailSerializer serializer_class = MoveBattleStyleDetailSerializer
list_serializer_class = MoveBattleStyleSummarySerializer list_serializer_class = MoveBattleStyleSummarySerializer
@extend_schema(
description="Very general categories that loosely group move effects.",
summary="Get move meta category",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List move meta categories",
)
)
class MoveMetaCategoryResource(PokeapiCommonViewset): class MoveMetaCategoryResource(PokeapiCommonViewset):
queryset = MoveMetaCategory.objects.all() queryset = MoveMetaCategory.objects.all()
serializer_class = MoveMetaCategoryDetailSerializer serializer_class = MoveMetaCategoryDetailSerializer
list_serializer_class = MoveMetaCategorySummarySerializer list_serializer_class = MoveMetaCategorySummarySerializer
@extend_schema(
description="Methods by which Pokémon can learn moves.",
summary="Get move learn method",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List move learn methods",
)
)
class MoveLearnMethodResource(PokeapiCommonViewset): class MoveLearnMethodResource(PokeapiCommonViewset):
queryset = MoveLearnMethod.objects.all() queryset = MoveLearnMethod.objects.all()
serializer_class = MoveLearnMethodDetailSerializer serializer_class = MoveLearnMethodDetailSerializer
list_serializer_class = MoveLearnMethodSummarySerializer list_serializer_class = MoveLearnMethodSummarySerializer
@extend_schema(
description="Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.",
summary="Get move target",
tags=["moves"],
)
@extend_schema_view(
list=extend_schema(
summary="List move targets",
)
)
class MoveTargetResource(PokeapiCommonViewset): class MoveTargetResource(PokeapiCommonViewset):
queryset = MoveTarget.objects.all() queryset = MoveTarget.objects.all()
serializer_class = MoveTargetDetailSerializer serializer_class = MoveTargetDetailSerializer
list_serializer_class = MoveTargetSummarySerializer list_serializer_class = MoveTargetSummarySerializer
@extend_schema(
description="Natures influence how a Pokémon's stats grow. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Nature) for greater detail.",
summary="Get nature",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List natures",
)
)
class NatureResource(PokeapiCommonViewset): class NatureResource(PokeapiCommonViewset):
queryset = Nature.objects.all() queryset = Nature.objects.all()
serializer_class = NatureDetailSerializer serializer_class = NatureDetailSerializer
list_serializer_class = NatureSummarySerializer list_serializer_class = NatureSummarySerializer
@extend_schema(
description="Areas used for grouping Pokémon encounters in Pal Park. They're like habitats that are specific to Pal Park.",
summary="Get pal park area",
tags=["location"],
)
@extend_schema_view(
list=extend_schema(
summary="List pal park areas",
)
)
class PalParkAreaResource(PokeapiCommonViewset): class PalParkAreaResource(PokeapiCommonViewset):
queryset = PalParkArea.objects.all() queryset = PalParkArea.objects.all()
serializer_class = PalParkAreaDetailSerializer serializer_class = PalParkAreaDetailSerializer
list_serializer_class = PalParkAreaSummarySerializer list_serializer_class = PalParkAreaSummarySerializer
@extend_schema(
description="Pokeathlon Stats are different attributes of a Pokémon's performance in Pokéathlons. In Pokéathlons, competitions happen on different courses; one for each of the different Pokéathlon stats. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9athlon) for greater detail.",
summary="Get pokeathlon stat",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokeathlon stats",
)
)
class PokeathlonStatResource(PokeapiCommonViewset): class PokeathlonStatResource(PokeapiCommonViewset):
queryset = PokeathlonStat.objects.all() queryset = PokeathlonStat.objects.all()
serializer_class = PokeathlonStatDetailSerializer serializer_class = PokeathlonStatDetailSerializer
list_serializer_class = PokeathlonStatSummarySerializer list_serializer_class = PokeathlonStatSummarySerializer
@extend_schema(
description="A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information of the various Pokémon in a given region with the exception of the national dex and some smaller dexes related to portions of a region. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pokedex) for greater detail.",
summary="Get pokedex",
tags=["games"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokedex",
)
)
class PokedexResource(PokeapiCommonViewset): class PokedexResource(PokeapiCommonViewset):
queryset = Pokedex.objects.all() queryset = Pokedex.objects.all()
serializer_class = PokedexDetailSerializer serializer_class = PokedexDetailSerializer
list_serializer_class = PokedexSummarySerializer list_serializer_class = PokedexSummarySerializer
@extend_schema(
description="Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent or covering each Pokémon's body. No orange category exists; Pokémon that are primarily orange are listed as red or brown.",
summary="Get pokemon color",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemon colors",
)
)
class PokemonColorResource(PokeapiCommonViewset): class PokemonColorResource(PokeapiCommonViewset):
queryset = PokemonColor.objects.all() queryset = PokemonColor.objects.all()
serializer_class = PokemonColorDetailSerializer serializer_class = PokemonColorDetailSerializer
list_serializer_class = PokemonColorSummarySerializer list_serializer_class = PokemonColorSummarySerializer
@extend_schema(
description="Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For variations within a Pokémon species, which do differ in more than just visuals, the 'Pokémon' entity is used to represent such a variety.",
summary="Get pokemon form",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemon forms",
)
)
class PokemonFormResource(PokeapiCommonViewset): class PokemonFormResource(PokeapiCommonViewset):
queryset = PokemonForm.objects.all() queryset = PokemonForm.objects.all()
serializer_class = PokemonFormDetailSerializer serializer_class = PokemonFormDetailSerializer
list_serializer_class = PokemonFormSummarySerializer list_serializer_class = PokemonFormSummarySerializer
@extend_schema(
description="Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or legendary Pokémon.",
summary="Get pokemom habita",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemom habitas",
)
)
class PokemonHabitatResource(PokeapiCommonViewset): class PokemonHabitatResource(PokeapiCommonViewset):
queryset = PokemonHabitat.objects.all() queryset = PokemonHabitat.objects.all()
serializer_class = PokemonHabitatDetailSerializer serializer_class = PokemonHabitatDetailSerializer
list_serializer_class = PokemonHabitatSummarySerializer list_serializer_class = PokemonHabitatSummarySerializer
@extend_schema(
description="Shapes used for sorting Pokémon in a Pokédex.",
summary="Get pokemon shape",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemon shapes",
)
)
class PokemonShapeResource(PokeapiCommonViewset): class PokemonShapeResource(PokeapiCommonViewset):
queryset = PokemonShape.objects.all() queryset = PokemonShape.objects.all()
serializer_class = PokemonShapeDetailSerializer serializer_class = PokemonShapeDetailSerializer
list_serializer_class = PokemonShapeSummarySerializer list_serializer_class = PokemonShapeSummarySerializer
@extend_schema(
description="Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_(species)) for greater detail.",
summary="Get pokemon",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemon",
),
)
class PokemonResource(PokeapiCommonViewset): class PokemonResource(PokeapiCommonViewset):
queryset = Pokemon.objects.all() queryset = Pokemon.objects.all()
serializer_class = PokemonDetailSerializer serializer_class = PokemonDetailSerializer
list_serializer_class = PokemonSummarySerializer list_serializer_class = PokemonSummarySerializer
@extend_schema(
description="A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all varieties of Pokémon within the species. A good example is Wormadam; Wormadam is the species which can be found in three different varieties, Wormadam-Trash, Wormadam-Sandy and Wormadam-Plant.",
summary="Get pokemon species",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List pokemon species",
)
)
class PokemonSpeciesResource(PokeapiCommonViewset): class PokemonSpeciesResource(PokeapiCommonViewset):
queryset = PokemonSpecies.objects.all().order_by("id") queryset = PokemonSpecies.objects.all().order_by("id")
serializer_class = PokemonSpeciesDetailSerializer serializer_class = PokemonSpeciesDetailSerializer
list_serializer_class = PokemonSpeciesSummarySerializer list_serializer_class = PokemonSpeciesSummarySerializer
@extend_schema(
description="A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species of Pokémon that can be encountered within them.",
summary="Get region",
tags=["location"],
)
@extend_schema_view(
list=extend_schema(
summary="List regions",
)
)
class RegionResource(PokeapiCommonViewset): class RegionResource(PokeapiCommonViewset):
queryset = Region.objects.all() queryset = Region.objects.all()
serializer_class = RegionDetailSerializer serializer_class = RegionDetailSerializer
list_serializer_class = RegionSummarySerializer list_serializer_class = RegionSummarySerializer
@extend_schema(
description="Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels and can be altered momentarily by effects in battles.",
summary="Get stat",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List stats",
)
)
class StatResource(PokeapiCommonViewset): class StatResource(PokeapiCommonViewset):
queryset = Stat.objects.all() queryset = Stat.objects.all()
serializer_class = StatDetailSerializer serializer_class = StatDetailSerializer
list_serializer_class = StatSummarySerializer list_serializer_class = StatSummarySerializer
@extend_schema(
description="Super contest effects refer to the effects of moves when used in super contests.",
summary="Get super contest effect",
tags=["contests"],
)
@extend_schema_view(
list=extend_schema(
summary="List super contest effects",
)
)
class SuperContestEffectResource(PokeapiCommonViewset): class SuperContestEffectResource(PokeapiCommonViewset):
queryset = SuperContestEffect.objects.all() queryset = SuperContestEffect.objects.all()
serializer_class = SuperContestEffectDetailSerializer serializer_class = SuperContestEffectDetailSerializer
list_serializer_class = SuperContestEffectSummarySerializer list_serializer_class = SuperContestEffectSummarySerializer
@extend_schema(
description="Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is super effective against, which types of Pokémon it is not very effective against, and which types of Pokémon it is completely ineffective against.",
summary="Get types",
tags=["pokemon"],
)
@extend_schema_view(
list=extend_schema(
summary="List types",
)
)
class TypeResource(PokeapiCommonViewset): class TypeResource(PokeapiCommonViewset):
queryset = Type.objects.all() queryset = Type.objects.all()
serializer_class = TypeDetailSerializer serializer_class = TypeDetailSerializer
list_serializer_class = TypeSummarySerializer list_serializer_class = TypeSummarySerializer
@extend_schema(
description="Versions of the games, e.g., Red, Blue or Yellow.",
summary="Get version",
tags=["games"],
)
@extend_schema_view(
list=extend_schema(
summary="List versions",
)
)
class VersionResource(PokeapiCommonViewset): class VersionResource(PokeapiCommonViewset):
queryset = Version.objects.all() queryset = Version.objects.all()
serializer_class = VersionDetailSerializer serializer_class = VersionDetailSerializer
list_serializer_class = VersionSummarySerializer list_serializer_class = VersionSummarySerializer
@extend_schema(
description="Version groups categorize highly similar versions of the games.",
summary="Get version group",
tags=["games"],
)
@extend_schema_view(
list=extend_schema(
summary="List version groups",
)
)
class VersionGroupResource(PokeapiCommonViewset): class VersionGroupResource(PokeapiCommonViewset):
queryset = VersionGroup.objects.all() queryset = VersionGroup.objects.all()
serializer_class = VersionGroupDetailSerializer serializer_class = VersionGroupDetailSerializer
list_serializer_class = VersionGroupSummarySerializer list_serializer_class = VersionGroupSummarySerializer
@extend_schema(
description="Handles Pokemon Encounters as a sub-resource.",
summary="Get pokemon encounter",
tags=["encounters"],
responses={
"200": {
"type": "array",
"items": {
"type": "object",
"required": ["location_area", "version_details"],
"properties": {
"location_area": {
"type": "object",
"required": ["name", "url"],
"properties": {
"name": {"type": "string", "example": "cerulean-city-area"},
"url": {
"type": "string",
"format": "uri",
"example": "https://pokeapi.co/api/v2/location-area/281/",
},
},
},
"version_details": {
"type": "array",
"items": {
"type": "object",
"required": ["encounter_details", "max_chance", "version"],
"properties": {
"encounter_details": {
"type": "array",
"items": {
"type": "object",
"required": [
"chance",
"condition_values",
"max_level",
"method",
"min_level",
],
"properties": {
"chance": {
"type": "number",
"example": 100,
},
"condition_values": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "url"],
"properties": {
"name": {
"type": "string",
"example": "story-progress-beat-red",
},
"url": {
"type": "string",
"format": "uri",
"example": "https://pokeapi.co/api/v2/encounter-condition-value/55/",
},
},
},
},
"max_level": {
"type": "number",
"example": 10,
},
"method": {
"type": "object",
"required": ["name", "url"],
"properties": {
"name": {
"type": "string",
"example": "gift",
},
"url": {
"type": "string",
"format": "uri",
"example": "https://pokeapi.co/api/v2/encounter-method/18/",
},
},
},
"min_level": {
"type": "number",
"example": 10,
},
},
},
},
"max_chance": {"type": "number", "example": 100},
"version": {
"type": "object",
"required": ["name", "url"],
"properties": {
"name": {"type": "string", "example": "red"},
"url": {
"type": "string",
"format": "uri",
"example": "https://pokeapi.co/api/v2/version/1/",
},
},
},
},
},
},
},
},
}
},
)
class PokemonEncounterView(APIView): class PokemonEncounterView(APIView):
"""
Handles Pokemon Encounters as a sub-resource.
"""
def get(self, request, pokemon_id): def get(self, request, pokemon_id):
self.context = dict(request=request) self.context = dict(request=request)

View file

@ -0,0 +1,41 @@
# Generated by Django 3.2.23 on 2024-02-02 18:02
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("pokemon_v2", "0014_auto_20231121_1209"),
]
operations = [
migrations.CreateModel(
name="PokemonCries",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("cries", models.JSONField()),
(
"pokemon",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="pokemoncries",
to="pokemon_v2.pokemon",
),
),
],
options={
"abstract": False,
},
),
]

View file

@ -1796,3 +1796,7 @@ class PokemonTypePast(HasPokemon, HasType, HasGeneration):
class PokemonSprites(HasPokemon): class PokemonSprites(HasPokemon):
sprites = models.JSONField() sprites = models.JSONField()
class PokemonCries(HasPokemon):
cries = models.JSONField()

File diff suppressed because it is too large Load diff

View file

@ -1679,42 +1679,46 @@ class APIData:
showdown = { showdown = {
"front_default": showdown_path % pokemon.id if front_default else None, "front_default": showdown_path % pokemon.id if front_default else None,
"front_female": showdown_path % f"female/{pokemon.id}" "front_female": (
if front_female showdown_path % f"female/{pokemon.id}" if front_female else None
else None, ),
"front_shiny": showdown_path % f"shiny/{pokemon.id}" "front_shiny": (
if front_shiny showdown_path % f"shiny/{pokemon.id}" if front_shiny else None
else None, ),
"front_shiny_female": showdown_path % f"shiny/female/{pokemon.id}" "front_shiny_female": (
if front_shiny_female showdown_path % f"shiny/female/{pokemon.id}"
else None, if front_shiny_female
"back_default": showdown_path % f"back/{pokemon.id}" else None
if back_default ),
else None, "back_default": (
"back_female": showdown_path % f"back/female/{pokemon.id}" showdown_path % f"back/{pokemon.id}" if back_default else None
if back_female ),
else None, "back_female": (
"back_shiny": showdown_path % f"back/shiny/{pokemon.id}" showdown_path % f"back/female/{pokemon.id}" if back_female else None
if back_shiny ),
else None, "back_shiny": (
"back_shiny_female": showdown_path % f"back/shiny/female/{pokemon.id}" showdown_path % f"back/shiny/{pokemon.id}" if back_shiny else None
if back_shiny_female ),
else None, "back_shiny_female": (
showdown_path % f"back/shiny/female/{pokemon.id}"
if back_shiny_female
else None
),
} }
sprites = { sprites = {
"front_default": sprite_path % pokemon.id if front_default else None, "front_default": sprite_path % pokemon.id if front_default else None,
"front_female": sprite_path % pokemon.id if front_female else None, "front_female": sprite_path % pokemon.id if front_female else None,
"front_shiny": sprite_path % pokemon.id if front_shiny else None, "front_shiny": sprite_path % pokemon.id if front_shiny else None,
"front_shiny_female": sprite_path % pokemon.id "front_shiny_female": (
if front_shiny_female sprite_path % pokemon.id if front_shiny_female else None
else None, ),
"back_default": sprite_path % pokemon.id if back_default else None, "back_default": sprite_path % pokemon.id if back_default else None,
"back_female": sprite_path % pokemon.id if back_female else None, "back_female": sprite_path % pokemon.id if back_female else None,
"back_shiny": sprite_path % pokemon.id if back_shiny else None, "back_shiny": sprite_path % pokemon.id if back_shiny else None,
"back_shiny_female": sprite_path % pokemon.id "back_shiny_female": (
if back_shiny_female sprite_path % pokemon.id if back_shiny_female else None
else None, ),
} }
pokemon_sprites = PokemonSprites.objects.create( pokemon_sprites = PokemonSprites.objects.create(
@ -1725,6 +1729,21 @@ class APIData:
return pokemon_sprites return pokemon_sprites
@classmethod
def setup_pokemon_cries_data(cls, pokemon, latest=True, legacy=False):
cries_path = (
"https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/%s.ogg"
)
cries = {
"latest": cries_path % f"latest/{pokemon.id}" if latest else None,
"legacy": cries_path % f"legacy/{pokemon.id}" if legacy else None,
}
pokemon_cries = PokemonCries.objects.create(
pokemon=pokemon, cries=json.dumps(cries)
)
pokemon_cries.save()
return pokemon_cries
# Evolution Data # Evolution Data
@classmethod @classmethod
def setup_evolution_trigger_data(cls, name="evltn trgr"): def setup_evolution_trigger_data(cls, name="evltn trgr"):
@ -4596,6 +4615,7 @@ class APITests(APIData, APITestCase):
pokemon_species=pokemon_species, name="pkm for base pkmn spcs" pokemon_species=pokemon_species, name="pkm for base pkmn spcs"
) )
self.setup_pokemon_sprites_data(pokemon) self.setup_pokemon_sprites_data(pokemon)
self.setup_pokemon_cries_data(pokemon)
response = self.client.get( response = self.client.get(
"{}/pokemon-species/{}/".format(API_V2, pokemon_species.pk), "{}/pokemon-species/{}/".format(API_V2, pokemon_species.pk),
@ -4816,6 +4836,7 @@ class APITests(APIData, APITestCase):
) )
pokemon_item = self.setup_pokemon_item_data(pokemon=pokemon) pokemon_item = self.setup_pokemon_item_data(pokemon=pokemon)
pokemon_sprites = self.setup_pokemon_sprites_data(pokemon=pokemon) pokemon_sprites = self.setup_pokemon_sprites_data(pokemon=pokemon)
pokemon_cries = self.setup_pokemon_cries_data(pokemon, latest=True, legacy=True)
pokemon_game_index = self.setup_pokemon_game_index_data( pokemon_game_index = self.setup_pokemon_game_index_data(
pokemon=pokemon, game_index=10 pokemon=pokemon, game_index=10
) )
@ -5052,7 +5073,9 @@ class APITests(APIData, APITestCase):
) )
sprites_data = json.loads(pokemon_sprites.sprites) sprites_data = json.loads(pokemon_sprites.sprites)
cries_data = json.loads(pokemon_cries.cries)
response_sprites_data = json.loads(response.data["sprites"]) response_sprites_data = json.loads(response.data["sprites"])
response_cries_data = json.loads(response.data["cries"])
# sprite params # sprite params
self.assertEqual( self.assertEqual(
@ -5070,6 +5093,35 @@ class APITests(APIData, APITestCase):
response_sprites_data["other"]["showdown"]["back_default"], response_sprites_data["other"]["showdown"]["back_default"],
) )
# cries params
self.assertEqual(
cries_data["latest"],
"{}".format(cries_data["latest"]),
)
self.assertEqual(
cries_data["legacy"],
"{}".format(cries_data["legacy"]),
)
# test search pokemon using search query param `q=partial_name`
response = self.client.get(
"{}/pokemon/?q={}".format(API_V2, pokemon.name[:2]),
HTTP_HOST="testserver",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["count"], 1)
self.assertEqual(response.data["results"][0]["name"], pokemon.name)
response = self.client.get(
"{}/pokemon/?q={}".format(API_V2, pokemon.name[-3:]),
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["count"], 1)
self.assertEqual(response.data["results"][0]["name"], pokemon.name)
def test_pokemon_form_api(self): def test_pokemon_form_api(self):
pokemon_species = self.setup_pokemon_species_data() pokemon_species = self.setup_pokemon_species_data()
pokemon = self.setup_pokemon_data(pokemon_species=pokemon_species) pokemon = self.setup_pokemon_data(pokemon_species=pokemon_species)

View file

@ -11,3 +11,4 @@ mimeparse==0.1.3
psycopg2-binary==2.9.9 psycopg2-binary==2.9.9
python-dateutil==2.8.2 python-dateutil==2.8.2
python-mimeparse==1.6.0 python-mimeparse==1.6.0
drf-spectacular==0.27.2