Skip to content
Open
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
34 changes: 29 additions & 5 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1729,10 +1729,23 @@ function ItemsTabClass:CopyAnointsAndAugments(newItem, copyAugments, overwrite,
newItem.itemSocketCount = #newItem.sockets
newItem:UpdateRunes()
end

local validRunes = self:GetValidRunesForItem(newItem)

-- replace runes with current ones, or set to none
if shouldChangeAugments then
for i = 1, #newItem.sockets do
newItem.runes[i] = currentRunes[i] or "None"
newItem.runes[i] = "None"
if currentRunes[i] then
local found = false
for _, rune in ipairs(validRunes) do
-- we only copy runes which fit the new item type
if rune.name == currentRunes[i] then
newItem.runes[i] = currentRunes[i]
break
end
end
end
end
newItem:UpdateRunes()
end
Expand Down Expand Up @@ -1900,10 +1913,8 @@ table.sort(runeModLines, function(a, b)
return a.group < b.group
end
end)
-- Update rune selection controls
function ItemsTabClass:UpdateRuneControls()
local item = self.displayItem
-- Build rune selection for item

function ItemsTabClass:GetValidRunesForItem(item)
local runes = { }
for _, rune in pairs(runeModLines) do
local subType = item.base.subType and item.base.subType:lower()
Expand Down Expand Up @@ -1935,15 +1946,28 @@ function ItemsTabClass:UpdateRuneControls()
end
end
end
return runes
end

-- Update rune selection controls
function ItemsTabClass:UpdateRuneControls()
local item = self.displayItem
-- Build rune selection for item
local runes = self:GetValidRunesForItem(item)

for i = 1, item.itemSocketCount do
self.controls["displayItemRune"..i].list = runes
if item.runes[i] then
local found = false
for j, modLine in ipairs(self.controls["displayItemRune"..i].list) do
if item.runes[i] == modLine.name then
self.controls["displayItemRune"..i].selIndex = j
found = true
end
end
if not found then
self.controls["displayItemRune"..i].selIndex = 1
end
else
self.controls["displayItemRune"..i].selIndex = 1
end
Expand Down
Loading