@@ -557,14 +557,16 @@ export function fitMostMods({
557557function getArmorSocketsAndMods (
558558 sockets : DimSockets | null ,
559559 mods : readonly PluggableInventoryItemDefinition [ ] ,
560+ assumeArtificeUnlocked = false ,
560561) {
561562 const orderedSockets = getSocketsByCategoryHash ( sockets , SocketCategoryHashes . ArmorMods )
562563 // If a socket is not plugged (even with an empty socket) we consider it disabled
563564 // This needs to be checked as the 30th anniversary armour has the Artifice socket
564565 // but the API considers it to be disabled.
565566 . filter (
566567 ( socket ) =>
567- socket . visibleInGame &&
568+ ( socket . visibleInGame ||
569+ ( assumeArtificeUnlocked && socket . emptyPlugItemHash === 4173924323 ) ) &&
568570 socket . plugged &&
569571 // TODO: Edge of Fate: This is a hacky fix for the masterwork socket
570572 // that has appeared. We should maybe exclude it from the socket list
@@ -678,7 +680,7 @@ export function pickPlugPositions(
678680 return assignments ;
679681 }
680682
681- const { orderedSockets, orderedMods } = getArmorSocketsAndMods ( item . sockets , modsToInsert ) ;
683+ const { orderedSockets, orderedMods } = getArmorSocketsAndMods ( item . sockets , modsToInsert , true ) ;
682684
683685 for ( const modToInsert of orderedMods ) {
684686 // If this mod is already plugged somewhere, that's the slot we want to keep it in
0 commit comments