{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
+ "Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
+ "Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
+ "Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
{
"Sequence": 1,
"Steps": [
+ {
+ "DataId": 1032169,
+ "Position": {
+ "X": -423.33105,
+ "Y": 25.599815,
+ "Z": 265.94946
+ },
+ "TerritoryId": 816,
+ "InteractionType": "Interact",
+ "Fly": true,
+ "SkipIf": [
+ "NotTargetable"
+ ],
+ "$": "Only if QW: 0 48 0 0 0 0"
+ },
{
"DataId": 1032167,
"Position": {
},
"TerritoryId": 816,
"InteractionType": "Interact",
- "Fly": true
+ "Fly": true,
+ "SkipIf": [
+ "NotTargetable"
+ ]
}
]
},
--- /dev/null
+## Raiders of the Lost Pork
+
+QuestWork:
+```
+0 x 0 0 0 0
+ 48 → Elegant Eulmoran (1032169)
+ ?? → 1032167
+```
{
"$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza",
+ "Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Z": -55.77173
},
"TerritoryId": 816,
- "InteractionType": "Combat",
- "EnemySpawnType": "AfterInteraction",
- "KillEnemyDataIds": [
- 11451
- ],
+ "InteractionType": "Interact",
"Fly": true,
- "Comment": "TODO Combat is optional, check where we should walk"
+ "$": "Only if QW: 0 0 ??? 0 0 0",
+ "SkipIf": ["NotTargetable"]
+ },
+ {
+ "DataId": 2010902,
+ "Position": {
+ "X": -405.9358,
+ "Y": -0.07635498,
+ "Z": -28.397034
+ },
+ "TerritoryId": 816,
+ "InteractionType": "Interact",
+ "$": "Only if QW: 0 0 1 0 0 0 → if complete, 0 16 0 0 0 0",
+ "SkipIf": ["NotTargetable"]
}
]
},
{
"Sequence": 255,
"Steps": [
+ {
+ "Position": {
+ "X": -398.9776,
+ "Y": 0.82966614,
+ "Z": 8.668919
+ },
+ "TerritoryId": 816,
+ "InteractionType": "WalkTo",
+ "Mount": false,
+ "DisableNavmesh": true
+ },
{
"DataId": 1031809,
"Position": {
--- /dev/null
+{
+ "$schema": "https://carvel.li/questionable/quest-1.0",
+ "Author": "liza",
+ "Disabled": true,
+ "QuestSequence": [
+ {
+ "Sequence": 0,
+ "Steps": [
+ {
+ "DataId": 1031809,
+ "Position": {
+ "X": -454.3069,
+ "Y": 71.43217,
+ "Z": 575.1278
+ },
+ "TerritoryId": 816,
+ "InteractionType": "AcceptQuest"
+ }
+ ]
+ },
+ {
+ "Sequence": 1,
+ "Steps": [
+ {
+ "Position": {
+ "X": -115.77283,
+ "Y": 7.1942587,
+ "Z": 130.61378
+ },
+ "TerritoryId": 816,
+ "InteractionType": "WalkTo",
+ "Fly": true
+ },
+ {
+ "DataId": 2010911,
+ "Position": {
+ "X": -113.93915,
+ "Y": -36.087585,
+ "Z": 87.6936
+ },
+ "TerritoryId": 816,
+ "InteractionType": "Interact",
+ "DisableNavmesh": true,
+ "$": "QW: 0 2 0 0 0 0"
+ }
+ ]
+ },
+ {
+ "Sequence": 255,
+ "Steps": [
+ {
+ "DataId": 1031809,
+ "Position": {
+ "X": -454.3069,
+ "Y": 71.43217,
+ "Z": 575.1278
+ },
+ "TerritoryId": 816,
+ "InteractionType": "CompleteQuest",
+ "AetheryteShortcut": "Il Mheg - Lydha Lran",
+ "Fly": true
+ }
+ ]
+ }
+ ]
+}
},
"TerritoryId": 957,
"InteractionType": "CompleteQuest",
- "AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true
}
]
{
public string Author { get; set; } = null!;
public List<string> Contributors { get; set; } = new();
+
+ /// <summary>
+ /// This is only relevant for release builds.
+ /// </summary>
public bool Disabled { get; set; }
+
public string? Comment { get; set; }
public List<ushort> TerritoryBlacklist { get; set; } = new();
public List<QuestSequence> QuestSequence { get; set; } = new();
return ushort.Parse(parts[0], CultureInfo.InvariantCulture);
}
- public bool IsKnownQuest(ushort questId) => TryGetQuest(questId, out _);
+ public bool IsKnownQuest(ushort questId) => _quests.ContainsKey(questId);
public bool TryGetQuest(ushort questId, [NotNullWhen(true)] out Quest? quest)
- => _quests.TryGetValue(questId, out quest) && !quest.Root.Disabled;
+ => _quests.TryGetValue(questId, out quest);
}
ImGui.SameLine();
using var textColor = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
- if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.ExclamationTriangle,
+ if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Flag,
$"{_questRegistry.ValidationIssueCount}"))
_questValidationWindow.IsOpen = true;
}