1
21
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve and repo issues
|
||||||
|
title: ''
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
-----
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Version**
|
||||||
|
Run `[p]help Pokecord` and return the version in the help.
|
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Summary of your suggestion**
|
||||||
|
Brief outlook on what it should be and how it should work.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
49
.github/workflows/publish_crowdin.yml
vendored
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# All credits goes to Cog-Creators for this crowdin setup
|
||||||
|
# https://github.com/Cog-Creators/Red-DiscordBot/blob/V3/develop/.github/workflows/publish_crowdin.yml
|
||||||
|
|
||||||
|
name: Crowdin
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 20 1 * *"
|
||||||
|
|
||||||
|
env:
|
||||||
|
CROWDIN_API_KEY: ${{ secrets.crowdin_token }}
|
||||||
|
CROWDIN_PROJECT_ID: ${{ secrets.crowdin_identifier }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
if: github.repository == 'flaree/pokecord-red'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: "3.8"
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
|
||||||
|
echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y crowdin
|
||||||
|
pip install redgettext==3.2
|
||||||
|
- name: Generate source files
|
||||||
|
run: |
|
||||||
|
make gettext
|
||||||
|
- name: Upload source files
|
||||||
|
run: |
|
||||||
|
make upload_translations
|
||||||
|
- name: Download translations
|
||||||
|
run: |
|
||||||
|
make download_translations
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@v2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: Automated Crowdin downstream
|
||||||
|
title: "[i18n] Automated Crowdin downstream"
|
||||||
|
body: |
|
||||||
|
This is an automated PR.
|
||||||
|
Please ensure that there are no errors or invalid files are in the PR.
|
||||||
|
branch: "automated/i18n"
|
31
.github/workflows/run_precommit.yaml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
name: Run pre-commit
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run_precommit:
|
||||||
|
name: Run pre-commit
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Checkout repository
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Setup Python and install pre-commit
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python_version: "3.8"
|
||||||
|
- name: Install pre-commit
|
||||||
|
run: |
|
||||||
|
pip install -U pre-commit
|
||||||
|
# Load cached pre-commit environment
|
||||||
|
- name: set PY
|
||||||
|
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pre-commit
|
||||||
|
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
||||||
|
# Run pre-commit
|
||||||
|
- name: Run pre-commit
|
||||||
|
run: |
|
||||||
|
pre-commit run --show-diff-on-failure --color=never --all-files --verbose
|
132
.gitignore
vendored
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
chromedriver.exe
|
||||||
|
|
||||||
|
.vscode/
|
39
.pre-commit-config.yaml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
default_language_version:
|
||||||
|
python: python3.8
|
||||||
|
fail_fast: false
|
||||||
|
ci:
|
||||||
|
autoupdate_schedule: quarterly
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.0.1
|
||||||
|
hooks:
|
||||||
|
- id: check-yaml
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: check-builtin-literals
|
||||||
|
- id: check-ast
|
||||||
|
- id: check-docstring-first
|
||||||
|
- id: check-json
|
||||||
|
- id: detect-private-key
|
||||||
|
- id: check-toml
|
||||||
|
- id: requirements-txt-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
args: [--markdown-linebreak-ext=md]
|
||||||
|
|
||||||
|
- repo: https://github.com/humitos/mirrors-autoflake.git
|
||||||
|
rev: v1.1
|
||||||
|
hooks:
|
||||||
|
- id: autoflake
|
||||||
|
args: ['--in-place', '--remove-unused-variable']
|
||||||
|
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: '21.6b0'
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
- repo: https://github.com/Pierre-Sassoulas/black-disable-checker
|
||||||
|
rev: '1.0.1'
|
||||||
|
hooks:
|
||||||
|
- id: black-disable-checker
|
||||||
|
- repo: https://github.com/pycqa/isort
|
||||||
|
rev: '5.9.1'
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Jamie
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
17
Makefile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
gettext:
|
||||||
|
redgettext --command-docstrings --verbose --recursive pokecord/ --exclude-files 'pokecord/data/*'
|
||||||
|
|
||||||
|
upload_translations:
|
||||||
|
crowdin upload sources
|
||||||
|
|
||||||
|
download_translations:
|
||||||
|
crowdin download
|
||||||
|
|
||||||
|
reformat:
|
||||||
|
python3 -m black -l 99 `git ls-files "*.py"`
|
||||||
|
|
||||||
|
stylecheck:
|
||||||
|
python3 -m black -l 99 --check --diff `git ls-files "*.py"`
|
||||||
|
|
||||||
|
compile:
|
||||||
|
python3 -m compileall .
|
11
README.md
|
@ -1 +1,10 @@
|
||||||
# Ava-Cogs
|
# Pokecord-Red
|
||||||
|
|
||||||
|
# This repo is NOT maintained.
|
||||||
|
|
||||||
|
## This is a cog for Red! This is NOT a standalone bot. You can find the docs for Red @ https://docs.discord.red/
|
||||||
|
|
||||||
|
# Contact
|
||||||
|
You can contact me in the Red Cog support support in #support_flare-cogs
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
7
crowdin.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
api_key_env: CROWDIN_API_KEY
|
||||||
|
project_identifier_env: CROWDIN_PROJECT_ID
|
||||||
|
base_path: ./pokecord/
|
||||||
|
preserve_hierarchy: true
|
||||||
|
files:
|
||||||
|
- source: locales/messages.pot
|
||||||
|
translation: locales/%locale%.po
|
17
info.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"author": [
|
||||||
|
"Valerie (1050531216589332581)"
|
||||||
|
],
|
||||||
|
"install_msg": "Thanks for adding Ava Cogs!",
|
||||||
|
"name": "Ava Cogs",
|
||||||
|
"short": "Ava Cogs, for our fork of Red-DiscordBot",
|
||||||
|
"description": "Ava Cogs, for our fork of Red-DiscordBot",
|
||||||
|
"tags": [
|
||||||
|
"avacogs",
|
||||||
|
"pokemon",
|
||||||
|
"utility",
|
||||||
|
"information",
|
||||||
|
"nsfw",
|
||||||
|
"various"
|
||||||
|
]
|
||||||
|
}
|
12
locales/messages.pot
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2020-08-01 23:53+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: redgettext 3.1\n"
|
50
make.bat
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
if [%1] == [] goto help
|
||||||
|
|
||||||
|
REM This allows us to expand variables at execution
|
||||||
|
setlocal ENABLEDELAYEDEXPANSION
|
||||||
|
|
||||||
|
REM This will set DIFF as a list of staged files
|
||||||
|
set DIFF=
|
||||||
|
for /F "tokens=* USEBACKQ" %%A in (`git diff --name-only --staged "*.py" "*.pyi"`) do (
|
||||||
|
set DIFF=!DIFF! %%A
|
||||||
|
)
|
||||||
|
|
||||||
|
REM This will set DIFF as a list of files tracked by git
|
||||||
|
if [!DIFF!]==[] (
|
||||||
|
set DIFF=
|
||||||
|
for /F "tokens=* USEBACKQ" %%A in (`git ls-files "*.py" "*.pyi"`) do (
|
||||||
|
set DIFF=!DIFF! %%A
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
goto %1
|
||||||
|
|
||||||
|
:reformat
|
||||||
|
py -m autoflake --in-place --imports=aiohttp,discord,redbot !DIFF! || goto :eof
|
||||||
|
py -m isort !DIFF! || goto :eof
|
||||||
|
py -m black !DIFF!
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:stylecheck
|
||||||
|
autoflake --check --imports aiohttp,discord,redbot !DIFF! || goto :eof
|
||||||
|
isort --check-only !DIFF! || goto :eof
|
||||||
|
black --check !DIFF!
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:reformatblack
|
||||||
|
black !DIFF!
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
|
||||||
|
:help
|
||||||
|
echo Usage:
|
||||||
|
echo make ^<command^>
|
||||||
|
echo.
|
||||||
|
echo Commands:
|
||||||
|
echo reformat Reformat all .py files being tracked by git.
|
||||||
|
echo stylecheck Check which tracked .py files need reformatting.
|
||||||
|
echo newenv Create or replace this project's virtual environment.
|
||||||
|
echo syncenv Sync this project's virtual environment to Red's latest
|
||||||
|
echo dependencies.
|
11
nsfw/__init__.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
from redbot.core.bot import Red
|
||||||
|
from .nsfw import Nsfw
|
||||||
|
|
||||||
|
__red_end_user_data_statement__ = (
|
||||||
|
"This cog does not persistently store data or metadata about users."
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot: Red):
|
||||||
|
cog = Nsfw(bot)
|
||||||
|
await bot.add_cog(cog)
|
344
nsfw/constants.py
Normal file
|
@ -0,0 +1,344 @@
|
||||||
|
from random import choice
|
||||||
|
|
||||||
|
# Stuff for the cog
|
||||||
|
|
||||||
|
|
||||||
|
def emoji():
|
||||||
|
"""Randomize footer emojis."""
|
||||||
|
EMOJIS = [
|
||||||
|
"\N{AUBERGINE}",
|
||||||
|
"\N{SMIRKING FACE}",
|
||||||
|
"\N{PEACH}",
|
||||||
|
"\N{SPLASHING SWEAT SYMBOL}",
|
||||||
|
"\N{BANANA}",
|
||||||
|
"\N{KISS MARK}",
|
||||||
|
]
|
||||||
|
emoji = choice(EMOJIS)
|
||||||
|
return emoji
|
||||||
|
|
||||||
|
|
||||||
|
REDDIT_BASEURL = "https://api.reddit.com/r/{sub}/random"
|
||||||
|
MARTINE_API_BASE_URL = "https://api.martinebot.com/v1/images/subreddit"
|
||||||
|
IMGUR_LINKS = ("http://imgur.com", "https://m.imgur.com", "https://imgur.com")
|
||||||
|
NOT_EMBED_DOMAINS = (
|
||||||
|
"gfycat.com/",
|
||||||
|
"gifdeliverynetwork.com/",
|
||||||
|
"redgifs.com",
|
||||||
|
"imgur.com/gallery/",
|
||||||
|
"imgur.com/a/",
|
||||||
|
".gifv",
|
||||||
|
)
|
||||||
|
GOOD_EXTENSIONS = (".png", ".jpg", ".jpeg", ".gif", "gifv")
|
||||||
|
|
||||||
|
# Subreddits
|
||||||
|
FOUR_K = [
|
||||||
|
"Hegre",
|
||||||
|
"HighResNSFW",
|
||||||
|
"NSFW_Wallpapers",
|
||||||
|
"UHDnsfw",
|
||||||
|
"closeup",
|
||||||
|
]
|
||||||
|
AHEGAO = ["AhegaoGirls", "EyeRollOrgasm", "O_Faces", "RealAhegao"]
|
||||||
|
ASS = [
|
||||||
|
"AssOnTheGlass",
|
||||||
|
"AssholeBehindThong",
|
||||||
|
"ButtsAndBareFeet",
|
||||||
|
"HungryButts",
|
||||||
|
"Mooning",
|
||||||
|
"SnakeButt",
|
||||||
|
"TheUnderbun",
|
||||||
|
"Upshorts",
|
||||||
|
"ass",
|
||||||
|
"asshole",
|
||||||
|
"assinthong",
|
||||||
|
"asstastic",
|
||||||
|
"beautifulbutt",
|
||||||
|
"bigasses",
|
||||||
|
"booty",
|
||||||
|
"datgap",
|
||||||
|
"girlsinleggings",
|
||||||
|
"girlsinyogapants",
|
||||||
|
"hugeass",
|
||||||
|
"paag",
|
||||||
|
"pawg",
|
||||||
|
"facedownassup",
|
||||||
|
]
|
||||||
|
ASIANPORN = [
|
||||||
|
"AsianCuties",
|
||||||
|
"AsianHotties",
|
||||||
|
"AsianNSFW",
|
||||||
|
"AsianPorn",
|
||||||
|
"AsiansGoneWild",
|
||||||
|
"KoreanHotties",
|
||||||
|
"NSFW_Japan",
|
||||||
|
"bustyasians",
|
||||||
|
"juicyasians",
|
||||||
|
]
|
||||||
|
ANAL = [
|
||||||
|
"AnalGW",
|
||||||
|
"MasterOfAnal",
|
||||||
|
"NotInThePussy",
|
||||||
|
"anal",
|
||||||
|
"analinsertions",
|
||||||
|
"assholegonewild",
|
||||||
|
"buttsthatgrip",
|
||||||
|
]
|
||||||
|
BBW = [
|
||||||
|
"BBW",
|
||||||
|
"BBW_Chubby",
|
||||||
|
"GoneWildPlus",
|
||||||
|
"PerkyChubby",
|
||||||
|
"chubby",
|
||||||
|
"gonewildcurvy",
|
||||||
|
]
|
||||||
|
BDSM = ["BDSMGW", "BDSM_NoSpam", "Bondage", "Spanking", "bdsm"]
|
||||||
|
BLACKCOCK = ["bigblackcocks", "blackcock"]
|
||||||
|
BLOWJOB = [
|
||||||
|
"AsianBlowjobs",
|
||||||
|
"Blowjobs",
|
||||||
|
"OralCreampie",
|
||||||
|
"SwordSwallowers",
|
||||||
|
"blowjobsandwich",
|
||||||
|
]
|
||||||
|
BOOBS = [
|
||||||
|
"AreolasGW",
|
||||||
|
"BestTits",
|
||||||
|
"BigBoobsGW",
|
||||||
|
"BigBoobsGonewild",
|
||||||
|
"BiggerThanYouThought",
|
||||||
|
"Boobies",
|
||||||
|
"BustyNaturals",
|
||||||
|
"BustyPetite",
|
||||||
|
"Nipples",
|
||||||
|
"PerfectTits",
|
||||||
|
"PiercedNSFW",
|
||||||
|
"Stacked",
|
||||||
|
"TheHangingBoobs",
|
||||||
|
"TheUnderboob",
|
||||||
|
"TinyTits",
|
||||||
|
"Titties",
|
||||||
|
"TittyDrop",
|
||||||
|
"boobbounce",
|
||||||
|
"boobgifs",
|
||||||
|
"boobs",
|
||||||
|
"burstingout",
|
||||||
|
"fortyfivefiftyfive",
|
||||||
|
"ghostnipples",
|
||||||
|
"homegrowntits",
|
||||||
|
"hugeboobs",
|
||||||
|
"naturaltitties",
|
||||||
|
"pokies",
|
||||||
|
"smallboobs",
|
||||||
|
"tits",
|
||||||
|
]
|
||||||
|
BOTTOMLESS = ["nopanties", "upskirt"]
|
||||||
|
COSPLAY = [
|
||||||
|
"CosplayLewd",
|
||||||
|
"Cosplayheels",
|
||||||
|
"nsfwcosplay",
|
||||||
|
]
|
||||||
|
CUNNI = ["cunnilingus"]
|
||||||
|
CUMSHOTS = [
|
||||||
|
"GirlsFinishingTheJob",
|
||||||
|
"amateurcumsluts",
|
||||||
|
"bodyshots",
|
||||||
|
"cumfetish",
|
||||||
|
"cumontongue",
|
||||||
|
"cumshots",
|
||||||
|
"facialcumshots",
|
||||||
|
"pulsatingcumshots",
|
||||||
|
]
|
||||||
|
DEEPTHROAT = [
|
||||||
|
"DeepThroatTears",
|
||||||
|
"SwordSwallowers",
|
||||||
|
"deepthroat",
|
||||||
|
]
|
||||||
|
DICK = [
|
||||||
|
"MassiveCock",
|
||||||
|
"ThickDick",
|
||||||
|
"bulges",
|
||||||
|
"cock",
|
||||||
|
"penis",
|
||||||
|
"twinks",
|
||||||
|
]
|
||||||
|
DOUBLE_P = ["Technical_DP", "doublepenetration"]
|
||||||
|
EBONY = [
|
||||||
|
"DarkAngels",
|
||||||
|
"Ebony",
|
||||||
|
"EbonyGirls",
|
||||||
|
"bigblackasses",
|
||||||
|
"blackchickswhitedicks",
|
||||||
|
"ebonyamateurs",
|
||||||
|
]
|
||||||
|
FACIALS = ["FacialFun", "facialcumshots"]
|
||||||
|
FEET = [
|
||||||
|
"ButtsAndBareFeet",
|
||||||
|
"Feet_NSFW",
|
||||||
|
"Feetup",
|
||||||
|
"FootFetish",
|
||||||
|
"rule34feet",
|
||||||
|
]
|
||||||
|
FEMDOM = ["Femdom", "FemdomHumiliation", "femdom", "hentaifemdom"]
|
||||||
|
FUTA = [
|
||||||
|
"FutanariHentai",
|
||||||
|
"HorsecockFuta",
|
||||||
|
]
|
||||||
|
GAY_P = [
|
||||||
|
"CuteGuyButts",
|
||||||
|
"GayDaddiesPics",
|
||||||
|
"GayGifs",
|
||||||
|
"ManSex",
|
||||||
|
"broslikeus",
|
||||||
|
"bulges",
|
||||||
|
"gaybears",
|
||||||
|
"gaynsfw",
|
||||||
|
"gayotters",
|
||||||
|
"jockstraps",
|
||||||
|
"ladybonersgw",
|
||||||
|
"lovegaymale",
|
||||||
|
"manass",
|
||||||
|
"MaleUnderwear",
|
||||||
|
]
|
||||||
|
GROUPS = ["GroupOfNudeGirls", "groupsex"]
|
||||||
|
LESBIANS = [
|
||||||
|
"HDLesbianGifs",
|
||||||
|
"Lesbian_gifs",
|
||||||
|
"StraightGirlsPlaying",
|
||||||
|
"dyke",
|
||||||
|
"girlskissing",
|
||||||
|
"lesbians",
|
||||||
|
"mmgirls",
|
||||||
|
"scissoring",
|
||||||
|
]
|
||||||
|
MILF = [
|
||||||
|
"AgedBeauty",
|
||||||
|
"MILFs",
|
||||||
|
"Milfie",
|
||||||
|
"amateur_milfs",
|
||||||
|
"cougars",
|
||||||
|
"hairymilfs",
|
||||||
|
"maturemilf",
|
||||||
|
"milf",
|
||||||
|
]
|
||||||
|
ORAL = [
|
||||||
|
"AsianBlowjobs",
|
||||||
|
"Blowjobs",
|
||||||
|
"DeepThroatTears",
|
||||||
|
"OralCreampie",
|
||||||
|
"SwordSwallowers",
|
||||||
|
"blowjobsandwich",
|
||||||
|
"cunnilingus",
|
||||||
|
"deepthroat",
|
||||||
|
]
|
||||||
|
PUBLIC = [
|
||||||
|
"ChangingRooms",
|
||||||
|
"Flashing",
|
||||||
|
"FlashingAndFlaunting",
|
||||||
|
"FlashingGirls",
|
||||||
|
"NSFW_Outdoors",
|
||||||
|
"NotSafeForNature",
|
||||||
|
"PublicFlashing",
|
||||||
|
"WoodNymphs",
|
||||||
|
"bitchinbubba",
|
||||||
|
"casualnudity",
|
||||||
|
"exposedinpublic",
|
||||||
|
"gwpublic",
|
||||||
|
"holdthemoan",
|
||||||
|
"publicplug",
|
||||||
|
"snowgirls",
|
||||||
|
]
|
||||||
|
PUSSY = [
|
||||||
|
"GodPussy",
|
||||||
|
"HairyPussy",
|
||||||
|
"Innies",
|
||||||
|
"LabiaGW",
|
||||||
|
"LipsThatGrip",
|
||||||
|
"MoundofVenus",
|
||||||
|
"PussyFlashing",
|
||||||
|
"PussyMound",
|
||||||
|
"grool",
|
||||||
|
"peachlips",
|
||||||
|
"pelfie",
|
||||||
|
"pussy",
|
||||||
|
"rearpussy",
|
||||||
|
"spreadeagle",
|
||||||
|
"ButterflyWings",
|
||||||
|
"DangleAndJingle",
|
||||||
|
]
|
||||||
|
REAL_GIRLS = [
|
||||||
|
"CellShots",
|
||||||
|
"ChangingRooms",
|
||||||
|
"Nude_Selfie",
|
||||||
|
"RealGirls",
|
||||||
|
"selfpix",
|
||||||
|
]
|
||||||
|
REDHEADS = [
|
||||||
|
"FreckledRedheads",
|
||||||
|
"RedheadGifs",
|
||||||
|
"RedheadsPorn",
|
||||||
|
"ginger",
|
||||||
|
"nsfw_redhead",
|
||||||
|
"redheads",
|
||||||
|
]
|
||||||
|
RULE_34 = [
|
||||||
|
"Overwatch_Porn",
|
||||||
|
"Rule34LoL",
|
||||||
|
"Rule_34",
|
||||||
|
"rule34",
|
||||||
|
]
|
||||||
|
SQUIRTS = ["squirting", "squirting_gifs", "wetspot", "grool"]
|
||||||
|
THIGHS = [
|
||||||
|
"ThickThighs",
|
||||||
|
"Thigh",
|
||||||
|
"datgap",
|
||||||
|
"leggingsgonewild",
|
||||||
|
"legs",
|
||||||
|
"theratio",
|
||||||
|
"thighhighs",
|
||||||
|
]
|
||||||
|
THREESOME = [
|
||||||
|
"AirTight",
|
||||||
|
"SpitRoasted",
|
||||||
|
"Threesome",
|
||||||
|
"Xsome",
|
||||||
|
"amateur_threesomes",
|
||||||
|
"groupsex",
|
||||||
|
"gangbang",
|
||||||
|
"blowbang",
|
||||||
|
]
|
||||||
|
TRANS = [
|
||||||
|
"GoneWildTrans",
|
||||||
|
"Shemale_Big_Cock",
|
||||||
|
"Shemales",
|
||||||
|
"ShemalesParadise",
|
||||||
|
"trapgifs",
|
||||||
|
"traps",
|
||||||
|
]
|
||||||
|
WILD = [
|
||||||
|
"ArtGW",
|
||||||
|
"AsiansGoneWild",
|
||||||
|
"BigBoobsGW",
|
||||||
|
"BigBoobsGonewild",
|
||||||
|
"GWCouples",
|
||||||
|
"GWNerdy",
|
||||||
|
"GoneWildSmiles",
|
||||||
|
"LabiaGW",
|
||||||
|
"LingerieGW",
|
||||||
|
"PetiteGoneWild",
|
||||||
|
"Swingersgw",
|
||||||
|
"TallGoneWild",
|
||||||
|
"UnderwearGW",
|
||||||
|
"altgonewild",
|
||||||
|
"bigonewild",
|
||||||
|
"dirtysmall",
|
||||||
|
"gonewild",
|
||||||
|
"gonewildcolor",
|
||||||
|
"gonewildcouples",
|
||||||
|
"gonewildcurvy",
|
||||||
|
"gwpublic",
|
||||||
|
"workgonewild",
|
||||||
|
]
|
||||||
|
YIFF = ["Hyiff", "Yiffbondage", "femyiff", "yiff", "yiffgif"]
|
||||||
|
# Other APIs
|
||||||
|
NEKOBOT_HENTAI = choice(["hentai_anal", "hentai"])
|
||||||
|
NEKOBOT_URL = "https://nekobot.xyz/api/image?type={}"
|
242
nsfw/core.py
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
import asyncio
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
from random import choice
|
||||||
|
from typing import List, Optional, Union
|
||||||
|
|
||||||
|
import aiohttp
|
||||||
|
import discord
|
||||||
|
from redbot.core import Config, commands
|
||||||
|
from redbot.core.bot import Red
|
||||||
|
from redbot.core.i18n import Translator, cog_i18n
|
||||||
|
from redbot.core.utils.chat_formatting import bold, box, inline
|
||||||
|
|
||||||
|
from .constants import (
|
||||||
|
GOOD_EXTENSIONS,
|
||||||
|
IMGUR_LINKS,
|
||||||
|
MARTINE_API_BASE_URL,
|
||||||
|
NOT_EMBED_DOMAINS,
|
||||||
|
REDDIT_BASEURL,
|
||||||
|
emoji,
|
||||||
|
)
|
||||||
|
|
||||||
|
_ = Translator("Nsfw", __file__)
|
||||||
|
|
||||||
|
|
||||||
|
# FIXME: This code really needs a good rewrite at some point.
|
||||||
|
@cog_i18n(_)
|
||||||
|
class Core(commands.Cog):
|
||||||
|
|
||||||
|
__author__ = ["Predä", "aikaterna"]
|
||||||
|
__version__ = "2.3.99"
|
||||||
|
|
||||||
|
async def red_delete_data_for_user(self, **kwargs):
|
||||||
|
"""Nothing to delete."""
|
||||||
|
return
|
||||||
|
|
||||||
|
def __init__(self, bot: Red):
|
||||||
|
self.bot = bot
|
||||||
|
self.session = aiohttp.ClientSession(
|
||||||
|
headers={
|
||||||
|
"User-Agent": (
|
||||||
|
f"Red-DiscordBot PredaCogs-Nsfw/{self.__version__} "
|
||||||
|
f"(Python/{'.'.join(map(str, sys.version_info[:3]))} aiohttp/{aiohttp.__version__})"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
self.config = Config.get_conf(self, identifier=512227974893010954, force_registration=True)
|
||||||
|
self.config.register_global(use_reddit_api=False)
|
||||||
|
|
||||||
|
def cog_unload(self):
|
||||||
|
self.bot.loop.create_task(self.session.close())
|
||||||
|
|
||||||
|
def format_help_for_context(self, ctx: commands.Context) -> str:
|
||||||
|
"""Thanks Sinbad!"""
|
||||||
|
pre_processed = super().format_help_for_context(ctx)
|
||||||
|
return f"{pre_processed}\n\nAuthors: {', '.join(self.__author__)}\nCog Version: {self.__version__}"
|
||||||
|
|
||||||
|
async def _get_imgs(self, subs: List[str] = None):
|
||||||
|
"""Get images from Reddit API."""
|
||||||
|
tries = 0
|
||||||
|
while tries < 5:
|
||||||
|
sub = choice(subs)
|
||||||
|
try:
|
||||||
|
if await self.config.use_reddit_api():
|
||||||
|
async with self.session.get(REDDIT_BASEURL.format(sub=sub)) as reddit:
|
||||||
|
if reddit.status != 200:
|
||||||
|
return None, None
|
||||||
|
try:
|
||||||
|
data = await reddit.json(content_type=None)
|
||||||
|
content = data[0]["data"]["children"][0]["data"]
|
||||||
|
url = content["url"]
|
||||||
|
subr = content["subreddit"]
|
||||||
|
except (KeyError, ValueError, json.decoder.JSONDecodeError):
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
if url.startswith(IMGUR_LINKS):
|
||||||
|
url = url + ".png"
|
||||||
|
elif url.endswith(".mp4"):
|
||||||
|
url = url[:-3] + "gif"
|
||||||
|
elif url.endswith(".gifv"):
|
||||||
|
url = url[:-1]
|
||||||
|
elif not url.endswith(GOOD_EXTENSIONS) and not url.startswith(
|
||||||
|
"https://gfycat.com"
|
||||||
|
) or "redgifs" in url:
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
return url, subr
|
||||||
|
else:
|
||||||
|
async with self.session.get(
|
||||||
|
MARTINE_API_BASE_URL, params={"name": sub}
|
||||||
|
) as resp:
|
||||||
|
if resp.status != 200:
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
data = await resp.json()
|
||||||
|
return data["data"]["image_url"], data["data"]["subreddit"]["name"]
|
||||||
|
except (KeyError, json.JSONDecodeError):
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
except aiohttp.client_exceptions.ClientConnectionError:
|
||||||
|
tries += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
return None, None
|
||||||
|
|
||||||
|
async def _get_others_imgs(self, ctx: commands.Context, url: str = None):
|
||||||
|
"""Get images from all other images APIs."""
|
||||||
|
try:
|
||||||
|
async with self.session.get(url) as resp:
|
||||||
|
if resp.status != 200:
|
||||||
|
await self._api_errors_msg(ctx, error_code=resp.status)
|
||||||
|
return None
|
||||||
|
try:
|
||||||
|
data = await resp.json(content_type=None)
|
||||||
|
except json.decoder.JSONDecodeError as exception:
|
||||||
|
await self._api_errors_msg(ctx, error_code=exception)
|
||||||
|
return None
|
||||||
|
data = dict(img=data)
|
||||||
|
return data
|
||||||
|
except aiohttp.client_exceptions.ClientConnectionError:
|
||||||
|
await self._api_errors_msg(ctx, error_code="JSON decode failed")
|
||||||
|
return None
|
||||||
|
|
||||||
|
async def _api_errors_msg(self, ctx: commands.Context, error_code: int = None):
|
||||||
|
"""Error message when API calls fail."""
|
||||||
|
return await ctx.send(
|
||||||
|
_("Error when trying to contact image service, please try again later. ")
|
||||||
|
+ "(Code: {})".format(inline(str(error_code)))
|
||||||
|
)
|
||||||
|
|
||||||
|
async def _version_msg(self, ctx: commands.Context, version: str, authors: List[str]):
|
||||||
|
"""Cog version message."""
|
||||||
|
msg = box(
|
||||||
|
_("Nsfw cog version: {version}\nAuthors: {authors}").format(
|
||||||
|
version=version, authors=", ".join(authors)
|
||||||
|
),
|
||||||
|
lang="py",
|
||||||
|
)
|
||||||
|
return await ctx.send(msg)
|
||||||
|
|
||||||
|
async def _make_embed(self, ctx: commands.Context, subs: List[str], name: str):
|
||||||
|
"""Function to make the embed for all Reddit API images."""
|
||||||
|
try:
|
||||||
|
url, subr = await asyncio.wait_for(self._get_imgs(subs=subs), 5)
|
||||||
|
except asyncio.TimeoutError:
|
||||||
|
await ctx.send("Failed to get an image. Please try again later. (Timeout error)")
|
||||||
|
return
|
||||||
|
if not url:
|
||||||
|
return
|
||||||
|
|
||||||
|
if any(wrong in url for wrong in NOT_EMBED_DOMAINS):
|
||||||
|
em = (
|
||||||
|
_("Here is {name} gif ...")
|
||||||
|
+ " \N{EYES}\n\n"
|
||||||
|
+ _("Requested by {req} {emoji} • From {r}\n{url}")
|
||||||
|
).format(
|
||||||
|
name=name,
|
||||||
|
req=bold(ctx.author.display_name),
|
||||||
|
emoji=emoji(),
|
||||||
|
r=bold(f"r/{subr}"),
|
||||||
|
url=url,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
em = await self._embed(
|
||||||
|
color=0x891193,
|
||||||
|
title=(_("Here is {name} image ...") + " \N{EYES}").format(name=name),
|
||||||
|
description=bold(
|
||||||
|
_("[Link if you don't see image]({url})").format(url=url),
|
||||||
|
escape_formatting=False,
|
||||||
|
),
|
||||||
|
image=url,
|
||||||
|
footer=_("Requested by {req} {emoji} • From r/{r}").format(
|
||||||
|
req=ctx.author.display_name, emoji=emoji(), r=subr
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
return em
|
||||||
|
|
||||||
|
async def _make_embed_other(
|
||||||
|
self, ctx: commands.Context, name: str, url: str, arg: str, source: str
|
||||||
|
):
|
||||||
|
"""Function to make the embed for all others APIs images."""
|
||||||
|
try:
|
||||||
|
data = await asyncio.wait_for(self._get_others_imgs(ctx, url=url), 5)
|
||||||
|
except asyncio.TimeoutError:
|
||||||
|
await ctx.send("Failed to get an image. Please try again later. (Timeout error)")
|
||||||
|
return
|
||||||
|
if not data:
|
||||||
|
return
|
||||||
|
em = await self._embed(
|
||||||
|
color=0x891193,
|
||||||
|
title=(_("Here is {name} image ...") + " \N{EYES}").format(name=name),
|
||||||
|
description=bold(
|
||||||
|
_("[Link if you don't see image]({url})").format(url=data["img"][arg]),
|
||||||
|
escape_formatting=False,
|
||||||
|
),
|
||||||
|
image=data["img"][arg],
|
||||||
|
footer=_("Requested by {req} {emoji} • From {source}").format(
|
||||||
|
req=ctx.author.display_name, emoji=emoji(), source=source
|
||||||
|
),
|
||||||
|
)
|
||||||
|
return em
|
||||||
|
|
||||||
|
async def _maybe_embed(self, ctx: commands.Context, embed: Union[discord.Embed, str]):
|
||||||
|
"""
|
||||||
|
Function to choose if type of the message is an embed or not
|
||||||
|
and if not send a simple message.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
if isinstance(embed, discord.Embed):
|
||||||
|
await ctx.send(embed=embed)
|
||||||
|
else:
|
||||||
|
await ctx.send(embed)
|
||||||
|
except discord.HTTPException:
|
||||||
|
return
|
||||||
|
|
||||||
|
async def _send_msg(self, ctx: commands.Context, name: str, subs: List[str] = None):
|
||||||
|
"""Main function called in all Reddit API commands."""
|
||||||
|
embed = await self._make_embed(ctx, subs, name)
|
||||||
|
return await self._maybe_embed(ctx, embed=embed)
|
||||||
|
|
||||||
|
async def _send_other_msg(
|
||||||
|
self, ctx: commands.Context, name: str, arg: str, source: str, url: str = None
|
||||||
|
):
|
||||||
|
"""Main function called in all others APIs commands."""
|
||||||
|
embed = await self._make_embed_other(ctx, name, url, arg, source)
|
||||||
|
return await self._maybe_embed(ctx, embed)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
async def _embed(
|
||||||
|
color: Union[int, discord.Color] = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
image: str = None,
|
||||||
|
footer: Optional[str] = None,
|
||||||
|
):
|
||||||
|
em = discord.Embed(color=color, title=title, description=description)
|
||||||
|
em.set_image(url=image)
|
||||||
|
if footer:
|
||||||
|
em.set_footer(text=footer)
|
||||||
|
return em
|
10
nsfw/info.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"author": ["Predä", "aikaterna"],
|
||||||
|
"install_msg": "Thank you for installing my Nsfw cog!\n\n__Important note:__ As indicated in name of this cog, it contains mature content and is not suited for all audiences, use it responsibly.\n__Second important note:__ This cog uses by default Martine's API, this is to avoid your bot being ratelimited by Reddit pretty fast. That API is owned by this cog's author. It keeps a hash of your bot's IP in order to get ratelimits working, then access logs are not stored persistently. See privacy policy here: https://api.martinebot.com/v1/privacypolicy. If you ever want to switch back to use Reddit API, it is possible by using `[p]nsfwset switchredditapi`\n\nUse `[p]help Nsfw` to get all commands.",
|
||||||
|
"name": "Nsfw",
|
||||||
|
"short": "Send random NSFW images from random subreddits and Nekobot API.",
|
||||||
|
"description": "Send random NSFW images from random subreddits and Nekobot API in NSFW only channels.",
|
||||||
|
"tags": ["nsfw", "reddit", "images"],
|
||||||
|
"min_bot_version" : "3.5.0",
|
||||||
|
"end_user_data_statement": "This cog does not persistently store data or metadata about users."
|
||||||
|
}
|
398
nsfw/locales/nl-NL.po
Normal file
|
@ -0,0 +1,398 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR ORGANIZATION
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2019-07-22 12:43+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: redgettext 2.2\n"
|
||||||
|
|
||||||
|
|
||||||
|
#: core.py:76
|
||||||
|
msgid "Error when trying to contact image service, please try again later. "
|
||||||
|
msgstr "Fout bij het proberen contact te maken met de beeldservice. Probeer het later opnieuw.""
|
||||||
|
|
||||||
|
#: core.py:83
|
||||||
|
msgid ""
|
||||||
|
"Nsfw cog version: {version}\n"
|
||||||
|
"Authors: {authors}"
|
||||||
|
msgstr ""
|
||||||
|
"Nsfw cog versie: {version}\n"
|
||||||
|
"Auteurs: {authors}"
|
||||||
|
|
||||||
|
#: core.py:98 core.py:126
|
||||||
|
msgid "Here is {name} image ..."
|
||||||
|
msgstr "Hier is {name} afbeelding ..."
|
||||||
|
|
||||||
|
#: core.py:99 core.py:127
|
||||||
|
msgid "[Link if you don't see image]({url})"
|
||||||
|
msgstr "[Link als je geen afbeelding ziet]({url})"
|
||||||
|
|
||||||
|
#: core.py:101
|
||||||
|
msgid "Requested by {req} {emoji} • From r/{r}"
|
||||||
|
msgstr "Aangevraagd door {req} {emoji} • Van r/{r}"
|
||||||
|
|
||||||
|
#: core.py:107
|
||||||
|
msgid "Here is {name} gif ..."
|
||||||
|
msgstr "Hier is {name} gif ..."
|
||||||
|
|
||||||
|
#: core.py:109
|
||||||
|
msgid ""
|
||||||
|
"Requested by {req} {emoji} • From {r}\n"
|
||||||
|
"{url}"
|
||||||
|
msgstr ""
|
||||||
|
"Aangevraagd door {req} {emoji} • Van {r}\n"
|
||||||
|
"{url}"
|
||||||
|
|
||||||
|
#: core.py:129
|
||||||
|
msgid "Requested by {req} {emoji} • From Nekobot API"
|
||||||
|
msgstr "Aangevraagd door {req} {emoji} • Van Nekobot API"
|
||||||
|
|
||||||
|
#: core.py:195
|
||||||
|
msgid "You can't use this command in a non-NSFW channel !"
|
||||||
|
msgstr "Je kunt die opdracht niet gebruiken in een niet-NSFW-kanaal!"
|
||||||
|
|
||||||
|
#: nsfw.py:16
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Send random NSFW images from random subreddits\n"
|
||||||
|
"\n"
|
||||||
|
" If `[p]help Nsfw` or any other Nsfw commands are used in a non-nsfw channel,\n"
|
||||||
|
" you will not be able to see the list of commands for this category.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
" Stuur willekeurige NSFW-afbeeldingen van willekeurige subreddits\n"
|
||||||
|
"\n"
|
||||||
|
" Typ `[p]help Nsfw`of een andere nsfw command in niet-nsfw-kanalen,\n"
|
||||||
|
" dan zal je de lijst met opdrachten voor deze categorie niet kunnen zien.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
|
#: nsfw.py:28
|
||||||
|
#, docstring
|
||||||
|
msgid "Get the version of the installed Nsfw cog."
|
||||||
|
msgstr "Download de versie van het geïnstalleerde Nsfw-cog."
|
||||||
|
|
||||||
|
#: nsfw.py:36
|
||||||
|
#, docstring
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Delete a number specified of DM's from the bot.\n"
|
||||||
|
"\n"
|
||||||
|
" `<number>`: Number of messages from the bot you want\n"
|
||||||
|
" to delete in your DM's.\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
" Verwijder een aantal opgegeven DM's uit de bot.\n"
|
||||||
|
"\n"
|
||||||
|
" `<number>`: Aantal berichten die je wilt verwijderen\n"
|
||||||
|
" van de bot in je DM's.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
|
|
||||||
|
#: nsfw.py:43
|
||||||
|
msgid "This command works only for DM's messages !"
|
||||||
|
msgstr "Deze command werkt alleen in privé berichten!"
|
||||||
|
|
||||||
|
#: nsfw.py:54
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some 4k images from random subreddits."
|
||||||
|
msgstr "Toon een aantal 4k-afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:56
|
||||||
|
msgid "4k"
|
||||||
|
msgstr "4k"
|
||||||
|
|
||||||
|
#: nsfw.py:63
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some ahegao images from random subreddits."
|
||||||
|
msgstr "Toon enkele ahegao-afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:65
|
||||||
|
msgid "ahegao"
|
||||||
|
msgstr "ahego"
|
||||||
|
|
||||||
|
#: nsfw.py:72
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some ass images from random subreddits."
|
||||||
|
msgstr "Toon enkele bibs-afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:74
|
||||||
|
msgid "ass"
|
||||||
|
msgstr "bips"
|
||||||
|
|
||||||
|
#: nsfw.py:81
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some anal images/gifs from random subreddits."
|
||||||
|
msgstr "Toon enkele bips afbeeldingen / gifs van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:83
|
||||||
|
msgid "anal"
|
||||||
|
msgstr "anaal"
|
||||||
|
|
||||||
|
#: nsfw.py:90
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some bdsm from random subreddits."
|
||||||
|
msgstr "Toon enkele bdsm afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:92
|
||||||
|
msgid "bdsm"
|
||||||
|
msgstr "bdsm"
|
||||||
|
|
||||||
|
#: nsfw.py:99
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some blackcock images from random subreddits."
|
||||||
|
msgstr "Toon enkele donkere piemels van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:101
|
||||||
|
msgid "black cock"
|
||||||
|
msgstr "donkere piemels"
|
||||||
|
|
||||||
|
#: nsfw.py:108
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some blowjob images/gifs from random subreddits."
|
||||||
|
msgstr "Toon enkele blowjob van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:110
|
||||||
|
msgid "blowjob"
|
||||||
|
msgstr "blowjob"
|
||||||
|
|
||||||
|
#: nsfw.py:117
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some boobs images from random subreddits."
|
||||||
|
msgstr "Toon enkele tieten van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:119
|
||||||
|
msgid "boobs"
|
||||||
|
msgstr "tieten"
|
||||||
|
|
||||||
|
#: nsfw.py:126
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some bottomless images from random subreddits."
|
||||||
|
msgstr "Toon enkele bottomless afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:128
|
||||||
|
msgid "bottomless"
|
||||||
|
msgstr "bottomless"
|
||||||
|
|
||||||
|
#: nsfw.py:135
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some nsfw cosplay images from random subreddits."
|
||||||
|
msgstr "Toon enkele nsfw cosplay afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:137
|
||||||
|
msgid "nsfw cosplay"
|
||||||
|
msgstr "nsfw cosplay"
|
||||||
|
|
||||||
|
#: nsfw.py:144
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some cunnilingus images from random subreddits."
|
||||||
|
msgstr "Toon enkele cunnilingus afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:146
|
||||||
|
msgid "cunnilingus"
|
||||||
|
msgstr "cunnilingus"
|
||||||
|
|
||||||
|
#: nsfw.py:153
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some cumshot images/gifs from random subreddits."
|
||||||
|
msgstr "Toon enkele cumshot afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:155
|
||||||
|
msgid "cumshot"
|
||||||
|
msgstr "cumshot"
|
||||||
|
|
||||||
|
#: nsfw.py:162
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some deepthroat images from random subreddits."
|
||||||
|
msgstr "Toon enkele feest-in-je-mond afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:164
|
||||||
|
msgid "deepthroat"
|
||||||
|
msgstr "feest-in-je-mond"
|
||||||
|
|
||||||
|
#: nsfw.py:171
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some dicks images from random subreddits."
|
||||||
|
msgstr "Toon enkele piemels van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:173
|
||||||
|
msgid "dick"
|
||||||
|
msgstr "piemels"
|
||||||
|
|
||||||
|
#: nsfw.py:180
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some double penetration images/gifs from random subreddits."
|
||||||
|
msgstr "Toon enkele dubbel-feestje afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:182
|
||||||
|
msgid "double penetration"
|
||||||
|
msgstr "dubbel-feestje"
|
||||||
|
|
||||||
|
#: nsfw.py:189
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some futa images from random subreddits."
|
||||||
|
msgstr "Toon enkele futa afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:191
|
||||||
|
msgid "futa"
|
||||||
|
msgstr "futa"
|
||||||
|
|
||||||
|
#: nsfw.py:198
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some gay porn from random subreddits."
|
||||||
|
msgstr "Toon enkele homo porno afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:200
|
||||||
|
msgid "gay porn"
|
||||||
|
msgstr "homo porno"
|
||||||
|
|
||||||
|
#: nsfw.py:207
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some groups nudes from random subreddits."
|
||||||
|
msgstr "Toon enkele afbeeldingen van naakte groepen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:216
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some hentai images/gifs from Nekobot API."
|
||||||
|
msgstr "Toon enkele hentai afbeeldingen van Nekobot API."
|
||||||
|
|
||||||
|
#: nsfw.py:218
|
||||||
|
msgid "hentai"
|
||||||
|
msgstr "hentai"
|
||||||
|
|
||||||
|
#: nsfw.py:225
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some lesbian gifs or images from random subreddits."
|
||||||
|
msgstr "Toon enkele lesbo afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:227
|
||||||
|
msgid "lesbian"
|
||||||
|
msgstr "lesbo"
|
||||||
|
|
||||||
|
#: nsfw.py:234
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some milf images from random subreddits."
|
||||||
|
msgstr "Toon enkele milf afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:236
|
||||||
|
msgid "milf"
|
||||||
|
msgstr "milf"
|
||||||
|
|
||||||
|
#: nsfw.py:243
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some oral gifs or images from random subreddits."
|
||||||
|
msgstr "Toon enkele orale afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:245
|
||||||
|
msgid "oral"
|
||||||
|
msgstr "oraal"
|
||||||
|
|
||||||
|
#: nsfw.py:252
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some porn gifs from Nekobot API."
|
||||||
|
msgstr "Toon enkele porno gifjes van Nekobot API."
|
||||||
|
|
||||||
|
#: nsfw.py:254
|
||||||
|
msgid "porn gif"
|
||||||
|
msgstr "porno gifjes"
|
||||||
|
|
||||||
|
#: nsfw.py:261
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some public nude images from random subreddits."
|
||||||
|
msgstr "Toon enkele afbeeldingen van publiekelijk naakte mensen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:263
|
||||||
|
msgid "public nude"
|
||||||
|
msgstr "publiekelijk naakt"
|
||||||
|
|
||||||
|
#: nsfw.py:270
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some pussy nude images from random subreddits."
|
||||||
|
msgstr "Toon enkele kutjes van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:272
|
||||||
|
msgid "pussy"
|
||||||
|
msgstr "kutjes"
|
||||||
|
|
||||||
|
#: nsfw.py:279
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some real girls images from random subreddits."
|
||||||
|
msgstr "Toon enkele naakte dames van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:281
|
||||||
|
msgid "real nudes"
|
||||||
|
msgstr "echte naaktfoto's"
|
||||||
|
|
||||||
|
#: nsfw.py:288
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some red heads images from random subreddits."
|
||||||
|
msgstr "Toon enkele roodharigen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:290
|
||||||
|
msgid "red head"
|
||||||
|
msgstr "roodharigen"
|
||||||
|
|
||||||
|
#: nsfw.py:297
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some rule34 images from random subreddits."
|
||||||
|
msgstr "Toon enkele rule34 afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:299
|
||||||
|
msgid "rule34"
|
||||||
|
msgstr "rule34"
|
||||||
|
|
||||||
|
#: nsfw.py:306
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some squirts images from random subreddits."
|
||||||
|
msgstr "Toon enkele squirt afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:308
|
||||||
|
msgid "squirt"
|
||||||
|
msgstr "squirts"
|
||||||
|
|
||||||
|
#: nsfw.py:315
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some thighs images from random subreddits."
|
||||||
|
msgstr "Toon enkele thigh afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:317
|
||||||
|
msgid "thigh"
|
||||||
|
msgstr "thigh"
|
||||||
|
|
||||||
|
#: nsfw.py:324
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some traps from random subreddits."
|
||||||
|
msgstr "Toon enkele trap afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:326
|
||||||
|
msgid "trap"
|
||||||
|
msgstr "trap"
|
||||||
|
|
||||||
|
#: nsfw.py:333
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some gonewild images from random subreddits."
|
||||||
|
msgstr "Toon enkele gonewild afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:335
|
||||||
|
msgid "gonewild"
|
||||||
|
msgstr "gonewild"
|
||||||
|
|
||||||
|
#: nsfw.py:342
|
||||||
|
#, docstring
|
||||||
|
msgid "Show some yiff images from random subreddits."
|
||||||
|
msgstr "Toon enkele yiff afbeeldingen van willekeurige subreddits."
|
||||||
|
|
||||||
|
#: nsfw.py:344
|
||||||
|
msgid "yiff"
|
||||||
|
msgstr "yiff"
|
||||||
|
|
435
nsfw/nsfw.py
Normal file
|
@ -0,0 +1,435 @@
|
||||||
|
import discord
|
||||||
|
|
||||||
|
from redbot.core import commands
|
||||||
|
from redbot.core.i18n import Translator, cog_i18n
|
||||||
|
|
||||||
|
import contextlib
|
||||||
|
|
||||||
|
from . import constants as sub
|
||||||
|
from .core import Core
|
||||||
|
|
||||||
|
_ = Translator("Nsfw", __file__)
|
||||||
|
|
||||||
|
|
||||||
|
@cog_i18n(_)
|
||||||
|
class Nsfw(Core):
|
||||||
|
"""
|
||||||
|
Send random NSFW images from random subreddits
|
||||||
|
|
||||||
|
If `[p]help Nsfw` or any other Nsfw commands are used in a non-nsfw channel,
|
||||||
|
you will not be able to see the list of commands for this category.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def nsfwversion(self, ctx: commands.Context):
|
||||||
|
"""Get the version of the installed Nsfw cog."""
|
||||||
|
|
||||||
|
await self._version_msg(ctx, self.__version__, self.__author__)
|
||||||
|
|
||||||
|
@commands.is_owner()
|
||||||
|
@commands.group()
|
||||||
|
async def nsfwset(self, ctx: commands.Context):
|
||||||
|
"""Settings for the Nsfw cog."""
|
||||||
|
|
||||||
|
@nsfwset.command()
|
||||||
|
async def switchredditapi(self, ctx: commands.Context):
|
||||||
|
"""Toggle to use Reddit API directly with the cost of getting ratelimited fast, or use Martine API with faster results and no ratelimits problems.
|
||||||
|
|
||||||
|
Defaults to Martine API."""
|
||||||
|
val = await self.config.use_reddit_api()
|
||||||
|
await self.config.use_reddit_api.set(not val)
|
||||||
|
await ctx.send(
|
||||||
|
"Switched to Reddit API. Warning: Your bot might be ratelimited by Reddit fast."
|
||||||
|
if not val
|
||||||
|
else "Switched back to Martine API."
|
||||||
|
)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.command()
|
||||||
|
@commands.cooldown(1, 3, commands.BucketType.user)
|
||||||
|
async def cleandm(self, ctx: commands.Context, number: int):
|
||||||
|
"""
|
||||||
|
Delete a number specified of DM's from the bot.
|
||||||
|
|
||||||
|
`<number>`: Number of messages from the bot you want
|
||||||
|
to delete in your DM's.
|
||||||
|
"""
|
||||||
|
if ctx.guild:
|
||||||
|
return await ctx.send(_("This command works only for DM's messages !"))
|
||||||
|
async for message in ctx.channel.history(limit=number):
|
||||||
|
if message.author.id == ctx.bot.user.id:
|
||||||
|
with contextlib.suppress(discord.NotFound):
|
||||||
|
await message.delete()
|
||||||
|
await ctx.tick()
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(name="4k", aliases=["4K", "fourk"])
|
||||||
|
async def four_k(self, ctx: commands.Context):
|
||||||
|
"""Sends some 4k images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("4k"), sub.FOUR_K)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["oface", "ofaces"])
|
||||||
|
async def ahegao(self, ctx: commands.Context):
|
||||||
|
"""Sends some ahegao images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("ahegao"), sub.AHEGAO)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["butt", "booty"])
|
||||||
|
async def ass(self, ctx: commands.Context):
|
||||||
|
"""Sends some ass images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("ass"), sub.ASS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["asian"])
|
||||||
|
async def asianporn(self, ctx: commands.Context):
|
||||||
|
"""Sends some asian porn images."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("asian porn"), sub.ASIANPORN)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["sodomy"])
|
||||||
|
async def anal(self, ctx: commands.Context):
|
||||||
|
"""Sends some anal images/gifs from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("anal"), sub.ANAL)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def bbw(self, ctx: commands.Context):
|
||||||
|
"""Sends some bbw images."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("bbw"), sub.BBW)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["shibari"])
|
||||||
|
async def bdsm(self, ctx: commands.Context):
|
||||||
|
"""Sends some bdsm from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("bdsm"), sub.BDSM)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["blackdick", "bcock", "bdick", "blackcocks", "blackdicks"])
|
||||||
|
async def blackcock(self, ctx: commands.Context):
|
||||||
|
"""Sends some blackcock images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("black cock"), sub.BLACKCOCK)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["blowjobs", "blowj", "bjob", "fellatio", "fellation"])
|
||||||
|
async def blowjob(self, ctx: commands.Context):
|
||||||
|
"""Sends some blowjob images/gifs from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("blowjob"), sub.BLOWJOB)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["boob", "boobies", "tits", "titties", "breasts", "breast"])
|
||||||
|
async def boobs(self, ctx: commands.Context):
|
||||||
|
"""Sends some boobs images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("boobs"), sub.BOOBS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["boless"])
|
||||||
|
async def bottomless(self, ctx: commands.Context):
|
||||||
|
"""Sends some bottomless images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("bottomless"), sub.BOTTOMLESS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def cosplay(self, ctx: commands.Context):
|
||||||
|
"""Sends some nsfw cosplay images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("nsfw cosplay"), sub.COSPLAY)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["cunni", "pussyeating"])
|
||||||
|
async def cunnilingus(self, ctx: commands.Context):
|
||||||
|
"""Sends some cunnilingus images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("cunnilingus"), sub.CUNNI)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["cum", "cums", "cumshots"])
|
||||||
|
async def cumshot(self, ctx: commands.Context):
|
||||||
|
"""Sends some cumshot images/gifs from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("cumshot"), sub.CUMSHOTS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["deept", "deepthroating"])
|
||||||
|
async def deepthroat(self, ctx: commands.Context):
|
||||||
|
"""Sends some deepthroat images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("deepthroat"), sub.DEEPTHROAT)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["cock"])
|
||||||
|
async def dick(self, ctx: commands.Context):
|
||||||
|
"""Sends some dicks images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("dick"), sub.DICK)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["doublep"])
|
||||||
|
async def doublepenetration(self, ctx: commands.Context):
|
||||||
|
"""Sends some double penetration images/gifs from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("double penetration"), sub.DOUBLE_P)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def ebony(self, ctx: commands.Context):
|
||||||
|
"""Sends some ebony images."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("ebony"), sub.EBONY)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["facial"])
|
||||||
|
async def facials(self, ctx: commands.Context):
|
||||||
|
"""Sends some facials images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("facials"), sub.FACIALS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["feets", "feetish"])
|
||||||
|
async def feet(self, ctx: commands.Context):
|
||||||
|
"""Sends some feet images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("feets"), sub.FEET)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def femdom(self, ctx: commands.Context):
|
||||||
|
"""Sends some femdom images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("femdom"), sub.FEMDOM)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["futanari"])
|
||||||
|
async def futa(self, ctx: commands.Context):
|
||||||
|
"""Sends some futa images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("futa"), sub.FUTA)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["gayporn"])
|
||||||
|
async def gay(self, ctx: commands.Context):
|
||||||
|
"""Sends some gay porn from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("gay porn"), sub.GAY_P)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["groups", "nudegroup", "nudegroups"])
|
||||||
|
async def group(self, ctx: commands.Context):
|
||||||
|
"""Sends some groups nudes from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, "groups nudes", sub.GROUPS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def hentai(self, ctx: commands.Context):
|
||||||
|
"""Sends some hentai images/gifs from Nekobot API."""
|
||||||
|
|
||||||
|
await self._send_other_msg(
|
||||||
|
ctx,
|
||||||
|
name=_("hentai"),
|
||||||
|
arg="message",
|
||||||
|
source="Nekobot API",
|
||||||
|
url=sub.NEKOBOT_URL.format(sub.NEKOBOT_HENTAI),
|
||||||
|
)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["lesbians"])
|
||||||
|
async def lesbian(self, ctx: commands.Context):
|
||||||
|
"""Sends some lesbian gifs or images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("lesbian"), sub.LESBIANS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["milfs"])
|
||||||
|
async def milf(self, ctx: commands.Context):
|
||||||
|
"""Sends some milf images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("milf"), sub.MILF)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["oralsex"])
|
||||||
|
async def oral(self, ctx: commands.Context):
|
||||||
|
"""Sends some oral gifs or images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("oral"), sub.ORAL)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["pgif", "prongif"])
|
||||||
|
async def porngif(self, ctx: commands.Context):
|
||||||
|
"""Sends some porn gifs from Nekobot API."""
|
||||||
|
|
||||||
|
await self._send_other_msg(
|
||||||
|
ctx,
|
||||||
|
name=_("porn gif"),
|
||||||
|
arg="message",
|
||||||
|
source="Nekobot API",
|
||||||
|
url=sub.NEKOBOT_URL.format("pgif"),
|
||||||
|
)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def public(self, ctx: commands.Context):
|
||||||
|
"""Sends some public nude images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("public nude"), sub.PUBLIC)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["vagina", "puss"])
|
||||||
|
async def pussy(self, ctx: commands.Context):
|
||||||
|
"""Sends some pussy nude images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("pussy"), sub.PUSSY)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command()
|
||||||
|
async def realgirls(self, ctx: commands.Context):
|
||||||
|
"""Sends some real girls images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("real nudes"), sub.REAL_GIRLS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["redheads", "ginger", "gingers"])
|
||||||
|
async def redhead(self, ctx: commands.Context):
|
||||||
|
"""Sends some red heads images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("red head"), sub.REDHEADS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["r34"])
|
||||||
|
async def rule34(self, ctx: commands.Context):
|
||||||
|
"""Sends some rule34 images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("rule34"), sub.RULE_34)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["squirts"])
|
||||||
|
async def squirt(self, ctx: commands.Context):
|
||||||
|
"""Sends some squirts images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("squirt"), sub.SQUIRTS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["thighs", "legs"])
|
||||||
|
async def thigh(self, ctx: commands.Context):
|
||||||
|
"""Sends some thighs images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("thigh"), sub.THIGHS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["groupsex"])
|
||||||
|
async def threesome(self, ctx: commands.Context):
|
||||||
|
"""Sends some threesome images."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("threesome"), sub.THREESOME)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["trap", "shemale", "shemales"])
|
||||||
|
async def trans(self, ctx: commands.Context):
|
||||||
|
"""Sends some trans from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("trans"), sub.TRANS)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["wild", "gwild"])
|
||||||
|
async def gonewild(self, ctx: commands.Context):
|
||||||
|
"""Sends some gonewild images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("gonewild"), sub.WILD)
|
||||||
|
|
||||||
|
@commands.is_nsfw()
|
||||||
|
@commands.bot_has_permissions(embed_links=True)
|
||||||
|
@commands.cooldown(1, 0.5, commands.BucketType.user)
|
||||||
|
@commands.command(aliases=["yiffs"])
|
||||||
|
async def yiff(self, ctx: commands.Context):
|
||||||
|
"""Sends some yiff images from random subreddits."""
|
||||||
|
|
||||||
|
await self._send_msg(ctx, _("yiff"), sub.YIFF)
|
7
pokecord/__init__.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
from .pokecord import Pokecord
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot):
|
||||||
|
cog = Pokecord(bot)
|
||||||
|
await cog.initalize()
|
||||||
|
await bot.add_cog(cog)
|
40
pokecord/abc.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
|
from redbot.core import Config, commands
|
||||||
|
from redbot.core.bot import Red
|
||||||
|
|
||||||
|
|
||||||
|
class MixinMeta(ABC):
|
||||||
|
"""Base class for well behaved type hint detection with composite class.
|
||||||
|
Basically, to keep developers sane when not all attributes are defined in each mixin.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, *_args):
|
||||||
|
self.config: Config
|
||||||
|
self.bot: Red
|
||||||
|
self.datapath: str
|
||||||
|
self.spawnedpokemon: dict
|
||||||
|
self.maybe_spawn: dict
|
||||||
|
self.guildcache: dict
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def is_global(self):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
async def user_is_global(self):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def pokemon_choose(self):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def get_name(self):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@commands.group(name="poke")
|
||||||
|
async def poke(self, ctx: commands.Context):
|
||||||
|
"""
|
||||||
|
Pokecord commands
|
||||||
|
"""
|
49
pokecord/converters.py
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
from redbot.core.commands import BadArgument, Converter
|
||||||
|
|
||||||
|
|
||||||
|
class NoExitParser(argparse.ArgumentParser):
|
||||||
|
def error(self, message):
|
||||||
|
raise BadArgument()
|
||||||
|
|
||||||
|
|
||||||
|
class Args(Converter):
|
||||||
|
async def convert(self, ctx, argument):
|
||||||
|
argument = argument.replace("—", "--")
|
||||||
|
parser = NoExitParser(description="Pokecord Search", add_help=False)
|
||||||
|
|
||||||
|
pokemon = parser.add_mutually_exclusive_group()
|
||||||
|
pokemon.add_argument("--name", "--n", nargs="*", dest="names", default=[])
|
||||||
|
pokemon.add_argument("--level", "--l", nargs="*", dest="level", type=int, default=0)
|
||||||
|
pokemon.add_argument("--id", "--i", nargs="*", dest="id", type=int, default=0)
|
||||||
|
pokemon.add_argument("--variant", "--v", nargs="*", dest="variant", default=[])
|
||||||
|
pokemon.add_argument("--gender", "--g", nargs="*", dest="gender", default=[])
|
||||||
|
pokemon.add_argument("--iv", nargs="*", dest="iv", type=int, default=0)
|
||||||
|
pokemon.add_argument("--type", "--t", nargs="*", dest="type", default=[])
|
||||||
|
|
||||||
|
try:
|
||||||
|
vals = vars(parser.parse_args(argument.split(" ")))
|
||||||
|
except Exception as error:
|
||||||
|
raise BadArgument() from error
|
||||||
|
|
||||||
|
if not any(
|
||||||
|
[
|
||||||
|
vals["names"],
|
||||||
|
vals["level"],
|
||||||
|
vals["id"],
|
||||||
|
vals["variant"],
|
||||||
|
vals["gender"],
|
||||||
|
vals["iv"],
|
||||||
|
vals["type"],
|
||||||
|
]
|
||||||
|
):
|
||||||
|
raise BadArgument(
|
||||||
|
"You must provide one of `--name`, `--level`, `--id`, `--variant`, `--iv`, `--gender` or `--type``"
|
||||||
|
)
|
||||||
|
|
||||||
|
vals["names"] = " ".join(vals["names"])
|
||||||
|
vals["variant"] = " ".join(vals["variant"])
|
||||||
|
vals["gender"] = " ".join(vals["gender"])
|
||||||
|
vals["type"] = " ".join(vals["type"])
|
||||||
|
return vals
|
420
pokecord/data/alolan.json
Normal file
|
@ -0,0 +1,420 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 19,
|
||||||
|
"name": {
|
||||||
|
"english": "Rattata",
|
||||||
|
"japanese": "\u30b3\u30e9\u30c3\u30bf",
|
||||||
|
"chinese": "\u5c0f\u62c9\u9054",
|
||||||
|
"french": "Rattata"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 30,
|
||||||
|
"Attack": 56,
|
||||||
|
"Defence": 35,
|
||||||
|
"Sp. Atk": 25,
|
||||||
|
"Sp. Def": 35,
|
||||||
|
"Speed": 72
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Rattata"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 20,
|
||||||
|
"name": {
|
||||||
|
"english": "Raticate",
|
||||||
|
"japanese": "\u30e9\u30c3\u30bf",
|
||||||
|
"chinese": "\u62c9\u9054",
|
||||||
|
"french": "Rattatac"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 55,
|
||||||
|
"Attack": 81,
|
||||||
|
"Defence": 60,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 70,
|
||||||
|
"Speed": 97
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Raticate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 26,
|
||||||
|
"name": {
|
||||||
|
"english": "Raichu",
|
||||||
|
"japanese": "\u30e9\u30a4\u30c1\u30e5\u30a6",
|
||||||
|
"chinese": "\u96f7\u4e18",
|
||||||
|
"french": "Raichu"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Electric"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 60,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 55,
|
||||||
|
"Sp. Atk": 90,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 110
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Raichu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 27,
|
||||||
|
"name": {
|
||||||
|
"english": "Sandshrew",
|
||||||
|
"japanese": "\u30b5\u30f3\u30c9",
|
||||||
|
"chinese": "\u7a7f\u5c71\u9f20",
|
||||||
|
"french": "Sabelette"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 50,
|
||||||
|
"Attack": 75,
|
||||||
|
"Defence": 85,
|
||||||
|
"Sp. Atk": 20,
|
||||||
|
"Sp. Def": 30,
|
||||||
|
"Speed": 40
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Sandshrew"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 28,
|
||||||
|
"name": {
|
||||||
|
"english": "Sandslash",
|
||||||
|
"japanese": "\u30b5\u30f3\u30c9\u30d1\u30f3",
|
||||||
|
"chinese": "\u7a7f\u5c71\u738b",
|
||||||
|
"french": "Sablaireau"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 75,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 110,
|
||||||
|
"Sp. Atk": 45,
|
||||||
|
"Sp. Def": 55,
|
||||||
|
"Speed": 65
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Sandslash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 37,
|
||||||
|
"name": {
|
||||||
|
"english": "Vulpix",
|
||||||
|
"japanese": "\u30ed\u30b3\u30f3",
|
||||||
|
"chinese": "\u516d\u5c3e",
|
||||||
|
"french": "Goupix"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 38,
|
||||||
|
"Attack": 41,
|
||||||
|
"Defence": 40,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 65
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Vulpix"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 38,
|
||||||
|
"name": {
|
||||||
|
"english": "Ninetales",
|
||||||
|
"japanese": "\u30ad\u30e5\u30a6\u30b3\u30f3",
|
||||||
|
"chinese": "\u4e5d\u5c3e",
|
||||||
|
"french": "Feunard"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 73,
|
||||||
|
"Attack": 76,
|
||||||
|
"Defence": 75,
|
||||||
|
"Sp. Atk": 81,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Ninetales"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 50,
|
||||||
|
"name": {
|
||||||
|
"english": "Diglett",
|
||||||
|
"japanese": "\u30c7\u30a3\u30b0\u30c0",
|
||||||
|
"chinese": "\u5730\u9f20",
|
||||||
|
"french": "Taupiqueur"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 10,
|
||||||
|
"Attack": 55,
|
||||||
|
"Defence": 25,
|
||||||
|
"Sp. Atk": 35,
|
||||||
|
"Sp. Def": 45,
|
||||||
|
"Speed": 95
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Diglett"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 51,
|
||||||
|
"name": {
|
||||||
|
"english": "Dugtrio",
|
||||||
|
"japanese": "\u30c0\u30b0\u30c8\u30ea\u30aa",
|
||||||
|
"chinese": "\u4e09\u5730\u9f20",
|
||||||
|
"french": "Triopikeur"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 35,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 50,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 70,
|
||||||
|
"Speed": 120
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Dugtrio"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 52,
|
||||||
|
"name": {
|
||||||
|
"english": "Meowth",
|
||||||
|
"japanese": "\u30cb\u30e3\u30fc\u30b9",
|
||||||
|
"chinese": "\u55b5\u55b5",
|
||||||
|
"french": "Miaouss"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 40,
|
||||||
|
"Attack": 45,
|
||||||
|
"Defence": 35,
|
||||||
|
"Sp. Atk": 40,
|
||||||
|
"Sp. Def": 40,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Meowth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 53,
|
||||||
|
"name": {
|
||||||
|
"english": "Persian",
|
||||||
|
"japanese": "\u30da\u30eb\u30b7\u30a2\u30f3",
|
||||||
|
"chinese": "\u8c93\u8001\u5927",
|
||||||
|
"french": "Persian"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 65,
|
||||||
|
"Attack": 70,
|
||||||
|
"Defence": 60,
|
||||||
|
"Sp. Atk": 65,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 115
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Persian"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 74,
|
||||||
|
"name": {
|
||||||
|
"english": "Geodude",
|
||||||
|
"japanese": "\u30a4\u30b7\u30c4\u30d6\u30c6",
|
||||||
|
"chinese": "\u5c0f\u62f3\u77f3",
|
||||||
|
"french": "Racaillou"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Rock",
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 40,
|
||||||
|
"Attack": 80,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 30,
|
||||||
|
"Sp. Def": 30,
|
||||||
|
"Speed": 20
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Geodude"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 75,
|
||||||
|
"name": {
|
||||||
|
"english": "Graveler",
|
||||||
|
"japanese": "\u30b4\u30ed\u30fc\u30f3",
|
||||||
|
"chinese": "\u9686\u9686\u77f3",
|
||||||
|
"french": "Gravalanch"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Rock",
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 55,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 115,
|
||||||
|
"Sp. Atk": 45,
|
||||||
|
"Sp. Def": 45,
|
||||||
|
"Speed": 35
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Graveler"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 76,
|
||||||
|
"name": {
|
||||||
|
"english": "Golem",
|
||||||
|
"japanese": "\u30b4\u30ed\u30fc\u30cb\u30e3",
|
||||||
|
"chinese": "\u9686\u9686\u5ca9",
|
||||||
|
"french": "Grolem"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Rock",
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 120,
|
||||||
|
"Defence": 130,
|
||||||
|
"Sp. Atk": 55,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 45
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Golem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 88,
|
||||||
|
"name": {
|
||||||
|
"english": "Grimer",
|
||||||
|
"japanese": "\u30d9\u30c8\u30d9\u30bf\u30fc",
|
||||||
|
"chinese": "\u81ed\u6ce5",
|
||||||
|
"french": "Tadmorv"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Poison"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 80,
|
||||||
|
"Defence": 50,
|
||||||
|
"Sp. Atk": 40,
|
||||||
|
"Sp. Def": 50,
|
||||||
|
"Speed": 25
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Grimer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 89,
|
||||||
|
"name": {
|
||||||
|
"english": "Muk",
|
||||||
|
"japanese": "\u30d9\u30c8\u30d9\u30c8\u30f3",
|
||||||
|
"chinese": "\u81ed\u81ed\u6ce5",
|
||||||
|
"french": "Grotadmorv"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Poison"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 105,
|
||||||
|
"Attack": 105,
|
||||||
|
"Defence": 75,
|
||||||
|
"Sp. Atk": 65,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 50
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Muk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 103,
|
||||||
|
"name": {
|
||||||
|
"english": "Exeggutor",
|
||||||
|
"japanese": "\u30ca\u30c3\u30b7\u30fc",
|
||||||
|
"chinese": "\u6930\u86cb\u6a39",
|
||||||
|
"french": "Noadkoko"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Grass",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 95,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 85,
|
||||||
|
"Sp. Atk": 125,
|
||||||
|
"Sp. Def": 75,
|
||||||
|
"Speed": 55
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Exeggutor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 105,
|
||||||
|
"name": {
|
||||||
|
"english": "Marowak",
|
||||||
|
"japanese": "\u30ac\u30e9\u30ac\u30e9",
|
||||||
|
"chinese": "\u560e\u5566\u560e\u5566",
|
||||||
|
"french": "Ossatueur"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 60,
|
||||||
|
"Attack": 80,
|
||||||
|
"Defence": 110,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 45
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Alolan",
|
||||||
|
"alias": "Alolan Marowak"
|
||||||
|
}
|
||||||
|
]
|
351
pokecord/data/evolve.json
Normal file
|
@ -0,0 +1,351 @@
|
||||||
|
{
|
||||||
|
"Bulbasaur": {"evolution": "Ivysaur", "level": "16"},
|
||||||
|
"Ivysaur": {"evolution": "Venusaur", "level": "32"},
|
||||||
|
"Charmander": {"evolution": "Charmeleon", "level": "16"},
|
||||||
|
"Charmeleon": {"evolution": "Charizard", "level": "36"},
|
||||||
|
"Squirtle": {"evolution": "Wartortle", "level": "16"},
|
||||||
|
"Wartortle": {"evolution": "Blastoise", "level": "36"},
|
||||||
|
"Caterpie": {"evolution": "Metapod", "level": "7"},
|
||||||
|
"Metapod": {"evolution": "Butterfree", "level": "10"},
|
||||||
|
"Weedle": {"evolution": "Kakuna", "level": "7"},
|
||||||
|
"Kakuna": {"evolution": "Beedrill", "level": "10"},
|
||||||
|
"Pidgey": {"evolution": "Pidgeotto", "level": "18"},
|
||||||
|
"Pidgeotto": {"evolution": "Pidgeot", "level": "36"},
|
||||||
|
"Rattata": {"evolution": "Raticate", "level": "20"},
|
||||||
|
"Alolan Rattata": {"evolution": "Alolan Raticate", "level": "20"},
|
||||||
|
"Spearow": {"evolution": "Fearow", "level": "20"},
|
||||||
|
"Ekans": {"evolution": "Arbok", "level": "22"},
|
||||||
|
"Sandshrew": {"evolution": "Sandslash", "level": "22"},
|
||||||
|
"Nidoran\u2640": {"evolution": "Nidorina", "level": "16"},
|
||||||
|
"Nidoran\u2642": {"evolution": "Nidorino", "level": "16"},
|
||||||
|
"Zubat": {"evolution": "Golbat", "level": "22"},
|
||||||
|
"Oddish": {"evolution": "Gloom", "level": "21"},
|
||||||
|
"Paras": {"evolution": "Parasect", "level": "24"},
|
||||||
|
"Venonat": {"evolution": "Venomoth", "level": "31"},
|
||||||
|
"Diglett": {"evolution": "Dugtrio", "level": "26"},
|
||||||
|
"Alolan Diglett": {"evolution": "Alolan Dugtrio", "level": "26"},
|
||||||
|
"Meowth": {"evolution": "Persian", "level": "28"},
|
||||||
|
"Galarian Meowth": {"evolution": "Perrserker", "level": "28"},
|
||||||
|
"Psyduck": {"evolution": "Golduck", "level": "33"},
|
||||||
|
"Mankey": {"evolution": "Primeape", "level": "28"},
|
||||||
|
"Poliwag": {"evolution": "Poliwhirl", "level": "25"},
|
||||||
|
"Abra": {"evolution": "Kadabra", "level": "16"},
|
||||||
|
"Machop": {"evolution": "Machoke", "level": "28"},
|
||||||
|
"Bellsprout": {"evolution": "Weepinbell", "level": "21"},
|
||||||
|
"Tentacool": {"evolution": "Tentacruel", "level": "30"},
|
||||||
|
"Geodude": {"evolution": "Graveler", "level": "25"},
|
||||||
|
"Alolan Geodude": {"evolution": "Alolan Graveler", "level": "25"},
|
||||||
|
"Ponyta": {"evolution": "Rapidash", "level": "40"},
|
||||||
|
"Galarian Ponyta": {"evolution": "Galarian Rapidash", "level": "40"},
|
||||||
|
"Slowpoke": {"evolution": "Slowbro", "level": "37"},
|
||||||
|
"Magnemite": {"evolution": "Magneton", "level": "30"},
|
||||||
|
"Doduo": {"evolution": "Dodrio", "level": "31"},
|
||||||
|
"Seel": {"evolution": "Dewgong", "level": "34"},
|
||||||
|
"Grimer": {"evolution": "Muk", "level": "38"},
|
||||||
|
"Alolan Grimer": {"evolution": "Alolan Muk", "level": "38"},
|
||||||
|
"Gastly": {"evolution": "Haunter", "level": "25"},
|
||||||
|
"Drowzee": {"evolution": "Hypno", "level": "26"},
|
||||||
|
"Krabby": {"evolution": "Kingler", "level": "28"},
|
||||||
|
"Voltorb": {"evolution": "Electrode", "level": "30"},
|
||||||
|
"Cubone": {"evolution": "Alolan Marowak", "level": "28"},
|
||||||
|
"Tyrogue": {"evolution": "Hitmontop", "level": "20"},
|
||||||
|
"Koffing": {"evolution": "Galarian Weezing", "level": "35"},
|
||||||
|
"Rhyhorn": {"evolution": "Rhydon", "level": "42"},
|
||||||
|
"Horsea": {"evolution": "Seadra", "level": "32"},
|
||||||
|
"Goldeen": {"evolution": "Seaking", "level": "33"},
|
||||||
|
"Galarian Mr. Mime": {"evolution": "Mr. Rime", "level": "42"},
|
||||||
|
"Smoochum": {"evolution": "Jynx", "level": "30"},
|
||||||
|
"Elekid": {"evolution": "Electabuzz", "level": "30"},
|
||||||
|
"Magby": {"evolution": "Magmar", "level": "30"},
|
||||||
|
"Magikarp": {"evolution": "Gyarados", "level": "20"},
|
||||||
|
"Omanyte": {"evolution": "Omastar", "level": "40"},
|
||||||
|
"Kabuto": {"evolution": "Kabutops", "level": "40"},
|
||||||
|
"Dratini": {"evolution": "Dragonair", "level": "30"},
|
||||||
|
"Dragonair": {"evolution": "Dragonite", "level": "55"},
|
||||||
|
"Chikorita": {"evolution": "Bayleef", "level": "16"},
|
||||||
|
"Bayleef": {"evolution": "Meganium", "level": "32"},
|
||||||
|
"Cyndaquil": {"evolution": "Quilava", "level": "14"},
|
||||||
|
"Quilava": {"evolution": "Typhlosion", "level": "36"},
|
||||||
|
"Totodile": {"evolution": "Croconaw", "level": "18"},
|
||||||
|
"Croconaw": {"evolution": "Feraligatr", "level": "30"},
|
||||||
|
"Sentret": {"evolution": "Furret", "level": "15"},
|
||||||
|
"Hoothoot": {"evolution": "Noctowl", "level": "20"},
|
||||||
|
"Ledyba": {"evolution": "Ledian", "level": "18"},
|
||||||
|
"Spinarak": {"evolution": "Ariados", "level": "22"},
|
||||||
|
"Chinchou": {"evolution": "Lanturn", "level": "27"},
|
||||||
|
"Natu": {"evolution": "Xatu", "level": "25"},
|
||||||
|
"Mareep": {"evolution": "Flaaffy", "level": "15"},
|
||||||
|
"Flaaffy": {"evolution": "Ampharos", "level": "30"},
|
||||||
|
"Marill": {"evolution": "Azumarill", "level": "18"},
|
||||||
|
"Hoppip": {"evolution": "Skiploom", "level": "18"},
|
||||||
|
"Skiploom": {"evolution": "Jumpluff", "level": "27"},
|
||||||
|
"Wooper": {"evolution": "Quagsire", "level": "20"},
|
||||||
|
"Wynaut": {"evolution": "Wobbuffet", "level": "15"},
|
||||||
|
"Pineco": {"evolution": "Forretress", "level": "31"},
|
||||||
|
"Snubbull": {"evolution": "Granbull", "level": "23"},
|
||||||
|
"Teddiursa": {"evolution": "Ursaring", "level": "30"},
|
||||||
|
"Slugma": {"evolution": "Magcargo", "level": "38"},
|
||||||
|
"Swinub": {"evolution": "Piloswine", "level": "33"},
|
||||||
|
"Remoraid": {"evolution": "Octillery", "level": "25"},
|
||||||
|
"Houndour": {"evolution": "Houndoom", "level": "24"},
|
||||||
|
"Phanpy": {"evolution": "Donphan", "level": "25"},
|
||||||
|
"Larvitar": {"evolution": "Pupitar", "level": "30"},
|
||||||
|
"Pupitar": {"evolution": "Tyranitar", "level": "55"},
|
||||||
|
"Treecko": {"evolution": "Grovyle", "level": "16"},
|
||||||
|
"Grovyle": {"evolution": "Sceptile", "level": "36"},
|
||||||
|
"Torchic": {"evolution": "Combusken", "level": "16"},
|
||||||
|
"Combusken": {"evolution": "Blaziken", "level": "36"},
|
||||||
|
"Mudkip": {"evolution": "Marshtomp", "level": "16"},
|
||||||
|
"Marshtomp": {"evolution": "Swampert", "level": "36"},
|
||||||
|
"Poochyena": {"evolution": "Mightyena", "level": "18"},
|
||||||
|
"Zigzagoon": {"evolution": "Linoone", "level": "20"},
|
||||||
|
"Galarian Zigzagoon": {"evolution": "Galarian Linoone", "level": "20"},
|
||||||
|
"Galarian Linoone": {"evolution": "Obstagoon", "level": "35"},
|
||||||
|
"Wurmple": {"evolution": "Cascoon", "level": "7"},
|
||||||
|
"Silcoon": {"evolution": "Beautifly", "level": "10"},
|
||||||
|
"Cascoon": {"evolution": "Dustox", "level": "10"},
|
||||||
|
"Lotad": {"evolution": "Lombre", "level": "14"},
|
||||||
|
"Seedot": {"evolution": "Nuzleaf", "level": "14"},
|
||||||
|
"Taillow": {"evolution": "Swellow", "level": "22"},
|
||||||
|
"Wingull": {"evolution": "Pelipper", "level": "25"},
|
||||||
|
"Ralts": {"evolution": "Kirlia", "level": "20"},
|
||||||
|
"Kirlia": {"evolution": "Gardevoir", "level": "30"},
|
||||||
|
"Surskit": {"evolution": "Masquerain", "level": "22"},
|
||||||
|
"Shroomish": {"evolution": "Breloom", "level": "23"},
|
||||||
|
"Slakoth": {"evolution": "Vigoroth", "level": "18"},
|
||||||
|
"Vigoroth": {"evolution": "Slaking", "level": "36"},
|
||||||
|
"Nincada": {"evolution": "Shedinja", "level": "20"},
|
||||||
|
"Whismur": {"evolution": "Loudred", "level": "20"},
|
||||||
|
"Loudred": {"evolution": "Exploud", "level": "40"},
|
||||||
|
"Makuhita": {"evolution": "Hariyama", "level": "24"},
|
||||||
|
"Aron": {"evolution": "Lairon", "level": "32"},
|
||||||
|
"Lairon": {"evolution": "Aggron", "level": "42"},
|
||||||
|
"Meditite": {"evolution": "Medicham", "level": "37"},
|
||||||
|
"Electrike": {"evolution": "Manectric", "level": "26"},
|
||||||
|
"Gulpin": {"evolution": "Swalot", "level": "26"},
|
||||||
|
"Carvanha": {"evolution": "Sharpedo", "level": "30"},
|
||||||
|
"Wailmer": {"evolution": "Wailord", "level": "40"},
|
||||||
|
"Numel": {"evolution": "Camerupt", "level": "33"},
|
||||||
|
"Spoink": {"evolution": "Grumpig", "level": "32"},
|
||||||
|
"Trapinch": {"evolution": "Vibrava", "level": "35"},
|
||||||
|
"Vibrava": {"evolution": "Flygon", "level": "45"},
|
||||||
|
"Cacnea": {"evolution": "Cacturne", "level": "32"},
|
||||||
|
"Swablu": {"evolution": "Altaria", "level": "35"},
|
||||||
|
"Barboach": {"evolution": "Whiscash", "level": "30"},
|
||||||
|
"Corphish": {"evolution": "Crawdaunt", "level": "30"},
|
||||||
|
"Baltoy": {"evolution": "Claydol", "level": "36"},
|
||||||
|
"Lileep": {"evolution": "Cradily", "level": "40"},
|
||||||
|
"Anorith": {"evolution": "Armaldo", "level": "40"},
|
||||||
|
"Shuppet": {"evolution": "Banette", "level": "37"},
|
||||||
|
"Duskull": {"evolution": "Dusclops", "level": "37"},
|
||||||
|
"Snorunt": {"evolution": "Glalie", "level": "42"},
|
||||||
|
"Spheal": {"evolution": "Sealeo", "level": "32"},
|
||||||
|
"Sealeo": {"evolution": "Walrein", "level": "44"},
|
||||||
|
"Bagon": {"evolution": "Shelgon", "level": "30"},
|
||||||
|
"Shelgon": {"evolution": "Salamence", "level": "50"},
|
||||||
|
"Beldum": {"evolution": "Metang", "level": "20"},
|
||||||
|
"Metang": {"evolution": "Metagross", "level": "45"},
|
||||||
|
"Turtwig": {"evolution": "Grotle", "level": "18"},
|
||||||
|
"Grotle": {"evolution": "Torterra", "level": "32"},
|
||||||
|
"Chimchar": {"evolution": "Monferno", "level": "14"},
|
||||||
|
"Monferno": {"evolution": "Infernape", "level": "36"},
|
||||||
|
"Piplup": {"evolution": "Prinplup", "level": "16"},
|
||||||
|
"Prinplup": {"evolution": "Empoleon", "level": "36"},
|
||||||
|
"Starly": {"evolution": "Staravia", "level": "14"},
|
||||||
|
"Staravia": {"evolution": "Staraptor", "level": "34"},
|
||||||
|
"Bidoof": {"evolution": "Bibarel", "level": "15"},
|
||||||
|
"Kricketot": {"evolution": "Kricketune", "level": "10"},
|
||||||
|
"Shinx": {"evolution": "Luxio", "level": "15"},
|
||||||
|
"Luxio": {"evolution": "Luxray", "level": "30"},
|
||||||
|
"Cranidos": {"evolution": "Rampardos", "level": "30"},
|
||||||
|
"Shieldon": {"evolution": "Bastiodon", "level": "30"},
|
||||||
|
"Burmy": {"evolution": "Trash Cloak", "level": "20"},
|
||||||
|
"Combee": {"evolution": "Vespiquen", "level": "21"},
|
||||||
|
"Buizel": {"evolution": "Floatzel", "level": "26"},
|
||||||
|
"Cherubi": {"evolution": "Cherrim", "level": "25"},
|
||||||
|
"Shellos": {"evolution": "Gastrodon", "level": "30"},
|
||||||
|
"Drifloon": {"evolution": "Drifblim", "level": "28"},
|
||||||
|
"Glameow": {"evolution": "Purugly", "level": "38"},
|
||||||
|
"Stunky": {"evolution": "Skuntank", "level": "34"},
|
||||||
|
"Bronzor": {"evolution": "Bronzong", "level": "33"},
|
||||||
|
"Gible": {"evolution": "Gabite", "level": "24"},
|
||||||
|
"Gabite": {"evolution": "Garchomp", "level": "48"},
|
||||||
|
"Hippopotas": {"evolution": "Hippowdon", "level": "34"},
|
||||||
|
"Skorupi": {"evolution": "Drapion", "level": "40"},
|
||||||
|
"Croagunk": {"evolution": "Toxicroak", "level": "37"},
|
||||||
|
"Finneon": {"evolution": "Lumineon", "level": "31"},
|
||||||
|
"Snover": {"evolution": "Abomasnow", "level": "40"},
|
||||||
|
"Snivy": {"evolution": "Servine", "level": "17"},
|
||||||
|
"Servine": {"evolution": "Serperior", "level": "36"},
|
||||||
|
"Tepig": {"evolution": "Pignite", "level": "17"},
|
||||||
|
"Pignite": {"evolution": "Emboar", "level": "36"},
|
||||||
|
"Oshawott": {"evolution": "Dewott", "level": "17"},
|
||||||
|
"Dewott": {"evolution": "Samurott", "level": "36"},
|
||||||
|
"Patrat": {"evolution": "Watchog", "level": "20"},
|
||||||
|
"Lillipup": {"evolution": "Herdier", "level": "16"},
|
||||||
|
"Herdier": {"evolution": "Stoutland", "level": "32"},
|
||||||
|
"Purrloin": {"evolution": "Liepard", "level": "20"},
|
||||||
|
"Pidove": {"evolution": "Tranquill", "level": "21"},
|
||||||
|
"Tranquill": {"evolution": "Unfezant", "level": "32"},
|
||||||
|
"Blitzle": {"evolution": "Zebstrika", "level": "27"},
|
||||||
|
"Roggenrola": {"evolution": "Boldore", "level": "25"},
|
||||||
|
"Drilbur": {"evolution": "Excadrill", "level": "31"},
|
||||||
|
"Timburr": {"evolution": "Gurdurr", "level": "25"},
|
||||||
|
"Tympole": {"evolution": "Palpitoad", "level": "25"},
|
||||||
|
"Palpitoad": {"evolution": "Seismitoad", "level": "36"},
|
||||||
|
"Sewaddle": {"evolution": "Swadloon", "level": "20"},
|
||||||
|
"Venipede": {"evolution": "Whirlipede", "level": "22"},
|
||||||
|
"Whirlipede": {"evolution": "Scolipede", "level": "30"},
|
||||||
|
"Sandile": {"evolution": "Krokorok", "level": "29"},
|
||||||
|
"Krokorok": {"evolution": "Krookodile", "level": "40"},
|
||||||
|
"Darumaka": {"evolution": "Standard Mode", "level": "35"},
|
||||||
|
"Dwebble": {"evolution": "Crustle", "level": "34"},
|
||||||
|
"Scraggy": {"evolution": "Scrafty", "level": "39"},
|
||||||
|
"Yamask": {"evolution": "Cofagrigus", "level": "34"},
|
||||||
|
"Tirtouga": {"evolution": "Carracosta", "level": "37"},
|
||||||
|
"Archen": {"evolution": "Archeops", "level": "37"},
|
||||||
|
"Trubbish": {"evolution": "Garbodor", "level": "36"},
|
||||||
|
"Zorua": {"evolution": "Zoroark", "level": "30"},
|
||||||
|
"Gothita": {"evolution": "Gothorita", "level": "32"},
|
||||||
|
"Gothorita": {"evolution": "Gothitelle", "level": "41"},
|
||||||
|
"Solosis": {"evolution": "Duosion", "level": "32"},
|
||||||
|
"Duosion": {"evolution": "Reuniclus", "level": "41"},
|
||||||
|
"Ducklett": {"evolution": "Swanna", "level": "35"},
|
||||||
|
"Vanillite": {"evolution": "Vanillish", "level": "35"},
|
||||||
|
"Vanillish": {"evolution": "Vanilluxe", "level": "47"},
|
||||||
|
"Deerling": {"evolution": "Sawsbuck", "level": "34"},
|
||||||
|
"Foongus": {"evolution": "Amoonguss", "level": "39"},
|
||||||
|
"Frillish": {"evolution": "Jellicent", "level": "40"},
|
||||||
|
"Joltik": {"evolution": "Galvantula", "level": "36"},
|
||||||
|
"Ferroseed": {"evolution": "Ferrothorn", "level": "40"},
|
||||||
|
"Klink": {"evolution": "Klang", "level": "38"},
|
||||||
|
"Klang": {"evolution": "Klinklang", "level": "49"},
|
||||||
|
"Tynamo": {"evolution": "Eelektrik", "level": "39"},
|
||||||
|
"Elgyem": {"evolution": "Beheeyem", "level": "42"},
|
||||||
|
"Litwick": {"evolution": "Lampent", "level": "41"},
|
||||||
|
"Axew": {"evolution": "Fraxure", "level": "38"},
|
||||||
|
"Fraxure": {"evolution": "Haxorus", "level": "48"},
|
||||||
|
"Cubchoo": {"evolution": "Beartic", "level": "37"},
|
||||||
|
"Mienfoo": {"evolution": "Mienshao", "level": "50"},
|
||||||
|
"Golett": {"evolution": "Golurk", "level": "43"},
|
||||||
|
"Pawniard": {"evolution": "Bisharp", "level": "52"},
|
||||||
|
"Rufflet": {"evolution": "Braviary", "level": "54"},
|
||||||
|
"Vullaby": {"evolution": "Mandibuzz", "level": "54"},
|
||||||
|
"Deino": {"evolution": "Zweilous", "level": "50"},
|
||||||
|
"Zweilous": {"evolution": "Hydreigon", "level": "64"},
|
||||||
|
"Larvesta": {"evolution": "Volcarona", "level": "59"},
|
||||||
|
"Chespin": {"evolution": "Quilladin", "level": "16"},
|
||||||
|
"Quilladin": {"evolution": "Chesnaught", "level": "36"},
|
||||||
|
"Fennekin": {"evolution": "Braixen", "level": "16"},
|
||||||
|
"Braixen": {"evolution": "Delphox", "level": "36"},
|
||||||
|
"Froakie": {"evolution": "Frogadier", "level": "16"},
|
||||||
|
"Frogadier": {"evolution": "Greninja", "level": "36"},
|
||||||
|
"Bunnelby": {"evolution": "Diggersby", "level": "20"},
|
||||||
|
"Fletchling": {"evolution": "Fletchinder", "level": "17"},
|
||||||
|
"Fletchinder": {"evolution": "Talonflame", "level": "35"},
|
||||||
|
"Scatterbug": {"evolution": "Spewpa", "level": "9"},
|
||||||
|
"Spewpa": {"evolution": "Vivillon", "level": "12"},
|
||||||
|
"Litleo": {"evolution": "Pyroar", "level": "35"},
|
||||||
|
"Flab\u00e9b\u00e9": {"evolution": "Floette", "level": "19"},
|
||||||
|
"Skiddo": {"evolution": "Gogoat", "level": "32"},
|
||||||
|
"Pancham": {"evolution": "Pangoro", "level": "32"},
|
||||||
|
"Espurr": {"evolution": "Meowstic", "level": "25"},
|
||||||
|
"Honedge": {"evolution": "Doublade", "level": "35"},
|
||||||
|
"Inkay": {"evolution": "Malamar", "level": "30"},
|
||||||
|
"Binacle": {"evolution": "Barbaracle", "level": "39"},
|
||||||
|
"Skrelp": {"evolution": "Dragalge", "level": "48"},
|
||||||
|
"Clauncher": {"evolution": "Clawitzer", "level": "37"},
|
||||||
|
"Tyrunt": {"evolution": "Tyrantrum", "level": "39"},
|
||||||
|
"Amaura": {"evolution": "Aurorus", "level": "39"},
|
||||||
|
"Goomy": {"evolution": "Sliggoo", "level": "40"},
|
||||||
|
"Sliggoo": {"evolution": "Goodra", "level": "50"},
|
||||||
|
"Bergmite": {"evolution": "Avalugg", "level": "37"},
|
||||||
|
"Noibat": {"evolution": "Noivern", "level": "48"},
|
||||||
|
"Rowlet": {"evolution": "Dartrix", "level": "17"},
|
||||||
|
"Dartrix": {"evolution": "Decidueye", "level": "34"},
|
||||||
|
"Litten": {"evolution": "Torracat", "level": "17"},
|
||||||
|
"Torracat": {"evolution": "Incineroar", "level": "34"},
|
||||||
|
"Popplio": {"evolution": "Brionne", "level": "17"},
|
||||||
|
"Brionne": {"evolution": "Primarina", "level": "34"},
|
||||||
|
"Pikipek": {"evolution": "Trumbeak", "level": "14"},
|
||||||
|
"Trumbeak": {"evolution": "Toucannon", "level": "28"},
|
||||||
|
"Yungoos": {"evolution": "Gumshoos", "level": "20"},
|
||||||
|
"Grubbin": {"evolution": "Charjabug", "level": "20"},
|
||||||
|
"Cutiefly": {"evolution": "Ribombee", "level": "25"},
|
||||||
|
"Rockruff": {"evolution": "Midnight Form", "level": "25"},
|
||||||
|
"Own Tempo Rockruff": {"evolution": "Dusk Form", "level": "25"},
|
||||||
|
"Mareanie": {"evolution": "Toxapex", "level": "38"},
|
||||||
|
"Mudbray": {"evolution": "Mudsdale", "level": "30"},
|
||||||
|
"Dewpider": {"evolution": "Araquanid", "level": "22"},
|
||||||
|
"Fomantis": {"evolution": "Lurantis", "level": "34"},
|
||||||
|
"Morelull": {"evolution": "Shiinotic", "level": "24"},
|
||||||
|
"Salandit": {"evolution": "Salazzle", "level": "33"},
|
||||||
|
"Stufful": {"evolution": "Bewear", "level": "27"},
|
||||||
|
"Bounsweet": {"evolution": "Steenee", "level": "18"},
|
||||||
|
"Wimpod": {"evolution": "Golisopod", "level": "30"},
|
||||||
|
"Sandygast": {"evolution": "Palossand", "level": "42"},
|
||||||
|
"Jangmo-o": {"evolution": "Hakamo-o", "level": "35"},
|
||||||
|
"Hakamo-o": {"evolution": "Kommo-o", "level": "45"},
|
||||||
|
"Cosmog": {"evolution": "Cosmoem", "level": "43"},
|
||||||
|
"Cosmoem": {"evolution": "Lunala", "level": "53"},
|
||||||
|
"Grookey": {"evolution": "Thwackey", "level": "16"},
|
||||||
|
"Thwackey": {"evolution": "Rillaboom", "level": "35"},
|
||||||
|
"Scorbunny": {"evolution": "Raboot", "level": "16"},
|
||||||
|
"Raboot": {"evolution": "Cinderace", "level": "35"},
|
||||||
|
"Sobble": {"evolution": "Drizzile", "level": "16"},
|
||||||
|
"Drizzile": {"evolution": "Inteleon", "level": "35"},
|
||||||
|
"Blipbug": {"evolution": "Dottler", "level": "10"},
|
||||||
|
"Dottler": {"evolution": "Orbeetle", "level": "30"},
|
||||||
|
"Rookidee": {"evolution": "Corvisquire", "level": "18"},
|
||||||
|
"Corvisquire": {"evolution": "Corviknight", "level": "38"},
|
||||||
|
"Skwovet": {"evolution": "Greedent", "level": "24"},
|
||||||
|
"Nickit": {"evolution": "Thievul", "level": "18"},
|
||||||
|
"Wooloo": {"evolution": "Dubwool", "level": "24"},
|
||||||
|
"Chewtle": {"evolution": "Drednaw", "level": "22"},
|
||||||
|
"Yamper": {"evolution": "Boltund", "level": "25"},
|
||||||
|
"Gossifleur": {"evolution": "Eldegoss", "level": "20"},
|
||||||
|
"Sizzlipede": {"evolution": "Centiskorch", "level": "28"},
|
||||||
|
"Rolycoly": {"evolution": "Carkol", "level": "18"},
|
||||||
|
"Carkol": {"evolution": "Coalossal", "level": "34"},
|
||||||
|
"Arrokuda": {"evolution": "Barraskewda", "level": "26"},
|
||||||
|
"Galarian Corsola": {"evolution": "Cursola", "level": "38"},
|
||||||
|
"Impidimp": {"evolution": "Morgrem", "level": "32"},
|
||||||
|
"Morgrem": {"evolution": "Grimmsnarl", "level": "42"},
|
||||||
|
"Hatenna": {"evolution": "Hattrem", "level": "32"},
|
||||||
|
"Hattrem": {"evolution": "Hatterene", "level": "42"},
|
||||||
|
"Cufant": {"evolution": "Copperajah", "level": "34"},
|
||||||
|
"Toxel": {"evolution": "Amped Form", "level": "30"},
|
||||||
|
"Silicobra": {"evolution": "Sandaconda", "level": "36"},
|
||||||
|
"Dreepy": {"evolution": "Drakloak", "level": "50"},
|
||||||
|
"Drakloak": {"evolution": "Dragapult", "level": "60"},
|
||||||
|
"Sprigatito": {"evolution": "Floragato", "level": "16"},
|
||||||
|
"Floragato": {"evolution": "Meowscarada", "level": "36"},
|
||||||
|
"Fuecoco": {"evolution": "Crocalor", "level": "16"},
|
||||||
|
"Crocalor": {"evolution": "Skeledirge", "level": "36"},
|
||||||
|
"Quaxly": {"evolution": "Quaxwell", "level": "16"},
|
||||||
|
"Quaxwell": {"evolution": "Quaquaval", "level": "36"},
|
||||||
|
"Lechonk": {"evolution": "Oinkologne", "level": "16"},
|
||||||
|
"Tarountula": {"evolution": "Spidops", "level": "15"},
|
||||||
|
"Nymble": {"evolution": "Lokix", "level": "24"},
|
||||||
|
"Pawmi": {"evolution": "Pawmo", "level": "18"},
|
||||||
|
"Tandemaus": {"evolution": "Maushold", "level": "25"},
|
||||||
|
"Fidough": {"evolution": "Dachsbun", "level": "26"},
|
||||||
|
"Smoliv": {"evolution": "Dolliv", "level": "25"},
|
||||||
|
"Dolliv": {"evolution": "Arboliva", "level": "35"},
|
||||||
|
"Nacli": {"evolution": "Naclstack", "level": "24"},
|
||||||
|
"Naclstack": {"evolution": "Garganacl", "level": "38"},
|
||||||
|
"Wattrel": {"evolution": "Kilowattrel", "level": "25"},
|
||||||
|
"Maschiff": {"evolution": "Machamp", "level": "30"},
|
||||||
|
"Shroodle": {"evolution": "Grafaiai", "level": "28"},
|
||||||
|
"Toedscool": {"evolution": "Toedscruel", "level": "30"},
|
||||||
|
"Flittle": {"evolution": "Espathra", "level": "35"},
|
||||||
|
"Tinkatink": {"evolution": "Tinkatuff", "level": "24"},
|
||||||
|
"Tinkatuff": {"evolution": "Tinkaton", "level": "38"},
|
||||||
|
"Wiglett": {"evolution": "Wugtrio", "level": "26"},
|
||||||
|
"Finizen": {"evolution": "Palafin", "level": "28"},
|
||||||
|
"Varoom": {"evolution": "Revavroom", "level": "40"},
|
||||||
|
"Glimmet": {"evolution": "Glimmet", "level": "35"},
|
||||||
|
"Greavard": {"evolution": "Houndstone", "level": "30"},
|
||||||
|
"Frigibax": {"evolution": "Arctibax", "level": "35"},
|
||||||
|
"Arctibax": {"evolution": "Baxcalibur", "level": "54"}
|
||||||
|
}
|
590
pokecord/data/galarian.json
Normal file
|
@ -0,0 +1,590 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 52,
|
||||||
|
"name": {
|
||||||
|
"english": "Meowth",
|
||||||
|
"japanese": "\u30cb\u30e3\u30fc\u30b9",
|
||||||
|
"chinese": "\u55b5\u55b5",
|
||||||
|
"french": "Miaouss"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 40,
|
||||||
|
"Attack": 45,
|
||||||
|
"Defence": 35,
|
||||||
|
"Sp. Atk": 40,
|
||||||
|
"Sp. Def": 40,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Meowth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 77,
|
||||||
|
"name": {
|
||||||
|
"english": "Ponyta",
|
||||||
|
"japanese": "\u30dd\u30cb\u30fc\u30bf",
|
||||||
|
"chinese": "\u5c0f\u706b\u99ac",
|
||||||
|
"french": "Ponyta"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 50,
|
||||||
|
"Attack": 85,
|
||||||
|
"Defence": 55,
|
||||||
|
"Sp. Atk": 65,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Ponyta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 78,
|
||||||
|
"name": {
|
||||||
|
"english": "Rapidash",
|
||||||
|
"japanese": "\u30ae\u30e3\u30ed\u30c3\u30d7",
|
||||||
|
"chinese": "\u70c8\u7130\u99ac",
|
||||||
|
"french": "Galopa"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 65,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 70,
|
||||||
|
"Sp. Atk": 80,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 105
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Rapidash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 79,
|
||||||
|
"name": {
|
||||||
|
"english": "Slowpoke",
|
||||||
|
"japanese": "\u30e4\u30c9\u30f3",
|
||||||
|
"chinese": "\u5446\u5446\u7378",
|
||||||
|
"french": "Ramoloss"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 65,
|
||||||
|
"Defence": 65,
|
||||||
|
"Sp. Atk": 40,
|
||||||
|
"Sp. Def": 40,
|
||||||
|
"Speed": 15
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Slowpoke"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 80,
|
||||||
|
"name": {
|
||||||
|
"english": "Slowbro",
|
||||||
|
"japanese": "\u30e4\u30c9\u30e9\u30f3",
|
||||||
|
"chinese": "\u5446\u6bbc\u7378",
|
||||||
|
"french": "Flagadoss"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 95,
|
||||||
|
"Attack": 75,
|
||||||
|
"Defence": 110,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 30
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Slowbro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 83,
|
||||||
|
"name": {
|
||||||
|
"english": "Farfetch'd",
|
||||||
|
"japanese": "\u30ab\u30e2\u30cd\u30ae",
|
||||||
|
"chinese": "\u5927\u8525\u9d28",
|
||||||
|
"french": "Canarticho"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal",
|
||||||
|
"Flying"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 52,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 55,
|
||||||
|
"Sp. Atk": 58,
|
||||||
|
"Sp. Def": 62,
|
||||||
|
"Speed": 60
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Farfetch'd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 110,
|
||||||
|
"name": {
|
||||||
|
"english": "Weezing",
|
||||||
|
"japanese": "\u30de\u30bf\u30c9\u30ac\u30b9",
|
||||||
|
"chinese": "\u96d9\u5f48\u74e6\u65af",
|
||||||
|
"french": "Smogogo"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Poison"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 65,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 120,
|
||||||
|
"Sp. Atk": 85,
|
||||||
|
"Sp. Def": 70,
|
||||||
|
"Speed": 60
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Weezing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 122,
|
||||||
|
"name": {
|
||||||
|
"english": "Mr. Mime",
|
||||||
|
"japanese": "\u30d0\u30ea\u30e4\u30fc\u30c9",
|
||||||
|
"chinese": "\u9b54\u7246\u4eba\u5076",
|
||||||
|
"french": "M. Mime"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Fairy"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 40,
|
||||||
|
"Attack": 45,
|
||||||
|
"Defence": 65,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 120,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Mr. Mime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 144,
|
||||||
|
"name": {
|
||||||
|
"english": "Articuno",
|
||||||
|
"japanese": "\u30d5\u30ea\u30fc\u30b6\u30fc",
|
||||||
|
"chinese": "\u6025\u51cd\u9ce5",
|
||||||
|
"french": "Artikodin"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Flying"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 85,
|
||||||
|
"Defence": 85,
|
||||||
|
"Sp. Atk": 125,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 95
|
||||||
|
},
|
||||||
|
"spawnchance": 0.00015,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Articuno"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 145,
|
||||||
|
"name": {
|
||||||
|
"english": "Zapdos",
|
||||||
|
"japanese": "\u30b5\u30f3\u30c0\u30fc",
|
||||||
|
"chinese": "\u9583\u96fb\u9ce5",
|
||||||
|
"french": "\u00c9lecthor"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fighting",
|
||||||
|
"Flying"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 125,
|
||||||
|
"Defence": 90,
|
||||||
|
"Sp. Atk": 85,
|
||||||
|
"Sp. Def": 90,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.00015,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Zapdos"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 146,
|
||||||
|
"name": {
|
||||||
|
"english": "Moltres",
|
||||||
|
"japanese": "\u30d5\u30a1\u30a4\u30e4\u30fc",
|
||||||
|
"chinese": "\u706b\u7130\u9ce5",
|
||||||
|
"french": "Sulfura"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dark",
|
||||||
|
"Flying"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 85,
|
||||||
|
"Defence": 90,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 125,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.00015,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Moltres"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 199,
|
||||||
|
"name": {
|
||||||
|
"english": "Slowking",
|
||||||
|
"japanese": "\u30e4\u30c9\u30ad\u30f3\u30b0",
|
||||||
|
"chinese": "\u5446\u5446\u738b",
|
||||||
|
"french": "Roigada"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 95,
|
||||||
|
"Attack": 75,
|
||||||
|
"Defence": 80,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 110,
|
||||||
|
"Speed": 30
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Slowking"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 222,
|
||||||
|
"name": {
|
||||||
|
"english": "Corsola",
|
||||||
|
"japanese": "\u30b5\u30cb\u30fc\u30b4",
|
||||||
|
"chinese": "\u592a\u967d\u73ca\u745a",
|
||||||
|
"french": "Corayon"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water",
|
||||||
|
"Rock"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 65,
|
||||||
|
"Attack": 55,
|
||||||
|
"Defence": 95,
|
||||||
|
"Sp. Atk": 65,
|
||||||
|
"Sp. Def": 95,
|
||||||
|
"Speed": 35
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Corsola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 263,
|
||||||
|
"name": {
|
||||||
|
"english": "Zigzagoon",
|
||||||
|
"japanese": "\u30b8\u30b0\u30b6\u30b0\u30de",
|
||||||
|
"chinese": "\u86c7\u7d0b\u718a",
|
||||||
|
"french": "Zigzaton"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 38,
|
||||||
|
"Attack": 30,
|
||||||
|
"Defence": 41,
|
||||||
|
"Sp. Atk": 30,
|
||||||
|
"Sp. Def": 41,
|
||||||
|
"Speed": 60
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Zigzagoon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 264,
|
||||||
|
"name": {
|
||||||
|
"english": "Linoone",
|
||||||
|
"japanese": "\u30de\u30c3\u30b9\u30b0\u30de",
|
||||||
|
"chinese": "\u76f4\u885d\u718a",
|
||||||
|
"french": "Lin\u00e9on"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 78,
|
||||||
|
"Attack": 70,
|
||||||
|
"Defence": 61,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 61,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Linoone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 554,
|
||||||
|
"name": {
|
||||||
|
"english": "Darumaka",
|
||||||
|
"japanese": "\u30c0\u30eb\u30de\u30c3\u30ab",
|
||||||
|
"chinese": "\u706b\u7d05\u4e0d\u5012\u7fc1",
|
||||||
|
"french": "Darumarond"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 70,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 45,
|
||||||
|
"Sp. Atk": 15,
|
||||||
|
"Sp. Def": 45,
|
||||||
|
"Speed": 50
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Darumaka"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 555,
|
||||||
|
"name": {
|
||||||
|
"english": "Darmanitan",
|
||||||
|
"japanese": "\u30d2\u30d2\u30c0\u30eb\u30de",
|
||||||
|
"chinese": "\u9054\u6469\u72d2\u72d2",
|
||||||
|
"french": "Darumacho"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 105,
|
||||||
|
"Attack": 140,
|
||||||
|
"Defence": 55,
|
||||||
|
"Sp. Atk": 30,
|
||||||
|
"Sp. Def": 55,
|
||||||
|
"Speed": 95
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Darmanitan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 562,
|
||||||
|
"name": {
|
||||||
|
"english": "Yamask",
|
||||||
|
"japanese": "\u30c7\u30b9\u30de\u30b9",
|
||||||
|
"chinese": "\u54ed\u54ed\u9762\u5177",
|
||||||
|
"french": "Tutafeh"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 38,
|
||||||
|
"Attack": 30,
|
||||||
|
"Defence": 85,
|
||||||
|
"Sp. Atk": 55,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 30
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Yamask"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 618,
|
||||||
|
"name": {
|
||||||
|
"english": "Stunfisk",
|
||||||
|
"japanese": "\u30de\u30c3\u30ae\u30e7",
|
||||||
|
"chinese": "\u6ce5\u5df4\u9b5a",
|
||||||
|
"french": "Limonde"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground",
|
||||||
|
"Electric"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 109,
|
||||||
|
"Attack": 66,
|
||||||
|
"Defence": 84,
|
||||||
|
"Sp. Atk": 81,
|
||||||
|
"Sp. Def": 99,
|
||||||
|
"Speed": 32
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Stunfisk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 862,
|
||||||
|
"name": {
|
||||||
|
"english": "Obstagoon",
|
||||||
|
"japanese": "\u30bf\u30c1\u30d5\u30b5\u30b0\u30de",
|
||||||
|
"chinese": "\u5835\u6514\u718a",
|
||||||
|
"french": "Ixon"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dark",
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 93,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 101,
|
||||||
|
"Sp. Atk": 60,
|
||||||
|
"Sp. Def": 81,
|
||||||
|
"Speed": 95
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Obstagoon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 863,
|
||||||
|
"name": {
|
||||||
|
"english": "Perrserker",
|
||||||
|
"japanese": "\u30cb\u30e3\u30a4\u30ad\u30f3\u30b0",
|
||||||
|
"chinese": "\u55b5\u982d\u76ee",
|
||||||
|
"french": "Berserkatt"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 70,
|
||||||
|
"Attack": 110,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 60,
|
||||||
|
"Speed": 50
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Perrserker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 864,
|
||||||
|
"name": {
|
||||||
|
"english": "Cursola",
|
||||||
|
"japanese": "\u30b5\u30cb\u30b4\u30fc\u30f3",
|
||||||
|
"chinese": "\u9b54\u9748\u73ca\u745a",
|
||||||
|
"french": "Coray\u00f4me"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 60,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 50,
|
||||||
|
"Sp. Atk": 145,
|
||||||
|
"Sp. Def": 130,
|
||||||
|
"Speed": 30
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Cursola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 865,
|
||||||
|
"name": {
|
||||||
|
"english": "Sirfetch'd",
|
||||||
|
"japanese": "\u30cd\u30ae\u30ac\u30ca\u30a4\u30c8",
|
||||||
|
"chinese": "\u8525\u904a\u5175",
|
||||||
|
"french": "Palarticho"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fighting"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 62,
|
||||||
|
"Attack": 135,
|
||||||
|
"Defence": 95,
|
||||||
|
"Sp. Atk": 68,
|
||||||
|
"Sp. Def": 82,
|
||||||
|
"Speed": 65
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Sirfetch'd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 866,
|
||||||
|
"name": {
|
||||||
|
"english": "Mr. Rime",
|
||||||
|
"japanese": "\u30d0\u30ea\u30b3\u30aa\u30eb",
|
||||||
|
"chinese": "\u8e0f\u51b0\u4eba\u5076",
|
||||||
|
"french": "M. Glaquette"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ice",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 85,
|
||||||
|
"Defence": 75,
|
||||||
|
"Sp. Atk": 110,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 70
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Mr. Rime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 867,
|
||||||
|
"name": {
|
||||||
|
"english": "Runerigus",
|
||||||
|
"japanese": "\u30c7\u30b9\u30d0\u30fc\u30f3",
|
||||||
|
"chinese": "\u6b7b\u795e\u677f",
|
||||||
|
"french": "Tut\u00e9t\u00e9kri"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ground",
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 58,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 145,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 105,
|
||||||
|
"Speed": 30
|
||||||
|
},
|
||||||
|
"spawnchance": 0.15,
|
||||||
|
"variant": "Galarian",
|
||||||
|
"alias": "Galarian Runerigus"
|
||||||
|
}
|
||||||
|
]
|
809
pokecord/data/genders.json
Normal file
|
@ -0,0 +1,809 @@
|
||||||
|
{
|
||||||
|
"Abomasnow": 4,
|
||||||
|
"Abra": 2,
|
||||||
|
"Absol": 4,
|
||||||
|
"Accelgor": 4,
|
||||||
|
"Aegislash": 4,
|
||||||
|
"Aerodactyl": 1,
|
||||||
|
"Aggron": 4,
|
||||||
|
"Aipom": 4,
|
||||||
|
"Alakazam": 2,
|
||||||
|
"Alomomola": 4,
|
||||||
|
"Altaria": 4,
|
||||||
|
"Amaura": 1,
|
||||||
|
"Ambipom": 4,
|
||||||
|
"Amoonguss": 4,
|
||||||
|
"Ampharos": 4,
|
||||||
|
"Anorith": 1,
|
||||||
|
"Araquanid": 4,
|
||||||
|
"Arbok": 4,
|
||||||
|
"Arcanine": 2,
|
||||||
|
"Arceus": -1,
|
||||||
|
"Archen": 1,
|
||||||
|
"Archeops": 1,
|
||||||
|
"Ariados": 4,
|
||||||
|
"Armaldo": 1,
|
||||||
|
"Aromatisse": 4,
|
||||||
|
"Aron": 4,
|
||||||
|
"Articuno": -1,
|
||||||
|
"Audino": 4,
|
||||||
|
"Aurorus": 1,
|
||||||
|
"Avalugg": 4,
|
||||||
|
"Axew": 4,
|
||||||
|
"Azelf": -1,
|
||||||
|
"Azumarill": 4,
|
||||||
|
"Azurill": 6,
|
||||||
|
"Bagon": 4,
|
||||||
|
"Baltoy": -1,
|
||||||
|
"Banette": 4,
|
||||||
|
"Barbaracle": 4,
|
||||||
|
"Barboach": 4,
|
||||||
|
"Basculin": 4,
|
||||||
|
"Bastiodon": 1,
|
||||||
|
"Bayleef": 1,
|
||||||
|
"Beartic": 4,
|
||||||
|
"Beautifly": 4,
|
||||||
|
"Beedrill": 4,
|
||||||
|
"Beheeyem": 4,
|
||||||
|
"Beldum": -1,
|
||||||
|
"Bellossom": 4,
|
||||||
|
"Bellsprout": 4,
|
||||||
|
"Bergmite": 4,
|
||||||
|
"Bewear": 4,
|
||||||
|
"Bibarel": 4,
|
||||||
|
"Bidoof": 4,
|
||||||
|
"Binacle": 4,
|
||||||
|
"Bisharp": 4,
|
||||||
|
"Blacephalon": -1,
|
||||||
|
"Blastoise": 1,
|
||||||
|
"Blaziken": 1,
|
||||||
|
"Blissey": 8,
|
||||||
|
"Blitzle": 4,
|
||||||
|
"Boldore": 4,
|
||||||
|
"Bonsly": 4,
|
||||||
|
"Bouffalant": 4,
|
||||||
|
"Bounsweet": 8,
|
||||||
|
"Braixen": 1,
|
||||||
|
"Braviary": 0,
|
||||||
|
"Breloom": 4,
|
||||||
|
"Brionne": 1,
|
||||||
|
"Bronzong": -1,
|
||||||
|
"Bronzor": -1,
|
||||||
|
"Bruxish": 4,
|
||||||
|
"Budew": 4,
|
||||||
|
"Buizel": 4,
|
||||||
|
"Bulbasaur": 1,
|
||||||
|
"Buneary": 4,
|
||||||
|
"Bunnelby": 4,
|
||||||
|
"Burmy": 4,
|
||||||
|
"Butterfree": 4,
|
||||||
|
"Buzzwole": -1,
|
||||||
|
"Cacnea": 4,
|
||||||
|
"Cacturne": 4,
|
||||||
|
"Camerupt": 4,
|
||||||
|
"Carbink": -1,
|
||||||
|
"Carnivine": 4,
|
||||||
|
"Carracosta": 1,
|
||||||
|
"Carvanha": 4,
|
||||||
|
"Cascoon": 4,
|
||||||
|
"Castform": 4,
|
||||||
|
"Caterpie": 4,
|
||||||
|
"Celebi": -1,
|
||||||
|
"Celesteela": -1,
|
||||||
|
"Chandelure": 4,
|
||||||
|
"Chansey": 8,
|
||||||
|
"Charizard": 1,
|
||||||
|
"Charjabug": 4,
|
||||||
|
"Charmander": 1,
|
||||||
|
"Charmeleon": 1,
|
||||||
|
"Chatot": 4,
|
||||||
|
"Cherrim": 4,
|
||||||
|
"Cherubi": 4,
|
||||||
|
"Chesnaught": 1,
|
||||||
|
"Chespin": 1,
|
||||||
|
"Chikorita": 1,
|
||||||
|
"Chimchar": 1,
|
||||||
|
"Chimecho": 4,
|
||||||
|
"Chinchou": 4,
|
||||||
|
"Chingling": 4,
|
||||||
|
"Cinccino": 6,
|
||||||
|
"Clamperl": 4,
|
||||||
|
"Clauncher": 4,
|
||||||
|
"Clawitzer": 4,
|
||||||
|
"Claydol": -1,
|
||||||
|
"Clefable": 6,
|
||||||
|
"Clefairy": 6,
|
||||||
|
"Cleffa": 6,
|
||||||
|
"Cloyster": 4,
|
||||||
|
"Cobalion": -1,
|
||||||
|
"Cofagrigus": 4,
|
||||||
|
"Combee": 1,
|
||||||
|
"Combusken": 1,
|
||||||
|
"Comfey": 6,
|
||||||
|
"Conkeldurr": 2,
|
||||||
|
"Corphish": 4,
|
||||||
|
"Corsola": 6,
|
||||||
|
"Cosmoem": -1,
|
||||||
|
"Cosmog": -1,
|
||||||
|
"Cottonee": 4,
|
||||||
|
"Crabominable": 4,
|
||||||
|
"Crabrawler": 4,
|
||||||
|
"Cradily": 1,
|
||||||
|
"Cranidos": 1,
|
||||||
|
"Crawdaunt": 4,
|
||||||
|
"Cresselia": 8,
|
||||||
|
"Croagunk": 4,
|
||||||
|
"Crobat": 4,
|
||||||
|
"Croconaw": 1,
|
||||||
|
"Crustle": 4,
|
||||||
|
"Cryogonal": -1,
|
||||||
|
"Cubchoo": 4,
|
||||||
|
"Cubone": 4,
|
||||||
|
"Cutiefly": 4,
|
||||||
|
"Cyndaquil": 1,
|
||||||
|
"Darkrai": -1,
|
||||||
|
"Darmanitan": 4,
|
||||||
|
"Dartrix": 1,
|
||||||
|
"Darumaka": 4,
|
||||||
|
"Decidueye": 1,
|
||||||
|
"Dedenne": 4,
|
||||||
|
"Deerling": 4,
|
||||||
|
"Deino": 4,
|
||||||
|
"Delcatty": 6,
|
||||||
|
"Delibird": 4,
|
||||||
|
"Delphox": 1,
|
||||||
|
"Deoxys": -1,
|
||||||
|
"Dewgong": 4,
|
||||||
|
"Dewott": 1,
|
||||||
|
"Dewpider": 4,
|
||||||
|
"Dhelmise": -1,
|
||||||
|
"Dialga": -1,
|
||||||
|
"Diancie": -1,
|
||||||
|
"Diggersby": 4,
|
||||||
|
"Diglett": 4,
|
||||||
|
"Ditto": -1,
|
||||||
|
"Dodrio": 4,
|
||||||
|
"Doduo": 4,
|
||||||
|
"Donphan": 4,
|
||||||
|
"Doublade": 4,
|
||||||
|
"Dragalge": 4,
|
||||||
|
"Dragonair": 4,
|
||||||
|
"Dragonite": 4,
|
||||||
|
"Drampa": 4,
|
||||||
|
"Drapion": 4,
|
||||||
|
"Dratini": 4,
|
||||||
|
"Drifblim": 4,
|
||||||
|
"Drifloon": 4,
|
||||||
|
"Drilbur": 4,
|
||||||
|
"Drowzee": 4,
|
||||||
|
"Druddigon": 4,
|
||||||
|
"Ducklett": 4,
|
||||||
|
"Dugtrio": 4,
|
||||||
|
"Dunsparce": 4,
|
||||||
|
"Duosion": 4,
|
||||||
|
"Durant": 4,
|
||||||
|
"Dusclops": 4,
|
||||||
|
"Dusknoir": 4,
|
||||||
|
"Duskull": 4,
|
||||||
|
"Dustox": 4,
|
||||||
|
"Dwebble": 4,
|
||||||
|
"Eelektrik": 4,
|
||||||
|
"Eelektross": 4,
|
||||||
|
"Eevee": 1,
|
||||||
|
"Ekans": 4,
|
||||||
|
"Electabuzz": 2,
|
||||||
|
"Electivire": 2,
|
||||||
|
"Electrike": 4,
|
||||||
|
"Electrode": -1,
|
||||||
|
"Elekid": 2,
|
||||||
|
"Elgyem": 4,
|
||||||
|
"Emboar": 1,
|
||||||
|
"Emolga": 4,
|
||||||
|
"Empoleon": 1,
|
||||||
|
"Entei": -1,
|
||||||
|
"Escavalier": 4,
|
||||||
|
"Espeon": 1,
|
||||||
|
"Espurr": 4,
|
||||||
|
"Excadrill": 4,
|
||||||
|
"Exeggcute": 4,
|
||||||
|
"Exeggutor": 4,
|
||||||
|
"Exploud": 4,
|
||||||
|
"Farfetch\u2019d": 4,
|
||||||
|
"Fearow": 4,
|
||||||
|
"Feebas": 4,
|
||||||
|
"Fennekin": 1,
|
||||||
|
"Feraligatr": 1,
|
||||||
|
"Ferroseed": 4,
|
||||||
|
"Ferrothorn": 4,
|
||||||
|
"Finneon": 4,
|
||||||
|
"Flaaffy": 4,
|
||||||
|
"Flab\u00e9b\u00e9": 8,
|
||||||
|
"Flareon": 1,
|
||||||
|
"Fletchinder": 4,
|
||||||
|
"Fletchling": 4,
|
||||||
|
"Floatzel": 4,
|
||||||
|
"Floette": 8,
|
||||||
|
"Florges": 8,
|
||||||
|
"Flygon": 4,
|
||||||
|
"Fomantis": 4,
|
||||||
|
"Foongus": 4,
|
||||||
|
"Forretress": 4,
|
||||||
|
"Fraxure": 4,
|
||||||
|
"Frillish": 4,
|
||||||
|
"Froakie": 1,
|
||||||
|
"Frogadier": 1,
|
||||||
|
"Froslass": 8,
|
||||||
|
"Furfrou": 4,
|
||||||
|
"Furret": 4,
|
||||||
|
"Gabite": 4,
|
||||||
|
"Gallade": 0,
|
||||||
|
"Galvantula": 4,
|
||||||
|
"Garbodor": 4,
|
||||||
|
"Garchomp": 4,
|
||||||
|
"Gardevoir": 4,
|
||||||
|
"Gastly": 4,
|
||||||
|
"Gastrodon": 4,
|
||||||
|
"Genesect": -1,
|
||||||
|
"Gengar": 4,
|
||||||
|
"Geodude": 4,
|
||||||
|
"Gible": 4,
|
||||||
|
"Gigalith": 4,
|
||||||
|
"Girafarig": 4,
|
||||||
|
"Giratina": -1,
|
||||||
|
"Glaceon": 1,
|
||||||
|
"Glalie": 4,
|
||||||
|
"Glameow": 6,
|
||||||
|
"Gligar": 4,
|
||||||
|
"Gliscor": 4,
|
||||||
|
"Gloom": 4,
|
||||||
|
"Gogoat": 4,
|
||||||
|
"Golbat": 4,
|
||||||
|
"Goldeen": 4,
|
||||||
|
"Golduck": 4,
|
||||||
|
"Golem": 4,
|
||||||
|
"Golett": -1,
|
||||||
|
"Golisopod": 4,
|
||||||
|
"Golurk": -1,
|
||||||
|
"Goodra": 4,
|
||||||
|
"Goomy": 4,
|
||||||
|
"Gorebyss": 4,
|
||||||
|
"Gothita": 6,
|
||||||
|
"Gothitelle": 6,
|
||||||
|
"Gothorita": 6,
|
||||||
|
"Gourgeist": 4,
|
||||||
|
"Granbull": 6,
|
||||||
|
"Graveler": 4,
|
||||||
|
"Greninja": 1,
|
||||||
|
"Grimer": 4,
|
||||||
|
"Grotle": 1,
|
||||||
|
"Groudon": -1,
|
||||||
|
"Grovyle": 1,
|
||||||
|
"Growlithe": 2,
|
||||||
|
"Grubbin": 4,
|
||||||
|
"Grumpig": 4,
|
||||||
|
"Gulpin": 4,
|
||||||
|
"Gumshoos": 4,
|
||||||
|
"Gurdurr": 2,
|
||||||
|
"Guzzlord": -1,
|
||||||
|
"Gyarados": 4,
|
||||||
|
"Hakamo-o": 4,
|
||||||
|
"Happiny": 8,
|
||||||
|
"Hariyama": 2,
|
||||||
|
"Haunter": 4,
|
||||||
|
"Hawlucha": 4,
|
||||||
|
"Haxorus": 4,
|
||||||
|
"Heatmor": 4,
|
||||||
|
"Heatran": 4,
|
||||||
|
"Heliolisk": 4,
|
||||||
|
"Helioptile": 4,
|
||||||
|
"Heracross": 4,
|
||||||
|
"Herdier": 4,
|
||||||
|
"Hippopotas": 4,
|
||||||
|
"Hippowdon": 4,
|
||||||
|
"Hitmonchan": 0,
|
||||||
|
"Hitmonlee": 0,
|
||||||
|
"Hitmontop": 0,
|
||||||
|
"Ho-Oh": -1,
|
||||||
|
"Honchkrow": 4,
|
||||||
|
"Honedge": 4,
|
||||||
|
"Hoopa": -1,
|
||||||
|
"Hoothoot": 4,
|
||||||
|
"Hoppip": 4,
|
||||||
|
"Horsea": 4,
|
||||||
|
"Houndoom": 4,
|
||||||
|
"Houndour": 4,
|
||||||
|
"Huntail": 4,
|
||||||
|
"Hydreigon": 4,
|
||||||
|
"Hypno": 4,
|
||||||
|
"Igglybuff": 6,
|
||||||
|
"Illumise": 8,
|
||||||
|
"Incineroar": 1,
|
||||||
|
"Infernape": 1,
|
||||||
|
"Inkay": 4,
|
||||||
|
"Ivysaur": 1,
|
||||||
|
"Jangmo-o": 4,
|
||||||
|
"Jellicent": 4,
|
||||||
|
"Jigglypuff": 6,
|
||||||
|
"Jirachi": -1,
|
||||||
|
"Jolteon": 1,
|
||||||
|
"Joltik": 4,
|
||||||
|
"Jumpluff": 4,
|
||||||
|
"Jynx": 8,
|
||||||
|
"Kabuto": 1,
|
||||||
|
"Kabutops": 1,
|
||||||
|
"Kadabra": 2,
|
||||||
|
"Kakuna": 4,
|
||||||
|
"Kangaskhan": 8,
|
||||||
|
"Karrablast": 4,
|
||||||
|
"Kartana": -1,
|
||||||
|
"Kecleon": 4,
|
||||||
|
"Keldeo": -1,
|
||||||
|
"Kingdra": 4,
|
||||||
|
"Kingler": 4,
|
||||||
|
"Kirlia": 4,
|
||||||
|
"Klang": -1,
|
||||||
|
"Klefki": 4,
|
||||||
|
"Klink": -1,
|
||||||
|
"Klinklang": -1,
|
||||||
|
"Koffing": 4,
|
||||||
|
"Komala": 4,
|
||||||
|
"Kommo-o": 4,
|
||||||
|
"Krabby": 4,
|
||||||
|
"Kricketot": 4,
|
||||||
|
"Kricketune": 4,
|
||||||
|
"Krokorok": 4,
|
||||||
|
"Krookodile": 4,
|
||||||
|
"Kyogre": -1,
|
||||||
|
"Kyurem": -1,
|
||||||
|
"Lairon": 4,
|
||||||
|
"Lampent": 4,
|
||||||
|
"Landorus": 0,
|
||||||
|
"Lanturn": 4,
|
||||||
|
"Lapras": 4,
|
||||||
|
"Larvesta": 4,
|
||||||
|
"Larvitar": 4,
|
||||||
|
"Latias": 8,
|
||||||
|
"Latios": 0,
|
||||||
|
"Leafeon": 1,
|
||||||
|
"Leavanny": 4,
|
||||||
|
"Ledian": 4,
|
||||||
|
"Ledyba": 4,
|
||||||
|
"Lickilicky": 4,
|
||||||
|
"Lickitung": 4,
|
||||||
|
"Liepard": 4,
|
||||||
|
"Lileep": 1,
|
||||||
|
"Lilligant": 8,
|
||||||
|
"Lillipup": 4,
|
||||||
|
"Linoone": 4,
|
||||||
|
"Litleo": 7,
|
||||||
|
"Litten": 1,
|
||||||
|
"Litwick": 4,
|
||||||
|
"Lombre": 4,
|
||||||
|
"Lopunny": 4,
|
||||||
|
"Lotad": 4,
|
||||||
|
"Loudred": 4,
|
||||||
|
"Lucario": 1,
|
||||||
|
"Ludicolo": 4,
|
||||||
|
"Lugia": -1,
|
||||||
|
"Lumineon": 4,
|
||||||
|
"Lunala": -1,
|
||||||
|
"Lunatone": -1,
|
||||||
|
"Lurantis": 4,
|
||||||
|
"Luvdisc": 6,
|
||||||
|
"Luxio": 4,
|
||||||
|
"Luxray": 4,
|
||||||
|
"Lycanroc": 4,
|
||||||
|
"Machamp": 2,
|
||||||
|
"Machoke": 2,
|
||||||
|
"Machop": 2,
|
||||||
|
"Magby": 2,
|
||||||
|
"Magcargo": 4,
|
||||||
|
"Magearna": -1,
|
||||||
|
"Magikarp": 4,
|
||||||
|
"Magmar": 2,
|
||||||
|
"Magmortar": 2,
|
||||||
|
"Magnemite": -1,
|
||||||
|
"Magneton": -1,
|
||||||
|
"Magnezone": -1,
|
||||||
|
"Makuhita": 2,
|
||||||
|
"Malamar": 4,
|
||||||
|
"Mamoswine": 4,
|
||||||
|
"Manaphy": -1,
|
||||||
|
"Mandibuzz": 8,
|
||||||
|
"Manectric": 4,
|
||||||
|
"Mankey": 4,
|
||||||
|
"Mantine": 4,
|
||||||
|
"Mantyke": 4,
|
||||||
|
"Maractus": 4,
|
||||||
|
"Mareanie": 4,
|
||||||
|
"Mareep": 4,
|
||||||
|
"Marill": 4,
|
||||||
|
"Marowak": 4,
|
||||||
|
"Marshadow": -1,
|
||||||
|
"Marshtomp": 1,
|
||||||
|
"Masquerain": 4,
|
||||||
|
"Mawile": 4,
|
||||||
|
"Medicham": 4,
|
||||||
|
"Meditite": 4,
|
||||||
|
"Meganium": 1,
|
||||||
|
"Meloetta": -1,
|
||||||
|
"Meowstic": 4,
|
||||||
|
"Meowth": 4,
|
||||||
|
"Mesprit": -1,
|
||||||
|
"Metagross": -1,
|
||||||
|
"Metang": -1,
|
||||||
|
"Metapod": 4,
|
||||||
|
"Mew": -1,
|
||||||
|
"Mewtwo": -1,
|
||||||
|
"Mienfoo": 4,
|
||||||
|
"Mienshao": 4,
|
||||||
|
"Mightyena": 4,
|
||||||
|
"Milotic": 4,
|
||||||
|
"Miltank": 8,
|
||||||
|
"Mime Jr.": 4,
|
||||||
|
"Mimikyu": 4,
|
||||||
|
"Minccino": 6,
|
||||||
|
"Minior": -1,
|
||||||
|
"Minun": 4,
|
||||||
|
"Misdreavus": 4,
|
||||||
|
"Mismagius": 4,
|
||||||
|
"Moltres": -1,
|
||||||
|
"Monferno": 1,
|
||||||
|
"Morelull": 4,
|
||||||
|
"Mothim": 0,
|
||||||
|
"Mr. Mime": 4,
|
||||||
|
"Mudbray": 4,
|
||||||
|
"Mudkip": 1,
|
||||||
|
"Mudsdale": 4,
|
||||||
|
"Muk": 4,
|
||||||
|
"Munchlax": 1,
|
||||||
|
"Munna": 4,
|
||||||
|
"Murkrow": 4,
|
||||||
|
"Musharna": 4,
|
||||||
|
"Naganadel": -1,
|
||||||
|
"Natu": 4,
|
||||||
|
"Necrozma": -1,
|
||||||
|
"Nidoking": 0,
|
||||||
|
"Nidoqueen": 8,
|
||||||
|
"Nidoran\u2640": 8,
|
||||||
|
"Nidoran\u2642": 0,
|
||||||
|
"Nidorina": 8,
|
||||||
|
"Nidorino": 0,
|
||||||
|
"Nihilego": -1,
|
||||||
|
"Nincada": 4,
|
||||||
|
"Ninetales": 6,
|
||||||
|
"Ninjask": 4,
|
||||||
|
"Noctowl": 4,
|
||||||
|
"Noibat": 4,
|
||||||
|
"Noivern": 4,
|
||||||
|
"Nosepass": 4,
|
||||||
|
"Numel": 4,
|
||||||
|
"Nuzleaf": 4,
|
||||||
|
"Octillery": 4,
|
||||||
|
"Oddish": 4,
|
||||||
|
"Omanyte": 1,
|
||||||
|
"Omastar": 1,
|
||||||
|
"Onix": 4,
|
||||||
|
"Oranguru": 4,
|
||||||
|
"Oricorio": 6,
|
||||||
|
"Oshawott": 1,
|
||||||
|
"Pachirisu": 4,
|
||||||
|
"Palkia": -1,
|
||||||
|
"Palossand": 4,
|
||||||
|
"Palpitoad": 4,
|
||||||
|
"Pancham": 4,
|
||||||
|
"Pangoro": 4,
|
||||||
|
"Panpour": 1,
|
||||||
|
"Pansage": 1,
|
||||||
|
"Pansear": 1,
|
||||||
|
"Paras": 4,
|
||||||
|
"Parasect": 4,
|
||||||
|
"Passimian": 4,
|
||||||
|
"Patrat": 4,
|
||||||
|
"Pawniard": 4,
|
||||||
|
"Pelipper": 4,
|
||||||
|
"Persian": 4,
|
||||||
|
"Petilil": 8,
|
||||||
|
"Phanpy": 4,
|
||||||
|
"Phantump": 4,
|
||||||
|
"Pheromosa": -1,
|
||||||
|
"Phione": -1,
|
||||||
|
"Pichu": 4,
|
||||||
|
"Pidgeot": 4,
|
||||||
|
"Pidgeotto": 4,
|
||||||
|
"Pidgey": 4,
|
||||||
|
"Pidove": 4,
|
||||||
|
"Pignite": 1,
|
||||||
|
"Pikachu": 4,
|
||||||
|
"Pikipek": 4,
|
||||||
|
"Piloswine": 4,
|
||||||
|
"Pineco": 4,
|
||||||
|
"Pinsir": 4,
|
||||||
|
"Piplup": 1,
|
||||||
|
"Plusle": 4,
|
||||||
|
"Poipole": -1,
|
||||||
|
"Politoed": 4,
|
||||||
|
"Poliwag": 4,
|
||||||
|
"Poliwhirl": 4,
|
||||||
|
"Poliwrath": 4,
|
||||||
|
"Ponyta": 4,
|
||||||
|
"Poochyena": 4,
|
||||||
|
"Popplio": 1,
|
||||||
|
"Porygon": -1,
|
||||||
|
"Porygon-Z": -1,
|
||||||
|
"Porygon2": -1,
|
||||||
|
"Primarina": 1,
|
||||||
|
"Primeape": 4,
|
||||||
|
"Prinplup": 1,
|
||||||
|
"Probopass": 4,
|
||||||
|
"Psyduck": 4,
|
||||||
|
"Pumpkaboo": 4,
|
||||||
|
"Pupitar": 4,
|
||||||
|
"Purrloin": 4,
|
||||||
|
"Purugly": 6,
|
||||||
|
"Pyroar": 7,
|
||||||
|
"Pyukumuku": 4,
|
||||||
|
"Quagsire": 4,
|
||||||
|
"Quilava": 1,
|
||||||
|
"Quilladin": 1,
|
||||||
|
"Qwilfish": 4,
|
||||||
|
"Raichu": 4,
|
||||||
|
"Raikou": -1,
|
||||||
|
"Ralts": 4,
|
||||||
|
"Rampardos": 1,
|
||||||
|
"Rapidash": 4,
|
||||||
|
"Raticate": 4,
|
||||||
|
"Rattata": 4,
|
||||||
|
"Rayquaza": -1,
|
||||||
|
"Regice": -1,
|
||||||
|
"Regigigas": -1,
|
||||||
|
"Regirock": -1,
|
||||||
|
"Registeel": -1,
|
||||||
|
"Relicanth": 1,
|
||||||
|
"Remoraid": 4,
|
||||||
|
"Reshiram": -1,
|
||||||
|
"Reuniclus": 4,
|
||||||
|
"Rhydon": 4,
|
||||||
|
"Rhyhorn": 4,
|
||||||
|
"Rhyperior": 4,
|
||||||
|
"Ribombee": 4,
|
||||||
|
"Riolu": 1,
|
||||||
|
"Rockruff": 4,
|
||||||
|
"Roggenrola": 4,
|
||||||
|
"Roselia": 4,
|
||||||
|
"Roserade": 4,
|
||||||
|
"Rotom": -1,
|
||||||
|
"Rowlet": 1,
|
||||||
|
"Rufflet": 0,
|
||||||
|
"Sableye": 4,
|
||||||
|
"Salamence": 4,
|
||||||
|
"Salandit": 1,
|
||||||
|
"Salazzle": 8,
|
||||||
|
"Samurott": 1,
|
||||||
|
"Sandile": 4,
|
||||||
|
"Sandshrew": 4,
|
||||||
|
"Sandslash": 4,
|
||||||
|
"Sandygast": 4,
|
||||||
|
"Sawk": 0,
|
||||||
|
"Sawsbuck": 4,
|
||||||
|
"Scatterbug": 4,
|
||||||
|
"Sceptile": 1,
|
||||||
|
"Scizor": 4,
|
||||||
|
"Scolipede": 4,
|
||||||
|
"Scrafty": 4,
|
||||||
|
"Scraggy": 4,
|
||||||
|
"Scyther": 4,
|
||||||
|
"Seadra": 4,
|
||||||
|
"Seaking": 4,
|
||||||
|
"Sealeo": 4,
|
||||||
|
"Seedot": 4,
|
||||||
|
"Seel": 4,
|
||||||
|
"Seismitoad": 4,
|
||||||
|
"Sentret": 4,
|
||||||
|
"Serperior": 1,
|
||||||
|
"Servine": 1,
|
||||||
|
"Seviper": 4,
|
||||||
|
"Sewaddle": 4,
|
||||||
|
"Sharpedo": 4,
|
||||||
|
"Shaymin": -1,
|
||||||
|
"Shedinja": -1,
|
||||||
|
"Shelgon": 4,
|
||||||
|
"Shellder": 4,
|
||||||
|
"Shellos": 4,
|
||||||
|
"Shelmet": 4,
|
||||||
|
"Shieldon": 1,
|
||||||
|
"Shiftry": 4,
|
||||||
|
"Shiinotic": 4,
|
||||||
|
"Shinx": 4,
|
||||||
|
"Shroomish": 4,
|
||||||
|
"Shuckle": 4,
|
||||||
|
"Shuppet": 4,
|
||||||
|
"Sigilyph": 4,
|
||||||
|
"Silcoon": 4,
|
||||||
|
"Silvally": -1,
|
||||||
|
"Simipour": 1,
|
||||||
|
"Simisage": 1,
|
||||||
|
"Simisear": 1,
|
||||||
|
"Skarmory": 4,
|
||||||
|
"Skiddo": 4,
|
||||||
|
"Skiploom": 4,
|
||||||
|
"Skitty": 6,
|
||||||
|
"Skorupi": 4,
|
||||||
|
"Skrelp": 4,
|
||||||
|
"Skuntank": 4,
|
||||||
|
"Slaking": 4,
|
||||||
|
"Slakoth": 4,
|
||||||
|
"Sliggoo": 4,
|
||||||
|
"Slowbro": 4,
|
||||||
|
"Slowking": 4,
|
||||||
|
"Slowpoke": 4,
|
||||||
|
"Slugma": 4,
|
||||||
|
"Slurpuff": 4,
|
||||||
|
"Smeargle": 4,
|
||||||
|
"Smoochum": 8,
|
||||||
|
"Sneasel": 4,
|
||||||
|
"Snivy": 1,
|
||||||
|
"Snorlax": 1,
|
||||||
|
"Snorunt": 4,
|
||||||
|
"Snover": 4,
|
||||||
|
"Snubbull": 6,
|
||||||
|
"Solgaleo": -1,
|
||||||
|
"Solosis": 4,
|
||||||
|
"Solrock": -1,
|
||||||
|
"Spearow": 4,
|
||||||
|
"Spewpa": 4,
|
||||||
|
"Spheal": 4,
|
||||||
|
"Spinarak": 4,
|
||||||
|
"Spinda": 4,
|
||||||
|
"Spiritomb": 4,
|
||||||
|
"Spoink": 4,
|
||||||
|
"Spritzee": 4,
|
||||||
|
"Squirtle": 1,
|
||||||
|
"Stakataka": -1,
|
||||||
|
"Stantler": 4,
|
||||||
|
"Staraptor": 4,
|
||||||
|
"Staravia": 4,
|
||||||
|
"Starly": 4,
|
||||||
|
"Starmie": -1,
|
||||||
|
"Staryu": -1,
|
||||||
|
"Steelix": 4,
|
||||||
|
"Steenee": 8,
|
||||||
|
"Stoutland": 4,
|
||||||
|
"Stufful": 4,
|
||||||
|
"Stunfisk": 4,
|
||||||
|
"Stunky": 4,
|
||||||
|
"Sudowoodo": 4,
|
||||||
|
"Suicune": -1,
|
||||||
|
"Sunflora": 4,
|
||||||
|
"Sunkern": 4,
|
||||||
|
"Surskit": 4,
|
||||||
|
"Swablu": 4,
|
||||||
|
"Swadloon": 4,
|
||||||
|
"Swalot": 4,
|
||||||
|
"Swampert": 1,
|
||||||
|
"Swanna": 4,
|
||||||
|
"Swellow": 4,
|
||||||
|
"Swinub": 4,
|
||||||
|
"Swirlix": 4,
|
||||||
|
"Swoobat": 4,
|
||||||
|
"Sylveon": 1,
|
||||||
|
"Taillow": 4,
|
||||||
|
"Talonflame": 4,
|
||||||
|
"Tangela": 4,
|
||||||
|
"Tangrowth": 4,
|
||||||
|
"Tapu Bulu": -1,
|
||||||
|
"Tapu Fini": -1,
|
||||||
|
"Tapu Koko": -1,
|
||||||
|
"Tapu Lele": -1,
|
||||||
|
"Tauros": 0,
|
||||||
|
"Teddiursa": 4,
|
||||||
|
"Tentacool": 4,
|
||||||
|
"Tentacruel": 4,
|
||||||
|
"Tepig": 1,
|
||||||
|
"Terrakion": -1,
|
||||||
|
"Throh": 0,
|
||||||
|
"Thundurus": 0,
|
||||||
|
"Timburr": 2,
|
||||||
|
"Tirtouga": 1,
|
||||||
|
"Togedemaru": 4,
|
||||||
|
"Togekiss": 1,
|
||||||
|
"Togepi": 1,
|
||||||
|
"Togetic": 1,
|
||||||
|
"Torchic": 1,
|
||||||
|
"Torkoal": 4,
|
||||||
|
"Tornadus": 0,
|
||||||
|
"Torracat": 1,
|
||||||
|
"Torterra": 1,
|
||||||
|
"Totodile": 1,
|
||||||
|
"Toucannon": 4,
|
||||||
|
"Toxapex": 4,
|
||||||
|
"Toxicroak": 4,
|
||||||
|
"Tranquill": 4,
|
||||||
|
"Trapinch": 4,
|
||||||
|
"Treecko": 1,
|
||||||
|
"Trevenant": 4,
|
||||||
|
"Tropius": 4,
|
||||||
|
"Trubbish": 4,
|
||||||
|
"Trumbeak": 4,
|
||||||
|
"Tsareena": 8,
|
||||||
|
"Turtonator": 4,
|
||||||
|
"Turtwig": 1,
|
||||||
|
"Tympole": 4,
|
||||||
|
"Tynamo": 4,
|
||||||
|
"Type: Null": -1,
|
||||||
|
"Typhlosion": 1,
|
||||||
|
"Tyranitar": 4,
|
||||||
|
"Tyrantrum": 1,
|
||||||
|
"Tyrogue": 0,
|
||||||
|
"Tyrunt": 1,
|
||||||
|
"Umbreon": 1,
|
||||||
|
"Unfezant": 4,
|
||||||
|
"Unown": -1,
|
||||||
|
"Ursaring": 4,
|
||||||
|
"Uxie": -1,
|
||||||
|
"Vanillish": 4,
|
||||||
|
"Vanillite": 4,
|
||||||
|
"Vanilluxe": 4,
|
||||||
|
"Vaporeon": 1,
|
||||||
|
"Venipede": 4,
|
||||||
|
"Venomoth": 4,
|
||||||
|
"Venonat": 4,
|
||||||
|
"Venusaur": 1,
|
||||||
|
"Vespiquen": 8,
|
||||||
|
"Vibrava": 4,
|
||||||
|
"Victini": -1,
|
||||||
|
"Victreebel": 4,
|
||||||
|
"Vigoroth": 4,
|
||||||
|
"Vikavolt": 4,
|
||||||
|
"Vileplume": 4,
|
||||||
|
"Virizion": -1,
|
||||||
|
"Vivillon": 4,
|
||||||
|
"Volbeat": 0,
|
||||||
|
"Volcanion": -1,
|
||||||
|
"Volcarona": 4,
|
||||||
|
"Voltorb": -1,
|
||||||
|
"Vullaby": 8,
|
||||||
|
"Vulpix": 6,
|
||||||
|
"Wailmer": 4,
|
||||||
|
"Wailord": 4,
|
||||||
|
"Walrein": 4,
|
||||||
|
"Wartortle": 1,
|
||||||
|
"Watchog": 4,
|
||||||
|
"Weavile": 4,
|
||||||
|
"Weedle": 4,
|
||||||
|
"Weepinbell": 4,
|
||||||
|
"Weezing": 4,
|
||||||
|
"Whimsicott": 4,
|
||||||
|
"Whirlipede": 4,
|
||||||
|
"Whiscash": 4,
|
||||||
|
"Whismur": 4,
|
||||||
|
"Wigglytuff": 6,
|
||||||
|
"Wimpod": 4,
|
||||||
|
"Wingull": 4,
|
||||||
|
"Wishiwashi": 4,
|
||||||
|
"Wobbuffet": 4,
|
||||||
|
"Woobat": 4,
|
||||||
|
"Wooper": 4,
|
||||||
|
"Wormadam": 8,
|
||||||
|
"Wurmple": 4,
|
||||||
|
"Wynaut": 4,
|
||||||
|
"Xatu": 4,
|
||||||
|
"Xerneas": -1,
|
||||||
|
"Xurkitree": -1,
|
||||||
|
"Yamask": 4,
|
||||||
|
"Yanma": 4,
|
||||||
|
"Yanmega": 4,
|
||||||
|
"Yungoos": 4,
|
||||||
|
"Yveltal": -1,
|
||||||
|
"Zangoose": 4,
|
||||||
|
"Zapdos": -1,
|
||||||
|
"Zebstrika": 4,
|
||||||
|
"Zekrom": -1,
|
||||||
|
"Zeraora": -1,
|
||||||
|
"Zigzagoon": 4,
|
||||||
|
"Zoroark": 1,
|
||||||
|
"Zorua": 1,
|
||||||
|
"Zubat": 4,
|
||||||
|
"Zweilous": 4,
|
||||||
|
"Zygarde": -1
|
||||||
|
}
|
361
pokecord/data/hisuian.json
Normal file
|
@ -0,0 +1,361 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 503,
|
||||||
|
"name": {
|
||||||
|
"english": "Samurott",
|
||||||
|
"japanese": "ダイケンキ",
|
||||||
|
"chinese": "大剑鬼",
|
||||||
|
"french": "Clamiral"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"water",
|
||||||
|
"Dark"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 108,
|
||||||
|
"Defence": 80,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 85
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Samurott"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 724,
|
||||||
|
"name": {
|
||||||
|
"english": "Decidueye",
|
||||||
|
"japanese": "\u30b8\u30e5\u30ca\u30a4\u30d1\u30fc",
|
||||||
|
"chinese": "\u72d9\u5c04\u6a39\u689f",
|
||||||
|
"french": "Arch\u00e9duc"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Grass",
|
||||||
|
"Fighting"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 88,
|
||||||
|
"Attack": 112,
|
||||||
|
"Defence": 80,
|
||||||
|
"Sp. Atk": 95,
|
||||||
|
"Sp. Def": 95,
|
||||||
|
"Speed": 60
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Decidueye"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 157,
|
||||||
|
"name": {
|
||||||
|
"english": "Typhlosion",
|
||||||
|
"japanese": "\u30d0\u30af\u30d5\u30fc\u30f3",
|
||||||
|
"chinese": "\u706b\u7206\u7378",
|
||||||
|
"french": "Typhlosion"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire",
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 73,
|
||||||
|
"Attack": 84,
|
||||||
|
"Defence": 78,
|
||||||
|
"Sp. Atk": 119,
|
||||||
|
"Sp. Def": 85,
|
||||||
|
"Speed": 95
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Typhlosion"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 570,
|
||||||
|
"name": {
|
||||||
|
"english": "Zorua",
|
||||||
|
"japanese": "\u30be\u30ed\u30a2",
|
||||||
|
"chinese": "\u7d22\u7f85\u4e9e",
|
||||||
|
"french": "Zorua"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ghost",
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 35,
|
||||||
|
"Attack": 60,
|
||||||
|
"Defence": 40,
|
||||||
|
"Sp. Atk": 85,
|
||||||
|
"Sp. Def": 40,
|
||||||
|
"Speed": 70
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Zorua"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 571,
|
||||||
|
"name": {
|
||||||
|
"english": "Zoroark",
|
||||||
|
"japanese": "\u30be\u30ed\u30a2\u30fc\u30af",
|
||||||
|
"chinese": "\u7d22\u7f85\u4e9e\u514b",
|
||||||
|
"french": "Zoroark"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ghost",
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 55,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 60,
|
||||||
|
"Sp. Atk": 125,
|
||||||
|
"Sp. Def": 60,
|
||||||
|
"Speed": 110
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Zoroark"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 549,
|
||||||
|
"name": {
|
||||||
|
"english": "Lilligant",
|
||||||
|
"japanese": "\u30c9\u30ec\u30c7\u30a3\u30a2",
|
||||||
|
"chinese": "\u88d9\u5152\u5c0f\u59d0",
|
||||||
|
"french": "Fragilady"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Grass",
|
||||||
|
"Fighting"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 70,
|
||||||
|
"Attack": 105,
|
||||||
|
"Defence": 75,
|
||||||
|
"Sp. Atk": 50,
|
||||||
|
"Sp. Def": 75,
|
||||||
|
"Speed": 105
|
||||||
|
},
|
||||||
|
"spawnchance": 0.34,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Lilligant"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 100,
|
||||||
|
"name": {
|
||||||
|
"english": "Voltorb",
|
||||||
|
"japanese": "\u30d3\u30ea\u30ea\u30c0\u30de",
|
||||||
|
"chinese": "\u9739\u9742\u96fb\u7403",
|
||||||
|
"french": "Voltorbe"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Electric",
|
||||||
|
"Grass"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 40,
|
||||||
|
"Attack": 30,
|
||||||
|
"Defence": 50,
|
||||||
|
"Sp. Atk": 55,
|
||||||
|
"Sp. Def": 55,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.5875,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Voltorb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 101,
|
||||||
|
"name": {
|
||||||
|
"english": "Electrode",
|
||||||
|
"japanese": "\u30de\u30eb\u30de\u30a4\u30f3",
|
||||||
|
"chinese": "\u9811\u76ae\u96f7\u5f48",
|
||||||
|
"french": "\u00c9lectrode"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Electric"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 60,
|
||||||
|
"Attack": 50,
|
||||||
|
"Defence": 70,
|
||||||
|
"Sp. Atk": 80,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 150
|
||||||
|
},
|
||||||
|
"spawnchance": 0.5875,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Electrode"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 713,
|
||||||
|
"name": {
|
||||||
|
"english": "Avalugg",
|
||||||
|
"japanese": "\u30af\u30ec\u30d9\u30fc\u30b9",
|
||||||
|
"chinese": "\u51b0\u5ca9\u602a",
|
||||||
|
"french": "S\u00e9racrawl"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Ice",
|
||||||
|
"Rock"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 95,
|
||||||
|
"Attack": 127,
|
||||||
|
"Defence": 184,
|
||||||
|
"Sp. Atk": 34,
|
||||||
|
"Sp. Def": 36,
|
||||||
|
"Speed": 38
|
||||||
|
},
|
||||||
|
"spawnchance": 0.3575,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Avalugg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 628,
|
||||||
|
"name": {
|
||||||
|
"english": "Braviary",
|
||||||
|
"japanese": "\u30a6\u30a9\u30fc\u30b0\u30eb",
|
||||||
|
"chinese": "\u52c7\u58eb\u96c4\u9df9",
|
||||||
|
"french": "Gueriaigle"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Flying"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 110,
|
||||||
|
"Attack": 83,
|
||||||
|
"Defence": 70,
|
||||||
|
"Sp. Atk": 112,
|
||||||
|
"Sp. Def": 70,
|
||||||
|
"Speed": 65
|
||||||
|
},
|
||||||
|
"spawnchance": 0.3625,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Braviary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 705,
|
||||||
|
"name": {
|
||||||
|
"english": "Sliggoo",
|
||||||
|
"japanese": "\u30cc\u30e1\u30a4\u30eb",
|
||||||
|
"chinese": "\u9ecf\u7f8e\u5152",
|
||||||
|
"french": "Colimucus"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dragon",
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 58,
|
||||||
|
"Attack": 75,
|
||||||
|
"Defence": 83,
|
||||||
|
"Sp. Atk": 83,
|
||||||
|
"Sp. Def": 113,
|
||||||
|
"Speed": 40
|
||||||
|
},
|
||||||
|
"spawnchance": 0.435,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Sliggoo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 706,
|
||||||
|
"name": {
|
||||||
|
"english": "Goodra",
|
||||||
|
"japanese": "\u30cc\u30e1\u30eb\u30b4\u30f3",
|
||||||
|
"chinese": "\u9ecf\u7f8e\u9f8d",
|
||||||
|
"french": "Muplodocus"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dragon",
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 110,
|
||||||
|
"Sp. Def": 150,
|
||||||
|
"Speed": 60
|
||||||
|
},
|
||||||
|
"spawnchance": 0.25,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Goodra"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 215,
|
||||||
|
"name": {
|
||||||
|
"english": "Sneasel",
|
||||||
|
"japanese": "\u30cb\u30e5\u30fc\u30e9",
|
||||||
|
"chinese": "\u72c3\u62c9",
|
||||||
|
"french": "Farfuret"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fighting",
|
||||||
|
"Poison"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 55,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 55,
|
||||||
|
"Sp. Atk": 35,
|
||||||
|
"Sp. Def": 75,
|
||||||
|
"Speed": 115
|
||||||
|
},
|
||||||
|
"spawnchance": 0.4625,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Sneasel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 211,
|
||||||
|
"name": {
|
||||||
|
"english": "Qwilfish",
|
||||||
|
"japanese": "\u30cf\u30ea\u30fc\u30bb\u30f3",
|
||||||
|
"chinese": "\u5343\u91dd\u9b5a",
|
||||||
|
"french": "Qwilfish"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dark",
|
||||||
|
"Poison"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 65,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 85,
|
||||||
|
"Sp. Atk": 55,
|
||||||
|
"Sp. Def": 55,
|
||||||
|
"Speed": 85
|
||||||
|
},
|
||||||
|
"spawnchance": 0.45,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Qwilfish"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 58,
|
||||||
|
"name": {
|
||||||
|
"english": "Growlithe",
|
||||||
|
"japanese": "\u30ac\u30fc\u30c7\u30a3",
|
||||||
|
"chinese": "\u5361\u8482\u72d7",
|
||||||
|
"french": "Caninos"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fire",
|
||||||
|
"Rock"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 60,
|
||||||
|
"Attack": 75,
|
||||||
|
"Defence": 45,
|
||||||
|
"Sp. Atk": 65,
|
||||||
|
"Sp. Def": 50,
|
||||||
|
"Speed": 55
|
||||||
|
},
|
||||||
|
"spawnchance": 0.5625,
|
||||||
|
"variant": "hisuian",
|
||||||
|
"alias": "Hisuian Growlithe"
|
||||||
|
}
|
||||||
|
]
|
1515
pokecord/data/legendary.json
Normal file
1116
pokecord/data/megas.json
Normal file
452
pokecord/data/mythical.json
Normal file
|
@ -0,0 +1,452 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 151,
|
||||||
|
"name": {
|
||||||
|
"english": "Mew",
|
||||||
|
"japanese": "\u30df\u30e5\u30a6",
|
||||||
|
"chinese": "\u5922\u5e7b",
|
||||||
|
"french": "Mew"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 251,
|
||||||
|
"name": {
|
||||||
|
"english": "Celebi",
|
||||||
|
"japanese": "\u30bb\u30ec\u30d3\u30a3",
|
||||||
|
"chinese": "\u6642\u62c9\u6bd4",
|
||||||
|
"french": "Celebi"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Grass"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 385,
|
||||||
|
"name": {
|
||||||
|
"english": "Jirachi",
|
||||||
|
"japanese": "\u30b8\u30e9\u30fc\u30c1",
|
||||||
|
"chinese": "\u57fa\u62c9\u7948",
|
||||||
|
"french": "Jirachi"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Steel",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 386,
|
||||||
|
"name": {
|
||||||
|
"english": "Deoxys",
|
||||||
|
"japanese": "\u30c7\u30aa\u30ad\u30b7\u30b9",
|
||||||
|
"chinese": "\u4ee3\u6b50\u5947\u5e0c\u65af",
|
||||||
|
"french": "Deoxys"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 50,
|
||||||
|
"Attack": 150,
|
||||||
|
"Defence": 50,
|
||||||
|
"Sp. Atk": 150,
|
||||||
|
"Sp. Def": 50,
|
||||||
|
"Speed": 150
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 489,
|
||||||
|
"name": {
|
||||||
|
"english": "Phione",
|
||||||
|
"japanese": "\u30d5\u30a3\u30aa\u30cd",
|
||||||
|
"chinese": "\u970f\u6b50\u7d0d",
|
||||||
|
"french": "Phione"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 80,
|
||||||
|
"Defence": 80,
|
||||||
|
"Sp. Atk": 80,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 80
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 490,
|
||||||
|
"name": {
|
||||||
|
"english": "Manaphy",
|
||||||
|
"japanese": "\u30de\u30ca\u30d5\u30a3",
|
||||||
|
"chinese": "\u746a\u7d0d\u970f",
|
||||||
|
"french": "Manaphy"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 491,
|
||||||
|
"name": {
|
||||||
|
"english": "Darkrai",
|
||||||
|
"japanese": "\u30c0\u30fc\u30af\u30e9\u30a4",
|
||||||
|
"chinese": "\u9054\u514b\u840a\u4f0a",
|
||||||
|
"french": "Darkrai"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Dark"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 70,
|
||||||
|
"Attack": 90,
|
||||||
|
"Defence": 90,
|
||||||
|
"Sp. Atk": 135,
|
||||||
|
"Sp. Def": 90,
|
||||||
|
"Speed": 125
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 492,
|
||||||
|
"name": {
|
||||||
|
"english": "Shaymin",
|
||||||
|
"japanese": "\u30b7\u30a7\u30a4\u30df",
|
||||||
|
"chinese": "\u8b1d\u7c73",
|
||||||
|
"french": "Shaymin"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Grass"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 493,
|
||||||
|
"name": {
|
||||||
|
"english": "Arceus",
|
||||||
|
"japanese": "\u30a2\u30eb\u30bb\u30a6\u30b9",
|
||||||
|
"chinese": "\u963f\u723e\u5b99\u65af",
|
||||||
|
"french": "Arceus"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 120,
|
||||||
|
"Attack": 120,
|
||||||
|
"Defence": 120,
|
||||||
|
"Sp. Atk": 120,
|
||||||
|
"Sp. Def": 120,
|
||||||
|
"Speed": 120
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 494,
|
||||||
|
"name": {
|
||||||
|
"english": "Victini",
|
||||||
|
"japanese": "\u30d3\u30af\u30c6\u30a3\u30cb",
|
||||||
|
"chinese": "\u6bd4\u514b\u63d0\u5c3c",
|
||||||
|
"french": "Victini"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Fire"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 100,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 100,
|
||||||
|
"Speed": 100
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 647,
|
||||||
|
"name": {
|
||||||
|
"english": "Keldeo",
|
||||||
|
"japanese": "\u30b1\u30eb\u30c7\u30a3\u30aa",
|
||||||
|
"chinese": "\u51f1\u8def\u8fea\u6b50",
|
||||||
|
"french": "Keldeo"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Water",
|
||||||
|
"Fighting"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 91,
|
||||||
|
"Attack": 72,
|
||||||
|
"Defence": 90,
|
||||||
|
"Sp. Atk": 129,
|
||||||
|
"Sp. Def": 90,
|
||||||
|
"Speed": 108
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 648,
|
||||||
|
"name": {
|
||||||
|
"english": "Meloetta",
|
||||||
|
"japanese": "\u30e1\u30ed\u30a8\u30c3\u30bf",
|
||||||
|
"chinese": "\u7f8e\u6d1b\u8036\u5854",
|
||||||
|
"french": "Meloetta"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Normal",
|
||||||
|
"Psychic"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 100,
|
||||||
|
"Attack": 77,
|
||||||
|
"Defence": 77,
|
||||||
|
"Sp. Atk": 128,
|
||||||
|
"Sp. Def": 128,
|
||||||
|
"Speed": 90
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 649,
|
||||||
|
"name": {
|
||||||
|
"english": "Genesect",
|
||||||
|
"japanese": "\u30b2\u30ce\u30bb\u30af\u30c8",
|
||||||
|
"chinese": "\u84cb\u8afe\u8cfd\u514b\u7279",
|
||||||
|
"french": "Genesect"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Bug",
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 71,
|
||||||
|
"Attack": 120,
|
||||||
|
"Defence": 95,
|
||||||
|
"Sp. Atk": 120,
|
||||||
|
"Sp. Def": 95,
|
||||||
|
"Speed": 99
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 719,
|
||||||
|
"name": {
|
||||||
|
"english": "Diancie",
|
||||||
|
"japanese": "\u30c7\u30a3\u30a2\u30f3\u30b7\u30fc",
|
||||||
|
"chinese": "\u8482\u5b89\u5e0c",
|
||||||
|
"french": "Diancie"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Rock",
|
||||||
|
"Fairy"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 50,
|
||||||
|
"Attack": 100,
|
||||||
|
"Defence": 150,
|
||||||
|
"Sp. Atk": 100,
|
||||||
|
"Sp. Def": 150,
|
||||||
|
"Speed": 50
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 720,
|
||||||
|
"name": {
|
||||||
|
"english": "Hoopa",
|
||||||
|
"japanese": "\u30d5\u30fc\u30d1",
|
||||||
|
"chinese": "\u80e1\u5e15",
|
||||||
|
"french": "Hoopa"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Psychic",
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 110,
|
||||||
|
"Defence": 60,
|
||||||
|
"Sp. Atk": 150,
|
||||||
|
"Sp. Def": 130,
|
||||||
|
"Speed": 70
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 801,
|
||||||
|
"name": {
|
||||||
|
"english": "Magearna",
|
||||||
|
"japanese": "\u30de\u30ae\u30a2\u30ca",
|
||||||
|
"chinese": "\u746a\u6a5f\u96c5\u5a1c",
|
||||||
|
"french": "Magearna"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Steel",
|
||||||
|
"Fairy"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 80,
|
||||||
|
"Attack": 95,
|
||||||
|
"Defence": 115,
|
||||||
|
"Sp. Atk": 130,
|
||||||
|
"Sp. Def": 115,
|
||||||
|
"Speed": 65
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 802,
|
||||||
|
"name": {
|
||||||
|
"english": "Marshadow",
|
||||||
|
"japanese": "\u30de\u30fc\u30b7\u30e3\u30c9\u30fc",
|
||||||
|
"chinese": "\u746a\u590f\u591a",
|
||||||
|
"french": "Marshadow"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Fighting",
|
||||||
|
"Ghost"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 90,
|
||||||
|
"Attack": 125,
|
||||||
|
"Defence": 80,
|
||||||
|
"Sp. Atk": 90,
|
||||||
|
"Sp. Def": 90,
|
||||||
|
"Speed": 125
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 807,
|
||||||
|
"name": {
|
||||||
|
"english": "Zeraora",
|
||||||
|
"japanese": "\u30bc\u30e9\u30aa\u30e9",
|
||||||
|
"chinese": "\u6377\u62c9\u5967\u62c9",
|
||||||
|
"french": "Zeraora"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Electric"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 88,
|
||||||
|
"Attack": 112,
|
||||||
|
"Defence": 75,
|
||||||
|
"Sp. Atk": 102,
|
||||||
|
"Sp. Def": 80,
|
||||||
|
"Speed": 143
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 808,
|
||||||
|
"name": {
|
||||||
|
"english": "Meltan",
|
||||||
|
"japanese": "\u30e1\u30eb\u30bf\u30f3",
|
||||||
|
"chinese": "\u7f8e\u9304\u5766",
|
||||||
|
"french": "Meltan"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 46,
|
||||||
|
"Attack": 65,
|
||||||
|
"Defence": 65,
|
||||||
|
"Sp. Atk": 55,
|
||||||
|
"Sp. Def": 35,
|
||||||
|
"Speed": 34
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 809,
|
||||||
|
"name": {
|
||||||
|
"english": "Melmetal",
|
||||||
|
"japanese": "\u30e1\u30eb\u30e1\u30bf\u30eb",
|
||||||
|
"chinese": "\u7f8e\u9304\u6885\u5854",
|
||||||
|
"french": "Melmetal"
|
||||||
|
},
|
||||||
|
"type": [
|
||||||
|
"Steel"
|
||||||
|
],
|
||||||
|
"stats": {
|
||||||
|
"HP": 135,
|
||||||
|
"Attack": 143,
|
||||||
|
"Defence": 143,
|
||||||
|
"Sp. Atk": 80,
|
||||||
|
"Sp. Def": 65,
|
||||||
|
"Speed": 34
|
||||||
|
},
|
||||||
|
"spawnchance": 0.001,
|
||||||
|
"variant": "Mythical"
|
||||||
|
}
|
||||||
|
]
|
2238
pokecord/data/paldea.json
Normal file
17714
pokecord/data/pokedex.json
Normal file
BIN
pokecord/data/pokemon/Abomasnow.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
pokecord/data/pokemon/Abra.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
pokecord/data/pokemon/Absol.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
pokecord/data/pokemon/Accelgor.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
pokecord/data/pokemon/Aegislash.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
pokecord/data/pokemon/Aerodactyl.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
pokecord/data/pokemon/Aggron.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
pokecord/data/pokemon/Aipom.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
pokecord/data/pokemon/Alakazam.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
pokecord/data/pokemon/Alcremie.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
pokecord/data/pokemon/Alolan Diglett.png
Normal file
After Width: | Height: | Size: 171 KiB |
BIN
pokecord/data/pokemon/Alolan Dugtrio.png
Normal file
After Width: | Height: | Size: 223 KiB |
BIN
pokecord/data/pokemon/Alolan Exeggutor.png
Normal file
After Width: | Height: | Size: 101 KiB |
BIN
pokecord/data/pokemon/Alolan Geodude.png
Normal file
After Width: | Height: | Size: 197 KiB |
BIN
pokecord/data/pokemon/Alolan Golem.png
Normal file
After Width: | Height: | Size: 251 KiB |
BIN
pokecord/data/pokemon/Alolan Graveler.png
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
pokecord/data/pokemon/Alolan Grimer.png
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
pokecord/data/pokemon/Alolan Marowak.png
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
pokecord/data/pokemon/Alolan Meowth.png
Normal file
After Width: | Height: | Size: 165 KiB |
BIN
pokecord/data/pokemon/Alolan Muk.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
pokecord/data/pokemon/Alolan Ninetales.png
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
pokecord/data/pokemon/Alolan Persian.png
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
pokecord/data/pokemon/Alolan Raichu.png
Normal file
After Width: | Height: | Size: 168 KiB |
BIN
pokecord/data/pokemon/Alolan Raticate.png
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
pokecord/data/pokemon/Alolan Rattata.png
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
pokecord/data/pokemon/Alolan Sandshrew.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
pokecord/data/pokemon/Alolan Sandslash.png
Normal file
After Width: | Height: | Size: 229 KiB |
BIN
pokecord/data/pokemon/Alolan Vulpix.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
pokecord/data/pokemon/Alomomola.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
pokecord/data/pokemon/Altaria.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
pokecord/data/pokemon/Amaura.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
pokecord/data/pokemon/Ambipom.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
pokecord/data/pokemon/Amoonguss.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
pokecord/data/pokemon/Ampharos.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
pokecord/data/pokemon/Annihilape.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
pokecord/data/pokemon/Anorith.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
pokecord/data/pokemon/Appletun.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
pokecord/data/pokemon/Applin.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
pokecord/data/pokemon/Araquanid.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
pokecord/data/pokemon/Arbok.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
pokecord/data/pokemon/Arboliva.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
pokecord/data/pokemon/Arcanine.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
pokecord/data/pokemon/Arceus.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
pokecord/data/pokemon/Archen.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
pokecord/data/pokemon/Archeops.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
pokecord/data/pokemon/Arctibax.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
pokecord/data/pokemon/Arctovish.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
pokecord/data/pokemon/Arctozolt.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
pokecord/data/pokemon/Ariados.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
pokecord/data/pokemon/Armaldo.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
pokecord/data/pokemon/Armarouge.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
pokecord/data/pokemon/Aromatisse.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
pokecord/data/pokemon/Aron.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
pokecord/data/pokemon/Arrokuda.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
pokecord/data/pokemon/Articuno.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
pokecord/data/pokemon/Audino.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
pokecord/data/pokemon/Aurorus.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
pokecord/data/pokemon/Avalugg.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
pokecord/data/pokemon/Axew.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
pokecord/data/pokemon/Azelf.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
pokecord/data/pokemon/Azumarill.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
pokecord/data/pokemon/Azurill.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
pokecord/data/pokemon/Bagon.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
pokecord/data/pokemon/Baltoy.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
pokecord/data/pokemon/Banette.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
pokecord/data/pokemon/Barbaracle.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
pokecord/data/pokemon/Barboach.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
pokecord/data/pokemon/Barraskewda.png
Normal file
After Width: | Height: | Size: 28 KiB |