Do a small pass on SPT's config's to reduce warnings and cleanup (#348)
* Do a small pass on SPT's config's to reduce warnings and cleanup * Revert * Revert EFT models * Set list as null
This commit is contained in:
@@ -3,6 +3,7 @@ using SPTarkov.Server.Core.Controllers;
|
||||
using SPTarkov.Server.Core.Models.Enums;
|
||||
using SPTarkov.Server.Core.Models.Spt.Config;
|
||||
using SPTarkov.Server.Core.Models.Spt.Logging;
|
||||
using SPTarkov.Server.Core.Models.Spt.Mod;
|
||||
using SPTarkov.Server.Core.Servers;
|
||||
using SPTarkov.Server.Core.Services;
|
||||
using SPTarkov.Server.Core.Utils;
|
||||
@@ -14,8 +15,8 @@ public class ClientLogCallbacks(
|
||||
HttpResponseUtil _httpResponseUtil,
|
||||
ClientLogController _clientLogController,
|
||||
ConfigServer _configServer,
|
||||
LocalisationService _localisationService
|
||||
// ModLoadOrder _modLoadOrder // TODO: needs implementing
|
||||
LocalisationService _localisationService,
|
||||
IReadOnlyList<SptMod> _loadedMods
|
||||
)
|
||||
{
|
||||
/// <summary>
|
||||
@@ -50,7 +51,7 @@ public class ClientLogCallbacks(
|
||||
data.ReleaseSummaryText = _localisationService.GetText("release-summary");
|
||||
data.IsBeta = ProgramStatics.ENTRY_TYPE() is EntryType.BLEEDING_EDGE or EntryType.BLEEDING_EDGE_MODS;
|
||||
data.IsModdable = ProgramStatics.MODS();
|
||||
data.IsModded = false; // TODO
|
||||
data.IsModded = _loadedMods.Count > 0;
|
||||
|
||||
return new ValueTask<string>(_httpResponseUtil.NoBody(data));
|
||||
}
|
||||
|
||||
@@ -1877,7 +1877,7 @@ public class ItemHelper(
|
||||
public List<Item> AddChildSlotItems(
|
||||
List<Item> itemToAdd,
|
||||
TemplateItem itemToAddTemplate,
|
||||
Dictionary<string, double?>? modSpawnChanceDict = null,
|
||||
Dictionary<string, double>? modSpawnChanceDict = null,
|
||||
bool requiredOnly = false
|
||||
)
|
||||
{
|
||||
@@ -1895,10 +1895,9 @@ public class ItemHelper(
|
||||
if (modSpawnChanceDict is not null && !(slot.Required ?? false))
|
||||
{
|
||||
// only roll chance to not include mod if dict exists and has value for this mod type (e.g. front_plate)
|
||||
var modSpawnChance = modSpawnChanceDict[slot.Name.ToLower()];
|
||||
if (modSpawnChance is not null)
|
||||
if(modSpawnChanceDict.ContainsKey(slot.Name.ToLower()))
|
||||
{
|
||||
if (!_randomUtil.GetChance100(modSpawnChance ?? 0))
|
||||
if (!_randomUtil.GetChance100(modSpawnChanceDict[slot.Name.ToLower()]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -183,97 +183,6 @@ public record ItemDistribution
|
||||
}
|
||||
}
|
||||
|
||||
public record StaticPropsBase
|
||||
{
|
||||
[JsonPropertyName("Id")]
|
||||
public string? Id
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("IsContainer")]
|
||||
public bool? IsContainer
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("useGravity")]
|
||||
public bool? UseGravity
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("randomRotation")]
|
||||
public bool? RandomRotation
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Position")]
|
||||
public XYZ? Position
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Rotation")]
|
||||
public XYZ? Rotation
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("IsGroupPosition")]
|
||||
public bool? IsGroupPosition
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("IsAlwaysSpawn")]
|
||||
public bool? IsAlwaysSpawn
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("GroupPositions")]
|
||||
public GroupPosition[] GroupPositions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Root")]
|
||||
public string? Root
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Items")]
|
||||
public Item[] Items
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
[Obsolete("use SpawnpointTemplate")]
|
||||
public record StaticWeaponProps : StaticPropsBase
|
||||
{
|
||||
[JsonPropertyName("Items")]
|
||||
public Item[] Items
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record StaticContainerDetails
|
||||
{
|
||||
[JsonPropertyName("staticWeapons")]
|
||||
@@ -348,55 +257,3 @@ public record StaticAmmoDetails
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record StaticForcedProps
|
||||
{
|
||||
[JsonPropertyName("containerId")]
|
||||
public string? ContainerId
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("itemTpl")]
|
||||
public string? ItemTpl
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
[Obsolete("use SpawnpointTemplate")]
|
||||
public record StaticContainerProps : StaticPropsBase
|
||||
{
|
||||
[JsonPropertyName("Items")]
|
||||
public StaticItem[] Items
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record StaticItem
|
||||
{
|
||||
[JsonPropertyName("_id")]
|
||||
public string? Id
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("_tpl")]
|
||||
public string? Tpl
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("upd")]
|
||||
public Upd? Upd
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -949,11 +949,11 @@ public record NonWaveGroupScenario
|
||||
public record Limit : MinMax<int>
|
||||
{
|
||||
[JsonPropertyName("items")]
|
||||
public object[] Items
|
||||
public List<string>? Items
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} // TODO: was on TS any[] hmmm..
|
||||
}
|
||||
|
||||
[JsonPropertyName("min")]
|
||||
public int? Min
|
||||
|
||||
@@ -8,7 +8,7 @@ public record BotDetailsForChatMessages
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
|
||||
public DogtagSide Side
|
||||
{
|
||||
|
||||
@@ -56,7 +56,7 @@ public record BotGenerationDetails
|
||||
/// Level specific overrides for PMC level
|
||||
/// </summary>
|
||||
[JsonPropertyName("locationSpecificPmcLevelOverride")]
|
||||
public MinMax<int> LocationSpecificPmcLevelOverride
|
||||
public MinMax<int>? LocationSpecificPmcLevelOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,95 +5,95 @@ namespace SPTarkov.Server.Core.Models.Spt.Bots;
|
||||
public record BotLootCache
|
||||
{
|
||||
[JsonPropertyName("backpackLoot")]
|
||||
public Dictionary<string, double>? BackpackLoot
|
||||
public Dictionary<string, double> BackpackLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("pocketLoot")]
|
||||
public Dictionary<string, double>? PocketLoot
|
||||
public Dictionary<string, double> PocketLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("vestLoot")]
|
||||
public Dictionary<string, double>? VestLoot
|
||||
public Dictionary<string, double> VestLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("secureLoot")]
|
||||
public Dictionary<string, double>? SecureLoot
|
||||
public Dictionary<string, double> SecureLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("combinedPoolLoot")]
|
||||
public Dictionary<string, double>? CombinedPoolLoot
|
||||
public Dictionary<string, double> CombinedPoolLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("specialItems")]
|
||||
public Dictionary<string, double>? SpecialItems
|
||||
public Dictionary<string, double> SpecialItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("healingItems")]
|
||||
public Dictionary<string, double>? HealingItems
|
||||
public Dictionary<string, double> HealingItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("drugItems")]
|
||||
public Dictionary<string, double>? DrugItems
|
||||
public Dictionary<string, double> DrugItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("foodItems")]
|
||||
public Dictionary<string, double>? FoodItems
|
||||
public Dictionary<string, double> FoodItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("drinkItems")]
|
||||
public Dictionary<string, double>? DrinkItems
|
||||
public Dictionary<string, double> DrinkItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("currencyItems")]
|
||||
public Dictionary<string, double>? CurrencyItems
|
||||
public Dictionary<string, double> CurrencyItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("stimItems")]
|
||||
public Dictionary<string, double>? StimItems
|
||||
public Dictionary<string, double> StimItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("grenadeItems")]
|
||||
public Dictionary<string, double>? GrenadeItems
|
||||
public Dictionary<string, double> GrenadeItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
}
|
||||
|
||||
public record LootCacheType
|
||||
|
||||
@@ -7,14 +7,14 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record AirdropConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-airdrop";
|
||||
|
||||
[JsonPropertyName("airdropTypeWeightings")]
|
||||
public Dictionary<SptAirdropTypeEnum, double> AirdropTypeWeightings
|
||||
public required Dictionary<SptAirdropTypeEnum, double> AirdropTypeWeightings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -24,76 +24,14 @@ public record AirdropConfig : BaseConfig
|
||||
/// What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter
|
||||
/// </summary>
|
||||
[JsonPropertyName("loot")]
|
||||
public Dictionary<string, AirdropLoot> Loot
|
||||
public required Dictionary<string, AirdropLoot> Loot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("customAirdropMapping")]
|
||||
public Dictionary<string, SptAirdropTypeEnum> CustomAirdropMapping
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chance map will have an airdrop occur out of 100 - locations not included count as 0%
|
||||
/// </summary>
|
||||
public record AirdropChancePercent
|
||||
{
|
||||
[JsonPropertyName("bigmap")]
|
||||
public double Bigmap
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("woods")]
|
||||
public double Woods
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("lighthouse")]
|
||||
public double Lighthouse
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("shoreline")]
|
||||
public double Shoreline
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("interchange")]
|
||||
public double Interchange
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("reserve")]
|
||||
public double Reserve
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("tarkovStreets")]
|
||||
public double TarkovStreets
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("sandbox")]
|
||||
public double Sandbox
|
||||
public required Dictionary<string, SptAirdropTypeEnum> CustomAirdropMapping
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -107,7 +45,7 @@ public record AirdropLoot
|
||||
{
|
||||
[JsonPropertyName("icon")]
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
public AirdropTypeEnum Icon
|
||||
public required AirdropTypeEnum Icon
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -117,7 +55,7 @@ public record AirdropLoot
|
||||
/// Min/max of weapons inside crate
|
||||
/// </summary>
|
||||
[JsonPropertyName("weaponPresetCount")]
|
||||
public MinMax<int>? WeaponPresetCount
|
||||
public required MinMax<int> WeaponPresetCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -127,7 +65,7 @@ public record AirdropLoot
|
||||
/// Min/max of armors (head/chest/rig) inside crate
|
||||
/// </summary>
|
||||
[JsonPropertyName("armorPresetCount")]
|
||||
public MinMax<int>? ArmorPresetCount
|
||||
public required MinMax<int> ArmorPresetCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -137,7 +75,7 @@ public record AirdropLoot
|
||||
/// Min/max of items inside crate
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemCount")]
|
||||
public MinMax<int> ItemCount
|
||||
public required MinMax<int> ItemCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -147,7 +85,7 @@ public record AirdropLoot
|
||||
/// Min/max of sealed weapon boxes inside crate
|
||||
/// </summary>
|
||||
[JsonPropertyName("weaponCrateCount")]
|
||||
public MinMax<int> WeaponCrateCount
|
||||
public required MinMax<int> WeaponCrateCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -157,7 +95,7 @@ public record AirdropLoot
|
||||
/// Items to never allow - tpls
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemBlacklist")]
|
||||
public List<string> ItemBlacklist
|
||||
public required List<string> ItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -167,7 +105,7 @@ public record AirdropLoot
|
||||
/// Item type (parentId) to allow inside crate
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemTypeWhitelist")]
|
||||
public List<string> ItemTypeWhitelist
|
||||
public required List<string> ItemTypeWhitelist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -177,7 +115,7 @@ public record AirdropLoot
|
||||
/// Item type/ item tpls to limit count of inside crate - key: item base type: value: max count
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemLimits")]
|
||||
public Dictionary<string, int> ItemLimits
|
||||
public required Dictionary<string, int> ItemLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -187,7 +125,7 @@ public record AirdropLoot
|
||||
/// Items to limit stack size of key: item tpl value: min/max stack size
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemStackLimits")]
|
||||
public Dictionary<string, MinMax<int>> ItemStackLimits
|
||||
public required Dictionary<string, MinMax<int>> ItemStackLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -214,7 +152,7 @@ public record AirdropLoot
|
||||
}
|
||||
|
||||
[JsonPropertyName("useForcedLoot")]
|
||||
public bool? UseForcedLoot
|
||||
public bool UseForcedLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -228,14 +166,14 @@ public record AirdropLoot
|
||||
}
|
||||
|
||||
[JsonPropertyName("useRewardItemBlacklist")]
|
||||
public bool? UseRewardItemBlacklist
|
||||
public bool UseRewardItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("blockSeasonalItemsOutOfSeason")]
|
||||
public bool? BlockSeasonalItemsOutOfSeason
|
||||
public bool BlockSeasonalItemsOutOfSeason
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,14 +5,14 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record BackupConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-backup";
|
||||
|
||||
[JsonPropertyName("enabled")]
|
||||
public bool Enabled
|
||||
public required bool Enabled
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -30,10 +30,10 @@ public record BackupConfig : BaseConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
|
||||
[JsonPropertyName("backupInterval")]
|
||||
public BackupConfigInterval BackupInterval
|
||||
public required BackupConfigInterval BackupInterval
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
|
||||
public record BaseConfig
|
||||
public abstract record BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public abstract string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record BotConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -18,17 +18,7 @@ public record BotConfig : BaseConfig
|
||||
/// How many variants of each bot should be generated on raid start
|
||||
/// </summary>
|
||||
[JsonPropertyName("presetBatch")]
|
||||
public Dictionary<string, int>? PresetBatch
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Bot roles that should not have PMC types (pmcBEAR/pmcUSEC) added as enemies to
|
||||
/// </summary>
|
||||
[JsonPropertyName("botsToNotAddPMCsAsEnemiesTo")]
|
||||
public List<string> BotsToNotAddPMCsAsEnemiesTo
|
||||
public required Dictionary<string, int> PresetBatch
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -38,7 +28,7 @@ public record BotConfig : BaseConfig
|
||||
/// What bot types should be classified as bosses
|
||||
/// </summary>
|
||||
[JsonPropertyName("bosses")]
|
||||
public List<string> Bosses
|
||||
public required List<string> Bosses
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -48,7 +38,7 @@ public record BotConfig : BaseConfig
|
||||
/// Control weapon/armor durability min/max values for each bot type
|
||||
/// </summary>
|
||||
[JsonPropertyName("durability")]
|
||||
public BotDurability Durability
|
||||
public required BotDurability Durability
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -58,7 +48,7 @@ public record BotConfig : BaseConfig
|
||||
/// Controls the percentage values of randomization item resources
|
||||
/// </summary>
|
||||
[JsonPropertyName("lootItemResourceRandomization")]
|
||||
public Dictionary<string, RandomisedResourceDetails> LootItemResourceRandomization
|
||||
public required Dictionary<string, RandomisedResourceDetails> LootItemResourceRandomization
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -69,7 +59,7 @@ public record BotConfig : BaseConfig
|
||||
/// key: bottype, value: bottypes to revenge on seeing their death
|
||||
/// </summary>
|
||||
[JsonPropertyName("revenge")]
|
||||
public Dictionary<string, List<string>> Revenge
|
||||
public required Dictionary<string, List<string>> Revenge
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -81,7 +71,7 @@ public record BotConfig : BaseConfig
|
||||
/// key: itemTpl: value: max item count>
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemSpawnLimits")]
|
||||
public Dictionary<string, Dictionary<string, double>> ItemSpawnLimits
|
||||
public required Dictionary<string, Dictionary<string, double>> ItemSpawnLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -91,7 +81,7 @@ public record BotConfig : BaseConfig
|
||||
/// Blacklist/whitelist items on a bot
|
||||
/// </summary>
|
||||
[JsonPropertyName("equipment")]
|
||||
public Dictionary<string, EquipmentFilters?> Equipment
|
||||
public required Dictionary<string, EquipmentFilters?> Equipment
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -111,7 +101,7 @@ public record BotConfig : BaseConfig
|
||||
/// What ai brain should a normal scav use per map
|
||||
/// </summary>
|
||||
[JsonPropertyName("assaultBrainType")]
|
||||
public Dictionary<string, Dictionary<string, int>> AssaultBrainType
|
||||
public required Dictionary<string, Dictionary<string, int>> AssaultBrainType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -121,7 +111,7 @@ public record BotConfig : BaseConfig
|
||||
/// What ai brain should a player scav use per map
|
||||
/// </summary>
|
||||
[JsonPropertyName("playerScavBrainType")]
|
||||
public Dictionary<string, Dictionary<string, int>> PlayerScavBrainType
|
||||
public required Dictionary<string, Dictionary<string, int>> PlayerScavBrainType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -131,7 +121,7 @@ public record BotConfig : BaseConfig
|
||||
/// Max number of bots that can be spawned in a raid at any one time
|
||||
/// </summary>
|
||||
[JsonPropertyName("maxBotCap")]
|
||||
public Dictionary<string, int> MaxBotCap
|
||||
public required Dictionary<string, int> MaxBotCap
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -161,7 +151,7 @@ public record BotConfig : BaseConfig
|
||||
/// Bot roles in this array will be given a dog tag on generation
|
||||
/// </summary>
|
||||
[JsonPropertyName("botRolesWithDogTags")]
|
||||
public HashSet<string> BotRolesWithDogTags
|
||||
public required HashSet<string> BotRolesWithDogTags
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -171,7 +161,7 @@ public record BotConfig : BaseConfig
|
||||
/// Settings to control the items that get added into wallets on bots
|
||||
/// </summary>
|
||||
[JsonPropertyName("walletLoot")]
|
||||
public WalletLootSettings WalletLoot
|
||||
public required WalletLootSettings WalletLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -181,7 +171,7 @@ public record BotConfig : BaseConfig
|
||||
/// Currency weights, Keyed by botrole / currency
|
||||
/// </summary>
|
||||
[JsonPropertyName("currencyStackSize")]
|
||||
public Dictionary<string, Dictionary<string, Dictionary<string, double>>> CurrencyStackSize
|
||||
public required Dictionary<string, Dictionary<string, Dictionary<string, double>>> CurrencyStackSize
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -191,7 +181,7 @@ public record BotConfig : BaseConfig
|
||||
/// Tpls for low profile gas blocks
|
||||
/// </summary>
|
||||
[JsonPropertyName("lowProfileGasBlockTpls")]
|
||||
public HashSet<string> LowProfileGasBlockTpls
|
||||
public required HashSet<string> LowProfileGasBlockTpls
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -201,7 +191,7 @@ public record BotConfig : BaseConfig
|
||||
/// What bottypes should be excluded from having loot generated on them (backpack/pocket/vest) does not disable food/drink/special/
|
||||
/// </summary>
|
||||
[JsonPropertyName("disableLootOnBotTypes")]
|
||||
public HashSet<string> DisableLootOnBotTypes
|
||||
public required HashSet<string> DisableLootOnBotTypes
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -221,7 +211,7 @@ public record BotConfig : BaseConfig
|
||||
/// Bot roles that must have a unique name when generated vs other bots in raid
|
||||
/// </summary>
|
||||
[JsonPropertyName("botRolesThatMustHaveUniqueName")]
|
||||
public HashSet<string> BotRolesThatMustHaveUniqueName
|
||||
public required HashSet<string> BotRolesThatMustHaveUniqueName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -562,21 +552,21 @@ public record WalletLootSettings
|
||||
}
|
||||
|
||||
[JsonPropertyName("itemCount")]
|
||||
public MinMax<int> ItemCount
|
||||
public required MinMax<int> ItemCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("stackSizeWeight")]
|
||||
public Dictionary<string, double> StackSizeWeight
|
||||
public required Dictionary<string, double> StackSizeWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("currencyWeight")]
|
||||
public Dictionary<string, double> CurrencyWeight
|
||||
public required Dictionary<string, double> CurrencyWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -586,7 +576,7 @@ public record WalletLootSettings
|
||||
/// What wallets will have money in them
|
||||
/// </summary>
|
||||
[JsonPropertyName("walletTplPool")]
|
||||
public List<string> WalletTplPool
|
||||
public required List<string> WalletTplPool
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,21 +5,21 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record BotDurability
|
||||
{
|
||||
[JsonPropertyName("default")]
|
||||
public DefaultDurability Default
|
||||
public required DefaultDurability Default
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("botDurabilities")]
|
||||
public Dictionary<string, DefaultDurability> BotDurabilities
|
||||
public required Dictionary<string, DefaultDurability> BotDurabilities
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("pmc")]
|
||||
public PmcDurability Pmc
|
||||
public required PmcDurability Pmc
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -32,14 +32,14 @@ public record BotDurability
|
||||
public record DefaultDurability
|
||||
{
|
||||
[JsonPropertyName("armor")]
|
||||
public ArmorDurability Armor
|
||||
public required ArmorDurability Armor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("weapon")]
|
||||
public WeaponDurability Weapon
|
||||
public required WeaponDurability Weapon
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -49,14 +49,14 @@ public record DefaultDurability
|
||||
public record PmcDurability
|
||||
{
|
||||
[JsonPropertyName("armor")]
|
||||
public PmcDurabilityArmor Armor
|
||||
public required PmcDurabilityArmor Armor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("weapon")]
|
||||
public WeaponDurability Weapon
|
||||
public required WeaponDurability Weapon
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -6,91 +6,91 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record CoreConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-core";
|
||||
|
||||
[JsonPropertyName("sptVersion")]
|
||||
public string SptVersion
|
||||
public required string SptVersion
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("projectName")]
|
||||
public string ProjectName
|
||||
public required string ProjectName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("compatibleTarkovVersion")]
|
||||
public string CompatibleTarkovVersion
|
||||
public required string CompatibleTarkovVersion
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("serverName")]
|
||||
public string ServerName
|
||||
public required string ServerName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("profileSaveIntervalSeconds")]
|
||||
public int ProfileSaveIntervalInSeconds
|
||||
public required int ProfileSaveIntervalInSeconds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("sptFriendNickname")]
|
||||
public string SptFriendNickname
|
||||
public required string SptFriendNickname
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("allowProfileWipe")]
|
||||
public bool AllowProfileWipe
|
||||
public required bool AllowProfileWipe
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("bsgLogging")]
|
||||
public BsgLogging BsgLogging
|
||||
public required BsgLogging BsgLogging
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("release")]
|
||||
public Release Release
|
||||
public required Release Release
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("fixes")]
|
||||
public GameFixes Fixes
|
||||
public required GameFixes Fixes
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("survey")]
|
||||
public SurveyResponseData Survey
|
||||
public required SurveyResponseData Survey
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("features")]
|
||||
public ServerFeatures Features
|
||||
public required ServerFeatures Features
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -175,7 +175,7 @@ public record Release
|
||||
/// Text logged when users agreed to terms
|
||||
/// </summary>
|
||||
[JsonPropertyName("betaDisclaimerAcceptText")]
|
||||
public string BetaDisclaimerAcceptText
|
||||
public string? BetaDisclaimerAcceptText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -185,7 +185,7 @@ public record Release
|
||||
/// Server mods loaded message
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverModsLoadedText")]
|
||||
public string ServerModsLoadedText
|
||||
public string? ServerModsLoadedText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -195,7 +195,7 @@ public record Release
|
||||
/// Server mods loaded debug message text
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverModsLoadedDebugText")]
|
||||
public string ServerModsLoadedDebugText
|
||||
public string? ServerModsLoadedDebugText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -205,7 +205,7 @@ public record Release
|
||||
/// Client mods loaded message
|
||||
/// </summary>
|
||||
[JsonPropertyName("clientModsLoadedText")]
|
||||
public string ClientModsLoadedText
|
||||
public string? ClientModsLoadedText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -215,7 +215,7 @@ public record Release
|
||||
/// Client mods loaded debug message text
|
||||
/// </summary>
|
||||
[JsonPropertyName("clientModsLoadedDebugText")]
|
||||
public string ClientModsLoadedDebugText
|
||||
public string? ClientModsLoadedDebugText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -225,7 +225,7 @@ public record Release
|
||||
/// Illegal plugins log message
|
||||
/// </summary>
|
||||
[JsonPropertyName("illegalPluginsLoadedText")]
|
||||
public string IllegalPluginsLoadedText
|
||||
public string? IllegalPluginsLoadedText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -235,7 +235,7 @@ public record Release
|
||||
/// Illegal plugins exception
|
||||
/// </summary>
|
||||
[JsonPropertyName("illegalPluginsExceptionText")]
|
||||
public string IllegalPluginsExceptionText
|
||||
public string? IllegalPluginsExceptionText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -337,16 +337,6 @@ public record GameFixes
|
||||
|
||||
public record ServerFeatures
|
||||
{
|
||||
/// <summary>
|
||||
/// Controls whether the server attempts to download mod dependencies not included in the server's executable
|
||||
/// </summary>
|
||||
[JsonPropertyName("autoInstallModDependencies")]
|
||||
public bool AutoInstallModDependencies
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("compressProfile")]
|
||||
public bool CompressProfile
|
||||
{
|
||||
@@ -355,7 +345,7 @@ public record ServerFeatures
|
||||
}
|
||||
|
||||
[JsonPropertyName("chatbotFeatures")]
|
||||
public ChatbotFeatures ChatbotFeatures
|
||||
public required ChatbotFeatures ChatbotFeatures
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -365,7 +355,7 @@ public record ServerFeatures
|
||||
/// Keyed to profile type e.g. "Standard" or "SPT Developer"
|
||||
/// </summary>
|
||||
[JsonPropertyName("createNewProfileTypesBlacklist")]
|
||||
public HashSet<string> CreateNewProfileTypesBlacklist
|
||||
public required HashSet<string> CreateNewProfileTypesBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -375,7 +365,7 @@ public record ServerFeatures
|
||||
/// Profile ids to ignore when calculating achievement stats
|
||||
/// </summary>
|
||||
[JsonPropertyName("achievementProfileIdBlacklist")]
|
||||
public HashSet<string>? AchievementProfileIdBlacklist
|
||||
public required HashSet<string>? AchievementProfileIdBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -392,14 +382,14 @@ public record ChatbotFeatures
|
||||
}
|
||||
|
||||
[JsonPropertyName("commandoFeatures")]
|
||||
public CommandoFeatures CommandoFeatures
|
||||
public required CommandoFeatures CommandoFeatures
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("commandUseLimits")]
|
||||
public Dictionary<string, int?> CommandUseLimits
|
||||
public required Dictionary<string, int?> CommandUseLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -409,7 +399,7 @@ public record ChatbotFeatures
|
||||
/// Human readable id to guid for each bot
|
||||
/// </summary>
|
||||
[JsonPropertyName("ids")]
|
||||
public Dictionary<string, string> Ids
|
||||
public required Dictionary<string, string> Ids
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -419,7 +409,7 @@ public record ChatbotFeatures
|
||||
/// Bot Ids player is allowed to interact with
|
||||
/// </summary>
|
||||
[JsonPropertyName("enabledBots")]
|
||||
public Dictionary<string, bool> EnabledBots
|
||||
public required Dictionary<string, bool> EnabledBots
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -9,14 +9,14 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record GiftsConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-gifts";
|
||||
|
||||
[JsonPropertyName("gifts")]
|
||||
public Dictionary<string, Gift> Gifts
|
||||
public required Dictionary<string, Gift> Gifts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -33,7 +33,7 @@ public record Gift
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Who is sending the gift to player
|
||||
@@ -56,7 +56,7 @@ public record Gift
|
||||
}
|
||||
|
||||
[JsonPropertyName("senderDetails")]
|
||||
public UserDialogInfo SenderDetails
|
||||
public UserDialogInfo? SenderDetails
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -73,7 +73,7 @@ public record Gift
|
||||
}
|
||||
|
||||
[JsonPropertyName("messageText")]
|
||||
public string MessageText
|
||||
public string? MessageText
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,21 +5,21 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record HealthConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-health";
|
||||
|
||||
[JsonPropertyName("healthMultipliers")]
|
||||
public HealthMultipliers HealthMultipliers
|
||||
public required HealthMultipliers HealthMultipliers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("save")]
|
||||
public HealthSave Save
|
||||
public required HealthSave Save
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record HideoutConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -27,7 +27,7 @@ public record HideoutConfig : BaseConfig
|
||||
/// Default values used to hydrate `RunIntervalSeconds` with
|
||||
/// </summary>
|
||||
[JsonPropertyName("runIntervalValues")]
|
||||
public RunIntervalValues RunIntervalValues
|
||||
public required RunIntervalValues RunIntervalValues
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -72,14 +72,14 @@ public record HideoutConfig : BaseConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("cultistCircle")]
|
||||
public CultistCircleSettings CultistCircle
|
||||
public required CultistCircleSettings CultistCircle
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("hideoutCraftsToAdd")]
|
||||
public List<HideoutCraftToAdd> HideoutCraftsToAdd
|
||||
public required List<HideoutCraftToAdd> HideoutCraftsToAdd
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -92,28 +92,28 @@ public record HideoutCraftToAdd
|
||||
/// The new mongoId for the craft to use
|
||||
/// </summary>
|
||||
[JsonPropertyName("newId")]
|
||||
public string NewId
|
||||
public required string NewId
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("requirements")]
|
||||
public List<Requirement> Requirements
|
||||
public required List<Requirement> Requirements
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("craftIdToCopy")]
|
||||
public string CraftIdToCopy
|
||||
public required string CraftIdToCopy
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("craftOutputTpl")]
|
||||
public string CraftOutputTpl
|
||||
public required string CraftOutputTpl
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -137,7 +137,7 @@ public record CultistCircleSettings
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardPriceMultiplerMinMax")]
|
||||
public MinMax<double> RewardPriceMultiplierMinMax
|
||||
public required MinMax<double> RewardPriceMultiplierMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -191,7 +191,7 @@ public record CultistCircleSettings
|
||||
}
|
||||
|
||||
[JsonPropertyName("craftTimeThreshholds")]
|
||||
public List<CraftTimeThreshold> CraftTimeThreshholds
|
||||
public required List<CraftTimeThreshold> CraftTimeThreshholds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -211,7 +211,7 @@ public record CultistCircleSettings
|
||||
/// Specific reward pool when player sacrifices specific item(s)
|
||||
/// </summary>
|
||||
[JsonPropertyName("directRewards")]
|
||||
public List<DirectRewardSettings> DirectRewards
|
||||
public required List<DirectRewardSettings> DirectRewards
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -221,7 +221,7 @@ public record CultistCircleSettings
|
||||
/// Overrides for reward stack sizes, keyed by item tpl
|
||||
/// </summary>
|
||||
[JsonPropertyName("directRewardStackSize")]
|
||||
public Dictionary<string, MinMax<int>> DirectRewardStackSize
|
||||
public required Dictionary<string, MinMax<int>> DirectRewardStackSize
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -231,7 +231,7 @@ public record CultistCircleSettings
|
||||
/// Item tpls to exclude from the reward pool
|
||||
/// </summary>
|
||||
[JsonPropertyName("rewardItemBlacklist")]
|
||||
public List<string> RewardItemBlacklist
|
||||
public required List<string> RewardItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -241,14 +241,14 @@ public record CultistCircleSettings
|
||||
/// Item tpls to include in the reward pool
|
||||
/// </summary>
|
||||
[JsonPropertyName("additionalRewardItemPool")]
|
||||
public List<string> AdditionalRewardItemPool
|
||||
public required List<string> AdditionalRewardItemPool
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("currencyRewards")]
|
||||
public Dictionary<string, MinMax<int>> CurrencyRewards
|
||||
public required Dictionary<string, MinMax<int>> CurrencyRewards
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -268,21 +268,21 @@ public record CraftTimeThreshold : MinMax<int>
|
||||
public record DirectRewardSettings
|
||||
{
|
||||
[JsonPropertyName("reward")]
|
||||
public List<string> Reward
|
||||
public required List<string> Reward
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("requiredItems")]
|
||||
public List<string> RequiredItems
|
||||
public required List<string> RequiredItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("craftTimeSeconds")]
|
||||
public int CraftTimeSeconds
|
||||
public required int CraftTimeSeconds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -292,7 +292,7 @@ public record DirectRewardSettings
|
||||
/// Is the reward a one time reward or can it be given multiple times
|
||||
/// </summary>
|
||||
[JsonPropertyName("repeatable")]
|
||||
public bool Repeatable
|
||||
public required bool Repeatable
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record HttpConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -15,14 +15,14 @@ public record HttpConfig : BaseConfig
|
||||
/// Address used by webserver
|
||||
/// </summary>
|
||||
[JsonPropertyName("ip")]
|
||||
public string Ip
|
||||
public required string Ip
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("port")]
|
||||
public int Port
|
||||
public required int Port
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -32,28 +32,28 @@ public record HttpConfig : BaseConfig
|
||||
/// Address used by game client to connect to
|
||||
/// </summary>
|
||||
[JsonPropertyName("backendIp")]
|
||||
public string BackendIp
|
||||
public required string BackendIp
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("backendPort")]
|
||||
public int BackendPort
|
||||
public required int BackendPort
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("webSocketPingDelayMs")]
|
||||
public int WebSocketPingDelayMs
|
||||
public required int WebSocketPingDelayMs
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("logRequests")]
|
||||
public bool LogRequests
|
||||
public required bool LogRequests
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -63,14 +63,14 @@ public record HttpConfig : BaseConfig
|
||||
/// e.g. "SPT_Data/Server/images/traders/579dc571d53a0658a154fbec.png": "SPT_Data/Server/images/traders/NewTraderImage.png"
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverImagePathOverride")]
|
||||
public Dictionary<string, string> ServerImagePathOverride
|
||||
public required Dictionary<string, string> ServerImagePathOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("certificatePassword")]
|
||||
public string? CertificatePassword
|
||||
public required string CertificatePassword
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record InRaidConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -15,7 +15,7 @@ public record InRaidConfig : BaseConfig
|
||||
/// Overrides to apply to the pre-raid settings screen
|
||||
/// </summary>
|
||||
[JsonPropertyName("raidMenuSettings")]
|
||||
public RaidMenuSettings RaidMenuSettings
|
||||
public required RaidMenuSettings RaidMenuSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -35,7 +35,7 @@ public record InRaidConfig : BaseConfig
|
||||
/// Names of car extracts
|
||||
/// </summary>
|
||||
[JsonPropertyName("carExtracts")]
|
||||
public List<string> CarExtracts
|
||||
public required List<string> CarExtracts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -45,7 +45,7 @@ public record InRaidConfig : BaseConfig
|
||||
/// Names of coop extracts
|
||||
/// </summary>
|
||||
[JsonPropertyName("coopExtracts")]
|
||||
public List<string> CoopExtracts
|
||||
public required List<string> CoopExtracts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -125,14 +125,14 @@ public record InRaidConfig : BaseConfig
|
||||
public record RaidMenuSettings
|
||||
{
|
||||
[JsonPropertyName("aiAmount")]
|
||||
public string AiAmount
|
||||
public required string AiAmount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("aiDifficulty")]
|
||||
public string AiDifficulty
|
||||
public required string AiDifficulty
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record InsuranceConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -19,7 +19,7 @@ public record InsuranceConfig : BaseConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Item slots that should never be returned as insurance
|
||||
@@ -29,7 +29,7 @@ public record InsuranceConfig : BaseConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Some slots should always be removed, e.g. 'cartridges'
|
||||
@@ -39,7 +39,7 @@ public record InsuranceConfig : BaseConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Override to control how quickly insurance is processed/returned in seconds
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record InventoryConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -23,14 +23,14 @@ public record InventoryConfig : BaseConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("randomLootContainers")]
|
||||
public Dictionary<string, RewardDetails> RandomLootContainers
|
||||
public required Dictionary<string, RewardDetails> RandomLootContainers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("sealedAirdropContainer")]
|
||||
public SealedAirdropContainerSettings SealedAirdropContainer
|
||||
public required SealedAirdropContainerSettings SealedAirdropContainer
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -40,7 +40,7 @@ public record InventoryConfig : BaseConfig
|
||||
/// Contains item tpls that the server should consider money and treat the same as roubles/euros/dollars
|
||||
/// </summary>
|
||||
[JsonPropertyName("customMoneyTpls")]
|
||||
public List<string> CustomMoneyTpls
|
||||
public required List<string> CustomMoneyTpls
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -50,7 +50,7 @@ public record InventoryConfig : BaseConfig
|
||||
/// Multipliers for skill gain when inside menus, NOT in-game
|
||||
/// </summary>
|
||||
[JsonPropertyName("skillGainMultiplers")]
|
||||
public Dictionary<string, double> SkillGainMultipliers
|
||||
public required Dictionary<string, double> SkillGainMultipliers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -60,7 +60,7 @@ public record InventoryConfig : BaseConfig
|
||||
/// Container Tpls that should be deprioritised when choosing where to take money from for payments
|
||||
/// </summary>
|
||||
[JsonPropertyName("deprioritisedMoneyContainers")]
|
||||
public HashSet<string> DeprioritisedMoneyContainers
|
||||
public required HashSet<string> DeprioritisedMoneyContainers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -108,7 +108,7 @@ public record RewardDetails
|
||||
public record SealedAirdropContainerSettings
|
||||
{
|
||||
[JsonPropertyName("weaponRewardWeight")]
|
||||
public Dictionary<string, double> WeaponRewardWeight
|
||||
public required Dictionary<string, double> WeaponRewardWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -132,21 +132,21 @@ public record SealedAirdropContainerSettings
|
||||
}
|
||||
|
||||
[JsonPropertyName("weaponModRewardLimits")]
|
||||
public Dictionary<string, MinMax<int>> WeaponModRewardLimits
|
||||
public required Dictionary<string, MinMax<int>> WeaponModRewardLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardTypeLimits")]
|
||||
public Dictionary<string, MinMax<int>> RewardTypeLimits
|
||||
public required Dictionary<string, MinMax<int>> RewardTypeLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("ammoBoxWhitelist")]
|
||||
public List<string> AmmoBoxWhitelist
|
||||
public required List<string> AmmoBoxWhitelist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record ItemConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -16,7 +16,7 @@ public record ItemConfig : BaseConfig
|
||||
/// Items that should be globally blacklisted
|
||||
/// </summary>
|
||||
[JsonPropertyName("blacklist")]
|
||||
public HashSet<string> Blacklist
|
||||
public required HashSet<string> Blacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -26,7 +26,7 @@ public record ItemConfig : BaseConfig
|
||||
/// Items that should not be lootable from any location
|
||||
/// </summary>
|
||||
[JsonPropertyName("lootableItemBlacklist")]
|
||||
public HashSet<string> LootableItemBlacklist
|
||||
public required HashSet<string> LootableItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -36,7 +36,7 @@ public record ItemConfig : BaseConfig
|
||||
/// items that should not be given as rewards
|
||||
/// </summary>
|
||||
[JsonPropertyName("rewardItemBlacklist")]
|
||||
public HashSet<string> RewardItemBlacklist
|
||||
public required HashSet<string> RewardItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -46,7 +46,7 @@ public record ItemConfig : BaseConfig
|
||||
/// Item base types that should not be given as rewards
|
||||
/// </summary>
|
||||
[JsonPropertyName("rewardItemTypeBlacklist")]
|
||||
public HashSet<string> RewardItemTypeBlacklist
|
||||
public required HashSet<string> RewardItemTypeBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -56,14 +56,14 @@ public record ItemConfig : BaseConfig
|
||||
/// Items that can only be found on bosses
|
||||
/// </summary>
|
||||
[JsonPropertyName("bossItems")]
|
||||
public HashSet<string> BossItems
|
||||
public required HashSet<string> BossItems
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("handbookPriceOverride")]
|
||||
public Dictionary<string, HandbookPriceOverride> HandbookPriceOverride
|
||||
public required Dictionary<string, HandbookPriceOverride> HandbookPriceOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -73,7 +73,7 @@ public record ItemConfig : BaseConfig
|
||||
/// Presets to add to the globals.json `ItemPresets` dictionary on server start
|
||||
/// </summary>
|
||||
[JsonPropertyName("customItemGlobalPresets")]
|
||||
public List<Preset> CustomItemGlobalPresets
|
||||
public required List<Preset> CustomItemGlobalPresets
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -100,5 +100,5 @@ public record HandbookPriceOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record LocaleConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -15,7 +15,7 @@ public record LocaleConfig : BaseConfig
|
||||
/// e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting
|
||||
/// </summary>
|
||||
[JsonPropertyName("gameLocale")]
|
||||
public string GameLocale
|
||||
public required string GameLocale
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -25,7 +25,7 @@ public record LocaleConfig : BaseConfig
|
||||
/// e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverLocale")]
|
||||
public string ServerLocale
|
||||
public required string ServerLocale
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -35,14 +35,14 @@ public record LocaleConfig : BaseConfig
|
||||
/// Languages server can be translated into
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverSupportedLocales")]
|
||||
public List<string> ServerSupportedLocales
|
||||
public required List<string> ServerSupportedLocales
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("fallbacks")]
|
||||
public Dictionary<string, string> Fallbacks
|
||||
public required Dictionary<string, string> Fallbacks
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record LocationConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -17,21 +17,21 @@ public record LocationConfig : BaseConfig
|
||||
/// Rogues are classified as bosses and spawn immediately, this can result in no scavs spawning, delay rogues spawning to allow scavs to spawn first
|
||||
/// </summary>
|
||||
[JsonPropertyName("rogueLighthouseSpawnTimeSettings")]
|
||||
public RogueLighthouseSpawnTimeSettings RogueLighthouseSpawnTimeSettings
|
||||
public required RogueLighthouseSpawnTimeSettings RogueLighthouseSpawnTimeSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("looseLootMultiplier")]
|
||||
public Dictionary<string, double> LooseLootMultiplier
|
||||
public required Dictionary<string, double> LooseLootMultiplier
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("staticLootMultiplier")]
|
||||
public Dictionary<string, double> StaticLootMultiplier
|
||||
public required Dictionary<string, double> StaticLootMultiplier
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -41,7 +41,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Custom bot waves to add to a locations base json on game start if addCustomBotWavesToMaps is true
|
||||
/// </summary>
|
||||
[JsonPropertyName("customWaves")]
|
||||
public CustomWaves CustomWaves
|
||||
public CustomWaves? CustomWaves
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -51,7 +51,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Open zones to add to map
|
||||
/// </summary>
|
||||
[JsonPropertyName("openZones")]
|
||||
public Dictionary<string, HashSet<string>> OpenZones
|
||||
public required Dictionary<string, HashSet<string>> OpenZones
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -61,7 +61,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Key = map id, value = item tpls that should only have one forced loot spawn position
|
||||
/// </summary>
|
||||
[JsonPropertyName("forcedLootSingleSpawnById")]
|
||||
public Dictionary<string, HashSet<string>> ForcedLootSingleSpawnById
|
||||
public required Dictionary<string, HashSet<string>> ForcedLootSingleSpawnById
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -111,7 +111,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Add limits to a locations base.MinMaxBots array if enableBotTypeLimits is true
|
||||
/// </summary>
|
||||
[JsonPropertyName("botTypeLimits")]
|
||||
public Dictionary<string, List<BotTypeLimit>> BotTypeLimits
|
||||
public required Dictionary<string, List<BotTypeLimit>> BotTypeLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -121,7 +121,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Container randomisation settings
|
||||
/// </summary>
|
||||
[JsonPropertyName("containerRandomisationSettings")]
|
||||
public ContainerRandomisationSettings ContainerRandomisationSettings
|
||||
public required ContainerRandomisationSettings ContainerRandomisationSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -178,7 +178,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Key: map, value: loose loot ids to ignore
|
||||
/// </summary>
|
||||
[JsonPropertyName("looseLootBlacklist")]
|
||||
public Dictionary<string, List<string>> LooseLootBlacklist
|
||||
public required Dictionary<string, List<string>> LooseLootBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -188,7 +188,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Key: map, value: settings to control how long scav raids are
|
||||
/// </summary>
|
||||
[JsonPropertyName("scavRaidTimeSettings")]
|
||||
public ScavRaidTimeSettings ScavRaidTimeSettings
|
||||
public required ScavRaidTimeSettings ScavRaidTimeSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -198,7 +198,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Settings to adjust mods for lootable equipment in raid
|
||||
/// </summary>
|
||||
[JsonPropertyName("equipmentLootSettings")]
|
||||
public EquipmentLootSettings EquipmentLootSettings
|
||||
public required EquipmentLootSettings EquipmentLootSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -208,7 +208,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Min percentage to set raider spawns at, -1 makes no changes
|
||||
/// </summary>
|
||||
[JsonPropertyName("reserveRaiderSpawnChanceOverrides")]
|
||||
public ReserveRaiderSpawnChanceOverrides ReserveRaiderSpawnChanceOverrides
|
||||
public required ReserveRaiderSpawnChanceOverrides ReserveRaiderSpawnChanceOverrides
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -218,7 +218,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Containers to remove all children from when generating static/loose loot
|
||||
/// </summary>
|
||||
[JsonPropertyName("tplsToStripChildItemsFrom")]
|
||||
public HashSet<string> TplsToStripChildItemsFrom
|
||||
public required HashSet<string> TplsToStripChildItemsFrom
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -228,7 +228,7 @@ public record LocationConfig : BaseConfig
|
||||
/// Map ids players cannot visit
|
||||
/// </summary>
|
||||
[JsonPropertyName("nonMaps")]
|
||||
public HashSet<string> NonMaps
|
||||
public required HashSet<string> NonMaps
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -258,24 +258,7 @@ public record EquipmentLootSettings
|
||||
/// Percentage chance item will be added to equipment
|
||||
/// </summary>
|
||||
[JsonPropertyName("modSpawnChancePercent")]
|
||||
public Dictionary<string, double?> ModSpawnChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record FixEmptyBotWavesSettings
|
||||
{
|
||||
[JsonPropertyName("enabled")]
|
||||
public bool Enabled
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("ignoreMaps")]
|
||||
public List<string> IgnoreMaps
|
||||
public required Dictionary<string, double> ModSpawnChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -299,30 +282,6 @@ public record RogueLighthouseSpawnTimeSettings
|
||||
}
|
||||
}
|
||||
|
||||
public record SplitWaveSettings
|
||||
{
|
||||
[JsonPropertyName("enabled")]
|
||||
public bool Enabled
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("ignoreMaps")]
|
||||
public List<string> IgnoreMaps
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("waveSizeThreshold")]
|
||||
public int WaveSizeThreshold
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record CustomWaves
|
||||
{
|
||||
/// <summary>
|
||||
@@ -333,152 +292,20 @@ public record CustomWaves
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("normal")]
|
||||
public Dictionary<string, List<Wave>> Normal
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
}
|
||||
|
||||
public record BotTypeLimit : MinMax<int>
|
||||
{
|
||||
[JsonPropertyName("type")]
|
||||
public string Type
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Multiplier to apply to the loot count for a given map
|
||||
/// </summary>
|
||||
public record LootMultiplier
|
||||
{
|
||||
[JsonPropertyName("bigmap")]
|
||||
public double BigMap
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("develop")]
|
||||
public double Develop
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("factory4_day")]
|
||||
public double Factory4Day
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("factory4_night")]
|
||||
public double Factory4Night
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("interchange")]
|
||||
public double Interchange
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("laboratory")]
|
||||
public double Laboratory
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rezervbase")]
|
||||
public double RezervBase
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("shoreline")]
|
||||
public double Shoreline
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("woods")]
|
||||
public double Woods
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("hideout")]
|
||||
public double Hideout
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("lighthouse")]
|
||||
public double Lighthouse
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("privatearea")]
|
||||
public double PrivateArea
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("suburbs")]
|
||||
public double Suburbs
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("tarkovstreets")]
|
||||
public double TarkovStreets
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("terminal")]
|
||||
public double Terminal
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("town")]
|
||||
public double Town
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("sandbox")]
|
||||
public double Sandbox
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("sandbox_high")]
|
||||
public double SandboxHigh
|
||||
public new required string Type
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -498,7 +325,7 @@ public record ContainerRandomisationSettings
|
||||
/// What maps can use the container randomisation feature
|
||||
/// </summary>
|
||||
[JsonPropertyName("maps")]
|
||||
public Dictionary<string, bool> Maps
|
||||
public required Dictionary<string, bool> Maps
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -508,7 +335,7 @@ public record ContainerRandomisationSettings
|
||||
/// Some container types don't work when randomised
|
||||
/// </summary>
|
||||
[JsonPropertyName("containerTypesToNotRandomise")]
|
||||
public HashSet<string> ContainerTypesToNotRandomise
|
||||
public required HashSet<string> ContainerTypesToNotRandomise
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -532,14 +359,14 @@ public record ContainerRandomisationSettings
|
||||
public record ScavRaidTimeSettings
|
||||
{
|
||||
[JsonPropertyName("settings")]
|
||||
public ScavRaidTimeConfigSettings Settings
|
||||
public required ScavRaidTimeConfigSettings Settings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("maps")]
|
||||
public Dictionary<string, ScavRaidTimeLocationSettings?>? Maps
|
||||
public required Dictionary<string, ScavRaidTimeLocationSettings?> Maps
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -606,7 +433,7 @@ public record ScavRaidTimeLocationSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Should bot waves be removed / spawn times be adjusted
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record LootConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -16,7 +16,7 @@ public record LootConfig : BaseConfig
|
||||
/// Spawn positions to add into a map, key=mapid
|
||||
/// </summary>
|
||||
[JsonPropertyName("looseLoot")]
|
||||
public Dictionary<string, Spawnpoint[]> LooseLoot
|
||||
public required Dictionary<string, Spawnpoint[]> LooseLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -26,7 +26,7 @@ public record LootConfig : BaseConfig
|
||||
/// Loose loot probability adjustments to apply on game start
|
||||
/// </summary>
|
||||
[JsonPropertyName("looseLootSpawnPointAdjustments")]
|
||||
public Dictionary<string, Dictionary<string, double>>? LooseLootSpawnPointAdjustments
|
||||
public required Dictionary<string, Dictionary<string, double>> LooseLootSpawnPointAdjustments
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record LostOnDeathConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -15,7 +15,7 @@ public record LostOnDeathConfig : BaseConfig
|
||||
/// What equipment in each slot should be lost on death
|
||||
/// </summary>
|
||||
[JsonPropertyName("equipment")]
|
||||
public LostEquipment Equipment
|
||||
public required LostEquipment Equipment
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record MatchConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -19,7 +19,7 @@ public record MatchConfig : BaseConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("randomiseMapContainers")]
|
||||
public Dictionary<string, bool> RandomiseMapContainers
|
||||
public required Dictionary<string, bool> RandomiseMapContainers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -7,14 +7,14 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record PlayerScavConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-playerscav";
|
||||
|
||||
[JsonPropertyName("karmaLevel")]
|
||||
public Dictionary<string, KarmaLevel> KarmaLevel
|
||||
public required Dictionary<string, KarmaLevel> KarmaLevel
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -24,28 +24,28 @@ public record PlayerScavConfig : BaseConfig
|
||||
public record KarmaLevel
|
||||
{
|
||||
[JsonPropertyName("botTypeForLoot")]
|
||||
public string BotTypeForLoot
|
||||
public required string BotTypeForLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("modifiers")]
|
||||
public Modifiers Modifiers
|
||||
public required Modifiers Modifiers
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("itemLimits")]
|
||||
public Dictionary<string, GenerationData> ItemLimits
|
||||
public required Dictionary<string, GenerationData> ItemLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("equipmentBlacklist")]
|
||||
public Dictionary<EquipmentSlots, List<string>> EquipmentBlacklist
|
||||
public required Dictionary<EquipmentSlots, List<string>> EquipmentBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -59,7 +59,7 @@ public record KarmaLevel
|
||||
}
|
||||
|
||||
[JsonPropertyName("lootItemsToAddChancePercent")]
|
||||
public Dictionary<string, double> LootItemsToAddChancePercent
|
||||
public required Dictionary<string, double> LootItemsToAddChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -69,59 +69,14 @@ public record KarmaLevel
|
||||
public record Modifiers
|
||||
{
|
||||
[JsonPropertyName("equipment")]
|
||||
public Dictionary<string, double> Equipment
|
||||
public required Dictionary<string, double> Equipment
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("mod")]
|
||||
public Dictionary<string, double> Mod
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record ItemLimits
|
||||
{
|
||||
[JsonPropertyName("healing")]
|
||||
public GenerationData Healing
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("drugs")]
|
||||
public GenerationData Drugs
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("stims")]
|
||||
public GenerationData Stims
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("looseLoot")]
|
||||
public GenerationData LooseLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("magazines")]
|
||||
public GenerationData Magazines
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("grenades")]
|
||||
public GenerationData Grenades
|
||||
public required Dictionary<string, double> Mod
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,21 +5,21 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record PmcChatResponse : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-pmcchatresponse";
|
||||
|
||||
[JsonPropertyName("victim")]
|
||||
public ResponseSettings Victim
|
||||
public required ResponseSettings Victim
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("killer")]
|
||||
public ResponseSettings Killer
|
||||
public required ResponseSettings Killer
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -36,7 +36,7 @@ public record ResponseSettings
|
||||
}
|
||||
|
||||
[JsonPropertyName("responseTypeWeights")]
|
||||
public Dictionary<string, double> ResponseTypeWeights
|
||||
public required Dictionary<string, double> ResponseTypeWeights
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record PmcConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -18,7 +18,7 @@ public record PmcConfig : BaseConfig
|
||||
/// What game version should the PMC have
|
||||
/// </summary>
|
||||
[JsonPropertyName("gameVersionWeight")]
|
||||
public Dictionary<string, double> GameVersionWeight
|
||||
public required Dictionary<string, double> GameVersionWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -28,7 +28,7 @@ public record PmcConfig : BaseConfig
|
||||
/// What account type should the PMC have
|
||||
/// </summary>
|
||||
[JsonPropertyName("accountTypeWeight")]
|
||||
public Dictionary<MemberCategory, double> AccountTypeWeight
|
||||
public required Dictionary<MemberCategory, double> AccountTypeWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -38,7 +38,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Global whitelist/blacklist of vest loot for PMCs
|
||||
/// </summary>
|
||||
[JsonPropertyName("vestLoot")]
|
||||
public SlotLootSettings VestLoot
|
||||
public required SlotLootSettings VestLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -48,7 +48,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Global whitelist/blacklist of pocket loot for PMCs
|
||||
/// </summary>
|
||||
[JsonPropertyName("pocketLoot")]
|
||||
public SlotLootSettings PocketLoot
|
||||
public required SlotLootSettings PocketLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -58,14 +58,14 @@ public record PmcConfig : BaseConfig
|
||||
/// Global whitelist/blacklist of backpack loot for PMCs
|
||||
/// </summary>
|
||||
[JsonPropertyName("backpackLoot")]
|
||||
public SlotLootSettings BackpackLoot
|
||||
public required SlotLootSettings BackpackLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("globalLootBlacklist")]
|
||||
public List<string> GlobalLootBlacklist
|
||||
public required List<string> GlobalLootBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -75,7 +75,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value
|
||||
/// </summary>
|
||||
[JsonPropertyName("useDifficultyOverride")]
|
||||
public bool UseDifficultyOverride
|
||||
public required bool UseDifficultyOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -85,7 +85,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Difficulty override e.g. "AsOnline/Hard"
|
||||
/// </summary>
|
||||
[JsonPropertyName("difficulty")]
|
||||
public string Difficulty
|
||||
public required string Difficulty
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -95,7 +95,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Chance out of 100 to have a complete gun in backpack
|
||||
/// </summary>
|
||||
[JsonPropertyName("looseWeaponInBackpackChancePercent")]
|
||||
public double LooseWeaponInBackpackChancePercent
|
||||
public required double LooseWeaponInBackpackChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -105,7 +105,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Chance out of 100 to have an enhancement applied to PMC weapon
|
||||
/// </summary>
|
||||
[JsonPropertyName("weaponHasEnhancementChancePercent")]
|
||||
public double WeaponHasEnhancementChancePercent
|
||||
public required double WeaponHasEnhancementChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -115,7 +115,7 @@ public record PmcConfig : BaseConfig
|
||||
/// MinMax count of weapons to have in backpack
|
||||
/// </summary>
|
||||
[JsonPropertyName("looseWeaponInBackpackLootMinMax")]
|
||||
public MinMax<int> LooseWeaponInBackpackLootMinMax
|
||||
public required MinMax<int> LooseWeaponInBackpackLootMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -132,7 +132,7 @@ public record PmcConfig : BaseConfig
|
||||
/// Percentage chance PMC will be USEC
|
||||
/// </summary>
|
||||
[JsonPropertyName("isUsec")]
|
||||
public double IsUsec
|
||||
public required double IsUsec
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -142,7 +142,7 @@ public record PmcConfig : BaseConfig
|
||||
/// WildSpawnType enum value USEC PMCs use
|
||||
/// </summary>
|
||||
[JsonPropertyName("usecType")]
|
||||
public string UsecType
|
||||
public required string UsecType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -152,7 +152,7 @@ public record PmcConfig : BaseConfig
|
||||
/// WildSpawnType enum value BEAR PMCs use
|
||||
/// </summary>
|
||||
[JsonPropertyName("bearType")]
|
||||
public string BearType
|
||||
public required string BearType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -169,28 +169,28 @@ public record PmcConfig : BaseConfig
|
||||
/// What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear
|
||||
/// </summary>
|
||||
[JsonPropertyName("pmcType")]
|
||||
public Dictionary<string, Dictionary<string, Dictionary<string, double>>> PmcType
|
||||
public required Dictionary<string, Dictionary<string, Dictionary<string, double>>> PmcType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("maxBackpackLootTotalRub")]
|
||||
public List<MinMaxLootValue> MaxBackpackLootTotalRub
|
||||
public required List<MinMaxLootValue> MaxBackpackLootTotalRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("maxPocketLootTotalRub")]
|
||||
public int MaxPocketLootTotalRub
|
||||
public required int MaxPocketLootTotalRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("maxVestLootTotalRub")]
|
||||
public int MaxVestLootTotalRub
|
||||
public required int MaxVestLootTotalRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -200,7 +200,7 @@ public record PmcConfig : BaseConfig
|
||||
/// How many levels above player level can a PMC be
|
||||
/// </summary>
|
||||
[JsonPropertyName("botRelativeLevelDeltaMax")]
|
||||
public int BotRelativeLevelDeltaMax
|
||||
public required int BotRelativeLevelDeltaMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -210,7 +210,7 @@ public record PmcConfig : BaseConfig
|
||||
/// How many levels below player level can a PMC be
|
||||
/// </summary>
|
||||
[JsonPropertyName("botRelativeLevelDeltaMin")]
|
||||
public int BotRelativeLevelDeltaMin
|
||||
public required int BotRelativeLevelDeltaMin
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -220,28 +220,28 @@ public record PmcConfig : BaseConfig
|
||||
/// Force a number of healing items into PMCs secure container to ensure they can heal
|
||||
/// </summary>
|
||||
[JsonPropertyName("forceHealingItemsIntoSecure")]
|
||||
public bool ForceHealingItemsIntoSecure
|
||||
public required bool ForceHealingItemsIntoSecure
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("hostilitySettings")]
|
||||
public Dictionary<string, HostilitySettings> HostilitySettings
|
||||
public required Dictionary<string, HostilitySettings> HostilitySettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("allPMCsHavePlayerNameWithRandomPrefixChance")]
|
||||
public double AllPMCsHavePlayerNameWithRandomPrefixChance
|
||||
public required double AllPMCsHavePlayerNameWithRandomPrefixChance
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("locationSpecificPmcLevelOverride")]
|
||||
public Dictionary<string, MinMax<int>> LocationSpecificPmcLevelOverride
|
||||
public required Dictionary<string, MinMax<int>> LocationSpecificPmcLevelOverride
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -251,35 +251,35 @@ public record PmcConfig : BaseConfig
|
||||
/// Should secure container loot from usec.json/bear.json be added to pmc bots secure
|
||||
/// </summary>
|
||||
[JsonPropertyName("addSecureContainerLootFromBotConfig")]
|
||||
public bool AddSecureContainerLootFromBotConfig
|
||||
public required bool AddSecureContainerLootFromBotConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("addPrefixToSameNamePMCAsPlayerChance")]
|
||||
public int? AddPrefixToSameNamePMCAsPlayerChance
|
||||
public required int? AddPrefixToSameNamePMCAsPlayerChance
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("lootItemLimitsRub")]
|
||||
public List<MinMaxLootItemValue>? LootItemLimitsRub
|
||||
public required List<MinMaxLootItemValue>? LootItemLimitsRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("removeExistingPmcWaves")]
|
||||
public bool? RemoveExistingPmcWaves
|
||||
public required bool? RemoveExistingPmcWaves
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("customPmcWaves")]
|
||||
public Dictionary<string, List<BossLocationSpawn>> CustomPmcWaves
|
||||
public required Dictionary<string, List<BossLocationSpawn>> CustomPmcWaves
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -347,23 +347,6 @@ public record HostilitySettings
|
||||
}
|
||||
}
|
||||
|
||||
public record PmcTypes
|
||||
{
|
||||
[JsonPropertyName("usec")]
|
||||
public string Usec
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("bear")]
|
||||
public string Bear
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
|
||||
public record SlotLootSettings
|
||||
{
|
||||
/// <summary>
|
||||
@@ -374,7 +357,7 @@ public record SlotLootSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
/// <summary>
|
||||
/// Item tpl blacklist
|
||||
@@ -384,7 +367,7 @@ public record SlotLootSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
}
|
||||
|
||||
public record MinMaxLootValue : MinMax<int>
|
||||
@@ -400,21 +383,21 @@ public record MinMaxLootValue : MinMax<int>
|
||||
public record MinMaxLootItemValue : MinMax<double>
|
||||
{
|
||||
[JsonPropertyName("backpack")]
|
||||
public MinMax<double> Backpack
|
||||
public required MinMax<double> Backpack
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("pocket")]
|
||||
public MinMax<double> Pocket
|
||||
public required MinMax<double> Pocket
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("vest")]
|
||||
public MinMax<double> Vest
|
||||
public required MinMax<double> Vest
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record QuestConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record RagfairConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record RepairConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -44,7 +44,7 @@ public record RepairConfig : BaseConfig
|
||||
/// INT gain multiplier per repaired item type
|
||||
/// </summary>
|
||||
[JsonPropertyName("repairKitIntellectGainMultiplier")]
|
||||
public IntellectGainValues RepairKitIntellectGainMultiplier
|
||||
public required IntellectGainValues RepairKitIntellectGainMultiplier
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -54,21 +54,21 @@ public record RepairConfig : BaseConfig
|
||||
/// How much INT can be given to player per repair action
|
||||
/// </summary>
|
||||
[JsonPropertyName("maxIntellectGainPerRepair")]
|
||||
public MaxIntellectGainValues MaxIntellectGainPerRepair
|
||||
public required MaxIntellectGainValues MaxIntellectGainPerRepair
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("weaponTreatment")]
|
||||
public WeaponTreatmentRepairValues WeaponTreatment
|
||||
public required WeaponTreatmentRepairValues WeaponTreatment
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("repairKit")]
|
||||
public RepairKit RepairKit
|
||||
public required RepairKit RepairKit
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -159,28 +159,28 @@ public record WeaponTreatmentRepairValues
|
||||
public record RepairKit
|
||||
{
|
||||
[JsonPropertyName("armor")]
|
||||
public BonusSettings Armor
|
||||
public required BonusSettings Armor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("weapon")]
|
||||
public BonusSettings Weapon
|
||||
public required BonusSettings Weapon
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("vest")]
|
||||
public BonusSettings Vest
|
||||
public required BonusSettings Vest
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("headwear")]
|
||||
public BonusSettings Headwear
|
||||
public required BonusSettings Headwear
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -190,28 +190,28 @@ public record RepairKit
|
||||
public record BonusSettings
|
||||
{
|
||||
[JsonPropertyName("rarityWeight")]
|
||||
public Dictionary<string, double> RarityWeight
|
||||
public required Dictionary<string, double> RarityWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("bonusTypeWeight")]
|
||||
public Dictionary<string, double> BonusTypeWeight
|
||||
public required Dictionary<string, double> BonusTypeWeight
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Common")]
|
||||
public Dictionary<string, BonusValues> Common
|
||||
public required Dictionary<string, BonusValues> Common
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("Rare")]
|
||||
public Dictionary<string, BonusValues> Rare
|
||||
public required Dictionary<string, BonusValues> Rare
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -221,7 +221,7 @@ public record BonusSettings
|
||||
public record BonusValues
|
||||
{
|
||||
[JsonPropertyName("valuesMinMax")]
|
||||
public MinMax<double> ValuesMinMax
|
||||
public required MinMax<double> ValuesMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -231,7 +231,7 @@ public record BonusValues
|
||||
/// What dura is buff active between (min max of current max)
|
||||
/// </summary>
|
||||
[JsonPropertyName("activeDurabilityPercentMinMax")]
|
||||
public MinMax<int> ActiveDurabilityPercentMinMax
|
||||
public required MinMax<int> ActiveDurabilityPercentMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -6,42 +6,42 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record ScavCaseConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = "spt-scavcase";
|
||||
|
||||
[JsonPropertyName("rewardItemValueRangeRub")]
|
||||
public Dictionary<string, MinMax<double>> RewardItemValueRangeRub
|
||||
public required Dictionary<string, MinMax<double>> RewardItemValueRangeRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("moneyRewards")]
|
||||
public MoneyRewards MoneyRewards
|
||||
public required MoneyRewards MoneyRewards
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("ammoRewards")]
|
||||
public AmmoRewards AmmoRewards
|
||||
public required AmmoRewards AmmoRewards
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardItemParentBlacklist")]
|
||||
public HashSet<string> RewardItemParentBlacklist
|
||||
public required HashSet<string> RewardItemParentBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardItemBlacklist")]
|
||||
public HashSet<string> RewardItemBlacklist
|
||||
public required HashSet<string> RewardItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -79,28 +79,28 @@ public record MoneyRewards
|
||||
}
|
||||
|
||||
[JsonPropertyName("rubCount")]
|
||||
public MoneyLevels RubCount
|
||||
public required MoneyLevels RubCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("usdCount")]
|
||||
public MoneyLevels UsdCount
|
||||
public required MoneyLevels UsdCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("eurCount")]
|
||||
public MoneyLevels EurCount
|
||||
public required MoneyLevels EurCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("gpCount")]
|
||||
public MoneyLevels GpCount
|
||||
public required MoneyLevels GpCount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -110,21 +110,21 @@ public record MoneyRewards
|
||||
public record MoneyLevels
|
||||
{
|
||||
[JsonPropertyName("common")]
|
||||
public MinMax<int> Common
|
||||
public required MinMax<int> Common
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rare")]
|
||||
public MinMax<int> Rare
|
||||
public required MinMax<int> Rare
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("superrare")]
|
||||
public MinMax<int> SuperRare
|
||||
public required MinMax<int> SuperRare
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -141,14 +141,14 @@ public record AmmoRewards
|
||||
}
|
||||
|
||||
[JsonPropertyName("ammoRewardBlacklist")]
|
||||
public Dictionary<string, List<string>> AmmoRewardBlacklist
|
||||
public required Dictionary<string, List<string>> AmmoRewardBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("ammoRewardValueRangeRub")]
|
||||
public Dictionary<string, MinMax<double>> AmmoRewardValueRangeRub
|
||||
public required Dictionary<string, MinMax<double>> AmmoRewardValueRangeRub
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record SeasonalEventConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -25,7 +25,7 @@ public record SeasonalEventConfig : BaseConfig
|
||||
/// event / botType / equipSlot / itemid
|
||||
/// </summary>
|
||||
[JsonPropertyName("eventGear")]
|
||||
public Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> EventGear
|
||||
public required Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> EventGear
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -35,42 +35,42 @@ public record SeasonalEventConfig : BaseConfig
|
||||
/// event / bot type / equipSlot / itemid
|
||||
/// </summary>
|
||||
[JsonPropertyName("eventLoot")]
|
||||
public Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> EventLoot
|
||||
public required Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> EventLoot
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("events")]
|
||||
public List<SeasonalEvent> Events
|
||||
public required List<SeasonalEvent> Events
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("eventBotMapping")]
|
||||
public Dictionary<string, string> EventBotMapping
|
||||
public required Dictionary<string, string> EventBotMapping
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("eventBossSpawns")]
|
||||
public Dictionary<string, Dictionary<string, List<BossLocationSpawn>>> EventBossSpawns
|
||||
public required Dictionary<string, Dictionary<string, List<BossLocationSpawn>>> EventBossSpawns
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("eventWaves")]
|
||||
public Dictionary<string, Dictionary<string, List<Wave>>> EventWaves
|
||||
public required Dictionary<string, Dictionary<string, List<Wave>>> EventWaves
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("gifterSettings")]
|
||||
public List<GifterSetting> GifterSettings
|
||||
public required List<GifterSetting> GifterSettings
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -80,7 +80,7 @@ public record SeasonalEventConfig : BaseConfig
|
||||
/// key = event, second key = map name
|
||||
/// </summary>
|
||||
[JsonPropertyName("hostilitySettingsForEvent")]
|
||||
public Dictionary<string, Dictionary<string, List<AdditionalHostilitySettings>>> HostilitySettingsForEvent
|
||||
public required Dictionary<string, Dictionary<string, List<AdditionalHostilitySettings>>> HostilitySettingsForEvent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -90,7 +90,7 @@ public record SeasonalEventConfig : BaseConfig
|
||||
/// Ids of containers on locations that only have Christmas loot
|
||||
/// </summary>
|
||||
[JsonPropertyName("christmasContainerIds")]
|
||||
public List<string> ChristmasContainerIds
|
||||
public required List<string> ChristmasContainerIds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -100,7 +100,7 @@ public record SeasonalEventConfig : BaseConfig
|
||||
/// Season - botType - location (body/feet/hands/head)
|
||||
/// </summary>
|
||||
[JsonPropertyName("botAppearanceChanges")]
|
||||
public Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> BotAppearanceChanges
|
||||
public required Dictionary<SeasonalEventType, Dictionary<string, Dictionary<string, Dictionary<string, int>>>> BotAppearanceChanges
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -121,7 +121,7 @@ public record SeasonalEvent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
|
||||
[JsonPropertyName("type")]
|
||||
public SeasonalEventType Type
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record TraderConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -18,7 +18,7 @@ public record TraderConfig : BaseConfig
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
|
||||
[JsonPropertyName("updateTimeDefault")]
|
||||
public int UpdateTimeDefault
|
||||
@@ -52,14 +52,14 @@ public record TraderConfig : BaseConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("fence")]
|
||||
public FenceConfig Fence
|
||||
public required FenceConfig Fence
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("moddedTraders")]
|
||||
public ModdedTraders ModdedTraders
|
||||
public required ModdedTraders ModdedTraders
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -73,20 +73,20 @@ public record UpdateTime
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
|
||||
[JsonPropertyName("traderId")]
|
||||
public string TraderId
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Seconds between trader resets
|
||||
/// </summary>
|
||||
[JsonPropertyName("seconds")]
|
||||
public MinMax<int> Seconds
|
||||
public required MinMax<int> Seconds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -96,7 +96,7 @@ public record UpdateTime
|
||||
public record FenceConfig
|
||||
{
|
||||
[JsonPropertyName("discountOptions")]
|
||||
public DiscountOptions DiscountOptions
|
||||
public required DiscountOptions DiscountOptions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -124,14 +124,14 @@ public record FenceConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("weaponPresetMinMax")]
|
||||
public MinMax<int> WeaponPresetMinMax
|
||||
public required MinMax<int> WeaponPresetMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("equipmentPresetMinMax")]
|
||||
public MinMax<int> EquipmentPresetMinMax
|
||||
public required MinMax<int> EquipmentPresetMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -152,14 +152,14 @@ public record FenceConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("armorMaxDurabilityPercentMinMax")]
|
||||
public ItemDurabilityCurrentMax ArmorMaxDurabilityPercentMinMax
|
||||
public required ItemDurabilityCurrentMax ArmorMaxDurabilityPercentMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("weaponDurabilityPercentMinMax")]
|
||||
public ItemDurabilityCurrentMax WeaponDurabilityPercentMinMax
|
||||
public required ItemDurabilityCurrentMax WeaponDurabilityPercentMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -169,7 +169,7 @@ public record FenceConfig
|
||||
/// Keyed to plate protection level
|
||||
/// </summary>
|
||||
[JsonPropertyName("chancePlateExistsInArmorPercent")]
|
||||
public Dictionary<string, double> ChancePlateExistsInArmorPercent
|
||||
public required Dictionary<string, double> ChancePlateExistsInArmorPercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -179,14 +179,14 @@ public record FenceConfig
|
||||
/// Key: item tpl
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemStackSizeOverrideMinMax")]
|
||||
public Dictionary<string, MinMax<int>?> ItemStackSizeOverrideMinMax
|
||||
public required Dictionary<string, MinMax<int>?> ItemStackSizeOverrideMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("itemTypeLimits")]
|
||||
public Dictionary<string, int> ItemTypeLimits
|
||||
public required Dictionary<string, int> ItemTypeLimits
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -196,7 +196,7 @@ public record FenceConfig
|
||||
/// Prevent duplicate offers of items of specific categories by parentId
|
||||
/// </summary>
|
||||
[JsonPropertyName("preventDuplicateOffersOfCategory")]
|
||||
public List<string> PreventDuplicateOffersOfCategory
|
||||
public required List<string> PreventDuplicateOffersOfCategory
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -213,7 +213,7 @@ public record FenceConfig
|
||||
/// Max rouble price before item is not listed on flea
|
||||
/// </summary>
|
||||
[JsonPropertyName("itemCategoryRoublePriceLimit")]
|
||||
public Dictionary<string, double?> ItemCategoryRoublePriceLimit
|
||||
public required Dictionary<string, double?> ItemCategoryRoublePriceLimit
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -223,7 +223,7 @@ public record FenceConfig
|
||||
/// Each slotid with % to be removed prior to listing on fence
|
||||
/// </summary>
|
||||
[JsonPropertyName("presetSlotsToRemoveChancePercent")]
|
||||
public Dictionary<string, double?> PresetSlotsToRemoveChancePercent
|
||||
public required Dictionary<string, double?> PresetSlotsToRemoveChancePercent
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -250,14 +250,14 @@ public record FenceConfig
|
||||
}
|
||||
|
||||
[JsonPropertyName("blacklist")]
|
||||
public HashSet<string> Blacklist
|
||||
public required HashSet<string> Blacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("coopExtractGift")]
|
||||
public CoopExtractReward CoopExtractGift
|
||||
public required CoopExtractReward CoopExtractGift
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -294,14 +294,14 @@ public record FenceConfig
|
||||
public record ItemDurabilityCurrentMax
|
||||
{
|
||||
[JsonPropertyName("current")]
|
||||
public MinMax<double> Current
|
||||
public required MinMax<double> Current
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("max")]
|
||||
public MinMax<double> Max
|
||||
public required MinMax<double> Max
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -318,14 +318,14 @@ public record CoopExtractReward : LootRequest
|
||||
}
|
||||
|
||||
[JsonPropertyName("useRewardItemBlacklist")]
|
||||
public bool UseRewardItemBlacklist
|
||||
public new bool UseRewardItemBlacklist
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("messageLocaleIds")]
|
||||
public List<string> MessageLocaleIds
|
||||
public required List<string> MessageLocaleIds
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -363,14 +363,14 @@ public record DiscountOptions
|
||||
}
|
||||
|
||||
[JsonPropertyName("weaponPresetMinMax")]
|
||||
public MinMax<int> WeaponPresetMinMax
|
||||
public required MinMax<int> WeaponPresetMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("equipmentPresetMinMax")]
|
||||
public MinMax<int> EquipmentPresetMinMax
|
||||
public required MinMax<int> EquipmentPresetMinMax
|
||||
{
|
||||
get;
|
||||
set;
|
||||
@@ -390,5 +390,5 @@ public record ModdedTraders
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = [];
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Spt.Config;
|
||||
public record WeatherConfig : BaseConfig
|
||||
{
|
||||
[JsonPropertyName("kind")]
|
||||
public string? Kind
|
||||
public override string Kind
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -2,13 +2,13 @@ namespace SPTarkov.Server.Core.Models.Spt.Helper;
|
||||
|
||||
public record WeightedRandomResult<T>
|
||||
{
|
||||
public T Item
|
||||
public required T Item
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public int Index
|
||||
public required int Index
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -7,28 +7,28 @@ namespace SPTarkov.Server.Core.Models.Spt.Hideout;
|
||||
public record CircleCraftDetails
|
||||
{
|
||||
[JsonPropertyName("time")]
|
||||
public long Time
|
||||
public required long Time
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardType")]
|
||||
public CircleRewardType? RewardType
|
||||
public required CircleRewardType RewardType
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardAmountRoubles")]
|
||||
public int? RewardAmountRoubles
|
||||
public required int RewardAmountRoubles
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("rewardDetails")]
|
||||
public CraftTimeThreshold? RewardDetails
|
||||
public required CraftTimeThreshold RewardDetails
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -5,14 +5,14 @@ namespace SPTarkov.Server.Core.Models.Spt.Inventory;
|
||||
public record ItemSize
|
||||
{
|
||||
[JsonPropertyName("width")]
|
||||
public int Width
|
||||
public required int Width
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("height")]
|
||||
public int Height
|
||||
public required int Height
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -8,21 +8,21 @@ public record LocaleBase
|
||||
[JsonPropertyName("global")]
|
||||
/// DO NOT USE THIS PROPERTY DIRECTLY, USE LOCALESERVICE INSTEAD
|
||||
/// THIS IS LAZY LOADED AND YOUR CHANGES WILL NOT BE SAVED
|
||||
public Dictionary<string, LazyLoad<Dictionary<string, string>>>? Global
|
||||
public required Dictionary<string, LazyLoad<Dictionary<string, string>>> Global
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("menu")]
|
||||
public Dictionary<string, Dictionary<string, object>>? Menu
|
||||
public required Dictionary<string, Dictionary<string, object>> Menu
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("languages")]
|
||||
public Dictionary<string, string>? Languages
|
||||
public required Dictionary<string, string> Languages
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -2,17 +2,20 @@
|
||||
|
||||
namespace SPTarkov.Server.Core.Models.Spt.Server;
|
||||
|
||||
/// <summary>
|
||||
/// Model for Assets/database/server.json
|
||||
/// </summary>
|
||||
public record ServerBase
|
||||
{
|
||||
[JsonPropertyName("ip")]
|
||||
public string? Ip
|
||||
public required string Ip
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[JsonPropertyName("port")]
|
||||
public int? Port
|
||||
public required int Port
|
||||
{
|
||||
get;
|
||||
set;
|
||||
|
||||
@@ -559,24 +559,7 @@ public class BotLootCacheService(
|
||||
/// <param name="botRole">Bot role to hydrate</param>
|
||||
protected void InitCacheForBotRole(string botRole)
|
||||
{
|
||||
_lootCache.TryAdd(botRole, new BotLootCache
|
||||
{
|
||||
BackpackLoot = new Dictionary<string, double>(),
|
||||
PocketLoot = new Dictionary<string, double>(),
|
||||
VestLoot = new Dictionary<string, double>(),
|
||||
SecureLoot = new Dictionary<string, double>(),
|
||||
CombinedPoolLoot = new Dictionary<string, double>(),
|
||||
|
||||
SpecialItems = new Dictionary<string, double>(),
|
||||
GrenadeItems = new Dictionary<string, double>(),
|
||||
DrugItems = new Dictionary<string, double>(),
|
||||
FoodItems = new Dictionary<string, double>(),
|
||||
DrinkItems = new Dictionary<string, double>(),
|
||||
CurrencyItems = new Dictionary<string, double>(),
|
||||
HealingItems = new Dictionary<string, double>(),
|
||||
StimItems = new Dictionary<string, double>()
|
||||
}
|
||||
);
|
||||
_lootCache.TryAdd(botRole, new BotLootCache());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user