From a0b7f33c8042693d6fab5af3264629b89e5a0821 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sun, 4 May 2025 20:22:08 -0400 Subject: [PATCH] implement fastclearstage --- EpinelPS/LobbyServer/Stage/FastClear.cs | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 EpinelPS/LobbyServer/Stage/FastClear.cs diff --git a/EpinelPS/LobbyServer/Stage/FastClear.cs b/EpinelPS/LobbyServer/Stage/FastClear.cs new file mode 100644 index 0000000..46e6c42 --- /dev/null +++ b/EpinelPS/LobbyServer/Stage/FastClear.cs @@ -0,0 +1,31 @@ +using EpinelPS.Utils; + +namespace EpinelPS.LobbyServer.Stage +{ + [PacketPath("/stage/fastclearstage")] + public class FastClear : LobbyMsgHandler + { + protected override async Task HandleAsync() + { + var req = await ReadData(); + + var user = GetUser(); + + Console.WriteLine($"Stage " + req.CampaignStageId + " completed using quick battle"); + + var rsp = ClearStage.CompleteStage(user, req.CampaignStageId); + + var response = new ResFastClearCampaignStage() + { + OutpostBattle = rsp.OutpostBattle, + OutpostBattleLevelReward = rsp.OutpostBattleLevelReward, + OutpostTimeRewardBuff = rsp.OutpostTimeRewardBuff, + StageClearReward = rsp.StageClearReward, + UserLevelUpReward = rsp.UserLevelUpReward + }; + + await WriteDataAsync(response); + } + } + +}