Rollable Tables allow you to draw from a predefined list of outcomes which, in addition to allowing text entries, can link to Actors, Items, Journal Entries, Macro Commands, Playlists, Scenes, or even other Rollable Tables. In addition, Rollable tables have full access to Compendium Packs and the documents they contain.
This article will familiarize you with rollable tables, how to create, configure and use them.
This directory can contain folders to organize your world's rollable tables. For details on how to create and use them please see the @Article[folders] article.
The Rollable Table Interface
New Rollable Tables can be created from the Rollable Tables directory sidebar. Creating a new Rollable Table is as simple as clicking the Create Rollable Table button located at the top of the sidebar menu. This will prompt you to name the table before creating it. Once the table is created you'll be presented with the table configuration panel.
The icon to show for your Rollable Table. Click the default (D20) image to change to an image of your choice.
The name of your Rollable Table.
- Table Description
A descriptive entry if you wish to provide a reminder of the purpose of the table.
- Roll Table Formula
The formula used when pressing the "roll" button on the table, this can simply be "1d#" where # is the number of entries in the table, but it also accepts more advanced formulae.
- Draw with Replacement
If a rollable table is set to draw with replacement, its entries are not used up when rolled. If unchecked, this option will only roll each entry in its table once until reset. This usage is intended for representing physical objects that, once claimed, cannot be claimed again. Such as a chest containing only a few items. Once those items are removed, the chest no longer contains them.
- Display Roll to Chat
This option determines whether or not players are able to see the numeric results of the roll on the table. With the results. Regardless of the state of this option, drawing from a Rollable Table will always generate a chat card for the result.
Adding results to the Rollable Table begins with pressing the + button. Every result has a number of options that can be configured to provide a highly customizable experience.
- Result Type
This dropdown selection input allows you to choose either Text, Document or Compendium. Text allows you to enter plain text or HTML scripted entries which will be output to Chat when they are entered. Documents can be any named document from
- Result Details
Each type of Result carries with it some specific options. Text allows you to enter plain text or HTML scripted entries which will be output to Chat when they are entered; Text entries can also utilize Foundry's Document Links(@Document[ID]) for advanced functionality. Documents require you to choose which type of document the Rollable Table refers to, with a second box allowing you to type the exact name of the document to be found. Compendium function effectively the same as Document, but you select the compendium from which to find the document's name.
Weight determines how many times a particular result is entered into the table. By default, every result has a weight of 1. After you have assigned your weights, pressing the scales icon at the far right of the results header will generate the appropriate Roll Formula for your results.
When a roll is made on the Rollable table, if the number falls anywhere within the range of a result that result is drawn. In a case where two or more results have an overlapping range, all results are considered drawn.
By default, Foundry supports rolling on secondary tables inside a Rollable table. To accomplish this, assign a result to the Document - RollTable type and enter the name of the table.
If you wish to have the first table indicate that it is rolling on a sub-table, assign a text result before the secondary Rollable Table result to make a declaration, such as "A small chest containing:". Then provide both of these results the same Range.
To interact with Rollable Tables programmatically, consider using the following API concepts: