muffin v7.5.13
This commit is contained in:
parent
911ed68baa
commit
acf3e3cb18
69 changed files with 2731 additions and 1425 deletions
|
|
@ -33,7 +33,7 @@ internal static class SinglePlayerDuty
|
|||
public const ushort Naadam = 688;
|
||||
}
|
||||
|
||||
internal sealed class Factory(BossModIpc bossModIpc, WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, Configuration configuration, TerritoryData territoryData, QuestFunctions questFunctions, DutyRetryState dutyRetryState, ICondition condition, IClientState clientState, IObjectTable objectTable) : ITaskFactory
|
||||
internal sealed class Factory(BossModIpc bossModIpc, WrathComboModule wrathComboModule, RotationSolverRebornModule rsrModule, Configuration configuration, TerritoryData territoryData, QuestFunctions questFunctions, GameFunctions gameFunctions, DutyRetryState dutyRetryState, ICondition condition, IClientState clientState, IObjectTable objectTable) : ITaskFactory
|
||||
{
|
||||
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
||||
{
|
||||
|
|
@ -54,7 +54,12 @@ internal static class SinglePlayerDuty
|
|||
byte seqBefore = questProgressInfo?.Sequence ?? 0;
|
||||
IReadOnlyList<byte> varsBefore = questProgressInfo?.Variables.ToArray();
|
||||
dutyRetryState.Reset();
|
||||
List<ITask> dutyTasks = new List<ITask>();
|
||||
List<ITask> dutyTasks = new List<ITask>
|
||||
{
|
||||
new StartSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId),
|
||||
new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(10L)),
|
||||
new WaitCondition.Task(() => !gameFunctions.IsOccupied(), "Wait(solo duty ready)")
|
||||
};
|
||||
if (wrathComboModule.IsAvailable())
|
||||
{
|
||||
dutyTasks.Add(new Duty.EnableWrathForDutyTask());
|
||||
|
|
@ -65,14 +70,12 @@ internal static class SinglePlayerDuty
|
|||
}
|
||||
if (configuration.General.CombatModule == Configuration.ECombatModule.BossMod && bossModIpc.IsSupported())
|
||||
{
|
||||
dutyTasks.Add(new Duty.EnableBossModForDutyTask());
|
||||
dutyTasks.Add(new Duty.EnableBossModForDutyTask(configuration.SinglePlayerDuties.EnableBossModAi));
|
||||
}
|
||||
else if (bossModIpc.IsSupported())
|
||||
{
|
||||
dutyTasks.Add(new Duty.EnableBossModPassiveForDutyTask());
|
||||
dutyTasks.Add(new Duty.EnableBossModPassiveForDutyTask(configuration.SinglePlayerDuties.EnableBossModAi));
|
||||
}
|
||||
dutyTasks.Add(new StartSinglePlayerDuty(contentFinderConditionData.ContentFinderConditionId));
|
||||
dutyTasks.Add(new WaitAtStart.WaitDelay(TimeSpan.FromSeconds(2L)));
|
||||
dutyTasks.Add(new EnableAi());
|
||||
if (contentFinderConditionData.TerritoryId == 1052)
|
||||
{
|
||||
|
|
@ -132,8 +135,6 @@ internal static class SinglePlayerDuty
|
|||
|
||||
internal sealed class StartSinglePlayerDutyExecutor(ICondition condition) : TaskExecutor<StartSinglePlayerDuty>()
|
||||
{
|
||||
private long _enteredAtMs;
|
||||
|
||||
protected override bool Start()
|
||||
{
|
||||
return true;
|
||||
|
|
@ -149,14 +150,6 @@ internal static class SinglePlayerDuty
|
|||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
if (_enteredAtMs == 0L)
|
||||
{
|
||||
_enteredAtMs = Environment.TickCount64;
|
||||
}
|
||||
if (Environment.TickCount64 - _enteredAtMs < 2000)
|
||||
{
|
||||
return ETaskResult.StillRunning;
|
||||
}
|
||||
return ETaskResult.TaskComplete;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue