Load disabled quests in debug; mark a few tribal quests as disabled (as they're randomized & not fully explored)

pull/6/head
Liza 2024-07-16 00:43:38 +02:00
parent db61878683
commit 4a9fd60768
Signed by: liza
GPG Key ID: 7199F8D727D55F67
10 changed files with 131 additions and 11 deletions

View File

@ -1,6 +1,7 @@
{ {
"$schema": "https://carvel.li/questionable/quest-1.0", "$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza", "Author": "liza",
"Disabled": true,
"QuestSequence": [ "QuestSequence": [
{ {
"Sequence": 0, "Sequence": 0,

View File

@ -1,6 +1,7 @@
{ {
"$schema": "https://carvel.li/questionable/quest-1.0", "$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza", "Author": "liza",
"Disabled": true,
"QuestSequence": [ "QuestSequence": [
{ {
"Sequence": 0, "Sequence": 0,

View File

@ -1,6 +1,7 @@
{ {
"$schema": "https://carvel.li/questionable/quest-1.0", "$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza", "Author": "liza",
"Disabled": true,
"QuestSequence": [ "QuestSequence": [
{ {
"Sequence": 0, "Sequence": 0,
@ -20,6 +21,21 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "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, "DataId": 1032167,
"Position": { "Position": {
@ -29,7 +45,10 @@
}, },
"TerritoryId": 816, "TerritoryId": 816,
"InteractionType": "Interact", "InteractionType": "Interact",
"Fly": true "Fly": true,
"SkipIf": [
"NotTargetable"
]
} }
] ]
}, },

View File

@ -0,0 +1,8 @@
## Raiders of the Lost Pork
QuestWork:
```
0 x 0 0 0 0
48 → Elegant Eulmoran (1032169)
?? → 1032167
```

View File

@ -1,6 +1,7 @@
{ {
"$schema": "https://carvel.li/questionable/quest-1.0", "$schema": "https://carvel.li/questionable/quest-1.0",
"Author": "liza", "Author": "liza",
"Disabled": true,
"QuestSequence": [ "QuestSequence": [
{ {
"Sequence": 0, "Sequence": 0,
@ -28,19 +29,39 @@
"Z": -55.77173 "Z": -55.77173
}, },
"TerritoryId": 816, "TerritoryId": 816,
"InteractionType": "Combat", "InteractionType": "Interact",
"EnemySpawnType": "AfterInteraction",
"KillEnemyDataIds": [
11451
],
"Fly": true, "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, "Sequence": 255,
"Steps": [ "Steps": [
{
"Position": {
"X": -398.9776,
"Y": 0.82966614,
"Z": 8.668919
},
"TerritoryId": 816,
"InteractionType": "WalkTo",
"Mount": false,
"DisableNavmesh": true
},
{ {
"DataId": 1031809, "DataId": 1031809,
"Position": { "Position": {

View File

@ -0,0 +1,66 @@
{
"$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
}
]
}
]
}

View File

@ -79,7 +79,6 @@
}, },
"TerritoryId": 957, "TerritoryId": 957,
"InteractionType": "CompleteQuest", "InteractionType": "CompleteQuest",
"AetheryteShortcut": "Thavnair - Yedlihmad",
"Fly": true "Fly": true
} }
] ]

View File

@ -6,7 +6,12 @@ public sealed class QuestRoot
{ {
public string Author { get; set; } = null!; public string Author { get; set; } = null!;
public List<string> Contributors { get; set; } = new(); public List<string> Contributors { get; set; } = new();
/// <summary>
/// This is only relevant for release builds.
/// </summary>
public bool Disabled { get; set; } public bool Disabled { get; set; }
public string? Comment { get; set; } public string? Comment { get; set; }
public List<ushort> TerritoryBlacklist { get; set; } = new(); public List<ushort> TerritoryBlacklist { get; set; } = new();
public List<QuestSequence> QuestSequence { get; set; } = new(); public List<QuestSequence> QuestSequence { get; set; } = new();

View File

@ -173,8 +173,8 @@ internal sealed class QuestRegistry
return ushort.Parse(parts[0], CultureInfo.InvariantCulture); 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) public bool TryGetQuest(ushort questId, [NotNullWhen(true)] out Quest? quest)
=> _quests.TryGetValue(questId, out quest) && !quest.Root.Disabled; => _quests.TryGetValue(questId, out quest);
} }

View File

@ -583,7 +583,7 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
ImGui.SameLine(); ImGui.SameLine();
using var textColor = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed); using var textColor = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.ExclamationTriangle, if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Flag,
$"{_questRegistry.ValidationIssueCount}")) $"{_questRegistry.ValidationIssueCount}"))
_questValidationWindow.IsOpen = true; _questValidationWindow.IsOpen = true;
} }