Files
Forge-Engine/routes/global_vars/create_global_var.py
T
williamandClaude Sonnet 5 d664ed5637
Build and deploy / test-python (push) Successful in 8m45s
Build and deploy / test-js (push) Successful in 49s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
Remplace le système de quêtes par des déclencheurs, ajoute l'action variable et le chaînage
Supprime le concept de "quête" au profit d'un onglet unique "Déclencheurs"
portant toute la logique (dialogue, condition, marquage terminé) directement
sur l'objet de scène. Ajoute une nouvelle action "Modifier une variable"
(réutilisant le vocabulaire du graphe de flow) utilisable après une
collision, une interaction ou une branche de condition, ainsi qu'un
chaînage d'actions ("then") permettant d'enchaîner plusieurs actions à la
suite et d'étendre un déclencheur déjà posé sans le recréer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 22:05:06 +02:00

27 lines
1.2 KiB
Python

from flask import request, redirect, url_for
import db
from core.flask_app import app
@app.route("/game/<slug>/variables/new", methods=["POST"])
def create_global_var(slug):
"""Depuis l'onglet "Variables" de l'éditeur de scène (screen_edit.html)
— idempotent par nom (voir db.create_global_variable), donc sans
risque en cas de double soumission."""
name = (request.form.get("name") or "").strip()
var_type = request.form.get("type") or "texte"
default_value = request.form.get("default_value") or ""
screen_id = request.form.get("screen_id", type=int)
# État par joueur (Phase 1) : coché par défaut (une case DÉCOCHÉE
# explicitement rend la variable partagée par tous les joueurs, voir
# db/global_vars/create_global_variable.py) — absent du formulaire
# (jeux/pages qui n'ont pas encore ce champ) => reste per_player.
per_player = request.form.get("per_player", "1") == "1"
if name:
db.create_global_variable(slug, name, var_type, default_value, per_player=per_player)
if screen_id:
return redirect(url_for("screen_edit", slug=slug, screen_id=screen_id, tab="variables"))
return redirect(url_for("game_dashboard", slug=slug))