Skill check

Authors a skill challenge with branching outcomes. The runtime resolves the DC expression against the player’s skill (plus modifiers, plus a roll for active checks), classifies the result into one of four outcome bands, and fires the matching event list. For the cross-cutting Condition and Timing properties shared by every event, see Event types.

The Skill Check event composer, expanded in the Node inspector.

Fields

Title

Short label for the check, shown in the UI when the prompt surfaces. Plain string.

Description

Longer descriptive prose for the prompt UI. Optional; falls back to the Title when omitted.

Skill

Optional skill to roll against. Pick from the editor’s skill picker.

The runtime exposes the skill’s current value as the expression-visible variable skill_{id} for use inside DC or modifier expressions.

DC (expression)

The DC (difficulty class) expression. Evaluated at fire time to a number. May reference variables, skills, or functions:

  • Literal: "12"
  • Computed: "10 + var_difficulty"
  • Conditional: "If(var_helped, 8, 14)"

Modifiers

List of additional modifiers applied to the roll. Each entry has three fields:

  • Modifier name: short name shown next to the modifier in the prompt UI and the simulator’s debug breakdown (for example Wearing a suit). Can carry a translator note: see Entities.
  • Value (expression): the modifier value as an expression (for example 2, or If(var_torch_lit, 1, 0))
  • Condition (optional): gating expression; the modifier applies only when it evaluates true

Retryable

Boolean. When true, the player can re-attempt the check after a failure. The runtime tracks attempts on the per-event state.

Max attempts

Optional integer cap on attempt count. Combined with Retryable to govern multi-attempt resolution. Leave it empty for unlimited attempts within the retryable scope.

Dice override

Three optional sub-fields that set the dice and critical thresholds for this specific check. Each inherits independently from the project’s default when left empty:

  • Dice: comma-separated dice notation (2d6, 1d20 or d20, 2d6,4, or a bare integer like 20). Empty inherits the project’s Dice value.
  • Critical fail threshold (sum): one or more roll sums that count as a critical failure (e.g. 2 for a single value, 2,3 for two). Empty inherits the project’s threshold.
  • Critical success threshold (sum): same shape, for critical successes.

Because each sub-field inherits independently, you can override just the dice while keeping the project’s critical thresholds, or narrow the critical-fail band while keeping the project’s dice. The project setting holds the default these fields override; see Project settings.

Passive checks use the same dice as interactive ones. The Dice override applies whether or not Passive is ticked.

Passive (silent ambient check)

Marks this check as ambient. Hints that the dice-roll prompt should be skipped and the outcome applied quietly (the roll and modifiers still resolve normally), for background checks that reveal or gate content without interrupting the player’s flow. Whether the game acts on the hint is up to the integration; Passive only records the intent. The check still fires on the same trigger as an interactive check (when the containing node’s event chain runs). If Critical fail events are wired on a passive check, the editor will flag it: the player would feel the consequences with no visible roll to explain them, so make sure that’s intentional.

Success events

Ordered list of nested authored events to fire when the roll passes the DC. Any event type may appear here except another skill check; the editor’s event picker leaves skill checks out of all four outcome lists.

Failure events

Ordered list of nested authored events to fire when the roll falls below the DC.

Critical success events

Optional list of events to fire on a critical success. When non-empty, takes precedence over Success events for that outcome and Success events does NOT also fire. When empty or omitted, a critical success falls through to Success events.

Critical fail events

Optional list of events to fire on a critical failure. When non-empty, takes precedence over Failure events (and Failure events does NOT also fire). When empty or omitted, a critical failure falls through to Failure events.

Use cases

A straightforward active check. Write a short label in Title, pick the skill the player rolls against from the Skill dropdown, and author a number in DC (expression). Drop a Set variable event into Success events and a Dialogue event into Failure events. The player sees a prompt and chooses to attempt or skip.

A passive check that gates extra content. Tick Passive (silent ambient check) to mark this check as ambient. Write a DC that reads from a variable so the difficulty scales at runtime, then add a row to Modifiers whose Condition (optional) reads from a status variable, so the modifier applies only when that state is set. Drop the content-reveal events into Success events. When the containing node’s event chain runs, the check resolves; on a pass, the gated content appears, on a fail, nothing happens.

A retryable check with critical-outcome branches. Tick Retryable and set Max attempts to 3 so the player gets three tries. Wire the normal pass and fail outcomes into Success events and Failure events, then add the bonus outcome to Critical success events and the punitive outcome to Critical fail events. When the critical lists are non-empty, the runtime fires only those on roll extremes; the normal lists do not also fire for that attempt.

A check with its own dice feel. Expand the Dice override section and set Dice to what this check calls for. Try 2d10 to widen the swing, or 3d6 to keep it tighter around the middle. Set Critical fail threshold (sum) and Critical success threshold (sum) to match the new range. Any of the three fields left empty inherits the project’s value for that field.

See also

  • Skill checks: the authoring walkthrough for building a check end to end.
  • Skill: the entity this event rolls against; defines the Min / Max range that bounds DCs and the auto-managed skill_<id> variable that holds the current value.
  • Project settings: where the default dice and critical thresholds live; the Dice override fields on this event fall back to them.
  • Set variable: for state mutations inside outcome lists.
  • Dialogue: for character reactions to check outcomes.
  • Unlock codex: for revealing gated content on critical successes.
Docs last synced: 2026-07-08
Screenshot viewer