feat(battle-xp): wire colosseum /finish through IBattleXpService, extend response DTO

- ColosseumBattleFinishResponseDto gains get_class_experience,
  class_experience, class_level. Client-safe: same BattleFinishResponsProcessing
  handles all three keys as ints (decomp verified).
- ArenaColosseumBattleController.FinishInternal grants win/loss XP via
  IBattleXpService with BattleXpMode.Colosseum for both /colosseum_battle/finish
  and /colosseum_rank_battle/finish URLs.
- Existing win test extended: XP wire assertions + persistence check.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-07-04 09:02:25 -04:00
parent 91ec14fc7e
commit a03bff3ea7
3 changed files with 51 additions and 1 deletions

View File

@@ -46,4 +46,13 @@ public sealed class ColosseumBattleFinishResponseDto
{
[JsonPropertyName("battle_result")] [Key("battle_result")]
public int BattleResult { get; set; }
[JsonPropertyName("get_class_experience")] [Key("get_class_experience")]
public int GetClassExperience { get; set; }
[JsonPropertyName("class_experience")] [Key("class_experience")]
public int ClassExperience { get; set; }
[JsonPropertyName("class_level")] [Key("class_level")]
public int ClassLevel { get; set; } = 1;
}