feat(config): add ArenaTwoPickConfig section
This commit is contained in:
30
SVSim.Database/Models/Config/ArenaTwoPickConfig.cs
Normal file
30
SVSim.Database/Models/Config/ArenaTwoPickConfig.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
namespace SVSim.Database.Models.Config;
|
||||
|
||||
/// <summary>
|
||||
/// 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 <see cref="ChallengeConfig"/>;
|
||||
/// this section is purely mechanics + the reward-schedule/challenge ids stamped on each run.
|
||||
/// </summary>
|
||||
[ConfigSection("ArenaTwoPick")]
|
||||
public class ArenaTwoPickConfig
|
||||
{
|
||||
public int RewardScheduleId { get; set; } = 1;
|
||||
public int ChallengeId { get; set; } = 1;
|
||||
public int MaxLosses { get; set; } = 2;
|
||||
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;
|
||||
|
||||
public List<int> AllowedClassIds { get; set; } = new();
|
||||
|
||||
public static ArenaTwoPickConfig ShippedDefaults() => new()
|
||||
{
|
||||
AllowedClassIds = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8 },
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user