diff --git a/helpers.lua b/helpers.lua index e3a295e..72d5343 100644 --- a/helpers.lua +++ b/helpers.lua @@ -346,3 +346,20 @@ ShaguTweaks.GetItemCount = function(itemName) return count end + +local itemLinkByNameCache = {} +ShaguTweaks.GetItemLinkByName = function(name) + if itemLinkByNameCache[name] then + return itemLinkByNameCache[name] + end + + for itemID = 1, 25818 do + local itemName, itemLink, itemQuality = GetItemInfo(itemID) + if (itemName and itemName == name) then + local _, _, _, hex = GetItemQualityColor(tonumber(itemQuality)) + local hyperLink = hex.. "|H".. itemLink .."|h["..itemName.."]|h" .. FONT_COLOR_CODE_CLOSE + itemLinkByNameCache[name] = hyperLink + return hyperLink + end + end +end diff --git a/mods/vendor-values.lua b/mods/vendor-values.lua index 705cdd3..700e39a 100644 --- a/mods/vendor-values.lua +++ b/mods/vendor-values.lua @@ -1,6 +1,7 @@ local _G = ShaguTweaks.GetGlobalEnv() local T = ShaguTweaks.T local GetExpansion = ShaguTweaks.GetExpansion +local GetItemLinkByName = ShaguTweaks.GetItemLinkByName local module = ShaguTweaks:register({ title = T["Vendor Values"], @@ -3868,16 +3869,6 @@ end ShaguTweaks.SellValueDB = data -local function GetItemLinkByName(name) - for itemID = 1, 25818 do - local itemName, hyperLink, itemQuality = GetItemInfo(itemID) - if (itemName and itemName == name) then - local _, _, _, hex = GetItemQualityColor(tonumber(itemQuality)) - return hex.. "|H"..hyperLink.."|h["..itemName.."]|h|r" - end - end -end - local function AddVendorPrices(frame, id, count) if ShaguTweaks.SellValueDB[id] and ShaguTweaks.SellValueDB[id] > 0 then SetTooltipMoney(frame, ShaguTweaks.SellValueDB[id] * count)