diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1359_The Gift of Eternity.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1359_The Gift of Eternity.json index 7c8782059..30c0364a0 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1359_The Gift of Eternity.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1359_The Gift of Eternity.json @@ -22,9 +22,9 @@ "Steps": [ { "Position": { - "X": -209.9414, - "Y": -42.109043, - "Z": -248.07559 + "X": -203.21945, + "Y": -42.30963, + "Z": -253.10411 }, "StopDistance": 0.25, "TerritoryId": 138, diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1360_Into the Heart of the Whorl.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1360_Into the Heart of the Whorl.json index 7ab58484c..5ab26e654 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1360_Into the Heart of the Whorl.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1360_Into the Heart of the Whorl.json @@ -117,7 +117,12 @@ }, "TerritoryId": 135, "InteractionType": "WalkTo", - "Mount": true + "Mount": true, + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks" + } + } }, { "Position": { @@ -127,12 +132,22 @@ }, "TerritoryId": 135, "InteractionType": "WalkTo", - "Fly": true + "Fly": true, + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks" + } + } }, { "TerritoryId": 135, "InteractionType": "AttuneAetheryte", - "Aetheryte": "Lower La Noscea - Moraby Drydocks" + "Aetheryte": "Lower La Noscea - Moraby Drydocks", + "SkipConditions": { + "StepIf": { + "AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks" + } + } }, { "Position": { @@ -142,7 +157,13 @@ }, "TerritoryId": 135, "InteractionType": "WalkTo", - "Fly": true + "Fly": true, + "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks", + "SkipConditions": { + "AetheryteShortcutIf": { + "AetheryteLocked": "Lower La Noscea - Moraby Drydocks" + } + } }, { "DataId": 1008693, diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3884_Reap the Whirlwind.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3884_Reap the Whirlwind.json index 5f3c8fcd6..1550fa2e6 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3884_Reap the Whirlwind.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3884_Reap the Whirlwind.json @@ -91,6 +91,17 @@ { "Sequence": 255, "Steps": [ + { + "Position": { + "X": -119.1183, + "Y": 3.7999938, + "Z": -104.33473 + }, + "TerritoryId": 130, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Ul'dah", + "$": "Ul'dah Aetheryte to Immortal Flames" + }, { "DataId": 1004576, "Position": { @@ -99,8 +110,7 @@ "Z": -114.67157 }, "TerritoryId": 130, - "InteractionType": "CompleteQuest", - "AetheryteShortcut": "Ul'dah" + "InteractionType": "CompleteQuest" } ] } diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/69_Dark Words, Dark Deeds.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/69_Dark Words, Dark Deeds.json index cea343454..ff4967116 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/69_Dark Words, Dark Deeds.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/69_Dark Words, Dark Deeds.json @@ -87,6 +87,16 @@ { "Sequence": 4, "Steps": [ + { + "Position": { + "X": -340.60776, + "Y": 259.52878, + "Z": 58.521606 + }, + "TerritoryId": 155, + "InteractionType": "WalkTo", + "Fly": true + }, { "DataId": 2004655, "Position": { diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/88_The Reason Roaille.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/88_The Reason Roaille.json index f8041a01f..49bf11b4b 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/88_The Reason Roaille.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/88_The Reason Roaille.json @@ -86,6 +86,7 @@ "Y": 71.617355, "Z": -132.52466 }, + "StopDistance": 5, "TerritoryId": 147, "InteractionType": "CompleteQuest" } diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/89_Let Us Cling Together.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/89_Let Us Cling Together.json index 92de12dab..ab57d1ced 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/89_Let Us Cling Together.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/89_Let Us Cling Together.json @@ -12,6 +12,7 @@ "Y": 71.617355, "Z": -132.52466 }, + "StopDistance": 5, "TerritoryId": 147, "InteractionType": "AcceptQuest", "AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant", diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/363_Good Intentions.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/363_Good Intentions.json index e54795671..cb4b995df 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/363_Good Intentions.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/363_Good Intentions.json @@ -5,6 +5,46 @@ { "Sequence": 0, "Steps": [ + { + "TerritoryId": 156, + "DataId": 2002881, + "Position": { + "X": 21.133728, + "Y": 22.323914, + "Z": -631.281 + }, + "InteractionType": "Interact", + "TargetTerritoryId": 351, + "AetheryteShortcut": "Mor Dhona", + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 351 + ] + }, + "AetheryteShortcutIf": { + "InTerritory": [ + 351 + ] + } + } + }, + { + "DataId": 2002878, + "Position": { + "X": -0.015319824, + "Y": -1.0223389, + "Z": -26.779602 + }, + "TerritoryId": 351, + "InteractionType": "Interact", + "TargetTerritoryId": 351, + "SkipConditions": { + "StepIf": { + "ExtraCondition": "RisingStonesSolar" + } + } + }, { "DataId": 1008969, "Position": { diff --git a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/425_A Time to Every Purpose.json b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/425_A Time to Every Purpose.json index 97e2d9c33..20804dd85 100644 --- a/QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/425_A Time to Every Purpose.json +++ b/QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/425_A Time to Every Purpose.json @@ -5,6 +5,46 @@ { "Sequence": 0, "Steps": [ + { + "TerritoryId": 156, + "DataId": 2002881, + "Position": { + "X": 21.133728, + "Y": 22.323914, + "Z": -631.281 + }, + "InteractionType": "Interact", + "TargetTerritoryId": 351, + "AetheryteShortcut": "Mor Dhona", + "SkipConditions": { + "StepIf": { + "InTerritory": [ + 351 + ] + }, + "AetheryteShortcutIf": { + "InTerritory": [ + 351 + ] + } + } + }, + { + "DataId": 2002878, + "Position": { + "X": -0.015319824, + "Y": -1.0223389, + "Z": -26.779602 + }, + "TerritoryId": 351, + "InteractionType": "Interact", + "TargetTerritoryId": 351, + "SkipConditions": { + "StepIf": { + "ExtraCondition": "RisingStonesSolar" + } + } + }, { "DataId": 1010897, "Position": { diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index e703cd565..6182b0528 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -246,7 +246,8 @@ "ExtraCondition": { "type": "string", "enum": [ - "WakingSandsMainArea" + "WakingSandsMainArea", + "RisingStonesSolar" ] } }, diff --git a/Questionable.Model/Questing/Converter/SkipConditionConverter.cs b/Questionable.Model/Questing/Converter/SkipConditionConverter.cs index eadd84b1c..4088446e7 100644 --- a/Questionable.Model/Questing/Converter/SkipConditionConverter.cs +++ b/Questionable.Model/Questing/Converter/SkipConditionConverter.cs @@ -8,5 +8,6 @@ public sealed class SkipConditionConverter() : EnumConverter Values = new() { { EExtraSkipCondition.WakingSandsMainArea, "WakingSandsMainArea" }, + { EExtraSkipCondition.RisingStonesSolar, "RisingStonesSolar"}, }; } diff --git a/Questionable.Model/Questing/EExtraSkipCondition.cs b/Questionable.Model/Questing/EExtraSkipCondition.cs index 3f2836a99..ddf29e9c2 100644 --- a/Questionable.Model/Questing/EExtraSkipCondition.cs +++ b/Questionable.Model/Questing/EExtraSkipCondition.cs @@ -8,4 +8,6 @@ public enum EExtraSkipCondition { None, WakingSandsMainArea, + + RisingStonesSolar, } diff --git a/Questionable/Controller/Steps/Shared/SkipCondition.cs b/Questionable/Controller/Steps/Shared/SkipCondition.cs index 7abcbd818..62ce22d8c 100644 --- a/Questionable/Controller/Steps/Shared/SkipCondition.cs +++ b/Questionable/Controller/Steps/Shared/SkipCondition.cs @@ -204,7 +204,8 @@ internal static class SkipCondition } } - if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea) + if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea && + clientState.TerritoryType == 212) { var position = clientState.LocalPlayer!.Position; if (position.X < 24) @@ -214,6 +215,17 @@ internal static class SkipCondition } } + if (SkipConditions.ExtraCondition == EExtraSkipCondition.RisingStonesSolar && + clientState.TerritoryType == 351) + { + var position = clientState.LocalPlayer!.Position; + if (position.Z <= -28) + { + logger.LogInformation("Skipping step, as we're in the Rising Stones Solar"); + return true; + } + } + if (Step.PickUpQuestId != null && questFunctions.IsQuestAcceptedOrComplete(Step.PickUpQuestId)) { logger.LogInformation("Skipping step, as we have already picked up the relevant quest");