{
Argument(LiteralValue(qwv.High)),
Token(SyntaxKind.CommaToken),
- Argument(LiteralValue(qwv.Low))
+ Argument(LiteralValue(qwv.Low)),
+ Token(SyntaxKind.CommaToken),
+ Argument(LiteralValue(qwv.Mode))
})));
}
else if (value is List<QuestWorkValue> list)
Assignment(nameof(SkipStepConditions.Never), skipStepConditions.Never,
emptyStep.Never)
.AsSyntaxNodeOrToken(),
+ AssignmentList(nameof(SkipStepConditions.CompletionQuestVariablesFlags),
+ skipStepConditions.CompletionQuestVariablesFlags)
+ .AsSyntaxNodeOrToken(),
Assignment(nameof(SkipStepConditions.Flying), skipStepConditions.Flying,
emptyStep.Flying)
.AsSyntaxNodeOrToken(),
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
- "Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
]
}
]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 1001739,
+ "Position": {
+ "X": -94.529724,
+ "Y": 6.4999976,
+ "Z": 39.81079
+ },
+ "TerritoryId": 131,
+ "InteractionType": "Interact",
+ "DialogueChoices": [
+ {
+ "Type": "YesNo",
+ "Prompt": "TEXT_CLSGLA020_00253_Q2_000_1",
+ "Yes": true
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "Position": {
+ "X": 45.13088,
+ "Y": 3.889354,
+ "Z": -166.51999
+ },
+ "TerritoryId": 130,
+ "InteractionType": "WalkTo",
+ "AethernetShortcut": [
+ "[Ul'dah] Gladiators' Guild",
+ "[Ul'dah] Adventurers' Guild"
+ ],
+ "SkipConditions": {
+ "StepIf": {
+ "InTerritory": [
+ 141
+ ]
+ }
+ }
+ },
+ {
+ "Position": {
+ "X": -116.10664,
+ "Y": 10.801613,
+ "Z": 276.979
+ },
+ "TerritoryId": 141,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "ComplexCombatData": [
+ {
+ "DataId": 351,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ {
+ "Low": 3,
+ "Mode": "Exact"
+ },
+ null,
+ null,
+ null,
+ null,
+ null
+ ]
+ },
+ {
+ "DataId": 141,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "High": 3,
+ "Mode": "Exact"
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ],
+ "CompletionQuestVariablesFlags": [
+ {
+ "Low": 3,
+ "Mode": "Exact"
+ },
+ {
+ "High": 3,
+ "Mode": "Exact"
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ },
+ {
+ "Position": {
+ "X": 39.635372,
+ "Y": 3.2401803,
+ "Z": 273.41232
+ },
+ "TerritoryId": 141,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "OverworldEnemies",
+ "ComplexCombatData": [
+ {
+ "DataId": 205,
+ "MinimumKillCount": 3,
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "Low": 3,
+ "Mode": "Exact"
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ {
+ "Low": 3,
+ "Mode": "Exact"
+ },
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "Position": {
+ "X": -118.17538,
+ "Y": 18.35357,
+ "Z": 341.3039
+ },
+ "TerritoryId": 141,
+ "InteractionType": "WalkTo",
+ "SkipConditions": {
+ "StepIf": {
+ "NotInTerritory": [
+ 141
+ ]
+ }
+ }
+ },
+ {
+ "DataId": 1001739,
+ "Position": {
+ "X": -94.529724,
+ "Y": 6.4999976,
+ "Z": 39.81079
+ },
+ "TerritoryId": 131,
+ "InteractionType": "CompleteQuest",
+ "AethernetShortcut": [
+ "[Ul'dah] Adventurers' Guild",
+ "[Ul'dah] Gladiators' Guild"
+ ],
+ "NextQuestId": 256
+ }
+ ]
}
]
}
--- /dev/null
+{
+ "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
+ "Author": "liza",
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1001739,
+ "Position": {
+ "X": -94.529724,
+ "Y": 6.4999976,
+ "Z": 39.81079
+ },
+ "TerritoryId": 131,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "DataId": 1003990,
+ "Position": {
+ "X": 77.25635,
+ "Y": 4.0999947,
+ "Z": -138.62823
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Emote",
+ "Emote": "me",
+ "AethernetShortcut": [
+ "[Ul'dah] Gladiators' Guild",
+ "[Ul'dah] Adventurers' Guild"
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ },
+ {
+ "DataId": 1003984,
+ "Position": {
+ "X": 45.029297,
+ "Y": 3.9999998,
+ "Z": -128.16058
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Emote",
+ "Emote": "me",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ },
+ {
+ "DataId": 1003992,
+ "Position": {
+ "X": 12.191956,
+ "Y": 4.0999947,
+ "Z": -155.53528
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Emote",
+ "Emote": "me",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ },
+ {
+ "DataId": 1003994,
+ "Position": {
+ "X": 15.976135,
+ "Y": 7.9999995,
+ "Z": -124.071106
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Emote",
+ "Emote": "me",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 2,
+ "Steps": [
+ {
+ "DataId": 1004222,
+ "Position": {
+ "X": 21.927185,
+ "Y": 7.1999974,
+ "Z": -97.39838
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Emote",
+ "Emote": "me"
+ }
+ ]
+ },
+ {
+ "Sequence": 3,
+ "Steps": [
+ {
+ "DataId": 1001353,
+ "Position": {
+ "X": 21.072632,
+ "Y": 7.45,
+ "Z": -78.78235
+ },
+ "TerritoryId": 130,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 4,
+ "Steps": [
+ {
+ "DataId": 1001739,
+ "Position": {
+ "X": -94.529724,
+ "Y": 6.4999976,
+ "Z": 39.81079
+ },
+ "TerritoryId": 131,
+ "InteractionType": "Interact",
+ "AethernetShortcut": [
+ "[Ul'dah] Adventurers' Guild",
+ "[Ul'dah] Gladiators' Guild"
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 5,
+ "Steps": [
+ {
+ "Position": {
+ "X": -112.70276,
+ "Y": 7.7544775,
+ "Z": 9.123527
+ },
+ "TerritoryId": 131,
+ "InteractionType": "WalkTo"
+ },
+ {
+ "Position": {
+ "X": -183.00035,
+ "Y": 13.958975,
+ "Z": -13.998203
+ },
+ "TerritoryId": 130,
+ "InteractionType": "WalkTo"
+ },
+ {
+ "DataId": 1003985,
+ "Position": {
+ "X": 201.52588,
+ "Y": 52.038116,
+ "Z": 149.40112
+ },
+ "TerritoryId": 140,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 6,
+ "Steps": [
+ {
+ "DataId": 2001408,
+ "Position": {
+ "X": 154.37549,
+ "Y": 52.536743,
+ "Z": 200.91553
+ },
+ "TerritoryId": 140,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "AfterInteraction",
+ "KillEnemyDataIds": [
+ 1246
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ },
+ {
+ "DataId": 2001409,
+ "Position": {
+ "X": 141.83252,
+ "Y": 52.994507,
+ "Z": 221.54565
+ },
+ "TerritoryId": 140,
+ "InteractionType": "Combat",
+ "EnemySpawnType": "AfterInteraction",
+ "KillEnemyDataIds": [
+ 1390
+ ],
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ ]
+ },
+ {
+ "Sequence": 7,
+ "Steps": [
+ {
+ "DataId": 1003985,
+ "Position": {
+ "X": 201.52588,
+ "Y": 52.038116,
+ "Z": 149.40112
+ },
+ "TerritoryId": 140,
+ "InteractionType": "Interact"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "Position": {
+ "X": 473.74796,
+ "Y": 96.62057,
+ "Z": 159.993
+ },
+ "TerritoryId": 140,
+ "InteractionType": "WalkTo"
+ },
+ {
+ "Position": {
+ "X": -117.06801,
+ "Y": 9.195247,
+ "Z": 9.181297
+ },
+ "TerritoryId": 130,
+ "InteractionType": "WalkTo"
+ },
+ {
+ "DataId": 1001739,
+ "Position": {
+ "X": -94.529724,
+ "Y": 6.4999976,
+ "Z": 39.81079
+ },
+ "TerritoryId": 131,
+ "InteractionType": "CompleteQuest"
+ }
+ ]
+ }
+ ]
+}
"SkipConditions": {
"AetheryteShortcutIf": {
"NotInSameTerritory": true
+ },
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
}
- },
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ }
},
{
"DataId": 2002380,
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2002379,
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2002382,
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2002381,
"TerritoryId": 139,
"InteractionType": "WalkTo",
"Mount": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1007844,
},
"TerritoryId": 139,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ],
"SkipConditions": {
"StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ],
"Flying": "Unlocked"
}
}
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ],
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
"SkipConditions": {
"AetheryteShortcutIf": {
"NotInSameTerritory": true
+ },
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
}
},
"Fly": true
"KillEnemyDataIds": [
1918
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2002308,
"InteractionType": "UseItem",
"ItemId": 30362,
"TargetTerritoryId": 140,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"KillEnemyDataIds": [
1920
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2002310,
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 148,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2000748,
"TerritoryId": 148,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 148,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2000751,
},
"StopDistance": 3
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -8
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 8
+ ]
+ }
+ }
},
{
"DataId": 1002639,
},
"StopDistance": 5
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 1004506,
"TerritoryId": 141,
"InteractionType": "WalkTo",
"DisableNavmesh": false,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1004599,
},
"DelaySeconds": 0.25
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -8
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 8
+ ]
+ }
+ }
},
{
"DataId": 2001953,
},
"DelaySeconds": 0.25
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2001951,
"TerritoryId": 153,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 153,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2001952,
725,
726
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2002261,
"InteractionType": "WalkTo",
"$": "NW Skyfire Locks door (inside)",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1006396,
},
"TerritoryId": 138,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 138,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1006500,
"TerritoryId": 156,
"InteractionType": "WalkTo",
"Comment": "Avoids pit",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 156,
"InteractionType": "WalkTo",
"Comment": "Move into LOS",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2002230,
"TerritoryId": 351,
"InteractionType": "Interact",
"TargetTerritoryId": 156,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -2
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 2
+ ]
+ }
+ }
},
{
"DataId": 1009147,
"InteractionType": "WalkTo",
"Fly": true,
"AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 139,
"InteractionType": "WalkTo",
"TargetTerritoryId": 180,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"TerritoryId": 180,
"InteractionType": "AttuneAetheryte",
"Aetheryte": "Outer La Noscea - Camp Overlook",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 180,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2000075,
"InteractionType": "WalkTo",
"Fly": true,
"AetheryteShortcut": "Western La Noscea - Aleport",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2000076,
},
"TerritoryId": 180,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2003715,
},
"TerritoryId": 400,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 400,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 400,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1013424,
},
"TerritoryId": 400,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"Z": 380.9018
}
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1013421,
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1011932,
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1011924,
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1011932,
},
"TerritoryId": 398,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 398,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1011924,
"TerritoryId": 401,
"InteractionType": "WalkTo",
"Mount": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 401,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1013498,
},
"TerritoryId": 418,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 418,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1012251,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2009361,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2009360,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2009359,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -4
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 4
+ ]
+ }
+ }
},
{
"DataId": 2009364,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -8
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 8
+ ]
+ }
+ }
},
{
"DataId": 2009363,
null,
null
],
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2009362,
"TerritoryId": 813,
"InteractionType": "WalkTo",
"Mount": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 813,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1027339,
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1027420,
"TerritoryId": 813,
"InteractionType": "WalkTo",
"Comment": "Tower Bottom",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Comment": "Tower Bottom Platform 1",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2010618,
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1028952,
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2009820,
"TerritoryId": 816,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2009819,
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 816,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2009831,
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 816,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2009836,
},
"DelaySeconds": 0.2
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
},
"DelaySeconds": 0.1
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
},
"DelaySeconds": 0.1
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
},
"DelaySeconds": 0.2
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2009835,
"StopDistance": 2,
"Type": "RepeatedJumps"
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2009890,
"StopDistance": 2,
"Type": "RepeatedJumps"
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2009887,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Mount": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"Position": {
"StopDistance": 2,
"Type": "RepeatedJumps"
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2009888,
"StopDistance": 2,
"Type": "RepeatedJumps"
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2009889,
},
"TerritoryId": 814,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2010088,
},
"TerritoryId": 814,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2010089,
"TerritoryId": 819,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1027246,
"TerritoryId": 816,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2010856,
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2010857,
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
},
"Mount": false,
"Comment": "Platform 1",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 2",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 3",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 4",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 5",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 6",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 959,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1041789,
},
"Mount": false,
"Comment": "Platform 1",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 2",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 3",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 4",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 5",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"Position": {
"DelaySeconds": 0.25
},
"Comment": "Platform 6",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1041791,
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2011914,
null,
null,
null,
- -64
+ 64
],
"$": "QuestVariables after killing enemy: 17 1 0 0 0 64"
},
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1037715,
"InteractionType": "WalkTo",
"Mount": true,
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2012111,
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ },
"Comment": "Avoids combat"
},
{
"TerritoryId": 958,
"InteractionType": "WalkTo",
"Comment": "Avoids combat",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2012110,
"TerritoryId": 963,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ },
"Sprint": true
},
{
"Z": -1.1141448
}
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 2012128,
},
"TerritoryId": 960,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2012354,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Thavnair - Yedlihmad",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1037631,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1037655,
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1037708,
},
"TerritoryId": 957,
"InteractionType": "Interact",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
}
]
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2012455,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2012457,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2012456,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1042372,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1042371,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1042373,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2012887,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2012888,
"InteractionType": "WalkTo",
"Fly": true,
"Land": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2012889,
null,
null,
null,
- -32
+ 32
]
}
]
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2012902,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2012901,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2012900,
"TerritoryId": 957,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2012907,
"[Radz-at-Han] The Gate of First Sight (Thavnair)"
],
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1042462,
},
"DelaySeconds": 0.25
},
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2014134,
},
"TerritoryId": 1187,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1046874,
"InteractionType": "WalkTo",
"DisableNavmesh": true,
"Mount": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2013653,
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2013655,
},
"TerritoryId": 1191,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2013819,
},
"TerritoryId": 1192,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -16
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 16
+ ]
+ }
+ }
},
{
"DataId": 1047904,
"TerritoryId": 1191,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2014091,
"TerritoryId": 1191,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2014093,
"Fly": true,
"SkipConditions": {
"StepIf": {
- "Flying": "Locked"
+ "Flying": "Locked",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
}
- },
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ }
},
{
"DataId": 2014184,
"Fly": true,
"SkipConditions": {
"StepIf": {
- "Flying": "Locked"
+ "Flying": "Locked",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
}
- },
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ }
},
{
"DataId": 2013901,
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2013916,
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2013917,
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1049284,
},
"TerritoryId": 1190,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1049275,
"Fly": true,
"SkipConditions": {
"StepIf": {
- "Flying": "Locked"
+ "Flying": "Locked",
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
}
- },
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ }
},
{
"DataId": 2014051,
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ],
"SkipConditions": {
"StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ],
"Flying": "Locked"
}
}
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ],
"SkipConditions": {
"StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ],
"Flying": "Locked"
}
},
},
"TerritoryId": 1190,
"InteractionType": "WalkTo",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ],
"SkipConditions": {
"StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ],
"Flying": "Locked"
}
},
"InteractionType": "WalkTo",
"AetheryteShortcut": "Shaaloani - Hhusatahwi",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ],
"SkipConditions": {
"StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ],
"Flying": "Locked"
}
},
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1048995,
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 2014313,
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 2014314,
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 2014315,
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"DataId": 1051049,
"StopDistance": 4,
"TerritoryId": 1189,
"InteractionType": "Interact",
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -128
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 128
+ ]
+ }
+ }
},
{
"Position": {
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -32
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 32
+ ]
+ }
+ }
},
{
"DataId": 1051051,
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "CompletionQuestVariablesFlags": [
- null,
- null,
- null,
- null,
- null,
- -64
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "CompletionQuestVariablesFlags": [
+ null,
+ null,
+ null,
+ null,
+ null,
+ 64
+ ]
+ }
+ }
},
{
"DataId": 1051050,
public static Stream QuestSchema =>
typeof(AssemblyQuestLoader).Assembly.GetManifestResourceStream("Questionable.QuestPaths.QuestSchema")!;
+ [SuppressMessage("ReSharper", "UnusedMember.Local")]
private static void AddQuest(ushort questId, QuestRoot root) => _quests![questId] = root;
}
"Never": {
"type": "boolean"
},
+ "CompletionQuestVariablesFlags": {
+ "$ref": "#/$defs/CompletionFlags"
+ },
"Flying": {
"type": "string",
"enum": [
"WakingSandsMainArea"
]
}
- }
+ },
+ "additionalProperties": false
},
"AetheryteShortcutIf": {
"type": "object",
"InSameTerritory": {
"type": "boolean"
}
- }
+ },
+ "additionalProperties": false
},
"AethernetShortcutIf": {
"type": "object",
"InSameTerritory": {
"type": "boolean"
}
- }
+ },
+ "additionalProperties": false
}
},
"additionalProperties": false
"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": {
- "type": [
- "integer",
- "null"
- ],
- "enum": [
- null,
- 1,
- 2,
- 4,
- 8,
- 16,
- 32,
- 64,
- 128,
- -1,
- -2,
- -4,
- -8,
- -16,
- -32,
- -64,
- -128
+ "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,
/// </summary>
public uint? RewardItemId { get; set; }
public int? RewardItemCount { get; set; }
- public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
+ public IList<QuestWorkValue?> CompletionQuestVariablesFlags { get; set; } = new List<QuestWorkValue?>();
public bool IgnoreQuestMarker { get; set; }
}
throw new JsonException();
byte? high = null, low = null;
+ EQuestWorkMode mode = EQuestWorkMode.Bitwise;
while (reader.Read())
{
switch (reader.TokenType)
low = reader.GetByte();
break;
+ case nameof(QuestWorkValue.Mode):
+ mode = new QuestWorkModeConverter().Read(ref reader, typeof(EQuestWorkMode), options);
+ break;
+
default:
throw new JsonException();
}
break;
case JsonTokenType.EndObject:
- return new QuestWorkValue(high, low);
+ return new QuestWorkValue(high, low, mode);
default:
throw new JsonException();
--- /dev/null
+using System.Collections.Generic;
+
+namespace Questionable.Model.V1.Converter;
+
+public sealed class QuestWorkModeConverter() : EnumConverter<EQuestWorkMode>(Values)
+{
+ private static readonly Dictionary<EQuestWorkMode, string> Values = new()
+ {
+ { EQuestWorkMode.Bitwise, "Bitwise" },
+ { EQuestWorkMode.Exact, "Exact" },
+ };
+}
public sealed class StringListOrValueConverter : JsonConverter<List<string>>
{
- public override List<string>? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ public override List<string> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType == JsonTokenType.String)
return [reader.GetString()!];
--- /dev/null
+using System.Text.Json.Serialization;
+using Questionable.Model.V1.Converter;
+
+namespace Questionable.Model.V1;
+
+[JsonConverter(typeof(QuestWorkModeConverter))]
+public enum EQuestWorkMode
+{
+ Bitwise,
+ Exact,
+}
public SkipConditions? SkipConditions { get; set; }
public List<List<QuestWorkValue>?> RequiredQuestVariables { get; set; } = new();
- public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
+ public IList<QuestWorkValue?> CompletionQuestVariablesFlags { get; set; } = new List<QuestWorkValue?>();
public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
public IList<uint> PointMenuChoices { get; set; } = new List<uint>();
-using System.Text.Json.Serialization;
+using System;
+using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
namespace Questionable.Model.V1;
[JsonConverter(typeof(QuestWorkConfigConverter))]
-public sealed class QuestWorkValue(byte? high, byte? low)
+public sealed class QuestWorkValue(byte? high, byte? low, EQuestWorkMode mode)
{
public QuestWorkValue(byte value)
- : this((byte)(value >> 4), (byte)(value & 0xF))
+ : this((byte)(value >> 4), (byte)(value & 0xF), EQuestWorkMode.Bitwise)
{
}
public byte? High { get; set; } = high;
public byte? Low { get; set; } = low;
+ public EQuestWorkMode Mode { get; set; } = mode;
+
+ public override string ToString()
+ {
+ if (High != null && Low != null)
+ return ((byte)(High << 4) + Low).ToString();
+ else if (High != null)
+ return High + "H";
+ else if (Low != null)
+ return Low + "L";
+ else
+ return "-";
+ }
}
using System.Collections.Generic;
+using System.Linq;
namespace Questionable.Model.V1;
public sealed class SkipStepConditions
{
public bool Never { get; set; }
+ public IList<QuestWorkValue?> CompletionQuestVariablesFlags { get; set; } = new List<QuestWorkValue?>();
public ELockedSkipCondition? Flying { get; set; }
public ELockedSkipCondition? Chocobo { get; set; }
public bool NotTargetable { get; set; }
{
if (Never)
return false;
- return Flying != null ||
+ return (CompletionQuestVariablesFlags.Count > 6 && CompletionQuestVariablesFlags.Any(x => x != null)) ||
+ Flying != null ||
Chocobo != null ||
InTerritory.Count > 0 ||
NotInTerritory.Count > 0 ||
QuestsAccepted.Count > 0 ||
QuestsCompleted.Count > 0;
}
+
+ public override string ToString()
+ {
+ return
+ $"{nameof(Never)}: {Never}, {nameof(CompletionQuestVariablesFlags)}: {CompletionQuestVariablesFlags}, {nameof(Flying)}: {Flying}, {nameof(Chocobo)}: {Chocobo}, {nameof(NotTargetable)}: {NotTargetable}, {nameof(InTerritory)}: {string.Join(" ", InTerritory)}, {nameof(NotInTerritory)}: {string.Join(" ", NotInTerritory)}, {nameof(Item)}: {Item}, {nameof(QuestsAccepted)}: {string.Join(" ", QuestsAccepted)}, {nameof(QuestsCompleted)}: {string.Join(" ", QuestsCompleted)}, {nameof(ExtraCondition)}: {ExtraCondition}";
+ }
}
{
var questWork = _gameFunctions.GetQuestEx(_currentFight.Data.QuestId);
if (questWork != null && QuestWorkUtils.MatchesQuestWork(condition.CompletionQuestVariablesFlags,
- questWork.Value, false))
+ questWork.Value))
{
_logger.LogInformation("Complex combat condition fulfilled: QuestWork matches");
_currentFight.Data.CompletedComplexDatas.Add(i);
{
private bool _isLastStep;
private CombatController.CombatData _combatData = null!;
- private IList<short?> _completionQuestVariableFlags = null!;
+ private IList<QuestWorkValue?> _completionQuestVariableFlags = null!;
public ITask With(ushort questId, bool isLastStep, EEnemySpawnType enemySpawnType, IList<uint> killEnemyDataIds,
- IList<short?> completionQuestVariablesFlags, IList<ComplexCombatData> complexCombatData)
+ IList<QuestWorkValue?> completionQuestVariablesFlags, IList<ComplexCombatData> complexCombatData)
{
_isLastStep = isLastStep;
_combatData = new CombatController.CombatData
if (questWork == null)
return ETaskResult.StillRunning;
- if (QuestWorkUtils.MatchesQuestWork(_completionQuestVariableFlags, questWork.Value, false))
+ if (QuestWorkUtils.MatchesQuestWork(_completionQuestVariableFlags, questWork.Value))
return ETaskResult.TaskComplete;
else
return ETaskResult.StillRunning;
public ushort? QuestId { get; set; }
public uint ItemId { get; set; }
- public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
+ public IList<QuestWorkValue?> CompletionQuestVariablesFlags { get; set; } = new List<QuestWorkValue?>();
public bool StartingCombat { get; set; }
protected abstract bool UseItem();
{
QuestWork? questWork = gameFunctions.GetQuestEx(QuestId.Value);
if (questWork != null &&
- QuestWorkUtils.MatchesQuestWork(CompletionQuestVariablesFlags, questWork.Value, false))
+ QuestWorkUtils.MatchesQuestWork(CompletionQuestVariablesFlags, questWork.Value))
return ETaskResult.TaskComplete;
}
public uint DataId { get; set; }
- public ITask With(ushort? questId, uint dataId, uint itemId, IList<short?> completionQuestVariablesFlags)
+ public ITask With(ushort? questId, uint dataId, uint itemId, IList<QuestWorkValue?> completionQuestVariablesFlags)
{
QuestId = questId;
DataId = dataId;
public Vector3 Position { get; set; }
- public ITask With(ushort? questId, Vector3 position, uint itemId, IList<short?> completionQuestVariablesFlags)
+ public ITask With(ushort? questId, Vector3 position, uint itemId, IList<QuestWorkValue?> completionQuestVariablesFlags)
{
QuestId = questId;
Position = position;
public uint DataId { get; set; }
- public ITask With(ushort? questId, uint dataId, uint itemId, IList<short?> completionQuestVariablesFlags,
+ public ITask With(ushort? questId, uint dataId, uint itemId, IList<QuestWorkValue?> completionQuestVariablesFlags,
bool startingCombat = false)
{
QuestId = questId;
{
private readonly GameFunctions _gameFunctions = gameFunctions;
- public ITask With(ushort? questId, uint itemId, IList<short?> completionQuestVariablesFlags)
+ public ITask With(ushort? questId, uint itemId, IList<QuestWorkValue?> completionQuestVariablesFlags)
{
QuestId = questId;
ItemId = itemId;
}
QuestWork? questWork = gameFunctions.GetQuestEx(QuestId);
- if (questWork != null)
+ if (QuestWorkUtils.HasCompletionFlags(Step.CompletionQuestVariablesFlags) && questWork != null)
{
- if (QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value, true))
+ if (QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value))
{
- logger.LogInformation("Skipping step, as quest variables match");
+ logger.LogInformation("Skipping step, as quest variables match (step is complete)");
return true;
}
+ }
+
+ if (Step is { SkipConditions.StepIf: { } conditions } && questWork != null)
+ {
+ if (QuestWorkUtils.MatchesQuestWork(conditions.CompletionQuestVariablesFlags, questWork.Value))
+ {
+ logger.LogInformation("Skipping step, as quest variables match (step can be skipped)");
+ return true;
+ }
+ }
- if (!QuestWorkUtils.MatchesRequiredQuestWorkConfig(Step.RequiredQuestVariables, questWork.Value,
+ if (Step is { RequiredQuestVariables: { } requiredQuestVariables } && questWork != null)
+ {
+ if (!QuestWorkUtils.MatchesRequiredQuestWorkConfig(requiredQuestVariables, questWork.Value,
logger))
{
logger.LogInformation("Skipping step, as required variables do not match");
{
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
- if (step.CompletionQuestVariablesFlags.Count == 6 && step.CompletionQuestVariablesFlags.Any(x => x is > 0))
+ if (step.CompletionQuestVariablesFlags.Count == 6 && QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags))
{
var task = serviceProvider.GetRequiredService<WaitForCompletionFlags>()
.With(quest, step);
{
public Quest Quest { get; set; } = null!;
public QuestStep Step { get; set; } = null!;
- public IList<short?> Flags { get; set; } = null!;
+ public IList<QuestWorkValue?> Flags { get; set; } = null!;
public ITask With(Quest quest, QuestStep step)
{
{
QuestWork? questWork = gameFunctions.GetQuestEx(Quest.QuestId);
return questWork != null &&
- QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value, false)
+ QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value)
? ETaskResult.TaskComplete
: ETaskResult.StillRunning;
}
public override string ToString() =>
- $"Wait(QW: {string.Join(", ", Flags.Select(x => x?.ToString(CultureInfo.InvariantCulture) ?? "-"))})";
+ $"Wait(QW: {string.Join(", ", Flags.Select(x => x?.ToString() ?? "-"))})";
}
internal sealed class WaitObjectAtPosition(GameFunctions gameFunctions) : ITask
internal static class QuestWorkUtils
{
- public static bool HasCompletionFlags(IList<short?> completionQuestVariablesFlags)
+ public static bool HasCompletionFlags(IList<QuestWorkValue?> completionQuestVariablesFlags)
{
- return completionQuestVariablesFlags.Count == 6 && completionQuestVariablesFlags.Any(x => x != null);
+ return completionQuestVariablesFlags.Count == 6 && completionQuestVariablesFlags.Any(x => x != null && (x.High != 0 || x.Low != 0));
}
- /// <summary>
- /// Positive values: Must be set to this value; will wait for the step to have these set.
- /// Negative values: Will skip if set to this value, won't wait for this to be set.
- /// </summary>
- public static bool MatchesQuestWork(IList<short?> completionQuestVariablesFlags, QuestWork questWork, bool forSkip)
+ public static bool MatchesQuestWork(IList<QuestWorkValue?> completionQuestVariablesFlags, QuestWork questWork)
{
if (!HasCompletionFlags(completionQuestVariablesFlags))
return false;
for (int i = 0; i < 6; ++i)
{
- short? check = completionQuestVariablesFlags[i];
+ QuestWorkValue? check = completionQuestVariablesFlags[i];
if (check == null)
continue;
- byte actualValue = questWork.Variables[i];
- byte checkByte = check > 0 ? (byte)check : (byte)-check;
- if (forSkip)
+ EQuestWorkMode mode = check.Mode;
+
+ byte actualHigh = (byte)(questWork.Variables[i] >> 4);
+ byte actualLow = (byte)(questWork.Variables[i] & 0xF);
+
+ byte? checkHigh = check.High;
+ byte? checkLow = check.Low;
+
+ byte expectedHigh = checkHigh.GetValueOrDefault();
+ byte expectedLow = checkLow.GetValueOrDefault();
+ if (mode == EQuestWorkMode.Exact)
{
- byte expectedValue = (byte)Math.Abs(check.Value);
- if ((actualValue & checkByte) != expectedValue)
+ if (checkHigh != null && actualHigh != expectedHigh)
+ return false;
+
+ if (checkLow != null && actualLow != expectedLow)
return false;
}
- else if (!forSkip && check > 0)
+ else if (mode == EQuestWorkMode.Bitwise)
{
- byte expectedValue = check > 0 ? (byte)check : (byte)0;
- if ((actualValue & checkByte) != expectedValue)
+ if (checkHigh != null && (actualHigh & checkHigh) != expectedHigh)
+ return false;
+
+ if (checkLow != null && (actualLow & checkLow) != expectedLow)
return false;
}
+ else
+ throw new InvalidOperationException($"Unknown qw mode {mode}");
}
return true;
{
if (requiredQuestVariables.Count != 6 || requiredQuestVariables.All(x => x == null || x.Count == 0))
{
- logger.LogInformation("No RQW defined");
+ logger.LogDebug("No RQW defined");
return true;
}
foreach (QuestWorkValue expectedValue in requiredQuestVariables[i]!)
{
- logger.LogInformation("H: {ExpectedHigh} - {ActualHigh}, L: {ExpectedLow} - {ActualLow}",
+ logger.LogDebug("H: {ExpectedHigh} - {ActualHigh}, L: {ExpectedLow} - {ActualLow}",
expectedValue.High, high, expectedValue.Low, low);
if (expectedValue.High != null && expectedValue.High != high)
continue;
using System.Numerics;
using Questionable.Controller.Utils;
using Questionable.Model;
+using Questionable.Model.V1;
namespace Questionable.Validation.Validators;
{
return Enumerable.Range(0, 6).Select(y =>
{
- short? value = x.CompletionQuestVariablesFlags[y];
- if (value == null || value.Value < 0)
+ QuestWorkValue? value = x.CompletionQuestVariablesFlags[y];
+ if (value == null)
return 0;
- return (long)BitOperations.RotateLeft((ulong)value.Value, 8 * y);
+
+ // this isn't perfect, as it assumes {High: 1, Low: null} == {High: 1, Low: 0}
+ return (long)BitOperations.RotateLeft(
+ (ulong)(value.High.GetValueOrDefault() * 16 + value.Low.GetValueOrDefault()), 8 * y);
})
.Sum();
}
Step = i,
Type = EIssueType.DuplicateCompletionFlags,
Severity = EIssueSeverity.Error,
- Description = $"Duplicate completion flags: {string.Join(", ", sequence.Steps[i].CompletionQuestVariablesFlags)}",
+ Description =
+ $"Duplicate completion flags: {string.Join(", ", sequence.Steps[i].CompletionQuestVariablesFlags)}",
};
}
}