using System; using System.Collections.Generic; using System.Numerics; using System.Text.Json.Serialization; using Questionable.Model.Common; using Questionable.Model.Common.Converter; using Questionable.Model.Questing.Converter; namespace Questionable.Model.Questing; public sealed class SeasonalDutyDefinition { public string Name { get; set; } = string.Empty; public ushort TerritoryId { get; set; } public EAetheryteLocation Aetheryte { get; set; } public AethernetShortcut? AethernetShortcut { get; set; } public uint NpcDataId { get; set; } [JsonConverter(typeof(VectorConverter))] public Vector3 NpcPosition { get; set; } public List DialogueChoices { get; set; } = new List(); public ushort DutyTerritoryId { get; set; } public List DataIds { get; set; } = new List(); [JsonConverter(typeof(VectorListConverter))] public List WaypointPositions { get; set; } = new List(); [JsonConverter(typeof(ActionConverter))] public EAction Action { get; set; } public float StopDistance { get; set; } public ushort? RequiredQuestId { get; set; } public DateTime? EventExpiry { get; set; } }