Mercurial > wow > itemauditor
diff Modules/Tooltip.lua @ 3:bbcf81868171
Code cleanup.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Sat, 22 May 2010 11:34:19 -0700 |
parents | |
children | 0271e781b154 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Modules/Tooltip.lua Sat May 22 11:34:19 2010 -0700 @@ -0,0 +1,153 @@ +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(itemName) + + local AHCut = 0.05 + local keep = 1 - AHCut + + if investedTotal > 0 then + tip:AddDoubleLine("\124cffffffffIA: Total Invested", utils:FormatMoney(investedTotal)); + tip:AddDoubleLine("\124cffffffffIA: Invested/Item (" .. count .. ")", utils:FormatMoney(ceil(investedPerItem))); + tip:AddDoubleLine("\124cffffffffIA: Minimum faction AH Price: ", utils:FormatMoney(ceil(investedPerItem/keep))) + 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 +); \ No newline at end of file