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 int? 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 int? BotRelativeLevelDeltaMax
{
get;
set;
}
///
/// Delta of lowest level of bot e.g. 50 means 50 levels below player
///
[JsonPropertyName("botRelativeLevelDeltaMin")]
public int? 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;
}
}