Decompiled source of ForsakenSentinels v1.0.1

PhantinelBoss.dll

Decompiled 3 days ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using HutongGames.PlayMaker;
using HutongGames.PlayMaker.Actions;
using Microsoft.CodeAnalysis;
using Silksong.AssetHelper.ManagedAssets;
using Silksong.FsmUtil;
using TeamCherry.Localization;
using UnityEngine;
using UnityEngine.SceneManagement;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("PhantinelBoss")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.1+17e36a0caced438fce4ff7097c57afd3c1e5e2d1")]
[assembly: AssemblyProduct("PhantinelBoss")]
[assembly: AssemblyTitle("ForsakenSentinels")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/CCArchive878/PhantinelBoss")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.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.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace BepInEx
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class BepInAutoPluginAttribute : Attribute
	{
		public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace BepInEx.Preloader.Core.Patching
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class PatcherAutoPluginAttribute : Attribute
	{
		public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace PhantinelBoss
{
	public class RaisePhantom : FsmStateAction
	{
		private GameObject Phantom;

		public RaisePhantom(GameObject go)
		{
			Phantom = go;
		}

		private void DieLift()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			if (!(Phantom.transform.position.y >= 106f))
			{
				Extensions.SetPositionY(Phantom.transform, 105.765f);
			}
		}

		public override void OnEnter()
		{
			if ((Object)(object)Phantom == (Object)null)
			{
				((FsmStateAction)this).Finish();
			}
			DieLift();
			((FsmStateAction)this).Finish();
		}
	}
	public class PrepP2 : FsmStateAction
	{
		private PlayMakerFSM Senti;

		public PrepP2(PlayMakerFSM _control)
		{
			Senti = _control;
		}

		private void Prep()
		{
			FsmUtil.RemoveTransition(Senti, "Idle", "WAKE");
			FsmUtil.RemoveTransition(Senti, "Do Move", "WAKE");
			FsmUtil.RemoveTransition(Senti, "Move Choice", "WAKE");
		}

		public override void OnEnter()
		{
			if ((Object)(object)Senti == (Object)null)
			{
				((FsmStateAction)this).Finish();
			}
			Prep();
			((FsmStateAction)this).Finish();
		}
	}
	public class ScaleChange : FsmStateAction
	{
		private GameObject go;

		private int x;

		private float y;

		private bool frame;

		public ScaleChange(GameObject ThingtoScale, int xScale)
		{
			go = ThingtoScale;
			x = xScale;
		}

		private void DoScaleChange()
		{
			Extensions.SetScaleX(go.transform, (float)x);
		}

		public override void OnEnter()
		{
			if ((Object)(object)go == (Object)null)
			{
				((FsmStateAction)this).Finish();
			}
			if (!frame)
			{
				DoScaleChange();
				((FsmStateAction)this).Finish();
			}
		}
	}
	public class TeamBlastInst : FsmStateAction
	{
		public GameObject blast;

		public TeamBlastInst(GameObject BlastGO)
		{
			blast = BlastGO;
		}

		public override void OnEnter()
		{
			SetUp();
			((FsmStateAction)this).Finish();
		}

		private void SetUp()
		{
			//IL_0027: 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_004a: 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)
			GameObject val = Object.Instantiate<GameObject>(blast);
			val.transform.position = new Vector3(94.2f, GameObject.Find("Projectile Point").transform.position.y, GameObject.Find("Projectile Point").transform.position.z);
			val.transform.localScale = new Vector3(1.65f, 2f, 1f);
			((Object)val).name = "TEAMATTACKNEW";
			((Behaviour)val.GetComponent<PolygonCollider2D>()).enabled = true;
			val.SetActive(true);
			Rigidbody2D component = val.GetComponent<Rigidbody2D>();
			component.linearVelocityX = -50f;
		}
	}
	public class ActivateSilkflies : FsmStateAction
	{
		public GameObject[] Flies = null;

		public ActivateSilkflies(GameObject[] flies)
		{
			Flies = flies;
		}

		public override void OnEnter()
		{
			GameObject[] flies = Flies;
			foreach (GameObject val in flies)
			{
				((Component)val.transform.GetChild(0)).gameObject.SetActive(true);
				((Behaviour)val.GetComponent<PlayMakerFSM>()).enabled = true;
			}
			((FsmStateAction)this).Finish();
		}
	}
	public class PhantomSingCute : FsmStateAction
	{
		public ProbabilityAudioClip[] allClips = null;

		public AudioSource player;

		public RandomAudioClipTable table;

		public GameObject hornet;

		private int clipTotal;

		private int cur;

		public PhantomSingCute(RandomAudioClipTable singClips, AudioSource toPlay)
		{
			allClips = singClips.clips;
			player = toPlay;
			table = singClips;
		}

		public PhantomSingCute(RandomAudioClipTable singClips, AudioSource toPlay, GameObject hero)
		{
			allClips = singClips.clips;
			player = toPlay;
			table = singClips;
			hornet = hero;
		}

		public override void OnEnter()
		{
			cur = 0;
			clipTotal = allClips.Length;
			((Behaviour)player).enabled = true;
		}

		public override void OnUpdate()
		{
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			if (!player.isPlaying)
			{
				AudioClip clip = allClips[cur].Clip;
				player.clip = clip;
				player.Play(0.85);
				cur++;
				if (cur == clipTotal)
				{
					cur = 0;
				}
			}
			if ((Object)(object)hornet != (Object)null)
			{
				float num = Mathf.Abs(((Component)player).gameObject.transform.position.y - hornet.transform.position.y);
				num /= 100f;
				if (num > 1f)
				{
					num = 1f;
				}
				player.volume = Mathf.Abs(0.9f - num);
			}
		}

		public override void OnExit()
		{
			((Behaviour)player).enabled = false;
			((FsmStateAction)this).Finish();
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("io.github.ccarchive878.phantinelboss", "ForsakenSentinels", "1.0.1")]
	public class PhantinelBossPlugin : BaseUnityPlugin
	{
		private static Harmony _harmony;

		public const string Id = "io.github.ccarchive878.phantinelboss";

		public static string Name => "ForsakenSentinels";

		public static string Version => "1.0.1";

		private void Awake()
		{
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Expected O, but got Unknown
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Plugin " + Name + " (io.github.ccarchive878.phantinelboss) has loaded!"));
			_harmony = new Harmony("PhantinelBoss");
			ManagedAsset<GameObject> val = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Song Knight");
			ManagedAsset<GameObject> val2 = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Silkfly Ambient");
			ManagedAsset<GameObject> val3 = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Silkfly Ambient Perched");
			SceneManager.activeSceneChanged += OnSceneChange;
		}

		private void OnSceneChange(Scene oldScene, Scene newScene)
		{
			if (!(((Scene)(ref newScene)).name == "Organ_01"))
			{
				return;
			}
			_harmony.UnpatchSelf();
			if (!GameManager.GetSaveStatsFromData(GameManager.instance.GetSaveGameData(PlayerData.instance.profileID)).saveGameData.playerData.defeatedPhantom)
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Phantom is not defeated on this save file. . .");
				if (GameManager.GetSaveStatsFromData(GameManager.instance.GetSaveGameData(PlayerData.instance.profileID)).saveGameData.playerData.wokeSongChevalier)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)". . . and the Sentinel is awake. Patching in modded encounter. . .");
					_harmony.PatchAll(typeof(PhantomAndSentiPatches));
				}
				else
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)". . . but the Sentinel remains asleep.");
				}
			}
			else
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Phantom has already been defeated in this save file!");
			}
		}

		private void OnDestroy()
		{
			_harmony.UnpatchSelf();
		}
	}
	internal static class PhantomAndSentiPatches
	{
		[HarmonyPrefix]
		[HarmonyPatch(typeof(PlayMakerFSM), "Start")]
		private static void ModifyPhantom(PlayMakerFSM __instance)
		{
			if (((Object)__instance).name == "Phantom" && __instance.FsmName == "Control" && ((Component)__instance).gameObject.layer == LayerMask.NameToLayer("Enemies"))
			{
				((Component)__instance).gameObject.AddComponent<PhantinelComponent>();
			}
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(Language), "Get", new Type[]
		{
			typeof(string),
			typeof(string)
		})]
		private static void ChangePhantomTitle(string key, ref string __result)
		{
			//IL_0021: 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_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Invalid comparison between Unknown and I4
			//IL_0047: 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_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Invalid comparison between Unknown and I4
			if (1 == 0)
			{
			}
			string text2;
			if (!(key == "PHANTOM_SUPER"))
			{
				if (key == "PHANTOM_MAIN")
				{
					LanguageCode val = Language.CurrentLanguage();
					if (1 == 0)
					{
					}
					string text = (((int)val != 44) ? __result : "Sentinels");
					if (1 == 0)
					{
					}
					text2 = text;
				}
				else
				{
					text2 = __result;
				}
			}
			else
			{
				LanguageCode val2 = Language.CurrentLanguage();
				if (1 == 0)
				{
				}
				string text = (((int)val2 != 44) ? __result : "Forsaken");
				if (1 == 0)
				{
				}
				text2 = text;
			}
			if (1 == 0)
			{
			}
			__result = text2;
		}
	}
	internal class PhantinelComponent : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <SetupBoss>d__14 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public PhantinelComponent <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <SetupBoss>d__14(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0039: Unknown result type (might be due to invalid IL or missing references)
				//IL_004a: Unknown result type (might be due to invalid IL or missing references)
				//IL_005b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0073: Unknown result type (might be due to invalid IL or missing references)
				//IL_007d: Expected O, but got Unknown
				//IL_0099: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0118: Unknown result type (might be due to invalid IL or missing references)
				//IL_011d: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f8: 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_0172: 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_0204: Unknown result type (might be due to invalid IL or missing references)
				//IL_022e: Unknown result type (might be due to invalid IL or missing references)
				//IL_019f: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>4__this.sentinel.Load();
					<>4__this.silkfly.Load();
					<>4__this.perchfly.Load();
					<>2__current = (object)new WaitUntil((Func<bool>)(() => <>4__this.sentinel.IsLoaded && <>4__this.silkfly.IsLoaded && <>4__this.perchfly.IsLoaded));
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					<>2__current = <>4__this.sentinel.Handle;
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					if (<>4__this.sentinel.Handle.OperationException != null)
					{
						<>4__this.l.LogError((object)$"Error loading asset: {<>4__this.sentinel.Handle.OperationException}");
						return false;
					}
					if (<>4__this.silkfly.Handle.OperationException != null)
					{
						<>4__this.l.LogError((object)$"Error loading asset: {<>4__this.silkfly.Handle.OperationException}");
						return false;
					}
					if (<>4__this.perchfly.Handle.OperationException != null)
					{
						<>4__this.l.LogError((object)$"Error loading asset: {<>4__this.perchfly.Handle.OperationException}");
						return false;
					}
					<>4__this.senti = ManagedAssetExtensions.InstantiateAsset<GameObject>(<>4__this.sentinel);
					((Object)<>4__this.senti).name = "Second Sentinel";
					<>4__this.senti.transform.position = new Vector3(76.5f, 106f);
					<>4__this.senti.transform.localScale = new Vector3(-1f, 1f, 1f);
					<>4__this.senti.SetActive(true);
					<>4__this.ambientFly = ManagedAssetExtensions.InstantiateAsset<GameObject>(<>4__this.silkfly);
					((Object)<>4__this.ambientFly).name = "Silkfly Normal";
					<>4__this.perchedFly = ManagedAssetExtensions.InstantiateAsset<GameObject>(<>4__this.perchfly);
					((Object)<>4__this.perchedFly).name = "Silkfly Perched";
					<>4__this.GetComponents();
					<>4__this.EventSenders();
					<>4__this.FixSenti();
					<>4__this.SetupSilkflies();
					<>4__this.CoordinateIntro();
					<>4__this.DeathManager();
					<>4__this.CoordinateHealth();
					<>4__this.PrepareTeamBlast();
					<>4__this.TeamAttack();
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private ManagedAsset<GameObject> sentinel;

		private ManagedAsset<GameObject> silkfly;

		private ManagedAsset<GameObject> perchfly;

		private GameObject? ambientFly;

		private GameObject? perchedFly;

		private GameObject[] arenaFlies = null;

		private ManualLogSource l = Logger.CreateLogSource("ComponentLogger");

		private PlayMakerFSM _phanControl = null;

		private GameObject senti = null;

		private GameObject TeamWind = null;

		private PlayMakerFSM _senControl = null;

		private SendEventByName sendToPhan = null;

		private SendEventByName sendToSenti = null;

		private void Awake()
		{
			ManualLogSource val = Logger.CreateLogSource("ComponentLogger");
			sentinel = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Song Knight");
			silkfly = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Silkfly Ambient");
			perchfly = ManagedAsset<GameObject>.FromSceneAsset("hang_17b", "Boss Scene - To Additive Load/Silkfly Ambient Perched");
			((MonoBehaviour)this).StartCoroutine(SetupBoss());
		}

		[IteratorStateMachine(typeof(<SetupBoss>d__14))]
		private IEnumerator SetupBoss()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <SetupBoss>d__14(0)
			{
				<>4__this = this
			};
		}

		private void GetComponents()
		{
			_phanControl = FSMUtility.LocateMyFSM(((Component)this).gameObject, "Control");
			_senControl = FSMUtility.LocateMyFSM(senti, "Control");
		}

		private void EventSenders()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Expected O, but got Unknown
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: 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)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			//IL_003c: 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_0047: 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_005e: 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_007a: Expected O, but got Unknown
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Expected O, but got Unknown
			//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_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Expected O, but got Unknown
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e3: Expected O, but got Unknown
			FsmEvent val = new FsmEvent("TEAM NEXT");
			FsmEventTarget val2 = new FsmEventTarget();
			val2.gameObject = new FsmOwnerDefault
			{
				gameObject = FsmGameObject.op_Implicit(((Component)_phanControl).gameObject),
				ownerOption = (OwnerDefaultOption)1
			};
			val2.target = (EventTarget)1;
			sendToPhan = new SendEventByName
			{
				eventTarget = val2,
				sendEvent = FsmString.op_Implicit("TEAM NEXT"),
				delay = FsmFloat.op_Implicit(1f),
				everyFrame = true
			};
			FsmEventTarget val3 = new FsmEventTarget();
			val3.gameObject = new FsmOwnerDefault
			{
				gameObject = FsmGameObject.op_Implicit(senti),
				ownerOption = (OwnerDefaultOption)1
			};
			val3.target = (EventTarget)1;
			sendToSenti = new SendEventByName
			{
				eventTarget = val3,
				sendEvent = FsmString.op_Implicit("TEAM NEXT"),
				delay = FsmFloat.op_Implicit(1f),
				everyFrame = true
			};
		}

		private void FixSenti()
		{
			FsmUtil.ChangeTransition(_senControl, "Init", "UNENCOUNTERED", "Encountered");
			FsmUtil.GetState(_senControl, "Battle Start").Actions[6].enabled = false;
			PlayMakerFSM val = FSMUtility.LocateMyFSM(senti, "Save Hero");
			FsmStateAction[] actions = FsmUtil.GetState(val, "State 2").Actions;
			foreach (FsmStateAction val2 in actions)
			{
				FloatClamp val3 = (FloatClamp)(object)((val2 is FloatClamp) ? val2 : null);
				if (val3 != null)
				{
					val3.minValue = FsmFloat.op_Implicit(72.15f);
					val3.maxValue = FsmFloat.op_Implicit(96.85f);
				}
			}
			FsmStateAction[] actions2 = FsmUtil.GetState(_senControl, "Dash Slash 3").Actions;
			foreach (FsmStateAction val4 in actions2)
			{
				FloatClamp val5 = (FloatClamp)(object)((val4 is FloatClamp) ? val4 : null);
				if (val5 != null)
				{
					val5.minValue = FsmFloat.op_Implicit(72.15f);
					val5.maxValue = FsmFloat.op_Implicit(96.85f);
				}
			}
			senti.AddComponent<ConstrainPosition>();
			ConstrainPosition component = senti.GetComponent<ConstrainPosition>();
			component.constrainY = true;
			component.yMin = 104f;
			component.yMax = 200f;
		}

		private void SetupSilkflies()
		{
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_026e: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
			((Behaviour)ambientFly.GetComponent<PersistentBoolItem>()).enabled = false;
			((Behaviour)perchedFly.GetComponent<PersistentBoolItem>()).enabled = false;
			float[] array = new float[3] { 103.234f, 105.489f, 127.9104f };
			float[] array2 = new float[3] { 87f, 75.8677f, 91.0935f };
			float[] array3 = new float[4] { 101.3855f, 104.6476f, 110f, 115f };
			for (int i = 0; i < 3; i++)
			{
				GameObject val = Object.Instantiate<GameObject>(ambientFly);
				((Object)val).name = "Silkfly Path Air " + i;
				val.transform.position = new Vector3(array[i], array2[i], ((Component)this).transform.position.z);
				val.SetActive(true);
			}
			for (int j = 0; j < 4; j++)
			{
				GameObject val2 = Object.Instantiate<GameObject>(perchedFly);
				((Object)val2).name = "Silkfly Path Perched " + j;
				val2.transform.position = new Vector3(array3[j], 104.5677f, ((Component)this).transform.position.z);
				val2.SetActive(true);
			}
			((Behaviour)ambientFly.GetComponent<PlayMakerFSM>()).enabled = false;
			((Behaviour)perchedFly.GetComponent<PlayMakerFSM>()).enabled = false;
			((Component)ambientFly.transform.GetChild(0)).gameObject.SetActive(false);
			((Component)ambientFly.transform.GetChild(1)).gameObject.SetActive(false);
			((Component)perchedFly.transform.GetChild(0)).gameObject.SetActive(false);
			((Component)perchedFly.transform.GetChild(1)).gameObject.SetActive(false);
			int num = 0;
			float[] array4 = new float[4] { 75f, 80f, 87.654f, 78f };
			for (int k = 0; k < 4; k++)
			{
				float num2 = Random.Range(-1f, 1.5f);
				float num3 = 0f;
				num3 = ((k != 0 || k != 3) ? 4f : 3.615f);
				GameObject val3 = Object.Instantiate<GameObject>(perchedFly);
				((Object)val3).name = "Silkfly Arena Perched " + k;
				val3.transform.position = new Vector3(82.6914f + (float)num, 107.7305f, num3);
				val3.SetActive(true);
				GameObject val4 = Object.Instantiate<GameObject>(ambientFly);
				((Object)val4).name = "Silkfly Arena Air " + k;
				val4.transform.position = new Vector3(array4[k], 107f + num2, ambientFly.transform.position.z);
				val4.SetActive(true);
				arenaFlies = CollectionExtensions.AddToArray<GameObject>(arenaFlies, val4);
				arenaFlies = CollectionExtensions.AddToArray<GameObject>(arenaFlies, val3);
				num++;
			}
			ambientFly.SetActive(false);
			perchedFly.SetActive(false);
		}

		private void CoordinateIntro()
		{
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Expected O, but got Unknown
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Expected O, but got Unknown
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Expected O, but got Unknown
			//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dc: Expected O, but got Unknown
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f4: Expected O, but got Unknown
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0225: Expected O, but got Unknown
			//IL_0227: Unknown result type (might be due to invalid IL or missing references)
			//IL_022c: Unknown result type (might be due to invalid IL or missing references)
			//IL_023d: Unknown result type (might be due to invalid IL or missing references)
			//IL_023f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0249: Expected O, but got Unknown
			//IL_024c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0281: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02eb: Expected O, but got Unknown
			//IL_030b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0321: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0347: Unknown result type (might be due to invalid IL or missing references)
			//IL_035d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0367: Unknown result type (might be due to invalid IL or missing references)
			PlayMakerFSM val = FSMUtility.LocateMyFSM(GameObject.Find("Boss Scene"), "Control");
			GameObject.Find("Exhaust Column New").SetActive(false);
			GameObject.Find("Exhaust Column New (1)").SetActive(false);
			GameObject.Find("Exhaust Column New (2)").SetActive(false);
			GameObject.Find("Exhaust Column New (3)").SetActive(false);
			GameObject.Find("Exhaust Column Timer (1)").SetActive(false);
			FsmUtil.GetState(_senControl, "Enc Dormant").Actions[2].enabled = false;
			EnemySingControl val2 = (EnemySingControl)FsmUtil.GetState(_phanControl, "Sing").Actions[3];
			RandomAudioClipTable val3 = (RandomAudioClipTable)val2.singAudioTable.value;
			GameObject val4 = GameObject.Find("Organ Phantom");
			AudioSource val5 = val4.AddComponent<AudioSource>();
			((Behaviour)val5).enabled = false;
			val5.clip = val3.clips[0].Clip;
			val5.volume = 0.85f;
			val5.pitch = 1f;
			val5.minDistance = 50f;
			val5.maxDistance = 175f;
			val5.loop = false;
			val5.playOnAwake = true;
			val5.mute = false;
			FsmState val6 = new FsmState(val.fsm);
			val6.name = "Sing Init";
			val6.Actions = (FsmStateAction[])(object)new FsmStateAction[2]
			{
				new PhantomSingCute(val3, val5, ((Component)HeroController.instance).gameObject),
				FsmUtil.GetStateAction(val, "Init", 11)
			};
			FsmUtil.AddState(val, val6);
			FsmUtil.ChangeTransition(val, "Init", "ENTER", "Sing Init");
			FsmUtil.AddTransition(val, "Sing Init", "ENTER", "Enter");
			val.SendEvent("ENTER");
			Wait val7 = (Wait)FsmUtil.GetState(val, "Enter").Actions[3];
			val7.time = FsmFloat.op_Implicit(0.8f);
			SendEventByName val8 = new SendEventByName();
			val8.sendEvent = FsmString.op_Implicit("WAKE");
			val8.delay = FsmFloat.op_Implicit(0f);
			val8.everyFrame = true;
			FsmEventTarget val9 = new FsmEventTarget();
			val9.gameObject = new FsmOwnerDefault
			{
				gameObject = FsmGameObject.op_Implicit(senti),
				ownerOption = (OwnerDefaultOption)1
			};
			val9.target = (EventTarget)1;
			val8.eventTarget = val9;
			FsmUtil.AddAction(val, "FG Column", (FsmStateAction)(object)val8);
			GameObject.Find("Fog Column FG").transform.position = new Vector3(14.23f, 0f);
			GameObject val10 = GameObject.Find("Fog Column Antic");
			val10.transform.position = new Vector3(val10.transform.position.x + 14.23f, val10.transform.position.y);
			ActivateGameObject val11 = (ActivateGameObject)FsmUtil.GetState(val, "FG Column").Actions[2];
			GameObject value = val11.gameObject.gameObject.value;
			value.transform.position = new Vector3(((Component)this).transform.position.x + 14.23f, ((Component)this).transform.position.y);
			((Component)this).gameObject.transform.position = new Vector3(((Component)this).transform.position.x + 14.23f, ((Component)this).transform.position.y);
			FsmUtil.AddAction(_phanControl, "Start Pause", FsmUtil.GetState(_phanControl, "Evade Antic").Actions[0]);
		}

		private void DeathManager()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Expected O, but got Unknown
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Expected O, but got Unknown
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: 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_00b3: 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_00bf: Expected O, but got Unknown
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: 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_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ec: Expected O, but got Unknown
			//IL_0116: Unknown result type (might be due to invalid IL or missing references)
			//IL_011c: Expected O, but got Unknown
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0151: Expected O, but got Unknown
			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Expected O, but got Unknown
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01de: Expected O, but got Unknown
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Expected O, but got Unknown
			FsmUtil.AddAction(_senControl, "Enc End Pause", (FsmStateAction)new SetMeshRenderer
			{
				gameObject = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(senti),
					ownerOption = (OwnerDefaultOption)1
				},
				active = FsmBool.op_Implicit(false)
			});
			FsmUtil.RemoveTransition(_senControl, "Enc End Pause", "FINISHED");
			Transform child = senti.transform.GetChild(40);
			PlayMakerFSM val = FSMUtility.LocateMyFSM(((Component)child).gameObject, "Death");
			FsmUtil.RemoveTransition(val, "Blow", "FINISHED");
			FsmUtil.AddAction(val, "Blow", (FsmStateAction)new SetPosition2D
			{
				GameObject = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(((Component)child).gameObject),
					ownerOption = (OwnerDefaultOption)1
				},
				Vector = FsmVector2.op_Implicit(new Vector2(80f, 200f)),
				Space = (Space)0,
				EveryFrame = false
			});
			FsmUtil.AddAction(val, "Blow", (FsmStateAction)(object)sendToPhan);
			Tk2dPlayAnimationWithEvents val2 = (Tk2dPlayAnimationWithEvents)FsmUtil.GetState(_phanControl, "Final Parry").Actions[6];
			val2.clipName = FsmString.op_Implicit("Death Stagger");
			FsmUtil.AddAction(_phanControl, "Final Parry", (FsmStateAction)new NextFrameEvent
			{
				sendEvent = FsmEvent.GetFsmEvent("NEXT")
			});
			FsmUtil.ChangeTransition(_phanControl, "Final Parry", "NEXT", "Death Steam");
			FsmState state = FsmUtil.GetState(_phanControl, "Final Parry");
			state.Actions[16].enabled = false;
			state.Actions[13].enabled = false;
			state.Actions[12].enabled = false;
			FsmUtil.AddAction(_phanControl, "Death Explode", (FsmStateAction)new SetMeshRenderer
			{
				gameObject = new FsmOwnerDefault
				{
					ownerOption = (OwnerDefaultOption)0
				},
				active = FsmBool.op_Implicit(false)
			});
			FsmUtil.AddAction(_phanControl, "Death Steam", (FsmStateAction)(object)new RaisePhantom(((Component)this).gameObject));
			FsmState val3 = new FsmState(_phanControl.fsm);
			val3.Name = "Death Wait Phantom";
			FsmUtil.AddState(_phanControl, val3);
			FsmUtil.ChangeTransition(_phanControl, "Death Explode", "FINISHED", "Death Wait Phantom");
			FsmUtil.AddTransition(_phanControl, "Death Wait Phantom", "TEAM NEXT", "Fade To Black");
			FsmUtil.AddAction(_senControl, "Enc End Pause", (FsmStateAction)(object)sendToPhan);
		}

		private void CoordinateHealth()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: 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_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Expected O, but got Unknown
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: 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_0067: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Expected O, but got Unknown
			//IL_008a: 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_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Expected O, but got Unknown
			//IL_00d0: 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_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_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Expected O, but got Unknown
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Expected O, but got Unknown
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_0140: Expected O, but got Unknown
			//IL_015b: 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_0176: Unknown result type (might be due to invalid IL or missing references)
			//IL_0186: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Unknown result type (might be due to invalid IL or missing references)
			//IL_019f: Expected O, but got Unknown
			SetHP val = new SetHP
			{
				target = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(((Component)_phanControl).gameObject),
					ownerOption = (OwnerDefaultOption)1
				},
				hp = FsmInt.op_Implicit(325)
			};
			SetHP val2 = new SetHP
			{
				target = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(senti),
					ownerOption = (OwnerDefaultOption)1
				},
				hp = FsmInt.op_Implicit(400)
			};
			FsmUtil.AddAction(_phanControl, "Dragoon Rage", (FsmStateAction)(object)val2);
			SubtractHP val3 = new SubtractHP
			{
				target = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(senti),
					ownerOption = (OwnerDefaultOption)1
				},
				amount = FsmInt.op_Implicit(senti.GetComponent<HealthManager>().hp / 2)
			};
			SubtractHP val4 = new SubtractHP
			{
				target = new FsmOwnerDefault
				{
					ownerOption = (OwnerDefaultOption)0
				},
				amount = FsmInt.op_Implicit(((Component)_phanControl).gameObject.GetComponent<HealthManager>().hp / 2)
			};
			FsmUtil.AddAction(_phanControl, "Death Explode", (FsmStateAction)(object)val3);
			FsmUtil.AddAction(_senControl, "Enc End Pause", (FsmStateAction)(object)val4);
			FsmState val5 = new FsmState(_senControl.fsm);
			val5.Name = "Phase 2 Antic";
			FsmUtil.AddState(_senControl, val5);
			BoolTest val6 = new BoolTest
			{
				boolVariable = FsmUtil.GetBoolVariable(_senControl, "P2"),
				isTrue = FsmEvent.GetFsmEvent("WAKE"),
				isFalse = FsmEvent.GetFsmEvent("WALL"),
				everyFrame = false
			};
			FsmUtil.InsertAction(_senControl, "Idle", (FsmStateAction)(object)val6, 0);
			FsmUtil.InsertAction(_senControl, "Move Choice", (FsmStateAction)(object)val6, 0);
			FsmUtil.InsertAction(_senControl, "Do Move", (FsmStateAction)(object)val6, 0);
			FsmUtil.AddTransition(_senControl, "Idle", "WAKE", "Leave Antic");
			FsmUtil.AddTransition(_senControl, "Move Choice", "WAKE", "Leave Antic");
			FsmUtil.AddTransition(_senControl, "Do Move", "WAKE", "Leave Antic");
			FsmUtil.ChangeTransition(_senControl, "Leave Jump", "FINISHED", "Phase 2 Antic");
			val5.Actions = (FsmStateAction[])(object)new FsmStateAction[2]
			{
				(FsmStateAction)val,
				(FsmStateAction)sendToPhan
			};
		}

		private void PrepareTeamBlast()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			SpawnObjectFromGlobalPool val = (SpawnObjectFromGlobalPool)FsmUtil.GetStateAction(_senControl, "WindSlash", 9);
			GameObject value = val.gameObject.value;
			if ((Object)(object)value != (Object)null)
			{
				GameObject val2 = Object.Instantiate<GameObject>(value);
				val2.SetActive(false);
				((Object)val2).name = "Team Wind Blast Base";
				TeamWind = val2;
			}
		}

		private void TeamAttack()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Expected O, but got Unknown
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Expected O, but got Unknown
			//IL_0063: 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_0069: 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_0084: 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_0090: Expected O, but got Unknown
			//IL_0090: 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_00aa: 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_00b9: Expected O, but got Unknown
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: 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_00e7: Expected O, but got Unknown
			//IL_0113: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Expected O, but got Unknown
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0154: Unknown result type (might be due to invalid IL or missing references)
			//IL_015b: 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_0175: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_017c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Expected O, but got Unknown
			//IL_0194: Unknown result type (might be due to invalid IL or missing references)
			//IL_0199: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_019f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Expected O, but got Unknown
			//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cc: 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: Expected O, but got Unknown
			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_020f: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0227: Expected O, but got Unknown
			//IL_026c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0272: Expected O, but got Unknown
			//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02da: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Expected O, but got Unknown
			//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0302: Unknown result type (might be due to invalid IL or missing references)
			//IL_0303: Unknown result type (might be due to invalid IL or missing references)
			//IL_0308: Unknown result type (might be due to invalid IL or missing references)
			//IL_031e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0320: Unknown result type (might be due to invalid IL or missing references)
			//IL_032a: Expected O, but got Unknown
			//IL_032a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_0364: Unknown result type (might be due to invalid IL or missing references)
			//IL_0366: Unknown result type (might be due to invalid IL or missing references)
			//IL_036b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0373: Expected O, but got Unknown
			//IL_039f: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a6: Expected O, but got Unknown
			//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03db: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ec: Expected O, but got Unknown
			//IL_0417: Unknown result type (might be due to invalid IL or missing references)
			//IL_041e: Expected O, but got Unknown
			//IL_043a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0441: Expected O, but got Unknown
			//IL_0458: Unknown result type (might be due to invalid IL or missing references)
			//IL_045d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0464: Unknown result type (might be due to invalid IL or missing references)
			//IL_0474: Unknown result type (might be due to invalid IL or missing references)
			//IL_0485: Expected O, but got Unknown
			//IL_0487: Unknown result type (might be due to invalid IL or missing references)
			//IL_048c: Unknown result type (might be due to invalid IL or missing references)
			//IL_048d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0492: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04af: Expected O, but got Unknown
			//IL_04af: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ea: Expected O, but got Unknown
			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ff: Expected O, but got Unknown
			//IL_04ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_050a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0514: Expected O, but got Unknown
			//IL_0514: Unknown result type (might be due to invalid IL or missing references)
			//IL_0517: Unknown result type (might be due to invalid IL or missing references)
			//IL_051c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0528: Unknown result type (might be due to invalid IL or missing references)
			//IL_0530: Expected O, but got Unknown
			//IL_0532: Unknown result type (might be due to invalid IL or missing references)
			//IL_0537: Unknown result type (might be due to invalid IL or missing references)
			//IL_053e: Unknown result type (might be due to invalid IL or missing references)
			//IL_054b: Expected O, but got Unknown
			//IL_057e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0585: Expected O, but got Unknown
			//IL_059c: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c4: Expected O, but got Unknown
			//IL_05c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e5: Expected O, but got Unknown
			//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0603: Unknown result type (might be due to invalid IL or missing references)
			//IL_0605: Unknown result type (might be due to invalid IL or missing references)
			//IL_060f: Expected O, but got Unknown
			//IL_060f: Unknown result type (might be due to invalid IL or missing references)
			//IL_061f: Unknown result type (might be due to invalid IL or missing references)
			//IL_062e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0635: Unknown result type (might be due to invalid IL or missing references)
			//IL_0640: Unknown result type (might be due to invalid IL or missing references)
			//IL_064a: Expected O, but got Unknown
			//IL_064a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0655: Unknown result type (might be due to invalid IL or missing references)
			//IL_065f: Expected O, but got Unknown
			//IL_065f: Unknown result type (might be due to invalid IL or missing references)
			//IL_066a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0674: Expected O, but got Unknown
			//IL_0674: Unknown result type (might be due to invalid IL or missing references)
			//IL_0677: Unknown result type (might be due to invalid IL or missing references)
			//IL_067c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0688: Unknown result type (might be due to invalid IL or missing references)
			//IL_0690: Expected O, but got Unknown
			//IL_0692: Unknown result type (might be due to invalid IL or missing references)
			//IL_0697: Unknown result type (might be due to invalid IL or missing references)
			//IL_069e: Unknown result type (might be due to invalid IL or missing references)
			//IL_06af: Expected O, but got Unknown
			//IL_0715: Unknown result type (might be due to invalid IL or missing references)
			//IL_071c: Expected O, but got Unknown
			//IL_0733: Unknown result type (might be due to invalid IL or missing references)
			//IL_0738: Unknown result type (might be due to invalid IL or missing references)
			//IL_0748: Unknown result type (might be due to invalid IL or missing references)
			//IL_0759: Expected O, but got Unknown
			//IL_075b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0760: Unknown result type (might be due to invalid IL or missing references)
			//IL_0761: Unknown result type (might be due to invalid IL or missing references)
			//IL_0766: Unknown result type (might be due to invalid IL or missing references)
			//IL_0777: Unknown result type (might be due to invalid IL or missing references)
			//IL_0779: Unknown result type (might be due to invalid IL or missing references)
			//IL_0783: Expected O, but got Unknown
			//IL_0783: Unknown result type (might be due to invalid IL or missing references)
			//IL_0793: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d0: Expected O, but got Unknown
			//IL_07d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07fb: Expected O, but got Unknown
			//IL_07fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0807: Unknown result type (might be due to invalid IL or missing references)
			//IL_0813: Unknown result type (might be due to invalid IL or missing references)
			//IL_081a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0822: Expected O, but got Unknown
			//IL_0824: Unknown result type (might be due to invalid IL or missing references)
			//IL_0829: Unknown result type (might be due to invalid IL or missing references)
			//IL_082a: Unknown result type (might be due to invalid IL or missing references)
			//IL_082f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0841: Unknown result type (might be due to invalid IL or missing references)
			//IL_0843: Unknown result type (might be due to invalid IL or missing references)
			//IL_084d: Expected O, but got Unknown
			//IL_084d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0858: Unknown result type (might be due to invalid IL or missing references)
			//IL_0867: Unknown result type (might be due to invalid IL or missing references)
			//IL_0869: Unknown result type (might be due to invalid IL or missing references)
			//IL_086e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0876: Expected O, but got Unknown
			//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a9: Expected O, but got Unknown
			//IL_08bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c4: Expected O, but got Unknown
			//IL_0989: Unknown result type (might be due to invalid IL or missing references)
			//IL_0990: Expected O, but got Unknown
			//IL_09a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d6: Expected O, but got Unknown
			//IL_09d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_09dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a0f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a20: Expected O, but got Unknown
			//IL_0a22: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a27: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a48: Expected O, but got Unknown
			//IL_0b90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b95: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bb7: Expected O, but got Unknown
			FsmOwnerDefault gameObject = new FsmOwnerDefault
			{
				gameObject = FsmGameObject.op_Implicit(senti),
				ownerOption = (OwnerDefaultOption)1
			};
			FsmInt val = FsmUtil.AddIntVariable(_senControl, "Rage Blasts");
			FsmState val2 = new FsmState(_phanControl.fsm);
			val2.Name = "Phantom Ally Wait";
			FsmUtil.AddState(_phanControl, val2);
			val2.Actions = (FsmStateAction[])(object)new FsmStateAction[2]
			{
				(FsmStateAction)new SetPosition2D
				{
					GameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(((Component)_phanControl).gameObject),
						ownerOption = (OwnerDefaultOption)1
					},
					Vector = FsmVector2.op_Implicit(new Vector2(84.5f, 122.2f)),
					Space = (Space)0,
					EveryFrame = true
				},
				(FsmStateAction)new BoolTest
				{
					boolVariable = FsmUtil.GetBoolVariable(_phanControl, "Did Rage"),
					isTrue = FsmEvent.GetFsmEvent("NEXT")
				}
			};
			FsmUtil.AddTransition(_phanControl, "Dragoon Away", "RAGE", "Phantom Ally Wait");
			FsmUtil.AddAction(_phanControl, "Dragoon Away", (FsmStateAction)new BoolTest
			{
				boolVariable = FsmUtil.GetBoolVariable(_phanControl, "Raging"),
				isTrue = FsmEvent.GetFsmEvent("RAGE")
			});
			FsmUtil.AddAction(_senControl, "Phase 2 Antic", (FsmStateAction)new SetPosition2D
			{
				GameObject = gameObject,
				Vector = FsmVector2.op_Implicit(new Vector2(85f, 132f)),
				Space = (Space)0,
				EveryFrame = false
			});
			FsmUtil.AddAction(_senControl, "Phase 2 Antic", (FsmStateAction)new SetVelocityByScale
			{
				gameObject = new FsmOwnerDefault
				{
					gameObject = FsmGameObject.op_Implicit(senti),
					ownerOption = (OwnerDefaultOption)1
				},
				speed = FsmFloat.op_Implicit(0f),
				ySpeed = FsmFloat.op_Implicit(0f),
				everyFrame = true
			});
			FsmUtil.AddAction(_senControl, "Phase 2 Antic", (FsmStateAction)new SetIntValue
			{
				intVariable = FsmUtil.GetIntVariable(_senControl, "Rage Blasts"),
				intValue = FsmInt.op_Implicit(4),
				everyFrame = false
			});
			FsmUtil.AddAction(_senControl, "Phase 2 Antic", (FsmStateAction)(object)new ScaleChange(senti, -1));
			FsmUtil.AddAction(_senControl, "Phase 2 Antic", (FsmStateAction)(object)new PrepP2(_senControl));
			FsmState val3 = new FsmState(_phanControl.fsm);
			val3.Name = "Air Roar";
			val3.Actions = (FsmStateAction[])(object)new FsmStateAction[6]
			{
				FsmUtil.GetState(_phanControl, "Dragoon Roar").Actions[1],
				FsmUtil.GetState(_phanControl, "Dragoon Roar").Actions[2],
				FsmUtil.GetState(_phanControl, "Dragoon Roar").Actions[4],
				(FsmStateAction)new Wait
				{
					time = FsmFloat.op_Implicit(1.5f),
					finishEvent = FsmEvent.GetFsmEvent("NEXT")
				},
				(FsmStateAction)new SetPosition2D
				{
					GameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(((Component)_phanControl).gameObject),
						ownerOption = (OwnerDefaultOption)1
					},
					Vector = FsmVector2.op_Implicit(new Vector2(FsmUtil.GetFloatVariable(_phanControl, "Dragoon X").value, FsmUtil.GetFloatVariable(_phanControl, "Dragoon Y").value)),
					Space = (Space)0,
					EveryFrame = true
				},
				new ActivateSilkflies(arenaFlies)
			};
			FsmUtil.AddState(_phanControl, val3);
			FsmState val4 = new FsmState(_phanControl.fsm);
			val4.Name = "Start Team Attack";
			val4.Actions = (FsmStateAction[])(object)new FsmStateAction[2]
			{
				(FsmStateAction)sendToSenti,
				(FsmStateAction)new Wait
				{
					time = FsmFloat.op_Implicit(1.91f),
					finishEvent = FsmEvent.GetFsmEvent("NEXT")
				}
			};
			FsmUtil.AddState(_phanControl, val4);
			SetFloatValue val5 = (SetFloatValue)FsmUtil.GetState(_phanControl, "Dragoon Rage").Actions[3];
			val5.floatValue = FsmFloat.op_Implicit(0.95f);
			FsmState val6 = new FsmState(_senControl.fsm);
			val6.Name = "Team Descend";
			val6.Actions = (FsmStateAction[])(object)new FsmStateAction[4]
			{
				(FsmStateAction)new Tk2dPlayAnimation
				{
					gameObject = gameObject,
					animLibName = FsmString.op_Implicit(""),
					clipName = FsmString.op_Implicit("Dive Attack")
				},
				(FsmStateAction)new AnimatePositionTo
				{
					gameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(senti),
						ownerOption = (OwnerDefaultOption)0
					},
					toValue = FsmVector3.op_Implicit(new Vector3(95.2224f, 106f, 0f)),
					localSpace = false,
					time = new FsmFloat(FsmFloat.op_Implicit(0.45f)),
					speed = new FsmFloat(FsmFloat.op_Implicit(1f)),
					delay = new FsmFloat(FsmFloat.op_Implicit(0f)),
					easeType = (EaseType)21,
					reverse = FsmBool.op_Implicit(false),
					realTime = false
				},
				(FsmStateAction)new SetIsKinematic2d
				{
					gameObject = gameObject,
					isKinematic = FsmBool.op_Implicit(false)
				},
				FsmUtil.GetStateAction(_senControl, "Rapid Slash Connect", 5)
			};
			FsmUtil.AddState(_senControl, val6);
			FsmState val7 = new FsmState(_senControl.fsm);
			val7.Name = "Team Pos";
			val7.Actions = (FsmStateAction[])(object)new FsmStateAction[4]
			{
				(FsmStateAction)new Tk2dPlayAnimationWithEvents
				{
					gameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(senti),
						ownerOption = (OwnerDefaultOption)0
					},
					clipName = FsmString.op_Implicit("Wind Slash Antic"),
					animationCompleteEvent = FsmEvent.GetFsmEvent("FINISHED")
				},
				(FsmStateAction)new AnimatePositionTo
				{
					gameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(senti),
						ownerOption = (OwnerDefaultOption)1
					},
					toValue = FsmVector3.op_Implicit(new Vector3(95.2224f, 107.85f, 0f)),
					localSpace = false,
					time = new FsmFloat(FsmFloat.op_Implicit(0.15f)),
					speed = new FsmFloat(FsmFloat.op_Implicit(1f)),
					delay = new FsmFloat(FsmFloat.op_Implicit(0f)),
					easeType = (EaseType)21,
					reverse = FsmBool.op_Implicit(false),
					realTime = false
				},
				(FsmStateAction)new SetGravity2dScale
				{
					gameObject = gameObject,
					gravityScale = FsmFloat.op_Implicit(0f)
				},
				new ScaleChange(senti, 1)
			};
			FsmUtil.AddState(_senControl, val7);
			Transform val8 = Object.Instantiate<Transform>(((Component)_phanControl).transform.GetChild(12));
			((Object)((Component)val8).gameObject).name = "Senti Focus";
			Extensions.SetRotationZ(val8, 270f);
			FsmState val9 = new FsmState(_senControl.fsm);
			val9.Name = "Team Charge";
			val9.Actions = (FsmStateAction[])(object)new FsmStateAction[4]
			{
				(FsmStateAction)new Wait
				{
					time = FsmFloat.op_Implicit(1f),
					finishEvent = FsmEvent.GetFsmEvent("FINISHED")
				},
				(FsmStateAction)new ObjectJitter
				{
					gameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(senti),
						ownerOption = (OwnerDefaultOption)1
					},
					x = FsmFloat.op_Implicit(0.45f),
					y = FsmFloat.op_Implicit(0.45f),
					z = FsmFloat.op_Implicit(0f),
					allowMovement = FsmBool.op_Implicit(false),
					limitFps = FsmFloat.op_Implicit(0f)
				},
				(FsmStateAction)new ActivateGameObject
				{
					gameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(((Component)val8).gameObject),
						ownerOption = (OwnerDefaultOption)1
					},
					activate = FsmBool.op_Implicit(true),
					recursive = FsmBool.op_Implicit(false),
					resetOnExit = false,
					everyFrame = false
				},
				(FsmStateAction)new SetPosition2D
				{
					GameObject = new FsmOwnerDefault
					{
						gameObject = FsmGameObject.op_Implicit(((Component)val8).gameObject),
						ownerOption = (OwnerDefaultOption)1
					},
					Vector = FsmVector2.op_Implicit(new Vector2(72.75f, 107.5f)),
					Space = (Space)0,
					EveryFrame = false
				}
			};
			FsmUtil.AddState(_senControl, val9);
			SetVelocityByScale val10 = (SetVelocityByScale)FsmUtil.GetState(_senControl, "WindSlash").Actions[11];
			FsmOwnerDefault gameObject2 = val10.gameObject;
			FsmState val11 = new FsmState(_senControl.fsm);
			val11.Name = "Team Blast";
			val11.Actions = (FsmStateAction[])(object)new FsmStateAction[6]
			{
				FsmUtil.GetState(_senControl, "WindSlash").Actions[2],
				FsmUtil.GetState(_senControl, "WindSlash").Actions[3],
				FsmUtil.GetState(_senControl, "WindSlash").Actions[5],
				FsmUtil.GetState(_senControl, "WindSlash").Actions[6],
				FsmUtil.GetState(_senControl, "WindSlash").Actions[10],
				new TeamBlastInst(TeamWind)
			};
			FsmUtil.AddState(_senControl, val11);
			FsmState val12 = new FsmState(_senControl.fsm);
			val12.Name = "Team Repeat?";
			val12.Actions = (FsmStateAction[])(object)new FsmStateAction[3]
			{
				(FsmStateAction)new IntAdd
				{
					intVariable = FsmUtil.GetIntVariable(_senControl, "Rage Blasts"),
					add = FsmInt.op_Implicit(-1),
					everyFrame = false
				},
				(FsmStateAction)new IntCompare
				{
					integer1 = FsmUtil.GetIntVariable(_senControl, "Rage Blasts"),
					integer2 = FsmInt.op_Implicit(0),
					lessThan = FsmEvent.GetFsmEvent("CANCEL"),
					equal = FsmEvent.GetFsmEvent("CANCEL")
				},
				(FsmStateAction)new Wait
				{
					time = FsmFloat.op_Implicit(1f),
					finishEvent = FsmEvent.GetFsmEvent("FINISHED")
				}
			};
			FsmUtil.AddState(_senControl, val12);
			FsmUtil.AddTransition(_phanControl, "Phantom Ally Wait", "NEXT", "Pos");
			FsmUtil.AddTransition(_phanControl, "Phantom Ally Wait", "TEAM NEXT", "Air Roar");
			FsmUtil.AddTransition(_phanControl, "Air Roar", "NEXT", "Start Team Attack");
			FsmUtil.AddTransition(_phanControl, "Start Team Attack", "NEXT", "Pos");
			FsmUtil.AddTransition(_senControl, "Phase 2 Antic", "TEAM NEXT", "Team Descend");
			FsmUtil.AddTransition(_senControl, "Team Descend", "FINISHED", "Team Pos");
			FsmUtil.AddTransition(_senControl, "Team Pos", "FINISHED", "Team Charge");
			FsmUtil.AddTransition(_senControl, "Team Charge", "FINISHED", "Team Blast");
			FsmUtil.AddTransition(_senControl, "Team Blast", "FINISHED", "Team Repeat?");
			FsmUtil.AddTransition(_senControl, "Team Repeat?", "FINISHED", "Team Pos");
			FsmUtil.AddTransition(_senControl, "Team Repeat?", "CANCEL", "Jump Fall");
			FsmUtil.AddAction(_senControl, "Jump Fall", (FsmStateAction)new SetGravity2dScale
			{
				gameObject = gameObject,
				gravityScale = FsmUtil.GetFloatVariable(_senControl, "Gravity")
			});
			FsmUtil.AddAction(_senControl, "Jump Fall", FsmUtil.GetStateAction(_senControl, "Dash Slash End 2", 2));
		}
	}
}