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 |