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; }
}