Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions spec/System/TestItemMods_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,20 @@ describe("TetsItemMods", function()
assert.are.equals(2, legacyLines)
end)

it("shows a fallback tooltip when an item's base is no longer supported", function()
local item = new("Item", [[
Rarity: Unique
Legacy Item
Removed Base
]])
local tooltip = new("Tooltip")

assert.has_no.errors(function()
build.itemsTab:AddItemTooltip(tooltip, item)
end)
assert.is_truthy(tooltip.lines[#tooltip.lines].text:find("Item base is not supported", 1, true))
end)

it("aggregates matching ring item rarity lines before applying ring bonus effect", function()
build.configTab.input.customMods = "30% increased bonuses gained from left Equipped Ring"
build.configTab:BuildModList()
Expand Down
7 changes: 7 additions & 0 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3232,6 +3232,13 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode, maxWidth)
tooltip.tooltipHeader = item.rarity
tooltip.center = true
tooltip.color = rarityCode
-- Shared items can use old base names that no longer exist. Add a tooltip so they can be copied or removed without causing a crash.
if not item.base or not item.baseName then
tooltip:AddLine(fontSizeTitle, rarityCode..(item.title or item.name or "Unknown Item"), "FONTIN SC")
tooltip:AddSeparator(30)
tooltip:AddLine(fontSizeTitle, colorCodes.NEGATIVE.."Item base is not supported by the current version.", "FONTIN SC")
return
end
-- Item name
if item.title then
tooltip:AddLine(fontSizeTitle, rarityCode..item.title, "FONTIN SC")
Expand Down
Loading