from __future__ import annotations from dataclasses import dataclass, field from typing import Literal @dataclass class LootItem: type: Literal["ability", "points"] ability_name: str | None = None points: int | None = None rarity: str = "common" source: str = "chest" @dataclass class Tile: terrain: str = "grass" loot: list[LootItem] | None = None loot_spawn_turn: int | None = None