|
|
|
|
-- 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
|