Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Pale Automaton v1.0.0
AstrumNova-PaleAutomaton/PaleAutomaton.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using Architect.Behaviour.Utility; using BepInEx; using BepInEx.Configuration; using GlobalEnums; using HarmonyLib; using HutongGames.PlayMaker; using HutongGames.PlayMaker.Actions; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using MonoMod.RuntimeDetour; using Silksong.AssetHelper.ManagedAssets; using Silksong.FsmUtil; using TeamCherry.Localization; using UnityEngine; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("PaleAutomaton")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("0.1.0.0")] [assembly: AssemblyInformationalVersion("0.1.0+3aa37c7e92c44d97f53ea5fd05da19339a77c3cf")] [assembly: AssemblyProduct("PaleAutomaton")] [assembly: AssemblyTitle("PaleAutomaton")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/astrum-nova/PaleAutomaton")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.1.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] [Microsoft.CodeAnalysis.Embedded] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] [Microsoft.CodeAnalysis.Embedded] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace Microsoft.CodeAnalysis { [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace Architect.Behaviour.Utility { public class SceneBorderRemover : MonoBehaviour { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Func<Func<CameraController, bool>, CameraController, bool> <>9__1_0; public static Func<Instruction, bool> <>9__1_2; public static Func<Instruction, bool> <>9__1_3; public static Func<Instruction, bool> <>9__1_4; public static Func<Instruction, bool> <>9__1_5; public static Manipulator <>9__1_1; internal bool <Init>b__1_0(Func<CameraController, bool> orig, CameraController self) { return orig(self) || _count > 0; } internal void <Init>b__1_1(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[3] { (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 0f), (Instruction _) => true, (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 9999f) })) { val.Remove(); val.Emit(OpCodes.Ldc_R4, -9999f); if (val.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 0f) })) { val.Remove(); val.Emit(OpCodes.Ldc_R4, -9999f); } } } internal bool <Init>b__1_2(Instruction instr) { return ILPatternMatchingExt.MatchLdcR4(instr, 0f); } internal bool <Init>b__1_3(Instruction _) { return true; } internal bool <Init>b__1_4(Instruction instr) { return ILPatternMatchingExt.MatchLdcR4(instr, 9999f); } internal bool <Init>b__1_5(Instruction instr) { return ILPatternMatchingExt.MatchLdcR4(instr, 0f); } } private static int _count; public static void Init() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown new Hook((MethodBase)typeof(CameraController).GetProperty("AllowExitingSceneBounds").GetGetMethod(), (Delegate)(Func<Func<CameraController, bool>, CameraController, bool>)((Func<CameraController, bool> orig, CameraController self) => orig(self) || _count > 0)); MethodInfo? method = typeof(CameraTarget).GetMethod("Update"); object obj = <>c.<>9__1_1; if (obj == null) { Manipulator val = delegate(ILContext il) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) ILCursor val2 = new ILCursor(il); if (val2.TryGotoNext((MoveType)0, new Func<Instruction, bool>[3] { (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 0f), (Instruction _) => true, (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 9999f) })) { val2.Remove(); val2.Emit(OpCodes.Ldc_R4, -9999f); if (val2.TryGotoNext((MoveType)0, new Func<Instruction, bool>[1] { (Instruction instr) => ILPatternMatchingExt.MatchLdcR4(instr, 0f) })) { val2.Remove(); val2.Emit(OpCodes.Ldc_R4, -9999f); } } }; <>c.<>9__1_1 = val; obj = (object)val; } new ILHook((MethodBase)method, (Manipulator)obj); } private void OnEnable() { _count++; } private void OnDisable() { _count--; } } } namespace PaleAutomaton { public static class CustomBehaviour { [CompilerGenerated] private sealed class <>c__DisplayClass35_0 { public GameObject corpse; internal void <DeathSequence>b__0() { Extensions.FlipLocalScale(corpse.transform, true, false, false); } internal void <DeathSequence>b__1() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Helpers.TpEffect(corpse: true)); Transform transform = corpse.transform; Vector3 position = corpse.transform.position; position.x = 500000f; transform.position = position; } } [CompilerGenerated] private sealed class <AnticParry>d__36 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private string <currentState>5__1; private PlayMakerFSM <>s__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <AnticParry>d__36(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <currentState>5__1 = null; <>s__2 = null; <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <currentState>5__1 = PaleAutomatonPlugin.controlFsm.ActiveStateName; if (parriedState.Equals(<currentState>5__1)) { return false; } PaleAutomatonPlugin.controlFsm.SetState("Parry Dir"); <>2__current = _waitForSeconds0_15; <>1__state = 1; return true; case 1: { <>1__state = -1; parriedState = <currentState>5__1; <>s__2 = PaleAutomatonPlugin.controlFsm; if (1 == 0) { } string state = ((!(<currentState>5__1 == "Dive Antic")) ? <currentState>5__1 : "Dive Dir"); if (1 == 0) { } <>s__2.SetState(state); <>s__2 = null; return false; } } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <CrossSlashSpam>d__50 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private float <anticTime>5__1; private int <direction>5__2; private Vector3 <hcPos>5__3; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <CrossSlashSpam>d__50(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Expected O, but got Unknown //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Expected O, but got Unknown //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Expected O, but got Unknown //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <anticTime>5__1 = 0.8f; FsmUtil.GetFirstActionOfType<Wait>(PaleAutomatonPlugin.controlFsm, "CS Antic").time = FsmFloat.op_Implicit(<anticTime>5__1); <direction>5__2 = ((!(Random.value > 0.5f)) ? 1 : (-1)); <hcPos>5__3 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__3.x + (float)(3 * <direction>5__2), <hcPos>5__3.y - 2f, "CS Antic", 0.2f, -1f, lookAtHornet: true); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = (object)new WaitForSeconds(<anticTime>5__1 + 0.2f); <>1__state = 2; return true; case 2: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Teleport(<hcPos>5__3.x, <hcPos>5__3.y + 500f, "First Idle")); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = _waitForSeconds0_6; <>1__state = 3; return true; case 3: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = Teleport(<hcPos>5__3.x + (float)(3 * -<direction>5__2), <hcPos>5__3.y - 2f, "CS Antic", 0.2f, -1f, lookAtHornet: true); <>1__state = 4; return true; case 4: <>1__state = -1; <>2__current = (object)new WaitForSeconds(<anticTime>5__1 + 0.2f); <>1__state = 5; return true; case 5: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Teleport(<hcPos>5__3.x, <hcPos>5__3.y + 500f, "First Idle")); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = _waitForSeconds0_6; <>1__state = 6; return true; case 6: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = Teleport(<hcPos>5__3.x + (float)(3 * <direction>5__2), <hcPos>5__3.y - 2f, "CS Antic", 0.2f, -1f, lookAtHornet: true); <>1__state = 7; return true; case 7: <>1__state = -1; <>2__current = (object)new WaitForSeconds(<anticTime>5__1 + 0.2f); <>1__state = 8; return true; case 8: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Teleport(<hcPos>5__3.x, <hcPos>5__3.y + 500f, "First Idle")); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = _waitForSeconds0_6; <>1__state = 9; return true; case 9: <>1__state = -1; <hcPos>5__3 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__3.x, <hcPos>5__3.y, 0f, 0.3f, randomizePosition: true, 1f, csStarter: true, iframes: true)); <>2__current = _waitForSeconds0_6; <>1__state = 10; return true; case 10: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <CrossSlashStarter>d__45 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <CrossSlashStarter>d__45(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = true; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(PaleAutomatonPlugin.songKnight.transform.localScale.x * -9f + PaleAutomatonPlugin.songKnight.transform.position.x, PaleAutomatonPlugin.songKnight.transform.position.y - 2f, 0.05f, 0.15f, randomizePosition: false, 0.7f, csStarter: true)); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(PaleAutomatonPlugin.songKnight.transform.localScale.x * -15f + PaleAutomatonPlugin.songKnight.transform.position.x, PaleAutomatonPlugin.songKnight.transform.position.y - 3f, 0.1f, 0.3f, randomizePosition: false, 0.4f, csStarter: true)); <>2__current = _waitForSeconds0_1; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash A"); <>2__current = _waitForSeconds0_3; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_175; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Dive Dir"); <>2__current = _waitForSeconds0_05; <>1__state = 4; return true; case 4: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_4; <>1__state = 5; return true; case 5: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = false; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <DeathSequence>d__35 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private <>c__DisplayClass35_0 <>8__1; private PlayMakerFSM <corpseFsm>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DeathSequence>d__35(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>8__1 = null; <corpseFsm>5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>8__1 = new <>c__DisplayClass35_0(); <>2__current = _waitForSeconds0_7; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.songKnight = null; GameManager.instance.BeginSceneTransition(new SceneLoadInfo { IsFirstLevelForPlayer = false, SceneName = "Hang_17b", SceneResourceLocation = null, AsyncPriority = 0, HeroLeaveDirection = null, EntryGateName = null, EntryDelay = 0f, EntrySkip = false, PreventCameraFadeOut = false, WaitForSceneTransitionCameraFade = false, Visualization = (SceneLoadVisualizations)0, AlwaysUnloadUnusedAssets = false, ForceWaitFetch = false, TransitionID = 0 }); <>2__current = _waitForSeconds0_4; <>1__state = 2; return true; case 2: { <>1__state = -1; Transform transform = PaleAutomatonPlugin.songKnight.transform; Vector3 position = PaleAutomatonPlugin.songKnight.transform.position; position.x = 500000f; transform.position = position; <>8__1.corpse = ((Component)PaleAutomatonPlugin.songKnight.transform.Find("Corpse Song Knight(Clone)")).gameObject; <>8__1.corpse.SetActive(true); <corpseFsm>5__2 = <>8__1.corpse.GetComponent<PlayMakerFSM>(); <corpseFsm>5__2.SetState("Land"); FsmUtil.GetFirstActionOfType<Tk2dPlayAnimationWithEvents>(<corpseFsm>5__2, "Leave Antic").clipName = FsmString.op_Implicit("Bow"); FsmUtil.RemoveActionsOfType<AudioPlayRandomVoiceFromTableV2>(FsmUtil.GetState(<corpseFsm>5__2, "Leave Antic")); FsmUtil.AddMethod(FsmUtil.GetState(<corpseFsm>5__2, "Leave Antic"), (Action)delegate { Extensions.FlipLocalScale(<>8__1.corpse.transform, true, false, false); }, false); FsmUtil.AddMethod(FsmUtil.GetState(<corpseFsm>5__2, "Leave Jump"), (Action)delegate { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Helpers.TpEffect(corpse: true)); Transform transform2 = <>8__1.corpse.transform; Vector3 position2 = <>8__1.corpse.transform.position; position2.x = 500000f; transform2.position = position2; }, false); <>8__1.corpse.transform.position = new Vector3(50.0426f, 27.0411f, 0.0097f); return false; } } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <DiveIntoCrossSlash>d__48 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private int <direction>5__1; private Vector3 <hcPos>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DiveIntoCrossSlash>d__48(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <direction>5__1 = ((!(Random.value > 0.5f)) ? 1 : (-1)); <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + 8.5f * (float)<direction>5__1, <hcPos>5__2.y + 5f, "Dive Dir"); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = _waitForSeconds0_7; <>1__state = 2; return true; case 2: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + 8.5f * (float)(-<direction>5__1), <hcPos>5__2.y + 5f, "Dive Dir", 0f, 0.2f); <>1__state = 3; return true; case 3: <>1__state = -1; <>2__current = _waitForSeconds0_2; <>1__state = 4; return true; case 4: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x, <hcPos>5__2.y, 0f, 0.4f)); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x - 7f, <hcPos>5__2.y + 7f, 0.05f, 0.45f, randomizePosition: true)); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x + 7f, <hcPos>5__2.y - 7f, 0.1f, 0.5f, randomizePosition: true)); <>2__current = Teleport(<hcPos>5__2.x, <hcPos>5__2.y + 500f, "First Idle", 0f, 0f); <>1__state = 5; return true; case 5: <>1__state = -1; <>2__current = _waitForSeconds0_8; <>1__state = 6; return true; case 6: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + 8.5f * (float)(-<direction>5__1), <hcPos>5__2.y + 5f, "Dive Dir", 0.2f, 0.2f); <>1__state = 7; return true; case 7: <>1__state = -1; <>2__current = _waitForSeconds0_2; <>1__state = 8; return true; case 8: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + 8.5f * (float)<direction>5__1, <hcPos>5__2.y + 5f, "Dive Dir", 0f, 0.2f); <>1__state = 9; return true; case 9: <>1__state = -1; <>2__current = _waitForSeconds0_2; <>1__state = 10; return true; case 10: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x, <hcPos>5__2.y, 0f, 0.4f)); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x + 7f, <hcPos>5__2.y + 7f, 0.05f, 0.45f, randomizePosition: true)); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SpawnCrossSlash(<hcPos>5__2.x - 7f, <hcPos>5__2.y - 7f, 0.1f, 0.5f, randomizePosition: true)); <>2__current = Teleport(<hcPos>5__2.x, <hcPos>5__2.y + 500f, "First Idle", 0f, 0f); <>1__state = 11; return true; case 11: <>1__state = -1; <>2__current = _waitForSeconds0_8; <>1__state = 12; return true; case 12: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + 8.5f * (float)(-<direction>5__1), <hcPos>5__2.y + 5f, "Dive Dir", 0.2f, 0.2f); <>1__state = 13; return true; case 13: <>1__state = -1; <>2__current = _waitForSeconds0_2; <>1__state = 14; return true; case 14: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <DiveStarter>d__44 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private bool <radpiSlash>5__1; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DiveStarter>d__44(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = true; <radpiSlash>5__1 = Random.value > 0.5f; if (<radpiSlash>5__1) { <>2__current = _waitForSeconds0_3; <>1__state = 1; return true; } <>2__current = _waitForSeconds0_2; <>1__state = 2; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.rapidSlashFollowupAllowed = true; PaleAutomatonPlugin.controlFsm.SetState("Rapid Slash Dash"); goto IL_01c2; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Rising Slash Antic"); <>2__current = _waitForSeconds0_15; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_4; <>1__state = 4; return true; case 4: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("CS Antic"); <>2__current = _waitForSeconds0_1; <>1__state = 5; return true; case 5: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_3; <>1__state = 6; return true; case 6: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash A"); <>2__current = _waitForSeconds0_3; <>1__state = 7; return true; case 7: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); goto IL_01c2; case 8: { <>1__state = -1; if (!<radpiSlash>5__1) { PaleAutomatonPlugin.customComboSequence = false; } return false; } IL_01c2: <>2__current = _waitForSeconds0_3; <>1__state = 8; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <DoubleWindslashStarter>d__42 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DoubleWindslashStarter>d__42(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = true; <>2__current = _waitForSeconds0_2; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); <>2__current = _waitForSeconds0_2; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Dive Dir"); <>2__current = _waitForSeconds0_6; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash G"); <>2__current = _waitForSeconds0_3; <>1__state = 4; return true; case 4: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_3; <>1__state = 5; return true; case 5: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = false; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <GroundSpikeAntic>d__33 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public GameObject silkSwish; public float delay; public bool flip; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <GroundSpikeAntic>d__33(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; silkSwish.SetActive(false); <>2__current = (object)new WaitForSeconds(delay); <>1__state = 1; return true; case 1: { <>1__state = -1; Object.Destroy((Object)(object)((Component)silkSwish.transform.GetChild(2)).gameObject); Transform transform = silkSwish.transform; Vector3 position = silkSwish.transform.position; position.x = silkSwish.transform.position.x + (float)Random.Range(-6, 6); transform.position = position; if (flip) { Extensions.FlipLocalScale(silkSwish.transform, true, false, false); } silkSwish.SetActive(true); return false; } } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <LieDown>d__34 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private KeepHornetInPlace <keepHornetInPlace>5__1; private HeroController <heroController>5__2; private HeroAnimationController <heroAnim>5__3; private float <clipLength1>5__4; private tk2dSpriteAnimationClip <clip1>5__5; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <LieDown>d__34(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <keepHornetInPlace>5__1 = null; <heroController>5__2 = null; <heroAnim>5__3 = null; <clip1>5__5 = null; <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <keepHornetInPlace>5__1 = ((Component)HeroController.instance).gameObject.AddComponent<KeepHornetInPlace>(); <heroController>5__2 = HeroController.instance; <heroAnim>5__3 = ((Component)<heroController>5__2).GetComponent<HeroAnimationController>(); <heroAnim>5__3.PlayClipForced("Prostrate"); <>2__current = _waitForSeconds1; <>1__state = 1; return true; case 1: <>1__state = -1; <clipLength1>5__4 = <heroAnim>5__3.GetClipDuration("Wake Up Ground"); <heroAnim>5__3.PlayClipForced("Wake Up Ground"); <clip1>5__5 = <heroAnim>5__3.animator.CurrentClip; break; case 2: <>1__state = -1; <clipLength1>5__4 -= Time.deltaTime; break; } if (<heroAnim>5__3.animator.IsPlaying(<clip1>5__5) && <clipLength1>5__4 > 0f) { <>2__current = null; <>1__state = 2; return true; } ((Behaviour)<keepHornetInPlace>5__1).enabled = false; return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <LiterallyBoundlessInfinity>d__47 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private int <direction>5__1; private Vector3 <hcPos>5__2; private int <yOffset>5__3; private float <xPos>5__4; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <LiterallyBoundlessInfinity>d__47(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <direction>5__1 = ((!(Random.value > 0.5f)) ? 1 : (-1)); <hcPos>5__2 = HeroController.instance.transform.position; <yOffset>5__3 = Random.Range(-3, 3); <xPos>5__4 = <hcPos>5__2.x + (float)(13 * <direction>5__1) - (float)(<yOffset>5__3 * <direction>5__1); <>2__current = Teleport(<xPos>5__4, <hcPos>5__2.y + (float)<yOffset>5__3, "DashStab Antic", 0.2f, -1f, lookAtHornet: true); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = _waitForSeconds1_7; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("DashStab Antic"); <>2__current = _waitForSeconds0_05; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds1_1; <>1__state = 4; return true; case 4: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <Phase2Transition>d__38 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Phase2Transition>d__38(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Expected O, but got Unknown //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Expected O, but got Unknown //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Expected O, but got Unknown //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; Helpers.DisableChargingEffects(); PaleAutomatonPlugin.controlFsm.SetState("Parry Antic"); FsmUtil.AddAction(FsmUtil.GetState(PaleAutomatonPlugin.controlFsm, "Parry Stance"), (FsmStateAction)new StartRoarEmitter { spawnPoint = new FsmOwnerDefault { gameObject = FsmGameObject.op_Implicit(PaleAutomatonPlugin.songKnight), GameObject = FsmGameObject.op_Implicit(PaleAutomatonPlugin.songKnight) }, delay = FsmFloat.op_Implicit(0f), stunHero = FsmBool.op_Implicit(false), roarBurst = FsmBool.op_Implicit(false), isSmall = FsmBool.op_Implicit(false), noVisualEffect = FsmBool.op_Implicit(false), forceThroughBind = FsmBool.op_Implicit(true), stopOnExit = true }); <>2__current = _waitForSeconds0_5; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("BLOCKED HIT"); <>2__current = _waitForSeconds0_3; <>1__state = 2; return true; case 2: <>1__state = -1; HeroController.instance.StartInvulnerable(0.2f); <>2__current = _waitForSeconds1; <>1__state = 3; return true; case 3: <>1__state = -1; FsmUtil.RemoveActionsOfType<StartRoarEmitter>(FsmUtil.GetState(PaleAutomatonPlugin.controlFsm, "Parry Stance")); FsmUtil.AddAction(FsmUtil.GetState(PaleAutomatonPlugin.controlFsm, "Rapid Slash End"), (FsmStateAction)new SetVelocityByScale { gameObject = FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rapid Slash Dash").gameObject, speed = FsmFloat.op_Implicit(90f), ySpeed = FsmFloat.op_Implicit(0f), everyFrame = false }); FsmUtil.AddAction(FsmUtil.GetState(PaleAutomatonPlugin.controlFsm, "Dash Slash End 2"), (FsmStateAction)new SetVelocityByScale { gameObject = FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rapid Slash Dash").gameObject, speed = FsmFloat.op_Implicit(90f), ySpeed = FsmFloat.op_Implicit(0f), everyFrame = false }); return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <Phase3Transition>d__39 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private GameObject <silkSwishOriginal>5__1; private Transform <otherTerrainCollider>5__2; private SpriteRenderer[] <>s__3; private int <>s__4; private SpriteRenderer <spriteRenderer>5__5; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Phase3Transition>d__39(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <silkSwishOriginal>5__1 = null; <otherTerrainCollider>5__2 = null; <>s__3 = null; <spriteRenderer>5__5 = null; <>1__state = -2; } private bool MoveNext() { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_0481: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_05f0: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_0602: Unknown result type (might be due to invalid IL or missing references) //IL_0639: Unknown result type (might be due to invalid IL or missing references) //IL_063e: Unknown result type (might be due to invalid IL or missing references) //IL_064b: Unknown result type (might be due to invalid IL or missing references) //IL_074a: Unknown result type (might be due to invalid IL or missing references) //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_079f: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_06d7: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; Helpers.DisableChargingEffects(); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Teleport(100f, HeroController.instance.transform.position.y + 500f, "First Idle")); PaleAutomatonPlugin.controlFsm.Fsm.ManualUpdate = true; InfiniteTerrainMover.cameraLockArea.cameraYMax = 15f; ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = false; ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = true; ((TrackTriggerObjects)InfiniteTerrainMover.cameraLockArea).OnInsideStateChanged(true); <>2__current = _waitForSeconds0_6; <>1__state = 1; return true; case 1: <>1__state = -1; <silkSwishOriginal>5__1 = ((Component)GameObject.Find("Boss Title(Clone)").transform.GetChild(0)).gameObject; <silkSwishOriginal>5__1.SetActive(false); <>s__3 = <silkSwishOriginal>5__1.GetComponentsInChildren<SpriteRenderer>(); for (<>s__4 = 0; <>s__4 < <>s__3.Length; <>s__4++) { <spriteRenderer>5__5 = <>s__3[<>s__4]; ((Renderer)<spriteRenderer>5__5).sortingOrder = 500; <spriteRenderer>5__5 = null; } <>s__3 = null; <silkSwishOriginal>5__1.transform.position = new Vector3(1.2f, -5f, 1f); <silkSwishOriginal>5__1.transform.localScale = new Vector3(1.2f, 0.6114f, 0.8734f); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0f)); <>2__current = null; <>1__state = 2; return true; case 2: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.5f, flip: true)); <>2__current = null; <>1__state = 3; return true; case 3: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.2f)); <>2__current = null; <>1__state = 4; return true; case 4: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.25f, flip: true)); <>2__current = null; <>1__state = 5; return true; case 5: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.4f)); <>2__current = null; <>1__state = 6; return true; case 6: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.45f, flip: true)); <>2__current = null; <>1__state = 7; return true; case 7: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.6f)); <>2__current = null; <>1__state = 8; return true; case 8: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.65f, flip: true)); <>2__current = null; <>1__state = 9; return true; case 9: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.8f)); <>2__current = null; <>1__state = 10; return true; case 10: <>1__state = -1; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(GroundSpikeAntic(Object.Instantiate<GameObject>(<silkSwishOriginal>5__1), 0.85f, flip: true)); <>2__current = null; <>1__state = 11; return true; case 11: <>1__state = -1; <>2__current = Teleport(500f, HeroController.instance.transform.position.y + 100f, "First Idle"); <>1__state = 12; return true; case 12: <>1__state = -1; <>2__current = _waitForSeconds0_6; <>1__state = 13; return true; case 13: <>1__state = -1; <silkSwishOriginal>5__1.transform.position = new Vector3(-2f, -4f, 1f); <silkSwishOriginal>5__1.transform.localScale = new Vector3(5.1726f, 0.6114f, 0.8734f); <silkSwishOriginal>5__1.SetActive(true); <>2__current = _waitForSeconds0_4; <>1__state = 14; return true; case 14: <>1__state = -1; Object.Destroy((Object)(object)((Component)PaleAutomatonPlugin.songKnight.transform.Find("WindSlash Hit")).gameObject); PaleAutomatonPlugin.groundSpikesParent.SetActive(true); Helpers.clonedGroundSpikes.SetActive(true); groundSpikesCollider.SetActive(true); Helpers.clonedGroundSpikesCollider.SetActive(true); if (!Settings.DISABLE_CAMERA_ZOOMOUT) { ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(PaleAutomatonPlugin.FancyZoomOut(2f, 0.575f)); } <>2__current = _waitForSeconds0_5; <>1__state = 15; return true; case 15: { <>1__state = -1; Transform transform = PaleAutomatonPlugin.terrainCollider.transform; Vector3 position = PaleAutomatonPlugin.terrainCollider.transform.position; position.y = -50f; transform.position = position; <otherTerrainCollider>5__2 = Helpers.clonedTerrainArt.transform.Find("Terrain Collider"); Transform transform2 = ((Component)<otherTerrainCollider>5__2).transform; position = ((Component)<otherTerrainCollider>5__2).transform.position; position.y = -50f; transform2.position = position; <>2__current = _waitForSeconds0_5; <>1__state = 16; return true; } case 16: <>1__state = -1; PaleAutomatonPlugin.controlFsm.Fsm.ManualUpdate = true; InfiniteTerrainMover.cameraLockArea.cameraYMax = 100000f; ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = false; ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = true; ((TrackTriggerObjects)InfiniteTerrainMover.cameraLockArea).OnInsideStateChanged(true); if (Settings.CUSTOM_POGO_HITBOX) { Helpers.ToggleDownSlashHitbox(useExpanded: true); } if (Settings.BELL_BIND_EFFECT_ON_THE_BOSS) { <>2__current = ((ManagedAssetBase<GameObject>)(object)PaleAutomatonPlugin.BELL_BIND_EFFECT).Load(); <>1__state = 17; return true; } break; case 17: <>1__state = -1; bellBindEffect = ManagedAssetExtensions.InstantiateAsset<GameObject>(PaleAutomatonPlugin.BELL_BIND_EFFECT); bellBindEffect.transform.SetParent(PaleAutomatonPlugin.songKnight.transform); ((Behaviour)bellBindEffect.GetComponent<FollowTransform>()).enabled = false; bellBindEffect.transform.localScale = new Vector3(1.7f, 1.7f, 1f); bellBindEffect.transform.localPosition = Vector3.zero; bellBindEffect.SetActive(true); break; } ((Component)PaleAutomatonPlugin.songKnight.transform.Find("Rising Slash")).transform.localScale = new Vector3(1f, 1f, 1f); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(SelectPhase3Attack()); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <Phase4Transition>d__40 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private Vector3 <hPos>5__1; private float <yPos>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Phase4Transition>d__40(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; Helpers.DisableChargingEffects(); inPhase4Transition = true; <hPos>5__1 = HeroController.instance.transform.position; <yPos>5__2 = Math.Clamp(<hPos>5__1.y - 8f, 20f, <hPos>5__1.y + 9999f); <>2__current = Teleport(<hPos>5__1.x, <yPos>5__2, "Windslash A"); <>1__state = 1; return true; case 1: { <>1__state = -1; ((Component)PaleAutomatonPlugin.songKnight.transform.Find("Charge Effect")).gameObject.SetActive(true); Transform transform = PaleAutomatonPlugin.songKnight.transform; Vector3 localScale = PaleAutomatonPlugin.songKnight.transform.localScale; localScale.x = 1f; transform.localScale = localScale; Extensions.SetRotation2D(PaleAutomatonPlugin.songKnight.transform, 90f); PaleAutomatonPlugin.controlFsm.Fsm.Stop(); <>2__current = _waitForSeconds0_8; <>1__state = 2; return true; } case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.Fsm.Start(); PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); ((Component)PaleAutomatonPlugin.songKnight.transform.Find("Charge Effect")).gameObject.SetActive(false); <>2__current = _waitForSeconds0_1; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.groundSpikesParent.SetActive(false); GameObject.Find("Main Terrain Art").SetActive(false); GameObject.Find("Cloned Terrain Art").SetActive(false); <>2__current = _waitForSeconds0_2; <>1__state = 4; return true; case 4: <>1__state = -1; Extensions.SetRotation2D(PaleAutomatonPlugin.songKnight.transform, 0f); <>2__current = Teleport(<hPos>5__1.x, HeroController.instance.transform.position.y + 100f, "First Idle"); <>1__state = 5; return true; case 5: <>1__state = -1; inPhase4Transition = false; <>2__current = _waitForSeconds0_5; <>1__state = 6; return true; case 6: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <RapidSlashFollowup>d__43 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <RapidSlashFollowup>d__43(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("DashStab Antic"); ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Helpers.ScheduleNextState(0.4f, "Stab 3")); <>2__current = _waitForSeconds0_3; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = false; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <RisingSlashStarter>d__41 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <RisingSlashStarter>d__41(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; PaleAutomatonPlugin.customComboSequence = true; <>2__current = _waitForSeconds0_55; <>1__state = 1; return true; case 1: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("CrossSlash 1"); <>2__current = _waitForSeconds0_1; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Rising Slash Antic"); FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").speed = FsmFloat.op_Implicit(-70f); <>2__current = _waitForSeconds0_01; <>1__state = 3; return true; case 3: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_4; <>1__state = 4; return true; case 4: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash A"); <>2__current = _waitForSeconds0_3; <>1__state = 5; return true; case 5: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); if (Random.value > 0.5f) { <>2__current = _waitForSeconds0_2; <>1__state = 6; return true; } <>2__current = _waitForSeconds0_175; <>1__state = 9; return true; case 6: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); <>2__current = _waitForSeconds0_2; <>1__state = 7; return true; case 7: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Dive Dir"); <>2__current = _waitForSeconds0_2; <>1__state = 8; return true; case 8: <>1__state = -1; goto IL_02c6; case 9: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Dive Dir"); <>2__current = _waitForSeconds0_05; <>1__state = 10; return true; case 10: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); <>2__current = _waitForSeconds0_3; <>1__state = 11; return true; case 11: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash G"); <>2__current = _waitForSeconds0_3; <>1__state = 12; return true; case 12: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); goto IL_02c6; case 13: { <>1__state = -1; PaleAutomatonPlugin.customComboSequence = false; return false; } IL_02c6: FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").speed = FsmFloat.op_Implicit(-80f); <>2__current = _waitForSeconds0_3; <>1__state = 13; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <SelectPhase3Attack>d__46 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private int <attack>5__1; private Bounds <claBounds>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <SelectPhase3Attack>d__46(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) IEnumerator enumerator; switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (!PaleAutomatonPlugin.bossScene) { return false; } goto IL_03f3; case 1: <>1__state = -1; if (PaleAutomatonPlugin.healthManager.hp <= PaleAutomatonPlugin.PHASE_4_THRESHOLD && !PaleAutomatonPlugin.PHASE_4) { PaleAutomatonPlugin.PHASE_4 = true; <>2__current = Phase4Transition(); <>1__state = 2; return true; } goto IL_00f3; case 2: <>1__state = -1; goto IL_00f3; case 3: <>1__state = -1; <>2__current = _waitForSeconds1; <>1__state = 4; return true; case 4: <>1__state = -1; Pools.DisableAll(); return false; case 5: <>1__state = -1; goto IL_03f3; case 6: { <>1__state = -1; Pools.DisableAll(); return false; } IL_00f3: if (PaleAutomatonPlugin.PHASE_4) { Transform transform = Helpers.fallKiller.transform; Vector3 position = Helpers.fallKiller.transform.position; position.x = HeroController.instance.transform.position.x - 250f; transform.position = position; <claBounds>5__2 = InfiniteTerrainMover.cameraLockArea.box2d.bounds; ref Bounds reference = ref <claBounds>5__2; position = ((Bounds)(ref <claBounds>5__2)).min; position.x = HeroController.instance.transform.position.x - 500f; ((Bounds)(ref reference)).min = position; ref Bounds reference2 = ref <claBounds>5__2; position = ((Bounds)(ref <claBounds>5__2)).max; position.x = HeroController.instance.transform.position.x + 500f; ((Bounds)(ref reference2)).max = position; InfiniteTerrainMover.cameraLockArea.cameraXMin = HeroController.instance.transform.position.x - 500f; InfiniteTerrainMover.cameraLockArea.cameraXMax = HeroController.instance.transform.position.x + 500f; InfiniteTerrainMover.cameraLockArea.cameraYMax = HeroController.instance.transform.position.y + 100000f; Helpers.UpdateSaveHeroClamps(); ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = false; Transform transform2 = Helpers.cameraLockArea.transform; position = Helpers.cameraLockArea.transform.position; position.x = HeroController.instance.transform.position.x; transform2.position = position; ((Behaviour)InfiniteTerrainMover.cameraLockArea).enabled = true; ((TrackTriggerObjects)InfiniteTerrainMover.cameraLockArea).OnInsideStateChanged(true); } if (Extensions.GetFsmBoolIfExists(PaleAutomatonPlugin.controlFsm, "Hornet Dead")) { <>2__current = Teleport(HeroController.instance.transform.position.x, HeroController.instance.transform.position.y + 100f, "First Idle"); <>1__state = 3; return true; } do { <attack>5__1 = Random.Range(1, 6); } while (attackMemory.Contains(<attack>5__1)); attackMemory.RemoveAt(0); attackMemory.Add(<attack>5__1); if (1 == 0) { } enumerator = <attack>5__1 switch { 1 => WindSlashSpam(), 2 => LiterallyBoundlessInfinity(), 3 => CrossSlashSpam(), 4 => DiveIntoCrossSlash(), 5 => TripleRisingSlash(), _ => throw new ArgumentOutOfRangeException(), }; if (1 == 0) { } <>2__current = enumerator; <>1__state = 5; return true; IL_03f3: if (Object.op_Implicit((Object)(object)PaleAutomatonPlugin.songKnight)) { PaleAutomatonPlugin.controlFsm.FsmVariables.GetFsmFloat("Gravity").Value = 0f; PaleAutomatonPlugin.controlFsm.SetState("First Idle"); <>2__current = _waitForSeconds0_5; <>1__state = 1; return true; } <>2__current = _waitForSeconds1; <>1__state = 6; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <SpawnCrossSlash>d__32 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public float x; public float y; public float startDelay; public float activationDelay; public bool randomizePosition; public float scaleMultiplier; public bool csStarter; public bool iframes; private float <xOffset>5__1; private float <yOffset>5__2; private int <rotation>5__3; private float <scaleModifier>5__4; private GameObject <antic>5__5; private GameObject <crossSlash>5__6; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <SpawnCrossSlash>d__32(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <antic>5__5 = null; <crossSlash>5__6 = null; <>1__state = -2; } private bool MoveNext() { //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Expected O, but got Unknown //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <xOffset>5__1 = (randomizePosition ? ((float)Random.Range(-2, 2) + 1E-05f) : 0f); <yOffset>5__2 = (randomizePosition ? ((float)Random.Range(-2, 2) + 1E-05f) : 0f); if (csStarter & randomizePosition) { <xOffset>5__1 /= 2f; <yOffset>5__2 /= 2f; } <rotation>5__3 = 90 + (randomizePosition ? Random.Range(-10, 10) : 0) + ((csStarter && PaleAutomatonPlugin.songKnight.transform.localScale.x == 1f) ? 270 : 90); <scaleModifier>5__4 = Random.Range(2f, 2.3f) * scaleMultiplier; <>2__current = (object)new WaitForSeconds(startDelay); <>1__state = 1; return true; case 1: { <>1__state = -1; <antic>5__5 = Pools.GetCrossSlashAntic(); <antic>5__5.transform.localScale = new Vector3(1f, 1f, 1f); <antic>5__5.SetActive(true); <antic>5__5.transform.position = new Vector3(x + <xOffset>5__1, y + <yOffset>5__2, <antic>5__5.transform.position.z); Transform transform2 = <antic>5__5.transform; transform2.localScale *= <scaleModifier>5__4; Extensions.SetRotation2D(<antic>5__5.transform, (float)<rotation>5__3); Extensions.FlipLocalScale(<antic>5__5.transform, false, true, false); <>2__current = (object)new WaitForSeconds(activationDelay - startDelay); <>1__state = 2; return true; } case 2: { <>1__state = -1; <antic>5__5.SetActive(false); <crossSlash>5__6 = Pools.GetCrossSlash(); <crossSlash>5__6.transform.localScale = new Vector3(1f, 1f, 1f); try { FsmUtil.RemoveActionsOfType<RecycleSelf>(FsmUtil.GetState(<crossSlash>5__6.GetComponent<PlayMakerFSM>(), "Recycle")); } catch { } if (iframes) { HeroController.instance.StartInvulnerable(0.1f); } <crossSlash>5__6.SetActive(true); <crossSlash>5__6.transform.position = <antic>5__5.transform.position; Transform transform = <crossSlash>5__6.transform; transform.localScale *= <scaleModifier>5__4; Extensions.SetRotation2D(<crossSlash>5__6.transform, (float)(<rotation>5__3 - 20)); <>2__current = _waitForSeconds0_3; <>1__state = 3; return true; } case 3: <>1__state = -1; <crossSlash>5__6.SetActive(false); return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <SpawnWindSlash>d__31 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private GameObject <instance>5__1; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <SpawnWindSlash>d__31(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <instance>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; if (!Object.op_Implicit((Object)(object)skProjectileSetup)) { <>2__current = ((ManagedAssetBase<GameObject>)(object)SK_PROJECTILE_ASSET).Load(); <>1__state = 1; return true; } goto IL_0106; case 1: <>1__state = -1; skProjectileSetup = ManagedAssetExtensions.InstantiateAsset<GameObject>(SK_PROJECTILE_ASSET); skProjectileSetup.GetComponent<Collider2D>().isTrigger = true; Helpers.MakeProjectileIgnoreEnvironment(skProjectileSetup); Helpers.RemoveProjectileWallEvents(skProjectileSetup); Helpers.MakeProjectileRenderAboveWalls(skProjectileSetup); skProjectileSetup.AddComponent<ProjectileMover>(); skProjectileSetup.GetComponent<DamageHero>().SetDamageAmount(2); skProjectileSetup.SetActive(false); skProjectileSetup.transform.position = new Vector3(0f, -1000f, 0f); ((Object)skProjectileSetup).name = "WindSlash"; goto IL_0106; case 2: { <>1__state = -1; <instance>5__1.SetActive(false); <instance>5__1.GetComponent<PlayMakerFSM>().Reset(); return false; } IL_0106: <instance>5__1 = Pools.GetWindSlash(); <instance>5__1.SetActive(true); ((Behaviour)<instance>5__1.GetComponent<DamageHero>()).enabled = !inPhase4Transition; <>2__current = (inPhase4Transition ? _waitForSeconds10 : _waitForSeconds1); <>1__state = 2; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <Teleport>d__37 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public float x; public float y; public string nextState; public float delay; public float finishNextStateIn; public bool lookAtHornet; private Transform <transform>5__1; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <Teleport>d__37(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <transform>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: { <>1__state = -1; teleporting = true; rb.linearVelocityY = 0f; rb.linearVelocityX = 0f; PaleAutomatonPlugin.controlFsm.Fsm.manualUpdate = true; <transform>5__1 = PaleAutomatonPlugin.songKnight.transform; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Helpers.TpEffect()); Transform obj3 = <transform>5__1; Vector3 position = <transform>5__1.position; position.y = HeroController.instance.transform.position.y + 100f; obj3.position = position; PaleAutomatonPlugin.controlFsm.SetState("First Idle"); <>2__current = (object)new WaitForSeconds(delay); <>1__state = 1; return true; } case 1: { <>1__state = -1; Transform obj = <transform>5__1; Vector3 position = <transform>5__1.position; position.x = x; obj.position = position; Transform obj2 = <transform>5__1; position = <transform>5__1.position; position.y = y; obj2.position = position; ((MonoBehaviour)PaleAutomatonPlugin.Instance).StartCoroutine(Helpers.TpEffect()); PaleAutomatonPlugin.controlFsm.Fsm.manualUpdate = false; PaleAutomatonPlugin.controlFsm.SetState(nextState); if (lookAtHornet) { Helpers.LookAtHornet(); } else { PaleAutomatonPlugin.songKnight.transform.rotation = Quaternion.Euler(0f, 0f, 0f); } if (finishNextStateIn != -1f) { <>2__current = (object)new WaitForSeconds(finishNextStateIn); <>1__state = 2; return true; } break; } case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); break; } Helpers.DisableChargingEffects(); teleporting = false; return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <TripleRisingSlash>d__51 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private int <direction>5__1; private Vector3 <hcPos>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <TripleRisingSlash>d__51(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; thirdRisingSlash = false; FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").ySpeed = FsmFloat.op_Implicit(40f); <direction>5__1 = ((!(Random.value > 0.5f)) ? 1 : (-1)); <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + (float)(4 * <direction>5__1), <hcPos>5__2.y - 6f, "Rising Slash Antic", 0.2f, 0.5f); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = _waitForSeconds0_5; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("CrossSlash 1"); <>2__current = _waitForSeconds0_1; <>1__state = 3; return true; case 3: <>1__state = -1; <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x + (float)(4 * -<direction>5__1), <hcPos>5__2.y - 6f, "Rising Slash Antic", 0.2f, 0.1f); <>1__state = 4; return true; case 4: <>1__state = -1; <>2__current = _waitForSeconds0_5; <>1__state = 5; return true; case 5: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("CrossSlash 1"); <>2__current = _waitForSeconds0_1; <>1__state = 6; return true; case 6: <>1__state = -1; FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").speed = FsmFloat.op_Implicit(0f); FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").ySpeed = FsmFloat.op_Implicit(90f); <hcPos>5__2 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__2.x, <hcPos>5__2.y - 6f, "Rising Slash Antic", 0.2f, 0.1f); <>1__state = 7; return true; case 7: <>1__state = -1; <>2__current = _waitForSeconds0_2; <>1__state = 8; return true; case 8: <>1__state = -1; thirdRisingSlash = true; <>2__current = _waitForSeconds0_3; <>1__state = 9; return true; case 9: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("Windslash A"); <>2__current = _waitForSeconds0_2; <>1__state = 10; return true; case 10: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SendEvent("FINISHED"); FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").speed = FsmFloat.op_Implicit(-80f); FsmUtil.GetFirstActionOfType<SetVelocityByScale>(PaleAutomatonPlugin.controlFsm, "Rising Slash").ySpeed = FsmFloat.op_Implicit(15f); <>2__current = _waitForSeconds0_2; <>1__state = 11; return true; case 11: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <WindSlashSpam>d__49 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; private int <direction>5__1; private float <xOffset>5__2; private float <yOffset>5__3; private Vector3 <hcPos>5__4; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WindSlashSpam>d__49(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <direction>5__1 = ((!(Random.value > 0.5f)) ? 1 : (-1)); <xOffset>5__2 = Random.Range(10f, 13f) * (float)<direction>5__1; <yOffset>5__3 = Random.Range(-4f, 1f); <hcPos>5__4 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__4.x + <xOffset>5__2, <hcPos>5__4.y + <yOffset>5__3, "Windslash A", 0.2f, -1f, lookAtHornet: true); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = _waitForSeconds0_6; <>1__state = 2; return true; case 2: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); <>2__current = _waitForSeconds0_2; <>1__state = 3; return true; case 3: <>1__state = -1; <xOffset>5__2 = Random.Range(10f, 13f) * (float)(-<direction>5__1); <yOffset>5__3 = Random.Range(-4f, 1f); <hcPos>5__4 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__4.x + <xOffset>5__2, <hcPos>5__4.y + <yOffset>5__3, "Windslash A", 0.2f, -1f, lookAtHornet: true); <>1__state = 4; return true; case 4: <>1__state = -1; <>2__current = _waitForSeconds0_6; <>1__state = 5; return true; case 5: <>1__state = -1; <xOffset>5__2 = Random.Range(10f, 13f) * (float)<direction>5__1; <yOffset>5__3 = Random.Range(-4f, 1f); <hcPos>5__4 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__4.x + <xOffset>5__2, <hcPos>5__4.y + <yOffset>5__3, "Windslash A", 0.2f, -1f, lookAtHornet: true); <>1__state = 6; return true; case 6: <>1__state = -1; <>2__current = _waitForSeconds0_6; <>1__state = 7; return true; case 7: <>1__state = -1; <xOffset>5__2 = Random.Range(10f, 13f) * (float)(-<direction>5__1); <yOffset>5__3 = Random.Range(-4f, 1f); <hcPos>5__4 = HeroController.instance.transform.position; <>2__current = Teleport(<hcPos>5__4.x + <xOffset>5__2, <hcPos>5__4.y + <yOffset>5__3, "Windslash A", 0.2f, -1f, lookAtHornet: true); <>1__state = 8; return true; case 8: <>1__state = -1; <>2__current = _waitForSeconds0_6; <>1__state = 9; return true; case 9: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); <>2__current = _waitForSeconds0_2; <>1__state = 10; return true; case 10: <>1__state = -1; PaleAutomatonPlugin.controlFsm.SetState("WindSlash"); <>2__current = _waitForSeconds0_2; <>1__state = 11; return true; case 11: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } private static readonly WaitForSeconds _waitForSeconds1_1 = new WaitForSeconds(1.1f); private static readonly WaitForSeconds _waitForSeconds1_7 = new WaitForSeconds(1.7f); private static readonly WaitForSeconds _waitForSeconds0_05 = new WaitForSeconds(0.05f); private static readonly WaitForSeconds _waitForSeconds0_175 = new WaitForSeconds(0.175f); private static readonly WaitForSeconds _waitForSeconds0_01 = new WaitForSeconds(0.01f); private static readonly WaitForSeconds _waitForSeconds0_55 = new WaitForSeconds(0.55f); private static readonly WaitForSeconds _waitForSeconds0_2 = new WaitForSeconds(0.2f); private static readonly WaitForSeconds _waitForSeconds0_1 = new WaitForSeconds(0.1f); private static readonly WaitForSeconds _waitForSeconds0_8 = new WaitForSeconds(0.8f); private static readonly WaitForSeconds _waitForSeconds0_6 = new WaitForSeconds(0.6f); private static readonly WaitForSeconds _waitForSeconds0_5 = new WaitForSeconds(0.5f); private static readonly WaitForSeconds _waitForSeconds0_15 = new WaitForSeconds(0.15f); private static readonly WaitForSeconds _waitForSeconds0_4 = new WaitForSeconds(0.4f); private static readonly WaitForSeconds _waitForSeconds0_7 = new WaitForSeconds(0.7f); private static readonly WaitForSeconds _waitForSeconds1 = new WaitForSeconds(1f); private static readonly WaitForSeconds _waitForSeconds0_3 = new WaitForSeconds(0.3f); private static readonly WaitForSeconds _waitForSeconds10 = new WaitForSeconds(10f); public static ManagedAsset<GameObject> SK_PROJECTILE_ASSET = null; public static GameObject skProjectileSetup = null; public static GameObject tpEffectSetup = null; public static GameObject crossSlashSetup = null; public static GameObject crossSlashAnticSetup = null; public static GameObject groundSpikesCollider = null; public static GameObject bellBindEffect = null; public static Rigidbody2D rb = null; public static bool teleporting; public static bool csSpam; public static bool thirdRisingSlash; public static bool inPhase4Transition; private static readonly List<int> attackMemory = new List<int>(3) { 3, 4, 5 }; private static string parriedState = ""; [IteratorStateMachine(typeof(<SpawnWindSlash>d__31))] public static IEnumerator SpawnWindSlash() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <SpawnWindSlash>d__31(0); } [IteratorStateMachine(typeof(<SpawnCrossSlash>d__32))] private static IEnumerator SpawnCrossSlash(float x, float y, float startDelay, float activationDelay, bool randomizePosition = false, float scaleMultiplier = 1f, bool csStarter = false, bool iframes = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <SpawnCrossSlash>d__32(0) { x = x, y = y, startDelay = startDelay, activationDelay = activationDelay, randomizePosition = randomizePosition, scaleMultiplier = scaleMultiplier, csStarter = csStarter, iframes = iframes }; } [IteratorStateMachine(typeof(<GroundSpikeAntic>d__33))] private static IEnumerator GroundSpikeAntic(GameObject silkSwish, float delay, bool flip = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <GroundSpikeAntic>d__33(0) { silkSwish = silkSwish, delay = delay, flip = flip }; } [IteratorStateMachine(typeof(<LieDown>d__34))] public static IEnumerator LieDown() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <LieDown>d__34(0); } [IteratorStateMachine(typeof(<DeathSequence>d__35))] public static IEnumerator DeathSequence() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <DeathSequence>d__35(0); } [IteratorStateMachine(typeof(<AnticParry>d__36))] public static IEnumerator AnticParry() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <AnticParry>d__36(0); } [IteratorStateMachine(typeof(<Teleport>d__37))] public static IEnumerator Teleport(float x, float y, string nextState, float delay = 0.2f, float finishNextStateIn = -1f, bool lookAtHornet = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Teleport>d__37(0) { x = x, y = y, nextState = nextState, delay = delay, finishNextStateIn = finishNextStateIn, lookAtHornet = lookAtHornet }; } [IteratorStateMachine(typeof(<Phase2Transition>d__38))] public static IEnumerator Phase2Transition() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Phase2Transition>d__38(0); } [IteratorStateMachine(typeof(<Phase3Transition>d__39))] public static IEnumerator Phase3Transition() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Phase3Transition>d__39(0); } [IteratorStateMachine(typeof(<Phase4Transition>d__40))] private static IEnumerator Phase4Transition() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <Phase4Transition>d__40(0); } [IteratorStateMachine(typeof(<RisingSlashStarter>d__41))] public static IEnumerator RisingSlashStarter() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <RisingSlashStarter>d__41(0); } [IteratorStateMachine(typeof(<DoubleWindslashStarter>d__42))] public static IEnumerator DoubleWindslashStarter() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <DoubleWindslashStarter>d__42(0); } [IteratorStateMachine(typeof(<RapidSlashFollowup>d__43))] public static IEnumerator RapidSlashFollowup() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <RapidSlashFollowup>d__43(0); } [IteratorStateMachine(typeof(<DiveStarter>d__44))] public static IEnumerator DiveStarter() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <DiveStarter>d__44(0); } [IteratorStateMachine(typeof(<CrossSlashStarter>d__45))] public static IEnumerator CrossSlashStarter() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <CrossSlashStarter>d__45(0); } [IteratorStateMachine(typeof(<SelectPhase3Attack>d__46))] private static IEnumerator SelectPhase3Attack() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <SelectPhase3Attack>d__46(0); } [IteratorStateMachine(typeof(<LiterallyBoundlessInfinity>d__47))] private static IEnumerator LiterallyBoundlessInfinity() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <LiterallyBoundlessInfinity>d__47(0); } [IteratorStateMachine(typeof(<DiveIntoCrossSlash>d__48))] private static IEnumerator DiveIntoCrossSlash() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <DiveIntoCrossSlash>d__48(0); } [IteratorStateMachine(typeof(<WindSlashSpam>d__49))] private static IEnumerator WindSlashSpam() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WindSlashSpam>d__49(0); } [IteratorStateMachine(typeof(<CrossSlashSpam>d__50))] private static IEnumerator CrossSlashSpam() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <CrossSlashSpam>d__50(0); } [IteratorStateMachine(typeof(<TripleRisingSlash>d__51))] private static IEnumerator TripleRisingSlash() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <TripleRisingSlash>d__51(0); } } public static class Helpers { [CompilerGenerated] private sealed class <DelayedTurnAround>d__6 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public float delay; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DelayedTurnAround>d__6(int <>1__state) { this.<>1__state = <>1__state; } [Debugg