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 class Tag(StrEnum): SICK = "SICK" DEAD = "DEAD" @dataclass class Tags: values: set[Tag] = field(default_factory=set)