Friday, July 24, 2009

I got my C++ game working, and am back at Warcraft, healing this time

So I spent a little time in a raiding guild, doing both tanking and boomkin stuff, but again, I can't bring myself to actually commit a time to play every week, so I've had to drop out of raiding.

I picked up on my shaman alt, and have started healing. For those of you who have never healed, probably you see healing like this:

Five people in a dungeon, tank's health bar jiggles back and forth all day, and then *bam* you are hit by some kind of strange aggro thing or an aoe. "Oh no!" you think, "the healer is targetting the tank, so how can he get a heal on me in time?" But, of course, as usual, the healer drops an instant cast on you within one or two seconds. "How on earth did he do that?" you think, "I barely had time to check the aggro table when I got hit to make sure it wasn't my fault, and he already targetted me, and healed me up!" "Healers must be very coordinated, I'm glad I tank/dps!"

Well, that's only part of the story. The truth is that healing requires addons that completely change the way that the player interacts with the character's abilities and the other characters around them. Pretty much any healer has to use either mouseover macros or some kind of raid frame healing interface.

The one I use on my shaman (Shamtrific) is healbot. I've set it up so that a left mouse click is lesser healing wave (my spam for the healing style I've chosen for five mans), Alt-left click is healing wave (the big one), Shift-left click is chain heal. My instant casts are all right clicks: Earth shield, riptide (alt), and cleanse spirit (shift). These six spells are pretty much the entire set of spells I need in the thick of things. Everything else is just on action bars.

The addon can be configured a lot of ways, but I found it easiest to use the "Alterac Valley" setting with a few modifications. I widened the health bars considerably, and adjusted the opacity so I could see how much health people have when out of range, but I still can easily see that they are out of range.

The addon IS the healer's primary user interface. I just put earth shield on the tank, then hover my mouse cursor over the tank's health bar. The addon tells me how much health the tank has lost (e.g., "-1245"), and I watch for it to drop to a certain amount lower before I cast a heal on the tank (earth shield does most of the work on the tank, glyphed). If it drops to -3000 or so, I'll put a quick riptide on the tank, and if it's still under -2000 after that global cooldown, I'll hit the tank with a lesser healing wave. The other party members' (and pets') health bars (and mine) are visible too, right next to the tank's.

If anyone else takes damage, and it's more than the healing stream totem will top off in 10 seconds (i.e., about 1200 damage), then I hit them with a riptide, if it's not on cooldown, or a lesser healing wave otherwise, unless they are melee. If a melee or pet is taking damage, I usually will cast a chain heal on them because I know they are standing next to the tank, and it sure doesn't hurt to top the tank off.

Wednesday, May 6, 2009

How to fix the macros below

I logged on last night to finish mailing stuff, etc. My subscription expires today.

I figured out how to fix the macros below. In case you just surfed here, the macros below CAN be fixed. Just replace Mangle - bear with Mangle(bear)(), etc. Easiest way is to shift click from the spellbook.

Monday, April 27, 2009

All my macro are belong to Blizzard

My macros are all broken.

As I mentioned in the last post, I don't really play anymore. I logged on yesterday to send my gold etc. to some friends only to find that Patch 3.1 broke all my most used macros.

Thursday, April 23, 2009

Druid Tank Macros for mouse clickers

Sorry for the delay. I actually quit playing WoW shortly after I started this blog. I realized it was becoming more consuming than I really think a game should be in my life. Since then, I've decided to get back into simple programming and maybe develop a little game for the iPhone or something like that.

I wrote a small video game in high school using Pascal and draw commands that was kind of fun, and I'm rebuilding it now using C++ and the Dark SDK developer kit. It's been fun so far. I might get back into WoW someday, but now just isn't the time for me.

Anyway, on to the tanking macros.

I use the mouse to click commands, so I actually put the stuff I use most in the center of the screen in the default ui. That means that the abilities I almost never use go in the 1, 2, 3 spots, and the stuff I use all the time goes in the unbound spots on the upper row. Anyway, having them there makes for easier clicking.

Nearly every ability on my druid that I use regularly is macro'd. At the bottom of this post, I'm going to paste my whole macros-cache.txt file so you can see the ones I don't discuss.

First, the general tanking macros. Let's start with pulling. Naturally I use faerie fire(feral), but that doesn't start autoattack, so I made a macro to simplify pulling:

#showtooltip Faerie Fire (Feral)()
/cast Faerie Fire (Feral)()
/startattack

I don't mind the out of range error on this one.

Once the mobs get closer, it's time for a swipe/maul spam. None of my trinkets are really "o shit" buttons, (and frankly, I never remember to use them) so I just go ahead and maximize my trinket and barkskin uptime by putting them in the swipe/maul macro. To simplify, I put Maul on mouse button two on just about every macro. That way, I can just right click while spamming left click. In this way, I don't have to move the mouse at all, and it's better for me than an all out Maul spam because I get to (1) choose when to use Maul, (2) use the underlying attack (Swipe) without using Maul, and (3) queue up Maul from nearly any button on my toolbar.

Here's the Swipe Macro I use:

#showtooltip swipe
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] swipe; [button:2] maul

Using this for my swipe macro, I just click hell out of it, and right click every three or four seconds to queue a Maul. very easy stuff. You'll see that the error noises are disabled, and because we always use the question mark for the icon, it's going to show you swipe. If you notice that your Maul isn't being consumed, then you aren't positioned properly for it, and should take a half step backward to let the mobs step in front of you.

In the same vein, I use the following macro for Lacerate, you'll see it is pretty similar in that it triggers trinkets and barkskin for maximum uptime and also can be right clicked for maul.

** you CAN copy/paste these into WoW. You just have to use Ctrl-V to paste it into the macro interface because there is no right click command menu. **

#showtooltip lacerate
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] lacerate; [button:2] maul

You may notice that these have startattack in them. That's not just a failsafe in case autoattack isn't triggered because of a positioning error. It has another very important function. By including /startattack, you tell the macro to target an enemy if nothing is targetted at the time. It's like pressing tab except that it doesn't change your current target if you have one. It also will always default to an enemy in range if there is one. A nice trick in WG is to clear your target before running into a laggy mob of enemies and use these macros. You'll hit whoever is in fronto of you! It also works on spells, like Faerie Fire Feral up there. For example in H VH, you can stand by a portal and spam the FFF macro and the very instant the enemy is targetable (also works on bosses like cyanagosa that don't let you target before the fight.

This is very helpful for mouse clickers because you don't have to try to mouse target and you don't have to hit tab before a fight.

The Mangle one is of course similar:

#showtooltip mangle - bear
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] mangle - bear; [button:2] maul



TL:DR -- these macros make tanking super easy for mouse clickers. Use Faerie Fire to target and pull enemies and then use Swipe/Mangle/Lacerate as normal but you can right click to queue a Maul. You will always maximize your trinket and barkskin uptime without annoying error sounds/messages.

My macros-cache.txt file

MACRO 16777218 " " INV_Misc_QuestionMark
#showtooltip mangle - bear
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] mangle - bear; [button:2] maul
END
MACRO 16777219 " " INV_Misc_QuestionMark
#showtooltip Faerie Fire (Feral)()
/cast Faerie Fire (Feral)()
/startattack
END
MACRO 16777220 " " INV_Misc_QuestionMark
#showtooltip lacerate
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] lacerate; [button:2] maul
END
MACRO 16777221 " " INV_Misc_QuestionMark
#showtooltip mangle - cat
/console Sound_EnableSFX 0
/cast barkskin
/cast tiger's fury
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [nostealth] mangle - cat; [stealth] pounce
END
MACRO 16777222 " " INV_Misc_QuestionMark
#showtooltip berserk
/castsequence reset=15 berserk, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear, mangle - bear,
END
MACRO 16777223 " " INV_Misc_QuestionMark
#showtooltip swipe
/console Sound_EnableSFX 0
/cast barkskin
/startattack
/use 13
/use 14
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
/cast [button:1] swipe; [button:2] maul
END
MACRO 16777228 " " INV_Misc_QuestionMark
#showtooltip
/cast [stealth] pounce; [nostealth] rip
END
MACRO 16777227 " " INV_Misc_QuestionMark
#showtooltip
/cast [stealth] ravage; [nostealth] savage roar
END
MACRO 16777229 " " INV_Misc_QuestionMark
#showtooltip
/cast [nomod, flyable, button:1, nocombat] swift flight form
/cast [noflyable, button:1, nocombat] Frostwolf Howler
/castrandom [button:2, nocombat] Black War Bear, Great White Kodo
/cast [mod,nocombat] travel form
/cast [combat] travel form
END
MACRO 16777232 " " INV_Misc_QuestionMark
/castsequence [target=targettarget] lifebloom, rejuvenation
END
MACRO 16777231 " switch" INV_Misc_QuestionMark
/equip 3 1
/equip 3 2
/equip 3 3
/equip 3 4
/equip 3 5
/equip 3 6
/equip 3 7
/equip 3 8
/equip 3 9
/equip 3 10
/equip 3 11
/equip 3 12
/equip 3 13
/equip 3 14
END
MACRO 16777230 "sell grey" Ability_Creature_Poison_04
/script for bag = 0,4,1 do for slot = 1, GetContainerNumSlots(bag), 1 do local name = GetContainerItemLink(bag,slot); if name and string.find(name,"ff9d9d9d") then DEFAULT_CHAT_FRAME:AddMessage("Selling "..name); UseContainerItem(bag,slot) end; end; end
END
MACRO 16777224 "skull" Ability_Creature_Cursed_05
/script SetRaidTargetIcon("target", 8)
END
MACRO 16777225 "X" Ability_Creature_Cursed_02
/script SetRaidTargetIcon("target", 7)
END

You can see in there my mount/flightform/travel form macro. I like it. In Dal or in WG, I have to right click to mount instead of fly. Otherwise, it always shows my best option.

Also, you can see my skull and X marking macros. Very helpful.

Of course, there's the standard grey item selling macro.

The berserk macro never really worked...

My cat form macros are there. They pretty much just switch between the stealth and finishing moves that are similar depending on stealth status.

I have a macro to quick switch gear sets from the third bag over.

The healing macro is experimental. I used to have a macro that would heal the friendly target of an enemy for using in battlegrounds, so this was the first iteration of recreating it. It was really nice to be able to always heal an enemy's target. A lot of players change targets when they see the heals drop, so I think they get frustrated when EVERYONE they target is getting healed. Good way to get yourself focus fired.

Anyway, that's my macros file.

"Dance Steps" for keyboard turning tanks

Even if you mouse click your abilities, you should be familiar with and able to use mouse turning at least a little bit. It's really good for fine tuning positioning and can be sucessfully done during the global cooldown.

** before anyone says LTFPS, let me explain that I learned great keyboard turning skills playing WolfenStein 3D in elementary school, then Doom in high school, and then Doom 2 in college. **

A general rule if you are going to be a sucessful keyboard turner is to turn off all of the camera autofollow in your interface options. You, and only you, are going to choose where to look. When you strafe or run, the camera will not change, but when you turn, it will.

The first thing to remember when tanking while keyboard turning is that there is no collision detection in WoW, so you can run right through the little buggers. Second is that backing up does absolutely nothing bad to your ability to use or hit with melee attacks.

When you need to turn a pack of mobs, or just one mob, take a step into the mob, start turning and strafing simultaneously, then turn and back up a step. The key combination is:

W - WA - AE - SA - S

You'll actually overlap these in sequence. Switch from forward stepping to backward just at 90 degrees. This turns much faster than you'd expect.

That should flip the mob over, and is a good way to pick up a mob behind you. Remember that as long as you have a mob within the 180 degree area in front of you, you can hit it. That means you don't have to turn all the way around to engage. If you practice the strafe/turn opposite directions thing (the [A][E] key combination and the [Q][D] combination), you'll start to see how versatile keyboard turning can actually be. And you'll see why I completely owned in the original Doom multiplayer! (ofc back then you had to be trickier because [Alt] was the strafe key, so quickly alternating strafing left while turning right required a lot of coordination)

Another thing to practice is using strafe and manually setting your camera angle in the direction you are moving. Using strafe instead of normal running in effect allows you to keep enemies in front of you AND behind you within your 180 degree attack area. Occasionally throw in a backward step here and there to be sure they're just barely in front.

When you use charge, you'll frequently find yourself facing the camera, and sometimes it's hard to tell what's going on. A good habit to have is to take a few steps backwards using [S] to get your bearings. Then use the mouse to reposition the camera.

You CAN be a sucessful tank using the keyboard, it just takes a little more finesse. In fact, I think you the best tanks are often keyboard turners because character positioning is completely independent of your view, and strafing/backing up are much easier to do when your fingers aren't reaching for that essential taunt.

Thursday, April 9, 2009

Druid Tank aoe grinding

One of the things I liked best levelling a druid tank through Northrend was the ability to finish quests very quickly using AoE. Ironically, it is far easier as a druid than as a mage...

Anyway, if you want to pull a whole camp (Like that scourge one in Northeast Zul'Drak), here's how to do it:

1. Turn on Autoattack -- you might get some crits while you're collecting mobs, and the extra rage helps.

2. Use strafe -- (sorry, mouse turners, this won't work for you. Keyboard turners only) this is kind of tricky, you'll need to adjust your field of vision while you go. Strafing is as fast as running, and has two huge benefits:

first, you'll be able to dodge attacks from mobs chasing you, because they'll be on the side of you (you can back up a step here and there to ensure they're a bit in front, but that's not really necessary)

second, if you're strafing, your autoattacks have a chance to land, giving you a chance for a crit, and a chance for more rage.

3. Use demoralizing roar constantly. You might replace this with swipe when swipfarting becomes available, but it's necessary to use demo roar now. By constantly "tagging" the mobs, they will not reset. If you don't demo roar them, they'll hit the end of their virtual leashes and reset. If you spam demo roar (using the rage you get from dodges and crits from strafing), they won't reset, and you can run around collecting entire camps. Also, the damage reduction means you can pull larger groups before blowing your SI or Regeneration.

4. Stop, face the group, and swipe/glyphed maul your way to riches.

5. Spend a minute or two looting and skinning.


I found that in dungeon blues, I could pull at least 10 near-equal level mobs (the 14 worgs just to the east of Conquest Hold, near the daily quest giver, are great for this - I'd drop by for an easy 20k experience before and after the daily).

This is also a great way to run through CoS. The first time I tanked heroic CoS, I got the Culling of time achievement. This method was how I ran the whole thing, including the gauntlet event. Of course, the main factor there was that the healer was incredible, and we had a ret pally and a DK who obliterated the little skeletons that would follow me around.


Next Post: Tanking macros for mouse-clickers, and how to use the keyboard movement buttons in combination for precise mob positioning while tanking.