
Machine Defense Unit 1-11 uses wrong object ID for container
rdw-software opened this issue ยท 2 comments
Source: WowAce
With the latest version of the addon, opening the Awakened Caches upon completion of the machine awakening scenario is giving too much credit for attempts toward the mount. According to Wowhead, only a single object (https://www.wowhead.com/object=464938/awakened-cache) can drop the mount - this is the one for doing all 20 waves.
Instead, multiple opens of the different caches are counting toward mount progress. For an accurate count, this means manually going in and adjusting down the number of attempts.
Rarity doesn't actually use object IDs to detect game objects, but rather tooltip scanning (based on the object's localized name). Unfortunately, that means there's no way to differentiate between the caches by their ID. There was no wowhead data suggesting they'd need to be treated differently and the implementation is based on user reports, because I have no way to test the detection ingame (nor access to TWW content in general).
If there's a way to retrieve the object ID when opening containers, the detection can be improved. However, I'm not aware of one.
One vague idea I did have:
Since wowhead seems to be tracking what players received from opening the containers, and they use an addon (called "wowhead looter") for this, there should in theory be a way to figure out what they're doing and reproduce the relevant parts in Rarity.
This might warrant an investigation, although I don't think I'll have time to tackle this anytime soon. Maybe someone else will ;)
It's actually much simpler than I had originally thought: On LOOT_READY
, Rarity already checks the "NPC" GUID.
Currently the handling is skipped if the object isn't one tracked via SPECIAL
code, but that's an easy fix (ignore target
).
I'm not sure how reliable this method will be, but it's probably not worse than the current approach in this regard?
In the long term, it might be worth generalizing GUID checks and simply storing the wowhead IDs in the database:
["Machine Defense Unit 1-11"] = {
cat = CONSTANTS.ITEM_CATEGORIES.TWW,
type = CONSTANTS.ITEM_TYPES.MOUNT,
method = CONSTANTS.DETECTION_METHODS.WORLD_OBJECT, -- Or similar
objectId = 464938, -- https://www.wowhead.com/object=464938/awakened-cache
name = L["Machine Defense Unit 1-11"],
itemId = 223269,
spellId = 448188,
chance = 5,
coords = { { m = CONSTANTS.UIMAPIDS.THE_RINGING_DEEPS } },
},
Some other things worth considering:
- Does it work the same on Classic Era/Cataclysm as well? (e.g., AOE vs. single target looting)
- Is the spell tracking required for this method? If not, it could be simplified (for this case; but not fishing/opening?)
- Is there any way this could fail? If yes, maybe a fallback using tooltip scanning or quest completion would be needed
- The GUID format may have changed at some point (?), don't remember exactly - worth researching, just in case
Even a quick fix for this particular item would be useful so that people can test it ingame. Everything else can be done later.