using System.Text.Json.Serialization; namespace SPTarkov.Server.Core.Models.Spt.Config; public record InRaidConfig : BaseConfig { [JsonPropertyName("kind")] public override string Kind { get; set; } = "spt-inraid"; /// /// Overrides to apply to the pre-raid settings screen /// [JsonPropertyName("raidMenuSettings")] public required RaidMenuSettings RaidMenuSettings { get; set; } /// /// Names of car extracts /// [JsonPropertyName("carExtracts")] public required HashSet CarExtracts { get; set; } /// /// Names of coop extracts /// [JsonPropertyName("coopExtracts")] public required HashSet CoopExtracts { get; set; } /// /// Fence rep gain from a single car extract /// [JsonPropertyName("carExtractBaseStandingGain")] public double CarExtractBaseStandingGain { get; set; } /// /// Fence rep gain from a single coop extract /// [JsonPropertyName("coopExtractBaseStandingGain")] public double CoopExtractBaseStandingGain { get; set; } /// /// Fence rep gain when successfully extracting as pscav /// [JsonPropertyName("scavExtractStandingGain")] public double ScavExtractStandingGain { get; set; } /// /// On death should items in your secure keep their Find in raid status regardless of how you finished the raid /// [JsonPropertyName("keepFiRSecureContainerOnDeath")] public bool KeepFiRSecureContainerOnDeath { get; set; } /// /// If enabled always keep found in raid status on items /// [JsonPropertyName("alwaysKeepFoundInRaidOnRaidEnd")] public bool AlwaysKeepFoundInRaidOnRaidEnd { get; set; } /// /// Percentage chance a player scav hot is hostile to the player when scavving /// [JsonPropertyName("playerScavHostileChancePercent")] public double PlayerScavHostileChancePercent { get; set; } } public record RaidMenuSettings { [JsonPropertyName("aiAmount")] public required string AiAmount { get; set; } [JsonPropertyName("aiDifficulty")] public required string AiDifficulty { get; set; } [JsonPropertyName("bossEnabled")] public bool BossEnabled { get; set; } [JsonPropertyName("scavWars")] public bool ScavWars { get; set; } [JsonPropertyName("taggedAndCursed")] public bool TaggedAndCursed { get; set; } [JsonPropertyName("enablePve")] public bool EnablePve { get; set; } [JsonPropertyName("randomWeather")] public bool RandomWeather { get; set; } [JsonPropertyName("randomTime")] public bool RandomTime { get; set; } }