muffin v7.5.0

This commit is contained in:
alydev 2026-05-01 05:17:35 +10:00
parent afafd5e377
commit a6481e7b9a
67 changed files with 4281 additions and 2372 deletions

View file

@ -1,3 +1,4 @@
using System;
using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Colors;
using Dalamud.Interface.Components;
@ -15,118 +16,150 @@ internal sealed class DebugConfigComponent : ConfigComponent
public override void DrawTab()
{
using ImRaii.IEndObject endObject = ImRaii.TabItem("Advanced###Debug");
if (!endObject)
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Advanced###Debug");
try
{
return;
}
ImGui.TextColored(ImGuiColors.DalamudRed, "Enabling any option here may cause unexpected behavior. Use at your own risk.");
ImGui.Separator();
DrawChocoboSettings();
ImGui.Separator();
bool v = base.Configuration.Advanced.DebugOverlay;
if (ImGui.Checkbox("Enable debug overlay", ref v))
{
base.Configuration.Advanced.DebugOverlay = v;
Save();
}
using (ImRaii.Disabled(!v))
{
using (ImRaii.PushIndent())
if (!val)
{
bool v2 = base.Configuration.Advanced.CombatDataOverlay;
if (ImGui.Checkbox("Enable combat data overlay", ref v2))
return;
}
ImGui.TextColored(ImGuiColors.DalamudRed, "Enabling any option here may cause unexpected behavior. Use at your own risk.");
ImGui.Separator();
DrawChocoboSettings();
ImGui.Separator();
bool v = base.Configuration.Advanced.DebugOverlay;
if (ImGui.Checkbox("Enable debug overlay", ref v))
{
base.Configuration.Advanced.DebugOverlay = v;
Save();
}
DisabledDisposable val2 = ImRaii.Disabled(!v);
IndentDisposable val3;
try
{
val3 = ImRaii.PushIndent(1, true);
try
{
base.Configuration.Advanced.CombatDataOverlay = v2;
Save();
bool v2 = base.Configuration.Advanced.CombatDataOverlay;
if (ImGui.Checkbox("Enable combat data overlay", ref v2))
{
base.Configuration.Advanced.CombatDataOverlay = v2;
Save();
}
}
finally
{
((IDisposable)val3)?.Dispose();
}
}
finally
{
((IDisposable)val2)?.Dispose();
}
bool v3 = base.Configuration.Advanced.NeverFly;
if (ImGui.Checkbox("Disable flying (even if unlocked for the zone)", ref v3))
{
base.Configuration.Advanced.NeverFly = v3;
Save();
}
bool v4 = base.Configuration.Advanced.AdditionalStatusInformation;
if (ImGui.Checkbox("Draw additional status information", ref v4))
{
base.Configuration.Advanced.AdditionalStatusInformation = v4;
Save();
}
bool v5 = base.Configuration.Advanced.DisablePartyWatchdog;
if (ImGui.Checkbox("Disable Party Watchdog", ref v5))
{
base.Configuration.Advanced.DisablePartyWatchdog = v5;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("The Party Watchdog stops Questionable when entering certain zones with other party members, or when entering unsupported content. Disabling this allows Questionable to continue working while in a party, but may cause unexpected behavior in group content.");
ImGui.Separator();
ImGui.Text("AutoDuty Settings");
val3 = ImRaii.PushIndent(1, true);
try
{
ImGui.AlignTextToFramePadding();
bool v6 = base.Configuration.Advanced.DisableAutoDutyBareMode;
if (ImGui.Checkbox("Use Pre-Loop/Loop/Post-Loop settings", ref v6))
{
base.Configuration.Advanced.DisableAutoDutyBareMode = v6;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Typically, the loop settings for AutoDuty are disabled when running dungeons with Questionable, since they can cause issues (or even shut down your PC).");
}
finally
{
((IDisposable)val3)?.Dispose();
}
ImGui.Separator();
ImGui.Text("Quest/Interaction Skips");
val3 = ImRaii.PushIndent(1, true);
try
{
bool v7 = base.Configuration.Advanced.SkipAetherCurrents;
if (ImGui.Checkbox("Don't pick up aether currents/aether current quests", ref v7))
{
base.Configuration.Advanced.SkipAetherCurrents = v7;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("If not done during the MSQ by Questionable, you have to manually pick up any missed aether currents/quests. There is no way to automatically pick up all missing aether currents.");
bool v8 = base.Configuration.Advanced.SkipClassJobQuests;
if (ImGui.Checkbox("Don't pick up class/job/role quests", ref v8))
{
base.Configuration.Advanced.SkipClassJobQuests = v8;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Class and job skills for A Realm Reborn, Heavensward and (for the Lv70 skills) Stormblood are locked behind quests. Not recommended if you plan on queueing for instances with duty finder/party finder.\n\nNote: This setting is ignored for the first class/job quest if your character is not high enough level to start the level 4 MSQ.");
bool v9 = base.Configuration.Advanced.SkipARealmRebornHardModePrimals;
if (ImGui.Checkbox("Don't pick up ARR hard mode primal quests", ref v9))
{
base.Configuration.Advanced.SkipARealmRebornHardModePrimals = v9;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Hard mode Ifrit/Garuda/Titan are required for the Patch 2.5 quest 'Good Intentions' and to start Heavensward.");
bool v10 = base.Configuration.Advanced.SkipCrystalTowerRaids;
if (ImGui.Checkbox("Don't pick up Crystal Tower quests", ref v10))
{
base.Configuration.Advanced.SkipCrystalTowerRaids = v10;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Crystal Tower raids are required for the Patch 2.55 quest 'A Time to Every Purpose' and to start Heavensward.");
bool v11 = base.Configuration.Advanced.PreventQuestCompletion;
if (ImGui.Checkbox("Prevent quest completion", ref v11))
{
base.Configuration.Advanced.PreventQuestCompletion = v11;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("When enabled, Questionable will not attempt to turn-in and complete quests. This will do everything automatically except the final turn-in step.");
}
finally
{
((IDisposable)val3)?.Dispose();
}
}
bool v3 = base.Configuration.Advanced.NeverFly;
if (ImGui.Checkbox("Disable flying (even if unlocked for the zone)", ref v3))
finally
{
base.Configuration.Advanced.NeverFly = v3;
Save();
}
bool v4 = base.Configuration.Advanced.AdditionalStatusInformation;
if (ImGui.Checkbox("Draw additional status information", ref v4))
{
base.Configuration.Advanced.AdditionalStatusInformation = v4;
Save();
}
bool v5 = base.Configuration.Advanced.DisablePartyWatchdog;
if (ImGui.Checkbox("Disable Party Watchdog", ref v5))
{
base.Configuration.Advanced.DisablePartyWatchdog = v5;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("The Party Watchdog stops Questionable when entering certain zones with other party members, or when entering unsupported content. Disabling this allows Questionable to continue working while in a party, but may cause unexpected behavior in group content.");
ImGui.Separator();
ImGui.Text("AutoDuty Settings");
using (ImRaii.PushIndent())
{
ImGui.AlignTextToFramePadding();
bool v6 = base.Configuration.Advanced.DisableAutoDutyBareMode;
if (ImGui.Checkbox("Use Pre-Loop/Loop/Post-Loop settings", ref v6))
{
base.Configuration.Advanced.DisableAutoDutyBareMode = v6;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Typically, the loop settings for AutoDuty are disabled when running dungeons with Questionable, since they can cause issues (or even shut down your PC).");
}
ImGui.Separator();
ImGui.Text("Quest/Interaction Skips");
using (ImRaii.PushIndent())
{
bool v7 = base.Configuration.Advanced.SkipAetherCurrents;
if (ImGui.Checkbox("Don't pick up aether currents/aether current quests", ref v7))
{
base.Configuration.Advanced.SkipAetherCurrents = v7;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("If not done during the MSQ by Questionable, you have to manually pick up any missed aether currents/quests. There is no way to automatically pick up all missing aether currents.");
bool v8 = base.Configuration.Advanced.SkipClassJobQuests;
if (ImGui.Checkbox("Don't pick up class/job/role quests", ref v8))
{
base.Configuration.Advanced.SkipClassJobQuests = v8;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Class and job skills for A Realm Reborn, Heavensward and (for the Lv70 skills) Stormblood are locked behind quests. Not recommended if you plan on queueing for instances with duty finder/party finder.\n\nNote: This setting is ignored for the first class/job quest if your character is not high enough level to start the level 4 MSQ.");
bool v9 = base.Configuration.Advanced.SkipARealmRebornHardModePrimals;
if (ImGui.Checkbox("Don't pick up ARR hard mode primal quests", ref v9))
{
base.Configuration.Advanced.SkipARealmRebornHardModePrimals = v9;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Hard mode Ifrit/Garuda/Titan are required for the Patch 2.5 quest 'Good Intentions' and to start Heavensward.");
bool v10 = base.Configuration.Advanced.SkipCrystalTowerRaids;
if (ImGui.Checkbox("Don't pick up Crystal Tower quests", ref v10))
{
base.Configuration.Advanced.SkipCrystalTowerRaids = v10;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("Crystal Tower raids are required for the Patch 2.55 quest 'A Time to Every Purpose' and to start Heavensward.");
bool v11 = base.Configuration.Advanced.PreventQuestCompletion;
if (ImGui.Checkbox("Prevent quest completion", ref v11))
{
base.Configuration.Advanced.PreventQuestCompletion = v11;
Save();
}
ImGui.SameLine();
ImGuiComponents.HelpMarker("When enabled, Questionable will not attempt to turn-in and complete quests. This will do everything automatically except the final turn-in step.");
((TabItemDisposable)(ref val)).Dispose();
}
}
private void DrawChocoboSettings()
{
ImGui.Text("Chocobo Settings");
using (ImRaii.PushIndent())
IndentDisposable val = ImRaii.PushIndent(1, true);
try
{
ImGui.AlignTextToFramePadding();
ImGui.Text("Chocobo Name:");
@ -147,6 +180,10 @@ internal sealed class DebugConfigComponent : ConfigComponent
ImGui.SameLine();
ImGuiComponents.HelpMarker("The name to give your chocobo during the 'My Little Chocobo' quest.\nMust be 2-20 characters. First letter will be capitalized.\nIf left empty, defaults to 'Kweh'.");
}
finally
{
((IDisposable)val)?.Dispose();
}
}
private static string FormatChocoboName(string name)