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

1637182494

Edited 1637183624
Ray
Pro
Nico said: Surok said: I keep getting this error constantly. For reference, the error message generated was:  Error: Firebase.update failed: First argument contains NaN in property 'rotation' Error: Firebase.update failed: First argument contains NaN in property 'rotation' at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:9:186) at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:10:207) at Aa (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:8:462) at Ea (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:10:403) at J.update (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:146:318) at TrackedObj._doSave (/home/node/d20-api-server/api.js:905:27) at Timeout.later [as _onTimeout] (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1153:39) at listOnTimeout (internal/timers.js:549:17) at processTimers (internal/timers.js:492:7) Getting this one too Ditto. Reset everything and now cant get it to show anything on turn change or centre map etc. Announces the round only.
1637193340

Edited 1637193416
Victor B.
Pro
Sheet Author
API Scripter
@everyone, the rotation issue was recently introduced.&nbsp; There is a fix on my github.&nbsp; I haven't had time to push to Roll20 repo yet.&nbsp;&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> Disable the One Click version.&nbsp; Create a new script.&nbsp; Copy my script from my github using the RAW button.&nbsp; Paste into new script and name.&nbsp; Then save and DELETE the one click version.&nbsp; I'll let everyone know when Roll20 repo is updated.&nbsp;&nbsp;
1637193548
Victor B.
Pro
Sheet Author
API Scripter
@Everyone, all these recent issues are most likely due to a bug on the Roll20 version.&nbsp; Upgrade to the CM on my github.&nbsp;&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a>
1637238051
Victor B. said: @Everyone, all these recent issues are most likely due to a bug on the Roll20 version.&nbsp; Upgrade to the CM on my github.&nbsp;&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> Installed it. It's working =) thanks!
The direction option for status' doesn't seem to be working for me, nor does the turn announcement, not sure if i'm doing something wrong, would appreciate some help
1637642145

Edited 1637643832
GM
Pro
UPDATED TO NEW....(deleted all other scripts) but still doesn't work (and now with no scripts initiative doesn't work, even straight from the char sheet) and still get this...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 'pr' of null TypeError: Cannot read property 'pr' of null at apiscript.js:2086:56 at Array.sort (&lt;anonymous&gt;) at sortTurnorder (apiscript.js:2085:19) at rollInitiative (apiscript.js:1670:13) at startCombat (apiscript.js:1521:17) at commandHandler (apiscript.js:309:17) at apiscript.js:166:25 at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1330:9) at inputHandler (apiscript.js:161:23) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:168:1), &lt;anonymous&gt;:65:16)
1637698318
Victor B.
Pro
Sheet Author
API Scripter
GM something doesn't seem to be setup right.&nbsp; Are you using anything unusual in your initiative setup?&nbsp;&nbsp;
1637698401
Victor B.
Pro
Sheet Author
API Scripter
Louis you need to open a condition.&nbsp; You can do that from main menu by clicking on the small cog icon for that condition OR you can go to conditions and so the same there.&nbsp; Once the condition is open, you enter a direction, usually a negative number, -10 for one minute, or it can be positive if needed
1637698457
Victor B.
Pro
Sheet Author
API Scripter
GM please use this version, again I didn't have time this week to push changes to roll20 repo.&nbsp;&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a>
1637982643
Dumbhuman
Pro
Marketplace Creator
I was wondering if anyone might have a good way to have CombatMaster reroll initiative each round, but keep fixed initiative numbers for some combatants.&nbsp; For example, I have a trap that I'd like to automatically activate on initiative count 20 and initiative count 10 each round.&nbsp; I could see this functionality being useful for Lair Action reminders on initiative count 20 too, so I thought someone might have a good system already before I try to reinvent the wheel.
1637993431

Edited 1637993521
Victor B.
Pro
Sheet Author
API Scripter
The only way I could figure to make that work is to put the trap (or whatever) on the GM layer (players won't see) and add it turn order.&nbsp; And no it will attempt to reroll the initiative and yes include the traps.&nbsp; No clean way around that.&nbsp; I'd suggest keeping track of traps etc outside of everything.&nbsp;&nbsp;
1638261612

Edited 1638261676
In your main post it says that the normal roll20 version works, but I recently tried using it and had all the issues other people were talking about a few days ago. Only the github version seems to work without crashing everything tried it in multiple games. *Edit: Also when it actually works the script is amazing, thanks so much for making it! :D
1638276805
Victor B.
Pro
Sheet Author
API Scripter
Yes, only the github version.&nbsp; I've been too busy to commit to roll20 and that's again the issue this week.&nbsp;&nbsp;
1638452038
Andy
Pro
Does anyone know if it is possible for Combat Master to display a description of conditions auto applied by another api? I have SmartAoE running conditions on failed saves and can't work out how to display the conditions in either script. Many thanks in advance!&nbsp;
1638469614
Andy said: Does anyone know if it is possible for Combat Master to display a description of conditions auto applied by another api? I have SmartAoE running conditions on failed saves and can't work out how to display the conditions in either script. Many thanks in advance!&nbsp; Andy, If you have icons AND descriptions assigned to conditions within Combat Master, assigning those icons through other means should &nbsp;also post the description in chat text (and it does through a macro that I use in my game).&nbsp; If SmartAoE can apply the icons associated with the conditions, I believe the descriptions should just appear. Disclaimer: I don't know anything about SmartAoE API.&nbsp; I assume in my response that SmartAoE and CombatMaster do not conflict with each other.
1638481240
Andy
Pro
Allen Z. said: Andy, If you have icons AND descriptions assigned to conditions within Combat Master, assigning those icons through other means should &nbsp;also post the description in chat text (and it does through a macro that I use in my game).&nbsp; If SmartAoE can apply the icons associated with the conditions, I believe the descriptions should just appear. Disclaimer: I don't know anything about SmartAoE API.&nbsp; I assume in my response that SmartAoE and CombatMaster do not conflict with each other. Apparently not. I have a custom set of condition markers but they are set to "Token Markers" within Combat Master as the "Token Condition" options break my API sandbox. What sort of macro are you using to set a condition and would it work to only apply on a failed save?
1638570179

Edited 1638570226
Victor B.
Pro
Sheet Author
API Scripter
Token Conditions works with CM.&nbsp; I use it all the time.&nbsp; You need to set the token condition up correctly and you can build it into a condition if you wish.&nbsp; &nbsp;Token Conditions uses TheAarons TokenCondition api.&nbsp; That's what it's for.&nbsp; If it's a custom icon, ALWAYS use Token Markers
1638570355
Victor B.
Pro
Sheet Author
API Scripter
@Allen, depends on how you are assigning them.&nbsp; If you use something else to set the token marker, and there's a condition using that token marker, then CM has an observer that will auto assign the condition to the token and it will show up.&nbsp; If you are assigning conditions in another way, then CM isn't aware of what you did.&nbsp;&nbsp; For example, if you click on icon and then view all available token icons/markers, select one that has a CM condition assigned, CM assigns the condition to the token.&nbsp;&nbsp;
Louis G. said: The direction option for status' doesn't seem to be working for me, nor does the turn announcement, not sure if i'm doing something wrong, would appreciate some help I too am having the same problem. I appreciate the main fix, but direction on status and turn announcement is half the reason I use CM.&nbsp;
1638759824
Victor B. said: @Allen, depends on how you are assigning them.&nbsp; If you use something else to set the token marker, and there's a condition using that token marker, then CM has an observer that will auto assign the condition to the token and it will show up.&nbsp; If you are assigning conditions in another way, then CM isn't aware of what you did.&nbsp;&nbsp; For example, if you click on icon and then view all available token icons/markers, select one that has a CM condition assigned, CM assigns the condition to the token.&nbsp;&nbsp; Thank you.&nbsp; It looks like I somehow accidently did something right, then, for it to work for me. =)
1638765028
Victor B.
Pro
Sheet Author
API Scripter
double check your settings for player announcements and direction.&nbsp; I haven't seen any issues with these in my games.&nbsp; The logic hasn't changed in a long time.&nbsp; If there's still an issue, it's possible that somehow they were broken in latest release.&nbsp;&nbsp;
1639074797
@Victor, I grabbed your code and reinserted into one game and CM worked again.&nbsp; I did the exact same thing in my Strahd game, but nothing happens.&nbsp; The code isn't working in that one.&nbsp; Any idea what I'm doing wrong?&nbsp; The CM menu pops up, but it won't highlight tokens or move to the next one like it should.&nbsp;
1639171029
Victor B.
Pro
Sheet Author
API Scripter
are you on player ribbon page?&nbsp;&nbsp;
1640422379

Edited 1640422462
Hi @Victor. I'm trying to set up Concentration 5e with your Combat Master script to prompt for concentration saves in my Roll20. I'm tried to search for the solution on my own, but I haven't had much luck.&nbsp; I've provided screenshots below of my settings for the script. I'm using the most recent version from your Github as opposed to the Roll20 one-click version. Could you provide any guidance on what I should do to get the script to prompt for concentration saves when I subtract from the Woundbar? Thanks! &nbsp;
1640490606

Edited 1640490641
Victor B.
Pro
Sheet Author
API Scripter
Set override to false.&nbsp; I'm going to fix that in a future release when&nbsp; I have time, which is probably 2023.&nbsp; It's currently set to undefined.&nbsp;&nbsp;
1640559961
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Victor, I cannot seem to correctly set Turn Order &gt; Use Marker to false. I can set the value to false in the menu, but it doesn't seem to do anything. I do not want the rings or a token marker or token condition to display on the token. It's enough for me to read it off of the turn tracker. Am I missing something in the config?
keithcurtis said: Hi Victor, I cannot seem to correctly set Turn Order &gt; Use Marker to false. I can set the value to false in the menu, but it doesn't seem to do anything. I do not want the rings or a token marker or token condition to display on the token. It's enough for me to read it off of the turn tracker. Am I missing something in the config? I'm not sure that option works, but I think I've seen some people set the marker as a transparent png. I believe the marker graphic is necessary for the round tracking function.
1640562549
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Ah, thanks! Does the URL need to be in a User Art Library?
That, I'm not sure about. Haven't ever tried changing the graphic myself.
1640564814

Edited 1640564897
Just tested out a URL from a transparent png in my library, but it's causing the script to crash and get stuck in active combat mode. Using the Reset command for the script fixes it by restoring the graphic, but this may take more experimenting with.. TypeError: Cannot read property 'get' of undefined at apiscript.js:4276:35 at Array.forEach (&lt;anonymous&gt;) at checkMarkerturn (apiscript.js:4275:19) at getOrCreateMarker (apiscript.js:4260:19) at apiscript.js:4995:29 at Array.forEach (&lt;anonymous&gt;) at doRoundCalls (apiscript.js:4994:19) at Timeout._onTimeout (apiscript.js:3947:13) at listOnTimeout (internal/timers.js:549:17) at processTimers (internal/timers.js:492:7)
1640565172
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I was able to get it to work by using original.png?12345678 (i.e. the full URL from the "original" version). I love a lot of stuff about this script and can appreciate the job it does for folks who want all of the features, but honestly, I just want a script that pops up the condition definition when I assign a token marker it to a token, and can return those definitions when run against a token that has token markers assigned. CM does that, but I cannot stop it from doing anything else at all. I don't need to see a menu unless I specifically call it, I don't need turn markers on the tokens, etc. This is not a complaint . Please, Victor—it's a great script. Just looking for the best solution to the precise, nitpicky behavior I want. :D
Awesome! I know some folks have that preference as well. Glad you found a way to hide the turn marker. In fact, I think the DM for my Sunday game might prefer that, so I'll be sharing this find!
What other selections do you have for your settings, btw? I'm still getting a crash when starting combat after changing the marker to original.png?12345678
1640566524
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
To be honest, I got crashes too. Until I didn't. I don't know what decided to make it start cooperating. :D
Hi all,&nbsp; Not sure if I am doing something but if I delete round token order from the turn order I am getting this error. 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 &lt;anonymous&gt; (/home/node/d20-api-server/api.js:172:1), &lt;anonymous&gt;:804:7) at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:172:1), &lt;anonymous&gt;:1128:4) at sendChat (/home/node/d20-api-server/api.js:1894:16) at makeAndSendMenu (apiscript.js:13327:9) at nextRound (apiscript.js:13074:13) at doTurnorderChange (apiscript.js:12913:17) at nextTurn (apiscript.js:13048:9) at nextRound (apiscript.js:13084:13) at doTurnorderChange (apiscript.js:12913:17)
1640924629
Victor B.
Pro
Sheet Author
API Scripter
What are you doing?&nbsp; Why are you deleting round token order?&nbsp; &nbsp;Are you continuing a combat from another map?&nbsp; Trying to bring it into this map.&nbsp; Roll209 architecture doesn't allow for that.&nbsp; Nothing I can do about it.&nbsp; Stop combat and do new initiative on new map.&nbsp; &nbsp;
1641620128
Has the script been updated in Roll20's one click install yet?&nbsp; Just curious (didn't see a post that it has but figured I would ask)
1641788178
Victor B.
Pro
Sheet Author
API Scripter
Not yet.&nbsp; Working 3 projects.&nbsp; No time.&nbsp;&nbsp;
1641883486
If a certain condition is applied to a token, is it possible to change a stat automatically when that condition is applied? For example in Pathfinder 2e, the Flat-Footed condition results in -2 circumstance penalty to AC. Is there a framework built into Combat Master that would allow for that or no?
Zack B. said: If a certain condition is applied to a token, is it possible to change a stat automatically when that condition is applied? For example in Pathfinder 2e, the Flat-Footed condition results in -2 circumstance penalty to AC. Is there a framework built into Combat Master that would allow for that or no? You can set any condition to run commands for other APIs like ChatSetAttr (the script you'll want to apply conditions like that) upon being added or removed. See this post for an example. Check out the help handouts in the CombatMaster chat menus for full instructions. Keep in mind that there's no way built into the PF2e sheet to account for multiple penalties/bonuses of the same type as-is.
1641953287
I've made some serious strides in utilizing Combat Master and inflicting statuses on various tokens. I had just struggled through getting ChatSetAttr to subtract 4 from the perception skill while the condition Blinded is applied.&nbsp; Then I realized that affects every creature using the same character sheet. For example, Goblin A gets blinded, API and Macro run, but Goblin C also takes a -4 to perception even though they weren't hit. Is there a way to only target certain tokens' stats or is that not possible? Also typing this, I realized this may not be a CM question. If not, I'd be happy to create a thread for this question specifically.
1641957515
The "problem" is not CM, it's ChatSetAttr--every Goblin uses the same sheet. Depending on your skill checks are done, you may be able to do some sort of modification to the macro that does the roll that applies the penalty when a given statusmarker is applied. You can use ScriptCards to do a check for statusmarkers. Beyond that, I don't know how your perception check rolls function through your tokens. Zack B. said: I've made some serious strides in utilizing Combat Master and inflicting statuses on various tokens. I had just struggled through getting ChatSetAttr to subtract 4 from the perception skill while the condition Blinded is applied.&nbsp; Then I realized that affects every creature using the same character sheet. For example, Goblin A gets blinded, API and Macro run, but Goblin C also takes a -4 to perception even though they weren't hit. Is there a way to only target certain tokens' stats or is that not possible? Also typing this, I realized this may not be a CM question. If not, I'd be happy to create a thread for this question specifically.
1642305542

Edited 1642305660
I'm attempting to setup a persistent damage condition. I would like for damage to be applied as the creature ends its turn. The creature then rolls a DC 15 flat check to determine if the condition persists. The goal is to have a message that is generated to chat saying the creature took X damage and what they rolled for their save. On a pass the condition stays applied and on a fail the condition remains. As a pipe dream, it would be sweet if two different kinds of persistent damage could be in a single condition, but I could see how each source of persistent damage would need its own condition. The extra tricky part about this is having something happen as a result of the creature ending its turn. I'm not sure if that's supported. Is this possible? I have ChatSetAttr, Token Mod, and Scriptcards installed. Very willing to install more to get this to work.
1642367917

Edited 1642367994
Zack B. said: I'm attempting to setup a persistent damage condition. I would like for damage to be applied as the creature ends its turn. The creature then rolls a DC 15 flat check to determine if the condition persists. The goal is to have a message that is generated to chat saying the creature took X damage and what they rolled for their save. On a pass the condition stays applied and on a fail the condition remains. As a pipe dream, it would be sweet if two different kinds of persistent damage could be in a single condition, but I could see how each source of persistent damage would need its own condition. The extra tricky part about this is having something happen as a result of the creature ending its turn. I'm not sure if that's supported. Is this possible? I have ChatSetAttr, Token Mod, and Scriptcards installed. Very willing to install more to get this to work. The script can't automate stuff for end of turn, only start of turn. I found it easiest to have the condition send a reminder each round in the form of a macro, then do the rolls manually. You can probably set up this macro to include an API button with a TokenMod command that will apply the damage when you click it.
1642368575
Oh, have the button in the reminder for the start-of-round banner? That'd be neat. I'll work on that. Thanks!
1642383619

Edited 1642386074
Seperate issue involving Combat Master 2.0 and Scriptcard. I'm trying to inflict conditions using Combat Master (version 2.45), but whenever I try to fit it within a scriptcards format I got an error on the console: TypeError: Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined at inputHandler (apiscript.js:9598:49) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:168:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:168:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1736: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 I've reduced it down as far as possible and still get the error. I have a !cmaster macro that works, but if I turn it into something as simple as !scriptcard{{ --@cmaster| _main }} (I tried with and without the space before _main) I get the error. I think it must have to do with how the two interact, based on the macro working and putting it inside the scriptcard API. Any help is appreciated. EDIT: I threw in !forselected and now it works? No idea why. But this code doesn't generate an error: !scriptcard{{ --@forselected cmaster|_main }}
1642383658

Edited 1642385294
Zack B. said: Oh, have the button in the reminder for the start-of-round banner? That'd be neat. I'll work on that. Thanks! I don't think you can customize the round start banner. You can set any condition to run a macro when it's added to a token, and also set that macro to be repeated on that token's turn, all via the Add API button in that condition's settings. EDIT: I went to double check how I have my persistent damage conditions set up, I forgot I've actually been using the Message option for the reminder. It's a bit easier than the macro I suggested. I have one condition for each damage type, so you'll need to do that first for the macro below to work. This also lets multiple persistent damage types exist on one token. Here's a few examples: I have the following command set up as a macro so I can apply the condition, specify the damage type and whatever dice/static number it deals. This creates a message with clickable buttons for the damage roll and flat check. !cmaster --add,condition=persistent ?{Damage type|bleed|fire|acid|electricity|poison|cold|force|negative|positive|mental|sonic|good|evil|chaotic|lawful|piercing|slashing|bludgeoning} damage,duration=10,direction=-1,message=[**?{Damage dice|1d6} ?{Damage type} dmg**](`/w gm &amp;&amp;lbrace;template&amp;colon;rolls&amp;rbrace; &amp;lbrace;&amp;lbrace;charactername=Persistent Damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_name=Damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02=&amp;lbrack;&amp;lbrack;?{Damage dice}&amp;rbrack;&amp;rbrack;&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_type=damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_info=?{Damage type}&amp;rbrace;&amp;rbrace;) at end of turn then [**DC 15 flat check**](&amp;grave;/r 1d20) to recover The duration is set to 10 rounds by default since persistent damage usually ends on its own after 1 minute with no successful flat checks. Activating the macro gives you two queries: If you have turn announcements enabled in the script then on each of the token's turns, you'll see the conditions listed with clickable buttons like so: Clicking 'DC 15 flat check' rolls 1d20 and clicking '1d6 bleed dmg' gives you this:
1642386024
Persephone said: Zack B. said: Oh, have the button in the reminder for the start-of-round banner? That'd be neat. I'll work on that. Thanks! I don't think you can customize the round start banner. You can set any condition to run a macro when it's added to a token, and also set that macro to be repeated on that token's turn, all via the Add API button in that condition's settings. EDIT: I went to double check how I have my persistent damage conditions set up, I forgot I've actually been using the Message option for the reminder. It's a bit easier than the macro I suggested. I have one condition for each damage type, so you'll need to do that first for the macro below to work. This also lets multiple persistent damage types exist on one token. Here's a few examples: I have the following command set up as a macro so I can apply the condition, specify the damage type and whatever dice/static number it deals. This creates a message with clickable buttons for the damage roll and flat check. !cmaster --add,condition=persistent ?{Damage type|bleed|fire|acid|electricity|poison|cold|force|negative|positive|mental|sonic|good|evil|chaotic|lawful|piercing|slashing|bludgeoning} damage,duration=10,direction=-1,message=[**?{Damage dice|1d6} ?{Damage type} dmg**](`/w gm &amp;&amp;lbrace;template&amp;colon;rolls&amp;rbrace; &amp;lbrace;&amp;lbrace;charactername=Persistent Damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_name=Damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02=&amp;lbrack;&amp;lbrack;?{Damage dice}&amp;rbrack;&amp;rbrack;&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_type=damage&amp;rbrace;&amp;rbrace; &amp;lbrace;&amp;lbrace;roll02_info=?{Damage type}&amp;rbrace;&amp;rbrace;) at end of turn then [**DC 15 flat check**](&amp;grave;/r 1d20) to recover The duration is set to 10 rounds by default since persistent damage usually ends on its own after 1 minute with no successful flat checks. Activating the macro gives you two queries: If you have turn announcements enabled in the script then on each of the token's turns, you'll see the conditions listed with clickable buttons like so: Clicking 'DC 15 flat check' rolls 1d20 and clicking '1d6 bleed dmg' gives you this: It's... it's beautiful. Thank you for this. Where did you get the condition symbols, by the way? I thought I had read that there was some trouble with custom ones. Though I've read about 100 pages of forums today, that may have been in a previous update.
1642386600

Edited 1642386632
Zack B. said: It's... it's beautiful. Thank you for this. Where did you get the condition symbols, by the way? I thought I had read that there was some trouble with custom ones. Though I've read about 100 pages of forums today, that may have been in a previous update. You're welcome! I believe they're from game-icons dot net. You just need to make sure that the image names don't have spaces when you upload them, and you'll have to have the libTokenMarkers script installed. They won't be immediately available to CombatMaster after adding a custom set to your game, but if you shut down for a while they should be accessible the next time you load into your game.