-- ------------------------------------------------------------------------------ -- -- TradeSkillMaster_Mailing -- -- http://www.curse.com/addons/wow/tradeskillmaster_mailing -- -- -- -- A TradeSkillMaster Addon (http://tradeskillmaster.com) -- -- All Rights Reserved* - Detailed license information included with addon. -- -- ------------------------------------------------------------------------------ -- -- register this file with Ace Libraries local TSM = select(2, ...) TSM = LibStub("AceAddon-3.0"):NewAddon(TSM, "TSM_Mailing", "AceEvent-3.0", "AceConsole-3.0") local AceGUI = LibStub("AceGUI-3.0") -- load the AceGUI libraries local L = LibStub("AceLocale-3.0"):GetLocale("TradeSkillMaster_Mailing") -- loads the localization table TSM.SPELLING_WARNING = "|cffff0000"..L["BE SURE TO SPELL THE NAME CORRECTLY!"].."|r" local private = {lootIndex=1, recheckTime=1, allowTimerStart=true} local savedDBDefaults = { global = { defaultMailTab = true, autoCheck = true, displayMoneyCollected = true, sendItemsIndividually = false, resendDelay = 1, sendDelay = 0.5, optionsTreeStatus = {}, openAllLeaveGold = false, inboxMessages = true, sendMessages = true, defaultPage = 1, showReloadBtn = true, keepMailSpace = 0, }, realm = { deMailTarget = "", mailTargets = {}, mailItems = {}, }, char = { goldMailTarget = "", goldKeepAmount = 1000000, }, } function TSM:OnEnable() -- load the savedDB into TSM.db TSM.db = LibStub:GetLibrary("AceDB-3.0"):New("AscensionTSM_MailingDB", savedDBDefaults, true) for moduleName, module in pairs(TSM.modules) do TSM[moduleName] = module end -- register this module with TSM TSM:RegisterModule() -- temporary check TSMAPI:Verify(TSMAPI.IsPlayer, "You need to update your TradeSkillMaster addon. Otherwise, you may see lua errors!") end -- registers this module with TSM by first setting all fields and then calling TSMAPI:NewModule(). function TSM:RegisterModule() TSM.operations = {maxOperations=12, callbackOptions="Options:Load", callbackInfo="GetOperationInfo"} TSM.moduleAPIs = { {key="mailItems", callback="AutoMail:SendItems"}, {key="collectItems", callback="Inbox:CollectItems"}, } TSMAPI:NewModule(TSM) end TSM.operationDefaults = { maxQtyEnabled = nil, maxQty = 10, target = "", restock = nil, -- take into account how many the target already has restockGBank = nil, keepQty = 0, ignorePlayer = {}, ignorerealm = {}, relationships = {}, } function TSM:GetOperationInfo(operationName) local operation = TSM.operations[operationName] if not operation then return end if operation.target == "" then return end if operation.maxQtyEnabled then return format(L["Mailing up to %d to %s."], operation.maxQty, operation.target) else return format(L["Mailing all to %s."], operation.target) end end