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 .
×
Advertisement Create a free account

CombatMaster 2.0

JASON H. said: So I need to disable Combat Tracker and Status before installing this one.  It does look rather powerful.  I will have to read this thread in detail.  :) Definitely read the thread in detail. :) It's a powerful script, but it also takes some getting used to at the beginning. If you have questions, don't hesitate to post them here. 
1611436367
Victor B. said: Colin, please post the entire macro here.   CombatMaster is set to run #Turn-Start Turn-Start calls %{charidentifier|OnMyTurn} When it is Bearded Devil's turn, Bearded Devil's ability called OnMyTurn calls %{Bearded Devil|Multiattack} Multiattack is: %{-LworP9TtJ4mO1Yc3ViA|repeating_npcaction_-LworPR3Uz8jsolGdiZL_npc_action} For another character, if I just put like a message or something, it works fine. So, %{Cultist|OnMyTurn} just runs "/w gm This works just fine" (which I used for testing). I haven't tried anything more sophisticated than that yet. I probably will at some point, but I was hoping to get this to work first.
1611438399
Victor B.
Pro
Sheet Author
API Scripter
OnMyTurn was written by TheAaron but remind me again of what it does.  
1611439985
I'm not real great with audio code.  What would the RollAM be exactly if I wanted to add a little sound every time a turn starts? 
@Victor, when a new turn starts, OnMyTurn checks the active character for an ability with the name OnMyTurn and runs it if present. I think Colin tried that script but it wasn't having the desired effect, and left the ability names unchanged for this.
JASON H. said: I'm not real great with audio code.  What would the RollAM be exactly if I wanted to add a little sound every time a turn starts?  Roll20 Audio Master (also by Victor) is the script you want from the one-click. For a start-of-turn sound, there's a place in CM for that, but I'll defer to users who know more about hooking Roll20AM into CM.
1611441258
Yes, I have RollAM, it's good..  I've gotten a few spell sfx and attack sounds scripted into PC sheets.  I'm just clunky with it. 
1611441478
Persephone said: @Victor, when a new turn starts, OnMyTurn checks the active character for an ability with the name OnMyTurn and runs it if present. I think Colin tried that script but it wasn't having the desired effect, and left the ability names unchanged for this. That is correct. I had also been using CT_TURN which comes from CombatTracker's similar utility. That worked just fine for this effect. I'm not using OnMyTurn or CombatTracker (they are both disabled to prevent conflicts).
1611444720

Edited 1611445158
Hi All, I have a quick question regarding setting conditions. In some cases I would like to just set and remove the conditions with macros and not worry about entering the duration and direction. How should I set the conditions for this to work? Many thanks! Here is the macro I using. I tried cutting the durationa nd direction query at the end, but then it just sets the condition for one round. !cmaster --add,condition=?{Add Condition or Spell|blinded|charmed|concentration|deafened|exhaustion1|exhaustion2|exhaustion3|frightened|grappled|incapacitated|invisible|paralyzed|petrified|poisoned|prone|restrained|stunned|unconscious|vow of enmity}, duration=?{Duration|1},direction=?{Direction|0}
Michael d. said: Hi All, I have a quick question regarding setting conditions. In some cases I would like to just set and remove the conditions with macros and not worry about entering the duration and direction. How should I set the conditions for this to work? Many thanks! I'd suggest isolating which conditions are "fixed" (same duration/direction) and which are variable. For the fixed conditions (like, say, Prone), make sure override is off in the condition itself.  Then your macro can be something like this (each condition on the list should have override off): !cmaster --add,condition=?{Add Condition or Spell|concentration|grappled|greater invisibility|haste|hidden|incapacitated|invisibility|lifedrained|mage armor|paralyzed|petrified|poisoned|prone|readied|restrained|stunned|unconscious|vowofenmity}
Jay R. said: Michael d. said: Hi All, I have a quick question regarding setting conditions. In some cases I would like to just set and remove the conditions with macros and not worry about entering the duration and direction. How should I set the conditions for this to work? Many thanks! I'd suggest isolating which conditions are "fixed" (same duration/direction) and which are variable. For the fixed conditions (like, say, Prone), make sure override is off in the condition itself.  Then your macro can be something like this (each condition on the list should have override off): !cmaster --add,condition=?{Add Condition or Spell|concentration|grappled|greater invisibility|haste|hidden|incapacitated|invisibility|lifedrained|mage armor|paralyzed|petrified|poisoned|prone|readied|restrained|stunned|unconscious|vowofenmity} Thanks Jay. Fixing the conditions in place was what I was after. I tried assigning duration/direction the same value (1/1) but it listed the condition as lasting one round. Setting duration to 1 and direction to 0 with overrirde off did the trick!
Michael d. said: Thanks Jay. Fixing the conditions in place was what I was after. I tried assigning duration/direction the same value (1/1) but it listed the condition as lasting one round. Setting duration to 1 and direction to 0 with overrirde off did the trick! No problem. I should have been clear about that part: duration sets the length of the condition in rounds, and direction removes 1 from duration every round (or 0 if you don't want the duration auto-reduced). So yeah, anything with duration 1 and direction 0 won't be removed unless you actively remove it. Great for stuff like Prone or spells with fixed durations. 
1611501887
Victor B.
Pro
Sheet Author
API Scripter
Any spell or condition that last for more than 10 rounds should be set at duration 1, direction 0 and manually removed when done.  A spell that last a minute in 5e is already forever as very few combats last 10 rounds or more.  A spell that last for 10 minutes or longer is an eternity.  
1611524428
Odd question, but is there a way to auto-add tokens not tied to a character sheet?  I think Combat Tracker let you group select and it just rolled a d20 and added it in.  Sometimes I use tokens not tied to a sheet 
One more question for the CM braintrust. I have my macros all set up (thanks largely to Jay) and I use the following to quickly clear the token markers: !cmaster --clear But when I show-conditions ( !cmaster --show,assigned) the condition/spells set to permanent (1 duration, 0 direction) still show as active in the chat window (even though the markers have been cleared). It's not a big deal to remove them in the chat, but just for neatness sake I was wondering if there is a way to both clear the token marker and the condition itself in a single macro. Thanks for any ideas!
1611536638

Edited 1611536742
Michael d. said: One more question for the CM braintrust. I have my macros all set up (thanks largely to Jay) and I use the following to quickly clear the token markers: !cmaster --clear But when I show-conditions ( !cmaster --show,assigned) the condition/spells set to permanent (1 duration, 0 direction) still show as active in the chat window (even though the markers have been cleared). It's not a big deal to remove them in the chat, but just for neatness sake I was wondering if there is a way to both clear the token marker and the condition itself in a single macro. Thanks for any ideas! Yeah, that is a limitation of CM that I would like to see fixed in future (and that I have pointed out before to Victor). If you want to blow away both the marker and the condition itself, you have to use the remove command, but AFAIK there is no remove-all option, which is why I just use show-assigned and then trash-can each condition to be sure. (also because there are things I don't want removed all at once, like exhaustion, flight altitude, and inspiration)
1611539037
Victor B.
Pro
Sheet Author
API Scripter
There is a remove all.  Under the status menu, clear conditions on close will remove everything.  
Victor B. said: There is a remove all.  Under the status menu, clear conditions on close will remove everything.   Ah, thanks, Victor. I wasn't sure if that would remove marker + condition or just marker. I still think a remove-all that is targeted (on selected token and not all tokens at end of combat) would be more useful, but that's just my personal preference.
Thanks for the reply. Using the clear command or the clear conditions in the status menu still will not clear "permanent" conditions (duration 1, direction 0), I can only remove these using show conditions and then clicking on the trash can. When I use the up arrow to see the command used for this last process it is always specific to the token and condition: example: !cmaster --remove,condition=deafened,id=-MNaDPc2VLfbnuvK9S6q Is there a blanket text command that I could use in a macro to remove both marker and condition? Many thanks!
1611583410
Victor B.
Pro
Sheet Author
API Scripter
No I just did it.  Assigned a duration 1/direction 0 to multiple tokens, stopped combat (you need to use the CM top button from the menu or the command it's issuing) and it removed all conditions from tokens. !cmaster --turn,stop
Aha! I was not stopping combat, that's the trick. However, I just ran a test. I assigned a condition on a token's turn. On the next token's turn I cleared the condition (simulating magical healing or whatnot) and then I continued through initiative order. The next time the first token came up it still showed petrified as a permanent conditon. As soon as I stopped or paused combat it went away, but in actual play what matters most is what conditions apply (or show to apply) in the midst of combat. Having said this I am sure that in one round's time we would remember that the petrification had been removed and would just trash can it when it showed on their next turn. To be clear, I am not complaining or asking you to add a feature, I truly appreciate your many contributions. I am just pondering if there is a simple text command that we can use as a macro to remove both the marker and condition while combat is still in process. If not, no worries!
1611595661

Edited 1611596785
Michael d. said: Aha! I was not stopping combat, that's the trick. However, I just ran a test. I assigned a condition on a token's turn. On the next token's turn I cleared the condition (simulating magical healing or whatnot) and then I continued through initiative order. The next time the first token came up it still showed petrified as a permanent conditon. As soon as I stopped or paused combat it went away, but in actual play what matters most is what conditions apply (or show to apply) in the midst of combat. Having said this I am sure that in one round's time we would remember that the petrification had been removed and would just trash can it when it showed on their next turn. To be clear, I am not complaining or asking you to add a feature, I truly appreciate your many contributions. I am just pondering if there is a simple text command that we can use as a macro to remove both the marker and condition while combat is still in process. If not, no worries! Michael, you can use the remove command to remove both marker and condition. For example, !cmaster --remove,condition=prone will remove prone on the selected token without needing a token ID (I just tested this and verified by showing conditions on the token afterward, and it worked: the prone marker and condition were both gone). Edit: I updated one of my macros to add or remove with a menu of options. Here it is, for your reference: !cmaster --?{Add or Remove|add|remove},condition=?{Condition or Spell|broken arm|broken foot|broken ribs|concussion|dodging|festering wound|flaming sphere|grappled|greater invisibility|haste|hidden|horrible scar|invisibility|lifedrained|limp|mage armor|minor scar|prone|rage|readied|unwavering mark|vowofenmity}
Excellent, thanks so much, just what I was looking for. I wasn't sure how to do both in the same macro and see it is a simple pair of queries. Thanks again!
1611747777
Hi all, Started using the Combat Master script last night, I think it's great. Just a couple of questions, as I'm still getting to grips with Roll20: Do you "start" combat master, then get your players to roll initiative? It won't let me start it, unless I have a token selected. And doesn't always seem to add my players' initiative rolls Also, I've worked out how to add concentration to a token, but my understanding is, that it should automatically flag up a concentration check, when a token takes damage, but it isn't doing that. Any thoughts?
Will B. said: Hi all, Started using the Combat Master script last night, I think it's great. Just a couple of questions, as I'm still getting to grips with Roll20: Do you "start" combat master, then get your players to roll initiative? It won't let me start it, unless I have a token selected. And doesn't always seem to add my players' initiative rolls Also, I've worked out how to add concentration to a token, but my understanding is, that it should automatically flag up a concentration check, when a token takes damage, but it isn't doing that. Any thoughts? CM needs a token selected to start combat. My typical practice is to let players roll their own initiative (using a custom macro, but you could use the GroupInitiative script if you prefer), then select at least one monster and hit that play button to start CM. You should be able to select monsters and use GroupInit to start combat too (if you've selected GroupInit as your method of initiative in CM), but there are currently some issues with turn ordering when doing that, which is why I recommend the play button at the moment. I have to go back and check the con check thing, because you're not the first user to report this recently. It may be a bug with the current version of CM.
Regarding the concentration flag - make sure that the correct wound bar is selected - i.e. the bar that you are using for HP.
1611773697
Victor B.
Pro
Sheet Author
API Scripter
Turnorder needs to be populated prior to starting combat.  However you want to populate is up to you.  
Victor B. said: Turnorder needs to be populated prior to starting combat.  However you want to populate is up to you.   Problem, though, is if you use GroupInit to populate turn order, CM doesn't recognize the first token in the tracker. It always throws that first token to the start of the next round (and yes, I have "Preserve turn order" off in GroupInit), forcing me to drag it back up to the top of the first round to make things right.
1611779013
Victor B.
Pro
Sheet Author
API Scripter
Yep, I will fix that.  
Victor B. said: Yep, I will fix that.   Thank you!
1611796818

Edited 1611836415
After testing tonight, I can confirm that the reminder to make a Concentration check (Constitution saving throw) only appears if damage is subtracted from the bar directly, and not if you (like me) are using a Tokenmod-based damage macro. Would definitely like to see Tokenmod-based damage trigger Concentration check reminder in a future version of Combat Master, since I hate modifying the bar directly and much prefer my macro, which gives an HP update in the chat window.
1611808835

Edited 1611808946
Victor B.
Pro
Sheet Author
API Scripter
Yes, or the char sheet linked to the bar.  API changes won't trigger other api changes.  Just simply subtract the damage.  Don't over complicate.  You can't and don't want to automate EVERYTHING
Victor B. said: Yes, or the char sheet linked to the bar.  API changes won't trigger other api changes.  Just simply subtract the damage.  Don't over complicate.  You can't and don't want to automate EVERYTHING Well, it's not overcomplicated for me. It's just how my game is set up. And automation is kind of the point of that Constitution saving throw reminder. But it's actually not a big absence for me. Since the Concentration marker is always on the token, I can see quite clearly when someone needs to make a saving throw, and it's very easy to figure out the DC (half the damage taken or 10, whichever is higher). I point it out primarily because a couple of users reported that the Con reminder wasn't firing for them when a concentrating token took damage.
1611856177
Is there a way to simply select all tokens and start initiative and have tokens randomly rolled a score?  Combat Tracker did that.  I don't always have a stat block for everything and would ad hoc, particularly for NPCs.  Combat Master wants a Init score to key off of. 
Hello, First thx for this amazing API. My question : Is it possible to have a condition that triggers another condition ? I've setup a condition (a spell in that case) called hypnotic pattern and I want that condition to trigger the incapacitated condition (also already setup) and I cant get it to work using the add API setup. I've tried : 1/!cmaster --add,condition=incapacitated  2/{{!cmaster --add,condition=incapacitated}} but it crashes the API everytime. I'm sure I'm missing something obvious.... Thx
1611903962

Edited 1611904027
Victor B.
Pro
Sheet Author
API Scripter
I think someone has tried this.  Not me.  But it's been done.  You should specify duration/direction unless you've set them in the condition via CM menus and override to false.  If override is set to true, then that won't work as it will want to setup roll queries to ask a bunch of questions
Thx for your answer, I will refrain my urge to automate everything and simply apply it manually :-)
Is there a way to pause the combat timer? I often get asked a question by a player or something else mid combat. My issue is the timer just keeps ticking down and eventually moves to the next person in the tracker.
1612033189
Victor B.
Pro
Sheet Author
API Scripter
Yes, there's a pause button in the green bar in the main combat master menu.  Click it again to restart
1612124912
Running into a huge UI issue with this script and possibly a bug. I've just installed Combat Master 2.40 and libTokenMarkers from one-click into a brand-new game created specifically to test the script (no other scripts installed). First, if you change the icon type of a condition marker from Combat Master to either Token Marker or Token Condition without the corresponding script, you get an error but there is no way to run !cmaster --main to go back and fix it (change it back). Installing the script fixes it, but it is really bad UI to not let you change it back. I wanted to use my custom status markers set I created and added to the game (removing the default set). Bug: if I change icon type from Combat Master to Token Marker for a condition where I don't have the Combat Master appointed marker in my custom set, the icon goes blank and there is no way to change the icon.
Doug E. said: Running into a huge UI issue with this script and possibly a bug. I've just installed Combat Master 2.40 and libTokenMarkers from one-click into a brand-new game created specifically to test the script (no other scripts installed). First, if you change the icon type of a condition marker from Combat Master to either Token Marker or Token Condition without the corresponding script, you get an error but there is no way to run !cmaster --main to go back and fix it (change it back). Installing the script fixes it, but it is really bad UI to not let you change it back. I wanted to use my custom status markers set I created and added to the game (removing the default set). Bug: if I change icon type from Combat Master to Token Marker for a condition where I don't have the Combat Master appointed marker in my custom set, the icon goes blank and there is no way to change the icon. Yeah. I ran into both those issues back when I first installed the status markers. You do need libTokenMarkers installed in order to use custom token markers. A workaround for the second issue: change the token marker to one of the "color dots" (blue, orange, etc.). THEN change the token marker type from CM to Token Marker. Then you'll be able to see your other custom status markers and select one of them for the condition/spell.
1612127466
Yeah. I ran into both those issues back when I first installed the status markers. You do need libTokenMarkers installed in order to use custom token markers. A workaround for the second issue: change the token marker to one of the "color dots" (blue, orange, etc.). THEN change the token marker type from CM to Token Marker. Then you'll be able to see your other custom status markers and select one of them for the condition/spell. Yeah, I figured that out. My point being the script should allow one to go back and fix a mistake in set up. Dots! Brilliant! BTW, I do want to give my kudos to Victor. It's not the only script I have found with a steep learning curve, but it does look packed with features.
Doug E. said: Yeah. I ran into both those issues back when I first installed the status markers. You do need libTokenMarkers installed in order to use custom token markers. A workaround for the second issue: change the token marker to one of the "color dots" (blue, orange, etc.). THEN change the token marker type from CM to Token Marker. Then you'll be able to see your other custom status markers and select one of them for the condition/spell. Yeah, I figured that out. My point being the script should allow one to go back and fix a mistake in set up. Dots! Brilliant! BTW, I do want to give my kudos to Victor. It's not the only script I have found with a steep learning curve, but it does look packed with features. I entirely agree that you should be able to go back and fix it if you make that mistake. Something simple like that shouldn't require resetting states or reinstalling the script. Having said that, yes, if you invest the time and energy into learning Combat Master, you will not regret it. It's been a huge enhancement to my quality of life at the gaming table. Stuff I used to have to spend lots of time tracking (for example, which tokens were affected by which spell, and for how many rounds) is now pretty much automated, thanks to CM. Victor has put a ton of work into making this script what it is, and I'm grateful. And I'm sure I'm not the only one.
I've had that issue before, you can manually enter the command to set the marker like this if it happens again !cmaster --config,condition=?{Condition},key=icon,value=?{Marker} --show,condition=?{Condition}
1612272853
Where am I messing up this API call to sett advantage on adding a condition in CM: {{!setattr {{--charid charidentifier}} {{--silent}} {{--replace}} {{--advantagetoggle|'{{query=1}} {{advantage=1}} {{r2=\lbrak\lbrak\at{d20}'}}}} {{--rtype|'\at{advantagetoggle}'}}}} It runs, but messes up the advantage setting. This version runs correctly as a macro: !setattr --sel --silent --replace --advantagetoggle|'{{query=1}} {{advantage=1}} {{r2=\lbrak\lbrak\at{d20}' --rtype|'\at{advantagetoggle}'
1612303191
I now have a different question regarding API substitutions. I've identified a workaround using PowerCards to accomplish the Announce Macro--rather have the macro call the ability from the character sheet, which has failed, I've instead used a mini-sheet PowerCard and placed that directly in the macro, so the macro doesn't call anything. What I'm now hoping for is a new substitution for Token Name. So, for example, some mobs are named individually, rather than just "Monster 1." What I would like to draw out is the name of the specific token whose turn it is to output into PowerCards or whatever via substitution. !power {{ --name|TokenName //via CombatMaster 2.0 substitution --leftsub|Speed: @{characterid|speed} --rightsub|CR: @{characterid|CR} }} Etc. Right now, I can only use character name, which just outputs "Monster" instead of the specific name for that token.
1612360212
Hi, this has probably been asked before, but I can't find the answer anywhere. How would one roll multiple enemies into the initiative table after combat has started while keeping everybody else in the initiative order they were previously? I can do it individually but when you have 20-30 tokens you need to roll initiative for it slows down the combat quite a bit. Thanks Aaron.
Aaron M. said: Hi, this has probably been asked before, but I can't find the answer anywhere. How would one roll multiple enemies into the initiative table after combat has started while keeping everybody else in the initiative order they were previously? I can do it individually but when you have 20-30 tokens you need to roll initiative for it slows down the combat quite a bit. Thanks Aaron. Depends what initiative system you're using. CM offers the option to either use its own initiative system (which I can't speak to, having never used it) or The Aaron's Group Initiative script (which I use, and which you can install from the one-click). To add more baddies after combat has started, select them all and run the !group-init command (you'll want to run !group-init --help to set up the script options first, though.). All monsters you select will add to initiative. I use grouo-init in tandem with Kurt's excellent EncounterHelper script (also available from the one-click). Adding different groups of monsters to combat is easy and efficient once you play around with the options.
Jay R. said: Aaron M. said: Hi, this has probably been asked before, but I can't find the answer anywhere. How would one roll multiple enemies into the initiative table after combat has started while keeping everybody else in the initiative order they were previously? I can do it individually but when you have 20-30 tokens you need to roll initiative for it slows down the combat quite a bit. Thanks Aaron. Depends what initiative system you're using. CM offers the option to either use its own initiative system (which I can't speak to, having never used it) or The Aaron's Group Initiative script (which I use, and which you can install from the one-click). To add more baddies after combat has started, select them all and run the !group-init command (you'll want to run !group-init --help to set up the script options first, though.). All monsters you select will add to initiative. I use grouo-init in tandem with Kurt's excellent EncounterHelper script (also available from the one-click). Adding different groups of monsters to combat is easy and efficient once you play around with the options. I would also add that depending on how your sort order is configured you may want to wait until the top of a round before adding new tokens. I have found that both Group init or CM will auto sort as soon as its rolled. At least when you are at the top round no one is skipped whereas if you are in the middle of the round the order would get resorted. If there is way around that I have not figured it out yet.
Mark (GM) said: Jay R. said: Aaron M. said: Hi, this has probably been asked before, but I can't find the answer anywhere. How would one roll multiple enemies into the initiative table after combat has started while keeping everybody else in the initiative order they were previously? I can do it individually but when you have 20-30 tokens you need to roll initiative for it slows down the combat quite a bit. Thanks Aaron. Depends what initiative system you're using. CM offers the option to either use its own initiative system (which I can't speak to, having never used it) or The Aaron's Group Initiative script (which I use, and which you can install from the one-click). To add more baddies after combat has started, select them all and run the !group-init command (you'll want to run !group-init --help to set up the script options first, though.). All monsters you select will add to initiative. I use grouo-init in tandem with Kurt's excellent EncounterHelper script (also available from the one-click). Adding different groups of monsters to combat is easy and efficient once you play around with the options. I would also add that depending on how your sort order is configured you may want to wait until the top of a round before adding new tokens. I have found that both Group init or CM will auto sort as soon as its rolled. At least when you are at the top round no one is skipped whereas if you are in the middle of the round the order would get resorted. If there is way around that I have not figured it out yet. Good point. You can enable the "Preserve First Turn" option in Group Initiative, so that any tokens you add at end of turn will not trigger the auto-sort. Problem right now, though, is that Combat Master auto-sorts no matter what, so yes, I would advise adding new tokens to initiative at the top of the round, rather than at the end of one.