As far as macros, I'll start with the very raw basics and you can ask questions in the Specific Questions forum afterwards :) (These tutorials were originally done for a 4e group so the verbiage of macros may look a little odd) ---- Making Macros 101 (Raw Basics) --- A macro at its heart is simply a series of commands pre-packaged so they
can be fired off with the click of a button or a typed command in chat.
There's two different ways you can set up a macro. First is through
the Macros sidebar. Click on the geartab at the topright of your
screen, then click the +Add button. This will bring up the Macro
editing dialog box. Name it and then type in the commands, one per
line, you wish to have in the macro and then save your macro. If
you check the 'Show as Token Action' button, it will appear as a
click-able button when you have any token you control selected. The second method is via your character sheet, as an Ability. Open
your character journal, click on 'Attributes & Abilities', and +add
next to Abilities. Hover over your new 'Ability' and click on the
pencil icon. This will bring up the Ability editing Dialog box. Name
it and then type in the commands, one per line, you wish to have in the
macro and then save your macro by clicking on the checkmark. The
benefit of doing macros via this second method are two-fold: firstly,
character specific macros can be placed here and not spam your macro
sidebar. The second advantage is that any attribute calls you make (covered in a future tutorial) will automatically 'know' to pull from the character whose journal the macro is attached to. ---Making Macros 102 (Sophisticated Macros)--- Now that you know how to make a macro, let us talk about crafting a macro. The most basic macros are simple roll commands and emotes: /em attacks with his longsword!
/roll 1d20 + 11 [Attack]
/roll 1d10 + 7 [Damage] /em casts Healing Word, the target spends a healing surge and adds....
/roll 2d6 [Additional Healing] /em attempts an Acrobatics check
/roll 1d20+5 /em attacks with Clever Strike
/roll 1d20 + 10 [Attack]
/roll 1d6 + 4 [Damage] /em adds Sneak Attack Damage!
/roll 2d6 These are simple macros, easy to make on the fly, but
they tend to be very spammy as the /roll command outputs a minimum of
three lines by itself. This is where the Inline Roll comes into play. [[diceroll]]
[[1d20+3]] /em attacks with his longsword! He his AC [[1d20+11]] for a potential [[1d10 + 7]] damage. /em casts Healing Word, the target spends a healing surge and adds [[2d6]] additional healing. /em attempts an Acrobatics check: [[1d20 + 5]] /em attacks with Clever Strike. She hits AC [[1d20 + 10]] for [[1d6+4]] potential damage.
/em adds [[2d6]] Sneak Attack damage! These macros take up less
room in the chat window and are much easier to read, while still being
fairly easy to write. But these macros aren't flexible at all. They do
not take into account temporary modifiers to hit and damage, which
fluctuate fairly chaotically in d20 systems. For that, we need the Roll Query . ?{Query Text|Default Option}
?{Modifier to Hit?|0}
?{TemporaryMods} Roll Queries will cause a dialog box to pop up and
ask you for a response. You can choose to not use a default option,
but that requires that you type a value because leaving
that box empty will make your macro fail in any number of delightful,
obscure, ways. My suggestion is to always use a default of 0 so you can
just hit enter and move on with life. /em attacks with his longsword! He his AC [[1d20+11+ ?{Modifier to Hit|0}]] for a potential [[1d10 + 7 + ?{Modifier to Damage|0}]] damage. /em casts Healing Word, the target spends a healing surge and adds [[2d6 + ?{Any bonus healing?|0}]] additional healing. /em attempts an Acrobatics check: [[1d20 + 5 + ?{TempMods|0}]] /em attacks with Clever Strike. She hits AC [[1d20 + 10]] for [[1d6 + 4 + ?{Modifier to Damage|0} + ?{Sneak?|2d6} ]] potential damage. That
last macro may look weird. It takes advantage of the 'Order of
Operations' used in evaluating macros/commands and the fact that queries
are resolved before dice rolls. This means I can choose whether to add
my sneak attack dice when Adara attacks. If I don't want to add,
because I can't, I just type a 0 when that box appears and the rest of
the macro will execute cleanly. These macros are more flexible
than our previous batch, but when you level up you have to manually
recalculate your numbers, and make sure every macro gets adjusted. The
next tutorial covers using Attributes inside macros. ---Making Macros 201 (Using Attributes in Macros--- Thus far we've used static numbers in our macros, aside from our roll
queries. Time to kick it up a notch and start using Attributes in our
macros! An attribute is anything that isn't an ability. This tutorial deals with attributes that you control. Setting
attributes is simple. Open your character journal, click on
'Attributes & Abilities', and then click on +Add next to Attributes.
Fill in the needed values, there's no special button to click to save
your work. Below Is part of Adara's Attributes & Abilities to give
you an idea of what you can do. Here
I insert a caveat: In games with a 'Character Sheet' enabled, the sheet
can cause some confusion to your Attributes & Abilities page
because a character sheet is just a really really REALLY complicated
version of the A&A tab. Proceed with caution here, and ask questions in the Character Sheets forum if you run into difficulties. Once
you've added some attributes, we can start using them in macros. The
code below assumes you're using Abilities for your macros. @{attribute} [Pulls Current value]
@{attribute|max} [Pulls Max value, if set] WARNING:
Attempting to reference an unset attribute will cause your macro to
fail to execute and then you'll be unhappy. Don't be unhappy, make sure
all your attributes have values. /em attacks with his longsword! He his AC [[1d20 +@{HalfLevel} +@{Str} +?{Modifier to Hit|0}]] for a potential [[1d10 + @{Str} + ?{Modifier to Damage|0}]] damage. /em attempts an Acrobatics check: [[1d20 + @{Acrobatics} + ?{TempMods|0}]] /em attacks with Clever Strike. She hits AC [[1d20 +@{HalfLevel} +@{Dex} + ?{Modifier to Hit|0}]] for [[1d6 + @{Dex} + ?{Modifier to Damage|0} + ?{Sneak?|[NH]2d6} ]] potential damage. The
benefit to this approach is mainly for longer-term campaigns. Instead
of editing your macros, you edit your attributes. This is where the second benefit of using Abilities
rather than Macros comes into play. Because this macro is attached to a
specific character, the code parser only looks at this specific
character journal for the attributes you are referencing. To use
attributes in a non-attribute macro, you have to specify the character
you wish to pull from: @{Adara|HP} --- My tutorial series continues on, but this will get you started in the right direction! Welcome to Roll20!