Add handler for SetSignatureCsReq

This commit is contained in:
Melledy
2023-09-30 04:22:59 -07:00
parent 21ab12cec5
commit 60e8bfadfc
3 changed files with 47 additions and 0 deletions

View File

@@ -147,6 +147,14 @@ public class Player {
return false;
}
public void setSignature(String signature) {
if (signature.length() > 50) { // Client's max signature length is 50
signature = signature.substring(0, 49);
}
this.signature = signature;
this.save();
}
public int setBirthday(int birthday) {
if (this.birthday == 0) {
int month = birthday / 100;

View File

@@ -0,0 +1,21 @@
package emu.lunarcore.server.packet.recv;
import emu.lunarcore.proto.SetSignatureCsReqOuterClass.SetSignatureCsReq;
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.PacketSetSignatureScRsp;
@Opcodes(CmdId.SetSignatureCsReq)
public class HandlerSetSignatureCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
var req = SetSignatureCsReq.parseFrom(data);
session.getPlayer().setSignature(req.getSignature());
session.send(new PacketSetSignatureScRsp(session.getPlayer()));
}
}

View File

@@ -0,0 +1,18 @@
package emu.lunarcore.server.packet.send;
import emu.lunarcore.game.player.Player;
import emu.lunarcore.proto.SetSignatureScRspOuterClass.SetSignatureScRsp;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketSetSignatureScRsp extends BasePacket {
public PacketSetSignatureScRsp(Player player) {
super(CmdId.SetSignatureScRsp);
var data = SetSignatureScRsp.newInstance()
.setSignature(player.getSignature());
this.setData(data);
}
}