muffin v7.4.14
This commit is contained in:
parent
78e48294c5
commit
9bf3dbdf69
2 changed files with 28 additions and 8 deletions
|
|
@ -107,11 +107,13 @@ internal static class Interact
|
||||||
|
|
||||||
public SkipStepConditions? SkipConditions { get; init; }
|
public SkipStepConditions? SkipConditions { get; init; }
|
||||||
|
|
||||||
|
public EStatus? RequiredStatusId { get; init; }
|
||||||
|
|
||||||
public List<QuestWorkValue?> CompletionQuestVariablesFlags { get; }
|
public List<QuestWorkValue?> CompletionQuestVariablesFlags { get; }
|
||||||
|
|
||||||
public bool HasCompletionQuestVariablesFlags { get; }
|
public bool HasCompletionQuestVariablesFlags { get; }
|
||||||
|
|
||||||
public Task(uint DataId, Quest? Quest, EInteractionType InteractionType, bool SkipMarkerCheck = false, uint? PickUpItemId = null, byte? TaxiStandId = null, SkipStepConditions? SkipConditions = null, List<QuestWorkValue?>? CompletionQuestVariablesFlags = null)
|
public Task(uint DataId, Quest? Quest, EInteractionType InteractionType, bool SkipMarkerCheck = false, uint? PickUpItemId = null, byte? TaxiStandId = null, SkipStepConditions? SkipConditions = null, List<QuestWorkValue?>? CompletionQuestVariablesFlags = null, EStatus? RequiredStatusId = null)
|
||||||
{
|
{
|
||||||
this.DataId = DataId;
|
this.DataId = DataId;
|
||||||
this.Quest = Quest;
|
this.Quest = Quest;
|
||||||
|
|
@ -120,6 +122,7 @@ internal static class Interact
|
||||||
this.PickUpItemId = PickUpItemId;
|
this.PickUpItemId = PickUpItemId;
|
||||||
this.TaxiStandId = TaxiStandId;
|
this.TaxiStandId = TaxiStandId;
|
||||||
this.SkipConditions = SkipConditions;
|
this.SkipConditions = SkipConditions;
|
||||||
|
this.RequiredStatusId = RequiredStatusId;
|
||||||
this.CompletionQuestVariablesFlags = CompletionQuestVariablesFlags ?? new List<QuestWorkValue>();
|
this.CompletionQuestVariablesFlags = CompletionQuestVariablesFlags ?? new List<QuestWorkValue>();
|
||||||
HasCompletionQuestVariablesFlags = Quest != null && CompletionQuestVariablesFlags != null && QuestWorkUtils.HasCompletionFlags(CompletionQuestVariablesFlags);
|
HasCompletionQuestVariablesFlags = Quest != null && CompletionQuestVariablesFlags != null && QuestWorkUtils.HasCompletionFlags(CompletionQuestVariablesFlags);
|
||||||
base._002Ector();
|
base._002Ector();
|
||||||
|
|
@ -136,7 +139,7 @@ internal static class Interact
|
||||||
}
|
}
|
||||||
|
|
||||||
[CompilerGenerated]
|
[CompilerGenerated]
|
||||||
public void Deconstruct(out uint DataId, out Quest? Quest, out EInteractionType InteractionType, out bool SkipMarkerCheck, out uint? PickUpItemId, out byte? TaxiStandId, out SkipStepConditions? SkipConditions, out List<QuestWorkValue?>? CompletionQuestVariablesFlags)
|
public void Deconstruct(out uint DataId, out Quest? Quest, out EInteractionType InteractionType, out bool SkipMarkerCheck, out uint? PickUpItemId, out byte? TaxiStandId, out SkipStepConditions? SkipConditions, out List<QuestWorkValue?>? CompletionQuestVariablesFlags, out EStatus? RequiredStatusId)
|
||||||
{
|
{
|
||||||
DataId = this.DataId;
|
DataId = this.DataId;
|
||||||
Quest = this.Quest;
|
Quest = this.Quest;
|
||||||
|
|
@ -146,6 +149,7 @@ internal static class Interact
|
||||||
TaxiStandId = this.TaxiStandId;
|
TaxiStandId = this.TaxiStandId;
|
||||||
SkipConditions = this.SkipConditions;
|
SkipConditions = this.SkipConditions;
|
||||||
CompletionQuestVariablesFlags = this.CompletionQuestVariablesFlags;
|
CompletionQuestVariablesFlags = this.CompletionQuestVariablesFlags;
|
||||||
|
RequiredStatusId = this.RequiredStatusId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -224,11 +228,20 @@ internal static class Interact
|
||||||
}
|
}
|
||||||
_needsUnmount = false;
|
_needsUnmount = false;
|
||||||
}
|
}
|
||||||
|
EStatus? requiredStatusId = base.Task.RequiredStatusId;
|
||||||
|
if (requiredStatusId.HasValue)
|
||||||
|
{
|
||||||
|
EStatus valueOrDefault = requiredStatusId.GetValueOrDefault();
|
||||||
|
if (gameFunctions.HasStatus(valueOrDefault))
|
||||||
|
{
|
||||||
|
return ETaskResult.TaskComplete;
|
||||||
|
}
|
||||||
|
}
|
||||||
uint? pickUpItemId = base.Task.PickUpItemId;
|
uint? pickUpItemId = base.Task.PickUpItemId;
|
||||||
if (pickUpItemId.HasValue)
|
if (pickUpItemId.HasValue)
|
||||||
{
|
{
|
||||||
uint valueOrDefault = pickUpItemId.GetValueOrDefault();
|
uint valueOrDefault2 = pickUpItemId.GetValueOrDefault();
|
||||||
if (InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0)
|
if (InventoryManager.Instance()->GetInventoryItemCount(valueOrDefault2, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0)
|
||||||
{
|
{
|
||||||
return ETaskResult.TaskComplete;
|
return ETaskResult.TaskComplete;
|
||||||
}
|
}
|
||||||
|
|
@ -238,8 +251,8 @@ internal static class Interact
|
||||||
byte? taxiStandId = base.Task.TaxiStandId;
|
byte? taxiStandId = base.Task.TaxiStandId;
|
||||||
if (taxiStandId.HasValue)
|
if (taxiStandId.HasValue)
|
||||||
{
|
{
|
||||||
byte valueOrDefault2 = taxiStandId.GetValueOrDefault();
|
byte valueOrDefault3 = taxiStandId.GetValueOrDefault();
|
||||||
if (UIState.Instance()->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault2 + 1179648)))
|
if (UIState.Instance()->IsChocoboTaxiStandUnlocked((uint)(valueOrDefault3 + 1179648)))
|
||||||
{
|
{
|
||||||
return ETaskResult.TaskComplete;
|
return ETaskResult.TaskComplete;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -102,10 +102,17 @@ internal sealed class FateController : MiniTaskController<FateController>
|
||||||
}
|
}
|
||||||
if (_currentFate.RequiredStatusId.HasValue && _currentFate.TransformNpcDataId.HasValue && _currentFate.TransformNpcPosition.HasValue && !_gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
|
if (_currentFate.RequiredStatusId.HasValue && _currentFate.TransformNpcDataId.HasValue && _currentFate.TransformNpcPosition.HasValue && !_gameFunctions.HasStatus(_currentFate.RequiredStatusId.Value))
|
||||||
{
|
{
|
||||||
_logger.LogInformation("Player missing required status {StatusId}, enqueuing transform", _currentFate.RequiredStatusId.Value);
|
ILogger<FateController> logger = _logger;
|
||||||
|
object[] array = new object[1];
|
||||||
|
EStatus? requiredStatusId = _currentFate.RequiredStatusId;
|
||||||
|
array[0] = requiredStatusId.Value;
|
||||||
|
logger.LogInformation("Player missing required status {StatusId}, enqueuing transform", array);
|
||||||
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.TransformNpcPosition.Value, null, 3f));
|
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.TransformNpcPosition.Value, null, 3f));
|
||||||
_taskQueue.Enqueue(new Mount.UnmountTask());
|
_taskQueue.Enqueue(new Mount.UnmountTask());
|
||||||
_taskQueue.Enqueue(new Interact.Task(_currentFate.TransformNpcDataId.Value, null, EInteractionType.Interact, SkipMarkerCheck: true));
|
TaskQueue taskQueue = _taskQueue;
|
||||||
|
uint value = _currentFate.TransformNpcDataId.Value;
|
||||||
|
requiredStatusId = _currentFate.RequiredStatusId.Value;
|
||||||
|
taskQueue.Enqueue(new Interact.Task(value, null, EInteractionType.Interact, SkipMarkerCheck: true, null, null, null, null, requiredStatusId));
|
||||||
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2L)));
|
_taskQueue.Enqueue(new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2L)));
|
||||||
}
|
}
|
||||||
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.Position, null, 5f));
|
_taskQueue.Enqueue(new MoveTask(_currentFate.TerritoryId, _currentFate.Position, null, 5f));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue