Add additional flying steps if too far away from the mount-NPC for Vath + Vanu Vanu...
authorLiza Carvelli <liza@carvel.li>
Tue, 3 Dec 2024 15:35:37 +0000 (16:35 +0100)
committerLiza Carvelli <liza@carvel.li>
Tue, 3 Dec 2024 15:35:37 +0000 (16:35 +0100)
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2173_Endymion Disco.json
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2175_Chigoe Cha-cha.json
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2178_Sanuwa Samba.json
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2182_Flight of the Midges.json
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2184_Reeling in the Vundu.json
QuestPaths/3.x - Heavensward/Allied Societies/Vanu Vanu/Dailies/2200_Vanish, Vile Vundu.json
QuestPaths/3.x - Heavensward/Allied Societies/Vath/Dailies/2263_Bugging the Bugs.json
QuestPaths/3.x - Heavensward/Allied Societies/Vath/Dailies/2269_Ploughing Ahead.json
QuestPaths/3.x - Heavensward/Allied Societies/Vath/Dailies/2272_Shoo Fly, Don't Bother Me.json
QuestPaths/3.x - Heavensward/Allied Societies/Vath/Dailies/2276_Flea Troubles.json
Questionable/Functions/QuestFunctions.cs

index 26d7324a22b2e0f6e47c53127a8e4087b7f735c4..43a8cda216d9af812049b6cf5e1332d3fa72f814 100644 (file)
 {
-    "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
-    "Author": "AnimaMachinae",
-    "QuestSequence": [
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "AnimaMachinae",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
         {
-            "Sequence": 0,
-            "Steps": [
-                {
-                    "DataId": 1016089,
-                    "Position": {
-                        "X": -799.46594,
-                        "Y": -133.2695,
-                        "Z": -404.1352
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "AcceptQuest"
-                }
-            ]
+          "DataId": 1016089,
+          "Position": {
+            "X": -799.46594,
+            "Y": -133.2695,
+            "Z": -404.1352
+          },
+          "TerritoryId": 401,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": -776.0281,
+                  "Y": -133.35559,
+                  "Z": -414.32825
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 401
+              }
+            }
+          }
         },
         {
-            "Sequence": 1,
-            "Steps": [
-                {
-                    "DataId": 1016093,
-                    "Position": {
-                        "X": -776.0281,
-                        "Y": -133.35559,
-                        "Z": -414.32825
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "Interact"
-                }
-            ]
+          "DataId": 1016093,
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Interact"
+        }
+      ]
+    },
+    {
+      "Sequence": 2,
+      "Steps": [
+        {
+          "Position": {
+            "X": -544.89056,
+            "Y": 61.602722,
+            "Z": -373.9669
+          },
+          "TerritoryId": 401,
+          "InteractionType": "WalkTo",
+          "Fly": true
         },
         {
-            "Sequence": 2,
-            "Steps": [
-                {
-                    "Position": {
-                        "X": -544.89056,
-                        "Y": 61.602722,
-                        "Z": -373.9669
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "WalkTo",
-                    "Fly": true
-                },
-                {
-                    "DataId": 2006649,
-                    "Position": {
-                        "X": -539.0555,
-                        "Y": 64.22522,
-                        "Z": -377.0047
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "Action",
-                    "Action": "Buffet (Sanuwa)",
-                    "StopDistance": 3,
-                    "$": "0 0  0 0  0 0 --> 1 0  0 0  0 16",
-                    "CompletionQuestVariablesFlags": [null,null,null,null,null,16]
-                },
-                {
-                    "Position": {
-                        "X": -505.35422,
-                        "Y": -28.166508,
-                        "Z": -528.1072
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "WalkTo",
-                    "Fly": true
-                },
-                {
-                    "DataId": 2006647,
-                    "Position": {
-                        "X": -504.78372,
-                        "Y": -26.68805,
-                        "Z": -530.93774
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "Action",
-                    "Action": "Buffet (Sanuwa)",
-                    "StopDistance": 3,
-                    "$": "1 0  0 0  0 16 --> 2 0  0 0  0 80",
-                    "CompletionQuestVariablesFlags": [null,null,null,null,null,64]
-                },
-                {
-                    "Position": {
-                        "X": -478.25208,
-                        "Y": -31.101946,
-                        "Z": -663.0455
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "WalkTo",
-                    "Fly": true
-                },
-                {
-                    "DataId": 2006648,
-                    "Position": {
-                        "X": -477.40906,
-                        "Y": -28.885437,
-                        "Z": -668.32996
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "Action",
-                    "Action": "Buffet (Sanuwa)",
-                    "StopDistance": 3,
-                    "$": "2 0  0 0  0 80 --> 3 0  0 0  0 112",
-                    "CompletionQuestVariablesFlags": [null,null,null,null,null,32]
-                },
-                {
-                    "Position": {
-                        "X": -102.45963,
-                        "Y": -1.2632592,
-                        "Z": -619.294
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "WalkTo",
-                    "Fly": true
-                },
-                {
-                    "DataId": 2006646,
-                    "Position": {
-                        "X": -96.20813,
-                        "Y": 0.32037354,
-                        "Z": -620.26404
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "Action",
-                    "Action": "Buffet (Sanuwa)",
-                    "StopDistance": 3,
-                    "$": "3 0  0 0  0 112 --> 0 0  0 0  0 0"
-                }
-            ]
+          "DataId": 2006649,
+          "Position": {
+            "X": -539.0555,
+            "Y": 64.22522,
+            "Z": -377.0047
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet (Sanuwa)",
+          "StopDistance": 3,
+          "$": "0 0  0 0  0 0 --> 1 0  0 0  0 16",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            16
+          ]
         },
         {
-            "Sequence": 255,
-            "Steps": [
-                {
-                    "DataId": 1016089,
-                    "Position": {
-                        "X": -799.46594,
-                        "Y": -133.2695,
-                        "Z": -404.1352
-                    },
-                    "TerritoryId": 401,
-                    "InteractionType": "CompleteQuest",
-                    "AetheryteShortcut": "The Sea of Clouds - Ok' Zundu",
-                    "Fly": true
-                }
-            ]
+          "Position": {
+            "X": -505.35422,
+            "Y": -28.166508,
+            "Z": -528.1072
+          },
+          "TerritoryId": 401,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2006647,
+          "Position": {
+            "X": -504.78372,
+            "Y": -26.68805,
+            "Z": -530.93774
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet (Sanuwa)",
+          "StopDistance": 3,
+          "$": "1 0  0 0  0 16 --> 2 0  0 0  0 80",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
+        },
+        {
+          "Position": {
+            "X": -478.25208,
+            "Y": -31.101946,
+            "Z": -663.0455
+          },
+          "TerritoryId": 401,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2006648,
+          "Position": {
+            "X": -477.40906,
+            "Y": -28.885437,
+            "Z": -668.32996
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet (Sanuwa)",
+          "StopDistance": 3,
+          "$": "2 0  0 0  0 80 --> 3 0  0 0  0 112",
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
+        },
+        {
+          "Position": {
+            "X": -102.45963,
+            "Y": -1.2632592,
+            "Z": -619.294
+          },
+          "TerritoryId": 401,
+          "InteractionType": "WalkTo",
+          "Fly": true
+        },
+        {
+          "DataId": 2006646,
+          "Position": {
+            "X": -96.20813,
+            "Y": 0.32037354,
+            "Z": -620.26404
+          },
+          "TerritoryId": 401,
+          "InteractionType": "Action",
+          "Action": "Buffet (Sanuwa)",
+          "StopDistance": 3,
+          "$": "3 0  0 0  0 112 --> 0 0  0 0  0 0"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1016089,
+          "Position": {
+            "X": -799.46594,
+            "Y": -133.2695,
+            "Z": -404.1352
+          },
+          "TerritoryId": 401,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "The Sea of Clouds - Ok' Zundu",
+          "Fly": true
         }
-    ]
+      ]
+    }
+  ]
 }
index 22ed93eed7eb21f329cab5748c74d989d4aa2b28..e5e7a7f5d8859e1e3063f28dbb2a2d865df85127 100644 (file)
 {\r
-    "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",\r
-    "Author": "AnimaMachinae",\r
-    "QuestSequence": [\r
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",\r
+  "Author": "AnimaMachinae",\r
+  "QuestSequence": [\r
+    {\r
+      "Sequence": 0,\r
+      "Steps": [\r
         {\r
-            "Sequence": 0,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 1016089,\r
-                    "Position": {\r
-                        "X": -799.46594,\r
-                        "Y": -133.2695,\r
-                        "Z": -404.1352\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "AcceptQuest"\r
-                }\r
-            ]\r
-        },\r
+          "DataId": 1016089,\r
+          "Position": {\r
+            "X": -799.46594,\r
+            "Y": -133.2695,\r
+            "Z": -404.1352\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "AcceptQuest"\r
+        }\r
+      ]\r
+    },\r
+    {\r
+      "Sequence": 1,\r
+      "Steps": [\r
         {\r
-            "Sequence": 1,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 1016093,\r
-                    "Position": {\r
-                        "X": -776.0281,\r
-                        "Y": -133.35559,\r
-                        "Z": -414.32825\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "Interact"\r
-                }\r
-            ]\r
+          "Position": {\r
+            "X": -776.0281,\r
+            "Y": -133.35559,\r
+            "Z": -414.32825\r
+          },\r
+          "StopDistance": 3,\r
+          "TerritoryId": 398,\r
+          "InteractionType": "WalkTo",\r
+          "Fly": true,\r
+          "SkipConditions": {\r
+            "StepIf": {\r
+              "NearPosition": {\r
+                "Position": {\r
+                  "X": -776.0281,\r
+                  "Y": -133.35559,\r
+                  "Z": -414.32825\r
+                },\r
+                "MaximumDistance": 50,\r
+                "TerritoryId": 401\r
+              }\r
+            }\r
+          }\r
         },\r
         {\r
-            "Sequence": 2,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 2006655,\r
-                    "Position": {\r
-                        "X": -48.325317,\r
-                        "Y": 17.990356,\r
-                        "Z": -852.47577\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "Action",\r
-                    "Fly": true,\r
-                    "Action": "Buffet (Sanuwa)"\r
-                }\r
-            ]\r
-        },\r
+          "DataId": 1016093,\r
+          "Position": {\r
+            "X": -776.0281,\r
+            "Y": -133.35559,\r
+            "Z": -414.32825\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "Interact"\r
+        }\r
+      ]\r
+    },\r
+    {\r
+      "Sequence": 2,\r
+      "Steps": [\r
         {\r
-            "Sequence": 3,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 2006656,\r
-                    "Position": {\r
-                        "X": 95.23157,\r
-                        "Y": -11.886841,\r
-                        "Z": -817.6242\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "Action",\r
-                    "Fly": true,\r
-                    "Action": "Buffet (Sanuwa)"\r
-                }\r
-            ]\r
-        },\r
+          "DataId": 2006655,\r
+          "Position": {\r
+            "X": -48.325317,\r
+            "Y": 17.990356,\r
+            "Z": -852.47577\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "Action",\r
+          "Fly": true,\r
+          "Action": "Buffet (Sanuwa)"\r
+        }\r
+      ]\r
+    },\r
+    {\r
+      "Sequence": 3,\r
+      "Steps": [\r
         {\r
-            "Sequence": 4,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 2006657,\r
-                    "Position": {\r
-                        "X": 205.8899,\r
-                        "Y": -6.9123535,\r
-                        "Z": -785.70233\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "Action",\r
-                    "Fly": true,\r
-                    "Action": "Buffet (Sanuwa)"\r
-                }\r
-            ]\r
-        },\r
+          "DataId": 2006656,\r
+          "Position": {\r
+            "X": 95.23157,\r
+            "Y": -11.886841,\r
+            "Z": -817.6242\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "Action",\r
+          "Fly": true,\r
+          "Action": "Buffet (Sanuwa)"\r
+        }\r
+      ]\r
+    },\r
+    {\r
+      "Sequence": 4,\r
+      "Steps": [\r
+        {\r
+          "DataId": 2006657,\r
+          "Position": {\r
+            "X": 205.8899,\r
+            "Y": -6.9123535,\r
+            "Z": -785.70233\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "Action",\r
+          "Fly": true,\r
+          "Action": "Buffet (Sanuwa)"\r
+        }\r
+      ]\r
+    },\r
+    {\r
+      "Sequence": 255,\r
+      "Steps": [\r
         {\r
-            "Sequence": 255,\r
-            "Steps": [\r
-                {\r
-                    "DataId": 1016089,\r
-                    "Position": {\r
-                        "X": -799.46594,\r
-                        "Y": -133.2695,\r
-                        "Z": -404.1352\r
-                    },\r
-                    "TerritoryId": 401,\r
-                    "InteractionType": "CompleteQuest",\r
-                    "Fly": true,\r
-                    "AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"\r
-                }\r
-            ]\r
+          "DataId": 1016089,\r
+          "Position": {\r
+            "X": -799.46594,\r
+            "Y": -133.2695,\r
+            "Z": -404.1352\r
+          },\r
+          "TerritoryId": 401,\r
+          "InteractionType": "CompleteQuest",\r
+          "Fly": true,\r
+          "AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"\r
         }\r
-    ]\r
+      ]\r
+    }\r
+  ]\r
 }\r
index bec537bc80975cc44c6f0503b76ec4026ffdd1e1..0b6ac622b2cb767dfd2066685c3e765d8c11dbe6 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": -776.0281,
+                  "Y": -133.35559,
+                  "Z": -414.32825
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 401
+              }
+            }
+          }
+        },
         {
           "DataId": 1016093,
           "Position": {
index d2db06a6b06e18a73684f75b61869c67b2ab90b7..16b151b988be26342722e1e872b22b75afd4dc2d 100644 (file)
     {
       "Sequence": 2,
       "Steps": [
+        {
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": -776.0281,
+                  "Y": -133.35559,
+                  "Z": -414.32825
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 401
+              }
+            }
+          }
+        },
         {
           "DataId": 1016093,
           "Position": {
           "InteractionType": "Action",
           "Action": "Buffet (Sanuwa)",
           "Fly": true,
-          "CompletionQuestVariablesFlags": [null,null,null,null,null,32]
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            32
+          ]
         },
         {
           "DataId": 1016221,
           "InteractionType": "Action",
           "Action": "Buffet (Sanuwa)",
           "Fly": true,
-          "CompletionQuestVariablesFlags": [null,null,null,null,null,64]
+          "CompletionQuestVariablesFlags": [
+            null,
+            null,
+            null,
+            null,
+            null,
+            64
+          ]
         },
         {
           "DataId": 1016220,
index 0ce28316f86721451c869f87ae83991524a90476..ab845eca2c2e2ebf0b3bc2ea9098d1a0f689f60b 100644 (file)
     {
       "Sequence": 2,
       "Steps": [
+        {
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": -776.0281,
+                  "Y": -133.35559,
+                  "Z": -414.32825
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 401
+              }
+            }
+          }
+        },
         {
           "DataId": 1016093,
           "Position": {
index 8750abea46ad01dafac9f305d71ad01f53237cbe..84fc0f55e331fb248239dfb756bc254b742987c1 100644 (file)
     {
       "Sequence": 2,
       "Steps": [
+        {
+          "Position": {
+            "X": -776.0281,
+            "Y": -133.35559,
+            "Z": -414.32825
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": -776.0281,
+                  "Y": -133.35559,
+                  "Z": -414.32825
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 401
+              }
+            }
+          }
+        },
         {
           "DataId": 1016093,
           "Position": {
index 60dec3fbada2f85a300bd2a3faece6700cc8d9e4..8e0c57c7c8b802e923e5b4fc40c30b19679615fb 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 74.20459,
+            "Y": -48.533592,
+            "Z": -171.12994
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": 74.20459,
+                  "Y": -48.533592,
+                  "Z": -171.12994
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 398
+              }
+            }
+          }
+        },
         {
           "DataId": 1017031,
           "Position": {
index 3773425416433618fafe41c73ebd3f89401f8e01..24d236e6b802260def29912a262d2c20eb787201 100644 (file)
     {\r
       "Sequence": 1,\r
       "Steps": [\r
+        {\r
+          "Position": {\r
+            "X": 74.20459,\r
+            "Y": -48.533592,\r
+            "Z": -171.12994\r
+          },\r
+          "StopDistance": 3,\r
+          "TerritoryId": 398,\r
+          "InteractionType": "WalkTo",\r
+          "Fly": true,\r
+          "SkipConditions": {\r
+            "StepIf": {\r
+              "NearPosition": {\r
+                "Position": {\r
+                  "X": 74.20459,\r
+                  "Y": -48.533592,\r
+                  "Z": -171.12994\r
+                },\r
+                "MaximumDistance": 50,\r
+                "TerritoryId": 398\r
+              }\r
+            }\r
+          }\r
+        },\r
         {\r
           "DataId": 1017031,\r
           "Position": {\r
index 8e65dff2a2d6fd4514e3edc1f6185e1e9d47ad3f..edda1370a67988fa53201b162cc2a48c65e24970 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 74.20459,
+            "Y": -48.533592,
+            "Z": -171.12994
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": 74.20459,
+                  "Y": -48.533592,
+                  "Z": -171.12994
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 398
+              }
+            }
+          }
+        },
         {
           "DataId": 1017031,
           "Position": {
index 871c9feb5c1670a7b521ceb8114bef7889219f89..b0e77227c34f2de8fc46ab683eabc00b81363975 100644 (file)
     {
       "Sequence": 1,
       "Steps": [
+        {
+          "Position": {
+            "X": 74.20459,
+            "Y": -48.533592,
+            "Z": -171.12994
+          },
+          "StopDistance": 3,
+          "TerritoryId": 398,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "NearPosition": {
+                "Position": {
+                  "X": 74.20459,
+                  "Y": -48.533592,
+                  "Z": -171.12994
+                },
+                "MaximumDistance": 50,
+                "TerritoryId": 398
+              }
+            }
+          }
+        },
         {
           "DataId": 1017031,
           "Position": {
index 532ea98404763efb46fafa118e986f82d493ce68..2f752628b41874e5ae5b5568ccc7d28f9f625e35 100644 (file)
@@ -152,11 +152,13 @@ internal sealed unsafe class QuestFunctions
             {
                 // if we have multiple quests to turn in for an allied society, try and complete all of them
                 var (firstTrackedQuest, firstTrackedSequence) = trackedQuests.First();
-                EAlliedSociety firstTrackedAlliedSociety = _alliedSocietyData.GetCommonAlliedSocietyTurnIn(firstTrackedQuest);
+                EAlliedSociety firstTrackedAlliedSociety =
+                    _alliedSocietyData.GetCommonAlliedSocietyTurnIn(firstTrackedQuest);
                 if (firstTrackedAlliedSociety != EAlliedSociety.None)
                 {
                     var alliedQuestsForSameSociety = trackedQuests.Skip(1)
-                        .Where(quest => _alliedSocietyData.GetCommonAlliedSocietyTurnIn(quest.Quest) == firstTrackedAlliedSociety)
+                        .Where(quest =>
+                            _alliedSocietyData.GetCommonAlliedSocietyTurnIn(quest.Quest) == firstTrackedAlliedSociety)
                         .ToList();
                     if (alliedQuestsForSameSociety.Count > 0)
                     {
@@ -177,14 +179,15 @@ internal sealed unsafe class QuestFunctions
                             // also include the first quest in the list for those
                             alliedQuestsForSameSociety.Insert(0, (firstTrackedQuest, firstTrackedSequence));
 
-                            _alliedSocietyData.GetCommonAlliedSocietyNpcs(firstTrackedAlliedSociety, out uint[]? normalNpcs,
+                            _alliedSocietyData.GetCommonAlliedSocietyNpcs(firstTrackedAlliedSociety,
+                                out uint[]? normalNpcs,
                                 out _);
 
                             if (normalNpcs.Length > 0)
                             {
                                 var talkToNormalNpcs = alliedQuestsForSameSociety
                                     .Where(x => x.Sequence < 255)
-                                    .Where(x => IsInteractStep(x.Quest, x.Sequence, normalNpcs))
+                                    .Where(x => IsInteractSequence(x.Quest, x.Sequence, normalNpcs))
                                     .Cast<(ElementId, byte)?>()
                                     .FirstOrDefault();
                                 if (talkToNormalNpcs != null)
@@ -299,13 +302,16 @@ internal sealed unsafe class QuestFunctions
                _alliedSocietyData.Mounts.ContainsKey(battleChara->Mount.MountId);
     }
 
-    private bool IsInteractStep(ElementId questId, byte sequence, uint[] dataIds)
+    private bool IsInteractSequence(ElementId questId, byte sequenceNo, uint[] dataIds)
     {
         if (_questRegistry.TryGetQuest(questId, out var quest))
         {
-            QuestStep? firstStepOfSequence = quest.FindSequence(sequence)?.FindStep(0);
-            return firstStepOfSequence is { InteractionType: EInteractionType.Interact, DataId: { } dataId } &&
-                   dataIds.Contains(dataId);
+            QuestSequence? sequence = quest.FindSequence(sequenceNo);
+            return sequence != null &&
+                   sequence.Steps.All(x =>
+                       x is { InteractionType: EInteractionType.WalkTo } ||
+                       (x is { InteractionType: EInteractionType.Interact, DataId: { } dataId } &&
+                        dataIds.Contains(dataId)));
         }
 
         return false;