Quick reference

Core snippets

d20                         # single d20
d20 adv                     # advantage
d20 dis                     # disadvantage
4d6 dl 1                    # ability score roll
(4d6 dl 1)^6                # six ability scores
2d6 rr 1 rr 2 + 3           # reroll 1s and 2s until they change
4d6 ro 1                    # reroll ones once
(d20 + 6) >= 15             # DC check (returns 1 or 0)
(1d6)^3                     # repeat-and-sum three times
d20 adv + 5 + 1d4           # bless on an attack

Attacks and crits

(d20 attack + 6) >= 15 ? 2d6 + 4 : 0
(d20 adv attack crit19..20 + 6) >= 15 ? 2d6 + 4 : 0
(d20 attack + 6 oncrit double_all) >= 15 ? 2d6 + 4 : 0
3d20 kh 1 attack + 7        # triple advantage, keep highest
((d20 attack + 5) >= 15 ? 1d8 + 4 : 0) ^ 3   # multiattack
((d20 attack + 9) >= 16 ? 1d10 + 5 : 0) ^ 2  # fighter level 5 longbow

Analyze comparisons

analyze 3d6
analyze 2d20 kh 1 + 5, d20 + 5
analyze (d20 adv + 7), (d20 + 7)   # compare advantage vs straight

Commands and utilities

  • let smite = 2d8 - create an alias
  • reset - clear notebook and aliases
  • D&D Beyond import lives in the UI drawer—paste an ID or share link there instead of a notebook cell.

Status messages you should see

  • Loading WebAssembly… - initial startup
  • Dicelab WebAssembly ready. - engine ready to roll
  • New Dicelab notebook ready. - after a reset
  • Kernel crashed… - something failed; use the restart button shown