Epic Rolls 5e

Epic Rolls 5e

Free
Version: V12
FVTT: V12
Any System
Download
Changelog

    A module to make group rolls more engaging with some flair and sound effects. Let your other players spectate the roll and see the results in real time!

    How to use

    Starting a new roll

    Epic Rolls button locationEpic Rolls button location

    To start a new Epic Roll, simply click on the epic roll button, located in the bottom half of the chat sidebar, above the chat input box. You will be welcomed by a new window, where you can configure the roll you want to make.

    Right clicking the button will open recent rolls, so you can re-use them.

    • The right click menu also has a quick initiative button!

    Configuring the roll

    New roll windowNew roll window

    The roll configuration window is divided into 3 sections:

    Player selection

    In this section (on the left) you can select the actors that will participate in the roll.

    • Click on the + button in the Available list to add actors to the roll.
    • Click on the - button in the Selected list to remove actors from the roll.
    • Right clicking on an actro will mark it as a Contestant.

    Roll selection

    In this section (in the middle) you can select the roll that will be made.

    • Click on an option to mark it as the selected roll.
    • Right Click on an option to mark it as the Contestant roll.

    Roll configuration

    In this section (on the right) you can configure the roll itself. All the settings have a brief description under them explaining what they do.

    During the roll

    Epic Rolls interfaceEpic Rolls interface

    Once you start the roll, the animation will play for all users.

    • Click on the dice icon to Roll, any user set to owner of the actor will be able to roll. The roll is Fast Forwarded by default, hold shift for the roll configuration window.
    • Click on the ADV or DIS buttons to toggle advantage or disadvantage.
    • As a GM, you can cancel the roll with the X button on the top right of the sceen.
    • Once all results are in, the roll will be resolved and the results will be posted in the chat. An outro animation will also play.

    After the roll

    Post-roll Chat messagePost-roll Chat message

    After the roll is finished, the roll window will close and the results will be posted in the chat. By default this message is only visible to the GM, but you can change this in the module settings.

    Module Settings

    The module settings will let you customize the sounds that are played when a roll is made, and when a roll is finished with different sounds for success and faillure. By default the module uses the same sounds for success and faillure, but you can change them to whatever you want.

    You can also delete chat messages generated by rolls made while in the epic rolls window. This option is suggested if you want a cleaner chat, since the roll results are displayed anyways at the end of the roll.

    API

    You can start an Epic Roll using the following API call:

    /* Calling this function while an Epic Roll is in progress, will queue the request */
    ui.EpicRolls5e.requestRoll(data)

    Where data is an object with the following properties:

    /**
     * Represents a skill check object.
     * @typedef {Object} SkillCheck
     * @property {string[]|Actor[]} actors - An array of actor UUIDs or Actors participating in the roll.
     * @property {string[]|Actor[]} contestants - An array of contestant UUIDs or Actors participating in the roll.
     * @property {string} type - The type of roll (more below).
     * @property {string|null} contest - The type of the contest (if any).
     * @property {Object} options - Options for the skill check.
     * @property {number} options.DC - The Difficulty Class (DC) of the skill check.
     * @property {boolean} options.showDC - Flag indicating whether to display the DC.
     * @property {boolean} options.useAverage - Flag indicating whether to use average values.
     * @property {boolean} options.allowReroll - Flag indicating whether to allow rerolls.
     * @property {boolean} options.showRollResults - Flag indicating whether to show the outro animation.
     * @property {boolean} options.blindRoll - Flag indicating whether the roll is blind.
     * @property {boolean} options.hideNames - Flag indicating whether to hide non-owned participant names.
     * @property {boolean} options.autoColor - Flag indicating whether to automatically assign the banner color.
     * @property {number} options.color - The banner HUE rotation.
     * @property {boolean} options.noMessage - Flag indicating whether to hide the chat message.
     */

    The type and contest property can be one of the following:

    /**
     * Represents the type of roll.
     * @typedef {string} type
     * @description The type of roll.
     * @example "skill.ath" - Represents a skill check for Athletics.
     * @example "save.wis" - Represents a saving throw for Wisdom.
     * @example "check.int" - Represents a ability check for Intelligence.
     * @example "tool.Herbalism Kit" - Represents a tool proficiency check for Herbalism Kit.
     */

    You can await the result of the roll that will return the results of the roll once all participants have rolled.

    const results = await ui.EpicRolls5e.requestRoll(data)

    The results object will have the following properties:

    /**
     * Represents the result of resolving a roll.
     * @typedef {Object} results
     * @property {boolean} canceled - Indicates whether the roll resolution was canceled.
     * @property {Array.<EpicRollResult>} results - An array of individual results for each actor involved in the roll resolution.
     */
     
    /**
     * Represents the result of an individual roll.
     * @typedef {Object} EpicRollResult
     * @property {Actor} actor - The actor associated with the roll result.
     * @property {*} value - The value of the roll result.
     * @property {*} roll - The roll object associated with the roll result.
     */