You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.4 KiB

-- Pawn Upgrade Arrow
local _, addon = ...
local API = addon.API;
do
local ADDON_NAME = "Pawn";
local requiredMethods = {
"PawnIsItemAnUpgrade";
"PawnAddValuesToTooltip",
"PawnGetItemData",
};
local function OnAddOnLoaded()
local ShouldShowUpgrade = PawnShouldItemLinkHaveUpgradeArrow; --2nd arg: CheckLevel
local AddValuesToTooltip = PawnAddValuesToTooltip;
local tooltip = addon.SharedTooltip;
local TooltipCapture = addon.TooltipCapture;
API.IsItemAnUpgrade_External = function(itemLink)
local result = ShouldShowUpgrade(itemLink, false);
return result, result ~= nil
end
function tooltip:CompareItemExternal(itemLink)
TooltipCapture:ClearLines();
if ShouldShowUpgrade(itemLink, false) then
local Item = PawnGetItemData(itemLink)
if Item then
self:AddBlankLine();
local UpgradeInfo, ItemLevelIncrease, BestItemFor, SecondBestItemFor, NeedsEnhancements = PawnIsItemAnUpgrade(Item);
AddValuesToTooltip(TooltipCapture, Item.Values, UpgradeInfo, BestItemFor, SecondBestItemFor, NeedsEnhancements, Item.InvType);
TooltipCapture:SendToProcess(self);
end
end
end
end
addon.AddSupportedAddOn(ADDON_NAME, OnAddOnLoaded, requiredMethods);
end