Mercurial > wow > itemauditor
comparison Modules/CraftingRules.lua @ 108:706b173b0fa1
Ticket 20 - Added a Bonus Queue to the Crafting Rules
| author | Asa Ayers <Asa.Ayers@Gmail.com> |
|---|---|
| date | Tue, 24 Aug 2010 22:40:07 -0700 |
| parents | f1a013c64270 |
| children | 090e466fd956 |
comparison
equal
deleted
inserted
replaced
| 107:f1a013c64270 | 108:706b173b0fa1 |
|---|---|
| 16 if nil == rule.target then | 16 if nil == rule.target then |
| 17 rule.target = 0 | 17 rule.target = 0 |
| 18 end | 18 end |
| 19 if nil == rule.skip_singles then | 19 if nil == rule.skip_singles then |
| 20 rule.skip_singles = false | 20 rule.skip_singles = false |
| 21 end | |
| 22 if nil == rule.bonus_queue then | |
| 23 rule.bonus_queue = 0 | |
| 21 end | 24 end |
| 22 return rule | 25 return rule |
| 23 end | 26 end |
| 24 | 27 |
| 25 local print = function(message, ...) | 28 local print = function(message, ...) |
| 108 set = function(info, value) | 111 set = function(info, value) |
| 109 ItemAuditor.db.char.rules[name].skip_singles = value | 112 ItemAuditor.db.char.rules[name].skip_singles = value |
| 110 end, | 113 end, |
| 111 order = 12, | 114 order = 12, |
| 112 }, | 115 }, |
| 116 bonus_queue = { | |
| 117 type = "range", | |
| 118 name = "Bonus Queue", | |
| 119 desc = "If don't have any of an item, this number will be added to the number to craft.", | |
| 120 min = 0, | |
| 121 max = 1000, | |
| 122 softMax = 50, | |
| 123 step = 1, | |
| 124 get = function() return ItemAuditor.db.char.rules[name].bonus_queue end, | |
| 125 set = function(info, value) | |
| 126 ItemAuditor.db.char.rules[name].bonus_queue = value | |
| 127 end, | |
| 128 order = 13, | |
| 129 }, | |
| 113 header_delete = { | 130 header_delete = { |
| 114 type = 'header', | 131 type = 'header', |
| 115 name = '', | 132 name = '', |
| 116 order = 19, | 133 order = 19, |
| 117 }, | 134 }, |
| 191 end | 208 end |
| 192 end | 209 end |
| 193 | 210 |
| 194 local function runRule(rule, itemName, itemID, data) | 211 local function runRule(rule, itemName, itemID, data) |
| 195 local searches = {strsplit(',', rule.search:upper())} | 212 local searches = {strsplit(',', rule.search:upper())} |
| 213 local bonus = 0 | |
| 214 if data.count == 0 then | |
| 215 bonus = rule.bonus_queue | |
| 216 end | |
| 196 | 217 |
| 197 for _, search in pairs(searches) do | 218 for _, search in pairs(searches) do |
| 198 search = search:trim() | 219 search = search:trim() |
| 199 | 220 |
| 200 if string.find(itemName, search) ~= nil or itemID == search then | 221 if string.find(itemName, search) ~= nil or itemID == search then |
| 201 if rule.skip_singles and data.count+1 == rule.target then | 222 if rule.skip_singles and data.count+1 == rule.target then |
| 202 return data.count | 223 return data.count |
| 203 end | 224 end |
| 204 return rule.target | 225 return rule.target + bonus |
| 205 end | 226 end |
| 206 end | 227 end |
| 207 return 0 | 228 return 0 |
| 208 end | 229 end |
| 209 | 230 |
