SkillCheckResolvedEvent

Always fires when a SkillCheck event executes — independent of success/failure outcome events. Carries roll metadata for rendering dice animations, outcome captions, telemetry. Spec §F “Roll-result exposure”.

public class SkillCheckResolvedEvent : EventBase

Inheritance System.ObjectEventBase → SkillCheckResolvedEvent

Properties

AttemptCount

1 on first resolution; increments on each subsequent attempt of a retryable check.

public int AttemptCount { get; }
Property Value

System.Int32

CachedFromPreviousRoll

True when this firing replays a roll cached earlier in the run (e.g. determinism re-emission). DiceRolls may be empty.

public bool CachedFromPreviousRoll { get; }
Property Value

System.Boolean

Dc

Difficulty class — the threshold Total must meet or beat.

public int Dc { get; }
Property Value

System.Int32

Description

Optional human-readable description (resolved against active locale).

public string? Description { get; }
Property Value

System.String

DiceRolls

Raw dice rolls, in roll order. Empty on cached re-resolutions where the roll is reused.

public IReadOnlyList<int> DiceRolls { get; }
Property Value

System.Collections.Generic.IReadOnlyList<System.Int32>

IsRetryable

True when failing this check lets the player re-attempt later (per authoring).

public bool IsRetryable { get; }
Property Value

System.Boolean

Modifier

Sum of all applicable modifiers’ values (the bottom line from Modifiers).

public int Modifier { get; }
Property Value

System.Int32

Modifiers

Per-modifier breakdown: which applied, which didn’t, and their values. Drives “why did I roll this?” UI.

public IReadOnlyList<ModifierBreakdown> Modifiers { get; }
Property Value

System.Collections.Generic.IReadOnlyList<ModifierBreakdown>

Outcome

Final outcome (SkillCheckOutcome) — pass / fail (and critical variants when configured).

public SkillCheckOutcome Outcome { get; }
Property Value

SkillCheckOutcome

Passive

Authoring hint mirrored from StoryBonsai.Runtime.Models.Authored.AuthoredSkillCheckEvent.Passive: the writer marked this check as ambient. Studios typically skip the dice-roll UI when true. Does not affect resolution timing — passive and interactive checks fire on the same lifecycle (when the containing node’s event chain runs).

public bool Passive { get; }
Property Value

System.Boolean

Skill

Hydrated skill view (display name, decay metadata). Null only in path-test mode.

public SkillView? Skill { get; }
Property Value

SkillView

SkillBonus

Skill-stat contribution to Total.

public int SkillBonus { get; }
Property Value

System.Int32

SkillCheckUuid

Uuid of the authored SkillCheck event that resolved.

public string SkillCheckUuid { get; }
Property Value

System.String

SkillId

Prefixed skill id (e.g. "skill_logic") — distinguished from the authored unprefixed form on Event.Skill.

public string SkillId { get; }
Property Value

System.String

Title

Optional human-readable check title (resolved against active locale).

public string? Title { get; }
Property Value

System.String

Total

Final roll total: sum of DiceRolls + SkillBonus + Modifier.

public int Total { get; }
Property Value

System.Int32

Methods

Accept(IEventQueueVisitor)

Dispatches to Visit(SkillCheckResolvedEvent).

public override void Accept(IEventQueueVisitor visitor);
Parameters

visitor IEventQueueVisitor

Visitor to dispatch this event to.

Inherited Properties

MemberSource
Atinherited from EventBase
Timinginherited from EventBase
Docs last synced: 2026-07-08
Screenshot viewer