^

RETAIL

CLASSIC

Using Rematch + Pet Battle Scripts

This guide explains how to use Pet Battle Scripts together with Rematch

If you want to learn how to write TD Scripts, you can click this link with instructions for it: Writing Pet Battle Scripts.

1. Required AddOns



Rematch (see in the last part of this guide how to make the addon compatible with MoP Classic)
Pet Battle Scripts

Also you’ll need a source from which you can get strings and scripts prompt and easy.
Fortunately, this site is just the right one for that task.
Every strategy automatically offers a Rematch String and those that are marked with the respective Tag also provide a Script.
Hint: when a strategy doesn’t include a script on its own, there is a good chance somebody in the comments is sharing one.


2. Importing Rematch Strings






1. Open the Pet Journal ingame. On the right edge, you’ll see one or multiple tabs (which you can edit). Now right click on the tab in that you want to import a certain team.
2. Now left click on “Import Teams”.
3. A window will open in which you can insert a Rematch String.


3. Obtaining a Rematch String from Xu-Fu






1. Go to the desired strategy on https://classic.wow-petguide.com/.
2. Now left click on the button “Rematch String”.
3. Act as described above and then import the already saved string in the open window.
4. Click “Save”.


4. Importing Pet Battle Scripts






1. Right click on the saved team ingame.
2. Left click on “Write script”.
3. A window opens to either write or insert a script.


5. Obtaining scripts from Xu-Fu






1. Scripts are imported by default along with the Rematch String, but if you only want to import a script, go to the desired strategy on https://classic.wow-petguide.com/.
2. Now left click on the button “Script”.
3. Act as described above and then import the already saved script in the open window.
4. Click “Save”.


That’s it!




When you face the corresponding encounter, Rematch will now automatically (depending on your settings) load the right team and will also enable you to press just one button (by default A) to play every turn.


6. Make Rematch compatible with Classic



Rematch’s author, gello, holds the exclusive distribution rights to Rematch and hasn’t released a specific version of Rematch for Classic. However, most of Rematch’s features work fairly well, albeit with a lot of Lua errors.

But it’s possible to improve all of this and achieve error-free operation (there will still be a transparency issue around the edges of the add-on window, but it’s not a real issue). On Curseforge, Glaives provided a list of the steps to perform (and Adal added an additional fix):

1. Download the latest version of Rematch (version 5.2.11 at the time of writing) and install it in your MoP Classic Addons folder.

2. Using a text editor*, make the following changes:

Rematch/chrome/toolbar.lua:250

replace

local startTime,duration = C_Item.GetItemCooldown(id)

with

local startTime,duration = C_Container.GetItemCooldown(string.gsub(id, "item:", ""))


Rematch/info/targetInfo.lua:326

replace

local name = C_TaskQuest.GetQuestInfoByQuestID(questID) or C_QuestLog.GetTitleForQuestID(questID)

with

local name = C_TaskQuest.GetQuestInfoByQuestID(questID) or C_QuestLog.GetQuestInfo(questID)


Rematch/main/constants.lua:407-409

replace

SOUND_HEADER_CLICK = SOUNDKIT.UI_PROFESSION_SPEC_PATH_SELECT,
SOUND_DIALOG_OPEN = SOUNDKIT.UI_CLASS_TALENT_OPEN_WINDOW,
SOUND_DIALOG_CLOSE = SOUNDKIT.UI_CLASS_TALENT_CLOSE_WINDOW,

with

SOUND_HEADER_CLICK = SOUNDKIT.UI_PROFESSIONS_WINDOW_OPEN,
SOUND_DIALOG_OPEN = SOUNDKIT.TALENT_SCREEN_OPEN,
SOUND_DIALOG_CLOSE = SOUNDKIT.TALENT_SCREEN_CLOSE,


Rematch/templates/templates.xml

replace all Metal with DiamondMetal


Rematch/chrome/titlebar.xml:46

replace

UI-Frame-PortraitMetal-CornerTopLeft

with

UI-Frame-Portrait


Rematch/info/targetData.lua

delete lines 29 to 347 (line 29 is the line that contains "-- Isle of Dorn (2248)" and line 347 is just before the line that contains "-- Celestial Tournament (571)")

delete the first 5 lines after -- Pandaria (424)

delete the first line after -- Northrend (113)

delete the first 5 lines after -- Kalimdor (12)

delete the first line after -- Eastern Kingdom (13)

delete the second line after -- Darkmoon Island (407)

after -- Outland (101), the 5 lines starting with {101, should be replaced to start with {1467,


* Note: The important thing is to have a good text editor, and for that you have the choice, like BBEdit on macOS or Notepad++ on Windows. Visual Studio Code is also a popular, cross-platform editor.


Stvcobbs

wrote on 2025-09-20 23:36:48

Yes! The compatibility fix works (seemingly) GREAT.
After using the replacement text and the deletion of the prescribed lines, Rematch addon loads just fine.
Only thing I noticed is that the section of editing the file "Rematch/info/targetData.lua", while suggesting to "delete lines 29 to 347", that didn't work for me. I noticed that line 348 was also related to Draenor, and needed to deleted also. I looked at Glaives' post on curseforge, and it had the same "29 to 347".
Thank you for including this FIX, and thanks to Glaives for doing the work.
-`♡´- (edited)

Adal

wrote on 2025-09-21 11:28:22

Hi Stvcobbs

I just checked with Rematch version 5.2.11, "delete lines 29 to 347" is the correct instruction. I added clarifications to help locate the lines. Be careful not to have an editor that wraps text that is too long.

Stvcobbs

wrote on 2025-10-19 05:13:36

Thank you for you following up on my response. I agree that it was possibly due to line wrap and I wasn't in sharp focus to consider the problem was due to that. I keep forgetting that I do have Notepad++.
cheers

Colbey#1189

wrote on 2025-09-27 02:27:51

I have gone through this twice and I am assuming I am still missing something. I am getting bug sack chirps left and right
With all being 7x Rematch/chrome/toolbar.lua:1 Rematch/chrome/toolbar.lua:1: '=' expected near '_'
A black rematch panel screen when opened and more
6x Rematch/layout/frame.lua:244: attempt to index field 'toolbar' (a nil value)
[Rematch/layout/frame.lua]:244: in function <Rematch/layout/frame.lua:233>
[Rematch/layout/frame.lua]:319: in function 'Configure'
[Rematch/layout/journal.lua]:117: in function '?'
[Rematch/layout/journal.lua]:134: in function <Rematch/layout/journal.lua:133>
[C]: in function 'SetShown'
[Blizzard_Collections/Classic/Blizzard_Collections.lua]:39: in function 'CollectionsJournal_UpdateSelectedTab'
[Blizzard_Collections/Classic/Blizzard_Collections.lua]:67: in function <...lizzard_Collections/Classic/Blizzard_Collections.lua:62>
[C]: ?
[C]: in function 'Show'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:605: in function 'SetUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:450: in function 'ShowUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:317: in function <...IParentPanelManager/Classic/UIParentPanelManager.lua:313>
[C]: in function 'SetAttribute'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:1095: in function <...IParentPanelManager/Classic/UIParentPanelManager.lua:1074>
[C]: in function 'ShowUIPanel'
[Blizzard_UIParent/Mists/UIParent.lua]:610: in function 'SetCollectionsJournalShown'
[Blizzard_UIParent/Mists/UIParent.lua]:600: in function 'ToggleCollectionsJournal'
[Blizzard_ActionBar/Mists/MainMenuBarMicroButtons.lua]:270: in function <...Blizzard_ActionBar/Mists/MainMenuBarMicroButtons.lua:268>

Locals:
layoutName = "3-teams"
def = <table> {
view = "teams"
panelsUsed = <table> {
}
layoutName = "3-teams"
tab = "Teams"
height = 520
mode = 3
panels = <table> {
}
width = 844
}
chromeHeight = 58
chromeYOffset = 24

and it goes on and on and on for 165 lines :) (edited)

Adal

wrote on 2025-09-27 12:10:02

Got a mistake on line 1? In Rematch/chrome/toolbar.lua, you only need to edit line 250. I recommend starting over from the downloaded file. Make sure you use a text editor that doesn't change anything else without your knowledge.

Colbey#1189

wrote on 2025-09-27 19:35:30

I use text editor, but I am not having a line by line numerical heading, so I am alf+F to find the specific line. I will double check, thanks for the input
I DID double as well as line by line via pastebin, and I did that correctly
elseif cooldownType=="item" then
local startTime,duration = C_Container.GetItemCooldown(string.gsub(id, "item:", ""))
cooldown:SetCooldown(startTime,duration)
So I am goign to repalce the file with an unedited version, change again, and see if MAYBE I accidently added a charafcter somewher..like an F...from doing alt+f :) (edited)

Colbey#1189

wrote on 2025-09-27 19:43:58

So...yes
A straggler was there some where. I re-verivifed that I entered the lien correctly, renamed file, saved it for comparison, snagged an unedited form, Looked for SPECIFICS (The word Wrapper is 8 lines above the targeted line for the toobar.lau 250, copy, deleted, pasted...and it works. I ASSUMED it was somethign I did but I also realized it was so SMALL that I would hope that the above would point the way to my error, thanks for taking time to post. Now to figure out the scripts hehe

Adal

wrote on 2025-09-27 20:27:45

Don't search by keyword; "cooldown:SetCooldown(startTime,duration)" doesn't need to be changed at all, and the same goes for the other lines you mentioned.
A good editor I use on macOS is BBEdit.
On Windows, Notepad++ has a good reputation. Visual Studio Code is also a popular, cross-platform editor. (edited)

Colbey#1189

wrote on 2025-09-28 00:58:27

It did not get changed..i i. NM, thanks for the pointing, helped, all is well

New Comment:





































Name:

Link: