61 lines
1.9 KiB
C#
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; }
|
|
}
|