Quête "nouvelle" : écran Accepter/Refuser à la fin du dialogue
Build and deploy / test-python (push) Successful in 7m13s
Build and deploy / test-js (push) Successful in 1m5s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped

Une fois le dialogue épuisé, si la quête est encore "nouvelle", la
boîte de dialogue bascule sur un écran d'offre au lieu de se masquer :
header "Quête : <titre>", body l'objectif, pied deux boutons.

- Accepter -> la quête passe "en_cours" (en MÉMOIRE seulement,
  gameData.quests — jamais persisté en base : le statut en base est
  celui de DÉPART pour toute nouvelle partie, pas un état de partie en
  cours, voir PLAYER_SHARED/full_game_payload.py).
- Refuser -> la boîte se referme SANS toucher au statut, qui reste
  "nouvelle" : la prochaine interaction rejoue exactement le même
  dialogue depuis le début — impossible d'avancer la quête sans
  l'accepter un jour.

Pour tout autre statut (déjà "en_cours"/"terminee"), la boîte se
masque normalement à la fin du dialogue, comme avant.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-03 14:00:02 +02:00
co-authored by Claude Sonnet 5
parent df34106752
commit e90d941527
4 changed files with 178 additions and 25 deletions
+9 -1
View File
@@ -653,12 +653,20 @@ body.builderBody > main.content{ flex:1 1 auto; min-height:0; overflow:hidden; d
.playScreen .dialogueBoxWidget.is-active{ display:flex; }
.dialogueBoxHeader{ padding:8px 12px; font-weight:700; }
.dialogueBoxBody{ padding:10px 12px; flex:1; overflow-y:auto; }
.dialogueBoxFooter{ padding:6px 10px; display:flex; justify-content:flex-end; }
.dialogueBoxFooter{ padding:6px 10px; display:flex; justify-content:flex-end; gap:8px; }
.dialogueBoxNextBtn{
background:rgba(255,255,255,.15); color:inherit; border:1px solid rgba(255,255,255,.3);
border-radius:6px; padding:5px 12px; font:inherit; font-size:12px; cursor:pointer;
}
.dialogueBoxNextBtn:hover{ background:rgba(255,255,255,.28); }
/* Écran d'offre de quête (voir forgeShowQuestOffer, dialogue-box-controller.js) :
Accepter/Refuser remplacent le "Suivant" habituel dans le pied de la
boîte — verts/rouges pour rester lisibles sur n'importe quelle couleur
de pied choisie par l'auteur (voir "🎨 Style"). */
.dialogueBoxAcceptBtn{ background:#2ecc71; border-color:#2ecc71; color:#0b1a10; font-weight:700; }
.dialogueBoxAcceptBtn:hover{ background:#3ddb80; }
.dialogueBoxDeclineBtn{ background:rgba(224,82,77,.25); border-color:#e0524d; }
.dialogueBoxDeclineBtn:hover{ background:rgba(224,82,77,.4); }
/* Surbrillance de l'élément sélectionné dans l'arborescence, posée en JS sur
sa propre balise (voir applySelectionHighlight) — seul moyen de la voir