resource dupe

This commit is contained in:
2024-03-14 21:43:32 -05:00
parent edd7be8734
commit 2d93e408c3
2 changed files with 20 additions and 20 deletions
+19 -5
View File
@@ -1444,11 +1444,25 @@ public class ClientMessagePump implements NetMsgHandler {
return;
}
buy = Item.createItemForPlayer(sourcePlayer, ib);
if (buy != null) {
me.transferEnchants(buy);
itemMan.addItemToInventory(buy);
//itemMan.updateInventory();
if(ib.getType().ordinal() == Enum.ItemType.RESOURCE.ordinal()) {
int count = 1;
for(Item item : itemMan.getInventory()){
if(item.getItemBaseID() == ib.getUUID()){
if(item.getNumOfItems() + count <= Warehouse.getMaxResources().get(ib.getUUID())){
count += item.getNumOfItems();
itemMan.delete(item);
}
}
}
Item resource = new MobLoot(sourcePlayer,ib,count,false).promoteToItem(sourcePlayer);
itemMan.addItemToInventory(resource);
}else {
buy = Item.createItemForPlayer(sourcePlayer, ib);
if (buy != null) {
me.transferEnchants(buy);
itemMan.addItemToInventory(buy);
//itemMan.updateInventory();
}
}
}
}
+1 -15
View File
@@ -1255,21 +1255,7 @@ public class CharacterItemManager {
return false;
}
}
if(ItemBase.getItemBase(i.getItemBaseID()).getType().ordinal() == Enum.ItemType.RESOURCE.ordinal()) {
int count = i.getNumOfItems();
for(Item item : this.inventory){
if(item.getItemBaseID() == i.getItemBaseID()){
if(item.getNumOfItems() + count <= Warehouse.getMaxResources().get(i.getItemBaseID())){
count += item.getNumOfItems();
delete(item);
}
}
}
Item resource = new MobLoot(this.getOwner(),i.getItemBase(),count,false).promoteToItem((PlayerCharacter)this.getOwner());
this.inventory.add(resource);
this.itemIDtoType.put(resource.getObjectUUID(), resource.getObjectType().ordinal());
return true;
}
this.inventory.add(i);
this.itemIDtoType.put(i.getObjectUUID(), i.getObjectType().ordinal());
return true;