From 1953737b34f9b85d44910a994504cb748129bd16 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Fri, 26 Feb 2010 20:25:26 +0000 Subject: [PATCH] fix inventory stacking on wear/takeoff git-svn-id: http://svn.net-core.org/repos/t-engine4@363 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engine/Object.lua | 11 ++++++--- game/engine/dialogs/ShowEquipment.lua | 4 +--- game/engine/dialogs/ShowInventory.lua | 4 +--- game/engine/dialogs/ShowPickupFloor.lua | 4 +--- game/engine/interface/ActorInventory.lua | 21 +++++++++++++----- game/modules/tome/class/Object.lua | 8 +++++-- game/modules/tome/class/Player.lua | 4 +++- .../tome/data/talents/techniques/archery.lua | 2 +- ideas/classes.ods | Bin 15438 -> 16139 bytes 9 files changed, 36 insertions(+), 22 deletions(-) diff --git a/game/engine/Object.lua b/game/engine/Object.lua index 669fef42ed..b1eeee9ee8 100644 --- a/game/engine/Object.lua +++ b/game/engine/Object.lua @@ -43,7 +43,12 @@ end --- Gets the full name of the object function _M:getName() - return self.name + local qty = self:getNumber() + local name = self.name + + if qty == 1 then return name + else return qty.." "..name + end end --- Gets the full desc of the object @@ -91,8 +96,8 @@ function _M:stack(o) -- Merge stacks if o.stacked then - for i, so in ipairs(o.stacked) do - self.stacked[#self.stacked+1] = so + for i = 1, #o.stacked do + self.stacked[#self.stacked+1] = o.stacked[i] end o.stacked = nil end diff --git a/game/engine/dialogs/ShowEquipment.lua b/game/engine/dialogs/ShowEquipment.lua index 5ebb5d0fdd..b670148d76 100644 --- a/game/engine/dialogs/ShowEquipment.lua +++ b/game/engine/dialogs/ShowEquipment.lua @@ -57,9 +57,7 @@ function _M:generateList() for item, o in ipairs(self.actor.inven[inven_id]) do if not self.filter or self.filter(o) then local char = string.char(string.byte('a') + i) - local nb = o:getNumber() - nb = (nb == 1) and "" or nb.." " - list[#list+1] = { name=char..") "..nb..o:getName(), object=o, inven=inven_id, item=item } + list[#list+1] = { name=char..") "..o:getName(), object=o, inven=inven_id, item=item } chars[char] = #list i = i + 1 end diff --git a/game/engine/dialogs/ShowInventory.lua b/game/engine/dialogs/ShowInventory.lua index a07e6cd454..07873132a1 100644 --- a/game/engine/dialogs/ShowInventory.lua +++ b/game/engine/dialogs/ShowInventory.lua @@ -97,9 +97,7 @@ function _M:generateList() local i = 0 for item, o in ipairs(self.inven) do if not self.filter or self.filter(o) then - local nb = o:getNumber() - nb = (nb == 1) and "" or nb.." " - list[#list+1] = { name=string.char(string.byte('a') + i)..") "..nb..o:getName(), object=o, item=item } + list[#list+1] = { name=string.char(string.byte('a') + i)..") "..o:getName(), object=o, item=item } i = i + 1 end end diff --git a/game/engine/dialogs/ShowPickupFloor.lua b/game/engine/dialogs/ShowPickupFloor.lua index ed610862ff..6d56c866bd 100644 --- a/game/engine/dialogs/ShowPickupFloor.lua +++ b/game/engine/dialogs/ShowPickupFloor.lua @@ -60,9 +60,7 @@ function _M:generateList() local o = game.level.map:getObject(self.x, self.y, idx) if not o then break end if not self.filter or self.filter(o) then - local nb = o:getNumber() - nb = (nb == 1) and "" or nb.." " - list[#list+1] = { name=string.char(string.byte('a') + i)..") "..nb..o:getName(), object=o, item=idx } + list[#list+1] = { name=string.char(string.byte('a') + i)..") "..o:getName(), object=o, item=idx } i = i + 1 end idx = idx + 1 diff --git a/game/engine/interface/ActorInventory.lua b/game/engine/interface/ActorInventory.lua index 2eb2046ce2..5caf32b4d7 100644 --- a/game/engine/interface/ActorInventory.lua +++ b/game/engine/interface/ActorInventory.lua @@ -96,17 +96,19 @@ end --- Removes an object from inventory -- @param inven the inventory to drop from -- @param item the item id to drop +-- @param no_unstack if the item was a stack takes off the whole stack if true -- @return the object removed or nil if no item existed -function _M:removeObject(inven, item) +function _M:removeObject(inven, item, no_unstack) if type(inven) == "number" then inven = self.inven[inven] end - local o = inven[item] - local o, finish = o:unstack() + local o, finish = inven[item], true + if not no_unstack then + o, finish = o:unstack() + end if finish then table.remove(inven, item) end -- Do whatever is needed when takingoff this object - print("remove object", inven, inven.max, inven.worn, item, o) if inven.worn then self:onTakeoff(o) end return o @@ -217,8 +219,13 @@ function _M:wearObject(o, replace, vocal) -- Warning: assume there is now space self:addObject(self:getInven(o.offslot), o) elseif replace then - local ro = self:removeObject(inven, 1) + local ro = self:removeObject(inven, 1, true) + if vocal then game.logSeen(self, "%s wears: %s.", self.name:capitalize(), o:getName()) end + + -- Can we stack the old and new one ? + if o:stack(ro) then ro = true end + -- Warning: assume there is now space self:addObject(inven, o) return ro @@ -230,7 +237,7 @@ end --- Takeoff item function _M:takeoffObject(inven, item) - local o = self:removeObject(inven, item) + local o = self:removeObject(inven, item, true) return o end @@ -263,7 +270,9 @@ function _M:sortInven(inven) for i = #inven, 1, -1 do -- If it is stackable, look for obejcts before it that it could stack into if inven[i]:stackable() then +print("sorting", #inven, i, i-1) for j = i - 1, 1, -1 do + print("j",j) if inven[j]:stack(inven[i]) then print("Stacked objects", i, inven[i].name, "into", j, inven[j].name) table.remove(inven, i) diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index e5b77b93d0..17f41acb4e 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -74,7 +74,7 @@ end --- Gets the full name of the object function _M:getName() - local qty = 1 + local qty = self:getNumber() local name = self.name if not self:isIdentified() and self:getUnidentifiedName() then name = self:getUnidentifiedName() end @@ -90,7 +90,11 @@ function _M:getName() end) end - return name + if qty == 1 then + return name + else + return qty.." "..name + end end --- Gets the full desc of the object diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index bf0b251d78..6b680b6132 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -234,10 +234,12 @@ function _M:playerWear() self:showInventory("Wield/wear object", inven, function(o) return o:wornInven() and true or false end, function(o, item) + self:removeObject(self.INVEN_INVEN, item, true) local ro = self:wearObject(o, true, true) if ro then if type(ro) == "table" then self:addObject(self.INVEN_INVEN, ro) end - self:removeObject(self.INVEN_INVEN, item) + else + self:addObject(self.INVEN_INVEN, o) end self:sortInven() self:useEnergy() diff --git a/game/modules/tome/data/talents/techniques/archery.lua b/game/modules/tome/data/talents/techniques/archery.lua index 97a6995a84..046b3c11b7 100644 --- a/game/modules/tome/data/talents/techniques/archery.lua +++ b/game/modules/tome/data/talents/techniques/archery.lua @@ -154,7 +154,7 @@ newTalent{ o:identify(true) o:forAllStack(function(so) so.cost = 0 end) self:addObject(self.INVEN_INVEN, o) - game.logPlayer(self, "You create some ammo: %d %s", o:getNumber(), o:getName()) + game.logPlayer(self, "You create some ammo: %s", o:getName()) else game.logPlayer(self, "You found nothing!") end diff --git a/ideas/classes.ods b/ideas/classes.ods index 2480c82ce39e2dc13f1bcf39cd5c7f63eb69ad16..194e657f80c10017014ccba566857bbcad599091 100644 GIT binary patch delta 13737 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 delta 12973 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%0D>%OhG%Tn)h=iJ1Im(A7JX1VsBqwBRuZ#s1 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 -- GitLab