Itens de conjuntos de regras

Use esta página para descrever o que um grupo carrega: categorias, armas, armaduras, munição, saque, dinheiro, equipamento inicial e mercados. Ela é para autores de conjuntos de regras. Antes de começar, leia Escrever conjuntos de regras de Game Mode.

Seções desta página:

Armaduras, armas, poções, equipamentos, munição e dinheiro são itens. Um bloco opcional items declara o vocabulário em que todo item do seu conjunto é escrito, e um catálogo com holds: "items" lista os próprios itens. Ambos exigem Capability API 1.49; rarityCaps e propose do bloco, que regem os itens que o Game Master inventa, exigem 1.51; um valor que lê os itens de um personagem (itemStat) exige 1.52; o que um item faz com os testes enquanto vestido ou carregado, com os tetos de bonus do bloco, exige 1.53; o que um item exige de quem o veste e os atributos que ele altera exigem 1.54; o attack de uma arma exige 1.55; o que um item faz numa luta exige 1.56; o que uma arma dispara e mantém carregado exige 1.57; os modos de uma arma, o ataque com a mão inábil, o piso e as condições num acerto exigem 1.58; o que usar um item faz numa luta, com as cargas que ele contém, exige 1.59; um uso que restaura uma reserva exige 1.60; cargas recuperadas num descanso ou um item que quebra ao se esvaziar exigem 1.61; um uso que pede um teste antes (gate) exige 1.62; tabelas de loot e o loot de uma criatura exigem 1.63; uma linha de loot que deixa cair moedas ou uma camada que retira moedas exige 1.64; um mercado, o lugar sold de um item e um service exigem 1.65; um dia de mercado (um caixa, buyBack, o stock de um vendedor, uma contagem limited ou um sold que não nomeia lugar) exige 1.69; um efeito adicional que dispara com armas empunhadas (weapons) exige 1.70; o equipamento inicial (startingGear) exige 1.78; um item arriscado, uma falsificação ou um vendedor desonesto exige 1.79; e o unsold de um mercado (ou os items de uma camada) exige 1.813.

O bloco de itens

O bloco fica em items, no nível superior do arquivo. Este é o de Ember Roads, um pouco resumido:

"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 }
      ]
    }
  ]
}

Um item

Um catálogo de itens não declara feeds:

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

Cada entrada contém um item em vez de rows ou de uma 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" }
  }
}

Um item não tem mechanics: o que ele faz é escrito no seu bloco item.

O que lê os itens

Tudo acima é verificado quando o conjunto é importado, e seus catálogos de itens são distribuídos com ele. Numa partida, o inventário do Game Mode os lê:

Numa batalha Classic ou Tactical, cada um dos seus itens com um use faz ali o que diz, e um item sem ele não é oferecido (veja Itens nas batalhas Classic e Tactical, abaixo). Seja o que for que native diga, a ficha pode ler seus itens (abaixo), uma arma empunhada é um ataque numa luta do conjunto, disparando o que tira da bolsa, o que um item faz enquanto vestido ou carregado conta nessa luta (veja Armaduras e efeitos de itens vestidos numa luta, abaixo), um item com um use é usado pelas próprias regras, numa luta e fora dela (veja Usar itens numa luta e Usar itens fora de uma luta, abaixo), e suas currencies são o dinheiro do grupo (veja Dinheiro, abaixo).

Itens na ficha

Uma referência de valor pode ler os itens que um personagem tem, com itemStat (Capability API 1.52). Ember Roads soma ao Guard de um viajante o guard da armadura que ele veste, que é o que um golpe precisa superar:

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

Os itens mudam durante a partida, então itemStat segue a mesma regra de uma leitura viva: o max de uma reserva ou de uma trilha, o bônus de proficiência, binding.max, os números de carry e a coluna escalada ou a escala de um catálogo não podem lê-lo, nem por meio de um valor derivado. Em qualquer outro lugar onde um número é lido, ele pode: um valor derivado, o adjust de um teste, o cap de uma perícia, a defesa, a absorção ou a iniciativa de uma luta.

Os itens de um personagem são os da própria bolsa. O card do jogador (o nomeado como quem o chat interpreta ou, se não houver, o primeiro) lê a bolsa do jogador, e cada outro card lê a sua. Só os itens do seu conjunto contam, já que um item comum não tem estatísticas para ler. A ficha na tela, um teste, o bloco de ficha do GM e uma luta, quando começa, leem o que cada personagem tem naquele momento. Fora de uma partida, no editor de fichas ou na revisão de uma importação, ninguém tem nada e itemStat lê seu default.

Testes fora de uma luta

Um teste ou salvaguarda que o Game Master pede fora de uma luta lê mais que a ficha: as condições ativas do próprio personagem, os níveis que ele atingiu, o que seus itens fazem enquanto vestidos ou carregados e o que a exigência de um item vestido custa enquanto ele não a atende. É o mesmo vocabulário que as condições de uma luta usam (Capability API 1.53 para as chaves de item e a restrição por perícia ou salvaguarda).

Um item diz o que faz com worn, que vale enquanto ele está vestido (e vinculado, quando se vincula), e carried, que vale enquanto ele está só carregado. O casaco de couro de Ember Roads range quando você se esgueira, e uma pedra-guia faz o povo das caravanas confiar em você:

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

Cada um aceita as partes de uma condição que um teste lê:

As manoplas de couro de boi de Ember Roads dão a uma pegada fraca a força de um tropeiro:

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

O que um item faz numa luta (defesa, ataques, velocidade, os outros efeitos da luta e o dano e as condições que ele evita) está em Armaduras e efeitos de itens vestidos numa luta; um teste fora de uma luta lê só as partes acima. Um item se aplica uma vez, quantas pilhas dele alguém tenha.

Um item também pode exigir algo de quem o veste, com requires: um valor da ficha dessa pessoa (value, qualquer referência de valor, lida como tudo o mais durante a partida), o mínimo que ele pode ser (atLeast) e o que se aplica enquanto ela não atende à exigência (otherwise, no mesmo vocabulário, exceto que não pode alterar um atributo, já que o que é exigido pode lê-lo). Até quatro. A pá de coveiro de Gravewatch é trabalho pesado para um guardião fraco:

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

Uma exigência lê o atributo como os itens de quem veste o deixam, então manoplas que definem Sinew como 3 atendem à exigência da pá.

Num teste:

Gravewatch mostra o mesmo numa reserva: o sino da aurora vinculado adiciona um dado a Ward, e Rattled tira um de Soothe e de Barter.

Defesas por tipo vindas de condições, níveis, itens e linhas da ficha

combat.conditions[] e combat.levels[] podem conceder resist, vulnerable, immune (de 1 a 30 entradas cada) e conditionImmunities (de 1 a 40 IDs de condição). Eles se aplicam enquanto a condição vale ou o limiar do nível é atingido. Uma imunidade a condição recém-adquirida encerra essa condição, se já estiver ativa, e impede que ela seja aplicada de novo. A imunidade prevalece sobre a resistência; resistência e vulnerabilidade se anulam. Várias resistências nunca reduzem o dano à metade duas vezes.

resist e immune usam a forma das criaturas: uma palavra de dano ou { "type": "bludgeoning", "except": ["magical"] }. Qualquer tag nomeada no golpe ignora essa entrada. vulnerable continua sendo palavras de dano simples. A mesma forma de exceção funciona nos efeitos worn e carried dos itens. Declare as tags de exceção em items.tags e coloque-as nas qualidades da arma ou da magia. Por exemplo, Stoneskin é um mapeamento de condição:

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

Armor of invulnerability usa a mesma matriz resist dentro do seu efeito worn. Protection from Energy pode conceder resist: ["fire"]; um traço como Brave pode conceder conditionImmunities: ["frightened"]. Um nível pode conceder resist: ["poison"] no seu limiar. Palavras de dano fixas desconhecidas são informadas quando combat.damageTypes declara o vocabulário, como nas criaturas; sem essa declaração, as palavras de dano são texto livre.

Para traços de ancestralidade ou de catálogo, combat.sheetHides comporta até oito fontes (uma matriz vazia é permitida). Cada uma nomeia uma lista da ficha, uma coluna de texto ou enum dessa lista e um dos quatro tipos. Para um anão cuja linha de traços contém "poison" numa coluna resistance:

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

Cada linha contribui com palavras separadas por vírgula, sem espaços nas pontas e comparadas sem distinguir maiúsculas; palavras vazias são puladas. Acrescentar uma linha com "fire" acrescenta resistência a fogo; excluí-la remove essa fonte. As palavras de resistência e de imunidade podem incluir except, como em "bludgeoning except magical silvered". Vulnerabilidades e imunidades a condição são palavras simples. Palavras de dano declaradas e desconhecidas no texto da ficha são ignoradas, assim como IDs de condição desconhecidos; uma coluna enum para imunidades a condição precisa declarar só IDs de condição na importação. Os resumos da ficha, da batalha e do Game Master incluem essas defesas e suas exceções.

Armas numa luta

Um item pode ser uma arma (Capability API 1.55). Seu attack tem a forma das linhas de ataque de um bloco de combate, com valores no lugar de colunas, e uma luta do conjunto o oferece como ataque enquanto o item está vestido: empunhado nas mãos que ocupa e vinculado, quando se vincula. Um item guardado ou só carregado não oferece nada, e as linhas de ataque e as ações próprias de uma criatura funcionam exatamente como antes. O machado de mão de 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 }
}

Qualquer um desses números ou palavras pode ler a própria estatística do item: { "stat": "damage" } é o damage do item, e uma estatística à qual o item não dá valor é como se o valor não estivesse escrito. abilities e skill leem uma estatística enum cujas palavras são IDs de atributo ou de perícia, e type, uma estatística de texto ou enum. Assim, um item que o Game Master inventa like= uma arma também é uma arma, que luta com as próprias estatísticas, limitada por rarityCaps como qualquer estatística (um valor que você escreve diretamente é copiado como está). Um item inventado sem espaço e sem vínculo nunca é vestido, então é criado sem o ataque. Um modelo pequeno tende a descrever uma arma e omitir like=; por isso, um item inventado numa categoria das suas armas, sem nada de onde partir, luta como a arma dessa categoria com o nome mais parecido (uma palavra contida no outro nome, em qualquer direção, então Crossbow se parece com Bow) ou como a primeira delas, herdando qualquer estatística que o ataque leia e que a proposta omitiu, e a resposta diz isso ("It fights as Hand axe does."). O formulário de proposta do Game Master também lhe diz que uma arma criada como outra luta como ela.

As tags de uma arma são o que seus golpes carregam. A entrada resist ou immune de uma criatura pode dizer o que a atravessa: { "type": "tearing", "except": ["silver"] } é recebido por inteiro de uma arma com a tag silver e resistido de qualquer outra coisa. O grave wight de Gravewatch é escrito assim, e o prego de caixão de prata do conjunto o atravessa. Um dano que não vem de um item de arma nomeia o que carrega com qualities (Capability API 1.101), nas mesmas tags de item: nas mechanics de uma entrada de catálogo (uma magia) e no damage de uma ação de criatura (a maça de um deva). A "resistance to bludgeoning, piercing and slashing from nonmagical attacks" de 5e é { "type": "slashing", "except": ["magical"] } ao lado do mesmo para os outros dois, com magical nas tags das suas armas mágicas e "qualities": ["magical"] nas suas magias e nos ataques de criatura que o SRD chama de mágicos.

Os detalhes da arma e a linha do Game Master dizem o que ela faz: attack (Action): Brawn to hit, 1d6 + Brawn cut, reach 2 paces, range 10 to 20 paces, com 1d8 with a hand free para a lança de javali de Ember Roads e at 6 ao lado da pá de Gravewatch.

Munição e recarga

Uma arma pode disparar algo e manter uma contagem carregada própria (Capability API 1.57). O arco de caça de Ember Roads dispara flechas, e a pistola de vigia de Gravewatch comporta uma bala, carregada a partir do chumbo e da pólvora do guardião:

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

O que uma luta dispara, carrega e recolhe é gravado no inventário a cada passo, como a saúde do grupo, e o diário diz o que foi usado. Um passo cuja pilha sumiu, ou contém menos do que a luta contava, é recusado, assim como um item gasto que a luta não encontra. O registro da luta diz cada disparo, recarga e recolhimento ("Hunting bow: 2 left to shoot.", "Ada loads 1 into Watch pistol: 1 of 1 loaded."), e os detalhes do item e a linha do Game Master dizem o que a arma dispara e comporta: ammunition Arrow (1 an attack, 50% picked up after a won fight) e holds 1, reload (Act).

Modos, uma segunda arma, um piso e condições num acerto

Uma arma pode ter outras formas de fazer seu ataque, uma parceira na mão inábil, um dano mínimo e condições que impõe ao que acerta (Capability API 1.58). O arco de caça de Ember Roads pode disparar uma saraivada, e o prego de caixão de prata de Gravewatch pode ser empunhado em cada mão e marca o que fere fundo:

"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" }

Depois que quem a empunha atacou neste turno com uma arma marcada offHand, cada outra arma desse tipo que ele veste oferece um segundo ataque com aquele orçamento, chamado "Silver coffin nail, off hand" no menu. ability é full (o padrão) ou penalty-only, que soma o atributo de dano só quando ele tira algo, como faz o combate com duas armas de 5e. Um ataque com a mão inábil é um único golpe, quantos ataques o ataque principal compre, e nunca um golpe contra quem se afasta. Uma arma marcada offHand exige o offHand do bloco de combate. fullWhen (Capability API 1.97) é um valor da ficha de quem luta: acima de 0, a mão inábil dessa pessoa mantém o atributo inteiro, diga o que disser ability, como faz o estilo Two-Weapon Fighting de 5e.

Os detalhes da arma e a linha do Game Master dizem tudo isso: 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 e Marked for 2 rounds when a hit deals 2 or more.

Armaduras e efeitos de itens vestidos numa luta

O que um item faz enquanto vestido ou carregado também pode mudar uma luta (Capability API 1.56), para quem o porta, junto com suas condições e níveis. Cada um aceita as partes de uma condição que uma luta lê:

O anel da viúva amaldiçoado de Gravewatch custa um dado em todo ataque, o sino da aurora vinculado do mesmo conjunto torna quem o porta imune a Rattled, e uma pedra-guia de Ember Roads, carregada, afasta o calor:

"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"] }

Uma luta lê cada item uma vez, com o nome da pilha ("Widow's ring" ao lado de uma rolagem no registro, e numa defesa), como faz um teste; o otherwise de uma exigência não atendida também conta numa luta, então uma armadura pesada demais para quem a veste pode custar velocidade. Os detalhes de um item e a linha do Game Master dizem tudo isso ("While worn: -1 on attacks", "worn: +1 on checks (Ward), immune to Rattled"). Uma armadura que soma a uma defesa ou a uma absorção é uma estatística de item lida com itemStat (veja Itens na ficha), como o Guard de Ember Roads lê o casaco vestido.

Dureza. Quando a iniciativa é um número que os ataques movem, combat.pool.hardness é a dureza de um combatente, lida da ficha dele quando a luta começa (a da armadura, por meio de itemStat), e uma criatura define a própria hardness. Um golpe que gasta cujos dados ficam abaixo dela acerta e não faz nada: o número de quem o fez ainda volta à base, o registro diz isso ("Ada's Grave spade lands on the warden with 5 dice, below a hardness of 6, and does nothing."), e o menu não prevê dano para ele. Só um conjunto com um estilo que gasta pode tê-la, e uma criatura escrita como ficha a obtém da ficha.

Usar itens numa luta

Um item pode ser usado numa luta (Capability API 1.59): um emplastro pressionado num corte, um tônico engolido, um sino tocado. Seu use diz o que usá-lo faz nas mesmas palavras que o mechanics de uma entrada de catálogo usa (veja O que um combate lê de mechanics): kind (heal, attack, buff ou debuff), amount, damageType, plus, attackRoll, save, applies, temporary, range, area, targets, targetCount, friendlyFire e, desde a Capability API 1.174, concentration e zone, com o budget que gasta, ou free. O emplastro de Ember Roads e o tônico de aquecimento e o sino da aurora 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 } }

O que uma luta consome e as cargas que deixa são gravados no inventário a cada passo, como os disparos de uma arma, e o diário diz o que foi usado. O registro da luta diz cada uso ("Poultice: 1 of 2 left.", "Dawn bell: 2 of 3 left."). Um membro do grupo jogado pelo Engine só usa uma cura em alguém ferido, e ninguém usa um item para golpear quem se afasta. Os detalhes do item e a linha do Game Master dizem o que usá-lo faz: "Use (Action): heals 1d4 + 1, range 0 paces, used up" e use (Act): Steel 7 save negates it, Rattled, 1 of 3 charges, e os detalhes mostram as cargas restantes. Um item que o Game Master inventa like= um dos seus é usado como aquele, com cargas e tudo.

Itens nas batalhas Classic e Tactical

Um conjunto que não resolve as próprias lutas as deixa para as batalhas Classic e Tactical do próprio Game Mode, em que um modelo é consultado sobre o que os itens do inventário fazem quando uma luta começa. Seus itens não são adivinhados: cada um com um use faz o que ele diz, com os próprios números do Engine, e o palpite do Game Master só é pedido para os itens que não são seus (e para nenhum, com native: false).

O Engine calcula sozinho o efeito de cada item, então o que a tela envia nunca decide o que um dos seus itens faz.

Loot

Uma luta vencida deixa loot em toda partida do Game Mode, uma vez, nas bolsas do grupo. Sem conjunto de regras, ele vem das tabelas próprias do Game Mode (mais itens, e mais raros, numa partida mais difícil), e o mesmo acontece num conjunto que não declara tabelas de loot e deixa native ativado. Um conjunto que declara tabelas de loot deixa cair os próprios itens no lugar, e um com native: false e sem tabelas não deixa cair nada.

lootTables no bloco items (Capability API 1.63) as lista, como fazem os bens funerários 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" }
    ]
  }
]

Dinheiro

Suas currencies são o dinheiro do grupo. Uma moeda é um item nas bolsas, uma pilha de cada moeda como qualquer outra, nomeada pelo seu label:

Equipamento inicial

items.startingGear (Capability API 1.78) lista o equipamento que um personagem pode colocar na bolsa no início: o kit de uma classe, o de um antecedente, o de uma vocação. Ele nunca é dado sozinho. O inventário mostra uma linha Starting gear (equipamento inicial), e o jogador escolhe um equipamento, uma opção para cada uma das escolhas dele e um item de cada lista, e então o coloca na bolsa do jogador ou na de um membro do grupo. O equipamento ao qual a ficha do personagem atende com fits é listado primeiro, depois o equipamento sem fits (para qualquer personagem, como o de um antecedente); todo equipamento é oferecido, porque o conceito de um personagem cabe ao jogador e ao Game Master combinarem.

"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" }] }
]

Mercados

Um market no bloco items (Capability API 1.65) diz o que um lugar vende e a que preço, em vez de toda loja vender tudo pelo preço de tabela. O de Gravewatch, um pouco resumido:

"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" }
    }
  ]
}

Onde o grupo está. O Game Master diz em que lugar uma cena está e o tamanho dele com [place: name="Millbrook" size="market town"], o tamanho pelo ID ou rótulo, e omite o tamanho para um lugar sem mercado (uma estrada, a natureza selvagem). O Engine responde a cada tag no lugar, recusando um tamanho que você não tem, e o último lugar respondido nas respostas do Game Master que o jogador vê, a partir do início mais recente da conversa, é o lugar em vigor até que outro seja dito. Uma tag de lugar que o jogador digita nunca conta. Uma resposta regenerada lê só o que veio antes da resposta que ela substitui.

Comprar. O Game Master compra com [inventory: action="buy" item="Hand axe" count="1" level="dear" seller="smith" who="Ada"], sendo level (o padrão, sem ele) e seller (qualquer vendedor ali que venda o item, sem ele) opcionais. O Engine define o preço no lugar em vigor quando a resposta termina, tira o preço da bolsa do comprador (a do jogador, sem who=) como num pagamento, com troco, e coloca o item na bolsa dele, ou só paga, no caso de um serviço. Ou as duas coisas acontecem, ou nenhuma. A resposta diz quanto custou (price="12 shillings") e o que foi pago e devolvido, e uma notificação mostra. Uma compra é recusada, sem mudar nada, quando não há lugar dito (no-place), quando um nível, item ou vendedor não existe no seu conjunto (unknown-level, unknown-item), quando não há preço (not-for-sale), quando o lugar é pequeno demais para o item (not-here), quando não há vendedor ali que o venda (no-seller), quando o comprador não atende ao only do vendedor (not-to-you), quando a bolsa não consegue pagar (cannot-afford) ou quando a bolsa não consegue carregar o item.

O que o Game Master vê. Enquanto uma cena está num lugar com mercado, um bloco MARKET nomeia o lugar e seu tamanho, os níveis de preço e cada vendedor ali com uma dúzia do que vende no nível padrão, do mais barato ao mais caro; qualquer coisa que vendam pode ser comprada pelo nome. As instruções dele ensinam [place:] e buy, e só um conjunto com mercado as tem.

Um dia de mercado

Um dia de mercado (Capability API 1.69) faz as prateleiras de um lugar mudarem e se esgotarem, e permite que o grupo venda de volta. O de Gravewatch, um pouco resumido:

"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" } }
]

Vendedores honestos e desonestos

A Capability API 1.79 permite que um item seja arriscado ou uma falsificação, e que um vendedor seja desonesto.

"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" } }

Identificar falsificações

A Capability API 1.802 permite que um personagem reconheça uma falsificação pelo que ela é, por meio de um teste que faça ou ao percebê-la antes que alguém pague. O Engine não conhece nenhum dos testes pelo nome: o conjunto de regras os escreve.

{
  "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" } }
  ] }
}

Usar itens fora de uma luta

O mesmo use funciona fora de uma luta (Capability API 1.60 para restore; o resto não precisa de nada novo). O botão Use do inventário, num dos seus itens com um use, e o [inventory: action="use" item="Poultice" who="Juno"] do Game Master fazem o que o item faz em quem o carrega, com os dados do Engine:

O que aconteceu é dito numa linha: "Juno uses Poultice: heals 4 (Grit 6/11). 1 left." O botão Use envia isso ao Game Master num bloco [item_used] depois de "I use my Poultice.", que o chat mostra como um selo; a tag do próprio Game Master é respondida com ele, medida a partir de onde o turno começou como suas outras tags, então uma resposta regenerada nunca usa um item duas vezes. Um item sem use, ou numa partida sem conjunto de regras, continua sendo dito: "I use my rope."