Asa@3: local addonName, addonTable = ...; Asa@3: local addon = _G[addonName] Asa@3: Asa@3: local function ShowTipWithPricing(tip, link, num) Asa@3: if (link == nil) then Asa@3: return; Asa@3: end Asa@3: Asa@8: -- local itemName, itemLink, itemRarity, itemLevel, itemMinLevel, itemType, _, _, _, _, itemVendorPrice = GetItemInfo (link); Asa@3: -- local _, _, Color, Ltype, Id, Enchant, Gem1, Gem2, Gem3, Gem4, Suffix, Unique, LinkLvl, Name = string.find(link, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?") Asa@3: Asa@8: local investedTotal, investedPerItem, count = ItemAuditor:GetItemCost(link) Asa@3: Asa@13: local keep = 1 - addon:GetAHCut() Asa@12: local show = false Asa@3: Asa@3: if investedTotal > 0 then Asa@34: local suggestColor Asa@34: local ap = addon:GetAuctionPrice(link) Asa@34: if ap == nil then Asa@34: suggestColor = nil Asa@34: elseif ap > ceil(investedPerItem/keep) then Asa@34: suggestColor = "|cFF00FF00" -- green Asa@34: else Asa@34: suggestColor = "|cFFFF0000" -- red Asa@34: end Asa@34: Asa@34: Asa@15: tip:AddDoubleLine("\124cffffffffIA: Total Invested", addon:FormatMoney(investedTotal)); Asa@17: tip:AddDoubleLine("\124cffffffffIA: Invested per Item (own: " .. count .. ")", addon:FormatMoney(ceil(investedPerItem))); Asa@34: tip:AddDoubleLine("\124cffffffffIA: Minimum " .. addon:GetAHFaction() .. " AH Price: ", addon:FormatMoney(ceil(investedPerItem/keep), suggestColor)) Asa@12: show = true Asa@12: Asa@12: end Asa@13: Asa@13: if addon:IsQAEnabled() then Asa@13: local groupName = QAAPI:GetItemGroup(link) Asa@13: if groupName then Asa@13: local threshold = QAAPI:GetGroupThreshold(groupName) Asa@15: tip:AddDoubleLine("\124cffffffffIA: QA Threshold: ", addon:FormatMoney(threshold)) Asa@13: show = true Asa@13: end Asa@12: end Asa@12: Asa@12: if show then Asa@3: tip:Show() Asa@3: end Asa@3: end Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetBagItem", Asa@3: function(tip, bag, slot) Asa@3: local _, num = GetContainerItemInfo(bag, slot); Asa@3: ShowTipWithPricing (tip, GetContainerItemLink(bag, slot), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetAuctionItem", Asa@3: function (tip, type, index) Asa@3: ShowTipWithPricing (tip, GetAuctionItemLink(type, index)); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetAuctionSellItem", Asa@3: function (tip) Asa@3: local name, _, count = GetAuctionSellItemInfo(); Asa@3: local __, link = GetItemInfo(name); Asa@3: ShowTipWithPricing (tip, link, num); Asa@3: end Asa@3: ); Asa@3: Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetLootItem", Asa@3: function (tip, slot) Asa@3: if LootSlotIsItem(slot) then Asa@3: local link, _, num = GetLootSlotLink(slot); Asa@3: ShowTipWithPricing (tip, link, num); Asa@3: end Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetLootRollItem", Asa@3: function (tip, slot) Asa@3: local _, _, num = GetLootRollItemInfo(slot); Asa@3: ShowTipWithPricing (tip, GetLootRollItemLink(slot), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetInventoryItem", Asa@3: function (tip, unit, slot) Asa@3: ShowTipWithPricing (tip, GetInventoryItemLink(unit, slot), GetInventoryItemCount(unit, slot)); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetGuildBankItem", Asa@3: function (tip, tab, slot) Asa@3: local _, num = GetGuildBankItemInfo(tab, slot); Asa@3: ShowTipWithPricing (tip, GetGuildBankItemLink(tab, slot), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetTradeSkillItem", Asa@3: function (tip, skill, id) Asa@3: local link = GetTradeSkillItemLink(skill); Asa@3: local num = GetTradeSkillNumMade(skill); Asa@3: if id then Asa@3: link = GetTradeSkillReagentItemLink(skill, id); Asa@3: num = select (3, GetTradeSkillReagentInfo(skill, id)); Asa@3: end Asa@3: Asa@3: ShowTipWithPricing (tip, link, num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetTradePlayerItem", Asa@3: function (tip, id) Asa@3: local _, _, num = GetTradePlayerItemInfo(id); Asa@3: ShowTipWithPricing (tip, GetTradePlayerItemLink(id), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetTradeTargetItem", Asa@3: function (tip, id) Asa@3: local _, _, num = GetTradeTargetItemInfo(id); Asa@3: ShowTipWithPricing (tip, GetTradeTargetItemLink(id), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetQuestItem", Asa@3: function (tip, type, index) Asa@3: local _, _, num = GetQuestItemInfo(type, index); Asa@3: ShowTipWithPricing (tip, GetQuestItemLink(type, index), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetQuestLogItem", Asa@3: function (tip, type, index) Asa@3: local num, _; Asa@3: if type == "choice" then Asa@3: _, _, num = GetQuestLogChoiceInfo(index); Asa@3: else Asa@3: _, _, num = GetQuestLogRewardInfo(index) Asa@3: end Asa@3: Asa@3: ShowTipWithPricing (tip, GetQuestLogItemLink(type, index), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetInboxItem", Asa@3: function (tip, index, attachIndex) Asa@3: local _, _, num = GetInboxItem(index, attachIndex); Asa@3: ShowTipWithPricing (tip, GetInboxItemLink(index, attachIndex), num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetSendMailItem", Asa@3: function (tip, id) Asa@3: local name, _, num = GetSendMailItem(id) Asa@3: local name, link = GetItemInfo(name); Asa@3: ShowTipWithPricing (tip, link, num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (GameTooltip, "SetHyperlink", Asa@3: function (tip, itemstring, num) Asa@3: local name, link = GetItemInfo (itemstring); Asa@3: ShowTipWithPricing (tip, link, num); Asa@3: end Asa@3: ); Asa@3: Asa@3: hooksecurefunc (ItemRefTooltip, "SetHyperlink", Asa@3: function (tip, itemstring) Asa@3: local name, link = GetItemInfo (itemstring); Asa@3: ShowTipWithPricing (tip, link); Asa@3: end Asa@3: );