using System.Text.Json.Serialization;
using Core.Models.Common;
namespace Core.Models.Spt.Bots;
public record BotGenerationDetails
{
///
/// Should the bot be generated as a PMC
///
[JsonPropertyName("isPmc")]
public bool? IsPmc { get; set; }
///
/// assault/pmcBot etc
///
[JsonPropertyName("role")]
public string? Role { get; set; }
///
/// Side of bot
///
[JsonPropertyName("side")]
public string? Side { get; set; }
///
/// Active players current level
///
[JsonPropertyName("playerLevel")]
public double? PlayerLevel { get; set; }
[JsonPropertyName("playerName")]
public string? PlayerName { get; set; }
///
/// Level specific overrides for PMC level
///
[JsonPropertyName("locationSpecificPmcLevelOverride")]
public MinMax? LocationSpecificPmcLevelOverride { get; set; }
///
/// Delta of highest level of bot e.g. 50 means 50 levels above player
///
[JsonPropertyName("botRelativeLevelDeltaMax")]
public double? BotRelativeLevelDeltaMax { get; set; }
///
/// Delta of lowest level of bot e.g. 50 means 50 levels below player
///
[JsonPropertyName("botRelativeLevelDeltaMin")]
public double? BotRelativeLevelDeltaMin { get; set; }
///
/// How many to create and store
///
[JsonPropertyName("botCountToGenerate")]
public int? BotCountToGenerate { get; set; }
///
/// Desired difficulty of the bot
///
[JsonPropertyName("botDifficulty")]
public string? BotDifficulty { get; set; }
///
/// Will the generated bot be a player scav
///
[JsonPropertyName("isPlayerScav")]
public bool? IsPlayerScav { get; set; }
[JsonPropertyName("eventRole")]
public string? EventRole { get; set; }
[JsonPropertyName("allPmcsHaveSameNameAsPlayer")]
public bool? AllPmcsHaveSameNameAsPlayer { get; set; }
}