mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
Implement simulated universe start screen
This commit is contained in:
@@ -29,6 +29,7 @@ public class GameData {
|
||||
@Getter private static Int2ObjectMap<HeroExcel> heroExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ChallengeExcel> challengeExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ChallengeTargetExcel> challengeTargetExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RogueAreaExcel> rogueAreaExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<ShopExcel> shopExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
private static Int2ObjectMap<AvatarPromotionExcel> avatarPromotionExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
19
src/main/java/emu/lunarcore/data/excel/RogueAreaExcel.java
Normal file
19
src/main/java/emu/lunarcore/data/excel/RogueAreaExcel.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"RogueAreaConfig.json"})
|
||||
public class RogueAreaExcel extends GameResource {
|
||||
private int RogueAreaID;
|
||||
private int AreaProgress;
|
||||
private int Difficulty;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return RogueAreaID;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
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.PacketGetRogueHandbookDataScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetRogueHandbookDataCsReq)
|
||||
public class HandlerGetRogueHandbookDataCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(new PacketGetRogueHandbookDataScRsp());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,13 +4,14 @@ 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.PacketGetRogueInfoScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetRogueInfoCsReq)
|
||||
public class HandlerGetRogueInfoCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(CmdId.GetRogueInfoScRsp);
|
||||
session.send(new PacketGetRogueInfoScRsp());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
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.PacketGetRogueScoreRewardInfoScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetRogueScoreRewardInfoCsReq)
|
||||
public class HandlerGetRogueScoreRewardInfoCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(new PacketGetRogueScoreRewardInfoScRsp());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
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;
|
||||
|
||||
@Opcodes(CmdId.GetRogueTalentInfoCsReq)
|
||||
public class HandlerGetRogueTalentInfoCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(CmdId.GetRogueTalentInfoScRsp);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
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;
|
||||
|
||||
@Opcodes(CmdId.StartRogueCsReq)
|
||||
public class HandlerStartRogueCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(CmdId.StartRogueScRsp);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.proto.GetRogueHandbookDataScRspOuterClass.GetRogueHandbookDataScRsp;
|
||||
import emu.lunarcore.proto.RogueHandbookDataOuterClass.RogueHandbookData;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketGetRogueHandbookDataScRsp extends BasePacket {
|
||||
|
||||
public PacketGetRogueHandbookDataScRsp() {
|
||||
super(CmdId.GetRogueHandbookDataScRsp);
|
||||
|
||||
var handbook = RogueHandbookData.newInstance()
|
||||
.setRogueCurrentVersion(1)
|
||||
.setIsMiracleUnlock(true);
|
||||
|
||||
var data = GetRogueHandbookDataScRsp.newInstance()
|
||||
.setHandbookInfo(handbook);
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.proto.GetRogueInfoScRspOuterClass.GetRogueInfoScRsp;
|
||||
import emu.lunarcore.proto.RogueAreaOuterClass.RogueArea;
|
||||
import emu.lunarcore.proto.RogueAreaStatusOuterClass.RogueAreaStatus;
|
||||
import emu.lunarcore.proto.RogueInfoDataOuterClass.RogueInfoData;
|
||||
import emu.lunarcore.proto.RogueInfoOuterClass.RogueInfo;
|
||||
import emu.lunarcore.proto.RogueScoreRewardInfoOuterClass.RogueScoreRewardInfo;
|
||||
import emu.lunarcore.proto.RogueSeasonInfoOuterClass.RogueSeasonInfo;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketGetRogueInfoScRsp extends BasePacket {
|
||||
|
||||
public PacketGetRogueInfoScRsp() {
|
||||
super(CmdId.GetRogueInfoScRsp);
|
||||
|
||||
int seasonId = 67; // TODO un hardcode
|
||||
long beginTime = (System.currentTimeMillis() / 1000) - TimeUnit.DAYS.toSeconds(1);
|
||||
long endTime = beginTime + TimeUnit.DAYS.toSeconds(8);
|
||||
|
||||
var score = RogueScoreRewardInfo.newInstance()
|
||||
.setPoolId(seasonId)
|
||||
.setPoolRefreshed(true)
|
||||
.setHasTakenInitialScore(true);
|
||||
|
||||
var season = RogueSeasonInfo.newInstance()
|
||||
.setBeginTime(beginTime)
|
||||
.setRogueSeasonId(seasonId)
|
||||
.setEndTime(endTime);
|
||||
|
||||
var data = RogueInfoData.newInstance()
|
||||
.setRogueScoreInfo(score)
|
||||
.setRogueSeasonInfo(season);
|
||||
|
||||
// Main proto
|
||||
var proto = GetRogueInfoScRsp.newInstance();
|
||||
|
||||
RogueInfo info = proto.getMutableRogueInfo()
|
||||
.setRogueScoreInfo(score)
|
||||
.setRogueData(data)
|
||||
.setRogueSeasonId(seasonId)
|
||||
.setBeginTime(beginTime)
|
||||
.setEndTime(endTime);
|
||||
|
||||
for (var excel : GameData.getRogueAreaExcelMap().values()) {
|
||||
var area = RogueArea.newInstance()
|
||||
.setAreaId(excel.getRogueAreaID())
|
||||
.setRogueAreaStatus(RogueAreaStatus.ROGUE_AREA_STATUS_FIRST_PASS);
|
||||
|
||||
info.addRogueAreaList(area);
|
||||
}
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.proto.GetRogueScoreRewardInfoScRspOuterClass.GetRogueScoreRewardInfoScRsp;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketGetRogueScoreRewardInfoScRsp extends BasePacket {
|
||||
|
||||
public PacketGetRogueScoreRewardInfoScRsp() {
|
||||
super(CmdId.GetRogueScoreRewardInfoScRsp);
|
||||
|
||||
var data = GetRogueScoreRewardInfoScRsp.newInstance();
|
||||
|
||||
data.getMutableScoreRewardInfo()
|
||||
.setPoolId(1) // TODO un hardcode
|
||||
.setPoolRefreshed(true)
|
||||
.setHasTakenInitialScore(true);
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user