I hope this wasn't already asked before: Is there a way to not show the whole conditions when it's your turn? I use the 2.32 version
I hope this wasn't already asked before: Is there a way to not show the whole conditions when it's your turn? I use the 2.32 version
EDIT: I saw in another comment that the Player Ribbon has to be on the page in order for these to work. Think I got it figured out now.
I am having some trouble with this. The turn marker (circle around the token) is not showing. I can apply conditions, but they do not count down and turn off after the appropriate amount of turns. I have reset the API sandbox, no luck.
Do I need some additional scripts in order for these features to work?
Using the latest version. I get an error as soon as I call the help command.
TypeError: Cannot read property 'id' of undefined
TypeError: Cannot read property 'id' of undefined
at showHelp (apiscript.js:24511:82)
at commandHandler (apiscript.js:20881:7)
at apiscript.js:20608:25
at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1323:7)
at inputHandler (apiscript.js:20603:23)
at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:65:16)
at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:70:8)
at /home/node/d20-api-server/api.js:1663: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)
I don't think there is a help command anymore. I'm not sure where people keep seeing that, but that documentation needs to be updated. The command for the main menu is !cmaster --main and for the help handouts you click the info button in the upper right corner of a chat menu.
Is there a way to have CM run a script when a condition is applied? I.E. I want to run
!token-mod --off has_bright_light_vision
When the blinded condition is applied to a token and
!token-mod --off has_bright_light_vision
when it is finished.
Or is there a way to query the status of a token?
Also, is there an example of calling an API from the TurnOrder Setup? I have tried but I get errors when I try.
@Darryn you'll need to set up ID substitutions in the Macro & API settings menu first (click the info button for the help handout for that menu).
Then in the condition's setup menu you'll see 2 buttons labeled Add APIs and Remove APIs. Use the substitutions you define to build the commands, like in this example.
I recommend flipping the limit field of vision setting instead of turning off vision, that way the players can still see their own tokens.
Persephone said:
@Darryn you'll need to set up ID substitutions in the Macro & API settings menu first (click the info button for the help handout for that menu).
Then in the condition's setup menu you'll see 2 buttons labeled Add APIs and Remove APIs. Use the substitutions you define to build the commands, like in this example.
I recommend flipping the limit field of vision setting instead of turning off vision, that way the players can still see their own tokens.
Thank you! That was the parts I was missing
Based on this report I found two places in CombatMaster that do not properly check this situation and have submitted a fix and requested a pull request for version 2.41.
I read the post. I'll get it fixed. Anything special about your setup that I need to be aware of. That clear token status has been working for me.
Hi victor !
I have combatmaster installed (v 2;40).
Great API by the way !!
I have set up a few conditions and it works fine!
In my game I have some spells (actually powers would be more appropriate) that can set conditions based on a success margin for duration
However it seems that cm overides the duration value that I pass on TokenMod with the one stored in condition duration.
How could I tell combatmaster to let TokenMod overide it ? (I tried setting overide to false but didn't work !)
Folks, I'm going to be swamped for the next year plus. Multiple projects. Though I'll be making big money, I will not have time to support this going forward. If anyone would like to support this and take it forward, PM me.
Victor B. said:
Folks, I'm going to be swamped for the next year plus. Multiple projects. Though I'll be making big money, I will not have time to support this going forward. If anyone would like to support this and take it forward, PM me.
Happy for you that you've got projects that will pay you well, Victor, though of course sad that you won't be able to keep supporting CombatMaster. I really hope someone can take it over! It's one of my essential Roll20 scripts.
Thank you for the work you have done on the script and good luck on your new opportunities, sounds exciting!
Thank you everyone. I haven't had anyone willing to step up and support it. It's pretty solid right now with some minor issues. I'd love someone to step up.
Having trouble with the newest version of CombatMaster.
I have the Roll20 module for Lost Mines of Phandelver installed, and the only other API script I have is a DnDBeyond character import sheet. I'm only using the tokens that come with the module, including the pre-built characters, and I'm using a clean install of CombatMaster with no settings changed.
When I highlight any two character or monster tokens and start combat through the CombatMaster main menu, I get the following error:
If I drop two new blank tokens from my art library and start combat with them, combat starts successfully, but when I try to end combat I get the following error:
I feel like I must be missing something very obvious since these are basic functions of the API. From what I can tell the start combat error comes from the sortTurnOrder function at line 2057 but I am not a programmer. Any help is appreciated. Thanks!
@Nick, first thing to check is that the Player Ribbon is on the page you're trying to start combat on. If not, move it to the page you're on and try again, see if that fixes anything.
Second thing to try is disabling the other scripts you have installed and test again, in case those are causing some conflict.
Can you provide screenshots of the tokens that you're testing with, their settings, and that page's settings?
@Victor, I don't think I have quite enough experience with JavaScript yet to maintain/update the script, but I'll still try to help people troubleshoot when I can! Might take a crack at a few adjustments if I get more free time soon, and if they go smoothly I'd gladly share them here.
@Persephone
I did not have the player ribbon on the right map, so that's one problem solved! However I still get the exact same error when trying to start combat even with the player ribbon on the correct page.
I've checked the following: the player token is assigned to their character, they are the only controller of their token, the player is logged in to roll20, the player is in the current map, they have the correct initiative_bonus stat, clean install of CombatMaster with default settings copied from the raw page on git. I'm still using the built in tokens and characters.
I suppose the next thing to try is make a brand new project and go from there.
Everything works perfectly fine in a brand new game with some new tokens, all I had to do was assign a character to them and add the initiative_bonus attribute to their character and no issues.
That said, I am still having the exact same bugs as above when I try to use CombatMaster with any of the tokens from the Lost Mines of Phandelver module from roll20.
I tried copying my Phandelver game this time without using character sheets. No other scripts are active, I created two brand new tokens, two brand new characters, and gave them the initiative_bonus stat (basically trying to follow the exact same steps that made it work in a brand new game) and it does NOT work in the Phandelver campaign.
Still not sure what the issue is, any help is greatly appreciated!
EDIT: Further investigation, I am unable to roll initiative on any characters using the character sheet, through right clicking on a token and selecting Add Turn, or through using the macro commands listed in the Macro wiki page for rolling initiative "/roll 1d20 + 5 &{tracker}", no roll shows up in the log and no turns are added to the tracker. Basically I can't roll initiative using the Turn Tracker using any methods.
Is there some setting that prevents this? It all works fine in a new empty project but not in the Phandelver module.
If I create a brand new Phandelver module game rolling initiative and CombatMaster work fine. What setting in my existing game would possibly prevent initiative from being rolled?
I am having an issue with the Turn order setup. I have a macro on the character sheet called CT_TURN.
It is setup to regenerate health at the start of the monster's turn
!token-mod --set bar1_value|+[[{10,@{selected|bar1|max}-@{selected|bar1}}dh1]]
I am getting this error when the macro is run
I've also tried this, but with the same effect. I thought I had this working at one time, but for some reason I can't figure this out now :(
@Nick that sounds like it may be an issue with how the characters/tokens in that module are set up. I don't own that module and haven't had this issue with any that I do. Feel free to PM me an invite link to a game you make with that module and I could take a closer look at what might be causing the issue.
@Darryn you're missing the needed syntax and ID substitutions for commands used by CM. There's at least one example on page 10 of this thread. Use that as a reference to change the macro, then let me know if you're still having trouble with it.
Yeah I tried that also (you recommended that in another post to me :) )
So I tried this
{{!token-mod {{--ids tokenidsubstitution}} {{--set bar1_value|+[#[{10,@{selected|bar1|max}-@{selected|bar1}}dh1]#]}} }}
Which then displays this:
I also tried this (no #'s)
{{!token-mod {{--ids tokenidsubstitution}} {{--set bar1_value|+[[{10,@{selected|bar1|max}-@{selected|bar1}}dh1]]}} }}
And that creates an error
Lastly I tried this (removed the {{...}} around the !token-mod call)
!token-mod {{--ids tokenidsubstitution}} {{--set bar1_value|+[#[{10,@{selected|bar1|max}-@{selected|bar1}}dh1]#]}}
That gives me this error:
Which I think is because CM is "selecting" the next turn token it uses. Notice how there are no numbers in the bars (the "circle" is selcted not the monster token).
I'm sure there is something simple I am missing (esp on the 1st one since it seems to know what to call, it just doesn't "call" it).
Persephone said:
@Nick that sounds like it may be an issue with how the characters/tokens in that module are set up. I don't own that module and haven't had this issue with any that I do. Feel free to PM me an invite link to a game you make with that module and I could take a closer look at what might be causing the issue.
@Darryn you're missing the needed syntax and ID substitutions for commands used by CM. There's at least one example on page 10 of this thread. Use that as a reference to change the macro, then let me know if you're still having trouble with it.
Run that command separate from CM until it works. Debug the syntax then put in brackets for CM. Issue it as a text command. Once it's working then you only need some brackets. There's a problem in your syntax
Victor B. said:
Run that command separate from CM until it works. Debug the syntax then put in brackets for CM
Yep, have tried that. The macro works great if I run it normally (in fact until this is figured out I am doing the below to remind myself it needs to regenerate)
/w gm &{template:desc} {{desc=**CT_TURN** [Regeneration](! #zRegenerate)}}
Macro command are totally different than API commands. Different syntax. You can't launch a macro from CM. You launch an API command. Change it to work for an API and then include it into CM
I understand that from the name perspective, but it is a nice naming convention so that I can tell what the macro is for. I know it can be called anything, but... :) And according this this setup you can. And it does work for other macros w/o issue.
Victor B. said:
CT TURN BTW is ancient Combat Tracker. Gone, no longer supported.
And the reason for the macro is it is specific to the creature. Not every character/npc/monster will have a per turn macro to run
Victor B. said:
Macro command are totally different than API commands. Different syntax. You can't launch a macro from CM. You launch an API command. Change it to work for an API and then include it into CM
Its been too long...You can launch a macro. I forgot I supported that. But you have a syntax issue somewhere
It works and has been working for many. Not sure where your issue is and don't have time to debug it for you. But there's an issue somewhere along the line.
No worries. Thanks for the suggestions. I will keep playing around with it
Victor B. said:
It works and has been working for many. Not sure where your issue is and don't have time to debug it for you. But there's an issue somewhere along the line.
Something within your CT_TURN macro (and it can be called anything) is bombing out. Don't know why. Looking at the macro there's something in it causing CM to fail. A special character, not sure, but again, I don't have time to support it or figure it out. Try converting to an API call?
/w gm &{template:desc} {{desc=**CT_TURN** [Regeneration](! #zRegenerate)}}
Oh I'm a dunce for missing this earlier. It's the @{selected} calls in the macro that aren't working. Those can't be passed through the API that way. You might be able to make use of timmaugh's Select Manager script to get around that, tho! I think I've seen some people successfully use it in combination with CM in this exact way!
Ok gotcha. I guess I will keep going with just displaying a menu of options in the macro then. Thank you very much for the help. Really appreciate it.
Persephone said:
I'm pretty certain Select Manager will do the trick. I think all it takes is starting the command with !forselected token-mod instead of !token-mod.
Yep, I use Select Manager and it works great. Example:
--@forselected+|cmaster _add,condition=minor scar
Oh, the syntax changed a lot since I last used it! Oops.
EDIT: Ah, wait, that's just the syntax required for Scriptcards, right? So the syntax I suggested ought to work for this scenario, @Darryn :)
Persephone said:
Oh, the syntax changed a lot since I last used it! Oops.
EDIT: Ah, wait, that's just the syntax required for Scriptcards, right? So the syntax I suggested ought to work for this scenario, @Darryn :)
*smacks head* This is what I get for posting too quickly before I've had coffee. :) You're right, I was using Scriptcards syntax. My bad!
Is there a workflow or best practices for Combat Master? I ran my first game last weekend, but had a lot of trouble using CM. I'm pretty sure it's just me, but I was just wondering if anyone had tips they have found that make CM smoother. Thanks in advance
@Darryn what kind of trouble? If you're playing 5e I think CM is defaulted to simple condition tracking for that system right out of the box. I do recommend making a few macro shortcuts for the main CM commands like the main menu, show conditions, settings, and hold combat.
Well, the specific issue I was having was the conditions were not showing up as I moved to the next attacker. Mind you it was my first time running a game on roll20, and I probably bit off more than I should LOL. I do think I am going to make a macro to help with conditions (and make the players track/apply their own). I was just really wondering if there were any tips people have found using the script. I'm prepping my 2nd one shot (all designed to help me get ready to run a full campaign) so I will be trying the API again.
Persephone said:
@Darryn what kind of trouble? If you're playing 5e I think CM is defaulted to simple condition tracking for that system right out of the box. I do recommend making a few macro shortcuts for the main CM commands like the main menu, show conditions, settings, and hold combat.
I cant manage to get any kind of command for set up to work. as well as generating an error i can copy if needed
For reference, the error message generated was: RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1330:9)
at processMultiOps (eval at <anonymous> (/home/node/d20-api-server/api.js:158:1), <anonymous>:804:7)
at Object.d20.textchat.doChatInput (eval at <anonymous> (/home/node/d20-api-server/api.js:158:1), <anonymous>:1128:4)
at sendChat (/home/node/d20-api-server/api.js:1867:16)
at makeAndSendMenu (apiscript.js:15022:9)
at nextRound (apiscript.js:14769:13)
at doTurnorderChange (apiscript.js:14609:17)
at nextTurn (apiscript.js:14743:9)
at nextRound (apiscript.js:14779:13)
at doTurnorderChange (apiscript.js:14609:17)