Monday, February 22, 2010

Anatomy of an Affliction UI - Part II: Macros and Deathbringer Saurfang

In Part I, I gave an overview of my UI, with the most obvious add-ons labeled. There are a few invisible ones (TipTac, DST, ArkInventory, FreeRefills, XLoot and my own HazFish and HazNuke), which I'll get to eventually, but before I start on the first add-on — which will be Bartenders — I'm going to look at something to put on my bars: macros.

For the completely uninitiated, go read the Macro HOWTO on WoWWiki. It's not half bad. I'm going to assume you've either read that article, or are at least comfortable making simple target and assist macros from here on. One quick refresher: stuff in [square brackets] is a conditional clause, an if this… then… that must be true for the macro engine to run the command it's modifying.

Also, I'm assuming you know what your focus target is: If you're currently raiding and you don't know what your focus target is, you are doing it wrong. Go away and find out.

Two nice macro features introduced in patch 3.whatever made the macro language more terse. If you're using old macros that you copied and pasted at the dawn of time, you should replace every instance of modifier with mod, and replace every instance of target= with @.

Focus


One of the skills every warlock should acquire is that of chain banish, chain fear and chain enslave: keeping a mob locked out of combat until your raid is good and ready to lay the smack down upon it, classroom style. The process is identical for fear and banish, I'll use banish. In plain terms you need to:

  1. Banish something, say, a Hardened Iron Golem in the Antechamber of Ulduar.

  2. Keep it banished indefinitely.

  3. Still nuke the (un)living fuck out of your primary kill target.

  4. Cast Banish prematurely to release the mob and kerb-stomp it.


To do this without wasting GCDs, because you're a warlock and every GCD is damage done — if only to yourself for mana — I use a focus macro, bound to my "B" (for Banish!) key:

#showtooltip Banish
/focus [@focus, noexists][@focus, dead] target
/cast [nomod, @focus] Banish
/stopmacro [nomod]
/clearfocus [mod:ctrl]


Line-by-line, what's going on:

  • #showtooltip Banish — show the icon for Banish. The first slash command isn't /cast Banish, or a variation thereon, so if I want it to look right, I have to be specific.

  • /focus [@focus, noexists][@focus, dead] target — Sets my focus to my current target if I don't have a focus target set, or if my current focus is already dead. Since I use this macro to set focus all the time on tanks, unbanishable targets, Draenei with particularly hot tentacles, I don't care whether the target is [harm] or [help].

  • /cast [nomod, @focus] Banish — cast Banish on my focus target if I don't have any modifier key (shift, ctrl, alt) pressed.

  • /stopmacro [nomod] — If I'm not holding a modifier key, the macro ends here.

  • /clearfocus [mod:ctrl] — If I'm holding down <ctrl>, clear my focus.



Spell Ranks: Life Tap


It's still worth having the Glyph of Life Tap, but there are some fights you won't want to do a full-health Life Tap every time, because you'll die. For the record until Dark Pact's range is increased from 30 yards, it's often useless. But not completely. Especially given the amount of dead wood in the affliction tree. I vacillate between Dark Pact and 1/2 Fel Synergy. Anyway, this little macro casts max rank Life Tap, unless you're holding down <ctrl>, when it casts Rank 1 Life Tap, which costs negligible health, but refreshes the buff:

#showtooltip
/cast [mod:ctrl]Life Tap(Rank 1);[]Life Tap


A syntax note: the semicolon separates alternative commands for a single cast. When you run the macro (by pressing the button or bind) they're assessed from left to right until one works. So, here, I've said if I'm holding <ctrl> then use Rank 1 Life Tap; otherwise just Life Tap. Spells without a rank are cast at max rank. The empty modifier [] is a fail-safe: it says if… fuck, no ifs about it, just cast.

To check that your conditionals work, drag your macro to a button bar and hover over it. The tooltip (and icon) will change according to your modifiers. If it doesn't, you have a typo. Or you should get someone else to write macros for you. That's what the unmodified #showtooltip is doing for you.

Targeting


Since we're using focus, and we have a target selected, we can nuke two things at once with a simple macro: /cast [mod:shift,@focus] Shadow Bolt; [] Shadow Bolt, but that's of limited use in a fight when multiple adds spawn and they must be focus-fired down — like the Deathbringer Saurfang fight.

Fortunately, the @ syntax extends to target-of-target: @target is your target, @targettarget is your target's target (so you could target the MT and blast his target), @focus you know, but surprise, surprise, @focustarget works, too. So you can set your focus to whoever you're supposed to be assisting, keep Saurfang as your target, and use a macro like this to nuke the correct add:

/cast [mod:shift,@focustarget]Shadow Bolt;[]Shadow Bolt

In practice, if your raid DPS is high enough, or your tanks butch enough, as an affliction warlock you shouldn't be doing too much add-nuking on Saurfang, but this macro allows you to help out without breaking your primary rotation on Saurfang. Just hold <shift> down every time you're casting a filler shadow bolt, and you're contributing to the cause.

But that's not all. The general syntax of the @ operator is @<UnitId>[[-]target]*, which for those who don't speak the geek means "@ followed by any valid <UnitId>, followed by an zero or more instances of 'target' (maybe with a '-' in front). e.g.: @target, @pet-target, @pettarget, @focustarget-target-target, @ralimenua-target. Note that in the last example, where I'm using a player name, the player must be in your raid or party, and you have to prefix the first target with a hyphen.

Did you see what I snuck into the examples there? @pettarget. Hmmm. I wonder if we can use that? Of course we fucking can. In fact it's the simplest way to have three active targets at once.

Pet Target and Control


Your pet should be on static. Srsly. There are a limited number of fights when you want a pet on aggressive or passive, but as a grown-up raiding affliction warlock, your pet is part of your arsenal, and you want to be in control of your arsenal, not apologizing for friendly fire. You are not a hunter. Put your pet on static.

Now that your pet is by your side, doing sweet FA without orders, you want that cute little demon dog from the arse end of the twisting nether to be gleefully nomming something. Enter /petattack, /petfollow and /petstay. Guess what they do.

I typically have my felpuppy behave in one of two ways: set and forget or kill what I'm killing, by modifying the first cast in my rotation. Since commands to your pet are not on your GCD, you can execute a pet instruction and a cast simultaneously in a macro like so:

/petattack
/cast Shadow Bolt


That's pretty simple. Every time you shadow bolt something, your pet will switch target. It gets a bit more fancy for set-and-forget:

#showtooltip
/petattack [mod:shift,mod:ctrl]
/cast [mod:shift,mod:ctrl]Shadow Bolt;[mod:shift,@pettarget]Shadow Bolt;[mod:ctrl,@focustarget]Shadow Bolt;[]Shadow Bolt


That's a lot of Shadow Bolts. Remember that the macro is executed from left to right, so when you've got a string of conditionals, you want to go from most specific to least. In this case, if I'm pressing <shift+ctrl>, I'm just casting Shadow Bolt, and sending my pet after my target. He's on static, so he's going to stay on that target. If I'm just pressing <shift>, my Shadow Bolt will go for my pet's target. With <ctrl>, I'll be nuking my focus target. With no modifiers, I'm just nuking my current target.

Setting my pet on something (like a boss), and having him stay there lets me use focus for assisting, cast on the boss at will (with @pettarget), and switch my target at will to adapt to a burn. Very useful for ripping soul shards from mind-controlled fellow raid-members, for example. Affliction's ramp-up time means you need to be adaptable, and the more freedom you have manipulating targets, the better.

A nice side-effect of the UI is that, if your current target is dead, casting something with @ will switch your target when it lands. Very useful for re-acquiring your pet's target without clicking a thing.

Note that these macros are easy to test (and get used to) with the test dummies. Focus one, put your pet on a second and target a third. Now practise keeping a full rotation up on your pet's target, while keeping corruption up on your current and focus target and refreshing both with Shadow Bolt.

You also need a way to say "go hit that" and "come back, now" without actually casting. I have this macro keybound for easy access:

/petattack [@target,exists,harm]
/petfollow [@pettarget,exists]


Your puppy's not just for nomming on bosses, though. He's also got a couple of useful spells: Spell Lock and Devour Magic. I confess, I'm a little lazy about both: I leave them active on his bar, and let him use them at will. He seems to have got a bit smarter about using both, and that's good enough for me. On a fight with a spell-stealable buff, I'll usually turn Devour Magic off until the mages have their buffs, but there's nothing wrong with a pet auto-interrupt. It's useful, however, to help out your magic dispellers when you can with clearing your own magic debuffs, though. So have this macro keybound to spam when you need it:

#showtooltip Devour Magic
/cast [pet:felhunter,@player] Devour Magic;


I'll leave devouring your focus' magic debuff or your pet's target's target (likely the tank) as an exercise for the reader. I've specified the tooltip to use in this macro because if you don't, the icon won't show up when your puppy's not summoned. Which I find irritating.


Adding Trinkets



Being a pro, you've collected your NMIC (or have better), and you know when to use it. Now you want to trigger it without an extra click, right? There's two ways to trigger a trinket: by name and by slot, so either /use Nevermelting Ice Crystal or /use 13 (for the top trinket slot) will do the trick. /use 14 for the bottom trinket slot. Put the /use immediately before the first spell you're going to cast with the buff; most likely Corruption, arguably UA.

An Aside About @mouseover



I haven't made mention of @mouseover, which I could just as easily use for target casting. It does what it sounds like... casts at the unit (or unit frame) that your mouse is hovering over. I find the performance of the WoW client so variable that there are times, particularly in fights with a lot of adds or AoE, or retards running GearScore and other verbose shit in a raid setting, when my UI is getting slow and I can't find my mouse cursor in the visual spam, or the cursor just lags. So I tend to avoid using @mouseover macros for the most part. YMMV.

Putting It All Together



For more than 2 targets (i.e. trash), I like to put up Haunt and spam Seed of Corruption, refreshing Haunt and using a Life Tap to keep mana up. I might throw up some UAs if it's heavy trash to proc the tier 10 4pc, too. For two big targets, like the two aboms guarding the entrance to Icecrown Citadel's Plagueworks, you should be able to keep most of your dots up on both targets and get some filler in on the primary target, too. I have all my rotation spells bound to extra buttons on my (sadly now discontinued) mouse, and use <shift> and <ctrl> to mess with the target. In fact, I have every spell in my rotation in a macro so I can set my pet on the burn target, dot it up, keep it dotted, and dot a second target and nuke a focus. Here's the whole set:

#showtooltip
/cast [mod:shift,mod:ctrl]Shadow Bolt;[mod:shift,@pettarget]Shadow Bolt;[mod:ctrl,@focus]Shadow Bolt;[]Shadow Bolt
/petattack [mod:shift,mod:ctrl]


#showtooltip
/cast [mod:shift,@pettarget] Haunt; [mod:ctrl,@focustarget] Haunt; [] Haunt


#showtooltip
/cast [mod:shift,@pettarget] Curse of Agony;[mod:ctrl,@focus] Curse of Agony;[]Curse of Agony


#showtooltip
/use [mod:shift,mod:ctrl] Nevermelting Ice Crystal
/cast [mod:shift,@pettarget] Corruption;[mod:ctrl,@focus] Corruption;[]Corruption


#showtooltip
/cast [mod:shift,@pettarget] Curse of Agony;[mod:ctrl,@focus] Curse of Agony;[]Curse of Agony


#showtooltip
/cast [mod:shift,@pettarget,combat] Drain Soul; [mod:ctrl,@focus,combat] Drain Soul; [combat]Drain Soul;[mod:ctrl,nocombat]Disenchant; []Drain Soul


The keen of eye will notice something new in that last one. I have the last macro bound to the 'E' key; in combat, <ctrl-E> casts Drain Soul on my focus, out of combat it starts a Disenchant. Go figure.

Go crazy, Lollidan!


I moonlight as Demonology when we don't have an Elemental shaman handy. Last night, I clocked 6302 spellpower at maximum... that's 630 spellpower to every other fucker in the raid, bitches; but personal DPS is still not up to my affliction best <sadface>. This is my nuke macro for Lolllidan spec:

/petattack [mod:shift,mod:ctrl]
/use [mod:ctrl]13
/use [mod:ctrl]14
/cast [mod:ctrl,mod:shift] Demonic Empowerment
/cast [mod:ctrl,nomod:shift] Metamorphosis
/script UIErrorsFrame:Clear()
/cast [mod:shift,nomod:ctrl] Incinerate; []Shadow Bolt


Fuck Me, That's Enough


Yeah. I'm done. I'll answer questions, though.

Saturday, February 20, 2010

Anatomy of an Affliction UI - Part I: The Lich King

The first in a series of posts about how I manage my UI. Affliction is not well served by the default UI. To master the spec, you need to be able to time dot reapplication with Drain Soul ticks, and Blizzard's basics aren't going to cut it.

As you can see from the picture below, I use quite a few mods. Configuring them all just right is a cumbersome process, and some of them can be just as finicky as their authors. So, I'll tackle them one or two at a time. For now, though, here's everything… or at least, everything that's visible.



The screenie was taken in Phase 1 of a Lich King attempt. I've got Arthas focused and targeted. Note that in the interests of saving your bandwidth, I've heavily compressed the image, so it looks pretty crappy.

Tuesday, February 9, 2010

Demonic Circle: not just for PvP

Once upon a (short, distant) time, Demonic Circle was thought to be a useless frill to appease PvP warlocks, but instead, it has turned out to be an excellent PvE raiding utility spell, particularly since a disproportionate part of raiding these days is "GTFO <shit>" where shit can be fire, ooze, defilement, frost patches, slime or whatever. To use DC to its maximum advantage you need to consider its three boons:

  1. Mobility — it's a fucking teleport.

  2. Facing — on arrival you always face in the direction you were standing when you cast the spell.

  3. Graphic — it lasts for 6 minutes, giving your raid a durable, refreshable and consistent point of reference.

How you use it in a boss fight will depend on your raid's strategy, whether you need to run away fast, or get into position fast, and how much mobility the fight requires. To examine most of these aspects, I'll run through the Icecrown Citadel bosses in order, but first a recap of the spells involved:

Demonic Circle: Summon (DC) — summons the demonic circle at your feet, which lasts for six minutes. The DC effect is a bright green rune on the ground with a sparkly green shower-head above it. Cast this spell facing the direction you want to be when you arrive.

Demonic Circle: Teleport (DT) — teleports you to your demonic circle. DT has a 40-yard range and a 30s cooldown. This is plenty for most significant boss abilities that you're avoiding, but beware: some boss abilities will put you out of range - have a visual indicator in your UI for when it's castable. Note that DT is on the GCD.

Trash

This is more useful for Demonology, which is ridiculously fun for trash. First, set your demonic circle outside of melee range of the huge clusterfuck of The Damned that your tanks will surely pull. Second, put on your purple Lollidan suit, light yourself on fire, charge, and cast rain of fire. When you stop being purple (and stop being on fire) use Demonic Teleport to GTFO of melee range and spam Seed. Finally, rejoice in how uber-1337 your AoE DPS is every 2.1 minutes.

P.S. Nobody cares.

Lord Marrowgar

Meh. Not much use here. Just cross your fingers for the Frozen Bonespike and Crushing Coldwraith Belt.

Lady Deathwhisper

Drop a circle in the middle (within range of the crazy lady) before the pull, and then move away from it. If you get hit by Death and Decay, teleport out of it, and move to the other side when you're refreshing CoA or LT or casting a Nightfall Shadow Bolt.

This isn't the most exciting of uses for DC/DT, but it illustrates a theme: When there's going to be bad shit on the floor, drop a circle and move away from it. When you're in the bad shit, teleport. Use instant casts to move away from the circle again. Rinse, repeat.

Gunship Battle

WTF, Blizzard? Seriously? You've nerfed this trivial fight so it's impossible to die by missing the fucking boat with a rocket pack — a pointless fucking nerf if ever there was one — but we can't teleport back to the gunship? Wankers.

Deathbringer Saurfang

If your raid's burst DPS is low enough that you have to DPS the blood beasts, and you're terribad at assisting someone who should have more threat than you, then use this to get further away from a beast that you've aggroed. Otherwise, useless. Possibly useful for Demo charge/self-immolation/rotation and reset... but this fight is better as affliction, so bitch and moan until your raid leader lets you go affliction.

(In a later post, I'll write about macros and strategies that can help nuke the beasts while sustaining your DPS on Saurfang himself.)

Festergut

You should be at range for Festergut so you don't get Vile Gas in the melée (or on the tank; if you do that, please stop raiding). We have one spore stack on the tank, two spores stay away, and everyone else piles on the tank spore to pick up their stack of Inoculated. So you're going to be running in to the tank (or a nearby ranged that's staying out), and then teleporting out.

On the pull, ranged will be spread out around the ring, and you should start your rotation from there, moving closer to Festergut when you put your instants up, and getting as close as you can while staying out of melee range before casting your circle.

Why not stay at 30 yards? Further to run in, and longer travel time for haunt. Affliction is better closer to the boss.

Why not drop the circle on the tank? The Blighted Spores debuff ticks AoE shadow damage. The tick makes it more important to GTFO than GTFI: Run in, 'port out.

This, obviously, varies by strat: We use a single-clump strategy, other raids do it differently. Adapt.

Rotface

Drop it somewhere in the middle where you can DPS Rotface. Use it to return from running a Little Ooze or after a Big Ooze's Unstable Ooze Explosion.

Professor Putricide

Did I mention that DT removes all snare effects? No? Well, it doesn't on this fight, quite. The major snare in the PP fight is the Volatile Ooze Adhesive. DT doesn't actually remove the snare, but it does still 'port you. This allows you to move less when repositioning before the ooze spawns, and still give the raid maximum DPS time on the ooze if you're targeted.

Drop your circle as far to the South of the room (the left as you stand in the door looking at the table) as you can. When your raid positions for the volatile ooze, be sure to be within 40 yards of your circle, but beyond that, you can be as spread out as you like. DT if (and only if) you get targeted.

Blood Prince Council

Not hugely useful, unless you have a static position for Prince Taldaram, and get targeted by Conjure Empowered Flame, when you can use it to port further away. YMMV.

Blood Queen Lana'thel

Drop your circle in the center on the pull. When she gives you Pact of the Darkfallen teleport to the middle.

Valithria Dreamwalker

Only useful for switching sides to burn Blazing Skeletons etc.; i.e. not much.

Sindragosa, Queen of the Frostbrood

This is going to vary hugely by strategy for Phase 3, but for the first two (alternating) phases, you're going to be providing a point of reference for positioning ice tombs, and using the circle to GTFO of Blistering Cold. You'll also be a reference point for the other ranged who lack your teleport to know when to turn around and start up the pew pew again.

The Lich King

TBD.

Monday, February 8, 2010

Learn To Wipe

There comes a time in every progression raider's life, when the raid leader calls for a wipe. Or rather, there will come many, many times while your raid is still learning a fight when the leader calls for a wipe, often at short intervals. So, when that fateful moment comes, do you…

  1. …try to do as much damage to the boss before he, she or it wanders over and smites you?

  2. …try to do as much damage as possible to everything before either the adds gang-bang you, or the boss wanders over to smite you?

  3. …try to outlive the tree and healadin as a point of professional pride?

  4. …frantically try to unequip as much gear as possible to avoid a huge repair bill?

  5. …none of the above?

If your answer was E, give yourself a pat on the back, if not then <Kologarn>YOU FAIL!</Kologarn>

The idea behind calling for a wipe on a progression fight is to get back up and running as soon as possible; the faster your wipe and recovery time, the more attempts you get in on your current nemesis, and the sooner you are pawing its corpse and poring over the loot therein.

Sometimes, it's worth persisting with a boss that you know you're not going to down, simply because there are aspects that can be grokked better by observation. Managing spores and inoculation on Festergut, or positioning Ice Tombs for Sindragosa's P2 for example.

Most of the time, though, just die already, remembering that you're a warlock and therefore uniquely equipped to die quickly, under your own steam, without taking durability loss:

• Life Tap, Life Tap, Life Tap, Hellfire, win.

Once a wipe is called, nothing else counts.