You often need to make dice rolls in roll20, and this can be a more confusing process than it should be. This page will try to fix that. If you want an official guide to making rolls, here’s one.
Most of the information on this page is drawn from the official dice reference, and I’m going to describe what you can do, and what you can’t – and when you can do something, show you how to do it. I’ll also add information not on that page, because its handy to know some other stuff when rolling dice.
The Basics of Rolling Dice
When making a roll, you construct a dice expression that must include these elements
- A Roll command. This can be
/r
,/roll
,/gmroll
, or enclosing the entire expression in double square brackets like this [[1d6]] - a Dice String, which is the number of dice, the letter d, then the die size, so 2d6 means to roll two dice of 6 faces (2 d6).
- Finally you can include a Modifier, like
+3
,-2
,+@{selected|Strength_modifier}
The roll command must be present. If your roll command starts with / it must start at the beginning of a line, with no spaces. Inline rolls
are enclosed in double square brackets, and are handy because the roll can be anyway – it does not need to be at the start of a line. It is inline.
Rolls which use /gmroll
can be seen only by the GM – they aren’t shared with the rest of the players.
You don’t need to include a die string. You can perform calculations, like /r 6+3 tells roll20 to add 6 to 3 and report the result. You can perform raw calculations!
You don’t need to include a modifier. If you do, you can include fixed numbers like 3, 2, etc., but you can also refer to a character’s attribute values. You must name the character*, but can use selected
or target
to refer to the character represented by a token. The syntax is @{selected|ATTRIBUTE-NAME}
.
selected
means the character for the token already selected is used (so you must already have a valid token selected), while target
lets you choose a token (perhaps an enemy). If you want to affect a character you don’t control, you must use target
.
* If creating an Ability (that’s a specific term) on a character sheet, you don’t have to give them a name. The name is implied to be the same as the character sheet it is being launched from.
Expanding The Dice Expression
You can include more information in the dice expression, or make certain kinds of rolls.
- Tags: you can include information inside single square brackets, like
/roll 1d6+3 [Strength Roll]
. Anything inside single square brackets is ignored – its just for display to you. You can include multiple tags like/r 1d6[d6 roll] +3[fixed bonus] + @{selected|int}[int bonus]
- Turn Tracker: You can use the Tracker code to make an initiative roll. Add
&{tracker}
to the dice expression, for example/r 1d20+@{Bob|Dex-mod} &{tracker}
and that character will be added to the turn tracker with that roll as their initiative. See more about the Turn Tracker. - Rolltemplate: Probably the most useful addition to a dice expression are roll templates. These are ways of formatting rolls, and every roll must be an inline roll (enclosed in double square brackets). Rolltemplates start with the name of the template, like
@{template:TEMPLATE-NAME} {{left column = right column}}
A few things about rolltemplates:
- A character sheet can include one or more rolltemplates, and you can only use templates designed in that sheet EXCEPT the default rolltemplate is always available (
&{template:default}
). - After the template declaration, everything must be inside double curly brackets, like
{{label=My Title}}
. Anything not inside the curly brackets is calculated, but is not displayed. There are times this is helpful. - Rolls may not start with the
/
character, and must use inline roll syntax. - The bit before the equals is the key, and identifies the section. The right side is the value. All keys must be unique, or earlier keys are overwritten with later ones. This is sometimes useful.
Roll templates are very useful. See more about them here.
Modifying the Dice Expression, Special Rolls
You can modify the dice expressions to do special kinds of rolls – like ones where dice explode, you roll more dice than needed but keep only the best, and more. We;ll look at what kind of rolls you can do.
This is a massive section, and I’ll expand this section very soon. For now, see the official dice reference.
Beyond the Dice Expression
You can do things to get more out of a dice roll. Some examples are:
- Macros and Abilities: If you are making a particular roll a lot, save it as a macro. Then you can do it with just the click of a button. An Ability is identical to a macro (mostly), but is saved on a character sheet (in the Attributes & Abilities tab). A macro is a string of text that is send to chat when you press the button – you can add extra text just by typing it. You can even make multiple macros u n the same activation.
- Macro Bar: You can add macros to your macro bar, and have instant access to them.
- Token Action: Any Ability can be saved as a Token Action. They hover above a token when you click a token which represents a character with token action. This is another way to have quick access to a bunch of macros or abilities.
- Queries: Queries are way to allow a user to select between multiple decisions. For instance, you might have an axe that does normal and critical damage, or want to choose between weapons. Be warned, though, that queries get very complex when you next queries inside other queries, or include any query characters in the text of a query (like commas). For complex queries, look at action menus.
- Action Menus: This is a way to present a set of buttons in chat, that run a macro when you click them. These are often much simpler than writing complex queries, but aren’t suitable for some queries.
- Rollable Tables: You can roll on a table, and include its generated result in a roll. There are a lot of limitations with tables but also some things you can do with them that you might never have expected.
The Limits of Roll20 Dice Rolls
There are some things that you can’t do with Roll20 dice rolls, at least if you aren’t superhuman like Tuo or RainbowEncoder. For most of these things you need to use API Scripts, which means your GM must be a Pro subscriber and have installed the script. But there are some things you can’t do, even with with scripts.
I’ll probably expand this section as I am reminded of things Roll20 is not meant to do.
What a Normal Roll Can’t Do
- Iteration: It’s common to ant to roll for how many things you then roll for, like 1d6 orcs will attack, and each attack is a separate roll. Roll20 does not do iteration.
- Multiple Effects From One Roll: Sometimes you’ll want to know two things from a single roll, like the total and how many successes you rolled. Roll20 is not designed for that. Sometimes there are ways to do it (for example), but you are fighting to system to make it happen.
What a Script Can’t Do
- Modify the UI: A common request is to make queries that ask multiple questions at the same time. But this would require modifying the query UI so it can’t be done.