namespace SVSim.Database.Models.Config; /// /// Take Two run mechanics: rarity weights, class/neutral mix, per-battle XP, season ids, /// allowed-class allow-list. The pool's set scoping lives on ; /// this section is purely mechanics + the reward-schedule/challenge ids stamped on each run. /// [ConfigSection("ArenaTwoPick")] public class ArenaTwoPickConfig { public int RewardScheduleId { get; set; } = 1; public int ChallengeId { get; set; } = 1; public int ClassXpPerBattle { get; set; } = 100; public int SpotPointsPerBattle { get; set; } = 10; public double LegendaryRate { get; set; } = 0.06; public double GoldRate { get; set; } = 0.17; public double SilverRate { get; set; } = 0.33; public double BronzeRate { get; set; } = 0.44; public double NeutralMixRate { get; set; } = 0.25; /// TK2 entry ticket — item id 1 (challenge ticket). Distinct from the run-end /// REWARD ticket id (80001, throwback pack ticket). public int TicketItemId { get; set; } = 1; public int TicketCost { get; set; } = 1; public int CrystalCost { get; set; } = 150; public int RupyCost { get; set; } = 150; public List AllowedClassIds { get; set; } = new(); public static ArenaTwoPickConfig ShippedDefaults() => new() { AllowedClassIds = new List { 1, 2, 3, 4, 5, 6, 7, 8 }, }; }