works great tyvm
my preferred is the 969 with SS for Judgement (SS/Judge, HotR, HS, SoR, Cons):
rep to you
works great tyvm
my preferred is the 969 with SS for Judgement (SS/Judge, HotR, HS, SoR, Cons):
rep to you
Hey, does anyone know a way so that you can make it so the "this action has been blocked" message not appear when you use these macros? I wish to stream some videos but I don't want to be questioned about why these messages keep popping up on my screen, Thanks in advanced for atleast looking into this.
Thanks viral the enhancement macro is working great only 2 bugs in it.
Will not stormstrike if there is a stormstrike debuff on target
Is not casting Fire Nova
/run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Add that in your macros to stop the annoying pop up.
how whould i get this to check all debuff slots on player?
/run a={UnitDebuff("player", 1)} if(a[5]=="Magic" or a[5]=="Disease" or a[5]=="Poison") and GetSpellCooldown("Cleanse")==0 and IsUsableSpell("Cleanse") then CastSpellByName("Cleanse") end
Last edited by kakamonster; 12-22-2009 at 01:48 AM.
I think you're right about Fire Nova...I wasn't negating the check for the fire totem for Fire Nova. I've updated all my previous posts on the topic. Here is also the updated version:
Also, it doesn't re-stormstrike by design...that was how it was originally defined in the guy who wanted his macro "fixed". If you want it to recast SS even if the debuff is still present, then do this:Code:/run if UnitCastingInfo("target") and GetSpellCooldown("Wind Shear")==0 then SpellStopCasting() CastSpellByName("Wind Shear") end /run if GetSpellCooldown("Shamanistic Rage")==0 and UnitPower("player")/UnitPowerMax("player")<0.20 then CastSpellByName("Shamanistic Rage") end /run local _,_,_,c=UnitBuff("player","Maelstrom Weapon") if c==5 then CastSpellByName("Lightning Bolt") end /run local i=1 while(i<=40) do a={UnitDebuff("target",i)} if a[1]=="Flame Shock" and a[8]=="player" then break else i=i+1 end end; if i>40 and GetSpellCooldown("Flame Shock")==0 then CastSpellByName("Flame Shock") end /run local i=1 while(i<=40) do a={UnitDebuff("target",i)} if a[1]=="Stormstrike" and a[8]=="player" then break else i=i+1 end end; if i<=40 and GetSpellCooldown("Earth Shock")==0 then CastSpellByName("Earth Shock") end /run local i=1 while(i<=40) do a={UnitDebuff("target",i)} if a[1]=="Stormstrike" and a[8]=="player" then break else i=i+1 end end; if i>40 and GetSpellCooldown("Stormstrike")==0 then CastSpellByName("Stormstrike") end /run if GetSpellCooldown("Earth Shock")==0 then CastSpellByName("Earth Shock") end /run local _,t,_,_ = GetTotemInfo(1); if t==nil or t=="" then CastSpellByName("Magma Totem") end /run local _,_,_,c=UnitBuff("player","Lightning Shield") if c==nil or c<=1 then CastSpellByName("Lightning Shield") end /run if GetSpellCooldown("Lava Lash")==0 then CastSpellByName("Lava Lash") end /run local _,t,_,_ = GetTotemInfo(1); if t~=nil and t~="" and GetSpellCooldown("Fire Nova")==0 then CastSpellByName("Fire Nova") end
Code:/run if UnitCastingInfo("target") and GetSpellCooldown("Wind Shear")==0 then SpellStopCasting() CastSpellByName("Wind Shear") end /run if GetSpellCooldown("Shamanistic Rage")==0 and UnitPower("player")/UnitPowerMax("player")<0.20 then CastSpellByName("Shamanistic Rage") end /run local _,_,_,c=UnitBuff("player","Maelstrom Weapon") if c==5 then CastSpellByName("Lightning Bolt") end /run local i=1 while(i<=40) do a={UnitDebuff("target",i)} if a[1]=="Flame Shock" and a[8]=="player" then break else i=i+1 end end; if i>40 and GetSpellCooldown("Flame Shock")==0 then CastSpellByName("Flame Shock") end /run local i=1 while(i<=40) do a={UnitDebuff("target",i)} if a[1]=="Stormstrike" and a[8]=="player" then break else i=i+1 end end; if i<=40 and GetSpellCooldown("Earth Shock")==0 then CastSpellByName("Earth Shock") end /run if GetSpellCooldown("Stormstrike")==0 then CastSpellByName("Stormstrike") end /run if GetSpellCooldown("Earth Shock")==0 then CastSpellByName("Earth Shock") end /run local _,t,_,_ = GetTotemInfo(1); if t==nil or t=="" then CastSpellByName("Magma Totem") end /run local _,_,_,c=UnitBuff("player","Lightning Shield") if c==nil or c<=1 then CastSpellByName("Lightning Shield") end /run if GetSpellCooldown("Lava Lash")==0 then CastSpellByName("Lava Lash") end /run local _,t,_,_ = GetTotemInfo(1); if t~=nil and t~="" and GetSpellCooldown("Fire Nova")==0 then CastSpellByName("Fire Nova") end
Last edited by Viral Fly-by; 12-23-2009 at 11:21 AM.
I took out the GetSpellCooldown because Cleanse doesn't have a cooldown. The IsUsableSpell should still stop it from trying to do it silenced or whatever.Code:/run i=1 while(i<=40)do a={UnitDebuff("player", i)} if (a[5]=="Magic" or a[5]=="Disease" or a[5]=="Poison") then break else i=i+1 end end; if i<=40 and IsUsableSpell("Cleanse") then RunMacroText("/cast [@player] Cleanse") end
For 5-man instances, if you want to "smart cleanse" your group, do this:
It will cleanse whichever person has the "longest" debuff where "longest" means the debuff with the largest time remaining. It's one of the steps in my complete holy pally macro.Code:/run t="player"; s=nil; e=0; for m=0,4 do if m>0 then t="party"..m end; if UnitExists(t) then for i=1,40 do n,_,_,_,y,_,d,_,_,_=UnitDebuff(t,i); if d~=nil then d=GetTime()-d else d=0 end; if d>e and (y=="Magic" or y=="Poison" or y=="Disease") then s=t e=d end end end end; if s~=nil then RunMacroText("/cast [@"..s.."] Cleanse") end;
Last edited by Viral Fly-by; 12-22-2009 at 01:42 PM.
So here's a macro for the once-popular Felguard/Emberstorm spec. This was extremely popular a few patches ago and is still one of the best and probably the simplest to play (hence easy to macro).
The spec: Talent Calculator - World of Warcraft
The macro:
The logic:Code:/run if UnitHealth("player") > 7000 and (UnitPower("Player") < 3000 or not UnitBuff("player", "Life Tap")) then CastSpellByName("Life Tap") end /run _,_,_,_,_,d = UnitBuff("player", "Decimation"); if d~=nil and d-GetTime()>0.5 then CastSpellByName("Soul Fire") end /run if UnitHealthMax("target") > 200000 then i=1 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Corruption" and a[8]=="player" then break else i=i+1 end end; if i>40 and UnitHealth("target") > 100000 then CastSpellByName("Corruption") end end /run if UnitHealthMax("target") > 200000 then i=1 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Curse of Agony" and a[8]=="player" then break else i=i+1 end end; if i>40 and UnitHealth("target") > 100000 then CastSpellByName("Curse of Agony") end end /run i=1 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Immolate" and a[8]=="player" then break else i=i+1 end end; if i>40 and UnitHealth("target") > 100000 then CastSpellByName("Immolate") end /run CastSpellByName("Incinerate")
- If you have at least 7K hp, then Life Tap if either you don't have the buff or you have less than 3K mana.
- If you have Decimation for another half second, cast Soul Fire (half-second because of latency).
- If the target has at least 200K hp total...check if it has your Corruption...if not, cast Corruption if the mob has at least 100K hp remaining.
- If the target has at least 200K hp total...check if it has your CoA...if not, cast CoA if the mob has at least 100K hp remaining.
- If the target does not have your Immolate and has at least 100K hp remaining, then cast Immolate.
- Cast Incinerate (filler spell)
The macro does do anything fancy like automatically eating your healthstone...but it could if desired. It also doesn't try to check if you should be doing CoE (no other source of the debuff up on target). It could also of course be changed to do CoD instead....or only use CoD if mob has above a certain health. It could also automatically Drain Life if you're below a certain threshold.
thanks Viral.. +2 for you my friend. Big help.
ok thx to viral and this post http://www.mmowned.com/forums/ui-mac...ion-macro.html , i have come up with this macro , standard 969 rotation , with divine plea thrown in and hammer of wrath , nt my creation more of a mish mash if anyone wants it take it
/startattack
/run if GetSpellCooldown("Divine Plea") ==0 and UnitPower("Player")<=1500 then CastSpellByName("Divine Plea") end
/run if (UnitHealth("target")/UnitHealthMax("target")<0.2) and GetSpellCooldown("Hammer of Wrath") ==0 then CastSpellByName("Hammer of Wrath") end
/run if _G["ProtTS"]==nil then _G["ProtTS"]=GetTime() end; if _G["Prot6"]==nil then _G["Prot6"]=0 end; if _G["Prot9"]==nil then _G["Prot9"]=0 end; if _G["Prot969"]==nil then _G["Prot969"]=9 end;
/run if GetTime()-_G["ProtTS"]>9 then _G["Prot6"]=0; _G["Prot9"]=0; _G["Prot969"]=9; end; _G["ProtTS"]=GetTime();
/run if _G["Prot969"]==9 and _G["Prot9"]==0 and GetSpellCooldown("Judgement of Wisdom")==0 then CastSpellByName("Judgement of Wisdom"); _G["Prot9"]=1; _G["Prot969"]=6; end;
/run if _G["Prot969"]==9 and _G["Prot9"]==1 and GetSpellCooldown("Holy Shield")==0 then CastSpellByName("Holy Shield"); _G["Prot9"]=2; _G["Prot969"]=6; end;
/run if _G["Prot969"]==9 and _G["Prot9"]==2 and GetSpellCooldown("Consecration")==0 then CastSpellByName("Consecration"); _G["Prot9"]=0; _G["Prot969"]=6; end;
/run if _G["Prot969"]==6 and _G["Prot6"]==0 and GetSpellCooldown("Hammer of the Righteous")==0 then CastSpellByName("Hammer of the Righteous"); _G["Prot6"]=1; _G["Prot969"]=9; end;
/run if _G["Prot969"]==6 and _G["Prot6"]==1 and GetSpellCooldown("Shield of Righteousness")==0 then CastSpellByName("Shield of Righteousness"); _G["Prot6"]=0; _G["Prot969"]=9; end;
/run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Last edited by Evilphtbstrd; 12-22-2009 at 09:36 AM.
is there a way i could switch seals using the macro ?
like hit divine plea then cast seal of wisdom then when i reach 5k mana again cast seal of righteousness ?
@ Viral Fly-by
there is a smarter debuffing method ...
check if you are in raid or not (GetNumRaidMembers() when this is ~= 0 then you are in raid .. else not)
when in raid
GetNumRaidMembers();
else GetNumPartyMembers
for x="1",maxplayer do
and so on
@ evilphtbstrd
just lookup unitpower
build something like
"if ((UnitPower("Player")/UnitPowerMax("Player"))*100) <= 30 and (not UnitBuff("player", "seal of wisdom")) then castspellbyname("seal of wisdom");
if ((UnitPower("Player")/UnitPowerMax("Player"))*100) >= 80 and (not UnitBuff("player", "seal of righteousness")) then castspellbyname("seal of righteousness");"
i know the syntax should be rigth ... but didn't checked spelling and stuff ...
so have fun
sincery spud
ye i haven't got a clue how to write that into the macro i just spammed it in guild chat lmfao
Viral Fly-by can you post here your holy pala macros plz?im looking for that but without any success...
Last edited by pinhe1ro; 12-22-2009 at 10:50 AM.