Browse Source

resources auto stack when entering inventory

lakebane-master
FatBoy-DOTC 9 months ago
parent
commit
d9a03ebf93
  1. 21
      src/engine/objects/CharacterItemManager.java

21
src/engine/objects/CharacterItemManager.java

@ -1251,6 +1251,27 @@ public class CharacterItemManager {
ItemBase ib = i.getItemBase(); ItemBase ib = i.getItemBase();
if (ib != null) if (ib != null)
this.inventoryWeight += ib.getWeight(); this.inventoryWeight += ib.getWeight();
if (i.getItemBase().getType().equals(ItemType.RESOURCE) && this.getOwner().getObjectType().equals(GameObjectType.PlayerCharacter)) {
int count = i.getNumOfItems();
ArrayList<Item> 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();
}
}
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();
return true;
}
}
return true; return true;
} }

Loading…
Cancel
Save