using MessagePack; using SVSim.Database.Models; namespace SVSim.EmulatedEntrypoint.Models.Dtos; [MessagePackObject] public class RankInfo { [Key("rank_id")] public int RankId { get; set; } [Key("rank_name")] public string RankName { get; set; } = string.Empty; [Key("necessary_point")] public int NecessaryPoints { get; set; } [Key("accumulate_point")] public int AccumulatePoints { get; set; } [Key("lower_limit_point")] public int LowerLimitPoints { get; set; } [Key("base_add_bp")] public int BaseAddBp { get; set; } [Key("base_drop_bp")] public int BaseDropBp { get; set; } [Key("streak_bonus_pt")] public int StreakBonusPoints { get; set; } [Key("win_bonus")] public double WinBonus { get; set; } [Key("lose_bonus")] public double LoseBonus { get; set; } [Key("max_win_bonus")] public int MaxWinBonus { get; set; } [Key("max_lose_bonus")] public int MaxLoseBonus { get; set; } [Key("is_promotion_war")] public int IsPromotionWar { get; set; } [Key("match_count")] public int MatchCount { get; set; } [Key("necessary_win")] public int NecessaryWins { get; set; } [Key("reset_lose")] public int ResetLose { get; set; } [Key("accumulate_master_point")] public int AccumulateMasterPoints { get; set; } public RankInfo(RankInfoEntry rankEntry) { RankId = rankEntry.Id; RankName = rankEntry.Name; NecessaryPoints = rankEntry.NecessaryPoint; AccumulatePoints = rankEntry.AccumulatePoint; LowerLimitPoints = rankEntry.LowerLimitPoint; BaseAddBp = rankEntry.BaseAddBp; BaseDropBp = rankEntry.BaseDropBp; StreakBonusPoints = rankEntry.StreakBonusPt; WinBonus = rankEntry.WinBonus; LoseBonus = rankEntry.LoseBonus; MaxWinBonus = rankEntry.MaxWinBonus; MaxLoseBonus = rankEntry.MaxLoseBonus; IsPromotionWar = rankEntry.IsPromotionWar; MatchCount = rankEntry.MatchCount; NecessaryWins = rankEntry.NecessaryWin; ResetLose = rankEntry.ResetLose; AccumulateMasterPoints = rankEntry.AccumulateMasterPoint; } public RankInfo() { } }