Browse Source

Revert "optimized deleting items"

This reverts commit 0ac7a1a7fa.
lakebane-master
FatBoy-DOTC 6 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 { @@ -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();
if (sourcePlayer == null || !sourcePlayer.isAlive()) {
if (sourcePlayer == null)
return;
}
CharacterItemManager itemManager = sourcePlayer.getCharItemManager();
Item item = Item.getFromCache(msg.getUUID());
if (item == null || !canDeleteItem(item, itemManager)) {
if (!sourcePlayer.isAlive())
return;
}
int value = item.getItemBase().value;
if (item.getItemBase().isRune()) {
value = 500000;
}
Item i = Item.getFromCache(msg.getUUID());
if (sourcePlayer.getCharItemManager().getGoldInventory().getNumOfItems() + value > 10000000) {
if (i == null)
return;
}
if (itemManager.delete(item)) {
itemManager.addGoldToInventory(value, false);
itemManager.updateInventory();
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY);
}
}
if(i.getItemBaseID() == 7)
return; //cant delete gold
if (!itemManager.doesCharOwnThisItem(i.getObjectUUID()))
return;
private static boolean canDeleteItem(Item item, CharacterItemManager itemManager) {
return item.getItemBaseID() != 7 && // Can't delete gold
item.getItemBaseID() != 980066 && // Can't delete conc pots
item.canDestroy &&
itemManager.doesCharOwnThisItem(item.getObjectUUID()) &&
itemManager.inventoryContains(item);
if (!itemManager.inventoryContains(i))
return;
if(i.getItemBaseID() == 980066)
return;
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) {
@ -1969,7 +1979,7 @@ public class ClientMessagePump implements NetMsgHandler { @@ -1969,7 +1979,7 @@ public class ClientMessagePump implements NetMsgHandler {
TransferItemFromInventoryToEquip((TransferItemFromInventoryToEquipMsg) msg, origin);
break;
case DELETEOBJECT:
deleteItem((DeleteItemMsg) msg, origin);
DeleteItem((DeleteItemMsg) msg, origin);
break;
case VIEWRESOURCES:
ViewResourcesMessage((ViewResourcesMessage) msg, origin);

Loading…
Cancel
Save