Get an Epic Experience with Premium

PetBattle Teams

Companions Login to Add Favorites
  • World of Warcraft
  • 14,310 Monthly Downloads
  • Supports: 6.0.3
  • 814,815 Total Downloads
  • Updated 11/01/2014
  • Created 07/27/2012
  • 964 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: 3.2.8

About PetBattle Teams



  • Create an unlimited teams of pets and quickly switch between them in the pet journal.
  • Reliable pet switching even when spammed with requests to change teams.
  • The skills in the tooltip are the saved skill selections
  • The frames location is now saved.
  • Pets are saved to your current team as you make changes, no more hitting save. (This behavior can be disabled by unchecking "Automatically save teams" in the options).
  • Teams can be named, deleted or locked by right clicking the team.
  • Additional options are available from Game Menu -> Interface -> AddOns -> PetBattleTeams

Main Frame:

  • Teams are displayed to the right of your pet journal in the pet battles team frame
  • The star denotes your active team.
  • Swap pets between teams by dragging and dropping! Add pets from the pet journal directly to teams, or swap within your own teams.
  • copy pets by holding shift while dragging the pet to copy it to another team.
  • reorder teams by control - dragging a pet.
  • Displays your pets levels, quality and health, icon at a glance
  • Each pet in a team can be moused over for additional information.
  • The active team is now displayed at the top of the frame.
  • Teams with gold borders are locked by the user.
  • Locked teams cannot be modified.

Slash Commands:

  • use "/pbt reset ui" to reset the UI and re-attach the frame to the pet journal
  • use "/pbt reset teams" to reset your teams
  • use "/pbt lock teams" to lock all existing teams
  • use "/pbt unlock teams" to unlock all existing teams
  • use "/pbt attach" to attach PetBattle Teams to the Pet Journal
  • use "/pbt detach" to detach PetBattle Teams to the Pet Journal
  • use "/pbt lock frame" to lock the PetBattle Teams frame
  • use "/pbt unlock frame" to unlock the PetBattle Teams frame


  • Click the pet battle icon in the upper right to access the lock and attachment options
  • Press the + button to create additional teams
  • Right click a team to delete|rename|lock it. There is a confirmation before deleting to prevent accidents.
  • Left click a pet in a pet battle teams frame to make that team the active team.

3.2.8 invalid pets are now ignored always.

3.2.7 fixed issues preventing the addon from working
3.2.7  67     Please Load the Journal Using the Default Method

3.2.6 fixed wonky scroll bar
3.2.6 updated LibPetBreedInfo-1.0

3.2.5 re-added detach/attach

r37 intersect() now checks if both objects are tables.

3.2.4 disabled having the pbt window be detached due to various issues that were happening with it.
3.2.3 fixed several errors

r36 added a nil check before updating a team in TeamManager.UpdateCurrentTeam()

.2.1 added numerous checks when calling C_PetJournal.GetPetInfoByPetID in teamManager.lua
3.2.1 invalid/nil petID's should no longer throw errors.
3.2.1 51 - 3.2.0 lua errors

r35 FixTeams()  code clean up,  now runs in linear time
r34 FixTeams() is now restricted to invalid pets only

r33 added experimental fix for 5.3 petID's. Not guaranteed to restore all teams perfectly but it should be a good start.
r33 put    /run PetBattleTeams.modules.TeamManager:FixTeams()  into your chat bar and hit enter.

r32 each pet in a team is tagged with its speciesID
r32 if a petID is no longer valid then from the options menu you can select to reconstruct teams. For each invalid petID, PBT will find the highest level pet of the same species and add it to that team.
r32 removed Import Teams functionality as its no long relevant
r32 added Reconstruct teams option in the same location as Import teams
r32 note: this change is backwards compatible with previous versions if you need to downgrade
r32 note: this change will not restore previously lost pets

r31 left clicking the menu button now hides PBT's main frame and attaches the menu button to the pet journal near the close button in the upper right.
left clicking the menu button while its attached to the petjournal frame will reshow PBT's main frame.

r30 fixed some leaked global variables from 46 - global taints.

3.1.3 updated libbreedinfo to latest version

3.1.2 fixed team switching
3.1.2 updated libpetbreedinfo
3.1.2 updated toc

3.1.1 no changes from r29

r29 import teams no longer throws errors during the import

r28 Added deleting pets from teams.
r28 added not clearing pet battle slots when invalid or empty pets are on a team

r27 ticket 39, fixed the spelling of team.

r26 added option to enable mouse scrolling to change the selected team when used on the selected team frame

3.1.0 corrected variable name in createTeam
3.1.0 removed debug print statment

r25 updated to latest libpetbreedinfo
r25 reset the scroll bar when the roster frame is shown or hidden (post 328)
r25 moved controller code from view to controller. opps. scrolling while moving pets will now properly enable and disable pet unitframes (ticket 37)
r25 roster min size is now 2 entries or else onvertical scroll doesnt fire for the scroll frame, since the bobber doesnt move. future: implement onmousewheel back up  (post 328)

r24 added ability to toggle visiblity for selected team, roster and control buttons
r24 added config entries for component visiblity

r23 added menu addressing ticket 28
r23 added config option to hide breed info

r22 fixed gui initializing during combat at login

r21 Added breed info to tooltip pet names

3.0.5 addressed ticket 31, hope i nailed it as i couldn't reproduce it.

r20 mainframe no longer displays when attached after a reload during combat. pbt will restore itself after combat.

r19 Nuked release

r18 removed dependency on blizzard pet journal again, added more checks to make sure it loads properly
r18 fixed bandage again

r17 Moved printed text from TeamManager to calling functions
r17 added /pbt toggle to toggle the attach/detach state
r17 fixed printed text for lock and unlocking teams

3.0.4 fixed being unable to scroll to the last team when a user had 14 teams (and presumably other quantities as well)
3.0.4 changed pet bandage button to use itemID instead of enUS text
3.0.4 fixed some ability names being blank in the pet tooltip
3.0.4 fixed teams not switching

3.0.3 Changed vertical scrolling to only move one at a time
3.0.3 fixed /pbt reset teams

3.0.2 Added additional checks to make sure a petframe is set before trying to show a tooltip
3.0.2 Added enabled flag to freshly created teams
3.0.2 Added IsTeamLocked check to IsTeamEnabled (shouldnt have to ask twice to find out if its enabled)

3.0.1 team names are now colored yellow when locked to match the unit frame border
3.0.1 scrolling now correctly keeps disabled pets disabled
3.0.1 trying to swap from a locked team now automatically copies instead
3.0.1 locked teams no longer disable during a team move

3.0.0 added local _ and preferredIndex = STATICPOPUP_NUMDIALOGS, to reduce taint issues
3.0.0 removed tutorial.lua from the toc

r16 - moved team names up 2 px to prevent names being cut off by unit frames
r16 - newly created teams are now inserted directly after the team they were copied from
r16 - moved add team button over 3px to line up with unit frames
r16 - Increased hieght of team frame by 2px to remove overlap with unit frames

r15 - updated toc number
r15 - fixed teams remaining locked after a pet battle
r15 - teams no longer lock during a pet battle
r15 - pet bandage button now works
r15 - added import dialog for optionally importing pets from 2.4
r15 - added help text for /pbt

r14 - when a new team is created, that team is now selected
r14 - mainFrame no longer displays resizer and is no longer moveable after reloading (when attached)
r14 - fixed empty|invalid pets not showing up as locked when the team is locked

r13  - fixed invalid pets not reseting border color
r13  - added auto dismiss
r13  - fixed resizer showing while attached
r13  - fixed team names reseting when changing pet load out
r13  - fixed TeamManager:IsWorking to return the correct values when idle
r13  - fixed Swapping pets when both teams have an empty pet
r13  - fixed empty_pets not showing disabled when they are

r12 - fixed swaping to empty pet between teams
r12 - can no longer pick up empty or invalid pets
r12 - added description to a number of options
r12 - added helper text to pet tooltip
r12 - fixed bad petID issues with TeamManager:GetPetInfo
r12 - slash commands
r12 - implement hiding helper text

2.4.14 found a left over debug statement.

r11 added resetUI functionality. Added frame locking functionality, and frame state saving. creating new teams with automatically saving teams disabled now creates empty ??? teams

2.4.13 added conversion for petIDs

Going to beta, added new config placeholder options, fixed code for 5.1

Added support for 5.1
Add Importer for 2.4.11 teams
Added team names to main scroll frame
Made Moving teams more user friendly, hit escape to cancel move, or wait 15seconds
Rewrote scroll frame for the Nth time
Fixed reported bugs
Fixed lib dependencies issue
Added Todo.txt , see whats left to be done and suggest more.

r3 fixed frame issue with first initialization, added Old pbt settings to toc file they are not lost and allows me to write a migration function

r2 Alpha - Complete rewrite of PBT. Expect features to be missing, or broken.


First Previous Page 5 of 48 Next Last
  • #690

    Same problem for me. No chance to swap pets.

  • #691

    thanks, ill be investigating that this afternoon.

  • #688

    Having the same problem as wenl. I can select different teams, but on my 2 pet carry teams I can't move a carry pet into the empty slot.

  • #687

    :( Its not working for me. I narrows it down to this addon by disablign others and just enabling this one.

    Basically it shows all the teams and I can select all the teams but the they dont load into my main battle pet slots. I thought it was just the "selected team" window that was bugged but noticed when i select indivusual pets and try to bring them into my main battle pets slot manually they dont go in there either. :( 


    Update: I didnt notice this before due to the pet battle window being in the way but appearently when I select each team instead of the team being loaded up into my battle window it summons the first pet in the team as my companian.


    Update 2:

    Like post above me I went and checked and noticed it only affects the pet teams with a missing pet

    Last edited by wenl on 10/25/2014 11:56:21 PM
  • #694

    During My initial investigation, it looks like blizzard no longer lets you clear a pet slot by sending it an invalid pet id. In the future , invalid pet id's will just be skipped as if you had checked the "ignore empty pets" option.

  • #686

    TY, thank you, THANK YOU for the update. Didn't realize just how much I loved this Addon until it didn't work anymore. Ty for all your hard work. I really appreciate it. (6.0.2)

    Last edited by MeetPixy on 10/25/2014 5:45:04 PM
  • #685


  • #684

    Thanks For the Update to 6.0.2


  • #683

    Date: 2014-10-25 21:53:00
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ...leTeams\libs\LibPetJournal-2.0\LibPetJournal-2.0.lua line 60:
       table index is nil
       ...leTeams\libs\LibPetJournal-2.0\LibPetJournal-2.0.lua:60: in main chunk
    MAJOR = "LibPetJournal-2.0"
    MINOR = 26
    lib = <table> {
     UnregisterCallback = <function> defined @Interface\AddOns\SlideBar\Libs\LibDataBroker\CallbackHandler\CallbackHandler-1.0.lua:179
     callbacks = <table> {
     event_frame = <unnamed> {
     UnregisterAllCallbacks = <function> defined @Interface\AddOns\SlideBar\Libs\LibDataBroker\CallbackHandler\CallbackHandler-1.0.lua:200
     RegisterCallback = <function> defined @Interface\AddOns\SlideBar\Libs\LibDataBroker\CallbackHandler\CallbackHandler-1.0.lua:116
    oldminor = nil
    is5_0 = false
    _G = <table> {
     ContainerFrame5Item7 = ContainerFrame5Item7 {
     MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
     MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
     GetTrainerServiceTypeFilter = <function> defined =[C]:-1
     UNIT_NAMES_COMBATLOG_TOOLTIP = "Namen von Einheiten einfärben."
     UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "Diese Methode vermeidet sich überlappende Namensschilder, indem sie horizontal und vertikal verteilt werden."
     SetTrainerServiceTypeFilter = <function> defined =[C]:-1
     SPELL_FAILED_CUSTOM_ERROR_71 = "Dieser Partygast möchte mit Euch tanzen."
     RecruitAFriendFrame = RecruitAFriendFrame {
     CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture = CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture {
     TutorialFrameLeft19 = TutorialFrameLeft19 {
     MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
     ERR_TRADE_EQUIPPED_BAG = "Mit von Euch angelegten Taschen könnt Ihr nicht handeln."
     PVP_RANK_6_1 = "Fußknecht"
     BOOKTYPE_PROFESSION = "professions"
     AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture {
     InterfaceOptionsDisplayPanelShowAggroPercentageText = InterfaceOptionsDisplayPanelShowAggroPercentageText {
     VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture = VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture {
     MerchantItem3AltCurrencyFrameItem1Text = MerchantItem3AltCurrencyFrameItem1Text {
     OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN = "Vordefinierte Tastaturbelegungen für Aktionen reagieren bei gedrückter statt bei losgelassener Taste."
     BINDING_NAME_NAMEPLATES = "Plaketten für Gegner einblenden"
     INSTANCE_UNAVAILABLE_OTHER_TEMPORARILY_DISABLED = "%s kann nicht eintreten. Diese Instanz ist vorübergehend gesperrt."
     IsReferAFriendLinked = <function> defined =[C]:-1
     MAIL_LETTER_TOOLTIP = "Klicken, um eine dauerhafte
    Kopie dieses Briefs anzufertigen."
     AudioOptionsVoicePanelMicrophoneVolumeThumb = AudioOptionsVoicePanelMicrophoneVolumeThumb {
     ItemTextFrameInsetInsetTopRightCorner = ItemTextFrameInsetInsetTopRightCorner {
     MANA = "Mana"
     TutorialFrameRight19 = TutorialFrameRight19 {
     MoneyFrame_OnEvent = <function> defined @Interface\FrameXML\MoneyFrame.lua:225
     BN_UNABLE_TO_RESOLVE_NAME = "'%s' kann nicht angeflüstert werden. Möglicherweise ist nicht verfügbar."
     CinematicFrameRaidBossEmoteFrame = CinematicFrameRaidBossEmoteFrame {
     InterfaceOptionsCombatTextPanelFCTDropDown_OnClick = <function> defined @Interface\FrameXML\InterfaceOptionsPanels.lua:1661
     CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight = CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight {
     LFGTeleport = <function> defined =[C]:-1
     GetMonitorAspectRatio = <function> defined =[C]:-1
     ToggleEncounterJournal = <function> defined @Interface\FrameXML\UIParent.lua:704
     Graphics_QualityText = Graphics_QualityText {
     TalentMicroButtonAlertShadowTopLeft = TalentMicroButtonAlertShadowTopLeft {
     ROGUE_COMBAT_CORE_ABILITY_4 = "Erhaltet diesen Effekt auf Euch aufrecht, sobald Ihr über 5 Combopunkte verfügt."
     JoinSkirmish = <function> defined =[C]:-1
     Advanced_GraphicsAPIDropDownButtonHighlightTexture = Advanced_GraphicsAPIDropDownButtonHighlightTexture {
     CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfile
      Swatter, v5.21b.5509 (SanctimoniousSwamprat)
      AucAdvanced, v5.21b.5509 (SanctimoniousSwamprat)
      AucFilterBasic, v5.21b.5509 (SanctimoniousSwamprat)
      AucFilterOutlier, v5.21b.5509.5459(5.21b/embedded)
      AucMatchUndercut, v5.21b.5509.5507(5.21b/embedded)
      AucStatHistogram, v5.21b.5509 (SanctimoniousSwamprat)
      AucStatiLevel, v5.21b.5509 (SanctimoniousSwamprat)
      AucStatPurchased, v5.21b.5509 (SanctimoniousSwamprat)
      AucStatSales, v5.21b.5509.5476(5.21b/embedded)
      AucStatSimple, v5.21b.5509 (SanctimoniousSwamprat)
      AucStatStdDev, v5.21b.5509 (SanctimoniousSwamprat)
      AucStatWOWEcon, v5.21b.5509.5323(5.21b/embedded)
      AucUtilAHWindowControl, v5.21b.5509.5347(5.21b/embedded)
      AucUtilAppraiser, v5.21b.5509.5495(5.21b/embedded)
      AucUtilAskPrice, v5.21b.5509.5447(5.21b/embedded)
      AucUtilAutoMagic, v5.21b.5509.5443(5.21b/embedded)
      AucUtilCompactUI, v5.21b.5509.5496(5.21b/embedded)
      AucUtilEasyBuyout, v5.21b.5509.5507(5.21b/embedded)
      AucUtilFixAH, v5.21b.5509 (SanctimoniousSwamprat)
      AucUtilItemSuggest, v5.21b.5509.5417(5.21b/embedded)
      AucUtilPriceLevel, v5.21b.5509.5458(5.21b/embedded)
      AucUtilScanButton, v5.21b.5509.5403(5.21b/embedded)
      AucUtilScanFinish, v5.21b.5509.5505(5.21b/embedded)
      AucUtilScanProgress, v5.21b.5509.4979(5.21b/embedded)
      AucUtilScanStart, v5.21b.5509.5347(5.21b/embedded)
      AucUtilSearchUI, v5.21b.5509.5505(5.21b/embedded)
      AucUtilSimpleAuction, v5.21b.5509.5507(5.21b/embedded)
      AucUtilVendMarkup, v5.21b.5509.4828(5.21b/embedded)
      Auctionator, v3.1.6
      Babylonian, v5.1.DEV.332(/embedded)
      BagBrother, v
      Bagnon, v6.0.12
      BattlePetBreedID, vv1.1.3
      BeanCounter, v5.21b.5509 (SanctimoniousSwamprat)
      Configator, v5.1.DEV.359(/embedded)
      DBMCore, v
      DBMDefaultSkin, v
      DBMStatusBarTimers, v
      DebugLib, v5.1.DEV.337(/embedded)
      Enchantrix, v5.21b.5509 (SanctimoniousSwamprat)
      EnchantrixBarker, v5.21b.5509 (SanctimoniousSwamprat)
      ErrorFilter, v2.11
      LibExtraTip, v5.12.DEV.363(/embedded)
      Mapster, v1.6.0
      MogIt, vv3.3.4
      MoveAnything, v15.0.2
      Overachiever, v0.80
      PetBattleTeams, v3.2.5
      SlideBar, v5.21b.5509 (SanctimoniousSwamprat)
      Stubby, v5.21b.5509 (SanctimoniousSwamprat)
      TipHelper, v5.12.DEV.351(/embedded)
      BlizRuntimeLib_deDE v6.0.2.60000 <none>

  • #682

    I found that Rematch is a good replacement for this addon.

    Also got nice new features. The one I like the most is the leveling pet list and the leveling slot for any given team.

  • #681

    [quote="Nullberri"]Warlords of Dreanor:
    I'll be looking into fixing PBT starting the 25th of oct.

    Just be patient for a few more days...

    in the meantime you can use the fanupdate version of PetBattle Teams, that Roweboy linked in the comments below:

    btw, this addon is a must-have when battling pet trainers or fighting in the celestial tournament - saves a whole lotta time not having to manually switch every single pet but the whole team instead, with one click.

    So big thanks to Nullberri for this great addon - love it!

    Last edited by Pakka on 10/24/2014 1:18:44 AM
  • #689

    Link seems to be dead and the official release appears to have a bug or two...

  • #680

    Hello,  I have no circular pet battle icon to open my pet battle window with anymore.  I have uninstalled and reinstalled, made a copy of my petbattle varieable and deleted the one from my WFT folder.  I have disabled all my addons Except PetBattle Teams and although it looks installed and when I used /pbt attach it comes up and says its attached, however I still don't get the circular pet icon at the top to open the window with.  I've searched through these comments but not found an answer, can anyone help please?

  • #679

    please update this version

  • #678

    Waiting urgently for the next version! Don't drop all your good work, we need your support.

  • 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 »

CoachVicious Giveaway!