Sorry, dont know code to make the lines without breaks.
Turn Autogrowl on
/run local i,g=1,0 while GetSpellName(i,"pet") do if GetSpellName(i,"pet")=="Growl" then g=i end i=i+1 end local _,y = GetSpellAutocast(g,"pet") if not y then ToggleSpellAutocast(g,"pet") end
and off
/run local i,g=1,0 while GetSpellName(i,"pet") do if GetSpellName(i,"pet")=="Growl" then g=i end i=i+1 end local _,y = GetSpellAutocast(g,"pet") if y then ToggleSpellAutocast(g,"pet") end
Spammable meld, includes pet prowl
/run local i,x=1,0 while UnitBuff("player",i) do if UnitBuff("player",i)=="Interface\\Icons\\Ability_Ambush" then x=1 end i=i+1 end if x==0 then CastSpellByName("Shadowmeld") end
/cast Prowl
Pet follow unless alt is down, then stay instead. with an easy bind like the mousewheel for these macros (I use control mouswheel to toggle growl) you can maneuver your pet and manage aggro with precision
/script if(IsAltKeyDown()) then CastPetAction(3) else PetFollow() end <or CastPetAction(2)
/script CastPetAction(10);
Freeze trap with pet passive if very close to the target, redundant measures since patching pets to stop attacking CC
/cast Freezing Trap
/script if UnitAffectingCombat("player") then CastSpellByName("Feign Death") end
/script if UnitExists("pettarget") and CheckInteractDistance("target", 3) and UnitIsUnit("target", "pettarget") then PetPassiveMode(); else end
Pet attack, but set on passive and follow mode so when its done, it will return to you. Hold Alt to dash/swoop/charge, just put the desired pet ability# in castpetaction(#), you can change it to control or shift as well.
/script if(IsAltKeyDown())then CastPetAction(6) end
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/script CastPetAction(2);
/script CastPetAction(10);
/script PetAttack(target);
Pet attacks mouseover and your original target is kept, useful for chain pulling and for pvp situations. Alt key will cast intimidation. Saves you a bind, not necessary. Assumes you want to dash to the desired target.
/script if(IsAltKeyDown()) then CastSpellByName ("Intimidation") else TargetUnit("mouseover");PetAttack();TargetLastTarget(); end
/cast Dash
/attacktarget
Autotarget nearest attackable enemy, begin autoshot, or melee if in melee range. Put on every skill macro to make every skill shot autotarget, autoshoot, and autoswitch to melee when in melee. 36 and 48 are the bottom button of the left and right side action bars. in 48 i put a macro that uses my melee attack skills and makes sure attack is on. in 36 I put autoshot.
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if CheckInteractDistance("target", 3) then UseAction(48) elseif not IsAutoRepeatAction(36) then UseAction(36) end
Pet Revive, call, feed, and dismiss if well fed. Rarely revive is buggy. edit bagslot as desired, its on the 13th slot of the backpack
/run local c=CastSpellByName if UnitExists("pet") then if UnitHealth("pet")==0 then c("Revive Pet") elseif GetPetHappiness()~=nil and GetPetHappiness()~=3 then c("Feed Pet") PickupContainerItem(0, 13) else c("Dismiss Pet") end else c("Call Pet") end
mouseover Distracting shot, resets target after shot.
/script TargetUnit("mouseover");CastSpellByName("Distracting Shot");TargetLastTarget();
Feign Death and begin attacking right away, spam it when using FD to drop threat.
/script if UnitAffectingCombat("player") then CastSpellByName("Feign Death") end
/run if CheckInteractDistance("target", 3) then UseAction(48) elseif not IsAutoRepeatAction(36) then UseAction(36) end