Reroll Mechanic

Phase 2 feature. Notation for automatic rerolls on specified die values. Binds to individual dice, not expressions.

Notation

NotationDescriptionExample
dXRReroll indefinitely on default value (1)d20R, 4(d6R)
dXR[values]Reroll indefinitely on specified valuesd6R[1..2], d20R[1,19,20]
dXrReroll once on default value (1)d20r, 4(d6r)
dXr[values]Reroll once on specified valuesd6r[1..2]

Capital R = reroll indefinitely. Lowercase r = reroll once.

Binding & Precedence

Reroll binds to the individual die definition, not the expression. Binding order:

  1. Die definition + rerolld6R[1..2], d20r
  2. Keep modifier4(d6R[1..2])kh3
  3. Crit modifier4(d6R[1..2])kh3c
  4. Arithmetic modifier4(d6R[1..2])kh3+5
  5. Flow operator4(d6R[1..2])kh3+5 -> ...

The reroll executes on each individual die roll before any keep/crit/arithmetic logic sees the result.

Examples

Halfling Lucky (D&D 5e)

Halfling rolls of 1 on a d20 are rerolled once:

d20r

Or explicit: d20r[1]

Composed with advantage/disadvantage:

(<adv>?2(d20r)kh:(<dis>?2(d20r)kl:(d20r)))

If <adv> is true, roll 2d20 each with reroll-once, keep highest. If <dis> true, keep lowest. Otherwise just a single d20 with reroll-once.

Result: Halfling gets Lucky on the advantage roll, the disadvantage roll, or both.

Shadowrun Reroll (All Ones)

Reroll all 1s indefinitely on a pool of d6s:

12(d6R[1])

Roll 12 six-sided dice, each one that comes up 1 is automatically rerolled (repeat until not 1). Then sum the pool.

Mixed Rerolls

Weapon die with indefinite reroll on 1, but keep-highest also triggers:

4(d6R[1])kh3

Roll 4d6 with each 1 being rerolled indefinitely, then keep the highest 3 results.

Composition with Flows & Named Parameters

Reroll works seamlessly with conditional flows:

d20r+5 -> (<smite>?2d8R[1]:d8R[1])+3

Attack: d20 with reroll-once, plus 5. Damage: either 2d8 (with reroll-once) or 1d8 (with reroll-once), plus 3, depending on whether smite is active.

Default Reroll Value

If no value is specified, reroll defaults to 1:

  • d6R = d6R[1]
  • d20r = d20r[1]

This matches the most common use case (reroll on fumble).

Grammar

Reserved in Phase 1 as future syntax. Notation Spec formally reserves R and r for Phase 2, preventing conflicts with other operators.

See also: Notation Spec, Roadmap, Exploding Dice, Custom Face Values