80 lines
2.4 KiB
C#
80 lines
2.4 KiB
C#
using System.Text.Json.Serialization;
|
|
using SPTarkov.Server.Core.Models.Common;
|
|
|
|
namespace SPTarkov.Server.Core.Models.Spt.Config;
|
|
|
|
public record ScavCaseConfig : BaseConfig
|
|
{
|
|
[JsonPropertyName("kind")]
|
|
public override string Kind { get; set; } = "spt-scavcase";
|
|
|
|
[JsonPropertyName("rewardItemValueRangeRub")]
|
|
public required Dictionary<string, MinMax<double>> RewardItemValueRangeRub { get; set; }
|
|
|
|
[JsonPropertyName("moneyRewards")]
|
|
public required MoneyRewards MoneyRewards { get; set; }
|
|
|
|
[JsonPropertyName("ammoRewards")]
|
|
public required AmmoRewards AmmoRewards { get; set; }
|
|
|
|
[JsonPropertyName("rewardItemParentBlacklist")]
|
|
public required HashSet<MongoId> RewardItemParentBlacklist { get; set; }
|
|
|
|
[JsonPropertyName("rewardItemBlacklist")]
|
|
public required HashSet<MongoId> RewardItemBlacklist { get; set; }
|
|
|
|
[JsonPropertyName("allowMultipleMoneyRewardsPerRarity")]
|
|
public bool AllowMultipleMoneyRewardsPerRarity { get; set; }
|
|
|
|
[JsonPropertyName("allowMultipleAmmoRewardsPerRarity")]
|
|
public bool AllowMultipleAmmoRewardsPerRarity { get; set; }
|
|
|
|
[JsonPropertyName("allowBossItemsAsRewards")]
|
|
public bool AllowBossItemsAsRewards { get; set; }
|
|
}
|
|
|
|
public record MoneyRewards
|
|
{
|
|
[JsonPropertyName("moneyRewardChancePercent")]
|
|
public int MoneyRewardChancePercent { get; set; }
|
|
|
|
[JsonPropertyName("rubCount")]
|
|
public required MoneyLevels RubCount { get; set; }
|
|
|
|
[JsonPropertyName("usdCount")]
|
|
public required MoneyLevels UsdCount { get; set; }
|
|
|
|
[JsonPropertyName("eurCount")]
|
|
public required MoneyLevels EurCount { get; set; }
|
|
|
|
[JsonPropertyName("gpCount")]
|
|
public required MoneyLevels GpCount { get; set; }
|
|
}
|
|
|
|
public record MoneyLevels
|
|
{
|
|
[JsonPropertyName("common")]
|
|
public required MinMax<int> Common { get; set; }
|
|
|
|
[JsonPropertyName("rare")]
|
|
public required MinMax<int> Rare { get; set; }
|
|
|
|
[JsonPropertyName("superrare")]
|
|
public required MinMax<int> SuperRare { get; set; }
|
|
}
|
|
|
|
public record AmmoRewards
|
|
{
|
|
[JsonPropertyName("ammoRewardChancePercent")]
|
|
public int AmmoRewardChancePercent { get; set; }
|
|
|
|
[JsonPropertyName("ammoRewardBlacklist")]
|
|
public required Dictionary<string, List<MongoId>> AmmoRewardBlacklist { get; set; }
|
|
|
|
[JsonPropertyName("ammoRewardValueRangeRub")]
|
|
public required Dictionary<string, MinMax<double>> AmmoRewardValueRangeRub { get; set; }
|
|
|
|
[JsonPropertyName("minStackSize")]
|
|
public int MinStackSize { get; set; }
|
|
}
|