Add pokemon evolution support across the full stack
- Evolution model with trigger, level, item, and condition fields
- Encounter.current_pokemon_id tracks evolved species separately
- Alembic migration for evolutions table and current_pokemon_id column
- Seed pipeline loads evolution data with manual overrides
- GET /pokemon/{id}/evolutions and PATCH /encounters/{id} endpoints
- Evolve button in StatusChangeModal with evolution method details
- PokemonCard shows evolved species with "Originally" label
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -44,6 +44,7 @@ export interface Encounter {
|
||||
runId: number
|
||||
routeId: number
|
||||
pokemonId: number
|
||||
currentPokemonId: number | null
|
||||
nickname: string | null
|
||||
status: EncounterStatus
|
||||
catchLevel: number | null
|
||||
@@ -71,9 +72,21 @@ export interface RunDetail extends NuzlockeRun {
|
||||
|
||||
export interface EncounterDetail extends Encounter {
|
||||
pokemon: Pokemon
|
||||
currentPokemon: Pokemon | null
|
||||
route: Route
|
||||
}
|
||||
|
||||
export interface Evolution {
|
||||
id: number
|
||||
fromPokemonId: number
|
||||
toPokemon: Pokemon
|
||||
trigger: string
|
||||
minLevel: number | null
|
||||
item: string | null
|
||||
heldItem: string | null
|
||||
condition: string | null
|
||||
}
|
||||
|
||||
export interface CreateRunInput {
|
||||
gameId: number
|
||||
name: string
|
||||
@@ -99,6 +112,7 @@ export interface UpdateEncounterInput {
|
||||
status?: EncounterStatus
|
||||
faintLevel?: number
|
||||
deathCause?: string
|
||||
currentPokemonId?: number
|
||||
}
|
||||
|
||||
// Re-export for convenience
|
||||
|
||||
Reference in New Issue
Block a user