May 3

Roll20 macros

Better automation through macros

So I’ve spent the best part of a day unlearning some bad habits when I set up the Roll20 sheets for my players.  I wish I’d spent some more time getting to grips with the documentation before I set down to create but I realise the campaign was based upon one of my first fumbling attempts at getting Roll20 to behave how I wanted.

Why Macros?

A macro is a statement that tells Roll20 to execute a string and in my case I had defined attack macros, dodge macros and damage macros.  What I forgot is that you can create a central pool of macros for all to use rather than creating them individually in each characters journal.  When I set the journals up I used the former method rather then the latter.  The downside was that as I read the documentation I learned more about how to write an effective macro and I was faced with the realisation that I would have to change it for each character that had a journal entry.

Why Change?

I changed because my players deserved better than me saying “Ah, I haven’t set that macro up yet on that character” and since I had some free time this weekend I did just that.  I scrapped the individual macros and harnessing the power of the language I re-wrote the macros while taking the time to improve them into something more functional.


So I present to you an example macro from the library that my players have access to, a simple ranged combat macro:

/em @{selected|token_name} fires my handgun!
/roll 1d10 +@{selected|Dexterity} + @{selected|Guns (Handgun)}  
+ ?{Additional Attack Bonus/Penalty?|0}
!ammo Pistol ammo

I also created them as token specific which means that you have to have a token highlighted before it will correctly execute.

The first line has the token announce the name of the token and what its doing.  The second line rolls a d10, adds the values of Dexterity and the handgun skill together before popping up a dialogue box asking if there are any other miscellaneous modifiers to add to the roll; say a situational modifier for someone that has been aiming long enough to obtain a bonus or if they are using a scope.

The final line calls a script which decreases the value of an attribute called Pistol ammo by one.  This way the player can see how much ammo they are going through as I used one of Roll20s radial buttons for this task.

There are more things to be done, but I hope that my players will see the benefits of a well written macro.


Tags: , ,
Copyright © 2014. All rights reserved.

Posted May 3, 2014 by GeneralTangent in category "RPG

About the Author

I've been gaming on and off since about 1989 and during that period have played with numerous game systems. I'm fluent in a few, have a basic understanding of quite a few more and can get by in others. Somewhere along the way I found time to be a playtester, contribute to an unpublished game supplement and be associated with another gaming magazine written by far more talented people than I. This lead to one infamous article being written in which I followed the letter of the adventure and torched the parties river barge. I'm also listed on as a game designer.

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Anti-Spam by WP-SpamShield