local Pocket = Object:extend() function Pocket:new(pocketdata) self.name = pocketdata.name self.fullname = pocketdata.fullname self.inBattle = pocketdata.inBattle self.description = pocketdata.description self.list = {} end function Pocket:addItem(item, number) local success = false for i,itemData in ipairs(self.list) do if (itemData.name == item) then itemData.number = itemData.number + number success = true end end if (not success) then local itemData = {} itemData.name = item itemData.number = number table.insert(self.list, itemData) end end function Pocket:removeItem(item, number) for i,itemData in ipairs(self.list) do if (itemData.name == item) then if (itemData.number > number) then itemData.number = itemData.number - number else table.remove(self.list, i) end end end end function Pocket:getItem(name) for i, itemData in ipairs(self.list) do if (itemData.name == name) then return itemData end end return nil end function Pocket:getItemNumber(name) local item = self:getItem(name) if (item == nil) then return 0 else return item.number end end return Pocket