Add reliquary decomposition (aka strongbox).

This commit is contained in:
GanyusLeftHorn
2022-07-06 00:19:22 -07:00
committed by Melledy
parent 952448220d
commit 6338c17189
7 changed files with 170 additions and 0 deletions

View File

@@ -92,6 +92,7 @@ public final class GameServer extends KcpServer {
EnergyManager.initialize();
StaminaManager.initialize();
CookingManager.initialize();
CombineManger.initialize();
this.address = address;
this.packetHandler = new GameServerPacketHandler(PacketHandler.class);

View File

@@ -0,0 +1,16 @@
package emu.grasscutter.server.packet.recv;
import emu.grasscutter.net.packet.Opcodes;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.ReliquaryDecomposeReqOuterClass.ReliquaryDecomposeReq;
import emu.grasscutter.net.packet.PacketHandler;
import emu.grasscutter.server.game.GameSession;
@Opcodes(PacketOpcodes.ReliquaryDecomposeReq)
public class HandlerReliquaryDecomposeReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
ReliquaryDecomposeReq req = ReliquaryDecomposeReq.parseFrom(payload);
session.getServer().getCombineManger().decomposeReliquaries(session.getPlayer(), req.getConfigId(), req.getTargetCount(), req.getGuidListList());
}
}

View File

@@ -0,0 +1,30 @@
package emu.grasscutter.server.packet.send;
import java.util.List;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.ReliquaryDecomposeRspOuterClass.ReliquaryDecomposeRsp;
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
public class PacketReliquaryDecomposeRsp extends BasePacket {
public PacketReliquaryDecomposeRsp(Retcode retcode) {
super(PacketOpcodes.ReliquaryDecomposeRsp);
ReliquaryDecomposeRsp proto = ReliquaryDecomposeRsp.newBuilder()
.setRetcode(retcode.getNumber())
.build();
this.setData(proto);
}
public PacketReliquaryDecomposeRsp(List<Long> output) {
super(PacketOpcodes.ReliquaryDecomposeRsp);
ReliquaryDecomposeRsp proto = ReliquaryDecomposeRsp.newBuilder()
.addAllGuidList(output)
.build();
this.setData(proto);
}
}