Penance Priest

Discipline Priest Blog

I have tanked Razuvious once before, and it was successful. Moderately. We won the fight, but it was not elegant.

Three days after we did S3D, we're in Naxx and I'm up. We have no shadow priests and only two healpriests. I'm not terribly confident, and tell the raid leader that, but we'll go anyway. We're having a blast plowing thru the place. My tanking fails miserably, and we wipe. No big deal, but the raid leader is already offering to bring his priest.

Second try, this time with me healing and our raid leader priest-tanking, and it's a perfect kill. His spec was irrelevant, his skills apparent. No hard feelings, no big deal. After Razuv he goes back to his mage and we continue pwning.

(And if you were thinking "Ha! Vindicated!" or some such thing, then you missed the point of the previous post. Knowing when you're not the best man for the job is just as important as knowing when you are. Go team!)

Holy cow. We got it! I wish I had grand strategic tips to share with you, but this post is about something else. (Actually here’s a grand strategic tip: keep the tanks alive. You heard it here first!) Mainly though, I’m surprised at how excited I am at having been part of a team that conquered Goldilocks and the Three Bears. I mean, drakes. Yeah, drakes. I couldn’t sleep, and I’m having a hard time at work today. WOOOT!

The setup

On our previous attempts we got very close. Enough that I was convinced we’d have it in one more solid night of working on it. Unfortunately I would be missing that raid for other commitments. So needless to say I was disappointed that I wouldn’t be part of (what I expected would be) our guild first. And on our kind-of-sorry server, only three other guilds, both factions included, have done it.

I logged on 3 hours after raid time, just to check mail and say hi, see how it went. Before I could say boo there was a raid invite from the GM. Whoa, ok cool! At the same time I noticed our raid leader/officer logging off his priest and onto his mage. My first guess was confirmed in raid chat: they had been struggling for 3 hours, gotten him tantalizingly close (3 drakes down but no healers left when they got to Sarth himself), and needed a different healer. I just joined this guild, so I don’t actually know how well our raid leader plays his priest, but his mage is crazy good. I was honored that they felt I’d make enough of a difference that they were willing to stay late to give it another shot.

The kill

It took fifteen minutes. Probably the longest boss fight I’ve ever done. It was damn solid, with maybe six or seven dead by the end of it, and it only took one attempt. (Well, one attempt after I joined, probably closer to ten attempts for everyone else…) I’m convinced we’ll repeat it pretty easily. Voidwalker tank, 65k health before the debuff, made my job almost easy for most of the fight. The warlock who made it happen won the roll for the mount. Perfect.

What is Disc anyway??

After the fight I checked my raid leader’s priest out on armory to see what the big fuss was about replacing him. His gear was a mix of the awesome and the old, some Naxx25 and some T6. Should easily be serviceable by a skilled player though. Then I checked out his talents. Have a look.

Say it with me. Oh. Mygod.

Yes, it’s a discipline spec. But wow…it looks like an oddball pvp spec, maybe thrown together before a fast arena match. Hard to know why one would put that many points in the disc tree and not take Penance. My only guess is that he’d never used Penance before and did not expect to learn how to use it without practicing.

Ok, so in all fairness, he’s a great raid leader, a super mage, and just an all-around terrific guy. I’m sure he stepped in on his priest because they were short a healer, not because he’s a committed priest. So I’m not really harping on him personally. It just made me realize that even a priest can completely misunderstand the discipline spec. And by that I mean, WOW, so far off the mark that he’s discipline in name only.

He’s not the first. Other disc priests I’ve seen on our server failed in more subtle ways: stacking too much spirit, or missing a few key talents, that kind of thing. Usually I chalk it up to a holy priest wanting to see what the fuss is all about. Which is of course kind of sweet, and certainly a good thing for everyone.

Know thy class! Hell I haven’t had more than 14 points in holy since Penance first appeared on the scene. But I find it terribly important to have some grasp of talents in the holy tree and cookie-cutter holy priest specs.

Ok, just a skitch of ego

This isn’t a “me me” blog; I try to keep it philosophical and practical. But if there’s a time for a little bit of patting myself on the back, I think this qualifies. I’ve had the honor of being called a clutch player more than once. I’ve been called in at the last minute to (hopefully) save a failing raid twice on Kel, once on Sapph, and back in the day on Nightbane. Anyone who’s paying attention in my raids knows that I don’t top meters and never will; certainly if you’re reading this blog you understand that as a fundamental mechanic of the discipline spec. So what is it that makes someone clutch if not massive HPS? Is it all my shiny purples?

Well just imagine you were there at the start of the S3D raid. Our raid leader is on his mage, his main, waiting to see if any other healers log on. They knew I wasn’t coming, but I’m sure they were hoping for others to pop in. Nope. “Sigh, ok, I guess I’ll bring out my priest, let’s go!” That, dear readers, is not confidence inspiring. Of course that isn’t all there is to it, but it counts for a lot in a team situation. If you’re not 100% confident in your main tank healer, isn’t there a little part of you that’s scared, maybe already given up?

Someone tell me there’s a reader out there old enough to remember Larry Bird. (He played basketball in the 80s, the decade of A Flock of Seagulls and leg warmers, god help us.) Bird was one of the greatest players ever, whose genius was not his ability to pound the lane through traffic, or hit three-pointers, although he did that and more. What made Bird special was his ability to make other players better. One statistic that he owned was assists. That’s right – even though he was a fantastic rebounder, free-throw shooter, and ball-stealer, his presence on the court was not all about himself and his chart-topping performances. He was a team player. (In basketball, for those not already in the know, an assist is when you give the ball away to someone else to shoot.) Sure, he could trash talk on the court, and he was league MVP three times, so there’s no question he was a star. But he passed the ball like no one else, knew what the other team was doing better than anyone else, and made good players play like great players like no one before or since.

And that, dare I say it, is what makes someone so valuable. They must be able to do their job, and you must be able to trust that they’ll do it with as little ego getting in the way as possible. And if they do it with dignity, confidence, and maybe even style, then you are freed to do your job, without being in any way distracted by doubt.

Hello, my (toon’s) name is Paolo, and I am a team player.

Hm, is that ego? Being proud of being a team player?

EDIT: This article is a bit dated. There are at least two addons that were created after I built these macros that you should check out. Both Announce and GuardianSpirited do what I'm trying to do in these macros, only more elegantly and more reliably. The macros are still fine, and certainly more lightweight, but they're no longer your best choice.

At some point you realize that you can do more than just

/cast Power Infusion

Here are some upgrades to your PI macro, culminating in what I think is just about the best you can do in the limited space of a macro.

Round One: Adding a whisper

Before any raid, I’ll usually alert my intended victim of what’s about to happen. Getting PI’d is fantastic, but if you’re not ready for it, it can be a bit jarring. So I just let them know that they’ll be getting hit with it when it’s up.

Then, when I cast PI, I’ll send an automatic whisper to the target so they know what just happened. Of course, they can see the animation and feel the haste, but the whisper is generally appreciated.

/cast [target=mouseover] Power Infusion
/run SendChatMessage("You just got Power Infusion...haste it up!","WHISPER",nil,UnitName("mouseover"))

Round Two: Linking the spell, and adding a Quartz timer

Just because you can, doesn’t mean you should. But I like to anyway :)  Here’s the same macro, but this time the spell is linked, rather than just named. Also, I’ve added a line that tells Quartz to put up a custom timer bar (enable the “mirror” function within Quartz, then play around with it). If you’re using other methods for managing your cooldowns, the Quartz timer can certainly be removed.

/cast [target=mouseover] Power Infusion
/run SendChatMessage("You just got "..GetSpellLink("Power Infusion").."...haste it up!","WHISPER",nil,UnitName("mouseover"))
/quartztimer 96 Power Infusion

Round Three: Error checking

I used the above macro for a long time. Unfortunately, it does no error checking. So if my target is out of range, they of course won’t get hit with PI, but they’ll still get the whisper. Same if the spell is on cooldown; they get a message but no buff.

The two LUA functions we’re adding here are IsSpellInRange and GetSpellCooldown. I’ve removed the Quartz timer, because I can’t include it within the error check. (I.e., the timer will display when I click, even if the spell fails.)

This uses some handy programming shortcuts in order to minimize the number of characters in the macro. Still, it’s about as sophisticated as you can get within the 255 character limit. (This is 217 characters, so there’s a little wiggle room.)

/script local u,pi="mouseover","Power Infusion";if IsSpellInRange(pi,u)==1 and GetSpellCooldown(pi)==0 then SendChatMessage("You just got "..GetSpellLink(pi).."!","WHISPER",nil,UnitName(u)) end
/cast [target=mouseover] Power Infusion

Briefly, what’s happening is this. In the first line, we’re sending the recipient a whisper, but only if the spell will land. To test if the spell will land, we’re checking to see if the target is in range and if the spell is off cooldown. (We’re not checking for line of sight, though that could probably be built in as well.)

Another difference with this version is that the spell itself is cast after the whisper. If we cast it before the whisper, the cooldown will of course be in effect and the whisper won’t be sent.

If you have any additions, corrections, or anything to improve upon in this macro, please send them along!


There are two addons that I know of that can be used for this sort of thing. CastYeller is made to order – it’s designed to let people know when a spell is cast successfully. It can whisper the target, post to a custom chat channel, or to the entire raid. I haven’t quite gotten it to do what I want, but YMMV of course. Definitely worth a look.

Aftercast is another option. It looks like it’s no longer in development, so I haven’t even downloaded it to try. I’d be curious if anyone has this working, or if there are other addons that are useful for spell announcements.

Bonus macro: Pain Suppression

What’s different here? Not much, to be honest. The only thing is that we’re no longer interested in sending a whisper to the target, but to the raid in general. This lets everyone know you’ve blown your cooldown to save the tank (most likely) or dps (shame on them!).

/script local u,ps,c="mouseover","Pain Suppression",GetNumRaidMembers()>0 and "RAID" or "PARTY";if IsSpellInRange(ps,u)==1 and GetSpellCooldown(ps)==0 then SendChatMessage(ps.." on "..UnitName(u),c) end
/cast [target=mouseover] Pain Suppression

The chat channel will be set dynamically based on whether you're in a raid or a party; if you’re testing it out solo you’ll get an error message saying that you’re not in a party.

Right after I wrote the other two posts on information management, I picked up the delicious Illustration of the Dragon Soul. I knew I needed some way to keep an eye on it, and using the main display of raid buffs was just not gonna cut it. Finding its icon in all that chaos is not my idea of a user-friendly interface.

What I’m using now is an addon called NeedToKnow. It was designed for tracking the time left on buffs and debuffs, which is exactly what’s needed here. In fact, it also tracks the count of stackable buffs, like rogue poisons, so it fits Dragon Soul just perfectly.

Below is a screenshot of NeedToKnow in action. The top bar shows Dragon Soul’s stack count (10) and time remaining (9s, but the “s” is a bit hard to see under the white spark). The bottom bar is for Renewed Hope, taken off the 3.1 PTR, which if you hadn’t heard yet, will be doing some of the heavy lifting that Grace used to do:

Renewed Hope now also give you a 100% chance to reduce all damage taken by 3% for 20 sec to all friendly party and raid targets when you Power Word: Shield a friendly target.

This is a raid-wide buff, so I’ll be tracking it using NeedToKnow. In practice, I doubt it will be something to be concerned about, as it will likely be up 100% of the time without trying.

One other buff I’d like to track this way is Heroism. Because Power Infusion doesn’t stack with Heroism (well, at least the haste component doesn’t), I want to know when Heroism is about to end. As soon as it does I’ll be able to pop PI on my friendly caster and be assured they’ll get the full benefits. Here again, hunting for the Heroism icon in the chaotic and ever-shifting list of raid buffs is the wrong way to do this; having a bright timer bar in a fixed position on your screen is the right way.

Oops! I hacked your code

So, yeah. NeedToKnow is great. The only problem is that this wunder-trinket has a reaaalllly loooonnnggg naammme. And the way NeedToKnow is coded puts the stack count to the right of the buff’s name. Without the hack, the purple bar would say “Illustration of the Dragon Soul [10]”. This would be fine except for the fact that I don’t want my bar to be wide enough to show all that text. And once you shrink the bar, the stack count gets hidden behind ellipses.

The minor hack job I did was to move the display of the stack count to the left of the buff name, as you see in the screenshot above. If you want to do this yourself, you can edit the LUA directly. About 25 lines from the end is a line that says “if (count > 1) then”. The line that immediately follows is where the bar’s text gets set up when a stack size needs to be displayed. I’ve changed mine to read

text:SetText(count.." - ";

Um, please don’t ask me for programming help! If you’re not sure of what you’re doing, make backup copies, and go slowly, or just skip this bit. You’ll still love NeedToKnow.