annotate Modules/Tooltip.lua @ 125:bb78b6c9892d

When using the process button for Enchanting, ItemAuditor will check which vellum is used and will use the vellum from your inventory. If the correct vellum is not found, it will upgrade to the next level (use vellum II instead of vellum I). This also means that you have to press process for each scroll to be created.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Thu, 02 Sep 2010 22:25:03 -0700
parents 79dc87430cb3
children 451d8a19edea
rev   line source
Asa@63 1 local ItemAuditor = select(2, ...)
Asa@63 2 local Tooltip = ItemAuditor:NewModule("Tooltip")
Asa@3 3
Asa@3 4 local function ShowTipWithPricing(tip, link, num)
Asa@3 5 if (link == nil) then
Asa@3 6 return;
Asa@3 7 end
Asa@3 8
Asa@8 9 -- local itemName, itemLink, itemRarity, itemLevel, itemMinLevel, itemType, _, _, _, _, itemVendorPrice = GetItemInfo (link);
Asa@3 10 -- 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 11
Asa@8 12 local investedTotal, investedPerItem, count = ItemAuditor:GetItemCost(link)
Asa@3 13
Asa@63 14 local keep = 1 - ItemAuditor:GetAHCut()
Asa@12 15 local show = false
Asa@3 16
Asa@3 17 if investedTotal > 0 then
Asa@34 18 local suggestColor
Asa@63 19 local ap = ItemAuditor:GetAuctionPrice(link)
Asa@34 20 if ap == nil then
Asa@34 21 suggestColor = nil
Asa@76 22 elseif ap >= ceil(investedPerItem/keep) then
Asa@34 23 suggestColor = "|cFF00FF00" -- green
Asa@34 24 else
Asa@34 25 suggestColor = "|cFFFF0000" -- red
Asa@34 26 end
Asa@34 27
Asa@34 28
Asa@63 29 tip:AddDoubleLine("\124cffffffffIA: Total Invested", ItemAuditor:FormatMoney(investedTotal));
Asa@63 30 tip:AddDoubleLine("\124cffffffffIA: Invested per Item (own: " .. count .. ")", ItemAuditor:FormatMoney(ceil(investedPerItem)));
Asa@63 31 tip:AddDoubleLine("\124cffffffffIA: Minimum " .. ItemAuditor:GetAHFaction() .. " AH Price: ", ItemAuditor:FormatMoney(ceil(investedPerItem/keep), suggestColor))
Asa@12 32 show = true
Asa@12 33
Asa@12 34 end
Asa@13 35
Asa@115 36 if ItemAuditor:IsQACompatible() then
Asa@13 37 local groupName = QAAPI:GetItemGroup(link)
Asa@13 38 if groupName then
Asa@62 39 local threshold = QAAPI:GetGroupConfig(groupName)
Asa@63 40 tip:AddDoubleLine("\124cffffffffIA: QA Threshold: ", ItemAuditor:FormatMoney(threshold))
Asa@13 41 show = true
Asa@13 42 end
Asa@12 43 end
Asa@12 44
Asa@12 45 if show then
Asa@3 46 tip:Show()
Asa@3 47 end
Asa@3 48 end
Asa@3 49
Asa@3 50 hooksecurefunc (GameTooltip, "SetBagItem",
Asa@3 51 function(tip, bag, slot)
Asa@3 52 local _, num = GetContainerItemInfo(bag, slot);
Asa@3 53 ShowTipWithPricing (tip, GetContainerItemLink(bag, slot), num);
Asa@3 54 end
Asa@3 55 );
Asa@3 56
Asa@3 57 hooksecurefunc (GameTooltip, "SetAuctionItem",
Asa@3 58 function (tip, type, index)
Asa@3 59 ShowTipWithPricing (tip, GetAuctionItemLink(type, index));
Asa@3 60 end
Asa@3 61 );
Asa@3 62
Asa@3 63 hooksecurefunc (GameTooltip, "SetAuctionSellItem",
Asa@3 64 function (tip)
Asa@3 65 local name, _, count = GetAuctionSellItemInfo();
Asa@3 66 local __, link = GetItemInfo(name);
Asa@3 67 ShowTipWithPricing (tip, link, num);
Asa@3 68 end
Asa@3 69 );
Asa@3 70
Asa@3 71
Asa@3 72 hooksecurefunc (GameTooltip, "SetLootItem",
Asa@3 73 function (tip, slot)
Asa@3 74 if LootSlotIsItem(slot) then
Asa@3 75 local link, _, num = GetLootSlotLink(slot);
Asa@3 76 ShowTipWithPricing (tip, link, num);
Asa@3 77 end
Asa@3 78 end
Asa@3 79 );
Asa@3 80
Asa@3 81 hooksecurefunc (GameTooltip, "SetLootRollItem",
Asa@3 82 function (tip, slot)
Asa@3 83 local _, _, num = GetLootRollItemInfo(slot);
Asa@3 84 ShowTipWithPricing (tip, GetLootRollItemLink(slot), num);
Asa@3 85 end
Asa@3 86 );
Asa@3 87
Asa@3 88
Asa@3 89 hooksecurefunc (GameTooltip, "SetInventoryItem",
Asa@3 90 function (tip, unit, slot)
Asa@3 91 ShowTipWithPricing (tip, GetInventoryItemLink(unit, slot), GetInventoryItemCount(unit, slot));
Asa@3 92 end
Asa@3 93 );
Asa@3 94
Asa@3 95 hooksecurefunc (GameTooltip, "SetGuildBankItem",
Asa@3 96 function (tip, tab, slot)
Asa@3 97 local _, num = GetGuildBankItemInfo(tab, slot);
Asa@3 98 ShowTipWithPricing (tip, GetGuildBankItemLink(tab, slot), num);
Asa@3 99 end
Asa@3 100 );
Asa@3 101
Asa@3 102 hooksecurefunc (GameTooltip, "SetTradeSkillItem",
Asa@3 103 function (tip, skill, id)
Asa@3 104 local link = GetTradeSkillItemLink(skill);
Asa@3 105 local num = GetTradeSkillNumMade(skill);
Asa@3 106 if id then
Asa@3 107 link = GetTradeSkillReagentItemLink(skill, id);
Asa@3 108 num = select (3, GetTradeSkillReagentInfo(skill, id));
Asa@3 109 end
Asa@3 110
Asa@3 111 ShowTipWithPricing (tip, link, num);
Asa@3 112 end
Asa@3 113 );
Asa@3 114
Asa@3 115 hooksecurefunc (GameTooltip, "SetTradePlayerItem",
Asa@3 116 function (tip, id)
Asa@3 117 local _, _, num = GetTradePlayerItemInfo(id);
Asa@3 118 ShowTipWithPricing (tip, GetTradePlayerItemLink(id), num);
Asa@3 119 end
Asa@3 120 );
Asa@3 121
Asa@3 122 hooksecurefunc (GameTooltip, "SetTradeTargetItem",
Asa@3 123 function (tip, id)
Asa@3 124 local _, _, num = GetTradeTargetItemInfo(id);
Asa@3 125 ShowTipWithPricing (tip, GetTradeTargetItemLink(id), num);
Asa@3 126 end
Asa@3 127 );
Asa@3 128
Asa@3 129 hooksecurefunc (GameTooltip, "SetQuestItem",
Asa@3 130 function (tip, type, index)
Asa@3 131 local _, _, num = GetQuestItemInfo(type, index);
Asa@3 132 ShowTipWithPricing (tip, GetQuestItemLink(type, index), num);
Asa@3 133 end
Asa@3 134 );
Asa@3 135
Asa@3 136 hooksecurefunc (GameTooltip, "SetQuestLogItem",
Asa@3 137 function (tip, type, index)
Asa@3 138 local num, _;
Asa@3 139 if type == "choice" then
Asa@3 140 _, _, num = GetQuestLogChoiceInfo(index);
Asa@3 141 else
Asa@3 142 _, _, num = GetQuestLogRewardInfo(index)
Asa@3 143 end
Asa@3 144
Asa@3 145 ShowTipWithPricing (tip, GetQuestLogItemLink(type, index), num);
Asa@3 146 end
Asa@3 147 );
Asa@3 148
Asa@3 149 hooksecurefunc (GameTooltip, "SetInboxItem",
Asa@3 150 function (tip, index, attachIndex)
Asa@3 151 local _, _, num = GetInboxItem(index, attachIndex);
Asa@3 152 ShowTipWithPricing (tip, GetInboxItemLink(index, attachIndex), num);
Asa@3 153 end
Asa@3 154 );
Asa@3 155
Asa@3 156 hooksecurefunc (GameTooltip, "SetSendMailItem",
Asa@3 157 function (tip, id)
Asa@3 158 local name, _, num = GetSendMailItem(id)
Asa@3 159 local name, link = GetItemInfo(name);
Asa@3 160 ShowTipWithPricing (tip, link, num);
Asa@3 161 end
Asa@3 162 );
Asa@3 163
Asa@3 164 hooksecurefunc (GameTooltip, "SetHyperlink",
Asa@3 165 function (tip, itemstring, num)
Asa@3 166 local name, link = GetItemInfo (itemstring);
Asa@3 167 ShowTipWithPricing (tip, link, num);
Asa@3 168 end
Asa@3 169 );
Asa@3 170
Asa@3 171 hooksecurefunc (ItemRefTooltip, "SetHyperlink",
Asa@3 172 function (tip, itemstring)
Asa@3 173 local name, link = GetItemInfo (itemstring);
Asa@3 174 ShowTipWithPricing (tip, link);
Asa@3 175 end
Asa@3 176 );