-- ------------------------------------------------------------------------------ -- -- TradeSkillMaster -- -- https://tradeskillmaster.com -- -- All Rights Reserved - Detailed license information included with addon. -- -- ------------------------------------------------------------------------------ -- local _, TSM = ... local Vendoring = TSM.Operations:NewPackage("Vendoring") local private = {} local L = TSM.Include("Locale").GetTable() local TempTable = TSM.Include("Util.TempTable") local OPERATION_INFO = { sellAfterExpired = { type = "number", default = 20 }, sellSoulbound = { type = "boolean", default = false }, keepQty = { type = "number", default = 0 }, restockQty = { type = "number", default = 0 }, restockSources = { type = "table", default = { alts = false, ah = false, bank = false, guild = false, alts_ah = false, mail = false } }, enableBuy = { type = "boolean", default = true }, enableSell = { type = "boolean", default = true }, vsMarketValue = { type = "string", default = "dbmarket" }, vsMaxMarketValue = { type = "string", default = "0c" }, vsDestroyValue = { type = "string", default = "destroy" }, vsMaxDestroyValue = { type = "string", default = "0c" }, } -- ============================================================================ -- Module Functions -- ============================================================================ function Vendoring.OnInitialize() TSM.Operations.Register("Vendoring", L["Vendoring"], OPERATION_INFO, 1, private.GetOperationInfo) end -- ============================================================================ -- Private Helper Functions -- ============================================================================ function private.GetOperationInfo(operationSettings) local parts = TempTable.Acquire() if operationSettings.enableBuy and operationSettings.restockQty > 0 then tinsert(parts, format(L["Restocking to %d."], operationSettings.restockQty)) end if operationSettings.enableSell then if operationSettings.keepQty > 0 then tinsert(parts, format(L["Keeping %d."], operationSettings.keepQty)) end if operationSettings.sellSoulbound then tinsert(parts, L["Selling soulbound items."]) end end local result = table.concat(parts, " ") TempTable.Release(parts) return result end