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 .
×

Aura/Tint HealthColors API v2.0.0

A couple of DMs whose games I play in mentioned that they wish this API had its bugs fixed, especially the ones where the aura would not show, and the animations no longer had colour. As I am a developer, I thought I would go about fixing this API to help in the games I play, and I'm posting it here to hopefully help others here, as I've seen other threads and posts where the community have been asking about fixes, as the author has not been able to maintain it in the past several years. I've posted the new version to the Roll20 API Scripts GitHub repository, and I am awaiting its review and merge, hopefully to be brought into Roll20 properly as version 2.0.0. The pull request is here:&nbsp; <a href="https://github.com/Roll20/roll20-api-scripts/pull/2202" rel="nofollow">https://github.com/Roll20/roll20-api-scripts/pull/2202</a> If you'd like to manually install this API, you can download it from Dropbox here:&nbsp; <a href="https://www.dropbox.com/scl/fi/t4ymkhnz157g3u4s0pfuf/HealthColors_v2.0.0.zip?rlkey=6zxqrd6zn7lkuinnhhnn5dyr7&amp;dl=0" rel="nofollow">https://www.dropbox.com/scl/fi/t4ymkhnz157g3u4s0pfuf/HealthColors_v2.0.0.zip?rlkey=6zxqrd6zn7lkuinnhhnn5dyr7&amp;dl=0</a> As part of the update, I have added a README file and a changelog; the manual installation instructions are in the README. Regarding the changes version 2 brings to this API, it is a m ajor modernization and stability refactor of the entire script, consolidating performance improvements, critical bug fixes, and new user control features. This version represents a complete overhaul from the v1.6.x series. Added Respect Manual Overrides — the script now only updates visual properties (Aura 1) when a token's internal health bar actually changes. This allows for manual customization of colors, radii, and shapes via the token settings dialog without script interference during movement. Persistent Default Auras — tokens at 100% health now default to a clean Green Aura 1 (at the configured `AuraSize`) to indicate stability. JSDoc Documentation — every function is now fully documented with parameter types, return values, and behavioral descriptions to improve maintainability. Centralized Configuration — all default state values, FX definitions, and internal parameters are now managed via unified constants. FX Recovery Commands — added `!aura reset-fx` (rebuild default heal/hurt custom FX objects) and `!aura reset-all` (restore all settings to defaults + rebuild default FX + force update). Public Settings Snapshot — setting-changing `!aura` commands now post a read-only settings panel to game chat for table visibility. Aura Detail Commands — added `!aura a1shape`, `!aura a1tint`, `!aura a2size`, `!aura a2shape`, and `!aura a2tint` to adjust displayed Aura 1/Aura 2 detail values from chat. Settings Output Command — added `!aura settings` to post the current settings snapshot to game chat on demand. Changed `_` (Underscore) dependency — no longer required. `buttonColor` function — legacy function completely removed after verifying no external or internal dependencies; superseded by `nameBtn`. Tautological FX condition `(UseBlood !== "OFF" || UseBlood !== "NO")`. `!aura on/off` semantics — now explicitly sets global enabled state instead of toggling on `on`. Schema version — bumped to `1.1.0` to reflect incremental state/data migration changes in the v2.0.0 line. Fixed Consistent casing for `checkInstall` and `handleToken` throughout. Initialization of `OneOff` state key to prevent `undefined` collisions. Corrected logic in `playDeath` to ensure jukebox tracks are properly stopped before restarting. Page scale calculation and aura radius math standardized for better precision. Heal and hurt FX color assignment now resolves `startColour`/`startColor` and `endColour`/`endColor` consistently, preventing gray/white fallback artifacts. Default heal/hurt FX random color channels are explicitly neutralized during spawn preparation to preserve configured color fidelity. Added a fallback spawn path that updates and triggers default custom FX by id (`spawnFx`) when definition-based spawning renders colors inconsistently. Tuned default heal/hurt particle profile values for clearer saturation and reduced washed-out appearance in experimental sandboxes. `!aura bar` now validates `1|2|3`, whispers confirmation on change, and immediately runs a full sync to apply the new bar selection. Tokens with no `max` value on the configured bar now have aura/tint cleared, preventing stale health indicators. Configuration output now explicitly includes Aura 2 detail rows in both the GM menu and public settings snapshot. Prevented duplicate settings output: setting-changing commands now publish a single game-chat snapshot instead of both GM and public panels. Aura 2 output values are now sourced from state-backed defaults (`Aura2Size`, `Aura2Shape`, `Aura2Color`) instead of hardcoded labels. Added Aura 1 Shape/Tint rows to settings output and backed them with default state values (`Aura1Shape`, `Aura1Color`). Default heal/hurt custom FX definitions are now synchronized proactively on install/reset and when FX colors change, preventing delayed/stale visual updates after color edits or token lifecycle events.
Ooh exciting. I’ve had a manually adjusted version for a longtime that I’ve never bothered to really go through or take a deeper look at, so thank you for this! I’ll let you know if I discover any issues. :)
1775775054
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hey MidNiteShadow7! Thanks! This script has needed this for a long, long time. Have you looked into the settings that are really outside the mission of the script? IIRC, it can enforce nameplate display behavior, etc. A lot of times, issues that folks have reported have been due to this script setting unexpected behavior.
keithcurtis said: Hey MidNiteShadow7! Thanks! This script has needed this for a long, long time. Have you looked into the settings that are really outside the mission of the script? IIRC, it can enforce nameplate display behavior, etc. A lot of times, issues that folks have reported have been due to this script setting unexpected behavior. I haven't. I'm very new to D&amp;D and Roll20, and I have never been a GM - I worked out how to create a game and got a subscription just to test this API. But if you can tell me how to reproduce the issue, I can look into making future updates to fix it.
Initial limited testing looks good!&nbsp; I'm very much looking forward to using it in my game in a couple of days.&nbsp; Very nicely done MidNiteShadow7.&nbsp; Thank you for taking that task on!
1775794491
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
MidNiteShadow7 said: keithcurtis said: Hey MidNiteShadow7! Thanks! This script has needed this for a long, long time. Have you looked into the settings that are really outside the mission of the script? IIRC, it can enforce nameplate display behavior, etc. A lot of times, issues that folks have reported have been due to this script setting unexpected behavior. I haven't. I'm very new to D&amp;D and Roll20, and I have never been a GM - I worked out how to create a game and got a subscription just to test this API. But if you can tell me how to reproduce the issue, I can look into making future updates to fix it. It's not so much a bug or an issue as it is the script acting out of scope. The original author, DX Warlock IIRC, did a great job, but it was their first script, and they packed a little too much into it of other things they wanted to automate. The original intent was a script that gives the user an indication to the health status of tokens on the VTT. Then they started adding in things like enforcing vision and nameplate settings. Such a thing is fine, if that's what the user wants, but it's not what is written on the tin. Over the eyars I have fieldded a large number of user issues where they believed something was wrong with their default token settings because they could not keep nameplates displaying the way they set them. The solution up until now has been to tell them to diving into the config of this script and turn those options off (or just uninstall). It sounds like you have addressed one of the issues (that it hijacks the use of the auras for its exclusive use). I'd suggest looking into the config options for anything not directly related to the purpose, and pruning it. My 2¢, anyway.
keithcurtis said: It's not so much a bug or an issue as it is the script acting out of scope. The original author, DX Warlock IIRC, did a great job, but it was their first script, and they packed a little too much into it of other things they wanted to automate. The original intent was a script that gives the user an indication to the health status of tokens on the VTT. Then they started adding in things like enforcing vision and nameplate settings. Such a thing is fine, if that's what the user wants, but it's not what is written on the tin. Over the eyars I have fieldded a large number of user issues where they believed something was wrong with their default token settings because they could not keep nameplates displaying the way they set them. The solution up until now has been to tell them to diving into the config of this script and turn those options off (or just uninstall). It sounds like you have addressed one of the issues (that it hijacks the use of the auras for its exclusive use). I'd suggest looking into the config options for anything not directly related to the purpose, and pruning it. My 2¢, anyway. I've fixed anything I could identify as an issue based on feedback from old forum posts, but as I don't GM and have only been playing for the past several months, I am limited in my ability to identify other settings where the script might be overreaching in its functionality. But I'll keep an eye on the forums, Reddit, and Discord, and I'll look to fix, remove, or add functionality to improve its stability moving forward.
1775830561
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Thanks! This is a popular script,and it's needed attention for a long time.
Awesome! Is it also possible to turn off the aura. Sometimes situations comes up and I need to use both Auras for something else and I had no ways to disable it. A toggle feature would be great, so we can still maintain the sound and visual effect.&nbsp;
Novercalis said: Awesome! Is it also possible to turn off the aura. Sometimes situations comes up and I need to use both Auras for something else and I had no ways to disable it. A toggle feature would be great, so we can still maintain the sound and visual effect.&nbsp; Set the colour/tint to transparent (bottom right colour option in the picker), or set the radius to an empty value. That should get rid of an aura. To remove the health indicator, set the max value in the Aura1 values to 0. That should hopefully do what you need.
If anyone is interested, I made a video to introduce the new version and show some of the usage: <a href="https://youtu.be/07x_Md085YA" rel="nofollow">https://youtu.be/07x_Md085YA</a>
1775889307
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
MidNiteShadow7 said: If anyone is interested, I made a video to introduce the new version and show some of the usage: <a href="https://youtu.be/07x_Md085YA" rel="nofollow">https://youtu.be/07x_Md085YA</a> Holy cow! That was epic!
1775931107
vÍnce
Pro
Sheet Author
keithcurtis said: MidNiteShadow7 said: If anyone is interested, I made a video to introduce the new version and show some of the usage: <a href="https://youtu.be/07x_Md085YA" rel="nofollow">https://youtu.be/07x_Md085YA</a> Holy cow! That was epic! Agreed!&nbsp; I'm ready to wait in line in at 112° for the summer release... You better step up your YT vids game Keith. ;-P Thanks for updating this very popular mod MidNiteShadow7
1775934200
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
vÍnce said: You better step up your YT vids game Keith. ;-P No thanks, that bar is too high. :D
vÍnce said: keithcurtis said: MidNiteShadow7 said: If anyone is interested, I made a video to introduce the new version and show some of the usage: <a href="https://youtu.be/07x_Md085YA" rel="nofollow">https://youtu.be/07x_Md085YA</a> Holy cow! That was epic! Agreed!&nbsp; I'm ready to wait in line in at 112° for the summer release... You better step up your YT vids game Keith. ;-P Thanks for updating this very popular mod MidNiteShadow7 keithcurtis said: vÍnce said: You better step up your YT vids game Keith. ;-P No thanks, that bar is too high. :D LOL, I think Roll20 will need to allow YT embedding before others think about making videos
1776019188
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Yeah, I try to make a demo video of each of my major script releases, but they are extremely utilitarian. The only production value is editing out pauses and filler words.
I pay for Envato for my podcasting, so using templates of actual creatives makes it easier to make announcement videos for a bit of fun. Unfortunately, I don't have that much creativity to create them from scratch.