Update quest battle metadata

This commit is contained in:
Liza 2025-02-22 22:28:04 +01:00
parent 22aa81cf75
commit ed797143b3
Signed by: liza
GPG Key ID: 2C41B84815CF6445
43 changed files with 106 additions and 31 deletions

View File

@ -141,7 +141,8 @@
"TerritoryId": 141,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"Fly": true
}

View File

@ -36,7 +36,8 @@
"TerritoryId": 137,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"AetheryteShortcut": "Eastern La Noscea - Wineport",
"Fly": true

View File

@ -117,7 +117,8 @@
"TerritoryId": 152,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"Fly": true
}

View File

@ -119,7 +119,8 @@
"TerritoryId": 152,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -251,7 +251,8 @@
"TerritoryId": 152,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"Fly": true
}

View File

@ -140,7 +140,8 @@
"TerritoryId": 148,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -114,6 +114,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"Healer NPC is only killed after the boss dies; all NPCs need to be killed for the duty to complete"
]

View File

@ -31,6 +31,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": false,
"TestedBossModVersion": 292,
"Notes": [
"AI doesn't automatically target newly spawning adds until after the boss died, and dies (tested on CNJ)"
]

View File

@ -79,6 +79,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete"
]

View File

@ -71,6 +71,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": false,
"TestedBossModVersion": 292,
"Notes": [
"(Phase 1, second enemy group) Stuck with enemy being out of sight -- but still able to attack you (tested on ACN)"
]

View File

@ -75,7 +75,8 @@
"TerritoryId": 134,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -31,6 +31,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": false,
"TestedBossModVersion": 292,
"Notes": [
"AI doesn't automatically target newly spawning adds until after the boss died (requires healing luck on ACN)"
]

View File

@ -60,6 +60,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"(Phase 1) Kills PGL NPCs and then the boss - allied NPCs will kill most other NPCs eventually; all NPCs need to be killed for the duty to complete"
]

View File

@ -46,7 +46,8 @@
"TerritoryId": 145,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -80,7 +80,8 @@
"TerritoryId": 130,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"AetheryteShortcut": "Ul'dah",
"AethernetShortcut": [

View File

@ -90,7 +90,8 @@
"TerritoryId": 152,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"SkipConditions": {

View File

@ -65,7 +65,8 @@
"TerritoryId": 135,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"AethernetShortcut": [
"[Limsa Lominsa] The Aftcastle",

View File

@ -60,7 +60,8 @@
"TerritoryId": 140,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
},
"AetheryteShortcut": "Western Thanalan - Horizon"
}

View File

@ -160,7 +160,8 @@
"TerritoryId": 141,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -39,7 +39,8 @@
"TerritoryId": 140,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -30,7 +30,8 @@
"TerritoryId": 141,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -67,6 +67,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete"
]

View File

@ -66,7 +66,8 @@
"TerritoryId": 152,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -86,6 +86,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"AI will kill initial adds before the boss, but not switch target whenever new enemies spawn; all NPCs need to be killed for the duty to complete"
]

View File

@ -159,7 +159,11 @@
"Z": -805.478
},
"TerritoryId": 140,
"InteractionType": "SinglePlayerDuty"
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292
}
}
]
},

View File

@ -105,7 +105,8 @@
"TerritoryId": 1053,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -68,6 +68,15 @@
{
"Sequence": 3,
"Steps": [
{
"Position": {
"X": -561.9863,
"Y": 9.919454,
"Z": 66.29564
},
"TerritoryId": 152,
"InteractionType": "WalkTo"
},
{
"DataId": 1008276,
"Position": {

View File

@ -78,6 +78,10 @@
"StopDistance": 1,
"TerritoryId": 156,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292
},
"Fly": true
}
]

View File

@ -71,6 +71,14 @@
},
"TerritoryId": 147,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true,
"TestedBossModVersion": 292,
"Notes": [
"Will target Eline first (other NPCs later), and move to some -other- group of NPCs; only re-targets once they're at 1 HP (for Eline) or die",
"If the target isn't in melee range but other NPCs are, whether any AOEs are used for nearby enemies seems random"
]
},
"Fly": true,
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant"
}

View File

@ -97,7 +97,8 @@
"InteractionType": "SinglePlayerDuty",
"Fly": true,
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -60,7 +60,8 @@
"TerritoryId": 401,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -80,7 +80,8 @@
"[Ishgard] The Tribunal"
],
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -30,7 +30,8 @@
"TerritoryId": 145,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -80,7 +80,8 @@
"InteractionType": "SinglePlayerDuty",
"DisableNavmesh": true,
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -76,7 +76,8 @@
"TerritoryId": 418,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -58,7 +58,8 @@
"Emote": "lookout",
"StopDistance": 0.25,
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -49,7 +49,8 @@
"[Idyllshire] Epilogue Gate (Eastern Hinterlands)"
],
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -70,7 +70,8 @@
"TerritoryId": 402,
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": true
"Enabled": true,
"TestedBossModVersion": 292
}
}
]

View File

@ -87,6 +87,7 @@
"Comment": "Estinien vs. Arch Ultima",
"SinglePlayerDutyOptions": {
"Enabled": false,
"TestedBossModVersion": 292,
"Notes": [
"AI doesn't move automatically for the first boss",
"AI doesn't move automatically for the dialogue with gaius on the bridge",

View File

@ -48,6 +48,7 @@
"InteractionType": "SinglePlayerDuty",
"SinglePlayerDutyOptions": {
"Enabled": false,
"TestedBossModVersion": 292,
"Notes": [
"Doesn't walk to the teleporter to finish the duty"
]

View File

@ -1285,6 +1285,10 @@
"maximum": 1,
"description": "If a quest has multiple solo instances (which affects 5 quests total), indicates which one this is"
},
"TestedBossModVersion": {
"type": "number",
"minimum": 292
},
"$": {
"type": "string"
}

View File

@ -9,7 +9,7 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
{
public IEnumerable<ValidationIssue> Validate(Quest quest)
{
if (quest.Id is SatisfactionSupplyNpcId)
if (quest.Id is SatisfactionSupplyNpcId or AlliedSocietyDailyId)
yield break;
var questAccepts =

View File

@ -34,7 +34,9 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
(EClassJob.BlackMage, "Magical Ranged Role Quests"),
];
#if false
private readonly string[] _retryDifficulties = ["Normal", "Easy", "Very Easy"];
#endif
private readonly TerritoryData _territoryData;
private readonly QuestRegistry _questRegistry;
@ -263,12 +265,19 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
using (ImRaii.PushIndent(ImGui.GetFrameHeight() + ImGui.GetStyle().ItemInnerSpacing.X))
{
ImGui.AlignTextToFramePadding();
ImGui.TextColored(ImGuiColors.DalamudRed,
"Work in Progress: For now, this will always use BossMod for combat.");
using (_ = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
{
ImGui.TextUnformatted("Work in Progress:");
ImGui.BulletText("Will always use BossMod for combat (ignoring the configured combat module).");
ImGui.BulletText("Only a small subset of quest battles have been tested - most of which are in the MSQ.");
ImGui.BulletText("When retrying a failed battle, it will always start at 'Normal' difficulty.");
ImGui.BulletText("Please don't enable this option when using a BossMod fork (such as Reborn);\nwith the combat changes, it is unlikely to be compatible.");
}
#if false
using (ImRaii.Disabled(!runSoloInstancesWithBossMod))
{
ImGui.Spacing();
int retryDifficulty = Configuration.SinglePlayerDuties.RetryDifficulty;
if (ImGui.Combo("Difficulty when retrying a quest battle", ref retryDifficulty, _retryDifficulties,
_retryDifficulties.Length))
@ -277,6 +286,7 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
Save();
}
}
#endif
}
ImGui.Separator();