From 4a0f740e03bd92c33f7ba6118204e204f85413ae Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 12 Sep 2024 20:53:04 +0900 Subject: [PATCH] fix: crafting an item could unequip any holding item --- .../terrarum/modulebasegame/gameactors/ActorInventory.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt index 1675f1068..871d55b25 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt @@ -74,11 +74,13 @@ class ActorInventory() : FixtureInventory() { * e.g. re-assign after this operation */ override fun remove(item: GameItem, count: Long): Long { return super.remove(item, count) { existingItem -> + // unequip, if applicable actor.unequipItem(existingItem.itm) // also unequip on the quickslot actor.actorValue.getAsInt(AVKey.__PLAYER_QUICKSLOTSEL)?.let { - setQuickslotItem(it, null) + if (quickSlot[it] != null && quickSlot[it] == existingItem.itm) + setQuickslotItem(it, null) } } }