Skip to content

feat: add pokemon_form_flavor_text (per-form flavor text) - #1629

Open
MiquelRForgeFlow wants to merge 1 commit into
PokeAPI:masterfrom
MiquelRForgeFlow:master-add-form-flavor_text
Open

feat: add pokemon_form_flavor_text (per-form flavor text)#1629
MiquelRForgeFlow wants to merge 1 commit into
PokeAPI:masterfrom
MiquelRForgeFlow:master-add-form-flavor_text

Conversation

@MiquelRForgeFlow

@MiquelRForgeFlow MiquelRForgeFlow commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new PokemonFormFlavorText model/table, exposing flavor_text_entries on /pokemon-form/{id}. It mirrors the existing species-level pokemon_species_flavor_text, so forms that had their own Pokédex entries can carry them explicitly.

Scope

Populated for Generation III only, the earliest generation with form-specific Pokédex entries:

  • Gen I–II: no form-specific entries.
  • Gen III: Deoxys is the only case. Its forme was fixed per game version, so each version's entry is really a forme's entry:
    • Ruby / Sapphire → Normal Forme
    • FireRed → Attack Forme
    • LeafGreen → Defense Forme
    • Emerald → Speed Forme

Later generations have more form-specific entries and are intentionally left for follow-up PRs, which keeps this one small and easy to review.

Text is copied verbatim (including line breaks and page-break characters) from the matching pokemon_species_flavor_text rows, re-keyed to the correct pokemon_form_id. English is the only language present for these entries.

Changes

  • New PokemonFormFlavorText model + migration.
  • Serializer: flavor_text_entries on the pokemon-form detail endpoint.
  • build.py loader + pokemon_form_flavor_text.csv (5 rows).
  • OpenAPI / Hasura metadata updated.

Open question for reviewers

These 5 Gen III Deoxys entries currently also live in pokemon_species_flavor_text (versions 7–11), where they read as generic species entries even though they're really forme-specific.

I've kept them in place, because:

  • They match what each Gen III game actually shows (the forme was version-locked, so the per-version species entry is accurate for that game).
  • /pokemon-species/deoxys is the common path consumers read; removing them would leave the species with no Gen III flavor text, which is a backwards-incompatible change.

That said, one could argue they're now redundant and better represented here, so they could be dropped from the species table. I'm happy to do that (here or in a follow-up) if maintainers prefer. I'm flagging it so you can decide.

AI coding assistance disclosure

Checking everything I did is fine.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@MiquelRForgeFlow MiquelRForgeFlow changed the title feat: add pokemon_form_flavor_text (per-form flavor text) [wip] feat: add pokemon_form_flavor_text (per-form flavor text) Jul 29, 2026
@MiquelRForgeFlow
MiquelRForgeFlow force-pushed the master-add-form-flavor_text branch 2 times, most recently from 48d4ab6 to 13c2a7d Compare August 20, 2026 13:43
New PokemonFormFlavorText model/table exposing flavor_text_entries on
/pokemon-form, mirroring the species-level table.

Populated for Generation III, where Deoxys is the only Pokémon with
form-specific Pokédex entries Its form was fixed per game version
(Ruby/Sapphire → Normal, FireRed → Attack, LeafGreen → Defense,
Emerald → Speed). Gens I–II have no form-specific entries; later
generations are left for follow-up PRs.
@MiquelRForgeFlow
MiquelRForgeFlow force-pushed the master-add-form-flavor_text branch from 13c2a7d to 43baa06 Compare August 20, 2026 14:25
@MiquelRForgeFlow
MiquelRForgeFlow marked this pull request as ready for review August 20, 2026 14:43
@MiquelRForgeFlow MiquelRForgeFlow changed the title [wip] feat: add pokemon_form_flavor_text (per-form flavor text) feat: add pokemon_form_flavor_text (per-form flavor text) Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant