I'm trying to get a sense of which supported specs are used the most by you, the player! If you have a minute to spare, could you please check some boxes on a poll? Thank you! https://strawpoll.com/u712c6xhb
Twintop's Insanity Bar is now Twintop's Resource Bar!
A multi-class resource bar, based on my (Twintop's) previous Shadow Priest Insanity Bar WeakAura set from Legion.
Currently supported specs:
- Demon Hunter - Havoc
- Druid - Balance, Feral, Restoration (Experimental/Minimal)
- Hunter - Beast Mastery, Marksmanship, Survival
- Monk - Mistweaver (Experimental/Minimal), Windwalker (Experimental)
- Priest - Holy, Shadow
- Rogue - Assassination, Outlaw
- Shaman - Elemental, Restoration (Experimental/Minimal)
- Warrior - Arms, Fury
This is a fully customizable resource bar for multiple classes and specs to use to track their primary resource while in combat. Features include:
- Full color, font, and texture customization of every part of the bar to make it suit your UI or make certain situations stand out.
- Audio and visual cues for when important spells (e.g. Devouring Plague, Earth Shock) can be cast.
- Time To Die of enemies you've targeted
- Spell icons for your current casting spell and many others that are related to your primary resource or for tracking.
Spec specific features included for Shadow Priests:
- Calculates how long you have left until Voidform will end in Hungering Void, given the current Haste and Crit levels
- Tracks Shadowy Apparition spawns (with Auspicious Spirits talented) and incoming Insanity as a result.
- Tracks Shadowfiend/Mindbender swings and expected incoming Insanity from future swings.
Bar text can be configured to show the following data in whatever format you'd like:
- Current resource, mas resource, resource from Hardcasting a spell, resources incoming from Passive Sources (e.g. Auspicious Spirits, Shadowfiend/Mindbender, Death and Madness, and Eternal Call to the Void procs)
- Current Haste%, GCD, Crit%, Mastery%
- Number of Damage over Time spells out on targets
- Time To Die of enemies you've targeted
- Spell icons for your current casting spell and many others that are related to Insanity or tracking.
Found an issue? Report it on GitHub (https://github.com/Twintop/TwintopInsanityBar/issues/) or in Discord (https://discord.gg/eThqxM78xm)
Looking to customize the bar's text? Be sure to check out the wiki!https://github.com/Twintop/TwintopInsanityBar/wiki/Bar-Text-Customization
In reply to TwintopTahoe:
I noticed this too. It happens in both out of combat and in combat scenarios. Outside of combat you can recreate it when Insanity starts to drain just go in combat to stop the drain (you have like 0,5sec window to desync the actual Insanity value from the value that your addon shows). - You have to have actual Blizzard UI insanity to see the real value of your insanity for all of this.
In combat the easiest way to recreate is to pick FotM talent and just cast Mind Blast. Addon will give you 10 Insanity while the actual Insanity is 9 HOWEVER the second spell or mind blast after this Desync (I think everytime) will give you the correct value. Then the one after wrong and so on... so my guess would be its a bug with rounding while using Fotm?
However sometimes even the blizzard actual Insanity gain doesnt work with FotM. Because sometimes full channel Mind Flay only gives you 21 Insanity instead of 22 (dunno how to reproduce that easily other than just casting mind flays and hoping it bugs out).
I remember I somehow could recreate this even without FotM talent selected by just "fake casting" first tick of Mind Flay but now I can't seem to recreate this (that was like month ago)
This desync issue isnt really an issue since you would have to cast spell in such a specific/unrealistic order to get into situation where you end up at 50 insanity shown by addon but your real would be 49 which is pretty hard but it is how I first discovered it that I couldnt cast DP even tho addon said 50.
In reply to Nana_is_Bae:
Thanks both of you for pointing this out!
The Blizzard UI API can be finicky, but a while back I changed to pulling the full insanity value (out of 10000 not 100) and using a factor to generate results. This might be why it's started being a bit off. I added a printout to chat every time a data refresh was happening to monitor what was happening when Insanity was draining out of combat. I always thought it was in 1 tick/sec increments when in fact it is more like energy/focus/mana generation but in reverse:
https://gfycat.com/alienatedteemingcoyote
I'm going to tweak how I handle this being populated up to the front end so that the decimal place option for FotM will also include Insanity overall and, in the case that you're choosing to not show any decimals, ensure that it rounds down. This should mostly fix the issue you're seeing...
I say mostly because, for performance reasons, I throttle how often the backend calculations occur to at most once every 1/20 of a second (50ms) PLUS whenever there's an insanity generation event, which only occurs in combat. This has a direct impact on how often parts of the UI are updated as well. I've been meaning to change this to being configurable and may add that as well...
I'm in the middle of making some tweaks to support Marksmanship Hunters as the next spec, so expect these changes (maybe not the refresh rate throttling) in the next release with that. I'm hoping to have it out either later today or tomorrow so that it's all squared away for Shadowlands launch. :)
In reply to TwintopTahoe:
I think this is resolved in 9.0.2.26-release. Please give it a try and let me know if anything seems off. There are options to increase the precision of Insanity from 0 decimals to 1 or 2 decimals. For 0 or 1, it always floors/rounds down what is displayed. If you're using something like FotM in 0, it will show 3 instead of 4 (again, rounds down).
There's something weird going on with the config for "shadowfiend insanity gain threshold line" - it seems to reset after I set it and doesn't actually apply when testing it. The same thing also occurs with all the other color configs, except they actually do apply, but the config doesn't show up, looks like this: https://i.imgur.com/tPRiR8U.png
In reply to Forge_User_10679060:
Yikes. Well that's not ideal. Thanks for letting me know, I'll have a look and get it sorted. :)
In reply to Forge_User_10679060:
I have a fix for the threshold line, but I'm not able to reproduce the other issue you're seeing with color samples not updating. Once 9.0.2.23-release is out later today, can you tell me if you're still experiencing that bug?
In reply to TwintopTahoe:
Shadowfiend threshold line works correctly now, the color samples are still acting weird. I recorded it and uploaded to gfycat: https://gfycat.com/ru/brokenjadedapatosaur
I tried this both with ElvUI's custom color picker and without loading ElvUI with the default color picker, it happened the same way with both. Happened with no other addons loaded as well.
In reply to Forge_User_10679060:
Thanks for the GIF, that was incredibly helpful.
Looks like this got broken when I fixed the Alpha sliders being reversed. Font/Text doesn't use Alpha at all so I was setting it to maximum (so the preview would always look correct to what the bar would display), but in reversing it the preview went from no Alpha to full Alpha.
This'll be fixed in the next release. Thanks again!
Hey. I love the idea of showing TTD on the bar with thresholds that change the texts color for S2M usage in dungeons, but that's the thing - I only want this to show up if I'm actually running S2M. I see that there's a check available in the texts for Call of the Void equipped - I wonder if it'd be possible to add a check like "S2M specced" in a similar fashion so that I could only show TTD when using that talent? Or maybe you have some more eloquent solution to accomplish the same end result or something.
(Also, the 'character data refresh rate' slider seems to be bugged, at least on beta.)
Edit: also, Mind Blast gives 8 insanity, but the addon seems to think it's 7.
In reply to Forge_User_10679060:
Hey there! I'm working on a new release right now for tonight (hopefully) that should address all of these, but I want to touch on them individually:
I've got some ideas in my head but with the way bar text logic currently works, the way I *want* to solve it isn't possible as of right now (multiple variables being checked at once).
What I can do is add a new bar text variable for Surrender to Madness (probably $s2m and some variants) so that you can add something like the following to your bar text to have TTD on when you're using S2M:
{$s2m}[TTD: $ttd]
Keep in mind that the way this will *always* show, unlike the current implementation where it only shows if you have a target with an active TTD estimate.
(Also, the 'character data refresh rate' slider seems to be bugged, at least on beta.)
Thanks for the heads up! I'll have it fixed in the next build.
Edit: also, Mind Blast gives 8 insanity, but the addon seems to think it's 7.
This is a live vs. beta difference, currently. I've got a branch ready to merge in with Mind Blast, Searing Nightmare, Void Torrent, and Auspicious Spirits changes once Blizzard unifies the two.
In reply to TwintopTahoe:
Ah, yeah sorry I didn't know the retail/live differences as I'm only testing shadowpriest now on beta.
Regarding TTD: the text seems to always show right now too, just that it falls back to a "--" string whenever there's no actual TTD to display, so I don't understand how it would differ from current implementation. On that note though, I feel like it'd be cleaner if it fell back to an empty string instead
In reply to Forge_User_10679060:
The way I have it setup in the "Advanced" default text is with a check for a TTD value before displaying, i.e.
{$ttd}[TTD: $ttd]
So if it is empty (or displayed as "--"), it isn't a valid variable and isn't shown.
EDIT: Submitted too soon. Finishing my thought.
The way I see it, if there's an expected value (whether it is 0, --, 0:00, or something similar) then something should render there. It's up to the logic in the rest of the bar text to filter what is shown when. The issue I was referring to in my previous post was that a solution like
{$ttd&$s2m}[TTD: $ttd]
Would be ideal, but right now the logic in the bar text doesn't support multiple logic tests. I have plans to address that, though.
In reply to TwintopTahoe:
Ah I see, yeah this sounds reasonable from a dev perspective. You probably don't want to be messing with things returning empty strings and whatnot to avoid having to untangle a mess later on, rather delegate the validation and formatting to the element responsible for display.
In reply to Forge_User_10679060:
Yep! It's on me for providing an easy way to ensure what people want to have displayed is possible, though. :)
The new $s2m variable has been added in 9.0.2.22-release. Hope this does the trick or tides you over until I can work on some more advanced bar display logic functionality!
Hi, any chance to add "Insanity Text Colors" options for when DP and when SN is castable for Shadow Priests?
In reply to Nana_is_Bae:
Hi there. Sure can! I've added it to the to-do list to add this for all 3 specs. Thanks for the suggestion!
In reply to Nana_is_Bae:
This is now an option in 9.0.2.18-release. Cheers!
In reply to TwintopTahoe:
Sorry to bother you with this again but could you make it so that even when you are using "$insanityPlusCasting" and your current Insanity is at >=50 it will also change the color of the text and not just when using "$insanity"?
In reply to Nana_is_Bae:
Sure. I'll have a look and make sure that is behaving properly for the next release.
In reply to TwintopTahoe:
Added in 9.0.2.22-release