Files
COC_API/new_hero.py
2025-11-02 01:14:41 -05:00

41 lines
1010 B
Python

from app.utils.logging import get_logger
from dataclasses import asdict
logger = get_logger(__file__)
from app.game.generators.entity_factory import build_char
from app.game.systems.leveling import calculate_xp_and_level
player = build_char(
name="Philbert",
origin_story="I came from a place",
race_id="terran",
class_id="arcanist"
)
# MOVE HIT DICE TO WEAPONS!
# ADD DEFENSE STAT
# ADD ATTACK STAT - this will help with combat!
new_xp_stats = calculate_xp_and_level(current_xp=player.xp,xp_gain=200)
player.xp = new_xp_stats.get("new_xp")
player.level = new_xp_stats.get("new_level")
player.xp_to_next_level = new_xp_stats.get("xp_to_next_level")
import json
player_dict = asdict(player)
print(json.dumps(player_dict,indent=True))
# serialize / deserialize
# to json
# player_dict = asdict(player)
# from json to dataclass
# from app.game.utils.loaders import from_dict
# from app.game.models.entities import Entity
# player_e = from_dict(Entity,player_dict)
# print(player_e)