Originally Posted by
ganzerker
im in the attempts of makin a party/taid check healer like resto shammy for druid only ptob is i can't figure out how to check if the buff is applied or not...
for example i have if X(bei nthe person) it currently sees as mosti n danger) is => y(the dmg required to make the spell efficent to use) and not not UnitBuff(Rejuvenation) then c("Rejuvenation")....... now it checks if there hp is low, but it keeps castin it doesnt check if it has the byff... any ideas?
Well for the druid I haven't gotten the UnitBuff("w", "Rejuvenation") thingy to work. Instead I've added it to actually TARGET "w" to check for the buffs.
I've also made it use 4 macros to prioritize yourself instead of others. (I've often found it healing the tank when I've only gotten 1k hp left, basically just doing a suicide heal.. Nothx) Feel free to look at this one, it should be able to help you a little with your own mate 
Spoilertags. 4 macros take up alot of space.
[spoiler]
Spam-macro (name it whatever you want)
Code:
/run if UnitHealth("player")/UnitHealthMax("player")<0.50 then RunMacro("druidheal") else RunMacro("Balanceraid") end
Druidheal. (the one that heals yourself even tho you have someone else targeted
Code:
/run if UnitPower("player")<1000 and GetSpellCooldown("Innervate")==0 then RunMacroText("/cast [@player] Innervate") end
/run if UnitHealth("player")/UnitHealthMax("player")<0.40 and GetSpellCooldown("Swiftmend")==0 and UnitBuff("player", "Rejuvenation") and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Swiftmend") end
/run if UnitHealth("player")/UnitHealthMax("player")<0.25 and GetSpellCooldown("Nature's Swiftness")==0 and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then CastSpellByName("Nature's Swiftness") end
/run local _,d,_ = GetSpellCooldown("Nourish") if (d == 0) and UnitHealth("player")/UnitHealthMax("player")<0.50 and UnitBuff("player", "Rejuvenation") and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Nourish") end
/run if UnitHealth("player")/UnitHealthMax("player")<0.90 and not UnitBuff("player", "Wild Growth") and GetSpellCooldown("Wild Growth")==0 and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Wild Growth") end
/run if UnitHealth("player")/UnitHealthMax("player")<0.85 and not UnitBuff("player", "Rejuvenation") and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Rejuvenation") end
/run local _,_,_,c,_,_,_,_,_=UnitBuff("player","Lifebloom"); if UnitHealth("player")/UnitHealthMax("player")<0.80 and (c~=3) and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Lifebloom") end
/run if UnitHealth("player")/UnitHealthMax("player")<0.60 and not UnitBuff("player", "Regrowth") and UnitExists("player") and UnitInRange("player")==1 and UnitIsDeadOrGhost("player")~=1 then RunMacroText("/cast [@player] Regrowth") end
/run if UnitPower("player")<1000 and GetSpellCooldown("Innervate")>=1 then RunMacroText("/use Super Mana Potion") end
/run RunMacro("dispeldruid")
Balanceraid.(the one to heal your party/raid)
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 local _,d,_ = GetSpellCooldown("Nourish") if (d == 0) and UnitHealth("target")/UnitHealthMax("target")<0.50 and UnitBuff("target", "Rejuvenation") 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 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 _,_,_,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.60 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")
Dispeldruid. (the one that dispels
!)
Code:
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; w=nil; m=0; 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 for j=1,40 do d={UnitDebuff(tt,j)}; if d~=nil and (d[5]=="Curse" or d[5]=="Poison") and d[7]>m then w=tt; m=d[7]; if d[5]=="Curse" then s="Remove Curse" else s="Abolish Poison" end end end end end; if w~=nil then RunMacroText("/cast [@"..w.."] "..s) end
[/spoiler]