Browse Source

optimized deleting items

lakebane-master
FatBoy-DOTC 6 months ago
parent
commit
0ac7a1a7fa
  1. 58
      src/engine/net/client/ClientMessagePump.java

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

@ -542,51 +542,41 @@ public class ClientMessagePump implements NetMsgHandler { @@ -542,51 +542,41 @@ public class ClientMessagePump implements NetMsgHandler {
}
private static void DeleteItem(DeleteItemMsg msg, ClientConnection origin) {
CharacterItemManager itemManager = origin.getPlayerCharacter().getCharItemManager();
int uuid = msg.getUUID();
private static void deleteItem(DeleteItemMsg msg, ClientConnection origin) {
PlayerCharacter sourcePlayer = origin.getPlayerCharacter();
if (sourcePlayer == null)
return;
if (!sourcePlayer.isAlive())
return;
Item i = Item.getFromCache(msg.getUUID());
if (i == null)
return;
if(i.getItemBaseID() == 7)
return; //cant delete gold
if (!itemManager.doesCharOwnThisItem(i.getObjectUUID()))
return;
if (!itemManager.inventoryContains(i))
if (sourcePlayer == null || !sourcePlayer.isAlive()) {
return;
}
if(i.getItemBaseID() == 980066)
CharacterItemManager itemManager = sourcePlayer.getCharItemManager();
Item item = Item.getFromCache(msg.getUUID());
if (item == null || !canDeleteItem(item, itemManager)) {
return;
}
if (i.canDestroy) {
int value = i.getItemBase().value;
if(i.getItemBase().isRune())
int value = item.getItemBase().value;
if (item.getItemBase().isRune()) {
value = 500000;
if(sourcePlayer.getCharItemManager().getGoldInventory().getNumOfItems() + value > 10000000){
}
if (sourcePlayer.getCharItemManager().getGoldInventory().getNumOfItems() + value > 10000000) {
return;
}
if (itemManager.delete(i) == true) {
sourcePlayer.getCharItemManager().addGoldToInventory(value,false);
sourcePlayer.getCharItemManager().updateInventory();
if (itemManager.delete(item)) {
itemManager.addGoldToInventory(value, false);
itemManager.updateInventory();
Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY);
}
}
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);
}
private static void ackBankWindowOpened(AckBankWindowOpenedMsg msg, ClientConnection origin) {
@ -1750,7 +1740,7 @@ public class ClientMessagePump implements NetMsgHandler { @@ -1750,7 +1740,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