MapTool macros: Tracking encounter/daily powers

Update 10/7/2010: I’ve written another post that expands and improves on this one.

Update 3/29/2011: I’ve updated the daily properties from D1-D10 to Daily1-Daily15.

Over the past few weeks as I’ve continued running my online campaign through the War of the Burning Sky saga, I’ve made some tweaks to my MapTool framework.  Part of this has been driven by one of my players, who has also been using MapTool in her own game and has had some good ideas for improving the player character tokens.

Specifically, she suggested adding buttons for every character ability, even if it didn’t involve rolling dice, just so the players would remember that those abilities existed.  She also added some notes to her character sheet to remind her of things like her damage resistance and so on.  Good thinking!  I plan to do this for the rest of the PC tokens.

I’ve starting making some other changes as well.  I’ve added a Saving Throw button for each character.  Yes, it’s generally just a d20 roll and we do have buttons for that, but one character has an artifact that gives him a +2 bonus to saving throws, so I figured we might as well have a button that includes any modifiers to saves.

I’ve added a set of buttons for ability checks (Strength check, Dexterity check, etc.).  These don’t come up as often as skill checks, but they do come up enough to make it worthwhile to add macros for them.

I’ve also decided that it’s time to code up the tracking of encounter and daily powers.  I’d love it if I had an easy way for a character to tell at a glance which powers hadn’t been used yet, but failing that I can at least add logic to let the player know, “Sorry, you’ve already used that power.”  Here’s how I’ve done it:

  • I’ve added properties E1 through E15 for each character (I can add more later if PCs have more than 15 encounter powers).  These have default values of 1.
  • I’ve also added Daily1 through Daily15 for dailies (default of 1) and S1 through S3 (default value of 2) for special twice-per-encounter powers (Healing Word, etc.).
  • Note that you can’t use D1, D2, etc. because MapTool will recognize those as dice rolls (like d6 and d20).
  • In each encounter/daily/special power macro I’ve added a bit of code that looks something like this:

[h, if(E1==0), CODE:
{[assert(1==0,add(“This power has already been expended.”),0)]
};{[h: E1=0]}

That code checks to see if the property for that power has been expended (equal to zero) and if so uses the ASSERT function with a false condition (1==0) to display a message and exit the macro.  If it hasn’t been expended, it sets the property to 0 (or reduces it by 1 in the case of twice-per-encounter powers).  Note that each encounter power uses a different property (E1, E2, etc.).

Finally, I’ve created a Short Rest macro that resets all of the E and S properties back to their default values.  I plan to eventually add a function to the Short Rest macro that lets the player specify how many surges they want to spend and restores that many hit points, but one thing at a time.  I’ll need to add an Extended Rest macro at some point as well, refreshing dailies, healing surges, etc.

What macros am I missing here?  Are there things that I should be adding for my PCs?  I’m feeling pretty good about the direction my campaign is going, and I’m having a great time with it so far!

5 thoughts on “MapTool macros: Tracking encounter/daily powers

    • Mike – Thanks for the comment. I’m aware of Rumble’s framework. I’ve checked it out. It’s awesome, and it does everything that I’ve described and so much more. I highly recommend it to anyone who wants a pre-made framework.

      However, I love programming. I find it fun to write macros and to discover how things work. When I write about macros on my blog, it’s to share my joy of programming as well as to help anyone else who wants to do some programming of their own.

      There’s a certain line where MapTool ceases to feel (to me) like a role-playing game tool and starts to feel like a video game. A complete framework crosses that line for my taste; something I build myself does not.

      But yes, Rumble’s framework is awesome and far more developed than anything I’ll ever do on my own.

      • I understand the “video game” versus tabletop feel believe me. It’s why I’ve also been writing my own version for AD&D.

        Trying to keep things down to simple and visually pleasing… and has to make the DM job easier. Have to see how it goes, I’ve got most of the core bits done and just working on the character input/sheet and some better visuals for monster sheet from DM side.

    • Yep, that one looks very cool, too! I’m still not interested for myself, of course (again, I LIKE writing my own macros for the fun of it), but I’m glad you brought it to my attention so that I can point other readers to it.

Leave a Reply