Rematch 2.0 beta

The beta version you get from the download link to the right is an older version. I don't recommend downloading this beta version.

If you have a beta version, I still recommend downloading the live release linked above since the latest update had a few minor fixes.

Thanks to everyone that helped!

Rematch is an addon to help store, recall and share battle pet teams.

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

When you target Aki the Chosen, bring up the Rematch window and hit Save, it will record under her name the pets you have out.

When you return to Aki another day, you can target her, bring up the window and hit Load to bring those pets back.

__ New in 2.0 __

Redesigned and polished UI.

A pull-out drawer to see all your saved teams.

Save custom teams that are not tied to a target.

Send your saved teams to other users.

Export/import teams as copy-pastable strings for/from other users.

Saved teams will display types they're strong against.

Buttons for Revive Battle Pets/Bandages on the window.

Auto Load option to automatically load teams without needing to open the window.

Keep Companion option to summon back companion pets after a load.

NPC ID awareness so you're not getting a popup for every Lorewalker Cho in the world.

Other options and details.

__ Changes for 1.x users __

If you installed this update while logged in to WoW you'll need to restart the game. This update has new files that won't be recognized on a /reload.

All your existing teams for targets still work, but this update includes some NPC ID awareness. It's not necessary but you may want to re-save your teams the next time you visit your saved targets.

Don't panic. Despite *A LOT* being added to this addon, its footprint is still compact, especially for all that it can do now.

__ How to Use __

You can summon the window a few ways:

Set a key binding in the default key binding interface.

Use the /rematch command.

Have 'Auto Show' checked in options and target something for which you have a saved team that's not already loaded.

As mentioned at the top, this addon's primary purpose is to save for targets. Target an NPC, click Save, and a team is saved for that target.

If you don't have an NPC targeted, clicking Save will ask for a name for the team.

If you name a team the same as a player, it will react to that player just like an NPC.

You can bring up a list of teams you've saved by clicking the pullout button at the bottom.

__ Sharing Teams __

There are two ways to share battle pet teams after selecting a team from the pullout drawer:

The Send button to send a team to someone online on your faction and realm.

The Export/Import buttons to create a WeakAuras-like text string that you can copy/paste.

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.

Note: Battle.net and RealID are not supported yet by the Send button, sorry. It will happen in a future version.

__ Miscellaneous __

The "tooltip" for pets is a card with stats. Hold Alt to flip the card over for more about your pet.

When a team is selected, the little window to the right of your saved pets lists the types your team is strong against, sorted by the number of strong attacks loaded on your team. Abilities that don't attack are excluded.

If you're leveling a pet, you can check the 'Keep First Pet' option--or click the lock in the corner of the first pet--and loading a team will not swap out the first pet.

Teams with white names have an NPC ID stored in them to focus its target awareness to that NPC ID. If they have a gold name then any target of that name is considered its target.

This addon will peacefully co-exist with all other battle pet addons. It will even pull breed information from Battle Pet Breed ID if you have that addon installed.

You can shift-click pets and abilities to chat like you can from the pet journal.

To make a backup or copy of a team under a different name, load the team and then save it with no NPC targeted.

You can manually edit the names at the start of an import string to save it under a different name.

The Escape key will pull back most panels opened within the addon. For instance, if you pull up the Rematch window, open the drawer and go into options: hitting escape will return to the drawer, hitting escape again will collapse the drawer, and hitting escape again will close the window.

Clicking a pet or one of its abilities will jump to that pet in the Pet Journal. You can also shift+click pets and abilities into chat.

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

XP bar will make this release. There was enough room to squeeze it in. If the pet is below 25 it will show hp+xp bars, and just hp bar at 25. I'll have an update posted in a few hours once I test how reliably events are firing to move it. Great idea, thanks again!

Being able to lock any of them is very doable. Probably not for this update but I'll mark it down for next.

Is that lock in the corner of the first pet obnoxious? I kind of moved it further out so it wasn't in the way. It'd be trivial to put a lock on all three pets and you could lock/unlock them individually.

If it's obnoxious, right-clicking would work too.

And the xp bar...that makes so much sense to be right on the window there's no excuse not to have included it yet. I'll see about putting an xp bar on the current pet.

As far as the dragging the levelling pet to a levelling slot, the future evolution of this addon will let you change pets/abilities right on the current pets section. I wanted a full loadout+browser for that to happen, but we'll see.

I think part of it is 1.x was entirely in lua. Back then I didn't have time to write the full pet journal replacement+targeted team manager I wanted to do, so rematch 1.x was tossed together to make it easier to do pet battles in the meantime. Complex UIs are easier to visualize and code for me in xml, but since I knew 1.x would be small I also wanted to experiment with a small detailed UI in lua.

Anyway, since then I've been working on a pet journal replacement but was working from browser->loadouts->teams direction. It uses a lot of xml, including the FloatingPetCard which was mostly standalone. With the celestial tournament the need to share teams has been greater so it was decided to go teams->loadouts->browser. With that in mind, 1) there'd be xml in this version, 2) some of it would be pre-existing and mostly standalone (FloatingPetCard), 3) RematchFrame wouldn't be the parent frame for everything (there'd be a separate one for incoming pets and eventually for the loadout and browser too; but the loadout concept has morphed a bit). In the end I just kept the addon namespace to cover everything and made a lazy reference to the global frame.

So yeah, no adequate answer. I'll plead insanity. But thanks for bringing it up! This addon will get major code cleanup this week and I'll definitely consider it while tidying up.