From ee6c7d029684de20822bf4186af3dbca5a52104d Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Tue, 26 Sep 2023 23:54:19 -0700 Subject: [PATCH] Fix soft lock when talking to shop npcs --- .../recv/HandlerGetNpcTakenRewardCsReq.java | 20 +++++++++++++++++++ .../send/PacketGetNpcTakenRewardScRsp.java | 17 ++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/main/java/emu/lunarcore/server/packet/recv/HandlerGetNpcTakenRewardCsReq.java create mode 100644 src/main/java/emu/lunarcore/server/packet/send/PacketGetNpcTakenRewardScRsp.java diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetNpcTakenRewardCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetNpcTakenRewardCsReq.java new file mode 100644 index 0000000..b8a1a4e --- /dev/null +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerGetNpcTakenRewardCsReq.java @@ -0,0 +1,20 @@ +package emu.lunarcore.server.packet.recv; + +import emu.lunarcore.proto.GetNpcTakenRewardCsReqOuterClass.GetNpcTakenRewardCsReq; +import emu.lunarcore.server.game.GameSession; +import emu.lunarcore.server.packet.CmdId; +import emu.lunarcore.server.packet.Opcodes; +import emu.lunarcore.server.packet.PacketHandler; +import emu.lunarcore.server.packet.send.PacketGetNpcTakenRewardScRsp; + +@Opcodes(CmdId.GetNpcTakenRewardCsReq) +public class HandlerGetNpcTakenRewardCsReq extends PacketHandler { + + @Override + public void handle(GameSession session, byte[] header, byte[] data) throws Exception { + var req = GetNpcTakenRewardCsReq.parseFrom(data); + + session.send(new PacketGetNpcTakenRewardScRsp(req.getNpcId())); + } + +} diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketGetNpcTakenRewardScRsp.java b/src/main/java/emu/lunarcore/server/packet/send/PacketGetNpcTakenRewardScRsp.java new file mode 100644 index 0000000..a379cfd --- /dev/null +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketGetNpcTakenRewardScRsp.java @@ -0,0 +1,17 @@ +package emu.lunarcore.server.packet.send; + +import emu.lunarcore.proto.GetNpcTakenRewardScRspOuterClass.GetNpcTakenRewardScRsp; +import emu.lunarcore.server.packet.BasePacket; +import emu.lunarcore.server.packet.CmdId; + +public class PacketGetNpcTakenRewardScRsp extends BasePacket { + + public PacketGetNpcTakenRewardScRsp(int npcId) { + super(CmdId.GetNpcTakenRewardScRsp); + + var data = GetNpcTakenRewardScRsp.newInstance() + .setNpcId(npcId); + + this.setData(data); + } +}