develop #21
@@ -1,10 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-36wg
|
||||
title: Make footer stick to bottom of viewport
|
||||
status: todo
|
||||
status: completed
|
||||
type: bug
|
||||
priority: normal
|
||||
created_at: 2026-02-13T07:47:48Z
|
||||
updated_at: 2026-02-13T07:47:48Z
|
||||
updated_at: 2026-02-13T12:59:22Z
|
||||
---
|
||||
|
||||
On pages with little content, the footer appears right after the content instead of staying at the bottom of the viewport. The footer should always be at the bottom of the browser window, pushing down when there's enough content but not floating in the middle of the page when content is short (sticky footer pattern).
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
# nuzlocke-tracker-5tac
|
||||
title: Enable naming generator for Genlockes
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-11T21:14:21Z
|
||||
updated_at: 2026-02-14T08:52:16Z
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Genlockes are multiple nuzlocke runs played back-to-back. Currently, naming scheme selection is only available per-run, meaning genlocke runs don't get naming schemes at all (they're created automatically during genlocke creation and leg advancement). This task adds genlocke-level naming scheme selection and lineage-aware name suggestions.
|
||||
|
||||
## Key Behaviors
|
||||
|
||||
### 1. Genlocke-Level Naming Scheme
|
||||
- When creating a genlocke, the user selects a naming scheme (same categories as standalone runs)
|
||||
- This scheme is stored on the `Genlocke` model and automatically applied to every leg's `NuzlockeRun`
|
||||
- Both the initial run (created in `create_genlocke`) and subsequent runs (created in `advance_leg`) inherit the genlocke's naming scheme
|
||||
|
||||
### 2. Name Suggestions (Current Leg Only)
|
||||
- Duplicate name checking stays scoped to the current run (already the case)
|
||||
- Transferred pokemon carry their nicknames forward, so they naturally occupy names in the current run's used-name set
|
||||
|
||||
### 3. Lineage-Aware Name Suggestions (Roman Numerals)
|
||||
- When catching a pokemon in a genlocke leg (leg 2+), the system checks if any pokemon from the same **evolution family** was caught in a previous leg
|
||||
- If so, the original nickname is suggested with a roman numeral suffix (e.g., "Heracles II", "Heracles III")
|
||||
- The numeral represents the Nth distinct leg where this evolution family was originally caught (not transferred)
|
||||
- Leg 1: Magikarp → "Heracles" (no numeral, first appearance)
|
||||
- Leg 2: Magikarp or Gyarados caught → suggest "Heracles II"
|
||||
- Leg 3: Magikarp caught again → suggest "Heracles III"
|
||||
- Transferred pokemon don't count as new appearances (they're the same individual)
|
||||
- The "base name" is taken from the first original encounter of that family across all legs
|
||||
- The lineage suggestion appears as a **priority suggestion** alongside regular naming scheme suggestions
|
||||
- The user can always choose a different name
|
||||
|
||||
### 4. How the API Changes
|
||||
- `GET /runs/{run_id}/name-suggestions` gains an optional `pokemon_id` query param
|
||||
- When `pokemon_id` is provided AND the run belongs to a genlocke:
|
||||
- Determine the pokemon's evolution family
|
||||
- Query previous legs' encounters (excluding transfer-target encounters) for matching family members
|
||||
- If matches found: compute the roman numeral and prepend "{base_name} {numeral}" to the suggestions list
|
||||
- Regular naming scheme suggestions are returned as before
|
||||
|
||||
## Checklist
|
||||
|
||||
### Backend
|
||||
- [x] Add `naming_scheme` column to `genlockes` table (Alembic migration)
|
||||
- [x] Update `Genlocke` model with `naming_scheme: Mapped[str | None]`
|
||||
- [x] Update `GenlockeCreate` schema to accept optional `naming_scheme: str | None`
|
||||
- [x] Update `GenlockeResponse` and `GenlockeDetailResponse` to include `naming_scheme`
|
||||
- [x] Update `create_genlocke` endpoint: pass `naming_scheme` to the first leg's `NuzlockeRun`
|
||||
- [x] Update `advance_leg` endpoint: pass the genlocke's `naming_scheme` to the new leg's `NuzlockeRun`
|
||||
- [x] Add roman numeral helper function (e.g., in `services/naming.py`)
|
||||
- [x] Update `get_name_suggestions` endpoint to accept optional `pokemon_id` param
|
||||
- [x] Implement lineage lookup: when in genlocke context with `pokemon_id`, query prior legs for evolution family matches (excluding transfers) and compute suggestion with roman numeral
|
||||
- [ ] Add tests for lineage-aware name suggestions
|
||||
|
||||
### Frontend
|
||||
- [x] Update `CreateGenlockeInput` type to include `namingScheme?: string | null`
|
||||
- [x] Add naming scheme selector to genlocke creation wizard (in the Rules step or as a new step)
|
||||
- [x] Update `GenlockeResponse` / `GenlockeDetailResponse` types to include `namingScheme`
|
||||
- [x] Update `EncounterModal` to pass selected `pokemonId` to name suggestions API when in genlocke context
|
||||
- [x] Update `getNameSuggestions` API client to accept optional `pokemonId` param
|
||||
- [x] Display lineage suggestion prominently in the suggestions UI (e.g., first pill with distinct styling)
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
# nuzlocke-tracker-6r4z
|
||||
title: 'Admin table improvements: Routes and Bosses'
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-13T13:01:55Z
|
||||
updated_at: 2026-02-13T13:06:08Z
|
||||
---
|
||||
|
||||
1. Routes table: add column for 'pinwheel close' and a column for quicklink to encounters
|
||||
2. Bosses table: add column for Position after route column, ideally as an inline dropdown for mass editing
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
# nuzlocke-tracker-ey30
|
||||
title: Reorder Crystal routes to match Gold ordering
|
||||
status: completed
|
||||
type: task
|
||||
created_at: 2026-02-13T14:23:40Z
|
||||
updated_at: 2026-02-13T14:23:40Z
|
||||
---
|
||||
|
||||
Adjusted the route ordering of crystal.json to match gold.json. The sequence is identical — only the order field was changed, encounters were preserved. Crystal is missing Cerulean City (not present in Crystal) so orders are offset by -1 from that point.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
# nuzlocke-tracker-hit0
|
||||
title: Group parent/child routes in admin route table
|
||||
status: completed
|
||||
type: feature
|
||||
priority: normal
|
||||
created_at: 2026-02-13T13:33:36Z
|
||||
updated_at: 2026-02-13T13:34:42Z
|
||||
---
|
||||
|
||||
Visually indent child routes under their parent in the admin route table. Dragging a parent route moves all its children with it. Children cannot be independently dragged to a new position.
|
||||
|
||||
## Checklist
|
||||
- [x] Add organizeRoutes() function to AdminGameDetail.tsx
|
||||
- [x] Replace SortableRouteRow with SortableRouteGroup using multiple tbody elements
|
||||
- [x] Update SortableContext to only track group IDs
|
||||
- [x] Update handleDragEnd for group-aware reordering
|
||||
- [x] Handle edge cases (standalone routes, orphan children)
|
||||
- [x] Verify frontend build passes
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
# nuzlocke-tracker-yz9t
|
||||
title: Optimize backend dev Dockerfile layer caching
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-13T14:45:23Z
|
||||
updated_at: 2026-02-13T14:47:48Z
|
||||
---
|
||||
|
||||
Seed data changes (11MB in src/app/seeds/) invalidate the pip install layer because COPY src/ comes before RUN pip install -e. Fix by creating a minimal package stub before pip install, then copying full source after.
|
||||
@@ -10,10 +10,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
|
||||
# Install Python dependencies
|
||||
COPY pyproject.toml README.md alembic.ini ./
|
||||
COPY src/ ./src/
|
||||
|
||||
# Create minimal package stub so editable install can resolve the package
|
||||
RUN mkdir -p src/app && touch src/app/__init__.py
|
||||
|
||||
RUN pip install --no-cache-dir -e .
|
||||
|
||||
# Copy source (will be overridden by volume mount in dev)
|
||||
COPY src/ ./src/
|
||||
|
||||
# Expose port
|
||||
EXPOSE 8000
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
"""add naming_scheme to genlockes
|
||||
|
||||
Revision ID: f7a8b9c0d1e2
|
||||
Revises: e5f70a1ca323
|
||||
Create Date: 2026-02-14 00:00:00.000000
|
||||
|
||||
"""
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "f7a8b9c0d1e2"
|
||||
down_revision: str | Sequence[str] | None = "e5f70a1ca323"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""Add naming_scheme column to genlockes table."""
|
||||
op.add_column(
|
||||
"genlockes",
|
||||
sa.Column("naming_scheme", sa.String(50), nullable=True),
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""Remove naming_scheme column from genlockes table."""
|
||||
op.drop_column("genlockes", "naming_scheme")
|
||||
@@ -458,6 +458,7 @@ async def create_genlocke(
|
||||
status="active",
|
||||
genlocke_rules=data.genlocke_rules,
|
||||
nuzlocke_rules=data.nuzlocke_rules,
|
||||
naming_scheme=data.naming_scheme,
|
||||
)
|
||||
session.add(genlocke)
|
||||
await session.flush() # get genlocke.id
|
||||
@@ -480,6 +481,7 @@ async def create_genlocke(
|
||||
name=f"{data.name.strip()} \u2014 Leg 1",
|
||||
status="active",
|
||||
rules=data.nuzlocke_rules,
|
||||
naming_scheme=data.naming_scheme,
|
||||
)
|
||||
session.add(first_run)
|
||||
await session.flush() # get first_run.id
|
||||
@@ -653,6 +655,7 @@ async def advance_leg(
|
||||
name=f"{genlocke.name} \u2014 Leg {next_leg.leg_order}",
|
||||
status="active",
|
||||
rules=genlocke.nuzlocke_rules,
|
||||
naming_scheme=genlocke.naming_scheme,
|
||||
)
|
||||
session.add(new_run)
|
||||
await session.flush()
|
||||
|
||||
@@ -8,6 +8,7 @@ from sqlalchemy.orm import joinedload, selectinload
|
||||
from app.core.database import get_session
|
||||
from app.models.boss_result import BossResult
|
||||
from app.models.encounter import Encounter
|
||||
from app.models.evolution import Evolution
|
||||
from app.models.game import Game
|
||||
from app.models.genlocke import GenlockeLeg
|
||||
from app.models.genlocke_transfer import GenlockeTransfer
|
||||
@@ -19,7 +20,13 @@ from app.schemas.run import (
|
||||
RunResponse,
|
||||
RunUpdate,
|
||||
)
|
||||
from app.services.naming import get_naming_categories, suggest_names
|
||||
from app.services.families import build_families
|
||||
from app.services.naming import (
|
||||
get_naming_categories,
|
||||
strip_roman_suffix,
|
||||
suggest_names,
|
||||
to_roman,
|
||||
)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -33,6 +40,7 @@ async def list_naming_categories():
|
||||
async def get_name_suggestions(
|
||||
run_id: int,
|
||||
count: int = 10,
|
||||
pokemon_id: int | None = None,
|
||||
session: AsyncSession = Depends(get_session),
|
||||
):
|
||||
run = await session.get(NuzlockeRun, run_id)
|
||||
@@ -51,7 +59,102 @@ async def get_name_suggestions(
|
||||
)
|
||||
used_names = {row[0] for row in result}
|
||||
|
||||
return suggest_names(run.naming_scheme, used_names, count)
|
||||
lineage_suggestion: str | None = None
|
||||
|
||||
# Lineage-aware suggestion: check if this run belongs to a genlocke
|
||||
if pokemon_id is not None:
|
||||
lineage_suggestion = await _compute_lineage_suggestion(
|
||||
session, run_id, pokemon_id
|
||||
)
|
||||
|
||||
suggestions = suggest_names(run.naming_scheme, used_names, count)
|
||||
|
||||
if lineage_suggestion and lineage_suggestion not in suggestions:
|
||||
suggestions.insert(0, lineage_suggestion)
|
||||
|
||||
return suggestions
|
||||
|
||||
|
||||
async def _compute_lineage_suggestion(
|
||||
session: AsyncSession,
|
||||
run_id: int,
|
||||
pokemon_id: int,
|
||||
) -> str | None:
|
||||
"""Check previous genlocke legs for the same evolution family and suggest a name with roman numeral."""
|
||||
# Find the genlocke leg for this run
|
||||
leg_result = await session.execute(
|
||||
select(GenlockeLeg).where(GenlockeLeg.run_id == run_id)
|
||||
)
|
||||
current_leg = leg_result.scalar_one_or_none()
|
||||
if current_leg is None or current_leg.leg_order <= 1:
|
||||
return None
|
||||
|
||||
# Build evolution family map
|
||||
evo_result = await session.execute(select(Evolution))
|
||||
evolutions = evo_result.scalars().all()
|
||||
pokemon_to_family = build_families(evolutions)
|
||||
|
||||
family_ids = set(pokemon_to_family.get(pokemon_id, [pokemon_id]))
|
||||
family_ids.add(pokemon_id)
|
||||
|
||||
# Get run IDs for all previous legs
|
||||
prev_legs_result = await session.execute(
|
||||
select(GenlockeLeg.run_id).where(
|
||||
GenlockeLeg.genlocke_id == current_leg.genlocke_id,
|
||||
GenlockeLeg.leg_order < current_leg.leg_order,
|
||||
GenlockeLeg.run_id.isnot(None),
|
||||
)
|
||||
)
|
||||
prev_run_ids = [row[0] for row in prev_legs_result]
|
||||
if not prev_run_ids:
|
||||
return None
|
||||
|
||||
# Get transfer target encounter IDs (these are not "original" catches)
|
||||
transfer_targets_result = await session.execute(
|
||||
select(GenlockeTransfer.target_encounter_id).where(
|
||||
GenlockeTransfer.genlocke_id == current_leg.genlocke_id,
|
||||
)
|
||||
)
|
||||
transfer_target_ids = {row[0] for row in transfer_targets_result}
|
||||
|
||||
# Find original (non-transfer) encounters from previous legs matching this family
|
||||
enc_result = await session.execute(
|
||||
select(Encounter.id, Encounter.nickname, Encounter.run_id).where(
|
||||
Encounter.run_id.in_(prev_run_ids),
|
||||
Encounter.pokemon_id.in_(family_ids),
|
||||
Encounter.status == "caught",
|
||||
Encounter.nickname.isnot(None),
|
||||
)
|
||||
)
|
||||
matches = [
|
||||
(row[0], row[1], row[2])
|
||||
for row in enc_result
|
||||
if row[0] not in transfer_target_ids
|
||||
]
|
||||
|
||||
if not matches:
|
||||
return None
|
||||
|
||||
# Use the nickname from the first encounter (earliest leg)
|
||||
# Build run_id -> leg_order mapping for sorting
|
||||
leg_order_result = await session.execute(
|
||||
select(GenlockeLeg.run_id, GenlockeLeg.leg_order).where(
|
||||
GenlockeLeg.genlocke_id == current_leg.genlocke_id,
|
||||
GenlockeLeg.run_id.in_(prev_run_ids),
|
||||
)
|
||||
)
|
||||
run_to_leg_order = {row[0]: row[1] for row in leg_order_result}
|
||||
|
||||
# Sort by leg order to find the first appearance
|
||||
matches.sort(key=lambda m: run_to_leg_order.get(m[2], 0))
|
||||
base_name = strip_roman_suffix(matches[0][1])
|
||||
|
||||
# Count distinct legs with original encounters for this family
|
||||
legs_with_family = len({run_to_leg_order.get(m[2]) for m in matches})
|
||||
|
||||
# The new one would be the next numeral (legs_with_family + 1)
|
||||
numeral = to_roman(legs_with_family + 1)
|
||||
return f"{base_name} {numeral}"
|
||||
|
||||
|
||||
@router.post("", response_model=RunResponse, status_code=201)
|
||||
|
||||
@@ -18,6 +18,7 @@ class Genlocke(Base):
|
||||
) # active, completed, failed
|
||||
genlocke_rules: Mapped[dict] = mapped_column(JSONB, default=dict)
|
||||
nuzlocke_rules: Mapped[dict] = mapped_column(JSONB, default=dict)
|
||||
naming_scheme: Mapped[str | None] = mapped_column(String(50), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True), server_default=func.now()
|
||||
)
|
||||
|
||||
@@ -10,6 +10,7 @@ class GenlockeCreate(CamelModel):
|
||||
game_ids: list[int]
|
||||
genlocke_rules: dict = {}
|
||||
nuzlocke_rules: dict = {}
|
||||
naming_scheme: str | None = None
|
||||
|
||||
|
||||
class GenlockeUpdate(CamelModel):
|
||||
@@ -51,6 +52,7 @@ class GenlockeResponse(CamelModel):
|
||||
status: str
|
||||
genlocke_rules: dict
|
||||
nuzlocke_rules: dict
|
||||
naming_scheme: str | None = None
|
||||
created_at: datetime
|
||||
legs: list[GenlockeLegResponse] = []
|
||||
|
||||
@@ -98,6 +100,7 @@ class GenlockeDetailResponse(CamelModel):
|
||||
status: str
|
||||
genlocke_rules: dict
|
||||
nuzlocke_rules: dict
|
||||
naming_scheme: str | None = None
|
||||
created_at: datetime
|
||||
legs: list[GenlockeLegDetailResponse] = []
|
||||
stats: GenlockeStatsResponse
|
||||
|
||||
@@ -5433,82 +5433,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Team Aqua Hideout",
|
||||
"name": "Team Magma Hideout",
|
||||
"order": 69,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 72,
|
||||
"pokemon_name": "Tentacool",
|
||||
"method": "surf",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 20,
|
||||
"max_level": 20
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 320,
|
||||
"pokemon_name": "Wailmer",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 95,
|
||||
"min_level": 30,
|
||||
"max_level": 30
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 129,
|
||||
"pokemon_name": "Magikarp",
|
||||
"method": "old-rod",
|
||||
"encounter_rate": 65,
|
||||
"min_level": 10,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 129,
|
||||
"pokemon_name": "Magikarp",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 25,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 101,
|
||||
"pokemon_name": "Electrode",
|
||||
"method": "static",
|
||||
"encounter_rate": 50,
|
||||
"min_level": 40,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 72,
|
||||
"pokemon_name": "Tentacool",
|
||||
"method": "old-rod",
|
||||
"encounter_rate": 35,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 72,
|
||||
"pokemon_name": "Tentacool",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 35,
|
||||
"min_level": 25,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 120,
|
||||
"pokemon_name": "Staryu",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 40,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 320,
|
||||
"pokemon_name": "Wailmer",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 25,
|
||||
"max_level": 25
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Hoenn Route 124",
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"badge_image_url": "/badges/jet-badge.png",
|
||||
"level_cap": 37,
|
||||
"order": 6,
|
||||
"after_route_name": "Mistralton City",
|
||||
"after_route_name": null,
|
||||
"location": "Mistralton Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/skyla.png",
|
||||
@@ -91,7 +91,7 @@
|
||||
"badge_image_url": "/badges/legend-badge.png",
|
||||
"level_cap": 46,
|
||||
"order": 7,
|
||||
"after_route_name": "Opelucid City",
|
||||
"after_route_name": null,
|
||||
"location": "Opelucid Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/drayden.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/shauntal.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/grimsley.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/caitlin.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/marshal.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 59,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black-2/iris.png",
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"badge_image_url": "/badges/bolt-badge.png",
|
||||
"level_cap": 27,
|
||||
"order": 4,
|
||||
"after_route_name": "Nimbasa City",
|
||||
"after_route_name": null,
|
||||
"location": "Nimbasa Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/elesa.png",
|
||||
@@ -77,7 +77,7 @@
|
||||
"badge_image_url": "/badges/jet-badge.png",
|
||||
"level_cap": 35,
|
||||
"order": 6,
|
||||
"after_route_name": "Mistralton City",
|
||||
"after_route_name": null,
|
||||
"location": "Mistralton Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/skyla.png",
|
||||
@@ -105,7 +105,7 @@
|
||||
"badge_image_url": "/badges/legend-badge.png",
|
||||
"level_cap": 43,
|
||||
"order": 8,
|
||||
"after_route_name": "Opelucid City",
|
||||
"after_route_name": null,
|
||||
"location": "Opelucid Gym",
|
||||
"section": "Black",
|
||||
"sprite_url": "/boss-sprites/black/drayden.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": "/badges/legend-badge.png",
|
||||
"level_cap": 43,
|
||||
"order": 9,
|
||||
"after_route_name": "Opelucid City",
|
||||
"after_route_name": null,
|
||||
"location": "Opelucid Gym",
|
||||
"section": "White",
|
||||
"sprite_url": "/boss-sprites/black/iris.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/shauntal.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/grimsley.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/caitlin.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 52,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/black/marshal.png",
|
||||
|
||||
@@ -1484,7 +1484,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Relic Castle (Volcarona’s Room and Room Outside)",
|
||||
"name": "Relic Castle (Volcarona\u2019s Room and Room Outside)",
|
||||
"order": 30,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -1,7 +1,37 @@
|
||||
[
|
||||
{
|
||||
"name": "Pallet Town",
|
||||
"name": "Professor Oak's Laboratory",
|
||||
"order": 1,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 1,
|
||||
"pokemon_name": "Bulbasaur",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 4,
|
||||
"pokemon_name": "Charmander",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 7,
|
||||
"pokemon_name": "Squirtle",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pallet Town",
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 129,
|
||||
@@ -45,36 +75,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Professor Oak's Laboratory",
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 1,
|
||||
"pokemon_name": "Bulbasaur",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 4,
|
||||
"pokemon_name": "Charmander",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 7,
|
||||
"pokemon_name": "Squirtle",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 01 (Kanto)",
|
||||
"order": 3,
|
||||
@@ -1498,12 +1498,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 33,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 34,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1533,7 +1533,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 35,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1563,7 +1563,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 36,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1593,7 +1593,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 37,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1631,7 +1631,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (7F)",
|
||||
"name": "Pok\u00e9mon Tower (7F)",
|
||||
"order": 38,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3505,12 +3505,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 63,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3564,7 +3564,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3618,7 +3618,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3680,7 +3680,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 67,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"badge_image_url": "/badges/cobble-badge.png",
|
||||
"level_cap": 30,
|
||||
"order": 3,
|
||||
"after_route_name": "Veilstone City",
|
||||
"after_route_name": null,
|
||||
"location": "Veilstone Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/maylene.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 53,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/aaron.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/bertha.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/flint.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 59,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/lucian.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 66,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/brilliant-diamond/cynthia.png",
|
||||
|
||||
@@ -11,6 +11,30 @@
|
||||
"min_level": 3,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 54,
|
||||
"pokemon_name": "Psyduck",
|
||||
@@ -58,30 +82,6 @@
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7343,7 +7343,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Sinnoh)",
|
||||
"name": "Pok\u00e9mon League (Sinnoh)",
|
||||
"order": 114,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"after_route_name": "Violet City",
|
||||
"location": "Violet Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/falkner.png",
|
||||
"sprite_url": "/boss-sprites/gold/falkner.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -24,7 +24,7 @@
|
||||
"after_route_name": "Slowpoke Well",
|
||||
"location": "Azalea Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/bugsy.png",
|
||||
"sprite_url": "/boss-sprites/gold/bugsy.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
"after_route_name": "Goldenrod City",
|
||||
"location": "Goldenrod Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/whitney.png",
|
||||
"sprite_url": "/boss-sprites/gold/whitney.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -49,10 +49,10 @@
|
||||
"badge_image_url": "/badges/fog-badge.png",
|
||||
"level_cap": 25,
|
||||
"order": 4,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Ecruteak City",
|
||||
"location": "Ecruteak Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/morty.png",
|
||||
"sprite_url": "/boss-sprites/gold/morty.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -66,7 +66,7 @@
|
||||
"after_route_name": "Cianwood City",
|
||||
"location": "Cianwood Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/chuck.png",
|
||||
"sprite_url": "/boss-sprites/gold/chuck.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -80,7 +80,7 @@
|
||||
"after_route_name": "Cianwood City",
|
||||
"location": "Olivine Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/jasmine.png",
|
||||
"sprite_url": "/boss-sprites/gold/jasmine.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -91,10 +91,10 @@
|
||||
"badge_image_url": "/badges/glacier-badge.png",
|
||||
"level_cap": 31,
|
||||
"order": 7,
|
||||
"after_route_name": "Lake Of Rage",
|
||||
"after_route_name": "Lake of Rage",
|
||||
"location": "Mahogany Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/pryce.png",
|
||||
"sprite_url": "/boss-sprites/gold/pryce.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -108,7 +108,7 @@
|
||||
"after_route_name": "Blackthorn City",
|
||||
"location": "Blackthorn Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/crystal/clair.png",
|
||||
"sprite_url": "/boss-sprites/gold/clair.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -119,10 +119,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 42,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/will.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -133,10 +133,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 44,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/koga.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -147,10 +147,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 46,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/bruno.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -161,10 +161,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 47,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/karen.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -175,10 +175,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/lance.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -192,7 +192,7 @@
|
||||
"after_route_name": "Vermilion City",
|
||||
"location": "Vermilion Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/lt-surge.png",
|
||||
"sprite_url": "/boss-sprites/gold/lt-surge.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -203,10 +203,10 @@
|
||||
"badge_image_url": "/badges/marsh-badge.png",
|
||||
"level_cap": 48,
|
||||
"order": 15,
|
||||
"after_route_name": "Route 6",
|
||||
"after_route_name": "Route 05 (Kanto)",
|
||||
"location": "Saffron Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/sabrina.png",
|
||||
"sprite_url": "/boss-sprites/gold/sabrina.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -217,10 +217,10 @@
|
||||
"badge_image_url": "/badges/cascade-badge.png",
|
||||
"level_cap": 47,
|
||||
"order": 16,
|
||||
"after_route_name": "Cerulean City",
|
||||
"after_route_name": "Cerulean Cave (B1F)",
|
||||
"location": "Cerulean Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/misty.png",
|
||||
"sprite_url": "/boss-sprites/gold/misty.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -231,10 +231,10 @@
|
||||
"badge_image_url": "/badges/rainbow-badge.png",
|
||||
"level_cap": 46,
|
||||
"order": 17,
|
||||
"after_route_name": "Route 7",
|
||||
"after_route_name": "Celadon City",
|
||||
"location": "Celadon Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/erika.png",
|
||||
"sprite_url": "/boss-sprites/gold/erika.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -248,7 +248,7 @@
|
||||
"after_route_name": "Fuchsia City",
|
||||
"location": "Fuchsia Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/janine.png",
|
||||
"sprite_url": "/boss-sprites/gold/janine.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -262,7 +262,7 @@
|
||||
"after_route_name": "Pewter City",
|
||||
"location": "Pewter Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/brock.png",
|
||||
"sprite_url": "/boss-sprites/gold/brock.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -276,7 +276,7 @@
|
||||
"after_route_name": "Cinnabar Island",
|
||||
"location": "Cinnabar Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/blaine.png",
|
||||
"sprite_url": "/boss-sprites/gold/blaine.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -287,10 +287,10 @@
|
||||
"badge_image_url": "/badges/earth-badge.png",
|
||||
"level_cap": 58,
|
||||
"order": 21,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Viridian City",
|
||||
"location": "Viridian Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/crystal/blue.png",
|
||||
"sprite_url": "/boss-sprites/gold/blue.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -301,10 +301,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 81,
|
||||
"order": 22,
|
||||
"after_route_name": "Mt Silver",
|
||||
"after_route_name": "Mt. Silver (Cave Full Restore Chamber)",
|
||||
"location": "Silver Cave",
|
||||
"section": "Endgame",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/red.png",
|
||||
"pokemon": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"badge_image_url": "/badges/coal-badge.png",
|
||||
"level_cap": 14,
|
||||
"order": 1,
|
||||
"after_route_name": "Oreburgh Mine",
|
||||
"after_route_name": null,
|
||||
"location": "Oreburgh Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/roark.png",
|
||||
@@ -35,7 +35,7 @@
|
||||
"badge_image_url": "/badges/cobble-badge.png",
|
||||
"level_cap": 30,
|
||||
"order": 3,
|
||||
"after_route_name": "Veilstone City",
|
||||
"after_route_name": null,
|
||||
"location": "Veilstone Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/maylene.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 53,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/aaron.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/bertha.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/flint.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 59,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/lucian.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 66,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/diamond/cynthia.png",
|
||||
|
||||
@@ -11,6 +11,30 @@
|
||||
"min_level": 3,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 54,
|
||||
"pokemon_name": "Psyduck",
|
||||
@@ -58,30 +82,6 @@
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -8028,7 +8028,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Sinnoh)",
|
||||
"name": "Pok\u00e9mon League (Sinnoh)",
|
||||
"order": 115,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
"badge_image_url": "/badges/stone-badge.png",
|
||||
"level_cap": 15,
|
||||
"order": 1,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Rustboro City",
|
||||
"location": "Rustboro Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/roxanne.png",
|
||||
"sprite_url": "/boss-sprites/ruby/roxanne.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -19,12 +19,12 @@
|
||||
"specialty_type": "fighting",
|
||||
"badge_name": "Knuckle Badge",
|
||||
"badge_image_url": "/badges/knuckle-badge.png",
|
||||
"level_cap": 19,
|
||||
"level_cap": 18,
|
||||
"order": 2,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Dewford Town",
|
||||
"location": "Dewford Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/brawly.png",
|
||||
"sprite_url": "/boss-sprites/ruby/brawly.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -33,12 +33,12 @@
|
||||
"specialty_type": "electric",
|
||||
"badge_name": "Dynamo Badge",
|
||||
"badge_image_url": "/badges/dynamo-badge.png",
|
||||
"level_cap": 24,
|
||||
"level_cap": 23,
|
||||
"order": 3,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Hoenn Route 110",
|
||||
"location": "Mauville Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/wattson.png",
|
||||
"sprite_url": "/boss-sprites/ruby/wattson.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -47,12 +47,12 @@
|
||||
"specialty_type": "fire",
|
||||
"badge_name": "Heat Badge",
|
||||
"badge_image_url": "/badges/heat-badge.png",
|
||||
"level_cap": 29,
|
||||
"level_cap": 28,
|
||||
"order": 4,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Lavaridge Town",
|
||||
"location": "Lavaridge Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/flannery.png",
|
||||
"sprite_url": "/boss-sprites/ruby/flannery.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -63,10 +63,10 @@
|
||||
"badge_image_url": "/badges/balance-badge.png",
|
||||
"level_cap": 31,
|
||||
"order": 5,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Desert Ruins",
|
||||
"location": "Petalburg Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/norman.png",
|
||||
"sprite_url": "/boss-sprites/ruby/norman.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -77,10 +77,10 @@
|
||||
"badge_image_url": "/badges/feather-badge.png",
|
||||
"level_cap": 33,
|
||||
"order": 6,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Fortree City",
|
||||
"location": "Foretree Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/winona.png",
|
||||
"sprite_url": "/boss-sprites/ruby/winona.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -91,24 +91,24 @@
|
||||
"badge_image_url": "/badges/mind-badge.png",
|
||||
"level_cap": 42,
|
||||
"order": 7,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Mossdeep City",
|
||||
"location": "Mossdeep Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/tate--lisa.png",
|
||||
"sprite_url": "/boss-sprites/ruby/tate--lisa.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
"name": "Wallace",
|
||||
"name": "Juan",
|
||||
"boss_type": "gym_leader",
|
||||
"specialty_type": "water",
|
||||
"badge_name": "Rain Badge",
|
||||
"badge_image_url": "/badges/rain-badge.png",
|
||||
"level_cap": 46,
|
||||
"order": 8,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Sootopolis City",
|
||||
"location": "Sootopolis Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/emerald/wallace.png",
|
||||
"sprite_url": "/boss-sprites/ruby/juan.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -119,10 +119,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 49,
|
||||
"order": 9,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/ruby/sydney.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -133,10 +133,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 51,
|
||||
"order": 10,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/ruby/phoebe.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -147,10 +147,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 53,
|
||||
"order": 11,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/ruby/glacia.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -161,24 +161,24 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 12,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/ruby/drake.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
"name": "Steven",
|
||||
"name": "Wallace",
|
||||
"boss_type": "champion",
|
||||
"specialty_type": "steel",
|
||||
"specialty_type": "water",
|
||||
"badge_name": null,
|
||||
"badge_image_url": null,
|
||||
"level_cap": 58,
|
||||
"order": 13,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/emerald/wallace.png",
|
||||
"pokemon": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 63,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
|
||||
@@ -1850,12 +1850,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 33,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 34,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1885,7 +1885,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 35,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1915,7 +1915,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 36,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1945,7 +1945,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 37,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1983,7 +1983,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (7F)",
|
||||
"name": "Pok\u00e9mon Tower (7F)",
|
||||
"order": 38,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3905,12 +3905,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 63,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3964,7 +3964,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4018,7 +4018,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4072,7 +4072,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 67,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -1,147 +1,11 @@
|
||||
[
|
||||
{
|
||||
"name": "Pokemon Red",
|
||||
"slug": "red",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 1996,
|
||||
"color": "#FF1111",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Blue",
|
||||
"slug": "blue",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 1996,
|
||||
"color": "#1111FF",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Yellow",
|
||||
"slug": "yellow",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 1998,
|
||||
"color": "#FFD733",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Gold",
|
||||
"slug": "gold",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 1999,
|
||||
"color": "#DAA520",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Silver",
|
||||
"slug": "silver",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 1999,
|
||||
"color": "#C0C0C0",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Crystal",
|
||||
"slug": "crystal",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 2000,
|
||||
"color": "#4FD9FF",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ruby",
|
||||
"slug": "ruby",
|
||||
"generation": 3,
|
||||
"name": "Pokemon Alpha Sapphire",
|
||||
"slug": "alpha-sapphire",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"release_year": 2002,
|
||||
"color": "#A00000",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sapphire",
|
||||
"slug": "sapphire",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"release_year": 2002,
|
||||
"color": "#0000A0",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Emerald",
|
||||
"slug": "emerald",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"release_year": 2005,
|
||||
"color": "#00A000",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon FireRed",
|
||||
"slug": "firered",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"release_year": 2004,
|
||||
"color": "#FF7327",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon LeafGreen",
|
||||
"slug": "leafgreen",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"release_year": 2004,
|
||||
"color": "#00DD00",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Diamond",
|
||||
"slug": "diamond",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2006,
|
||||
"color": "#AAAAFF",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Pearl",
|
||||
"slug": "pearl",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2006,
|
||||
"color": "#FFAAAA",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Platinum",
|
||||
"slug": "platinum",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2008,
|
||||
"color": "#999999",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon HeartGold",
|
||||
"slug": "heartgold",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"release_year": 2010,
|
||||
"color": "#B69E00",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon SoulSilver",
|
||||
"slug": "soulsilver",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"release_year": 2010,
|
||||
"color": "#C0C0E0",
|
||||
"category": "remake"
|
||||
"release_year": 2014,
|
||||
"color": "#26649C"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Black",
|
||||
@@ -149,17 +13,7 @@
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2010,
|
||||
"color": "#444444",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon White",
|
||||
"slug": "white",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2010,
|
||||
"color": "#E1E1E1",
|
||||
"category": "original"
|
||||
"color": "#444444"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Black 2",
|
||||
@@ -167,125 +21,15 @@
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2012,
|
||||
"color": "#424B50",
|
||||
"category": "sequel"
|
||||
"color": "#424B50"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon White 2",
|
||||
"slug": "white-2",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2012,
|
||||
"color": "#E3CED0",
|
||||
"category": "sequel"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon X",
|
||||
"slug": "x",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"release_year": 2013,
|
||||
"color": "#025DA6",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Y",
|
||||
"slug": "y",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"release_year": 2013,
|
||||
"color": "#EA1A3E",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Omega Ruby",
|
||||
"slug": "omega-ruby",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"release_year": 2014,
|
||||
"color": "#CF3025",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Alpha Sapphire",
|
||||
"slug": "alpha-sapphire",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"release_year": 2014,
|
||||
"color": "#26649C",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sun",
|
||||
"slug": "sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2016,
|
||||
"color": "#F1912B",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Moon",
|
||||
"slug": "moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2016,
|
||||
"color": "#5599CA",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ultra Sun",
|
||||
"slug": "ultra-sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2017,
|
||||
"color": "#E95B2B",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ultra Moon",
|
||||
"slug": "ultra-moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2017,
|
||||
"color": "#204E8C",
|
||||
"category": "enhanced"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Let's Go Pikachu",
|
||||
"slug": "lets-go-pikachu",
|
||||
"generation": 7,
|
||||
"name": "Pokemon Blue",
|
||||
"slug": "blue",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 2018,
|
||||
"color": "#F5DA00",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Let's Go Eevee",
|
||||
"slug": "lets-go-eevee",
|
||||
"generation": 7,
|
||||
"region": "kanto",
|
||||
"release_year": 2018,
|
||||
"color": "#D4924B",
|
||||
"category": "remake"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sword",
|
||||
"slug": "sword",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"release_year": 2019,
|
||||
"color": "#00D4E7",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Shield",
|
||||
"slug": "shield",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"release_year": 2019,
|
||||
"color": "#EF3B6E",
|
||||
"category": "original"
|
||||
"release_year": 1996,
|
||||
"color": "#1111FF"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Brilliant Diamond",
|
||||
@@ -293,17 +37,63 @@
|
||||
"generation": 8,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2021,
|
||||
"color": "#44BAE5",
|
||||
"category": "remake"
|
||||
"color": "#44BAE5"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Shining Pearl",
|
||||
"slug": "shining-pearl",
|
||||
"generation": 8,
|
||||
"name": "Pokemon Crystal",
|
||||
"slug": "crystal",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 2000,
|
||||
"color": "#4FD9FF"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Diamond",
|
||||
"slug": "diamond",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2021,
|
||||
"color": "#E18AAA",
|
||||
"category": "remake"
|
||||
"release_year": 2006,
|
||||
"color": "#AAAAFF"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Emerald",
|
||||
"slug": "emerald",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"release_year": 2005,
|
||||
"color": "#00A000"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon FireRed",
|
||||
"slug": "firered",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"release_year": 2004,
|
||||
"color": "#FF7327"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Gold",
|
||||
"slug": "gold",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 1999,
|
||||
"color": "#DAA520"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon HeartGold",
|
||||
"slug": "heartgold",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"release_year": 2010,
|
||||
"color": "#B69E00"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon LeafGreen",
|
||||
"slug": "leafgreen",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"release_year": 2004,
|
||||
"color": "#00DD00"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Legends: Arceus",
|
||||
@@ -311,26 +101,7 @@
|
||||
"generation": 8,
|
||||
"region": "hisui",
|
||||
"release_year": 2022,
|
||||
"color": "#36597B",
|
||||
"category": "spinoff"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Scarlet",
|
||||
"slug": "scarlet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"release_year": 2022,
|
||||
"color": "#F93C3C",
|
||||
"category": "original"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Violet",
|
||||
"slug": "violet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"release_year": 2022,
|
||||
"color": "#A96EEC",
|
||||
"category": "original"
|
||||
"color": "#36597B"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Legends: Z-A",
|
||||
@@ -338,7 +109,198 @@
|
||||
"generation": 9,
|
||||
"region": "lumiose",
|
||||
"release_year": 2025,
|
||||
"color": "#3A7BDB",
|
||||
"category": "spinoff"
|
||||
"color": "#3A7BDB"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Let's Go Eevee",
|
||||
"slug": "lets-go-eevee",
|
||||
"generation": 7,
|
||||
"region": "kanto",
|
||||
"release_year": 2018,
|
||||
"color": "#D4924B"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Let's Go Pikachu",
|
||||
"slug": "lets-go-pikachu",
|
||||
"generation": 7,
|
||||
"region": "kanto",
|
||||
"release_year": 2018,
|
||||
"color": "#F5DA00"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Moon",
|
||||
"slug": "moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2016,
|
||||
"color": "#5599CA"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Omega Ruby",
|
||||
"slug": "omega-ruby",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"release_year": 2014,
|
||||
"color": "#CF3025"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Pearl",
|
||||
"slug": "pearl",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2006,
|
||||
"color": "#FFAAAA"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Platinum",
|
||||
"slug": "platinum",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2008,
|
||||
"color": "#999999"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Red",
|
||||
"slug": "red",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 1996,
|
||||
"color": "#FF1111"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ruby",
|
||||
"slug": "ruby",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"release_year": 2002,
|
||||
"color": "#A00000"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sapphire",
|
||||
"slug": "sapphire",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"release_year": 2002,
|
||||
"color": "#0000A0"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Scarlet",
|
||||
"slug": "scarlet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"release_year": 2022,
|
||||
"color": "#F93C3C"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Shield",
|
||||
"slug": "shield",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"release_year": 2019,
|
||||
"color": "#EF3B6E"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Shining Pearl",
|
||||
"slug": "shining-pearl",
|
||||
"generation": 8,
|
||||
"region": "sinnoh",
|
||||
"release_year": 2021,
|
||||
"color": "#E18AAA"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Silver",
|
||||
"slug": "silver",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"release_year": 1999,
|
||||
"color": "#C0C0C0"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon SoulSilver",
|
||||
"slug": "soulsilver",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"release_year": 2010,
|
||||
"color": "#C0C0E0"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sun",
|
||||
"slug": "sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2016,
|
||||
"color": "#F1912B"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Sword",
|
||||
"slug": "sword",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"release_year": 2019,
|
||||
"color": "#00D4E7"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ultra Moon",
|
||||
"slug": "ultra-moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2017,
|
||||
"color": "#204E8C"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Ultra Sun",
|
||||
"slug": "ultra-sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"release_year": 2017,
|
||||
"color": "#E95B2B"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Violet",
|
||||
"slug": "violet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"release_year": 2022,
|
||||
"color": "#A96EEC"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon White",
|
||||
"slug": "white",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2010,
|
||||
"color": "#E1E1E1"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon White 2",
|
||||
"slug": "white-2",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"release_year": 2012,
|
||||
"color": "#E3CED0"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon X",
|
||||
"slug": "x",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"release_year": 2013,
|
||||
"color": "#025DA6"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Y",
|
||||
"slug": "y",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"release_year": 2013,
|
||||
"color": "#EA1A3E"
|
||||
},
|
||||
{
|
||||
"name": "Pokemon Yellow",
|
||||
"slug": "yellow",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"release_year": 1998,
|
||||
"color": "#FFD733"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"badge_image_url": "/badges/fog-badge.png",
|
||||
"level_cap": 25,
|
||||
"order": 4,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Ecruteak City",
|
||||
"location": "Ecruteak Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/gold/morty.png",
|
||||
@@ -91,7 +91,7 @@
|
||||
"badge_image_url": "/badges/glacier-badge.png",
|
||||
"level_cap": 31,
|
||||
"order": 7,
|
||||
"after_route_name": "Lake Of Rage",
|
||||
"after_route_name": "Lake of Rage",
|
||||
"location": "Mahogany Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/gold/pryce.png",
|
||||
@@ -119,10 +119,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 42,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/will.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -133,10 +133,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 44,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/koga.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -147,10 +147,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 46,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/bruno.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -161,10 +161,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 47,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/karen.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -175,10 +175,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road 1",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": "Main Story",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/lance.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -203,7 +203,7 @@
|
||||
"badge_image_url": "/badges/marsh-badge.png",
|
||||
"level_cap": 48,
|
||||
"order": 15,
|
||||
"after_route_name": "Route 6",
|
||||
"after_route_name": "Route 06 (Kanto)",
|
||||
"location": "Saffron Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/gold/sabrina.png",
|
||||
@@ -231,7 +231,7 @@
|
||||
"badge_image_url": "/badges/rainbow-badge.png",
|
||||
"level_cap": 46,
|
||||
"order": 17,
|
||||
"after_route_name": "Route 7",
|
||||
"after_route_name": "Celadon City",
|
||||
"location": "Celadon Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/gold/erika.png",
|
||||
@@ -287,7 +287,7 @@
|
||||
"badge_image_url": "/badges/earth-badge.png",
|
||||
"level_cap": 58,
|
||||
"order": 21,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Route 19 (Kanto)",
|
||||
"location": "Viridian Gym",
|
||||
"section": "Endgame",
|
||||
"sprite_url": "/boss-sprites/gold/blue.png",
|
||||
@@ -301,10 +301,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 81,
|
||||
"order": 22,
|
||||
"after_route_name": "Mt Silver",
|
||||
"after_route_name": "Mt. Silver (Cave Full Restore Chamber)",
|
||||
"location": "Silver Cave",
|
||||
"section": "Endgame",
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/gold/red.png",
|
||||
"pokemon": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1850,12 +1850,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 33,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 34,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1885,7 +1885,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 35,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1915,7 +1915,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 36,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1945,7 +1945,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 37,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1983,7 +1983,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (7F)",
|
||||
"name": "Pok\u00e9mon Tower (7F)",
|
||||
"order": 38,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3905,12 +3905,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 63,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3964,7 +3964,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4018,7 +4018,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4072,7 +4072,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 67,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -5728,7 +5728,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Bathers’ Lagoon",
|
||||
"name": "Bathers\u2019 Lagoon",
|
||||
"order": 41,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -11170,7 +11170,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Arena’s Approach",
|
||||
"name": "Arena\u2019s Approach",
|
||||
"order": 76,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -11456,7 +11456,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Avalugg’s Legacy",
|
||||
"name": "Avalugg\u2019s Legacy",
|
||||
"order": 77,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -2316,12 +2316,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 28,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 29,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2367,7 +2367,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 30,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2413,7 +2413,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 31,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2467,7 +2467,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 32,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4228,12 +4228,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 53,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 54,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4311,7 +4311,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 55,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4389,7 +4389,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 56,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4467,7 +4467,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 57,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 54,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/lets-go-pikachu/lorelei.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 56,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/lets-go-pikachu/bruno.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 56,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/lets-go-pikachu/agatha.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 56,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/lets-go-pikachu/lance.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 58,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/lets-go-pikachu/blue.png",
|
||||
|
||||
@@ -2252,12 +2252,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 28,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 29,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2303,7 +2303,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 30,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2349,7 +2349,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 31,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -2403,7 +2403,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 32,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4156,12 +4156,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 53,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 54,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4223,7 +4223,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 55,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4285,7 +4285,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 56,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4347,7 +4347,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 57,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Alola Route 1 (First two fields east of the player’s house)",
|
||||
"name": "Alola Route 1 (First two fields east of the player\u2019s house)",
|
||||
"order": 3,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -363,7 +363,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Trainer’s School (Alola)",
|
||||
"name": "Trainer\u2019s School (Alola)",
|
||||
"order": 8,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4590,18 +4590,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Altar of the Moone",
|
||||
"name": "Altar of the Sunne",
|
||||
"order": 89,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 792,
|
||||
"pokemon_name": "Lunala",
|
||||
"method": "static",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 55,
|
||||
"max_level": 55
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Mount Lanakila",
|
||||
@@ -4733,18 +4724,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Lake of the Moone",
|
||||
"name": "Lake of the Sunne",
|
||||
"order": 94,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 789,
|
||||
"pokemon_name": "Cosmog",
|
||||
"method": "gift",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Poni Grove",
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"badge_image_url": "/badges/dynamo-badge.png",
|
||||
"level_cap": 24,
|
||||
"order": 3,
|
||||
"after_route_name": "Mauville City",
|
||||
"after_route_name": null,
|
||||
"location": "Mauville Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/wattson.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 50,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/sidney.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 52,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/phoebe.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 54,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/glacia.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/drake.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/omega-ruby/steven.png",
|
||||
|
||||
@@ -11,6 +11,30 @@
|
||||
"min_level": 3,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 54,
|
||||
"pokemon_name": "Psyduck",
|
||||
@@ -58,30 +82,6 @@
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -8028,7 +8028,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Sinnoh)",
|
||||
"name": "Pok\u00e9mon League (Sinnoh)",
|
||||
"order": 115,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"badge_image_url": "/badges/coal-badge.png",
|
||||
"level_cap": 14,
|
||||
"order": 1,
|
||||
"after_route_name": "Oreburgh Mine",
|
||||
"after_route_name": null,
|
||||
"location": "Oreburgh Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/roark.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 53,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/aaron.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/bertha.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 57,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/flint.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 59,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/lucian.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 62,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/platinum/cynthia.png",
|
||||
|
||||
@@ -11,6 +11,30 @@
|
||||
"min_level": 3,
|
||||
"max_level": 15
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 54,
|
||||
"pokemon_name": "Psyduck",
|
||||
@@ -58,30 +82,6 @@
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7916,7 +7916,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Sinnoh)",
|
||||
"name": "Pok\u00e9mon League (Sinnoh)",
|
||||
"order": 115,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"badge_image_url": "/badges/boulder-badge.png",
|
||||
"level_cap": 14,
|
||||
"order": 1,
|
||||
"after_route_name": "Route 2 (South Towards Viridian City)",
|
||||
"after_route_name": "Viridian Forest",
|
||||
"location": "Pewter Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/red/brock.png",
|
||||
@@ -63,7 +63,7 @@
|
||||
"badge_image_url": "/badges/marsh-badge.png",
|
||||
"level_cap": 43,
|
||||
"order": 5,
|
||||
"after_route_name": "Saffron City",
|
||||
"after_route_name": "Fighting Dojo",
|
||||
"location": "Saffron Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/red/sabrina.png",
|
||||
@@ -105,7 +105,7 @@
|
||||
"badge_image_url": "/badges/earth-badge.png",
|
||||
"level_cap": 50,
|
||||
"order": 8,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Route 23 (Kanto)",
|
||||
"location": "Viridian Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/red/giovanni.png",
|
||||
@@ -119,10 +119,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 56,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road 2",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/red/lorelei.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -133,10 +133,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 58,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road 2",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/red/bruno.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -147,10 +147,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 60,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road 2",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/red/agatha.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -161,10 +161,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 62,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road 2",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/red/lance.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -175,10 +175,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 65,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road 2",
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/red/blue.png",
|
||||
"pokemon": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,7 +1,37 @@
|
||||
[
|
||||
{
|
||||
"name": "Pallet Town",
|
||||
"name": "Professor Oak's Laboratory",
|
||||
"order": 1,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 1,
|
||||
"pokemon_name": "Bulbasaur",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 4,
|
||||
"pokemon_name": "Charmander",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 7,
|
||||
"pokemon_name": "Squirtle",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pallet Town",
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 129,
|
||||
@@ -45,36 +75,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Professor Oak's Laboratory",
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 1,
|
||||
"pokemon_name": "Bulbasaur",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 4,
|
||||
"pokemon_name": "Charmander",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 7,
|
||||
"pokemon_name": "Squirtle",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 01 (Kanto)",
|
||||
"order": 3,
|
||||
@@ -1498,12 +1498,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 33,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 34,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1533,7 +1533,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 35,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1563,7 +1563,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 36,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1593,7 +1593,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 37,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1631,7 +1631,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (7F)",
|
||||
"name": "Pok\u00e9mon Tower (7F)",
|
||||
"order": 38,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3505,12 +3505,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 63,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3564,7 +3564,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3618,7 +3618,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3672,7 +3672,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 67,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"badge_image_url": "/badges/dynamo-badge.png",
|
||||
"level_cap": 23,
|
||||
"order": 3,
|
||||
"after_route_name": "Route 110",
|
||||
"after_route_name": "Hoenn Route 110",
|
||||
"location": "Mauville Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/wattson.png",
|
||||
@@ -63,7 +63,7 @@
|
||||
"badge_image_url": "/badges/balance-badge.png",
|
||||
"level_cap": 31,
|
||||
"order": 5,
|
||||
"after_route_name": "Route 115",
|
||||
"after_route_name": "Desert Ruins",
|
||||
"location": "Petalburg Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/norman.png",
|
||||
@@ -77,7 +77,7 @@
|
||||
"badge_image_url": "/badges/feather-badge.png",
|
||||
"level_cap": 33,
|
||||
"order": 6,
|
||||
"after_route_name": "Route 119",
|
||||
"after_route_name": "Fortree City",
|
||||
"location": "Foretree Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/winona.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 49,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/sydney.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 51,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/phoebe.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 53,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/glacia.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 55,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/drake.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 58,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": "Victory Road (Hoenn)",
|
||||
"location": "Ever Grande City",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/ruby/steven.png",
|
||||
|
||||
@@ -17305,7 +17305,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Paldea)",
|
||||
"name": "Pok\u00e9mon League (Paldea)",
|
||||
"order": 217,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -17319,7 +17319,7 @@
|
||||
],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon League (Paldea - Town)",
|
||||
"name": "Pok\u00e9mon League (Paldea - Town)",
|
||||
"order": 218,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -17349,7 +17349,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Paldea - Flower)",
|
||||
"name": "Pok\u00e9mon League (Paldea - Flower)",
|
||||
"order": 219,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -3406,7 +3406,7 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Axew’s Eye",
|
||||
"name": "Axew\u2019s Eye",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3676,7 +3676,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Axew’s Eye (Southeast of the Big Tree)",
|
||||
"name": "Axew\u2019s Eye (Southeast of the Big Tree)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3706,7 +3706,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Axew’s Eye (Northeast of the Big Tree)",
|
||||
"name": "Axew\u2019s Eye (Northeast of the Big Tree)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4244,7 +4244,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (Northwest of Bridge to Giant’s Seat)",
|
||||
"name": "South Lake Miloch (Northwest of Bridge to Giant\u2019s Seat)",
|
||||
"order": 74,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4282,7 +4282,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (West of Bridge to Giant’s Seat)",
|
||||
"name": "South Lake Miloch (West of Bridge to Giant\u2019s Seat)",
|
||||
"order": 75,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4502,7 +4502,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (By Giant’s Seat, Fishing Spot North of Bridge)",
|
||||
"name": "South Lake Miloch (By Giant\u2019s Seat, Fishing Spot North of Bridge)",
|
||||
"order": 81,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13834,7 +13834,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay around icebergs northwest of Pokémon camp)",
|
||||
"name": "Route 9 - Galar (Circhester Bay around icebergs northwest of Pok\u00e9mon camp)",
|
||||
"order": 225,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13848,7 +13848,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay in canal southwest of Pokémon camp)",
|
||||
"name": "Route 9 - Galar (Circhester Bay in canal southwest of Pok\u00e9mon camp)",
|
||||
"order": 226,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13862,7 +13862,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay around iceberg between Trainer Tips signpost and Circhester Bay…",
|
||||
"name": "Route 9 - Galar (Circhester Bay around iceberg between Trainer Tips signpost and Circhester Bay\u2026",
|
||||
"order": 227,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -14287,7 +14287,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 10 - Galar (East of Pokémon camp)",
|
||||
"name": "Route 10 - Galar (East of Pok\u00e9mon camp)",
|
||||
"order": 235,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -15294,7 +15294,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Soothing Wetlands (In Puddle Near Brawler’s Cave Entrance)",
|
||||
"name": "Soothing Wetlands (In Puddle Near Brawler\u2019s Cave Entrance)",
|
||||
"order": 254,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -15324,7 +15324,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Soothing Wetlands (Southwest of Brawler’s Cave Entrance in Open Area Near Den)",
|
||||
"name": "Soothing Wetlands (Southwest of Brawler\u2019s Cave Entrance in Open Area Near Den)",
|
||||
"order": 255,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -11,6 +11,30 @@
|
||||
"min_level": 3,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 54,
|
||||
"pokemon_name": "Psyduck",
|
||||
@@ -58,30 +82,6 @@
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 387,
|
||||
"pokemon_name": "Turtwig",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 390,
|
||||
"pokemon_name": "Chimchar",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 393,
|
||||
"pokemon_name": "Piplup",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7343,7 +7343,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Sinnoh)",
|
||||
"name": "Pok\u00e9mon League (Sinnoh)",
|
||||
"order": 114,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -9695,34 +9695,9 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Ramanas Park (Kanto Room)",
|
||||
"name": "Ramanas Park (Johto Room)",
|
||||
"order": 144,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 144,
|
||||
"pokemon_name": "Articuno",
|
||||
"method": "static",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 70,
|
||||
"max_level": 70
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 146,
|
||||
"pokemon_name": "Moltres",
|
||||
"method": "static",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 70,
|
||||
"max_level": 70
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 145,
|
||||
"pokemon_name": "Zapdos",
|
||||
"method": "static",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 70,
|
||||
"max_level": 70
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Ramanas Park (Genome Room)",
|
||||
@@ -9739,18 +9714,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Ramanas Park (Squall Room)",
|
||||
"name": "Ramanas Park (Rainbow Room)",
|
||||
"order": 146,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 249,
|
||||
"pokemon_name": "Lugia",
|
||||
"method": "static",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 70,
|
||||
"max_level": 70
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Ramanas Park (Discovery Room)",
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Alola Route 1 (First two fields east of the player’s house)",
|
||||
"name": "Alola Route 1 (First two fields east of the player\u2019s house)",
|
||||
"order": 3,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -363,7 +363,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Trainer’s School (Alola)",
|
||||
"name": "Trainer\u2019s School (Alola)",
|
||||
"order": 8,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -3406,7 +3406,7 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Axew’s Eye",
|
||||
"name": "Axew\u2019s Eye",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3676,7 +3676,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Axew’s Eye (Southeast of the Big Tree)",
|
||||
"name": "Axew\u2019s Eye (Southeast of the Big Tree)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3706,7 +3706,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Axew’s Eye (Northeast of the Big Tree)",
|
||||
"name": "Axew\u2019s Eye (Northeast of the Big Tree)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4244,7 +4244,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (Northwest of Bridge to Giant’s Seat)",
|
||||
"name": "South Lake Miloch (Northwest of Bridge to Giant\u2019s Seat)",
|
||||
"order": 74,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4282,7 +4282,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (West of Bridge to Giant’s Seat)",
|
||||
"name": "South Lake Miloch (West of Bridge to Giant\u2019s Seat)",
|
||||
"order": 75,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -4502,7 +4502,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "South Lake Miloch (By Giant’s Seat, Fishing Spot North of Bridge)",
|
||||
"name": "South Lake Miloch (By Giant\u2019s Seat, Fishing Spot North of Bridge)",
|
||||
"order": 81,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13842,7 +13842,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay around icebergs northwest of Pokémon camp)",
|
||||
"name": "Route 9 - Galar (Circhester Bay around icebergs northwest of Pok\u00e9mon camp)",
|
||||
"order": 225,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13856,7 +13856,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay in canal southwest of Pokémon camp)",
|
||||
"name": "Route 9 - Galar (Circhester Bay in canal southwest of Pok\u00e9mon camp)",
|
||||
"order": 226,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -13870,7 +13870,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 9 - Galar (Circhester Bay around iceberg between Trainer Tips signpost and Circhester Bay…",
|
||||
"name": "Route 9 - Galar (Circhester Bay around iceberg between Trainer Tips signpost and Circhester Bay\u2026",
|
||||
"order": 227,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -14327,7 +14327,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Route 10 - Galar (East of Pokémon camp)",
|
||||
"name": "Route 10 - Galar (East of Pok\u00e9mon camp)",
|
||||
"order": 235,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -15318,7 +15318,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Soothing Wetlands (In Puddle Near Brawler’s Cave Entrance)",
|
||||
"name": "Soothing Wetlands (In Puddle Near Brawler\u2019s Cave Entrance)",
|
||||
"order": 254,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -15348,7 +15348,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Soothing Wetlands (Southwest of Brawler’s Cave Entrance in Open Area Near Den)",
|
||||
"name": "Soothing Wetlands (Southwest of Brawler\u2019s Cave Entrance in Open Area Near Den)",
|
||||
"order": 255,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
],
|
||||
"children": [
|
||||
{
|
||||
"name": "Alola Route 1 (First two fields east of the player’s house)",
|
||||
"name": "Alola Route 1 (First two fields east of the player\u2019s house)",
|
||||
"order": 3,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -372,7 +372,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Trainer’s School (Alola)",
|
||||
"name": "Trainer\u2019s School (Alola)",
|
||||
"order": 8,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -768,7 +768,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Alola Route 2 (Two patches of grass southwest of the Pokémon Center)",
|
||||
"name": "Alola Route 2 (Two patches of grass southwest of the Pok\u00e9mon Center)",
|
||||
"order": 15,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -5475,18 +5475,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Lake of the Moone",
|
||||
"name": "Lake of the Sunne",
|
||||
"order": 102,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 789,
|
||||
"pokemon_name": "Cosmog",
|
||||
"method": "gift",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Poni Grove",
|
||||
@@ -6757,7 +6748,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Team Rocket’s Castle",
|
||||
"name": "Team Rocket\u2019s Castle",
|
||||
"order": 124,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
],
|
||||
"children": [
|
||||
{
|
||||
"name": "Alola Route 1 (First two fields east of the player’s house)",
|
||||
"name": "Alola Route 1 (First two fields east of the player\u2019s house)",
|
||||
"order": 3,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -372,7 +372,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Trainer’s School (Alola)",
|
||||
"name": "Trainer\u2019s School (Alola)",
|
||||
"order": 8,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -768,7 +768,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Alola Route 2 (Two patches of grass southwest of the Pokémon Center)",
|
||||
"name": "Alola Route 2 (Two patches of grass southwest of the Pok\u00e9mon Center)",
|
||||
"order": 15,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -6749,7 +6749,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Team Rocket’s Castle",
|
||||
"name": "Team Rocket\u2019s Castle",
|
||||
"order": 124,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -587,18 +587,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Uva Academy",
|
||||
"name": "Naranja Academy",
|
||||
"order": 17,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 10161,
|
||||
"pokemon_name": "Meowth (Galar)",
|
||||
"method": "gift",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
"encounters": []
|
||||
},
|
||||
{
|
||||
"name": "Cortondo",
|
||||
@@ -17441,7 +17432,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Paldea)",
|
||||
"name": "Pok\u00e9mon League (Paldea)",
|
||||
"order": 217,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -17455,7 +17446,7 @@
|
||||
],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon League (Paldea - Town)",
|
||||
"name": "Pok\u00e9mon League (Paldea - Town)",
|
||||
"order": 218,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -17485,7 +17476,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon League (Paldea - Flower)",
|
||||
"name": "Pok\u00e9mon League (Paldea - Flower)",
|
||||
"order": 219,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -4732,8 +4732,102 @@
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Giant Chasm (Cave)",
|
||||
"name": "Giant Chasm (Entrance)",
|
||||
"order": 69,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 531,
|
||||
"pokemon_name": "Audino",
|
||||
"method": "walk",
|
||||
"encounter_rate": 85,
|
||||
"min_level": 44,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 114,
|
||||
"pokemon_name": "Tangela",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 44,
|
||||
"max_level": 49
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 279,
|
||||
"pokemon_name": "Pelipper",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 35,
|
||||
"pokemon_name": "Clefairy",
|
||||
"method": "walk",
|
||||
"encounter_rate": 30,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 337,
|
||||
"pokemon_name": "Lunatone",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 338,
|
||||
"pokemon_name": "Solrock",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 46,
|
||||
"max_level": 51
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 583,
|
||||
"pokemon_name": "Vanillish",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 225,
|
||||
"pokemon_name": "Delibird",
|
||||
"method": "walk",
|
||||
"encounter_rate": 10,
|
||||
"min_level": 44,
|
||||
"max_level": 49
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 36,
|
||||
"pokemon_name": "Clefable",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 465,
|
||||
"pokemon_name": "Tangrowth",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 584,
|
||||
"pokemon_name": "Vanilluxe",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Cave)",
|
||||
"order": 70,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 530,
|
||||
@@ -4873,100 +4967,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Entrance)",
|
||||
"order": 70,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 531,
|
||||
"pokemon_name": "Audino",
|
||||
"method": "walk",
|
||||
"encounter_rate": 85,
|
||||
"min_level": 44,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 114,
|
||||
"pokemon_name": "Tangela",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 44,
|
||||
"max_level": 49
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 279,
|
||||
"pokemon_name": "Pelipper",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 35,
|
||||
"pokemon_name": "Clefairy",
|
||||
"method": "walk",
|
||||
"encounter_rate": 30,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 337,
|
||||
"pokemon_name": "Lunatone",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 338,
|
||||
"pokemon_name": "Solrock",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 46,
|
||||
"max_level": 51
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 583,
|
||||
"pokemon_name": "Vanillish",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 50
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 225,
|
||||
"pokemon_name": "Delibird",
|
||||
"method": "walk",
|
||||
"encounter_rate": 10,
|
||||
"min_level": 44,
|
||||
"max_level": 49
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 36,
|
||||
"pokemon_name": "Clefable",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 465,
|
||||
"pokemon_name": "Tangrowth",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 584,
|
||||
"pokemon_name": "Vanilluxe",
|
||||
"method": "walk",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 47,
|
||||
"max_level": 47
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Crater forest)",
|
||||
"order": 71,
|
||||
|
||||
@@ -1484,7 +1484,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Relic Castle (Volcarona’s Room and Room Outside)",
|
||||
"name": "Relic Castle (Volcarona\u2019s Room and Room Outside)",
|
||||
"order": 30,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -5320,279 +5320,9 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "White Forest",
|
||||
"order": 89,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 30,
|
||||
"pokemon_name": "Nidorina",
|
||||
"method": "walk",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 63,
|
||||
"pokemon_name": "Abra",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 304,
|
||||
"pokemon_name": "Aron",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 298,
|
||||
"pokemon_name": "Azurill",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 371,
|
||||
"pokemon_name": "Bagon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 69,
|
||||
"pokemon_name": "Bellsprout",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 406,
|
||||
"pokemon_name": "Budew",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 341,
|
||||
"pokemon_name": "Corphish",
|
||||
"method": "surf",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 239,
|
||||
"pokemon_name": "Elekid",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 92,
|
||||
"pokemon_name": "Gastly",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 440,
|
||||
"pokemon_name": "Happiny",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 187,
|
||||
"pokemon_name": "Hoppip",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 270,
|
||||
"pokemon_name": "Lotad",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 270,
|
||||
"pokemon_name": "Lotad",
|
||||
"method": "surf",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 66,
|
||||
"pokemon_name": "Machop",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 240,
|
||||
"pokemon_name": "Magby",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 81,
|
||||
"pokemon_name": "Magnemite",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 179,
|
||||
"pokemon_name": "Mareep",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 43,
|
||||
"pokemon_name": "Oddish",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 16,
|
||||
"pokemon_name": "Pidgey",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 137,
|
||||
"pokemon_name": "Porygon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 280,
|
||||
"pokemon_name": "Ralts",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 111,
|
||||
"pokemon_name": "Rhyhorn",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 273,
|
||||
"pokemon_name": "Seedot",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 403,
|
||||
"pokemon_name": "Shinx",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 287,
|
||||
"pokemon_name": "Slakoth",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 396,
|
||||
"pokemon_name": "Starly",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 283,
|
||||
"pokemon_name": "Surskit",
|
||||
"method": "surf",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 175,
|
||||
"pokemon_name": "Togepi",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 328,
|
||||
"pokemon_name": "Trapinch",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 293,
|
||||
"pokemon_name": "Whismur",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 194,
|
||||
"pokemon_name": "Wooper",
|
||||
"method": "surf",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 265,
|
||||
"pokemon_name": "Wurmple",
|
||||
"method": "walk",
|
||||
"encounter_rate": 60,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Unova Route 15",
|
||||
"order": 90,
|
||||
"order": 89,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 479,
|
||||
@@ -5710,7 +5440,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Marvelous Bridge",
|
||||
"order": 91,
|
||||
"order": 90,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 129,
|
||||
@@ -5732,12 +5462,12 @@
|
||||
},
|
||||
{
|
||||
"name": "Challenger's Cave",
|
||||
"order": 92,
|
||||
"order": 91,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Challengers Cave (1F)",
|
||||
"order": 93,
|
||||
"order": 92,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 525,
|
||||
@@ -5791,7 +5521,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Challengers Cave (B1F)",
|
||||
"order": 94,
|
||||
"order": 93,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 525,
|
||||
@@ -5853,7 +5583,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Challengers Cave (B2F)",
|
||||
"order": 95,
|
||||
"order": 94,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 525,
|
||||
@@ -5915,7 +5645,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Challengers Cave",
|
||||
"order": 96,
|
||||
"order": 95,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 10016,
|
||||
@@ -5987,7 +5717,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Unova Route 17",
|
||||
"order": 97,
|
||||
"order": 96,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 592,
|
||||
@@ -6065,7 +5795,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Unova Route 18",
|
||||
"order": 98,
|
||||
"order": 97,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 170,
|
||||
@@ -6223,7 +5953,7 @@
|
||||
},
|
||||
{
|
||||
"name": "P2 Laboratory",
|
||||
"order": 99,
|
||||
"order": 98,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 592,
|
||||
@@ -6349,12 +6079,12 @@
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm",
|
||||
"order": 100,
|
||||
"order": 99,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Giant Chasm (Entrance)",
|
||||
"order": 101,
|
||||
"order": 100,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 531,
|
||||
@@ -6448,7 +6178,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Cave)",
|
||||
"order": 102,
|
||||
"order": 101,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 10016,
|
||||
@@ -6590,7 +6320,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Crater forest)",
|
||||
"order": 103,
|
||||
"order": 102,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 531,
|
||||
@@ -6676,7 +6406,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Giant Chasm (Cave depths)",
|
||||
"order": 104,
|
||||
"order": 103,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 10016,
|
||||
@@ -6828,7 +6558,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Liberty Garden",
|
||||
"order": 105,
|
||||
"order": 104,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 494,
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
"badge_image_url": "/badges/psychic-badge.png",
|
||||
"level_cap": 44,
|
||||
"order": 7,
|
||||
"after_route_name": "Anistar City",
|
||||
"after_route_name": null,
|
||||
"location": "Anistar Gym",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/olympia.png",
|
||||
@@ -119,7 +119,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 63,
|
||||
"order": 9,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/malva.png",
|
||||
@@ -133,7 +133,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 63,
|
||||
"order": 10,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/siebold.png",
|
||||
@@ -147,7 +147,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 63,
|
||||
"order": 11,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/wikstrom.png",
|
||||
@@ -161,7 +161,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 63,
|
||||
"order": 12,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/drasna.png",
|
||||
@@ -175,7 +175,7 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 68,
|
||||
"order": 13,
|
||||
"after_route_name": "Victory Road",
|
||||
"after_route_name": null,
|
||||
"location": "Pokemon League",
|
||||
"section": "Main Story",
|
||||
"sprite_url": "/boss-sprites/x/diantha.png",
|
||||
|
||||
@@ -3882,7 +3882,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Village",
|
||||
"name": "Pok\u00e9mon Village",
|
||||
"order": 58,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -3874,7 +3874,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Village",
|
||||
"name": "Pok\u00e9mon Village",
|
||||
"order": 58,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"badge_image_url": "/badges/boulder-badge.png",
|
||||
"level_cap": 12,
|
||||
"order": 1,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Viridian Forest",
|
||||
"location": "Pewter Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/brock.png",
|
||||
@@ -21,7 +21,7 @@
|
||||
"badge_image_url": "/badges/cascade-badge.png",
|
||||
"level_cap": 21,
|
||||
"order": 2,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Cerulean City",
|
||||
"location": "Cerulean Gem",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/misty.png",
|
||||
@@ -35,7 +35,7 @@
|
||||
"badge_image_url": "/badges/thunder-badge.png",
|
||||
"level_cap": 28,
|
||||
"order": 3,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Vermilion City",
|
||||
"location": "Vermillion Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/lt-surge.png",
|
||||
@@ -49,7 +49,7 @@
|
||||
"badge_image_url": "/badges/rainbow-badge.png",
|
||||
"level_cap": 32,
|
||||
"order": 4,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Celadon City",
|
||||
"location": "Celadon Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/erika.png",
|
||||
@@ -63,7 +63,7 @@
|
||||
"badge_image_url": "/badges/marsh-badge.png",
|
||||
"level_cap": 50,
|
||||
"order": 5,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Fighting Dojo",
|
||||
"location": "Saffron Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/sabrina.png",
|
||||
@@ -77,7 +77,7 @@
|
||||
"badge_image_url": "/badges/soul-badge.png",
|
||||
"level_cap": 50,
|
||||
"order": 6,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Fuchsia City",
|
||||
"location": "Fuchsia Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/koga.png",
|
||||
@@ -91,7 +91,7 @@
|
||||
"badge_image_url": "/badges/volcano-badge.png",
|
||||
"level_cap": 54,
|
||||
"order": 7,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Cinnabar Island",
|
||||
"location": "Cinnabar Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/blaine.png",
|
||||
@@ -105,7 +105,7 @@
|
||||
"badge_image_url": "/badges/earth-badge.png",
|
||||
"level_cap": 55,
|
||||
"order": 8,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Route 23 (Kanto)",
|
||||
"location": "Viridian Gym",
|
||||
"section": null,
|
||||
"sprite_url": "/boss-sprites/yellow/giovanni.png",
|
||||
@@ -119,10 +119,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 56,
|
||||
"order": 9,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/yellow/lorelei.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -133,10 +133,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 58,
|
||||
"order": 10,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/yellow/bruno.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -147,10 +147,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 60,
|
||||
"order": 11,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/yellow/agatha.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -161,10 +161,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 62,
|
||||
"order": 12,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/yellow/lance.png",
|
||||
"pokemon": []
|
||||
},
|
||||
{
|
||||
@@ -175,10 +175,10 @@
|
||||
"badge_image_url": null,
|
||||
"level_cap": 65,
|
||||
"order": 13,
|
||||
"after_route_name": null,
|
||||
"after_route_name": "Victory Road (Kanto)",
|
||||
"location": "Indigo Plateau",
|
||||
"section": null,
|
||||
"sprite_url": null,
|
||||
"sprite_url": "/boss-sprites/yellow/blue.png",
|
||||
"pokemon": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,6 +11,14 @@
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 25,
|
||||
"pokemon_name": "Pikachu",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 120,
|
||||
"pokemon_name": "Staryu",
|
||||
@@ -42,14 +50,6 @@
|
||||
"encounter_rate": 40,
|
||||
"min_level": 10,
|
||||
"max_level": 10
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 25,
|
||||
"pokemon_name": "Pikachu",
|
||||
"method": "starter",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 5,
|
||||
"max_level": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1610,12 +1610,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower",
|
||||
"name": "Pok\u00e9mon Tower",
|
||||
"order": 33,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Tower (3F)",
|
||||
"name": "Pok\u00e9mon Tower (3F)",
|
||||
"order": 34,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1637,7 +1637,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (4F)",
|
||||
"name": "Pok\u00e9mon Tower (4F)",
|
||||
"order": 35,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1659,7 +1659,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (5F)",
|
||||
"name": "Pok\u00e9mon Tower (5F)",
|
||||
"order": 36,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1689,7 +1689,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (6F)",
|
||||
"name": "Pok\u00e9mon Tower (6F)",
|
||||
"order": 37,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -1727,7 +1727,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Tower (7F)",
|
||||
"name": "Pok\u00e9mon Tower (7F)",
|
||||
"order": 38,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3521,12 +3521,12 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto)",
|
||||
"order": 63,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 1F)",
|
||||
"order": 64,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3564,7 +3564,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 2F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 2F)",
|
||||
"order": 65,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3602,7 +3602,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - 3F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - 3F)",
|
||||
"order": 66,
|
||||
"encounters": [
|
||||
{
|
||||
@@ -3640,7 +3640,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pokémon Mansion (Kanto - B1F)",
|
||||
"name": "Pok\u00e9mon Mansion (Kanto - B1F)",
|
||||
"order": 67,
|
||||
"encounters": [
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import json
|
||||
import random
|
||||
import re
|
||||
from functools import lru_cache
|
||||
from pathlib import Path
|
||||
|
||||
@@ -26,6 +27,42 @@ def get_words_for_category(category: str) -> list[str]:
|
||||
return _load_dictionary().get(category, [])
|
||||
|
||||
|
||||
_ROMAN_NUMERALS = [
|
||||
(1000, "M"),
|
||||
(900, "CM"),
|
||||
(500, "D"),
|
||||
(400, "CD"),
|
||||
(100, "C"),
|
||||
(90, "XC"),
|
||||
(50, "L"),
|
||||
(40, "XL"),
|
||||
(10, "X"),
|
||||
(9, "IX"),
|
||||
(5, "V"),
|
||||
(4, "IV"),
|
||||
(1, "I"),
|
||||
]
|
||||
|
||||
_ROMAN_SUFFIX_RE = re.compile(
|
||||
r"\s+(M{0,3}(?:CM|CD|D?C{0,3})(?:XC|XL|L?X{0,3})(?:IX|IV|V?I{0,3}))$"
|
||||
)
|
||||
|
||||
|
||||
def to_roman(n: int) -> str:
|
||||
"""Convert a positive integer to a roman numeral string."""
|
||||
parts: list[str] = []
|
||||
for value, numeral in _ROMAN_NUMERALS:
|
||||
while n >= value:
|
||||
parts.append(numeral)
|
||||
n -= value
|
||||
return "".join(parts)
|
||||
|
||||
|
||||
def strip_roman_suffix(name: str) -> str:
|
||||
"""Remove a trailing roman numeral suffix from a name (e.g., 'Heracles II' -> 'Heracles')."""
|
||||
return _ROMAN_SUFFIX_RE.sub("", name).strip()
|
||||
|
||||
|
||||
def suggest_names(
|
||||
category: str,
|
||||
used_names: set[str],
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "frontend",
|
||||
"name": "nuzlocke-tracker-frontend",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "frontend",
|
||||
"name": "nuzlocke-tracker-frontend",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 903 B |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 948 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 843 B |
|
After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 980 B |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 995 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 991 B |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 617 B |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1009 B |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 624 B |
|
After Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 855 B |
|
After Width: | Height: | Size: 877 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 845 B |
|
After Width: | Height: | Size: 879 B |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 712 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 747 B |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 991 B |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 825 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 903 B |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 948 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 843 B |