MapTool macros – simple monster attacks

Over the past few days, I have become intensely interested in the MapTool macro language.  I started with the desire to have one-click access to my monsters’ attack powers.  I decided to write a macro for each monster that would create an attack roll (d20 plus whatever the monster’s attack modifier is) and a damage roll.  I’d add in text describing additional effects on a hit and even some buttons for non-attack macros just to remind myself what the powers could do (such as an Ooze’s ability to shift its speed).  For all of these attacks, I don’t want them showing up on the players’ chat boxes (hiding them behind the DM screen, so to speak), so I have all of the results go only to the GM.  Here is an example – an Adult Kruthik’s Claw attack:

[gm: “Attack roll: “]
[gm: 1d20+8] [gm: ” versus AC<br>”]
[gm: “Damage roll: “]
[gm: 1d10+3]

The fact that everything is within brackets that begin with “gm:” is the way that the output is hidden from the players.  Because the text is within these brackets, it must be enclosed in quotation marks (outside of brackets, you don’t need to put your text in quotes – it will just show up to everyone in the chat window).  Note that this also applies to the line break indicator from HTML <br> – outside of brackets you can just write it as <br>, but inside brackets it has to be put within quotation marks as “<br>”.  The dice programming is pretty straightforward.  1d20+8 is just what you think it would be.  The output from this macro will look something like this:

Kruthik Adult: Attack roll: 24 versus AC
Damage roll: 6

Here’s a slightly more involved example – the Kruthik Adult’s Toxic Spikes attack.

[gm: “Recharge 5/6; Result: “] [gm: d6 ] [gm: “<br>”]
[gm: “Two attacks against 2 different creatures<br>”]
[gm: “Ranged 5<br>”]
[gm: “Attack 1: “]
[gm: 1d20+7] [gm: ” versus AC; “]
[gm: 1d8+4]
[gm: ” damage and ongoing 5 poison damage and slowed (save ends both)<br>”]
[gm: “Attack 2: “]
[gm: 1d20+7] [gm: ” versus AC; “]
[gm: 1d8+4]
[gm: ” damage and ongoing 5 poison damage and slowed (save ends both)”]

The first line reminds me that this is a power that recharges on a roll of 5 or 6 on a d6 and then rolls a d6 to tell me whether the power recharges or not this turn.  If it doesn’t and I’ve already used it in this encounter, then I’ll just ignore the rest of the output.  The next two lines just remind me about what the power does (two attacks against two different creatures, within a range of five squares).  Then the macro generates two separate attack rolls, with the damage for each put on the same line.  There’s also some extra text explaining the ongoing damage and slowing effect.  The output is as follows:

Recharge 5/6; Result: 5
Two attacks against 2 different creatures
Ranged 5
Attack 1: 23 versus AC; 10 damage and ongoing 5 poison damage and slowed (save ends both)
Attack 2: 14 versus AC; 12 damage and ongoing 5 poison damage and slowed (save ends both)

Another example: the Blue Slime’s Stench Pulse burst attack:

[gm: “Once per encounter only.<br>”]
[gm: “Attack roll: “]
[gm: 1d20+6 ] [gm: ” versus Will<br>”]
[gm: “Hit: Targets are dazed and weakened (save ends both)”]

This just rolls the attack a single time, even though there could be several targets in the burst.  By D&D rules, each target should have a separate attack roll.  So, I would need to click the button once per target.  That’s okay, but it’s not very efficient, and the “Hit” line will be reprinted for each target instead of just one time.

Now, I hadn’t noticed this problem when I first put this macro together – it only became clear after I had put together some player character attack power macros.  Maybe my players will want to roll their own dice and telling the table what their results are, but I couldn’t resist – I wanted to program their powers in MapTool macros.  That’s for my next post.

Leave a Reply