Use named aetherytes/aethernet shards for attuning (instead of ids)
This commit is contained in:
parent
98cca32acc
commit
aa73231f38
@ -17,15 +17,15 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Json.More.Net" Version="2.0.1.2" GeneratePathProperty="true" />
|
||||
<PackageReference Include="JsonPointer.Net" Version="5.0.0" GeneratePathProperty="true" />
|
||||
<PackageReference Include="JsonSchema.Net" Version="7.0.4" GeneratePathProperty="true" />
|
||||
<PackageReference Include="JsonPointer.Net" Version="5.0.2" GeneratePathProperty="true" />
|
||||
<PackageReference Include="JsonSchema.Net" Version="7.1.2" GeneratePathProperty="true" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2"/>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.9.2"/>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.3" PrivateAssets="all"/>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.4" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -65,7 +65,7 @@ public class QuestSourceGenerator : ISourceGenerator
|
||||
continue;
|
||||
|
||||
var questNode = JsonNode.Parse(text.ToString());
|
||||
var evaluationResult = questSchema.Evaluate(questNode, new EvaluationOptions()
|
||||
var evaluationResult = questSchema.Evaluate(questNode, new EvaluationOptions
|
||||
{
|
||||
Culture = CultureInfo.InvariantCulture,
|
||||
OutputFormat = OutputFormat.List
|
||||
@ -323,6 +323,10 @@ public class QuestSourceGenerator : ISourceGenerator
|
||||
.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(),
|
||||
|
@ -13,9 +13,9 @@
|
||||
},
|
||||
"JsonPointer.Net": {
|
||||
"type": "Direct",
|
||||
"requested": "[5.0.0, )",
|
||||
"resolved": "5.0.0",
|
||||
"contentHash": "fm4T5w20AY6C+p5/pJr0vrXRNGgtSfHl34I1LxC9zdPwS9S3j0GiR1Mz/CVPWKDXXGDpCt1APHpCq7kn5adCfA==",
|
||||
"requested": "[5.0.2, )",
|
||||
"resolved": "5.0.2",
|
||||
"contentHash": "H/OtixKadr+ja1j7Fru3WG56V9zP0AKT1Bd0O7RWN/zH1bl8ZIwW9aCa4+xvzuVvt4SPmrvBu3G6NpAkNOwNAA==",
|
||||
"dependencies": {
|
||||
"Humanizer.Core": "2.14.1",
|
||||
"Json.More.Net": "2.0.1.2"
|
||||
@ -23,9 +23,9 @@
|
||||
},
|
||||
"JsonSchema.Net": {
|
||||
"type": "Direct",
|
||||
"requested": "[7.0.4, )",
|
||||
"resolved": "7.0.4",
|
||||
"contentHash": "R0Hk2Tr/np4Q1NO8CBjyQsoiD1iFJyEQP20Sw7JnZCNGJoaSBe+g4b+nZqnBXPQhiqY5LGZ8JZwZkRh/eKZhEQ==",
|
||||
"requested": "[7.1.2, )",
|
||||
"resolved": "7.1.2",
|
||||
"contentHash": "tvM82Wpsyk+C5aUWkqPZLo2ANDjEfCoDa9R24k7jRkCrwxbXnSBb7NpU1pz0ufp6qw+jIekHD9xJdUkjUtnZxQ==",
|
||||
"dependencies": {
|
||||
"JsonPointer.Net": "5.0.0"
|
||||
}
|
||||
@ -68,9 +68,9 @@
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Direct",
|
||||
"requested": "[8.0.3, )",
|
||||
"resolved": "8.0.3",
|
||||
"contentHash": "hpagS9joOwv6efWfrMmV9MjQXpiXZH72PgN067Ysfr6AWMSD1/1hEcvh/U5mUpPLezEWsOJSuVrmqDIVD958iA==",
|
||||
"requested": "[8.0.4, )",
|
||||
"resolved": "8.0.4",
|
||||
"contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"dependencies": {
|
||||
"Microsoft.Bcl.AsyncInterfaces": "8.0.0",
|
||||
"System.Buffers": "4.5.1",
|
||||
@ -264,7 +264,7 @@
|
||||
"questionable.model": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"System.Text.Json": "[8.0.3, )"
|
||||
"System.Text.Json": "[8.0.4, )"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -336.41187,
|
||||
"Y": 12.899764,
|
||||
"Z": 3.5517142
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 1000895,
|
||||
"Position": {
|
||||
"X": -335.74432,
|
||||
"Y": 12.899764,
|
||||
"Z": 1.3884888
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -31,15 +31,9 @@
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 2,
|
||||
"Position": {
|
||||
"X": 32.913696,
|
||||
"Y": 2.670288,
|
||||
"Z": 30.014404
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Gridania",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
@ -50,15 +44,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 25,
|
||||
"Position": {
|
||||
"X": 166.58276,
|
||||
"Y": -1.7243042,
|
||||
"Z": 86.13721
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Archers' Guild"
|
||||
"AethernetShard": "[Gridania] Archers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000197,
|
||||
@ -110,41 +98,23 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 26,
|
||||
"Position": {
|
||||
"X": 101.27405,
|
||||
"Y": 9.018005,
|
||||
"Z": -111.31464
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Leatherworkers' Guild"
|
||||
"AethernetShard": "[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
},
|
||||
{
|
||||
"DataId": 27,
|
||||
"Position": {
|
||||
"X": 121.23291,
|
||||
"Y": 12.649658,
|
||||
"Z": -229.63306
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Lancers' Guild"
|
||||
"AethernetShard": "[Gridania] Lancers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 30,
|
||||
"Position": {
|
||||
"X": -73.92999,
|
||||
"Y": 7.9804688,
|
||||
"Z": -140.15417
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Mih Khetto's Amphitheatre",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
],
|
||||
"Comment": "Mih Khetto's Amphitheatre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -156,30 +126,18 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 29,
|
||||
"Position": {
|
||||
"X": -311.0857,
|
||||
"Y": 7.94989,
|
||||
"Z": -177.05048
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Botanists' Guild"
|
||||
"AethernetShard": "[Gridania] Botanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 28,
|
||||
"Position": {
|
||||
"X": -145.15906,
|
||||
"Y": 4.9591064,
|
||||
"Z": -11.7647705
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Conjurers' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"Comment": "Conjurers' Guild"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
|
@ -31,15 +31,9 @@
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 2,
|
||||
"Position": {
|
||||
"X": 32.913696,
|
||||
"Y": 2.670288,
|
||||
"Z": 30.014404
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Gridania",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
@ -50,15 +44,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 25,
|
||||
"Position": {
|
||||
"X": 166.58276,
|
||||
"Y": -1.7243042,
|
||||
"Z": 86.13721
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Archers' Guild"
|
||||
"AethernetShard": "[Gridania] Archers' Guild"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -83,41 +71,23 @@
|
||||
"$": "If done after aetheryte: 33 1 0 0 0 128"
|
||||
},
|
||||
{
|
||||
"DataId": 26,
|
||||
"Position": {
|
||||
"X": 101.27405,
|
||||
"Y": 9.018005,
|
||||
"Z": -111.31464
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Leatherworkers' Guild"
|
||||
"AethernetShard": "[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
},
|
||||
{
|
||||
"DataId": 27,
|
||||
"Position": {
|
||||
"X": 121.23291,
|
||||
"Y": 12.649658,
|
||||
"Z": -229.63306
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Lancers' Guild"
|
||||
"AethernetShard": "[Gridania] Lancers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 30,
|
||||
"Position": {
|
||||
"X": -73.92999,
|
||||
"Y": 7.9804688,
|
||||
"Z": -140.15417
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Mih Khetto's Amphitheatre",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
],
|
||||
"Comment": "Mih Khetto's Amphitheatre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -129,30 +99,18 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 29,
|
||||
"Position": {
|
||||
"X": -311.0857,
|
||||
"Y": 7.94989,
|
||||
"Z": -177.05048
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Botanists' Guild"
|
||||
"AethernetShard": "[Gridania] Botanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 28,
|
||||
"Position": {
|
||||
"X": -145.15906,
|
||||
"Y": 4.9591064,
|
||||
"Z": -11.7647705
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Conjurers' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"Comment": "Conjurers' Guild"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000323,
|
||||
|
@ -21,15 +21,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 3,
|
||||
"Position": {
|
||||
"X": 13.076904,
|
||||
"Y": 0.56451416,
|
||||
"Z": 35.90442
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Central Shroud - Bentbranch Meadows",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Blue Badger Gate (Central Shroud)"
|
||||
|
@ -162,48 +162,24 @@
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 8,
|
||||
"Position": {
|
||||
"X": -84.00108,
|
||||
"Y": 20.77683,
|
||||
"Z": 0.03414845
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Limsa Lominsa"
|
||||
},
|
||||
{
|
||||
"DataId": 49,
|
||||
"Position": {
|
||||
"X": -213.61108,
|
||||
"Y": 16.739136,
|
||||
"Z": 51.80432
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Hawkers' Alley"
|
||||
"AethernetShard": "[Limsa Lominsa] Hawkers' Alley"
|
||||
},
|
||||
{
|
||||
"DataId": 43,
|
||||
"Position": {
|
||||
"X": -335.1645,
|
||||
"Y": 12.619202,
|
||||
"Z": 56.381958
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Arcanists' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Arcanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 44,
|
||||
"Position": {
|
||||
"X": -179.40033,
|
||||
"Y": 4.8065186,
|
||||
"Z": 182.97095
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Fishermens' Guild",
|
||||
"AethernetShard": "[Limsa Lominsa] Fishermens' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley"
|
||||
@ -225,37 +201,19 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 42,
|
||||
"Position": {
|
||||
"X": -56.50421,
|
||||
"Y": 44.47998,
|
||||
"Z": -131.45648
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Culinarians' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Culinarians' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 48,
|
||||
"Position": {
|
||||
"X": -5.1728516,
|
||||
"Y": 44.63257,
|
||||
"Z": -218.06671
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Marauders' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Marauders' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 41,
|
||||
"Position": {
|
||||
"X": 16.067688,
|
||||
"Y": 40.787354,
|
||||
"Z": 68.80286
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Aftcastle"
|
||||
"AethernetShard": "[Limsa Lominsa] The Aftcastle"
|
||||
},
|
||||
{
|
||||
"DataId": 1002695,
|
||||
@ -358,14 +316,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 51,
|
||||
"Position": {
|
||||
"X": 6.6376343,
|
||||
"Y": 30.655273,
|
||||
"Z": -24.826477
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Ul'dah] The Chamber of Rule"
|
||||
},
|
||||
{
|
||||
"DataId": 1001821,
|
||||
|
@ -31,15 +31,9 @@
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 2,
|
||||
"Position": {
|
||||
"X": 32.913696,
|
||||
"Y": 2.670288,
|
||||
"Z": 30.014404
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Gridania",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
@ -50,15 +44,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 25,
|
||||
"Position": {
|
||||
"X": 166.58276,
|
||||
"Y": -1.7243042,
|
||||
"Z": 86.13721
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Archers' Guild"
|
||||
"AethernetShard": "[Gridania] Archers' Guild"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -83,26 +71,14 @@
|
||||
"$": "If done after aetheryte: 33 1 0 0 0 128"
|
||||
},
|
||||
{
|
||||
"DataId": 26,
|
||||
"Position": {
|
||||
"X": 101.27405,
|
||||
"Y": 9.018005,
|
||||
"Z": -111.31464
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Leatherworkers' Guild"
|
||||
"AethernetShard": "[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
},
|
||||
{
|
||||
"DataId": 27,
|
||||
"Position": {
|
||||
"X": 121.23291,
|
||||
"Y": 12.649658,
|
||||
"Z": -229.63306
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Lancers' Guild"
|
||||
"AethernetShard": "[Gridania] Lancers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000251,
|
||||
@ -132,19 +108,13 @@
|
||||
"Comment": "Pick up Class Quest"
|
||||
},
|
||||
{
|
||||
"DataId": 30,
|
||||
"Position": {
|
||||
"X": -73.92999,
|
||||
"Y": 7.9804688,
|
||||
"Z": -140.15417
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Mih Khetto's Amphitheatre",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
],
|
||||
"Comment": "Mih Khetto's Amphitheatre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -156,38 +126,20 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 29,
|
||||
"Position": {
|
||||
"X": -311.0857,
|
||||
"Y": 7.94989,
|
||||
"Z": -177.05048
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Botanists' Guild"
|
||||
"AethernetShard": "[Gridania] Botanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 28,
|
||||
"Position": {
|
||||
"X": -145.15906,
|
||||
"Y": 4.9591064,
|
||||
"Z": -11.7647705
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Conjurers' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"Comment": "Conjurers' Guild"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000100,
|
||||
"Position": {
|
||||
"X": 23.819275,
|
||||
"Y": -8,
|
||||
"Z": 115.92273
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"AethernetShortcut": [
|
||||
|
@ -127,15 +127,9 @@
|
||||
"Comment": "Quest Turn-In (Making a Name)"
|
||||
},
|
||||
{
|
||||
"DataId": 8,
|
||||
"Position": {
|
||||
"X": -84.031494,
|
||||
"Y": 20.767456,
|
||||
"Z": 0.015197754
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Limsa Lominsa",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
@ -164,37 +158,19 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 49,
|
||||
"Position": {
|
||||
"X": -213.61108,
|
||||
"Y": 16.739136,
|
||||
"Z": 51.80432
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Hawkers' Alley"
|
||||
"AethernetShard": "[Limsa Lominsa] Hawkers' Alley"
|
||||
},
|
||||
{
|
||||
"DataId": 43,
|
||||
"Position": {
|
||||
"X": -335.1645,
|
||||
"Y": 12.619202,
|
||||
"Z": 56.381958
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Arcanists' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Arcanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 44,
|
||||
"Position": {
|
||||
"X": -179.40033,
|
||||
"Y": 4.8065186,
|
||||
"Z": 182.97095
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Fishermens' Guild",
|
||||
"AethernetShard": "[Limsa Lominsa] Fishermens' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley"
|
||||
@ -216,26 +192,14 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 42,
|
||||
"Position": {
|
||||
"X": -56.50421,
|
||||
"Y": 44.47998,
|
||||
"Z": -131.45648
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Culinarians' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Culinarians' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 48,
|
||||
"Position": {
|
||||
"X": -5.1728516,
|
||||
"Y": 44.63257,
|
||||
"Z": -218.06671
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Marauders' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Marauders' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000926,
|
||||
|
@ -127,15 +127,9 @@
|
||||
"Comment": "Quest Turn-In (Making a Name)"
|
||||
},
|
||||
{
|
||||
"DataId": 8,
|
||||
"Position": {
|
||||
"X": -84.031494,
|
||||
"Y": 20.767456,
|
||||
"Z": 0.015197754
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Gridania",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
@ -164,26 +158,14 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 49,
|
||||
"Position": {
|
||||
"X": -213.61108,
|
||||
"Y": 16.739136,
|
||||
"Z": 51.80432
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Hawkers' Alley"
|
||||
"AethernetShard": "[Limsa Lominsa] Hawkers' Alley"
|
||||
},
|
||||
{
|
||||
"DataId": 43,
|
||||
"Position": {
|
||||
"X": -335.1645,
|
||||
"Y": 12.619202,
|
||||
"Z": 56.381958
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Arcanists' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Arcanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000895,
|
||||
@ -221,15 +203,9 @@
|
||||
"Comment": "Pick up Class Quest"
|
||||
},
|
||||
{
|
||||
"DataId": 44,
|
||||
"Position": {
|
||||
"X": -179.40033,
|
||||
"Y": 4.8065186,
|
||||
"Z": 182.97095
|
||||
},
|
||||
"TerritoryId": 129,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Fishermens' Guild",
|
||||
"AethernetShard": "[Limsa Lominsa] Fishermens' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley"
|
||||
@ -251,26 +227,14 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 42,
|
||||
"Position": {
|
||||
"X": -56.50421,
|
||||
"Y": 44.47998,
|
||||
"Z": -131.45648
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Culinarians' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Culinarians' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 48,
|
||||
"Position": {
|
||||
"X": -5.1728516,
|
||||
"Y": 44.63257,
|
||||
"Z": -218.06671
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Marauders' Guild"
|
||||
"AethernetShard": "[Limsa Lominsa] Marauders' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000972,
|
||||
|
@ -47,15 +47,9 @@
|
||||
"TargetTerritoryId": 138
|
||||
},
|
||||
{
|
||||
"DataId": 13,
|
||||
"Position": {
|
||||
"X": 651.5449,
|
||||
"Y": 11.734131,
|
||||
"Z": 513.35913
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 138,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Western La Noscea - Swiftperch"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
|
@ -31,15 +31,9 @@
|
||||
"TargetTerritoryId": 135
|
||||
},
|
||||
{
|
||||
"DataId": 10,
|
||||
"Position": {
|
||||
"X": 156.11499,
|
||||
"Y": 15.518433,
|
||||
"Z": 673.21277
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 135,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Lower La Noscea - Moraby Drydocks"
|
||||
},
|
||||
{
|
||||
"DataId": 1002238,
|
||||
|
@ -21,25 +21,14 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 41,
|
||||
"Position": {
|
||||
"X": 16.067688,
|
||||
"Y": 40.787354,
|
||||
"Z": 68.80286
|
||||
},
|
||||
"TerritoryId": 128,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Limsa Lominsa] The Aftcastle"
|
||||
},
|
||||
{
|
||||
"DataId": 52,
|
||||
"Position": {
|
||||
"X": 227.98499,
|
||||
"Y": 115.526,
|
||||
"Z": -257.0382
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 134,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Middle La Noscea - Summerford Farms",
|
||||
"AethernetShortcut": [
|
||||
"[Limsa Lominsa] The Aftcastle",
|
||||
"[Limsa Lominsa] Zephyr Gate (Middle La Noscea)"
|
||||
|
@ -162,26 +162,14 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2,
|
||||
"Position": {
|
||||
"X": 32.913696,
|
||||
"Y": 2.670288,
|
||||
"Z": 30.014404
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Gridania"
|
||||
},
|
||||
{
|
||||
"DataId": 25,
|
||||
"Position": {
|
||||
"X": 166.58276,
|
||||
"Y": -1.7243042,
|
||||
"Z": 86.13721
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Archers' Guild"
|
||||
"AethernetShard": "[Gridania] Archers' Guild"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -198,41 +186,23 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 26,
|
||||
"Position": {
|
||||
"X": 101.27405,
|
||||
"Y": 9.018005,
|
||||
"Z": -111.31464
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Leatherworkers' Guild"
|
||||
"AethernetShard": "[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
},
|
||||
{
|
||||
"DataId": 27,
|
||||
"Position": {
|
||||
"X": 121.23291,
|
||||
"Y": 12.649658,
|
||||
"Z": -229.63306
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Lancers' Guild"
|
||||
"AethernetShard": "[Gridania] Lancers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 30,
|
||||
"Position": {
|
||||
"X": -73.92999,
|
||||
"Y": 7.9804688,
|
||||
"Z": -140.15417
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Mih Khetto's Amphitheatre",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower"
|
||||
],
|
||||
"Comment": "Mih Khetto's Amphitheatre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -244,30 +214,18 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 29,
|
||||
"Position": {
|
||||
"X": -311.0857,
|
||||
"Y": 7.94989,
|
||||
"Z": -177.05048
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Botanists' Guild"
|
||||
"AethernetShard": "[Gridania] Botanists' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 28,
|
||||
"Position": {
|
||||
"X": -145.15906,
|
||||
"Y": 4.9591064,
|
||||
"Z": -11.7647705
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Gridania] Conjurers' Guild",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"Comment": "Conjurers' Guild"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1000460,
|
||||
@ -385,14 +343,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 51,
|
||||
"Position": {
|
||||
"X": 6.6376343,
|
||||
"Y": 30.655273,
|
||||
"Z": -24.826477
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Ul'dah] The Chamber of Rule"
|
||||
},
|
||||
{
|
||||
"DataId": 1001821,
|
||||
|
@ -22,15 +22,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 37,
|
||||
"Position": {
|
||||
"X": -98.22869,
|
||||
"Y": 42.37336,
|
||||
"Z": 88.46719
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Alchemists' Guild"
|
||||
"AethernetShard": "[Ul'dah] Alchemists' Guild"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -54,59 +48,29 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 35,
|
||||
"Position": {
|
||||
"X": -53.8269,
|
||||
"Y": 10.72502,
|
||||
"Z": 12.24082
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Gladiators' Guild"
|
||||
"AethernetShard": "[Ul'dah] Gladiators' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 50,
|
||||
"Position": {
|
||||
"X": -19.31449,
|
||||
"Y": 14.63075,
|
||||
"Z": 72.0533
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Goldsmiths' Guild"
|
||||
"AethernetShard": "[Ul'dah] Goldsmiths' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 36,
|
||||
"Position": {
|
||||
"X": 33.52188,
|
||||
"Y": 13.23228,
|
||||
"Z": 113.2191
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Miners' Guild"
|
||||
"AethernetShard": "[Ul'dah] Miners' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 47,
|
||||
"Position": {
|
||||
"X": 89.67633,
|
||||
"Y": 12.93493,
|
||||
"Z": 58.2767
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Weavers' Guild"
|
||||
"AethernetShard": "[Ul'dah] Weavers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 125,
|
||||
"Position": {
|
||||
"X": 131.9447,
|
||||
"Y": 4.714966,
|
||||
"Z": -29.800903
|
||||
},
|
||||
"TerritoryId": 131,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Sapphire Avenue Exchange"
|
||||
"AethernetShard": "[Ul'dah] Sapphire Avenue Exchange"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -119,36 +83,19 @@
|
||||
"TargetTerritoryId": 130
|
||||
},
|
||||
{
|
||||
"DataId": 33,
|
||||
"Position": {
|
||||
"X": 64.22522,
|
||||
"Y": 4.5318604,
|
||||
"Z": -115.31244
|
||||
},
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Adventurers' Guild"
|
||||
"AethernetShard": "[Ul'dah] Adventurers' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 9,
|
||||
"Position": {
|
||||
"X": -144.51825,
|
||||
"Y": -1.3580933,
|
||||
"Z": -169.6651
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Ul'dah"
|
||||
},
|
||||
{
|
||||
"DataId": 34,
|
||||
"Position": {
|
||||
"X": -154.83331,
|
||||
"Y": 14.633362,
|
||||
"Z": 73.07532
|
||||
},
|
||||
"TerritoryId": 130,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Ul'dah] Thaumaturges' Guild"
|
||||
},
|
||||
{
|
||||
"DataId": 1000972,
|
||||
|
@ -88,15 +88,9 @@
|
||||
"TargetTerritoryId": 138
|
||||
},
|
||||
{
|
||||
"DataId": 14,
|
||||
"Position": {
|
||||
"X": 260.94446,
|
||||
"Y": -19.60791,
|
||||
"Z": 218.52441
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 138,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Western La Noscea - Aleport"
|
||||
},
|
||||
{
|
||||
"DataId": 1017075,
|
||||
|
@ -44,15 +44,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 53,
|
||||
"Position": {
|
||||
"X": -16.159302,
|
||||
"Y": 0.32037354,
|
||||
"Z": -166.58276
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 141,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Central Thanalan - Black Brush Station",
|
||||
"AetheryteShortcut": "Ul'dah",
|
||||
"AethernetShortcut": [
|
||||
"[Ul'dah] Aetheryte Plaza",
|
||||
@ -80,15 +74,9 @@
|
||||
"$": "Camp Drybone Lantern"
|
||||
},
|
||||
{
|
||||
"DataId": 18,
|
||||
"Position": {
|
||||
"X": -386.3432,
|
||||
"Y": -57.1756,
|
||||
"Z": 142.59558
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 145,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Eastern Thanalan - Camp Drybone"
|
||||
},
|
||||
{
|
||||
"DataId": 1003929,
|
||||
|
@ -40,15 +40,9 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 17,
|
||||
"Position": {
|
||||
"X": 68.0094,
|
||||
"Y": 48.203125,
|
||||
"Z": -227.039
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 140,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Western Thanalan - Horizon",
|
||||
"AethernetShortcut": [
|
||||
"[Ul'dah] Adventurers' Guild",
|
||||
"[Ul'dah] Gate of the Sultana (Western Thanalan)"
|
||||
|
@ -34,15 +34,9 @@
|
||||
"$": "New Gridania Navmesh workaround"
|
||||
},
|
||||
{
|
||||
"DataId": 3,
|
||||
"Position": {
|
||||
"X": 13.076904,
|
||||
"Y": 0.56451416,
|
||||
"Z": 35.90442
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 148,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Central Shroud - Bentbranch Meadows",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Blue Badger Gate (Central Shroud)"
|
||||
|
@ -32,15 +32,10 @@
|
||||
"AetheryteShortcut": "Central Thanalan - Black Brush Station"
|
||||
},
|
||||
{
|
||||
"DataId": 21,
|
||||
"Position": {
|
||||
"X": 20.98108,
|
||||
"Y": 8.8349,
|
||||
"Z": 454.0321
|
||||
},
|
||||
"TerritoryId": 147,
|
||||
"StopDistance": 5,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Northern Thanalan - Camp Bluefog"
|
||||
},
|
||||
{
|
||||
"DataId": 1006638,
|
||||
|
@ -25,15 +25,10 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 22,
|
||||
"Position": {
|
||||
"X": -26.596497,
|
||||
"Y": 49.881714,
|
||||
"Z": -30.838562
|
||||
},
|
||||
"TerritoryId": 147,
|
||||
"StopDistance": 5,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Northern Thanalan - Ceruleum Processing Plant"
|
||||
},
|
||||
{
|
||||
"DataId": 1006647,
|
||||
|
@ -44,15 +44,10 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 23,
|
||||
"Position": {
|
||||
"X": 223.98718,
|
||||
"Y": 315.7854,
|
||||
"Z": -234.85168
|
||||
},
|
||||
"TerritoryId": 155,
|
||||
"StopDistance": 5,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Coerthas Central Highlands - Camp Dragonhead"
|
||||
},
|
||||
{
|
||||
"DataId": 1006384,
|
||||
|
@ -52,15 +52,10 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 24,
|
||||
"Position": {
|
||||
"X": 40.024292,
|
||||
"Y": 24.002441,
|
||||
"Z": -668.0247
|
||||
},
|
||||
"TerritoryId": 156,
|
||||
"StopDistance": 5,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Mor Dhona"
|
||||
},
|
||||
{
|
||||
"DataId": 1006530,
|
||||
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"TerritoryId": 829,
|
||||
"InteractionType": "Duty",
|
||||
"ContentFinderConditionId": 611
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"TerritoryId": 829,
|
||||
"InteractionType": "Duty",
|
||||
"ContentFinderConditionId": 611
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 0,
|
||||
"Y": 0,
|
||||
"Z": 0
|
||||
},
|
||||
"TerritoryId": 1,
|
||||
"InteractionType": "WalkTo",
|
||||
"Comment": "Filler"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026845,
|
||||
"Position": {
|
||||
"X": -476.67664,
|
||||
"Y": 107.63,
|
||||
"Z": 103.74609
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 829,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2002881,
|
||||
"Position": {
|
||||
"X": 21.133728,
|
||||
"Y": 22.323914,
|
||||
"Z": -631.281
|
||||
},
|
||||
"TerritoryId": 156,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 351,
|
||||
"AetheryteShortcut": "Mor Dhona"
|
||||
},
|
||||
{
|
||||
"DataId": 1026846,
|
||||
"Position": {
|
||||
"X": -1.6022339,
|
||||
"Y": 0,
|
||||
"Z": -9.658997
|
||||
},
|
||||
"TerritoryId": 351,
|
||||
"InteractionType": "CompleteQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026846,
|
||||
"Position": {
|
||||
"X": -1.6022339,
|
||||
"Y": 0,
|
||||
"Z": -9.658997
|
||||
},
|
||||
"TerritoryId": 351,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2002879,
|
||||
"Position": {
|
||||
"X": 0,
|
||||
"Y": 3,
|
||||
"Z": 27.5
|
||||
},
|
||||
"TerritoryId": 351,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 156
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": 30.917934,
|
||||
"Y": 20.495003,
|
||||
"Z": -656.1909
|
||||
},
|
||||
"TerritoryId": 156,
|
||||
"InteractionType": "WalkTo",
|
||||
"Mount": true
|
||||
},
|
||||
{
|
||||
"DataId": 1026794,
|
||||
"Position": {
|
||||
"X": 124.193115,
|
||||
"Y": -15.239566,
|
||||
"Z": -424.30762
|
||||
},
|
||||
"TerritoryId": 156,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026797,
|
||||
"Position": {
|
||||
"X": -528.2521,
|
||||
"Y": 8.691104,
|
||||
"Z": -13.53479
|
||||
},
|
||||
"TerritoryId": 621,
|
||||
"InteractionType": "CompleteQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"TerritoryBlacklist": [
|
||||
830
|
||||
],
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026804,
|
||||
"Position": {
|
||||
"X": -524.55945,
|
||||
"Y": 8.698304,
|
||||
"Z": -15.487976
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 621,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026804,
|
||||
"Position": {
|
||||
"X": -524.55945,
|
||||
"Y": 8.698304,
|
||||
"Z": -15.487976
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 621,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_STMBDG102_03185_Q1_000_002",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1026845,
|
||||
"Position": {
|
||||
"X": -476.67664,
|
||||
"Y": 107.63,
|
||||
"Z": 103.74609
|
||||
},
|
||||
"TerritoryId": 829,
|
||||
"InteractionType": "SinglePlayerDuty"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 0,
|
||||
"Y": 0,
|
||||
"Z": 0
|
||||
},
|
||||
"TerritoryId": 1,
|
||||
"InteractionType": "WalkTo",
|
||||
"Comment": "Filler"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2002881,
|
||||
"Position": {
|
||||
"X": 21.133728,
|
||||
"Y": 22.323914,
|
||||
"Z": -631.281
|
||||
},
|
||||
"TerritoryId": 156,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Mor Dhona",
|
||||
"TargetTerritoryId": 351
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1026990,
|
||||
"Position": {
|
||||
"X": -2.4262085,
|
||||
"Y": 0,
|
||||
"Z": -9.10968
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 351,
|
||||
"InteractionType": "CompleteQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -52,14 +52,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 189,
|
||||
"Position": {
|
||||
"X": 16.49812,
|
||||
"Y": -16.247,
|
||||
"Z": 127.753
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] Scholar's Harbor"
|
||||
},
|
||||
{
|
||||
"DataId": 1038578,
|
||||
@ -103,15 +98,9 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 182,
|
||||
"Position": {
|
||||
"X": 0.08138847,
|
||||
"Y": 4.818894,
|
||||
"Z": -0.1004486
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Old Sharlayan"
|
||||
},
|
||||
{
|
||||
"DataId": 1038578,
|
||||
@ -164,14 +153,9 @@
|
||||
"Sequence": 7,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 186,
|
||||
"Position": {
|
||||
"X": -36.94214,
|
||||
"Y": 41.367188,
|
||||
"Z": -156.6034
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] The Rostra"
|
||||
},
|
||||
{
|
||||
"DataId": 1038578,
|
||||
@ -190,24 +174,14 @@
|
||||
"Sequence": 8,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 187,
|
||||
"Position": {
|
||||
"X": 204.79126,
|
||||
"Y": 21.774597,
|
||||
"Z": -118.73047
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] The Leveilleur Estate"
|
||||
},
|
||||
{
|
||||
"DataId": 188,
|
||||
"Position": {
|
||||
"X": 206.22559,
|
||||
"Y": 1.8463135,
|
||||
"Z": 13.77887
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] Journey's End"
|
||||
},
|
||||
{
|
||||
"DataId": 1038578,
|
||||
|
@ -33,24 +33,14 @@
|
||||
"TargetTerritoryId": 962
|
||||
},
|
||||
{
|
||||
"DataId": 185,
|
||||
"Position": {
|
||||
"X": -92.21033,
|
||||
"Y": 2.304016,
|
||||
"Z": 29.709229
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] The Baldesion Annex"
|
||||
},
|
||||
{
|
||||
"DataId": 184,
|
||||
"Position": {
|
||||
"X": -291.1574,
|
||||
"Y": 20.004517,
|
||||
"Z": -74.143616
|
||||
},
|
||||
"TerritoryId": 962,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Old Sharlayan] The Studium"
|
||||
},
|
||||
{
|
||||
"DataId": 1038675,
|
||||
|
@ -21,14 +21,9 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 166,
|
||||
"Position": {
|
||||
"X": 443.5338,
|
||||
"Y": 170.6416,
|
||||
"Z": -476.18835
|
||||
},
|
||||
"TerritoryId": 956,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Labyrinthos - Archeion"
|
||||
},
|
||||
{
|
||||
"DataId": 1037475,
|
||||
|
@ -21,15 +21,10 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 169,
|
||||
"Position": {
|
||||
"X": 193.529,
|
||||
"Y": 6.991216,
|
||||
"Z": 629.2394
|
||||
},
|
||||
"StopDistance": 5,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Thavnair - Yedlihmad"
|
||||
},
|
||||
{
|
||||
"DataId": 2011948,
|
||||
|
@ -36,15 +36,10 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 170,
|
||||
"Position": {
|
||||
"X": -527.4888,
|
||||
"Y": 4.785123,
|
||||
"Z": 36.76496
|
||||
},
|
||||
"StopDistance": 5,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Thavnair - Great Work"
|
||||
},
|
||||
{
|
||||
"DataId": 1038631,
|
||||
|
@ -52,14 +52,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 194,
|
||||
"Position": {
|
||||
"X": 6.6071167,
|
||||
"Y": -2.02948,
|
||||
"Z": 110.55151
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Alzadaal's Peace"
|
||||
},
|
||||
{
|
||||
"DataId": 1040256,
|
||||
@ -107,24 +102,14 @@
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 193,
|
||||
"Position": {
|
||||
"X": -144.33508,
|
||||
"Y": 27.969727,
|
||||
"Z": 202.2583
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Airship Landing"
|
||||
},
|
||||
{
|
||||
"DataId": 191,
|
||||
"Position": {
|
||||
"X": -365.95715,
|
||||
"Y": 44.99878,
|
||||
"Z": -31.815125
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Meghaduta"
|
||||
},
|
||||
{
|
||||
"DataId": 1040259,
|
||||
|
@ -36,14 +36,9 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 192,
|
||||
"Position": {
|
||||
"X": -156.14563,
|
||||
"Y": 35.99597,
|
||||
"Z": 27.725586
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Ruveydah Fibers"
|
||||
},
|
||||
{
|
||||
"DataId": 1040264,
|
||||
|
@ -67,15 +67,10 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 172,
|
||||
"Position": {
|
||||
"X": -408.0791,
|
||||
"Y": 24.18463,
|
||||
"Z": 479.9764
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 958,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Garlemald - Camp Broken Glass"
|
||||
},
|
||||
{
|
||||
"DataId": 1038826,
|
||||
|
@ -51,15 +51,10 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 173,
|
||||
"Position": {
|
||||
"X": 518.9136,
|
||||
"Y": -35.324707,
|
||||
"Z": -178.36273
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 958,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Garlemald - Tertium",
|
||||
"DisableNavmesh": true
|
||||
},
|
||||
{
|
||||
|
@ -58,15 +58,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 174,
|
||||
"Position": {
|
||||
"X": -566.2438,
|
||||
"Y": 134.6656,
|
||||
"Z": 650.6459
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 959,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Mare Lamentorum - Sinus Lacrimarum",
|
||||
"Mount": true,
|
||||
"DisableNavmesh": true
|
||||
},
|
||||
|
@ -47,15 +47,9 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 175,
|
||||
"Position": {
|
||||
"X": -0.01531982,
|
||||
"Y": -128.8109,
|
||||
"Z": -512.0165
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 959,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Mare Lamentorum - Bestways Burrow"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
|
@ -149,14 +149,9 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 196,
|
||||
"Position": {
|
||||
"X": -42.61847,
|
||||
"Y": -0.015319824,
|
||||
"Z": -197.61963
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Mehryde's Meyhane"
|
||||
},
|
||||
{
|
||||
"DataId": 1039001,
|
||||
|
@ -51,14 +51,9 @@
|
||||
"InteractionType": "Interact"
|
||||
},
|
||||
{
|
||||
"DataId": 198,
|
||||
"Position": {
|
||||
"X": 129.59485,
|
||||
"Y": 26.993164,
|
||||
"Z": 13.473633
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Kama"
|
||||
},
|
||||
{
|
||||
"DataId": 1039540,
|
||||
|
@ -137,15 +137,9 @@
|
||||
"InteractionType": "Interact"
|
||||
},
|
||||
{
|
||||
"DataId": 171,
|
||||
"Position": {
|
||||
"X": 405.1422,
|
||||
"Y": 5.2643433,
|
||||
"Z": -244.4953
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Thavnair - Palaka's Stand"
|
||||
},
|
||||
{
|
||||
"DataId": 1039016,
|
||||
|
@ -36,26 +36,15 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 183,
|
||||
"Position": {
|
||||
"X": 25.986084,
|
||||
"Y": 3.250122,
|
||||
"Z": -27.023743
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"StopDistance": 10,
|
||||
"Aetheryte": "Radz-at-Han",
|
||||
"DisableNavmesh": true
|
||||
},
|
||||
{
|
||||
"DataId": 195,
|
||||
"Position": {
|
||||
"X": -141.3616,
|
||||
"Y": 3.999954,
|
||||
"Z": -98.43509
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] Hall of the Radiant Host"
|
||||
},
|
||||
{
|
||||
"DataId": 1040374,
|
||||
|
@ -37,15 +37,10 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 176,
|
||||
"Position": {
|
||||
"X": 159.96033,
|
||||
"Y": 11.703674,
|
||||
"Z": 126.878784
|
||||
},
|
||||
"StopDistance": 6,
|
||||
"TerritoryId": 961,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Elpis - Anagnorisis"
|
||||
},
|
||||
{
|
||||
"DataId": 1040018,
|
||||
|
@ -52,14 +52,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 177,
|
||||
"Position": {
|
||||
"X": -633.7225,
|
||||
"Y": -19.821533,
|
||||
"Z": 542.56494
|
||||
},
|
||||
"TerritoryId": 961,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Elpis - Twelve Wonders"
|
||||
},
|
||||
{
|
||||
"DataId": 1040081,
|
||||
|
@ -21,15 +21,10 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 178,
|
||||
"Position": {
|
||||
"X": -529.9001,
|
||||
"Y": 161.24207,
|
||||
"Z": -222.2782
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 961,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Elpis - Poieten Oikos"
|
||||
},
|
||||
{
|
||||
"DataId": 1040112,
|
||||
|
@ -100,15 +100,10 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 167,
|
||||
"Position": {
|
||||
"X": 8.377136,
|
||||
"Y": -27.542603,
|
||||
"Z": -46.67737
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 956,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Labyrinthos - Sharlayan Hamlet"
|
||||
},
|
||||
{
|
||||
"DataId": 1039761,
|
||||
|
@ -67,15 +67,10 @@
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 168,
|
||||
"Position": {
|
||||
"X": -729.18286,
|
||||
"Y": -27.634155,
|
||||
"Z": 302.1438
|
||||
},
|
||||
"StopDistance": 6,
|
||||
"TerritoryId": 956,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Labyrinthos - Aporia"
|
||||
},
|
||||
{
|
||||
"DataId": 1040447,
|
||||
|
@ -64,15 +64,10 @@
|
||||
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 96"
|
||||
},
|
||||
{
|
||||
"DataId": 179,
|
||||
"Position": {
|
||||
"X": -544.1215,
|
||||
"Y": 74.34187,
|
||||
"Z": 269.6726
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 960,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Ultima Thule - Reah Tahra"
|
||||
},
|
||||
{
|
||||
"DataId": 1038006,
|
||||
|
@ -162,15 +162,10 @@
|
||||
"$.1": "QuestVariables if done after [1]: 2 0 0 0 0 192"
|
||||
},
|
||||
{
|
||||
"DataId": 180,
|
||||
"Position": {
|
||||
"X": 64.286255,
|
||||
"Y": 272.48022,
|
||||
"Z": -657.49603
|
||||
},
|
||||
"StopDistance": 8,
|
||||
"TerritoryId": 960,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Ultima Thule - Abode of the Ea"
|
||||
},
|
||||
{
|
||||
"DataId": 2012356,
|
||||
|
@ -224,15 +224,10 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 181,
|
||||
"Position": {
|
||||
"X": 489.2804,
|
||||
"Y": 437.5829,
|
||||
"Z": 333.63843
|
||||
},
|
||||
"StopDistance": 5,
|
||||
"TerritoryId": 960,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Ultima Thule - Base Omicron"
|
||||
},
|
||||
{
|
||||
"DataId": 1039791,
|
||||
|
@ -21,14 +21,9 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 199,
|
||||
"Position": {
|
||||
"X": 57.91655,
|
||||
"Y": -24.69344,
|
||||
"Z": -210.6151
|
||||
},
|
||||
"TerritoryId": 963,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Radz-at-Han] The High Crucible of Al-Kimiya"
|
||||
},
|
||||
{
|
||||
"DataId": 1039589,
|
||||
|
@ -70,16 +70,10 @@
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 216,
|
||||
"Position": {
|
||||
"X": -24.06776,
|
||||
"Y": 0.8,
|
||||
"Z": 7.599182
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"DisableNavmesh": true
|
||||
"Aetheryte": "Tuliyollal"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -91,15 +85,9 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 224,
|
||||
"Position": {
|
||||
"X": 71.7937,
|
||||
"Y": 47.074097,
|
||||
"Z": -333.21124
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Brightploom Post"
|
||||
"AethernetShard": "[Tuliyollal] Brightploom Post"
|
||||
},
|
||||
{
|
||||
"DataId": 1046504,
|
||||
|
@ -70,15 +70,9 @@
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 219,
|
||||
"Position": {
|
||||
"X": -187.1214,
|
||||
"Y": 39.93274,
|
||||
"Z": 6.088318
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "The Resplendent Quarter"
|
||||
"AethernetShard": "[Tuliyollal] The Resplendent Quarter"
|
||||
},
|
||||
{
|
||||
"DataId": 1046509,
|
||||
@ -97,15 +91,10 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 218,
|
||||
"Position": {
|
||||
"X": -413.68738,
|
||||
"Y": 2.9754639,
|
||||
"Z": -45.975464
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Dirigible Landing"
|
||||
"Comment": "Dirigible Landing",
|
||||
"AethernetShard": "[Tuliyollal] Dirigible Landing"
|
||||
},
|
||||
{
|
||||
"DataId": 1046509,
|
||||
|
@ -64,14 +64,9 @@
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 220,
|
||||
"Position": {
|
||||
"X": -149.73682,
|
||||
"Y": -15.030151,
|
||||
"Z": 198.90125
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Tuliyollal] The For'ard Cabins"
|
||||
},
|
||||
{
|
||||
"DataId": 1046512,
|
||||
@ -120,14 +115,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 221,
|
||||
"Position": {
|
||||
"X": -14.98317,
|
||||
"Y": -10.00001,
|
||||
"Z": 135.5848
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Tuliyollal] Bayside Bevy Marketplace"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -144,14 +134,9 @@
|
||||
"Comment": "Resplentend Quarter Lamp nav"
|
||||
},
|
||||
{
|
||||
"DataId": 222,
|
||||
"Position": {
|
||||
"X": -99.13794,
|
||||
"Y": 100.72473,
|
||||
"Z": -222.03406
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard"
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"AethernetShard": "[Tuliyollal] Vollok Shoonsa"
|
||||
},
|
||||
{
|
||||
"DataId": 1046517,
|
||||
|
@ -30,15 +30,9 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 202,
|
||||
"Position": {
|
||||
"X": -169.51251,
|
||||
"Y": 6.576599,
|
||||
"Z": -479.42322
|
||||
},
|
||||
"StopDistance": 11,
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Kozama'uka - Ok'hanu"
|
||||
},
|
||||
{
|
||||
"DataId": 1046699,
|
||||
|
@ -40,15 +40,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 200,
|
||||
"Position": {
|
||||
"X": 332.9855,
|
||||
"Y": -160.0985,
|
||||
"Z": -416.1924
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1187,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Urqopacha - Wachunpelo"
|
||||
},
|
||||
{
|
||||
"DataId": 1046559,
|
||||
|
@ -51,15 +51,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 223,
|
||||
"Position": {
|
||||
"X": 166.27747,
|
||||
"Y": -17.990417,
|
||||
"Z": 38.742676
|
||||
},
|
||||
"TerritoryId": 1185,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Wachumeqimeqi"
|
||||
"AethernetShard": "[Tuliyollal] Wachumeqimeqi"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
|
@ -22,15 +22,9 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 203,
|
||||
"Position": {
|
||||
"X": 541.1674,
|
||||
"Y": 117.4462,
|
||||
"Z": 203.6108
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Kozama'uka - Many Fires"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
@ -110,15 +104,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 204,
|
||||
"Position": {
|
||||
"X": -477.53113,
|
||||
"Y": 124.04053,
|
||||
"Z": 311.32983
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Kozama'uka - Earthenshire"
|
||||
},
|
||||
{
|
||||
"DataId": 1046613,
|
||||
|
@ -62,15 +62,9 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 201,
|
||||
"Position": {
|
||||
"X": 465.62903,
|
||||
"Y": 114.94617,
|
||||
"Z": 634.9126
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1187,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Urqopacha - Worlar's Echo"
|
||||
},
|
||||
{
|
||||
"DataId": 1046819,
|
||||
|
@ -91,15 +91,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 205,
|
||||
"Position": {
|
||||
"X": -397.0547,
|
||||
"Y": 23.53558,
|
||||
"Z": -431.921
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1189,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Yak T'el - Iq Br'aax"
|
||||
},
|
||||
{
|
||||
"DataId": 2013645,
|
||||
|
@ -21,15 +21,9 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 206,
|
||||
"Position": {
|
||||
"X": 721.40076,
|
||||
"Y": -132.31104,
|
||||
"Z": 526.1769
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1189,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Yak T'el - Mamook"
|
||||
},
|
||||
{
|
||||
"DataId": 2013953,
|
||||
|
@ -22,15 +22,10 @@
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 207,
|
||||
"Position": {
|
||||
"X": 386.4091,
|
||||
"Y": -0.1697721,
|
||||
"Z": 467.6294
|
||||
},
|
||||
"StopDistance": 8,
|
||||
"TerritoryId": 1190,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Shaaloani - Hhusatahwi"
|
||||
},
|
||||
{
|
||||
"DataId": 1046953,
|
||||
@ -70,15 +65,10 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 208,
|
||||
"Position": {
|
||||
"X": -291.70673,
|
||||
"Y": 19.08899,
|
||||
"Z": -114.54956
|
||||
},
|
||||
"StopDistance": 8,
|
||||
"TerritoryId": 1190,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Shaaloani - Sheshenewezi Springs"
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
|
@ -51,15 +51,10 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 209,
|
||||
"Position": {
|
||||
"X": 311.36023,
|
||||
"Y": -14.175659,
|
||||
"Z": -567.74243
|
||||
},
|
||||
"StopDistance": 8,
|
||||
"TerritoryId": 1190,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Shaaloani - Mehwahhetsoan"
|
||||
},
|
||||
{
|
||||
"DataId": 2013960,
|
||||
|
@ -53,15 +53,10 @@
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 210,
|
||||
"Position": {
|
||||
"X": 514.6105,
|
||||
"Y": 145.86096,
|
||||
"Z": 207.56836
|
||||
},
|
||||
"StopDistance": 8,
|
||||
"TerritoryId": 1191,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Heritage Found - Yyasulani Station"
|
||||
},
|
||||
{
|
||||
"DataId": 2013817,
|
||||
|
@ -62,15 +62,9 @@
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 211,
|
||||
"Position": {
|
||||
"X": -223.0173,
|
||||
"Y": 31.94039,
|
||||
"Z": -584.0194
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1191,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Heritage Found - The Outskirts"
|
||||
},
|
||||
{
|
||||
"DataId": 1047403,
|
||||
|
@ -69,15 +69,9 @@
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 230,
|
||||
"Position": {
|
||||
"X": -30.41562,
|
||||
"Y": -6.050003,
|
||||
"Z": 209.3459
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Information Center"
|
||||
"AethernetShard": "[Solution Nine] Information Center"
|
||||
},
|
||||
{
|
||||
"DataId": 1048060,
|
||||
@ -104,15 +98,10 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 217,
|
||||
"Position": {
|
||||
"X": -0.015319824,
|
||||
"Y": 8.987488,
|
||||
"Z": -0.015319824
|
||||
},
|
||||
"StopDistance": 11,
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Solution Nine"
|
||||
},
|
||||
{
|
||||
"DataId": 1048061,
|
||||
|
@ -84,15 +84,9 @@
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 235,
|
||||
"Position": {
|
||||
"X": -160.0287,
|
||||
"Y": 0,
|
||||
"Z": 21.5968
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Nexus Arcade"
|
||||
"AethernetShard": "[Solution Nine] Nexus Arcade"
|
||||
},
|
||||
{
|
||||
"DataId": 1048065,
|
||||
@ -127,15 +121,9 @@
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 236,
|
||||
"Position": {
|
||||
"X": -378.13385,
|
||||
"Y": 13.992493,
|
||||
"Z": 136.49194
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Residential Sector"
|
||||
"AethernetShard": "[Solution Nine] Residential Sector"
|
||||
},
|
||||
{
|
||||
"DataId": 1048065,
|
||||
|
@ -47,15 +47,9 @@
|
||||
"InteractionType": "WalkTo"
|
||||
},
|
||||
{
|
||||
"DataId": 234,
|
||||
"Position": {
|
||||
"X": -32.059265,
|
||||
"Y": 38.04065,
|
||||
"Z": -345.2354
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Resolution"
|
||||
"AethernetShard": "[Solution Nine] Resolution"
|
||||
},
|
||||
{
|
||||
"DataId": 1048073,
|
||||
|
@ -48,26 +48,14 @@
|
||||
"TargetTerritoryId": 1186
|
||||
},
|
||||
{
|
||||
"DataId": 232,
|
||||
"Position": {
|
||||
"X": 258.28943,
|
||||
"Y": 50.736206,
|
||||
"Z": 148.72961
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Neon Stein"
|
||||
"AethernetShard": "[Solution Nine] Neon Stein"
|
||||
},
|
||||
{
|
||||
"DataId": 231,
|
||||
"Position": {
|
||||
"X": 382.6809,
|
||||
"Y": 59.983154,
|
||||
"Z": 76.67651
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "True Vue"
|
||||
"AethernetShard": "[Solution Nine] True Vue"
|
||||
},
|
||||
{
|
||||
"DataId": 1048090,
|
||||
@ -116,15 +104,9 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 233,
|
||||
"Position": {
|
||||
"X": 374.77686,
|
||||
"Y": 60.01367,
|
||||
"Z": 325.67322
|
||||
},
|
||||
"TerritoryId": 1186,
|
||||
"InteractionType": "AttuneAethernetShard",
|
||||
"Comment": "Arcadion"
|
||||
"AethernetShard": "[Solution Nine] The Arcadion"
|
||||
},
|
||||
{
|
||||
"DataId": 1048083,
|
||||
|
@ -206,15 +206,9 @@
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 212,
|
||||
"Position": {
|
||||
"X": -219.53156,
|
||||
"Y": 32.913696,
|
||||
"Z": 120.77515
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1191,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Heritage Found - Electrope Strike"
|
||||
},
|
||||
{
|
||||
"DataId": 2013972,
|
||||
|
@ -70,15 +70,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 214,
|
||||
"Position": {
|
||||
"X": 657.98413,
|
||||
"Y": 28.976807,
|
||||
"Z": -284.01617
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1192,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Living Memory - Leynode Pyro"
|
||||
},
|
||||
{
|
||||
"DataId": 1047943,
|
||||
|
@ -95,15 +95,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 215,
|
||||
"Position": {
|
||||
"X": -255.26825,
|
||||
"Y": 59.433838,
|
||||
"Z": -397.6654
|
||||
},
|
||||
"StopDistance": 10,
|
||||
"TerritoryId": 1192,
|
||||
"InteractionType": "AttuneAetheryte"
|
||||
"InteractionType": "AttuneAetheryte",
|
||||
"Aetheryte": "Living Memory - Leynode Aero"
|
||||
},
|
||||
{
|
||||
"DataId": 1047993,
|
||||
|
@ -1,5 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using Questionable.Model.V1;
|
||||
|
||||
namespace Questionable.QuestPaths;
|
||||
@ -13,4 +15,7 @@ public static partial class AssemblyQuestLoader
|
||||
#else
|
||||
new Dictionary<ushort, QuestRoot>();
|
||||
#endif
|
||||
|
||||
public static Stream QuestSchema =>
|
||||
typeof(AssemblyQuestLoader).Assembly.GetManifestResourceStream("Questionable.QuestPaths.QuestSchema")!;
|
||||
}
|
||||
|
@ -18,6 +18,13 @@
|
||||
ReferenceOutputAssembly="false"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="quest-v1.json"/>
|
||||
<EmbeddedResource Include="quest-v1.json">
|
||||
<LogicalName>Questionable.QuestPaths.QuestSchema</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(Configuration)' == 'Release'">
|
||||
<None Remove="2.x - A Realm Reborn"/>
|
||||
<None Remove="3.x - Heavensward"/>
|
||||
@ -25,7 +32,6 @@
|
||||
<None Remove="5.x - Shadowbringers"/>
|
||||
<None Remove="6.x - Endwalker"/>
|
||||
<None Remove="7.x - Dawntrail"/>
|
||||
<None Remove="quest-v1.json"/>
|
||||
<AdditionalFiles Include="2.x - A Realm Reborn\**\*.json"/>
|
||||
<AdditionalFiles Include="3.x - Heavensward\**\*.json"/>
|
||||
<AdditionalFiles Include="4.x - Stormblood\**\*.json"/>
|
||||
@ -34,4 +40,12 @@
|
||||
<AdditionalFiles Include="7.x - Dawntrail\**\*.json"/>
|
||||
<AdditionalFiles Include="quest-v1.json"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="5.x - Shadowbringers\MSQ\A2-Kholusia1\" />
|
||||
<Folder Include="5.x - Shadowbringers\MSQ\A3-AmhAreng1\" />
|
||||
<Folder Include="5.x - Shadowbringers\MSQ\A4 - Crystarium 2\" />
|
||||
<Folder Include="5.x - Shadowbringers\MSQ\B-Il Mheg\" />
|
||||
<Folder Include="5.x - Shadowbringers\MSQ\C-Rak'tika\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -20,6 +20,10 @@ Generally, the folder name is derived from SE's classification of quests.
|
||||
|
||||
### Stormblood
|
||||
|
||||
- `MSQ`: `StmBd@@` with `@@` being the letter/number used as part of the folder name
|
||||
- `StmBdA1`: `A1 - xxx`
|
||||
- `StmBdB`: `B - 4.1` (and so on for later patches)
|
||||
|
||||
### Shadowbringers
|
||||
|
||||
- `MSQ`: `LucKm@` with `@` being the letter used as part of the folder name
|
||||
|
@ -152,116 +152,8 @@
|
||||
]
|
||||
},
|
||||
"AetheryteShortcut": {
|
||||
"type": "string",
|
||||
"description": "The Aetheryte to teleport to (before moving)",
|
||||
"enum": [
|
||||
"Gridania",
|
||||
"Central Shroud - Bentbranch Meadows",
|
||||
"East Shroud - Hawthorne Hut",
|
||||
"South Shroud - Quarrymill",
|
||||
"South Shroud - Camp Tranquil",
|
||||
"North Shroud - Fallgourd Float",
|
||||
"Ul'dah",
|
||||
"Western Thanalan - Horizon",
|
||||
"Central Thanalan - Black Brush Station",
|
||||
"Eastern Thanalan - Camp Drybone",
|
||||
"Southern Thanalan - Little Ala Mhigo",
|
||||
"Southern Thanalan - Forgotten Springs",
|
||||
"Northern Thanalan - Camp Bluefog",
|
||||
"Northern Thanalan - Ceruleum Processing Plant",
|
||||
"Limsa Lominsa",
|
||||
"Middle La Noscea - Summerford Farms",
|
||||
"Lower La Noscea - Moraby Drydocks",
|
||||
"Eastern La Noscea - Costa Del Sol",
|
||||
"Eastern La Noscea - Wineport",
|
||||
"Western La Noscea - Swiftperch",
|
||||
"Western La Noscea - Aleport",
|
||||
"Upper La Noscea - Camp Bronze Lake",
|
||||
"Outer La Noscea - Camp Overlook",
|
||||
"Coerthas Central Highlands - Camp Dragonhead",
|
||||
"Mor Dhona",
|
||||
"Gold Saucer",
|
||||
"Wolves' Den Pier",
|
||||
"Ishgard",
|
||||
"Idyllshire",
|
||||
"Coerthas Western Highlands - Falcon's Nest",
|
||||
"The Sea of Clouds - Camp Cloudtop",
|
||||
"The Sea of Clouds - Ok' Zundu",
|
||||
"Azys Lla - Helix",
|
||||
"The Dravanian Forelands - Tailfeather",
|
||||
"The Dravanian Forelands - Anyx Trine",
|
||||
"The Churning Mists - Moghome",
|
||||
"The Churning Mists - Zenith",
|
||||
"Rhalgr's Reach",
|
||||
"Fringes - Castrum Oriens",
|
||||
"Fringes - Peering Stones",
|
||||
"Peaks - Ala Gannha",
|
||||
"Peaks - Ala Ghiri",
|
||||
"Lochs - Porta Praetoria",
|
||||
"Lochs - Ala Mhigan Quarter",
|
||||
"Kugane",
|
||||
"Ruby Sea - Tamamizu",
|
||||
"Ruby Sea - Onokoro",
|
||||
"Yanxia - Namai",
|
||||
"Yanxia - House of the Fierce",
|
||||
"Azim Steppe - Reunion",
|
||||
"Azim Steppe - Dawn Throne",
|
||||
"Azim Steppe - Dhoro Iloh",
|
||||
"Doman Enclave",
|
||||
"Crystarium",
|
||||
"Eulmore",
|
||||
"Lakeland - Fort Jobb",
|
||||
"Lakeland - Ostall Imperative",
|
||||
"Kholusia - Stilltide",
|
||||
"Kholusia - Wright",
|
||||
"Kholusia - Tomra",
|
||||
"Amh Araeng - Mord Souq",
|
||||
"Amh Araeng - Inn at Journey's Head",
|
||||
"Amh Araeng - Twine",
|
||||
"Rak'tika - Slitherbough",
|
||||
"Rak'tika - Fanow",
|
||||
"Il Mheg - Lydha Lran",
|
||||
"Il Mheg - Pia Enni",
|
||||
"Il Mheg - Wolekdorf",
|
||||
"Tempest - Ondo Cups",
|
||||
"Tempest - Macarenses Angle",
|
||||
"Old Sharlayan",
|
||||
"Radz-at-Han",
|
||||
"Labyrinthos - Archeion",
|
||||
"Labyrinthos - Sharlayan Hamlet",
|
||||
"Labyrinthos - Aporia",
|
||||
"Thavnair - Yedlihmad",
|
||||
"Thavnair - Great Work",
|
||||
"Thavnair - Palaka's Stand",
|
||||
"Garlemald - Camp Broken Glass",
|
||||
"Garlemald - Tertium",
|
||||
"Mare Lamentorum - Sinus Lacrimarum",
|
||||
"Mare Lamentorum - Bestways Burrow",
|
||||
"Elpis - Anagnorisis",
|
||||
"Elpis - Twelve Wonders",
|
||||
"Elpis - Poieten Oikos",
|
||||
"Ultima Thule - Reah Tahra",
|
||||
"Ultima Thule - Abode of the Ea",
|
||||
"Ultima Thule - Base Omicron",
|
||||
"Tuliyollal",
|
||||
"Solution Nine",
|
||||
"Urqopacha - Wachunpelo",
|
||||
"Urqopacha - Worlar's Echo",
|
||||
"Kozama'uka - Ok'hanu",
|
||||
"Kozama'uka - Many Fires",
|
||||
"Kozama'uka - Earthenshire",
|
||||
"Yak T'el - Iq Br'aax",
|
||||
"Yak T'el - Mamook",
|
||||
"Shaaloani - Hhusatahwi",
|
||||
"Shaaloani - Sheshenewezi Springs",
|
||||
"Shaaloani - Mehwahhetsoan",
|
||||
"Heritage Found - Yyasulani Station",
|
||||
"Heritage Found - The Outskirts",
|
||||
"Heritage Found - Electrope Strike",
|
||||
"Living Memory - Leynode Mnemo",
|
||||
"Living Memory - Leynode Pyro",
|
||||
"Living Memory - Leynode Aero"
|
||||
]
|
||||
"$ref": "#/$defs/Aetheryte"
|
||||
},
|
||||
"AethernetShortcut": {
|
||||
"type": "array",
|
||||
@ -269,129 +161,7 @@
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Archers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower",
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Conjurers' Guild",
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre",
|
||||
"[Gridania] Blue Badger Gate (Central Shroud)",
|
||||
"[Gridania] Yellow Serpent Gate (North Shroud)",
|
||||
"[Gridania] White Wolf Gate (Central Shroud)",
|
||||
"[Gridania] Airship Landing",
|
||||
"[Ul'dah] Aetheryte Plaza",
|
||||
"[Ul'dah] Adventurers' Guild",
|
||||
"[Ul'dah] Thaumaturges' Guild",
|
||||
"[Ul'dah] Gladiators' Guild",
|
||||
"[Ul'dah] Miners' Guild",
|
||||
"[Ul'dah] Weavers' Guild",
|
||||
"[Ul'dah] Goldsmiths' Guild",
|
||||
"[Ul'dah] Sapphire Avenue Exchange",
|
||||
"[Ul'dah] Alchemists' Guild",
|
||||
"[Ul'dah] Gate of the Sultana (Western Thanalan)",
|
||||
"[Ul'dah] Gate of Nald (Central Thanalan)",
|
||||
"[Ul'dah] Gate of Thal (Central Thanalan)",
|
||||
"[Ul'dah] The Chamber of Rule",
|
||||
"[Ul'dah] Airship Landing",
|
||||
"[Limsa Lominsa] Aetheryte Plaza",
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Fishermens' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley",
|
||||
"[Limsa Lominsa] The Aftcastle",
|
||||
"[Limsa Lominsa] Culinarians' Guild",
|
||||
"[Limsa Lominsa] Marauders' Guild",
|
||||
"[Limsa Lominsa] Zephyr Gate (Middle La Noscea)",
|
||||
"[Limsa Lominsa] Tempest Gate (Lower La Noscea)",
|
||||
"[Limsa Lominsa] Airship Landing",
|
||||
"[Ishgard] Aetheryte Plaza",
|
||||
"[Ishgard] The Forgotten Knight",
|
||||
"[Ishgard] Skysteel Manufactory",
|
||||
"[Ishgard] The Brume",
|
||||
"[Ishgard] Athenaeum Astrologicum",
|
||||
"[Ishgard] The Jeweled Crozier",
|
||||
"[Ishgard] Saint Reymanaud's Cathedral",
|
||||
"[Ishgard] The Tribunal",
|
||||
"[Ishgard] The Last Vigil",
|
||||
"[Ishgard] The Gates of Judgement (Coerthas Central Highlands)",
|
||||
"[Idyllshire] Aetheryte Plaza",
|
||||
"[Idyllshire] West Idyllshire",
|
||||
"[Idyllshire] Prologue Gate",
|
||||
"[Idyllshire] Epilogue Gate",
|
||||
"[Rhalgr's Reach] Aetheryte Plaza",
|
||||
"[Rhalgr's Reach] Western Rhalgr's Reach",
|
||||
"[Rhalgr's Reach] Northeastern Rhalgr's Reach",
|
||||
"[Rhalgr's Reach] Fringes Gate",
|
||||
"[Rhalgr's Reach] Peaks Gate",
|
||||
"[Kugane] Aetheryte Plaza",
|
||||
"[Kugane] Shiokaze Hostelry",
|
||||
"[Kugane] Pier #1",
|
||||
"[Kugane] Thavnairian Consulate",
|
||||
"[Kugane] Kogane Dori Markets",
|
||||
"[Kugane] Bokairo Inn",
|
||||
"[Kugane] The Ruby Bazaar",
|
||||
"[Kugane] Sekiseigumi Barracks",
|
||||
"[Kugane] Rakuza District",
|
||||
"[Kugane] The Ruby Price",
|
||||
"[Kugane] Airship Landing",
|
||||
"[Crystarium] Aetheryte Plaza",
|
||||
"[Crystarium] Musica Universalis Markets",
|
||||
"[Crystarium] Themenos Rookery",
|
||||
"[Crystarium] The Dossal Gate",
|
||||
"[Crystarium] The Pendants",
|
||||
"[Crystarium] The Amaro Launch",
|
||||
"[Crystarium] The Crystalline Mean",
|
||||
"[Crystarium] The Cabinet of Curiosity",
|
||||
"[Crystarium] Tessellation (Lakeland)",
|
||||
"[Eulmore] Aetheryte Plaza",
|
||||
"[Eulmore] Southeast Derelicts",
|
||||
"[Eulmore] Nightsoil Pots",
|
||||
"[Eulmore] The Glory Gate",
|
||||
"[Eulmore] The Mainstay",
|
||||
"[Eulmore] The Path to Glory (Kholusia)",
|
||||
"[Old Sharlayan] Aetheryte Plaza",
|
||||
"[Old Sharlayan] The Studium",
|
||||
"[Old Sharlayan] The Baldesion Annex",
|
||||
"[Old Sharlayan] The Rostra",
|
||||
"[Old Sharlayan] The Leveilleur Estate",
|
||||
"[Old Sharlayan] Journey's End",
|
||||
"[Old Sharlayan] Scholar's Harbor",
|
||||
"[Old Sharlayan] The Hall of Artifice (Labyrinthos)",
|
||||
"[Radz-at-Han] Aetheryte Plaza",
|
||||
"[Radz-at-Han] Meghaduta",
|
||||
"[Radz-at-Han] Ruveydah Fibers",
|
||||
"[Radz-at-Han] Airship Landing",
|
||||
"[Radz-at-Han] Alzadaal's Peace",
|
||||
"[Radz-at-Han] Hall of the Radiant Host",
|
||||
"[Radz-at-Han] Mehryde's Meyhane",
|
||||
"[Radz-at-Han] Kama",
|
||||
"[Radz-at-Han] The High Crucible of Al-Kimiya",
|
||||
"[Radz-at-Han] The Gate of First Sight (Thavnair)",
|
||||
"[Tuliyollal] Aetheryte Plaza",
|
||||
"[Tuliyollal] Dirigible Landing",
|
||||
"[Tuliyollal] The Resplendent Quarter",
|
||||
"[Tuliyollal] The For'ard Cabins",
|
||||
"[Tuliyollal] Bayside Bevy Marketplace",
|
||||
"[Tuliyollal] Vollok Shoonsa",
|
||||
"[Tuliyollal] Wachumeqimeqi",
|
||||
"[Tuliyollal] Brightploom Post",
|
||||
"[Tuliyollal] Arch of the Dawn (Urqopacha)",
|
||||
"[Tuliyollal] Arch of the Dawn (Kozama'uka)",
|
||||
"[Tuliyollal] Ihuykatumu (Kozama'uka)",
|
||||
"[Tuliyollal] Dirigible Landing (Yak T'el)",
|
||||
"[Tuliyollal] Xak Tural Skygate (Shaaloani)",
|
||||
"[Solution Nine] Aetheryte Plaza",
|
||||
"[Solution Nine] Information Center",
|
||||
"[Solution Nine] True Vue",
|
||||
"[Solution Nine] Neon Stein",
|
||||
"[Solution Nine] The Arcadion",
|
||||
"[Solution Nine] Resolution",
|
||||
"[Solution Nine] Nexus Arcade",
|
||||
"[Solution Nine] Residential Sector",
|
||||
"[Solution Nine] Scanning Port Nine (Heritage Found)"
|
||||
]
|
||||
"$ref": "#/$defs/AethernetShard"
|
||||
}
|
||||
},
|
||||
"ItemId": {
|
||||
@ -475,21 +245,49 @@
|
||||
"if": {
|
||||
"properties": {
|
||||
"InteractionType": {
|
||||
"anyOf": [
|
||||
{
|
||||
"const": "AttuneAethernetShard"
|
||||
},
|
||||
{
|
||||
"const": "AttuneAetheryte"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"properties": {
|
||||
"Aetheryte": {
|
||||
"$ref": "#/$defs/Aetheryte"
|
||||
},
|
||||
"DataId": {
|
||||
"type": "null"
|
||||
},
|
||||
"Position": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"DataId",
|
||||
"Position"
|
||||
"Aetheryte"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"InteractionType": {
|
||||
"const": "AttuneAethernetShard"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"properties": {
|
||||
"AethernetShard": {
|
||||
"$ref": "#/$defs/AethernetShard"
|
||||
},
|
||||
"DataId": {
|
||||
"type": "null"
|
||||
},
|
||||
"Position": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"AethernetShard"
|
||||
]
|
||||
}
|
||||
},
|
||||
@ -952,7 +750,14 @@
|
||||
"properties": {
|
||||
"ContentFinderConditionId": {
|
||||
"type": "integer",
|
||||
"exclusiveMinimum": 0
|
||||
"exclusiveMinimum": 0,
|
||||
"exclusiveMaximum": 3000
|
||||
},
|
||||
"DataId": {
|
||||
"type": "null"
|
||||
},
|
||||
"Position": {
|
||||
"type": "null"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@ -1045,6 +850,242 @@
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"Aetheryte": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Gridania",
|
||||
"Central Shroud - Bentbranch Meadows",
|
||||
"East Shroud - Hawthorne Hut",
|
||||
"South Shroud - Quarrymill",
|
||||
"South Shroud - Camp Tranquil",
|
||||
"North Shroud - Fallgourd Float",
|
||||
"Ul'dah",
|
||||
"Western Thanalan - Horizon",
|
||||
"Central Thanalan - Black Brush Station",
|
||||
"Eastern Thanalan - Camp Drybone",
|
||||
"Southern Thanalan - Little Ala Mhigo",
|
||||
"Southern Thanalan - Forgotten Springs",
|
||||
"Northern Thanalan - Camp Bluefog",
|
||||
"Northern Thanalan - Ceruleum Processing Plant",
|
||||
"Limsa Lominsa",
|
||||
"Middle La Noscea - Summerford Farms",
|
||||
"Lower La Noscea - Moraby Drydocks",
|
||||
"Eastern La Noscea - Costa Del Sol",
|
||||
"Eastern La Noscea - Wineport",
|
||||
"Western La Noscea - Swiftperch",
|
||||
"Western La Noscea - Aleport",
|
||||
"Upper La Noscea - Camp Bronze Lake",
|
||||
"Outer La Noscea - Camp Overlook",
|
||||
"Coerthas Central Highlands - Camp Dragonhead",
|
||||
"Mor Dhona",
|
||||
"Gold Saucer",
|
||||
"Wolves' Den Pier",
|
||||
"Ishgard",
|
||||
"Idyllshire",
|
||||
"Coerthas Western Highlands - Falcon's Nest",
|
||||
"The Sea of Clouds - Camp Cloudtop",
|
||||
"The Sea of Clouds - Ok' Zundu",
|
||||
"Azys Lla - Helix",
|
||||
"The Dravanian Forelands - Tailfeather",
|
||||
"The Dravanian Forelands - Anyx Trine",
|
||||
"The Churning Mists - Moghome",
|
||||
"The Churning Mists - Zenith",
|
||||
"Rhalgr's Reach",
|
||||
"Fringes - Castrum Oriens",
|
||||
"Fringes - Peering Stones",
|
||||
"Peaks - Ala Gannha",
|
||||
"Peaks - Ala Ghiri",
|
||||
"Lochs - Porta Praetoria",
|
||||
"Lochs - Ala Mhigan Quarter",
|
||||
"Kugane",
|
||||
"Ruby Sea - Tamamizu",
|
||||
"Ruby Sea - Onokoro",
|
||||
"Yanxia - Namai",
|
||||
"Yanxia - House of the Fierce",
|
||||
"Azim Steppe - Reunion",
|
||||
"Azim Steppe - Dawn Throne",
|
||||
"Azim Steppe - Dhoro Iloh",
|
||||
"Doman Enclave",
|
||||
"Crystarium",
|
||||
"Eulmore",
|
||||
"Lakeland - Fort Jobb",
|
||||
"Lakeland - Ostall Imperative",
|
||||
"Kholusia - Stilltide",
|
||||
"Kholusia - Wright",
|
||||
"Kholusia - Tomra",
|
||||
"Amh Araeng - Mord Souq",
|
||||
"Amh Araeng - Inn at Journey's Head",
|
||||
"Amh Araeng - Twine",
|
||||
"Rak'tika - Slitherbough",
|
||||
"Rak'tika - Fanow",
|
||||
"Il Mheg - Lydha Lran",
|
||||
"Il Mheg - Pia Enni",
|
||||
"Il Mheg - Wolekdorf",
|
||||
"Tempest - Ondo Cups",
|
||||
"Tempest - Macarenses Angle",
|
||||
"Old Sharlayan",
|
||||
"Radz-at-Han",
|
||||
"Labyrinthos - Archeion",
|
||||
"Labyrinthos - Sharlayan Hamlet",
|
||||
"Labyrinthos - Aporia",
|
||||
"Thavnair - Yedlihmad",
|
||||
"Thavnair - Great Work",
|
||||
"Thavnair - Palaka's Stand",
|
||||
"Garlemald - Camp Broken Glass",
|
||||
"Garlemald - Tertium",
|
||||
"Mare Lamentorum - Sinus Lacrimarum",
|
||||
"Mare Lamentorum - Bestways Burrow",
|
||||
"Elpis - Anagnorisis",
|
||||
"Elpis - Twelve Wonders",
|
||||
"Elpis - Poieten Oikos",
|
||||
"Ultima Thule - Reah Tahra",
|
||||
"Ultima Thule - Abode of the Ea",
|
||||
"Ultima Thule - Base Omicron",
|
||||
"Tuliyollal",
|
||||
"Solution Nine",
|
||||
"Urqopacha - Wachunpelo",
|
||||
"Urqopacha - Worlar's Echo",
|
||||
"Kozama'uka - Ok'hanu",
|
||||
"Kozama'uka - Many Fires",
|
||||
"Kozama'uka - Earthenshire",
|
||||
"Yak T'el - Iq Br'aax",
|
||||
"Yak T'el - Mamook",
|
||||
"Shaaloani - Hhusatahwi",
|
||||
"Shaaloani - Sheshenewezi Springs",
|
||||
"Shaaloani - Mehwahhetsoan",
|
||||
"Heritage Found - Yyasulani Station",
|
||||
"Heritage Found - The Outskirts",
|
||||
"Heritage Found - Electrope Strike",
|
||||
"Living Memory - Leynode Mnemo",
|
||||
"Living Memory - Leynode Pyro",
|
||||
"Living Memory - Leynode Aero"
|
||||
]
|
||||
},
|
||||
"AethernetShard": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Archers' Guild",
|
||||
"[Gridania] Leatherworkers' Guild & Shaded Bower",
|
||||
"[Gridania] Lancers' Guild",
|
||||
"[Gridania] Conjurers' Guild",
|
||||
"[Gridania] Botanists' Guild",
|
||||
"[Gridania] Mih Khetto's Amphitheatre",
|
||||
"[Gridania] Blue Badger Gate (Central Shroud)",
|
||||
"[Gridania] Yellow Serpent Gate (North Shroud)",
|
||||
"[Gridania] White Wolf Gate (Central Shroud)",
|
||||
"[Gridania] Airship Landing",
|
||||
"[Ul'dah] Aetheryte Plaza",
|
||||
"[Ul'dah] Adventurers' Guild",
|
||||
"[Ul'dah] Thaumaturges' Guild",
|
||||
"[Ul'dah] Gladiators' Guild",
|
||||
"[Ul'dah] Miners' Guild",
|
||||
"[Ul'dah] Weavers' Guild",
|
||||
"[Ul'dah] Goldsmiths' Guild",
|
||||
"[Ul'dah] Sapphire Avenue Exchange",
|
||||
"[Ul'dah] Alchemists' Guild",
|
||||
"[Ul'dah] Gate of the Sultana (Western Thanalan)",
|
||||
"[Ul'dah] Gate of Nald (Central Thanalan)",
|
||||
"[Ul'dah] Gate of Thal (Central Thanalan)",
|
||||
"[Ul'dah] The Chamber of Rule",
|
||||
"[Ul'dah] Airship Landing",
|
||||
"[Limsa Lominsa] Aetheryte Plaza",
|
||||
"[Limsa Lominsa] Arcanists' Guild",
|
||||
"[Limsa Lominsa] Fishermens' Guild",
|
||||
"[Limsa Lominsa] Hawkers' Alley",
|
||||
"[Limsa Lominsa] The Aftcastle",
|
||||
"[Limsa Lominsa] Culinarians' Guild",
|
||||
"[Limsa Lominsa] Marauders' Guild",
|
||||
"[Limsa Lominsa] Zephyr Gate (Middle La Noscea)",
|
||||
"[Limsa Lominsa] Tempest Gate (Lower La Noscea)",
|
||||
"[Limsa Lominsa] Airship Landing",
|
||||
"[Ishgard] Aetheryte Plaza",
|
||||
"[Ishgard] The Forgotten Knight",
|
||||
"[Ishgard] Skysteel Manufactory",
|
||||
"[Ishgard] The Brume",
|
||||
"[Ishgard] Athenaeum Astrologicum",
|
||||
"[Ishgard] The Jeweled Crozier",
|
||||
"[Ishgard] Saint Reymanaud's Cathedral",
|
||||
"[Ishgard] The Tribunal",
|
||||
"[Ishgard] The Last Vigil",
|
||||
"[Ishgard] The Gates of Judgement (Coerthas Central Highlands)",
|
||||
"[Idyllshire] Aetheryte Plaza",
|
||||
"[Idyllshire] West Idyllshire",
|
||||
"[Idyllshire] Prologue Gate",
|
||||
"[Idyllshire] Epilogue Gate",
|
||||
"[Rhalgr's Reach] Aetheryte Plaza",
|
||||
"[Rhalgr's Reach] Western Rhalgr's Reach",
|
||||
"[Rhalgr's Reach] Northeastern Rhalgr's Reach",
|
||||
"[Rhalgr's Reach] Fringes Gate",
|
||||
"[Rhalgr's Reach] Peaks Gate",
|
||||
"[Kugane] Aetheryte Plaza",
|
||||
"[Kugane] Shiokaze Hostelry",
|
||||
"[Kugane] Pier #1",
|
||||
"[Kugane] Thavnairian Consulate",
|
||||
"[Kugane] Kogane Dori Markets",
|
||||
"[Kugane] Bokairo Inn",
|
||||
"[Kugane] The Ruby Bazaar",
|
||||
"[Kugane] Sekiseigumi Barracks",
|
||||
"[Kugane] Rakuza District",
|
||||
"[Kugane] The Ruby Price",
|
||||
"[Kugane] Airship Landing",
|
||||
"[Crystarium] Aetheryte Plaza",
|
||||
"[Crystarium] Musica Universalis Markets",
|
||||
"[Crystarium] Temenos Rookery",
|
||||
"[Crystarium] The Dossal Gate",
|
||||
"[Crystarium] The Pendants",
|
||||
"[Crystarium] The Amaro Launch",
|
||||
"[Crystarium] The Crystalline Mean",
|
||||
"[Crystarium] The Cabinet of Curiosity",
|
||||
"[Crystarium] Tessellation (Lakeland)",
|
||||
"[Eulmore] Aetheryte Plaza",
|
||||
"[Eulmore] Southeast Derelicts",
|
||||
"[Eulmore] Nightsoil Pots",
|
||||
"[Eulmore] The Glory Gate",
|
||||
"[Eulmore] The Mainstay",
|
||||
"[Eulmore] The Path to Glory (Kholusia)",
|
||||
"[Old Sharlayan] Aetheryte Plaza",
|
||||
"[Old Sharlayan] The Studium",
|
||||
"[Old Sharlayan] The Baldesion Annex",
|
||||
"[Old Sharlayan] The Rostra",
|
||||
"[Old Sharlayan] The Leveilleur Estate",
|
||||
"[Old Sharlayan] Journey's End",
|
||||
"[Old Sharlayan] Scholar's Harbor",
|
||||
"[Old Sharlayan] The Hall of Artifice (Labyrinthos)",
|
||||
"[Radz-at-Han] Aetheryte Plaza",
|
||||
"[Radz-at-Han] Meghaduta",
|
||||
"[Radz-at-Han] Ruveydah Fibers",
|
||||
"[Radz-at-Han] Airship Landing",
|
||||
"[Radz-at-Han] Alzadaal's Peace",
|
||||
"[Radz-at-Han] Hall of the Radiant Host",
|
||||
"[Radz-at-Han] Mehryde's Meyhane",
|
||||
"[Radz-at-Han] Kama",
|
||||
"[Radz-at-Han] The High Crucible of Al-Kimiya",
|
||||
"[Radz-at-Han] The Gate of First Sight (Thavnair)",
|
||||
"[Tuliyollal] Aetheryte Plaza",
|
||||
"[Tuliyollal] Dirigible Landing",
|
||||
"[Tuliyollal] The Resplendent Quarter",
|
||||
"[Tuliyollal] The For'ard Cabins",
|
||||
"[Tuliyollal] Bayside Bevy Marketplace",
|
||||
"[Tuliyollal] Vollok Shoonsa",
|
||||
"[Tuliyollal] Wachumeqimeqi",
|
||||
"[Tuliyollal] Brightploom Post",
|
||||
"[Tuliyollal] Arch of the Dawn (Urqopacha)",
|
||||
"[Tuliyollal] Arch of the Dawn (Kozama'uka)",
|
||||
"[Tuliyollal] Ihuykatumu (Kozama'uka)",
|
||||
"[Tuliyollal] Dirigible Landing (Yak T'el)",
|
||||
"[Tuliyollal] Xak Tural Skygate (Shaaloani)",
|
||||
"[Solution Nine] Aetheryte Plaza",
|
||||
"[Solution Nine] Information Center",
|
||||
"[Solution Nine] True Vue",
|
||||
"[Solution Nine] Neon Stein",
|
||||
"[Solution Nine] The Arcadion",
|
||||
"[Solution Nine] Resolution",
|
||||
"[Solution Nine] Nexus Arcade",
|
||||
"[Solution Nine] Residential Sector",
|
||||
"[Solution Nine] Scanning Port Nine (Heritage Found)"
|
||||
]
|
||||
},
|
||||
"CompletionFlags": {
|
||||
"type": "array",
|
||||
"description": "Quest Variables that dictate whether or not this step is skipped: null is don't check, positive values need to be set, negative values need to be unset",
|
||||
|
@ -10,6 +10,6 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.3"/>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
142
Questionable.Model/V1/Converter/AethernetShardConverter.cs
Normal file
142
Questionable.Model/V1/Converter/AethernetShardConverter.cs
Normal file
@ -0,0 +1,142 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Questionable.Model.V1.Converter;
|
||||
|
||||
public sealed class AethernetShardConverter() : EnumConverter<EAetheryteLocation>(Values)
|
||||
{
|
||||
public static readonly Dictionary<EAetheryteLocation, string> Values = new()
|
||||
{
|
||||
{ EAetheryteLocation.Gridania, "[Gridania] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.GridaniaArcher, "[Gridania] Archers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaLeatherworker, "[Gridania] Leatherworkers' Guild & Shaded Bower" },
|
||||
{ EAetheryteLocation.GridaniaLancer, "[Gridania] Lancers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaConjurer, "[Gridania] Conjurers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaBotanist, "[Gridania] Botanists' Guild" },
|
||||
{ EAetheryteLocation.GridaniaAmphitheatre, "[Gridania] Mih Khetto's Amphitheatre" },
|
||||
{ EAetheryteLocation.GridaniaBlueBadgerGate, "[Gridania] Blue Badger Gate (Central Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaYellowSerpentGate, "[Gridania] Yellow Serpent Gate (North Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaWhiteWolfGate, "[Gridania] White Wolf Gate (Central Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaAirship, "[Gridania] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Uldah, "[Ul'dah] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.UldahAdventurers, "[Ul'dah] Adventurers' Guild" },
|
||||
{ EAetheryteLocation.UldahThaumaturge, "[Ul'dah] Thaumaturges' Guild" },
|
||||
{ EAetheryteLocation.UldahGladiator, "[Ul'dah] Gladiators' Guild" },
|
||||
{ EAetheryteLocation.UldahMiner, "[Ul'dah] Miners' Guild" },
|
||||
{ EAetheryteLocation.UldahWeaver, "[Ul'dah] Weavers' Guild" },
|
||||
{ EAetheryteLocation.UldahGoldsmith, "[Ul'dah] Goldsmiths' Guild" },
|
||||
{ EAetheryteLocation.UldahSapphireAvenue, "[Ul'dah] Sapphire Avenue Exchange" },
|
||||
{ EAetheryteLocation.UldahAlchemist, "[Ul'dah] Alchemists' Guild" },
|
||||
{ EAetheryteLocation.UldahChamberOfRule, "[Ul'dah] The Chamber of Rule" },
|
||||
{ EAetheryteLocation.UldahGateOfTheSultana, "[Ul'dah] Gate of the Sultana (Western Thanalan)" },
|
||||
{ EAetheryteLocation.UldahGateOfNald, "[Ul'dah] Gate of Nald (Central Thanalan)" },
|
||||
{ EAetheryteLocation.UldahGateOfThal, "[Ul'dah] Gate of Thal (Central Thanalan)" },
|
||||
{ EAetheryteLocation.UldahAirship, "[Ul'dah] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Limsa, "[Limsa Lominsa] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.LimsaArcanist, "[Limsa Lominsa] Arcanists' Guild" },
|
||||
{ EAetheryteLocation.LimsaFisher, "[Limsa Lominsa] Fishermens' Guild" },
|
||||
{ EAetheryteLocation.LimsaHawkersAlley, "[Limsa Lominsa] Hawkers' Alley" },
|
||||
{ EAetheryteLocation.LimsaAftcastle, "[Limsa Lominsa] The Aftcastle" },
|
||||
{ EAetheryteLocation.LimsaCulinarian, "[Limsa Lominsa] Culinarians' Guild" },
|
||||
{ EAetheryteLocation.LimsaMarauder, "[Limsa Lominsa] Marauders' Guild" },
|
||||
{ EAetheryteLocation.LimsaZephyrGate, "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" },
|
||||
{ EAetheryteLocation.LimsaTempestGate, "[Limsa Lominsa] Tempest Gate (Lower La Noscea)" },
|
||||
{ EAetheryteLocation.LimsaAirship, "[Limsa Lominsa] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Ishgard, "[Ishgard] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.IshgardForgottenKnight, "[Ishgard] The Forgotten Knight" },
|
||||
{ EAetheryteLocation.IshgardSkysteelManufactory, "[Ishgard] Skysteel Manufactory" },
|
||||
{ EAetheryteLocation.IshgardBrume, "[Ishgard] The Brume" },
|
||||
{ EAetheryteLocation.IshgardAthenaeumAstrologicum, "[Ishgard] Athenaeum Astrologicum" },
|
||||
{ EAetheryteLocation.IshgardJeweledCrozier, "[Ishgard] The Jeweled Crozier" },
|
||||
{ EAetheryteLocation.IshgardSaintReymanaudsCathedral, "[Ishgard] Saint Reymanaud's Cathedral" },
|
||||
{ EAetheryteLocation.IshgardTribunal, "[Ishgard] The Tribunal" },
|
||||
{ EAetheryteLocation.IshgardLastVigil, "[Ishgard] The Last Vigil" },
|
||||
{ EAetheryteLocation.IshgardGatesOfJudgement, "[Ishgard] The Gates of Judgement (Coerthas Central Highlands)" },
|
||||
|
||||
{ EAetheryteLocation.Idyllshire, "[Idyllshire] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.IdyllshireWest, "[Idyllshire] West Idyllshire" },
|
||||
{ EAetheryteLocation.IdyllshirePrologueGate, "[Idyllshire] Prologue Gate" },
|
||||
{ EAetheryteLocation.IdyllshireEpilogueGate, "[Idyllshire] Epilogue Gate" },
|
||||
|
||||
{ EAetheryteLocation.RhalgrsReach, "[Rhalgr's Reach] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.RhalgrsReachWest, "[Rhalgr's Reach] Western Rhalgr's Reach" },
|
||||
{ EAetheryteLocation.RhalgrsReachNorthEast, "[Rhalgr's Reach] Northeastern Rhalgr's Reach" },
|
||||
{ EAetheryteLocation.RhalgrsReachFringesGate, "[Rhalgr's Reach] Fringes Gate" },
|
||||
{ EAetheryteLocation.RhalgrsReachPeaksGate, "[Rhalgr's Reach] Peaks Gate" },
|
||||
|
||||
{ EAetheryteLocation.Kugane, "[Kugane] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.KuganeShiokazeHostelry, "[Kugane] Shiokaze Hostelry" },
|
||||
{ EAetheryteLocation.KuganePier1, "[Kugane] Pier #1" },
|
||||
{ EAetheryteLocation.KuganeThavnairianConsulate, "[Kugane] Thavnairian Consulate" },
|
||||
{ EAetheryteLocation.KuganeMarkets, "[Kugane] Kogane Dori Markets" },
|
||||
{ EAetheryteLocation.KuganeBokairoInn, "[Kugane] Bokairo Inn" },
|
||||
{ EAetheryteLocation.KuganeRubyBazaar, "[Kugane] The Ruby Bazaar" },
|
||||
{ EAetheryteLocation.KuganeSekiseigumiBarracks, "[Kugane] Sekiseigumi Barracks" },
|
||||
{ EAetheryteLocation.KuganeRakuzaDistrict, "[Kugane] Rakuza District" },
|
||||
{ EAetheryteLocation.KuganeRubyPrice, "[Kugane] The Ruby Price" },
|
||||
{ EAetheryteLocation.KuganeAirship, "[Kugane] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Crystarium, "[Crystarium] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.CrystariumMarkets, "[Crystarium] Musica Universalis Markets" },
|
||||
{ EAetheryteLocation.CrystariumTemenosRookery, "[Crystarium] Temenos Rookery" },
|
||||
{ EAetheryteLocation.CrystariumDossalGate, "[Crystarium] The Dossal Gate" },
|
||||
{ EAetheryteLocation.CrystariumPendants, "[Crystarium] The Pendants" },
|
||||
{ EAetheryteLocation.CrystariumAmaroLaunch, "[Crystarium] The Amaro Launch" },
|
||||
{ EAetheryteLocation.CrystariumCrystallineMean, "[Crystarium] The Crystalline Mean" },
|
||||
{ EAetheryteLocation.CrystariumCabinetOfCuriosity, "[Crystarium] The Cabinet of Curiosity" },
|
||||
{ EAetheryteLocation.CrystariumTessellation, "[Crystarium] Tessellation (Lakeland)" },
|
||||
|
||||
{ EAetheryteLocation.Eulmore, "[Eulmore] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.EulmoreSoutheastDerelict, "[Eulmore] Southeast Derelicts" },
|
||||
{ EAetheryteLocation.EulmoreNightsoilPots, "[Eulmore] Nightsoil Pots" },
|
||||
{ EAetheryteLocation.EulmoreGloryGate, "[Eulmore] The Glory Gate" },
|
||||
{ EAetheryteLocation.EulmoreMainstay, "[Eulmore] The Mainstay" },
|
||||
{ EAetheryteLocation.EulmorePathToGlory, "[Eulmore] The Path to Glory (Kholusia)" },
|
||||
|
||||
{ EAetheryteLocation.OldSharlayan, "[Old Sharlayan] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.OldSharlayanStudium, "[Old Sharlayan] The Studium" },
|
||||
{ EAetheryteLocation.OldSharlayanBaldesionAnnex, "[Old Sharlayan] The Baldesion Annex" },
|
||||
{ EAetheryteLocation.OldSharlayanRostra, "[Old Sharlayan] The Rostra" },
|
||||
{ EAetheryteLocation.OldSharlayanLeveilleurEstate, "[Old Sharlayan] The Leveilleur Estate" },
|
||||
{ EAetheryteLocation.OldSharlayanJourneysEnd, "[Old Sharlayan] Journey's End" },
|
||||
{ EAetheryteLocation.OldSharlayanScholarsHarbor, "[Old Sharlayan] Scholar's Harbor" },
|
||||
{ EAetheryteLocation.OldSharlayanHallOfArtifice, "[Old Sharlayan] The Hall of Artifice (Labyrinthos)" },
|
||||
|
||||
{ EAetheryteLocation.RadzAtHan, "[Radz-at-Han] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.RadzAtHanMeghaduta, "[Radz-at-Han] Meghaduta" },
|
||||
{ EAetheryteLocation.RadzAtHanRuveydahFibers, "[Radz-at-Han] Ruveydah Fibers" },
|
||||
{ EAetheryteLocation.RadzAtHanAirship, "[Radz-at-Han] Airship Landing" },
|
||||
{ EAetheryteLocation.RadzAtHanAlzadaalsPeace, "[Radz-at-Han] Alzadaal's Peace" },
|
||||
{ EAetheryteLocation.RadzAtHanHallOfTheRadiantHost, "[Radz-at-Han] Hall of the Radiant Host" },
|
||||
{ EAetheryteLocation.RadzAtHanMehrydesMeyhane, "[Radz-at-Han] Mehryde's Meyhane" },
|
||||
{ EAetheryteLocation.RadzAtHanKama, "[Radz-at-Han] Kama" },
|
||||
{ EAetheryteLocation.RadzAtHanHighCrucible, "[Radz-at-Han] The High Crucible of Al-Kimiya" },
|
||||
{ EAetheryteLocation.RadzAtHanGateOfFirstSight, "[Radz-at-Han] The Gate of First Sight (Thavnair)" },
|
||||
|
||||
{ EAetheryteLocation.Tuliyollal, "[Tuliyollal] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.TuliyollalDirigibleLanding, "[Tuliyollal] Dirigible Landing" },
|
||||
{ EAetheryteLocation.TuliyollalTheResplendentQuarter, "[Tuliyollal] The Resplendent Quarter" },
|
||||
{ EAetheryteLocation.TuliyollalTheForardCabins, "[Tuliyollal] The For'ard Cabins" },
|
||||
{ EAetheryteLocation.TuliyollalBaysideBevyMarketplace, "[Tuliyollal] Bayside Bevy Marketplace" },
|
||||
{ EAetheryteLocation.TuliyollalVollokShoonsa, "[Tuliyollal] Vollok Shoonsa" },
|
||||
{ EAetheryteLocation.TuliyollalWachumeqimeqi, "[Tuliyollal] Wachumeqimeqi" },
|
||||
{ EAetheryteLocation.TuliyollalBrightploomPost, "[Tuliyollal] Brightploom Post" },
|
||||
{ EAetheryteLocation.TuliyollalArchOfTheDawnUrqopacha, "[Tuliyollal] Arch of the Dawn (Urqopacha)" },
|
||||
{ EAetheryteLocation.TuliyollalArchOfTheDawnKozamauka, "[Tuliyollal] Arch of the Dawn (Kozama'uka)" },
|
||||
{ EAetheryteLocation.TuliyollalIhuykatumu, "[Tuliyollal] Ihuykatumu (Kozama'uka)" },
|
||||
{ EAetheryteLocation.TuliyollalDirigibleLandingYakTel, "[Tuliyollal] Dirigible Landing (Yak T'el)" },
|
||||
{ EAetheryteLocation.TuliyollalXakTuralSkygate, "[Tuliyollal] Xak Tural Skygate (Shaaloani)" },
|
||||
|
||||
{ EAetheryteLocation.SolutionNine, "[Solution Nine] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.SolutionNineInformationCenter, "[Solution Nine] Information Center" },
|
||||
{ EAetheryteLocation.SolutionNineTrueVue, "[Solution Nine] True Vue" },
|
||||
{ EAetheryteLocation.SolutionNineNeonStein, "[Solution Nine] Neon Stein" },
|
||||
{ EAetheryteLocation.SolutionNineTheArcadion, "[Solution Nine] The Arcadion" },
|
||||
{ EAetheryteLocation.SolutionNineResolution, "[Solution Nine] Resolution" },
|
||||
{ EAetheryteLocation.SolutionNineNexusArcade, "[Solution Nine] Nexus Arcade" },
|
||||
{ EAetheryteLocation.SolutionNineResidentialSector, "[Solution Nine] Residential Sector" },
|
||||
{ EAetheryteLocation.SolutionNineScanningPortNine, "[Solution Nine] Scanning Port Nine (Heritage Found)" },
|
||||
};
|
||||
}
|
@ -8,142 +8,7 @@ namespace Questionable.Model.V1.Converter;
|
||||
|
||||
public sealed class AethernetShortcutConverter : JsonConverter<AethernetShortcut>
|
||||
{
|
||||
private static readonly Dictionary<EAetheryteLocation, string> EnumToString = new()
|
||||
{
|
||||
{ EAetheryteLocation.Gridania, "[Gridania] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.GridaniaArcher, "[Gridania] Archers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaLeatherworker, "[Gridania] Leatherworkers' Guild & Shaded Bower" },
|
||||
{ EAetheryteLocation.GridaniaLancer, "[Gridania] Lancers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaConjurer, "[Gridania] Conjurers' Guild" },
|
||||
{ EAetheryteLocation.GridaniaBotanist, "[Gridania] Botanists' Guild" },
|
||||
{ EAetheryteLocation.GridaniaAmphitheatre, "[Gridania] Mih Khetto's Amphitheatre" },
|
||||
{ EAetheryteLocation.GridaniaBlueBadgerGate, "[Gridania] Blue Badger Gate (Central Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaYellowSerpentGate, "[Gridania] Yellow Serpent Gate (North Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaWhiteWolfGate, "[Gridania] White Wolf Gate (Central Shroud)" },
|
||||
{ EAetheryteLocation.GridaniaAirship, "[Gridania] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Uldah, "[Ul'dah] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.UldahAdventurers, "[Ul'dah] Adventurers' Guild" },
|
||||
{ EAetheryteLocation.UldahThaumaturge, "[Ul'dah] Thaumaturges' Guild" },
|
||||
{ EAetheryteLocation.UldahGladiator, "[Ul'dah] Gladiators' Guild" },
|
||||
{ EAetheryteLocation.UldahMiner, "[Ul'dah] Miners' Guild" },
|
||||
{ EAetheryteLocation.UldahWeaver, "[Ul'dah] Weavers' Guild" },
|
||||
{ EAetheryteLocation.UldahGoldsmith, "[Ul'dah] Goldsmiths' Guild" },
|
||||
{ EAetheryteLocation.UldahSapphireAvenue, "[Ul'dah] Sapphire Avenue Exchange" },
|
||||
{ EAetheryteLocation.UldahAlchemist, "[Ul'dah] Alchemists' Guild" },
|
||||
{ EAetheryteLocation.UldahChamberOfRule, "[Ul'dah] The Chamber of Rule" },
|
||||
{ EAetheryteLocation.UldahGateOfTheSultana, "[Ul'dah] Gate of the Sultana (Western Thanalan)" },
|
||||
{ EAetheryteLocation.UldahGateOfNald, "[Ul'dah] Gate of Nald (Central Thanalan)" },
|
||||
{ EAetheryteLocation.UldahGateOfThal, "[Ul'dah] Gate of Thal (Central Thanalan)" },
|
||||
{ EAetheryteLocation.UldahAirship, "[Ul'dah] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Limsa, "[Limsa Lominsa] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.LimsaArcanist, "[Limsa Lominsa] Arcanists' Guild" },
|
||||
{ EAetheryteLocation.LimsaFisher, "[Limsa Lominsa] Fishermens' Guild" },
|
||||
{ EAetheryteLocation.LimsaHawkersAlley, "[Limsa Lominsa] Hawkers' Alley" },
|
||||
{ EAetheryteLocation.LimsaAftcastle, "[Limsa Lominsa] The Aftcastle" },
|
||||
{ EAetheryteLocation.LimsaCulinarian, "[Limsa Lominsa] Culinarians' Guild" },
|
||||
{ EAetheryteLocation.LimsaMarauder, "[Limsa Lominsa] Marauders' Guild" },
|
||||
{ EAetheryteLocation.LimsaZephyrGate, "[Limsa Lominsa] Zephyr Gate (Middle La Noscea)" },
|
||||
{ EAetheryteLocation.LimsaTempestGate, "[Limsa Lominsa] Tempest Gate (Lower La Noscea)" },
|
||||
{ EAetheryteLocation.LimsaAirship, "[Limsa Lominsa] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Ishgard, "[Ishgard] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.IshgardForgottenKnight, "[Ishgard] The Forgotten Knight" },
|
||||
{ EAetheryteLocation.IshgardSkysteelManufactory, "[Ishgard] Skysteel Manufactory" },
|
||||
{ EAetheryteLocation.IshgardBrume, "[Ishgard] The Brume" },
|
||||
{ EAetheryteLocation.IshgardAthenaeumAstrologicum, "[Ishgard] Athenaeum Astrologicum" },
|
||||
{ EAetheryteLocation.IshgardJeweledCrozier, "[Ishgard] The Jeweled Crozier" },
|
||||
{ EAetheryteLocation.IshgardSaintReymanaudsCathedral, "[Ishgard] Saint Reymanaud's Cathedral" },
|
||||
{ EAetheryteLocation.IshgardTribunal, "[Ishgard] The Tribunal" },
|
||||
{ EAetheryteLocation.IshgardLastVigil, "[Ishgard] The Last Vigil" },
|
||||
{ EAetheryteLocation.IshgardGatesOfJudgement, "[Ishgard] The Gates of Judgement (Coerthas Central Highlands)" },
|
||||
|
||||
{ EAetheryteLocation.Idyllshire, "[Idyllshire] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.IdyllshireWest, "[Idyllshire] West Idyllshire" },
|
||||
{ EAetheryteLocation.IdyllshirePrologueGate, "[Idyllshire] Prologue Gate" },
|
||||
{ EAetheryteLocation.IdyllshireEpilogueGate, "[Idyllshire] Epilogue Gate" },
|
||||
|
||||
{ EAetheryteLocation.RhalgrsReach, "[Rhalgr's Reach] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.RhalgrsReachWest, "[Rhalgr's Reach] Western Rhalgr's Reach" },
|
||||
{ EAetheryteLocation.RhalgrsReachNorthEast, "[Rhalgr's Reach] Northeastern Rhalgr's Reach" },
|
||||
{ EAetheryteLocation.RhalgrsReachFringesGate, "[Rhalgr's Reach] Fringes Gate" },
|
||||
{ EAetheryteLocation.RhalgrsReachPeaksGate, "[Rhalgr's Reach] Peaks Gate" },
|
||||
|
||||
{ EAetheryteLocation.Kugane, "[Kugane] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.KuganeShiokazeHostelry, "[Kugane] Shiokaze Hostelry" },
|
||||
{ EAetheryteLocation.KuganePier1, "[Kugane] Pier #1" },
|
||||
{ EAetheryteLocation.KuganeThavnairianConsulate, "[Kugane] Thavnairian Consulate" },
|
||||
{ EAetheryteLocation.KuganeMarkets, "[Kugane] Kogane Dori Markets" },
|
||||
{ EAetheryteLocation.KuganeBokairoInn, "[Kugane] Bokairo Inn" },
|
||||
{ EAetheryteLocation.KuganeRubyBazaar, "[Kugane] The Ruby Bazaar" },
|
||||
{ EAetheryteLocation.KuganeSekiseigumiBarracks, "[Kugane] Sekiseigumi Barracks" },
|
||||
{ EAetheryteLocation.KuganeRakuzaDistrict, "[Kugane] Rakuza District" },
|
||||
{ EAetheryteLocation.KuganeRubyPrice, "[Kugane] The Ruby Price" },
|
||||
{ EAetheryteLocation.KuganeAirship, "[Kugane] Airship Landing" },
|
||||
|
||||
{ EAetheryteLocation.Crystarium, "[Crystarium] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.CrystariumMarkets, "[Crystarium] Musica Universalis Markets" },
|
||||
{ EAetheryteLocation.CrystariumThemenosRookery, "[Crystarium] Themenos Rookery" },
|
||||
{ EAetheryteLocation.CrystariumDossalGate, "[Crystarium] The Dossal Gate" },
|
||||
{ EAetheryteLocation.CrystariumPendants, "[Crystarium] The Pendants" },
|
||||
{ EAetheryteLocation.CrystariumAmaroLaunch, "[Crystarium] The Amaro Launch" },
|
||||
{ EAetheryteLocation.CrystariumCrystallineMean, "[Crystarium] The Crystalline Mean" },
|
||||
{ EAetheryteLocation.CrystariumCabinetOfCuriosity, "[Crystarium] The Cabinet of Curiosity" },
|
||||
{ EAetheryteLocation.CrystariumTessellation, "[Crystarium] Tessellation (Lakeland)" },
|
||||
|
||||
{ EAetheryteLocation.Eulmore, "[Eulmore] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.EulmoreSoutheastDerelict, "[Eulmore] Southeast Derelicts" },
|
||||
{ EAetheryteLocation.EulmoreNightsoilPots, "[Eulmore] Nightsoil Pots" },
|
||||
{ EAetheryteLocation.EulmoreGloryGate, "[Eulmore] The Glory Gate" },
|
||||
{ EAetheryteLocation.EulmoreMainstay, "[Eulmore] The Mainstay" },
|
||||
{ EAetheryteLocation.EulmorePathToGlory, "[Eulmore] The Path to Glory (Kholusia)" },
|
||||
|
||||
{ EAetheryteLocation.OldSharlayan, "[Old Sharlayan] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.OldSharlayanStudium, "[Old Sharlayan] The Studium" },
|
||||
{ EAetheryteLocation.OldSharlayanBaldesionAnnex, "[Old Sharlayan] The Baldesion Annex" },
|
||||
{ EAetheryteLocation.OldSharlayanRostra, "[Old Sharlayan] The Rostra" },
|
||||
{ EAetheryteLocation.OldSharlayanLeveilleurEstate, "[Old Sharlayan] The Leveilleur Estate" },
|
||||
{ EAetheryteLocation.OldSharlayanJourneysEnd, "[Old Sharlayan] Journey's End" },
|
||||
{ EAetheryteLocation.OldSharlayanScholarsHarbor, "[Old Sharlayan] Scholar's Harbor" },
|
||||
{ EAetheryteLocation.OldSharlayanHallOfArtifice, "[Old Sharlayan] The Hall of Artifice (Labyrinthos)" },
|
||||
|
||||
{ EAetheryteLocation.RadzAtHan, "[Radz-at-Han] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.RadzAtHanMeghaduta, "[Radz-at-Han] Meghaduta" },
|
||||
{ EAetheryteLocation.RadzAtHanRuveydahFibers, "[Radz-at-Han] Ruveydah Fibers" },
|
||||
{ EAetheryteLocation.RadzAtHanAirship, "[Radz-at-Han] Airship Landing" },
|
||||
{ EAetheryteLocation.RadzAtHanAlzadaalsPeace, "[Radz-at-Han] Alzadaal's Peace" },
|
||||
{ EAetheryteLocation.RadzAtHanHallOfTheRadiantHost, "[Radz-at-Han] Hall of the Radiant Host" },
|
||||
{ EAetheryteLocation.RadzAtHanMehrydesMeyhane, "[Radz-at-Han] Mehryde's Meyhane" },
|
||||
{ EAetheryteLocation.RadzAtHanKama, "[Radz-at-Han] Kama" },
|
||||
{ EAetheryteLocation.RadzAtHanHighCrucible, "[Radz-at-Han] The High Crucible of Al-Kimiya" },
|
||||
{ EAetheryteLocation.RadzAtHanGateOfFirstSight, "[Radz-at-Han] The Gate of First Sight (Thavnair)" },
|
||||
|
||||
{ EAetheryteLocation.Tuliyollal, "[Tuliyollal] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.TuliyollalDirigibleLanding, "[Tuliyollal] Dirigible Landing" },
|
||||
{ EAetheryteLocation.TuliyollalTheResplendentQuarter, "[Tuliyollal] The Resplendent Quarter" },
|
||||
{ EAetheryteLocation.TuliyollalTheForardCabins, "[Tuliyollal] The For'ard Cabins" },
|
||||
{ EAetheryteLocation.TuliyollalBaysideBevyMarketplace, "[Tuliyollal] Bayside Bevy Marketplace" },
|
||||
{ EAetheryteLocation.TuliyollalVollokShoonsa, "[Tuliyollal] Vollok Shoonsa" },
|
||||
{ EAetheryteLocation.TuliyollalWachumeqimeqi, "[Tuliyollal] Wachumeqimeqi" },
|
||||
{ EAetheryteLocation.TuliyollalBrightploomPost, "[Tuliyollal] Brightploom Post" },
|
||||
{ EAetheryteLocation.TuliyollalArchOfTheDawnUrqopacha, "[Tuliyollal] Arch of the Dawn (Urqopacha)" },
|
||||
{ EAetheryteLocation.TuliyollalArchOfTheDawnKozamauka, "[Tuliyollal] Arch of the Dawn (Kozama'uka)" },
|
||||
{ EAetheryteLocation.TuliyollalIhuykatumu, "[Tuliyollal] Ihuykatumu (Kozama'uka)" },
|
||||
{ EAetheryteLocation.TuliyollalDirigibleLandingYakTel, "[Tuliyollal] Dirigible Landing (Yak T'el)" },
|
||||
{ EAetheryteLocation.TuliyollalXakTuralSkygate, "[Tuliyollal] Xak Tural Skygate (Shaaloani)" },
|
||||
|
||||
{ EAetheryteLocation.SolutionNine, "[Solution Nine] Aetheryte Plaza" },
|
||||
{ EAetheryteLocation.SolutionNineInformationCenter, "[Solution Nine] Information Center" },
|
||||
{ EAetheryteLocation.SolutionNineTrueVue, "[Solution Nine] True Vue" },
|
||||
{ EAetheryteLocation.SolutionNineNeonStein, "[Solution Nine] Neon Stein" },
|
||||
{ EAetheryteLocation.SolutionNineTheArcadion, "[Solution Nine] The Arcadion" },
|
||||
{ EAetheryteLocation.SolutionNineResolution, "[Solution Nine] Resolution" },
|
||||
{ EAetheryteLocation.SolutionNineNexusArcade, "[Solution Nine] Nexus Arcade" },
|
||||
{ EAetheryteLocation.SolutionNineResidentialSector, "[Solution Nine] Residential Sector" },
|
||||
{ EAetheryteLocation.SolutionNineScanningPortNine, "[Solution Nine] Scanning Port Nine (Heritage Found)" },
|
||||
};
|
||||
|
||||
private static readonly Dictionary<EAetheryteLocation, string> EnumToString = AethernetShardConverter.Values;
|
||||
private static readonly Dictionary<string, EAetheryteLocation> StringToEnum =
|
||||
EnumToString.ToDictionary(x => x.Value, x => x.Key);
|
||||
|
||||
|
@ -139,7 +139,7 @@ public enum EAetheryteLocation
|
||||
|
||||
Crystarium = 133,
|
||||
CrystariumMarkets = 149,
|
||||
CrystariumThemenosRookery = 150,
|
||||
CrystariumTemenosRookery = 150,
|
||||
CrystariumDossalGate = 151,
|
||||
CrystariumPendants = 152,
|
||||
CrystariumAmaroLaunch = 153,
|
||||
|
@ -33,6 +33,17 @@ public sealed class QuestStep
|
||||
public bool? IgnoreDistanceToObject { get; set; }
|
||||
public string? Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Only used when attuning to an aetheryte.
|
||||
/// </summary>
|
||||
public EAetheryteLocation? Aetheryte { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Only used when attuning to an aethernet shard.
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(AethernetShardConverter))]
|
||||
public EAetheryteLocation? AethernetShard { get; set; }
|
||||
|
||||
public EAetheryteLocation? AetheryteShortcut { get; set; }
|
||||
|
||||
public AethernetShortcut? AethernetShortcut { get; set; }
|
||||
@ -80,6 +91,8 @@ public sealed class QuestStep
|
||||
{
|
||||
if (InteractionType == EInteractionType.WalkTo)
|
||||
return StopDistance ?? 0.25f;
|
||||
if (InteractionType == EInteractionType.AttuneAetheryte)
|
||||
return StopDistance ?? 10f;
|
||||
else
|
||||
return StopDistance ?? DefaultStopDistance;
|
||||
}
|
||||
|
@ -13,9 +13,9 @@
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Direct",
|
||||
"requested": "[8.0.3, )",
|
||||
"resolved": "8.0.3",
|
||||
"contentHash": "hpagS9joOwv6efWfrMmV9MjQXpiXZH72PgN067Ysfr6AWMSD1/1hEcvh/U5mUpPLezEWsOJSuVrmqDIVD958iA==",
|
||||
"requested": "[8.0.4, )",
|
||||
"resolved": "8.0.4",
|
||||
"contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"dependencies": {
|
||||
"Microsoft.Bcl.AsyncInterfaces": "8.0.0",
|
||||
"System.Buffers": "4.5.1",
|
||||
|
@ -6,11 +6,15 @@ using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Threading.Tasks;
|
||||
using Dalamud.Plugin;
|
||||
using Json.Schema;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Data;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.V1;
|
||||
using Questionable.QuestPaths;
|
||||
using Questionable.Validation;
|
||||
|
||||
namespace Questionable.Controller;
|
||||
@ -21,6 +25,7 @@ internal sealed class QuestRegistry
|
||||
private readonly QuestData _questData;
|
||||
private readonly QuestValidator _questValidator;
|
||||
private readonly ILogger<QuestRegistry> _logger;
|
||||
private readonly JsonSchema _questSchema;
|
||||
|
||||
private readonly Dictionary<ushort, Quest> _quests = new();
|
||||
|
||||
@ -31,6 +36,7 @@ internal sealed class QuestRegistry
|
||||
_questData = questData;
|
||||
_questValidator = questValidator;
|
||||
_logger = logger;
|
||||
_questSchema = JsonSchema.FromStream(AssemblyQuestLoader.QuestSchema).AsTask().Result;
|
||||
}
|
||||
|
||||
public IEnumerable<Quest> AllQuests => _quests.Values;
|
||||
@ -40,6 +46,7 @@ internal sealed class QuestRegistry
|
||||
|
||||
public void Reload()
|
||||
{
|
||||
_questValidator.ClearIssues();
|
||||
_quests.Clear();
|
||||
|
||||
LoadQuestsFromAssembly();
|
||||
@ -64,7 +71,7 @@ internal sealed class QuestRegistry
|
||||
{
|
||||
_logger.LogInformation("Loading quests from assembly");
|
||||
|
||||
foreach ((ushort questId, QuestRoot questRoot) in QuestPaths.AssemblyQuestLoader.GetQuests())
|
||||
foreach ((ushort questId, QuestRoot questRoot) in AssemblyQuestLoader.GetQuests())
|
||||
{
|
||||
Quest quest = new()
|
||||
{
|
||||
@ -113,7 +120,6 @@ internal sealed class QuestRegistry
|
||||
|
||||
private void ValidateQuests()
|
||||
{
|
||||
_questValidator.ClearIssues();
|
||||
_questValidator.Validate(_quests.Values.Where(x => !x.ReadOnly));
|
||||
}
|
||||
|
||||
@ -124,10 +130,31 @@ internal sealed class QuestRegistry
|
||||
if (questId == null)
|
||||
return;
|
||||
|
||||
var questNode = JsonNode.Parse(stream);
|
||||
Task.Run(() =>
|
||||
{
|
||||
var evaluationResult = _questSchema.Evaluate(questNode, new EvaluationOptions
|
||||
{
|
||||
Culture = CultureInfo.InvariantCulture,
|
||||
OutputFormat = OutputFormat.List
|
||||
});
|
||||
if (!evaluationResult.IsValid)
|
||||
{
|
||||
_questValidator.AddIssue(new ValidationIssue
|
||||
{
|
||||
QuestId = questId.Value,
|
||||
Sequence = null,
|
||||
Step = null,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "JSON Validation failed"
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Quest quest = new Quest
|
||||
{
|
||||
QuestId = questId.Value,
|
||||
Root = JsonSerializer.Deserialize<QuestRoot>(stream)!,
|
||||
Root = questNode.Deserialize<QuestRoot>()!,
|
||||
Info = _questData.GetQuestInfo(questId.Value),
|
||||
ReadOnly = false,
|
||||
};
|
||||
|
@ -17,10 +17,10 @@ internal static class AethernetShard
|
||||
if (step.InteractionType != EInteractionType.AttuneAethernetShard)
|
||||
return null;
|
||||
|
||||
ArgumentNullException.ThrowIfNull(step.DataId);
|
||||
ArgumentNullException.ThrowIfNull(step.AethernetShard);
|
||||
|
||||
return serviceProvider.GetRequiredService<DoAttune>()
|
||||
.With((EAetheryteLocation)step.DataId);
|
||||
.With(step.AethernetShard.Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,10 +15,10 @@ internal static class Aetheryte
|
||||
if (step.InteractionType != EInteractionType.AttuneAetheryte)
|
||||
return null;
|
||||
|
||||
ArgumentNullException.ThrowIfNull(step.DataId);
|
||||
ArgumentNullException.ThrowIfNull(step.Aetheryte);
|
||||
|
||||
return serviceProvider.GetRequiredService<DoAttune>()
|
||||
.With((EAetheryteLocation)step.DataId.Value);
|
||||
.With(step.Aetheryte.Value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ namespace Questionable.Controller.Steps.Shared;
|
||||
|
||||
internal static class Move
|
||||
{
|
||||
internal sealed class Factory(IServiceProvider serviceProvider) : ITaskFactory
|
||||
internal sealed class Factory(IServiceProvider serviceProvider, AetheryteData aetheryteData) : ITaskFactory
|
||||
{
|
||||
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
{
|
||||
@ -37,6 +37,20 @@ internal static class Move
|
||||
task.StopDistance = step.StopDistance.Value;
|
||||
return [task];
|
||||
}
|
||||
else if (step is { InteractionType: EInteractionType.AttuneAetheryte, Aetheryte: not null })
|
||||
{
|
||||
var builder = serviceProvider.GetRequiredService<MoveBuilder>();
|
||||
builder.Step = step;
|
||||
builder.Destination = aetheryteData.Locations[step.Aetheryte.Value];
|
||||
return builder.Build();
|
||||
}
|
||||
else if (step is { InteractionType: EInteractionType.AttuneAethernetShard, AethernetShard: not null })
|
||||
{
|
||||
var builder = serviceProvider.GetRequiredService<MoveBuilder>();
|
||||
builder.Step = step;
|
||||
builder.Destination = aetheryteData.Locations[step.AethernetShard.Value];
|
||||
return builder.Build();
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ internal sealed class AetheryteData
|
||||
|
||||
{ EAetheryteLocation.Crystarium, new(-65.0188f, 4.5318604f, 0.015197754f) },
|
||||
{ EAetheryteLocation.CrystariumMarkets, new(-6.149414f, -7.736328f, 148.72961f) },
|
||||
{ EAetheryteLocation.CrystariumThemenosRookery, new(-107.37775f, -0.015319824f, -58.762512f) },
|
||||
{ EAetheryteLocation.CrystariumTemenosRookery, new(-107.37775f, -0.015319824f, -58.762512f) },
|
||||
{ EAetheryteLocation.CrystariumDossalGate, new(64.86609f, -0.015319824f, -18.173523f) },
|
||||
{ EAetheryteLocation.CrystariumPendants, new(35.477173f, -0.015319824f, 222.58337f) },
|
||||
{ EAetheryteLocation.CrystariumAmaroLaunch, new(66.60559f, 35.99597f, -131.09033f) },
|
||||
|
@ -10,9 +10,10 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Dalamud.Extensions.MicrosoftLogging" Version="4.0.1"/>
|
||||
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="JetBrains.Annotations" Version="2024.2.0" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="JsonSchema.Net" Version="7.1.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0"/>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.3"/>
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -54,4 +54,6 @@ internal sealed class QuestValidator
|
||||
.ToList();
|
||||
});
|
||||
}
|
||||
|
||||
public void AddIssue(ValidationIssue issue) => _validationIssues.Add(issue);
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
@ -8,6 +9,7 @@ using Dalamud.Interface.Windowing;
|
||||
using Dalamud.Plugin.Services;
|
||||
using ImGuiNET;
|
||||
using Questionable.Controller;
|
||||
using Questionable.Data;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.V1;
|
||||
|
||||
@ -20,10 +22,11 @@ internal sealed class DebugOverlay : Window
|
||||
private readonly IGameGui _gameGui;
|
||||
private readonly IClientState _clientState;
|
||||
private readonly ICondition _condition;
|
||||
private readonly AetheryteData _aetheryteData;
|
||||
private readonly Configuration _configuration;
|
||||
|
||||
public DebugOverlay(QuestController questController, QuestRegistry questRegistry, IGameGui gameGui,
|
||||
IClientState clientState, ICondition condition, Configuration configuration)
|
||||
IClientState clientState, ICondition condition, AetheryteData aetheryteData, Configuration configuration)
|
||||
: base("Questionable Debug Overlay###QuestionableDebugOverlay",
|
||||
ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoBackground |
|
||||
ImGuiWindowFlags.NoInputs | ImGuiWindowFlags.NoSavedSettings, true)
|
||||
@ -33,6 +36,7 @@ internal sealed class DebugOverlay : Window
|
||||
_gameGui = gameGui;
|
||||
_clientState = clientState;
|
||||
_condition = condition;
|
||||
_aetheryteData = aetheryteData;
|
||||
_configuration = configuration;
|
||||
|
||||
Position = Vector2.Zero;
|
||||
@ -75,16 +79,16 @@ internal sealed class DebugOverlay : Window
|
||||
for (int i = currentQuest.Step; i <= sequence.Steps.Count; ++i)
|
||||
{
|
||||
QuestStep? step = sequence.FindStep(i);
|
||||
if (step == null || step.Position == null)
|
||||
continue;
|
||||
|
||||
DrawStep(i.ToString(CultureInfo.InvariantCulture), step,
|
||||
Vector3.Distance(_clientState.LocalPlayer!.Position, step.Position.Value) <
|
||||
if (step != null && TryGetPosition(step, out Vector3? position))
|
||||
{
|
||||
DrawStep(i.ToString(CultureInfo.InvariantCulture), step, position.Value,
|
||||
Vector3.Distance(_clientState.LocalPlayer!.Position, position.Value) <
|
||||
step.CalculateActualStopDistance()
|
||||
? 0xFF00FF00
|
||||
: 0xFF0000FF);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawHighlightedQuest()
|
||||
{
|
||||
@ -96,25 +100,49 @@ internal sealed class DebugOverlay : Window
|
||||
for (int i = 0; i < sequence.Steps.Count; ++i)
|
||||
{
|
||||
QuestStep? step = sequence.FindStep(i);
|
||||
DrawStep($"{quest.QuestId} / {sequence.Sequence} / {i}", step, 0xFFFFFFFF);
|
||||
if (step != null && TryGetPosition(step, out Vector3? position))
|
||||
{
|
||||
DrawStep($"{quest.QuestId} / {sequence.Sequence} / {i}", step, position.Value, 0xFFFFFFFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawStep(string counter, QuestStep? step, uint color)
|
||||
private void DrawStep(string counter, QuestStep step, Vector3 position, uint color)
|
||||
{
|
||||
if (step == null ||
|
||||
step.Position == null ||
|
||||
step.Disabled ||
|
||||
step.TerritoryId != _clientState.TerritoryType)
|
||||
if (step.Disabled || step.TerritoryId != _clientState.TerritoryType)
|
||||
return;
|
||||
|
||||
bool visible = _gameGui.WorldToScreen(step.Position.Value, out Vector2 screenPos);
|
||||
bool visible = _gameGui.WorldToScreen(position, out Vector2 screenPos);
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
ImGui.GetWindowDrawList().AddCircleFilled(screenPos, 3f, color);
|
||||
ImGui.GetWindowDrawList().AddText(screenPos + new Vector2(10, -8), color,
|
||||
$"{counter}: {step.InteractionType}\n{step.Position.Value.ToString("G", CultureInfo.InvariantCulture)} [{(step.Position.Value - _clientState.LocalPlayer!.Position).Length():N2}]\n{step.Comment}");
|
||||
$"{counter}: {step.InteractionType}\n{position.ToString("G", CultureInfo.InvariantCulture)} [{(position - _clientState.LocalPlayer!.Position).Length():N2}]\n{step.Comment}");
|
||||
}
|
||||
|
||||
private bool TryGetPosition(QuestStep step, [NotNullWhen(true)] out Vector3? position)
|
||||
{
|
||||
if (step.Position != null)
|
||||
{
|
||||
position = step.Position;
|
||||
return true;
|
||||
}
|
||||
else if (step.InteractionType == EInteractionType.AttuneAetheryte && step.Aetheryte != null)
|
||||
{
|
||||
position = _aetheryteData.Locations[step.Aetheryte.Value];
|
||||
return true;
|
||||
}
|
||||
else if (step.InteractionType == EInteractionType.AttuneAethernetShard && step.AethernetShard != null)
|
||||
{
|
||||
position = _aetheryteData.Locations[step.AethernetShard.Value];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
position = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ using Dalamud.Game.Text;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
@ -277,7 +278,8 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
|
||||
{
|
||||
ImGui.SameLine();
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Atlas))
|
||||
_commandManager.DispatchCommand("/questinfo", currentQuest.Quest.QuestId.ToString(CultureInfo.InvariantCulture), commandInfo);
|
||||
_commandManager.DispatchCommand("/questinfo",
|
||||
currentQuest.Quest.QuestId.ToString(CultureInfo.InvariantCulture), commandInfo);
|
||||
}
|
||||
|
||||
bool autoAcceptNextQuest = _configuration.General.AutoAcceptNextQuest;
|
||||
@ -596,20 +598,72 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
|
||||
if (_questRegistry.ValidationIssueCount > 0)
|
||||
{
|
||||
ImGui.SameLine();
|
||||
|
||||
bool colored = _questRegistry.ValidationErrorCount > 0;
|
||||
if (colored)
|
||||
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
|
||||
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Flag,
|
||||
$"{_questRegistry.ValidationIssueCount}"))
|
||||
if (DrawValidationIssuesButton())
|
||||
_questValidationWindow.IsOpen = true;
|
||||
|
||||
if (colored)
|
||||
ImGui.PopStyleColor();
|
||||
}
|
||||
}
|
||||
|
||||
private bool DrawValidationIssuesButton()
|
||||
{
|
||||
int errorCount = _questRegistry.ValidationErrorCount;
|
||||
int infoCount = _questRegistry.ValidationIssueCount - _questRegistry.ValidationErrorCount;
|
||||
if (errorCount == 0 && infoCount == 0)
|
||||
return false;
|
||||
|
||||
int partsToRender = errorCount == 0 || infoCount == 0 ? 1 : 2;
|
||||
using var id = ImRaii.PushId("validationissues");
|
||||
|
||||
ImGui.PushFont(UiBuilder.IconFont);
|
||||
var icon1 = FontAwesomeIcon.TimesCircle;
|
||||
var icon2 = FontAwesomeIcon.InfoCircle;
|
||||
Vector2 iconSize1 = errorCount > 0 ? ImGui.CalcTextSize(icon1.ToIconString()) : Vector2.Zero;
|
||||
Vector2 iconSize2 = infoCount > 0 ? ImGui.CalcTextSize(icon2.ToIconString()) : Vector2.Zero;
|
||||
ImGui.PopFont();
|
||||
|
||||
string text1 = errorCount > 0 ? errorCount.ToString(CultureInfo.InvariantCulture) : string.Empty;
|
||||
string text2 = infoCount > 0 ? infoCount.ToString(CultureInfo.InvariantCulture) : string.Empty;
|
||||
Vector2 textSize1 = errorCount > 0 ? ImGui.CalcTextSize(text1) : Vector2.Zero;
|
||||
Vector2 textSize2 = infoCount > 0 ? ImGui.CalcTextSize(text2) : Vector2.Zero;
|
||||
var dl = ImGui.GetWindowDrawList();
|
||||
var cursor = ImGui.GetCursorScreenPos();
|
||||
|
||||
var iconPadding = 3 * ImGuiHelpers.GlobalScale;
|
||||
|
||||
// Draw an ImGui button with the icon and text
|
||||
var buttonWidth = iconSize1.X + iconSize2.X + textSize1.X + textSize2.X +
|
||||
(ImGui.GetStyle().FramePadding.X * 2) + iconPadding * 2 * partsToRender;
|
||||
var buttonHeight = ImGui.GetFrameHeight();
|
||||
var button = ImGui.Button(string.Empty, new Vector2(buttonWidth, buttonHeight));
|
||||
|
||||
// Draw the icon on the window drawlist
|
||||
Vector2 position = new Vector2(cursor.X + ImGui.GetStyle().FramePadding.X,
|
||||
cursor.Y + ImGui.GetStyle().FramePadding.Y);
|
||||
if (errorCount > 0)
|
||||
{
|
||||
ImGui.PushFont(UiBuilder.IconFont);
|
||||
dl.AddText(position, ImGui.GetColorU32(ImGuiColors.DalamudRed), icon1.ToIconString());
|
||||
ImGui.PopFont();
|
||||
position = position with { X = position.X + iconSize1.X + iconPadding };
|
||||
|
||||
// Draw the text on the window drawlist
|
||||
dl.AddText(position, ImGui.GetColorU32(ImGuiCol.Text), text1);
|
||||
position = position with { X = position.X + textSize1.X + 2 * iconPadding };
|
||||
}
|
||||
|
||||
if (infoCount > 0)
|
||||
{
|
||||
ImGui.PushFont(UiBuilder.IconFont);
|
||||
dl.AddText(position, ImGui.GetColorU32(ImGuiColors.ParsedBlue), icon2.ToIconString());
|
||||
ImGui.PopFont();
|
||||
position = position with { X = position.X + iconSize2.X + iconPadding };
|
||||
|
||||
// Draw the text on the window drawlist
|
||||
dl.AddText(position, ImGui.GetColorU32(ImGuiCol.Text), text2);
|
||||
}
|
||||
|
||||
return button;
|
||||
}
|
||||
|
||||
private void DrawRemainingTasks()
|
||||
{
|
||||
var remainingTasks = _questController.GetRemainingTaskNames();
|
||||
|
@ -31,9 +31,18 @@
|
||||
},
|
||||
"JetBrains.Annotations": {
|
||||
"type": "Direct",
|
||||
"requested": "[2023.3.0, )",
|
||||
"resolved": "2023.3.0",
|
||||
"contentHash": "PHfnvdBUdGaTVG9bR/GEfxgTwWM0Z97Y6X3710wiljELBISipSfF5okn/vz+C2gfO+ihoEyVPjaJwn8ZalVukA=="
|
||||
"requested": "[2024.2.0, )",
|
||||
"resolved": "2024.2.0",
|
||||
"contentHash": "GNnqCFW/163p1fOehKx0CnAqjmpPrUSqrgfHM6qca+P+RN39C9rhlfZHQpJhxmQG/dkOYe/b3Z0P8b6Kv5m1qw=="
|
||||
},
|
||||
"JsonSchema.Net": {
|
||||
"type": "Direct",
|
||||
"requested": "[7.1.2, )",
|
||||
"resolved": "7.1.2",
|
||||
"contentHash": "tvM82Wpsyk+C5aUWkqPZLo2ANDjEfCoDa9R24k7jRkCrwxbXnSBb7NpU1pz0ufp6qw+jIekHD9xJdUkjUtnZxQ==",
|
||||
"dependencies": {
|
||||
"JsonPointer.Net": "5.0.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection": {
|
||||
"type": "Direct",
|
||||
@ -56,13 +65,32 @@
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Direct",
|
||||
"requested": "[8.0.3, )",
|
||||
"resolved": "8.0.3",
|
||||
"contentHash": "hpagS9joOwv6efWfrMmV9MjQXpiXZH72PgN067Ysfr6AWMSD1/1hEcvh/U5mUpPLezEWsOJSuVrmqDIVD958iA==",
|
||||
"requested": "[8.0.4, )",
|
||||
"resolved": "8.0.4",
|
||||
"contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
|
||||
"dependencies": {
|
||||
"System.Text.Encodings.Web": "8.0.0"
|
||||
}
|
||||
},
|
||||
"Humanizer.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.14.1",
|
||||
"contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw=="
|
||||
},
|
||||
"Json.More.Net": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.1.2",
|
||||
"contentHash": "uF3QeiaXEfH92emz0/BWUiNtMSfxIIvgynuB0Bf1vF4s8eWTcZitBx9l+g/FDaJk5XxqBv9buQXizXKQcXFG1w=="
|
||||
},
|
||||
"JsonPointer.Net": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.0.0",
|
||||
"contentHash": "fm4T5w20AY6C+p5/pJr0vrXRNGgtSfHl34I1LxC9zdPwS9S3j0GiR1Mz/CVPWKDXXGDpCt1APHpCq7kn5adCfA==",
|
||||
"dependencies": {
|
||||
"Humanizer.Core": "2.14.1",
|
||||
"Json.More.Net": "2.0.1.2"
|
||||
}
|
||||
},
|
||||
"Microsoft.Build.Tasks.Git": {
|
||||
"type": "Transitive",
|
||||
"resolved": "8.0.0",
|
||||
@ -160,7 +188,7 @@
|
||||
"questionable.model": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"System.Text.Json": "[8.0.3, )"
|
||||
"System.Text.Json": "[8.0.4, )"
|
||||
}
|
||||
},
|
||||
"questpaths": {
|
||||
|
Loading…
Reference in New Issue
Block a user