Files
Code_of_Conquest_Bright_Dawn/app/blueprints/char.py
2025-11-03 21:43:13 -06:00

47 lines
1.6 KiB
Python

import os
import json
import random
from flask import Blueprint, redirect, url_for, render_template, g, request, flash
from typing import cast
from app.utils.session_user import SessionUser
from app.services.appwrite_client import AppWriteClient
from app.services.appwrite_db import AppwriteTables, Env
from app.services.coc_api import CoCApi
char_bp = Blueprint("char", __name__, url_prefix="/char")
cocapi = CoCApi()
def get_current_user() -> SessionUser:
return cast(SessionUser, g.current_user)
@char_bp.route("/create", methods=["GET", "POST"])
def create_char():
if request.method == "POST":
name = request.form.get("character_name")
race_id = request.form.get("race_dropdown")
profession_id = request.form.get("profession_dropdown")
origin_story = request.form.get("origin_story")
uuid = cocapi.create_char(name=name,origin_story=origin_story,race_id=race_id,profession_id=profession_id)
redirect(url_for("main.dashboard"))
ai_dumps_path = os.path.join("app","game_data","ai_dumps.json")
with open(ai_dumps_path,"r") as f:
data = json.load(f)
origin_stories = data.get("origin_stories",[])
if len(origin_stories) > 0:
starter_text = random.choice(origin_stories)
else:
starter_text = "I was born in a small, secluded village on the edge of a vast and mysterious forest, where whispers of ancient magic still lingered in the air."
template_data = {
"starter_text":starter_text
}
return render_template("char/create_char.html", data=template_data)