So I'm playing using Roll20, and I just took a level in barbarian. I want to save my DM time and set up a macro for rage myself, problem is I have literally not a clue how macros work and the 3.5e character sheet hurts my brain before I even start looking at code. How can I make a macro in Roll20 (unless anyone have a pre-buildt macro by chance)? We use the action bar.

  • 1
    \$\begingroup\$ You might find it easier to maintain 2 character sheets, rage and non-rage, rather than trying to build a macro. \$\endgroup\$
    – Miniman
    Jul 24, 2019 at 1:45
  • 1
    \$\begingroup\$ Also, Welcome to RPG.SE! Take the tour if you haven't already, and check out the help center or ask us here in the comments (use @ to ping someone) if you need more guidance. Good Luck and Happy Gaming! \$\endgroup\$
    – Someone_Evil
    Jul 24, 2019 at 1:46
  • 1
    \$\begingroup\$ To clarify, are you looking for modifications to your attack and will save macros to prompt for whether you're raging (i.e. something that can be done with pure macros) or are you looking to toggle a "rage mode" on your character sheet via a macro (which would require API backing)? \$\endgroup\$
    – manveti
    Jul 24, 2019 at 18:45
  • \$\begingroup\$ @Craig Meier Whichever you think would be easier, as I've said I have no idea how macros work so I'm looking to keep it simple. (I also cant comment or spell apparently) \$\endgroup\$
    – voidsta
    Jul 24, 2019 at 20:49
  • 1
    \$\begingroup\$ Hey @voidsta it looks like you have accidentally created multiple accounts and that is why you are unable to comment here (I converted your answer into a comment for you though!). To solve this issue go here and follow those instructions to merge your accounts back together. \$\endgroup\$ Jul 24, 2019 at 20:56

1 Answer 1


For the purposes of this answer, I'm going to assume you're at a level where your rage gives you +4 Str/Con and +2 Will. Changing 4's and 2's to 6's and 3's or 8's and 4's is left as an exercise to the reader.

API Script

If your GM has a sufficiently high subscription level to enable the API and are willing to add the ChatSetAttr script, then it would probably be easiest to set up a pair of macros to enter and exit a rage state:

!modattr --sel --str-tmp|4 --con-tmp|4 --willtempmod|2

will increase your temporary Str and Con bonuses on your character sheet by 4 and your temporary Will bonus by 2 (assuming you're using the default D&D 3.5 character sheet; if not, you'll have to change the attribute names to whatever it uses) if you execute it with your token selected.

!modattr --sel --str-tmp|-4 --con-tmp|-4 --willtempmod|-2

will decrease those stats by the same amount. If you don't use the temporary bonus attributes for any other purpose, you could use the !setattr command instead of !modattr and use 0 instead of negative numbers for coming out of rage, which will ensure that you don't accidentally stack multiple additions and/or subtractions by clicking the button more than once.

If you don't like having to select your token to make it work, you could get your character sheet's ID by typing @{Character Name|character_id} (just type in their full name in place of "Character Name") into chat, then instead of --sel in the commands above, use --charid character_id (or whatever ID get in chat in place of the "character_id"). Putting that all together might look like:

!setattr --charid -Lkld7K_dltcChzLXbID --str-tmp|0 --con-tmp|0 --willtempmod|0


If the API isn't an option, you'll have to either modify the macros on your character sheet or write your own. There are a couple of reasonable ways to handle something like rage:

Token Bar

If you have one of the bubbles that pops up above your token available, you can use that as a toggle for rage and adjust your macros to include that. If you're using the default character sheet, you can accomplish this by modifying the text in the "Attack Calc", "Damage Calc", and "Crit Calc" fields under the weapon for attacks and the fields under "Show Save Macros" for Fort and Will saves.

In "Attack Calc", there will be a formula for computing your to-hit bonus. Find the part that says @{weapon1stat}[Ability] and change it to (@{weapon1stat}+@{selected|bar3}*2)[Ability]. This will add 2 to your to-hit whenever the third bar is set to 1, leaving your to-hit unmodified if the bar is set to 0. Unfortunately, this will require you to have a token selected, with a 1 or 0 in its third bar (the red one on the left). If no token is selected, you'll get an error about "No attribute was found" and if the bar is empty or not a number the whole calculation will come up 0.

You can make similar changes to the "Damage Calc" and "Crit Calc" fields, replacing @{weapon1damagestat}[Weapon Dmg Ability] with (@{weapon1damagestat}+@{selected|bar3}*2)[Weapon Dmg Ability] (or *3 if you're two-handing). Similarly, the 1d20 + [[ @{fortitude} ]] in the Fort macro can become 1d20 + [[ @{fortitude}+@{selected|bar3}*2 ]], and the same applies to the Will macro.


One of the reasons I don't use the attack macros built into the standard character sheet is that they pop up way too many dialog boxes asking me to input stuff I usually don't need to input. But if you're okay with one more dialog box standing between you and cleaving that annoying goblin in half, you can do away with the need to have a token selected. This works much the way the token bar option works, except that instead of adding @{selected|bar3} you'll add something like ?{How angry are you?|Just my baseline level of angry.,0|I hate everything with the white-hot passion of a thousand burning suns!,1}.

More completely, the selection version of the prompt syntax works like ?{Prompt|First Option|Second Option|Third Option...}, where each option can either be just a value or Description,Value. So you could just as easily do something boring like ?{Rage|0|1}.

Character Abilities

As I mentioned above, I don't like all the dialog boxes in the default macros, so I tend to write my own as abilities on the "Attributes & Abilities" tab. The downside is that these can require some manual maintenance on certain level-ups, but the upside is that you get more control over the balance you're comfortable with between few macros which have lots of prompts to handle everything or lots of macros with few (or ideally no) prompts.

While a full tutorial on the macro/roll syntax is beyond the scope of this answer, a good place to start would be to copy the "Full Attack Macro" field into a new ability, substitute in the contents of the "Attack Calc" field wherever it says @{weapon1attackcalc}, and trim out whatever you don't want. If that's overwhelming, maybe just hard-code the numbers for now (i.e. replace @{weapon1attackcalc} with 1d20+7) and find the balance you like between upfront complexity and long-term maintenance hassle.

When you get it looking like you want, you can copy that to a new token action, and modify it to add +2 to hit and damage (or whatever numbers are appropriate for your character). Don't forget to check the "Show as Token Action" box for both so they show up when you select your token.

For further reading, at the bottom of the character sheet there's a section (collapsed by default) called "Roll Templates". This gives some example macros using the templates defined by the character sheet and a bit of documentation on how they work.

  • \$\begingroup\$ I would move the API script to the bottom of the answer because to does not sound like OP is interested in that much of a scripting solution. \$\endgroup\$ Jul 29, 2019 at 12:33
  • \$\begingroup\$ I suggest putting the token action at the top, followed by macros, and the scripting at the end since a lot of people don't have "paid" subscription levels in Roll20. By the way, I did a token for my brother's barbarian when he rages and he's used it exclusively. \$\endgroup\$ Apr 22, 2020 at 12:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .