Mécaniques des entrées des ensembles de règles
Utilise cette page pour consulter ce que fait une entrée de catalogue en chiffres : le bloc mechanics d'une entrée, lu par les tests, les repos et les combats. C'est une référence pour les auteurs d'ensembles de règles. Avant de commencer, lis Écrire des ensembles de règles Game Mode.
Une entrée peut porter un bloc mechanics facultatif exprimant ses effets numériques : kind (attack, heal, buff, debuff, utility, rider), range, area, targets, targetCount, friendlyFire, amount (dés comme 2d6 ou nombre fixe), amountAdd (une valeur lue sur la fiche de l'utilisateur et ajoutée à la quantité, comme { "field": "level_fighter" } pour un Second Wind de 1d10 plus le niveau de guerrier ; il exige un amount, n'est lu que dans les combats propres à l'ensemble (les combats Classic et Tactical du moteur utilisent la quantité telle qu'elle est écrite) et relève de Capability API 1.83), damageType, attackRoll, autoHit, save (une sauvegarde de la fiche et l'effet d'une réussite), applies (états appliqués), temporary (points temporaires de santé), scales (quantité qui grandit avec la fiche), cost (réserve dépensée), perCostStep, targetsPerCostStep, budget (part de l'économie d'actions dépensée), concentration, reaction, plus, free, gives, standard, rider et check.
Une attaque qui vise des ennemis peut laisser de quoi frapper aux tours suivants avec summons (Capability API 1.122). Pour Spiritual Weapon, mets "summons": { "budget": "bonus", "rounds": 10, "move": 20, "reach": 5 } sur son entrée d'attaque. Le lancement fait la première attaque et laisse l'arme à côté de sa première cible une fois les réactions terminées ; un lancement annulé ne laisse rien. Les frappes suivantes ne dépensent que le budget d'économie déclaré, gardent le niveau de paiement du lancement pour la mise à l'échelle des dégâts et ouvrent les mêmes fenêtres de réaction. Les distances utilisent l'unité du catalogue ; un mouvement omis vaut zéro et une allonge omise, une case. Sur un plateau, l'arme peut frapper un ennemi à portée de son mouvement plus son allonge, en ignorant les murs, et se place à côté de lui. Sans plateau, tout ennemi debout est à portée. Les rounds sont décomptés à la fin des tours du porteur, sans compter le tour du lancement. L'invocation prend fin à zéro, à la défaite du porteur ou quand la concentration de son entrée prend fin. Relancer la même entrée remplace son invocation.
Une entrée avec une area peut persister avec zone (Capability API 1.172) : { "rounds", "anchor", "triggers", "atCast" }. Elle reste en place pendant rounds (de 1 à 1000) tours de son lanceur, comptés comme ceux d'une invocation, et prend fin plus tôt quand la concentration qui la maintient prend fin ou que son lanceur est vaincu. anchor: "point" (par défaut) garde les cases sur lesquelles elle a été lancée ; anchor: "caster" est une explosion autour de son lanceur qui le suit partout, donc sa portée vaut 0. triggers indique quand elle refait l'effet propre de l'entrée (amount, plus, save, applies) sur une créature : enter (la créature y entre, ou une zone portée par son lanceur l'atteint), turn-start ou turn-end (elle commence ou termine son tour dedans). Une créature est prise une fois par tour, quel que soit le déclencheur, et quiconque a été pris par le lancement lui-même compte comme pris ce tour-là. Qui elle prend suit l'entrée : friendlyFire: false laisse de côté le camp du lanceur, un soin ou une entrée alliée s'y limite, et une zone portée par son lanceur ne le prend jamais. atCast: false ne fait rien à son apparition. Relancer l'entrée remplace sa zone. Le plateau teinte ses cases, le combat la liste avec les tours qui lui restent, et le journal indique chaque prise. Hors plateau, elle garde ceux sur qui elle a été lancée, et turn-start et turn-end les prennent.
"mechanics": { "kind": "attack", "area": { "shape": "burst", "size": 20 }, "range": 120,
"amount": { "dice": "5d8" }, "damageType": "poison", "save": { "save": "con_save", "onSuccess": "half" },
"concentration": true, "zone": { "rounds": 100, "triggers": ["enter", "turn-start"] } }C'est Cloudkill. Spirit Guardians s'écrit "area": { "shape": "burst", "size": 15 }, "range": 0, "friendlyFire": false avec "zone": { "rounds": 100, "anchor": "caster", "triggers": ["enter", "turn-start"], "atCast": false } ; Moonbeam est une explosion de 5 pieds avec "triggers": ["enter", "turn-start"].
Une zone maintenue en un point peut se déplacer et changer son terrain (Capability API 1.173). move: { "budget", "distance" } permet à son lanceur de la déplacer pendant son tour : le combat propose "Move <zone>" pour ce budget, choisi sur le plateau comme un déplacement, vers toute case située à distance ou moins de son centre. drift: { "distance" } la déplace d'autant en ligne droite à l'opposé de son lanceur au début de chacun de ses tours, en s'arrêtant au bord du plateau. Dans les deux cas, quiconque elle couvre désormais sans l'avoir couvert auparavant est pris comme le dit enter. Seule une explosion maintenue en un point se déplace ou dérive. terrain: { "difficult": true } fait coûter double l'entrée dans chacune de ses cases pour quiconque elle prend (un terrain déjà difficile n'est pas doublé une seconde fois), et terrain: { "perDistance": { "every", "amount", "damageType" } } inflige amount (dés et valeur fixe, comme pour une entrée) à quiconque elle prend pour chaque every parcouru à l'intérieur, sans sauvegarde, cumulé sur plusieurs déplacements. Le journal indique chaque déplacement, chaque dérive et chaque blessure.
{
"id": "moonbeam",
"name": "Moonbeam",
"mechanics": {
"kind": "attack",
"range": 120,
"area": { "shape": "burst", "size": 5 },
"amount": { "dice": "2d10" },
"damageType": "radiant",
"save": { "save": "con_save", "onSuccess": "half" },
"concentration": true,
"zone": { "rounds": 10, "triggers": ["enter", "turn-start"], "move": { "budget": "action", "distance": 60 } }
}
}Cloudkill ajoute "drift": { "distance": 10 }. Spike Growth est une explosion de 20 pieds sans quantité propre, "triggers": [] (son terrain est tout ce qu'elle fait), "atCast": false et "terrain": { "difficult": true, "perDistance": { "every": 5, "amount": { "dice": "2d4" }, "damageType": "piercing" } }.
Une zone peut faire davantage à quiconque elle prend (Capability API 1.174). breaksConcentration: true fait lancer à une créature qu'elle prend pendant qu'elle se concentre la sauvegarde de concentration de l'ensemble contre la difficulté de sauvegarde propre à l'entrée, avant l'effet de l'entrée, et lui fait perdre sa concentration en cas d'échec ; l'entrée a besoin d'un save. damageCap met fin à la zone une fois qu'elle a infligé ce total de dégâts depuis son apparition, en comptant ses prises et son terrain. Sleet Storm est une explosion de 40 pieds avec "save": { "save": "dex" }, "applies": [{ "condition": "prone", "duration": "instant" }] et "zone": { "rounds": 10, "triggers": ["enter", "turn-start"], "breaksConcentration": true, "terrain": { "difficult": true } }. Guardian of Faith est une explosion avec "friendlyFire": false, "amount": { "flat": 20 } et "zone": { "rounds": 1000, "triggers": ["enter", "turn-start"], "atCast": false, "damageCap": 60 }.
La difficulté contre laquelle on échappe à un état appliqué par une entrée peut être la difficulté de sauvegarde propre à l'entrée (1.174) : "escapeDc": "save" sur l'entrée applies, à côté d'une confrontation dont le from.holding est cet état. Web et Black Tentacles entravent avec { "condition": "restrained", "duration": "until-save", "escapeDc": "save" }, et la confrontation de la créature entravée pour s'échapper se lance contre le DD de sauvegarde des sorts du lanceur. Quand ce qui l'a appliqué n'a pas de difficulté de sauvegarde, on s'en échappe comme le dit la confrontation, contre son porteur.
Le use d'un objet peut aussi porter concentration et zone (1.174), comme une entrée de catalogue : un parchemin de Cloudkill ou de Moonbeam garde sa zone persistante et est maintenu par la concentration de son lecteur.
Une zone déplacée peut percuter, et son terrain peut coûter plus cher (Capability API 1.175). move: { ..., "ram": true } l'envoie case par case droit vers l'endroit où elle a été déplacée ; à la première case où elle atteint quelqu'un qu'elle ne couvrait pas avant, elle s'arrête, le prend comme s'il avait été percuté (quoi que disent ses déclencheurs) et ne peut plus être déplacée ce tour-là. Les créatures qui y entrent en marchant ne sont prises que comme le disent ses déclencheurs. Flaming Sphere est une explosion de 5 pieds avec "triggers": ["turn-end"] et "move": { "budget": "bonus", "distance": 30, "ram": true }. terrain.costTimes (de 2 à 10) fait coûter chaque pas vers elle autant de pas ordinaires, et un terrain déjà difficile ne coûte pas plus que cela : Plant Growth s'écrit "terrain": { "costTimes": 4 }. Il remplace difficult, qui équivaut à costTimes: 2. terrain.halvesSpeed: true fait coûter encore double chaque pas à l'intérieur, en plus de tout terrain difficile : Spirit Guardians s'écrit "terrain": { "halvesSpeed": true }.
Les emprises qu'un sort impose ne peuvent être brisées que comme le sort le dit (également 1.175). Une confrontation pour se libérer avec "from": { "holding": "restrained", "escapable": true } n'est proposée que contre une emprise qui nomme un escapeDc : la même confrontation brise ainsi une toile, jamais une pétrification. applies[].escapeChecks nomme les tests de confrontation qui peuvent briser cette emprise, à la place des tests d'attaquant propres à la confrontation : Black Tentacles entrave avec "escapeDc": "save", "escapeChecks": ["might", "agility"], et Web avec "escapeChecks": ["might"]. zone.whileHeld: { "condition", "amount", "damageType" } inflige sa quantité, sans sauvegarde et à la place de l'effet propre de la zone, à quiconque commence un tour dedans en étant déjà retenu par cet état venant de son lanceur : le "whileHeld": { "condition": "restrained", "amount": { "dice": "3d6" }, "damageType": "bludgeoning" } de Black Tentacles.
Une entrée ou l'utilisation d'un objet peut guérir (Capability API 1.176). ends: { "conditions": [...], "count"? } retire ces états de sa cible dans l'ordre nommé, au plus count d'entre eux : Lesser Restoration s'écrit "ends": { "conditions": ["blinded", "deafened", "paralyzed", "poisoned"], "count": 1 }. stabilizes: true stabilise une cible mourante, qui ne lance plus de sauvegardes contre la mort, et nécessite un bloc de combat avec une règle dying : Spare the Dying. revives: { "withinRounds", "health" } ne vise que quelqu'un mort depuis au plus ce nombre de rounds et le ramène avec cette quantité : Revivify s'écrit "revives": { "withinRounds": 10, "health": { "flat": 1 } }. Une entrée qui ne fait que retirer des états ou stabiliser n'est proposée que contre quelqu'un qu'elle aiderait ; une entrée de type utility sans rien d'autre à faire est proposée tant qu'elle guérit.
Les zones peuvent être des boîtes, et les zones persistantes des murs (Capability API 1.177). area.shape: "box" est un carré de size de côté dont le coin proche se trouve sur la case visée et qui s'étend à l'opposé de son auteur ; le long d'un axe où son auteur est aligné avec elle, elle est plutôt centrée sur cette case. Sans range, elle est accolée à son auteur. Web s'écrit "area": { "shape": "box", "size": 20 } avec une portée de 60. area.shape: "wall" ne fait que persister et nécessite donc une zone : il mesure size de long et width d'épaisseur (une case sans cette clé), passe par la case visée perpendiculairement à la ligne qui part de son auteur, ou de là vers la case toward du choix ; "ring": <diameter> permet à son lanceur de le poser plutôt en anneau de ce diamètre autour de la case visée, quand le choix indique "ring": true. Un mur n'a besoin d'aucun déclencheur : Wind Wall ne fait son effet qu'à son apparition. Un mur n'est jamais déplacé, ne dérive pas et ne suit pas son auteur. zone.blocks: ["move", "sight"] ferme ses cases au déplacement, à la vue, ou aux deux tant qu'il tient, et quiconque se trouve là où il s'élève est placé sur la case libre la plus proche (du côté choisi si une case y est aussi proche) : Wall of Stone bloque les deux, Wall of Force le déplacement, Wall of Fire la vue. zone.side: { "distance", "triggers" } fait prendre aux cases situées à distance ou moins d'un côté comme le disent ses propres triggers, en plus des cases du mur ; le side du choix indique lequel, near son auteur (à l'intérieur d'un anneau) ou far (à l'extérieur), le côté éloigné s'il est omis. Wall of Fire s'écrit "area": { "shape": "wall", "size": 60, "ring": 20 }, "zone": { "rounds": 10, "triggers": ["enter", "turn-end"], "blocks": ["sight"], "side": { "distance": 10, "triggers": ["turn-end"] } }.
La vue compte (Capability API 1.178). combat.senses liste les sens qui voient là où les yeux ne le peuvent pas, chacun { "id", "label", "sheet"?, "blind"? } : la portée d'un personnage se lit sur sa fiche par sheet (rien à zéro), une créature porte les siennes sous la forme "senses": { "darkvision": 60 } dans la distance de l'ensemble, et un sens blind (vision aveugle, perception des vibrations) fonctionne sans les yeux. Le bloc a alors besoin de combat.distance. Une zone avec obscures cache tout ce qui s'y trouve, et tout ce qu'on voit à travers, à quiconque n'a à portée aucun des sens listés par son pierced : Fog Cloud s'écrit "obscures": {}, Darkness "obscures": { "pierced": ["blindsight", "truesight"] }. Une telle zone n'a besoin d'aucun déclencheur, et une entrée utility qui ne fait que laisser une zone en place (Fog Cloud, Darkness, un mur) figure dans le menu et se pose où son lanceur le choisit. Une entrée de combat.conditions avec unseen cache son porteur de la même façon : invisible s'écrit "unseen": { "pierced": ["blindsight", "truesight"] }. combat.sight indique ce que cela fait : unseenAttacks: true donne l'avantage à une attaque quand sa cible ne peut pas voir l'attaquant et le désavantage quand l'attaquant ne peut pas voir sa cible, et eyes nomme le sens (comme le lacks d'un état le nomme) qui correspond à la vue : une créature aveuglée ne voit alors que par un sens blind. Une entrée ou une action de créature avec seen: true ne peut choisir que des cibles que son auteur voit, comme le dit "a creature you can see within range". Une explosion ou une boîte peut être posée plusieurs fois à la fois avec area.copies (de 2 à 10), chaque copie en touchant une autre, et le joueur place chacune : Fire Storm s'écrit "area": { "shape": "box", "size": 10, "copies": 10 }. Une zone posée plusieurs fois reste là où elle est lancée.
Les zones peuvent agir sur quiconque s'y tient (Capability API 1.179). combat.components nomme ce dont l'utilisation de quelque chose peut avoir besoin, chacun { "id", "label" } (les composantes verbale, somatique et matérielle de 5e), et une entrée ou l'action d'une créature liste les siennes dans components. L'inside d'une zone applique des conditions à quiconque s'y trouve et le protège des types de dégâts de immune tant qu'il y reste ; son forbids: { "components": [...] } empêche d'utiliser à l'intérieur tout ce qui en a besoin, comme le forbids d'un état le fait pour son porteur (bâillonné). Silence s'écrit "inside": { "conditions": ["deafened"], "immune": ["thunder"] }, "forbids": { "components": ["verbal"] }. Le wards: { "catalogs": [...], "maxLevel": N } d'une zone protège quiconque est à l'intérieur de tout ce qui provient de ces catalogues et est utilisé depuis l'extérieur au niveau N ou moins, jugé au niveau auquel il est payé : Globe of Invulnerability s'écrit "wards": { "catalogs": ["spells"], "maxLevel": 5 }. Un état qui retire des budgets (budgets avec un flat négatif), appliqué pendant le tour de son porteur, les retire aussi de ce tour : la sauvegarde ratée de Stinking Cloud au début du tour coûte donc l'action de ce tour.
Les sens et la vue vont plus loin (Capability API 1.180). Un état qu'une entrée applique peut prendre fin quand son porteur agit : "endsWhenHolder": { "attacks": true, "casts": ["spells"] } le retire dès qu'il a fait une attaque ou utilisé une entrée d'un catalogue qu'il nomme, et l'utilisation d'un objet qui indique "casts": "spells" (un parchemin, une baguette) compte comme un lancement depuis ce catalogue. L'attaque ou le sort qui y a mis fin en bénéficiait encore : Invisibility donne donc l'avantage à sa seule attaque et disparaît ensuite. Ce qu'une zone en place fait d'elle-même n'est pas une action de son lanceur. Un état de combat.conditions, ou l'effet worn ou carried d'un objet, peut donner des sens avec une portée dans la distance de l'ensemble, "senses": { "darkvision": 60 } ; la plus longue de cette portée et de celle du porteur compte tant qu'il dure : le sort Darkvision, True Seeing ({ "truesight": 120 }) et les lunettes de nuit fonctionnent ainsi. Un état avec "cancelsUnseen": true permet à tout le monde de voir son porteur, quel que soit l'état qui le cache, comme Faerie Fire dessine le contour des invisibles ; les zones qui masquent et les murs le cachent toujours.
Les protections, les sauvegardes, l'incantation des monstres et les parchemins vont plus loin (Capability API 1.181). Le wards d'une zone compare le niveau auquel un sort a été payé, sauf s'il indique "by": "base", qui compare le niveau propre du sort quel que soit son paiement, comme le fait Globe of Invulnerability. "maxLevelPerCostStep": 1 repousse un niveau de plus pour chaque cran dont le lancement de la protection elle-même a été payé au-dessus de sa base. Le save d'une entrée ou d'une action de créature peut indiquer contre quoi d'autre il compte, "against": { "damage": ["poison"] }, pour qu'un modificateur de sauvegarde against le poison s'y applique, et qui réussit sans lancer : "succeeds": { "immune": ["poison"], "conditionImmune": ["poisoned"], "is": { "tags": ["nonbreathing"] } } (un seul suffit), comme l'exige Stinking Cloud. Le spellcasting d'une créature peut indiquer ce dont ses sorts ont besoin à la place des components de chaque entrée, pour tout le trait ou sort par sort, avec [] pour une incantation innée qui n'en exige aucune : Silence ne l'arrête alors pas. L'utilisation d'un objet peut être "kind": "utility" quand elle ne fait que laisser une zone en place (un parchemin de Fog Cloud, Darkness, Silence ou Globe of Invulnerability) ; elle a besoin d'une area et d'une zone.
Poussées, vents et lunettes (Capability API 1.182). Le "push": 15 d'une entrée pousse quiconque elle touche sans réussir sa sauvegarde de 15 dans la distance du catalogue, en ligne droite à l'opposé de son auteur, en s'arrêtant devant tout obstacle solide ou toute personne debout ; une zone pousse de la même façon quiconque elle prend. Une zone maintenue par son lanceur ("anchor": "caster") peut désormais être une ligne ou un cône aussi bien qu'une explosion : elle pointe dans la direction où elle a été lancée et suit son lanceur, et "turn": { "budget": "bonus" } permet à celui-ci de dépenser ce budget pendant son tour pour l'orienter autrement, en prenant quiconque elle couvre désormais comme s'il y était entré (le Gust of Wind de 5e). Le terrain d'une zone avec "towardCaster": true ne rend le terrain difficile que pour un pas qui rapproche celui qui se déplace de son lanceur. Un sens donné par un état ou un objet peut être { "add": 60 } au lieu d'une portée : il s'ajoute à la portée de ce sens chez le porteur, ou donne 60 à quelqu'un qui n'en a pas (les lunettes de nuit de 5e).
Des zones qui se déclenchent plus tard ou se consument (Capability API 1.183). Une zone avec "detonates" ne fait rien tant qu'elle tient ni à son lancement : quand elle prend fin, parce que sa concentration a pris fin, que ses rounds sont écoulés ou qu'elle a été relancée, elle fait une fois l'effet propre de l'entrée à tous ceux qui s'y trouvent. "grows": { "dice": "1d6" } ajoute autant à sa quantité à la fin de chaque tour de son lanceur, y compris le tour du lancement : elle lance donc les mêmes dés que la quantité propre de l'entrée ; "touched": true fait lancer la sauvegarde de l'entrée à quiconque se déplace sur son centre, et la déclenche en cas d'échec (le Delayed Blast Fireball de 5e). Elle reste là où elle a été lancée. Une zone avec "burns": { "by": ["fire"], "amount": { "dice": "2d4" }, "damageType": "fire" } est enflammée par des dégâts de l'un de ces types qui touchent l'une de ses cases ou quelqu'un qui s'y trouve ; elle se consume quand le tour de son lanceur revient, ce qui met fin au sort, et inflige entre-temps sa quantité sans sauvegarde à toute autre personne qui commence un tour dedans (le Web de 5e).
Les créatures poussent aussi (Capability API 1.184). L'action d'une créature accepte "push": 60 dans la distance propre de l'ensemble, comme une entrée de catalogue : quiconque elle touche est poussé d'autant en ligne droite à l'opposé de la créature et, avec un save, seulement en cas d'échec : "onSuccess": "none" garde donc les dégâts et n'épargne que la poussée et ce que applies applique (la Tail d'une tortue-dragon). L'utilisation d'un objet peut donner une width à une ligne, comme les 60 pieds sur 10 d'un parchemin de Gust of Wind.
Ce qu'est une créature compte davantage (Capability API 1.185). Une sauvegarde peut indiquer "modes": [{ "is": { "types": ["undead"] }, "mode": "disadvantage" }], pour qu'une cible de ce type la lance deux fois et garde le pire résultat (Sunbeam) ; le "maxAgainst": { "types": ["plant"] } d'une entrée inflige ses dégâts maximaux à une cible de ce type (Blight). targetTypes peut aussi indiquer "abilityAtMost": { "int": 3 }, pour une cible dont la valeur ne dépasse pas celle-là (une créature écrite sans cette valeur n'est pas exclue), et "notImmuneTo": ["charmed"] (Sleep). Le modificateur d'un état peut faire lancer les attaques deux fois : { "to": "attacks", "mode": "disadvantage", "atSource": true } concerne les propres attaques du porteur contre celui qui le lui a appliqué (Chill Touch), et { "to": "attacks-taken", "mode": "disadvantage", "from": { "types": ["fiend", "undead"] } } les attaques faites contre le porteur par des attaquants de ce type (Protection from Evil and Good). Une modification des sauvegardes peut être "against": { "from": { "types": ["dragon"] } }, qui correspond à toute sauvegarde contre une chose faite par une créature de ce type (Dragon Scale Mail).
Les actions d'une créature peuvent se recharger ensemble (Capability API 1.186) : donne à chaque "recharge" le même "group" et les mêmes dés ; utiliser l'une dépense les deux, et un seul jet au début du tour de la créature les ramène toutes les deux (les deux souffles d'un dragon métallique). Un coup peut avoir une "charge" : { "atLeast": 10, "plus": [{ "dice": "2d8", "type": "piercing" }], "save": { "save": "str_save", "difficulty": 14 }, "push": 10, "applies": [{ "condition": "prone", "duration": "instant" }] } ajoute ses clauses quand le déplacement de la créature ce tour-ci s'est terminé par une course d'au moins atLeast droit vers celui qu'elle frappe, chaque pas la rapprochant d'une case ; la cible fait alors la sauvegarde et, en cas d'échec (ou toujours, sans sauvegarde), est poussée et reçoit les états (la Charge d'un minotaure). Une charge accompagne un coup contre une seule cible et ne se mesure que sur un plateau.
L'attack d'un objet peut en dire plus sur ce qu'il touche (Capability API 1.187). "against": [{ "is": { "types": ["construct"] }, "toHit": 2 }] ajoute au toucher contre une cible de ce type (une masse de destruction). Une clause plus peut indiquer "not": { "types": ["construct", "undead"] } pour ignorer les cibles de ce type, "blow": "ranged" pour ne compter que sur un coup lancé ou tiré (un marteau de lancer nain) ou "melee" seulement sur un coup au contact, et "tempHp": true pour donner au porteur de l'arme des points de vie temporaires égaux à ce qu'elle a infligé (une épée voleuse de vie). Un état onHit peut nommer "targetIs" (une tueuse de géants qui renverse un géant) et "oncePerTurn": true (une épée de blessure). "slay": [{ "when": "critical", "not": { "types": ["construct", "undead"] }, "healthAtMost": 99, "save": { "save": "con_save", "difficulty": 15 }, "charges": 1 }] tue net une cible que le coup a laissée à healthAtMost ou moins, sur une sauvegarde ratée si elle en a une, en dépensant les charges de l'objet quand c'est le cas (une voleuse de neuf vies) ; "immuneTo": ["slashing"] épargne une cible immunisée contre ce type (une épée vorpale). La santé est lue après les dégâts du coup.
Le live.conditions d'une fiche, le clear.conditions d'un repos et combat.conditions contiennent jusqu'à 640 entrées (Capability API 1.552 ; 320 à partir de 1.269, 160 à partir de 1.188, 80 avant). Un modificateur to: "attacks" peut nommer "ability": "str" pour ne modifier que les attaques faites avec cet attribut (le Weakening Breath d'un dragon d'or), et un modificateur to: "checks" peut nommer "abilities": ["str"] pour ne modifier que les tests d'attribut faits avec l'un d'eux, tests en confrontation et tests de compétence de cet attribut compris (la Rage d'un barbare). Les actions du bloc de statistiques d'une créature ne nomment aucun attribut : un modificateur d'attaques restreint à un attribut ne les atteint donc jamais.
Un état de combat.conditions peut blesser son porteur (Capability API 1.189) : "harms": { "at": "turn-start", "dice": "1d4", "type": "necrotic" } inflige cela au début de chacun de ses tours (ou "turn-end"), de la part de celui qui l'a appliqué, avant toute sauvegarde qui y met fin. "stacks": 10 permet de l'appliquer à nouveau tant qu'il dure, jusqu'à ce nombre de fois, et sa blessure est infligée une fois pour chacun (une épée de blessure) ; y mettre fin les termine tous. "onePerSource": true le garde sur un seul porteur par source : appliqué à quelqu'un d'autre, il quitte celui qui l'avait de la même source (l'ennemi juré d'un arc du serment). L'entrée against d'une attaque d'objet peut nommer "marked": "sworn" au lieu ou à côté de is, ce qui correspond à une cible portant cet état venant du porteur de l'arme, et en plus de toHit peut indiquer "mode": "advantage", "ignoresCover": true (une couverture qui n'est pas totale ne compte pour rien) et "ignoresLongRange": true ; une clause plus peut aussi indiquer "marked": "sworn" (les 3d6 perforants de l'arc du serment). L'action du bloc de statistiques d'une créature peut nommer "ability": "str", l'attribut avec lequel son attaque est faite, pour que les modifications des attaques ou des dégâts restreintes à un attribut l'atteignent.
L'entrée modes d'une attaque d'objet peut être une tout autre façon d'utiliser l'arme (Capability API 1.190) : "range": { "normal": 120 } est sa portée dans ce mode, dans la distance propre de l'ensemble ; "plus" ajoute des clauses à un coup, comme celles de l'attaque elle-même ; "line": { "dice": "4d6", "type": "lightning", "save": { "save": "dex_save", "difficulty": 13, "onSuccess": "half" } } est un éclair contre lequel toute personne debout entre le porteur et la cible (ni l'un ni l'autre) fait une sauvegarde avant le jet d'attaque ; et "charges": 1 dépense autant de charges propres à l'objet, pour que le mode ne soit proposé que tant qu'il en a (un javelot de foudre : charges.max 1 et stack 1 sur l'objet). Une ligne a besoin d'un plateau à traverser.
Un état de combat avec l'effet "cannot-heal" empêche tout soin sur son porteur tant qu'il dure, et le journal le dit (Capability API 1.191) : le Chill Touch de 5e. "conditionImmunitiesFrom": [{ "conditions": ["charmed", "frightened"], "from": { "types": ["fiend", "undead"] } }] sur un état de combat n'écarte ces états que lorsqu'une créature correspondant à from les applique ; un état déjà présent reste (Protection from Evil and Good). Le targetTypes.abilityAtLeast d'un sort est le plancher dont abilityAtMost est le plafond : { "int": 5 } ignore une créature d'Intelligence 4 ou moins (Hideous Laughter), et une créature écrite sans cette valeur n'est pas exclue. Le against.actions d'un modificateur de sauvegardes nomme des actions par identifiant, nom ou groupe de recharge partagé, sans tenir compte de la casse, et restreint tout ce que dit d'autre against : { "from": { "types": ["dragon"] }, "actions": ["frightful_presence", "breath_weapons"] } désigne le souffle ou la Frightful Presence d'un dragon, jamais sa Wing Attack, et la sauvegarde répétée pour mettre fin à un état appliqué par l'un d'eux compte aussi.
Une attaque d'objet peut porter d'autres effets supplémentaires (Capability API 1.192). "ignoresResistance": true fait passer ses dégâts outre la résistance de la cible au type de dégâts propre à l'attaque, résistance à tout comprise, tandis qu'une clause plus d'un autre type est toujours réduite de moitié (le tranchant d'une épée vorpale) ; l'immunité tient toujours. Le "saved" d'une entrée slay liste des états, sous la même forme que applies, qu'une cible qui réussit la sauvegarde de cette mise à mort reçoit à la place : [{ "condition": "frightened", "duration": { "rounds": 1, "of": "source" } }] est le fiélon d'une masse d'anéantissement, effrayé par le porteur jusqu'à la fin du prochain tour de celui-ci. "othersWhileMarked": { "condition": "sworn", "mode": "disadvantage" } fait lancer avec ce mode toute autre attaque d'arme du porteur tant qu'une créature à laquelle il a appliqué sworn reste debout, ou seulement les attaques à distance avec "ranged": true (un arc du serment). Et dans un combat sans plateau, une action de zone (d'une créature ou d'un sort) peut être pointée sur des personnes de l'un ou l'autre camp, jamais sur son auteur, car elle prend chaque créature qui s'y trouve ; friendlyFire: false la limite à l'autre camp, comme sur un plateau.
Une confrontation peut être un test contre un nombre fixe au lieu d'un jet opposé (Capability API 1.193). Omets defender et donne "difficulty": 15 ; l'acteur lance le meilleur de ses tests attacker et gagne s'il l'atteint. "targets" indique sur qui elle peut être tentée : "enemy" (par défaut), "ally" ou "any", acteur compris. "targetHolds": "wounded" ne la propose que sur une cible portant cet état, et "targetDying": true seulement sur une cible mourante et pas encore stabilisée. onWin.stabilizes stabilise une cible mourante. Ainsi, un test de Sagesse (Médecine) DD 15 qui met fin aux blessures d'une épée de blessure s'écrit { "difficulty": 15, "targets": "any", "targetHolds": "wounded", "onWin": { "ends": [{ "condition": "wounded", "on": "target" }] } }, et celui de DD 10 qui sauve les mourants { "difficulty": 10, "targets": "ally", "targetDying": true, "onWin": { "stabilizes": true } }. Un combat en réserves compte des réussites et refuse donc difficulty. Le "healedOnlyByRest": true d'une attaque d'objet scelle les points de vie qu'elle retire : aucun soin ne ramène le porteur au-dessus de son maximum moins ce qui est scellé, et tout repos les restaure et lève le scellé. Le harms d'un état de combat accepte le même "healedOnlyByRest": true : les blessures que laisse l'épée scellent donc aussi ce qu'elles retirent.
Une taille peut occuper plus d'une case (Capability API 1.194). Donne à une entrée de combat.sizes.order un nombre de "cells", { "id": "large", "label": "Large", "cells": 2 }, et une créature de cette taille occupe autant de cases de côté sur un plateau, sa propre case étant celle en haut à gauche : en 5e, Large vaut 2, Huge 3 et Gargantuan 4. Elle est posée là où elle tient entièrement, à l'endroit le plus proche de celui où on a demandé de la placer. L'allonge et la portée se mesurent depuis et vers la case la plus proche qu'elle occupe : une épée atteint donc un ogre depuis une case voisine de n'importe laquelle de ses quatre cases ; elle ne se déplace que là où elle tient entièrement et personne ne traverse aucune de ses cases ; une zone la prend dès que l'une de ses cases est dedans ; une poussée la déplace tout entière ; et elle est vue, et couverte, depuis celle de ses cases la plus dégagée. Une taille sans cells occupe une case, exactement comme avant.
Un état peut agrandir ou rétrécir son porteur (Capability API 1.195). Donne à une entrée de combat.conditions un "size": { "steps": 1 } : tant qu'il dure, son porteur avance d'autant de tailles dans combat.sizes.order, ou recule pour un nombre négatif, sans jamais dépasser la première ni la dernière : l'Enlarge de 5e vaut 1 et Reduce -1. Son allonge, ce que les zones prennent et tout ce qui demande sa taille lisent la nouvelle, et quand l'état prend fin, il retrouve sa propre taille. Sur un plateau, quelqu'un qui grandit occupe sa nouvelle taille par-dessus toutes les cases où il se tenait, là où elle tient sur un terrain libre et dégagé de toute autre personne, ou la plus grande taille inférieure qui y tient : un ogre agrandi dans un couloir ne grandit donc qu'autant que le couloir le permet ; quelqu'un qui rétrécit garde sa case en haut à gauche. Le journal indique qui a changé, et en quoi. Cela nécessite combat.sizes ; associe-le à un modificateur damage pour les dés d'arme et à un mode de Force sur checks et saves pour le reste du sort.
Une entrée peut choisir ses cibles selon la santé qui leur reste (Capability API 1.196). "healthPool": { "dice": "5d8" } dans ses mechanics est lancé une fois à l'utilisation et réparti en partant de la cible à qui il reste le moins de santé : chacune n'est affectée que si sa santé ne dépasse pas ce qui reste, qu'elle consomme alors, et les autres ne sont pas touchées du tout, comme fonctionnent Sleep et Color Spray en 5e ; perCostStep l'augmente quand le sort est lancé à un niveau supérieur. "healthAtMost": 150 n'affecte qu'une cible ayant cette santé ou moins, comme Power Word Stun ; "kills": true tue net quiconque est affecté : Power Word Kill s'écrit donc "healthAtMost": 100, "kills": true. Les deux lisent la santé qui reste à une cible, après que targetTypes a dit qui peut être visé. Le journal indique ce qu'une réserve a donné et pour qui elle a suffi.
Un modificateur de dégâts peut lancer plusieurs fois les dés propres d'un coup (Capability API 1.197). { "to": "damage", "attacks": "weapon", "ability": "str", "diceTimes": 2 } sur un état fait infliger 2d8 + 2 au lieu de 1d8 + 2 à un pic de guerre tant qu'il dure, comme les armes d'un duergar agrandi ; sa part fixe reste la même, un critique double les dés supplémentaires comme le reste, et la moyenne du menu les compte. Cela modifie les dégâts d'un coup et rien d'autre. L'action d'une créature avec "self": true utilisée pendant son propre tour s'applique désormais à la créature elle-même, comme c'était déjà le cas dans une réaction : ses applies s'appliquent donc.
Une zone peut infliger, à ses déclencheurs, un autre type de dégâts qu'à son apparition (Capability API 1.198). "zone": { "rounds": 100, "triggers": ["enter"], "atCast": true, "damageType": "slashing" } sur une entrée dont le propre damageType est "piercing" inflige des dégâts perforants à ceux autour de qui le mur apparaît et des dégâts tranchants à ceux qui y entrent plus tard, comme le Wall of Thorns de 5e. Cela nécessite le propre amount de l'entrée et un déclencheur, un côté ou une percussion pour l'infliger, et nomme l'un des combat.damageTypes quand l'ensemble les déclare.
Une réserve de santé peut passer par-dessus certaines cibles (Capability API 1.199). "healthPoolSkips": { "conditions": ["unconscious"] } à côté d'un healthPool laisse de côté quiconque porte l'un de ces états et ne dépense rien de la réserve pour lui, comme Sleep en 5e ignore les inconscients ; "unseeing": true fait de même pour quiconque ne peut pas voir l'auteur de l'entrée (aveuglé, ou sans ligne de vue vers lui), comme Color Spray ignore les créatures qui ne voient pas. Cela nomme conditions, unseeing ou les deux, et nécessite un healthPool.
Un mur peut se dresser en sections frappées et brisées une à une (Capability API 1.200). "zone": { "rounds": 100, "triggers": [], "blocks": ["move", "sight"], "sections": { "every": 10, "health": 30, "defense": 12, "vulnerable": ["fire"], "broken": { "triggers": ["enter"], "amount": { "dice": "5d6" }, "damageType": "cold", "save": "con_save", "onSave": "half" } } } est le Wall of Ice de 5e : chaque panneau de 10 pieds a une CA de 12 et 30 points de vie et subit le double des dégâts de feu (resist et immune fonctionnent de la même façon). Une attaque qui vise un seul ennemi ou n'importe qui et inflige des dégâts peut plutôt être pointée sur une section : son option liste les cases qu'elle peut frapper sous walls, et le choix en nomme une sous wall. L'attaque est lancée et ses dégâts infligés comme contre une créature, et le journal indique ce que la section a subi et ce qui lui reste. Une section ramenée à 0 est brisée : elle cesse de bloquer, et quiconque y entre (ou y commence ou termine un tour, selon ses triggers) subit son amount, une fois par tour, en faisant sa sauvegarde save contre la difficulté propre de l'entrée pour n'en subir que la moitié (onSave: "none" pour ne rien subir). Les sections nécessitent un mur qui blocks, et le save d'une section brisée nécessite le propre save de l'entrée.
Une entrée peut déplacer les pistes vivantes de la fiche et rendre une santé scellée (Capability API 1.201). "tracks": [{ "track": "exhaustion", "by": -1 }] retire un niveau d'épuisement à quiconque elle touche, comme le Greater Restoration de 5e, et "by": 1 sur une entrée avec sauvegarde (Sickening Radiance) en ajoute un à quiconque la rate. Chaque piste reste dans ses propres limites, les niveaux qui réduisent de moitié le maximum de santé prennent effet aussitôt, et atteindre un niveau qui defeats tue. "unseals": true rend la santé que seul un repos rendrait (ce qu'un coup seals a retiré), comme Greater Restoration met fin à une réduction du maximum de points de vie. Une entrée qui ne guérit que de cette façon n'est proposée que sur quelqu'un qu'elle aiderait. Le broken d'une section de mur peut porter son propre perCostStep, ajouté une fois pour chaque cran dont le lancement a été payé au-dessus de sa base : l'air glacial de Wall of Ice, { "dice": "1d6" }. Les pistes sont des pistes ordinaires, pas des pistes de blessures, et unseals nécessite une santé comptée en points.
Un état qu'une entrée applique peut prendre fin avec un autre état qu'elle applique (Capability API 1.202). Dans "applies": [{ "condition": "charmed", "duration": { "rounds": 10 }, "saveEnds": { "save": "wis_save", "at": "damaged" } }, { "condition": "incapacitated", "duration": "instant", "endsWith": "charmed" }], le Hypnotic Pattern de 5e, l'incapacité prend fin dès que le charme prend fin : une sauvegarde, une guérison, la rupture de la concentration de son lanceur, un allié qui secoue la cible pour la réveiller, ou la fin du combat. Seul l'état appliqué par la même utilisation l'accompagne, et le journal dit pourquoi. endsWith nomme un autre état de la même liste applies (ou de la liste onEnd, charge ou saved), jamais le sien.
L'action d'une créature peut abaisser le maximum de santé de sa cible (Capability API 1.203). "reducesMax": { "save": "con_save", "difficulty": 14 } sur le Life Drain d'une âme-en-peine fait lancer cette sauvegarde à la cible quand le coup porte ; en cas d'échec, les dégâts qu'elle subit sont retirés de son maximum comme de sa santé, et aucun soin ne les lui rend avant un repos. Avec "lasting": true (le Slam d'un golem d'argile), même un repos ne les rend pas, seulement une entrée qui unseals (Greater Restoration). Une cible dont le maximum tombe ainsi à 0 meurt. Une fiche garde ce qu'aucun repos ne rend dans le lasting de sa réserve, à l'intérieur de sealed. Cela nécessite une santé comptée en points.
Un remède peut appliquer un seul de ses remèdes plutôt que tous (Capability API 1.204). Avec "cureOneOf": true, une entrée qui met fin (ends) à certains états, déplace des tracks et unseals (le Greater Restoration de 5e : charmé, pétrifié, un niveau d'épuisement ou le maximum de points de vie) en applique exactement un : chacun est proposé comme mode de l'option (un état, une piste ou la réserve de santé, par son libellé), comme les modes d'une arme, et une utilisation sans choix applique le premier d'entre eux, dans cet ordre, pour lequel la cible a quelque chose. Cela nécessite au moins deux remèdes entre lesquels choisir.
Un maximum abaissé peut n'exiger aucune sauvegarde propre (Capability API 1.235). Un reducesMax sans save ni difficulty abaisse le maximum d'autant que les dégâts de chaque coup qui porte (la Bite du vampire en 5e) ; avec "onFailedSave": true, seulement quand la cible a raté la sauvegarde propre de l'entrée (le Harm de 5e, une entrée de catalogue avec sauvegarde ; là, reducesMax n'a jamais de sauvegarde propre). damageType ne compte que les dégâts de ce type (les dégâts nécrotiques de la Bite), et "heals": true rend à son auteur autant de points de vie qu'il en a abaissé. Les mécaniques de catalogue acceptent aussi reducesMax, et leavesAtLeast empêche les dégâts de l'entrée de faire descendre la cible sous ce nombre de points de vie (Harm en laisse 1). targetHolds sur une action de créature ou des mécaniques de catalogue limite qui elle peut viser : quelqu'un qui porte l'un des états de ses conditions, ou l'un de ceux de ses fromSelf que l'auteur de l'action lui a appliqué (la Bite : agrippé par le vampire, ou neutralisé ou entravé).
Un état peut donner à son porteur des utilisations propres (Capability API 1.236). Les actions d'un état de combat listent des entrées de catalogue (spells/break-enchantment) que son porteur peut utiliser tant qu'il le porte : elles ne sont au menu qu'à ce moment-là, ne coûtent rien sur la fiche hormis le budget que chacune dépense, et sont lancées avec les nombres propres du porteur, comme ses sorts (une créature qui lance des sorts utilise ceux de son incantation). Une entrée avec "endsCondition": "<condition>" met fin à cet état sur son utilisateur une fois utilisée, ainsi qu'à la concentration qui le maintient quand c'est celle de l'utilisateur : le Dispel Evil and Good de 5e, dont Break Enchantment et Dismissal mettent chacun fin au sort. ends.from (un test de type et de tag) ne guérit que ce qu'une créature qui le passe a appliqué : Break Enchantment met fin à un charme ou à une frayeur dus à un céleste, un élémentaire, une fée, un fiélon ou un mort-vivant, et laisse ceux dus à quelqu'un d'autre. dismisses renvoie hors du combat quiconque elle touche sans qu'il réussisse sa sauvegarde, vivant, hors du plateau et hors de l'ordre des tours : true pour de bon (Dismissal), ou { "while": "<condition>" } tant qu'il porte cet état, que la même entrée doit appliquer (le Banishment de 5e). Son décompte suit alors les tours de son lanceur, et quand il prend fin, par sa durée, une sauvegarde ou la concentration du lanceur, la cible revient là où elle était, ou à la place libre la plus proche où elle tient. Avec gone (un test de type et de tag), une cible qui le passe et a subi l'état pendant toute sa durée reste partie.
Un combat peut commencer avec certains de ses participants pris au dépourvu (Capability API 1.237). La scène dit lesquels : la rencontre dont il est tiré les marque "surprised": true, qu'ils soient de l'équipe ou ennemis. Pendant leur premier tour, ils ne peuvent ni se déplacer ni agir, et leur menu ne contient que la fin du tour ; ils n'ont ni réaction ni utilisation légendaire tant que ce tour n'est pas terminé ou que le premier round ne l'est pas, selon ce qui arrive en premier. Un état de combat avec "cannotBeSurprised": true empêche son porteur d'être jamais surpris : le Foresight de 5e. Une entrée de catalogue avec "ignoresSurpriseWith": "<catalog>/<entry>" nomme une utilisation que son porteur peut encore faire en étant surpris, et la faire met fin à la surprise sur-le-champ, si bien que le reste du tour lui appartient : le Feral Instinct de 5e, qui permet à un barbare surpris d'agir normalement s'il entre d'abord en rage.
Une entrée de catalogue peut donner à son porteur un second tour pendant le premier round d'un combat (Capability API 1.238). "extraFirstTurn": { "initiative": -10 } sur une entrée tenue dans une liste de la fiche place ce second tour à l'initiative du porteur plus ce nombre, après tous ceux qui sont à ce nombre ou au-dessus ; chacun des deux est un tour complet, et à partir du deuxième round le porteur joue un tour par round comme d'habitude. Un porteur mis hors de combat avant l'arrivée du second tour le manque. Avec "unlessSurprised": true, il n'y a pas de second tour pour celui qui commence le combat surpris : le Thief's Reflexes de 5e.
Un état de combat peut restreindre ce qu'achète le budget qu'il accorde à un coup porté à portée d'allonge, et laisser une marque sur les pistes de son porteur quand il prend fin (Capability API 1.239). Avec "grants": { "budget": "bonus", "attacks": true, "melee": true }, la seule frappe que paie ce budget ne se fait qu'avec une arme qui frappe à portée d'allonge, et une arme de lancer seulement contre quelqu'un à portée de son allonge, puisqu'elle est maniée plutôt que lancée ; une arme qui a une portée et pas d'allonge n'est pas proposée. "onEnd": { "tracks": [{ "track": "exhaustion", "by": 1 }] } déplace les pistes vivantes de son porteur de ce nombre de niveaux quand l'état prend fin, quelle que soit la façon dont il prend fin, comme tracks sur une entrée de catalogue ; applies et tracks peuvent figurer ensemble ou seuls. Le "usesOf": "<row name>" d'une entrée de catalogue dépense les utilisations de l'entrée de cette ligne (sa ligne de compteur) au lieu des siennes. Le Frenzy de 5e est alors une entrée de Berserker, Frenzied Rage, avec "usesOf": "Rage", qui applique la rage et un état frenzied dont le endsWith la nomme, et qui réunit ainsi ces deux éléments.
L'initiative peut être lancée deux fois, en gardant le meilleur ou le pire jet (Capability API 1.240). combat.initiative.checkAbility indique que l'initiative est un test fait avec cet attribut : tout ce qui fait lancer deux fois un tel test fait donc lancer deux fois l'initiative, qu'il s'agisse d'un état avec own-checks-advantage (le Foresight de 5e) ou d'un modificateur checks avec un mode, restreint à cet attribut ou à aucun (le Cat's Grace d'Enhance Ability sur la Dextérité). Une entrée de catalogue tenue dans une liste de la fiche avec "initiativeMode": "advantage" (ou "disadvantage") fait lancer deux fois l'initiative de son porteur quoi qu'il porte : le Feral Instinct de 5e. Avantage et désavantage s'annulent, comme sur tout jet ; l'entrée d'initiative du journal porte mode et le jet dropped. Un combat qui relance l'initiative à chaque round la lance deux fois à chaque round. Dés lancés uniquement : l'initiative d'une réserve n'est pas lancée deux fois.
Une réaction peut répondre au coup réussi PROPRE de son porteur (Capability API 1.241) : une réaction "hit" avec "by": "self" est proposée à l'attaquant une fois que son jet a touché, après que tous ceux que le coup a frappés ont répondu, et vise celui qu'il a touché (écris "at": "target"). "weapon": true restreint tout moment de coup réussi à un coup d'arme : une attaque, ou l'action à cible unique d'une créature, qui ne vient d'aucun catalogue. Une réaction à son propre coup n'est pas arrêtée par ce qui arrête les réactions, puisque la choisir fait partie de l'attaque ; marque-la "free" sauf si elle dépense un budget. Le Stunning Strike de 5e en est une : "reaction": { "on": "hit", "by": "self", "weapon": true, "blow": "melee", "at": "target" }, gratuite, avec un coût en ki, une sauvegarde de Constitution et stunned jusqu'à la fin du prochain tour du moine. Avec "addsToBlow": true, la quantité d'une entrée d'attaque rejoint ce coup au lieu d'être infligée séparément : lancée quand le coup porte, doublée par son critique, ses clauses ne s'appliquant qu'à une cible qu'elles atteignent. Le Divine Smite de 5e, ce sont 2d8 radiants, perCostStep 1d8, une clause de 1d8 radiants avec targetIs fiélon ou mort-vivant, et "perCostStepsMax": 3 : le nombre maximal de crans d'un coût supérieur qui comptent, pour toute entrée avec perCostStep ou targetsPerCostStep. Une attaque faite dans une autre fenêtre (une attaque d'opportunité) n'est jamais retenue pour son coup réussi : rien ne s'y ajoute donc.
Ce que contient une fiche peut modifier ses lignes d'attaque, accorder des frappes et attendre l'action d'attaque (Capability API 1.242). Une entrée de catalogue tenue dans une liste de la fiche avec attackRows modifie les lignes dont elle liste les noms (comparés sans tenir compte de la casse), tant que ses bornes when sont respectées (une valeur de la fiche, comme une armure portée au plus égale à 0) : abilities utilise le meilleur de l'attribut propre de la ligne et de ceux-ci pour toucher et, quand les dégâts de la ligne ajoutent ce même attribut, pour les dégâts ; die (from une valeur de la fiche, par une table de paliers, vers un nombre de faces) lance un seul dé de cette taille à la place des dés de la ligne quand sa moyenne est meilleure ; qualities s'ajoute à ce que les coups portent pour passer une résistance. Le Martial Arts de 5e s'écrit { "names": ["Unarmed Strike", "Shortsword", ...], "abilities": ["str", "dex"], "die": { "from": { "field": "level_monk" }, "table": [[1, 4], [5, 6], [11, 8], [17, 10]] }, "when": { "value": { "derived": "armor_worn" }, "atMost": 0 } }, et Ki-Empowered Strikes { "names": ["Unarmed Strike"], "qualities": ["magical"] }. Le grantsStrike d'une entrée tenue permet à son porteur d'acheter une frappe avec un autre budget une fois le budget propre d'une attaque dépensé, exactement comme le grants.attacks d'un état : names la restreint à ces attaques, melee à l'allonge, et afterAttack à un tour où l'action d'attaque a été faite (true, ou { "names": [...] } pour une action d'attaque faite avec l'une d'elles). La frappe à mains nues bonus de Martial Arts s'écrit { "budget": "bonus", "names": ["Unarmed Strike"], "afterAttack": { "names": [...the monk weapons] } }. Le grants d'un état accepte les mêmes names et afterAttack. Une entrée avec afterAttack n'est proposée qu'après l'action d'attaque : Flurry of Blows est une entrée utility sur le budget bonus, qui dépense un ki, avec afterAttack, qui gives 2 d'un budget déclaré avec un compte de 0, et un grantsStrike d'Unarmed Strike sur ce budget. L'action d'attaque, c'est toute attaque faite depuis une liste d'attaques ou un objet qui paie son propre budget ou une frappe déjà achetée, jamais une attaque payée par un octroi.
Une attaque d'opportunité est retenue là où elle touche exactement comme une attaque pendant un tour (Capability API 1.243) : tous ceux qui ont une réponse à ce coup sont sollicités, son auteur en dernier pour ce qu'il y ajoute (Divine Smite, Stunning Strike), et la fenêtre propre du déplacement, où celui qui frappe a déjà répondu, est sollicitée de nouveau une fois le coup porté. Celui qui se déplace et se retrouve immobilisé en chemin (un état avec speed-zero, comme étourdi ou agrippé) ne va pas plus loin que la case où il a été frappé. Une entrée qui est une réaction ou qui s'ajoute à un autre coup n'est jamais choisie comme attaque d'opportunité elle-même.
Les règles d'attaque atteignent les armes tenues, et une liste d'attaques peut donner une ligne à chaque fiche (Capability API 1.244). combat.attacks[].always liste jusqu'à 4 lignes écrites dans les colonnes de cette liste que le combat de chaque fiche possède en plus des siennes ; une ligne de fiche du même nom est utilisée à sa place. La frappe à mains nues de 5e s'écrit { "name": "Unarmed Strike", "ability": "str", "proficient": true, "bonus": 0, "damage": "1", "damage_type": "bludgeoning", "reach": 5 }. Le names d'une règle attackRows reconnaît désormais aussi une arme tenue par le nom sous lequel son attaque est connue, et ses items reconnaissent les armes tenues par leurs tags : tous ceux de tags et aucun de notTags ({ "tags": ["simple", "melee"], "notTags": ["two_handed", "heavy"] }, donc une dague +1 compte) ; une règle nomme names, items ou les deux. wielding: { "only": {...} }, avec les mêmes names, tags et notTags, ne garde une règle que tant que chaque arme tenue en fait partie, ou qu'aucune n'est tenue : "unarmed or wielding only monk weapons". Un grantsStrike accepte le même wielding, et un when comme celui d'une règle attackRows : la frappe bonus de Martial Arts n'est donc pas proposée en armure.
Plusieurs utilisations à la fois, une sauvegarde qui fait tomber à 0, des coups réussis par des attaques nommées et une blessure à la fin d'un état (Capability API 1.245). Le usesSpent d'une entrée dépense autant d'utilisations de sa ligne (ou de celle de usesOf) en une seule utilisation, et n'est proposé que tant qu'il en reste autant : les 3 ki de Quivering Palm. Le names d'une réaction "hit" ne répond qu'à un coup réussi par ces attaques, comparées par nom sans tenir compte de la casse : Quivering Palm s'écrit { "on": "hit", "by": "self", "names": ["Unarmed Strike"], "at": "target" } et applique un état quivering de longue durée. dropsOnFailedSave sur une entrée avec sauvegarde fait tomber à 0 santé une cible qui la rate au lieu d'infliger sa quantité (une créature est hors de combat, un personnage mourant là où l'ensemble a une règle de mort) ; une cible qui la réussit subit la quantité comme le dit l'onSuccess de la sauvegarde. Mettre fin aux vibrations est une action avec targetHolds: { "fromSelf": ["quivering"] }, 10d10 nécrotiques, une sauvegarde de Constitution avec onSuccess: "none" et dropsOnFailedSave. Le onEnd.harm d'un état (dice, flat, type, unless) inflige des dégâts à son porteur quand il prend fin, de la part de celui qui l'a appliqué, sauf si le porteur correspond à ce que nomme unless : Hurl Through Hell est une réaction au coup réussi avec dismisses: { "while": "hurled" } et hurled qui dure { "rounds": 1, "of": "source" }, et le onEnd de l'état hurled s'écrit { "harm": { "dice": "10d10", "type": "psychic", "unless": { "types": ["fiend"] } } }.
afterAttack reconnaît aussi par ses tags l'arme avec laquelle l'action d'attaque a été faite (Capability API 1.246) : { "names": [...], "items": { "tags": ["simple", "melee"], "notTags": ["two_handed", "heavy"] } } signifie après une attaque portant l'un de ces noms ou faite avec une arme tenue qui a tous les tags et aucun des notTags, quel que soit son nom : une dague +1 compte donc. Il nomme names, items ou les deux, aussi bien sur une entrée que sur un grantsStrike ou l'octroi d'un état.
Coups téméraires et brutaux (Capability API 1.247). Une entrée avec beforeAttack n'est proposée que pendant le propre tour de son porteur, avant qu'il y ait attaqué : Reckless Attack est un buff gratuit sur le barbare avec beforeAttack, qui applique reckless pour { "rounds": 1 } et exposed pour { "rounds": 1, "at": "turn-start" }. Une modification des attaques accepte attacks (weapon, spell ou any) et blow (melee ou ranged) comme une modification des dégâts, avec ability : reckless s'écrit { "to": "attacks", "mode": "advantage", "ability": "str", "attacks": "weapon", "blow": "melee" }, et exposed a l'effet attacks-against-advantage. Le criticalDice d'une modification des dégâts ajoute autant de dés de dégâts propres au coup, sur un coup critique seulement, sans les doubler : Brutal Critical est un niveau d'une valeur dérivée du barbare avec { "to": "damage", "criticalDice": 1, "attacks": "weapon", "blow": "melee" }, un niveau par dé.
Réponses aux coups d'une rafale (Capability API 1.248). Le budget d'un moment hit le restreint aux coups réussis par une frappe payée sur ce budget : Open Hand Technique répond à { "on": "hit", "by": "self", "budget": "flurry" }, le budget que Flurry of Blows gives et que son grantsStrike dépense. Le oneOf d'une réaction nomme un groupe de réponses au propre coup réussi de son porteur dont une seule est prise par coup : Open Hand Technique, ce sont trois entrées gratuites partageant "oneOf": "open-hand", l'une avec un save de Dextérité qui applique prone, une autre avec un save de Force et un push de 15, et une dernière qui applique un état avec l'effet cannot-react pour { "rounds": 1, "at": "turn-start" }. En prendre une dépense les deux autres pour ce coup ; le coup suivant propose à nouveau les trois. oneOf se place sur un moment hit by self sans also.
Des sauvetages après le jet (Capability API 1.249). Une modification de attacks, saves ou checks avec "rescue": true est tenue à l'écart du jet : c'est seulement quand le propre jet de son porteur est insuffisant, et que son maximum (la part fixe et chaque dé à sa valeur la plus haute) pourrait combler l'écart, qu'elle est lancée et ajoutée, et l'état dont elle vient est consommé. Un jet qu'elle ne pourrait pas renverser la conserve. Bardic Inspiration est un état appliqué à un allié avec { "to": "saves", "dice": "1d6", "rescue": true } et la même chose pour attacks et checks (un état par taille de dé, choisi selon le niveau du barde comme les autres bandes) ; Guidance correspond à checks avec 1d4, Resistance à saves avec 1d4. Un raté naturel n'est jamais sauvé, et un combat sur une réserve de dés ne retient rien. Le rescue d'une entrée la retire du menu : elle est dépensée, avec ses utilisations et son coût, quand le propre jet de ce genre de son porteur a échoué. { "roll": "saves", "by": "reroll" } relance la sauvegarde et le nouveau jet est conservé (Indomitable avec ses propres utilisations ; Diamond Soul avec usesOf Ki) ; { "roll": "attacks", "by": "success" } transforme un raté en coup réussi et { "roll": "checks", "by": "success" } un test raté en réussite (Stroke of Luck). Les modifications tenues à l'écart sont essayées en premier.
Mots cinglants et esquive (Capability API 1.250). Le lowersRoll d'une entrée se prend quand l'attaque de quelqu'un d'autre touche, sur une réaction hit sans by (avec for et within pour répondre au profit d'alliés) : ses dice, ou un seul die dont la taille dépend d'une valeur comme celui de Martial Arts ({ "from": { "field": "level" }, "table": [[1, 6], [5, 8], [10, 10], [15, 12]] }), sont retirés du jet, qui est alors de nouveau comparé à la défense ; un coup réussi naturel touche toujours. Cutting Words est un debuff gratuit avec { "on": "hit", "for": "ally", "within": 60 } et usesOf le compteur d'inspiration du barde. L'evasion d'un état de combat ou d'un niveau nomme des sauvegardes : contre quelque chose qui inflige la moitié en cas de réussite, une sauvegarde réussie ne subit rien et une sauvegarde ratée la moitié. Evasion est un niveau sur le niveau de roublard ou de moine avec "evasion": ["dex_save"].
Imposition des mains (Capability API 1.251). Le usesChosen d'une entrée permet à son utilisateur de choisir combien de ses utilisations une utilisation dépense, d'une jusqu'à ce qui reste, et soigne autant de fois sa quantité. L'option porte amount: { max } et le choix envoie amount ; s'il est omis, il dépense ce qui soigne entièrement la première cible en moyenne. C'est pour un heal sans usesSpent. Lay on Hands est un heal de "amount": { "flat": 1 } avec usesOf un compteur de cinq par niveau de paladin, usesChosen et "targetTypes": { "not": { "types": ["undead", "construct"] } }.
Source de magie (Capability API 1.252). Le restore d'une entrée rend des points à une réserve de quiconque elle touche, sur un heal ou un buff : une réserve vivante par son identifiant, ou la réserve d'une ligne de liste par son nom ("Sorcery Points"). Avec un cost dans une famille de réserves, perCostStep s'y ajoute pour chaque cran au-dessus du moins cher, si bien que l'emplacement d'un ensorceleur devient un nombre de Sorcery Points égal à son niveau : un buff sur soi qui coûte slots_1 avec "restore": { "pool": "Sorcery Points", "amount": { "flat": 1 } } et "perCostStep": { "flat": 1 }. overMax lui permet de dépasser le maximum de la réserve ; ce qui le dépasse est gardé à part et disparaît quand un repos ramène la réserve à son maximum. Un emplacement créé à partir de points, c'est une entrée par niveau, usesOf les points avec usesSpent pour prix et "restore": { "pool": "slots_2", "amount": { "flat": 1 }, "overMax": true }. Une entrée qui rendrait à son propre utilisateur une réserve qu'il n'a pas ne figure pas dans son menu.
Métamagie (Capability API 1.253). Le alters d'une entrée modifie la façon dont une entrée de ses catalogs est utilisée : elle ne figure jamais seule dans un menu, mais elle est proposée avec chaque entrée à laquelle elle convient, choisie au moment où celle-ci est utilisée et payée avec ses propres utilisations (usesOf les Sorcery Points avec usesSpent, ou usesSpentByLevel pour le niveau auquel le sort est payé, au moins un). C'est un utility sans réaction. Une seule par utilisation, sauf si elle joins une autre. Ce qu'elle modifie, chacune ne convenant qu'à un sort sur lequel elle a quelque chose à modifier : spares (une valeur de la fiche : autant de créatures parmi son utilisateur et ses alliés pris par le sort réussissent d'office sa sauvegarde : Careful), range ({ "times": 2, "touch": 30 } : Distant), rerolls (autant de ses dés de dégâts sous la moyenne sont relancés, les plus bas d'abord : Empowered, avec joins), lasts (ce qu'il applique pour une minute ou plus dure autant de fois plus longtemps, jamais au-delà d'une journée : Extended), heightens (sa première cible lance sa première sauvegarde avec désavantage : Heightened), budget ({ "from": "action", "to": "bonus" } : Quickened), drops (les composantes dont il n'a alors plus besoin, et personne ne peut réagir à son lancement : Subtle) et twins (une cible de plus pour un sort à une seule cible qui ne vise pas uniquement son utilisateur et ne gagne rien d'un emplacement supérieur : Twinned). Un sort qui ne peut être lancé à l'instant qu'avec l'une d'elles (Quickened une fois l'action dépensée, Subtle sous Silence) est proposé avec alterNeeded, et le choix doit la porter. Le choix envoie alters, les identifiants pris dans le alters de l'option ; le journal indique altered.
La métamagie telle qu'elle est choisie (Capability API 1.254). rerolls relance les plus bas de tous les dés de dégâts d'un sort, jamais plus que ce nombre au total : les siens, ceux de chaque clause de plus et, sur un coup critique, les dés supplémentaires avec ce qui reste. Un sort d'attaque les lance pour chaque cible qu'il touche. Quand une modification spares prend plus de membres du camp de son utilisateur qu'elle n'en épargne, l'utilisateur choisit qui : l'offre alters de l'option porte spares (combien), et le choix envoie spares, les identifiants des membres de son camp à épargner (n'en envoyer aucun n'épargne personne). S'il est omis, elle épargne les premiers qu'elle prend. Le choix tient à travers une fenêtre qui répond au lancement. spares sans modification qui épargne quelqu'un, plus d'identifiants qu'elle n'en épargne, un identifiant en double ou celui d'un autre camp sont refusés avec bad-alter.
La cible de Heightened et Acid Arrow (Capability API 1.255). Quand une modification heightens prend plus d'une créature, son utilisateur choisit qui lance sa première sauvegarde avec désavantage : l'offre alters de l'option porte heightens: true, et le choix envoie heightens, l'identifiant d'un combattant (l'un de ceux que le sort vise, s'il en vise, et jamais son utilisateur). S'il est omis, c'est le premier qu'il prend. Une entrée avec halfOnMiss: true (elle doit avoir attackRoll et un amount) inflige quand même la moitié de ses dégâts sur un raté, ceux de ses clauses aussi, et rien d'autre de ce qu'elle fait sur un coup réussi. Le harmsPerCostStep d'une entrée applies ({ "dice": "1d4" }) ajoute autant à ce qu'inflige le harms de l'état pour chaque cran d'un coût supérieur avec lequel il a été appliqué : l'acide qui suit d'Acid Arrow, 1d4 de plus par niveau d'emplacement au-dessus du 2e.
Les sauvetages propres d'un porteur, des entrées jamais sur leur utilisateur, et des états un à la fois (Capability API 1.256). Le rescue d'une entrée peut aussi être by: "twenty" (seulement avec roll: "checks") : le d20 d'un test raté compte comme un 20, dépensé seulement là où cela le fait réussir, comme Stroke of Luck pour un test d'attribut. by: "die" ajoute un dé propre au porteur là où rien de ce qu'on lui a donné ne pourrait combler l'écart et où ce dé le pourrait : dice ("1d10", Dark One's Own Luck) ou un seul die dont la taille dépend d'une valeur de la fiche, { "from": { "field": "level" }, "table": [[1, 6], [5, 8], [10, 10], [15, 12]] } (Peerless Skill). Un état qu'on lui a donné est essayé d'abord. notSelf: true sur une entrée pointée sur une créature ally ou any l'écarte de son propre utilisateur : Bardic Inspiration. Le oneAtATime d'un état de combat nomme un groupe ("bardic") : tant qu'une créature a un état de ce groupe, aucun autre de ce groupe, le même compris, ne peut s'ajouter ; l'événement d'état indique already.
Des réponses à plus de types de jets (Capability API 1.257). lowersRoll peut aussi lister "also": ["checks", "damage"] : en plus d'un jet d'attaque réussi, ses dés sont retirés du test d'attribut d'une autre personne (une confrontation comme une lutte, le seuil d'un objet, le test de Counterspell) ou de son jet de dégâts au moment où il est fait. Cela se dépense de soi-même, avec le budget, les utilisations et le coût de l'entrée, par le premier du camp adverse dont l'entrée atteint celui qui lance, et seulement là où son maximum pourrait renverser le jet : un test qui réussirait et pourrait alors échouer, ou des dégâts qui mettraient à terre quelqu'un du camp de son porteur et pourraient alors le laisser debout. Cutting Words s'écrit { "dice": "1d6", "also": ["checks", "damage"] } avec son dé dimensionné selon le niveau, needs: ["hearing"] et targetTypes: { "notImmuneTo": ["charmed"] }. Un sauvetage peut nommer des saves (seulement un sauvetage de saves) : il n'est alors dépensé que sur ces sauvegardes. Avec budget, il consomme aussi une unité de ce budget, et n'est pas dépensé sans elle : un anneau d'esquive s'écrit { "roll": "saves", "by": "success", "saves": ["dex_save"], "budget": "reaction" } avec ses charges comme utilisations. L'utilisation d'un objet peut aussi porter halfOnMiss, avec attackRoll et un amount : un parchemin d'Acid Arrow.
Maladies (Capability API 1.258). Les kinds d'un état de combat (["disease"]) indiquent de quel genre d'état il s'agit. Un genre n'est jamais l'identifiant propre d'un état. Le ends d'un remède peut nommer un genre à la place d'états : tout état de ce genre compte, et son count n'en prend toujours que ce nombre : la "one disease" de Lesser Restoration s'écrit donc { "conditions": ["disease", "blinded", "deafened", "paralyzed", "poisoned"], "count": 1 }. Une immunité (les conditionImmunities d'une créature ou d'un objet, ou celles d'un état ou d'un niveau) peut aussi nommer un genre : Divine Health est un état avec "conditionImmunities": ["disease"]. Un saveEnds peut compter : successes (de 2 à 10) est le nombre de réussites qui y mettent fin, et failures ({ "count": 3, "becomes": "blinding_sickness" }) applique becomes à sa place, sans décompte et sans autres sauvegardes, une fois que ce nombre de sauvegardes ont échoué. L'événement d'état indique worsened. C'est Contagion : un état until-save contre lequel on sauvegarde à la fin de chaque tour, avec trois dans un sens ou dans l'autre. Un état sans décompte n'est pas levé à la fin du combat : une maladie qui s'est installée lui survit donc jusqu'à ce que quelque chose la guérisse.
Des sauvetages sur des objets portés (Capability API 1.259). Le use d'un objet peut porter un rescue comme les mécaniques d'une entrée, saves et budget compris. Il ne figure jamais au menu et n'est dépensé que tant que l'objet est porté (là où il a des emplacements) et possède les charges que son utilisation dépense. Le dépenser consomme l'une de ces charges. Un anneau d'esquive est un objet avec "charges": { "max": 3 } et "use": { "kind": "buff", "targets": "self", "free": true, "charges": 1, "rescue": { "roll": "saves", "by": "success", "saves": ["dex_save"], "budget": "reaction" } }. Ses charges reviennent comme le dit le recharge de l'objet.
Les maladies entre les combats (Capability API 1.260). Un état de combat peut porter onRest: { "rests": [restId], "lowersMax": { "dice": "3d6", "flat": 0 }, "lasting": true } : chaque fois que son porteur prend l'un de ces repos pendant qu'il en est affecté, le maximum de santé baisse d'autant, lancé là où le repos est pris, après que le repos a rendu ce qu'il rend. Sans lasting, le repos suivant le restitue ; avec, seul quelque chose qui lève le scellé le fait. Un onRest.save: { "save": saveId, "difficulty": 15, "cures": true } est lancé d'abord, comme les tests de l'ensemble et avec le modificateur propre de la fiche : seul un échec abaisse le maximum, et avec cures une réussite met fin à l'état (la maladie de l'otyugh). Seule une santé comptée en points a un maximum à abaisser. Le Mummy Rot de 5e est un état sans décompte avec "onRest": { "rests": ["long"], "lowersMax": { "dice": "3d6" }, "lasting": true }. Une sauvegarde comptée jusqu'à une fin ou jusqu'à ce qu'elle devient (1.258) ne s'arrête plus quand le combat s'arrête : à la fin de tout combat, y compris ceux qui se terminent par une fuite, les sauvegardes de tour restantes de son porteur sont lancées jusqu'au bout, si bien que Contagion est alors soit secouée, soit installée. Une sauvegarde faite seulement sur des dégâts attend des dégâts.
Les stades d'une maladie (Capability API 1.261). Un état de combat peut porter onDamaged: { "applies": [...] }, appliqué à son porteur chaque fois qu'il subit des dégâts, avec un décompte comme ceux de onEnd (l'étourdissement de Slimy Doom jusqu'à la fin du prochain tour du porteur) ; expires: { "becomes": conditionId }, en quoi il se transforme, sans décompte, quand son propre décompte s'épuise, fin du combat comprise, mais pas quand il prend fin d'une autre façon (la maladie du Tentacle d'un aboleth après sa minute) ; et curedOnlyBy: { "catalogs": [catalogId], "minLevel": 6 }, pour que seul un remède de ces catalogues payé à ce niveau ou plus y mette fin. onRest.restoredWhenCured: true (avec lasting) rend ce que les repos de cet état ont retiré du maximum quand il disparaît, quelle que soit la façon, sa propre sauvegarde réussie comprise. L'effet cannot-heal-nonmagical écarte tout soin sauf un soin magique : en combat, une action dont les qualités indiquent "magical" ; hors combat, une opération restore avec "magical": true (une potion portant le tag magical en est une) ; et jamais un repos ; un restore refusé indique cannot-heal. L'action d'un bloc de statistiques peut porter ends comme une entrée de catalogue, genres compris : le Healing Touch d'une licorne s'écrit "heal": { "dice": "2d8", "flat": 2 }, "ends": { "conditions": ["disease", "poisoned"] }, "targets": "ally". Un remède que le lanceur choisit parmi ses états, une malédiction parmi plusieurs, c'est cureOneOf (1.204).
Des qualités sur l'action d'une créature (Capability API 1.262). L'action d'un bloc de statistiques peut porter des qualities, des tags d'objet que l'ensemble déclare, comme celles d'une entrée de catalogue : ["magical"] rend son soin magique, ce que cannot-heal-nonmagical laisse passer, et fait d'une sauvegarde contre elle une sauvegarde contre la magie. L'utilisation d'un objet en combat porte de la même façon les tags propres de l'objet : une potion portant le tag magical y soigne donc par magie comme elle le fait sur la fiche.
Auras (Capability API 1.263). Un état de combat peut porter des auras, jusqu'à quatre : chacune propage ses conditions à quiconque se tient à distance ou moins du porteur, selon son side : allies, enemies ou all, et au porteur aussi avec self: true (pas avec enemies). when lit une valeur de la fiche du porteur avec atLeast ou atMost : une aura peut ainsi s'ouvrir à un niveau. Un porteur à terre, vaincu ou ayant l'effet cannot-act ne propage rien. Ce qu'une aura propage s'applique au fil du combat, disparaît quand les deux se séparent (le journal indique aura et parted), n'est jamais écrit sur une fiche et disparaît à la fin du combat ; un état propagé par une aura ne peut pas porter sa propre aura. Sans plateau, l'aura atteint tout le monde de son côté. Pour que le porteur commence chaque combat avec l'état, donne aux mécaniques d'une entrée de catalogue, ou à un bloc de statistiques, keepsOn : les états qu'il porte pendant tout le combat, jamais écrits sur une fiche non plus. L'Aura of Protection de 5e est un aura-of-protection conservé dont l'aura propage un état qui ajoute le Charisme du paladin aux sauvegardes ; Holy Nimbus est une aura sur les ennemis dont l'état blesse au début de leur tour.
Comportement imposé (Capability API 1.264). Un état de combat peut porter behavior, qui décide de ce que son porteur fait de son tour. only liste tout ce que le tour peut contenir en plus de sa fin : move (se déplacer et se relever), escape (se libérer d'une emprise) et les actions standard que l'ensemble déclare ; une liste vide ne laisse que la fin du tour (le halt de Command). onlyWhenStuck nomme des actions standard autorisées seulement quand il n'y a nulle part où se déplacer (le Dodge de Turn Undead). moves: "away" ne se déplace qu'en s'éloignant de celui qui a appliqué l'état, jamais d'un pas plus près, et finit plus loin ; moves: "toward" ne se déplace qu'en se rapprochant (l'approach de Command, Sympathy). table est lancé au début de chaque tour du porteur, {dice, rows: [{atMost, does}]}, et la première ligne que le jet ne dépasse pas décide du tour : wander parcourt toute sa vitesse dans une direction choisie par un d8 et met fin au tour, nothing y met fin, strike ne permet qu'une attaque au corps à corps contre une créature à portée d'allonge choisie par les dés (amie ou ennemie ; rien s'il n'y a personne), et normal, comme un jet au-dessus de toutes les lignes, laisse le tour tel quel (Confusion, Mindfire). Le journal affiche le jet comme un événement compelled, et tout le reste est refusé avec compelled. Une sauvegarde qui met fin à un état peut aussi être at: "action" : son porteur dépense son action pour la lancer (Irresistible Dance).
Les auras vont plus loin (Capability API 1.265). Les conditions d'une aura sont désormais facultatives, tant qu'elle propage des états, blesse ou demande une sauvegarde. needs liste des sens qu'un receveur doit avoir, et ni le porteur ni le receveur ne peuvent se tenir dans une zone dont les inside.conditions retirent ces sens : le needs: ["hearing"] de Countercharm s'arrête à Silence. harms {dice, flat, type} est infligé par le porteur à tous ceux que l'aura atteint au début de chacun des tours du porteur (la Fire Aura d'un balor). save {save, difficulty, applies, seen?, immuneOnSuccess?} est fait par tous ceux que l'aura atteint au début de leur propre tour : un échec applique applies de la part du porteur à cette difficulté, seen ne la demande que tant que les deux peuvent se voir (le regard d'un basilic), et immuneOnSuccess écarte l'aura de ce porteur pour le reste du combat après une réussite (la Fear Aura d'un diantrefosse). Le against.casts d'un modificateur de sauvegarde le restreint aux sauvegardes contre ce qui est lancé depuis ces catalogues, utilisation d'un objet qui lance depuis l'un d'eux comprise, puis à tout ce qu'il nomme d'autre : l'avantage de Holy Nimbus contre les sorts lancés par des fiélons ou des morts-vivants s'écrit against: { casts: ["spells"], from: { types: ["fiend", "undead"] } }.
Plus de comportement imposé (Capability API 1.266). Un behavior peut porter drops {slots?, tags?, at, pickUp?} : son porteur laisse tomber chaque objet porté qui occupe l'un des slots ou porte l'un des tags, et chaque action de bloc de statistiques dont les qualities portent l'un des tags, soit quand l'état s'applique (at: "applied", le "drops whatever it is holding" de Fear), soit au début de chacun des tours du porteur (at: "turn-start", le "drop" de Command). Ce qui est tombé reste sur la case où il se tenait : aucune de ses actions n'est plus la sienne (refusées avec dropped), il ne donne plus rien de ce qu'il donnait une fois porté, et sa part de la défense du porteur disparaît (les 2 d'un bouclier). Le porteur le ramasse en se tenant sur cette case ou à côté, avec le ramassage gratuit du tour, ou pour le budget pickUp quand l'état en nomme un ; le journal affiche letFall et pickedUp. onlyWhenStuck: "any" rend entièrement libre un tour qui commence sans aucun endroit où l'état laisse son porteur se déplacer (le "unless there is nowhere to move" de Fear). keepsOut est une distance depuis celui qui a appliqué l'état : à l'intérieur, le porteur ne fait que s'éloigner, et il ne s'arrête qu'à l'extérieur tant qu'un endroit à l'extérieur est à sa portée (le "can't willingly move to a space within 30 feet of you" de Turn Undead). Une sauvegarde qui met fin à un état peut être unseen: true, lancée seulement tant que son porteur ne peut pas voir celui qui l'a appliqué (la sauvegarde de Fear hors de la ligne de vue). Les applies d'une entrée peuvent porter destroysUpTo [{tier, when?}] : une créature qui rate la sauvegarde et dont le palier de menace ne dépasse pas le plus haut tier dont le when est vérifié sur la fiche de l'utilisateur est plutôt détruite sur-le-champ (Destroy Undead, FP 1/2 pour un clerc de niveau 5 jusqu'à FP 4 au niveau 17) ; un personnage, ou une créature sans palier, ne l'est jamais.
Cibler par n'importe quel sens, des cibles proches les unes des autres, des zones qui grandissent, plus d'utilisations et des choses tenues (Capability API 1.267). Une entrée ou une action de créature qui needs des sens peut ajouter needsAny: true : une cible qui en garde un seul suffit, et seule une cible qui les a tous perdus est refusée (le "each undead that can see or hear you" de Turn Undead). targetsWithin est une distance dans laquelle chaque paire de cibles choisies doit se tenir, sinon elles sont refusées avec targets-apart (les créatures supplémentaires de Command à un emplacement supérieur, "within 30 feet of each other"). Une area peut porter sizePerCostStep, la distance dont sa taille grandit pour chaque cran dont son coût est augmenté (la sphère de Confusion qui grandit de 5 pieds par niveau d'emplacement) ; un mur ne grandit jamais. Un objet avec un use peut lister des moreUses [{label, use}] : chacune est une autre entrée de menu, nommée d'après l'objet et son label, qui puise dans les mêmes charges et tombe avec l'objet (une baguette de plusieurs sorts). Une créature peut lister des held [{label, tags, defense?}], des choses qu'elle tient et qui ne sont pas une action propre (un bouclier imprimé dans son bloc) : un état dont les drops nomment l'un de leurs tags les fait tomber avec ses actions portant ce tag, leur defense disparaît de la sienne jusqu'à ce qu'elle les ramasse, et chacune se ramasse comme un objet tombé.
Regards, et auras selon qui elles atteignent (Capability API 1.268). Une aura peut porter targetTypes, lu comme celui d'une entrée : elle n'atteint que ceux qui correspondent (le Horrific Appearance d'une guenaude marine, humanoïdes seulement). sourcesOf nomme des états : elle n'atteint que quiconque a appliqué l'un d'eux à son porteur (le Barbed Hide d'un diable barbelé, qui blesse quiconque l'agrippe). Le save d'une aura peut porter failedBy {atLeast, applies} : un échec d'au moins cette marge applique ceux-ci à la place (le regard d'une méduse, qui pétrifie sur-le-champ sur un échec de 5 ou plus). Une sauvegarde seen peut porter avert: true : quiconque elle atteint peut, pendant son tour et sans frais, détourner les yeux de son porteur ; jusqu'à ce qu'il regarde de nouveau (également son libre choix), il saute cette sauvegarde et ne peut pas voir le porteur, si bien que ses attaques contre lui sont faites sans le voir ; le journal affiche averted, et le directeur garde détournés les yeux de ses créatures tant qu'il reste quelqu'un d'autre à combattre. Une sauvegarde qui met fin à un état peut porter seenLean ("advantage" ou "disadvantage") : elle est lancée ainsi tant que son porteur peut voir celui qui a appliqué l'état (la sauvegarde répétée contre la guenaude marine, avec désavantage tant qu'elle est en vue).
Des bâtons qui lancent avec les nombres de leur porteur (Capability API 1.269). Le use d'un objet peut lire sa difficulté de sauvegarde sur la fiche de son porteur avec sheetDifficulty, une valeur lue comme toHit.sheetBonus en lit une ({ "derived": "spell_save_dc" }), à la place de saveDifficulty ; son bonus d'attaque se lit déjà de la même façon sur la fiche, avec toHit.sheetBonus ({ "derived": "spell_attack" }) et sans attributs. Une utilisation avec charges peut porter chargeStep {max, amount?, targets?} : son utilisateur peut dépenser jusqu'à max charges de plus, chacune étant un cran d'un coût supérieur, qui ajoute amount et targets comme un emplacement supérieur ajoute perCostStep et targetsPerCostStep, et fait grandir une zone avec sizePerCostStep (le sort d'un Staff of Power à un niveau supérieur, les 1d6 de force par charge d'un Staff of Striking). Le menu les propose comme des paiements nommés charges:<how many more>, seulement autant que l'objet en contient encore. La même version mineure porte à 320 le nombre d'états qu'un ensemble peut déclarer, et le save d'une aura peut porter immuneWhenEnds: true : une fois que ce qu'un échec a appliqué prend fin, quelle que soit la façon (une sauvegarde, son décompte, un remède), l'aura de ce porteur reste écartée de lui pour le reste du combat, comme immuneOnSuccess l'écarte après une sauvegarde réussie (le "is successful or the effect ends for it" d'une guenaude marine).
Un genre nommé au lancement (Capability API 1.270). Les mechanics d'une entrée de catalogue avec applies peuvent porter kindChoice: true : son utilisateur nomme l'un des combat.creatureTypes (un type ou un tag) en l'utilisant, proposé sous forme de modes kind-<id>, et ce qu'elle applique retient ce genre. L'aura de ce qu'elle a appliqué avec chosenKind: true n'atteint que les créatures de ce genre, et une aura avec orSeen: true atteint aussi quiconque peut voir son porteur, à quelque distance que ce soit : l'Antipathy de 5e applique donc à sa cible un état dont l'aura, side: "all", effraie le genre choisi à 60 pieds ou moins ou en vue, et ses effrayés s'éloignent (moves: "away"), tandis que les charmés de Sympathy s'approchent. Le saveEnds d'un état peut porter beyond, dans la distance de l'ensemble : sa sauvegarde n'est lancée que tant que son porteur se tient plus loin que cela de celui qui l'a appliqué et, avec unseen, aussi hors de sa vue (le "not within 60 feet of the target or able to see it" d'Antipathy).
Plus de ce que font les bâtons et les anneaux (Capability API 1.271). Le use d'un objet peut porter label, affiché à côté du nom de l'objet comme le libellé d'une entrée moreUses ("Staff of Fire: Burning Hands") ; une utilisation supplémentaire est nommée par son propre label. Une utilisation peut porter amountAdd, une valeur lue sur la fiche de son porteur et ajoutée à sa quantité, comme celle d'une entrée de catalogue (le Cure Wounds d'un Staff of Healing, { "abilityModFromField": "spellcasting_ability" }), en combat comme hors combat. Un chargeStep peut porter push, dans la distance de l'ensemble : chaque charge de plus pousse sa cible d'autant plus loin, en plus du push propre à l'utilisation (les 5 pieds par charge d'un Ring of the Ram). Le charges.breaksOn d'un objet peut porter regains {atLeast, amount} : quand sa dernière charge est dépensée et que son dé montre atLeast ou plus, l'objet récupère plutôt amount charges (les 1d12 + 1 d'un Staff of the Magi sur un 20), en combat, hors combat et quand l'inventaire dépense une charge ; atMost peut alors être omis pour un objet qui ne se brise jamais.
Un objet qui en devient un autre (Capability API 1.272). Le charges.breaksOn d'un objet peut porter becomes, un autre objet de l'ensemble sous la forme <catalog>/<entry>, à côté de atMost : sur les faces qui le briseraient, l'objet devient plutôt celui-là (le bâton non magique d'un Staff of Striking, ou un Staff of Power qui ne garde que son +2, écrit comme un objet qui n'a que cela). En combat, ses utilisations disparaissent et il frappe désormais comme le nouvel objet, et le combat réécrit la pile comme cet objet, sous son nom et sans charges ; hors combat et quand l'inventaire dépense une charge, la pile change de la même façon. L'objet nommé doit être un autre objet de l'ensemble, dans quelque fichier de catalogue qu'il se trouve.
Des charges dépensées sur un coup réussi (Capability API 1.273). Le attack.spends d'une arme liste jusqu'à quatre façons dont son porteur peut dépenser les charges de l'objet une fois qu'un coup porté avec elle a touché : chacune a un label, les charges qu'elle coûte, un amount de dés et une part fixe ajoutés au coup avec leur propre type de dégâts (celui de l'arme si elle n'en nomme aucun) et, en option, blow (seulement un coup melee ou ranged), chargeStep (max charges de plus, chacune ajoutant à nouveau son amount : les 1d6 de force par charge d'un Staff of Striking, jusqu'à trois) et onHit (jusqu'à deux états que reçoit celui qui est touché, chacun avec rounds, un save qui l'écarte, ou saveEnds : la sauvegarde de Constitution d'un Staff of Withering). En combat, chacune est proposée au porteur lors de son propre coup réussi avec cette arme, et d'aucune autre, après que celui qui est touché a répondu ; ses dés sont lancés avec le coup et doublés par son critique, et le dé de dernière charge de l'objet est lancé comme pour une utilisation. L'objet contient des charges.
Des nombres fixés d'après celui qui a appliqué un état (Capability API 1.274). Un état qu'une entrée applies peut porter une value, une référence de valeur lue sur la fiche de celui qui l'applique au moment où il s'applique (le { "abilityModFromField": "spellcasting_ability" } de Heroism), et le temporary d'un état de combat donne à son porteur des points temporaires au début ou à la fin de chacun de ses tours (at) : dice et flat, plus cette valeur avec value: true, et avec lostWhenEnds ce qu'il en reste disparaît quand l'état prend fin, sauf si le porteur en a davantage, grâce à autre chose, que ce que l'état a donné. Le save.appliedDifficulty d'une aura lance sa sauvegarde contre la difficulté de sauvegarde de ce qui a appliqué l'état de l'aura à son porteur, fixée au moment de l'application (le DD de sauvegarde des sorts du lanceur d'Antipathy/Sympathy) ; sa difficulty reste pour une aura que rien n'a appliquée. Une sauvegarde qui met fin à un état at: "damaged" peut indiquer bySource : lancée seulement sur une blessure venant de celui qui a appliqué l'état (la sauvegarde de Sympathy quand la cible blesse son porteur). Le behavior.keepsIn d'un état empêche son porteur, une fois à cette distance ou moins de celui qui l'a appliqué, de jamais s'en éloigner davantage (le "can't willingly move away" de Sympathy). Et le use d'un objet peut porter kindChoice comme les mécaniques d'une entrée (1.270) : un parchemin d'Antipathy/Sympathy nomme ainsi son genre à l'utilisation.
Des états tenus en suspens plutôt que terminés (Capability API 1.275). À côté de whileSourceInSight, le orSourceWithin d'un état de combat (une distance dans les unités propres de l'ensemble) le maintient actif tant que son porteur se tient aussi près de celui qui l'a appliqué, qu'il le voie ou non : hors de vue et hors de portée, il est tenu en suspens, toujours sur son porteur avec son décompte qui court, et il redevient actif dès que l'une des deux conditions est remplie (la frayeur d'Antipathy, à 60 pieds ou moins ou en vue). Le suppresses d'un état de combat liste d'autres états qu'il tient en suspens tant qu'il est actif : leurs effets s'arrêtent, ils restent en place et redeviennent actifs une fois qu'il prend fin (le charme et la frayeur de Calm Emotions, ceux de Mindless Rage).
Téléportations (Capability API 1.276). Le mechanics.teleport d'une entrée de catalogue, le use.teleport d'un objet ou le teleport d'une action de créature déplace aussitôt son utilisateur vers une place libre à distance ou moins (dans les unités propres de l'ensemble) : aucun pas entre les deux, donc personne ne le frappe quand il part, et une zone où il atterrit le prend comme s'il y était entré en marchant. Seulement sur un plateau, donc il nécessite combat.distance ; hors plateau, une action qui ne fait que téléporter n'est pas proposée. Avec seen, seulement vers une place que son utilisateur voit maintenant (un mur, un brouillard ou une cécité qui prive des yeux retirent de la liste les cases situées derrière) : le Misty Step de 5e, { "distance": 30, "seen": true }. carries (de 1 à 8) emmène autant de créatures consentantes du camp de son utilisateur, pas plus grandes que lui, situées à carriesWithin ou moins (au contact s'il est omis), et chacune atterrit aussi près de son utilisateur que la place le permet : Dimension Door, { "distance": 500, "carries": 1, "carriesWithin": 5 }. Une action de créature avec téléportation s'applique à la créature elle-même (le Teleport d'un chien esquiveur). L'option liste les cases où il peut aller sous teleport.cells, et qui peut l'accompagner sous teleport.carries ; un choix nomme la case sous at et ses compagnons sous carries. Une téléportation n'est jamais une zone ni une réaction.
Six états à la fois, et une vue qui voit vraiment (Capability API 1.277). applies contient jusqu'à 6 entrées sur les mécaniques d'une entrée de catalogue, l'utilisation d'un objet et une action de créature (4 avant) : Rage et Frenzy ajoutent chacun l'état de Mindless Rage à côté de leurs quatre. Et whileSourceInSight (avec orSourceWithin à côté) lit désormais la vue propre du porteur, comme le fait le orSeen d'une aura : une ligne dégagée sur le plateau reste nécessaire et, en plus, le porteur doit voir sa source avec ses yeux ou ses sens ; une cécité qui prive des yeux, un brouillard qui masque, l'obscurité au-delà de ce qu'il voit, ou une source invisible pour lui, tout cela la rompt comme un mur.
Calm Emotions (Capability API 1.278). Une sauvegarde peut indiquer alliesMayFail: true (sur le save d'une entrée de catalogue, de l'utilisation d'un objet ou d'une action de créature) : une cible du camp de son utilisateur la laisse passer et échoue sans lancer, et le journal le dit, tandis que tous les autres lancent normalement. Les effects d'un état peuvent porter cannot-target-source-side : son porteur ne pointe rien sur celui qui le lui a appliqué ni sur quiconque de son camp, sauf si ce camp est celui du porteur (il n'écarte alors personne). endsWhen accepte deux fins de plus à côté de damaged et harmed-by-source-side, jusqu'à les quatre : attacked, un jet d'attaque fait contre son porteur par quiconque, réussi ou raté (une action qui touche sans jet n'en est pas un), et ally-harmed-in-sight, des dégâts infligés à quiconque d'autre du camp de son porteur et que celui-ci voit (une ligne dégagée sur le plateau et ses propres yeux ou sens). Et endsWhenHarmedFrom liste des catalogues : une blessure infligée à son porteur par quoi que ce soit lancé depuis l'un d'eux, par quiconque, sort de parchemin et zone en place compris, y met fin ; une blessure, ce sont des dégâts, ou le fait d'être la cible d'une action nuisible, comme pour harmed-by-source-side, et relancer le même état le rafraîchit au lieu d'y mettre fin. Chacune de ces fins attend que l'étape qui l'a causée soit terminée. Et un état que l'état actif propre du porteur suppresses n'est plus terminé par une immunité que donne ce même état : il est suspendu, pas guéri, si bien qu'une frayeur déjà présente quand commence une rage immunisée contre la frayeur revient quand la rage prend fin (le Mindless Rage de 5e), tandis que de nouvelles frayeurs ne peuvent toujours pas s'appliquer.
Téléportations hors du combat, passagers visibles et fumée (Capability API 1.279). Un teleport (sur une entrée de catalogue, l'utilisation d'un objet ou une action de créature) accepte trois clés de plus. leaves: true : il peut emmener son utilisateur entièrement hors du combat, le mile d'une licorne, au lieu de le mener à une case ; le choix ne nomme alors aucun at (le menu affiche un bouton "Leave the fight"), et son utilisateur et ceux qui l'accompagnent disparaissent vivants (affichés comme "Left the fight", leur santé conservée, et rien ne les ramène). Hors plateau, partir est la seule destination, et toute personne debout du camp de son utilisateur peut l'accompagner, puisque rien ne mesure qui se tient près. Une équipe dont plus personne ne combat, et dont l'un des membres est parti ainsi, a fui (le résultat fled, qui termine le combat comme une fuite) ; un ennemi parti ainsi n'est ni battu ni encore debout, mais il s'est échappé, et le récapitulatif le dit. Les propres créatures du directeur partent à un quart de leur santé ou moins, en emmenant qui elles peuvent. carriesSeen: true (avec carries) : seuls ceux que son utilisateur voit peuvent l'accompagner, les "willing creatures it can see" d'une licorne. Et smoke ({}, ou { "pierced": [senses] }) : un nuage se forme sur les cases que son utilisateur a quittées et sur celles où il atterrit, et masque comme le obscures d'une zone, dès l'atterrissage et jusqu'à la fin du prochain tour de son utilisateur : la fumée de la Cape of the Mountebank.
Une téléportation qui frappe (Capability API 1.280). La téléportation d'une créature peut nommer l'une de ses propres actions comme strike (son id) : le "Before or after teleporting, the dog can make one bite attack." d'un chien esquiveur. Se téléporter permet alors à cette action de suivre une fois ce tour-ci sans frais (le menu indique "Free, part of the same action"), et le menu la propose aussi dans l'autre sens, comme "Bite, then Teleport" sur le budget de la téléportation, après quoi la téléportation suit une fois sans frais. Aucune des deux ne mène à une troisième. La frappe faite en premier dépense les utilisations et la recharge de la téléportation en plus des siennes, et n'est proposée que tant qu'il reste les deux. La frappe est une autre action simple de la même créature : ni la téléportation elle-même, ni une séquence, ni une autre téléportation, ni une réaction, ni quelque chose acheté avec des points. Seule la téléportation d'une créature en nomme une ; celle d'une entrée de catalogue ou de l'utilisation d'un objet est refusée. Dans un combat qui ne mesure aucune distance, une téléportation ne mène nulle part : rien n'est donc associé. Le directeur s'en sert aussi : une créature trop loin pour rejoindre sa proie à pied se téléporte à côté d'elle et mord dans le même tour.
Coups qui drainent (Capability API 1.281). Les mechanics d'une entrée de catalogue ou l'action d'une créature peuvent porter drain : son utilisateur récupère une santé égale aux dégâts que le coup a infligés à chaque cible, après résistances, arrondie vers le bas et jamais au-dessus de son maximum, et rien n'est retiré du maximum de la cible (pour cela, voir reducesMax). share (supérieur à 0, jusqu'à 1, la totalité s'il est omis) est la part qui revient, et damageType ne compte que les dégâts de ce type : le Psychic Drain d'un aboleth s'écrit drain: {}, Vampiric Touch drain: { "share": 0.5, "damageType": "necrotic" }. Ce qui empêche de guérir empêche aussi cela. Un drain a besoin de dégâts à rendre : il est donc refusé sur une entrée sans amount, sur un soin, ou sur une action de créature sans damage.
Des explosions centrées sur leur utilisateur (Capability API 1.282). Une area (d'une entrée de catalogue ou d'une action de créature) peut indiquer around: true : une explosion de size centrée sur son utilisateur et jamais visée. Tous ceux qui se trouvent à size ou moins de l'utilisateur sont pris quand elle est utilisée, amis comme ennemis sauf si friendlyFire vaut false (une explosion qui soigne ne prend que le camp de son utilisateur), et jamais l'utilisateur. Un mur entre eux protège une créature, sauf si la zone indique aussi throughWalls: true : le Channel Negative Energy d'un seigneur momie, "including ones behind barriers and around corners". Dans un combat sans plateau, elle prend tout le monde. Elle n'est pointée sur personne : elle fonctionne donc comme une action distinctive achetée entre deux tours aussi bien que pendant un tour. Seule une explosion unique est centrée sur son utilisateur (pas de copies), throughWalls ne va qu'avec around, et l'explosion d'une entrée autour de son utilisateur s'applique aussitôt, sans laisser de zone. Channel Negative Energy est une action de créature avec signature: { "cost": 2 }, area: { "shape": "burst", "size": 60, "around": true, "throughWalls": true } et qui applies un état avec l'effet cannot-heal pour { "rounds": 1, "of": "source" }, jusqu'à la fin du prochain tour du seigneur momie. Le directeur en évalue une selon ceux qu'elle prend, comme il évalue une forme visée. L'explosion d'une créature centrée sur elle qui laisse une zone (Ink Cloud d'un kraken) est posée sur chaque case à size ou moins de la créature, y compris derrière les murs si elle indique throughWalls, qu'elle soit utilisée pendant le tour de la créature ou achetée entre deux tours, et touche dès lors tous ceux que les déclencheurs de sa zone désignent à cet endroit.
Mouvements légendaires (Capability API 1.283). Une action de créature avec un coût signature peut indiquer move et rien d'autre à faire : son auteur se déplace entre deux tours, en choisissant une case sur le plateau comme pour un déplacement pendant son propre tour, avec un crédit de mouvement prêté pour ce seul déplacement, si bien que le mouvement de son propre tour reste intact. move: { "share": 0.5 } est une part de sa vitesse (une tarasque "moves up to half its speed"), move: { "distance": 60 } une distance dans l'unité propre de l'ensemble, et move: {} tout