muffin v7.5.5

This commit is contained in:
alydev 2026-08-17 20:25:32 +10:00
parent a8f2c1df37
commit 6266f9e6b7
110 changed files with 14907 additions and 6073 deletions

View file

@ -31,7 +31,7 @@ internal static class Duty
if (autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions))
{
AutoDutyIpc.DutyMode dutyMode = GetDutyMode(step.DutyOptions.ContentFinderConditionId, step.DutyOptions.DutyMode);
if (dutyMode == AutoDutyIpc.DutyMode.UnsyncRegular && (step.DutyOptions.DutyMode == EDutyMode.UnsyncParty || (!step.DutyOptions.DutyMode.HasValue && configuration.Duties.DutyModeOverrides.TryGetValue(step.DutyOptions.ContentFinderConditionId, out var value) && value == EDutyMode.UnsyncParty) || (!step.DutyOptions.DutyMode.HasValue && !configuration.Duties.DutyModeOverrides.ContainsKey(step.DutyOptions.ContentFinderConditionId) && configuration.Duties.DefaultDutyMode == EDutyMode.UnsyncParty)))
if (dutyMode == AutoDutyIpc.DutyMode.UnsyncRegular && (step.DutyOptions.DutyMode == EDutyMode.UnsyncParty || (!step.DutyOptions.DutyMode.HasValue && configuration.Duties.DutyModeOverrides.TryGetValue(step.DutyOptions.ContentFinderConditionId, out var value) && value == Configuration.EDutyMode.UnsyncParty) || (!step.DutyOptions.DutyMode.HasValue && !configuration.Duties.DutyModeOverrides.ContainsKey(step.DutyOptions.ContentFinderConditionId) && configuration.Duties.DefaultDutyMode == Configuration.EDutyMode.UnsyncParty)))
{
yield return new WaitForPartyTask();
}
@ -71,6 +71,17 @@ internal static class Duty
_ => AutoDutyIpc.DutyMode.Support,
};
}
private static AutoDutyIpc.DutyMode ConvertToAutoDutyMode(Configuration.EDutyMode mode)
{
return mode switch
{
Configuration.EDutyMode.Support => AutoDutyIpc.DutyMode.Support,
Configuration.EDutyMode.UnsyncSolo => AutoDutyIpc.DutyMode.UnsyncRegular,
Configuration.EDutyMode.UnsyncParty => AutoDutyIpc.DutyMode.UnsyncRegular,
_ => AutoDutyIpc.DutyMode.Support,
};
}
}
internal sealed record WaitForPartyTask : ITask

View file

@ -56,7 +56,10 @@ internal static class Interact
{
yield break;
}
ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId");
if (!step.DataId.HasValue)
{
yield break;
}
if (sequence.Sequence == 0 && sequence.Steps.IndexOf(step) == 0)
{
yield return new WaitAtEnd.WaitDelay();
@ -72,22 +75,21 @@ internal static class Interact
SkipStepConditions stepIf = skipConditions.StepIf;
if (stepIf != null && stepIf.Never)
{
goto IL_025f;
goto IL_025d;
}
}
if (step.InteractionType != EInteractionType.PurchaseItem)
{
skipMarkerCheck = ((step.DataId == 1052475) ? 1 : 0);
goto IL_0260;
goto IL_025e;
}
}
goto IL_025f;
IL_0260:
yield return new Task(value, quest, interactionType2, (byte)skipMarkerCheck != 0, step.PickUpItemId ?? step.GCPurchase?.ItemId, step.TaxiStandId, step.SkipConditions?.StepIf, step.CompletionQuestVariablesFlags);
yield break;
IL_025f:
goto IL_025d;
IL_025d:
skipMarkerCheck = 1;
goto IL_0260;
goto IL_025e;
IL_025e:
yield return new Task(value, quest, interactionType2, (byte)skipMarkerCheck != 0, step.PickUpItemId ?? step.GCPurchase?.ItemId, step.TaxiStandId, step.SkipConditions?.StepIf, step.CompletionQuestVariablesFlags);
}
}
@ -228,20 +230,11 @@ internal static class Interact
}
_needsUnmount = false;
}
EStatus? completionStatusId = base.Task.CompletionStatusId;
if (completionStatusId.HasValue)
{
EStatus valueOrDefault = completionStatusId.GetValueOrDefault();
if (gameFunctions.HasStatus(valueOrDefault))
{
return ETaskResult.TaskComplete;
}
}
uint? pickUpItemId = base.Task.PickUpItemId;
if (pickUpItemId.HasValue)
{
uint valueOrDefault2 = pickUpItemId.GetValueOrDefault();
if (InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault2, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0)
uint valueOrDefault = pickUpItemId.GetValueOrDefault();
if (InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0)
{
return ETaskResult.TaskComplete;
}
@ -251,8 +244,8 @@ internal static class Interact
byte? taxiStandId = base.Task.TaxiStandId;
if (taxiStandId.HasValue)
{
byte valueOrDefault3 = taxiStandId.GetValueOrDefault();
if (UIState.Instance()->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault3 + 1179648)))
byte valueOrDefault2 = taxiStandId.GetValueOrDefault();
if (UIState.Instance()->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault2 + 1179648)))
{
return ETaskResult.TaskComplete;
}