From 49dd645aa67041904cb35c1337e7e52ea99669ae Mon Sep 17 00:00:00 2001 From: Mat Date: Sun, 22 Mar 2020 12:17:04 +0200 Subject: Don't remove items twice (#4524) * Don't remove items twice --- src/Items/ItemBottle.h | 3 +-- src/Items/ItemBucket.h | 3 +-- src/Items/ItemFood.h | 5 +++++ src/Items/ItemMilk.h | 2 +- src/Items/ItemPotion.h | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src/Items') diff --git a/src/Items/ItemBottle.h b/src/Items/ItemBottle.h index 092d5d81a..b261937e5 100644 --- a/src/Items/ItemBottle.h +++ b/src/Items/ItemBottle.h @@ -84,8 +84,7 @@ public: } a_Player->GetInventory().RemoveOneEquippedItem(); - cItem NewItem(E_ITEM_POTION, 1, 0); - a_Player->GetInventory().AddItem(NewItem); + a_Player->GetInventory().AddItem(cItem(E_ITEM_POTION)); return true; } } ; diff --git a/src/Items/ItemBucket.h b/src/Items/ItemBucket.h index 487b66c8f..7a91149d1 100644 --- a/src/Items/ItemBucket.h +++ b/src/Items/ItemBucket.h @@ -163,8 +163,7 @@ public: ASSERT(!"Inventory bucket mismatch"); return false; } - cItem Item(E_ITEM_BUCKET, 1); - if (!a_Player->GetInventory().AddItem(Item)) + if (!a_Player->GetInventory().AddItem(cItem(E_ITEM_BUCKET))) { return false; } diff --git a/src/Items/ItemFood.h b/src/Items/ItemFood.h index caeca2175..3f1c40d36 100644 --- a/src/Items/ItemFood.h +++ b/src/Items/ItemFood.h @@ -103,6 +103,11 @@ public: return false; } + if (!a_Player->IsGameModeCreative()) + { + a_Player->GetInventory().RemoveOneEquippedItem(); + } + switch (m_ItemType) { case E_ITEM_BEETROOT_SOUP: diff --git a/src/Items/ItemMilk.h b/src/Items/ItemMilk.h index 79c44509f..515c80493 100644 --- a/src/Items/ItemMilk.h +++ b/src/Items/ItemMilk.h @@ -29,7 +29,7 @@ public: if (!a_Player->IsGameModeCreative()) { a_Player->GetInventory().RemoveOneEquippedItem(); - a_Player->GetInventory().AddItem(E_ITEM_BUCKET); + a_Player->GetInventory().AddItem(cItem(E_ITEM_BUCKET)); } return true; } diff --git a/src/Items/ItemPotion.h b/src/Items/ItemPotion.h index 906991348..28f8002cc 100644 --- a/src/Items/ItemPotion.h +++ b/src/Items/ItemPotion.h @@ -75,7 +75,7 @@ public: if (!a_Player->IsGameModeCreative()) { a_Player->GetInventory().RemoveOneEquippedItem(); - a_Player->GetInventory().AddItem(E_ITEM_GLASS_BOTTLE); + a_Player->GetInventory().AddItem(cItem(E_ITEM_GLASS_BOTTLE)); } return true; } -- cgit v1.2.3