Files
EpinelPS/EpinelPS/LobbyServer/Soloraid/Close.cs
qmengz da51e6ba3e feat: Implement soloraid - 实现单人突袭 (#71)
- Added new handlers for closing, entering, and opening solo raids and trials, including:
  - Close
  - ClosePractice
  - CloseTrial
  - Enter
  - EnterTrial
  - Open
  - OpenPractice
  - OpenTrial
- Introduced FastBattle handler for quick battle functionality.
- Implemented methods for getting level and badge data, including:
  - GetLevel
  - GetLevelPractice
  - GetLevelTrial
- Implemented methods for setting damage, including:
  - SetDamage
  - SetDamagePractice
  - SetDamageTrial
- Added logging and error handling for various operations.
- Created SoloRaidHelper class to manage solo raid logic, including opening, closing, and setting damage.
- Updated database models to include solo raid data structures.
- Enhanced user model to store solo raid information.
2025-12-15 21:33:49 -05:00

28 lines
730 B
C#

using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Soloraid;
[PacketPath("/soloraid/close")]
public class Close : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
// int RaidId, int RaidLevel
var req = await ReadData<ReqCloseSoloRaid>();
var user = GetUser();
ResCloseSoloRaid response = new()
{
PeriodResult = SoloRaidPeriodResult.Success
};
try
{
SoloRaidHelper.CloseSoloRaid(user, req.RaidId, req.RaidLevel, SoloRaidType.Normal);
}catch(Exception ex)
{
Logging.WriteLine($"CloseSoloRaid Error: {ex.Message}", LogType.Error);
}
await WriteDataAsync(response);
}
}