-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dummy-catalyst-mapping.json for mapping dummy catalyst items to actual catalyst items #603
Conversation
The other way I had tried implementing this was:
There didn't seem to be a significant perf difference between the two but this seems less... "correct" than matching based on Socket category and pulling socket.reinitializationPossiblePlugHashes. |
...Thoughts on renaming 'legacy' to 'dummy'? Separately, I plan to create a mapping for craftable catalysts, unsure how I want to go about that quite yet though (whether it should be like this from dummy hash -> real hash or if it should be from weapon -> [item hashes]) |
re: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this makes sense. I do agree that "dummy" is probably better than "legacy". It'd be great if you could run pnpm pretty
on this too (it should've done it automatically during commit, not sure why it didn't.
…ctual catalyst items This affects any of the older exotics that used to have "Upgrade Masterwork" and now have dummy items for the catalyst sockets. Bungie uses reinitializationPossiblePlugHashes to autoapply the actual catalyst item once it's completed, but the values available to be socketed in do not include the actual catalyst item, so this mapping is needed for D2 tools to be able to automatically grab the real catalyst item based on the dummy item present in the socket options for a given exotic.
Disabled the strict check and it went through (but also touched every file in the repo in the process; also touched the spacing on other methods in this file, so recommend looking at the diff with 'hide whitespace changes' now). @delphiactual this should be ready to go |
This affects any of the older exotics that used to have "Upgrade Masterwork" and now have dummy items for the catalyst sockets.
Bungie uses reinitializationPossiblePlugHashes to autoapply the actual catalyst item once it's completed, but the values available to be socketed on the exotic itself do not include the actual catalyst item, so this mapping is needed for D2 tools to be able to automatically grab the real catalyst item based on the dummy item present in the socket options for a given exotic.
Ideally, this would allow D2 tools to show/use the correct catalyst plug for 'compare' tools e.g.
![Screenshot 2024-04-29 at 5 33 25 AM](https://private-user-images.githubusercontent.com/2764675/326437120-fb829292-c5fa-45b7-9f1b-2a3396e71da9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMjgyNTcsIm5iZiI6MTcyMDAyNzk1NywicGF0aCI6Ii8yNzY0Njc1LzMyNjQzNzEyMC1mYjgyOTI5Mi1jNWZhLTQ1YjctOWYxYi0yYTMzOTZlNzFkYTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDNUMTczMjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWVlZWU3ZDUyNmYyMzk4ZjhiZDg1MjNmZWZmNzEwMmRhZjNkOGM1Yjc1MTEwMTljY2IwOTc2MTE0ZTEyOGQ1MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ._Jnf36N2rzpIoZGycvjEeHxdB9s7oxrMht0AyuDWM74)
![Screenshot 2024-04-29 at 5 34 21 AM](https://private-user-images.githubusercontent.com/2764675/326437442-2744a189-dbeb-493a-b878-aca77ce677db.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMjgyNTcsIm5iZiI6MTcyMDAyNzk1NywicGF0aCI6Ii8yNzY0Njc1LzMyNjQzNzQ0Mi0yNzQ0YTE4OS1kYmViLTQ5M2EtYjg3OC1hY2E3N2NlNjc3ZGIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDNUMTczMjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTE5MTBjMzlhMjVlZmNjMzUxYjViNmEyZWE3Y2Q0ODU1MTZmZjBiNjNjNzc4YzUwMmQ2MTlhNzlmZTAwYjZhYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.LnKXczp3j2YofVx4yXXmMi07a7WH6b6cL7f3kJu5mDw)
light.gg, this section (replacing the dummy item that doesn't provide the correct stats):
d2foundry, this section:
Since I already have the catalyst equipped/completed for all of my weapons, I was not able to grab an example for use in DIM, but I believe the following window currently shows no entries if the catalyst is not unlocked for one of the legacy exotics yet, and it may be useful to show a greyed-out entry of the actual catalyst with its proper effects instead:
![image](https://private-user-images.githubusercontent.com/2764675/326438374-d1ae0720-443f-469e-98fd-073bbe56d91e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMjgyNTcsIm5iZiI6MTcyMDAyNzk1NywicGF0aCI6Ii8yNzY0Njc1LzMyNjQzODM3NC1kMWFlMDcyMC00NDNmLTQ2OWUtOThmZC0wNzNiYmU1NmQ5MWUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDNUMTczMjM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGM5NDY5ZTdlNjQ5OWJkN2Q3ZmNiYTI4ZjAzYTA5NGU2MGIwY2FmYjY2ZjEwMmJjNmI1MWY0MTY4MzQ3NThiNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.DAKmzP7uoO0wwgIWdS1tClmvfg7cyVXtE-zqT0muSOY)