Objets des ensembles de règles

Utilise cette page pour décrire ce que transporte une équipe : catégories, armes, armures, munitions, butin, argent, équipement de départ et marchés. Elle s'adresse aux auteurs d'ensembles de règles. Avant de commencer, lis Écrire des ensembles de règles Game Mode.

Sections de cette page :

Les armures, les armes, les potions, l'équipement, les munitions et l'argent sont des objets. Un bloc facultatif items déclare les mots dans lesquels chaque objet de ton ensemble est écrit, et un catalogue avec holds: "items" liste les objets eux-mêmes. Les deux nécessitent Capability API 1.49 ; les rarityCaps et propose du bloc, qui encadrent les objets inventés par le Game Master, nécessitent 1.51 ; une valeur qui lit les objets que tient un personnage (itemStat), 1.52 ; l'effet d'un objet sur les tests quand il est porté ou transporté, avec les plafonds bonus du bloc, 1.53 ; ce qu'un objet exige de son porteur et les attributs qu'il modifie, 1.54 ; l'attack d'une arme, 1.55 ; ce que fait un objet en combat, 1.56 ; ce qu'une arme tire et garde chargé, 1.57 ; les modes d'une arme, l'attaque de la main secondaire, le plancher et les états infligés sur un coup, 1.58 ; ce que fait l'utilisation d'un objet en combat, avec les charges qu'il contient, 1.59 ; une utilisation qui restaure une réserve, 1.60 ; des charges regagnées au repos ou un objet qui se brise une fois vide, 1.61 ; une utilisation qui demande d'abord un test (gate), 1.62 ; les tables de butin et le butin d'une créature, 1.63 ; une ligne de butin qui lâche des pièces ou une couche qui retire des pièces, 1.64 ; un marché, le lieu sold d'un objet et un service, 1.65 ; un jour de marché (une bourse, buyBack, le stock d'un vendeur, une quantité limited ou un sold qui ne nomme aucun lieu), 1.69 ; un effet supplémentaire qui se déclenche sur les armes tenues (weapons), 1.70 ; l'équipement de départ (startingGear), 1.78 ; un objet risqué, une contrefaçon ou un vendeur malhonnête, 1.79 ; et le unsold d'un marché (ou le items d'une couche), 1.813.

Le bloc des objets

Le bloc va dans items, au premier niveau du fichier. Voici celui d'Ember Roads, un peu raccourci :

"items": {
  "categories": [
    { "id": "weapon", "label": "Weapon" },
    { "id": "armor", "label": "Armor" },
    { "id": "ammunition", "label": "Ammunition" }
  ],
  "rarities": [
    { "id": "common", "label": "Common" },
    { "id": "storied", "label": "Storied" }
  ],
  "tags": [
    { "id": "thrown", "label": "Thrown" },
    { "id": "ranged", "label": "Ranged" },
    { "id": "two_handed", "label": "Two-handed" },
    { "id": "arrow", "label": "Arrow" }
  ],
  "stats": [
    { "id": "bulk", "label": "Bulk", "type": "number", "min": 0, "max": 10, "default": 0 },
    { "id": "guard", "label": "Guard", "type": "number", "min": 0, "max": 4, "default": 0 },
    { "id": "damage", "label": "Damage", "type": "dice", "example": "1d6" },
    { "id": "swing", "label": "Rolls with", "type": "enum", "values": ["brawn", "wits", "heart"], "default": "brawn" },
    { "id": "reach", "label": "Reach", "type": "enum", "values": ["close", "near", "far"], "default": "close" }
  ],
  "slots": [
    { "id": "body", "label": "Body", "count": 1 },
    { "id": "hands", "label": "Hands", "count": 2 }
  ],
  "carry": { "stat": "bulk", "encumberedAbove": { "derived": "load" }, "limit": { "const": 12 } },
  "rarityCaps": [
    { "rarity": "common", "stats": { "guard": 1 }, "bonus": 1 },
    { "rarity": "storied", "stats": { "guard": 3 }, "bonus": 2 }
  ],
  "currencies": [
    {
      "id": "coin",
      "label": "Coin",
      "perWeight": 100,
      "units": [
        { "id": "bit", "label": "bits", "value": 1 },
        { "id": "mark", "label": "marks", "value": 10 },
        { "id": "sovereign", "label": "sovereigns", "value": 100 }
      ]
    },
    {
      "id": "salt",
      "label": "Salt",
      "perWeight": 10,
      "units": [
        { "id": "pinch", "label": "pinches", "value": 1 },
        { "id": "cake", "label": "cakes", "value": 20 }
      ]
    }
  ]
}

Un objet

Un catalogue d'objets ne déclare aucun feeds :

{ "id": "outfitter", "label": "Outfitter", "holds": "items", "entries": [] }

Chaque entrée porte un item au lieu de rows ou d'une creature :

{
  "id": "hunting-bow",
  "label": "Hunting bow",
  "summary": "Yew, waxed string, and a grip worn smooth by someone else's hand.",
  "item": {
    "category": "weapon",
    "rarity": "common",
    "tags": ["ranged", "two_handed"],
    "stats": { "bulk": 2, "damage": "1d8", "swing": "wits", "reach": "far" },
    "slots": { "hands": 2 },
    "cost": { "amount": 3, "unit": "sovereign" }
  }
}

Un objet ne porte pas de mechanics : ce qu'il fait est écrit dans son bloc item.

Ce qui lit les objets

Tout ce qui précède est vérifié à l'importation de l'ensemble, et tes catalogues d'objets sont distribués avec lui. En partie, l'inventaire de Game Mode les lit :

Dans une bataille Classic ou Tactical, chacun de tes objets doté d'un use y fait ce qu'il dit, et un objet qui n'en a pas n'est pas proposé (voir Les objets dans les batailles Classic et Tactical, ci-dessous). Quoi que dise native, la fiche peut lire tes objets (ci-dessous), une arme tenue est une attaque dans un combat régi par l'ensemble et tire ce qu'elle prend dans le sac, ce que fait un objet porté ou transporté y compte (voir Armures et effets portés en combat, ci-dessous), un objet doté d'un use est utilisé selon ses propres règles, en combat et hors combat (voir Utiliser des objets en combat et Utiliser des objets hors combat, ci-dessous), et tes currencies sont l'argent de l'équipe (voir Argent, ci-dessous).

Les objets sur la fiche

Une référence de valeur peut lire les objets que tient un personnage, avec itemStat (Capability API 1.52). Ember Roads ajoute la protection de l'armure que porte un voyageur à sa Guard, le nombre qu'un coup doit battre :

{
  "id": "guard",
  "label": "Guard",
  "op": "sum",
  "of": [{ "const": 6 }, { "abilityMod": "wits" }, { "itemStat": { "stat": "guard", "from": "worn", "pick": "sum" } }]
}

Les objets changent en jeu ; itemStat suit donc la même règle qu'une lecture de l'état courant : le max d'une réserve ou d'une piste, le bonus de maîtrise, binding.max, les nombres de carry et la colonne à échelle ou la mise à l'échelle d'un catalogue ne peuvent pas le lire, même par une valeur dérivée. Partout ailleurs où un nombre est lu, il le peut : une valeur dérivée, l'adjust d'un test, le cap d'une compétence, la défense, l'absorption ou l'initiative d'un combat.

Les objets d'un personnage sont ceux de son propre sac. Le personnage du joueur (celui qui porte le nom de la personne qu'incarne le chat, sinon le premier) lit le sac du joueur, et chaque autre personnage, le sien. Seuls les objets de ton ensemble comptent, car un objet ordinaire n'a aucune statistique à lire. La fiche à l'écran, un test, le bloc de fiche du Game Master et un combat à son début lisent tous ce que chaque personnage tient à ce moment-là. Hors partie, dans l'éditeur de fiche ou dans l'examen d'une importation, personne ne tient rien et itemStat lit son default.

Les tests hors combat

Un test ou une sauvegarde que le Game Master demande hors combat lit plus que la fiche : les états actifs du personnage, les niveaux qu'il a atteints, ce que font ses objets portés ou transportés, et ce que coûte l'exigence d'un objet porté tant qu'il n'y satisfait pas. C'est le même vocabulaire que celui des états d'un combat (Capability API 1.53 pour les clés d'objet et la restriction à certaines compétences ou sauvegardes).

Un objet indique ce qu'il fait avec worn, qui s'applique tant qu'il est porté (et lié, s'il doit l'être), et carried, qui s'applique tant qu'il est seulement transporté. Le manteau de cuir d'Ember Roads grince quand tu te faufiles, et une pierre de route pousse les caravaniers à te faire confiance :

"worn": { "modifiers": [{ "to": "checks", "skills": ["sneak"], "flat": -1 }] }
"carried": { "modifiers": [{ "to": "checks", "skills": ["sway"], "flat": 1 }] }

Chacun prend les parties d'un état que lit un test :

Les gantelets en peau de bœuf d'Ember Roads donnent à une main faible la poigne d'un bouvier :

"worn": { "abilities": { "brawn": { "set": 2 } } }

Ce que fait un objet en combat (défense, attaques, vitesse, les autres effets du combat, et les dégâts et états qu'il écarte) se trouve dans Armures et effets portés en combat ; un test hors combat ne lit que les parties ci-dessus. Un objet s'applique une seule fois, quel que soit le nombre de piles que quelqu'un en tient.

Un objet peut aussi exiger quelque chose de son porteur, avec requires : une valeur de sa fiche (value, toute référence de valeur, lue comme tout ce qui est en jeu), le minimum requis (atLeast), et ce qui s'applique tant qu'il n'y satisfait pas (otherwise, dans le même vocabulaire, sauf qu'il ne peut pas modifier un attribut, puisque l'exigence peut en lire un). Jusqu'à quatre. La bêche de fossoyeur de Gravewatch est un dur labeur pour un gardien faible :

"requires": [
  {
    "value": { "abilityScore": "sinew" },
    "atLeast": 3,
    "otherwise": { "modifiers": [{ "to": "checks", "skills": ["dig"], "flat": -1 }] }
  }
]

Une exigence lit l'attribut tel que les objets du porteur le laissent : des gantelets qui fixent Sinew à 3 satisfont donc celle de la bêche.

Sur un test :

Gravewatch montre la même chose sur une réserve : la Dawn bell liée ajoute un dé à Ward, et Rattled en retire un à Soothe et à Barter.

Défenses typées issues des états, des niveaux, des objets et des lignes de fiche

combat.conditions[] et combat.levels[] peuvent accorder resist, vulnerable, immune (de 1 à 30 entrées chacun) et conditionImmunities (de 1 à 40 identifiants d'états). Ils s'appliquent tant que l'état dure ou que le seuil du niveau est atteint. Une immunité d'état nouvellement acquise met fin à cet état s'il est déjà actif et empêche de l'appliquer à nouveau. L'immunité l'emporte sur la résistance ; résistance et vulnérabilité s'annulent. Plusieurs résistances ne réduisent jamais les dégâts de moitié deux fois.

resist et immune utilisent la forme des créatures : un mot de dégâts ou { "type": "bludgeoning", "except": ["magical"] }. Tout tag nommé porté par le coup contourne cette entrée. vulnerable reste une liste de simples mots de dégâts. La même forme d'exception fonctionne sur les effets worn et carried des objets. Déclare les tags d'exception dans items.tags et place-les dans les qualités de l'arme ou du sort. Par exemple, Stoneskin est une association d'état :

{
  "condition": "stoneskin",
  "resist": [
    { "type": "bludgeoning", "except": ["magical"] },
    { "type": "piercing", "except": ["magical"] },
    { "type": "slashing", "except": ["magical"] }
  ]
}

L'armure d'invulnérabilité utilise ce même tableau resist dans son effet worn. Protection from Energy peut accorder resist: ["fire"] ; un trait semblable à Brave peut accorder conditionImmunities: ["frightened"]. Un niveau peut accorder resist: ["poison"] à son seuil. Les mots de dégâts statiques inconnus sont signalés quand combat.damageTypes déclare le vocabulaire, comme pour les créatures ; sans cette déclaration, les mots de dégâts sont du texte libre.

Pour les traits d'ascendance ou de catalogue, combat.sheetHides contient jusqu'à huit sources (un tableau vide est autorisé). Chacune nomme une liste de la fiche, une colonne texte ou enum de cette liste, et l'un des quatre types. Pour un nain dont la ligne de traits contient "poison" dans une colonne resistance :

"sheetHides": [{ "list": "traits", "column": "resistance", "kind": "resist" }]

Chaque ligne fournit des mots séparés par des virgules, débarrassés des espaces superflus et comparés sans tenir compte de la casse ; les mots vides sont ignorés. Ajouter une ligne avec "fire" ajoute une résistance au feu ; la supprimer retire cette source. Les mots de résistance et d'immunité peuvent comporter except, comme dans "bludgeoning except magical silvered". Les vulnérabilités et les immunités d'état sont de simples mots. Les mots de dégâts déclarés inconnus dans le texte de la fiche sont ignorés, tout comme les identifiants d'états inconnus ; une colonne enum pour les immunités d'état ne doit déclarer que des identifiants d'états à l'importation. Les résumés de la fiche, de la bataille et du Game Master incluent ces défenses et leurs exceptions.

Les armes en combat

Un objet peut être une arme (Capability API 1.55). Son attack a la forme des lignes d'attaque d'un bloc de combat, avec des valeurs à la place des colonnes, et un combat régi par l'ensemble la propose comme attaque tant que l'objet est porté : tenu dans les mains qu'il occupe, et lié s'il doit l'être. Un objet rangé ou seulement transporté ne propose rien, et les lignes d'attaque et les actions propres d'une créature fonctionnent exactement comme avant. La hachette d'Ember Roads :

"attack": {
  "budget": "act",
  "toHit": { "abilities": { "stat": "swing" } },
  "damage": { "dice": { "stat": "damage" }, "abilities": { "stat": "swing" }, "type": "cut" },
  "reach": 2,
  "range": { "normal": 10, "long": 20 }
}

N'importe lequel de ces nombres ou mots peut lire à la place une statistique de l'objet : { "stat": "damage" } est le damage de l'objet, et une statistique pour laquelle l'objet ne donne rien vaut comme si la valeur n'était pas écrite. abilities et skill lisent une statistique enum dont les mots sont des identifiants d'attributs ou de compétences, et type une statistique texte ou enum. Ainsi, un objet que le Game Master invente like= une arme est aussi une arme, qui combat avec ses propres statistiques, limitées par rarityCaps comme toute statistique (une valeur que tu écris en dur est copiée telle quelle). Un objet inventé sans emplacement ni lien n'est jamais porté ; il est donc créé sans l'attaque. Un petit modèle a tendance à décrire une arme en omettant like= ; une arme inventée dans une catégorie de tes armes sans point de départ combat donc comme celle de tes armes de cette catégorie dont le nom ressemble le plus au sien (un mot partagé dans un sens ou dans l'autre : un crossbow ressemble donc à un bow), ou comme la première d'entre elles, en prenant toute statistique lue par cette attaque que la proposition a omise, et la réponse le dit ("It fights as Hand axe does."). Le formulaire de proposition du Game Master lui indique aussi qu'une arme faite comme une autre combat comme elle.

Les tags d'une arme sont ce que portent ses coups. L'entrée resist ou immune d'une créature peut dire ce qui la traverse : { "type": "tearing", "except": ["silver"] } est subi en entier d'une arme avec le tag silver, et résisté pour tout le reste. La grave wight de Gravewatch est écrite ainsi, et le clou de cercueil en argent la traverse. Les dégâts qui ne viennent pas d'un objet arme nomment ce qu'ils portent avec qualities (Capability API 1.101), dans les mêmes tags d'objet : sur les mechanics d'une entrée de catalogue (un sort) et sur le damage d'une action de créature (la masse d'un deva). Le "resistance to bludgeoning, piercing and slashing from nonmagical attacks" de 5e s'écrit { "type": "slashing", "except": ["magical"] } à côté de la même chose pour les deux autres, avec magical dans les tags de ses armes magiques et "qualities": ["magical"] sur ses sorts et sur les attaques de créatures que le SRD dit magiques.

Les détails de l'arme et la ligne du Game Master disent ce qu'elle fait : attack (Action): Brawn to hit, 1d6 + Brawn cut, reach 2 paces, range 10 to 20 paces, avec 1d8 with a hand free pour l'épieu à sanglier d'Ember Roads et at 6 à côté de la bêche de Gravewatch.

Munitions et rechargement

Une arme peut tirer quelque chose, et garder son propre compte de munitions chargées (Capability API 1.57). L'arc de chasse d'Ember Roads tire des flèches, et le pistolet de guet de Gravewatch contient une balle, chargée à partir du plomb et de la poudre du gardien :

"ammo": { "tag": "arrow", "recover": 0.5 }
"ammo": { "tag": "shot" },
"clip": { "max": 1, "reload": "act" }

Ce qu'un combat tire, charge et ramasse est écrit dans l'inventaire à chaque étape, comme la santé de l'équipe, et le journal de la partie indique ce qui a été utilisé. Une étape dont la pile a disparu, ou contient moins que ce que le combat comptait, est refusée, comme un objet dépensé que le combat ne trouve pas. Le journal de combat indique chaque tir, rechargement et ramassage ("Hunting bow: 2 left to shoot.", "Ada loads 1 into Watch pistol: 1 of 1 loaded."), et les détails de l'objet et la ligne du Game Master indiquent ce que l'arme tire et contient : ammunition Arrow (1 an attack, 50% picked up after a won fight) et holds 1, reload (Act).

Modes, seconde arme, plancher et états sur un coup

Une arme peut avoir d'autres façons de porter son attaque, une partenaire dans la main secondaire, un minimum de dégâts et des états qu'elle inflige à ce qu'elle touche (Capability API 1.58). L'arc de chasse d'Ember Roads peut tirer une volée, et le clou de cercueil en argent de Gravewatch peut être tenu dans chaque main et marque ce qu'il mord profondément :

"modes": [{ "id": "volley", "label": "Volley", "ammo": 2, "toHit": -2, "targets": 2 }]
"offHand": true,
"onHit": [{ "condition": "marked", "atLeast": 2, "rounds": 2 }]
  "offHand": { "budget": "quick", "ability": "full" }

Une fois que son porteur a attaqué pendant ce tour avec une arme marquée offHand, chaque autre arme de ce type qu'il porte propose une seconde attaque sur ce budget, nommée "Silver coffin nail, off hand" dans le menu. ability vaut full (par défaut) ou penalty-only, qui n'ajoute l'attribut aux dégâts que quand il retire quelque chose, comme le combat à deux armes de 5e. Une attaque de la main secondaire est un seul coup, quel que soit le nombre d'attaques qu'achète l'attaque principale, et jamais une frappe sur quelqu'un qui s'éloigne. Une arme marquée offHand exige l'offHand du bloc de combat. fullWhen (Capability API 1.97) est une valeur de la fiche du combattant : au-dessus de 0, la main secondaire de ce combattant garde l'attribut entier quoi que dise ability, comme le style Two-Weapon Fighting de 5e.

Les détails de l'arme et la ligne du Game Master disent tout : modes Volley (2 shots, -2 to hit, up to 2 targets), off hand (Quick), at least 1 on a hit before resistance, +3d6 slashing against Dragon et Marked for 2 rounds when a hit deals 2 or more.

Armures et effets portés en combat

Ce que fait un objet porté ou transporté peut aussi changer un combat (Capability API 1.56), pour son porteur, à côté de ses états et de ses niveaux. Chacun prend les parties d'un état que lit un combat :

L'anneau de veuve maudit de Gravewatch coûte un dé à chaque attaque, sa Dawn bell liée protège son porteur de Rattled, et une pierre de route d'Ember Roads transportée tient la chaleur à distance :

"worn": { "modifiers": [{ "to": "attacks", "flat": -1 }] }
"worn": { "modifiers": [{ "to": "checks", "skills": ["ward"], "flat": 1 }], "conditionImmunities": ["rattled"] }
"carried": { "modifiers": [{ "to": "checks", "skills": ["sway"], "flat": 1 }], "resist": ["burn"] }

Un combat lit chaque objet une fois, nommé d'après la pile ("Widow's ring" à côté d'un jet dans le journal, et sur une défense), comme le fait un test ; l'otherwise d'une exigence non satisfaite compte aussi en combat, si bien qu'une armure trop lourde pour son porteur peut coûter de la vitesse. Les détails d'un objet et la ligne du Game Master disent tout ("While worn: -1 on attacks", "worn: +1 on checks (Ward), immune to Rattled"). Une armure qui ajoute à une défense ou à une absorption est une statistique d'objet lue avec itemStat (voir Les objets sur la fiche), comme la Guard d'Ember Roads lit le manteau porté.

Dureté. Quand l'initiative est un nombre que les attaques déplacent, combat.pool.hardness est la dureté d'un combattant, lue sur sa fiche au début du combat (celle de son armure, par itemStat), et une créature donne sa propre hardness. Un coup qui dépense et dont les dés sont inférieurs à elle touche sans rien faire : le nombre de son auteur revient quand même à la base, le journal le dit ("Ada's Grave spade lands on the warden with 5 dice, below a hardness of 6, and does nothing."), et le menu ne lui prévoit aucun dégât. Seul un ensemble doté d'un style qui dépense peut l'avoir, et une créature écrite sous forme de fiche la prend sur sa fiche.

Utiliser des objets en combat

Un objet peut être utilisé en combat (Capability API 1.59) : un cataplasme pressé sur une coupure, un tonique avalé, une cloche qu'on fait sonner. Son use indique ce que fait son utilisation dans les mots du mechanics d'une entrée de catalogue (voir Ce qu'un combat lit dans mechanics) : kind (heal, attack, buff ou debuff), amount, damageType, plus, attackRoll, save, applies, temporary, range, area, targets, targetCount, friendlyFire et, depuis Capability API 1.174, concentration et zone, avec le budget qu'il dépense, ou free. Le cataplasme d'Ember Roads, ainsi que le tonique réchauffant et la cloche de l'aube de Gravewatch :

"use": { "kind": "heal", "budget": "act", "range": 0, "targets": "ally", "amount": { "dice": "1d4", "flat": 1 }, "consumes": true }
"use": { "kind": "heal", "budget": "quick", "targets": "self", "amount": { "flat": 1 }, "consumes": true }
"stack": 1,
"use": {
  "kind": "debuff",
  "budget": "act",
  "targets": "enemy",
  "save": { "save": "steel", "onSuccess": "negates" },
  "saveDifficulty": 7,
  "applies": [{ "condition": "rattled", "duration": { "rounds": 2 } }],
  "charges": 1
},
"charges": { "max": 3 }
  "charges": { "max": 3, "recharge": { "rests": ["vigil"], "amount": "max" }, "breaksOn": { "die": 20, "atMost": 1 } }
  "gate": { "check": { "skill": "ward" }, "difficulty": 2, "unless": { "value": { "abilityScore": "nerve" }, "atLeast": 3 } }

Ce qu'un combat consomme et les charges qu'il laisse sont écrits dans l'inventaire à chaque étape, comme les tirs d'une arme, et le journal de la partie indique ce qui a été utilisé. Le journal de combat indique chaque utilisation ("Poultice: 1 of 2 left.", "Dawn bell: 2 of 3 left."). Un membre de l'équipe joué par le moteur n'utilise un soin que sur quelqu'un de blessé, et personne n'utilise un objet pour frapper quelqu'un qui s'éloigne. Les détails de l'objet et la ligne du Game Master indiquent ce que fait son utilisation : "Use (Action): heals 1d4 + 1, range 0 paces, used up" et use (Act): Steel 7 save negates it, Rattled, 1 of 3 charges, et les détails montrent les charges restantes. Un objet que le Game Master invente like= l'un des tiens s'utilise comme lui, charges comprises.

Les objets dans les batailles Classic et Tactical

Un ensemble qui ne résout pas ses propres combats les confie aux batailles Classic et Tactical propres à Game Mode, où l'on demande à un modèle ce que font les objets de l'inventaire au début d'un combat. Tes objets ne sont pas devinés : chacun de ceux dotés d'un use fait ce que celui-ci dit, avec les nombres propres au moteur, et l'estimation du Game Master n'est demandée que pour les objets qui ne sont pas les tiens (et pour aucun avec native: false).

Le moteur calcule lui-même l'effet de chaque objet ; ce qu'envoie l'écran ne décide donc jamais de ce que fait l'un de tes objets.

Butin

Un combat gagné lâche du butin dans chaque partie Game Mode, une seule fois, dans les sacs de l'équipe. Sans ensemble de règles, il vient des tables propres à Game Mode (plus abondant et plus rare dans une partie plus difficile), et il en va de même dans un ensemble qui ne déclare aucune table de butin et laisse native activé. Un ensemble qui déclare des tables de butin lâche plutôt ses propres objets, et un ensemble avec native: false et sans tables ne lâche rien.

lootTables dans le bloc items (Capability API 1.63) les liste, comme le font les objets funéraires de Gravewatch :

"lootTables": [
  {
    "id": "grave_goods",
    "label": "Grave goods",
    "rolls": "1d2",
    "entries": [
      { "item": "kit/shot-and-powder", "weight": 4, "count": "1d4" },
      { "item": "kit/warming-tonic", "weight": 3 },
      { "item": "kit/litany-page", "weight": 2 },
      { "filter": { "category": "arm" }, "weight": 1 },
      { "coins": "shilling", "weight": 2, "count": "1d6" }
    ]
  }
]

Argent

Tes currencies sont l'argent de l'équipe. Une pièce est un objet dans les sacs, une pile par pièce comme n'importe quelle autre, nommée par son label :

Équipement de départ

items.startingGear (Capability API 1.78) liste l'équipement qu'un personnage peut prendre dans son sac au départ : le paquetage d'une classe, d'un historique, d'une vocation. Il n'est jamais donné de lui-même. L'inventaire affiche une ligne Starting gear (équipement de départ), et le joueur choisit un équipement, une option pour chacun de ses choix et un objet de chaque liste, puis le prend dans son propre sac ou dans celui d'un membre de l'équipe. L'équipement auquel la fiche du personnage correspond (fits) est listé en premier, puis l'équipement sans fits (pour n'importe quel personnage, comme celui d'un historique) ; chaque équipement est proposé, car le concept d'un personnage est à convenir entre le joueur et le Game Master.

"startingGear": [
  {
    "id": "fighter", "label": "Fighter", "group": "class",
    "fits": { "value": { "field": "level_fighter" }, "atLeast": 1 },
    "lines": [{ "item": "equipment/shield", "equip": true }],
    "choices": [
      {
        "label": "Armor",
        "options": [
          { "label": "Chain mail", "lines": [{ "item": "equipment/chain-mail", "equip": true }] },
          { "label": "Leather armor and a longbow", "lines": [
            { "item": "equipment/leather-armor", "equip": true },
            { "item": "equipment/longbow" }, { "item": "equipment/arrow", "count": 20 }
          ] }
        ]
      },
      { "label": "A martial weapon", "options": [
        { "label": "Pick one", "lines": [{ "oneOf": ["equipment/longsword", "equipment/battleaxe"] }] },
        { "label": "A greataxe", "lines": [{ "item": "equipment/greataxe" }] }
      ] }
    ]
  },
  { "id": "acolyte", "label": "Acolyte", "group": "background", "lines": [{ "coins": "gp", "count": 15 }, { "name": "Vestments" }] }
]

Marchés

Un market dans le bloc items (Capability API 1.65) indique ce que vend un lieu et à quel prix, au lieu que chaque boutique vende tout à son prix catalogue. Celui de Gravewatch, un peu raccourci :

"market": {
  "prices": [
    { "id": "cheap", "label": "cheap", "times": 0.75 },
    { "id": "fair", "label": "fair", "times": 1, "default": true },
    { "id": "dear", "label": "dear", "times": 1.5 }
  ],
  "places": [
    { "id": "hamlet", "label": "hamlet" },
    { "id": "village", "label": "village" },
    { "id": "town", "label": "market town" },
    { "id": "city", "label": "city" }
  ],
  "sold": [
    { "filter": { "rarity": "rare" }, "place": "town" },
    { "filter": { "category": "arm" }, "place": "village" }
  ],
  "sellers": [
    { "id": "chandler", "label": "chandler", "sells": [{ "category": "coat" }, { "category": "tonic" }] },
    { "id": "smith", "label": "smith", "sells": [{ "category": "arm" }], "place": "village" },
    {
      "id": "chapel",
      "label": "chapel of the Vigil",
      "sells": [{ "category": "page" }],
      "place": "town",
      "only": { "value": { "abilityScore": "nerve" }, "atLeast": 3, "label": "wardens of Nerve 3 or more" }
    }
  ]
}

Où se trouve l'équipe. Le Game Master indique dans quel lieu se situe une scène et sa taille avec [place: name="Millbrook" size="market town"], la taille par son identifiant ou son libellé, et omet la taille pour un endroit sans marché (une route, la nature sauvage). Le moteur répond à chaque balise sur place, en refusant une taille que tu n'as pas, et le dernier lieu auquel il a répondu dans les réponses du Game Master que voit le joueur, depuis le dernier début de conversation, est le lieu en vigueur jusqu'à ce qu'un autre soit indiqué. Une balise de lieu saisie par un joueur ne compte jamais. Une réponse régénérée ne lit que ce qui précède la réponse qu'elle remplace.

Acheter. Le Game Master achète avec [inventory: action="buy" item="Hand axe" count="1" level="dear" seller="smith" who="Ada"], level (le niveau par défaut sans lui) et seller (n'importe quel vendeur présent qui vend l'objet, sans lui) étant facultatifs. Le moteur fixe le prix selon le lieu en vigueur à la fin de la réponse, retire ce prix de la bourse de l'acheteur (celle du joueur sans who=) comme pour un paiement, avec la monnaie, et place l'objet dans son sac, ou se contente de payer pour un service. Soit les deux se produisent, soit aucun. La réponse indique le coût (price="12 shillings") ainsi que ce qui a été payé et rendu, et une notification l'affiche. Un achat est refusé, sans rien changer, si aucun lieu n'est indiqué (no-place), si le niveau, l'objet ou le vendeur n'existe pas chez toi (unknown-level, unknown-item), s'il n'y a pas de prix (not-for-sale), si le lieu est trop petit pour l'objet (not-here), si aucun vendeur présent ne le vend (no-seller), si l'acheteur ne remplit pas l'only du vendeur (not-to-you), si la bourse ne peut pas le couvrir (cannot-afford), ou si le sac ne peut pas le porter.

Ce que voit le Game Master. Tant qu'une scène se déroule dans un lieu doté d'un marché, un bloc MARKET nomme le lieu et sa taille, les niveaux de prix, et chaque vendeur présent avec une douzaine de ses articles au niveau par défaut, les moins chers d'abord ; tout ce qu'il vend peut être acheté par son nom. Ses instructions enseignent [place:] et buy, et seul un ensemble doté d'un marché les reçoit.

Un jour de marché

Un jour de marché (Capability API 1.69) fait changer et s'épuiser les étals d'un lieu, et permet à l'équipe de revendre. Celui de Gravewatch, un peu raccourci :

"places": [
  { "id": "hamlet", "label": "hamlet", "purse": { "amount": 10, "unit": "shilling" } },
  { "id": "town", "label": "market town", "purse": { "amount": 100, "unit": "shilling" } }
],
"buyBack": 0.5,
"sold": [{ "filter": { "rarity": "rare" }, "place": "town", "limited": "1d2" }],
"sellers": [
  { "id": "smith", "label": "smith", "sells": [{ "category": "arm" }], "stock": { "table": "smiths_odd_lot" } }
]

Vendeurs honnêtes et malhonnêtes

Capability API 1.79 permet qu'un objet soit risqué ou une contrefaçon, et qu'un vendeur soit malhonnête.

"items": { "market": { "sellers": [
  { "id": "fence", "label": "Fence", "sells": [{ "tag": "magical" }], "place": "town", "honest": false, "stock": { "table": "fences_odd_lot" } }
] } }
{ "id": "bag-of-devouring", "label": "Bag of Devouring", "item": { "category": "wondrous", "passesFor": "magic_items/bag-of-holding", "cost": { "amount": 5, "unit": "gp" } } }
{ "id": "wand-of-wonder", "label": "Wand of Wonder", "item": { "category": "wand", "risky": "every wave is a gamble; some effects turn on the one who waves it" } }

Repérer les faux

Capability API 1.802 permet à un personnage de reconnaître un faux pour ce qu'il est, par un test qu'il effectue ou en le remarquant avant que quiconque paie. Le moteur ne connaît aucun de ces tests par leur nom : l'ensemble de règles les écrit.

{
  "id": "potion-of-poison",
  "label": "Potion of Poison",
  "item": {
    "category": "potion",
    "passesFor": "magic_items/potion-of-healing",
    "tells": [
      {
        "check": { "value": { "derived": "poisoners_kit_check" } },
        "dc": 13,
        "carries": { "anyOf": ["gear/poisoners-kit"] },
        "says": "a faint bitterness under the sweetness"
      },
      { "check": { "skill": "arcana" }, "dc": 18, "says": "its magic does not feel like healing magic" }
    ],
    "foolsReveal": ["identify"]
  }
}
"items": {
  "namesItAt": 5,
  "revealsFakes": [{ "id": "identify", "label": "Identify" }, { "id": "detect-poison", "label": "Detect Poison and Disease", "items": ["magic_items/potion-of-poison"] }],
  "market": { "sellers": [
    { "id": "fence", "label": "Fence", "honest": false, "sells": [{ "tag": "magical" }],
      "manner": { "check": { "skill": "insight" }, "dc": 13, "advantageIf": [{ "value": { "derived": "knows_trade" }, "atLeast": 1 }], "says": "their eyes slide away when you ask about it" } }
  ] }
}

Utiliser des objets hors combat

Le même use fonctionne hors combat (Capability API 1.60 pour restore ; le reste ne nécessite rien de nouveau). Le bouton Use de l'inventaire, sur l'un de tes objets doté d'un use, et la commande [inventory: action="use" item="Poultice" who="Juno"] du Game Master font tous deux ce que fait l'objet à celui qui le transporte, avec les dés du moteur :

Ce qui s'est passé est dit en une ligne : "Juno uses Poultice: heals 4 (Grit 6/11). 1 left." Le bouton Use l'envoie au Game Master dans un bloc [item_used] après "I use my Poultice.", que le chat affiche sous forme de badge ; la balise du Game Master lui-même reçoit la même réponse, mesurée depuis le début du tour comme ses autres balises, si bien qu'une réponse régénérée n'utilise jamais un objet deux fois. Un objet sans use, ou dans une partie sans ensemble de règles, est toujours mentionné : "I use my rope."