Mercurial > wow > itemauditor
comparison Modules/Crafting.lua @ 68:2d65db19d3ce
Fixed a bug with the crafting threshold options. Updated /ia queue so that it is a shortcut to using /ia crafting and then clicking export.
| author | Asa Ayers <Asa.Ayers@Gmail.com> |
|---|---|
| date | Wed, 28 Jul 2010 11:37:43 -0700 |
| parents | b6c30a5156f9 |
| children | 3930518cb8d9 |
comparison
equal
deleted
inserted
replaced
| 67:b6c30a5156f9 | 68:2d65db19d3ce |
|---|---|
| 7 local validateMoney = ItemAuditor.validateMoney | 7 local validateMoney = ItemAuditor.validateMoney |
| 8 local parseMoney = ItemAuditor.parseMoney | 8 local parseMoney = ItemAuditor.parseMoney |
| 9 | 9 |
| 10 local realData = {} | 10 local realData = {} |
| 11 | 11 |
| 12 | |
| 13 local queueDestinations = {} | |
| 14 | |
| 15 function Crafting.RegisterQueueDestination(name, destination) | |
| 16 queueDestinations[name] = destination | |
| 17 end | |
| 12 | 18 |
| 13 -- TODO: Convert this to a text field. | 19 -- TODO: Convert this to a text field. |
| 14 local craftingThresholds = {5000, 10000, 50000} | 20 local craftingThresholds = {5000, 10000, 50000} |
| 15 local craftingThresholdsDisplay = {} | 21 local craftingThresholdsDisplay = {} |
| 16 | 22 |
| 17 for key, value in pairs(craftingThresholds) do | 23 for key, value in pairs(craftingThresholds) do |
| 18 craftingThresholdsDisplay[key] = ItemAuditor:FormatMoney(value, '', true) | 24 craftingThresholdsDisplay[key] = ItemAuditor:FormatMoney(value, '', true) |
| 19 -- craftingThresholdsDisplay[key] = value | 25 -- craftingThresholdsDisplay[key] = value |
| 26 end | |
| 27 | |
| 28 function ItemAuditor:GetCraftingThreshold() | |
| 29 local key = ItemAuditor.db.char.crafting_threshold | |
| 30 return craftingThresholds[key] | |
| 20 end | 31 end |
| 21 | 32 |
| 22 ItemAuditor.Options.args.crafting_options = { | 33 ItemAuditor.Options.args.crafting_options = { |
| 23 name = "Crafting with Skillet", | 34 name = "Crafting with Skillet", |
| 24 desc = "/ia queue", | 35 desc = "/ia queue", |
| 73 { name= "Total Profit", width = 100, align = "RIGHT", | 84 { name= "Total Profit", width = 100, align = "RIGHT", |
| 74 ['DoCellUpdate'] = displayMoney, | 85 ['DoCellUpdate'] = displayMoney, |
| 75 }, | 86 }, |
| 76 } | 87 } |
| 77 | 88 |
| 78 local function ExportToSkillet() | 89 function Crafting.ExportToSkillet(data) |
| 90 local skillString = select(3, string.find(data.recipeLink, "^|%x+|H(.+)|h%[.+%]")) | |
| 91 local _, skillId = strsplit(":", skillString) | |
| 92 | |
| 93 ItemAuditor:AddToQueue(skillId,tradeSkillIndex, data.queue) | |
| 94 end | |
| 95 | |
| 96 Crafting.RegisterQueueDestination('Skillet', Crafting.ExportToSkillet) | |
| 97 | |
| 98 | |
| 99 | |
| 100 function Crafting.Export(destination) | |
| 101 if type(destination) == 'function' then | |
| 102 -- do nothing | |
| 103 elseif destination == nil then | |
| 104 destination = queueDestinations['Skillet'] | |
| 105 elseif type(destination) == 'string' then | |
| 106 destination = queueDestinations[destination] | |
| 107 else | |
| 108 error('destination must be a function or a string') | |
| 109 end | |
| 110 | |
| 79 local index = 1 | 111 local index = 1 |
| 80 local data = ItemAuditor:GetCraftingRow(index) | 112 local data = ItemAuditor:GetCraftingRow(index) |
| 81 while data do | 113 while data do |
| 82 local skillString = select(3, string.find(data.recipeLink, "^|%x+|H(.+)|h%[.+%]")) | 114 if data.queue > 0 then |
| 83 local _, skillId = strsplit(":", skillString) | 115 destination(data) |
| 84 | 116 end |
| 85 ItemAuditor:AddToQueue(skillId,tradeSkillIndex, data.queue) | |
| 86 index = index + 1 | 117 index = index + 1 |
| 87 data = ItemAuditor:GetCraftingRow(index) | 118 data = ItemAuditor:GetCraftingRow(index) |
| 88 | 119 |
| 89 end | 120 end |
| 90 end | 121 end |
| 316 realData[row] = data | 347 realData[row] = data |
| 317 row = row + 1 | 348 row = row + 1 |
| 318 end | 349 end |
| 319 end | 350 end |
| 320 table.sort(realData, function(a, b) return a.profit*a.queue > b.profit*b.queue end) | 351 table.sort(realData, function(a, b) return a.profit*a.queue > b.profit*b.queue end) |
| 321 craftingTable:SetFilter(tableFilter) | 352 if craftingTable then |
| 322 self:RefreshCraftingTable() | 353 craftingTable:SetFilter(tableFilter) |
| 354 self:RefreshCraftingTable() | |
| 355 end | |
| 323 end | 356 end |
| 324 | 357 |
| 325 function ItemAuditor:RefreshCraftingTable() | 358 function ItemAuditor:RefreshCraftingTable() |
| 326 for key, data in pairs(realData) do | 359 for key, data in pairs(realData) do |
| 327 tableData[key] = { | 360 tableData[key] = { |
