From 84a75f6b835701aa2152106a153f2ec53ffa091a Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Mon, 19 Feb 2024 18:39:02 -0600 Subject: [PATCH] resource stacking update --- src/engine/devcmd/cmds/SimulateBootyCmd.java | 2 +- src/engine/objects/CharacterItemManager.java | 37 +++++++------------- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/engine/devcmd/cmds/SimulateBootyCmd.java b/src/engine/devcmd/cmds/SimulateBootyCmd.java index 544e6eb4..7249ee3b 100644 --- a/src/engine/devcmd/cmds/SimulateBootyCmd.java +++ b/src/engine/devcmd/cmds/SimulateBootyCmd.java @@ -51,7 +51,7 @@ public class SimulateBootyCmd extends AbstractDevCmd { int failures = 0; int goldAmount = 0; - for (int i = 0; i < 1000; ++i) { + for (int i = 0; i < 10000; ++i) { try { mob.loadInventory(); diff --git a/src/engine/objects/CharacterItemManager.java b/src/engine/objects/CharacterItemManager.java index fe2cdf92..2213007f 100644 --- a/src/engine/objects/CharacterItemManager.java +++ b/src/engine/objects/CharacterItemManager.java @@ -1244,34 +1244,23 @@ public class CharacterItemManager { return false; } - - this.inventory.add(i); - this.itemIDtoType.put(i.getObjectUUID(), i.getObjectType().ordinal()); - - ItemBase ib = i.getItemBase(); - if (ib != null) - this.inventoryWeight += ib.getWeight(); - if (i.getItemBase().getType().equals(ItemType.RESOURCE) && this.getOwner().getObjectType().equals(GameObjectType.PlayerCharacter)) { - int count = i.getNumOfItems(); - ArrayList purge = new ArrayList<>(); - for (Item it : this.getInventory()) { - if (it.getItemBase().equals(i.getItemBase()) && it.getNumOfItems() + i.getNumOfItems() <= Warehouse.getMaxResources().get(it.getItemBaseID())) { - purge.add(it); - count += it.getNumOfItems(); + for(Item item : this.getInventory()){ + if(item.getItemBaseID() == i.getItemBaseID()){ + if(item.getNumOfItems() + i.getNumOfItems() <= Warehouse.getMaxResources().get(item.getItemBaseID())) { + item.setNumOfItems(item.getNumOfItems() + i.getNumOfItems()); + updateInventory(); + } } } - if (count <= Warehouse.getMaxResources().get(i.getItemBaseID())) { - MobLoot ml = new MobLoot(this.getOwner(), i.getItemBase(), count, false); - for (Item p : purge) { - this.removeItemFromInventory(p); - } - this.addItemToInventory(ml.promoteToItem((PlayerCharacter) this.getOwner()), 1); - this.updateInventory(ml.promoteToItem((PlayerCharacter) this.getOwner()),true); - return true; - } - } + }else { + this.inventory.add(i); + this.itemIDtoType.put(i.getObjectUUID(), i.getObjectType().ordinal()); + ItemBase ib = i.getItemBase(); + if (ib != null) + this.inventoryWeight += ib.getWeight(); + } return true; }