forked from liza/Questionable
Compare commits
19 Commits
492e79ef19
...
f4d2a8ed95
Author | SHA1 | Date | |
---|---|---|---|
|
f4d2a8ed95 | ||
|
a0a8449920 | ||
|
f330db1642 | ||
|
c96844e8c2 | ||
|
5d6b6b4d37 | ||
|
add73f3309 | ||
|
aa1dfcf8f5 | ||
|
4771e9beac | ||
|
354df816cb | ||
15c97d55f7 | |||
6eddca6931 | |||
0ac2fae4b9 | |||
ca4bc07eeb | |||
d310c9ff1b | |||
abee323d2b | |||
cfce2591db | |||
b4a649189a | |||
581976b06b | |||
4ca4e38af7 |
@ -128,6 +128,10 @@ internal static class SkipConditionsExtensions
|
|||||||
skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory),
|
skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory),
|
||||||
AssignmentList(nameof(SkipAetheryteCondition.InTerritory),
|
AssignmentList(nameof(SkipAetheryteCondition.InTerritory),
|
||||||
skipAetheryteCondition.InTerritory),
|
skipAetheryteCondition.InTerritory),
|
||||||
|
AssignmentList(nameof(SkipAetheryteCondition.QuestsAccepted),
|
||||||
|
skipAetheryteCondition.QuestsAccepted),
|
||||||
|
AssignmentList(nameof(skipAetheryteCondition.QuestsCompleted),
|
||||||
|
skipAetheryteCondition.QuestsCompleted),
|
||||||
Assignment(nameof(SkipAetheryteCondition.AetheryteLocked),
|
Assignment(nameof(SkipAetheryteCondition.AetheryteLocked),
|
||||||
skipAetheryteCondition.AetheryteLocked, emptyAetheryte.AetheryteLocked)
|
skipAetheryteCondition.AetheryteLocked, emptyAetheryte.AetheryteLocked)
|
||||||
.AsSyntaxNodeOrToken(),
|
.AsSyntaxNodeOrToken(),
|
||||||
|
@ -5,17 +5,20 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002281,
|
{
|
||||||
|
"DataId": 1002281,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -115.739685,
|
"X": -115.739685,
|
||||||
"Y": 41.600117,
|
"Y": 41.600117,
|
||||||
"Z": 118.88306
|
"Z": 118.88306
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Ul'dah",
|
"AetheryteShortcut": "Ul'dah",
|
||||||
"AethernetShortcut": ["[Ul'dah] Aetheryte Plaza",
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Alchemists' Guild"],
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Alchemists' Guild"
|
||||||
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
@ -30,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSALC001_00190_Q1_1",
|
"Prompt": "TEXT_CLSALC001_00190_Q1_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002281,
|
{
|
||||||
|
"DataId": 1002281,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -115.739685,
|
"X": -115.739685,
|
||||||
"Y": 41.600117,
|
"Y": 41.600117,
|
||||||
"Z": 118.88306
|
"Z": 118.88306
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002299,
|
{
|
||||||
|
"DataId": 1002299,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -98.8938,
|
"X": -98.8938,
|
||||||
"Y": 40.200146,
|
"Y": 40.200146,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSALC011_00575_Q1_1",
|
"Prompt": "TEXT_CLSALC011_00575_Q1_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 575
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,14 +5,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000998,
|
{
|
||||||
|
"DataId": 1000998,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -51.651794,
|
"X": -51.651794,
|
||||||
"Y": 42.79979,
|
"Y": 42.79979,
|
||||||
"Z": 190.41736
|
"Z": 190.41736
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Limsa Lominsa",
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza",
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
@ -22,7 +23,7 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
129
|
128
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -32,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSARM001_00186_Q1_000_1",
|
"Prompt": "TEXT_CLSARM001_00186_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000998,
|
{
|
||||||
|
"DataId": 1000998,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -51.651794,
|
"X": -51.651794,
|
||||||
"Y": 42.79979,
|
"Y": 42.79979,
|
||||||
"Z": 190.41736
|
"Z": 190.41736
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1001000,
|
{
|
||||||
|
"DataId": 1001000,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -32.028687,
|
"X": -32.028687,
|
||||||
"Y": 41.499985,
|
"Y": 41.499985,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSARM011_00273_Q1_000_1",
|
"Prompt": "TEXT_CLSARM011_00273_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 273
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,23 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002279,
|
{
|
||||||
|
"DataId": 1002279,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -196.8872,
|
"X": -196.8872,
|
||||||
"Y": 18.459997,
|
"Y": 18.459997,
|
||||||
"Z": 59.952637
|
"Z": 59.952637
|
||||||
},
|
},
|
||||||
"TerritoryId": 130,
|
"TerritoryId": 130,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Ul'dah",
|
"AetheryteShortcut": "Ul'dah",
|
||||||
"AethernetShortcut": ["[Ul'dah] Aetheryte Plaza",
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Thaumaturges' Guild"],
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Thaumaturges' Guild"
|
||||||
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
130
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
@ -30,9 +30,9 @@
|
|||||||
"Prompt": "TEXT_CLSTHM001_00183_Q1_000_1",
|
"Prompt": "TEXT_CLSTHM001_00183_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002279,
|
{
|
||||||
|
"DataId": 1002279,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -196.8872,
|
"X": -196.8872,
|
||||||
"Y": 18.459997,
|
"Y": 18.459997,
|
||||||
"Z": 59.952637
|
"Z": 59.952637
|
||||||
},
|
},
|
||||||
"TerritoryId": 130,
|
"TerritoryId": 130,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1001709,
|
{
|
||||||
|
"DataId": 1001709,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -240.4975,
|
"X": -240.4975,
|
||||||
"Y": 18.7,
|
"Y": 18.7,
|
||||||
@ -39,4 +42,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -122,7 +122,7 @@
|
|||||||
"TerritoryId": 153,
|
"TerritoryId": 153,
|
||||||
"InteractionType": "CompleteQuest",
|
"InteractionType": "CompleteQuest",
|
||||||
"Fly": true,
|
"Fly": true,
|
||||||
"NextQuestId": 1085
|
"NextQuestId": 1086
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -5,28 +5,31 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000197,
|
{
|
||||||
|
"DataId": 1000197,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 201.31226,
|
"X": 201.31226,
|
||||||
"Y": -3.1634123E-15,
|
"Y": -3.1634123E-15,
|
||||||
"Z": 43.900146
|
"Z": 43.900146
|
||||||
},
|
},
|
||||||
"TerritoryId": 132,
|
"TerritoryId": 132,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000200,
|
{
|
||||||
|
"DataId": 1000200,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 209.55212,
|
"X": 209.55212,
|
||||||
"Y": 0.9999819,
|
"Y": 0.9999819,
|
||||||
"Z": 35.01941
|
"Z": 35.01941
|
||||||
},
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
"TerritoryId": 132,
|
"TerritoryId": 132,
|
||||||
"InteractionType": "CompleteQuest",
|
"InteractionType": "CompleteQuest",
|
||||||
|
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
@ -39,4 +42,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000197,
|
{
|
||||||
|
"DataId": 1000197,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 201.31226,
|
"X": 201.31226,
|
||||||
"Y": -3.1634123E-15,
|
"Y": -3.1634123E-15,
|
||||||
@ -28,10 +29,7 @@
|
|||||||
"InteractionType": "AcceptQuest",
|
"InteractionType": "AcceptQuest",
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
132
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -39,4 +37,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000995,
|
{
|
||||||
|
"DataId": 1000995,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -52.018066,
|
"X": -52.018066,
|
||||||
"Y": 42.799637,
|
"Y": 42.799637,
|
||||||
@ -22,7 +23,7 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
129
|
128
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -39,4 +40,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000995,
|
{
|
||||||
|
"DataId": 1000995,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -52.018066,
|
"X": -52.018066,
|
||||||
"Y": 42.799637,
|
"Y": 42.799637,
|
||||||
@ -22,23 +23,25 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
129
|
128
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
"Prompt": "TEXT_CLSBSM001_00185_Q1_000_1",
|
"Prompt": "TEXT_CLSBSM011_00291_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000997,
|
{
|
||||||
|
"DataId": 1000997,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -31.265808,
|
"X": -31.265808,
|
||||||
"Y": 44.49997,
|
"Y": 44.49997,
|
||||||
@ -59,4 +62,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000294,
|
{
|
||||||
|
"DataId": 1000294,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -238.05603,
|
"X": -238.05603,
|
||||||
"Y": 8,
|
"Y": 8,
|
||||||
@ -13,7 +14,10 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 133,
|
"TerritoryId": 133,
|
||||||
"AetheryteShortcut": "Gridania",
|
"AetheryteShortcut": "Gridania",
|
||||||
"AethernetShortcut": ["[Gridania] Aetheryte Plaza", "[Gridania] Botanists' Guild"],
|
"AethernetShortcut": [
|
||||||
|
"[Gridania] Aetheryte Plaza",
|
||||||
|
"[Gridania] Botanists' Guild"
|
||||||
|
],
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
@ -26,14 +30,12 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
132,133
|
133
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000294,
|
{
|
||||||
|
"DataId": 1000294,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -238.05603,
|
"X": -238.05603,
|
||||||
"Y": 8,
|
"Y": 8,
|
||||||
"Z": -142.93127
|
"Z": -142.93127
|
||||||
},
|
},
|
||||||
"TerritoryId": 133,
|
"TerritoryId": 133,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000815,
|
{
|
||||||
|
"DataId": 1000815,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -233.9361,
|
"X": -233.9361,
|
||||||
"Y": 6.668152,
|
"Y": 6.668152,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSHRV001_00003_Q1_000_1",
|
"Prompt": "TEXT_CLSHRV001_00003_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 3
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000148,
|
{
|
||||||
|
"DataId": 1000148,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -20.279297,
|
"X": -20.279297,
|
||||||
"Y": -3.25,
|
"Y": -3.25,
|
||||||
@ -23,10 +24,7 @@
|
|||||||
"InteractionType": "AcceptQuest",
|
"InteractionType": "AcceptQuest",
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
132
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -34,4 +32,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,14 +5,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000946,
|
{
|
||||||
|
"DataId": 1000946,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -61.142883,
|
"X": -61.142883,
|
||||||
"Y": 42.299698,
|
"Y": 42.299698,
|
||||||
"Z": -164.0498
|
"Z": -164.0498
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Limsa Lominsa",
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza",
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
@ -22,7 +23,7 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
129
|
128
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -32,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSCUL001_00191_Q1_000_1",
|
"Prompt": "TEXT_CLSCUL001_00191_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000946,
|
{
|
||||||
|
"DataId": 1000946,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -61.142883,
|
"X": -61.142883,
|
||||||
"Y": 42.299698,
|
"Y": 42.299698,
|
||||||
"Z": -164.0498
|
"Z": -164.0498
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000947,
|
{
|
||||||
|
"DataId": 1000947,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -54.64258,
|
"X": -54.64258,
|
||||||
"Y": 44,
|
"Y": 44,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSCUL011_00271_Q1_000_1",
|
"Prompt": "TEXT_CLSCUL011_00271_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 271
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,8 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000251,
|
{
|
||||||
|
"DataId": 1000251,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 147.08167,
|
"X": 147.08167,
|
||||||
"Y": 15.5,
|
"Y": 15.5,
|
||||||
@ -23,10 +24,9 @@
|
|||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "AcceptQuest"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
"Z": 150.04187
|
"Z": 150.04187
|
||||||
},
|
},
|
||||||
"TerritoryId": 129,
|
"TerritoryId": 129,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Limsa Lominsa",
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza",
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
@ -21,10 +21,7 @@
|
|||||||
],
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
129
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,6 +30,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": -167.60791,
|
||||||
|
"Y": 4.550005,
|
||||||
|
"Z": 165.35986
|
||||||
|
},
|
||||||
|
"TerritoryId": 129,
|
||||||
|
"InteractionType": "WalkTo"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1000857,
|
"DataId": 1000857,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
"TerritoryId": 129,
|
"TerritoryId": 129,
|
||||||
"InteractionType": "EquipRecommended"
|
"InteractionType": "EquipRecommended"
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"DataId": 1000857,
|
"DataId": 1000857,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -34,24 +33,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Sequence": 1,
|
|
||||||
"Steps": [
|
|
||||||
{
|
|
||||||
"Position": {
|
|
||||||
"X": -42.679565,
|
|
||||||
"Y": 39.999966,
|
|
||||||
"Z": 119.920654
|
|
||||||
},
|
|
||||||
"TerritoryId": 128,
|
|
||||||
"InteractionType": "WaitForManualProgress",
|
|
||||||
"AethernetShortcut": [
|
|
||||||
"[Limsa Lominsa] Fishermens' Guild",
|
|
||||||
"[Limsa Lominsa] The Aftcastle"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
@ -68,7 +49,9 @@
|
|||||||
"[Limsa Lominsa] The Aftcastle",
|
"[Limsa Lominsa] The Aftcastle",
|
||||||
"[Limsa Lominsa] Fishermens' Guild"
|
"[Limsa Lominsa] Fishermens' Guild"
|
||||||
],
|
],
|
||||||
"NextQuestId": 3843
|
"NextQuestId": 3843,
|
||||||
|
"Disabled": true,
|
||||||
|
"Comment": "Catch/turn in fish manually"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
"Z": 150.04187
|
"Z": 150.04187
|
||||||
},
|
},
|
||||||
"TerritoryId": 129,
|
"TerritoryId": 129,
|
||||||
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza",
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
"[Limsa Lominsa] Fishermens' Guild"
|
"[Limsa Lominsa] Fishermens' Guild"
|
||||||
@ -21,8 +22,7 @@
|
|||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
"Prompt": "TEXT_CLSFSH001_01134_Q1_000_1",
|
"Prompt": "TEXT_CLSFSH001_01134_Q1_000_1",
|
||||||
"Yes": true,
|
"Yes": true
|
||||||
"$": "Need to find real prompt in godbert"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact"
|
||||||
@ -38,30 +38,6 @@
|
|||||||
"InteractionType": "AcceptQuest"
|
"InteractionType": "AcceptQuest"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"Sequence": 255,
|
|
||||||
"Steps": [
|
|
||||||
{
|
|
||||||
"DataId": 1000857,
|
|
||||||
"Position": {
|
|
||||||
"X": -165.27051,
|
|
||||||
"Y": 5.2500057,
|
|
||||||
"Z": 164.29382
|
|
||||||
},
|
|
||||||
"TerritoryId": 129,
|
|
||||||
"DialogueChoices": [
|
|
||||||
{
|
|
||||||
"Type": "YesNo",
|
|
||||||
"Prompt": "TEXT_CLSGLA020_00253_Q1_000_1",
|
|
||||||
"Yes": true,
|
|
||||||
"$": "Need to find real prompt in godbert"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"InteractionType": "CompleteQuest",
|
|
||||||
"NextQuestId": 1108
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -5,17 +5,20 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002280,
|
{
|
||||||
|
"DataId": 1002280,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -35.385742,
|
"X": -35.385742,
|
||||||
"Y": 13.599962,
|
"Y": 13.599962,
|
||||||
"Z": 97.24573
|
"Z": 97.24573
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Ul'dah",
|
"AetheryteShortcut": "Ul'dah",
|
||||||
"AethernetShortcut": ["[Ul'dah] Aetheryte Plaza",
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Goldsmiths' Guild"],
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Goldsmiths' Guild"
|
||||||
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
@ -30,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSGLD001_00187_Q1_000_1",
|
"Prompt": "TEXT_CLSGLD001_00187_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002280,
|
{
|
||||||
|
"DataId": 1002280,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -35.385742,
|
"X": -35.385742,
|
||||||
"Y": 13.599962,
|
"Y": 13.599962,
|
||||||
"Z": 97.24573
|
"Z": 97.24573
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1004093,
|
{
|
||||||
|
"DataId": 1004093,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -25.162231,
|
"X": -25.162231,
|
||||||
"Y": 12.200003,
|
"Y": 12.200003,
|
||||||
@ -32,8 +35,7 @@
|
|||||||
"Prompt": "TEXT_CLSGLD011_00608_A1_000_1",
|
"Prompt": "TEXT_CLSGLD011_00608_A1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 608
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000352,
|
{
|
||||||
|
"DataId": 1000352,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 65.69006,
|
"X": 65.69006,
|
||||||
"Y": 8,
|
"Y": 8,
|
||||||
"Z": -147.41742
|
"Z": -147.41742
|
||||||
},
|
},
|
||||||
"TerritoryId": 133,
|
"TerritoryId": 133,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000691,
|
{
|
||||||
|
"DataId": 1000691,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 71.97681,
|
"X": 71.97681,
|
||||||
"Y": 8,
|
"Y": 8,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSTAN000_00105_Q1_000_1",
|
"Prompt": "TEXT_CLSTAN000_00105_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 105
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,14 +5,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000352,
|
{
|
||||||
|
"DataId": 1000352,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 65.69006,
|
"X": 65.69006,
|
||||||
"Y": 8,
|
"Y": 8,
|
||||||
"Z": -147.41742
|
"Z": -147.41742
|
||||||
},
|
},
|
||||||
"TerritoryId": 133,
|
"TerritoryId": 133,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Gridania",
|
"AetheryteShortcut": "Gridania",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Gridania] Aetheryte Plaza",
|
"[Gridania] Aetheryte Plaza",
|
||||||
@ -32,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSTAN999_00188_Q1_000_1",
|
"Prompt": "TEXT_CLSTAN999_00188_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,21 +5,19 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1001286,
|
{
|
||||||
|
"DataId": 1001286,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -88.9754,
|
"X": -88.9754,
|
||||||
"Y": 2.55,
|
"Y": 2.55,
|
||||||
"Z": -51.163513
|
"Z": -51.163513
|
||||||
},
|
},
|
||||||
"TerritoryId": 130,
|
"TerritoryId": 130,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Ul'dah",
|
"AetheryteShortcut": "Ul'dah",
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
130
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
@ -28,9 +26,9 @@
|
|||||||
"Prompt": "TEXT_CLSPGL001_00178_Q1_000_1",
|
"Prompt": "TEXT_CLSPGL001_00178_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1001286,
|
{
|
||||||
|
"DataId": 1001286,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -88.9754,
|
"X": -88.9754,
|
||||||
"Y": 2.55,
|
"Y": 2.55,
|
||||||
"Z": -51.163513
|
"Z": -51.163513
|
||||||
},
|
},
|
||||||
"TerritoryId": 130,
|
"TerritoryId": 130,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1003817,
|
{
|
||||||
|
"DataId": 1003817,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -74.57086,
|
"X": -74.57086,
|
||||||
"Y": 1.9999951,
|
"Y": 1.9999951,
|
||||||
@ -39,4 +42,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -3,9 +3,10 @@
|
|||||||
"Author": "Cacahuetes",
|
"Author": "Cacahuetes",
|
||||||
"QuestSequence": [
|
"QuestSequence": [
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1009944,
|
{
|
||||||
|
"DataId": 1009944,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -152.66656,
|
"X": -152.66656,
|
||||||
"Y": 2.8562405,
|
"Y": 2.8562405,
|
||||||
@ -15,14 +16,12 @@
|
|||||||
"InteractionType": "AcceptQuest",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Limsa Lominsa",
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza","[Limsa Lominsa] Fishermens' Guild"
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
|
"[Limsa Lominsa] Fishermens' Guild"
|
||||||
],
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true
|
||||||
"InTerritory": [
|
|
||||||
129
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
@ -32,10 +31,9 @@
|
|||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"NextQuestID": 102
|
"NextQuestId": 102
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "Cacahuetes",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009944,
|
||||||
|
"Position": {
|
||||||
|
"X": -152.66656,
|
||||||
|
"Y": 2.8562405,
|
||||||
|
"Z": 243.18298
|
||||||
|
},
|
||||||
|
"TerritoryId": 129,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009944,
|
||||||
|
"Position": {
|
||||||
|
"X": -152.66656,
|
||||||
|
"Y": 2.8562405,
|
||||||
|
"Z": 243.18298
|
||||||
|
},
|
||||||
|
"TerritoryId": 129,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CLSROG011_00102_Q9_000_901",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1009943,
|
||||||
|
"Position": {
|
||||||
|
"X": -153.36847,
|
||||||
|
"Y": -129.4397,
|
||||||
|
"Z": 265.88843
|
||||||
|
},
|
||||||
|
"StopDistance": 7,
|
||||||
|
"TerritoryId": 129,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CLSROG011_00102_Q1_000_030",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,50 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
|
||||||
"Author": "Cacahuetes",
|
|
||||||
"QuestSequence": [
|
|
||||||
{
|
|
||||||
"Sequence": 0,
|
|
||||||
"Steps": [
|
|
||||||
{ "DataId": 1009944,
|
|
||||||
"Position": {
|
|
||||||
"X": -152.66656,
|
|
||||||
"Y": 2.8562405,
|
|
||||||
"Z": 243.18298
|
|
||||||
},
|
|
||||||
"TerritoryId": 129,
|
|
||||||
"InteractionType": "AcceptQuest"}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Sequence": 255,
|
|
||||||
"Steps": [
|
|
||||||
{ "DataId": 1009944,
|
|
||||||
"Position": {
|
|
||||||
"X": -152.66656,
|
|
||||||
"Y": 2.8562405,
|
|
||||||
"Z": 243.18298
|
|
||||||
},
|
|
||||||
"TerritoryId": 129,
|
|
||||||
"InteractionType": "Interact"
|
|
||||||
},
|
|
||||||
{ "DataId": 1009943,
|
|
||||||
"Position": {
|
|
||||||
"X": -153.36847,
|
|
||||||
"Y": -129.4397,
|
|
||||||
"Z": 265.88843
|
|
||||||
},
|
|
||||||
"TerritoryId": 129,
|
|
||||||
"InteractionType": "CompleteQuest",
|
|
||||||
"DialogueChoices": [
|
|
||||||
{
|
|
||||||
"Type": "YesNo",
|
|
||||||
"Prompt": "TEXT_CLSROG011_00102_Q1_000_030",
|
|
||||||
"Yes": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -62,11 +62,16 @@
|
|||||||
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
|
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
|
||||||
"InteractionType": "Combat",
|
"InteractionType": "Combat",
|
||||||
"EnemySpawnType": "AfterInteraction",
|
"EnemySpawnType": "AfterInteraction",
|
||||||
"KillEnemyDataIds": [18,19]
|
"KillEnemyDataIds": [
|
||||||
|
18,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"Fly": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "Sequence": 3,
|
{
|
||||||
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 2002345,
|
"DataId": 2002345,
|
||||||
@ -79,8 +84,10 @@
|
|||||||
"InteractionType": "UseItem",
|
"InteractionType": "UseItem",
|
||||||
"ItemId": 2000821
|
"ItemId": 2000821
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
{ "Sequence": 4,
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1006747,
|
"DataId": 1006747,
|
||||||
@ -97,9 +104,10 @@
|
|||||||
"[Ul'dah] The Chamber of Rule"
|
"[Ul'dah] The Chamber of Rule"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
,
|
},
|
||||||
{ "Sequence": 255,
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1006747,
|
"DataId": 1006747,
|
||||||
@ -112,6 +120,7 @@
|
|||||||
"InteractionType": "CompleteQuest",
|
"InteractionType": "CompleteQuest",
|
||||||
"NextQuestId": 1056
|
"NextQuestId": 1056
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1002277,
|
||||||
|
"Position": {
|
||||||
|
"X": -97.550964,
|
||||||
|
"Y": 7.05,
|
||||||
|
"Z": 23.605652
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gladiators' Guild"
|
||||||
|
],
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CLSGLA001_00177_Q1_000_1",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true,
|
||||||
|
"InTerritory": [
|
||||||
|
131
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -84,8 +84,7 @@
|
|||||||
"MinimumKillCount": 3,
|
"MinimumKillCount": 3,
|
||||||
"CompletionQuestVariablesFlags": [
|
"CompletionQuestVariablesFlags": [
|
||||||
{
|
{
|
||||||
"Low": 3,
|
"Low": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
@ -100,8 +99,7 @@
|
|||||||
"CompletionQuestVariablesFlags": [
|
"CompletionQuestVariablesFlags": [
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
"High": 3,
|
"High": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
@ -112,12 +110,10 @@
|
|||||||
],
|
],
|
||||||
"CompletionQuestVariablesFlags": [
|
"CompletionQuestVariablesFlags": [
|
||||||
{
|
{
|
||||||
"Low": 3,
|
"Low": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"High": 3,
|
"High": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
@ -141,8 +137,7 @@
|
|||||||
"CompletionQuestVariablesFlags": [
|
"CompletionQuestVariablesFlags": [
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
"Low": 3,
|
"Low": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
@ -154,8 +149,7 @@
|
|||||||
"CompletionQuestVariablesFlags": [
|
"CompletionQuestVariablesFlags": [
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
"Low": 3,
|
"Low": 3
|
||||||
"Mode": "Exact"
|
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
|
@ -47,7 +47,9 @@
|
|||||||
"[Ul'dah] Gladiators' Guild",
|
"[Ul'dah] Gladiators' Guild",
|
||||||
"[Ul'dah] Gate of Nald (Central Thanalan)"
|
"[Ul'dah] Gate of Nald (Central Thanalan)"
|
||||||
],
|
],
|
||||||
"KillEnemyDataIds": [1245]
|
"KillEnemyDataIds": [
|
||||||
|
1245
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -113,8 +115,8 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
{ "Sequence": 5,
|
"Sequence": 5,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1003945,
|
"DataId": 1003945,
|
||||||
@ -123,12 +125,14 @@
|
|||||||
"Y": 13,
|
"Y": 13,
|
||||||
"Z": 50.156372
|
"Z": 50.156372
|
||||||
},
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
"TerritoryId": 141,
|
"TerritoryId": 141,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact"
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
|
},
|
||||||
{ "Sequence": 255,
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -153,6 +157,7 @@
|
|||||||
],
|
],
|
||||||
"NextQuestId": 262
|
"NextQuestId": 262
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,9 @@
|
|||||||
"InteractionType": "Combat",
|
"InteractionType": "Combat",
|
||||||
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
"EnemySpawnType": "AfterInteraction",
|
"EnemySpawnType": "AfterInteraction",
|
||||||
"KillEnemyDataIds":[1244]
|
"KillEnemyDataIds": [
|
||||||
|
1244
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -110,7 +112,8 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "Sequence": 255,
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -122,11 +125,12 @@
|
|||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "CompleteQuest",
|
"InteractionType": "CompleteQuest",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Aetheryte Plaza",
|
"[Ul'dah] Adventurers' Guild",
|
||||||
"[Ul'dah] Gladiators' Guild"
|
"[Ul'dah] Gladiators' Guild"
|
||||||
],
|
],
|
||||||
"NextQuestId": 263
|
"NextQuestId": 263
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,15 @@
|
|||||||
"Z": -41.397766
|
"Z": -41.397766
|
||||||
},
|
},
|
||||||
"TerritoryId": 141,
|
"TerritoryId": 141,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
64
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1001438,
|
"DataId": 1001438,
|
||||||
@ -67,23 +75,41 @@
|
|||||||
"Z": -145.67792
|
"Z": -145.67792
|
||||||
},
|
},
|
||||||
"TerritoryId": 141,
|
"TerritoryId": 141,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
128
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{"DataId": 2001434,
|
{
|
||||||
|
"DataId": 2001434,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -115.77026,
|
"X": -115.77026,
|
||||||
"Y": 0.015197754,
|
"Y": 0.015197754,
|
||||||
"Z": -149.24854
|
"Z": -149.24854
|
||||||
},
|
},
|
||||||
"TerritoryId": 141,
|
"TerritoryId": 141,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
32
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 3,
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{"DataId": 1004140,
|
{
|
||||||
|
"DataId": 1004140,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -72.34308,
|
"X": -72.34308,
|
||||||
"Y": -12.372956,
|
"Y": -12.372956,
|
||||||
@ -110,7 +136,8 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "Sequence": 5,
|
{
|
||||||
|
"Sequence": 5,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -133,8 +160,10 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
{ "Sequence": 6,
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 6,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1004092,
|
"DataId": 1004092,
|
||||||
@ -148,10 +177,13 @@
|
|||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Gladiators' Guild",
|
"[Ul'dah] Gladiators' Guild",
|
||||||
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
|
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
|
||||||
]
|
],
|
||||||
|
"Fly": true
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
{ "Sequence": 255,
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -169,6 +201,7 @@
|
|||||||
],
|
],
|
||||||
"NextQuestId": 264
|
"NextQuestId": 264
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -43,11 +43,14 @@
|
|||||||
"TerritoryId": 140,
|
"TerritoryId": 140,
|
||||||
"InteractionType": "Combat",
|
"InteractionType": "Combat",
|
||||||
"EnemySpawnType": "AfterInteraction",
|
"EnemySpawnType": "AfterInteraction",
|
||||||
"KillEnemyDataIds": [1243],
|
"KillEnemyDataIds": [
|
||||||
|
1243
|
||||||
|
],
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Gladiators' Guild",
|
"[Ul'dah] Gladiators' Guild",
|
||||||
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
|
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
|
||||||
]
|
],
|
||||||
|
"Fly": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -66,7 +69,8 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "Sequence": 3,
|
{
|
||||||
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -83,8 +87,10 @@
|
|||||||
"[Ul'dah] Gladiators' Guild"
|
"[Ul'dah] Gladiators' Guild"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
{ "Sequence": 4,
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1002277,
|
"DataId": 1002277,
|
||||||
@ -96,9 +102,10 @@
|
|||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact"
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
,
|
},
|
||||||
{ "Sequence": 5,
|
{
|
||||||
|
"Sequence": 5,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1004141,
|
"DataId": 1004141,
|
||||||
@ -118,9 +125,10 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
,
|
},
|
||||||
{ "Sequence": 255,
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -138,6 +146,7 @@
|
|||||||
],
|
],
|
||||||
"NextQuestId": 265
|
"NextQuestId": 265
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -67,20 +67,41 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 141,
|
"TerritoryId": 141,
|
||||||
"InteractionType": "WalkTo",
|
"InteractionType": "WalkTo",
|
||||||
"AethernetShortcut": ["[Ul'dah] Aetheryte Plaza", "[Ul'dah] Gate of Thal (Central Thanalan)"]
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gate of Thal (Central Thanalan)"
|
||||||
|
],
|
||||||
|
"SkipConditions": {
|
||||||
|
"StepIf": {
|
||||||
|
"AetheryteUnlocked": "Southern Thanalan - Little Ala Mhigo"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"TerritoryId": 146,
|
"TerritoryId": 146,
|
||||||
"Aetheryte": "Southern Thanalan - Little Ala Mhigo",
|
"Aetheryte": "Southern Thanalan - Little Ala Mhigo",
|
||||||
"InteractionType": "AttuneAetheryte"
|
"InteractionType": "AttuneAetheryte",
|
||||||
|
"SkipConditions": {
|
||||||
|
"StepIf": {
|
||||||
|
"AetheryteUnlocked": "Southern Thanalan - Little Ala Mhigo"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{"Position": {
|
{
|
||||||
|
"Position": {
|
||||||
"X": 140.30618,
|
"X": 140.30618,
|
||||||
"Y": 4.2185926,
|
"Y": 4.2185926,
|
||||||
"Z": -585.2695
|
"Z": -585.2695
|
||||||
},
|
},
|
||||||
"TerritoryId": 146,
|
"TerritoryId": 146,
|
||||||
"InteractionType": "WalkTo"},
|
"InteractionType": "WalkTo",
|
||||||
|
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"AetheryteLocked": "Southern Thanalan - Little Ala Mhigo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 2001455,
|
"DataId": 2001455,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -89,7 +110,15 @@
|
|||||||
"Z": -611.2917
|
"Z": -611.2917
|
||||||
},
|
},
|
||||||
"TerritoryId": 146,
|
"TerritoryId": 146,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
64
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"DataId": 2001435,
|
"DataId": 2001435,
|
||||||
@ -99,8 +128,21 @@
|
|||||||
"Z": -534.56934
|
"Z": -534.56934
|
||||||
},
|
},
|
||||||
"TerritoryId": 146,
|
"TerritoryId": 146,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
128
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
{
|
{
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 164.75665,
|
"X": 164.75665,
|
||||||
@ -109,12 +151,7 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 146,
|
"TerritoryId": 146,
|
||||||
"InteractionType": "WalkTo"
|
"InteractionType": "WalkTo"
|
||||||
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{ "Sequence": 3,
|
|
||||||
"Steps": [
|
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -130,8 +167,10 @@
|
|||||||
"[Ul'dah] Gladiators' Guild"
|
"[Ul'dah] Gladiators' Guild"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]},
|
]
|
||||||
{ "Sequence": 4,
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1004142,
|
"DataId": 1004142,
|
||||||
@ -144,9 +183,10 @@
|
|||||||
"InteractionType": "SinglePlayerDuty",
|
"InteractionType": "SinglePlayerDuty",
|
||||||
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone"
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone"
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
,
|
},
|
||||||
{ "Sequence": 255,
|
{
|
||||||
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"DataId": 1001739,
|
"DataId": 1001739,
|
||||||
@ -164,6 +204,7 @@
|
|||||||
],
|
],
|
||||||
"NextQuestId": 1055
|
"NextQuestId": 1055
|
||||||
}
|
}
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1002277,
|
||||||
|
"Position": {
|
||||||
|
"X": -97.550964,
|
||||||
|
"Y": 7.05,
|
||||||
|
"Z": 23.605652
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CLSGLA011_00285_Q2_000_1",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"NextQuestId": 286
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 45.13088,
|
||||||
|
"Y": 3.889354,
|
||||||
|
"Z": -166.51999
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Gladiators' Guild",
|
||||||
|
"[Ul'dah] Adventurers' Guild"
|
||||||
|
],
|
||||||
|
"SkipConditions": {
|
||||||
|
"StepIf": {
|
||||||
|
"InTerritory": [
|
||||||
|
141
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": -116.10664,
|
||||||
|
"Y": 10.801613,
|
||||||
|
"Z": 276.979
|
||||||
|
},
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "OverworldEnemies",
|
||||||
|
"ComplexCombatData": [
|
||||||
|
{
|
||||||
|
"DataId": 351,
|
||||||
|
"MinimumKillCount": 3,
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
{
|
||||||
|
"Low": 3
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 141,
|
||||||
|
"MinimumKillCount": 3,
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"High": 3
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
{
|
||||||
|
"Low": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"High": 3
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 39.635372,
|
||||||
|
"Y": 3.2401803,
|
||||||
|
"Z": 273.41232
|
||||||
|
},
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "OverworldEnemies",
|
||||||
|
"ComplexCombatData": [
|
||||||
|
{
|
||||||
|
"DataId": 205,
|
||||||
|
"MinimumKillCount": 3,
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"Low": 3
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CompletionQuestVariablesFlags": [
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"Low": 3
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gladiators' Guild"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,163 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "Cacahuetes",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gladiators' Guild"
|
||||||
|
],
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true,
|
||||||
|
"InTerritory": [
|
||||||
|
131
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1002296,
|
||||||
|
"Position": {
|
||||||
|
"X": -139.42175,
|
||||||
|
"Y": 4.019726,
|
||||||
|
"Z": 205.0354
|
||||||
|
},
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "AfterInteraction",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Gladiators' Guild",
|
||||||
|
"[Ul'dah] Gate of Nald (Central Thanalan)"
|
||||||
|
],
|
||||||
|
"KillEnemyDataIds": [
|
||||||
|
1245
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1002296,
|
||||||
|
"Position": {
|
||||||
|
"X": -139.42175,
|
||||||
|
"Y": 4.019726,
|
||||||
|
"Z": 205.0354
|
||||||
|
},
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gladiators' Guild"
|
||||||
|
],
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true,
|
||||||
|
"InTerritory": [
|
||||||
|
131
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2001756,
|
||||||
|
"Position": {
|
||||||
|
"X": 27.206787,
|
||||||
|
"Y": 12.985352,
|
||||||
|
"Z": 51.83484
|
||||||
|
},
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "SinglePlayerDuty",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Gladiators' Guild",
|
||||||
|
"[Ul'dah] Gate of Nald (Central Thanalan)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1003945,
|
||||||
|
"Position": {
|
||||||
|
"X": 24.917969,
|
||||||
|
"Y": 13,
|
||||||
|
"Z": 50.156372
|
||||||
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
|
"TerritoryId": 141,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001739,
|
||||||
|
"Position": {
|
||||||
|
"X": -94.529724,
|
||||||
|
"Y": 6.4999976,
|
||||||
|
"Z": 39.81079
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_CLSGLA101_00288_Q1_000_160",
|
||||||
|
"Answer": "TEXT_CLSGLA101_00288_A1_000_161"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Gladiators' Guild"
|
||||||
|
],
|
||||||
|
"NextQuestId": 262
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -3,9 +3,10 @@
|
|||||||
"Author": "Cacahuetes",
|
"Author": "Cacahuetes",
|
||||||
"QuestSequence": [
|
"QuestSequence": [
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000895,
|
{
|
||||||
|
"DataId": 1000895,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -335.74432,
|
"X": -335.74432,
|
||||||
"Y": 12.899764,
|
"Y": 12.899764,
|
||||||
@ -39,4 +40,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,14 +5,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000926,
|
{
|
||||||
|
"DataId": 1000926,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -10.055725,
|
"X": -10.055725,
|
||||||
"Y": 44.999794,
|
"Y": 44.999794,
|
||||||
"Z": -245.80762
|
"Z": -245.80762
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Limsa Lominsa",
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
"AethernetShortcut": [
|
"AethernetShortcut": [
|
||||||
"[Limsa Lominsa] Aetheryte Plaza",
|
"[Limsa Lominsa] Aetheryte Plaza",
|
||||||
@ -22,7 +23,7 @@
|
|||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
"InTerritory": [
|
"InTerritory": [
|
||||||
129, 128
|
128
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -32,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSEXC001_00179_Q1_000_1",
|
"Prompt": "TEXT_CLSEXC001_00179_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,27 +5,30 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000926,
|
{
|
||||||
|
"DataId": 1000926,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -10.055725,
|
"X": -10.055725,
|
||||||
"Y": 44.999794,
|
"Y": 44.999794,
|
||||||
"Z": -245.80762
|
"Z": -245.80762
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1000927,
|
{
|
||||||
|
"DataId": 1000927,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -1.2055054,
|
"X": -1.2055054,
|
||||||
"Y": 44.999886,
|
"Y": 44.999886,
|
||||||
"Z": -255.8786
|
"Z": -255.8786
|
||||||
},
|
},
|
||||||
"TerritoryId": 128,
|
"TerritoryId": 128,
|
||||||
"InteractionType": "AcceptQuest",
|
"InteractionType": "CompleteQuest",
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
@ -39,4 +42,3 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5,17 +5,20 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002283,
|
{
|
||||||
|
"DataId": 1002283,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 134.90503,
|
"X": 134.90503,
|
||||||
"Y": 7.5919275,
|
"Y": 7.5919275,
|
||||||
"Z": 98.039185
|
"Z": 98.039185
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "AcceptQuest",
|
||||||
"AetheryteShortcut": "Ul'dah",
|
"AetheryteShortcut": "Ul'dah",
|
||||||
"AethernetShortcut": ["[Ul'dah] Aetheryte Plaza",
|
"AethernetShortcut": [
|
||||||
"[Ul'dah] Weavers' Guild"],
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Weavers' Guild"
|
||||||
|
],
|
||||||
"SkipConditions": {
|
"SkipConditions": {
|
||||||
"AetheryteShortcutIf": {
|
"AetheryteShortcutIf": {
|
||||||
"InSameTerritory": true,
|
"InSameTerritory": true,
|
||||||
@ -30,9 +33,9 @@
|
|||||||
"Prompt": "TEXT_CLSWVR001_00189_Q1_000_1",
|
"Prompt": "TEXT_CLSWVR001_00189_Q1_000_1",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
]}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -5,20 +5,23 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1002283,
|
{
|
||||||
|
"DataId": 1002283,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 134.90503,
|
"X": 134.90503,
|
||||||
"Y": 7.5919275,
|
"Y": 7.5919275,
|
||||||
"Z": 98.039185
|
"Z": 98.039185
|
||||||
},
|
},
|
||||||
"TerritoryId": 131,
|
"TerritoryId": 131,
|
||||||
"InteractionType": "AcceptQuest"}
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{ "DataId": 1003818,
|
{
|
||||||
|
"DataId": 1003818,
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": 157.36621,
|
"X": 157.36621,
|
||||||
"Y": 7.7920074,
|
"Y": 7.7920074,
|
||||||
@ -32,11 +35,9 @@
|
|||||||
"Prompt": "TEXT_CLSWVR011_00534_SYSTEM_Q0",
|
"Prompt": "TEXT_CLSWVR011_00534_SYSTEM_Q0",
|
||||||
"Yes": true
|
"Yes": true
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"NextQuestId": 534
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DataId": 1001285,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.77246,
|
||||||
|
"Y": 4.0411124,
|
||||||
|
"Z": -126.51257
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CHRHDB101_01204_Q1_000_1",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005709,
|
||||||
|
"Position": {
|
||||||
|
"X": -464.16425,
|
||||||
|
"Y": -26.945036,
|
||||||
|
"Z": 85.40466
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"Position": {
|
||||||
|
"X": -273.9414,
|
||||||
|
"Y": 9.756445,
|
||||||
|
"Z": 222.65837
|
||||||
|
},
|
||||||
|
"TerritoryId": 146,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "OverworldEnemies",
|
||||||
|
"KillEnemyDataIds": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005709,
|
||||||
|
"Position": {
|
||||||
|
"X": -464.16425,
|
||||||
|
"Y": -26.945036,
|
||||||
|
"Z": 85.40466
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005710,
|
||||||
|
"Position": {
|
||||||
|
"X": 4.4403076,
|
||||||
|
"Y": 7.2767544,
|
||||||
|
"Z": 885.55725
|
||||||
|
},
|
||||||
|
"TerritoryId": 146,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_CHRHDB101_01204_Q2_000_1",
|
||||||
|
"Answer": "TEXT_CHRHDB101_01204_Q2A2_000_2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1005711,
|
||||||
|
"Position": {
|
||||||
|
"X": 4.837097,
|
||||||
|
"Y": 7.4445505,
|
||||||
|
"Z": 884.70276
|
||||||
|
},
|
||||||
|
"TerritoryId": 146,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"DataId": 1004333,
|
||||||
|
"Position": {
|
||||||
|
"X": -101.854004,
|
||||||
|
"Y": 4.0131226,
|
||||||
|
"Z": -98.95477
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1004331,
|
||||||
|
"Position": {
|
||||||
|
"X": -20.096191,
|
||||||
|
"Y": 4.9999676,
|
||||||
|
"Z": -133.22656
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1001313,
|
||||||
|
"Position": {
|
||||||
|
"X": 16.372864,
|
||||||
|
"Y": 7.9999795,
|
||||||
|
"Z": -106.21808
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1001285,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.77246,
|
||||||
|
"Y": 4.0411124,
|
||||||
|
"Z": -126.51257
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,126 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DataId": 1001285,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.77246,
|
||||||
|
"Y": 4.0411124,
|
||||||
|
"Z": -126.51257
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Aetheryte Plaza",
|
||||||
|
"[Ul'dah] Weavers' Guild"
|
||||||
|
],
|
||||||
|
"DataId": 1001691,
|
||||||
|
"Position": {
|
||||||
|
"X": 142.16821,
|
||||||
|
"Y": 7.4920034,
|
||||||
|
"Z": 104.72266
|
||||||
|
},
|
||||||
|
"TerritoryId": 131,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Ul'dah] Weavers' Guild",
|
||||||
|
"[Ul'dah] Aetheryte Plaza"
|
||||||
|
],
|
||||||
|
"DataId": 1005713,
|
||||||
|
"Position": {
|
||||||
|
"X": -72.98395,
|
||||||
|
"Y": 3.9999995,
|
||||||
|
"Z": -113.02362
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1005716,
|
||||||
|
"Position": {
|
||||||
|
"X": -144.76239,
|
||||||
|
"Y": 12,
|
||||||
|
"Z": 0.99176025
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1005717,
|
||||||
|
"Position": {
|
||||||
|
"X": -147.17328,
|
||||||
|
"Y": 12,
|
||||||
|
"Z": -3.6469727
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003001,
|
||||||
|
"Position": {
|
||||||
|
"X": -144.79291,
|
||||||
|
"Y": 11.9782715,
|
||||||
|
"Z": -3.4943848
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "UseItem",
|
||||||
|
"ItemId": 2001126
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1005716,
|
||||||
|
"Position": {
|
||||||
|
"X": -144.76239,
|
||||||
|
"Y": 12,
|
||||||
|
"Z": 0.99176025
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,265 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Ul'dah",
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DataId": 1005721,
|
||||||
|
"Position": {
|
||||||
|
"X": -144.06049,
|
||||||
|
"Y": 12,
|
||||||
|
"Z": -5.5390625
|
||||||
|
},
|
||||||
|
"TerritoryId": 130,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005722,
|
||||||
|
"Position": {
|
||||||
|
"X": -550.4387,
|
||||||
|
"Y": -5.5688405,
|
||||||
|
"Z": -176.71478
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1004042,
|
||||||
|
"Position": {
|
||||||
|
"X": -568.4138,
|
||||||
|
"Y": 5.893569,
|
||||||
|
"Z": -221.27112
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1003940,
|
||||||
|
"Position": {
|
||||||
|
"X": -540.94763,
|
||||||
|
"Y": 4.134529,
|
||||||
|
"Z": -241.07733
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1003939,
|
||||||
|
"Position": {
|
||||||
|
"X": -540.09314,
|
||||||
|
"Y": 4.137387,
|
||||||
|
"Z": -240.98578
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005724,
|
||||||
|
"Position": {
|
||||||
|
"X": -490.44025,
|
||||||
|
"Y": 2.8072534,
|
||||||
|
"Z": -274.34198
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "UseItem",
|
||||||
|
"ItemId": 2001150
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 6,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 7,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 8,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 9,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1005727,
|
||||||
|
"Position": {
|
||||||
|
"X": -221.11853,
|
||||||
|
"Y": -37.79669,
|
||||||
|
"Z": 149.67566
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 10,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003006,
|
||||||
|
"Position": {
|
||||||
|
"X": -208.5451,
|
||||||
|
"Y": -37.9187,
|
||||||
|
"Z": 151.87305
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2003005,
|
||||||
|
"Position": {
|
||||||
|
"X": -220.87439,
|
||||||
|
"Y": -37.857666,
|
||||||
|
"Z": 166.0028
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2003004,
|
||||||
|
"Position": {
|
||||||
|
"X": -206.46985,
|
||||||
|
"Y": -37.644104,
|
||||||
|
"Z": 187.36548
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 11,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1005730,
|
||||||
|
"Position": {
|
||||||
|
"X": -222.49182,
|
||||||
|
"Y": -37.896374,
|
||||||
|
"Z": 159.3805
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1005731,
|
||||||
|
"Position": {
|
||||||
|
"X": -526.8788,
|
||||||
|
"Y": 5.404997,
|
||||||
|
"Z": -246.50952
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,173 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"SkipConditions": {"AetheryteShortcutIf": {"InSameTerritory": true}},
|
||||||
|
"DataId": 1005884,
|
||||||
|
"Position": {
|
||||||
|
"X": -526.26843,
|
||||||
|
"Y": 5.4049973,
|
||||||
|
"Z": -249.25616
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
|
||||||
|
"DataId": 1003931,
|
||||||
|
"Position": {
|
||||||
|
"X": -379.6292,
|
||||||
|
"Y": -55.85506,
|
||||||
|
"Z": 95.04846
|
||||||
|
},
|
||||||
|
"TerritoryId": 145,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western Thanalan - Horizon",
|
||||||
|
"Mount": true,
|
||||||
|
"DataId": 1008709,
|
||||||
|
"Position": {
|
||||||
|
"X": -431.7846,
|
||||||
|
"Y": 28.038658,
|
||||||
|
"Z": -383.1693
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western Thanalan - Horizon",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1008713,
|
||||||
|
"Position": {
|
||||||
|
"X": 108.99512,
|
||||||
|
"Y": 57.816406,
|
||||||
|
"Z": 12.191956
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1002022,
|
||||||
|
"Position": {
|
||||||
|
"X": 12.039368,
|
||||||
|
"Y": 22.144684,
|
||||||
|
"Z": 65.384766
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1008715,
|
||||||
|
"Position": {
|
||||||
|
"X": -69.90167,
|
||||||
|
"Y": 13.38208,
|
||||||
|
"Z": 158.73962
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003654,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.55884,
|
||||||
|
"Y": 13.809326,
|
||||||
|
"Z": 159.16675
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003658,
|
||||||
|
"Position": {
|
||||||
|
"X": -71.06128,
|
||||||
|
"Y": 13.443176,
|
||||||
|
"Z": 155.9624
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2003656,
|
||||||
|
"Position": {
|
||||||
|
"X": -72.95343,
|
||||||
|
"Y": 13.504211,
|
||||||
|
"Z": 159.19727
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2003659,
|
||||||
|
"Position": {
|
||||||
|
"X": -76.15784,
|
||||||
|
"Y": 13.443176,
|
||||||
|
"Z": 155.90137
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2003657,
|
||||||
|
"Position": {
|
||||||
|
"X": -80.18622,
|
||||||
|
"Y": 13.412659,
|
||||||
|
"Z": 158.12915
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008716,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.00946,
|
||||||
|
"Y": 13.443176,
|
||||||
|
"Z": 157.5188
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008716,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.00946,
|
||||||
|
"Y": 13.443176,
|
||||||
|
"Z": 157.5188
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Northern Thanalan - Camp Bluefog",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 2003664,
|
||||||
|
"Position": {
|
||||||
|
"X": 11.337402,
|
||||||
|
"Y": 2.670288,
|
||||||
|
"Z": 320.943
|
||||||
|
},
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"DataId": 2003665,
|
||||||
|
"Position": {
|
||||||
|
"X": 34.50061,
|
||||||
|
"Y": 12.191956,
|
||||||
|
"Z": 254.13892
|
||||||
|
},
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"DataId": 2003666,
|
||||||
|
"Position": {
|
||||||
|
"X": 111.192505,
|
||||||
|
"Y": 19.424683,
|
||||||
|
"Z": 121.20239
|
||||||
|
},
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008722,
|
||||||
|
"Position": {
|
||||||
|
"X": 109.7887,
|
||||||
|
"Y": 18.36741,
|
||||||
|
"Z": 121.72119
|
||||||
|
},
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003667,
|
||||||
|
"Position": {
|
||||||
|
"X": 139.48267,
|
||||||
|
"Y": 20.279175,
|
||||||
|
"Z": 102.92212
|
||||||
|
},
|
||||||
|
"TerritoryId": 147,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western Thanalan - Horizon",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1008730,
|
||||||
|
"Position": {
|
||||||
|
"X": -431.26575,
|
||||||
|
"Y": 28.038658,
|
||||||
|
"Z": -381.4298
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008735,
|
||||||
|
"Position": {
|
||||||
|
"X": -420.2793,
|
||||||
|
"Y": 23.113977,
|
||||||
|
"Z": -367.17786
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008736,
|
||||||
|
"Position": {
|
||||||
|
"X": -418.44818,
|
||||||
|
"Y": 23.113976,
|
||||||
|
"Z": -367.8188
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1008739,
|
||||||
|
"Position": {
|
||||||
|
"X": 176.71472,
|
||||||
|
"Y": 222.1357,
|
||||||
|
"Z": 347.219
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008741,
|
||||||
|
"Position": {
|
||||||
|
"X": 249.50024,
|
||||||
|
"Y": 222.36392,
|
||||||
|
"Z": 353.6278
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008746,
|
||||||
|
"Position": {
|
||||||
|
"X": 261.46326,
|
||||||
|
"Y": 222.27127,
|
||||||
|
"Z": 320.2411
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"DataId": 2003741,
|
||||||
|
"Position": {
|
||||||
|
"X": 394.7965,
|
||||||
|
"Y": 225.0553,
|
||||||
|
"Z": 378.80518
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"DataId": 1008752,
|
||||||
|
"Position": {
|
||||||
|
"X": 487.81555,
|
||||||
|
"Y": 206.95914,
|
||||||
|
"Z": 479.69775
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 6,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2003671,
|
||||||
|
"Position": {
|
||||||
|
"X": 489.181,
|
||||||
|
"Y": 206.8937,
|
||||||
|
"Z": 479.662
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Duty",
|
||||||
|
"ContentFinderConditionId": 76
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 7,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1008756,
|
||||||
|
"Position": {
|
||||||
|
"X": 480.12512,
|
||||||
|
"Y": 207.33582,
|
||||||
|
"Z": 475.33374
|
||||||
|
},
|
||||||
|
"TerritoryId": 155,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western Thanalan - Horizon",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1008788,
|
||||||
|
"Position": {
|
||||||
|
"X": -421.46948,
|
||||||
|
"Y": 23.113977,
|
||||||
|
"Z": -367.57465
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,154 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western Thanalan - Horizon",
|
||||||
|
"SkipConditions": {
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"InSameTerritory": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DataId": 1008757,
|
||||||
|
"Position": {
|
||||||
|
"X": -422.5376,
|
||||||
|
"Y": 23.113976,
|
||||||
|
"Z": -367.7882
|
||||||
|
},
|
||||||
|
"TerritoryId": 140,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1009305,
|
||||||
|
"Position": {
|
||||||
|
"X": 562.4321,
|
||||||
|
"Y": 17.654663,
|
||||||
|
"Z": 421.7135
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009307,
|
||||||
|
"Position": {
|
||||||
|
"X": 498.89368,
|
||||||
|
"Y": 10.079935,
|
||||||
|
"Z": 418.265
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_CHRHDB301_01438_Q1_000_000",
|
||||||
|
"Answer": "TEXT_CHRHDB301_01438_A1_000_030"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_CHRHDB301_01438_Q2_000_000",
|
||||||
|
"Answer": "TEXT_CHRHDB301_01438_A2_000_030"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1009310,
|
||||||
|
"Position": {
|
||||||
|
"X": 471.18323,
|
||||||
|
"Y": 9.96334,
|
||||||
|
"Z": 794.6135
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
|
||||||
|
"DataId": 1009308,
|
||||||
|
"Position": {
|
||||||
|
"X": 560.32654,
|
||||||
|
"Y": 17.707417,
|
||||||
|
"Z": 421.01147
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009311,
|
||||||
|
"Position": {
|
||||||
|
"X": 531.2123,
|
||||||
|
"Y": 17.448051,
|
||||||
|
"Z": 454.1847
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 6,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009317,
|
||||||
|
"Position": {
|
||||||
|
"X": 583.88635,
|
||||||
|
"Y": 14.587067,
|
||||||
|
"Z": 394.70508
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2004317,
|
||||||
|
"Position": {
|
||||||
|
"X": 515.98376,
|
||||||
|
"Y": 9.384277,
|
||||||
|
"Z": 525.81055
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009326,
|
||||||
|
"Position": {
|
||||||
|
"X": 526.2073,
|
||||||
|
"Y": 8.84578,
|
||||||
|
"Z": 556.54236
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009328,
|
||||||
|
"Position": {
|
||||||
|
"X": 515.0376,
|
||||||
|
"Y": 9.192075,
|
||||||
|
"Z": 524.834
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009319,
|
||||||
|
"Position": {
|
||||||
|
"X": 581.3534,
|
||||||
|
"Y": 14.587067,
|
||||||
|
"Z": 395.8037
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Limsa Lominsa",
|
||||||
|
"DataId": 1001023,
|
||||||
|
"Position": {
|
||||||
|
"X": -78.62976,
|
||||||
|
"Y": 18.000334,
|
||||||
|
"Z": -22.62915
|
||||||
|
},
|
||||||
|
"TerritoryId": 129,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Western La Noscea - Aleport",
|
||||||
|
"DataId": 1009331,
|
||||||
|
"Position": {
|
||||||
|
"X": 311.54346,
|
||||||
|
"Y": -36.405907,
|
||||||
|
"Z": 344.71655
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,148 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009331,
|
||||||
|
"Position": {
|
||||||
|
"X": 311.54346,
|
||||||
|
"Y": -36.405907,
|
||||||
|
"Z": 344.71655
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "YesNo",
|
||||||
|
"Prompt": "TEXT_CHRHDB303_01440_Q1_000_010",
|
||||||
|
"Yes": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 2004324,
|
||||||
|
"Position": {
|
||||||
|
"X": -283.0091,
|
||||||
|
"Y": -40.634766,
|
||||||
|
"Z": 425.58936
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2004325,
|
||||||
|
"Position": {
|
||||||
|
"X": -242.60321,
|
||||||
|
"Y": -38.68164,
|
||||||
|
"Z": 514.7324
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 2004326,
|
||||||
|
"Position": {
|
||||||
|
"X": -291.06586,
|
||||||
|
"Y": -38.07129,
|
||||||
|
"Z": 596.765
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Comment": "Commence \"The Mandragoras\"",
|
||||||
|
"DataId": 1009335,
|
||||||
|
"Position": {
|
||||||
|
"X": -256.70258,
|
||||||
|
"Y": -40.18569,
|
||||||
|
"Z": 684.1992
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Comment": "Fight some Mandragoras",
|
||||||
|
"Position": {
|
||||||
|
"X": -256.70258,
|
||||||
|
"Y": -40.18569,
|
||||||
|
"Z": 684.1992
|
||||||
|
},
|
||||||
|
"TerritoryId": 138,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "OverworldEnemies",
|
||||||
|
"KillEnemyDataIds": [
|
||||||
|
2950,
|
||||||
|
2951,
|
||||||
|
2952,
|
||||||
|
2953,
|
||||||
|
2954
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
|
||||||
|
"DataId": 1009319,
|
||||||
|
"Position": {
|
||||||
|
"X": 581.3534,
|
||||||
|
"Y": 14.587067,
|
||||||
|
"Z": 395.8037
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Mount": true,
|
||||||
|
"Fly": true,
|
||||||
|
"DataId": 1009336,
|
||||||
|
"Position": {
|
||||||
|
"X": 494.49902,
|
||||||
|
"Y": 11.323204,
|
||||||
|
"Z": 210.3761
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern La Noscea - Wineport",
|
||||||
|
"DataId": 1009337,
|
||||||
|
"Position": {
|
||||||
|
"X": -46.860474,
|
||||||
|
"Y": 75.95114,
|
||||||
|
"Z": 10.879639
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "FalconTaterz",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009341,
|
||||||
|
"Position": {
|
||||||
|
"X": -48.44745,
|
||||||
|
"Y": 75.95115,
|
||||||
|
"Z": 9.079041
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
|
||||||
|
"DataId": 1009351,
|
||||||
|
"Position": {
|
||||||
|
"X": 524.28467,
|
||||||
|
"Y": 17.448048,
|
||||||
|
"Z": 449.08826
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009347,
|
||||||
|
"Position": {
|
||||||
|
"X": 442.77087,
|
||||||
|
"Y": 15.823447,
|
||||||
|
"Z": 375.17358
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009348,
|
||||||
|
"Position": {
|
||||||
|
"X": 386.19055,
|
||||||
|
"Y": 29.58076,
|
||||||
|
"Z": 350.3623
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1009345,
|
||||||
|
"Position": {
|
||||||
|
"X": 523.76587,
|
||||||
|
"Y": 17.448044,
|
||||||
|
"Z": 447.13513
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2004328,
|
||||||
|
"Position": {
|
||||||
|
"X": 523.4607,
|
||||||
|
"Y": 17.837708,
|
||||||
|
"Z": 455.2528
|
||||||
|
},
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TerritoryId": 137,
|
||||||
|
"InteractionType": "CompleteQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -88,7 +88,14 @@
|
|||||||
"TerritoryId": 814,
|
"TerritoryId": 814,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "Interact",
|
||||||
"AetheryteShortcut": "Kholusia - Wright",
|
"AetheryteShortcut": "Kholusia - Wright",
|
||||||
"Fly": true
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_BANPIX002_03684_Q1_000_000",
|
||||||
|
"Answer": "TEXT_BANPIX002_03684_A1_000_001"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -102,7 +102,8 @@
|
|||||||
"Z": 342.85498
|
"Z": 342.85498
|
||||||
},
|
},
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "CompleteQuest"
|
"InteractionType": "CompleteQuest",
|
||||||
|
"Mount": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,15 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 1,
|
"Sequence": 1,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 323.5058,
|
||||||
|
"Y": -16.330368,
|
||||||
|
"Z": -254.18399
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "WalkTo"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1050656,
|
"DataId": 1050656,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -28,7 +28,8 @@
|
|||||||
"Z": 427.2068
|
"Z": 427.2068
|
||||||
},
|
},
|
||||||
"TerritoryId": 1190,
|
"TerritoryId": 1190,
|
||||||
"InteractionType": "Interact"
|
"InteractionType": "Interact",
|
||||||
|
"Mount": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -50,6 +51,27 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 3,
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 369.3906,
|
||||||
|
"Y": 5.9371996,
|
||||||
|
"Z": 417.16574
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Shaaloani Hhusatahwi Saloon Stairs (top)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 359.11545,
|
||||||
|
"Y": 1.9823306,
|
||||||
|
"Z": 419.5714
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Shaaloani Hhusatahwi Saloon Stairs (bottom)",
|
||||||
|
"DisableNavmesh": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1051286,
|
"DataId": 1051286,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -174,6 +174,17 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2013948,
|
||||||
|
"Position": {
|
||||||
|
"X": 610.7728,
|
||||||
|
"Y": 9.597839,
|
||||||
|
"Z": 233.05103
|
||||||
|
},
|
||||||
|
"TerritoryId": 1189,
|
||||||
|
"InteractionType": "AttuneAetherCurrent",
|
||||||
|
"AetherCurrentId": 2818440
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1051073,
|
"DataId": 1051073,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -151,13 +151,21 @@
|
|||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
{
|
||||||
"Position": {
|
"Position": {
|
||||||
"X": -510.96463,
|
"X": -510.37933,
|
||||||
"Y": -0.47684515,
|
"Y": -0.39999998,
|
||||||
"Z": -305.96155
|
"Z": -277.78192
|
||||||
},
|
},
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "WalkTo",
|
"InteractionType": "WalkTo"
|
||||||
"Comment": "Waypoint after swimming through the river"
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": -521.0261,
|
||||||
|
"Y": -0.40000004,
|
||||||
|
"Z": -329.19336
|
||||||
|
},
|
||||||
|
"TerritoryId": 1188,
|
||||||
|
"InteractionType": "WalkTo"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"DataId": 2013936,
|
"DataId": 2013936,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
"Y": 9.773315,
|
"Y": 9.773315,
|
||||||
"Z": -533.135
|
"Z": -533.135
|
||||||
},
|
},
|
||||||
"StopDistance": 5,
|
"StopDistance": 7,
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "AcceptQuest"
|
"InteractionType": "AcceptQuest"
|
||||||
}
|
}
|
||||||
@ -135,6 +135,28 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1048782,
|
||||||
|
"Position": {
|
||||||
|
"X": -68.52832,
|
||||||
|
"Y": 6.536739,
|
||||||
|
"Z": -486.53394
|
||||||
|
},
|
||||||
|
"TerritoryId": 1188,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5064
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1051237,
|
||||||
|
"Position": {
|
||||||
|
"X": -251.20929,
|
||||||
|
"Y": 5.5572896,
|
||||||
|
"Z": -554.89435
|
||||||
|
},
|
||||||
|
"TerritoryId": 1188,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5081
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046537,
|
"DataId": 1046537,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -21,6 +21,11 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 1,
|
"Sequence": 1,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"TerritoryId": 1187,
|
||||||
|
"InteractionType": "AttuneAetheryte",
|
||||||
|
"Aetheryte": "Urqopacha - Wachunpelo"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046557,
|
"DataId": 1046557,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -39,11 +44,6 @@
|
|||||||
128
|
128
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"TerritoryId": 1187,
|
|
||||||
"InteractionType": "AttuneAetheryte",
|
|
||||||
"Aetheryte": "Urqopacha - Wachunpelo"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"DataId": 1046559,
|
"DataId": 1046559,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -52,6 +52,30 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 255,
|
"Sequence": 255,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1050684,
|
||||||
|
"Position": {
|
||||||
|
"X": 391.37854,
|
||||||
|
"Y": -156.07434,
|
||||||
|
"Z": -388.50995
|
||||||
|
},
|
||||||
|
"TerritoryId": 1187,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5039,
|
||||||
|
"Comment": "Traveler to the Rescue"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1051195,
|
||||||
|
"Position": {
|
||||||
|
"X": 383.29138,
|
||||||
|
"Y": -154.50243,
|
||||||
|
"Z": -420.49292
|
||||||
|
},
|
||||||
|
"TerritoryId": 1187,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5051,
|
||||||
|
"Comment": "Crisis of Corruption"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046537,
|
"DataId": 1046537,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -100,7 +100,7 @@
|
|||||||
"Y": -19.725424,
|
"Y": -19.725424,
|
||||||
"Z": 203.72314
|
"Z": 203.72314
|
||||||
},
|
},
|
||||||
"StopDistance": 5,
|
"StopDistance": 7,
|
||||||
"TerritoryId": 1185,
|
"TerritoryId": 1185,
|
||||||
"InteractionType": "CompleteQuest"
|
"InteractionType": "CompleteQuest"
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"Y": -19.725424,
|
"Y": -19.725424,
|
||||||
"Z": 203.72314
|
"Z": 203.72314
|
||||||
},
|
},
|
||||||
|
"StopDistance": 7,
|
||||||
"TerritoryId": 1185,
|
"TerritoryId": 1185,
|
||||||
"InteractionType": "AcceptQuest"
|
"InteractionType": "AcceptQuest"
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,28 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 3,
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1051263,
|
||||||
|
"Position": {
|
||||||
|
"X": -521.0193,
|
||||||
|
"Y": 121.63345,
|
||||||
|
"Z": 319.38647
|
||||||
|
},
|
||||||
|
"TerritoryId": 1188,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5085
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1048855,
|
||||||
|
"Position": {
|
||||||
|
"X": -491.63043,
|
||||||
|
"Y": 121.63846,
|
||||||
|
"Z": 271.50366
|
||||||
|
},
|
||||||
|
"TerritoryId": 1188,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5074
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046876,
|
"DataId": 1046876,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
"Y": 119.49004,
|
"Y": 119.49004,
|
||||||
"Z": 190.72253
|
"Z": 190.72253
|
||||||
},
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "AcceptQuest"
|
"InteractionType": "AcceptQuest"
|
||||||
}
|
}
|
||||||
@ -29,7 +30,8 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "Interact",
|
||||||
"AetheryteShortcut": "Kozama'uka - Earthenshire"
|
"AetheryteShortcut": "Kozama'uka - Earthenshire",
|
||||||
|
"Fly": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -44,7 +46,8 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 1188,
|
"TerritoryId": 1188,
|
||||||
"InteractionType": "WalkTo",
|
"InteractionType": "WalkTo",
|
||||||
"TargetTerritoryId": 1187
|
"TargetTerritoryId": 1187,
|
||||||
|
"Fly": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046814,
|
"DataId": 1046814,
|
||||||
|
@ -21,6 +21,30 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 1,
|
"Sequence": 1,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1051207,
|
||||||
|
"Position": {
|
||||||
|
"X": 425.07043,
|
||||||
|
"Y": 118.935005,
|
||||||
|
"Z": 606.13403
|
||||||
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
|
"TerritoryId": 1187,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5055
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1048730,
|
||||||
|
"Position": {
|
||||||
|
"X": 399.0692,
|
||||||
|
"Y": 122.53533,
|
||||||
|
"Z": 542.9922
|
||||||
|
},
|
||||||
|
"StopDistance": 5,
|
||||||
|
"TerritoryId": 1187,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5047
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1046926,
|
"DataId": 1046926,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -21,6 +21,36 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 1,
|
"Sequence": 1,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1050872,
|
||||||
|
"Position": {
|
||||||
|
"X": -408.71295,
|
||||||
|
"Y": 20.420113,
|
||||||
|
"Z": -398.8861
|
||||||
|
},
|
||||||
|
"TerritoryId": 1189,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"ExcelSheet": "quest/051/KinGzd201_05110",
|
||||||
|
"Prompt": "TEXT_KINGZD201_05110_Q1_000_000",
|
||||||
|
"Answer": "TEXT_KINGZD201_05110_A1_000_001"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PickUpQuestId": 5110
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1051073,
|
||||||
|
"Position": {
|
||||||
|
"X": 41.09253,
|
||||||
|
"Y": 8.205902,
|
||||||
|
"Z": -629.8467
|
||||||
|
},
|
||||||
|
"TerritoryId": 1189,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5094
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1047577,
|
"DataId": 1047577,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -36,28 +66,6 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 2,
|
"Sequence": 2,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
{
|
|
||||||
"DataId": 2013948,
|
|
||||||
"Position": {
|
|
||||||
"X": 610.7728,
|
|
||||||
"Y": 9.597839,
|
|
||||||
"Z": 233.05103
|
|
||||||
},
|
|
||||||
"TerritoryId": 1189,
|
|
||||||
"InteractionType": "AttuneAetherCurrent",
|
|
||||||
"AetherCurrentId": 2818440
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Position": {
|
|
||||||
"X": 614.25964,
|
|
||||||
"Y": -29.554798,
|
|
||||||
"Z": 202.75368
|
|
||||||
},
|
|
||||||
"TerritoryId": 1189,
|
|
||||||
"InteractionType": "WalkTo",
|
|
||||||
"DisableNavmesh": true,
|
|
||||||
"Mount": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"DataId": 1048230,
|
"DataId": 1048230,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -66,8 +74,7 @@
|
|||||||
"Z": 214.83167
|
"Z": 214.83167
|
||||||
},
|
},
|
||||||
"TerritoryId": 1189,
|
"TerritoryId": 1189,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "Interact"
|
||||||
"DisableNavmesh": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -24,6 +24,28 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 1,
|
"Sequence": 1,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1051052,
|
||||||
|
"Position": {
|
||||||
|
"X": 585.90063,
|
||||||
|
"Y": -142.49187,
|
||||||
|
"Z": 510.21594
|
||||||
|
},
|
||||||
|
"TerritoryId": 1189,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5103
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1050884,
|
||||||
|
"Position": {
|
||||||
|
"X": 531.0597,
|
||||||
|
"Y": -142.49185,
|
||||||
|
"Z": 492.0271
|
||||||
|
},
|
||||||
|
"TerritoryId": 1189,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5114
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1047701,
|
"DataId": 1047701,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -52,6 +52,62 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 3,
|
"Sequence": 3,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1050655,
|
||||||
|
"Position": {
|
||||||
|
"X": 289.02112,
|
||||||
|
"Y": -15.566031,
|
||||||
|
"Z": -478.78235
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5138
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 386.84927,
|
||||||
|
"Y": -0.84392637,
|
||||||
|
"Z": 435.0579
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"AetheryteShortcut": "Shaaloani - Hhusatahwi",
|
||||||
|
"SkipConditions": {
|
||||||
|
"StepIf": {
|
||||||
|
"QuestsCompleted": [
|
||||||
|
5140
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"AetheryteShortcutIf": {
|
||||||
|
"QuestsCompleted": [
|
||||||
|
5140
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1051283,
|
||||||
|
"Position": {
|
||||||
|
"X": 374.19702,
|
||||||
|
"Y": -0.24794838,
|
||||||
|
"Z": 437.2472
|
||||||
|
},
|
||||||
|
"StopDistance": 6,
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5140
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1049324,
|
||||||
|
"Position": {
|
||||||
|
"X": -108.659546,
|
||||||
|
"Y": 4.055336,
|
||||||
|
"Z": 319.5697
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5130
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1047001,
|
"DataId": 1047001,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -61,6 +117,7 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 1190,
|
"TerritoryId": 1190,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "Interact",
|
||||||
|
"AetheryteShortcut": "Shaaloani - Sheshenewezi Springs",
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "YesNo",
|
"Type": "YesNo",
|
||||||
|
@ -161,6 +161,17 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 7,
|
"Sequence": 7,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1051316,
|
||||||
|
"Position": {
|
||||||
|
"X": -380.30066,
|
||||||
|
"Y": 18.718708,
|
||||||
|
"Z": -114.24432
|
||||||
|
},
|
||||||
|
"TerritoryId": 1190,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"PickUpQuestId": 5144
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1047082,
|
"DataId": 1047082,
|
||||||
"Position": {
|
"Position": {
|
||||||
|
@ -234,13 +234,13 @@
|
|||||||
"QuestsAccepted": {
|
"QuestsAccepted": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"type": "number"
|
"type": ["number", "string"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"QuestsCompleted": {
|
"QuestsCompleted": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"type": "number"
|
"type": ["number", "string"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AetheryteLocked": {
|
"AetheryteLocked": {
|
||||||
@ -290,6 +290,18 @@
|
|||||||
"type": "integer"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"QuestsAccepted": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": ["number", "string"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"QuestsCompleted": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": ["number", "string"]
|
||||||
|
}
|
||||||
|
},
|
||||||
"AetheryteLocked": {
|
"AetheryteLocked": {
|
||||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||||
},
|
},
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace Questionable.Model.Questing.Converter;
|
||||||
|
|
||||||
|
public sealed class ElementIdListConverter : JsonConverter<List<ElementId>>
|
||||||
|
{
|
||||||
|
public override List<ElementId> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||||
|
{
|
||||||
|
if (reader.TokenType != JsonTokenType.StartArray)
|
||||||
|
throw new JsonException();
|
||||||
|
|
||||||
|
reader.Read();
|
||||||
|
|
||||||
|
List<ElementId> values = [];
|
||||||
|
while (reader.TokenType != JsonTokenType.EndArray)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (reader.TokenType == JsonTokenType.Number)
|
||||||
|
values.Add(new QuestId(reader.GetUInt16()));
|
||||||
|
else
|
||||||
|
values.Add(ElementId.FromString(reader.GetString() ?? throw new JsonException()));
|
||||||
|
|
||||||
|
reader.Read();
|
||||||
|
}
|
||||||
|
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Write(Utf8JsonWriter writer, List<ElementId> value, JsonSerializerOptions options)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
using Questionable.Model.Common;
|
using Questionable.Model.Common;
|
||||||
|
using Questionable.Model.Questing.Converter;
|
||||||
|
|
||||||
namespace Questionable.Model.Questing;
|
namespace Questionable.Model.Questing;
|
||||||
|
|
||||||
@ -8,6 +10,13 @@ public sealed class SkipAetheryteCondition
|
|||||||
public bool Never { get; set; }
|
public bool Never { get; set; }
|
||||||
public bool InSameTerritory { get; set; }
|
public bool InSameTerritory { get; set; }
|
||||||
public List<ushort> InTerritory { get; set; } = new();
|
public List<ushort> InTerritory { get; set; } = new();
|
||||||
|
|
||||||
|
[JsonConverter(typeof(ElementIdListConverter))]
|
||||||
|
public List<ElementId> QuestsAccepted { get; set; } = new();
|
||||||
|
|
||||||
|
[JsonConverter(typeof(ElementIdListConverter))]
|
||||||
|
public List<ElementId> QuestsCompleted { get; set; } = new();
|
||||||
|
|
||||||
public EAetheryteLocation? AetheryteLocked { get; set; }
|
public EAetheryteLocation? AetheryteLocked { get; set; }
|
||||||
public EAetheryteLocation? AetheryteUnlocked { get; set; }
|
public EAetheryteLocation? AetheryteUnlocked { get; set; }
|
||||||
public bool RequiredQuestVariablesNotMet { get; set; }
|
public bool RequiredQuestVariablesNotMet { get; set; }
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
using Questionable.Model.Common;
|
using Questionable.Model.Common;
|
||||||
|
using Questionable.Model.Questing.Converter;
|
||||||
|
|
||||||
namespace Questionable.Model.Questing;
|
namespace Questionable.Model.Questing;
|
||||||
|
|
||||||
@ -14,8 +16,13 @@ public sealed class SkipStepConditions
|
|||||||
public List<ushort> InTerritory { get; set; } = new();
|
public List<ushort> InTerritory { get; set; } = new();
|
||||||
public List<ushort> NotInTerritory { get; set; } = new();
|
public List<ushort> NotInTerritory { get; set; } = new();
|
||||||
public SkipItemConditions? Item { get; set; }
|
public SkipItemConditions? Item { get; set; }
|
||||||
|
|
||||||
|
[JsonConverter(typeof(ElementIdListConverter))]
|
||||||
public List<ElementId> QuestsAccepted { get; set; } = new();
|
public List<ElementId> QuestsAccepted { get; set; } = new();
|
||||||
|
|
||||||
|
[JsonConverter(typeof(ElementIdListConverter))]
|
||||||
public List<ElementId> QuestsCompleted { get; set; } = new();
|
public List<ElementId> QuestsCompleted { get; set; } = new();
|
||||||
|
|
||||||
public EAetheryteLocation? AetheryteLocked { get; set; }
|
public EAetheryteLocation? AetheryteLocked { get; set; }
|
||||||
public EAetheryteLocation? AetheryteUnlocked { get; set; }
|
public EAetheryteLocation? AetheryteUnlocked { get; set; }
|
||||||
public NearPositionCondition? NearPosition { get; set; }
|
public NearPositionCondition? NearPosition { get; set; }
|
||||||
|
@ -138,6 +138,8 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public QuestProgress? PendingQuest => _pendingQuest;
|
public QuestProgress? PendingQuest => _pendingQuest;
|
||||||
|
|
||||||
|
public List<Quest> ManualPriorityQuests { get; } = [];
|
||||||
|
|
||||||
public string? DebugState { get; private set; }
|
public string? DebugState { get; private set; }
|
||||||
|
|
||||||
public void Reload()
|
public void Reload()
|
||||||
@ -291,7 +293,13 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
(ElementId? currentQuestId, currentSequence) = _questFunctions.GetCurrentQuest();
|
(ElementId? currentQuestId, currentSequence) =
|
||||||
|
ManualPriorityQuests
|
||||||
|
.Where(x => _questFunctions.IsReadyToAcceptQuest(x.Id) || _questFunctions.IsQuestAccepted(x.Id))
|
||||||
|
.Select(x =>
|
||||||
|
((ElementId?, byte)?)(x.Id, _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0))
|
||||||
|
.FirstOrDefault() ??
|
||||||
|
_questFunctions.GetCurrentQuest();
|
||||||
if (currentQuestId == null || currentQuestId.Value == 0)
|
if (currentQuestId == null || currentQuestId.Value == 0)
|
||||||
{
|
{
|
||||||
if (_startedQuest != null)
|
if (_startedQuest != null)
|
||||||
@ -719,6 +727,9 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
|
|||||||
if (type != ECurrentQuestType.Normal)
|
if (type != ECurrentQuestType.Normal)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (currentQuest.Quest.Info.AlliedSociety != EAlliedSociety.None)
|
||||||
|
return false;
|
||||||
|
|
||||||
QuestSequence? currentSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence);
|
QuestSequence? currentSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence);
|
||||||
if (currentQuest.Step > 0)
|
if (currentQuest.Step > 0)
|
||||||
return false;
|
return false;
|
||||||
|
@ -29,7 +29,7 @@ internal static class Mount
|
|||||||
|
|
||||||
public ITask Unmount()
|
public ITask Unmount()
|
||||||
{
|
{
|
||||||
return new UnmountTask(condition, loggerFactory.CreateLogger<UnmountTask>(), gameFunctions);
|
return new UnmountTask(condition, loggerFactory.CreateLogger<UnmountTask>(), gameFunctions, clientState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +119,11 @@ internal static class Mount
|
|||||||
public override string ToString() => "Mount";
|
public override string ToString() => "Mount";
|
||||||
}
|
}
|
||||||
|
|
||||||
private sealed class UnmountTask(ICondition condition, ILogger<UnmountTask> logger, GameFunctions gameFunctions)
|
private sealed class UnmountTask(
|
||||||
|
ICondition condition,
|
||||||
|
ILogger<UnmountTask> logger,
|
||||||
|
GameFunctions gameFunctions,
|
||||||
|
IClientState clientState)
|
||||||
: ITask
|
: ITask
|
||||||
{
|
{
|
||||||
private bool _unmountTriggered;
|
private bool _unmountTriggered;
|
||||||
@ -148,6 +152,9 @@ internal static class Mount
|
|||||||
if (_continueAt >= DateTime.Now)
|
if (_continueAt >= DateTime.Now)
|
||||||
return ETaskResult.StillRunning;
|
return ETaskResult.StillRunning;
|
||||||
|
|
||||||
|
if (IsUnmounting())
|
||||||
|
return ETaskResult.StillRunning;
|
||||||
|
|
||||||
if (!_unmountTriggered)
|
if (!_unmountTriggered)
|
||||||
{
|
{
|
||||||
// if still flying, we still need to land
|
// if still flying, we still need to land
|
||||||
@ -172,6 +179,8 @@ internal static class Mount
|
|||||||
: ETaskResult.TaskComplete;
|
: ETaskResult.TaskComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private unsafe bool IsUnmounting() => **(byte**)(clientState.LocalPlayer!.Address + 1432) == 1;
|
||||||
|
|
||||||
public override string ToString() => "Unmount";
|
public override string ToString() => "Unmount";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ internal static class Combat
|
|||||||
ArgumentNullException.ThrowIfNull(step.DataId);
|
ArgumentNullException.ThrowIfNull(step.DataId);
|
||||||
|
|
||||||
yield return interactFactory.Interact(step.DataId.Value, quest, EInteractionType.None, true);
|
yield return interactFactory.Interact(step.DataId.Value, quest, EInteractionType.None, true);
|
||||||
|
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
|
||||||
yield return CreateTask(quest, sequence, step);
|
yield return CreateTask(quest, sequence, step);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -52,11 +53,15 @@ internal static class Combat
|
|||||||
|
|
||||||
yield return useItemFactory.OnObject(quest.Id, step.DataId.Value, step.ItemId.Value,
|
yield return useItemFactory.OnObject(quest.Id, step.DataId.Value, step.ItemId.Value,
|
||||||
step.CompletionQuestVariablesFlags, true);
|
step.CompletionQuestVariablesFlags, true);
|
||||||
|
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
|
||||||
yield return CreateTask(quest, sequence, step);
|
yield return CreateTask(quest, sequence, step);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case EEnemySpawnType.AutoOnEnterArea:
|
case EEnemySpawnType.AutoOnEnterArea:
|
||||||
|
if (step.CombatDelaySecondsAtStart == null)
|
||||||
|
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
|
||||||
|
|
||||||
// automatically triggered when entering area, i.e. only unmount
|
// automatically triggered when entering area, i.e. only unmount
|
||||||
yield return CreateTask(quest, sequence, step);
|
yield return CreateTask(quest, sequence, step);
|
||||||
break;
|
break;
|
||||||
|
@ -24,6 +24,7 @@ internal static class AethernetShortcut
|
|||||||
MovementController movementController,
|
MovementController movementController,
|
||||||
AetheryteFunctions aetheryteFunctions,
|
AetheryteFunctions aetheryteFunctions,
|
||||||
GameFunctions gameFunctions,
|
GameFunctions gameFunctions,
|
||||||
|
QuestFunctions questFunctions,
|
||||||
IClientState clientState,
|
IClientState clientState,
|
||||||
AetheryteData aetheryteData,
|
AetheryteData aetheryteData,
|
||||||
TerritoryData territoryData,
|
TerritoryData territoryData,
|
||||||
@ -46,8 +47,8 @@ internal static class AethernetShortcut
|
|||||||
public ITask Use(EAetheryteLocation from, EAetheryteLocation to, SkipAetheryteCondition? skipConditions = null)
|
public ITask Use(EAetheryteLocation from, EAetheryteLocation to, SkipAetheryteCondition? skipConditions = null)
|
||||||
{
|
{
|
||||||
return new UseAethernetShortcut(from, to, skipConditions ?? new(),
|
return new UseAethernetShortcut(from, to, skipConditions ?? new(),
|
||||||
loggerFactory.CreateLogger<UseAethernetShortcut>(), aetheryteFunctions, gameFunctions, clientState,
|
loggerFactory.CreateLogger<UseAethernetShortcut>(), aetheryteFunctions, gameFunctions, questFunctions,
|
||||||
aetheryteData, territoryData, lifestreamIpc, movementController, condition);
|
clientState, aetheryteData, territoryData, lifestreamIpc, movementController, condition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,6 +59,7 @@ internal static class AethernetShortcut
|
|||||||
ILogger<UseAethernetShortcut> logger,
|
ILogger<UseAethernetShortcut> logger,
|
||||||
AetheryteFunctions aetheryteFunctions,
|
AetheryteFunctions aetheryteFunctions,
|
||||||
GameFunctions gameFunctions,
|
GameFunctions gameFunctions,
|
||||||
|
QuestFunctions questFunctions,
|
||||||
IClientState clientState,
|
IClientState clientState,
|
||||||
AetheryteData aetheryteData,
|
AetheryteData aetheryteData,
|
||||||
TerritoryData territoryData,
|
TerritoryData territoryData,
|
||||||
@ -90,6 +92,20 @@ internal static class AethernetShortcut
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (skipConditions.QuestsCompleted.Count > 0 &&
|
||||||
|
skipConditions.QuestsCompleted.All(questFunctions.IsQuestComplete))
|
||||||
|
{
|
||||||
|
logger.LogInformation("Skipping aethernet shortcut, all prequisite quests are complete");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skipConditions.QuestsAccepted.Count > 0 &&
|
||||||
|
skipConditions.QuestsAccepted.All(questFunctions.IsQuestAccepted))
|
||||||
|
{
|
||||||
|
logger.LogInformation("Skipping aethernet shortcut, all prequisite quests are accepted");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (skipConditions.AetheryteLocked != null &&
|
if (skipConditions.AetheryteLocked != null &&
|
||||||
!aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteLocked.Value))
|
!aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteLocked.Value))
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using Dalamud.Plugin.Services;
|
using Dalamud.Plugin.Services;
|
||||||
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
||||||
@ -93,6 +94,20 @@ internal static class AetheryteShortcut
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (skipConditions.QuestsCompleted.Count > 0 &&
|
||||||
|
skipConditions.QuestsCompleted.All(questFunctions.IsQuestComplete))
|
||||||
|
{
|
||||||
|
logger.LogInformation("Skipping aetheryte, all prequisite quests are complete");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skipConditions.QuestsAccepted.Count > 0 &&
|
||||||
|
skipConditions.QuestsAccepted.All(questFunctions.IsQuestAccepted))
|
||||||
|
{
|
||||||
|
logger.LogInformation("Skipping aetheryte, all prequisite quests are accepted");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (skipConditions.AetheryteLocked != null &&
|
if (skipConditions.AetheryteLocked != null &&
|
||||||
!aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteLocked.Value))
|
!aetheryteFunctions.IsAetheryteUnlocked(skipConditions.AetheryteLocked.Value))
|
||||||
{
|
{
|
||||||
|
@ -36,6 +36,7 @@ internal sealed class DalamudInitializer : IDisposable
|
|||||||
QuestSelectionWindow questSelectionWindow,
|
QuestSelectionWindow questSelectionWindow,
|
||||||
QuestValidationWindow questValidationWindow,
|
QuestValidationWindow questValidationWindow,
|
||||||
JournalProgressWindow journalProgressWindow,
|
JournalProgressWindow journalProgressWindow,
|
||||||
|
PriorityWindow priorityWindow,
|
||||||
IToastGui toastGui,
|
IToastGui toastGui,
|
||||||
ILogger<DalamudInitializer> logger)
|
ILogger<DalamudInitializer> logger)
|
||||||
{
|
{
|
||||||
@ -55,6 +56,7 @@ internal sealed class DalamudInitializer : IDisposable
|
|||||||
_windowSystem.AddWindow(questSelectionWindow);
|
_windowSystem.AddWindow(questSelectionWindow);
|
||||||
_windowSystem.AddWindow(questValidationWindow);
|
_windowSystem.AddWindow(questValidationWindow);
|
||||||
_windowSystem.AddWindow(journalProgressWindow);
|
_windowSystem.AddWindow(journalProgressWindow);
|
||||||
|
_windowSystem.AddWindow(priorityWindow);
|
||||||
|
|
||||||
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
|
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
|
||||||
_pluginInterface.UiBuilder.OpenMainUi += _questWindow.Toggle;
|
_pluginInterface.UiBuilder.OpenMainUi += _questWindow.Toggle;
|
||||||
|
@ -8,7 +8,8 @@ using LLib.GameData;
|
|||||||
using Lumina.Excel.GeneratedSheets;
|
using Lumina.Excel.GeneratedSheets;
|
||||||
using Questionable.Model;
|
using Questionable.Model;
|
||||||
using Questionable.Model.Questing;
|
using Questionable.Model.Questing;
|
||||||
using Quest = Lumina.Excel.GeneratedSheets.Quest;
|
using Leve = Lumina.Excel.GeneratedSheets2.Leve;
|
||||||
|
using Quest = Lumina.Excel.GeneratedSheets2.Quest;
|
||||||
|
|
||||||
namespace Questionable.Data;
|
namespace Questionable.Data;
|
||||||
|
|
||||||
@ -62,7 +63,7 @@ internal sealed class QuestData
|
|||||||
|
|
||||||
// workaround because the game doesn't require completion of the CT questline through normal means
|
// workaround because the game doesn't require completion of the CT questline through normal means
|
||||||
QuestInfo aTimeToEveryPurpose = (QuestInfo)_quests[new QuestId(425)];
|
QuestInfo aTimeToEveryPurpose = (QuestInfo)_quests[new QuestId(425)];
|
||||||
aTimeToEveryPurpose.AddPreviousQuest(new QuestId(495));
|
aTimeToEveryPurpose.AddPreviousQuest(new QuestInfo.PreviousQuestInfo(new QuestId(495)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public IQuestInfo GetQuestInfo(ElementId elementId)
|
public IQuestInfo GetQuestInfo(ElementId elementId)
|
||||||
|
@ -431,7 +431,8 @@ internal sealed unsafe class GameFunctions
|
|||||||
if (!AgentSatisfactionSupply.Instance()->IsAgentActive())
|
if (!AgentSatisfactionSupply.Instance()->IsAgentActive())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var flags = _condition.AsReadOnlySet();
|
var flags = _condition.AsReadOnlySet().ToHashSet();
|
||||||
|
flags.Remove(ConditionFlag.InDutyQueue); // irrelevant
|
||||||
return flags.Count == 2 &&
|
return flags.Count == 2 &&
|
||||||
flags.Contains(ConditionFlag.NormalConditions) &&
|
flags.Contains(ConditionFlag.NormalConditions) &&
|
||||||
flags.Contains(ConditionFlag.OccupiedInQuestEvent);
|
flags.Contains(ConditionFlag.OccupiedInQuestEvent);
|
||||||
|
@ -449,6 +449,18 @@ internal sealed unsafe class QuestFunctions
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool IsQuestLocked(QuestId questId, ElementId? extraCompletedQuest = null)
|
public bool IsQuestLocked(QuestId questId, ElementId? extraCompletedQuest = null)
|
||||||
|
{
|
||||||
|
if (IsQuestUnobtainable(questId, extraCompletedQuest))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
var questInfo = (QuestInfo)_questData.GetQuestInfo(questId);
|
||||||
|
if (questInfo.GrandCompany != GrandCompany.None && questInfo.GrandCompany != GetGrandCompany())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return !HasCompletedPreviousQuests(questInfo, extraCompletedQuest) || !HasCompletedPreviousInstances(questInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsQuestUnobtainable(QuestId questId, ElementId? extraCompletedQuest = null)
|
||||||
{
|
{
|
||||||
var questInfo = (QuestInfo)_questData.GetQuestInfo(questId);
|
var questInfo = (QuestInfo)_questData.GetQuestInfo(questId);
|
||||||
if (questInfo.QuestLocks.Count > 0)
|
if (questInfo.QuestLocks.Count > 0)
|
||||||
@ -460,13 +472,10 @@ internal sealed unsafe class QuestFunctions
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (questInfo.GrandCompany != GrandCompany.None && questInfo.GrandCompany != GetGrandCompany())
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (_questData.GetLockedClassQuests().Contains(questId))
|
if (_questData.GetLockedClassQuests().Contains(questId))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return !HasCompletedPreviousQuests(questInfo, extraCompletedQuest) || !HasCompletedPreviousInstances(questInfo);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsQuestLocked(LeveId leveId)
|
public bool IsQuestLocked(LeveId leveId)
|
||||||
@ -485,7 +494,8 @@ internal sealed unsafe class QuestFunctions
|
|||||||
if (questInfo.PreviousQuests.Count == 0)
|
if (questInfo.PreviousQuests.Count == 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
var completedQuests = questInfo.PreviousQuests.Count(x => IsQuestComplete(x) || x.Equals(extraCompletedQuest));
|
var completedQuests = questInfo.PreviousQuests.Count(x =>
|
||||||
|
HasEnoughProgressOnPreviousQuest(x) || x.QuestId.Equals(extraCompletedQuest));
|
||||||
if (questInfo.PreviousQuestJoin == QuestInfo.QuestJoin.All &&
|
if (questInfo.PreviousQuestJoin == QuestInfo.QuestJoin.All &&
|
||||||
questInfo.PreviousQuests.Count == completedQuests)
|
questInfo.PreviousQuests.Count == completedQuests)
|
||||||
return true;
|
return true;
|
||||||
@ -495,6 +505,20 @@ internal sealed unsafe class QuestFunctions
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HasEnoughProgressOnPreviousQuest(QuestInfo.PreviousQuestInfo previousQuestInfo)
|
||||||
|
{
|
||||||
|
if (IsQuestComplete(previousQuestInfo.QuestId))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (previousQuestInfo.Sequence != 0 && IsQuestAccepted(previousQuestInfo.QuestId))
|
||||||
|
{
|
||||||
|
var progress = GetQuestProgressInfo(previousQuestInfo.QuestId);
|
||||||
|
return progress != null && progress.Sequence >= previousQuestInfo.Sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private static bool HasCompletedPreviousInstances(QuestInfo questInfo)
|
private static bool HasCompletedPreviousInstances(QuestInfo questInfo)
|
||||||
{
|
{
|
||||||
if (questInfo.PreviousInstanceContent.Count == 0)
|
if (questInfo.PreviousInstanceContent.Count == 0)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using LLib.GameData;
|
using LLib.GameData;
|
||||||
using Lumina.Excel.GeneratedSheets;
|
using Lumina.Excel.GeneratedSheets2;
|
||||||
using Questionable.Model.Questing;
|
using Questionable.Model.Questing;
|
||||||
|
|
||||||
namespace Questionable.Model;
|
namespace Questionable.Model;
|
||||||
@ -14,7 +14,7 @@ internal sealed class LeveInfo : IQuestInfo
|
|||||||
Level = leve.ClassJobLevel;
|
Level = leve.ClassJobLevel;
|
||||||
JournalGenre = leve.JournalGenre.Row;
|
JournalGenre = leve.JournalGenre.Row;
|
||||||
SortKey = QuestId.Value;
|
SortKey = QuestId.Value;
|
||||||
IssuerDataId = leve.LevelLevemete.Value!.Object;
|
IssuerDataId = leve.LevelLevemete.Value!.Object.Row;
|
||||||
ClassJobs = QuestInfoUtils.AsList(leve.ClassJobCategory.Value!);
|
ClassJobs = QuestInfoUtils.AsList(leve.ClassJobCategory.Value!);
|
||||||
Expansion = (EExpansionVersion)leve.LevelLevemete.Value.Territory.Value!.ExVersion.Row;
|
Expansion = (EExpansionVersion)leve.LevelLevemete.Value.Territory.Value!.ExVersion.Row;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
|||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using LLib.GameData;
|
using LLib.GameData;
|
||||||
using Questionable.Model.Questing;
|
using Questionable.Model.Questing;
|
||||||
using ExcelQuest = Lumina.Excel.GeneratedSheets.Quest;
|
using ExcelQuest = Lumina.Excel.GeneratedSheets2.Quest;
|
||||||
|
|
||||||
namespace Questionable.Model;
|
namespace Questionable.Model;
|
||||||
|
|
||||||
@ -31,12 +31,17 @@ internal sealed class QuestInfo : IQuestInfo
|
|||||||
};
|
};
|
||||||
|
|
||||||
Name = $"{quest.Name}{suffix}";
|
Name = $"{quest.Name}{suffix}";
|
||||||
Level = quest.ClassJobLevel0;
|
Level = quest.ClassJobLevel[0];
|
||||||
IssuerDataId = quest.IssuerStart;
|
IssuerDataId = quest.IssuerStart.Row;
|
||||||
IsRepeatable = quest.IsRepeatable;
|
IsRepeatable = quest.IsRepeatable;
|
||||||
PreviousQuests = quest.PreviousQuest
|
PreviousQuests =
|
||||||
.Select(x => new QuestId((ushort)(x.Row & 0xFFFF)))
|
new List<PreviousQuestInfo>
|
||||||
.Where(x => x.Value != 0)
|
{
|
||||||
|
new(new QuestId((ushort)(quest.PreviousQuest[0].Row & 0xFFFF)), quest.Unknown7),
|
||||||
|
new(new QuestId((ushort)(quest.PreviousQuest[1].Row & 0xFFFF))),
|
||||||
|
new(new QuestId((ushort)(quest.PreviousQuest[1].Row & 0xFFFF)))
|
||||||
|
}
|
||||||
|
.Where(x => x.QuestId.Value != 0)
|
||||||
.ToImmutableList();
|
.ToImmutableList();
|
||||||
PreviousQuestJoin = (QuestJoin)quest.PreviousQuestJoin;
|
PreviousQuestJoin = (QuestJoin)quest.PreviousQuestJoin;
|
||||||
QuestLocks = quest.QuestLock
|
QuestLocks = quest.QuestLock
|
||||||
@ -47,7 +52,7 @@ internal sealed class QuestInfo : IQuestInfo
|
|||||||
JournalGenre = quest.JournalGenre?.Row;
|
JournalGenre = quest.JournalGenre?.Row;
|
||||||
SortKey = quest.SortKey;
|
SortKey = quest.SortKey;
|
||||||
IsMainScenarioQuest = quest.JournalGenre?.Value?.JournalCategory?.Value?.JournalSection?.Row is 0 or 1;
|
IsMainScenarioQuest = quest.JournalGenre?.Value?.JournalCategory?.Value?.JournalSection?.Row is 0 or 1;
|
||||||
CompletesInstantly = quest.ToDoCompleteSeq[0] == 0;
|
CompletesInstantly = quest.TodoParams[0].ToDoCompleteSeq == 0;
|
||||||
PreviousInstanceContent = quest.InstanceContent.Select(x => (ushort)x.Row).Where(x => x != 0).ToList();
|
PreviousInstanceContent = quest.InstanceContent.Select(x => (ushort)x.Row).Where(x => x != 0).ToList();
|
||||||
PreviousInstanceContentJoin = (QuestJoin)quest.InstanceContentJoin;
|
PreviousInstanceContentJoin = (QuestJoin)quest.InstanceContentJoin;
|
||||||
GrandCompany = (GrandCompany)quest.GrandCompany.Row;
|
GrandCompany = (GrandCompany)quest.GrandCompany.Row;
|
||||||
@ -64,7 +69,7 @@ internal sealed class QuestInfo : IQuestInfo
|
|||||||
public ushort Level { get; }
|
public ushort Level { get; }
|
||||||
public uint IssuerDataId { get; }
|
public uint IssuerDataId { get; }
|
||||||
public bool IsRepeatable { get; }
|
public bool IsRepeatable { get; }
|
||||||
public ImmutableList<QuestId> PreviousQuests { get; set; }
|
public ImmutableList<PreviousQuestInfo> PreviousQuests { get; set; }
|
||||||
public QuestJoin PreviousQuestJoin { get; }
|
public QuestJoin PreviousQuestJoin { get; }
|
||||||
public ImmutableList<QuestId> QuestLocks { get; }
|
public ImmutableList<QuestId> QuestLocks { get; }
|
||||||
public QuestJoin QuestLockJoin { get; }
|
public QuestJoin QuestLockJoin { get; }
|
||||||
@ -89,8 +94,10 @@ internal sealed class QuestInfo : IQuestInfo
|
|||||||
AtLeastOne = 2,
|
AtLeastOne = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddPreviousQuest(QuestId questId)
|
public void AddPreviousQuest(PreviousQuestInfo questId)
|
||||||
{
|
{
|
||||||
PreviousQuests = [..PreviousQuests, questId];
|
PreviousQuests = [..PreviousQuests, questId];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public sealed record PreviousQuestInfo(QuestId QuestId, byte Sequence = 0);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using LLib.GameData;
|
using LLib.GameData;
|
||||||
using Lumina.Excel.GeneratedSheets;
|
using Lumina.Excel.GeneratedSheets2;
|
||||||
|
|
||||||
namespace Questionable.Model;
|
namespace Questionable.Model;
|
||||||
|
|
||||||
@ -57,8 +57,8 @@ internal static class QuestInfoUtils
|
|||||||
{ EClassJob.Dancer, classJobCategory.DNC },
|
{ EClassJob.Dancer, classJobCategory.DNC },
|
||||||
{ EClassJob.Reaper, classJobCategory.RPR },
|
{ EClassJob.Reaper, classJobCategory.RPR },
|
||||||
{ EClassJob.Sage, classJobCategory.SGE },
|
{ EClassJob.Sage, classJobCategory.SGE },
|
||||||
{ EClassJob.Viper, classJobCategory.VPR },
|
{ EClassJob.Viper, classJobCategory.Unknown1 },
|
||||||
{ EClassJob.Pictomancer, classJobCategory.PCT }
|
{ EClassJob.Pictomancer, classJobCategory.Unknown2 }
|
||||||
}
|
}
|
||||||
.Where(y => y.Value)
|
.Where(y => y.Value)
|
||||||
.Select(y => y.Key)
|
.Select(y => y.Key)
|
||||||
|
@ -208,6 +208,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin
|
|||||||
serviceCollection.AddSingleton<QuestSelectionWindow>();
|
serviceCollection.AddSingleton<QuestSelectionWindow>();
|
||||||
serviceCollection.AddSingleton<QuestValidationWindow>();
|
serviceCollection.AddSingleton<QuestValidationWindow>();
|
||||||
serviceCollection.AddSingleton<JournalProgressWindow>();
|
serviceCollection.AddSingleton<JournalProgressWindow>();
|
||||||
|
serviceCollection.AddSingleton<PriorityWindow>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void AddQuestValidators(ServiceCollection serviceCollection)
|
private static void AddQuestValidators(ServiceCollection serviceCollection)
|
||||||
|
223
Questionable/Windows/PriorityWindow.cs
Normal file
223
Questionable/Windows/PriorityWindow.cs
Normal file
@ -0,0 +1,223 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Numerics;
|
||||||
|
using Dalamud.Interface;
|
||||||
|
using Dalamud.Interface.Colors;
|
||||||
|
using Dalamud.Interface.Components;
|
||||||
|
using Dalamud.Plugin;
|
||||||
|
using ImGuiNET;
|
||||||
|
using LLib.ImGui;
|
||||||
|
using Questionable.Controller;
|
||||||
|
using Questionable.Functions;
|
||||||
|
using Questionable.Model;
|
||||||
|
using Questionable.Model.Questing;
|
||||||
|
using Questionable.Windows.QuestComponents;
|
||||||
|
|
||||||
|
namespace Questionable.Windows;
|
||||||
|
|
||||||
|
internal sealed class PriorityWindow : LWindow
|
||||||
|
{
|
||||||
|
private readonly QuestController _questController;
|
||||||
|
private readonly QuestRegistry _questRegistry;
|
||||||
|
private readonly QuestFunctions _questFunctions;
|
||||||
|
private readonly QuestTooltipComponent _questTooltipComponent;
|
||||||
|
private readonly UiUtils _uiUtils;
|
||||||
|
private readonly IDalamudPluginInterface _pluginInterface;
|
||||||
|
|
||||||
|
private string _searchString = string.Empty;
|
||||||
|
private ElementId? _draggedItem;
|
||||||
|
|
||||||
|
public PriorityWindow(QuestController questController, QuestRegistry questRegistry, QuestFunctions questFunctions,
|
||||||
|
QuestTooltipComponent questTooltipComponent, UiUtils uiUtils, IDalamudPluginInterface pluginInterface)
|
||||||
|
: base("Quest Priority###QuestionableQuestPriority")
|
||||||
|
{
|
||||||
|
_questController = questController;
|
||||||
|
_questRegistry = questRegistry;
|
||||||
|
_questFunctions = questFunctions;
|
||||||
|
_questTooltipComponent = questTooltipComponent;
|
||||||
|
_uiUtils = uiUtils;
|
||||||
|
_pluginInterface = pluginInterface;
|
||||||
|
|
||||||
|
Size = new Vector2(400, 400);
|
||||||
|
SizeCondition = ImGuiCond.Once;
|
||||||
|
SizeConstraints = new WindowSizeConstraints
|
||||||
|
{
|
||||||
|
MinimumSize = new Vector2(400, 400),
|
||||||
|
MaximumSize = new Vector2(400, 999)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Draw()
|
||||||
|
{
|
||||||
|
ImGui.Text("Quests to do first:");
|
||||||
|
DrawQuestFilter();
|
||||||
|
DrawQuestList();
|
||||||
|
ImGui.Spacing();
|
||||||
|
|
||||||
|
ImGui.Separator();
|
||||||
|
ImGui.Spacing();
|
||||||
|
ImGui.TextWrapped(
|
||||||
|
"If you have an active MSQ quest, Questionable will generally try to do:");
|
||||||
|
ImGui.BulletText("'Priority' quests: class quests, ARR primals, ARR raids");
|
||||||
|
ImGui.BulletText(
|
||||||
|
"Supported quests in your 'To-Do list'\n(quests from your Journal that are always on-screen)");
|
||||||
|
ImGui.BulletText("MSQ quest (if available, unless it is marked as 'ignored'\nin your Journal)");
|
||||||
|
ImGui.TextWrapped(
|
||||||
|
"If you don't have any active MSQ quest, it will always try to pick up the next quest in the MSQ first.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawQuestFilter()
|
||||||
|
{
|
||||||
|
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
|
||||||
|
if (ImGui.BeginCombo($"##QuestSelection", "Add Quest...", ImGuiComboFlags.HeightLarge))
|
||||||
|
{
|
||||||
|
ImGui.SetNextItemWidth(ImGui.GetContentRegionAvail().X);
|
||||||
|
bool addFirst = ImGui.InputTextWithHint("", "Filter...", ref _searchString, 256,
|
||||||
|
ImGuiInputTextFlags.AutoSelectAll | ImGuiInputTextFlags.EnterReturnsTrue);
|
||||||
|
|
||||||
|
IEnumerable<Quest> foundQuests;
|
||||||
|
if (!string.IsNullOrEmpty(_searchString))
|
||||||
|
{
|
||||||
|
foundQuests = _questRegistry.AllQuests
|
||||||
|
.Where(x => x.Info.Name.Contains(_searchString, StringComparison.CurrentCultureIgnoreCase))
|
||||||
|
.Where(x => x.Id is not QuestId questId || !_questFunctions.IsQuestUnobtainable(questId));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foundQuests = _questRegistry.AllQuests.Where(x => _questFunctions.IsQuestAccepted(x.Id));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var quest in foundQuests)
|
||||||
|
{
|
||||||
|
if (quest.Info.IsMainScenarioQuest || _questController.ManualPriorityQuests.Contains(quest))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
bool addThis = ImGui.Selectable(quest.Info.Name);
|
||||||
|
if (addThis || addFirst)
|
||||||
|
{
|
||||||
|
_questController.ManualPriorityQuests.Add(quest);
|
||||||
|
|
||||||
|
if (addFirst)
|
||||||
|
{
|
||||||
|
ImGui.CloseCurrentPopup();
|
||||||
|
addFirst = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.EndCombo();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.Spacing();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawQuestList()
|
||||||
|
{
|
||||||
|
List<Quest> priorityQuests = _questController.ManualPriorityQuests;
|
||||||
|
Quest? itemToRemove = null;
|
||||||
|
Quest? itemToAdd = null;
|
||||||
|
int indexToAdd = 0;
|
||||||
|
|
||||||
|
float width = ImGui.GetContentRegionAvail().X;
|
||||||
|
List<(Vector2 TopLeft, Vector2 BottomRight)> itemPositions = [];
|
||||||
|
|
||||||
|
for (int i = 0; i < priorityQuests.Count; ++i)
|
||||||
|
{
|
||||||
|
Vector2 topLeft = ImGui.GetCursorScreenPos() +
|
||||||
|
new Vector2(0, -ImGui.GetStyle().ItemSpacing.Y / 2);
|
||||||
|
var quest = priorityQuests[i];
|
||||||
|
ImGui.PushID($"Quest{quest.Id}");
|
||||||
|
|
||||||
|
var style = _uiUtils.GetQuestStyle(quest.Id);
|
||||||
|
bool hovered;
|
||||||
|
using (var _ = _pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
|
||||||
|
{
|
||||||
|
ImGui.AlignTextToFramePadding();
|
||||||
|
ImGui.TextColored(style.Color, style.Icon.ToIconString());
|
||||||
|
hovered = ImGui.IsItemHovered();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
ImGui.AlignTextToFramePadding();
|
||||||
|
ImGui.Text(quest.Info.Name);
|
||||||
|
hovered |= ImGui.IsItemHovered();
|
||||||
|
|
||||||
|
if (hovered)
|
||||||
|
_questTooltipComponent.Draw(quest.Info);
|
||||||
|
|
||||||
|
if (priorityQuests.Count > 1)
|
||||||
|
{
|
||||||
|
ImGui.PushFont(UiBuilder.IconFont);
|
||||||
|
ImGui.SameLine(ImGui.GetContentRegionAvail().X +
|
||||||
|
ImGui.GetStyle().WindowPadding.X -
|
||||||
|
ImGui.CalcTextSize(FontAwesomeIcon.ArrowsUpDown.ToIconString()).X -
|
||||||
|
ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X -
|
||||||
|
ImGui.GetStyle().FramePadding.X * 4 -
|
||||||
|
ImGui.GetStyle().ItemSpacing.X);
|
||||||
|
ImGui.PopFont();
|
||||||
|
|
||||||
|
if (_draggedItem == quest.Id)
|
||||||
|
{
|
||||||
|
ImGuiComponents.IconButton("##Move", FontAwesomeIcon.ArrowsUpDown,
|
||||||
|
ImGui.ColorConvertU32ToFloat4(ImGui.GetColorU32(ImGuiCol.ButtonActive)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ImGuiComponents.IconButton("##Move", FontAwesomeIcon.ArrowsUpDown);
|
||||||
|
|
||||||
|
if (_draggedItem == null && ImGui.IsItemActive() && ImGui.IsMouseDragging(ImGuiMouseButton.Left))
|
||||||
|
_draggedItem = quest.Id;
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ImGui.PushFont(UiBuilder.IconFont);
|
||||||
|
ImGui.SameLine(ImGui.GetContentRegionAvail().X +
|
||||||
|
ImGui.GetStyle().WindowPadding.X -
|
||||||
|
ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X -
|
||||||
|
ImGui.GetStyle().FramePadding.X * 2);
|
||||||
|
ImGui.PopFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGuiComponents.IconButton($"##Remove{i}", FontAwesomeIcon.Times))
|
||||||
|
itemToRemove = quest;
|
||||||
|
|
||||||
|
ImGui.PopID();
|
||||||
|
|
||||||
|
Vector2 bottomRight = new Vector2(topLeft.X + width,
|
||||||
|
ImGui.GetCursorScreenPos().Y - ImGui.GetStyle().ItemSpacing.Y + 2);
|
||||||
|
itemPositions.Add((topLeft, bottomRight));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ImGui.IsMouseDragging(ImGuiMouseButton.Left))
|
||||||
|
_draggedItem = null;
|
||||||
|
else if (_draggedItem != null)
|
||||||
|
{
|
||||||
|
var draggedItem = priorityQuests.Single(x => x.Id == _draggedItem);
|
||||||
|
int oldIndex = priorityQuests.IndexOf(draggedItem);
|
||||||
|
|
||||||
|
var (topLeft, bottomRight) = itemPositions[oldIndex];
|
||||||
|
ImGui.GetWindowDrawList().AddRect(topLeft, bottomRight, ImGui.GetColorU32(ImGuiColors.DalamudGrey), 3f,
|
||||||
|
ImDrawFlags.RoundCornersAll);
|
||||||
|
|
||||||
|
int newIndex = itemPositions.FindIndex(x => ImGui.IsMouseHoveringRect(x.TopLeft, x.BottomRight, true));
|
||||||
|
if (newIndex >= 0 && oldIndex != newIndex)
|
||||||
|
{
|
||||||
|
itemToAdd = priorityQuests.Single(x => x.Id == _draggedItem);
|
||||||
|
indexToAdd = newIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemToRemove != null)
|
||||||
|
{
|
||||||
|
priorityQuests.Remove(itemToRemove);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemToAdd != null)
|
||||||
|
{
|
||||||
|
priorityQuests.Remove(itemToAdd);
|
||||||
|
priorityQuests.Insert(indexToAdd, itemToAdd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -31,6 +31,7 @@ internal sealed partial class ActiveQuestComponent
|
|||||||
private readonly ICommandManager _commandManager;
|
private readonly ICommandManager _commandManager;
|
||||||
private readonly Configuration _configuration;
|
private readonly Configuration _configuration;
|
||||||
private readonly QuestRegistry _questRegistry;
|
private readonly QuestRegistry _questRegistry;
|
||||||
|
private readonly PriorityWindow _priorityWindow;
|
||||||
private readonly IChatGui _chatGui;
|
private readonly IChatGui _chatGui;
|
||||||
|
|
||||||
public ActiveQuestComponent(
|
public ActiveQuestComponent(
|
||||||
@ -42,6 +43,7 @@ internal sealed partial class ActiveQuestComponent
|
|||||||
ICommandManager commandManager,
|
ICommandManager commandManager,
|
||||||
Configuration configuration,
|
Configuration configuration,
|
||||||
QuestRegistry questRegistry,
|
QuestRegistry questRegistry,
|
||||||
|
PriorityWindow priorityWindow,
|
||||||
IChatGui chatGui)
|
IChatGui chatGui)
|
||||||
{
|
{
|
||||||
_questController = questController;
|
_questController = questController;
|
||||||
@ -52,6 +54,7 @@ internal sealed partial class ActiveQuestComponent
|
|||||||
_commandManager = commandManager;
|
_commandManager = commandManager;
|
||||||
_configuration = configuration;
|
_configuration = configuration;
|
||||||
_questRegistry = questRegistry;
|
_questRegistry = questRegistry;
|
||||||
|
_priorityWindow = priorityWindow;
|
||||||
_chatGui = chatGui;
|
_chatGui = chatGui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,6 +114,10 @@ internal sealed partial class ActiveQuestComponent
|
|||||||
_questController.Stop("Manual (no active quest)");
|
_questController.Stop("Manual (no active quest)");
|
||||||
_gatheringController.Stop("Manual (no active quest)");
|
_gatheringController.Stop("Manual (no active quest)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
if (ImGuiComponents.IconButton(FontAwesomeIcon.SortAmountDown))
|
||||||
|
_priorityWindow.Toggle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,6 +300,10 @@ internal sealed partial class ActiveQuestComponent
|
|||||||
ImGui.PopStyleColor();
|
ImGui.PopStyleColor();
|
||||||
ImGui.EndDisabled();
|
ImGui.EndDisabled();
|
||||||
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
if (ImGuiComponents.IconButton(FontAwesomeIcon.SortAmountDown))
|
||||||
|
_priorityWindow.Toggle();
|
||||||
|
|
||||||
if (_commandManager.Commands.TryGetValue("/questinfo", out var commandInfo))
|
if (_commandManager.Commands.TryGetValue("/questinfo", out var commandInfo))
|
||||||
{
|
{
|
||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
|
@ -19,19 +19,22 @@ internal sealed class QuestTooltipComponent
|
|||||||
private readonly TerritoryData _territoryData;
|
private readonly TerritoryData _territoryData;
|
||||||
private readonly QuestFunctions _questFunctions;
|
private readonly QuestFunctions _questFunctions;
|
||||||
private readonly UiUtils _uiUtils;
|
private readonly UiUtils _uiUtils;
|
||||||
|
private readonly Configuration _configuration;
|
||||||
|
|
||||||
public QuestTooltipComponent(
|
public QuestTooltipComponent(
|
||||||
QuestRegistry questRegistry,
|
QuestRegistry questRegistry,
|
||||||
QuestData questData,
|
QuestData questData,
|
||||||
TerritoryData territoryData,
|
TerritoryData territoryData,
|
||||||
QuestFunctions questFunctions,
|
QuestFunctions questFunctions,
|
||||||
UiUtils uiUtils)
|
UiUtils uiUtils,
|
||||||
|
Configuration configuration)
|
||||||
{
|
{
|
||||||
_questRegistry = questRegistry;
|
_questRegistry = questRegistry;
|
||||||
_questData = questData;
|
_questData = questData;
|
||||||
_territoryData = territoryData;
|
_territoryData = territoryData;
|
||||||
_questFunctions = questFunctions;
|
_questFunctions = questFunctions;
|
||||||
_uiUtils = uiUtils;
|
_uiUtils = uiUtils;
|
||||||
|
_configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Draw(IQuestInfo quest)
|
public void Draw(IQuestInfo quest)
|
||||||
@ -105,13 +108,13 @@ internal sealed class QuestTooltipComponent
|
|||||||
|
|
||||||
foreach (var q in quest.PreviousQuests)
|
foreach (var q in quest.PreviousQuests)
|
||||||
{
|
{
|
||||||
if (_questData.TryGetQuestInfo(q, out var qInfo))
|
if (_questData.TryGetQuestInfo(q.QuestId, out var qInfo))
|
||||||
{
|
{
|
||||||
var (iconColor, icon, _) = _uiUtils.GetQuestStyle(q);
|
var (iconColor, icon, _) = _uiUtils.GetQuestStyle(q.QuestId);
|
||||||
if (!_questRegistry.IsKnownQuest(qInfo.QuestId))
|
if (!_questRegistry.IsKnownQuest(qInfo.QuestId))
|
||||||
iconColor = ImGuiColors.DalamudGrey;
|
iconColor = ImGuiColors.DalamudGrey;
|
||||||
|
|
||||||
_uiUtils.ChecklistItem(FormatQuestUnlockName(qInfo), iconColor, icon);
|
_uiUtils.ChecklistItem(FormatQuestUnlockName(qInfo, _questFunctions.IsQuestComplete(q.QuestId) ? byte.MinValue : q.Sequence), iconColor, icon);
|
||||||
|
|
||||||
if (qInfo is QuestInfo qstInfo && (counter <= 2 || icon != FontAwesomeIcon.Check))
|
if (qInfo is QuestInfo qstInfo && (counter <= 2 || icon != FontAwesomeIcon.Check))
|
||||||
DrawQuestUnlocks(qstInfo, counter + 1);
|
DrawQuestUnlocks(qstInfo, counter + 1);
|
||||||
@ -188,11 +191,17 @@ internal sealed class QuestTooltipComponent
|
|||||||
ImGui.Unindent();
|
ImGui.Unindent();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string FormatQuestUnlockName(IQuestInfo questInfo)
|
private string FormatQuestUnlockName(IQuestInfo questInfo, byte sequence = 0)
|
||||||
{
|
{
|
||||||
|
string name = questInfo.Name;
|
||||||
|
if (_configuration.Advanced.AdditionalStatusInformation && sequence != 0)
|
||||||
|
name += $" {SeIconChar.ItemLevel.ToIconString()}";
|
||||||
|
|
||||||
if (questInfo.IsMainScenarioQuest)
|
if (questInfo.IsMainScenarioQuest)
|
||||||
return $"{questInfo.Name} ({questInfo.QuestId}, MSQ)";
|
name += $" ({questInfo.QuestId}, MSQ)";
|
||||||
else
|
else
|
||||||
return $"{questInfo.Name} ({questInfo.QuestId})";
|
name += $" {questInfo.Name} ({questInfo.QuestId})";
|
||||||
|
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user