Decompiled source of KarmelitaPrime v1.3.0
KarmelitaPrime.dll
Decompiled 2 weeks 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.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using GlobalEnums; using HarmonyLib; using HutongGames.PlayMaker; using HutongGames.PlayMaker.Actions; using KarmelitaPrime.Drawers; using KarmelitaPrime.Managers; using KarmelitaPrime.Patches; using KarmelitaPrime.TripleTeleportSlash; using Microsoft.CodeAnalysis; using TeamCherry.Localization; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; 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("KarmelitaPrime")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.3.0.0")] [assembly: AssemblyInformationalVersion("1.3.0+435a1e86f7e57cefa0d850d9e7ea84dfd0749100")] [assembly: AssemblyProduct("Karmelita Prime")] [assembly: AssemblyTitle("KarmelitaPrime")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.3.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [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; } } } internal sealed class ConfigurationManagerAttributes { public delegate void CustomHotkeyDrawerFunc(ConfigEntryBase setting, ref bool isCurrentlyAcceptingInput); public bool? ShowRangeAsPercent; public Action<ConfigEntryBase> CustomDrawer; public CustomHotkeyDrawerFunc CustomHotkeyDrawer; public bool? Browsable; public string Category; public object DefaultValue; public bool? HideDefaultButton; public bool? HideSettingName; public string Description; public string DispName; public int? Order; public bool? ReadOnly; public bool? IsAdvanced; public Func<object, string> ObjToStr; public Func<string, object> StrToObj; } namespace KarmelitaPrime { public class AnimationPlayerAction : FsmStateAction { public FsmEvent AnimationFinishedEvent; public string ClipName; public tk2dSpriteAnimator animator; public float shortenEventTIme; private tk2dSpriteAnimationClip clip; private bool hasSentEvent; private float deltaTime; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); clip = animator.GetClipByName(ClipName); animator.Play(clip, 0f, 0f); hasSentEvent = false; deltaTime = 0f; } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); deltaTime += Time.deltaTime; if (deltaTime >= clip.Duration - shortenEventTIme && !hasSentEvent && AnimationFinishedEvent != null) { ((FsmStateAction)this).Fsm.Event(AnimationFinishedEvent); hasSentEvent = true; } } } public class AnimationSendEventIfPreviousState : FsmStateAction { public PlayMakerFSM fsm; public string StateName; public FsmEvent TrueEvent; public FsmEvent FalseEvent; public string ClipName; public tk2dSpriteAnimator Animator; public float ShortenEventTIme; private tk2dSpriteAnimationClip clip; private bool hasSentEvent; private float deltaTime; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); clip = Animator.GetClipByName(ClipName); Animator.Play(clip, 0f, 0f); hasSentEvent = false; deltaTime = 0f; } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); deltaTime += Time.deltaTime; if (deltaTime >= clip.Duration - ShortenEventTIme && !hasSentEvent) { SendEvent(); } } private void SendEvent() { fsm.Fsm.Event((fsm.Fsm.PreviousActiveState.Name == StateName) ? TrueEvent : FalseEvent); hasSentEvent = true; } } public class AnimEndSendRandomEventAction : FsmStateAction { [CompilerGenerated] private sealed class <PlayClipDelay>d__15 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public AudioEvent audioEvent; public AudioSource source; public AnimEndSendRandomEventAction <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PlayClipDelay>d__15(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_0057: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(<>4__this.ClipDelay); <>1__state = 1; return true; case 1: <>1__state = -1; ((AudioEvent)(ref audioEvent)).SpawnAndPlayOneShot(((Component)source).transform.position, (Action)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(); } } public tk2dSpriteAnimator animator; public FsmEvent[] events; public float[] weights; public float shortenEventTIme; private bool hasSentEvent; private float elapsedTime; public bool PlayClipOnEventIndex; public int EventIndex; public AudioClip EventClip; public float ClipDelay; private FsmEvent eventToSend; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); hasSentEvent = false; elapsedTime = 0f; DecideEvent(); } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); elapsedTime += Time.deltaTime; if (elapsedTime >= animator.CurrentClip.Duration - shortenEventTIme && !hasSentEvent) { ((FsmStateAction)this).Fsm.Event(eventToSend); hasSentEvent = true; } } private void DecideEvent() { float num = 0f; for (int i = 0; i < weights.Length; i++) { num += weights[i]; } float num2 = Random.value * num; float num3 = 0f; for (int j = 0; j < events.Length; j++) { num3 += weights[j]; if (num2 <= num3) { eventToSend = events[j]; CheckClip(j); break; } } } private void CheckClip(int index) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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) if (PlayClipOnEventIndex && index == EventIndex) { AudioSource component = ((FsmStateAction)this).Fsm.GetFsmGameObject("Audio Loop Voice").Value.GetComponent<AudioSource>(); AudioEvent val = default(AudioEvent); val.Clip = EventClip; val.PitchMin = 1f; val.PitchMax = 1f; val.Volume = component.volume; AudioEvent audioEvent = val; ((FsmStateAction)this).Fsm.Owner.StartCoroutine(PlayClipDelay(audioEvent, component)); } } [IteratorStateMachine(typeof(<PlayClipDelay>d__15))] private IEnumerator PlayClipDelay(AudioEvent audioEvent, AudioSource source) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PlayClipDelay>d__15(0) { <>4__this = this, audioEvent = audioEvent, source = source }; } } public class PlayClipAction : FsmStateAction { public AudioClip Clip; public GameObject Source; public override void OnEnter() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); AudioSource component = Source.GetComponent<AudioSource>(); AudioEvent val = default(AudioEvent); val.Clip = Clip; val.PitchMin = 1f; val.PitchMax = 1f; val.Volume = component.volume; AudioEvent val2 = val; ((AudioEvent)(ref val2)).SpawnAndPlayOneShot(Source.transform.position, (Action)null); } } public class PlayClipDelayedAction : FsmStateAction { [CompilerGenerated] private sealed class <PlayClipDelayedRoutine>d__6 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public PlayClipDelayedAction <>4__this; private AudioSource <source>5__1; private AudioEvent <audioEvent>5__2; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PlayClipDelayedRoutine>d__6(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) <source>5__1 = null; <audioEvent>5__2 = default(AudioEvent); <>1__state = -2; } private bool MoveNext() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: 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; <>2__current = (object)new WaitForSeconds(<>4__this.Delay); <>1__state = 1; return true; case 1: <>1__state = -1; <source>5__1 = <>4__this.Source.GetComponent<AudioSource>(); <audioEvent>5__2 = new AudioEvent { Clip = <>4__this.Clip, PitchMin = <>4__this.PitchMin, PitchMax = <>4__this.PitchMax, Volume = <source>5__1.volume }; ((AudioEvent)(ref <audioEvent>5__2)).SpawnAndPlayOneShot(<>4__this.Source.transform.position, (Action)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(); } } public AudioClip Clip; public GameObject Source; public float Delay; public float PitchMin; public float PitchMax; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); ((FsmStateAction)this).Fsm.Owner.StartCoroutine(PlayClipDelayedRoutine()); ((FsmStateAction)this).Finish(); } [IteratorStateMachine(typeof(<PlayClipDelayedRoutine>d__6))] private IEnumerator PlayClipDelayedRoutine() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PlayClipDelayedRoutine>d__6(0) { <>4__this = this }; } } public class PlayRandomClipAction : FsmStateAction { public RandomAudioClipTable Table; public GameObject Source; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); if (Object.op_Implicit((Object)(object)Table) && Object.op_Implicit((Object)(object)Source)) { AudioSource component = Source.GetComponent<AudioSource>(); RandomAudioClipTableExtensions.PlayOneShot(Table, component, false); } } } public class SetAllMusicSources : FsmStateAction { public bool Active; public bool IsOnExit; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); if (!IsOnExit) { DoMusicSources(); } } public override void OnExit() { ((FsmStateAction)this).OnExit(); if (IsOnExit) { DoMusicSources(); } } private void DoMusicSources() { AudioSource[] musicSources = ManagerSingleton<AudioManager>.Instance.MusicSources; foreach (AudioSource val in musicSources) { if (Active) { val.UnPause(); } else { val.Pause(); } } } } public class CheckHeroTooCloseAction : FsmStateAction { public GameObject Owner; public float Threshold; public bool IsTooFarCheck; public FsmEvent TrueEvent; public FsmEvent FalseEvent; public override void OnEnter() { if ((IsTooFarCheck ? (GetDistance() > Threshold) : (GetDistance() < Threshold)) && TrueEvent != null) { ((FsmStateAction)this).Fsm.Event(TrueEvent); } else if (FalseEvent != null) { ((FsmStateAction)this).Fsm.Event(FalseEvent); } ((FsmStateAction)this).Finish(); } private float GetDistance() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) return Mathf.Abs(((Component)HeroController.instance).transform.position.x - Owner.transform.position.x); } } public class CheckHeroYAction : FsmStateAction { public Transform Target; public float Threshold; public FsmEvent AboveEvent; public FsmEvent BelowEvent; public override void OnEnter() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); if (((Component)HeroController.instance).transform.position.y > Target.position.y + Threshold) { ((FsmStateAction)this).Fsm.Event(AboveEvent); } else { ((FsmStateAction)this).Fsm.Event(BelowEvent); } ((FsmStateAction)this).Finish(); } } public class FaceHeroAction : FsmStateAction { public Transform Transform; public override void OnEnter() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); if ((((Component)HeroController.instance).transform.position.x > Transform.position.x && Transform.localScale.x > 0f) || (((Component)HeroController.instance).transform.position.x < Transform.position.x && Transform.localScale.x < 0f)) { Vector3 localScale = Transform.localScale; localScale.x *= -1f; Transform.localScale = localScale; } ((FsmStateAction)this).Finish(); } } public class EnemyHitAction : FsmStateAction { public HealthManager Owner; public FsmEvent OnHitEvent; public bool isInvincibleOnEnter; public float IgnoreHitStartDuration; private float elapsedTime; private float hpOnEnter; private bool hasSentEvent; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); elapsedTime = 0f; hasSentEvent = false; hpOnEnter = Owner.hp; Owner.IsInvincible = isInvincibleOnEnter; } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); elapsedTime += Time.deltaTime; if ((float)Owner.hp < hpOnEnter && !hasSentEvent && elapsedTime > IgnoreHitStartDuration) { if (OnHitEvent != null) { ((FsmStateAction)this).Fsm.Event(OnHitEvent); } hasSentEvent = true; } } public override void OnExit() { ((FsmStateAction)this).OnExit(); Owner.IsInvincible = false; } } public class EnableGameObjectAction : FsmStateAction { public GameObject GameObject; public bool Enable; public bool ResetOnExit; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); GameObject.SetActive(Enable); ((FsmStateAction)this).Finish(); } public override void OnExit() { if (ResetOnExit) { GameObject.SetActive(false); } } } public class GetFromPreloadManagerAction : FsmStateAction { [CompilerGenerated] private sealed class <WaitInstantiate>d__4 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public float duration; public GetFromPreloadManagerAction <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitInstantiate>d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(duration); <>1__state = 1; return true; case 1: <>1__state = -1; PreloadManager.Get<GameObject>(<>4__this.PrefabName, (Action<GameObject>)delegate(GameObject prefab) { KarmelitaPrimeMain.Instance.wrapper.OnPrefabSpawn(prefab, <>4__this.SpawnPosition); }); ((FsmStateAction)<>4__this).Finish(); 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(); } } public string PrefabName; public Transform SpawnPosition; public float GetDelay; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); ((FsmStateAction)this).Fsm.Owner.StartCoroutine(WaitInstantiate(GetDelay)); } [IteratorStateMachine(typeof(<WaitInstantiate>d__4))] private IEnumerator WaitInstantiate(float duration) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitInstantiate>d__4(0) { <>4__this = this, duration = duration }; } } public class SpawnPrefabAction : FsmStateAction { public GameObject Prefab; public Vector3 Position; public Transform Transform; public override void OnEnter() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); GameObject val = Object.Instantiate<GameObject>(Prefab, Object.op_Implicit((Object)(object)Transform) ? Transform.position : Position, Quaternion.identity); if (!val.activeInHierarchy || !val.activeSelf) { val.SetActive(true); } ((FsmStateAction)this).Finish(); } } public class StartCoroutineAction : FsmStateAction { [CompilerGenerated] private sealed class <InvokeCoroutine>d__2 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public StartCoroutineAction <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <InvokeCoroutine>d__2(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; <>2__current = <>4__this.Coroutine(); <>1__state = 1; return true; case 1: <>1__state = -1; ((FsmStateAction)<>4__this).Finish(); 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(); } } public Func<IEnumerator> Coroutine; public override void OnEnter() { ((FsmStateAction)this).Fsm.Owner.StartCoroutine(InvokeCoroutine()); } [IteratorStateMachine(typeof(<InvokeCoroutine>d__2))] private IEnumerator InvokeCoroutine() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <InvokeCoroutine>d__2(0) { <>4__this = this }; } } public class TeleportAction : FsmStateAction { public Transform Target; public Transform Base; public bool IsTeleportToBack; public float OffsetY; public Vector2 OverrideDirection; public bool TeleportToFacing; public bool AllowY; public bool KeepY; public float MinX; public float MaxX; public int MaxAttempts; public float MinTeleportDistance; public float MaxTeleportDistance; public override void OnEnter() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: 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_00a7: 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_0131: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: 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_00d1: 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_014d: Unknown result type (might be due to invalid IL or missing references) //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_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: 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_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); Vector2 val = Vector2.zero; if (IsTeleportToBack) { if (((Component)Target).transform.localScale.x > 0f) { val = Vector2.right; } else if (((Component)Target).transform.localScale.x < 0f) { val = Vector2.left; } } else if (TeleportToFacing) { if (((Component)Base).transform.localScale.x > 0f) { val = Vector2.left; } else if (((Component)Base).transform.localScale.x < 0f) { val = Vector2.right; } } else if (OverrideDirection != Vector2.zero) { val = ((Vector2)(ref OverrideDirection)).normalized; } else if (((Component)Target).transform.localScale.x > 0f) { val = Vector2.left; } else if (((Component)Target).transform.localScale.x < 0f) { val = Vector2.right; } float num = Mathf.Abs(MinTeleportDistance); float num2 = Mathf.Abs(MaxTeleportDistance); float num3 = Random.Range(num, num2); int num4 = 0; Vector3 position = default(Vector3); while (num4 < MaxAttempts) { Vector2 val2 = Vector2.op_Implicit(Target.position) + num3 * val; if (num4 == MaxAttempts - 1) { val2.x = Mathf.Clamp(val2.x, MinX, MaxX); } else if (val2.x < MinX || val2.x > MaxX) { num4++; continue; } float num5 = ((!AllowY) ? Base.position.y : ((!KeepY) ? Target.position.y : Base.position.y)); num5 += OffsetY; num5 = Mathf.Clamp(num5, 21.4353f, 34.9679f); ((Vector3)(ref position))..ctor(val2.x, num5, Base.position.z); Base.position = position; break; } } } public class CheckYVelocityAction : FsmStateAction { public Rigidbody2D Rb; public float Velocity; public FsmEvent OnVelocityMatch; private bool hasSentEvent; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); hasSentEvent = false; } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); if (Mathf.Abs(Rb.linearVelocityY) <= Velocity && !hasSentEvent) { ((FsmStateAction)this).Fsm.Event(OnVelocityMatch); hasSentEvent = true; } } } public class FadeVelocityAction : FsmStateAction { [CompilerGenerated] private sealed class <LerpVelocity>d__4 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public FadeVelocityAction <>4__this; private Rigidbody2D <rb>5__1; private float <duration>5__2; private float <elapsed>5__3; private float <t>5__4; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <LerpVelocity>d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <rb>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_0089: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <rb>5__1 = <>4__this.Rb; <duration>5__2 = <>4__this.Duration; <elapsed>5__3 = 0f; break; case 1: <>1__state = -1; break; } if (<elapsed>5__3 < <duration>5__2) { <elapsed>5__3 += Time.deltaTime; <t>5__4 = <elapsed>5__3 / <duration>5__2; <rb>5__1.linearVelocityX = Mathf.Lerp(<>4__this.Rb.linearVelocity.x, 0f, <t>5__4); <>2__current = null; <>1__state = 1; return true; } ((FsmStateAction)<>4__this).Finish(); 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(); } } public Rigidbody2D Rb; public float Duration; public override void OnEnter() { ((FsmStateAction)this).OnEnter(); ((FsmStateAction)this).Fsm.Owner.StartCoroutine(LerpVelocity()); } public override void OnExit() { ((FsmStateAction)this).OnExit(); ((FsmStateAction)this).Fsm.Owner.StopAllCoroutines(); } [IteratorStateMachine(typeof(<LerpVelocity>d__4))] private IEnumerator LerpVelocity() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <LerpVelocity>d__4(0) { <>4__this = this }; } } public class SetVelocityByAngleAction : FsmStateAction { public GameObject Rb; public float Speed; public Transform OwnerTransform; public float AngleLeft; public float AngleRight; public override void OnEnter() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); if (!((Object)(object)Rb == (Object)null)) { Rigidbody2D component = Rb.GetComponent<Rigidbody2D>(); float num = ((OwnerTransform.localScale.x < 0f) ? AngleRight : AngleLeft); component.linearVelocity = new Vector2(Speed * Mathf.Cos(num * (MathF.PI / 180f)), Speed * Mathf.Sin(num * (MathF.PI / 180f))); ((FsmStateAction)this).Finish(); } } } public class SetVelocityToPlayer : FsmStateAction { public Rigidbody2D Rb; public float velocity; public float velocityY; public bool ResetOnUpdate; public override void OnEnter() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_003e: 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_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: 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_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) ((FsmStateAction)this).OnEnter(); if ((((Component)HeroController.instance).transform.position.x > ((Component)Rb).transform.position.x && ((Component)Rb).transform.localScale.x > 0f) || (((Component)HeroController.instance).transform.position.x < ((Component)Rb).transform.position.x && ((Component)Rb).transform.localScale.x < 0f)) { Vector3 localScale = ((Component)Rb).transform.localScale; localScale.x *= -1f; ((Component)Rb).transform.localScale = localScale; } Rigidbody2D rb = Rb; float num = velocity; Vector3 localScale2 = ((Component)Rb).gameObject.transform.localScale; rb.linearVelocityX = num * (0f - ((Vector3)(ref localScale2)).normalized.x); Rb.linearVelocityY = velocityY; ((FsmStateAction)this).Finish(); } public override void OnUpdate() { ((FsmStateAction)this).OnUpdate(); if (ResetOnUpdate) { Rb.linearVelocityY = 0f; } } } public class WeightedRandomEventAction : FsmStateAction { public FsmEvent[] events; public float[] weights; public override void OnEnter() { float num = 0f; for (int i = 0; i < weights.Length; i++) { num += weights[i]; } float num2 = Random.value * num; float num3 = 0f; for (int j = 0; j < events.Length; j++) { num3 += weights[j]; if (num2 <= num3) { ((FsmStateAction)this).Fsm.Event(events[j]); break; } } } } public class KarmelitaFsmController { private readonly PlayMakerFSM fsm; private readonly PlayMakerFSM stunFsm; private readonly KarmelitaWrapper wrapper; private List<StateModifierBase> stateModifiers; private Dictionary<string, StateModifierBase> stateModifierCollection; private KarmelitaPrimeMain main => KarmelitaPrimeMain.Instance; public KarmelitaFsmController(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper) { this.fsm = fsm; this.stunFsm = stunFsm; this.wrapper = wrapper; stateModifierCollection = new Dictionary<string, StateModifierBase>(); base..ctor(); } public void Initialize() { fsm.Fsm.GetFsmBool("Double Throws").Value = true; SetIdleTime(); RerouteFirstRoarState(); ChangeToBigTitle(); SubscribeStateChangedEvent(); AddModifiers(); ApplyPhase1Modifiers(); } private void SetIdleTime() { fsm.Fsm.GetFsmFloat("Idle Min").Value = 0.25f; fsm.Fsm.GetFsmFloat("Idle Max").Value = 0.25f; } private void RerouteFirstRoarState() { FsmState state = fsm.Fsm.GetState("Challenge Pause"); FsmState state2 = fsm.Fsm.GetState("Launch In Antic"); FsmTransition[] transitions = state.Transitions; foreach (FsmTransition val in transitions) { if (val.ToState == "Battle Roar Antic") { val.ToFsmState = state2; val.ToState = state2.Name; } } } private void ChangeToBigTitle() { //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown FsmState val = ((IEnumerable<FsmState>)fsm.Fsm.States).FirstOrDefault((Func<FsmState, bool>)((FsmState state) => state.Name == "Roar")); List<FsmStateAction> list = val.Actions.ToList(); FsmStateAction val2 = ((IEnumerable<FsmStateAction>)val.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is DisplayBossTitle)); FsmStateAction item = val2; list.Remove(item); val.Actions = list.ToArray(); FsmState val3 = ((IEnumerable<FsmState>)fsm.Fsm.States).FirstOrDefault((Func<FsmState, bool>)((FsmState state) => state.Name == "Entry Fall")); val3.Actions = val3.Actions.Append((FsmStateAction)new DisplayBossTitle { areaTitleObject = FsmGameObject.op_Implicit(GameObject.Find("_GameCameras/HudCamera/In-game/Area Title")), displayRight = FsmBool.op_Implicit(false), bossTitle = FsmString.op_Implicit("HUNTER_QUEEN_BC") }).ToArray(); } private void SubscribeStateChangedEvent() { Fsm obj = fsm.Fsm; obj.StateChanged = (Action<FsmState>)Delegate.Combine(obj.StateChanged, new Action<FsmState>(OnStateChanged)); } private void OnStateChanged(FsmState state) { if (state.Name == "Entry Land") { wrapper.BattleStarted = true; } CheckStunState(state); CheckPhase2State(state); CheckPhase3State(state); } private void CheckStunState(FsmState state) { if (state.Name.Contains("Stun")) { InstantGetOutOfStunCheck(); } } private void CheckPhase2State(FsmState state) { if (!(state.Name != "P2 Roar Antic")) { wrapper.SetPhaseIndex(1); ApplyPhase2Modifiers(); } } private void CheckPhase3State(FsmState state) { if (!(state.Name != "Phase 3 Knocked")) { wrapper.SetPhaseIndex(2); ApplyPhase3Modifiers(); } } private void InstantGetOutOfStunCheck() { if (wrapper.PhaseIndex == 2) { fsm.SendEvent("FINISHED"); } } private void ApplyPhase1Modifiers() { foreach (StateModifierBase stateModifier in stateModifiers) { stateModifier?.SetupPhase1Modifiers(); } main.Log("PHASE 1 MODIFIERS APPLIED"); } private void ApplyPhase2Modifiers() { foreach (StateModifierBase stateModifier in stateModifiers) { stateModifier?.SetupPhase2Modifiers(); } main.Log("PHASE 2 MODIFIERS APPLIED"); } private void ApplyPhase3Modifiers() { foreach (StateModifierBase stateModifier in stateModifiers) { stateModifier?.SetupPhase3Modifiers(); } main.Log("PHASE 3 MODIFIERS APPLIED"); } public float GetStateStartTime() { StateModifierBase value; return (!stateModifierCollection.TryGetValue(fsm.ActiveStateName, out value)) ? 0f : value.AnimationStartTime; } public void FakePhase3() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Expected O, but got Unknown //IL_00f6: 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) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Expected O, but got Unknown //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0159: 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_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Expected O, but got Unknown //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Expected O, but got Unknown //IL_03be: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = "Fake Phase 3"; val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Evade To Wind Blade", ToFsmState = fsm.Fsm.GetState("Evade To Wind Blade") } }; FsmState val2 = val; CloneActions(fsm.Fsm.GetState("P3 Roar Antic"), val2); List<FsmStateAction> list = val2.Actions.ToList(); FsmStateAction item = ((IEnumerable<FsmStateAction>)list).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is Tk2dPlayAnimationWithEvents)); list.Remove(item); list.AddRange(new <>z__ReadOnlyArray<FsmStateAction>((FsmStateAction[])(object)new FsmStateAction[4] { new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Roar" }, (FsmStateAction)new StartRoarEmitter { spawnPoint = new FsmOwnerDefault { OwnerOption = (OwnerDefaultOption)0, GameObject = FsmGameObject.op_Implicit(((Component)wrapper).gameObject) }, 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(false), stopOnExit = true }, (FsmStateAction)new Wait { time = FsmFloat.op_Implicit(1.6f), finishEvent = FsmEvent.GetFsmEvent("FINISHED") }, new FadeVelocityAction { Rb = wrapper.rb, Duration = 0.01f } })); val2.Actions = list.ToArray(); fsm.Fsm.States = fsm.Fsm.States.Append(val2).ToArray(); AnimEndSendRandomEventAction animEndSendRandomEventAction = ((IEnumerable<FsmStateAction>)fsm.Fsm.GetState("Slash Antic").Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is AnimEndSendRandomEventAction)) as AnimEndSendRandomEventAction; animEndSendRandomEventAction.events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("EVADE") }; animEndSendRandomEventAction.weights = new float[2] { 0.6f, 0.4f }; fsm.Fsm.GetState("Dash Grind Transitioner").Actions = (FsmStateAction[])(object)new FsmStateAction[1] { new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("ATTACK") }, weights = new float[2] { 0.5f, 0.5f } } }; FsmState state = fsm.Fsm.GetState("Air Rethrow"); state.Actions = (FsmStateAction[])(object)new FsmStateAction[2] { new EnableGameObjectAction { GameObject = fsm.Fsm.GetFsmGameObject("Air Slash 2").Value, Enable = true, ResetOnExit = true }, new AnimEndSendRandomEventAction { animator = wrapper.animator, events = (FsmEvent[])(object)new FsmEvent[1] { FsmEvent.GetFsmEvent("FINISHED") }, weights = new float[1] { 1f }, shortenEventTIme = 0.73f } }; state.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Spin Aim", ToFsmState = fsm.Fsm.GetState("Spin Aim") } }; fsm.SetState("Fake Phase 3"); } public void DoPhase3() { if (!(fsm.ActiveStateName == "BG Dance")) { if (!fsm.Fsm.GetFsmBool("Phase 2").Value) { ApplyPhase2Modifiers(); } wrapper.DoHighlightEffects(); fsm.SetState("Phase 3 Knocked"); SetP3TransitionToTeleportCombo(); } } public void CloneActions(FsmState source, FsmState target) { FsmStateAction[] actions = source.Actions; target.Actions = (FsmStateAction[])(object)new FsmStateAction[actions.Length]; for (int i = 0; i < actions.Length; i++) { FsmStateAction originalActions = actions[i]; target.Actions[i] = CloneAction(originalActions); } } private FsmStateAction CloneAction(FsmStateAction originalActions) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected O, but got Unknown Type type = ((object)originalActions).GetType(); FsmStateAction val = (FsmStateAction)Activator.CreateInstance(type); FieldInfo[] fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); FieldInfo[] array = fields; foreach (FieldInfo fieldInfo in array) { fieldInfo.SetValue(val, fieldInfo.GetValue(originalActions)); } return val; } private void SetP3TransitionToTeleportCombo() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown FsmState state = fsm.Fsm.GetState("P3 Roar"); state.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Teleport 1 Pre", ToFsmState = fsm.Fsm.GetState("Teleport 1 Pre") } }; } private void AddModifiers() { stateModifiers = new List<StateModifierBase>(73) { new SpinAttackModifier(fsm, stunFsm, wrapper, this), new WindBladeState(fsm, stunFsm, wrapper, this), new EvadeToWindBladeState(fsm, stunFsm, wrapper, this), new EvadeToThrowState(fsm, stunFsm, wrapper, this), new GenericTeleportRecoveryState(fsm, stunFsm, wrapper, this), new GenericTeleportState(fsm, stunFsm, wrapper, this), new GenericTeleportPreState(fsm, stunFsm, wrapper, this), new CycloneAnticTransitionerState(fsm, stunFsm, wrapper, this), new CycloneAnticModifier(fsm, stunFsm, wrapper, this), new NewSlash2State(fsm, stunFsm, wrapper, this), new CounterAttackState(fsm, stunFsm, wrapper, this), new ThrowAnticTransitionerState(fsm, stunFsm, wrapper, this), new DashGrindTransitionerState(fsm, stunFsm, wrapper, this), new DashGrindModifier(fsm, stunFsm, wrapper, this), new Phase3RecoveringState(fsm, stunFsm, wrapper, this), new Rethrow2TransitionerState(fsm, stunFsm, wrapper, this), new Rethrow3State(fsm, stunFsm, wrapper, this), new Teleport7RecoveryState(fsm, stunFsm, wrapper, this), new Teleport7State(fsm, stunFsm, wrapper, this), new Teleport7PreState(fsm, stunFsm, wrapper, this), new Teleport6WindSlashState(fsm, stunFsm, wrapper, this), new Teleport6RecoveryState(fsm, stunFsm, wrapper, this), new Teleport6State(fsm, stunFsm, wrapper, this), new Teleport6PreState(fsm, stunFsm, wrapper, this), new Teleport5SickleThrow(fsm, stunFsm, wrapper, this), new Teleport5SickleThrowPrepareRightState(fsm, stunFsm, wrapper, this), new Teleport5SickleThrowPrepareLeftState(fsm, stunFsm, wrapper, this), new Teleport5SickleCheckDirectionState(fsm, stunFsm, wrapper, this), new Teleport5RecoveryState(fsm, stunFsm, wrapper, this), new Teleport5State(fsm, stunFsm, wrapper, this), new Teleport5PreState(fsm, stunFsm, wrapper, this), new Teleport4WindSlash3State(fsm, stunFsm, wrapper, this), new Teleport4WindSlash2State(fsm, stunFsm, wrapper, this), new Teleport4WindSlash1State(fsm, stunFsm, wrapper, this), new Teleport4CounterAttackState(fsm, stunFsm, wrapper, this), new Teleport4RecoveryState(fsm, stunFsm, wrapper, this), new Teleport4State(fsm, stunFsm, wrapper, this), new Teleport4PreState(fsm, stunFsm, wrapper, this), new TripleTeleportSlash3State(fsm, stunFsm, wrapper, this), new Teleport3RecoveryState(fsm, stunFsm, wrapper, this), new Teleport3State(fsm, stunFsm, wrapper, this), new Teleport3PreState(fsm, stunFsm, wrapper, this), new TripleTeleportSlash2State(fsm, stunFsm, wrapper, this), new Teleport2RecoveryState(fsm, stunFsm, wrapper, this), new Teleport2State(fsm, stunFsm, wrapper, this), new Teleport2PreState(fsm, stunFsm, wrapper, this), new TripleTeleportSlash1State(fsm, stunFsm, wrapper, this), new Teleport1RecoveryState(fsm, stunFsm, wrapper, this), new Teleport1State(fsm, stunFsm, wrapper, this), new Teleport1PreState(fsm, stunFsm, wrapper, this), new CounterAttackPreState(fsm, stunFsm, wrapper, this), new Phase3KnockedState(fsm, stunFsm, wrapper, this), new Rethrow3PrepareLeftState(fsm, stunFsm, wrapper, this), new Rethrow3PrepareRightState(fsm, stunFsm, wrapper, this), new Slash3TransitionerState(fsm, stunFsm, wrapper, this), new Rethrow3CheckDirectionState(fsm, stunFsm, wrapper, this), new Rethrow3AnticState(fsm, stunFsm, wrapper, this), new Rethrow2Modifier(fsm, stunFsm, wrapper, this), new Slash3Modifier(fsm, stunFsm, wrapper, this), new Slash9Modifier(fsm, stunFsm, wrapper, this), new SlashAnticModifier(fsm, stunFsm, wrapper, this), new ThrowAnticModifier(fsm, stunFsm, wrapper, this), new ThrowLandModifier(fsm, stunFsm, wrapper, this), new AirRethrowModifier(fsm, stunFsm, wrapper, this), new ApproachBlockTransitionerState(fsm, stunFsm, wrapper, this), new ApproachBlockModifier(fsm, stunFsm, wrapper, this), new Cyclone1Modifier(fsm, stunFsm, wrapper, this), new Cyclone4Modifier(fsm, stunFsm, wrapper, this), new DoubleThrowQuestionModifier(fsm, stunFsm, wrapper, this), new JumpLaunchModifier(fsm, stunFsm, wrapper, this), new Slash1Modifier(fsm, stunFsm, wrapper, this), new Slash4Modifier(fsm, stunFsm, wrapper, this), new SpinAttackLandModifier(fsm, stunFsm, wrapper, this) }; foreach (StateModifierBase stateModifier in stateModifiers) { stateModifier?.OnCreateModifier(); stateModifierCollection.Add(stateModifier.BindState, stateModifier); } } } public class AttackChoiceModifier : StateModifierBase { public override string BindState => "Attack Choice"; public AttackChoiceModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class ApproachBlockModifier : StateModifierBase { public override string BindState => "Approach Block"; public ApproachBlockModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Approach Block Transitioner", ToFsmState = fsm.Fsm.GetState("Approach Block Transitioner") } }; } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class ApproachBlockTransitionerState : StateModifierBase { public override string BindState => "Approach Block Transitioner"; public ApproachBlockTransitionerState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_008e: 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_00a4: 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_00cd: Expected O, but got Unknown //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_014f: 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_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Expected O, but got Unknown //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: 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_01d1: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = BindState; val.Actions = (FsmStateAction[])(object)new FsmStateAction[1] { new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[3] { FsmEvent.GetFsmEvent("SLASH COMBO"), FsmEvent.GetFsmEvent("CYCLONE SPIN"), FsmEvent.GetFsmEvent("JUMP SPIN") }, weights = new float[3] { 0.5f, 0.5f, 0f } } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[5] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("EVADE"), ToState = "Evade To Wind Blade", ToFsmState = fsm.Fsm.GetState("Evade To Wind Blade") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Generic Teleport Pre", ToFsmState = fsm.Fsm.GetState("Generic Teleport Pre") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("SLASH COMBO"), ToState = "Slash Antic", ToFsmState = fsm.Fsm.GetState("Slash Antic") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("CYCLONE SPIN"), ToState = "Cyclone Antic", ToFsmState = fsm.Fsm.GetState("Cyclone Antic") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("JUMP SPIN"), ToState = "Jump Launch", ToFsmState = fsm.Fsm.GetState("Jump Launch") } }; FsmState element = val; fsm.Fsm.States = fsm.Fsm.States.Append(element).ToArray(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { base.BindFsmState.Actions[0] = (FsmStateAction)(object)new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[3] { FsmEvent.GetFsmEvent("SLASH COMBO"), FsmEvent.GetFsmEvent("CYCLONE SPIN"), FsmEvent.GetFsmEvent("JUMP SPIN") }, weights = new float[3] { 0.3f, 0.4f, 0.3f } }; } public override void SetupPhase3Modifiers() { base.BindFsmState.Actions[0] = (FsmStateAction)(object)new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[4] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("SLASH COMBO"), FsmEvent.GetFsmEvent("CYCLONE SPIN"), FsmEvent.GetFsmEvent("JUMP SPIN") }, weights = new float[4] { 0.25f, 0.25f, 0.25f, 0.25f } }; } } public class CounterAttackPreState : StateModifierBase { public override string BindState => "Counter Attack Pre"; public CounterAttackPreState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { CreateBindState(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } private void CreateBindState() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = "Counter Attack Pre"; val.Actions = (FsmStateAction[])(object)new FsmStateAction[4] { new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Block 1" }, (FsmStateAction)new Wait { time = FsmFloat.op_Implicit(0.4f), finishEvent = FsmEvent.GetFsmEvent("FINISHED") }, new PlayRandomClipAction { Table = wrapper.AttackLongTable, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new PlayClipAction { Clip = wrapper.SwordClip, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Counter Attack", ToFsmState = fsm.Fsm.GetState("Counter Attack") } }; FsmState element = val; fsm.Fsm.States = fsm.Fsm.States.Append(element).ToArray(); } } public class CounterAttackState : StateModifierBase { [CompilerGenerated] private sealed class <LerpVelocity>d__7 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public CounterAttackState <>4__this; private Rigidbody2D <rb>5__1; private Vector2 <direction>5__2; private float <maxSpeed>5__3; private float <duration>5__4; private float <halfDuration>5__5; private float <accelerateDuration>5__6; private float <decelerateDuration>5__7; private float <elapsed>5__8; private float <t>5__9; private float <t>5__10; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <LerpVelocity>d__7(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <rb>5__1 = null; <>1__state = -2; } private bool MoveNext() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_010b: 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_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; <rb>5__1 = <>4__this.wrapper.rb; <direction>5__2 = Vector2.right * (0f - ((Component)<>4__this.wrapper).transform.localScale.x); <maxSpeed>5__3 = 80f; <duration>5__4 = 0.4f; <halfDuration>5__5 = <duration>5__4 / 2f; <accelerateDuration>5__6 = <halfDuration>5__5 + <duration>5__4 * 0.1f; <decelerateDuration>5__7 = <halfDuration>5__5 + <duration>5__4 * 0.9f; <elapsed>5__8 = 0f; goto IL_0149; case 1: <>1__state = -1; goto IL_0149; case 2: { <>1__state = -1; break; } IL_0149: if (<elapsed>5__8 < <accelerateDuration>5__6) { <elapsed>5__8 += Time.deltaTime; <t>5__9 = <elapsed>5__8 / <accelerateDuration>5__6; <rb>5__1.linearVelocity = ((Vector2)(ref <direction>5__2)).normalized * Mathf.Lerp(0f, <maxSpeed>5__3, <t>5__9); <>2__current = null; <>1__state = 1; return true; } <elapsed>5__8 = 0f; break; } if (<elapsed>5__8 < <decelerateDuration>5__7) { <elapsed>5__8 += Time.deltaTime; <t>5__10 = <elapsed>5__8 / <decelerateDuration>5__7; <rb>5__1.linearVelocity = ((Vector2)(ref <direction>5__2)).normalized * Mathf.Lerp(<maxSpeed>5__3, 0f, <t>5__10); <>2__current = null; <>1__state = 2; return true; } <rb>5__1.linearVelocity = Vector2.op_Implicit(Vector3.zero); 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(); } } public override string BindState => "Counter Attack"; public CounterAttackState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //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_008b: Expected O, but got Unknown //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = "Counter Attack"; val.Actions = (FsmStateAction[])(object)new FsmStateAction[6] { new StartCoroutineAction { Coroutine = LerpVelocity }, new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Dash Grind Spin" }, (FsmStateAction)new Wait { time = FsmFloat.op_Implicit(0.4f), finishEvent = FsmEvent.GetFsmEvent("FINISHED") }, new PlayRandomClipAction { Table = wrapper.AttackLongTable, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new PlayClipAction { Clip = wrapper.CycloneClip, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new EnableGameObjectAction { GameObject = fsm.Fsm.GetFsmGameObject("SpinSlash 1").Value, ResetOnExit = true } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "New Slash 2 State", ToFsmState = fsm.Fsm.GetState("New Slash 2 State") } }; FsmState element = val; fsm.Fsm.States = fsm.Fsm.States.Append(element).ToArray(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } [IteratorStateMachine(typeof(<LerpVelocity>d__7))] private IEnumerator LerpVelocity() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <LerpVelocity>d__7(0) { <>4__this = this }; } } public class Cyclone1Modifier : StateModifierBase { public override string BindState => "Cyclone 1"; public Cyclone1Modifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { FsmStateAction? obj = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is SetVelocityByScale)); SetVelocityByScale val = (SetVelocityByScale)(object)((obj is SetVelocityByScale) ? obj : null); FsmFloat speed = val.speed; speed.Value *= 1.25f; } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class Cyclone4Modifier : StateModifierBase { public override string BindState => "Cyclone 4"; public Cyclone4Modifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: 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_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Expected O, but got Unknown //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Expected O, but got Unknown //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Expected O, but got Unknown //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Expected O, but got Unknown FsmStateAction item = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is Tk2dWatchAnimationEvents)); List<FsmStateAction> list = base.BindFsmState.Actions.ToList(); list.Remove(item); list.AddRange(new <>z__ReadOnlyArray<FsmStateAction>((FsmStateAction[])(object)new FsmStateAction[2] { new CheckHeroTooCloseAction { Owner = ((Component)wrapper).gameObject, Threshold = 1f, TrueEvent = FsmEvent.GetFsmEvent("EVADE") }, new AnimEndSendRandomEventAction { animator = wrapper.animator, events = (FsmEvent[])(object)new FsmEvent[1] { FsmEvent.GetFsmEvent("ATTACK") }, weights = new float[1] { 1f }, shortenEventTIme = 0.5f } })); base.BindFsmState.Actions = list.ToArray(); base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[4] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("DASH GRIND"), ToState = "Set Dash Grind", ToFsmState = fsm.Fsm.GetState("Set Dash Grind") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("EVADE"), ToState = "Long Approach", ToFsmState = fsm.Fsm.GetState("Long Approach") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("ATTACK"), ToState = "Slash Antic", ToFsmState = fsm.Fsm.GetState("Slash Antic") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("JUMP SPIN"), ToState = "Jump Antic", ToFsmState = fsm.Fsm.GetState("Jump Antic") } }; } public override void SetupPhase2Modifiers() { for (int i = 0; i < base.BindFsmState.Actions.Length; i++) { if (base.BindFsmState.Actions[i] is AnimEndSendRandomEventAction) { AnimEndSendRandomEventAction animEndSendRandomEventAction2 = new AnimEndSendRandomEventAction(); animEndSendRandomEventAction2.animator = wrapper.animator; animEndSendRandomEventAction2.events = (FsmEvent[])(object)new FsmEvent[1] { FsmEvent.GetFsmEvent("JUMP SPIN") }; animEndSendRandomEventAction2.weights = new float[1] { 1f }; animEndSendRandomEventAction2.shortenEventTIme = 0.5f; AnimEndSendRandomEventAction animEndSendRandomEventAction3 = animEndSendRandomEventAction2; base.BindFsmState.Actions[i] = (FsmStateAction)(object)animEndSendRandomEventAction3; } } } public override void SetupPhase3Modifiers() { for (int i = 0; i < base.BindFsmState.Actions.Length; i++) { if (base.BindFsmState.Actions[i] is AnimEndSendRandomEventAction) { AnimEndSendRandomEventAction animEndSendRandomEventAction2 = new AnimEndSendRandomEventAction(); animEndSendRandomEventAction2.animator = wrapper.animator; animEndSendRandomEventAction2.events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("DASH GRIND"), FsmEvent.GetFsmEvent("ATTACK") }; animEndSendRandomEventAction2.weights = new float[2] { 0.5f, 0.5f }; animEndSendRandomEventAction2.shortenEventTIme = 0.5f; AnimEndSendRandomEventAction animEndSendRandomEventAction3 = animEndSendRandomEventAction2; base.BindFsmState.Actions[i] = (FsmStateAction)(object)animEndSendRandomEventAction3; } } } } public class CycloneAnticModifier : StateModifierBase { public override string BindState => "Cyclone Antic"; public CycloneAnticModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown EnemyHitAction element = new EnemyHitAction { Owner = wrapper.health, OnHitEvent = FsmEvent.GetFsmEvent("BLOCKED HIT"), isInvincibleOnEnter = true, IgnoreHitStartDuration = 1f }; FsmTransition element2 = new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("BLOCKED HIT"), ToState = "Approach Block", ToFsmState = fsm.Fsm.GetState("Approach Block") }; base.BindFsmState.Actions = base.BindFsmState.Actions.Append((FsmStateAction)(object)element).ToArray(); base.BindFsmState.Transitions = base.BindFsmState.Transitions.Append(element2).ToArray(); FsmTransition[] transitions = base.BindFsmState.Transitions; foreach (FsmTransition val in transitions) { if (!(val.ToState != "Cyclone 1")) { val.ToFsmState = fsm.Fsm.GetState("Cyclone Antic Transitioner State"); val.ToState = "Cyclone Antic Transitioner State"; } } } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class CycloneAnticTransitionerState : StateModifierBase { public override string BindState => "Cyclone Antic Transitioner State"; public CycloneAnticTransitionerState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: 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_00f9: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0111: 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_013a: Expected O, but got Unknown //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = BindState; val.Actions = (FsmStateAction[])(object)new FsmStateAction[1] { new CheckHeroYAction { Target = ((Component)wrapper).transform, Threshold = 4f, AboveEvent = FsmEvent.GetFsmEvent("FINISHED"), BelowEvent = FsmEvent.GetFsmEvent("ATTACK") } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[4] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Jump Launch", ToFsmState = fsm.Fsm.GetState("Jump Launch") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("ATTACK"), ToState = "Cyclone 1", ToFsmState = fsm.Fsm.GetState("Cyclone 1") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("EVADE"), ToState = "Slash Antic", ToFsmState = fsm.Fsm.GetState("Slash Antic") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("DASH GRIND"), ToState = "Jump Back Dir", ToFsmState = fsm.Fsm.GetState("Jump Back Dir") } }; FsmState element = val; fsm.Fsm.States = fsm.Fsm.States.Append(element).ToArray(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { base.BindFsmState.Actions[0] = (FsmStateAction)(object)new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[3] { FsmEvent.GetFsmEvent("DASH GRIND"), FsmEvent.GetFsmEvent("ATTACK"), FsmEvent.GetFsmEvent("EVADE") }, weights = new float[3] { 0.4f, 0.4f, 0.2f } }; } public override void SetupPhase3Modifiers() { base.BindFsmState.Actions[0] = (FsmStateAction)(object)new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[3] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("ATTACK"), FsmEvent.GetFsmEvent("EVADE") }, weights = new float[3] { 0.3f, 0.3f, 0.4f } }; } } public class DashGrindModifier : StateModifierBase { public override string BindState => "Dash Grind"; public DashGrindModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("WALL"), ToState = "Dash Grind Transitioner", ToFsmState = fsm.Fsm.GetState("Dash Grind Transitioner") } }; } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class DashGrindTransitionerState : StateModifierBase { public override string BindState => "Dash Grind Transitioner"; public DashGrindTransitionerState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Expected O, but got Unknown //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: 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_00f9: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0111: 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_013a: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = BindState; val.Actions = (FsmStateAction[])(object)new FsmStateAction[1] { new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("THROW") }, weights = new float[2] { 1f, 0f } } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[3] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Jump Launch", ToFsmState = fsm.Fsm.GetState("Jump Launch") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("ATTACK"), ToState = "Evade To Wind Blade", ToFsmState = fsm.Fsm.GetState("Evade To Wind Blade") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("CANCEL"), ToState = "Generic Teleport Pre", ToFsmState = fsm.Fsm.GetState("Generic Teleport Pre") } }; FsmState element = val; fsm.Fsm.States = fsm.Fsm.States.Append(element).ToArray(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { base.BindFsmState.Actions = (FsmStateAction[])(object)new FsmStateAction[1] { new WeightedRandomEventAction { events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("CANCEL") }, weights = new float[2] { 0.5f, 0.5f } } }; } } public class JumpLaunchModifier : StateModifierBase { public override string BindState => "Jump Launch"; public JumpLaunchModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { for (int i = 0; i < base.BindFsmState.Actions.Length; i++) { FsmStateAction obj = base.BindFsmState.Actions[i]; SetVelocityByScale val = (SetVelocityByScale)(object)((obj is SetVelocityByScale) ? obj : null); if (val != null) { base.BindFsmState.Actions[i] = (FsmStateAction)(object)new SetVelocityToPlayer { Rb = wrapper.rb, velocity = 0f - val.speed.Value, velocityY = val.ySpeed.Value }; } } } public override void SetupPhase1Modifiers() { ChangeActionValues(0.27f, 80f); } public override void SetupPhase2Modifiers() { ChangeActionValues(0.25f, 80f); } public override void SetupPhase3Modifiers() { ChangeActionValues(0.22f, 80f); } private void ChangeActionValues(float waitTime = 0.35f, float yspeed = 65f) { FsmStateAction[] actions = base.BindFsmState.Actions; foreach (FsmStateAction val in actions) { Wait val2 = (Wait)(object)((val is Wait) ? val : null); if (val2 != null) { val2.time = FsmFloat.op_Implicit(waitTime); } if (val is SetVelocityToPlayer setVelocityToPlayer) { setVelocityToPlayer.velocityY = yspeed; } } } } public class SpinAttackLandModifier : StateModifierBase { public override string BindState => "Spin Attack Land"; public SpinAttackLandModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Expected O, but got Unknown //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: 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_0160: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Expected O, but got Unknown //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0195: 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_01be: Expected O, but got Unknown //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Expected O, but got Unknown List<FsmStateAction> list = base.BindFsmState.Actions.ToList(); FsmStateAction item = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is Tk2dPlayAnimationWithEvents)); list.Remove(item); list.AddRange(new <>z__ReadOnlyArray<FsmStateAction>((FsmStateAction[])(object)new FsmStateAction[2] { new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Jump Attack Land" }, new AnimEndSendRandomEventAction { animator = wrapper.animator, events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("CANCEL"), FsmEvent.GetFsmEvent("CYCLONE SPIN") }, weights = new float[2] { 0.35f, 0.65f } } })); base.BindFsmState.Actions = list.ToArray(); base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[4] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Generic Teleport Pre", ToFsmState = fsm.Fsm.GetState("Generic Teleport Pre") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("CANCEL"), ToState = "Launch Up", ToFsmState = fsm.Fsm.GetState("Launch Up") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("CYCLONE SPIN"), ToState = "Cyclone Antic", ToFsmState = fsm.Fsm.GetState("Cyclone Antic") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("EVADE"), ToState = "Evade To Throw", ToFsmState = fsm.Fsm.GetState("Evade To Throw") } }; } public override void SetupPhase2Modifiers() { AnimEndSendRandomEventAction animEndSendRandomEventAction = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is AnimEndSendRandomEventAction)) as AnimEndSendRandomEventAction; animEndSendRandomEventAction.events = (FsmEvent[])(object)new FsmEvent[3] { FsmEvent.GetFsmEvent("CANCEL"), FsmEvent.GetFsmEvent("CYCLONE SPIN"), FsmEvent.GetFsmEvent("EVADE") }; animEndSendRandomEventAction.weights = new float[3] { 0.35f, 0.35f, 0.3f }; } public override void SetupPhase3Modifiers() { AnimEndSendRandomEventAction animEndSendRandomEventAction = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is AnimEndSendRandomEventAction)) as AnimEndSendRandomEventAction; animEndSendRandomEventAction.events = (FsmEvent[])(object)new FsmEvent[4] { FsmEvent.GetFsmEvent("CANCEL"), FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("CYCLONE SPIN"), FsmEvent.GetFsmEvent("EVADE") }; animEndSendRandomEventAction.weights = new float[4] { 0.25f, 0.25f, 0.25f, 0.25f }; } } public class SpinAttackModifier : StateModifierBase { public override string BindState => "Spin Attack"; public SpinAttackModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { FsmStateAction? obj = ((IEnumerable<FsmStateAction>)base.BindFsmState.Actions).FirstOrDefault((Func<FsmStateAction, bool>)((FsmStateAction action) => action is SetVelocityByScale)); SetVelocityByScale val = (SetVelocityByScale)(object)((obj is SetVelocityByScale) ? obj : null); FsmFloat speed = val.speed; speed.Value *= 1.25f; } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } } public class Phase3KnockedState : StateModifierBase { private GameObject finalHitObject; public override string BindState => "Phase 3 Knocked"; private AudioClip karmelitaDeathAudio => wrapper.KarmelitaDeathAudio; private AudioClip bossDeathAudio => wrapper.BossGenericDeathAudio; public Phase3KnockedState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { GameObject[] array = Resources.FindObjectsOfTypeAll<GameObject>(); foreach (GameObject val in array) { if (((Object)val).name.Contains("Boss Death FinalHit")) { finalHitObject = val; break; } } CreateBindState(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } private void CreateBindState() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //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) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = "Phase 3 Knocked"; val.Actions = (FsmStateAction[])(object)new FsmStateAction[8] { new CheckYVelocityAction { Rb = wrapper.rb, Velocity = 0.01f, OnVelocityMatch = FsmEvent.GetFsmEvent("FINISHED") }, new SetAllMusicSources { Active = false }, new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Stun Air" }, new SetVelocityToPlayer { Rb = wrapper.rb, velocity = -10f, velocityY = 23f, ResetOnUpdate = true }, (FsmStateAction)new DecelerateXY { decelerationX = FsmFloat.op_Implicit(0.9f), decelerationY = FsmFloat.op_Implicit(0.9f) }, new PlayClipAction { Clip = karmelitaDeathAudio, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new PlayClipAction { Clip = bossDeathAudio, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new SpawnPrefabAction { Prefab = finalHitObject } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Phase 3 Recovering State", ToFsmState = fsm.Fsm.GetState("Phase 3 Recovering State") } }; FsmState element = val; fsm.Fsm.States = fsm.FsmStates.Append(element).ToArray(); } } public class Phase3RecoveringState : StateModifierBase { public override string BindState => "Phase 3 Recovering State"; public Phase3RecoveringState(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { CreateBindState(); } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { } private void CreateBindState() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Expected O, but got Unknown //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Expected O, but got Unknown FsmState val = new FsmState(fsm.Fsm); val.Name = "Phase 3 Recovering State"; val.Actions = (FsmStateAction[])(object)new FsmStateAction[7] { new FadeVelocityAction { Rb = wrapper.rb, Duration = 0.2f }, new EnemyHitAction { Owner = wrapper.health, isInvincibleOnEnter = true }, new PlayClipAction { Clip = wrapper.LandClip, Source = fsm.Fsm.GetFsmGameObject("Audio Loop Voice").Value }, new AnimationPlayerAction { animator = wrapper.animator, ClipName = "Stun Land" }, (FsmStateAction)new SetVelocity { vector = FsmVector3.op_Implicit(Vector3.zero), x = FsmFloat.op_Implicit(0f), y = FsmFloat.op_Implicit(0f) }, (FsmStateAction)new Wait { time = FsmFloat.op_Implicit(2f), finishEvent = FsmEvent.GetFsmEvent("FINISHED") }, new SetAllMusicSources { Active = true, IsOnExit = true } }; val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "P3 Roar Antic", ToFsmState = fsm.Fsm.GetState("P3 Roar Antic") } }; FsmState element = val; fsm.Fsm.States = fsm.FsmStates.Append(element).ToArray(); } } public class AirRethrowModifier : StateModifierBase { public override string BindState => "Air Rethrow"; public AirRethrowModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { } public override void SetupPhase2Modifiers() { } public override void SetupPhase3Modifiers() { //IL_00bf: 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_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Expected O, but got Unknown //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Expected O, but got Unknown base.BindFsmState.Actions = (FsmStateAction[])(object)new FsmStateAction[2] { new EnableGameObjectAction { GameObject = fsm.Fsm.GetFsmGameObject("Air Slash 2").Value, Enable = true, ResetOnExit = true }, new AnimEndSendRandomEventAction { animator = wrapper.animator, events = (FsmEvent[])(object)new FsmEvent[2] { FsmEvent.GetFsmEvent("FINISHED"), FsmEvent.GetFsmEvent("CANCEL") }, weights = new float[2] { 0.5f, 0.5f }, shortenEventTIme = 0.73f } }; base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[2] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Spin Aim", ToFsmState = fsm.Fsm.GetState("Spin Aim") }, new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("CANCEL"), ToState = "Generic Teleport", ToFsmState = fsm.Fsm.GetState("Generic Teleport") } }; } } public class ThrowLandModifier : StateModifierBase { public override string BindState => "Throw Land"; public ThrowLandModifier(PlayMakerFSM fsm, PlayMakerFSM stunFsm, KarmelitaWrapper wrapper, KarmelitaFsmController fsmController) : base(fsm, stunFsm, wrapper, fsmController) { } public override void OnCreateModifier() { } public override void SetupPhase1Modifiers() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Cyclone Antic", ToFsmState = fsm.Fsm.GetState("Cyclone Antic") } }; } public override void SetupPhase2Modifiers() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown base.BindFsmState.Transitions = (FsmTransition[])(object)new FsmTransition[1] { new FsmTransition { FsmEvent = FsmEvent.GetFsmEvent("FINISHED"), ToState = "Evade To Throw", ToFsmState = fsm.Fsm.GetState("Evade To Throw") } }; } public override void SetupPhase3Modifiers() { } } public class EvadeToThrowState : StateModifierBase { [CompilerGenerated] private sealed class <DashRoutine>d__7 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public EvadeToThrowState <>4__this; private Rigidbody2D <rb>5__1; private Transform <transform>5__2; private float <dashSpeed>5__3; private float <dashDuration>5__4; private Vector2 <playerPos>5__5; private Vector2 <enemyPos>5__6; private bool <playerRight>5__7; private bool <facingRight>5__8; private bool <shouldFaceRight>5__9; private Vector3 <scale>5__10; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <DashRoutine>d__7(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <rb>5__1 = null; <transform>5__2 = null; <>1__state = -2; } private bool MoveNext() { //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (mi