Formules & propriétés calculées
AvancéÉcrire des formules pour calculer automatiquement des caractéristiques.
Une propriété de type Formule calcule sa valeur automatiquement à partir d'autres propriétés. C'est l'outil idéal pour les modificateurs, les statistiques dérivées et toute valeur qui dépend d'autres valeurs.
Référencer une autre propriété
Dans une formule, on désigne une propriété par son clé précédée d'une arobase :
@force
Quand la valeur de @force change, la formule se recalcule toute seule. Exemple classique
d'un modificateur :
floor((@force - 10) / 2)
Opérateurs disponibles
| Catégorie | Opérateurs |
|---|---|
| Arithmétique | + - * / % (modulo) ^ (puissance) |
| Comparaison | < > <= >= == != |
| Conditionnel | condition ? valeur_si_vrai : valeur_si_faux |
Fonctions disponibles
Vous pouvez utiliser les fonctions mathématiques suivantes :
| Fonction | Rôle |
|---|---|
min(a, b) | la plus petite valeur |
max(a, b) | la plus grande valeur |
round(x) | arrondi au plus proche |
floor(x) | arrondi à l'inférieur |
ceil(x) | arrondi au supérieur |
abs(x) | valeur absolue |
sqrt(x) | racine carrée |
pow(x, n) | x puissance n |
Exemples utiles
Classe d'armure avec plafond de Dextérité :
10 + min(@dexterite_mod, 2) + @bouclier
Points de vie selon le niveau et la Constitution :
@niveau * (@de_de_vie + @constitution_mod)
Bonus conditionnel (si le niveau atteint 5, +1, sinon 0) :
@niveau >= 5 ? 1 : 0
Prévisualiser et déboguer
Au moment de créer ou modifier une propriété Formule (dans les Paramètres), une prévisualisation en direct affiche le résultat de la formule, ce qui aide à repérer une erreur de syntaxe ou une référence à une propriété inexistante.
Une formule ne peut référencer que des propriétés existantes via
@clé. Vérifiez l'orthographe exacte de la clé si le résultat reste vide ou en erreur.
Formule vs. Dérivée
- Une propriété Formule se calcule à partir d'autres propriétés que vous écrivez.
- Une propriété Dérivée reçoit sa valeur des bonus appliqués par les entités liées (équipement, race, classe…). Ce mécanisme est expliqué dans Reçoit / Transmet.