Ceci est une ancienne révision du document !
Table des matières
Language / Langue : FR | EN
Actions personnalisées (YAML)
Les actions personnalisées ajoutent des commandes au nom libre. Le joueur utilise la commande nomaction cible sur Discord, ou tape le verbe directement sur web/desktop.
Déclaration
Actions locales : dans le bloc actions: d'une salle, disponibles uniquement dans cette salle.
Actions globales : dans le bloc actions_globales: au niveau racine, disponibles partout.
actions: - verbe: examiner cible: coffre si: ~ texte_ok: "Un vieux coffre en bois. Il semble verrouillé." texte_ko: "Il n'y a rien d'intéressant ici." - verbe: ouvrir cible: coffre si: "cle" faire: - "or.+.50" - "-cle&&inventaire&&null" # retire la clé texte_ok: "Vous ouvrez le coffre ! +50 pièces d'or." texte_ko: "Le coffre est verrouillé. Il vous faut une clé."
Cible all
Avec cible: all, n'importe quelle saisie est acceptée :
actions_globales: - verbe: aller cible: all si: ~ faire: "t_action_cible_ok_t" # redirige vers la salle tapée texte_ko: "Destination inconnue : t_action_cible_t."
| Variable | Valeur |
|---|---|
t_action_cible_t | Ce que le joueur a tapé (valide ou non) |
t_action_cible_ok_t | Dernière cible valide tapée |
Conditions multiples sur la même cible
Plusieurs lignes avec le même verbe+cible sont testées dans l'ordre :
actions: - verbe: combiner cible: herbe si: "herbe t_combinaison_t.=.rien" faire: - "-herbe&&inventaire&&null" - var_texte: combinaison valeur: "herbe" texte_ok: "L'herbe entre dans l'alambic." texte_ko: "Vous n'avez pas d'herbe." - verbe: combiner cible: all si: ~ texte_ok: "t_action_cible_t n'est pas un ingrédient connu."
Les actions locales sont testées avant les globales. La première condition vraie gagne.
Alias d'action
alias: crée un raccourci : le joueur peut taper le mot seul sans le verbe :
actions: - verbe: inspecter cible: alambic alias: alambic # taper "alambic" = "inspecter alambic" si: ~ texte_ok: "L'alambic central. Utilisez 'combiner [ingrédient]'."
Bouton sur une action
bouton: ajoute un bouton sur Web/Desktop ou une réaction sur Discord :
actions: - verbe: utiliser cible: potion bouton: "Utiliser la potion" visible-si: "potion" # masqué si l'inventaire n'a pas de potion grise-si: "v_pv_v >= v_pvmax_v" # grisé si PV déjà au max si: "potion" faire: - "-potion&&inventaire&&null" - "pv.+.5" texte_ok: "Vous buvez la potion. +5 PV !" texte_ko: "Vous n'avez pas de potion."
Données, boucles et raccourcis (4.17)
faire: accepte les écritures espacées comme vie + 10, les opérations de listes, les groupes conditionnels et les boucles. Voir Listes, collections et boucles.
Les actions, choix et événements peuvent recevoir un raccourci clavier, souris ou manette, avec ou sans bouton. Les conditions et limites de l'interaction restent appliquées.
Noms affichés des objets
Les cibles d'actions et t_action_cible_t gardent l'identifiant de l'objet, même si le joueur le désigne par son nom affiché. Les cibles explicites gardent leur priorité. Pour changer le nom visible pendant la partie :
faire: - nom_affiche: cle_atelier valeur: clé identifiée
Une valeur vide rétablit l'identifiant d'origine. Voir Objets : noms affichés, renommage et décors secrets pour les règles et les exemples.
