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.Object → EventBase → SkillCheckResolvedEvent
Properties
AttemptCount
1 on first resolution; increments on each subsequent attempt of a retryable check.
public int AttemptCount { get; }
Property Value
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
Dc
Difficulty class — the threshold Total must meet or beat.
public int Dc { get; }
Property Value
Description
Optional human-readable description (resolved against active locale).
public string? Description { get; }
Property Value
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
Modifier
Sum of all applicable modifiers’ values (the bottom line from Modifiers).
public int Modifier { get; }
Property Value
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
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
Skill
Hydrated skill view (display name, decay metadata). Null only in path-test mode.
public SkillView? Skill { get; }
Property Value
SkillBonus
Skill-stat contribution to Total.
public int SkillBonus { get; }
Property Value
SkillCheckUuid
Uuid of the authored SkillCheck event that resolved.
public string SkillCheckUuid { get; }
Property Value
SkillId
Prefixed skill id (e.g. "skill_logic") — distinguished from the authored unprefixed form on Event.Skill.
public string SkillId { get; }
Property Value
Title
Optional human-readable check title (resolved against active locale).
public string? Title { get; }
Property Value
Total
Final roll total: sum of DiceRolls + SkillBonus + Modifier.
public int Total { get; }
Property Value
Methods
Accept(IEventQueueVisitor)
Dispatches to Visit(SkillCheckResolvedEvent).
public override void Accept(IEventQueueVisitor visitor);
Parameters
visitor IEventQueueVisitor
Visitor to dispatch this event to.
Inherited Properties
| Member | Source |
|---|---|
At | inherited from EventBase |
Timing | inherited from EventBase |