2024-06-11 00:06:35 +02:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2024-06-08 21:16:57 +02:00
|
|
|
|
using System.Diagnostics.CodeAnalysis;
|
2024-05-26 15:43:33 +02:00
|
|
|
|
using System.Numerics;
|
|
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
using Questionable.Model.V1.Converter;
|
2024-05-25 23:51:37 +02:00
|
|
|
|
|
|
|
|
|
namespace Questionable.Model.V1;
|
|
|
|
|
|
2024-06-14 11:37:33 +02:00
|
|
|
|
public sealed class QuestStep
|
2024-05-25 23:51:37 +02:00
|
|
|
|
{
|
2024-05-26 15:43:33 +02:00
|
|
|
|
public EInteractionType InteractionType { get; set; }
|
|
|
|
|
|
2024-05-26 21:45:26 +02:00
|
|
|
|
public uint? DataId { get; set; }
|
|
|
|
|
|
|
|
|
|
[JsonConverter(typeof(VectorConverter))]
|
|
|
|
|
public Vector3? Position { get; set; }
|
|
|
|
|
|
|
|
|
|
public float? StopDistance { get; set; }
|
2024-06-16 18:27:07 +02:00
|
|
|
|
public float? NpcWaitDistance { get; set; }
|
2024-05-25 23:51:37 +02:00
|
|
|
|
public ushort TerritoryId { get; set; }
|
2024-05-28 22:24:06 +02:00
|
|
|
|
public ushort? TargetTerritoryId { get; set; }
|
2024-06-18 17:48:45 +02:00
|
|
|
|
public float? DelaySecondsAtStart { get; set; }
|
2024-05-28 22:24:06 +02:00
|
|
|
|
|
2024-05-26 15:43:33 +02:00
|
|
|
|
public bool Disabled { get; set; }
|
2024-05-27 21:54:34 +02:00
|
|
|
|
public bool DisableNavmesh { get; set; }
|
|
|
|
|
public bool? Mount { get; set; }
|
2024-06-01 18:46:57 +02:00
|
|
|
|
public bool? Fly { get; set; }
|
|
|
|
|
public bool? Sprint { get; set; }
|
2024-05-26 21:45:26 +02:00
|
|
|
|
public string? Comment { get; set; }
|
|
|
|
|
|
|
|
|
|
public EAetheryteLocation? AetheryteShortcut { get; set; }
|
2024-05-26 15:43:33 +02:00
|
|
|
|
|
2024-05-26 21:45:26 +02:00
|
|
|
|
public AethernetShortcut? AethernetShortcut { get; set; }
|
2024-05-27 21:54:34 +02:00
|
|
|
|
public uint? AetherCurrentId { get; set; }
|
|
|
|
|
|
|
|
|
|
public uint? ItemId { get; set; }
|
2024-05-29 00:17:19 +02:00
|
|
|
|
public bool? GroundTarget { get; set; }
|
2024-05-27 21:54:34 +02:00
|
|
|
|
|
|
|
|
|
public EEmote? Emote { get; set; }
|
2024-06-03 14:20:02 +02:00
|
|
|
|
public ChatMessage? ChatMessage { get; set; }
|
2024-05-27 21:54:34 +02:00
|
|
|
|
|
|
|
|
|
public EEnemySpawnType? EnemySpawnType { get; set; }
|
2024-05-29 21:22:58 +02:00
|
|
|
|
public IList<uint> KillEnemyDataIds { get; set; } = new List<uint>();
|
2024-06-14 11:37:33 +02:00
|
|
|
|
|
2024-06-01 14:30:20 +02:00
|
|
|
|
public JumpDestination? JumpDestination { get; set; }
|
|
|
|
|
public uint? ContentFinderConditionId { get; set; }
|
2024-05-29 21:22:58 +02:00
|
|
|
|
|
|
|
|
|
public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
|
2024-06-01 18:46:57 +02:00
|
|
|
|
public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
|
|
|
|
|
public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
|
2024-06-24 18:15:45 +02:00
|
|
|
|
public ushort? QuestId { get; set; }
|
2024-06-01 18:46:57 +02:00
|
|
|
|
|
2024-06-14 11:37:33 +02:00
|
|
|
|
[JsonConstructor]
|
|
|
|
|
public QuestStep()
|
2024-06-01 18:46:57 +02:00
|
|
|
|
{
|
2024-06-14 11:37:33 +02:00
|
|
|
|
}
|
2024-06-01 18:46:57 +02:00
|
|
|
|
|
2024-06-14 11:37:33 +02:00
|
|
|
|
public QuestStep(EInteractionType interactionType, uint? dataId, Vector3? position, ushort territoryId)
|
|
|
|
|
{
|
|
|
|
|
InteractionType = interactionType;
|
|
|
|
|
DataId = dataId;
|
|
|
|
|
Position = position;
|
|
|
|
|
TerritoryId = territoryId;
|
2024-06-01 18:46:57 +02:00
|
|
|
|
}
|
2024-05-25 23:51:37 +02:00
|
|
|
|
}
|