mirror of
https://github.com/PokeAPI/pokeapi
synced 2024-11-24 20:33:04 +00:00
Merge branch 'PokeAPI:master' into master
This commit is contained in:
commit
d4e0013bb5
70 changed files with 27944 additions and 6998 deletions
|
@ -20,6 +20,9 @@ jobs:
|
|||
- run:
|
||||
name: Run tests
|
||||
command: make test
|
||||
- run:
|
||||
name: Generate OpenAPI schema
|
||||
command: make openapi-generate
|
||||
build:
|
||||
docker:
|
||||
- image: cimg/python:3.10.9
|
||||
|
|
|
@ -18,7 +18,7 @@ graphql
|
|||
.vscode
|
||||
.github
|
||||
.circleci
|
||||
docker-compose.yml
|
||||
docker-compose*
|
||||
.dockerignore
|
||||
/*.md
|
||||
/*.js
|
||||
|
|
|
@ -13,24 +13,24 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
# list of Docker images to use as base name for tags
|
||||
images: |
|
||||
pokeapi/pokeapi
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Login to DockerHub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v1
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME_NARAMSIM }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN_NARAMSIM }}
|
||||
|
@ -43,12 +43,12 @@ jobs:
|
|||
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Resources/docker/app/Dockerfile
|
||||
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 }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
- name: Image digest
|
42
.github/workflows/docker-build.yml
vendored
42
.github/workflows/docker-build.yml
vendored
|
@ -1,42 +0,0 @@
|
|||
name: Build Docker image
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: pokeapi/pokeapi
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Inspect builder
|
||||
run: |
|
||||
echo "Name: ${{ steps.buildx.outputs.name }}"
|
||||
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
||||
echo "Status: ${{ steps.buildx.outputs.status }}"
|
||||
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
||||
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
||||
- name: Build
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Resources/docker/app/Dockerfile
|
||||
push: false
|
||||
platforms: local
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
101
.github/workflows/docker-k8s.yml
vendored
Normal file
101
.github/workflows/docker-k8s.yml
vendored
Normal file
|
@ -0,0 +1,101 @@
|
|||
name: Build Docker image and create k8s with it
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: pokeapi/pokeapi
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Resources/docker/app/Dockerfile
|
||||
push: false
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
|
||||
tags: pokeapi/pokeapi:local
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
k8s:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: pokeapi/pokeapi
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: ./Resources/docker/app/Dockerfile
|
||||
push: false
|
||||
load: true
|
||||
platforms: local
|
||||
tags: pokeapi/pokeapi:local
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
- name: Lint k8s
|
||||
run: (cd Resources/k8s/kustomize && yamllint .)
|
||||
- name: Create k8s Kind Cluster
|
||||
uses: helm/kind-action@v1.10.0
|
||||
with:
|
||||
cluster_name: pokeapi
|
||||
version: v0.21.0
|
||||
- name: Create deployment configuration
|
||||
run: |
|
||||
cp Resources/k8s/kustomize/base/secrets/postgres.env.sample Resources/k8s/kustomize/base/secrets/postgres.env
|
||||
cp Resources/k8s/kustomize/base/secrets/graphql.env.sample Resources/k8s/kustomize/base/secrets/graphql.env
|
||||
cp Resources/k8s/kustomize/base/config/pokeapi.env.sample Resources/k8s/kustomize/base/config/pokeapi.env
|
||||
- name: Load local image to Kind
|
||||
run: kind load docker-image pokeapi/pokeapi:local --name pokeapi
|
||||
- name: K8s Apply
|
||||
run: |
|
||||
make kustomize-local-apply
|
||||
kubectl proxy &
|
||||
sleep 1
|
||||
bash Resources/scripts/wait.sh http://localhost:8001/api/v1/namespaces/pokeapi/services/pokeapi/proxy/api/v2/
|
||||
- name: Set default namespace and print info
|
||||
run: |
|
||||
kubectl config set-context --current --namespace pokeapi
|
||||
kubectl describe deployment
|
||||
- name: Migrate and build data
|
||||
run: |
|
||||
make k8s-migrate
|
||||
make k8s-build-db
|
||||
bash Resources/scripts/wait.sh http://localhost:8001/api/v1/namespaces/pokeapi/services/pokeapi/proxy/api/v2/pal-park-area/5/
|
||||
- name: K8s wait for job
|
||||
run: |
|
||||
kubectl wait --timeout=600s --for=condition=complete job/load-graphql
|
||||
last_command=$(kubectl get job -o jsonpath='{.status.succeeded}' load-graphql)
|
||||
test "$last_command" -eq 1
|
||||
- name: Get GQL output
|
||||
run: kubectl logs jobs/load-graphql
|
50
.github/workflows/kustomize.yml
vendored
50
.github/workflows/kustomize.yml
vendored
|
@ -1,50 +0,0 @@
|
|||
name: Deploy Kustomize k8s cluster
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Build and Push Docker image"]
|
||||
branches: [master, staging]
|
||||
types:
|
||||
- completed
|
||||
schedule:
|
||||
- cron: '0 0 1 * *'
|
||||
|
||||
jobs:
|
||||
create-kustomize-cluster:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Lint
|
||||
run: (cd Resources/k8s/kustomize && yamllint .)
|
||||
- name: Create k8s Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
version: v0.11.1
|
||||
- name: Create deployment configuration
|
||||
run: |
|
||||
cp Resources/k8s/kustomize/base/secrets/postgres.env.sample Resources/k8s/kustomize/base/secrets/postgres.env
|
||||
cp Resources/k8s/kustomize/base/secrets/graphql.env.sample Resources/k8s/kustomize/base/secrets/graphql.env
|
||||
cp Resources/k8s/kustomize/base/config/pokeapi.env.sample Resources/k8s/kustomize/base/config/pokeapi.env
|
||||
- name: K8s Apply
|
||||
run: |
|
||||
if [ ${GITHUB_REF#refs/heads/} = 'master' ]; then make kustomize-apply; else make kustomize-staging-apply; fi
|
||||
kubectl proxy &
|
||||
kubectl describe deployment
|
||||
bash Resources/scripts/wait.sh http://localhost:8001/api/v1/namespaces/pokeapi/services/pokeapi/proxy/api/v2/
|
||||
- name: Set default namespace
|
||||
run: |
|
||||
kubectl config set-context --current --namespace pokeapi
|
||||
- name: Migrate and build data
|
||||
run: |
|
||||
make k8s-migrate
|
||||
make k8s-build-db
|
||||
bash Resources/scripts/wait.sh http://localhost:8001/api/v1/namespaces/pokeapi/services/pokeapi/proxy/api/v2/pal-park-area/5/
|
||||
- name: K8s Apply
|
||||
run: |
|
||||
kubectl wait --timeout=120s --for=condition=complete job/load-graphql
|
||||
last_command=$(kubectl get job -o jsonpath='{.status.succeeded}' load-graphql)
|
||||
test "$last_command" -eq 1
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "data/v2/sprites"]
|
||||
path = data/v2/sprites
|
||||
url = https://github.com/PokeAPI/sprites.git
|
||||
[submodule "data/v2/cries"]
|
||||
path = data/v2/cries
|
||||
url = https://github.com/PokeAPI/cries.git
|
||||
|
|
50
Makefile
50
Makefile
|
@ -1,6 +1,7 @@
|
|||
veekun_pokedex_repository = ../pokedex
|
||||
local_config = --settings=config.local
|
||||
docker_config = --settings=config.docker-compose
|
||||
gql_compose_config = -f docker-compose.yml -f Resources/compose/docker-compose-prod-graphql.yml
|
||||
|
||||
.PHONY: help
|
||||
.SILENT:
|
||||
|
@ -41,39 +42,42 @@ make-migrations: # Create migrations files if schema has changed
|
|||
shell: # Load a shell
|
||||
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-compose up -d
|
||||
docker compose up -d
|
||||
|
||||
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-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-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-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 rm -f pokeapi_db_1
|
||||
docker volume rm pokeapi_pg_data
|
||||
|
||||
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-compose stop
|
||||
docker compose stop
|
||||
|
||||
docker-down: # (Docker) Stop and removes containers and networks
|
||||
docker-compose down
|
||||
docker compose down
|
||||
|
||||
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-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
|
||||
|
||||
|
@ -112,14 +116,17 @@ hasura-get-anon-schema: # Dumps GraphQL schema
|
|||
kustomize-apply: # (Kustomize) Run kubectl apply -k on the connected k8s cluster
|
||||
kubectl apply -k Resources/k8s/kustomize/base/
|
||||
|
||||
kustomize-staging-apply: # (Kustomize) Run kubectl apply -k on the connected k8s cluster
|
||||
kustomize-staging-apply: # (Kustomize) Run kubectl apply -k on the connected k8s cluster using pokeapi/pokeapi:staging
|
||||
kubectl apply -k Resources/k8s/kustomize/staging/
|
||||
|
||||
kustomize-local-apply: # (Kustomize) Run kubectl apply -k on the connected k8s cluster using the locally available pokeapi/pokeapi:local
|
||||
kubectl apply -k Resources/k8s/kustomize/local/
|
||||
|
||||
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
|
||||
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
|
||||
kubectl delete namespace pokeapi
|
||||
|
@ -135,17 +142,20 @@ down-graphql-prod:
|
|||
docker system prune --all --volumes --force
|
||||
sync; echo 3 > /proc/sys/vm/drop_caches
|
||||
|
||||
# Nginx doesn't start if upstream graphql-engine is down
|
||||
update-graphql-data-prod:
|
||||
docker compose ${gql_compose_config} stop
|
||||
git pull origin master
|
||||
git submodule update --init
|
||||
docker compose stop graphql-engine
|
||||
git submodule update --remote --merge
|
||||
docker compose ${gql_compose_config} up --pull always -d app cache db
|
||||
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-build-db
|
||||
docker compose stop app
|
||||
sync; echo 3 > /proc/sys/vm/drop_caches
|
||||
docker compose exec -T web sh -c 'rm -rf /tmp/cache/*'
|
||||
docker compose start graphql-engine
|
||||
docker compose ${gql_compose_config} stop app cache
|
||||
docker compose ${gql_compose_config} up --pull always -d graphql-engine graphiql
|
||||
sleep 120
|
||||
make hasura-apply
|
||||
docker compose ${gql_compose_config} up --pull always -d web
|
||||
docker compose exec -T web sh -c 'rm -rf /tmp/cache/*'
|
||||
docker image prune -af
|
||||
sync; echo 3 > /proc/sys/vm/drop_caches
|
||||
|
|
81
README.md
81
README.md
|
@ -37,7 +37,7 @@ A RESTful API for Pokémon - [pokeapi.co](https://pokeapi.co)
|
|||
make setup
|
||||
```
|
||||
|
||||
- Run the server using the following command:
|
||||
- Run the server on port `8000` using the following command:
|
||||
|
||||
```sh
|
||||
make serve
|
||||
|
@ -45,25 +45,34 @@ A RESTful API for Pokémon - [pokeapi.co](https://pokeapi.co)
|
|||
|
||||
### Database setup
|
||||
|
||||
To build or rebuild the database by applying any CSV file update, run
|
||||
|
||||
```sh
|
||||
make build-db
|
||||
```
|
||||
|
||||
Visit [localhost:80/api/v2/](localhost:80/api/v2/) to see the running API!
|
||||
Visit [localhost:8000/api/v2/](http://localhost:8000/api/v2/) to see the running API!
|
||||
|
||||
Each time the build script is run, it will iterate over each table in the database, wipe it, and rewrite each row using the data found in data/v2/csv.
|
||||
|
||||
The option to build individual portions of the database was removed in order to increase performance of the build script.
|
||||
Each time the `build-db` script is run, it will iterate over each table in the database, wipe it, and rewrite each row using the data found in data/v2/csv.
|
||||
|
||||
If you ever need to wipe the database use this command:
|
||||
|
||||
```sh
|
||||
make wipe_db
|
||||
make wipe-sqlite-db
|
||||
```
|
||||
|
||||
If the database schema has changed, generate any outstanding migrations and apply them
|
||||
|
||||
```sh
|
||||
make make-migrations
|
||||
make migrate
|
||||
```
|
||||
|
||||
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)
|
||||
|
||||
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 services 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
|
||||
|
||||
|
@ -74,16 +83,29 @@ make docker-setup
|
|||
If you don't have `make` on your machine you can use the following commands
|
||||
|
||||
```sh
|
||||
docker-compose up -d
|
||||
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 up -d
|
||||
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'
|
||||
```
|
||||
|
||||
Browse [localhost/api/v2/](http://localhost/api/v2/) or [localhost/api/v2/pokemon/bulbasaur/](http://localhost/api/v2/pokemon/bulbasaur/) on port `80`.
|
||||
|
||||
To rebuild the database and apply any CSV file updates, run
|
||||
|
||||
```sh
|
||||
make docker-build-db
|
||||
```
|
||||
|
||||
If the database schema has changed, generate the migrations and apply those
|
||||
|
||||
```sh
|
||||
make docker-make-migrations
|
||||
make docker-migrate
|
||||
```
|
||||
|
||||
## GraphQL <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
|
||||
# hasura cli needs to be installed and available in your $PATH: https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html
|
||||
|
@ -95,9 +117,9 @@ When finished browse http://localhost:8080 and you will find the admin console.
|
|||
|
||||
A free public GraphiQL console is browsable at the address https://beta.pokeapi.co/graphql/console/. The relative GraphQL endpoint is accessible at https://beta.pokeapi.co/graphql/v1beta
|
||||
|
||||
A set of examples are provided in the directory [/graphql/examples](./graphql/examples) of this repository.
|
||||
A set of examples is provided in the directory [/graphql/examples](./graphql/examples) of this repository.
|
||||
|
||||
## Kubernetes [![k8s status](https://github.com/PokeAPI/pokeapi/actions/workflows/kustomize.yml/badge.svg?branch=master)](https://github.com/PokeAPI/pokeapi/actions/workflows/kustomize.yml)
|
||||
## Kubernetes [![Build Docker image and create k8s with it](https://github.com/PokeAPI/pokeapi/actions/workflows/docker-k8s.yml/badge.svg)](https://github.com/PokeAPI/pokeapi/actions/workflows/docker-k8s.yml)
|
||||
|
||||
[Kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) files are provided in the folder https://github.com/PokeAPI/pokeapi/tree/master/Resources/k8s/kustomize/base/. Create and change your secrets:
|
||||
|
||||
|
@ -131,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 3 | [PokeAPI/pokebase](https://github.com/PokeAPI/pokebase) | _Auto caching_, _Image caching_ |
|
||||
|
||||
| Wrapper | Repository | Features |
|
||||
| --- | --- | --- |
|
||||
| PHP | [lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi) | _Auto caching, lazy loading_ |
|
||||
| Ruby | [rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2) | |
|
||||
| .Net Standard | [mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet) | _Auto caching_ |
|
||||
| Go | [mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go) | _Auto caching_ |
|
||||
| Dart | [prathanbomb/pokedart](https://github.com/prathanbomb/pokedart) | |
|
||||
| Rust | [lunik1/pokerust](https://gitlab.com/lunik1/pokerust) | _Auto caching_ |
|
||||
| Spring Boot | [dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi) | _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_ |
|
||||
| Python | [beastmatser/aiopokeapi](https://github.com/beastmatser/aiopokeapi) | _Auto caching, asynchronous_
|
||||
| Scala | [juliano/pokeapi-scala](https://github.com/juliano/pokeapi-scala) | _Auto caching_ |
|
||||
|Wrapper|Repository|Features|
|
||||
|---|---|---|
|
||||
|.Net Standard |[mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet)|Auto caching |
|
||||
|Dart|[prathanbomb/pokedart](https://github.com/prathanbomb/pokedart)| |
|
||||
|Go|[mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go)|Auto caching |
|
||||
|PHP |[lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi)|Auto caching, lazy loading |
|
||||
|PowerShell|[Celerium/PokeAPI-PowerShellWrapper](https://github.com/Celerium/PokeAPI-PowerShellWrapper)| |
|
||||
|Python|[beastmatser/aiopokeapi](https://github.com/beastmatser/aiopokeapi)|Auto caching, asynchronous |
|
||||
|Ruby|[rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2)| |
|
||||
|Rust|[lunik1/pokerust](https://gitlab.com/lunik1/pokerust)|Auto caching |
|
||||
|Scala |[juliano/pokeapi-scala](https://github.com/juliano/pokeapi-scala)|Auto caching |
|
||||
|Spring Boot |[dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi)|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
|
||||
|
||||
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)
|
||||
|
||||
|
@ -161,7 +184,7 @@ Thank you to all our backers! [Become a backer](https://opencollective.com/pokea
|
|||
Have a question or just want to discuss new ideas and improvements? Hit us up on Slack. ~~Consider talking with us here before creating a new issue.~~
|
||||
This way we can keep issues here a bit more organized and helpful in the long run. Be excellent to each other :smile:
|
||||
|
||||
[Sign up](https://join.slack.com/t/pokeapi/shared_invite/zt-1l4vpwa8k-muQmMrFfv7TIFGrVWzjzcw) easily!
|
||||
[Sign up](https://join.slack.com/t/pokeapi/shared_invite/zt-2ampo6her-_tHSI3uOS65WzGypt7Y96w) easily!
|
||||
|
||||
Once you've signed up visit [PokéAPI on Slack](https://pokeapi.slack.com)
|
||||
|
||||
|
@ -171,7 +194,7 @@ This project exists thanks to all the people who [contribute](https://github.com
|
|||
|
||||
<a href="graphs/contributors"><img src="https://opencollective.com/pokeapi/contributors.svg?width=890" /></a>
|
||||
|
||||
All contributions are welcome: bug fixes, data contributions, recommendations.
|
||||
All contributions are welcome: bug fixes, data contributions, and recommendations.
|
||||
|
||||
Please see the [issues on GitHub](https://github.com/PokeAPI/pokeapi/issues) before you submit a pull request or raise an issue, someone else might have beat you to it.
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
version: '2.4'
|
||||
services:
|
||||
cache:
|
||||
restart: "no"
|
||||
|
||||
db:
|
||||
environment:
|
||||
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
|
||||
|
@ -13,6 +16,8 @@ services:
|
|||
web:
|
||||
volumes:
|
||||
- graphiql:/public-console:ro
|
||||
logging:
|
||||
driver: gcplogs
|
||||
|
||||
graphql-engine:
|
||||
cpus: 0.7
|
||||
|
|
|
@ -7,9 +7,9 @@ RUN mkdir /code
|
|||
WORKDIR /code
|
||||
|
||||
ADD requirements.txt /code/
|
||||
RUN \
|
||||
apk add --no-cache postgresql-libs libstdc++ && \
|
||||
apk add --no-cache --virtual .build-deps gcc g++ musl-dev postgresql-dev && \
|
||||
RUN apk add --no-cache postgresql-libs libstdc++
|
||||
RUN apk add --no-cache --virtual .build-deps gcc g++ musl-dev \
|
||||
postgresql-dev rust cargo && \
|
||||
python3 -m pip install -r requirements.txt --no-cache-dir && \
|
||||
apk --purge del .build-deps
|
||||
ADD . /code/
|
||||
|
|
|
@ -35,7 +35,7 @@ The container connects to a Redis cache via the environment variable `REDIS_CONN
|
|||
|
||||
### 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.
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
ADMINS=PokeAPI,change.me@pokeapi.co
|
||||
BASE_URL=http://localhost/
|
||||
POKEAPI_CHECKOUT_REF=master
|
|
@ -25,7 +25,7 @@ spec:
|
|||
done;
|
||||
containers:
|
||||
- name: graphql-engine
|
||||
image: hasura/graphql-engine:v2.16.1
|
||||
image: hasura/graphql-engine:v2.36.4
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
|
|
|
@ -26,7 +26,7 @@ spec:
|
|||
containers:
|
||||
- name: pokeapi
|
||||
image: pokeapi/pokeapi:master
|
||||
imagePullPolicy: Always
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
securityContext: # CI: Github Actions kills this container if not run with root. Otherwise, it's safe to use the default pokeapi/pokeapi user and remove these lines.
|
||||
|
|
|
@ -25,13 +25,17 @@ spec:
|
|||
secretKeyRef:
|
||||
name: graphql-env-secret
|
||||
key: HASURA_GRAPHQL_ADMIN_SECRET
|
||||
- name: POKEAPI_CHECKOUT_REF
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: pokeapi-configmap
|
||||
key: POKEAPI_CHECKOUT_REF
|
||||
command: ["sh", "-c"]
|
||||
args:
|
||||
- apt-get update &&
|
||||
apt-get install -y git curl &&
|
||||
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash &&
|
||||
hasura update-cli --version v2.0.8 &&
|
||||
- apt-get update && apt-get install -y curl git &&
|
||||
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | VERSION=v2.36.4 bash &&
|
||||
cd /tmp &&
|
||||
git clone https://github.com/PokeAPI/pokeapi.git &&
|
||||
cd pokeapi &&
|
||||
git checkout staging &&
|
||||
(git checkout $(POKEAPI_CHECKOUT_REF) || git checkout master) &&
|
||||
hasura md apply --endpoint http://graphql:8080 --project graphql --admin-secret $(HASURA_GRAPHQL_ADMIN_SECRET)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace: pokeapi
|
|||
|
||||
configMapGenerator:
|
||||
- name: pokeapi-configmap
|
||||
files:
|
||||
envs:
|
||||
- config/pokeapi.env
|
||||
|
||||
secretGenerator:
|
||||
|
|
9
Resources/k8s/kustomize/local/kustomization.yaml
Normal file
9
Resources/k8s/kustomize/local/kustomization.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
bases:
|
||||
- ../base
|
||||
|
||||
images:
|
||||
- name: pokeapi/pokeapi
|
||||
newTag: local
|
|
@ -2,26 +2,32 @@ worker_processes 1;
|
|||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
multi_accept on; # accept each connection as soon as you can
|
||||
multi_accept on;
|
||||
accept_mutex off;
|
||||
use epoll;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
access_log off;
|
||||
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_header_buffer_size 2k;
|
||||
client_max_body_size 8m; # we dont accept requests larger that 8mb
|
||||
client_body_buffer_size 10K;
|
||||
client_header_buffer_size 1k;
|
||||
client_max_body_size 8m;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
|
||||
keepalive_timeout 5;
|
||||
|
||||
|
@ -47,6 +53,16 @@ http {
|
|||
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 {
|
||||
0 "";
|
||||
1 $binary_remote_addr;
|
||||
|
@ -69,7 +85,7 @@ http {
|
|||
|
||||
# Admin console
|
||||
location /graphql/admin/ {
|
||||
expires 1m; # client-side caching, one minute for each API resource
|
||||
expires 1m;
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
proxy_http_version 1.1;
|
||||
|
@ -89,21 +105,15 @@ http {
|
|||
}
|
||||
|
||||
location /graphql/v1beta {
|
||||
access_log /dev/stdout pokeapilogformat if=$only_post;
|
||||
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_status 429;
|
||||
expires 30m; # client-side caching, one minute for each API resource
|
||||
expires 30m;
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
# add_header X-Proxy-Cache $upstream_cache_status;
|
||||
proxy_hide_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_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
|
@ -115,7 +125,7 @@ http {
|
|||
}
|
||||
|
||||
location /api/ {
|
||||
expires 1m; # client-side caching, one minute for each API resource
|
||||
expires 1m;
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
|
|
|
@ -99,6 +99,7 @@ INSTALLED_APPS = (
|
|||
"corsheaders",
|
||||
"rest_framework",
|
||||
"cachalot",
|
||||
"drf_spectacular",
|
||||
) + CUSTOM_APPS
|
||||
|
||||
|
||||
|
@ -116,6 +117,7 @@ REST_FRAMEWORK = {
|
|||
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
|
||||
"PAGE_SIZE": 20,
|
||||
"PAGINATE_BY": 20,
|
||||
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
|
||||
}
|
||||
|
||||
|
||||
|
@ -136,3 +138,106 @@ TEMPLATES = [
|
|||
]
|
||||
|
||||
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.
|
||||
""",
|
||||
"SORT_OPERATIONS": False,
|
||||
"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": [
|
||||
{
|
||||
"name": "pokemon",
|
||||
"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.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "evolution",
|
||||
"description": "Evolution is a process in which a Pokémon changes into a different species of Pokémon.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Evolution",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "berries",
|
||||
"description": "Berries can be soft or hard. Check out [Bulbapedia](http://bulbapedia.bulbagarden.net/wiki/Category:Berries_by_firmness) for greater detail.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Berry",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "items",
|
||||
"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.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Item",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "machines",
|
||||
"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.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/TM",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "location",
|
||||
"description": "Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_index_number",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "contest",
|
||||
"description": "Pokémon Contests are a type of competition often contrasted with Pokémon battles and held in Contest Halls",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Contest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "moves",
|
||||
"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.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_name",
|
||||
},
|
||||
},
|
||||
{"name": "encounters"},
|
||||
{
|
||||
"name": "games",
|
||||
"description": "The Pokémon games are all video games in the Pokémon franchise.",
|
||||
"externalDocs": {
|
||||
"description": "Find more info here",
|
||||
"url": "https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_games",
|
||||
},
|
||||
},
|
||||
{"name": "utility"},
|
||||
],
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ middleware here, or combine a Django application with an application of another
|
|||
framework.
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
|
|
|
@ -36,8 +36,16 @@ MEDIA_DIR = "{prefix}{{file_name}}".format(
|
|||
"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/"
|
||||
CRIES_DIR = os.getcwd() + "/data/v2/cries/cries/"
|
||||
RESOURCE_IMAGES = []
|
||||
RESOURCE_CRIES = []
|
||||
|
||||
for root, dirs, files in os.walk(IMAGE_DIR):
|
||||
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
|
||||
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 (
|
||||
MEDIA_DIR.format(file_name=file_name) if file_name in RESOURCE_IMAGES else None
|
||||
)
|
||||
|
@ -609,6 +629,45 @@ def _build_types():
|
|||
|
||||
build_generic((TypeEfficacyPast,), "type_efficacy_past.csv", csv_record_to_objects)
|
||||
|
||||
def csv_record_to_objects(info):
|
||||
game_map = {
|
||||
"generation-iii": [
|
||||
"colosseum",
|
||||
"emerald",
|
||||
"firered-leafgreen",
|
||||
"ruby-saphire",
|
||||
"xd",
|
||||
],
|
||||
"generation-iv": ["diamond-pearl", "heartgold-soulsilver", "platinum"],
|
||||
"generation-v": ["black-2-white-2", "black-white"],
|
||||
"generation-vi": ["omega-ruby-alpha-sapphire", "x-y"],
|
||||
"generation-vii": [
|
||||
"lets-go-pikachu-lets-go-eevee",
|
||||
"sun-moon",
|
||||
"ultra-sun-ultra-moon",
|
||||
],
|
||||
"generation-viii": [
|
||||
"brilliant-diamond-and-shining-pearl",
|
||||
"legends-arceus",
|
||||
"sword-shield",
|
||||
],
|
||||
"generation-ix": ["scarlet-violet"],
|
||||
}
|
||||
sprites = {}
|
||||
for generation in game_map.keys():
|
||||
for game in game_map[generation]:
|
||||
if generation not in sprites:
|
||||
sprites[generation] = {}
|
||||
sprites[generation][game] = {
|
||||
"name_icon": file_path_or_none(
|
||||
f"types/{generation}/{game}/{info[0]}.png"
|
||||
)
|
||||
}
|
||||
|
||||
yield TypeSprites(type_id=int(info[0]), sprites=sprites)
|
||||
|
||||
build_generic((TypeSprites,), "types.csv", csv_record_to_objects)
|
||||
|
||||
|
||||
#############
|
||||
# CONTEST #
|
||||
|
@ -1222,9 +1281,11 @@ def _build_locations():
|
|||
id=int(info[0]),
|
||||
location_id=int(info[1]),
|
||||
game_index=int(info[2]),
|
||||
name="{}-{}".format(location.name, info[3])
|
||||
if info[3]
|
||||
else "{}-{}".format(location.name, "area"),
|
||||
name=(
|
||||
"{}-{}".format(location.name, info[3])
|
||||
if info[3]
|
||||
else "{}-{}".format(location.name, "area")
|
||||
),
|
||||
)
|
||||
|
||||
build_generic((LocationArea,), "location_areas.csv", csv_record_to_objects)
|
||||
|
@ -1931,6 +1992,26 @@ def _build_pokemons():
|
|||
|
||||
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):
|
||||
yield PokemonAbility(
|
||||
pokemon_id=int(info[0]),
|
||||
|
|
1
data/v2/cries
Submodule
1
data/v2/cries
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 8584048df8f55ee1c436da23b378316e9d416a9b
|
File diff suppressed because it is too large
Load diff
|
@ -2002,7 +2002,7 @@ ability_id,local_language_id,name
|
|||
201,1,ぎゃくじょう
|
||||
201,3,발끈
|
||||
201,4,怒火沖天
|
||||
201,5,Dracolère
|
||||
201,5,Folle Furie
|
||||
201,6,Wutausbruch
|
||||
201,7,Cólera
|
||||
201,8,Furore
|
||||
|
@ -2889,7 +2889,7 @@ ability_id,local_language_id,name
|
|||
299,1,しんがん
|
||||
299,3,심안
|
||||
299,4,心眼
|
||||
299,5,Œil Révélateur
|
||||
299,5,Œil Révélateur
|
||||
299,7,Ojo Mental
|
||||
299,8,Occhio Interiore
|
||||
299,9,Mind’s Eye
|
||||
|
|
|
|
@ -159,5 +159,5 @@ encounter_condition_value_id,local_language_id,name
|
|||
69,5,Après avoir parlé à 32 personnes dans les souterrains
|
||||
70,9,Returned Machine Part to Power Plant
|
||||
70,5,Après avoir rapporté la pièce de machine à la centrale
|
||||
10,9,Have an Event Arceus in the party
|
||||
10,5,En ayant un Arceus événementiel dans l’équipe
|
||||
71,9,Have an Event Arceus in the party
|
||||
71,5,En ayant un Arceus événementiel dans l’équipe
|
||||
|
|
|
|
@ -61,9 +61,9 @@ encounter_method_id,local_language_id,name
|
|||
22,9,Headbutting a low encounter rate tree
|
||||
22,5,En utilisant Coup d’Boule sur un arbre à taux bas
|
||||
23,9,Headbutting a normal encounter rate tree
|
||||
22,5,En utilisant Coup d’Boule sur un arbre à taux normal
|
||||
23,5,En utilisant Coup d’Boule sur un arbre à taux normal
|
||||
24,9,Headbutting a high encounter rate tree
|
||||
22,5,En utilisant Coup d’Boule sur un arbre à taux élevé
|
||||
24,5,En utilisant Coup d’Boule sur un arbre à taux élevé
|
||||
25,9,Using the Squirt Bottle on a Sudowoodo
|
||||
25,5,En utilisant la Carapuce à O sur Simularbre
|
||||
26,9,Using the Wailmer Pail on a Sudowoodo
|
||||
|
|
|
|
@ -30,3 +30,9 @@ id,identifier,order
|
|||
29,roaming-water,29
|
||||
30,devon-scope,30
|
||||
31,feebas-tile-fishing,31
|
||||
32,island-scan,32
|
||||
33,sos-encounter,33
|
||||
34,bubbling-spots,34
|
||||
35,berry-piles,35
|
||||
36,npc-trade,36
|
||||
37,sos-from-bubbling-spot,37
|
||||
|
|
|
|
@ -711,3 +711,430 @@ id,version_group_id,encounter_method_id,slot,rarity
|
|||
710,6,30,1,100
|
||||
711,5,31,1,50
|
||||
712,6,31,1,50
|
||||
713,17,18,1,100
|
||||
714,17,32,1,100
|
||||
715,17,1,1,50
|
||||
716,17,1,2,30
|
||||
717,17,1,3,30
|
||||
718,17,1,4,15
|
||||
719,17,1,5,5
|
||||
720,18,34,1,40
|
||||
721,18,34,2,35
|
||||
722,18,34,3,25
|
||||
723,18,32,1,100
|
||||
724,18,33,1,15
|
||||
725,18,33,2,15
|
||||
726,18,33,3,15
|
||||
727,18,37,1,15
|
||||
728,18,37,2,15
|
||||
729,18,4,1,55
|
||||
730,18,4,2,40
|
||||
731,18,4,3,5
|
||||
732,18,1,1,50
|
||||
733,18,1,2,30
|
||||
734,18,1,3,20
|
||||
735,18,1,4,20
|
||||
736,18,1,5,20
|
||||
737,18,1,6,15
|
||||
738,18,1,7,15
|
||||
739,17,1,1,30
|
||||
740,17,1,4,20
|
||||
741,17,1,5,20
|
||||
742,17,1,6,20
|
||||
743,18,1,1,20
|
||||
744,18,1,2,20
|
||||
745,18,1,7,10
|
||||
746,18,1,8,10
|
||||
747,18,1,9,5
|
||||
748,17,5,1,40
|
||||
749,17,5,2,40
|
||||
750,17,5,3,20
|
||||
751,17,1,2,50
|
||||
752,17,1,4,30
|
||||
753,17,1,5,30
|
||||
754,17,1,7,20
|
||||
755,17,33,1,15
|
||||
756,17,33,2,15
|
||||
757,17,33,3,15
|
||||
758,17,33,4,15
|
||||
759,17,33,5,15
|
||||
760,17,1,3,20
|
||||
761,17,1,5,10
|
||||
762,17,1,6,10
|
||||
763,17,1,7,10
|
||||
764,17,1,8,10
|
||||
765,17,1,9,5
|
||||
766,18,1,1,30
|
||||
767,18,1,6,10
|
||||
768,18,20,1,100
|
||||
769,18,20,2,100
|
||||
770,18,1,3,10
|
||||
771,18,1,4,10
|
||||
772,17,1,5,15
|
||||
773,18,18,1,100
|
||||
774,18,18,2,100
|
||||
775,18,18,3,100
|
||||
776,18,1,1,35
|
||||
777,18,1,2,35
|
||||
778,18,1,3,35
|
||||
779,18,1,4,30
|
||||
780,17,35,1,100
|
||||
781,17,34,1,80
|
||||
782,17,34,2,20
|
||||
783,18,35,1,100
|
||||
784,18,34,1,50
|
||||
785,18,34,2,30
|
||||
786,18,34,3,20
|
||||
787,18,1,3,30
|
||||
788,17,1,1,20
|
||||
789,17,1,2,20
|
||||
790,17,1,9,10
|
||||
791,17,1,1,40
|
||||
792,17,1,4,10
|
||||
793,17,4,1,79
|
||||
794,17,4,2,20
|
||||
795,17,4,3,1
|
||||
796,17,34,1,50
|
||||
797,17,34,2,30
|
||||
798,17,34,3,20
|
||||
799,17,37,1,15
|
||||
800,18,5,1,30
|
||||
801,18,5,2,30
|
||||
802,18,5,3,20
|
||||
803,18,5,4,20
|
||||
804,18,1,5,10
|
||||
805,18,34,1,35
|
||||
806,18,34,4,10
|
||||
807,18,33,4,15
|
||||
808,18,37,3,15
|
||||
809,18,4,1,50
|
||||
810,18,4,4,5
|
||||
811,18,5,1,40
|
||||
812,18,5,2,40
|
||||
813,17,18,2,100
|
||||
814,17,18,3,100
|
||||
815,17,18,4,100
|
||||
816,17,1,1,100
|
||||
817,17,33,1,10
|
||||
818,17,33,2,10
|
||||
819,17,33,3,100
|
||||
820,18,33,1,10
|
||||
821,18,33,2,10
|
||||
822,18,33,3,100
|
||||
823,18,1,7,5
|
||||
824,17,33,3,1
|
||||
825,18,33,3,1
|
||||
826,18,1,1,40
|
||||
827,18,1,6,20
|
||||
828,18,33,5,15
|
||||
829,17,36,1,100
|
||||
830,18,36,1,100
|
||||
831,17,34,1,70
|
||||
832,17,34,2,70
|
||||
833,17,34,3,30
|
||||
834,18,34,3,30
|
||||
835,18,34,4,15
|
||||
836,18,34,5,5
|
||||
837,18,34,6,5
|
||||
838,18,1,9,10
|
||||
839,18,1,10,10
|
||||
840,18,1,11,10
|
||||
841,18,34,1,70
|
||||
842,17,1,1,49
|
||||
843,17,1,6,1
|
||||
844,18,1,3,29
|
||||
845,18,1,5,1
|
||||
846,17,1,2,25
|
||||
847,18,1,2,25
|
||||
848,18,1,10,5
|
||||
849,17,34,1,100
|
||||
850,17,1,6,9
|
||||
851,17,1,7,1
|
||||
852,18,34,1,100
|
||||
853,18,1,6,9
|
||||
854,18,1,7,1
|
||||
855,17,5,1,30
|
||||
856,17,5,2,30
|
||||
857,17,5,4,20
|
||||
858,18,34,2,45
|
||||
859,18,34,3,35
|
||||
860,18,34,4,20
|
||||
861,18,18,4,100
|
||||
862,18,18,5,100
|
||||
863,18,18,6,100
|
||||
864,18,18,7,100
|
||||
865,18,18,8,100
|
||||
866,18,18,9,100
|
||||
867,18,18,10,100
|
||||
868,17,34,1,60
|
||||
869,17,20,1,100
|
||||
870,17,1,6,5
|
||||
871,18,34,4,5
|
||||
872,18,33,6,15
|
||||
873,18,4,2,30
|
||||
874,18,4,3,15
|
||||
875,18,1,4,15
|
||||
876,18,1,5,15
|
||||
877,17,4,1,70
|
||||
878,17,4,2,15
|
||||
879,17,4,3,10
|
||||
880,17,4,4,5
|
||||
881,18,4,2,20
|
||||
882,18,4,4,15
|
||||
883,18,4,1,49
|
||||
884,18,4,3,10
|
||||
885,18,4,4,1
|
||||
886,18,5,2,25
|
||||
887,18,5,5,5
|
||||
888,18,33,7,15
|
||||
889,17,34,2,45
|
||||
890,17,34,3,5
|
||||
891,17,37,2,15
|
||||
892,17,4,2,29
|
||||
893,17,5,3,40
|
||||
894,18,34,2,25
|
||||
895,18,4,1,44
|
||||
896,18,4,3,25
|
||||
897,18,5,3,40
|
||||
898,18,1,7,20
|
||||
899,17,1,1,70
|
||||
900,17,1,3,100
|
||||
901,18,1,1,60
|
||||
902,17,33,1,11
|
||||
903,18,33,1,11
|
||||
904,17,34,3,10
|
||||
905,17,37,1,10
|
||||
906,17,37,2,10
|
||||
907,17,37,3,1
|
||||
908,18,34,2,20
|
||||
909,18,34,3,10
|
||||
910,18,37,1,11
|
||||
911,18,37,2,10
|
||||
912,18,37,3,1
|
||||
913,18,37,4,15
|
||||
914,18,37,5,15
|
||||
915,18,37,6,15
|
||||
916,18,1,1,70
|
||||
917,17,1,1,80
|
||||
918,18,5,3,30
|
||||
919,18,5,4,10
|
||||
920,18,1,2,40
|
||||
921,18,1,3,40
|
||||
922,18,34,2,15
|
||||
923,18,34,3,15
|
||||
924,18,34,5,15
|
||||
925,18,4,1,25
|
||||
926,18,4,2,25
|
||||
927,18,4,5,5
|
||||
928,18,4,6,5
|
||||
929,18,5,2,20
|
||||
930,17,1,1,25
|
||||
931,17,1,8,5
|
||||
932,18,1,1,25
|
||||
933,18,4,1,35
|
||||
934,18,4,2,35
|
||||
935,18,1,1,39
|
||||
936,18,1,4,1
|
||||
937,17,1,7,5
|
||||
938,18,33,8,15
|
||||
939,18,33,9,15
|
||||
940,18,1,1,21
|
||||
941,18,1,11,4
|
||||
942,18,1,12,1
|
||||
943,17,33,6,15
|
||||
944,17,33,7,15
|
||||
945,17,33,8,15
|
||||
946,17,33,9,15
|
||||
947,17,33,4,1
|
||||
948,17,4,1,60
|
||||
949,17,4,2,40
|
||||
950,17,1,9,100
|
||||
951,18,33,4,1
|
||||
952,18,4,1,40
|
||||
953,17,1,5,9
|
||||
954,17,1,7,100
|
||||
955,17,34,1,40
|
||||
956,17,34,4,20
|
||||
957,17,4,1,78
|
||||
958,17,4,4,1
|
||||
959,18,34,6,15
|
||||
960,18,34,7,15
|
||||
961,18,34,8,5
|
||||
962,17,1,4,100
|
||||
963,18,33,2,11
|
||||
964,17,1,2,40
|
||||
965,17,1,3,5
|
||||
966,17,1,4,5
|
||||
967,18,1,4,5
|
||||
968,18,1,5,5
|
||||
969,17,34,2,50
|
||||
970,17,4,1,99
|
||||
971,17,4,2,1
|
||||
972,18,34,1,60
|
||||
973,18,34,2,40
|
||||
974,18,4,1,90
|
||||
975,18,4,2,10
|
||||
976,17,18,1,7
|
||||
977,17,18,2,7
|
||||
978,17,18,3,7
|
||||
979,17,18,4,4
|
||||
980,17,18,5,4
|
||||
981,17,18,6,4
|
||||
982,17,18,7,4
|
||||
983,17,18,8,4
|
||||
984,17,18,9,4
|
||||
985,17,18,10,4
|
||||
986,17,18,11,4
|
||||
987,17,18,12,4
|
||||
988,17,18,13,4
|
||||
989,17,18,14,4
|
||||
990,17,18,15,4
|
||||
991,17,18,16,4
|
||||
992,17,18,17,4
|
||||
993,17,18,18,2
|
||||
994,17,18,19,2
|
||||
995,17,18,20,2
|
||||
996,17,18,21,2
|
||||
997,17,18,22,2
|
||||
998,17,18,23,2
|
||||
999,17,18,24,2
|
||||
1000,17,18,25,2
|
||||
1001,17,18,18,4
|
||||
1002,18,18,1,7
|
||||
1003,18,18,2,7
|
||||
1004,18,18,3,7
|
||||
1005,18,18,4,4
|
||||
1006,18,18,5,4
|
||||
1007,18,18,6,4
|
||||
1008,18,18,7,4
|
||||
1009,18,18,8,4
|
||||
1010,18,18,9,4
|
||||
1011,18,18,10,4
|
||||
1012,18,18,11,4
|
||||
1013,18,18,12,4
|
||||
1014,18,18,13,4
|
||||
1015,18,18,14,4
|
||||
1016,18,18,15,4
|
||||
1017,18,18,16,4
|
||||
1018,18,18,17,4
|
||||
1019,18,18,18,2
|
||||
1020,18,18,19,2
|
||||
1021,18,18,20,2
|
||||
1022,18,18,21,2
|
||||
1023,18,18,22,2
|
||||
1024,18,18,23,2
|
||||
1025,18,18,24,2
|
||||
1026,18,18,25,2
|
||||
1027,18,18,18,4
|
||||
1028,17,18,1,8
|
||||
1029,17,18,2,8
|
||||
1030,17,18,3,5
|
||||
1031,17,18,4,5
|
||||
1032,17,18,5,5
|
||||
1033,17,18,6,5
|
||||
1034,17,18,7,5
|
||||
1035,17,18,8,5
|
||||
1036,17,18,9,5
|
||||
1037,17,18,10,5
|
||||
1038,17,18,11,5
|
||||
1039,17,18,12,5
|
||||
1040,17,18,13,5
|
||||
1041,17,18,14,5
|
||||
1042,17,18,15,5
|
||||
1043,17,18,16,3
|
||||
1044,17,18,17,3
|
||||
1045,17,18,18,3
|
||||
1046,17,18,19,3
|
||||
1047,17,18,20,3
|
||||
1048,17,18,21,3
|
||||
1049,18,18,1,8
|
||||
1050,18,18,2,5
|
||||
1051,18,18,3,5
|
||||
1052,18,18,4,5
|
||||
1053,18,18,5,5
|
||||
1054,18,18,6,5
|
||||
1055,18,18,7,5
|
||||
1056,18,18,8,5
|
||||
1057,18,18,9,5
|
||||
1058,18,18,10,5
|
||||
1059,18,18,11,5
|
||||
1060,18,18,12,5
|
||||
1061,18,18,13,5
|
||||
1062,18,18,14,5
|
||||
1063,18,18,15,5
|
||||
1064,18,18,16,3
|
||||
1065,18,18,17,3
|
||||
1066,18,18,18,3
|
||||
1067,18,18,19,3
|
||||
1068,18,18,20,3
|
||||
1069,18,18,21,3
|
||||
1070,17,18,3,8
|
||||
1071,17,18,4,8
|
||||
1072,17,18,5,8
|
||||
1073,17,18,6,6
|
||||
1074,17,18,7,6
|
||||
1075,17,18,8,6
|
||||
1076,17,18,9,6
|
||||
1077,17,18,10,6
|
||||
1078,17,18,11,6
|
||||
1079,17,18,12,6
|
||||
1080,17,18,13,6
|
||||
1081,17,18,14,3
|
||||
1082,17,18,15,3
|
||||
1083,18,18,2,8
|
||||
1084,18,18,3,8
|
||||
1085,18,18,4,8
|
||||
1086,18,18,5,8
|
||||
1087,18,18,6,8
|
||||
1088,18,18,15,3
|
||||
1089,17,34,2,40
|
||||
1090,18,34,4,40
|
||||
1091,18,34,5,30
|
||||
1092,18,34,6,20
|
||||
1093,18,34,7,10
|
||||
1094,17,37,3,15
|
||||
1095,17,37,4,15
|
||||
1096,17,4,1,59
|
||||
1097,18,4,1,59
|
||||
1098,18,4,3,1
|
||||
1099,18,1,8,100
|
||||
1100,17,34,3,70
|
||||
1101,17,34,4,30
|
||||
1102,17,34,5,30
|
||||
1103,18,34,2,70
|
||||
1104,18,34,3,50
|
||||
1105,18,34,4,30
|
||||
1106,17,34,1,90
|
||||
1107,17,34,2,10
|
||||
1108,17,34,3,50
|
||||
1109,17,34,4,40
|
||||
1110,17,34,5,10
|
||||
1111,17,5,2,25
|
||||
1112,17,5,5,5
|
||||
1113,18,1,3,15
|
||||
1114,17,5,1,80
|
||||
1115,17,5,2,20
|
||||
1116,18,5,1,55
|
||||
1117,18,5,3,10
|
||||
1118,18,5,4,5
|
||||
1119,17,1,6,100
|
||||
1120,17,1,3,15
|
||||
1121,18,20,3,100
|
||||
1122,18,20,4,100
|
||||
1123,18,20,5,100
|
||||
1124,18,20,6,100
|
||||
1125,18,20,7,15
|
||||
1126,18,20,8,15
|
||||
1127,18,20,9,15
|
||||
1128,18,20,10,15
|
||||
1129,18,20,11,15
|
||||
1130,18,20,7,100
|
||||
1131,18,20,8,100
|
||||
1132,18,20,12,15
|
||||
1133,18,20,13,15
|
||||
1134,18,4,1,45
|
||||
1135,18,5,1,80
|
||||
1136,18,1,8,5
|
||||
1137,17,1,3,24
|
||||
1138,17,1,5,1
|
||||
1139,18,1,3,24
|
||||
|
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,8 +3,8 @@ evolution_trigger_id,local_language_id,name
|
|||
1,6,Levelaufstieg
|
||||
1,9,Level up
|
||||
2,5,Échange
|
||||
2,6,Tausch
|
||||
2,9,Trade
|
||||
2,6,Tausch oder Verbindungsschnur
|
||||
2,9,Trade or Linking Cord
|
||||
3,5,Utilisation d'un objet
|
||||
3,6,Gegenstand nutzen
|
||||
3,9,Use item
|
||||
|
|
|
|
@ -610,3 +610,7 @@ item_id,item_flag_id
|
|||
303,7
|
||||
304,5
|
||||
304,7
|
||||
2160,1
|
||||
2160,2
|
||||
2160,3
|
||||
2160,5
|
|
|
@ -140521,3 +140521,15 @@ Bountiful Harvests to express their gratitude."
|
|||
1658,20,12,"拿到光下即可生辉的布。
|
||||
人们曾经将其进献给
|
||||
丰饶之王以表感谢之意。"
|
||||
2223,24,9,"Doesn't fly far, but is more effective if the Pokémon
|
||||
hasn't noticed the player."
|
||||
2224,24,9,"Upgraded version of the Heavy Ball. Doesn't fly far,
|
||||
but is more effective if the Pokémon hasn't noticed the player."
|
||||
2225,24,9,"Upgraded version of the Leaden Ball. Doesn't fly far,
|
||||
but is more effective if the Pokémon hasn't noticed the player."
|
||||
2226,24,9,"Can be thrown further than a regular Poké Ball.
|
||||
Is more effective for catching Pokémon that fly high in the air."
|
||||
2227,24,9,"Can be thrown further than a Feather Ball.
|
||||
Is more effective for catching Pokémon that fly high in the air."
|
||||
2228,24,9,"Can be thrown further than a Wing Ball.
|
||||
Is more effective for catching Pokémon that fly high in the air."
|
||||
|
|
Can't render this file because it is too large.
|
|
@ -17822,3 +17822,132 @@ item_id,local_language_id,name
|
|||
2159,1,チャデスのこな
|
||||
2159,9,Poltchageist Powder
|
||||
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
|
||||
2219,9,Strange Ball
|
||||
2220,9,Poké Ball
|
||||
2221,9,Great Ball
|
||||
2222,9,Ultra Ball
|
||||
2223,9,Heavy Ball
|
||||
2224,9,Leaden Ball
|
||||
2225,9,Gigaton Ball
|
||||
2226,9,Feather Ball
|
||||
2227,9,Wing Ball
|
||||
2228,9,Jet Ball
|
||||
2229,9,Origin Ball
|
||||
|
|
|
|
@ -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
|
||||
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
|
||||
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.
|
||||
|
|
|
|
@ -2049,7 +2049,7 @@ id,identifier,category_id,cost,fling_power,fling_effect_id
|
|||
2099,yellow-dish,55,0,,
|
||||
2100,roto-stick,21,0,,
|
||||
2101,teal-style-card,21,0,,
|
||||
2102,teak-mask,20,0,,
|
||||
2102,teal-mask,20,0,,
|
||||
2103,glimmering-charm,21,0,,
|
||||
2104,cyrstal-cluster,20,0,,
|
||||
2105,fairy-feather,12,750,,
|
||||
|
@ -2107,5 +2107,75 @@ id,identifier,category_id,cost,fling_power,fling_effect_id
|
|||
2157,cramorant-down,54,30,,
|
||||
2158,morpeko-snack,54,15,,
|
||||
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,,
|
||||
2219,lastrange-ball,34,0,,
|
||||
2220,lapoke-ball,34,0,,
|
||||
2221,lagreat-ball,34,0,,
|
||||
2222,laultra-ball,34,0,,
|
||||
2223,laheavy-ball,34,0,,
|
||||
2224,laleaden-ball,34,0,,
|
||||
2225,lagigaton-ball,34,0,,
|
||||
2226,lafeather-ball,34,0,,
|
||||
2227,lawing-ball,34,0,,
|
||||
2228,lajet-ball,34,0,,
|
||||
2229,laorigin-ball,34,0,,
|
||||
10001,black-augurite,10,0,,
|
||||
10002,peat-block,10,0,,
|
||||
|
|
|
|
@ -731,3 +731,325 @@ id,location_id,game_index,identifier
|
|||
840,188,0,
|
||||
841,237,0,
|
||||
842,247,0,
|
||||
843,868,0,
|
||||
844,869,0,
|
||||
845,870,0,main
|
||||
846,870,0,garbage
|
||||
847,871,0,
|
||||
848,872,0,
|
||||
849,873,0,
|
||||
850,874,0,
|
||||
851,875,0,main
|
||||
852,875,0,steamdrift-way
|
||||
853,876,0,main
|
||||
854,876,0,circhester-bay
|
||||
855,876,0,outer-spikemouth
|
||||
856,877,0,main
|
||||
857,877,0,near-station
|
||||
858,878,0,
|
||||
859,879,0,
|
||||
860,880,0,
|
||||
861,881,0,
|
||||
862,882,0,
|
||||
863,883,0,
|
||||
864,884,0,main
|
||||
865,884,0,ocean
|
||||
866,884,0,river
|
||||
867,884,0,beach
|
||||
868,885,0,
|
||||
869,886,0,
|
||||
870,887,0,
|
||||
871,888,0,
|
||||
872,889,0,
|
||||
873,890,0,
|
||||
874,891,0,
|
||||
875,892,0,
|
||||
876,893,0,main
|
||||
877,893,0,beach
|
||||
878,894,0,
|
||||
879,895,0,
|
||||
880,896,0,
|
||||
881,897,0,
|
||||
882,898,0,
|
||||
883,899,0,
|
||||
884,900,0,
|
||||
885,1041,0,main
|
||||
886,1041,0,2
|
||||
887,1041,0,3
|
||||
888,901,0,
|
||||
889,902,0,
|
||||
890,903,0,
|
||||
891,904,0,
|
||||
892,905,0,
|
||||
893,906,0,
|
||||
894,907,0,
|
||||
895,908,0,
|
||||
896,909,0,
|
||||
897,910,0,
|
||||
898,911,0,
|
||||
899,912,0,
|
||||
900,913,0,
|
||||
901,914,0,
|
||||
902,915,0,main
|
||||
903,915,0,beach
|
||||
904,916,0,
|
||||
905,917,0,
|
||||
906,918,0,
|
||||
907,919,0,
|
||||
908,920,0,
|
||||
909,921,0,
|
||||
910,922,0,
|
||||
911,923,0,
|
||||
912,924,0,
|
||||
913,925,0,
|
||||
914,926,0,
|
||||
915,927,0,
|
||||
916,928,0,main
|
||||
917,928,0,2
|
||||
918,929,0,
|
||||
919,930,0,
|
||||
920,931,0,
|
||||
921,932,0,
|
||||
922,933,0,main
|
||||
923,933,0,2
|
||||
924,934,0,
|
||||
925,935,0,
|
||||
926,936,0,
|
||||
927,937,0,main
|
||||
928,937,0,2
|
||||
929,938,0,main
|
||||
930,938,0,2
|
||||
931,938,0,3
|
||||
932,939,0,
|
||||
933,940,0,
|
||||
934,941,0,
|
||||
935,942,0,
|
||||
936,943,0,main
|
||||
937,943,0,beach
|
||||
938,944,0,
|
||||
939,945,0,
|
||||
940,946,0,
|
||||
941,947,0,
|
||||
942,948,0,
|
||||
943,949,0,
|
||||
944,950,0,
|
||||
945,951,0,
|
||||
946,952,0,
|
||||
947,953,0,
|
||||
948,954,0,
|
||||
949,955,0,
|
||||
950,956,0,
|
||||
951,957,0,
|
||||
952,958,0,
|
||||
953,959,0,
|
||||
954,960,0,
|
||||
955,961,0,
|
||||
956,962,0,
|
||||
957,963,0,
|
||||
958,964,0,
|
||||
959,965,0,
|
||||
960,966,0,
|
||||
961,967,0,
|
||||
962,968,0,
|
||||
963,969,0,
|
||||
964,970,0,
|
||||
965,971,0,
|
||||
966,972,0,
|
||||
967,973,0,
|
||||
968,974,0,
|
||||
969,975,0,
|
||||
970,976,0,
|
||||
971,977,0,
|
||||
972,978,0,
|
||||
973,979,0,
|
||||
974,980,0,
|
||||
975,981,0,
|
||||
976,982,0,
|
||||
977,983,0,
|
||||
978,984,0,
|
||||
979,985,0,
|
||||
980,986,0,
|
||||
981,987,0,
|
||||
982,988,0,
|
||||
983,989,0,
|
||||
984,990,0,
|
||||
985,991,0,
|
||||
986,992,0,
|
||||
987,993,0,
|
||||
988,994,0,
|
||||
989,995,0,
|
||||
990,996,0,
|
||||
991,997,0,
|
||||
992,998,0,
|
||||
993,999,0,
|
||||
994,1000,0,
|
||||
995,1001,0,
|
||||
996,1002,0,
|
||||
997,1003,0,
|
||||
998,1004,0,
|
||||
999,1005,0,
|
||||
1000,1006,0,
|
||||
1001,1007,0,
|
||||
1002,1008,0,
|
||||
1003,1009,0,
|
||||
1004,1010,0,
|
||||
1005,1011,0,
|
||||
1006,1012,0,
|
||||
1007,1013,0,
|
||||
1008,1014,0,
|
||||
1009,1015,0,
|
||||
1010,1016,0,
|
||||
1011,1017,0,
|
||||
1012,1018,0,
|
||||
1013,1019,0,
|
||||
1014,1020,0,
|
||||
1015,1021,0,
|
||||
1016,1022,0,
|
||||
1017,1023,0,
|
||||
1018,1024,0,
|
||||
1019,1025,0,
|
||||
1020,1026,0,
|
||||
1021,1027,0,
|
||||
1022,1028,0,
|
||||
1023,1029,0,
|
||||
1024,1030,0,
|
||||
1025,1031,0,
|
||||
1026,1032,0,
|
||||
1027,1033,0,
|
||||
1028,1034,0,
|
||||
1029,1035,0,
|
||||
1030,1036,0,
|
||||
1031,1037,0,
|
||||
1032,1038,0,
|
||||
1033,1039,0,
|
||||
1034,1040,0,
|
||||
1035,711,0,east
|
||||
1036,711,0,hauoli-outskirts
|
||||
1037,711,0,south
|
||||
1038,711,0,trainers-school
|
||||
1039,711,0,west
|
||||
1040,713,0,main
|
||||
1041,713,0,north
|
||||
1042,713,0,south
|
||||
1043,712,0,main
|
||||
1044,712,0,north
|
||||
1045,712,0,south
|
||||
1046,731,0,
|
||||
1047,732,0,
|
||||
1048,733,0,north
|
||||
1049,733,0,south
|
||||
1050,734,0,
|
||||
1051,735,0,main
|
||||
1052,735,0,fossil-restoration-center
|
||||
1053,736,0,main
|
||||
1054,736,0,police-station
|
||||
1055,755,0,
|
||||
1056,756,0,
|
||||
1057,763,0,
|
||||
1058,758,0,
|
||||
1059,765,0,
|
||||
1060,760,0,main
|
||||
1061,760,0,aether-house
|
||||
1062,761,0,main
|
||||
1063,761,0,east
|
||||
1064,761,0,west
|
||||
1065,762,0,northeast
|
||||
1066,762,0,west
|
||||
1067,796,0,2f
|
||||
1068,752,0,
|
||||
1069,791,0,
|
||||
1070,790,0,
|
||||
1071,782,0,
|
||||
1072,728,0,
|
||||
1073,771,0,
|
||||
1074,748,0,main
|
||||
1075,748,0,north
|
||||
1076,748,0,south
|
||||
1077,748,0,totems-den
|
||||
1078,753,0,
|
||||
1079,1046,0,
|
||||
1080,794,0,
|
||||
1081,764,0,
|
||||
1082,738,0,
|
||||
1083,725,0,
|
||||
1084,1042,0,main
|
||||
1085,1042,0,shopping-district
|
||||
1086,1042,0,beachfront
|
||||
1087,1047,0,
|
||||
1088,741,0,surf-association
|
||||
1089,719,0,
|
||||
1090,714,0,
|
||||
1091,742,0,
|
||||
1092,774,0,
|
||||
1093,773,0,
|
||||
1094,750,0,east-cave
|
||||
1095,750,0,north
|
||||
1096,750,0,south
|
||||
1097,750,0,west
|
||||
1098,720,0,
|
||||
1099,1045,0,main
|
||||
1100,1045,0,outer-cape
|
||||
1101,769,0,
|
||||
1102,726,0,
|
||||
1103,715,0,
|
||||
1104,744,0,
|
||||
1105,770,0,main
|
||||
1106,770,0,east
|
||||
1107,770,0,west
|
||||
1108,775,0,base
|
||||
1109,775,0,cave
|
||||
1110,775,0,outside
|
||||
1111,745,0,
|
||||
1112,740,0,
|
||||
1113,783,0,
|
||||
1114,786,0,
|
||||
1115,787,0,
|
||||
1116,784,0,
|
||||
1117,780,0,
|
||||
1118,785,0,center
|
||||
1119,785,0,east
|
||||
1120,785,0,north
|
||||
1121,785,0,west
|
||||
1122,781,0,
|
||||
1123,793,0,
|
||||
1124,743,0,
|
||||
1125,772,0,
|
||||
1126,722,0,
|
||||
1127,792,0,
|
||||
1128,751,0,
|
||||
1129,1048,0,
|
||||
1130,788,0,main
|
||||
1131,788,0,huntail-boat
|
||||
1132,727,0,
|
||||
1133,757,0,
|
||||
1134,759,0,
|
||||
1135,723,0,farthest-hollow
|
||||
1136,723,0,inside
|
||||
1137,1044,0,abandoned-site
|
||||
1138,1049,0,
|
||||
1139,766,0,
|
||||
1140,797,0,ultra-crater
|
||||
1141,797,0,ultra-deep-sea
|
||||
1142,797,0,ultra-desert
|
||||
1143,797,0,ultra-forest
|
||||
1144,797,0,ultra-jungle
|
||||
1145,797,0,ultra-plant
|
||||
1146,797,0,ultra-ruin
|
||||
1147,1051,0,cave
|
||||
1148,1051,0,cliff
|
||||
1149,1051,0,crag
|
||||
1150,1051,0,waterfall
|
||||
1151,789,0,inside
|
||||
1152,789,0,northwest
|
||||
1153,789,0,outside
|
||||
1154,1043,0,trial-site
|
||||
1155,1043,0,totems-den
|
||||
1156,746,0,
|
||||
1157,746,0,totems-den
|
||||
1158,1052,0,poni-island-reached
|
||||
1159,1052,0,ulaula-island-reached
|
||||
1160,1052,0,elite-four-defeated
|
||||
1161,1053,0,
|
||||
1162,1050,0,
|
||||
1163,750,0,all-areas
|
||||
1164,762,0,all-areas
|
|
|
@ -749,7 +749,7 @@ id,region_id,identifier
|
|||
765,7,alola-route-14
|
||||
766,7,ulaula-meadow
|
||||
767,7,po-town
|
||||
768,7,malie-city
|
||||
768,7,malie-city-proper
|
||||
769,7,malie-garden
|
||||
770,7,mount-hokulani
|
||||
771,7,blush-mountain
|
||||
|
@ -1022,3 +1022,16 @@ id,region_id,identifier
|
|||
1038,9,windbreak-stand
|
||||
1039,9,windswept-run
|
||||
1040,9,worn-bridge
|
||||
1041,8,giants-cap
|
||||
1042,7,hauoli-city
|
||||
1043,7,verdant-cavern
|
||||
1044,7,thrifty-megamart
|
||||
1045,7,malie-city
|
||||
1046,7,dividing-peak-tunnel
|
||||
1047,7,heahea-beach
|
||||
1048,7,sandy-cave
|
||||
1049,7,ulaula-beach
|
||||
1050,7,ultra-megalopolis
|
||||
1051,7,ultra-space-wilds
|
||||
1052,7,poke-pelago
|
||||
1053,7,team-rockets-castle
|
|
|
@ -1687,3 +1687,417 @@ machine_number,version_group_id,item_id,move_id
|
|||
197,20,1285,706
|
||||
198,20,1286,710
|
||||
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
|
||||
|
|
|
|
@ -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
|
||||
303,3,0,,,,,0,50,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
|
||||
307,0,0,,,,,0,0,0,0,0,0
|
||||
308,0,0,,,,,0,0,0,0,0,0
|
||||
|
|
|
|
@ -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,,,,
|
||||
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,,,,
|
||||
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,,,,
|
||||
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,,,,
|
||||
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,,,,
|
||||
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,,,
|
||||
|
|
|
|
@ -897,133 +897,133 @@ id,identifier,species_id,height,weight,base_experience,order,is_default
|
|||
896,glastrier,896,22,8000,290,1088,1
|
||||
897,spectrier,897,20,445,290,1089,1
|
||||
898,calyrex,898,11,77,250,1090,1
|
||||
899,wyrdeer,899,18,951,,,1
|
||||
900,kleavor,900,18,890,,,1
|
||||
901,ursaluna,901,24,2900,,,1
|
||||
902,basculegion-male,902,30,1100,,,1
|
||||
903,sneasler,903,13,430,,,1
|
||||
904,overqwil,904,25,605,,,1
|
||||
905,enamorus-incarnate,905,16,480,,,1
|
||||
906,sprigatito,906,4,41,,906,1
|
||||
907,floragato,907,9,122,,907,1
|
||||
908,meowscarada,908,15,312,,908,1
|
||||
909,fuecoco,909,4,98,,909,1
|
||||
910,crocalor,910,10,307,,910,1
|
||||
911,skeledirge,911,16,3265,,911,1
|
||||
912,quaxly,912,5,61,,912,1
|
||||
913,quaxwell,913,12,215,,913,1
|
||||
914,quaquaval,914,18,619,,914,1
|
||||
915,lechonk,915,5,102,,915,1
|
||||
916,oinkologne,916,10,1200,,916,1
|
||||
917,tarountula,917,3,40,,918,1
|
||||
918,spidops,918,10,165,,919,1
|
||||
919,nymble,919,2,10,,920,1
|
||||
920,lokix,920,10,175,,921,1
|
||||
921,pawmi,921,3,25,,954,1
|
||||
922,pawmo,922,4,65,,955,1
|
||||
923,pawmot,923,9,410,,956,1
|
||||
924,tandemaus,924,3,18,,945,1
|
||||
925,maushold,925,3,23,,946,1
|
||||
926,fidough,926,3,109,,970,1
|
||||
927,dachsbun,927,5,149,,971,1
|
||||
928,smoliv,928,3,65,,935,1
|
||||
929,dolliv,929,6,119,,936,1
|
||||
930,arboliva,930,14,482,,937,1
|
||||
931,squawkabilly,931,6,24,,960,1
|
||||
932,nacli,932,4,160,,963,1
|
||||
933,naclstack,933,6,1050,,964,1
|
||||
934,garganacl,934,23,2400,,965,1
|
||||
935,charcadet,935,6,105,,1003,1
|
||||
936,armarouge,936,15,850,,1004,1
|
||||
937,ceruledge,937,16,620,,1005,1
|
||||
938,tadbulb,938,3,4,,940,1
|
||||
939,bellibolt,939,12,1130,,941,1
|
||||
940,wattrel,940,4,36,,957,1
|
||||
941,kilowattrel,941,14,386,,958,1
|
||||
942,maschiff,942,5,160,,972,1
|
||||
943,mabosstiff,943,11,610,,973,1
|
||||
944,shroodle,944,2,7,,968,1
|
||||
945,grafaiai,945,7,272,,969,1
|
||||
946,bramblin,946,6,6,,974,1
|
||||
947,brambleghast,947,12,60,,975,1
|
||||
948,toedscool,948,9,330,,1006,1
|
||||
949,toedscruel,949,19,580,,1007,1
|
||||
950,klawf,950,13,790,,962,1
|
||||
951,capsakid,951,3,30,,938,1
|
||||
952,scovillain,952,9,150,,939,1
|
||||
953,rellor,953,2,10,,922,1
|
||||
954,rabsca,954,3,35,,923,1
|
||||
955,flittle,955,2,15,,926,1
|
||||
956,espathra,956,19,900,,927,1
|
||||
957,tinkatink,957,4,89,,1000,1
|
||||
958,tinkatuff,958,7,591,,1001,1
|
||||
959,tinkaton,959,7,1128,,1002,1
|
||||
960,wiglett,960,12,18,,929,1
|
||||
961,wugtrio,961,12,54,,930,1
|
||||
962,bombirdier,962,15,429,,959,1
|
||||
963,finizen,963,13,602,,933,1
|
||||
964,palafin,964,13,602,,934,1
|
||||
965,varoom,965,10,350,,942,1
|
||||
966,revavroom,966,18,1200,,943,1
|
||||
967,cyclizar,967,16,630,,953,1
|
||||
968,orthworm,968,25,3100,,944,1
|
||||
969,glimmet,969,7,80,,966,1
|
||||
970,glimmora,970,15,450,,967,1
|
||||
971,greavard,971,6,350,,924,1
|
||||
972,houndstone,972,20,150,,925,1
|
||||
973,flamigo,973,16,370,,961,1
|
||||
974,cetoddle,974,12,450,,947,1
|
||||
975,cetitan,975,45,7000,,948,1
|
||||
976,veluza,976,25,900,,932,1
|
||||
977,dondozo,977,120,2200,,931,1
|
||||
978,tatsugiri,978,3,80,,952,1
|
||||
979,annihilape,979,12,560,,1010,1
|
||||
980,clodsire,980,18,2230,,1009,1
|
||||
981,farigiraf,981,32,1600,,928,1
|
||||
982,dudunsparce,982,36,392,,917,1
|
||||
983,kingambit,983,20,1200,,1008,1
|
||||
984,great-tusk,984,22,3200,,978,1
|
||||
985,scream-tail,985,12,80,,982,1
|
||||
986,brute-bonnet,986,12,210,,979,1
|
||||
987,flutter-mane,987,14,40,,983,1
|
||||
988,slither-wing,988,32,920,,984,1
|
||||
989,sandy-shocks,989,23,600,,981,1
|
||||
990,iron-treads,990,9,2400,,986,1
|
||||
991,iron-bundle,991,6,110,,992,1
|
||||
992,iron-hands,992,18,3807,,989,1
|
||||
993,iron-jugulis,993,13,1110,,990,1
|
||||
994,iron-moth,994,12,360,,988,1
|
||||
995,iron-thorns,995,16,3030,,991,1
|
||||
996,frigibax,996,5,170,,949,1
|
||||
997,arctibax,997,8,300,,950,1
|
||||
998,baxcalibur,998,21,2100,,951,1
|
||||
999,gimmighoul,999,3,50,,976,1
|
||||
1000,gholdengo,1000,12,300,,977,1
|
||||
1001,wo-chien,1001,15,742,,996,1
|
||||
1002,chien-pao,1002,19,1522,,995,1
|
||||
1003,ting-lu,1003,27,6997,,994,1
|
||||
1004,chi-yu,1004,4,49,,997,1
|
||||
1005,roaring-moon,1005,20,3800,,985,1
|
||||
1006,iron-valiant,1006,14,350,,993,1
|
||||
1007,koraidon,1007,25,3030,,998,1
|
||||
1008,miraidon,1008,35,2400,,999,1
|
||||
1009,walking-wake,1009,35,2800,,1093,1
|
||||
1010,iron-leaves,1010,15,1250,,1094,1
|
||||
1011,dipplin,1011,4,97,,1095,1
|
||||
1012,poltchageist,1012,1,11,,1096,1
|
||||
1013,sinistcha,1013,2,22,,1097,1
|
||||
1014,okidogi,1014,18,922,,1098,1
|
||||
1015,munkidori,1015,10,122,,1099,1
|
||||
1016,fezandipiti,1016,14,301,,1100,1
|
||||
1017,ogerpon,1017,12,398,,1101,1
|
||||
1018,archaludon,1018,20,600,,1102,1
|
||||
1019,hydrapple,1019,18,930,,1103,1
|
||||
1020,gouging-fire,1020,35,5900,,1104,1
|
||||
1021,raging-bolt,1021,52,4800,,1105,1
|
||||
1022,iron-boulder,1022,15,1625,,1106,1
|
||||
1023,iron-crown,1023,16,1560,,1107,1
|
||||
1024,terapagos,1024,2,65,,1108,1
|
||||
1025,pecharunt,1025,3,3,,1109,1
|
||||
899,wyrdeer,899,18,951,263,,1
|
||||
900,kleavor,900,18,890,175,,1
|
||||
901,ursaluna,901,24,2900,275,,1
|
||||
902,basculegion-male,902,30,1100,265,,1
|
||||
903,sneasler,903,13,430,102,,1
|
||||
904,overqwil,904,25,605,179,,1
|
||||
905,enamorus-incarnate,905,16,480,116,,1
|
||||
906,sprigatito,906,4,41,62,906,1
|
||||
907,floragato,907,9,122,144,907,1
|
||||
908,meowscarada,908,15,312,265,908,1
|
||||
909,fuecoco,909,4,98,62,909,1
|
||||
910,crocalor,910,10,307,144,910,1
|
||||
911,skeledirge,911,16,3265,265,911,1
|
||||
912,quaxly,912,5,61,62,912,1
|
||||
913,quaxwell,913,12,215,144,913,1
|
||||
914,quaquaval,914,18,619,265,914,1
|
||||
915,lechonk,915,5,102,51,915,1
|
||||
916,oinkologne-male,916,10,1200,171,916,1
|
||||
917,tarountula,917,3,40,42,918,1
|
||||
918,spidops,918,10,165,141,919,1
|
||||
919,nymble,919,2,10,42,920,1
|
||||
920,lokix,920,10,175,158,921,1
|
||||
921,pawmi,921,3,25,48,954,1
|
||||
922,pawmo,922,4,65,123,955,1
|
||||
923,pawmot,923,9,410,245,956,1
|
||||
924,tandemaus,924,3,18,61,945,1
|
||||
925,maushold-family-of-four,925,3,23,165,946,1
|
||||
926,fidough,926,3,109,62,970,1
|
||||
927,dachsbun,927,5,149,167,971,1
|
||||
928,smoliv,928,3,65,52,935,1
|
||||
929,dolliv,929,6,119,124,936,1
|
||||
930,arboliva,930,14,482,255,937,1
|
||||
931,squawkabilly-green-plumage,931,6,24,146,960,1
|
||||
932,nacli,932,4,160,56,963,1
|
||||
933,naclstack,933,6,1050,124,964,1
|
||||
934,garganacl,934,23,2400,250,965,1
|
||||
935,charcadet,935,6,105,51,1003,1
|
||||
936,armarouge,936,15,850,263,1004,1
|
||||
937,ceruledge,937,16,620,263,1005,1
|
||||
938,tadbulb,938,3,4,54,940,1
|
||||
939,bellibolt,939,12,1130,173,941,1
|
||||
940,wattrel,940,4,36,56,957,1
|
||||
941,kilowattrel,941,14,386,172,958,1
|
||||
942,maschiff,942,5,160,68,972,1
|
||||
943,mabosstiff,943,11,610,177,973,1
|
||||
944,shroodle,944,2,7,58,968,1
|
||||
945,grafaiai,945,7,272,170,969,1
|
||||
946,bramblin,946,6,6,55,974,1
|
||||
947,brambleghast,947,12,60,168,975,1
|
||||
948,toedscool,948,9,330,67,1006,1
|
||||
949,toedscruel,949,19,580,180,1007,1
|
||||
950,klawf,950,13,790,158,962,1
|
||||
951,capsakid,951,3,30,61,938,1
|
||||
952,scovillain,952,9,150,170,939,1
|
||||
953,rellor,953,2,10,54,922,1
|
||||
954,rabsca,954,3,35,165,923,1
|
||||
955,flittle,955,2,15,51,926,1
|
||||
956,espathra,956,19,900,168,927,1
|
||||
957,tinkatink,957,4,89,59,1000,1
|
||||
958,tinkatuff,958,7,591,133,1001,1
|
||||
959,tinkaton,959,7,1128,253,1002,1
|
||||
960,wiglett,960,12,18,49,929,1
|
||||
961,wugtrio,961,12,54,149,930,1
|
||||
962,bombirdier,962,15,429,243,959,1
|
||||
963,finizen,963,13,602,63,933,1
|
||||
964,palafin-zero,964,13,602,160,934,1
|
||||
965,varoom,965,10,350,60,942,1
|
||||
966,revavroom,966,18,1200,175,943,1
|
||||
967,cyclizar,967,16,630,175,953,1
|
||||
968,orthworm,968,25,3100,240,944,1
|
||||
969,glimmet,969,7,80,70,966,1
|
||||
970,glimmora,970,15,450,184,967,1
|
||||
971,greavard,971,6,350,58,924,1
|
||||
972,houndstone,972,20,150,171,925,1
|
||||
973,flamigo,973,16,370,175,961,1
|
||||
974,cetoddle,974,12,450,67,947,1
|
||||
975,cetitan,975,45,7000,182,948,1
|
||||
976,veluza,976,25,900,167,932,1
|
||||
977,dondozo,977,120,2200,265,931,1
|
||||
978,tatsugiri-curly,978,3,80,166,952,1
|
||||
979,annihilape,979,12,560,268,1010,1
|
||||
980,clodsire,980,18,2230,151,1009,1
|
||||
981,farigiraf,981,32,1600,260,928,1
|
||||
982,dudunsparce-two-segment,982,36,392,182,917,1
|
||||
983,kingambit,983,20,1200,275,1008,1
|
||||
984,great-tusk,984,22,3200,285,978,1
|
||||
985,scream-tail,985,12,80,285,982,1
|
||||
986,brute-bonnet,986,12,210,285,979,1
|
||||
987,flutter-mane,987,14,40,285,983,1
|
||||
988,slither-wing,988,32,920,285,984,1
|
||||
989,sandy-shocks,989,23,600,285,981,1
|
||||
990,iron-treads,990,9,2400,285,986,1
|
||||
991,iron-bundle,991,6,110,285,992,1
|
||||
992,iron-hands,992,18,3807,285,989,1
|
||||
993,iron-jugulis,993,13,1110,285,990,1
|
||||
994,iron-moth,994,12,360,285,988,1
|
||||
995,iron-thorns,995,16,3030,285,991,1
|
||||
996,frigibax,996,5,170,64,949,1
|
||||
997,arctibax,997,8,300,148,950,1
|
||||
998,baxcalibur,998,21,2100,300,951,1
|
||||
999,gimmighoul,999,3,50,60,976,1
|
||||
1000,gholdengo,1000,12,300,275,977,1
|
||||
1001,wo-chien,1001,15,742,285,996,1
|
||||
1002,chien-pao,1002,19,1522,285,995,1
|
||||
1003,ting-lu,1003,27,6997,285,994,1
|
||||
1004,chi-yu,1004,4,49,285,997,1
|
||||
1005,roaring-moon,1005,20,3800,295,985,1
|
||||
1006,iron-valiant,1006,14,350,295,993,1
|
||||
1007,koraidon,1007,25,3030,335,998,1
|
||||
1008,miraidon,1008,35,2400,335,999,1
|
||||
1009,walking-wake,1009,35,2800,295,1093,1
|
||||
1010,iron-leaves,1010,15,1250,295,1094,1
|
||||
1011,dipplin,1011,4,97,170,1095,1
|
||||
1012,poltchageist,1012,1,11,62,1096,1
|
||||
1013,sinistcha,1013,2,22,178,1097,1
|
||||
1014,okidogi,1014,18,922,278,1098,1
|
||||
1015,munkidori,1015,10,122,278,1099,1
|
||||
1016,fezandipiti,1016,14,301,278,1100,1
|
||||
1017,ogerpon,1017,12,398,275,1101,1
|
||||
1018,archaludon,1018,20,600,300,1102,1
|
||||
1019,hydrapple,1019,18,930,270,1103,1
|
||||
1020,gouging-fire,1020,35,5900,295,1104,1
|
||||
1021,raging-bolt,1021,52,4800,295,1105,1
|
||||
1022,iron-boulder,1022,15,1625,295,1106,1
|
||||
1023,iron-crown,1023,16,1560,295,1107,1
|
||||
1024,terapagos,1024,2,65,90,1108,1
|
||||
1025,pecharunt,1025,3,3,300,1109,1
|
||||
10001,deoxys-attack,386,17,608,270,515,0
|
||||
10002,deoxys-defense,386,17,608,270,516,0
|
||||
10003,deoxys-speed,386,17,608,270,517,0
|
||||
|
|
|
|
@ -9,7 +9,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
351,1,ポワルンのすがた,
|
||||
351,3,캐스퐁의 모습,
|
||||
351,4,飄浮泡泡的樣子,
|
||||
351,5,Forme de Morphéo,
|
||||
351,5,Forme de Morphéo,Morphéo
|
||||
351,6,Formeo,Formeo
|
||||
351,7,Forma de Castform,
|
||||
351,8,Forma Castform,
|
||||
|
@ -19,7 +19,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
382,1,カイオーガのすがた,
|
||||
382,3,가이오가의 모습,
|
||||
382,4,蓋歐卡的樣子,
|
||||
382,5,Kyogre,
|
||||
382,5,Kyogre,Kyogre
|
||||
382,6,Kyogre,Kyogre
|
||||
382,7,Kyogre,
|
||||
382,9,Kyogre,
|
||||
|
@ -28,7 +28,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
383,1,グラードンのすがた,
|
||||
383,3,그란돈의 모습,
|
||||
383,4,固拉多的樣子,
|
||||
383,5,Groudon,
|
||||
383,5,Groudon,Groudon
|
||||
383,6,Groudon,Groudon
|
||||
383,7,Groudon,
|
||||
383,9,Groudon,
|
||||
|
@ -94,7 +94,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
479,1,ロトムのすがた,
|
||||
479,3,로토무의 모습,
|
||||
479,4,洛托姆的樣子,
|
||||
479,5,Forme de Motisma,
|
||||
479,5,Forme de Motisma,Motisma
|
||||
479,6,Rotom,Rotom
|
||||
479,7,Forma de Rotom,
|
||||
479,8,Forma Rotom,
|
||||
|
@ -104,7 +104,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
487,1,アナザーフォルム,
|
||||
487,3,어나더폼,
|
||||
487,4,別種形態,
|
||||
487,5,Forme Alternative,Giratina Alternative
|
||||
487,5,Forme Alternative,Giratina Alternatif
|
||||
487,6,Wandelform,Giratina
|
||||
487,7,Forma Modificada,
|
||||
487,8,Forma Alterata,
|
||||
|
@ -194,7 +194,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
646,1,キュレムのすがた,
|
||||
646,3,큐레무의 모습,
|
||||
646,4,酋雷姆的樣子,
|
||||
646,5,Forme de Kyurem,
|
||||
646,5,Forme de Kyurem,Kyurem
|
||||
646,6,Kyurem,Kyurem
|
||||
646,7,Forma de Kyurem,
|
||||
646,8,Forma di Kyurem,
|
||||
|
@ -309,7 +309,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
718,1,50%フォルム,
|
||||
718,3,50%폼,
|
||||
718,4,50%形態,
|
||||
718,5,Forme 50 %,
|
||||
718,5,Forme 50 %,Zygarde Forme 50 %
|
||||
718,6,50%-Form,Zygarde (50%)
|
||||
718,7,Forma 50%,
|
||||
718,8,Forma 50%,
|
||||
|
@ -319,7 +319,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
720,1,いましめられしフーパ,
|
||||
720,3,굴레에 빠진 후파,
|
||||
720,4,懲戒胡帕,
|
||||
720,5,Hoopa Enchaîné,
|
||||
720,5,Hoopa Enchaîné,Hoopa Enchaîné
|
||||
720,6,Gebanntes Hoopa,Gebanntes Hoopa
|
||||
720,7,Hoopa Contenido,
|
||||
720,8,Hoopa Vincolato,
|
||||
|
@ -329,7 +329,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
741,1,めらめらスタイル,
|
||||
741,3,이글이글스타일,
|
||||
741,4,熱辣熱辣風格,
|
||||
741,5,Style Flamenco,
|
||||
741,5,Style Flamenco,Plumeline Style Flamenco
|
||||
741,6,Flamenco-Stil,Choreogel (Flamenco)
|
||||
741,7,Estilo Apasionado,
|
||||
741,8,Stile Flamenco,
|
||||
|
@ -339,7 +339,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
745,1,まひるのすがた,
|
||||
745,3,한낮의 모습,
|
||||
745,4,白晝的樣子,
|
||||
745,5,Forme Diurne,
|
||||
745,5,Forme Diurne,Lougaroc Forme Diurne
|
||||
745,6,Tagform,Wolwerock (Tag)
|
||||
745,7,Forma Diurna,
|
||||
745,8,Forma Giorno,
|
||||
|
@ -349,7 +349,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
746,1,たんどくのすがた,
|
||||
746,3,단독의 모습,
|
||||
746,4,單獨的樣子,
|
||||
746,5,Forme Solitaire,
|
||||
746,5,Forme Solitaire,Froussardine Forme Solitaire
|
||||
746,6,Einzelform,Lusardin
|
||||
746,7,Forma Individual,
|
||||
746,8,Forma Individuale,
|
||||
|
@ -369,7 +369,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
774,1,りゅうせいのすがた,
|
||||
774,3,유성의 모습,
|
||||
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,7,Forma Meteorito,
|
||||
774,8,Forma Meteora,
|
||||
|
@ -379,7 +379,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
778,1,ばけたすがた,
|
||||
778,3,둔갑한 모습,
|
||||
778,4,化形的樣子,
|
||||
778,5,Forme Déguisée,
|
||||
778,5,Forme Déguisée,Mimiqui Déguisé
|
||||
778,6,Verkleidete Form,Mimigma (Getarnt)
|
||||
778,7,Forma Encubierta,
|
||||
778,8,Forma Mascherata,
|
||||
|
@ -389,7 +389,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
849,1,ハイなすがた,
|
||||
849,3,하이한 모습,
|
||||
849,4,高調的樣子,
|
||||
849,5,Forme Aigüe,
|
||||
849,5,Forme Aigüe,Salarsen Forme Aigüe
|
||||
849,6,Hoch-Form,Riffex (Hochform)
|
||||
849,7,Forma Aguda,
|
||||
849,8,Forma Melodia,
|
||||
|
@ -397,17 +397,19 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
849,11,ハイなすがた,
|
||||
849,12,高调的样子,
|
||||
854,1,がんさくフォルム,
|
||||
854,5,Forme Contrefaçon,Théffroi Contrefaçon
|
||||
854,6,Fälschungsform,Fatalitee (Fälschung)
|
||||
854,9,Phony Form,Phony Sinistea
|
||||
854,11,がんさくフォルム,
|
||||
855,1,がんさくフォルム,
|
||||
855,5,Forme Contrefaçon,Polthégeist Contrefaçon
|
||||
855,6,Fälschungsform,Mortipot (Fälschung)
|
||||
855,9,Phony Form,Phony Polteageist
|
||||
855,11,がんさくフォルム,
|
||||
869,1,ミルキィバニラ,
|
||||
869,3,밀키바닐라,
|
||||
869,4,奶香香草,
|
||||
869,5,Lait Vanille,
|
||||
869,5,Lait Vanille,Charmilly Lait Vanille
|
||||
869,6,Vanille-Creme,Pokusan (Vanille-Creme)
|
||||
869,7,Crema de Vainilla,
|
||||
869,8,Lattevaniglia,
|
||||
|
@ -417,7 +419,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
875,1,アイスフェイス,
|
||||
875,3,아이스페이스,
|
||||
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,7,Cara de Hielo,
|
||||
875,8,Gelofaccia,
|
||||
|
@ -427,7 +429,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
876,1,オスのすがた,
|
||||
876,3,수컷의 모습,
|
||||
876,4,雄性的樣子,
|
||||
876,5,Mâle,
|
||||
876,5,Mâle,Wimessir Mâle
|
||||
876,6,Männlich,Servol ♂
|
||||
876,7,Macho,
|
||||
876,8,Maschio,
|
||||
|
@ -437,7 +439,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
877,1,まんぷくもよう,
|
||||
877,3,배부른 모양,
|
||||
877,4,滿腹花紋,
|
||||
877,5,Mode Rassasié,
|
||||
877,5,Mode Rassasié,Morpeko Rassasié
|
||||
877,6,Pappsattmuster,Morpeko (Pappsattmuster)
|
||||
877,7,Forma Saciada,
|
||||
877,8,Motivo Panciapiena,
|
||||
|
@ -447,7 +449,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
888,1,れきせんのゆうしゃ,
|
||||
888,3,역전의 용사,
|
||||
888,4,百戰勇者,
|
||||
888,5,Héros Aguerri,
|
||||
888,5,Héros Aguerri,Zacian
|
||||
888,6,Heldenhafter Krieger,Zacian
|
||||
888,7,Guerrero Avezado,
|
||||
888,8,Eroe di Mille Lotte,
|
||||
|
@ -457,7 +459,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
889,1,れきせんのゆうしゃ,
|
||||
889,3,역전의 용사,
|
||||
889,4,百戰勇者,
|
||||
889,5,Héros Aguerri,
|
||||
889,5,Héros Aguerri,Zamazenta
|
||||
889,6,Heldenhafter Krieger,Zamazenta
|
||||
889,7,Guerrero Avezado,
|
||||
889,8,Eroe di Mille Lotte,
|
||||
|
@ -467,7 +469,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
892,1,いちげきのかた,
|
||||
892,3,일격의 태세,
|
||||
892,4,一擊流,
|
||||
892,5,Style Poing Final,
|
||||
892,5,Style Poing Final,Shifours Style Poing Final
|
||||
892,6,Fokussierter Stil,Wulaosu (Fokussiert)
|
||||
892,7,Estilo Brusco,
|
||||
892,8,Stile Singolcolpo,
|
||||
|
@ -475,73 +477,84 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
892,11,いちげきのかた,
|
||||
892,12,一击流,
|
||||
902,1,オスのすがた,
|
||||
902,5,Mâle,Paragruel Mâle
|
||||
902,9,Male,Male Basculegion
|
||||
902,11,オスのすがた,
|
||||
905,1,けしんフォルム,
|
||||
905,5,Forme Avatar,Amovénus Avatar
|
||||
905,9,Incarnate Forme,Incarnate Enamorus
|
||||
905,11,けしんフォルム,
|
||||
916,1,オスのすがた,
|
||||
916,9,Male,
|
||||
916,5,Mâle,Fragroin Mâle
|
||||
916,9,Male,Male Oinkologne
|
||||
916,11,オスのすがた,
|
||||
925,1,4ひきかぞく,
|
||||
925,9,Family of Four,
|
||||
925,5,Famille de Quatre,Famignol Famille de Quatre
|
||||
925,9,Family of Four,Maushold (Family of Four)
|
||||
925,11,4ひきかぞく,
|
||||
931,1,グリーンフェザー,
|
||||
931,9,Green Plumage,
|
||||
931,5,Plumage Vert,Tapatoès Plumage Vert
|
||||
931,9,Green Plumage,Green Plumage Squawkabilly
|
||||
931,11,グリーンフェザー,
|
||||
964,1,ナイーブフォルム,
|
||||
964,9,Zero Form,
|
||||
964,5,Forme Ordinaire,Superdofin Forme Ordinaire
|
||||
964,9,Zero Form,Zero Form Palafin
|
||||
964,11,ナイーブフォルム,
|
||||
978,1,そったすがた,
|
||||
978,9,Curly Form,
|
||||
978,5,Forme Courbée,Nigirigon Forme Courbée
|
||||
978,9,Curly Form,Curly Form Tatsugiri
|
||||
978,11,そったすがた,
|
||||
982,1,ふたふしフォルム,
|
||||
982,9,Two-Segment Form,
|
||||
982,5,Forme Double,Deusolourdo Forme Double
|
||||
982,9,Two-Segment Form,Two-Segment Form Dudunsparce
|
||||
982,11,ふたふしフォルム,
|
||||
999,1,はこフォルム,
|
||||
999,9,Chest Form,
|
||||
999,5,Forme Coffre,Mordudor Forme Coffre
|
||||
999,9,Chest Form,Chest Form Gimmighoul
|
||||
999,11,はこフォルム,
|
||||
1007,1,かんぜんけいたい,
|
||||
1007,5,Forme Finale,Koraidon Forme Finale
|
||||
1007,9,Apex Build,
|
||||
1007,11,かんぜんけいたい,
|
||||
1008,1,コンプリートモード,
|
||||
1008,5,Mode Ultime,Miraidon Mode Ultime
|
||||
1008,9,Ultimate Mode,
|
||||
1008,11,コンプリートモード,
|
||||
1012,1,マガイモノのすがた,
|
||||
1012,3,가짜배기의 모습,
|
||||
1012,4,冒牌貨的樣子,
|
||||
1012,5,Forme Imitation,
|
||||
1012,5,Forme Imitation,Poltchageist Forme Imitation
|
||||
1012,6,Imitationsform,
|
||||
1012,7,Forma Fraudulenta,
|
||||
1012,8,Forma Taroccata,
|
||||
1012,9,Counterfeit Form,
|
||||
1012,9,Counterfeit Form,Counterfeit Form Poltchageist
|
||||
1012,11,マガイモノのすがた,
|
||||
1012,12,高檔貨的樣子,
|
||||
1013,1,ボンサクのすがた,
|
||||
1013,3,범작의 모습,
|
||||
1013,4,凡作的樣子,
|
||||
1013,5,Forme Médiocre,
|
||||
1013,5,Forme Médiocre,Théffroyable Forme Médiocre
|
||||
1013,6,Simple Form,
|
||||
1013,7,Forma Mediocre,
|
||||
1013,8,Forma Dozzinale,
|
||||
1013,9,Unremarkable Form,
|
||||
1013,9,Unremarkable Form,Unremarkable Form Sinistcha
|
||||
1013,11,ボンサクのすがた,
|
||||
1013,12,凡作的样子,
|
||||
1017,1,みどりのめん,
|
||||
1017,3,벽록의가면,
|
||||
1017,4,碧草面具,
|
||||
1017,5,Masque Turquoise,
|
||||
1017,5,Masque Turquoise,Ogerpon Turquoise
|
||||
1017,6,Türkisgrüne Maske,
|
||||
1017,7,Máscara Turquesa,
|
||||
1017,8,Maschera Turchese,
|
||||
1017,9,Teal Mask,
|
||||
1017,9,Teal Mask,Teal Mask Ogerpon
|
||||
1017,11,みどりのめん,
|
||||
1017,12,碧草面具,
|
||||
1024,1,ノーマルフォルム,
|
||||
1024,5,Forme Normale,
|
||||
1024,5,Forme Normale,Terapagos Forme Normale
|
||||
1024,7,Forma normal,
|
||||
1024,8,Forma Normale,
|
||||
1024,9,Normal Form,
|
||||
1024,9,Normal Form,Normal Form Terapagos
|
||||
1024,11,ノーマルフォルム,
|
||||
10001,1,B,
|
||||
10001,3,B,
|
||||
|
@ -2034,21 +2047,27 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10181,9,Mega Rayquaza,Mega Rayquaza
|
||||
10181,11,メガレックウザ,
|
||||
10181,12,超级烈空坐,
|
||||
10182,1,ハードロック・ピカチュウ,
|
||||
10182,5,Pikachu Rockeur,Pikachu Rockeur
|
||||
10182,6,Cosplayform,Rock Star Pikachu
|
||||
10182,9,Pikachu Rock Star,Pikachu Rock Star
|
||||
10183,1,マダム・ピカチュウ,
|
||||
10183,5,Pikachu Lady,Pikachu Lady
|
||||
10183,6,Cosplayform,Lady Pikachu
|
||||
10183,9,Pikachu Belle,Pikachu Belle
|
||||
10184,1,アイドル・ピカチュウ,
|
||||
10184,5,Pikachu Star,Pikachu Star
|
||||
10184,6,Cosplayform,Pop Star Pikachu
|
||||
10184,9,Pikachu Pop Star,Pikachu Pop Star
|
||||
10185,1,ドクター・ピカチュウ,
|
||||
10185,5,Pikachu Docteur,Pikachu Docteur
|
||||
10185,6,Cosplayform,Dr. Pikachu
|
||||
10185,9,Pikachu Ph.D.,Pikachu Ph.D.
|
||||
10186,1,マスクド・ピカチュウ,
|
||||
10186,5,Pikachu Catcheur,Pikachu Catcheur
|
||||
10186,6,Cosplayform,Wrestling Pikachu
|
||||
10186,9,Pikachu Libre,Pikachu Libre
|
||||
10187,1,おきがえピカチュウ,
|
||||
10187,5,Pikachu Cosplayeur,Pikachu Cosplayeur
|
||||
10187,6,Cosplayform,Cosplay Pikachu
|
||||
10187,9,Cosplay Pikachu,Cosplay Pikachu
|
||||
|
@ -2105,7 +2124,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10193,1,アローラのすがた,
|
||||
10193,3,알로라의 모습,
|
||||
10193,4,阿羅拉的樣子,
|
||||
10193,5,Forme d’Alola,Rattata d'Alola
|
||||
10193,5,Forme d'Alola,Rattata d'Alola
|
||||
10193,6,Alola-Form,Alola Rattfratz
|
||||
10193,7,Forma de Alola,
|
||||
10193,8,Forma di Alola,
|
||||
|
@ -2115,7 +2134,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10194,1,アローラのすがた,
|
||||
10194,3,알로라의 모습,
|
||||
10194,4,阿羅拉的樣子,
|
||||
10194,5,Forme d’Alola,Rattatac d'Alola
|
||||
10194,5,Forme d'Alola,Rattatac d'Alola
|
||||
10194,6,Alola-Form,Alola Rattikarl
|
||||
10194,7,Forma de Alola,
|
||||
10194,8,Forma di Alola,
|
||||
|
@ -2158,7 +2177,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10199,1,イッシュキャップ,
|
||||
10199,3,하나캡,
|
||||
10199,4,合眾帽子,
|
||||
10199,5,Casquette d’Unys,Pikachu Casquette d’Unys
|
||||
10199,5,Casquette d'Unys,Pikachu Casquette d’Unys
|
||||
10199,6,Einall-Kappe,Pikachu (Einall-Kappe)
|
||||
10199,7,Gorra Teselia,
|
||||
10199,8,Berretto Unima,
|
||||
|
@ -2178,7 +2197,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10201,1,アローラキャップ,
|
||||
10201,3,알로라캡,
|
||||
10201,4,阿羅拉帽子,
|
||||
10201,5,Casquette d’Alola,Pikachu Casquette d’Alola
|
||||
10201,5,Casquette d'Alola,Pikachu Casquette d’Alola
|
||||
10201,6,Alola-Kappe,Pikachu (Alola-Kappe)
|
||||
10201,7,Gorra Alola,
|
||||
10201,8,Berretto Alola,
|
||||
|
@ -2188,7 +2207,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10202,1,アローラのすがた,
|
||||
10202,3,알로라의 모습,
|
||||
10202,4,阿羅拉的樣子,
|
||||
10202,5,Forme d’Alola,Raichu d'Alola
|
||||
10202,5,Forme d'Alola,Raichu d'Alola
|
||||
10202,6,Alola-Form,Alola Raichu
|
||||
10202,7,Forma de Alola,
|
||||
10202,8,Forma di Alola,
|
||||
|
@ -2198,7 +2217,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10203,1,アローラのすがた,
|
||||
10203,3,알로라의 모습,
|
||||
10203,4,阿羅拉的樣子,
|
||||
10203,5,Forme d’Alola,Sabelette d'Alola
|
||||
10203,5,Forme d'Alola,Sabelette d'Alola
|
||||
10203,6,Alola-Form,Alola Sandan
|
||||
10203,7,Forma de Alola,
|
||||
10203,8,Forma di Alola,
|
||||
|
@ -2208,7 +2227,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10204,1,アローラのすがた,
|
||||
10204,3,알로라의 모습,
|
||||
10204,4,阿羅拉的樣子,
|
||||
10204,5,Forme d’Alola,Sablaireau d'Alola
|
||||
10204,5,Forme d'Alola,Sablaireau d'Alola
|
||||
10204,6,Alola-Form,Alola Sandamer
|
||||
10204,7,Forma de Alola,
|
||||
10204,8,Forma di Alola,
|
||||
|
@ -2218,7 +2237,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10205,1,アローラのすがた,
|
||||
10205,3,알로라의 모습,
|
||||
10205,4,阿羅拉的樣子,
|
||||
10205,5,Forme d’Alola,Goupix d'Alola
|
||||
10205,5,Forme d'Alola,Goupix d'Alola
|
||||
10205,6,Alola-Form,Alola Vulpix
|
||||
10205,7,Forma de Alola,
|
||||
10205,8,Forma di Alola,
|
||||
|
@ -2228,7 +2247,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10206,1,アローラのすがた,
|
||||
10206,3,알로라의 모습,
|
||||
10206,4,阿羅拉的樣子,
|
||||
10206,5,Forme d’Alola,Feunard d'Alola
|
||||
10206,5,Forme d'Alola,Feunard d'Alola
|
||||
10206,6,Alola-Form,Alola Vulnona
|
||||
10206,7,Forma de Alola,
|
||||
10206,8,Forma di Alola,
|
||||
|
@ -2238,7 +2257,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10207,1,アローラのすがた,
|
||||
10207,3,알로라의 모습,
|
||||
10207,4,阿羅拉的樣子,
|
||||
10207,5,Forme d’Alola,Taupiqueur d'Alola
|
||||
10207,5,Forme d'Alola,Taupiqueur d'Alola
|
||||
10207,6,Alola-Form,Alola Digda
|
||||
10207,7,Forma de Alola,
|
||||
10207,8,Forma di Alola,
|
||||
|
@ -2248,7 +2267,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10208,1,アローラのすがた,
|
||||
10208,3,알로라의 모습,
|
||||
10208,4,阿羅拉的樣子,
|
||||
10208,5,Forme d’Alola,Triopikeur d'Alola
|
||||
10208,5,Forme d'Alola,Triopikeur d'Alola
|
||||
10208,6,Alola-Form,Alola Digdri
|
||||
10208,7,Forma de Alola,
|
||||
10208,8,Forma di Alola,
|
||||
|
@ -2258,7 +2277,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10209,1,アローラのすがた,
|
||||
10209,3,알로라의 모습,
|
||||
10209,4,阿羅拉的樣子,
|
||||
10209,5,Forme d’Alola,Miaouss d'Alola
|
||||
10209,5,Forme d'Alola,Miaouss d'Alola
|
||||
10209,6,Alola-Form,Alola Mauzi
|
||||
10209,7,Forma de Alola,
|
||||
10209,8,Forma di Alola,
|
||||
|
@ -2278,7 +2297,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10211,1,アローラのすがた,
|
||||
10211,3,알로라의 모습,
|
||||
10211,4,阿羅拉的樣子,
|
||||
10211,5,Forme d’Alola,Racaillou d'Alola
|
||||
10211,5,Forme d'Alola,Racaillou d'Alola
|
||||
10211,6,Alola-Form,Alola Kleinstein
|
||||
10211,7,Forma de Alola,
|
||||
10211,8,Forma di Alola,
|
||||
|
@ -2288,7 +2307,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10212,1,アローラのすがた,
|
||||
10212,3,알로라의 모습,
|
||||
10212,4,阿羅拉的樣子,
|
||||
10212,5,Forme d’Alola,Gravalanch d'Alola
|
||||
10212,5,Forme d'Alola,Gravalanch d'Alola
|
||||
10212,6,Alola-Form,Alola Georok
|
||||
10212,7,Forma de Alola,
|
||||
10212,8,Forma di Alola,
|
||||
|
@ -2298,7 +2317,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10213,1,アローラのすがた,
|
||||
10213,3,알로라의 모습,
|
||||
10213,4,阿羅拉的樣子,
|
||||
10213,5,Forme d’Alola,Grolem d'Alola
|
||||
10213,5,Forme d'Alola,Grolem d'Alola
|
||||
10213,6,Alola-Form,Alola Geowaz
|
||||
10213,7,Forma de Alola,
|
||||
10213,8,Forma di Alola,
|
||||
|
@ -2308,7 +2327,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10214,1,アローラのすがた,
|
||||
10214,3,알로라의 모습,
|
||||
10214,4,阿羅拉的樣子,
|
||||
10214,5,Forme d’Alola,Tadmorv d'Alola
|
||||
10214,5,Forme d'Alola,Tadmorv d'Alola
|
||||
10214,6,Alola-Form,Alola Sleima
|
||||
10214,7,Forma de Alola,
|
||||
10214,8,Forma di Alola,
|
||||
|
@ -2318,7 +2337,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10215,1,アローラのすがた,
|
||||
10215,3,알로라의 모습,
|
||||
10215,4,阿羅拉的樣子,
|
||||
10215,5,Forme d’Alola,Grotadmorv d'Alola
|
||||
10215,5,Forme d'Alola,Grotadmorv d'Alola
|
||||
10215,6,Alola-Form,Alola Sleimok
|
||||
10215,7,Forma de Alola,
|
||||
10215,8,Forma di Alola,
|
||||
|
@ -2328,7 +2347,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10216,1,アローラのすがた,
|
||||
10216,3,알로라의 모습,
|
||||
10216,4,阿羅拉的樣子,
|
||||
10216,5,Forme d’Alola,Noadkoko d'Alola
|
||||
10216,5,Forme d'Alola,Noadkoko d'Alola
|
||||
10216,6,Alola-Form,Alola Kokowei
|
||||
10216,7,Forma de Alola,
|
||||
10216,8,Forma di Alola,
|
||||
|
@ -2338,7 +2357,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10217,1,アローラのすがた,
|
||||
10217,3,알로라의 모습,
|
||||
10217,4,阿羅拉的樣子,
|
||||
10217,5,Forme d’Alola,Ossatueur d'Alola
|
||||
10217,5,Forme d'Alola,Ossatueur d'Alola
|
||||
10217,6,Alola-Form,Alola Knogga
|
||||
10217,7,Forma de Alola,
|
||||
10217,8,Forma di Alola,
|
||||
|
@ -2673,7 +2692,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10254,1,りゅうせいのすがた,
|
||||
10254,3,유성의 모습,
|
||||
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,7,Forma Meteorito,
|
||||
10254,8,Forma Meteora,
|
||||
|
@ -2830,7 +2849,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10315,1,あかつきのつばさ,
|
||||
10315,3,새벽의 날개,
|
||||
10315,4,拂曉之翼,
|
||||
10315,5,Ailes de l’Aurore,Necrozma Ailes de l’Aurore
|
||||
10315,5,Ailes de l'Aurore,Necrozma Ailes de l’Aurore
|
||||
10315,6,Morgenschwingen,Necrozma (Morgenschwingen)
|
||||
10315,7,Alas del Alba,
|
||||
10315,8,Ali dell’Aurora,
|
||||
|
@ -3104,17 +3123,19 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10343,11,ローなすがた,
|
||||
10343,12,低调的样子,
|
||||
10344,1,しんさくフォルム,
|
||||
10344,5,Forme Authentique,Théffroi Authentique
|
||||
10344,6,Originalform,Fatalitee (Original)
|
||||
10344,9,Antique Form,Antique Sinistea
|
||||
10344,11,しんさくフォルム,
|
||||
10345,1,しんさくフォルム,
|
||||
10345,5,Forme Authentique,Polthégeist Authentique
|
||||
10345,6,Originalform,Mortipot (Original)
|
||||
10345,9,Antique Form,Antique Polteageist
|
||||
10345,11,しんさくフォルム,
|
||||
10346,1,ミルキィルビー,
|
||||
10346,3,밀키루비,
|
||||
10346,4,奶香紅鑽,
|
||||
10346,5,Lait Ruby,
|
||||
10346,5,Lait Ruby,Charmilly Lait Ruby
|
||||
10346,6,Ruby-Creme,Pokusan (Ruby-Creme)
|
||||
10346,7,Crema Rosa,
|
||||
10346,8,Latterosa,
|
||||
|
@ -3124,7 +3145,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10347,1,ミルキィまっちゃ,
|
||||
10347,3,밀키말차,
|
||||
10347,4,奶香抹茶,
|
||||
10347,5,Lait Matcha,
|
||||
10347,5,Lait Matcha,Charmilly Lait Matcha
|
||||
10347,6,Matcha-Creme,Pokusan (Matcha-Creme)
|
||||
10347,7,Crema de Té,
|
||||
10347,8,Lattematcha,
|
||||
|
@ -3134,7 +3155,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10348,1,ミルキィミント,
|
||||
10348,3,밀키민트,
|
||||
10348,4,奶香薄荷,
|
||||
10348,5,Lait Menthe,
|
||||
10348,5,Lait Menthe,Charmilly Lait Menthe
|
||||
10348,6,Minz-Creme,Pokusan (Minz-Creme)
|
||||
10348,7,Crema de Menta,
|
||||
10348,8,Lattementa,
|
||||
|
@ -3144,7 +3165,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10349,1,ミルキィレモン,
|
||||
10349,3,밀키레몬,
|
||||
10349,4,奶香檸檬,
|
||||
10349,5,Lait Citron,
|
||||
10349,5,Lait Citron,Charmilly Lait Citron
|
||||
10349,6,Zitronen-Creme,Pokusan (Zitronen-Creme)
|
||||
10349,7,Crema de Limón,
|
||||
10349,8,Lattelimone,
|
||||
|
@ -3154,7 +3175,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10350,1,ミルキィソルト,
|
||||
10350,3,밀키솔트,
|
||||
10350,4,奶香雪鹽,
|
||||
10350,5,Lait Salé,
|
||||
10350,5,Lait Salé,Charmilly Lait Salé
|
||||
10350,6,Salz-Creme,Pokusan (Salz-Creme)
|
||||
10350,7,Crema Salada,
|
||||
10350,8,Lattesale,
|
||||
|
@ -3164,7 +3185,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10351,1,ルビーミックス,
|
||||
10351,3,루비믹스,
|
||||
10351,4,紅鑽綜合,
|
||||
10351,5,Mélange Ruby,
|
||||
10351,5,Mélange Ruby,Charmilly Mélange Ruby
|
||||
10351,6,Ruby-Mix,Pokusan (Ruby-Mix)
|
||||
10351,7,Mezcla Rosa,
|
||||
10351,8,Rosamix,
|
||||
|
@ -3174,7 +3195,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10352,1,キャラメルミックス,
|
||||
10352,3,캐러멜믹스,
|
||||
10352,4,焦糖綜合,
|
||||
10352,5,Mélange Caramel,
|
||||
10352,5,Mélange Caramel,Charmilly Mélange Caramel
|
||||
10352,6,Karamell-Mix,Pokusan (Karamell-Mix)
|
||||
10352,7,Mezcla Caramelo,
|
||||
10352,8,Caramelmix,
|
||||
|
@ -3184,7 +3205,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10353,1,トリプルミックス,
|
||||
10353,3,트리플믹스,
|
||||
10353,4,三色綜合,
|
||||
10353,5,Mélange Tricolore,
|
||||
10353,5,Mélange Tricolore,Charmilly Mélange Tricolore
|
||||
10353,6,Trio-Mix,Pokusan (Trio-Mix)
|
||||
10353,7,Tres Sabores,
|
||||
10353,8,Triplomix,
|
||||
|
@ -3214,7 +3235,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10356,1,はらぺこもよう,
|
||||
10356,3,배고픈 모양,
|
||||
10356,4,空腹花紋,
|
||||
10356,5,Mode Affamé,Morpeko Mode Affamé
|
||||
10356,5,Mode Affamé,Morpeko Affamé
|
||||
10356,6,Kohldampfmuster,Morpeko (Kohldampf)
|
||||
10356,7,Forma Voraz,
|
||||
10356,8,Motivo Panciavuota,
|
||||
|
@ -3360,7 +3381,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10386,5,Forme Gigamax,Dratatin Gigamax
|
||||
10386,6,Gigadynamax-Form,Gigadynamax-Schlapfel
|
||||
10386,9,Gigantamax Form,Gigantamax Appletun
|
||||
10387,5,Forme Gigamax,Dunaconda
|
||||
10387,5,Forme Gigamax,Dunaconda Gigamax
|
||||
10387,6,Gigadynamax-Form,Gigadynamax-Sanaconda
|
||||
10387,9,Gigantamax Form,Gigantamax Sandaconda
|
||||
10388,5,Forme Gigamax,Salarsen Forme Aigüe Gigamax
|
||||
|
@ -3484,7 +3505,7 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10415,9,Origin Forme,Origin Palkia
|
||||
10415,11,オリジンフォルム,
|
||||
10416,1,しろすじのすがた,
|
||||
10416,5,Motif Blanch,Basculin Blanc
|
||||
10416,5,Motif Blanc,Bargantua Blanc
|
||||
10416,6,Weißlinienform,Weißliniges Barschuft
|
||||
10416,9,White-Striped Form,White-Striped Basculin
|
||||
10416,11,しろすじのすがた,
|
||||
|
@ -3494,145 +3515,168 @@ pokemon_form_id,local_language_id,form_name,pokemon_name
|
|||
10417,9,Female,Female Basculegion
|
||||
10417,11,メスのすがた,
|
||||
10418,1,れいじゅうフォルム,
|
||||
10418,5,Forme Avatar,Amovénus Avatar
|
||||
10418,5,Forme Totémique,Amovénus Totémique
|
||||
10418,6,Tiergeistform,Enamorus (Tiergeist)
|
||||
10418,9,Therian Forme,Therian Enamorus
|
||||
10418,11,れいじゅうフォルム,
|
||||
10419,1,パルデアのすがた,
|
||||
10419,9,Paldean Form,
|
||||
10419,5,Forme de Paldéa,Tauros de Paldéa Race Combative
|
||||
10419,9,Paldean Form (Combat Breed),Paldean Tauros (Combat Breed)
|
||||
10419,11,パルデアのすがた,
|
||||
10420,1,パルデアのすがた,
|
||||
10420,9,Paldean Form,
|
||||
10420,5,Forme de Paldéa,Tauros de Paldéa Race Flamboyante
|
||||
10420,9,Paldean Form (Blaze Breed),Paldean Tauros (Blaze Breed)
|
||||
10420,11,パルデアのすがた,
|
||||
10421,1,パルデアのすがた,
|
||||
10421,9,Paldean Form,
|
||||
10421,5,Forme de Paldéa,Tauros de Paldéa Race Aquatique
|
||||
10421,9,Paldean Form (Aqua Breed),Paldean Tauros (Aqua Breed)
|
||||
10421,11,パルデアのすがた,
|
||||
10422,1,パルデアのすがた,
|
||||
10422,9,Paldean Form,
|
||||
10422,5,Forme de Paldéa,Axoloto de Paldéa
|
||||
10422,9,Paldean Form,Paldean Wooper
|
||||
10422,11,パルデアのすがた,
|
||||
10423,1,メスのすがた,
|
||||
10423,9,Female,
|
||||
10423,5,Femelle,Fragroin Femelle
|
||||
10423,9,Female,Female Oinkologne
|
||||
10423,11,メスのすがた,
|
||||
10424,1,みつふしフォルム,
|
||||
10424,9,Three-Segment Form,
|
||||
10424,5,Forme Triple,Deusolourdo Forme Triple
|
||||
10424,9,Three-Segment Form,Three-Segment Form Dudunsparce
|
||||
10424,11,みつふしフォルム,
|
||||
10425,1,マイティフォルム,
|
||||
10425,9,Hero Form,
|
||||
10425,5,Forme Super,Superdofin Forme Super
|
||||
10425,9,Hero Form,Hero Form Palafin
|
||||
10425,11,マイティフォルム,
|
||||
10426,1,3びきかぞく,
|
||||
10426,9,Family of Three,
|
||||
10426,5,Famille de Trois,Famignol Famille de Trois
|
||||
10426,9,Family of Three,Maushold (Family of Three)
|
||||
10426,11,3びきかぞく,
|
||||
10427,1,たれたすがた,
|
||||
10427,9,Droopy Form,
|
||||
10427,5,Forme Affalée,Nigirigon Forme Affalée
|
||||
10427,9,Droopy Form,Droopy Form Tatsugiri
|
||||
10427,11,たれたすがた,
|
||||
10428,1,のびたすがた,
|
||||
10428,9,Stretchy Form,
|
||||
10428,5,Forme Raide,Nigirigon Forme Raide
|
||||
10428,9,Stretchy Form,Stretchy Form Tatsugiri
|
||||
10428,11,のびたすがた,
|
||||
10429,1,ブルーフェザー,
|
||||
10429,9,Blue Plumage,
|
||||
10429,5,Plumage Bleu,Tapatoès Plumage Bleu
|
||||
10429,9,Blue Plumage,Blue Plumage Squawkabilly
|
||||
10429,11,ブルーフェザー,
|
||||
10430,1,イエローフェザー,
|
||||
10430,9,Yellow Plumage,
|
||||
10430,5,Plumage Jaune,Tapatoès Plumage Jaune
|
||||
10430,9,Yellow Plumage,Yellow Plumage Squawkabilly
|
||||
10430,11,イエローフェザー,
|
||||
10431,1,ホワイトフェザー,
|
||||
10431,9,White Plumage,
|
||||
10431,5,Plumage Blanc,Tapatoès Plumage Blanc
|
||||
10431,9,White Plumage,White Plumage Squawkabilly
|
||||
10431,11,ホワイトフェザー,
|
||||
10432,1,とほフォルム,
|
||||
10432,9,Roaming Form,
|
||||
10432,5,Forme Marche,Mordudor Forme Marche
|
||||
10432,9,Roaming Form,Roaming Form Gimmighoul
|
||||
10432,11,とほフォルム,
|
||||
10433,1,せいげんけいたい,
|
||||
10433,5,Forme Limitée,Koraidon Forme Limitée
|
||||
10433,9,Limited Build,
|
||||
10433,11,せいげんけいたい,
|
||||
10434,1,しっそうけいたい,
|
||||
10434,5,Forme de Course,Koraidon Forme de Course
|
||||
10434,9,Sprinting Build,
|
||||
10434,11,しっそうけいたい,
|
||||
10435,1,ゆうえいけいたい,
|
||||
10435,5,Forme de Nage,Koraidon Forme de Nage
|
||||
10435,9,Swimming Build,
|
||||
10435,11,ゆうえいけいたい,
|
||||
10436,1,かっくうけいたい,
|
||||
10436,5,Forme de Vol,Koraidon Forme de Vol
|
||||
10436,9,Gliding Build,
|
||||
10436,11,かっくうけいたい,
|
||||
10437,1,リミテッドモード,
|
||||
10437,5,Mode Bridé,Miraidon Mode Bridé
|
||||
10437,9,Low-Power Mode,
|
||||
10437,11,リミテッドモード,
|
||||
10438,1,ドライブモード,
|
||||
10438,5,Mode Terrestre,Miraidon Mode Terrestre
|
||||
10438,9,Drive Mode,
|
||||
10438,11,ドライブモード,
|
||||
10439,1,フロートモード,
|
||||
10439,5,Mode Aquatique,Miraidon Mode Aquatique
|
||||
10439,9,Aquatic Mode,
|
||||
10439,11,フロートモード,
|
||||
10440,1,グライドモード,
|
||||
10440,5,Mode Aérien,Miraidon Mode Aérien
|
||||
10440,9,Glide Mode,
|
||||
10440,11,グライドモード,
|
||||
10441,1,アカツキ,
|
||||
10441,3,붉은 달,
|
||||
10441,4,赫月,
|
||||
10441,5,Lune Vermeille,
|
||||
10441,5,Lune Vermeille,Ursaking Lune Vermeille
|
||||
10441,6,Blutmond,
|
||||
10441,7,Luna Carmesí,
|
||||
10441,8,Luna Cremisi,
|
||||
10441,9,Bloodmoon,
|
||||
10441,9,Bloodmoon,Bloodmoon Ursaluna
|
||||
10441,11,アカツキ,
|
||||
10441,12,赫月,
|
||||
10442,1,いどのめん,
|
||||
10442,3,우물의가면,
|
||||
10442,4,水井面具,
|
||||
10442,5,Masque du Puits,
|
||||
10442,5,Masque du Puits,Ogerpon du Puits
|
||||
10442,6,Brunnenmaske,
|
||||
10442,7,Máscara Fuente,
|
||||
10442,8,Maschera Pozzo,
|
||||
10442,9,Wellspring Mask,
|
||||
10442,9,Wellspring Mask,Wellspring Mask Ogerpon
|
||||
10442,11,いどのめん,
|
||||
10442,12,水井面具,
|
||||
10443,1,かまどのめん,
|
||||
10443,3,화덕의가면,
|
||||
10443,4,火灶面具,
|
||||
10443,5,Masque du Fourneau,
|
||||
10443,5,Masque du Fourneau,Ogerpon du Fourneau
|
||||
10443,6,Ofenmaske,
|
||||
10443,7,Máscara Horno,
|
||||
10443,8,Maschera Focolare,
|
||||
10443,9,Hearthflame Mask,
|
||||
10443,9,Hearthflame Mask,Hearthflame Mask Ogerpon
|
||||
10443,11,かまどのめん,
|
||||
10443,12,火灶面具,
|
||||
10444,1,いしずえのめん,
|
||||
10444,3,주춧돌의가면,
|
||||
10444,4,礎石面具,
|
||||
10444,5,Masque de la Pierre,
|
||||
10444,5,Masque de la Pierre,Ogerpon de la Pierre
|
||||
10444,6,Fundamentmaske,
|
||||
10444,7,Máscara Cimiento,
|
||||
10444,8,Maschera Fondamenta,
|
||||
10444,9,Cornerstone Mask,
|
||||
10444,9,Cornerstone Mask,Cornerstone Mask Ogerpon
|
||||
10444,11,いしずえのめん,
|
||||
10444,12,礎石面具,
|
||||
10445,1,テラスタルフォルム,
|
||||
10445,5,Forme Téracristal,
|
||||
10445,5,Forme Téracristal,Terapagos Téracristal
|
||||
10445,6,Terakristall-Form,
|
||||
10445,7,Forma teracristal,
|
||||
10445,8,Forma Teracristal,
|
||||
10445,9,Terastal Form,
|
||||
10445,9,Terastal Form,Terastal Form Terapagos
|
||||
10445,11,テラスタルフォルム,
|
||||
10446,1,ステラフォルム,
|
||||
10446,5,Forme Stellaire,Terapagos Stellaire
|
||||
10446,6,Stellarform,
|
||||
10446,7,Forma astral,
|
||||
10446,9,Stellar Form,
|
||||
10446,9,Stellar Form,Stellar Form Terapagos
|
||||
10446,11,ステラフォルム,
|
||||
10447,1,タカイモノのすがた,
|
||||
10447,3,알짜배기의 모습,
|
||||
10447,4,高檔貨的樣子,
|
||||
10447,5,Forme Onéreuse,
|
||||
10447,5,Forme Onéreuse,Poltchageist Forme Onéreuse
|
||||
10447,6,Kostbarkeitsform,
|
||||
10447,7,Forma Opulenta,
|
||||
10447,8,Forma Pregiata,
|
||||
10447,9,Artisan Form,
|
||||
10447,9,Artisan Form,Artisan Form Poltchageist
|
||||
10447,11,タカイモノのすがた,
|
||||
10447,12,高档货的样子,
|
||||
10448,1,ケッサクのすがた,
|
||||
10448,3,걸작의 모습,
|
||||
10448,4,傑作的樣子,
|
||||
10448,5,Forme Exceptionnelle,
|
||||
10448,5,Forme Exceptionnelle,Théffroyable Forme Exceptionnelle
|
||||
10448,6,Edle Form,
|
||||
10448,7,Forma Exquisita,
|
||||
10448,8,Forma Eccezionale,
|
||||
10448,9,Masterpiece Form,
|
||||
10448,9,Masterpiece Form,Masterpiece Form Sinistcha
|
||||
10448,11,ケッサクのすがた,
|
||||
10448,12,杰作的样子,
|
||||
|
|
|
|
@ -914,7 +914,7 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
|
|||
913,quaxwell,,913,25,1,0,0,1,1274
|
||||
914,quaquaval,,914,25,1,0,0,1,1275
|
||||
915,lechonk,,915,25,1,0,0,1,1276
|
||||
916,oinkologne,male,916,25,1,0,0,1,1277
|
||||
916,oinkologne-male,male,916,25,1,0,0,1,1277
|
||||
917,tarountula,,917,25,1,0,0,1,1279
|
||||
918,spidops,,918,25,1,0,0,1,1280
|
||||
919,nymble,,919,25,1,0,0,1,1281
|
||||
|
@ -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
|
||||
10193,rattata-alola,alola,10091,17,1,0,0,2,26
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
10222,zygarde-complete,complete,10120,17,1,0,0,5,1004
|
||||
10223,gumshoos-totem,totem,10121,17,1,1,0,2,1024
|
||||
10224,vikavolt-totem,totem,10122,17,1,1,0,2,1028
|
||||
10222,zygarde-complete,complete,10120,17,1,1,0,5,1004
|
||||
10223,gumshoos-totem,totem,10121,17,1,0,0,2,1024
|
||||
10224,vikavolt-totem,totem,10122,17,1,0,0,2,1028
|
||||
10225,oricorio-pom-pom,pom-pom,10123,17,1,0,0,2,1032
|
||||
10226,oricorio-pau,pau,10124,17,1,0,0,3,1033
|
||||
10227,oricorio-sensu,sensu,10125,17,1,0,0,4,1034
|
||||
10228,lycanroc-midnight,midnight,10126,17,1,0,0,2,1041
|
||||
10229,wishiwashi-school,school,10127,17,1,1,0,2,1044
|
||||
10230,lurantis-totem,totem,10128,17,1,1,0,2,1054
|
||||
10231,salazzle-totem,totem,10129,17,1,1,0,2,1059
|
||||
10230,lurantis-totem,totem,10128,17,1,0,0,2,1054
|
||||
10231,salazzle-totem,totem,10129,17,1,0,0,2,1059
|
||||
10232,silvally-fighting,fighting,773,17,0,0,0,2,1075
|
||||
10233,silvally-flying,flying,773,17,0,0,0,3,1076
|
||||
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
|
||||
10261,minior-violet,violet,10142,17,1,0,0,14,1105
|
||||
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
|
||||
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
|
||||
10267,pikachu-partner-cap,partner-cap,10148,18,1,0,0,14,49
|
||||
10268,marowak-totem,totem,10149,18,1,0,0,3,167
|
||||
|
@ -1358,12 +1358,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
|
||||
10335,darumaka-galar,galar,10176,20,1,0,0,2,725
|
||||
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
|
||||
10339,stunfisk-galar,galar,10180,20,1,0,0,2,800
|
||||
10340,zygarde-10,10,10181,17,1,0,0,2,1001
|
||||
10341,cramorant-gulping,gulping,10182,20,1,0,0,2,1186
|
||||
10342,cramorant-gorging,gorging,10183,20,1,0,0,3,1187
|
||||
10341,cramorant-gulping,gulping,10182,20,1,1,0,2,1186
|
||||
10342,cramorant-gorging,gorging,10183,20,1,1,0,3,1187
|
||||
10343,toxtricity-low-key,low-key,10184,20,1,0,0,2,1192
|
||||
10344,sinistea-antique,antique,854,20,0,0,0,2,1198
|
||||
10345,polteageist-antique,antique,855,20,0,0,0,2,1200
|
||||
|
@ -1375,11 +1375,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
|
||||
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
|
||||
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
|
||||
10356,morpeko-hangry,hangry,10187,20,1,0,0,2,1233
|
||||
10357,zacian-crowned,crowned,10188,20,1,0,0,2,1245
|
||||
10358,zamazenta-crowned,crowned,10189,20,1,0,0,2,1247
|
||||
10356,morpeko-hangry,hangry,10187,20,1,1,0,2,1233
|
||||
10357,zacian-crowned,crowned,10188,20,1,1,0,2,1245
|
||||
10358,zamazenta-crowned,crowned,10189,20,1,1,0,2,1247
|
||||
10359,eternatus-eternamax,eternamax,10190,20,1,0,0,2,1249
|
||||
10360,urshifu-rapid-strike,rapid-strike,10191,20,1,0,0,2,1252
|
||||
10361,zarude-dada,dada,10192,20,1,0,0,2,1254
|
||||
|
@ -1437,9 +1437,9 @@ id,identifier,form_identifier,pokemon_id,introduced_in_version_group_id,is_defau
|
|||
10413,decidueye-hisui,hisui,10244,24,1,0,0,2,1299
|
||||
10414,dialga-origin,origin,10245,24,1,0,0,2,1300
|
||||
10415,palkia-origin,origin,10246,24,1,0,0,2,1301
|
||||
10416,basculin-white-striped,white-striped,10247,24,1,0,0,1,1302
|
||||
10417,basculegion-female,female,10248,24,1,0,0,1,1303
|
||||
10418,enamorus-therian,therian,10249,24,1,0,0,1,1304
|
||||
10416,basculin-white-striped,white-striped,10247,24,1,0,0,3,1302
|
||||
10417,basculegion-female,female,10248,24,1,0,0,2,1303
|
||||
10418,enamorus-therian,therian,10249,24,1,0,0,2,1304
|
||||
10419,tauros-paldea-combat-breed,paldea-combat-breed,10250,25,0,0,0,2,1305
|
||||
10420,tauros-paldea-blaze-breed,paldea-blaze-breed,10251,25,0,0,0,3,1306
|
||||
10421,tauros-paldea-aqua-breed,paldea-aqua-breed,10252,25,0,0,0,4,1307
|
||||
|
|
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
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,
|
||||
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
|
||||
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
|
||||
|
@ -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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
|
@ -904,123 +904,123 @@ id,identifier,generation_id,evolves_from_species_id,evolution_chain_id,color_id,
|
|||
903,sneasler,8,215,109,4,6,,4,135,,0,,0,4,0,0,0,903,
|
||||
904,overqwil,8,211,106,1,3,,4,135,,0,,0,2,0,0,0,904,
|
||||
905,enamorus,8,,477,6,4,,8,3,,0,,0,1,1,1,0,905,
|
||||
906,sprigatito,9,,478,5,,,1,45,50,0,20,0,4,0,0,0,906,
|
||||
907,floragato,9,906,478,5,,,1,45,50,0,20,0,4,0,0,0,907,
|
||||
908,meowscarada,9,907,478,5,,,1,45,50,0,20,0,4,0,0,0,908,
|
||||
909,fuecoco,9,,479,8,,,1,45,50,0,20,0,4,0,0,0,909,
|
||||
910,crocalor,9,909,479,8,,,1,45,50,0,20,0,4,0,0,0,910,
|
||||
911,skeledirge,9,910,479,8,,,1,45,50,0,20,0,4,0,0,0,911,
|
||||
912,quaxly,9,,480,9,,,1,45,50,0,20,0,4,0,0,0,912,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
919,nymble,9,,483,4,,,4,190,20,0,20,0,2,0,0,0,920,
|
||||
920,lokix,9,919,483,4,,,4,30,0,0,20,0,2,0,0,0,921,
|
||||
921,pawmi,9,,484,10,,,4,190,50,0,15,0,2,0,0,0,954,
|
||||
922,pawmo,9,921,484,10,,,4,80,50,0,15,0,2,0,0,0,955,
|
||||
923,pawmot,9,922,484,10,,,4,45,50,0,15,0,2,0,0,0,956,
|
||||
924,tandemaus,9,,485,9,,,-1,150,50,0,10,0,3,0,0,0,945,
|
||||
925,maushold,9,924,485,9,,,-1,75,50,0,10,0,3,0,0,0,946,
|
||||
926,fidough,9,,486,10,,,4,190,50,0,20,0,4,0,0,0,970,
|
||||
927,dachsbun,9,926,486,3,,,4,90,50,0,20,0,4,0,0,0,971,
|
||||
928,smoliv,9,,487,5,,,4,255,50,0,20,0,4,0,0,0,935,
|
||||
929,dolliv,9,928,487,5,,,4,120,50,0,20,0,4,0,0,0,936,
|
||||
930,arboliva,9,929,487,5,,,4,45,50,0,20,0,4,0,0,0,937,
|
||||
931,squawkabilly,9,,488,5,,,4,190,50,0,15,0,5,0,0,0,960,
|
||||
932,nacli,9,,489,3,,,4,255,50,0,20,0,4,0,0,0,963,
|
||||
933,naclstack,9,932,489,3,,,4,120,50,0,20,0,4,0,0,0,964,
|
||||
934,garganacl,9,933,489,3,,,4,45,50,0,20,0,4,0,0,0,965,
|
||||
935,charcadet,9,,490,8,,,4,90,50,0,35,0,1,0,0,0,1003,
|
||||
936,armarouge,9,935,490,8,,,4,25,20,0,35,0,1,0,0,0,1004,
|
||||
937,ceruledge,9,935,490,2,,,4,25,20,0,35,0,1,0,0,0,1005,
|
||||
938,tadbulb,9,,491,10,,,4,190,50,0,20,0,2,0,0,0,940,
|
||||
939,bellibolt,9,938,491,5,,,4,50,50,0,20,0,2,0,0,0,941,
|
||||
940,wattrel,9,,492,1,,,4,180,50,0,20,0,4,0,0,0,957,
|
||||
941,kilowattrel,9,940,492,10,,,4,90,50,0,20,0,4,0,0,0,958,
|
||||
942,maschiff,9,,493,3,,,4,150,50,0,20,0,4,0,0,0,972,
|
||||
943,mabosstiff,9,942,493,4,,,4,75,50,0,20,0,4,0,0,0,973,
|
||||
944,shroodle,9,,494,4,,,4,190,50,0,20,0,4,0,0,0,968,
|
||||
945,grafaiai,9,944,494,4,,,4,90,50,0,20,0,4,0,0,0,969,
|
||||
946,bramblin,9,,495,3,,,4,190,50,0,20,0,2,0,0,0,974,
|
||||
947,brambleghast,9,946,495,3,,,4,45,50,0,20,0,2,0,0,0,975,
|
||||
948,toedscool,9,,496,10,,,4,190,50,0,20,0,4,0,0,0,1006,
|
||||
949,toedscruel,9,948,496,1,,,4,90,50,0,20,0,4,0,0,0,1007,
|
||||
950,klawf,9,,497,8,,,4,120,50,0,35,0,2,0,0,0,962,
|
||||
951,capsakid,9,,498,5,,,4,190,50,0,20,0,2,0,0,0,938,
|
||||
952,scovillain,9,951,498,5,,,4,75,50,0,20,0,2,0,0,0,939,
|
||||
953,rellor,9,,499,3,,,4,190,50,0,20,0,3,0,0,0,922,
|
||||
954,rabsca,9,953,499,5,,,4,45,50,0,20,0,3,0,0,0,923,
|
||||
955,flittle,9,,500,10,,,4,120,50,0,20,0,4,0,0,0,926,
|
||||
956,espathra,9,955,500,10,,,4,60,50,0,20,0,4,0,0,0,927,
|
||||
957,tinkatink,9,,501,6,,,8,190,50,0,20,0,4,0,0,0,1000,
|
||||
958,tinkatuff,9,957,501,6,,,8,90,50,0,20,0,4,0,0,0,1001,
|
||||
959,tinkaton,9,958,501,6,,,8,45,50,0,20,0,4,0,0,0,1002,
|
||||
960,wiglett,9,,502,9,,,4,255,50,0,20,0,2,0,0,0,929,
|
||||
961,wugtrio,9,960,502,8,,,4,50,50,0,20,0,2,0,0,0,930,
|
||||
962,bombirdier,9,,503,9,,,4,25,50,0,35,0,1,0,0,0,959,
|
||||
963,finizen,9,,504,2,,,4,200,50,0,40,0,1,0,0,0,933,
|
||||
964,palafin,9,963,504,2,,,4,45,50,0,40,0,1,0,0,0,934,
|
||||
965,varoom,9,,505,4,,,4,190,50,0,20,0,2,0,0,0,942,
|
||||
966,revavroom,9,965,505,4,,,4,75,50,0,20,0,2,0,0,0,943,
|
||||
967,cyclizar,9,,506,5,,,4,190,50,0,30,0,4,0,0,0,953,
|
||||
968,orthworm,9,,507,6,,,4,25,50,0,35,0,1,0,0,0,944,
|
||||
969,glimmet,9,,508,2,,,4,70,50,0,30,0,4,0,0,0,966,
|
||||
970,glimmora,9,969,508,2,,,4,25,50,0,30,0,4,0,0,0,967,
|
||||
971,greavard,9,,509,9,,,4,120,50,0,20,0,4,0,0,0,924,
|
||||
972,houndstone,9,971,509,9,,,4,60,50,0,20,0,4,0,0,0,925,
|
||||
973,flamigo,9,,510,6,,,4,100,50,0,20,0,4,0,0,0,961,
|
||||
974,cetoddle,9,,511,9,,,4,150,50,0,25,0,4,0,0,0,947,
|
||||
975,cetitan,9,974,511,9,,,4,50,50,0,25,0,4,0,0,0,948,
|
||||
976,veluza,9,,512,4,,,4,100,50,0,20,0,3,0,0,0,932,
|
||||
977,dondozo,9,,513,2,,,4,25,50,0,40,0,1,0,0,0,931,
|
||||
978,tatsugiri,9,,514,6,,,4,100,50,0,35,0,4,0,0,0,952,
|
||||
979,annihilape,9,57,24,4,,,4,45,50,0,20,0,2,0,0,0,1010,
|
||||
980,clodsire,9,194,96,3,,,4,90,50,0,20,0,2,0,0,0,1009,
|
||||
981,farigiraf,9,203,101,3,,,4,45,50,0,20,0,2,0,0,0,928,
|
||||
982,dudunsparce,9,206,103,10,,,4,45,50,0,20,0,2,0,0,0,917,
|
||||
983,kingambit,9,625,317,1,,,4,25,50,0,20,0,2,0,0,0,1008,
|
||||
984,great-tusk,9,,515,7,,,-1,30,0,0,50,0,1,0,0,0,978,
|
||||
985,scream-tail,9,,516,6,,,-1,50,0,0,50,0,1,0,0,0,982,
|
||||
986,brute-bonnet,9,,517,4,,,-1,50,0,0,50,0,1,0,0,0,979,
|
||||
987,flutter-mane,9,,518,4,,,-1,30,0,0,50,0,1,0,0,0,983,
|
||||
988,slither-wing,9,,519,8,,,-1,30,0,0,50,0,1,0,0,0,984,
|
||||
989,sandy-shocks,9,,520,4,,,-1,30,0,0,50,0,1,0,0,0,981,
|
||||
990,iron-treads,9,,521,4,,,-1,30,0,0,50,0,1,0,0,0,986,
|
||||
991,iron-bundle,9,,522,8,,,-1,50,0,0,50,0,1,0,0,0,992,
|
||||
992,iron-hands,9,,523,4,,,-1,50,0,0,50,0,1,0,0,0,989,
|
||||
993,iron-jugulis,9,,524,2,,,-1,30,0,0,50,0,1,0,0,0,990,
|
||||
994,iron-moth,9,,525,10,,,-1,30,0,0,50,0,1,0,0,0,988,
|
||||
995,iron-thorns,9,,526,5,,,-1,30,0,0,50,0,1,0,0,0,991,
|
||||
996,frigibax,9,,527,4,,,4,45,50,0,40,0,1,0,0,0,949,
|
||||
997,arctibax,9,996,527,4,,,4,25,50,0,40,0,1,0,0,0,950,
|
||||
998,baxcalibur,9,997,527,4,,,4,10,50,0,40,0,1,0,0,0,951,
|
||||
999,gimmighoul,9,,528,3,,,-1,45,50,0,50,0,1,0,0,0,976,
|
||||
1000,gholdengo,9,999,528,10,,,-1,45,50,0,50,0,1,0,0,0,977,
|
||||
1001,wo-chien,9,,529,3,,,-1,6,0,0,50,0,1,0,1,0,996,
|
||||
1002,chien-pao,9,,530,9,,,-1,6,0,0,50,0,1,0,1,0,995,
|
||||
1003,ting-lu,9,,531,3,,,-1,6,0,0,50,0,1,0,1,0,994,
|
||||
1004,chi-yu,9,,532,8,,,-1,6,0,0,50,0,1,0,1,0,997,
|
||||
1005,roaring-moon,9,,533,5,,,-1,10,0,0,50,0,1,0,0,0,985,
|
||||
1006,iron-valiant,9,,534,9,,,-1,10,0,0,50,0,1,0,0,0,993,
|
||||
1007,koraidon,9,,535,8,,,-1,3,0,0,50,0,1,0,1,0,998,
|
||||
1008,miraidon,9,,536,2,,,-1,3,0,0,50,0,1,0,1,0,999,
|
||||
1009,walking-wake,9,,537,2,,,-1,5,0,0,50,0,1,0,0,0,1011,
|
||||
1010,iron-leaves,9,,538,5,,,-1,5,0,0,50,0,1,0,0,0,1012,
|
||||
1011,dipplin,9,840,442,5,,,-1,45,0,0,20,0,1,0,0,0,1013,
|
||||
1012,poltchageist,9,,539,5,,,-1,120,0,0,50,0,1,0,0,0,1014,
|
||||
1013,sinistcha,9,1012,539,5,,,-1,60,0,0,50,0,1,0,0,0,1015,
|
||||
1014,okidogi,9,,540,1,,,-1,3,0,0,50,0,1,0,1,0,1016,
|
||||
1015,munkidori,9,,541,1,,,-1,3,0,0,50,0,1,0,1,0,1017,
|
||||
1016,fezandipiti,9,,542,1,,,-1,3,0,0,50,0,1,0,1,0,1018,
|
||||
1017,ogerpon,9,,543,5,,,-1,5,0,0,50,0,1,0,1,0,1019,
|
||||
1018,archaludon,9,884,465,9,,,4,10,50,0,30,0,2,0,0,0,1020,
|
||||
1019,hydrapple,9,1011,442,5,,,4,10,50,0,20,0,5,0,0,0,1021,
|
||||
1020,gouging-fire,9,,544,3,,,-1,10,0,0,50,0,1,0,0,0,1022,
|
||||
1021,raging-bolt,9,,545,10,,,-1,10,0,0,50,0,1,0,0,0,1023,
|
||||
1022,iron-boulder,9,,547,4,,,-1,10,0,0,50,0,1,0,0,0,1024,
|
||||
1023,iron-crown,9,,546,2,,,-1,10,0,0,50,0,1,0,0,0,1025,
|
||||
1024,terapagos,9,,548,2,,,-1,255,50,0,5,0,1,0,1,0,1026,
|
||||
1025,pecharunt,9,,549,7,,,-1,3,0,0,20,0,1,0,0,1,1027,
|
||||
906,sprigatito,9,,478,5,8,,1,45,50,0,20,0,4,0,0,0,906,
|
||||
907,floragato,9,906,478,5,6,,1,45,50,0,20,0,4,0,0,0,907,
|
||||
908,meowscarada,9,907,478,5,6,,1,45,50,0,20,0,4,0,0,0,908,
|
||||
909,fuecoco,9,,479,8,6,,1,45,50,0,20,0,4,0,0,0,909,
|
||||
910,crocalor,9,909,479,8,6,,1,45,50,0,20,0,4,0,0,0,910,
|
||||
911,skeledirge,9,910,479,8,8,,1,45,50,0,20,0,4,0,0,0,911,
|
||||
912,quaxly,9,,480,9,6,,1,45,50,0,20,0,4,0,0,0,912,
|
||||
913,quaxwell,9,912,480,2,6,,1,45,50,0,20,0,4,0,0,0,913,
|
||||
914,quaquaval,9,913,480,2,6,,1,45,50,0,20,0,4,0,0,0,914,
|
||||
915,lechonk,9,,481,4,8,,4,255,50,0,15,0,2,0,0,0,915,
|
||||
916,oinkologne,9,915,481,4,8,,0,100,50,0,15,1,2,0,0,0,916,
|
||||
917,tarountula,9,,482,9,14,,4,255,50,0,15,0,5,0,0,0,918,
|
||||
918,spidops,9,917,482,5,14,,4,120,50,0,15,0,5,0,0,0,919,
|
||||
919,nymble,9,,483,4,14,,4,190,20,0,20,0,2,0,0,0,920,
|
||||
920,lokix,9,919,483,4,12,,4,30,0,0,20,0,2,0,0,0,921,
|
||||
921,pawmi,9,,484,10,8,,4,190,50,0,15,0,2,0,0,0,954,
|
||||
922,pawmo,9,921,484,10,6,,4,80,50,0,15,0,2,0,0,0,955,
|
||||
923,pawmot,9,922,484,10,6,,4,45,50,0,15,0,2,0,0,0,956,
|
||||
924,tandemaus,9,,485,9,11,,-1,150,50,0,10,0,3,0,0,0,945,
|
||||
925,maushold,9,924,485,9,11,,-1,75,50,0,10,0,3,0,0,0,946,
|
||||
926,fidough,9,,486,10,8,,4,190,50,0,20,0,4,0,0,0,970,
|
||||
927,dachsbun,9,926,486,3,8,,4,90,50,0,20,0,4,0,0,0,971,
|
||||
928,smoliv,9,,487,5,7,,4,255,50,0,20,0,4,0,0,0,935,
|
||||
929,dolliv,9,928,487,5,12,,4,120,50,0,20,0,4,0,0,0,936,
|
||||
930,arboliva,9,929,487,5,12,,4,45,50,0,20,0,4,0,0,0,937,
|
||||
931,squawkabilly,9,,488,5,9,,4,190,50,0,15,0,5,0,0,0,960,
|
||||
932,nacli,9,,489,3,1,,4,255,50,0,20,0,4,0,0,0,963,
|
||||
933,naclstack,9,932,489,3,8,,4,120,50,0,20,0,4,0,0,0,964,
|
||||
934,garganacl,9,933,489,3,12,,4,45,50,0,20,0,4,0,0,0,965,
|
||||
935,charcadet,9,,490,8,12,,4,90,50,0,35,0,1,0,0,0,1003,
|
||||
936,armarouge,9,935,490,8,12,,4,25,20,0,35,0,1,0,0,0,1004,
|
||||
937,ceruledge,9,935,490,2,12,,4,25,20,0,35,0,1,0,0,0,1005,
|
||||
938,tadbulb,9,,491,10,1,,4,190,50,0,20,0,2,0,0,0,940,
|
||||
939,bellibolt,9,938,491,5,12,,4,50,50,0,20,0,2,0,0,0,941,
|
||||
940,wattrel,9,,492,1,9,,4,180,50,0,20,0,4,0,0,0,957,
|
||||
941,kilowattrel,9,940,492,10,9,,4,90,50,0,20,0,4,0,0,0,958,
|
||||
942,maschiff,9,,493,3,8,,4,150,50,0,20,0,4,0,0,0,972,
|
||||
943,mabosstiff,9,942,493,4,8,,4,75,50,0,20,0,4,0,0,0,973,
|
||||
944,shroodle,9,,494,4,8,,4,190,50,0,20,0,4,0,0,0,968,
|
||||
945,grafaiai,9,944,494,4,6,,4,90,50,0,20,0,4,0,0,0,969,
|
||||
946,bramblin,9,,495,3,1,,4,190,50,0,20,0,2,0,0,0,974,
|
||||
947,brambleghast,9,946,495,3,1,,4,45,50,0,20,0,2,0,0,0,975,
|
||||
948,toedscool,9,,496,10,7,,4,190,50,0,20,0,4,0,0,0,1006,
|
||||
949,toedscruel,9,948,496,1,10,,4,90,50,0,20,0,4,0,0,0,1007,
|
||||
950,klawf,9,,497,8,14,,4,120,50,0,35,0,2,0,0,0,962,
|
||||
951,capsakid,9,,498,5,6,,4,190,50,0,20,0,2,0,0,0,938,
|
||||
952,scovillain,9,951,498,5,6,,4,75,50,0,20,0,2,0,0,0,939,
|
||||
953,rellor,9,,499,3,14,,4,190,50,0,20,0,3,0,0,0,922,
|
||||
954,rabsca,9,953,499,5,14,,4,45,50,0,20,0,3,0,0,0,923,
|
||||
955,flittle,9,,500,10,7,,4,120,50,0,20,0,4,0,0,0,926,
|
||||
956,espathra,9,955,500,10,6,,4,60,50,0,20,0,4,0,0,0,927,
|
||||
957,tinkatink,9,,501,6,12,,8,190,50,0,20,0,4,0,0,0,1000,
|
||||
958,tinkatuff,9,957,501,6,12,,8,90,50,0,20,0,4,0,0,0,1001,
|
||||
959,tinkaton,9,958,501,6,12,,8,45,50,0,20,0,4,0,0,0,1002,
|
||||
960,wiglett,9,,502,9,5,,4,255,50,0,20,0,2,0,0,0,929,
|
||||
961,wugtrio,9,960,502,8,5,,4,50,50,0,20,0,2,0,0,0,930,
|
||||
962,bombirdier,9,,503,9,9,,4,25,50,0,35,0,1,0,0,0,959,
|
||||
963,finizen,9,,504,2,3,,4,200,50,0,40,0,1,0,0,0,933,
|
||||
964,palafin,9,963,504,2,3,,4,45,50,0,40,0,1,0,0,0,934,
|
||||
965,varoom,9,,505,4,7,,4,190,50,0,20,0,2,0,0,0,942,
|
||||
966,revavroom,9,965,505,4,7,,4,75,50,0,20,0,2,0,0,0,943,
|
||||
967,cyclizar,9,,506,5,8,,4,190,50,0,30,0,4,0,0,0,953,
|
||||
968,orthworm,9,,507,6,2,,4,25,50,0,35,0,1,0,0,0,944,
|
||||
969,glimmet,9,,508,2,1,,4,70,50,0,30,0,4,0,0,0,966,
|
||||
970,glimmora,9,969,508,2,1,,4,25,50,0,30,0,4,0,0,0,967,
|
||||
971,greavard,9,,509,9,8,,4,120,50,0,20,0,4,0,0,0,924,
|
||||
972,houndstone,9,971,509,9,8,,4,60,50,0,20,0,4,0,0,0,925,
|
||||
973,flamigo,9,,510,6,9,,4,100,50,0,20,0,4,0,0,0,961,
|
||||
974,cetoddle,9,,511,9,6,,4,150,50,0,25,0,4,0,0,0,947,
|
||||
975,cetitan,9,974,511,9,6,,4,50,50,0,25,0,4,0,0,0,948,
|
||||
976,veluza,9,,512,4,3,,4,100,50,0,20,0,3,0,0,0,932,
|
||||
977,dondozo,9,,513,2,3,,4,25,50,0,40,0,1,0,0,0,931,
|
||||
978,tatsugiri,9,,514,6,3,,4,100,50,0,35,0,4,0,0,0,952,
|
||||
979,annihilape,9,57,24,4,12,,4,45,50,0,20,0,2,0,0,0,1010,
|
||||
980,clodsire,9,194,96,3,8,,4,90,50,0,20,0,2,0,0,0,1009,
|
||||
981,farigiraf,9,203,101,3,8,,4,45,50,0,20,0,2,0,0,0,928,
|
||||
982,dudunsparce,9,206,103,10,2,,4,45,50,0,20,0,2,0,0,0,917,
|
||||
983,kingambit,9,625,317,1,12,,4,25,50,0,20,0,2,0,0,0,1008,
|
||||
984,great-tusk,9,,515,7,8,,-1,30,0,0,50,0,1,0,0,0,978,
|
||||
985,scream-tail,9,,516,6,6,,-1,50,0,0,50,0,1,0,0,0,982,
|
||||
986,brute-bonnet,9,,517,4,8,,-1,50,0,0,50,0,1,0,0,0,979,
|
||||
987,flutter-mane,9,,518,4,9,,-1,30,0,0,50,0,1,0,0,0,983,
|
||||
988,slither-wing,9,,519,8,8,,-1,30,0,0,50,0,1,0,0,0,984,
|
||||
989,sandy-shocks,9,,520,4,8,,-1,30,0,0,50,0,1,0,0,0,981,
|
||||
990,iron-treads,9,,521,4,8,,-1,30,0,0,50,0,1,0,0,0,986,
|
||||
991,iron-bundle,9,,522,8,6,,-1,50,0,0,50,0,1,0,0,0,992,
|
||||
992,iron-hands,9,,523,4,12,,-1,50,0,0,50,0,1,0,0,0,989,
|
||||
993,iron-jugulis,9,,524,2,6,,-1,30,0,0,50,0,1,0,0,0,990,
|
||||
994,iron-moth,9,,525,10,13,,-1,30,0,0,50,0,1,0,0,0,988,
|
||||
995,iron-thorns,9,,526,5,6,,-1,30,0,0,50,0,1,0,0,0,991,
|
||||
996,frigibax,9,,527,4,6,,4,45,50,0,40,0,1,0,0,0,949,
|
||||
997,arctibax,9,996,527,4,6,,4,25,50,0,40,0,1,0,0,0,950,
|
||||
998,baxcalibur,9,997,527,4,6,,4,10,50,0,40,0,1,0,0,0,951,
|
||||
999,gimmighoul,9,,528,3,5,,-1,45,50,0,50,0,1,0,0,0,976,
|
||||
1000,gholdengo,9,999,528,10,12,,-1,45,50,0,50,0,1,0,0,0,977,
|
||||
1001,wo-chien,9,,529,3,2,,-1,6,0,0,50,0,1,0,1,0,996,
|
||||
1002,chien-pao,9,,530,9,8,,-1,6,0,0,50,0,1,0,1,0,995,
|
||||
1003,ting-lu,9,,531,3,8,,-1,6,0,0,50,0,1,0,1,0,994,
|
||||
1004,chi-yu,9,,532,8,3,,-1,6,0,0,50,0,1,0,1,0,997,
|
||||
1005,roaring-moon,9,,533,5,8,,-1,10,0,0,50,0,1,0,0,0,985,
|
||||
1006,iron-valiant,9,,534,9,12,,-1,10,0,0,50,0,1,0,0,0,993,
|
||||
1007,koraidon,9,,535,8,6,,-1,3,0,0,50,0,1,0,1,0,998,
|
||||
1008,miraidon,9,,536,2,8,,-1,3,0,0,50,0,1,0,1,0,999,
|
||||
1009,walking-wake,9,,537,2,6,,-1,5,0,0,50,0,1,0,0,0,1011,
|
||||
1010,iron-leaves,9,,538,5,8,,-1,5,0,0,50,0,1,0,0,0,1012,
|
||||
1011,dipplin,9,840,442,5,11,,-1,45,0,0,20,0,1,0,0,0,1013,
|
||||
1012,poltchageist,9,,539,5,1,,-1,120,0,0,50,0,1,0,0,0,1014,
|
||||
1013,sinistcha,9,1012,539,5,1,,-1,60,0,0,50,0,1,0,0,0,1015,
|
||||
1014,okidogi,9,,540,1,6,,-1,3,0,0,50,0,1,0,1,0,1016,
|
||||
1015,munkidori,9,,541,1,12,,-1,3,0,0,50,0,1,0,1,0,1017,
|
||||
1016,fezandipiti,9,,542,1,9,,-1,3,0,0,50,0,1,0,1,0,1018,
|
||||
1017,ogerpon,9,,543,5,12,,-1,5,0,0,50,0,1,0,1,0,1019,
|
||||
1018,archaludon,9,884,465,9,6,,4,10,50,0,30,0,2,0,0,0,1020,
|
||||
1019,hydrapple,9,1011,442,5,11,,4,10,50,0,20,0,5,0,0,0,1021,
|
||||
1020,gouging-fire,9,,544,3,8,,-1,10,0,0,50,0,1,0,0,0,1022,
|
||||
1021,raging-bolt,9,,545,10,8,,-1,10,0,0,50,0,1,0,0,0,1023,
|
||||
1022,iron-boulder,9,,547,4,8,,-1,10,0,0,50,0,1,0,0,0,1024,
|
||||
1023,iron-crown,9,,546,2,8,,-1,10,0,0,50,0,1,0,0,0,1025,
|
||||
1024,terapagos,9,,548,2,8,,-1,255,50,0,5,0,1,0,1,0,1026,
|
||||
1025,pecharunt,9,,549,7,1,,-1,3,0,0,20,0,1,0,0,1,1027,
|
||||
|
|
|
|
@ -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,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,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. It’s so durable that being caught in a cave-in won’t 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,"It’s 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 Pecharunt’s 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.
|
File diff suppressed because it is too large
Load diff
|
@ -179,6 +179,16 @@ type_id,local_language_id,name
|
|||
18,9,Fairy
|
||||
18,11,フェアリー
|
||||
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,3,???
|
||||
10001,4,???
|
||||
|
|
|
|
@ -17,5 +17,6 @@ id,identifier,generation_id,damage_class_id
|
|||
16,dragon,1,3
|
||||
17,dark,2,3
|
||||
18,fairy,6,
|
||||
19,stellar,9,
|
||||
10001,unknown,2,
|
||||
10002,shadow,3,
|
||||
|
|
|
|
@ -364,3 +364,17 @@ version_id,local_language_id,name
|
|||
41,8,Violetto
|
||||
41,9,Violet
|
||||
41,12,紫
|
||||
42,1,みどりのかめん
|
||||
42,5,Le masque turquoise
|
||||
42,6,Die türkisgrüne maske
|
||||
42,7,La máscara turquesa
|
||||
42,8,La maschera turchese
|
||||
42,9,The teal mask
|
||||
42,12,碧之假面
|
||||
43,1,あおのえんばん
|
||||
43,5,Le disque indigo
|
||||
43,6,Die indigoblaue scheibe
|
||||
43,7,El disco índigo
|
||||
43,8,Il disco indaco
|
||||
43,9,The indigo disk
|
||||
43,12,藍之圓盤
|
||||
|
|
|
|
@ -1 +1 @@
|
|||
Subproject commit ca5a7886c10753144e6fae3b69d45a4d42a449b4
|
||||
Subproject commit 52427d467f3e3b22af3c9cefc807a7452196ccd7
|
32
default.nix
Normal file
32
default.nix
Normal 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
|
||||
'';
|
||||
|
||||
}
|
|
@ -6,4 +6,4 @@ services:
|
|||
context: .
|
||||
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
|
||||
|
|
|
@ -44,7 +44,7 @@ services:
|
|||
- ./Resources/nginx/ssl:/ssl:ro
|
||||
- graphql_cache:/tmp/cache
|
||||
graphql-engine:
|
||||
image: hasura/graphql-engine:v2.36.1-ce
|
||||
image: hasura/graphql-engine:v2.36.4
|
||||
ports:
|
||||
- "8080:8080"
|
||||
depends_on:
|
||||
|
|
|
@ -27,6 +27,13 @@ array_relationships:
|
|||
table:
|
||||
name: pokemon_v2_pokemonabilitypast
|
||||
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
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
|
|
|
@ -11,3 +11,10 @@ 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
|
||||
|
|
|
@ -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
|
|
@ -11,3 +11,10 @@ object_relationships:
|
|||
- name: pokemon_v2_type
|
||||
using:
|
||||
foreign_key_constraint_on: damage_type_id
|
||||
select_permissions:
|
||||
- role: anon
|
||||
permission:
|
||||
columns: '*'
|
||||
filter: {}
|
||||
limit: 100000
|
||||
allow_aggregations: true
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
- "!include public_pokemon_v2_pokemonabilitypast.yaml"
|
||||
- "!include public_pokemon_v2_pokemoncolor.yaml"
|
||||
- "!include public_pokemon_v2_pokemoncolorname.yaml"
|
||||
- "!include public_pokemon_v2_pokemoncries.yaml"
|
||||
- "!include public_pokemon_v2_pokemondexnumber.yaml"
|
||||
- "!include public_pokemon_v2_pokemonegggroup.yaml"
|
||||
- "!include public_pokemon_v2_pokemonevolution.yaml"
|
||||
|
|
9385
openapi.yml
Normal file
9385
openapi.yml
Normal file
File diff suppressed because it is too large
Load diff
3183
pokemon_v2/README.md
3183
pokemon_v2/README.md
File diff suppressed because it is too large
Load diff
|
@ -4,6 +4,9 @@ from rest_framework.response import Response
|
|||
from rest_framework.views import APIView
|
||||
from django.shortcuts import get_object_or_404
|
||||
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 .serializers import *
|
||||
|
@ -38,6 +41,15 @@ class NameOrIdRetrieval:
|
|||
idPattern = re.compile(r"^-?[0-9]+$")
|
||||
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):
|
||||
queryset = self.get_queryset()
|
||||
queryset = self.filter_queryset(queryset)
|
||||
|
@ -59,9 +71,30 @@ class NameOrIdRetrieval:
|
|||
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(
|
||||
ListOrDetailSerialRelation, NameOrIdRetrieval, viewsets.ReadOnlyModelViewSet
|
||||
):
|
||||
@extend_schema(parameters=[retrieve_path_parameter])
|
||||
def retrieve(self, request, pk=None):
|
||||
return super().retrieve(request, pk)
|
||||
|
||||
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):
|
||||
queryset = Ability.objects.all()
|
||||
serializer_class = AbilityDetailSerializer
|
||||
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):
|
||||
queryset = Berry.objects.all()
|
||||
serializer_class = BerryDetailSerializer
|
||||
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):
|
||||
queryset = BerryFirmness.objects.all()
|
||||
serializer_class = BerryFirmnessDetailSerializer
|
||||
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):
|
||||
queryset = BerryFlavor.objects.all()
|
||||
serializer_class = BerryFlavorDetailSerializer
|
||||
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):
|
||||
queryset = Characteristic.objects.all()
|
||||
serializer_class = CharacteristicDetailSerializer
|
||||
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):
|
||||
queryset = ContestEffect.objects.all()
|
||||
serializer_class = ContestEffectDetailSerializer
|
||||
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):
|
||||
queryset = ContestType.objects.all()
|
||||
serializer_class = ContestTypeDetailSerializer
|
||||
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):
|
||||
queryset = EggGroup.objects.all()
|
||||
serializer_class = EggGroupDetailSerializer
|
||||
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):
|
||||
queryset = EncounterCondition.objects.all()
|
||||
serializer_class = EncounterConditionDetailSerializer
|
||||
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):
|
||||
queryset = EncounterConditionValue.objects.all()
|
||||
serializer_class = EncounterConditionValueDetailSerializer
|
||||
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):
|
||||
queryset = EncounterMethod.objects.all()
|
||||
serializer_class = EncounterMethodDetailSerializer
|
||||
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):
|
||||
queryset = EvolutionChain.objects.all()
|
||||
serializer_class = EvolutionChainDetailSerializer
|
||||
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):
|
||||
queryset = EvolutionTrigger.objects.all()
|
||||
serializer_class = EvolutionTriggerDetailSerializer
|
||||
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):
|
||||
queryset = Generation.objects.all()
|
||||
serializer_class = GenerationDetailSerializer
|
||||
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):
|
||||
queryset = Gender.objects.all()
|
||||
serializer_class = GenderDetailSerializer
|
||||
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):
|
||||
queryset = GrowthRate.objects.all()
|
||||
serializer_class = GrowthRateDetailSerializer
|
||||
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):
|
||||
queryset = Item.objects.all()
|
||||
serializer_class = ItemDetailSerializer
|
||||
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):
|
||||
queryset = ItemCategory.objects.all()
|
||||
serializer_class = ItemCategoryDetailSerializer
|
||||
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):
|
||||
queryset = ItemAttribute.objects.all()
|
||||
serializer_class = ItemAttributeDetailSerializer
|
||||
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):
|
||||
queryset = ItemFlingEffect.objects.all()
|
||||
serializer_class = ItemFlingEffectDetailSerializer
|
||||
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):
|
||||
queryset = ItemPocket.objects.all()
|
||||
serializer_class = ItemPocketDetailSerializer
|
||||
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):
|
||||
queryset = Language.objects.all()
|
||||
serializer_class = LanguageDetailSerializer
|
||||
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):
|
||||
queryset = Location.objects.all()
|
||||
serializer_class = LocationDetailSerializer
|
||||
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):
|
||||
queryset = LocationArea.objects.all()
|
||||
serializer_class = LocationAreaDetailSerializer
|
||||
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):
|
||||
queryset = Machine.objects.all()
|
||||
serializer_class = MachineDetailSerializer
|
||||
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):
|
||||
queryset = Move.objects.all()
|
||||
serializer_class = MoveDetailSerializer
|
||||
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):
|
||||
queryset = MoveDamageClass.objects.all()
|
||||
serializer_class = MoveDamageClassDetailSerializer
|
||||
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):
|
||||
queryset = MoveMetaAilment.objects.all()
|
||||
serializer_class = MoveMetaAilmentDetailSerializer
|
||||
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):
|
||||
queryset = MoveBattleStyle.objects.all()
|
||||
serializer_class = MoveBattleStyleDetailSerializer
|
||||
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):
|
||||
queryset = MoveMetaCategory.objects.all()
|
||||
serializer_class = MoveMetaCategoryDetailSerializer
|
||||
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):
|
||||
queryset = MoveLearnMethod.objects.all()
|
||||
serializer_class = MoveLearnMethodDetailSerializer
|
||||
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):
|
||||
queryset = MoveTarget.objects.all()
|
||||
serializer_class = MoveTargetDetailSerializer
|
||||
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):
|
||||
queryset = Nature.objects.all()
|
||||
serializer_class = NatureDetailSerializer
|
||||
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):
|
||||
queryset = PalParkArea.objects.all()
|
||||
serializer_class = PalParkAreaDetailSerializer
|
||||
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):
|
||||
queryset = PokeathlonStat.objects.all()
|
||||
serializer_class = PokeathlonStatDetailSerializer
|
||||
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):
|
||||
queryset = Pokedex.objects.all()
|
||||
serializer_class = PokedexDetailSerializer
|
||||
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):
|
||||
queryset = PokemonColor.objects.all()
|
||||
serializer_class = PokemonColorDetailSerializer
|
||||
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):
|
||||
queryset = PokemonForm.objects.all()
|
||||
serializer_class = PokemonFormDetailSerializer
|
||||
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):
|
||||
queryset = PokemonHabitat.objects.all()
|
||||
serializer_class = PokemonHabitatDetailSerializer
|
||||
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):
|
||||
queryset = PokemonShape.objects.all()
|
||||
serializer_class = PokemonShapeDetailSerializer
|
||||
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):
|
||||
queryset = Pokemon.objects.all()
|
||||
serializer_class = PokemonDetailSerializer
|
||||
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):
|
||||
queryset = PokemonSpecies.objects.all().order_by("id")
|
||||
serializer_class = PokemonSpeciesDetailSerializer
|
||||
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):
|
||||
queryset = Region.objects.all()
|
||||
serializer_class = RegionDetailSerializer
|
||||
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):
|
||||
queryset = Stat.objects.all()
|
||||
serializer_class = StatDetailSerializer
|
||||
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):
|
||||
queryset = SuperContestEffect.objects.all()
|
||||
serializer_class = SuperContestEffectDetailSerializer
|
||||
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):
|
||||
queryset = Type.objects.all()
|
||||
serializer_class = TypeDetailSerializer
|
||||
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):
|
||||
queryset = Version.objects.all()
|
||||
serializer_class = VersionDetailSerializer
|
||||
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):
|
||||
queryset = VersionGroup.objects.all()
|
||||
serializer_class = VersionGroupDetailSerializer
|
||||
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):
|
||||
"""
|
||||
Handles Pokemon Encounters as a sub-resource.
|
||||
"""
|
||||
|
||||
def get(self, request, pokemon_id):
|
||||
self.context = dict(request=request)
|
||||
|
||||
|
|
41
pokemon_v2/migrations/0015_pokemoncries.py
Normal file
41
pokemon_v2/migrations/0015_pokemoncries.py
Normal 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,
|
||||
},
|
||||
),
|
||||
]
|
41
pokemon_v2/migrations/0016_typesprites.py
Normal file
41
pokemon_v2/migrations/0016_typesprites.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Generated by Django 3.2.23 on 2024-07-29 02:09
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("pokemon_v2", "0015_pokemoncries"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="TypeSprites",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("sprites", models.JSONField()),
|
||||
(
|
||||
"type",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="typesprites",
|
||||
to="pokemon_v2.type",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"abstract": False,
|
||||
},
|
||||
),
|
||||
]
|
17
pokemon_v2/migrations/0017_pokemonmovemastery.py
Normal file
17
pokemon_v2/migrations/0017_pokemonmovemastery.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Generated by Django 3.2.23 on 2024-09-22 08:32
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("pokemon_v2", "0016_typesprites"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="pokemonmove",
|
||||
name="mastery",
|
||||
field=models.IntegerField(blank=True, null=True),
|
||||
),
|
||||
]
|
|
@ -773,6 +773,10 @@ class TypeEfficacyPast(HasTypeEfficacy, HasGeneration):
|
|||
pass
|
||||
|
||||
|
||||
class TypeSprites(HasType):
|
||||
sprites = models.JSONField()
|
||||
|
||||
|
||||
#################
|
||||
# STAT MODELS #
|
||||
#################
|
||||
|
@ -1757,6 +1761,7 @@ class MoveLearnMethodDescription(IsDescription, HasMoveLearnMethod):
|
|||
|
||||
class PokemonMove(HasPokemon, HasMoveLearnMethod, HasVersionGroup, HasMove, HasOrder):
|
||||
level = models.IntegerField()
|
||||
mastery = models.IntegerField(null=True, blank=True)
|
||||
|
||||
|
||||
class PokemonShape(HasName):
|
||||
|
@ -1796,3 +1801,7 @@ class PokemonTypePast(HasPokemon, HasType, HasGeneration):
|
|||
|
||||
class PokemonSprites(HasPokemon):
|
||||
sprites = models.JSONField()
|
||||
|
||||
|
||||
class PokemonCries(HasPokemon):
|
||||
cries = models.JSONField()
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -312,7 +312,7 @@ class APIData:
|
|||
|
||||
@classmethod
|
||||
def setup_item_sprites_data(cls, item, default=True):
|
||||
sprite_path = "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/%s.png"
|
||||
sprite_path = "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/items/%s.png"
|
||||
|
||||
sprites = {
|
||||
"default": sprite_path % item.id if default else None,
|
||||
|
@ -692,6 +692,54 @@ class APIData:
|
|||
|
||||
return type_game_index
|
||||
|
||||
def setup_type_sprites_data(cls, type):
|
||||
game_map = {
|
||||
"generation-iii": [
|
||||
"colosseum",
|
||||
"emerald",
|
||||
"firered-leafgreen",
|
||||
"ruby-saphire",
|
||||
"xd",
|
||||
],
|
||||
"generation-iv": ["diamond-pearl", "heartgold-soulsilver", "platinum"],
|
||||
"generation-v": ["black-2-white-2", "black-white"],
|
||||
"generation-vi": ["omega-ruby-alpha-sapphire", "x-y"],
|
||||
"generation-vii": [
|
||||
"lets-go-pikachu-lets-go-eevee",
|
||||
"sun-moon",
|
||||
"ultra-sun-ultra-moon",
|
||||
],
|
||||
"generation-viii": [
|
||||
"brilliant-diamond-and-shining-pearl",
|
||||
"legends-arceus",
|
||||
"sword-shield",
|
||||
],
|
||||
"generation-ix": ["scarlet-violet"],
|
||||
}
|
||||
sprites = {}
|
||||
for generation in game_map.keys():
|
||||
for game in game_map[generation]:
|
||||
if generation not in sprites:
|
||||
sprites[generation] = {}
|
||||
|
||||
if type.id == 18 and generation.endswith(("-iii", "-iv", "-v")):
|
||||
sprites[generation][game] = None
|
||||
elif type.id == 19 and generation.endswith(
|
||||
("-iii", "-iv", "-v", "-vi", "-vii", "-viii")
|
||||
):
|
||||
sprites[generation][game] = None
|
||||
else:
|
||||
sprites[generation][game] = {
|
||||
"name_icon": f"https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/types/{generation}/{game}/{type.id}.png"
|
||||
}
|
||||
|
||||
type_sprites = TypeSprites.objects.create(
|
||||
type=type, sprites=json.dumps(sprites)
|
||||
)
|
||||
type_sprites.save()
|
||||
|
||||
return type_sprites, game_map
|
||||
|
||||
# Move Data
|
||||
@classmethod
|
||||
def setup_move_ailment_data(cls, name="mv almnt"):
|
||||
|
@ -1679,42 +1727,46 @@ class APIData:
|
|||
|
||||
showdown = {
|
||||
"front_default": showdown_path % pokemon.id if front_default else None,
|
||||
"front_female": showdown_path % f"female/{pokemon.id}"
|
||||
if front_female
|
||||
else None,
|
||||
"front_shiny": showdown_path % f"shiny/{pokemon.id}"
|
||||
if front_shiny
|
||||
else None,
|
||||
"front_shiny_female": showdown_path % f"shiny/female/{pokemon.id}"
|
||||
if front_shiny_female
|
||||
else None,
|
||||
"back_default": showdown_path % f"back/{pokemon.id}"
|
||||
if back_default
|
||||
else None,
|
||||
"back_female": showdown_path % f"back/female/{pokemon.id}"
|
||||
if back_female
|
||||
else None,
|
||||
"back_shiny": showdown_path % f"back/shiny/{pokemon.id}"
|
||||
if back_shiny
|
||||
else None,
|
||||
"back_shiny_female": showdown_path % f"back/shiny/female/{pokemon.id}"
|
||||
if back_shiny_female
|
||||
else None,
|
||||
"front_female": (
|
||||
showdown_path % f"female/{pokemon.id}" if front_female else None
|
||||
),
|
||||
"front_shiny": (
|
||||
showdown_path % f"shiny/{pokemon.id}" if front_shiny else None
|
||||
),
|
||||
"front_shiny_female": (
|
||||
showdown_path % f"shiny/female/{pokemon.id}"
|
||||
if front_shiny_female
|
||||
else None
|
||||
),
|
||||
"back_default": (
|
||||
showdown_path % f"back/{pokemon.id}" if back_default else None
|
||||
),
|
||||
"back_female": (
|
||||
showdown_path % f"back/female/{pokemon.id}" if back_female else None
|
||||
),
|
||||
"back_shiny": (
|
||||
showdown_path % f"back/shiny/{pokemon.id}" if back_shiny else None
|
||||
),
|
||||
"back_shiny_female": (
|
||||
showdown_path % f"back/shiny/female/{pokemon.id}"
|
||||
if back_shiny_female
|
||||
else None
|
||||
),
|
||||
}
|
||||
|
||||
sprites = {
|
||||
"front_default": sprite_path % pokemon.id if front_default 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_female": sprite_path % pokemon.id
|
||||
if front_shiny_female
|
||||
else None,
|
||||
"front_shiny_female": (
|
||||
sprite_path % pokemon.id if front_shiny_female 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_shiny": sprite_path % pokemon.id if back_shiny else None,
|
||||
"back_shiny_female": sprite_path % pokemon.id
|
||||
if back_shiny_female
|
||||
else None,
|
||||
"back_shiny_female": (
|
||||
sprite_path % pokemon.id if back_shiny_female else None
|
||||
),
|
||||
}
|
||||
|
||||
pokemon_sprites = PokemonSprites.objects.create(
|
||||
|
@ -1725,6 +1777,21 @@ class APIData:
|
|||
|
||||
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
|
||||
@classmethod
|
||||
def setup_evolution_trigger_data(cls, name="evltn trgr"):
|
||||
|
@ -2734,9 +2801,14 @@ class APITests(APIData, APITestCase):
|
|||
"{}{}/evolution-chain/{}/".format(TEST_HOST, API_V2, evolution_chain.pk),
|
||||
)
|
||||
|
||||
sprites_data = json.loads(response.data["sprites"])
|
||||
sprites_data = json.loads(item_sprites.sprites)
|
||||
response_sprites_data = json.loads(response.data["sprites"])
|
||||
|
||||
# sprites
|
||||
self.assertEqual(
|
||||
sprites_data["default"],
|
||||
response_sprites_data["default"],
|
||||
)
|
||||
self.assertEqual(
|
||||
sprites_data["default"],
|
||||
"{}".format(sprites_data["default"]),
|
||||
|
@ -3294,12 +3366,12 @@ class APITests(APIData, APITestCase):
|
|||
|
||||
# Type Tests
|
||||
def test_type_api(self):
|
||||
type = self.setup_type_data(name="base tp")
|
||||
type_name = self.setup_type_name_data(type, name="base tp nm")
|
||||
type_game_index = self.setup_type_game_index_data(type, game_index=10)
|
||||
move = self.setup_move_data(name="mv for base tp", type=type)
|
||||
type_obj = self.setup_type_data(name="base tp")
|
||||
type_name = self.setup_type_name_data(type_obj, name="base tp nm")
|
||||
type_game_index = self.setup_type_game_index_data(type_obj, game_index=10)
|
||||
move = self.setup_move_data(name="mv for base tp", type=type_obj)
|
||||
pokemon = self.setup_pokemon_data(name="pkmn for base tp")
|
||||
pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon, type=type)
|
||||
pokemon_type = self.setup_pokemon_type_data(pokemon=pokemon, type=type_obj)
|
||||
|
||||
generation = self.setup_generation_data(name="past gen")
|
||||
|
||||
|
@ -3326,39 +3398,41 @@ class APITests(APIData, APITestCase):
|
|||
|
||||
newer_type = self.setup_type_data(name="newer tp", generation=newer_generation)
|
||||
|
||||
type_sprites, game_map = self.setup_type_sprites_data(type=type_obj)
|
||||
|
||||
# type relations
|
||||
no_damage_to_relation = TypeEfficacy(
|
||||
damage_type=type, target_type=no_damage_to, damage_factor=0
|
||||
damage_type=type_obj, target_type=no_damage_to, damage_factor=0
|
||||
)
|
||||
no_damage_to_relation.save()
|
||||
|
||||
half_damage_to_type_relation = TypeEfficacy(
|
||||
damage_type=type, target_type=half_damage_to, damage_factor=50
|
||||
damage_type=type_obj, target_type=half_damage_to, damage_factor=50
|
||||
)
|
||||
half_damage_to_type_relation.save()
|
||||
|
||||
double_damage_to_type_relation = TypeEfficacy(
|
||||
damage_type=type, target_type=double_damage_to, damage_factor=200
|
||||
damage_type=type_obj, target_type=double_damage_to, damage_factor=200
|
||||
)
|
||||
double_damage_to_type_relation.save()
|
||||
|
||||
no_damage_from_relation = TypeEfficacy(
|
||||
damage_type=no_damage_from, target_type=type, damage_factor=0
|
||||
damage_type=no_damage_from, target_type=type_obj, damage_factor=0
|
||||
)
|
||||
no_damage_from_relation.save()
|
||||
|
||||
half_damage_from_type_relation = TypeEfficacy(
|
||||
damage_type=half_damage_from, target_type=type, damage_factor=50
|
||||
damage_type=half_damage_from, target_type=type_obj, damage_factor=50
|
||||
)
|
||||
half_damage_from_type_relation.save()
|
||||
|
||||
double_damage_from_type_relation = TypeEfficacy(
|
||||
damage_type=double_damage_from, target_type=type, damage_factor=200
|
||||
damage_type=double_damage_from, target_type=type_obj, damage_factor=200
|
||||
)
|
||||
double_damage_from_type_relation.save()
|
||||
|
||||
double_damage_from_newer_type_relation = TypeEfficacy(
|
||||
damage_type=newer_type, target_type=type, damage_factor=200
|
||||
damage_type=newer_type, target_type=type_obj, damage_factor=200
|
||||
)
|
||||
double_damage_from_newer_type_relation.save()
|
||||
|
||||
|
@ -3366,20 +3440,20 @@ class APITests(APIData, APITestCase):
|
|||
|
||||
# type used to deal half damage rather than no damage
|
||||
past_no_damage_to_relation = TypeEfficacyPast(
|
||||
damage_type=type,
|
||||
damage_type=type_obj,
|
||||
target_type=no_damage_to,
|
||||
damage_factor=50,
|
||||
generation=generation,
|
||||
)
|
||||
past_no_damage_to_relation.save()
|
||||
|
||||
response = self.client.get("{}/type/{}/".format(API_V2, type.pk))
|
||||
response = self.client.get("{}/type/{}/".format(API_V2, type_obj.pk))
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
# base params
|
||||
self.assertEqual(response.data["id"], type.pk)
|
||||
self.assertEqual(response.data["name"], type.name)
|
||||
self.assertEqual(response.data["id"], type_obj.pk)
|
||||
self.assertEqual(response.data["name"], type_obj.name)
|
||||
# name params
|
||||
self.assertEqual(response.data["names"][0]["name"], type_name.name)
|
||||
self.assertEqual(
|
||||
|
@ -3390,19 +3464,19 @@ class APITests(APIData, APITestCase):
|
|||
"{}{}/language/{}/".format(TEST_HOST, API_V2, type_name.language.pk),
|
||||
)
|
||||
# generation params
|
||||
self.assertEqual(response.data["generation"]["name"], type.generation.name)
|
||||
self.assertEqual(response.data["generation"]["name"], type_obj.generation.name)
|
||||
self.assertEqual(
|
||||
response.data["generation"]["url"],
|
||||
"{}{}/generation/{}/".format(TEST_HOST, API_V2, type.generation.pk),
|
||||
"{}{}/generation/{}/".format(TEST_HOST, API_V2, type_obj.generation.pk),
|
||||
)
|
||||
# damage class params
|
||||
self.assertEqual(
|
||||
response.data["move_damage_class"]["name"], type.move_damage_class.name
|
||||
response.data["move_damage_class"]["name"], type_obj.move_damage_class.name
|
||||
)
|
||||
self.assertEqual(
|
||||
response.data["move_damage_class"]["url"],
|
||||
"{}{}/move-damage-class/{}/".format(
|
||||
TEST_HOST, API_V2, type.move_damage_class.pk
|
||||
TEST_HOST, API_V2, type_obj.move_damage_class.pk
|
||||
),
|
||||
)
|
||||
# move params
|
||||
|
@ -3551,6 +3625,15 @@ class APITests(APIData, APITestCase):
|
|||
),
|
||||
)
|
||||
|
||||
sprites_data = json.loads(type_sprites.sprites)
|
||||
|
||||
for generation in game_map.keys():
|
||||
for game in game_map[generation]:
|
||||
self.assertEqual(
|
||||
json.loads(response.data["sprites"])[generation][game]["name_icon"],
|
||||
sprites_data[generation][game]["name_icon"],
|
||||
)
|
||||
|
||||
# Pokedex Tests
|
||||
def test_pokedex_api(self):
|
||||
pokedex = self.setup_pokedex_data(name="base pkdx")
|
||||
|
@ -4596,6 +4679,7 @@ class APITests(APIData, APITestCase):
|
|||
pokemon_species=pokemon_species, name="pkm for base pkmn spcs"
|
||||
)
|
||||
self.setup_pokemon_sprites_data(pokemon)
|
||||
self.setup_pokemon_cries_data(pokemon)
|
||||
|
||||
response = self.client.get(
|
||||
"{}/pokemon-species/{}/".format(API_V2, pokemon_species.pk),
|
||||
|
@ -4816,6 +4900,7 @@ class APITests(APIData, APITestCase):
|
|||
)
|
||||
pokemon_item = self.setup_pokemon_item_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=pokemon, game_index=10
|
||||
)
|
||||
|
@ -5052,7 +5137,9 @@ class APITests(APIData, APITestCase):
|
|||
)
|
||||
|
||||
sprites_data = json.loads(pokemon_sprites.sprites)
|
||||
cries_data = json.loads(pokemon_cries.cries)
|
||||
response_sprites_data = json.loads(response.data["sprites"])
|
||||
response_cries_data = json.loads(response.data["cries"])
|
||||
|
||||
# sprite params
|
||||
self.assertEqual(
|
||||
|
@ -5070,6 +5157,35 @@ class APITests(APIData, APITestCase):
|
|||
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):
|
||||
pokemon_species = self.setup_pokemon_species_data()
|
||||
pokemon = self.setup_pokemon_data(pokemon_species=pokemon_species)
|
||||
|
|
|
@ -11,3 +11,4 @@ mimeparse==0.1.3
|
|||
psycopg2-binary==2.9.9
|
||||
python-dateutil==2.8.2
|
||||
python-mimeparse==1.6.0
|
||||
drf-spectacular==0.27.2
|
||||
|
|
Loading…
Reference in a new issue