using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; using System.Text; using Dalamud.Game.ClientState.Objects.SubKinds; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Client.Game; using LLib.Fishing; using LLib.GameData; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; using Questionable.Controller.Utils; using Questionable.Data; using Questionable.External; using Questionable.Functions; using Questionable.Model; using Questionable.Model.Questing; namespace Questionable.Controller.Steps.Shared; internal static class Fish { internal sealed class Factory(AutoHookIpc autoHookIpc) : ITaskFactory { [CompilerGenerated] private sealed class _003CCreateAllTasks_003Ed__2 : IEnumerable, IEnumerable, IEnumerator, IEnumerator, IDisposable { private int _003C_003E1__state; private ITask _003C_003E2__current; private int _003C_003El__initialThreadId; private QuestStep step; public QuestStep _003C_003E3__step; public Factory _003C_003E4__this; private Quest quest; public Quest _003C_003E3__quest; private IEnumerator _003C_003E7__wrap1; ITask IEnumerator.Current { [DebuggerHidden] get { return _003C_003E2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return _003C_003E2__current; } } [DebuggerHidden] public _003CCreateAllTasks_003Ed__2(int _003C_003E1__state) { this._003C_003E1__state = _003C_003E1__state; _003C_003El__initialThreadId = _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E(); } [DebuggerHidden] void IDisposable.Dispose() { int num = _003C_003E1__state; int num2 = ((num == -3) ? 1506831734 : 1506831733); while (true) { int num3 = num2; int num4 = 1506831732; int num5 = num3; switch ((num5 | num4) - (num5 & num4)) { default: continue; case 0: num2 = 1506831733; continue; case 1: if (num == 4) { num2 = 1506831734; continue; } break; case 2: try { } finally { _003C_003Em__Finally1(); } break; } break; } _003C_003E7__wrap1 = null; _003C_003E1__state = -2; } private bool MoveNext() { try { int num = _003C_003E1__state; Factory factory = _003C_003E4__this; int num2; switch (num) { default: num2 = -1493517574; goto IL_0034; case 0: _003C_003E1__state = -1; num2 = ((_202C_200C_202E_206F_200C_202A_206A_200D_200F_200C_202D_202A_206E_202C_200C_202A_202D_202D_206D_206A_206E_200E_202E_206E_206C_202E_200B_202D_202B_200F_200C_206F_202B_200F_202B_206C_202B_206E_200B_206B_202E(step) == EInteractionType.Fish) ? (-1493517569) : (-1493517576)); goto IL_0034; case 4: goto IL_0153; case 3: goto IL_01aa; case 2: goto IL_01e1; case 1: break; IL_0034: while (true) { int num3 = num2; int num4 = -1493517572; int num5 = num3; int num6 = num5 + num4; int num7 = num5 & num4; switch (num6 - (num7 + num7)) { case 0: num2 = -1493517574; break; case 4: return false; case 3: goto IL_00ad; case 9: _003C_003E2__current = new Mount.UnmountTask(); _003C_003E1__state = 1; return true; case 7: goto end_IL_0034; case 8: goto IL_012b; case 1: goto IL_0153; case 5: { GatheredItem current = _003C_003E7__wrap1.Current; _003C_003E2__current = new FishTask(quest, current, _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(step)); _003C_003E1__state = 4; return true; } case 11: goto IL_01aa; case 10: goto IL_01e1; case 6: return false; case 13: goto end_IL_000f; case 12: return false; case 2: _003C_003Em__Finally1(); _003C_003E7__wrap1 = null; return false; } continue; IL_012b: num2 = (_202C_206E_202C_200D_206F_200F_200B_200C_200E_202D_200C_206E_202E_200C_200C_206D_206A_202A_202C_206D_202C_200D_202C_206A_206A_206B_200F_200E_202A_200D_202E_200C_200E_202C_200C_200D_206A_206F_202D_206E_202E((IEnumerator)_003C_003E7__wrap1) ? (-1493517575) : (-1493517570)); continue; IL_00ad: num2 = (factory.autoHookIpc.IsAvailable() ? (-1493517579) : (-1493517584)); continue; end_IL_0034: break; } goto case 0; IL_01e1: _003C_003E1__state = -1; _003C_003E2__current = new FishTask(quest, _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(step).FirstOrDefault(), _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(step)); _003C_003E1__state = 3; return true; IL_01aa: _003C_003E1__state = -1; _003C_003E7__wrap1 = _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(step).Skip(1).GetEnumerator(); _003C_003E1__state = -3; num2 = -1493517580; goto IL_0034; IL_0153: _003C_003E1__state = -3; num2 = -1493517580; goto IL_0034; end_IL_000f: break; } _003C_003E1__state = -1; _003C_003E2__current = new SwitchClassJob.Task(EClassJob.Fisher); _003C_003E1__state = 2; return true; } catch { //try-fault ((IDisposable)this).Dispose(); throw; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void _003C_003Em__Finally1() { _003C_003E1__state = -1; int num = ((_003C_003E7__wrap1 == null) ? 1081455461 : 1081455462); while (true) { int num2 = num; int num3 = 1081455460; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return; case 2: _202C_200B_206C_200C_200F_200F_200F_200B_200C_206D_202E_206E_200E_200B_206D_206B_206A_206E_206B_206D_200F_206D_202D_200C_206D_200B_202D_202D_200D_202A_200E_206B_200C_202D_200F_206D_202B_206D_206C_206C_202E((IDisposable)_003C_003E7__wrap1); num = 1081455461; break; case 0: num = 1081455462; break; } } } [DebuggerHidden] void IEnumerator.Reset() { throw _206F_200C_200C_200C_200C_206A_202A_206E_200D_200D_200E_200D_200E_202B_206B_200E_206B_202E_206D_200D_206F_202E_202A_200C_202B_202C_200F_202D_200C_206B_200F_200F_206E_202C_202D_206E_202E_206B_200D_206E_202E(); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { int num = ((_003C_003E1__state != -2) ? 1872162257 : 1872162261); _003CCreateAllTasks_003Ed__2 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__2); while (true) { int num2 = num; int num3 = 1872162257; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: num = 1872162261; break; case 4: num = ((_003C_003El__initialThreadId != _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E()) ? 1872162257 : 1872162256); break; case 0: _003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__2(0) { _003C_003E4__this = _003C_003E4__this }; num = 1872162259; break; case 2: _003CCreateAllTasks_003Ed__.quest = _003C_003E3__quest; _003CCreateAllTasks_003Ed__.step = _003C_003E3__step; return _003CCreateAllTasks_003Ed__; case 1: _003C_003E1__state = 0; _003CCreateAllTasks_003Ed__ = this; num = 1872162259; break; } } } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)this).GetEnumerator(); } static int _202E_202B_202D_200E_206D_202B_200E_202B_200B_202D_200B_206F_202A_200C_200E_206B_200F_206E_206B_206B_200B_202E_202E_206C_206F_202E_202C_202D_202E_202E_202D_202B_202A_202B_200E_206D_200E_200B_206B_206F_202E() { return Environment.CurrentManagedThreadId; } static EInteractionType _202C_200C_202E_206F_200C_202A_206A_200D_200F_200C_202D_202A_206E_202C_200C_202A_202D_202D_206D_206A_206E_200E_202E_206E_206C_202E_200B_202D_202B_200F_200C_206F_202B_200F_202B_206C_202B_206E_200B_206B_202E(QuestStep P_0) { return P_0.InteractionType; } static List _200E_202A_202B_202E_200D_202E_200B_202D_206B_206C_200C_206A_206F_206A_202E_200B_200B_206B_206A_206A_206F_200D_200F_206B_200B_206B_206B_206A_206E_202C_200E_202E_200F_202B_206D_206F_200B_200D_202D_202B_202E(QuestStep P_0) { return P_0.ItemsToGather; } static List _202D_206E_200F_206D_202A_202D_202C_200E_200D_206D_200F_202B_200B_200C_206A_202E_206E_200E_206E_200F_202A_206A_202C_200D_206E_206A_202A_202C_200C_200E_206B_206B_200B_202A_200E_206A_206A_200C_206C_206C_202E(QuestStep P_0) { return P_0.CompletionQuestVariablesFlags; } static bool _202C_206E_202C_200D_206F_200F_200B_200C_200E_202D_200C_206E_202E_200C_200C_206D_206A_202A_202C_206D_202C_200D_202C_206A_206A_206B_200F_200E_202A_200D_202E_200C_200E_202C_200C_200D_206A_206F_202D_206E_202E(IEnumerator P_0) { return P_0.MoveNext(); } static void _202C_200B_206C_200C_200F_200F_200F_200B_200C_206D_202E_206E_200E_200B_206D_206B_206A_206E_206B_206D_200F_206D_202D_200C_206D_200B_202D_202D_200D_202A_200E_206B_200C_202D_200F_206D_202B_206D_206C_206C_202E(IDisposable P_0) { P_0.Dispose(); } static NotSupportedException _206F_200C_200C_200C_200C_206A_202A_206E_200D_200D_200E_200D_200E_202B_206B_200E_206B_202E_206D_200D_206F_202E_202A_200C_202B_202C_200F_202D_200C_206B_200F_200F_206E_202C_202D_206E_202E_206B_200D_206E_202E() { return new NotSupportedException(); } } [IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__2))] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new _003CCreateAllTasks_003Ed__2(-2) { _003C_003E4__this = this, _003C_003E3__quest = quest, _003C_003E3__step = step }; } IEnumerable 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); } } internal sealed record FishTask(Quest Quest, GatheredItem? GatheredItem, IList CompletionQuestVariablesFlags) : ITask { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return _202D_202B_200F_200F_200F_202D_206D_200F_206E_206E_206D_200B_206D_206A_202D_202E_202A_206C_202D_206D_206F_200F_200F_206A_206F_200C_206F_202B_200B_200C_202C_202D_202C_200C_200E_206F_206B_206E_200D_206A_202E(typeof(FishTask).TypeHandle); } } public bool HasCompletionQuestVariablesFlags { get; } = QuestWorkUtils.HasCompletionFlags(CompletionQuestVariablesFlags); [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { string text = 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(-1580376260); string obj = (HasCompletionQuestVariablesFlags ? 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(626978395) : 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(-1720149641)); string text2; if (GatheredItem == null) { text2 = 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(-1694032531); } else { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(4, 2); defaultInterpolatedStringHandler.AppendLiteral(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(-1824588032)); defaultInterpolatedStringHandler.AppendFormatted(_200D_202D_202C_200F_202A_206A_200C_200C_202E_200B_206C_202E_206B_206C_200D_200B_202A_202B_200D_202D_206C_200D_200D_206E_206F_206B_202A_200E_200D_200C_206E_206D_200C_206C_200C_202A_200E_200E_206F_200D_202E(GatheredItem)); defaultInterpolatedStringHandler.AppendLiteral(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(350814621)); defaultInterpolatedStringHandler.AppendFormatted(_206C_202A_206E_206C_200D_202A_206F_206C_200E_200B_200E_206D_200C_202B_202C_206F_200E_206F_200B_206F_202B_206D_202A_200B_200B_206D_200F_206F_202E_202B_206C_202D_200C_206C_206E_202E_206A_206A_202C_200E_202E(GatheredItem)); defaultInterpolatedStringHandler.AppendLiteral(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(444206578)); text2 = defaultInterpolatedStringHandler.ToStringAndClear(); } return _200D_202D_202E_206B_200B_202C_202C_200E_202E_202C_200C_200C_206E_202B_206C_200B_200D_200D_206D_202C_200C_200C_202C_200E_206B_206E_206A_202B_206A_200C_200B_200C_206F_206D_200F_202A_202A_200B_206B_206F_202E(text, obj, text2); } [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { _200F_206E_202E_202D_202A_206E_200B_202B_206C_202D_202E_200E_200C_200B_206A_200E_200B_202A_206B_206F_206F_202D_202A_206E_200C_200D_200B_206E_206F_206E_206B_200C_200C_202C_206D_202A_202E_202A_202B_206B_202E(); _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, 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(-501301525)); _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)Quest); _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_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(2119160719)); _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)GatheredItem); _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_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(1627383089)); _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(builder, (object)CompletionQuestVariablesFlags); _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, 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(1417236057)); _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(builder, HasCompletionQuestVariablesFlags.ToString()); return true; } [CompilerGenerated] public bool Equals(FishTask? other) { int num = (((object)this == other) ? 2038737400 : 2038737406); while (true) { int num2 = num; int num3 = 2038737403; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 4: num = 2038737406; break; case 3: return true; case 6: return false; case 0: num = ((!EqualityComparer.Default.Equals(GatheredItem, other.GatheredItem)) ? 2038737405 : 2038737402); break; case 5: num = (((object)other == null) ? 2038737405 : 2038737401); break; case 8: num = ((!EqualityComparer.Default.Equals(Quest, other.Quest)) ? 2038737405 : 2038737403); break; case 2: num = ((!_206F_200B_200C_202B_200F_200D_206D_200D_200F_206A_200B_202D_202C_206D_206B_206D_200E_202B_200C_202D_200D_200E_200C_206C_202C_202C_200D_206F_202E_202C_206A_202B_200F_200E_202A_200B_200D_200E_202E_206A_202E(EqualityContract, other.EqualityContract)) ? 2038737405 : 2038737395); break; case 1: num = ((!EqualityComparer>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags)) ? 2038737405 : 2038737404); break; case 7: return EqualityComparer.Default.Equals(HasCompletionQuestVariablesFlags, other.HasCompletionQuestVariablesFlags); } } } bool IEquatable.Equals(FishTask? other) { //ILSpy generated this explicit interface implementation from .override directive in Equals return this.Equals(other); } static Type _202D_202B_200F_200F_200F_202D_206D_200F_206E_206E_206D_200B_206D_206A_202D_202E_202A_206C_202D_206D_206F_200F_200F_206A_206F_200C_206F_202B_200B_200C_202C_202D_202C_200C_200E_206F_206B_206E_200D_206A_202E(RuntimeTypeHandle P_0) { return Type.GetTypeFromHandle(P_0); } static int _200D_202D_202C_200F_202A_206A_200C_200C_202E_200B_206C_202E_206B_206C_200D_200B_202A_202B_200D_202D_206C_200D_200D_206E_206F_206B_202A_200E_200D_200C_206E_206D_200C_206C_200C_202A_200E_200E_206F_200D_202E(GatheredItem P_0) { return P_0.ItemCount; } static uint _206C_202A_206E_206C_200D_202A_206F_206C_200E_200B_200E_206D_200C_202B_202C_206F_200E_206F_200B_206F_202B_206D_202A_200B_200B_206D_200F_206F_202E_202B_206C_202D_200C_206C_206E_202E_206A_206A_202C_200E_202E(GatheredItem P_0) { return P_0.ItemId; } static string _200D_202D_202E_206B_200B_202C_202C_200E_202E_202C_200C_200C_206E_202B_206C_200B_200D_200D_206D_202C_200C_200C_202C_200E_206B_206E_206A_202B_206A_200C_200B_200C_206F_206D_200F_202A_202A_200B_206B_206F_202E(string P_0, string P_1, string P_2) { return P_0 + P_1 + P_2; } static void _200F_206E_202E_202D_202A_206E_200B_202B_206C_202D_202E_200E_200C_200B_206A_200E_200B_202A_206B_206F_206F_202D_202A_206E_200C_200D_200B_206E_206F_206E_206B_200C_200C_202C_206D_202A_202E_202A_202B_206B_202E() { RuntimeHelpers.EnsureSufficientExecutionStack(); } static StringBuilder _202C_200B_202E_200E_202C_206C_202C_202D_206E_206C_206F_202D_206B_202B_202B_206D_200D_200C_200E_202E_206C_200C_200D_206A_202B_200F_202A_202D_206D_200B_206B_202A_206F_200B_200C_202B_202A_200B_202C_202E_202E(StringBuilder P_0, string P_1) { return P_0.Append(P_1); } static StringBuilder _206D_202A_200B_200F_202D_200B_200E_206B_206B_206F_206E_206B_202C_200D_202B_200F_200B_206C_200E_202D_202A_200D_200F_202B_202B_202D_206F_206F_200D_206D_206A_200D_200B_200D_202D_202C_200C_202E_202B_200D_202E(StringBuilder P_0, object P_1) { return P_0.Append(P_1); } static bool _206F_200B_200C_202B_200F_200D_206D_200D_200F_206A_200B_202D_202C_206D_206B_206D_200E_202B_200C_202D_200D_200E_200C_206C_202C_202C_200D_206F_202E_202C_206A_202B_200F_200E_202A_200B_200D_200E_202E_206A_202E(Type P_0, Type P_1) { return P_0 == P_1; } } internal sealed class DoFish(AutoHookIpc autoHookIpc, QuestFunctions questFunctions, IObjectTable objectTable, IChatGui chatGui, SendNotification.Executor sendNotificationExecutor, ILogger logger) : TaskExecutor(), IStoppableTaskExecutor, ITaskExecutor { private readonly bool _wasAutoHookEnabled = autoHookIpc.GetPluginState(); private bool _started; private bool _cleanupDone; [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { int num = ((!HasRequestedItem(base.Task.GatheredItem)) ? 1782485071 : 1782485057); string value = default(string); while (true) { int num2 = num; int num3 = 1782485064; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 10: num = 1782485057; break; case 2: throw new TaskException(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(2028014185)); case 4: _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_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(-1855558187), Array.Empty()); return false; case 0: { _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_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(704472200), new object[1] { base.Task.Quest.Id }); DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(34, 1); defaultInterpolatedStringHandler.AppendLiteral(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(807535051)); defaultInterpolatedStringHandler.AppendFormatted(base.Task.Quest.Id); throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); } case 6: _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_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(-1839561848), new object[1] { base.Task.Quest.Id }); autoHookIpc.CreateAndSelectAnonymousPreset(value); OrientToWater(); autoHookIpc.SetAutoStartFishing(enabled: true); _started = true; return true; case 7: num = ((!HasMatchingCompletionQuestWork()) ? 1782485065 : 1782485068); break; case 9: _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_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(-2069167777), Array.Empty()); return false; case 8: _206B_200E_200D_200D_200F_200B_206C_206D_202B_206C_200F_202E_206B_202B_206D_202A_200D_202D_200E_206E_206D_200C_202D_206F_200E_200C_200E_206D_202B_200D_202E_200D_200B_202A_200C_206A_206A_206C_200C_206B_202E(chatGui, 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(2028014185), 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(1481660241), (ushort?)(ushort)576); num = 1782485066; break; case 1: num = (_wasAutoHookEnabled ? 1782485059 : 1782485067); break; case 3: autoHookIpc.SetPluginState(enabled: true); num = (autoHookIpc.GetPluginState() ? 1782485059 : 1782485069); break; case 5: _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_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(1913024892), new object[1] { 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(-2025711816) }); num = (sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.Fish, 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(774695212))) ? 1782485066 : 1782485056); break; case 11: num = (AutoHookPresetData.FishingPresets.TryGetValue((QuestId)base.Task.Quest.Id, out value) ? 1782485070 : 1782485064); break; } } } [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { int num = ((!HasRequestedItem(base.Task.GatheredItem)) ? (-1288503250) : (-1288503251)); while (true) { int num2 = num; int num3 = -1288503250; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = -1288503251; break; case 1: _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_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(-571223897), Array.Empty()); Cleanup(); return ETaskResult.TaskComplete; case 4: return ETaskResult.StillRunning; case 0: num = ((!HasMatchingCompletionQuestWork()) ? (-1288503254) : (-1288503249)); break; case 3: _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_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(895316843), Array.Empty()); Cleanup(); return ETaskResult.TaskComplete; } } } public void StopNow() { int num = ((!_started) ? (-861812504) : (-861812503)); while (true) { int num2 = num; int num3 = -861812504; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: num = -861812503; break; case 1: Cleanup(); num = -861812504; break; case 0: return; } } } void IStoppableTaskExecutor.StopNow() { //ILSpy generated this explicit interface implementation from .override directive in StopNow this.StopNow(); } public override bool ShouldInterruptOnDamage() { return false; } private bool HasMatchingCompletionQuestWork() { int num = (base.Task.HasCompletionQuestVariablesFlags ? 631430922 : 631430921); QuestProgressInfo questProgressInfo = default(QuestProgressInfo); while (true) { int num2 = num; int num3 = 631430922; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo); case 4: return false; case 0: questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id); num = ((questProgressInfo == null) ? 631430926 : 631430923); break; case 2: num = 631430921; break; case 3: return false; } } } [MethodImpl(MethodImplOptions.NoInlining)] private void Cleanup() { int num = ((!_cleanupDone) ? (-880332252) : (-880332249)); while (true) { int num2 = num; int num3 = -880332251; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0048; case 1: _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E((ILogger)logger, 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(-1552997573), Array.Empty()); autoHookIpc.SetAutoStartFishing(enabled: false); StopFishing(); autoHookIpc.DeleteAllAnonymousPresets(); autoHookIpc.SetPluginState(_wasAutoHookEnabled); _cleanupDone = true; return; case 2: return; } continue; IL_0048: num = -880332249; } } [MethodImpl(MethodImplOptions.NoInlining)] private unsafe void OrientToWater() { IPlayerCharacter playerCharacter = _200B_202C_200B_200B_202D_200F_206B_206D_200F_206A_206B_206F_206D_202D_200E_206E_202A_202C_206B_206C_202A_200E_202B_206B_206A_206B_200B_200C_200D_200E_206E_202D_206F_200B_200E_206C_200F_206C_200F_206F_202E(objectTable); int num = ((playerCharacter != null) ? 2106892356 : 2106892353); (float, Vector3)? tuple = default((float, Vector3)?); while (true) { int num2 = num; int num3 = 2106892352; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_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(-977369121), Array.Empty()); return; case 3: { Vector3 item = tuple.Value.Item2; ActionManager.Instance()->AutoFaceTargetPosition(&item, 0uL); return; } case 1: return; case 2: num = 2106892353; break; case 4: tuple = _202A_202B_200D_200E_206C_206B_202C_200C_206F_206C_200C_200C_206F_202E_202B_206A_202D_202E_202E_202E_206E_200F_206E_202E_202E_200D_200B_202D_200D_200D_202C_206A_200C_200E_206C_206A_200C_200D_202D_200E_202E(_202D_202D_202E_206C_206E_206C_202C_202D_200F_206D_206B_200C_206B_200B_200B_202A_200C_206B_206E_200E_200E_202C_206D_200F_200F_206F_200F_202A_200D_200C_200E_200C_206B_206E_206D_202C_206C_206E_202C_206D_202E((IGameObject)playerCharacter), 36); num = (tuple.HasValue ? 2106892355 : 2106892352); break; } } } private unsafe static void StopFishing() { ActionManager* ptr = ActionManager.Instance(); int num = ((ptr == null) ? 1063786085 : 1063786084); while (true) { int num2 = num; int num3 = 1063786085; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return; case 1: ptr->UseAction(ActionType.Action, 299u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null); num = 1063786085; break; case 2: num = 1063786084; break; } } } static void _206A_200C_202C_202C_202D_206D_200F_202B_202E_202B_202C_206B_200B_206A_200B_200E_206A_200E_200B_206A_202B_206F_202E_200B_200B_206E_200F_202D_202C_200D_202A_202E_200D_202D_206F_200D_206D_206B_202B_206D_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogInformation(P_1, P_2); } static void _200D_202D_206E_202D_206A_206A_206F_202E_200D_206A_202C_206F_202B_206D_206E_202A_202E_206E_202E_206E_206F_202A_200B_200C_202D_200E_206F_202A_202C_206E_200B_206F_206B_202B_200F_200C_200D_202D_206F_202C_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogWarning(P_1, P_2); } static void _206B_200E_200D_200D_200F_200B_206C_206D_202B_206C_200F_202E_206B_202B_206D_202A_200D_202D_200E_206E_206D_200C_202D_206F_200E_200C_200E_206D_202B_200D_202E_200D_200B_202A_200C_206A_206A_206C_200C_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3) { P_0.PrintError(P_1, P_2, P_3); } static void _200E_200F_200B_200B_202C_202B_206F_200E_206B_206F_206D_206D_206C_202E_206B_202B_206F_202E_206A_202E_200D_202C_200D_202B_202B_200B_202B_206A_200C_206F_202C_200B_202C_200B_202B_202D_206D_206C_202E_202C_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } static IPlayerCharacter _200B_202C_200B_200B_202D_200F_206B_206D_200F_206A_206B_206F_206D_202D_200E_206E_202A_202C_206B_206C_202A_200E_202B_206B_206A_206B_200B_200C_200D_200E_206E_202D_206F_200B_200E_206C_200F_206C_200F_206F_202E(IObjectTable P_0) { return P_0.LocalPlayer; } static Vector3 _202D_202D_202E_206C_206E_206C_202C_202D_200F_206D_206B_200C_206B_200B_200B_202A_200C_206B_206E_200E_200E_202C_206D_200F_200F_206F_200F_202A_200D_200C_200E_200C_206B_206E_206D_202C_206C_206E_202C_206D_202E(IGameObject P_0) { return P_0.Position; } static (float, Vector3)? _202A_202B_200D_200E_206C_206B_202C_200C_206F_206C_200C_200C_206F_202E_202B_206A_202D_202E_202E_202E_206E_200F_206E_202E_202E_200D_200B_202D_200D_200D_202C_206A_200C_200E_206C_206A_200C_200D_202D_200E_202E(Vector3 P_0, int P_1) { return WaterSurfaceDetector.FindFishableRotation(P_0, P_1); } } private const uint QuitActionId = 299u; private unsafe static bool HasRequestedItem(GatheredItem? item) { int num = ((item != null) ? 1208879957 : 1208879956); InventoryManager* ptr = default(InventoryManager*); while (true) { int num2 = num; int num3 = 1208879957; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 3: return false; case 2: return ptr->GetInventoryItemCount(_200C_202B_202C_206A_206B_202A_202C_202A_206C_202D_202A_202E_202C_206B_206A_202E_200F_202D_202A_206F_206B_202B_206D_202A_202E_200C_206A_202C_202A_206E_206F_202E_206E_202C_202B_202E_206A_200C_206E_206D_202E(item), isHq: false, checkEquipped: true, checkArmory: true, (short)_202D_206C_206F_202E_206D_206C_202A_200D_206D_202E_206B_200F_202A_202A_200B_206C_206A_206F_206B_206C_202C_200C_202A_206A_202D_200C_206A_206D_200B_200D_202B_202B_206C_200D_206F_206F_202C_206E_206B_202D_202E(item)) >= _206E_200B_206A_206D_200E_202D_206C_202D_206E_206B_206C_206B_202C_206A_206D_200B_206F_206B_206F_200C_202D_202D_206F_206E_200E_202E_206D_206D_200B_200D_202B_200D_206D_202A_202B_206E_200B_200F_206E_202D_202E(item); case 1: return false; case 4: num = 1208879956; break; case 0: ptr = InventoryManager.Instance(); num = ((ptr != null) ? 1208879959 : 1208879958); break; } } } static uint _200C_202B_202C_206A_206B_202A_202C_202A_206C_202D_202A_202E_202C_206B_206A_202E_200F_202D_202A_206F_206B_202B_206D_202A_202E_200C_206A_202C_202A_206E_206F_202E_206E_202C_202B_202E_206A_200C_206E_206D_202E(GatheredItem P_0) { return P_0.ItemId; } static ushort _202D_206C_206F_202E_206D_206C_202A_200D_206D_202E_206B_200F_202A_202A_200B_206C_206A_206F_206B_206C_202C_200C_202A_206A_202D_200C_206A_206D_200B_200D_202B_202B_206C_200D_206F_206F_202C_206E_206B_202D_202E(GatheredItem P_0) { return P_0.Collectability; } static int _206E_200B_206A_206D_200E_202D_206C_202D_206E_206B_206C_206B_202C_206A_206D_200B_206F_206B_206F_200C_202D_202D_206F_206E_200E_202E_206D_206D_200B_200D_202B_200D_206D_202A_202B_206E_200B_200F_206E_202D_202E(GatheredItem P_0) { return P_0.ItemCount; } }