1
0
Fork 0
forked from aly/qstbak

muffin v7.5.1

This commit is contained in:
alydev 2026-05-01 08:59:48 +10:00
parent a6481e7b9a
commit 965a736f84
59 changed files with 4112 additions and 5059 deletions

View file

@ -1,4 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Dalamud.Bindings.ImGui;
@ -45,9 +44,6 @@ internal sealed class QuestJournalUtils
public void ShowContextMenu(IQuestInfo questInfo, Quest? quest, string label)
{
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
if (ImGui.IsItemClicked(ImGuiMouseButton.Right))
{
ImU8String strId = new ImU8String(12, 1);
@ -55,90 +51,68 @@ internal sealed class QuestJournalUtils
strId.AppendFormatted(questInfo.QuestId);
ImGui.OpenPopup(strId);
}
ImU8String imU8String = new ImU8String(12, 1);
imU8String.AppendLiteral("##QuestPopup");
imU8String.AppendFormatted(questInfo.QuestId);
PopupDisposable val = ImRaii.Popup(imU8String);
try
ImU8String id = new ImU8String(12, 1);
id.AppendLiteral("##QuestPopup");
id.AppendFormatted(questInfo.QuestId);
using ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(id);
if (!popupDisposable)
{
if (!val)
return;
}
using (ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) || quest == null || quest.Root.Disabled))
{
if (ImGui.MenuItem("Start as next quest"))
{
return;
}
DisabledDisposable val2 = ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) || quest == null || quest.Root.Disabled);
try
{
if (ImGui.MenuItem("Start as next quest"))
{
_questController.SetNextQuest(quest);
_questController.Start(label);
}
}
finally
{
((IDisposable)val2)?.Dispose();
}
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
{
if (!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId))
{
ImGui.SetTooltip("Quest is not ready to accept");
}
else if (quest == null)
{
ImGui.SetTooltip("Quest has no path available");
}
else if (quest.Root.Disabled)
{
ImGui.SetTooltip("Quest path is disabled");
}
}
List<ElementId> incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo);
val2 = ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0);
try
{
if (ImGui.MenuItem(incompletePrerequisiteQuests.Count switch
{
0 => "Add quest and requirements to priority",
1 => "Add 1 quest to priority",
_ => $"Add {incompletePrerequisiteQuests.Count} quests to priority",
}))
{
AddRequiredQuestsToPriority(questInfo, incompletePrerequisiteQuests);
}
}
finally
{
((IDisposable)val2)?.Dispose();
}
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
{
if (incompletePrerequisiteQuests.Count == 0)
{
ImGui.SetTooltip("No quests to add (quest may be complete, disabled, locked with no unlock path, or already in priority)");
}
else
{
ImGui.SetTooltip((incompletePrerequisiteQuests.Count == 1) ? "Add this quest to the priority list" : $"Add this quest and {incompletePrerequisiteQuests.Count - 1} required {((incompletePrerequisiteQuests.Count - 1 == 1) ? "quest" : "quests")} to the priority list in completion order");
}
}
bool flag = _commandManager.Commands.ContainsKey("/questinfo");
val2 = ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag);
try
{
if (ImGui.MenuItem("View in Quest Map"))
{
_commandManager.ProcessCommand($"/questinfo {questInfo.QuestId}");
}
}
finally
{
((IDisposable)val2)?.Dispose();
_questController.SetNextQuest(quest);
_questController.Start(label);
}
}
finally
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
{
((PopupDisposable)(ref val)).Dispose();
if (!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId))
{
ImGui.SetTooltip("Quest is not ready to accept");
}
else if (quest == null)
{
ImGui.SetTooltip("Quest has no path available");
}
else if (quest.Root.Disabled)
{
ImGui.SetTooltip("Quest path is disabled");
}
}
List<ElementId> incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo);
using (ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0))
{
if (ImGui.MenuItem(incompletePrerequisiteQuests.Count switch
{
0 => "Add quest and requirements to priority",
1 => "Add 1 quest to priority",
_ => $"Add {incompletePrerequisiteQuests.Count} quests to priority",
}))
{
AddRequiredQuestsToPriority(questInfo, incompletePrerequisiteQuests);
}
}
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
{
if (incompletePrerequisiteQuests.Count == 0)
{
ImGui.SetTooltip("No quests to add (quest may be complete, disabled, locked with no unlock path, or already in priority)");
}
else
{
ImGui.SetTooltip((incompletePrerequisiteQuests.Count == 1) ? "Add this quest to the priority list" : $"Add this quest and {incompletePrerequisiteQuests.Count - 1} required {((incompletePrerequisiteQuests.Count - 1 == 1) ? "quest" : "quests")} to the priority list in completion order");
}
}
bool flag = _commandManager.Commands.ContainsKey("/questinfo");
using (ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag))
{
if (ImGui.MenuItem("View in Quest Map"))
{
_commandManager.ProcessCommand($"/questinfo {questInfo.QuestId}");
}
}
}
@ -259,9 +233,6 @@ internal sealed class QuestJournalUtils
internal static void ShowFilterContextMenu(QuestJournalComponent journalUi)
{
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
if (ImGuiComponents.IconButton(FontAwesomeIcon.Filter))
{
ImGui.OpenPopup("QuestFilters");
@ -270,40 +241,32 @@ internal sealed class QuestJournalUtils
{
ImGui.SetTooltip("Filter Options");
}
PopupDisposable val = ImRaii.Popup((ImU8String)"QuestFilters");
try
using ImRaii.PopupDisposable popupDisposable = ImRaii.Popup("QuestFilters");
if (!(bool)popupDisposable)
{
if (!PopupDisposable.op_Implicit(val))
{
return;
}
if ((0u | (ImGui.Checkbox("Available Only", ref journalUi.Filter.AvailableOnly) ? 1u : 0u) | (ImGui.Checkbox("Hide Without Quest Paths", ref journalUi.Filter.HideNoPaths) ? 1u : 0u) | (ImGui.Checkbox("Hide Unobtainable", ref journalUi.Filter.HideUnobtainable) ? 1u : 0u)) != 0)
return;
}
if ((0u | (ImGui.Checkbox("Available Only", ref journalUi.Filter.AvailableOnly) ? 1u : 0u) | (ImGui.Checkbox("Hide Without Quest Paths", ref journalUi.Filter.HideNoPaths) ? 1u : 0u) | (ImGui.Checkbox("Hide Unobtainable", ref journalUi.Filter.HideUnobtainable) ? 1u : 0u)) != 0)
{
journalUi.UpdateFilter();
}
if (journalUi.Filter.AdvancedFiltersActive)
{
ImGui.Separator();
if (ImGui.Button("Clear Filters"))
{
journalUi.Filter.AvailableOnly = false;
journalUi.Filter.HideNoPaths = false;
journalUi.Filter.HideUnobtainable = false;
journalUi.UpdateFilter();
}
if (journalUi.Filter.AdvancedFiltersActive)
{
ImGui.Separator();
if (ImGui.Button("Clear Filters"))
{
journalUi.Filter.AvailableOnly = false;
journalUi.Filter.HideNoPaths = false;
journalUi.Filter.HideUnobtainable = false;
journalUi.UpdateFilter();
}
}
}
finally
{
((PopupDisposable)(ref val)).Dispose();
}
}
public void AddAllAvailableQuests()
{
int num = _questRegistry.AllQuests.Count((Quest quest) => !quest.Root.Disabled && !_questFunctions.IsQuestRemoved(quest.Id) && _questFunctions.IsReadyToAcceptQuest(quest.Id) && !_questFunctions.IsQuestComplete(quest.Id) && !_questFunctions.IsQuestAccepted(quest.Id) && !quest.Info.IsRepeatable && quest.Info.AlliedSociety == EAlliedSociety.None && !(quest.Info is QuestInfo { MoogleDeliveryLevel: >0 }) && !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(quest.Id)));
DisabledDisposable val = ImRaii.Disabled(num == 0);
try
using (ImRaii.Disabled(num == 0))
{
if (ImGuiComponents.IconButton(FontAwesomeIcon.ListOl))
{
@ -312,10 +275,6 @@ internal sealed class QuestJournalUtils
_chatGui.Print($"Added {num2} {value} to priority queue.", "Questionable", 576);
}
}
finally
{
((IDisposable)val)?.Dispose();
}
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
{
object obj;