mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-23 10:44:36 +01:00
Properly show rogue talent screen
This commit is contained in:
@@ -34,6 +34,7 @@ public class GameConstants {
|
||||
|
||||
// Rogue
|
||||
public static final int ROGUE_ENTRANCE = 801120102;
|
||||
public static final int ROGUE_TALENT_POINT_ITEM_ID = 32;
|
||||
|
||||
// Custom
|
||||
public static final int SERVER_CONSOLE_UID = 99;
|
||||
|
||||
@@ -34,8 +34,9 @@ public class GameData {
|
||||
@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<RogueManagerExcel> rogueManagerExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RogueTalentExcel> rogueTalentExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RogueAreaExcel> rogueAreaExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RogueRoomExcel> rogueRoomExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
@Getter private static Int2ObjectMap<RogueMonsterExcel> rogueMonsterExcelMap = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
|
||||
21
src/main/java/emu/lunarcore/data/excel/RogueTalentExcel.java
Normal file
21
src/main/java/emu/lunarcore/data/excel/RogueTalentExcel.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package emu.lunarcore.data.excel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import emu.lunarcore.data.GameResource;
|
||||
import emu.lunarcore.data.ResourceType;
|
||||
import emu.lunarcore.data.common.ItemParam;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = {"RogueTalent.json"})
|
||||
public class RogueTalentExcel extends GameResource {
|
||||
private int TalentID;
|
||||
private List<ItemParam> Cost;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return TalentID;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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.PacketGetRogueTalentInfoScRsp;
|
||||
|
||||
@Opcodes(CmdId.GetRogueTalentInfoCsReq)
|
||||
public class HandlerGetRogueTalentInfoCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
session.send(CmdId.GetRogueTalentInfoScRsp);
|
||||
session.send(new PacketGetRogueTalentInfoScRsp(session.getPlayer().getRogueManager()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.data.excel.RogueTalentExcel;
|
||||
import emu.lunarcore.game.rogue.RogueManager;
|
||||
import emu.lunarcore.proto.GetRogueTalentInfoScRspOuterClass.GetRogueTalentInfoScRsp;
|
||||
import emu.lunarcore.proto.RogueTalentOuterClass.RogueTalent;
|
||||
import emu.lunarcore.proto.RogueTalentStatusOuterClass.RogueTalentStatus;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketGetRogueTalentInfoScRsp extends BasePacket {
|
||||
|
||||
public PacketGetRogueTalentInfoScRsp(RogueManager rogueManager) {
|
||||
super(CmdId.GetRogueTalentInfoScRsp);
|
||||
|
||||
var data = GetRogueTalentInfoScRsp.newInstance();
|
||||
|
||||
for (RogueTalentExcel excel : GameData.getRogueTalentExcelMap().values()) {
|
||||
var talent = RogueTalent.newInstance()
|
||||
.setTalentId(excel.getTalentID())
|
||||
.setStatus(RogueTalentStatus.ROGUE_TALENT_STATUS_UNLOCK);
|
||||
|
||||
data.getMutableTalentInfo().addRogueTalent(talent);
|
||||
}
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user