@@ -775,6 +775,7 @@ table.insert(data.uniques.generated, table.concat(boundByDestiny, "\n"))
775775function buildTreeDependentUniques (tree )
776776 buildForbidden (tree .classNotables )
777777 buildKeystoneItems (tree .keystoneMap )
778+ buildFoulbornSkinOfTheLords (tree .keystoneMap )
778779end
779780
780781function buildForbidden (classNotables )
@@ -892,6 +893,66 @@ function buildKeystoneItems(keystoneMap)
892893 table.insert (data .uniques .generated , table.concat (impossibleEscape , " \n " ))
893894end
894895
896+ function buildFoulbornSkinOfTheLords (keystoneMap )
897+ if not data .foulbornMap or not data .foulbornMap [" Skin of the Lords" ] then return end
898+
899+ local fbMods = data .foulbornMap [" Skin of the Lords" ]
900+ local excludedPassiveKeystones = {
901+ " Chaos Inoculation" ,
902+ " Necromantic Aegis" ,
903+ }
904+
905+ local isKeystoneNative = function (node ) return node .isKeystone and not node .isBlighted and node .x ~= nil end
906+
907+ local keystones = {}
908+ local seen = {}
909+ for _ , node in pairs (keystoneMap ) do
910+ if isKeystoneNative (node ) and not isValueInArray (excludedPassiveKeystones , node .name ) and not seen [node ] then
911+ table.insert (keystones , node .name )
912+ seen [node ] = true
913+ end
914+ end
915+ table.sort (keystones )
916+
917+ local item = {}
918+ table.insert (item , " Foulborn Skin of the Lords" )
919+ table.insert (item , " Simple Robe" )
920+ table.insert (item , " Has Alt Variant: true" )
921+
922+ -- Variant declarations: keystones first, then Foulborn mutation mods
923+ for _ , name in ipairs (keystones ) do
924+ table.insert (item , " Variant: " .. name )
925+ end
926+ for _ , modLine in ipairs (fbMods ) do
927+ table.insert (item , " Variant: " .. modLine )
928+ end
929+
930+ -- Default selections: first keystone + first Foulborn mutation
931+ table.insert (item , " Selected Variant: 1" )
932+ table.insert (item , " Selected Alt Variant: " .. (# keystones + 1 ))
933+
934+ table.insert (item , " Implicits: 0" )
935+
936+ -- Base mods (same as regular Skin of the Lords)
937+ table.insert (item , " Sockets cannot be modified" )
938+ table.insert (item , " +2 to Level of Socketed Gems" )
939+ table.insert (item , " 100% increased Global Defences" )
940+ table.insert (item , " You can only Socket Corrupted Gems in this item" )
941+
942+ -- Keystone mods (variant-tagged)
943+ for index , name in ipairs (keystones ) do
944+ table.insert (item , " {variant:" .. index .. " }" .. name )
945+ end
946+
947+ -- Foulborn mutation mods (variant-tagged, after keystones)
948+ for idx , modLine in ipairs (fbMods ) do
949+ table.insert (item , " {variant:" .. (# keystones + idx ) .. " }" .. modLine )
950+ end
951+
952+ table.insert (item , " Corrupted" )
953+ table.insert (data .uniques .generated , table.concat (item , " \n " ))
954+ end
955+
895956-- That Which Was Taken
896957local thatWhichWasTaken = {
897958[[
0 commit comments