Rematch is a pet journal alternative to help manage battle pet teams and pets.

Its primary purpose is to store and recall battle pet teams for targets. For instance:

- When you target Aki the Chosen and bring up the Rematch window, you can save the pets you have out for her.
- When you return to Aki another day, you can target her, bring up the window and it will offer those saved pets to load.

How to Use

You can summon the Rematch window several ways:
- Set a key binding from options.
- /rematch command.
- 'Use Minimap Button' in options will create a minimap button.
- From its LDB button if you use a Broker infobar addon.
- Have 'Auto Show' checked in options and target something for which you have a saved team that's not already loaded.
- The Rematch button at the bottom of the pet journal.

Saving a Team

As mentioned at the top, this addon's primary purpose is to save for targets.

The most straightforward way to do that is to slot the pets you want to save, target the NPC you want to save it for, and click Save As. A popup will appear to name the team and other options.

If you decide to change pets or abilities, you can click Save to save any changes back to the loaded team.

If you want to create teams that aren't tied to a specific target, for pvp or anything, you can do that too. As you save the team, change the target to No Target if it's not already chosen.

- Targeted teams are named in white. Their names don't need to match their target but a target can only have one team.
- Teams without a target are named in gold. Their names need to be unique among other un-targeted teams.

Teams

When teams are saved, they're stored in the Teams tab.
- To load a team manually, double click it.
- You can create up to 15 additional tabs in addition to the default General team tab.
- You can have an infinite number of teams in each tab.
- Right-click a tab to change its name or icon, delete it or re-order tabs if you've created more than one.
- When a tab is deleted, all teams within the tab are moved to the General tab.
- You can right-click a team to do various things as well, such as renaming, deleting, sharing it or attaching a note.
- You can bind a key to open the Teams tab directly.
- Searches in the team searchbox will look for matches in team names, team notes, any pet names and any targets saved with the team.

Pets

The Pets tab contains a pet browser and a leveling queue.

Just about anyplace you see a pet, you can double-click it to summon the pet, or dismiss it if it was already out.

The "tooltip" for pets is a pet card with stats:
- Hold Alt to flip the card over for more about your pet.
- Click the pet to lock the card in place so you can mouseover abilities.
- When the card is locked it has a wooden frame around it. You can unlock it several ways: clicking one of the little screws in a corner, clicking the pet again from where you locked it, hitting ESCape or any other major interaction with the addon.
- You can shift+click pets and abilities to chat.

Some advantages the built-in pet browser has over the default pet journal:
- You can search the names of abilities or text within abilities.
- You can search for level and stat ranges.
- In addition to filtering pets by type, you can filter by 'Strong vs': if you filter Strong vs Dragonkin, it will list all pets with Magic attacks.
- You can also filter to pets that are Tough vs a type of attack: filtering Tough vs Elemental will list all critters.
- A 'Type Bar' to filter by the various types without going through the dropdown menus.
- A counter at the bottom of the browser tells you how many pets are listed: search level=25 and you'll see how many level 25 pets you own.

To clear filters, you can click the little X button in the search box or the type bar, or you can click the X along the bottom when filters are applied.  You can also click 'Reset All' within the filters menu.

Searches

In the search bar of the pet browser, you can not only search for names of pets and their source, but you can also search for:

- Names of abilities ("Call Lightning")
- Text within abilities ("Bleed")
- Level ranges ("level=25" or "level>10" or "level=8-13")
- Stat ranges ("health>700" or "speed=250-350" or "power>=276")

Also:

- Searches are not case sensitive. "Bleed" will work just as well as "bleed" or "BLEED".
- You can hit "Fill" on the leveling queue to add one of each species from your search results to the leveling queue.
- When you look at the pet card, abilities that contain the search text will be marked with a gold ring.
- You can also search levels, stats and text simultaneously:
"bleed health>700 level<25" : Pets with Bleed in text that have over 700hp and are under 25.
"level<25 bleed health>700" : Same thing. The order of search isn't important.
"health>700 <25 bleed" : Same again. If a stat doesn't appear with a < > or =, it assumes level.

Leveling Pets

Thanks to suggestions from Behub, Aloek and others, Rematch has a robust system to make leveling pets easy.

In the Pets tab there is a leveling slot with a shiny gold border. You can drag a pet there to mark it as your leveling pet. (You can also right-click a pet elsewhere like in the journal and choose 'Start Leveling')

- Any teams saved with pets from the leveling pet will reserve those pets' slots for future leveling pets.
- When you see a shiny gold border around a pet anywhere in Rematch, it means that is a leveling pet.

So if you save teams for various tamers with a leveling pet, when you return to those tamers later with a different leveling pet, it will load that new leveling pet in their saved places.

The Leveling Queue

In addition to the gold-bordered leveling slot, there is a leveling queue beneath the slot where you can store any number of pets you intend to level.

- The top-most pet in the queue will always be the same pet that's in leveling slot. Always.
- You can double-click any pet in the queue to move it up to the leveling slot, making it your active leveling pet.
- You can also re-order pets in the queue by dragging them around or by right-clicking a pet and using the move options.
- As soon as a leveling pet reaches 25 (grats!) it will leave the queue.  If there are any leveling pets waiting, it will swap the top-most pet into the leveling slot.
- If a team is saved with more than one leveling pet, the top-most pets will be loaded for those slots.

From the gear button to the right of the leveling slot you can:
- Sort the queue by level: Ascending (level 1 to 25), Median (closest to level 10.5), Descending (25 to 1), Type (Humanoid then Dragonkin etc), or Time (earliest pets added to the queue to latest).
- If Active Sort is enabled, then the pets are kept sorted and they can change position as pets gain xp or get added to the queue.
- You can also fill the queue from pets in the browser. For instance, search "21-24", filter for Rare and hit Fill Queue to add 21-24 rare pets to the leveling queue.
- Empty the queue. It will ask for confirmation before clearing the queue.

Leveling Pet Preferences

The queue is also able to prefer some pets over others.
- If a queued pet is one your character can't load (like a wrong-factioned Moonkin Hatchling), it will skip over that pet and prefer pets you can load.
- In the main options panel you can check "Prefer Live Pets."  This will make living pets load before any dead ones.
- Pets that are not preferred will be darkened in the queue.
- If preferred pets can't be found to fill all leveling slots, the top-most pets in the queue not already chosen will be used to fill the remaining slots.
- You can globally disable preferences by checking 'No Preferences' in the queue menu.

You can also save teams with some leveling pet preferences that are active only while that team is loaded.
- When saving a team with a leveling pet, a button in the lower left will allow you to expand the window to assign leveling pet preferences.  These include:
  - Minimum Health: Any pets with at least this much maximum health will be preferred. (Injured pets will use their maximum health for consideration)
  - or any Magic & Mechanical: These two types can survive one hit. For opponents that would only get one swipe at your leveling pet, this option will allow all magic and mechanical pets to be preferred.
  - Expected damage taken: Choosing a type of damage expected will adjust the minimum health for some pet types. For instance if you expect Dragonkin damage, the minimum health of Magic pets is increased by 50% and the minimum health of Undead pets is reduced by 33%.
  - Maximum Level: Any pets above this level will be skipped, to save from lost xp.  Note that the level can be a partial amount: 23.45 is level 23 and 45% towards the next level.
- To change the leveling preferences of an existing team, right-click a team that contains a leveling pet and choose 'Leveling Preferences'.
- Teams with a preference will have a leveling icon to the right of their name. Mouseover of this button will show the preferences in a tooltip. Clicking the button will summon a dialog to change preferences.

Sharing Teams

There are two ways to share teams when you right-click one in the Teams tab:

Send: This will send a team to someone online on your faction or to a battle.net friend.
- When a user receives a team that you Send, they'll receive a popup displaying the team with the option to save it.  If they're in combat or they have another team waiting (or a similar dialog up) it will inform you that they're busy and you should try again later.
- In options you can choose to block incoming pets if you'd like.

Export: This will create a text string that you can copy to the clipboard.
- You can paste the team anywhere else: in an email, on forums, in a text file, etc.
- Any other Rematch user can use this string to Import the same team. The Import button is to the left of the search bar in the team tab.

If you receive or import a team that includes pets you don't have, that's fine. They'll be greyed out and only the pets you have will attempt to load. You can keep the team as is for the day when you get the pet, or you can choose to save over it if you find a suitable substitute for the missing pet.

Other addons

A major goal with this addon was to make it behave well regardless of what other battle pet addons you're using.

In some cases, it even takes advantage of the awesome addons others have created. For instance:
- If you have the addon Battle Pet Breed ID enabled, pets will display breed information. If you click a pet and mouseover its stats, you can see all possible breeds for the pet.
- If you use PetTracker_Breeds (or LibPetBreedInfo) for breeds instead, it will pull breed info from those addons too.
- If you have the addon Pet Battle Teams enabled, there will be a button at the end of options to import your teams from PBT.
- If you choose to continue using PBT alongside Rematch (many do!), make sure you lock your PBT teams or auto save in PBT is disabled. The default behavior of PBT is to change the pets in your currently-selected team to whatever is loaded.
- If you have a Broker infobar addon, it will create a button on your bars to toggle Rematch.

Future plans

Right now I'm working on Rematch 4.0 which will have a completely new UI. Goals with the revamp:

- Less dense UI: Lists and buttons should not feel cramped.
- Less cumbersome UI: There's too much collapse/stretch business that get in the way of the important functions of the addon. Loading a team should be a one-click effort.
- Integration with the default pet journal: This is more of a replacement than integration, but looking up pets and creating teams will be done in the journal.
- Update UI widgets: Larger buttons, more consistent style across elements, less gratuitous use of frames.
- Trimming of superfluous extras: The leveling carousel will probably go, sorry! It was fun to make but it's too many frames to justify its infrequent use. The independent horizontal/verticle resizing will likely be going too.
- Greater emphasis on saving for targets: A new panel will display your recent target from where you can either save a team for that target or load its saved team.
- Large sections of the addon are being rewritten for a better foundation for future changes.
- All teams, queues and settings will seamlessly work in the new addon.

This is a very large undertaking that may take a while, so any changes to the live version of Rematch in the meantime will likely be minor. But I'm still open to suggestions and of course please comment any and all bugs you encounter.

Beyond 4.0, the plans for Rematch are listed below roughly grouped into three priorities:

Short term:
- 4.0 as listed above

Mid term:
- Set leveling preferences for a whole tab.
- Minimum level preference for queue.
- Update sharing teams:
  - Include notes and preferences in Import/Export/Send/Receive of teams.
  - Battle.net support for sharing teams.
- A method of tagging pets, owned or not, with custom tags.
- Mark a team tab to be used with the minimap button.
- Multiple search terms for pets.
- A "favorite filters" system.
- Allow multiple targets to be stored in the same team.

Long term:
- Possibly a way to adjust maximum level preference for queue.
- Understudy pet slot on the pet card for loading an alternate pet if that pet is dead or injured.
- Possibly some method of choosing alternate teams if the saved team has dead or injured pets.
- A "team builder mode" that lets you slot pets you don't own or abilities pets can't use yet.
- A help or tutorial system.

If you have any comments, suggestions or bugs to report feel free to post them here in the comments. Thanks!

Special thanks to those providing translations to other clients!
deDE: Tonyleila at wowinterface and Zreptil at curse
zhCN: Zkpjy at wowinterface
zhTW: Leg883 at curse
esES and esMX: Phanx at curse
If you would like to help translate Rematch into other languages, please see the localization template file.
