Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[Script] groupCheck - Roll checks, saves, et cetera for many tokens at once

1467915301

Edited 1523687359
Jakob
Sheet Author
API Scripter
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. 
1467916591
The Aaron
Pro
API Scripter
Neat!  Nice addition!
1467918146
Jakob
Sheet Author
API Scripter
The Aaron said: Neat!  Nice addition! To be honest, I was very surprised to see something like this did not exist (publicly) yet. So I just made my own version. I should probably have put [Script] in front of the thread title. Too late now.
1467918742
The Aaron
Roll20 Production Team
API Scripter
Not too late for a Moderator. =D I worked on something like this in the past (based on my GroupInitiative script) but never finished it.  Nice to see that some one has!  =D
I like!!! Did notice that revision " 58ec618 " contains a typo in the attrList. You have 'IntelligenceS Save'. I would love to see this expanded: skill checks as well and saves parameter option --GM to force the output of that command to whisper to the GM, the reverse for --Public would be nice also Improved error output when no parameters are included. ie: include a list of valid parameters, or default to --help parameter option for Advantage and Disadvantage. (though running it twice isn't hard) Even better if it used the roll option from the sheet! Thanks for putting this out here for us to use.
Yeah, a script like this was much desired I believe. Its a good liittle script!
1467932769

Edited 1467958780
Jakob
Sheet Author
API Scripter
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. Skill checks are a bit tricky, since skills are a repeating section. I guess one can just write down the repeating_skills_$0_... commands, and then it just doesn't work if you change your list of skills from the default (other than adding at the bottom). I'll think about advantage and disadvantage when I get to it, that's a good idea. 0.3 Added --roll2, --adv, --disadv options. When no options are supplied, API roll buttons will be output to run all available commands.
1467962430

Edited 1467970767
Jakob
Sheet Author
API Scripter
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.
Nice script!  Just recently I was bemoaning that there was no easy way to do this.  Now there is!
1468260354

Edited 1468261700
I am a bit confused, how can we set this to default to whisper to DM? I like bringing up the chat menu then just clicking on the check. However, when I use the chat menu, it seems to always make the results (and the menu!) public.
1468262146
Jakob
Sheet Author
API Scripter
Robert said: I am a bit confused, how can we set this to default to whisper to DM? I like bringing up the chat menu then just clicking on the check. However, when I use the chat menu, it seems to always make the results (and the menu!) public. I'm going to tweak the menus and such a bit to make them behave more nicely. But it's a bit harder to make the chat menu to respect command line options. To answer your question: set whisperToGM = true (line 46 of the script).
1468262897

Edited 1468265469
Oh I see it now. Is there a way to add custom checks (Custom Skill + X Modifier + Proficiency or Expertise)? That would be helpful for Thieves Tools, etc. Edit:  Also, to make that menu whispered to GM, I just put "/w GM" in front on "<div style>" on line 55 to those that want that.
1468274485

Edited 1468275410
Jakob
Sheet Author
API Scripter
0.4.3 Made help and default macros whispered and noarchive. Until I get around to refactoring the default output to deal with command line options, the API buttons created will ignore the original options given. Regarding custom checks: ... you need to roll multiple thieves' tools checks at once? It would probably be simpler to this via the sheet, or the sheet ability checks macro. I'm afraid I don't really see the use case here. PCs probably shouldn't use this anyway (I mean, they could, but there's no benefit). In-depth explanation: since skills are repeating sections, the only way to reliably access the skills for any random old character sheet is via their position in the list (hence $0,$1, ... $17 for the standard skills). You could of course put something for $18 to attrList, but there's no control over if and what is there for a particular creature, and it will anyway differ from creature to creature. The way the script is set up, every type of roll adds a single attribute as a modifier (and you can add custom ones by editing attrList). Setting up a custom check that adds multiple attributes is currently not supported.
1468299447

Edited 1468299570
So they cant see what they rolled. Very useful for Thieves Tools. The script is useful for more than just Group Checks. Its a fine way to do truly blind checks.
1468308393

Edited 1468312412
Jakob
Sheet Author
API Scripter
I hadn't thought of that use case, but I'm glad you can use it for even more things than intended. Okay, what you can do is the following. Replace line 41( 40 in version 0.5) by 'Survival': 'repeating_skill_$17_formula', 'Thieves\' tools': 'thieves_tools' Then, for every PC (that has thieves' tools proficiency), add a new attribute thieves_tools with value @{repeating_skill_ID_formula}, where ID is the row ID of their thieves' tools proficiency, e.g. ID=-KHEfLALvlpCWNjzRKDe (find out via inspect if you know how to do it, if not, just ask - alternatively, just use the row number, e.g. ID=$18). If you're OCD, you can just put @{dexterity_check_mod_formula} in that field instead for PCs without proficiency. Now it will work.
1468314134
Jakob
Sheet Author
API Scripter
Another thing that came to my mind: there are some people who prefer queries to chat buttons. If you count yourself among them, create a macro like this to fulfill your needs. !group-check --your favourite options --?{Type|Strength Save|Dexterity Save|Constitution Save|Intelligence Save|Wisdom Save|Charisma Save|...|Survival} (fill in the dots, I was lazy. Or just take the subset of checks you need the most, like only the saves and Perception).
1468508779
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
You could probably get the script to dynamically search for skills (which should just be attributes or abilities) by doing something like: filterObjs(function(obj){ return (obj.get('type')==='ability' && obj.get('name').indexOf(check)>-1 && obj.get('characterid')===selected.id); }); That is obviously untested, but something along those lines should allow you to have it dynamically search for whatever skill/check/ability the user wanted to have the script roll. Would certainly make the script more universally usable as opposed to being 5e specific.
1468567699
Jakob
Sheet Author
API Scripter
Hmm, that's interesting, but I think it's a bit out of scope for this script (but there should probably be another script that does that!). Part of the appeal (for me) is presenting all the rolls in a compact way, and searching for & calling abilities will make the output more fragmented and the syntax for calling the script more complex, since you will have to specify the exact ability name. The script as written is 5e specific; but it's not hard to adapt it to anything d20 by editing attrList. It's a bit harder, but not very hard, to adapt it to almost anything by editing the actual roll formula. I could probably try and include a 'search for attribute (not ability) by name' function. But then you'd still have to know how to roll that attribute [By default, I don't see how we can do better than die + modifier here, which is basically what we already have].
Hey great script, I'm getting a problem with this though. When I try to group check my player characters I get this error  But it works for my npc's and monsters. It doesn't really matter to me that much because obviously I can just have players do their own checks, I'm just not sure why it's happening.
1468608641
Jakob
Sheet Author
API Scripter
Ethan M. said: Hey great script, I'm getting a problem with this though. When I try to group check my player characters I get this error&nbsp; But it works for my npc's and monsters. It doesn't really matter to me that much because obviously I can just have players do their own checks, I'm just not sure why it's happening. I'm puzzled. There's no difference between player characters and NPCs that should produce an error like this (and it works fine for PCs in my campaign). For that matter, I can't see a place where I would try to access properties of something undefined. I thought I was always careful enough to never do anything to undefined objects. I guess it could happen if a token represents a character that no longer exists. I'm sorry, I can't reproduce it at all. If you want to help debug it, you could run <a href="https://gist.github.com/joesinghaus/d15dcd7aec36d9" rel="nofollow">https://gist.github.com/joesinghaus/d15dcd7aec36d9</a>... instead (which has debug statements added in the only two places where I even use .get). That would narrow it down somewhat.
I ran it and got this: It gave me those 4 errors then worked anyway afterwords.
1468613620
Jakob
Sheet Author
API Scripter
Okay, now I know what I'm looking for, it seems as if some types of graphics don't return a valid id. I know it happens for stuff you draw with the pen tool. Maybe other things. What this has to do with your character tokens, I don't know. (Maybe they are grouped together with drawings?). I'll add a check that prevents this from happening.
1468618485

Edited 1468618508
Jakob
Sheet Author
API Scripter
v 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). The first part basically allows user-defined checks that are not present as a single modifier on the sheet. Every modifier is now an array; attributes in it will be added together in the final check. That's not really useful anywhere on the shaped sheet, I think, but might become useful in other contexts. Example: a proficient dexterity check would be a line 'Proficient Dex': ['dexterity_mod','pb'], in attrList. (Abbreviated) Pathfinder bonus: attrList = { 'Fortitude': ['Fort'], 'Reflex': ['Ref'], 'Will': ['Will'], 'Strength Check': ['STR-mod','checks-cond'], 'Perception': ['Perception'] },
Just wanna say, this script is amazing and has greatly improved my AoE dealing speeds. Thank you! This was pretty much the last thing on my bucket list to run 5E D&D smoothly :)
1468763262

Edited 1468763522
Jakob
Sheet Author
API Scripter
Saevar L. "Liquid-Sonic" said: Just wanna say, this script is amazing and has greatly improved my AoE dealing speeds. Thank you! This was pretty much the last thing on my bucket list to run 5E D&D smoothly :) Happy to hear this! 0.5.3 Added option (both config and command line) to hide the bonus to rolls and only show the final result. The use case here is that you want to make e.g. saving throws public for your players to see, but do not want to expose the bonus the creature gets.
1468773577
Pat
Pro
API Scripter
I'm getting "SyntaxError: Illegal return statement" from 0.5.3 when I install it without changing anything. &nbsp;(cut and past from the raw gist)
1468774661
Jakob
Sheet Author
API Scripter
Pat said: I'm getting "SyntaxError: Illegal return statement" from 0.5.3 when I install it without changing anything. &nbsp;(cut and past from the raw gist) Are you sure copying & pasting worked correctly? When I c&p from github, it works.
1468775941
Pat
Pro
API Scripter
Looks like it wasn't working nice with older version of powercards. &nbsp;upgraded that one and all is well now. thanks for the quick response
1468778564
Pat
Pro
API Scripter
Sometimes I just drop tokens (with no associated char sheet) on the map when I am improvising. &nbsp;Is there a way to config an entry in attrList to just prompt me for a bonus that is used for all the selected tokens? e.g.&nbsp;'Prompt' : ['?{Mod|0}'],
1468785742
Jakob
Sheet Author
API Scripter
Pat said: Sometimes I just drop tokens (with no associated char sheet) on the map when I am improvising. &nbsp;Is there a way to config an entry in attrList to just prompt me for a bonus that is used for all the selected tokens? e.g.&nbsp;'Prompt' : ['?{Mod|0}'], Not currently. I'll think about a way to roll a bonus supplied at execution.
1468876840

Edited 1468927667
Jakob
Sheet Author
API Scripter
0.6 Added --fallback &lt;value&gt; option to add a manual bonus for tokens not representing a sheet. Added --custom option (see documentation for syntax) to roll checks not in attrList. Added --die option to change die on-the-fly Added --global 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. Bunch of new features here. Even if you're not interested in new features, if you're using 5E, you should probably fix the bug introduced in 0.5.2 that made all dexterity saves into strength saves. Oops! I also cleaned up the documentation and put it into a separate file. Most interesting here are the --fallback option if you use tokens not linked to any particular sheet, and the --custom option if you want to roll checks not in attrList [note, though, that --custom doesn't allow you to do things you couldn't have before by adding a line to attrList]. EDIT: 0.6.1 Token image used in fallback if no token name is present
You did indeed fix the bug I was getting, thank you!
1468980674
Pat
Pro
API Scripter
Nice work Jakob - works like a charm!
Hey is there any way to check passive perception with this? I tried to figure out how to do it but could now
1469036505
Jakob
Sheet Author
API Scripter
Ethan M. said: Hey is there any way to check passive perception with this? I tried to figure out how to do it but could now !group-check --die 0d0 --custom Passive Perception,repeating_skill_$11_passive will do the trick. Alternatively, add the corresponding line to attrList: 'Survival': ['repeating_skill_$17_formula'], 'Passive Perception' : ['repeating_skill_$11_passive'] instead of line 51. Then you can call it with !group-check --die 0d0 --Passive Perception
worked like a charm, thanks!
1473371870
Jakob
Sheet Author
API Scripter
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 &nbsp;become --public &nbsp;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, &nbsp;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.
I keep getting the message below when using '!group-check-config --import 5E-OGL'. It's probably me missing something obvious, any advice? {"who":"error","type":"error","content":"Unable to find a player or character with name: \"\""}
1476868523

Edited 1476868646
Jakob
Sheet Author
API Scripter
Tom said: I keep getting the message below when using '!group-check-config --import 5E-OGL'. It's probably me missing something obvious, any advice? {"who":"error","type":"error","content":"Unable to find a player or character with name: \"\""} That's an error in my script for parsing your player name and sending you feedback... the import should have worked. Can you tell me what your in-game name in this campaign is (to clarify: the string you can change in the settings tab in-game)? I can probably figure out the error then.
Jakob said: Tom said: I keep getting the message below when using '!group-check-config --import 5E-OGL'. It's probably me missing something obvious, any advice? {"who":"error","type":"error","content":"Unable to find a player or character with name: \"\""} That's an error in my script for parsing your player name and sending you feedback... the import should have worked. Can you tell me what your in-game name in this campaign is (to clarify: the string you can change in the settings tab in-game)? I can probably figure out the error then. Ah, just you saying that has fixed it. I had my in game name set to nothing, after putting some characters in there it's now working properly. Thanks!
1476887169

Edited 1476887182
Jakob
Sheet Author
API Scripter
Tom said: Jakob said: Tom said: I keep getting the message below when using '!group-check-config --import 5E-OGL'. It's probably me missing something obvious, any advice? {"who":"error","type":"error","content":"Unable to find a player or character with name: \"\""} That's an error in my script for parsing your player name and sending you feedback... the import should have worked. Can you tell me what your in-game name in this campaign is (to clarify: the string you can change in the settings tab in-game)? I can probably figure out the error then. Ah, just you saying that has fixed it. I had my in game name set to nothing, after putting some characters in there it's now working properly. Thanks! Ah, very curious. It tries to whisper to the player with an empty name... which doesn't seem to work. I might want to default this to whispering to the GM if the name is empty in some future version. I forgot the changelog for one change I made: 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 &nbsp; n &nbsp;option, which will run every check n &nbsp;times instead of 1 time, with a minimum of 1 for n .
1476956197
Jakob
Sheet Author
API Scripter
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.
This is fantastic! Thank you so much for making my DMing faster and easier.
1477332388

Edited 1477385895
Jakob
Sheet Author
API Scripter
Benevolent Tyrant said: This is fantastic! Thank you so much for making my DMing faster and easier. Thank you! 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. Also: 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. Also, the script is finally in a good enough state that I am considering adding it to the one-click library.
1477476573
Jakob
Sheet Author
API Scripter
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).
First of all, wow! This script is great!&nbsp;I'm only sad I didn't know about this earlier! Next, a question: I've looked through the documentation and haven't seen what I was hoping for, is there a option to pass so that it will calculate the average of the rolls? Example: for a group stealth check, have everyone roll stealth, then add up all the results and divide by the number of rollers to get the average stealth.
1479242975

Edited 1479243089
Also, here's a simple macro that people can use to query for what type of attribute save they want to do and if it should be whispered or not: Note: Uses D&D attributes. /w gm&nbsp; !group-check --?{Whisper or Everyone|whisper|everyone,public} --?{Which Save Stat|Strength,Strength Save|Dexterity,Dexterity Save|Constitution,Constitution Save|Intelligence,Intelligence Save|Wisdom,Wisdom Save|Charisma,Charisma Save}
1479283750

Edited 1479291500
Jakob
Sheet Author
API Scripter
eastwood said: First of all, wow! This script is great!&nbsp;I'm only sad I didn't know about this earlier! Next, a question: I've looked through the documentation and haven't seen what I was hoping for, is there a option to pass so that it will calculate the average of the rolls? Example: for a group stealth check, have everyone roll stealth, then add up all the results and divide by the number of rollers to get the average stealth. Not currently. Currently, the script doesn't know anything about the numbers it rolls, it just sends the rolls to chat and that's it. So it also can't do any kind of operations with them, sorry. On the other hand, I'm currently working on changing the script's behaviour in such a way that it can process the results to some extent, so there might be some hope. Work in progress, though. EDIT: I think I have a pretty good idea of how to get the actual results of rolls for some further processing, which I did in hopes of being able to work with the apply-change script. I found a bug in the roll20 API along the way, but it seems to be looking good otherwise. Once this is finished, adding an --average option is more or less trivial.
1479733871
Jakob
Sheet Author
API Scripter
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 &nbsp;(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 &lt;text&gt; option for adding some text below the name of the check (e.g. "versus DC 18").
Jakob said: 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 &nbsp;(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 &lt;text&gt; option for adding some text below the name of the check (e.g. "versus DC 18"). Awesome! I'll check this out and let you know how awesome and how bug-filled it is! : )
1479779714

Edited 1479779809
Ok, with the new update, I get this error: TypeError: Cannot read property 'total' of undefined TypeError: Cannot read property 'total' of undefined at Object.makeInlineroll (apiscript.js:15579:18) at optsData.meta.average (apiscript.js:16048:17) at executeBound (/home/node/d20-api-server/node_modules/underscore/underscore.js:701:67) at bound (/home/node/d20-api-server/node_modules/underscore/underscore.js:733:14) at checkFinishedOps (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:148:36), &lt;anonymous&gt;:758:7) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:148:36), &lt;anonymous&gt;:838:8) at null._onTimeout (/home/node/d20-api-server/node_modules/underscore/underscore.js:768:19) at Timer.listOnTimeout (timers.js:92:15) While using this command: &nbsp;!group-check --process --showaverage&nbsp;--Stealth Using version: // GroupCheck version 1.0 // Last Updated: 2016-11-21