|
|
|
@ -1251,6 +1251,27 @@ public class CharacterItemManager {
@@ -1251,6 +1251,27 @@ public class CharacterItemManager {
|
|
|
|
|
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<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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|