diff --git a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua index 39ffb7d081a..03a2afadc02 100644 --- a/src/Classes/ImportTab.lua +++ b/src/Classes/ImportTab.lua @@ -1460,7 +1460,7 @@ function ImportTabClass:ImportItem(itemData, slotName, ignoreWeaponSwap) item.rarity = rarityMap[itemData.frameType] if #itemData.name > 0 then item.title = sanitiseText(itemData.name) - item.baseName = sanitiseText(itemData.typeLine):gsub("Synthesised ","") + item.baseName = sanitiseText(itemData.typeLine):gsub("Synthesised ", ""):gsub("^Vestigial ", "") item.name = item.title .. ", " .. item.baseName if item.baseName == "Two-Toned Boots" then -- Hack for Two-Toned Boots diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index 5498d2aace6..0cfef8a6c6f 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -125,6 +125,7 @@ local lineFlags = { -- in poe2. this is currently only added as a hack for cane of kulemak and -- should be added based on mod tags after matching a mod in the future ["unveiled"] = true, + ["vestigial"] = true, } -- Special function to store unique instances of modifier on specific item slots @@ -734,6 +735,8 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) end elseif specName == "CatalystQuality" then self.catalystQuality = specToNumber(specVal) + elseif specName == "Intangibility" then + self.intangibility = specToNumber(specVal) elseif specName == "Note" then self.note = specVal elseif specName == "Str" or specName == "Strength" or specName == "Dex" or specName == "Dexterity" or @@ -835,7 +838,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) self.name = self.name:gsub(" %(.+%)","") end if not baseName then - baseName = line:gsub("^Superior ", ""):gsub("^Synthesised ","") + baseName = line:gsub("^Superior ", ""):gsub("^Synthesised ", ""):gsub("^Vestigial ", "") end if baseName == "Two-Toned Boots" then baseName = "Two-Toned Boots (Armour/Energy Shield)" @@ -1580,6 +1583,9 @@ function ItemClass:BuildRaw() end end end + if self.intangibility then + t_insert(rawLines, string.format("Intangibility: %d%%", self.intangibility)) + end if self.uniqueID then t_insert(rawLines, "Unique ID: " .. self.uniqueID) end @@ -1680,6 +1686,9 @@ function ItemClass:BuildRaw() if modLine.unscalable then line = "{unscalable}" .. line end + if modLine.vestigial then + line = "{vestigial}" .. line + end if modLine.variantList then local varSpec for varId in pairs(modLine.variantList) do diff --git a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua index 69fb8ef80b7..b92cec6abfb 100644 --- a/src/Classes/ItemsTab.lua +++ b/src/Classes/ItemsTab.lua @@ -4322,6 +4322,11 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth) tooltip:AddSeparator(10) end + if item.intangibility then + tooltip:AddLine(fontSizeBig, colorCodes.INTANGIBILITY .. s_format("Intangibility: ^7%d%%", item.intangibility), "FONTIN SC") + tooltip:AddSeparator(10) + end + -- Requirements self.build:AddRequirementsToTooltip(tooltip, item.requirements.level, item.requirements.strMod, item.requirements.dexMod, item.requirements.intMod, diff --git a/src/Data/Global.lua b/src/Data/Global.lua index 7a07f9a8e4a..b33de85d79e 100644 --- a/src/Data/Global.lua +++ b/src/Data/Global.lua @@ -57,7 +57,9 @@ colorCodes = { SAPBG = "^x261500", SCOURGE = "^xFF6E25", CRUCIBLE = "^xFFA500", - SPLITPERSONALITY = "^xFFD62A" + SPLITPERSONALITY = "^xFFD62A", + VESTIGIAL = "^xCBA5F1", + INTANGIBILITY = "^x9BF4BD", } colorCodes.STRENGTH = colorCodes.MARAUDER colorCodes.DEXTERITY = colorCodes.RANGER diff --git a/src/Modules/ItemTools.lua b/src/Modules/ItemTools.lua index cf8707c384f..5a099ef9cca 100644 --- a/src/Modules/ItemTools.lua +++ b/src/Modules/ItemTools.lua @@ -366,7 +366,7 @@ function itemLib.formatModLine(modLine, dbMode) line = line .. " ^1'" .. modLine.extra .. "'" end else - colorCode = (modLine.fractured and colorCodes.FRACTURED) or (modLine.crafted and colorCodes.CRAFTED) or (modLine.mutated and colorCodes.MUTATED) or (modLine.scourge and colorCodes.SCOURGE) or (modLine.custom and colorCodes.CUSTOM) or (modLine.crucible and colorCodes.CRUCIBLE) or colorCodes.MAGIC + colorCode = (modLine.fractured and colorCodes.FRACTURED) or (modLine.crafted and colorCodes.CRAFTED) or (modLine.mutated and colorCodes.MUTATED) or (modLine.scourge and colorCodes.SCOURGE) or (modLine.custom and colorCodes.CUSTOM) or (modLine.crucible and colorCodes.CRUCIBLE) or (modLine.vestigial and colorCodes.VESTIGIAL) or colorCodes.MAGIC end return colorCode..line end