Part of #944
Phase 1: Implement Ironsworn action and progress rolls
Updated 2026-03-24: Game packages now use .randsum.json specs + codegen, not the removed createGameRoll / createMultiRollGameRoll factories. See existing game packages in packages/games/ for the pattern.
Scope
Implement Ironsworn's action roll (1d6 + stat vs 2d10) and progress roll (1d10 vs progress track score) as an ironsworn.randsum.json spec in packages/games/.
Acceptance Criteria
Mechanics Reference
- Action score = d6 + stat + adds, capped at 10
- Strong Hit: action score > both challenge dice
- Weak Hit: action score > one challenge die
- Miss: action score <= both challenge dice
- Match: both challenge dice show the same value (independent of hit type)
- Comparison is strict greater-than — ties go to the challenge dice
Out of Scope
- Starforged (identical mechanics, reuses same spec)
- Oracle table consultation
- Momentum burn
Part of #944
Phase 1: Implement Ironsworn action and progress rolls
Scope
Implement Ironsworn's action roll (1d6 + stat vs 2d10) and progress roll (1d10 vs progress track score) as an
ironsworn.randsum.jsonspec inpackages/games/.Acceptance Criteria
ironsworn.randsum.jsonspec defining action roll and progress rollsrc/ironsworn.generated.ts— accessible viaimport { roll } from '@randsum/games/ironsworn'stat + addsto action die, caps at 10STRONG_HIT(beats both),WEAK_HIT(beats one),MISS(beats neither)isMatch: truewhen both challenge dice show same valueMechanics Reference
Out of Scope