Проверки набора правил

На этой странице вы задаете, как ваш набор правил выполняет проверку или спасбросок: пять видов разрешения, степени исхода, проверки с собственным способом броска и расходы или талисманы, меняющие бросок. Она предназначена для авторов наборов правил. Прежде чем начать, прочитайте Создание наборов правил Game Mode.

Виды разрешения

resolution.kind выбирает способ броска проверки. Все виды читают один лист и имеют три общих ключа, поэтому части файла ниже resolution не меняются при переключении:

Значение полученного числа зависит от вида: dice-sum прибавляет его к броску, dice-pool и dice-highest бросают столько костей. symbol-pool держит характеристику и подготовку раздельно, чтобы набирать и улучшать повествовательные кости.

dice-sum: сложение костей

"resolution": {
  "kind": "dice-sum",
  "dice": { "count": 2, "sides": 6 },
  "abilityModifier": { "op": "identity" },
  "proficiencyTiers": [
    { "id": "untrained", "label": "Untrained" },
    { "id": "trained", "label": "Trained", "flat": 1 }
  ],
  "advantage": false,
  "difficultyLadder": [
    { "label": "Easy", "dc": 6 },
    { "label": "Hard", "dc": 10 }
  ]
}

dice-pool: бросок костей и подсчет результатов

Число листа – размер пула, а не добавочный бонус. Рейтинг 3 и профессиональный навык стоимостью 2 дают пять костей. В этом вся идея: без нового словаря листа и нового редактора; система с рейтингами в виде горстей костей использует те же abilities, skills и proficiencyTiers, что и любая другая.

"resolution": {
  "kind": "dice-pool",
  "die": { "sides": 10 },
  "abilityModifier": { "op": "identity" },
  "proficiencyTiers": [
    { "id": "rating_0", "label": "Untried" },
    { "id": "rating_1", "label": "Shown once", "flat": 1 }
  ],
  "pool": { "min": 1, "max": 15, "abilityPlusAbility": true },
  "target": { "default": 7, "min": 5, "max": 9 },
  "explode": { "from": 10, "min": 8 },
  "cancel": { "upTo": 1 },
  "botch": { "upTo": 1 },
  "exceptional": { "successes": 5 },
  "situationalDice": { "min": -3, "max": 3 },
  "reroll": [{ "id": "careful", "upTo": 6, "mode": "once" }],
  "difficultyLadder": [
    { "label": "Plain work", "successes": 1, "target": 6 },
    { "label": "Grim", "successes": 3, "target": 8 }
  ]
}

Грани cancel и botch должны быть ниже минимального порога, а все грани этих правил должны существовать на кости. Невыполнимое правило отклоняется при импорте, а не обнаруживается в игре.

Набор с пулом в составе пакета требует Capability API 1.24; min у explode или double, pool.abilityPlusAbility и botch.rule требуют 1.37, reroll – 1.38, target.from, stances и exact – 1.137. Импортируемый набор сообщества проверяет читающий его Engine, поэтому дополнительное требование не нужно.

Что Game Master может писать в проверке пула

[skill_check: skill="Ward" dc="2" who="Bram the Quiet" threshold="8" bonus="-2" with="Sinew"]
[skill_check: skill="Ward" difficulty="Grim" explode="9"]
[skill_check: skill="Nerve" dc="1" with="Warmth"]
[skill_check: skill="Ward" dc="2" reroll="careful"]

Все ограничено декларацией файла: выходящее за диапазон значение прижимается к ближайшей границе, а отсутствующая в наборе характеристика игнорируется вместо отказа проверки. Запись показывает использованные броском значения: сложность и порог числами, бонусные кости после ограничений, with= – только если характеристику заменили или добавили, грань – только если проверка ее сдвинула, reroll= – только если брошен именно названный переброс и он что-то перебросил, и complication="true", если по правилу halfOrMore что-то пошло не так одновременно с результатом. Engine всегда сам бросает кости. Результат пула от модели заменяется, mode="advantage" игнорируется, потому что вид не имеет преимущества, а брошенная игроком до хода кость не применяется.

dice-highest: бросок костей и выбор наибольшей

Blades in the Dark и Trophy Dark бросают горсть d6 и смотрят только на наибольшую. Capability API 1.138.

"resolution": {
  "kind": "dice-highest",
  "die": { "sides": 6 },
  "abilityModifier": { "op": "identity" },
  "proficiencyTiers": [{ "id": "rating_0", "label": "0" }, { "id": "rating_1", "label": "1", "flat": 1 }],
  "pool": { "min": 0, "max": 6 },
  "zeroDice": "lowest-of-two",
  "critical": { "count": 2 },
  "situationalDice": { "min": -1, "max": 2 },
  "difficultyLadder": [{ "label": "Partial", "dc": 4 }, { "label": "Full", "dc": 6 }],
  "outcomes": {
    "by": "total",
    "tiers": [
      { "id": "critical", "label": "Critical", "on": "critical-success", "success": true },
      { "id": "full", "label": "Full success", "atLeast": 6, "success": true },
      { "id": "partial", "label": "Partial success", "atLeast": 4, "success": true, "text": "You do it, with a consequence." },
      { "id": "bad", "label": "Bad outcome" }
    ]
  }
}

Запись сохраняет форму суммы (resolution="sum", modifier="0", оставленные кости как сумма) и добавляет highest="1", а также zeroDice="true" и dark="N", где они применимы; темные кости идут последними в rolls. Исход только по светлым костям также записывает darkOutcome="light", поэтому карточка подсвечивает только оставленные светлые кости, в том числе после перезагрузки. У набора такого вида нет собственного боя, поэтому combat рядом с ним отклоняется.

roll-against: бросок не выше (или не ниже) числа листа

Call of Cthulhu, GURPS и процентные навыки вора в играх старой школы бросают против числа листа, а не прибавляют его к костям. Capability API 1.139.

"resolution": {
  "kind": "roll-against",
  "dice": { "count": 1, "sides": 100 },
  "abilityModifier": { "op": "identity" },
  "proficiencyTiers": [{ "id": "base", "label": "Base" }],
  "against": "at-most",
  "criticalSuccess": [{ "from": 1, "to": 1 }],
  "criticalFailure": [{ "from": 100, "to": 100 }, { "from": 96, "whenTarget": { "below": 50 } }],
  "tens": { "max": 2 },
  "difficultyLadder": [
    { "label": "Regular", "dc": 0 },
    { "label": "Hard", "dc": 0, "divide": 2 },
    { "label": "Extreme", "dc": 0, "divide": 5 }
  ],
  "outcomes": {
    "by": "fraction",
    "tiers": [
      { "id": "critical", "label": "Critical", "on": "critical-success", "success": true },
      { "id": "extreme", "label": "Extreme success", "atLeast": 5, "success": true },
      { "id": "hard", "label": "Hard success", "atLeast": 2, "success": true },
      { "id": "regular", "label": "Regular success", "atLeast": 1, "success": true },
      { "id": "fail", "label": "Failure" },
      { "id": "fumble", "label": "Fumble", "on": "critical-failure" }
    ]
  }
}

symbol-pool: бросок повествовательных костей и чтение символов

Genesys набирает пул из характеристики и ранга навыка, затем добавляет противостоящие кости. На гранях вместо чисел – успех, преимущество, триумф, провал, угроза и отчаяние. Capability API 1.141.

"resolution": {
  "kind": "symbol-pool",
  "abilityModifier": { "op": "identity" },
  "proficiencyTiers": [
    { "id": "untrained", "label": "Untrained", "flat": 0 },
    { "id": "rank_one", "label": "Rank 1", "flat": 1 }
  ],
  "symbols": [
    { "id": "s", "label": "Success" },
    { "id": "f", "label": "Failure", "cancels": "s" },
    { "id": "a", "label": "Advantage" },
    { "id": "h", "label": "Threat", "cancels": "a" },
    { "id": "t", "label": "Triumph", "counts": "s" },
    { "id": "d", "label": "Despair", "counts": "f" }
  ],
  "dice": [
    { "id": "ability", "label": "Ability", "faces": [[], ["s"], ["s"], ["s", "s"], ["a"], ["a"], ["s", "a"], ["a", "a"]] },
    { "id": "proficiency", "label": "Proficiency", "faces": [[], ["s"], ["s"], ["s", "s"], ["s", "s"], ["a"], ["s", "a"], ["s", "a"], ["s", "a"], ["a", "a"], ["a", "a"], ["t"]] },
    { "id": "difficulty", "label": "Difficulty", "faces": [[], ["f"], ["f", "f"], ["h"], ["h"], ["h"], ["h", "h"], ["f", "h"]] },
    { "id": "challenge", "label": "Challenge", "faces": [[], ["f"], ["f"], ["f", "f"], ["f", "f"], ["h"], ["h"], ["f", "h"], ["f", "h"], ["h", "h"], ["h", "h"], ["d"]] },
    { "id": "boost", "label": "Boost", "faces": [[], [], ["s"], ["s", "a"], ["a", "a"], ["a"]] },
    { "id": "setback", "label": "Setback", "faces": [[], [], ["f"], ["f"], ["h"], ["h"]] }
  ],
  "success": { "symbol": "s", "needed": 1 },
  "pool": { "die": "ability", "upgrade": "proficiency", "max": 6 },
  "difficulty": { "die": "difficulty", "upgrade": "challenge", "max": 5 },
  "boost": { "die": "boost", "max": 3 },
  "setback": { "die": "setback", "max": 3 },
  "criticalSuccess": "t",
  "criticalFailure": "d",
  "difficultyLadder": [{ "label": "Easy", "dc": 1 }, { "label": "Average", "dc": 2 }, { "label": "Hard", "dc": 3 }]
}

Что вне области действия и почему

Этим механикам по-прежнему нужен собственный вид разрешения:

Обе ранее исключенные возможности теперь моделируются; раздел Расходы для изменения броска ниже объясняет как. Собственное правило системы, "потратить очко за успех" или "потратить очко, чтобы перебросить неудачи", – это resolution.spend. Переброс, который система дает бесплатно, когда этого требует ситуация, – это resolution.reroll выше. Переброс, принадлежащий выбранной персонажем вещи, – это mechanics.check записи каталога, оплачиваемый собственной стоимостью записи.

Степени исхода: больше, чем успех или провал

Многие системы читают проверку как один из нескольких результатов, а не просто успех или провал: четыре степени успеха Pathfinder, "еле-еле", которое удается ценой потерь, трудные и экстремальные успехи Call of Cthulhu, "стильный успех" Fate. resolution.outcomes называет эти степени, и Engine в каждой проверке сообщает, в какую из них она попала (Capability API 1.135). Это работает с любым видом разрешения.

"outcomes": {
  "by": "margin",
  "naturals": "shift",
  "tiers": [
    { "id": "critical_success", "label": "Critical success", "atLeast": 10, "success": true, "critical": true },
    { "id": "success", "label": "Success", "atLeast": 0, "success": true },
    { "id": "failure", "label": "Failure", "atLeast": -9 },
    { "id": "critical_failure", "label": "Critical failure", "critical": true }
  ]
}

Степень решает исход: успех и оба критических результата берутся из нее, а не из простого сравнения. Если naturals суммирующего набора делают грань автоматическим успехом или провалом, эта грань попадает в степень соответствующего критического результата, а иначе – в лучшую или худшую степень, и остается критической. Критический провал пула (botch) действует так же внизу шкалы, а пул со степенями обходится без exceptional, потому что степени уже говорят, что такое критический успех.

Пул, читаемый by: "total", – это то, как система с фиксированной сложностью описывает свои результаты: "1 успех: вы еле справляетесь, 2: справляетесь хорошо, 3: критический успех" в Lasers & Feelings – это три степени на 3, 2 и 1 успехе и промах ниже.

Запись называет степень через outcome="Critical success", карточка броска показывает ее вместо простого слова, а Game Master получает описание степеней и их text и указание описывать именно степень. Набору в составе пакета, объявляющему степени, нужен Capability API 1.135.

Проверки, которые бросаются по-своему

Некоторые игры бросают большинство проверок одним способом, а несколько – другим: игра старой школы бросает d20 ниже значения характеристики, но навыки вора – на d100, а Open Doors – на d6. resolution.overrides называет такие проверки и ключи разрешения, которыми они бросаются вместо обычных. Capability API 1.140.

"overrides": [
  { "id": "thief", "label": "Thief skills", "skills": ["open_locks", "pick_pockets"], "set": { "dice": { "count": 1, "sides": 100 } } },
  { "id": "x_in_6", "label": "X-in-6", "skills": ["open_doors", "listen"], "set": { "dice": { "count": 1, "sides": 6 } } },
  { "id": "favored", "label": "Favored", "skills": ["athletics"], "when": { "field": "favored_athletics" }, "set": { "cancel": null } }
]

Расходы для изменения броска

Некоторые системы позволяют платить за предстоящий бросок: очко воли за автоматический успех. resolution.spend описывает это как постоянное правило системы, а не купленную персонажем вещь:

"spend": [{ "pool": "resolve", "amount": 1, "successes": 1, "perCheck": 2 }]

Это указывается в самой проверке. Game Master пишет [skill_check: skill="Nerve" dc="2" spend="resolve:1"], а не отдельную команду [sheet:]: кости бросаются до применения команд листа, и позже менять было бы нечего. Одно разрешение бросает кости и оплачивает изменивший их эффект.

Талисман, меняющий бросок

resolution.spend – правило системы. ВЫБРАННАЯ персонажем запись тоже может изменить проверку через mechanics.check записи каталога:

"mechanics": {
  "kind": "utility",
  "cost": [{ "pool": "blood", "amount": 1 }],
  "perCostStep": { "flat": 1 },
  "check": { "reroll": { "upTo": 1, "mode": "once" }, "successes": 1 }
}

Стоимость – собственное cost записи, оплачиваемое тем же механизмом, что использование любой другой вещи: запас и одно использование каждого счетчика этой записи. perCostStep задает МАСШТАБИРОВАНИЕ: запись с ним покупается столько раз, сколько оплачена цена, а без него – один раз независимо от предложенной суммы.

Game Master называет запись в проверке: [skill_check: skill="Brawl" dc="3" use="Potence" spend="blood:3"]. Не отдельной командой листа, по той же причине: бросок предшествует любому учету.

Все или ничего. Если запаса не хватает, покупки нет и ничего не списывается: бросок остается ровно таким, каким был бы без покупки. Очки, не составляющие целое число покупок, тоже ничего не дают. Превышение perCheck ограничивается, а не отклоняется, и оплачивается только предел. Все вычисляет Engine; Game Master называет объявленный игроком расход и не касается костей. Запись показывает оплату, примененную запись, число успехов без броска и переброшенных костей. Невыбранный талисман или талисман с недоступным Engine каталогом ничего не делает вместо применения на доверии.