Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Models/Spt/Bots/GenerateEquipmentProperties.cs
T
2025-08-21 09:46:00 +00:00

61 lines
1.9 KiB
C#

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