Compare commits

..

No commits in common. "master" and "v2.10" have entirely different histories.

1220 changed files with 5426 additions and 81215 deletions

View File

@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<Version>3.4</Version>
<Version>2.10</Version>
</PropertyGroup>
</Project>

View File

@ -121,7 +121,7 @@ public sealed class RendererPlugin : IDalamudPlugin
if (!directory.Exists)
return;
//_pluginLog.Information($"Loading locations from {directory}");
_pluginLog.Information($"Loading locations from {directory}");
foreach (FileInfo fileInfo in directory.GetFiles("*.json"))
{
try
@ -238,10 +238,8 @@ public sealed class RendererPlugin : IDalamudPlugin
maximumAngle = x.MaximumAngle.GetValueOrDefault();
}
#if false
var a = GatheringMath.CalculateLandingLocation(x, 0, 0);
var b = GatheringMath.CalculateLandingLocation(x, 1, 1);
#endif
return new List<Element>
{
new Element(isCone

View File

@ -1,118 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 397,
"InteractionType": "None",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33290,
"Locations": [
{
"Position": {
"X": -409.5019,
"Y": 171.5775,
"Z": 49.79576
},
"MinimumAngle": -40,
"MaximumAngle": 115
},
{
"Position": {
"X": -418.5088,
"Y": 168.7132,
"Z": 33.29783
},
"MinimumAngle": 10,
"MaximumAngle": 110
}
]
},
{
"DataId": 33289,
"Locations": [
{
"Position": {
"X": -413.911,
"Y": 170.7656,
"Z": 43.01591
},
"MinimumAngle": 0,
"MaximumAngle": 130
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33292,
"Locations": [
{
"Position": {
"X": -510.636,
"Y": 169.9518,
"Z": 119.9934
},
"MinimumAngle": 150,
"MaximumAngle": 310
}
]
},
{
"DataId": 33291,
"Locations": [
{
"Position": {
"X": -519.3103,
"Y": 169.0242,
"Z": 111.3145
},
"MinimumAngle": 125,
"MaximumAngle": 300
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33293,
"Locations": [
{
"Position": {
"X": -563.8201,
"Y": 159.5121,
"Z": -11.58269
},
"MinimumAngle": -100,
"MaximumAngle": 50
}
]
},
{
"DataId": 33294,
"Locations": [
{
"Position": {
"X": -555.6268,
"Y": 159.594,
"Z": -17.77679
},
"MinimumAngle": -145,
"MaximumAngle": 25
}
]
}
]
}
]
}

View File

@ -1,113 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 400,
"InteractionType": "None",
"AetheryteShortcut": "The Churning Mists - Zenith"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33305,
"Locations": [
{
"Position": {
"X": -560.7639,
"Y": 266.9573,
"Z": -744.8922
},
"MinimumAngle": -45,
"MaximumAngle": 80
}
]
},
{
"DataId": 33306,
"Locations": [
{
"Position": {
"X": -547.9997,
"Y": 268.3711,
"Z": -737.2209
},
"MinimumAngle": 0,
"MaximumAngle": 95
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33304,
"Locations": [
{
"Position": {
"X": -682.6185,
"Y": 261.1417,
"Z": -778.2869
},
"MinimumAngle": -50,
"MaximumAngle": 20,
"MinimumDistance": 1.5,
"MaximumDistance": 3
}
]
},
{
"DataId": 33303,
"Locations": [
{
"Position": {
"X": -696.5138,
"Y": 261.6092,
"Z": -759.7711
},
"MinimumAngle": 215,
"MaximumAngle": 310
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33301,
"Locations": [
{
"Position": {
"X": -792.3468,
"Y": 271.3054,
"Z": -737.431
},
"MinimumAngle": 280,
"MaximumAngle": 360,
"MinimumDistance": 2,
"MaximumDistance": 3
}
]
},
{
"DataId": 33302,
"Locations": [
{
"Position": {
"X": -800.0043,
"Y": 269.2748,
"Z": -729.5305
},
"MinimumAngle": 230,
"MaximumAngle": 340
}
]
}
]
}
]
}

View File

@ -1,136 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 398,
"InteractionType": "None",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33300,
"Locations": [
{
"Position": {
"X": 560.8948,
"Y": -19.68621,
"Z": -534.3345
},
"MinimumAngle": -75,
"MaximumAngle": 30
},
{
"Position": {
"X": 557.1625,
"Y": -19.65358,
"Z": -547.1852
},
"MinimumAngle": 60,
"MaximumAngle": 200
}
]
},
{
"DataId": 33299,
"Locations": [
{
"Position": {
"X": 571.0399,
"Y": -19.2677,
"Z": -544.8133
},
"MinimumAngle": 200,
"MaximumAngle": 320
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33297,
"Locations": [
{
"Position": {
"X": 630.7735,
"Y": -18.70739,
"Z": -566.2144
},
"MinimumAngle": 85,
"MaximumAngle": 240
}
]
},
{
"DataId": 33298,
"Locations": [
{
"Position": {
"X": 639.3101,
"Y": -18.78794,
"Z": -559.5169
},
"MinimumAngle": -175,
"MaximumAngle": 0
},
{
"Position": {
"X": 618.4453,
"Y": -18.9477,
"Z": -559.1786
},
"MinimumAngle": 60,
"MaximumAngle": 150
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33295,
"Locations": [
{
"Position": {
"X": 731.6483,
"Y": -20.17027,
"Z": -614.199
},
"MinimumAngle": -35,
"MaximumAngle": 125
}
]
},
{
"DataId": 33296,
"Locations": [
{
"Position": {
"X": 743.4034,
"Y": -19.02,
"Z": -621.8422
},
"MinimumAngle": 195,
"MaximumAngle": 325
},
{
"Position": {
"X": 727.6966,
"Y": -20.47985,
"Z": -627.8105
},
"MinimumAngle": 60,
"MaximumAngle": 210
}
]
}
]
}
]
}

View File

@ -1,69 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 398,
"InteractionType": "None",
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34382,
"Locations": [
{
"Position": {
"X": -528.8412,
"Y": -89.70924,
"Z": 458.582
},
"MinimumAngle": -10,
"MaximumAngle": 80,
"MinimumDistance": 2.1,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34383,
"Locations": [
{
"Position": {
"X": -636.4533,
"Y": -100.1258,
"Z": 484.7436
},
"MinimumAngle": -75,
"MaximumAngle": 35
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34384,
"Locations": [
{
"Position": {
"X": -589.4542,
"Y": -100.4852,
"Z": 528.1926
},
"MinimumAngle": -25,
"MaximumAngle": 120
}
]
}
]
}
]
}

View File

@ -1,61 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 398,
"InteractionType": "None",
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34391,
"Locations": [
{
"Position": {
"X": -49.75243,
"Y": -31.70323,
"Z": -171.6977
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34392,
"Locations": [
{
"Position": {
"X": -44.89702,
"Y": -32.39204,
"Z": -153.4274
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34393,
"Locations": [
{
"Position": {
"X": -36.6049,
"Y": -31.32222,
"Z": -134.1001
}
}
]
}
]
}
]
}

View File

@ -1,115 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 399,
"InteractionType": "None",
"AetheryteShortcut": "Idyllshire",
"AethernetShortcut": [
"[Idyllshire] Aetheryte Plaza",
"[Idyllshire] Prologue Gate (Western Hinterlands)"
]
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33856,
"Locations": [
{
"Position": {
"X": -395.4635,
"Y": 144.1793,
"Z": -249.5864
},
"MinimumAngle": -190,
"MaximumAngle": 0
}
]
},
{
"DataId": 33855,
"Locations": [
{
"Position": {
"X": -398.5591,
"Y": 144.6183,
"Z": -241.8769
},
"MinimumAngle": -140,
"MaximumAngle": -20
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33857,
"Locations": [
{
"Position": {
"X": -407.5786,
"Y": 149.6453,
"Z": -93.85593
},
"MinimumAngle": 185,
"MaximumAngle": 280,
"MinimumDistance": 2,
"MaximumDistance": 3
}
]
},
{
"DataId": 33858,
"Locations": [
{
"Position": {
"X": -413.9488,
"Y": 148.9834,
"Z": -71.42188
},
"MinimumAngle": 165,
"MaximumAngle": 285
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33860,
"Locations": [
{
"Position": {
"X": -254.579,
"Y": 147.4603,
"Z": -91.96173
},
"MinimumAngle": 30,
"MaximumAngle": 130
}
]
},
{
"DataId": 33859,
"Locations": [
{
"Position": {
"X": -254.9425,
"Y": 146.4598,
"Z": -105.2472
},
"MinimumAngle": 35,
"MaximumAngle": 155
}
]
}
]
}
]
}

View File

@ -1,113 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 399,
"InteractionType": "None",
"AetheryteShortcut": "Idyllshire",
"AethernetShortcut": [
"[Idyllshire] Aetheryte Plaza",
"[Idyllshire] Epilogue Gate (Eastern Hinterlands)"
]
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33866,
"Locations": [
{
"Position": {
"X": 679.6339,
"Y": 116.0614,
"Z": 134.6795
},
"MinimumAngle": 200,
"MaximumAngle": 320
}
]
},
{
"DataId": 33865,
"Locations": [
{
"Position": {
"X": 697.5129,
"Y": 122.1484,
"Z": 146.8725
},
"MinimumAngle": -205,
"MaximumAngle": -10
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33862,
"Locations": [
{
"Position": {
"X": 809.8756,
"Y": 152.7643,
"Z": 205.2242
},
"MinimumAngle": -95,
"MaximumAngle": 90
}
]
},
{
"DataId": 33861,
"Locations": [
{
"Position": {
"X": 834.4771,
"Y": 154.8756,
"Z": 206.0541
},
"MinimumAngle": 35,
"MaximumAngle": 185
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33863,
"Locations": [
{
"Position": {
"X": 781.7728,
"Y": 134.6856,
"Z": -22.00103
},
"MinimumAngle": 0,
"MaximumAngle": 135
}
]
},
{
"DataId": 33864,
"Locations": [
{
"Position": {
"X": 774.9854,
"Y": 134.3857,
"Z": -27.45042
},
"MinimumAngle": -25,
"MaximumAngle": 120
}
]
}
]
}
]
}

View File

@ -1,109 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 401,
"InteractionType": "None",
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33308,
"Locations": [
{
"Position": {
"X": 612.0084,
"Y": -154.126,
"Z": 721.6054
},
"MinimumAngle": -220,
"MaximumAngle": 25
}
]
},
{
"DataId": 33307,
"Locations": [
{
"Position": {
"X": 601.7455,
"Y": -154.7067,
"Z": 734.4706
},
"MinimumAngle": -120,
"MaximumAngle": 75
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33311,
"Locations": [
{
"Position": {
"X": 654.2362,
"Y": -159.8305,
"Z": 820.9418
}
}
]
},
{
"DataId": 33312,
"Locations": [
{
"Position": {
"X": 656.2291,
"Y": -160.4766,
"Z": 826.9885
},
"MinimumAngle": 100,
"MaximumAngle": 270
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33309,
"Locations": [
{
"Position": {
"X": 739.0756,
"Y": -158.0396,
"Z": 642.5712
},
"MinimumAngle": 110,
"MaximumAngle": 210,
"MinimumDistance": 1,
"MaximumDistance": 3
}
]
},
{
"DataId": 33310,
"Locations": [
{
"Position": {
"X": 723.027,
"Y": -157.7834,
"Z": 626.666
},
"MinimumAngle": -170,
"MaximumAngle": 35
}
]
}
]
}
]
}

View File

@ -1,113 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 401,
"InteractionType": "None",
"AetheryteShortcut": "The Sea of Clouds - Ok' Zundu"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33313,
"Locations": [
{
"Position": {
"X": 284.0225,
"Y": -40.41348,
"Z": -766.5984
},
"MinimumAngle": 160,
"MaximumAngle": 245,
"MinimumDistance": 1.6,
"MaximumDistance": 3
}
]
},
{
"DataId": 33314,
"Locations": [
{
"Position": {
"X": 291.4046,
"Y": -40.37925,
"Z": -758.5402
},
"MinimumAngle": 210,
"MaximumAngle": 345
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33315,
"Locations": [
{
"Position": {
"X": 358.8156,
"Y": -41.42974,
"Z": -734.5118
},
"MinimumAngle": 115,
"MaximumAngle": 250
}
]
},
{
"DataId": 33316,
"Locations": [
{
"Position": {
"X": 367.6869,
"Y": -41.54303,
"Z": -735.3597
},
"MinimumAngle": 70,
"MaximumAngle": 220
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33317,
"Locations": [
{
"Position": {
"X": 452.3558,
"Y": -47.13874,
"Z": -752.6805
},
"MinimumAngle": 150,
"MaximumAngle": 275
}
]
},
{
"DataId": 33318,
"Locations": [
{
"Position": {
"X": 465.9165,
"Y": -47.82627,
"Z": -756.4039
},
"MinimumAngle": 35,
"MaximumAngle": 160,
"MinimumDistance": 1.2,
"MaximumDistance": 3
}
]
}
]
}
]
}

View File

@ -1,111 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 622,
"InteractionType": "None",
"AetheryteShortcut": "Azim Steppe - Reunion"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33883,
"Locations": [
{
"Position": {
"X": 128.0255,
"Y": -1.00095,
"Z": 322.0047
},
"MinimumAngle": -120,
"MaximumAngle": 65
}
]
},
{
"DataId": 33884,
"Locations": [
{
"Position": {
"X": 116.5815,
"Y": -1.584854,
"Z": 321.8561
},
"MinimumAngle": -65,
"MaximumAngle": 100
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33882,
"Locations": [
{
"Position": {
"X": -31.5303,
"Y": -2.218102,
"Z": 328.7178
},
"MinimumAngle": 110,
"MaximumAngle": 255
}
]
},
{
"DataId": 33881,
"Locations": [
{
"Position": {
"X": -44.53269,
"Y": -1.966054,
"Z": 332.6949
},
"MinimumAngle": 120,
"MaximumAngle": 225
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33880,
"Locations": [
{
"Position": {
"X": 37.46276,
"Y": -4.431953,
"Z": 425.0844
},
"MinimumAngle": 140,
"MaximumAngle": 240
}
]
},
{
"DataId": 33879,
"Locations": [
{
"Position": {
"X": 46.12198,
"Y": -5.283945,
"Z": 426.5148
},
"MinimumAngle": 115,
"MaximumAngle": 255,
"MinimumDistance": 1.5,
"MaximumDistance": 3
}
]
}
]
}
]
}

View File

@ -1,115 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 612,
"InteractionType": "None",
"AetheryteShortcut": "Fringes - Peering Stones"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33871,
"Locations": [
{
"Position": {
"X": 556.8531,
"Y": 73.44064,
"Z": 99.57761
},
"MinimumAngle": 35,
"MaximumAngle": 160
}
]
},
{
"DataId": 33872,
"Locations": [
{
"Position": {
"X": 561.7782,
"Y": 73.45153,
"Z": 72.6368
},
"MinimumAngle": 15,
"MaximumAngle": 165,
"MinimumDistance": 1.3,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33867,
"Locations": [
{
"Position": {
"X": 498.26,
"Y": 76.74628,
"Z": -46.34168
},
"MinimumAngle": -65,
"MaximumAngle": 45
}
]
},
{
"DataId": 33868,
"Locations": [
{
"Position": {
"X": 473.011,
"Y": 76.55681,
"Z": -47.70556
},
"MinimumAngle": -45,
"MaximumAngle": 60,
"MinimumDistance": 1.9,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33870,
"Locations": [
{
"Position": {
"X": 361.4784,
"Y": 70.79905,
"Z": 146.1887
},
"MinimumAngle": -55,
"MaximumAngle": 40,
"MinimumDistance": 1.3,
"MaximumDistance": 3
}
]
},
{
"DataId": 33869,
"Locations": [
{
"Position": {
"X": 364.7684,
"Y": 70.90228,
"Z": 167.3831
},
"MinimumAngle": 105,
"MaximumAngle": 230
}
]
}
]
}
]
}

View File

@ -1,109 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 612,
"InteractionType": "None",
"AetheryteShortcut": "Fringes - Peering Stones"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33875,
"Locations": [
{
"Position": {
"X": 567.9412,
"Y": 50.43103,
"Z": 373.1152
},
"MinimumAngle": 200,
"MaximumAngle": 350
}
]
},
{
"DataId": 33876,
"Locations": [
{
"Position": {
"X": 578.4171,
"Y": 48.36443,
"Z": 365.4806
},
"MinimumAngle": -45,
"MaximumAngle": 120
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33873,
"Locations": [
{
"Position": {
"X": 599.5352,
"Y": 75.60928,
"Z": 244.3069
},
"MinimumAngle": -80,
"MaximumAngle": 70
}
]
},
{
"DataId": 33874,
"Locations": [
{
"Position": {
"X": 592.9609,
"Y": 75.62624,
"Z": 268.9515
},
"MinimumAngle": 110,
"MaximumAngle": 285
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33878,
"Locations": [
{
"Position": {
"X": 753.3094,
"Y": 72.73058,
"Z": 364.073
},
"MinimumAngle": 95,
"MaximumAngle": 240
}
]
},
{
"DataId": 33877,
"Locations": [
{
"Position": {
"X": 764.3023,
"Y": 74.18732,
"Z": 337.2563
},
"MinimumAngle": -70,
"MaximumAngle": 105
}
]
}
]
}
]
}

View File

@ -1,120 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 621,
"InteractionType": "None",
"AetheryteShortcut": "Lochs - Ala Mhigan Quarter"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33339,
"Locations": [
{
"Position": {
"X": 440.6299,
"Y": 74.86803,
"Z": -205.3779
},
"MinimumAngle": 85,
"MaximumAngle": 215
}
]
},
{
"DataId": 33340,
"Locations": [
{
"Position": {
"X": 426.4497,
"Y": 70.57706,
"Z": -198.046
},
"MinimumAngle": 95,
"MaximumAngle": 180,
"MinimumDistance": 1.3,
"MaximumDistance": 3
},
{
"Position": {
"X": 453.1248,
"Y": 77.29013,
"Z": -211.6347
},
"MinimumAngle": 85,
"MaximumAngle": 190
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33337,
"Locations": [
{
"Position": {
"X": 561.2196,
"Y": 94.65154,
"Z": -315.6258
},
"MinimumAngle": 50,
"MaximumAngle": 160
}
]
},
{
"DataId": 33338,
"Locations": [
{
"Position": {
"X": 563.1749,
"Y": 93.41929,
"Z": -335.4834
},
"MinimumAngle": -25,
"MaximumAngle": 75
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33341,
"Locations": [
{
"Position": {
"X": 388.9345,
"Y": 54.85489,
"Z": -350.8919
},
"MinimumAngle": 55,
"MaximumAngle": 150
}
]
},
{
"DataId": 33342,
"Locations": [
{
"Position": {
"X": 394.7824,
"Y": 51.66671,
"Z": -369.6645
},
"MinimumAngle": 70,
"MaximumAngle": 135
}
]
}
]
}
]
}

View File

@ -84,10 +84,8 @@
"Y": 257.4255,
"Z": -669.3115
},
"MinimumAngle": -50,
"MaximumAngle": -15,
"MinimumDistance": 2.1,
"MaximumDistance": 3
"MinimumAngle": -30,
"MaximumAngle": 5
}
]
}
@ -135,4 +133,4 @@
]
}
]
}
}

View File

@ -1,118 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 620,
"InteractionType": "None",
"AetheryteShortcut": "Peaks - Ala Gannha"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33321,
"Locations": [
{
"Position": {
"X": 518.1079,
"Y": 218.4718,
"Z": -593.7597
},
"MinimumAngle": -140,
"MaximumAngle": 70
}
]
},
{
"DataId": 33322,
"Locations": [
{
"Position": {
"X": 543.8551,
"Y": 223.6571,
"Z": -583.9418
},
"MinimumAngle": 175,
"MaximumAngle": 290
},
{
"Position": {
"X": 513.8116,
"Y": 218.4708,
"Z": -580.1434
},
"MinimumAngle": 0,
"MaximumAngle": 145
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33323,
"Locations": [
{
"Position": {
"X": 648.0388,
"Y": 230.7679,
"Z": -678.8027
},
"MinimumAngle": 225,
"MaximumAngle": 345
}
]
},
{
"DataId": 33324,
"Locations": [
{
"Position": {
"X": 675.1682,
"Y": 234.6712,
"Z": -675.749
},
"MinimumAngle": -55,
"MaximumAngle": 85
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33320,
"Locations": [
{
"Position": {
"X": 722.4699,
"Y": 242.8886,
"Z": -598.9974
},
"MinimumAngle": 65,
"MaximumAngle": 195
}
]
},
{
"DataId": 33319,
"Locations": [
{
"Position": {
"X": 718.4479,
"Y": 244.6019,
"Z": -583.6996
},
"MinimumAngle": 45,
"MaximumAngle": 190
}
]
}
]
}
]
}

View File

@ -1,31 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 620,
"InteractionType": "None",
"AetheryteShortcut": "Peaks - Ala Gannha"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33028,
"Locations": [
{
"Position": {
"X": 454.6367,
"Y": 227.1414,
"Z": -731.7471
},
"MinimumAngle": -120,
"MaximumAngle": 65
}
]
}
]
}
]
}

View File

@ -1,149 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 322.1539,
"Y": -121.22571,
"Z": -314.2446
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Ruby Sea - Tamamizu",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 613,
"InteractionType": "None"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32153,
"Locations": [
{
"Position": {
"X": -373.2205,
"Y": -136.6522,
"Z": -274.8914
}
}
]
},
{
"DataId": 32154,
"Locations": [
{
"Position": {
"X": -448.4877,
"Y": -116.7225,
"Z": -302.5894
}
},
{
"Position": {
"X": -367.8707,
"Y": -141.2844,
"Z": -234.9824
}
},
{
"Position": {
"X": -410.8549,
"Y": -118.3526,
"Z": -327.6413
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32158,
"Locations": [
{
"Position": {
"X": -541.3218,
"Y": -110.9725,
"Z": -162.0661
}
},
{
"Position": {
"X": -541.0571,
"Y": -101.0088,
"Z": -238.4313
}
},
{
"Position": {
"X": -557.3869,
"Y": -91.38704,
"Z": -232.6365
}
}
]
},
{
"DataId": 32157,
"Locations": [
{
"Position": {
"X": -527.4707,
"Y": -125.4386,
"Z": -165.366
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32155,
"Locations": [
{
"Position": {
"X": -460.3799,
"Y": -154.5827,
"Z": -110.9484
}
}
]
},
{
"DataId": 32156,
"Locations": [
{
"Position": {
"X": -399.089,
"Y": -145.1425,
"Z": -6.001478
}
},
{
"Position": {
"X": -474.2804,
"Y": -142.6447,
"Z": -92.2213
}
},
{
"Position": {
"X": -474.9154,
"Y": -132.8651,
"Z": -73.47042
}
}
]
}
]
}
]
}

View File

@ -3,19 +3,9 @@
"Author": "liza",
"Steps": [
{
"Position": {
"X": 322.1539,
"Y": -121.22571,
"Z": -314.2446
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Ruby Sea - Tamamizu",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 613,
"InteractionType": "None"
"InteractionType": "None",
"AetheryteShortcut": "Ruby Sea - Tamamizu"
}
],
"Groups": [

View File

@ -3,19 +3,9 @@
"Author": "liza",
"Steps": [
{
"Position": {
"X": 322.1539,
"Y": -121.22571,
"Z": -314.2446
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Ruby Sea - Tamamizu",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 613,
"InteractionType": "None"
"InteractionType": "None",
"AetheryteShortcut": "Ruby Sea - Onokoro"
}
],
"Groups": [

View File

@ -40,7 +40,7 @@
"Z": 634.821
},
"MinimumAngle": 45,
"MaximumAngle": 65,
"MaximumAngle": 90,
"MinimumDistance": 1.6,
"MaximumDistance": 3
},
@ -140,4 +140,4 @@
]
}
]
}
}

View File

@ -1,49 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 613,
"InteractionType": "None",
"AetheryteShortcut": "Ruby Sea - Onokoro"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32308,
"Locations": [
{
"Position": {
"X": -531.8166,
"Y": 16.39526,
"Z": 34.16671
},
"MinimumAngle": 245,
"MaximumAngle": 325
},
{
"Position": {
"X": -532.9277,
"Y": 15.60621,
"Z": 50.29741
},
"MinimumAngle": 190,
"MaximumAngle": 330
},
{
"Position": {
"X": -520.6714,
"Y": 14.15115,
"Z": 73.84262
},
"MinimumAngle": 105,
"MaximumAngle": 230
}
]
}
]
}
]
}

View File

@ -1,150 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 322.1539,
"Y": -121.22571,
"Z": -314.2446
},
"TerritoryId": 613,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Ruby Sea - Tamamizu",
"RestartNavigationIfCancelled": false
},
{
"TerritoryId": 613,
"InteractionType": "None"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33325,
"Locations": [
{
"Position": {
"X": 953.1041,
"Y": -127.1716,
"Z": -816.3145
},
"MinimumAngle": -25,
"MaximumAngle": 100
}
]
},
{
"DataId": 33326,
"Locations": [
{
"Position": {
"X": 956.8734,
"Y": -129.366,
"Z": -843.1625
},
"MinimumAngle": 75,
"MaximumAngle": 210
},
{
"Position": {
"X": 976.0558,
"Y": -131.5356,
"Z": -813.2305
},
"MinimumAngle": -65,
"MaximumAngle": 30,
"MinimumDistance": 1.4,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33327,
"Locations": [
{
"Position": {
"X": 887.1607,
"Y": -141.6279,
"Z": -863.3355
},
"MinimumAngle": 185,
"MaximumAngle": 340
}
]
},
{
"DataId": 33328,
"Locations": [
{
"Position": {
"X": 874.0369,
"Y": -135.9791,
"Z": -848.3512
},
"MinimumAngle": -80,
"MaximumAngle": 60
},
{
"Position": {
"X": 895.865,
"Y": -144.0468,
"Z": -890.5269
},
"MinimumAngle": 195,
"MaximumAngle": 315
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33329,
"Locations": [
{
"Position": {
"X": 836.5433,
"Y": -140.1729,
"Z": -948.7974
},
"MinimumAngle": 130,
"MaximumAngle": 295
}
]
},
{
"DataId": 33330,
"Locations": [
{
"Position": {
"X": 843.2012,
"Y": -139.2853,
"Z": -961.9124
},
"MinimumAngle": -95,
"MaximumAngle": 15,
"MinimumDistance": 1.3,
"MaximumDistance": 3
},
{
"Position": {
"X": 856.3994,
"Y": -142.4276,
"Z": -941.0324
},
"MinimumAngle": 115,
"MaximumAngle": 265
}
]
}
]
}
]
}

View File

@ -52,10 +52,8 @@
"Y": 70.24178,
"Z": 19.50875
},
"MinimumAngle": 140,
"MaximumAngle": 215,
"MinimumDistance": 1.8,
"MaximumDistance": 3
"MinimumAngle": 120,
"MaximumAngle": 240
}
]
}
@ -160,4 +158,4 @@
]
}
]
}
}

View File

@ -1,138 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 815,
"InteractionType": "None",
"AetheryteShortcut": "Amh Araeng - Inn at Journey's Head"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32625,
"Locations": [
{
"Position": {
"X": 451.1189,
"Y": -40.18039,
"Z": 184.7025
},
"MinimumAngle": 95,
"MaximumAngle": 245
},
{
"Position": {
"X": 471.4881,
"Y": -41.63216,
"Z": 185.0577
},
"MinimumAngle": 160,
"MaximumAngle": 285
}
]
},
{
"DataId": 32624,
"Locations": [
{
"Position": {
"X": 463.4016,
"Y": -41.51461,
"Z": 181.6076
},
"MinimumAngle": 90,
"MaximumAngle": 250
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32622,
"Locations": [
{
"Position": {
"X": 507.8041,
"Y": -33.50595,
"Z": 26.54234
},
"MinimumAngle": 60,
"MaximumAngle": 180,
"MinimumDistance": 1,
"MaximumDistance": 3
}
]
},
{
"DataId": 32623,
"Locations": [
{
"Position": {
"X": 509.3797,
"Y": -30.43971,
"Z": -2.22134
},
"MinimumAngle": -55,
"MaximumAngle": 30
},
{
"Position": {
"X": 490.9295,
"Y": -30.41992,
"Z": -0.7659363
},
"MinimumAngle": -70,
"MaximumAngle": 25
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32621,
"Locations": [
{
"Position": {
"X": 378.5,
"Y": -29.83888,
"Z": 25.41485
},
"MinimumAngle": -65,
"MaximumAngle": 30
},
{
"Position": {
"X": 358.2361,
"Y": -30,
"Z": 26.45336
},
"MinimumAngle": -40,
"MaximumAngle": 45
}
]
},
{
"DataId": 32620,
"Locations": [
{
"Position": {
"X": 365.5395,
"Y": -34.4827,
"Z": 42.98462
},
"MinimumAngle": 190,
"MaximumAngle": 285
}
]
}
]
}
]
}

View File

@ -1,132 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 815,
"InteractionType": "None",
"AetheryteShortcut": "Amh Araeng - Mord Souq"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32686,
"Locations": [
{
"Position": {
"X": 486.6385,
"Y": -28.30028,
"Z": -161.7677
},
"MinimumAngle": 155,
"MaximumAngle": 335
},
{
"Position": {
"X": 494.8945,
"Y": -21.52249,
"Z": -137.1469
}
}
]
},
{
"DataId": 32685,
"Locations": [
{
"Position": {
"X": 503.6436,
"Y": -23.70927,
"Z": -142.2979
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32689,
"Locations": [
{
"Position": {
"X": 657.1875,
"Y": -26.81644,
"Z": -235.4547
},
"MinimumAngle": 65,
"MaximumAngle": 270
}
]
},
{
"DataId": 32690,
"Locations": [
{
"Position": {
"X": 655.8629,
"Y": -27.85928,
"Z": -256.156
},
"MinimumAngle": 65,
"MaximumAngle": 235
},
{
"Position": {
"X": 656.6887,
"Y": -26.66475,
"Z": -230.172
},
"MinimumAngle": -75,
"MaximumAngle": 135
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32688,
"Locations": [
{
"Position": {
"X": 487.4965,
"Y": -33.01668,
"Z": -304.6423
},
"MinimumAngle": 150,
"MaximumAngle": 330
},
{
"Position": {
"X": 477.8194,
"Y": -31.87613,
"Z": -320.6989
},
"MinimumAngle": 180,
"MaximumAngle": 310
}
]
},
{
"DataId": 32687,
"Locations": [
{
"Position": {
"X": 481.1932,
"Y": -32.4591,
"Z": -313.7588
},
"MinimumAngle": 170,
"MaximumAngle": 305
}
]
}
]
}
]
}

View File

@ -1,136 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 815,
"InteractionType": "None",
"AetheryteShortcut": "Amh Araeng - Twine"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34411,
"Locations": [
{
"Position": {
"X": -418.0731,
"Y": 16.25609,
"Z": -127.4739
},
"MinimumAngle": 240,
"MaximumAngle": 360
}
]
},
{
"DataId": 34412,
"Locations": [
{
"Position": {
"X": -436.8404,
"Y": 18.18649,
"Z": -121.9686
},
"MinimumAngle": -80,
"MaximumAngle": 75
},
{
"Position": {
"X": -412.7203,
"Y": 17.72583,
"Z": -144.2871
},
"MinimumAngle": -145,
"MaximumAngle": 5
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34409,
"Locations": [
{
"Position": {
"X": -309.9351,
"Y": 22.43881,
"Z": -196.324
},
"MinimumAngle": -70,
"MaximumAngle": 60
}
]
},
{
"DataId": 34410,
"Locations": [
{
"Position": {
"X": -301.4662,
"Y": 22.08392,
"Z": -205.1306
},
"MinimumAngle": -145,
"MaximumAngle": -20
},
{
"Position": {
"X": -318.3467,
"Y": 23.1723,
"Z": -198.7676
},
"MinimumAngle": -45,
"MaximumAngle": 85
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34414,
"Locations": [
{
"Position": {
"X": -229.6105,
"Y": 5.158276,
"Z": -103.3359
},
"MinimumAngle": -40,
"MaximumAngle": 170
},
{
"Position": {
"X": -247.2413,
"Y": 9.6758,
"Z": -128.0531
},
"MinimumAngle": 30,
"MaximumAngle": 125
}
]
},
{
"DataId": 34413,
"Locations": [
{
"Position": {
"X": -248.8988,
"Y": 7.998118,
"Z": -121.8732
},
"MinimumAngle": 0,
"MaximumAngle": 160
}
]
}
]
}
]
}

View File

@ -1,122 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 815,
"InteractionType": "None",
"AetheryteShortcut": "Amh Araeng - Twine"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34430,
"Locations": [
{
"Position": {
"X": -449.9385,
"Y": -1.370689,
"Z": -409.258
}
},
{
"Position": {
"X": -445.7757,
"Y": -0.7637522,
"Z": -415.8121
}
}
]
},
{
"DataId": 34429,
"Locations": [
{
"Position": {
"X": -451.2528,
"Y": -1.577711,
"Z": -414.294
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34427,
"Locations": [
{
"Position": {
"X": -346.0392,
"Y": 0.6433533,
"Z": -541.9421
}
}
]
},
{
"DataId": 34428,
"Locations": [
{
"Position": {
"X": -326.9622,
"Y": 1.097262,
"Z": -537.5435
},
"MinimumAngle": 0,
"MaximumAngle": 220
},
{
"Position": {
"X": -357.2281,
"Y": 0.4458784,
"Z": -513.3207
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34431,
"Locations": [
{
"Position": {
"X": -441.0019,
"Y": -5.337227,
"Z": -636.1525
}
}
]
},
{
"DataId": 34432,
"Locations": [
{
"Position": {
"X": -464.1121,
"Y": -5.420424,
"Z": -649.8243
}
},
{
"Position": {
"X": -436.4872,
"Y": -5.205373,
"Z": -638.8244
},
"MinimumAngle": -95,
"MaximumAngle": 85
}
]
}
]
}
]
}

View File

@ -1,140 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 329.38184,
"Y": 9.586891,
"Z": 749.2314
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Il Mheg - Lydha Lran",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"Position": {
"X": 351.29465,
"Y": -38.275272,
"Z": 763.0457
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
"Fly": true,
"DisableNavmesh": true
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32832,
"Locations": [
{
"Position": {
"X": 382.7488,
"Y": -72.47251,
"Z": 794.3513
}
},
{
"Position": {
"X": 388.7861,
"Y": -74.19925,
"Z": 801.0947
}
},
{
"Position": {
"X": 386.1797,
"Y": -73.5009,
"Z": 787.0967
}
}
]
},
{
"DataId": 32831,
"Locations": [
{
"Position": {
"X": 396.5799,
"Y": -76.29187,
"Z": 790.9022
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32830,
"Locations": [
{
"Position": {
"X": 492.6384,
"Y": -82.73045,
"Z": 804.714
}
},
{
"Position": {
"X": 482.808,
"Y": -82.61642,
"Z": 802.591
}
}
]
},
{
"DataId": 32829,
"Locations": [
{
"Position": {
"X": 493.5814,
"Y": -82.43644,
"Z": 790.831
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32827,
"Locations": [
{
"Position": {
"X": 490.9451,
"Y": -97.88062,
"Z": 636.6115
}
}
]
},
{
"DataId": 32828,
"Locations": [
{
"Position": {
"X": 491.5274,
"Y": -100.762,
"Z": 626.6958
}
}
]
}
]
}
]
}

View File

@ -1,158 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 491.82068,
"Y": 3.9304812,
"Z": 487.9401
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Il Mheg - Lydha Lran",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"Position": {
"X": 506.00256,
"Y": -37.76961,
"Z": 485.49347
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
"Fly": true,
"DisableNavmesh": true
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32836,
"Locations": [
{
"Position": {
"X": 539.5437,
"Y": -81.62054,
"Z": 520.1647
},
"MinimumAngle": -30,
"MaximumAngle": 165
},
{
"Position": {
"X": 555.8599,
"Y": -73.65717,
"Z": 494.6164
},
"MinimumAngle": 35,
"MaximumAngle": 240
},
{
"Position": {
"X": 576.4164,
"Y": -69.75835,
"Z": 512.9263
},
"MinimumAngle": -75,
"MaximumAngle": 70
}
]
},
{
"DataId": 32835,
"Locations": [
{
"Position": {
"X": 552.5504,
"Y": -78.23183,
"Z": 512.429
},
"MinimumAngle": -30,
"MaximumAngle": 135
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32838,
"Locations": [
{
"Position": {
"X": 652.7063,
"Y": -46.64378,
"Z": 488.4543
},
"MinimumAngle": 0,
"MaximumAngle": 120
},
{
"Position": {
"X": 669.2959,
"Y": -47.14824,
"Z": 513.9606
},
"MinimumAngle": -20,
"MaximumAngle": 105
}
]
},
{
"DataId": 32837,
"Locations": [
{
"Position": {
"X": 659.1685,
"Y": -46.65159,
"Z": 499.8015
},
"MinimumAngle": 0,
"MaximumAngle": 125
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32834,
"Locations": [
{
"Position": {
"X": 576.1583,
"Y": -46.68682,
"Z": 375.5306
},
"MinimumAngle": -40,
"MaximumAngle": 150
}
]
},
{
"DataId": 32833,
"Locations": [
{
"Position": {
"X": 571.1834,
"Y": -46.41214,
"Z": 360.5112
},
"MinimumAngle": 0,
"MaximumAngle": 115
}
]
}
]
}
]
}

View File

@ -1,134 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 816,
"InteractionType": "None",
"AetheryteShortcut": "Il Mheg - Wolekdorf"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34407,
"Locations": [
{
"Position": {
"X": 398.7715,
"Y": 58.00708,
"Z": -535.3972
},
"MinimumAngle": 95,
"MaximumAngle": 225
}
]
},
{
"DataId": 34408,
"Locations": [
{
"Position": {
"X": 395.787,
"Y": 57.58823,
"Z": -532.1421
},
"MinimumAngle": 105,
"MaximumAngle": 180,
"MinimumDistance": 1.5,
"MaximumDistance": 3
},
{
"Position": {
"X": 403.3334,
"Y": 58.56588,
"Z": -533.6083
},
"MinimumAngle": 155,
"MaximumAngle": 325
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34405,
"Locations": [
{
"Position": {
"X": 563.6605,
"Y": 96.62567,
"Z": -409.83
},
"MinimumAngle": 60,
"MaximumAngle": 205
}
]
},
{
"DataId": 34406,
"Locations": [
{
"Position": {
"X": 584.2038,
"Y": 97.61217,
"Z": -429.3185
}
},
{
"Position": {
"X": 541.3574,
"Y": 95.33327,
"Z": -385.5562
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34403,
"Locations": [
{
"Position": {
"X": 569.0512,
"Y": 96.43839,
"Z": -571.2072
},
"MinimumAngle": 45,
"MaximumAngle": 190
}
]
},
{
"DataId": 34404,
"Locations": [
{
"Position": {
"X": 557.5918,
"Y": 92.0403,
"Z": -582.1814
},
"MinimumAngle": 70,
"MaximumAngle": 200
},
{
"Position": {
"X": 573.9432,
"Y": 96.50874,
"Z": -575.4167
},
"MinimumAngle": 85,
"MaximumAngle": 220
}
]
}
]
}
]
}

View File

@ -1,120 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 816,
"InteractionType": "None",
"AetheryteShortcut": "Il Mheg - Wolekdorf"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34422,
"Locations": [
{
"Position": {
"X": -161.9915,
"Y": 60.04895,
"Z": -647.3901
}
},
{
"Position": {
"X": -179.2945,
"Y": 60.84981,
"Z": -630.9084
}
}
]
},
{
"DataId": 34421,
"Locations": [
{
"Position": {
"X": -182.311,
"Y": 60.81965,
"Z": -640.2197
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34423,
"Locations": [
{
"Position": {
"X": -182.0749,
"Y": 60.70063,
"Z": -567.6271
}
}
]
},
{
"DataId": 34424,
"Locations": [
{
"Position": {
"X": -184.7115,
"Y": 59.23207,
"Z": -573.9592
}
},
{
"Position": {
"X": -171.0273,
"Y": 62.20385,
"Z": -576.3321
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34425,
"Locations": [
{
"Position": {
"X": -333.3387,
"Y": 82.66466,
"Z": -505.7937
}
}
]
},
{
"DataId": 34426,
"Locations": [
{
"Position": {
"X": -333.0683,
"Y": 82.72758,
"Z": -501.5885
},
"MinimumAngle": 75,
"MaximumAngle": 265
},
{
"Position": {
"X": -349.0388,
"Y": 89.44427,
"Z": -512.492
}
}
]
}
]
}
]
}

View File

@ -1,69 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 817,
"InteractionType": "None",
"AetheryteShortcut": "Rak'tika - Slitherbough"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 32993,
"Locations": [
{
"Position": {
"X": -704.8221,
"Y": 2.162976,
"Z": 563.2257
},
"MinimumAngle": 35,
"MaximumAngle": 120,
"MinimumDistance": 1,
"MaximumDistance": 2.4
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32991,
"Locations": [
{
"Position": {
"X": -702.9366,
"Y": 3.147394,
"Z": 580.9824
},
"MinimumAngle": 20,
"MaximumAngle": 120
}
]
}
]
},
{
"Nodes": [
{
"DataId": 32992,
"Locations": [
{
"Position": {
"X": -731.9697,
"Y": 2.883299,
"Z": 562.4577
},
"MinimumAngle": 100,
"MaximumAngle": 245
}
]
}
]
}
]
}

View File

@ -4,8 +4,7 @@
"Steps": [
{
"TerritoryId": 817,
"InteractionType": "None",
"AetheryteShortcut": "Rak'tika - Slitherbough"
"InteractionType": "None"
}
],
"Groups": [

View File

@ -1,65 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 817,
"InteractionType": "None",
"AetheryteShortcut": "Rak'tika - Slitherbough"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33007,
"Locations": [
{
"Position": {
"X": -643.0819,
"Y": 1.715566,
"Z": 600.3007
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33006,
"Locations": [
{
"Position": {
"X": -664.0663,
"Y": 4.130917,
"Z": 608.2639
},
"MinimumAngle": 100,
"MaximumAngle": 235
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33008,
"Locations": [
{
"Position": {
"X": -689.2495,
"Y": 4.592032,
"Z": 603.05
},
"MinimumAngle": -95,
"MaximumAngle": 85
}
]
}
]
}
]
}

View File

@ -1,67 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 817,
"InteractionType": "None",
"AetheryteShortcut": "Rak'tika - Slitherbough"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33020,
"Locations": [
{
"Position": {
"X": 226.1767,
"Y": -20.10281,
"Z": 643.5543
},
"MinimumAngle": -50,
"MaximumAngle": 120
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33018,
"Locations": [
{
"Position": {
"X": 248.9525,
"Y": -17.98949,
"Z": 657.4498
},
"MinimumAngle": -55,
"MaximumAngle": 100,
"MinimumDistance": 1,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33019,
"Locations": [
{
"Position": {
"X": 209.0277,
"Y": -25.56828,
"Z": 701.8604
}
}
]
}
]
}
]
}

View File

@ -1,132 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 818,
"InteractionType": "None",
"AetheryteShortcut": "Tempest - Ondo Cups"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34458,
"Locations": [
{
"Position": {
"X": 44.00173,
"Y": 428.2346,
"Z": -656.6179
},
"MinimumAngle": -65,
"MaximumAngle": 10
},
{
"Position": {
"X": 16.55597,
"Y": 426.627,
"Z": -670.5577
},
"MinimumAngle": -25,
"MaximumAngle": 110
}
]
},
{
"DataId": 34457,
"Locations": [
{
"Position": {
"X": 37.23584,
"Y": 427.2601,
"Z": -653.0619
},
"MinimumAngle": 245,
"MaximumAngle": 335
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34461,
"Locations": [
{
"Position": {
"X": -65.51347,
"Y": 400.3132,
"Z": -539.7745
}
}
]
},
{
"DataId": 34462,
"Locations": [
{
"Position": {
"X": -67.70384,
"Y": 400.7841,
"Z": -542.4638
},
"MinimumAngle": -85,
"MaximumAngle": 55
},
{
"Position": {
"X": -55.10947,
"Y": 399.0878,
"Z": -536.9024
},
"MinimumDistance": 1,
"MaximumDistance": 2.5
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34459,
"Locations": [
{
"Position": {
"X": -216.086,
"Y": 426.8226,
"Z": -649.2361
}
}
]
},
{
"DataId": 34460,
"Locations": [
{
"Position": {
"X": -215.228,
"Y": 427.4708,
"Z": -653.9598
},
"MinimumAngle": -55,
"MaximumAngle": 135
},
{
"Position": {
"X": -201.5463,
"Y": 427.882,
"Z": -655.0467
},
"MinimumAngle": -70,
"MaximumAngle": 65
}
]
}
]
}
]
}

View File

@ -1,136 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 818,
"InteractionType": "None",
"AetheryteShortcut": "Tempest - Ondo Cups"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34466,
"Locations": [
{
"Position": {
"X": 403.2184,
"Y": 408.0598,
"Z": -755.5223
},
"MinimumAngle": 80,
"MaximumAngle": 190
},
{
"Position": {
"X": 438.6136,
"Y": 416.6389,
"Z": -758.985
},
"MinimumAngle": 110,
"MaximumAngle": 240
}
]
},
{
"DataId": 34465,
"Locations": [
{
"Position": {
"X": 415.5816,
"Y": 412.4482,
"Z": -758.7325
},
"MinimumAngle": 90,
"MaximumAngle": 195
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34463,
"Locations": [
{
"Position": {
"X": 415.8845,
"Y": 431.2351,
"Z": -896.2997
},
"MinimumAngle": -65,
"MaximumAngle": 45
}
]
},
{
"DataId": 34464,
"Locations": [
{
"Position": {
"X": 400.7106,
"Y": 428.3826,
"Z": -893.9595
},
"MinimumAngle": -40,
"MaximumAngle": 50
},
{
"Position": {
"X": 431.8092,
"Y": 434.546,
"Z": -902.1445
},
"MinimumAngle": -95,
"MaximumAngle": 35
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34467,
"Locations": [
{
"Position": {
"X": 284.0778,
"Y": 433.4644,
"Z": -916.6171
},
"MinimumAngle": -75,
"MaximumAngle": 30
}
]
},
{
"DataId": 34468,
"Locations": [
{
"Position": {
"X": 278.6176,
"Y": 428.9509,
"Z": -904.3234
},
"MinimumAngle": 220,
"MaximumAngle": 345
},
{
"Position": {
"X": 305.7502,
"Y": 432.027,
"Z": -912.7272
},
"MinimumAngle": -80,
"MaximumAngle": 40
}
]
}
]
}
]
}

View File

@ -1,165 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 961,
"InteractionType": "None",
"AetheryteShortcut": "Elpis - Poieten Oikos"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33945,
"Locations": [
{
"Position": {
"X": -478.091,
"Y": 136.505,
"Z": -144.7721
},
"MinimumAngle": 185,
"MaximumAngle": 360
},
{
"Position": {
"X": -472.7283,
"Y": 136.9691,
"Z": -153.0142
},
"MinimumAngle": -105,
"MaximumAngle": 20,
"MinimumDistance": 1.6,
"MaximumDistance": 3
},
{
"Position": {
"X": -457.2324,
"Y": 136.2298,
"Z": -153.2787
},
"MinimumAngle": 70,
"MaximumAngle": 195
}
]
},
{
"DataId": 33944,
"Locations": [
{
"Position": {
"X": -477.1867,
"Y": 137.1741,
"Z": -150.0524
},
"MinimumAngle": -95,
"MaximumAngle": 20
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33946,
"Locations": [
{
"Position": {
"X": -335.5337,
"Y": 148.5269,
"Z": -83.30743
},
"MinimumAngle": 140,
"MaximumAngle": 275
}
]
},
{
"DataId": 33947,
"Locations": [
{
"Position": {
"X": -333.4615,
"Y": 148.59,
"Z": -78.42037
},
"MinimumAngle": -160,
"MaximumAngle": -15
},
{
"Position": {
"X": -342.3078,
"Y": 145.4429,
"Z": -109.3348
},
"MinimumAngle": 210,
"MaximumAngle": 355
},
{
"Position": {
"X": -327.4102,
"Y": 143.6382,
"Z": -118.3601
},
"MinimumAngle": -30,
"MaximumAngle": 85
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33942,
"Locations": [
{
"Position": {
"X": -291.2093,
"Y": 136.4047,
"Z": -228.9244
},
"MinimumAngle": 120,
"MaximumAngle": 225
}
]
},
{
"DataId": 33943,
"Locations": [
{
"Position": {
"X": -343.5337,
"Y": 140.0085,
"Z": -243.2652
},
"MinimumAngle": 115,
"MaximumAngle": 255
},
{
"Position": {
"X": -337.3867,
"Y": 136.3985,
"Z": -237.7285
},
"MinimumAngle": -130,
"MaximumAngle": 10
},
{
"Position": {
"X": -304.9684,
"Y": 136.2381,
"Z": -229.2424
},
"MinimumAngle": 115,
"MaximumAngle": 240
}
]
}
]
}
]
}

View File

@ -1,78 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33840,
"Locations": [
{
"Position": {
"X": 10.28351,
"Y": 486.144,
"Z": -136.9586
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33841,
"Locations": [
{
"Position": {
"X": 19.46428,
"Y": 485.9226,
"Z": -136.738
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33643,
"Locations": [
{
"Position": {
"X": 14.21117,
"Y": 486.0551,
"Z": -143.435
}
}
]
}
]
}
]
}

View File

@ -1,78 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34350,
"Locations": [
{
"Position": {
"X": 18.9518,
"Y": 485.9131,
"Z": -133.3762
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34351,
"Locations": [
{
"Position": {
"X": 15.71416,
"Y": 486.0302,
"Z": -136.2497
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34349,
"Locations": [
{
"Position": {
"X": 9.524881,
"Y": 486.2234,
"Z": -142.2316
}
}
]
}
]
}
]
}

View File

@ -1,139 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 958,
"InteractionType": "None",
"AetheryteShortcut": "Garlemald - Camp Broken Glass"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34004,
"Locations": [
{
"Position": {
"X": 121.8413,
"Y": -6.651628,
"Z": 246.5624
}
},
{
"Position": {
"X": 118.1294,
"Y": -6.603673,
"Z": 242.6448
}
},
{
"Position": {
"X": 104.2039,
"Y": -10.52542,
"Z": 266.5598
}
}
]
},
{
"DataId": 34003,
"Locations": [
{
"Position": {
"X": 98.86316,
"Y": -9.970013,
"Z": 257.6278
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34005,
"Locations": [
{
"Position": {
"X": 215.6167,
"Y": 1.599456,
"Z": 144.3346
}
}
]
},
{
"DataId": 34006,
"Locations": [
{
"Position": {
"X": 215.9073,
"Y": 1.613284,
"Z": 136.584
}
},
{
"Position": {
"X": 191.0582,
"Y": 2.43164,
"Z": 147.7836
}
},
{
"Position": {
"X": 185.1617,
"Y": 2.402756,
"Z": 138.276
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34007,
"Locations": [
{
"Position": {
"X": 264.295,
"Y": -11.52659,
"Z": 306.4464
}
}
]
},
{
"DataId": 34008,
"Locations": [
{
"Position": {
"X": 280.1551,
"Y": -11.53278,
"Z": 301.5915
}
},
{
"Position": {
"X": 257.884,
"Y": -12.02824,
"Z": 296.5428
}
},
{
"Position": {
"X": 271.8952,
"Y": -12.7945,
"Z": 320.4683
}
}
]
}
]
}
]
}

View File

@ -1,163 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 956,
"InteractionType": "None",
"AetheryteShortcut": "Labyrinthos - Archeion"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33894,
"Locations": [
{
"Position": {
"X": 458.9456,
"Y": 161.3972,
"Z": -602.1197
},
"MinimumAngle": 140,
"MaximumAngle": 250
}
]
},
{
"DataId": 33895,
"Locations": [
{
"Position": {
"X": 443.0363,
"Y": 161.2974,
"Z": -616.2661
},
"MinimumAngle": 205,
"MaximumAngle": 345
},
{
"Position": {
"X": 444.8557,
"Y": 161.3728,
"Z": -600.3932
},
"MinimumAngle": 145,
"MaximumAngle": 275
},
{
"Position": {
"X": 454.163,
"Y": 161.1728,
"Z": -629.1985
},
"MinimumAngle": -125,
"MaximumAngle": 25
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33899,
"Locations": [
{
"Position": {
"X": 570.556,
"Y": 161.4453,
"Z": -670.7103
},
"MinimumAngle": -30,
"MaximumAngle": 95
},
{
"Position": {
"X": 581.0989,
"Y": 161.3507,
"Z": -660.939
},
"MinimumAngle": 0,
"MaximumAngle": 110
},
{
"Position": {
"X": 594.2559,
"Y": 163.7275,
"Z": -639.3449
},
"MinimumAngle": 0,
"MaximumAngle": 150
}
]
},
{
"DataId": 33898,
"Locations": [
{
"Position": {
"X": 584.6903,
"Y": 161.4933,
"Z": -649.8119
},
"MinimumAngle": 70,
"MaximumAngle": 155
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33897,
"Locations": [
{
"Position": {
"X": 607.6349,
"Y": 161.3022,
"Z": -502.1884
},
"MinimumAngle": 0,
"MaximumAngle": 130
},
{
"Position": {
"X": 604.954,
"Y": 161.3468,
"Z": -508.9037
},
"MinimumAngle": 0,
"MaximumAngle": 125
},
{
"Position": {
"X": 589.7828,
"Y": 161.4424,
"Z": -519.1625
},
"MinimumAngle": 175,
"MaximumAngle": 280
}
]
},
{
"DataId": 33896,
"Locations": [
{
"Position": {
"X": 603.6301,
"Y": 161.3214,
"Z": -520.9421
},
"MinimumAngle": 20,
"MaximumAngle": 145
}
]
}
]
}
]
}

View File

@ -1,167 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 956,
"InteractionType": "None",
"AetheryteShortcut": "Old Sharlayan",
"AethernetShortcut": [
"[Old Sharlayan] Aetheryte Plaza",
"[Old Sharlayan] The Hall of Artifice (Labyrinthos)"
]
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33974,
"Locations": [
{
"Position": {
"X": -218.7686,
"Y": 166.4283,
"Z": -723.4156
},
"MinimumAngle": 85,
"MaximumAngle": 235
}
]
},
{
"DataId": 33975,
"Locations": [
{
"Position": {
"X": -212.9429,
"Y": 165.4075,
"Z": -702.5071
},
"MinimumAngle": 80,
"MaximumAngle": 230
},
{
"Position": {
"X": -230.457,
"Y": 166.878,
"Z": -708.8349
},
"MinimumAngle": 115,
"MaximumAngle": 235
},
{
"Position": {
"X": -211.0781,
"Y": 165.8331,
"Z": -732.723
},
"MinimumAngle": 60,
"MaximumAngle": 215
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33972,
"Locations": [
{
"Position": {
"X": -281.8436,
"Y": 181.3823,
"Z": -815.8576
},
"MinimumAngle": 230,
"MaximumAngle": 360
}
]
},
{
"DataId": 33973,
"Locations": [
{
"Position": {
"X": -268.4985,
"Y": 181.0501,
"Z": -829.9652
},
"MinimumAngle": -115,
"MaximumAngle": 45
},
{
"Position": {
"X": -290.0164,
"Y": 182.6228,
"Z": -817.2674
},
"MinimumAngle": -145,
"MaximumAngle": 35
},
{
"Position": {
"X": -264.0305,
"Y": 180.8218,
"Z": -837.3401
},
"MinimumAngle": -40,
"MaximumAngle": 95
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33971,
"Locations": [
{
"Position": {
"X": -385.0122,
"Y": 189.0781,
"Z": -711.0446
},
"MinimumAngle": -30,
"MaximumAngle": 100
},
{
"Position": {
"X": -407.4641,
"Y": 187.9986,
"Z": -684.2576
},
"MinimumAngle": 180,
"MaximumAngle": 310
},
{
"Position": {
"X": -395.5105,
"Y": 187.897,
"Z": -687.5342
},
"MinimumAngle": 0,
"MaximumAngle": 240
}
]
},
{
"DataId": 33970,
"Locations": [
{
"Position": {
"X": -400.513,
"Y": 188.9934,
"Z": -695.2208
},
"MinimumAngle": 165,
"MaximumAngle": 315
}
]
}
]
}
]
}

View File

@ -1,163 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 957,
"InteractionType": "None",
"AetheryteShortcut": "Thavnair - Yedlihmad"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33914,
"Locations": [
{
"Position": {
"X": -12.16765,
"Y": 20.89473,
"Z": 506.2973
},
"MinimumAngle": -35,
"MaximumAngle": 60
},
{
"Position": {
"X": 38.53326,
"Y": 21.61461,
"Z": 494.6865
},
"MinimumAngle": -100,
"MaximumAngle": 35
},
{
"Position": {
"X": 11.01325,
"Y": 20.33474,
"Z": 505.0459
},
"MinimumAngle": -80,
"MaximumAngle": 50
}
]
},
{
"DataId": 33913,
"Locations": [
{
"Position": {
"X": 21.21178,
"Y": 20.57622,
"Z": 500.2734
},
"MinimumAngle": -75,
"MaximumAngle": 35
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33909,
"Locations": [
{
"Position": {
"X": -138.8536,
"Y": 28.9297,
"Z": 406.4425
},
"MinimumAngle": -25,
"MaximumAngle": 90
}
]
},
{
"DataId": 33910,
"Locations": [
{
"Position": {
"X": -151.642,
"Y": 28.40338,
"Z": 389.8896
},
"MinimumAngle": 0,
"MaximumAngle": 120
},
{
"Position": {
"X": -153.7647,
"Y": 28.03966,
"Z": 372.3844
},
"MinimumAngle": 40,
"MaximumAngle": 165
},
{
"Position": {
"X": -122.402,
"Y": 28.91794,
"Z": 415.5278
},
"MinimumAngle": -25,
"MaximumAngle": 90
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33911,
"Locations": [
{
"Position": {
"X": -178.974,
"Y": 22.0284,
"Z": 509.5606
},
"MinimumAngle": -145,
"MaximumAngle": 15
}
]
},
{
"DataId": 33912,
"Locations": [
{
"Position": {
"X": -180.526,
"Y": 25.92117,
"Z": 532.3414
},
"MinimumAngle": 175,
"MaximumAngle": 295
},
{
"Position": {
"X": -162.8302,
"Y": 16.1582,
"Z": 523.17
},
"MinimumAngle": -115,
"MaximumAngle": -10
},
{
"Position": {
"X": -180.8041,
"Y": 27.12615,
"Z": 522.0873
},
"MinimumAngle": -155,
"MaximumAngle": 10
}
]
}
]
}
]
}

View File

@ -1,154 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 957,
"InteractionType": "None",
"AetheryteShortcut": "Thavnair - Great Work"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 33982,
"Locations": [
{
"Position": {
"X": -274.8412,
"Y": 17.35062,
"Z": 118.8987
},
"MinimumAngle": 175,
"MaximumAngle": 310
}
]
},
{
"DataId": 33983,
"Locations": [
{
"Position": {
"X": -267.3967,
"Y": 17.7139,
"Z": 123.6814
},
"MinimumAngle": 40,
"MaximumAngle": 245
},
{
"Position": {
"X": -287.5207,
"Y": 18.51543,
"Z": 101.9367
},
"MinimumAngle": 155,
"MaximumAngle": 325
},
{
"Position": {
"X": -268.33,
"Y": 19.74485,
"Z": 102.5864
},
"MinimumAngle": -150,
"MaximumAngle": 20
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33984,
"Locations": [
{
"Position": {
"X": -152.7941,
"Y": 38.65108,
"Z": 20.30975
},
"MinimumAngle": 0,
"MaximumAngle": 215
}
]
},
{
"DataId": 33985,
"Locations": [
{
"Position": {
"X": -142.8687,
"Y": 41.0236,
"Z": 21.84206
},
"MinimumAngle": -65,
"MaximumAngle": 85
},
{
"Position": {
"X": -146.3786,
"Y": 40.56817,
"Z": 29.28198
},
"MinimumAngle": -10,
"MaximumAngle": 140
},
{
"Position": {
"X": -147.6553,
"Y": 41.60496,
"Z": -0.04698198
},
"MinimumAngle": -130,
"MaximumAngle": 40
}
]
}
]
},
{
"Nodes": [
{
"DataId": 33987,
"Locations": [
{
"Position": {
"X": -270.0331,
"Y": 35.83369,
"Z": -29.07548
},
"MinimumAngle": 200,
"MaximumAngle": 330
},
{
"Position": {
"X": -274.9584,
"Y": 35.26747,
"Z": -31.89327
},
"MinimumAngle": 90,
"MaximumAngle": 290
}
]
},
{
"DataId": 33986,
"Locations": [
{
"Position": {
"X": -267.6438,
"Y": 35.07198,
"Z": -44.49979
},
"MinimumAngle": -100,
"MaximumAngle": 60
}
]
}
]
}
]
}

View File

@ -1,67 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Reah Tahra"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34364,
"Locations": [
{
"Position": {
"X": -470.5523,
"Y": 79.49631,
"Z": 259.4856
},
"MinimumAngle": 0,
"MaximumAngle": 150
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34365,
"Locations": [
{
"Position": {
"X": -493.5432,
"Y": 73.7095,
"Z": 288.547
},
"MinimumAngle": 15,
"MaximumAngle": 215
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34366,
"Locations": [
{
"Position": {
"X": -478.8098,
"Y": 76.21393,
"Z": 280.0947
},
"MinimumAngle": 50,
"MaximumAngle": 180
}
]
}
]
}
]
}

View File

@ -1,65 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Reah Tahra"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34370,
"Locations": [
{
"Position": {
"X": -614.3087,
"Y": 81.96295,
"Z": 262.5681
},
"MinimumAngle": -150,
"MaximumAngle": 20
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34371,
"Locations": [
{
"Position": {
"X": -624.2021,
"Y": 79.12945,
"Z": 278.3768
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34372,
"Locations": [
{
"Position": {
"X": -639.8513,
"Y": 78.34773,
"Z": 274.0034
},
"MinimumAngle": -60,
"MaximumAngle": 95
}
]
}
]
}
]
}

View File

@ -1,69 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Reah Tahra"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34376,
"Locations": [
{
"Position": {
"X": -586.0029,
"Y": 84.39367,
"Z": 568.1448
},
"MinimumAngle": -60,
"MaximumAngle": 75,
"MinimumDistance": 1,
"MaximumDistance": 3
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34377,
"Locations": [
{
"Position": {
"X": -578.2748,
"Y": 86.34826,
"Z": 567.2876
},
"MinimumAngle": -80,
"MaximumAngle": 60
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34378,
"Locations": [
{
"Position": {
"X": -600.2446,
"Y": 86.01588,
"Z": 557.4477
},
"MinimumAngle": -35,
"MaximumAngle": 145
}
]
}
]
}
]
}

View File

@ -1,69 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34379,
"Locations": [
{
"Position": {
"X": 454.8535,
"Y": 307.5555,
"Z": -590.8547
},
"MinimumAngle": -105,
"MaximumAngle": -25,
"MinimumDistance": 1,
"MaximumDistance": 1.6
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34380,
"Locations": [
{
"Position": {
"X": 447.787,
"Y": 300.8405,
"Z": -597.8972
},
"MinimumAngle": 45,
"MaximumAngle": 185
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34381,
"Locations": [
{
"Position": {
"X": 448.707,
"Y": 305.0525,
"Z": -591.1053
},
"MinimumAngle": 30,
"MaximumAngle": 70
}
]
}
]
}
]
}

View File

@ -1,67 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Reah Tahra"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34385,
"Locations": [
{
"Position": {
"X": 27.77994,
"Y": 73.57088,
"Z": 695.2364
},
"MinimumAngle": 0,
"MaximumAngle": 135
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34386,
"Locations": [
{
"Position": {
"X": 23.20134,
"Y": 70.90392,
"Z": 698.6194
},
"MinimumAngle": -10,
"MaximumAngle": 145
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34387,
"Locations": [
{
"Position": {
"X": 30.69294,
"Y": 75.43362,
"Z": 688.8371
},
"MinimumAngle": -5,
"MaximumAngle": 120
}
]
}
]
}
]
}

View File

@ -1,69 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "plogon_enjoyer",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34388,
"Locations": [
{
"Position": {
"X": 398.7177,
"Y": 292.5112,
"Z": -462.82
},
"MinimumAngle": -65,
"MaximumAngle": 65
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34389,
"Locations": [
{
"Position": {
"X": 373.1678,
"Y": 290.8189,
"Z": -442.4228
},
"MinimumAngle": 160,
"MaximumAngle": 305
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34390,
"Locations": [
{
"Position": {
"X": 383.5671,
"Y": 289.9682,
"Z": -392.3997
},
"MinimumAngle": 65,
"MaximumAngle": 165,
"MinimumDistance": 1,
"MaximumDistance": 3
}
]
}
]
}
]
}

View File

@ -42,18 +42,14 @@
"X": 419.309,
"Y": -10.25133,
"Z": -784.8259
},
"MinimumAngle": -25,
"MaximumAngle": 85
}
},
{
"Position": {
"X": 410.6989,
"Y": -10.9656,
"Z": -790.8315
},
"MinimumAngle": -20,
"MaximumAngle": 95
}
}
]
}
@ -160,4 +156,4 @@
]
}
]
}
}

View File

@ -52,8 +52,8 @@
"Y": -47.86026,
"Z": -394.9654
},
"MinimumAngle": -145,
"MaximumAngle": -95
"MinimumAngle": -120,
"MaximumAngle": 120
}
]
}
@ -160,4 +160,4 @@
]
}
]
}
}

View File

@ -1,178 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 417.1447,
"Y": -0.6,
"Z": -647.60004
},
"TerritoryId": 1189,
"InteractionType": "Dive",
"AetheryteShortcut": "Yak T'el - Iq Br'aax",
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked"
},
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"Position": {
"X": 417.1447,
"Y": 3,
"Z": -647.60004
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"Position": {
"X": 419.8578,
"Y": -32.6974,
"Z": -653.75275
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Fly": true
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34912,
"Locations": [
{
"Position": {
"X": 458.8916,
"Y": -51.02777,
"Z": -689.8627
}
},
{
"Position": {
"X": 430.228,
"Y": -56.21914,
"Z": -693.9346
}
},
{
"Position": {
"X": 462.8787,
"Y": -58.29268,
"Z": -704.244
}
}
]
},
{
"DataId": 34911,
"Locations": [
{
"Position": {
"X": 448.169,
"Y": -53.1458,
"Z": -696.1208
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34914,
"Locations": [
{
"Position": {
"X": 453.7438,
"Y": -59.20442,
"Z": -884.0787
}
},
{
"Position": {
"X": 399.0516,
"Y": -48.41589,
"Z": -900.1575
}
},
{
"Position": {
"X": 470.4918,
"Y": -54.81378,
"Z": -912.1257
}
}
]
},
{
"DataId": 34913,
"Locations": [
{
"Position": {
"X": 433.2036,
"Y": -56.63199,
"Z": -898.0532
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34915,
"Locations": [
{
"Position": {
"X": 263.8979,
"Y": -44.71192,
"Z": -873.9875
}
}
]
},
{
"DataId": 34916,
"Locations": [
{
"Position": {
"X": 287.7073,
"Y": -43.04572,
"Z": -886.5245
}
},
{
"Position": {
"X": 266.3744,
"Y": -47.55014,
"Z": -846.1501
}
},
{
"Position": {
"X": 259.2106,
"Y": -44.82758,
"Z": -817.9664
}
}
]
}
]
}
]
}

View File

@ -1,200 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"Position": {
"X": 417.1447,
"Y": -0.6,
"Z": -647.60004
},
"TerritoryId": 1189,
"InteractionType": "Dive",
"AetheryteShortcut": "Yak T'el - Iq Br'aax",
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked"
},
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"Position": {
"X": 417.1447,
"Y": 3,
"Z": -647.60004
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
}
},
{
"Position": {
"X": 419.8578,
"Y": -32.6974,
"Z": -653.75275
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Fly": true
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34787,
"Locations": [
{
"Position": {
"X": 482.7197,
"Y": -38.14573,
"Z": -612.8046
},
"MinimumAngle": 100,
"MaximumAngle": 275
}
]
},
{
"DataId": 34788,
"Locations": [
{
"Position": {
"X": 503.5652,
"Y": -41.40348,
"Z": -600.9512
},
"MinimumAngle": 185,
"MaximumAngle": 275
},
{
"Position": {
"X": 441.1733,
"Y": -36.58192,
"Z": -610.3331
},
"MinimumAngle": 120,
"MaximumAngle": 265
},
{
"Position": {
"X": 457.5484,
"Y": -40.0437,
"Z": -608.3312
},
"MinimumAngle": 115,
"MaximumAngle": 240
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34790,
"Locations": [
{
"Position": {
"X": 584.035,
"Y": -49.84215,
"Z": -759.925
},
"MinimumAngle": 115,
"MaximumAngle": 240
},
{
"Position": {
"X": 624.3585,
"Y": -61.07853,
"Z": -748.2542
}
},
{
"Position": {
"X": 605.4849,
"Y": -59.0002,
"Z": -772.6049
},
"MinimumAngle": 175,
"MaximumAngle": 275
}
]
},
{
"DataId": 34789,
"Locations": [
{
"Position": {
"X": 601.6854,
"Y": -53.68699,
"Z": -741.3439
},
"MinimumAngle": 185,
"MaximumAngle": 355
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34785,
"Locations": [
{
"Position": {
"X": 754.1298,
"Y": -57.09224,
"Z": -571.5818
},
"MinimumAngle": 100,
"MaximumAngle": 250
}
]
},
{
"DataId": 34786,
"Locations": [
{
"Position": {
"X": 734.2795,
"Y": -55.15427,
"Z": -573.6763
},
"MinimumAngle": 90,
"MaximumAngle": 260
},
{
"Position": {
"X": 714.931,
"Y": -53.3118,
"Z": -569.4072
},
"MinimumAngle": 115,
"MaximumAngle": 250
},
{
"Position": {
"X": 773.049,
"Y": -55.97124,
"Z": -569.7167
},
"MinimumAngle": 105,
"MaximumAngle": 240
}
]
}
]
}
]
}

View File

@ -1,29 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Common;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class AethernetShortcutExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this AethernetShortcut aethernetShortcut)
{
return ObjectCreationExpression(
IdentifierName(nameof(AethernetShortcut)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<EAetheryteLocation?>(nameof(AethernetShortcut.From),
aethernetShortcut.From,
null)
.AsSyntaxNodeOrToken(),
Assignment<EAetheryteLocation?>(nameof(AethernetShortcut.To),
aethernetShortcut.To,
null)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,28 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class ChatMessageExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this ChatMessage chatMessage)
{
ChatMessage emptyMessage = new();
return ObjectCreationExpression(
IdentifierName(nameof(ChatMessage)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(ChatMessage.ExcelSheet), chatMessage.ExcelSheet,
emptyMessage.ExcelSheet)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ChatMessage.Key), chatMessage.Key,
emptyMessage.Key)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,42 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class ComplexCombatDataExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this ComplexCombatData complexCombatData)
{
var emptyData = new ComplexCombatData();
return ObjectCreationExpression(
IdentifierName(nameof(ComplexCombatData)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(ComplexCombatData.DataId), complexCombatData.DataId,
emptyData.DataId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.MinimumKillCount),
complexCombatData.MinimumKillCount, emptyData.MinimumKillCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.RewardItemId),
complexCombatData.RewardItemId,
emptyData.RewardItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.RewardItemCount),
complexCombatData.RewardItemCount,
emptyData.RewardItemCount)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(ComplexCombatData.CompletionQuestVariablesFlags),
complexCombatData.CompletionQuestVariablesFlags),
Assignment(nameof(ComplexCombatData.IgnoreQuestMarker),
complexCombatData.IgnoreQuestMarker,
emptyData.IgnoreQuestMarker)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,47 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class DialogueChoiceExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this DialogueChoice dialogueChoice)
{
DialogueChoice emptyChoice = new();
return ObjectCreationExpression(
IdentifierName(nameof(DialogueChoice)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<EDialogChoiceType?>(nameof(DialogueChoice.Type), dialogueChoice.Type,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.ExcelSheet), dialogueChoice.ExcelSheet,
emptyChoice.ExcelSheet)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Prompt), dialogueChoice.Prompt,
emptyChoice.Prompt)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Yes), dialogueChoice.Yes, emptyChoice.Yes)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Answer), dialogueChoice.Answer,
emptyChoice.Answer)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.PromptIsRegularExpression),
dialogueChoice.PromptIsRegularExpression,
emptyChoice.PromptIsRegularExpression)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.AnswerIsRegularExpression),
dialogueChoice.AnswerIsRegularExpression,
emptyChoice.AnswerIsRegularExpression)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.DataId), dialogueChoice.DataId,
emptyChoice.DataId)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,30 +0,0 @@
using System;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class ExcelRefExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this ExcelRef excelRef)
{
if (excelRef.Type == ExcelRef.EType.Key)
return ObjectCreationExpression(
IdentifierName(nameof(ExcelRef)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(excelRef.AsKey())))));
else if (excelRef.Type == ExcelRef.EType.RowId)
return ObjectCreationExpression(
IdentifierName(nameof(ExcelRef)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(excelRef.AsRowId())))));
else
throw new Exception($"Unsupported ExcelRef type {excelRef.Type}");
}
}

View File

@ -1,38 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class GatheredItemExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this GatheredItem gatheredItem)
{
var emptyItem = new GatheredItem();
return ObjectCreationExpression(
IdentifierName(nameof(GatheredItem)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheredItem.ItemId), gatheredItem.ItemId, emptyItem.ItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.AlternativeItemId),
gatheredItem.AlternativeItemId,
emptyItem.AlternativeItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.ItemCount), gatheredItem.ItemCount,
emptyItem.ItemCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.Collectability), gatheredItem.Collectability,
emptyItem.Collectability)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.QuestAcceptedAsClass),
gatheredItem.QuestAcceptedAsClass,
emptyItem.QuestAcceptedAsClass)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,34 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Gathering;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class GatheringLocationExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this GatheringLocation location)
{
var emptyLocation = new GatheringLocation();
return ObjectCreationExpression(
IdentifierName(nameof(GatheringLocation)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheringLocation.Position), location.Position,
emptyLocation.Position).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MinimumAngle), location.MinimumAngle,
emptyLocation.MinimumAngle).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MaximumAngle), location.MaximumAngle,
emptyLocation.MaximumAngle).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MinimumDistance),
location.MinimumDistance, emptyLocation.MinimumDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MaximumDistance),
location.MaximumDistance, emptyLocation.MaximumDistance)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,29 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Gathering;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class GatheringNodeExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this GatheringNode gatheringNode)
{
var emptyLocation = new GatheringNode();
return ObjectCreationExpression(
IdentifierName(nameof(GatheringNode)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheringNode.DataId), gatheringNode.DataId,
emptyLocation.DataId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringNode.Fly), gatheringNode.Fly, emptyLocation.Fly)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(GatheringNode.Locations), gatheringNode.Locations)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,23 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Gathering;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class GatheringNodeGroupExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this GatheringNodeGroup nodeGroup)
{
return ObjectCreationExpression(
IdentifierName(nameof(GatheringNodeGroup)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
AssignmentList(nameof(GatheringNodeGroup.Nodes), nodeGroup.Nodes)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,33 +0,0 @@
using System.Numerics;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class JumpDestinationExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this JumpDestination jumpDestination)
{
return ObjectCreationExpression(
IdentifierName(nameof(JumpDestination)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<Vector3?>(nameof(JumpDestination.Position), jumpDestination.Position,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.StopDistance), jumpDestination.StopDistance,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.DelaySeconds), jumpDestination.DelaySeconds,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.Type), jumpDestination.Type, default)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,19 +0,0 @@
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class LeveIdExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this LeveId leveId)
{
return ObjectCreationExpression(
IdentifierName(nameof(LeveId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(leveId.Value)))));
}
}

View File

@ -1,19 +0,0 @@
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class QuestIdExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this QuestId questId)
{
return ObjectCreationExpression(
IdentifierName(nameof(QuestId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(questId.Value)))));
}
}

View File

@ -1,140 +0,0 @@
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class QuestStepExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this QuestStep step)
{
var emptyStep = new QuestStep();
return ObjectCreationExpression(
IdentifierName(nameof(QuestStep)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(step.InteractionType)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.DataId)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.Position)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.TerritoryId))
})))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(QuestStep.StopDistance), step.StopDistance,
emptyStep.StopDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.NpcWaitDistance), step.NpcWaitDistance,
emptyStep.NpcWaitDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.TargetTerritoryId), step.TargetTerritoryId,
emptyStep.TargetTerritoryId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.DelaySecondsAtStart), step.DelaySecondsAtStart,
emptyStep.DelaySecondsAtStart)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.PickUpItemId), step.PickUpItemId, emptyStep.PickUpItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Disabled), step.Disabled, emptyStep.Disabled)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.DisableNavmesh), step.DisableNavmesh,
emptyStep.DisableNavmesh)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Mount), step.Mount, emptyStep.Mount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Fly), step.Fly, emptyStep.Fly)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Land), step.Land, emptyStep.Land)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.IgnoreDistanceToObject),
step.IgnoreDistanceToObject, emptyStep.IgnoreDistanceToObject)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.RestartNavigationIfCancelled),
step.RestartNavigationIfCancelled, emptyStep.RestartNavigationIfCancelled)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Aetheryte), step.Aetheryte, emptyStep.Aetheryte)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AethernetShard), step.AethernetShard,
emptyStep.AethernetShard)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AetheryteShortcut), step.AetheryteShortcut,
emptyStep.AetheryteShortcut)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AethernetShortcut), step.AethernetShortcut,
emptyStep.AethernetShortcut)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AetherCurrentId), step.AetherCurrentId,
emptyStep.AetherCurrentId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ItemId), step.ItemId, emptyStep.ItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.GroundTarget), step.GroundTarget,
emptyStep.GroundTarget)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ItemCount), step.ItemCount, emptyStep.ItemCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Emote), step.Emote, emptyStep.Emote)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ChatMessage), step.ChatMessage,
emptyStep.ChatMessage)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Action), step.Action, emptyStep.Action)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.EnemySpawnType), step.EnemySpawnType,
emptyStep.EnemySpawnType)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.KillEnemyDataIds), step.KillEnemyDataIds)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.ComplexCombatData), step.ComplexCombatData)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.CombatDelaySecondsAtStart),
step.CombatDelaySecondsAtStart,
emptyStep.CombatDelaySecondsAtStart)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.JumpDestination), step.JumpDestination,
emptyStep.JumpDestination)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ContentFinderConditionId),
step.ContentFinderConditionId, emptyStep.ContentFinderConditionId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.SkipConditions), step.SkipConditions,
emptyStep.SkipConditions)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.RequiredQuestVariables),
step.RequiredQuestVariables)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.ItemsToGather),
step.ItemsToGather),
AssignmentList(nameof(QuestStep.CompletionQuestVariablesFlags),
step.CompletionQuestVariablesFlags)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.DialogueChoices), step.DialogueChoices)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.PointMenuChoices), step.PointMenuChoices)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.PickUpQuestId), step.PickUpQuestId,
emptyStep.PickUpQuestId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.TurnInQuestId), step.TurnInQuestId,
emptyStep.TurnInQuestId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.NextQuestId), step.NextQuestId,
emptyStep.NextQuestId)
.AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,38 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class QuestWorkValueExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this QuestWorkValue qwv)
{
return ObjectCreationExpression(
IdentifierName(nameof(QuestWorkValue)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(qwv.High)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(qwv.Low)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(qwv.Mode))
})));
}
public static ExpressionSyntax ToExpressionSyntax(this List<QuestWorkValue> list)
{
return CollectionExpression(
SeparatedList<CollectionElementSyntax>(
SyntaxNodeList(list.Select(x => ExpressionElement(
LiteralValue(x)).AsSyntaxNodeOrToken()).ToArray())));
}
}

View File

@ -1,19 +0,0 @@
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class SatisfactionSupplyIdExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this SatisfactionSupplyNpcId satisfactionSupplyNpcId)
{
return ObjectCreationExpression(
IdentifierName(nameof(SatisfactionSupplyNpcId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(satisfactionSupplyNpcId.Value)))));
}
}

View File

@ -1,152 +0,0 @@
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Questing;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class SkipConditionsExtensions
{
public static ExpressionSyntax ToExpressionSyntax(this SkipConditions skipConditions)
{
var emptySkip = new SkipConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipConditions.StepIf), skipConditions.StepIf,
emptySkip.StepIf)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipConditions.AetheryteShortcutIf),
skipConditions.AetheryteShortcutIf, emptySkip.AetheryteShortcutIf)
.AsSyntaxNodeOrToken(),
Assignment(nameof(skipConditions.AethernetShortcutIf),
skipConditions.AethernetShortcutIf, emptySkip.AethernetShortcutIf)
.AsSyntaxNodeOrToken()))));
}
public static ExpressionSyntax ToExpressionSyntax(this SkipStepConditions skipStepConditions)
{
var emptyStep = new SkipStepConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipStepConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipStepConditions.Never), skipStepConditions.Never,
emptyStep.Never)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.CompletionQuestVariablesFlags),
skipStepConditions.CompletionQuestVariablesFlags)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Flying), skipStepConditions.Flying,
emptyStep.Flying)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Chocobo), skipStepConditions.Chocobo,
emptyStep.Chocobo)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.NotTargetable),
skipStepConditions.NotTargetable, emptyStep.NotTargetable)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.InTerritory),
skipStepConditions.InTerritory).AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.NotInTerritory),
skipStepConditions.NotInTerritory).AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Item), skipStepConditions.Item,
emptyStep.Item)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.QuestsAccepted),
skipStepConditions.QuestsAccepted).AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.QuestsCompleted),
skipStepConditions.QuestsCompleted).AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.AetheryteLocked),
skipStepConditions.AetheryteLocked, emptyStep.AetheryteLocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.AetheryteUnlocked),
skipStepConditions.AetheryteUnlocked, emptyStep.AetheryteUnlocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.NearPosition),
skipStepConditions.NearPosition, emptyStep.NearPosition)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.ExtraCondition),
skipStepConditions.ExtraCondition, emptyStep.ExtraCondition)
.AsSyntaxNodeOrToken()))));
}
public static ExpressionSyntax ToExpressionSyntax(this SkipItemConditions skipItemCondition)
{
var emptyItem = new SkipItemConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipItemConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipItemConditions.NotInInventory),
skipItemCondition.NotInInventory,
emptyItem.NotInInventory)))));
}
public static ExpressionSyntax ToExpressionSyntax(this NearPositionCondition nearPositionCondition)
{
var emptyCondition = new NearPositionCondition();
return ObjectCreationExpression(
IdentifierName(nameof(NearPositionCondition)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(NearPositionCondition.Position),
nearPositionCondition.Position, emptyCondition.Position)
.AsSyntaxNodeOrToken(),
Assignment(nameof(NearPositionCondition.MaximumDistance),
nearPositionCondition.MaximumDistance, emptyCondition.MaximumDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(NearPositionCondition.TerritoryId),
nearPositionCondition.TerritoryId, emptyCondition.TerritoryId)
.AsSyntaxNodeOrToken()))));
}
public static ExpressionSyntax ToExpressionSyntax(this SkipAetheryteCondition skipAetheryteCondition)
{
var emptyAetheryte = new SkipAetheryteCondition();
return ObjectCreationExpression(
IdentifierName(nameof(SkipAetheryteCondition)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipAetheryteCondition.Never), skipAetheryteCondition.Never,
emptyAetheryte.Never),
Assignment(nameof(SkipAetheryteCondition.InSameTerritory),
skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory),
AssignmentList(nameof(SkipAetheryteCondition.InTerritory),
skipAetheryteCondition.InTerritory),
AssignmentList(nameof(SkipAetheryteCondition.QuestsAccepted),
skipAetheryteCondition.QuestsAccepted),
AssignmentList(nameof(skipAetheryteCondition.QuestsCompleted),
skipAetheryteCondition.QuestsCompleted),
Assignment(nameof(SkipAetheryteCondition.AetheryteLocked),
skipAetheryteCondition.AetheryteLocked, emptyAetheryte.AetheryteLocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipAetheryteCondition.AetheryteUnlocked),
skipAetheryteCondition.AetheryteUnlocked,
emptyAetheryte.AetheryteUnlocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipAetheryteCondition.RequiredQuestVariablesNotMet),
skipAetheryteCondition.RequiredQuestVariablesNotMet,
emptyAetheryte.RequiredQuestVariablesNotMet)
.AsSyntaxNodeOrToken(),
Assignment(nameof(skipAetheryteCondition.NearPosition), skipAetheryteCondition.NearPosition,
emptyAetheryte.NearPosition).AsSyntaxNodeOrToken()))));
}
}

View File

@ -1,28 +0,0 @@
using System.Numerics;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
using static Questionable.QuestPathGenerator.RoslynShortcuts;
namespace Questionable.QuestPathGenerator.RoslynElements;
internal static class Vector3Extensions
{
public static ExpressionSyntax ToExpressionSyntax(this Vector3 vector)
{
return ObjectCreationExpression(
IdentifierName(nameof(Vector3)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(vector.X)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(vector.Y)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(vector.Z))
})));
}
}

View File

@ -8,7 +8,6 @@ using Microsoft.CodeAnalysis.CSharp.Syntax;
using Questionable.Model.Common;
using Questionable.Model.Gathering;
using Questionable.Model.Questing;
using Questionable.QuestPathGenerator.RoslynElements;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
namespace Questionable.QuestPathGenerator;
@ -36,48 +35,559 @@ public static class RoslynShortcuts
{
try
{
return value switch
if (value is string s)
return LiteralExpression(SyntaxKind.StringLiteralExpression, Literal(s));
else if (value is bool b)
return LiteralExpression(b ? SyntaxKind.TrueLiteralExpression : SyntaxKind.FalseLiteralExpression);
else if (value is short i16)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(i16));
else if (value is int i32)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(i32));
else if (value is byte u8)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u8));
else if (value is ushort u16)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u16));
else if (value is uint u32)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u32));
else if (value is float f)
return LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(f));
else if (value != null && value.GetType().IsEnum)
return MemberAccessExpression(
SyntaxKind.SimpleMemberAccessExpression,
IdentifierName(value.GetType().Name),
IdentifierName(value.GetType().GetEnumName(value)!));
else if (value is QuestStep step)
{
null => LiteralExpression(SyntaxKind.NullLiteralExpression),
string s => LiteralExpression(SyntaxKind.StringLiteralExpression, Literal(s)),
bool b => LiteralExpression(b ? SyntaxKind.TrueLiteralExpression : SyntaxKind.FalseLiteralExpression),
short i16 => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(i16)),
int i32 => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(i32)),
byte u8 => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u8)),
ushort u16 => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u16)),
uint u32 => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(u32)),
float f => LiteralExpression(SyntaxKind.NumericLiteralExpression, Literal(f)),
QuestStep step => step.ToExpressionSyntax(),
QuestId questId => questId.ToExpressionSyntax(),
LeveId leveId => leveId.ToExpressionSyntax(),
SatisfactionSupplyNpcId satisfactionSupplyNpcId => satisfactionSupplyNpcId.ToExpressionSyntax(),
Vector3 vector => vector.ToExpressionSyntax(),
AethernetShortcut aethernetShortcut => aethernetShortcut.ToExpressionSyntax(),
ChatMessage chatMessage => chatMessage.ToExpressionSyntax(),
DialogueChoice dialogueChoice => dialogueChoice.ToExpressionSyntax(),
JumpDestination jumpDestination => jumpDestination.ToExpressionSyntax(),
ExcelRef excelRef => excelRef.ToExpressionSyntax(),
ComplexCombatData complexCombatData => complexCombatData.ToExpressionSyntax(),
QuestWorkValue questWorkValue => questWorkValue.ToExpressionSyntax(),
List<QuestWorkValue> list => list.ToExpressionSyntax(), // TODO fix in AssignmentList
SkipConditions skipConditions => skipConditions.ToExpressionSyntax(),
SkipStepConditions skipStepConditions => skipStepConditions.ToExpressionSyntax(),
SkipItemConditions skipItemCondition => skipItemCondition.ToExpressionSyntax(),
NearPositionCondition nearPositionCondition => nearPositionCondition.ToExpressionSyntax(),
SkipAetheryteCondition skipAetheryteCondition => skipAetheryteCondition.ToExpressionSyntax(),
GatheredItem gatheredItem => gatheredItem.ToExpressionSyntax(),
GatheringNodeGroup nodeGroup => nodeGroup.ToExpressionSyntax(),
GatheringNode nodeLocation => nodeLocation.ToExpressionSyntax(),
GatheringLocation location => location.ToExpressionSyntax(),
not null when value.GetType().IsEnum => MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression,
IdentifierName(value.GetType().Name), IdentifierName(value.GetType().GetEnumName(value)!)),
_ => throw new Exception($"Unsupported data type {value.GetType()} = {value}")
};
var emptyStep = new QuestStep();
return ObjectCreationExpression(
IdentifierName(nameof(QuestStep)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(step.InteractionType)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.DataId)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.Position)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(step.TerritoryId))
})))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(QuestStep.StopDistance), step.StopDistance,
emptyStep.StopDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.NpcWaitDistance), step.NpcWaitDistance,
emptyStep.NpcWaitDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.TargetTerritoryId), step.TargetTerritoryId,
emptyStep.TargetTerritoryId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.DelaySecondsAtStart), step.DelaySecondsAtStart,
emptyStep.DelaySecondsAtStart)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Disabled), step.Disabled, emptyStep.Disabled)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.DisableNavmesh), step.DisableNavmesh,
emptyStep.DisableNavmesh)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Mount), step.Mount, emptyStep.Mount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Fly), step.Fly, emptyStep.Fly)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Land), step.Land, emptyStep.Land)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Sprint), step.Sprint, emptyStep.Sprint)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.IgnoreDistanceToObject),
step.IgnoreDistanceToObject, emptyStep.IgnoreDistanceToObject)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Comment), step.Comment, emptyStep.Comment)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Aetheryte), step.Aetheryte, emptyStep.Aetheryte)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AethernetShard), step.AethernetShard,
emptyStep.AethernetShard)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AetheryteShortcut), step.AetheryteShortcut,
emptyStep.AetheryteShortcut)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AethernetShortcut), step.AethernetShortcut,
emptyStep.AethernetShortcut)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.AetherCurrentId), step.AetherCurrentId,
emptyStep.AetherCurrentId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ItemId), step.ItemId, emptyStep.ItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.GroundTarget), step.GroundTarget,
emptyStep.GroundTarget)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ItemCount), step.ItemCount, emptyStep.ItemCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Emote), step.Emote, emptyStep.Emote)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ChatMessage), step.ChatMessage,
emptyStep.ChatMessage)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.Action), step.Action, emptyStep.Action)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.EnemySpawnType), step.EnemySpawnType,
emptyStep.EnemySpawnType)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.KillEnemyDataIds), step.KillEnemyDataIds)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.ComplexCombatData), step.ComplexCombatData)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.CombatDelaySecondsAtStart),
step.CombatDelaySecondsAtStart,
emptyStep.CombatDelaySecondsAtStart)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.JumpDestination), step.JumpDestination,
emptyStep.JumpDestination)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.ContentFinderConditionId),
step.ContentFinderConditionId, emptyStep.ContentFinderConditionId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.SkipConditions), step.SkipConditions,
emptyStep.SkipConditions)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.RequiredQuestVariables),
step.RequiredQuestVariables)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.RequiredGatheredItems),
step.RequiredGatheredItems),
AssignmentList(nameof(QuestStep.CompletionQuestVariablesFlags),
step.CompletionQuestVariablesFlags)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.DialogueChoices), step.DialogueChoices)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.PointMenuChoices), step.PointMenuChoices)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.PickUpQuestId), step.PickUpQuestId,
emptyStep.PickUpQuestId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.TurnInQuestId), step.TurnInQuestId,
emptyStep.TurnInQuestId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(QuestStep.NextQuestId), step.NextQuestId,
emptyStep.NextQuestId)
.AsSyntaxNodeOrToken()))));
}
else if (value is QuestId questId)
{
return ObjectCreationExpression(
IdentifierName(nameof(QuestId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(questId.Value)))));
}
else if (value is LeveId leveId)
{
return ObjectCreationExpression(
IdentifierName(nameof(LeveId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(leveId.Value)))));
}
else if (value is SatisfactionSupplyNpcId satisfactionSupplyNpcId)
{
return ObjectCreationExpression(
IdentifierName(nameof(SatisfactionSupplyNpcId)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(satisfactionSupplyNpcId.Value)))));
}
else if (value is Vector3 vector)
{
return ObjectCreationExpression(
IdentifierName(nameof(Vector3)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(vector.X)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(vector.Y)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(vector.Z))
})));
}
else if (value is AethernetShortcut aethernetShortcut)
{
return ObjectCreationExpression(
IdentifierName(nameof(AethernetShortcut)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<EAetheryteLocation?>(nameof(AethernetShortcut.From),
aethernetShortcut.From,
null)
.AsSyntaxNodeOrToken(),
Assignment<EAetheryteLocation?>(nameof(AethernetShortcut.To), aethernetShortcut.To,
null)
.AsSyntaxNodeOrToken()))));
}
else if (value is ChatMessage chatMessage)
{
ChatMessage emptyMessage = new();
return ObjectCreationExpression(
IdentifierName(nameof(ChatMessage)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(ChatMessage.ExcelSheet), chatMessage.ExcelSheet,
emptyMessage.ExcelSheet)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ChatMessage.Key), chatMessage.Key,
emptyMessage.Key)
.AsSyntaxNodeOrToken()))));
}
else if (value is DialogueChoice dialogueChoice)
{
DialogueChoice emptyChoice = new();
return ObjectCreationExpression(
IdentifierName(nameof(DialogueChoice)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<EDialogChoiceType?>(nameof(DialogueChoice.Type), dialogueChoice.Type,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.ExcelSheet), dialogueChoice.ExcelSheet,
emptyChoice.ExcelSheet)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Prompt), dialogueChoice.Prompt, emptyChoice.Prompt)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Yes), dialogueChoice.Yes, emptyChoice.Yes)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.Answer), dialogueChoice.Answer, emptyChoice.Answer)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.AnswerIsRegularExpression),
dialogueChoice.AnswerIsRegularExpression,
emptyChoice.AnswerIsRegularExpression)
.AsSyntaxNodeOrToken(),
Assignment(nameof(DialogueChoice.DataId), dialogueChoice.DataId, emptyChoice.DataId)
.AsSyntaxNodeOrToken()))));
}
else if (value is JumpDestination jumpDestination)
{
return ObjectCreationExpression(
IdentifierName(nameof(JumpDestination)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment<Vector3?>(nameof(JumpDestination.Position), jumpDestination.Position,
null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.StopDistance), jumpDestination.StopDistance, null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.DelaySeconds), jumpDestination.DelaySeconds, null)
.AsSyntaxNodeOrToken(),
Assignment(nameof(JumpDestination.Type), jumpDestination.Type, default)
.AsSyntaxNodeOrToken()))));
}
else if (value is ExcelRef excelRef)
{
if (excelRef.Type == ExcelRef.EType.Key)
{
return ObjectCreationExpression(
IdentifierName(nameof(ExcelRef)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(excelRef.AsKey())))));
}
else if (excelRef.Type == ExcelRef.EType.RowId)
{
return ObjectCreationExpression(
IdentifierName(nameof(ExcelRef)))
.WithArgumentList(
ArgumentList(
SingletonSeparatedList(
Argument(LiteralValue(excelRef.AsRowId())))));
}
else
throw new Exception($"Unsupported ExcelRef type {excelRef.Type}");
}
else if (value is ComplexCombatData complexCombatData)
{
var emptyData = new ComplexCombatData();
return ObjectCreationExpression(
IdentifierName(nameof(ComplexCombatData)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(ComplexCombatData.DataId), complexCombatData.DataId,
emptyData.DataId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.MinimumKillCount),
complexCombatData.MinimumKillCount, emptyData.MinimumKillCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.RewardItemId), complexCombatData.RewardItemId,
emptyData.RewardItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(ComplexCombatData.RewardItemCount),
complexCombatData.RewardItemCount,
emptyData.RewardItemCount)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(ComplexCombatData.CompletionQuestVariablesFlags),
complexCombatData.CompletionQuestVariablesFlags),
Assignment(nameof(ComplexCombatData.IgnoreQuestMarker),
complexCombatData.IgnoreQuestMarker,
emptyData.IgnoreQuestMarker)
.AsSyntaxNodeOrToken()))));
}
else if (value is QuestWorkValue qwv)
{
return ObjectCreationExpression(
IdentifierName(nameof(QuestWorkValue)))
.WithArgumentList(
ArgumentList(
SeparatedList<ArgumentSyntax>(
new SyntaxNodeOrToken[]
{
Argument(LiteralValue(qwv.High)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(qwv.Low)),
Token(SyntaxKind.CommaToken),
Argument(LiteralValue(qwv.Mode))
})));
}
else if (value is List<QuestWorkValue> list)
{
return CollectionExpression(
SeparatedList<CollectionElementSyntax>(
SyntaxNodeList(list.Select(x => ExpressionElement(
LiteralValue(x)).AsSyntaxNodeOrToken()).ToArray())));
}
else if (value is SkipConditions skipConditions)
{
var emptySkip = new SkipConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipConditions.StepIf), skipConditions.StepIf, emptySkip.StepIf)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipConditions.AetheryteShortcutIf),
skipConditions.AetheryteShortcutIf, emptySkip.AetheryteShortcutIf)
.AsSyntaxNodeOrToken(),
Assignment(nameof(skipConditions.AethernetShortcutIf),
skipConditions.AethernetShortcutIf, emptySkip.AethernetShortcutIf)
.AsSyntaxNodeOrToken()))));
}
else if (value is SkipStepConditions skipStepConditions)
{
var emptyStep = new SkipStepConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipStepConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipStepConditions.Never), skipStepConditions.Never,
emptyStep.Never)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.CompletionQuestVariablesFlags),
skipStepConditions.CompletionQuestVariablesFlags)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Flying), skipStepConditions.Flying,
emptyStep.Flying)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Chocobo), skipStepConditions.Chocobo,
emptyStep.Chocobo)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.NotTargetable),
skipStepConditions.NotTargetable, emptyStep.NotTargetable)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.InTerritory),
skipStepConditions.InTerritory).AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.NotInTerritory),
skipStepConditions.NotInTerritory).AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Item), skipStepConditions.Item, emptyStep.Item)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.QuestsAccepted),
skipStepConditions.QuestsAccepted).AsSyntaxNodeOrToken(),
AssignmentList(nameof(SkipStepConditions.QuestsCompleted),
skipStepConditions.QuestsCompleted).AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.AetheryteLocked),
skipStepConditions.AetheryteLocked, emptyStep.AetheryteLocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.AetheryteUnlocked),
skipStepConditions.AetheryteUnlocked, emptyStep.AetheryteUnlocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.NearPosition),
skipStepConditions.NearPosition, emptyStep.NearPosition)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.ExtraCondition),
skipStepConditions.ExtraCondition, emptyStep.ExtraCondition)
.AsSyntaxNodeOrToken()))));
}
else if (value is SkipItemConditions skipItemCondition)
{
var emptyItem = new SkipItemConditions();
return ObjectCreationExpression(
IdentifierName(nameof(SkipItemConditions)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipItemConditions.NotInInventory),
skipItemCondition.NotInInventory,
emptyItem.NotInInventory)))));
}
else if (value is NearPositionCondition nearPositionCondition)
{
var emptyCondition = new NearPositionCondition();
return ObjectCreationExpression(
IdentifierName(nameof(NearPositionCondition)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(NearPositionCondition.Position),
nearPositionCondition.Position, emptyCondition.Position).AsSyntaxNodeOrToken(),
Assignment(nameof(NearPositionCondition.MaximumDistance),
nearPositionCondition.MaximumDistance, emptyCondition.MaximumDistance)
.AsSyntaxNodeOrToken()))));
}
else if (value is SkipAetheryteCondition skipAetheryteCondition)
{
var emptyAetheryte = new SkipAetheryteCondition();
return ObjectCreationExpression(
IdentifierName(nameof(SkipAetheryteCondition)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(SkipAetheryteCondition.Never), skipAetheryteCondition.Never,
emptyAetheryte.Never),
Assignment(nameof(SkipAetheryteCondition.InSameTerritory),
skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory),
AssignmentList(nameof(SkipAetheryteCondition.InTerritory),
skipAetheryteCondition.InTerritory),
Assignment(nameof(SkipAetheryteCondition.AetheryteLocked),
skipAetheryteCondition.AetheryteLocked, emptyAetheryte.AetheryteLocked)
.AsSyntaxNodeOrToken(),
Assignment(nameof(SkipAetheryteCondition.AetheryteUnlocked),
skipAetheryteCondition.AetheryteUnlocked, emptyAetheryte.AetheryteUnlocked)
.AsSyntaxNodeOrToken()))));
}
else if (value is GatheredItem gatheredItem)
{
var emptyItem = new GatheredItem();
return ObjectCreationExpression(
IdentifierName(nameof(GatheredItem)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheredItem.ItemId), gatheredItem.ItemId, emptyItem.ItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.AlternativeItemId), gatheredItem.AlternativeItemId,
emptyItem.AlternativeItemId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.ItemCount), gatheredItem.ItemCount,
emptyItem.ItemCount)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.Collectability), gatheredItem.Collectability,
emptyItem.Collectability)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.QuestAcceptedAsClass),
gatheredItem.QuestAcceptedAsClass,
emptyItem.QuestAcceptedAsClass)
.AsSyntaxNodeOrToken()))));
}
else if (value is GatheringNodeGroup nodeGroup)
{
return ObjectCreationExpression(
IdentifierName(nameof(GatheringNodeGroup)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
AssignmentList(nameof(GatheringNodeGroup.Nodes), nodeGroup.Nodes)
.AsSyntaxNodeOrToken()))));
}
else if (value is GatheringNode nodeLocation)
{
var emptyLocation = new GatheringNode();
return ObjectCreationExpression(
IdentifierName(nameof(GatheringNode)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheringNode.DataId), nodeLocation.DataId,
emptyLocation.DataId)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringNode.Fly), nodeLocation.Fly, emptyLocation.Fly)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(GatheringNode.Locations), nodeLocation.Locations)
.AsSyntaxNodeOrToken()))));
}
else if (value is GatheringLocation location)
{
var emptyLocation = new GatheringLocation();
return ObjectCreationExpression(
IdentifierName(nameof(GatheringLocation)))
.WithInitializer(
InitializerExpression(
SyntaxKind.ObjectInitializerExpression,
SeparatedList<ExpressionSyntax>(
SyntaxNodeList(
Assignment(nameof(GatheringLocation.Position), location.Position,
emptyLocation.Position).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MinimumAngle), location.MinimumAngle,
emptyLocation.MinimumAngle).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MaximumAngle), location.MaximumAngle,
emptyLocation.MaximumAngle).AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MinimumDistance),
location.MinimumDistance, emptyLocation.MinimumDistance)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheringLocation.MaximumDistance),
location.MaximumDistance, emptyLocation.MaximumDistance)
.AsSyntaxNodeOrToken()))));
}
else if (value is null)
return LiteralExpression(SyntaxKind.NullLiteralExpression);
}
catch (Exception e)
{
throw new Exception($"Unable to handle literal [{value}]: {e}", e);
throw new Exception($"Unable to handle literal [{value}]: {e.StackTrace}", e);
}
throw new Exception($"Unsupported data type {value.GetType()} = {value}");
}
public static AssignmentExpressionSyntax? Assignment<T>(string name, T? value, T? defaultValue)
@ -97,7 +607,7 @@ public static class RoslynShortcuts
}
catch (Exception e)
{
throw new Exception($"Unable to handle assignment [{name}]: {e}", e);
throw new Exception($"Unable to handle assignment [{name}]: {e.Message}", e);
}
}
@ -123,7 +633,7 @@ public static class RoslynShortcuts
}
catch (Exception e)
{
throw new Exception($"Unable to handle list [{name}]: {e}", e);
throw new Exception($"Unable to handle list [{name}]: {e.StackTrace}", e);
}
}

View File

@ -1,41 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1002281,
"Position": {
"X": -115.739685,
"Y": 41.600117,
"Z": 118.88306
},
"TerritoryId": 131,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Alchemists' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
131
]
}
},
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSALC001_00190_Q1_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,43 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1002281,
"Position": {
"X": -115.739685,
"Y": 41.600117,
"Z": 118.88306
},
"TerritoryId": 131,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1002299,
"Position": {
"X": -98.8938,
"Y": 40.200146,
"Z": 120.83618
},
"TerritoryId": 131,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSALC011_00575_Q1_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,41 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000998,
"Position": {
"X": -51.651794,
"Y": 42.79979,
"Z": 190.41736
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
128
]
}
},
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARM001_00186_Q1_000_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,43 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000998,
"Position": {
"X": -51.651794,
"Y": 42.79979,
"Z": 190.41736
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001000,
"Position": {
"X": -32.028687,
"Y": 41.499985,
"Z": 208.39233
},
"TerritoryId": 128,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARM011_00273_Q1_000_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,38 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1002279,
"Position": {
"X": -196.8872,
"Y": 18.459997,
"Z": 59.952637
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSTHM001_00183_Q1_000_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,44 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1002279,
"Position": {
"X": -196.8872,
"Y": 18.459997,
"Z": 59.952637
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001709,
"Position": {
"X": -240.4975,
"Y": 18.7,
"Z": 85.58777
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSTHM011_00344_Q1_001_1",
"Yes": true
}
],
"NextQuestId": 553
}
]
}
]
}

View File

@ -1,217 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1001712,
"Position": {
"X": -241.50458,
"Y": 19.57727,
"Z": 84.64172
},
"TerritoryId": 130,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1002305,
"Position": {
"X": 14.419739,
"Y": 22.157166,
"Z": 72.3125
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "Interact",
"AetheryteShortcut": "Western Thanalan - Horizon",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
140
]
}
}
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1002324,
"Position": {
"X": 112.80994,
"Y": 17.536886,
"Z": 31.296265
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "Interact"
},
{
"DataId": 1002322,
"Position": {
"X": 116.89929,
"Y": 17.536886,
"Z": 12.954895
},
"TerritoryId": 140,
"InteractionType": "Interact"
},
{
"DataId": 1002323,
"Position": {
"X": 132.43298,
"Y": 21.104982,
"Z": 9.018005
},
"TerritoryId": 140,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1002305,
"Position": {
"X": 14.419739,
"Y": 22.157166,
"Z": 72.3125
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 2001472,
"Position": {
"X": 150.71338,
"Y": 18.783813,
"Z": -5.7526855
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "SinglePlayerDuty"
}
]
},
{
"Sequence": 6,
"Steps": [
{
"DataId": 1002305,
"Position": {
"X": 14.419739,
"Y": 22.157166,
"Z": 72.3125
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 7,
"Steps": [
{
"DataId": 2001474,
"Position": {
"X": 96.238525,
"Y": 16.952698,
"Z": 188.83032
},
"TerritoryId": 140,
"Fly": true,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 8,
"Steps": [
{
"DataId": 1001712,
"Position": {
"X": -241.50458,
"Y": 19.57727,
"Z": 84.64172
},
"TerritoryId": 130,
"InteractionType": "Interact",
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [
"[Ul'dah] Aetheryte Plaza",
"[Ul'dah] Thaumaturges' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
130
]
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1001708,
"Position": {
"X": -250.3548,
"Y": 18,
"Z": 80.88806
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -1,130 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "Interact",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1007834,
"Position": {
"X": 447.2876,
"Y": 2.147105,
"Z": 21.86615
},
"TerritoryId": 153,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2002364,
"Position": {
"X": 457.9995,
"Y": 0.44250488,
"Z": -106.73688
},
"TerritoryId": 153,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 440.87814,
"Y": 2.8651512,
"Z": 25.295788
},
"InteractionType": "WalkTo",
"TerritoryId": 153,
"Fly": true
},
{
"DataId": 1007834,
"Position": {
"X": 447.2876,
"Y": 2.147105,
"Z": 21.86615
},
"StopDistance": 7,
"TerritoryId": 153,
"InteractionType": "Interact",
"Fly": false
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"Fly": true,
"NextQuestId": 1086
}
]
}
]
}

View File

@ -1,87 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"TerritoryId": 153,
"InteractionType": "EquipItem",
"ItemId": 4546,
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"TerritoryId": 153,
"InteractionType": "EquipRecommended"
},
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2002366,
"Position": {
"X": -143.0534,
"Y": 68.192505,
"Z": 586.1448
},
"StopDistance": 0.5,
"TerritoryId": 137,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
1945
],
"AetheryteShortcut": "Eastern La Noscea - Wineport",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 1087
}
]
}
]
}

View File

@ -1,77 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2002365,
"Position": {
"X": 272.05298,
"Y": 18.875366,
"Z": -164.53809
},
"TerritoryId": 145,
"InteractionType": "Combat",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
58
],
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 1088
}
]
}
]
}

View File

@ -1,76 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2002367,
"Position": {
"X": 104.32593,
"Y": -21.774658,
"Z": 171.00781
},
"TerritoryId": 154,
"InteractionType": "UseItem",
"ItemId": 2000952,
"EnemySpawnType": "AutoOnEnterArea",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"$": "Actually a SinglePlayerDuty"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 1089
}
]
}
]
}

View File

@ -1,152 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_JOBBRD451_01089_Q1_000_000",
"Yes": true
}
]
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2002528,
"Position": {
"X": 512.291,
"Y": 10.482849,
"Z": 148.30237
},
"TerritoryId": 153,
"InteractionType": "Interact",
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2002530,
"Position": {
"X": 576.2263,
"Y": -24.002502,
"Z": -423.75836
},
"TerritoryId": 152,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"Position": {
"X": -143.16391,
"Y": -25.75711,
"Z": 34.669674
},
"TerritoryId": 138,
"Fly": true,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Western La Noscea - Aleport"
},
{
"DataId": 2002527,
"Position": {
"X": -168.29181,
"Y": -21.5,
"Z": 44.144287
},
"TerritoryId": 138,
"InteractionType": "Interact",
"Fly": false,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 2002529,
"Position": {
"X": -324.7273,
"Y": 87.96814,
"Z": -133.50122
},
"TerritoryId": 147,
"InteractionType": "Interact",
"Fly": true,
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 1090
}
]
}
]
}

View File

@ -1,64 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1006750,
"Position": {
"X": 16.464417,
"Y": 6.750492,
"Z": -7.3396606
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2002373,
"Position": {
"X": 72.098755,
"Y": 227.19153,
"Z": 380.84985
},
"TerritoryId": 155,
"InteractionType": "UseItem",
"ItemId": 2000953,
"EnemySpawnType": "AutoOnEnterArea",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"Fly": true,
"$": "Actually a SinglePlayerDuty"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1007891,
"Position": {
"X": 70.17627,
"Y": 226.72212,
"Z": 381.30762
},
"TerritoryId": 155,
"InteractionType": "CompleteQuest",
"NextQuestId": 1713
}
]
}
]
}

View File

@ -1,44 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000197,
"Position": {
"X": 201.31226,
"Y": -3.1634123E-15,
"Z": 43.900146
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 5,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARC998_00131_Q1_000_1",
"Yes": true
}
]
}
]
}
]
}

View File

@ -1,387 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018E-05,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -87.448326,
"Y": -3.8114734,
"Z": -77.68485
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows",
"Fly": true
},
{
"DataId": 2001177,
"Position": {
"X": -88.24298,
"Y": 3.768982,
"Z": -88.24298
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
},
{
"Position": {
"X": -113.806755,
"Y": -3.824695,
"Z": -61.20561
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
}
}
},
{
"DataId": 2001175,
"Position": {
"X": -115.58716,
"Y": -3.402832,
"Z": -51.07196
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
},
{
"Position": {
"X": -142.90863,
"Y": -1.355497,
"Z": -69.45994
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
}
}
},
{
"DataId": 2000959,
"Position": {
"X": -143.32806,
"Y": -0.41204834,
"Z": -58.884644
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
},
{
"Position": {
"X": -154.95493,
"Y": 4.0352364,
"Z": -132.85217
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
}
}
},
{
"DataId": 2000958,
"Position": {
"X": -166.97955,
"Y": 10.2387085,
"Z": -138.41461
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"Position": {
"X": -114.08684,
"Y": 7.6589117,
"Z": -173.19547
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
}
},
{
"DataId": 2000957,
"Position": {
"X": -120.68359,
"Y": 12.49707,
"Z": -182.39111
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"Position": {
"X": -74.71171,
"Y": -4,
"Z": -190.44055
},
"TerritoryId": 148,
"InteractionType": "WalkTo"
},
{
"DataId": 2000956,
"Position": {
"X": -80.76605,
"Y": -2.3651733,
"Z": -196.49048
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018E-05,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -431.09494,
"Y": 2.9039853,
"Z": 239.26413
},
"StopDistance": 0.5,
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 5,
"MinimumKillCount": 8,
"$": "Slay northern vultures.",
"CompletionQuestVariablesFlags": [
null,
{
"High": 8
},
null,
null,
null,
null
]
},
{
"DataId": 39,
"MinimumKillCount": 8,
"$": "Slay tree slugs.",
"CompletionQuestVariablesFlags": [
{
"Low": 8
},
null,
null,
null,
null,
null
]
}
],
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018E-05,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARC997_00134_Q1_000_1",
"Yes": true
}
],
"NextQuestId": 68
}
]
}
]
}

View File

@ -1,39 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000197,
"Position": {
"X": 201.31226,
"Y": -3.1634123E-15,
"Z": 43.900146
},
"TerritoryId": 132,
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARC999_00181_Q1_000_1",
"Yes": true,
"$": "No Godbert prompt"
}
],
"InteractionType": "AcceptQuest",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
}
]
}

View File

@ -1,157 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 117.47766,
"Y": 17.661993,
"Z": -247.24017
},
"TerritoryId": 148,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 37,
"MinimumKillCount": 3,
"$": "Slay ground squirrels as an archer",
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
null,
null,
null,
null,
null
]
},
{
"DataId": 49,
"MinimumKillCount": 3,
"CompletionQuestVariablesFlags": [
null,
{
"High": 3
},
null,
null,
null,
null
],
"$": "Slay little ladybugs as an archer"
}
],
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Archers' Guild",
"[Gridania] Blue Badger Gate (Central Shroud)"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
148
]
}
},
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
{
"High": 3
},
null,
null,
null,
null
]
},
{
"Position": {
"X": 126.943115,
"Y": 2.910592,
"Z": -180.54787
},
"TerritoryId": 148,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 47,
"MinimumKillCount": 3,
"$": "Slay forest funguars as an archer"
}
],
"CompletionQuestVariablesFlags": [
null,
{
"Low": 3
},
null,
null,
null,
null
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 46
}
]
}
]
}

View File

@ -1,195 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000197,
"Position": {
"X": 201.31226,
"Y": -3.1634123e-15,
"Z": 43.900146
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"TerritoryId": 132,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARC000_00021_Q1_000_1",
"Yes": true
}
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": 97.18397,
"Y": 17.128555,
"Z": -269.5008
},
"TerritoryId": 148,
"AethernetShortcut": [
"[Gridania] Archers' Guild",
"[Gridania] Blue Badger Gate (Central Shroud)"
],
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 37,
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
null,
null,
null,
null,
null
],
"MinimumKillCount": 3
}
],
"CompletionQuestVariablesFlags": [
{
"Low": 3
},
null,
null,
null,
null,
null
],
"$": "0 0 0 0 0 0 -> 19 0 0 0 0 0"
},
{
"Position": {
"X": 119.449745,
"Y": 17.399649,
"Z": -259.6467
},
"TerritoryId": 148,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 49,
"CompletionQuestVariablesFlags": [
null,
{
"High": 3
},
null,
null,
null,
null
],
"MinimumKillCount": 3
}
],
"CompletionQuestVariablesFlags": [
null,
{
"High": 3
},
null,
null,
null,
null
],
"$": "19 0 0 0 0 0 -> 35 48 0 0 0 0"
},
{
"Position": {
"X": 83.756714,
"Y": 4.1801105,
"Z": -191.24133
},
"TerritoryId": 148,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 47,
"CompletionQuestVariablesFlags": [
null,
{
"Low": 3
},
null,
null,
null,
null
],
"MinimumKillCount": 3
}
],
"CompletionQuestVariablesFlags": [
null,
{
"Low": 3
},
null,
null,
null,
null
],
"$": "35 48 0 0 0 0 -> 35 51 0 0 0 0 // This one automatically went to 0 0 0 0 0 0 so I am not sure about the 51 part"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"NextQuestId": 46
}
]
}
]
}

View File

@ -1,375 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2000925,
"Position": {
"X": 187.18237,
"Y": -2.7314453,
"Z": 79.087524
},
"TerritoryId": 132,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"Position": {
"X": 106.01592,
"Y": 0.14552212,
"Z": 57.230045
},
"TerritoryId": 132,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
}
},
{
"DataId": 2000926,
"Position": {
"X": 113.42029,
"Y": 4.6539917,
"Z": 54.306763
},
"TerritoryId": 132,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": 40.66375,
"Y": 2.5499606,
"Z": 15.033528
},
"TerritoryId": 132,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
}
}
},
{
"DataId": 2000931,
"Position": {
"X": 36.453735,
"Y": 7.248047,
"Z": 10.879639
},
"TerritoryId": 132,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
},
{
"Position": {
"X": -4.75964,
"Y": -3.0942674,
"Z": 21.23782
},
"TerritoryId": 132,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
}
}
},
{
"DataId": 2000929,
"Position": {
"X": -5.7526855,
"Y": 2.0598755,
"Z": 30.655273
},
"TerritoryId": 132,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
},
{
"Position": {
"X": 31.96446,
"Y": -1.5349445,
"Z": 60.44494
},
"TerritoryId": 132,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
}
}
},
{
"DataId": 2000928,
"Position": {
"X": 33.24939,
"Y": 5.4473877,
"Z": 70.63391
},
"TerritoryId": 132,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"Position": {
"X": 65.39101,
"Y": -3.7351668,
"Z": 88.24835
},
"TerritoryId": 132,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
}
},
{
"DataId": 2000930,
"Position": {
"X": 56.595703,
"Y": -3.7385254,
"Z": 96.97107
},
"TerritoryId": 132,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": 303.89548,
"Y": -21.916101,
"Z": 210.33368
},
"StopDistance": 0.5,
"TerritoryId": 154,
"AethernetShortcut": [
"[Gridania] Archers' Guild",
"[Gridania] Yellow Serpent Gate (North Shroud)"
],
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 5,
"MinimumKillCount": 8,
"$": "Slay opo-opos."
}
],
"Fly": true,
"CompletionQuestVariablesFlags": [
{
"Low": 8
},
null,
null,
null,
null,
null
]
},
{
"Position": {
"X": 250.70682,
"Y": -11.9244995,
"Z": 40.554157
},
"StopDistance": 0.5,
"TerritoryId": 154,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 32,
"MinimumKillCount": 8,
"$": "Slay microchus."
}
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
{
"High": 8
},
null,
null,
null,
null
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
},
"NextQuestId": 134
}
]
}
]
}

View File

@ -1,407 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018e-5,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -87.448326,
"Y": -3.8114734,
"Z": -77.68485
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows",
"Fly": true
},
{
"DataId": 2001173,
"Position": {
"X": -88.24298,
"Y": 3.768982,
"Z": -88.24298
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
},
{
"Position": {
"X": -113.806755,
"Y": -3.824695,
"Z": -61.20561
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
}
}
},
{
"DataId": 2001171,
"Position": {
"X": -115.58716,
"Y": -3.402832,
"Z": -51.07196
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
},
{
"Position": {
"X": -142.90863,
"Y": -1.355497,
"Z": -69.45994
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
}
}
},
{
"DataId": 2000940,
"Position": {
"X": -143.32806,
"Y": -0.41204834,
"Z": -58.884644
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
},
{
"Position": {
"X": -154.95493,
"Y": 4.0352364,
"Z": -132.85217
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
}
}
},
{
"DataId": 2000939,
"Position": {
"X": -166.97955,
"Y": 10.2387085,
"Z": -138.41461
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"Position": {
"X": -114.08684,
"Y": 7.6589117,
"Z": -173.19547
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
}
},
{
"DataId": 2000938,
"Position": {
"X": -120.68359,
"Y": 12.49707,
"Z": -182.39111
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"Position": {
"X": -74.71171,
"Y": -4,
"Z": -190.44055
},
"TerritoryId": 148,
"InteractionType": "WalkTo"
},
{
"DataId": 2000937,
"Position": {
"X": -80.76605,
"Y": -2.3651733,
"Z": -196.49048
},
"TerritoryId": 148,
"StopDistance": 15,
"InteractionType": "Action",
"Action": "Heavy Shot"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018e-5,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 1001263,
"Position": {
"X": 181.41443,
"Y": -2.3519497,
"Z": -240.40594
},
"TerritoryId": 133,
"InteractionType": "Interact",
"TargetTerritoryId": 152,
"AethernetShortcut": [
"[Gridania] Archers' Guild",
"[Gridania] Lancers' Guild"
],
"SkipConditions": {
"StepIf": {
"AetheryteUnlocked": "East Shroud - Hawthorne Hut"
}
}
},
{
"Position": {
"X": -431.09494,
"Y": 2.9039853,
"Z": 239.26413
},
"StopDistance": 0.5,
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"ComplexCombatData": [
{
"DataId": 5,
"MinimumKillCount": 8,
"$": "Slay northern vultures.",
"CompletionQuestVariablesFlags": [
null,
{
"High": 8
},
null,
null,
null,
null
]
},
{
"DataId": 39,
"MinimumKillCount": 8,
"$": "Slay tree slugs.",
"CompletionQuestVariablesFlags": [
{
"Low": 8
},
null,
null,
null,
null,
null
]
}
],
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032018e-5,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSARC002_00067_Q1_000_1",
"Yes": true
}
],
"NextQuestId": 68
}
]
}
]
}

View File

@ -1,359 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000204,
"Position": {
"X": 226.33704,
"Y": 1.9999089,
"Z": 29.06836
},
"TerritoryId": 132,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"Position": {
"X": -326.03064,
"Y": 9.169003,
"Z": 323.19617
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true,
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
},
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
}
}
},
{
"DataId": 2000944,
"Position": {
"X": -330.12903,
"Y": 16.708557,
"Z": 329.67102
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"Position": {
"X": -321.1917,
"Y": 0.22361445,
"Z": 297.61597
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
}
}
},
{
"DataId": 2000943,
"Position": {
"X": -330.73932,
"Y": 9.262146,
"Z": 290.1808
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"Position": {
"X": -358.00266,
"Y": 6.9801626,
"Z": 306.18744
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
}
}
},
{
"DataId": 2000945,
"Position": {
"X": -364.55334,
"Y": 14.480774,
"Z": 307.60657
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
8
]
},
{
"Position": {
"X": -378.32364,
"Y": 6.10847,
"Z": 269.35767
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
}
},
{
"DataId": 2000942,
"Position": {
"X": -378.53058,
"Y": 9.048584,
"Z": 262.68408
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"Position": {
"X": -301.42407,
"Y": 0.17268503,
"Z": 257.9185
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
}
}
},
{
"DataId": 2001179,
"Position": {
"X": -297.29156,
"Y": 5.996765,
"Z": 250.96509
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
2
]
},
{
"Position": {
"X": -264.77237,
"Y": -3.2272563,
"Z": 240.00267
},
"TerritoryId": 152,
"InteractionType": "WalkTo"
},
{
"DataId": 2000946,
"Position": {
"X": -269.00134,
"Y": 4.2266846,
"Z": 230.45691
},
"TerritoryId": 152,
"StopDistance": 20,
"InteractionType": "Action",
"Action": "Heavy Shot"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 1000204,
"Position": {
"X": 226.33704,
"Y": 1.9999089,
"Z": 29.06836
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"DataId": 2000962,
"Position": {
"X": 288.56335,
"Y": -11.306946,
"Z": 52.384155
},
"TerritoryId": 154,
"InteractionType": "SinglePlayerDuty",
"AethernetShortcut": [
"[Gridania] Archers' Guild",
"[Gridania] Yellow Serpent Gate (North Shroud)"
],
"Fly": true
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1000204,
"Position": {
"X": 226.33704,
"Y": 1.9999089,
"Z": 29.06836
},
"TerritoryId": 132,
"InteractionType": "Interact",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"NextQuestId": 70
}
]
}
]
}

View File

@ -1,211 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -166.19086,
"Y": 8.399985,
"Z": -64.10584
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"Flying": "Locked"
}
},
"$": "Buscarron SE steps",
"AetheryteShortcut": "South Shroud - Quarrymill"
},
{
"DataId": 1000590,
"Position": {
"X": -165.9419,
"Y": 9.869227,
"Z": -81.34589
},
"TerritoryId": 153,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2000949,
"Position": {
"X": -258.9914,
"Y": 10.330261,
"Z": -46.00598
},
"TerritoryId": 153,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
32
]
},
{
"DataId": 2000948,
"Position": {
"X": -270.00848,
"Y": 15.487854,
"Z": -91.17267
},
"TerritoryId": 153,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
},
{
"DataId": 2000947,
"Position": {
"X": -318.07434,
"Y": 18.936401,
"Z": -165.11792
},
"TerritoryId": 153,
"InteractionType": "Interact",
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2001105,
"Position": {
"X": -173.02203,
"Y": 9.872559,
"Z": -78.690796
},
"TerritoryId": 153,
"InteractionType": "Interact",
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_CLSARC004_00070_Q1_000_1",
"Answer": "TEXT_CLSARC004_00070_A1_000_1"
},
{
"Type": "List",
"Prompt": "TEXT_CLSARC004_00070_Q2_000_1",
"Answer": "TEXT_CLSARC004_00070_A2_000_3"
}
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -192.12004,
"Y": 8.180927,
"Z": -65.00513
},
"TerritoryId": 153,
"InteractionType": "WalkTo"
},
{
"DataId": 2000136,
"Position": {
"X": -295.85718,
"Y": 23.575134,
"Z": -192.34003
},
"TerritoryId": 153,
"InteractionType": "SinglePlayerDuty"
}
]
},
{
"Sequence": 5,
"Steps": [
{
"DataId": 1000590,
"Position": {
"X": -165.9419,
"Y": 9.869227,
"Z": -81.34589
},
"TerritoryId": 153,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"NextQuestId": 71
}
]
}
]
}

View File

@ -1,139 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000204,
"Position": {
"X": 226.33704,
"Y": 1.9999089,
"Z": 29.06836
},
"TerritoryId": 132,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 1000199,
"Position": {
"X": 211.13904,
"Y": 1.5032133E-05,
"Z": 28.580078
},
"TerritoryId": 132,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 3,
"Steps": [
{
"DataId": 2000951,
"Position": {
"X": -1.8158569,
"Y": 6.9122925,
"Z": -93.0343
},
"TerritoryId": 153,
"InteractionType": "Interact",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true,
"DialogueChoices": [
{
"Type": "List",
"Prompt": "TEXT_CLSARC005_00071_Q1_000_1",
"Answer": "TEXT_CLSARC005_00071_A1_000_1"
}
]
}
]
},
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": 60.130726,
"Y": -5.9999475,
"Z": 63.516415
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Central Shroud - Bentbranch Meadows",
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked"
}
}
},
{
"DataId": 1000534,
"Position": {
"X": 134.47766,
"Y": -7,
"Z": -69.993164
},
"TerritoryId": 148,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"NextQuestId": 76
}
]
}
]
}

View File

@ -1,87 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "pot0to",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 1000795,
"Position": {
"X": 278.61438,
"Y": 8.346143,
"Z": -38.223938
},
"TerritoryId": 153,
"InteractionType": "SinglePlayerDuty",
"AetheryteShortcut": "South Shroud - Quarrymill",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2000709,
"Position": {
"X": -90.74542,
"Y": 0.015197754,
"Z": 61.08191
},
"TerritoryId": 153,
"InteractionType": "SinglePlayerDuty",
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1000200,
"Position": {
"X": 209.55212,
"Y": 0.9999819,
"Z": 35.01941
},
"StopDistance": 7,
"TerritoryId": 132,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Gridania",
"AethernetShortcut": [
"[Gridania] Aetheryte Plaza",
"[Gridania] Archers' Guild"
],
"NextQuestId": 1085
}
]
}
]
}

View File

@ -1,42 +0,0 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "Cacahuetes",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1000995,
"Position": {
"X": -52.018066,
"Y": 42.799637,
"Z": 192.2179
},
"TerritoryId": 128,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
"AethernetShortcut": [
"[Limsa Lominsa] Aetheryte Plaza",
"[Limsa Lominsa] The Aftcastle"
],
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true,
"InTerritory": [
128
]
}
},
"DialogueChoices": [
{
"Type": "YesNo",
"Prompt": "TEXT_CLSBSM001_00185_Q1_000_1",
"Yes": true
}
],
"NextQuestId": 291
}
]
}
]
}

Some files were not shown because too many files have changed in this diff Show More