Mercurial > wow > itemauditor
view Modules/Tooltip.lua @ 17:e62d878c716d
Changed tooltip to be less confusing on the price per item.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Sat, 03 Jul 2010 10:22:35 -0700 |
parents | 44e70a3fdb19 |
children | d21d202f3b3d |
line wrap: on
line source
local addonName, addonTable = ...; local addon = _G[addonName] local utils = addonTable.utils 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 - addon:GetAHCut() local show = false if investedTotal > 0 then tip:AddDoubleLine("\124cffffffffIA: Total Invested", addon:FormatMoney(investedTotal)); tip:AddDoubleLine("\124cffffffffIA: Invested per Item (own: " .. count .. ")", addon:FormatMoney(ceil(investedPerItem))); tip:AddDoubleLine("\124cffffffffIA: Minimum " .. addon:GetAHFaction() .. " AH Price: ", addon:FormatMoney(ceil(investedPerItem/keep))) show = true end if addon:IsQAEnabled() then local groupName = QAAPI:GetItemGroup(link) if groupName then local threshold = QAAPI:GetGroupThreshold(groupName) tip:AddDoubleLine("\124cffffffffIA: QA Threshold: ", addon: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 );