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.
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.
Learning which spells are blockable
There is no exact way to determine wether or not an incoming attack is blockable before you actually block it. The addon remembers each spell you block and uses the information in future predictions. This approach also means that the addon will interpret a spell as being unblockable until you have blocked it once.
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.
Updated for patch 6.1.
Versatility scaling was mistakenly not being taken into account when calculating the estimated Shield Barrier value. This have now been fixed.
Changed the way the addon determines whether or not an incoming attack is blockable. Instead of looking at the spell school, the addon now remembers which spells are blockable. See the description for more information.
Added a Gladiator Stance mode. When in Gladiator Stance, the Shield Block and Shield Barrier icons will be replaced by a Shield Charge icon.
Now using the proper glow animations when the glow gets enabled and disabled.
The glow will now appear on the most beneficial skill even though the opposite skill is active.
The glow will now appear on the most beneficial skill even though it is active, if there is less than 1 second left on the buff. The threshold is configurable in the Config.lua file.
The glow will now appear on the Shield Barrier icon even though the buff is active, in case that the spell is the most beneficial one and the remaining absorb left on the current buff is less than 25% of the estimated absorb. The percentage is configurable in the Config.lua file.
Fixed icon names.
Fixed a rare error that would happen when the addon was loaded before spells were initialized.
Fixed an error that made the glow show out of combat even though the option to hide icons out of combat was chosen.
Changed the default border color.
Gave names to the icons to make them accessible from other addons.
Added Versatility scaling.
Hid the build-in cooldown numbers so only the cooldown "clock" show.
Fixed the cooldown "clock" which was broken after patch 6.0.2.
Updated for patch 6.0.2. Shield Barrier prediction now match the new formula and scales with Resolve.
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.
Fixed a bug that would cause some configuration values to be overwritten by their defaults when the addon was reloaded.
Accidentally hard-coded the update rate to 0.1 s. You can now change it in the Config.lua file again.
Fixed a minor bug that resulted in "Shield Maid: Unloaded" being written multiple times to the console.
Added in-game configuration.
Reorganized the addon into classes.
Updated for patch 5.4.
Removed the glow alpha configuration option.
Updated for patch 5.1.
Added an option to hide the frames out of combat. Credit goes to Mock for implementation tips.
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.
Loading and unloading should now work for players using other locales than enGB.
Fixed a bug that sometimes prevented the addon from loading.
The addon now dynamically loads and unloads depending on your class and spec.
Added a configuration option for frame strata that defaults to MEDIUM.
Fixed a small bug that would pause logging of blockable damage while Shield Block was active.
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.
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.
Fixed a bug in the configuration option to hide the glow.
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.
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.
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.
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.