1
0
Fork 0
forked from aly/qstbak

muffin v7.5.11

This commit is contained in:
alydev 2026-08-17 20:29:32 +10:00
parent addf2d530f
commit 3102923ce2
522 changed files with 41082 additions and 211592 deletions

View file

@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using LLib;
using LLib.Gear;
using Microsoft.Extensions.Logging;
@ -17,168 +14,22 @@ internal static class MeldMateria
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(step) == EInteractionType.MeldMateria) ? (-35265804) : (-35265801));
while (true)
if (step.InteractionType != EInteractionType.MeldMateria)
{
int num2 = num;
int num3 = -35265802;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0048;
case 2:
_200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E((object)_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(87510835));
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MeldTask(_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step).Value, _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(step)));
case 1:
return Array.Empty<ITask>();
}
continue;
IL_0048:
num = -35265801;
return Array.Empty<ITask>();
}
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(QuestStep P_0)
{
return P_0.DataId;
ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId");
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MeldTask(step.ItemId.Value, step.DataId));
}
}
internal sealed record MeldTask(uint MateriaItemId, uint? TargetItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(typeof(MeldTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1811893686));
defaultInterpolatedStringHandler.AppendFormatted(MateriaItemId);
string text = defaultInterpolatedStringHandler.ToStringAndClear();
string text2;
if (!TargetItemId.HasValue)
{
text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-87324410);
}
else
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1399814468));
defaultInterpolatedStringHandler2.AppendFormatted(TargetItemId);
text2 = defaultInterpolatedStringHandler2.ToStringAndClear();
}
return _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(text, text2);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E();
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1788087081));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, MateriaItemId.ToString());
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-902104469));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, TargetItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(MeldTask? other)
{
int num = (((object)this == other) ? (-74015245) : (-74015243));
while (true)
{
int num2 = num;
int num3 = -74015241;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return EqualityComparer<uint?>.Default.Equals(TargetItemId, other.TargetItemId);
case 1:
return false;
case 4:
return true;
case 3:
num = -74015243;
break;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(MateriaItemId, other.MateriaItemId)) ? (-74015242) : (-74015241));
break;
case 5:
num = ((!_206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(EqualityContract, other.EqualityContract)) ? (-74015242) : (-74015247));
break;
case 2:
num = (((object)other == null) ? (-74015242) : (-74015246));
break;
}
}
}
bool IEquatable<MeldTask>.Equals(MeldTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
return $"Meld materia {MateriaItemId}" + (TargetItemId.HasValue ? $" into item {TargetItemId}" : "");
}
}
@ -212,414 +63,172 @@ internal static class MeldMateria
public override bool HasTimedOut(float timeoutSeconds)
{
return _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E() - _stateChangedAt > (long)(timeoutSeconds * 1000f);
return Environment.TickCount64 - _stateChangedAt > (long)(timeoutSeconds * 1000f);
}
private void SetState(EMeldState state)
{
_state = state;
_stateChangedAt = _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E();
_stateChangedAt = Environment.TickCount64;
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_materiaStartCount = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
int num = ((_materiaStartCount != 0) ? (-739386602) : (-739386601));
while (true)
_materiaStartCount = MateriaHelper.CountMateriaInInventory(base.Task.MateriaItemId);
if (_materiaStartCount == 0)
{
int num2 = num;
int num3 = -739386603;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(545128444));
case 4:
SetState(EMeldState.OpeningAgent);
return true;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1528987763), new object[1] { base.Task.MateriaItemId });
return false;
case 0:
num = -739386601;
break;
case 3:
num = (FindTargetItem() ? (-739386607) : (-739386604));
break;
}
logger.LogInformation("Already used materia {MateriaId} or don't have it", base.Task.MateriaItemId);
return false;
}
if (!FindTargetItem())
{
throw new TaskException("Cannot find target item to meld materia into");
}
SetState(EMeldState.OpeningAgent);
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
int num = (_throttle.TryReset(0.5) ? 2029212334 : 2029212339);
int? num9 = default(int?);
int? num8 = default(int?);
int num7 = default(int);
while (true)
if (!_throttle.TryReset(0.5))
{
int num2 = num;
int num3 = 2029212349;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 11:
num = ((!_202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()) ? 2029212348 : 2029212335);
break;
case 22:
SetState(EMeldState.WaitingAfterCategory);
num = 2029212348;
break;
case 24:
goto IL_00fc;
case 23:
num = ((!_206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(num9.Value)) ? 2029212348 : 2029212321);
break;
case 18:
SetState(EMeldState.SelectingCategory);
num = 2029212348;
break;
case 9:
num = 2029212348;
break;
case 3:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-554197545), Array.Empty<object>());
num = 2029212348;
break;
case 12:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1216192232), new object[1] { num8.Value });
SetState(EMeldState.WaitingAfterItem);
num = 2029212348;
break;
case 10:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-15165068), Array.Empty<object>());
SetState(EMeldState.WaitingForCompletion);
num = 2029212348;
break;
case 28:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-775372938), new object[1] { num9.Value });
SetState(EMeldState.WaitingForDialog);
num = 2029212348;
break;
case 7:
num = ((!_206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(num8.Value)) ? 2029212348 : 2029212337);
break;
case 5:
goto IL_025d;
case 20:
SetState(EMeldState.WaitingForAgent);
num = 2029212348;
break;
case 4:
SetState(EMeldState.SelectingItem);
num = 2029212348;
break;
case 26:
goto IL_02ab;
case 14:
return ETaskResult.StillRunning;
case 27:
SetState(EMeldState.Confirming);
num = 2029212348;
break;
case 15:
goto IL_02f5;
case 0:
goto IL_0317;
case 1:
goto IL_0344;
case 21:
goto IL_0346;
case 17:
goto IL_0368;
case 16:
num = 2029212339;
break;
case 13:
goto IL_039c;
case 25:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1073359256), new object[1] { base.Task.MateriaItemId });
num = 2029212348;
break;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1739389446), new object[3]
{
base.Task.MateriaItemId,
_materiaStartCount,
num7
});
_202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E();
return ETaskResult.TaskComplete;
case 6:
SetState(EMeldState.SelectingMateria);
num = 2029212348;
break;
case 19:
num7 = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
num = ((num7 >= _materiaStartCount) ? 2029212341 : 2029212351);
break;
case 8:
{
switch (_state)
{
case EMeldState.WaitingForAgent:
break;
case EMeldState.WaitingAfterItem:
goto IL_00fc;
case EMeldState.WaitingForDialog:
goto IL_025d;
case EMeldState.SelectingMateria:
goto IL_02ab;
case EMeldState.OpeningAgent:
goto IL_02f5;
case EMeldState.SelectingCategory:
goto IL_0317;
case EMeldState.WaitingForCompletion:
goto IL_0344;
case EMeldState.WaitingAfterCategory:
goto IL_0346;
case EMeldState.Confirming:
goto IL_0368;
case EMeldState.SelectingItem:
goto IL_039c;
default:
goto IL_04cf;
}
goto case 11;
}
IL_04cf:
num = 2029212340;
break;
IL_039c:
num8 = _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(_targetItem);
num = (num8.HasValue ? 2029212346 : 2029212350);
break;
IL_025d:
num = ((!_206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(gameGui)) ? 2029212348 : 2029212326);
break;
IL_0368:
num = ((!_206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(gameGui)) ? 2029212348 : 2029212343);
break;
IL_0346:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212345);
break;
IL_00fc:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212347);
break;
IL_0344:
return ETaskResult.StillRunning;
IL_0317:
num = ((!_202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E((int)_206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(_targetInventoryType))) ? 2029212348 : 2029212331);
break;
IL_02f5:
num = ((!_206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()) ? 2029212348 : 2029212329);
break;
IL_02ab:
num9 = _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(base.Task.MateriaItemId);
num = (num9.HasValue ? 2029212330 : 2029212324);
break;
}
return ETaskResult.StillRunning;
}
int num = MateriaHelper.CountMateriaInInventory(base.Task.MateriaItemId);
if (num < _materiaStartCount)
{
logger.LogInformation("Materia {MateriaId} melded successfully ({Old} -> {New})", base.Task.MateriaItemId, _materiaStartCount, num);
MeldActions.CloseMeldAgent();
return ETaskResult.TaskComplete;
}
switch (_state)
{
case EMeldState.OpeningAgent:
if (MeldActions.TryOpenMeldAgent())
{
SetState(EMeldState.WaitingForAgent);
}
break;
case EMeldState.WaitingForAgent:
if (MeldActions.IsMeldAgentReady())
{
SetState(EMeldState.SelectingCategory);
}
break;
case EMeldState.SelectingCategory:
if (MeldActions.TrySelectItemCategory((int)MeldActions.GetFilterCategory(_targetInventoryType)))
{
SetState(EMeldState.WaitingAfterCategory);
}
break;
case EMeldState.WaitingAfterCategory:
if (!MeldActions.IsAgentLoading())
{
SetState(EMeldState.SelectingItem);
}
break;
case EMeldState.SelectingItem:
{
int? num2 = MeldActions.FindItemIndex(_targetItem);
if (!num2.HasValue)
{
logger.LogWarning("Could not find target item in agent list");
}
else if (MeldActions.TrySelectItem(num2.Value))
{
logger.LogInformation("Selected item at agent index {Index}", num2.Value);
SetState(EMeldState.WaitingAfterItem);
}
break;
}
case EMeldState.WaitingAfterItem:
if (!MeldActions.IsAgentLoading())
{
SetState(EMeldState.SelectingMateria);
}
break;
case EMeldState.SelectingMateria:
{
int? num3 = MeldActions.FindMateriaIndex(base.Task.MateriaItemId);
if (!num3.HasValue)
{
logger.LogWarning("Could not find materia {MateriaId} in agent list", base.Task.MateriaItemId);
}
else if (MeldActions.TrySelectMateria(num3.Value))
{
logger.LogInformation("Selected materia at agent index {Index}", num3.Value);
SetState(EMeldState.WaitingForDialog);
}
break;
}
case EMeldState.WaitingForDialog:
if (MeldActions.IsMeldDialogReady(gameGui))
{
SetState(EMeldState.Confirming);
}
break;
case EMeldState.Confirming:
if (MeldActions.TryConfirmMeld(gameGui))
{
logger.LogInformation("Confirmed meld");
SetState(EMeldState.WaitingForCompletion);
}
break;
}
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool FindTargetItem()
{
InventoryManager* ptr = InventoryManager.Instance();
int num = ((ptr != null) ? (-1479293445) : (-1479293444));
int num5 = default(int);
ReadOnlySpan<InventoryType> readOnlySpan = default(ReadOnlySpan<InventoryType>);
InventoryType inventoryType = default(InventoryType);
InventoryContainer* inventoryContainer = default(InventoryContainer*);
int num6 = default(int);
InventoryItem* inventorySlot = default(InventoryItem*);
while (true)
if (ptr == null)
{
int num2 = num;
int num3 = -1479293451;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
return false;
}
ReadOnlySpan<InventoryType> readOnlySpan = new InventoryType[15]
{
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4,
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings
};
for (int i = 0; i < readOnlySpan.Length; i++)
{
InventoryType inventoryType = readOnlySpan[i];
InventoryContainer* inventoryContainer = ptr->GetInventoryContainer(inventoryType);
if (inventoryContainer == null)
{
case 7:
{
int num10 = num5;
num3 = 1;
num4 = num10;
int num11 = num4 ^ num3;
int num12 = num4 & num3;
num5 = num11 + (num12 + num12);
num = -1479293456;
break;
continue;
}
case 5:
num = ((num5 < readOnlySpan.Length) ? (-1479293442) : (-1479293455));
break;
case 11:
inventoryType = readOnlySpan[num5];
inventoryContainer = ptr->GetInventoryContainer(inventoryType);
num = ((inventoryContainer == null) ? (-1479293454) : (-1479293452));
break;
case 1:
num6 = 0;
num = -1479293441;
break;
case 13:
_targetItem = inventorySlot;
_targetInventoryType = inventoryType;
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1804696669), new object[3]
{
inventorySlot->ItemId,
inventoryType,
num6
});
return true;
case 12:
num = -1479293444;
break;
case 2:
inventorySlot = inventoryContainer->GetInventorySlot(num6);
num = ((inventorySlot == null) ? (-1479293450) : (-1479293443));
break;
case 14:
readOnlySpan = new InventoryType[15]
{
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4,
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings
};
num5 = 0;
num = -1479293456;
break;
case 0:
num = ((inventorySlot->ItemId != base.Task.TargetItemId.Value) ? (-1479293450) : (-1479293448));
break;
case 4:
return false;
case 9:
return false;
case 6:
num = ((!base.Task.TargetItemId.HasValue) ? (-1479293448) : (-1479293451));
break;
case 10:
num = ((num6 < inventoryContainer->Size) ? (-1479293449) : (-1479293454));
break;
case 3:
for (int j = 0; j < inventoryContainer->Size; j++)
{
int num7 = num6;
num3 = 1;
num4 = num7;
int num8 = num4 ^ num3;
int num9 = num4 & num3;
num6 = num8 + (num9 + num9);
num = -1479293441;
break;
}
case 8:
num = ((inventorySlot->ItemId == 0) ? (-1479293450) : (-1479293453));
break;
InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(j);
if (inventorySlot != null && inventorySlot->ItemId != 0 && (!base.Task.TargetItemId.HasValue || inventorySlot->ItemId == base.Task.TargetItemId.Value))
{
_targetItem = inventorySlot;
_targetInventoryType = inventoryType;
logger.LogInformation("Found target item {ItemId} in {InvType} slot {Slot}", inventorySlot->ItemId, inventoryType, j);
return true;
}
}
}
return false;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E()
{
return Environment.TickCount64;
}
static int _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(uint P_0)
{
return MateriaHelper.CountMateriaInInventory(P_0);
}
static void _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E()
{
MeldActions.CloseMeldAgent();
}
static bool _206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()
{
return MeldActions.TryOpenMeldAgent();
}
static bool _202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()
{
return MeldActions.IsMeldAgentReady();
}
static AgentMateriaAttach.FilterCategory _206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(InventoryType P_0)
{
return MeldActions.GetFilterCategory(P_0);
}
static bool _202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E(int P_0)
{
return MeldActions.TrySelectItemCategory(P_0);
}
static bool _200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E()
{
return MeldActions.IsAgentLoading();
}
unsafe static int? _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(InventoryItem* P_0)
{
return MeldActions.FindItemIndex(P_0);
}
static void _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(int P_0)
{
return MeldActions.TrySelectItem(P_0);
}
static int? _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(uint P_0)
{
return MeldActions.FindMateriaIndex(P_0);
}
static bool _206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(int P_0)
{
return MeldActions.TrySelectMateria(P_0);
}
static bool _206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(IGameGui P_0)
{
return MeldActions.IsMeldDialogReady(P_0);
}
static bool _206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(IGameGui P_0)
{
return MeldActions.TryConfirmMeld(P_0);
}
}
}