Ever had a fireball explode on top of your crowd of bad guys and you were annoyed you had to roll 10 saving throws at once? And even if you forced yourself to click 30+ times to do that, there'd be no way to tell which of 6 identical tokens (linked to the same character, but with different names, e.g. numbers) rolled what? Be annoyed no more! I present something I wrote to save my own nerves, but I'm hoping more people could find this useful. The script is easily configurable for any kind of roll formula. There is an easy way to import a predetermined set of checks for certain character sheets. So far, this has been set up for the 5E-OGL, 5E-Shaped, Pathfinder, and D&D 3.5 sheets. (All others need to be manually configured so far). 1. Select all the tokens you want to roll the check. 2. Run, for example, !group-check --Strength Save in chat. 3. The script will ignore all selected tokens that do not represent a character (unless --fallback is provided), and roll for selected tokens that do represent a character. Get the script at Code . Detailed documentation can be found under Documentation . Link to ApplyDamage script and explanations for automatically applying area of effect damage: ApplyDamage . If you find any bugs (there's probably a lot of them), please let me know. Changelog: 0.2.0 Initial release. 0.2.1 Added options for ability checks to standard attrList. Made --help more useful. It now prints all available options. Added --GM and --Public options. 0.3 Added --roll2, --adv, --disadv options. When no options are supplied, API roll buttons will be output to run all available commands. 0.3.1 Added skills to attrList. This will only work correctly if your first 18 skills on the sheet are the default 5E skills, in alphabetical order. 0.4.1 Added support for 5E Shaped roll setting via useRollSetting config and --rollsetting. 0.4.2 Small bugfix concerning advantage/disadvantage. 0.4.3 Made help and default macros whispered and noarchive. 0.5 The menu (shown when none of the options match the list of checks) now respects the options given initially. Example: "!group-check --adv --Public" will show a list of API buttons for all checks, all of which roll with advantage and publicly. 0.5.2 Added multiple mods for one check & corresponding new data format. Made code more readable by splitting off output line to separate function. Added check to ignore tokens without id, closing Ethan's bug (hopefully). 0.5.3 Added option (both config and command line) to hide the bonus to rolls and only show the final result. 0.6 Added --fallback <value> option to add a manual bonus for unlinked tokens. Added --custom option (see documentation) to roll checks not in attrList Added --die option to change die on-the-fly Added --globalmod option to add a global mod to all rolls Fixed bug in attrList that caused all dexterity saves to be strength saves. Removed {noarchive:true} from all output because it's broken. 0.6.1
Token image used in fallback if no token name is present 0.7 Big change, script almost completely rewritten. I got a bit carried away, but I think it's worth it. Main script usage is largely the same. A few options are changed: --Public and --GM become --public and --whisper for consistent lowercase everywhere. The plethora of roll options is changed to a simple --ro [option] , where [option ] is one of roll1, roll2, adv, dis, or rollsetting. Configuration is completely overhauled. It's no longer necessary to edit the source code to configure the script, it can be done using !group-check-config . Check the documentation for details. I've added options to import checks for the 5E-Shaped, 5E-OGL, Pathfinder, and 3.5 sheets (though the latter two only have saves and couple of basic checks). I'm open to adding more sheets here, if someone is interested in compiling the info. v0.7.2 & 0.7.1 Added {noarchive:true} to menus now that it's no longer buggy, in order to remove chat archive spam. Small cosmetic improvements. Added --multi n option, which will run every check n times instead of 1 time, with a minimum of 1 for n . 0.8 The script uses a completely overhauled system for specifying checks, now allowing arbitrary roll expressions. It is no longer limited to die + modifier. Existing state should convert over to the new system. Option 'hidebonus' renamed to 'hideformula', and similarly for 'showbonus'. Option 'die' removed, as it is no longer necessary within the new system. 0.8.1 Fixed the regexp for parsing attributes so that '%' can be used in formulae. (More precisely, %attr% will only replace attr if it does not start with whitespace). Beautified the output. Separated output content from its looks and moved output styling to the front so that it can be customized easily. 0.9 Square brackets are now part of the formula and are not added automatically (except when --hideformula is used). Existing database is converted, but any !group-check-config --add or !group-check --custom command needs to be adjusted (see documentation). Some changes under the hood with no impact on functionality. 0.9.1 Fixed several bugs introduced in the last updates. You can now optionally display a small picture of the token next to the name. (On by default, turn it off in the options). 1.0 Added --process option (currently not the default). This is mostly under-the-hood and doesn't do much currently except for removing the yellow background on rolls and probably introducing a lot of subtle bugs for certain types of formulae. What it does, though, is give GroupCheck the ability to process the results of rolls and understand them, for example to forward them to a script like !apply-change. With --direct (the opposite to --process , and the default), the script works like before, with standard inlinerolls. As an example, there's: --showaverage , which only works in conjunction with --process , and will show an extra line containing the average of all rolls (rounded to 1 decimal place). Added --subheader <text> option for adding some text below the name of the check (e.g. "versus DC 18"). 1.1 New option: --button [buttonname] [buttoncommand] (only available if you use --process). 1.2 Fixed 5E-OGL default checks to also work for NPCs. Added --input option. It is now possible to use \[ and \] to create double square brackets for insertion into --custom and config --add. 1.2.1 Minor stylistic changes to --button option. Updated 5E-OGL data to work for proficient NPCs (thanks Silvyre!). 1.2.2 The script will now try to detect which version of the data you're running and update it automatically. Updated formulae for 5E-OGL to work again, and for 5E-Shaped to do the correct checks. The script's output will now use the full width of the chat area. All menu or error message output is changed to noarchive. 1.3 Updated 5E-Shaped data set. 1.4 Made some behind-the-scenes changes that make it easier to keep up with sheet changes from now on. Updated 5E-Shaped formula to use the sheet format for maximum compatibility; it will now work with 12.x+ (but should also still work with old versions). 1.4.1 Updated 5E-Shaped formula to work for version 14.x as well. 1.5 Added --send [command] option that works exactly like --button, except that it sends the text directly, requiring no button press.