diff --git a/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs b/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs new file mode 100644 index 0000000..7a630d7 --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Archive/CheckBookmarkScenarioExists.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Archive +{ + [PacketPath("/bookmark/scenario/exist")] + public class CheckBookmarkScenarioExists : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResExistScenarioBookmark(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/LobbyServer/Msgs/Archive/GetArchives.cs b/nksrv/LobbyServer/Msgs/Archive/GetArchives.cs index 3bf3fec..68d946e 100644 --- a/nksrv/LobbyServer/Msgs/Archive/GetArchives.cs +++ b/nksrv/LobbyServer/Msgs/Archive/GetArchives.cs @@ -15,7 +15,9 @@ namespace nksrv.LobbyServer.Msgs.Archive var req = await ReadData(); var response = new ResGetArchiveRecord(); - // TODO + response.ArchiveRecordList.AddRange([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800]); + response.UnlockedArchiveRecordList.AddRange([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800]); + // TODO: allow unlocking WriteData(response); } } diff --git a/nksrv/LobbyServer/Msgs/Event/GetClearedMission.cs b/nksrv/LobbyServer/Msgs/Event/GetClearedMission.cs new file mode 100644 index 0000000..df77d6b --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Event/GetClearedMission.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Event +{ + [PacketPath("/event/mission/getclear")] + public class GetClearedMissions : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResGetEventMissionClear(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/LobbyServer/Msgs/Event/GetJoinedEvent.cs b/nksrv/LobbyServer/Msgs/Event/GetJoinedEvent.cs index a421024..2331790 100644 --- a/nksrv/LobbyServer/Msgs/Event/GetJoinedEvent.cs +++ b/nksrv/LobbyServer/Msgs/Event/GetJoinedEvent.cs @@ -8,15 +8,66 @@ using System.Threading.Tasks; namespace nksrv.LobbyServer.Msgs.Event { [PacketPath("/event/getjoinedevent")] - public class EnterLobbyPing : LobbyMsgHandler + public class GetJoinedEvent : LobbyMsgHandler { protected override async Task HandleAsync() { var req = await ReadData(); var response = new ResGetJoinedEvent(); - + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 81301, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 34 + } + }); // TODO + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 81400, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 10 + } + }); + + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 81401, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 35 + }, + JoinAt = 0 + }); + + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 20001, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 1 + }, + JoinAt = 0 + }); WriteData(response); } diff --git a/nksrv/LobbyServer/Msgs/Event/ListEvents.cs b/nksrv/LobbyServer/Msgs/Event/ListEvents.cs index ce9111c..d889755 100644 --- a/nksrv/LobbyServer/Msgs/Event/ListEvents.cs +++ b/nksrv/LobbyServer/Msgs/Event/ListEvents.cs @@ -16,48 +16,89 @@ namespace nksrv.LobbyServer.Msgs.Event var response = new ResGetEventList(); - // TODO: Support events - - - response.EventList.Add(new NetEventData() { - Id = 100016, + Id = 81301, EventDisableDate = 1000000000000000, EventStartDate = 1, EventEndDate = 1000000000000000, EventVisibleDate = 0, - EventSystemType = 9 + EventSystemType = 34 }); + + // TODO: Support events + response.EventList.Add(new NetEventData() { - Id = 81400, - EventDisableDate = 638574479990000000, - EventStartDate = 638556192000000000, - EventEndDate = 638574479990000000, - EventVisibleDate = 638556192000000000, - EventSystemType = 10 + Id = 20001, + EventDisableDate = 1000000000000000, + EventStartDate = 1, + EventEndDate = 1000000000000000, + EventVisibleDate = 0, + EventSystemType = 1 }); + + + + // Island Adventure response.EventList.Add(new NetEventData() + { + Id = 81400, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 10 + }); + response.EventList.Add(new NetEventData() { Id = 81401, - EventStartDate = 638556192000000000, - EventVisibleDate = 638556192000000000, - EventDisableDate = 638574479990000000, - EventEndDate = 638574479990000000, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, EventSystemType = 35 }); + response.EventList.Add(new NetEventData() + { + Id = 81402, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 11 + }); + + response.EventList.Add(new NetEventData() + { + Id = 81403, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 2 + }); + + response.EventList.Add(new NetEventData() + { + Id = 160011, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventSystemType = 2 + }); // Aegis the Diver event response.EventList.Add(new NetEventData() { Id = 800001, EventSystemType = 36, - EventVisibleDate = 0, - EventStartDate = 0, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, EventDisableDate = DateTime.Now.AddDays(20).Ticks, }); diff --git a/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetFishingStepUpRewardStatus.cs b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetFishingStepUpRewardStatus.cs new file mode 100644 index 0000000..720be88 --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetFishingStepUpRewardStatus.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Minigame.IslandAdventure +{ + [PacketPath("/event/minigame/islandadventure/get/fishing/stepupreward")] + public class GetFishingStepUpRewardStatus : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResGetIslandAdventureFishingStepUpRewardStatus(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetPhotoStepUpRewardStatus.cs b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetPhotoStepUpRewardStatus.cs new file mode 100644 index 0000000..a2351b1 --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/GetPhotoStepUpRewardStatus.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Minigame.IslandAdventure +{ + [PacketPath("/event/minigame/islandadventure/get/photo/stepupreward")] + public class GetPhotoStepUpRewardStatus : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResGetIslandAdventurePhotoStepUpRewardStatus(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/ListMission.cs b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/ListMission.cs new file mode 100644 index 0000000..4e8a117 --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Minigame/IslandAdventure/ListMission.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Minigame.IslandAdventure +{ + [PacketPath("/event/minigame/islandadventure/list/mission")] + public class ListMission : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResGetIslandAdventureMissionProgress(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/LobbyServer/Msgs/Minigame/PlaySoda/GetChallengeInfo.cs b/nksrv/LobbyServer/Msgs/Minigame/PlaySoda/GetChallengeInfo.cs new file mode 100644 index 0000000..0b51f67 --- /dev/null +++ b/nksrv/LobbyServer/Msgs/Minigame/PlaySoda/GetChallengeInfo.cs @@ -0,0 +1,22 @@ +using nksrv.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace nksrv.LobbyServer.Msgs.Minigame.PlaySoda +{ + [PacketPath("/event/minigame/playsoda/challenge/getinfo")] + public class GetChallengeInfo : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var response = new ResGetPlaySodaChallengeModeInfo(); + // TODO + WriteData(response); + } + } +} diff --git a/nksrv/Protos/allmsgs.proto b/nksrv/Protos/allmsgs.proto index 2ac949a..af8ffad 100644 --- a/nksrv/Protos/allmsgs.proto +++ b/nksrv/Protos/allmsgs.proto @@ -1996,4 +1996,73 @@ message ReqGetFeatureFlag { message ResGetFeatureFlag { bool IsOpen = 1; +} + +message NetIslandAdventureMissionProgress { + int64 MissionUid = 1; + int32 MissionTid = 2; + int32 Progress = 3; + google.protobuf.Timestamp CreatedAt = 4; + google.protobuf.Timestamp ReceivedAt = 5; +} +message ReqGetIslandAdventureMissionProgress { + int32 eventId = 1; +} +message ResGetIslandAdventureMissionProgress { + repeated NetIslandAdventureMissionProgress MissionProgressList = 1; +} + +message NetEventMissionClearData { + int32 EventId = 1; + int32 EventMissionId = 2; + int64 CreatedAt = 3; +} + +message ReqGetEventMissionClear { + int32 eventId = 1; +} +message ResGetEventMissionClear { + repeated NetEventMissionClearData EventMissionClearList = 2; +} + +message ReqGetIslandAdventureFishingStepUpRewardStatus { + int32 EventId = 1; +} +message ResGetIslandAdventureFishingStepUpRewardStatus { + repeated int32 fishAccumulatedScore = 1; + repeated int32 fishStepUpRewardedStep = 2; +} + +message ReqGetIslandAdventurePhotoStepUpRewardStatus { + int32 EventId = 1; +} +message ResGetIslandAdventurePhotoStepUpRewardStatus { + int32 photoAccumulatedScore = 1; + repeated int32 PhotoStepUpRewardedStep = 2; +} + +message ReqGetPlaySodaChallengeModeInfo { + int32 EventId = 1; +} + +message NetPlaySodaEachGameInfo{ + int32 challengeStageId = 1; + int32 userRank = 2; + int32 userMaxScoreInUnion = 3; + int64 accumulatedScore = 4; + bool canReceivePointReward = 5; + bool isInGuild = 6; + int32 lastRewardStep = 7; +} +message ResGetPlaySodaChallengeModeInfo { + bool hasReceivedDailyReward = 1; + repeated NetPlaySodaEachGameInfo playSodaEachGameInfoList = 2; + NetWholeUserData wholeUser = 3; +} + +message ReqExistScenarioBookmark { + repeated string bookmarkList = 1; +} +message ResExistScenarioBookmark { + repeated string existingBookmarkList = 1; } \ No newline at end of file