From 7237e3d4a1b44f6a171d7b9e79e7c9f177fffbb7 Mon Sep 17 00:00:00 2001 From: SELEKCJONER Date: Fri, 3 Jan 2025 01:42:16 +0100 Subject: [PATCH] Update events --- EpinelPS/LobbyServer/Event/EventLoginGet.cs | 18 +- EpinelPS/LobbyServer/Event/EventTypes.cs | 50 ++++++ EpinelPS/LobbyServer/Event/GetJoinedEvent.cs | 158 ++++++++++++------ EpinelPS/LobbyServer/Event/ListEvents.cs | 103 +++++++++--- .../Event/StoryEvent/GetStoryDungeon.cs | 2 +- .../Pass/GetActiveEventPassData.cs | 7 +- 6 files changed, 260 insertions(+), 78 deletions(-) create mode 100644 EpinelPS/LobbyServer/Event/EventTypes.cs diff --git a/EpinelPS/LobbyServer/Event/EventLoginGet.cs b/EpinelPS/LobbyServer/Event/EventLoginGet.cs index 1b08bac..cfa772e 100644 --- a/EpinelPS/LobbyServer/Event/EventLoginGet.cs +++ b/EpinelPS/LobbyServer/Event/EventLoginGet.cs @@ -16,10 +16,24 @@ namespace EpinelPS.LobbyServer.Event response.DisableDate = DateTime.Now.AddDays(13).Ticks; response.LastAttendance = new LoginEventAttendance { - Day = 1, // Example day value, adjust as needed + Day = 14, // 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 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 1 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 2 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 3 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 4 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 5 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 6 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 7 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 8 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 9 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 10 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 11 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 12 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 13 } ); + response.RewardHistories.Add(new LoginEventRewardHistory() { IsReceived = true, Day = 14 } ); + await WriteDataAsync(response); } } diff --git a/EpinelPS/LobbyServer/Event/EventTypes.cs b/EpinelPS/LobbyServer/Event/EventTypes.cs new file mode 100644 index 0000000..4078eaf --- /dev/null +++ b/EpinelPS/LobbyServer/Event/EventTypes.cs @@ -0,0 +1,50 @@ +namespace EpinelPS.LobbyServer.Event +{ + public static class EventConstants + { + //bc enum needs casting in each entry in list events and get joined event + //and casting for each single entry would be more tedious that placing a variable here + //if there is a way to plainly write event type without casting to int or this tower of variables please do so + public const int None = 0; + public const int DailyMissionEvent = 1; + public const int LoginEvent = 2; + public const int ViewShortCut = 3; + public const int CooperationEvent = 4; + public const int StoryEvent = 5; + public const int PickupGachaEvent = 6; + public const int PollEvent = 7; + public const int ComeBackUserEvent = 8; + public const int EventPass = 9; + public const int FieldHubEvent = 10; + public const int ShopEvent = 11; + public const int MissionEvent = 12; + public const int ChargeGachaEvent = 13; + public const int MiniGameSortOut = 14; + public const int CharacterSkillResetEvent = 15; + public const int EventQuest = 16; + public const int RewardUpEvent = 17; + public const int SDBattleEvent = 18; + public const int TextAdventure = 19; + public const int ChallengeModeEvent = 20; + public const int DailyFreeGachaEvent = 21; + public const int BoxGachaEvent = 22; + public const int DiceEvent = 23; + public const int BBQTycoon = 24; + public const int CE002MiniGame = 25; + public const int TriggerMissionEventReward = 26; + public const int ArenaRookieGroupShuffle = 27; + public const int ArenaSpecialGroupShuffle = 28; + public const int NKSMiniGame = 29; + public const int DatingSimulator = 30; + public const int DessertRush = 31; + public const int CE003MiniGame = 32; + public const int TowerDefense = 33; + public const int EventPlaySoda = 34; + public const int IslandAdventure = 35; + public const int MiniGameDD = 36; + public const int CE004MiniGame = 37; + public const int MVGMiniGame = 38; + public const int DragonDungeonRunMiniGame = 39; + public const int NewPlayerLottery = 40; + } +} diff --git a/EpinelPS/LobbyServer/Event/GetJoinedEvent.cs b/EpinelPS/LobbyServer/Event/GetJoinedEvent.cs index a75e4c7..0ac542e 100644 --- a/EpinelPS/LobbyServer/Event/GetJoinedEvent.cs +++ b/EpinelPS/LobbyServer/Event/GetJoinedEvent.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; - +using static EpinelPS.LobbyServer.Event.EventConstants; namespace EpinelPS.LobbyServer.Event { [PacketPath("/event/getjoinedevent")] @@ -8,58 +8,19 @@ namespace EpinelPS.LobbyServer.Event protected override async Task HandleAsync() { var req = await ReadData(); - + //types are defined in EventTypes.cs 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 + Id = 20001, + EventSystemType = PickupGachaEvent, + 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 }); @@ -70,7 +31,7 @@ namespace EpinelPS.LobbyServer.Event EventData = new NetEventData() { Id = 70077, - EventSystemType = 6, + EventSystemType = PickupGachaEvent, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, @@ -78,7 +39,106 @@ namespace EpinelPS.LobbyServer.Event }, JoinAt = 0 }); - + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 10046, + EventSystemType = LoginEvent, + 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 + }, + JoinAt = 0 + }); + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 40066, + EventSystemType = StoryEvent, + 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 + }, + JoinAt = 0 + }); + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 60066, + EventSystemType = ChallengeModeEvent, + 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 + }, + JoinAt = 0 + }); + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 70078, + EventSystemType = PickupGachaEvent, + 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 + }, + JoinAt = 0 + }); + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 70079, + EventSystemType = PickupGachaEvent, + 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 + }, + JoinAt = 0 + }); + //full burst day + + /* + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 140052, + EventSystemType = RewardUpEvent, + 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 + }, + JoinAt = 0 + }); + */ + + //dailies reward up + + /* + response.EventWithJoinData.Add(new NetEventWithJoinData() + { + EventData = new NetEventData() + { + Id = 170017, + EventSystemType = TriggerMissionEventReward, + 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 + }, + JoinAt = 0 + }); + */ await WriteDataAsync(response); } } diff --git a/EpinelPS/LobbyServer/Event/ListEvents.cs b/EpinelPS/LobbyServer/Event/ListEvents.cs index b73bad2..85baca5 100644 --- a/EpinelPS/LobbyServer/Event/ListEvents.cs +++ b/EpinelPS/LobbyServer/Event/ListEvents.cs @@ -1,4 +1,5 @@ using EpinelPS.Utils; +using static EpinelPS.LobbyServer.Event.EventConstants; namespace EpinelPS.LobbyServer.Event { @@ -8,17 +9,7 @@ namespace EpinelPS.LobbyServer.Event protected override async Task HandleAsync() { var req = await ReadData(); - - - // Types - // 2: LoginEvent - // 5: StoryEvent - // 10: FieldHubEvent - // 11: ShopEvent - // 20: ChallengeModeEvent - // 38: MVGMiniGame - - + //types are defined in EventTypes.cs var response = new ResGetEventList(); @@ -26,7 +17,7 @@ namespace EpinelPS.LobbyServer.Event response.EventList.Add(new NetEventData() { Id = 40066, - EventSystemType = 5, + EventSystemType = StoryEvent, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, @@ -35,7 +26,7 @@ namespace EpinelPS.LobbyServer.Event response.EventList.Add(new NetEventData() { Id = 60066, - EventSystemType = 20, + EventSystemType = ChallengeModeEvent, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)).Ticks, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks, @@ -45,22 +36,88 @@ namespace EpinelPS.LobbyServer.Event response.EventList.Add(new NetEventData() { Id = 70077, - 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 = 81703, - EventSystemType = 2, + EventSystemType = PickupGachaEvent, 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 = 10046, + EventSystemType = LoginEvent, + 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 = 20001, + EventSystemType = DailyMissionEvent, + 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 = 20002, + EventSystemType = DailyMissionEvent, + 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 = 70078, + EventSystemType = PickupGachaEvent, + 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 = 70079, + EventSystemType = PickupGachaEvent, + 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 + }); + //full burst day + + /* + response.EventList.Add(new NetEventData() + { + Id = 140052, + EventSystemType = RewardUpEvent, + 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 + }); + */ + + //dailies reward up + + /* + response.EventList.Add(new NetEventData() + { + Id = 170017, + EventSystemType = TriggerMissionEventReward, + 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 + }); + */ + + await WriteDataAsync(response); } } diff --git a/EpinelPS/LobbyServer/Event/StoryEvent/GetStoryDungeon.cs b/EpinelPS/LobbyServer/Event/StoryEvent/GetStoryDungeon.cs index c4110b9..604065d 100644 --- a/EpinelPS/LobbyServer/Event/StoryEvent/GetStoryDungeon.cs +++ b/EpinelPS/LobbyServer/Event/StoryEvent/GetStoryDungeon.cs @@ -1,7 +1,7 @@ using EpinelPS.Utils; using EpinelPS.Database; -namespace EpinelPS.LobbyServer.Event.StoryEvent +namespace EpinelPS.LobbyServer.Event.EventStory { [PacketPath("/event/storydungeon/get")] public class GetStoryDungeon : LobbyMsgHandler diff --git a/EpinelPS/LobbyServer/Pass/GetActiveEventPassData.cs b/EpinelPS/LobbyServer/Pass/GetActiveEventPassData.cs index 50ca987..0500e47 100644 --- a/EpinelPS/LobbyServer/Pass/GetActiveEventPassData.cs +++ b/EpinelPS/LobbyServer/Pass/GetActiveEventPassData.cs @@ -5,13 +5,14 @@ namespace EpinelPS.LobbyServer.Pass [PacketPath("/pass/event/getactive")] public class GetActiveEventPassData : LobbyMsgHandler { + //broken game wont boot if not empty not sure how to implement this one protected override async Task HandleAsync() { - var req = await ReadData(); + var req = await ReadData(); // no fields + + var response = new ResGetActiveEventPassData(); // fields PassList = NetPassInfo - var response = new ResGetActiveEventPassData(); - // TODO: Support events await WriteDataAsync(response); }