diff --git a/src/engine/net/client/ClientMessagePump.java b/src/engine/net/client/ClientMessagePump.java index d31a63c3..45468b54 100644 --- a/src/engine/net/client/ClientMessagePump.java +++ b/src/engine/net/client/ClientMessagePump.java @@ -560,12 +560,37 @@ public class ClientMessagePump implements NetMsgHandler { if (!itemManager.inventoryContains(i)) return; - if (i.isCanDestroy()) - if (itemManager.delete(i) == true) { + if (i.isCanDestroy()) { + if (itemManager.delete(i)) { Dispatch dispatch = Dispatch.borrow(sourcePlayer, msg); DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.SECONDARY); - } + ItemBase ib = i.getItemBase(); + + if(ib == null) + return; + + if(ib.getUUID() == 7) // don't allow gold to junk for gold + return; + + int value = ib.getBaseValue(); + + Item gold = itemManager.getGoldInventory(); + int curAmt; + if (gold == null) + curAmt = 0; + else + curAmt = gold.getNumOfItems(); + + if ((curAmt + value) > MBServerStatics.PLAYER_GOLD_LIMIT) { + ChatManager.chatSystemInfo(sourcePlayer, "This would place your inventory over " + MBServerStatics.PLAYER_GOLD_LIMIT + " gold."); + return; + } + + itemManager.addGoldToInventory(value, false); + + } + } } private static void ackBankWindowOpened(AckBankWindowOpenedMsg msg, ClientConnection origin) {