From de8b82c9821b29e908647a3b65cd4fda0f26d536 Mon Sep 17 00:00:00 2001 From: Naruse <71993948+DevilProMT@users.noreply.github.com> Date: Thu, 23 Apr 2026 17:38:15 +0800 Subject: [PATCH] unlock some feature --- GameServer/Game/Player/PlayerInstance.cs | 21 +++++++++++++++---- .../CallGS/Handlers/Lineup/Lineup_Update.cs | 10 +++++++++ .../CallGS/Handlers/Role/Role_EnterLevel.cs | 14 +++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 GameServer/Server/CallGS/Handlers/Lineup/Lineup_Update.cs create mode 100644 GameServer/Server/CallGS/Handlers/Role/Role_EnterLevel.cs diff --git a/GameServer/Game/Player/PlayerInstance.cs b/GameServer/Game/Player/PlayerInstance.cs index 48228a2..9dc2c85 100644 --- a/GameServer/Game/Player/PlayerInstance.cs +++ b/GameServer/Game/Player/PlayerInstance.cs @@ -142,6 +142,7 @@ public class PlayerInstance(PlayerGameData data) Name = Data.Name, Level = Data.Level, Sex = Data.Gender, + Vigor = 240, Solutions = { new Lineup // TODO Lineup Manager @@ -155,8 +156,8 @@ public class PlayerInstance(PlayerGameData data) }, }; - foreach(var weapon in InventoryManager.InventoryData.Weapons.Values) proto.Items.Add(weapon.ToProto()); - foreach (var skin in InventoryManager.InventoryData.Skins.Values) proto.Items.Add(skin.ToProto()); + //foreach(var weapon in InventoryManager.InventoryData.Weapons.Values) proto.Items.Add(weapon.ToProto()); + //foreach (var skin in InventoryManager.InventoryData.Skins.Values) proto.Items.Add(skin.ToProto()); foreach (var chara in CharacterManager.CharacterData.Characters) proto.Items.Add(chara.ToProto()); foreach (var x in Data.Attrs) @@ -228,13 +229,25 @@ public class PlayerInstance(PlayerGameData data) // Launch.GPASSID = 22 stores pass counts. ChapterLevel.GID = 21 stores star flags. // Completing the prologue/early chapter range prevents function conditions from // treating the account as a fresh tutorial player. - for (uint levelId = 10_000; levelId <= 10_160; levelId++) + for (uint levelId = 10_000; levelId <= 11_007; levelId++) { yield return (21, levelId, 7); yield return (22, levelId, 1); } - foreach (var levelId in new uint[] { 10_121, 10_122, 10_123, 50_000, 50_151 }) + for (uint levelId = 12_001; levelId <= 12_075; levelId++) + { + yield return (21, levelId, 7); + yield return (22, levelId, 1); + } + + for (uint levelId = 13_002; levelId <= 13_081; levelId++) + { + yield return (21, levelId, 7); + yield return (22, levelId, 1); + } + + foreach (var levelId in new uint[] { 11_315, 11_311, 11_313, 11_322, 11_331, 11_333, 10_123, 50_000, 50_151 }) { yield return (21, levelId, 7); yield return (22, levelId, 1); diff --git a/GameServer/Server/CallGS/Handlers/Lineup/Lineup_Update.cs b/GameServer/Server/CallGS/Handlers/Lineup/Lineup_Update.cs new file mode 100644 index 0000000..a765c5d --- /dev/null +++ b/GameServer/Server/CallGS/Handlers/Lineup/Lineup_Update.cs @@ -0,0 +1,10 @@ +namespace MikuSB.GameServer.Server.CallGS.Handlers.Lineup; + +[CallGSApi("Lineup_Update")] +public class Lineup_Update : ICallGSHandler +{ + public async Task Handle(Connection connection, string param, ushort seqNo) + { + await CallGSRouter.SendScript(connection, "UpdateLineup", "{}", seqNo); + } +} diff --git a/GameServer/Server/CallGS/Handlers/Role/Role_EnterLevel.cs b/GameServer/Server/CallGS/Handlers/Role/Role_EnterLevel.cs new file mode 100644 index 0000000..25a7f91 --- /dev/null +++ b/GameServer/Server/CallGS/Handlers/Role/Role_EnterLevel.cs @@ -0,0 +1,14 @@ +namespace MikuSB.GameServer.Server.CallGS.Handlers.Role; + +// Response:{tbRet:{nSeed:random_number}} +[CallGSApi("Role_EnterLevel")] +public class Role_EnterLevel : ICallGSHandler +{ + private static readonly Random _random = new Random(); + + public async Task Handle(Connection connection, string param, ushort seqNo) + { + string rsp = $"{{\"tbRet\":{{\"nSeed\":{_random.Next(1, 1000000000)}}}}}"; + await CallGSRouter.SendScript(connection, "Role_EnterLevel", rsp, seqNo); + } +} \ No newline at end of file