ActionRoll is now distinct from ProgressRoll; both are derived from IronswornRoll, an abstract class that handles roll resolution + embed composition
strict game terminology on params, class names, etc
split Result into Outcome (StrongHit, WeakHit, Miss) and IsMatch, a boolean (to handle roll outcome upgrade/downgrading more cleanly, later - technically a weak hit + match is possible on certain moves)
all dice can have their values preset as optional parameters
param adds is required by /action-roll, so ppl don't forget to leave them out
param momentum is required by the /action-roll command, and it resolves both negative momentum (by cancelling action dice) and postive momentum (by adding a reminder to the footer when it can be used)
Momentum can be omitted from the ActionRoll class, however, so that asset rolls still work until text input via modals is an option
future expansion?
some way of upgrading/downgrading roll outcomes - before? after?
dropdown select (multi) to implement "reroll any dice"
button to burn momentum and resolve the embed to the new outcome
past results after reroll/momentum burn could be pushed to a field or something
constructor overloads, so ActionRoll and ProgressRoll can parse roll data from embeds
enhancements
ActionRoll
is now distinct fromProgressRoll
; both are derived fromIronswornRoll
, an abstract class that handles roll resolution + embed compositionResult
intoOutcome
(StrongHit, WeakHit, Miss) andIsMatch
, a boolean (to handle roll outcome upgrade/downgrading more cleanly, later - technically a weak hit + match is possible on certain moves)adds
is required by/action-roll
, so ppl don't forget to leave them outmomentum
is required by the/action-roll
command, and it resolves both negative momentum (by cancelling action dice) and postive momentum (by adding a reminder to the footer when it can be used)Momentum
can be omitted from the ActionRoll class, however, so that asset rolls still work until text input via modals is an optionfuture expansion?
ActionRoll
andProgressRoll
can parse roll data from embeds