Account bound items are matched by rules where it shouldn't be
tflo opened this issue · 4 comments
Example: Warsong Spaulders
Dejunk wants to sell this because of 2 rules:
- Include Below Item Level (as stated in the tooltip as the reason)
- Include Unsuitable Equipment (I have to deactivate this one too to remove it from the junk list)
According to the rule tooltips, it shouldn't be matched by any of these 2 rules, since they both say that only soulbound gear is matched. And, of course, account bound gear is never "unsuitable", as long as I have alts with that armor type.
In addition, the item is flagged as 'cosmetic', and cosmetics are explicitly excluded from both rules (according to the tooltips).
Thanks for this otherwise excellent addon!
These kinds of armor and weapon items are getting matched because their subclass is not Cosmetic
or Generic
, even though their tooltips imply otherwise. There are only two real solutions I can attempt for solving this problem:
- Scan the tooltip for the "Cosmetic" or "Account Bound" strings, which is fairly taxing
- Maintain a forever growing list of cosmetic item IDs that should be ignored when performing checks related to these options
First solution is the easiest from a maintenance perspective, but it would eat resources and possibly cause FPS drops. Second solution would be a pain in the ass to maintain, but it would work well.
Also, regarding unsuitable equipment, it's not possible to determine if an item is soulbound vs account bound unless the tooltip is scanned (as far as my research could prove). So, if adding in tooltip scanning turns out to be feasible, then I'd probably just add new Exclude Account Bound
and Exclude Cosmetics
options.
I'll try to implement something good when I can, but it may take some time.
because their subclass is not Cosmetic or Generic, even though their tooltips imply otherwise
Yeah, I thought it was something like that. Damn Blizz, if they would ever do anything consistently, their item classification is a mess.
- Scan the tooltip for the "Cosmetic" or "Account Bound" strings, which is fairly taxing
I understand the concern. I have been using the Vendor addon for quite some time, and it does all that and more (tooltip scanning, for example).
But I'm trying Dejunk because I wanted something with a really small footprint, so I'm not in favor of that solution here either.
- Maintain a forever growing list of cosmetic item IDs that should be ignored when performing checks related to these options […] would be a pain in the ass to maintain
Yes, and since you'll (most likely) never catch all misclassified items, users will still have to add exclusions manually. A little less often, though.
But, at least for the ‘cosmetics’ problem, instead of relying on Blizz’s classification, you could do:
C_Item.IsCosmeticItem(113819) -- => true
At least this works with the example item from my post. I don't know if the function is always reliable. And unlike GetItemInfoInstant
, it needs server data (but should still be much more economical than scanning tooltips).
But for the ‘account vs. soul bound’ problem, I couldn't find anything either.