From 5e54cfb3f300d65425501584aad165576a641a6a Mon Sep 17 00:00:00 2001 From: SELEKCJONER Date: Sun, 15 Dec 2024 09:30:04 +0100 Subject: [PATCH] Update events --- .../LobbyServer/Msgs/Event/EventLoginGet.cs | 26 ++ .../LobbyServer/Msgs/Event/GetJoinedEvent.cs | 28 +- EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs | 259 +++--------------- .../Msgs/Misc/GetMaintenanceNotice.cs | 22 +- .../Msgs/Pass/GetActivePassData.cs | 13 +- EpinelPS/Program.cs | 2 +- 6 files changed, 107 insertions(+), 243 deletions(-) create mode 100644 EpinelPS/LobbyServer/Msgs/Event/EventLoginGet.cs diff --git a/EpinelPS/LobbyServer/Msgs/Event/EventLoginGet.cs b/EpinelPS/LobbyServer/Msgs/Event/EventLoginGet.cs new file mode 100644 index 0000000..bb24c2c --- /dev/null +++ b/EpinelPS/LobbyServer/Msgs/Event/EventLoginGet.cs @@ -0,0 +1,26 @@ +using EpinelPS.Database; +using EpinelPS.Utils; + +namespace EpinelPS.LobbyServer.Msgs.Event +{ + [PacketPath("/event/login/get")] + public class EventLoginGet : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + var evid = req.EventId; + var response = new ResLoginEventData(); // fields "EndDate", "DisableDate", "RewardHistories", "LastAttendance" + + response.EndDate = DateTime.Now.AddDays(13).Ticks; + response.DisableDate = DateTime.Now.AddDays(13).Ticks; + response.LastAttendance = new LoginEventAttendance + { + Day = 1, // Example day value, adjust as needed + AttendanceDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks // Assign Ticks here + }; + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 1 } ); + await WriteDataAsync(response); + } + } +} diff --git a/EpinelPS/LobbyServer/Msgs/Event/GetJoinedEvent.cs b/EpinelPS/LobbyServer/Msgs/Event/GetJoinedEvent.cs index a2a812c..7e9aa95 100644 --- a/EpinelPS/LobbyServer/Msgs/Event/GetJoinedEvent.cs +++ b/EpinelPS/LobbyServer/Msgs/Event/GetJoinedEvent.cs @@ -63,12 +63,12 @@ namespace EpinelPS.LobbyServer.Msgs.Event }, JoinAt = 0 }); - // grave banner + // new guilotine banner response.EventWithJoinData.Add(new NetEventWithJoinData() { EventData = new NetEventData() { - Id = 70071, + Id = 70076, EventSystemType = 6, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, @@ -77,13 +77,13 @@ namespace EpinelPS.LobbyServer.Msgs.Event }, JoinAt = 0 }); - //grave free pull + // new maiden banner response.EventWithJoinData.Add(new NetEventWithJoinData() { EventData = new NetEventData() { - Id = 80005, - EventSystemType = 21, + Id = 70073, + EventSystemType = 6, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, @@ -91,12 +91,26 @@ namespace EpinelPS.LobbyServer.Msgs.Event }, JoinAt = 0 }); - // banner for flora + // repickup ludmila response.EventWithJoinData.Add(new NetEventWithJoinData() { EventData = new NetEventData() { - Id = 70072, + Id = 70074, + EventSystemType = 6, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks + }, + JoinAt = 0 + }); + // repickup mica + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 70075, EventSystemType = 6, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, diff --git a/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs b/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs index 24705a8..8087a47 100644 --- a/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs +++ b/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs @@ -20,256 +20,59 @@ namespace EpinelPS.LobbyServer.Msgs.Event var response = new ResGetEventList(); -/* + + // ice dragon saga response.EventList.Add(new NetEventData() { - Id = 81301, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventSystemType = 34 - }); - - response.EventList.Add(new NetEventData() - { - Id = 81500, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventSystemType = 10 - }); - - - // TODO: Support events - - response.EventList.Add(new NetEventData() - { - Id = 20001, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - 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 = 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 = 22 - }); - - // Aegis the Diver event - response.EventList.Add(new NetEventData() - { - Id = 800001, - EventSystemType = 36, - 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, - }); - - response.EventList.Add(new NetEventData() - { - Id = 70034, - EventSystemType = 6, - 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, - }); - -*/ - // Old tales -/* - response.EventList.Add(new NetEventData() - { - Id = 81600, + Id = 81700, EventSystemType = 10, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // Enable story event 1 - response.EventList.Add(new NetEventData() - { - Id = 40061, - EventSystemType = 5, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // Enable story event 2 - response.EventList.Add(new NetEventData() - { - Id = 40062, - EventSystemType = 5, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // Enable challenge mode - response.EventList.Add(new NetEventData() - { - Id = 60061, - EventSystemType = 20, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // enable "mini" game - response.EventList.Add(new NetEventData() - { - Id = 81601, - EventSystemType = 38, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // enable shop - response.EventList.Add(new NetEventData() - { - Id = 81602, - EventSystemType = 11, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // enable login event - response.EventList.Add(new NetEventData() - { - Id = 81603, - EventSystemType = 2, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - */ - // secret garden - system error when trying to enter event idk why - response.EventList.Add(new NetEventData() - { - Id = 40063, - EventSystemType = 5, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks }); - // Enable challenge mode + + // banner for new guilotine response.EventList.Add(new NetEventData() { - Id = 60063, - EventSystemType = 20, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - - // banner for grave i think - response.EventList.Add(new NetEventData() - { - Id = 70071, + Id = 70076, EventSystemType = 6, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks }); - // free pull for grave + // banner for new maiden response.EventList.Add(new NetEventData() { - Id = 80005, - EventSystemType = 21, - EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, - EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, - EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, - }); - // banner for flora - response.EventList.Add(new NetEventData() - { - Id = 70072, + Id = 70073, EventSystemType = 6, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, - EventDisableDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks + }); + // repickup ludmila + response.EventList.Add(new NetEventData() + { + Id = 70074, + EventSystemType = 6, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks + }); + // repickup mica + response.EventList.Add(new NetEventData() + { + Id = 70075, + EventSystemType = 6, + EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, + EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, + EventEndDate = DateTime.Now.AddDays(20).Ticks, + EventDisableDate = DateTime.Now.AddDays(20).Ticks }); - - //response.EventList.Add(new NetEventData() - //{ - // Id = 40054, - // EventSystemType = 5, - // 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, - //}); await WriteDataAsync(response); } } diff --git a/EpinelPS/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs b/EpinelPS/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs index 9c6fc73..3f78e4e 100644 --- a/EpinelPS/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs +++ b/EpinelPS/LobbyServer/Msgs/Misc/GetMaintenanceNotice.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; - +//idk why i did this but it still works as long as IsWhitelisted is set to true namespace EpinelPS.LobbyServer.Msgs.Misc { [PacketPath("/maintenancenotice")] @@ -7,7 +7,25 @@ namespace EpinelPS.LobbyServer.Msgs.Misc { protected override async Task HandleAsync() { - var r = new ResMaintenanceNotice(); + var req = await ReadData(); // field string OpenId + var oid = req.OpenId; + + // Create a new instance of ResMaintenanceNotice + var r = new ResMaintenanceNotice + { + IsWhitelisted = true + }; + + // Define maintenance window timestamps + var maintenanceFrom = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(DateTime.UtcNow.AddHours(-2)); // Example: 2 hour ago + var maintenanceTo = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(DateTime.UtcNow.AddHours(-1)); // Example: 1 hour ago + + // Add a new maintenance window + r.MaintenanceWindow = new NetMaintenanceWindow + { + From = maintenanceFrom, + To = maintenanceTo + }; await WriteDataAsync(r); } diff --git a/EpinelPS/LobbyServer/Msgs/Pass/GetActivePassData.cs b/EpinelPS/LobbyServer/Msgs/Pass/GetActivePassData.cs index 02c9a0d..6572a92 100644 --- a/EpinelPS/LobbyServer/Msgs/Pass/GetActivePassData.cs +++ b/EpinelPS/LobbyServer/Msgs/Pass/GetActivePassData.cs @@ -8,12 +8,15 @@ namespace EpinelPS.LobbyServer.Msgs.Pass protected override async Task HandleAsync() { var req = await ReadData(); - + var response = new ResGetActivePassData(); - - // TODO: Support events - - await WriteDataAsync(response); + response.PassExist = false; // if true game wont load but wont load pass either this is just broken + response.Pass = new NetPassInfo { PassId = 1000020, PassPoint = 11016, PassSkipCount = 0, PremiumActive = true }; + response.Pass.PassRankList.Add(new NetPassRankData { PassRank = 3, IsNormalRewarded = false, IsPremiumRewarded = true }); + var missionIds = new[] { 2001701, 2001702, 2001703, 2001704, 2001705, 2001706 }; + foreach (var missionId in missionIds) response.Pass.PassMissionList.Add(new NetPassMissionData { PassMissionId = missionId, IsComplete = false }); + + await WriteDataAsync(response); } } } diff --git a/EpinelPS/Program.cs b/EpinelPS/Program.cs index 040b504..063c73d 100644 --- a/EpinelPS/Program.cs +++ b/EpinelPS/Program.cs @@ -217,7 +217,7 @@ namespace EpinelPS Console.WriteLine(" unban - unban selected user from game"); Console.WriteLine(" exit - exit server application"); Console.WriteLine(" completestage (chapter num)-(stage number) - complete selected stage and get rewards (and all previous ones). Example completestage 15-1. Note that the exact stage number cleared may not be exact."); - Console.WriteLine(" sickpulls (requires selecting user first) allows for all characters to have equal chances of getting pulled"); + Console.WriteLine(" sickpulls (requires selecting user first) allows for all characters to have equal chances of getting pulled"); Console.WriteLine(" SetLevel (level) - Set all characters' level (between 1 and 999 takes effect on game and server restart)"); Console.WriteLine(" SetSkillLevel (level) - Set all characters' skill levels between 1 and 10 (takes effect on game and server restart)"); Console.WriteLine(" addallcharacters - Add all missing characters to the selected user with default levels and skills (takes effect on game and server restart)");