OptionalaskShow the Break Ties checkbox on the pre-roll dialog — set by sohl.entity.modifier.MasteryLevelModifier.opposedTestStart, since only an opposed test can end in a tie.
OptionalbreakWhether a tie should be broken. Read back from the dialog (or supplied
with skipDialog) and handed to the
sohl.entity.result.OpposedTestResult the contest builds.
OptionalcanWhether the resulting card may offer a Fate spend (gated further by the
item's availableFate). Defaults true; the Fate test itself passes
false so a Fate roll cannot in turn be fated (#854).
OptionalisMark the test as a Success Value test (#848), so its card shows the
Success Value and Success Stars. Set by
sohl.entity.modifier.MasteryLevelModifier.successValueTest
alongside the svTable and grading targetValueFunc.
Reuse an already-evaluated success test instead of rolling fresh (Fate, a GM edit, an opposed resume) — the die is not re-rolled. Omit to roll a new test.
OptionalrollA pre-seeded die to resolve instead of casting one (#1148). Unlike
priorTestResult, which reuses a whole evaluated result, this
supplies only the die: the test is built and evaluated normally, but
evaluate() resolves the supplied roll untouched. Used where the
outcome is fixed by rule and there is nothing to test — an untreated
wound has no Healing Rate, so its Healing Test resolves against
UNTREATED.roll.
A situational modifier to apply to the mastery level.
The description table used to resolve result text and stars.
Maps a success level to the test's target value.
OptionaltokenThe token this test is made as, when the caller knows it and the owning item does not. Seeds the result's SuccessTestResult.token, which chat cards read the combatant's name from. Set by the responding side of an opposed test (#1164); omitted by an ordinary item-menu test.
The recognized
context.scopefields for a sohl.entity.modifier.MasteryLevelModifier.successTest — not only for resuming one. All are optional (the method reads them as aPartial<ContextScope>); together they turn the single generic success test into any bespoke graded test as data, with no subclass.successStarTablecarries the outcome mapping andtargetValueFuncthe grading value; follow-up consent buttons are passed separately to SuccessTestResult.toChat. See the pass-data pattern.