Fashion loadouts cannot remove shader from armor with non-default singleInitialItemHash shader
See original GitHub issueDIM Version
Version 6.99.1.1001183 (beta), built on 10.1.2022, 09:41:11
Browser Details
Firefox 95.0.2
OS Details
Windows 10
Describe the bug
I think the problem is that Annealed Shaper Robes’ shader socket has a singleInitialItemHash
referencing the New Age Black Armory shader, so loadout application doesn’t consider the default shader available. The “default shader” plug isn’t enabled by the shader plug set, but rather by the item/inventory response, so loadout application and fashion drawer don’t consider it available.
Here the default shader is selected but dimmed out because it’s not considered available.
Logs
[loadout] Apply loadout Fashion1 to Human Warlock
[loadout mods] Mods to apply Array []
[loadout mods] all mods are already there. loadout already applied
[loadout mods] Mods applied 2 2
[loadout] Apply loadout Fashion2 to Human Warlock
[loadout mods] Mods to apply Array []
[loadout mods] Applying Array [] to Verity's Brow
[loadout mods] Applying Array [] to Gloves of the Hezen Lords
[loadout mods] Applying Array [ {…} ] to Annealed Shaper Robes
[loadout mods] Applying Array [] to Tread of the Hezen Lords
[loadout mods] Applying Array [] to Phoenix's Fire
[loadout mods] Mods applied 1 2
[loadout] failed loadout
Object { phase: 8, equipNotPossible: false, itemStates: {…}, socketOverrideStates: {}, modStates: (2) […] }
equipNotPossible: false
itemStates: Object { 6917529503504855333: {…} }
6917529503504855333: Object { item: {…}, equip: true, state: 1 }
equip: true
item: Object { owner: "2305843009404625776", destinyVersion: 2, hash: 2011267747, … }
state: 1
<prototype>: Object { … }
<prototype>: Object { … }
modStates: Array [ {…}, {…} ]
0: Object { modHash: 702981643, state: 2, error: undefined }
1: Object { modHash: 4248210736, state: 1, error: DimError }
error: DimError: Mod didn't fit on your current armor
modHash: 4248210736
state: 1
<prototype>: Object { … }
length: 2
<prototype>: Array []
phase: 8
socketOverrideStates: Object { }
<prototype>: Object { … }
<prototype>: Object { … }
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Wait, so you can't remove shader from an armor item now?
Dawn Chorus is bugged and can't unequip shaders. ... You can still access the shader menu from an individual armor piece and remove...
Read more >How do i remove a shader component? - Unity Forum
A simple cube. Then i realized that i don`t need a shader for a invisible object. And tried to remove it. But i...
Read more >bungie-api-ts/interfaces.ts at master - GitHub
If this item can have stats (such as a weapon, armor, or vehicle), ... If True, the material will be removed from the...
Read more >Bungie.Net API
These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video ...
Read more >Destiny 2 - Bungie
Remove Shader Inventory and Make Shaders Appliable and Previewable From ... Shader will look like on the new armor ornaments from Eververse.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Side note, that even the
singleInitialItemHash
isn’t always enabled can be seen in Masterworks, e.g. the plug picker (SocketDetails
) thinks a Range 1 MW could be inserted into my Hothead. There’s in general a bit of a conflict between what the plug picker thinks and what loadout application thinks and it’d probably make sense to teach the plug picker to think like loadouts, which could catch these issues more reliably.Good catch. We could do something smarter there - originally those got cleaned out because it’s a lot of redundant data since plugsets became a thing.