"""Mirrors upstream src/2014/schemas/5e-SRD-Races.ts."""

from dnd5e_db.models.base import SRDModel
from dnd5e_db.models.common import APIReference, Choice


class AbilityBonus(SRDModel):
    ability_score: APIReference
    bonus: int


class Race(SRDModel):
    index: str
    name: str
    speed: int
    ability_bonuses: list[AbilityBonus]
    ability_bonus_options: Choice | None = None
    alignment: str
    age: str
    size: str
    size_description: str
    starting_proficiencies: list[APIReference] | None = None
    starting_proficiency_options: Choice | None = None
    languages: list[APIReference]
    language_desc: str
    language_options: Choice | None = None
    traits: list[APIReference] | None = None
    subraces: list[APIReference] | None = None
    url: str
