Ardent Defender is an addon designed to help Protection Paladins.
It provides several functions which I found useful as a Tankadin,
and hope someone else finds them useful as well.
Ardent Defender will:
- - Announces when Ardent Defender proc's and saves your life, as well as flashing your screen and shaking it to alert you to the averted death.
- - Detects and tells you when someone causes a parry on an NPC you are tanking. Also tells you if you cause a parry on an NPC someone else is tanking.
- - Announces bubblewall usage (when it activates and when it fades)
- - Announce if your taunt fails (and why) or if your Avenger Shield misses.
- - Tracks combat stats such as damage received, damage blocked, damage absorbed.
- - Makes use of LibDataBroker if you have it, to display combat stats and Ardent Defender info.. see screenshots to see what I mean.
- - Tracks & Whispers on usage: Hand of Protection, Sacrifice, Salvation,
Freedom. also Divine Sacrifice, Divine Intervention and Lay On Hands.
- - (Disabled by default) Can annoy you with red screen slashing if Righteous Fury is not active AND you are currently wearing defense gear.
- - Will not announce or track any of the above while in a Battleground, but will work normally while in an Arena.
- - The LDB object displays combat statistics such as how much damage you have absorbed, blocked and received, how many times (since reload)
Ardent Defender has saved your life, as well as how much Ardent Defender will heal you upon proc, how much damage Divine Sacrifice absorbs, and more..
Feel free to leave good or bad comments. I will take reasonable requests under consideration.
Type "/ad" to bring up the Options panel, or left click the LDB object.
-----------------Ardent Defender Addon------------------------
Blinddate of Thrall
** Woops! Fixed the block/absorb errors.
** Still needs testing -- Not sure if it's accurate, but at least
the errors are fixed.
** TOC bump
** Fix for events not firing
** Sadly, Ancient Kings is still not detectable.. thanks bliz!
** TOC bump
** Should properly announce to INSTANCE_CHAT instead of raid/party where appropriate.
** More changes to the AD LDB tooltips. Most of the work was from ntex, based on Theck's theorycrafting.
** An addon I used for all these years finally broke. As a stopgap measure, I have added a 'quickmarks' ability to this addon. If enabled in settings, holding ALT and CONTROL while mousing over targets will mark them in order of Skull, X, Square, etc. Basically in reverse order of the default UI. This is still in testing, I threw it together in 15 minutes and it has not been extensively tested. Use at your own risk. Typing /ad reset will reset the tags.
** Bugfixes for UI errors from UnitIsLeader()
** Added some addition info to tooltip: Parry to Dodge ratio. Now that Dodge and Parry are on very different diminishing returns. Let me know if this helps or not helps. Thanks ntex.
** Removed Divine Guardian, replaced with Devotion Aura
2.14 BETA 08/30/2012
** 5.04 compatibility and TOC bump.
** Guardian of the ancient kings is broken on WoW's side, can't detected it being cast currently.
** 4.3 Compatibility and TOC bump..
** 4.2 compatibility changes
** Avenger shield misses are handled a little differently, you can choose what channel (Raid, Party, Local, Yell) or disable it.
** Fixed the bug causing the report statistics to channel to not work (Shift-click LDB object)
** Fixed bug causing taunt to announce to channel even when disabled if basic mode was enabled.
** Fixed blocks, absorbs, taunt watcher, parry watcher, etc. that were also broken in 4.1 and I didn't notice.
** Added new statistics by request: Will now track how many hits you dodge or parry, or how many times an enemy outright misses you. This can be seen with the other stats by hovering over the LDB object, or in the config screen under statistics. The statistics do not save, and will reset to zero each time you logout or reset your UI.
** Fixed interrupt announcer.
** Fixes for 4.1 patch
** Guardian of the Ancient Kings will announce properly now (Only if you are Prot spec); however, it's not currently
possible to announce when the affect fades because of how it's handled on the server-side. This is the best solution unless Blizzard changes something on their end.
** Fixed error that showed when you have special fx on, Ardent Defender procs, and you have or had nameplates enabled.
** Automatically switches to quiet-mode when you are in Tol Barad or Wintergrasp.
** New 'Tanking Only' option, if enabled (by default it is) AD will only announce if you are currently spec'd protection. This does not affect Whispers from Hand of xxxx spells.
** It's currently NOT possible to track Guardian of the Ancient kings. I'm not sure if this is a bug or a 'feature' but events are triggered when its used, unlike in beta, so theres nothing I can do about this currently.
** Added an 'I interrupted that' announcer. Announces 'I have interrupted targetname's spellname'. It can be a bit spammy with avenger shield, but for heroics I like it. It's on by default but can be turned off in options.
** In the LDB object, you can now see your current total avoidance. According to the latest and greatest from EJ forums, we should be once again aiming for 102.4% avoidance, after getting expertise and hit capped anyhow. Hope this helps.
** Fixed Ardent Guardian, should announce properly now.
** Fixed Ardent Defender heal proc's, will announce death averted message properly again.
** Note if you are having problems with custom messags not working. Type /script ArdentDefender.db:ResetDB() and then /reload.
** Taunt channel should now work properly when in basic mode.
** Divine Guardian should be announcing properly again.
** Added a 'Basic mode' option, when enabled, all output is sent using the 'Taunt output' setting, except for Hand of xxx messages which are whispered. I got tired of having soo many options, and if you are too.. make use of it!!
** Now tracks the Ardent Defender ability (not proc), along with the ability to customize the message as usual.
** I have still not tested the proc of ardent defender, when you should die and it saves you. If you have, please let me know in a comment that it works or doesn't work.
** Fixed a bug where you would get error messages if you had AD enabled but were not a paladin.
** Pretty sure the 'c is nil' bug is fixed.
2.0 Beta4 09/22/10
** Quiet mode toggle added. When quiet mode is enabled, all enabled output is redirected to local chat window.
** Now handles Ancient Guardian ability.
2.0 Beta3 09/18/10
** Complete rewrite of options and how things work
** Replaced Divine Sacrifice with Divine Guardian
** Things left to test: Ardent Defender proc, stress testing in an actual instance or raid.
** This is still a BETA please report any bugs via comments on curse or wowinterface
2.0 BETA 09/13/10
*** This is a BETA untested version for Cata BETA, work in progress. Please use the ticket system
to report any problems you find.. Again it is UNTESTED so far... thanks-Blind
** YELL option changed to 'LOCAL', set it to LOCAL and disable the other options if you want to hear
announcements only to yourself.
Thanks for [email protected] for these changes. :)
** Fixed small bug with Taunt, it would announce to channel even if you had it set
to announce locally only.
** Fixed the not announcing to raid problem
** And that -should- be all the bugs.
** Added further options for Parry tracking. Local, Whisper, or disabled. Defaults to Disabled.
** No longer tracks parries that you cause or parries caused by pets, only parries caused by other players.
** Bubblewall should work properly now.
** Forgot to turn off debug setting.. ahhh! Need more sleep!
** Bug fixes with RAID_WARNING channel option.
** Added option for taunts to have their own channel, as it was causing problems with settings.
** Taunt tracking option is for your own taunts, if it's resisted, if the npc is immune or it misses.
** Track other taunts option is for tracking when someone else taunts your target (and you are tanking it), if it is disabled then it displays locally, if enabled it displays in the taunt channel(s).
** Removed some deprecated options, including channel name.
** New options for all messages, you can choose individually which channel(s) a message is announced to.
** LDB object must now be alt-right-clicked to reset data, instead of just right click.
** Taunt resists, other taunts, and avenger shield misses use the Death averted message channel.
** Note that if you choose more than one channel for a message, it will announce to all available channels (spam!).
** This update will reset your DB to defaults due to many changes in the database.
** Bug fixes
** Fixed stupid bug where you appear to taunt yourself with 'ardent defender' :P
** The option to display when other people taunt your target has been changed, the addon will ALWAYS tell you when someone taunts your target.. however you can have it announce to RAID/etc channel by setting the 'Announce taunt' option.
** Should now detected when a warrior uses mocking blow to taunt your target.. sometimes didn't detect this before.
** Cleaned up some of the option names, etc. to make it a little more legible.
** Added customization option for 'Divine Intervention' ability.
** Fixes missing library
** Fixes bug that caused settings to not be saved upon reload/login.
** Fixes Lay on Hands not working.
** Now actually uses target's name when you announce your hand of xxx spells to raid.. DUH!
** If you customize your message, the <you> in the hand messages is replaced by the target name when announcing to raid only.
** Due to having to change some of the default messages to accomodate the above change, your custom messages had to be reset. Sorry.
*** Added option to announce hand of xxx spells to raid/party instead of whisper (defaults to OFF),
it will use the same channel you have your other announcements sent to.
*** Due to popular demand, I've added new configuration options and
all messages can now be customized. Have fun!
*** Fixed the bug where you couldn't see your own messages in chat.
*** Also updated to newest version of Ace libs.
** Fixed bugs introduced with 3.3.. updated libs as well.. new version number to simply things.
** updated toc for 3.3
** Updated the LDB tooltip for Divine Sacrifice / Divine Guardian for how it works in 3.3 now.
** By popular demand, I reworked the system once more to allow <heal> to work
in your avert death messages. It's a bit of a hack, but it works nicely. Tested it as best I could, let me know if you find any problems.
** Removed the screen flashing stuff from the Parry code. It's annoying as hell and was not intended.
** New option: Othertaunts. Alerts you when someone else taunts your target. I find it useful during certain raids.
** Various bugfixes introduced with 1.4, and fixed an old bug causing it not to alert you when YOU cause a parry on a target you aren't tanking.
** Rewrote alot of the core event code, should be more efficient now.
** As a consequence of the above, AD -should- work for a Paladin of any level now,
not sure if the AD Heal will be accurate or not I haven't had a chance to test it.
** Now tracks/whispers Hand of Freedom on target.
** In Battlegrounds, it will still whisper targets, but will not make any raid announcements.
** Fixed a bug where sometimes AD would proc and it would not be announced.. This was caused by you taking such a large hit that it absorbed all of your remaining HP
and the entire AD Heal proc.. unfortunately by fixing this bug, death averted messages can no longer announce how much AD healed you for.
** Your settings will be reset to defaults upon loading this version, needed to fix some DB changes.. sorry :)
** New option 'Annoy RF', will flash your screen red constantly until you buff yourself with RF. Only works if you are wearing defense gear,
otherwise it does not check for RF. Defaults to OFF.
** Addon can now be put into standby mode by typing /ad standby. Type it again to re-enable it.
** No longer announces anything while in a Battleground.
** Some more bugfixes and grammatical errors in the .toc file.
** Added ability to whisper targets when you use your Hand of Salvation, Hand of Protection, Lay on Hands
or Divine Intervention on them. Note only works at maxlevel, addon not really designed for lower levels.
** Above option is enabled by default, can be disabled with the "Whisper Other" toggle in the options menu.
** Replaced some of the messages used in announcements, uses spell links instead of just names.. especially useful
when in raids with healers who don't know what Divine Sacrifice means, etc. etc
** Bugfixes only. Parry message works properly now. Doesn't cause LUA errors on load.
** Added option by request to WHISPER someone if they cause your target to parry. It's under Parry announce option, defaults to off.
** Hand of Sacrifice is now tracked as part of the Aura tracking, will announce who your hand of sacrifice is on and when it fades.
** Fixed some leftover code from first version where we used to track more events, had potential to cause errors.
** Changed the default death avoided message, seemed too long for me. I personaly use a simple 'Ardent Defender just saved my ass again!' message. ;)
** When AD procs, your screen will shake and flash blue and a sound will be played (Remember Ogri'la dailies?) . This can be disabled in options. (Specialfx)
** Fixed bug with shift-clicking the LDB object not reporting to party/raid channels.
When sending the info to a channel it will look way different than when you are alone, due to not being able to send line breaks or colors to channels.
** New option: SpecialFX. Enables/disalbes screen flashing and shaking.
** Credits for Screen shaking and flashing code go to Omen3 and Xinhuan. Thanks for letting me use the code!
-- Note: The Parry whisper code is untested, if you have problems with it please let me know.
** Fixed a bug dealing with Avenger shield and immune NPCs (such as banished elementals), now does some sanity checking.
Bug fixes only...
** Activating Divine Sacrifice will no longer make an announcement for
each member of your raid. Sorry about that!
** Death averted numbers were not properly being tracked. Fixed.
** Added aura tracking for Divine Sacrifice.
** Rewrote some of the if() statements in the combat log parser for better sanity.
** Changed bubbleWall option to 'trackAura' option, since it now applies not only to
bubblewall but also to Divine Sacrice.
** Added partial implementation to track/announce Hand of Sacrifice.. do people want this? Hmm.
** Added info in LDB object to display an estimate of how much health Divine Sacrifice will absorb (if talented)
** Rearranged options to make them more enjoyable to read and use.
** Removed deprecated 'AvengerMiss' option, Avenger shield tracking is part of the tauntWatcher
option now. Can seperate if people request it. I dont see a need for it.
** Hide the bubblewall message box, in all my time using the addon I never felt the need
to change the bubblewall msg. I can turn it back on if people request it. I didn't enjoy the clutter.
** Cleaned up alot of my comments and added some more to make things more readable.
** CheckTalents() wasn't really needed anymore, removed it and all calls to it. Rewrote ldb object to work without it.
** With CheckTalents() gone, we don't need to watch for "PLAYER_TALENT_UPDATE" or "CHARACTER_POINTS_CHANGED") events anymore.
Bugfix -- CheckTalents() sometimes caused an assert() failure
due to the game not being fully loaded yet. Made it silent if called from self:Initialize(),
we check when entering combat anyhow.
Initial Release 08/25/09
|File Name||Release Type||Game Version||Downloads||Date|
|v2.22||Release||6.0.3||6,539||Dec 14, 2014|
|v2.22-nolib||Release||6.0.3||34||Dec 14, 2014|
|v2.21||Release||5.2.0||144||Dec 14, 2014|
|v2.21-nolib||Release||5.2.0||17||Dec 14, 2014|
|v2.20-nolib||Release||5.2.0||56||Mar 17, 2013|
|v2.20||Release||5.2.0||5,185||Mar 17, 2013|
|v2.17||Release||5.0.5||3,093||Oct 26, 2012|
|v2.17-nolib||Release||5.0.5||40||Oct 26, 2012|
|2.16-nolib||Release||5.0.4||129||Sep 6, 2012|
|2.16||Release||5.0.4||2,737||Sep 6, 2012|
|2.15||Release||5.0.4||1,454||Sep 2, 2012|
|2.15-nolib||Release||5.0.4||17||Sep 2, 2012|
|v2.14-nolib||Release||5.0.4||9||Aug 30, 2012|
|v2.14||Release||5.0.4||1,332||Aug 30, 2012|
|2.14Alpha||Beta||5.0.4||31||Aug 30, 2012|
|2.14Alpha-nolib||Beta||5.0.4||27||Aug 30, 2012|
|v2.13||Release||4.3.0||10,336||Dec 6, 2011|
|v2.13-nolib||Release||4.3.0||48||Dec 6, 2011|
|2.122||Release||4.2.0||10,976||Jul 3, 2011|
|2.122-nolib||Release||4.2.0||37||Jul 3, 2011|
|2.12-nolib||Release||4.2.0||11||Jul 3, 2011|
|2.12||Release||4.2.0||235||Jul 3, 2011|
|2.11-nolib||Release||4.1.0||24||Jun 21, 2011|
|2.11||Release||4.1.0||3,256||Jun 21, 2011|
|2.10||Release||4.1.0||4,480||May 11, 2011|
|2.10-nolib||Release||4.1.0||137||May 11, 2011|
|2.09||Release||4.1.0||2,158||May 8, 2011|
|2.09-nolib||Release||4.1.0||49||May 8, 2011|
|2.08-nolib||Release||4.1.0||113||Apr 29, 2011|
|2.08||Release||4.1.0||3,018||Apr 29, 2011|
|v2.07||Release||4.1.0||2,383||Apr 27, 2011|
|v2.07-nolib||Release||4.1.0||17||Apr 27, 2011|
|v2.06||Release||4.0.3a||104||Jan 21, 2011|
|v2.06-nolib||Release||4.0.3a||14||Jan 21, 2011|
|2.05||Release||4.0.3a||14||Jan 21, 2011|
|2.05-nolib||Release||4.0.3a||11||Jan 21, 2011|
|2.05-nolib||Release||4.0.3a||10||Dec 20, 2010|
|v2.05||Release||4.0.3a||84||Dec 20, 2010|
|v2.05-nolib||Release||4.0.3a||15||Dec 20, 2010|
|2.05-nolib||Release||4.0.3a||16||Dec 20, 2010|
|2.04-nolib||Release||4.0.3a||8||Dec 20, 2010|
|2.04||Release||4.0.3a||19||Dec 20, 2010|
|2.04-nolib||Release||4.0.3a||15||Nov 28, 2010|
|v2.04-nolib||Release||4.0.3a||9||Nov 28, 2010|
|v2.04||Release||4.0.3a||47||Nov 28, 2010|
|2.04-nolib||Release||4.0.3a||8||Nov 28, 2010|
|v2.04-nolib||Release||4.0.3a||11||Nov 28, 2010|
|2.03||Release||4.0.3a||19||Nov 28, 2010|
|2.03-nolib||Release||4.0.3a||13||Nov 28, 2010|
|2.04-nolib||Release||4.0.3a||10||Nov 28, 2010|