Pokemon forms with dex IDs >= 10000 (e.g., Alolan Rattata = 10091) were being collected in encounter data but missing from pokemon.json, causing them to be silently dropped during DB seeding. Now fetch_all_pokemon() also fetches form entries that appear in encounter data, with clean display names like "Rattata (Alola)" and correct form-specific types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
---
|
|
# nuzlocke-tracker-f44d
|
|
title: Add Pokemon forms support to seeding
|
|
status: completed
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-02-06T10:11:23Z
|
|
updated_at: 2026-02-07T13:30:57Z
|
|
---
|
|
|
|
The current seeding only fetches base Pokemon species. It should also include alternate forms (Alolan, Galarian, Mega, regional variants, etc.) which have different types and stats.
|
|
|
|
## Scope
|
|
|
|
1. **Data model evaluation**: Determine if Pokemon forms need a separate table or can be handled with additional fields on the existing Pokemon model (e.g., `form_name`, `base_pokemon_id`)
|
|
|
|
2. **PokeAPI structure**: Investigate how forms are represented in PokeAPI data:
|
|
- `pokemon-form` endpoint
|
|
- `pokemon` endpoint (forms like `pikachu-alola` have separate entries)
|
|
- Relationship between species and forms
|
|
|
|
3. **Seed data updates**: Update `fetch_pokeapi.py` to:
|
|
- Fetch all forms for Pokemon that appear in encounter tables
|
|
- Include form-specific data (types, sprites)
|
|
- Handle form naming consistently
|
|
|
|
4. **Frontend considerations**: Ensure Pokemon selector in encounter modal can distinguish forms when relevant
|
|
|
|
## Questions to resolve
|
|
- Should forms be stored as separate Pokemon records or as variants of a base Pokemon?
|
|
- How do encounter tables reference forms vs base species in PokeAPI?
|
|
- Which games have form-specific encounters that need to be supported? |