muffin v7.4.19

This commit is contained in:
alydev 2026-03-26 14:57:15 +10:00
parent f82b9ce2a2
commit afafd5e377
9 changed files with 896 additions and 796 deletions

View file

@ -28,6 +28,8 @@ internal sealed class AutomatonIpc : IDisposable
private readonly FateController _fateController;
private readonly SeasonalDutyController _seasonalDutyController;
private readonly TerritoryData _territoryData;
private readonly IClientState _clientState;
@ -44,11 +46,12 @@ internal sealed class AutomatonIpc : IDisposable
private bool _wasFateRunning;
public AutomatonIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<AutomatonIpc> logger)
public AutomatonIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<AutomatonIpc> logger)
{
_configuration = configuration;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_territoryData = territoryData;
_clientState = clientState;
_framework = framework;
@ -65,7 +68,7 @@ internal sealed class AutomatonIpc : IDisposable
{
Task.Run((Action)DisableConflictingTweaks);
}
else if (!_fateController.IsRunning)
else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning)
{
Task.Run((Action)RestoreConflictingTweaks);
}
@ -73,11 +76,11 @@ internal sealed class AutomatonIpc : IDisposable
private void OnFrameworkUpdate(IFramework framework)
{
bool isRunning = _fateController.IsRunning;
if (isRunning != _wasFateRunning)
bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (flag != _wasFateRunning)
{
_wasFateRunning = isRunning;
if (isRunning && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
_wasFateRunning = flag;
if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
{
Task.Run((Action)DisableConflictingTweaks);
}

View file

@ -29,6 +29,8 @@ internal sealed class PandorasBoxIpc : IDisposable
private readonly FateController _fateController;
private readonly SeasonalDutyController _seasonalDutyController;
private readonly TerritoryData _territoryData;
private readonly IClientState _clientState;
@ -45,11 +47,12 @@ internal sealed class PandorasBoxIpc : IDisposable
private bool _wasFateRunning;
public PandorasBoxIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<PandorasBoxIpc> logger)
public PandorasBoxIpc(Configuration configuration, IDalamudPluginInterface pluginInterface, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, TerritoryData territoryData, IClientState clientState, IFramework framework, ILogger<PandorasBoxIpc> logger)
{
_configuration = configuration;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_territoryData = territoryData;
_clientState = clientState;
_framework = framework;
@ -66,7 +69,7 @@ internal sealed class PandorasBoxIpc : IDisposable
{
Task.Run((Action)DisableConflictingFeatures);
}
else if (!_fateController.IsRunning)
else if (!_fateController.IsRunning && !_seasonalDutyController.IsRunning)
{
Task.Run((Action)RestoreConflictingFeatures);
}
@ -74,11 +77,11 @@ internal sealed class PandorasBoxIpc : IDisposable
private void OnFrameworkUpdate(IFramework framework)
{
bool isRunning = _fateController.IsRunning;
if (isRunning != _wasFateRunning)
bool flag = _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (flag != _wasFateRunning)
{
_wasFateRunning = isRunning;
if (isRunning && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
_wasFateRunning = flag;
if (flag && !_territoryData.IsDutyInstance(_clientState.TerritoryType))
{
Task.Run((Action)DisableConflictingFeatures);
}

View file

@ -40,6 +40,8 @@ internal sealed class TextAdvanceIpc : IDisposable
private readonly FateController _fateController;
private readonly SeasonalDutyController _seasonalDutyController;
private readonly Configuration _configuration;
private readonly ICondition _condition;
@ -54,11 +56,12 @@ internal sealed class TextAdvanceIpc : IDisposable
private readonly string _pluginName;
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, FateController fateController, Configuration configuration, ICondition condition)
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, FateController fateController, SeasonalDutyController seasonalDutyController, Configuration configuration, ICondition condition)
{
_framework = framework;
_questController = questController;
_fateController = fateController;
_seasonalDutyController = seasonalDutyController;
_configuration = configuration;
_condition = condition;
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>("TextAdvance.IsInExternalControl");
@ -79,7 +82,7 @@ internal sealed class TextAdvanceIpc : IDisposable
private void OnUpdate(IFramework framework)
{
bool flag = _questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual || _fateController.IsRunning;
bool flag = _questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual || _fateController.IsRunning || _seasonalDutyController.IsRunning;
if (!_configuration.General.ConfigureTextAdvance || !flag)
{
if (_isExternalControlActivated && (_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc()))