Mercurial > wow > itemauditor
view Modules/Tooltip.lua @ 144:03e108d12ef1
Ticket 45 - Added the ability suppress COD warnings when mailing to characters on other accounts in Altoholic/DataStore. Instead of sending COD, ItemAuditor will send tracking info in the message. Thanks to Zerotorescue for giving me the solution to detect whether or not Postal or MailOpener is processing. It was the last step holding this back from being released.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Sat, 09 Oct 2010 00:21:06 -0700 |
parents | 7f81764aa03a |
children |
line wrap: on
line source
local ItemAuditor = select(2, ...) local Tooltip = ItemAuditor:NewModule("Tooltip") local function ShowTipWithPricing(tip, link, num) if (link == nil) then return; end -- local itemName, itemLink, itemRarity, itemLevel, itemMinLevel, itemType, _, _, _, _, itemVendorPrice = GetItemInfo (link); -- 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?") local investedTotal, investedPerItem, count = ItemAuditor:GetItemCost(link) local keep = 1 - ItemAuditor:GetAHCut() local show = false if investedTotal > 0 then local suggestColor local ap = ItemAuditor:GetAuctionPrice(link) if ap == nil then suggestColor = nil elseif ap >= ceil(investedPerItem/keep) then suggestColor = "|cFF00FF00" -- green else suggestColor = "|cFFFF0000" -- red end tip:AddDoubleLine("\124cffffffffIA: Total Invested", ItemAuditor:FormatMoney(investedTotal)); tip:AddDoubleLine("\124cffffffffIA: Invested per Item (own: " .. count .. ")", ItemAuditor:FormatMoney(ceil(investedPerItem))); tip:AddDoubleLine("\124cffffffffIA: Minimum " .. ItemAuditor:GetAHFaction() .. " AH Price: ", ItemAuditor:FormatMoney(ceil(investedPerItem/keep), suggestColor)) show = true end if ItemAuditor:IsQACompatible() then local groupName = QAAPI:GetItemGroup(link) if groupName then local threshold = QAAPI:GetGroupConfig(groupName) tip:AddDoubleLine("\124cffffffffIA: QA Threshold: ", ItemAuditor:FormatMoney(threshold)) show = true end end if show then tip:Show() end end hooksecurefunc (GameTooltip, "SetBagItem", function(tip, bag, slot) local _, num = GetContainerItemInfo(bag, slot); ShowTipWithPricing (tip, GetContainerItemLink(bag, slot), num); end ); hooksecurefunc (GameTooltip, "SetAuctionItem", function (tip, type, index) ShowTipWithPricing (tip, GetAuctionItemLink(type, index)); end ); hooksecurefunc (GameTooltip, "SetAuctionSellItem", function (tip) local name, _, count = GetAuctionSellItemInfo(); local __, link = GetItemInfo(name); ShowTipWithPricing (tip, link, num); end ); hooksecurefunc (GameTooltip, "SetLootItem", function (tip, slot) if LootSlotIsItem(slot) then local link, _, num = GetLootSlotLink(slot); ShowTipWithPricing (tip, link, num); end end ); hooksecurefunc (GameTooltip, "SetLootRollItem", function (tip, slot) local _, _, num = GetLootRollItemInfo(slot); ShowTipWithPricing (tip, GetLootRollItemLink(slot), num); end ); hooksecurefunc (GameTooltip, "SetInventoryItem", function (tip, unit, slot) ShowTipWithPricing (tip, GetInventoryItemLink(unit, slot), GetInventoryItemCount(unit, slot)); end ); hooksecurefunc (GameTooltip, "SetGuildBankItem", function (tip, tab, slot) local _, num = GetGuildBankItemInfo(tab, slot); ShowTipWithPricing (tip, GetGuildBankItemLink(tab, slot), num); end ); hooksecurefunc (GameTooltip, "SetTradeSkillItem", function (tip, skill, id) local link = GetTradeSkillItemLink(skill); local num = GetTradeSkillNumMade(skill); if id then link = GetTradeSkillReagentItemLink(skill, id); num = select (3, GetTradeSkillReagentInfo(skill, id)); end ShowTipWithPricing (tip, link, num); end ); hooksecurefunc (GameTooltip, "SetTradePlayerItem", function (tip, id) local _, _, num = GetTradePlayerItemInfo(id); ShowTipWithPricing (tip, GetTradePlayerItemLink(id), num); end ); hooksecurefunc (GameTooltip, "SetTradeTargetItem", function (tip, id) local _, _, num = GetTradeTargetItemInfo(id); ShowTipWithPricing (tip, GetTradeTargetItemLink(id), num); end ); hooksecurefunc (GameTooltip, "SetQuestItem", function (tip, type, index) local _, _, num = GetQuestItemInfo(type, index); ShowTipWithPricing (tip, GetQuestItemLink(type, index), num); end ); hooksecurefunc (GameTooltip, "SetQuestLogItem", function (tip, type, index) local num, _; if type == "choice" then _, _, num = GetQuestLogChoiceInfo(index); else _, _, num = GetQuestLogRewardInfo(index) end ShowTipWithPricing (tip, GetQuestLogItemLink(type, index), num); end ); hooksecurefunc (GameTooltip, "SetInboxItem", function (tip, index, attachIndex) local _, _, num = GetInboxItem(index, attachIndex); ShowTipWithPricing (tip, GetInboxItemLink(index, attachIndex), num); end ); hooksecurefunc (GameTooltip, "SetSendMailItem", function (tip, id) local name, _, num = GetSendMailItem(id) local name, link = GetItemInfo(name); ShowTipWithPricing (tip, link, num); end ); hooksecurefunc (GameTooltip, "SetHyperlink", function (tip, itemstring, num) local name, link = GetItemInfo (itemstring); ShowTipWithPricing (tip, link, num); end ); hooksecurefunc (ItemRefTooltip, "SetHyperlink", function (tip, itemstring) local name, link = GetItemInfo (itemstring); ShowTipWithPricing (tip, link); end );