Originally Posted by
Shamrockstar
You realize that Viral hasn't made a druid healing macro yet?
I have. It's only a solution until Viral releases his (We all know it's gonna be epic) but this one have run a lot of instances for me. I usually just put a "/in 0.1 /run RunMacro("healing")" in the end of my macro and follows a caster dps, and I never wipe. Now, doing nourish instead could be done. I figure Nourish is like a, low-hp-hots-cant-save-him-now, kind of spell. So I'd put it after CD's and rejuvenation (Only steals 1 global). And a good health percent to save people would be 40%.
So I'd imagine it to look something like this
Code:
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>1000 then RunMacroText("/target "..w.."") end
/run if UnitPower("player")<1000 and GetSpellCooldown("Innervate")==0 then RunMacroText("/cast [@player] Innervate") end
/run if UnitHealth("target")/UnitHealthMax("target")<0.40 and GetSpellCooldown("Swiftmend")==0 and UnitBuff("target", "Rejuvenation") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/cast Swiftmend") end
/run if UnitHealth("target")/UnitHealthMax("target")<0.25 and GetSpellCooldown("Nature's Swiftness")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Nature's Swiftness") end
/run if UnitHealth("target")/UnitHealthMax("target")<0.85 and not UnitBuff("target", "Rejuvenation") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Rejuvenation") end
/run local _,d,_ = GetSpellCooldown("Nourish") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.40 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/cast Nourish") end
/run if UnitHealth("target")/UnitHealthMax("target")<0.90 and not UnitBuff("target", "Wild Growth") and GetSpellCooldown("Wild Growth")==0 and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Wild Growth") end
/run local _,_,_,c,_,_,_,_,_=UnitBuff("target","Lifebloom"); if UnitHealth("target")/UnitHealthMax("target")<0.80 and (c~=3) and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then CastSpellByName("Lifebloom") end
/run if UnitHealth("target")/UnitHealthMax("target")<0.70 and not UnitBuff("target", "Regrowth") and UnitExists("target") and UnitInRange("target")==1 and UnitIsDeadOrGhost("target")~=1 then RunMacroText("/castsequence reset=1.6 Regrowth, moo") end
/run if UnitPower("player")<1000 and GetSpellCooldown("Innervate")>=1 then RunMacroText("/use Super Mana Potion") end
/run RunMacro("dispeldruid")