forked from MagicBane/Server
resource stacking update
This commit is contained in:
@@ -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<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();
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user