Files
Forge-Engine/db/quests/create_quest.py
T
williamandClaude Sonnet 5 78c1aba8a0
Build and deploy / test-python (push) Successful in 6m7s
Build and deploy / test-js (push) Successful in 59s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
Éditeur de quêtes : onglet à côté de Collision, pas une page à part
Corrige la mauvaise interprétation de la demande initiale : la page
dédiée "🗺️ Quêtes" (nav du jeu) est retirée au profit d'un nouvel
onglet "🗺️ Quêtes" DANS l'éditeur de scène 2D, juste à côté de
"🧩 Collision" — même liste tabulaire que l'onglet "📣 Événements"
(titre/objectif/récompense/statut/résultat par ligne, pas des cartes),
un clic sur une ligne ouvrant la modale d'arbre de dialogue déjà
construite. L'assistant "+ Action" de l'éditeur de collision ouvre
toujours cette même modale pour "Déclencher une quête".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-02 20:46:27 +02:00

19 lines
800 B
Python

from ..connection import connect
from .ensure_quests_schema import ensure_quests_schema
from .get_quest import get_quest
def create_quest(slug, title="Nouvelle quête"):
"""Titre par défaut plutôt qu'un refus — créée d'un clic depuis la
liste (voir l'onglet "🗺️ Quêtes", templates/scene_edit.html) ou depuis l'assistant "+ Action"
de l'éditeur de collision (voir collision-rules-editor.js), avant
même que l'auteur ait choisi un titre."""
ensure_quests_schema(slug)
title = (title or "").strip() or "Nouvelle quête"
conn = connect(slug)
conn.execute("INSERT INTO _quests (title) VALUES (?)", (title,))
new_id = conn.execute("SELECT last_insert_rowid() AS id").fetchone()["id"]
conn.commit()
conn.close()
return get_quest(slug, new_id)