Finding enemy healers in the chaos of mass pvp can be a daunting task. Keeping track of your healers is also not easy, and detecting when they are attacked even worse. Do you wish there was a simple solution for this issue?
Then try HealersHaveToDie, one of the most simultaneously loved and hated PvP addons. It displays a red cross over enemy healers' nameplates, and an healer icon above allies' ones. Furthermore, it warns you when a nearby friendly healer is being attacked, and broadcasts all this information through the raid channel.
Keep in mind you must have name-plates enabled, otherwise you won't see the healer symbols.
We also had the opportunity to have a chat with the add-on's author, John Wellesz:
Why did you decide to create HealersHaveToDie?
I started this mod three years ago: I was in a BG and as usual all the players were piled on each other, I wanted to target an enemy healer and had a lot of troubles doing so... Like trying to pick a specific ant in a anthill. That's when the idea of HealersHaveToDie popped into my mind.
At first it was very simple, it just rang when your mouse pointer was hovering a healer ('ding'), and made a different sound upon a successful target acquisition ('dong') - very helpful in the anthill situation.
Until then Decursive was my only add-on, so I was eager to start a new one, a simple one. Coding it is also fun because it's just the opposite of Decursive: it's evil!
[…] So there is a black humorous attitude in the coding of this add-on, it started partly as a joke...
There is some controversy around the fairness of this mod. Which is your opinion on the matter?
The controversy started with the addition of markers upon healer's nameplates.
So the add-on remained in its simple form for a year and a half. It had just a few thousand users then, some of them insisted on the addition of markers, pointing me toward add-ons that were indeed successfully modifying the nameplates.
I delayed coding this feature though. It really felt wrong to me, it was going too far. Like stigmatizing a whole community - with a marker... I was also afraid that Blizzard would instant-ban my add-on. But then I thought: "What the hell, it's just a game after all... Let's try and see what happens." I really took it like an experiment.
It wasn't all bad in my opinion, it could also benefit the game, improve it by making random BG more interesting and dynamic, creating the illusion of a team at work where usually chaos is ruling...
The experiment turned out to be quite interesting, it acted like a self-fulfilling prophecy, when the add-on had only 15,000 users, debates were started on the official forum by healers blaming it for being focused whereas it was statically impossible. It was those 22 pages threads who actually made HHTD popular - it has around 200 000 users nowadays!
No side was winning in those endless debates, it's rather obvious that healers should always be the first to die in a battle (it's a known fact in PvE) but it doesn't seem to be accepted by the majority of battle grounds' players.
HealersHaveToDie just reveals the simple and fragile mechanic of mass PvP. Maybe Blizzard should improve this mechanic now that it has become too obvious, make something to encourage teamwork such as rewarding those who protect/save their team mates, things of that sort... However the add-on has been around for quite some time now and nothing has changed!
At first markers were only added on enemies, HHTD was ignoring friendly healers, then a user suggested that friendly healers should also be marked so they could be protected. I happily seized that idea, it was still compatible with the add-on's name and it was lessening the evilness of it, making it useful to both sides and thus emphasizing teamwork.
Other teamwork-focused features were added: warnings when a nearby healer on your side is being attacked, fair raid channel announcements (enemy healers to focus are announced along with friendly healers to protect)...
So I don't think HealersHaveToDie is unfair, it's perfectly normal for healers to be focused, my add-on just makes it easier. Healers should seek protection among their team mates and use their uncommon ability to attract enemy fire to develop strategies...
How does the addon determines if a given player is a healer?
It watches the combat log events and analyses the spell being used and detects those only available to specialised healers. It also uses a healing threshold a healer needs to reach in order to be marked as such. It keeps track of healers once they are detected and removes them if they haven't been healing for a certain period of time (3 minutes by default) thus ensuring that only useful healers get the mark.
Could you tell us about any other mods you are working on, or planned for the future?
Besides HHTD and Decursive I only have another one called Sheepdog, a nice companion who gently warns you when someone on your team is using a crowd-control spell on a nearby enemy. It also barks when you target a crowd controlled enemy. It's scarcely used though.
Do you have any advice for others who would like to start modding?
Well, I started modding because I needed stuff I couldn't find elsewhere. I think that to be successful one needs to do something he really himself needs. Working on something you wouldn't use yourself is just impractical. If you see a bad software somewhere, chances are the developers are not using their own program... (This doesn't only apply to programming of course.)
Doing something for yourself is a good way to stay motivated at the beginning. Then it can go way beyond that when your hard work is also benefiting others. This is my main motivation nowadays, feeling useful to a great number of people is the best reward I can get from the hundreds of hours I spent coding.
Programming is a difficult craft when you want to do things right, you never stop learning. Here are a few things off the top of my head I learned over the years:
• If you have duplicated code or logic then your implementation is probably bad.
• It's well worth spending ten minutes just to choose a variable's name.
• Shared libraries are your best friends, don't waste your time reinventing the wheel.
• Simplicity is often more important than pure effectiveness but don't mistaken simplicity for stupidity.
• Remember that your user will never read your Readme.txt so make intuitive and clever interfaces.
• Bugs have no excuse.
Thank you to John for answering our questions and developing this add-on.