Essence 20 Dice Rolls for GI Joe RPG

It looks like the new G.I. Joe RPG will be popular. Just in the last week, there have been at least three questions on the Roll20 forum asking how to do its dice rolls in Roll20. This post will show you how to create macros for the rolls, as well as a chat menu like this:

Chat Menu
Example Rolls Using These Macros

Essence 20 Dice Rolls

Hasbro’s new house system will be used for several games, including G.I. Joe and Transformers. In this system, you roll d20 and add another die (sometimes more than one), as follows:

  • Regular Roll: Roll d20 plus a Skill Die.
  • Edge Roll: Roll 2d20 and take the highest, then add your Skill Die.
  • Snag Roll: Roll 2d20, and take the lowest, then add your Skill Die.

The Skill Die can be d2, d4, d6, d8, d10, d12, 2d8, or 3d6.

You can be Specialised in a skill, and in that case, you roll every die lower than your Skill up to your Skill, and take the best. So if you have a Specialised skill at d6, you’d roll a d2, d4, and d6.

Rolling the Dice

There are many ways to represent these rolls in Roll20. The method shown below is creating a separate macro for each type of roll (Regular, Edge, Snag, and Specialised versions of each of those).

&{template:default} {{ ?{Skill Level|
D2,D2 Regular Roll=[[1d2|
D4,D4 Regular Roll=[[1d4|
D6,D6 Regular Roll=[[1d6|
D8,D8 Regular Roll=[[1d8|
D10,D10 Regular Roll=[[1d10|
D12,D12 Regular Roll=[[1d12|
2D8,2D8 Regular Roll=[[2d8|
3D6,3d6 Regular Roll=[[3d6}cf0 + 1d20cs21cf0 ]]}}
&{template:default} {{ ?{Skill Level|
D2,D2 Edge Roll=[[1d2|
D4,D4 Edge Roll=[[1d4|
D6,D6 Edge Roll=[[1d6|
D8,D8 Edge Roll=[[1d8|
D10,D10 Edge Roll=[[1d10|
D12,D12 Edge Roll=[[1d12|
2D8,2D8 Edge Roll=[[2d8|
3D6,3d6 Edge Roll=[[3d6}cf0 + 2d20cs21cf0kh1 ]]}}
&{template:default} {{ ?{Skill Level|
D2,D2 Snag Roll=[[1d2|
D4,D4 Snag Roll=[[1d4|
D6,D6 Snag Roll=[[1d6|
D8,D8 Snag Roll=[[1d8|
D10,D10 Snag Roll=[[1d10|
D12,D12 Snag Roll=[[1d12|
2D8,2D8 Snag Roll=[[2d8|
3D6,3d6 Snag Roll=[[3d6}cf0 + 2d20cs21cf0kl1 ]]}}
&{template:default} {{ ?{Skill Level?|
D2,D2 Specialised Roll=[[1d2cf0|
D4,D4 Specialised Roll=[[{1d2cf0 + 1d4cf0|
D6,D6 Specialised Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0|
D8,D8 Specialised Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0|
D10,D10 Specialised Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0|
D12,D12 Specialised Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0 + 1d12cf0|
2D8,2D8 Specialised Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0 |
3D6,3D6 Specialised Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0, 3d6cf0 } }kh1 + 1d20cs21cf0 ]]}}
&{template:default} {{ ?{Skill Level?|
D2,D2 Specialised Edge Roll=[[{1d2cf0|
D4,D4 Specialised Edge Roll=[[{1d2cf0 + 1d4cf0|
D6,D6 Specialised Edge Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0|
D8,D8 Specialised Edge Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0|
D10,D10 Specialised Edge Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0|
D12,D12 Specialised Edge Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0 + 1d12cf0|
2D8,2D8 Specialised Edge Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0 |
3D6,3D6 Specialised Edge Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0, 3d6cf0 } }kh1 + 2d20cs21cf0kh1 ]]}}
&{template:default} {{ ?{Skill Level?|
D2,D2 Specialised Snag Roll=[[{1d2cf0|
D4,D4 Specialised Snag Roll=[[{1d2cf0 + 1d4cf0|
D6,D6 Specialised Snag Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0|
D8,D8 Specialised Snag Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0|
D10,D10 Specialised Snag Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0|
D12,D12 Specialised Snag Roll=[[{1d2cf0 + 1d4cf0 + 1d6cf0 + 1d8cf0 + 1d10cf0 + 1d12cf0|
2D8,2D8 Specialised Snag Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0 |
3D6,3D6 Specialised Snag Roll=[[{1d2cf0, 1d4cf0, 1d6cf0, 1d8cf0, 1d10cf0, 1d12cf0, 2d8cf0, 3d6cf0 } }kh1 + 2d20cs21cf0kl1 ]]}}

Some of the code looks complex. It is written that way because of the points below.

Output Shows The Roll Type

When you make a roll, the output shows what type of roll it was, and the Skill Die. It’s handy to know that information!

Adding Character Information

You can easily tweak the macros to show who rolled the dice by adding something like this:

{{name=@{selected|character_name}

Just put that immediately after &{template:default} and make sure you have a token selected, and it will show the character who owns that token.

No Criticals on the d20 and No Fumbles on Any Die

In Roll20, if you roll the maximum on a die, it is highlighted green, and if you roll the minimum, it is red. But in Essence 20, you don’t get criticals on the d20 roll, and you don’t get fumbled on any die.

So, this string 1d20cs21cf0 says criticals occur on 21, and fumbles on a 0 – since you cant roll them, they never appear.

Avoid Unnecessary Duplication

There is no need to include the d20 in the Skill Die query because it is repeated on every row.

Likewise, for non-Specialised Rolls, cf0 can be put immediately after the Skill Die query. It applies to every roll, but doing it this way means it isn’t duplicated on every row.

Specialised Skill Rolls

When making a Specialised Roll, you roll the die for your Skill, and also every die below that, and keep the highest. The complication is that the 2d8 and 3d6 rolls are each treated as one roll. Under normal Roll20 dice rules, you’d keep only the best single die roll.

So, for these rolls, you need to use an advanced technique. Normally you need to separate each set by a comma, but a comma breaks a query here. That’s why the , HTML Entity is used. This makes the code more complex. For more on this, check the Roll20 documentation on Advanced Queries.


Macro Character

HTML Entities and macros don’t cooperate very well. If you open a macro containing HTML Entities, those entities are parsed and converted into the characters they represent. Since you need them to be HTML Entities, that stops the macro from working.

So you have three common choices here:

  1. Once you save a macro containing an HTML entity, never ever re-open that macro.
  2. Keep a copy of the macro outside roll20 or in a handout, so that when you inevitably open the macro by accident, you have a copy of the code and can restore it.
  3. Move the macro to a character ability. HTML Entities are not parsed when you open an Ability, so macros containing them are safely stored on a character.

Experienced Roll20 GMs often create a special character named Macros. If you set this character as Editable for all, players can use the abilities (using this syntax: %{Macros|ability-name}).

But if you leave the In Players Journals option blank, as shown above, the Macros character doesn’t appear in the players’ Journal – they can’t see the character. This means they can’t edit the macros.


Chat Menu Buttons

So, you have six macros stored as Abilities on a character named Macros. There are several ways to make these available to players –

  • You can tell the players the names, and let them call the macros like %{Macros|Snag-Roll}
  • You can click each Ability’s “Show in Quick Macro bar” box, and players will have them on their macro bar.
  • You can create a special Macro, with buttons for each Roll. This is my favourite method and will be described here.

Chat Menu Macro

Create a macro, call it whatever you want, and include the following text:

&{template:default} {{name=Chat menu Buttons}} {{[Regular](~Macros|Regular)=[Edge](~Macros|Edge) [Snag](~Macros|Snag)}}{{[Specialised](~Macros|Specialised)=[Edge](~Macros|Specialised-Edge) [Snag](~Macros|Specialised-Snag)}}

Then you’ll be able to print the buttons into chat at any time, and any player can click them to get this output. Also shown, the Abilities stored on the Macros character, so you can see the names used.


A Note on Critical Success

I’m not 100% sure that these macros show Critical Successes correctly. I think they do, but there’s some doubt.

The text I’ve seen says that you score a Critical Success if any Skill Die shows a maximum, and implies that Specialised rolls will have a massive chance of a Critical. If any skill die rolls a critical this indeed true – the chance is at least 50%, and usually higher, because one of the Skill Dice is a d2.

Under the Rolls provided above, if any Skill Die rolls its maximum, the roll will have a green square around it as shown. You can hover your mouse over the roll to see the details of the roll, like so:

If this assumption, that a Critical Success occurs when any Skill Die shows a maximum, is correct then these macros will show criticals too often. You’ll need to examine the rolls to make sure it is in fact a Critical.

But I think this assumption is correct – if not, your chance of a critical success goes down as your skill increases, and that isn’t sensible. So you shouldn’t need to do that.

Series Navigation

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.