forked from liza/Questionable
WIP some IDE test
This commit is contained in:
parent
ceae3d5d21
commit
82abbfa535
@ -23,7 +23,11 @@
|
||||
<LogicalName>Questionable.GatheringPaths.GatheringLocationSchema</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<AdditionalFiles Include="gatheringlocation-v1.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-schema.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-aethernetshard.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-aetheryte.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-classjob.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-completionflags.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-vector3.json" />
|
||||
<AdditionalFiles Include="..\QuestPaths\quest-v1.json" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Position": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Vector3"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"
|
||||
},
|
||||
"MinimumAngle": {
|
||||
"type": "number",
|
||||
|
@ -16,14 +16,38 @@ public static class Utils
|
||||
{
|
||||
public static List<AdditionalText> RegisterSchemas(GeneratorExecutionContext context)
|
||||
{
|
||||
var commonSchemaFile = context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-schema.json");
|
||||
var commonAethernetShardFile =
|
||||
context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-aethernetshard.json");
|
||||
var commonAetheryteFile =
|
||||
context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-aetheryte.json");
|
||||
var commonClassJobFile =
|
||||
context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-classjob.json");
|
||||
var commonCompletionFlagsFile =
|
||||
context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-completionflags.json");
|
||||
var commonVector3File = context.AdditionalFiles.Single(x => Path.GetFileName(x.Path) == "common-vector3.json");
|
||||
var gatheringSchemaFile =
|
||||
context.AdditionalFiles.SingleOrDefault(x => Path.GetFileName(x.Path) == "gatheringlocation-v1.json");
|
||||
var questSchemaFile = context.AdditionalFiles.SingleOrDefault(x => Path.GetFileName(x.Path) == "quest-v1.json");
|
||||
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json"),
|
||||
JsonSchema.FromText(commonSchemaFile.GetText()!.ToString()));
|
||||
new Uri(
|
||||
"https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aethernetshard.json"),
|
||||
JsonSchema.FromText(commonAethernetShardFile.GetText()!.ToString()));
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri(
|
||||
"https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"),
|
||||
JsonSchema.FromText(commonAetheryteFile.GetText()!.ToString()));
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri(
|
||||
"https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json"),
|
||||
JsonSchema.FromText(commonClassJobFile.GetText()!.ToString()));
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri(
|
||||
"https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json"),
|
||||
JsonSchema.FromText(commonCompletionFlagsFile.GetText()!.ToString()));
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"),
|
||||
JsonSchema.FromText(commonVector3File.GetText()!.ToString()));
|
||||
|
||||
if (gatheringSchemaFile != null)
|
||||
{
|
||||
@ -40,7 +64,16 @@ public static class Utils
|
||||
JsonSchema.FromText(questSchemaFile.GetText()!.ToString()));
|
||||
}
|
||||
|
||||
List<AdditionalText?> jsonSchemaFiles = [commonSchemaFile, gatheringSchemaFile, questSchemaFile];
|
||||
List<AdditionalText?> jsonSchemaFiles =
|
||||
[
|
||||
commonAethernetShardFile,
|
||||
commonAetheryteFile,
|
||||
commonClassJobFile,
|
||||
commonCompletionFlagsFile,
|
||||
commonVector3File,
|
||||
gatheringSchemaFile,
|
||||
questSchemaFile
|
||||
];
|
||||
return jsonSchemaFiles.Where(x => x != null).Cast<AdditionalText>().ToList();
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,11 @@
|
||||
</EmbeddedResource>
|
||||
<AdditionalFiles Include="4.x - Stormblood\Class Quests\BTN\2623_The White Death.json" />
|
||||
<AdditionalFiles Include="quest-v1.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-schema.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-aethernetshard.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-aetheryte.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-classjob.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-completionflags.json" />
|
||||
<AdditionalFiles Include="..\Questionable.Model\common-vector3.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(Configuration)' == 'Release'">
|
||||
|
@ -76,7 +76,7 @@
|
||||
"exclusiveMinimum": 0
|
||||
},
|
||||
"Position": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Vector3"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"
|
||||
},
|
||||
"StopDistance": {
|
||||
"type": [
|
||||
@ -170,7 +170,7 @@
|
||||
},
|
||||
"AetheryteShortcut": {
|
||||
"description": "The Aetheryte to teleport to (before moving)",
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"AethernetShortcut": {
|
||||
"type": "array",
|
||||
@ -178,7 +178,7 @@
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/AethernetShard"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aethernetshard.json"
|
||||
}
|
||||
},
|
||||
"ItemId": {
|
||||
@ -200,7 +200,7 @@
|
||||
"type": "boolean"
|
||||
},
|
||||
"CompletionQuestVariablesFlags": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/CompletionFlags"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json"
|
||||
},
|
||||
"Flying": {
|
||||
"type": "string",
|
||||
@ -270,16 +270,16 @@
|
||||
}
|
||||
},
|
||||
"AetheryteLocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"AetheryteUnlocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"NearPosition": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Position": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Vector3"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"
|
||||
},
|
||||
"MaximumDistance": {
|
||||
"type": "number"
|
||||
@ -342,10 +342,10 @@
|
||||
}
|
||||
},
|
||||
"AetheryteLocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"AetheryteUnlocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"RequiredQuestVariablesNotMet": {
|
||||
"type": "boolean"
|
||||
@ -354,7 +354,7 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Position": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Vector3"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"
|
||||
},
|
||||
"MaximumDistance": {
|
||||
"type": "number"
|
||||
@ -383,10 +383,10 @@
|
||||
"type": "boolean"
|
||||
},
|
||||
"AetheryteLocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"AetheryteUnlocked": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
@ -395,7 +395,7 @@
|
||||
"additionalProperties": false
|
||||
},
|
||||
"CompletionQuestVariablesFlags": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/CompletionFlags"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json"
|
||||
},
|
||||
"RequiredQuestVariables": {
|
||||
"type": "array",
|
||||
@ -439,14 +439,14 @@
|
||||
"description": "Which class or job you are using whenever this step gets executed",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/ClassJob"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json"
|
||||
}
|
||||
},
|
||||
"RequiredQuestAcceptedJob": {
|
||||
"description": "Which class or job you were using when accepting this quest (e.g. for beast tribes)",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/ClassJob"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json"
|
||||
}
|
||||
},
|
||||
"DelaySecondsAtStart": {
|
||||
@ -509,7 +509,7 @@
|
||||
"then": {
|
||||
"properties": {
|
||||
"Aetheryte": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"
|
||||
},
|
||||
"DataId": {
|
||||
"type": "null"
|
||||
@ -541,7 +541,7 @@
|
||||
"then": {
|
||||
"properties": {
|
||||
"AethernetShard": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/AethernetShard"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aethernetshard.json"
|
||||
},
|
||||
"DataId": {
|
||||
"type": "null"
|
||||
@ -641,7 +641,7 @@
|
||||
"type": "integer"
|
||||
},
|
||||
"CompletionQuestVariablesFlags": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/CompletionFlags"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json"
|
||||
},
|
||||
"IgnoreQuestMarker": {
|
||||
"type": "boolean"
|
||||
@ -1054,7 +1054,7 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Position": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Vector3"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"
|
||||
},
|
||||
"StopDistance": {
|
||||
"type": [
|
||||
@ -1424,7 +1424,7 @@
|
||||
"then": {
|
||||
"properties": {
|
||||
"TargetClass": {
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/ClassJob"
|
||||
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
@ -4,6 +4,14 @@ namespace Questionable.Model;
|
||||
|
||||
public static class AssemblyModelLoader
|
||||
{
|
||||
public static Stream CommonSchema =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonSchema")!;
|
||||
public static Stream CommonAetheryte =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonAetheryte")!;
|
||||
public static Stream CommonAethernetShard =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonAethernetShard")!;
|
||||
public static Stream CommonClassJob =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonClassJob")!;
|
||||
public static Stream CommonCompletionFlags =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonCompletionFlags")!;
|
||||
public static Stream CommonVector3 =>
|
||||
typeof(AssemblyModelLoader).Assembly.GetManifestResourceStream("Questionable.Model.CommonVector3")!;
|
||||
}
|
||||
|
@ -16,9 +16,25 @@
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="common-schema.json" />
|
||||
<EmbeddedResource Include="common-schema.json">
|
||||
<LogicalName>Questionable.Model.CommonSchema</LogicalName>
|
||||
<None Remove="common-aethernetshard.json" />
|
||||
<None Remove="common-aetheryte.json" />
|
||||
<None Remove="common-classjob.json" />
|
||||
<None Remove="common-completionflags.json" />
|
||||
<None Remove="common-vector3.json" />
|
||||
<EmbeddedResource Include="common-aethernetshard.json">
|
||||
<LogicalName>Questionable.Model.CommonAethernetShard</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="common-aetheryte.json">
|
||||
<LogicalName>Questionable.Model.CommonAetheryte</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="common-classjob.json">
|
||||
<LogicalName>Questionable.Model.CommonClassJob</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="common-completionflags.json">
|
||||
<LogicalName>Questionable.Model.CommonCompletionFlags</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="common-vector3.json">
|
||||
<LogicalName>Questionable.Model.CommonVector3</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
151
Questionable.Model/common-aethernetshard.json
Normal file
151
Questionable.Model/common-aethernetshard.json
Normal file
@ -0,0 +1,151 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "/liza/Questionable/raw/branch/master/Questionable.Model/common-aethernetshard.json",
|
||||
"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",
|
||||
"[Gold Saucer] Aetheryte Plaza",
|
||||
"[Gold Saucer] Entrance & Card Squares",
|
||||
"[Gold Saucer] Wonder Square East",
|
||||
"[Gold Saucer] Wonder Square West",
|
||||
"[Gold Saucer] Event Square",
|
||||
"[Gold Saucer] Cactpot Board",
|
||||
"[Gold Saucer] Round Square",
|
||||
"[Gold Saucer] Chocobo Square",
|
||||
"[Gold Saucer] Minion Square",
|
||||
"[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)",
|
||||
"[Ishgard] Firmament",
|
||||
"[Firmament] The Mendicant's Court",
|
||||
"[Firmament] The Mattock",
|
||||
"[Firmament] The New Nest",
|
||||
"[Firmament] Saint Roelle's Dais",
|
||||
"[Firmament] Featherfall",
|
||||
"[Firmament] Hoarfrost Hall",
|
||||
"[Firmament] Western Risensong Quarter",
|
||||
"[Firmament] Eastern Risensong Quarter",
|
||||
"[Idyllshire] Aetheryte Plaza",
|
||||
"[Idyllshire] West Idyllshire",
|
||||
"[Idyllshire] Prologue Gate (Western Hinterlands)",
|
||||
"[Idyllshire] Epilogue Gate (Eastern Hinterlands)",
|
||||
"[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",
|
||||
"[Doman Enclave] Aetheryte Plaza",
|
||||
"[Doman Enclave] The Northern Enclave",
|
||||
"[Doman Enclave] The Southern Enclave",
|
||||
"[Doman Enclave] Ferry Docks",
|
||||
"[Doman Enclave] The One River",
|
||||
"[Doman Enclave] Gangos",
|
||||
"[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)"
|
||||
]
|
||||
}
|
114
Questionable.Model/common-aetheryte.json
Normal file
114
Questionable.Model/common-aetheryte.json
Normal file
@ -0,0 +1,114 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json",
|
||||
"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",
|
||||
"Wolves' Den Pier",
|
||||
"Gold Saucer",
|
||||
"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 - Pla 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",
|
||||
"Kozama'uka - Dock Poga",
|
||||
"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"
|
||||
]
|
||||
}
|
53
Questionable.Model/common-classjob.json
Normal file
53
Questionable.Model/common-classjob.json
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Gladiator",
|
||||
"Pugilist",
|
||||
"Marauder",
|
||||
"Lancer",
|
||||
"Archer",
|
||||
"Conjurer",
|
||||
"Thaumaturge",
|
||||
"Carpenter",
|
||||
"Blacksmith",
|
||||
"Armorer",
|
||||
"Goldsmith",
|
||||
"Leatherworker",
|
||||
"Weaver",
|
||||
"Alchemist",
|
||||
"Culinarian",
|
||||
"Miner",
|
||||
"Botanist",
|
||||
"Fisher",
|
||||
"Paladin",
|
||||
"Monk",
|
||||
"Warrior",
|
||||
"Dragoon",
|
||||
"Bard",
|
||||
"White Mage",
|
||||
"Black Mage",
|
||||
"Arcanist",
|
||||
"Summoner",
|
||||
"Scholar",
|
||||
"Rogue",
|
||||
"Ninja",
|
||||
"Machinist",
|
||||
"Dark Knight",
|
||||
"Astrologian",
|
||||
"Samurai",
|
||||
"Red Mage",
|
||||
"Blue Mage",
|
||||
"Gunbreaker",
|
||||
"Dancer",
|
||||
"Reaper",
|
||||
"Sage",
|
||||
"Viper",
|
||||
"Pictomancer",
|
||||
"DoW",
|
||||
"DoM",
|
||||
"DoH",
|
||||
"DoL"
|
||||
]
|
||||
}
|
59
Questionable.Model/common-completionflags.json
Normal file
59
Questionable.Model/common-completionflags.json
Normal file
@ -0,0 +1,59 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json",
|
||||
"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",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"High": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
},
|
||||
"Low": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
},
|
||||
"Negative": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Bitwise",
|
||||
"Exact"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"enum": [
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
8,
|
||||
16,
|
||||
32,
|
||||
64,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"minItems": 6,
|
||||
"maxItems": 6
|
||||
}
|
@ -1,395 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json",
|
||||
"$defs": {
|
||||
"Vector3": {
|
||||
"type": "object",
|
||||
"description": "Position to try reaching after the jump",
|
||||
"properties": {
|
||||
"X": {
|
||||
"type": "number"
|
||||
},
|
||||
"Y": {
|
||||
"type": "number"
|
||||
},
|
||||
"Z": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"X",
|
||||
"Y",
|
||||
"Z"
|
||||
]
|
||||
},
|
||||
"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",
|
||||
"Wolves' Den Pier",
|
||||
"Gold Saucer",
|
||||
"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 - Pla 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",
|
||||
"Kozama'uka - Dock Poga",
|
||||
"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",
|
||||
"[Gold Saucer] Aetheryte Plaza",
|
||||
"[Gold Saucer] Entrance & Card Squares",
|
||||
"[Gold Saucer] Wonder Square East",
|
||||
"[Gold Saucer] Wonder Square West",
|
||||
"[Gold Saucer] Event Square",
|
||||
"[Gold Saucer] Cactpot Board",
|
||||
"[Gold Saucer] Round Square",
|
||||
"[Gold Saucer] Chocobo Square",
|
||||
"[Gold Saucer] Minion Square",
|
||||
"[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)",
|
||||
"[Ishgard] Firmament",
|
||||
"[Firmament] The Mendicant's Court",
|
||||
"[Firmament] The Mattock",
|
||||
"[Firmament] The New Nest",
|
||||
"[Firmament] Saint Roelle's Dais",
|
||||
"[Firmament] Featherfall",
|
||||
"[Firmament] Hoarfrost Hall",
|
||||
"[Firmament] Western Risensong Quarter",
|
||||
"[Firmament] Eastern Risensong Quarter",
|
||||
"[Idyllshire] Aetheryte Plaza",
|
||||
"[Idyllshire] West Idyllshire",
|
||||
"[Idyllshire] Prologue Gate (Western Hinterlands)",
|
||||
"[Idyllshire] Epilogue Gate (Eastern Hinterlands)",
|
||||
"[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",
|
||||
"[Doman Enclave] Aetheryte Plaza",
|
||||
"[Doman Enclave] The Northern Enclave",
|
||||
"[Doman Enclave] The Southern Enclave",
|
||||
"[Doman Enclave] Ferry Docks",
|
||||
"[Doman Enclave] The One River",
|
||||
"[Doman Enclave] Gangos",
|
||||
"[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)"
|
||||
]
|
||||
},
|
||||
"ClassJob": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Gladiator",
|
||||
"Pugilist",
|
||||
"Marauder",
|
||||
"Lancer",
|
||||
"Archer",
|
||||
"Conjurer",
|
||||
"Thaumaturge",
|
||||
"Carpenter",
|
||||
"Blacksmith",
|
||||
"Armorer",
|
||||
"Goldsmith",
|
||||
"Leatherworker",
|
||||
"Weaver",
|
||||
"Alchemist",
|
||||
"Culinarian",
|
||||
"Miner",
|
||||
"Botanist",
|
||||
"Fisher",
|
||||
"Paladin",
|
||||
"Monk",
|
||||
"Warrior",
|
||||
"Dragoon",
|
||||
"Bard",
|
||||
"White Mage",
|
||||
"Black Mage",
|
||||
"Arcanist",
|
||||
"Summoner",
|
||||
"Scholar",
|
||||
"Rogue",
|
||||
"Ninja",
|
||||
"Machinist",
|
||||
"Dark Knight",
|
||||
"Astrologian",
|
||||
"Samurai",
|
||||
"Red Mage",
|
||||
"Blue Mage",
|
||||
"Gunbreaker",
|
||||
"Dancer",
|
||||
"Reaper",
|
||||
"Sage",
|
||||
"Viper",
|
||||
"Pictomancer",
|
||||
"DoW",
|
||||
"DoM",
|
||||
"DoH",
|
||||
"DoL"
|
||||
]
|
||||
},
|
||||
"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",
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"High": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
},
|
||||
"Low": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
},
|
||||
"Negative": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Mode": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Bitwise",
|
||||
"Exact"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"enum": [
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
8,
|
||||
16,
|
||||
32,
|
||||
64,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"minItems": 6,
|
||||
"maxItems": 6
|
||||
}
|
||||
}
|
||||
}
|
22
Questionable.Model/common-vector3.json
Normal file
22
Questionable.Model/common-vector3.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json",
|
||||
"type": "object",
|
||||
"description": "Position in the world",
|
||||
"properties": {
|
||||
"X": {
|
||||
"type": "number"
|
||||
},
|
||||
"Y": {
|
||||
"type": "number"
|
||||
},
|
||||
"Z": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"X",
|
||||
"Y",
|
||||
"Z"
|
||||
]
|
||||
}
|
@ -17,8 +17,20 @@ internal sealed class JsonSchemaValidator : IQuestValidator
|
||||
public JsonSchemaValidator()
|
||||
{
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonSchema).AsTask().Result);
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aethernetshard.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonAethernetShard).AsTask().Result);
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-aetheryte.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonAetheryte).AsTask().Result);
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-classjob.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonClassJob).AsTask().Result);
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-completionflags.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonCompletionFlags).AsTask().Result);
|
||||
SchemaRegistry.Global.Register(
|
||||
new Uri("https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-vector3.json"),
|
||||
JsonSchema.FromStream(AssemblyModelLoader.CommonVector3).AsTask().Result);
|
||||
}
|
||||
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
|
Loading…
Reference in New Issue
Block a user