Проверки набора правил
На этой странице вы задаете, как ваш набор правил выполняет проверку или спасбросок: пять видов разрешения, степени исхода, проверки с собственным способом броска и расходы или талисманы, меняющие бросок. Она предназначена для авторов наборов правил. Прежде чем начать, прочитайте Создание наборов правил Game Mode.
Виды разрешения
resolution.kind выбирает способ броска проверки. Все виды читают один лист и имеют три общих ключа, поэтому части файла ниже resolution не меняются при переключении:
abilityModifier: преобразование показателя листа в число. Приidentityпоказатель и есть число.floorHalfMinusTen– правило 5e.stepTableпозволяет перечислить собственные пороги как[[score, number], ...].proficiencyTiers: уровни подготовки навыка или спасброска. Неуказанный навык получает первый. Уровень добавляетflat, либоmultiplier, умноженное на бонус мастерства, либо оба. Если в системе есть бонус мастерства, укажите его источник через"proficiency": { "bonus": { "derived": "proficiency_bonus" } }.proficiency: необязательно, нужно лишь уровню с умножением.
Значение полученного числа зависит от вида: 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: число костей и граней. Сумма сравнивается со сложностью.advantage: может ли Game Master попросить дважды бросить кости и оставить один бросок.naturals: влияние высшей и низшей грани одной кости на проверки и спасброски:none,both,max-onlyилиmin-only. Для чистой арифметики опустите. Требует одной кости, поэтому система 2d6 должна использоватьnone.dice.faces: ценность каждой грани, начиная с низшей, если грани не равны своим числам (Capability API 1.136). Четыре кости Fudge в Fate – это{ "count": 4, "sides": 3, "faces": [-1, 0, 1] }: карточка показывает минус, пустую грань и плюс и складывает их, а вероятности в точности такие же, как в Fate. Укажите по одному значению на каждую грань.openEnded: одна кость, бросок которой продолжается (1.136). Грань не нижеhighбросается снова и прибавляется, и так снова, пока новая кость показываетhighили больше; грань не вышеlowбросается снова и вычитается, и этот бросок точно так же продолжается наhigh. Открытый процентный бросок Rolemaster – это{ "high": 96, "low": 5 }на одной d100. Один бросок бросает не больше 20 костей. Естественные грани и сдвиг по степеням исхода читают первую кость.unmodified: грани одной кости, которые запись помечает, когда их показывает первая кость (1.136), чтобы можно было применять таблицы, где "немодифицированное 66" рассматривается отдельно:[66, 100]. В записи появляетсяunmodified="66", карточка тоже это показывает, а Game Master получает указание применить то, что о таком броске говорят правила.difficultyLadder: сложности, из которых должен выбирать Game Master.dc– число, которого должна достичь сумма. Game Master может назвать ступень вместо ее числа, напримерdifficulty="Hard", и Engine возьмет число из ступени.
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 }
]
}die: число граней одной кости пула, от 2 до 100.pool: пределы числа листа до любых взрывов.min0 позволяет пустому пулу провалиться вообще без броска;max– не более 100.abilityPlusAbility: trueпозволяет проверке характеристики назвать вторую характеристику черезwith=и бросить обе – для систем, где бросают два атрибута вместе; без негоwith=в проверке характеристики ничего не значит.target: грань, которой должна достичь кость для зачета. Задайтеminнижеmax, чтобы Game Master мог менять порог проверки черезthreshold=; равенство всех трех значений фиксирует порог.double: необязательно. Грань не нижеfromсчитается дважды.explode: необязательно. Грань не нижеfromбросает еще одну кость, которая тоже может взорваться. Дополнительных костей не большеpool.maxсверх самого пула, поэтому проверка бросает максимум удвоенноеpool.max, и низкоеfromне создает бесконечного броска.- Оба правила могут иметь
min: наименьшую грань, до которой проверка может опустить правило черезexplode="N"илиdouble="N"в теге либо через использованную персонажем запись. Сminможно опуститьfrom, и тогда правило срабатывает только в проверке, которая его запрашивает: специализация, при которой десятки одного навыка бросаются снова, – это"explode": { "min": 10 }.fromне может быть нижеmin. cancel: необязательно. Грань не вышеupToотнимает один успех. Число не опускается ниже нуля.botch: необязательно. Если ни одна кость не успешна и выпала грань не вышеupTo, проверка критически провалена. Пул с единственным отмененным успехом дает обычный, не критический провал."rule": "halfOrMore"читает правило иначе: грани не вышеupToхотя бы на половине изначально брошенных костей (без учета взрывов) дают критический провал, если ни одна кость не успешна, а иначе оставляют результат в силе и помечают егоcomplication="true": одновременно с ним что-то идет не так. По умолчанию действует"noSuccesses".exceptional: необязательно. Такое или большее число чистых успехов в успешной проверке дает критический успех.situationalDice: необязательно. Диапазон костей, добавляемых или убираемых Game Master для одной проверки черезbonus=за трюки, раны или плохое освещение.reroll: необязательно. Перебросы, которые система дает бесплатно, до шести, каждый сid, который Game Master называет в проверке черезreroll=. Грани не вышеupToбросаются снова: при"once"новая грань остается, какой бы ни была, а при"until"– пока не выпадет грань выше.upTo– от 1 до числа граней кости минус один, поскольку переброс всех граней никогда бы не закончился, аuntilв любом случае останавливается после сотни перебросов за проверку. Переброс не делается, если проверка его не называет. Одна проверка делает один переброс: если его купили также расход или использованная персонажем запись, бросается тот, что охватывает больше граней, а при равном охватеuntilпобеждаетonce.difficultyLadder:successesзадает необходимое число успехов. Ступень может назватьtarget, но только если порог регулируется и в его пределах. С этим порогом считается проверка на этой ступени: когда Game Master называет ступень черезdifficulty=или пишетdc=, нужное ровно одной ступени. Если нескольким ступеням нужно одинаковое число успехов, одинdc=не скажет, какая имелась в виду, поэтому порог остается по умолчанию; назовите ступень.
target.from: необязательно. Берет порог каждого персонажа из его листа, как Number в Lasers & Feelings, которое персонаж выбирает один раз (подходит любая ссылка на значение: характеристика, поле, производное значение). Порог ограничен диапазономmin..max, иthreshold=его не сдвигает, потому что это собственное число персонажа; порог, купленный использованной персонажем записью, по-прежнему действует.threshold=в записи показывает, какой порог был использован.stances: необязательно. До шести, каждая сid,label,count("below"или"above") и охватываемыми навыкамиskills. Проверка одного из этих навыков считает кости ниже порога или выше него вместо костей, достигших порога: в Lasers & Feelings стойка Lasers считает ниже, а стойка Feelings – выше, и каждый навык входит в одну из них. Навык может входить только в одну стойку. Стойки обходятся безexplode,double,cancelиbotch, которые читаются относительно "не ниже порога".exact: необязательно. Кость, показавшая ровно порог:labelдает ей имя ("LASER FEELINGS"),textможет пояснить, что она дает за столом, и она считается одним успехом, еслиcountsне равноfalse. Запись несетexact="N"– число таких костей, а карточка броска показывает его рядом с результатом, чтобы Game Master мог дать игроку то озарение, которое она приносит.
Грани 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"]dc– число необходимых успехов, не порог кости. Допустимо от 1 до максимума, который можно насчитать за бросок: максимум пула, удвоенный при взрывах и еще раз удвоенный при двойном зачете граней.threshold=меняет порог кости и предлагается только приtarget.minнижеtarget.max.bonus=добавляет или убирает кости и предлагается только при объявленномsituationalDice.with=использует для навыка или спасброска другую характеристику. Работает в обоих видах, так что набор 5e получает "Strength (Intimidation)" через тот же атрибут. В проверке характеристики он вместо этого добавляет вторую характеристику, если включеноpool.abilityPlusAbility.difficulty=называет ступень лестницы вместоdc=в обоих видах: ее число успехов (или ее сложность при сумме) и, для пула, ее порог. Записанный рядомdc=по-прежнему главнее для числа, аthreshold=– для порога. Имя, которому не соответствует ни одна ступень или которое носят две ступени, игнорируется.explode=иdouble=сдвигают грани этих правил для данной проверки и предлагаются, только если у правила естьmin.reroll=называет один из ваших перебросовrerollдля данной проверки и предлагается, только если вы их объявили. Имя, которому не соответствует ни один из них, игнорируется.
Все ограничено декларацией файла: выходящее за диапазон значение прижимается к ближайшей границе, а отсутствующая в наборе характеристика игнорируется вместо отказа проверки. Запись показывает использованные броском значения: сложность и порог числами, бонусные кости после ограничений, 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" }
]
}
}- Число листа – количество костей, как в пуле, в пределах
pool(не больше 20). Раны,adjust, состояния и предметы добавляют или убирают кости. keep: необязательно, от 1 до 3, по умолчанию 1. Сколько наибольших костей складывается: 1 – это Blades, 2 – бои Trophy Dark.zeroDice: что делает персонаж без костей."lowest-of-two"(по умолчанию) бросает две кости, оставляет меньшую и никогда не дает критического успеха;"fail"проваливает проверку без броска.critical: необязательно.countкостей с высшей гранью (или с граньюfaceи выше) дают критический успех: две шестерки в Blades.dark: необязательно, темные кости Trophy Dark.label,max(от 1 до 10) иtext. Game Master добавляет их к одной проверке черезdark="N".outcomeпо умолчанию равно"all": темные кости читаются вместе с остальными. При"outcome": "light"(Capability API 1.149) оставляемые кости, сумму, степени исхода и критические результаты определяют только светлые кости. Если светлых костей нет, к светлой стороне применяетсяzeroDice: бросить две светлые кости и оставить меньшую или провалиться, все равно бросив темные кости. Темные кости всегда бросаются и записываются последними;darkHighest="true"означает, что темная кость строго превзошла каждую светлую (включая запасные светлые кости; если светлых не бросали, побеждает любая темная). Что это стоит (Ruin), применяет Game Master. Объявлениеdark.outcome, включая"all", требует capabilityApi 1.149.situationalDice: необязательно, кости, которые Game Master может добавить или убрать черезbonus=(помощь, усилие).spendможет покупать только кости.difficultyLadder: ступени сdc– числом, которого должны достичь оставленные кости.dc=в проверке – это то же число, от 1 доkeep, умноженного на число граней кости.outcomesчитаютby: "total"по оставленным костям, а степень сon: "critical-success"ловит критический успех.
Запись сохраняет форму суммы (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" }
]
}
}- Число листа для проверки – это порог. Процент навыка – это бонус листа для этого навыка (
bonusRangeдоходит до 100) без характеристики и без бонуса уровня подготовки; навык GURPS – это его атрибут плюс этот бонус. dice: что бросается и складывается, по умолчанию 1d100 (3d6 для GURPS, 1d20 для спасброска).against: при"at-most"(по умолчанию) успех наступает при результате не выше порога, при"at-least"– не ниже.difficultyLadder:dcкаждой ступени сдвигает порог, аdivide(от 2 до 10) сначала делит число листа. Game Master называет ступень черезdifficulty=;dc=в теге сдвигает число, от -100 до 100.dcв записи – число, относительно которого читался бросок, и запись указываетagainst="at-most".criticalSuccessиcriticalFailure: до шести правил каждого вида. Правило называет грани (from,to, любую границу можно оставить открытой) или, для провала,pastTarget– бросок, ушедший на столько же или дальше в сторону провала.whenTarget(atLeast,below) ограничивает правило некоторыми порогами: 5 в GURPS – критический успех только при пороге 15 или больше. Критический успех всегда успешен, а критический провал всегда проваливается.tens: необязательно, только на одной d100.bonus="+N"бросает N дополнительных костей десятков и оставляет лучший бросок,bonus="-N"– худший, доmax.outcomesмогут читатьby: "fraction"при броскеat-most:atLeastкаждой степени делит порог, и бросок не выше этой доли попадает в степень. Мерыmargin(насколько ниже порога) иtotalтоже работают.
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 }]
}symbols: от 2 до 10 именованных символов.countsтакже добавляет один экземпляр другого символа до взаимной отмены: триумф добавляет успех и остается триумфом. Он называет символ без собственногоcounts; цепочки и ссылки на себя отклоняются.cancelsсвязывает два символа один к одному, у каждого не больше одного партнера. Обратное объявление необязательно.textобъясняет символ для Game Master.dice: от 2 до 8 именованных костей, у каждой от 2 до 20 граней. Грани – массивы не более чем из трех идентификаторов символов;[]– пустая грань, а повторенные идентификаторы считаются дважды. Все ссылки должны существовать.pool:larger-upgraded(по умолчанию) бросает большее из значений характеристики и ранга и улучшает столько костей, сколько составляет меньшее, если объявленоupgrade.sumскладывает оба значения и ничего не улучшает.maxпо умолчанию равно 6 и не может превышать 12. Характеристика используетabilityModifier, поэтому для характеристик Genesys используйтеidentity. Ранг берется из уровня подготовки навыка или спасброска; у простой проверки характеристики ранг нулевой.with=заменяет характеристику, как в других проверках. Бонусы листа, раны, поправки и эффекты добавляют кости усиления или помехи через знаковый бонус, описанный ниже.difficulty:dc=считает противостоящие кости от 0 доmax(по умолчанию 5, предел 12).difficulty=вместо этого называет ступень лестницы.upgrade="N"заменяет столько противостоящих костей улучшенной костью, но не больше, чем брошено. Сверх сложности кости никогда не добавляются.boostиsetback: необязательные кости, добавляемые соответственно черезbonus="+N"иbonus="-N", доmaxкаждой (по умолчанию 3, предел 6). Знаковые поправки складываются до применения этого предела. Capability API 1.150 также принимает отдельныйsetback="N":bonus="2" setback="1"бросает обе стороны. Отрицательный бонус добавляется кsetback, и общее число костей помехи ограниченоsetback.max; кости усиления по-прежнему ограниченыboost.max.allowOwnUpgrade: необязательно, при отсутствии равно false. ПриtrueupgradeOwn="N"улучшает еще N костей персонажа доpool.upgrade(его нужно объявить) после улучшений из листа и купленных костей. Когда все имеющиеся кости уже улучшены, каждое лишнее улучшение добавляет одну улучшенную кость, по-прежнему в пределахpool.max. Это работает и сpool.build: "sum". Объявление этого ключа, даже со значениемfalse, требует capabilityApi 1.150. Имена атрибутов пишутся в camel case, какzeroDice;upgradeOwnдействует на кости бросающего, аupgradeпо-прежнему действует только на кости сложности. Иsetback, иupgradeOwnпринимают неотрицательные целые числа и игнорируются вне символьных пулов;upgradeOwnигнорируется, если не включен.success: нужно столько своего символа после взаимной отмены, по умолчанию один. Критический успех и провал отмечают любое появление названного символа, даже если добавленный им успех или провал отменяется. Обе отметки могут появиться вместе, и ни одна не меняет того, прошла ли проверка по чистым успехам.outcomesмогут читать чистое число успехов (total) илиnet successes - needed + 1(margin). Степени по-прежнему решают успех обычным образом; исходные критические символы остаются отмеченными.spendпокупает только дополнительные базовые кости персонажа в пределахpool.max. Бои этого набора используютsymbol-pool(Capability API 1.382, см. Бой на символьных костях); любой другой вид боя рядом с ним отклоняется.- Вне проверки игра с этим набором правил может бросать его кости по имени: поле собственного броска в панели ввода сообщения и инструмент
roll_diceGame Master читают2 ability 1 proficiency vs 2 difficulty(idилиlabelкаждой кости, в любом регистре), считают символы и взаимно отменяют их, как при проверке, но без листа, улучшений и шкалы сложности. Для включения не нужен отдельный ключ. - Запись сохраняет
resolution="sum"сsymbols="2s 1a 1t",thrown=, обозначающим каждую кость, иrolls=, хранящим ее грань с отсчетом от 1. ЗакодированныйsymbolDetailsсохраняет подписи, символы граней и обе критические отметки.setbackзаписывает отдельные кости помехи, добавленные после общего предела помехи, аupgradeOwn– примененные дополнительные улучшения; проигнорированные или нулевые добавки опускаются. Карточка и сводка называют чистые символы, включая пустой результат, вместо сложения чисел граней. Переопределения могут менять правила этого вида, но не могут заменитьsymbolsилиdice.
Что вне области действия и почему
Этим механикам по-прежнему нужен собственный вид разрешения:
- Встречные пулы разрешают двух персонажей одновременно; проверка имеет одного бросающего.
- Суммируемые пулы с дикой костью (как в OpenD6) складывают кости и отдельно обрабатывают одну из них.
Обе ранее исключенные возможности теперь моделируются; раздел Расходы для изменения броска ниже объясняет как. Собственное правило системы, "потратить очко за успех" или "потратить очко, чтобы перебросить неудачи", – это 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 }
]
}by: то, по чему читаются степени."margin"(по умолчанию) – насколько результат превысил то, что требовалось проверке: итоговая сумма минус сложность или чистые успехи пула минус нужное число успехов."total"– сам результат: итоговая сумма или чистые успехи, какой бы ни была сложность.tiers: от двух до восьми степеней, начиная с лучшей.atLeast– наименьшее число, попадающее в степень; у каждой степени оно ниже, чем у предыдущей, а у последней его нет, потому что она ловит все, что ниже.successговорит, успешна ли степень, аcriticalотмечает ее как критическую в своем роде (критический успех, еслиsuccessравно true, и критический провал, если нет). Хотя бы одна степень должна быть успешной и хотя бы одна – провальной.text– необязательная строка до 200 символов, объясняющая Game Master, что степень означает за столом ("Вы справляетесь, но Game Master добавляет осложнение").on:"critical-success"или"critical-failure"делает степень той, в которую попадает критический результат, что бы ни говорило число, и больше туда ничего не попадает. У такой степени нетatLeast, степень на критическом успехе – успех, а на критическом провале – нет, и каждой может быть не больше одной. "Две шестерки" в Blades in the Dark – это степень на критическом успехе над степенью для одной шестерки; остальные степени, читаемые по числу, подчиняются между собой правилам выше.naturals: "shift": высшая грань одной кости сдвигает результат на одну степень вверх, а низшая – на одну вниз, но никогда не дальше крайних степеней. Требует одной кости и заменяетresolution.naturals, поэтому рядом с ним задайтеnoneдля обоих случаев.
Степень решает исход: успех и оба критических результата берутся из нее, а не из простого сравнения. Если 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 } }
]- Каждое переопределение называет
skills,savesилиabilities(одно или несколько из трех),labelи необязательныйtextдля Game Master. setсодержит ключи разрешения собственного вида набора, которые заменяют ключи набора для этих проверок.nullубирает ключ: единицы exwod, которые не отменяют успехи для избранной характеристики, – это"cancel": null. Вид, математику листа (abilityModifier,proficiency,proficiencyTiers,penaltyFrom,spend,adjust) иdifficultyLadderизменить нельзя. Символьный пул также фиксирует своиsymbolsиdice. Разрешение, которое дает переопределение, проверяется так же, как собственное разрешение набора, поэтому названная им грань должна быть на его костях.when: необязательно. Значение из листа бросающего; переопределение применяется, только если оно не равно 0, например числовое поле 0 или 1 для избранной характеристики. Без него переопределение действует всегда.- Используется первое переопределение, которое называет проверку и чье условие
whenвыполняется. Проверка входит не более чем в одно переопределение безwhen.
Расходы для изменения броска
Некоторые системы позволяют платить за предстоящий бросок: очко воли за автоматический успех. resolution.spend описывает это как постоянное правило системы, а не купленную персонажем вещь:
"spend": [{ "pool": "resolve", "amount": 1, "successes": 1, "perCheck": 2 }]pool– один изlive.pools. Он не может начинаться пустым, иначе в начале игры тратить нечего.amount– стоимость ОДНОЙ покупки.successes,diceиrerollзадают приобретаемое; покупка должна давать хотя бы одно из них. Успехи добавляются после подсчета костей и отмен, поскольку их никто не выбрасывал. Кости бросаются вместе с пулом в его собственных пределах.rerollимеет вид{ "upTo": 6, "mode": "once" }, читается так же, какresolution.reroll, и покупается один раз, сколько бы покупок ни сделала проверка: кость, переброшенная дважды, – все равно один переброс.perCheck– число покупок за проверку; максимум – наamount * perCheckочков. Ограничение не дает полному запасу купить беспроигрышный бросок. Это число от 1 до 10, значение из листа в той же форме, в какой его читает производное значение ({ "abilityScore": "nerve" },{ "derived": "focus" }), или"pool": столько, сколько у проверки костей, то есть число листа для нее до ран, бонусных костей и модификаторов. Значение из листа читается для бросающего, округляется вниз и удерживается между 0 и 100, а персонаж с пределом 0 ничего не покупает и ничего не платит.- Набор
dice-poolможет покупать успехи, кости или перебросы.dice-highestиsymbol-poolпокупают только кости. Остальные виды не могут объявлятьspend. - До четырех записей, и две не могут назвать один запас, иначе проверка не укажет, какая из них нужна.
- Расход, покупающий
reroll,perCheck, не являющийся числом, и более двух записей требуют Capability API 1.38 для набора в составе пакета.
Это указывается в самой проверке. 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 }
}rerollперебрасывает кости с гранью не вышеupTo.onceзаменяет каждую один раз и оставляет новую грань;untilпродолжает.upToдолжно быть ниже высшей грани, иначе весь пул перебрасывался бы бесконечно; Engine ограничивает число перебросов проверки независимо от файла.diceдобавляет кости до броска,successes– успехи после подсчета, аthresholdзадает порог кости для этого броска в диапазонеtarget.explodeиdoubleсдвигают грани этих правил для одного броска, и только если у вашего правила естьmin, в его пределах:"check": { "explode": 8 }– запись, при которой восьмерки бросаются снова. Они главнее написанного Game Master в теге, как иthreshold. Capability API 1.37.- Нужно хотя бы одно из этих полей; иначе запись ничего не определяет и отклоняется.
- Все это поддерживает только
dice-pool, поэтомуdice-sumсmechanics.checkотклоняется при импорте.
Стоимость – собственное cost записи, оплачиваемое тем же механизмом, что использование любой другой вещи: запас и одно использование каждого счетчика этой записи. perCostStep задает МАСШТАБИРОВАНИЕ: запись с ним покупается столько раз, сколько оплачена цена, а без него – один раз независимо от предложенной суммы.
Game Master называет запись в проверке: [skill_check: skill="Brawl" dc="3" use="Potence" spend="blood:3"]. Не отдельной командой листа, по той же причине: бросок предшествует любому учету.
Все или ничего. Если запаса не хватает, покупки нет и ничего не списывается: бросок остается ровно таким, каким был бы без покупки. Очки, не составляющие целое число покупок, тоже ничего не дают. Превышение perCheck ограничивается, а не отклоняется, и оплачивается только предел. Все вычисляет Engine; Game Master называет объявленный игроком расход и не касается костей. Запись показывает оплату, примененную запись, число успехов без броска и переброшенных костей. Невыбранный талисман или талисман с недоступным Engine каталогом ничего не делает вместо применения на доверии.