diff --git a/src/main/java/emu/nebula/data/resources/MallShopDef.java b/src/main/java/emu/nebula/data/resources/MallShopDef.java index 11026a7..b2bb621 100644 --- a/src/main/java/emu/nebula/data/resources/MallShopDef.java +++ b/src/main/java/emu/nebula/data/resources/MallShopDef.java @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName; import emu.nebula.data.BaseDef; import emu.nebula.data.ResourceType; +import emu.nebula.game.inventory.ItemParamMap; import lombok.Getter; @Getter @@ -12,12 +13,26 @@ public class MallShopDef extends BaseDef { @SerializedName("Id") private String IdString; private int Stock; + + private int ExchangeItemId; + private int ExchangeItemQty; + private int ItemId; - private int CurrencyItemId; private int ItemQty; + private transient ItemParamMap products; + @Override public int getId() { return IdString.hashCode(); } + + @Override + public void onLoad() { + this.products = new ItemParamMap(); + + if (this.ItemId > 0) { + this.products.add(this.ItemId, this.ItemQty); + } + } } diff --git a/src/main/java/emu/nebula/server/handlers/HandlerMallShopOrderReq.java b/src/main/java/emu/nebula/server/handlers/HandlerMallShopOrderReq.java index f88ed6e..35c18bb 100644 --- a/src/main/java/emu/nebula/server/handlers/HandlerMallShopOrderReq.java +++ b/src/main/java/emu/nebula/server/handlers/HandlerMallShopOrderReq.java @@ -16,15 +16,15 @@ public class HandlerMallShopOrderReq extends NetHandler { var req = MallShopOrderReq.parseFrom(message); // Get package data - var data = GameData.getMallPackageDataTable().get(req.getId().hashCode()); + var data = GameData.getMallShopDataTable().get(req.getId().hashCode()); if (data == null) { return session.encodeMsg(NetMsgId.mall_shop_order_failed_ack); } // Buy items var change = session.getPlayer().getInventory().buyItem( - data.getCurrencyItemId(), - data.getCurrencyItemQty(), + data.getExchangeItemId(), + data.getExchangeItemQty(), data.getProducts(), req.getQty() );