From 3348b65cab8343dbdca3a8278ab2903007369a0f Mon Sep 17 00:00:00 2001 From: pschifferer Date: Thu, 5 Nov 2009 23:54:22 +0000 Subject: [PATCH] Added another message when items are acquired that are in the shopping list. --- CauldronMain.lua | 6 +++++- CauldronShoppingList.lua | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CauldronMain.lua b/CauldronMain.lua index 8e2fba2..dd8e8a2 100644 --- a/CauldronMain.lua +++ b/CauldronMain.lua @@ -386,7 +386,11 @@ function Cauldron:OnBagUpdate(event, bagid) --@alpha@ self:debug("OnBagUpdate: adjust shopping list"); --@end-alpha@ - CauldronShopping:RemoveFromList(self.db.realm.shopping, self.vars.playername, item, itemCount); + local amtRemoved = CauldronShopping:RemoveFromList(self.db.realm.shopping, self.vars.playername, item, itemCount); + if amtRemoved > 0 then + local str = string.format("%s: %s: %d", L["Shopping list"], item, amtRemoved); + UIErrorsFrame:AddMessage(str, 1.0, 0.5, 0.25, 86, 3); + end -- adjust intermediate list self:debug("OnBagUpdate: adjust intermediate list"); diff --git a/CauldronShoppingList.lua b/CauldronShoppingList.lua index 8b2b21f..b32de82 100644 --- a/CauldronShoppingList.lua +++ b/CauldronShoppingList.lua @@ -52,24 +52,32 @@ function CauldronShopping:RemoveFromList(list, requestor, itemName, quantity) -- sanity checks if not list then Cauldron:error("No shopping list available!"); - return; + return -1; end if not list[requestor] then -- initialize the list for the requestor list[requestor] = {}; end + + local numRemoved = 0; if list[requestor][itemName] then if quantity then + local origQty = list[requestor][itemName]; list[requestor][itemName] = list[requestor][itemName] - quantity; + numRemoved = quantity; if list[requestor][itemName] < 1 then + numRemoved = origQty; list[requestor][itemName] = nil; end else + numRemoved = list[requestor][itemName]; list[requestor][itemName] = nil; end end + + return numRemoved; end function CauldronShopping:GetRequestors(list) -- 1.7.9.5