80 lines
2.3 KiB
C#
80 lines
2.3 KiB
C#
using System.Text.Json.Serialization;
|
|
using Core.Models.Eft.Common.Tables;
|
|
using Core.Models.Spt.Config;
|
|
|
|
namespace Core.Models.Spt.Bots;
|
|
|
|
public class ModToSpawnRequest
|
|
{
|
|
/// <summary>
|
|
/// Slot mod will fit into
|
|
/// </summary>
|
|
[JsonPropertyName("modSlot")]
|
|
public string ModSlot { get; set; }
|
|
|
|
/// <summary>
|
|
/// Will generate a randomised mod pool if true
|
|
/// </summary>
|
|
[JsonPropertyName("isRandomisableSlot")]
|
|
public bool IsRandomisableSlot { get; set; }
|
|
|
|
[JsonPropertyName("randomisationSettings")]
|
|
public RandomisationDetails RandomisationSettings { get; set; }
|
|
|
|
/// <summary>
|
|
/// Parent slot the item will be a part of
|
|
/// </summary>
|
|
[JsonPropertyName("botWeaponSightWhitelist")]
|
|
public Dictionary<string, List<string>> BotWeaponSightWhitelist { get; set; }
|
|
|
|
/// <summary>
|
|
/// Blacklist to prevent mods from being picked
|
|
/// </summary>
|
|
[JsonPropertyName("botEquipBlacklist")]
|
|
public EquipmentFilterDetails BotEquipBlacklist { get; set; }
|
|
|
|
/// <summary>
|
|
/// Pool of items to pick from
|
|
/// </summary>
|
|
[JsonPropertyName("itemModPool")]
|
|
public Dictionary<string, List<string>> ItemModPool { get; set; }
|
|
|
|
/// <summary>
|
|
/// List with only weapon tpl in it, ready for mods to be added
|
|
/// </summary>
|
|
[JsonPropertyName("weapon")]
|
|
public List<Item> Weapon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ammo tpl to use if slot requires a cartridge to be added (e.g. mod_magazine)
|
|
/// </summary>
|
|
[JsonPropertyName("ammoTpl")]
|
|
public string AmmoTpl { get; set; }
|
|
|
|
/// <summary>
|
|
/// Parent item the mod will go into
|
|
/// </summary>
|
|
[JsonPropertyName("parentTemplate")]
|
|
public TemplateItem ParentTemplate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Should mod be spawned/skipped/use default
|
|
/// </summary>
|
|
[JsonPropertyName("modSpawnResult")]
|
|
public ModSpawn ModSpawnResult { get; set; }
|
|
|
|
/// <summary>
|
|
/// Weapon stats for weapon being generated
|
|
/// </summary>
|
|
[JsonPropertyName("weaponStats")]
|
|
public WeaponStats WeaponStats { get; set; }
|
|
|
|
/// <summary>
|
|
/// List of item tpls the weapon does not support
|
|
/// </summary>
|
|
[JsonPropertyName("conflictingItemTpls")]
|
|
public HashSet<string> ConflictingItemTpls { get; set; }
|
|
|
|
[JsonPropertyName("botData")]
|
|
public BotData BotData { get; set; }
|
|
} |