mirror of
https://github.com/Melledy/Nebula.git
synced 2025-12-13 04:45:02 +01:00
Fix mall shop purchases
This commit is contained in:
@@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName;
|
|||||||
|
|
||||||
import emu.nebula.data.BaseDef;
|
import emu.nebula.data.BaseDef;
|
||||||
import emu.nebula.data.ResourceType;
|
import emu.nebula.data.ResourceType;
|
||||||
|
import emu.nebula.game.inventory.ItemParamMap;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -12,12 +13,26 @@ public class MallShopDef extends BaseDef {
|
|||||||
@SerializedName("Id")
|
@SerializedName("Id")
|
||||||
private String IdString;
|
private String IdString;
|
||||||
private int Stock;
|
private int Stock;
|
||||||
|
|
||||||
|
private int ExchangeItemId;
|
||||||
|
private int ExchangeItemQty;
|
||||||
|
|
||||||
private int ItemId;
|
private int ItemId;
|
||||||
private int CurrencyItemId;
|
|
||||||
private int ItemQty;
|
private int ItemQty;
|
||||||
|
|
||||||
|
private transient ItemParamMap products;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return IdString.hashCode();
|
return IdString.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoad() {
|
||||||
|
this.products = new ItemParamMap();
|
||||||
|
|
||||||
|
if (this.ItemId > 0) {
|
||||||
|
this.products.add(this.ItemId, this.ItemQty);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ public class HandlerMallShopOrderReq extends NetHandler {
|
|||||||
var req = MallShopOrderReq.parseFrom(message);
|
var req = MallShopOrderReq.parseFrom(message);
|
||||||
|
|
||||||
// Get package data
|
// Get package data
|
||||||
var data = GameData.getMallPackageDataTable().get(req.getId().hashCode());
|
var data = GameData.getMallShopDataTable().get(req.getId().hashCode());
|
||||||
if (data == null) {
|
if (data == null) {
|
||||||
return session.encodeMsg(NetMsgId.mall_shop_order_failed_ack);
|
return session.encodeMsg(NetMsgId.mall_shop_order_failed_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Buy items
|
// Buy items
|
||||||
var change = session.getPlayer().getInventory().buyItem(
|
var change = session.getPlayer().getInventory().buyItem(
|
||||||
data.getCurrencyItemId(),
|
data.getExchangeItemId(),
|
||||||
data.getCurrencyItemQty(),
|
data.getExchangeItemQty(),
|
||||||
data.getProducts(),
|
data.getProducts(),
|
||||||
req.getQty()
|
req.getQty()
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user