DIM
DIM copied to clipboard
Records Tab certain exotic weapons missing unless already acquired
DIM Version
Version 7.65.1.1002546 (beta), built on 4/29/2023, 9:10:50 PM
Browser Details
Edge 112.0.1722.64 and Opera 97.0.0.0
OS Details
Windows 10
Describe the bug
As the title says, some exotics are not showing up unless acquired which also skews the "total" shown.
Above are 2 screenshots from 2 of my friends both showing different totals. According to Braytech, the totals should be 38/40/29 for the 3 slots but what is shown in DIM seems to match what's shown in-game at least. I'm not sure if it would be possible to fix this without hardcoding it but it may be worth taking a look. Seems to be the same problem that caused #4336 from checking it on my new light account.
Logs
No response
Just coming back to this for a little. Assuming that this is indeed a Bungie limitation when querying a profile's info (which it likely is considering it matches the in-game values), would it be possible to instead have a global "full collection" dataset that the Collections tab could consider as the total? I'm not entirely sure if that's something that is feasibly automatable but just putting the idea out there in case it is.
The numbers are calculated by DIM, the data for these exotics is in the defs -- I think it's just that DIM follows the in-game reported visibility status very closely with no real exceptions.
Personally I do agree it'd make sense for DIM to make an exception here and show all exotic weapons, especially for the somewhat insane Guardian Rank 9 requirement to collect 85/107 exotic weapons. The exception would need to live somewhere around here https://github.com/DestinyItemManager/DIM/blob/f8620fff5438ad4519d51f344b3f2509e4fb0c7c/src/app/records/presentation-nodes.ts#L285-L293
Correct me if I'm wrong as I haven't messed with the D2 API much but the cause should be the second condition in the if statement, right? That the API marks the item as invisible to the player.
If that is the reason, adding another toggle (like in the screenshot) that could remove/circumvent that check might be a better option.
I'm not sure we want to add a toggle for this -- there are a large number of irrelevant emblems/shaders etc. that'd start showing and we'd have to hide them manually anyway if a toggle were added, and if we agree that showing all exotic weapons is the right thing to do, it should be the default behavior without the need for a toggle.
Fair enough. I don't really have any strong opinions on this as I have other apps to look at those items if I really needed it. Just wanted to put the idea out there.
This was a decision from talking with the Bungie.net folks back in the day. The idea was that some records would be hidden because they were no longer obtainable, and it was not a good idea to trigger people's collection-OCD over things they can't obtain.
Gotcha. I guess the original intention just ended up being pretty inconsistent with their internal tagging in the long run then. Thanks for all the info regardless of where this will all go!
So looking at the data, it turns out there are already two collectibles for Revision Zero, and two collectibles for Vexcalibur (each referencing the same item hash), and naively ignoring the unlock status would show both.
This is why we can't have nice things. I guess it would be possible to run a check in case multiple collectibles with different unlock statuses reference the same item but idk. I know Tom had some trouble with this exact thing with Braytech.
guess i have kind of doomed my "why are we ignoring bungie visibility" argument by implementing fake extra collections entries. still, i am hesitant to let our X out of Y fractions show different from in-game bc of the inevitable confusion and questions.
also, maybe we should have a string/banner in the item popup, warning when collections entries are fake or otherwise different from what bungie displays