56 lines
698 B
Python
56 lines
698 B
Python
from dataclasses import dataclass, field
|
|
from enum import Enum, StrEnum
|
|
|
|
|
|
@dataclass
|
|
class Name:
|
|
value: str
|
|
|
|
|
|
@dataclass
|
|
class BaseStat:
|
|
value: int
|
|
|
|
|
|
@dataclass
|
|
class Health(BaseStat):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class Satiety(BaseStat):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class Hydration(BaseStat):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class Hygiene(BaseStat):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class Capacity(BaseStat):
|
|
pass
|
|
|
|
|
|
@dataclass
|
|
class Tags:
|
|
values: list = field(default_factory=list)
|
|
|
|
|
|
class LocationType(StrEnum):
|
|
NO_WHERE = "no_where"
|
|
PADDOCK = "paddock"
|
|
STORE = "store"
|
|
INVENTORY = "inventory"
|
|
|
|
|
|
@dataclass
|
|
class Location:
|
|
type: "LocationType" = LocationType.NO_WHERE
|
|
id: int | None = None
|