73 lines
2.5 KiB
C#
73 lines
2.5 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.Eft.Profile;
|
|
|
|
namespace SPTarkov.Server.Core.Models.Spt.Templates;
|
|
|
|
public record Templates
|
|
{
|
|
[JsonPropertyName("character")]
|
|
public required List<string> Character { get; init; }
|
|
|
|
[JsonPropertyName("customisationStorage")]
|
|
public required List<CustomisationStorage> CustomisationStorage { get; init; }
|
|
|
|
[JsonPropertyName("items")]
|
|
public required Dictionary<MongoId, TemplateItem> Items { get; init; }
|
|
|
|
[JsonPropertyName("prestige")]
|
|
public required Prestige Prestige { get; init; }
|
|
|
|
[JsonPropertyName("quests")]
|
|
public required Dictionary<MongoId, Quest> Quests { get; init; }
|
|
|
|
[JsonPropertyName("repeatableQuests")]
|
|
public required RepeatableQuestDatabase RepeatableQuests { get; init; }
|
|
|
|
[JsonPropertyName("handbook")]
|
|
public required HandbookBase Handbook { get; init; }
|
|
|
|
[JsonPropertyName("customization")]
|
|
public required Dictionary<MongoId, CustomizationItem> Customization { get; init; }
|
|
|
|
[JsonPropertyName("dialogue")]
|
|
public required TraderDialogs Dialogue { get; init; }
|
|
|
|
/// <summary>
|
|
/// The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec)
|
|
/// </summary>
|
|
[JsonPropertyName("profiles")]
|
|
public required Dictionary<string, ProfileSides> Profiles { get; init; }
|
|
|
|
/// <summary>
|
|
/// Flea prices of items - gathered from online flea market dump
|
|
/// </summary>
|
|
[JsonPropertyName("prices")]
|
|
public required Dictionary<MongoId, double> Prices { get; init; }
|
|
|
|
/// <summary>
|
|
/// Default equipment loadouts that show on main inventory screen
|
|
/// </summary>
|
|
[JsonPropertyName("defaultEquipmentPresets")]
|
|
public required List<DefaultEquipmentPreset> DefaultEquipmentPresets { get; init; }
|
|
|
|
/// <summary>
|
|
/// Achievements
|
|
/// </summary>
|
|
[JsonPropertyName("achievements")]
|
|
public required List<Achievement> Achievements { get; init; }
|
|
|
|
/// <summary>
|
|
/// Achievements
|
|
/// </summary>
|
|
[JsonPropertyName("customAchievements")]
|
|
public required List<Achievement> CustomAchievements { get; init; }
|
|
|
|
/// <summary>
|
|
/// Location services data
|
|
/// </summary>
|
|
[JsonPropertyName("locationServices")]
|
|
public required LocationServices LocationServices { get; init; }
|
|
}
|