Go to Page... |
Updated: | 12-02-11 03:29 AM |
Created: | 10-26-08 11:30 AM |
Downloads: | 99,694 |
Favorites: | 313 |
MD5: |
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!
Comment Options |
affix |
View Public Profile |
Send a private message to affix |
Find More Posts by affix |
Add affix to Your Buddy List |
Eliasar |
View Public Profile |
Send a private message to Eliasar |
Find More Posts by Eliasar |
Add Eliasar to Your Buddy List |
frenchie |
View Public Profile |
Send a private message to frenchie |
Find More Posts by frenchie |
Add frenchie to Your Buddy List |
Eliasar |
View Public Profile |
Send a private message to Eliasar |
Find More Posts by Eliasar |
Add Eliasar to Your Buddy List |
11-03-08, 11:48 AM | ||
A Kobold Labourer
Forum posts: 0
File comments: 2
Uploads: 0
|
ShieldLeft - the original Shield Monitor
frenchie,
I am the third in a line of developers for ShieldLeft which is an addon that is similar to yours. I have not had a chance to check out your addon, but it looks to have the same general idea as my addon (looks to actually cover more shields). I also noticed that you are looking to setup a way for individuals to configure the look of the bar. Here's my proposal: I am unable to dedicate the time to my addon recently due to other obligations, so I just thought you might want to look at the code I used to set up the configuration part of the bar and see if you can adapt it easily to work with yours. You can find ShieldLeft on WoWUI or at my GoogleCode site: http://code.google.com/p/fireaddons/ http://wowui.worldofwar.net/?p=mod&m=6421 ShieldLeft works with 3.0.2, but does not report the actual damage absorbed (since I haven't had a chance to update it since the patch release) - it still uses averages from stored damage. One day, I would like to update it, but I have no idea when that will be. If you can get yours to incorporate the configuration menu of mine and have the capabilities of what you want, I might not update it at all. Let me know if you have any questions and I'll help as much as I can.
|
|
|
firegrove |
View Public Profile |
Send a private message to firegrove |
Find More Posts by firegrove |
Add firegrove to Your Buddy List |
11-04-08, 01:41 PM | |
|
Why do you use localization for compatibility? AFAIK when using Spell-IDs, it would work on all client languages without localization.
|
|
Mars85 |
View Public Profile |
Send a private message to Mars85 |
Find More Posts by Mars85 |
Add Mars85 to Your Buddy List |
11-04-08, 05:21 PM | |
|
In order to get the maximum hp for a shield my addon reads the spell tooltip. Thus it needs a localised string for the pattern matching. Since that part of the addon needs localisation, I also match on the spell name in the combat log rather than the spellid, as that covers all ranks automatically.
|
|
frenchie |
View Public Profile |
Send a private message to frenchie |
Find More Posts by frenchie |
Add frenchie to Your Buddy List |
11-05-08, 02:41 PM | |
|
I did some own testing on the correct formular for the amount of the PW:Shield and came up to the following:
totalAmount = (baseAmount + healBonus * (0.808 + talentBrwdTime) * talentImprShield) * talentTwinDisc whit baseAmount = parsed amount from spellbook (which is the already by improved shield increased amount) healBonus = the amount retuned by GetSpellBonusHealing() talentBrwdTime = points-in-this-talent * 0.08 talentImprShield = 1 + points-in-this-talent * 0.05 (impr. shield affects base amount+healBonus, but since the amount read from the spellbook is already increased we only need to apply it to the healBonus talentTwinDisc = 1 + points-in-this-talent * 0.01 Maybe you can use it.
Last edited by Julith : 11-05-08 at 02:41 PM.
|
|
Julith |
View Public Profile |
Send a private message to Julith |
Find More Posts by Julith |
Add Julith to Your Buddy List |
11-05-08, 04:29 PM | |
|
I think those are pretty much the formulas I'm using now although from my testing the 0.808 modifier (approx, I am currently using 0.805) needs to be applied to GetSpellBonusHealing irrespective of talents. Oh wait, you're doing that, I just read your formulas a bit wrong.
Anyway, in my tests I've been getting a max value for PW:S within a point or two of the actual maximum absorbed in the combat log. This testing was done on a level 80 premade priest in the beta, with a selection of different talents. However since the beta has now closed, I've lost this test character, so the only priest I've got now is a lowly level 33 (the original inspiration for the mod!) If the addon is showing wildly inaccurate values for a self-cast PW:S for anyone then please let me know, giving details of talents etc.
Last edited by frenchie : 11-05-08 at 04:34 PM.
|
|
frenchie |
View Public Profile |
Send a private message to frenchie |
Find More Posts by frenchie |
Add frenchie to Your Buddy List |
11-05-08, 05:15 PM | |
|
Error Message with 1.13
I received the following error message when I attempted the /sm command after logging in with shieldmonitor 1.13:
Date: 2008-11-05 18:14:33 ID: 51 Error occured in: Global Count: 1 Message: ..\AddOns\shieldmonitor\shieldmonitor.lua line 196: bad argument #1 to 'lower' (string expected, got nil) Debug: [C]: ? [C]: lower() shieldmonitor\shieldmonitor.lua:196: value() ..\FrameXML\ChatFrame.lua:3212: ChatEdit_ParseText() ..\FrameXML\ChatFrame.lua:2911: ..\FrameXML\ChatFrame.lua:2910 [C]: ChatEdit_SendText() ..\FrameXML\ChatFrame.lua:2932: ChatEdit_OnEnterPressed() [string "*:OnEnterPressed"]:1: [string "*:OnEnterPressed"]:1 |
|
JMHammer |
View Public Profile |
Send a private message to JMHammer |
Find More Posts by JMHammer |
Add JMHammer to Your Buddy List |
11-06-08, 04:40 AM | |
|
Thanks for reporting, fixed.
|
|
frenchie |
View Public Profile |
Send a private message to frenchie |
Find More Posts by frenchie |
Add frenchie to Your Buddy List |
11-06-08, 12:46 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 103
Uploads: 0
|
Loving the warning system you set up. Having an option for a sound warning would be great too.
|
|
affix |
View Public Profile |
Send a private message to affix |
Find More Posts by affix |
Add affix to Your Buddy List |
11-07-08, 06:08 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 9
Uploads: 0
|
I could do the german translation, is there a complete list with things you need translated?
the lua file is abit confusing Would really like to use that addon with my german client |
|
Spiritmoon |
View Public Profile |
Send a private message to Spiritmoon |
Find More Posts by Spiritmoon |
Add Spiritmoon to Your Buddy List |
11-07-08, 06:50 AM | ||
|
The essential things for a localisation are:
1) the patterns in SHIELDMONITOR_TIPREAD that are used to extract the shield absorbtion level from the spell tooltips. The main pattern used in English is "[aA]bsorb%a+ (%d+) [^d]?%a*%s?damage". This ia able to match all spells apart from Fel Blossom. However if other languages need to use different patterns for different spells then the addon is built to handle this, the localisation can just create extra entries in the localised copy of this table and then make sure that the localised SHIELDMONITOR_SPELLS 'tip' entry is set to the matching correct number. 2) Spell names in SHIELDMONITOR_SPELLS. 3) For now, talent names in shieldmonitor_talentstocheck. (However I can remove this requirement, since the names were only being used as a doublecheck that I'd picked up the right talent using the row/column number). All other English text strings only need localisation for appearences sake. They don't need to be localised to make the addon work.
|
|
|
frenchie |
View Public Profile |
Send a private message to frenchie |
Find More Posts by frenchie |
Add frenchie to Your Buddy List |
11-07-08, 08:45 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 9
Uploads: 0
|
For the german game version 'deDE':
1) I'm not really sure about the pattern, you read from the tooltips. Do ALL spells use line 4 for the numeric values in english? Isn't that a strange coincidence? I'm not very good at extracting text strings from tooltips, so I just copied you all the tooltips The german tooltips for the spells look like the following: (translation of the spells see below) http://img233.imageshack.us/my.php?i...ooltipsom2.jpg How about divine aegis btw, the game does not give any numbers in tooltips for that talent as far as i know? I used the tooltip from the talent screen, if you need the tooltip from the buff when it actually procs, just tell me and I respec to test it out ^^. Do different ranks of spells always have the numbers in the same line? 2) spell names: "Power Word: Shield" - "Machtwort: Schild" "Divine Aegis" - "Göttliche Ägis" "Ice Barrier" - "Eisbarriere" "Mana Shield" - "Manaschild" "Fire Ward" - "Feuerzauberschutz" "Frost Ward" - "Frostzauberschutz" "Sacrifice" - "Opferung" "Fel Blossom" - "Teufelsblüte" 3) Talents "Twin Disciplines" - "Zwillingsdisziplinen" "Improved Power Word: Shield" - "Verbessertes Machtwort: Schild" "Borrowed Time" - "Zeit schinden" "Divine Aegis" - "Göttliche Ägis" 4) other text strings "Lock Window" - "Fenster festsetzen" "Unlock Window" - "Fenster freigeben" "unrecognised slash command. Valid commands are:\n/shieldmonitor options - access the options screen\n/shieldmonitor scale <num> - to scale the shieldmonitor frame (0.3 to 3)\n/shieldmonitor disable - to temporarily disable Shieldmonitor\n/shieldmonitor enable - to re-enable shieldmonitor\n(/sm can be used instead of /shieldmonitor)" translates to: "Unbekanntes Slash Kommando. Gültige Kommandos sind:\n/shieldmonitor options - Ruft das Optionen-Fenster auf\n/shieldmonitor scale <num> - um das Fenster zu skalieren (0.3 bis 3)\n/shieldmonitor disable - um Shieldmonitor vorübergehend zu deaktivieren\n/shieldmonitor enable - um Shieldmonitor zu reaktivieren\n(anstatt /shieldmonitor kann auch einfach /sm benutzt werden)" "has been re-enabled." - "wurde reaktiviert." "has been disabled for the rest of this session.\nUse /shieldmonitor enable - to re-enable shieldmonitor" - "wurde für den Rest der Sitzung deaktiviert.\nBenutze /shieldmonitor enable - um Shieldmonitor zu reaktivieren" "Disable" - "Deaktivieren" "scale out of range. Must be between 0.3 and 3" - "Skalierung außerhalb des zulässigen Bereichs. Muss zwischen 0.3 und 3 liegen" "scale set to" - "Skalierung gesetzt auf" That should be it, I double and triple checked all spellings, should be correct. I'm not sure if you can just use the non ascii letters ä,ü,ö, in the translation above or if you have to replace them with some kind of code? (like in html code?) The hexadecimal coding (utf-8) for these letters in URL's would be: "ä" - "%C3%A4" "ö" - "%C3%B6" "ü" - "%C3%BC" Dunno if that helps at all, or if WoW just interpretes these letters correctly if you use them in your code Not done any coding myself yet. |
|
Spiritmoon |
View Public Profile |
Send a private message to Spiritmoon |
Find More Posts by Spiritmoon |
Add Spiritmoon to Your Buddy List |