using System; using System.Collections.Generic; using System.Numerics; using System.Text.Json.Serialization; using Questionable.Model.Common; using Questionable.Model.Common.Converter; namespace Questionable.Model.Questing; public sealed class FateDefinition { public string Name { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public ushort TerritoryId { get; set; } public EAetheryteLocation Aetheryte { get; set; } [JsonConverter(typeof(VectorConverter))] public Vector3 Position { get; set; } public List Targets { get; set; } = new List(); public EStatus? RequiredStatusId { get; set; } public uint? TransformNpcDataId { get; set; } [JsonConverter(typeof(VectorConverter))] public Vector3? TransformNpcPosition { get; set; } public List? TransformDialogueChoices { get; set; } public ushort? RequiredQuestId { get; set; } public EAction? StopAction { get; set; } public DateTime? EventExpiry { get; set; } }