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

1609171328

Edited 1609171562
Kai
Sheet Author
Hey Victor, thanks for the fast replay. Actually I am using CM concentration (edit: Version 2.38). My settings are the following: I have some spells detected. If I cast the spell from the sheet (with the token selected) I get this message: I want the "Select Origin" auto-checked for the selected token. Only if I click the checkmark the spell is assigned correctly: Sorry if this is not clear enough, I am not a native speaker. I also do not know for what reason the "Select Origin" is necessary. If a spell is triggered from a sheet the caster should always be the origin or do I get something wrong?
Hey Kai. Try disabling the override on the Concentration condition and see if that helps. The Select Origin option is there for spells where the duration isn't set from the caster (I think?).
Select Origin is there because token IDs aren't persistent, so there's no way to get it without selecting the token. Plus if the script expected you to have the token selected when casting the spell, it might get annoying if you cast a spell and forget to have your token already selected, so it asks you to select after casting.
1609199306

Edited 1609217069
@Victor please help me understand the "TargetedAPI" value when setting up a spell.  Options are "Caster & Targets" and "Targets (Only)", but the help handout doesn't mention this value at all.  Looking through the code it appears that "Caster & Targets" isn't actually referenced anywhere except the drop-down box for setting the option value - so is that unimplemented?   I'm presuming that this setting will cause any Add/Remove APIs to be called with reference to any tokens selected as "targeted" when the spell is cast? Edit:  I definitely misread the code.  No excuse, just a plea for mercy.  :-)
Yeah, Caster & Targets means the Add/Remove calls will happen to both the origin token and those marked as targets. Targets Only means the calls will happen to the targets and not to the origin token.
1609202643

Edited 1609217086
Persephone said: Yeah, Caster & Targets means the Add/Remove calls will happen to both the origin token and those marked as targets. Targets Only means the calls will happen to the targets and not to the origin token. I remain curious about the possibly-dead code in the script , but this gets me unblocked!   Thank you Persephone!! Edit:  I definitely misread the code.  No excuse, just a plea for mercy.  :-)
1609212129
Victor B.
Pro
Sheet Author
API Scripter
Not dead code at call.  Caster & Targets is referenced. 
Jay R. said: EncounterHelper allows you to define groups of monsters as encounters ahead of time, and then show/hide them (move from object layer to GM layer or vice-versa) or add them to initiative with a click. It may not sound like much, but it's a big time-saver. Say you have an encounter where some of your monsters are hidden and others are visible, and they're spread out over a large portion of the map. And maybe even a "second wave" of monsters that you want to add to combat in, let's say, round two. Selecting them all to add to initiative is kind of a pain, and time-consuming at a point when you just want combat to start rolling. With EncounterHelper, you could create two "encounters" for that map: one for the round 1 monsters, and one for wave 2. Then, when you want to add them, you bring up EH's encounter list, select the encounter you want, and all monsters in that encountered are added to initiative (which activates Combat Master). Ah!  Perfect! I had them fight in the arena the other day against two gladiators - but the surprise was the assassin vines hiden in the ruins. However my players saw them in the initiative tracker even though I had them on the DM layer which I thought hid them.  So that will be very useful.  Thanks!  
I just tried running Encounter Helper by resetting arena fight I mentioned and following the instructions on the Encounter Helper page after starting combat using CM. Activated the page to be running Encountner Helper.  *Defines a token on GM layer "Encounter Token"  Selecting 1st encounter 2 gladiator tokens, !eh create = 1 encoutner created with two tokens. Selected the 2nd encounter  3 Assassin Vines, !eh create  = 1 encoutner created with 3 tokens. Okay so far.   Check the ribbon is in place I highlight all the tokens (gladiators PCs + vines) and it only selects the gladiators and the PCs.  So it appears to be selecting only the tokens in the first encoutner.  Good. I think. Run !cmaster --main and click to start combat  aaaand  Crash.   I checkthe APi sandbox and my scripts are automatically disabled due to the following error.  Can anyone please explain to me what is going wrong here and how can I fix it? Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your script's code and click the "Save Script" button. We will then attempt to start running the scripts again.  More info...  If this script was installed from the Script Library, you might find help in the Community API Forum. For reference, the error message generated was:  TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined at apiscript.js:10769:23 at Array.forEach (<anonymous>) at getEncounterMobsFullInfo (apiscript.js:10766:18) at getEncounterMobs (apiscript.js:10777:14) at apiscript.js:10501:18 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:1661: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) Thanks! 
1609245090

Edited 1609250090
Persephone  said: Select Origin is there because token IDs aren't persistent, so there's no way to get it without selecting the token. Plus if the script expected you to have the token selected when casting the spell, it might get annoying if you cast a spell and forget to have your token already selected, so it asks you to select after casting. Ok, so there is no way to bypass the Origin message's checkbox?  Am asking because in case the caster's token is selected (IMO that happens quite often during a combat situation) the token get two marker for  the spell cast. let me try to explain: caster's token gets concentration marker applied by casting the spell (see PIC #1 ) then origin message in chat askis to select origin adding a second marker for the spell itself (see PIC #2 ) in the following rounds, caster's tokens gets to entries in his conditions message (see PIC #3 ) is that intended way of display? It might confuse the player and to me result of the call as displayed by PIC #3 looks clumsy. PIC #1: PIC #2: PIC #3:
So this might be a bit of a newbie question here....but I just installed the latest version of your script (I've tried both with the 1-click and copy and paste).  My issue is once I start combat I'm not getting any turn announcements in chat, img markers, no centering on map token...however, It does announce the new rounds in the chat menu if I skip ahead enough turns.  I've gone through the setting multiple times and tried toggling these both on and off to no avail.  Wasn't sure if I need any other API's in conjunction with this one to have these features work properly or if the script should be fully functional on its own?   Again I do not have a ton of API experience under my belt yet...so I'm not sure if I missing something fairly obvious or not.
1609252423
Sr. K
Pro
Sheet Author
1609254999
Kai
Sheet Author
Horzworth said: So this might be a bit of a newbie question here....but I just installed the latest version of your script (I've tried both with the 1-click and copy and paste).  My issue is once I start combat I'm not getting any turn announcements in chat, img markers, no centering on map token...however, It does announce the new rounds in the chat menu if I skip ahead enough turns.  I've gone through the setting multiple times and tried toggling these both on and off to no avail.  Wasn't sure if I need any other API's in conjunction with this one to have these features work properly or if the script should be fully functional on its own?   Again I do not have a ton of API experience under my belt yet...so I'm not sure if I missing something fairly obvious or not. Make sure the player ribbon is on the same page your are testing on.
1609256505
Victor B.
Pro
Sheet Author
API Scripter
@(DM) RH, encounter helper isn't part of CM.  If you're trying to call encounter helper from CM, please post the API call you have inside CM.   That error is coming out of Encounter Helper as the following function isn't in CM.   getEncounterMobsFullInfo What I would do is focus on Encounter Helper first and make sure it's working independent of CM.  Download group-init.  Select the encounter tokens and type !group-init.  Verify that you can get a turnorder going outside of CM.  I use group-init to quickly add tokens after CM has started combat.  So a new group is quickly added to the combat.  Doing this will verify that the problem is within encounter helper or not.  Since all your doing is trying to bring up the CM main menu, it's doubtful the issue is within CM.  Another thing to try is to disable encounter helper and then bring up CM and I'm guessing it will work.  There's something going on within Encounter Helper causing that.  You might want to repost to that thread and see if someone can look into it.  
Thank you, I had created a copy of the game to test with and hadn't even realized the players ribbon had gone back to the starting page
1609256707

Edited 1609256753
Victor B.
Pro
Sheet Author
API Scripter
@Allessandro, yes, if the caster is the recipient of the spell, two icons are placed on the token.  One for the spell and one for the concentration.  The concentration icon represents the concentration "spell" and is used by CM to determine if the caster took a hit and needs to roll his con save (a message is sent to GM in chat that caster has to make a con save).  The actual spell being concentrated on usually has some benefit or detriment associated with it, so yes, the spell is also on the token as a visual queue to the player, players and GM that something is going on.   The Message is optional here.  You can remove that or shut off messages.  
1609256809

Edited 1609256822
Victor B.
Pro
Sheet Author
API Scripter
I really think I need to put a message up that you aren't on the player ribbon page.  But it seems to be a right of passage, so I may leave it as is.  :)
1609257131

Edited 1609257952
Victor B.
Pro
Sheet Author
API Scripter
Version 2.39 found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> Fixed - A number of small issues surrounding targeted spells and ad-hoc conditions I might beg Andreas to post 2.39 to Roll20 since he seemed to have resolved the one-click issues.&nbsp; Until then, please download from my github.&nbsp;&nbsp;
1609257580
Pat
Pro
API Scripter
Victor B. said: I really think I need to put a message up that you aren't on the player ribbon page.&nbsp; But it seems to be a right of passage, so I may leave it as is.&nbsp; :) I'd beg you not to leave it as a right of passage - part of the reason I tackled Teleport was I was frustrated with how difficult it and all the other page-teleport scripts can be to set up and troubleshoot. The primary thing I wanted was a list of how many valid teleport tokens I had on a page - and when I had a similar issue with Campaign().get("playerpageid") (my own script's usability), I moved it to check instead for the GM's _lastpage, plus I put in a lot of messages for other error conditions in the chat - user friendliness is something that matters a lot to me.&nbsp;
Victor B. said: @Allessandro, yes, if the caster is the recipient of the spell, two icons are placed on the token.&nbsp; One for the spell and one for the concentration.&nbsp; The concentration icon represents the concentration "spell" and is used by CM to determine if the caster took a hit and needs to roll his con save (a message is sent to GM in chat that caster has to make a con save).&nbsp; The actual spell being concentrated on usually has some benefit or detriment associated with it, so yes, the spell is also on the token as a visual queue to the player, players and GM that something is going on.&nbsp;&nbsp; The Message is optional here.&nbsp; You can remove that or shut off messages.&nbsp;&nbsp; Thanks for clarification Victor!
1609257885
Victor B.
Pro
Sheet Author
API Scripter
I'll put a message up.&nbsp;&nbsp;
(DM) RH said: I just tried running Encounter Helper by resetting arena fight I mentioned and following the instructions on the Encounter Helper page after starting combat using CM. Activated the page to be running Encountner Helper.&nbsp; *Defines a token on GM layer "Encounter Token"&nbsp; Selecting 1st encounter 2 gladiator tokens, !eh create = 1 encoutner created with two tokens. Selected the 2nd encounter&nbsp; 3 Assassin Vines, !eh create&nbsp; = 1 encoutner created with 3 tokens. Okay so far.&nbsp;&nbsp; Check the ribbon is in place I highlight all the tokens (gladiators PCs + vines) and it only selects the gladiators and the PCs.&nbsp; So it appears to be selecting only the tokens in the first encoutner.&nbsp; Good. I think. Run !cmaster --main and click to start combat&nbsp; aaaand&nbsp; Crash.&nbsp;&nbsp; I checkthe APi sandbox and my scripts are automatically disabled due to the following error.&nbsp; Can anyone please explain to me what is going wrong here and how can I fix it? Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your script's code and click the "Save Script" button. We will then attempt to start running the scripts again.&nbsp; More info... &nbsp;If this script was installed from the Script Library, you might find help in the Community API Forum. 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:10769:23 at Array.forEach (&lt;anonymous&gt;) at getEncounterMobsFullInfo (apiscript.js:10766:18) at getEncounterMobs (apiscript.js:10777:14) at apiscript.js:10501:18 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:1661: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) Thanks!&nbsp; As Victor said, if you're having EH problems, you should post in that thread. But quickly: you shouldn't need to select tokens to add them to initiative using EH. That's why you create the encounter. Once you've created the encounter, you can add all tokens from any encounter to initiative by running !eh list to see all encounters on the active page, then clicking the dice icon. Make sure, though that you've got the right page active first: run !eh pagelist and activate the page you want to be on before !eh list and adding to initiative. As for the player ribbon thing, I would add the help. It is definitely comical to see every single new CM users since the dawn of time trip over the same mistake, but why frustrated new adopters of a great script? Also, it's "rite" of passage, not right. :)
1609259591
Pat
Pro
API Scripter
Victor B. said: I'll put a message up.&nbsp;&nbsp; Thank you!&nbsp;
Hi, I have a little problem with the Combat Master adding API. I try to add follwing api: Adding Condition: {{!token-mod}} {{--ids tokenidentifier}} {{--on showplayers_aura1}} {{--set aura1_radius|30ft aura1_color|00ff00}} Removing Condition: {{!token-mod}} {{--ids tokenidentifier}} {{--off showplayers_aura1}} {{--set aura1_radius|0ft aura1_color|transparent}} But when I apply the Condition, nothing happens. Thanks for your Help.
Found it...&nbsp; Players can use --ids: &nbsp; &nbsp;wasn't checked in Token Mod
1609437873
Victor B.
Pro
Sheet Author
API Scripter
You need to add in {{--as-api}}
Having an issue adding in custom turn markers. I've uploaded two PNGs to imgur and have set the URL for these. They display in settings however as soon as I run initiative the script errors out. TypeError: Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined at apiscript.js:21174:35 at Array.forEach (&lt;anonymous&gt;) at checkMarkerturn (apiscript.js:21173:19) at getOrCreateMarker (apiscript.js:21158:19) at apiscript.js:21882:29 at Array.forEach (&lt;anonymous&gt;) at doRoundCalls (apiscript.js:21881:19) at Timeout._onTimeout (apiscript.js:20827:13) at listOnTimeout (internal/timers.js:549:17) at processTimers (internal/timers.js:492:7)
Have also found casting concentration spells such as Bless from DnDBeyond via Beyond20 triggers concentration however autoadds the spell as the character name. I've added the spell and changed the name in CombatMaster appropriately however when casting again it just repeated the same issue of recognising a new spell with the character name. Is there a workaround for this?
1609513070
Kai
Sheet Author
@Benjosity - seems you have installed the older concentration script. I guess this messes with the concentration from Combat Master.
1609515944

Edited 1609517325
Still no joy after removing the older Concentration script, restarting sandbox and also restarting tabletop. I've played around with Beyond20 settings as the clickable d4 button was also causing issue when adding the spell and causing the delete button in spell management to be incorrectly formatted but still having the issue where spells cast from DnDBeyond are appearing as character name. Perhaps it's just not compatible at this point? I notice I have to set OGL sheet in the settings for concentration so using DnDBeyond sheet might not work.
Yeah, I have no idea whether CM is compatible with the Beyond extension. (I would imagine not?)
1609521218
Victor B.
Pro
Sheet Author
API Scripter
Custom Markers don't work.&nbsp; I haven't taken the time to either fix it or remove the option for a custom marker.&nbsp; Roll20 is particular when using your own pics.&nbsp; Go back to default and it will work Benjosity, D&amp;DBeyond isn't a supported sheet.&nbsp; OGL and the 2 pathfinder versions are the only compatible sheets.&nbsp;&nbsp;
1609550911

Edited 1609551056
My apologies if this has already been discussed, but I'm encountering two minor "bugs" that are more of an annoyance than anything. The Combat Master menu is linked in chat twice after combat is stopped. The Turn Order is cleared, closed, and reopened when combat is stopped. It would be great if there is something on my end, or within the script itself that can fix this. If not...it's not the end of my world.
PapaWhiskey11 said: The Turn Order is cleared, closed, and reopened when combat is stopped. Do you use the extension VTTES? I think I had this issue due to a setting in that extension that auto-opened the turn tracker. Disabling that setting fixed the issue for me. I've noticed the first bug, as well. Not sure what causes that one, though.
Persephone said: PapaWhiskey11 said: The Turn Order is cleared, closed, and reopened when combat is stopped. Do you use the extension VTTES? I think I had this issue due to a setting in that extension that auto-opened the turn tracker. Disabling that setting fixed the issue for me. I've noticed the first bug, as well. Not sure what causes that one, though. Yep, had the same issue with VTTES and disabling that setting fixed the issue.
1609564203

Edited 1609564219
Victor B.
Pro
Sheet Author
API Scripter
There's another issue I need to look at.&nbsp; I got numerous API failures from spells tonight.&nbsp; People have been contributing to the script and I think something went wrong since I haven't encountered spell issues in quite a while.&nbsp; So I'm probably going to need to prevent contribution and have people reach out to me on Github and I'll merge a change in.&nbsp; In the mean time I need to figure out the spell failure and post a new version
Is there a macro which I can use with Combat Master to manually set concentration on a selected token but have concentration set to false in the settings?
1609598457
Victor B.
Pro
Sheet Author
API Scripter
In a macro place this command !cmaster --add,condition=concentration,duration=&lt;whatever&gt;,direction=-1
Hi, I have Group Check and Apply damage script but it doesn't seem tot trigger the concentration check. Any clue on how to handle that?
1609685967
Victor B.
Pro
Sheet Author
API Scripter
It's probably a setting under concentration.&nbsp; That doesn't happen automatically, you need to set an option.&nbsp;&nbsp;
1609692271

Edited 1609692426
FYI concentration works for DnDBeyond character sheets with the old Concentration API script, I did test this with CombatMaster and it's not auto adding the concentration. So will use CombatMaster for status and turn tracking and then the old Concentration API for concentration init. Unfortunately the adding of spells to Combat master won't be available but will make do.
1609790276
Victor B.
Pro
Sheet Author
API Scripter
v2.40 found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> .&nbsp; Also hopefully updated Roll20 one click Fixed - Remove icon issue when removing a condition
1609790339
Victor B.
Pro
Sheet Author
API Scripter
Alex you need to set bar that contains the HP on your token, usually bar1 or bar2.&nbsp;&nbsp;
Hey guys, i'm returning to roll20 after a long hiatus and see combat tracker doesnt seem to be in use anymore...&nbsp; All i really need is the active player marker and to be able to import custom conditions from a string (for starfinder), string importing conditions doesnt seem to be a thing for combat master?&nbsp; Could someone point to me to where its at, or let me know if its worth going back to combat tracker?&nbsp; many thanks!&nbsp; Bobbins&nbsp;
@Bobbins, which version of Combat Tracker are you using? I think the later versions (that Victor modified) might have been compatible for exporting to Combat Master.
1609997853

Edited 1609999429
Thanks Persephone! umm combat tracker 2.7 with status info 3.7... I have the 'string' already.. i dont see an import option for Combat Master? *EDIT* Looking into this further I think its pretty clear I need to move with the times to avoid further headaches ahead... now to try to find a new starfinder condition import string or learn to do it myself!&nbsp; **EDIT v2** Okay so, dont know how i managed to miss the import for combat master but its worked straight off the bat. Amazing work! it did seem to immediately crash but disabling token mod seemed to bring it good...&nbsp;
Victor B. said: Custom Markers don't work.&nbsp; I haven't taken the time to either fix it or remove the option for a custom marker.&nbsp; Roll20 is particular when using your own pics.&nbsp; Go back to default and it will work Benjosity, D&amp;DBeyond isn't a supported sheet.&nbsp; OGL and the 2 pathfinder versions are the only compatible sheets.&nbsp;&nbsp; And 5e Shaped, if you still use it as I do
Hey, is there a CM command to assign initiative to a token you have selected? And if not, can I suggest it as a feature request for the next version of CM? I know you can move forward one or back up in initiative, and I have those commands as buttons on my macro quick bar, but when something goes haywire -- either through my error or unexpected script behavior -- it would be handy if I could just select a token and run an assign token command to sort things out.
1610249661
Victor B.
Pro
Sheet Author
API Scripter
Group-Init.&nbsp; You can use from within CM to roll initiative to start combat, but when I have extra tokens to add later in combat, I select the tokens, run group-init and it auto-sorts, so it's super easy.&nbsp;&nbsp;
Victor B. said: Group-Init.&nbsp; You can use from within CM to roll initiative to start combat, but when I have extra tokens to add later in combat, I select the tokens, run group-init and it auto-sorts, so it's super easy.&nbsp;&nbsp; Sorry, I wasn't clear. I have group-init and use it already. I didn't mean adding a token to initiative. I meant being able to select a token and make that token the current token in initiative (to move the red halo around them).&nbsp;