Mercurial > wow > itemauditor
comparison Modules/Events.lua @ 7:bbba2fae0f69
Removed some of the extra debugging that isn't neccessary any more and abtracted out the item ids so they can be cached.
| author | Asa Ayers <Asa.Ayers@Gmail.com> |
|---|---|
| date | Tue, 08 Jun 2010 11:19:16 -0700 |
| parents | 5dddd73b2220 |
| children | 0271e781b154 |
comparison
equal
deleted
inserted
replaced
| 6:5dddd73b2220 | 7:bbba2fae0f69 |
|---|---|
| 10 end | 10 end |
| 11 | 11 |
| 12 function addon:MAIL_SHOW() | 12 function addon:MAIL_SHOW() |
| 13 self:Debug("MAIL_SHOW") | 13 self:Debug("MAIL_SHOW") |
| 14 self.lastMailScan = self:ScanMail() | 14 self.lastMailScan = self:ScanMail() |
| 15 | |
| 15 self:UnregisterEvent("MAIL_SHOW") | 16 self:UnregisterEvent("MAIL_SHOW") |
| 16 self:RegisterEvent("MAIL_CLOSED") | 17 self:RegisterEvent("MAIL_CLOSED") |
| 17 self:RegisterEvent("MAIL_INBOX_UPDATE") | 18 self:RegisterEvent("MAIL_INBOX_UPDATE") |
| 18 self:Debug("MAIL_SHOW complete") | 19 self:Debug("MAIL_SHOW complete") |
| 19 end | 20 end |
| 20 | 21 |
| 21 function addon:MAIL_CLOSED() | 22 function addon:MAIL_CLOSED() |
| 22 addon:UnregisterEvent("MAIL_CLOSED") | 23 addon:UnregisterEvent("MAIL_CLOSED") |
| 24 self:MAIL_INBOX_UPDATE() | |
| 23 self:UnregisterEvent("MAIL_INBOX_UPDATE") | 25 self:UnregisterEvent("MAIL_INBOX_UPDATE") |
| 24 self:RegisterEvent("MAIL_SHOW") | 26 self:RegisterEvent("MAIL_SHOW") |
| 25 end | 27 end |
| 26 | 28 |
| 27 function addon:MAIL_INBOX_UPDATE() | 29 function addon:MAIL_INBOX_UPDATE() |
| 28 local newScan = addon:ScanMail() | 30 local newScan = addon:ScanMail() |
| 29 local diff | 31 local diff |
| 30 for mailType, collection in pairs(self.lastMailScan) do | 32 for mailType, collection in pairs(self.lastMailScan) do |
| 33 newScan[mailType] = (newScan[mailType] or {}) | |
| 31 for item, total in pairs(collection) do | 34 for item, total in pairs(collection) do |
| 32 | 35 |
| 33 diff = total - (newScan[mailType][item] or 0) | 36 diff = total - (newScan[mailType][item] or 0) |
| 34 if diff ~= 0 then | 37 if diff ~= 0 then |
| 35 self:SaveValue(item, diff) | 38 self:SaveValue(item, diff) |
| 73 function addon:UpdateCurrentInventory() | 76 function addon:UpdateCurrentInventory() |
| 74 self.lastInventory = self:GetCurrentInventory() | 77 self.lastInventory = self:GetCurrentInventory() |
| 75 end | 78 end |
| 76 | 79 |
| 77 function addon:UpdateAudit() | 80 function addon:UpdateAudit() |
| 78 self:Debug("UpdateAudit") | 81 -- self:Debug("UpdateAudit") |
| 79 local currentInventory = self:GetCurrentInventory() | 82 local currentInventory = self:GetCurrentInventory() |
| 80 local diff = addon:GetInventoryDiff(self.lastInventory, currentInventory) | 83 local diff = addon:GetInventoryDiff(self.lastInventory, currentInventory) |
| 81 -- this is only here for debugging | 84 -- this is only here for debugging |
| 82 self.lastdiff = diff | 85 self.lastdiff = diff |
| 83 | 86 |
| 92 negativeCount = negativeCount + abs(count) | 95 negativeCount = negativeCount + abs(count) |
| 93 end | 96 end |
| 94 end | 97 end |
| 95 | 98 |
| 96 if diff.money > 0 and utils:tcount(positive) > 0 and utils:tcount(negative) == 0 then | 99 if diff.money > 0 and utils:tcount(positive) > 0 and utils:tcount(negative) == 0 then |
| 97 self:Debug("loot") | 100 -- self:Debug("loot") |
| 98 elseif abs(diff.money) > 0 and utils:tcount(diff.items) == 1 then | 101 elseif utils:tcount(diff.items) == 1 then |
| 99 self:Debug("purchase or sale") | 102 -- self:Debug("purchase or sale") |
| 100 | 103 |
| 101 for itemName, count in pairs(diff.items) do | 104 for itemName, count in pairs(diff.items) do |
| 102 self:SaveValue(itemName, diff.money) | 105 self:SaveValue(itemName, diff.money) |
| 103 end | 106 end |
| 104 elseif utils:tcount(diff.items) > 1 then | 107 elseif utils:tcount(diff.items) > 1 then |
| 105 | 108 |
| 106 if utils:tcount(positive) > 0 and utils:tcount(negative) > 0 then | 109 if utils:tcount(positive) > 0 and utils:tcount(negative) > 0 then |
| 107 -- we must have created/converted something | 110 -- we must have created/converted something |
| 108 self:Debug("conversion") | 111 -- self:Debug("conversion") |
| 109 local totalChange = 0 | 112 local totalChange = 0 |
| 110 for itemName, change in pairs(negative) do | 113 for itemName, change in pairs(negative) do |
| 111 local _, itemCost, count = self:GetItemCost(itemName, change) | 114 local _, itemCost, count = self:GetItemCost(itemName, change) |
| 112 self:SaveValue(itemName, abs(itemCost * change)) | 115 self:SaveValue(itemName, abs(itemCost * change)) |
| 113 | 116 |
| 114 totalChange = totalChange + abs(itemCost * change) | 117 totalChange = totalChange + abs(itemCost * change) |
| 115 end | 118 end |
| 116 | 119 |
| 117 self:Debug("totalChange") | 120 local valuePerItem = totalChange / positiveCount |
| 118 self:Debug(totalChange) | |
| 119 | 121 |
| 120 local valuePerItem = totalChange / positiveCount | |
| 121 self:Debug(valuePerItem ) | |
| 122 for itemName, change in pairs(positive) do | 122 for itemName, change in pairs(positive) do |
| 123 self:Debug(itemName) | |
| 124 self:Debug(0-abs(valuePerItem * change)) | |
| 125 self:SaveValue(itemName, 0-abs(valuePerItem * change)) | 123 self:SaveValue(itemName, 0-abs(valuePerItem * change)) |
| 126 end | 124 end |
| 127 end | 125 end |
| 128 end | 126 end |
| 129 | 127 |
