When retireHoF is enabled, surviving HoF Pokemon and their evolutionary families are retired at leg advancement and treated as duplicates in all subsequent legs — both in the encounter modal and bulk randomize. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
887 B
Python
43 lines
887 B
Python
from datetime import datetime
|
|
|
|
from app.schemas.base import CamelModel
|
|
from app.schemas.encounter import EncounterDetailResponse
|
|
from app.schemas.game import GameResponse
|
|
|
|
|
|
class RunCreate(CamelModel):
|
|
game_id: int
|
|
name: str
|
|
rules: dict = {}
|
|
|
|
|
|
class RunUpdate(CamelModel):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
rules: dict | None = None
|
|
|
|
|
|
class RunResponse(CamelModel):
|
|
id: int
|
|
game_id: int
|
|
name: str
|
|
status: str
|
|
rules: dict
|
|
started_at: datetime
|
|
completed_at: datetime | None
|
|
|
|
|
|
class RunGenlockeContext(CamelModel):
|
|
genlocke_id: int
|
|
genlocke_name: str
|
|
leg_order: int
|
|
total_legs: int
|
|
is_final_leg: bool
|
|
retired_pokemon_ids: list[int] = []
|
|
|
|
|
|
class RunDetailResponse(RunResponse):
|
|
game: GameResponse
|
|
encounters: list[EncounterDetailResponse] = []
|
|
genlocke: RunGenlockeContext | None = None
|