diff --git a/EpinelPS/LobbyServer/Msgs/Event/EnterEventField.cs b/EpinelPS/LobbyServer/Msgs/Event/EnterEventField.cs index c37d7b0..58dda9f 100644 --- a/EpinelPS/LobbyServer/Msgs/Event/EnterEventField.cs +++ b/EpinelPS/LobbyServer/Msgs/Event/EnterEventField.cs @@ -1,4 +1,5 @@ -using EpinelPS.Utils; +using EpinelPS.Database; +using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Msgs.Event { @@ -12,10 +13,29 @@ namespace EpinelPS.LobbyServer.Msgs.Event var response = new ResEnterEventField(); - // TOOD - response.Field = new(); - + + // Retrieve collected objects + + FieldInfoNew field; + + if (!user.FieldInfoNew.TryGetValue(req.MapId, out field)) + { + field = new FieldInfoNew(); + user.FieldInfoNew.Add(req.MapId, field); + } + + foreach (var stage in field.CompletedStages) + { + response.Field.Stages.Add(new NetFieldStageData() { StageId = stage }); + } + foreach (var obj in field.CompletedObjects) + { + response.Field.Objects.Add(obj); + } + + + // Retrieve camera data if (user.MapJson.TryGetValue(req.MapId, out string mapJson)) { response.Json = mapJson; diff --git a/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs b/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs index ecdbc03..b3f2f10 100644 --- a/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs +++ b/EpinelPS/LobbyServer/Msgs/Event/ListEvents.cs @@ -8,8 +8,16 @@ namespace EpinelPS.LobbyServer.Msgs.Event protected override async Task HandleAsync() { var req = await ReadData(); + + // Types + // 2: LoginEvent + // 5: StoryEvent // 10: FieldHubEvent + // 11: ShopEvent + // 20: ChallengeModeEvent + // 38: MVGMiniGame + var response = new ResGetEventList(); /* @@ -122,7 +130,8 @@ namespace EpinelPS.LobbyServer.Msgs.Event */ // Old tales -response.EventList.Add(new NetEventData() + + response.EventList.Add(new NetEventData() { Id = 81600, EventSystemType = 10, @@ -132,6 +141,73 @@ response.EventList.Add(new NetEventData() 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, + }); + + //response.EventList.Add(new NetEventData() //{