From 5a4c300612f867b7e35ad06785ab938dfe8fd083 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 12 Jul 2024 03:00:42 +0900 Subject: [PATCH] player now equips the item picked up, if said item did not exist in their inventory --- .../terrarum/modulebasegame/gameactors/DroppedItem.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt index c1e641487..8a3d48059 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt @@ -169,8 +169,15 @@ open class DroppedItem : ActorWithBody { fun onItemPickup(actor: ActorWithBody) { flagDespawn = true + val actorHadTheSameItem = (actor as Pocketed).inventory.contains(itemID) (actor as Pocketed).inventory.add(itemID, itemCount) Terrarum.ingame!!.sendItemPickupNoticelet(itemID, itemCount) ItemCodex[itemID]!!.effectOnPickup(actor) + + // if actor did not have the same item AND holding nothing, equip it + val qs = actor.actorValue.getAsInt(AVKey.__PLAYER_QUICKSLOTSEL) + if (!actorHadTheSameItem && qs != null && (actor as Pocketed).inventory.getQuickslotItem(qs) == null) { + (actor as Pocketed).inventory.setQuickslotItem(qs, itemID) + } } } \ No newline at end of file