Browse Source

Revert "optimized deleting items"

This reverts commit 0ac7a1a7fa.
lakebane-master
FatBoy-DOTC 7 months ago
parent
commit
b28c157a5c
  1. 64
      src/engine/net/client/ClientMessagePump.java

64
src/engine/net/client/ClientMessagePump.java

@ -542,41 +542,51 @@ public class ClientMessagePump implements NetMsgHandler {
} }
private static void deleteItem(DeleteItemMsg msg, ClientConnection origin) { private static void DeleteItem(DeleteItemMsg msg, ClientConnection origin) {
CharacterItemManager itemManager = origin.getPlayerCharacter().getCharItemManager();
int uuid = msg.getUUID();
PlayerCharacter sourcePlayer = origin.getPlayerCharacter(); PlayerCharacter sourcePlayer = origin.getPlayerCharacter();
if (sourcePlayer == null || !sourcePlayer.isAlive()) {
if (sourcePlayer == null)
return; return;
}
CharacterItemManager itemManager = sourcePlayer.getCharItemManager(); if (!sourcePlayer.isAlive())
Item item = Item.getFromCache(msg.getUUID());
if (item == null || !canDeleteItem(item, itemManager)) {
return; return;
}
int value = item.getItemBase().value; Item i = Item.getFromCache(msg.getUUID());
if (item.getItemBase().isRune()) {
value = 500000;
}
if (sourcePlayer.getCharItemManager().getGoldInventory().getNumOfItems() + value > 10000000) { if (i == null)
return; return;
}
if (itemManager.delete(item)) { if(i.getItemBaseID() == 7)
itemManager.addGoldToInventory(value, false); return; //cant delete gold
itemManager.updateInventory();
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg); if (!itemManager.doesCharOwnThisItem(i.getObjectUUID()))
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY); return;
}
}
private static boolean canDeleteItem(Item item, CharacterItemManager itemManager) { if (!itemManager.inventoryContains(i))
return item.getItemBaseID() != 7 && // Can't delete gold return;
item.getItemBaseID() != 980066 && // Can't delete conc pots
item.canDestroy && if(i.getItemBaseID() == 980066)
itemManager.doesCharOwnThisItem(item.getObjectUUID()) && return;
itemManager.inventoryContains(item);
if (i.canDestroy) {
int value = i.getItemBase().value;
if(i.getItemBase().isRune())
value = 500000;
if(sourcePlayer.getCharItemManager().getGoldInventory().getNumOfItems() + value > 10000000){
return;
}
if (itemManager.delete(i) == true) {
sourcePlayer.getCharItemManager().addGoldToInventory(value,false);
sourcePlayer.getCharItemManager().updateInventory();
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY);
}
}
} }
private static void ackBankWindowOpened(AckBankWindowOpenedMsg msg, ClientConnection origin) { private static void ackBankWindowOpened(AckBankWindowOpenedMsg msg, ClientConnection origin) {
@ -1969,7 +1979,7 @@ public class ClientMessagePump implements NetMsgHandler {
TransferItemFromInventoryToEquip((TransferItemFromInventoryToEquipMsg) msg, origin); TransferItemFromInventoryToEquip((TransferItemFromInventoryToEquipMsg) msg, origin);
break; break;
case DELETEOBJECT: case DELETEOBJECT:
deleteItem((DeleteItemMsg) msg, origin); DeleteItem((DeleteItemMsg) msg, origin);
break; break;
case VIEWRESOURCES: case VIEWRESOURCES:
ViewResourcesMessage((ViewResourcesMessage) msg, origin); ViewResourcesMessage((ViewResourcesMessage) msg, origin);

Loading…
Cancel
Save