Mercurial > wow > itemauditor
comparison Core.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 |
---|---|
60 local diff = {} | 60 local diff = {} |
61 | 61 |
62 for name, count in pairs(current.items) do | 62 for name, count in pairs(current.items) do |
63 if pastInventory.items[name] == nil then | 63 if pastInventory.items[name] == nil then |
64 diff[name] = count | 64 diff[name] = count |
65 self:Debug("1 diff[" .. name .. "]=" .. diff[name]) | 65 -- self:Debug("1 diff[" .. name .. "]=" .. diff[name]) |
66 elseif count - pastInventory.items[name] ~= 0 then | 66 elseif count - pastInventory.items[name] ~= 0 then |
67 diff[name] = count - pastInventory.items[name] | 67 diff[name] = count - pastInventory.items[name] |
68 self:Debug("2 diff[" .. name .. "]=" .. diff[name]) | 68 -- self:Debug("2 diff[" .. name .. "]=" .. diff[name]) |
69 end | 69 end |
70 end | 70 end |
71 | 71 |
72 for name, count in pairs(pastInventory.items) do | 72 for name, count in pairs(pastInventory.items) do |
73 if current.items[name] == nil then | 73 if current.items[name] == nil then |
74 diff[name] = -count | 74 diff[name] = -count |
75 self:Debug("3 diff[" .. name .. "]=" .. diff[name]) | 75 -- self:Debug("3 diff[" .. name .. "]=" .. diff[name]) |
76 elseif current.items[name] - count ~= 0 then | 76 elseif current.items[name] - count ~= 0 then |
77 diff[name] = current.items[name] - pastInventory.items[name] | 77 diff[name] = current.items[name] - pastInventory.items[name] |
78 self:Debug("4 diff[" .. name .. "]=" .. diff[name]) | 78 -- self:Debug("4 diff[" .. name .. "]=" .. diff[name]) |
79 end | 79 end |
80 end | 80 end |
81 | 81 |
82 local moneyDiff = current.money - pastInventory.money | 82 local moneyDiff = current.money - pastInventory.money |
83 | 83 |
100 | 100 |
101 local itemTypes = {} | 101 local itemTypes = {} |
102 for itemIndex = 1, ATTACHMENTS_MAX_RECEIVE do | 102 for itemIndex = 1, ATTACHMENTS_MAX_RECEIVE do |
103 local itemName, _, count, _, _= GetInboxItem(mailIndex, itemIndex) | 103 local itemName, _, count, _, _= GetInboxItem(mailIndex, itemIndex) |
104 if itemName ~= nil then | 104 if itemName ~= nil then |
105 itemTypes[itemName] = (itemTypes[itemName] or 0) + count | 105 itemTypdes[itemName] = (itemTypes[itemName] or 0) + count |
106 end | 106 end |
107 end | 107 end |
108 | 108 |
109 if utils:tcount(itemTypes) == 1 then | 109 if utils:tcount(itemTypes) == 1 then |
110 for itemName, count in pairs(itemTypes) do | 110 for itemName, count in pairs(itemTypes) do |
139 function addon:SaveValue(item, value) | 139 function addon:SaveValue(item, value) |
140 local item_account = self.db.factionrealm.item_account | 140 local item_account = self.db.factionrealm.item_account |
141 | 141 |
142 item_account[item] = (item_account[item] or 0) + value | 142 item_account[item] = (item_account[item] or 0) + value |
143 | 143 |
144 self:Debug("Updated price of " .. item .. " to " .. utils:FormatMoney(item_account[item]) .. "(change: " .. utils:FormatMoney(value) .. ")") | 144 if abs(value) > 0 then |
145 | 145 self:Debug("Updated price of " .. item .. " to " .. utils:FormatMoney(item_account[item]) .. "(change: " .. utils:FormatMoney(value) .. ")") |
146 if item_account[item] >= 0 then | 146 end |
147 | |
148 if item_account[item] > 0 then | |
147 self:Debug("Updated price of " .. item .. " to " .. utils:FormatMoney(0)) | 149 self:Debug("Updated price of " .. item .. " to " .. utils:FormatMoney(0)) |
148 item_account[item] = nil | 150 item_account[item] = nil |
151 elseif item_account[item] < 0 then | |
152 addon:GetItemCost(itemName) | |
149 end | 153 end |
150 end | 154 end |
151 | 155 |
152 local defaultBagDelay = 0.2 | 156 local defaultBagDelay = 0.2 |
153 | 157 |
174 | 178 |
175 function addon:GetItemCost(itemName, countModifier) | 179 function addon:GetItemCost(itemName, countModifier) |
176 local invested = abs(self.db.factionrealm.item_account[itemName] or 0) | 180 local invested = abs(self.db.factionrealm.item_account[itemName] or 0) |
177 | 181 |
178 if invested > 0 then | 182 if invested > 0 then |
179 local _, itemLink = GetItemInfo (itemName); | 183 local ItemID = utils:GetItemID(itemName) |
180 local _, _, _, _, Id = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?") | 184 if ItemID ~= nil then |
181 local count = Altoholic:GetItemCount(tonumber(Id)) | 185 local count = Altoholic:GetItemCount(tonumber(ItemID)) |
182 if countModifier ~= nil then | 186 if count == 0 then |
183 count = count - countModifier | 187 self.db.factionrealm.item_account[itemName] = nil |
188 self:Print("You ran out of " .. itemName .. " and never recovered " .. utils:FormatMoney(invested)) | |
189 end | |
190 | |
191 if countModifier ~= nil then | |
192 count = count - countModifier | |
193 end | |
194 if count > 0 then | |
195 return ceil(invested), ceil(invested/count), count | |
196 end | |
184 end | 197 end |
185 if count == 0 then | |
186 self.db.factionrealm.item_account[itemName] = nil | |
187 self:Print("You ran out of " .. itemName .. "and never recovered " .. utils:FormatMoney(invested)) | |
188 return 0, 0, 0 | |
189 end | |
190 return ceil(invested), ceil(invested/count), count | |
191 end | 198 end |
192 return 0, 0, 0 | 199 return 0, 0, 0 |
193 end | 200 end |