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.
This commit is contained in:
qmengz
2025-12-16 10:33:49 +08:00
committed by GitHub
parent 8b8d58854f
commit da51e6ba3e
24 changed files with 1099 additions and 8 deletions

View File

@@ -0,0 +1,18 @@
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Soloraid;
[PacketPath("/soloraid/getranking")]
public class GetRanking : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
await ReadData<ReqGetSoloRaidRanking>();
ResGetSoloRaidRanking response = new();
// TODO
await WriteDataAsync(response);
}
}