diff --git a/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json b/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json index ef7c642e5..fbb7675a1 100644 --- a/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json +++ b/GatheringPaths/7.x - Dawntrail/Shaaloani/978_Pyariyoanaan Plain_MIN.json @@ -42,14 +42,18 @@ "X": 419.309, "Y": -10.25133, "Z": -784.8259 - } + }, + "MinimumAngle": -25, + "MaximumAngle": 85 }, { "Position": { "X": 410.6989, "Y": -10.9656, "Z": -790.8315 - } + }, + "MinimumAngle": -20, + "MaximumAngle": 95 } ] } @@ -156,4 +160,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/GatheringPaths/7.x - Dawntrail/Urqopacha/974_Chabameki_MIN.json b/GatheringPaths/7.x - Dawntrail/Urqopacha/974_Chabameki_MIN.json index 7dff5fe8e..d103a9eab 100644 --- a/GatheringPaths/7.x - Dawntrail/Urqopacha/974_Chabameki_MIN.json +++ b/GatheringPaths/7.x - Dawntrail/Urqopacha/974_Chabameki_MIN.json @@ -52,8 +52,8 @@ "Y": -47.86026, "Z": -394.9654 }, - "MinimumAngle": -120, - "MaximumAngle": 120 + "MinimumAngle": -145, + "MaximumAngle": -95 } ] } @@ -160,4 +160,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5159_He Who Remembers.json b/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5159_He Who Remembers.json index 55270650c..7fdb2f05f 100644 --- a/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5159_He Who Remembers.json +++ b/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5159_He Who Remembers.json @@ -20,6 +20,15 @@ { "Sequence": 1, "Steps": [ + { + "Position": { + "X": -392.35907, + "Y": -14.000012, + "Z": 635.3141 + }, + "TerritoryId": 1191, + "InteractionType": "WalkTo" + }, { "Position": { "X": -415.87146, diff --git a/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5160_Auntie Knows Best.json b/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5160_Auntie Knows Best.json index 47d856fec..6957d154c 100644 --- a/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5160_Auntie Knows Best.json +++ b/QuestPaths/7.x - Dawntrail/Aether Currents/Heritage Found/5160_Auntie Knows Best.json @@ -55,6 +55,24 @@ { "Sequence": 255, "Steps": [ + { + "Position": { + "X": 184.68884, + "Y": 99.24859, + "Z": -171.97504 + }, + "TerritoryId": 1191, + "InteractionType": "WalkTo" + }, + { + "Position": { + "X": 148.14713, + "Y": 100.07344, + "Z": -135.20776 + }, + "TerritoryId": 1191, + "InteractionType": "WalkTo" + }, { "DataId": 2013966, "Position": { diff --git a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4932_Embracing Oblivion.json b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4932_Embracing Oblivion.json index a039a85a6..0bdf93e88 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4932_Embracing Oblivion.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4932_Embracing Oblivion.json @@ -69,6 +69,7 @@ "Y": 0.003171, "Z": 1.296936 }, + "StopDistance": 5, "TerritoryId": 1171, "InteractionType": "CompleteQuest" } diff --git a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4933_Solution Nine.json b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4933_Solution Nine.json index 67d31b9bf..747faf163 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4933_Solution Nine.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4933_Solution Nine.json @@ -21,6 +21,34 @@ { "Sequence": 1, "Steps": [ + { + "DataId": 1049443, + "Position": { + "X": -177.56934, + "Y": 29.999998, + "Z": -601.15967 + }, + "TerritoryId": 1191, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5153, + "AetheryteShortcut": "Heritage Found - The Outskirts", + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + }, + { + "DataId": 1050805, + "Position": { + "X": -153.09375, + "Y": 34.946026, + "Z": -581.0178 + }, + "TerritoryId": 1191, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5160 + }, { "DataId": 1048053, "Position": { @@ -29,8 +57,7 @@ "Z": -828.58014 }, "TerritoryId": 1191, - "InteractionType": "Interact", - "AetheryteShortcut": "Heritage Found - The Outskirts" + "InteractionType": "Interact" } ] }, diff --git a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4941_At a Crossroads.json b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4941_At a Crossroads.json index 08e1e1a91..b48c78efe 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4941_At a Crossroads.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4941_At a Crossroads.json @@ -37,6 +37,17 @@ { "Sequence": 2, "Steps": [ + { + "DataId": 1049505, + "Position": { + "X": -209.85736, + "Y": 7.49638, + "Z": 595.9104 + }, + "TerritoryId": 1191, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5159 + }, { "DataId": 1048099, "Position": { @@ -53,6 +64,17 @@ { "Sequence": 3, "Steps": [ + { + "DataId": 1049501, + "Position": { + "X": -592.7062, + "Y": -2.4803436, + "Z": -489.28055 + }, + "TerritoryId": 1191, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5156 + }, { "DataId": 1048116, "Position": { diff --git a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4945_The Resilient Son.json b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4945_The Resilient Son.json index b912c8bd3..bb4681d73 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4945_The Resilient Son.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/E-SolutionNine-HeritageFound2/4945_The Resilient Son.json @@ -32,7 +32,8 @@ "Z": -565.48413 }, "TerritoryId": 1191, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, diff --git a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4951_The Land of Dreams.json b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4951_The Land of Dreams.json index ae4ec1580..15de13284 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4951_The Land of Dreams.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4951_The Land of Dreams.json @@ -21,6 +21,17 @@ { "Sequence": 1, "Steps": [ + { + "DataId": 1050617, + "Position": { + "X": -631.4031, + "Y": 2.9305653E-07, + "Z": 497.12354 + }, + "TerritoryId": 1192, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5174 + }, { "DataId": 1047884, "Position": { diff --git a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4953_The Sanctuary of the Strong.json b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4953_The Sanctuary of the Strong.json index 3c29861ad..5f5a5c572 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4953_The Sanctuary of the Strong.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4953_The Sanctuary of the Strong.json @@ -21,6 +21,41 @@ { "Sequence": 1, "Steps": [ + { + "DataId": 1048243, + "Position": { + "X": 57.87744, + "Y": 53.200012, + "Z": 772.03015 + }, + "TerritoryId": 1192, + "InteractionType": "Interact", + "AetheryteShortcut": "Living Memory - Leynode Mnemo", + "TargetTerritoryId": 1192, + "SkipConditions": { + "StepIf": { + "QuestsCompleted": [ + 5176 + ] + }, + "AetheryteShortcutIf": { + "QuestsCompleted": [ + 5176 + ] + } + } + }, + { + "DataId": 1050621, + "Position": { + "X": 477.1344, + "Y": -0.034497976, + "Z": 711.6654 + }, + "TerritoryId": 1192, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5176 + }, { "DataId": 1047917, "Position": { diff --git a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4956_An Explorer's Delight.json b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4956_An Explorer's Delight.json index 146b118c4..2c7081624 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4956_An Explorer's Delight.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4956_An Explorer's Delight.json @@ -21,6 +21,44 @@ { "Sequence": 1, "Steps": [ + { + "DataId": 1050625, + "Position": { + "X": 628.6869, + "Y": 24.99949, + "Z": -283.3753 + }, + "TerritoryId": 1192, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5178, + "AetheryteShortcut": "Living Memory - Leynode Pyro", + "SkipConditions": { + "AetheryteShortcutIf": { + "QuestsCompleted": [ + 5178 + ] + } + } + }, + { + "DataId": 1050632, + "Position": { + "X": 538.9944, + "Y": 25.001822, + "Z": -194.3847 + }, + "TerritoryId": 1192, + "InteractionType": "AcceptQuest", + "PickUpQuestId": 5179, + "AetheryteShortcut": "Living Memory - Leynode Pyro", + "SkipConditions": { + "AetheryteShortcutIf": { + "QuestsCompleted": [ + 5179 + ] + } + } + }, { "DataId": 1047971, "Position": { diff --git a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4959_Dawntrail.json b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4959_Dawntrail.json index 87c4c82bf..68e4c7bfd 100644 --- a/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4959_Dawntrail.json +++ b/QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4959_Dawntrail.json @@ -33,8 +33,12 @@ }, "TerritoryId": 1192, "InteractionType": "WalkTo", - "AetheryteShortcut": "Living Memory - Leynode Mnemo", - "$": "Leynode Mnemo to Meso Terminal waypoint" + "$": "Leynode Mnemo to Meso Terminal waypoint", + "SkipConditions": { + "StepIf": { + "Flying": "Unlocked" + } + } }, { "DataId": 1048014, @@ -44,7 +48,8 @@ "Z": 363.05774 }, "TerritoryId": 1192, - "InteractionType": "Interact" + "InteractionType": "Interact", + "Fly": true } ] }, diff --git a/Questionable/Controller/QuestController.cs b/Questionable/Controller/QuestController.cs index 529b4603a..70512f8a9 100644 --- a/Questionable/Controller/QuestController.cs +++ b/Questionable/Controller/QuestController.cs @@ -735,7 +735,9 @@ internal sealed class QuestController : MiniTaskController, IDi return false; QuestStep? currentStep = currentSequence?.FindStep(currentQuest.Step); - return currentStep?.AetheryteShortcut != null; + return currentStep?.AetheryteShortcut != null && + (currentStep.SkipConditions?.AetheryteShortcutIf?.QuestsCompleted.Count ?? 0) == 0 && + (currentStep.SkipConditions?.AetheryteShortcutIf?.QuestsAccepted.Count ?? 0) == 0; } public bool TryPickPriorityQuest() diff --git a/Questionable/Controller/Steps/Interactions/Combat.cs b/Questionable/Controller/Steps/Interactions/Combat.cs index 108751267..39909c569 100644 --- a/Questionable/Controller/Steps/Interactions/Combat.cs +++ b/Questionable/Controller/Steps/Interactions/Combat.cs @@ -41,7 +41,7 @@ internal static class Combat ArgumentNullException.ThrowIfNull(step.DataId); yield return interactFactory.Interact(step.DataId.Value, quest, EInteractionType.None, true); - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2)); + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1)); yield return CreateTask(quest, sequence, step); break; } @@ -53,14 +53,14 @@ internal static class Combat yield return useItemFactory.OnObject(quest.Id, step.DataId.Value, step.ItemId.Value, step.CompletionQuestVariablesFlags, true); - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2)); + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1)); yield return CreateTask(quest, sequence, step); break; } case EEnemySpawnType.AutoOnEnterArea: if (step.CombatDelaySecondsAtStart == null) - yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2)); + yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1)); // automatically triggered when entering area, i.e. only unmount yield return CreateTask(quest, sequence, step);