H.H.T.D.
H.H.T.D.
In World of Warcraft healers have to die (H.H.T.D). This is a cruel truth that you're taught very early in the game. This add-on helps you influence this unfortunate destiny in a way or another depending on the healer's side...
This add-on is now known as H.H.T.D.
I originally chose the original name as a provocation to make one of the basic cruel truths of World of Warcraft perfectly obvious to everyone. Now I find this name too harsh, too long and mostly not specific enough to WoW.
As an author I could not stand that name anymore. This add-on does have an existence (and meaning) both in WoW and in the real world where obviously we don't want the death of our beloved healers...
While H.H.T.D is just an acronym of the original name, it will stay in World of Warcraft where it belongs.
Current features:
HHTD automatically adds healer symbols on top of players nameplate indicating their class and healing rank. Unlike other add-ons it only takes into account actively healing players. (It uses different symbols for friends and foes).
HHTD lets you apply custom marks on top of any unit's nameplate. These are the same marks as the default raid markers but you can set as many as you want and customize their look. These marks persist across game sessions. (They are only visible to you)
IMPORTANT NOTE: You have to enable nameplates, else you won't see any healer symbol!
HHTD lets you announce through a customizable message who the enemy and friendly healers are (using the Raid Warning channel if possible).
It will also help you protect the healers who are on your side alerting you when they are being attacked (check the option panel for details).
Helps you target healers easily when they are in a pack.
All of this applies to PVP and PVE.
NOTE: Type /HHTDG to open the configuration panel. There are many settings to check!
HHTD's options are not directly available in the "Interface" panel due to ongoing tainting issues Blizzard is not willing to fix.
That player is not a healer?
If you see a player marked as healer that should not be:
If their mark's background is NOT grey, check the 'Logging' option in the option panel (/HHTDG) ; then when you see such a player, reopen the option panel and check the content of the 'Logs' tab and report to me by opening a ticket. Please avoid comments on Curse.com as it's impossible to follow what happens there).
If their mark's background is grey then enable the 'Healer specialization detection' option so as to only report specialized healers ignoring others.
Also note that the healer's rank is displayed as a number in the center of the displayed mark so you can judge the importance of that player in the healing currently being done (the lower the number, the better the healer).
How it works
HHTD uses the combat log events to detect friendly and enemy healers who are currently healing other players (during the last 60s). HHTD detects specialized healers spells (for human players only) and differentiates specialized healers from hybrid ones.
HHTD also lets you choose a specified amount of healing healers have to reach before being marked as such (50% of your own health by default). This threshold is the only criterion used for NPCs.
When a healer is identified it will be marked with a healer symbol above their nameplate. If the healer is specialized, the symbol's background will be colored according to their class. In other cases the background will be grey.
In all cases a number in the center of the symbol indicates the rank of the healer, the lowest the number the better the healer (ie: '1' represents the most effective healer while '9' is the least effective).
You can force HHTD to only report specialized healers through HHTD's options (/hhtdg).
Needless to say that self-heals and heals to pets are filtered out.
Commands
/HHTDP (or /hhtdp) posts healers name to the raid channel ordered by effectiveness for all to see (Will use the Raid Warning channel if possible).
You need to configure the messages in the announce module options first.
You can bind the above command to a key (WoW key-bindings interface)
/HHTDG opens option panel
/HHTD gives you access to the command line configuration interface (useful for changing settings through macros...)
Planned features
- Detection when a friendly healer is being attacked and alert others through /yell, /say and emote.
Compatibility
HHTD is only compatible with nameplate add-ons which have been coded responsibly and do not modify internal parts of Blizzard nameplates (a very selfish behaviour as it prevents any other add-on from re-using them).
HHTD will detect these incompatibilities and report to you so that you can ask the culprit add-on authors to fix their code and make it compatible with ALL nameplate add-ons.
Guidelines for other add-on authors:
Do not call :Hide() or :Show() on nameplates' base frame. This breaks nameplate tracking for other add-ons by unduly firing OnHide/OnShow hooks...
Instead, make its sub-frames invisible by changing their size and/or setting them to the empty (not nil) texture. (check out how TidyPlates does)
Do not call :SetParent() on nameplates' subframes, this would prevent other add-ons from finding and hooking nameplate elements.
Do not use SetScript() EVER. You don't need it. :SetScript() shall only be used on frames YOU create. You can simply replace all your SetScript() calls by HookScript().
Videos
Here is a video by Hybridpanda featuring HHTD in the Eye of the Storm battleground:
YouTube - This makes me a sad Panda
Articles
Here are two excellent articles about HHTD by Cynwise (A must read if you have some doubts about the fairness of this add-on!) :
HHTD and the PvP Addons Arms Race
Using HHTD to Protect Friendly Healers
Here is another article written by Gevlon (a PVP healer).
type /hhtdg to open the configuration interface, or /hhtd for command-line access
Comments and suggestions are welcome :-)
To report issues or ask for new features, use the ticket system.
Bitcoin donation address: 1JkA5Ns1dMQLM4D8HUsbXyka6yhp312KnN
Correct me if I'm mistaken but raid markers are not allowed in PVP (You can't mark players)
Hey, love the addon.
How can I set it so it only works for pvp, and not PvE? Especially in raids. I'm only concerned with targeting pvp healers and protecting my own.
Thanks!
You can disable scanning of NPCs by unchecking "Enable for PvE" in the /hhtdg panel
When fighting amber shaper boss in Terrace, whenever someone was turned into a construct in last phase, I was getting a lua error (on version 2.03). Apologies, swatter not updated yet so not able to view log.
When will the announcer be fixed thats the main reason i got this addon
I'll take a look tonight
@elerrina, @Tango88: This is fixed in version 2.0.4
Thank You for updating the addon, cheers! :)
Awesome thanks =)
The bg announcer is not working, when it's set to raid. I suspect it's because now the chat channel in bg's is changed to /instance?
"Fear not, Blizzard might fix this in just a few years"
lol
Doesnt seem to be working on 5.1
Thanks for the heads up, it's foxed in 2.0.3 :)
Been manualy finding the healers for years, had no problem what so ever noticing the guy in the back with out any bolts flying from his cloth wearing ass was heals, and monks are even easier to spot then the traditional healers. The thing I like about this is I can announce it with out having to do the old route of shouting "kill the healers first!" then having to type out each healers name one at a time for the bg fodder to catch on.
With this I can simply announce it, they can then decide if they are smart enough to target it first or continue mouthbreathing and shouting "so-and-so is too powerfull, he won't die," as 2 healers heal his target using /lol macros.
Can't lie though when my bg buddy told me about it, I just kind of shruged it off, becuase I was finding the healers before him, I could spot them before their heals went off. But now that maintance has left me with free time I have read about other uses of this, and decided meh why not.
It makes me sad that anyone approaches addon use like you do. No one should feel too proud to install addons, and then when they finally do install them, feel compelled to post ritual apologies or explanations about it. Addons should be used if they're -convenient-. That's all. You don't need any more reason to install something than that it's convenient. Humans are tool-using animals. Convenience is good.
Just flyinga around and get this error
5x Healers-Have-To-Die-2.0.2\NamePlateHooker.lua:472: attempt to index field "?" (a nil value)
Healers-Have-To-Die-2.0.2\NamePlateHooker.lua:472: in function <Healers-Have-To-Die\NamePlateHooker.lua:463>
Healers-Have-To-Die-2.0.2\NamePlateHooker.lua:497: in function <Healers-Have-To-Die\NamePlateHooker.lua:488>
Healers-Have-To-Die-2.0.2\NamePlateHooker.lua:535: in function "AddCrossToPlate"
Healers-Have-To-Die-2.0.2\NamePlateHooker.lua:408: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
<string>:"safecall Dispatcher[4]":4: in function <string>:"safecall Dispatcher[4]":4
<in C code>
<string>:"safecall Dispatcher[4]":13: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire"
Libs\LibNameplate-1.0\LibNameplate-1.0-36.lua:232: in function <Libs\LibNameplate-1.0\LibNameplate-1.0.lua:229>
Libs\LibNameplate-1.0\LibNameplate-1.0-36.lua:811: in function <Libs\LibNameplate-1.0\LibNameplate-1.0.lua:793>
Locals:
nil
Please, could you try with the latest alpha?
http://www.wowace.com/addons/healers-have-to-die/files/
Still getting error
3x Healers-Have-To-Die-2.0.2-2-gbaf3216\NamePlateHooker.lua:475: HHTD.Registry_by_GUID[IsFriend][Guid] is not defined
<in C code>
Healers-Have-To-Die-2.0.2-2-gbaf3216\NamePlateHooker.lua:475: in function <Healers-Have-To-Die\NamePlateHooker.lua:465>
Healers-Have-To-Die-2.0.2-2-gbaf3216\NamePlateHooker.lua:501: in function <Healers-Have-To-Die\NamePlateHooker.lua:492>
Healers-Have-To-Die-2.0.2-2-gbaf3216\NamePlateHooker.lua:539: in function "AddCrossToPlate"
Healers-Have-To-Die-2.0.2-2-gbaf3216\NamePlateHooker.lua:408: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
<string>:"safecall Dispatcher[4]":4: in function <string>:"safecall Dispatcher[4]":4
<in C code>
<string>:"safecall Dispatcher[4]":13: in function "?"
Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire"
Libs\LibNameplate-1.0\LibNameplate-1.0-37.lua:225: in function <Libs\LibNameplate-1.0\LibNameplate-1.0.lua:222>
Libs\LibNameplate-1.0\LibNameplate-1.0-37.lua:488: in function "NewNameplateCheckHP"
Libs\LibNameplate-1.0\LibNameplate-1.0-37.lua:514: in function <Libs\LibNameplate-1.0\LibNameplate-1.0.lua:502>
(tail call): ?
<in C code>
Locals:
nil
Hello,
Do you use any add-on that modifies the name-plates? Did "neutral" units with healing abilities were present around you at the time of the error?
Thanks,
John
There is an option for that (Type /hhtdg)