Download
(21 Kb)
Download
Updated: 12-02-11 02:29 AM
Pictures
File Info
Updated:12-02-11 02:29 AM
Created:10-26-08 11:30 AM
Downloads:88,111
Favorites:328
MD5:
Shieldmonitor  Popular! (More than 5000 hits)
Version: 1.11.0
by: frenchie [More]
Shieldmonitor by Frenchie
German localisation by Spiritmoon
Russian localisation by Glaurung
French localisation by Iktose
Korean localisation by Metalchoir
Chinese localisations by xiezi and juha
Spanish localisation by miros

Current version: 1.11.0, 2nd December 2011 - Available from http://www.wowinterface.com/

IMPORTANT: unfortunately I no longer play as main any characters that use shields (my mage I used to test the last update is still level 70!). So I'm not it a position to make updates or test for most gameplay changes. If someone else wants to pick up development on this addon, I'm happy to help out with any explanation of the code as needed.

Note: Due to time constraints development on this mod by me is now in maintenance mode, if anyone else wishes to pick it up to update it or add new features, please feel free.

Changelog
=========

1.11.0 - Updated for Wow 4.3 combatlog API
- removed right-click menu since is causes taint - use /sm options to change any options now
1.10.0 - Updated for Wow 4.2 combatlog API - no other changes
1.9.0 - Updated for Wow 4.1 API - no other changes
1.8.2 - Where shield strength is read from the tooltip this is now used as the final value as this should now already include spell/glyph bonuses. As a result we now check the tooltip every time a shield is cast rather than caching the value, since spellpower could have changed.
1.8.1 - Fix to shields where Blizz now sends the strength going back to 100% after damage - since they also now send a SPELL_AURA_REFRESH with a new strength each time such a shield takes damage.
- added French translation for Mage Ward (Thanks Mizaru)
- added Paladin's Guarded by the Light shield (Thanks Tatltael). Note I don't have a Paladin to test this on, so it's up to you guys
1.8.0 - Since Blizz have been kind enough to include the shield strength in the combat log for Priest shields, this version now reads that value
- other classes shield strength is still determined using tooltips so a fix is also included in case the user has beginner tooltips switched on
- support for Mage Shield in the Russian client added (thanks Khom), other translations still needed.

1.7.3 - more fixes to talent detection that were causing error messages
1.7.2 - added Mage Shield, works for English client only at the moment (thanks to grimmier)
- fix for PW:S bug as a result of talent tree changes
1.7.1 - fix for mouse button click handler
1.7.0 - Compatibility fix for WoW 4.0.1 - IMPORTANT NOTE - this is a fix for small changes in the WoW API ONLY - It does not address any changes in shield mechanics or any problems that may have been caused by tooltip changes.
1.6.1 - Small fix to Russian locale for Power word: shield
1.6.0 - ToC updated for WoW 3.3, cap of 10k added on Divine Aegis shield

(for changes in older versions, see the 'Change Log' tab)

Description
===========
Since Patch 3.0, the combat log has shown exact figures for damage absorbed by shields such as 'Power Word: Shield'. Shieldmonitor is a lightweight addon that takes advantage of that fact to provide feedback on precisely how much more damage a shield can sustain before it fails. It does this by means of a small window that shows a bar with the percentage and damage absorption of the shield remaining as well as the time the shield buff has left.

Usage
=====
This addon is pretty much install and go. There will be nothing to see until a shield is cast on you (by yourself or someone else). At that point the status window appears, initially in the centre of the screen. Left-click and drag the window to where you'd like it to be. Right click on the window to pop-up a menu with options 'Lock Window' and 'disable' and 'Options'. If you disable Shieldmonitor via the menu, then you either have to use the slash command /shieldmonitor enable or the options screen to re-enable it. Note that Shieldmonitor's window disappears as soon as the shield is exhausted, dispelled or the shield buff times out.

Shields currently monitored are:

Priest - Power Word: Shield, Divine Aegis
Mage - Ice Barrier, Mana Shield, Mage Ward
Paladin - Sacred Shield, Guarded by the Light
Warlock - Voidwalker Sacrifice, Shadow Ward
Herbalists - Fel Blossom (note this provides a shield that has a min and max damage absorption. For the purposes of monitoring, the most optimistic value is taken, however Shieldmonitor will close its window as soon as the shield fails.)

Limitations
===========
The maximum value of a Power Word: Shield or Divine Aegis cast on you by another player will probably be inaccurate, since the shield will benefit from the casting player's spell bonus and talents and this is not available via the API, only your own spell bonus/talents. (that is unless someone can point me to a way to find it out - GetSpellBonusDamage is self only).

There are no configuration options for the style of the window other than the scaling. If you don't like it, feel free to play around with the xml file, everything that controls its appearance is in there.

Localisation
============
The addon will work for the English, German, French, Spanish, Korean, Chinese (zhCH and zhTW) and Russian clients at present. If any player from a non-supported locale wants to help, then you can see what needs to be done by looking at the already added German (deDE) locale block in the lua file. Only the spellnames and the TIPREAD entries are essential for making the addon work, other texts are just for completeness.

Noted suggestions (which may or may not make it into a future version!)
==============
- Add a sound alert to the warnings (possible, perhaps)
- Add option to customise bar textures (possible, low priority for now)
- Add option to adjust bar length (possible, low priority for now)
- make addon communicate between people in groups/raids who are all using shieldmonitor in order to make the level of PW:S casted on you by someone else accurate (possible, being researched, testing issues though, i.e. requires group!)
Note: It's likely to be a while now before I dovote a lot more time to Shieldmonitor as, like everyone else I suspect, I'm now busy levelling my main characters to 80

Bugs
====
Due to the complexity of testing various shield combinations at the same time, the priority of the shields with respect to each other might not yet be correct. Any testing info always welcome!
1.5.0 - Updated for WoW 3.2 - localisation patches incorporated
1.4.6 - Paladin sacred shield added into Korean locale, fix to different duration on sacred shield depending on talents (Thanks Metalchoir).
1.4.5 - Fix to voidwalker shield
1.4.4 - Changed the way talents / glyphs are checked since the Blizz functions do not return the right info immediately after zoning into an instance/bg. Checks are now done the first time you cast any shield spell in any particular instance.
1.4.3 - Urgent fix to problem that could cause Shieldmonitor to hang the UI under certain conditions
1.4.2 - Spanish localisation added
- attempts to clear existing buffs on entering arena
- fixed bug where tooltips are different during the preparation phase of arena/bg (mana line is not shown) therefore were not being read correctly.
1.4.1 - A few small fixes to Ice Barrier. Now checking for correct glyph id, glyph bonus calculation changed, French tooltip pattern updated.
1.4.0 - Added paladin Sacred Shield spell. I've been able to localise the spell name for the German, French and Russian clients thanks to Wowhead but other localisations still need transalation. The priority of this shield with regard to other shields still needs checking.
- Added code to (hopefully) handle stacking of Divine Aegis shields.
- Fixed Divine Aegis spelling for German client.
1.3.0 - Updated for WoW version 3.1
- version numbering changed to format <major>.<minor>.<release>, changes to the <release> number will mean that there are only bug fixes/localisation updates. Feature changes will be reflected in a change to the <major> or <minor> number
- priest talent checks updated to reflect the revised trees
- check for Mage Glyph of Ice Barrier added.
- also includes a small non-shield related function for hunters to announce their misdirect. Why? I have a hunter and wanted this and as it only took a few lines I couldn't be bothered to write a complete new addon. By default the feature is switched off. Activate it with the command
/sm mdchannel <channel> where <channel> is any valid chat channel such as SAY, PARTY, RAID, etc then you will get an announcement in that channel whenever you successfully cast a misdirect. use OFF to turn off the feature again.
1.20 - Small fix to zhTW locale
1.19 - Chinese (zhCN and zhTW) locales added, thanks to xiezi and juha
1.18 - Korean localisation added thanks to Metalchoir.
- Warlock shield spell Shadow Ward is now monitored, thanks to Metalchoir for pointing that spell out.
1.17 - French localisation added thanks to Iktose. Still nothing new for anyone already running 1.14 (and will be a while for anything new, as now playing WotLK :) )
1.16 - Russian localisation added thanks to Glaurung. Again, nothing new for anyone already running 1.14
1.15 - German localisation added thanks to Spiritmoon. No new features so people already running 1.14 do not need to download.1.14 - Small fix to trap bad arguments to the slash commands
1.13 - Added options to warn you when the shield goes below a specified time or percent left (initial warning defaults are 3sec and 20%). The corresponding text element will flash as will (optionally) the frame border. These new options and the existing options can be configured through the Blizzard Interface options screen, where Shieldmonitor now has its own panel. You can directly access this panel via /shieldmonitor options, or the right-click menu new item 'Options'.
- added /sm as a shortcut for /shieldmonitor

1.12 - Divine Aegis is now monitored.
- Talents affecting the maximum value of PW:S are now taken into account. However note that with both Divine Aegis and PW:S the maximum value is unlikely to be accurate if cast on you by another player. This is because my addon doesn't have access to the other player's talents and spellpower through the API.
- A few slash commands have been implemented
/shieldmonitor scale <num> (where <num is between 0.3 and 3) scales the shieldmonitor window. This setting is saved per character. Using a value of 1 will reset the window to the design size.
/shieldmonitor disable - disables shieldmonitor for the remainder of the current session, or until re-enabled or a reloadui is performed. The disable function is also available via the right-click menu.
/shieldmonitor enable - re-enables shieldmonitor if disabled.

1.10 - Now handles multiple shields up at once. The status bar always shows the 'outermost' shield (i.e. the one first in line to take damage). If this shield is removed and another one is still active the bar will change to show that. Similarly if a shield with a higher priority is cast the bar again changes to show the new shield. This means that the status bar is almost always showing the shield that is taking damage. The only exception to this is if a mage has both an elemental (fire/frost ward) up and mana shield, and takes damage that cannot be absorbed by the elemental shield. In this case the mana shield will take the damage, but the status bar will continue to show the elemental shield. Internally the addon will keep track of the level of the mana shield and it will be displayed at the correct level if the elemental shield is lost. This version also introduces a small icon on the left of the status window to indicate which shield is being displayed, as well as using different coloured status bars for the different shields.

1.05 - Now correctly detects environmental damage absorbed by a shield. Also most shields get a benefit from the player's current spell bonus. This isn't shown in the tooltip and therefore the addon was previously showing a too low value for these shields. As far as I can tell the extra to these shields is 80.5% of the appropriate spell bonus (holy,fire, frost etc). 80.5% seems a bit of a strange number and may not be quite accurate, but it's the best I could come up with testing on my poorly geared mage and priest.

1.04 - Initial public release
Optional Files (0)


Archived Files (21)
File Name
Version
Size
Author
Date
1.10.0
21kB
frenchie
06-29-11 04:46 AM
1.9.0
21kB
frenchie
04-27-11 08:12 AM
1.8.2
21kB
frenchie
11-21-10 08:05 AM
1.8.1
21kB
frenchie
11-18-10 03:38 AM
1.8.0
20kB
frenchie
10-18-10 04:59 AM
1.7.3
20kB
frenchie
10-16-10 05:32 AM
1.7.2
20kB
frenchie
10-15-10 07:09 AM
1.6.1
20kB
frenchie
02-11-10 06:50 AM
1.6.0
20kB
frenchie
12-17-09 05:22 AM
1.5.0
20kB
frenchie
08-05-09 11:44 AM
1.4.6
20kB
frenchie
06-19-09 05:59 AM
1.4.5
20kB
frenchie
05-20-09 04:22 AM
1.4.4
20kB
frenchie
05-11-09 04:14 PM
1.4.3
20kB
frenchie
05-09-09 05:18 PM
1.4.1
19kB
frenchie
04-25-09 01:50 AM
1.4.0
19kB
frenchie
04-22-09 05:22 AM
1.3.0
18kB
frenchie
04-20-09 12:15 PM
1.20
17kB
frenchie
12-01-08 02:07 PM
1.19
17kB
frenchie
11-22-08 12:15 PM
1.18
16kB
frenchie
11-16-08 05:49 PM
1.17
15kB
frenchie
11-15-08 12:34 PM


Post A Reply Comment Options
Old 09-04-09, 06:26 PM  
Cerberew
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Originally posted by frenchie
I'm unable to reproduce the problem at the moment with the English client. Could you try running it with the debug option on (/sm dbg) and paste the messages here?
look
[04:23:22] SHIELDMONITOR DEBUG: aura from spell 48066
[04:23:22] SHIELDMONITOR DEBUG: aura expires 63665.616 duration 30
[04:23:28] SHIELDMONITOR DEBUG: dmg is school: 4


[04:23:28] SHIELDMONITOR DEBUG: dmg is school: 4 - After that lag begin, warlock attack me with 8k crit, shield left and lag begin
Last edited by Cerberew : 09-04-09 at 06:29 PM.
Cerberew is offline Report comment to moderator  
Reply With Quote
Old 09-07-09, 08:25 AM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
Thanks for taking the trouble to do this, unfortunately it hasn't got me any nearer to finding the bug, as there's still no sign of any problem when running the English client.

Sorry, I can't help you any further, My suspicion is that there is something odd in the handling of the combat message on the Russian client that is sent when the shield is destroyed, but that's just a guess. I know it's annoying when an addon disrupts the game. I think it needs an addon author running the Russian client to investigate this.

Originally posted by Cerberew
look
[04:23:22] SHIELDMONITOR DEBUG: aura from spell 48066
[04:23:22] SHIELDMONITOR DEBUG: aura expires 63665.616 duration 30
[04:23:28] SHIELDMONITOR DEBUG: dmg is school: 4


[04:23:28] SHIELDMONITOR DEBUG: dmg is school: 4 - After that lag begin, warlock attack me with 8k crit, shield left and lag begin
frenchie is offline Report comment to moderator  
Reply With Quote
Old 10-05-09, 11:53 AM  
oXid_FoX
A Deviate Faerie Dragon
 
oXid_FoX's Avatar
AddOn Author - Click to view AddOns

Forum posts: 18
File comments: 151
Uploads: 1
when I stole (I'm a mage) the shield of High priest Mu'funu
Date: 2009-10-05 19:50:19
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\shieldmonitor\shieldmonitor.lua line 799:
attempt to perform arithmetic on field '?' (a nil value)
Debug:
(tail call): ?
(tail call): ?
[C]: ?
shieldmonitor\shieldmonitor.lua:799: shieldmonitor_shieldup()
shieldmonitor\shieldmonitor.lua:962: shieldmonitor_onevent()
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
oXid_FoX is offline Report comment to moderator  
Reply With Quote
Old 10-10-09, 12:21 PM  
Obviousdwarf
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 13
Uploads: 1
What files do I have to replace and/or what lines to skin the bar? Huge thanks to the author for this addon
Last edited by Obviousdwarf : 10-10-09 at 06:22 PM.
Obviousdwarf is offline Report comment to moderator  
Reply With Quote
Old 10-18-09, 08:32 PM  
affix
A Kobold Labourer

Forum posts: 0
File comments: 104
Uploads: 0
So I was wrong in the past - Frost/Fire ward are absorbed before Ice Barrier, not after. This is causing the addon to show Ice Barrier as being consumed, even if Frost Ward is taking damage, and making it inaccurate. Can you make the appropriate change? Note that we will still want the addon to show Ice Barrier, even if we have Frost/Fire Ward up, but the addon should know that it is not being consumed by Frost damage until the Frost Ward breaks...
affix is offline Report comment to moderator  
Reply With Quote
Old 10-19-09, 06:28 AM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
Originally posted by affix
So I was wrong in the past - Frost/Fire ward are absorbed before Ice Barrier, not after. This is causing the addon to show Ice Barrier as being consumed, even if Frost Ward is taking damage, and making it inaccurate. Can you make the appropriate change? Note that we will still want the addon to show Ice Barrier, even if we have Frost/Fire Ward up, but the addon should know that it is not being consumed by Frost damage until the Frost Ward breaks...
I've just tested this again on my level 70 mage by standing in the lava in Shadowmoon valley and Ice Barrier was definitely absorbing the damage before fire ward. (The IB buff disappeared first). So, unless damage from different sources is treated differently (and it might be, this is Blizz we're talking about after all!) I don't know what is going on.
frenchie is offline Report comment to moderator  
Reply With Quote
Old 10-19-09, 06:36 AM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
Originally posted by Obviousdwarf
What files do I have to replace and/or what lines to skin the bar? Huge thanks to the author for this addon
The line which specifies the bar texture is line 60 in the xml file: <BarTexture file="Interface\TargetingFrame\UI-StatusBar"/> and the font used is specified in line 48.

Sorry, but changing default skins is not something I've ever bothered with, so I can't really be much more help than that.
frenchie is offline Report comment to moderator  
Reply With Quote
Old 10-23-09, 04:45 PM  
affix
A Kobold Labourer

Forum posts: 0
File comments: 104
Uploads: 0
Originally posted by frenchie
I've just tested this again on my level 70 mage by standing in the lava in Shadowmoon valley and Ice Barrier was definitely absorbing the damage before fire ward. (The IB buff disappeared first). So, unless damage from different sources is treated differently (and it might be, this is Blizz we're talking about after all!) I don't know what is going on.
Multiple people confirmed, although using Frostbolt/Frost Ward instead of fire damage/Fire Ward, that the wards are absorb before the barrier:

http://forums.worldofwarcraft.com/th...26174&sid=1#13

Maybe it is different at 70 than it is at 80? I will test tonight with Fire Ward/Scorch instead of Frost Ward/Frostbolt.

This caused a pretty embarrassing incident, actually - I noticed that Shield Monitor was reporting that Ice Barrier broke and that Frost Ward was still up, but Shattered Barrier never procced. I reported this bug to Ghostcrawler, he had QA follow up, and they couldn't reproduce it.

Turns out that Ice Barrier hadn't actually broken yet, and that because Shield Monitor was reporting it had, I never noticed the graphic was still up and I had the buff still. I was pretty embarrassed :X

(not blaming you, just thought you might enjoy the anecdote)
Last edited by affix : 10-23-09 at 04:48 PM.
affix is offline Report comment to moderator  
Reply With Quote
Old 10-24-09, 12:52 PM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
I think what I'll do if/when I next do an update is allow the shield priorities to be user-configurable, since testing all the different combinations, especially where classes interact (e.g. a priest casts a shield on a mage who also has multiple shields up), is complex to say the least. Alternatively a definitive list of the priorities from Blizz would be nice!

In the meantime, anyone that wants to change the current priorities, just needs to alter the 'slot=' number for any given spell on lines 32 -45 (English client, or corresponding lines if you are using one of the other supported languages) of the lua file. Slot can be anything from 1 to 6, lowest is the first to take damage. Only shields that can't be up at the same time should have the same slot.
Last edited by frenchie : 10-24-09 at 12:53 PM.
frenchie is offline Report comment to moderator  
Reply With Quote
Old 10-25-09, 01:56 PM  
affix
A Kobold Labourer

Forum posts: 0
File comments: 104
Uploads: 0
Originally posted by frenchie
I think what I'll do if/when I next do an update is allow the shield priorities to be user-configurable, since testing all the different combinations, especially where classes interact (e.g. a priest casts a shield on a mage who also has multiple shields up), is complex to say the least. Alternatively a definitive list of the priorities from Blizz would be nice!

In the meantime, anyone that wants to change the current priorities, just needs to alter the 'slot=' number for any given spell on lines 32 -45 (English client, or corresponding lines if you are using one of the other supported languages) of the lua file. Slot can be anything from 1 to 6, lowest is the first to take damage. Only shields that can't be up at the same time should have the same slot.
Thanks. Is there a way to set Frost/Fire Ward to correctly be consumed before Ice Barrier, but if Frost or Fire Ward + Ice Barrier are both up, to have the addon display the health for Ice Barrier anyway?

I set the Frost/Fire Ward priority to a lower number than Ice Barrier, but now Ice Barrier doesn't show up when I put a ward up.
Last edited by affix : 10-25-09 at 01:56 PM.
affix is offline Report comment to moderator  
Reply With Quote
Old 11-03-09, 07:26 PM  
affix
A Kobold Labourer

Forum posts: 0
File comments: 104
Uploads: 0
Just checking in to make sure you saw the previous post - any way to set Frost Ward to be absorbed before Ice Barrier, but still display Ice Barrier when both buffs are present?
affix is offline Report comment to moderator  
Reply With Quote
Old 11-04-09, 08:42 AM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
Originally posted by affix
Just checking in to make sure you saw the previous post - any way to set Frost Ward to be absorbed before Ice Barrier, but still display Ice Barrier when both buffs are present?
It's not something I can add without a fairly major re-write of the addon, so don't hold your breath!
frenchie is offline Report comment to moderator  
Reply With Quote
Old 11-05-09, 12:17 PM  
affix
A Kobold Labourer

Forum posts: 0
File comments: 104
Uploads: 0
Originally posted by frenchie
It's not something I can add without a fairly major re-write of the addon, so don't hold your breath!
Okay, thanks again for your hard work. One more question, sorry for taking up so much of your time:

It seems that since I changed the priority systems around, Frost Ward no longer has the 'only absorbs frost damage' flag on it - is this something I can fix?
affix is offline Report comment to moderator  
Reply With Quote
Old 11-06-09, 06:20 AM  
frenchie
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 77
Uploads: 2
Originally posted by affix
Okay, thanks again for your hard work. One more question, sorry for taking up so much of your time:

It seems that since I changed the priority systems around, Frost Ward no longer has the 'only absorbs frost damage' flag on it - is this something I can fix?
If you just changed the slot= bit then that shouldn't effect the damage type absorbed (which is controlled by the school= value further along the same line).

Only thing I can think is that maybe you now have two shields that can be up at the same time with the same slot value? (in which case the addon will get confused).

You can always try running with debug on (/sm dbg) to see if the incoming damage is actually of the type that should be absorbed.
frenchie is offline Report comment to moderator  
Reply With Quote
Old 12-01-09, 11:36 AM  
therationalpi
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Shield Monitor Suggestion

I've realized a way you can get PW:S for other priests to be more accurate. First, monitor spells that other priests cast all the time, (for example, if a priest casts a heal, store that info away for later use), you can extrapolate spell power from the strength of the heals cast, and guess at spec based on the spells they cast (for example, if they cast penance this combat, you know they are discipline). When a shield is later cast on you, you can look up the priest from your list, and determine how much that shield probably hit you for.

It would be an estimate, yes, but probably not a bad one, and it wouldn't require they run any other mods. With a good algorithm, it shouldn't waste much processor power or take much memory, either.
therationalpi is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: