forked from liza/Questionable
Merge branch 'master' of https://git.carvel.li/liza/Questionable
This commit is contained in:
commit
aad5019356
@ -1,5 +1,5 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Version>4.6</Version>
|
||||
<Version>4.8</Version>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
@ -0,0 +1,67 @@
|
||||
{
|
||||
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 809.655,
|
||||
"Y": 17.004526,
|
||||
"Z": -257.89868
|
||||
},
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "WalkTo",
|
||||
"AetheryteShortcut": "Kozama'uka - Dock Poga",
|
||||
"Fly": true,
|
||||
"SkipConditions": {
|
||||
"AetheryteShortcutIf": {
|
||||
"InSameTerritory": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"DataId": 1051710,
|
||||
"Position": {
|
||||
"X": 822.629,
|
||||
"Y": 17.102613,
|
||||
"Z": -263.20288
|
||||
},
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051746,
|
||||
"Position": {
|
||||
"X": 824.6128,
|
||||
"Y": 13.979889,
|
||||
"Z": -227.16113
|
||||
},
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051710,
|
||||
"Position": {
|
||||
"X": 822.629,
|
||||
"Y": 17.102613,
|
||||
"Z": -263.20288
|
||||
},
|
||||
"TerritoryId": 1188,
|
||||
"InteractionType": "CompleteQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,153 @@
|
||||
{
|
||||
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||
"Author": "Starr",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051801,
|
||||
"Position": {
|
||||
"X": -49.485046,
|
||||
"Y": 6.499997,
|
||||
"Z": -90.348694
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "AcceptQuest",
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051808,
|
||||
"Position": {
|
||||
"X": -53.60504,
|
||||
"Y": 5.772882,
|
||||
"Z": -99.931335
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "YesNo",
|
||||
"Prompt": "TEXT_FESXMX001_05227_SYSTEM_000_025",
|
||||
"Yes": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051803,
|
||||
"Position": {
|
||||
"X": 33.951294,
|
||||
"Y": -0.36796698,
|
||||
"Z": 24.185547
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051816,
|
||||
"Position": {
|
||||
"X": 18.142944,
|
||||
"Y": 0.0028544795,
|
||||
"Z": -0.289917
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1052469,
|
||||
"Position": {
|
||||
"X": -15.640564,
|
||||
"Y": 0.0026466753,
|
||||
"Z": 18.142944
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1051813,
|
||||
"Position": {
|
||||
"X": -5.1118164,
|
||||
"Y": 1.21852545E-05,
|
||||
"Z": -31.99823
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051804,
|
||||
"Position": {
|
||||
"X": -3.4943848,
|
||||
"Y": 0.0028544795,
|
||||
"Z": -18.417664
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051819,
|
||||
"Position": {
|
||||
"X": -1.6937866,
|
||||
"Y": 0.0028544795,
|
||||
"Z": -21.042236
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"NextQuestId": 5228
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,206 @@
|
||||
{
|
||||
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||
"Author": "Starr",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051819,
|
||||
"Position": {
|
||||
"X": -1.6937866,
|
||||
"Y": 0.0028544795,
|
||||
"Z": -21.042236
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051822,
|
||||
"Position": {
|
||||
"X": 61.478516,
|
||||
"Y": -7.7123985,
|
||||
"Z": 98.98523
|
||||
},
|
||||
"TerritoryId": 132,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Gridania"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051807,
|
||||
"Position": {
|
||||
"X": -53.635498,
|
||||
"Y": 5.793307,
|
||||
"Z": -99.931335
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 1247,
|
||||
"AetheryteShortcut": "Gridania",
|
||||
"AethernetShortcut": [
|
||||
"[Gridania] Aetheryte Plaza",
|
||||
"[Gridania] Mih Khetto's Amphitheatre"
|
||||
],
|
||||
"SkipConditions": {
|
||||
"AetheryteShortcutIf": {
|
||||
"InSameTerritory": true,
|
||||
"InTerritory": [
|
||||
132
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"DataId": 1051823,
|
||||
"Position": {
|
||||
"X": 34.164917,
|
||||
"Y": -0.37309912,
|
||||
"Z": 23.605652
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051833,
|
||||
"Position": {
|
||||
"X": 35.568726,
|
||||
"Y": -0.24490167,
|
||||
"Z": 21.560913
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051816,
|
||||
"Position": {
|
||||
"X": 18.142944,
|
||||
"Y": 0.0028544795,
|
||||
"Z": -0.289917
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1051809,
|
||||
"Position": {
|
||||
"X": -15.823608,
|
||||
"Y": 0.0028544795,
|
||||
"Z": 9.84198
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1051813,
|
||||
"Position": {
|
||||
"X": -5.1118164,
|
||||
"Y": 1.21852545E-05,
|
||||
"Z": -31.99823
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051825,
|
||||
"Position": {
|
||||
"X": -1.7853394,
|
||||
"Y": 2.0028546,
|
||||
"Z": -86.38135
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2014535,
|
||||
"Position": {
|
||||
"X": 67.88733,
|
||||
"Y": -0.77819824,
|
||||
"Z": 51.224487
|
||||
},
|
||||
"TerritoryId": 1247,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 133
|
||||
},
|
||||
{
|
||||
"DataId": 1051802,
|
||||
"Position": {
|
||||
"X": -50.06488,
|
||||
"Y": 6.499999,
|
||||
"Z": -89.58569
|
||||
},
|
||||
"TerritoryId": 133,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1051805,
|
||||
"Position": {
|
||||
"X": 33.401978,
|
||||
"Y": -0.31104973,
|
||||
"Z": 22.079773
|
||||
},
|
||||
"TerritoryId": 1253,
|
||||
"InteractionType": "CompleteQuest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -15,11 +15,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Questionable.Model", "Quest
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuestPathGenerator.Tests", "QuestPathGenerator.Tests\QuestPathGenerator.Tests.csproj", "{4FD6F346-8961-4BD5-BDA2-E5F426DE4FC7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPathRenderer", "GatheringPathRenderer\GatheringPathRenderer.csproj", "{F514DA95-9867-4F3F-8062-ACE0C62E8740}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GatheringPathRenderer", "GatheringPathRenderer\GatheringPathRenderer.csproj", "{F514DA95-9867-4F3F-8062-ACE0C62E8740}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommons", "vendor\ECommons\ECommons\ECommons.csproj", "{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ECommons", "vendor\ECommons\ECommons\ECommons.csproj", "{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BBFFC6EA-15B1-48FC-B4D3-D9491278C27F}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
@ -28,7 +28,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "vendor", "vendor", "{8F5EC9D5-4CE7-433B-BB3A-782500E84DDB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotificationMasterAPI", "vendor\NotificationMasterAPI\NotificationMasterAPI\NotificationMasterAPI.csproj", "{9BD494ED-22F2-487B-BCE1-435399A8720E}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotificationMasterAPI", "vendor\NotificationMasterAPI\NotificationMasterAPI\NotificationMasterAPI.csproj", "{9BD494ED-22F2-487B-BCE1-435399A8720E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -36,6 +36,14 @@ Global
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Debug|x64.Build.0 = Debug|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Release|x64.ActiveCfg = Release|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Release|x64.Build.0 = Release|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Debug|x64.Build.0 = Debug|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Release|x64.ActiveCfg = Release|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Release|x64.Build.0 = Release|x64
|
||||
{7A136F28-8D5C-478D-B993-0F39F1451A47}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7A136F28-8D5C-478D-B993-0F39F1451A47}.Debug|x64.Build.0 = Debug|x64
|
||||
{7A136F28-8D5C-478D-B993-0F39F1451A47}.Release|x64.ActiveCfg = Release|x64
|
||||
@ -52,22 +60,14 @@ Global
|
||||
{4FD6F346-8961-4BD5-BDA2-E5F426DE4FC7}.Debug|x64.Build.0 = Debug|x64
|
||||
{4FD6F346-8961-4BD5-BDA2-E5F426DE4FC7}.Release|x64.ActiveCfg = Release|x64
|
||||
{4FD6F346-8961-4BD5-BDA2-E5F426DE4FC7}.Release|x64.Build.0 = Release|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Debug|x64.Build.0 = Debug|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Release|x64.ActiveCfg = Release|x64
|
||||
{EEDE3BBE-E260-445E-8FB3-1264E0CBBE91}.Release|x64.Build.0 = Release|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Debug|x64.Build.0 = Debug|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Release|x64.ActiveCfg = Release|x64
|
||||
{C91EEF13-A1AC-4A40-B695-DD4E378E5989}.Release|x64.Build.0 = Release|x64
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Debug|x64.Build.0 = Debug|x64
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Release|x64.ActiveCfg = Release|x64
|
||||
{8BF98BEF-6F00-4197-91ED-75F8F1C35FFB}.Release|x64.Build.0 = Release|x64
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Debug|x64.Build.0 = Debug|x64
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Release|x64.ActiveCfg = Release|x64
|
||||
{F514DA95-9867-4F3F-8062-ACE0C62E8740}.Release|x64.Build.0 = Release|x64
|
||||
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Debug|x64.Build.0 = Debug|x64
|
||||
{A12D7B4B-8E6E-4DCF-A41A-12F62E9FF94B}.Release|x64.ActiveCfg = Release|x64
|
||||
|
@ -57,16 +57,28 @@ internal sealed class AlliedSocietyJournalComponent
|
||||
if (quests.Count == 0)
|
||||
continue;
|
||||
|
||||
bool containsNewQuests = quests.Any(x => !_questFunctions.IsQuestComplete(x.QuestId));
|
||||
if (containsNewQuests)
|
||||
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
|
||||
string label = $"{alliedSociety}###AlliedSociety{(int)alliedSociety}";
|
||||
#if DEBUG
|
||||
bool isOpen;
|
||||
if (quests.Any(x => !_questRegistry.IsKnownQuest(x.QuestId)))
|
||||
{
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
isOpen = ImGui.CollapsingHeader(label);
|
||||
}
|
||||
else if (quests.Any(x => !_questFunctions.IsQuestComplete(x.QuestId)))
|
||||
{
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
isOpen = ImGui.CollapsingHeader(label);
|
||||
}
|
||||
else
|
||||
isOpen = ImGui.CollapsingHeader(label);
|
||||
#else
|
||||
bool isOpen = ImGui.CollapsingHeader(label);
|
||||
#endif
|
||||
|
||||
if (!ImGui.CollapsingHeader($"{alliedSociety}###AlliedSociety{(int)alliedSociety}"))
|
||||
if (!isOpen)
|
||||
continue;
|
||||
|
||||
if (containsNewQuests)
|
||||
ImGui.PopStyleColor();
|
||||
|
||||
if (alliedSociety <= EAlliedSociety.Ixal)
|
||||
{
|
||||
for (byte i = 1; i <= 8; ++i)
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Components;
|
||||
@ -19,6 +20,7 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
private static readonly IReadOnlyList<PluginInfo> RequiredPlugins =
|
||||
[
|
||||
new("vnavmesh",
|
||||
"vnavmesh",
|
||||
"""
|
||||
vnavmesh handles the navigation within a zone, moving
|
||||
your character to the next quest-related objective.
|
||||
@ -26,12 +28,14 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
new Uri("https://github.com/awgil/ffxiv_navmesh/"),
|
||||
new Uri("https://puni.sh/api/repository/veyn")),
|
||||
new("Lifestream",
|
||||
"Lifestream",
|
||||
"""
|
||||
Used to travel to aethernet shards in cities.
|
||||
""",
|
||||
new Uri("https://github.com/NightmareXIV/Lifestream"),
|
||||
new Uri("https://github.com/NightmareXIV/MyDalamudPlugins/raw/main/pluginmaster.json")),
|
||||
new("TextAdvance",
|
||||
"TextAdvance",
|
||||
"""
|
||||
Automatically accepts and turns in quests, skips cutscenes
|
||||
and dialogue.
|
||||
@ -45,23 +49,22 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
private readonly Configuration _configuration;
|
||||
private readonly IDalamudPluginInterface _pluginInterface;
|
||||
private readonly UiUtils _uiUtils;
|
||||
private readonly DalamudReflector _dalamudReflector;
|
||||
private readonly ILogger<OneTimeSetupWindow> _logger;
|
||||
|
||||
public OneTimeSetupWindow(Configuration configuration, IDalamudPluginInterface pluginInterface, UiUtils uiUtils,
|
||||
DalamudReflector dalamudReflector, ILogger<OneTimeSetupWindow> logger, AutomatonIpc automatonIpc)
|
||||
ILogger<OneTimeSetupWindow> logger, AutomatonIpc automatonIpc)
|
||||
: base("Questionable Setup###QuestionableOneTimeSetup",
|
||||
ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoSavedSettings, true)
|
||||
{
|
||||
_configuration = configuration;
|
||||
_pluginInterface = pluginInterface;
|
||||
_uiUtils = uiUtils;
|
||||
_dalamudReflector = dalamudReflector;
|
||||
_logger = logger;
|
||||
|
||||
_recommendedPlugins =
|
||||
[
|
||||
new("Rotation Solver Reborn",
|
||||
"RotationSolver",
|
||||
"""
|
||||
Automatically handles most combat interactions you encounter
|
||||
during quests, including being interrupted by mobs.
|
||||
@ -69,7 +72,8 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
new Uri("https://github.com/FFXIV-CombatReborn/RotationSolverReborn"),
|
||||
new Uri(
|
||||
"https://raw.githubusercontent.com/FFXIV-CombatReborn/CombatRebornRepo/main/pluginmaster.json")),
|
||||
new PluginInfo("Automaton",
|
||||
new PluginInfo("CBT (formerly known as Automaton)",
|
||||
"Automaton",
|
||||
"""
|
||||
Automaton is a collection of automation-related tweaks.
|
||||
The 'Sniper no sniping' tweak can complete snipe tasks automatically.
|
||||
@ -78,6 +82,7 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
new Uri("https://puni.sh/api/repository/croizat"),
|
||||
[new PluginDetailInfo("'Sniper no sniping' enabled", () => automatonIpc.IsAutoSnipeEnabled)]),
|
||||
new("NotificationMaster",
|
||||
"NotificationMaster",
|
||||
"""
|
||||
Sends a configurable out-of-game notification if a quest
|
||||
requires manual actions.
|
||||
@ -159,7 +164,7 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
|
||||
private bool DrawPlugin(PluginInfo plugin, float checklistPadding)
|
||||
{
|
||||
bool isInstalled = IsPluginInstalled(plugin.DisplayName);
|
||||
bool isInstalled = IsPluginInstalled(plugin);
|
||||
using (ImRaii.PushId("plugin_" + plugin.DisplayName))
|
||||
{
|
||||
_uiUtils.ChecklistItem(plugin.DisplayName, isInstalled);
|
||||
@ -194,13 +199,14 @@ internal sealed class OneTimeSetupWindow : LWindow
|
||||
return isInstalled;
|
||||
}
|
||||
|
||||
private bool IsPluginInstalled(string internalName)
|
||||
private bool IsPluginInstalled(PluginInfo pluginInfo)
|
||||
{
|
||||
return _dalamudReflector.TryGetDalamudPlugin(internalName, out _, suppressErrors: true, ignoreCache: true);
|
||||
return _pluginInterface.InstalledPlugins.Any(x => x.InternalName == pluginInfo.InternalName && x.IsLoaded);
|
||||
}
|
||||
|
||||
private sealed record PluginInfo(
|
||||
string DisplayName,
|
||||
string InternalName,
|
||||
string Details,
|
||||
Uri WebsiteUri,
|
||||
Uri? DalamudRepositoryUri,
|
||||
|
@ -22,6 +22,7 @@ internal sealed class EventInfoComponent
|
||||
[SuppressMessage("ReSharper", "CollectionNeverUpdated.Local")]
|
||||
private readonly List<EventQuest> _eventQuests =
|
||||
[
|
||||
new("Starlight Celebration", [new(5227), new(5228)], AtDailyReset(new(2024, 12, 31))),
|
||||
];
|
||||
|
||||
private readonly QuestData _questData;
|
||||
|
Loading…
Reference in New Issue
Block a user