Hunter Pet Macros
All-in-one
Call Pet, Revive Pet or Mend Pet
/run if not UnitExists("pet") then CastSpellByName("Call Pet") else if UnitIsDead("pet") then CastSpellByName("Revive Pet") else CastSpellByName("Mend Pet") end end
Auto-targeting
Finds a target and attacks the target if it is not neutral
/run for i=1,4 do TargetNearestEnemy(); if UnitIsEnemy("player", "target") then CastPetAction(1); return end end
Call Pet
Call / Dismiss Pet
/run if not HasPetUI() then CastSpellByName('Call Pet') else CastSpellByName('Dismiss Pet') end
Feed Pet
Feed Pet Longjaw Mud Snapper
/run for b=0,4 do for s=1,GetContainerNumSlots(b) do local o=GetContainerItemLink(b,s);if o and string.find(o,"Longjaw Mud Snapper") then CastSpellByName("Feed Pet"); PickupContainerItem(b,s);b=4;break;end;end;end
Growl
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
Turn Autogrowl 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
Disables growl whenever you tell your pet to attack a player in PvP
/script 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 and UnitFactionGroup("target")) then ToggleSpellAutocast(g,"pet") end
/script PetAttack();
Hunter`s Mark
Hunter`s Mark and Pet Attack
/run c=CastSpellByName function b(k)for i=1,16 do if strfind(tostring(UnitDebuff("target",i)),k)then return 1 end end end if not b("SniperShot")then c("Hunter's Mark")PetAttack() end
Target nearest enemy, Hunter`s Mark and Pet Attack
/run for i=1,4 do TargetNearestEnemy() c=CastSpellByName function b(k)for i=1,16 do if strfind(tostring(UnitDebuff("target",i)),k)then return 1 end end end if not b("SniperShot")then c("Hunter's Mark")PetAttack() end end
Pet Attack
Pet attack if not set to passive or currently attacking
/run local _,_,_,_,isActive=GetPetActionInfo(10) if not isActive and not GetUnitName("pettarget") then PetAttack() end
Uber Pet Attack
This sends your pet to assist on friendly target. Attack on hostile target. Or else set the pet to follow. This works regardless of your pet’s mode (Aggressive/Defensive/Passive).
/run if UnitExists("target") then if UnitIsFriend("player","target") then AssistUnit("target");PetAttack();else if UnitExists("pettarget") and UnitIsUnit("target", "pettarget") then PetFollow();else PetAttack();end;end;else PetFollow();end
Pet Follow
One button pet follow/stay
/run local _,_,_,_,x = GetPetActionInfo(2); if x then PetWait() else PetFollow() end
Prowl
Spammable Prowl
/run local i,x=1,0 while UnitBuff("pet",i) do if string.find(UnitBuff("pet",i),"Prowl") then x=1 end i=i+1 end if x==0 then CastSpellByName("Prowl");end