Livestock

Now that your pets and mounts don't take up space in your bags, Livestock lets you manage them intelligently. This addon sorts your companions into land mounts, flying mounts, and vanity pets. Then, with the push of a button, you can randomly summon any of the three, or designate a favorite pet to have out on command.

You can also have Livestock always keep a pet by your side, and have it dismiss your vanity pet when you are in PVP battle and it would give away your position.

You can even tell Livestock to put you on a random land or flying mount depending on whether the area you're in lets you fly or not. Underwater or in combat, Livestock can also be configured to cast certain spells relating to travel, such as Path of Frost or Ghost Wolf.

New to version 1.2 and above, you can designate certain pets or mounts to be called in certain zones or subzones. Ride in style on a Frostwolf Howler while in Alterac Valley, and then switch to your favorite color of Mechanostrider while in Ironforge. Livestock will let you make sure that you have your good luck pet out whenever you're in Ulduar or Trial of the Crusader.

You can summon critters, land mounts, and flying mounts in various ways. See the ReadMe file for more information.

Localization Help:

Livestock currently only works for the enUS, deDE, eES, ruRU, and frFR clients. (The client is only localized completely for the enUS client, and assistance in localizing is always appreciated!) If you are on another client, Livestock will load but will show all English strings. If you are willing to help localize the addon for your language, please let me know - you'd only need to provide some simple translations and I'd do the rest. You can reach me through the Private Message system available here.

Slash Commands:

There are currently eight slash commands for the addon. View the ReadMe file for a more in-depth explanation. /livestock and /ls both work for commands.

Use "/livestock" to bring up the main menu bar.

Use "/livestock reset" to move the four Livestock Buttons back to their default positions.

Use "/livestock scale <scale>" to change the size of the Livestock Buttons.

Use "/livestock prefs" as a shortcut to access the preferences, described in the ReadMe.

Use "/livestock redo" to force Livestock to reset to default. Useful for squashing buggy behavior at the cost of having to reset your settings.

Use "/livestock [zone/subzone/party]" to designate a pet or mount for your current zone, subzone or party. For more information, check the ReadMe.

Use "/livestock debug" - Prints out useful debugging information that can assist the developers in solving problems. Use the command again to turn off the debugging output.

Livestock Options and Preferences:

You can find the options for Livestock in the Addons tab of the Blizzard Interface options menu. The "Livestock" tab has the major options, while options for pets, Smart Mounting, and zone/subzone preferences are in sub-menus. You can read more about the preferences in the ReadMe file.

Bug Reports and Feature Requests

If you find unexpected behavior in Livestock, especially in locales other than enUS, please check the FAQ first to see if it has been addressed and if there is a possible fix.

Please report any bugs you find with Livestock -- or feature requests you'd like to see -- using the "Report Bugs" or "Feature Request" button underneath the Download button, up and to the right. I appreciate your feedback and support.

If you are reporting a bug, the following information is helpful: Any error messages that you saw, where you were (if you can give coordinates, that's excellent), what you were trying to do, what your menus looked like, and what class you play.

Thanks!

Well-deserved credit goes to the following people:

Khanthal (Uldum), for the original idea and being our MT so often!

A BIG thank you to Sbo (UI and Macros forum, Live) who helped me figure out what was the issue with Dalaran and Wintergrasp as well as suggesting the way to get around it.

Grimgear (UI and Macros forum, Live) for helping troubleshoot a bug, pointing me to keybindings, and suggesting rotation speed. Also for pointing out how best to adjust my GUI to compensate for localization.

Lunessa (UI and Macros forum, Live) for pointing me to Blizzard's instructions on creating panels in the Interface menu.

Xelron (UI and Macros forum, Live) for helping construct debug messages to get more information and indirectly convincing me to make my own dropdowns.

Ro (UI and Macros forum, Beta) for the 3D model viewer idea. Ro also originally suggested making my own custom dropdowns, which I thought was beyond me!

Elloria and Tgulics (WoWInterface) for helping spread the word and test the addon in its early stages and for suggesting highlighting the buttons when they're clicked.

The MVPs (UI and Macros forum) for providing the resources needed to accomplish this one as well as stepping in and answering my questions from time to time. Special thanks to Alestane and Iriel for helping me with secure handlers.

kdkunde (WoWInterface) for helping translate this mod into German so far!

Vastilia (WoWInterface) and Yorgl (Curse) for helping translate into French!

madbit (WoWInterface) for the Spanish translation.

simply (Curse) for the Russian localization.

Certainly not least, Brenkite (Uldum) for being my personal troubleshooter and moral support.

Version 2.6.7

- Fixed flying/land zone detection for patch 7.3.5

Version 2.6.6

- Fixed Wintergrasp detection for flying vs land mounts

Version 2.6.5

- Fixed flying from water's surface (requires jumping out of the water)

- Added support for Chauffeured Mekgineer's Chopper and Chauffeured Mechano-Hog

Version 2.3.6

- Added Aspect of the Cheetah to combat forms

Version 2.3.5

- Corrected Garrison Ability to support other languages
- Flying Carpets now only require 300 tailoring

Version 2.3.4

- Support for Dustmane Direwolf and Creeping Carpet

Version 2.3.3

- Fix for silly LUA errors (coding too fast)

Version 2.3.2

- New option to use Travel Form in land areas

Version 2.3.1

- Restrict Nagrand option to not use siege tanks and only use mounts if learned

Version 2.3.0

- Added Garrison Mounts option for Nagrand

Version 2.2.7

- Restrict autosummon pets while in vehicles to prevent issues with vehicle buttons

Version 2.2.6

- Will once again summon flying mounts underwater in flying zones
- Fixed issue with pet auto-summons and barbershops
- Druids now only summon travel form underwater if they are moving
- Moonkin form now supported when canceling travel form (while moving)

- Moonkins now remain in moonkin form when mounting (fix for non-combo button)

Version 2.2.0

- Fixed dragging pets into the Zone/Subzone screen
- Disabled dragging mounts into the Zone/Subzone screen (use the command line)
- Better handling of the new flying mounts in land menu setting
- Moonkins now remain in moonkin form when mounting

Version 2.1.0

- Hide mounts from the opposite faction

Version 2.0.5

- Fixed flying dismounts for non-druids

Version 2.0.4

- New Option: Include flying mounts in land menu
- More druid fixes

Version 2.0.3

- Fixed Death Knights and Paladins
- Additional fixes for Druids

Version 2.0.2

- Support Flight Form when using Glyph of the Stag

Version 2.0.1

- Fixed error on non-hunters

Version 2.0.0

- Support for patch 6.0.2
- Fixed some issues with druid forms
- Low level druids will use cat form until they learn travel form
- Aspect of the Hawk removed (can cancel AotC/AotP when mounting)

I was able to get around the too many companions issue (the windows opening to the right were too wide to fit on my screen).

In the WTF directory, there is a subdirectory with all of your toons' names.
I opened the "livestock.lua" file, and added a "1" next to my Winterspring Cub (the one pet I couldn't reach since it's off screen in the addon), and now Livestock automatically calls that pet for me.

Anyway, it's a temporary fix. But at least my Magria has a baby to follow around.

Glad to hear. Another possible solution is to install PetJournalEnhanced. This will let you better sort the PetJournal since Blizzard didn't feel like sorting in alphabetical order was important. Once it's sorted, Livestock will follow that sorting.

I was able to get around the too many companions issue (the windows opening to the right were too wide to fit on my screen).

In the WTF directory, there is a subdirectory with all of your toons' names.
I opened the "livestock.lua" file, and added a "1" next to my Winterspring Cub (the one pet I couldn't reach since it's off screen in the addon), and now Livestock automatically calls that pet for me.

Anyway, it's a temporary fix. But at least my Magria has a baby to follow around.

Well, I couldn't notice any major limitations, tested with a level 26 and later with a 41 I remembered, any ground mount worked (admittedly, I skipped several of the racial mount recolors) including those flying mounts that can be used as ground mounts, while other flying mounts required Expert Riding, and the 61 could use any flying mount.
Exceptions:
- tailoring/engineering mounts, of course, those threw "You can't use that mount"
- the AQ mounts said they required Journeyman Riding on the level 26, on the 41 they stated "You can't use that here" correctly.
- Sandstone Drake said the same, Journeyman Riding on the 26 on the 41 it required Expert Riding. However, both can summon it while submerged in water I think this mount is a very special case altogether.

I dug through the PetJournal.lua (the mount section). It uses the same calls I use and throws the same errors if you try to summon a mount you can't use. Clearly somewhere in the game it knows you can't use a given mount, but there is no checking even in Blizz's code at the moment. I posted the question on the WoW forums too in both the normal and beta areas.

Levelling up I'm getting a lot of errors of "You can't use that" or "Requires Expert Riding Skill". I haven't looked at the API at all, so I'm not sure if you can get that info without hardcoding it but it'd be nice for the smart mount to check what skill you have and only summon mounts that you can actually use.

I haven't seen any API calls like that, although they'd be very useful. There is hardly any documentation on 5.0, so it might be new and no one's found it yet.

Levelling up I'm getting a lot of errors of "You can't use that" or "Requires Expert Riding Skill". I haven't looked at the API at all, so I'm not sure if you can get that info without hardcoding it but it'd be nice for the smart mount to check what skill you have and only summon mounts that you can actually use.

I haven't seen any API calls like that, although they'd be very useful. There is hardly any documentation on 5.0, so it might be new and no one's found it yet.

Levelling up I'm getting a lot of errors of "You can't use that" or "Requires Expert Riding Skill". I haven't looked at the API at all, so I'm not sure if you can get that info without hardcoding it but it'd be nice for the smart mount to check what skill you have and only summon mounts that you can actually use.

I would love a better UI, but don't really have the time to code something up. If you can help, or suggest something that's easy to copy I'm all ears.

Check out RandomCompanion http://wow.curseforge.com/addons/randomcompanion/. They also include code to summon only passenger mounts. Their interface shows within the pet/mount journals as sliders to disable or increase/decrease the frequency with which you want a pet/mount summoned, but you to create your own macros (using the supplied syntax), as there are no buttons. It sometimes tries to summon a mount you aren't eligible for (for example, a crafting one when you don't have the craft) but the author said they should have that fixed over the weekend. The addon winds up feeling like it's native to the UI, which I like.

to deal with the issue of hundreds of pets pushing the interface completely off the screen, might it be simpler to make the companion interface work like pages, rather than having them open side by side across your screen?

I have no idea. just making a suggestion. I know absolutely nothing about programming addons.

Originally Posted by Kharthus

Interesting, I'll have to get this fixed...I'm not too happy with how the Pet Journal is accessed thru APIs. Seems totally half-baked on Blizz's part, but I'm doing my best to keep Livestock working like it always did.

Thanks for keeping this up, I love Livestock so much. A couple questions.

First, would it be difficult to set the strata higher on the frame for the menu? I often get the problem of Livestock's menu showing up behind other addons.

My second question is related - I think the menu interface for people with 100+ mounts has gotten kind of unwieldy now - have you considered possibly moving to another UI method for selecting mounts and pets? Is that something others could contribute to (if you agree with the premise)?

Thanks!

Strata is probably easy to fix, I'll take a look.

I would love a better UI, but don't really have the time to code something up. If you can help, or suggest something that's easy to copy I'm all ears.

Thanks for keeping this up, I love Livestock so much. A couple questions.

First, would it be difficult to set the strata higher on the frame for the menu? I often get the problem of Livestock's menu showing up behind other addons.

My second question is related - I think the menu interface for people with 100+ mounts has gotten kind of unwieldy now - have you considered possibly moving to another UI method for selecting mounts and pets? Is that something others could contribute to (if you agree with the premise)?

just to let you know: if there are multiples of a companion, only the very first one is "valid" as a selection.

if you choose any of the "duplicates", you get a "you have no pet" message when you move and Livestock's auto-summon companion function tries to launch.

Interesting, I'll have to get this fixed...I'm not too happy with how the Pet Journal is accessed thru APIs. Seems totally half-baked on Blizz's part, but I'm doing my best to keep Livestock working like it always did.