Lua Ninja: Druid Macros

Lua Ninja, is only for World of Warcraft. It is recommended that you use Super Duper Macro, with this, in order to maximize length of macros.

Druid Macros

Written by Elitetech

Druid Remove Curse & Abolish macro

/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;

Written by Elitetech

Feral Druid DPS cycle

Feral Druid
/run if UnitBuff("player", "Clearcasting") then CastSpellByName("Shred") end
/run local _,d,_ = GetSpellCooldown("Tiger's Fury") if (d == 0) and UnitPower("Player") < 30 then CastSpellByName("Tiger's Fury") end
/run p=GetComboPoints("player","target");if not UnitBuff("player", "Savage Roar") and p>0 then RunMacroText("/cast Savage Roar") end
/run c=CastSpellByName; local _,_,_,_,_,_,n,_,_=UnitBuff("player","Savage Roar"); if(  (n-GetTime()<5) and p<4) then c("Savage Roar"); end;
/run p=GetComboPoints("player","target");
/run i=1 while(i<=40)do a={UnitDebuff("target",i)} if(a[1]=="Rip" and a[8]=="player") then break elseif(i==40) and p>4 then RunMacroText("/cast Rip") i=i+1 else i=i+1 end end
/run c=CastSpellByName; local _,_,_,_,_,_,n,_,_=UnitDebuff("target","Rip"); if(  (n-GetTime()<5) and p>4) then c("Rip")end;
/run c=CastSpellByName; local _,_,_,_,_,_,n,_,_=UnitDebuff("target","Rip"); if(  (n-GetTime()<7)) then else if (p>4) then c("Ferocious Bite") end end;
/run if  UnitDebuff("target", "Mangle (Cat)") or UnitDebuff("target", "Mangle (Bear)") or  UnitDebuff("target", "Trauma",unitCaster~="player") then else CastSpellByName("Mangle (Cat)") end
/run i=1 while(i<=40)do a={UnitDebuff("target",i)} if(a[1]=="Rake" and a[8]=="player") then break elseif(i==40) then RunMacroText("/cast Rake") i=i+1 else i=i+1 end end
/run local _,d,_ = GetSpellCooldown("Shred") if (d == 0) then CastSpellByName("Shred") end
/run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");

Written by Elitetech

Resto Druid healing cycle

/run if not UnitBuff("target", "Rejuvenation") then CastSpellByName("Rejuvenation") end
/run local _,_,_,c,_,_,_,_,_=UnitBuff("target","Lifebloom"); if (c~=3) then CastSpellByName("Lifebloom") end
/run if not UnitBuff("target", "Regrowth") then CastSpellByName("Regrowth") end
/run local _,d,_ = GetSpellCooldown("Healing Touch") if (d == 0) then CastSpellByName("Healing Touch") end
Written by garyrbaker

I use the Moonkin one that was posted originally but changed it for SuperMacro

All in one

 /run RegisterCVar("eclipse","Wrath")
 /run if (UnitMana('player')/UnitManaMax('player')<0.45) and (GetSpellCooldown("Innervate") == 0) then CastSpellByName("Innervate") end
 /run if not UnitDebuff('target','Faerie Fire') and UnitHealth('target')>150000 and not UnitDebuff('target','Faerie Fire (Feral)') then CastSpellByName('Faerie Fire')end
 /run a={UnitDebuff('target','Moonfire')}if(a[8]~='player')then CastSpellByName('Moonfire')end
 /run b={UnitDebuff('target','Insect Swarm')}if(b[8]~='player')then CastSpellByName('Insect Swarm')end
 /run a={UnitBuff('player','Eclipse')}if(a[3]=="Interface\Icons\Ability_Druid_Eclipse")then SetCVar("eclipse","Starfire")elseif(a[3]=="Interface\Icons\Ability_Druid_EclipseOrange")then SetCVar("eclipse","Wrath")end CastSpellByName(GetCVar("eclipse"))

I changed it to cast innervate when I get below 45% mana and to only put on FF if health is over 150k because less than that and they are dead before I start casting

If you have more, please reply in the comments section, to add them.  This post is for Druid specific macros.

Leave a Reply

Your email address will not be published. Required fields are marked *