using System.Text.Json.Serialization; using MessagePack; using SVSim.EmulatedEntrypoint.Models.Dtos.Requests; namespace SVSim.EmulatedEntrypoint.Models.Dtos.Requests.LeaderSkin; /// /// POST /leader_skin/set — the per-class "current leader skin" preference used as a fallback /// when a deck has leader_skin_id == 0. Two modes: /// - Non-random: is_random_leader_skin=false, leader_skin_id is the chosen skin id. /// - Random: is_random_leader_skin=true, leader_skin_id_list is the shuffle pool /// (server picks per-match). Random mode is not implemented in v1 (returns 501). /// Source: Wizard/LeaderSkinUpdateTask.cs. /// [MessagePackObject] public class LeaderSkinSetRequest : BaseRequest { [JsonPropertyName("class_id")] [Key("class_id")] public int ClassId { get; set; } [JsonPropertyName("leader_skin_id")] [Key("leader_skin_id")] public int LeaderSkinId { get; set; } [JsonPropertyName("is_random_leader_skin")] [Key("is_random_leader_skin")] public bool IsRandomLeaderSkin { get; set; } [JsonPropertyName("leader_skin_id_list")] [Key("leader_skin_id_list")] public int[] LeaderSkinIdList { get; set; } = Array.Empty(); }