Fabled
Docs
Dice rolling

Dice rolling

Mis à jour 21 mai 2026

4 min de lecture

Mis à jour 21 mai 2026

Dice rolling is the single most-used feature in Fabled. Most rolls fire from a character sheet button (attack, save, ability check); the dice tray itself is for ad-hoc rolls that do not have a button. Both paths land in the same campaign chat log. Sheet-button rolls also write an element ledger entry on the underlying character; ad-hoc dice-tray rolls live only in the chat log.

The dice tray

The dice tray is pinned to the bottom of the table during a session. Click it to open an expression input, or use the keyboard shortcut for a faster path. Expressions follow the conventions every tabletop player knows:

  • 1d20: one twenty-sided die.
  • 4d6kh3: four six-siders, keep highest three. Used for ability scores in 5e.
  • 2d20kh1+5: two d20s, keep the highest, +5. The numeric form of an advantage roll. The dice tray's advantage / disadvantage toggles are the friendlier path; under the hood they emit the same expression.
  • 10d6!: ten six-siders, exploding (any 6 rolls again and adds).

Each expression is one roll. To fire several rolls in a row, queue them through the dice tray one at a time; each lands as its own ledger entry and its own line in the chat log. The dice tray's recent-rolls strip makes it quick to re-fire the same expression.

The full grammar is documented in the dice-roller reference; the bullets above cover what almost everyone needs.

Sheet buttons (the path you actually use)

Most rolls are pre-wired into the framework. A 5e character has a button for every attack, every save, every skill check; clicking the button rolls the right expression with the right modifiers without you having to remember any of them.

Sheet-button rolls have three properties the dice tray does not give you for free:

  • Character attribution. The chat log shows the character's name and portrait next to the result, so the table can see who rolled.
  • Live modifiers. When a class feature changes a stat (Bardic Inspiration, a buff spell, a temporary debuff), the framework recomputes the modifier and the next roll picks it up automatically.
  • Action-function context. A button labelled 'Cast Magic Missile' does more than roll damage; it also expends the spell slot, writes the right ledger entry, and prompts for the target.

Advantage, disadvantage, and modifiers

Advantage and disadvantage are first-class. The dice tray accepts the keywords directly; sheet buttons offer toggles for each roll. The modifier panel that opens when you long-press a sheet button lets you pile on circumstantial bonuses or penalties before firing.

Where rolls show up

Every roll lands in three places:

  • The chat log. Persisted on the session, visible to everyone who can see the table.
  • The element ledger. Only when the roll came from a sheet button (or an action function on the sheet). The entry lands on the relevant character or NPC and shows up in its timeline view. Ad-hoc dice-tray rolls live in the chat log alone.
  • The dice-tray history. The last few rolls are pinned next to the tray so you can re-fire the same expression with one click.

Secret rolls (GM only)

GMs can roll secretly, hiding the result from players. Secret rolls show in the chat as 'GM rolled in private' with no result body; the ledger entry is owned by the GM and visible only to them. Use this for hidden information (a player's perception against a hidden trap, an NPC's deception roll) where the player should feel the consequence without seeing the number.

Where to go from here

  • If you want a button-by-button walkthrough, the Roll dice in a session how-to covers the dice tray, sheet buttons, and modifier panel against a live session.
  • If you are wiring custom dice expressions into a homebrew framework, the framework node reference's Dice category covers the executor primitives.