WOW Once per character pets – With macros By: Egology


Long time lurker here. This community has helped me massively on my journey from barely scrapping by to long boi and beyond.

I want to give back to the community, so I’m sharing the macros I use on alts to go back and get once per character cageable* pets. These pets are all fairly easy to get, but there are limitations on when some can be obtained. For example the Sentinel’s Companion and Everbloom Peachick require quests from your garrison inn/tavern. The Vengeful Chicken can only be obtained when a specific WQ is up. This post is not meant to be a guide – just a tool for extracting value from alts. The wowhead pages for each of the pets are very helpful. As always YMMV – check market prices on your realm to decide if a pet is worth the effort.

There are a couple of “gotchas” with these pets.

  • Ikky: Make sure you don’t already have 3 collected. You don’t get the item that teaches Ikky from turning in the quest, but the pet is added to your journal. If you have 3 the quest will complete and you simply don’t get another one.

  • Mechanical Chicken: Not cageable. The item that teaches the pet is not soulbound and can be sold.

I divided the macros by expansion. This helps with macro length and may help slightly with planning your travels. Some of the pets have different quests on Alliance/Horde. Those are prefixed by an A_ or H_ in the macro output.


/run for k, v in pairs({MechanicalChicken=3721,A_Fishy=29905,H_Fishy=31239})do print(format("%s: %s", k, IsQuestFlaggedCompleted(v)and "124cff00ff00Done.124r" or "124cffff0000Not Done.124r"))end


/run for k, v in pairs({MeadowStomperCalf=34900,Ikky=34898,SntnlsCmp_Inn=37164,EvrblmPchck_Inn=37150,A_IrnStr=36941,H_IrnStr=36940})do print(format("%s: %s", k, IsQuestFlaggedCompleted(v)and "124cff00ff00Done.124r" or "124cffff0000Not Done.124r"))end


/run for k, v in pairs({AshmawCub=38889,LurkingOwlKitten=41197,Emmigosa=38015,Grumpy=39015,SkyhornNestling=39305})do print(format("%s: %s", k, IsQuestFlaggedCompleted(v)and "124cff00ff00Done.124r" or "124cffff0000Not Done.124r"))end


/run for k, v in pairs({Taptaf=52061,UnteatheredWyrmling=42837,VengefulChicken=50990,A_Feathers=53820,H_Feathers=53821})do print(format("%s: %s", k, IsQuestFlaggedCompleted(v)and "124cff00ff00Done.124r" or "124cffff0000Not Done.124r"))end

Any feedback or suggestions welcome. There are other pets that I have not figured out how to check for. The Wicker Pup from Drustvar, for example. If there are other pets that can be added LMK!

Leave a Reply