GridStatusShield
This addon provides a grid status which provides the remaining amount of your shields on a unit.
Ok, 4.0 is there and Blizzard heard my prayers and added absorb tracking support. Therefore now also shields of other players and classes should be displayed correctly (at least when I'm done with it :-). And they should be very accurate now.
Currently I'm still experimenting whats the best way to use these therefore GridStatusShield currently provides two different methods to use. The first is based on the combat log and the other one on internal events and the tooltip of unit buffs. You can change the method in the settings of GridStatusShield. So if you encounter any problems try changing the tracking method (and let me know about the problems).
Some pros and cons of the two methods
Combat log based:
- PRO: independent from clients language
- PRO: pretty fast
- CON: not very reliable (out of range units, broken log, lag, missing events for certain shields, multiple shields of the same kind (divine aegis))
Buff-tooltip based:
- PRO: reliable concerning lag, range, and multiple shields of the same kind
- CON: very slow at the moment because it parses every buff tooltip every time something changes (can be improved a lot)
- CON: parsing needs to be done for every language separately (If you can help me with your language there it would be awesome!)
A FAQ (just to amuse me ... and maybe it helps you :-))
Q: I don't see any shield values!
A: Maybe your language isn't supported yet, try changing to combat log based shield tracking.
Q: I don't see any value for Power word: Barrier!
A: This shield does not create any combat log messages, try disabling combat log based shield tracking.
Q: This ** addon slows my PC extremely down in fights!!!
A: The current default shield tracking method is very slow, try changing to combat log based tracking, that should be much faster.
Q: The shield values aren't displayed correctly if there is more than one Divine Aegis on a unit (or any other shield which can occur multiple times on the same unit).
A: Yeah, those are hard to keep a part using the combat log. Try disabling combat log based shield tracking.
Q: "Try this! No, try that! Then try this! Nom no! Try that method!"... you are messing with us right?
A: Maybe... just wanted to show the pros and cons of the two methods in another way ;-)
I noticed an error when I first PWS'd myself with your status enabled, it was that settings.unitShieldLeft didn't exist. Something with the AceDB isn't copying the default settings correctly, so I added a line to GridStatusShield:OnInitialize to copy the default if they weren't copied:
if not settings.unitShieldLeft then settings.unitShieldLeft = GridStatusShield.defaultDB.unitShieldLeft end
I think I was able to reproduce your Problem. But not by using a new Profile or a virgin WTF folder but by switching from one profile to another without reloading the UI. After a reload the profile was loaded correctly and no error occured. I'm not sure what caused that error but since a simple reload fixed it I'm not to compelled to look deeper into that one :-)
What exactly did you do to produce your error? Was it persistent after a reload?
It was fine after reload, so I guess the settings got saved on exit.
It probably would have done it the first time for every new profile too (like a new character), but I never checked before adding the fix so I can't be sure.
Since adding the fix, I've used it on my Paladin with no problems so I guess it works fine.
The problem I have with the fix is that if the error that happened for me when switching between the profiles is the same as your error, the fix would cause the profile to be overwritten with the default settings...which would be bad :-).
Do you have a method to reproduce the error consistently so I can have a better look at it myself?
Hi there, I just downloaded your module and I must say I love it!
I'm not sure if grid's ui allows this, but I was wondering if it would be possible to add three check boxes to the status screen to further customize your healing for boss certain specific mechanics or healing styles.:
"Ignore physical shields" - ignoring physical shields such as the one granted by death strike would be great for bosses that deal magical damage only, like Lei Shi. Otherwise Death knights are shown as always having a 400k+ shield.
"ignore magical shields" - same thing, except for magical. Many monks will glyph into guard with the full intention of not having their magical only absorb used, so that they will always benefit from the +30% self healing buff. On a physical only damage fight, a monk tank will always be seen as having a larger shield than he really does.
"Include heals that activate on damage taken" - I often consider abilities such as living seed and prayer of mending to be shields, since they are still a protective cushion when the player takes damage.
Again thank you so much for this addon, it has helped me greatly in preventing wasted mana in overhealing, along with preventing many deaths in knowing where shields need to be placed before the boss does burst damage.
Regards,
Dugley
Very interresting suggestions! The main problem however is that both changes would complicate the addon a lot. The checkboxes would be rather doable but would only work when shields are parsed by auras instead of combat log and would need string parsing and therefore are translation dependent...
Adding PoM etc as shield is a nice idea but would be even more complicated...hmm...
Both ideas are very useful and are doable but I'll have to see how much they would complicate things (and complicating things always mean loosing robustness).
Thanks in any case for the input I'll think about it.
Hello,
I'm sorry to bother you, but I have a problem.
I download this addon just right now, for the first time, I properly configured but nothing happend :(
What can I do ?
Hi!
I am looking for an Addon helping with the new ability spirit shell. My idea would be to make use of the values for middle shield and minimum shield (as there is no "maximum shield"). So i would configure something like "show green icon when shield > 200.000" (= no use continue stacking spirit shell, it's at max anyway). But unfortunately the max value for middle shield is only 60.000... any idea how to solve this? Maybe at a configurable max. shield value, oder maybe just increase possible input values for middle and low?
Thanks!
No problem. I increased thresholds to 400k and 200k now with Version 1.27
That was quick, thanks a lot!
As a little heads up, the way you pull back the information for Absorbs doesn't work for Spirit Shell, because of the wording on the tooltip, you'll need to make sure the addon is also scanning the tooltips for "Absorbing x Damage" as well.
It works for Sacred Shield, even though the wording is "Absorbs up to X damage" Not sure why, I just fixed it on my end and figured I'd save you the trouble of looking for the reason.
Thanks for letting me know! I use the german client were it still works fine. I'll look into the problem and fix it. Until then the combat log based tracking of shields should work regardles of the client language.
Fixed. The reason why Sacred shield works while Spirit Shell doesn't was that the pattern "absorbs.- ..." includes the "s" which isn't present in "absorbing" -> changed pattern to "absorb.- ...".
Is it possible to make it working with the new Spirit Shell?
Should be fixed in v1.26. It was a problem with the localisation. If this happens again you can try switching to combat log based parsing in the Status->ShieldLeft options of Grid configuration.
No update makes me sad. :-(
Why? Is it broken or are you missing any features?
If you want I can update it for the current version of WoW so it isn't marked as outdated anymore in the addon list but that is a pure cosmetic change. Well, maybe not completely cosmetic but pretty much :-)
@Lukszar
well it works - just the Combat Log tracking is broken since Blizz changed the SPELL_AURA_REFRESH from shields to SPELL_MISSED, SPELL_PERIODIC_MISSED Arg 12&13 and SWING_MISSED Arg 10&11
1x GridStatusShield-1.23\GridStatusShield.lua:208: attempt to index field 'unitShieldLeft' (a nil value)
Grid-4.2.0.1442\GridCore.lua:164: in function `ResetModules'
Grid-4.2.0.1442\GridCore.lua:107: in function `Reset'
Grid-4.2.0.1442\GridStatus.lua:406: in function `Reset'
Grid-4.2.0.1442\GridCore.lua:321: in function `ResetModules'
Grid-4.2.0.1442\GridCore.lua:259: in function <Grid\GridCore.lua:256>
<in C code>: in function `?'
CallbackHandler-1.0-6 (Ace3):147: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
<string>:"safecall Dispatcher[3]":4: in function <[string "safecall Dispatcher[3]"]:4>
<in C code>: ?
<string>:"safecall Dispatcher[3]":13: in function `?'
CallbackHandler-1.0-6 (Ace3):92: in function `Fire'
AceDB-3.0-22 (Analyst):462: in function `SetProfile'
...:
<in C code>: ?
<string>:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceConfigDialog-3.0-54:793: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:613>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0-33 (Ace3):314: in function `Fire'
Ace3-Release-r1032\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:74: in function <...Ons\Ace3\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:71>