Mercurial > wow > itemauditor
view Modules/Options.lua @ 21:d7f02c84994c
Changed QA to be an option part of /ia queue. If QA is there, IA will queue enough of an item to be created to have 1.25x QA auctino count x QA stack size (rounded up) items. If it is not there, it will create 1 on every profitable item. This commit also adds support for Auctioneer.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Tue, 06 Jul 2010 23:48:54 -0700 |
parents | ff9a698caebc |
children | 66b7c3f5937e |
line wrap: on
line source
local addonName, addonTable = ...; local addon = _G[addonName] local utils = addonTable.utils local currentFaction = UnitFactionGroup("player") local AHFactions = { currentFaction, 'Neutral' } local craftingThresholds = {5000, 10000, 50000} local craftingThresholdsDisplay = {} for key, value in pairs(craftingThresholds) do craftingThresholdsDisplay[key] = addon:FormatMoney(value, '', true) -- craftingThresholdsDisplay[key] = value end local options = { handler = addon, name = "ItemAuditor", type = 'group', args = { prices = { name = "Prices", desc = "Control how your minimum price is calculated.", type = 'group', args = { auction_house = { type = "select", name = "Auction House", desc = "", values = { currentFaction, 'Neutral' }, get = 'GetAH', set = 'SetAH', }, }, }, messages = { name = "Messages", desc = "Control which messages display in your chat window.", type = 'group', args = { item_cost = { type = "toggle", name = "Item Cost", desc = "Shows a message every time an item's cost changes", get = function() return ItemAuditor.db.profile.messages.cost_updates end, set = function(info, value) ItemAuditor.db.profile.messages.cost_updates = value end, order = 0, }, queue_skip = { type = "toggle", name = "Queue Skip", desc = "Displays a message when an item is excluded from the queue.", get = function() return ItemAuditor.db.profile.messages.queue_skip end, set = function(info, value) ItemAuditor.db.profile.messages.queue_skip = value end, disabled = 'IsQADisabled', order = 1, }, dbg = { type = "toggle", name = "Debug", desc = "Toggles debug messages in chat", get = "GetDebug", set = "SetDebug", order = 100, }, }, }, qa_options = { name = "QA Options", desc = "Control how ItemAuditor integrates with QuickAuctions", type = 'group', -- disabled = (not addon.QA_compatibile), disabled = function() return not ItemAuditor:IsQACompatible() end, args = { toggle_qa = { type = "toggle", name = "Enable Quick Auctions", desc = "This will enable or disable Quick Auctions integration", get = "IsQAEnabled", set = "SetQAEnabled", order = 0, }, --[[ add_mail = { type = "toggle", name = "Add mail cost to QA Threshold", get = "IsQAEnabled", set = "SetQAEnabled", order = 1, }, ]] auction_threshold = { type = "range", name = "Auction Threshold", desc = "Don't create items that will make less than this amount of profit", min = 0.0, max = 1.0, isPercent = true, get = function() return ItemAuditor.db.char.auction_threshold end, set = function(info, value) ItemAuditor.db.char.auction_threshold = value ItemAuditor:RefreshQAGroups() end, disabled = 'IsQADisabled', order = 1, }, refresh_qa = { type = "execute", name = "Refresh QA Thresholds", desc = "Resets all Quick Auctions thresholds", func = "RefreshQAGroups", disabled = 'IsQADisabled', order = 9, }, } }, crafting_options = { name = "Crafting with Skillet", desc = "/ia queue", type = 'group', disabled = function() return Skillet == nil end, args = { crafting_threshold = { type = "select", name = "Crafting Threshold", desc = "Don't create items that will make less than this amount of profit", values = craftingThresholdsDisplay, get = function() return ItemAuditor.db.char.crafting_threshold end, set = function(info, value) ItemAuditor.db.char.crafting_threshold = value end, order = 11, }, }, }, options = { type = "execute", name = "options", desc = "Show Blizzard's options GUI", func = "ShowOptionsGUI", guiHidden = true, }, queue = { type = "execute", name = "queue", desc = "Queue", func = "Queue", guiHidden = true, }, }, } function addon:RegisterOptions() self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ItemAuditor", "ItemAuditor") LibStub("AceConfig-3.0"):RegisterOptionsTable("ItemAuditor", options, {"ia"}) end local function pairsByKeys (t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 -- iterator variable local iter = function () -- iterator function i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end function addon:GetCraftingThreshold() local key = ItemAuditor.db.char.crafting_threshold return craftingThresholds[key] end function addon:GetAuctionThreshold() return ItemAuditor.db.char.auction_threshold end function addon:GetAH() return ItemAuditor.db.char.ah end function addon:SetAH(info, value) ItemAuditor.db.char.ah = value end function addon:GetAHCut() if ItemAuditor.db.char.ah == 1 then return 0.05 end return 0.15 end function addon:GetAHFaction() return AHFactions[ItemAuditor.db.char.ah] end function addon:DumpInfo() for itemName, value in pairsByKeys(self.db.factionrealm.item_account) do self:Print(itemName .. ": " .. self:FormatMoney(value)) end end function addon:ShowOptionsGUI() InterfaceOptionsFrame_OpenToCategory(self.optionsFrame) end