Assignment(nameof(QuestStep.ContentFinderConditionId),
step.ContentFinderConditionId, emptyStep.ContentFinderConditionId)
.AsSyntaxNodeOrToken(),
- AssignmentList(nameof(QuestStep.SkipIf), step.SkipIf)
+ Assignment(nameof(QuestStep.SkipConditions), step.SkipConditions, emptyStep.SkipConditions)
.AsSyntaxNodeOrToken(),
AssignmentList(nameof(QuestStep.RequiredQuestVariables),
step.RequiredQuestVariables)
SyntaxNodeList(list.Select(x => ExpressionElement(
LiteralValue(x)).AsSyntaxNodeOrToken()).ToArray())));
}
+ else if (value is SkipConditions skipConditions)
+ {
+ var emptySkip = new SkipConditions();
+ return ObjectCreationExpression(
+ IdentifierName(nameof(SkipConditions)))
+ .WithInitializer(
+ InitializerExpression(
+ SyntaxKind.ObjectInitializerExpression,
+ SeparatedList<ExpressionSyntax>(
+ SyntaxNodeList(
+ Assignment(nameof(SkipConditions.StepIf), skipConditions.StepIf, emptySkip.StepIf)
+ .AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipConditions.AetheryteShortcutIf),
+ skipConditions.AetheryteShortcutIf, emptySkip.AetheryteShortcutIf)
+ .AsSyntaxNodeOrToken()))));
+ }
+ else if (value is SkipStepConditions skipStepConditions)
+ {
+ var emptyStep = new SkipStepConditions();
+ return ObjectCreationExpression(
+ IdentifierName(nameof(SkipStepConditions)))
+ .WithInitializer(
+ InitializerExpression(
+ SyntaxKind.ObjectInitializerExpression,
+ SeparatedList<ExpressionSyntax>(
+ SyntaxNodeList(
+ Assignment(nameof(SkipStepConditions.Never), skipStepConditions.Never,
+ emptyStep.Never)
+ .AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipStepConditions.Flying), skipStepConditions.Flying,
+ emptyStep.Flying)
+ .AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipStepConditions.Chocobo), skipStepConditions.Chocobo,
+ emptyStep.Chocobo)
+ .AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipStepConditions.NotTargetable),
+ skipStepConditions.NotTargetable, emptyStep.NotTargetable)
+ .AsSyntaxNodeOrToken(),
+ AssignmentList(nameof(SkipStepConditions.InTerritory),
+ skipStepConditions.InTerritory).AsSyntaxNodeOrToken(),
+ AssignmentList(nameof(SkipStepConditions.NotInTerritory),
+ skipStepConditions.NotInTerritory).AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipStepConditions.Item), skipStepConditions.Item, emptyStep.Item)
+ .AsSyntaxNodeOrToken(),
+ Assignment(nameof(SkipStepConditions.ExtraCondition),
+ skipStepConditions.ExtraCondition, emptyStep.ExtraCondition)
+ .AsSyntaxNodeOrToken()))));
+ }
+ else if (value is SkipItemConditions skipItemCondition)
+ {
+ var emptyItem = new SkipItemConditions();
+ return ObjectCreationExpression(
+ IdentifierName(nameof(SkipItemConditions)))
+ .WithInitializer(
+ InitializerExpression(
+ SyntaxKind.ObjectInitializerExpression,
+ SeparatedList<ExpressionSyntax>(
+ SyntaxNodeList(
+ Assignment(nameof(SkipItemConditions.NotInInventory),
+ skipItemCondition.NotInInventory,
+ emptyItem.NotInInventory)))));
+ }
+ else if (value is SkipAetheryteCondition skipAetheryteCondition)
+ {
+ var emptyAetheryte = new SkipAetheryteCondition();
+ return ObjectCreationExpression(
+ IdentifierName(nameof(SkipAetheryteCondition)))
+ .WithInitializer(
+ InitializerExpression(
+ SyntaxKind.ObjectInitializerExpression,
+ SeparatedList<ExpressionSyntax>(
+ SyntaxNodeList(
+ Assignment(nameof(SkipAetheryteCondition.Never), skipAetheryteCondition.Never,
+ emptyAetheryte.Never),
+ Assignment(nameof(SkipAetheryteCondition.InSameTerritory),
+ skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory)))));
+ }
else if (value is null)
return LiteralExpression(SyntaxKind.NullLiteralExpression);
}
"TerritoryId": 180,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Outer La Noscea - Camp Overlook",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
null,
-32
],
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"DataId": 1007842,
"TerritoryId": 146,
"InteractionType": "Interact",
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
-128
],
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"Fly": true
},
{
],
"AetheryteShortcut": "South Shroud - Camp Tranquil",
"Fly": true,
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"Comment": "TODO Verify enemy id"
},
{
}
],
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
},
{
"DataId": 2002312,
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 132,
"InteractionType": "UseItem",
"ItemId": 6001,
- "SkipIf": [
- "ChocoboUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Chocobo": "Unlocked"
+ }
+ },
"Comment": "Use Chocobo whistle (if not yet unlocked)"
},
{
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Quarrymill",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Camp Tranquil",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 146,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 139,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 139,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 154,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "North Shroud - Fallgourd Float",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"Mount": true
}
]
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 138,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western La Noscea - Aleport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 138,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western La Noscea - Aleport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 138,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western La Noscea - Aleport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 138,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western La Noscea - Aleport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Camp Bluefog",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 212,
"InteractionType": "Interact",
"TargetTerritoryId": 212,
- "SkipIf": [
- "WakingSandsMainArea"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "ExtraCondition": "WakingSandsMainArea"
+ }
+ }
},
{
"DataId": 1007533,
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Camp Tranquil",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 137,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern La Noscea - Wineport",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 140,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western Thanalan - Horizon",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 140,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western Thanalan - Horizon",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 140,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Western Thanalan - Horizon",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 135,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
},
{
"DataId": 2002878,
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
},
{
"DataId": 2002878,
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
},
{
"DataId": 1008997,
"TerritoryId": 141,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Central Thanalan - Black Brush Station",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 141,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Central Thanalan - Black Brush Station",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 132,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Gridania",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 130,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ul'dah",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 145,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 153,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "South Shroud - Camp Tranquil",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 155,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"$": "0 0 0 0 0 0 -> 0 1 0 0 0 0"
}
]
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 156,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Mor Dhona",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Dravanian Forelands - Anyx Trine",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 397,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 401,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"[Ishgard] Aetheryte Plaza",
"[Ishgard] The Forgotten Knight"
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 478,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Idyllshire",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 418,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Ishgard",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 398,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
}
"TerritoryId": 478,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Idyllshire",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 635,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Rhalgr's Reach",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 819,
"InteractionType": "AttuneAetheryte",
"Aetheryte": "Crystarium",
- "SkipIf": [
- "Never"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Never": true
+ }
+ }
}
]
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"Comment": "Tower Bottom"
},
{
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Tower Bottom Platform 1"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"Comment": "Wooden Skywalk Bottom"
},
{
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Wooden Skywalk Platform 1"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Wooden Skywalk Platform 2"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Wooden Skywalk Platform 3"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Wooden Skywalk Platform 4"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true,
"Comment": "Wooden Skywalk Top"
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true
},
{
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DisableNavmesh": true
},
{
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1028955,
"TerritoryId": 813,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Lakeland - Fort Jobb",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 813,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"DataId": 1028303,
"TerritoryId": 817,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Rak'tika - Slitherbough",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 817,
"InteractionType": "Interact",
"Comment": "Retry point",
- "SkipIf": [
- "NotTargetable"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ }
},
{
"Position": {
"TerritoryId": 818,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"Position": {
"TerritoryId": 816,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 2010860,
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 819,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Crystarium",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"[Eulmore] Aetheryte Plaza",
"[Eulmore] Nightsoil Pots"
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
},
"TerritoryId": 958,
"InteractionType": "Interact",
- "SkipIf": [
- "NotTargetable"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ },
"DialogueChoices": [
{
"Type": "YesNo",
},
"TerritoryId": 959,
"InteractionType": "Interact",
- "SkipIf": [
- "NotTargetable"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ },
"DialogueChoices": [
{
"Type": "YesNo",
"TerritoryId": 956,
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Aporia",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"TargetTerritoryId": 956
},
{
"InteractionType": "Interact",
"AetheryteShortcut": "Labyrinthos - Aporia",
"TargetTerritoryId": 956,
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"InteractionType": "WalkTo",
"AetheryteShortcut": "Thavnair - Palaka's Stand",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 2012847,
"TerritoryId": 957,
"InteractionType": "Interact",
"Mount": false,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 2012847,
},
"TerritoryId": 957,
"InteractionType": "Interact",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
}
]
},
"TerritoryId": 956,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"Mount": true
},
{
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1045430,
},
"TerritoryId": 958,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"InteractionType": "Interact",
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
"TargetTerritoryId": 959,
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"Fly": true
},
{
"InteractionType": "Interact",
"AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
"TargetTerritoryId": 959,
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"StopDistance": 1,
"TerritoryId": 959,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"Fly": true
},
{
},
"TerritoryId": 957,
"InteractionType": "Interact",
- "SkipIf": [
- "NotTargetable"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ },
"DialogueChoices": [
{
"Type": "YesNo",
"TerritoryId": 957,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
},
"TerritoryId": 957,
"InteractionType": "Interact",
- "SkipIf": [
- "NotTargetable"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 957,
"InteractionType": "Interact",
- "SkipIf": [
- "FlyingUnlocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ },
"DialogueChoices": [
{
"Type": "YesNo",
"Yes": true
}
],
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
},
"TerritoryId": 957,
"InteractionType": "WalkTo",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"DataId": 1042301,
"TerritoryId": 962,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Old Sharlayan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 962,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Old Sharlayan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 962,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Old Sharlayan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 962,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Old Sharlayan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 963,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Radz-at-Han",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 131,
"InteractionType": "UseItem",
"ItemId": 43537,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"Position": {
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 41808,
- "SkipIf": [
- "ItemNotInInventory"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ },
"$": "This should probably call /equiprecommended if it exists"
},
{
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 43178,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"Position": {
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 43179,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"Position": {
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 43180,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"Position": {
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 43181,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"Position": {
"TerritoryId": 131,
"InteractionType": "EquipItem",
"ItemId": 43182,
- "SkipIf": [
- "ItemNotInInventory"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Item": {
+ "NotInInventory": true
+ }
+ }
+ }
},
{
"DataId": 1046337,
"Answer": "TEXT_KINGBB111_04850_A2_000_100"
}
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 962,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Old Sharlayan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"Yes": true
}
],
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"TerritoryId": 1189,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1047813,
"TerritoryId": 1185,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Tuliyollal",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 129,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Limsa Lominsa",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 957,
"InteractionType": "Interact",
"Fly": true,
- "SkipIf": [
- "NotTargetable"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "NotTargetable": true
+ }
+ },
"DialogueChoices": [
{
"Type": "YesNo",
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Shaaloani - Mehwahhetsoan",
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"Position": {
"TerritoryId": 1185,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Tuliyollal",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"[Kugane] Aetheryte Plaza",
"[Kugane] Shiokaze Hostelry"
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"DialogueChoices": [
{
"Type": "List",
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 614,
"InteractionType": "Interact",
"AetheryteShortcut": "Yanxia - Namai",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"[Kugane] Aetheryte Plaza",
"[Kugane] Kogane Dori Markets"
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 628,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Kugane",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 622,
"InteractionType": "Interact",
"AetheryteShortcut": "Azim Steppe - Reunion",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ],
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
"TerritoryId": 1185,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Tuliyollal",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 635,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Rhalgr's Reach",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 1188,
"InteractionType": "WalkTo",
"Mount": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 2014195,
"TerritoryId": 1188,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 2014173,
"TerritoryId": 1188,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"CompletionQuestVariablesFlags": [
null,
null,
null,
-64
],
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1051297,
null,
-128
],
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"$": "Shaaloani Saloon Balcony"
},
{
null,
-32
],
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"$": "Shaaloani Saloon Balcony"
},
{
"TerritoryId": 1190,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1051283,
null,
-128
],
- "SkipIf": [
- "FlyingLocked"
- ],
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ },
"$": "Shaaloani Saloon Balcony"
},
{
"TerritoryId": 1187,
"InteractionType": "WalkTo",
"Fly": true,
- "SkipIf": [
- "FlyingLocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Locked"
+ }
+ }
},
{
"DataId": 1048666,
"TerritoryId": 1187,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Urqopacha - Wachunpelo",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 1190,
"InteractionType": "Interact",
"AetheryteShortcut": "Shaaloani - Mehwahhetsoan",
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"TargetTerritoryId": 1192,
- "SkipIf": [
- "FlyingUnlocked"
- ]
+ "SkipConditions": {
+ "StepIf": {
+ "Flying": "Unlocked"
+ }
+ }
},
{
"DataId": 1051443,
"[Solution Nine] Aetheryte Plaza",
"[Solution Nine] True Vue"
],
- "SkipIf": [
- "AetheryteShortcutIfInSameTerritory"
- ]
+ "SkipConditions": {
+ "AetheryteShortcutIf": {
+ "NotInSameTerritory": true
+ }
+ }
}
]
},
"null"
]
},
- "AetheryteShortcut": {
+ "AetheryteShortcutIf": {
"description": "The Aetheryte to teleport to (before moving)",
"$ref": "#/$defs/Aetheryte"
},
"exclusiveMinimum": 0
},
"SkipIf": {
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "Never",
- "FlyingLocked",
- "FlyingUnlocked",
- "DifferentTerritory",
- "ChocoboUnlocked",
- "AetheryteShortcutIfInSameTerritory",
- "NotTargetable",
- "ItemNotInInventory",
- "WakingSandsMainArea"
- ]
- }
+ "type": "null",
+ "deprecationMessage": "Please use SkipConditions instead"
+ },
+ "SkipConditions": {
+ "type": "object",
+ "properties": {
+ "StepIf": {
+ "type": "object",
+ "properties": {
+ "Never": {
+ "type": "boolean"
+ },
+ "Flying": {
+ "type": "string",
+ "enum": [
+ "Locked",
+ "Unlocked"
+ ]
+ },
+ "Chocobo": {
+ "type": "string",
+ "enum": [
+ "Locked",
+ "Unlocked"
+ ]
+ },
+ "NotTargetable": {
+ "type": "boolean"
+ },
+ "InTerritory": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "NotInTerritory": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "Item": {
+ "type": "object",
+ "properties": {
+ "NotInInventory": {
+ "type": "boolean"
+ }
+ }
+ },
+ "QuestsAccepted": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "QuestsCompleted": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "ExtraCondition": {
+ "type": "string",
+ "enum": [
+ "WakingSandsMainArea"
+ ]
+ }
+ }
+ },
+ "AetheryteShortcutIf": {
+ "type": "object",
+ "properties": {
+ "Never": {
+ "type": "boolean"
+ },
+ "InSameTerritory": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "additionalProperties": false
},
"CompletionQuestVariablesFlags": {
"$ref": "#/$defs/CompletionFlags"
--- /dev/null
+using System.Collections.Generic;
+
+namespace Questionable.Model.V1.Converter;
+
+public sealed class LockedSkipConditionConverter() : EnumConverter<ELockedSkipCondition>(Values)
+{
+ private static readonly Dictionary<ELockedSkipCondition, string> Values = new()
+ {
+ { ELockedSkipCondition.Locked, "Locked" },
+ { ELockedSkipCondition.Unlocked, "Unlocked" },
+ };
+}
namespace Questionable.Model.V1.Converter;
-public sealed class SkipConditionConverter() : EnumConverter<ESkipCondition>(Values)
+public sealed class SkipConditionConverter() : EnumConverter<EExtraSkipCondition>(Values)
{
- private static readonly Dictionary<ESkipCondition, string> Values = new()
+ private static readonly Dictionary<EExtraSkipCondition, string> Values = new()
{
- { ESkipCondition.Never, "Never" },
- { ESkipCondition.FlyingLocked, "FlyingLocked" },
- { ESkipCondition.FlyingUnlocked, "FlyingUnlocked" },
- { ESkipCondition.ChocoboUnlocked, "ChocoboUnlocked" },
- { ESkipCondition.AetheryteShortcutIfInSameTerritory, "AetheryteShortcutIfInSameTerritory" },
- { ESkipCondition.NotTargetable, "NotTargetable" },
- { ESkipCondition.ItemNotInInventory, "ItemNotInInventory" },
- { ESkipCondition.WakingSandsMainArea, "WakingSandsMainArea" },
+ { EExtraSkipCondition.WakingSandsMainArea, "WakingSandsMainArea" },
};
}
--- /dev/null
+using System.Text.Json.Serialization;
+using Questionable.Model.V1.Converter;
+
+namespace Questionable.Model.V1;
+
+[JsonConverter(typeof(SkipConditionConverter))]
+public enum EExtraSkipCondition
+{
+ None,
+ WakingSandsMainArea,
+}
--- /dev/null
+using System.Text.Json.Serialization;
+using Questionable.Model.V1.Converter;
+
+namespace Questionable.Model.V1;
+
+[JsonConverter(typeof(LockedSkipConditionConverter))]
+public enum ELockedSkipCondition
+{
+ Locked,
+ Unlocked,
+}
+++ /dev/null
-using System.Text.Json.Serialization;
-using Questionable.Model.V1.Converter;
-
-namespace Questionable.Model.V1;
-
-[JsonConverter(typeof(SkipConditionConverter))]
-public enum ESkipCondition
-{
- None,
- Never,
- FlyingLocked,
- FlyingUnlocked,
- ChocoboUnlocked,
- AetheryteShortcutIfInSameTerritory,
- NotTargetable,
- ItemNotInInventory,
-
- // TODO: This is an indication the whole skip bit should be optimized/parameterized to some extent
- WakingSandsMainArea,
-}
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
+using System.Collections.Generic;
using System.Numerics;
using System.Text.Json.Serialization;
using Questionable.Model.V1.Converter;
public JumpDestination? JumpDestination { get; set; }
public uint? ContentFinderConditionId { get; set; }
+ public SkipConditions? SkipConditions { get; set; }
- public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
public List<List<QuestWorkValue>?> RequiredQuestVariables { get; set; } = new();
public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
--- /dev/null
+namespace Questionable.Model.V1;
+
+public sealed class SkipAetheryteCondition
+{
+ public bool Never { get; set; }
+ public bool InSameTerritory { get; set; }
+}
--- /dev/null
+namespace Questionable.Model.V1;
+
+public sealed class SkipConditions
+{
+ public SkipStepConditions? StepIf { get; set; }
+ public SkipAetheryteCondition? AetheryteShortcutIf { get; set; }
+}
--- /dev/null
+namespace Questionable.Model.V1;
+
+public sealed class SkipItemConditions
+{
+ public bool NotInInventory { get; set; }
+}
--- /dev/null
+using System.Collections.Generic;
+
+namespace Questionable.Model.V1;
+
+public sealed class SkipStepConditions
+{
+ public bool Never { get; set; }
+ public ELockedSkipCondition? Flying { get; set; }
+ public ELockedSkipCondition? Chocobo { get; set; }
+ public bool NotTargetable { get; set; }
+ public List<ushort> InTerritory { get; set; } = new();
+ public List<ushort> NotInTerritory { get; set; } = new();
+ public SkipItemConditions? Item { get; set; }
+
+ // TODO not implemented
+ public List<ushort> QuestsAccepted { get; set; } = new();
+
+ // TODO not implemented
+ public List<ushort> QuestsCompleted { get; set; } = new();
+ public EExtraSkipCondition? ExtraCondition { get; set; }
+
+ public bool HasSkipConditions()
+ {
+ return Never || Flying != null || Chocobo != null || InTerritory.Count > 0 || NotInTerritory.Count > 0 || Item != null;
+ }
+}
ushort territoryType = clientState.TerritoryType;
if (Step != null && ExpectedTerritoryId == territoryType)
{
- if (Step.SkipIf.Contains(ESkipCondition.AetheryteShortcutIfInSameTerritory))
+ var skipConditions = Step.SkipConditions?.AetheryteShortcutIf ?? new();
+ if (!skipConditions.Never)
{
- logger.LogInformation("Skipping aetheryte teleport due to SkipIf");
- return false;
- }
+ if (skipConditions is { InSameTerritory: true })
+ {
+ logger.LogInformation("Skipping aetheryte teleport due to SkipCondition");
+ return false;
+ }
- Vector3 pos = clientState.LocalPlayer!.Position;
- if (Step.Position != null && (pos - Step.Position.Value).Length() < Step.CalculateActualStopDistance())
- {
- logger.LogInformation("Skipping aetheryte teleport, we're near the target");
- return false;
- }
+ Vector3 pos = clientState.LocalPlayer!.Position;
+ if (Step.Position != null &&
+ (pos - Step.Position.Value).Length() < Step.CalculateActualStopDistance())
+ {
+ logger.LogInformation("Skipping aetheryte teleport, we're near the target");
+ return false;
+ }
- if (aetheryteData.CalculateDistance(pos, territoryType, TargetAetheryte) < 20 ||
- (Step.AethernetShortcut != null &&
- (aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.From) < 20 ||
- aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.To) < 20)))
- {
- logger.LogInformation("Skipping aetheryte teleport");
- return false;
+ if (aetheryteData.CalculateDistance(pos, territoryType, TargetAetheryte) < 20 ||
+ (Step.AethernetShortcut != null &&
+ (aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.From) < 20 ||
+ aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.To) < 20)))
+ {
+ logger.LogInformation("Skipping aetheryte teleport");
+ return false;
+ }
}
}
{
public ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
- if (step.SkipIf.Contains(ESkipCondition.Never))
+ var skipConditions = step.SkipConditions?.StepIf;
+ if (skipConditions == null || skipConditions.Never)
return null;
- var relevantConditions =
- step.SkipIf.Where(x => x != ESkipCondition.AetheryteShortcutIfInSameTerritory).ToList();
- if (relevantConditions.Count == 0 &&
+ if (skipConditions.HasSkipConditions() &&
step.CompletionQuestVariablesFlags.Count == 0 &&
step.RequiredQuestVariables.Count == 0 &&
step.PickUpQuestId == null &&
return null;
return serviceProvider.GetRequiredService<CheckTask>()
- .With(step, relevantConditions, quest.QuestId);
+ .With(step, skipConditions, quest.QuestId);
}
}
IClientState clientState) : ITask
{
public QuestStep Step { get; set; } = null!;
- public List<ESkipCondition> SkipConditions { get; set; } = null!;
+ public SkipStepConditions SkipConditions { get; set; } = null!;
public ushort QuestId { get; set; }
- public ITask With(QuestStep step, List<ESkipCondition> skipConditions, ushort questId)
+ public ITask With(QuestStep step, SkipStepConditions skipConditions, ushort questId)
{
Step = step;
SkipConditions = skipConditions;
{
logger.LogInformation("Checking skip conditions; {ConfiguredConditions}", string.Join(",", SkipConditions));
- if (SkipConditions.Contains(ESkipCondition.FlyingUnlocked) &&
+ if (SkipConditions.Flying == ELockedSkipCondition.Unlocked &&
gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
{
logger.LogInformation("Skipping step, as flying is unlocked");
return true;
}
- if (SkipConditions.Contains(ESkipCondition.FlyingLocked) &&
+ if (SkipConditions.Flying == ELockedSkipCondition.Locked &&
!gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
{
logger.LogInformation("Skipping step, as flying is locked");
return true;
}
- if (SkipConditions.Contains(ESkipCondition.ChocoboUnlocked) &&
+ if (SkipConditions.Chocobo == ELockedSkipCondition.Unlocked &&
PlayerState.Instance()->IsMountUnlocked(1))
{
logger.LogInformation("Skipping step, as chocobo is unlocked");
return true;
}
- if (SkipConditions.Contains(ESkipCondition.NotTargetable) &&
+ if (SkipConditions.NotTargetable &&
Step is { DataId: not null })
{
IGameObject? gameObject = gameFunctions.FindObjectByDataId(Step.DataId.Value);
}
}
- if (SkipConditions.Contains(ESkipCondition.ItemNotInInventory) && Step is { ItemId: not null })
+ if (SkipConditions.Item is { NotInInventory: true } && Step is { ItemId: not null })
{
InventoryManager* inventoryManager = InventoryManager.Instance();
if (inventoryManager->GetInventoryItemCount(Step.ItemId.Value) == 0)
}
}
- if (Step.SkipIf.Contains(ESkipCondition.WakingSandsMainArea))
+ if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea)
{
var position = clientState.LocalPlayer!.Position;
if (position.X < 24)