Pick up thrown items

This commit is contained in:
2025-03-27 00:37:16 -07:00
parent 096786f97e
commit 2378030a0f
5 changed files with 53 additions and 8 deletions

View File

@@ -305,12 +305,15 @@ public partial class Game : Node3D, IGame
DropRestorative(defeatedLocation);
}
public InventoryItem RerollItem(InventoryItem itemToReroll)
public InventoryItem RerollItem(InventoryItem itemToReroll, bool insertIntoInventory = true)
{
var itemDb = new ItemDatabase();
var currentIndex = Player.Inventory.Items.IndexOf(itemToReroll);
Player.Inventory.Remove(itemToReroll);
if (insertIntoInventory)
Player.Inventory.Remove(itemToReroll);
InventoryItem rolledItem = null;
if (itemToReroll is Weapon weapon)
@@ -326,7 +329,8 @@ public partial class Game : Node3D, IGame
if (itemToReroll is ConsumableItem consumableItem)
rolledItem = itemDb.PickItem(consumableItem);
Player.Inventory.TryInsert(rolledItem, currentIndex);
if (insertIntoInventory)
Player.Inventory.TryInsert(rolledItem, currentIndex);
return rolledItem;
}