80 lines
2.9 KiB
Lua
80 lines
2.9 KiB
Lua
|
-- ------------------------------------------------------------------------------ --
|
||
|
-- TradeSkillMaster --
|
||
|
-- https://tradeskillmaster.com --
|
||
|
-- All Rights Reserved - Detailed license information included with addon. --
|
||
|
-- ------------------------------------------------------------------------------ --
|
||
|
|
||
|
local _, TSM = ...
|
||
|
local Auctioning = TSM.Tooltip:NewPackage("Auctioning")
|
||
|
local L = TSM.Include("Locale").GetTable()
|
||
|
local ItemString = TSM.Include("Util.ItemString")
|
||
|
local ItemInfo = TSM.Include("Service.ItemInfo")
|
||
|
local private = {}
|
||
|
|
||
|
|
||
|
|
||
|
-- ============================================================================
|
||
|
-- Module Functions
|
||
|
-- ============================================================================
|
||
|
|
||
|
function Auctioning.OnInitialize()
|
||
|
TSM.Tooltip.Register(TSM.Tooltip.CreateInfo()
|
||
|
:SetHeadings(L["TSM Auctioning"])
|
||
|
:SetSettingsModule("Auctioning")
|
||
|
:AddSettingEntry("postQuantity", false, private.PopulatePostQuantityLine)
|
||
|
:AddSettingEntry("operationPrices", false, private.PopulatePricesLine)
|
||
|
)
|
||
|
end
|
||
|
|
||
|
|
||
|
|
||
|
-- ============================================================================
|
||
|
-- Private Helper Functions
|
||
|
-- ============================================================================
|
||
|
|
||
|
function private.PopulatePostQuantityLine(tooltip, itemString)
|
||
|
local postCap, stackSize = nil, nil
|
||
|
if itemString == ItemString.GetPlaceholder() then
|
||
|
postCap = 5
|
||
|
stackSize = TSM.IsWowClassic() and 200
|
||
|
elseif ItemInfo.IsSoulbound(itemString) then
|
||
|
return
|
||
|
else
|
||
|
itemString = TSM.Groups.TranslateItemString(itemString)
|
||
|
local _, operation = TSM.Operations.GetFirstOperationByItem("Auctioning", itemString)
|
||
|
if not operation then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
postCap = TSM.Auctioning.Util.GetPrice("postCap", operation, itemString)
|
||
|
stackSize = TSM.IsWowClassic() and TSM.Auctioning.Util.GetPrice("stackSize", operation, itemString)
|
||
|
end
|
||
|
if TSM.IsWowClassic() then
|
||
|
tooltip:AddTextLine(L["Post Quantity"], postCap and stackSize and postCap.."x"..stackSize or "---")
|
||
|
else
|
||
|
tooltip:AddTextLine(L["Post Quantity"], postCap or "---")
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function private.PopulatePricesLine(tooltip, itemString)
|
||
|
local minPrice, normalPrice, maxPrice = nil, nil, nil
|
||
|
if itemString == ItemString.GetPlaceholder() then
|
||
|
minPrice = 20
|
||
|
normalPrice = 24
|
||
|
maxPrice = 29
|
||
|
elseif ItemInfo.IsSoulbound(itemString) then
|
||
|
return
|
||
|
else
|
||
|
itemString = TSM.Groups.TranslateItemString(itemString)
|
||
|
local _, operation = TSM.Operations.GetFirstOperationByItem("Auctioning", itemString)
|
||
|
if not operation then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
minPrice = TSM.Auctioning.Util.GetPrice("minPrice", operation, itemString)
|
||
|
normalPrice = TSM.Auctioning.Util.GetPrice("normalPrice", operation, itemString)
|
||
|
maxPrice = TSM.Auctioning.Util.GetPrice("maxPrice", operation, itemString)
|
||
|
end
|
||
|
tooltip:AddValueLine(L["Min/Normal/Max Prices"], minPrice, normalPrice, maxPrice)
|
||
|
end
|