Remember this post by jerry? Here's a quote for the lazy ones:
There's a new database called BannedAddOns.dbc in the MPQ. This database has 11 fields on the latest PTR build, none of which appera to be strings.
As to how they will detect the "signature" of an addon, they can hash the compiled lua stream, for instance, which would make getting around it more difficult than just adding spaces or renaming variables.
We also killed the addon, but we didn't want to do it without also trying to fix the problem it was trying to fix.
I think the context would be more to remove the need for the addon instead of outright ban it. They've usually categorically broken the functionality of an addon they don't like over pretty much everything else. I think GC is refering to fixing the mechanic that the addon is compensating for so that the addon doesn't help.
Note the word "also" that GC uses twice in his post. For the record, they are fixing rogue mechanics to make the addon obsolete. But it sounds like there's more to it. Plus the addon still serves a purpose in pvp.
The BannedAddOns.dbc seems to contain the baddons.wcf file (0x0014 to 0x01F7), which is extracted and put into Cache\WDB\<locale>\baddons.wcf at startup.
The newest baddons.wcf (from the current EU PTR Client) only contains "d41d8cd98f0b24e980998ecf8427e" (= md5 of an empty string) for all entries.
I think i was wrong with the last 4 bytes of an entry, these are now 0x0002 for all of them so they don't think they mark the last entry of the file. Maybe it's a version identifier incremented each time an entry is modified (pure speculation).
The unknown 4 bytes are now 0x49347A01 for every but the first and the last entry (which have 0x493479E8 and 0x49347AF9). This is the only thing that has changed comparing to the uploaded BannedAddOns.dbc from yoshimo. This one contains 0x49346BD8 for the first, 0x49346CE9 for the last and 0x49346BF1 for the rest. Maybe it contains a locale id.
PickupInventoryItem() is becoming protected... wow
Just means that instead of making our own equipment manager we have to hook into the default one to make it better. wow... game breaking... it what should have been done to begin with imo
Edit: Inital reaction little harsh..
However, after some testing in game with a few things i've found that the built in equipment manager combed with something like BindPad and some understood macro methods works rather well.
IE: the linked post has a situation where one is in WG fishing & you get put into pvp/combat. Changing your weapon out can be done with the equipment manager & a keybind in BindPad. Edit the macro to look like this:
Just means that instead of making our own equipment manager we have to hook into the default one to make it better.
No matter what you add to Oscar Meyer's bologna, you won't end up with Kobe steak. The builtin equipment manager is a nonstarter (imho).
Quote from Seerah »
I think this change was a mistake or an unintended side-effect of something else...
Lord, I hope it was something like an accidental paste of PickupInventoryItem into the master list of "APIs that can't be used by anybody else" before the PTR build was spun. There's no reason to make that kind of restriction.
Yes there is, they don't want you using it to make smart choices on swapping equipment like PoisonSwapper did. It's just that instead of being a blanket restriction, it should be in-combat only (or key press while in combat).
It stops it from happening in the future, keep in mind this is how pretty much everything has worked. People abused movement functions by making auto travel mods so they blocked it, then they did Decursive so they blocked that too. I don't think will see the API return as-is and would imagine they'll keep some form of lock on it, just not as restrictive as it currently it is.
if they kill the ability to PickupItem("Hearthstone") they should provide alternatives to allow proper functionality. Like DestroyItem("itemName", blnShowQualityConfirm), but I could see how that could be abused as well.
Equipment Manager for one aspect is fine.
But as far as addons like ShardAce, GarbageFu, or even generic macros, seems like a very heavy way to try to circumvent something that a macro can overcome much like decursive has.
/equipslot InvSlot item
All the addon would need to do is make a macro and then just /click it when needed.
Also what about the other pickups?