# Principe

Une condition de variable compare la valeur actuelle d'une variable d'histoire à une valeur attendue : égale, différente, supérieure, inférieure… Le choix n'apparaît que si la comparaison est vraie. Les variables sont modifiées ailleurs dans le récit (actions d'étape, fins de dialogue, boutons d'email…) — la condition, elle, ne fait que lire.

Exemple

Si la variable « courage » est supérieure à 5, le choix « Affronter le dragon » apparaît. Chaque acte de bravoure du lecteur a incrémenté « courage » en chemin : c'est son parcours qui ouvre cette porte.

Les comparateurs proposés s'adaptent au type de la variable : valeurs Oui/Non pour un booléen, comparaisons numériques (>, <, =) pour un nombre, égalité pour un texte. En multijoueur, une variable partagée est commune à toute la session ; une variable classique est propre à chaque joueur.

Bon réflexe

Pensez aux conditions multiples : « courage > 5 ET ÉpéeMagique débloquée » se construit en ajoutant deux conditions sur le même lien, reliées par ET.

# Condition experte : l'expression

Quand une simple comparaison ne suffit pas, le type de condition « Expression » vous laisse écrire une formule qui combine plusieurs variables, des statistiques de personnage, des opérations et des fonctions. La formule est évaluée à la lecture : si son résultat est vrai (ou un nombre différent de zéro, ou un texte non vide), le choix apparaît. C'est l'équivalent, en une seule ligne, de ce que l'on ferait avec plusieurs conditions reliées par ET/OU — en beaucoup plus souple.

Exemple

`force` + `agilité` >= 15 && `potions` > 0 — le choix « Tenter l'escalade » n'apparaît que si la somme force + agilité atteint 15 ET qu'il reste au moins une potion.

On désigne une variable ou une statistique par son nom encadré de accents graves (les backticks : `nom`). Les backticks sont indispensables dès que le nom contient un espace, un accent ou une ponctuation : `Points de vie`, `Épée +1`. Un nom simple sans espace peut s'écrire sans backticks, mais les mettre systématiquement évite toute ambiguïté. Dans l'éditeur, les boutons « Insérer une variable » et « Insérer une stat » posent le nom correctement encadré pour vous.

Opérateurs disponibles — arithmétique + - * / % ^, comparaison == != < <= > >=, logique && || ! (ou leurs mots-clés and or not). Fonctions — min, max, abs, round, floor, ceil, sqrt, pow pour les nombres ; len, contains, lower, upper, concat pour le texte ; if(condition, siVrai, siFaux) pour un choix en ligne ; random, randint, pick pour l'aléatoire (tirage reproductible, propre à chaque lecture).

Le moteur sert aussi ailleurs

La même syntaxe de formule se retrouve à trois autres endroits : une mutation calculée (une action d'étape « ƒ » qui écrit le résultat d'une formule dans une variable) ; un texte dynamique dans vos étapes, en écrivant {{= `pv` }} pour afficher une valeur calculée en plein récit ; et surtout les variables calculées — une variable dont la valeur EST une formule, recalculée à chaque lecture et réutilisable partout comme une variable normale. C'est votre bibliothèque de formules réutilisables.

Tester avant de publier

Sous le champ d'expression, le bouton « Tester » évalue votre formule en direct. En mode bac à sable, vous renseignez des valeurs d'essai pour chaque variable référencée et voyez immédiatement le résultat (Vrai/Faux et la valeur calculée). Les erreurs de syntaxe sont signalées sur place : une formule invalide est considérée comme fausse à la lecture, elle ne bloque jamais le récit.