All in one party healing Resto macro

Hello. Been working on this for a while, and it works just fine for me.

usage:
set focus on tank

  • auto cenarion ward focus
  • mouseover = rejuv, rejuv, lifebloom
  • shift is your individual “oh shit” button. mouseover + shift = ironbark, regrowth spam, swiftmend. if you mouseover yourself during an “oh shit” moment, it pops barkskin+renewal on you before regrowth spam. pop tree of life for the ultimate “oh shit”
  • alt is your party “oh shit” button. innervate self, wild growth, essence of g’hanir, tranquility
  • ctrl is your nature’s cure mouseover button.

The only thing this doesn’t do is the way I want is Lifebloom. Currently it’s on the end of the mouseover rejuvs. I don’t like that, but I can’t find a way to only cast it on focus+mouseover. If you know how to do that, I’d love to know.

Dual rejuv+lifebloom are on the post macro, to keep it casting quickly. If it’s in the standard sequence, there’s too much of a delay between casts.

Build is 22?2232.


Sequences['druid-healer-foo'] = {
author="foo",
specID=105,
version=121,
source = "Local",
helpTxt = "Talents: 22?2232",
icon='INV_MISC_QUESTIONMARK',
lang="enUS",
PreMacro=[[
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 0
/use [noform] Treant Form
/castsequence [@focus,combat,help,dead] Rebirth, Ironbark
]],
"/castsequence [party,mod:shift,@mouseover] Ironbark",
"/castsequence [@mouseover,mod:shift,nodead] Regrowth, Regrowth",
"/castsequence [@mouseover,mod:shift] Barkskin, Renewal",
"/cast [@mouseover,mod:shift,nodead] Swiftmend",
"/castsequence [mod:alt,@player] Innervate, Wild Growth, Essence of G'Hanir, Tranquility",
"/castsequence [mod:alt,@player] Wild Growth",
"/cast [@focus,nodead,nomod,combat] Cenarion Ward",
"/cast [@mouseover,mod:ctrl,help,nodead] Nature's Cure",
"/cast [@mouseover,help,dead,nocombat] Revive",
PostMacro=[[
/castsequence [@mouseover,help,nodead,nomod] Rejuvenation, Rejuvenation, Lifebloom
/cast [@player,combat] Barkskin
/script UIErrorsFrame:Hide();
]],
}

if you’re going to run this through autohotkey, you need to use the code below. as you can see, i use F7 as my macro key. you’ll need to unbind f7 from any actionbar in wow, and make sure ‘control’ or ‘alt’ isn’t set as your focus/self cast keys. (interface -> combat)

press numpad 1 to enable and disable autohotkey


toggle = 0

#MaxThreadsPerHotKey 2

Numpad1::
  Toggle := !Toggle
    While Toggle{
      While GetKeyState("Shift","P"){
        Send +{F7}
        sleep 100
      }      
      While GetKeyState("Alt","P"){
        Send !{F7}
        sleep 100
      }
      While GetKeyState("Control","P"){
        Send ^{F7}
        sleep 100
      }
      Send {F7}
      sleep 100
  sleep 100
}
return

will be happy happy if you can make it “HealBot” friendly - i mean you can use macros in “healbot” so… - right click will be macro for “individual “oh shit”"- left click will be “nature’s cure mouseover button”…

Interesting… I like when I see a fellow AutoHotKeyer in WoW. I never liked the toggle on and off bit though. I much prefer the hold the button down method because it gives me better reaction time and I’m less prone to leave something running by mistake and end up pulling the whole dungeon.

I’ve added an automatic interrupt to my AHK loops, which may not be so helpful for a restro druid but other classes like tanks it’s kinda useful. I suppose as well it’s not great in pvp since it just blindly interrupts whatever it can.

To explain a little I start off with a decent gse macro like this one and do kind of the same thing. But I hold a button down and it mashes it. In addition I use Weak Auras to pop up a little icon when my target is casting something I can interrupt and bam it interrupts whenever it’s off cool down. I’ve though about making something in Weak Auras that only popped up for certain spells and conditions. But man… it seems like there is an endless amount of spells and conditions that I might want to interrupt and it seems just not worth it for what I am doing.

I also do similar things to this simple script, like for rogue combo points or demon hunter soul shards I have an icon pop up when I have greater than 5 to bust a move or when my target is below x% health and I have greater than 3 combo points or even if I am at x% health blow a cool down. Or what I might do instead of automatically cast barkskin on myself when available like you are doing here I’d say, if I have aggro cast barksin.

Oh… and I also use a viewport addon and have a bit of the bottom a solid black background which lets me get a stable color on the PixelGetColor. I’ve found even with solid color icons with WA there can be some variation in color which will make an ifEqual color fail.


Pause::Pause
Xbutton2::Reload
Xbutton1::ExitApp
#MaxThreads 1
#ifWinActive World of Warcraft
{
$NumPad4::
        Loop
        {
                -- Break if my key is not held down.
                if not GetKeyState("NumPad4", "P")
                        break
                else
                {
                        -- Can I interrupt?       
                        PixelGetColor, color1, 691, 1010
                        ifNotEqual, color1, 0x000000
                        {
                                sleep 10                           
                                Send, =
                        }
                        SendInput {NumPad4}
                        Sleep 100
                }
        }
        Return
}

[quote quote=35655]will be happy happy if you can make it “HealBot” friendly – i mean you can use macros in “healbot” so… – right click will be macro for “individual “oh shit””- left click will be “nature’s cure mouseover button”…
[/quote]

I don’t use healbot but I can tell you with the addon Clique you can setup custom macros to run on left and right mouse buttons over unit frames so you can do something like left button does “/click druid-healer-foo”.

Hi
whats the non “oh shit” party button?
I dont always want to use tranq and innervate and just wild growth

I don’t use this anymore, as it has some issues. I have figured out how to resolve them, though. I’ll update the macro when I get a chance