diff --git a/src/main/java/net/server/channel/handlers/CashShopSurpriseHandler.java b/src/main/java/net/server/channel/handlers/CashShopSurpriseHandler.java index 0d56fd2b29..4e01451eb7 100644 --- a/src/main/java/net/server/channel/handlers/CashShopSurpriseHandler.java +++ b/src/main/java/net/server/channel/handlers/CashShopSurpriseHandler.java @@ -41,6 +41,7 @@ public class CashShopSurpriseHandler extends AbstractPacketHandler { if (cssResult != null) { Item cssItem = cssResult.getLeft(), cssBox = cssResult.getRight(); c.sendPacket(PacketCreator.onCashGachaponOpenSuccess(c.getAccID(), cssBox.getSN(), cssBox.getQuantity(), cssItem, cssItem.getItemId(), cssItem.getQuantity(), true)); + c.sendPacket(PacketCreator.showCashInventory(c)); } else { c.sendPacket(PacketCreator.onCashItemGachaponOpenFailed()); } diff --git a/src/main/java/server/CashShop.java b/src/main/java/server/CashShop.java index 346a909391..d7e0ec1e28 100644 --- a/src/main/java/server/CashShop.java +++ b/src/main/java/server/CashShop.java @@ -36,6 +36,7 @@ import provider.DataProviderFactory; import provider.DataTool; import provider.wz.WZFiles; import tools.DatabaseConnection; +import tools.PacketCreator; import tools.Pair; import java.sql.Connection; @@ -407,6 +408,17 @@ public class CashShop { } } + public int getItemsSize() { + int size = 0; + lock.lock(); + try { + size = inventory.size(); + } finally { + lock.unlock(); + } + return size; + } + public List getWishList() { return wishList; } @@ -544,14 +556,14 @@ public class CashShop { Item css = getCashShopItemByItemid(ItemId.CASH_SHOP_SURPRISE); if (css != null) { + if (getItemsSize() >= 100) { + return null; + } + CashItem cItem = CashItemFactory.getRandomCashItem(); if (cItem != null) { if (css.getQuantity() > 1) { - /* if(NOT ENOUGH SPACE) { looks like we're not dealing with cash inventory limit whatsoever, k then - return null; - } */ - css.setQuantity((short) (css.getQuantity() - 1)); } else { removeFromInventory(css);