39 lines
963 B
Python
39 lines
963 B
Python
from __future__ import annotations
|
|
from dataclasses import dataclass, field
|
|
from typing import Dict, List, Any, Tuple
|
|
|
|
@dataclass
|
|
class PerLevel:
|
|
hp_die: str = "1d10"
|
|
hp_rule: str = "avg"
|
|
mp_die: str = "1d6"
|
|
mp_rule: str = "avg"
|
|
|
|
@dataclass
|
|
class Entity:
|
|
uuid: str = ""
|
|
name: str = ""
|
|
race: str = ""
|
|
profession: str = ""
|
|
origin_story:str = ""
|
|
hit_die: str = "1d6"
|
|
|
|
hp: int = 1
|
|
mp: int = 0
|
|
energy_credits: int = 0
|
|
|
|
level: int = 0
|
|
xp: int = 0
|
|
xp_to_next_level:int = 100
|
|
|
|
fame: int = 0
|
|
alignment: int = 0
|
|
|
|
per_level: PerLevel = field(default_factory=PerLevel)
|
|
ability_scores: Dict[str, int] = field(default_factory=dict)
|
|
weapons: List[Dict[str, int]] = field(default_factory=list)
|
|
armor: List[Dict[str, int]] = field(default_factory=list)
|
|
spells: List[Dict[str, int]] = field(default_factory=list)
|
|
skills: List[Dict[str, int]] = field(default_factory=list)
|
|
|