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

[Script] StatusInfo

I have just started using statusinfo v0.3.11 & it works great in game. However whenever a status on a player token is toggled via the 'StatusInfo Menu' in vtt chat, the API shows this error: "Error: No attribute or sheet field found for character_id -LM_FK0wHuwwdAROcvEQ named character_sheet"   The char_id changes with the token. What I don't understand is why the script is calling for a character attribute? I haven't been able to find any reference in the config, but am just probably overlooking something simple. In case it matters, I'm using 5e OGL sheet along with: CombatTracker v0.2.7(Had to manually set StatusInfo to True) TokenMod latest one-click version
Greetings, I hate to sound like a complete noob, but how do I go about getting this and putting it in my games?
1544233827
GiGs
Pro
Sheet Author
API Scripter
API Scripts can only be used by Pro Subscribers. If you're a pro subscriber, you can go to your campaign launch page, and the menu at the right side will have an API Scripts button. On that page you can select this script along with many others from the one-click installer.
Ah, Thank you. Is there anything that might work for one that is only a Plus member. I am really only looking for something that shows what the status does. For my players. And something that I can use to learn what each of the condition symbols are, so I know the right one to apply.  Thank you in advance.
1544241857
GiGs
Pro
Sheet Author
API Scripter
There are no pre-defined correct condition symbols. The token in roll20 offers a selection of symbols you can use for a variety of purposes: they don't match the conditions of any particular game perfectly. Each GM chooses whether to use them or not, and which conditions to assign to each one. The script listed above has some of the symbols assigned to conditions, and also lets you change which conditions exist, and which symbols apply to them. If youre playing 5e D&D, the compendium probably has a listing of conditions. you could copy them into a handout to show the players, and tell them which symbol applies to each. Beyond that, I dont know of an easy way to handle it.
Greetings once more. I may have found something that I have been looking for. However, I am still such a noob when it comes to Macros and such that I can't discern if it is in fact what I am searching for or if it is an API. May I request someone to look it over and discern if it is what I seek, and possibly to help me understand it, so I can incorporate it into my Macros. Here is the link ...&nbsp;<a href="http://geekfightclub.net/roll20-condition-macros/" rel="nofollow">http://geekfightclub.net/roll20-condition-macros/</a> Thank you in Advance.
1545323580

Edited 1545323768
vÍnce
Pro
Sheet Author
Cruise105 said: Greetings once more. I may have found something that I have been looking for. However, I am still such a noob when it comes to Macros and such that I can't discern if it is in fact what I am searching for or if it is an API. May I request someone to look it over and discern if it is what I seek, and possibly to help me understand it, so I can incorporate it into my Macros. Here is the link ...&nbsp; <a href="http://geekfightclub.net/roll20-condition-macros/" rel="nofollow">http://geekfightclub.net/roll20-condition-macros/</a> Thank you in Advance. It mentions the awesome TokenMod script many times on the page. ;-) You'll need to be a Pro subscriber to use API scripts.&nbsp; Well worth the investment.&nbsp; oops, read a little more; This macro uses the API script “TokenMod”, which will automatically add the a status marker to the token, indicating the Condition.&nbsp; &nbsp; But this &nbsp; macro is still handy, as it will still put the condition in the chat for all to see. If you don’t have access to the API scripts, you’ll just need to remove the line that refers to TokenMod in the individual macros for each condition.
1545323766

Edited 1545324285
Vince said: It mentions the awesome TokenMod script many times on the page. ;-) You'll need to be a Pro subscriber to use API scripts.&nbsp; Well worth the investment.&nbsp; Cheers Thank you Vince. I have noticed that, however it does state that it can be used without the TokenMod API. While I would love to be able to use that API, I simply cannot afford the Pro Subscription at this time. Perhaps later I will upgrade. I am hoping that I can get this to work without that API. While I do understand that it won't automatically give the tokens the Status symbol, I am hoping it will still allow me to show what the effects of the Status is and name the token (character/NPC) that the status effect has affected. Also, do you know if there is a way I can edit the main Macro to allow a drop down menu as opposed to the Chat entry? Or if there is a way to add a photo of the status icon I wish to use for each status effect. I know it won't automatically add it to the token, but it might let me players know which status effect image goes with which status? Sorry for all the questions. I am just trying to figure out a way to make this work to the best of my ability.
1545324193

Edited 1545324359
vÍnce
Pro
Sheet Author
Cruise105 &nbsp;said: Also, do you know if there is a way I can edit the main Macro to allow a drop down menu as opposed to the Chat entry?&nbsp; You are basically creating a macro for each condition (just remove the last line that references tokenmod).&nbsp; The bigger Conditions chat menu will execute each condition macro when selected.&nbsp; Stick with the chat menu vs drop down query.&nbsp; Trust me, it's a lot less headache.
Vince said: You are basically creating a macro for each condition (just remove the last line that references tokenmod).&nbsp; The bigger Conditions chat menu will execute each condition macro when selected. Perfect. I am getting the macros pasted into my game. So far they seem to be working perfectly. Thank you again. Quote from earlier edit ... Or if there is a way to add a photo of the status icon I wish to use for each status effect. I know it won't automatically add it to the token, but it might let me players know which status effect image goes with which status? Sorry for all the questions. I am just trying to figure out a way to make this work to the best of my ability.
1545324402

Edited 1545324481
Ziechael
Forum Champion
Sheet Author
API Scripter
To avoid the chat menu option you are instead opening yourself up to the world of hurt that is nested query html character replacement... a slippery slope into madness if ever there was one... or so the newt who lives behind my ear keeps telling me... wibble! edit: wow, this is a fast paced exchange... missed my window totally *fades back into the shadows*
Then I definitely don't want to take that slope. Thank you Ziechael.
1545324495

Edited 1545324522
vÍnce
Pro
Sheet Author
You can insert images in chat, so I use a macro to easily do it [x](?{To post an image to chat; paste URL (must end with .jpg, .png, or .gif)|}) You could edit each condition macro to include an image following the [x](URL) format.
1545324629

Edited 1545324676
Ziechael
Forum Champion
Sheet Author
API Scripter
For fear of hijacking this thread much further here is a handy macro I use for 'what the heck does x &nbsp;do again' (just pop a '/w gm ' before it for GM only reminders): &amp;{template:desc} {{desc=?{Choose a Condition|Blinded, **Blinded** • A blinded creature can’t see and automatically fails any ability check that requires sight. • Attack rolls against the creature have advantage and the creature’s attack rolls have disadvantage.| Charmed, **Charmed** • A charmed creature can’t attack the charmer or target the charmer with harmful abilities or magical effects. • The charmer has advantage on any ability check to interact socially with the creature.| Deafened, **Deafened** • A deafened creature can’t hear and automatically fails any ability check that requires hearing.| Frightened, **Frightened** • A frightened creature has disadvantage on ability checks and attack rolls while the source of its fear is within line of sight. • The creature can’t willingly move closer to the source of its fear.| Grappled, **Grappled** • A grappled creature’s speed becomes 0 and it can’t benefit from any bonus to its speed. • The condition ends if the grappler is incapacitated (see the condition). • The condition also ends if an effect removes the grappled creature from the reach of the grappler or grappling effect| Incapacitated, **Incapacitated** • An incapacitated creature can’t take actions or reactions.| Invisible, **Invisible** • An invisible creature is impossible to see without the aid of magic or a special sense. For the purpose of hiding the creature is heavily obscured. The creature’s location can be detected by any noise it makes or any tracks it leaves. • Attack rolls against the creature have disadvantage and the creature’s attack rolls have advantage.| Paralyzed, **Paralyzed** • A paralyzed creature is incapacitated (see the condition) and can’t move or speak. • The creature automatically fails Strength and Dexterity saving throws. • Attack rolls against the creature have advantage. • Any attack that hits the creature is a critical hit if the attacker is within 5 feet of the creature.| Petrified, **Petrified** • A petrified creature is transformed - along with any nonmagical object it is wearing or carrying - into a solid inanimate substance (usually stone). Its weight increases by a factor of ten and it ceases aging. • The creature is incapacitated (see the condition) can’t move or speak - and is unaware of its surroundings. • Attack rolls against the creature have advantage. • The creature automatically fails Strength and Dexterity saving throws. • The creature has resistance to all damage. • The creature is immune to poison and disease - although a poison or disease already in its system is suspended—not neutralized.| Poisoned, **Poisoned** • A poisoned creature has disadvantage on attack rolls and ability checks.| Prone, **Prone** • A prone creature’s only movement option is to crawl (see Movement) unless it stands up and thereby ends the condition. • The creature has disadvantage on attack rolls. • An attack roll against the creature has advantage if the attacker is within 5 feet of the creature. Otherwise the attack roll has disadvantage. • Standing from prone costs half movement.| Restrained, **Restrained** • A restrained creature’s speed becomes 0 and it can’t benefit from any bonus to its speed. • Attack rolls against the creature have advantage and the creature’s attack rolls have disadvantage. The creature has disadvantage on Dexterity saving throws.| Stunned, **Stunned** • A stunned creature is incapacitated (see the condition) can’t move - and can speak only falteringly. • The creature automatically fails Strength and Dexterity saving throws. • Attack rolls against the creature have advantage.| Unconscious, **Unconscious** • An unconscious creature is incapacitated (see the condition) can’t move or speak - and is unaware of its surroundings. • The creature drops whatever it’s holding and falls prone. • The creature automatically fails Strength and Dexterity saving throws. • Attack rolls against the creature have advantage. • Any attack that hits the creature is a critical hit if the attacker is within 5 feet of the creature.} }} Further discussion beyond the scope of this script might be best in a standalone thread (&lt;-- mod hat on here)
Ok,&nbsp; I caved and got Pro. Now for another Noob question. How to I set up an API?
1545327009

Edited 1545327173
vÍnce
Pro
Sheet Author
LOL. Congratulations. Cruise105 said: Ok,&nbsp; I caved and got Pro. Now for another Noob question. How to I set up an API? Just go to your game settings(campaign page) and open the API scripts page from the settings selector.&nbsp; Lot's on "one-click" scripts available.&nbsp; Follow the instructions on the scripts description page.&nbsp; Most scripts also include a help page in-chat.&nbsp; e.g. !token-mod --help or more on-topic !condition help BTW you are not limited to the one-click scripts that are available on the API settings page.&nbsp; Many scripts will need to be manually entered(copy/past/save).&nbsp; One-click is a great way to start however.
1545331837

Edited 1545331875
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
You can find lots of script threads by looking for the [script] tag in the API forum, or type this search into google: site:app.roll20.net/forum "[script" There is a page on the wiki that lists tons of scripts, but it isn't diligently maintained. It should give you an idea of some of what's available. Also, there are several threads on the API forum that list suggestions. Here's one that's not too old.
1549021588
Havoc
Sheet Author
API Scripter
How do you do line breaks? When you edit the description?
1549776365
Pat
Pro
API Scripter
First of all - great script. I think I found an instance when token-mod may be slipping on by StatusInfo... In the latest revision, StatusInfo is not catching a status change when setting a status marker with a numerical value via: !token-mod --set statusmarkers|red|skull:+1 The status I have defined for "red" is caught and shown in the chat like it should.&nbsp; The status I have defined for "skull" is not.&nbsp; If I set status for skull without the number, StatusInfo catches it as expected.
(maybe not so) small request: Could you add "Raging"?
1556852502

Edited 1556855939
Victor B.
Pro
Sheet Author
API Scripter
There's been some issues between statusinfo, combattracker and failures that bring down the API server and crash all of your APIs.&nbsp; I've fixed quite a few of these.&nbsp; I've forced integrated statusinfo with combattracker.&nbsp; In statusinfo, you can add any status you want, specifying the icon and a description.&nbsp; So raging can be added by you by entering it into statusinfo.&nbsp; !condition config enables you to enter status and they will AUTOMATICALLY come into combattracker, so no need for dual entry and/or favorites, etc, unless you want to.&nbsp;&nbsp; Finally I have these macros, which didn't work until I started making fixes to these scripts.&nbsp; They quickly allows you to add and remove a statusmarker with a duration, whether that duration goes down over time or up over time or no change and will display the description of the status in chat so if there's special rules, you can see them in chat.&nbsp;&nbsp; !ct add ?{Condition|Ablaze,ablaze|Advantage,advantage|Bleeding,bleeding|Blinded,blinded|Broken,broken|Dead,dead|Deafened,deafened|Entangled,entangled|Fatigued,fatigued|Fear,fear|Frenzy,frenzy|Grappled,grappled|Hatred,hatred|Poisoned,poisoned|Prone,prone|Stunned,stunned|Surprised,surprised|Terror,terror|Unconscious,unconscious|} ?{Duration|1} ?{Direction|0}&nbsp; !ct remove ?{Condition|Ablaze,ablaze|Advantage,advantage|Bleeding,bleeding|Blinded,blinded|Broken,broken|Dead,dead|Deafened,deafened|Entangled,entangled|Fatigued,fatigued|Fear,fear|Frenzy,frenzy|Grappled,grappled|Hatred,hatred|Poisoned,poisoned|Prone,prone|Stunned,stunned|Surprised,surprised|Terror,terror|} Look at combattracker thread for the fixes I've put in.&nbsp; I'm not going to publish this to roll20 in the event that Robin comes back again.&nbsp; But here's a link to the two files you'll need.&nbsp;&nbsp; <a href="https://github.com/vicberg/Combattracker/blob/master/combattracker.js" rel="nofollow">https://github.com/vicberg/Combattracker/blob/master/combattracker.js</a> To add these to your games.&nbsp; 1) Do not launch the game, but go to your game settings 2) Choose settings/API Scripts 3) Choose New Script 4) go to above link and click on one of the two files 5) Click RAW button (very important) 6) Do a Control-A to copy everything and Control-V (paste) to paste everything into new script. 7) Change the script name to combattracker.js or ct.js.&nbsp; Doesn't matter as long as there is a .js at the end 8) Do the same for the second file and save.&nbsp; You are now good to go.&nbsp;&nbsp;
1556856046
Victor B.
Pro
Sheet Author
API Scripter
If you want line breaks add a &lt;br&gt; where you want the line break.&nbsp;&nbsp;
1556892959
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Victor B. said: 7) Change the script name to combattracker.js or ct.js.&nbsp; Doesn't matter as long as there is a .js at the end This has me curious. I thought the script names were purely cosmetic. I have some that say .js and some that don't. What changes due to the name?
1556899429
Victor B.
Pro
Sheet Author
API Scripter
Script names are pure cosmetic.&nbsp; I always put the .js to be safe but if you have scripts that don't have the extension, then even that is optional.&nbsp;&nbsp;
1556902632
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
OK, it sounded like step 7 was a required name change.
Victor B. said: There's been some issues between statusinfo, combattracker&nbsp; --- clipped for brevity --- <a href="https://github.com/vicberg/Combattracker/blob/master/combattracker.js" rel="nofollow">https://github.com/vicberg/Combattracker/blob/master/combattracker.js</a> To add these to your games.&nbsp; 1) Do not launch the game, but go to your game settings 2) Choose settings/API Scripts 3) Choose New Script 4) go to above link and click on one of the two files Is it me, or do I see only one file? There's no link to the modified statusinfo script. Do we just need to change combattracker and not statusinfo?
1557089738
Victor B.
Pro
Sheet Author
API Scripter
Woops, use this link.&nbsp;&nbsp; <a href="https://github.com/vicberg/Combattracker" rel="nofollow">https://github.com/vicberg/Combattracker</a> Pull down both files.&nbsp; At some point, I'll apply fixes to Robin's 0.2.7 version.&nbsp; In that version he added quite a bit of functionality.&nbsp;&nbsp;
Victor B. there is some testing output to chat that should really be removed/commented out. I'm getting this in chat - not whispered to GM - regardless of settings: Observer Token Change : Token: Bugbear 2 has changed status markers! There is also some output in the console but that's not a big deal. Thought you'd like to know. ;)
1557101768
Victor B.
Pro
Sheet Author
API Scripter
I'll check it out.&nbsp; I don't get that so I believe that's a configurable setting within CT or SI
1557170718
Victor B.
Pro
Sheet Author
API Scripter
I've applied fixes to Robin's latest release 0.2.7.&nbsp; I've removed the extra logging that I put in, the upgrade statusinfo message as well as the Observer Token Change message Here's the link:&nbsp; <a href="https://github.com/vicberg/Combattracker" rel="nofollow">https://github.com/vicberg/Combattracker</a>
1557267832

Edited 1557268964
API page crashes with this report:&nbsp; TypeError: Cannot read property 'id' of undefined &nbsp; &nbsp; at handleGraphicMovement (apiscript.js:12966:25) &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) &nbsp; &nbsp; at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) &nbsp; &nbsp; at TrackedObj.set (/home/node/d20-api-server/api.js:1020:14) &nbsp; &nbsp; at updateLocalCache (/home/node/d20-api-server/api.js:1318:18) &nbsp; &nbsp; at /home/node/d20-api-server/api.js:1502:11 &nbsp; &nbsp; at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 &nbsp; &nbsp; at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) &nbsp; &nbsp; at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) &nbsp; &nbsp; at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) &nbsp; &nbsp; at Rd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Poking around the Combat Tracker script, I think I've found the culprit, but I am running several scripts which could be causing some issues. I'll start disabling them all, then putting them back up one by one when I get the time. handleGraphicMovement = (obj /*, prev */) =&gt; { &nbsp; &nbsp; &nbsp; &nbsp; if(!inFight()) return; &nbsp; &nbsp; &nbsp; &nbsp; if(getCurrentTurn().id === obj.get('id')){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; changeMarker(obj); &nbsp; &nbsp; &nbsp; &nbsp; } Maybe (obj /*, prev */) =&gt; was left there as a 'to be done later' note?&nbsp; *EDIT: Page does not crash when Status Info API is disabled. &nbsp; &nbsp; &nbsp;&nbsp;
1557270338
Victor B.
Pro
Sheet Author
API Scripter
Ok, make sure your tokens are assigned to character sheets with using CT.&nbsp; Multiple tokens may be tied to the same sheet.&nbsp; One of the goals I'm trying to do is remove much of the brittleness of these scripts (failures).&nbsp; So I'll check out handleGraphicMovement and see what's going on there.&nbsp; Also, CT doesn't like when you copy tokens between maps.&nbsp; Not sure why yet.&nbsp; Something about copying, so if possible drag tokens onto the map from library and/or character sheets.&nbsp;&nbsp;
1557270641
Victor B.
Pro
Sheet Author
API Scripter
I tell you what.&nbsp; Invite me to your game.&nbsp; Once I'm in, promote me to GM and I can figure out what is going wrong.&nbsp; Your campaign object is going out to lunch.&nbsp;&nbsp;
1557287222

Edited 1557287295
All tokens are assigned to their sheets. I drag them from the menu onto the table top, and not copied from map to map. You said multiple tokens can be assigned to a single sheet. I have not considered that. Can you explain? Thanks
1557317011
Victor B.
Pro
Sheet Author
API Scripter
You have 20 goblins attacking.&nbsp; 20 tokens may all be pointing at your goblin character sheet.&nbsp; CT will roll individual init for all tokens and track them through the combat.&nbsp;&nbsp;
1557317425

Edited 1557321671
Victor B.
Pro
Sheet Author
API Scripter
If everything is setup right, all I have to do for any combat is highlight all the tokens and click start CT.&nbsp; Then this happens.&nbsp; Init is automatically rolled based on each token and each token is tracked through combat.&nbsp; Before CT, I'd roll once for beastmen and have them all go at the same time.&nbsp; For my game, Initiative is derived from 4 attributes, so I put in code to enable a comma delimited list of those 4 attributes and it goes through and totals them up.&nbsp; Earlier versions only allowed one attribute.&nbsp; Also, there was an issue getting to that attribute on the linked the character sheet.&nbsp; The original code looked like it should have worked, but I had to modify it to make it more stable and put an edit check in to prevent the script from failing.&nbsp;&nbsp;
1557321925

Edited 1557324057
Victor B.
Pro
Sheet Author
API Scripter
Also if you use the two macros I posted above, I can quickly at a stunned condition and the rules around stunned display in chat.&nbsp; I can add a duration (say 4 rounds) and a direction of -1 (decrease by 1 each round) and after 4 rounds the status is automatically removed.&nbsp; In Warhammer 4e, there are conditions that can't be removed without medical attention.&nbsp; In this case, I add bleeding (and the rules show in chat), a duration of 3 (3 bleeding conditions) and a direction of 0 (doesn't change).&nbsp; Also, when the token comes up in the turn order, a box is displayed in chat showing all of the statuses currently assigned to the token, which is handy if you have a lot of statuses.&nbsp; "Duration"...the number of conditions or the duration of that conditions, two different uses of it, and "Direction"...whether the duration goes up over time, down over time or no changes, wasn't working correctly, so I had to fix that.&nbsp;&nbsp;
1557452520

Edited 1557452568
Tried these two scripts out in a new environment. Aside from Token Mod and Group Check and Group Initiative, thats all the scripts running. All looks good until i apply one or two conditions. I followed your directions regarding the RAW versions, entered them into New Scripts, then launched the game. I made the macros and selected single tokens to start. Then off come the wheels: ReferenceError: hasCondition is not defined ReferenceError: hasCondition is not defined at addCondition (apiscript.js:7864:16) at getObjects.forEach.condition (apiscript.js:7949:25) at Array.forEach (native) at array_diff.forEach.icon (apiscript.js:7948:74) at Array.forEach (native) at handleStatusMarkerChange (apiscript.js:7945:36) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at TrackedObj.set (/home/node/d20-api-server/api.js:1020:14) at updateLocalCache (/home/node/d20-api-server/api.js:1318:18)
1557499828
Victor B.
Pro
Sheet Author
API Scripter
Give me a few and I'll check out where this error is coming from.&nbsp;&nbsp;
1557500066
Victor B.
Pro
Sheet Author
API Scripter
Fixed.&nbsp; Posted latest release to here.&nbsp;&nbsp; <a href="https://github.com/vicberg/Combattracker" rel="nofollow">https://github.com/vicberg/Combattracker</a> Also, there's pieces of functionality that I'm not using, so that implies there may be more issues.&nbsp; Please respond here and I'll get these scripts bullet proofed.&nbsp;&nbsp;
You should put some attribution to yourself at the top of the script "version x.x by Victor B" or something
1558379424
Victor B.
Pro
Sheet Author
API Scripter
Not yet.&nbsp; I'm hoping for Robyn to come back.&nbsp;&nbsp; There is one outstanding issue I've found.&nbsp; If you have a condition on the token and attempt to add the same condition (with say a longer duration), that's not working.&nbsp; You have to remove the condition in order to add it again.&nbsp; I'm working on a fix for that.&nbsp;&nbsp;
Victor B. said: Not yet.&nbsp; I'm hoping for Robyn to come back.&nbsp;&nbsp; There is one outstanding issue I've found.&nbsp; If you have a condition on the token and attempt to add the same condition (with say a longer duration), that's not working.&nbsp; You have to remove the condition in order to add it again.&nbsp; I'm working on a fix for that.&nbsp;&nbsp; This is so much needed - perhaps with a way to increase/decrease current duration.
1558488333
Victor B.
Pro
Sheet Author
API Scripter
There is....direction.&nbsp; If you use the macro I put into this thread, one of the options is direction.&nbsp; Put a 1 or higher and the number goes up for the conditions.&nbsp; Put a -1 or lower and the condition goes down and is automatically removed when it hits 0&nbsp;
1558614386
Victor B.
Pro
Sheet Author
API Scripter
Version 0.2.82 is out here:&nbsp;&nbsp; <a href="https://github.com/vicberg/Combattracker" rel="nofollow">https://github.com/vicberg/Combattracker</a> Fixed a bug where assigning the same condition to a token (with a higher or lower duration or a higher or lower direction) wasn't working.&nbsp;&nbsp; Outstanding: There's still an intermittent failure issue where the API crashes in handling Graphic Movement.&nbsp;&nbsp;
1558615814

Edited 1558618909
Victor B.
Pro
Sheet Author
API Scripter
One of the nice things that combattracker does is that you can specify that a token (NPC or Character) is stunned for 10 rounds.&nbsp; You'd place the stunned condition on the token with a duration of 10 and a direction of -1.&nbsp; You'll notice as you go through combat that the duration is reduced at the end of each round.&nbsp; When it goes to 0, the stunned condition is automatically removed from the token.&nbsp;&nbsp; You'll also notice that when the token comes up in the turn order, in chat it will display the current conditions on the token.&nbsp;&nbsp; The key to this is to use statustracker (!condition command to launch it, or !condition config to set it up) in order to setup your own conditions.&nbsp; You can use combattracker without statustracker, but I'd highly suggest using statustracker.&nbsp; Combattracker is currently setup to use anything setup in statustracker.&nbsp;&nbsp; Assigning conditions to tokens can be done via the normal click on token, bring up conditions, assign and you can put a number onto that condition (all via Roll20 User Interface), can be done by bringing up statustrack conditions (!condition) and clicking on a condition while having the token highlighted (I believe you can have multiple tokens selected and the same condition may be applied to all) or you can use the macro I've listed which also specifies direction.&nbsp; Direction is either a positive, negative or zero.&nbsp; It defaults to zero.&nbsp; At the end of each round that condition is either increased, decreased, or remains the same by the value in direction.&nbsp;&nbsp; Conditions may be removed via Macro or via the Roll20 User Interface (highlight token, bring up conditions, unclick the assigned condition) or if the direction is negative, it will automatically be removed when it hits 0.&nbsp;&nbsp;
Victor: awesome work on this! Is easy/possible to include text next to the icons in the !conditions command?&nbsp; For example, if you click on a token, then invoke !commands, when it shows the list of icon conditions. I'd love to be able to see the text too
1559182679
Victor B.
Pro
Sheet Author
API Scripter
I've had the same thought.&nbsp; However, text would take up a LOT of real estate, especially if you have a lot of status icons.&nbsp; They do have mouse overs.&nbsp; I encourage you to use the add/remove condition macro I created.&nbsp; It simplifies.&nbsp; You can remove also by normal means (clicking on token, show status icons, click to remove).&nbsp;&nbsp;
Victor B in testing your new versions I found that the status marker does not show the status being incremented/decremented as the rounds progress. For instance, I placed Charmed on a token for 3 rounds with a direction of -1. The status marker showed 3 every round until the Charmed status was removed. This happens regardless of whether it is counting up or down.&nbsp;
1559526716

Edited 1559526732
Victor B.
Pro
Sheet Author
API Scripter
I'll check but that's not happening for me.&nbsp; Something could have been broken