Inventory: Handle removeItem leftovers (#8884)

This commit is contained in:
SmallJoker 2019-09-02 19:30:36 +02:00 committed by GitHub
parent cd1d01b8b4
commit f3acdd3914
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -680,7 +680,11 @@ ItemStack InventoryList::removeItem(const ItemStack &item)
for (auto i = m_items.rbegin(); i != m_items.rend(); ++i) {
if (i->name == item.name) {
u32 still_to_remove = item.count - removed.count;
removed.addItem(i->takeItem(still_to_remove), m_itemdef);
ItemStack leftover = removed.addItem(i->takeItem(still_to_remove),
m_itemdef);
// Allow oversized stacks
removed.count += leftover.count;
if (removed.count == item.count)
break;
}