Mercurial > wow > itemauditor
comparison Core.lua @ 13:8c83d5f6e306
OPTIONS! QuickAuctions is now an optional dependency. I have also added some configuration options for it. If you have QA but don't want IA to update your thresholds you can shut off the integration. I have also added other options so you can select your faction or the neutral AH and it will update the tooltip.
| author | Asa Ayers <Asa.Ayers@Gmail.com> |
|---|---|
| date | Fri, 02 Jul 2010 21:39:24 -0700 |
| parents | 6a6296dd249f |
| children | 44e70a3fdb19 |
comparison
equal
deleted
inserted
replaced
| 12:6a6296dd249f | 13:8c83d5f6e306 |
|---|---|
| 15 local GOLD = "|cFFFFD700" | 15 local GOLD = "|cFFFFD700" |
| 16 | 16 |
| 17 function addon:OnInitialize() | 17 function addon:OnInitialize() |
| 18 local DB_defaults = { | 18 local DB_defaults = { |
| 19 char = { | 19 char = { |
| 20 debug = false | 20 debug = false, |
| 21 ah = 1, | |
| 22 use_quick_auctions = false, | |
| 21 }, | 23 }, |
| 22 factionrealm = { | 24 factionrealm = { |
| 23 item_account = {}, | 25 item_account = {}, |
| 24 items = {}, | 26 items = {}, |
| 25 AHCut = 0.05, | |
| 26 }, | 27 }, |
| 27 } | 28 } |
| 28 self.db = LibStub("AceDB-3.0"):New("ItemAuditorDB", DB_defaults, true) | 29 self.db = LibStub("AceDB-3.0"):New("ItemAuditorDB", DB_defaults, true) |
| 29 addonTable.db= self.db | 30 addonTable.db= self.db |
| 30 self.items = self.db.factionrealm.items | 31 self.items = self.db.factionrealm.items |
| 47 | 48 |
| 48 for link, data in pairs(self.db.factionrealm.items) do | 49 for link, data in pairs(self.db.factionrealm.items) do |
| 49 if self:GetItem(link).count == 0 or self:GetItem(link).invested == 0 then | 50 if self:GetItem(link).count == 0 or self:GetItem(link).invested == 0 then |
| 50 self:RemoveItem(link) | 51 self:RemoveItem(link) |
| 51 end | 52 end |
| 52 -- addon:UpdateQAThreshold(link) | |
| 53 end | 53 end |
| 54 | 54 |
| 55 self:RefreshQAGroups() | 55 self:RefreshQAGroups() |
| 56 end | |
| 57 | |
| 58 function addon:RefreshQAGroups() | |
| 59 for groupName in pairs(QAAPI:GetGroups()) do | |
| 60 self:UpdateQAGroup(groupName) | |
| 61 end | |
| 62 end | 56 end |
| 63 | 57 |
| 64 function addon:GetCurrentInventory() | 58 function addon:GetCurrentInventory() |
| 65 local i = {} | 59 local i = {} |
| 66 local bagID | 60 local bagID |
| 252 if realLink ~= nil then | 246 if realLink ~= nil then |
| 253 addon:UpdateQAThreshold(realLink) | 247 addon:UpdateQAThreshold(realLink) |
| 254 end | 248 end |
| 255 end | 249 end |
| 256 | 250 |
| 257 function addon:UpdateQAThreshold(link) | |
| 258 _, link= GetItemInfo(link) | |
| 259 | |
| 260 self:UpdateQAGroup(QAAPI:GetItemGroup(link)) | |
| 261 end | |
| 262 | |
| 263 function addon:UpdateQAGroup(groupName) | |
| 264 if groupName then | |
| 265 local threshold = 0 | |
| 266 | |
| 267 for link in pairs(QAAPI:GetItemsInGroup(groupName)) do | |
| 268 local _, itemCost= ItemAuditor:GetItemCost(link, 0) | |
| 269 | |
| 270 threshold = max(threshold, itemCost) | |
| 271 end | |
| 272 | |
| 273 if threshold == 0 then | |
| 274 threshold = 10000 | |
| 275 end | |
| 276 | |
| 277 -- add my minimum profit margin | |
| 278 threshold = threshold * 1.10 | |
| 279 | |
| 280 -- Adding the cost of mailing every item once. | |
| 281 threshold = threshold + 30 | |
| 282 | |
| 283 -- add AH Cut | |
| 284 local keep = 1 - self.db.factionrealm.AHCut | |
| 285 threshold = threshold/keep | |
| 286 | |
| 287 QAAPI:SetGroupThreshold(groupName, ceil(threshold)) | |
| 288 end | |
| 289 end | |
| 290 | 251 |
| 291 local defaultBagDelay = 0.2 | 252 local defaultBagDelay = 0.2 |
| 292 | 253 |
| 293 function addon:WatchBags(delay) | 254 function addon:WatchBags(delay) |
| 294 delay = delay or defaultBagDelay | 255 delay = delay or defaultBagDelay |
