Decompiled source of Faded Phantom v0.1.4

Faded Phantom.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using HutongGames.PlayMaker;
using HutongGames.PlayMaker.Actions;
using Microsoft.CodeAnalysis;
using UnityEngine;

[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("Faded Phantom")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("0.1.4.0")]
[assembly: AssemblyInformationalVersion("0.1.4+92c9aa63a38e7d7a813bac4a1ce0daae9df09557")]
[assembly: AssemblyProduct("Faded Phantom")]
[assembly: AssemblyTitle("Faded_Phantom")]
[assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/spaet1s/Faded-Phantom")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.1.4.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 FadedPhantom
{
	[BepInPlugin("com.tj.phantom", "Faded Phantom", "1.0.0")]
	public class FadedPhantom : BaseUnityPlugin
	{
		[ActionCategory("Custom")]
		public class InstantiateAndMoveWithAngle : FsmStateAction
		{
			[RequiredField]
			public FsmGameObject prefab = null;

			public FsmGameObject phantom = null;

			public FsmFloat speed = null;

			public FsmFloat angle = null;

			private GameObject instance = null;

			public override void OnEnter()
			{
				//IL_0031: Unknown result type (might be due to invalid IL or missing references)
				//IL_0037: 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_0092: 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_0120: Unknown result type (might be due to invalid IL or missing references)
				if ((Object)(object)prefab.Value == (Object)null)
				{
					((FsmStateAction)this).Finish();
					return;
				}
				instance = Object.Instantiate<GameObject>(prefab.Value, default(Vector3), Quaternion.Euler(0f, 0f, angle.value * prefab.Value.transform.localScale.x));
				instance.transform.position = phantom.Value.transform.position;
				float num = (float)Math.Sin((double)(90f - angle.Value) * (Math.PI / 180.0)) * speed.Value * instance.transform.localScale.x;
				float num2 = (float)Math.Cos((double)(90f - angle.Value) * (Math.PI / 180.0)) * speed.Value;
				instance.GetComponent<Rigidbody2D>().linearVelocity = new Vector2(0f - num, 0f - num2);
				instance.SetActive(true);
				((FsmStateAction)this).Finish();
			}

			public override void OnExit()
			{
				if ((Object)(object)instance != (Object)null)
				{
					Object.Destroy((Object)(object)instance);
				}
			}
		}

		[HarmonyPatch(typeof(PlayMakerFSM), "Awake")]
		private static class PlayMakerFSMPatch
		{
			private static void Postfix(PlayMakerFSM __instance)
			{
				GameObject val = ((__instance != null) ? ((Component)__instance).gameObject : null);
				if (!((Object)(object)val == (Object)null) && ((Object)val).name.StartsWith("phantom", StringComparison.OrdinalIgnoreCase) && !((Object)(object)__instance == (Object)null) && __instance.FsmName != null && string.Equals(__instance.FsmName, "Control", StringComparison.OrdinalIgnoreCase))
				{
					val.GetComponent<HealthManager>().hp = 1500;
					PatchValues(__instance.Fsm, val);
					AddActions(__instance.Fsm, val);
					throwExplosion(__instance.Fsm, val);
					extraPin(__instance.Fsm, val);
					rageSpam(__instance.Fsm, val);
					Log.LogInfo((object)"Faded Phantom Mod Loaded");
				}
			}

			private static void PatchValues(Fsm fsm, GameObject owner)
			{
				FsmEvent finishedEvent = FsmEvent.Finished;
				FsmState state = fsm.GetState("Range Check");
				if (state == null)
				{
					Log.LogWarning((object)"State Range Check couldn't be found.");
					return;
				}
				CheckHeroPerformanceRegion val = state.Actions.OfType<CheckHeroPerformanceRegion>().FirstOrDefault();
				val.MinReactDelay = FsmFloat.op_Implicit(0f);
				val.MaxReactDelay = FsmFloat.op_Implicit(0.1f);
				state = fsm.GetState("G Throw");
				if (state == null)
				{
					Log.LogWarning((object)"State G Throw couldn't be found.");
					return;
				}
				SetVelocityByScale val2 = state.Actions.OfType<SetVelocityByScale>().FirstOrDefault();
				val2.speed = FsmFloat.op_Implicit(-70f);
				state = fsm.GetState("G Pull Wait");
				if (state == null)
				{
					Log.LogWarning((object)"State G Pull Wait couldn't be found.");
					return;
				}
				Wait val3 = state.Actions.OfType<Wait>().FirstOrDefault();
				val3.time = FsmFloat.op_Implicit(0.1f);
				state = fsm.GetState("A Throw");
				if (state == null)
				{
					Log.LogWarning((object)"State A Throw couldn't be found.");
					return;
				}
				SetVelocityAsAngle val4 = state.Actions.OfType<SetVelocityAsAngle>().FirstOrDefault();
				val4.speed = FsmFloat.op_Implicit(90f);
				state = fsm.GetState("A Pull Wait");
				if (state == null)
				{
					Log.LogWarning((object)"State G Pull Wait couldn't be found.");
					return;
				}
				val3 = state.Actions.OfType<Wait>().FirstOrDefault();
				val3.time = FsmFloat.op_Implicit(0.1f);
				state = fsm.GetState("Parry Block");
				if (state == null)
				{
					Log.LogWarning((object)"State Parry Block couldn't be found.");
					return;
				}
				FaceObjectV2 val5 = state.Actions.OfType<FaceObjectV2>().FirstOrDefault();
				val5.pauseBetweenTurns = 0.1f;
				state = fsm.GetState("Run To");
				if (state == null)
				{
					Log.LogWarning((object)"State Run To couldn't be found.");
					return;
				}
				val3 = state.Actions.OfType<Wait>().FirstOrDefault();
				val3.time = FsmFloat.op_Implicit(0.4f);
				val2 = state.Actions.OfType<SetVelocityByScale>().FirstOrDefault();
				val2.speed = FsmFloat.op_Implicit(-20f);
				state = fsm.GetState("Land");
				if (state == null)
				{
					Log.LogWarning((object)"State Land couldn't be found.");
					return;
				}
				SetGravity2dScale val6 = state.Actions.OfType<SetGravity2dScale>().FirstOrDefault();
				val6.gravityScale = FsmFloat.op_Implicit(4f);
				state = fsm.GetState("Jump");
				if (state == null)
				{
					Log.LogWarning((object)"State Jump couldn't be found.");
					return;
				}
				RandomFloat val7 = state.Actions.OfType<RandomFloat>().FirstOrDefault();
				val7.min = FsmFloat.op_Implicit(60f);
				val7.max = FsmFloat.op_Implicit(60f);
				state = fsm.GetState("A Thunk");
				if (state == null)
				{
					Log.LogWarning((object)"State A Thunk couldn't be found.");
					return;
				}
				val3 = state.Actions.OfType<Wait>().FirstOrDefault();
				val3.time = FsmFloat.op_Implicit(0.15f);
				state = fsm.GetState("Stab Antic");
				if (state == null)
				{
					Log.LogWarning((object)"State Stab Antic couldn't be found.");
					return;
				}
				val5 = state.Actions.OfType<FaceObjectV2>().FirstOrDefault();
				val5.pauseBetweenTurns = 0f;
				for (int i = 1; i < 6; i += 2)
				{
					state = fsm.GetState($"Stab {i}");
					if (state == null)
					{
						Log.LogWarning((object)$"State Stab {i} couldn't be found.");
						return;
					}
					val2 = state.Actions.OfType<SetVelocityByScale>().FirstOrDefault();
					val2.speed = FsmFloat.op_Implicit(-90f);
				}
				state = fsm.GetState("Phase?");
				if (state == null)
				{
					Log.LogWarning((object)"State Phase? couldn't be found.");
					return;
				}
				BoolTest item = state.Actions.OfType<BoolTest>().FirstOrDefault((Func<BoolTest, bool>)((BoolTest a) => a.isFalse == finishedEvent));
				List<FsmStateAction> list = state.Actions.ToList();
				list.Remove((FsmStateAction)(object)item);
				state.Actions = list.ToArray();
				GameObject value = fsm.variables.FindFsmGameObject("Hit Stab 1").Value;
				value.GetComponent<DamageHero>().damageDealt = 2;
				GameObject value2 = fsm.variables.FindFsmGameObject("Hit Stab 2").Value;
				value2.GetComponent<DamageHero>().damageDealt = 2;
				GameObject value3 = fsm.variables.FindFsmGameObject("Pin Projectile").Value;
				value3.GetComponent<DamageHero>().damageDealt = 2;
			}

			private static void AddActions(Fsm fsm, GameObject owner)
			{
				//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_001a: Expected O, but got Unknown
				//IL_0038: 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_004d: 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_0065: Expected O, but got Unknown
				//IL_0083: Unknown result type (might be due to invalid IL or missing references)
				//IL_0088: 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_009e: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a9: Expected O, but got Unknown
				//IL_015a: Unknown result type (might be due to invalid IL or missing references)
				//IL_015f: 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_0165: Unknown result type (might be due to invalid IL or missing references)
				//IL_0172: Expected O, but got Unknown
				//IL_0172: Unknown result type (might be due to invalid IL or missing references)
				//IL_0182: Unknown result type (might be due to invalid IL or missing references)
				//IL_0192: Unknown result type (might be due to invalid IL or missing references)
				//IL_019b: Expected O, but got Unknown
				//IL_0257: Unknown result type (might be due to invalid IL or missing references)
				//IL_025c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0269: Expected O, but got Unknown
				//IL_026b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0270: Unknown result type (might be due to invalid IL or missing references)
				//IL_027d: Expected O, but got Unknown
				//IL_027f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0284: Unknown result type (might be due to invalid IL or missing references)
				//IL_0291: Expected O, but got Unknown
				//IL_02a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ae: Expected O, but got Unknown
				//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02be: Expected O, but got Unknown
				//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ce: Expected O, but got Unknown
				//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_02eb: Expected O, but got Unknown
				//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f2: 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_030b: Expected O, but got Unknown
				FsmState val = new FsmState(fsm)
				{
					Name = "Jump Dragoon"
				};
				fsm.States = fsm.States.Append(val).ToArray();
				FsmEvent finished = FsmEvent.Finished;
				SetFloatValue val2 = new SetFloatValue
				{
					floatVariable = FsmFloat.op_Implicit(0.75f),
					floatValue = FsmFloat.op_Implicit(0.6f),
					everyFrame = false
				};
				val.Actions = (FsmStateAction[])(object)new FsmStateAction[1] { (FsmStateAction)val2 };
				FsmState state = fsm.GetState("Dragoon Antic");
				FsmTransition val3 = new FsmTransition
				{
					FsmEvent = finished,
					ToState = state.Name,
					ToFsmState = state
				};
				val.Transitions = (FsmTransition[])(object)new FsmTransition[1] { val3 };
				FsmState state2 = fsm.GetState("In Air");
				FsmState ParryAntic = fsm.GetState("Parry Antic");
				FsmTransition val4 = ((IEnumerable<FsmTransition>)state2.transitions).FirstOrDefault((Func<FsmTransition, bool>)((FsmTransition t) => t.ToFsmState == ParryAntic));
				val4.ToState = val.Name;
				val4.ToFsmState = val;
				GetPosition val5 = state.actions.OfType<GetPosition>().FirstOrDefault((Func<GetPosition, bool>)((GetPosition a) => ((NamedVariable)a.y).Name == "Dragoon Y"));
				val5.y = FsmFloat.op_Implicit(0f);
				FsmState state3 = fsm.GetState("Parry Swipe");
				SetVelocityByScale element = new SetVelocityByScale
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)0
					},
					speed = FsmFloat.op_Implicit(0f),
					ySpeed = FsmFloat.op_Implicit(15f),
					everyFrame = false
				};
				state3.Actions = state3.Actions.Append((FsmStateAction)(object)element).ToArray();
				Wait val6 = state3.Actions.OfType<Wait>().FirstOrDefault();
				val6.time = FsmFloat.op_Implicit(0.5f);
				FsmState state4 = fsm.GetState("Far Range");
				SendRandomEventV4 val7 = state4.Actions.OfType<SendRandomEventV4>().FirstOrDefault((Func<SendRandomEventV4, bool>)((SendRandomEventV4 a) => a.events.Length == 4));
				val7.events = (FsmEvent[])(object)new FsmEvent[3]
				{
					FsmEvent.GetFsmEvent("RUN TO"),
					FsmEvent.GetFsmEvent("G THROW"),
					FsmEvent.GetFsmEvent("A THROW")
				};
				val7.weights = (FsmFloat[])(object)new FsmFloat[3]
				{
					new FsmFloat
					{
						Value = 1f
					},
					new FsmFloat
					{
						Value = 3f
					},
					new FsmFloat
					{
						Value = 2f
					}
				};
				val7.eventMax = (FsmInt[])(object)new FsmInt[3]
				{
					new FsmInt
					{
						Value = 1
					},
					new FsmInt
					{
						Value = 2
					},
					new FsmInt
					{
						Value = 2
					}
				};
				val7.missedMax = (FsmInt[])(object)new FsmInt[3]
				{
					new FsmInt
					{
						Value = 8
					},
					new FsmInt
					{
						Value = 4
					},
					new FsmInt
					{
						Value = 4
					}
				};
				FsmState state5 = fsm.GetState("Dragoon End");
				state5.Actions = null;
			}

			private static void throwExplosion(Fsm fsm, GameObject owner)
			{
				//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_001a: Expected O, but got Unknown
				//IL_011d: 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_0130: Expected O, but got Unknown
				//IL_019c: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a3: 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_0202: Unknown result type (might be due to invalid IL or missing references)
				//IL_0214: Unknown result type (might be due to invalid IL or missing references)
				//IL_0223: Expected O, but got Unknown
				//IL_0286: Unknown result type (might be due to invalid IL or missing references)
				//IL_028b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0293: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a6: Expected O, but got Unknown
				//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e6: Expected O, but got Unknown
				//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f9: Expected O, but got Unknown
				//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0305: Unknown result type (might be due to invalid IL or missing references)
				//IL_0313: Expected O, but got Unknown
				//IL_032f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0334: Unknown result type (might be due to invalid IL or missing references)
				//IL_033c: Unknown result type (might be due to invalid IL or missing references)
				//IL_034f: Expected O, but got Unknown
				//IL_0369: Unknown result type (might be due to invalid IL or missing references)
				//IL_036e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0376: Unknown result type (might be due to invalid IL or missing references)
				//IL_0382: Unknown result type (might be due to invalid IL or missing references)
				//IL_038b: Expected O, but got Unknown
				//IL_03f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0403: Unknown result type (might be due to invalid IL or missing references)
				//IL_040b: Unknown result type (might be due to invalid IL or missing references)
				//IL_041e: Expected O, but got Unknown
				//IL_041e: Unknown result type (might be due to invalid IL or missing references)
				//IL_041f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0424: Unknown result type (might be due to invalid IL or missing references)
				//IL_0431: Expected O, but got Unknown
				//IL_0431: Unknown result type (might be due to invalid IL or missing references)
				//IL_043d: Unknown result type (might be due to invalid IL or missing references)
				//IL_044b: Expected O, but got Unknown
				//IL_0466: Unknown result type (might be due to invalid IL or missing references)
				//IL_046b: Unknown result type (might be due to invalid IL or missing references)
				//IL_046c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0471: Unknown result type (might be due to invalid IL or missing references)
				//IL_0479: Unknown result type (might be due to invalid IL or missing references)
				//IL_048c: Expected O, but got Unknown
				//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_049f: Expected O, but got Unknown
				//IL_049f: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b9: Expected O, but got Unknown
				//IL_04d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_04d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04da: Unknown result type (might be due to invalid IL or missing references)
				//IL_04df: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_04fa: Expected O, but got Unknown
				//IL_04fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0500: Unknown result type (might be due to invalid IL or missing references)
				//IL_050d: Expected O, but got Unknown
				//IL_050d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0519: Unknown result type (might be due to invalid IL or missing references)
				//IL_0527: Expected O, but got Unknown
				//IL_0544: Unknown result type (might be due to invalid IL or missing references)
				//IL_0549: Unknown result type (might be due to invalid IL or missing references)
				//IL_0551: Unknown result type (might be due to invalid IL or missing references)
				//IL_0564: Expected O, but got Unknown
				//IL_0566: Unknown result type (might be due to invalid IL or missing references)
				//IL_056b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0573: Unknown result type (might be due to invalid IL or missing references)
				//IL_0586: Expected O, but got Unknown
				//IL_0588: Unknown result type (might be due to invalid IL or missing references)
				//IL_058d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0595: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a8: Expected O, but got Unknown
				//IL_0695: Unknown result type (might be due to invalid IL or missing references)
				//IL_069a: Unknown result type (might be due to invalid IL or missing references)
				//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_06aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_06b3: Expected O, but got Unknown
				//IL_0782: Unknown result type (might be due to invalid IL or missing references)
				//IL_0787: Unknown result type (might be due to invalid IL or missing references)
				//IL_0788: Unknown result type (might be due to invalid IL or missing references)
				//IL_078d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0795: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a8: Expected O, but got Unknown
				//IL_07a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_07c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_07ce: Expected O, but got Unknown
				//IL_07f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_07fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0801: Unknown result type (might be due to invalid IL or missing references)
				//IL_0809: Unknown result type (might be due to invalid IL or missing references)
				//IL_081c: Expected O, but got Unknown
				//IL_081c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0828: Unknown result type (might be due to invalid IL or missing references)
				//IL_0834: Unknown result type (might be due to invalid IL or missing references)
				//IL_0842: Expected O, but got Unknown
				//IL_085d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0862: Unknown result type (might be due to invalid IL or missing references)
				//IL_0863: Unknown result type (might be due to invalid IL or missing references)
				//IL_0868: Unknown result type (might be due to invalid IL or missing references)
				//IL_0870: Unknown result type (might be due to invalid IL or missing references)
				//IL_0883: Expected O, but got Unknown
				//IL_0883: Unknown result type (might be due to invalid IL or missing references)
				//IL_088f: Unknown result type (might be due to invalid IL or missing references)
				//IL_089b: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a9: Expected O, but got Unknown
				//IL_08c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_08cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ea: Expected O, but got Unknown
				//IL_08ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0902: Unknown result type (might be due to invalid IL or missing references)
				//IL_0910: Expected O, but got Unknown
				//IL_092b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0930: Unknown result type (might be due to invalid IL or missing references)
				//IL_0938: Unknown result type (might be due to invalid IL or missing references)
				//IL_0944: Unknown result type (might be due to invalid IL or missing references)
				//IL_094d: Expected O, but got Unknown
				//IL_0988: Unknown result type (might be due to invalid IL or missing references)
				FsmState val = new FsmState(fsm)
				{
					Name = "Vessel"
				};
				val.CopyActionData(fsm.GetState("Pos"));
				GetPosition val2 = val.Actions.OfType<GetPosition>().FirstOrDefault();
				SetPosition2D val3 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val3.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val4 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val4.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val5 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val5.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val6 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val6.Y = FsmFloat.op_Implicit(104f);
				FsmEvent finished = FsmEvent.Finished;
				FsmState val7 = new FsmState(fsm)
				{
					Name = "Dragoon Throw Pos"
				};
				fsm.States = fsm.States.Append(val7).ToArray();
				FsmState state = fsm.GetState("Pos");
				GameObject value = fsm.variables.FindFsmGameObject("Dragoon Focus").Value;
				GameObject value2 = fsm.variables.FindFsmGameObject("Pin Projectile").Value;
				FsmFloat val8 = fsm.variables.FindFsmFloat("Dragoon X");
				FsmBool boolVariable = new FsmBool(FsmBool.op_Implicit(false));
				FsmState state2 = fsm.GetState("A Throw");
				FsmState thunk = fsm.GetState("A Thunk");
				FsmTransition val9 = ((IEnumerable<FsmTransition>)state2.transitions).FirstOrDefault((Func<FsmTransition, bool>)((FsmTransition t) => t.ToFsmState == thunk));
				val9.ToState = val7.Name;
				val9.ToFsmState = val7;
				FsmTransition val10 = new FsmTransition
				{
					FsmEvent = finished,
					ToState = thunk.Name,
					ToFsmState = thunk
				};
				val7.Transitions = (FsmTransition[])(object)new FsmTransition[1] { val10 };
				FsmState state3 = fsm.GetState("Drop Antic");
				val7.CopyActionData(state3);
				val7.Actions = val7.Actions.Where((FsmStateAction a) => !(a is Wait)).ToArray();
				val2.gameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value2)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val2).ToArray();
				SetParent element = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element).ToArray();
				val3.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val3).ToArray();
				SetBoolValue element2 = new SetBoolValue
				{
					boolVariable = boolVariable,
					boolValue = FsmBool.op_Implicit(true),
					everyFrame = false
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element2).ToArray();
				GameObject value3 = fsm.variables.FindFsmGameObject("Dragoon Blast").Value;
				GameObject value4 = fsm.variables.FindFsmGameObject("Dragoon Down").Value;
				GameObject value5 = fsm.variables.FindFsmGameObject("Pt Dragoon Dust").Value;
				FsmState state4 = fsm.GetState("A Dash");
				SetParent element3 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value4)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)element3).ToArray();
				SetParent element4 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value3)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)element4).ToArray();
				SetParent element5 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value5)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)element5).ToArray();
				val4.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value4)
				};
				val5.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value3)
				};
				val6.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value5)
				};
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)val4).ToArray();
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)val5).ToArray();
				state4.Actions = state4.Actions.Append((FsmStateAction)(object)val6).ToArray();
				FsmState state5 = fsm.GetState("Final Catch 2");
				FsmState state6 = fsm.GetState("Dragoon Down");
				state5.Actions = null;
				state5.CopyActionData(state6);
				state5.Actions = state5.Actions.Where((FsmStateAction a) => !(a is Wait)).ToArray();
				ActivateGameObject element6 = fsm.GetState("Remove Focus?").Actions.OfType<ActivateGameObject>().FirstOrDefault();
				state5.Actions = state5.Actions.Append((FsmStateAction)(object)element6).ToArray();
				BoolTest item = new BoolTest
				{
					boolVariable = boolVariable,
					isFalse = finished,
					everyFrame = false
				};
				List<FsmStateAction> list = state5.Actions.ToList();
				list.Insert(0, (FsmStateAction)(object)item);
				state5.Actions = list.ToArray();
				FsmState state7 = fsm.GetState("Dragoon Blast");
				Tk2dPlayAnimationWithEvents val11 = state7.Actions.OfType<Tk2dPlayAnimationWithEvents>().FirstOrDefault();
				val11.animationCompleteEvent = null;
				state5.Actions = state5.Actions.Append((FsmStateAction)(object)val11).ToArray();
				state5.Actions = state5.Actions.Append((FsmStateAction)(object)state7.Actions.OfType<PlayParticleEmitter>().FirstOrDefault()).ToArray();
				AudioPlayRandomVoiceFromTableV2 item2 = state5.Actions.OfType<AudioPlayRandomVoiceFromTableV2>().FirstOrDefault();
				List<FsmStateAction> list2 = state5.Actions.ToList();
				list2.Remove((FsmStateAction)(object)item2);
				state5.Actions = list2.ToArray();
				SetParent element7 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				FsmState state8 = fsm.GetState("To Idle");
				state8.Actions = state8.Actions.Append((FsmStateAction)(object)element7).ToArray();
				SetParent element8 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value3)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state8.Actions = state8.Actions.Append((FsmStateAction)(object)element8).ToArray();
				SetParent element9 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value4)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state8.Actions = state8.Actions.Append((FsmStateAction)(object)element9).ToArray();
				SetParent element10 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value5)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				state8.Actions = state8.Actions.Append((FsmStateAction)(object)element10).ToArray();
				SetBoolValue element11 = new SetBoolValue
				{
					boolVariable = boolVariable,
					boolValue = FsmBool.op_Implicit(false),
					everyFrame = false
				};
				state8.Actions = state8.Actions.Append((FsmStateAction)(object)element11).ToArray();
				((Renderer)value5.GetComponent<ParticleSystemRenderer>()).material.color = new Color(1f, 1f, 1f, 0.4f);
			}

			private static void extraPin(Fsm fsm, GameObject owner)
			{
				//IL_0029: 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_003b: Expected O, but got Unknown
				//IL_003c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0041: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Expected O, but got Unknown
				//IL_004f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0054: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Expected O, but got Unknown
				//IL_0066: Unknown result type (might be due to invalid IL or missing references)
				//IL_006b: Unknown result type (might be due to invalid IL or missing references)
				//IL_007c: Expected O, but got Unknown
				GameObject value = fsm.variables.FindFsmGameObject("Pin Projectile").Value;
				FsmState state = fsm.GetState("G Throw");
				InstantiateAndMoveWithAngle element = new InstantiateAndMoveWithAngle
				{
					prefab = new FsmGameObject
					{
						Value = value
					},
					phantom = new FsmGameObject
					{
						Value = owner
					},
					speed = new FsmFloat
					{
						Value = 70f
					},
					angle = new FsmFloat
					{
						Value = -20f
					}
				};
				state.Actions = state.Actions.Append((FsmStateAction)(object)element).ToArray();
				Wait val = state.Actions.OfType<Wait>().FirstOrDefault();
				val.time = FsmFloat.op_Implicit(0.4f);
			}

			private static void rageSpam(Fsm fsm, GameObject owner)
			{
				//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_001a: Expected O, but got Unknown
				//IL_0121: 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_0134: Expected O, but got Unknown
				//IL_0169: Unknown result type (might be due to invalid IL or missing references)
				//IL_0170: Expected O, but got Unknown
				//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_01c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_01d8: Expected O, but got Unknown
				//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_01de: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ef: Expected O, but got Unknown
				//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f9: Expected O, but got Unknown
				//IL_0215: Unknown result type (might be due to invalid IL or missing references)
				//IL_021a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0222: Unknown result type (might be due to invalid IL or missing references)
				//IL_023d: Expected O, but got Unknown
				//IL_025f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0264: Unknown result type (might be due to invalid IL or missing references)
				//IL_026c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0274: Unknown result type (might be due to invalid IL or missing references)
				//IL_0275: Unknown result type (might be due to invalid IL or missing references)
				//IL_027a: Unknown result type (might be due to invalid IL or missing references)
				//IL_028b: Expected O, but got Unknown
				//IL_028b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0295: Expected O, but got Unknown
				//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d6: Expected O, but got Unknown
				//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e9: Expected O, but got Unknown
				//IL_02e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0303: Expected O, but got Unknown
				//IL_031f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0324: Unknown result type (might be due to invalid IL or missing references)
				//IL_032c: Unknown result type (might be due to invalid IL or missing references)
				//IL_033f: Expected O, but got Unknown
				//IL_036b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0372: Expected O, but got Unknown
				//IL_039d: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_03af: Unknown result type (might be due to invalid IL or missing references)
				//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c8: Expected O, but got Unknown
				//IL_0424: Unknown result type (might be due to invalid IL or missing references)
				//IL_0429: Unknown result type (might be due to invalid IL or missing references)
				//IL_042a: Unknown result type (might be due to invalid IL or missing references)
				//IL_042f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0437: Unknown result type (might be due to invalid IL or missing references)
				//IL_044e: Expected O, but got Unknown
				//IL_044e: Unknown result type (might be due to invalid IL or missing references)
				//IL_044f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0454: Unknown result type (might be due to invalid IL or missing references)
				//IL_0461: Expected O, but got Unknown
				//IL_0461: Unknown result type (might be due to invalid IL or missing references)
				//IL_046d: Unknown result type (might be due to invalid IL or missing references)
				//IL_047b: Expected O, but got Unknown
				//IL_0496: Unknown result type (might be due to invalid IL or missing references)
				//IL_049b: Unknown result type (might be due to invalid IL or missing references)
				//IL_049c: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bc: Expected O, but got Unknown
				//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_04c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_04cf: Expected O, but got Unknown
				//IL_04cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_04db: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e9: Expected O, but got Unknown
				//IL_0504: Unknown result type (might be due to invalid IL or missing references)
				//IL_0509: 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_050f: 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_052a: Expected O, but got Unknown
				//IL_052a: Unknown result type (might be due to invalid IL or missing references)
				//IL_052b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0530: Unknown result type (might be due to invalid IL or missing references)
				//IL_053d: Expected O, but got Unknown
				//IL_053d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0549: Unknown result type (might be due to invalid IL or missing references)
				//IL_0557: Expected O, but got Unknown
				//IL_0574: Unknown result type (might be due to invalid IL or missing references)
				//IL_0579: Unknown result type (might be due to invalid IL or missing references)
				//IL_0581: Unknown result type (might be due to invalid IL or missing references)
				//IL_0598: Expected O, but got Unknown
				//IL_059a: Unknown result type (might be due to invalid IL or missing references)
				//IL_059f: 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_05ba: Expected O, but got Unknown
				//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_05dc: Expected O, but got Unknown
				//IL_063f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0644: Unknown result type (might be due to invalid IL or missing references)
				//IL_064c: Unknown result type (might be due to invalid IL or missing references)
				//IL_064d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0652: 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_0668: Expected O, but got Unknown
				//IL_0684: Unknown result type (might be due to invalid IL or missing references)
				//IL_0689: Unknown result type (might be due to invalid IL or missing references)
				//IL_0697: Expected O, but got Unknown
				//IL_0786: Unknown result type (might be due to invalid IL or missing references)
				//IL_078b: Unknown result type (might be due to invalid IL or missing references)
				//IL_078c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0791: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a2: Expected O, but got Unknown
				//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b7: Expected O, but got Unknown
				//IL_0805: Unknown result type (might be due to invalid IL or missing references)
				//IL_080a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0812: Unknown result type (might be due to invalid IL or missing references)
				//IL_081e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0828: Expected O, but got Unknown
				//IL_0850: Unknown result type (might be due to invalid IL or missing references)
				//IL_0855: Unknown result type (might be due to invalid IL or missing references)
				//IL_0862: Unknown result type (might be due to invalid IL or missing references)
				//IL_0870: Unknown result type (might be due to invalid IL or missing references)
				//IL_087b: Expected O, but got Unknown
				//IL_087b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0880: Unknown result type (might be due to invalid IL or missing references)
				//IL_088d: Unknown result type (might be due to invalid IL or missing references)
				//IL_089b: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a6: Expected O, but got Unknown
				//IL_08ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_08bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_08cd: Expected O, but got Unknown
				//IL_08e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_08eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0902: Unknown result type (might be due to invalid IL or missing references)
				//IL_090d: Expected O, but got Unknown
				//IL_0932: Unknown result type (might be due to invalid IL or missing references)
				//IL_0937: Unknown result type (might be due to invalid IL or missing references)
				//IL_0944: Unknown result type (might be due to invalid IL or missing references)
				//IL_0952: Unknown result type (might be due to invalid IL or missing references)
				//IL_095d: Expected O, but got Unknown
				//IL_0970: Unknown result type (might be due to invalid IL or missing references)
				//IL_0975: Unknown result type (might be due to invalid IL or missing references)
				//IL_0976: Unknown result type (might be due to invalid IL or missing references)
				//IL_097b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0983: Unknown result type (might be due to invalid IL or missing references)
				//IL_0996: Expected O, but got Unknown
				//IL_0996: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_09bc: Expected O, but got Unknown
				//IL_09d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_09dc: 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_09e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_09fd: Expected O, but got Unknown
				//IL_09fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a09: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a15: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a23: Expected O, but got Unknown
				//IL_0a3e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a43: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a44: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a49: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a51: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a68: Expected O, but got Unknown
				//IL_0a68: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a74: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a8e: Expected O, but got Unknown
				//IL_0aa9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aae: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aaf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ab4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0abc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0acf: Expected O, but got Unknown
				//IL_0acf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0adb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ae7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0af5: Expected O, but got Unknown
				//IL_0ba0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ba5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb6: Expected O, but got Unknown
				//IL_0bb6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bbb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0be4: Expected O, but got Unknown
				//IL_0be4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bed: Expected O, but got Unknown
				//IL_0c22: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c27: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c2f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c3b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c44: Expected O, but got Unknown
				//IL_0c6c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c71: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c79: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c85: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c8e: Expected O, but got Unknown
				//IL_0ca9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cae: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cc4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cc5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cca: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cdb: Expected O, but got Unknown
				//IL_0cdb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ce4: Expected O, but got Unknown
				FsmState val = new FsmState(fsm)
				{
					Name = "Vesel"
				};
				val.CopyActionData(fsm.GetState("Pos"));
				GetPosition val2 = val.Actions.OfType<GetPosition>().FirstOrDefault();
				SetPosition2D val3 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val3.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val4 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val4.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val5 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val5.Y = FsmFloat.op_Implicit(104f);
				val.Actions = null;
				val.CopyActionData(fsm.GetState("Pos"));
				SetPosition2D val6 = val.Actions.OfType<SetPosition2D>().FirstOrDefault();
				val6.Y = FsmFloat.op_Implicit(104f);
				FsmEvent finishedEvent = FsmEvent.Finished;
				FsmState val7 = new FsmState(fsm)
				{
					Name = "Rage Focus"
				};
				fsm.States = fsm.States.Append(val7).ToArray();
				GameObject value = fsm.variables.GetFsmGameObject("Dragoon Focus").Value;
				FsmFloat val8 = new FsmFloat("Hero X Position");
				fsm.Variables.FloatVariables = fsm.Variables.FloatVariables.Append(val8).ToArray();
				FsmFloat fsmFloat = fsm.variables.GetFsmFloat("Dragoon X");
				FsmState state = fsm.GetState("Drop Antic");
				val7.CopyActionData(state);
				RandomFloat element = new RandomFloat
				{
					min = new FsmFloat
					{
						Value = 76.7f
					},
					max = new FsmFloat
					{
						Value = 92.84f
					},
					storeResult = fsmFloat
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element).ToArray();
				val2.gameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(((Component)HeroController._instance).gameObject)
				};
				val2.x = val8;
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val2).ToArray();
				FloatLerp element2 = new FloatLerp
				{
					StartValue = val8,
					EndValue = fsmFloat,
					Time = new FsmFloat
					{
						Value = 0.6f
					},
					StoreValue = fsmFloat
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element2).ToArray();
				SetParent element3 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element3).ToArray();
				val3.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val3).ToArray();
				FsmState state2 = fsm.GetState("Dragoon Away");
				FsmEvent val9 = new FsmEvent("Rage");
				fsm.Events = fsm.Events.Append(val9).ToArray();
				FsmBool fsmBool = fsm.Variables.GetFsmBool("Raging");
				FsmTransition val10 = new FsmTransition
				{
					FsmEvent = finishedEvent,
					ToState = val7.Name,
					ToFsmState = val7
				};
				state2.Transitions = (FsmTransition[])(object)new FsmTransition[1] { val10 };
				GameObject value2 = fsm.variables.FindFsmGameObject("Dragoon Blast").Value;
				GameObject dragoonDown = fsm.variables.FindFsmGameObject("Dragoon Down").Value;
				GameObject value3 = fsm.variables.FindFsmGameObject("Pt Dragoon Dust").Value;
				SetParent element4 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(dragoonDown)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element4).ToArray();
				SetParent element5 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value2)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element5).ToArray();
				SetParent element6 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value3)
					},
					parent = new FsmGameObject
					{
						Value = null
					},
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element6).ToArray();
				val4.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(dragoonDown)
				};
				val5.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value2)
				};
				val6.GameObject = new FsmOwnerDefault
				{
					OwnerOption = (OwnerDefaultOption)1,
					GameObject = FsmGameObject.op_Implicit(value3)
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val4).ToArray();
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val5).ToArray();
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)val6).ToArray();
				FsmInt fsmInt = fsm.variables.GetFsmInt("Rage Jumps");
				IntAdd element7 = new IntAdd
				{
					intVariable = fsmInt,
					add = new FsmInt
					{
						Value = -1
					},
					everyFrame = false
				};
				val7.Actions = val7.Actions.Append((FsmStateAction)(object)element7).ToArray();
				FsmState val11 = new FsmState(fsm)
				{
					Name = "Rage Blast"
				};
				fsm.States = fsm.States.Append(val11).ToArray();
				FsmState state3 = fsm.GetState("Dragoon Down");
				val11.CopyActionData(state3);
				ActivateGameObject element8 = fsm.GetState("Remove Focus?").Actions.OfType<ActivateGameObject>().FirstOrDefault();
				val11.Actions = val11.Actions.Append((FsmStateAction)(object)element8).ToArray();
				FsmState state4 = fsm.GetState("Dragoon Blast");
				Tk2dPlayAnimationWithEvents val12 = state4.Actions.OfType<Tk2dPlayAnimationWithEvents>().FirstOrDefault();
				val12.animationCompleteEvent = null;
				val11.Actions = val11.Actions.Append((FsmStateAction)(object)val12).ToArray();
				val11.Actions = val11.Actions.Append((FsmStateAction)(object)state4.Actions.OfType<PlayParticleEmitter>().FirstOrDefault()).ToArray();
				Wait val13 = val11.Actions.OfType<Wait>().FirstOrDefault();
				val13.finishEvent = null;
				Wait element9 = new Wait
				{
					time = new FsmFloat
					{
						Value = 0.3f
					},
					realTime = false,
					finishEvent = finishedEvent
				};
				val11.Actions = val11.Actions.Append((FsmStateAction)(object)element9).ToArray();
				ActivateGameObject val14 = val11.Actions.OfType<ActivateGameObject>().FirstOrDefault((Func<ActivateGameObject, bool>)((ActivateGameObject a) => (Object)(object)a.gameObject.GameObject.Value == (Object)(object)dragoonDown));
				val14.gameObject.GameObject = FsmGameObject.op_Implicit(value2);
				IntCompare item = new IntCompare
				{
					integer1 = fsmInt,
					integer2 = FsmInt.op_Implicit(0),
					lessThan = val9
				};
				List<FsmStateAction> list = val7.Actions.ToList();
				list.Insert(0, (FsmStateAction)(object)item);
				val7.Actions = list.ToArray();
				FsmTransition val15 = new FsmTransition
				{
					FsmEvent = finishedEvent,
					ToState = val11.Name,
					ToFsmState = val11
				};
				FsmTransition val16 = new FsmTransition
				{
					FsmEvent = finishedEvent,
					ToState = val7.Name,
					ToFsmState = val7
				};
				val11.Transitions = (FsmTransition[])(object)new FsmTransition[1] { val16 };
				FsmState val17 = new FsmState(fsm)
				{
					Name = "Reset Rage"
				};
				fsm.States = fsm.States.Append(val17).ToArray();
				FsmTransition val18 = new FsmTransition
				{
					FsmEvent = val9,
					ToState = val17.Name,
					ToFsmState = val17
				};
				val7.Transitions = (FsmTransition[])(object)new FsmTransition[2] { val15, val18 };
				FsmState state5 = fsm.GetState("Pos");
				FsmTransition val19 = new FsmTransition
				{
					FsmEvent = finishedEvent,
					ToState = state5.Name,
					ToFsmState = state5
				};
				val17.Transitions = (FsmTransition[])(object)new FsmTransition[1] { val19 };
				SetParent element10 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val17.Actions = val17.Actions.Append((FsmStateAction)(object)element10).ToArray();
				SetParent element11 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value2)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val17.Actions = val17.Actions.Append((FsmStateAction)(object)element11).ToArray();
				SetParent element12 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(dragoonDown)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val17.Actions = val17.Actions.Append((FsmStateAction)(object)element12).ToArray();
				SetParent element13 = new SetParent
				{
					gameObject = new FsmOwnerDefault
					{
						OwnerOption = (OwnerDefaultOption)1,
						GameObject = FsmGameObject.op_Implicit(value3)
					},
					parent = FsmGameObject.op_Implicit(owner),
					resetLocalPosition = FsmBool.op_Implicit(true),
					resetLocalRotation = FsmBool.op_Implicit(true)
				};
				val17.Actions = val17.Actions.Append((FsmStateAction)(object)element13).ToArray();
				FsmState state6 = fsm.GetState("Rage?");
				FsmState state7 = fsm.GetState("Phase?");
				FsmTransition val20 = ((IEnumerable<FsmTransition>)state6.Transitions).FirstOrDefault((Func<FsmTransition, bool>)((FsmTransition a) => a.fsmEvent == finishedEvent));
				val20.ToState = state7.Name;
				val20.ToFsmState = state7;
				FsmState state8 = fsm.GetState("Dragoon Rage");
				SetIntValue val21 = state8.Actions.OfType<SetIntValue>().FirstOrDefault();
				val21.intValue = FsmInt.op_Implicit(9);
				SetFloatValue val22 = state8.Actions.OfType<SetFloatValue>().FirstOrDefault();
				val22.floatValue = new FsmFloat
				{
					Value = 0.7f
				};
				SetBoolValue item2 = new SetBoolValue
				{
					boolVariable = fsm.Variables.GetFsmBool("Did Rage"),
					boolValue = new FsmBool
					{
						Value = true
					},
					everyFrame = false
				};
				List<FsmStateAction> list2 = state8.Actions.ToList();
				list2.Insert(0, (FsmStateAction)(object)item2);
				state8.Actions = list2.ToArray();
				FsmState state9 = fsm.GetState("Dragoon End");
				SetIntValue element14 = new SetIntValue
				{
					intVariable = fsmInt,
					intValue = FsmInt.op_Implicit(1),
					everyFrame = false
				};
				state9.Actions = state9.Actions.Append((FsmStateAction)(object)element14).ToArray();
				FsmState state10 = fsm.GetState("Init");
				SetIntValue element15 = new SetIntValue
				{
					intVariable = fsmInt,
					intValue = FsmInt.op_Implicit(1),
					everyFrame = false
				};
				state10.Actions = state10.Actions.Append((FsmStateAction)(object)element15).ToArray();
				SetFloatValue element16 = new SetFloatValue
				{
					floatVariable = fsm.Variables.GetFsmFloat("Dragoon Drop Time"),
					floatValue = new FsmFloat
					{
						Value = 0.8f
					},
					everyFrame = false
				};
				state2.Actions = state2.Actions.Append((FsmStateAction)(object)element16).ToArray();
			}
		}

		private const string HARMONY_ID = "com.tj.phantom";

		private const string MOD_NAME = "Faded Phantom";

		internal static ManualLogSource Log;

		private void Awake()
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Expected O, but got Unknown
			Log = ((BaseUnityPlugin)this).Logger;
			Harmony val = new Harmony("com.tj.phantom");
			val.PatchAll();
			Log.LogInfo((object)"Faded Phantom has been loaded!");
		}
	}
}