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

CombatMaster 2.0

1664930680
there is a setting for player can change in the conditions settings. 
How does anyone get any useful information out of this forum layout? This has always confused me about roll20, instead of any documentation info is hidden somewhere in the middle of 200 posts.
1665706125
Victor B.
Pro
Sheet Author
API Scripter
Every menu in CM has an info icon in upper right corner of it.  Click to get help
1666041675

Edited 1666041930
Whoops! UPDATE: I figured out what I was doing wrong. I have hand tremors so my keyboard is set up to reduce finger-stutter entries. It was only entering a single "-" before "main", so instead of "--main" I was entering "-main". I thought I'd leave this here in case any other amateurs like me have a similar issue.  I added the API script to my new game but when I type  !cmaster --main  in the chat, nothing happens. It doesn't even appear to register in the chat at all as the entry doesn't even appear in the chat archive afterwards. Have I overlooked something or am I just missing a step? I've been using API scripts for the past couple years and haven't had one do this. I restarted the game and still nothing. Restarted the sandbox, too. The only other API scripts I have in the game are Fumbler and GroupCheck which both appear to be working well.
Hi! So, I'm pretty sure I've got Concentration set up great. I get messages after damage, the works. However, I was wondering: After I roll a save and fail, is it possible to have Concentration automatically removed? Thanks!
I have recently encountered a problem with this mod and I cannot seem to find out how to correct it. I am using the AD&D 2nd edition sheet by Peter. The Script runs fine for rolling initiative and cycles through the turn order fine until the round ends and comes back around. At the top of the round the script gives the following error:   upon restarting the sandbox it continues fine until, again, the round rolls over. Any help is greatly appreciated. 
1667602775
Victor B.
Pro
Sheet Author
API Scripter
I'm not sure that's a CM issue.  Initiative style isn't used by CM, even when configuring CM to roll initiative.  That strikes me as a char sheet issue
1667602834
Victor B.
Pro
Sheet Author
API Scripter
@seraph, I made a decision to not automate concentration past what you have.  Too many variables that can affect the concentration save.  
1667918637
Quick Question does this not only help with turn order but tracks conditions as well? or do I need another script for it to work?
1668002455
Kaiyatsu said: Quick Question does this not only help with turn order but tracks conditions as well? or do I need another script for it to work? It will track conditions--you have to set them up, but the functionality is there.
1668008296
timmaugh
Pro
API Scripter
snuh said: I'm looking back at this reply that says I can use SelectManager to post Chat Menus that will let my players apply Combat Master markers to enemies. The example shows: !cmaster --add,condition=concentration,duration=?{Duration|1},direction=?{Direction|0} {&select @{target|token_id}} That works great for the GM! However, it doesn't work for the players. Nothing happens when they execute the command, the GM just sees a notification from Combat Master saying "No tokens were selected". Advice appreciated! (EDIT: I'm using 2.48) (EDIT2: It works for players when I give them control of the token, but that's not the behavior I'm hoping for.) Hey, Snuh... I can probably give SelectManager a configurable setting to let players virtually select tokens they can't actually select through the VTT, so you wouldn't have to give control of the token to the players. Shouldn't be too hard. I'll see if I can knock that out tonight.
1669707229

Edited 1669707611
Quickly and repeatedly getting this crash previously reported, on a solid computer, with the animated token option disabled, most recent version and no other api's running- RangeError: Maximum call stack size exceeded RangeError: Maximum call stack size exceeded at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1323:7) at processMultiOps (eval at <anonymous> (/home/node/d20-api-server/api.js:172:1), <anonymous>:804:7) at Object.d20.textchat.doChatInput (eval at <anonymous> (/home/node/d20-api-server/api.js:172:1), <anonymous>:1128:4) at sendChat (/home/node/d20-api-server/api.js:1897:16) at makeAndSendMenu (apiscript.js:2439:9) at nextRound (apiscript.js:2186:13) at doTurnorderChange (apiscript.js:2021:17) at nextTurn (apiscript.js:2160:9) at nextRound (apiscript.js:2196:13) at doTurnorderChange (apiscript.js:2021:17) update, also got this one- TypeError: Cannot read property 'match' of null TypeError: Cannot read property 'match' of null at getCleanImgsrc (apiscript.js:1348:28) at getOrCreateMarker (apiscript.js:1825:121) at doTurnorderChange (apiscript.js:2008:27) at handleTurnorderChange (apiscript.js:2080:13) at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:65:16) at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:70:8) at TrackedObj.set (/home/node/d20-api-server/api.js:1078:14) at updateLocalCache (/home/node/d20-api-server/api.js:1421:18) at /home/node/d20-api-server/api.js:1713:7 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560
1669726808
timmaugh
Pro
API Scripter
timmaugh said: snuh said: I'm looking back at this reply that says I can use SelectManager to post Chat Menus that will let my players apply Combat Master markers to enemies. The example shows: !cmaster --add,condition=concentration,duration=?{Duration|1},direction=?{Direction|0} {&select @{target|token_id}} That works great for the GM! However, it doesn't work for the players. Nothing happens when they execute the command, the GM just sees a notification from Combat Master saying "No tokens were selected". Hey, Snuh... I can probably give SelectManager a configurable setting to let players virtually select tokens they can't actually select through the VTT, so you wouldn't have to give control of the token to the players. Shouldn't be too hard. I'll see if I can knock that out tonight. Just an update that the new version of SelectManager (that has the ability to let players use ids) has just been merged into the 1-click. Here is the post that describes changing the setting to do what Snuh wants to do.
1669920181
snuh
Pro
timmaugh said: Just an update that the new version of SelectManager (that has the ability to let players use ids) has just been merged into the 1-click. Here is the post that describes changing the setting to do what Snuh wants to do. Oh, wow! Awesome, thanks! I'm implementing now and it seems to be working great. I got this to run just fine as a player: !cmaster --add,condition=unconscious,duration=600,direction=-1 {&select @{target|token_id}} I am hitting a wall when I try to marry it with APILogic, however. This will cause the API sandbox to crash: !@{target|wtype}&{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{& define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{& if SaveRoll < DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!cmaster --add,condition=unconscious,duration=600,direction=-1 {&select @{target|token_id}}{& elseif SaveRoll < DCVal}{{Outcome=Failed}}%NEWLINE%!cmaster --add,condition=poisoned,duration=600,direction=-1 {&select @{target|token_id}}{& else}{{Outcome=Success}}{& end}{&simple} For reference, the error message generated was:  TypeError: Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined at inputHandler (apiscript.js:5294:49) at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:65:16) at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:70:8) at /home/node/d20-api-server/api.js:1750: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:461 If I do (basically) the same thing using token-mod it works fine, though: !@{target|wtype}&{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{& define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{& if SaveRoll < DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+sleepy{& elseif SaveRoll < DCVal}{{Outcome=Failed}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+chemical-bolt{& else}{{Outcome=Success}}{& end}{&simple} A friend and I have spent a day trying to troubleshoot but are at a loss. I suspect it's a nesting/order of operations thing but am unable to properly diagnose. Any help would be great!
1669931602

Edited 1669997676
We're trying to integrate !cmaster with some conditional logic but it was crashing the sandbox: !{& if 1 = 1}test%NEWLINE%!cmaster --add,condition=unconscious{&select @{target|token_id}}{& end}{& simple} !cmaster also crashes similarly if called within ScriptCards !scriptcard  {{   --#title|Testing   --@cmaster| _add condition=poisoned,duration=600 }} Error is " TypeError: Cannot read property 'get' of undefined" update: as a workaround "forselected" seems to avoid this problem (the following both work OK) !scriptcard {{ --#title|Testing --@forselected+|cmaster _add,condition=poisoned,duration=600 }} OR !{& if 1 = 1}test%NEWLINE%!forselected+ cmaster --add,condition=poisoned,duration=600{&end}{&simple}