Get an Epic Experience with Premium

Battle Pet Tabs

Companions Login to Add Favorites
  • World of Warcraft
  • 194 Monthly Downloads
  • Supports: 5.4.0
  • 33,511 Total Downloads
  • Updated 10/08/2013
  • Created 08/16/2012
  • 53 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File:

About Battle Pet Tabs

It's simple, you can create up to 8 team loadouts and toggle between them by pushing the tabs on the Pet Journal, could it get any simpler? You can also store your teams into a snapshot, and then easily swap between multiple team loadouts at once!
  • To delete a team simply right-click the tab.
  • To rename a team you simply right-click while holding down either alt, shift or control.
  • You left click the "+" button to create a new team (current selected team is copied as starting point).
  • You left click a team icon to load that team.
  • You drag the tab to automatically create a macro that uses that loadout. (The macro can be right-clicked while on your actionbar to quickly open the Pet Journal.)
 + Reverted three second rule hack from and listening for UPDATE_SUMMONPETS_ACTION to fire, hoping that teams don't get wiped after that point.
 + Fixed global leak "petId"
 + The quest to fix false-positives continues! Implemented a three second rule before assuming a petId doesn't exist. Looking for feedback to whom this may concern.
 + Updated TOC for 5.4
 + Hopefully fixed an issue with valid pets and teams being deleted at login or interface reload. The addon waits for PET_JOURNAL_LIST_UPDATE to fire before initializing the addon, avoiding this bug. Thanks to flopsygamer for helping me figure this out! I'll keep an close eye to this in the next couple of days to see if this has been truly fixed.
 + Updated TOC for 5.3
 + Fixed issue with other addons, causing BattlePetTabs not to load properly.
 + Renamed the new feature to "Snapshot Manager".
 + Fixed the issue with macros disappearing when switching to a snapshot with less teams than your other snapshots. (The addon assumed the macro was invalid as the team didn't exist in the current snapshot, so now the macros are left in peace in most cases when dealing with snapshots.)
 + Added the ability to rename and pick a snapshot icon from a new popup interface, rather than the old rename popup dialog. For the moment this only applies to snapshots, team renaming still is the same as before.
 + Fixed a bug where a team would be re-loaded endlessly because the pet ID when compared appeared wrong, because the stored ID is in lower-case, while the one returned when checking was in upper-case.
 + The buttons gray out while a team is being loaded in the background. This is to avoid weird behavior, created from too much queries to the server.

 + Added "Team Manager", a way to create snapshots of all the current teams. The popup menu allows you to load a snapshot, or create one based on the current teams. Note that currently if you make a new snapshot, then load it and edit the teams, you have to make a new snapshot for those changes to be saved - meaning if you plan to make changes to a snapshot, you have to load it, do your stuff, make a new snapshot, then delete the old snapshot that is now obsolete.

 + Recoded the addon, trying to work out the issues with the database. Please provide feedback in case of errors, along with the errors and description how to reproduce them. Testing on my end has proven error-free, hopefully it will be for you too.
 + Working on making the addon error less if data is corrupt. In case there is a invalid petID being used from the database, the addon will avoid feeding it further into the API so errors aren't caused, this way if a pet or one team is corrupt, they should automatically be cleansed without causing errors. Please provide feedback if you experience that your team data gets corrupt too often, this is not intended and to be frank I've never myself experienced this before so you got to give me some time to try work around this issue. Thank you very much.
 + TOC bump to 50200 (patch 5.2)
 + Fixed an issue where the UI wouldn't update when you swap teams.

 + Added a bonus feature; the ability to remove pets from the teams, all you have to do is hold down a modifier key (ctrl/alt/shift) and click the small avatar in the team loadout screen, a confirmation dialog will ask you before removing the pet. You can create teams that consist of one or two pets, you don't have to have a full team.

 + Patch 5.1 update has been applied, sorry if you lost your current teams because of the old version bugging out.
 + Working on Squire2 compatibility, broke its loading process by forcing the PetJournal to load. Giving the author a break by doing this as a temporary fix, side effects are limited to simply not seeing the tooltips when hovering over the macros, nothing big really.

 + Further optimizing of loading process. At the moment I think the issues have been resolved, speak up if something happens, thanks for your patience.

 + Appears to have been resolved, keeping a close eye on the situation. Please do provide feedback about this version and about the issue with loading teams between sessions, thank you.

 + The hunt to fix the saving issue continues, being told it's not yet corrected to trying with a small fix.

 + Revamping how the addon loads, making pet quality coloring (while in battles) work without having to show the Pet Journal first, and hopefully fixing some issues with the saved variables.

 + Fixed an issue with pet tabs while being queued or in battle, if you tried to swap teams or modify your teams it would error by spamming you in chat that the action is unavailable, so to counter this issue I made it automatically disable the tabs while you are busy in battle or queue, rather use your time to manage teams outside of these situations, like it was intended.
 + Attempting to harden the saved variables problem, someone reported settings not being stored so I edited a vital line, hoping it would help reduce these occurrences. Keep me posted on the matter.

+ Fixed an issue with non-existant pets being loaded then the addon trying to set their spells properly, when there is no data to use, so the addon fired an lua error telling you there is no field '?' at line 331 (in version 1.0.7), this should be fixed now, provide feedback if otherwise.

+ Updated tooltip code to work better with build 15913. The tooltips now appear more compact, and pet level and experience is now shown.

+ Fixed team swapping issue where pets would revert their abilities back to default instead of using what was assigned to them by the player.

+ Swapping teams too often will no longer cause problems like the loadout not changing or only one or two pets changing while the last are still from the old team. This happened because the game isn't made to handle too many requests to changing loadouts, so this is fixed by having the addon retry and update the loadout in intervals until the expected loadout is loaded properly.
+ Caging pets will remove them from the team, cage all pets from a team and that team is removed from the tabs.
+ Variable initialization issues should now be gone.

+ Fixed a problem with macro creation when you have the macro UI opened, it will close it automatically to avoid any problems.
+ The team tooltip hints change depending if it's on the tab, or on the macro.

+ Swiftly added tooltip information about dragging the tabs.

+ Pet type defensive bonuses and penalties are locale independent and should not cause problems any longer, in case you were early out with a non-English client, this should fix the problem.
+ You can drag a tab to automatically create a macro for that team load-out, you can press it to quickly load a team from your actionbar, this way you don't have to open the screen to toggle between a fixed set of teams. When you mouse-over these type of macros, the tooltip will change into the team load-out tooltip. You can also right-click the macro to toggle the Pet Journal for quicker access to your pets. Note that macros are stored in the general category.
+ Team tooltips will now use the positive and negative arrows to describe if attack or defense is stronger or weaker, instead of text.
+ Minor tweaks regarding icon alignment on tooltips, still not perfected tough.

+ Minor tweaks before release, nothing substantial.

+ Initial release.

Addon Packs Containing This...


First Previous Page 1 of 7 Next Last
  • #93

    I really wish the auto-zero code could just be disabled.  I had it wipe out my pet group yesterday for some reason.  The main tab picture was still there, but all the slots were emptied.  Why do we need to clear out invalid names?  Was that a major problem in the past?  I would rather just leave whatever as I do not recall ever having invalid names, only these clears that end up removing valid teams for some reason.

  • #94

    You can simply comment out line 616, it's this part:

    function Update() -- local
        local shownNewTeam

    Make it into:

    function Update() -- local
        local shownNewTeam

    That will disable checking the teams entirely. Try it and see how it works.

    There was a time where I changed a lot on the data structure, but now it's been stable like this for a while so I reckon I don't have to be so agressive as before. :)

    Last edited by Vladinator on 10/22/2013 9:46:19 AM

    Profile: WoWInterface | Wowhead

  • #95

    I have done that in the past, but it gets to be tedious to do with each release!  :)

    That is why having a setting may be useful.  Or allow us to clear things in the config interface.  Just a thought.

  • #90

    My game is crashing on exit about once a week or so, after a long play session.  Part of this is probably Blizzard's fault, but it always results in a corrupt data file for this addon on reload, so I am highly suspicious something is taking far too long when it is writing things out.  I tend to use 8 tabs, so that could be the issue.

    Could you write things out when they change instead of when the app quits?

  • #91

    The game writes the savedvariables to the disk at logout or at right before the UI reloads when you /reloadui

    But I fear even if you do /reloadui before logging out, if the game crashes at logout, it would still corrupt your main file (the backup would contain the data when you reloaded the UI, so you'd still be forced to manually rename it so the game loads it)

    Real shame the game crashes like this, it shouldn't happy, but maybe it does due to low memory/space?

    Profile: WoWInterface | Wowhead

  • #92

    I am not sure why it is crashing.  I have plenty of memory on this machine, but I do run a bunch of addons which may be related.  Perhaps Blizzard has one or more memory leaks and the problem is that they add up.

    The thing that is suspicious is that the file for this addon is the only one that gets corrupt.  I have had one or two others get corrupt in the past, but this one is the only one that must be completely removed after the crash, making me wonder if it is something odd here that is causing the crash or at least helping it along a lot.

  • #84

    I installed the new version and it is still clearing out the list for me.  I just commented out the code that does that so I don't have to keep reentering my teams, but the latest fix doesn't solve the problem, unfortunately.


  • #87

    Can you try I've disabled my 3 second fix test and added listening for UPDATE_SUMMONPETS_ACTION

    My reasoning is that I've discovered that on my end the petID is nil but gets a value after this event has fired, so I'd like you to test it out yourself and check if your teams are wiped or not. :)

    Profile: WoWInterface | Wowhead

  • #89

    Good question, I haven't seen any replies so I figured maybe you were busy! :)

    Anyway, the time based was only in, then I found a better method and added that instead in

    Did some testing where I register all events and track the values returned by the API, I noticed it returned valid values after UPDATE_SUMMONPETS_ACTION had fired, and that when doing a /reloadui the petID can return invalid results when the game starts to reload stuff, something about the raid profiles I think, anyway, the data was valid again once UPDATE_SUMMONPETS_ACTION fired.

    Thus now I only wait for UPDATE_SUMMONPETS_ACTION to fire before initializing my addon, in addition to wait for the PetJournal to initialize first as well. ;)

    Keep testing, and say if there are more issues! :)

    Profile: WoWInterface | Wowhead

  • #88

    Where did all my replies go?

    I tried the new version and it seems to be working for now.  No clearing out at this point.

    I would avoid something time based, as having many addons could override that.  Perhaps make this an option in the settings, so the user can turn it on or off as needed.  How often do we really have invalid items in the list anyway?  Perhaps you are solving a problem that is not common.  It should require active action to clear in that case.

  • #86

    In I've added a 3 seconds rule. Please try it out.

    I am curious how long the game assumes the petId doesn't exist, so I figured 3 seconds should do it, considering the event is accounted for before initializing, and with this hack it would lie and say that the petId exists (until 3 seconds have passed, then it will stop lying and actually remove the assumed corrupt pet entry.

    Keep me updated, flopsygamer!

    Profile: WoWInterface | Wowhead

  • #85


    Hmm, maybe I can have a strike system, if the pet ID fails 3 checks done over 10 seconds, then it assumes it's invalid.

    I'm sorry to hear, but I'll keep trying to fix this by not invoking the cleaning function too often. Maybe I could even make it on demand, so it doesn't run that often.

    The idea was in case pets disappear or between version changes, that the user wouldn't get stuck in error loop, being unable to use the addon at all. The data integrity was really unstable when I first coded the addon, so I figured I needed something like this in place. Maybe I don't anymore, I'll do some more research on my end.

    Write me if you miraculously figure something out. :)

    Profile: WoWInterface | Wowhead

  • #74

    I have figured out my current problem to a simple recreatable case:

    - Delete both BattlePetTabs.lua files in the SavedVariables folder.

    - Load the game.  Make 2 tabs with 3 different pets in each.

    - Reload the interface ("/rl" for me).

    - Comes up with current tab showing pets.

    - Click on other tab.  That keeps the right icon on the tab, but all slots now empty.

    - Click on first tab and it is now empty.

    I am trying to step through this to see what is happening, but I figured a use case might help.  This is all on a single toon, though I have MANY alts.

  • #76

    Just load one tab and it chokes.

    I narrowed it down to a conflict with Thnan's Mod - Battle Pets addon.  That is somehow messing things up so your validate function is getting a petId of 0 to validate, making everything choke.  DIsabling that addon removes the problem, but it might be worth figuring out if you are doing something incorrectly here.

    EDIT: I am not sure it is just that since it happened with that addon disabled.  Where does the addon initialize the table with data from the saved variables?  That seems like it could be the problem, as the table has all "0" values in the error case and I cannot find the code that initializes it at startup.

    EDIT2:  The Update function is getting called multiple times.  It has the right value the first time, but the DB2 is zero'd out by the second call, but not in the code where I can see since I put print statements there that did not get called.

    I almost guarantee the problem is happening if another addon modifies the information returned from GetPetInfoByPetID or something like that.  That could break the regexes and cause it to get 0'd out.

    Last edited by flopsygamer on 10/4/2013 2:46:48 PM
  • #83

    You might find this thread of interest:

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Landmark Beta Key Giveaway!

Get My Code!