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
This post has been closed. You can still view previous posts, but you can't post any new replies.

CombatMaster Alpha

Mark (GM) said: Jay R. said: Kilter said: Don't start combat till everyone has their character in the initiative, then if using group-init select all you monster then start combat or add everyone 1st then start combat. I'm a bit confused by this. I use group-init through Roll20, so when someone rolls initiative, combat is automatically started by Combat Master. Is there a way to detach initiative from combat starting up in CM?  I haven't test this but you might try having players roll init from thier sheet not using the group init from a macro or combat master. Then use combat master to trigger group init to add your monsters/npc's and it should auto sort and then start CM. Hmm. Wouldn't that mess Combat Master up? I was under the impression that when using CM, we're encouraged to use it to handle initiative to avoid weird behavior.  So maybe I'll pose a general question to CM users: how do you handle initiative? Do you use CM for it (whether Group Init or CM's own initiative roller)? Do you use the character sheet for players, and group init for monsters, like Mark is suggesting?
1592064704

Edited 1592064837
My order of operations is as follow: Player Roll Initiative. (Turn tracker not open or open if cleared.) I Selected the monsters tokens. Once Players have all rolled. I hit the start Combat Macro (!cmaster --turn,start) Combat master sorts Initiative and combat begins. I have CM set to use Group-Init and CM auto sort.
1592068144

Edited 1592068465
When using  TokenCondition do you still have to drag and drop the token or is CMaster meant to add it? Have it set: When I add it I get the following: and the character is set up as: Error: Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your scripts and click the "Save Script" button and we'll attempt to start running them again.  More info... For reference, the error message generated was:  Error: Firebase.set failed: First argument contains undefined in property 'name' Error: Firebase.set failed: First argument contains undefined in property 'name' at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:9:49) 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 J.set (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:146:98) at createObj (/home/node/d20-api-server/api.js:2725:26) at apiscript.js:15630:37 at /home/node/d20-api-server/api.js:815:7 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)
Kilter said: My order of operations is as follow: Player Roll Initiative. (Turn tracker not open or open if cleared.) I Selected the monsters tokens. Once Players have all rolled. I hit the start Combat Macro (!cmaster --turn,start) Combat master sorts Initiative and combat begins. I have CM set to use Group-Init and CM auto sort. From where do your players roll initiative? Their character sheets? A group-init command? (the latter would trigger CM, though, I think?) And if you're making your players roll outside of the CM framework, have you encountered any issues with CM as a result? The problem I have with selecting monster tokens and hitting turn,start is that my monsters are frequently in different places, and on different layers (if hidden). Selecting them all is kind of a pain. I do them in batches -- if a group are close together, easy enough. But that other monster on the GM layer at the far end of the dark corridor, him I have to add on his own. And every time, I get that start of round sonic blast. :) 
1592078565

Edited 1592078679
From there a sheet or from the following token action macro(Which is the same as the one from the sheet.): If you have character son different layers then select and roll them before like the characters do. Then use the last group as what starts combat. &{template:simple} {{rname=^{init-u}}} {{mod=@{selected|initiative_bonus}}} {{r1=[[@{selected|initiative_style}+@{selected|initiative_bonus}@{selected|pbd_safe}[INIT] &{tracker}]]}} {{normal=1}} @{selected|charname_output} Jay R. said: Kilter said: My order of operations is as follow: Player Roll Initiative. (Turn tracker not open or open if cleared.) I Selected the monsters tokens. Once Players have all rolled. I hit the start Combat Macro (!cmaster --turn,start) Combat master sorts Initiative and combat begins. I have CM set to use Group-Init and CM auto sort. From where do your players roll initiative? Their character sheets? A group-init command? (the latter would trigger CM, though, I think?) And if you're making your players roll outside of the CM framework, have you encountered any issues with CM as a result? The problem I have with selecting monster tokens and hitting turn,start is that my monsters are frequently in different places, and on different layers (if hidden). Selecting them all is kind of a pain. I do them in batches -- if a group are close together, easy enough. But that other monster on the GM layer at the far end of the dark corridor, him I have to add on his own. And every time, I get that start of round sonic blast. :) 
@Kilter, thanks for this. I'll give it a shot next week. I've been trying not to go outside CM for initiative because I thought it might break something in the script if the inish counts weren't generated by CM/group-init. But if this actually works for me, I might adopt it. Question about that macro: if a character has advantage on initiative checks, does the macro take that into account?
They would need to change the settings on the sheet. 
Kilter said: They would need to change the settings on the sheet.  Oh yeah, I know about that setting. It's already on for one character. So for that character, the macro will roll inish with advantage. Thank you!
1592091179
Victor B.
Pro
Sheet Author
API Scripter
Token condition will add the token.  It's a bit tricky on the setup as you need to copy the FULL name from the token condition template and then paste into the token condition name within the condition
Like so or does the highlighted part need changed as well.
1592137466
Victor B.
Pro
Sheet Author
API Scripter
Looks good. Set duration to 1 and direction to 0
Even after changing the duration and direction still get this error. For reference, the error message generated was:  Error: Firebase.set failed: First argument contains undefined in property 'name' Error: Firebase.set failed: First argument contains undefined in property 'name' at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:9:49) 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 J.set (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:146:98) at createObj (/home/node/d20-api-server/api.js:2725:26) at apiscript.js:15630:37 at /home/node/d20-api-server/api.js:815:7 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)
1592140069

Edited 1592140126
@Victor - Is it possible that the square brackets, pipe, or semicolons in the name would cause issues?  Or maybe even length of the name? Kilter said: Like so or does the highlighted part need changed as well.
Shorten and changing it to just Condition: Spirit I still get the same error.
Semicolons are also used in Javascript and may conflict, but if you've covered the other bases, then its probably not that - I would have thought [ ] which are used in array declaration, and | which is used in comparitives, would have been an issue more than the semicolon.
If those are the issues it would be with the communication between CM and TC as it works as intended using just TC, which needs all the extra information.
Kilter said: From there a sheet or from the following token action macro(Which is the same as the one from the sheet.): If you have character son different layers then select and roll them before like the characters do. Then use the last group as what starts combat. &{template:simple} {{rname=^{init-u}}} {{mod=@{selected|initiative_bonus}}} {{r1=[[@{selected|initiative_style}+@{selected|initiative_bonus}@{selected|pbd_safe}[INIT] &{tracker}]]}} {{normal=1}} @{selected|charname_output} Jay R. said: Kilter said: My order of operations is as follow: Player Roll Initiative. (Turn tracker not open or open if cleared.) I Selected the monsters tokens. Once Players have all rolled. I hit the start Combat Macro (!cmaster --turn,start) Combat master sorts Initiative and combat begins. I have CM set to use Group-Init and CM auto sort. From where do your players roll initiative? Their character sheets? A group-init command? (the latter would trigger CM, though, I think?) And if you're making your players roll outside of the CM framework, have you encountered any issues with CM as a result? The problem I have with selecting monster tokens and hitting turn,start is that my monsters are frequently in different places, and on different layers (if hidden). Selecting them all is kind of a pain. I do them in batches -- if a group are close together, easy enough. But that other monster on the GM layer at the far end of the dark corridor, him I have to add on his own. And every time, I get that start of round sonic blast. :)  Hey Kilter. Tried this last night, but a couple of things kept happening. First, your initiative macro doesn't generate any chat output for npcs, probably because it uses the simple roll template. I tried playing around with the npcaction template but couldn't get the initiative to output to chat (it still goes to the tracker just fine, though). Second, even when using this method of generating initiative, Combat Master still starts, and I got the same problem I described to you earlier.
1592145303

Edited 1592145331
Do you have and extension that are opening the turn track on the initiative rolls? Here are the settings I use, maybe it is something with that.
Kilter said: Do you have and extension that are opening the turn track on the initiative rolls? Here are the settings I use, maybe it is something with that. I don't think so. I do have Keith Curtis's Tiny Turn Tracker stylus extension on, but that just compresses the turn tracker and shouldn't interact with CM at all. Your settings are more or less mine, except that I also have Use Next Marker option enabled. I'll try playing around with this tonight.
It may be the next marker, I had issues with it in the past, but I believe Victor had fixed that.
Kilter said: It may be the next marker, I had issues with it in the past, but I believe Victor had fixed that. I've disabled both markers in my current game. More trouble than they're worth, at this point. But CM still turns on whenever I roll inish through your macro. Not sure why. Also, is anyone else getting this behavior? When I click Stop Combat from the CM menu, the turn tracker is cleared and combat effectively stops. But a second or two later, the CM config menu pops up again in Chat, showing green (active combat) rather than red (combat off). I have to then click the Stop Combat icon a second time to make the turn tracker disappear and to get CM to turn off, for real. It's not a huge issue, but it is kind of weird.
Kilter said: From there a sheet or from the following token action macro(Which is the same as the one from the sheet.): If you have character son different layers then select and roll them before like the characters do. Then use the last group as what starts combat. &{template:simple} {{rname=^{init-u}}} {{mod=@{selected|initiative_bonus}}} {{r1=[[@{selected|initiative_style}+@{selected|initiative_bonus}@{selected|pbd_safe}[INIT] &{tracker}]]}} {{normal=1}} @{selected|charname_output} Jay R. said: Kilter said: My order of operations is as follow: Player Roll Initiative. (Turn tracker not open or open if cleared.) I Selected the monsters tokens. Once Players have all rolled. I hit the start Combat Macro (!cmaster --turn,start) Combat master sorts Initiative and combat begins. I have CM set to use Group-Init and CM auto sort. From where do your players roll initiative? Their character sheets? A group-init command? (the latter would trigger CM, though, I think?) And if you're making your players roll outside of the CM framework, have you encountered any issues with CM as a result? The problem I have with selecting monster tokens and hitting turn,start is that my monsters are frequently in different places, and on different layers (if hidden). Selecting them all is kind of a pain. I do them in batches -- if a group are close together, easy enough. But that other monster on the GM layer at the far end of the dark corridor, him I have to add on his own. And every time, I get that start of round sonic blast. :)  So in looking at this, it appears that Combat Master as soon as the tracker is open CM "listens" for that event. (even if its empty CM starts) So if you have audio setup to play at the beginning of each turn or each round (or both) the audio will play because the start of combat both of these would be true. The only work around i can think of would be to use Macro to run where it prompts you to play the audio or not? If you are having issue with monsters on the GM layer i would suggest using a script called BUMP The Scriptomancer himself. That script creates and invisible token on the gm layer and slaves it to visible one on the gm layer and because its linked you can use CM to roll it from those invisible tokens just as would with normal monster tokens. 
Mark (GM) said: So in looking at this, it appears that Combat Master as soon as the tracker is open CM "listens" for that event. (even if its empty CM starts) So if you have audio setup to play at the beginning of each turn or each round (or both) the audio will play because the start of combat both of these would be true. The only work around i can think of would be to use Macro to run where it prompts you to play the audio or not? If you are having issue with monsters on the GM layer i would suggest using a script called BUMP The Scriptomancer himself. That script creates and invisible token on the gm layer and slaves it to visible one on the gm layer and because its linked you can use CM to roll it from those invisible tokens just as would with normal monster tokens.  Thanks for checking into this! I think I'm just going to turn off the start of round Roll20AM command. It's proving to be too much of a hassle for something that isn't essential to my game. I considered Bump awhile back, but I don't think I want to add another script just for this case. I'll just use group-init for monster initiative. I already have the VTT extension on, so clicking to the GM layer isn't a huge deal. 
VTTES Extension has something that opens the tracker on the initiative roll, checks the setting, and makes sure that it is turned off. 
Kilter said: VTTES Extension has something that opens the tracker on the initiative roll, checks the setting, and makes sure that it is turned off.  Hmm. Will have to look at the extension settings again. Thanks!
Kilter said: VTTES Extension has something that opens the tracker on the initiative roll, checks the setting, and makes sure that it is turned off.  Ok, many thanks for pointing me in this direction, Kilter! As it turns out, the VTT extension's initiative options were causing the problem (I had totally forgotten the extension even had initiative options). Disabled them and now I can run initiative using your macro (for players) and group-init (for monsters) without Combat Master starting up automatically. It's even fixed the weird issue I had with CM needing to have combat closed twice, which I now see was due to the VTT keeping the tracker open. Thanks again! :)
Glad I could help.
Any word on when the one click instalation is going to be updated with the most current Combat Master script? 
1592430553
Victor B.
Pro
Sheet Author
API Scripter
Next week.  The changes I posted last time didn't stick.  
1592491557

Edited 1592499839
I had a couple of quick CombatMaster questions that I hope someone can answer. I added a condition for "Reacted" (when someone has used their reaction this round in D&D 5e). I would like for this to reset on the character's next turn (not the end of the round). Is there a way for that to happen automatically? Is there a way to get rid of the checkmark for a player to end their own turn? I feel like a lot of times I'll advance the turn order just as they click the checkmark and skip someone else's turn. (Edited to add a 3rd question) I have a second custom Token Marker set in my game, but I only see the Default and 1st custom that I have when editing a Condition. Is there a way for me to use markers from the 2nd custom set? Thanks in advance!
1592502674

Edited 1592502733
1. set the duration to 1 and direction to -1 and it will remove at the start of that tokens turn. 2. has been talked about in the thread earlier, I don't believe it was changing was the verdict. 3.make sure to have tokenlib API installed and change to token marker in the condition. Check out the I in the header (at the end) to pull up the help menu as an FYI.  Evan said: I had a couple of quick CombatMaster questions that I hope someone can answer. I added a condition for "Reacted" (when someone has used their reaction this round in D&D 5e). I would like for this to reset on the character's next turn (not the end of the round). Is there a way for that to happen automatically? Is there a way to get rid of the checkmark for a player to end their own turn? I feel like a lot of times I'll advance the turn order just as they click the checkmark and skip someone else's turn. (Edited to add a 3rd question) I have a second custom Token Marker set in my game, but I only see the Default and 1st custom that I have when editing a Condition. Is there a way for me to use markers from the 2nd custom set? Thanks in advance!
Thank you so much Kilter!
1593271226

Edited 1593271812
Hey, I discovered a bug in this script (at least it was a bug last week when it came up during game night): A player is able to end the turn from everyone by clicking the "Done with round"-button, even if it's not the players turn. Would be cool if you can fix this, if it hasn't already, thanks! :)
1593399802
Victor B.
Pro
Sheet Author
API Scripter
@Florian, I don't think I'm going to fix that.  People honestly shouldn't be ending other players turns.  The fix is a pain as now I have to compare who clicked to who was announced in chat.  Not easy.  
I am looking for a simple turn marker API script and it looks like TurnMarker / CombatTraker have been taken over by this.  It seems to do what I need, however the actual Marker isn't showing under the tokens.  I the ping pull to token is happening, but there is no visual display of it being the token's turn after the ping.  Oddly I tried the older TurnMarker script as well and it didn't show the marker under the Tokens.  So perhaps I have some global something turned off?   Thanks for any suggestions on why it would go through the turn order, but NOT have the icon.
Are they custom icon? and if so do you have libTokenMarkers installed as well? You may also want to double-check the help icon for the setup of condition or turn setting. There is a I at the top of the menu for the help menu.
Turns out the Player flag has to be on the map you are using.  That is kinda silly of me, but I was just testing stuff on a different map.  As soon as I moved the player flag to the map all is well.  Thanks for the reply!
Jim E. said: Turns out the Player flag has to be on the map you are using.  That is kinda silly of me, but I was just testing stuff on a different map.  As soon as I moved the player flag to the map all is well.  Thanks for the reply! Welcome to the club. I did the exact same thing when I was first using Combat Master. Others here have too. :)
1593568171
Victor B.
Pro
Sheet Author
API Scripter
Many others
1593568943

Edited 1593568986
Victor B.
Pro
Sheet Author
API Scripter
Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script.  For OGL only, it will intercept spells and ask if you want to add it to CM or ignore it.  If you add it, it will display the Condition Menu to enable configuring, defaulting in the Spell name, whether it is a concentration spell and the spell description.  If you ignore it, it will add to an ignore list so you don't need to keep answering the question.   Conditions have a new feature called type (condition or spell).  Concentration has been added to identify spells as requiring concentration.   When a spell is assigned to a token, the caster token is identified and a configurable concentration icon is added to token and tracked with the same duration/direction as the spell.  This concentration also shows up in the caster's player announcement and a message references the spell.   The Status menu has been changed to enable configuring the concentration icon, which can be a Roll20 default or custom icon.  The main menu has been changed to allow view all conditions/spells, conditions only, spells only or favorites (which can be a combo).  
1593582861
Chris H.
Pro
Marketplace Creator
Hey all, I've been using the new CM for a while and I was wondering if there is a ReadMe file or something I can reference when I need to look up what a setting does. I'm adding some additional Conditions and I'm clueless as to what some of the settings are. 
1593592421

Edited 1593592463
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script.  For OGL only, it will intercept spells and ask if you want to add it to CM or ignore it.  If you add it, it will display the Condition Menu to enable configuring, defaulting in the Spell name, whether it is a concentration spell and the spell description.  If you ignore it, it will add to an ignore list so you don't need to keep answering the question.   Conditions have a new feature called type (condition or spell).  Concentration has been added to identify spells as requiring concentration.   When a spell is assigned to a token, the caster token is identified and a configurable concentration icon is added to token and tracked with the same duration/direction as the spell.  This concentration also shows up in the caster's player announcement and a message references the spell.   The Status menu has been changed to enable configuring the concentration icon, which can be a Roll20 default or custom icon.  The main menu has been changed to allow view all conditions/spells, conditions only, spells only or favorites (which can be a combo).   YASSS
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script. +1.  Fantastic!
Chris H. said: Hey all, I've been using the new CM for a while and I was wondering if there is a ReadMe file or something I can reference when I need to look up what a setting does. I'm adding some additional Conditions and I'm clueless as to what some of the settings are.  There's an info button on each page of CM. If you click it, you'll get a link which triggers a help handout for the page.
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script.  For OGL only, it will intercept spells and ask if you want to add it to CM or ignore it.  If you add it, it will display the Condition Menu to enable configuring, defaulting in the Spell name, whether it is a concentration spell and the spell description.  If you ignore it, it will add to an ignore list so you don't need to keep answering the question.   Conditions have a new feature called type (condition or spell).  Concentration has been added to identify spells as requiring concentration.   When a spell is assigned to a token, the caster token is identified and a configurable concentration icon is added to token and tracked with the same duration/direction as the spell.  This concentration also shows up in the caster's player announcement and a message references the spell.   The Status menu has been changed to enable configuring the concentration icon, which can be a Roll20 default or custom icon.  The main menu has been changed to allow view all conditions/spells, conditions only, spells only or favorites (which can be a combo).   Excellent news! I can then stop using Robin's Concentration Tracker, which is no longer maintained and which now doesn't appear to be auto-rolling Con saves when the token takes damage, for some reason.
Bug report: TypeError: Cannot read property 'id' of undefined TypeError: Cannot read property 'id' of undefined at showHelp (apiscript.js:11717:82) at commandHandler (apiscript.js:8496:7) at apiscript.js:8249:25 at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore.js:188:9) at inputHandler (apiscript.js:8244: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:1648: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) v. 2.14 Steps taken to create problem: Open combatmaster main menu Go to setup (gear icon) Go to "announce" Click " i " button for help documentation. API immediately crashes, no help document is sent to chat to click.
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script.  For OGL only, it will intercept spells and ask if you want to add it to CM or ignore it.  If you add it, it will display the Condition Menu to enable configuring, defaulting in the Spell name, whether it is a concentration spell and the spell description.  If you ignore it, it will add to an ignore list so you don't need to keep answering the question.   Conditions have a new feature called type (condition or spell).  Concentration has been added to identify spells as requiring concentration.   When a spell is assigned to a token, the caster token is identified and a configurable concentration icon is added to token and tracked with the same duration/direction as the spell.  This concentration also shows up in the caster's player announcement and a message references the spell.   The Status menu has been changed to enable configuring the concentration icon, which can be a Roll20 default or custom icon.  The main menu has been changed to allow view all conditions/spells, conditions only, spells only or favorites (which can be a combo).   This is fantastic news to hear! Is there a plan to incorporate some means to (automatically/manually) trigger concentration checks? Such as when said concentrating token receives damage? (Auto roll/button prompt). Thank you so much for your hard work on this project. It has been a great asset to my group playing online :)
1593634624

Edited 1593634966
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script.  For OGL only, it will intercept spells and ask if you want to add it to CM or ignore it.  If you add it, it will display the Condition Menu to enable configuring, defaulting in the Spell name, whether it is a concentration spell and the spell description.  If you ignore it, it will add to an ignore list so you don't need to keep answering the question.   Conditions have a new feature called type (condition or spell).  Concentration has been added to identify spells as requiring concentration.   When a spell is assigned to a token, the caster token is identified and a configurable concentration icon is added to token and tracked with the same duration/direction as the spell.  This concentration also shows up in the caster's player announcement and a message references the spell.   The Status menu has been changed to enable configuring the concentration icon, which can be a Roll20 default or custom icon.  The main menu has been changed to allow view all conditions/spells, conditions only, spells only or favorites (which can be a combo).   @Victor: Why for OGL only? Even the original from Robin easily incorporated Shaped's concentration check.  As a Shaped user, this would only force me to use Robin's version, which would then mean I couldn't use the custom icons.  I noticed this same issue in your version of Concentration - something that was already in (incorporating the Shaped version of the Concentration check) was taken out for some reason.  All it was was adding a check in the chat for Shaped's concentration notice. All started with: handleInput = (msg) => { if(state[state_name].config.auto_add_concentration_marker && msg && msg.rolltemplate && ((msg.rolltemplate === 'spell' && msg.content.includes("{{concentration=1}}")) || (msg.rolltemplate === '5e-shaped' && msg.content.includes("{{duration=^{CONCENTRATION")) || ((msg.rolltemplate === 'dmg' || msg.rolltemplate === 'atk') && msg.content.includes('!concentration')))){ handleConcentrationSpellCast(msg); }
1593643311
Victor B.
Pro
Sheet Author
API Scripter
The announce button for help was messed up.  That's been fixed
Victor B. said: Folks, 2.15 is coming.  I've decided to incorporate spells/concentration into CM rather than having a separate script. This is great.  I've been using the Concentration script which mostly works.  I'm noticing it working less consistently than before, and I understand the writer is no longer here to support it.  This will be helpful!