
Hi. I have been looking at Roll20 as a replacement for MapTool for running a GURPS campaign. The last time I ran GURPS on VTT I used MapTool (b70) and used a lot of scripting to speed up combat. This is very important to me, since although my players like combats, they like interaction more, and nothing stops a game dead in its tracks like shuffling through tables or doing a lot of head-math for every action, or taking hours for a fight with 4 mooks. I'd like to know how Roll20's API stacks up to MT for automation of standard calculations and condition tracking, and how much can one get away with with simple macro language. The things I found most useful that I haven't seen in other posts are: Determining range/speed modifiers based on how far the target moved in the previous turn and its current distance from the shooter (also requires tracking movement on previous turn) Storing currently held equipment and tracking ready/unready/draw/grip so I can later pull weapon statistics from the character token and apply it to combat rolling Autoresolving special powers, like a fright check requiring a contest between attacker and target, and subsequent results check on a table using the margin of success as a modifier (I wrote this specifically for the character that had the power; not a generic powers roll) Calculating shield damage on a successful block and tracking the damage on the player's shield Creating a library of weapons with standard characteristics so later on I can just say, "token X has weapon Y in its inventory" and having all variables pulled easily, which saves a lot of time arming mook NPCs as well as player characters (also includes unarmed maneuvers) Adding maneuvers to weapons so if a character learns a new way to hit a thing, I can add the modifiers dynamically Supporting arrays (allows all of the other nifty stuff to work). Note that MapTool didn't really support arrays; I had an invisible token on the field that had tons of variables stored to it in JSON blocks and had the other tokens call/write variables to it as if it was an array. It was necessary, since storing huge blocks of data on every token tended to blow up the Java VM. Yeah, seems extreme when I write it out, but I like keeping the simulationist aspect of the system in play without slowing down the narrative, if that makes sense. For context, some of my old scripts were posted on the old campaign blog: sample1 sample2 sample3 . I doubt I'll be able to recover most of them, since at this point MapTool barely opens without spitting out a Java error, so I'll be starting from scratch. I'm fine with giving up some of the truly absurd levels of automation, since I know Roll20 is not a game engine. I just want to make sessions smoother. Thanks for any insight.