From 139fe2cf27100de79ce20fb21de511f3d96cb144 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:23:19 -0800 Subject: [PATCH] Force complete fate card quests since they are not handled yet --- src/main/java/emu/nebula/data/GameData.java | 1 + .../StarTowerBookFateCardQuestDef.java | 16 ++++++++++ .../HandlerTowerBookFateCardDetailReq.java | 30 +++++++++++++++++++ .../handlers/HandlerVampireTalentShowReq.java | 17 +++++++++++ 4 files changed, 64 insertions(+) create mode 100644 src/main/java/emu/nebula/data/resources/StarTowerBookFateCardQuestDef.java create mode 100644 src/main/java/emu/nebula/server/handlers/HandlerTowerBookFateCardDetailReq.java create mode 100644 src/main/java/emu/nebula/server/handlers/HandlerVampireTalentShowReq.java diff --git a/src/main/java/emu/nebula/data/GameData.java b/src/main/java/emu/nebula/data/GameData.java index 3ed8603..d4aa271 100644 --- a/src/main/java/emu/nebula/data/GameData.java +++ b/src/main/java/emu/nebula/data/GameData.java @@ -94,6 +94,7 @@ public class GameData { @Getter private static DataTable SubNoteSkillPromoteGroupDataTable = new DataTable<>(); @Getter private static DataTable StarTowerBookFateCardBundleDataTable = new DataTable<>(); + @Getter private static DataTable StarTowerBookFateCardQuestDataTable = new DataTable<>(); @Getter private static DataTable StarTowerBookFateCardDataTable = new DataTable<>(); @Getter private static DataTable FateCardDataTable = new DataTable<>(); diff --git a/src/main/java/emu/nebula/data/resources/StarTowerBookFateCardQuestDef.java b/src/main/java/emu/nebula/data/resources/StarTowerBookFateCardQuestDef.java new file mode 100644 index 0000000..a981544 --- /dev/null +++ b/src/main/java/emu/nebula/data/resources/StarTowerBookFateCardQuestDef.java @@ -0,0 +1,16 @@ +package emu.nebula.data.resources; + +import emu.nebula.data.BaseDef; +import emu.nebula.data.ResourceType; +import lombok.Getter; + +@Getter +@ResourceType(name = "StarTowerBookFateCardQuest.json") +public class StarTowerBookFateCardQuestDef extends BaseDef { + private int Id; + + @Override + public int getId() { + return Id; + } +} diff --git a/src/main/java/emu/nebula/server/handlers/HandlerTowerBookFateCardDetailReq.java b/src/main/java/emu/nebula/server/handlers/HandlerTowerBookFateCardDetailReq.java new file mode 100644 index 0000000..e35a696 --- /dev/null +++ b/src/main/java/emu/nebula/server/handlers/HandlerTowerBookFateCardDetailReq.java @@ -0,0 +1,30 @@ +package emu.nebula.server.handlers; + +import emu.nebula.net.NetHandler; +import emu.nebula.net.NetMsgId; +import emu.nebula.proto.TowerBookFateCardDetail.TowerBookFateCardDetailResp; +import emu.nebula.net.HandlerId; +import emu.nebula.data.GameData; +import emu.nebula.net.GameSession; + +@HandlerId(NetMsgId.tower_book_fate_card_detail_req) +public class HandlerTowerBookFateCardDetailReq extends NetHandler { + + @Override + public byte[] handle(GameSession session, byte[] message) throws Exception { + // Build response + var rsp = TowerBookFateCardDetailResp.newInstance(); + + for (int card : session.getPlayer().getProgress().getFateCards()) { + rsp.addCards(card); + } + + for (var quest : GameData.getStarTowerBookFateCardQuestDataTable()) { + rsp.addQuests(quest.getId()); + } + + // Encode and send + return session.encodeMsg(NetMsgId.tower_book_fate_card_detail_succeed_ack, rsp); + } + +} diff --git a/src/main/java/emu/nebula/server/handlers/HandlerVampireTalentShowReq.java b/src/main/java/emu/nebula/server/handlers/HandlerVampireTalentShowReq.java new file mode 100644 index 0000000..14f2d96 --- /dev/null +++ b/src/main/java/emu/nebula/server/handlers/HandlerVampireTalentShowReq.java @@ -0,0 +1,17 @@ +package emu.nebula.server.handlers; + +import emu.nebula.net.NetHandler; +import emu.nebula.net.NetMsgId; +import emu.nebula.net.HandlerId; +import emu.nebula.net.GameSession; + +@HandlerId(NetMsgId.vampire_talent_show_req) +public class HandlerVampireTalentShowReq extends NetHandler { + + @Override + public byte[] handle(GameSession session, byte[] message) throws Exception { + // Encode and send + return session.encodeMsg(NetMsgId.vampire_talent_show_succeed_ack); + } + +}