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
This post has been closed. You can still view previous posts, but you can't post any new replies.

CombatMaster Alpha

@Joey I have several, I can share them when I'm not on mobile.
1585937071
Victor B.
Pro
Sheet Author
API Scripter
No it does not matter
1585937128
Victor B.
Pro
Sheet Author
API Scripter
Folks I'm going to hold off on the future items until this version is published and bugs have been rooted out.  Kim found a very obscure one I'm waiting for exact steps to recreate
Sounds good, Victor. Can't wait to show all the new shiny stuff to my players tomorrow. :)
1585938334

Edited 1585938344
Victor B.
Pro
Sheet Author
API Scripter
Version 2.04 found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> .&nbsp; I'lll publish to the Roll20 Repo on Sunday, it should be available for subscription by Tuesday Fixed - introduced a bug when adding token condition logic cause script to fail - Beginning of Round APIs now launching at beginning of round.&nbsp;&nbsp; - Unlinked Tokens in turnorder causing failure when announcing players - A missing turnorder causing abends under certain ciircumstances during handle graphic movement New Functionality - Token Condition integration. You'll temporarily need source here prior to commit to Roll20 Repo on Tuesday&nbsp; <a href="https://gist.github.com/shdwjk/388626529aa7b5577c66d95f91de59eb" rel="nofollow">https://gist.github.com/shdwjk/388626529aa7b5577c66d95f91de59eb</a> - Token Mod integration.&nbsp; You'll temporarily need source here prior to commit to Roll20 Repo on Tuesday&nbsp; <a href="https://gist.github.com/shdwjk/cedbf709b6fa6305afcb07c6757ea4be" rel="nofollow">https://gist.github.com/shdwjk/cedbf709b6fa6305afcb07c6757ea4be</a> - FURTHERMORE, for Token Mod, you'll need to add a new substitution called PlayerID (and whatever string you want).&nbsp; It will be replaced with GM Player ID and you'll need to add this syntax to all Token Mod calls from CM --api-as &lt;player id substitution string&gt; Not Fixed: - beginning of combat/end of combat API calls (new functionality) - hold combat (new functionality) - other scripts (concentration, etc) - replace Roll Query Token Condition Name entry with a drop down containing all Token Conditions in game - update help
1585938376
Victor B.
Pro
Sheet Author
API Scripter
Thanks to Kim.&nbsp; New player and does things a little diff than others so it exposed quite a few long term issues that were being masked
I updated that Bug Report Post . Let me know if there's anything you've already addressed or you don't want to address.
1585940976

Edited 1585941116
Victor B.
Pro
Sheet Author
API Scripter
Adding a custom marker to a token doesn’t add the related condition, and removing a condition doesn’t remove custom markers &nbsp;— Inkcharm - Fixed API crash when changing the name of a condition that has a description with markdown formatting &nbsp;— Persephone - Let me know if this still exists.&nbsp; I don't use markdown and descriptions without markdowns work fine Error on Stop Combat &nbsp;— Dustin C.- can't recreate Error when manually clearing turn order &nbsp;— Dustin C.- possibly fixed with 2.04.&nbsp; there were issues with turnorder and handle graphic movement Error when moving tokens when combat is stopped but TurnTracker window still open &nbsp;— Onigensou &nbsp;- fixed with 2.04 API crash when Turn Tracker has one character and that character delays then ends turn &nbsp;— Mark (GM) &nbsp;- much later item.&nbsp; Move to the futures list When a marker is added directly to the token via radial menu or a script (like TokenMod), it sets the condition as permanent, even if the condition has a different default duration &nbsp;— Persephone - I checked code, it's using the defaults from the condition when you manually assign the icon.&nbsp; Please verify this problem still exists Feature Requests Toggle manual cleanup of conditions end of combat &nbsp;— Mik Holmes (further explained&nbsp; HERE ) - Not going to happen.&nbsp; Manually assign the conditions at beginning of combat Re-implement turn graphic rotation option &nbsp;— Alexander Mann - Way down on list Disable description link in announcement for conditions not on the list, and add confirmation message when adding a condition not on the list to a token &nbsp;— Persephone - way down on list Toggle for less-intrusive menu for player added conditions &nbsp;— Ravenknight - way down on list Add option to start combat without rolling initiative &nbsp;— Pat - This is already in place.&nbsp; Set the turnorder manually or otherwise then start combat Allow auto trigger of adding/removing one condition when another is added/removed &nbsp;(i.e. a condition that includes/overrides/becomes another condition) — The Devilish DM - Not going to happen Single command to start combat if combat is inactive or stop combat if combat is active &nbsp;— Jay R. - Not going to happen Chat announce on pause/resume &nbsp;— Persephone - way down on list Change cog buttons in Macro &amp; API Setup to X buttons to better reflect function &nbsp;— Persephone - done Add toggle setting to choose whether closing the Turn Tracker clears the turnorder &nbsp;— Mark (GM) - Not going to happen, will be managed through Hold Combat Functionality Chat announce when conditions are removed manually, and when conditions not in list are added to a token — Persephon Hold Combat Functionality Beginning/End of Combat APIs Other scripts (Concentration, etc) Create Token Condition Drop Down for Condition Menu Update Help
1585941066
Victor B.
Pro
Sheet Author
API Scripter
@everyone, I'm going to limit now the amount of changes I make going forward.&nbsp; This script won't be all things for all people or I'll never get it done.&nbsp;&nbsp;
Totally understandable, thank you for looking into all of those again!
1585945318
Victor B.
Pro
Sheet Author
API Scripter
I'm going to stop new functionality in CM for the next week.&nbsp; There's been two large pieces of functionality added, Token Condition/Token Mod.&nbsp; I'm going to give people time to use this and fix any issues in current build.&nbsp; Starting week after, I'll add&nbsp; 1) Hold Combat 2)&nbsp; Beginning/End of Combat APIs 3)&nbsp; Other scripts (Concentration, etc) After those are in, I'll start working on everyone else's change requests.&nbsp; Easier ones get preference over harder ones.&nbsp;&nbsp;
1585946060
Victor B.
Pro
Sheet Author
API Scripter
@persephone, you have a couple of bugs where I'm wondering if they are still problems.&nbsp; Let me know please.&nbsp;&nbsp;
Victor B. said: Folks I'm going to hold off on the future items until this version is published and bugs have been rooted out.&nbsp; Kim found a very obscure one I'm waiting for exact steps to recreate We are playing Saturday, Sunday, Tuesday, so I will only get to it after that, but I will take my time then. Just so you know, it will come :)
Victor B. said: API crash when changing the name of a condition that has a description with markdown formatting &nbsp;— Persephone - Let me know if this still exists.&nbsp; I don't use markdown and descriptions without markdowns work fine This seems to be working fine now. Victor B. said: When a marker is added directly to the token via radial menu or a script (like TokenMod), it sets the condition as permanent, even if the condition has a different default duration &nbsp;— Persephone - I checked code, it's using the defaults from the condition when you manually assign the icon.&nbsp; Please verify this problem still exists Assigning a marker via radial menu is now applying the condition's defaults, but is adding the marker twice (so two of the same marker on one token). Assigning a marker via TokenMod currently is not applying the condition at all, just the marker. Victor B. said: Disable description link in announcement for conditions not on the list, and add confirmation message when adding a condition not on the list to a token &nbsp;— Persephone - way down on list In the meantime, is there a way to prevent the crash that's caused when an ad-hoc condition name is clicked in the turn announce? This is the error:
1585949993

Edited 1585950086
Persephone said: !cmaster --remove,condition=raging,id=-M3yiWYOxAGACpT-Oupm keithcurtis said: Out of curiosity, is that a character id or a token id? Sorry, thought I responded earlier but must've goofed up. I believe it was a token id. It was the command used by the script's own remove button in the turn announce, though, not one I wrote myself, so I'm not certain.
1585950259
Victor B.
Pro
Sheet Author
API Scripter
Persephone, please consolidate your issues into a bullet list.&nbsp; What's not working.&nbsp; All other current bugs will be removed from list unless I hear otherwise.&nbsp;&nbsp;
1585950317
Victor B.
Pro
Sheet Author
API Scripter
And yes, clicking on an ad hoc will create that issue.&nbsp; I'll fix.&nbsp; Create the list and I'll address
1585950444
Victor B.
Pro
Sheet Author
API Scripter
And please provide the sample Token Mod command you are issuing along with that issue related to Token Mod
1585950508
Victor B.
Pro
Sheet Author
API Scripter
This is removing a condition from a specific token (or selected tokens).&nbsp; The ID is the token id !cmaster --remove,condition=raging,id=-M3yiWYOxAGACpT-Oupm
1585951160

Edited 1586134688
Assigning a marker via radial menu is now applying the condition's defaults, but is adding the marker twice (so two of the same marker on one token). Everything here is working as expected, besides the extra marker. GIF: Assigning a marker via TokenMod currently is not applying the condition at all, just the marker. Example command (entered directly into chat; 'enrage' marker is linked to the Rage-Cooldown condition). TokenMod is doing everything it should, but CombatMaster is not registering the marker being assigned. !token-mod --set statusmarkers|enrage GIF: Here's what happens when I set up Raging to run this command when it's removed. Same as above, the enrage marker is applied, but the Rage-Cooldown condition is not. It's the same marker used to apply that condition in the first GIF, so I know they're linked properly. !token-mod --api-as playidentifier --ids tokidentifier --set statusmarkers|enrage GIF: Clicking name of an ad-hoc condition in turn announce crashes API Clicking remove button for an ad-hoc condition in turn announce crashes API Clicking remove button in turn announce for all other conditions crashes API Console log still shows command as !cm instead of !cmaster (might confuse new users)
1585952216
Victor B.
Pro
Sheet Author
API Scripter
Alright, persephone, I can fix #1 for you right now and will look into the others.&nbsp;&nbsp; !token-mod --set statusmarkers|broken-shield You need to add --ids and a substitution string from Token Id plus you need to add --api-as and a Player ID substitution string
1585952344
Victor B.
Pro
Sheet Author
API Scripter
All API calls are at the token level, one by one.&nbsp; Add the --ids parameter to all Token Mod calls
Oh my bad, I thought that was only necessary if the command was assigned to a conditions Add or Remove. Thanks!
1585953695

Edited 1585953974
I tried changing the command to this, but same effect: !token-mod --ids tokidentifier --api-as playidentifier --set statusmarkers|broken-shield To clarify, I was trying to do a normal TokenMod directly in chat, not one that's being run through CombatMaster, just to test it's functionality. But I also tried assigning this to a condition's removal, because that's what I will eventually do for several conditions, and it still only applies the marker, not the actual condition tied to that marker.
1585955383

Edited 1585955611
Victor B.
Pro
Sheet Author
API Scripter
tokidentifier Did you mean tokenidentifier?&nbsp;&nbsp; &nbsp;You set Token ID to tokidentifier You set Player ID to playidentifier.&nbsp; You have latest Token Mod from the link I provided?&nbsp;&nbsp; Should work.&nbsp; You have an issue in your command
1585955983

Edited 1585956098
Yes to all, my substitution strings are: charidentifier, charnamesake, tokidentifier, and playidentifier. Like I said, it's technically working because it's adding the marker to the token. But CombatMaster is not assigning the condition when the marker is added.
Victor B. said: @everyone, I'm going to limit now the amount of changes I make going forward.&nbsp; This script won't be all things for all people or I'll never get it done.&nbsp;&nbsp; Completely understandable.&nbsp;
Joey V. said: Does anyone have Macros for Combat Manager&nbsp; Which functions are you wanting as macros?
@Victor I updated my earlier post with GIFs and better examples of what's going wrong.
Not having any luck getting this macro to work when applying the blinded condition. !token-mod --flip light_hassight
@Anthony you need to set up a substitution string for player ID and token ID in the Macros &amp; API config, then re-do that command like this: !token-mod --api-as &lt;insert player ID substitution&gt; --ids &lt;insert token ID substitution&gt; --flip light_hassight If you're assigning it to the condition's API parameter (rather than setting it up as a macro), you need to wrap it in brackets like this when you enter it in the query: {{!token-mod {{--api-as &lt;insert player ID substitution&gt;}} {{--ids &lt;insert token ID substitution&gt;}} {{--flip light_hassight}}}}
Persephone said: @Anthony you need to set up a substitution string for player ID and token ID in the Macros &amp; API config, then re-do that command like this: !token-mod --api-as &lt;insert player ID substitution&gt; --ids &lt;insert token ID substitution&gt; --flip light_hassight If you're assigning it to the condition's API parameter (rather than setting it up as a macro), you need to wrap it in brackets like this when you enter it in the query: {{!token-mod {{--api-as &lt;insert player ID substitution&gt;}} {{--ids &lt;insert token ID substitution&gt;}} {{--flip light_hassight}}}} Is there an easy way to set a substiuition string I have no idea how to go about that.
1586109103
Victor B.
Pro
Sheet Author
API Scripter
APIs &amp; Macro.&nbsp; Choose an option and put whatever string you want into the action.&nbsp; Then put that same string into your macro/api command
Go to the setup menu and click Macro &amp; API Then click Add Substitution, create a custom string for each of the 4 options. They should be something that won't be used in other places so the script doesn't substitute the wrong thing. Here's the ones I use:
1586114323

Edited 1586134837
Also @Victor it occurred to me that whole TokenMod issue I'm experiencing might not be a bug, but possibly a limitation of either CombatMaster or of the API. Maybe the API can't be used to apply a marker via TokenMod and simultaneously check if the marker is applied via CombatMaster. Either way, it's lower priority than the crashes, and I understand if you'd rather not bother with it.
How do i shut off the combat?
Closing the Turn Tracker should end combat
Nope it just opens back up like two rounds later lol
I guess I'm unsure what you're asking then. By "shut off combat" what exactly are you trying to shut off? Can you provide screenshots?
Getting this error only when Combat Master is enabled (spent a long time today testing out my various scripts and this is the one that seems to be doing it). Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your scripts and click the "Save Script" button and we'll attempt to start running them again. For reference, the error message generated was:&nbsp; TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined at apiscript.js:20843:58 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1648:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:400
Joey V. said: Nope it just opens back up like two rounds later lol There should be two was to end your combat. Clicking the x on the tracker should clear it. Or the stop button in !cmaster --main
If you are using hit dice helper I believe the error is coming from that.&nbsp; I was getting the same and after a little searching and turning it off it helped on mine.&nbsp; Jay R. said: Getting this error only when Combat Master is enabled (spent a long time today testing out my various scripts and this is the one that seems to be doing it). Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your scripts and click the "Save Script" button and we'll attempt to start running them again. For reference, the error message generated was:&nbsp; TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined at apiscript.js:20843:58 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1648:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:400
Jay R. said: Getting this error only when Combat Master is enabled (spent a long time today testing out my various scripts and this is the one that seems to be doing it). Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your scripts and click the "Save Script" button and we'll attempt to start running them again. For reference, the error message generated was:&nbsp; TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined at apiscript.js:20843:58 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1648:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:400 Are you running the One click installs or an updated one from victors github? Based on the error you might need the utility api script splitargs installed.
1586174960
Victor B.
Pro
Sheet Author
API Scripter
That's split error doesn't look be to coming out of CM.&nbsp;&nbsp;
1586179319
Victor B.
Pro
Sheet Author
API Scripter
Version 2.05 found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> .&nbsp; I didn't get a chance to publish to Roll20 yet.&nbsp;&nbsp; Fixed - delete conditions from the announce player box Not Fixed: - beginning of combat/end of combat API calls (new functionality) - hold combat (new functionality) - other scripts (concentration, etc) - replace Roll Query Token Condition Name entry with a drop down containing all Token Conditions in game - update help
Kilter said: If you are using hit dice helper I believe the error is coming from that.&nbsp; I was getting the same and after a little searching and turning it off it helped on mine.&nbsp; Jay R. said: Getting this error only when Combat Master is enabled (spent a long time today testing out my various scripts and this is the one that seems to be doing it). Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your scripts and click the "Save Script" button and we'll attempt to start running them again. For reference, the error message generated was:&nbsp; TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined at apiscript.js:20843:58 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:154:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1648:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:400 Thank you! I am using Hit Dice Helper, but I thought I'd ruled it out as I was disabling scripts yesterday and trying to isolate the problem.
Mark (GM) said: Are you running the One click installs or an updated one from victors github? Based on the error you might need the utility api script splitargs installed. I'm running the one-click install. I might update from Victor's github. (I already have the splitarg utility installed)
No more crashes when removing conditions from the turn announce box, ad-hoc or otherwise =D I am still getting these bugs, however: Persephone said: Assigning a marker via radial menu is now applying the condition's defaults, but is adding the marker twice (so two of the same marker on one token). Everything here is working as expected, besides the extra marker. GIF: Clicking name of an ad-hoc condition in turn announce crashes API Console log still shows command as !cm instead of !cmaster (might confuse new users) I'm unsure if these ones ought to be considered bugs or just limitations, so idk if you want to bother with them: Persephone said: Assigning a marker via TokenMod currently is not applying the condition at all, just the marker. Example command (entered directly into chat; 'enrage' marker is linked to the Rage-Cooldown condition). TokenMod is doing everything it should, but CombatMaster is not registering the marker being assigned. !token-mod --set statusmarkers|enrage GIF: Here's what happens when I set up Raging to run this command when it's removed. Same as above, the enrage marker is applied, but the Rage-Cooldown condition is not. It's the same marker used to apply that condition in the first GIF, so I know they're linked properly. !token-mod --api-as playidentifier --ids tokidentifier --set statusmarkers|enrage GIF:
1586203825

Edited 1586203842
Victor B.
Pro
Sheet Author
API Scripter
@persephone, the first 2 are fixed.&nbsp; The other two require adding an observer to token mod so when you assign a marker via token mod, CM steps in a checks if that marker is assigned to a condition and assigns the condition.&nbsp; Be aware that doing it this way requires all conditions have unique markers
1586203914
Victor B.
Pro
Sheet Author
API Scripter
Jay R, if you've disabled ALL scripts and the problem persists, please let me know.&nbsp; That's a strange output error message from what I'm used to seeing, but I'll go take a look