Merge packet handlers from quests/quests

This commit is contained in:
KingRainbow44
2023-04-14 21:59:15 -04:00
Unverified
parent b5190bca45
commit 7bdcf4e0d2
11 changed files with 243 additions and 229 deletions
@@ -1,27 +1,32 @@
package emu.grasscutter.server.packet.recv;
import emu.grasscutter.data.GameData;
import emu.grasscutter.net.packet.Opcodes;
import emu.grasscutter.net.packet.PacketHandler;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.UnlockPersonalLineReqOuterClass;
import emu.grasscutter.server.game.GameSession;
import emu.grasscutter.server.packet.send.PacketUnlockPersonalLineRsp;
@Opcodes(PacketOpcodes.UnlockPersonalLineReq)
public class HandlerUnlockPersonalLineReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
var req = UnlockPersonalLineReqOuterClass.UnlockPersonalLineReq.parseFrom(payload);
var data = GameData.getPersonalLineDataMap().get(req.getPersonalLineId());
if (data == null) {
return;
}
session.getPlayer().getQuestManager().addQuest(data.getStartQuestId());
session.getPlayer().useLegendaryKey(1);
session.send(new PacketUnlockPersonalLineRsp(data.getId(), 1, data.getChapterId()));
}
}
package emu.grasscutter.server.packet.recv;
import emu.grasscutter.data.GameData;
import emu.grasscutter.net.packet.Opcodes;
import emu.grasscutter.net.packet.PacketHandler;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
import emu.grasscutter.net.proto.UnlockPersonalLineReqOuterClass.UnlockPersonalLineReq;
import emu.grasscutter.server.game.GameSession;
import emu.grasscutter.server.packet.send.PacketUnlockPersonalLineRsp;
@Opcodes(PacketOpcodes.UnlockPersonalLineReq)
public class HandlerUnlockPersonalLineReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
var req = UnlockPersonalLineReq.parseFrom(payload);
var data = GameData.getPersonalLineDataMap().get(req.getPersonalLineId());
if (data == null) {
session.send(
new PacketUnlockPersonalLineRsp(
req.getPersonalLineId(), Retcode.RET_FAIL));
return;
}
session.getPlayer().getQuestManager().addQuest(data.getStartQuestId());
session.getPlayer().addPersonalLine(data.getId());
session.getPlayer().useLegendaryKey(1);
session.send(new PacketUnlockPersonalLineRsp(data.getId(), 1, data.getChapterId()));
}
}