Ok so this is the MMhunter rotation I have so far.
Code:
/run if GetSpellCooldown("Call of the Wild")==0 and UnitBuff("player", "Heroism")then CastSpellByName("Call of the Wild") end;
/run if GetItemCooldown("Potion of Wild Magic")==0 and IsUsableItem("Potion of Wild Magic") and UnitBuff("player", "Heroism")then RunMacroText("/use Potion of Wild Magic") end;
/run if UnitPower("player")<1000 and not UnitBuff("player", "Aspect of the Viper") then CastSpellByName("Aspect of the Viper") end;
/run if UnitPower("player")>8000 and not UnitBuff("player", "Aspect of the Dragonhawk") then CastSpellByName("Aspect of the Dragonhawk") end;
/run if not UnitBuff("player", "Trueshot Aura") and not unitBuff("player", "Abomination's Strength") and not unitBuff("player", "Unleashed Rage") then CastSpellByName("Trueshot Aura") end;
/run i=1 d=120 while(i<=40)do a={UnitDebuff("target",i)} if a[1]=="Serpent Sting" and a[8]=="player" and IsUsableSpell("Serpent Sting") and IsSpellInRange("Serpent Sting", "target")==1 then d=a[7]-GetTime(); break end i=i+1 end if i>40 or d<2 then CastSpellByName("Serpent Sting") end;
/run if UnitExists("pet") and UnitHealth("pet")/UnitHealthMax("pet")<0.35 and IsUsableSpell("Mend Pet")==1 and UnitBuff("pet", "Mend Pet")==nil and IsSpellInRange("Mend Pet", "pet")==1 then RunMacroText("/cast Mend Pet") end;
/run if GetSpellCooldown("Kill Command")==0 then CastSpellByName("Kill Command") end;
/run if GetSpellCooldown("Furious Howl")==0 then CastSpellByName("Furious Howl") end;
/run if GetSpellCooldown("Silencing Shot")==0 and IsUsableSpell("Silencing Shot") and IsSpellInRange("Silencing Shot", "target")==1 then CastSpellByName("Silencing Shot") end;
/run if GetSpellCooldown("Kill Shot")==0 and UnitHealth('target')/UnitHealthMax('target')<0.20 and IsUsableSpell("Kill Shot") and IsSpellInRange("Kill Shot", "target")==1 then CastSpellByName("Kill Shot") end;
/run if GetSpellCooldown("Chimera Shot")==0 and IsUsableSpell("Chimera Shot") and IsSpellInRange("Chimera Shot", "target")==1 then CastSpellByName("Chimera Shot") end;
/run if GetSpellCooldown("Aimed Shot")==0 and IsUsableSpell("Aimed Shot") and IsSpellInRange("Aimed Shot", "target")==1 then CastSpellByName("Aimed Shot") end;
/run if GetSpellCooldown("Rapid Fire")==0 and UnitHealthMax("target")>1000000 and UnitHealth("target")>200000 and not UnitBuff("player", "Rapid Fire") then CastSpellByName("Rapid Fire") end;
/run local rfcd={GetSpellCooldown("Rapid Fire")}; if rfcd[1]==0 then rfcd=0 else rfcd=rfcd[1]+rfcd[2]-GetTime() end;if GetSpellCooldown("Readiness")==0 and UnitHealthMax("target")>1000000 and not UnitBuff("player", "Rapid Fire") and rfcd>60 then CastSpellByName("Readiness") end;
/run if not UnitDebuff("target", "Hunter's Mark") and UnitHealthMax("target")>500000 and UnitHealth("target")>200000 then CastSpellByName("Hunter's Mark") end;
/run local amcd={GetSpellCooldown("Aimed Shot")}; if amcd[1]==0 then amcd=0 else amcd=amcd[1]+amcd[2]-GetTime() end; local cmcd={GetSpellCooldown("Chimera Shot")}; if cmcd[1]==0 then cmcd=0 else cmcd=cmcd[1]+cmcd[2]-GetTime() end; if amcd>1.5 and cmcd>1.5 and GetSpellCooldown("Steady Shot")==0 and IsUsableSpell("Steady Shot") and IsSpellInRange("Steady Shot", "target")==1 then CastSpellByName("Steady Shot") end;
/run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Here is what it does.
1. Checks for Heroism if its is up pops Call of the Wild (Change Heroism to Bloodlust for horde)
2. Checks for Heroism if its up pops Potion of Wild Magic (Change if you are horde or use a different potion) (Tested and working)
3. if under 1000 man it will switch to Aspect of the Viper
4. When above 8000 mana it changes to Aspect of the DragonHawk
5. Checks your buffs for Trueshot Aura,Abomination's Strength and Unleash Rage if none are currently buffed on the player applies Trueshot Aura
6. Checks for Serpent Sting cast by you on the target if not there uses Serpent Sting.
7. Heals the pet if belore 35% health
8. Cast Kill Command
9. Cast Furious Howl
10. Cast Silencing shot on cooldown
11. Cast Kill shot on Targets under 20%
12. Cast Chimera Shot on cooldown
13. Cast Aimed Shot on cooldown
14. Cast Rapid Fire on targets over 1m health but not lower then 200k
15. Uses Readiness as soon as Rapid Fire if over It will not use readiness unless there is more then 1min cooldown on Rapid Fire this is to ensure that you dont waste a readiness before Rapid Fire is available again.
16. Checks to see if Hunters Mark is applied to the target if not it applies it.
17. Shoots Steady Shot as long as Chimera and Aimed shot will not come off cooldown in the next Global Cooldown.
This macro takes parts from macros by:sensisativa and Elitetech
I would also like to thank viral for all the help he has given us putting it together.
I pulled an average of 9K easily in raids tonight with this macro. Honestly I dont even know if I am gonna fix the potion section I may take it out all together though I think it would be handy. I thought about tying my Rapid Fire to my Runestone proc though to be honest I really am hoping to upgrade my trinkets so I dont think I am going to.
Hope this helps.