Update nier quests
authorLiza Carvelli <liza@carvel.li>
Fri, 13 Sep 2024 21:29:07 +0000 (23:29 +0200)
committerLiza Carvelli <liza@carvel.li>
Fri, 13 Sep 2024 21:29:07 +0000 (23:29 +0200)
16 files changed:
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3671_Word about Komra.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3720_Tails, You Lose.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3721_Heads, I Win.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3952_We Can Rebuild Her.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3953_Everything You Know Is Wrong.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/3998_To Make Amends.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4035_Brave New World.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4045_Dwarves of a Beard.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4046_Strange Glagg.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4047_Dwarves of a Beard Freshened.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4048_Stranger Glagg.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4049_All's Well That Ends with Ale.json [new file with mode: 0644]
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4050_All That Grinds Is Not Gloom.json
QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4053_Whence the Heart Leads.json [new file with mode: 0644]
Questionable/Controller/Steps/Interactions/Interact.cs
Questionable/Windows/QuestComponents/QuestTooltipComponent.cs

index 4e46eb253f756b7fd84cf7c8b0baf06598ae2b03..89d9d74e14b6ff57f9357288ab5416fed8973361 100644 (file)
             "Z": -636.7438
           },
           "TerritoryId": 814,
-          "InteractionType": "AcceptQuest"
+          "InteractionType": "AcceptQuest",
+          "AetheryteShortcut": "Kholusia - Tomra",
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "InSameTerritory": true
+            }
+          }
         }
       ]
     },
index 3d9d3ca8b275d69fa6daee3bab3ee224ace8d33a..22f98486a2e6787c910220aae69366d56ff7e63f 100644 (file)
             "Z": -264.0879
           },
           "TerritoryId": 896,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "DelaySecondsAtStart": 5
         }
       ]
     },
index ba6db5e53487793f9dbd4980fce9106360cd6b86..dcc1a8d6a24cd4ee5b290624ac3c204b17ebbe1e 100644 (file)
             "Z": -264.0879
           },
           "TerritoryId": 896,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "DelaySecondsAtStart": 5
         }
       ]
     },
index 7c7853d54333075e9e1b21740c932cdb1192099a..9f73fa536d5757d227387692d3e6603167228831 100644 (file)
           "InteractionType": "Say",
           "ChatMessage": {
             "Key": "TEXT_LUCKTA301_03952_SAYTODO_000_220"
-          }
+          },
+          "DelaySecondsAtStart": 5
         }
       ]
     },
index c12c26f5359307dab5e0704d79888ef3abc8b8f3..f0217cd8f142211ceb788a07f9f87c09dcfb8c74 100644 (file)
             "Z": 375.69226
           },
           "TerritoryId": 928,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          }
         },
         {
           "DataId": 2011155,
index d5b6ce28445773545c4e28adfd88f6701c3172a2..1eae4da6d45985cb35b397d4729b2e4e71a6d16d 100644 (file)
     {
       "Sequence": 12,
       "Steps": [
+        {
+          "Position": {
+            "X": 702.07294,
+            "Y": 293.53958,
+            "Z": -159.18176
+          },
+          "TerritoryId": 814,
+          "InteractionType": "WalkTo",
+          "Fly": true,
+          "SkipConditions": {
+            "StepIf": {
+              "InTerritory": [
+                928
+              ]
+            }
+          }
+        },
         {
           "DataId": 2011154,
           "Position": {
           "TerritoryId": 814,
           "InteractionType": "Interact",
           "TargetTerritoryId": 928,
-          "Fly": true,
           "SkipConditions": {
             "StepIf": {
               "InTerritory": [
             "Z": 274.00623
           },
           "TerritoryId": 928,
-          "InteractionType": "Interact"
+          "InteractionType": "Interact",
+          "DelaySecondsAtStart": 5
         }
       ]
     },
           "InteractionType": "WalkTo",
           "RestartNavigationIfCancelled": false
         },
+        {
+          "TerritoryId": 928,
+          "InteractionType": "None",
+          "DelaySecondsAtStart": 2
+        },
         {
           "DataId": 2011109,
           "Position": {
             }
           }
         },
+        {
+          "Position": {
+            "X": -234.40671,
+            "Y": 30,
+            "Z": 168.78214
+          },
+          "TerritoryId": 928,
+          "InteractionType": "WalkTo"
+        },
         {
           "Position": {
             "X": -237.90593,
           "InteractionType": "WalkTo",
           "RestartNavigationIfCancelled": false
         },
+        {
+          "TerritoryId": 928,
+          "InteractionType": "None",
+          "DelaySecondsAtStart": 2
+        },
         {
           "DataId": 2011110,
           "Position": {
           },
           "TerritoryId": 928,
           "InteractionType": "WalkTo",
-          "RestartNavigationIfCancelled": false
+          "RestartNavigationIfCancelled": false,
+          "DelaySecondsAtStart": 2
+        },
+        {
+          "TerritoryId": 928,
+          "InteractionType": "None",
+          "DelaySecondsAtStart": 2
         },
         {
           "DataId": 2011118,
           "InteractionType": "WalkTo",
           "RestartNavigationIfCancelled": false
         },
+        {
+          "TerritoryId": 928,
+          "InteractionType": "None",
+          "DelaySecondsAtStart": 2
+        },
         {
           "DataId": 2011115,
           "Position": {
index 3ebdc6af9cbdabed44c86111d1989d4b97d7e8e3..60d858bee2a3fb58d5b4d28d59f10fd3dfedea7e 100644 (file)
           },
           "TerritoryId": 928,
           "InteractionType": "WalkTo",
-          "RestartNavigationIfCancelled": false
+          "RestartNavigationIfCancelled": false,
+          "DelaySecondsAtStart": 2
+        },
+        {
+          "Position": {
+            "X": -234.40671,
+            "Y": 30,
+            "Z": 168.78214
+          },
+          "TerritoryId": 928,
+          "InteractionType": "WalkTo",
+          "DelaySecondsAtStart": 2
         },
         {
           "Position": {
           },
           "TerritoryId": 928,
           "InteractionType": "WalkTo",
-          "DisableNavmesh": true
+          "DisableNavmesh": true,
+          "DelaySecondsAtStart": 2
         },
         {
           "Position": {
           },
           "TerritoryId": 928,
           "InteractionType": "WalkTo",
-          "RestartNavigationIfCancelled": false
+          "RestartNavigationIfCancelled": false,
+          "DelaySecondsAtStart": 2
         },
         {
           "Position": {
           },
           "TerritoryId": 928,
           "InteractionType": "WalkTo",
-          "RestartNavigationIfCancelled": false
+          "RestartNavigationIfCancelled": false,
+          "DelaySecondsAtStart": 2
         },
         {
           "Position": {
               "Y": -249.74661,
               "Z": -301.74612
             }
-          }
+          },
+          "DelaySecondsAtStart": 2
         },
         {
           "DataId": 2011269,
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4045_Dwarves of a Beard.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4045_Dwarves of a Beard.json
new file mode 100644 (file)
index 0000000..65ec863
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4046_Strange Glagg.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4046_Strange Glagg.json
new file mode 100644 (file)
index 0000000..65ec863
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4047_Dwarves of a Beard Freshened.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4047_Dwarves of a Beard Freshened.json
new file mode 100644 (file)
index 0000000..65ec863
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4048_Stranger Glagg.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4048_Stranger Glagg.json
new file mode 100644 (file)
index 0000000..65ec863
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4049_All's Well That Ends with Ale.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4049_All's Well That Ends with Ale.json
new file mode 100644 (file)
index 0000000..65ec863
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest"
+        }
+      ]
+    }
+  ]
+}
index 318f37c0cd333b8cb4b604dfe35d1600cb2fba82..4c16a443388800e5223c629305293c4e09664575 100644 (file)
               "Type": "List",
               "Prompt": "TEXT_LUCKTA521_04050_Q1_000_000",
               "Answer": "TEXT_LUCKTA521_04050_A1_000_002"
+            },
+            {
+              "Type": "List",
+              "Prompt": "TEXT_LUCKTA521_04050_Q2_000_000",
+              "Answer": "TEXT_LUCKTA521_04050_A2_000_001"
             }
           ]
         }
@@ -43,7 +48,8 @@
           },
           "TerritoryId": 814,
           "InteractionType": "Interact",
-          "TargetTerritoryId": 895
+          "TargetTerritoryId": 895,
+          "Fly": true
         },
         {
           "DataId": 2010830,
@@ -93,6 +99,7 @@
           },
           "TerritoryId": 896,
           "InteractionType": "Interact",
+          "DelaySecondsAtStart": 2,
           "CompletionQuestVariablesFlags": [
             null,
             null,
diff --git a/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4053_Whence the Heart Leads.json b/QuestPaths/5.x - Shadowbringers/Alliance Raid Quests/4053_Whence the Heart Leads.json
new file mode 100644 (file)
index 0000000..8480e06
--- /dev/null
@@ -0,0 +1,61 @@
+{
+  "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+  "Author": "liza",
+  "QuestSequence": [
+    {
+      "Sequence": 0,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "AcceptQuest",
+          "Fly": true,
+          "AetheryteShortcut": "Kholusia - Stilltide",
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "InSameTerritory": true
+            }
+          }
+        }
+      ]
+    },
+    {
+      "Sequence": 1,
+      "Steps": [
+        {
+          "DataId": 1036045,
+          "Position": {
+            "X": 10.0251465,
+            "Y": 82.83513,
+            "Z": -53.60504
+          },
+          "TerritoryId": 820,
+          "InteractionType": "Interact",
+          "AetheryteShortcut": "Eulmore"
+        }
+      ]
+    },
+    {
+      "Sequence": 255,
+      "Steps": [
+        {
+          "DataId": 1032227,
+          "Position": {
+            "X": 665.8884,
+            "Y": 297.47797,
+            "Z": -160.57074
+          },
+          "TerritoryId": 814,
+          "InteractionType": "CompleteQuest",
+          "AetheryteShortcut": "Kholusia - Stilltide",
+          "Fly": true
+        }
+      ]
+    }
+  ]
+}
index b048b7ff27dd29ab6628560d13074a4e6c83e1b2..e233bfde3ac04a78c42792c4ab750f492af6fe58 100644 (file)
@@ -16,7 +16,10 @@ namespace Questionable.Controller.Steps.Interactions;
 
 internal static class Interact
 {
-    internal sealed class Factory(GameFunctions gameFunctions, Configuration configuration, ICondition condition,
+    internal sealed class Factory(
+        GameFunctions gameFunctions,
+        Configuration configuration,
+        ICondition condition,
         ILoggerFactory loggerFactory)
         : ITaskFactory
     {
@@ -54,14 +57,14 @@ internal static class Interact
 
             yield return Interact(step.DataId.Value, quest, step.InteractionType,
                 step.TargetTerritoryId != null || quest.Id is SatisfactionSupplyNpcId ||
-                step.SkipConditions is { StepIf.Never: true }, step.PickUpItemId);
+                step.SkipConditions is { StepIf.Never: true }, step.PickUpItemId, step.SkipConditions?.StepIf);
         }
 
         internal ITask Interact(uint dataId, Quest? quest, EInteractionType interactionType,
-            bool skipMarkerCheck = false, uint? pickUpItemId = null)
+            bool skipMarkerCheck = false, uint? pickUpItemId = null, SkipStepConditions? skipConditions = null)
         {
-            return new DoInteract(dataId, quest, interactionType, skipMarkerCheck, pickUpItemId, gameFunctions,
-                condition, loggerFactory.CreateLogger<DoInteract>());
+            return new DoInteract(dataId, quest, interactionType, skipMarkerCheck, pickUpItemId, skipConditions,
+                gameFunctions, condition, loggerFactory.CreateLogger<DoInteract>());
         }
     }
 
@@ -71,6 +74,7 @@ internal static class Interact
         EInteractionType interactionType,
         bool skipMarkerCheck,
         uint? pickUpItemId,
+        SkipStepConditions? skipConditions,
         GameFunctions gameFunctions,
         ICondition condition,
         ILogger<DoInteract> logger)
@@ -97,6 +101,13 @@ internal static class Interact
                 return false;
             }
 
+            if (!gameObject.IsTargetable && skipConditions is { Never: false, NotTargetable: true })
+            {
+                logger.LogInformation("Not interacting with {DataId} because it is not targetable (but skippable)",
+                    dataId);
+                return false;
+            }
+
             // this is only relevant for followers on quests
             if (!gameObject.IsTargetable && condition[ConditionFlag.Mounted] &&
                 gameObject.ObjectKind != ObjectKind.GatheringPoint)
index 702541b6a34740776e4147a9b03e7fa53a1a479c..3f426f6c8e02dbe0965e7068399c3b664fdb690c 100644 (file)
@@ -117,7 +117,7 @@ internal sealed class QuestTooltipComponent
                 else
                 {
                     using var _ = ImRaii.Disabled();
-                    _uiUtils.ChecklistItem($"Unknown Quest ({q})", ImGuiColors.DalamudGrey, FontAwesomeIcon.Question);
+                    _uiUtils.ChecklistItem($"Unknown Quest ({q.QuestId})", ImGuiColors.DalamudGrey, FontAwesomeIcon.Question);
                 }
             }
         }
@@ -180,7 +180,7 @@ internal sealed class QuestTooltipComponent
                     _ => "None",
                 };
 
-                GrandCompany currentGrandCompany = ~_questFunctions.GetGrandCompany();
+                GrandCompany currentGrandCompany = _questFunctions.GetGrandCompany();
                 _uiUtils.ChecklistItem($"Grand Company: {gcName}", actualQuestInfo.GrandCompany == currentGrandCompany);
             }
         }