OpenFray

Features

Every roll, already worked out

One spell hits six creatures. OpenFray rolls all six saves, applies each one's defenses, and hands you the damage — one click, done. That moment is why this page exists.

One Fireball, watched through: six targets picked, every save rolled at once, every defense applied per row — and nothing lands until you say so.

Group saves

Six rows, every defense applied

Every row prints its reasons. The Goblin Warrior rolled a 2, so all 32 waits in its box. The Hell Hound saved — and immunity zeroes it anyway. The Quasit's Magic Resistance rolled two d20s and kept the 19, and resistance cuts its half again, down to 8. The made saves take 16.

Your players roll their own saves at the table. Their rows take a Save and a Fail button instead of dice — Kessa and Bram called theirs, and the 16 followed the click.

The rolled dice and six outcome rows: the Goblin Warrior failing on a 2 and owing all 32 fire, the fire-immune Hell Hound zeroed despite saving, the Quasit with both Magic Resistance d20s on its row and its damage cut to 8, and the two player rows answered Save.
The eight d6 are listed right above the rows they hit.

Casting

The whole spell, one card

Casting from a stat block opens the full card: range, components, duration, and the rules text, with the creature's remaining uses counted beside it. Cast, and the save rolls for every target at once — the group save above is this card, one click later.

Cast a spell, in the handbook →

The Fireball card opened from a stat block: 2 uses left, casting time, range, components, the full rules text, and a Cast button.

The rules, respected

What a roll takes with it

  1. 1The attacker's own numbersClick an attack on a creature's stat block and it rolls with that creature's numbers: its attack bonus, its damage dice, the crit applied. Nothing is typed twice.
  2. 2The effects on the boardAdvantage, penalties, and conditions ride into the roll from either end, the way the tracking page tells it. Faerie Fire on a foe arms everyone who swings at it.
  3. 3Your result, if you prefer itEvery roll can be typed instead. Real dice at the table stay in charge; OpenFray does the arithmetic around whatever you hand it.
  4. 4Honest dice, written downA cryptographic generator, every number equally likely, no streak correction ever — and the log keeps each roll with the dice behind it.

In the handbook

See it hold a real fight