using System.Text.Json.Serialization; using Core.Models.Eft.Common.Tables; using Core.Models.Enums; using Core.Models.Spt.Config; namespace Core.Models.Spt.Bots; public record GenerateEquipmentProperties { /// /// Root Slot being generated /// [JsonPropertyName("rootEquipmentSlot")] public EquipmentSlots RootEquipmentSlot { get; set; } /// /// Equipment pool for root slot being generated /// [JsonPropertyName("rootEquipmentPool")] public Dictionary? RootEquipmentPool { get; set; } [JsonPropertyName("modPool")] public GlobalMods? ModPool { get; set; } /// /// Dictionary of mod items and their chance to spawn for this bot type /// [JsonPropertyName("spawnChances")] public Chances? SpawnChances { get; set; } /// /// Bot-specific properties /// [JsonPropertyName("botData")] public BotData? BotData { get; set; } [JsonPropertyName("inventory")] public BotBaseInventory? Inventory { get; set; } [JsonPropertyName("botEquipmentConfig")] public EquipmentFilters? BotEquipmentConfig { get; set; } /// /// Settings from bot.json to adjust how item is generated /// [JsonPropertyName("randomisationDetails")] public RandomisationDetails? RandomisationDetails { get; set; } /// /// OPTIONAL - Do not generate mods for tpls in this array /// [JsonPropertyName("generateModsBlacklist")] public List? GenerateModsBlacklist { get; set; } [JsonPropertyName("generatingPlayerLevel")] public double? GeneratingPlayerLevel { get; set; } }