Ever since I hit 90 I've been struggling with how to manage casting Healing Touch (and Nature's Swiftness) to take advantage of Dream of Cenarius. So far my best solution is a macro that looks like this:

The issue I have is, if I hit this button accidentally, or just as a Predatory Swiftness proc wears off, it pops me out of cat form. And then I lose a ton of dps time because I'm stuck in caster form for a global cooldown or more. Sometimes, perhaps due to lag or a bug, I'll pop into caster form even with a Predatory Swiftness proc or Nature's Swiftness up. I know this because it'll shift me to caster form but the HT cast is instant.

What I wish to do is eliminate this issue. I don't want to have to worry about inadvertently coming out of cat form while I'm DPSing. Is there some kind of macro syntax that forces the macro to not fail if NS or Predatory Swiftness isn't up? Or is there some other solution you guys have been using, and I'm way off in how I handle it?

Out of Combat normal Healing Touch to prepull buffPress once for Predator's Healing TouchPress couple of times for NS HTFor both, focus if friendly first, targettarget if friendly second, self third priority.Only shifts out of combat.

What this will try to do is cast a healing touch on the tank (if possible) otherwise it will cast it on the player. If you press shift it will override the automatic targeting and force it to be cast on the player. Outside of combat, pressing the macro will allow you to break form to precast for a buff, but inside of combat it will not. In addition to this, it turns into Frenzied Regeneration when you're in Bear Form (if you're using HotW, or herobare as I like to call it).

Not a whole lot to explain here, press it twice and it will NS+HT with the same targeting as the other macro, and if you're using a different talent in the healing tier it will cast that instead (cast using default targeting). If you wanted to use Cenarion Ward on the tank you could copy the same conditionals from the HT line, but you'd probably have to play with the macro a bit to get it to fit in the 255 character limit.

I've been using these macros with HT bound to Mouse Button 5 and NS+HT bound to Middle Click and it's been working it quite well for me.