mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
update Banners.json and attempt to fix GachaCeiling
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package emu.lunarcore.game.gacha;
|
||||
|
||||
import emu.lunarcore.proto.GachaCeilingOuterClass.GachaCeiling;
|
||||
import emu.lunarcore.proto.GachaCeilingAvatarOuterClass.GachaCeilingAvatar;
|
||||
import emu.lunarcore.proto.GachaInfoOuterClass.GachaInfo;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -13,6 +14,13 @@ public class GachaBanner {
|
||||
private int[] rateUpItems5;
|
||||
private int[] rateUpItems4;
|
||||
private int eventChance = 50;
|
||||
private GachaCeiling gachaCeiling;
|
||||
|
||||
private GachaCeilingAvatar createCeilingAvatarInfo(int avatarId) {
|
||||
return GachaCeilingAvatar.newInstance()
|
||||
.setRepeatedCnt(1)
|
||||
.setAvatarId(avatarId);
|
||||
}
|
||||
|
||||
public GachaInfo toProto() {
|
||||
var info = GachaInfo.newInstance()
|
||||
@@ -41,6 +49,20 @@ public class GachaBanner {
|
||||
}
|
||||
}
|
||||
|
||||
if (this.getId() == 1001) {
|
||||
GachaCeilingAvatar ceilingavatarinfo1 = createCeilingAvatarInfo(1003);
|
||||
GachaCeilingAvatar ceilingavatarinfo2 = createCeilingAvatarInfo(1107);
|
||||
GachaCeilingAvatar ceilingavatarinfo3 = createCeilingAvatarInfo(1211);
|
||||
|
||||
GachaCeiling ceilinginfo = GachaCeiling.newInstance()
|
||||
.addAvatarList(ceilingavatarinfo1)
|
||||
.addAvatarList(ceilingavatarinfo2)
|
||||
.addAvatarList(ceilingavatarinfo3)
|
||||
.setCeilingNum(169);
|
||||
|
||||
info.setGachaCeiling(ceilinginfo);
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package emu.lunarcore.server.packet.recv;
|
||||
|
||||
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.PacketGetGachaCeilingScRsp;
|
||||
import emu.lunarcore.proto.GetGachaCeilingCsReqOuterClass.GetGachaCeilingCsReq;
|
||||
|
||||
@Opcodes(CmdId.GetGachaCeilingCsReq)
|
||||
public class HandlerGetGachaCeilingCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] data) throws Exception {
|
||||
var req = GetGachaCeilingCsReq.parseFrom(data);
|
||||
session.send(new PacketGetGachaCeilingScRsp(req.getUnkfield()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.proto.GachaCeilingOuterClass.GachaCeiling;
|
||||
import emu.lunarcore.proto.GachaCeilingAvatarOuterClass.GachaCeilingAvatar;
|
||||
import emu.lunarcore.proto.GetGachaCeilingScRspOuterClass.GetGachaCeilingScRsp;
|
||||
|
||||
public class PacketGetGachaCeilingScRsp extends BasePacket {
|
||||
|
||||
private GachaCeilingAvatar createCeilingAvatarInfo(int avatarId) {
|
||||
return GachaCeilingAvatar.newInstance()
|
||||
.setRepeatedCnt(1)
|
||||
.setAvatarId(avatarId);
|
||||
}
|
||||
|
||||
public PacketGetGachaCeilingScRsp(int unkfield) {
|
||||
super(CmdId.GetGachaCeilingScRsp);
|
||||
|
||||
GachaCeilingAvatar ceilingavatarinfo1 = createCeilingAvatarInfo(1003);
|
||||
GachaCeilingAvatar ceilingavatarinfo2 = createCeilingAvatarInfo(1107);
|
||||
GachaCeilingAvatar ceilingavatarinfo3 = createCeilingAvatarInfo(1211);
|
||||
|
||||
|
||||
GachaCeiling gachaceiling = GachaCeiling.newInstance()
|
||||
.addAvatarList(ceilingavatarinfo1)
|
||||
.addAvatarList(ceilingavatarinfo2)
|
||||
.addAvatarList(ceilingavatarinfo3)
|
||||
.setCeilingNum(169);
|
||||
|
||||
var proto = GetGachaCeilingScRsp.newInstance()
|
||||
.setGachaCeiling(gachaceiling)
|
||||
.setUnkfield(unkfield);
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user