Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(11 Kb)
Download
Updated: 10-21-14 01:16 PM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Updated:10-21-14 01:16 PM
Created:10-20-12 02:36 AM
Downloads:2,402
Favorites:20
MD5:
Categories:Warrior, Tank, Combat Mods
6.0.2
Shield Maid  Updated less than 3 days ago!
Version: 2.0.2
by: Twattle [More]
Introduction

Shield Maid is a tracker for the two Warrior abilities Shield Barrier and Shield Block. The addon helps decide what ability gives you the best mitigation for your rage points.

The addon adds an icon for each of the two abilities. The icons mimic buttons in indicating whether you have enough rage for each ability. When active, the icons show remaining duration for the buffs. The Shield Barrier icon shows remaining absorb value and the Shield Block icon shows total damage absorbed for the duration of the buff.


Mitigation estimates

The addon calculates the estimated value of Shield Barrier if cast, by looking at your current rage, attack power and stamina levels. The addon also keeps track of incoming, blockable, damage and uses this information to estimate how much your Shield Block ability will mitigate if activated.

The most feasible ability is highlighted with a glow to make it easy to choose where to spend your rage.

NB: When comparing estimated mitigation values, the estimated Shield Barrier value at 60 rage is compared to the estimated mitigation from block (including critical blocks) of the last 6 seconds of incoming damage. This means that the Shield Barrier icon will glow even though the estimated Shield Barrier value is less than the estimated Shield Block value if the mitigation to rage ratio is higher for Shield Barrier.


Configuration

In-game configuration available via the /sm or /shieldmaid commands:
help - Displays the available commands.
reset - Resets to the default settings.
lock - Locks the icons.
unlock - Unlocks the icons for dragging.
size <pixels> - Sets the width and height of the icons in pixels.
scale <number> - Sets the scale of the icons.
margin <pixels> - Sets the margin on the icons, e.g. the width of the transparent black border.
hiddenOutOfCombat true/false - Sets a value indicating whether the icons should be hidden when out of combat.
showFrames true/false - Sets a value indicating whether the icon texture frames should be shown.
showGlow true/false - Sets a value indicating whether to show the glow.
showCooldown true/false - Sets a value indicating whether to show the classic cooldown "clock" on icons.

Some configuration variables can still only be adjusted in the Config.lua file.
2.0.2:
  • Added Versatility scaling.
  • Hid the build-in cooldown numbers so only the cooldown "clock" show.

2.0.1:
  • Fixed the cooldown "clock" which was broken after patch 6.0.2.

2.0.0:
  • Updated for patch 6.0.2. Shield Barrier prediction now match the new formula and scales with Resolve.

1.5.0:
  • Added functionality for showing the classic cooldown "clock" on top of the icons. This will be particularly useful in WoD when the cooldown of Shield Block is incresed. The feature can be enabled/disabled via the /shieldmaid showCooldown command.

1.4.2:
  • Fixed a bug that would cause some configuration values to be overwritten by their defaults when the addon was reloaded.

1.4.2:
  • Accidentally hard-coded the update rate to 0.1 s. You can now change it in the Config.lua file again.

1.4.1:
  • Fixed a minor bug that resulted in "Shield Maid: Unloaded" being written multiple times to the console.

1.4.0:
  • Added in-game configuration.
  • Reorganized the addon into classes.

1.3.8:
  • Updated for patch 5.4.
  • Removed the glow alpha configuration option.

1.3.7:
  • Updated for patch 5.1.

1.3.6:
  • Added an option to hide the frames out of combat. Credit goes to Mock for implementation tips.

1.3.5:
  • Added a frame for the icons. The set the frameAlpha-variable to 0 if you wish to hide it.
  • Changed the name of the spacing-variable to margin. The variable now also controls the width of the frame.

1.3.4:
  • Loading and unloading should now work for players using other locales than enGB.

1.3.3:
  • Fixed a bug that sometimes prevented the addon from loading.

1.3.2:
  • The addon now dynamically loads and unloads depending on your class and spec.
  • Added a configuration option for frame strata that defaults to MEDIUM.

1.3.1:
  • Fixed a small bug that would pause logging of blockable damage while Shield Block was active.

1.3.0:
  • Changed the way Shield Block value is estimated. The addon now looks at incoming blockable damage and keeps a moving sum over the last 6 seconds.
  • Added an overlay bar that shows remaining Shield Barrier absorb value.
  • Changed when the glow indicator is shown. The indicator is now only visible when you have enough rage for the preferred ability.
  • Changed the default alpha of inactive icons.

1.2.2:
  • Changed the default font again. Finally satisfied.
  • Changed the default color for information text.
  • Changed the default color and opacity on the glow.
  • Added number truncation, ie. 12345 --> 12k.
  • Added an option for spacing between the two icons.

1.2.1:
  • Fixed a bug in the configuration option to hide the glow.

1.2.0:
  • Changed the font to a monospace font.
  • Removed the decimals from the countdown text.
  • Added an estimated block value which is set to the total amount blocked during the last Shield Block.
  • Added a glow effect that indicates what ability is most feasible. This can be turned off in the Config.lua-file.

1.1.0:
  • Icons are now always visible. Set the inactiveAlpha-variable to 0 in the Config.lua file if you wish to hide icons when the buffs are not active.
  • Icons are now tinted when you have insufficient rage for the corresponding ability.
  • The Shield Barrier icon now shows a predicted absorb value when the buff is not already active and you have sufficient rage.

1.0.3:
  • Added configuration options for anchor and scale.
  • Added several more configuration options for the two types of text.
  • Added an option to show thousands separators.

1.0.2:
  • Identifying spells by id instead of name to avoid localization-issues.
  • Split the config and core code into two separate files.
  • Set the frame strata to "HIGH" on icons to avoid overlap-issues.
  • Bug fixes.

1.0.1:
  • Bug fixes.
Archived Files (24)
File Name
Version
Size
Author
Date
2.0.1
11kB
Twattle
10-18-14 12:07 PM
2.0.0
11kB
Twattle
10-17-14 02:02 PM
2.0.0
11kB
Twattle
10-17-14 11:51 AM
1.5.0
11kB
Twattle
10-13-14 07:32 AM
1.4.3
10kB
Twattle
09-29-14 01:03 PM
1.4.2
10kB
Twattle
09-23-14 05:01 AM
1.4.1
10kB
Twattle
09-07-14 12:03 PM
1.4.0
10kB
Twattle
09-05-14 01:32 PM
1.3.8
5kB
Twattle
08-26-14 06:21 AM
1.3.7
5kB
Twattle
12-03-12 11:57 AM
1.3.6
5kB
Twattle
11-01-12 01:34 PM
1.3.5
5kB
Twattle
10-29-12 05:53 AM
1.3.4
5kB
Twattle
10-28-12 09:50 AM
1.3.3
5kB
Twattle
10-28-12 12:59 AM
1.3.2
5kB
Twattle
10-27-12 11:27 PM
1.3.1
5kB
Twattle
10-27-12 07:48 AM
1.2.2
4kB
Twattle
10-24-12 12:33 PM
1.2.1
4kB
Twattle
10-23-12 10:46 PM
1.2.0
4kB
Twattle
10-23-12 02:57 PM
1.1.0
4kB
Twattle
10-22-12 02:11 PM
1.0.3
3kB
Twattle
10-21-12 08:52 AM
1.0.2
2kB
Twattle
10-21-12 01:16 AM
1.0.1
2kB
Twattle
10-20-12 09:41 AM
1.0.0
2kB
Twattle
10-20-12 02:36 AM


Post A Reply Comment Options
Unread 10-21-12, 08:54 AM  
Twattle
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 21
Uploads: 2
Originally Posted by jayg2772
Great little addon needs some tlc though and some in game scale and anchor abilities as well. Simple yet effective look forward to seeing future updates
I added configuration options for anchor and scale. I don't know if that was what you were after. Also, what is tlc?
Twattle is offline Report comment to moderator  
Reply With Quote
Unread 10-21-12, 08:54 AM  
Twattle
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 21
Uploads: 2
Originally Posted by Gallahead
Originally Posted by Twattle
Thanks a lot for the feedback. I have uploaded a new version with some of your suggestions. I haven't found a clever way to add thousands separators in the numbers since lua's string.format-function doesn't support it, but I'm looking into it. Also, can you tell me how to add Masque support?
wow, glad to see these changes.
no, i have no idea how to add masque support.

this may be not intended but i decided to use it as overlay
and it works pretty well


todey's suggestion:
  • please move the infotext and durationtext coords and color into the config.lua too.
  • add absorb = string.gsub(absorb, "^(-?%d+)(%d%d%d)", '%1.%2') above shieldBarrierIcon.infoText:SetText(absorb) to seperate digits
  • add shieldBlockIcon.totalBlocked = string.gsub(shieldBlockIcon.totalBlocked, "^(-?%d+)(%d%d%d)", '%1.%2') above shieldBlockIcon.infoText:SetText(shieldBlockIcon.totalBlocked) to seperate digits
I have now added more text configuration options. I also added support for using thousands separators. The method you suggested do not work on numbers greater than one million, but I found another method which is pretty clean.
Twattle is offline Report comment to moderator  
Reply With Quote
Unread 10-21-12, 03:26 AM  
Gallahead
A Kobold Labourer
 
Gallahead's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 1
File comments: 197
Uploads: 2
Originally Posted by Twattle
Thanks a lot for the feedback. I have uploaded a new version with some of your suggestions. I haven't found a clever way to add thousands separators in the numbers since lua's string.format-function doesn't support it, but I'm looking into it. Also, can you tell me how to add Masque support?
wow, glad to see these changes.
no, i have no idea how to add masque support.

this may be not intended but i decided to use it as overlay
and it works pretty well


todey's suggestion:
  • please move the infotext and durationtext coords and color into the config.lua too.
  • add absorb = string.gsub(absorb, "^(-?%d+)(%d%d%d)", '%1.%2') above shieldBarrierIcon.infoText:SetText(absorb) to seperate digits
  • add shieldBlockIcon.totalBlocked = string.gsub(shieldBlockIcon.totalBlocked, "^(-?%d+)(%d%d%d)", '%1.%2') above shieldBlockIcon.infoText:SetText(shieldBlockIcon.totalBlocked) to seperate digits
Last edited by Gallahead : 10-21-12 at 03:27 AM.
Gallahead is offline Report comment to moderator  
Reply With Quote
Unread 10-21-12, 01:21 AM  
Twattle
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 21
Uploads: 2
Originally Posted by Gallahead
great idea!
every protection warrior who wants to tank as good as possible will use this mod. keep on working.

i want to suggest some things:
  • seperate the absorb and block amount every third position with a dot.
    5.845 is way better readable than 85845.
  • add
    shieldBarrierIcon:SetFrameStrata("HIGH")
    shieldBlockIcon:SetFrameStrata("HIGH")
    to avoid overlay issues.
  • please, please, please add a lua option for a black, simple, square border with configurable bordersize.
    or add masque support.
    but i think the first one is alot easier and less time consuming.
  • seperate config and core code into 2 different *.lua files.
    this way we don't have to paste and rewrite all our changes on every shieldmaid update
  • use spellid's instead of names so we don't have to translate the skillnames

i got the following error:
Code:
Message: Interface\AddOns\ShieldMaid\ShieldMaid.lua:106: attempt to compare number with nil
Time: 10/20/12 17:26:43
Count: 8
Stack: Interface\AddOns\ShieldMaid\ShieldMaid.lua:106: in function <Interface\AddOns\ShieldMaid\ShieldMaid.lua:99>

Locals: self = <unnamed> {
 0 = <userdata>
}
event = "COMBAT_LOG_EVENT_UNFILTERED"
eventType = "SWING_DAMAGE"
target = "Gallahead"
playerName = "Gallahead"
spellName = -1
blocked = nil
(*temporary) = 16
(*temporary) = 1350746807.186
(*temporary) = "attempt to compare number with nil"
shieldBlockIcon = <unnamed> {
 0 = <userdata>
 durationText = <unnamed> {
 }
 hasShieldBlock = false
 infoText = <unnamed> {
 }
 totalBlocked = 23617
 texture = <unnamed> {
 }
}
Thanks a lot for the feedback. I have uploaded a new version with some of your suggestions. I haven't found a clever way to add thousands separators in the numbers since lua's string.format-function doesn't support it, but I'm looking into it. Also, can you tell me how to add Masque support?
Twattle is offline Report comment to moderator  
Reply With Quote
Unread 10-20-12, 09:35 PM  
jayg2772
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 2
Uploads: 3
Great little addon needs some tlc though and some in game scale and anchor abilities as well. Simple yet effective look forward to seeing future updates
jayg2772 is offline Report comment to moderator  
Reply With Quote
Unread 10-20-12, 08:45 PM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1367
File comments: 3279
Uploads: 86
Oh nice. A shield block damage comparsion against shield barrier value.
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 10-20-12 at 08:47 PM.
zork is offline Report comment to moderator  
Reply With Quote
Unread 10-20-12, 09:16 AM  
Gallahead
A Kobold Labourer
 
Gallahead's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 1
File comments: 197
Uploads: 2
great idea!
every protection warrior who wants to tank as good as possible will use this mod. keep on working.

i want to suggest some things:
  • seperate the absorb and block amount every third position with a dot.
    5.845 is way better readable than 85845.
  • add
    shieldBarrierIcon:SetFrameStrata("HIGH")
    shieldBlockIcon:SetFrameStrata("HIGH")
    to avoid overlay issues.
  • please, please, please add a lua option for a black, simple, square border with configurable bordersize.
    or add masque support.
    but i think the first one is alot easier and less time consuming.
  • seperate config and core code into 2 different *.lua files.
    this way we don't have to paste and rewrite all our changes on every shieldmaid update
  • use spellid's instead of names so we don't have to translate the skillnames

i got the following error:
Code:
Message: Interface\AddOns\ShieldMaid\ShieldMaid.lua:106: attempt to compare number with nil
Time: 10/20/12 17:26:43
Count: 8
Stack: Interface\AddOns\ShieldMaid\ShieldMaid.lua:106: in function <Interface\AddOns\ShieldMaid\ShieldMaid.lua:99>

Locals: self = <unnamed> {
 0 = <userdata>
}
event = "COMBAT_LOG_EVENT_UNFILTERED"
eventType = "SWING_DAMAGE"
target = "Gallahead"
playerName = "Gallahead"
spellName = -1
blocked = nil
(*temporary) = 16
(*temporary) = 1350746807.186
(*temporary) = "attempt to compare number with nil"
shieldBlockIcon = <unnamed> {
 0 = <userdata>
 durationText = <unnamed> {
 }
 hasShieldBlock = false
 infoText = <unnamed> {
 }
 totalBlocked = 23617
 texture = <unnamed> {
 }
}
Last edited by Gallahead : 10-20-12 at 09:29 AM.
Gallahead is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: