Epic Rolls
Turns group rolls into a show. When the GM asks the party for a check or a saving throw, every player sees a banner with the characters' portraits, rolls from their own card, and watches the other results come in live. At the end the module says whether the group succeeded, with sound effects, and posts a recap in the chat.
Only the GM can start an Epic Roll.
Epic Rolls works with any game system through TheRipper93's System Abstraction, a module that Foundry installs
together with it. In the systems it supports, you get that system's checks, saves and skills, and its roll
window. In the other systems you can still use Custom Formula rolls. Before version 7.0.0 the module was called
Epic Rolls 5e and worked only with D&D 5e.
Getting Started

- Open the
Chattab in the sidebar and click the Epic Roll button (the d12 icon above the chat box). TheConfigure Epic Rollwindow opens. - In the
Selectedlist, check the characters who will roll. - In the middle column, click the roll to make, for example
Athletics. - On the right, type a number in
DC. - Click
Start Epic Roll.
The Epic Roll banner opens for everyone. Each player clicks the die on their character's card to roll. Once everyone
has rolled, the module announces Success! or Failure! and posts the results in the chat.
You can also open the window with a hotkey: in Configure Controls, assign a key to Open Epic Roll Menu (it has no
key by default).
Configuring the Roll

The Configure Epic Roll window has three columns.
Who Rolls
The left column lists the characters taking part.
Selected: the characters who will roll. When the window opens, it contains the tokens you have selected on the scene or, if none, the characters of the players who are online. Click-to remove one.Available: all player characters and the creatures on the current scene. Click+to add one. UseSearchto find a name.Right-clicka selected character to make it a contestant (see Contests).
What to Roll
The middle column lists every roll you can ask for. The groups come from your game system: in D&D 5e they are
Ability Check, Saving Throw (including death saves), Skill and Tool. Every system also has Initiative and
Custom Formula. Use Search at the top to find a roll quickly.
Clicka roll to select it.Shift + ClickorCtrl + Clickmore rolls to let each character choose which one to make, for exampleAthleticsorAcrobaticsto climb a wall. Each player then picks their roll from their card.Custom Formula: type any dice formula (for example1d100) to roll that instead of a check. It can't be combined with other rolls.
Roll Options
The right column sets how the roll works. Each option has a short description under it:
- DC: the number to beat. Leave it empty for a roll without success or failure.
- Show DC: let players see the DC.
- Use Average: the group succeeds if the average of all results reaches the DC. When it's off, the group succeeds if at least half of the characters succeed. In systems where results can't be averaged (for example, "roll under" systems), half of the characters must succeed whether this is on or off.
- Allow Reroll: players can click their result to roll again. The roll then doesn't end on its own: the GM ends it
with the
Conclude Epic Rollbutton. - Skip Roll Dialog: roll right away with the character's bonuses, instead of first opening the system's roll window (where you can add a situational bonus, for example). On by default.
- Show Outro Text: show the big
Success!/Failure!text at the end. - Blind Roll: players see question marks instead of the results.
- Private Roll: each result is visible only to the GM and to the player who rolled it. It can't be used together
with
Blind Roll. - Hide Names: players see
???instead of the names of characters they don't own, for example a mysterious rival. - Auto Color and Color: the color of the banner. With
Auto Coloron, it depends on the type of roll; otherwise, pick it with theColorslider. - Label: a custom title for the roll, shown in the intro and in the chat.
Click the floppy disk icon next to Roll Options to Save as Default: the next Epic Rolls start with the same
options.
At the bottom:
- Start Epic Roll: start the roll for everyone.
- Save to Macro: create a macro that starts this exact roll, to reuse it from the hotbar.
Contests
A contest is a roll of one group against another, for example the party's Stealth against the guards'
Perception.
Right-clickthe characters of the opposing side in theSelectedlist: they are marked as contestants.Clickthe roll for the main group, andRight-clickthe roll for the contestants. If you don't pick a roll for the contestants, they make the same roll as the main group.
The contestants appear on the right of the banner, after a "VS". The average of their results becomes the DC that the main group has to beat.
During the Roll

After a short intro with the name of the roll, the banner shows a card for each character.
- Hover a card to see the character's name. Once they have rolled, the card shows the result and which roll they made.
- Click the die at the bottom of the card to roll. Any user who owns the character can roll, and the GM can roll for everyone. If the character can choose between several rolls, a menu opens first: pick the roll to make.
- With
Skip Roll Dialogon, the roll is made immediately with the character's bonuses.Shift + Clickthe die to open the system's roll window instead. WithSkip Roll Dialogoff, it works the other way around. - In systems with advantage, like D&D 5e, hover the die to show the
ADVandDISbuttons, and click one to roll with advantage or disadvantage. - The GM can click a result to roll it again (players can only do that when
Allow Rerollis on). - The GM can cancel the Epic Roll with the red
Xin the top right corner.
When everyone has rolled, the outro plays with the success or failure sound, and the banner closes.
Recent Rolls

Right-click the Epic Roll button to see your last rolls. Click one to open the Configure Epic Roll window with the
same characters, rolls and options.
The first entry, Roll Initiative, rolls initiative as an Epic Roll right away: for the selected tokens or, if none is selected, for everyone in the combat. Player characters roll against the other creatures.
Inline Roll Requests

This feature works only in the D&D 5e system.
D&D 5e lets you write roll requests in journals and descriptions, like [[/check acrobatics dc=15]]. Epic Rolls adds a
Request Epic Roll button (the d12 icon) next to them: click it to open the Configure Epic Roll window with that roll
and DC already set.
The Inline Roll Requests setting chooses how this works:
- Show Epic Rolls Icon (default): adds the d12 button, the normal request button still works as usual.
- Always use Epic Rolls: the normal request button opens the Epic Roll window instead.
- Disabled: leave roll requests as they are.
After the Roll

When the roll ends, a recap message is posted in the chat with the name of the roll, each character's result and
whether it beat the DC, and the final Success or Failure. When a character could choose between several rolls, the
recap shows which one they made.
The recap is posted only when a GM is connected. Epic Rolls needs a connected GM to start a roll in any case.
Settings
In Game Settings -> Configure Settings -> Epic Rolls:
- Aspect: click
Configure Aspectto change the artwork of the Epic Roll (see Aspect). - Recap Message: who can see the recap message:
None(no message),GM(default) orPublic. WithHide NamesorPrivate Rollon, the recap is always sent to the GM only. - Cleanup Messages: delete the individual roll messages from the chat when the Epic Roll ends, since the recap already shows all the results. Off by default.
- Inline Roll Requests: see Inline Roll Requests.
- Intro Sound, Success Sound, Failure Sound: the sounds played when the roll starts and when it ends in success or failure. Pick any audio file.
In Configure Controls:
- Open Epic Roll Menu: opens the
Configure Epic Rollwindow. No key by default.
Aspect

Configure Aspect sets the images Epic Rolls uses, so the banner can match your game:
- Banner: the background of the banner behind the title of the roll and the character cards.
- Roll Badge: the badge behind the die on each character card.
By default they are the D&D 5e system artwork. In other systems, or if you clear a field, Epic Rolls uses its plain
style. Reset to Defaults puts the D&D 5e images back, and Save Changes applies the change for everyone.
Advanced
API
You can start an Epic Roll from a macro or another module. The easiest way to get the data for a roll is to set it up in
the Configure Epic Roll window and click Save to Macro.
/* Calling this function while an Epic Roll is in progress will queue the request */
ui.EpicRolls5e.requestRoll(data)A GM must be connected, since the GM's client runs the roll.
Where data is an object with the following properties:
/**
* @typedef {Object} EpicRollData
* @property {string[]|Actor[]} actors - The actors (or their UUIDs) participating in the roll.
* @property {string[]|Actor[]} [contestants] - The contestants (or their UUIDs), if any.
* @property {string} type - The roll to make (more below).
* @property {string[]} [types] - Several rolls each actor can choose from (replaces type).
* @property {string|null} contest - The roll the contestants make, if any.
* @property {string[]} [contests] - Several rolls each contestant can choose from (replaces contest).
* @property {Object} options - Options for the roll.
* @property {number} options.DC - The Difficulty Class of the roll.
* @property {boolean} options.showDC - Whether to display the DC to players.
* @property {boolean} options.useAverage - Whether to use the average of the results to determine success.
* @property {boolean} options.allowReroll - Whether to allow rerolls.
* @property {boolean} options.showRollResults - Whether to show the outro text.
* @property {boolean} options.blindRoll - Whether the roll is blind.
* @property {boolean} options.privateRoll - Whether each result is visible only to the GM and the roller.
* @property {boolean} options.hideNames - Whether to hide the names of non-owned actors.
* @property {boolean} options.autoColor - Whether to color the banner based on the roll type.
* @property {number} options.color - The banner hue rotation.
* @property {string} options.formula - A dice formula, for custom rolls.
* @property {string} options.customLabel - A custom label for the roll.
* @property {boolean} options.noMessage - Whether to hide the chat message.
*/If the request is invalid, the roll doesn't start, the GM gets an error notification and requestRoll returns
{ error }. The error is "noActors", "missingActor" (an actor can't be found), "noType", "noContest"
(contestants without a roll for them) or "noGM" (no GM connected).
The type and contest properties (and the entries of types and contests) are the keys of the system's rolls,
as given by TheRipper93's System Abstraction. In D&D 5e they are:
"skill.ath" // a skill check (Athletics)
"save.wis" // a saving throw (Wisdom)
"save.death" // a death saving throw
"check.int" // an ability check (Intelligence)
"tool.herb" // a tool check (Herbalism Kit)
"initiative.initiative" // initiative
"custom.formula" // the dice formula in options.formulaFor example, this asks the selected tokens for a DC 15 Athletics or Acrobatics check and waits for the result:
const actors = canvas.tokens.controlled.map((t) => t.actor);
const result = await ui.EpicRolls5e.requestRoll({
actors,
type: "skill.ath",
types: ["skill.ath", "skill.acr"],
options: { DC: 15, showDC: true },
});
if (!result.error && !result.canceled) ChatMessage.create({ content: result.success ? "You made it across!" : "You fall!" });The returned result object has the following properties:
/**
* @typedef {Object} EpicRollResults
* @property {boolean} canceled - Whether the GM canceled the roll.
* @property {boolean|undefined} success - Whether the group succeeded (undefined if there is no DC or contest).
* @property {EpicRollResult[]} results - One result for each actor that rolled.
*/
/**
* @typedef {Object} EpicRollResult
* @property {Actor} actor - The actor that rolled.
* @property {number} value - The total of the roll.
* @property {Roll} roll - The roll.
* @property {string} rollKey - The roll the actor made (e.g. "skill.acr"), useful with types.
* @property {Object} check - The system's result: success, criticalSuccess, criticalFailure, levelOfSuccess, ...
*/