vanilla-wow-addons – Rev 1
?pathlinks?
local locals = KC_ITEMS_LOCALS.modules.sellvalue
KC_SellValue = KC_ItemsModule:new({
type = "sellvalue",
name = locals.name,
desc = locals.description,
cmdOptions = locals.chat,
dependencies = {"common"},
optPath = {"sellvalue", "options"},
})
KC_Items:Register(KC_SellValue)
function KC_SellValue:Enable()
self:RegisterEvent("MERCHANT_SHOW", "MerchantOpen")
if (self.app.tooltip) then
self.app.tooltip:RegisterFunc(self, "Tooltip")
end
end
function KC_SellValue:Disable()
KC_ItemsModule.Disable(self)
if (self.app.tooltip) then
self.app.tooltip:UnregisterFunc(self, "Tooltip")
end
end
function KC_SellValue:MerchantOpen()
self:GetSellPrices();
self:GetBuyPrices();
end
function KC_SellValue:GetSellPrices()
self:Hook("SetTooltipMoney")
self._itemPrice = nil
for bag = 0, 4 do
for slot = 1, GetContainerNumSlots(bag) do
GameTooltip:SetBagItem(bag, slot)
if(self._itemPrice) then
local _, qty = GetContainerItemInfo(bag, slot)
self.common:SetItemPrices(GetContainerItemLink(bag, slot), self._itemPrice/qty, nil)
self._itemPrice = nil
end
end
end
self:Unhook("SetTooltipMoney")
end
function KC_SellValue:SetTooltipMoney(obj, money)
self._itemPrice = money
self:CallHook("SetTooltipMoney", obj, money)
end
function KC_SellValue:GetBuyPrices()
for item = 1, GetMerchantNumItems() do
local name, texture, price, qty, numAvailable, isUsable = GetMerchantItemInfo(item);
self.common:SetItemPrices(GetMerchantItemLink(item), nil, price/qty);
end
end
function KC_SellValue:Tooltip(tooltip, code, lcode, qty, hooker)
local sell, buy = self.common:GetItemPrices(code)
local short = self:GetOpt(self.optPath, "short")
local single = self:GetOpt(self.optPath, "single")
local sLabel = format(short and locals.labels.sell.short or locals.labels.sell.long, qty, single and qty > 1)
local bLabel = format(short and locals.labels.buy.short or locals.labels.buy.long, qty, single and qty > 1)
_ = (sell and sell > 0) and hooker:AddPriceLine(tooltip, sell * qty, sLabel, locals.sep, locals.sepcolor);
_ = (buy and buy > 0) and hooker:AddPriceLine(tooltip, buy * qty, bLabel, locals.sep, locals.sepcolor);
end
Generated by GNU Enscript 1.6.5.90.