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

@ -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);
}