Oosh said: Yeah, the extra complexity of 3.5 definitely makes this a much harder fit than 5e. That said, I'll see if I can add a couple of things in to make your life easier - for starters, there are a couple of ways to reduce buttons spam. The one I'm leaning towards is an option to auto-hide any buttons where the math works out to 0 (99% of cases this means none of the properties were found - the script supplies them all as '0' to prevent the math functions crashing). This would reduce the number of buttons you see on a normal roll, and it would remove the button prompt entirely for a skill roll, since none of those damage properties would have a value. If it works the way I'm thinking it will, you won't have to hide or show buttons any more, either! I'll give this approach a quick test and see how it goes. Sean R. said: Oosh, I have one more issue that maybe you can help me resolve. When I hit a button, then select a character, I am getting the expected results, but then I get a gm message that doesn't seem to apply. I changed my HPs to Bar 3 which works when I hit a button and select a token, but I think this message is locked into Bar 1 somehow. Here is a picture. Is there a way to fix this gm messaging? You are 100% correct - mind must have been wandering as I did hard code bar1 in to the report template. I've patched the script to 0.6.2 if you want a quick fix for the reporting. Thanks for finding (and solving) the mistake! Oosh, 0.6.2 fixed the bar reporting. Thank you. I'm going to look though and test the next option. Sean EDIT: Oosh said: Ok, I've got an experimental version here if you're interested, 0.6.5. It adds queries which will run after the main math function which adds all the damage together. It's only accessible through --createbutton and --editbutton
currently. Since it runs after the main math function, you can do a
final operation on it from a pop-up query, with the 4 main operators + -
/ * The syntax is {{query=<operator>|<query
content>}}, so if you want to reduce the final result (say, for
damage reduction) and the Roll20 query would be ?{Please enter DR|0} then the input for the button would be {{query=-|Please enter DR|0}} .
Note that you don't need the surrounding braces or the question mark
for the query content, as these need to be escaped. Currently there's no
rounding possible, so multiply and divide won't work so well. So an example, to add a manual Damage Reduction popup to one of your buttons from above: !autobut --createButton {{name=Atk1Dam2}} {{math=-(damage.dmg2 + damage.rolldmg2)}} {{content=1-2}} {{style=font-family: sans-serif; color: black}} {{tooltip=Atk 1 - Dam 2 (%)}} {{query=-|Damage reduction?|0}} Or, probably more useful for you since the button exists, just add it in with edit : !autobut --editButton {{name=Atk1Dam2}} {{query=-|Damage reduction?|0}} The other addition is the --autohide flag. This is also accessible straight through the !autobut --settings menu. It should default to true, and it should hide any buttons which didn't find a result in the roll. Hopefully this means you'll no longer get spammed for a skill roll (since PF doesn't have a separate template for that), and also since you've split into so many buttons, you should only be getting the buttons which found a value in the roll. It's still experimental so it isn't pushed to the main file - it's only available from the folder linked above until I get time to test it more, add some rounding options to the Query thing (useful for 5e's percentage based resistance) and whatever other bugs come up. Oosh, Excellent! I've installed the 0.6.5 offshoot. TLDR - It is awesome! To start, I'm not sure about the query use yet. The idea of the button is streamlining the quickness of applying the damage and speeding up gameplay. The query is handy, but not all of the time, and too bulky when it is not in use. I think the buttons that add back a static DR amount would work as my compromise. That said, having the feature there is definitely nice if the game gets to higher levels, where virtually everything has some built-in DR. ----------- The BIG helper is the -autohide reporting! This is amazing. Now I can put in all of the buttons and only the ones necessary show. That is HUGE for 3.5 games and offshoots. There are a few interesting things happening here. 1) All normal rolls (not identified as a crit in the attack), still roll crit damage and are reporting that, even though you would not see that in the returned attack/damage template. My assumption is that the game calls for these values regardless, and they just don't get shown when not necessary, yet the listener is picking them up. This is not a big deal, but I thought I'd show it to you. ( each of the arrows is pointing to the crit value that is associated with roll even if it is not be actively used) 2) The big trick with this is making sure you order all of the buttons
correctly and test the order with one of the PC or NPC Button Test characters that makes and crits
every roll, then go back to a normal game play mode and use it. I'm up to 45 used buttons in the set. ( PC Button Test - Note: Additional attacks 1-3 are roll sets 8-10) ( NPC Button Test - Note: only uses roll sets 1-9) So this is all fantastic! Here is a normal attack from a player's Monk Character with Flurry of Blows. ( So awesome! It only calls the buttons that have a value associated with them (but with the crits unused still reporting, again, not the end of the world.) ---------------------- So Oosh, this is awesome. Thank you again. 3) It makes me wonder, and I really don't know if this is possible.... but wouldn't it make sense to be able to just click on the returned damage in the original template, and just apply that to a token? Roll20 would be so much easier for all uses if this was a built in feature..... ---------- I'm going to finish writing and adding all of the possible buttons for a pathfinder game into my list. Maybe this helps you write up a sheet option for someone else. Please let me know if I can be useful in any other way! I really appreciate you taking time out to explain and expand your code! Awesome! I definitely owe you! Sean