Hunter Pet Macros

From Turtle WoW Wiki

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