From 36eb25da44a2f550c96ac9803ca254fb8e4ecf81 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 12 Jun 2026 21:16:47 -0400 Subject: [PATCH] feat(free-battle): add FreeBattleFinishRequestDto --- .../FreeBattle/FreeBattleFinishRequestDto.cs | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 SVSim.EmulatedEntrypoint/Models/Dtos/FreeBattle/FreeBattleFinishRequestDto.cs diff --git a/SVSim.EmulatedEntrypoint/Models/Dtos/FreeBattle/FreeBattleFinishRequestDto.cs b/SVSim.EmulatedEntrypoint/Models/Dtos/FreeBattle/FreeBattleFinishRequestDto.cs new file mode 100644 index 00000000..80730def --- /dev/null +++ b/SVSim.EmulatedEntrypoint/Models/Dtos/FreeBattle/FreeBattleFinishRequestDto.cs @@ -0,0 +1,46 @@ +using System.Text.Json.Serialization; +using MessagePack; +using SVSim.EmulatedEntrypoint.Models.Dtos.Requests; + +namespace SVSim.EmulatedEntrypoint.Models.Dtos.FreeBattle; + +/// +/// BattleFinishParam shape for free-battle /finish. Mirrors the rank-battle variant +/// (Models/Dtos/RankBattle/RankBattleFinishRequestDto.cs) MINUS the sdtrb field +/// — RankBattleFinishTask extends BattleFinishParam to add sdtrb; FreeBattleFinishTask +/// does not (see Shadowverse_Code_2026-05-23/Wizard/FreeBattleFinishTask.cs). +/// +/// Inherits viewer_id / steam_id / steam_session_ticket from +/// so the auth fields survive the translation-middleware round-trip. +/// +[MessagePackObject] +public sealed class FreeBattleFinishRequestDto : BaseRequest +{ + [JsonPropertyName("battle_result")] + [Key("battle_result")] + public int BattleResult { get; set; } + + [JsonPropertyName("is_retire")] + [Key("is_retire")] + public int IsRetire { get; set; } + + [JsonPropertyName("recovery_data")] + [Key("recovery_data")] + public string? RecoveryData { get; set; } + + [JsonPropertyName("class_id")] + [Key("class_id")] + public int ClassId { get; set; } + + [JsonPropertyName("total_turn")] + [Key("total_turn")] + public int TotalTurn { get; set; } + + [JsonPropertyName("evolve_count")] + [Key("evolve_count")] + public int EvolveCount { get; set; } + + [JsonPropertyName("enemy_evolve_count")] + [Key("enemy_evolve_count")] + public int EnemyEvolveCount { get; set; } +}