Rematch 4.0

Discuss your favorite pet addons and macros.
User avatar
Painbow
Posts: 79
Joined: February 14th, 2015
Pet Score: 5486
Realm: Mal'Ganis-US
Contact:

Re: Rematch 4.0

Post by Painbow » May 24th, 2017, 9:39 pm

Hi Gello.

So as of 7.2 we're no longer able to link pet abilities such as [Nut Barrage] in chat anymore, but I just figured out a way to be able to do it. You can link the abilities in chat by grabbing them from the pet battle window but that's the only way I know how. If you try linking from your pet journal, you get blue, unlinkable text as you see in the screenshot below

Image

Since the spells are actually in the game and linkable, is there any way we can be able to link the spells through the pet journal/rematch again? I ask because often when I try telling people why they want to use a Terrible Turnip for capturing wild pets, I link them Weakening Blow, but now I can't do that as easily. If not, no big deal I guess, but it bugs me Blizzard would make this arbitrary change and make it difficult for us to discuss pets and strategies in game.

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » May 24th, 2017, 9:52 pm

Someone on curse pointed this out to me today as a matter of fact. It's an interesting (and annoying!) bug. I made a [url=https://us.battle.net/forums/en/wow/topic/20754907209]quick post[/url] on the US bug forum about it also.

Basically the bugged link generated by the game is not including brackets around the ability name (it's Call Lightning now instead of [Call Lightning]) and the game thinks that's a malformed link. If I manually add the brackets, the link works again in chat. This is very weird to me since it's been pretty much accepted for a decade or more than altering links makes them un-chattable.

So it's a weird perversion that the reason the link isn't working is the reason altered links can't go across chat; but altering the link makes it work across chats. It's definitely a bug on Blizzard's end.

But the good news is this is fixable. A small update this weekend should correct this. If an ability doesn't have brackets it will insert them. If Blizzard later fixes the bug and they start having brackets on their own, Rematch will leave the link alone.

User avatar
Painbow
Posts: 79
Joined: February 14th, 2015
Pet Score: 5486
Realm: Mal'Ganis-US
Contact:

Re: Rematch 4.0

Post by Painbow » May 24th, 2017, 10:05 pm

Awesome. Thank you Gello! Woo hoo!

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » June 3rd, 2017, 10:58 pm

Just throwing this out there: Does anyone ever import "Plain Text" teams?

For instance if you Share->Export As Plain Text you get something like:
Aki the Chosen (NPC#66741)

1: Zandalari Kneebiter (1,2,1)
2: Clockwork Gnome (1,1,1)
3: Leveling Pet
Does anyone actually import from this format? (You can copy-paste that into the import dialog to import the team.)

The ability to export into plain text is not going anywhere, I'm curious if any would miss the ability to import in this format.

Ironically, this format was added because I saw very few of the string formats out in the wild. However, now I see lots of string formats out in the wild, but no plain text formats. I'm reworking the export/import/send/receive format and it'd make my life easier if the import of this plain text format went away.

And while I'm here, this is the old "string" format:
Aki the Chosen:66741:1180:110:919:364:277:384:278:710:0:0:0:0:

And this is the new format:
Aki the Chosen:215L:121A14S:111B8L:ZL:

Among its perks is the ability to match breeds:
- If the exporter has a breed addon enabled, each pet has the breed embedded into it the string.
- When someone imports the team, if they have a breed addon, it will prefer pets with the same breed.
- If a breed addon is not present while importing (or if it wasn't present when exporting) it will pick the highest level/rarity like it does in older versions of the addon.

The new format will also support random pets and ignored slots (but not right out of the gate; that will be in an update afterwards).

And if any are worried, all exported strings (in string format) ever made with this addon, from 2013 onward, will continue to work in the latest version of the addon even when the string format changes.

User avatar
Flohsakk
Posts: 188
Joined: July 19th, 2012
Pet Score: 9572
Realm: Blackhand-EU
Contact:

Re: Rematch 4.0

Post by Flohsakk » June 5th, 2017, 1:23 am

I was never using the plain text format for sharing teams ingame but it is nice to have it, because I can copy&paste it into written guides.

Regariding tdBattlePetScript what I did to get the pet ability IDs of my teams very easy was copying the string into the script annotations and delete all but the ability IDs. I still can do it with the legacy format, thanks for keeping it somewhere. Can you please explain the new format a bit?

Aki the Chosen:215L:121A14S:111B8L:ZL:
So looks like ":" still splits between Team Name:NPC ID:Pet#1:Pet#2:Pet#3

ZL seems to be the level pet slot, but where do these other characters come from?

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » June 5th, 2017, 5:48 am

Oops I didn't consider if this format would break other addons. If need be I can write up some something to bridge any issues. If you need, check 'Share In Legacy Format' under Team Options to get the old format back.

You're correct the format is Team Name:NPC ID:Pet#1:Pet#2:Pet#3: with : still splitting elements.

Each number--the npcID, breedID and the components of each pet--is 32-base. (Decimal uses digits 0-9, hexidecimal uses digits 0-F, 32-base uses digits 0-V.) Lua has a tonumber(num,32) to convert to its actual value, eg. tonumber("VV",32) returns 1023.

If an npcID is not present, instead of a 0 it just runs the :'s together, like: Capture Team::121A14S:2215DL:2123C85:

For the pets' format, this is from Process\PetTag.lua:

Code: Select all

   A PetTag is a short string to describe a pet and its abilities.

   The variable-length string is made of 32-base numbers in this format:

   000 0 0000
   ||| | |
   ||| | +- speciesID 
   ||| +--- breedID (0 to ignore, or 3-12)
   ||+----- ability 3 (0 to ignore, or 1-2)
   |+------ ability 2 (0 to ignore, or 1-2)
   +------- ability 1 (0 to ignore, or 1-2)

   Pet tags are stored in teams and used in import/export strings. When a petID
   ceases to be valid, or if a petID doesn't exist while importing a string,
   the tag is used to find the highest level/rarity of the described pet.

   This will remove the need for a sancutary, allow accurate backup/restore of
   teams, support breeds when exporting/importing teams, and solve the problem
   of Blizzard occasionally changing the abilities of pets.

   A few special case tags for export/import are prefixed by a Z:
      ZL:  Leveling pet
      ZI:  Ignored slot
      ZR0: Random pet (0 for any pet type, 1-A for a specific pet type)
      ZU:  Unknown
It says it used in teams but it's not quite yet. This PetTag was written to more compactly describe a pet enough that it can be recreated (for sharing teams, caging and relearning pets, and server-side petID reassignments) and still be broken down quickly with no garbage created.

Character 1-3 are abilities: You commonly see Pet 1,2,1 to describe what abilities to use. So the first three characters would be 121. Rematch turns the 1 and 2 into the appropriate abilityID. In addition to saving space, this also makes a clean adjustment when Blizzard shuffles abilities around like they did for Pandaren Water Spirit and such. If the abilities are not known or they should be ignored, the ability is 0 instead of 1 or 2.

Character 4 is breedID: The breedID is a single digit 3-C, or 0 if the breed is unknown or no breed addon was running at the time the tag was created.

Character 5+ is the speciesID: Again, translated to 32-base number.

User avatar
Flohsakk
Posts: 188
Joined: July 19th, 2012
Pet Score: 9572
Realm: Blackhand-EU
Contact:

Re: Rematch 4.0

Post by Flohsakk » June 14th, 2017, 7:10 am

Thank you!

Another question and again sorry if it's in your addon already... Is it possible to put a random level 25 pet into a specific slot (like the leveling slot but maybe without a "queue") and import/export?

Working with import strings I often see teams with 1 or 2 specific pets and a third max level pet to save the day if the other pet(s) fail.
Usually these strings use 1-2 leveling slots to put random pets in there and somewhere is written these have to be max-level pets. But with the leveling queue filled with level 1+ this is kinda dangerous. Especially when you have a AoE that splits on your team, kills 2 level pets instantly and next time your important pet with the full damage.

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » June 14th, 2017, 8:18 am

The random pet slot isn't implemented yet but it will be soon(tm). No promises but maybe by early next week. I plan to work on it in earnest this weekend. A lot of the necessary preparation stuff is done (new pet type/info, new loadout menus, import/export support, etc), and everything seems to be working well. But introducing a new working pet type is a fairly drastic and technical change so there could be problems still. And there's quite a bit of work to go still, like adding a pet card for random pets, need to explore coordinate system for team icons to avoid adding 10 new blps, etc.

If all goes well, you'll define a random pet like this:

Image

And it will fill that slot with a random high level pet of the chosen type (or any type, if chosen). High level is the highest level it can find for the type, and a random pet of that level.

Just like the leveling slot, if you save it, the slot will be reserved for a random pet. Sending/exporting will include the random pet, etc.

User avatar
Flohsakk
Posts: 188
Joined: July 19th, 2012
Pet Score: 9572
Realm: Blackhand-EU
Contact:

Re: Rematch 4.0

Post by Flohsakk » June 14th, 2017, 8:27 am

You da man! :D :!: Looking forward to this feature.

User avatar
Shingetsu
Posts: 155
Joined: November 3rd, 2014
Pet Score: 4288
Realm: Mal'Ganis-EU
Contact:

Re: Rematch 4.0

Post by Shingetsu » June 26th, 2017, 10:15 am

I am encountering a strange graphical bug at the moment.
The icons are kind of "squeezed". Any idea what might be causing this?

Image

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » June 26th, 2017, 10:33 am

Whoops. I know exactly what's causing it. The last update changed the image those icons are from and I neglected to change the compact list view to reflect the change. I'll have it fixed in the next update, possibly a small one tonight. Thanks for pointing it out!

User avatar
Flohsakk
Posts: 188
Joined: July 19th, 2012
Pet Score: 9572
Realm: Blackhand-EU
Contact:

Re: Rematch 4.0

Post by Flohsakk » July 11th, 2017, 10:34 am

Thanks for adding moveset search/filter, this is great!

User avatar
Drlambda
Posts: 64
Joined: May 8th, 2016
Pet Score: 5543
Realm: Arthas-EU
Contact:

Re: Rematch 4.0

Post by Drlambda » July 31st, 2017, 6:20 pm

Hey Gello, thanks for adding the random pet feature, it enables quite a few fun minigames.

I want to make a suggestion. See, i'm a statistic lover. I really like that you can automatically log the wins and losses of a team over time, but i'd also take it one, possibly two steps further.

The small suggestion i have is making it optional to not automatically logging battles that take less than a minute. I don't think my opponent dcing or running away after seeing my team should count in the statistics. The same is true when i decide that i should run away for whatever reason, because i probably have a good reason. Of course you could use this to "pimp" your statistics, but you can already do that by manual editing, so there's nothing lost here.

The big suggestion would be to add some way to historically collect data. FIrst of all, i have to keep any team i ever played with around somewhere if i want to see my correct lifetime statistics. Collecting that data seperately would allow me to delete teams i tested out and deemed unworthy. It would also be nice to automatically create monthly or whatever statistics, like a "restart statistics" button that lets you save your current stats somewhere, possibly with a name (Like "2017 July") and then restarts the count.

As an extension to that, it would be really fun to log which pets you were up against, how often, and how often you won and lost against teams containing that pet. This way, you could create a monthly or weekly metagame snapshot and give us pvpers something really interesting to discuss.

I know that i could do all of that manually (and that some people already do it,) but i'm a lazy bum that would probably forget to log something every other day, so i'm making this suggestion.
'
CloseToZero - Watch me lose on youtube with bad pets! :D

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » July 31st, 2017, 7:17 pm

The lower time limit is a good idea. If someone has the wrong team loaded and immediately bails it wouldn't count either. Though 60 seconds is maybe a long time, considering. I can conceivably see a legitimate fight end in less than 60 seconds. Not often, but it seems possible. There's an issue too of knowing whether the fight counted or not. There'd have to be a mechanism to let the user know whether the fight that just ended was included in the totals. Right now there's no mystery because all fights count. Maybe it can print something to chat. Would 30 seconds be sufficient? 15 seconds?

The big suggestion is a good candidate for a future plugin. In my free time I've been (slowly though with more speed lately) working on Rematch 5.0, which includes the ability for other addons/modules to easily add their own tabs/panels to the addon. It's rather far back in this thread, but more detailed tracking of wins suggested by Discodoggy was the impetus for this. I envision a separate addon that would add something like a Wins or History tab (in journal and maximized standalone views) and the separate addon could do its thing without being part of the main addon that all users would have to load. It could track the success of specific pets, or species, or teams of species, or specific teams, etc. But that's down the road still I fear.

User avatar
Drlambda
Posts: 64
Joined: May 8th, 2016
Pet Score: 5543
Realm: Arthas-EU
Contact:

Re: Rematch 4.0

Post by Drlambda » August 1st, 2017, 4:30 am

I agree that 60 seconds could be too long, it's just the value WoW uses to give you experience for a battle as far as i know. It would safely include the bug where you are unable to choose your starter pet plus the first round.

The new plugin idea sounds great. You see, i'm a software developer myself, and i figured i might be able to write a plugin that does all this things, but i'd not only have to figure out how the API works, but also basically redo a lot of work you already did. If you did an API of Rematch yourself, i could limit myself to the parts of the game that i really need, and i'm pretty sure that i'd try to figure everything out in that case.
CloseToZero - Watch me lose on youtube with bad pets! :D

User avatar
Painbow
Posts: 79
Joined: February 14th, 2015
Pet Score: 5486
Realm: Mal'Ganis-US
Contact:

Re: Rematch 4.0

Post by Painbow » August 31st, 2017, 3:35 am

I tell everyone that it is my belief that Rematch is the most impressive addon in World of Warcraft. It's just professional grade coding.

This might be a little too much but would it be possible to compare two pets side by side visually by chance? There are so many times I would love to have 2 cards open at the same time both with the ability to function appropriately so I can visually compare two different pets. Something like this.

Image

High res: http://i.imgur.com/ShXTJnQ.jpg

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » August 31st, 2017, 5:40 am

Painbow wrote:would it be possible to compare two pets side by side visually by chance?
Not very soon but eventually. The plan is that holding Shift (or the equipment compare modifier key) while one card is locked on screen will show a second card that can also be locked on screen; it's important to be able to mouseover abilities on both cards. Probably with an option to not require Shift so it always happens, but we'll see how annoying that is.

User avatar
Paladance
Posts: 999
Joined: July 18th, 2015
Pet Score: 8720
Realm: Burning Legion-EU
Contact:

Re: Rematch 4.0

Post by Paladance » September 4th, 2017, 6:19 am

Sorting by level doesn't support new pets well (combined two shots). :)
sorting.png
sorting.png (157.31 KiB) Viewed 2757 times
EDIT: Yes, that is what I mean. :)
Last edited by Paladance on September 4th, 2017, 12:24 pm, edited 1 time in total.
Image

Gello
Posts: 420
Joined: January 23rd, 2014
Pet Score: 4238
Realm: Hyjal-US
Contact:

Re: Rematch 4.0

Post by Gello » September 4th, 2017, 7:17 am

Paladance wrote:Sorting by level doesn't support new pets well (combined two shots). :)
To be clear, that's the non-battle pets (with no apparent level) mixing with the level 1s? That can be fixed.

Zobaka
Posts: 2
Joined: July 17th, 2015
Pet Score: 4625
Realm: Lothar-EU
Contact:

Re: Rematch 4.0

Post by Zobaka » September 16th, 2017, 3:43 am

hey there,
maybe you can help me with the rematch addon.
the option "ignore this slot" doesn't seem to work at all, it always loads the pet i last used in this spot, never leaving the box empty.
am i missing somthing?

Post Reply