Systèmes de règles
Le langage des dés
Les formules derrière chaque phrase : notation des dés, valeurs lues par un jet, comment un jet est interprété, avec des recettes pour les mécaniques courantes.
Un petit langage sous chaque phrase
Chaque nombre d’un système de règles est soit un nombre simple, soit une formule dans un petit langage : les dés d’un jet, une cible, le maximum d’une jauge, le modificateur d’une caractéristique, la santé d’un ennemi par rang, un montant sur une carte de règle. Tu as rarement besoin d’en écrire un : l’éditeur de phrases, le composeur et Hob les écrivent pour toi. L’onglet Avancé les affiche tous quand tu veux.
C’est volontairement petit. Ce n’est pas un langage de programmation : pas de boucles, pas d’accès hors des valeurs qu’on lui donne, rien qui puisse mal se comporter. Une formule qui n’a pas de sens est refusée à la sauvegarde, dans une phrase qui dit ce qui cloche.


Dés
| Écriture | Signification | Exemple |
|---|---|---|
d20 | Un dé à vingt faces | 13 |
3d6 | Trois dés à six faces, additionnés | 4 + 2 + 6 = 12 |
2d20kh1 | Deux d20, garder le plus haut (avantage) | (7, 16) → 16 |
2d20kl1 | Garder le plus bas (désavantage) | (19, 7) → 7 |
4d6kh3 | Quatre d6, garder les trois meilleurs | (5, 2, 6, 3) → 14 |
(@stat)d6 | Autant de dés que le dit une valeur | Prowl 3 → 3d6 |
d(@dexterity) | Un dé aussi gros que le dit une valeur, pour les jeux où une caractéristique est un dé | Dexterity 10 → d10 |
6d10>=6 | Compter les dés à 6 ou plus : la valeur est le compte | (2, 6, 9, 10, 1, 7) → 4 |
3d6! | Explosif : une face maximale relance un dé | (6, 2, 4) + 5 → 17 |
4dF | Dés Fate : chacun vaut −1, 0 ou +1 | (+, 0, −, +) → +1 |
d100 | Percentile ; d% est identique à | 47 |
d100t(1) | Percentile avec un dé de dizaines bonus (garder les meilleures dizaines) ; t(-1) un dé de malus | (4 or 7, 3) → 43 |
d12[Hope] | Un dé avec un nom : affiché avec son nom, et lisible par les cartes de règle | Hope d12 (9) |
Chaque face est conservée dans le relevé du jet, pour que le plateau de dés puisse le rejouer et que la pastille du jet puisse l’afficher. Tous les dés sont lancés depuis une graine : le même jet, relancé pour le même tour, donne les mêmes faces.
Nombres et logique
- Arithmétique
+ - * /et des parenthèses :floor((@str - 10) / 2)- Comparaisons
> >= < <= == !=, ce qui donne 1 ou 0 :@hp < 5- Logique
et,ou,not:@cond.blessed > 0 and @nerve >= 3- Choix
if … then … else …:if @level >= 5 then 2 else 1. Seule la branche empruntée est évaluée, donc seuls ses dés sont lancés.- Fonctions
floor ceil round abs min max clamp:clamp(@edge + @cond.edge, -1, 1)
Valeurs qu’une formule peut lire
| Écriture | Ce que c’est | Où |
|---|---|---|
@str | La valeur d’une caractéristique (par son id) | Partout |
@str.mod | Le modificateur d’une caractéristique : sa valeur quand elle n’en a pas | Partout |
@stat | La caractéristique lancée ; @stat.mod son modificateur | Le jet et la cible d’un test |
@hp | La valeur actuelle d’une jauge ; @hp.max son maximum | Partout |
@proficiency | Une valeur dérivée (par son id) | Partout |
@level | Le niveau du personnage ; @xp son xp. Dans une capacité réglée sur Évolue avec le niveau en une classe, ses propres usages, coût, effets et modificateurs lisent @level comme son niveau dans cette classe, tant qu’il la détient | Partout |
@class.hit_die | Ce que sa classe indique pour une valeur (le défaut du système quand elle n’indique rien, calculé comme celle de la classe en question ; sinon 0). Avec plusieurs classes, selon le système : tout s’additionne, on garde la plus haute ou celle de la première classe | Partout |
@classlevel.wizard | Le niveau dans une classe (par son id), 0 s’il ne la détient pas | Partout |
@classlevel | Son niveau dans cette classe : 2 * @classlevel grandit à chaque niveau dans celle-ci | Les valeurs propres d’une classe, et les défauts de classe du système |
@classfirst | 1 pour la classe prise en premier, 0 pour toute autre : ce que seule la première classe donne | Les valeurs propres d’une classe, et les défauts de classe du système |
@own.hit_die | La valeur propre à cette classe d’un autre nom (son dé de vie), où @class.hit_die lirait la valeur additionnée | Les valeurs propres d’une classe, et les défauts de classe du système |
@classes | Combien de classes il détient ; @mastered combien sont au plafond | Partout |
@rank | Le rang de cette capacité : 1 à la première prise, un de plus à chaque reprise | Le coût, les effets, les usages et les modificateurs propres d’une capacité |
@rank.toughened | Le rang d’une capacité (par son id), 0 s’il ne la connaît pas | Partout |
@difficulty | Le nombre derrière le mot choisi par le conteur pour une étiquette (Difficile → 20). Chaque étiquette est lisible par son id : @edge, @position. | Le jet et la cible d’un test |
@spend_push | 1 si le joueur a payé cette dépense avant le jet, sinon 0 | Le jet d’un test |
@cond.edge | Ce que les états de la fiche additionnent en edge ; @cond.mod comme bonus ou malus | Le jet d’un test |
@cond.poisoned | Le niveau d’un état (0 s’il est absent) ; @cond.poisoned.left ses ticks restants | Partout |
@opp.insight.mod | La caractéristique ou le modificateur de l’adversaire, quand un jet vise quelqu’un de présent ; @opp.tier son rang | Les cibles opposées d’un test |
@defence | La défense du défenseur | Le test d’attaque |
@second | Une valeur que le coup lit à côté de sa caractéristique, sous le nom que lui donne le système ou l’arme (Ce que chaque attaque lit, Ce que son attaque lit) : le second dé d’un jet à deux caractéristiques, ou tout autre nom (@accuracy, @weapon_die) | Le test d’attaque et les dégâts |
@tier | Le rang de l’ennemi, de 1 à 6 | Modèles d’ennemis |
@this | La caractéristique elle-même ; @linked la caractéristique sur laquelle elle s’appuie | Le modificateur d’une caractéristique |
@group.Hope.high | La plus haute face d’un dé nommé ; aussi .tops (faces hautes), .ones, .successes, .value | Résultats et cartes de règle après un jet |
@total | Le total du jet ; aussi @target, @margin (total − cible), @measure | Résultats et cartes de règle après un jet |
@event.amount | Les dégâts du coup qui a déclenché la carte | Cartes de dégâts |
@roll.high | Le dé le plus haut du jet d’attaque qui a porté le coup ; @roll.low le plus bas ; @group.First.value un dé nommé. @roll.high + 5 est un Jet haut, sans dés propres | Dégâts (armes, capacités, ennemis, ceux du joueur) |
@thing.ship.hull | Une valeur sur le premier élément de ce type du personnage | Partout |
Comment un jet est lu
Un jet a un lancer et une façon de le lire. La lecture transforme les dés en mesure des bandes de résultat :
| Lecture | Mesure | Options |
|---|---|---|
| Total contre une cible | Un degré : −1 fumble, 0 échec, 1 réussite, 2 critique | steps : dépasser la cible de tant pour une critique, la manquer de tant pour un fumble (PF2e : 10). naturals : une face extrême du premier dé fixe ou décale le degré. |
| Total en tranches | Le total lui-même | Tranches par intervalle : 10+, 7-9, 6- (PbtA). |
| Jet sous la cible | Un grade : −1 fumble, 0 échec, 1 réussite, 2 dur, 3 extrême | grades (fractions de la cible), ce qui compte comme critique (un 1, atteindre exactement la cible, des doubles), ce qui fumble, les faces qui réussissent ou échouent toujours, des niveaux de réussite au lieu de grades, ou le dé de dizaines propre au jet (jet sous la cible mais haut : plus haut est mieux). |
| Dé le plus haut | La meilleure face ; plusieurs faces maximales comptent un de plus | Forged in the Dark. |
| Compter les réussites | Le compte | Les paires d’une face comme réussites supplémentaires et une critique (dizaines dans un pool de d10). |
En plus de toute lecture, un jet peut comparer deux dés nommés (Hope contre Fear) : le dé le plus haut ajoute un mot au résultat et ses propres effets ; des dés égaux hauts peuvent être un critique (ou seulement à partir d’une face donnée, comme des doubles de 6 ou plus), et des dés égaux bas un échec critique (double 1).
Recettes
L’avantage de la cinquième édition, avec états et épuisement
(if @edge + clamp(@cond.edge + (if @exhaustion >= 1 then -1 else 0), -1, 1) > 0 then 2d20kh1 else if @edge + clamp(@cond.edge + (if @exhaustion >= 1 then -1 else 0), -1, 1) < 0 then 2d20kl1 else d20) + @stat.mod + @cond.mod
Le jet de caractéristique du Classic d20 : autant de désavantages et d’avantages que voulu ne comptent qu’une fois dans un sens ou l’autre.
Se surpasser pour un dé de plus
if @stat + @spend_push <= 0 then 2d6kl1 else (@stat + @spend_push)d6
Forged in the Dark : zéro pips lance deux dés et garde le plus bas ; payer la dépense « push » (2 Stress) ajoute un dé.
Hope, Fear, et un d6 si tu dépenses de l’Hope
d12[Hope] + d12[Fear] + @stat + (if @spend_hope > 0 then d6 else 0)
Deux dés de caractéristique : une caractéristique est un dé
d(@stat)[Premier] + d(if @second_stat == 1 then @dexterity else @insight)[Second] + @cond.mod
read: total against @difficulty; matching dice of 6 or more are a critical, double 1s a fumble
attack: d(@stat)[Premier] + d(@second)[Second] reads: { "second": "@might" }Le moteur du deux dés de caractéristique compositeur : chaque caractéristique est une taille de dé (d6 à d12), et le second dé est la caractéristique qu’un mot choisi par le MJ désigne. Une caractéristique affichée comme un dé se lit toujours comme un vrai dé : un +1 d’équipement laisse un d8 en d8, un +2 en fait un d10. Une condition qui déplace une caractéristique par paliers est déjà dans @stat : Étourdi, un palier plus bas sur la Perspicacité, lance un d10 de Perspicacité comme d8. Voir Conditions qui déplacent une caractéristique. Le second dé d’un coup est @second, que chaque attaque lit comme la caractéristique de combat ; un bâton dont les reads disent { "second": "willpower" } lance VOL + VOL. Voir Ce que son attaque lit.
Un nombre qui grandit avec une classe
"values": { "caster": "@classlevel", "kit": "2 * @classlevel", "hp": "5" }Les valeurs propres d’une classe, sous plusieurs classes : un niveau de lanceur de sorts, 2 points de kit par niveau de classe, et +5 points de vie pour la posséder tout court. Additionnés à travers leurs classes, un magicien 2 / clerc 3 a un niveau de lanceur de sorts de 5. Une capacité héroïque conditionnée à la maîtrise lit @classlevel.sentinel >= 10 ou @mastered >= 1. Voir Des nombres à travers les classes.
Points de vie par le dé de chaque classe
"hit_points": "@classfirst * (floor(@own.hit_die / 2) - 1) + @classlevel * (floor(@own.hit_die / 2) + 1)"
Le défaut de classe du Classic d20, calculé une fois pour chaque classe détenue : tout le dé de la première classe à son premier niveau, la moyenne du dé à chaque niveau suivant, et la moyenne d’une classe ultérieure dès son premier. Un Guerrier 1 / magicien 1 obtient 10 + 4. Voir Un défaut calculé par classe.
Percentile avec dés de bonus et de malus
d100t(@edge) read: roll under, target @stat.mod * @difficulty
Un réservoir de Faim : certains dés sont dangereux
(@stat - @hunger)d10>=6 + (@hunger)d10[Hunger]>=6
Compte les réussites dans les deux groupes ; puis une carte de règle lit @group.Hunger.ones pour transformer un échec avec un 1 sur un dé de Faim en quelque chose de pire.
Degrés de réussite par dizaines
roll: d20 + @stat.mod read: total against @difficulty, steps 10, naturals 20 / 1 shift the degree
Un mensonge opposé
opposed: { "deception": "10 + @opp.insight.mod" }Un mensonge dit à quelqu’un de présent est lancé contre sa Perspicacité passive au lieu d’une difficulté.