From 42abae09990e8294cb6ddbf284dc07df115a4ad4 Mon Sep 17 00:00:00 2001 From: semecan Date: Sat, 9 May 2020 15:06:02 +0200 Subject: [PATCH] Use GetItemCount API for determining item counts if available --- features/tooltipCounts.lua | 43 +++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/features/tooltipCounts.lua b/features/tooltipCounts.lua index 0aaa147..ec0884a 100644 --- a/features/tooltipCounts.lua +++ b/features/tooltipCounts.lua @@ -76,24 +76,37 @@ local function AddOwners(tooltip, link) text = ItemText[owner][itemID] else if not info.isguild then - local equip = FindItemCount(owner, 'equip', itemID) - local vault = FindItemCount(owner, 'vault', itemID) + local equip + local vault local bags, bank = 0,0 - if info.cached then - for i = BACKPACK_CONTAINER, NUM_BAG_SLOTS do - bags = bags + FindItemCount(owner, i, itemID) - end - - for i = FIRST_BANK_SLOT, LAST_BANK_SLOT do - bank = bank + FindItemCount(owner, i, itemID) - end + if (Addon.GetItemCount) then + equip = Addon:GetItemCount(owner, 'equip', itemID) + vault = Addon:GetItemCount(owner, 'vault', itemID) + else + equip = FindItemCount(owner, 'equip', itemID) + vault = FindItemCount(owner, 'vault', itemID) + end - if REAGENTBANK_CONTAINER then - bank = bank + FindItemCount(owner, REAGENTBANK_CONTAINER, itemID) + if info.cached then + if (Addon.GetItemCount) then + bags = Addon:GetItemCount(owner, 'bags', itemID) + bank = Addon:GetItemCount(owner, 'bank', itemID) + else + for i = BACKPACK_CONTAINER, NUM_BAG_SLOTS do + bags = bags + FindItemCount(owner, i, itemID) + end + + for i = FIRST_BANK_SLOT, LAST_BANK_SLOT do + bank = bank + FindItemCount(owner, i, itemID) + end + + if REAGENTBANK_CONTAINER then + bank = bank + FindItemCount(owner, REAGENTBANK_CONTAINER, itemID) + end + + bank = bank + FindItemCount(owner, BANK_CONTAINER, itemID) end - - bank = bank + FindItemCount(owner, BANK_CONTAINER, itemID) else local owned = GetItemCount(itemID, true) local carrying = GetItemCount(itemID) @@ -179,7 +192,7 @@ function TooltipCounts:OnEnable() if Addon.sets.tipCount then if not ItemText then ItemText, ItemCount = {}, {} - + HookTip(GameTooltip) HookTip(ItemRefTooltip) end