using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; using LLib.GameData; using Microsoft.Extensions.Logging; using Questionable.Controller.Steps.Common; using Questionable.Model; using Questionable.Model.Questing; namespace Questionable.Controller.Steps.Interactions; internal static class CriticalEncounter { internal sealed class Factory : ITaskFactory { [MethodImpl(MethodImplOptions.NoInlining)] public IEnumerable CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step) { int num = ((_202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(step) == EInteractionType.CriticalEncounter) ? 388534169 : 388534175); bool flag = default(bool); ushort? num5 = default(ushort?); while (true) { int num2 = num; int num3 = 388534174; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 3: return new global::_003C_003Ez__ReadOnlySingleElementList(new WaitForCriticalEncounter(_202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step).Value, _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(step))); case 2: num = ((!flag) ? 388534173 : 388534170); break; case 4: throw _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(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(173883296)); case 1: return Array.Empty(); case 8: num = 388534175; break; case 0: num = ((num5.GetValueOrDefault() != 0) ? 388534171 : 388534168); break; case 5: flag = false; num = 388534172; break; case 6: flag = true; num = 388534172; break; case 7: num5 = _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step); num = ((!num5.HasValue) ? 388534168 : 388534174); break; } } } 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); } static EInteractionType _202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(QuestStep P_0) { return P_0.InteractionType; } static ushort? _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(QuestStep P_0) { return P_0.CriticalEncounterId; } static InvalidOperationException _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(string P_0) { return new InvalidOperationException(P_0); } static string _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(QuestStep P_0) { return P_0.Comment; } } internal sealed record WaitForCriticalEncounter(ushort CriticalEncounterId, string? Comment) : ITask { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(typeof(WaitForCriticalEncounter).TypeHandle); } } [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 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(-1697755405)); defaultInterpolatedStringHandler.AppendFormatted(CriticalEncounterId); 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(1735737295)); return defaultInterpolatedStringHandler.ToStringAndClear(); } [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E(); _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_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(1797121182)); _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, CriticalEncounterId.ToString()); _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_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(161698568)); _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(builder, (object?)Comment); return true; } [CompilerGenerated] public bool Equals(WaitForCriticalEncounter? other) { int num = (((object)this == other) ? 1889807727 : 1889807725); while (true) { int num2 = num; int num3 = 1889807724; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = 1889807725; break; case 6: num = ((!EqualityComparer.Default.Equals(CriticalEncounterId, other.CriticalEncounterId)) ? 1889807720 : 1889807721); break; case 3: return true; case 1: num = (((object)other == null) ? 1889807720 : 1889807724); break; case 5: return EqualityComparer.Default.Equals(Comment, other.Comment); case 4: return false; case 0: num = ((!_200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(EqualityContract, other.EqualityContract)) ? 1889807720 : 1889807722); break; } } } bool IEquatable.Equals(WaitForCriticalEncounter? other) { //ILSpy generated this explicit interface implementation from .override directive in Equals return this.Equals(other); } static Type? _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(RuntimeTypeHandle P_0) { return Type.GetTypeFromHandle(P_0); } static void _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E() { RuntimeHelpers.EnsureSufficientExecutionStack(); } static StringBuilder? _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(StringBuilder? P_0, string? P_1) { return P_0.Append(P_1); } static StringBuilder? _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(StringBuilder? P_0, object? P_1) { return P_0.Append(P_1); } static bool _200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(Type? P_0, Type? P_1) { return P_0 == P_1; } } internal sealed class WaitForCriticalEncounterExecutor(PublicEventHelper publicEventHelper, MovementController movementController, SendNotification.Executor sendNotificationExecutor, ILogger logger) : TaskExecutor() { private long _nextPollAt; private bool _loggedWaiting; private bool _notified; private bool _navigating; [MethodImpl(MethodImplOptions.NoInlining)] protected override bool Start() { _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_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(787186705), new object[1] { base.Task.CriticalEncounterId }); return true; } [MethodImpl(MethodImplOptions.NoInlining)] public override ETaskResult Update() { int num = ((_202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() >= _nextPollAt) ? 547757229 : 547757246); PublicEvent valueOrDefault = default(PublicEvent); PublicEvent? publicEvent = default(PublicEvent?); while (true) { int num2 = num; int num3 = 547757230; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 8: num = (_loggedWaiting ? 547757221 : 547757227); break; case 4: _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000; return ETaskResult.StillRunning; case 1: _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 2000; return ETaskResult.StillRunning; case 12: valueOrDefault = publicEvent.GetValueOrDefault(); num = 547757223; break; case 2: return ETaskResult.TaskComplete; case 16: return ETaskResult.StillRunning; case 0: num = 547757246; break; case 15: num = ((publicEvent.GetValueOrDefault().Id != base.Task.CriticalEncounterId) ? 547757225 : 547757228); break; case 11: _notified = false; _navigating = false; _nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000; return ETaskResult.StillRunning; case 10: num = (_navigating ? 547757226 : 547757216); break; case 14: _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_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(-1192929131), new object[2] { base.Task.CriticalEncounterId, valueOrDefault.Position }); movementController.NavigateTo(EMovementType.Quest, null, valueOrDefault.Position, fly: false, sprint: true, 5f); _navigating = true; num = 547757226; break; case 7: num = ((!valueOrDefault.IsActive) ? 547757220 : 547757231); break; case 6: publicEvent = _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(publicEventHelper); num = ((!publicEvent.HasValue) ? 547757225 : 547757217); break; case 9: num = (_notified ? 547757224 : 547757219); break; case 3: publicEvent = _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(publicEventHelper, EPublicEventType.DynamicEvent, (uint)base.Task.CriticalEncounterId); num = ((!publicEvent.HasValue) ? 547757222 : 547757218); break; case 13: _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_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(1925066438), new object[2] { base.Task.CriticalEncounterId, valueOrDefault.Name }); sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.CriticalEncounter, base.Task.Comment ?? valueOrDefault.Name)); _notified = true; num = 547757224; break; case 5: _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_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(-103389765), new object[1] { base.Task.CriticalEncounterId }); _loggedWaiting = true; num = 547757221; break; } } } public override bool ShouldInterruptOnDamage() { return false; } static void _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } static long _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() { return Environment.TickCount64; } static PublicEvent? _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(PublicEventHelper P_0, EPublicEventType P_1, uint P_2) { return P_0.GetEventById(P_1, P_2); } static void _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogInformation(P_1, P_2); } static PublicEvent? _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(PublicEventHelper P_0) { return P_0.GetCurrentDynamicEvent(); } } }