Rough Update for Labyrinthos2 up to Alzadaals Legacy + remaining EW Aethercurrent quests

arr-p5
Liza 2024-05-29 21:22:58 +02:00
parent adf8674fe4
commit 5ed1aa641d
Signed by: liza
GPG Key ID: 7199F8D727D55F67
50 changed files with 1338 additions and 253 deletions

View File

@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/Environment/AutoImport2/=CSHARP/BlackLists/=Newtonsoft_002E_002A/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View File

@ -264,6 +264,13 @@ internal sealed class QuestController
return;
Debug.Assert(CurrentQuest != null, nameof(CurrentQuest) + " != null");
if (step.Disabled)
{
_pluginLog.Information("Skipping step, as it is disabled");
IncreaseStepCount();
return;
}
if (!CurrentQuest.StepProgress.AetheryteShortcutUsed && step.AetheryteShortcut != null)
{
bool skipTeleport = false;
@ -308,6 +315,13 @@ internal sealed class QuestController
}
}
if (step.SkipIf.Contains(ESkipCondition.FlyingUnlocked) && _gameFunctions.IsFlyingUnlocked(step.TerritoryId))
{
_pluginLog.Information("Skipping step, as flying is unlocked");
IncreaseStepCount();
return;
}
if (!CurrentQuest.StepProgress.AethernetShortcutUsed)
{
if (step.AethernetShortcut != null &&
@ -357,7 +371,8 @@ internal sealed class QuestController
if (step.Mount == true && !_gameFunctions.HasStatusPreventingSprintOrMount())
{
if (!_condition[ConditionFlag.Mounted] && _territoryData.CanUseMount(_clientState.TerritoryType))
if (!_condition[ConditionFlag.Mounted] && !_condition[ConditionFlag.InCombat] &&
_territoryData.CanUseMount(_clientState.TerritoryType))
{
if (ActionManager.Instance()->GetActionStatus(ActionType.Mount, 71) == 0)
ActionManager.Instance()->UseAction(ActionType.Mount, 71);
@ -376,7 +391,7 @@ internal sealed class QuestController
if (!step.DisableNavmesh)
{
if (step.Mount != false && actualDistance > 30f && !_condition[ConditionFlag.Mounted] &&
_territoryData.CanUseMount(_clientState.TerritoryType) &&
!_condition[ConditionFlag.InCombat] && _territoryData.CanUseMount(_clientState.TerritoryType) &&
!_gameFunctions.HasStatusPreventingSprintOrMount())
{
if (ActionManager.Instance()->GetActionStatus(ActionType.Mount, 71) == 0)

View File

@ -393,7 +393,7 @@ internal sealed unsafe class GameFunctions
{
var battleChara = (BattleChara*)gameObject;
StatusManager* statusManager = battleChara->GetStatusManager;
return statusManager->HasStatus(565) || statusManager->HasStatus(404);
return statusManager->HasStatus(565) || statusManager->HasStatus(404) || statusManager->HasStatus(2730);
}
return false;

View File

@ -1,6 +1,10 @@
namespace Questionable.Model.V1;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
public class AethernetShortcut
namespace Questionable.Model.V1;
[JsonConverter(typeof(AethernetShortcutConverter))]
public sealed class AethernetShortcut
{
public EAetheryteLocation From { get; set; }
public EAetheryteLocation To { get; set; }

View File

@ -1,14 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Questionable.Model.V1.Converter;
public sealed class AetheryteConverter : JsonConverter<EAetheryteLocation>
public sealed class AetheryteConverter() : EnumConverter<EAetheryteLocation>(Values)
{
private static readonly Dictionary<EAetheryteLocation, string> EnumToString = new()
private static readonly Dictionary<EAetheryteLocation, string> Values = new()
{
{ EAetheryteLocation.Limsa, "Limsa Lominsa" },
{ EAetheryteLocation.Gridania, "Gridania" },
@ -67,29 +63,7 @@ public sealed class AetheryteConverter : JsonConverter<EAetheryteLocation>
{ EAetheryteLocation.ElpisTwelveWonders, "Elpis - Twelve Wonders" },
{ EAetheryteLocation.ElpisPoietenOikos, "Elpis - Poieten Oikos" },
{ EAetheryteLocation.UltimaThuleReahTahra, "Ultima Thule - Reah Tahra" },
{ EAetheryteLocation.UltimaThuleAbodeOfTheEa, "Ultima Thula - Abode of the Ea" },
{ EAetheryteLocation.UltimaThuleAbodeOfTheEa, "Ultima Thule - Abode of the Ea" },
{ EAetheryteLocation.UltimaThuleBaseOmicron, "Ultima Thule - Base Omicron" }
};
private static readonly Dictionary<string, EAetheryteLocation> StringToEnum =
EnumToString.ToDictionary(x => x.Value, x => x.Key);
public override EAetheryteLocation Read(ref Utf8JsonReader reader, Type typeToConvert,
JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
string? str = reader.GetString();
if (str == null)
throw new JsonException();
return StringToEnum.TryGetValue(str, out EAetheryteLocation value) ? value : throw new JsonException();
}
public override void Write(Utf8JsonWriter writer, EAetheryteLocation value, JsonSerializerOptions options)
{
ArgumentNullException.ThrowIfNull(writer);
writer.WriteStringValue(EnumToString[value]);
}
}

View File

@ -1,40 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Questionable.Model.V1.Converter;
public class EmoteConverter : JsonConverter<EEmote>
public sealed class EmoteConverter() : EnumConverter<EEmote>(Values)
{
private static readonly Dictionary<EEmote, string> EnumToString = new()
private static readonly Dictionary<EEmote, string> Values = new()
{
{ EEmote.Stretch, "stretch" },
{ EEmote.Wave, "wave" },
{ EEmote.Rally, "rally" },
{ EEmote.Deny, "deny" },
{ EEmote.Pray, "pray" },
};
private static readonly Dictionary<string, EEmote> StringToEnum =
EnumToString.ToDictionary(x => x.Value, x => x.Key);
public override EEmote Read(ref Utf8JsonReader reader, Type typeToConvert,
JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
string? str = reader.GetString();
if (str == null)
throw new JsonException();
return StringToEnum.TryGetValue(str, out EEmote value) ? value : throw new JsonException();
}
public override void Write(Utf8JsonWriter writer, EEmote value, JsonSerializerOptions options)
{
ArgumentNullException.ThrowIfNull(writer);
writer.WriteStringValue(EnumToString[value]);
}
}

View File

@ -1,38 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Questionable.Model.V1.Converter;
public class EnemySpawnTypeConverter : JsonConverter<EEnemySpawnType>
public sealed class EnemySpawnTypeConverter() : EnumConverter<EEnemySpawnType>(Values)
{
private static readonly Dictionary<EEnemySpawnType, string> EnumToString = new()
private static readonly Dictionary<EEnemySpawnType, string> Values = new()
{
{ EEnemySpawnType.AfterInteraction, "AfterInteraction" },
{ EEnemySpawnType.AutoOnEnterArea, "AutoOnEnterArea" },
};
private static readonly Dictionary<string, EEnemySpawnType> StringToEnum =
EnumToString.ToDictionary(x => x.Value, x => x.Key);
public override EEnemySpawnType Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
string? str = reader.GetString();
if (str == null)
throw new JsonException();
return StringToEnum.TryGetValue(str, out EEnemySpawnType value) ? value : throw new JsonException();
}
public override void Write(Utf8JsonWriter writer, EEnemySpawnType value, JsonSerializerOptions options)
{
ArgumentNullException.ThrowIfNull(writer);
writer.WriteStringValue(EnumToString[value]);
}
}

View File

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Questionable.Model.V1.Converter;
public abstract class EnumConverter<T> : JsonConverter<T>
where T : Enum
{
private readonly ReadOnlyDictionary<T, string> _enumToString;
private readonly ReadOnlyDictionary<string, T> _stringToEnum;
protected EnumConverter(IReadOnlyDictionary<T, string> values)
{
_enumToString = values is IDictionary<T, string> dict
? new ReadOnlyDictionary<T, string>(dict)
: values.ToDictionary(x => x.Key, x => x.Value).AsReadOnly();
_stringToEnum = _enumToString.ToDictionary(x => x.Value, x => x.Key)
.AsReadOnly();
}
public override T? Read(ref Utf8JsonReader reader, Type typeToConvert,
JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
string? str = reader.GetString();
if (str == null)
throw new JsonException();
return _stringToEnum.TryGetValue(str, out T? value) ? value : throw new JsonException();
}
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
{
ArgumentNullException.ThrowIfNull(writer);
writer.WriteStringValue(_enumToString[value]);
}
}

View File

@ -1,14 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Collections.Generic;
namespace Questionable.Model.V1.Converter;
public sealed class InteractionTypeConverter : JsonConverter<EInteractionType>
public sealed class InteractionTypeConverter() : EnumConverter<EInteractionType>(Values)
{
private static readonly Dictionary<EInteractionType, string> EnumToString = new()
private static readonly Dictionary<EInteractionType, string> Values = new()
{
{ EInteractionType.Interact, "Interact" },
{ EInteractionType.WalkTo, "WalkTo" },
@ -22,25 +18,4 @@ public sealed class InteractionTypeConverter : JsonConverter<EInteractionType>
{ EInteractionType.WaitForObjectAtPosition, "WaitForNpcAtPosition" },
{ EInteractionType.ManualAction, "ManualAction" }
};
private static readonly Dictionary<string, EInteractionType> StringToEnum =
EnumToString.ToDictionary(x => x.Value, x => x.Key);
public override EInteractionType Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
string? str = reader.GetString();
if (str == null)
throw new JsonException();
return StringToEnum.TryGetValue(str, out EInteractionType value) ? value : throw new JsonException();
}
public override void Write(Utf8JsonWriter writer, EInteractionType value, JsonSerializerOptions options)
{
ArgumentNullException.ThrowIfNull(writer);
writer.WriteStringValue(EnumToString[value]);
}
}

View File

@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace Questionable.Model.V1.Converter;
public sealed class SkipConditionConverter() : EnumConverter<ESkipCondition>(Values)
{
private static readonly Dictionary<ESkipCondition, string> Values = new()
{
{ ESkipCondition.FlyingUnlocked, "FlyingUnlocked" },
};
}

View File

@ -1,5 +1,9 @@
namespace Questionable.Model.V1;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(AetheryteConverter))]
public enum EAetheryteLocation
{
None = 0,

View File

@ -1,5 +1,9 @@
namespace Questionable.Model.V1;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(EmoteConverter))]
public enum EEmote
{
None = 0,
@ -8,4 +12,5 @@ public enum EEmote
Wave = 16,
Rally = 34,
Deny = 25,
Pray = 58,
}

View File

@ -1,5 +1,9 @@
namespace Questionable.Model.V1;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(EnemySpawnTypeConverter))]
public enum EEnemySpawnType
{
None = 0,

View File

@ -1,5 +1,9 @@
namespace Questionable.Model.V1;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(InteractionTypeConverter))]
public enum EInteractionType
{
Interact,

View File

@ -0,0 +1,11 @@
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(SkipConditionConverter))]
public enum ESkipCondition
{
None,
FlyingUnlocked,
}

View File

@ -7,7 +7,6 @@ namespace Questionable.Model.V1;
public class QuestStep
{
[JsonConverter(typeof(InteractionTypeConverter))]
public EInteractionType InteractionType { get; set; }
public uint? DataId { get; set; }
@ -25,22 +24,20 @@ public class QuestStep
public bool Fly { get; set; }
public string? Comment { get; set; }
[JsonConverter(typeof(AetheryteConverter))]
public EAetheryteLocation? AetheryteShortcut { get; set; }
[JsonConverter(typeof(AethernetShortcutConverter))]
public AethernetShortcut? AethernetShortcut { get; set; }
public uint? AetherCurrentId { get; set; }
public uint? ItemId { get; set; }
public bool? GroundTarget { get; set; }
[JsonConverter(typeof(EmoteConverter))]
public EEmote? Emote { get; set; }
public string ChatMessage { get; set; }
public string? ChatMessage { get; set; }
[JsonConverter(typeof(EnemySpawnTypeConverter))]
public EEnemySpawnType? EnemySpawnType { get; set; }
public IList<uint>? KillEnemyDataIds { get; set; }
public IList<uint> KillEnemyDataIds { get; set; } = new List<uint>();
public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
}

View File

@ -0,0 +1,68 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041313,
"Position": {
"X": 89.28052,
"Y": -17.530382,
"Z": -74.906555
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041314,
"Position": {
"X": 78.3855,
"Y": -29.79994,
"Z": 159.5636
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2012494,
"Position": {
"X": 78.96533,
"Y": -29.098999,
"Z": 161.02844
},
"StopDistance": 5,
"TerritoryId": 956,
"InteractionType": "Emote",
"Emote": "pray"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041313,
"Position": {
"X": 89.28052,
"Y": -17.530382,
"Z": -74.906555
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,71 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041129,
"Position": {
"X": -23.575256,
"Y": -31.53021,
"Z": 1.8463135
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 262.07907,
"Y": -18.527845,
"Z": 183.61182
},
"StopDistance": 1,
"TerritoryId": 956,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14123
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1041128,
"Position": {
"X": 263.1112,
"Y": -18.597479,
"Z": 185.99219
},
"StopDistance": 5,
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041129,
"Position": {
"X": -23.575256,
"Y": -31.53021,
"Z": 1.8463135
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,118 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041667,
"Position": {
"X": 443.96118,
"Y": 65.162,
"Z": -105.4552
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012725,
"Position": {
"X": 693.1715,
"Y": 99.01575,
"Z": 123.52173
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2012726,
"Position": {
"X": 806.79016,
"Y": 154.10083,
"Z": -149.64526
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041681,
"Position": {
"X": 436.69788,
"Y": 166.19273,
"Z": -430.4723
},
"TerritoryId": 956,
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Archeion"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041668,
"Position": {
"X": 394.12524,
"Y": 173.82095,
"Z": -646.75366
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1041670,
"Position": {
"X": 285.23682,
"Y": 185.65448,
"Z": -729.67114
},
"StopDistance": 1,
"TerritoryId": 956,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14069
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041670,
"Position": {
"X": 285.23682,
"Y": 185.65448,
"Z": -729.67114
},
"StopDistance": 5,
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,51 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041683,
"Position": {
"X": -29.984009,
"Y": -31.53043,
"Z": -23.758362
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041684,
"Position": {
"X": 50.43103,
"Y": -29.530062,
"Z": 27.115234
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041685,
"Position": {
"X": 154.89429,
"Y": -17.530376,
"Z": -66.2395
},
"TerritoryId": 956,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,77 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1037867,
"Position": {
"X": -301.62512,
"Y": -144.00002,
"Z": -491.14215
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041132,
"Position": {
"X": -558.1293,
"Y": -168,
"Z": -475.3338
},
"TerritoryId": 959,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14053
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -719.5691,
"Y": -152.90369,
"Z": -807.82135
},
"TerritoryId": 959,
"InteractionType": "ManualAction",
"Comment": "Navmesh can't jump (TODO this is super out of the way)"
},
{
"DataId": 2012018,
"Position": {
"X": -733.63855,
"Y": -139.6659,
"Z": -733.30286
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818367
},
{
"DataId": 1037867,
"Position": {
"X": -301.62512,
"Y": -144.00002,
"Z": -491.14215
},
"TerritoryId": 959,
"InteractionType": "Interact",
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow"
}
]
}
]
}

View File

@ -0,0 +1,98 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1039520,
"Position": {
"X": -287.8615,
"Y": -143.50005,
"Z": -520.28687
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -345.7338,
"Y": -161.8501,
"Z": -646.97064
},
"TerritoryId": 959,
"InteractionType": "ManualAction",
"Comment": "Navmesh can't jump"
},
{
"DataId": 1041789,
"StopDistance": 3,
"TerritoryId": 959,
"InteractionType": "Say",
"ChatMessage": "carrot of happiness"
},
{
"DataId": 1041790,
"Position": {
"X": -482.01727,
"Y": -167.50002,
"Z": -545.6169
},
"StopDistance": 3,
"TerritoryId": 959,
"InteractionType": "Say",
"ChatMessage": "carrot of happiness",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192"
},
{
"Position": {
"X": -438.33246,
"Y": -168.00002,
"Z": -420.43494
},
"TerritoryId": 959,
"InteractionType": "ManualAction",
"Comment": "Navmesh can't jump"
},
{
"DataId": 1041791,
"StopDistance": 3,
"TerritoryId": 959,
"InteractionType": "Say",
"ChatMessage": "carrot of happiness"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -376.5167,
"Y": -168,
"Z": -432.03497
},
"TerritoryId": 959,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"DataId": 1039520,
"Position": {
"X": -287.8615,
"Y": -143.50005,
"Z": -520.28687
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,153 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041123,
"Position": {
"X": -81.864685,
"Y": -132.74333,
"Z": -521.6602
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012015,
"Position": {
"X": 591.3633,
"Y": 149.33997,
"Z": 114.91565
},
"StopDistance": 4,
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818364,
"Comment": "TODO Unsure if this can be reached via navmesh directly from Bestways Burrows"
},
{
"DataId": 1041127,
"Position": {
"X": 537.3159,
"Y": 132.40395,
"Z": 233.81396
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2012338,
"Position": {
"X": 700.19055,
"Y": 135.21008,
"Z": 229.48035
},
"TerritoryId": 959,
"InteractionType": "Interact",
"$.1": "QuestVariables if done first: 17 0 0 0 0 32"
},
{
"DataId": 1041125,
"Position": {
"X": 735.5,
"Y": 151.08012,
"Z": 189.01343
},
"TerritoryId": 959,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14050
],
"$.1": "QuestVariables if done after [1]: 33 1 0 0 0 160"
},
{
"DataId": 1041124,
"Position": {
"X": 663.6301,
"Y": 128.48961,
"Z": 188.18945
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1041127,
"Position": {
"X": 537.3159,
"Y": 132.40395,
"Z": 233.81396
},
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14049
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1041127,
"Position": {
"X": 537.3159,
"Y": 132.40395,
"Z": 233.81396
},
"StopDistance": 5,
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 2012016,
"Position": {
"X": 388.3573,
"Y": 99.90076,
"Z": 306.05017
},
"TerritoryId": 959,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818365
},
{
"DataId": 1041123,
"Position": {
"X": -81.864685,
"Y": -132.74333,
"Z": -521.6602
},
"TerritoryId": 959,
"InteractionType": "Interact",
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow"
}
]
}
]
}

View File

@ -0,0 +1,93 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1041555,
"Position": {
"X": 26.443848,
"Y": -129.20917,
"Z": -536.9497
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1041556,
"Position": {
"X": 113.14563,
"Y": -133.07352,
"Z": -465.17133
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1041745,
"Position": {
"X": 66.23938,
"Y": -133.00002,
"Z": -432.8222
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Comment": "Cheerful Loporrit",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 64"
},
{
"DataId": 1041746,
"Position": {
"X": -85.83203,
"Y": -133.0356,
"Z": -507.1336
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Comment": "Stern Loporrit",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 96"
},
{
"DataId": 1041744,
"Position": {
"X": -110.12439,
"Y": -133.07341,
"Z": -556.7865
},
"TerritoryId": 959,
"InteractionType": "Interact",
"Comment": "Easygoing Loporrit"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1041556,
"Position": {
"X": 113.14563,
"Y": -133.07352,
"Z": -465.17133
},
"TerritoryId": 959,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,52 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1040876,
"Position": {
"X": 49.42395,
"Y": 269.25684,
"Z": -523.2472
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -41.26438,
"Y": 274.85336,
"Z": -523.8633
},
"TerritoryId": 960,
"InteractionType": "ManualAction",
"Comment": "Kill 2 Drifting Ea",
"$": "QuestVariables: 0 0-16-32 0 0 0 0"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1040876,
"Position": {
"X": 49.42395,
"Y": 269.25684,
"Z": -523.2472
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,76 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1038016,
"Position": {
"X": 105.42456,
"Y": 269.29584,
"Z": -454.3069
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1040880,
"Position": {
"X": -110.185425,
"Y": 269.2062,
"Z": -713.5271
},
"TerritoryId": 960,
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea"
},
{
"DataId": 1040881,
"Position": {
"X": -201.86163,
"Y": 288.6714,
"Z": -466.331
},
"TerritoryId": 960,
"InteractionType": "Interact",
"$.0": "[2]",
"$.1": "QuestVariables if done after [3]: 32 17 0 0 0 160"
},
{
"DataId": 1040879,
"Position": {
"X": -184.52734,
"Y": 267.47086,
"Z": -292.65283
},
"TerritoryId": 960,
"InteractionType": "Interact",
"$.0": "[3]",
"$.1": "QuestVariables if done first: 16 1 0 0 0 128"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1038016,
"Position": {
"X": 105.42456,
"Y": 269.29584,
"Z": -454.3069
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -0,0 +1,56 @@
{
"Version": 1,
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1038043,
"Position": {
"X": 470.4203,
"Y": 437.00183,
"Z": 315.81592
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 656.94653,
"Y": 437.98502,
"Z": 302.6322
},
"StopDistance": 0.5,
"TerritoryId": 960,
"InteractionType": "ManualAction",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14044
],
"Comment": "Can maybe be automated to use item depending on quest vars??"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1038043,
"Position": {
"X": 470.4203,
"Y": 437.00183,
"Z": 315.81592
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
}
]
}

View File

@ -21,47 +21,6 @@
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -102.94707,
"Y": -29.933468,
"Z": 674.6727
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -118.62926,
"Y": -22.071072,
"Z": 681.35846
},
"TerritoryId": 956,
"InteractionType": "ManualAction",
"DisableNavmesh": true,
"Comment": "Navmesh can't jump"
},
{
"DataId": 2011986,
"Position": {
"X": -128.06903,
"Y": -20.523438,
"Z": 676.7223
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818317
},
{
"Position": {
"X": -114.01625,
"Y": -30.313616,
"Z": 670.05585
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": 79.66557,
@ -69,7 +28,8 @@
"Z": 457.04776
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
"InteractionType": "WalkTo",
"Comment": "TODO verify this is correct, there was an aether current prior to this"
},
{
"DataId": 2011989,

View File

@ -83,6 +83,47 @@
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818316
},
{
"Position": {
"X": -102.94707,
"Y": -29.933468,
"Z": 674.6727
},
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -118.62926,
"Y": -22.071072,
"Z": 681.35846
},
"TerritoryId": 956,
"InteractionType": "ManualAction",
"DisableNavmesh": true,
"Comment": "Navmesh can't jump"
},
{
"DataId": 2011986,
"Position": {
"X": -128.06903,
"Y": -20.523438,
"Z": 676.7223
},
"TerritoryId": 956,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818317
},
{
"Position": {
"X": -114.01625,
"Y": -30.313616,
"Z": 670.05585
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"DataId": 1040455,
"Position": {

View File

@ -20,6 +20,16 @@
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 5.4520116,
"Y": -28.723352,
"Z": -42.992764
},
"AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet",
"TerritoryId": 956,
"InteractionType": "WalkTo"
},
{
"DataId": 2012226,
"Position": {
@ -58,7 +68,8 @@
"Z": 301.93018
},
"TerritoryId": 956,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Aporia"
}
]
},

View File

@ -1,7 +1,6 @@
{
"Version": 1,
"Author": "liza",
"Comment": "Sequence 2 is 'Enter' dungeon, Sequence 3 is 'Clear' dungeon",
"QuestSequence": [
{
"Sequence": 0,
@ -91,6 +90,7 @@
},
"TerritoryId": 962,
"InteractionType": "Interact",
"StopDistance": 5,
"AethernetShortcut": [
"[Old Sharlayan] The Rostra",
"[Old Sharlayan] The Baldesion Annex"

View File

@ -12,6 +12,7 @@
"Y": 3.9334679,
"Z": 1.3884888
},
"StopDistance": 7,
"TerritoryId": 962,
"InteractionType": "Interact"
}
@ -96,6 +97,7 @@
"Y": 5.1499996,
"Z": -65.87323
},
"StopDistance": 5,
"TerritoryId": 962,
"InteractionType": "Interact"
}

View File

@ -65,6 +65,7 @@
"Y": -13.777,
"Z": 149.70618
},
"StopDistance": 5,
"TerritoryId": 962,
"InteractionType": "Interact"
}
@ -114,8 +115,13 @@
"Y": 4.357494,
"Z": 0.7476196
},
"StopDistance": 5,
"TerritoryId": 962,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AethernetShortcut": [
"[Old Sharlayan] The Leveilleur Estate",
"[Old Sharlayan] The Baldesion Annex"
]
}
]
}

View File

@ -12,6 +12,7 @@
"Y": 4.357494,
"Z": 0.7476196
},
"StopDistance": 5,
"TerritoryId": 962,
"InteractionType": "Interact"
}
@ -29,6 +30,7 @@
},
"TerritoryId": 956,
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Aporia",
"SkipIf": [
"FlyingUnlocked"
]
@ -41,7 +43,8 @@
"Z": 301.56396
},
"TerritoryId": 956,
"InteractionType": "Interact"
"InteractionType": "Interact",
"Fly": true
}
]
},
@ -70,6 +73,7 @@
"Y": 80.7959,
"Z": 607.6904
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}

View File

@ -12,6 +12,7 @@
"Y": 80.86001,
"Z": 606.53076
},
"StopDistance": 7,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -43,7 +44,9 @@
"Z": 533.6842
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 16 1 0 0 0 128"
},
{
"DataId": 1040292,
@ -53,7 +56,9 @@
"Z": 554.4059
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[2]",
"$.2": "QuestVariables if done after [1]: 33 1 0 0 0 192"
},
{
"DataId": 1040293,

View File

@ -12,6 +12,7 @@
"Y": 73.47535,
"Z": 309.86487
},
"StopDistance": 7,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -27,8 +28,11 @@
"Y": 72.5362,
"Z": 332.23462
},
"StopDistance": 8,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 64"
},
{
"DataId": 1038008,
@ -37,8 +41,11 @@
"Y": 78.6382,
"Z": 303.8529
},
"StopDistance": 8,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 96"
},
{
"DataId": 179,
@ -47,6 +54,7 @@
"Y": 74.34187,
"Z": 269.6726
},
"StopDistance": 10,
"TerritoryId": 960,
"InteractionType": "AttuneAetheryte"
},
@ -57,6 +65,7 @@
"Y": 88.871994,
"Z": 207.35486
},
"StopDistance": 8,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -88,17 +97,9 @@
"Z": -30.71643
},
"TerritoryId": 960,
"InteractionType": "Interact"
},
{
"DataId": 2012283,
"Position": {
"X": -465.1103,
"Y": 56.47351,
"Z": -30.71643
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 ??"
},
{
"DataId": 2012282,
@ -108,6 +109,18 @@
"Z": -33.676758
},
"TerritoryId": 960,
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 ??"
},
{
"DataId": 2012281,
"Position": {
"X": -472.25153,
"Y": 56.26001,
"Z": -20.676025
},
"TerritoryId": 960,
"InteractionType": "Interact"
}
]
@ -137,8 +150,10 @@
"Y": 64.78333,
"Z": -200.3357
},
"StopDistance": 1,
"TerritoryId": 960,
"InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [
14002
]

View File

@ -28,7 +28,8 @@
"Z": 273.9757
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Reah Tahra"
}
]
},
@ -42,6 +43,7 @@
"Y": 59.814697,
"Z": 55.954834
},
"StopDistance": 8,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -82,6 +84,7 @@
"Y": 232.19641,
"Z": -253.10144
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}

View File

@ -12,6 +12,7 @@
"Y": 232.2548,
"Z": -252.8573
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -58,7 +59,8 @@
"Z": -361.50153
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818389
},
{
"DataId": 2012035,
@ -68,7 +70,8 @@
"Z": -295.15533
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818394
},
{
"DataId": 1040317,
@ -78,7 +81,8 @@
"Z": -312.58112
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"DisableNavmesh": true
}
]
},
@ -107,8 +111,11 @@
"Y": 272.51086,
"Z": -600.7019
},
"StopDistance": 4,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 128"
},
{
"DataId": 2012355,
@ -117,8 +124,11 @@
"Y": 272.4497,
"Z": -616.4492
},
"StopDistance": 4,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192"
},
{
"DataId": 180,
@ -127,6 +137,7 @@
"Y": 272.48022,
"Z": -657.49603
},
"StopDistance": 8,
"TerritoryId": 960,
"InteractionType": "AttuneAetheryte"
},
@ -137,8 +148,11 @@
"Y": 272.99915,
"Z": -617.853
},
"StopDistance": 4,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[3]",
"$.1": "QuestVariables if done after [2]: 3 0 0 0 0 224"
},
{
"DataId": 2012357,
@ -147,8 +161,11 @@
"Y": 272.9381,
"Z": -592.5841
},
"StopDistance": 4,
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[4]",
"$.1": "QuestVariables if done first: TODO"
}
]
},

View File

@ -72,6 +72,7 @@
"Y": 269.0949,
"Z": -491.66098
},
"StopDistance": 7,
"TerritoryId": 960,
"InteractionType": "Interact"
}

View File

@ -12,6 +12,7 @@
"Y": 269.0903,
"Z": -490.44025
},
"StopDistance": 7,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -50,6 +51,35 @@
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -353.82343,
"Y": 263.4366,
"Z": -458.5238
},
"TerritoryId": 960,
"InteractionType": "WalkTo",
"Mount": true
},
{
"Position": {
"X": -394.40567,
"Y": 266.7831,
"Z": -478.6604
},
"TerritoryId": 960,
"InteractionType": "WalkTo",
"DisableNavmesh": true
},
{
"Position": {
"X": -408.86514,
"Y": 266.81473,
"Z": -519.4911
},
"TerritoryId": 960,
"InteractionType": "WalkTo"
},
{
"DataId": 2012036,
"Position": {
@ -58,7 +88,21 @@
"Z": -629.8772
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818395
},
{
"DataId": 2012031,
"Position": {
"X": 13.107483,
"Y": 275.56262,
"Z": -756.40497
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea",
"AetherCurrentId": 2818390,
"Comment": "TODO Verify"
},
{
"DataId": 1039778,

View File

@ -12,6 +12,7 @@
"Y": 269.0203,
"Z": -633.5393
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -20,6 +21,17 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 2012034,
"Position": {
"X": 424.55164,
"Y": 283.37524,
"Z": -679.7742
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818393
},
{
"DataId": 1039787,
"Position": {
@ -54,6 +66,7 @@
},
"TerritoryId": 960,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
14000,
14001
@ -86,6 +99,7 @@
"Y": 439.695,
"Z": 155.59619
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -118,6 +132,7 @@
},
"TerritoryId": 960,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
13999
]
@ -135,7 +150,8 @@
"Z": 239.39868
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818392
},
{
"DataId": 1039791,
@ -194,29 +210,10 @@
"Y": 437.5829,
"Z": 333.63843
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "AttuneAetheryte"
},
{
"DataId": 2012031,
"Position": {
"X": 13.107483,
"Y": 275.56262,
"Z": -756.40497
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
},
{
"DataId": 2012034,
"Position": {
"X": 424.55164,
"Y": 283.37524,
"Z": -679.7742
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
},
{
"DataId": 1039791,
"Position": {

View File

@ -12,6 +12,7 @@
"Y": 437.9998,
"Z": 301.4419
},
"StopDistance": 5,
"TerritoryId": 960,
"InteractionType": "Interact"
}
@ -28,7 +29,8 @@
"Z": 402.12085
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818398
},
{
"DataId": 2012032,
@ -38,7 +40,8 @@
"Z": 411.73413
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818391
},
{
"DataId": 1040343,
@ -110,7 +113,16 @@
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent",
"Comment": "Unsure if this is the right spot"
"AetherCurrentId": 2818396
},
{
"Position": {
"X": 639.9123,
"Y": 438.7276,
"Z": 293.33954
},
"TerritoryId": 960,
"InteractionType": "WalkTo"
},
{
"DataId": 2012038,
@ -120,7 +132,9 @@
"Z": 289.66187
},
"TerritoryId": 960,
"InteractionType": "AttuneAetherCurrent"
"InteractionType": "AttuneAetherCurrent",
"AetherCurrentId": 2818397,
"DisableNavmesh": true
},
{
"DataId": 1040349,

View File

@ -28,7 +28,8 @@
"Z": 303.8529
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Base Omicron"
}
]
},
@ -44,7 +45,7 @@
},
"TerritoryId": 960,
"InteractionType": "ManualAction",
"Comment": "Identify Anomaly (Elbow)"
"Comment": "Identify Anomaly (Elbow/Knee)"
}
]
},

View File

@ -28,7 +28,8 @@
"Z": 360.46387
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Base Omicron"
}
]
},
@ -82,6 +83,7 @@
"Y": 566,
"Z": 317.96698
},
"StopDistance": 1,
"TerritoryId": 960,
"InteractionType": "Interact"
}

View File

@ -28,7 +28,9 @@
"Z": 296.98633
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 16 0 0 16 0 128"
},
{
"DataId": 2012367,
@ -38,7 +40,9 @@
"Z": 240.03955
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 32 16 0 16 0 144"
},
{
"DataId": 2012368,
@ -48,7 +52,9 @@
"Z": 280.93384
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[3]",
"$.1": "QuestVariables if done after [1, 2]: 48 17 0 16 0 152"
},
{
"DataId": 2012366,
@ -58,7 +64,9 @@
"Z": 295.97925
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[4]",
"$.1": "QuestVariables if done after [1, 2, 3]: 65 17 0 16 0 184"
},
{
"DataId": 2012369,
@ -68,7 +76,9 @@
"Z": 297.16943
},
"TerritoryId": 960,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[5]",
"$.1": "QuestVariables if done after [1, 2, 3, 4]: 81 17 16 16 0 188"
},
{
"DataId": 2012365,
@ -121,8 +131,8 @@
"Y": 637.1029,
"Z": 2.690414
},
"TerritoryId": 960,
"InteractionType": "Interact"
"TerritoryId": 1027,
"InteractionType": "WalkTo"
}
]
},

View File

@ -46,6 +46,7 @@
"Y": 0,
"Z": 106
},
"StopDistance": 5,
"TerritoryId": 1029,
"InteractionType": "ManualAction",
"Comment": "Duty - The Final Day"
@ -78,8 +79,11 @@
"Y": 0,
"Z": 0.8086548
},
"StopDistance": 5,
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[1]",
"$.1": "QuestVariables if done first: 1 0 0 0 0 1"
},
{
"DataId": 1041181,
@ -88,8 +92,11 @@
"Y": 0,
"Z": 0.6560669
},
"StopDistance": 5,
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[2]",
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 129"
},
{
"DataId": 1041182,
@ -99,7 +106,9 @@
"Z": -4.7455444
},
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[3]",
"$.1": "QuestVariables if done after [1, 2]: 3 0 0 0 0 193"
},
{
"DataId": 1041184,
@ -108,8 +117,11 @@
"Y": 0,
"Z": -5.8442383
},
"StopDistance": 5,
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[4]",
"$.1": "QuestVariables if done after [1, 2, 3]: 4 0 0 0 0 209"
},
{
"DataId": 1041183,
@ -119,7 +131,9 @@
"Z": -6.790344
},
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[5]",
"$.1": "QuestVariables if done after [1, 2, 3, 4]: 5 0 0 0 0 241"
},
{
"DataId": 1041187,
@ -129,7 +143,9 @@
"Z": -8.255188
},
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[6]",
"$.1": "QuestVariables if done after [1, 2, 3, 4, 5]: 6 0 0 0 0 243"
},
{
"DataId": 1041185,
@ -139,7 +155,9 @@
"Z": -5.7526855
},
"TerritoryId": 351,
"InteractionType": "Interact"
"InteractionType": "Interact",
"$.0": "[7]",
"$.1": "QuestVariables if done after [1, 2, 3, 4, 5, 6]: 7 0 0 0 0 251"
},
{
"DataId": 1041186,

View File

@ -29,6 +29,7 @@
},
"TerritoryId": 963,
"InteractionType": "Interact",
"AetheryteShortcut": "Radz-at-Han",
"AethernetShortcut": [
"[Radz-at-Han] Aetheryte Plaza",
"[Radz-at-Han] Mehryde's Meyhane"
@ -77,6 +78,7 @@
"Y": -3.2177195E-06,
"Z": -13.687378
},
"StopDistance": 5,
"TerritoryId": 963,
"InteractionType": "Interact"
}
@ -93,7 +95,9 @@
"Z": 570.94666
},
"TerritoryId": 957,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
}
]
}

View File

@ -27,8 +27,10 @@
"Y": 4.357494,
"Z": 0.7476196
},
"StopDistance": 5,
"TerritoryId": 962,
"InteractionType": "Interact",
"AetheryteShortcut": "Old Sharlayan",
"AethernetShortcut": [
"[Old Sharlayan] Aetheryte Plaza",
"[Old Sharlayan] The Baldesion Annex"
@ -39,6 +41,19 @@
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -350.9551,
"Y": 18.999998,
"Z": 56.043774
},
"TerritoryId": 962,
"InteractionType": "WalkTo",
"AethernetShortcut": [
"[Old Sharlayan] The Baldesion Annex",
"[Old Sharlayan] The Studium"
]
},
{
"DataId": 1039581,
"Position": {
@ -47,11 +62,7 @@
"Z": 92.48486
},
"TerritoryId": 962,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Old Sharlayan] The Baldesion Annex",
"[Old Sharlayan] The Studium"
]
"InteractionType": "Interact"
}
]
},
@ -67,6 +78,7 @@
},
"TerritoryId": 956,
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Aporia",
"SkipIf": [
"FlyingUnlocked"
]
@ -79,7 +91,8 @@
"Z": 298.39014
},
"TerritoryId": 956,
"InteractionType": "Interact"
"InteractionType": "Interact",
"Fly": true
}
]
},
@ -94,7 +107,9 @@
"Z": 603.41797
},
"TerritoryId": 957,
"InteractionType": "Interact"
"InteractionType": "Interact",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
}
]
}

View File

@ -103,7 +103,7 @@
]
},
"Disabled": {
"description": "Unused (TODO)",
"description": "Whether this step is disabled (see SkipIf for more control)",
"type": "boolean"
},
"DisableNavmesh": {
@ -301,7 +301,8 @@
"stretch",
"wave",
"rally",
"deny"
"deny",
"pray"
]
},
"ChatMessage": {

View File

@ -57,6 +57,7 @@ internal sealed class DebugWindow : Window
{
ImGui.TextUnformatted($"Quest: {currentQuest.Quest.Name} / {currentQuest.Sequence} / {currentQuest.Step}");
ImGui.BeginDisabled();
var questWork = _gameFunctions.GetQuestEx(currentQuest.Quest.QuestId);
if (questWork != null)
{
@ -78,6 +79,7 @@ internal sealed class DebugWindow : Window
ImGui.TextUnformatted("(Not accepted)");
ImGui.TextUnformatted(_questController.DebugState ?? "--");
ImGui.EndDisabled();
ImGui.TextUnformatted(_questController.Comment ?? "--");
var nextStep = _questController.GetNextStep();